MakeHuman Community Wiki
mediawiki
http://www.makehumancommunity.org/wiki/Main_Page
MediaWiki 1.25.1
first-letter
Media
Special
Talk
User
User talk
Project
Project talk
File
File talk
MediaWiki
MediaWiki talk
Template
Template talk
Help
Help talk
Category
Category talk
Documentation
Documentation Talk
FAQ
FAQ Talk
Background and Technical Considerations
0
125
1275
1274
2017-01-01T18:09:31Z
Robbaer
12
/* Format Considerations */
wikitext
text/x-wiki
== Introduction ==
Many MakeHuman users will use the work they create in MakeHuman as a component of a project completed in an external, downstream application. The most common target applications are 3D graphics applications like Blender, Autodesk 3DSMax, and Autodesk Maya or gaming engines like Unity Engine or Unreal Engine 4 or Virtual Worlds like Second Life. In some cases, the MakeHuman user will be interested in moving just the mesh. In other cases, the user will be interested in moving a complete, posed, skeletonized character to the downstream application. The purpose of this document is to discuss the basic process of moving a finished MakeHuman asset to a downstream program and producing a reasonable facsimile of its MakeHuman appearance in the downstream application. It is important to recognize that because each application has its own way of representing 3D assets, and because each export format has its own set of idiosyncrasies, there will be adjustments and approximations in the asset transfer process.
== Format Considerations ==
In an effort to provide the broadest latitude for user workflows, the MakeHuman development team is directing it major export support toward Autodesk FBX format and Khronos Collada format. In addition, Blender users have the option to install the .MHX2 tools [https://thomasmakehuman.wordpress.com/mhx2-documentation/ ], which are independently developed and maintained by Thomas Larsson [https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange]. These tools are very popwerful and popular. They make a lot of sense for those who work mainly with just MakeHuman and Blender. Collada is a text-based format and is an open standard, but implementation of the standard is not as consistent as might be hoped. FBX is a proprietary standard developed by Autodesk and supported through a software development kit (FBX SDK) written in C++ and a Python FBX scripting template. The FBX standard is periodically updated by Autodesk and can be saved as either an ASCII or a binary format. Downstream programs may make assumptions about the FBX version being imported, and may limit users to either binary or ASCII importing. Surprisingly, CG assets exported from various programs as collada and FBX do not make it back into the same program as a round-trip without changes to some components of the scene. For example, this is true of FBX format in both 3DSMax and Maya for MakeHuman assets. It is also true for Blender with both FBX and collada format for MakeHuman assets. In this document, we will attempt to provide some support for dealing with this type of surprise.
== MakeHuman Shader and Asset Rendering ==
A “shader” is computer code that translates digital information into a properly rendered image on the computer screen. Different algorithms use different methods of constructing such a display. By default in MakeHuman, the viewport lighting is handled by the built-in light-sphere shader. The light-sphere shader takes advantage of support for the openGL standard provided by today’s graphics cards. What the viewer sees on the screen depends not only on the color of assets, like skin and clothing, but also on the nature of the lights illuminating the scene and causing reflections and shadows. Most downstream programs use other shader strategies, the most common of which include Phong shaders, Blinn shaders, or Lambert shaders. Because the code and conceptual design of these shaders differs from that of the MakeHuman light-sphere shader, the user should be prepared to make some adjustments in the downstream program to get the final desired effect. Some MakeHuman assets also include Normal maps which the user will want to integrate into the downstream applications rendering.
When a MakeHuman material (for example, skin or clothing or eyelashes) is exported, it carries with it a limited amount of fundamental information for by the downstream program’s shaders. In an ideal world, the downstream program would import this raw information, correctly populate the variables in its shaders, and yield the same view of the human that was exported from MakeHuman. At present this does not typically happen, and the user must make some adjustments. This Wiki section is designed to help you negotiate through that process.
== Spatial transformation: MakeHuman Coordinate System, MakeHuman Skeletons, and MakeHuman Scales ==
The MakeHuman viewport is oriented so that the positive end of the x-axis is to the right, the positive end of the y-axis it up, and the positive end of the z-axis is out through the front to the screen. Other CG programs can use other schemes, so it is essential to know the coordinate system used by the downstream target at export time, if you wish to minimize the adjustments you make after importing. The settings tab allows users to work in metric units of decimeters or imperial units of inches. Downstream programs vary in their de facto units, and again, it is generally a good idea to anticipate your needs at export time rather than trying to make adjustments during or after import. It is sometimes said that these programs have no default unit. To a degree this is true. However, the default grid pattern, assumptions of other humanoid producing programs, and assumptions of the “physics systems” will often work best with the export units specified in the table below:
TABLE HERE
== Working with Rigs and Skeletons ==
Internally, MakeHuman uses its default skeleton as the basis of mesh vertex weighting for creating the poses available on the pose tab. This rig includes a special set of bones that can be used for driving facial expressions, but as of the current release (MakeHuman 1.1.x), there is not extensive support for inverse kinematics, and animation must be done downstream in the production pipeline. Historically, MakeHuman has had close ties to Blender, but the ultimate development goal is to provide strong generic support for all the major tools used in the industry, and with MakeHuman 1.1.x, substantial progress has been made by providing weighted skeletons suited for standard use in various downstream applications. For the most part, the name of the most appropriate rig will be clearly associated with the target downstream application, but the tag filters on the Pose/Animate | skeleton tab are intended to help choose a rig suited more generally to a specific purpose like motion capture integration, facial animation, or gaming applications. MakeHuman is designed to provide the user with maximum flexibility at creation time. To provide skeletons that work perfectly with every conceivable variation of the sliders is a laudable but elusive goal. That said, the user should get excellent results with the current approach, but the user should be prepared to make some minor tweaks to skeletons and weights downstream, particularly with extreme character dimensions or extreme poses.
== MakeHuman Assets with transparency ==
In CG art, materials for mesh objects are frequently created by shaders that use various types of image maps to provide some of the information for determining the color, transparency, and light behavior on the surface of mesh objects. These image maps are referred to as textures. MakeHuman has textured materials available for the body (including proxy topologies), eyes, eyebrows, eyelashes, tongue, teeth, and hair. During export, these textures need to made available to the program that will be importing the MakeHuman output. Two aspects of this process need to be understood by the MakeHuman user: 1) how textures are saved; and 2) how transparency is handled.
There are two possible standards for storing texture assets upon export. They can either be embedded in an exported file, or they can be saved to a folder as named images with reference to the location of those files in the exported file. At present, MakeHuman uses the latter approach when exporting material textures. Following the export process, MakeHuman exports will be located in ~/makehuman/v1/exports/, and the texture images will be located in a corresponding subfolder ~/makehuman/v1/exports/textures. The tilde symbol indicates your user drive and home document directory. [For example, on Windows Vista and later, this typically would be: C:/Users/%USERNAME%/Documents/makehuman/v1/exports and a textures subfolder, where %USERNAME% is replaced by your username.]
Transparency is used in 3D art to let a viewer see through a mesh object to experience the color, reflections and lighting behind that object. MakeHuman uses transparency with textures for the eyes, eyebrows, eyelashes, and hair. This allows complex real world geometry to be represented by much simpler quasi-planar objects. For example, the hairs of the eyebrows are painted onto a flat surface with transparent spaces in between the painted hairs rather than creating tiny mesh objects for each of the 250-1000 individual hairs. CG programs can indicate which regions of the eyebrow should be transparent either by using a separate image where blackness indicates transparent and whiteness indicates opacity. Grayness is used to represent partial transparency. An alternative approach to representing transparency is to use an image format like .tga or .png which has a one byte channel, called an alpha channel, for just this purpose. Again, values near zero (black) typically represent “completely transparent” and values near 255 (white) typically represent “completely opaque”. MakeHuman represents the transparent regions of its assets using the alpha channel method and the .png format for textures. Unfortunately, importers for filmbox (FBX) and collada formats (DAE) do not automatically extract the transparency information provided by MakeHuman, or more specifically, they do not provide it to their shaders as anticipated. This is not just a MakeHuman problem but reflects multiple ways of handling transparency and alpha channels within the industry. Notably, exporting and reimporting assets with alpha channel transparency into the very same program fails with Blender, 3DSMax, and Maya for FBX, and where available, DAE formats. This forces the MakeHuman user to understand how to overcome this limitation in his favorite downstream application. Some introductory help will be provided for common applications later in this document.
There is one additional aspect of using transparency to make a single, simple mesh represent multiple small objects like eyebrows, and that is the issue of shadows. Lighting systems in 3D worlds creates a simulation of reality by making shadows appear on mesh objects in places you would expect to see them in the real world and with the soft edges you would expect to see in the real world. Shadows are a function of both the light source, the object blocking that light, and the objects receiving the reflected and refracted light from other objects. For objects that have transparency, like MakeHuman’s eyes, eyelashes, eyebrows, and hair, shadows should only be cast by the opaque portion of the texture and not by the transparent portions of the texture. The handling of shadows differs considerably from program to program, and objects with alpha channel transparency can need some special handling to accommodate these differences. This handling is not just about the assets with alpha map transparency, themselves. Sometimes it is necessary to set parameters to explicitly tell other objects like the MakeHuman body to not display shadows from the transparent regions of the eyebrows but to show shadows from the opaque hairs of the eyebrows. Shadows of transparently mapped assets will be addressed further in subsequent sections (where information is available).
bce9c05d74ce8617cac40230b74e856dd762fbe1
1274
336
2017-01-01T18:04:09Z
Robbaer
12
/* Format Considerations */
wikitext
text/x-wiki
== Introduction ==
Many MakeHuman users will use the work they create in MakeHuman as a component of a project completed in an external, downstream application. The most common target applications are 3D graphics applications like Blender, Autodesk 3DSMax, and Autodesk Maya or gaming engines like Unity Engine or Unreal Engine 4 or Virtual Worlds like Second Life. In some cases, the MakeHuman user will be interested in moving just the mesh. In other cases, the user will be interested in moving a complete, posed, skeletonized character to the downstream application. The purpose of this document is to discuss the basic process of moving a finished MakeHuman asset to a downstream program and producing a reasonable facsimile of its MakeHuman appearance in the downstream application. It is important to recognize that because each application has its own way of representing 3D assets, and because each export format has its own set of idiosyncrasies, there will be adjustments and approximations in the asset transfer process.
== Format Considerations ==
In an effort to provide the broadest latitude for user workflows, the MakeHuman development team is directing it major export support toward Autodesk FBX format and Khronos Collada format. In addition, Blender users have the option to install the .MHX2 tools [https://thomasmakehuman.wordpress.com/mhx2-documentation/ ], which are independently developed and maintained by Thomas Larson. These tools are very popwerful and popular. They make a lot of sense for those who work mainly with just MakeHuman and Blender. Collada is a text-based format and is an open standard, but implementation of the standard is not as consistent as might be hoped. FBX is a proprietary standard developed by Autodesk and supported through a software development kit (FBX SDK) written in C++ and a Python FBX scripting template. The FBX standard is periodically updated by Autodesk and can be saved as either an ASCII or a binary format. Downstream programs may make assumptions about the FBX version being imported, and may limit users to either binary or ASCII importing. Surprisingly, CG assets exported from various programs as collada and FBX do not make it back into the same program as a round-trip without changes to some components of the scene. For example, this is true of FBX format in both 3DSMax and Maya for MakeHuman assets. It is also true for Blender with both FBX and collada format for MakeHuman assets. In this document, we will attempt to provide some support for dealing with this type of surprise.
== MakeHuman Shader and Asset Rendering ==
A “shader” is computer code that translates digital information into a properly rendered image on the computer screen. Different algorithms use different methods of constructing such a display. By default in MakeHuman, the viewport lighting is handled by the built-in light-sphere shader. The light-sphere shader takes advantage of support for the openGL standard provided by today’s graphics cards. What the viewer sees on the screen depends not only on the color of assets, like skin and clothing, but also on the nature of the lights illuminating the scene and causing reflections and shadows. Most downstream programs use other shader strategies, the most common of which include Phong shaders, Blinn shaders, or Lambert shaders. Because the code and conceptual design of these shaders differs from that of the MakeHuman light-sphere shader, the user should be prepared to make some adjustments in the downstream program to get the final desired effect. Some MakeHuman assets also include Normal maps which the user will want to integrate into the downstream applications rendering.
When a MakeHuman material (for example, skin or clothing or eyelashes) is exported, it carries with it a limited amount of fundamental information for by the downstream program’s shaders. In an ideal world, the downstream program would import this raw information, correctly populate the variables in its shaders, and yield the same view of the human that was exported from MakeHuman. At present this does not typically happen, and the user must make some adjustments. This Wiki section is designed to help you negotiate through that process.
== Spatial transformation: MakeHuman Coordinate System, MakeHuman Skeletons, and MakeHuman Scales ==
The MakeHuman viewport is oriented so that the positive end of the x-axis is to the right, the positive end of the y-axis it up, and the positive end of the z-axis is out through the front to the screen. Other CG programs can use other schemes, so it is essential to know the coordinate system used by the downstream target at export time, if you wish to minimize the adjustments you make after importing. The settings tab allows users to work in metric units of decimeters or imperial units of inches. Downstream programs vary in their de facto units, and again, it is generally a good idea to anticipate your needs at export time rather than trying to make adjustments during or after import. It is sometimes said that these programs have no default unit. To a degree this is true. However, the default grid pattern, assumptions of other humanoid producing programs, and assumptions of the “physics systems” will often work best with the export units specified in the table below:
TABLE HERE
== Working with Rigs and Skeletons ==
Internally, MakeHuman uses its default skeleton as the basis of mesh vertex weighting for creating the poses available on the pose tab. This rig includes a special set of bones that can be used for driving facial expressions, but as of the current release (MakeHuman 1.1.x), there is not extensive support for inverse kinematics, and animation must be done downstream in the production pipeline. Historically, MakeHuman has had close ties to Blender, but the ultimate development goal is to provide strong generic support for all the major tools used in the industry, and with MakeHuman 1.1.x, substantial progress has been made by providing weighted skeletons suited for standard use in various downstream applications. For the most part, the name of the most appropriate rig will be clearly associated with the target downstream application, but the tag filters on the Pose/Animate | skeleton tab are intended to help choose a rig suited more generally to a specific purpose like motion capture integration, facial animation, or gaming applications. MakeHuman is designed to provide the user with maximum flexibility at creation time. To provide skeletons that work perfectly with every conceivable variation of the sliders is a laudable but elusive goal. That said, the user should get excellent results with the current approach, but the user should be prepared to make some minor tweaks to skeletons and weights downstream, particularly with extreme character dimensions or extreme poses.
== MakeHuman Assets with transparency ==
In CG art, materials for mesh objects are frequently created by shaders that use various types of image maps to provide some of the information for determining the color, transparency, and light behavior on the surface of mesh objects. These image maps are referred to as textures. MakeHuman has textured materials available for the body (including proxy topologies), eyes, eyebrows, eyelashes, tongue, teeth, and hair. During export, these textures need to made available to the program that will be importing the MakeHuman output. Two aspects of this process need to be understood by the MakeHuman user: 1) how textures are saved; and 2) how transparency is handled.
There are two possible standards for storing texture assets upon export. They can either be embedded in an exported file, or they can be saved to a folder as named images with reference to the location of those files in the exported file. At present, MakeHuman uses the latter approach when exporting material textures. Following the export process, MakeHuman exports will be located in ~/makehuman/v1/exports/, and the texture images will be located in a corresponding subfolder ~/makehuman/v1/exports/textures. The tilde symbol indicates your user drive and home document directory. [For example, on Windows Vista and later, this typically would be: C:/Users/%USERNAME%/Documents/makehuman/v1/exports and a textures subfolder, where %USERNAME% is replaced by your username.]
Transparency is used in 3D art to let a viewer see through a mesh object to experience the color, reflections and lighting behind that object. MakeHuman uses transparency with textures for the eyes, eyebrows, eyelashes, and hair. This allows complex real world geometry to be represented by much simpler quasi-planar objects. For example, the hairs of the eyebrows are painted onto a flat surface with transparent spaces in between the painted hairs rather than creating tiny mesh objects for each of the 250-1000 individual hairs. CG programs can indicate which regions of the eyebrow should be transparent either by using a separate image where blackness indicates transparent and whiteness indicates opacity. Grayness is used to represent partial transparency. An alternative approach to representing transparency is to use an image format like .tga or .png which has a one byte channel, called an alpha channel, for just this purpose. Again, values near zero (black) typically represent “completely transparent” and values near 255 (white) typically represent “completely opaque”. MakeHuman represents the transparent regions of its assets using the alpha channel method and the .png format for textures. Unfortunately, importers for filmbox (FBX) and collada formats (DAE) do not automatically extract the transparency information provided by MakeHuman, or more specifically, they do not provide it to their shaders as anticipated. This is not just a MakeHuman problem but reflects multiple ways of handling transparency and alpha channels within the industry. Notably, exporting and reimporting assets with alpha channel transparency into the very same program fails with Blender, 3DSMax, and Maya for FBX, and where available, DAE formats. This forces the MakeHuman user to understand how to overcome this limitation in his favorite downstream application. Some introductory help will be provided for common applications later in this document.
There is one additional aspect of using transparency to make a single, simple mesh represent multiple small objects like eyebrows, and that is the issue of shadows. Lighting systems in 3D worlds creates a simulation of reality by making shadows appear on mesh objects in places you would expect to see them in the real world and with the soft edges you would expect to see in the real world. Shadows are a function of both the light source, the object blocking that light, and the objects receiving the reflected and refracted light from other objects. For objects that have transparency, like MakeHuman’s eyes, eyelashes, eyebrows, and hair, shadows should only be cast by the opaque portion of the texture and not by the transparent portions of the texture. The handling of shadows differs considerably from program to program, and objects with alpha channel transparency can need some special handling to accommodate these differences. This handling is not just about the assets with alpha map transparency, themselves. Sometimes it is necessary to set parameters to explicitly tell other objects like the MakeHuman body to not display shadows from the transparent regions of the eyebrows but to show shadows from the opaque hairs of the eyebrows. Shadows of transparently mapped assets will be addressed further in subsequent sections (where information is available).
cec96b9b242176509eabbbc69a9beea6607814ed
336
335
2015-08-02T20:42:20Z
Robbaer
12
wikitext
text/x-wiki
== Introduction ==
Many MakeHuman users will use the work they create in MakeHuman as a component of a project completed in an external, downstream application. The most common target applications are 3D graphics applications like Blender, Autodesk 3DSMax, and Autodesk Maya or gaming engines like Unity Engine or Unreal Engine 4 or Virtual Worlds like Second Life. In some cases, the MakeHuman user will be interested in moving just the mesh. In other cases, the user will be interested in moving a complete, posed, skeletonized character to the downstream application. The purpose of this document is to discuss the basic process of moving a finished MakeHuman asset to a downstream program and producing a reasonable facsimile of its MakeHuman appearance in the downstream application. It is important to recognize that because each application has its own way of representing 3D assets, and because each export format has its own set of idiosyncrasies, there will be adjustments and approximations in the asset transfer process.
== Format Considerations ==
In an effort to provide the broadest latitude for user workflows, the MakeHuman development team is directing it major export support toward Autodesk FBX format and Khronos Collada format. In addition, Blender users have the option to install the [https://bitbucket.org/ThomasMakeHuman/mhx2-makehuman-exchange independently developed .mhx2 tools], which are independently developed and maintained by Thomas Larson. Collada is a text-based format and is an open standard, but implementation of the standard is not as consistent as might be hoped. FBX is a proprietary standard developed by Autodesk and supported through a software development kit (FBX SDK) written in C++ and a Python FBX scripting template. The FBX standard is periodically updated by Autodesk and can be saved as either an ASCII or a binary format. Downstream programs may make assumptions about the FBX version being imported, and may limit users to either binary or ASCII importing. Surprisingly, CG assets exported from various programs as collada and FBX do not make it back into the same program as a round-trip without changes to some components of the scene. For example, this is true of FBX format in both 3DSMax and Maya for MakeHuman assets. It is also true for Blender with both FBX and collada format for MakeHuman assets. In this document, we will attempt to provide some support for dealing with this type of surprise.
== MakeHuman Shader and Asset Rendering ==
A “shader” is computer code that translates digital information into a properly rendered image on the computer screen. Different algorithms use different methods of constructing such a display. By default in MakeHuman, the viewport lighting is handled by the built-in light-sphere shader. The light-sphere shader takes advantage of support for the openGL standard provided by today’s graphics cards. What the viewer sees on the screen depends not only on the color of assets, like skin and clothing, but also on the nature of the lights illuminating the scene and causing reflections and shadows. Most downstream programs use other shader strategies, the most common of which include Phong shaders, Blinn shaders, or Lambert shaders. Because the code and conceptual design of these shaders differs from that of the MakeHuman light-sphere shader, the user should be prepared to make some adjustments in the downstream program to get the final desired effect. Some MakeHuman assets also include Normal maps which the user will want to integrate into the downstream applications rendering.
When a MakeHuman material (for example, skin or clothing or eyelashes) is exported, it carries with it a limited amount of fundamental information for by the downstream program’s shaders. In an ideal world, the downstream program would import this raw information, correctly populate the variables in its shaders, and yield the same view of the human that was exported from MakeHuman. At present this does not typically happen, and the user must make some adjustments. This Wiki section is designed to help you negotiate through that process.
== Spatial transformation: MakeHuman Coordinate System, MakeHuman Skeletons, and MakeHuman Scales ==
The MakeHuman viewport is oriented so that the positive end of the x-axis is to the right, the positive end of the y-axis it up, and the positive end of the z-axis is out through the front to the screen. Other CG programs can use other schemes, so it is essential to know the coordinate system used by the downstream target at export time, if you wish to minimize the adjustments you make after importing. The settings tab allows users to work in metric units of decimeters or imperial units of inches. Downstream programs vary in their de facto units, and again, it is generally a good idea to anticipate your needs at export time rather than trying to make adjustments during or after import. It is sometimes said that these programs have no default unit. To a degree this is true. However, the default grid pattern, assumptions of other humanoid producing programs, and assumptions of the “physics systems” will often work best with the export units specified in the table below:
TABLE HERE
== Working with Rigs and Skeletons ==
Internally, MakeHuman uses its default skeleton as the basis of mesh vertex weighting for creating the poses available on the pose tab. This rig includes a special set of bones that can be used for driving facial expressions, but as of the current release (MakeHuman 1.1.x), there is not extensive support for inverse kinematics, and animation must be done downstream in the production pipeline. Historically, MakeHuman has had close ties to Blender, but the ultimate development goal is to provide strong generic support for all the major tools used in the industry, and with MakeHuman 1.1.x, substantial progress has been made by providing weighted skeletons suited for standard use in various downstream applications. For the most part, the name of the most appropriate rig will be clearly associated with the target downstream application, but the tag filters on the Pose/Animate | skeleton tab are intended to help choose a rig suited more generally to a specific purpose like motion capture integration, facial animation, or gaming applications. MakeHuman is designed to provide the user with maximum flexibility at creation time. To provide skeletons that work perfectly with every conceivable variation of the sliders is a laudable but elusive goal. That said, the user should get excellent results with the current approach, but the user should be prepared to make some minor tweaks to skeletons and weights downstream, particularly with extreme character dimensions or extreme poses.
== MakeHuman Assets with transparency ==
In CG art, materials for mesh objects are frequently created by shaders that use various types of image maps to provide some of the information for determining the color, transparency, and light behavior on the surface of mesh objects. These image maps are referred to as textures. MakeHuman has textured materials available for the body (including proxy topologies), eyes, eyebrows, eyelashes, tongue, teeth, and hair. During export, these textures need to made available to the program that will be importing the MakeHuman output. Two aspects of this process need to be understood by the MakeHuman user: 1) how textures are saved; and 2) how transparency is handled.
There are two possible standards for storing texture assets upon export. They can either be embedded in an exported file, or they can be saved to a folder as named images with reference to the location of those files in the exported file. At present, MakeHuman uses the latter approach when exporting material textures. Following the export process, MakeHuman exports will be located in ~/makehuman/v1/exports/, and the texture images will be located in a corresponding subfolder ~/makehuman/v1/exports/textures. The tilde symbol indicates your user drive and home document directory. [For example, on Windows Vista and later, this typically would be: C:/Users/%USERNAME%/Documents/makehuman/v1/exports and a textures subfolder, where %USERNAME% is replaced by your username.]
Transparency is used in 3D art to let a viewer see through a mesh object to experience the color, reflections and lighting behind that object. MakeHuman uses transparency with textures for the eyes, eyebrows, eyelashes, and hair. This allows complex real world geometry to be represented by much simpler quasi-planar objects. For example, the hairs of the eyebrows are painted onto a flat surface with transparent spaces in between the painted hairs rather than creating tiny mesh objects for each of the 250-1000 individual hairs. CG programs can indicate which regions of the eyebrow should be transparent either by using a separate image where blackness indicates transparent and whiteness indicates opacity. Grayness is used to represent partial transparency. An alternative approach to representing transparency is to use an image format like .tga or .png which has a one byte channel, called an alpha channel, for just this purpose. Again, values near zero (black) typically represent “completely transparent” and values near 255 (white) typically represent “completely opaque”. MakeHuman represents the transparent regions of its assets using the alpha channel method and the .png format for textures. Unfortunately, importers for filmbox (FBX) and collada formats (DAE) do not automatically extract the transparency information provided by MakeHuman, or more specifically, they do not provide it to their shaders as anticipated. This is not just a MakeHuman problem but reflects multiple ways of handling transparency and alpha channels within the industry. Notably, exporting and reimporting assets with alpha channel transparency into the very same program fails with Blender, 3DSMax, and Maya for FBX, and where available, DAE formats. This forces the MakeHuman user to understand how to overcome this limitation in his favorite downstream application. Some introductory help will be provided for common applications later in this document.
There is one additional aspect of using transparency to make a single, simple mesh represent multiple small objects like eyebrows, and that is the issue of shadows. Lighting systems in 3D worlds creates a simulation of reality by making shadows appear on mesh objects in places you would expect to see them in the real world and with the soft edges you would expect to see in the real world. Shadows are a function of both the light source, the object blocking that light, and the objects receiving the reflected and refracted light from other objects. For objects that have transparency, like MakeHuman’s eyes, eyelashes, eyebrows, and hair, shadows should only be cast by the opaque portion of the texture and not by the transparent portions of the texture. The handling of shadows differs considerably from program to program, and objects with alpha channel transparency can need some special handling to accommodate these differences. This handling is not just about the assets with alpha map transparency, themselves. Sometimes it is necessary to set parameters to explicitly tell other objects like the MakeHuman body to not display shadows from the transparent regions of the eyebrows but to show shadows from the opaque hairs of the eyebrows. Shadows of transparently mapped assets will be addressed further in subsequent sections (where information is available).
7a2a3fe5e268599517bc671a33856a5b62516805
335
2015-08-02T20:39:46Z
Robbaer
12
Created page with "'''Introduction''' Many MakeHuman users will use the work they create in MakeHuman as a component of a project completed in an external, downstream application. The most com..."
wikitext
text/x-wiki
'''Introduction'''
Many MakeHuman users will use the work they create in MakeHuman as a component of a project completed in an external, downstream application. The most common target applications are 3D graphics applications like Blender, Autodesk 3DSMax, and Autodesk Maya or gaming engines like Unity Engine or Unreal Engine 4 or Virtual Worlds like Second Life. In some cases, the MakeHuman user will be interested in moving just the mesh. In other cases, the user will be interested in moving a complete, posed, skeletonized character to the downstream application. The purpose of this document is to discuss the basic process of moving a finished MakeHuman asset to a downstream program and producing a reasonable facsimile of its MakeHuman appearance in the downstream application. It is important to recognize that because each application has its own way of representing 3D assets, and because each export format has its own set of idiosyncrasies, there will be adjustments and approximations in the asset transfer process.
'''Format Considerations'''
In an effort to provide the broadest latitude for user workflows, the MakeHuman development team is directing it major export support toward Autodesk FBX format and Khronos Collada format. In addition, Blender users have the option to install the [https://bitbucket.org/ThomasMakeHuman/mhx2-makehuman-exchange independently developed .mhx2 tools], which are independently developed and maintained by Thomas Larson. Collada is a text-based format and is an open standard, but implementation of the standard is not as consistent as might be hoped. FBX is a proprietary standard developed by Autodesk and supported through a software development kit (FBX SDK) written in C++ and a Python FBX scripting template. The FBX standard is periodically updated by Autodesk and can be saved as either an ASCII or a binary format. Downstream programs may make assumptions about the FBX version being imported, and may limit users to either binary or ASCII importing. Surprisingly, CG assets exported from various programs as collada and FBX do not make it back into the same program as a round-trip without changes to some components of the scene. For example, this is true of FBX format in both 3DSMax and Maya for MakeHuman assets. It is also true for Blender with both FBX and collada format for MakeHuman assets. In this document, we will attempt to provide some support for dealing with this type of surprise.
'''MakeHuman Shader and Asset Rendering'''
A “shader” is computer code that translates digital information into a properly rendered image on the computer screen. Different algorithms use different methods of constructing such a display. By default in MakeHuman, the viewport lighting is handled by the built-in light-sphere shader. The light-sphere shader takes advantage of support for the openGL standard provided by today’s graphics cards. What the viewer sees on the screen depends not only on the color of assets, like skin and clothing, but also on the nature of the lights illuminating the scene and causing reflections and shadows. Most downstream programs use other shader strategies, the most common of which include Phong shaders, Blinn shaders, or Lambert shaders. Because the code and conceptual design of these shaders differs from that of the MakeHuman light-sphere shader, the user should be prepared to make some adjustments in the downstream program to get the final desired effect. Some MakeHuman assets also include Normal maps which the user will want to integrate into the downstream applications rendering.
When a MakeHuman material (for example, skin or clothing or eyelashes) is exported, it carries with it a limited amount of fundamental information for by the downstream program’s shaders. In an ideal world, the downstream program would import this raw information, correctly populate the variables in its shaders, and yield the same view of the human that was exported from MakeHuman. At present this does not typically happen, and the user must make some adjustments. This Wiki section is designed to help you negotiate through that process.
'''Spatial transformation: MakeHuman Coordinate System, MakeHuman Skeletons, and MakeHuman Scales'''
The MakeHuman viewport is oriented so that the positive end of the x-axis is to the right, the positive end of the y-axis it up, and the positive end of the z-axis is out through the front to the screen. Other CG programs can use other schemes, so it is essential to know the coordinate system used by the downstream target at export time, if you wish to minimize the adjustments you make after importing. The settings tab allows users to work in metric units of decimeters or imperial units of inches. Downstream programs vary in their de facto units, and again, it is generally a good idea to anticipate your needs at export time rather than trying to make adjustments during or after import. It is sometimes said that these programs have no default unit. To a degree this is true. However, the default grid pattern, assumptions of other humanoid producing programs, and assumptions of the “physics systems” will often work best with the export units specified in the table below:
TABLE HERE
'''Working with Rigs and Skeletons'''
Internally, MakeHuman uses its default skeleton as the basis of mesh vertex weighting for creating the poses available on the pose tab. This rig includes a special set of bones that can be used for driving facial expressions, but as of the current release (MakeHuman 1.1.x), there is not extensive support for inverse kinematics, and animation must be done downstream in the production pipeline. Historically, MakeHuman has had close ties to Blender, but the ultimate development goal is to provide strong generic support for all the major tools used in the industry, and with MakeHuman 1.1.x, substantial progress has been made by providing weighted skeletons suited for standard use in various downstream applications. For the most part, the name of the most appropriate rig will be clearly associated with the target downstream application, but the tag filters on the Pose/Animate | skeleton tab are intended to help choose a rig suited more generally to a specific purpose like motion capture integration, facial animation, or gaming applications. MakeHuman is designed to provide the user with maximum flexibility at creation time. To provide skeletons that work perfectly with every conceivable variation of the sliders is a laudable but elusive goal. That said, the user should get excellent results with the current approach, but the user should be prepared to make some minor tweaks to skeletons and weights downstream, particularly with extreme character dimensions or extreme poses.
'''MakeHuman Assets with transparency'''
In CG art, materials for mesh objects are frequently created by shaders that use various types of image maps to provide some of the information for determining the color, transparency, and light behavior on the surface of mesh objects. These image maps are referred to as textures. MakeHuman has textured materials available for the body (including proxy topologies), eyes, eyebrows, eyelashes, tongue, teeth, and hair. During export, these textures need to made available to the program that will be importing the MakeHuman output. Two aspects of this process need to be understood by the MakeHuman user: 1) how textures are saved; and 2) how transparency is handled.
There are two possible standards for storing texture assets upon export. They can either be embedded in an exported file, or they can be saved to a folder as named images with reference to the location of those files in the exported file. At present, MakeHuman uses the latter approach when exporting material textures. Following the export process, MakeHuman exports will be located in ~/makehuman/v1/exports/, and the texture images will be located in a corresponding subfolder ~/makehuman/v1/exports/textures. The tilde symbol indicates your user drive and home document directory. [For example, on Windows Vista and later, this typically would be: C:/Users/%USERNAME%/Documents/makehuman/v1/exports and a textures subfolder, where %USERNAME% is replaced by your username.]
Transparency is used in 3D art to let a viewer see through a mesh object to experience the color, reflections and lighting behind that object. MakeHuman uses transparency with textures for the eyes, eyebrows, eyelashes, and hair. This allows complex real world geometry to be represented by much simpler quasi-planar objects. For example, the hairs of the eyebrows are painted onto a flat surface with transparent spaces in between the painted hairs rather than creating tiny mesh objects for each of the 250-1000 individual hairs. CG programs can indicate which regions of the eyebrow should be transparent either by using a separate image where blackness indicates transparent and whiteness indicates opacity. Grayness is used to represent partial transparency. An alternative approach to representing transparency is to use an image format like .tga or .png which has a one byte channel, called an alpha channel, for just this purpose. Again, values near zero (black) typically represent “completely transparent” and values near 255 (white) typically represent “completely opaque”. MakeHuman represents the transparent regions of its assets using the alpha channel method and the .png format for textures. Unfortunately, importers for filmbox (FBX) and collada formats (DAE) do not automatically extract the transparency information provided by MakeHuman, or more specifically, they do not provide it to their shaders as anticipated. This is not just a MakeHuman problem but reflects multiple ways of handling transparency and alpha channels within the industry. Notably, exporting and reimporting assets with alpha channel transparency into the very same program fails with Blender, 3DSMax, and Maya for FBX, and where available, DAE formats. This forces the MakeHuman user to understand how to overcome this limitation in his favorite downstream application. Some introductory help will be provided for common applications later in this document.
There is one additional aspect of using transparency to make a single, simple mesh represent multiple small objects like eyebrows, and that is the issue of shadows. Lighting systems in 3D worlds creates a simulation of reality by making shadows appear on mesh objects in places you would expect to see them in the real world and with the soft edges you would expect to see in the real world. Shadows are a function of both the light source, the object blocking that light, and the objects receiving the reflected and refracted light from other objects. For objects that have transparency, like MakeHuman’s eyes, eyelashes, eyebrows, and hair, shadows should only be cast by the opaque portion of the texture and not by the transparent portions of the texture. The handling of shadows differs considerably from program to program, and objects with alpha channel transparency can need some special handling to accommodate these differences. This handling is not just about the assets with alpha map transparency, themselves. Sometimes it is necessary to set parameters to explicitly tell other objects like the MakeHuman body to not display shadows from the transparent regions of the eyebrows but to show shadows from the opaque hairs of the eyebrows. Shadows of transparently mapped assets will be addressed further in subsequent sections (where information is available).
d4c935121f218b1c24c33cd4c282110a869a6c35
Main Page
0
1
747
746
2016-05-20T13:18:04Z
Joepal
14
wikitext
text/x-wiki
This is the root of the MakeHuman Community Wiki. This is where you should find most of the relevant information on things related to MakeHuman.
== Logging in ==
Any forum user can log in and edit most pages here (although some key pages are write protected). You can log in using your forum username and password. Note that even if you already logged in on the forums, you will need to log in again here (there is no single sign-on).
== Informative pages ==
* [[FAQ:Index|FAQ]]: Frequently asked questions. If you wonder about something, this is probably where you should look first.
* [[Documentation:Index|Documentation]]: Documentation for the MakeHuman software. This is the main and the most verbose documentation set for MakeHuman.
* [[MakeHuman resources]]: List of locations for downloads and similar
* [[MakeHuman Workflows]]: Some help on moving MakeHuman Assets into other programs
* [[Video:Index|Video tutorials]]: A categorized list of video tutorials
* [[Terminology]]: Confused by all the lingo? Check here for short explanations of common terms.
* [[Releases]]: Detailed information about what changed in MakeHuman releases
a8495a5e78b6174b1fdefc757daddea5e9cc6419
746
734
2016-05-20T13:16:56Z
Joepal
14
wikitext
text/x-wiki
This is the root of the MakeHuman Community Wiki. This is where you should find most of the relevant information on things related to MakeHuman.
== Logging in ==
Any forum user can log in and edit most pages here (although some key pages are write protected). You can log in using your forum username and password. Note that even if you already logged in on the forums, you will need to log in again here (there is no single sign-on).
== Informative pages ==
* [[Documentation:Index|Documentation]]: Documentation for the MakeHuman software
* [[MakeHuman resources]]: List of locations for downloads and similar
* [[MakeHuman Workflows]]: Some help on moving MakeHuman Assets into other programs
* [[FAQ:Index|FAQ]]: Frequently asked questions
* [[Video:Index|Video tutorials]]: A categorized list of video tutorials
* [[Terminology]]: Confused by all the lingo? Check here for short explanations of common terms.
* [[Releases]]: Detailed information about what changed in MakeHuman releases
fbabf83bf4e3d67f2b4b814c4f796bee102665bc
734
616
2016-05-20T12:39:42Z
Joepal
14
wikitext
text/x-wiki
This is the root of the MakeHuman Community Wiki. In the future it is planned that this should be the one stop shop for most relevant information on things related to MakeHuman.
== Logging in ==
Any forum user can log in and edit most pages here (although some key pages are write protected). You can log in using your forum username and password. Note that even if you already logged in on the forums, you will need to log in again here (there is no single sign-on).
== Informative pages ==
* [[Documentation:Index|Documentation]]: Documentation for the MakeHuman software
* [[MakeHuman resources]]: List of locations for downloads and similar
* [[MakeHuman Workflows]]: Some help on moving MakeHuman Assets into other programs
* [[FAQ:Index|FAQ]]: Frequently asked questions
* [[Video:Index|Video tutorials]]: A categorized list of video tutorials
* [[Terminology]]: Confused by all the lingo? Check here for short explanations of common terms.
* [[Releases]]: Detailed information about what changed in MakeHuman releases
eea6c7ceba54756addc8fcaed9361d838c94a9d8
616
411
2016-04-15T09:36:04Z
Joepal
14
wikitext
text/x-wiki
This is the root of the MakeHuman Community Wiki. In the future it is planned that this should be the one stop shop for most relevant information on things related to MakeHuman.
There is only a little bit here so far, but you could check the [[Documentation:Index|root of the documentation]] for now.
== Logging in ==
Any forum user can log in and edit most pages here (although some key pages are write protected). You can log in using your forum username and password. Note that even if you already logged in on the forums, you will need to log in again here (there is no single sign-on).
== Informative pages ==
* [[Documentation:Index|Documentation]]: Documentation for the MakeHuman software
* [[MakeHuman resources]]: List of locations for downloads and similar
* [[MakeHuman Workflows]]: Some help on moving MakeHuman Assets into other programs
* [[FAQ:Index|FAQ]]: Frequently asked questions
* [[Video:Index|Video tutorials]]: A categorized list of video tutorials
* [[Terminology]]: Confused by all the lingo? Check here for short explanations of common terms.
* [[Releases]]: Detailed information about what changed in MakeHuman releases
362250283df6cf84b2d8ada383d646c944d0be52
411
410
2015-08-16T23:30:15Z
Robbaer
12
Reverted edits by [[Special:Contributions/Robbaer|Robbaer]] ([[User talk:Robbaer|talk]]) to last revision by [[User:Joepal|Joepal]]
wikitext
text/x-wiki
This is the root of the MakeHuman Community Wiki. In the future it is planned that this should be the one stop shop for most relevant information on things related to MakeHuman.
There is only a little bit here so far, but you could check the [[Documentation:Index|root of the documentation]] for now.
== Logging in ==
Any forum user can log in and edit most pages here (although some key pages are write protected). You can log in using your forum username and password. Note that even if you already logged in on the forums, you will need to log in again here (there is no single sign-on).
== Informative pages ==
* [[Documentation:Index|Documentation]]: Documentation for the MakeHuman software
* [[MakeHuman resources]]: List of locations for downloads and similar
* [[MakeHuman Workflows]]: Some help on moving MakeHuman Assets into other programs
* [[FAQ:Index|FAQ]]: Frequently asked questions
* [[Video:Index|Video tutorials]]: A categorized list of video tutorials
* [[Terminology]]: Confused by all the lingo? Check here for short explanations of common terms.
173ac34f065029802a3fe90fa9a2e8291f03bdf5
410
400
2015-08-16T23:28:01Z
Robbaer
12
Reverted edits by [[Special:Contributions/Joepal|Joepal]] ([[User talk:Joepal|talk]]) to last revision by [[User:Robbaer|Robbaer]]
wikitext
text/x-wiki
This is the root of the MakeHuman Community Wiki. In the future it is planned that this should be the one stop shop for most relevant information on things related to MakeHuman.
There is only a little bit here so far, but you could check the [[Documentation:Index|root of the documentation]] for now.
== Informative pages ==
* [[Documentation:Index|Documentation]]: Documentation for the MakeHuman software
* [[MakeHuman resources]]: List of locations for downloads and similar
* [[MakeHuman Workflows]]: Some help on moving MakeHuman Assets into other programs
* [[FAQ:Index|FAQ]]: Frequently asked questions
* [[The MakeHuman Project]]: A description of MakeHuman as a project (as opposed to the MakeHuman software)
d1b221b4e52f7a1d49f79fdd73856afb9d465942
400
136
2015-08-15T14:54:57Z
Joepal
14
wikitext
text/x-wiki
This is the root of the MakeHuman Community Wiki. In the future it is planned that this should be the one stop shop for most relevant information on things related to MakeHuman.
There is only a little bit here so far, but you could check the [[Documentation:Index|root of the documentation]] for now.
== Logging in ==
Any forum user can log in and edit most pages here (although some key pages are write protected). You can log in using your forum username and password. Note that even if you already logged in on the forums, you will need to log in again here (there is no single sign-on).
== Informative pages ==
* [[Documentation:Index|Documentation]]: Documentation for the MakeHuman software
* [[MakeHuman resources]]: List of locations for downloads and similar
* [[MakeHuman Workflows]]: Some help on moving MakeHuman Assets into other programs
* [[FAQ:Index|FAQ]]: Frequently asked questions
* [[Video:Index|Video tutorials]]: A categorized list of video tutorials
* [[Terminology]]: Confused by all the lingo? Check here for short explanations of common terms.
173ac34f065029802a3fe90fa9a2e8291f03bdf5
136
135
2015-07-14T13:56:42Z
Joepal
14
wikitext
text/x-wiki
This is the root of the MakeHuman Community Wiki. In the future it is planned that this should be the one stop shop for most relevant information on things related to MakeHuman.
There is only a little bit here so far, but you could check the [[Documentation:Index|root of the documentation]] for now.
== Logging in ==
Any forum user can log in and edit most pages here (although some key pages are write protected). You can log in using your forum username and password. Note that even if you already logged in on the forums, you will need to log in again here (there is no single sign-on).
== Informative pages ==
* [[Documentation:Index|Documentation]]: Documentation for the MakeHuman software
* [[MakeHuman resources]]: List of locations for downloads and similar
* [[MakeHuman Workflows]]: Some help on moving MakeHuman Assets into other programs
* [[FAQ:Index|FAQ]]: Frequently asked questions
* [[Video:Index|Video tutorials]]: A categorized list of video tutorials
8da6809b9db0d792e86cb7f0edfb1fe3a6fb64e7
135
119
2015-07-12T13:40:20Z
Joepal
14
/* Informative pages */
wikitext
text/x-wiki
This is the root of the MakeHuman Community Wiki. In the future it is planned that this should be the one stop shop for most relevant information on things related to MakeHuman.
There is only a little bit here so far, but you could check the [[Documentation:Index|root of the documentation]] for now.
== Informative pages ==
* [[Documentation:Index|Documentation]]: Documentation for the MakeHuman software
* [[MakeHuman resources]]: List of locations for downloads and similar
* [[MakeHuman Workflows]]: Some help on moving MakeHuman Assets into other programs
* [[FAQ:Index|FAQ]]: Frequently asked questions
* [[Video:Index|Video tutorials]]: A categorized list of video tutorials
1a79b71eb7e032edd3c93d8f2c196361dae18caf
119
118
2015-07-12T13:03:17Z
Joepal
14
wikitext
text/x-wiki
This is the root of the MakeHuman Community Wiki. In the future it is planned that this should be the one stop shop for most relevant information on things related to MakeHuman.
There is only a little bit here so far, but you could check the [[Documentation:Index|root of the documentation]] for now.
== Informative pages ==
* [[Documentation:Index|Documentation]]: Documentation for the MakeHuman software
* [[MakeHuman resources]]: List of locations for downloads and similar
* [[MakeHuman Workflows]]: Some help on moving MakeHuman Assets into other programs
* [[FAQ:Index|FAQ]]: Frequently asked questions
* [[The MakeHuman Project]]: A description of MakeHuman as a project (as opposed to the MakeHuman software)
* [[Video:Index|Video tutorials]]: A categorized list of video tutorials
125532c9d49ee4aad37baf70b49515726168b695
118
53
2015-07-12T13:00:16Z
Joepal
14
wikitext
text/x-wiki
This is the root of the MakeHuman Community Wiki. In the future it is planned that this should be the one stop shop for most relevant information on things related to MakeHuman.
There is only a little bit here so far, but you could check the [[Documentation:Index|root of the documentation]] for now.
== Informative pages ==
* [[Documentation:Index|Documentation]]: Documentation for the MakeHuman software
* [[MakeHuman resources]]: List of locations for downloads and similar
* [[MakeHuman Workflows]]: Some help on moving MakeHuman Assets into other programs
* [[FAQ:Index|FAQ]]: Frequently asked questions
* [[The MakeHuman Project]]: A description of MakeHuman as a project (as opposed to the MakeHuman software)
* [[Video tutorials]]: A categorized list of video tutorials
374e2a01698eed480339576e18e9d9abf3e8a203
53
52
2015-07-04T15:46:28Z
Robbaer
12
/* Informative pages */
wikitext
text/x-wiki
This is the root of the MakeHuman Community Wiki. In the future it is planned that this should be the one stop shop for most relevant information on things related to MakeHuman.
There is only a little bit here so far, but you could check the [[Documentation:Index|root of the documentation]] for now.
== Informative pages ==
* [[Documentation:Index|Documentation]]: Documentation for the MakeHuman software
* [[MakeHuman resources]]: List of locations for downloads and similar
* [[MakeHuman Workflows]]: Some help on moving MakeHuman Assets into other programs
* [[FAQ:Index|FAQ]]: Frequently asked questions
* [[The MakeHuman Project]]: A description of MakeHuman as a project (as opposed to the MakeHuman software)
d1b221b4e52f7a1d49f79fdd73856afb9d465942
52
51
2015-07-04T15:40:03Z
Robbaer
12
wikitext
text/x-wiki
This is the root of the MakeHuman Community Wiki. In the future it is planned that this should be the one stop shop for most relevant information on things related to MakeHuman.
There is only a little bit here so far, but you could check the [[Documentation:Index|root of the documentation]] for now.
== Informative pages ==
* [[Documentation:Index|Documentation]]: Documentation for the MakeHuman software
* [[MakeHuman resources]]: List of locations for downloads and similar
* [[FAQ:Index|FAQ]]: Frequently asked questions
* [[The MakeHuman Project]]: A description of MakeHuman as a project (as opposed to the MakeHuman software)
0e59ac7093b637188e9e5ba0b9d43cdcbc658d0a
51
48
2015-07-04T15:25:48Z
Robbaer
12
wikitext
text/x-wiki
This is the root of the MakeHuman Community Wiki. In the future it is planned that this should be the one stop shop for most relevant information on things related to MakeHuman.
There is only a little here so far, but you could check the [[Documentation:Index|root of the documentation]] for now.
== Informative pages ==
* [[Documentation:Index|Documentation]]: Documentation for the MakeHuman software
* [[MakeHuman resources]]: List of locations for downloads and similar
* [[FAQ:Index|FAQ]]: Frequently asked questions
* [[The MakeHuman Project]]: A description of MakeHuman as a project (as opposed to the MakeHuman software)
2d6ce811f31503d0dc4a029ca3d93cf4598afaa8
48
46
2015-07-04T11:17:25Z
Joepal2
11
wikitext
text/x-wiki
This is the root of the MakeHuman Community Wiki. In the future it is planned that this should be the one stop shop for most relevant information on things related to MakeHuman.
There is not a whole lot here yet, but you could check the [[Documentation:Index|root of the documentation]] for now.
== Informative pages ==
* [[Documentation:Index|Documentation]]: Documentation for the MakeHuman software
* [[MakeHuman resources]]: List of locations for downloads and similar
* [[FAQ:Index|FAQ]]: Frequently asked questions
* [[The MakeHuman Project]]: A description of MakeHuman as a project (as opposed to the MakeHuman software)
bbc9f32b39ff9a2e51764c6b9200744702561f90
46
45
2015-07-04T11:06:32Z
Joepal2
11
wikitext
text/x-wiki
This is the root of the MakeHuman Community Wiki. In the future it is planned that this should be the one stop shop for most relevant information on things related to MakeHuman.
There is not a whole lot here yet, but you could check the [[Documentation:Index|root of the documentation]] for now.
== Informative pages ==
* [[MakeHuman resources]]: List of locations for downloads and similar
* [[The MakeHuman Project]]: A description of MakeHuman as a project (as opposed to the MakeHuman software)
* [[FAQ:Index|FAQ]]: Frequently asked questions
992d96aabbf5f066a19a0631684da9ca2a437273
45
8
2015-07-04T10:55:58Z
Joepal2
11
wikitext
text/x-wiki
Not a whole lot here yet, but you could check the [[Documentation:Index|root of the documentation]].
Test edit
80b13d776953d3a87eb8baecfa208c3ec0862f45
8
7
2015-06-27T15:14:58Z
Joepal1
1
wikitext
text/x-wiki
Not a whole lot here yet, but you could check the [[Documentation:Index|root of the documentation]].
9a4c66c4b6740e1f1f96ce04eb65a880070b70fe
7
6
2015-06-27T15:13:46Z
Joepal1
1
wikitext
text/x-wiki
{{DISPLAYTITLE:MakeHuman Community Wiki}}
Not a whole lot here yet, but you could check the [[Documentation:Index|root of the documentation]].
e67ff4e69959aa1fd5bf0f0429a2a9815a67c5c7
6
5
2015-06-27T15:12:07Z
Joepal1
1
wikitext
text/x-wiki
<title>MakeHuman Community Wiki</title>
Not a whole lot here yet, but you could check the [[Documentation:Index|root of the documentation]].
a2ee4173a1fa7319c0f87a7bcd3479ef9b71d276
5
3
2015-06-27T14:28:18Z
Joepal1
1
Basic page
wikitext
text/x-wiki
<strong>MediaWiki has been successfully installed.</strong>
Not a whole lot here yet, but you could check the [[Documentation:Index|root of the documentation]].
fb801a915bb3ca3f62dedb1c11be51f7a3ceb7d8
3
2
2015-06-27T14:16:43Z
Joepal3
2
/* Getting started */
wikitext
text/x-wiki
<strong>MediaWiki has been successfully installed.</strong>
Consult the [//meta.wikimedia.org/wiki/Help:Contents User's Guide] for information on using the wiki software.
== Getting started ==
* [//www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Configuration settings list]
* [//www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ MediaWiki FAQ]
* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list]
* [//www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Localise MediaWiki for your language]
test
264ba1509544124674659b491b004222803800c5
2
1
2015-06-27T14:11:01Z
Joepal1
1
Protected "[[Main Page]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))
wikitext
text/x-wiki
<strong>MediaWiki has been successfully installed.</strong>
Consult the [//meta.wikimedia.org/wiki/Help:Contents User's Guide] for information on using the wiki software.
== Getting started ==
* [//www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Configuration settings list]
* [//www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ MediaWiki FAQ]
* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list]
* [//www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Localise MediaWiki for your language]
8e0aa2f2a7829587801db67d0424d9b447e09867
1
2015-06-27T13:57:30Z
MediaWiki default
0
wikitext
text/x-wiki
<strong>MediaWiki has been successfully installed.</strong>
Consult the [//meta.wikimedia.org/wiki/Help:Contents User's Guide] for information on using the wiki software.
== Getting started ==
* [//www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Configuration settings list]
* [//www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ MediaWiki FAQ]
* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list]
* [//www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Localise MediaWiki for your language]
8e0aa2f2a7829587801db67d0424d9b447e09867
MakeHuman Workflows
0
12
1991
1990
2021-01-19T09:29:35Z
Fortuna
107
/* Moving Assets into Unreal Engine 4 */
wikitext
text/x-wiki
== Summary ==
More often than not MakeHuman users will want to move their creation into another program to continue the creation process. This section provides information on how to achieve this for common target programs. The ''Background and Technical Consideratins'' section provides some background that are common to all workflows. It is not essential to read the introduction before going straight to the program of interest, but doing so might help you understand ''why'' certain steps work or are necessary. In many cases there can be more than one way to accomplish the same thing. The method described here may not be optimal for your situation, but it should help get you started.
==[[Background and Technical Considerations]]==
[[Background and Technical Considerations]]
This subsection will provide some general information on "trouble spots" when trying to take your MakeHuman work and use it in a downstream application. Many of the problems discussed are topics that always arise when moving assets between 3D programs.
*Introduction [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#Introduction]
*Format Considerations [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#Format_Considerations]
*MakeHuman Shader and Asset Rendering [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#MakeHuman_Shader_and_Asset_Rendering]
*Spatial transformation: MakeHuman Coordinate System, MakeHuman Skeletons, and MakeHuman Scales [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#Spatial_transformation:_MakeHuman_Coordinate_System.2C_MakeHuman_Skeletons.2C_and_MakeHuman_Scales]
*Working with Rigs and Skeletons [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#Working_with_Rigs_and_Skeletons]
*MakeHuman Assets with transparency [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#MakeHuman_Assets_with_transparency]
==Illustrating the Export Process for Subsequent Import==
For the purposes of illustration we will take a straight forward MakeHuman character that has been given a skeleton, a pose, a skin material, clothing, eyes, eyelashes, eyebrows, hair, tongue and teeth. We will then export it for import into a number of popular downstream applications. For each application, our goal will be to get the character to look similar to its original look in MakeHuman. We will pay particular attention to the head and face because this is the area of greatest difficulty for dealing with transparency and shadows. The character has the default skeleton and has been set in the T-pose which is a common starting pose for animation-based work. The image we will be exporting looks like this in MakeHuman:
[[File:ImpExp-001.png]]
'''Figure 1.''' MakeHuman character as viewed from within MakeHuman prior to export.
In subsequent sections, we will discuss the steps needed to reproduce this look after importing into specific downstream programs.
==[[Moving Assets into Autodesk Maya]]==
[[Moving Assets into Autodesk Maya]]
This subsection describes the restoration and use of MakeHuman's transparency and skeletal assets after importing in Autodesk Maya.
*Introduction [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Introduction]
*Importing and Initial Setup [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Importing_and_Initial_Setup]
*Basic Repair of Eye Transparency [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Basic_Repair_of_Eye_Transparency]
*Repeat for other Transparent Assets [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Repeat_for_other_Transparent_Assets]
*Raytrace Shadows [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Raytrace_Shadows]
*Re-importing "Fixed MakeHuman Assets" from Maya after saving in FBX format [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Re-importing_Intermediate_FBX_files_from_Maya]
*Adopting MakeHuman Skeletons to Maya [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Adopting_MakeHuman_Skeletons_to_Maya]
<font color = 'red'>--------Skeleton subsection still to be written--------</font>
==[[Moving Assets into Autodesk 3DSMax]]==
[[Moving Assets into Autodesk 3DSMax]]
This subsection describes the restoration and use of MakeHuman's transparency and skeletal assets after importing in Autodesk 3DSMax.
*Units Considerations [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Units_Considerations]
*Importing FBX into 3DSMax [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Importing_FBX_into_3DSMax]
*Restoring Transparency for the Eyes [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Restoring_Transparency_for_the_Eyes]
*Fixing Transparency on the Other Assets [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Fixing_Transparency_on_the_Other_Assets]
*Repairing an Imported MakeHuman FBX file that was previously Exported after Fixing [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Repairing_an_Imported_MakeHuman_FBX_file_that_was_previously_Exported_after_Fixing]
*Importing MakeHuman Skeletons into 3DSMAX [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Importing_MakeHuman_Skeletons_into_3DSMAX]
==[[Moving Assets into Blender]]==
[[Moving Assets into Blender]]
This subsection describes the import of transparent assets after importing in Blender. The initial focus will be on using the Blender Internal Render engine. The use of Cycles render engine will be handled separately. The Blender tools (MakeClothes, MakeWalk, MakeTarget) for designing and working with MakeHuman internal assets are described elsewhere.
==Moving Assets into Unreal Engine 4==
The documentation for how to work with Unreal Engine is available in [[Documentation:Saving_models_for_Unreal_Engine_and_how_to_import_them_there|"Saving models for Unreal_Engine and how to import them there"]].
==Moving Assets into Unity Game Engine==
The documentation for how to work with unity is available in [[Documentation:Saving_models_for_Unity_and_how_to_import_them_there|"Saving models for Unity and how to import them there"]].
==Moving Assets into Sketchup Pro==
==Preparing assets for use with Second Life==
==User contributed assets. Sharing your creations with the community==
You finally managed to model a cool piece of clothing or something else? You would like to share it with others? Great! A few words before you start loading up:
MakeHuman is available for more than one OS. Users live in different countries using different language settings. This has some consequences to think about before you upload your asset.
*Avoid non-ascii characters in your filenames. Depending on language settings some characters might lead to trouble. Stick to English in your file names and you're safe.
*Don't use spaces in file names. Today, on most platforms you can use file names like "My Asset.mhclo", but a lot of scripts won't be able to handle it. They consider the space after "My" as a delimiter and fail. Instead of "My Asset.mhclo" "My_Asset.mhclo" would be better.
*"My_Asset.mhclo" is still a bad filename. On Windows file names aren't case sensitive. On Linux they are. On Windows "My_Asset.mhclo", "my_asset.mhclo" and "My_Asset.MHCLO " all refer to the same file. On Linux they are three completely different files. You want your stuff to work on all platforms. Avoid uppercase letters. "my_asset.mhclo" is a good filename.
*These rules are true for all files that belong to your asset.
*Consider using the same base name for files belonging to your asset. For example, if you have a "my_asset.mhclo", it'd make sense to give a material belonging to it the name "my_asset.mhmat" rather than "some_other_random_name.mhmat".
*Use self-explanatory file names for your graphic files. For this example "my_asset_diffuse.png" would be a good idea for the diffuse texture. Don't use just "diffuse.png". If there's more than one asset using this lazy naming convention files will be overwritten on export.
*This one's obvious, but often forgotten: After renaming your files, open the .mhclo and .mhmat files and change the referenced file names to your new file names.
ee4c87754e16106c1ebc8b46a0d223c2df99b35f
1990
1989
2021-01-19T09:18:24Z
Fortuna
107
/* Moving Assets into Unreal Engine 4 */
wikitext
text/x-wiki
== Summary ==
More often than not MakeHuman users will want to move their creation into another program to continue the creation process. This section provides information on how to achieve this for common target programs. The ''Background and Technical Consideratins'' section provides some background that are common to all workflows. It is not essential to read the introduction before going straight to the program of interest, but doing so might help you understand ''why'' certain steps work or are necessary. In many cases there can be more than one way to accomplish the same thing. The method described here may not be optimal for your situation, but it should help get you started.
==[[Background and Technical Considerations]]==
[[Background and Technical Considerations]]
This subsection will provide some general information on "trouble spots" when trying to take your MakeHuman work and use it in a downstream application. Many of the problems discussed are topics that always arise when moving assets between 3D programs.
*Introduction [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#Introduction]
*Format Considerations [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#Format_Considerations]
*MakeHuman Shader and Asset Rendering [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#MakeHuman_Shader_and_Asset_Rendering]
*Spatial transformation: MakeHuman Coordinate System, MakeHuman Skeletons, and MakeHuman Scales [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#Spatial_transformation:_MakeHuman_Coordinate_System.2C_MakeHuman_Skeletons.2C_and_MakeHuman_Scales]
*Working with Rigs and Skeletons [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#Working_with_Rigs_and_Skeletons]
*MakeHuman Assets with transparency [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#MakeHuman_Assets_with_transparency]
==Illustrating the Export Process for Subsequent Import==
For the purposes of illustration we will take a straight forward MakeHuman character that has been given a skeleton, a pose, a skin material, clothing, eyes, eyelashes, eyebrows, hair, tongue and teeth. We will then export it for import into a number of popular downstream applications. For each application, our goal will be to get the character to look similar to its original look in MakeHuman. We will pay particular attention to the head and face because this is the area of greatest difficulty for dealing with transparency and shadows. The character has the default skeleton and has been set in the T-pose which is a common starting pose for animation-based work. The image we will be exporting looks like this in MakeHuman:
[[File:ImpExp-001.png]]
'''Figure 1.''' MakeHuman character as viewed from within MakeHuman prior to export.
In subsequent sections, we will discuss the steps needed to reproduce this look after importing into specific downstream programs.
==[[Moving Assets into Autodesk Maya]]==
[[Moving Assets into Autodesk Maya]]
This subsection describes the restoration and use of MakeHuman's transparency and skeletal assets after importing in Autodesk Maya.
*Introduction [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Introduction]
*Importing and Initial Setup [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Importing_and_Initial_Setup]
*Basic Repair of Eye Transparency [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Basic_Repair_of_Eye_Transparency]
*Repeat for other Transparent Assets [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Repeat_for_other_Transparent_Assets]
*Raytrace Shadows [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Raytrace_Shadows]
*Re-importing "Fixed MakeHuman Assets" from Maya after saving in FBX format [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Re-importing_Intermediate_FBX_files_from_Maya]
*Adopting MakeHuman Skeletons to Maya [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Adopting_MakeHuman_Skeletons_to_Maya]
<font color = 'red'>--------Skeleton subsection still to be written--------</font>
==[[Moving Assets into Autodesk 3DSMax]]==
[[Moving Assets into Autodesk 3DSMax]]
This subsection describes the restoration and use of MakeHuman's transparency and skeletal assets after importing in Autodesk 3DSMax.
*Units Considerations [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Units_Considerations]
*Importing FBX into 3DSMax [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Importing_FBX_into_3DSMax]
*Restoring Transparency for the Eyes [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Restoring_Transparency_for_the_Eyes]
*Fixing Transparency on the Other Assets [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Fixing_Transparency_on_the_Other_Assets]
*Repairing an Imported MakeHuman FBX file that was previously Exported after Fixing [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Repairing_an_Imported_MakeHuman_FBX_file_that_was_previously_Exported_after_Fixing]
*Importing MakeHuman Skeletons into 3DSMAX [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Importing_MakeHuman_Skeletons_into_3DSMAX]
==[[Moving Assets into Blender]]==
[[Moving Assets into Blender]]
This subsection describes the import of transparent assets after importing in Blender. The initial focus will be on using the Blender Internal Render engine. The use of Cycles render engine will be handled separately. The Blender tools (MakeClothes, MakeWalk, MakeTarget) for designing and working with MakeHuman internal assets are described elsewhere.
==Moving Assets into Unreal Engine 4==
The documentation for how to work with Unreal Engine is available in [["Documentation:Saving_models_for_Unreal_Engine_and_how_to_import_them_there"]].
==Moving Assets into Unity Game Engine==
The documentation for how to work with unity is available in [[Documentation:Saving_models_for_Unity_and_how_to_import_them_there|"Saving models for Unity and how to import them there"]].
==Moving Assets into Sketchup Pro==
==Preparing assets for use with Second Life==
==User contributed assets. Sharing your creations with the community==
You finally managed to model a cool piece of clothing or something else? You would like to share it with others? Great! A few words before you start loading up:
MakeHuman is available for more than one OS. Users live in different countries using different language settings. This has some consequences to think about before you upload your asset.
*Avoid non-ascii characters in your filenames. Depending on language settings some characters might lead to trouble. Stick to English in your file names and you're safe.
*Don't use spaces in file names. Today, on most platforms you can use file names like "My Asset.mhclo", but a lot of scripts won't be able to handle it. They consider the space after "My" as a delimiter and fail. Instead of "My Asset.mhclo" "My_Asset.mhclo" would be better.
*"My_Asset.mhclo" is still a bad filename. On Windows file names aren't case sensitive. On Linux they are. On Windows "My_Asset.mhclo", "my_asset.mhclo" and "My_Asset.MHCLO " all refer to the same file. On Linux they are three completely different files. You want your stuff to work on all platforms. Avoid uppercase letters. "my_asset.mhclo" is a good filename.
*These rules are true for all files that belong to your asset.
*Consider using the same base name for files belonging to your asset. For example, if you have a "my_asset.mhclo", it'd make sense to give a material belonging to it the name "my_asset.mhmat" rather than "some_other_random_name.mhmat".
*Use self-explanatory file names for your graphic files. For this example "my_asset_diffuse.png" would be a good idea for the diffuse texture. Don't use just "diffuse.png". If there's more than one asset using this lazy naming convention files will be overwritten on export.
*This one's obvious, but often forgotten: After renaming your files, open the .mhclo and .mhmat files and change the referenced file names to your new file names.
0f9e63e8fe6d9d7de7d19e61b31ff76c2e362eb2
1989
1490
2021-01-19T09:16:38Z
Fortuna
107
Moving Assets into Unreal Engine 4 - Found the content - adding a link to it so the next user finds it faster.
wikitext
text/x-wiki
== Summary ==
More often than not MakeHuman users will want to move their creation into another program to continue the creation process. This section provides information on how to achieve this for common target programs. The ''Background and Technical Consideratins'' section provides some background that are common to all workflows. It is not essential to read the introduction before going straight to the program of interest, but doing so might help you understand ''why'' certain steps work or are necessary. In many cases there can be more than one way to accomplish the same thing. The method described here may not be optimal for your situation, but it should help get you started.
==[[Background and Technical Considerations]]==
[[Background and Technical Considerations]]
This subsection will provide some general information on "trouble spots" when trying to take your MakeHuman work and use it in a downstream application. Many of the problems discussed are topics that always arise when moving assets between 3D programs.
*Introduction [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#Introduction]
*Format Considerations [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#Format_Considerations]
*MakeHuman Shader and Asset Rendering [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#MakeHuman_Shader_and_Asset_Rendering]
*Spatial transformation: MakeHuman Coordinate System, MakeHuman Skeletons, and MakeHuman Scales [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#Spatial_transformation:_MakeHuman_Coordinate_System.2C_MakeHuman_Skeletons.2C_and_MakeHuman_Scales]
*Working with Rigs and Skeletons [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#Working_with_Rigs_and_Skeletons]
*MakeHuman Assets with transparency [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#MakeHuman_Assets_with_transparency]
==Illustrating the Export Process for Subsequent Import==
For the purposes of illustration we will take a straight forward MakeHuman character that has been given a skeleton, a pose, a skin material, clothing, eyes, eyelashes, eyebrows, hair, tongue and teeth. We will then export it for import into a number of popular downstream applications. For each application, our goal will be to get the character to look similar to its original look in MakeHuman. We will pay particular attention to the head and face because this is the area of greatest difficulty for dealing with transparency and shadows. The character has the default skeleton and has been set in the T-pose which is a common starting pose for animation-based work. The image we will be exporting looks like this in MakeHuman:
[[File:ImpExp-001.png]]
'''Figure 1.''' MakeHuman character as viewed from within MakeHuman prior to export.
In subsequent sections, we will discuss the steps needed to reproduce this look after importing into specific downstream programs.
==[[Moving Assets into Autodesk Maya]]==
[[Moving Assets into Autodesk Maya]]
This subsection describes the restoration and use of MakeHuman's transparency and skeletal assets after importing in Autodesk Maya.
*Introduction [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Introduction]
*Importing and Initial Setup [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Importing_and_Initial_Setup]
*Basic Repair of Eye Transparency [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Basic_Repair_of_Eye_Transparency]
*Repeat for other Transparent Assets [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Repeat_for_other_Transparent_Assets]
*Raytrace Shadows [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Raytrace_Shadows]
*Re-importing "Fixed MakeHuman Assets" from Maya after saving in FBX format [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Re-importing_Intermediate_FBX_files_from_Maya]
*Adopting MakeHuman Skeletons to Maya [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Adopting_MakeHuman_Skeletons_to_Maya]
<font color = 'red'>--------Skeleton subsection still to be written--------</font>
==[[Moving Assets into Autodesk 3DSMax]]==
[[Moving Assets into Autodesk 3DSMax]]
This subsection describes the restoration and use of MakeHuman's transparency and skeletal assets after importing in Autodesk 3DSMax.
*Units Considerations [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Units_Considerations]
*Importing FBX into 3DSMax [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Importing_FBX_into_3DSMax]
*Restoring Transparency for the Eyes [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Restoring_Transparency_for_the_Eyes]
*Fixing Transparency on the Other Assets [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Fixing_Transparency_on_the_Other_Assets]
*Repairing an Imported MakeHuman FBX file that was previously Exported after Fixing [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Repairing_an_Imported_MakeHuman_FBX_file_that_was_previously_Exported_after_Fixing]
*Importing MakeHuman Skeletons into 3DSMAX [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Importing_MakeHuman_Skeletons_into_3DSMAX]
==[[Moving Assets into Blender]]==
[[Moving Assets into Blender]]
This subsection describes the import of transparent assets after importing in Blender. The initial focus will be on using the Blender Internal Render engine. The use of Cycles render engine will be handled separately. The Blender tools (MakeClothes, MakeWalk, MakeTarget) for designing and working with MakeHuman internal assets are described elsewhere.
==Moving Assets into Unreal Engine 4==
See [[Documentation:Saving_models_for_Unreal_Engine_and_how_to_import_them_there]]
==Moving Assets into Unity Game Engine==
The documentation for how to work with unity is available in [[Documentation:Saving_models_for_Unity_and_how_to_import_them_there|"Saving models for Unity and how to import them there"]].
==Moving Assets into Sketchup Pro==
==Preparing assets for use with Second Life==
==User contributed assets. Sharing your creations with the community==
You finally managed to model a cool piece of clothing or something else? You would like to share it with others? Great! A few words before you start loading up:
MakeHuman is available for more than one OS. Users live in different countries using different language settings. This has some consequences to think about before you upload your asset.
*Avoid non-ascii characters in your filenames. Depending on language settings some characters might lead to trouble. Stick to English in your file names and you're safe.
*Don't use spaces in file names. Today, on most platforms you can use file names like "My Asset.mhclo", but a lot of scripts won't be able to handle it. They consider the space after "My" as a delimiter and fail. Instead of "My Asset.mhclo" "My_Asset.mhclo" would be better.
*"My_Asset.mhclo" is still a bad filename. On Windows file names aren't case sensitive. On Linux they are. On Windows "My_Asset.mhclo", "my_asset.mhclo" and "My_Asset.MHCLO " all refer to the same file. On Linux they are three completely different files. You want your stuff to work on all platforms. Avoid uppercase letters. "my_asset.mhclo" is a good filename.
*These rules are true for all files that belong to your asset.
*Consider using the same base name for files belonging to your asset. For example, if you have a "my_asset.mhclo", it'd make sense to give a material belonging to it the name "my_asset.mhmat" rather than "some_other_random_name.mhmat".
*Use self-explanatory file names for your graphic files. For this example "my_asset_diffuse.png" would be a good idea for the diffuse texture. Don't use just "diffuse.png". If there's more than one asset using this lazy naming convention files will be overwritten on export.
*This one's obvious, but often forgotten: After renaming your files, open the .mhclo and .mhmat files and change the referenced file names to your new file names.
fad241d807667dda51075889f15d3bc927660c9c
1490
1258
2018-11-13T03:48:26Z
Lordnicodemus56
69
/* Moving Assets into Google Sketchup */
wikitext
text/x-wiki
== Summary ==
More often than not MakeHuman users will want to move their creation into another program to continue the creation process. This section provides information on how to achieve this for common target programs. The ''Background and Technical Consideratins'' section provides some background that are common to all workflows. It is not essential to read the introduction before going straight to the program of interest, but doing so might help you understand ''why'' certain steps work or are necessary. In many cases there can be more than one way to accomplish the same thing. The method described here may not be optimal for your situation, but it should help get you started.
==[[Background and Technical Considerations]]==
[[Background and Technical Considerations]]
This subsection will provide some general information on "trouble spots" when trying to take your MakeHuman work and use it in a downstream application. Many of the problems discussed are topics that always arise when moving assets between 3D programs.
*Introduction [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#Introduction]
*Format Considerations [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#Format_Considerations]
*MakeHuman Shader and Asset Rendering [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#MakeHuman_Shader_and_Asset_Rendering]
*Spatial transformation: MakeHuman Coordinate System, MakeHuman Skeletons, and MakeHuman Scales [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#Spatial_transformation:_MakeHuman_Coordinate_System.2C_MakeHuman_Skeletons.2C_and_MakeHuman_Scales]
*Working with Rigs and Skeletons [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#Working_with_Rigs_and_Skeletons]
*MakeHuman Assets with transparency [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#MakeHuman_Assets_with_transparency]
==Illustrating the Export Process for Subsequent Import==
For the purposes of illustration we will take a straight forward MakeHuman character that has been given a skeleton, a pose, a skin material, clothing, eyes, eyelashes, eyebrows, hair, tongue and teeth. We will then export it for import into a number of popular downstream applications. For each application, our goal will be to get the character to look similar to its original look in MakeHuman. We will pay particular attention to the head and face because this is the area of greatest difficulty for dealing with transparency and shadows. The character has the default skeleton and has been set in the T-pose which is a common starting pose for animation-based work. The image we will be exporting looks like this in MakeHuman:
[[File:ImpExp-001.png]]
'''Figure 1.''' MakeHuman character as viewed from within MakeHuman prior to export.
In subsequent sections, we will discuss the steps needed to reproduce this look after importing into specific downstream programs.
==[[Moving Assets into Autodesk Maya]]==
[[Moving Assets into Autodesk Maya]]
This subsection describes the restoration and use of MakeHuman's transparency and skeletal assets after importing in Autodesk Maya.
*Introduction [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Introduction]
*Importing and Initial Setup [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Importing_and_Initial_Setup]
*Basic Repair of Eye Transparency [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Basic_Repair_of_Eye_Transparency]
*Repeat for other Transparent Assets [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Repeat_for_other_Transparent_Assets]
*Raytrace Shadows [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Raytrace_Shadows]
*Re-importing "Fixed MakeHuman Assets" from Maya after saving in FBX format [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Re-importing_Intermediate_FBX_files_from_Maya]
*Adopting MakeHuman Skeletons to Maya [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Adopting_MakeHuman_Skeletons_to_Maya]
<font color = 'red'>--------Skeleton subsection still to be written--------</font>
==[[Moving Assets into Autodesk 3DSMax]]==
[[Moving Assets into Autodesk 3DSMax]]
This subsection describes the restoration and use of MakeHuman's transparency and skeletal assets after importing in Autodesk 3DSMax.
*Units Considerations [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Units_Considerations]
*Importing FBX into 3DSMax [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Importing_FBX_into_3DSMax]
*Restoring Transparency for the Eyes [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Restoring_Transparency_for_the_Eyes]
*Fixing Transparency on the Other Assets [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Fixing_Transparency_on_the_Other_Assets]
*Repairing an Imported MakeHuman FBX file that was previously Exported after Fixing [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Repairing_an_Imported_MakeHuman_FBX_file_that_was_previously_Exported_after_Fixing]
*Importing MakeHuman Skeletons into 3DSMAX [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Importing_MakeHuman_Skeletons_into_3DSMAX]
==[[Moving Assets into Blender]]==
[[Moving Assets into Blender]]
This subsection describes the import of transparent assets after importing in Blender. The initial focus will be on using the Blender Internal Render engine. The use of Cycles render engine will be handled separately. The Blender tools (MakeClothes, MakeWalk, MakeTarget) for designing and working with MakeHuman internal assets are described elsewhere.
==Moving Assets into Unreal Engine 4==
==Moving Assets into Unity Game Engine==
The documentation for how to work with unity is available in [[Documentation:Saving_models_for_Unity_and_how_to_import_them_there|"Saving models for Unity and how to import them there"]].
==Moving Assets into Sketchup Pro==
==Preparing assets for use with Second Life==
==User contributed assets. Sharing your creations with the community==
You finally managed to model a cool piece of clothing or something else? You would like to share it with others? Great! A few words before you start loading up:
MakeHuman is available for more than one OS. Users live in different countries using different language settings. This has some consequences to think about before you upload your asset.
*Avoid non-ascii characters in your filenames. Depending on language settings some characters might lead to trouble. Stick to English in your file names and you're safe.
*Don't use spaces in file names. Today, on most platforms you can use file names like "My Asset.mhclo", but a lot of scripts won't be able to handle it. They consider the space after "My" as a delimiter and fail. Instead of "My Asset.mhclo" "My_Asset.mhclo" would be better.
*"My_Asset.mhclo" is still a bad filename. On Windows file names aren't case sensitive. On Linux they are. On Windows "My_Asset.mhclo", "my_asset.mhclo" and "My_Asset.MHCLO " all refer to the same file. On Linux they are three completely different files. You want your stuff to work on all platforms. Avoid uppercase letters. "my_asset.mhclo" is a good filename.
*These rules are true for all files that belong to your asset.
*Consider using the same base name for files belonging to your asset. For example, if you have a "my_asset.mhclo", it'd make sense to give a material belonging to it the name "my_asset.mhmat" rather than "some_other_random_name.mhmat".
*Use self-explanatory file names for your graphic files. For this example "my_asset_diffuse.png" would be a good idea for the diffuse texture. Don't use just "diffuse.png". If there's more than one asset using this lazy naming convention files will be overwritten on export.
*This one's obvious, but often forgotten: After renaming your files, open the .mhclo and .mhmat files and change the referenced file names to your new file names.
8fd545cdbc3b443af8ad10e7c852ea4cb1a416eb
1258
1257
2016-11-25T10:11:20Z
Joepal
14
/* Moving Assets into Unity Game Engine */
wikitext
text/x-wiki
== Summary ==
More often than not MakeHuman users will want to move their creation into another program to continue the creation process. This section provides information on how to achieve this for common target programs. The ''Background and Technical Consideratins'' section provides some background that are common to all workflows. It is not essential to read the introduction before going straight to the program of interest, but doing so might help you understand ''why'' certain steps work or are necessary. In many cases there can be more than one way to accomplish the same thing. The method described here may not be optimal for your situation, but it should help get you started.
==[[Background and Technical Considerations]]==
[[Background and Technical Considerations]]
This subsection will provide some general information on "trouble spots" when trying to take your MakeHuman work and use it in a downstream application. Many of the problems discussed are topics that always arise when moving assets between 3D programs.
*Introduction [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#Introduction]
*Format Considerations [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#Format_Considerations]
*MakeHuman Shader and Asset Rendering [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#MakeHuman_Shader_and_Asset_Rendering]
*Spatial transformation: MakeHuman Coordinate System, MakeHuman Skeletons, and MakeHuman Scales [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#Spatial_transformation:_MakeHuman_Coordinate_System.2C_MakeHuman_Skeletons.2C_and_MakeHuman_Scales]
*Working with Rigs and Skeletons [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#Working_with_Rigs_and_Skeletons]
*MakeHuman Assets with transparency [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#MakeHuman_Assets_with_transparency]
==Illustrating the Export Process for Subsequent Import==
For the purposes of illustration we will take a straight forward MakeHuman character that has been given a skeleton, a pose, a skin material, clothing, eyes, eyelashes, eyebrows, hair, tongue and teeth. We will then export it for import into a number of popular downstream applications. For each application, our goal will be to get the character to look similar to its original look in MakeHuman. We will pay particular attention to the head and face because this is the area of greatest difficulty for dealing with transparency and shadows. The character has the default skeleton and has been set in the T-pose which is a common starting pose for animation-based work. The image we will be exporting looks like this in MakeHuman:
[[File:ImpExp-001.png]]
'''Figure 1.''' MakeHuman character as viewed from within MakeHuman prior to export.
In subsequent sections, we will discuss the steps needed to reproduce this look after importing into specific downstream programs.
==[[Moving Assets into Autodesk Maya]]==
[[Moving Assets into Autodesk Maya]]
This subsection describes the restoration and use of MakeHuman's transparency and skeletal assets after importing in Autodesk Maya.
*Introduction [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Introduction]
*Importing and Initial Setup [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Importing_and_Initial_Setup]
*Basic Repair of Eye Transparency [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Basic_Repair_of_Eye_Transparency]
*Repeat for other Transparent Assets [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Repeat_for_other_Transparent_Assets]
*Raytrace Shadows [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Raytrace_Shadows]
*Re-importing "Fixed MakeHuman Assets" from Maya after saving in FBX format [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Re-importing_Intermediate_FBX_files_from_Maya]
*Adopting MakeHuman Skeletons to Maya [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Adopting_MakeHuman_Skeletons_to_Maya]
<font color = 'red'>--------Skeleton subsection still to be written--------</font>
==[[Moving Assets into Autodesk 3DSMax]]==
[[Moving Assets into Autodesk 3DSMax]]
This subsection describes the restoration and use of MakeHuman's transparency and skeletal assets after importing in Autodesk 3DSMax.
*Units Considerations [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Units_Considerations]
*Importing FBX into 3DSMax [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Importing_FBX_into_3DSMax]
*Restoring Transparency for the Eyes [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Restoring_Transparency_for_the_Eyes]
*Fixing Transparency on the Other Assets [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Fixing_Transparency_on_the_Other_Assets]
*Repairing an Imported MakeHuman FBX file that was previously Exported after Fixing [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Repairing_an_Imported_MakeHuman_FBX_file_that_was_previously_Exported_after_Fixing]
*Importing MakeHuman Skeletons into 3DSMAX [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Importing_MakeHuman_Skeletons_into_3DSMAX]
==[[Moving Assets into Blender]]==
[[Moving Assets into Blender]]
This subsection describes the import of transparent assets after importing in Blender. The initial focus will be on using the Blender Internal Render engine. The use of Cycles render engine will be handled separately. The Blender tools (MakeClothes, MakeWalk, MakeTarget) for designing and working with MakeHuman internal assets are described elsewhere.
==Moving Assets into Unreal Engine 4==
==Moving Assets into Unity Game Engine==
The documentation for how to work with unity is available in [[Documentation:Saving_models_for_Unity_and_how_to_import_them_there|"Saving models for Unity and how to import them there"]].
==Moving Assets into Google Sketchup==
==Preparing assets for use with Second Life==
==User contributed assets. Sharing your creations with the community==
You finally managed to model a cool piece of clothing or something else? You would like to share it with others? Great! A few words before you start loading up:
MakeHuman is available for more than one OS. Users live in different countries using different language settings. This has some consequences to think about before you upload your asset.
*Avoid non-ascii characters in your filenames. Depending on language settings some characters might lead to trouble. Stick to English in your file names and you're safe.
*Don't use spaces in file names. Today, on most platforms you can use file names like "My Asset.mhclo", but a lot of scripts won't be able to handle it. They consider the space after "My" as a delimiter and fail. Instead of "My Asset.mhclo" "My_Asset.mhclo" would be better.
*"My_Asset.mhclo" is still a bad filename. On Windows file names aren't case sensitive. On Linux they are. On Windows "My_Asset.mhclo", "my_asset.mhclo" and "My_Asset.MHCLO " all refer to the same file. On Linux they are three completely different files. You want your stuff to work on all platforms. Avoid uppercase letters. "my_asset.mhclo" is a good filename.
*These rules are true for all files that belong to your asset.
*Consider using the same base name for files belonging to your asset. For example, if you have a "my_asset.mhclo", it'd make sense to give a material belonging to it the name "my_asset.mhmat" rather than "some_other_random_name.mhmat".
*Use self-explanatory file names for your graphic files. For this example "my_asset_diffuse.png" would be a good idea for the diffuse texture. Don't use just "diffuse.png". If there's more than one asset using this lazy naming convention files will be overwritten on export.
*This one's obvious, but often forgotten: After renaming your files, open the .mhclo and .mhmat files and change the referenced file names to your new file names.
984a805aa3c93aaccec43a27f0014a26287c7130
1257
1129
2016-11-25T10:11:03Z
Joepal
14
/* Moving Assets into Unity Game Engine */
wikitext
text/x-wiki
== Summary ==
More often than not MakeHuman users will want to move their creation into another program to continue the creation process. This section provides information on how to achieve this for common target programs. The ''Background and Technical Consideratins'' section provides some background that are common to all workflows. It is not essential to read the introduction before going straight to the program of interest, but doing so might help you understand ''why'' certain steps work or are necessary. In many cases there can be more than one way to accomplish the same thing. The method described here may not be optimal for your situation, but it should help get you started.
==[[Background and Technical Considerations]]==
[[Background and Technical Considerations]]
This subsection will provide some general information on "trouble spots" when trying to take your MakeHuman work and use it in a downstream application. Many of the problems discussed are topics that always arise when moving assets between 3D programs.
*Introduction [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#Introduction]
*Format Considerations [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#Format_Considerations]
*MakeHuman Shader and Asset Rendering [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#MakeHuman_Shader_and_Asset_Rendering]
*Spatial transformation: MakeHuman Coordinate System, MakeHuman Skeletons, and MakeHuman Scales [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#Spatial_transformation:_MakeHuman_Coordinate_System.2C_MakeHuman_Skeletons.2C_and_MakeHuman_Scales]
*Working with Rigs and Skeletons [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#Working_with_Rigs_and_Skeletons]
*MakeHuman Assets with transparency [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#MakeHuman_Assets_with_transparency]
==Illustrating the Export Process for Subsequent Import==
For the purposes of illustration we will take a straight forward MakeHuman character that has been given a skeleton, a pose, a skin material, clothing, eyes, eyelashes, eyebrows, hair, tongue and teeth. We will then export it for import into a number of popular downstream applications. For each application, our goal will be to get the character to look similar to its original look in MakeHuman. We will pay particular attention to the head and face because this is the area of greatest difficulty for dealing with transparency and shadows. The character has the default skeleton and has been set in the T-pose which is a common starting pose for animation-based work. The image we will be exporting looks like this in MakeHuman:
[[File:ImpExp-001.png]]
'''Figure 1.''' MakeHuman character as viewed from within MakeHuman prior to export.
In subsequent sections, we will discuss the steps needed to reproduce this look after importing into specific downstream programs.
==[[Moving Assets into Autodesk Maya]]==
[[Moving Assets into Autodesk Maya]]
This subsection describes the restoration and use of MakeHuman's transparency and skeletal assets after importing in Autodesk Maya.
*Introduction [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Introduction]
*Importing and Initial Setup [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Importing_and_Initial_Setup]
*Basic Repair of Eye Transparency [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Basic_Repair_of_Eye_Transparency]
*Repeat for other Transparent Assets [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Repeat_for_other_Transparent_Assets]
*Raytrace Shadows [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Raytrace_Shadows]
*Re-importing "Fixed MakeHuman Assets" from Maya after saving in FBX format [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Re-importing_Intermediate_FBX_files_from_Maya]
*Adopting MakeHuman Skeletons to Maya [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Adopting_MakeHuman_Skeletons_to_Maya]
<font color = 'red'>--------Skeleton subsection still to be written--------</font>
==[[Moving Assets into Autodesk 3DSMax]]==
[[Moving Assets into Autodesk 3DSMax]]
This subsection describes the restoration and use of MakeHuman's transparency and skeletal assets after importing in Autodesk 3DSMax.
*Units Considerations [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Units_Considerations]
*Importing FBX into 3DSMax [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Importing_FBX_into_3DSMax]
*Restoring Transparency for the Eyes [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Restoring_Transparency_for_the_Eyes]
*Fixing Transparency on the Other Assets [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Fixing_Transparency_on_the_Other_Assets]
*Repairing an Imported MakeHuman FBX file that was previously Exported after Fixing [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Repairing_an_Imported_MakeHuman_FBX_file_that_was_previously_Exported_after_Fixing]
*Importing MakeHuman Skeletons into 3DSMAX [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Importing_MakeHuman_Skeletons_into_3DSMAX]
==[[Moving Assets into Blender]]==
[[Moving Assets into Blender]]
This subsection describes the import of transparent assets after importing in Blender. The initial focus will be on using the Blender Internal Render engine. The use of Cycles render engine will be handled separately. The Blender tools (MakeClothes, MakeWalk, MakeTarget) for designing and working with MakeHuman internal assets are described elsewhere.
==Moving Assets into Unreal Engine 4==
==Moving Assets into Unity Game Engine==
The documentation for how to work with unity is available in [[Documentation:Saving_models_for_Unity_and_how_to_import_them_there|"Saving_models for Unity and how to import them there"]].
==Moving Assets into Google Sketchup==
==Preparing assets for use with Second Life==
==User contributed assets. Sharing your creations with the community==
You finally managed to model a cool piece of clothing or something else? You would like to share it with others? Great! A few words before you start loading up:
MakeHuman is available for more than one OS. Users live in different countries using different language settings. This has some consequences to think about before you upload your asset.
*Avoid non-ascii characters in your filenames. Depending on language settings some characters might lead to trouble. Stick to English in your file names and you're safe.
*Don't use spaces in file names. Today, on most platforms you can use file names like "My Asset.mhclo", but a lot of scripts won't be able to handle it. They consider the space after "My" as a delimiter and fail. Instead of "My Asset.mhclo" "My_Asset.mhclo" would be better.
*"My_Asset.mhclo" is still a bad filename. On Windows file names aren't case sensitive. On Linux they are. On Windows "My_Asset.mhclo", "my_asset.mhclo" and "My_Asset.MHCLO " all refer to the same file. On Linux they are three completely different files. You want your stuff to work on all platforms. Avoid uppercase letters. "my_asset.mhclo" is a good filename.
*These rules are true for all files that belong to your asset.
*Consider using the same base name for files belonging to your asset. For example, if you have a "my_asset.mhclo", it'd make sense to give a material belonging to it the name "my_asset.mhmat" rather than "some_other_random_name.mhmat".
*Use self-explanatory file names for your graphic files. For this example "my_asset_diffuse.png" would be a good idea for the diffuse texture. Don't use just "diffuse.png". If there's more than one asset using this lazy naming convention files will be overwritten on export.
*This one's obvious, but often forgotten: After renaming your files, open the .mhclo and .mhmat files and change the referenced file names to your new file names.
bb83b0e2c6fa62689528c74bfc35311c10d97d4d
1129
1128
2016-07-20T18:40:09Z
Joepal
14
/* User contributed assets. Sharing your creations with the community */
wikitext
text/x-wiki
== Summary ==
More often than not MakeHuman users will want to move their creation into another program to continue the creation process. This section provides information on how to achieve this for common target programs. The ''Background and Technical Consideratins'' section provides some background that are common to all workflows. It is not essential to read the introduction before going straight to the program of interest, but doing so might help you understand ''why'' certain steps work or are necessary. In many cases there can be more than one way to accomplish the same thing. The method described here may not be optimal for your situation, but it should help get you started.
==[[Background and Technical Considerations]]==
[[Background and Technical Considerations]]
This subsection will provide some general information on "trouble spots" when trying to take your MakeHuman work and use it in a downstream application. Many of the problems discussed are topics that always arise when moving assets between 3D programs.
*Introduction [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#Introduction]
*Format Considerations [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#Format_Considerations]
*MakeHuman Shader and Asset Rendering [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#MakeHuman_Shader_and_Asset_Rendering]
*Spatial transformation: MakeHuman Coordinate System, MakeHuman Skeletons, and MakeHuman Scales [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#Spatial_transformation:_MakeHuman_Coordinate_System.2C_MakeHuman_Skeletons.2C_and_MakeHuman_Scales]
*Working with Rigs and Skeletons [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#Working_with_Rigs_and_Skeletons]
*MakeHuman Assets with transparency [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#MakeHuman_Assets_with_transparency]
==Illustrating the Export Process for Subsequent Import==
For the purposes of illustration we will take a straight forward MakeHuman character that has been given a skeleton, a pose, a skin material, clothing, eyes, eyelashes, eyebrows, hair, tongue and teeth. We will then export it for import into a number of popular downstream applications. For each application, our goal will be to get the character to look similar to its original look in MakeHuman. We will pay particular attention to the head and face because this is the area of greatest difficulty for dealing with transparency and shadows. The character has the default skeleton and has been set in the T-pose which is a common starting pose for animation-based work. The image we will be exporting looks like this in MakeHuman:
[[File:ImpExp-001.png]]
'''Figure 1.''' MakeHuman character as viewed from within MakeHuman prior to export.
In subsequent sections, we will discuss the steps needed to reproduce this look after importing into specific downstream programs.
==[[Moving Assets into Autodesk Maya]]==
[[Moving Assets into Autodesk Maya]]
This subsection describes the restoration and use of MakeHuman's transparency and skeletal assets after importing in Autodesk Maya.
*Introduction [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Introduction]
*Importing and Initial Setup [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Importing_and_Initial_Setup]
*Basic Repair of Eye Transparency [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Basic_Repair_of_Eye_Transparency]
*Repeat for other Transparent Assets [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Repeat_for_other_Transparent_Assets]
*Raytrace Shadows [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Raytrace_Shadows]
*Re-importing "Fixed MakeHuman Assets" from Maya after saving in FBX format [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Re-importing_Intermediate_FBX_files_from_Maya]
*Adopting MakeHuman Skeletons to Maya [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Adopting_MakeHuman_Skeletons_to_Maya]
<font color = 'red'>--------Skeleton subsection still to be written--------</font>
==[[Moving Assets into Autodesk 3DSMax]]==
[[Moving Assets into Autodesk 3DSMax]]
This subsection describes the restoration and use of MakeHuman's transparency and skeletal assets after importing in Autodesk 3DSMax.
*Units Considerations [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Units_Considerations]
*Importing FBX into 3DSMax [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Importing_FBX_into_3DSMax]
*Restoring Transparency for the Eyes [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Restoring_Transparency_for_the_Eyes]
*Fixing Transparency on the Other Assets [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Fixing_Transparency_on_the_Other_Assets]
*Repairing an Imported MakeHuman FBX file that was previously Exported after Fixing [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Repairing_an_Imported_MakeHuman_FBX_file_that_was_previously_Exported_after_Fixing]
*Importing MakeHuman Skeletons into 3DSMAX [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Importing_MakeHuman_Skeletons_into_3DSMAX]
==[[Moving Assets into Blender]]==
[[Moving Assets into Blender]]
This subsection describes the import of transparent assets after importing in Blender. The initial focus will be on using the Blender Internal Render engine. The use of Cycles render engine will be handled separately. The Blender tools (MakeClothes, MakeWalk, MakeTarget) for designing and working with MakeHuman internal assets are described elsewhere.
==Moving Assets into Unreal Engine 4==
==Moving Assets into Unity Game Engine==
==Moving Assets into Google Sketchup==
==Preparing assets for use with Second Life==
==User contributed assets. Sharing your creations with the community==
You finally managed to model a cool piece of clothing or something else? You would like to share it with others? Great! A few words before you start loading up:
MakeHuman is available for more than one OS. Users live in different countries using different language settings. This has some consequences to think about before you upload your asset.
*Avoid non-ascii characters in your filenames. Depending on language settings some characters might lead to trouble. Stick to English in your file names and you're safe.
*Don't use spaces in file names. Today, on most platforms you can use file names like "My Asset.mhclo", but a lot of scripts won't be able to handle it. They consider the space after "My" as a delimiter and fail. Instead of "My Asset.mhclo" "My_Asset.mhclo" would be better.
*"My_Asset.mhclo" is still a bad filename. On Windows file names aren't case sensitive. On Linux they are. On Windows "My_Asset.mhclo", "my_asset.mhclo" and "My_Asset.MHCLO " all refer to the same file. On Linux they are three completely different files. You want your stuff to work on all platforms. Avoid uppercase letters. "my_asset.mhclo" is a good filename.
*These rules are true for all files that belong to your asset.
*Consider using the same base name for files belonging to your asset. For example, if you have a "my_asset.mhclo", it'd make sense to give a material belonging to it the name "my_asset.mhmat" rather than "some_other_random_name.mhmat".
*Use self-explanatory file names for your graphic files. For this example "my_asset_diffuse.png" would be a good idea for the diffuse texture. Don't use just "diffuse.png". If there's more than one asset using this lazy naming convention files will be overwritten on export.
*This one's obvious, but often forgotten: After renaming your files, open the .mhclo and .mhmat files and change the referenced file names to your new file names.
01906dc89c1fc79829fa0a891eeb7d530a9ca66c
1128
350
2016-07-20T16:25:42Z
Wolgade
26
wikitext
text/x-wiki
== Summary ==
More often than not MakeHuman users will want to move their creation into another program to continue the creation process. This section provides information on how to achieve this for common target programs. The ''Background and Technical Consideratins'' section provides some background that are common to all workflows. It is not essential to read the introduction before going straight to the program of interest, but doing so might help you understand ''why'' certain steps work or are necessary. In many cases there can be more than one way to accomplish the same thing. The method described here may not be optimal for your situation, but it should help get you started.
==[[Background and Technical Considerations]]==
[[Background and Technical Considerations]]
This subsection will provide some general information on "trouble spots" when trying to take your MakeHuman work and use it in a downstream application. Many of the problems discussed are topics that always arise when moving assets between 3D programs.
*Introduction [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#Introduction]
*Format Considerations [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#Format_Considerations]
*MakeHuman Shader and Asset Rendering [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#MakeHuman_Shader_and_Asset_Rendering]
*Spatial transformation: MakeHuman Coordinate System, MakeHuman Skeletons, and MakeHuman Scales [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#Spatial_transformation:_MakeHuman_Coordinate_System.2C_MakeHuman_Skeletons.2C_and_MakeHuman_Scales]
*Working with Rigs and Skeletons [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#Working_with_Rigs_and_Skeletons]
*MakeHuman Assets with transparency [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#MakeHuman_Assets_with_transparency]
==Illustrating the Export Process for Subsequent Import==
For the purposes of illustration we will take a straight forward MakeHuman character that has been given a skeleton, a pose, a skin material, clothing, eyes, eyelashes, eyebrows, hair, tongue and teeth. We will then export it for import into a number of popular downstream applications. For each application, our goal will be to get the character to look similar to its original look in MakeHuman. We will pay particular attention to the head and face because this is the area of greatest difficulty for dealing with transparency and shadows. The character has the default skeleton and has been set in the T-pose which is a common starting pose for animation-based work. The image we will be exporting looks like this in MakeHuman:
[[File:ImpExp-001.png]]
'''Figure 1.''' MakeHuman character as viewed from within MakeHuman prior to export.
In subsequent sections, we will discuss the steps needed to reproduce this look after importing into specific downstream programs.
==[[Moving Assets into Autodesk Maya]]==
[[Moving Assets into Autodesk Maya]]
This subsection describes the restoration and use of MakeHuman's transparency and skeletal assets after importing in Autodesk Maya.
*Introduction [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Introduction]
*Importing and Initial Setup [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Importing_and_Initial_Setup]
*Basic Repair of Eye Transparency [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Basic_Repair_of_Eye_Transparency]
*Repeat for other Transparent Assets [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Repeat_for_other_Transparent_Assets]
*Raytrace Shadows [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Raytrace_Shadows]
*Re-importing "Fixed MakeHuman Assets" from Maya after saving in FBX format [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Re-importing_Intermediate_FBX_files_from_Maya]
*Adopting MakeHuman Skeletons to Maya [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Adopting_MakeHuman_Skeletons_to_Maya]
<font color = 'red'>--------Skeleton subsection still to be written--------</font>
==[[Moving Assets into Autodesk 3DSMax]]==
[[Moving Assets into Autodesk 3DSMax]]
This subsection describes the restoration and use of MakeHuman's transparency and skeletal assets after importing in Autodesk 3DSMax.
*Units Considerations [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Units_Considerations]
*Importing FBX into 3DSMax [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Importing_FBX_into_3DSMax]
*Restoring Transparency for the Eyes [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Restoring_Transparency_for_the_Eyes]
*Fixing Transparency on the Other Assets [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Fixing_Transparency_on_the_Other_Assets]
*Repairing an Imported MakeHuman FBX file that was previously Exported after Fixing [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Repairing_an_Imported_MakeHuman_FBX_file_that_was_previously_Exported_after_Fixing]
*Importing MakeHuman Skeletons into 3DSMAX [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Importing_MakeHuman_Skeletons_into_3DSMAX]
==[[Moving Assets into Blender]]==
[[Moving Assets into Blender]]
This subsection describes the import of transparent assets after importing in Blender. The initial focus will be on using the Blender Internal Render engine. The use of Cycles render engine will be handled separately. The Blender tools (MakeClothes, MakeWalk, MakeTarget) for designing and working with MakeHuman internal assets are described elsewhere.
==Moving Assets into Unreal Engine 4==
==Moving Assets into Unity Game Engine==
==Moving Assets into Google Sketchup==
==Preparing assets for use with Second Life==
==User contributed assets. Sharing your creations with the community==
You finally managed to model a cool piece of clothing or something else? You would like to share it with others? Great! A few words before you start loading up:
MakeHuman is available for more than one OS. Users live in different countries using different language settings. This has some consequences to think about before you upload your asset.
*Avoid non-ascii characters in your filenames. Depending on language settings some characters might lead to trouble. Stick to English in your file names and you're safe.
*Don't use spaces in file names. Today, on most platforms you can use file names like "My Asset.mhclo", but a lot of scripts won't be able to handle it. They consider the space after "My" as a delimiter and fail. Instead of "My Asset.mhclo" "My_Asset.mhclo" would be better.
*"My_Asset.mhclo" is still a bad filename. On Windows file names aren't case sensitive. On Linux they are. On Windows "My_Asset.mhclo", "my_asset.mhclo" and "My_Asset.MHCLO " all refer to the same file. On Linux they are three completely different files. You want your stuff to work on all platforms. Avoid uppercase letters. "my_asset.mhclo" is a good filename.
*These rules are true for all files that belong to your asset.
*Use self-explanatory file names for your graphic files. For this example "my_asset_diffuse.png" would be a good idea for the diffuse texture. Don't use just "diffuse.png". If there's more than one asset using this lazy naming convention files will be overwritten on export.
*This one's obvious, but often forgotten: After renaming your files, open the .mhclo and .mhmat files and change the referenced file names to your new file names.
d627e6969bc8f7b61b6264324bdba9d41e8b0882
350
349
2015-08-02T21:21:24Z
Robbaer
12
/* Moving Assets into Blender */
wikitext
text/x-wiki
== Summary ==
More often than not MakeHuman users will want to move their creation into another program to continue the creation process. This section provides information on how to achieve this for common target programs. The ''Background and Technical Consideratins'' section provides some background that are common to all workflows. It is not essential to read the introduction before going straight to the program of interest, but doing so might help you understand ''why'' certain steps work or are necessary. In many cases there can be more than one way to accomplish the same thing. The method described here may not be optimal for your situation, but it should help get you started.
==[[Background and Technical Considerations]]==
[[Background and Technical Considerations]]
This subsection will provide some general information on "trouble spots" when trying to take your MakeHuman work and use it in a downstream application. Many of the problems discussed are topics that always arise when moving assets between 3D programs.
*Introduction [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#Introduction]
*Format Considerations [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#Format_Considerations]
*MakeHuman Shader and Asset Rendering [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#MakeHuman_Shader_and_Asset_Rendering]
*Spatial transformation: MakeHuman Coordinate System, MakeHuman Skeletons, and MakeHuman Scales [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#Spatial_transformation:_MakeHuman_Coordinate_System.2C_MakeHuman_Skeletons.2C_and_MakeHuman_Scales]
*Working with Rigs and Skeletons [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#Working_with_Rigs_and_Skeletons]
*MakeHuman Assets with transparency [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#MakeHuman_Assets_with_transparency]
==Illustrating the Export Process for Subsequent Import==
For the purposes of illustration we will take a straight forward MakeHuman character that has been given a skeleton, a pose, a skin material, clothing, eyes, eyelashes, eyebrows, hair, tongue and teeth. We will then export it for import into a number of popular downstream applications. For each application, our goal will be to get the character to look similar to its original look in MakeHuman. We will pay particular attention to the head and face because this is the area of greatest difficulty for dealing with transparency and shadows. The character has the default skeleton and has been set in the T-pose which is a common starting pose for animation-based work. The image we will be exporting looks like this in MakeHuman:
[[File:ImpExp-001.png]]
'''Figure 1.''' MakeHuman character as viewed from within MakeHuman prior to export.
In subsequent sections, we will discuss the steps needed to reproduce this look after importing into specific downstream programs.
==[[Moving Assets into Autodesk Maya]]==
[[Moving Assets into Autodesk Maya]]
This subsection describes the restoration and use of MakeHuman's transparency and skeletal assets after importing in Autodesk Maya.
*Introduction [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Introduction]
*Importing and Initial Setup [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Importing_and_Initial_Setup]
*Basic Repair of Eye Transparency [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Basic_Repair_of_Eye_Transparency]
*Repeat for other Transparent Assets [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Repeat_for_other_Transparent_Assets]
*Raytrace Shadows [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Raytrace_Shadows]
*Re-importing "Fixed MakeHuman Assets" from Maya after saving in FBX format [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Re-importing_Intermediate_FBX_files_from_Maya]
*Adopting MakeHuman Skeletons to Maya [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Adopting_MakeHuman_Skeletons_to_Maya]
<font color = 'red'>--------Skeleton subsection still to be written--------</font>
==[[Moving Assets into Autodesk 3DSMax]]==
[[Moving Assets into Autodesk 3DSMax]]
This subsection describes the restoration and use of MakeHuman's transparency and skeletal assets after importing in Autodesk 3DSMax.
*Units Considerations [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Units_Considerations]
*Importing FBX into 3DSMax [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Importing_FBX_into_3DSMax]
*Restoring Transparency for the Eyes [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Restoring_Transparency_for_the_Eyes]
*Fixing Transparency on the Other Assets [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Fixing_Transparency_on_the_Other_Assets]
*Repairing an Imported MakeHuman FBX file that was previously Exported after Fixing [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Repairing_an_Imported_MakeHuman_FBX_file_that_was_previously_Exported_after_Fixing]
*Importing MakeHuman Skeletons into 3DSMAX [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Importing_MakeHuman_Skeletons_into_3DSMAX]
==[[Moving Assets into Blender]]==
[[Moving Assets into Blender]]
This subsection describes the import of transparent assets after importing in Blender. The initial focus will be on using the Blender Internal Render engine. The use of Cycles render engine will be handled separately. The Blender tools (MakeClothes, MakeWalk, MakeTarget) for designing and working with MakeHuman internal assets are described elsewhere.
==Moving Assets into Unreal Engine 4==
==Moving Assets into Unity Game Engine==
==Moving Assets into Google Sketchup==
==Preparing assets for use with Second Life==
bd5d5cbc9f79d62ade9fd2a7524bb16ec5e8e666
349
348
2015-08-02T21:17:16Z
Robbaer
12
/* Moving Assets into Blender */
wikitext
text/x-wiki
== Summary ==
More often than not MakeHuman users will want to move their creation into another program to continue the creation process. This section provides information on how to achieve this for common target programs. The ''Background and Technical Consideratins'' section provides some background that are common to all workflows. It is not essential to read the introduction before going straight to the program of interest, but doing so might help you understand ''why'' certain steps work or are necessary. In many cases there can be more than one way to accomplish the same thing. The method described here may not be optimal for your situation, but it should help get you started.
==[[Background and Technical Considerations]]==
[[Background and Technical Considerations]]
This subsection will provide some general information on "trouble spots" when trying to take your MakeHuman work and use it in a downstream application. Many of the problems discussed are topics that always arise when moving assets between 3D programs.
*Introduction [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#Introduction]
*Format Considerations [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#Format_Considerations]
*MakeHuman Shader and Asset Rendering [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#MakeHuman_Shader_and_Asset_Rendering]
*Spatial transformation: MakeHuman Coordinate System, MakeHuman Skeletons, and MakeHuman Scales [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#Spatial_transformation:_MakeHuman_Coordinate_System.2C_MakeHuman_Skeletons.2C_and_MakeHuman_Scales]
*Working with Rigs and Skeletons [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#Working_with_Rigs_and_Skeletons]
*MakeHuman Assets with transparency [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#MakeHuman_Assets_with_transparency]
==Illustrating the Export Process for Subsequent Import==
For the purposes of illustration we will take a straight forward MakeHuman character that has been given a skeleton, a pose, a skin material, clothing, eyes, eyelashes, eyebrows, hair, tongue and teeth. We will then export it for import into a number of popular downstream applications. For each application, our goal will be to get the character to look similar to its original look in MakeHuman. We will pay particular attention to the head and face because this is the area of greatest difficulty for dealing with transparency and shadows. The character has the default skeleton and has been set in the T-pose which is a common starting pose for animation-based work. The image we will be exporting looks like this in MakeHuman:
[[File:ImpExp-001.png]]
'''Figure 1.''' MakeHuman character as viewed from within MakeHuman prior to export.
In subsequent sections, we will discuss the steps needed to reproduce this look after importing into specific downstream programs.
==[[Moving Assets into Autodesk Maya]]==
[[Moving Assets into Autodesk Maya]]
This subsection describes the restoration and use of MakeHuman's transparency and skeletal assets after importing in Autodesk Maya.
*Introduction [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Introduction]
*Importing and Initial Setup [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Importing_and_Initial_Setup]
*Basic Repair of Eye Transparency [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Basic_Repair_of_Eye_Transparency]
*Repeat for other Transparent Assets [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Repeat_for_other_Transparent_Assets]
*Raytrace Shadows [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Raytrace_Shadows]
*Re-importing "Fixed MakeHuman Assets" from Maya after saving in FBX format [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Re-importing_Intermediate_FBX_files_from_Maya]
*Adopting MakeHuman Skeletons to Maya [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Adopting_MakeHuman_Skeletons_to_Maya]
<font color = 'red'>--------Skeleton subsection still to be written--------</font>
==[[Moving Assets into Autodesk 3DSMax]]==
[[Moving Assets into Autodesk 3DSMax]]
This subsection describes the restoration and use of MakeHuman's transparency and skeletal assets after importing in Autodesk 3DSMax.
*Units Considerations [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Units_Considerations]
*Importing FBX into 3DSMax [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Importing_FBX_into_3DSMax]
*Restoring Transparency for the Eyes [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Restoring_Transparency_for_the_Eyes]
*Fixing Transparency on the Other Assets [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Fixing_Transparency_on_the_Other_Assets]
*Repairing an Imported MakeHuman FBX file that was previously Exported after Fixing [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Repairing_an_Imported_MakeHuman_FBX_file_that_was_previously_Exported_after_Fixing]
*Importing MakeHuman Skeletons into 3DSMAX [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Importing_MakeHuman_Skeletons_into_3DSMAX]
==[[Moving Assets into Blender]]==
[[Moving Assets into Blender]]
This subsection describes the restoration and use of MakeHuman's transparency and skeletal assets after importing in Blender. The initial focus will be on using the Blender Internal Render engine. The use of Cycles render engine will be handled separately.
==Moving Assets into Unreal Engine 4==
==Moving Assets into Unity Game Engine==
==Moving Assets into Google Sketchup==
==Preparing assets for use with Second Life==
c2210e784134cd7012084b695465bc9dac336856
348
347
2015-08-02T21:13:17Z
Robbaer
12
/* Moving Assets into Blender */
wikitext
text/x-wiki
== Summary ==
More often than not MakeHuman users will want to move their creation into another program to continue the creation process. This section provides information on how to achieve this for common target programs. The ''Background and Technical Consideratins'' section provides some background that are common to all workflows. It is not essential to read the introduction before going straight to the program of interest, but doing so might help you understand ''why'' certain steps work or are necessary. In many cases there can be more than one way to accomplish the same thing. The method described here may not be optimal for your situation, but it should help get you started.
==[[Background and Technical Considerations]]==
[[Background and Technical Considerations]]
This subsection will provide some general information on "trouble spots" when trying to take your MakeHuman work and use it in a downstream application. Many of the problems discussed are topics that always arise when moving assets between 3D programs.
*Introduction [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#Introduction]
*Format Considerations [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#Format_Considerations]
*MakeHuman Shader and Asset Rendering [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#MakeHuman_Shader_and_Asset_Rendering]
*Spatial transformation: MakeHuman Coordinate System, MakeHuman Skeletons, and MakeHuman Scales [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#Spatial_transformation:_MakeHuman_Coordinate_System.2C_MakeHuman_Skeletons.2C_and_MakeHuman_Scales]
*Working with Rigs and Skeletons [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#Working_with_Rigs_and_Skeletons]
*MakeHuman Assets with transparency [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#MakeHuman_Assets_with_transparency]
==Illustrating the Export Process for Subsequent Import==
For the purposes of illustration we will take a straight forward MakeHuman character that has been given a skeleton, a pose, a skin material, clothing, eyes, eyelashes, eyebrows, hair, tongue and teeth. We will then export it for import into a number of popular downstream applications. For each application, our goal will be to get the character to look similar to its original look in MakeHuman. We will pay particular attention to the head and face because this is the area of greatest difficulty for dealing with transparency and shadows. The character has the default skeleton and has been set in the T-pose which is a common starting pose for animation-based work. The image we will be exporting looks like this in MakeHuman:
[[File:ImpExp-001.png]]
'''Figure 1.''' MakeHuman character as viewed from within MakeHuman prior to export.
In subsequent sections, we will discuss the steps needed to reproduce this look after importing into specific downstream programs.
==[[Moving Assets into Autodesk Maya]]==
[[Moving Assets into Autodesk Maya]]
This subsection describes the restoration and use of MakeHuman's transparency and skeletal assets after importing in Autodesk Maya.
*Introduction [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Introduction]
*Importing and Initial Setup [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Importing_and_Initial_Setup]
*Basic Repair of Eye Transparency [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Basic_Repair_of_Eye_Transparency]
*Repeat for other Transparent Assets [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Repeat_for_other_Transparent_Assets]
*Raytrace Shadows [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Raytrace_Shadows]
*Re-importing "Fixed MakeHuman Assets" from Maya after saving in FBX format [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Re-importing_Intermediate_FBX_files_from_Maya]
*Adopting MakeHuman Skeletons to Maya [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Adopting_MakeHuman_Skeletons_to_Maya]
<font color = 'red'>--------Skeleton subsection still to be written--------</font>
==[[Moving Assets into Autodesk 3DSMax]]==
[[Moving Assets into Autodesk 3DSMax]]
This subsection describes the restoration and use of MakeHuman's transparency and skeletal assets after importing in Autodesk 3DSMax.
*Units Considerations [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Units_Considerations]
*Importing FBX into 3DSMax [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Importing_FBX_into_3DSMax]
*Restoring Transparency for the Eyes [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Restoring_Transparency_for_the_Eyes]
*Fixing Transparency on the Other Assets [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Fixing_Transparency_on_the_Other_Assets]
*Repairing an Imported MakeHuman FBX file that was previously Exported after Fixing [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Repairing_an_Imported_MakeHuman_FBX_file_that_was_previously_Exported_after_Fixing]
*Importing MakeHuman Skeletons into 3DSMAX [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Importing_MakeHuman_Skeletons_into_3DSMAX]
==[[Moving Assets into Blender]]==
[[Moving Assets into Blender]]
This subsection will describe the
==Moving Assets into Unreal Engine 4==
==Moving Assets into Unity Game Engine==
==Moving Assets into Google Sketchup==
==Preparing assets for use with Second Life==
23361173e50ba3d437ca6c2e1209ddd960082fa4
347
346
2015-08-02T21:12:10Z
Robbaer
12
/* Background and Technical Considerations */
wikitext
text/x-wiki
== Summary ==
More often than not MakeHuman users will want to move their creation into another program to continue the creation process. This section provides information on how to achieve this for common target programs. The ''Background and Technical Consideratins'' section provides some background that are common to all workflows. It is not essential to read the introduction before going straight to the program of interest, but doing so might help you understand ''why'' certain steps work or are necessary. In many cases there can be more than one way to accomplish the same thing. The method described here may not be optimal for your situation, but it should help get you started.
==[[Background and Technical Considerations]]==
[[Background and Technical Considerations]]
This subsection will provide some general information on "trouble spots" when trying to take your MakeHuman work and use it in a downstream application. Many of the problems discussed are topics that always arise when moving assets between 3D programs.
*Introduction [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#Introduction]
*Format Considerations [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#Format_Considerations]
*MakeHuman Shader and Asset Rendering [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#MakeHuman_Shader_and_Asset_Rendering]
*Spatial transformation: MakeHuman Coordinate System, MakeHuman Skeletons, and MakeHuman Scales [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#Spatial_transformation:_MakeHuman_Coordinate_System.2C_MakeHuman_Skeletons.2C_and_MakeHuman_Scales]
*Working with Rigs and Skeletons [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#Working_with_Rigs_and_Skeletons]
*MakeHuman Assets with transparency [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#MakeHuman_Assets_with_transparency]
==Illustrating the Export Process for Subsequent Import==
For the purposes of illustration we will take a straight forward MakeHuman character that has been given a skeleton, a pose, a skin material, clothing, eyes, eyelashes, eyebrows, hair, tongue and teeth. We will then export it for import into a number of popular downstream applications. For each application, our goal will be to get the character to look similar to its original look in MakeHuman. We will pay particular attention to the head and face because this is the area of greatest difficulty for dealing with transparency and shadows. The character has the default skeleton and has been set in the T-pose which is a common starting pose for animation-based work. The image we will be exporting looks like this in MakeHuman:
[[File:ImpExp-001.png]]
'''Figure 1.''' MakeHuman character as viewed from within MakeHuman prior to export.
In subsequent sections, we will discuss the steps needed to reproduce this look after importing into specific downstream programs.
==[[Moving Assets into Autodesk Maya]]==
[[Moving Assets into Autodesk Maya]]
This subsection describes the restoration and use of MakeHuman's transparency and skeletal assets after importing in Autodesk Maya.
*Introduction [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Introduction]
*Importing and Initial Setup [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Importing_and_Initial_Setup]
*Basic Repair of Eye Transparency [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Basic_Repair_of_Eye_Transparency]
*Repeat for other Transparent Assets [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Repeat_for_other_Transparent_Assets]
*Raytrace Shadows [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Raytrace_Shadows]
*Re-importing "Fixed MakeHuman Assets" from Maya after saving in FBX format [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Re-importing_Intermediate_FBX_files_from_Maya]
*Adopting MakeHuman Skeletons to Maya [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Adopting_MakeHuman_Skeletons_to_Maya]
<font color = 'red'>--------Skeleton subsection still to be written--------</font>
==[[Moving Assets into Autodesk 3DSMax]]==
[[Moving Assets into Autodesk 3DSMax]]
This subsection describes the restoration and use of MakeHuman's transparency and skeletal assets after importing in Autodesk 3DSMax.
*Units Considerations [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Units_Considerations]
*Importing FBX into 3DSMax [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Importing_FBX_into_3DSMax]
*Restoring Transparency for the Eyes [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Restoring_Transparency_for_the_Eyes]
*Fixing Transparency on the Other Assets [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Fixing_Transparency_on_the_Other_Assets]
*Repairing an Imported MakeHuman FBX file that was previously Exported after Fixing [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Repairing_an_Imported_MakeHuman_FBX_file_that_was_previously_Exported_after_Fixing]
*Importing MakeHuman Skeletons into 3DSMAX [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Importing_MakeHuman_Skeletons_into_3DSMAX]
==[[Moving Assets into Blender]]==
==Moving Assets into Unreal Engine 4==
==Moving Assets into Unity Game Engine==
==Moving Assets into Google Sketchup==
==Preparing assets for use with Second Life==
5a83f909bd7ed589bd6dc577fa230a61a8ebad4a
346
345
2015-08-02T21:11:19Z
Robbaer
12
/* Background and Technical Considerations */
wikitext
text/x-wiki
== Summary ==
More often than not MakeHuman users will want to move their creation into another program to continue the creation process. This section provides information on how to achieve this for common target programs. The ''Background and Technical Consideratins'' section provides some background that are common to all workflows. It is not essential to read the introduction before going straight to the program of interest, but doing so might help you understand ''why'' certain steps work or are necessary. In many cases there can be more than one way to accomplish the same thing. The method described here may not be optimal for your situation, but it should help get you started.
==[[Background and Technical Considerations]]==
[[Background and Technical Considerations]]
This subsection will provide some general information on "trouble spots" when trying to take your MakeHuman work and use it in a downstream application. Many of the problems discussed are topics that always arise when moving assets between any 3D programs.
*Introduction [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#Introduction]
*Format Considerations [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#Format_Considerations]
*MakeHuman Shader and Asset Rendering [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#MakeHuman_Shader_and_Asset_Rendering]
*Spatial transformation: MakeHuman Coordinate System, MakeHuman Skeletons, and MakeHuman Scales [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#Spatial_transformation:_MakeHuman_Coordinate_System.2C_MakeHuman_Skeletons.2C_and_MakeHuman_Scales]
*Working with Rigs and Skeletons [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#Working_with_Rigs_and_Skeletons]
*MakeHuman Assets with transparency [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#MakeHuman_Assets_with_transparency]
==Illustrating the Export Process for Subsequent Import==
For the purposes of illustration we will take a straight forward MakeHuman character that has been given a skeleton, a pose, a skin material, clothing, eyes, eyelashes, eyebrows, hair, tongue and teeth. We will then export it for import into a number of popular downstream applications. For each application, our goal will be to get the character to look similar to its original look in MakeHuman. We will pay particular attention to the head and face because this is the area of greatest difficulty for dealing with transparency and shadows. The character has the default skeleton and has been set in the T-pose which is a common starting pose for animation-based work. The image we will be exporting looks like this in MakeHuman:
[[File:ImpExp-001.png]]
'''Figure 1.''' MakeHuman character as viewed from within MakeHuman prior to export.
In subsequent sections, we will discuss the steps needed to reproduce this look after importing into specific downstream programs.
==[[Moving Assets into Autodesk Maya]]==
[[Moving Assets into Autodesk Maya]]
This subsection describes the restoration and use of MakeHuman's transparency and skeletal assets after importing in Autodesk Maya.
*Introduction [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Introduction]
*Importing and Initial Setup [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Importing_and_Initial_Setup]
*Basic Repair of Eye Transparency [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Basic_Repair_of_Eye_Transparency]
*Repeat for other Transparent Assets [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Repeat_for_other_Transparent_Assets]
*Raytrace Shadows [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Raytrace_Shadows]
*Re-importing "Fixed MakeHuman Assets" from Maya after saving in FBX format [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Re-importing_Intermediate_FBX_files_from_Maya]
*Adopting MakeHuman Skeletons to Maya [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Adopting_MakeHuman_Skeletons_to_Maya]
<font color = 'red'>--------Skeleton subsection still to be written--------</font>
==[[Moving Assets into Autodesk 3DSMax]]==
[[Moving Assets into Autodesk 3DSMax]]
This subsection describes the restoration and use of MakeHuman's transparency and skeletal assets after importing in Autodesk 3DSMax.
*Units Considerations [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Units_Considerations]
*Importing FBX into 3DSMax [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Importing_FBX_into_3DSMax]
*Restoring Transparency for the Eyes [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Restoring_Transparency_for_the_Eyes]
*Fixing Transparency on the Other Assets [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Fixing_Transparency_on_the_Other_Assets]
*Repairing an Imported MakeHuman FBX file that was previously Exported after Fixing [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Repairing_an_Imported_MakeHuman_FBX_file_that_was_previously_Exported_after_Fixing]
*Importing MakeHuman Skeletons into 3DSMAX [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Importing_MakeHuman_Skeletons_into_3DSMAX]
==[[Moving Assets into Blender]]==
==Moving Assets into Unreal Engine 4==
==Moving Assets into Unity Game Engine==
==Moving Assets into Google Sketchup==
==Preparing assets for use with Second Life==
fd7c7b01a418fe45d0e7b19fcbe8f2364d78b2c0
345
344
2015-08-02T21:10:19Z
Robbaer
12
/* Moving Assets into Autodesk 3DSMax */
wikitext
text/x-wiki
== Summary ==
More often than not MakeHuman users will want to move their creation into another program to continue the creation process. This section provides information on how to achieve this for common target programs. The ''Background and Technical Consideratins'' section provides some background that are common to all workflows. It is not essential to read the introduction before going straight to the program of interest, but doing so might help you understand ''why'' certain steps work or are necessary. In many cases there can be more than one way to accomplish the same thing. The method described here may not be optimal for your situation, but it should help get you started.
==[[Background and Technical Considerations]]==
[[Background and Technical Considerations]]
This section will provide some general information on "trouble spots" when trying to take your MakeHuman work and use it in a downstream application. Many of the problems discussed are topics that always arise when moving assets between any 3D programs.
*Introduction [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#Introduction]
*Format Considerations [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#Format_Considerations]
*MakeHuman Shader and Asset Rendering [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#MakeHuman_Shader_and_Asset_Rendering]
*Spatial transformation: MakeHuman Coordinate System, MakeHuman Skeletons, and MakeHuman Scales [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#Spatial_transformation:_MakeHuman_Coordinate_System.2C_MakeHuman_Skeletons.2C_and_MakeHuman_Scales]
*Working with Rigs and Skeletons [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#Working_with_Rigs_and_Skeletons]
*MakeHuman Assets with transparency [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#MakeHuman_Assets_with_transparency]
==Illustrating the Export Process for Subsequent Import==
For the purposes of illustration we will take a straight forward MakeHuman character that has been given a skeleton, a pose, a skin material, clothing, eyes, eyelashes, eyebrows, hair, tongue and teeth. We will then export it for import into a number of popular downstream applications. For each application, our goal will be to get the character to look similar to its original look in MakeHuman. We will pay particular attention to the head and face because this is the area of greatest difficulty for dealing with transparency and shadows. The character has the default skeleton and has been set in the T-pose which is a common starting pose for animation-based work. The image we will be exporting looks like this in MakeHuman:
[[File:ImpExp-001.png]]
'''Figure 1.''' MakeHuman character as viewed from within MakeHuman prior to export.
In subsequent sections, we will discuss the steps needed to reproduce this look after importing into specific downstream programs.
==[[Moving Assets into Autodesk Maya]]==
[[Moving Assets into Autodesk Maya]]
This subsection describes the restoration and use of MakeHuman's transparency and skeletal assets after importing in Autodesk Maya.
*Introduction [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Introduction]
*Importing and Initial Setup [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Importing_and_Initial_Setup]
*Basic Repair of Eye Transparency [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Basic_Repair_of_Eye_Transparency]
*Repeat for other Transparent Assets [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Repeat_for_other_Transparent_Assets]
*Raytrace Shadows [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Raytrace_Shadows]
*Re-importing "Fixed MakeHuman Assets" from Maya after saving in FBX format [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Re-importing_Intermediate_FBX_files_from_Maya]
*Adopting MakeHuman Skeletons to Maya [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Adopting_MakeHuman_Skeletons_to_Maya]
<font color = 'red'>--------Skeleton subsection still to be written--------</font>
==[[Moving Assets into Autodesk 3DSMax]]==
[[Moving Assets into Autodesk 3DSMax]]
This subsection describes the restoration and use of MakeHuman's transparency and skeletal assets after importing in Autodesk 3DSMax.
*Units Considerations [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Units_Considerations]
*Importing FBX into 3DSMax [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Importing_FBX_into_3DSMax]
*Restoring Transparency for the Eyes [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Restoring_Transparency_for_the_Eyes]
*Fixing Transparency on the Other Assets [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Fixing_Transparency_on_the_Other_Assets]
*Repairing an Imported MakeHuman FBX file that was previously Exported after Fixing [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Repairing_an_Imported_MakeHuman_FBX_file_that_was_previously_Exported_after_Fixing]
*Importing MakeHuman Skeletons into 3DSMAX [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Importing_MakeHuman_Skeletons_into_3DSMAX]
==[[Moving Assets into Blender]]==
==Moving Assets into Unreal Engine 4==
==Moving Assets into Unity Game Engine==
==Moving Assets into Google Sketchup==
==Preparing assets for use with Second Life==
d103a5e4a42cb0bd35452fe3fa6c7aab5c47335b
344
343
2015-08-02T21:09:43Z
Robbaer
12
/* Background and Technical Considerations */
wikitext
text/x-wiki
== Summary ==
More often than not MakeHuman users will want to move their creation into another program to continue the creation process. This section provides information on how to achieve this for common target programs. The ''Background and Technical Consideratins'' section provides some background that are common to all workflows. It is not essential to read the introduction before going straight to the program of interest, but doing so might help you understand ''why'' certain steps work or are necessary. In many cases there can be more than one way to accomplish the same thing. The method described here may not be optimal for your situation, but it should help get you started.
==[[Background and Technical Considerations]]==
[[Background and Technical Considerations]]
This section will provide some general information on "trouble spots" when trying to take your MakeHuman work and use it in a downstream application. Many of the problems discussed are topics that always arise when moving assets between any 3D programs.
*Introduction [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#Introduction]
*Format Considerations [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#Format_Considerations]
*MakeHuman Shader and Asset Rendering [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#MakeHuman_Shader_and_Asset_Rendering]
*Spatial transformation: MakeHuman Coordinate System, MakeHuman Skeletons, and MakeHuman Scales [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#Spatial_transformation:_MakeHuman_Coordinate_System.2C_MakeHuman_Skeletons.2C_and_MakeHuman_Scales]
*Working with Rigs and Skeletons [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#Working_with_Rigs_and_Skeletons]
*MakeHuman Assets with transparency [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#MakeHuman_Assets_with_transparency]
==Illustrating the Export Process for Subsequent Import==
For the purposes of illustration we will take a straight forward MakeHuman character that has been given a skeleton, a pose, a skin material, clothing, eyes, eyelashes, eyebrows, hair, tongue and teeth. We will then export it for import into a number of popular downstream applications. For each application, our goal will be to get the character to look similar to its original look in MakeHuman. We will pay particular attention to the head and face because this is the area of greatest difficulty for dealing with transparency and shadows. The character has the default skeleton and has been set in the T-pose which is a common starting pose for animation-based work. The image we will be exporting looks like this in MakeHuman:
[[File:ImpExp-001.png]]
'''Figure 1.''' MakeHuman character as viewed from within MakeHuman prior to export.
In subsequent sections, we will discuss the steps needed to reproduce this look after importing into specific downstream programs.
==[[Moving Assets into Autodesk Maya]]==
[[Moving Assets into Autodesk Maya]]
This subsection describes the restoration and use of MakeHuman's transparency and skeletal assets after importing in Autodesk Maya.
*Introduction [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Introduction]
*Importing and Initial Setup [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Importing_and_Initial_Setup]
*Basic Repair of Eye Transparency [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Basic_Repair_of_Eye_Transparency]
*Repeat for other Transparent Assets [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Repeat_for_other_Transparent_Assets]
*Raytrace Shadows [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Raytrace_Shadows]
*Re-importing "Fixed MakeHuman Assets" from Maya after saving in FBX format [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Re-importing_Intermediate_FBX_files_from_Maya]
*Adopting MakeHuman Skeletons to Maya [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Adopting_MakeHuman_Skeletons_to_Maya]
<font color = 'red'>--------Skeleton subsection still to be written--------</font>
==[[Moving Assets into Autodesk 3DSMax]]==
This subsection describes the restoration and use of MakeHuman's transparency and skeletal assets after importing in Autodesk 3DSMax.
*Units Considerations [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Units_Considerations]
*Importing FBX into 3DSMax [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Importing_FBX_into_3DSMax]
*Restoring Transparency for the Eyes [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Restoring_Transparency_for_the_Eyes]
*Fixing Transparency on the Other Assets [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Fixing_Transparency_on_the_Other_Assets]
*Repairing an Imported MakeHuman FBX file that was previously Exported after Fixing [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Repairing_an_Imported_MakeHuman_FBX_file_that_was_previously_Exported_after_Fixing]
*Importing MakeHuman Skeletons into 3DSMAX [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Importing_MakeHuman_Skeletons_into_3DSMAX]
==[[Moving Assets into Blender]]==
==Moving Assets into Unreal Engine 4==
==Moving Assets into Unity Game Engine==
==Moving Assets into Google Sketchup==
==Preparing assets for use with Second Life==
81c446f533e4b0987e9dc43523098b80f5c8cd69
343
342
2015-08-02T20:56:55Z
Robbaer
12
/* Moving Assets into Autodesk 3DSMax */
wikitext
text/x-wiki
== Summary ==
More often than not MakeHuman users will want to move their creation into another program to continue the creation process. This section provides information on how to achieve this for common target programs. The ''Background and Technical Consideratins'' section provides some background that are common to all workflows. It is not essential to read the introduction before going straight to the program of interest, but doing so might help you understand ''why'' certain steps work or are necessary. In many cases there can be more than one way to accomplish the same thing. The method described here may not be optimal for your situation, but it should help get you started.
==[[Background and Technical Considerations]]==
[[Background and Technical Considerations]]
*Introduction [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#Introduction]
*Format Considerations [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#Format_Considerations]
*MakeHuman Shader and Asset Rendering [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#MakeHuman_Shader_and_Asset_Rendering]
*Spatial transformation: MakeHuman Coordinate System, MakeHuman Skeletons, and MakeHuman Scales [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#Spatial_transformation:_MakeHuman_Coordinate_System.2C_MakeHuman_Skeletons.2C_and_MakeHuman_Scales]
*Working with Rigs and Skeletons [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#Working_with_Rigs_and_Skeletons]
*MakeHuman Assets with transparency [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#MakeHuman_Assets_with_transparency]
==Illustrating the Export Process for Subsequent Import==
For the purposes of illustration we will take a straight forward MakeHuman character that has been given a skeleton, a pose, a skin material, clothing, eyes, eyelashes, eyebrows, hair, tongue and teeth. We will then export it for import into a number of popular downstream applications. For each application, our goal will be to get the character to look similar to its original look in MakeHuman. We will pay particular attention to the head and face because this is the area of greatest difficulty for dealing with transparency and shadows. The character has the default skeleton and has been set in the T-pose which is a common starting pose for animation-based work. The image we will be exporting looks like this in MakeHuman:
[[File:ImpExp-001.png]]
'''Figure 1.''' MakeHuman character as viewed from within MakeHuman prior to export.
In subsequent sections, we will discuss the steps needed to reproduce this look after importing into specific downstream programs.
==[[Moving Assets into Autodesk Maya]]==
[[Moving Assets into Autodesk Maya]]
This subsection describes the restoration and use of MakeHuman's transparency and skeletal assets after importing in Autodesk Maya.
*Introduction [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Introduction]
*Importing and Initial Setup [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Importing_and_Initial_Setup]
*Basic Repair of Eye Transparency [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Basic_Repair_of_Eye_Transparency]
*Repeat for other Transparent Assets [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Repeat_for_other_Transparent_Assets]
*Raytrace Shadows [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Raytrace_Shadows]
*Re-importing "Fixed MakeHuman Assets" from Maya after saving in FBX format [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Re-importing_Intermediate_FBX_files_from_Maya]
*Adopting MakeHuman Skeletons to Maya [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Adopting_MakeHuman_Skeletons_to_Maya]
<font color = 'red'>--------Skeleton subsection still to be written--------</font>
==[[Moving Assets into Autodesk 3DSMax]]==
This subsection describes the restoration and use of MakeHuman's transparency and skeletal assets after importing in Autodesk 3DSMax.
*Units Considerations [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Units_Considerations]
*Importing FBX into 3DSMax [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Importing_FBX_into_3DSMax]
*Restoring Transparency for the Eyes [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Restoring_Transparency_for_the_Eyes]
*Fixing Transparency on the Other Assets [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Fixing_Transparency_on_the_Other_Assets]
*Repairing an Imported MakeHuman FBX file that was previously Exported after Fixing [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Repairing_an_Imported_MakeHuman_FBX_file_that_was_previously_Exported_after_Fixing]
*Importing MakeHuman Skeletons into 3DSMAX [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Importing_MakeHuman_Skeletons_into_3DSMAX]
==[[Moving Assets into Blender]]==
==Moving Assets into Unreal Engine 4==
==Moving Assets into Unity Game Engine==
==Moving Assets into Google Sketchup==
==Preparing assets for use with Second Life==
1e0e08a0252215c84368c373e7d7cac43e715a1e
342
341
2015-08-02T20:55:47Z
Robbaer
12
/* Illustrating the Export Process for Subsequent Import */
wikitext
text/x-wiki
== Summary ==
More often than not MakeHuman users will want to move their creation into another program to continue the creation process. This section provides information on how to achieve this for common target programs. The ''Background and Technical Consideratins'' section provides some background that are common to all workflows. It is not essential to read the introduction before going straight to the program of interest, but doing so might help you understand ''why'' certain steps work or are necessary. In many cases there can be more than one way to accomplish the same thing. The method described here may not be optimal for your situation, but it should help get you started.
==[[Background and Technical Considerations]]==
[[Background and Technical Considerations]]
*Introduction [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#Introduction]
*Format Considerations [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#Format_Considerations]
*MakeHuman Shader and Asset Rendering [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#MakeHuman_Shader_and_Asset_Rendering]
*Spatial transformation: MakeHuman Coordinate System, MakeHuman Skeletons, and MakeHuman Scales [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#Spatial_transformation:_MakeHuman_Coordinate_System.2C_MakeHuman_Skeletons.2C_and_MakeHuman_Scales]
*Working with Rigs and Skeletons [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#Working_with_Rigs_and_Skeletons]
*MakeHuman Assets with transparency [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#MakeHuman_Assets_with_transparency]
==Illustrating the Export Process for Subsequent Import==
For the purposes of illustration we will take a straight forward MakeHuman character that has been given a skeleton, a pose, a skin material, clothing, eyes, eyelashes, eyebrows, hair, tongue and teeth. We will then export it for import into a number of popular downstream applications. For each application, our goal will be to get the character to look similar to its original look in MakeHuman. We will pay particular attention to the head and face because this is the area of greatest difficulty for dealing with transparency and shadows. The character has the default skeleton and has been set in the T-pose which is a common starting pose for animation-based work. The image we will be exporting looks like this in MakeHuman:
[[File:ImpExp-001.png]]
'''Figure 1.''' MakeHuman character as viewed from within MakeHuman prior to export.
In subsequent sections, we will discuss the steps needed to reproduce this look after importing into specific downstream programs.
==[[Moving Assets into Autodesk Maya]]==
[[Moving Assets into Autodesk Maya]]
This subsection describes the restoration and use of MakeHuman's transparency and skeletal assets after importing in Autodesk Maya.
*Introduction [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Introduction]
*Importing and Initial Setup [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Importing_and_Initial_Setup]
*Basic Repair of Eye Transparency [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Basic_Repair_of_Eye_Transparency]
*Repeat for other Transparent Assets [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Repeat_for_other_Transparent_Assets]
*Raytrace Shadows [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Raytrace_Shadows]
*Re-importing "Fixed MakeHuman Assets" from Maya after saving in FBX format [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Re-importing_Intermediate_FBX_files_from_Maya]
*Adopting MakeHuman Skeletons to Maya [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Adopting_MakeHuman_Skeletons_to_Maya]
<font color = 'red'>--------Skeleton subsection still to be written--------</font>
==[[Moving Assets into Autodesk 3DSMax]]==
This subsection describes the restoration and use of MakeHuman's transparency and skeletal assets after importing in Autodesk 3DSMax.
*Units Considerations[http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Units_Considerations]
*Importing FBX into 3DSMax[http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Importing_FBX_into_3DSMax]
*Restoring Transparency for the Eyes[http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Restoring_Transparency_for_the_Eyes]
*Fixing Transparency on the Other Assets[http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Fixing_Transparency_on_the_Other_Assets]
*Repairing an Imported MakeHuman FBX file that was previously Exported after Fixing[http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Repairing_an_Imported_MakeHuman_FBX_file_that_was_previously_Exported_after_Fixing]
*Importing MakeHuman Skeletons into 3DSMAX[http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Importing_MakeHuman_Skeletons_into_3DSMAX]
==[[Moving Assets into Blender]]==
==Moving Assets into Unreal Engine 4==
==Moving Assets into Unity Game Engine==
==Moving Assets into Google Sketchup==
==Preparing assets for use with Second Life==
d98c227dac3405ce644f7e60902bcd98b20d5824
341
340
2015-08-02T20:53:08Z
Robbaer
12
/* Background and Technical Considerations */
wikitext
text/x-wiki
== Summary ==
More often than not MakeHuman users will want to move their creation into another program to continue the creation process. This section provides information on how to achieve this for common target programs. The ''Background and Technical Consideratins'' section provides some background that are common to all workflows. It is not essential to read the introduction before going straight to the program of interest, but doing so might help you understand ''why'' certain steps work or are necessary. In many cases there can be more than one way to accomplish the same thing. The method described here may not be optimal for your situation, but it should help get you started.
==[[Background and Technical Considerations]]==
[[Background and Technical Considerations]]
*Introduction [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#Introduction]
*Format Considerations [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#Format_Considerations]
*MakeHuman Shader and Asset Rendering [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#MakeHuman_Shader_and_Asset_Rendering]
*Spatial transformation: MakeHuman Coordinate System, MakeHuman Skeletons, and MakeHuman Scales [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#Spatial_transformation:_MakeHuman_Coordinate_System.2C_MakeHuman_Skeletons.2C_and_MakeHuman_Scales]
*Working with Rigs and Skeletons [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#Working_with_Rigs_and_Skeletons]
*MakeHuman Assets with transparency [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#MakeHuman_Assets_with_transparency]
==Illustrating the Export Process for Subsequent Import==
For the purposes of illustration we will take a straight forward MakeHuman character that has been given a skeleton, a pose, a skin material, clothing, eyes, eyelashes, eyebrows, hair, tongue and teeth. We will then export it for import into a number of popular downstream applications. For each application, our goal will be to get the character to look similar to its original look in MakeHuman. We will pay particular attention to the head and face because this is the area of greatest difficulty for dealing with transparency and shadows. The character has the default skeleton and has been set in the T-pose which is a common starting pose for animation-based work. The image we will be exporting looks like this in MakeHuman:
[[File:ImpExp-001.png]]
'''Figure 1.''' MakeHuman character as viewed from within MakeHuman prior to export.
In subsequent sections, we will discuss the steps needed to reproduce this look after importing into a downstream program.
==[[Moving Assets into Autodesk Maya]]==
[[Moving Assets into Autodesk Maya]]
This subsection describes the restoration and use of MakeHuman's transparency and skeletal assets after importing in Autodesk Maya.
*Introduction [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Introduction]
*Importing and Initial Setup [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Importing_and_Initial_Setup]
*Basic Repair of Eye Transparency [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Basic_Repair_of_Eye_Transparency]
*Repeat for other Transparent Assets [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Repeat_for_other_Transparent_Assets]
*Raytrace Shadows [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Raytrace_Shadows]
*Re-importing "Fixed MakeHuman Assets" from Maya after saving in FBX format [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Re-importing_Intermediate_FBX_files_from_Maya]
*Adopting MakeHuman Skeletons to Maya [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Adopting_MakeHuman_Skeletons_to_Maya]
<font color = 'red'>--------Skeleton subsection still to be written--------</font>
==[[Moving Assets into Autodesk 3DSMax]]==
This subsection describes the restoration and use of MakeHuman's transparency and skeletal assets after importing in Autodesk 3DSMax.
*Units Considerations[http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Units_Considerations]
*Importing FBX into 3DSMax[http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Importing_FBX_into_3DSMax]
*Restoring Transparency for the Eyes[http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Restoring_Transparency_for_the_Eyes]
*Fixing Transparency on the Other Assets[http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Fixing_Transparency_on_the_Other_Assets]
*Repairing an Imported MakeHuman FBX file that was previously Exported after Fixing[http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Repairing_an_Imported_MakeHuman_FBX_file_that_was_previously_Exported_after_Fixing]
*Importing MakeHuman Skeletons into 3DSMAX[http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Importing_MakeHuman_Skeletons_into_3DSMAX]
==[[Moving Assets into Blender]]==
==Moving Assets into Unreal Engine 4==
==Moving Assets into Unity Game Engine==
==Moving Assets into Google Sketchup==
==Preparing assets for use with Second Life==
82aa8c03d3622be2824971a66a7ca4174c8a967b
340
339
2015-08-02T20:52:10Z
Robbaer
12
/* Background and Technical Considerations */
wikitext
text/x-wiki
== Summary ==
More often than not MakeHuman users will want to move their creation into another program to continue the creation process. This section provides information on how to achieve this for common target programs. The ''Background and Technical Consideratins'' section provides some background that are common to all workflows. It is not essential to read the introduction before going straight to the program of interest, but doing so might help you understand ''why'' certain steps work or are necessary. In many cases there can be more than one way to accomplish the same thing. The method described here may not be optimal for your situation, but it should help get you started.
==Background and Technical Considerations==
[[Background and Technical Considerations]]
*Introduction [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#Introduction]
*Format Considerations [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#Format_Considerations]
*MakeHuman Shader and Asset Rendering [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#MakeHuman_Shader_and_Asset_Rendering]
*Spatial transformation: MakeHuman Coordinate System, MakeHuman Skeletons, and MakeHuman Scales [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#Spatial_transformation:_MakeHuman_Coordinate_System.2C_MakeHuman_Skeletons.2C_and_MakeHuman_Scales]
*Working with Rigs and Skeletons [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#Working_with_Rigs_and_Skeletons]
*MakeHuman Assets with transparency [http://www.makehumancommunity.org/wiki/Background_and_Technical_Considerations#MakeHuman_Assets_with_transparency]
==Illustrating the Export Process for Subsequent Import==
For the purposes of illustration we will take a straight forward MakeHuman character that has been given a skeleton, a pose, a skin material, clothing, eyes, eyelashes, eyebrows, hair, tongue and teeth. We will then export it for import into a number of popular downstream applications. For each application, our goal will be to get the character to look similar to its original look in MakeHuman. We will pay particular attention to the head and face because this is the area of greatest difficulty for dealing with transparency and shadows. The character has the default skeleton and has been set in the T-pose which is a common starting pose for animation-based work. The image we will be exporting looks like this in MakeHuman:
[[File:ImpExp-001.png]]
'''Figure 1.''' MakeHuman character as viewed from within MakeHuman prior to export.
In subsequent sections, we will discuss the steps needed to reproduce this look after importing into a downstream program.
==[[Moving Assets into Autodesk Maya]]==
[[Moving Assets into Autodesk Maya]]
This subsection describes the restoration and use of MakeHuman's transparency and skeletal assets after importing in Autodesk Maya.
*Introduction [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Introduction]
*Importing and Initial Setup [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Importing_and_Initial_Setup]
*Basic Repair of Eye Transparency [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Basic_Repair_of_Eye_Transparency]
*Repeat for other Transparent Assets [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Repeat_for_other_Transparent_Assets]
*Raytrace Shadows [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Raytrace_Shadows]
*Re-importing "Fixed MakeHuman Assets" from Maya after saving in FBX format [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Re-importing_Intermediate_FBX_files_from_Maya]
*Adopting MakeHuman Skeletons to Maya [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Adopting_MakeHuman_Skeletons_to_Maya]
<font color = 'red'>--------Skeleton subsection still to be written--------</font>
==[[Moving Assets into Autodesk 3DSMax]]==
This subsection describes the restoration and use of MakeHuman's transparency and skeletal assets after importing in Autodesk 3DSMax.
*Units Considerations[http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Units_Considerations]
*Importing FBX into 3DSMax[http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Importing_FBX_into_3DSMax]
*Restoring Transparency for the Eyes[http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Restoring_Transparency_for_the_Eyes]
*Fixing Transparency on the Other Assets[http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Fixing_Transparency_on_the_Other_Assets]
*Repairing an Imported MakeHuman FBX file that was previously Exported after Fixing[http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Repairing_an_Imported_MakeHuman_FBX_file_that_was_previously_Exported_after_Fixing]
*Importing MakeHuman Skeletons into 3DSMAX[http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Importing_MakeHuman_Skeletons_into_3DSMAX]
==[[Moving Assets into Blender]]==
==Moving Assets into Unreal Engine 4==
==Moving Assets into Unity Game Engine==
==Moving Assets into Google Sketchup==
==Preparing assets for use with Second Life==
6d62691b1c1d8ad53b33498aad290265ad5e191e
339
338
2015-08-02T20:50:12Z
Robbaer
12
/* Background and Technical Considerations */
wikitext
text/x-wiki
== Summary ==
More often than not MakeHuman users will want to move their creation into another program to continue the creation process. This section provides information on how to achieve this for common target programs. The ''Background and Technical Consideratins'' section provides some background that are common to all workflows. It is not essential to read the introduction before going straight to the program of interest, but doing so might help you understand ''why'' certain steps work or are necessary. In many cases there can be more than one way to accomplish the same thing. The method described here may not be optimal for your situation, but it should help get you started.
==Background and Technical Considerations==
[[Background and Technical Considerations]]
*Introduction []
*Format Considerations []
*MakeHuman Shader and Asset Rendering []
*Spatial transformation: MakeHuman Coordinate System, MakeHuman Skeletons, and MakeHuman Scales []
*Working with Rigs and Skeletons []
*MakeHuman Assets with transparency []
==Illustrating the Export Process for Subsequent Import==
For the purposes of illustration we will take a straight forward MakeHuman character that has been given a skeleton, a pose, a skin material, clothing, eyes, eyelashes, eyebrows, hair, tongue and teeth. We will then export it for import into a number of popular downstream applications. For each application, our goal will be to get the character to look similar to its original look in MakeHuman. We will pay particular attention to the head and face because this is the area of greatest difficulty for dealing with transparency and shadows. The character has the default skeleton and has been set in the T-pose which is a common starting pose for animation-based work. The image we will be exporting looks like this in MakeHuman:
[[File:ImpExp-001.png]]
'''Figure 1.''' MakeHuman character as viewed from within MakeHuman prior to export.
In subsequent sections, we will discuss the steps needed to reproduce this look after importing into a downstream program.
==[[Moving Assets into Autodesk Maya]]==
[[Moving Assets into Autodesk Maya]]
This subsection describes the restoration and use of MakeHuman's transparency and skeletal assets after importing in Autodesk Maya.
*Introduction [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Introduction]
*Importing and Initial Setup [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Importing_and_Initial_Setup]
*Basic Repair of Eye Transparency [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Basic_Repair_of_Eye_Transparency]
*Repeat for other Transparent Assets [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Repeat_for_other_Transparent_Assets]
*Raytrace Shadows [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Raytrace_Shadows]
*Re-importing "Fixed MakeHuman Assets" from Maya after saving in FBX format [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Re-importing_Intermediate_FBX_files_from_Maya]
*Adopting MakeHuman Skeletons to Maya [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Adopting_MakeHuman_Skeletons_to_Maya]
<font color = 'red'>--------Skeleton subsection still to be written--------</font>
==[[Moving Assets into Autodesk 3DSMax]]==
This subsection describes the restoration and use of MakeHuman's transparency and skeletal assets after importing in Autodesk 3DSMax.
*Units Considerations[http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Units_Considerations]
*Importing FBX into 3DSMax[http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Importing_FBX_into_3DSMax]
*Restoring Transparency for the Eyes[http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Restoring_Transparency_for_the_Eyes]
*Fixing Transparency on the Other Assets[http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Fixing_Transparency_on_the_Other_Assets]
*Repairing an Imported MakeHuman FBX file that was previously Exported after Fixing[http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Repairing_an_Imported_MakeHuman_FBX_file_that_was_previously_Exported_after_Fixing]
*Importing MakeHuman Skeletons into 3DSMAX[http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Importing_MakeHuman_Skeletons_into_3DSMAX]
==[[Moving Assets into Blender]]==
==Moving Assets into Unreal Engine 4==
==Moving Assets into Unity Game Engine==
==Moving Assets into Google Sketchup==
==Preparing assets for use with Second Life==
29e8471bf5d667c23b55f6deecd5d471ee1d43f1
338
337
2015-08-02T20:49:26Z
Robbaer
12
/* Background and Technical Considerations */
wikitext
text/x-wiki
== Summary ==
More often than not MakeHuman users will want to move their creation into another program to continue the creation process. This section provides information on how to achieve this for common target programs. The ''Background and Technical Consideratins'' section provides some background that are common to all workflows. It is not essential to read the introduction before going straight to the program of interest, but doing so might help you understand ''why'' certain steps work or are necessary. In many cases there can be more than one way to accomplish the same thing. The method described here may not be optimal for your situation, but it should help get you started.
==Background and Technical Considerations==
[[Background and Technical Considerations]]
Introduction
Format Considerations []
MakeHuman Shader and Asset Rendering []
Spatial transformation: MakeHuman Coordinate System, MakeHuman Skeletons, and MakeHuman Scales []
Working with Rigs and Skeletons[]
MakeHuman Assets with transparency[]
==Illustrating the Export Process for Subsequent Import==
For the purposes of illustration we will take a straight forward MakeHuman character that has been given a skeleton, a pose, a skin material, clothing, eyes, eyelashes, eyebrows, hair, tongue and teeth. We will then export it for import into a number of popular downstream applications. For each application, our goal will be to get the character to look similar to its original look in MakeHuman. We will pay particular attention to the head and face because this is the area of greatest difficulty for dealing with transparency and shadows. The character has the default skeleton and has been set in the T-pose which is a common starting pose for animation-based work. The image we will be exporting looks like this in MakeHuman:
[[File:ImpExp-001.png]]
'''Figure 1.''' MakeHuman character as viewed from within MakeHuman prior to export.
In subsequent sections, we will discuss the steps needed to reproduce this look after importing into a downstream program.
==[[Moving Assets into Autodesk Maya]]==
[[Moving Assets into Autodesk Maya]]
This subsection describes the restoration and use of MakeHuman's transparency and skeletal assets after importing in Autodesk Maya.
*Introduction [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Introduction]
*Importing and Initial Setup [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Importing_and_Initial_Setup]
*Basic Repair of Eye Transparency [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Basic_Repair_of_Eye_Transparency]
*Repeat for other Transparent Assets [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Repeat_for_other_Transparent_Assets]
*Raytrace Shadows [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Raytrace_Shadows]
*Re-importing "Fixed MakeHuman Assets" from Maya after saving in FBX format [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Re-importing_Intermediate_FBX_files_from_Maya]
*Adopting MakeHuman Skeletons to Maya [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Adopting_MakeHuman_Skeletons_to_Maya]
<font color = 'red'>--------Skeleton subsection still to be written--------</font>
==[[Moving Assets into Autodesk 3DSMax]]==
This subsection describes the restoration and use of MakeHuman's transparency and skeletal assets after importing in Autodesk 3DSMax.
*Units Considerations[http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Units_Considerations]
*Importing FBX into 3DSMax[http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Importing_FBX_into_3DSMax]
*Restoring Transparency for the Eyes[http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Restoring_Transparency_for_the_Eyes]
*Fixing Transparency on the Other Assets[http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Fixing_Transparency_on_the_Other_Assets]
*Repairing an Imported MakeHuman FBX file that was previously Exported after Fixing[http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Repairing_an_Imported_MakeHuman_FBX_file_that_was_previously_Exported_after_Fixing]
*Importing MakeHuman Skeletons into 3DSMAX[http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Importing_MakeHuman_Skeletons_into_3DSMAX]
==[[Moving Assets into Blender]]==
==Moving Assets into Unreal Engine 4==
==Moving Assets into Unity Game Engine==
==Moving Assets into Google Sketchup==
==Preparing assets for use with Second Life==
aa96a3e09af94ca7daf92b03c5c957bb58c37a9a
337
334
2015-08-02T20:44:27Z
Robbaer
12
/* Background and Technical Considerations */
wikitext
text/x-wiki
== Summary ==
More often than not MakeHuman users will want to move their creation into another program to continue the creation process. This section provides information on how to achieve this for common target programs. The ''Background and Technical Consideratins'' section provides some background that are common to all workflows. It is not essential to read the introduction before going straight to the program of interest, but doing so might help you understand ''why'' certain steps work or are necessary. In many cases there can be more than one way to accomplish the same thing. The method described here may not be optimal for your situation, but it should help get you started.
==Background and Technical Considerations==
[[Background and Technical Considerations]]
Introduction
Format Considerations []
MakeHuman Shader and Asset Rendering []
Spatial transformation: MakeHuman Coordinate System, MakeHuman Skeletons, and MakeHuman Scales []
Working with Rigs and Skeletons[]
MakeHuman Assets with transparency[]
'''Introduction'''
Many MakeHuman users will use the work they create in MakeHuman as a component of a project completed in an external, downstream application. The most common target applications are 3D graphics applications like Blender, Autodesk 3DSMax, and Autodesk Maya or gaming engines like Unity Engine or Unreal Engine 4 or Virtual Worlds like Second Life. In some cases, the MakeHuman user will be interested in moving just the mesh. In other cases, the user will be interested in moving a complete, posed, skeletonized character to the downstream application. The purpose of this document is to discuss the basic process of moving a finished MakeHuman asset to a downstream program and producing a reasonable facsimile of its MakeHuman appearance in the downstream application. It is important to recognize that because each application has its own way of representing 3D assets, and because each export format has its own set of idiosyncrasies, there will be adjustments and approximations in the asset transfer process.
'''Format Considerations'''
In an effort to provide the broadest latitude for user workflows, the MakeHuman development team is directing it major export support toward Autodesk FBX format and Khronos Collada format. In addition, Blender users have the option to install the [https://bitbucket.org/ThomasMakeHuman/mhx2-makehuman-exchange independently developed .mhx2 tools], which are independently developed and maintained by Thomas Larson. Collada is a text-based format and is an open standard, but implementation of the standard is not as consistent as might be hoped. FBX is a proprietary standard developed by Autodesk and supported through a software development kit (FBX SDK) written in C++ and a Python FBX scripting template. The FBX standard is periodically updated by Autodesk and can be saved as either an ASCII or a binary format. Downstream programs may make assumptions about the FBX version being imported, and may limit users to either binary or ASCII importing. Surprisingly, CG assets exported from various programs as collada and FBX do not make it back into the same program as a round-trip without changes to some components of the scene. For example, this is true of FBX format in both 3DSMax and Maya for MakeHuman assets. It is also true for Blender with both FBX and collada format for MakeHuman assets. In this document, we will attempt to provide some support for dealing with this type of surprise.
'''MakeHuman Shader and Asset Rendering'''
A “shader” is computer code that translates digital information into a properly rendered image on the computer screen. Different algorithms use different methods of constructing such a display. By default in MakeHuman, the viewport lighting is handled by the built-in light-sphere shader. The light-sphere shader takes advantage of support for the openGL standard provided by today’s graphics cards. What the viewer sees on the screen depends not only on the color of assets, like skin and clothing, but also on the nature of the lights illuminating the scene and causing reflections and shadows. Most downstream programs use other shader strategies, the most common of which include Phong shaders, Blinn shaders, or Lambert shaders. Because the code and conceptual design of these shaders differs from that of the MakeHuman light-sphere shader, the user should be prepared to make some adjustments in the downstream program to get the final desired effect. Some MakeHuman assets also include Normal maps which the user will want to integrate into the downstream applications rendering.
When a MakeHuman material (for example, skin or clothing or eyelashes) is exported, it carries with it a limited amount of fundamental information for by the downstream program’s shaders. In an ideal world, the downstream program would import this raw information, correctly populate the variables in its shaders, and yield the same view of the human that was exported from MakeHuman. At present this does not typically happen, and the user must make some adjustments. This Wiki section is designed to help you negotiate through that process.
'''Spatial transformation: MakeHuman Coordinate System, MakeHuman Skeletons, and MakeHuman Scales'''
The MakeHuman viewport is oriented so that the positive end of the x-axis is to the right, the positive end of the y-axis it up, and the positive end of the z-axis is out through the front to the screen. Other CG programs can use other schemes, so it is essential to know the coordinate system used by the downstream target at export time, if you wish to minimize the adjustments you make after importing. The settings tab allows users to work in metric units of decimeters or imperial units of inches. Downstream programs vary in their de facto units, and again, it is generally a good idea to anticipate your needs at export time rather than trying to make adjustments during or after import. It is sometimes said that these programs have no default unit. To a degree this is true. However, the default grid pattern, assumptions of other humanoid producing programs, and assumptions of the “physics systems” will often work best with the export units specified in the table below:
TABLE HERE
'''Working with Rigs and Skeletons'''
Internally, MakeHuman uses its default skeleton as the basis of mesh vertex weighting for creating the poses available on the pose tab. This rig includes a special set of bones that can be used for driving facial expressions, but as of the current release (MakeHuman 1.1.x), there is not extensive support for inverse kinematics, and animation must be done downstream in the production pipeline. Historically, MakeHuman has had close ties to Blender, but the ultimate development goal is to provide strong generic support for all the major tools used in the industry, and with MakeHuman 1.1.x, substantial progress has been made by providing weighted skeletons suited for standard use in various downstream applications. For the most part, the name of the most appropriate rig will be clearly associated with the target downstream application, but the tag filters on the Pose/Animate | skeleton tab are intended to help choose a rig suited more generally to a specific purpose like motion capture integration, facial animation, or gaming applications. MakeHuman is designed to provide the user with maximum flexibility at creation time. To provide skeletons that work perfectly with every conceivable variation of the sliders is a laudable but elusive goal. That said, the user should get excellent results with the current approach, but the user should be prepared to make some minor tweaks to skeletons and weights downstream, particularly with extreme character dimensions or extreme poses.
'''MakeHuman Assets with transparency'''
In CG art, materials for mesh objects are frequently created by shaders that use various types of image maps to provide some of the information for determining the color, transparency, and light behavior on the surface of mesh objects. These image maps are referred to as textures. MakeHuman has textured materials available for the body (including proxy topologies), eyes, eyebrows, eyelashes, tongue, teeth, and hair. During export, these textures need to made available to the program that will be importing the MakeHuman output. Two aspects of this process need to be understood by the MakeHuman user: 1) how textures are saved; and 2) how transparency is handled.
There are two possible standards for storing texture assets upon export. They can either be embedded in an exported file, or they can be saved to a folder as named images with reference to the location of those files in the exported file. At present, MakeHuman uses the latter approach when exporting material textures. Following the export process, MakeHuman exports will be located in ~/makehuman/v1/exports/, and the texture images will be located in a corresponding subfolder ~/makehuman/v1/exports/textures. The tilde symbol indicates your user drive and home document directory. [For example, on Windows Vista and later, this typically would be: C:/Users/%USERNAME%/Documents/makehuman/v1/exports and a textures subfolder, where %USERNAME% is replaced by your username.]
Transparency is used in 3D art to let a viewer see through a mesh object to experience the color, reflections and lighting behind that object. MakeHuman uses transparency with textures for the eyes, eyebrows, eyelashes, and hair. This allows complex real world geometry to be represented by much simpler quasi-planar objects. For example, the hairs of the eyebrows are painted onto a flat surface with transparent spaces in between the painted hairs rather than creating tiny mesh objects for each of the 250-1000 individual hairs. CG programs can indicate which regions of the eyebrow should be transparent either by using a separate image where blackness indicates transparent and whiteness indicates opacity. Grayness is used to represent partial transparency. An alternative approach to representing transparency is to use an image format like .tga or .png which has a one byte channel, called an alpha channel, for just this purpose. Again, values near zero (black) typically represent “completely transparent” and values near 255 (white) typically represent “completely opaque”. MakeHuman represents the transparent regions of its assets using the alpha channel method and the .png format for textures. Unfortunately, importers for filmbox (FBX) and collada formats (DAE) do not automatically extract the transparency information provided by MakeHuman, or more specifically, they do not provide it to their shaders as anticipated. This is not just a MakeHuman problem but reflects multiple ways of handling transparency and alpha channels within the industry. Notably, exporting and reimporting assets with alpha channel transparency into the very same program fails with Blender, 3DSMax, and Maya for FBX, and where available, DAE formats. This forces the MakeHuman user to understand how to overcome this limitation in his favorite downstream application. Some introductory help will be provided for common applications later in this document.
There is one additional aspect of using transparency to make a single, simple mesh represent multiple small objects like eyebrows, and that is the issue of shadows. Lighting systems in 3D worlds creates a simulation of reality by making shadows appear on mesh objects in places you would expect to see them in the real world and with the soft edges you would expect to see in the real world. Shadows are a function of both the light source, the object blocking that light, and the objects receiving the reflected and refracted light from other objects. For objects that have transparency, like MakeHuman’s eyes, eyelashes, eyebrows, and hair, shadows should only be cast by the opaque portion of the texture and not by the transparent portions of the texture. The handling of shadows differs considerably from program to program, and objects with alpha channel transparency can need some special handling to accommodate these differences. This handling is not just about the assets with alpha map transparency, themselves. Sometimes it is necessary to set parameters to explicitly tell other objects like the MakeHuman body to not display shadows from the transparent regions of the eyebrows but to show shadows from the opaque hairs of the eyebrows. Shadows of transparently mapped assets will be addressed further in subsequent sections (where information is available).
==Illustrating the Export Process for Subsequent Import==
For the purposes of illustration we will take a straight forward MakeHuman character that has been given a skeleton, a pose, a skin material, clothing, eyes, eyelashes, eyebrows, hair, tongue and teeth. We will then export it for import into a number of popular downstream applications. For each application, our goal will be to get the character to look similar to its original look in MakeHuman. We will pay particular attention to the head and face because this is the area of greatest difficulty for dealing with transparency and shadows. The character has the default skeleton and has been set in the T-pose which is a common starting pose for animation-based work. The image we will be exporting looks like this in MakeHuman:
[[File:ImpExp-001.png]]
'''Figure 1.''' MakeHuman character as viewed from within MakeHuman prior to export.
In subsequent sections, we will discuss the steps needed to reproduce this look after importing into a downstream program.
==[[Moving Assets into Autodesk Maya]]==
[[Moving Assets into Autodesk Maya]]
This subsection describes the restoration and use of MakeHuman's transparency and skeletal assets after importing in Autodesk Maya.
*Introduction [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Introduction]
*Importing and Initial Setup [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Importing_and_Initial_Setup]
*Basic Repair of Eye Transparency [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Basic_Repair_of_Eye_Transparency]
*Repeat for other Transparent Assets [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Repeat_for_other_Transparent_Assets]
*Raytrace Shadows [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Raytrace_Shadows]
*Re-importing "Fixed MakeHuman Assets" from Maya after saving in FBX format [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Re-importing_Intermediate_FBX_files_from_Maya]
*Adopting MakeHuman Skeletons to Maya [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Adopting_MakeHuman_Skeletons_to_Maya]
<font color = 'red'>--------Skeleton subsection still to be written--------</font>
==[[Moving Assets into Autodesk 3DSMax]]==
This subsection describes the restoration and use of MakeHuman's transparency and skeletal assets after importing in Autodesk 3DSMax.
*Units Considerations[http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Units_Considerations]
*Importing FBX into 3DSMax[http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Importing_FBX_into_3DSMax]
*Restoring Transparency for the Eyes[http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Restoring_Transparency_for_the_Eyes]
*Fixing Transparency on the Other Assets[http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Fixing_Transparency_on_the_Other_Assets]
*Repairing an Imported MakeHuman FBX file that was previously Exported after Fixing[http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Repairing_an_Imported_MakeHuman_FBX_file_that_was_previously_Exported_after_Fixing]
*Importing MakeHuman Skeletons into 3DSMAX[http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Importing_MakeHuman_Skeletons_into_3DSMAX]
==[[Moving Assets into Blender]]==
==Moving Assets into Unreal Engine 4==
==Moving Assets into Unity Game Engine==
==Moving Assets into Google Sketchup==
==Preparing assets for use with Second Life==
624e0ab7e3094e1a680fa394fa5eba1b7d01c557
334
333
2015-08-02T20:38:32Z
Robbaer
12
/* Background and Technical Considerations */
wikitext
text/x-wiki
== Summary ==
More often than not MakeHuman users will want to move their creation into another program to continue the creation process. This section provides information on how to achieve this for common target programs. The ''Background and Technical Consideratins'' section provides some background that are common to all workflows. It is not essential to read the introduction before going straight to the program of interest, but doing so might help you understand ''why'' certain steps work or are necessary. In many cases there can be more than one way to accomplish the same thing. The method described here may not be optimal for your situation, but it should help get you started.
==Background and Technical Considerations==
[[Background and Technical Considerations]]
'''Introduction'''
Many MakeHuman users will use the work they create in MakeHuman as a component of a project completed in an external, downstream application. The most common target applications are 3D graphics applications like Blender, Autodesk 3DSMax, and Autodesk Maya or gaming engines like Unity Engine or Unreal Engine 4 or Virtual Worlds like Second Life. In some cases, the MakeHuman user will be interested in moving just the mesh. In other cases, the user will be interested in moving a complete, posed, skeletonized character to the downstream application. The purpose of this document is to discuss the basic process of moving a finished MakeHuman asset to a downstream program and producing a reasonable facsimile of its MakeHuman appearance in the downstream application. It is important to recognize that because each application has its own way of representing 3D assets, and because each export format has its own set of idiosyncrasies, there will be adjustments and approximations in the asset transfer process.
'''Format Considerations'''
In an effort to provide the broadest latitude for user workflows, the MakeHuman development team is directing it major export support toward Autodesk FBX format and Khronos Collada format. In addition, Blender users have the option to install the [https://bitbucket.org/ThomasMakeHuman/mhx2-makehuman-exchange independently developed .mhx2 tools], which are independently developed and maintained by Thomas Larson. Collada is a text-based format and is an open standard, but implementation of the standard is not as consistent as might be hoped. FBX is a proprietary standard developed by Autodesk and supported through a software development kit (FBX SDK) written in C++ and a Python FBX scripting template. The FBX standard is periodically updated by Autodesk and can be saved as either an ASCII or a binary format. Downstream programs may make assumptions about the FBX version being imported, and may limit users to either binary or ASCII importing. Surprisingly, CG assets exported from various programs as collada and FBX do not make it back into the same program as a round-trip without changes to some components of the scene. For example, this is true of FBX format in both 3DSMax and Maya for MakeHuman assets. It is also true for Blender with both FBX and collada format for MakeHuman assets. In this document, we will attempt to provide some support for dealing with this type of surprise.
'''MakeHuman Shader and Asset Rendering'''
A “shader” is computer code that translates digital information into a properly rendered image on the computer screen. Different algorithms use different methods of constructing such a display. By default in MakeHuman, the viewport lighting is handled by the built-in light-sphere shader. The light-sphere shader takes advantage of support for the openGL standard provided by today’s graphics cards. What the viewer sees on the screen depends not only on the color of assets, like skin and clothing, but also on the nature of the lights illuminating the scene and causing reflections and shadows. Most downstream programs use other shader strategies, the most common of which include Phong shaders, Blinn shaders, or Lambert shaders. Because the code and conceptual design of these shaders differs from that of the MakeHuman light-sphere shader, the user should be prepared to make some adjustments in the downstream program to get the final desired effect. Some MakeHuman assets also include Normal maps which the user will want to integrate into the downstream applications rendering.
When a MakeHuman material (for example, skin or clothing or eyelashes) is exported, it carries with it a limited amount of fundamental information for by the downstream program’s shaders. In an ideal world, the downstream program would import this raw information, correctly populate the variables in its shaders, and yield the same view of the human that was exported from MakeHuman. At present this does not typically happen, and the user must make some adjustments. This Wiki section is designed to help you negotiate through that process.
'''Spatial transformation: MakeHuman Coordinate System, MakeHuman Skeletons, and MakeHuman Scales'''
The MakeHuman viewport is oriented so that the positive end of the x-axis is to the right, the positive end of the y-axis it up, and the positive end of the z-axis is out through the front to the screen. Other CG programs can use other schemes, so it is essential to know the coordinate system used by the downstream target at export time, if you wish to minimize the adjustments you make after importing. The settings tab allows users to work in metric units of decimeters or imperial units of inches. Downstream programs vary in their de facto units, and again, it is generally a good idea to anticipate your needs at export time rather than trying to make adjustments during or after import. It is sometimes said that these programs have no default unit. To a degree this is true. However, the default grid pattern, assumptions of other humanoid producing programs, and assumptions of the “physics systems” will often work best with the export units specified in the table below:
TABLE HERE
'''Working with Rigs and Skeletons'''
Internally, MakeHuman uses its default skeleton as the basis of mesh vertex weighting for creating the poses available on the pose tab. This rig includes a special set of bones that can be used for driving facial expressions, but as of the current release (MakeHuman 1.1.x), there is not extensive support for inverse kinematics, and animation must be done downstream in the production pipeline. Historically, MakeHuman has had close ties to Blender, but the ultimate development goal is to provide strong generic support for all the major tools used in the industry, and with MakeHuman 1.1.x, substantial progress has been made by providing weighted skeletons suited for standard use in various downstream applications. For the most part, the name of the most appropriate rig will be clearly associated with the target downstream application, but the tag filters on the Pose/Animate | skeleton tab are intended to help choose a rig suited more generally to a specific purpose like motion capture integration, facial animation, or gaming applications. MakeHuman is designed to provide the user with maximum flexibility at creation time. To provide skeletons that work perfectly with every conceivable variation of the sliders is a laudable but elusive goal. That said, the user should get excellent results with the current approach, but the user should be prepared to make some minor tweaks to skeletons and weights downstream, particularly with extreme character dimensions or extreme poses.
'''MakeHuman Assets with transparency'''
In CG art, materials for mesh objects are frequently created by shaders that use various types of image maps to provide some of the information for determining the color, transparency, and light behavior on the surface of mesh objects. These image maps are referred to as textures. MakeHuman has textured materials available for the body (including proxy topologies), eyes, eyebrows, eyelashes, tongue, teeth, and hair. During export, these textures need to made available to the program that will be importing the MakeHuman output. Two aspects of this process need to be understood by the MakeHuman user: 1) how textures are saved; and 2) how transparency is handled.
There are two possible standards for storing texture assets upon export. They can either be embedded in an exported file, or they can be saved to a folder as named images with reference to the location of those files in the exported file. At present, MakeHuman uses the latter approach when exporting material textures. Following the export process, MakeHuman exports will be located in ~/makehuman/v1/exports/, and the texture images will be located in a corresponding subfolder ~/makehuman/v1/exports/textures. The tilde symbol indicates your user drive and home document directory. [For example, on Windows Vista and later, this typically would be: C:/Users/%USERNAME%/Documents/makehuman/v1/exports and a textures subfolder, where %USERNAME% is replaced by your username.]
Transparency is used in 3D art to let a viewer see through a mesh object to experience the color, reflections and lighting behind that object. MakeHuman uses transparency with textures for the eyes, eyebrows, eyelashes, and hair. This allows complex real world geometry to be represented by much simpler quasi-planar objects. For example, the hairs of the eyebrows are painted onto a flat surface with transparent spaces in between the painted hairs rather than creating tiny mesh objects for each of the 250-1000 individual hairs. CG programs can indicate which regions of the eyebrow should be transparent either by using a separate image where blackness indicates transparent and whiteness indicates opacity. Grayness is used to represent partial transparency. An alternative approach to representing transparency is to use an image format like .tga or .png which has a one byte channel, called an alpha channel, for just this purpose. Again, values near zero (black) typically represent “completely transparent” and values near 255 (white) typically represent “completely opaque”. MakeHuman represents the transparent regions of its assets using the alpha channel method and the .png format for textures. Unfortunately, importers for filmbox (FBX) and collada formats (DAE) do not automatically extract the transparency information provided by MakeHuman, or more specifically, they do not provide it to their shaders as anticipated. This is not just a MakeHuman problem but reflects multiple ways of handling transparency and alpha channels within the industry. Notably, exporting and reimporting assets with alpha channel transparency into the very same program fails with Blender, 3DSMax, and Maya for FBX, and where available, DAE formats. This forces the MakeHuman user to understand how to overcome this limitation in his favorite downstream application. Some introductory help will be provided for common applications later in this document.
There is one additional aspect of using transparency to make a single, simple mesh represent multiple small objects like eyebrows, and that is the issue of shadows. Lighting systems in 3D worlds creates a simulation of reality by making shadows appear on mesh objects in places you would expect to see them in the real world and with the soft edges you would expect to see in the real world. Shadows are a function of both the light source, the object blocking that light, and the objects receiving the reflected and refracted light from other objects. For objects that have transparency, like MakeHuman’s eyes, eyelashes, eyebrows, and hair, shadows should only be cast by the opaque portion of the texture and not by the transparent portions of the texture. The handling of shadows differs considerably from program to program, and objects with alpha channel transparency can need some special handling to accommodate these differences. This handling is not just about the assets with alpha map transparency, themselves. Sometimes it is necessary to set parameters to explicitly tell other objects like the MakeHuman body to not display shadows from the transparent regions of the eyebrows but to show shadows from the opaque hairs of the eyebrows. Shadows of transparently mapped assets will be addressed further in subsequent sections (where information is available).
==Illustrating the Export Process for Subsequent Import==
For the purposes of illustration we will take a straight forward MakeHuman character that has been given a skeleton, a pose, a skin material, clothing, eyes, eyelashes, eyebrows, hair, tongue and teeth. We will then export it for import into a number of popular downstream applications. For each application, our goal will be to get the character to look similar to its original look in MakeHuman. We will pay particular attention to the head and face because this is the area of greatest difficulty for dealing with transparency and shadows. The character has the default skeleton and has been set in the T-pose which is a common starting pose for animation-based work. The image we will be exporting looks like this in MakeHuman:
[[File:ImpExp-001.png]]
'''Figure 1.''' MakeHuman character as viewed from within MakeHuman prior to export.
In subsequent sections, we will discuss the steps needed to reproduce this look after importing into a downstream program.
==[[Moving Assets into Autodesk Maya]]==
[[Moving Assets into Autodesk Maya]]
This subsection describes the restoration and use of MakeHuman's transparency and skeletal assets after importing in Autodesk Maya.
*Introduction [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Introduction]
*Importing and Initial Setup [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Importing_and_Initial_Setup]
*Basic Repair of Eye Transparency [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Basic_Repair_of_Eye_Transparency]
*Repeat for other Transparent Assets [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Repeat_for_other_Transparent_Assets]
*Raytrace Shadows [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Raytrace_Shadows]
*Re-importing "Fixed MakeHuman Assets" from Maya after saving in FBX format [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Re-importing_Intermediate_FBX_files_from_Maya]
*Adopting MakeHuman Skeletons to Maya [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Adopting_MakeHuman_Skeletons_to_Maya]
<font color = 'red'>--------Skeleton subsection still to be written--------</font>
==[[Moving Assets into Autodesk 3DSMax]]==
This subsection describes the restoration and use of MakeHuman's transparency and skeletal assets after importing in Autodesk 3DSMax.
*Units Considerations[http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Units_Considerations]
*Importing FBX into 3DSMax[http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Importing_FBX_into_3DSMax]
*Restoring Transparency for the Eyes[http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Restoring_Transparency_for_the_Eyes]
*Fixing Transparency on the Other Assets[http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Fixing_Transparency_on_the_Other_Assets]
*Repairing an Imported MakeHuman FBX file that was previously Exported after Fixing[http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Repairing_an_Imported_MakeHuman_FBX_file_that_was_previously_Exported_after_Fixing]
*Importing MakeHuman Skeletons into 3DSMAX[http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Importing_MakeHuman_Skeletons_into_3DSMAX]
==[[Moving Assets into Blender]]==
==Moving Assets into Unreal Engine 4==
==Moving Assets into Unity Game Engine==
==Moving Assets into Google Sketchup==
==Preparing assets for use with Second Life==
7b1a21889eaa732f2bc0c6292f3bdedd4b16d49e
333
332
2015-08-02T20:37:26Z
Robbaer
12
/* Moving Assets into Autodesk 3DSMax */
wikitext
text/x-wiki
== Summary ==
More often than not MakeHuman users will want to move their creation into another program to continue the creation process. This section provides information on how to achieve this for common target programs. The ''Background and Technical Consideratins'' section provides some background that are common to all workflows. It is not essential to read the introduction before going straight to the program of interest, but doing so might help you understand ''why'' certain steps work or are necessary. In many cases there can be more than one way to accomplish the same thing. The method described here may not be optimal for your situation, but it should help get you started.
==Background and Technical Considerations==
'''Introduction'''
Many MakeHuman users will use the work they create in MakeHuman as a component of a project completed in an external, downstream application. The most common target applications are 3D graphics applications like Blender, Autodesk 3DSMax, and Autodesk Maya or gaming engines like Unity Engine or Unreal Engine 4 or Virtual Worlds like Second Life. In some cases, the MakeHuman user will be interested in moving just the mesh. In other cases, the user will be interested in moving a complete, posed, skeletonized character to the downstream application. The purpose of this document is to discuss the basic process of moving a finished MakeHuman asset to a downstream program and producing a reasonable facsimile of its MakeHuman appearance in the downstream application. It is important to recognize that because each application has its own way of representing 3D assets, and because each export format has its own set of idiosyncrasies, there will be adjustments and approximations in the asset transfer process.
'''Format Considerations'''
In an effort to provide the broadest latitude for user workflows, the MakeHuman development team is directing it major export support toward Autodesk FBX format and Khronos Collada format. In addition, Blender users have the option to install the [https://bitbucket.org/ThomasMakeHuman/mhx2-makehuman-exchange independently developed .mhx2 tools], which are independently developed and maintained by Thomas Larson. Collada is a text-based format and is an open standard, but implementation of the standard is not as consistent as might be hoped. FBX is a proprietary standard developed by Autodesk and supported through a software development kit (FBX SDK) written in C++ and a Python FBX scripting template. The FBX standard is periodically updated by Autodesk and can be saved as either an ASCII or a binary format. Downstream programs may make assumptions about the FBX version being imported, and may limit users to either binary or ASCII importing. Surprisingly, CG assets exported from various programs as collada and FBX do not make it back into the same program as a round-trip without changes to some components of the scene. For example, this is true of FBX format in both 3DSMax and Maya for MakeHuman assets. It is also true for Blender with both FBX and collada format for MakeHuman assets. In this document, we will attempt to provide some support for dealing with this type of surprise.
'''MakeHuman Shader and Asset Rendering'''
A “shader” is computer code that translates digital information into a properly rendered image on the computer screen. Different algorithms use different methods of constructing such a display. By default in MakeHuman, the viewport lighting is handled by the built-in light-sphere shader. The light-sphere shader takes advantage of support for the openGL standard provided by today’s graphics cards. What the viewer sees on the screen depends not only on the color of assets, like skin and clothing, but also on the nature of the lights illuminating the scene and causing reflections and shadows. Most downstream programs use other shader strategies, the most common of which include Phong shaders, Blinn shaders, or Lambert shaders. Because the code and conceptual design of these shaders differs from that of the MakeHuman light-sphere shader, the user should be prepared to make some adjustments in the downstream program to get the final desired effect. Some MakeHuman assets also include Normal maps which the user will want to integrate into the downstream applications rendering.
When a MakeHuman material (for example, skin or clothing or eyelashes) is exported, it carries with it a limited amount of fundamental information for by the downstream program’s shaders. In an ideal world, the downstream program would import this raw information, correctly populate the variables in its shaders, and yield the same view of the human that was exported from MakeHuman. At present this does not typically happen, and the user must make some adjustments. This Wiki section is designed to help you negotiate through that process.
'''Spatial transformation: MakeHuman Coordinate System, MakeHuman Skeletons, and MakeHuman Scales'''
The MakeHuman viewport is oriented so that the positive end of the x-axis is to the right, the positive end of the y-axis it up, and the positive end of the z-axis is out through the front to the screen. Other CG programs can use other schemes, so it is essential to know the coordinate system used by the downstream target at export time, if you wish to minimize the adjustments you make after importing. The settings tab allows users to work in metric units of decimeters or imperial units of inches. Downstream programs vary in their de facto units, and again, it is generally a good idea to anticipate your needs at export time rather than trying to make adjustments during or after import. It is sometimes said that these programs have no default unit. To a degree this is true. However, the default grid pattern, assumptions of other humanoid producing programs, and assumptions of the “physics systems” will often work best with the export units specified in the table below:
TABLE HERE
'''Working with Rigs and Skeletons'''
Internally, MakeHuman uses its default skeleton as the basis of mesh vertex weighting for creating the poses available on the pose tab. This rig includes a special set of bones that can be used for driving facial expressions, but as of the current release (MakeHuman 1.1.x), there is not extensive support for inverse kinematics, and animation must be done downstream in the production pipeline. Historically, MakeHuman has had close ties to Blender, but the ultimate development goal is to provide strong generic support for all the major tools used in the industry, and with MakeHuman 1.1.x, substantial progress has been made by providing weighted skeletons suited for standard use in various downstream applications. For the most part, the name of the most appropriate rig will be clearly associated with the target downstream application, but the tag filters on the Pose/Animate | skeleton tab are intended to help choose a rig suited more generally to a specific purpose like motion capture integration, facial animation, or gaming applications. MakeHuman is designed to provide the user with maximum flexibility at creation time. To provide skeletons that work perfectly with every conceivable variation of the sliders is a laudable but elusive goal. That said, the user should get excellent results with the current approach, but the user should be prepared to make some minor tweaks to skeletons and weights downstream, particularly with extreme character dimensions or extreme poses.
'''MakeHuman Assets with transparency'''
In CG art, materials for mesh objects are frequently created by shaders that use various types of image maps to provide some of the information for determining the color, transparency, and light behavior on the surface of mesh objects. These image maps are referred to as textures. MakeHuman has textured materials available for the body (including proxy topologies), eyes, eyebrows, eyelashes, tongue, teeth, and hair. During export, these textures need to made available to the program that will be importing the MakeHuman output. Two aspects of this process need to be understood by the MakeHuman user: 1) how textures are saved; and 2) how transparency is handled.
There are two possible standards for storing texture assets upon export. They can either be embedded in an exported file, or they can be saved to a folder as named images with reference to the location of those files in the exported file. At present, MakeHuman uses the latter approach when exporting material textures. Following the export process, MakeHuman exports will be located in ~/makehuman/v1/exports/, and the texture images will be located in a corresponding subfolder ~/makehuman/v1/exports/textures. The tilde symbol indicates your user drive and home document directory. [For example, on Windows Vista and later, this typically would be: C:/Users/%USERNAME%/Documents/makehuman/v1/exports and a textures subfolder, where %USERNAME% is replaced by your username.]
Transparency is used in 3D art to let a viewer see through a mesh object to experience the color, reflections and lighting behind that object. MakeHuman uses transparency with textures for the eyes, eyebrows, eyelashes, and hair. This allows complex real world geometry to be represented by much simpler quasi-planar objects. For example, the hairs of the eyebrows are painted onto a flat surface with transparent spaces in between the painted hairs rather than creating tiny mesh objects for each of the 250-1000 individual hairs. CG programs can indicate which regions of the eyebrow should be transparent either by using a separate image where blackness indicates transparent and whiteness indicates opacity. Grayness is used to represent partial transparency. An alternative approach to representing transparency is to use an image format like .tga or .png which has a one byte channel, called an alpha channel, for just this purpose. Again, values near zero (black) typically represent “completely transparent” and values near 255 (white) typically represent “completely opaque”. MakeHuman represents the transparent regions of its assets using the alpha channel method and the .png format for textures. Unfortunately, importers for filmbox (FBX) and collada formats (DAE) do not automatically extract the transparency information provided by MakeHuman, or more specifically, they do not provide it to their shaders as anticipated. This is not just a MakeHuman problem but reflects multiple ways of handling transparency and alpha channels within the industry. Notably, exporting and reimporting assets with alpha channel transparency into the very same program fails with Blender, 3DSMax, and Maya for FBX, and where available, DAE formats. This forces the MakeHuman user to understand how to overcome this limitation in his favorite downstream application. Some introductory help will be provided for common applications later in this document.
There is one additional aspect of using transparency to make a single, simple mesh represent multiple small objects like eyebrows, and that is the issue of shadows. Lighting systems in 3D worlds creates a simulation of reality by making shadows appear on mesh objects in places you would expect to see them in the real world and with the soft edges you would expect to see in the real world. Shadows are a function of both the light source, the object blocking that light, and the objects receiving the reflected and refracted light from other objects. For objects that have transparency, like MakeHuman’s eyes, eyelashes, eyebrows, and hair, shadows should only be cast by the opaque portion of the texture and not by the transparent portions of the texture. The handling of shadows differs considerably from program to program, and objects with alpha channel transparency can need some special handling to accommodate these differences. This handling is not just about the assets with alpha map transparency, themselves. Sometimes it is necessary to set parameters to explicitly tell other objects like the MakeHuman body to not display shadows from the transparent regions of the eyebrows but to show shadows from the opaque hairs of the eyebrows. Shadows of transparently mapped assets will be addressed further in subsequent sections (where information is available).
==Illustrating the Export Process for Subsequent Import==
For the purposes of illustration we will take a straight forward MakeHuman character that has been given a skeleton, a pose, a skin material, clothing, eyes, eyelashes, eyebrows, hair, tongue and teeth. We will then export it for import into a number of popular downstream applications. For each application, our goal will be to get the character to look similar to its original look in MakeHuman. We will pay particular attention to the head and face because this is the area of greatest difficulty for dealing with transparency and shadows. The character has the default skeleton and has been set in the T-pose which is a common starting pose for animation-based work. The image we will be exporting looks like this in MakeHuman:
[[File:ImpExp-001.png]]
'''Figure 1.''' MakeHuman character as viewed from within MakeHuman prior to export.
In subsequent sections, we will discuss the steps needed to reproduce this look after importing into a downstream program.
==[[Moving Assets into Autodesk Maya]]==
[[Moving Assets into Autodesk Maya]]
This subsection describes the restoration and use of MakeHuman's transparency and skeletal assets after importing in Autodesk Maya.
*Introduction [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Introduction]
*Importing and Initial Setup [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Importing_and_Initial_Setup]
*Basic Repair of Eye Transparency [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Basic_Repair_of_Eye_Transparency]
*Repeat for other Transparent Assets [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Repeat_for_other_Transparent_Assets]
*Raytrace Shadows [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Raytrace_Shadows]
*Re-importing "Fixed MakeHuman Assets" from Maya after saving in FBX format [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Re-importing_Intermediate_FBX_files_from_Maya]
*Adopting MakeHuman Skeletons to Maya [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Adopting_MakeHuman_Skeletons_to_Maya]
<font color = 'red'>--------Skeleton subsection still to be written--------</font>
==[[Moving Assets into Autodesk 3DSMax]]==
This subsection describes the restoration and use of MakeHuman's transparency and skeletal assets after importing in Autodesk 3DSMax.
*Units Considerations[http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Units_Considerations]
*Importing FBX into 3DSMax[http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Importing_FBX_into_3DSMax]
*Restoring Transparency for the Eyes[http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Restoring_Transparency_for_the_Eyes]
*Fixing Transparency on the Other Assets[http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Fixing_Transparency_on_the_Other_Assets]
*Repairing an Imported MakeHuman FBX file that was previously Exported after Fixing[http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Repairing_an_Imported_MakeHuman_FBX_file_that_was_previously_Exported_after_Fixing]
*Importing MakeHuman Skeletons into 3DSMAX[http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Importing_MakeHuman_Skeletons_into_3DSMAX]
==[[Moving Assets into Blender]]==
==Moving Assets into Unreal Engine 4==
==Moving Assets into Unity Game Engine==
==Moving Assets into Google Sketchup==
==Preparing assets for use with Second Life==
64c5bcd3779ad0fa2df966fda9d569647b7ba09a
332
331
2015-08-02T20:36:29Z
Robbaer
12
/* Moving Assets into Autodesk 3DSMax */
wikitext
text/x-wiki
== Summary ==
More often than not MakeHuman users will want to move their creation into another program to continue the creation process. This section provides information on how to achieve this for common target programs. The ''Background and Technical Consideratins'' section provides some background that are common to all workflows. It is not essential to read the introduction before going straight to the program of interest, but doing so might help you understand ''why'' certain steps work or are necessary. In many cases there can be more than one way to accomplish the same thing. The method described here may not be optimal for your situation, but it should help get you started.
==Background and Technical Considerations==
'''Introduction'''
Many MakeHuman users will use the work they create in MakeHuman as a component of a project completed in an external, downstream application. The most common target applications are 3D graphics applications like Blender, Autodesk 3DSMax, and Autodesk Maya or gaming engines like Unity Engine or Unreal Engine 4 or Virtual Worlds like Second Life. In some cases, the MakeHuman user will be interested in moving just the mesh. In other cases, the user will be interested in moving a complete, posed, skeletonized character to the downstream application. The purpose of this document is to discuss the basic process of moving a finished MakeHuman asset to a downstream program and producing a reasonable facsimile of its MakeHuman appearance in the downstream application. It is important to recognize that because each application has its own way of representing 3D assets, and because each export format has its own set of idiosyncrasies, there will be adjustments and approximations in the asset transfer process.
'''Format Considerations'''
In an effort to provide the broadest latitude for user workflows, the MakeHuman development team is directing it major export support toward Autodesk FBX format and Khronos Collada format. In addition, Blender users have the option to install the [https://bitbucket.org/ThomasMakeHuman/mhx2-makehuman-exchange independently developed .mhx2 tools], which are independently developed and maintained by Thomas Larson. Collada is a text-based format and is an open standard, but implementation of the standard is not as consistent as might be hoped. FBX is a proprietary standard developed by Autodesk and supported through a software development kit (FBX SDK) written in C++ and a Python FBX scripting template. The FBX standard is periodically updated by Autodesk and can be saved as either an ASCII or a binary format. Downstream programs may make assumptions about the FBX version being imported, and may limit users to either binary or ASCII importing. Surprisingly, CG assets exported from various programs as collada and FBX do not make it back into the same program as a round-trip without changes to some components of the scene. For example, this is true of FBX format in both 3DSMax and Maya for MakeHuman assets. It is also true for Blender with both FBX and collada format for MakeHuman assets. In this document, we will attempt to provide some support for dealing with this type of surprise.
'''MakeHuman Shader and Asset Rendering'''
A “shader” is computer code that translates digital information into a properly rendered image on the computer screen. Different algorithms use different methods of constructing such a display. By default in MakeHuman, the viewport lighting is handled by the built-in light-sphere shader. The light-sphere shader takes advantage of support for the openGL standard provided by today’s graphics cards. What the viewer sees on the screen depends not only on the color of assets, like skin and clothing, but also on the nature of the lights illuminating the scene and causing reflections and shadows. Most downstream programs use other shader strategies, the most common of which include Phong shaders, Blinn shaders, or Lambert shaders. Because the code and conceptual design of these shaders differs from that of the MakeHuman light-sphere shader, the user should be prepared to make some adjustments in the downstream program to get the final desired effect. Some MakeHuman assets also include Normal maps which the user will want to integrate into the downstream applications rendering.
When a MakeHuman material (for example, skin or clothing or eyelashes) is exported, it carries with it a limited amount of fundamental information for by the downstream program’s shaders. In an ideal world, the downstream program would import this raw information, correctly populate the variables in its shaders, and yield the same view of the human that was exported from MakeHuman. At present this does not typically happen, and the user must make some adjustments. This Wiki section is designed to help you negotiate through that process.
'''Spatial transformation: MakeHuman Coordinate System, MakeHuman Skeletons, and MakeHuman Scales'''
The MakeHuman viewport is oriented so that the positive end of the x-axis is to the right, the positive end of the y-axis it up, and the positive end of the z-axis is out through the front to the screen. Other CG programs can use other schemes, so it is essential to know the coordinate system used by the downstream target at export time, if you wish to minimize the adjustments you make after importing. The settings tab allows users to work in metric units of decimeters or imperial units of inches. Downstream programs vary in their de facto units, and again, it is generally a good idea to anticipate your needs at export time rather than trying to make adjustments during or after import. It is sometimes said that these programs have no default unit. To a degree this is true. However, the default grid pattern, assumptions of other humanoid producing programs, and assumptions of the “physics systems” will often work best with the export units specified in the table below:
TABLE HERE
'''Working with Rigs and Skeletons'''
Internally, MakeHuman uses its default skeleton as the basis of mesh vertex weighting for creating the poses available on the pose tab. This rig includes a special set of bones that can be used for driving facial expressions, but as of the current release (MakeHuman 1.1.x), there is not extensive support for inverse kinematics, and animation must be done downstream in the production pipeline. Historically, MakeHuman has had close ties to Blender, but the ultimate development goal is to provide strong generic support for all the major tools used in the industry, and with MakeHuman 1.1.x, substantial progress has been made by providing weighted skeletons suited for standard use in various downstream applications. For the most part, the name of the most appropriate rig will be clearly associated with the target downstream application, but the tag filters on the Pose/Animate | skeleton tab are intended to help choose a rig suited more generally to a specific purpose like motion capture integration, facial animation, or gaming applications. MakeHuman is designed to provide the user with maximum flexibility at creation time. To provide skeletons that work perfectly with every conceivable variation of the sliders is a laudable but elusive goal. That said, the user should get excellent results with the current approach, but the user should be prepared to make some minor tweaks to skeletons and weights downstream, particularly with extreme character dimensions or extreme poses.
'''MakeHuman Assets with transparency'''
In CG art, materials for mesh objects are frequently created by shaders that use various types of image maps to provide some of the information for determining the color, transparency, and light behavior on the surface of mesh objects. These image maps are referred to as textures. MakeHuman has textured materials available for the body (including proxy topologies), eyes, eyebrows, eyelashes, tongue, teeth, and hair. During export, these textures need to made available to the program that will be importing the MakeHuman output. Two aspects of this process need to be understood by the MakeHuman user: 1) how textures are saved; and 2) how transparency is handled.
There are two possible standards for storing texture assets upon export. They can either be embedded in an exported file, or they can be saved to a folder as named images with reference to the location of those files in the exported file. At present, MakeHuman uses the latter approach when exporting material textures. Following the export process, MakeHuman exports will be located in ~/makehuman/v1/exports/, and the texture images will be located in a corresponding subfolder ~/makehuman/v1/exports/textures. The tilde symbol indicates your user drive and home document directory. [For example, on Windows Vista and later, this typically would be: C:/Users/%USERNAME%/Documents/makehuman/v1/exports and a textures subfolder, where %USERNAME% is replaced by your username.]
Transparency is used in 3D art to let a viewer see through a mesh object to experience the color, reflections and lighting behind that object. MakeHuman uses transparency with textures for the eyes, eyebrows, eyelashes, and hair. This allows complex real world geometry to be represented by much simpler quasi-planar objects. For example, the hairs of the eyebrows are painted onto a flat surface with transparent spaces in between the painted hairs rather than creating tiny mesh objects for each of the 250-1000 individual hairs. CG programs can indicate which regions of the eyebrow should be transparent either by using a separate image where blackness indicates transparent and whiteness indicates opacity. Grayness is used to represent partial transparency. An alternative approach to representing transparency is to use an image format like .tga or .png which has a one byte channel, called an alpha channel, for just this purpose. Again, values near zero (black) typically represent “completely transparent” and values near 255 (white) typically represent “completely opaque”. MakeHuman represents the transparent regions of its assets using the alpha channel method and the .png format for textures. Unfortunately, importers for filmbox (FBX) and collada formats (DAE) do not automatically extract the transparency information provided by MakeHuman, or more specifically, they do not provide it to their shaders as anticipated. This is not just a MakeHuman problem but reflects multiple ways of handling transparency and alpha channels within the industry. Notably, exporting and reimporting assets with alpha channel transparency into the very same program fails with Blender, 3DSMax, and Maya for FBX, and where available, DAE formats. This forces the MakeHuman user to understand how to overcome this limitation in his favorite downstream application. Some introductory help will be provided for common applications later in this document.
There is one additional aspect of using transparency to make a single, simple mesh represent multiple small objects like eyebrows, and that is the issue of shadows. Lighting systems in 3D worlds creates a simulation of reality by making shadows appear on mesh objects in places you would expect to see them in the real world and with the soft edges you would expect to see in the real world. Shadows are a function of both the light source, the object blocking that light, and the objects receiving the reflected and refracted light from other objects. For objects that have transparency, like MakeHuman’s eyes, eyelashes, eyebrows, and hair, shadows should only be cast by the opaque portion of the texture and not by the transparent portions of the texture. The handling of shadows differs considerably from program to program, and objects with alpha channel transparency can need some special handling to accommodate these differences. This handling is not just about the assets with alpha map transparency, themselves. Sometimes it is necessary to set parameters to explicitly tell other objects like the MakeHuman body to not display shadows from the transparent regions of the eyebrows but to show shadows from the opaque hairs of the eyebrows. Shadows of transparently mapped assets will be addressed further in subsequent sections (where information is available).
==Illustrating the Export Process for Subsequent Import==
For the purposes of illustration we will take a straight forward MakeHuman character that has been given a skeleton, a pose, a skin material, clothing, eyes, eyelashes, eyebrows, hair, tongue and teeth. We will then export it for import into a number of popular downstream applications. For each application, our goal will be to get the character to look similar to its original look in MakeHuman. We will pay particular attention to the head and face because this is the area of greatest difficulty for dealing with transparency and shadows. The character has the default skeleton and has been set in the T-pose which is a common starting pose for animation-based work. The image we will be exporting looks like this in MakeHuman:
[[File:ImpExp-001.png]]
'''Figure 1.''' MakeHuman character as viewed from within MakeHuman prior to export.
In subsequent sections, we will discuss the steps needed to reproduce this look after importing into a downstream program.
==[[Moving Assets into Autodesk Maya]]==
[[Moving Assets into Autodesk Maya]]
This subsection describes the restoration and use of MakeHuman's transparency and skeletal assets after importing in Autodesk Maya.
*Introduction [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Introduction]
*Importing and Initial Setup [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Importing_and_Initial_Setup]
*Basic Repair of Eye Transparency [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Basic_Repair_of_Eye_Transparency]
*Repeat for other Transparent Assets [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Repeat_for_other_Transparent_Assets]
*Raytrace Shadows [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Raytrace_Shadows]
*Re-importing "Fixed MakeHuman Assets" from Maya after saving in FBX format [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Re-importing_Intermediate_FBX_files_from_Maya]
*Adopting MakeHuman Skeletons to Maya [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Adopting_MakeHuman_Skeletons_to_Maya]
<font color = 'red'>--------Skeleton subsection still to be written--------</font>
==[[Moving Assets into Autodesk 3DSMax]]==
This subsection describes the restoration and use of MakeHuman's transparency and skeletal assets after importing in Autodesk 3DSMax.
Introduction [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Introduction]
*Units Considerations[http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Units_Considerations]
*Importing FBX into 3DSMax[http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Importing_FBX_into_3DSMax]
*Restoring Transparency for the Eyes[http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Restoring_Transparency_for_the_Eyes]
*Fixing Transparency on the Other Assets[http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Fixing_Transparency_on_the_Other_Assets]
*Repairing an Imported MakeHuman FBX file that was previously Exported after Fixing[http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Repairing_an_Imported_MakeHuman_FBX_file_that_was_previously_Exported_after_Fixing]
*Importing MakeHuman Skeletons into 3DSMAX[http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax#Importing_MakeHuman_Skeletons_into_3DSMAX]
==[[Moving Assets into Blender]]==
==Moving Assets into Unreal Engine 4==
==Moving Assets into Unity Game Engine==
==Moving Assets into Google Sketchup==
==Preparing assets for use with Second Life==
3817f94f438a73a498250f6a5591f384a078b131
331
330
2015-08-02T20:33:05Z
Robbaer
12
/* Moving Assets into Autodesk 3DSMax */
wikitext
text/x-wiki
== Summary ==
More often than not MakeHuman users will want to move their creation into another program to continue the creation process. This section provides information on how to achieve this for common target programs. The ''Background and Technical Consideratins'' section provides some background that are common to all workflows. It is not essential to read the introduction before going straight to the program of interest, but doing so might help you understand ''why'' certain steps work or are necessary. In many cases there can be more than one way to accomplish the same thing. The method described here may not be optimal for your situation, but it should help get you started.
==Background and Technical Considerations==
'''Introduction'''
Many MakeHuman users will use the work they create in MakeHuman as a component of a project completed in an external, downstream application. The most common target applications are 3D graphics applications like Blender, Autodesk 3DSMax, and Autodesk Maya or gaming engines like Unity Engine or Unreal Engine 4 or Virtual Worlds like Second Life. In some cases, the MakeHuman user will be interested in moving just the mesh. In other cases, the user will be interested in moving a complete, posed, skeletonized character to the downstream application. The purpose of this document is to discuss the basic process of moving a finished MakeHuman asset to a downstream program and producing a reasonable facsimile of its MakeHuman appearance in the downstream application. It is important to recognize that because each application has its own way of representing 3D assets, and because each export format has its own set of idiosyncrasies, there will be adjustments and approximations in the asset transfer process.
'''Format Considerations'''
In an effort to provide the broadest latitude for user workflows, the MakeHuman development team is directing it major export support toward Autodesk FBX format and Khronos Collada format. In addition, Blender users have the option to install the [https://bitbucket.org/ThomasMakeHuman/mhx2-makehuman-exchange independently developed .mhx2 tools], which are independently developed and maintained by Thomas Larson. Collada is a text-based format and is an open standard, but implementation of the standard is not as consistent as might be hoped. FBX is a proprietary standard developed by Autodesk and supported through a software development kit (FBX SDK) written in C++ and a Python FBX scripting template. The FBX standard is periodically updated by Autodesk and can be saved as either an ASCII or a binary format. Downstream programs may make assumptions about the FBX version being imported, and may limit users to either binary or ASCII importing. Surprisingly, CG assets exported from various programs as collada and FBX do not make it back into the same program as a round-trip without changes to some components of the scene. For example, this is true of FBX format in both 3DSMax and Maya for MakeHuman assets. It is also true for Blender with both FBX and collada format for MakeHuman assets. In this document, we will attempt to provide some support for dealing with this type of surprise.
'''MakeHuman Shader and Asset Rendering'''
A “shader” is computer code that translates digital information into a properly rendered image on the computer screen. Different algorithms use different methods of constructing such a display. By default in MakeHuman, the viewport lighting is handled by the built-in light-sphere shader. The light-sphere shader takes advantage of support for the openGL standard provided by today’s graphics cards. What the viewer sees on the screen depends not only on the color of assets, like skin and clothing, but also on the nature of the lights illuminating the scene and causing reflections and shadows. Most downstream programs use other shader strategies, the most common of which include Phong shaders, Blinn shaders, or Lambert shaders. Because the code and conceptual design of these shaders differs from that of the MakeHuman light-sphere shader, the user should be prepared to make some adjustments in the downstream program to get the final desired effect. Some MakeHuman assets also include Normal maps which the user will want to integrate into the downstream applications rendering.
When a MakeHuman material (for example, skin or clothing or eyelashes) is exported, it carries with it a limited amount of fundamental information for by the downstream program’s shaders. In an ideal world, the downstream program would import this raw information, correctly populate the variables in its shaders, and yield the same view of the human that was exported from MakeHuman. At present this does not typically happen, and the user must make some adjustments. This Wiki section is designed to help you negotiate through that process.
'''Spatial transformation: MakeHuman Coordinate System, MakeHuman Skeletons, and MakeHuman Scales'''
The MakeHuman viewport is oriented so that the positive end of the x-axis is to the right, the positive end of the y-axis it up, and the positive end of the z-axis is out through the front to the screen. Other CG programs can use other schemes, so it is essential to know the coordinate system used by the downstream target at export time, if you wish to minimize the adjustments you make after importing. The settings tab allows users to work in metric units of decimeters or imperial units of inches. Downstream programs vary in their de facto units, and again, it is generally a good idea to anticipate your needs at export time rather than trying to make adjustments during or after import. It is sometimes said that these programs have no default unit. To a degree this is true. However, the default grid pattern, assumptions of other humanoid producing programs, and assumptions of the “physics systems” will often work best with the export units specified in the table below:
TABLE HERE
'''Working with Rigs and Skeletons'''
Internally, MakeHuman uses its default skeleton as the basis of mesh vertex weighting for creating the poses available on the pose tab. This rig includes a special set of bones that can be used for driving facial expressions, but as of the current release (MakeHuman 1.1.x), there is not extensive support for inverse kinematics, and animation must be done downstream in the production pipeline. Historically, MakeHuman has had close ties to Blender, but the ultimate development goal is to provide strong generic support for all the major tools used in the industry, and with MakeHuman 1.1.x, substantial progress has been made by providing weighted skeletons suited for standard use in various downstream applications. For the most part, the name of the most appropriate rig will be clearly associated with the target downstream application, but the tag filters on the Pose/Animate | skeleton tab are intended to help choose a rig suited more generally to a specific purpose like motion capture integration, facial animation, or gaming applications. MakeHuman is designed to provide the user with maximum flexibility at creation time. To provide skeletons that work perfectly with every conceivable variation of the sliders is a laudable but elusive goal. That said, the user should get excellent results with the current approach, but the user should be prepared to make some minor tweaks to skeletons and weights downstream, particularly with extreme character dimensions or extreme poses.
'''MakeHuman Assets with transparency'''
In CG art, materials for mesh objects are frequently created by shaders that use various types of image maps to provide some of the information for determining the color, transparency, and light behavior on the surface of mesh objects. These image maps are referred to as textures. MakeHuman has textured materials available for the body (including proxy topologies), eyes, eyebrows, eyelashes, tongue, teeth, and hair. During export, these textures need to made available to the program that will be importing the MakeHuman output. Two aspects of this process need to be understood by the MakeHuman user: 1) how textures are saved; and 2) how transparency is handled.
There are two possible standards for storing texture assets upon export. They can either be embedded in an exported file, or they can be saved to a folder as named images with reference to the location of those files in the exported file. At present, MakeHuman uses the latter approach when exporting material textures. Following the export process, MakeHuman exports will be located in ~/makehuman/v1/exports/, and the texture images will be located in a corresponding subfolder ~/makehuman/v1/exports/textures. The tilde symbol indicates your user drive and home document directory. [For example, on Windows Vista and later, this typically would be: C:/Users/%USERNAME%/Documents/makehuman/v1/exports and a textures subfolder, where %USERNAME% is replaced by your username.]
Transparency is used in 3D art to let a viewer see through a mesh object to experience the color, reflections and lighting behind that object. MakeHuman uses transparency with textures for the eyes, eyebrows, eyelashes, and hair. This allows complex real world geometry to be represented by much simpler quasi-planar objects. For example, the hairs of the eyebrows are painted onto a flat surface with transparent spaces in between the painted hairs rather than creating tiny mesh objects for each of the 250-1000 individual hairs. CG programs can indicate which regions of the eyebrow should be transparent either by using a separate image where blackness indicates transparent and whiteness indicates opacity. Grayness is used to represent partial transparency. An alternative approach to representing transparency is to use an image format like .tga or .png which has a one byte channel, called an alpha channel, for just this purpose. Again, values near zero (black) typically represent “completely transparent” and values near 255 (white) typically represent “completely opaque”. MakeHuman represents the transparent regions of its assets using the alpha channel method and the .png format for textures. Unfortunately, importers for filmbox (FBX) and collada formats (DAE) do not automatically extract the transparency information provided by MakeHuman, or more specifically, they do not provide it to their shaders as anticipated. This is not just a MakeHuman problem but reflects multiple ways of handling transparency and alpha channels within the industry. Notably, exporting and reimporting assets with alpha channel transparency into the very same program fails with Blender, 3DSMax, and Maya for FBX, and where available, DAE formats. This forces the MakeHuman user to understand how to overcome this limitation in his favorite downstream application. Some introductory help will be provided for common applications later in this document.
There is one additional aspect of using transparency to make a single, simple mesh represent multiple small objects like eyebrows, and that is the issue of shadows. Lighting systems in 3D worlds creates a simulation of reality by making shadows appear on mesh objects in places you would expect to see them in the real world and with the soft edges you would expect to see in the real world. Shadows are a function of both the light source, the object blocking that light, and the objects receiving the reflected and refracted light from other objects. For objects that have transparency, like MakeHuman’s eyes, eyelashes, eyebrows, and hair, shadows should only be cast by the opaque portion of the texture and not by the transparent portions of the texture. The handling of shadows differs considerably from program to program, and objects with alpha channel transparency can need some special handling to accommodate these differences. This handling is not just about the assets with alpha map transparency, themselves. Sometimes it is necessary to set parameters to explicitly tell other objects like the MakeHuman body to not display shadows from the transparent regions of the eyebrows but to show shadows from the opaque hairs of the eyebrows. Shadows of transparently mapped assets will be addressed further in subsequent sections (where information is available).
==Illustrating the Export Process for Subsequent Import==
For the purposes of illustration we will take a straight forward MakeHuman character that has been given a skeleton, a pose, a skin material, clothing, eyes, eyelashes, eyebrows, hair, tongue and teeth. We will then export it for import into a number of popular downstream applications. For each application, our goal will be to get the character to look similar to its original look in MakeHuman. We will pay particular attention to the head and face because this is the area of greatest difficulty for dealing with transparency and shadows. The character has the default skeleton and has been set in the T-pose which is a common starting pose for animation-based work. The image we will be exporting looks like this in MakeHuman:
[[File:ImpExp-001.png]]
'''Figure 1.''' MakeHuman character as viewed from within MakeHuman prior to export.
In subsequent sections, we will discuss the steps needed to reproduce this look after importing into a downstream program.
==[[Moving Assets into Autodesk Maya]]==
[[Moving Assets into Autodesk Maya]]
This subsection describes the restoration and use of MakeHuman's transparency and skeletal assets after importing in Autodesk Maya.
*Introduction [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Introduction]
*Importing and Initial Setup [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Importing_and_Initial_Setup]
*Basic Repair of Eye Transparency [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Basic_Repair_of_Eye_Transparency]
*Repeat for other Transparent Assets [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Repeat_for_other_Transparent_Assets]
*Raytrace Shadows [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Raytrace_Shadows]
*Re-importing "Fixed MakeHuman Assets" from Maya after saving in FBX format [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Re-importing_Intermediate_FBX_files_from_Maya]
*Adopting MakeHuman Skeletons to Maya [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Adopting_MakeHuman_Skeletons_to_Maya]
<font color = 'red'>--------Skeleton subsection still to be written--------</font>
==[[Moving Assets into Autodesk 3DSMax]]==
This subsection describes the restoration and use of MakeHuman's transparency and skeletal assets after importing in Autodesk 3DSMax.
*[Units Considerations]
*[[Importing FBX into 3DSMax]]
*[[Restoring Transparency for the Eyes]]
*[[Fixing Transparency on the Other Assets]]
*[[Repairing an Imported MakeHuman FBX file that was previously Exported after Fixing]]
*[[Importing MakeHuman Skeletons into 3DSMAX]]
==[[Moving Assets into Blender]]==
==Moving Assets into Unreal Engine 4==
==Moving Assets into Unity Game Engine==
==Moving Assets into Google Sketchup==
==Preparing assets for use with Second Life==
154a18fe4eabffcefb8dd2e56cbd9fe942fb5a56
330
329
2015-08-02T20:31:35Z
Robbaer
12
/* Moving Assets into Autodesk 3DSMax Moving Assets into Autodesk 3DSMax */
wikitext
text/x-wiki
== Summary ==
More often than not MakeHuman users will want to move their creation into another program to continue the creation process. This section provides information on how to achieve this for common target programs. The ''Background and Technical Consideratins'' section provides some background that are common to all workflows. It is not essential to read the introduction before going straight to the program of interest, but doing so might help you understand ''why'' certain steps work or are necessary. In many cases there can be more than one way to accomplish the same thing. The method described here may not be optimal for your situation, but it should help get you started.
==Background and Technical Considerations==
'''Introduction'''
Many MakeHuman users will use the work they create in MakeHuman as a component of a project completed in an external, downstream application. The most common target applications are 3D graphics applications like Blender, Autodesk 3DSMax, and Autodesk Maya or gaming engines like Unity Engine or Unreal Engine 4 or Virtual Worlds like Second Life. In some cases, the MakeHuman user will be interested in moving just the mesh. In other cases, the user will be interested in moving a complete, posed, skeletonized character to the downstream application. The purpose of this document is to discuss the basic process of moving a finished MakeHuman asset to a downstream program and producing a reasonable facsimile of its MakeHuman appearance in the downstream application. It is important to recognize that because each application has its own way of representing 3D assets, and because each export format has its own set of idiosyncrasies, there will be adjustments and approximations in the asset transfer process.
'''Format Considerations'''
In an effort to provide the broadest latitude for user workflows, the MakeHuman development team is directing it major export support toward Autodesk FBX format and Khronos Collada format. In addition, Blender users have the option to install the [https://bitbucket.org/ThomasMakeHuman/mhx2-makehuman-exchange independently developed .mhx2 tools], which are independently developed and maintained by Thomas Larson. Collada is a text-based format and is an open standard, but implementation of the standard is not as consistent as might be hoped. FBX is a proprietary standard developed by Autodesk and supported through a software development kit (FBX SDK) written in C++ and a Python FBX scripting template. The FBX standard is periodically updated by Autodesk and can be saved as either an ASCII or a binary format. Downstream programs may make assumptions about the FBX version being imported, and may limit users to either binary or ASCII importing. Surprisingly, CG assets exported from various programs as collada and FBX do not make it back into the same program as a round-trip without changes to some components of the scene. For example, this is true of FBX format in both 3DSMax and Maya for MakeHuman assets. It is also true for Blender with both FBX and collada format for MakeHuman assets. In this document, we will attempt to provide some support for dealing with this type of surprise.
'''MakeHuman Shader and Asset Rendering'''
A “shader” is computer code that translates digital information into a properly rendered image on the computer screen. Different algorithms use different methods of constructing such a display. By default in MakeHuman, the viewport lighting is handled by the built-in light-sphere shader. The light-sphere shader takes advantage of support for the openGL standard provided by today’s graphics cards. What the viewer sees on the screen depends not only on the color of assets, like skin and clothing, but also on the nature of the lights illuminating the scene and causing reflections and shadows. Most downstream programs use other shader strategies, the most common of which include Phong shaders, Blinn shaders, or Lambert shaders. Because the code and conceptual design of these shaders differs from that of the MakeHuman light-sphere shader, the user should be prepared to make some adjustments in the downstream program to get the final desired effect. Some MakeHuman assets also include Normal maps which the user will want to integrate into the downstream applications rendering.
When a MakeHuman material (for example, skin or clothing or eyelashes) is exported, it carries with it a limited amount of fundamental information for by the downstream program’s shaders. In an ideal world, the downstream program would import this raw information, correctly populate the variables in its shaders, and yield the same view of the human that was exported from MakeHuman. At present this does not typically happen, and the user must make some adjustments. This Wiki section is designed to help you negotiate through that process.
'''Spatial transformation: MakeHuman Coordinate System, MakeHuman Skeletons, and MakeHuman Scales'''
The MakeHuman viewport is oriented so that the positive end of the x-axis is to the right, the positive end of the y-axis it up, and the positive end of the z-axis is out through the front to the screen. Other CG programs can use other schemes, so it is essential to know the coordinate system used by the downstream target at export time, if you wish to minimize the adjustments you make after importing. The settings tab allows users to work in metric units of decimeters or imperial units of inches. Downstream programs vary in their de facto units, and again, it is generally a good idea to anticipate your needs at export time rather than trying to make adjustments during or after import. It is sometimes said that these programs have no default unit. To a degree this is true. However, the default grid pattern, assumptions of other humanoid producing programs, and assumptions of the “physics systems” will often work best with the export units specified in the table below:
TABLE HERE
'''Working with Rigs and Skeletons'''
Internally, MakeHuman uses its default skeleton as the basis of mesh vertex weighting for creating the poses available on the pose tab. This rig includes a special set of bones that can be used for driving facial expressions, but as of the current release (MakeHuman 1.1.x), there is not extensive support for inverse kinematics, and animation must be done downstream in the production pipeline. Historically, MakeHuman has had close ties to Blender, but the ultimate development goal is to provide strong generic support for all the major tools used in the industry, and with MakeHuman 1.1.x, substantial progress has been made by providing weighted skeletons suited for standard use in various downstream applications. For the most part, the name of the most appropriate rig will be clearly associated with the target downstream application, but the tag filters on the Pose/Animate | skeleton tab are intended to help choose a rig suited more generally to a specific purpose like motion capture integration, facial animation, or gaming applications. MakeHuman is designed to provide the user with maximum flexibility at creation time. To provide skeletons that work perfectly with every conceivable variation of the sliders is a laudable but elusive goal. That said, the user should get excellent results with the current approach, but the user should be prepared to make some minor tweaks to skeletons and weights downstream, particularly with extreme character dimensions or extreme poses.
'''MakeHuman Assets with transparency'''
In CG art, materials for mesh objects are frequently created by shaders that use various types of image maps to provide some of the information for determining the color, transparency, and light behavior on the surface of mesh objects. These image maps are referred to as textures. MakeHuman has textured materials available for the body (including proxy topologies), eyes, eyebrows, eyelashes, tongue, teeth, and hair. During export, these textures need to made available to the program that will be importing the MakeHuman output. Two aspects of this process need to be understood by the MakeHuman user: 1) how textures are saved; and 2) how transparency is handled.
There are two possible standards for storing texture assets upon export. They can either be embedded in an exported file, or they can be saved to a folder as named images with reference to the location of those files in the exported file. At present, MakeHuman uses the latter approach when exporting material textures. Following the export process, MakeHuman exports will be located in ~/makehuman/v1/exports/, and the texture images will be located in a corresponding subfolder ~/makehuman/v1/exports/textures. The tilde symbol indicates your user drive and home document directory. [For example, on Windows Vista and later, this typically would be: C:/Users/%USERNAME%/Documents/makehuman/v1/exports and a textures subfolder, where %USERNAME% is replaced by your username.]
Transparency is used in 3D art to let a viewer see through a mesh object to experience the color, reflections and lighting behind that object. MakeHuman uses transparency with textures for the eyes, eyebrows, eyelashes, and hair. This allows complex real world geometry to be represented by much simpler quasi-planar objects. For example, the hairs of the eyebrows are painted onto a flat surface with transparent spaces in between the painted hairs rather than creating tiny mesh objects for each of the 250-1000 individual hairs. CG programs can indicate which regions of the eyebrow should be transparent either by using a separate image where blackness indicates transparent and whiteness indicates opacity. Grayness is used to represent partial transparency. An alternative approach to representing transparency is to use an image format like .tga or .png which has a one byte channel, called an alpha channel, for just this purpose. Again, values near zero (black) typically represent “completely transparent” and values near 255 (white) typically represent “completely opaque”. MakeHuman represents the transparent regions of its assets using the alpha channel method and the .png format for textures. Unfortunately, importers for filmbox (FBX) and collada formats (DAE) do not automatically extract the transparency information provided by MakeHuman, or more specifically, they do not provide it to their shaders as anticipated. This is not just a MakeHuman problem but reflects multiple ways of handling transparency and alpha channels within the industry. Notably, exporting and reimporting assets with alpha channel transparency into the very same program fails with Blender, 3DSMax, and Maya for FBX, and where available, DAE formats. This forces the MakeHuman user to understand how to overcome this limitation in his favorite downstream application. Some introductory help will be provided for common applications later in this document.
There is one additional aspect of using transparency to make a single, simple mesh represent multiple small objects like eyebrows, and that is the issue of shadows. Lighting systems in 3D worlds creates a simulation of reality by making shadows appear on mesh objects in places you would expect to see them in the real world and with the soft edges you would expect to see in the real world. Shadows are a function of both the light source, the object blocking that light, and the objects receiving the reflected and refracted light from other objects. For objects that have transparency, like MakeHuman’s eyes, eyelashes, eyebrows, and hair, shadows should only be cast by the opaque portion of the texture and not by the transparent portions of the texture. The handling of shadows differs considerably from program to program, and objects with alpha channel transparency can need some special handling to accommodate these differences. This handling is not just about the assets with alpha map transparency, themselves. Sometimes it is necessary to set parameters to explicitly tell other objects like the MakeHuman body to not display shadows from the transparent regions of the eyebrows but to show shadows from the opaque hairs of the eyebrows. Shadows of transparently mapped assets will be addressed further in subsequent sections (where information is available).
==Illustrating the Export Process for Subsequent Import==
For the purposes of illustration we will take a straight forward MakeHuman character that has been given a skeleton, a pose, a skin material, clothing, eyes, eyelashes, eyebrows, hair, tongue and teeth. We will then export it for import into a number of popular downstream applications. For each application, our goal will be to get the character to look similar to its original look in MakeHuman. We will pay particular attention to the head and face because this is the area of greatest difficulty for dealing with transparency and shadows. The character has the default skeleton and has been set in the T-pose which is a common starting pose for animation-based work. The image we will be exporting looks like this in MakeHuman:
[[File:ImpExp-001.png]]
'''Figure 1.''' MakeHuman character as viewed from within MakeHuman prior to export.
In subsequent sections, we will discuss the steps needed to reproduce this look after importing into a downstream program.
==[[Moving Assets into Autodesk Maya]]==
[[Moving Assets into Autodesk Maya]]
This subsection describes the restoration and use of MakeHuman's transparency and skeletal assets after importing in Autodesk Maya.
*Introduction [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Introduction]
*Importing and Initial Setup [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Importing_and_Initial_Setup]
*Basic Repair of Eye Transparency [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Basic_Repair_of_Eye_Transparency]
*Repeat for other Transparent Assets [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Repeat_for_other_Transparent_Assets]
*Raytrace Shadows [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Raytrace_Shadows]
*Re-importing "Fixed MakeHuman Assets" from Maya after saving in FBX format [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Re-importing_Intermediate_FBX_files_from_Maya]
*Adopting MakeHuman Skeletons to Maya [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Adopting_MakeHuman_Skeletons_to_Maya]
<font color = 'red'>--------Skeleton subsection still to be written--------</font>
==[[Moving Assets into Autodesk 3DSMax]]==
This subsection describes the restoration and use of MakeHuman's transparency and skeletal assets after importing in Autodesk 3DSMax.
*[[Moving Assets into Autodesk 3DSMax Units Considerations]]
*[[Importing FBX into 3DSMax]]
*[[Restoring Transparency for the Eyes]]
*[[Fixing Transparency on the Other Assets]]
*[[Repairing an Imported MakeHuman FBX file that was previously Exported after Fixing]]
*[[Importing MakeHuman Skeletons into 3DSMAX]]
==[[Moving Assets into Blender]]==
==Moving Assets into Unreal Engine 4==
==Moving Assets into Unity Game Engine==
==Moving Assets into Google Sketchup==
==Preparing assets for use with Second Life==
4e02da0999023436459396c5c0aa12ecd42c459c
329
328
2015-08-02T20:24:26Z
Robbaer
12
/* Moving Assets into Autodesk 3DSMax Moving Assets into Autodesk 3DSMax */
wikitext
text/x-wiki
== Summary ==
More often than not MakeHuman users will want to move their creation into another program to continue the creation process. This section provides information on how to achieve this for common target programs. The ''Background and Technical Consideratins'' section provides some background that are common to all workflows. It is not essential to read the introduction before going straight to the program of interest, but doing so might help you understand ''why'' certain steps work or are necessary. In many cases there can be more than one way to accomplish the same thing. The method described here may not be optimal for your situation, but it should help get you started.
==Background and Technical Considerations==
'''Introduction'''
Many MakeHuman users will use the work they create in MakeHuman as a component of a project completed in an external, downstream application. The most common target applications are 3D graphics applications like Blender, Autodesk 3DSMax, and Autodesk Maya or gaming engines like Unity Engine or Unreal Engine 4 or Virtual Worlds like Second Life. In some cases, the MakeHuman user will be interested in moving just the mesh. In other cases, the user will be interested in moving a complete, posed, skeletonized character to the downstream application. The purpose of this document is to discuss the basic process of moving a finished MakeHuman asset to a downstream program and producing a reasonable facsimile of its MakeHuman appearance in the downstream application. It is important to recognize that because each application has its own way of representing 3D assets, and because each export format has its own set of idiosyncrasies, there will be adjustments and approximations in the asset transfer process.
'''Format Considerations'''
In an effort to provide the broadest latitude for user workflows, the MakeHuman development team is directing it major export support toward Autodesk FBX format and Khronos Collada format. In addition, Blender users have the option to install the [https://bitbucket.org/ThomasMakeHuman/mhx2-makehuman-exchange independently developed .mhx2 tools], which are independently developed and maintained by Thomas Larson. Collada is a text-based format and is an open standard, but implementation of the standard is not as consistent as might be hoped. FBX is a proprietary standard developed by Autodesk and supported through a software development kit (FBX SDK) written in C++ and a Python FBX scripting template. The FBX standard is periodically updated by Autodesk and can be saved as either an ASCII or a binary format. Downstream programs may make assumptions about the FBX version being imported, and may limit users to either binary or ASCII importing. Surprisingly, CG assets exported from various programs as collada and FBX do not make it back into the same program as a round-trip without changes to some components of the scene. For example, this is true of FBX format in both 3DSMax and Maya for MakeHuman assets. It is also true for Blender with both FBX and collada format for MakeHuman assets. In this document, we will attempt to provide some support for dealing with this type of surprise.
'''MakeHuman Shader and Asset Rendering'''
A “shader” is computer code that translates digital information into a properly rendered image on the computer screen. Different algorithms use different methods of constructing such a display. By default in MakeHuman, the viewport lighting is handled by the built-in light-sphere shader. The light-sphere shader takes advantage of support for the openGL standard provided by today’s graphics cards. What the viewer sees on the screen depends not only on the color of assets, like skin and clothing, but also on the nature of the lights illuminating the scene and causing reflections and shadows. Most downstream programs use other shader strategies, the most common of which include Phong shaders, Blinn shaders, or Lambert shaders. Because the code and conceptual design of these shaders differs from that of the MakeHuman light-sphere shader, the user should be prepared to make some adjustments in the downstream program to get the final desired effect. Some MakeHuman assets also include Normal maps which the user will want to integrate into the downstream applications rendering.
When a MakeHuman material (for example, skin or clothing or eyelashes) is exported, it carries with it a limited amount of fundamental information for by the downstream program’s shaders. In an ideal world, the downstream program would import this raw information, correctly populate the variables in its shaders, and yield the same view of the human that was exported from MakeHuman. At present this does not typically happen, and the user must make some adjustments. This Wiki section is designed to help you negotiate through that process.
'''Spatial transformation: MakeHuman Coordinate System, MakeHuman Skeletons, and MakeHuman Scales'''
The MakeHuman viewport is oriented so that the positive end of the x-axis is to the right, the positive end of the y-axis it up, and the positive end of the z-axis is out through the front to the screen. Other CG programs can use other schemes, so it is essential to know the coordinate system used by the downstream target at export time, if you wish to minimize the adjustments you make after importing. The settings tab allows users to work in metric units of decimeters or imperial units of inches. Downstream programs vary in their de facto units, and again, it is generally a good idea to anticipate your needs at export time rather than trying to make adjustments during or after import. It is sometimes said that these programs have no default unit. To a degree this is true. However, the default grid pattern, assumptions of other humanoid producing programs, and assumptions of the “physics systems” will often work best with the export units specified in the table below:
TABLE HERE
'''Working with Rigs and Skeletons'''
Internally, MakeHuman uses its default skeleton as the basis of mesh vertex weighting for creating the poses available on the pose tab. This rig includes a special set of bones that can be used for driving facial expressions, but as of the current release (MakeHuman 1.1.x), there is not extensive support for inverse kinematics, and animation must be done downstream in the production pipeline. Historically, MakeHuman has had close ties to Blender, but the ultimate development goal is to provide strong generic support for all the major tools used in the industry, and with MakeHuman 1.1.x, substantial progress has been made by providing weighted skeletons suited for standard use in various downstream applications. For the most part, the name of the most appropriate rig will be clearly associated with the target downstream application, but the tag filters on the Pose/Animate | skeleton tab are intended to help choose a rig suited more generally to a specific purpose like motion capture integration, facial animation, or gaming applications. MakeHuman is designed to provide the user with maximum flexibility at creation time. To provide skeletons that work perfectly with every conceivable variation of the sliders is a laudable but elusive goal. That said, the user should get excellent results with the current approach, but the user should be prepared to make some minor tweaks to skeletons and weights downstream, particularly with extreme character dimensions or extreme poses.
'''MakeHuman Assets with transparency'''
In CG art, materials for mesh objects are frequently created by shaders that use various types of image maps to provide some of the information for determining the color, transparency, and light behavior on the surface of mesh objects. These image maps are referred to as textures. MakeHuman has textured materials available for the body (including proxy topologies), eyes, eyebrows, eyelashes, tongue, teeth, and hair. During export, these textures need to made available to the program that will be importing the MakeHuman output. Two aspects of this process need to be understood by the MakeHuman user: 1) how textures are saved; and 2) how transparency is handled.
There are two possible standards for storing texture assets upon export. They can either be embedded in an exported file, or they can be saved to a folder as named images with reference to the location of those files in the exported file. At present, MakeHuman uses the latter approach when exporting material textures. Following the export process, MakeHuman exports will be located in ~/makehuman/v1/exports/, and the texture images will be located in a corresponding subfolder ~/makehuman/v1/exports/textures. The tilde symbol indicates your user drive and home document directory. [For example, on Windows Vista and later, this typically would be: C:/Users/%USERNAME%/Documents/makehuman/v1/exports and a textures subfolder, where %USERNAME% is replaced by your username.]
Transparency is used in 3D art to let a viewer see through a mesh object to experience the color, reflections and lighting behind that object. MakeHuman uses transparency with textures for the eyes, eyebrows, eyelashes, and hair. This allows complex real world geometry to be represented by much simpler quasi-planar objects. For example, the hairs of the eyebrows are painted onto a flat surface with transparent spaces in between the painted hairs rather than creating tiny mesh objects for each of the 250-1000 individual hairs. CG programs can indicate which regions of the eyebrow should be transparent either by using a separate image where blackness indicates transparent and whiteness indicates opacity. Grayness is used to represent partial transparency. An alternative approach to representing transparency is to use an image format like .tga or .png which has a one byte channel, called an alpha channel, for just this purpose. Again, values near zero (black) typically represent “completely transparent” and values near 255 (white) typically represent “completely opaque”. MakeHuman represents the transparent regions of its assets using the alpha channel method and the .png format for textures. Unfortunately, importers for filmbox (FBX) and collada formats (DAE) do not automatically extract the transparency information provided by MakeHuman, or more specifically, they do not provide it to their shaders as anticipated. This is not just a MakeHuman problem but reflects multiple ways of handling transparency and alpha channels within the industry. Notably, exporting and reimporting assets with alpha channel transparency into the very same program fails with Blender, 3DSMax, and Maya for FBX, and where available, DAE formats. This forces the MakeHuman user to understand how to overcome this limitation in his favorite downstream application. Some introductory help will be provided for common applications later in this document.
There is one additional aspect of using transparency to make a single, simple mesh represent multiple small objects like eyebrows, and that is the issue of shadows. Lighting systems in 3D worlds creates a simulation of reality by making shadows appear on mesh objects in places you would expect to see them in the real world and with the soft edges you would expect to see in the real world. Shadows are a function of both the light source, the object blocking that light, and the objects receiving the reflected and refracted light from other objects. For objects that have transparency, like MakeHuman’s eyes, eyelashes, eyebrows, and hair, shadows should only be cast by the opaque portion of the texture and not by the transparent portions of the texture. The handling of shadows differs considerably from program to program, and objects with alpha channel transparency can need some special handling to accommodate these differences. This handling is not just about the assets with alpha map transparency, themselves. Sometimes it is necessary to set parameters to explicitly tell other objects like the MakeHuman body to not display shadows from the transparent regions of the eyebrows but to show shadows from the opaque hairs of the eyebrows. Shadows of transparently mapped assets will be addressed further in subsequent sections (where information is available).
==Illustrating the Export Process for Subsequent Import==
For the purposes of illustration we will take a straight forward MakeHuman character that has been given a skeleton, a pose, a skin material, clothing, eyes, eyelashes, eyebrows, hair, tongue and teeth. We will then export it for import into a number of popular downstream applications. For each application, our goal will be to get the character to look similar to its original look in MakeHuman. We will pay particular attention to the head and face because this is the area of greatest difficulty for dealing with transparency and shadows. The character has the default skeleton and has been set in the T-pose which is a common starting pose for animation-based work. The image we will be exporting looks like this in MakeHuman:
[[File:ImpExp-001.png]]
'''Figure 1.''' MakeHuman character as viewed from within MakeHuman prior to export.
In subsequent sections, we will discuss the steps needed to reproduce this look after importing into a downstream program.
==[[Moving Assets into Autodesk Maya]]==
[[Moving Assets into Autodesk Maya]]
This subsection describes the restoration and use of MakeHuman's transparency and skeletal assets after importing in Autodesk Maya.
*Introduction [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Introduction]
*Importing and Initial Setup [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Importing_and_Initial_Setup]
*Basic Repair of Eye Transparency [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Basic_Repair_of_Eye_Transparency]
*Repeat for other Transparent Assets [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Repeat_for_other_Transparent_Assets]
*Raytrace Shadows [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Raytrace_Shadows]
*Re-importing "Fixed MakeHuman Assets" from Maya after saving in FBX format [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Re-importing_Intermediate_FBX_files_from_Maya]
*Adopting MakeHuman Skeletons to Maya [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Adopting_MakeHuman_Skeletons_to_Maya]
<font color = 'red'>--------Skeleton subsection still to be written--------</font>
==[[Moving Assets into Autodesk 3DSMax Moving Assets into Autodesk 3DSMax]]==
This subsection describes the restoration and use of MakeHuman's transparency and skeletal assets after importing in Autodesk 3DSMax.
*[[Units Considerations]]
*[[Importing FBX into 3DSMax]]
*[[Restoring Transparency for the Eyes]]
*[[Fixing Transparency on the Other Assets]]
*[[Repairing an Imported MakeHuman FBX file that was previously Exported after Fixing]]
*[[Importing MakeHuman Skeletons into 3DSMAX]]
==[[Moving Assets into Blender]]==
==Moving Assets into Unreal Engine 4==
==Moving Assets into Unity Game Engine==
==Moving Assets into Google Sketchup==
==Preparing assets for use with Second Life==
9155f2ea7d751103ad54a286a0ed58334900b20c
328
327
2015-08-02T20:22:31Z
Robbaer
12
/* Moving Assets into Autodesk 3DSMax */
wikitext
text/x-wiki
== Summary ==
More often than not MakeHuman users will want to move their creation into another program to continue the creation process. This section provides information on how to achieve this for common target programs. The ''Background and Technical Consideratins'' section provides some background that are common to all workflows. It is not essential to read the introduction before going straight to the program of interest, but doing so might help you understand ''why'' certain steps work or are necessary. In many cases there can be more than one way to accomplish the same thing. The method described here may not be optimal for your situation, but it should help get you started.
==Background and Technical Considerations==
'''Introduction'''
Many MakeHuman users will use the work they create in MakeHuman as a component of a project completed in an external, downstream application. The most common target applications are 3D graphics applications like Blender, Autodesk 3DSMax, and Autodesk Maya or gaming engines like Unity Engine or Unreal Engine 4 or Virtual Worlds like Second Life. In some cases, the MakeHuman user will be interested in moving just the mesh. In other cases, the user will be interested in moving a complete, posed, skeletonized character to the downstream application. The purpose of this document is to discuss the basic process of moving a finished MakeHuman asset to a downstream program and producing a reasonable facsimile of its MakeHuman appearance in the downstream application. It is important to recognize that because each application has its own way of representing 3D assets, and because each export format has its own set of idiosyncrasies, there will be adjustments and approximations in the asset transfer process.
'''Format Considerations'''
In an effort to provide the broadest latitude for user workflows, the MakeHuman development team is directing it major export support toward Autodesk FBX format and Khronos Collada format. In addition, Blender users have the option to install the [https://bitbucket.org/ThomasMakeHuman/mhx2-makehuman-exchange independently developed .mhx2 tools], which are independently developed and maintained by Thomas Larson. Collada is a text-based format and is an open standard, but implementation of the standard is not as consistent as might be hoped. FBX is a proprietary standard developed by Autodesk and supported through a software development kit (FBX SDK) written in C++ and a Python FBX scripting template. The FBX standard is periodically updated by Autodesk and can be saved as either an ASCII or a binary format. Downstream programs may make assumptions about the FBX version being imported, and may limit users to either binary or ASCII importing. Surprisingly, CG assets exported from various programs as collada and FBX do not make it back into the same program as a round-trip without changes to some components of the scene. For example, this is true of FBX format in both 3DSMax and Maya for MakeHuman assets. It is also true for Blender with both FBX and collada format for MakeHuman assets. In this document, we will attempt to provide some support for dealing with this type of surprise.
'''MakeHuman Shader and Asset Rendering'''
A “shader” is computer code that translates digital information into a properly rendered image on the computer screen. Different algorithms use different methods of constructing such a display. By default in MakeHuman, the viewport lighting is handled by the built-in light-sphere shader. The light-sphere shader takes advantage of support for the openGL standard provided by today’s graphics cards. What the viewer sees on the screen depends not only on the color of assets, like skin and clothing, but also on the nature of the lights illuminating the scene and causing reflections and shadows. Most downstream programs use other shader strategies, the most common of which include Phong shaders, Blinn shaders, or Lambert shaders. Because the code and conceptual design of these shaders differs from that of the MakeHuman light-sphere shader, the user should be prepared to make some adjustments in the downstream program to get the final desired effect. Some MakeHuman assets also include Normal maps which the user will want to integrate into the downstream applications rendering.
When a MakeHuman material (for example, skin or clothing or eyelashes) is exported, it carries with it a limited amount of fundamental information for by the downstream program’s shaders. In an ideal world, the downstream program would import this raw information, correctly populate the variables in its shaders, and yield the same view of the human that was exported from MakeHuman. At present this does not typically happen, and the user must make some adjustments. This Wiki section is designed to help you negotiate through that process.
'''Spatial transformation: MakeHuman Coordinate System, MakeHuman Skeletons, and MakeHuman Scales'''
The MakeHuman viewport is oriented so that the positive end of the x-axis is to the right, the positive end of the y-axis it up, and the positive end of the z-axis is out through the front to the screen. Other CG programs can use other schemes, so it is essential to know the coordinate system used by the downstream target at export time, if you wish to minimize the adjustments you make after importing. The settings tab allows users to work in metric units of decimeters or imperial units of inches. Downstream programs vary in their de facto units, and again, it is generally a good idea to anticipate your needs at export time rather than trying to make adjustments during or after import. It is sometimes said that these programs have no default unit. To a degree this is true. However, the default grid pattern, assumptions of other humanoid producing programs, and assumptions of the “physics systems” will often work best with the export units specified in the table below:
TABLE HERE
'''Working with Rigs and Skeletons'''
Internally, MakeHuman uses its default skeleton as the basis of mesh vertex weighting for creating the poses available on the pose tab. This rig includes a special set of bones that can be used for driving facial expressions, but as of the current release (MakeHuman 1.1.x), there is not extensive support for inverse kinematics, and animation must be done downstream in the production pipeline. Historically, MakeHuman has had close ties to Blender, but the ultimate development goal is to provide strong generic support for all the major tools used in the industry, and with MakeHuman 1.1.x, substantial progress has been made by providing weighted skeletons suited for standard use in various downstream applications. For the most part, the name of the most appropriate rig will be clearly associated with the target downstream application, but the tag filters on the Pose/Animate | skeleton tab are intended to help choose a rig suited more generally to a specific purpose like motion capture integration, facial animation, or gaming applications. MakeHuman is designed to provide the user with maximum flexibility at creation time. To provide skeletons that work perfectly with every conceivable variation of the sliders is a laudable but elusive goal. That said, the user should get excellent results with the current approach, but the user should be prepared to make some minor tweaks to skeletons and weights downstream, particularly with extreme character dimensions or extreme poses.
'''MakeHuman Assets with transparency'''
In CG art, materials for mesh objects are frequently created by shaders that use various types of image maps to provide some of the information for determining the color, transparency, and light behavior on the surface of mesh objects. These image maps are referred to as textures. MakeHuman has textured materials available for the body (including proxy topologies), eyes, eyebrows, eyelashes, tongue, teeth, and hair. During export, these textures need to made available to the program that will be importing the MakeHuman output. Two aspects of this process need to be understood by the MakeHuman user: 1) how textures are saved; and 2) how transparency is handled.
There are two possible standards for storing texture assets upon export. They can either be embedded in an exported file, or they can be saved to a folder as named images with reference to the location of those files in the exported file. At present, MakeHuman uses the latter approach when exporting material textures. Following the export process, MakeHuman exports will be located in ~/makehuman/v1/exports/, and the texture images will be located in a corresponding subfolder ~/makehuman/v1/exports/textures. The tilde symbol indicates your user drive and home document directory. [For example, on Windows Vista and later, this typically would be: C:/Users/%USERNAME%/Documents/makehuman/v1/exports and a textures subfolder, where %USERNAME% is replaced by your username.]
Transparency is used in 3D art to let a viewer see through a mesh object to experience the color, reflections and lighting behind that object. MakeHuman uses transparency with textures for the eyes, eyebrows, eyelashes, and hair. This allows complex real world geometry to be represented by much simpler quasi-planar objects. For example, the hairs of the eyebrows are painted onto a flat surface with transparent spaces in between the painted hairs rather than creating tiny mesh objects for each of the 250-1000 individual hairs. CG programs can indicate which regions of the eyebrow should be transparent either by using a separate image where blackness indicates transparent and whiteness indicates opacity. Grayness is used to represent partial transparency. An alternative approach to representing transparency is to use an image format like .tga or .png which has a one byte channel, called an alpha channel, for just this purpose. Again, values near zero (black) typically represent “completely transparent” and values near 255 (white) typically represent “completely opaque”. MakeHuman represents the transparent regions of its assets using the alpha channel method and the .png format for textures. Unfortunately, importers for filmbox (FBX) and collada formats (DAE) do not automatically extract the transparency information provided by MakeHuman, or more specifically, they do not provide it to their shaders as anticipated. This is not just a MakeHuman problem but reflects multiple ways of handling transparency and alpha channels within the industry. Notably, exporting and reimporting assets with alpha channel transparency into the very same program fails with Blender, 3DSMax, and Maya for FBX, and where available, DAE formats. This forces the MakeHuman user to understand how to overcome this limitation in his favorite downstream application. Some introductory help will be provided for common applications later in this document.
There is one additional aspect of using transparency to make a single, simple mesh represent multiple small objects like eyebrows, and that is the issue of shadows. Lighting systems in 3D worlds creates a simulation of reality by making shadows appear on mesh objects in places you would expect to see them in the real world and with the soft edges you would expect to see in the real world. Shadows are a function of both the light source, the object blocking that light, and the objects receiving the reflected and refracted light from other objects. For objects that have transparency, like MakeHuman’s eyes, eyelashes, eyebrows, and hair, shadows should only be cast by the opaque portion of the texture and not by the transparent portions of the texture. The handling of shadows differs considerably from program to program, and objects with alpha channel transparency can need some special handling to accommodate these differences. This handling is not just about the assets with alpha map transparency, themselves. Sometimes it is necessary to set parameters to explicitly tell other objects like the MakeHuman body to not display shadows from the transparent regions of the eyebrows but to show shadows from the opaque hairs of the eyebrows. Shadows of transparently mapped assets will be addressed further in subsequent sections (where information is available).
==Illustrating the Export Process for Subsequent Import==
For the purposes of illustration we will take a straight forward MakeHuman character that has been given a skeleton, a pose, a skin material, clothing, eyes, eyelashes, eyebrows, hair, tongue and teeth. We will then export it for import into a number of popular downstream applications. For each application, our goal will be to get the character to look similar to its original look in MakeHuman. We will pay particular attention to the head and face because this is the area of greatest difficulty for dealing with transparency and shadows. The character has the default skeleton and has been set in the T-pose which is a common starting pose for animation-based work. The image we will be exporting looks like this in MakeHuman:
[[File:ImpExp-001.png]]
'''Figure 1.''' MakeHuman character as viewed from within MakeHuman prior to export.
In subsequent sections, we will discuss the steps needed to reproduce this look after importing into a downstream program.
==[[Moving Assets into Autodesk Maya]]==
[[Moving Assets into Autodesk Maya]]
This subsection describes the restoration and use of MakeHuman's transparency and skeletal assets after importing in Autodesk Maya.
*Introduction [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Introduction]
*Importing and Initial Setup [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Importing_and_Initial_Setup]
*Basic Repair of Eye Transparency [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Basic_Repair_of_Eye_Transparency]
*Repeat for other Transparent Assets [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Repeat_for_other_Transparent_Assets]
*Raytrace Shadows [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Raytrace_Shadows]
*Re-importing "Fixed MakeHuman Assets" from Maya after saving in FBX format [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Re-importing_Intermediate_FBX_files_from_Maya]
*Adopting MakeHuman Skeletons to Maya [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Adopting_MakeHuman_Skeletons_to_Maya]
<font color = 'red'>--------Skeleton subsection still to be written--------</font>
==[[Moving Assets into Autodesk 3DSMax Moving Assets into Autodesk 3DSMax]]==
This subsection describes the restoration and use of MakeHuman's transparency and skeletal assets after importing in Autodesk 3DSMax.
[[Units Considerations]]
[[Importing FBX into 3DSMax]]
[[Restoring Transparency for the Eyes]]
[[Fixing Transparency on the Other Assets]]
[[Repairing an Imported MakeHuman FBX file that was previously Exported after Fixing]]
[[Importing MakeHuman Skeletons into 3DSMAX]]
==[[Moving Assets into Blender]]==
==Moving Assets into Unreal Engine 4==
==Moving Assets into Unity Game Engine==
==Moving Assets into Google Sketchup==
==Preparing assets for use with Second Life==
6c480c12ab164c1df8fc0436de1759840a055c49
327
326
2015-08-02T20:18:14Z
Robbaer
12
/* Moving Assets into Autodesk 3DSMax */
wikitext
text/x-wiki
== Summary ==
More often than not MakeHuman users will want to move their creation into another program to continue the creation process. This section provides information on how to achieve this for common target programs. The ''Background and Technical Consideratins'' section provides some background that are common to all workflows. It is not essential to read the introduction before going straight to the program of interest, but doing so might help you understand ''why'' certain steps work or are necessary. In many cases there can be more than one way to accomplish the same thing. The method described here may not be optimal for your situation, but it should help get you started.
==Background and Technical Considerations==
'''Introduction'''
Many MakeHuman users will use the work they create in MakeHuman as a component of a project completed in an external, downstream application. The most common target applications are 3D graphics applications like Blender, Autodesk 3DSMax, and Autodesk Maya or gaming engines like Unity Engine or Unreal Engine 4 or Virtual Worlds like Second Life. In some cases, the MakeHuman user will be interested in moving just the mesh. In other cases, the user will be interested in moving a complete, posed, skeletonized character to the downstream application. The purpose of this document is to discuss the basic process of moving a finished MakeHuman asset to a downstream program and producing a reasonable facsimile of its MakeHuman appearance in the downstream application. It is important to recognize that because each application has its own way of representing 3D assets, and because each export format has its own set of idiosyncrasies, there will be adjustments and approximations in the asset transfer process.
'''Format Considerations'''
In an effort to provide the broadest latitude for user workflows, the MakeHuman development team is directing it major export support toward Autodesk FBX format and Khronos Collada format. In addition, Blender users have the option to install the [https://bitbucket.org/ThomasMakeHuman/mhx2-makehuman-exchange independently developed .mhx2 tools], which are independently developed and maintained by Thomas Larson. Collada is a text-based format and is an open standard, but implementation of the standard is not as consistent as might be hoped. FBX is a proprietary standard developed by Autodesk and supported through a software development kit (FBX SDK) written in C++ and a Python FBX scripting template. The FBX standard is periodically updated by Autodesk and can be saved as either an ASCII or a binary format. Downstream programs may make assumptions about the FBX version being imported, and may limit users to either binary or ASCII importing. Surprisingly, CG assets exported from various programs as collada and FBX do not make it back into the same program as a round-trip without changes to some components of the scene. For example, this is true of FBX format in both 3DSMax and Maya for MakeHuman assets. It is also true for Blender with both FBX and collada format for MakeHuman assets. In this document, we will attempt to provide some support for dealing with this type of surprise.
'''MakeHuman Shader and Asset Rendering'''
A “shader” is computer code that translates digital information into a properly rendered image on the computer screen. Different algorithms use different methods of constructing such a display. By default in MakeHuman, the viewport lighting is handled by the built-in light-sphere shader. The light-sphere shader takes advantage of support for the openGL standard provided by today’s graphics cards. What the viewer sees on the screen depends not only on the color of assets, like skin and clothing, but also on the nature of the lights illuminating the scene and causing reflections and shadows. Most downstream programs use other shader strategies, the most common of which include Phong shaders, Blinn shaders, or Lambert shaders. Because the code and conceptual design of these shaders differs from that of the MakeHuman light-sphere shader, the user should be prepared to make some adjustments in the downstream program to get the final desired effect. Some MakeHuman assets also include Normal maps which the user will want to integrate into the downstream applications rendering.
When a MakeHuman material (for example, skin or clothing or eyelashes) is exported, it carries with it a limited amount of fundamental information for by the downstream program’s shaders. In an ideal world, the downstream program would import this raw information, correctly populate the variables in its shaders, and yield the same view of the human that was exported from MakeHuman. At present this does not typically happen, and the user must make some adjustments. This Wiki section is designed to help you negotiate through that process.
'''Spatial transformation: MakeHuman Coordinate System, MakeHuman Skeletons, and MakeHuman Scales'''
The MakeHuman viewport is oriented so that the positive end of the x-axis is to the right, the positive end of the y-axis it up, and the positive end of the z-axis is out through the front to the screen. Other CG programs can use other schemes, so it is essential to know the coordinate system used by the downstream target at export time, if you wish to minimize the adjustments you make after importing. The settings tab allows users to work in metric units of decimeters or imperial units of inches. Downstream programs vary in their de facto units, and again, it is generally a good idea to anticipate your needs at export time rather than trying to make adjustments during or after import. It is sometimes said that these programs have no default unit. To a degree this is true. However, the default grid pattern, assumptions of other humanoid producing programs, and assumptions of the “physics systems” will often work best with the export units specified in the table below:
TABLE HERE
'''Working with Rigs and Skeletons'''
Internally, MakeHuman uses its default skeleton as the basis of mesh vertex weighting for creating the poses available on the pose tab. This rig includes a special set of bones that can be used for driving facial expressions, but as of the current release (MakeHuman 1.1.x), there is not extensive support for inverse kinematics, and animation must be done downstream in the production pipeline. Historically, MakeHuman has had close ties to Blender, but the ultimate development goal is to provide strong generic support for all the major tools used in the industry, and with MakeHuman 1.1.x, substantial progress has been made by providing weighted skeletons suited for standard use in various downstream applications. For the most part, the name of the most appropriate rig will be clearly associated with the target downstream application, but the tag filters on the Pose/Animate | skeleton tab are intended to help choose a rig suited more generally to a specific purpose like motion capture integration, facial animation, or gaming applications. MakeHuman is designed to provide the user with maximum flexibility at creation time. To provide skeletons that work perfectly with every conceivable variation of the sliders is a laudable but elusive goal. That said, the user should get excellent results with the current approach, but the user should be prepared to make some minor tweaks to skeletons and weights downstream, particularly with extreme character dimensions or extreme poses.
'''MakeHuman Assets with transparency'''
In CG art, materials for mesh objects are frequently created by shaders that use various types of image maps to provide some of the information for determining the color, transparency, and light behavior on the surface of mesh objects. These image maps are referred to as textures. MakeHuman has textured materials available for the body (including proxy topologies), eyes, eyebrows, eyelashes, tongue, teeth, and hair. During export, these textures need to made available to the program that will be importing the MakeHuman output. Two aspects of this process need to be understood by the MakeHuman user: 1) how textures are saved; and 2) how transparency is handled.
There are two possible standards for storing texture assets upon export. They can either be embedded in an exported file, or they can be saved to a folder as named images with reference to the location of those files in the exported file. At present, MakeHuman uses the latter approach when exporting material textures. Following the export process, MakeHuman exports will be located in ~/makehuman/v1/exports/, and the texture images will be located in a corresponding subfolder ~/makehuman/v1/exports/textures. The tilde symbol indicates your user drive and home document directory. [For example, on Windows Vista and later, this typically would be: C:/Users/%USERNAME%/Documents/makehuman/v1/exports and a textures subfolder, where %USERNAME% is replaced by your username.]
Transparency is used in 3D art to let a viewer see through a mesh object to experience the color, reflections and lighting behind that object. MakeHuman uses transparency with textures for the eyes, eyebrows, eyelashes, and hair. This allows complex real world geometry to be represented by much simpler quasi-planar objects. For example, the hairs of the eyebrows are painted onto a flat surface with transparent spaces in between the painted hairs rather than creating tiny mesh objects for each of the 250-1000 individual hairs. CG programs can indicate which regions of the eyebrow should be transparent either by using a separate image where blackness indicates transparent and whiteness indicates opacity. Grayness is used to represent partial transparency. An alternative approach to representing transparency is to use an image format like .tga or .png which has a one byte channel, called an alpha channel, for just this purpose. Again, values near zero (black) typically represent “completely transparent” and values near 255 (white) typically represent “completely opaque”. MakeHuman represents the transparent regions of its assets using the alpha channel method and the .png format for textures. Unfortunately, importers for filmbox (FBX) and collada formats (DAE) do not automatically extract the transparency information provided by MakeHuman, or more specifically, they do not provide it to their shaders as anticipated. This is not just a MakeHuman problem but reflects multiple ways of handling transparency and alpha channels within the industry. Notably, exporting and reimporting assets with alpha channel transparency into the very same program fails with Blender, 3DSMax, and Maya for FBX, and where available, DAE formats. This forces the MakeHuman user to understand how to overcome this limitation in his favorite downstream application. Some introductory help will be provided for common applications later in this document.
There is one additional aspect of using transparency to make a single, simple mesh represent multiple small objects like eyebrows, and that is the issue of shadows. Lighting systems in 3D worlds creates a simulation of reality by making shadows appear on mesh objects in places you would expect to see them in the real world and with the soft edges you would expect to see in the real world. Shadows are a function of both the light source, the object blocking that light, and the objects receiving the reflected and refracted light from other objects. For objects that have transparency, like MakeHuman’s eyes, eyelashes, eyebrows, and hair, shadows should only be cast by the opaque portion of the texture and not by the transparent portions of the texture. The handling of shadows differs considerably from program to program, and objects with alpha channel transparency can need some special handling to accommodate these differences. This handling is not just about the assets with alpha map transparency, themselves. Sometimes it is necessary to set parameters to explicitly tell other objects like the MakeHuman body to not display shadows from the transparent regions of the eyebrows but to show shadows from the opaque hairs of the eyebrows. Shadows of transparently mapped assets will be addressed further in subsequent sections (where information is available).
==Illustrating the Export Process for Subsequent Import==
For the purposes of illustration we will take a straight forward MakeHuman character that has been given a skeleton, a pose, a skin material, clothing, eyes, eyelashes, eyebrows, hair, tongue and teeth. We will then export it for import into a number of popular downstream applications. For each application, our goal will be to get the character to look similar to its original look in MakeHuman. We will pay particular attention to the head and face because this is the area of greatest difficulty for dealing with transparency and shadows. The character has the default skeleton and has been set in the T-pose which is a common starting pose for animation-based work. The image we will be exporting looks like this in MakeHuman:
[[File:ImpExp-001.png]]
'''Figure 1.''' MakeHuman character as viewed from within MakeHuman prior to export.
In subsequent sections, we will discuss the steps needed to reproduce this look after importing into a downstream program.
==[[Moving Assets into Autodesk Maya]]==
[[Moving Assets into Autodesk Maya]]
This subsection describes the restoration and use of MakeHuman's transparency and skeletal assets after importing in Autodesk Maya.
*Introduction [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Introduction]
*Importing and Initial Setup [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Importing_and_Initial_Setup]
*Basic Repair of Eye Transparency [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Basic_Repair_of_Eye_Transparency]
*Repeat for other Transparent Assets [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Repeat_for_other_Transparent_Assets]
*Raytrace Shadows [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Raytrace_Shadows]
*Re-importing "Fixed MakeHuman Assets" from Maya after saving in FBX format [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Re-importing_Intermediate_FBX_files_from_Maya]
*Adopting MakeHuman Skeletons to Maya [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Adopting_MakeHuman_Skeletons_to_Maya]
<font color = 'red'>--------Skeleton subsection still to be written--------</font>
==[[Moving Assets into Autodesk 3DSMax]]==
This subsection describes the restoration and use of MakeHuman's transparency and skeletal assets after importing in Autodesk 3DSMax.
<LI>Import process</LI>
<LI>Handling or Transparency after import</LI>
<LI>Handling of Skelton and Rigging after import</LI>
==[[Moving Assets into Blender]]==
==Moving Assets into Unreal Engine 4==
==Moving Assets into Unity Game Engine==
==Moving Assets into Google Sketchup==
==Preparing assets for use with Second Life==
3c4898b3e42b58ad35c3fd1c982ed45131237baf
326
325
2015-08-02T20:17:54Z
Robbaer
12
/* Moving Assets into Autodesk Maya */
wikitext
text/x-wiki
== Summary ==
More often than not MakeHuman users will want to move their creation into another program to continue the creation process. This section provides information on how to achieve this for common target programs. The ''Background and Technical Consideratins'' section provides some background that are common to all workflows. It is not essential to read the introduction before going straight to the program of interest, but doing so might help you understand ''why'' certain steps work or are necessary. In many cases there can be more than one way to accomplish the same thing. The method described here may not be optimal for your situation, but it should help get you started.
==Background and Technical Considerations==
'''Introduction'''
Many MakeHuman users will use the work they create in MakeHuman as a component of a project completed in an external, downstream application. The most common target applications are 3D graphics applications like Blender, Autodesk 3DSMax, and Autodesk Maya or gaming engines like Unity Engine or Unreal Engine 4 or Virtual Worlds like Second Life. In some cases, the MakeHuman user will be interested in moving just the mesh. In other cases, the user will be interested in moving a complete, posed, skeletonized character to the downstream application. The purpose of this document is to discuss the basic process of moving a finished MakeHuman asset to a downstream program and producing a reasonable facsimile of its MakeHuman appearance in the downstream application. It is important to recognize that because each application has its own way of representing 3D assets, and because each export format has its own set of idiosyncrasies, there will be adjustments and approximations in the asset transfer process.
'''Format Considerations'''
In an effort to provide the broadest latitude for user workflows, the MakeHuman development team is directing it major export support toward Autodesk FBX format and Khronos Collada format. In addition, Blender users have the option to install the [https://bitbucket.org/ThomasMakeHuman/mhx2-makehuman-exchange independently developed .mhx2 tools], which are independently developed and maintained by Thomas Larson. Collada is a text-based format and is an open standard, but implementation of the standard is not as consistent as might be hoped. FBX is a proprietary standard developed by Autodesk and supported through a software development kit (FBX SDK) written in C++ and a Python FBX scripting template. The FBX standard is periodically updated by Autodesk and can be saved as either an ASCII or a binary format. Downstream programs may make assumptions about the FBX version being imported, and may limit users to either binary or ASCII importing. Surprisingly, CG assets exported from various programs as collada and FBX do not make it back into the same program as a round-trip without changes to some components of the scene. For example, this is true of FBX format in both 3DSMax and Maya for MakeHuman assets. It is also true for Blender with both FBX and collada format for MakeHuman assets. In this document, we will attempt to provide some support for dealing with this type of surprise.
'''MakeHuman Shader and Asset Rendering'''
A “shader” is computer code that translates digital information into a properly rendered image on the computer screen. Different algorithms use different methods of constructing such a display. By default in MakeHuman, the viewport lighting is handled by the built-in light-sphere shader. The light-sphere shader takes advantage of support for the openGL standard provided by today’s graphics cards. What the viewer sees on the screen depends not only on the color of assets, like skin and clothing, but also on the nature of the lights illuminating the scene and causing reflections and shadows. Most downstream programs use other shader strategies, the most common of which include Phong shaders, Blinn shaders, or Lambert shaders. Because the code and conceptual design of these shaders differs from that of the MakeHuman light-sphere shader, the user should be prepared to make some adjustments in the downstream program to get the final desired effect. Some MakeHuman assets also include Normal maps which the user will want to integrate into the downstream applications rendering.
When a MakeHuman material (for example, skin or clothing or eyelashes) is exported, it carries with it a limited amount of fundamental information for by the downstream program’s shaders. In an ideal world, the downstream program would import this raw information, correctly populate the variables in its shaders, and yield the same view of the human that was exported from MakeHuman. At present this does not typically happen, and the user must make some adjustments. This Wiki section is designed to help you negotiate through that process.
'''Spatial transformation: MakeHuman Coordinate System, MakeHuman Skeletons, and MakeHuman Scales'''
The MakeHuman viewport is oriented so that the positive end of the x-axis is to the right, the positive end of the y-axis it up, and the positive end of the z-axis is out through the front to the screen. Other CG programs can use other schemes, so it is essential to know the coordinate system used by the downstream target at export time, if you wish to minimize the adjustments you make after importing. The settings tab allows users to work in metric units of decimeters or imperial units of inches. Downstream programs vary in their de facto units, and again, it is generally a good idea to anticipate your needs at export time rather than trying to make adjustments during or after import. It is sometimes said that these programs have no default unit. To a degree this is true. However, the default grid pattern, assumptions of other humanoid producing programs, and assumptions of the “physics systems” will often work best with the export units specified in the table below:
TABLE HERE
'''Working with Rigs and Skeletons'''
Internally, MakeHuman uses its default skeleton as the basis of mesh vertex weighting for creating the poses available on the pose tab. This rig includes a special set of bones that can be used for driving facial expressions, but as of the current release (MakeHuman 1.1.x), there is not extensive support for inverse kinematics, and animation must be done downstream in the production pipeline. Historically, MakeHuman has had close ties to Blender, but the ultimate development goal is to provide strong generic support for all the major tools used in the industry, and with MakeHuman 1.1.x, substantial progress has been made by providing weighted skeletons suited for standard use in various downstream applications. For the most part, the name of the most appropriate rig will be clearly associated with the target downstream application, but the tag filters on the Pose/Animate | skeleton tab are intended to help choose a rig suited more generally to a specific purpose like motion capture integration, facial animation, or gaming applications. MakeHuman is designed to provide the user with maximum flexibility at creation time. To provide skeletons that work perfectly with every conceivable variation of the sliders is a laudable but elusive goal. That said, the user should get excellent results with the current approach, but the user should be prepared to make some minor tweaks to skeletons and weights downstream, particularly with extreme character dimensions or extreme poses.
'''MakeHuman Assets with transparency'''
In CG art, materials for mesh objects are frequently created by shaders that use various types of image maps to provide some of the information for determining the color, transparency, and light behavior on the surface of mesh objects. These image maps are referred to as textures. MakeHuman has textured materials available for the body (including proxy topologies), eyes, eyebrows, eyelashes, tongue, teeth, and hair. During export, these textures need to made available to the program that will be importing the MakeHuman output. Two aspects of this process need to be understood by the MakeHuman user: 1) how textures are saved; and 2) how transparency is handled.
There are two possible standards for storing texture assets upon export. They can either be embedded in an exported file, or they can be saved to a folder as named images with reference to the location of those files in the exported file. At present, MakeHuman uses the latter approach when exporting material textures. Following the export process, MakeHuman exports will be located in ~/makehuman/v1/exports/, and the texture images will be located in a corresponding subfolder ~/makehuman/v1/exports/textures. The tilde symbol indicates your user drive and home document directory. [For example, on Windows Vista and later, this typically would be: C:/Users/%USERNAME%/Documents/makehuman/v1/exports and a textures subfolder, where %USERNAME% is replaced by your username.]
Transparency is used in 3D art to let a viewer see through a mesh object to experience the color, reflections and lighting behind that object. MakeHuman uses transparency with textures for the eyes, eyebrows, eyelashes, and hair. This allows complex real world geometry to be represented by much simpler quasi-planar objects. For example, the hairs of the eyebrows are painted onto a flat surface with transparent spaces in between the painted hairs rather than creating tiny mesh objects for each of the 250-1000 individual hairs. CG programs can indicate which regions of the eyebrow should be transparent either by using a separate image where blackness indicates transparent and whiteness indicates opacity. Grayness is used to represent partial transparency. An alternative approach to representing transparency is to use an image format like .tga or .png which has a one byte channel, called an alpha channel, for just this purpose. Again, values near zero (black) typically represent “completely transparent” and values near 255 (white) typically represent “completely opaque”. MakeHuman represents the transparent regions of its assets using the alpha channel method and the .png format for textures. Unfortunately, importers for filmbox (FBX) and collada formats (DAE) do not automatically extract the transparency information provided by MakeHuman, or more specifically, they do not provide it to their shaders as anticipated. This is not just a MakeHuman problem but reflects multiple ways of handling transparency and alpha channels within the industry. Notably, exporting and reimporting assets with alpha channel transparency into the very same program fails with Blender, 3DSMax, and Maya for FBX, and where available, DAE formats. This forces the MakeHuman user to understand how to overcome this limitation in his favorite downstream application. Some introductory help will be provided for common applications later in this document.
There is one additional aspect of using transparency to make a single, simple mesh represent multiple small objects like eyebrows, and that is the issue of shadows. Lighting systems in 3D worlds creates a simulation of reality by making shadows appear on mesh objects in places you would expect to see them in the real world and with the soft edges you would expect to see in the real world. Shadows are a function of both the light source, the object blocking that light, and the objects receiving the reflected and refracted light from other objects. For objects that have transparency, like MakeHuman’s eyes, eyelashes, eyebrows, and hair, shadows should only be cast by the opaque portion of the texture and not by the transparent portions of the texture. The handling of shadows differs considerably from program to program, and objects with alpha channel transparency can need some special handling to accommodate these differences. This handling is not just about the assets with alpha map transparency, themselves. Sometimes it is necessary to set parameters to explicitly tell other objects like the MakeHuman body to not display shadows from the transparent regions of the eyebrows but to show shadows from the opaque hairs of the eyebrows. Shadows of transparently mapped assets will be addressed further in subsequent sections (where information is available).
==Illustrating the Export Process for Subsequent Import==
For the purposes of illustration we will take a straight forward MakeHuman character that has been given a skeleton, a pose, a skin material, clothing, eyes, eyelashes, eyebrows, hair, tongue and teeth. We will then export it for import into a number of popular downstream applications. For each application, our goal will be to get the character to look similar to its original look in MakeHuman. We will pay particular attention to the head and face because this is the area of greatest difficulty for dealing with transparency and shadows. The character has the default skeleton and has been set in the T-pose which is a common starting pose for animation-based work. The image we will be exporting looks like this in MakeHuman:
[[File:ImpExp-001.png]]
'''Figure 1.''' MakeHuman character as viewed from within MakeHuman prior to export.
In subsequent sections, we will discuss the steps needed to reproduce this look after importing into a downstream program.
==[[Moving Assets into Autodesk Maya]]==
[[Moving Assets into Autodesk Maya]]
This subsection describes the restoration and use of MakeHuman's transparency and skeletal assets after importing in Autodesk Maya.
*Introduction [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Introduction]
*Importing and Initial Setup [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Importing_and_Initial_Setup]
*Basic Repair of Eye Transparency [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Basic_Repair_of_Eye_Transparency]
*Repeat for other Transparent Assets [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Repeat_for_other_Transparent_Assets]
*Raytrace Shadows [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Raytrace_Shadows]
*Re-importing "Fixed MakeHuman Assets" from Maya after saving in FBX format [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Re-importing_Intermediate_FBX_files_from_Maya]
*Adopting MakeHuman Skeletons to Maya [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Adopting_MakeHuman_Skeletons_to_Maya]
<font color = 'red'>--------Skeleton subsection still to be written--------</font>
==[[Moving Assets into Autodesk 3DSMax]]==
This subsection describes the restoration and use of MakeHuman's skeletal transparency and skeletal assets after importing in Autodesk 3DSMax.
<LI>Import process</LI>
<LI>Handling or Transparency after import</LI>
<LI>Handling of Skelton and Rigging after import</LI>
==[[Moving Assets into Blender]]==
==Moving Assets into Unreal Engine 4==
==Moving Assets into Unity Game Engine==
==Moving Assets into Google Sketchup==
==Preparing assets for use with Second Life==
33b132706d6bec3e23f0d0ba2dabf97d68c2c5d3
325
324
2015-08-02T20:16:39Z
Robbaer
12
wikitext
text/x-wiki
== Summary ==
More often than not MakeHuman users will want to move their creation into another program to continue the creation process. This section provides information on how to achieve this for common target programs. The ''Background and Technical Consideratins'' section provides some background that are common to all workflows. It is not essential to read the introduction before going straight to the program of interest, but doing so might help you understand ''why'' certain steps work or are necessary. In many cases there can be more than one way to accomplish the same thing. The method described here may not be optimal for your situation, but it should help get you started.
==Background and Technical Considerations==
'''Introduction'''
Many MakeHuman users will use the work they create in MakeHuman as a component of a project completed in an external, downstream application. The most common target applications are 3D graphics applications like Blender, Autodesk 3DSMax, and Autodesk Maya or gaming engines like Unity Engine or Unreal Engine 4 or Virtual Worlds like Second Life. In some cases, the MakeHuman user will be interested in moving just the mesh. In other cases, the user will be interested in moving a complete, posed, skeletonized character to the downstream application. The purpose of this document is to discuss the basic process of moving a finished MakeHuman asset to a downstream program and producing a reasonable facsimile of its MakeHuman appearance in the downstream application. It is important to recognize that because each application has its own way of representing 3D assets, and because each export format has its own set of idiosyncrasies, there will be adjustments and approximations in the asset transfer process.
'''Format Considerations'''
In an effort to provide the broadest latitude for user workflows, the MakeHuman development team is directing it major export support toward Autodesk FBX format and Khronos Collada format. In addition, Blender users have the option to install the [https://bitbucket.org/ThomasMakeHuman/mhx2-makehuman-exchange independently developed .mhx2 tools], which are independently developed and maintained by Thomas Larson. Collada is a text-based format and is an open standard, but implementation of the standard is not as consistent as might be hoped. FBX is a proprietary standard developed by Autodesk and supported through a software development kit (FBX SDK) written in C++ and a Python FBX scripting template. The FBX standard is periodically updated by Autodesk and can be saved as either an ASCII or a binary format. Downstream programs may make assumptions about the FBX version being imported, and may limit users to either binary or ASCII importing. Surprisingly, CG assets exported from various programs as collada and FBX do not make it back into the same program as a round-trip without changes to some components of the scene. For example, this is true of FBX format in both 3DSMax and Maya for MakeHuman assets. It is also true for Blender with both FBX and collada format for MakeHuman assets. In this document, we will attempt to provide some support for dealing with this type of surprise.
'''MakeHuman Shader and Asset Rendering'''
A “shader” is computer code that translates digital information into a properly rendered image on the computer screen. Different algorithms use different methods of constructing such a display. By default in MakeHuman, the viewport lighting is handled by the built-in light-sphere shader. The light-sphere shader takes advantage of support for the openGL standard provided by today’s graphics cards. What the viewer sees on the screen depends not only on the color of assets, like skin and clothing, but also on the nature of the lights illuminating the scene and causing reflections and shadows. Most downstream programs use other shader strategies, the most common of which include Phong shaders, Blinn shaders, or Lambert shaders. Because the code and conceptual design of these shaders differs from that of the MakeHuman light-sphere shader, the user should be prepared to make some adjustments in the downstream program to get the final desired effect. Some MakeHuman assets also include Normal maps which the user will want to integrate into the downstream applications rendering.
When a MakeHuman material (for example, skin or clothing or eyelashes) is exported, it carries with it a limited amount of fundamental information for by the downstream program’s shaders. In an ideal world, the downstream program would import this raw information, correctly populate the variables in its shaders, and yield the same view of the human that was exported from MakeHuman. At present this does not typically happen, and the user must make some adjustments. This Wiki section is designed to help you negotiate through that process.
'''Spatial transformation: MakeHuman Coordinate System, MakeHuman Skeletons, and MakeHuman Scales'''
The MakeHuman viewport is oriented so that the positive end of the x-axis is to the right, the positive end of the y-axis it up, and the positive end of the z-axis is out through the front to the screen. Other CG programs can use other schemes, so it is essential to know the coordinate system used by the downstream target at export time, if you wish to minimize the adjustments you make after importing. The settings tab allows users to work in metric units of decimeters or imperial units of inches. Downstream programs vary in their de facto units, and again, it is generally a good idea to anticipate your needs at export time rather than trying to make adjustments during or after import. It is sometimes said that these programs have no default unit. To a degree this is true. However, the default grid pattern, assumptions of other humanoid producing programs, and assumptions of the “physics systems” will often work best with the export units specified in the table below:
TABLE HERE
'''Working with Rigs and Skeletons'''
Internally, MakeHuman uses its default skeleton as the basis of mesh vertex weighting for creating the poses available on the pose tab. This rig includes a special set of bones that can be used for driving facial expressions, but as of the current release (MakeHuman 1.1.x), there is not extensive support for inverse kinematics, and animation must be done downstream in the production pipeline. Historically, MakeHuman has had close ties to Blender, but the ultimate development goal is to provide strong generic support for all the major tools used in the industry, and with MakeHuman 1.1.x, substantial progress has been made by providing weighted skeletons suited for standard use in various downstream applications. For the most part, the name of the most appropriate rig will be clearly associated with the target downstream application, but the tag filters on the Pose/Animate | skeleton tab are intended to help choose a rig suited more generally to a specific purpose like motion capture integration, facial animation, or gaming applications. MakeHuman is designed to provide the user with maximum flexibility at creation time. To provide skeletons that work perfectly with every conceivable variation of the sliders is a laudable but elusive goal. That said, the user should get excellent results with the current approach, but the user should be prepared to make some minor tweaks to skeletons and weights downstream, particularly with extreme character dimensions or extreme poses.
'''MakeHuman Assets with transparency'''
In CG art, materials for mesh objects are frequently created by shaders that use various types of image maps to provide some of the information for determining the color, transparency, and light behavior on the surface of mesh objects. These image maps are referred to as textures. MakeHuman has textured materials available for the body (including proxy topologies), eyes, eyebrows, eyelashes, tongue, teeth, and hair. During export, these textures need to made available to the program that will be importing the MakeHuman output. Two aspects of this process need to be understood by the MakeHuman user: 1) how textures are saved; and 2) how transparency is handled.
There are two possible standards for storing texture assets upon export. They can either be embedded in an exported file, or they can be saved to a folder as named images with reference to the location of those files in the exported file. At present, MakeHuman uses the latter approach when exporting material textures. Following the export process, MakeHuman exports will be located in ~/makehuman/v1/exports/, and the texture images will be located in a corresponding subfolder ~/makehuman/v1/exports/textures. The tilde symbol indicates your user drive and home document directory. [For example, on Windows Vista and later, this typically would be: C:/Users/%USERNAME%/Documents/makehuman/v1/exports and a textures subfolder, where %USERNAME% is replaced by your username.]
Transparency is used in 3D art to let a viewer see through a mesh object to experience the color, reflections and lighting behind that object. MakeHuman uses transparency with textures for the eyes, eyebrows, eyelashes, and hair. This allows complex real world geometry to be represented by much simpler quasi-planar objects. For example, the hairs of the eyebrows are painted onto a flat surface with transparent spaces in between the painted hairs rather than creating tiny mesh objects for each of the 250-1000 individual hairs. CG programs can indicate which regions of the eyebrow should be transparent either by using a separate image where blackness indicates transparent and whiteness indicates opacity. Grayness is used to represent partial transparency. An alternative approach to representing transparency is to use an image format like .tga or .png which has a one byte channel, called an alpha channel, for just this purpose. Again, values near zero (black) typically represent “completely transparent” and values near 255 (white) typically represent “completely opaque”. MakeHuman represents the transparent regions of its assets using the alpha channel method and the .png format for textures. Unfortunately, importers for filmbox (FBX) and collada formats (DAE) do not automatically extract the transparency information provided by MakeHuman, or more specifically, they do not provide it to their shaders as anticipated. This is not just a MakeHuman problem but reflects multiple ways of handling transparency and alpha channels within the industry. Notably, exporting and reimporting assets with alpha channel transparency into the very same program fails with Blender, 3DSMax, and Maya for FBX, and where available, DAE formats. This forces the MakeHuman user to understand how to overcome this limitation in his favorite downstream application. Some introductory help will be provided for common applications later in this document.
There is one additional aspect of using transparency to make a single, simple mesh represent multiple small objects like eyebrows, and that is the issue of shadows. Lighting systems in 3D worlds creates a simulation of reality by making shadows appear on mesh objects in places you would expect to see them in the real world and with the soft edges you would expect to see in the real world. Shadows are a function of both the light source, the object blocking that light, and the objects receiving the reflected and refracted light from other objects. For objects that have transparency, like MakeHuman’s eyes, eyelashes, eyebrows, and hair, shadows should only be cast by the opaque portion of the texture and not by the transparent portions of the texture. The handling of shadows differs considerably from program to program, and objects with alpha channel transparency can need some special handling to accommodate these differences. This handling is not just about the assets with alpha map transparency, themselves. Sometimes it is necessary to set parameters to explicitly tell other objects like the MakeHuman body to not display shadows from the transparent regions of the eyebrows but to show shadows from the opaque hairs of the eyebrows. Shadows of transparently mapped assets will be addressed further in subsequent sections (where information is available).
==Illustrating the Export Process for Subsequent Import==
For the purposes of illustration we will take a straight forward MakeHuman character that has been given a skeleton, a pose, a skin material, clothing, eyes, eyelashes, eyebrows, hair, tongue and teeth. We will then export it for import into a number of popular downstream applications. For each application, our goal will be to get the character to look similar to its original look in MakeHuman. We will pay particular attention to the head and face because this is the area of greatest difficulty for dealing with transparency and shadows. The character has the default skeleton and has been set in the T-pose which is a common starting pose for animation-based work. The image we will be exporting looks like this in MakeHuman:
[[File:ImpExp-001.png]]
'''Figure 1.''' MakeHuman character as viewed from within MakeHuman prior to export.
In subsequent sections, we will discuss the steps needed to reproduce this look after importing into a downstream program.
==[[Moving Assets into Autodesk Maya]]==
[[Moving Assets into Autodesk Maya]]
This subsection describes the restoration and use of MakeHuman's skeletal transparency and skeletal assets after importing in Autodesk Maya.
*Introduction [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Introduction]
*Importing and Initial Setup [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Importing_and_Initial_Setup]
*Basic Repair of Eye Transparency [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Basic_Repair_of_Eye_Transparency]
*Repeat for other Transparent Assets [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Repeat_for_other_Transparent_Assets]
*Raytrace Shadows [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Raytrace_Shadows]
*Re-importing "Fixed MakeHuman Assets" from Maya after saving in FBX format [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Re-importing_Intermediate_FBX_files_from_Maya]
*Adopting MakeHuman Skeletons to Maya [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Adopting_MakeHuman_Skeletons_to_Maya]
<font color = 'red'>--------Skeleton subsection still to be written--------</font>
==[[Moving Assets into Autodesk 3DSMax]]==
This subsection describes the restoration and use of MakeHuman's skeletal transparency and skeletal assets after importing in Autodesk 3DSMax.
<LI>Import process</LI>
<LI>Handling or Transparency after import</LI>
<LI>Handling of Skelton and Rigging after import</LI>
==[[Moving Assets into Blender]]==
==Moving Assets into Unreal Engine 4==
==Moving Assets into Unity Game Engine==
==Moving Assets into Google Sketchup==
==Preparing assets for use with Second Life==
98f0d7e691ac27e5529d856353995631e1078bdf
324
259
2015-08-02T20:15:47Z
Robbaer
12
/* Moving Assets into Blender */
wikitext
text/x-wiki
== Summary ==
More often than not MakeHuman users will want to move their creation into another program to continue the creation process. This section provides information on how to achieve this for common target programs. The ''Background and Technical Consideratins'' section provides some background that are common to all workflows. It is not essential to read the introduction before going straight to the program of interest, but doing so might help you understand ''why'' certain steps work or are necessary. In many cases there can be more than one way to accomplish the same thing. The method described here may not be optimal for your situation, but it should help get you started.
==Background and Technical Considerations==
'''Introduction'''
Many MakeHuman users will use the work they create in MakeHuman as a component of a project completed in an external, downstream application. The most common target applications are 3D graphics applications like Blender, Autodesk 3DSMax, and Autodesk Maya or gaming engines like Unity Engine or Unreal Engine 4 or Virtual Worlds like Second Life. In some cases, the MakeHuman user will be interested in moving just the mesh. In other cases, the user will be interested in moving a complete, posed, skeletonized character to the downstream application. The purpose of this document is to discuss the basic process of moving a finished MakeHuman asset to a downstream program and producing a reasonable facsimile of its MakeHuman appearance in the downstream application. It is important to recognize that because each application has its own way of representing 3D assets, and because each export format has its own set of idiosyncrasies, there will be adjustments and approximations in the asset transfer process.
'''Format Considerations'''
In an effort to provide the broadest latitude for user workflows, the MakeHuman development team is directing it major export support toward Autodesk FBX format and Khronos Collada format. In addition, Blender users have the option to install the [https://bitbucket.org/ThomasMakeHuman/mhx2-makehuman-exchange independently developed .mhx2 tools], which are independently developed and maintained by Thomas Larson. Collada is a text-based format and is an open standard, but implementation of the standard is not as consistent as might be hoped. FBX is a proprietary standard developed by Autodesk and supported through a software development kit (FBX SDK) written in C++ and a Python FBX scripting template. The FBX standard is periodically updated by Autodesk and can be saved as either an ASCII or a binary format. Downstream programs may make assumptions about the FBX version being imported, and may limit users to either binary or ASCII importing. Surprisingly, CG assets exported from various programs as collada and FBX do not make it back into the same program as a round-trip without changes to some components of the scene. For example, this is true of FBX format in both 3DSMax and Maya for MakeHuman assets. It is also true for Blender with both FBX and collada format for MakeHuman assets. In this document, we will attempt to provide some support for dealing with this type of surprise.
'''MakeHuman Shader and Asset Rendering'''
A “shader” is computer code that translates digital information into a properly rendered image on the computer screen. Different algorithms use different methods of constructing such a display. By default in MakeHuman, the viewport lighting is handled by the built-in light-sphere shader. The light-sphere shader takes advantage of support for the openGL standard provided by today’s graphics cards. What the viewer sees on the screen depends not only on the color of assets, like skin and clothing, but also on the nature of the lights illuminating the scene and causing reflections and shadows. Most downstream programs use other shader strategies, the most common of which include Phong shaders, Blinn shaders, or Lambert shaders. Because the code and conceptual design of these shaders differs from that of the MakeHuman light-sphere shader, the user should be prepared to make some adjustments in the downstream program to get the final desired effect. Some MakeHuman assets also include Normal maps which the user will want to integrate into the downstream applications rendering.
When a MakeHuman material (for example, skin or clothing or eyelashes) is exported, it carries with it a limited amount of fundamental information for by the downstream program’s shaders. In an ideal world, the downstream program would import this raw information, correctly populate the variables in its shaders, and yield the same view of the human that was exported from MakeHuman. At present this does not typically happen, and the user must make some adjustments. This Wiki section is designed to help you negotiate through that process.
'''Spatial transformation: MakeHuman Coordinate System, MakeHuman Skeletons, and MakeHuman Scales'''
The MakeHuman viewport is oriented so that the positive end of the x-axis is to the right, the positive end of the y-axis it up, and the positive end of the z-axis is out through the front to the screen. Other CG programs can use other schemes, so it is essential to know the coordinate system used by the downstream target at export time, if you wish to minimize the adjustments you make after importing. The settings tab allows users to work in metric units of decimeters or imperial units of inches. Downstream programs vary in their de facto units, and again, it is generally a good idea to anticipate your needs at export time rather than trying to make adjustments during or after import. It is sometimes said that these programs have no default unit. To a degree this is true. However, the default grid pattern, assumptions of other humanoid producing programs, and assumptions of the “physics systems” will often work best with the export units specified in the table below:
TABLE HERE
'''Working with Rigs and Skeletons'''
Internally, MakeHuman uses its default skeleton as the basis of mesh vertex weighting for creating the poses available on the pose tab. This rig includes a special set of bones that can be used for driving facial expressions, but as of the current release (MakeHuman 1.1.x), there is not extensive support for inverse kinematics, and animation must be done downstream in the production pipeline. Historically, MakeHuman has had close ties to Blender, but the ultimate development goal is to provide strong generic support for all the major tools used in the industry, and with MakeHuman 1.1.x, substantial progress has been made by providing weighted skeletons suited for standard use in various downstream applications. For the most part, the name of the most appropriate rig will be clearly associated with the target downstream application, but the tag filters on the Pose/Animate | skeleton tab are intended to help choose a rig suited more generally to a specific purpose like motion capture integration, facial animation, or gaming applications. MakeHuman is designed to provide the user with maximum flexibility at creation time. To provide skeletons that work perfectly with every conceivable variation of the sliders is a laudable but elusive goal. That said, the user should get excellent results with the current approach, but the user should be prepared to make some minor tweaks to skeletons and weights downstream, particularly with extreme character dimensions or extreme poses.
'''MakeHuman Assets with transparency'''
In CG art, materials for mesh objects are frequently created by shaders that use various types of image maps to provide some of the information for determining the color, transparency, and light behavior on the surface of mesh objects. These image maps are referred to as textures. MakeHuman has textured materials available for the body (including proxy topologies), eyes, eyebrows, eyelashes, tongue, teeth, and hair. During export, these textures need to made available to the program that will be importing the MakeHuman output. Two aspects of this process need to be understood by the MakeHuman user: 1) how textures are saved; and 2) how transparency is handled.
There are two possible standards for storing texture assets upon export. They can either be embedded in an exported file, or they can be saved to a folder as named images with reference to the location of those files in the exported file. At present, MakeHuman uses the latter approach when exporting material textures. Following the export process, MakeHuman exports will be located in ~/makehuman/v1/exports/, and the texture images will be located in a corresponding subfolder ~/makehuman/v1/exports/textures. The tilde symbol indicates your user drive and home document directory. [For example, on Windows Vista and later, this typically would be: C:/Users/%USERNAME%/Documents/makehuman/v1/exports and a textures subfolder, where %USERNAME% is replaced by your username.]
Transparency is used in 3D art to let a viewer see through a mesh object to experience the color, reflections and lighting behind that object. MakeHuman uses transparency with textures for the eyes, eyebrows, eyelashes, and hair. This allows complex real world geometry to be represented by much simpler quasi-planar objects. For example, the hairs of the eyebrows are painted onto a flat surface with transparent spaces in between the painted hairs rather than creating tiny mesh objects for each of the 250-1000 individual hairs. CG programs can indicate which regions of the eyebrow should be transparent either by using a separate image where blackness indicates transparent and whiteness indicates opacity. Grayness is used to represent partial transparency. An alternative approach to representing transparency is to use an image format like .tga or .png which has a one byte channel, called an alpha channel, for just this purpose. Again, values near zero (black) typically represent “completely transparent” and values near 255 (white) typically represent “completely opaque”. MakeHuman represents the transparent regions of its assets using the alpha channel method and the .png format for textures. Unfortunately, importers for filmbox (FBX) and collada formats (DAE) do not automatically extract the transparency information provided by MakeHuman, or more specifically, they do not provide it to their shaders as anticipated. This is not just a MakeHuman problem but reflects multiple ways of handling transparency and alpha channels within the industry. Notably, exporting and reimporting assets with alpha channel transparency into the very same program fails with Blender, 3DSMax, and Maya for FBX, and where available, DAE formats. This forces the MakeHuman user to understand how to overcome this limitation in his favorite downstream application. Some introductory help will be provided for common applications later in this document.
There is one additional aspect of using transparency to make a single, simple mesh represent multiple small objects like eyebrows, and that is the issue of shadows. Lighting systems in 3D worlds creates a simulation of reality by making shadows appear on mesh objects in places you would expect to see them in the real world and with the soft edges you would expect to see in the real world. Shadows are a function of both the light source, the object blocking that light, and the objects receiving the reflected and refracted light from other objects. For objects that have transparency, like MakeHuman’s eyes, eyelashes, eyebrows, and hair, shadows should only be cast by the opaque portion of the texture and not by the transparent portions of the texture. The handling of shadows differs considerably from program to program, and objects with alpha channel transparency can need some special handling to accommodate these differences. This handling is not just about the assets with alpha map transparency, themselves. Sometimes it is necessary to set parameters to explicitly tell other objects like the MakeHuman body to not display shadows from the transparent regions of the eyebrows but to show shadows from the opaque hairs of the eyebrows. Shadows of transparently mapped assets will be addressed further in subsequent sections (where information is available).
==Illustrating the Export Process for Subsequent Import==
For the purposes of illustration we will take a straight forward MakeHuman character that has been given a skeleton, a pose, a skin material, clothing, eyes, eyelashes, eyebrows, hair, tongue and teeth. We will then export it for import into a number of popular downstream applications. For each application, our goal will be to get the character to look similar to its original look in MakeHuman. We will pay particular attention to the head and face because this is the area of greatest difficulty for dealing with transparency and shadows. The character has the default skeleton and has been set in the T-pose which is a common starting pose for animation-based work. The image we will be exporting looks like this in MakeHuman:
[[File:ImpExp-001.png]]
'''Figure 1.''' MakeHuman character as viewed from within MakeHuman prior to export.
In subsequent sections, we will discuss the steps needed to reproduce this look after importing into a downstream program.
==[[Moving Assets into Autodesk Maya]]==
[[Moving Assets into Autodesk Maya]]
This subsection describes the restoration and use of MakeHuman's skeletal transparency and skeletal assets after importing in Autodesk Maya.
*Introduction [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Introduction]
*Importing and Initial Setup [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Importing_and_Initial_Setup]
*Basic Repair of Eye Transparency [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Basic_Repair_of_Eye_Transparency]
*Repeat for other Transparent Assets [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Repeat_for_other_Transparent_Assets]
*Raytrace Shadows [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Raytrace_Shadows]
*Re-importing "Fixed MakeHuman Assets" from Maya after saving in FBX format [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Re-importing_Intermediate_FBX_files_from_Maya]
*Adopting MakeHuman Skeletons to Maya [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Adopting_MakeHuman_Skeletons_to_Maya]
<font color = 'red'>--------Skeleton subsection still to be written--------</font>
==[[Moving Assets into Autodesk 3DSMax]]==
This subsection describes the restoration and use of MakeHuman's skeletal transparency and skeletal assets after importing in Autodesk 3DSMax.
<LI>Import process</LI>
<LI>Handling or Transparency after import</LI>
<LI>Handling of Skelton and Rigging after import</LI>
[[==Moving Assets into Blender==]]
==Moving Assets into Unreal Engine 4==
==Moving Assets into Unity Game Engine==
==Moving Assets into Google Sketchup==
==Preparing assets for use with Second Life==
ee31653b6fe74e5a18b5c4779d75c5242909a4c4
259
258
2015-07-25T20:30:21Z
Robbaer
12
/* Moving Assets into Autodesk Maya */
wikitext
text/x-wiki
== Summary ==
More often than not MakeHuman users will want to move their creation into another program to continue the creation process. This section provides information on how to achieve this for common target programs. The ''Background and Technical Consideratins'' section provides some background that are common to all workflows. It is not essential to read the introduction before going straight to the program of interest, but doing so might help you understand ''why'' certain steps work or are necessary. In many cases there can be more than one way to accomplish the same thing. The method described here may not be optimal for your situation, but it should help get you started.
==Background and Technical Considerations==
'''Introduction'''
Many MakeHuman users will use the work they create in MakeHuman as a component of a project completed in an external, downstream application. The most common target applications are 3D graphics applications like Blender, Autodesk 3DSMax, and Autodesk Maya or gaming engines like Unity Engine or Unreal Engine 4 or Virtual Worlds like Second Life. In some cases, the MakeHuman user will be interested in moving just the mesh. In other cases, the user will be interested in moving a complete, posed, skeletonized character to the downstream application. The purpose of this document is to discuss the basic process of moving a finished MakeHuman asset to a downstream program and producing a reasonable facsimile of its MakeHuman appearance in the downstream application. It is important to recognize that because each application has its own way of representing 3D assets, and because each export format has its own set of idiosyncrasies, there will be adjustments and approximations in the asset transfer process.
'''Format Considerations'''
In an effort to provide the broadest latitude for user workflows, the MakeHuman development team is directing it major export support toward Autodesk FBX format and Khronos Collada format. In addition, Blender users have the option to install the [https://bitbucket.org/ThomasMakeHuman/mhx2-makehuman-exchange independently developed .mhx2 tools], which are independently developed and maintained by Thomas Larson. Collada is a text-based format and is an open standard, but implementation of the standard is not as consistent as might be hoped. FBX is a proprietary standard developed by Autodesk and supported through a software development kit (FBX SDK) written in C++ and a Python FBX scripting template. The FBX standard is periodically updated by Autodesk and can be saved as either an ASCII or a binary format. Downstream programs may make assumptions about the FBX version being imported, and may limit users to either binary or ASCII importing. Surprisingly, CG assets exported from various programs as collada and FBX do not make it back into the same program as a round-trip without changes to some components of the scene. For example, this is true of FBX format in both 3DSMax and Maya for MakeHuman assets. It is also true for Blender with both FBX and collada format for MakeHuman assets. In this document, we will attempt to provide some support for dealing with this type of surprise.
'''MakeHuman Shader and Asset Rendering'''
A “shader” is computer code that translates digital information into a properly rendered image on the computer screen. Different algorithms use different methods of constructing such a display. By default in MakeHuman, the viewport lighting is handled by the built-in light-sphere shader. The light-sphere shader takes advantage of support for the openGL standard provided by today’s graphics cards. What the viewer sees on the screen depends not only on the color of assets, like skin and clothing, but also on the nature of the lights illuminating the scene and causing reflections and shadows. Most downstream programs use other shader strategies, the most common of which include Phong shaders, Blinn shaders, or Lambert shaders. Because the code and conceptual design of these shaders differs from that of the MakeHuman light-sphere shader, the user should be prepared to make some adjustments in the downstream program to get the final desired effect. Some MakeHuman assets also include Normal maps which the user will want to integrate into the downstream applications rendering.
When a MakeHuman material (for example, skin or clothing or eyelashes) is exported, it carries with it a limited amount of fundamental information for by the downstream program’s shaders. In an ideal world, the downstream program would import this raw information, correctly populate the variables in its shaders, and yield the same view of the human that was exported from MakeHuman. At present this does not typically happen, and the user must make some adjustments. This Wiki section is designed to help you negotiate through that process.
'''Spatial transformation: MakeHuman Coordinate System, MakeHuman Skeletons, and MakeHuman Scales'''
The MakeHuman viewport is oriented so that the positive end of the x-axis is to the right, the positive end of the y-axis it up, and the positive end of the z-axis is out through the front to the screen. Other CG programs can use other schemes, so it is essential to know the coordinate system used by the downstream target at export time, if you wish to minimize the adjustments you make after importing. The settings tab allows users to work in metric units of decimeters or imperial units of inches. Downstream programs vary in their de facto units, and again, it is generally a good idea to anticipate your needs at export time rather than trying to make adjustments during or after import. It is sometimes said that these programs have no default unit. To a degree this is true. However, the default grid pattern, assumptions of other humanoid producing programs, and assumptions of the “physics systems” will often work best with the export units specified in the table below:
TABLE HERE
'''Working with Rigs and Skeletons'''
Internally, MakeHuman uses its default skeleton as the basis of mesh vertex weighting for creating the poses available on the pose tab. This rig includes a special set of bones that can be used for driving facial expressions, but as of the current release (MakeHuman 1.1.x), there is not extensive support for inverse kinematics, and animation must be done downstream in the production pipeline. Historically, MakeHuman has had close ties to Blender, but the ultimate development goal is to provide strong generic support for all the major tools used in the industry, and with MakeHuman 1.1.x, substantial progress has been made by providing weighted skeletons suited for standard use in various downstream applications. For the most part, the name of the most appropriate rig will be clearly associated with the target downstream application, but the tag filters on the Pose/Animate | skeleton tab are intended to help choose a rig suited more generally to a specific purpose like motion capture integration, facial animation, or gaming applications. MakeHuman is designed to provide the user with maximum flexibility at creation time. To provide skeletons that work perfectly with every conceivable variation of the sliders is a laudable but elusive goal. That said, the user should get excellent results with the current approach, but the user should be prepared to make some minor tweaks to skeletons and weights downstream, particularly with extreme character dimensions or extreme poses.
'''MakeHuman Assets with transparency'''
In CG art, materials for mesh objects are frequently created by shaders that use various types of image maps to provide some of the information for determining the color, transparency, and light behavior on the surface of mesh objects. These image maps are referred to as textures. MakeHuman has textured materials available for the body (including proxy topologies), eyes, eyebrows, eyelashes, tongue, teeth, and hair. During export, these textures need to made available to the program that will be importing the MakeHuman output. Two aspects of this process need to be understood by the MakeHuman user: 1) how textures are saved; and 2) how transparency is handled.
There are two possible standards for storing texture assets upon export. They can either be embedded in an exported file, or they can be saved to a folder as named images with reference to the location of those files in the exported file. At present, MakeHuman uses the latter approach when exporting material textures. Following the export process, MakeHuman exports will be located in ~/makehuman/v1/exports/, and the texture images will be located in a corresponding subfolder ~/makehuman/v1/exports/textures. The tilde symbol indicates your user drive and home document directory. [For example, on Windows Vista and later, this typically would be: C:/Users/%USERNAME%/Documents/makehuman/v1/exports and a textures subfolder, where %USERNAME% is replaced by your username.]
Transparency is used in 3D art to let a viewer see through a mesh object to experience the color, reflections and lighting behind that object. MakeHuman uses transparency with textures for the eyes, eyebrows, eyelashes, and hair. This allows complex real world geometry to be represented by much simpler quasi-planar objects. For example, the hairs of the eyebrows are painted onto a flat surface with transparent spaces in between the painted hairs rather than creating tiny mesh objects for each of the 250-1000 individual hairs. CG programs can indicate which regions of the eyebrow should be transparent either by using a separate image where blackness indicates transparent and whiteness indicates opacity. Grayness is used to represent partial transparency. An alternative approach to representing transparency is to use an image format like .tga or .png which has a one byte channel, called an alpha channel, for just this purpose. Again, values near zero (black) typically represent “completely transparent” and values near 255 (white) typically represent “completely opaque”. MakeHuman represents the transparent regions of its assets using the alpha channel method and the .png format for textures. Unfortunately, importers for filmbox (FBX) and collada formats (DAE) do not automatically extract the transparency information provided by MakeHuman, or more specifically, they do not provide it to their shaders as anticipated. This is not just a MakeHuman problem but reflects multiple ways of handling transparency and alpha channels within the industry. Notably, exporting and reimporting assets with alpha channel transparency into the very same program fails with Blender, 3DSMax, and Maya for FBX, and where available, DAE formats. This forces the MakeHuman user to understand how to overcome this limitation in his favorite downstream application. Some introductory help will be provided for common applications later in this document.
There is one additional aspect of using transparency to make a single, simple mesh represent multiple small objects like eyebrows, and that is the issue of shadows. Lighting systems in 3D worlds creates a simulation of reality by making shadows appear on mesh objects in places you would expect to see them in the real world and with the soft edges you would expect to see in the real world. Shadows are a function of both the light source, the object blocking that light, and the objects receiving the reflected and refracted light from other objects. For objects that have transparency, like MakeHuman’s eyes, eyelashes, eyebrows, and hair, shadows should only be cast by the opaque portion of the texture and not by the transparent portions of the texture. The handling of shadows differs considerably from program to program, and objects with alpha channel transparency can need some special handling to accommodate these differences. This handling is not just about the assets with alpha map transparency, themselves. Sometimes it is necessary to set parameters to explicitly tell other objects like the MakeHuman body to not display shadows from the transparent regions of the eyebrows but to show shadows from the opaque hairs of the eyebrows. Shadows of transparently mapped assets will be addressed further in subsequent sections (where information is available).
==Illustrating the Export Process for Subsequent Import==
For the purposes of illustration we will take a straight forward MakeHuman character that has been given a skeleton, a pose, a skin material, clothing, eyes, eyelashes, eyebrows, hair, tongue and teeth. We will then export it for import into a number of popular downstream applications. For each application, our goal will be to get the character to look similar to its original look in MakeHuman. We will pay particular attention to the head and face because this is the area of greatest difficulty for dealing with transparency and shadows. The character has the default skeleton and has been set in the T-pose which is a common starting pose for animation-based work. The image we will be exporting looks like this in MakeHuman:
[[File:ImpExp-001.png]]
'''Figure 1.''' MakeHuman character as viewed from within MakeHuman prior to export.
In subsequent sections, we will discuss the steps needed to reproduce this look after importing into a downstream program.
==[[Moving Assets into Autodesk Maya]]==
[[Moving Assets into Autodesk Maya]]
This subsection describes the restoration and use of MakeHuman's skeletal transparency and skeletal assets after importing in Autodesk Maya.
*Introduction [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Introduction]
*Importing and Initial Setup [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Importing_and_Initial_Setup]
*Basic Repair of Eye Transparency [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Basic_Repair_of_Eye_Transparency]
*Repeat for other Transparent Assets [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Repeat_for_other_Transparent_Assets]
*Raytrace Shadows [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Raytrace_Shadows]
*Re-importing "Fixed MakeHuman Assets" from Maya after saving in FBX format [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Re-importing_Intermediate_FBX_files_from_Maya]
*Adopting MakeHuman Skeletons to Maya [http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Adopting_MakeHuman_Skeletons_to_Maya]
<font color = 'red'>--------Skeleton subsection still to be written--------</font>
==[[Moving Assets into Autodesk 3DSMax]]==
This subsection describes the restoration and use of MakeHuman's skeletal transparency and skeletal assets after importing in Autodesk 3DSMax.
<LI>Import process</LI>
<LI>Handling or Transparency after import</LI>
<LI>Handling of Skelton and Rigging after import</LI>
==Moving Assets into Blender==
==Moving Assets into Unreal Engine 4==
==Moving Assets into Unity Game Engine==
==Moving Assets into Google Sketchup==
==Preparing assets for use with Second Life==
1869b7f03e62a715ae4348bba0fea4f6f4bca11c
258
257
2015-07-25T20:22:19Z
Robbaer
12
/* Moving Assets into Autodesk Maya */
wikitext
text/x-wiki
== Summary ==
More often than not MakeHuman users will want to move their creation into another program to continue the creation process. This section provides information on how to achieve this for common target programs. The ''Background and Technical Consideratins'' section provides some background that are common to all workflows. It is not essential to read the introduction before going straight to the program of interest, but doing so might help you understand ''why'' certain steps work or are necessary. In many cases there can be more than one way to accomplish the same thing. The method described here may not be optimal for your situation, but it should help get you started.
==Background and Technical Considerations==
'''Introduction'''
Many MakeHuman users will use the work they create in MakeHuman as a component of a project completed in an external, downstream application. The most common target applications are 3D graphics applications like Blender, Autodesk 3DSMax, and Autodesk Maya or gaming engines like Unity Engine or Unreal Engine 4 or Virtual Worlds like Second Life. In some cases, the MakeHuman user will be interested in moving just the mesh. In other cases, the user will be interested in moving a complete, posed, skeletonized character to the downstream application. The purpose of this document is to discuss the basic process of moving a finished MakeHuman asset to a downstream program and producing a reasonable facsimile of its MakeHuman appearance in the downstream application. It is important to recognize that because each application has its own way of representing 3D assets, and because each export format has its own set of idiosyncrasies, there will be adjustments and approximations in the asset transfer process.
'''Format Considerations'''
In an effort to provide the broadest latitude for user workflows, the MakeHuman development team is directing it major export support toward Autodesk FBX format and Khronos Collada format. In addition, Blender users have the option to install the [https://bitbucket.org/ThomasMakeHuman/mhx2-makehuman-exchange independently developed .mhx2 tools], which are independently developed and maintained by Thomas Larson. Collada is a text-based format and is an open standard, but implementation of the standard is not as consistent as might be hoped. FBX is a proprietary standard developed by Autodesk and supported through a software development kit (FBX SDK) written in C++ and a Python FBX scripting template. The FBX standard is periodically updated by Autodesk and can be saved as either an ASCII or a binary format. Downstream programs may make assumptions about the FBX version being imported, and may limit users to either binary or ASCII importing. Surprisingly, CG assets exported from various programs as collada and FBX do not make it back into the same program as a round-trip without changes to some components of the scene. For example, this is true of FBX format in both 3DSMax and Maya for MakeHuman assets. It is also true for Blender with both FBX and collada format for MakeHuman assets. In this document, we will attempt to provide some support for dealing with this type of surprise.
'''MakeHuman Shader and Asset Rendering'''
A “shader” is computer code that translates digital information into a properly rendered image on the computer screen. Different algorithms use different methods of constructing such a display. By default in MakeHuman, the viewport lighting is handled by the built-in light-sphere shader. The light-sphere shader takes advantage of support for the openGL standard provided by today’s graphics cards. What the viewer sees on the screen depends not only on the color of assets, like skin and clothing, but also on the nature of the lights illuminating the scene and causing reflections and shadows. Most downstream programs use other shader strategies, the most common of which include Phong shaders, Blinn shaders, or Lambert shaders. Because the code and conceptual design of these shaders differs from that of the MakeHuman light-sphere shader, the user should be prepared to make some adjustments in the downstream program to get the final desired effect. Some MakeHuman assets also include Normal maps which the user will want to integrate into the downstream applications rendering.
When a MakeHuman material (for example, skin or clothing or eyelashes) is exported, it carries with it a limited amount of fundamental information for by the downstream program’s shaders. In an ideal world, the downstream program would import this raw information, correctly populate the variables in its shaders, and yield the same view of the human that was exported from MakeHuman. At present this does not typically happen, and the user must make some adjustments. This Wiki section is designed to help you negotiate through that process.
'''Spatial transformation: MakeHuman Coordinate System, MakeHuman Skeletons, and MakeHuman Scales'''
The MakeHuman viewport is oriented so that the positive end of the x-axis is to the right, the positive end of the y-axis it up, and the positive end of the z-axis is out through the front to the screen. Other CG programs can use other schemes, so it is essential to know the coordinate system used by the downstream target at export time, if you wish to minimize the adjustments you make after importing. The settings tab allows users to work in metric units of decimeters or imperial units of inches. Downstream programs vary in their de facto units, and again, it is generally a good idea to anticipate your needs at export time rather than trying to make adjustments during or after import. It is sometimes said that these programs have no default unit. To a degree this is true. However, the default grid pattern, assumptions of other humanoid producing programs, and assumptions of the “physics systems” will often work best with the export units specified in the table below:
TABLE HERE
'''Working with Rigs and Skeletons'''
Internally, MakeHuman uses its default skeleton as the basis of mesh vertex weighting for creating the poses available on the pose tab. This rig includes a special set of bones that can be used for driving facial expressions, but as of the current release (MakeHuman 1.1.x), there is not extensive support for inverse kinematics, and animation must be done downstream in the production pipeline. Historically, MakeHuman has had close ties to Blender, but the ultimate development goal is to provide strong generic support for all the major tools used in the industry, and with MakeHuman 1.1.x, substantial progress has been made by providing weighted skeletons suited for standard use in various downstream applications. For the most part, the name of the most appropriate rig will be clearly associated with the target downstream application, but the tag filters on the Pose/Animate | skeleton tab are intended to help choose a rig suited more generally to a specific purpose like motion capture integration, facial animation, or gaming applications. MakeHuman is designed to provide the user with maximum flexibility at creation time. To provide skeletons that work perfectly with every conceivable variation of the sliders is a laudable but elusive goal. That said, the user should get excellent results with the current approach, but the user should be prepared to make some minor tweaks to skeletons and weights downstream, particularly with extreme character dimensions or extreme poses.
'''MakeHuman Assets with transparency'''
In CG art, materials for mesh objects are frequently created by shaders that use various types of image maps to provide some of the information for determining the color, transparency, and light behavior on the surface of mesh objects. These image maps are referred to as textures. MakeHuman has textured materials available for the body (including proxy topologies), eyes, eyebrows, eyelashes, tongue, teeth, and hair. During export, these textures need to made available to the program that will be importing the MakeHuman output. Two aspects of this process need to be understood by the MakeHuman user: 1) how textures are saved; and 2) how transparency is handled.
There are two possible standards for storing texture assets upon export. They can either be embedded in an exported file, or they can be saved to a folder as named images with reference to the location of those files in the exported file. At present, MakeHuman uses the latter approach when exporting material textures. Following the export process, MakeHuman exports will be located in ~/makehuman/v1/exports/, and the texture images will be located in a corresponding subfolder ~/makehuman/v1/exports/textures. The tilde symbol indicates your user drive and home document directory. [For example, on Windows Vista and later, this typically would be: C:/Users/%USERNAME%/Documents/makehuman/v1/exports and a textures subfolder, where %USERNAME% is replaced by your username.]
Transparency is used in 3D art to let a viewer see through a mesh object to experience the color, reflections and lighting behind that object. MakeHuman uses transparency with textures for the eyes, eyebrows, eyelashes, and hair. This allows complex real world geometry to be represented by much simpler quasi-planar objects. For example, the hairs of the eyebrows are painted onto a flat surface with transparent spaces in between the painted hairs rather than creating tiny mesh objects for each of the 250-1000 individual hairs. CG programs can indicate which regions of the eyebrow should be transparent either by using a separate image where blackness indicates transparent and whiteness indicates opacity. Grayness is used to represent partial transparency. An alternative approach to representing transparency is to use an image format like .tga or .png which has a one byte channel, called an alpha channel, for just this purpose. Again, values near zero (black) typically represent “completely transparent” and values near 255 (white) typically represent “completely opaque”. MakeHuman represents the transparent regions of its assets using the alpha channel method and the .png format for textures. Unfortunately, importers for filmbox (FBX) and collada formats (DAE) do not automatically extract the transparency information provided by MakeHuman, or more specifically, they do not provide it to their shaders as anticipated. This is not just a MakeHuman problem but reflects multiple ways of handling transparency and alpha channels within the industry. Notably, exporting and reimporting assets with alpha channel transparency into the very same program fails with Blender, 3DSMax, and Maya for FBX, and where available, DAE formats. This forces the MakeHuman user to understand how to overcome this limitation in his favorite downstream application. Some introductory help will be provided for common applications later in this document.
There is one additional aspect of using transparency to make a single, simple mesh represent multiple small objects like eyebrows, and that is the issue of shadows. Lighting systems in 3D worlds creates a simulation of reality by making shadows appear on mesh objects in places you would expect to see them in the real world and with the soft edges you would expect to see in the real world. Shadows are a function of both the light source, the object blocking that light, and the objects receiving the reflected and refracted light from other objects. For objects that have transparency, like MakeHuman’s eyes, eyelashes, eyebrows, and hair, shadows should only be cast by the opaque portion of the texture and not by the transparent portions of the texture. The handling of shadows differs considerably from program to program, and objects with alpha channel transparency can need some special handling to accommodate these differences. This handling is not just about the assets with alpha map transparency, themselves. Sometimes it is necessary to set parameters to explicitly tell other objects like the MakeHuman body to not display shadows from the transparent regions of the eyebrows but to show shadows from the opaque hairs of the eyebrows. Shadows of transparently mapped assets will be addressed further in subsequent sections (where information is available).
==Illustrating the Export Process for Subsequent Import==
For the purposes of illustration we will take a straight forward MakeHuman character that has been given a skeleton, a pose, a skin material, clothing, eyes, eyelashes, eyebrows, hair, tongue and teeth. We will then export it for import into a number of popular downstream applications. For each application, our goal will be to get the character to look similar to its original look in MakeHuman. We will pay particular attention to the head and face because this is the area of greatest difficulty for dealing with transparency and shadows. The character has the default skeleton and has been set in the T-pose which is a common starting pose for animation-based work. The image we will be exporting looks like this in MakeHuman:
[[File:ImpExp-001.png]]
'''Figure 1.''' MakeHuman character as viewed from within MakeHuman prior to export.
In subsequent sections, we will discuss the steps needed to reproduce this look after importing into a downstream program.
==[[Moving Assets into Autodesk Maya]]==
[[Moving Assets into Autodesk Maya]]
This subsection describes the restoration and use of MakeHuman's skeletal transparency and skeletal assets after importing in Autodesk Maya.
*Introduction [[http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Introduction]]
*Importing and Initial Setup [[http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Importing_and_Initial_Setup]]
*Basic Repair of Eye Transparency [[http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Basic_Repair_of_Eye_Transparency]]
*Repeat for other Transparent Assets [[http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Repeat_for_other_Transparent_Assets]]
*Raytrace Shadows [[http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Raytrace_Shadows]]
*Re-importing "Fixed MakeHuman Assets" from Maya after saving in FBX format [[http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_Maya#Re-importing_Intermediate_FBX_files_from_Maya]]
*Adopting MakeHuman Skeletons to Maya [[]]
<font color = 'red'>--------Skeleton subsection still to be written--------</font>
==[[Moving Assets into Autodesk 3DSMax]]==
This subsection describes the restoration and use of MakeHuman's skeletal transparency and skeletal assets after importing in Autodesk 3DSMax.
<LI>Import process</LI>
<LI>Handling or Transparency after import</LI>
<LI>Handling of Skelton and Rigging after import</LI>
==Moving Assets into Blender==
==Moving Assets into Unreal Engine 4==
==Moving Assets into Unity Game Engine==
==Moving Assets into Google Sketchup==
==Preparing assets for use with Second Life==
c6793204448e43e010c0f92fcfd5fed528239f46
257
255
2015-07-25T20:12:06Z
Robbaer
12
/* Moving Assets into Autodesk Maya */
wikitext
text/x-wiki
== Summary ==
More often than not MakeHuman users will want to move their creation into another program to continue the creation process. This section provides information on how to achieve this for common target programs. The ''Background and Technical Consideratins'' section provides some background that are common to all workflows. It is not essential to read the introduction before going straight to the program of interest, but doing so might help you understand ''why'' certain steps work or are necessary. In many cases there can be more than one way to accomplish the same thing. The method described here may not be optimal for your situation, but it should help get you started.
==Background and Technical Considerations==
'''Introduction'''
Many MakeHuman users will use the work they create in MakeHuman as a component of a project completed in an external, downstream application. The most common target applications are 3D graphics applications like Blender, Autodesk 3DSMax, and Autodesk Maya or gaming engines like Unity Engine or Unreal Engine 4 or Virtual Worlds like Second Life. In some cases, the MakeHuman user will be interested in moving just the mesh. In other cases, the user will be interested in moving a complete, posed, skeletonized character to the downstream application. The purpose of this document is to discuss the basic process of moving a finished MakeHuman asset to a downstream program and producing a reasonable facsimile of its MakeHuman appearance in the downstream application. It is important to recognize that because each application has its own way of representing 3D assets, and because each export format has its own set of idiosyncrasies, there will be adjustments and approximations in the asset transfer process.
'''Format Considerations'''
In an effort to provide the broadest latitude for user workflows, the MakeHuman development team is directing it major export support toward Autodesk FBX format and Khronos Collada format. In addition, Blender users have the option to install the [https://bitbucket.org/ThomasMakeHuman/mhx2-makehuman-exchange independently developed .mhx2 tools], which are independently developed and maintained by Thomas Larson. Collada is a text-based format and is an open standard, but implementation of the standard is not as consistent as might be hoped. FBX is a proprietary standard developed by Autodesk and supported through a software development kit (FBX SDK) written in C++ and a Python FBX scripting template. The FBX standard is periodically updated by Autodesk and can be saved as either an ASCII or a binary format. Downstream programs may make assumptions about the FBX version being imported, and may limit users to either binary or ASCII importing. Surprisingly, CG assets exported from various programs as collada and FBX do not make it back into the same program as a round-trip without changes to some components of the scene. For example, this is true of FBX format in both 3DSMax and Maya for MakeHuman assets. It is also true for Blender with both FBX and collada format for MakeHuman assets. In this document, we will attempt to provide some support for dealing with this type of surprise.
'''MakeHuman Shader and Asset Rendering'''
A “shader” is computer code that translates digital information into a properly rendered image on the computer screen. Different algorithms use different methods of constructing such a display. By default in MakeHuman, the viewport lighting is handled by the built-in light-sphere shader. The light-sphere shader takes advantage of support for the openGL standard provided by today’s graphics cards. What the viewer sees on the screen depends not only on the color of assets, like skin and clothing, but also on the nature of the lights illuminating the scene and causing reflections and shadows. Most downstream programs use other shader strategies, the most common of which include Phong shaders, Blinn shaders, or Lambert shaders. Because the code and conceptual design of these shaders differs from that of the MakeHuman light-sphere shader, the user should be prepared to make some adjustments in the downstream program to get the final desired effect. Some MakeHuman assets also include Normal maps which the user will want to integrate into the downstream applications rendering.
When a MakeHuman material (for example, skin or clothing or eyelashes) is exported, it carries with it a limited amount of fundamental information for by the downstream program’s shaders. In an ideal world, the downstream program would import this raw information, correctly populate the variables in its shaders, and yield the same view of the human that was exported from MakeHuman. At present this does not typically happen, and the user must make some adjustments. This Wiki section is designed to help you negotiate through that process.
'''Spatial transformation: MakeHuman Coordinate System, MakeHuman Skeletons, and MakeHuman Scales'''
The MakeHuman viewport is oriented so that the positive end of the x-axis is to the right, the positive end of the y-axis it up, and the positive end of the z-axis is out through the front to the screen. Other CG programs can use other schemes, so it is essential to know the coordinate system used by the downstream target at export time, if you wish to minimize the adjustments you make after importing. The settings tab allows users to work in metric units of decimeters or imperial units of inches. Downstream programs vary in their de facto units, and again, it is generally a good idea to anticipate your needs at export time rather than trying to make adjustments during or after import. It is sometimes said that these programs have no default unit. To a degree this is true. However, the default grid pattern, assumptions of other humanoid producing programs, and assumptions of the “physics systems” will often work best with the export units specified in the table below:
TABLE HERE
'''Working with Rigs and Skeletons'''
Internally, MakeHuman uses its default skeleton as the basis of mesh vertex weighting for creating the poses available on the pose tab. This rig includes a special set of bones that can be used for driving facial expressions, but as of the current release (MakeHuman 1.1.x), there is not extensive support for inverse kinematics, and animation must be done downstream in the production pipeline. Historically, MakeHuman has had close ties to Blender, but the ultimate development goal is to provide strong generic support for all the major tools used in the industry, and with MakeHuman 1.1.x, substantial progress has been made by providing weighted skeletons suited for standard use in various downstream applications. For the most part, the name of the most appropriate rig will be clearly associated with the target downstream application, but the tag filters on the Pose/Animate | skeleton tab are intended to help choose a rig suited more generally to a specific purpose like motion capture integration, facial animation, or gaming applications. MakeHuman is designed to provide the user with maximum flexibility at creation time. To provide skeletons that work perfectly with every conceivable variation of the sliders is a laudable but elusive goal. That said, the user should get excellent results with the current approach, but the user should be prepared to make some minor tweaks to skeletons and weights downstream, particularly with extreme character dimensions or extreme poses.
'''MakeHuman Assets with transparency'''
In CG art, materials for mesh objects are frequently created by shaders that use various types of image maps to provide some of the information for determining the color, transparency, and light behavior on the surface of mesh objects. These image maps are referred to as textures. MakeHuman has textured materials available for the body (including proxy topologies), eyes, eyebrows, eyelashes, tongue, teeth, and hair. During export, these textures need to made available to the program that will be importing the MakeHuman output. Two aspects of this process need to be understood by the MakeHuman user: 1) how textures are saved; and 2) how transparency is handled.
There are two possible standards for storing texture assets upon export. They can either be embedded in an exported file, or they can be saved to a folder as named images with reference to the location of those files in the exported file. At present, MakeHuman uses the latter approach when exporting material textures. Following the export process, MakeHuman exports will be located in ~/makehuman/v1/exports/, and the texture images will be located in a corresponding subfolder ~/makehuman/v1/exports/textures. The tilde symbol indicates your user drive and home document directory. [For example, on Windows Vista and later, this typically would be: C:/Users/%USERNAME%/Documents/makehuman/v1/exports and a textures subfolder, where %USERNAME% is replaced by your username.]
Transparency is used in 3D art to let a viewer see through a mesh object to experience the color, reflections and lighting behind that object. MakeHuman uses transparency with textures for the eyes, eyebrows, eyelashes, and hair. This allows complex real world geometry to be represented by much simpler quasi-planar objects. For example, the hairs of the eyebrows are painted onto a flat surface with transparent spaces in between the painted hairs rather than creating tiny mesh objects for each of the 250-1000 individual hairs. CG programs can indicate which regions of the eyebrow should be transparent either by using a separate image where blackness indicates transparent and whiteness indicates opacity. Grayness is used to represent partial transparency. An alternative approach to representing transparency is to use an image format like .tga or .png which has a one byte channel, called an alpha channel, for just this purpose. Again, values near zero (black) typically represent “completely transparent” and values near 255 (white) typically represent “completely opaque”. MakeHuman represents the transparent regions of its assets using the alpha channel method and the .png format for textures. Unfortunately, importers for filmbox (FBX) and collada formats (DAE) do not automatically extract the transparency information provided by MakeHuman, or more specifically, they do not provide it to their shaders as anticipated. This is not just a MakeHuman problem but reflects multiple ways of handling transparency and alpha channels within the industry. Notably, exporting and reimporting assets with alpha channel transparency into the very same program fails with Blender, 3DSMax, and Maya for FBX, and where available, DAE formats. This forces the MakeHuman user to understand how to overcome this limitation in his favorite downstream application. Some introductory help will be provided for common applications later in this document.
There is one additional aspect of using transparency to make a single, simple mesh represent multiple small objects like eyebrows, and that is the issue of shadows. Lighting systems in 3D worlds creates a simulation of reality by making shadows appear on mesh objects in places you would expect to see them in the real world and with the soft edges you would expect to see in the real world. Shadows are a function of both the light source, the object blocking that light, and the objects receiving the reflected and refracted light from other objects. For objects that have transparency, like MakeHuman’s eyes, eyelashes, eyebrows, and hair, shadows should only be cast by the opaque portion of the texture and not by the transparent portions of the texture. The handling of shadows differs considerably from program to program, and objects with alpha channel transparency can need some special handling to accommodate these differences. This handling is not just about the assets with alpha map transparency, themselves. Sometimes it is necessary to set parameters to explicitly tell other objects like the MakeHuman body to not display shadows from the transparent regions of the eyebrows but to show shadows from the opaque hairs of the eyebrows. Shadows of transparently mapped assets will be addressed further in subsequent sections (where information is available).
==Illustrating the Export Process for Subsequent Import==
For the purposes of illustration we will take a straight forward MakeHuman character that has been given a skeleton, a pose, a skin material, clothing, eyes, eyelashes, eyebrows, hair, tongue and teeth. We will then export it for import into a number of popular downstream applications. For each application, our goal will be to get the character to look similar to its original look in MakeHuman. We will pay particular attention to the head and face because this is the area of greatest difficulty for dealing with transparency and shadows. The character has the default skeleton and has been set in the T-pose which is a common starting pose for animation-based work. The image we will be exporting looks like this in MakeHuman:
[[File:ImpExp-001.png]]
'''Figure 1.''' MakeHuman character as viewed from within MakeHuman prior to export.
In subsequent sections, we will discuss the steps needed to reproduce this look after importing into a downstream program.
==[[Moving Assets into Autodesk Maya]]==
[[Moving Assets into Autodesk Maya]]
This subsection describes the restoration and use of MakeHuman's skeletal transparency and skeletal assets after importing in Autodesk Maya.
*Importing and Initial Setup
*Basic Repair of Eye Transparency
*Repeat for other Transparent Assets
*Raytrace Shadows
*Re-importing "Fixed MakeHuman Assets" from Maya after saving in FBX format
*Adopting MakeHuman Skeletons to Maya
<font color = 'red'>--------Skeleton subsection still to be written--------</font>
==[[Moving Assets into Autodesk 3DSMax]]==
This subsection describes the restoration and use of MakeHuman's skeletal transparency and skeletal assets after importing in Autodesk 3DSMax.
<LI>Import process</LI>
<LI>Handling or Transparency after import</LI>
<LI>Handling of Skelton and Rigging after import</LI>
==Moving Assets into Blender==
==Moving Assets into Unreal Engine 4==
==Moving Assets into Unity Game Engine==
==Moving Assets into Google Sketchup==
==Preparing assets for use with Second Life==
8c4ed07121477025bbac6606209ad4468e385633
255
254
2015-07-25T19:34:29Z
Robbaer
12
/* Illustrating the Export Process for Subsequent Import */
wikitext
text/x-wiki
== Summary ==
More often than not MakeHuman users will want to move their creation into another program to continue the creation process. This section provides information on how to achieve this for common target programs. The ''Background and Technical Consideratins'' section provides some background that are common to all workflows. It is not essential to read the introduction before going straight to the program of interest, but doing so might help you understand ''why'' certain steps work or are necessary. In many cases there can be more than one way to accomplish the same thing. The method described here may not be optimal for your situation, but it should help get you started.
==Background and Technical Considerations==
'''Introduction'''
Many MakeHuman users will use the work they create in MakeHuman as a component of a project completed in an external, downstream application. The most common target applications are 3D graphics applications like Blender, Autodesk 3DSMax, and Autodesk Maya or gaming engines like Unity Engine or Unreal Engine 4 or Virtual Worlds like Second Life. In some cases, the MakeHuman user will be interested in moving just the mesh. In other cases, the user will be interested in moving a complete, posed, skeletonized character to the downstream application. The purpose of this document is to discuss the basic process of moving a finished MakeHuman asset to a downstream program and producing a reasonable facsimile of its MakeHuman appearance in the downstream application. It is important to recognize that because each application has its own way of representing 3D assets, and because each export format has its own set of idiosyncrasies, there will be adjustments and approximations in the asset transfer process.
'''Format Considerations'''
In an effort to provide the broadest latitude for user workflows, the MakeHuman development team is directing it major export support toward Autodesk FBX format and Khronos Collada format. In addition, Blender users have the option to install the [https://bitbucket.org/ThomasMakeHuman/mhx2-makehuman-exchange independently developed .mhx2 tools], which are independently developed and maintained by Thomas Larson. Collada is a text-based format and is an open standard, but implementation of the standard is not as consistent as might be hoped. FBX is a proprietary standard developed by Autodesk and supported through a software development kit (FBX SDK) written in C++ and a Python FBX scripting template. The FBX standard is periodically updated by Autodesk and can be saved as either an ASCII or a binary format. Downstream programs may make assumptions about the FBX version being imported, and may limit users to either binary or ASCII importing. Surprisingly, CG assets exported from various programs as collada and FBX do not make it back into the same program as a round-trip without changes to some components of the scene. For example, this is true of FBX format in both 3DSMax and Maya for MakeHuman assets. It is also true for Blender with both FBX and collada format for MakeHuman assets. In this document, we will attempt to provide some support for dealing with this type of surprise.
'''MakeHuman Shader and Asset Rendering'''
A “shader” is computer code that translates digital information into a properly rendered image on the computer screen. Different algorithms use different methods of constructing such a display. By default in MakeHuman, the viewport lighting is handled by the built-in light-sphere shader. The light-sphere shader takes advantage of support for the openGL standard provided by today’s graphics cards. What the viewer sees on the screen depends not only on the color of assets, like skin and clothing, but also on the nature of the lights illuminating the scene and causing reflections and shadows. Most downstream programs use other shader strategies, the most common of which include Phong shaders, Blinn shaders, or Lambert shaders. Because the code and conceptual design of these shaders differs from that of the MakeHuman light-sphere shader, the user should be prepared to make some adjustments in the downstream program to get the final desired effect. Some MakeHuman assets also include Normal maps which the user will want to integrate into the downstream applications rendering.
When a MakeHuman material (for example, skin or clothing or eyelashes) is exported, it carries with it a limited amount of fundamental information for by the downstream program’s shaders. In an ideal world, the downstream program would import this raw information, correctly populate the variables in its shaders, and yield the same view of the human that was exported from MakeHuman. At present this does not typically happen, and the user must make some adjustments. This Wiki section is designed to help you negotiate through that process.
'''Spatial transformation: MakeHuman Coordinate System, MakeHuman Skeletons, and MakeHuman Scales'''
The MakeHuman viewport is oriented so that the positive end of the x-axis is to the right, the positive end of the y-axis it up, and the positive end of the z-axis is out through the front to the screen. Other CG programs can use other schemes, so it is essential to know the coordinate system used by the downstream target at export time, if you wish to minimize the adjustments you make after importing. The settings tab allows users to work in metric units of decimeters or imperial units of inches. Downstream programs vary in their de facto units, and again, it is generally a good idea to anticipate your needs at export time rather than trying to make adjustments during or after import. It is sometimes said that these programs have no default unit. To a degree this is true. However, the default grid pattern, assumptions of other humanoid producing programs, and assumptions of the “physics systems” will often work best with the export units specified in the table below:
TABLE HERE
'''Working with Rigs and Skeletons'''
Internally, MakeHuman uses its default skeleton as the basis of mesh vertex weighting for creating the poses available on the pose tab. This rig includes a special set of bones that can be used for driving facial expressions, but as of the current release (MakeHuman 1.1.x), there is not extensive support for inverse kinematics, and animation must be done downstream in the production pipeline. Historically, MakeHuman has had close ties to Blender, but the ultimate development goal is to provide strong generic support for all the major tools used in the industry, and with MakeHuman 1.1.x, substantial progress has been made by providing weighted skeletons suited for standard use in various downstream applications. For the most part, the name of the most appropriate rig will be clearly associated with the target downstream application, but the tag filters on the Pose/Animate | skeleton tab are intended to help choose a rig suited more generally to a specific purpose like motion capture integration, facial animation, or gaming applications. MakeHuman is designed to provide the user with maximum flexibility at creation time. To provide skeletons that work perfectly with every conceivable variation of the sliders is a laudable but elusive goal. That said, the user should get excellent results with the current approach, but the user should be prepared to make some minor tweaks to skeletons and weights downstream, particularly with extreme character dimensions or extreme poses.
'''MakeHuman Assets with transparency'''
In CG art, materials for mesh objects are frequently created by shaders that use various types of image maps to provide some of the information for determining the color, transparency, and light behavior on the surface of mesh objects. These image maps are referred to as textures. MakeHuman has textured materials available for the body (including proxy topologies), eyes, eyebrows, eyelashes, tongue, teeth, and hair. During export, these textures need to made available to the program that will be importing the MakeHuman output. Two aspects of this process need to be understood by the MakeHuman user: 1) how textures are saved; and 2) how transparency is handled.
There are two possible standards for storing texture assets upon export. They can either be embedded in an exported file, or they can be saved to a folder as named images with reference to the location of those files in the exported file. At present, MakeHuman uses the latter approach when exporting material textures. Following the export process, MakeHuman exports will be located in ~/makehuman/v1/exports/, and the texture images will be located in a corresponding subfolder ~/makehuman/v1/exports/textures. The tilde symbol indicates your user drive and home document directory. [For example, on Windows Vista and later, this typically would be: C:/Users/%USERNAME%/Documents/makehuman/v1/exports and a textures subfolder, where %USERNAME% is replaced by your username.]
Transparency is used in 3D art to let a viewer see through a mesh object to experience the color, reflections and lighting behind that object. MakeHuman uses transparency with textures for the eyes, eyebrows, eyelashes, and hair. This allows complex real world geometry to be represented by much simpler quasi-planar objects. For example, the hairs of the eyebrows are painted onto a flat surface with transparent spaces in between the painted hairs rather than creating tiny mesh objects for each of the 250-1000 individual hairs. CG programs can indicate which regions of the eyebrow should be transparent either by using a separate image where blackness indicates transparent and whiteness indicates opacity. Grayness is used to represent partial transparency. An alternative approach to representing transparency is to use an image format like .tga or .png which has a one byte channel, called an alpha channel, for just this purpose. Again, values near zero (black) typically represent “completely transparent” and values near 255 (white) typically represent “completely opaque”. MakeHuman represents the transparent regions of its assets using the alpha channel method and the .png format for textures. Unfortunately, importers for filmbox (FBX) and collada formats (DAE) do not automatically extract the transparency information provided by MakeHuman, or more specifically, they do not provide it to their shaders as anticipated. This is not just a MakeHuman problem but reflects multiple ways of handling transparency and alpha channels within the industry. Notably, exporting and reimporting assets with alpha channel transparency into the very same program fails with Blender, 3DSMax, and Maya for FBX, and where available, DAE formats. This forces the MakeHuman user to understand how to overcome this limitation in his favorite downstream application. Some introductory help will be provided for common applications later in this document.
There is one additional aspect of using transparency to make a single, simple mesh represent multiple small objects like eyebrows, and that is the issue of shadows. Lighting systems in 3D worlds creates a simulation of reality by making shadows appear on mesh objects in places you would expect to see them in the real world and with the soft edges you would expect to see in the real world. Shadows are a function of both the light source, the object blocking that light, and the objects receiving the reflected and refracted light from other objects. For objects that have transparency, like MakeHuman’s eyes, eyelashes, eyebrows, and hair, shadows should only be cast by the opaque portion of the texture and not by the transparent portions of the texture. The handling of shadows differs considerably from program to program, and objects with alpha channel transparency can need some special handling to accommodate these differences. This handling is not just about the assets with alpha map transparency, themselves. Sometimes it is necessary to set parameters to explicitly tell other objects like the MakeHuman body to not display shadows from the transparent regions of the eyebrows but to show shadows from the opaque hairs of the eyebrows. Shadows of transparently mapped assets will be addressed further in subsequent sections (where information is available).
==Illustrating the Export Process for Subsequent Import==
For the purposes of illustration we will take a straight forward MakeHuman character that has been given a skeleton, a pose, a skin material, clothing, eyes, eyelashes, eyebrows, hair, tongue and teeth. We will then export it for import into a number of popular downstream applications. For each application, our goal will be to get the character to look similar to its original look in MakeHuman. We will pay particular attention to the head and face because this is the area of greatest difficulty for dealing with transparency and shadows. The character has the default skeleton and has been set in the T-pose which is a common starting pose for animation-based work. The image we will be exporting looks like this in MakeHuman:
[[File:ImpExp-001.png]]
'''Figure 1.''' MakeHuman character as viewed from within MakeHuman prior to export.
In subsequent sections, we will discuss the steps needed to reproduce this look after importing into a downstream program.
==[[Moving Assets into Autodesk Maya]]==
[[Moving Assets into Autodesk Maya]]
This subsection describes the restoration and use of MakeHuman's skeletal transparency and skeletal assets after importing in Autodesk Maya.
<LI>Importing and Initial Setup</LI>
<LI>Basic Repair of Eye Transparency</Li>
<LI>Repeat for other Transparent Assets</LI>
<LI>Raytrace Shadows</LI>
<LI>Re-importing "Fixed MakeHuman Assets" from Maya after saving in FBX format</LI>
<LI>Adopting MakeHuman Skeletons to Maya</LI>
<font color = 'red'>--------Skeleton subsection still to be written--------</font>
==[[Moving Assets into Autodesk 3DSMax]]==
This subsection describes the restoration and use of MakeHuman's skeletal transparency and skeletal assets after importing in Autodesk 3DSMax.
<LI>Import process</LI>
<LI>Handling or Transparency after import</LI>
<LI>Handling of Skelton and Rigging after import</LI>
==Moving Assets into Blender==
==Moving Assets into Unreal Engine 4==
==Moving Assets into Unity Game Engine==
==Moving Assets into Google Sketchup==
==Preparing assets for use with Second Life==
0ac254e9a5d9cf9cdb9409e007b1d9030977cbf3
254
253
2015-07-25T19:33:21Z
Robbaer
12
/* Moving Assets into Autodesk 3DSMax */
wikitext
text/x-wiki
== Summary ==
More often than not MakeHuman users will want to move their creation into another program to continue the creation process. This section provides information on how to achieve this for common target programs. The ''Background and Technical Consideratins'' section provides some background that are common to all workflows. It is not essential to read the introduction before going straight to the program of interest, but doing so might help you understand ''why'' certain steps work or are necessary. In many cases there can be more than one way to accomplish the same thing. The method described here may not be optimal for your situation, but it should help get you started.
==Background and Technical Considerations==
'''Introduction'''
Many MakeHuman users will use the work they create in MakeHuman as a component of a project completed in an external, downstream application. The most common target applications are 3D graphics applications like Blender, Autodesk 3DSMax, and Autodesk Maya or gaming engines like Unity Engine or Unreal Engine 4 or Virtual Worlds like Second Life. In some cases, the MakeHuman user will be interested in moving just the mesh. In other cases, the user will be interested in moving a complete, posed, skeletonized character to the downstream application. The purpose of this document is to discuss the basic process of moving a finished MakeHuman asset to a downstream program and producing a reasonable facsimile of its MakeHuman appearance in the downstream application. It is important to recognize that because each application has its own way of representing 3D assets, and because each export format has its own set of idiosyncrasies, there will be adjustments and approximations in the asset transfer process.
'''Format Considerations'''
In an effort to provide the broadest latitude for user workflows, the MakeHuman development team is directing it major export support toward Autodesk FBX format and Khronos Collada format. In addition, Blender users have the option to install the [https://bitbucket.org/ThomasMakeHuman/mhx2-makehuman-exchange independently developed .mhx2 tools], which are independently developed and maintained by Thomas Larson. Collada is a text-based format and is an open standard, but implementation of the standard is not as consistent as might be hoped. FBX is a proprietary standard developed by Autodesk and supported through a software development kit (FBX SDK) written in C++ and a Python FBX scripting template. The FBX standard is periodically updated by Autodesk and can be saved as either an ASCII or a binary format. Downstream programs may make assumptions about the FBX version being imported, and may limit users to either binary or ASCII importing. Surprisingly, CG assets exported from various programs as collada and FBX do not make it back into the same program as a round-trip without changes to some components of the scene. For example, this is true of FBX format in both 3DSMax and Maya for MakeHuman assets. It is also true for Blender with both FBX and collada format for MakeHuman assets. In this document, we will attempt to provide some support for dealing with this type of surprise.
'''MakeHuman Shader and Asset Rendering'''
A “shader” is computer code that translates digital information into a properly rendered image on the computer screen. Different algorithms use different methods of constructing such a display. By default in MakeHuman, the viewport lighting is handled by the built-in light-sphere shader. The light-sphere shader takes advantage of support for the openGL standard provided by today’s graphics cards. What the viewer sees on the screen depends not only on the color of assets, like skin and clothing, but also on the nature of the lights illuminating the scene and causing reflections and shadows. Most downstream programs use other shader strategies, the most common of which include Phong shaders, Blinn shaders, or Lambert shaders. Because the code and conceptual design of these shaders differs from that of the MakeHuman light-sphere shader, the user should be prepared to make some adjustments in the downstream program to get the final desired effect. Some MakeHuman assets also include Normal maps which the user will want to integrate into the downstream applications rendering.
When a MakeHuman material (for example, skin or clothing or eyelashes) is exported, it carries with it a limited amount of fundamental information for by the downstream program’s shaders. In an ideal world, the downstream program would import this raw information, correctly populate the variables in its shaders, and yield the same view of the human that was exported from MakeHuman. At present this does not typically happen, and the user must make some adjustments. This Wiki section is designed to help you negotiate through that process.
'''Spatial transformation: MakeHuman Coordinate System, MakeHuman Skeletons, and MakeHuman Scales'''
The MakeHuman viewport is oriented so that the positive end of the x-axis is to the right, the positive end of the y-axis it up, and the positive end of the z-axis is out through the front to the screen. Other CG programs can use other schemes, so it is essential to know the coordinate system used by the downstream target at export time, if you wish to minimize the adjustments you make after importing. The settings tab allows users to work in metric units of decimeters or imperial units of inches. Downstream programs vary in their de facto units, and again, it is generally a good idea to anticipate your needs at export time rather than trying to make adjustments during or after import. It is sometimes said that these programs have no default unit. To a degree this is true. However, the default grid pattern, assumptions of other humanoid producing programs, and assumptions of the “physics systems” will often work best with the export units specified in the table below:
TABLE HERE
'''Working with Rigs and Skeletons'''
Internally, MakeHuman uses its default skeleton as the basis of mesh vertex weighting for creating the poses available on the pose tab. This rig includes a special set of bones that can be used for driving facial expressions, but as of the current release (MakeHuman 1.1.x), there is not extensive support for inverse kinematics, and animation must be done downstream in the production pipeline. Historically, MakeHuman has had close ties to Blender, but the ultimate development goal is to provide strong generic support for all the major tools used in the industry, and with MakeHuman 1.1.x, substantial progress has been made by providing weighted skeletons suited for standard use in various downstream applications. For the most part, the name of the most appropriate rig will be clearly associated with the target downstream application, but the tag filters on the Pose/Animate | skeleton tab are intended to help choose a rig suited more generally to a specific purpose like motion capture integration, facial animation, or gaming applications. MakeHuman is designed to provide the user with maximum flexibility at creation time. To provide skeletons that work perfectly with every conceivable variation of the sliders is a laudable but elusive goal. That said, the user should get excellent results with the current approach, but the user should be prepared to make some minor tweaks to skeletons and weights downstream, particularly with extreme character dimensions or extreme poses.
'''MakeHuman Assets with transparency'''
In CG art, materials for mesh objects are frequently created by shaders that use various types of image maps to provide some of the information for determining the color, transparency, and light behavior on the surface of mesh objects. These image maps are referred to as textures. MakeHuman has textured materials available for the body (including proxy topologies), eyes, eyebrows, eyelashes, tongue, teeth, and hair. During export, these textures need to made available to the program that will be importing the MakeHuman output. Two aspects of this process need to be understood by the MakeHuman user: 1) how textures are saved; and 2) how transparency is handled.
There are two possible standards for storing texture assets upon export. They can either be embedded in an exported file, or they can be saved to a folder as named images with reference to the location of those files in the exported file. At present, MakeHuman uses the latter approach when exporting material textures. Following the export process, MakeHuman exports will be located in ~/makehuman/v1/exports/, and the texture images will be located in a corresponding subfolder ~/makehuman/v1/exports/textures. The tilde symbol indicates your user drive and home document directory. [For example, on Windows Vista and later, this typically would be: C:/Users/%USERNAME%/Documents/makehuman/v1/exports and a textures subfolder, where %USERNAME% is replaced by your username.]
Transparency is used in 3D art to let a viewer see through a mesh object to experience the color, reflections and lighting behind that object. MakeHuman uses transparency with textures for the eyes, eyebrows, eyelashes, and hair. This allows complex real world geometry to be represented by much simpler quasi-planar objects. For example, the hairs of the eyebrows are painted onto a flat surface with transparent spaces in between the painted hairs rather than creating tiny mesh objects for each of the 250-1000 individual hairs. CG programs can indicate which regions of the eyebrow should be transparent either by using a separate image where blackness indicates transparent and whiteness indicates opacity. Grayness is used to represent partial transparency. An alternative approach to representing transparency is to use an image format like .tga or .png which has a one byte channel, called an alpha channel, for just this purpose. Again, values near zero (black) typically represent “completely transparent” and values near 255 (white) typically represent “completely opaque”. MakeHuman represents the transparent regions of its assets using the alpha channel method and the .png format for textures. Unfortunately, importers for filmbox (FBX) and collada formats (DAE) do not automatically extract the transparency information provided by MakeHuman, or more specifically, they do not provide it to their shaders as anticipated. This is not just a MakeHuman problem but reflects multiple ways of handling transparency and alpha channels within the industry. Notably, exporting and reimporting assets with alpha channel transparency into the very same program fails with Blender, 3DSMax, and Maya for FBX, and where available, DAE formats. This forces the MakeHuman user to understand how to overcome this limitation in his favorite downstream application. Some introductory help will be provided for common applications later in this document.
There is one additional aspect of using transparency to make a single, simple mesh represent multiple small objects like eyebrows, and that is the issue of shadows. Lighting systems in 3D worlds creates a simulation of reality by making shadows appear on mesh objects in places you would expect to see them in the real world and with the soft edges you would expect to see in the real world. Shadows are a function of both the light source, the object blocking that light, and the objects receiving the reflected and refracted light from other objects. For objects that have transparency, like MakeHuman’s eyes, eyelashes, eyebrows, and hair, shadows should only be cast by the opaque portion of the texture and not by the transparent portions of the texture. The handling of shadows differs considerably from program to program, and objects with alpha channel transparency can need some special handling to accommodate these differences. This handling is not just about the assets with alpha map transparency, themselves. Sometimes it is necessary to set parameters to explicitly tell other objects like the MakeHuman body to not display shadows from the transparent regions of the eyebrows but to show shadows from the opaque hairs of the eyebrows. Shadows of transparently mapped assets will be addressed further in subsequent sections (where information is available).
==Illustrating the Export Process for Subsequent Import==
For the purposes of illustration we will take a straight forward MakeHuman character that has been given a skeleton, a pose, a skin material, clothing, eyes, eyelashes, eyebrows, hair, tongue and teeth. We will then export it for import into a number of popular downstream applications. For each application, our goal will be to get the character to look similar to its original look in MakeHuman. We will pay particular attention to the head and face because this is the area of greatest difficulty for dealing with transparency and shadows. The character has the default skeleton and has been set in the T-pose which is a common starting pose for animation-based work. The image we will be exporting looks like this in MakeHuman:
[[File:ImpExp-001.png]]
'''Figure 1.''' MakeHuman character as viewed from within MakeHuman prior to export.
In subsequent sections, we will discuss the steps needed to reproduce this look after importing into a downstream program.
==[[Moving Assets into Autodesk Maya]]==
[[Moving Assets into Autodesk Maya]]
This subsection describes the restoration and use of MakeHuman's skeletal transparency and skeletal assets after importing in Autodesk Maya.
<LI>Importing and Initial Setup</LI>
<LI>Basic Repair of Eye Transparency</Li>
<LI>Repeat for other Transparent Assets</LI>
<LI>Raytrace Shadows</LI>
<LI>Re-importing "Fixed MakeHuman Assets" from Maya after saving in FBX format</LI>
<LI>Adopting MakeHuman Skeletons to Maya</LI>
<font color = 'red'>--------Skeleton subsection still to be written--------</font>
==[[Moving Assets into Autodesk 3DSMax]]==
This subsection describes the restoration and use of MakeHuman's skeletal transparency and skeletal assets after importing in Autodesk 3DSMax.
<LI>Import process</LI>
<LI>Handling or Transparency after import</LI>
<LI>Handling of Skelton and Rigging after import</LI>
==Moving Assets into Blender==
==Moving Assets into Unreal Engine 4==
==Moving Assets into Unity Game Engine==
==Moving Assets into Google Sketchup==
==Preparing assets for use with Second Life==
c6c909843c18c901a7ec084c5b38a83255135811
253
252
2015-07-25T19:32:04Z
Robbaer
12
/* Background and Technical Considerations */
wikitext
text/x-wiki
== Summary ==
More often than not MakeHuman users will want to move their creation into another program to continue the creation process. This section provides information on how to achieve this for common target programs. The ''Background and Technical Consideratins'' section provides some background that are common to all workflows. It is not essential to read the introduction before going straight to the program of interest, but doing so might help you understand ''why'' certain steps work or are necessary. In many cases there can be more than one way to accomplish the same thing. The method described here may not be optimal for your situation, but it should help get you started.
==Background and Technical Considerations==
'''Introduction'''
Many MakeHuman users will use the work they create in MakeHuman as a component of a project completed in an external, downstream application. The most common target applications are 3D graphics applications like Blender, Autodesk 3DSMax, and Autodesk Maya or gaming engines like Unity Engine or Unreal Engine 4 or Virtual Worlds like Second Life. In some cases, the MakeHuman user will be interested in moving just the mesh. In other cases, the user will be interested in moving a complete, posed, skeletonized character to the downstream application. The purpose of this document is to discuss the basic process of moving a finished MakeHuman asset to a downstream program and producing a reasonable facsimile of its MakeHuman appearance in the downstream application. It is important to recognize that because each application has its own way of representing 3D assets, and because each export format has its own set of idiosyncrasies, there will be adjustments and approximations in the asset transfer process.
'''Format Considerations'''
In an effort to provide the broadest latitude for user workflows, the MakeHuman development team is directing it major export support toward Autodesk FBX format and Khronos Collada format. In addition, Blender users have the option to install the [https://bitbucket.org/ThomasMakeHuman/mhx2-makehuman-exchange independently developed .mhx2 tools], which are independently developed and maintained by Thomas Larson. Collada is a text-based format and is an open standard, but implementation of the standard is not as consistent as might be hoped. FBX is a proprietary standard developed by Autodesk and supported through a software development kit (FBX SDK) written in C++ and a Python FBX scripting template. The FBX standard is periodically updated by Autodesk and can be saved as either an ASCII or a binary format. Downstream programs may make assumptions about the FBX version being imported, and may limit users to either binary or ASCII importing. Surprisingly, CG assets exported from various programs as collada and FBX do not make it back into the same program as a round-trip without changes to some components of the scene. For example, this is true of FBX format in both 3DSMax and Maya for MakeHuman assets. It is also true for Blender with both FBX and collada format for MakeHuman assets. In this document, we will attempt to provide some support for dealing with this type of surprise.
'''MakeHuman Shader and Asset Rendering'''
A “shader” is computer code that translates digital information into a properly rendered image on the computer screen. Different algorithms use different methods of constructing such a display. By default in MakeHuman, the viewport lighting is handled by the built-in light-sphere shader. The light-sphere shader takes advantage of support for the openGL standard provided by today’s graphics cards. What the viewer sees on the screen depends not only on the color of assets, like skin and clothing, but also on the nature of the lights illuminating the scene and causing reflections and shadows. Most downstream programs use other shader strategies, the most common of which include Phong shaders, Blinn shaders, or Lambert shaders. Because the code and conceptual design of these shaders differs from that of the MakeHuman light-sphere shader, the user should be prepared to make some adjustments in the downstream program to get the final desired effect. Some MakeHuman assets also include Normal maps which the user will want to integrate into the downstream applications rendering.
When a MakeHuman material (for example, skin or clothing or eyelashes) is exported, it carries with it a limited amount of fundamental information for by the downstream program’s shaders. In an ideal world, the downstream program would import this raw information, correctly populate the variables in its shaders, and yield the same view of the human that was exported from MakeHuman. At present this does not typically happen, and the user must make some adjustments. This Wiki section is designed to help you negotiate through that process.
'''Spatial transformation: MakeHuman Coordinate System, MakeHuman Skeletons, and MakeHuman Scales'''
The MakeHuman viewport is oriented so that the positive end of the x-axis is to the right, the positive end of the y-axis it up, and the positive end of the z-axis is out through the front to the screen. Other CG programs can use other schemes, so it is essential to know the coordinate system used by the downstream target at export time, if you wish to minimize the adjustments you make after importing. The settings tab allows users to work in metric units of decimeters or imperial units of inches. Downstream programs vary in their de facto units, and again, it is generally a good idea to anticipate your needs at export time rather than trying to make adjustments during or after import. It is sometimes said that these programs have no default unit. To a degree this is true. However, the default grid pattern, assumptions of other humanoid producing programs, and assumptions of the “physics systems” will often work best with the export units specified in the table below:
TABLE HERE
'''Working with Rigs and Skeletons'''
Internally, MakeHuman uses its default skeleton as the basis of mesh vertex weighting for creating the poses available on the pose tab. This rig includes a special set of bones that can be used for driving facial expressions, but as of the current release (MakeHuman 1.1.x), there is not extensive support for inverse kinematics, and animation must be done downstream in the production pipeline. Historically, MakeHuman has had close ties to Blender, but the ultimate development goal is to provide strong generic support for all the major tools used in the industry, and with MakeHuman 1.1.x, substantial progress has been made by providing weighted skeletons suited for standard use in various downstream applications. For the most part, the name of the most appropriate rig will be clearly associated with the target downstream application, but the tag filters on the Pose/Animate | skeleton tab are intended to help choose a rig suited more generally to a specific purpose like motion capture integration, facial animation, or gaming applications. MakeHuman is designed to provide the user with maximum flexibility at creation time. To provide skeletons that work perfectly with every conceivable variation of the sliders is a laudable but elusive goal. That said, the user should get excellent results with the current approach, but the user should be prepared to make some minor tweaks to skeletons and weights downstream, particularly with extreme character dimensions or extreme poses.
'''MakeHuman Assets with transparency'''
In CG art, materials for mesh objects are frequently created by shaders that use various types of image maps to provide some of the information for determining the color, transparency, and light behavior on the surface of mesh objects. These image maps are referred to as textures. MakeHuman has textured materials available for the body (including proxy topologies), eyes, eyebrows, eyelashes, tongue, teeth, and hair. During export, these textures need to made available to the program that will be importing the MakeHuman output. Two aspects of this process need to be understood by the MakeHuman user: 1) how textures are saved; and 2) how transparency is handled.
There are two possible standards for storing texture assets upon export. They can either be embedded in an exported file, or they can be saved to a folder as named images with reference to the location of those files in the exported file. At present, MakeHuman uses the latter approach when exporting material textures. Following the export process, MakeHuman exports will be located in ~/makehuman/v1/exports/, and the texture images will be located in a corresponding subfolder ~/makehuman/v1/exports/textures. The tilde symbol indicates your user drive and home document directory. [For example, on Windows Vista and later, this typically would be: C:/Users/%USERNAME%/Documents/makehuman/v1/exports and a textures subfolder, where %USERNAME% is replaced by your username.]
Transparency is used in 3D art to let a viewer see through a mesh object to experience the color, reflections and lighting behind that object. MakeHuman uses transparency with textures for the eyes, eyebrows, eyelashes, and hair. This allows complex real world geometry to be represented by much simpler quasi-planar objects. For example, the hairs of the eyebrows are painted onto a flat surface with transparent spaces in between the painted hairs rather than creating tiny mesh objects for each of the 250-1000 individual hairs. CG programs can indicate which regions of the eyebrow should be transparent either by using a separate image where blackness indicates transparent and whiteness indicates opacity. Grayness is used to represent partial transparency. An alternative approach to representing transparency is to use an image format like .tga or .png which has a one byte channel, called an alpha channel, for just this purpose. Again, values near zero (black) typically represent “completely transparent” and values near 255 (white) typically represent “completely opaque”. MakeHuman represents the transparent regions of its assets using the alpha channel method and the .png format for textures. Unfortunately, importers for filmbox (FBX) and collada formats (DAE) do not automatically extract the transparency information provided by MakeHuman, or more specifically, they do not provide it to their shaders as anticipated. This is not just a MakeHuman problem but reflects multiple ways of handling transparency and alpha channels within the industry. Notably, exporting and reimporting assets with alpha channel transparency into the very same program fails with Blender, 3DSMax, and Maya for FBX, and where available, DAE formats. This forces the MakeHuman user to understand how to overcome this limitation in his favorite downstream application. Some introductory help will be provided for common applications later in this document.
There is one additional aspect of using transparency to make a single, simple mesh represent multiple small objects like eyebrows, and that is the issue of shadows. Lighting systems in 3D worlds creates a simulation of reality by making shadows appear on mesh objects in places you would expect to see them in the real world and with the soft edges you would expect to see in the real world. Shadows are a function of both the light source, the object blocking that light, and the objects receiving the reflected and refracted light from other objects. For objects that have transparency, like MakeHuman’s eyes, eyelashes, eyebrows, and hair, shadows should only be cast by the opaque portion of the texture and not by the transparent portions of the texture. The handling of shadows differs considerably from program to program, and objects with alpha channel transparency can need some special handling to accommodate these differences. This handling is not just about the assets with alpha map transparency, themselves. Sometimes it is necessary to set parameters to explicitly tell other objects like the MakeHuman body to not display shadows from the transparent regions of the eyebrows but to show shadows from the opaque hairs of the eyebrows. Shadows of transparently mapped assets will be addressed further in subsequent sections (where information is available).
==Illustrating the Export Process for Subsequent Import==
For the purposes of illustration we will take a straight forward MakeHuman character that has been given a skeleton, a pose, a skin material, clothing, eyes, eyelashes, eyebrows, hair, tongue and teeth. We will then export it for import into a number of popular downstream applications. For each application, our goal will be to get the character to look similar to its original look in MakeHuman. We will pay particular attention to the head and face because this is the area of greatest difficulty for dealing with transparency and shadows. The character has the default skeleton and has been set in the T-pose which is a common starting pose for animation-based work. The image we will be exporting looks like this in MakeHuman:
[[File:ImpExp-001.png]]
'''Figure 1.''' MakeHuman character as viewed from within MakeHuman prior to export.
In subsequent sections, we will discuss the steps needed to reproduce this look after importing into a downstream program.
==[[Moving Assets into Autodesk Maya]]==
[[Moving Assets into Autodesk Maya]]
This subsection describes the restoration and use of MakeHuman's skeletal transparency and skeletal assets after importing in Autodesk Maya.
<LI>Importing and Initial Setup</LI>
<LI>Basic Repair of Eye Transparency</Li>
<LI>Repeat for other Transparent Assets</LI>
<LI>Raytrace Shadows</LI>
<LI>Re-importing "Fixed MakeHuman Assets" from Maya after saving in FBX format</LI>
<LI>Adopting MakeHuman Skeletons to Maya</LI>
<font color = 'red'>--------Skeleton subsection still to be written--------</font>
==[[Moving Assets into Autodesk 3DSMax]]==
This subsection describes the restoration and use of MakeHuman's skeletal transparency and skeletal assets after importing in Autodesk 3DSMax.
>
<LI>Import process</LI>
<LI>Handling or Transparency after import</LI>
<LI>Handling of Skelton and Rigging after import</LI>
==Moving Assets into Blender==
==Moving Assets into Unreal Engine 4==
==Moving Assets into Unity Game Engine==
==Moving Assets into Google Sketchup==
==Preparing assets for use with Second Life==
fdf07373ac1c01f560e4778dacc0c7e530427426
252
251
2015-07-25T19:27:37Z
Robbaer
12
/* Moving Assets into Autodesk Maya */
wikitext
text/x-wiki
== Summary ==
More often than not MakeHuman users will want to move their creation into another program to continue the creation process. This section provides information on how to achieve this for common target programs. The ''Background and Technical Consideratins'' section provides some background that are common to all workflows. It is not essential to read the introduction before going straight to the program of interest, but doing so might help you understand ''why'' certain steps work or are necessary. In many cases there can be more than one way to accomplish the same thing. The method described here may not be optimal for your situation, but it should help get you started.
==Background and Technical Considerations==
'''Introduction'''
Many MakeHuman users will use the work they create in MakeHuman as a component of a project completed in an external, downstream application. The most common target applications are 3D graphics applications like Blender, Autodesk 3DSMax, and Autodesk Maya or gaming engines like Unity Engine or Unreal Engine 4 or Virtual Worlds like Second Life. In some cases, the MakeHuman user will be interested in moving just the mesh. In other cases, the user will be interested in moving a complete, posed, skeletonized character to the downstream application. The purpose of this document is to discuss the basic process of moving a finished MakeHuman asset to a downstream program and producing a reasonable facsimile of its MakeHuman appearance in the downstream application. It is important to recognize that because each application has its own way of representing 3D assets, and because each export format has its own set of idiosyncrasies, there will be adjustments and approximations in the asset transfer process.
'''Format Considerations'''
In an effort to provide the broadest latitude for user workflows, the MakeHuman development team is directing it major export support toward Autodesk FBX format and Khronos Collada format. In addition, Blender users have the option to install the [https://bitbucket.org/ThomasMakeHuman/mhx2-makehuman-exchange independently developed .mhx2 tools], which are developed and maintained by Thomas Larson, independent of MakeHuman itself. Collada is a text-based format and is an open standard, but implementation of the standard is not as consistent as might be hoped. FBX is a proprietary standard developed by Autodesk and supported through a software development kit (FBX SDK) written in C++ and a Python FBX scripting template. The FBX standard is periodically updated by Autodesk and can be saved as either an ASCII or a binary format. Downstream programs may make assumptions about the FBX version being imported, and may limit users to either binary or ASCII importing. Surprisingly, CG assets exported from various programs as collada and FBX do not make it back into the same program as a round-trip without changes to some components of the scene. For example, this is true of FBX format in both 3DSMax and Maya for MakeHumanassets. It is also true for Blender with both FBX and collada format for MakeHumanassets. In this document, we will attempt to provide some support for dealing with this type of surprise.
'''MakeHuman Shader and Asset Rendering'''
A “shader” is computer code that translates digital information into a properly rendered image on the computer screen. Different algorithms use different methods of constructing such a display. By default in MakeHuman, the viewport lighting is handled by the built-in light-sphere shader. The light-sphere shader takes advantage of support for the openGL standard provided by today’s graphics cards. What the viewer sees on the screen depends not only on the color of assets, like skin and clothing, but also on the nature of the lights illuminating the scene and causing reflections and shadows. Most downstream programs use other shader strategies, the most common of which include Phong shaders, Blinn shaders, or Lambert shaders. Because the code and conceptual design of these shaders differs from that of the MakeHuman light-sphere shader, the user should be prepared to make some adjustments in the downstream program to get the final desired effect. Some MakeHuman assets also include Normal maps which the user will want to integrate into the downstream applications rendering.
When a MakeHuman material (for example, skin or clothing or eyelashes) is exported, it carries with it a limited amount of fundamental information for by the downstream program’s shaders. In an ideal world, the downstream program would import this raw information, correctly populate the variables in its shaders, and yield the same view of the human that was exported from MakeHuman. At present this does not typically happen, and the user must make some adjustments. This Wiki section is designed to help you negotiate through that process.
'''Spatial transformation: MakeHuman Coordinate System, MakeHuman Skeletons, and MakeHuman Scales'''
The MakeHuman viewport is oriented so that the positive end of the x-axis is to the right, the positive end of the y-axis it up, and the positive end of the z-axis is out through the front to the screen. Other CG programs can use other schemes, so it is essential to know the coordinate system used by the downstream target at export time, if you wish to minimize the adjustments you make after importing. The settings tab allows users to work in metric units of decimeters or imperial units of inches. Downstream programs vary in their de facto units, and again, it is generally a good idea to anticipate your needs at export time rather than trying to make adjustments during or after import. It is sometimes said that these programs have no default unit. To a degree this is true. However, the default grid pattern, assumptions of other humanoid producing programs, and assumptions of the “physics systems” will often work best with the export units specified in the table below:
TABLE HERE
'''Working with Rigs and Skeletons'''
Internally, MakeHuman uses its default skeleton as the basis of mesh vertex weighting for creating the poses available on the pose tab. This rig includes a special set of bones that can be used for driving facial expressions, but as of the current release (MakeHuman 1.1.x), there is not extensive support for inverse kinematics, and animation must be done downstream in the production pipeline. Historically, MakeHuman has had close ties to Blender, but the ultimate development goal is to provide strong generic support for all the major tools used in the industry, and with MakeHuman 1.1.x, substantial progress has been made by providing weighted skeletons suited for standard use in various downstream applications. For the most part, the name of the most appropriate rig will be clearly associated with the target downstream application, but the tag filters on the Pose/Animate | skeleton tab are intended to help choose a rig suited more generally to a specific purpose like motion capture integration, facial animation, or gaming applications. MakeHuman is designed to provide the user with maximum flexibility at creation time. To provide skeletons that work perfectly with every conceivable variation of the sliders is a laudable but elusive goal. That said, the user should get excellent results with the current approach, but the user should be prepared to make some minor tweaks to skeletons and weights downstream, particularly with extreme character dimensions or extreme poses.
'''MakeHuman Assets with transparency'''
In CG art, materials for mesh objects are frequently created by shaders that use various types of image maps to provide some of the information for determining the color, transparency, and light behavior on the surface of mesh objects. These image maps are referred to as textures. MakeHuman has textured materials available for the body (including proxy topologies), eyes, eyebrows, eyelashes, tongue, teeth, and hair. During export, these textures need to made available to the program that will be importing the MakeHuman output. Two aspects of this process need to be understood by the MakeHuman user: 1) how textures are saved; and 2) how transparency is handled.
There are two possible standards for storing texture assets upon export. They can either be embedded in an exported file, or they can be saved to a folder as named images with reference to the location of those files in the exported file. At present, MakeHuman uses the latter approach when exporting material textures. Following the export process, MakeHuman exports will be located in ~/makehuman/v1/exports/, and the texture images will be located in a corresponding subfolder ~/makehuman/v1/exports/textures. The tilde symbol indicates your user drive and home document directory. [For example, on Windows Vista and later, this typically would be: C:/Users/%USERNAME%/Documents/makehuman/v1/exports and a textures subfolder, where %USERNAME% is replaced by your username.]
Transparency is used in 3D art to let a viewer see through a mesh object to experience the color, reflections and lighting behind that object. MakeHuman uses transparency with textures for the eyes, eyebrows, eyelashes, and hair. This allows complex real world geometry to be represented by much simpler quasi-planar objects. For example, the hairs of the eyebrows are painted onto a flat surface with transparent spaces in between the painted hairs rather than creating tiny mesh objects for each of the 250-1000 individual hairs. CG programs can indicate which regions of the eyebrow should be transparent either by using a separate image where blackness indicates transparent and whiteness indicates opacity. Grayness is used to represent partial transparency. An alternative approach to representing transparency is to use an image format like .tga or .png which has a one byte channel, called an alpha channel, for just this purpose. Again, values near zero (black) typically represent “completely transparent” and values near 255 (white) typically represent “completely opaque”. MakeHuman represents the transparent regions of its assets using the alpha channel method and the .png format for textures. Unfortunately, importers for filmbox (FBX) and collada formats (DAE) do not automatically extract the transparency information provided by MakeHuman, or more specifically, they do not provide it to their shaders as anticipated. This is not just a MakeHuman problem but reflects multiple ways of handling transparency and alpha channels within the industry. Notably, exporting and reimporting assets with alpha channel transparency into the very same program fails with Blender, 3DSMax, and Maya for FBX, and where available, DAE formats. This forces the MakeHuman user to understand how to overcome this limitation in his favorite downstream application. Some introductory help will be provided for common applications later in this document.
There is one additional aspect of using transparency to make a single, simple mesh represent multiple small objects like eyebrows, and that is the issue of shadows. Lighting systems in 3D worlds creates a simulation of reality by making shadows appear on mesh objects in places you would expect to see them in the real world and with the soft edges you would expect to see in the real world. Shadows are a function of both the light source, the object blocking that light, and the objects receiving the reflected and refracted light from other objects. For objects that have transparency, like MakeHuman’s eyes, eyelashes, eyebrows, and hair, shadows should only be cast by the opaque portion of the texture and not by the transparent portions of the texture. The handling of shadows differs considerably from program to program, and objects with alpha channel transparency can need some special handling to accommodate these differences. This handling is not just about the assets with alpha map transparency, themselves. Sometimes it is necessary to set parameters to explicitly tell other objects like the MakeHuman body to not display shadows from the transparent regions of the eyebrows but to show shadows from the opaque hairs of the eyebrows. Shadows of transparently mapped assets will be addressed further in subsequent sections (where information is available).
==Illustrating the Export Process for Subsequent Import==
For the purposes of illustration we will take a straight forward MakeHuman character that has been given a skeleton, a pose, a skin material, clothing, eyes, eyelashes, eyebrows, hair, tongue and teeth. We will then export it for import into a number of popular downstream applications. For each application, our goal will be to get the character to look similar to its original look in MakeHuman. We will pay particular attention to the head and face because this is the area of greatest difficulty for dealing with transparency and shadows. The character has the default skeleton and has been set in the T-pose which is a common starting pose for animation-based work. The image we will be exporting looks like this in MakeHuman:
[[File:ImpExp-001.png]]
'''Figure 1.''' MakeHuman character as viewed from within MakeHuman prior to export.
In subsequent sections, we will discuss the steps needed to reproduce this look after importing into a downstream program.
==[[Moving Assets into Autodesk Maya]]==
[[Moving Assets into Autodesk Maya]]
This subsection describes the restoration and use of MakeHuman's skeletal transparency and skeletal assets after importing in Autodesk Maya.
<LI>Importing and Initial Setup</LI>
<LI>Basic Repair of Eye Transparency</Li>
<LI>Repeat for other Transparent Assets</LI>
<LI>Raytrace Shadows</LI>
<LI>Re-importing "Fixed MakeHuman Assets" from Maya after saving in FBX format</LI>
<LI>Adopting MakeHuman Skeletons to Maya</LI>
<font color = 'red'>--------Skeleton subsection still to be written--------</font>
==[[Moving Assets into Autodesk 3DSMax]]==
This subsection describes the restoration and use of MakeHuman's skeletal transparency and skeletal assets after importing in Autodesk 3DSMax.
>
<LI>Import process</LI>
<LI>Handling or Transparency after import</LI>
<LI>Handling of Skelton and Rigging after import</LI>
==Moving Assets into Blender==
==Moving Assets into Unreal Engine 4==
==Moving Assets into Unity Game Engine==
==Moving Assets into Google Sketchup==
==Preparing assets for use with Second Life==
62027b46f755efac9593eb59372ee0fbc4521a11
251
250
2015-07-25T19:26:37Z
Robbaer
12
/* Moving Assets into Autodesk 3DSMax */
wikitext
text/x-wiki
== Summary ==
More often than not MakeHuman users will want to move their creation into another program to continue the creation process. This section provides information on how to achieve this for common target programs. The ''Background and Technical Consideratins'' section provides some background that are common to all workflows. It is not essential to read the introduction before going straight to the program of interest, but doing so might help you understand ''why'' certain steps work or are necessary. In many cases there can be more than one way to accomplish the same thing. The method described here may not be optimal for your situation, but it should help get you started.
==Background and Technical Considerations==
'''Introduction'''
Many MakeHuman users will use the work they create in MakeHuman as a component of a project completed in an external, downstream application. The most common target applications are 3D graphics applications like Blender, Autodesk 3DSMax, and Autodesk Maya or gaming engines like Unity Engine or Unreal Engine 4 or Virtual Worlds like Second Life. In some cases, the MakeHuman user will be interested in moving just the mesh. In other cases, the user will be interested in moving a complete, posed, skeletonized character to the downstream application. The purpose of this document is to discuss the basic process of moving a finished MakeHuman asset to a downstream program and producing a reasonable facsimile of its MakeHuman appearance in the downstream application. It is important to recognize that because each application has its own way of representing 3D assets, and because each export format has its own set of idiosyncrasies, there will be adjustments and approximations in the asset transfer process.
'''Format Considerations'''
In an effort to provide the broadest latitude for user workflows, the MakeHuman development team is directing it major export support toward Autodesk FBX format and Khronos Collada format. In addition, Blender users have the option to install the [https://bitbucket.org/ThomasMakeHuman/mhx2-makehuman-exchange independently developed .mhx2 tools], which are developed and maintained by Thomas Larson, independent of MakeHuman itself. Collada is a text-based format and is an open standard, but implementation of the standard is not as consistent as might be hoped. FBX is a proprietary standard developed by Autodesk and supported through a software development kit (FBX SDK) written in C++ and a Python FBX scripting template. The FBX standard is periodically updated by Autodesk and can be saved as either an ASCII or a binary format. Downstream programs may make assumptions about the FBX version being imported, and may limit users to either binary or ASCII importing. Surprisingly, CG assets exported from various programs as collada and FBX do not make it back into the same program as a round-trip without changes to some components of the scene. For example, this is true of FBX format in both 3DSMax and Maya for MakeHumanassets. It is also true for Blender with both FBX and collada format for MakeHumanassets. In this document, we will attempt to provide some support for dealing with this type of surprise.
'''MakeHuman Shader and Asset Rendering'''
A “shader” is computer code that translates digital information into a properly rendered image on the computer screen. Different algorithms use different methods of constructing such a display. By default in MakeHuman, the viewport lighting is handled by the built-in light-sphere shader. The light-sphere shader takes advantage of support for the openGL standard provided by today’s graphics cards. What the viewer sees on the screen depends not only on the color of assets, like skin and clothing, but also on the nature of the lights illuminating the scene and causing reflections and shadows. Most downstream programs use other shader strategies, the most common of which include Phong shaders, Blinn shaders, or Lambert shaders. Because the code and conceptual design of these shaders differs from that of the MakeHuman light-sphere shader, the user should be prepared to make some adjustments in the downstream program to get the final desired effect. Some MakeHuman assets also include Normal maps which the user will want to integrate into the downstream applications rendering.
When a MakeHuman material (for example, skin or clothing or eyelashes) is exported, it carries with it a limited amount of fundamental information for by the downstream program’s shaders. In an ideal world, the downstream program would import this raw information, correctly populate the variables in its shaders, and yield the same view of the human that was exported from MakeHuman. At present this does not typically happen, and the user must make some adjustments. This Wiki section is designed to help you negotiate through that process.
'''Spatial transformation: MakeHuman Coordinate System, MakeHuman Skeletons, and MakeHuman Scales'''
The MakeHuman viewport is oriented so that the positive end of the x-axis is to the right, the positive end of the y-axis it up, and the positive end of the z-axis is out through the front to the screen. Other CG programs can use other schemes, so it is essential to know the coordinate system used by the downstream target at export time, if you wish to minimize the adjustments you make after importing. The settings tab allows users to work in metric units of decimeters or imperial units of inches. Downstream programs vary in their de facto units, and again, it is generally a good idea to anticipate your needs at export time rather than trying to make adjustments during or after import. It is sometimes said that these programs have no default unit. To a degree this is true. However, the default grid pattern, assumptions of other humanoid producing programs, and assumptions of the “physics systems” will often work best with the export units specified in the table below:
TABLE HERE
'''Working with Rigs and Skeletons'''
Internally, MakeHuman uses its default skeleton as the basis of mesh vertex weighting for creating the poses available on the pose tab. This rig includes a special set of bones that can be used for driving facial expressions, but as of the current release (MakeHuman 1.1.x), there is not extensive support for inverse kinematics, and animation must be done downstream in the production pipeline. Historically, MakeHuman has had close ties to Blender, but the ultimate development goal is to provide strong generic support for all the major tools used in the industry, and with MakeHuman 1.1.x, substantial progress has been made by providing weighted skeletons suited for standard use in various downstream applications. For the most part, the name of the most appropriate rig will be clearly associated with the target downstream application, but the tag filters on the Pose/Animate | skeleton tab are intended to help choose a rig suited more generally to a specific purpose like motion capture integration, facial animation, or gaming applications. MakeHuman is designed to provide the user with maximum flexibility at creation time. To provide skeletons that work perfectly with every conceivable variation of the sliders is a laudable but elusive goal. That said, the user should get excellent results with the current approach, but the user should be prepared to make some minor tweaks to skeletons and weights downstream, particularly with extreme character dimensions or extreme poses.
'''MakeHuman Assets with transparency'''
In CG art, materials for mesh objects are frequently created by shaders that use various types of image maps to provide some of the information for determining the color, transparency, and light behavior on the surface of mesh objects. These image maps are referred to as textures. MakeHuman has textured materials available for the body (including proxy topologies), eyes, eyebrows, eyelashes, tongue, teeth, and hair. During export, these textures need to made available to the program that will be importing the MakeHuman output. Two aspects of this process need to be understood by the MakeHuman user: 1) how textures are saved; and 2) how transparency is handled.
There are two possible standards for storing texture assets upon export. They can either be embedded in an exported file, or they can be saved to a folder as named images with reference to the location of those files in the exported file. At present, MakeHuman uses the latter approach when exporting material textures. Following the export process, MakeHuman exports will be located in ~/makehuman/v1/exports/, and the texture images will be located in a corresponding subfolder ~/makehuman/v1/exports/textures. The tilde symbol indicates your user drive and home document directory. [For example, on Windows Vista and later, this typically would be: C:/Users/%USERNAME%/Documents/makehuman/v1/exports and a textures subfolder, where %USERNAME% is replaced by your username.]
Transparency is used in 3D art to let a viewer see through a mesh object to experience the color, reflections and lighting behind that object. MakeHuman uses transparency with textures for the eyes, eyebrows, eyelashes, and hair. This allows complex real world geometry to be represented by much simpler quasi-planar objects. For example, the hairs of the eyebrows are painted onto a flat surface with transparent spaces in between the painted hairs rather than creating tiny mesh objects for each of the 250-1000 individual hairs. CG programs can indicate which regions of the eyebrow should be transparent either by using a separate image where blackness indicates transparent and whiteness indicates opacity. Grayness is used to represent partial transparency. An alternative approach to representing transparency is to use an image format like .tga or .png which has a one byte channel, called an alpha channel, for just this purpose. Again, values near zero (black) typically represent “completely transparent” and values near 255 (white) typically represent “completely opaque”. MakeHuman represents the transparent regions of its assets using the alpha channel method and the .png format for textures. Unfortunately, importers for filmbox (FBX) and collada formats (DAE) do not automatically extract the transparency information provided by MakeHuman, or more specifically, they do not provide it to their shaders as anticipated. This is not just a MakeHuman problem but reflects multiple ways of handling transparency and alpha channels within the industry. Notably, exporting and reimporting assets with alpha channel transparency into the very same program fails with Blender, 3DSMax, and Maya for FBX, and where available, DAE formats. This forces the MakeHuman user to understand how to overcome this limitation in his favorite downstream application. Some introductory help will be provided for common applications later in this document.
There is one additional aspect of using transparency to make a single, simple mesh represent multiple small objects like eyebrows, and that is the issue of shadows. Lighting systems in 3D worlds creates a simulation of reality by making shadows appear on mesh objects in places you would expect to see them in the real world and with the soft edges you would expect to see in the real world. Shadows are a function of both the light source, the object blocking that light, and the objects receiving the reflected and refracted light from other objects. For objects that have transparency, like MakeHuman’s eyes, eyelashes, eyebrows, and hair, shadows should only be cast by the opaque portion of the texture and not by the transparent portions of the texture. The handling of shadows differs considerably from program to program, and objects with alpha channel transparency can need some special handling to accommodate these differences. This handling is not just about the assets with alpha map transparency, themselves. Sometimes it is necessary to set parameters to explicitly tell other objects like the MakeHuman body to not display shadows from the transparent regions of the eyebrows but to show shadows from the opaque hairs of the eyebrows. Shadows of transparently mapped assets will be addressed further in subsequent sections (where information is available).
==Illustrating the Export Process for Subsequent Import==
For the purposes of illustration we will take a straight forward MakeHuman character that has been given a skeleton, a pose, a skin material, clothing, eyes, eyelashes, eyebrows, hair, tongue and teeth. We will then export it for import into a number of popular downstream applications. For each application, our goal will be to get the character to look similar to its original look in MakeHuman. We will pay particular attention to the head and face because this is the area of greatest difficulty for dealing with transparency and shadows. The character has the default skeleton and has been set in the T-pose which is a common starting pose for animation-based work. The image we will be exporting looks like this in MakeHuman:
[[File:ImpExp-001.png]]
'''Figure 1.''' MakeHuman character as viewed from within MakeHuman prior to export.
In subsequent sections, we will discuss the steps needed to reproduce this look after importing into a downstream program.
==Moving Assets into Autodesk Maya==
[[Moving Assets into Autodesk Maya]]
This subsection describes the restoration and use of MakeHuman's skeletal transparency and skeletal assets after importing in Autodesk Maya.
<LI>Importing and Initial Setup</LI>
<LI>Basic Repair of Eye Transparency</Li>
<LI>Repeat for other Transparent Assets</LI>
<LI>Raytrace Shadows</LI>
<LI>Re-importing "Fixed MakeHuman Assets" from Maya after saving in FBX format</LI>
<LI>Adopting MakeHuman Skeletons to Maya</LI>
<font color = 'red'>--------Skeleton subsection still to be written--------</font>
==[[Moving Assets into Autodesk 3DSMax]]==
This subsection describes the restoration and use of MakeHuman's skeletal transparency and skeletal assets after importing in Autodesk 3DSMax.
>
<LI>Import process</LI>
<LI>Handling or Transparency after import</LI>
<LI>Handling of Skelton and Rigging after import</LI>
==Moving Assets into Blender==
==Moving Assets into Unreal Engine 4==
==Moving Assets into Unity Game Engine==
==Moving Assets into Google Sketchup==
==Preparing assets for use with Second Life==
107e1e5ca5a53f42623b0d3013969a2f2caa69ea
250
249
2015-07-25T19:21:09Z
Robbaer
12
/* Moving Assets into Autodesk Maya */
wikitext
text/x-wiki
== Summary ==
More often than not MakeHuman users will want to move their creation into another program to continue the creation process. This section provides information on how to achieve this for common target programs. The ''Background and Technical Consideratins'' section provides some background that are common to all workflows. It is not essential to read the introduction before going straight to the program of interest, but doing so might help you understand ''why'' certain steps work or are necessary. In many cases there can be more than one way to accomplish the same thing. The method described here may not be optimal for your situation, but it should help get you started.
==Background and Technical Considerations==
'''Introduction'''
Many MakeHuman users will use the work they create in MakeHuman as a component of a project completed in an external, downstream application. The most common target applications are 3D graphics applications like Blender, Autodesk 3DSMax, and Autodesk Maya or gaming engines like Unity Engine or Unreal Engine 4 or Virtual Worlds like Second Life. In some cases, the MakeHuman user will be interested in moving just the mesh. In other cases, the user will be interested in moving a complete, posed, skeletonized character to the downstream application. The purpose of this document is to discuss the basic process of moving a finished MakeHuman asset to a downstream program and producing a reasonable facsimile of its MakeHuman appearance in the downstream application. It is important to recognize that because each application has its own way of representing 3D assets, and because each export format has its own set of idiosyncrasies, there will be adjustments and approximations in the asset transfer process.
'''Format Considerations'''
In an effort to provide the broadest latitude for user workflows, the MakeHuman development team is directing it major export support toward Autodesk FBX format and Khronos Collada format. In addition, Blender users have the option to install the [https://bitbucket.org/ThomasMakeHuman/mhx2-makehuman-exchange independently developed .mhx2 tools], which are developed and maintained by Thomas Larson, independent of MakeHuman itself. Collada is a text-based format and is an open standard, but implementation of the standard is not as consistent as might be hoped. FBX is a proprietary standard developed by Autodesk and supported through a software development kit (FBX SDK) written in C++ and a Python FBX scripting template. The FBX standard is periodically updated by Autodesk and can be saved as either an ASCII or a binary format. Downstream programs may make assumptions about the FBX version being imported, and may limit users to either binary or ASCII importing. Surprisingly, CG assets exported from various programs as collada and FBX do not make it back into the same program as a round-trip without changes to some components of the scene. For example, this is true of FBX format in both 3DSMax and Maya for MakeHumanassets. It is also true for Blender with both FBX and collada format for MakeHumanassets. In this document, we will attempt to provide some support for dealing with this type of surprise.
'''MakeHuman Shader and Asset Rendering'''
A “shader” is computer code that translates digital information into a properly rendered image on the computer screen. Different algorithms use different methods of constructing such a display. By default in MakeHuman, the viewport lighting is handled by the built-in light-sphere shader. The light-sphere shader takes advantage of support for the openGL standard provided by today’s graphics cards. What the viewer sees on the screen depends not only on the color of assets, like skin and clothing, but also on the nature of the lights illuminating the scene and causing reflections and shadows. Most downstream programs use other shader strategies, the most common of which include Phong shaders, Blinn shaders, or Lambert shaders. Because the code and conceptual design of these shaders differs from that of the MakeHuman light-sphere shader, the user should be prepared to make some adjustments in the downstream program to get the final desired effect. Some MakeHuman assets also include Normal maps which the user will want to integrate into the downstream applications rendering.
When a MakeHuman material (for example, skin or clothing or eyelashes) is exported, it carries with it a limited amount of fundamental information for by the downstream program’s shaders. In an ideal world, the downstream program would import this raw information, correctly populate the variables in its shaders, and yield the same view of the human that was exported from MakeHuman. At present this does not typically happen, and the user must make some adjustments. This Wiki section is designed to help you negotiate through that process.
'''Spatial transformation: MakeHuman Coordinate System, MakeHuman Skeletons, and MakeHuman Scales'''
The MakeHuman viewport is oriented so that the positive end of the x-axis is to the right, the positive end of the y-axis it up, and the positive end of the z-axis is out through the front to the screen. Other CG programs can use other schemes, so it is essential to know the coordinate system used by the downstream target at export time, if you wish to minimize the adjustments you make after importing. The settings tab allows users to work in metric units of decimeters or imperial units of inches. Downstream programs vary in their de facto units, and again, it is generally a good idea to anticipate your needs at export time rather than trying to make adjustments during or after import. It is sometimes said that these programs have no default unit. To a degree this is true. However, the default grid pattern, assumptions of other humanoid producing programs, and assumptions of the “physics systems” will often work best with the export units specified in the table below:
TABLE HERE
'''Working with Rigs and Skeletons'''
Internally, MakeHuman uses its default skeleton as the basis of mesh vertex weighting for creating the poses available on the pose tab. This rig includes a special set of bones that can be used for driving facial expressions, but as of the current release (MakeHuman 1.1.x), there is not extensive support for inverse kinematics, and animation must be done downstream in the production pipeline. Historically, MakeHuman has had close ties to Blender, but the ultimate development goal is to provide strong generic support for all the major tools used in the industry, and with MakeHuman 1.1.x, substantial progress has been made by providing weighted skeletons suited for standard use in various downstream applications. For the most part, the name of the most appropriate rig will be clearly associated with the target downstream application, but the tag filters on the Pose/Animate | skeleton tab are intended to help choose a rig suited more generally to a specific purpose like motion capture integration, facial animation, or gaming applications. MakeHuman is designed to provide the user with maximum flexibility at creation time. To provide skeletons that work perfectly with every conceivable variation of the sliders is a laudable but elusive goal. That said, the user should get excellent results with the current approach, but the user should be prepared to make some minor tweaks to skeletons and weights downstream, particularly with extreme character dimensions or extreme poses.
'''MakeHuman Assets with transparency'''
In CG art, materials for mesh objects are frequently created by shaders that use various types of image maps to provide some of the information for determining the color, transparency, and light behavior on the surface of mesh objects. These image maps are referred to as textures. MakeHuman has textured materials available for the body (including proxy topologies), eyes, eyebrows, eyelashes, tongue, teeth, and hair. During export, these textures need to made available to the program that will be importing the MakeHuman output. Two aspects of this process need to be understood by the MakeHuman user: 1) how textures are saved; and 2) how transparency is handled.
There are two possible standards for storing texture assets upon export. They can either be embedded in an exported file, or they can be saved to a folder as named images with reference to the location of those files in the exported file. At present, MakeHuman uses the latter approach when exporting material textures. Following the export process, MakeHuman exports will be located in ~/makehuman/v1/exports/, and the texture images will be located in a corresponding subfolder ~/makehuman/v1/exports/textures. The tilde symbol indicates your user drive and home document directory. [For example, on Windows Vista and later, this typically would be: C:/Users/%USERNAME%/Documents/makehuman/v1/exports and a textures subfolder, where %USERNAME% is replaced by your username.]
Transparency is used in 3D art to let a viewer see through a mesh object to experience the color, reflections and lighting behind that object. MakeHuman uses transparency with textures for the eyes, eyebrows, eyelashes, and hair. This allows complex real world geometry to be represented by much simpler quasi-planar objects. For example, the hairs of the eyebrows are painted onto a flat surface with transparent spaces in between the painted hairs rather than creating tiny mesh objects for each of the 250-1000 individual hairs. CG programs can indicate which regions of the eyebrow should be transparent either by using a separate image where blackness indicates transparent and whiteness indicates opacity. Grayness is used to represent partial transparency. An alternative approach to representing transparency is to use an image format like .tga or .png which has a one byte channel, called an alpha channel, for just this purpose. Again, values near zero (black) typically represent “completely transparent” and values near 255 (white) typically represent “completely opaque”. MakeHuman represents the transparent regions of its assets using the alpha channel method and the .png format for textures. Unfortunately, importers for filmbox (FBX) and collada formats (DAE) do not automatically extract the transparency information provided by MakeHuman, or more specifically, they do not provide it to their shaders as anticipated. This is not just a MakeHuman problem but reflects multiple ways of handling transparency and alpha channels within the industry. Notably, exporting and reimporting assets with alpha channel transparency into the very same program fails with Blender, 3DSMax, and Maya for FBX, and where available, DAE formats. This forces the MakeHuman user to understand how to overcome this limitation in his favorite downstream application. Some introductory help will be provided for common applications later in this document.
There is one additional aspect of using transparency to make a single, simple mesh represent multiple small objects like eyebrows, and that is the issue of shadows. Lighting systems in 3D worlds creates a simulation of reality by making shadows appear on mesh objects in places you would expect to see them in the real world and with the soft edges you would expect to see in the real world. Shadows are a function of both the light source, the object blocking that light, and the objects receiving the reflected and refracted light from other objects. For objects that have transparency, like MakeHuman’s eyes, eyelashes, eyebrows, and hair, shadows should only be cast by the opaque portion of the texture and not by the transparent portions of the texture. The handling of shadows differs considerably from program to program, and objects with alpha channel transparency can need some special handling to accommodate these differences. This handling is not just about the assets with alpha map transparency, themselves. Sometimes it is necessary to set parameters to explicitly tell other objects like the MakeHuman body to not display shadows from the transparent regions of the eyebrows but to show shadows from the opaque hairs of the eyebrows. Shadows of transparently mapped assets will be addressed further in subsequent sections (where information is available).
==Illustrating the Export Process for Subsequent Import==
For the purposes of illustration we will take a straight forward MakeHuman character that has been given a skeleton, a pose, a skin material, clothing, eyes, eyelashes, eyebrows, hair, tongue and teeth. We will then export it for import into a number of popular downstream applications. For each application, our goal will be to get the character to look similar to its original look in MakeHuman. We will pay particular attention to the head and face because this is the area of greatest difficulty for dealing with transparency and shadows. The character has the default skeleton and has been set in the T-pose which is a common starting pose for animation-based work. The image we will be exporting looks like this in MakeHuman:
[[File:ImpExp-001.png]]
'''Figure 1.''' MakeHuman character as viewed from within MakeHuman prior to export.
In subsequent sections, we will discuss the steps needed to reproduce this look after importing into a downstream program.
==Moving Assets into Autodesk Maya==
[[Moving Assets into Autodesk Maya]]
This subsection describes the restoration and use of MakeHuman's skeletal transparency and skeletal assets after importing in Autodesk Maya.
<LI>Importing and Initial Setup</LI>
<LI>Basic Repair of Eye Transparency</Li>
<LI>Repeat for other Transparent Assets</LI>
<LI>Raytrace Shadows</LI>
<LI>Re-importing "Fixed MakeHuman Assets" from Maya after saving in FBX format</LI>
<LI>Adopting MakeHuman Skeletons to Maya</LI>
<font color = 'red'>--------Skeleton subsection still to be written--------</font>
==Moving Assets into Autodesk 3DSMax==
This subsection describes the restoration and use of MakeHuman's skeletal transparency and skeletal assets after importing in Autodesk 3DSMax.
>
<LI>Import process</LI>
<LI>Handling or Transparency after import</LI>
<LI>Handling of Skelton and Rigging after import</LI>
==Moving Assets into Blender==
==Moving Assets into Unreal Engine 4==
==Moving Assets into Unity Game Engine==
==Moving Assets into Google Sketchup==
==Preparing assets for use with Second Life==
812aa2a8ab9f680afe24e1d932da3287770a521d
249
248
2015-07-25T19:20:25Z
Robbaer
12
/* Moving Assets into Autodesk Maya */
wikitext
text/x-wiki
== Summary ==
More often than not MakeHuman users will want to move their creation into another program to continue the creation process. This section provides information on how to achieve this for common target programs. The ''Background and Technical Consideratins'' section provides some background that are common to all workflows. It is not essential to read the introduction before going straight to the program of interest, but doing so might help you understand ''why'' certain steps work or are necessary. In many cases there can be more than one way to accomplish the same thing. The method described here may not be optimal for your situation, but it should help get you started.
==Background and Technical Considerations==
'''Introduction'''
Many MakeHuman users will use the work they create in MakeHuman as a component of a project completed in an external, downstream application. The most common target applications are 3D graphics applications like Blender, Autodesk 3DSMax, and Autodesk Maya or gaming engines like Unity Engine or Unreal Engine 4 or Virtual Worlds like Second Life. In some cases, the MakeHuman user will be interested in moving just the mesh. In other cases, the user will be interested in moving a complete, posed, skeletonized character to the downstream application. The purpose of this document is to discuss the basic process of moving a finished MakeHuman asset to a downstream program and producing a reasonable facsimile of its MakeHuman appearance in the downstream application. It is important to recognize that because each application has its own way of representing 3D assets, and because each export format has its own set of idiosyncrasies, there will be adjustments and approximations in the asset transfer process.
'''Format Considerations'''
In an effort to provide the broadest latitude for user workflows, the MakeHuman development team is directing it major export support toward Autodesk FBX format and Khronos Collada format. In addition, Blender users have the option to install the [https://bitbucket.org/ThomasMakeHuman/mhx2-makehuman-exchange independently developed .mhx2 tools], which are developed and maintained by Thomas Larson, independent of MakeHuman itself. Collada is a text-based format and is an open standard, but implementation of the standard is not as consistent as might be hoped. FBX is a proprietary standard developed by Autodesk and supported through a software development kit (FBX SDK) written in C++ and a Python FBX scripting template. The FBX standard is periodically updated by Autodesk and can be saved as either an ASCII or a binary format. Downstream programs may make assumptions about the FBX version being imported, and may limit users to either binary or ASCII importing. Surprisingly, CG assets exported from various programs as collada and FBX do not make it back into the same program as a round-trip without changes to some components of the scene. For example, this is true of FBX format in both 3DSMax and Maya for MakeHumanassets. It is also true for Blender with both FBX and collada format for MakeHumanassets. In this document, we will attempt to provide some support for dealing with this type of surprise.
'''MakeHuman Shader and Asset Rendering'''
A “shader” is computer code that translates digital information into a properly rendered image on the computer screen. Different algorithms use different methods of constructing such a display. By default in MakeHuman, the viewport lighting is handled by the built-in light-sphere shader. The light-sphere shader takes advantage of support for the openGL standard provided by today’s graphics cards. What the viewer sees on the screen depends not only on the color of assets, like skin and clothing, but also on the nature of the lights illuminating the scene and causing reflections and shadows. Most downstream programs use other shader strategies, the most common of which include Phong shaders, Blinn shaders, or Lambert shaders. Because the code and conceptual design of these shaders differs from that of the MakeHuman light-sphere shader, the user should be prepared to make some adjustments in the downstream program to get the final desired effect. Some MakeHuman assets also include Normal maps which the user will want to integrate into the downstream applications rendering.
When a MakeHuman material (for example, skin or clothing or eyelashes) is exported, it carries with it a limited amount of fundamental information for by the downstream program’s shaders. In an ideal world, the downstream program would import this raw information, correctly populate the variables in its shaders, and yield the same view of the human that was exported from MakeHuman. At present this does not typically happen, and the user must make some adjustments. This Wiki section is designed to help you negotiate through that process.
'''Spatial transformation: MakeHuman Coordinate System, MakeHuman Skeletons, and MakeHuman Scales'''
The MakeHuman viewport is oriented so that the positive end of the x-axis is to the right, the positive end of the y-axis it up, and the positive end of the z-axis is out through the front to the screen. Other CG programs can use other schemes, so it is essential to know the coordinate system used by the downstream target at export time, if you wish to minimize the adjustments you make after importing. The settings tab allows users to work in metric units of decimeters or imperial units of inches. Downstream programs vary in their de facto units, and again, it is generally a good idea to anticipate your needs at export time rather than trying to make adjustments during or after import. It is sometimes said that these programs have no default unit. To a degree this is true. However, the default grid pattern, assumptions of other humanoid producing programs, and assumptions of the “physics systems” will often work best with the export units specified in the table below:
TABLE HERE
'''Working with Rigs and Skeletons'''
Internally, MakeHuman uses its default skeleton as the basis of mesh vertex weighting for creating the poses available on the pose tab. This rig includes a special set of bones that can be used for driving facial expressions, but as of the current release (MakeHuman 1.1.x), there is not extensive support for inverse kinematics, and animation must be done downstream in the production pipeline. Historically, MakeHuman has had close ties to Blender, but the ultimate development goal is to provide strong generic support for all the major tools used in the industry, and with MakeHuman 1.1.x, substantial progress has been made by providing weighted skeletons suited for standard use in various downstream applications. For the most part, the name of the most appropriate rig will be clearly associated with the target downstream application, but the tag filters on the Pose/Animate | skeleton tab are intended to help choose a rig suited more generally to a specific purpose like motion capture integration, facial animation, or gaming applications. MakeHuman is designed to provide the user with maximum flexibility at creation time. To provide skeletons that work perfectly with every conceivable variation of the sliders is a laudable but elusive goal. That said, the user should get excellent results with the current approach, but the user should be prepared to make some minor tweaks to skeletons and weights downstream, particularly with extreme character dimensions or extreme poses.
'''MakeHuman Assets with transparency'''
In CG art, materials for mesh objects are frequently created by shaders that use various types of image maps to provide some of the information for determining the color, transparency, and light behavior on the surface of mesh objects. These image maps are referred to as textures. MakeHuman has textured materials available for the body (including proxy topologies), eyes, eyebrows, eyelashes, tongue, teeth, and hair. During export, these textures need to made available to the program that will be importing the MakeHuman output. Two aspects of this process need to be understood by the MakeHuman user: 1) how textures are saved; and 2) how transparency is handled.
There are two possible standards for storing texture assets upon export. They can either be embedded in an exported file, or they can be saved to a folder as named images with reference to the location of those files in the exported file. At present, MakeHuman uses the latter approach when exporting material textures. Following the export process, MakeHuman exports will be located in ~/makehuman/v1/exports/, and the texture images will be located in a corresponding subfolder ~/makehuman/v1/exports/textures. The tilde symbol indicates your user drive and home document directory. [For example, on Windows Vista and later, this typically would be: C:/Users/%USERNAME%/Documents/makehuman/v1/exports and a textures subfolder, where %USERNAME% is replaced by your username.]
Transparency is used in 3D art to let a viewer see through a mesh object to experience the color, reflections and lighting behind that object. MakeHuman uses transparency with textures for the eyes, eyebrows, eyelashes, and hair. This allows complex real world geometry to be represented by much simpler quasi-planar objects. For example, the hairs of the eyebrows are painted onto a flat surface with transparent spaces in between the painted hairs rather than creating tiny mesh objects for each of the 250-1000 individual hairs. CG programs can indicate which regions of the eyebrow should be transparent either by using a separate image where blackness indicates transparent and whiteness indicates opacity. Grayness is used to represent partial transparency. An alternative approach to representing transparency is to use an image format like .tga or .png which has a one byte channel, called an alpha channel, for just this purpose. Again, values near zero (black) typically represent “completely transparent” and values near 255 (white) typically represent “completely opaque”. MakeHuman represents the transparent regions of its assets using the alpha channel method and the .png format for textures. Unfortunately, importers for filmbox (FBX) and collada formats (DAE) do not automatically extract the transparency information provided by MakeHuman, or more specifically, they do not provide it to their shaders as anticipated. This is not just a MakeHuman problem but reflects multiple ways of handling transparency and alpha channels within the industry. Notably, exporting and reimporting assets with alpha channel transparency into the very same program fails with Blender, 3DSMax, and Maya for FBX, and where available, DAE formats. This forces the MakeHuman user to understand how to overcome this limitation in his favorite downstream application. Some introductory help will be provided for common applications later in this document.
There is one additional aspect of using transparency to make a single, simple mesh represent multiple small objects like eyebrows, and that is the issue of shadows. Lighting systems in 3D worlds creates a simulation of reality by making shadows appear on mesh objects in places you would expect to see them in the real world and with the soft edges you would expect to see in the real world. Shadows are a function of both the light source, the object blocking that light, and the objects receiving the reflected and refracted light from other objects. For objects that have transparency, like MakeHuman’s eyes, eyelashes, eyebrows, and hair, shadows should only be cast by the opaque portion of the texture and not by the transparent portions of the texture. The handling of shadows differs considerably from program to program, and objects with alpha channel transparency can need some special handling to accommodate these differences. This handling is not just about the assets with alpha map transparency, themselves. Sometimes it is necessary to set parameters to explicitly tell other objects like the MakeHuman body to not display shadows from the transparent regions of the eyebrows but to show shadows from the opaque hairs of the eyebrows. Shadows of transparently mapped assets will be addressed further in subsequent sections (where information is available).
==Illustrating the Export Process for Subsequent Import==
For the purposes of illustration we will take a straight forward MakeHuman character that has been given a skeleton, a pose, a skin material, clothing, eyes, eyelashes, eyebrows, hair, tongue and teeth. We will then export it for import into a number of popular downstream applications. For each application, our goal will be to get the character to look similar to its original look in MakeHuman. We will pay particular attention to the head and face because this is the area of greatest difficulty for dealing with transparency and shadows. The character has the default skeleton and has been set in the T-pose which is a common starting pose for animation-based work. The image we will be exporting looks like this in MakeHuman:
[[File:ImpExp-001.png]]
'''Figure 1.''' MakeHuman character as viewed from within MakeHuman prior to export.
In subsequent sections, we will discuss the steps needed to reproduce this look after importing into a downstream program.
==Moving Assets into Autodesk Maya==
[[Moving Assets into Autodesk Maya]]
This subsection describes the restoration and use of MakeHuman's skeletal transparency and skeletal assets after importing in Autodesk Maya.
<LI>Importing and Initial Setup</LI>
<LI>Basic Repair of Eye Transparency</Li>
<LI>Repeat for other Transparent Assets</LI>
<LI>Raytrace Shadows</LI>
<LI>Re-importing "Fixed MakeHuman Assets" from Maya after saving in FBX format</LI>
<LI>Adopting MakeHuman Skeletons to Maya</LI>
<font color = 'red'>--------Section still to be written--------</font>
==Moving Assets into Autodesk 3DSMax==
This subsection describes the restoration and use of MakeHuman's skeletal transparency and skeletal assets after importing in Autodesk 3DSMax.
>
<LI>Import process</LI>
<LI>Handling or Transparency after import</LI>
<LI>Handling of Skelton and Rigging after import</LI>
==Moving Assets into Blender==
==Moving Assets into Unreal Engine 4==
==Moving Assets into Unity Game Engine==
==Moving Assets into Google Sketchup==
==Preparing assets for use with Second Life==
b4b572eb6af8964bb3f3de4c15a0e861b3356991
248
247
2015-07-25T19:17:53Z
Robbaer
12
/* Moving Assets into Autodesk Maya */
wikitext
text/x-wiki
== Summary ==
More often than not MakeHuman users will want to move their creation into another program to continue the creation process. This section provides information on how to achieve this for common target programs. The ''Background and Technical Consideratins'' section provides some background that are common to all workflows. It is not essential to read the introduction before going straight to the program of interest, but doing so might help you understand ''why'' certain steps work or are necessary. In many cases there can be more than one way to accomplish the same thing. The method described here may not be optimal for your situation, but it should help get you started.
==Background and Technical Considerations==
'''Introduction'''
Many MakeHuman users will use the work they create in MakeHuman as a component of a project completed in an external, downstream application. The most common target applications are 3D graphics applications like Blender, Autodesk 3DSMax, and Autodesk Maya or gaming engines like Unity Engine or Unreal Engine 4 or Virtual Worlds like Second Life. In some cases, the MakeHuman user will be interested in moving just the mesh. In other cases, the user will be interested in moving a complete, posed, skeletonized character to the downstream application. The purpose of this document is to discuss the basic process of moving a finished MakeHuman asset to a downstream program and producing a reasonable facsimile of its MakeHuman appearance in the downstream application. It is important to recognize that because each application has its own way of representing 3D assets, and because each export format has its own set of idiosyncrasies, there will be adjustments and approximations in the asset transfer process.
'''Format Considerations'''
In an effort to provide the broadest latitude for user workflows, the MakeHuman development team is directing it major export support toward Autodesk FBX format and Khronos Collada format. In addition, Blender users have the option to install the [https://bitbucket.org/ThomasMakeHuman/mhx2-makehuman-exchange independently developed .mhx2 tools], which are developed and maintained by Thomas Larson, independent of MakeHuman itself. Collada is a text-based format and is an open standard, but implementation of the standard is not as consistent as might be hoped. FBX is a proprietary standard developed by Autodesk and supported through a software development kit (FBX SDK) written in C++ and a Python FBX scripting template. The FBX standard is periodically updated by Autodesk and can be saved as either an ASCII or a binary format. Downstream programs may make assumptions about the FBX version being imported, and may limit users to either binary or ASCII importing. Surprisingly, CG assets exported from various programs as collada and FBX do not make it back into the same program as a round-trip without changes to some components of the scene. For example, this is true of FBX format in both 3DSMax and Maya for MakeHumanassets. It is also true for Blender with both FBX and collada format for MakeHumanassets. In this document, we will attempt to provide some support for dealing with this type of surprise.
'''MakeHuman Shader and Asset Rendering'''
A “shader” is computer code that translates digital information into a properly rendered image on the computer screen. Different algorithms use different methods of constructing such a display. By default in MakeHuman, the viewport lighting is handled by the built-in light-sphere shader. The light-sphere shader takes advantage of support for the openGL standard provided by today’s graphics cards. What the viewer sees on the screen depends not only on the color of assets, like skin and clothing, but also on the nature of the lights illuminating the scene and causing reflections and shadows. Most downstream programs use other shader strategies, the most common of which include Phong shaders, Blinn shaders, or Lambert shaders. Because the code and conceptual design of these shaders differs from that of the MakeHuman light-sphere shader, the user should be prepared to make some adjustments in the downstream program to get the final desired effect. Some MakeHuman assets also include Normal maps which the user will want to integrate into the downstream applications rendering.
When a MakeHuman material (for example, skin or clothing or eyelashes) is exported, it carries with it a limited amount of fundamental information for by the downstream program’s shaders. In an ideal world, the downstream program would import this raw information, correctly populate the variables in its shaders, and yield the same view of the human that was exported from MakeHuman. At present this does not typically happen, and the user must make some adjustments. This Wiki section is designed to help you negotiate through that process.
'''Spatial transformation: MakeHuman Coordinate System, MakeHuman Skeletons, and MakeHuman Scales'''
The MakeHuman viewport is oriented so that the positive end of the x-axis is to the right, the positive end of the y-axis it up, and the positive end of the z-axis is out through the front to the screen. Other CG programs can use other schemes, so it is essential to know the coordinate system used by the downstream target at export time, if you wish to minimize the adjustments you make after importing. The settings tab allows users to work in metric units of decimeters or imperial units of inches. Downstream programs vary in their de facto units, and again, it is generally a good idea to anticipate your needs at export time rather than trying to make adjustments during or after import. It is sometimes said that these programs have no default unit. To a degree this is true. However, the default grid pattern, assumptions of other humanoid producing programs, and assumptions of the “physics systems” will often work best with the export units specified in the table below:
TABLE HERE
'''Working with Rigs and Skeletons'''
Internally, MakeHuman uses its default skeleton as the basis of mesh vertex weighting for creating the poses available on the pose tab. This rig includes a special set of bones that can be used for driving facial expressions, but as of the current release (MakeHuman 1.1.x), there is not extensive support for inverse kinematics, and animation must be done downstream in the production pipeline. Historically, MakeHuman has had close ties to Blender, but the ultimate development goal is to provide strong generic support for all the major tools used in the industry, and with MakeHuman 1.1.x, substantial progress has been made by providing weighted skeletons suited for standard use in various downstream applications. For the most part, the name of the most appropriate rig will be clearly associated with the target downstream application, but the tag filters on the Pose/Animate | skeleton tab are intended to help choose a rig suited more generally to a specific purpose like motion capture integration, facial animation, or gaming applications. MakeHuman is designed to provide the user with maximum flexibility at creation time. To provide skeletons that work perfectly with every conceivable variation of the sliders is a laudable but elusive goal. That said, the user should get excellent results with the current approach, but the user should be prepared to make some minor tweaks to skeletons and weights downstream, particularly with extreme character dimensions or extreme poses.
'''MakeHuman Assets with transparency'''
In CG art, materials for mesh objects are frequently created by shaders that use various types of image maps to provide some of the information for determining the color, transparency, and light behavior on the surface of mesh objects. These image maps are referred to as textures. MakeHuman has textured materials available for the body (including proxy topologies), eyes, eyebrows, eyelashes, tongue, teeth, and hair. During export, these textures need to made available to the program that will be importing the MakeHuman output. Two aspects of this process need to be understood by the MakeHuman user: 1) how textures are saved; and 2) how transparency is handled.
There are two possible standards for storing texture assets upon export. They can either be embedded in an exported file, or they can be saved to a folder as named images with reference to the location of those files in the exported file. At present, MakeHuman uses the latter approach when exporting material textures. Following the export process, MakeHuman exports will be located in ~/makehuman/v1/exports/, and the texture images will be located in a corresponding subfolder ~/makehuman/v1/exports/textures. The tilde symbol indicates your user drive and home document directory. [For example, on Windows Vista and later, this typically would be: C:/Users/%USERNAME%/Documents/makehuman/v1/exports and a textures subfolder, where %USERNAME% is replaced by your username.]
Transparency is used in 3D art to let a viewer see through a mesh object to experience the color, reflections and lighting behind that object. MakeHuman uses transparency with textures for the eyes, eyebrows, eyelashes, and hair. This allows complex real world geometry to be represented by much simpler quasi-planar objects. For example, the hairs of the eyebrows are painted onto a flat surface with transparent spaces in between the painted hairs rather than creating tiny mesh objects for each of the 250-1000 individual hairs. CG programs can indicate which regions of the eyebrow should be transparent either by using a separate image where blackness indicates transparent and whiteness indicates opacity. Grayness is used to represent partial transparency. An alternative approach to representing transparency is to use an image format like .tga or .png which has a one byte channel, called an alpha channel, for just this purpose. Again, values near zero (black) typically represent “completely transparent” and values near 255 (white) typically represent “completely opaque”. MakeHuman represents the transparent regions of its assets using the alpha channel method and the .png format for textures. Unfortunately, importers for filmbox (FBX) and collada formats (DAE) do not automatically extract the transparency information provided by MakeHuman, or more specifically, they do not provide it to their shaders as anticipated. This is not just a MakeHuman problem but reflects multiple ways of handling transparency and alpha channels within the industry. Notably, exporting and reimporting assets with alpha channel transparency into the very same program fails with Blender, 3DSMax, and Maya for FBX, and where available, DAE formats. This forces the MakeHuman user to understand how to overcome this limitation in his favorite downstream application. Some introductory help will be provided for common applications later in this document.
There is one additional aspect of using transparency to make a single, simple mesh represent multiple small objects like eyebrows, and that is the issue of shadows. Lighting systems in 3D worlds creates a simulation of reality by making shadows appear on mesh objects in places you would expect to see them in the real world and with the soft edges you would expect to see in the real world. Shadows are a function of both the light source, the object blocking that light, and the objects receiving the reflected and refracted light from other objects. For objects that have transparency, like MakeHuman’s eyes, eyelashes, eyebrows, and hair, shadows should only be cast by the opaque portion of the texture and not by the transparent portions of the texture. The handling of shadows differs considerably from program to program, and objects with alpha channel transparency can need some special handling to accommodate these differences. This handling is not just about the assets with alpha map transparency, themselves. Sometimes it is necessary to set parameters to explicitly tell other objects like the MakeHuman body to not display shadows from the transparent regions of the eyebrows but to show shadows from the opaque hairs of the eyebrows. Shadows of transparently mapped assets will be addressed further in subsequent sections (where information is available).
==Illustrating the Export Process for Subsequent Import==
For the purposes of illustration we will take a straight forward MakeHuman character that has been given a skeleton, a pose, a skin material, clothing, eyes, eyelashes, eyebrows, hair, tongue and teeth. We will then export it for import into a number of popular downstream applications. For each application, our goal will be to get the character to look similar to its original look in MakeHuman. We will pay particular attention to the head and face because this is the area of greatest difficulty for dealing with transparency and shadows. The character has the default skeleton and has been set in the T-pose which is a common starting pose for animation-based work. The image we will be exporting looks like this in MakeHuman:
[[File:ImpExp-001.png]]
'''Figure 1.''' MakeHuman character as viewed from within MakeHuman prior to export.
In subsequent sections, we will discuss the steps needed to reproduce this look after importing into a downstream program.
==Moving Assets into Autodesk Maya==
[[Moving Assets into Autodesk Maya]]
<LI>Importing and Initial Setup</LI>
<LI>Basic Repair of Eye Transparency</Li>
<LI>Repeat for other Transparent Assets</LI>
<LI>Raytrace Shadows</LI>
<LI>Re-importing "Fixed MakeHuman Assets" from Maya after saving in FBX format</LI>
<LI>Adopting MakeHuman Skeletons to Maya</LI>
<font color = 'red'>--------Section still to be written--------</font>
==Moving Assets into Autodesk 3DSMax==
This subsection describes the restoration and use of MakeHuman's skeletal transparency and skeletal assets after importing in Autodesk 3DSMax.
>
<LI>Import process</LI>
<LI>Handling or Transparency after import</LI>
<LI>Handling of Skelton and Rigging after import</LI>
==Moving Assets into Blender==
==Moving Assets into Unreal Engine 4==
==Moving Assets into Unity Game Engine==
==Moving Assets into Google Sketchup==
==Preparing assets for use with Second Life==
315dcf909465829e1e495d95a3cd7c72dcc46795
247
246
2015-07-25T19:14:10Z
Robbaer
12
/* Moving Assets into Autodesk Maya */
wikitext
text/x-wiki
== Summary ==
More often than not MakeHuman users will want to move their creation into another program to continue the creation process. This section provides information on how to achieve this for common target programs. The ''Background and Technical Consideratins'' section provides some background that are common to all workflows. It is not essential to read the introduction before going straight to the program of interest, but doing so might help you understand ''why'' certain steps work or are necessary. In many cases there can be more than one way to accomplish the same thing. The method described here may not be optimal for your situation, but it should help get you started.
==Background and Technical Considerations==
'''Introduction'''
Many MakeHuman users will use the work they create in MakeHuman as a component of a project completed in an external, downstream application. The most common target applications are 3D graphics applications like Blender, Autodesk 3DSMax, and Autodesk Maya or gaming engines like Unity Engine or Unreal Engine 4 or Virtual Worlds like Second Life. In some cases, the MakeHuman user will be interested in moving just the mesh. In other cases, the user will be interested in moving a complete, posed, skeletonized character to the downstream application. The purpose of this document is to discuss the basic process of moving a finished MakeHuman asset to a downstream program and producing a reasonable facsimile of its MakeHuman appearance in the downstream application. It is important to recognize that because each application has its own way of representing 3D assets, and because each export format has its own set of idiosyncrasies, there will be adjustments and approximations in the asset transfer process.
'''Format Considerations'''
In an effort to provide the broadest latitude for user workflows, the MakeHuman development team is directing it major export support toward Autodesk FBX format and Khronos Collada format. In addition, Blender users have the option to install the [https://bitbucket.org/ThomasMakeHuman/mhx2-makehuman-exchange independently developed .mhx2 tools], which are developed and maintained by Thomas Larson, independent of MakeHuman itself. Collada is a text-based format and is an open standard, but implementation of the standard is not as consistent as might be hoped. FBX is a proprietary standard developed by Autodesk and supported through a software development kit (FBX SDK) written in C++ and a Python FBX scripting template. The FBX standard is periodically updated by Autodesk and can be saved as either an ASCII or a binary format. Downstream programs may make assumptions about the FBX version being imported, and may limit users to either binary or ASCII importing. Surprisingly, CG assets exported from various programs as collada and FBX do not make it back into the same program as a round-trip without changes to some components of the scene. For example, this is true of FBX format in both 3DSMax and Maya for MakeHumanassets. It is also true for Blender with both FBX and collada format for MakeHumanassets. In this document, we will attempt to provide some support for dealing with this type of surprise.
'''MakeHuman Shader and Asset Rendering'''
A “shader” is computer code that translates digital information into a properly rendered image on the computer screen. Different algorithms use different methods of constructing such a display. By default in MakeHuman, the viewport lighting is handled by the built-in light-sphere shader. The light-sphere shader takes advantage of support for the openGL standard provided by today’s graphics cards. What the viewer sees on the screen depends not only on the color of assets, like skin and clothing, but also on the nature of the lights illuminating the scene and causing reflections and shadows. Most downstream programs use other shader strategies, the most common of which include Phong shaders, Blinn shaders, or Lambert shaders. Because the code and conceptual design of these shaders differs from that of the MakeHuman light-sphere shader, the user should be prepared to make some adjustments in the downstream program to get the final desired effect. Some MakeHuman assets also include Normal maps which the user will want to integrate into the downstream applications rendering.
When a MakeHuman material (for example, skin or clothing or eyelashes) is exported, it carries with it a limited amount of fundamental information for by the downstream program’s shaders. In an ideal world, the downstream program would import this raw information, correctly populate the variables in its shaders, and yield the same view of the human that was exported from MakeHuman. At present this does not typically happen, and the user must make some adjustments. This Wiki section is designed to help you negotiate through that process.
'''Spatial transformation: MakeHuman Coordinate System, MakeHuman Skeletons, and MakeHuman Scales'''
The MakeHuman viewport is oriented so that the positive end of the x-axis is to the right, the positive end of the y-axis it up, and the positive end of the z-axis is out through the front to the screen. Other CG programs can use other schemes, so it is essential to know the coordinate system used by the downstream target at export time, if you wish to minimize the adjustments you make after importing. The settings tab allows users to work in metric units of decimeters or imperial units of inches. Downstream programs vary in their de facto units, and again, it is generally a good idea to anticipate your needs at export time rather than trying to make adjustments during or after import. It is sometimes said that these programs have no default unit. To a degree this is true. However, the default grid pattern, assumptions of other humanoid producing programs, and assumptions of the “physics systems” will often work best with the export units specified in the table below:
TABLE HERE
'''Working with Rigs and Skeletons'''
Internally, MakeHuman uses its default skeleton as the basis of mesh vertex weighting for creating the poses available on the pose tab. This rig includes a special set of bones that can be used for driving facial expressions, but as of the current release (MakeHuman 1.1.x), there is not extensive support for inverse kinematics, and animation must be done downstream in the production pipeline. Historically, MakeHuman has had close ties to Blender, but the ultimate development goal is to provide strong generic support for all the major tools used in the industry, and with MakeHuman 1.1.x, substantial progress has been made by providing weighted skeletons suited for standard use in various downstream applications. For the most part, the name of the most appropriate rig will be clearly associated with the target downstream application, but the tag filters on the Pose/Animate | skeleton tab are intended to help choose a rig suited more generally to a specific purpose like motion capture integration, facial animation, or gaming applications. MakeHuman is designed to provide the user with maximum flexibility at creation time. To provide skeletons that work perfectly with every conceivable variation of the sliders is a laudable but elusive goal. That said, the user should get excellent results with the current approach, but the user should be prepared to make some minor tweaks to skeletons and weights downstream, particularly with extreme character dimensions or extreme poses.
'''MakeHuman Assets with transparency'''
In CG art, materials for mesh objects are frequently created by shaders that use various types of image maps to provide some of the information for determining the color, transparency, and light behavior on the surface of mesh objects. These image maps are referred to as textures. MakeHuman has textured materials available for the body (including proxy topologies), eyes, eyebrows, eyelashes, tongue, teeth, and hair. During export, these textures need to made available to the program that will be importing the MakeHuman output. Two aspects of this process need to be understood by the MakeHuman user: 1) how textures are saved; and 2) how transparency is handled.
There are two possible standards for storing texture assets upon export. They can either be embedded in an exported file, or they can be saved to a folder as named images with reference to the location of those files in the exported file. At present, MakeHuman uses the latter approach when exporting material textures. Following the export process, MakeHuman exports will be located in ~/makehuman/v1/exports/, and the texture images will be located in a corresponding subfolder ~/makehuman/v1/exports/textures. The tilde symbol indicates your user drive and home document directory. [For example, on Windows Vista and later, this typically would be: C:/Users/%USERNAME%/Documents/makehuman/v1/exports and a textures subfolder, where %USERNAME% is replaced by your username.]
Transparency is used in 3D art to let a viewer see through a mesh object to experience the color, reflections and lighting behind that object. MakeHuman uses transparency with textures for the eyes, eyebrows, eyelashes, and hair. This allows complex real world geometry to be represented by much simpler quasi-planar objects. For example, the hairs of the eyebrows are painted onto a flat surface with transparent spaces in between the painted hairs rather than creating tiny mesh objects for each of the 250-1000 individual hairs. CG programs can indicate which regions of the eyebrow should be transparent either by using a separate image where blackness indicates transparent and whiteness indicates opacity. Grayness is used to represent partial transparency. An alternative approach to representing transparency is to use an image format like .tga or .png which has a one byte channel, called an alpha channel, for just this purpose. Again, values near zero (black) typically represent “completely transparent” and values near 255 (white) typically represent “completely opaque”. MakeHuman represents the transparent regions of its assets using the alpha channel method and the .png format for textures. Unfortunately, importers for filmbox (FBX) and collada formats (DAE) do not automatically extract the transparency information provided by MakeHuman, or more specifically, they do not provide it to their shaders as anticipated. This is not just a MakeHuman problem but reflects multiple ways of handling transparency and alpha channels within the industry. Notably, exporting and reimporting assets with alpha channel transparency into the very same program fails with Blender, 3DSMax, and Maya for FBX, and where available, DAE formats. This forces the MakeHuman user to understand how to overcome this limitation in his favorite downstream application. Some introductory help will be provided for common applications later in this document.
There is one additional aspect of using transparency to make a single, simple mesh represent multiple small objects like eyebrows, and that is the issue of shadows. Lighting systems in 3D worlds creates a simulation of reality by making shadows appear on mesh objects in places you would expect to see them in the real world and with the soft edges you would expect to see in the real world. Shadows are a function of both the light source, the object blocking that light, and the objects receiving the reflected and refracted light from other objects. For objects that have transparency, like MakeHuman’s eyes, eyelashes, eyebrows, and hair, shadows should only be cast by the opaque portion of the texture and not by the transparent portions of the texture. The handling of shadows differs considerably from program to program, and objects with alpha channel transparency can need some special handling to accommodate these differences. This handling is not just about the assets with alpha map transparency, themselves. Sometimes it is necessary to set parameters to explicitly tell other objects like the MakeHuman body to not display shadows from the transparent regions of the eyebrows but to show shadows from the opaque hairs of the eyebrows. Shadows of transparently mapped assets will be addressed further in subsequent sections (where information is available).
==Illustrating the Export Process for Subsequent Import==
For the purposes of illustration we will take a straight forward MakeHuman character that has been given a skeleton, a pose, a skin material, clothing, eyes, eyelashes, eyebrows, hair, tongue and teeth. We will then export it for import into a number of popular downstream applications. For each application, our goal will be to get the character to look similar to its original look in MakeHuman. We will pay particular attention to the head and face because this is the area of greatest difficulty for dealing with transparency and shadows. The character has the default skeleton and has been set in the T-pose which is a common starting pose for animation-based work. The image we will be exporting looks like this in MakeHuman:
[[File:ImpExp-001.png]]
'''Figure 1.''' MakeHuman character as viewed from within MakeHuman prior to export.
In subsequent sections, we will discuss the steps needed to reproduce this look after importing into a downstream program.
==Moving Assets into Autodesk Maya==
[[Moving Assets into Autodesk Maya]]
<LI>Importing and Initial Setup</LI>
<LI>Basic Repair of Eye Transparency</Li>
<LI>Repeat for other Transparent Assets</LI>
<LI>Raytrace Shadows</LI>
<LI>Re-importing "Fixed MakeHuman Assets" from Maya after saving in FBX format</LI>
<LI>Adopting MakeHuman Skeletons to Maya</LI>
<font color = 'red'>\b\b\b\b\b\bTO BE WRITTEN</font>
==Moving Assets into Autodesk 3DSMax==
This subsection describes the restoration and use of MakeHuman's skeletal transparency and skeletal assets after importing in Autodesk 3DSMax.
>
<LI>Import process</LI>
<LI>Handling or Transparency after import</LI>
<LI>Handling of Skelton and Rigging after import</LI>
==Moving Assets into Blender==
==Moving Assets into Unreal Engine 4==
==Moving Assets into Unity Game Engine==
==Moving Assets into Google Sketchup==
==Preparing assets for use with Second Life==
6885a017e3e939d084503421ed55901793c2afbd
246
245
2015-07-25T19:12:08Z
Robbaer
12
/* Moving Assets into Autodesk Maya */
wikitext
text/x-wiki
== Summary ==
More often than not MakeHuman users will want to move their creation into another program to continue the creation process. This section provides information on how to achieve this for common target programs. The ''Background and Technical Consideratins'' section provides some background that are common to all workflows. It is not essential to read the introduction before going straight to the program of interest, but doing so might help you understand ''why'' certain steps work or are necessary. In many cases there can be more than one way to accomplish the same thing. The method described here may not be optimal for your situation, but it should help get you started.
==Background and Technical Considerations==
'''Introduction'''
Many MakeHuman users will use the work they create in MakeHuman as a component of a project completed in an external, downstream application. The most common target applications are 3D graphics applications like Blender, Autodesk 3DSMax, and Autodesk Maya or gaming engines like Unity Engine or Unreal Engine 4 or Virtual Worlds like Second Life. In some cases, the MakeHuman user will be interested in moving just the mesh. In other cases, the user will be interested in moving a complete, posed, skeletonized character to the downstream application. The purpose of this document is to discuss the basic process of moving a finished MakeHuman asset to a downstream program and producing a reasonable facsimile of its MakeHuman appearance in the downstream application. It is important to recognize that because each application has its own way of representing 3D assets, and because each export format has its own set of idiosyncrasies, there will be adjustments and approximations in the asset transfer process.
'''Format Considerations'''
In an effort to provide the broadest latitude for user workflows, the MakeHuman development team is directing it major export support toward Autodesk FBX format and Khronos Collada format. In addition, Blender users have the option to install the [https://bitbucket.org/ThomasMakeHuman/mhx2-makehuman-exchange independently developed .mhx2 tools], which are developed and maintained by Thomas Larson, independent of MakeHuman itself. Collada is a text-based format and is an open standard, but implementation of the standard is not as consistent as might be hoped. FBX is a proprietary standard developed by Autodesk and supported through a software development kit (FBX SDK) written in C++ and a Python FBX scripting template. The FBX standard is periodically updated by Autodesk and can be saved as either an ASCII or a binary format. Downstream programs may make assumptions about the FBX version being imported, and may limit users to either binary or ASCII importing. Surprisingly, CG assets exported from various programs as collada and FBX do not make it back into the same program as a round-trip without changes to some components of the scene. For example, this is true of FBX format in both 3DSMax and Maya for MakeHumanassets. It is also true for Blender with both FBX and collada format for MakeHumanassets. In this document, we will attempt to provide some support for dealing with this type of surprise.
'''MakeHuman Shader and Asset Rendering'''
A “shader” is computer code that translates digital information into a properly rendered image on the computer screen. Different algorithms use different methods of constructing such a display. By default in MakeHuman, the viewport lighting is handled by the built-in light-sphere shader. The light-sphere shader takes advantage of support for the openGL standard provided by today’s graphics cards. What the viewer sees on the screen depends not only on the color of assets, like skin and clothing, but also on the nature of the lights illuminating the scene and causing reflections and shadows. Most downstream programs use other shader strategies, the most common of which include Phong shaders, Blinn shaders, or Lambert shaders. Because the code and conceptual design of these shaders differs from that of the MakeHuman light-sphere shader, the user should be prepared to make some adjustments in the downstream program to get the final desired effect. Some MakeHuman assets also include Normal maps which the user will want to integrate into the downstream applications rendering.
When a MakeHuman material (for example, skin or clothing or eyelashes) is exported, it carries with it a limited amount of fundamental information for by the downstream program’s shaders. In an ideal world, the downstream program would import this raw information, correctly populate the variables in its shaders, and yield the same view of the human that was exported from MakeHuman. At present this does not typically happen, and the user must make some adjustments. This Wiki section is designed to help you negotiate through that process.
'''Spatial transformation: MakeHuman Coordinate System, MakeHuman Skeletons, and MakeHuman Scales'''
The MakeHuman viewport is oriented so that the positive end of the x-axis is to the right, the positive end of the y-axis it up, and the positive end of the z-axis is out through the front to the screen. Other CG programs can use other schemes, so it is essential to know the coordinate system used by the downstream target at export time, if you wish to minimize the adjustments you make after importing. The settings tab allows users to work in metric units of decimeters or imperial units of inches. Downstream programs vary in their de facto units, and again, it is generally a good idea to anticipate your needs at export time rather than trying to make adjustments during or after import. It is sometimes said that these programs have no default unit. To a degree this is true. However, the default grid pattern, assumptions of other humanoid producing programs, and assumptions of the “physics systems” will often work best with the export units specified in the table below:
TABLE HERE
'''Working with Rigs and Skeletons'''
Internally, MakeHuman uses its default skeleton as the basis of mesh vertex weighting for creating the poses available on the pose tab. This rig includes a special set of bones that can be used for driving facial expressions, but as of the current release (MakeHuman 1.1.x), there is not extensive support for inverse kinematics, and animation must be done downstream in the production pipeline. Historically, MakeHuman has had close ties to Blender, but the ultimate development goal is to provide strong generic support for all the major tools used in the industry, and with MakeHuman 1.1.x, substantial progress has been made by providing weighted skeletons suited for standard use in various downstream applications. For the most part, the name of the most appropriate rig will be clearly associated with the target downstream application, but the tag filters on the Pose/Animate | skeleton tab are intended to help choose a rig suited more generally to a specific purpose like motion capture integration, facial animation, or gaming applications. MakeHuman is designed to provide the user with maximum flexibility at creation time. To provide skeletons that work perfectly with every conceivable variation of the sliders is a laudable but elusive goal. That said, the user should get excellent results with the current approach, but the user should be prepared to make some minor tweaks to skeletons and weights downstream, particularly with extreme character dimensions or extreme poses.
'''MakeHuman Assets with transparency'''
In CG art, materials for mesh objects are frequently created by shaders that use various types of image maps to provide some of the information for determining the color, transparency, and light behavior on the surface of mesh objects. These image maps are referred to as textures. MakeHuman has textured materials available for the body (including proxy topologies), eyes, eyebrows, eyelashes, tongue, teeth, and hair. During export, these textures need to made available to the program that will be importing the MakeHuman output. Two aspects of this process need to be understood by the MakeHuman user: 1) how textures are saved; and 2) how transparency is handled.
There are two possible standards for storing texture assets upon export. They can either be embedded in an exported file, or they can be saved to a folder as named images with reference to the location of those files in the exported file. At present, MakeHuman uses the latter approach when exporting material textures. Following the export process, MakeHuman exports will be located in ~/makehuman/v1/exports/, and the texture images will be located in a corresponding subfolder ~/makehuman/v1/exports/textures. The tilde symbol indicates your user drive and home document directory. [For example, on Windows Vista and later, this typically would be: C:/Users/%USERNAME%/Documents/makehuman/v1/exports and a textures subfolder, where %USERNAME% is replaced by your username.]
Transparency is used in 3D art to let a viewer see through a mesh object to experience the color, reflections and lighting behind that object. MakeHuman uses transparency with textures for the eyes, eyebrows, eyelashes, and hair. This allows complex real world geometry to be represented by much simpler quasi-planar objects. For example, the hairs of the eyebrows are painted onto a flat surface with transparent spaces in between the painted hairs rather than creating tiny mesh objects for each of the 250-1000 individual hairs. CG programs can indicate which regions of the eyebrow should be transparent either by using a separate image where blackness indicates transparent and whiteness indicates opacity. Grayness is used to represent partial transparency. An alternative approach to representing transparency is to use an image format like .tga or .png which has a one byte channel, called an alpha channel, for just this purpose. Again, values near zero (black) typically represent “completely transparent” and values near 255 (white) typically represent “completely opaque”. MakeHuman represents the transparent regions of its assets using the alpha channel method and the .png format for textures. Unfortunately, importers for filmbox (FBX) and collada formats (DAE) do not automatically extract the transparency information provided by MakeHuman, or more specifically, they do not provide it to their shaders as anticipated. This is not just a MakeHuman problem but reflects multiple ways of handling transparency and alpha channels within the industry. Notably, exporting and reimporting assets with alpha channel transparency into the very same program fails with Blender, 3DSMax, and Maya for FBX, and where available, DAE formats. This forces the MakeHuman user to understand how to overcome this limitation in his favorite downstream application. Some introductory help will be provided for common applications later in this document.
There is one additional aspect of using transparency to make a single, simple mesh represent multiple small objects like eyebrows, and that is the issue of shadows. Lighting systems in 3D worlds creates a simulation of reality by making shadows appear on mesh objects in places you would expect to see them in the real world and with the soft edges you would expect to see in the real world. Shadows are a function of both the light source, the object blocking that light, and the objects receiving the reflected and refracted light from other objects. For objects that have transparency, like MakeHuman’s eyes, eyelashes, eyebrows, and hair, shadows should only be cast by the opaque portion of the texture and not by the transparent portions of the texture. The handling of shadows differs considerably from program to program, and objects with alpha channel transparency can need some special handling to accommodate these differences. This handling is not just about the assets with alpha map transparency, themselves. Sometimes it is necessary to set parameters to explicitly tell other objects like the MakeHuman body to not display shadows from the transparent regions of the eyebrows but to show shadows from the opaque hairs of the eyebrows. Shadows of transparently mapped assets will be addressed further in subsequent sections (where information is available).
==Illustrating the Export Process for Subsequent Import==
For the purposes of illustration we will take a straight forward MakeHuman character that has been given a skeleton, a pose, a skin material, clothing, eyes, eyelashes, eyebrows, hair, tongue and teeth. We will then export it for import into a number of popular downstream applications. For each application, our goal will be to get the character to look similar to its original look in MakeHuman. We will pay particular attention to the head and face because this is the area of greatest difficulty for dealing with transparency and shadows. The character has the default skeleton and has been set in the T-pose which is a common starting pose for animation-based work. The image we will be exporting looks like this in MakeHuman:
[[File:ImpExp-001.png]]
'''Figure 1.''' MakeHuman character as viewed from within MakeHuman prior to export.
In subsequent sections, we will discuss the steps needed to reproduce this look after importing into a downstream program.
==Moving Assets into Autodesk Maya==
[[Moving Assets into Autodesk Maya]]
<LI>Importing and Initial Setup</LI>
<LI>Basic Repair of Eye Transparency</Li>
<LI>Repeat for other Transparent Assets</LI>
<LI>Raytrace Shadows</LI>
<LI>Re-importing "Fixed MakeHuman Assets" from Maya after saving in FBX format</LI>
<LI>Adopting MakeHuman Skeletons to Maya</LI>
<tab>TO BE WRITTEN</tab>
==Moving Assets into Autodesk 3DSMax==
This subsection describes the restoration and use of MakeHuman's skeletal transparency and skeletal assets after importing in Autodesk 3DSMax.
>
<LI>Import process</LI>
<LI>Handling or Transparency after import</LI>
<LI>Handling of Skelton and Rigging after import</LI>
==Moving Assets into Blender==
==Moving Assets into Unreal Engine 4==
==Moving Assets into Unity Game Engine==
==Moving Assets into Google Sketchup==
==Preparing assets for use with Second Life==
f826a4b2c15c9876a7cf95bd7b6f29d1b7997e25
245
244
2015-07-25T19:06:38Z
Robbaer
12
/* Moving Assets into Autodesk Maya */
wikitext
text/x-wiki
== Summary ==
More often than not MakeHuman users will want to move their creation into another program to continue the creation process. This section provides information on how to achieve this for common target programs. The ''Background and Technical Consideratins'' section provides some background that are common to all workflows. It is not essential to read the introduction before going straight to the program of interest, but doing so might help you understand ''why'' certain steps work or are necessary. In many cases there can be more than one way to accomplish the same thing. The method described here may not be optimal for your situation, but it should help get you started.
==Background and Technical Considerations==
'''Introduction'''
Many MakeHuman users will use the work they create in MakeHuman as a component of a project completed in an external, downstream application. The most common target applications are 3D graphics applications like Blender, Autodesk 3DSMax, and Autodesk Maya or gaming engines like Unity Engine or Unreal Engine 4 or Virtual Worlds like Second Life. In some cases, the MakeHuman user will be interested in moving just the mesh. In other cases, the user will be interested in moving a complete, posed, skeletonized character to the downstream application. The purpose of this document is to discuss the basic process of moving a finished MakeHuman asset to a downstream program and producing a reasonable facsimile of its MakeHuman appearance in the downstream application. It is important to recognize that because each application has its own way of representing 3D assets, and because each export format has its own set of idiosyncrasies, there will be adjustments and approximations in the asset transfer process.
'''Format Considerations'''
In an effort to provide the broadest latitude for user workflows, the MakeHuman development team is directing it major export support toward Autodesk FBX format and Khronos Collada format. In addition, Blender users have the option to install the [https://bitbucket.org/ThomasMakeHuman/mhx2-makehuman-exchange independently developed .mhx2 tools], which are developed and maintained by Thomas Larson, independent of MakeHuman itself. Collada is a text-based format and is an open standard, but implementation of the standard is not as consistent as might be hoped. FBX is a proprietary standard developed by Autodesk and supported through a software development kit (FBX SDK) written in C++ and a Python FBX scripting template. The FBX standard is periodically updated by Autodesk and can be saved as either an ASCII or a binary format. Downstream programs may make assumptions about the FBX version being imported, and may limit users to either binary or ASCII importing. Surprisingly, CG assets exported from various programs as collada and FBX do not make it back into the same program as a round-trip without changes to some components of the scene. For example, this is true of FBX format in both 3DSMax and Maya for MakeHumanassets. It is also true for Blender with both FBX and collada format for MakeHumanassets. In this document, we will attempt to provide some support for dealing with this type of surprise.
'''MakeHuman Shader and Asset Rendering'''
A “shader” is computer code that translates digital information into a properly rendered image on the computer screen. Different algorithms use different methods of constructing such a display. By default in MakeHuman, the viewport lighting is handled by the built-in light-sphere shader. The light-sphere shader takes advantage of support for the openGL standard provided by today’s graphics cards. What the viewer sees on the screen depends not only on the color of assets, like skin and clothing, but also on the nature of the lights illuminating the scene and causing reflections and shadows. Most downstream programs use other shader strategies, the most common of which include Phong shaders, Blinn shaders, or Lambert shaders. Because the code and conceptual design of these shaders differs from that of the MakeHuman light-sphere shader, the user should be prepared to make some adjustments in the downstream program to get the final desired effect. Some MakeHuman assets also include Normal maps which the user will want to integrate into the downstream applications rendering.
When a MakeHuman material (for example, skin or clothing or eyelashes) is exported, it carries with it a limited amount of fundamental information for by the downstream program’s shaders. In an ideal world, the downstream program would import this raw information, correctly populate the variables in its shaders, and yield the same view of the human that was exported from MakeHuman. At present this does not typically happen, and the user must make some adjustments. This Wiki section is designed to help you negotiate through that process.
'''Spatial transformation: MakeHuman Coordinate System, MakeHuman Skeletons, and MakeHuman Scales'''
The MakeHuman viewport is oriented so that the positive end of the x-axis is to the right, the positive end of the y-axis it up, and the positive end of the z-axis is out through the front to the screen. Other CG programs can use other schemes, so it is essential to know the coordinate system used by the downstream target at export time, if you wish to minimize the adjustments you make after importing. The settings tab allows users to work in metric units of decimeters or imperial units of inches. Downstream programs vary in their de facto units, and again, it is generally a good idea to anticipate your needs at export time rather than trying to make adjustments during or after import. It is sometimes said that these programs have no default unit. To a degree this is true. However, the default grid pattern, assumptions of other humanoid producing programs, and assumptions of the “physics systems” will often work best with the export units specified in the table below:
TABLE HERE
'''Working with Rigs and Skeletons'''
Internally, MakeHuman uses its default skeleton as the basis of mesh vertex weighting for creating the poses available on the pose tab. This rig includes a special set of bones that can be used for driving facial expressions, but as of the current release (MakeHuman 1.1.x), there is not extensive support for inverse kinematics, and animation must be done downstream in the production pipeline. Historically, MakeHuman has had close ties to Blender, but the ultimate development goal is to provide strong generic support for all the major tools used in the industry, and with MakeHuman 1.1.x, substantial progress has been made by providing weighted skeletons suited for standard use in various downstream applications. For the most part, the name of the most appropriate rig will be clearly associated with the target downstream application, but the tag filters on the Pose/Animate | skeleton tab are intended to help choose a rig suited more generally to a specific purpose like motion capture integration, facial animation, or gaming applications. MakeHuman is designed to provide the user with maximum flexibility at creation time. To provide skeletons that work perfectly with every conceivable variation of the sliders is a laudable but elusive goal. That said, the user should get excellent results with the current approach, but the user should be prepared to make some minor tweaks to skeletons and weights downstream, particularly with extreme character dimensions or extreme poses.
'''MakeHuman Assets with transparency'''
In CG art, materials for mesh objects are frequently created by shaders that use various types of image maps to provide some of the information for determining the color, transparency, and light behavior on the surface of mesh objects. These image maps are referred to as textures. MakeHuman has textured materials available for the body (including proxy topologies), eyes, eyebrows, eyelashes, tongue, teeth, and hair. During export, these textures need to made available to the program that will be importing the MakeHuman output. Two aspects of this process need to be understood by the MakeHuman user: 1) how textures are saved; and 2) how transparency is handled.
There are two possible standards for storing texture assets upon export. They can either be embedded in an exported file, or they can be saved to a folder as named images with reference to the location of those files in the exported file. At present, MakeHuman uses the latter approach when exporting material textures. Following the export process, MakeHuman exports will be located in ~/makehuman/v1/exports/, and the texture images will be located in a corresponding subfolder ~/makehuman/v1/exports/textures. The tilde symbol indicates your user drive and home document directory. [For example, on Windows Vista and later, this typically would be: C:/Users/%USERNAME%/Documents/makehuman/v1/exports and a textures subfolder, where %USERNAME% is replaced by your username.]
Transparency is used in 3D art to let a viewer see through a mesh object to experience the color, reflections and lighting behind that object. MakeHuman uses transparency with textures for the eyes, eyebrows, eyelashes, and hair. This allows complex real world geometry to be represented by much simpler quasi-planar objects. For example, the hairs of the eyebrows are painted onto a flat surface with transparent spaces in between the painted hairs rather than creating tiny mesh objects for each of the 250-1000 individual hairs. CG programs can indicate which regions of the eyebrow should be transparent either by using a separate image where blackness indicates transparent and whiteness indicates opacity. Grayness is used to represent partial transparency. An alternative approach to representing transparency is to use an image format like .tga or .png which has a one byte channel, called an alpha channel, for just this purpose. Again, values near zero (black) typically represent “completely transparent” and values near 255 (white) typically represent “completely opaque”. MakeHuman represents the transparent regions of its assets using the alpha channel method and the .png format for textures. Unfortunately, importers for filmbox (FBX) and collada formats (DAE) do not automatically extract the transparency information provided by MakeHuman, or more specifically, they do not provide it to their shaders as anticipated. This is not just a MakeHuman problem but reflects multiple ways of handling transparency and alpha channels within the industry. Notably, exporting and reimporting assets with alpha channel transparency into the very same program fails with Blender, 3DSMax, and Maya for FBX, and where available, DAE formats. This forces the MakeHuman user to understand how to overcome this limitation in his favorite downstream application. Some introductory help will be provided for common applications later in this document.
There is one additional aspect of using transparency to make a single, simple mesh represent multiple small objects like eyebrows, and that is the issue of shadows. Lighting systems in 3D worlds creates a simulation of reality by making shadows appear on mesh objects in places you would expect to see them in the real world and with the soft edges you would expect to see in the real world. Shadows are a function of both the light source, the object blocking that light, and the objects receiving the reflected and refracted light from other objects. For objects that have transparency, like MakeHuman’s eyes, eyelashes, eyebrows, and hair, shadows should only be cast by the opaque portion of the texture and not by the transparent portions of the texture. The handling of shadows differs considerably from program to program, and objects with alpha channel transparency can need some special handling to accommodate these differences. This handling is not just about the assets with alpha map transparency, themselves. Sometimes it is necessary to set parameters to explicitly tell other objects like the MakeHuman body to not display shadows from the transparent regions of the eyebrows but to show shadows from the opaque hairs of the eyebrows. Shadows of transparently mapped assets will be addressed further in subsequent sections (where information is available).
==Illustrating the Export Process for Subsequent Import==
For the purposes of illustration we will take a straight forward MakeHuman character that has been given a skeleton, a pose, a skin material, clothing, eyes, eyelashes, eyebrows, hair, tongue and teeth. We will then export it for import into a number of popular downstream applications. For each application, our goal will be to get the character to look similar to its original look in MakeHuman. We will pay particular attention to the head and face because this is the area of greatest difficulty for dealing with transparency and shadows. The character has the default skeleton and has been set in the T-pose which is a common starting pose for animation-based work. The image we will be exporting looks like this in MakeHuman:
[[File:ImpExp-001.png]]
'''Figure 1.''' MakeHuman character as viewed from within MakeHuman prior to export.
In subsequent sections, we will discuss the steps needed to reproduce this look after importing into a downstream program.
==Moving Assets into Autodesk Maya==
[[Moving Assets into Autodesk Maya]]
We will use the file created in the “Illustrating the Export Process for Subsequent Import” section.
The FBX export settings used for Maya import should include setting the scale units to centimeters on export. Maya can import either ASCII or binary FBX files, so either type of export can be used for MakeHuman export. <nowiki>[RWB Note: as of this writing there are still some issues with direct FBX binary export, but those are expected to be repaired going forward]</nowiki>. By default the exported file will be found in ~/makehuman/v1/exports/ (where ~ is the user home directory).
<LI>Importing and Initial Setup</LI>
<LI>Basic Repair of Eye Transparency</Li>
<LI>Repeat for other Transparent Assets</LI>
You need to '''repeat steps 1-5''' after selecting the '''''eyebrows''''' in the viewport, after selecting the '''''eyelashes''''' in the viewport, and after selecting the '''''hair''''' in the viewport.
<LI>Raytrace Shadows</LI>
<LI>Re-importing "Fixed MakeHuman Assets" from Maya after saving in FBX format</LI>
If the file is exported from Maya as an FBX file and read back into Maya, it imports with partially transparent assets and will look like this:
<LI>Adopting MakeHuman Skeletons to Maya</LI>
TO BE WRITTEN
==Moving Assets into Autodesk 3DSMax==
This subsection describes the restoration and use of MakeHuman's skeletal transparency and skeletal assets after importing in Autodesk 3DSMax.
>
<LI>Import process</LI>
<LI>Handling or Transparency after import</LI>
<LI>Handling of Skelton and Rigging after import</LI>
==Moving Assets into Blender==
==Moving Assets into Unreal Engine 4==
==Moving Assets into Unity Game Engine==
==Moving Assets into Google Sketchup==
==Preparing assets for use with Second Life==
a4052eae823319eb17fae3b23467e65f888dfc8b
244
243
2015-07-25T19:02:34Z
Robbaer
12
/* Moving Assets into Autodesk Maya */
wikitext
text/x-wiki
== Summary ==
More often than not MakeHuman users will want to move their creation into another program to continue the creation process. This section provides information on how to achieve this for common target programs. The ''Background and Technical Consideratins'' section provides some background that are common to all workflows. It is not essential to read the introduction before going straight to the program of interest, but doing so might help you understand ''why'' certain steps work or are necessary. In many cases there can be more than one way to accomplish the same thing. The method described here may not be optimal for your situation, but it should help get you started.
==Background and Technical Considerations==
'''Introduction'''
Many MakeHuman users will use the work they create in MakeHuman as a component of a project completed in an external, downstream application. The most common target applications are 3D graphics applications like Blender, Autodesk 3DSMax, and Autodesk Maya or gaming engines like Unity Engine or Unreal Engine 4 or Virtual Worlds like Second Life. In some cases, the MakeHuman user will be interested in moving just the mesh. In other cases, the user will be interested in moving a complete, posed, skeletonized character to the downstream application. The purpose of this document is to discuss the basic process of moving a finished MakeHuman asset to a downstream program and producing a reasonable facsimile of its MakeHuman appearance in the downstream application. It is important to recognize that because each application has its own way of representing 3D assets, and because each export format has its own set of idiosyncrasies, there will be adjustments and approximations in the asset transfer process.
'''Format Considerations'''
In an effort to provide the broadest latitude for user workflows, the MakeHuman development team is directing it major export support toward Autodesk FBX format and Khronos Collada format. In addition, Blender users have the option to install the [https://bitbucket.org/ThomasMakeHuman/mhx2-makehuman-exchange independently developed .mhx2 tools], which are developed and maintained by Thomas Larson, independent of MakeHuman itself. Collada is a text-based format and is an open standard, but implementation of the standard is not as consistent as might be hoped. FBX is a proprietary standard developed by Autodesk and supported through a software development kit (FBX SDK) written in C++ and a Python FBX scripting template. The FBX standard is periodically updated by Autodesk and can be saved as either an ASCII or a binary format. Downstream programs may make assumptions about the FBX version being imported, and may limit users to either binary or ASCII importing. Surprisingly, CG assets exported from various programs as collada and FBX do not make it back into the same program as a round-trip without changes to some components of the scene. For example, this is true of FBX format in both 3DSMax and Maya for MakeHumanassets. It is also true for Blender with both FBX and collada format for MakeHumanassets. In this document, we will attempt to provide some support for dealing with this type of surprise.
'''MakeHuman Shader and Asset Rendering'''
A “shader” is computer code that translates digital information into a properly rendered image on the computer screen. Different algorithms use different methods of constructing such a display. By default in MakeHuman, the viewport lighting is handled by the built-in light-sphere shader. The light-sphere shader takes advantage of support for the openGL standard provided by today’s graphics cards. What the viewer sees on the screen depends not only on the color of assets, like skin and clothing, but also on the nature of the lights illuminating the scene and causing reflections and shadows. Most downstream programs use other shader strategies, the most common of which include Phong shaders, Blinn shaders, or Lambert shaders. Because the code and conceptual design of these shaders differs from that of the MakeHuman light-sphere shader, the user should be prepared to make some adjustments in the downstream program to get the final desired effect. Some MakeHuman assets also include Normal maps which the user will want to integrate into the downstream applications rendering.
When a MakeHuman material (for example, skin or clothing or eyelashes) is exported, it carries with it a limited amount of fundamental information for by the downstream program’s shaders. In an ideal world, the downstream program would import this raw information, correctly populate the variables in its shaders, and yield the same view of the human that was exported from MakeHuman. At present this does not typically happen, and the user must make some adjustments. This Wiki section is designed to help you negotiate through that process.
'''Spatial transformation: MakeHuman Coordinate System, MakeHuman Skeletons, and MakeHuman Scales'''
The MakeHuman viewport is oriented so that the positive end of the x-axis is to the right, the positive end of the y-axis it up, and the positive end of the z-axis is out through the front to the screen. Other CG programs can use other schemes, so it is essential to know the coordinate system used by the downstream target at export time, if you wish to minimize the adjustments you make after importing. The settings tab allows users to work in metric units of decimeters or imperial units of inches. Downstream programs vary in their de facto units, and again, it is generally a good idea to anticipate your needs at export time rather than trying to make adjustments during or after import. It is sometimes said that these programs have no default unit. To a degree this is true. However, the default grid pattern, assumptions of other humanoid producing programs, and assumptions of the “physics systems” will often work best with the export units specified in the table below:
TABLE HERE
'''Working with Rigs and Skeletons'''
Internally, MakeHuman uses its default skeleton as the basis of mesh vertex weighting for creating the poses available on the pose tab. This rig includes a special set of bones that can be used for driving facial expressions, but as of the current release (MakeHuman 1.1.x), there is not extensive support for inverse kinematics, and animation must be done downstream in the production pipeline. Historically, MakeHuman has had close ties to Blender, but the ultimate development goal is to provide strong generic support for all the major tools used in the industry, and with MakeHuman 1.1.x, substantial progress has been made by providing weighted skeletons suited for standard use in various downstream applications. For the most part, the name of the most appropriate rig will be clearly associated with the target downstream application, but the tag filters on the Pose/Animate | skeleton tab are intended to help choose a rig suited more generally to a specific purpose like motion capture integration, facial animation, or gaming applications. MakeHuman is designed to provide the user with maximum flexibility at creation time. To provide skeletons that work perfectly with every conceivable variation of the sliders is a laudable but elusive goal. That said, the user should get excellent results with the current approach, but the user should be prepared to make some minor tweaks to skeletons and weights downstream, particularly with extreme character dimensions or extreme poses.
'''MakeHuman Assets with transparency'''
In CG art, materials for mesh objects are frequently created by shaders that use various types of image maps to provide some of the information for determining the color, transparency, and light behavior on the surface of mesh objects. These image maps are referred to as textures. MakeHuman has textured materials available for the body (including proxy topologies), eyes, eyebrows, eyelashes, tongue, teeth, and hair. During export, these textures need to made available to the program that will be importing the MakeHuman output. Two aspects of this process need to be understood by the MakeHuman user: 1) how textures are saved; and 2) how transparency is handled.
There are two possible standards for storing texture assets upon export. They can either be embedded in an exported file, or they can be saved to a folder as named images with reference to the location of those files in the exported file. At present, MakeHuman uses the latter approach when exporting material textures. Following the export process, MakeHuman exports will be located in ~/makehuman/v1/exports/, and the texture images will be located in a corresponding subfolder ~/makehuman/v1/exports/textures. The tilde symbol indicates your user drive and home document directory. [For example, on Windows Vista and later, this typically would be: C:/Users/%USERNAME%/Documents/makehuman/v1/exports and a textures subfolder, where %USERNAME% is replaced by your username.]
Transparency is used in 3D art to let a viewer see through a mesh object to experience the color, reflections and lighting behind that object. MakeHuman uses transparency with textures for the eyes, eyebrows, eyelashes, and hair. This allows complex real world geometry to be represented by much simpler quasi-planar objects. For example, the hairs of the eyebrows are painted onto a flat surface with transparent spaces in between the painted hairs rather than creating tiny mesh objects for each of the 250-1000 individual hairs. CG programs can indicate which regions of the eyebrow should be transparent either by using a separate image where blackness indicates transparent and whiteness indicates opacity. Grayness is used to represent partial transparency. An alternative approach to representing transparency is to use an image format like .tga or .png which has a one byte channel, called an alpha channel, for just this purpose. Again, values near zero (black) typically represent “completely transparent” and values near 255 (white) typically represent “completely opaque”. MakeHuman represents the transparent regions of its assets using the alpha channel method and the .png format for textures. Unfortunately, importers for filmbox (FBX) and collada formats (DAE) do not automatically extract the transparency information provided by MakeHuman, or more specifically, they do not provide it to their shaders as anticipated. This is not just a MakeHuman problem but reflects multiple ways of handling transparency and alpha channels within the industry. Notably, exporting and reimporting assets with alpha channel transparency into the very same program fails with Blender, 3DSMax, and Maya for FBX, and where available, DAE formats. This forces the MakeHuman user to understand how to overcome this limitation in his favorite downstream application. Some introductory help will be provided for common applications later in this document.
There is one additional aspect of using transparency to make a single, simple mesh represent multiple small objects like eyebrows, and that is the issue of shadows. Lighting systems in 3D worlds creates a simulation of reality by making shadows appear on mesh objects in places you would expect to see them in the real world and with the soft edges you would expect to see in the real world. Shadows are a function of both the light source, the object blocking that light, and the objects receiving the reflected and refracted light from other objects. For objects that have transparency, like MakeHuman’s eyes, eyelashes, eyebrows, and hair, shadows should only be cast by the opaque portion of the texture and not by the transparent portions of the texture. The handling of shadows differs considerably from program to program, and objects with alpha channel transparency can need some special handling to accommodate these differences. This handling is not just about the assets with alpha map transparency, themselves. Sometimes it is necessary to set parameters to explicitly tell other objects like the MakeHuman body to not display shadows from the transparent regions of the eyebrows but to show shadows from the opaque hairs of the eyebrows. Shadows of transparently mapped assets will be addressed further in subsequent sections (where information is available).
==Illustrating the Export Process for Subsequent Import==
For the purposes of illustration we will take a straight forward MakeHuman character that has been given a skeleton, a pose, a skin material, clothing, eyes, eyelashes, eyebrows, hair, tongue and teeth. We will then export it for import into a number of popular downstream applications. For each application, our goal will be to get the character to look similar to its original look in MakeHuman. We will pay particular attention to the head and face because this is the area of greatest difficulty for dealing with transparency and shadows. The character has the default skeleton and has been set in the T-pose which is a common starting pose for animation-based work. The image we will be exporting looks like this in MakeHuman:
[[File:ImpExp-001.png]]
'''Figure 1.''' MakeHuman character as viewed from within MakeHuman prior to export.
In subsequent sections, we will discuss the steps needed to reproduce this look after importing into a downstream program.
==Moving Assets into Autodesk Maya==
[[Moving Assets into Autodesk Maya]]
We will use the file created in the “Illustrating the Export Process for Subsequent Import” section.
The FBX export settings used for Maya import should include setting the scale units to centimeters on export. Maya can import either ASCII or binary FBX files, so either type of export can be used for MakeHuman export. <nowiki>[RWB Note: as of this writing there are still some issues with direct FBX binary export, but those are expected to be repaired going forward]</nowiki>. By default the exported file will be found in ~/makehuman/v1/exports/ (where ~ is the user home directory).
[[Moving Assets into Autodesk Maya]Importing and Initial Setup]
'''Basic Repair of Eye Transparency'''
'''Repeat for other Transparent Assets'''
You need to '''repeat steps 1-5''' after selecting the '''''eyebrows''''' in the viewport, after selecting the '''''eyelashes''''' in the viewport, and after selecting the '''''hair''''' in the viewport.
'''Raytrace Shadows'''
'''Re-importing "Fixed MakeHuman Assets" from Maya after saving in FBX format'''
If the file is exported from Maya as an FBX file and read back into Maya, it imports with partially transparent assets and will look like this:
'''Adopting MakeHuman Skeletons to Maya'''
TO BE WRITTEN
==Moving Assets into Autodesk 3DSMax==
This subsection describes the restoration and use of MakeHuman's skeletal transparency and skeletal assets after importing in Autodesk 3DSMax.
>
<LI>Import process</LI>
<LI>Handling or Transparency after import</LI>
<LI>Handling of Skelton and Rigging after import</LI>
==Moving Assets into Blender==
==Moving Assets into Unreal Engine 4==
==Moving Assets into Unity Game Engine==
==Moving Assets into Google Sketchup==
==Preparing assets for use with Second Life==
e275c063e3895c66ebea6ed3786d6d11a342e479
243
239
2015-07-25T18:58:38Z
Robbaer
12
wikitext
text/x-wiki
== Summary ==
More often than not MakeHuman users will want to move their creation into another program to continue the creation process. This section provides information on how to achieve this for common target programs. The ''Background and Technical Consideratins'' section provides some background that are common to all workflows. It is not essential to read the introduction before going straight to the program of interest, but doing so might help you understand ''why'' certain steps work or are necessary. In many cases there can be more than one way to accomplish the same thing. The method described here may not be optimal for your situation, but it should help get you started.
==Background and Technical Considerations==
'''Introduction'''
Many MakeHuman users will use the work they create in MakeHuman as a component of a project completed in an external, downstream application. The most common target applications are 3D graphics applications like Blender, Autodesk 3DSMax, and Autodesk Maya or gaming engines like Unity Engine or Unreal Engine 4 or Virtual Worlds like Second Life. In some cases, the MakeHuman user will be interested in moving just the mesh. In other cases, the user will be interested in moving a complete, posed, skeletonized character to the downstream application. The purpose of this document is to discuss the basic process of moving a finished MakeHuman asset to a downstream program and producing a reasonable facsimile of its MakeHuman appearance in the downstream application. It is important to recognize that because each application has its own way of representing 3D assets, and because each export format has its own set of idiosyncrasies, there will be adjustments and approximations in the asset transfer process.
'''Format Considerations'''
In an effort to provide the broadest latitude for user workflows, the MakeHuman development team is directing it major export support toward Autodesk FBX format and Khronos Collada format. In addition, Blender users have the option to install the [https://bitbucket.org/ThomasMakeHuman/mhx2-makehuman-exchange independently developed .mhx2 tools], which are developed and maintained by Thomas Larson, independent of MakeHuman itself. Collada is a text-based format and is an open standard, but implementation of the standard is not as consistent as might be hoped. FBX is a proprietary standard developed by Autodesk and supported through a software development kit (FBX SDK) written in C++ and a Python FBX scripting template. The FBX standard is periodically updated by Autodesk and can be saved as either an ASCII or a binary format. Downstream programs may make assumptions about the FBX version being imported, and may limit users to either binary or ASCII importing. Surprisingly, CG assets exported from various programs as collada and FBX do not make it back into the same program as a round-trip without changes to some components of the scene. For example, this is true of FBX format in both 3DSMax and Maya for MakeHumanassets. It is also true for Blender with both FBX and collada format for MakeHumanassets. In this document, we will attempt to provide some support for dealing with this type of surprise.
'''MakeHuman Shader and Asset Rendering'''
A “shader” is computer code that translates digital information into a properly rendered image on the computer screen. Different algorithms use different methods of constructing such a display. By default in MakeHuman, the viewport lighting is handled by the built-in light-sphere shader. The light-sphere shader takes advantage of support for the openGL standard provided by today’s graphics cards. What the viewer sees on the screen depends not only on the color of assets, like skin and clothing, but also on the nature of the lights illuminating the scene and causing reflections and shadows. Most downstream programs use other shader strategies, the most common of which include Phong shaders, Blinn shaders, or Lambert shaders. Because the code and conceptual design of these shaders differs from that of the MakeHuman light-sphere shader, the user should be prepared to make some adjustments in the downstream program to get the final desired effect. Some MakeHuman assets also include Normal maps which the user will want to integrate into the downstream applications rendering.
When a MakeHuman material (for example, skin or clothing or eyelashes) is exported, it carries with it a limited amount of fundamental information for by the downstream program’s shaders. In an ideal world, the downstream program would import this raw information, correctly populate the variables in its shaders, and yield the same view of the human that was exported from MakeHuman. At present this does not typically happen, and the user must make some adjustments. This Wiki section is designed to help you negotiate through that process.
'''Spatial transformation: MakeHuman Coordinate System, MakeHuman Skeletons, and MakeHuman Scales'''
The MakeHuman viewport is oriented so that the positive end of the x-axis is to the right, the positive end of the y-axis it up, and the positive end of the z-axis is out through the front to the screen. Other CG programs can use other schemes, so it is essential to know the coordinate system used by the downstream target at export time, if you wish to minimize the adjustments you make after importing. The settings tab allows users to work in metric units of decimeters or imperial units of inches. Downstream programs vary in their de facto units, and again, it is generally a good idea to anticipate your needs at export time rather than trying to make adjustments during or after import. It is sometimes said that these programs have no default unit. To a degree this is true. However, the default grid pattern, assumptions of other humanoid producing programs, and assumptions of the “physics systems” will often work best with the export units specified in the table below:
TABLE HERE
'''Working with Rigs and Skeletons'''
Internally, MakeHuman uses its default skeleton as the basis of mesh vertex weighting for creating the poses available on the pose tab. This rig includes a special set of bones that can be used for driving facial expressions, but as of the current release (MakeHuman 1.1.x), there is not extensive support for inverse kinematics, and animation must be done downstream in the production pipeline. Historically, MakeHuman has had close ties to Blender, but the ultimate development goal is to provide strong generic support for all the major tools used in the industry, and with MakeHuman 1.1.x, substantial progress has been made by providing weighted skeletons suited for standard use in various downstream applications. For the most part, the name of the most appropriate rig will be clearly associated with the target downstream application, but the tag filters on the Pose/Animate | skeleton tab are intended to help choose a rig suited more generally to a specific purpose like motion capture integration, facial animation, or gaming applications. MakeHuman is designed to provide the user with maximum flexibility at creation time. To provide skeletons that work perfectly with every conceivable variation of the sliders is a laudable but elusive goal. That said, the user should get excellent results with the current approach, but the user should be prepared to make some minor tweaks to skeletons and weights downstream, particularly with extreme character dimensions or extreme poses.
'''MakeHuman Assets with transparency'''
In CG art, materials for mesh objects are frequently created by shaders that use various types of image maps to provide some of the information for determining the color, transparency, and light behavior on the surface of mesh objects. These image maps are referred to as textures. MakeHuman has textured materials available for the body (including proxy topologies), eyes, eyebrows, eyelashes, tongue, teeth, and hair. During export, these textures need to made available to the program that will be importing the MakeHuman output. Two aspects of this process need to be understood by the MakeHuman user: 1) how textures are saved; and 2) how transparency is handled.
There are two possible standards for storing texture assets upon export. They can either be embedded in an exported file, or they can be saved to a folder as named images with reference to the location of those files in the exported file. At present, MakeHuman uses the latter approach when exporting material textures. Following the export process, MakeHuman exports will be located in ~/makehuman/v1/exports/, and the texture images will be located in a corresponding subfolder ~/makehuman/v1/exports/textures. The tilde symbol indicates your user drive and home document directory. [For example, on Windows Vista and later, this typically would be: C:/Users/%USERNAME%/Documents/makehuman/v1/exports and a textures subfolder, where %USERNAME% is replaced by your username.]
Transparency is used in 3D art to let a viewer see through a mesh object to experience the color, reflections and lighting behind that object. MakeHuman uses transparency with textures for the eyes, eyebrows, eyelashes, and hair. This allows complex real world geometry to be represented by much simpler quasi-planar objects. For example, the hairs of the eyebrows are painted onto a flat surface with transparent spaces in between the painted hairs rather than creating tiny mesh objects for each of the 250-1000 individual hairs. CG programs can indicate which regions of the eyebrow should be transparent either by using a separate image where blackness indicates transparent and whiteness indicates opacity. Grayness is used to represent partial transparency. An alternative approach to representing transparency is to use an image format like .tga or .png which has a one byte channel, called an alpha channel, for just this purpose. Again, values near zero (black) typically represent “completely transparent” and values near 255 (white) typically represent “completely opaque”. MakeHuman represents the transparent regions of its assets using the alpha channel method and the .png format for textures. Unfortunately, importers for filmbox (FBX) and collada formats (DAE) do not automatically extract the transparency information provided by MakeHuman, or more specifically, they do not provide it to their shaders as anticipated. This is not just a MakeHuman problem but reflects multiple ways of handling transparency and alpha channels within the industry. Notably, exporting and reimporting assets with alpha channel transparency into the very same program fails with Blender, 3DSMax, and Maya for FBX, and where available, DAE formats. This forces the MakeHuman user to understand how to overcome this limitation in his favorite downstream application. Some introductory help will be provided for common applications later in this document.
There is one additional aspect of using transparency to make a single, simple mesh represent multiple small objects like eyebrows, and that is the issue of shadows. Lighting systems in 3D worlds creates a simulation of reality by making shadows appear on mesh objects in places you would expect to see them in the real world and with the soft edges you would expect to see in the real world. Shadows are a function of both the light source, the object blocking that light, and the objects receiving the reflected and refracted light from other objects. For objects that have transparency, like MakeHuman’s eyes, eyelashes, eyebrows, and hair, shadows should only be cast by the opaque portion of the texture and not by the transparent portions of the texture. The handling of shadows differs considerably from program to program, and objects with alpha channel transparency can need some special handling to accommodate these differences. This handling is not just about the assets with alpha map transparency, themselves. Sometimes it is necessary to set parameters to explicitly tell other objects like the MakeHuman body to not display shadows from the transparent regions of the eyebrows but to show shadows from the opaque hairs of the eyebrows. Shadows of transparently mapped assets will be addressed further in subsequent sections (where information is available).
==Illustrating the Export Process for Subsequent Import==
For the purposes of illustration we will take a straight forward MakeHuman character that has been given a skeleton, a pose, a skin material, clothing, eyes, eyelashes, eyebrows, hair, tongue and teeth. We will then export it for import into a number of popular downstream applications. For each application, our goal will be to get the character to look similar to its original look in MakeHuman. We will pay particular attention to the head and face because this is the area of greatest difficulty for dealing with transparency and shadows. The character has the default skeleton and has been set in the T-pose which is a common starting pose for animation-based work. The image we will be exporting looks like this in MakeHuman:
[[File:ImpExp-001.png]]
'''Figure 1.''' MakeHuman character as viewed from within MakeHuman prior to export.
In subsequent sections, we will discuss the steps needed to reproduce this look after importing into a downstream program.
==Moving Assets into Autodesk Maya==
[[Moving Assets into Autodesk Maya]]
We will use the file created in the “Illustrating the Export Process for Subsequent Import” section.
The FBX export settings used for Maya import should include setting the scale units to centimeters on export. Maya can import either ASCII or binary FBX files, so either type of export can be used for MakeHuman export. <nowiki>[RWB Note: as of this writing there are still some issues with direct FBX binary export, but those are expected to be repaired going forward]</nowiki>. By default the exported file will be found in ~/makehuman/v1/exports/ (where ~ is the user home directory).
[[Moving Assets into Autodesk Maya]Importing and Initial Setup]
When the file is initially imported into Maya it looks like this:
[[File:ImpExp03.png]]
<CENTER>'''Figure 1'''</CENTER>
The only color in the viewport is the shoes which had a simple diffuse material which was not associated a texture. By clicking the textured icon at the top of the viewport, the viewport shows a preview of how the rendered, textured image would appear:
[[File:ImpExp04.png]]
<CENTER>'''Figure 2'''</CENTER>
Holding down Alt and scrolling with the middle mouse wheel allows us to zoom in and see the problems with the imported eyes, eyelashes, eyebrows, and possibly the hair:
[[File:ImpExp06.png]]
<CENTER>'''Figure 3'''</CENTER>
The thin lines on the face are an artifact of having included the facial rig by choosing the default skeleton. The process of fixing the '''eyes, eyelashes, eyebrows, and hair''' is the same in each case. We must tell Maya to use transparency from the corresponding alpha channel when rendering the corresponding mesh. It can be hard to select the facial mesh objects in perspective view so it is advisable to go into orthographic front view. One way to do this is with the panel menu just above the viewport.
[[File:ImpExp07.png]]
<CENTER>'''Figure 4'''</CENTER>
'''Basic Repair of Eye Transparency'''
Once in front view, left click to select the eye meshes, and perform the following steps:
[[File:ImpExp08.png]]
<CENTER>'''Figure 5'''</CENTER>
1. In the attribute editor on the right side of the screen, use the right arrow key to make sure the right-most tab is visible and click it to show the corresponding attributes.
[[File:ImpExp09.png]]
<CENTER>'''Figure 6'''</CENTER>
2. In the phong shader section, open the Common Material Attributes section and click on the checkered button to the right of transparency.
[[File:ImpExp10.png]]
<CENTER>'''Figure 7'''</CENTER>
3. In the Create Render Node dialog box that pops up, click on file.
[[File:ImpExp11.png]]
<CENTER>'''Figure 8'''</CENTER>
4. The checkered button next to transparency (see Figure 7) turns into an arrow, [[File:ImpExp12.png]] which you can click to allow the attribute editor to locate the texture map for your eyes. In our example, this texture is called blue_eyes.png. You navigate to this file by left clicking on the yellow folder file attributes section as shown in the image below:
[[File:ImpExp13.png]]
<CENTER>'''Figure 9'''</CENTER>
5. This step for transparency will probably will NOT be needed if you import straight from MakeHuman, but it may be needed if you do intermediate work in another program like 3DSMax. Open the color balance section on the same file1 tab of the attribute editor and verify that “Alpha is Luminance” is unchecked (Figure 10 below). Uncheck it if it is checked.
[[File:ImpExp14.png]]
<CENTER>'''Figure 10'''</CENTER>
The eyes in our image now look like this:
[[File:ImpExp15.png]]
<CENTER>'''Figure 11'''</CENTER>
----
'''Repeat for other Transparent Assets'''
You need to '''repeat steps 1-5''' after selecting the '''''eyebrows''''' in the viewport, after selecting the '''''eyelashes''''' in the viewport, and after selecting the '''''hair''''' in the viewport. When we finished these steps on each of the assets of our test model, the face is a nice approximation of what we started with in MakeHuman and looks like this:
[[File:ImpExp16.png]]
<CENTER>'''Figure 12'''</CENTER>
----
'''Raytrace Shadows'''
Depending on the lighting you are using in Maya, you might have one additional adjustment to make. To avoid transparency shadows, it is necessary to return to the phong section of the attribute editor by left clicking on the eyes in the viewport. In the phong shader section, open the raytrace options panel and move the shadow attenuation slider from its default of 0.5 to zero.
[[File:ImpExp18.png]]
<CENTER>'''Figure 13'''</CENTER>
At this point the MakeHuman model can be saved in standard Maya .mb binary file and easily brought back into Maya.
'''Re-importing "Fixed MakeHuman Assets" from Maya after saving in FBX format'''
If the file is exported from Maya as an FBX file and read back into Maya, it imports with partially transparent assets and will look like this:
[[File:ImpExp20.png]]
<CENTER>'''Figure 14'''</CENTER>
You may also see partially transparent assets if your asset pipeline involves an intermediate program between MakeHuman and Maya and you use FBX to import the workflow into Maya. To once again restore it to its intended look, '''take the eyes, eyelashes, eyebrows, and hair, and fix each as follows:'''
1. Select the asset by left clicking on it, then click the right most tab in the asset editor panel on the right side of the screen. Click the small arrow to the right of the transparency slider.
2. On the file tab that appears, open the Color Balance section and uncheck alpha Is Luminance.
3. It may also be necessary to click each of the four assets and under the Raytrace Options section of the Phong shader in the Attributes editor, change the shadow attenuation slide back to zero (refer to figure 13).
[[File:ImpExp22.png]]
<CENTER>'''Figure 15'''</CENTER>
When you have re-done these steps for each of the four transparent MakeHuman assets the character should once again look like it did in MakeHuman.
'''Adopting MakeHuman Skeletons to Maya'''
TO BE WRITTEN
==Moving Assets into Autodesk 3DSMax==
This subsection describes the restoration and use of MakeHuman's skeletal transparency and skeletal assets after importing in Autodesk 3DSMax.
>
<LI>Import process</LI>
<LI>Handling or Transparency after import</LI>
<LI>Handling of Skelton and Rigging after import</LI>
==Moving Assets into Blender==
==Moving Assets into Unreal Engine 4==
==Moving Assets into Unity Game Engine==
==Moving Assets into Google Sketchup==
==Preparing assets for use with Second Life==
0df1435bf8a1f0b180169daff4e510fa8c34c869
239
236
2015-07-25T18:35:05Z
Robbaer
12
/* Moving Assets into Autodesk Maya */
wikitext
text/x-wiki
== Summary ==
More often than not MakeHuman users will want to move their creation into another program to continue the creation process. This section provides information on how to achieve this for common target programs. The ''Background and Technical Consideratins'' section provides some background that are common to all workflows. It is not essential to read the introduction before going straight to the program of interest, but doing so might help you understand ''why'' certain steps work or are necessary. In many cases there can be more than one way to accomplish the same thing. The method described here may not be optimal for your situation, but it should help get you started.
==Background and Technical Considerations==
'''Introduction'''
Many MakeHuman users will use the work they create in MakeHuman as a component of a project completed in an external, downstream application. The most common target applications are 3D graphics applications like Blender, Autodesk 3DSMax, and Autodesk Maya or gaming engines like Unity Engine or Unreal Engine 4 or Virtual Worlds like Second Life. In some cases, the MakeHuman user will be interested in moving just the mesh. In other cases, the user will be interested in moving a complete, posed, skeletonized character to the downstream application. The purpose of this document is to discuss the basic process of moving a finished MakeHuman asset to a downstream program and producing a reasonable facsimile of its MakeHuman appearance in the downstream application. It is important to recognize that because each application has its own way of representing 3D assets, and because each export format has its own set of idiosyncrasies, there will be adjustments and approximations in the asset transfer process.
'''Format Considerations'''
In an effort to provide the broadest latitude for user workflows, the MakeHuman development team is directing it major export support toward Autodesk FBX format and Khronos Collada format. In addition, Blender users have the option to install the [https://bitbucket.org/ThomasMakeHuman/mhx2-makehuman-exchange independently developed .mhx2 tools], which are developed and maintained by Thomas Larson, independent of MakeHuman itself. Collada is a text-based format and is an open standard, but implementation of the standard is not as consistent as might be hoped. FBX is a proprietary standard developed by Autodesk and supported through a software development kit (FBX SDK) written in C++ and a Python FBX scripting template. The FBX standard is periodically updated by Autodesk and can be saved as either an ASCII or a binary format. Downstream programs may make assumptions about the FBX version being imported, and may limit users to either binary or ASCII importing. Surprisingly, CG assets exported from various programs as collada and FBX do not make it back into the same program as a round-trip without changes to some components of the scene. For example, this is true of FBX format in both 3DSMax and Maya for MakeHumanassets. It is also true for Blender with both FBX and collada format for MakeHumanassets. In this document, we will attempt to provide some support for dealing with this type of surprise.
'''MakeHuman Shader and Asset Rendering'''
A “shader” is computer code that translates digital information into a properly rendered image on the computer screen. Different algorithms use different methods of constructing such a display. By default in MakeHuman, the viewport lighting is handled by the built-in light-sphere shader. The light-sphere shader takes advantage of support for the openGL standard provided by today’s graphics cards. What the viewer sees on the screen depends not only on the color of assets, like skin and clothing, but also on the nature of the lights illuminating the scene and causing reflections and shadows. Most downstream programs use other shader strategies, the most common of which include Phong shaders, Blinn shaders, or Lambert shaders. Because the code and conceptual design of these shaders differs from that of the MakeHuman light-sphere shader, the user should be prepared to make some adjustments in the downstream program to get the final desired effect. Some MakeHuman assets also include Normal maps which the user will want to integrate into the downstream applications rendering.
When a MakeHuman material (for example, skin or clothing or eyelashes) is exported, it carries with it a limited amount of fundamental information for by the downstream program’s shaders. In an ideal world, the downstream program would import this raw information, correctly populate the variables in its shaders, and yield the same view of the human that was exported from MakeHuman. At present this does not typically happen, and the user must make some adjustments. This Wiki section is designed to help you negotiate through that process.
'''Spatial transformation: MakeHuman Coordinate System, MakeHuman Skeletons, and MakeHuman Scales'''
The MakeHuman viewport is oriented so that the positive end of the x-axis is to the right, the positive end of the y-axis it up, and the positive end of the z-axis is out through the front to the screen. Other CG programs can use other schemes, so it is essential to know the coordinate system used by the downstream target at export time, if you wish to minimize the adjustments you make after importing. The settings tab allows users to work in metric units of decimeters or imperial units of inches. Downstream programs vary in their de facto units, and again, it is generally a good idea to anticipate your needs at export time rather than trying to make adjustments during or after import. It is sometimes said that these programs have no default unit. To a degree this is true. However, the default grid pattern, assumptions of other humanoid producing programs, and assumptions of the “physics systems” will often work best with the export units specified in the table below:
TABLE HERE
'''Working with Rigs and Skeletons'''
Internally, MakeHuman uses its default skeleton as the basis of mesh vertex weighting for creating the poses available on the pose tab. This rig includes a special set of bones that can be used for driving facial expressions, but as of the current release (MakeHuman 1.1.x), there is not extensive support for inverse kinematics, and animation must be done downstream in the production pipeline. Historically, MakeHuman has had close ties to Blender, but the ultimate development goal is to provide strong generic support for all the major tools used in the industry, and with MakeHuman 1.1.x, substantial progress has been made by providing weighted skeletons suited for standard use in various downstream applications. For the most part, the name of the most appropriate rig will be clearly associated with the target downstream application, but the tag filters on the Pose/Animate | skeleton tab are intended to help choose a rig suited more generally to a specific purpose like motion capture integration, facial animation, or gaming applications. MakeHuman is designed to provide the user with maximum flexibility at creation time. To provide skeletons that work perfectly with every conceivable variation of the sliders is a laudable but elusive goal. That said, the user should get excellent results with the current approach, but the user should be prepared to make some minor tweaks to skeletons and weights downstream, particularly with extreme character dimensions or extreme poses.
'''MakeHuman Assets with transparency'''
In CG art, materials for mesh objects are frequently created by shaders that use various types of image maps to provide some of the information for determining the color, transparency, and light behavior on the surface of mesh objects. These image maps are referred to as textures. MakeHuman has textured materials available for the body (including proxy topologies), eyes, eyebrows, eyelashes, tongue, teeth, and hair. During export, these textures need to made available to the program that will be importing the MakeHuman output. Two aspects of this process need to be understood by the MakeHuman user: 1) how textures are saved; and 2) how transparency is handled.
There are two possible standards for storing texture assets upon export. They can either be embedded in an exported file, or they can be saved to a folder as named images with reference to the location of those files in the exported file. At present, MakeHuman uses the latter approach when exporting material textures. Following the export process, MakeHuman exports will be located in ~/makehuman/v1/exports/, and the texture images will be located in a corresponding subfolder ~/makehuman/v1/exports/textures. The tilde symbol indicates your user drive and home document directory. [For example, on Windows Vista and later, this typically would be: C:/Users/%USERNAME%/Documents/makehuman/v1/exports and a textures subfolder, where %USERNAME% is replaced by your username.]
Transparency is used in 3D art to let a viewer see through a mesh object to experience the color, reflections and lighting behind that object. MakeHuman uses transparency with textures for the eyes, eyebrows, eyelashes, and hair. This allows complex real world geometry to be represented by much simpler quasi-planar objects. For example, the hairs of the eyebrows are painted onto a flat surface with transparent spaces in between the painted hairs rather than creating tiny mesh objects for each of the 250-1000 individual hairs. CG programs can indicate which regions of the eyebrow should be transparent either by using a separate image where blackness indicates transparent and whiteness indicates opacity. Grayness is used to represent partial transparency. An alternative approach to representing transparency is to use an image format like .tga or .png which has a one byte channel, called an alpha channel, for just this purpose. Again, values near zero (black) typically represent “completely transparent” and values near 255 (white) typically represent “completely opaque”. MakeHuman represents the transparent regions of its assets using the alpha channel method and the .png format for textures. Unfortunately, importers for filmbox (FBX) and collada formats (DAE) do not automatically extract the transparency information provided by MakeHuman, or more specifically, they do not provide it to their shaders as anticipated. This is not just a MakeHuman problem but reflects multiple ways of handling transparency and alpha channels within the industry. Notably, exporting and reimporting assets with alpha channel transparency into the very same program fails with Blender, 3DSMax, and Maya for FBX, and where available, DAE formats. This forces the MakeHuman user to understand how to overcome this limitation in his favorite downstream application. Some introductory help will be provided for common applications later in this document.
There is one additional aspect of using transparency to make a single, simple mesh represent multiple small objects like eyebrows, and that is the issue of shadows. Lighting systems in 3D worlds creates a simulation of reality by making shadows appear on mesh objects in places you would expect to see them in the real world and with the soft edges you would expect to see in the real world. Shadows are a function of both the light source, the object blocking that light, and the objects receiving the reflected and refracted light from other objects. For objects that have transparency, like MakeHuman’s eyes, eyelashes, eyebrows, and hair, shadows should only be cast by the opaque portion of the texture and not by the transparent portions of the texture. The handling of shadows differs considerably from program to program, and objects with alpha channel transparency can need some special handling to accommodate these differences. This handling is not just about the assets with alpha map transparency, themselves. Sometimes it is necessary to set parameters to explicitly tell other objects like the MakeHuman body to not display shadows from the transparent regions of the eyebrows but to show shadows from the opaque hairs of the eyebrows. Shadows of transparently mapped assets will be addressed further in subsequent sections (where information is available).
==Illustrating the Export Process for Subsequent Import==
For the purposes of illustration we will take a straight forward MakeHuman character that has been given a skeleton, a pose, a skin material, clothing, eyes, eyelashes, eyebrows, hair, tongue and teeth. We will then export it for import into a number of popular downstream applications. For each application, our goal will be to get the character to look similar to its original look in MakeHuman. We will pay particular attention to the head and face because this is the area of greatest difficulty for dealing with transparency and shadows. The character has the default skeleton and has been set in the T-pose which is a common starting pose for animation-based work. The image we will be exporting looks like this in MakeHuman:
[[File:ImpExp-001.png]]
'''Figure 1.''' MakeHuman character as viewed from within MakeHuman prior to export.
In subsequent sections, we will discuss the steps needed to reproduce this look after importing into a downstream program.
[[Moving Assets into Autodesk Maya]]
==Moving Assets into Autodesk Maya==
We will use the file created in the “Illustrating the Export Process for Subsequent Import” section.
The FBX export settings used for Maya import should include setting the scale units to centimeters on export. Maya can import either ASCII or binary FBX files, so either type of export can be used for MakeHuman export. <nowiki>[RWB Note: as of this writing there are still some issues with direct FBX binary export, but those are expected to be repaired going forward]</nowiki>. By default the exported file will be found in ~/makehuman/v1/exports/ (where ~ is the user home directory).
'''Importing and Initial Setup'''
When the file is initially imported into Maya it looks like this:
[[File:ImpExp03.png]]
<CENTER>'''Figure 1'''</CENTER>
The only color in the viewport is the shoes which had a simple diffuse material which was not associated a texture. By clicking the textured icon at the top of the viewport, the viewport shows a preview of how the rendered, textured image would appear:
[[File:ImpExp04.png]]
<CENTER>'''Figure 2'''</CENTER>
Holding down Alt and scrolling with the middle mouse wheel allows us to zoom in and see the problems with the imported eyes, eyelashes, eyebrows, and possibly the hair:
[[File:ImpExp06.png]]
<CENTER>'''Figure 3'''</CENTER>
The thin lines on the face are an artifact of having included the facial rig by choosing the default skeleton. The process of fixing the '''eyes, eyelashes, eyebrows, and hair''' is the same in each case. We must tell Maya to use transparency from the corresponding alpha channel when rendering the corresponding mesh. It can be hard to select the facial mesh objects in perspective view so it is advisable to go into orthographic front view. One way to do this is with the panel menu just above the viewport.
[[File:ImpExp07.png]]
<CENTER>'''Figure 4'''</CENTER>
'''Basic Repair of Eye Transparency'''
Once in front view, left click to select the eye meshes, and perform the following steps:
[[File:ImpExp08.png]]
<CENTER>'''Figure 5'''</CENTER>
1. In the attribute editor on the right side of the screen, use the right arrow key to make sure the right-most tab is visible and click it to show the corresponding attributes.
[[File:ImpExp09.png]]
<CENTER>'''Figure 6'''</CENTER>
2. In the phong shader section, open the Common Material Attributes section and click on the checkered button to the right of transparency.
[[File:ImpExp10.png]]
<CENTER>'''Figure 7'''</CENTER>
3. In the Create Render Node dialog box that pops up, click on file.
[[File:ImpExp11.png]]
<CENTER>'''Figure 8'''</CENTER>
4. The checkered button next to transparency (see Figure 7) turns into an arrow, [[File:ImpExp12.png]] which you can click to allow the attribute editor to locate the texture map for your eyes. In our example, this texture is called blue_eyes.png. You navigate to this file by left clicking on the yellow folder file attributes section as shown in the image below:
[[File:ImpExp13.png]]
<CENTER>'''Figure 9'''</CENTER>
5. This step for transparency will probably will NOT be needed if you import straight from MakeHuman, but it may be needed if you do intermediate work in another program like 3DSMax. Open the color balance section on the same file1 tab of the attribute editor and verify that “Alpha is Luminance” is unchecked (Figure 10 below). Uncheck it if it is checked.
[[File:ImpExp14.png]]
<CENTER>'''Figure 10'''</CENTER>
The eyes in our image now look like this:
[[File:ImpExp15.png]]
<CENTER>'''Figure 11'''</CENTER>
----
'''Repeat for other Transparent Assets'''
You need to '''repeat steps 1-5''' after selecting the '''''eyebrows''''' in the viewport, after selecting the '''''eyelashes''''' in the viewport, and after selecting the '''''hair''''' in the viewport. When we finished these steps on each of the assets of our test model, the face is a nice approximation of what we started with in MakeHuman and looks like this:
[[File:ImpExp16.png]]
<CENTER>'''Figure 12'''</CENTER>
----
'''Raytrace Shadows'''
Depending on the lighting you are using in Maya, you might have one additional adjustment to make. To avoid transparency shadows, it is necessary to return to the phong section of the attribute editor by left clicking on the eyes in the viewport. In the phong shader section, open the raytrace options panel and move the shadow attenuation slider from its default of 0.5 to zero.
[[File:ImpExp18.png]]
<CENTER>'''Figure 13'''</CENTER>
At this point the MakeHuman model can be saved in standard Maya .mb binary file and easily brought back into Maya.
'''Re-importing "Fixed MakeHuman Assets" from Maya after saving in FBX format'''
If the file is exported from Maya as an FBX file and read back into Maya, it imports with partially transparent assets and will look like this:
[[File:ImpExp20.png]]
<CENTER>'''Figure 14'''</CENTER>
You may also see partially transparent assets if your asset pipeline involves an intermediate program between MakeHuman and Maya and you use FBX to import the workflow into Maya. To once again restore it to its intended look, '''take the eyes, eyelashes, eyebrows, and hair, and fix each as follows:'''
1. Select the asset by left clicking on it, then click the right most tab in the asset editor panel on the right side of the screen. Click the small arrow to the right of the transparency slider.
2. On the file tab that appears, open the Color Balance section and uncheck alpha Is Luminance.
3. It may also be necessary to click each of the four assets and under the Raytrace Options section of the Phong shader in the Attributes editor, change the shadow attenuation slide back to zero (refer to figure 13).
[[File:ImpExp22.png]]
<CENTER>'''Figure 15'''</CENTER>
When you have re-done these steps for each of the four transparent MakeHuman assets the character should once again look like it did in MakeHuman.
'''Adopting MakeHuman Skeletons to Maya'''
TO BE WRITTEN
==Moving Assets into Autodesk 3DSMax==
This subsection describes the restoration and use of MakeHuman's skeletal transparency and skeletal assets after importing in Autodesk 3DSMax.
>
<LI>Import process</LI>
<LI>Handling or Transparency after import</LI>
<LI>Handling of Skelton and Rigging after import</LI>
==Moving Assets into Blender==
==Moving Assets into Unreal Engine 4==
==Moving Assets into Unity Game Engine==
==Moving Assets into Google Sketchup==
==Preparing assets for use with Second Life==
e4c4100e41bc16d5590638b135c66ec6c8e19e14
236
235
2015-07-25T17:33:49Z
Robbaer
12
/* Moving Assets into Autodesk Maya */
wikitext
text/x-wiki
== Summary ==
More often than not MakeHuman users will want to move their creation into another program to continue the creation process. This section provides information on how to achieve this for common target programs. The ''Background and Technical Consideratins'' section provides some background that are common to all workflows. It is not essential to read the introduction before going straight to the program of interest, but doing so might help you understand ''why'' certain steps work or are necessary. In many cases there can be more than one way to accomplish the same thing. The method described here may not be optimal for your situation, but it should help get you started.
==Background and Technical Considerations==
'''Introduction'''
Many MakeHuman users will use the work they create in MakeHuman as a component of a project completed in an external, downstream application. The most common target applications are 3D graphics applications like Blender, Autodesk 3DSMax, and Autodesk Maya or gaming engines like Unity Engine or Unreal Engine 4 or Virtual Worlds like Second Life. In some cases, the MakeHuman user will be interested in moving just the mesh. In other cases, the user will be interested in moving a complete, posed, skeletonized character to the downstream application. The purpose of this document is to discuss the basic process of moving a finished MakeHuman asset to a downstream program and producing a reasonable facsimile of its MakeHuman appearance in the downstream application. It is important to recognize that because each application has its own way of representing 3D assets, and because each export format has its own set of idiosyncrasies, there will be adjustments and approximations in the asset transfer process.
'''Format Considerations'''
In an effort to provide the broadest latitude for user workflows, the MakeHuman development team is directing it major export support toward Autodesk FBX format and Khronos Collada format. In addition, Blender users have the option to install the [https://bitbucket.org/ThomasMakeHuman/mhx2-makehuman-exchange independently developed .mhx2 tools], which are developed and maintained by Thomas Larson, independent of MakeHuman itself. Collada is a text-based format and is an open standard, but implementation of the standard is not as consistent as might be hoped. FBX is a proprietary standard developed by Autodesk and supported through a software development kit (FBX SDK) written in C++ and a Python FBX scripting template. The FBX standard is periodically updated by Autodesk and can be saved as either an ASCII or a binary format. Downstream programs may make assumptions about the FBX version being imported, and may limit users to either binary or ASCII importing. Surprisingly, CG assets exported from various programs as collada and FBX do not make it back into the same program as a round-trip without changes to some components of the scene. For example, this is true of FBX format in both 3DSMax and Maya for MakeHumanassets. It is also true for Blender with both FBX and collada format for MakeHumanassets. In this document, we will attempt to provide some support for dealing with this type of surprise.
'''MakeHuman Shader and Asset Rendering'''
A “shader” is computer code that translates digital information into a properly rendered image on the computer screen. Different algorithms use different methods of constructing such a display. By default in MakeHuman, the viewport lighting is handled by the built-in light-sphere shader. The light-sphere shader takes advantage of support for the openGL standard provided by today’s graphics cards. What the viewer sees on the screen depends not only on the color of assets, like skin and clothing, but also on the nature of the lights illuminating the scene and causing reflections and shadows. Most downstream programs use other shader strategies, the most common of which include Phong shaders, Blinn shaders, or Lambert shaders. Because the code and conceptual design of these shaders differs from that of the MakeHuman light-sphere shader, the user should be prepared to make some adjustments in the downstream program to get the final desired effect. Some MakeHuman assets also include Normal maps which the user will want to integrate into the downstream applications rendering.
When a MakeHuman material (for example, skin or clothing or eyelashes) is exported, it carries with it a limited amount of fundamental information for by the downstream program’s shaders. In an ideal world, the downstream program would import this raw information, correctly populate the variables in its shaders, and yield the same view of the human that was exported from MakeHuman. At present this does not typically happen, and the user must make some adjustments. This Wiki section is designed to help you negotiate through that process.
'''Spatial transformation: MakeHuman Coordinate System, MakeHuman Skeletons, and MakeHuman Scales'''
The MakeHuman viewport is oriented so that the positive end of the x-axis is to the right, the positive end of the y-axis it up, and the positive end of the z-axis is out through the front to the screen. Other CG programs can use other schemes, so it is essential to know the coordinate system used by the downstream target at export time, if you wish to minimize the adjustments you make after importing. The settings tab allows users to work in metric units of decimeters or imperial units of inches. Downstream programs vary in their de facto units, and again, it is generally a good idea to anticipate your needs at export time rather than trying to make adjustments during or after import. It is sometimes said that these programs have no default unit. To a degree this is true. However, the default grid pattern, assumptions of other humanoid producing programs, and assumptions of the “physics systems” will often work best with the export units specified in the table below:
TABLE HERE
'''Working with Rigs and Skeletons'''
Internally, MakeHuman uses its default skeleton as the basis of mesh vertex weighting for creating the poses available on the pose tab. This rig includes a special set of bones that can be used for driving facial expressions, but as of the current release (MakeHuman 1.1.x), there is not extensive support for inverse kinematics, and animation must be done downstream in the production pipeline. Historically, MakeHuman has had close ties to Blender, but the ultimate development goal is to provide strong generic support for all the major tools used in the industry, and with MakeHuman 1.1.x, substantial progress has been made by providing weighted skeletons suited for standard use in various downstream applications. For the most part, the name of the most appropriate rig will be clearly associated with the target downstream application, but the tag filters on the Pose/Animate | skeleton tab are intended to help choose a rig suited more generally to a specific purpose like motion capture integration, facial animation, or gaming applications. MakeHuman is designed to provide the user with maximum flexibility at creation time. To provide skeletons that work perfectly with every conceivable variation of the sliders is a laudable but elusive goal. That said, the user should get excellent results with the current approach, but the user should be prepared to make some minor tweaks to skeletons and weights downstream, particularly with extreme character dimensions or extreme poses.
'''MakeHuman Assets with transparency'''
In CG art, materials for mesh objects are frequently created by shaders that use various types of image maps to provide some of the information for determining the color, transparency, and light behavior on the surface of mesh objects. These image maps are referred to as textures. MakeHuman has textured materials available for the body (including proxy topologies), eyes, eyebrows, eyelashes, tongue, teeth, and hair. During export, these textures need to made available to the program that will be importing the MakeHuman output. Two aspects of this process need to be understood by the MakeHuman user: 1) how textures are saved; and 2) how transparency is handled.
There are two possible standards for storing texture assets upon export. They can either be embedded in an exported file, or they can be saved to a folder as named images with reference to the location of those files in the exported file. At present, MakeHuman uses the latter approach when exporting material textures. Following the export process, MakeHuman exports will be located in ~/makehuman/v1/exports/, and the texture images will be located in a corresponding subfolder ~/makehuman/v1/exports/textures. The tilde symbol indicates your user drive and home document directory. [For example, on Windows Vista and later, this typically would be: C:/Users/%USERNAME%/Documents/makehuman/v1/exports and a textures subfolder, where %USERNAME% is replaced by your username.]
Transparency is used in 3D art to let a viewer see through a mesh object to experience the color, reflections and lighting behind that object. MakeHuman uses transparency with textures for the eyes, eyebrows, eyelashes, and hair. This allows complex real world geometry to be represented by much simpler quasi-planar objects. For example, the hairs of the eyebrows are painted onto a flat surface with transparent spaces in between the painted hairs rather than creating tiny mesh objects for each of the 250-1000 individual hairs. CG programs can indicate which regions of the eyebrow should be transparent either by using a separate image where blackness indicates transparent and whiteness indicates opacity. Grayness is used to represent partial transparency. An alternative approach to representing transparency is to use an image format like .tga or .png which has a one byte channel, called an alpha channel, for just this purpose. Again, values near zero (black) typically represent “completely transparent” and values near 255 (white) typically represent “completely opaque”. MakeHuman represents the transparent regions of its assets using the alpha channel method and the .png format for textures. Unfortunately, importers for filmbox (FBX) and collada formats (DAE) do not automatically extract the transparency information provided by MakeHuman, or more specifically, they do not provide it to their shaders as anticipated. This is not just a MakeHuman problem but reflects multiple ways of handling transparency and alpha channels within the industry. Notably, exporting and reimporting assets with alpha channel transparency into the very same program fails with Blender, 3DSMax, and Maya for FBX, and where available, DAE formats. This forces the MakeHuman user to understand how to overcome this limitation in his favorite downstream application. Some introductory help will be provided for common applications later in this document.
There is one additional aspect of using transparency to make a single, simple mesh represent multiple small objects like eyebrows, and that is the issue of shadows. Lighting systems in 3D worlds creates a simulation of reality by making shadows appear on mesh objects in places you would expect to see them in the real world and with the soft edges you would expect to see in the real world. Shadows are a function of both the light source, the object blocking that light, and the objects receiving the reflected and refracted light from other objects. For objects that have transparency, like MakeHuman’s eyes, eyelashes, eyebrows, and hair, shadows should only be cast by the opaque portion of the texture and not by the transparent portions of the texture. The handling of shadows differs considerably from program to program, and objects with alpha channel transparency can need some special handling to accommodate these differences. This handling is not just about the assets with alpha map transparency, themselves. Sometimes it is necessary to set parameters to explicitly tell other objects like the MakeHuman body to not display shadows from the transparent regions of the eyebrows but to show shadows from the opaque hairs of the eyebrows. Shadows of transparently mapped assets will be addressed further in subsequent sections (where information is available).
==Illustrating the Export Process for Subsequent Import==
For the purposes of illustration we will take a straight forward MakeHuman character that has been given a skeleton, a pose, a skin material, clothing, eyes, eyelashes, eyebrows, hair, tongue and teeth. We will then export it for import into a number of popular downstream applications. For each application, our goal will be to get the character to look similar to its original look in MakeHuman. We will pay particular attention to the head and face because this is the area of greatest difficulty for dealing with transparency and shadows. The character has the default skeleton and has been set in the T-pose which is a common starting pose for animation-based work. The image we will be exporting looks like this in MakeHuman:
[[File:ImpExp-001.png]]
'''Figure 1.''' MakeHuman character as viewed from within MakeHuman prior to export.
In subsequent sections, we will discuss the steps needed to reproduce this look after importing into a downstream program.
==Moving Assets into Autodesk Maya==
We will use the file created in the “Illustrating the Export Process for Subsequent Import” section.
The FBX export settings used for Maya import should include setting the scale units to centimeters on export. Maya can import either ASCII or binary FBX files, so either type of export can be used for MakeHuman export. <nowiki>[RWB Note: as of this writing there are still some issues with direct FBX binary export, but those are expected to be repaired going forward]</nowiki>. By default the exported file will be found in ~/makehuman/v1/exports/ (where ~ is the user home directory).
'''Importing and Initial Setup'''
When the file is initially imported into Maya it looks like this:
[[File:ImpExp03.png]]
<CENTER>'''Figure 1'''</CENTER>
The only color in the viewport is the shoes which had a simple diffuse material which was not associated a texture. By clicking the textured icon at the top of the viewport, the viewport shows a preview of how the rendered, textured image would appear:
[[File:ImpExp04.png]]
<CENTER>'''Figure 2'''</CENTER>
Holding down Alt and scrolling with the middle mouse wheel allows us to zoom in and see the problems with the imported eyes, eyelashes, eyebrows, and possibly the hair:
[[File:ImpExp06.png]]
<CENTER>'''Figure 3'''</CENTER>
The thin lines on the face are an artifact of having included the facial rig by choosing the default skeleton. The process of fixing the '''eyes, eyelashes, eyebrows, and hair''' is the same in each case. We must tell Maya to use transparency from the corresponding alpha channel when rendering the corresponding mesh. It can be hard to select the facial mesh objects in perspective view so it is advisable to go into orthographic front view. One way to do this is with the panel menu just above the viewport.
[[File:ImpExp07.png]]
<CENTER>'''Figure 4'''</CENTER>
'''Basic Repair of Eye Transparency'''
Once in front view, left click to select the eye meshes, and perform the following steps:
[[File:ImpExp08.png]]
<CENTER>'''Figure 5'''</CENTER>
1. In the attribute editor on the right side of the screen, use the right arrow key to make sure the right-most tab is visible and click it to show the corresponding attributes.
[[File:ImpExp09.png]]
<CENTER>'''Figure 6'''</CENTER>
2. In the phong shader section, open the Common Material Attributes section and click on the checkered button to the right of transparency.
[[File:ImpExp10.png]]
<CENTER>'''Figure 7'''</CENTER>
3. In the Create Render Node dialog box that pops up, click on file.
[[File:ImpExp11.png]]
<CENTER>'''Figure 8'''</CENTER>
4. The checkered button next to transparency (see Figure 7) turns into an arrow, [[File:ImpExp12.png]] which you can click to allow the attribute editor to locate the texture map for your eyes. In our example, this texture is called blue_eyes.png. You navigate to this file by left clicking on the yellow folder file attributes section as shown in the image below:
[[File:ImpExp13.png]]
<CENTER>'''Figure 9'''</CENTER>
5. This step for transparency will probably will NOT be needed if you import straight from MakeHuman, but it may be needed if you do intermediate work in another program like 3DSMax. Open the color balance section on the same file1 tab of the attribute editor and verify that “Alpha is Luminance” is unchecked (Figure 10 below). Uncheck it if it is checked.
[[File:ImpExp14.png]]
<CENTER>'''Figure 10'''</CENTER>
The eyes in our image now look like this:
[[File:ImpExp15.png]]
<CENTER>'''Figure 11'''</CENTER>
----
'''Repeat for other Transparent Assets'''
You need to '''repeat steps 1-5''' after selecting the '''''eyebrows''''' in the viewport, after selecting the '''''eyelashes''''' in the viewport, and after selecting the '''''hair''''' in the viewport. When we finished these steps on each of the assets of our test model, the face is a nice approximation of what we started with in MakeHuman and looks like this:
[[File:ImpExp16.png]]
<CENTER>'''Figure 12'''</CENTER>
----
'''Raytrace Shadows'''
Depending on the lighting you are using in Maya, you might have one additional adjustment to make. To avoid transparency shadows, it is necessary to return to the phong section of the attribute editor by left clicking on the eyes in the viewport. In the phong shader section, open the raytrace options panel and move the shadow attenuation slider from its default of 0.5 to zero.
[[File:ImpExp18.png]]
<CENTER>'''Figure 13'''</CENTER>
At this point the MakeHuman model can be saved in standard Maya .mb binary file and easily brought back into Maya.
'''Re-importing "Fixed MakeHuman Assets" from Maya after saving in FBX format'''
If the file is exported from Maya as an FBX file and read back into Maya, it imports with partially transparent assets and will look like this:
[[File:ImpExp20.png]]
<CENTER>'''Figure 14'''</CENTER>
You may also see partially transparent assets if your asset pipeline involves an intermediate program between MakeHuman and Maya and you use FBX to import the workflow into Maya. To once again restore it to its intended look, '''take the eyes, eyelashes, eyebrows, and hair, and fix each as follows:'''
1. Select the asset by left clicking on it, then click the right most tab in the asset editor panel on the right side of the screen. Click the small arrow to the right of the transparency slider.
2. On the file tab that appears, open the Color Balance section and uncheck alpha Is Luminance.
3. It may also be necessary to click each of the four assets and under the Raytrace Options section of the Phong shader in the Attributes editor, change the shadow attenuation slide back to zero (refer to figure 13).
[[File:ImpExp22.png]]
<CENTER>'''Figure 15'''</CENTER>
When you have re-done these steps for each of the four transparent MakeHuman assets the character should once again look like it did in MakeHuman.
'''Adopting MakeHuman Skeletons to Maya'''
TO BE WRITTEN
==Moving Assets into Autodesk 3DSMax==
This subsection describes the restoration and use of MakeHuman's skeletal transparency and skeletal assets after importing in Autodesk 3DSMax.
>
<LI>Import process</LI>
<LI>Handling or Transparency after import</LI>
<LI>Handling of Skelton and Rigging after import</LI>
==Moving Assets into Blender==
==Moving Assets into Unreal Engine 4==
==Moving Assets into Unity Game Engine==
==Moving Assets into Google Sketchup==
==Preparing assets for use with Second Life==
406d8ba652ba2855d6452e85e008c89bb0b59a9b
235
234
2015-07-25T17:31:27Z
Robbaer
12
/* Summary */
wikitext
text/x-wiki
== Summary ==
More often than not MakeHuman users will want to move their creation into another program to continue the creation process. This section provides information on how to achieve this for common target programs. The ''Background and Technical Consideratins'' section provides some background that are common to all workflows. It is not essential to read the introduction before going straight to the program of interest, but doing so might help you understand ''why'' certain steps work or are necessary. In many cases there can be more than one way to accomplish the same thing. The method described here may not be optimal for your situation, but it should help get you started.
==Background and Technical Considerations==
'''Introduction'''
Many MakeHuman users will use the work they create in MakeHuman as a component of a project completed in an external, downstream application. The most common target applications are 3D graphics applications like Blender, Autodesk 3DSMax, and Autodesk Maya or gaming engines like Unity Engine or Unreal Engine 4 or Virtual Worlds like Second Life. In some cases, the MakeHuman user will be interested in moving just the mesh. In other cases, the user will be interested in moving a complete, posed, skeletonized character to the downstream application. The purpose of this document is to discuss the basic process of moving a finished MakeHuman asset to a downstream program and producing a reasonable facsimile of its MakeHuman appearance in the downstream application. It is important to recognize that because each application has its own way of representing 3D assets, and because each export format has its own set of idiosyncrasies, there will be adjustments and approximations in the asset transfer process.
'''Format Considerations'''
In an effort to provide the broadest latitude for user workflows, the MakeHuman development team is directing it major export support toward Autodesk FBX format and Khronos Collada format. In addition, Blender users have the option to install the [https://bitbucket.org/ThomasMakeHuman/mhx2-makehuman-exchange independently developed .mhx2 tools], which are developed and maintained by Thomas Larson, independent of MakeHuman itself. Collada is a text-based format and is an open standard, but implementation of the standard is not as consistent as might be hoped. FBX is a proprietary standard developed by Autodesk and supported through a software development kit (FBX SDK) written in C++ and a Python FBX scripting template. The FBX standard is periodically updated by Autodesk and can be saved as either an ASCII or a binary format. Downstream programs may make assumptions about the FBX version being imported, and may limit users to either binary or ASCII importing. Surprisingly, CG assets exported from various programs as collada and FBX do not make it back into the same program as a round-trip without changes to some components of the scene. For example, this is true of FBX format in both 3DSMax and Maya for MakeHumanassets. It is also true for Blender with both FBX and collada format for MakeHumanassets. In this document, we will attempt to provide some support for dealing with this type of surprise.
'''MakeHuman Shader and Asset Rendering'''
A “shader” is computer code that translates digital information into a properly rendered image on the computer screen. Different algorithms use different methods of constructing such a display. By default in MakeHuman, the viewport lighting is handled by the built-in light-sphere shader. The light-sphere shader takes advantage of support for the openGL standard provided by today’s graphics cards. What the viewer sees on the screen depends not only on the color of assets, like skin and clothing, but also on the nature of the lights illuminating the scene and causing reflections and shadows. Most downstream programs use other shader strategies, the most common of which include Phong shaders, Blinn shaders, or Lambert shaders. Because the code and conceptual design of these shaders differs from that of the MakeHuman light-sphere shader, the user should be prepared to make some adjustments in the downstream program to get the final desired effect. Some MakeHuman assets also include Normal maps which the user will want to integrate into the downstream applications rendering.
When a MakeHuman material (for example, skin or clothing or eyelashes) is exported, it carries with it a limited amount of fundamental information for by the downstream program’s shaders. In an ideal world, the downstream program would import this raw information, correctly populate the variables in its shaders, and yield the same view of the human that was exported from MakeHuman. At present this does not typically happen, and the user must make some adjustments. This Wiki section is designed to help you negotiate through that process.
'''Spatial transformation: MakeHuman Coordinate System, MakeHuman Skeletons, and MakeHuman Scales'''
The MakeHuman viewport is oriented so that the positive end of the x-axis is to the right, the positive end of the y-axis it up, and the positive end of the z-axis is out through the front to the screen. Other CG programs can use other schemes, so it is essential to know the coordinate system used by the downstream target at export time, if you wish to minimize the adjustments you make after importing. The settings tab allows users to work in metric units of decimeters or imperial units of inches. Downstream programs vary in their de facto units, and again, it is generally a good idea to anticipate your needs at export time rather than trying to make adjustments during or after import. It is sometimes said that these programs have no default unit. To a degree this is true. However, the default grid pattern, assumptions of other humanoid producing programs, and assumptions of the “physics systems” will often work best with the export units specified in the table below:
TABLE HERE
'''Working with Rigs and Skeletons'''
Internally, MakeHuman uses its default skeleton as the basis of mesh vertex weighting for creating the poses available on the pose tab. This rig includes a special set of bones that can be used for driving facial expressions, but as of the current release (MakeHuman 1.1.x), there is not extensive support for inverse kinematics, and animation must be done downstream in the production pipeline. Historically, MakeHuman has had close ties to Blender, but the ultimate development goal is to provide strong generic support for all the major tools used in the industry, and with MakeHuman 1.1.x, substantial progress has been made by providing weighted skeletons suited for standard use in various downstream applications. For the most part, the name of the most appropriate rig will be clearly associated with the target downstream application, but the tag filters on the Pose/Animate | skeleton tab are intended to help choose a rig suited more generally to a specific purpose like motion capture integration, facial animation, or gaming applications. MakeHuman is designed to provide the user with maximum flexibility at creation time. To provide skeletons that work perfectly with every conceivable variation of the sliders is a laudable but elusive goal. That said, the user should get excellent results with the current approach, but the user should be prepared to make some minor tweaks to skeletons and weights downstream, particularly with extreme character dimensions or extreme poses.
'''MakeHuman Assets with transparency'''
In CG art, materials for mesh objects are frequently created by shaders that use various types of image maps to provide some of the information for determining the color, transparency, and light behavior on the surface of mesh objects. These image maps are referred to as textures. MakeHuman has textured materials available for the body (including proxy topologies), eyes, eyebrows, eyelashes, tongue, teeth, and hair. During export, these textures need to made available to the program that will be importing the MakeHuman output. Two aspects of this process need to be understood by the MakeHuman user: 1) how textures are saved; and 2) how transparency is handled.
There are two possible standards for storing texture assets upon export. They can either be embedded in an exported file, or they can be saved to a folder as named images with reference to the location of those files in the exported file. At present, MakeHuman uses the latter approach when exporting material textures. Following the export process, MakeHuman exports will be located in ~/makehuman/v1/exports/, and the texture images will be located in a corresponding subfolder ~/makehuman/v1/exports/textures. The tilde symbol indicates your user drive and home document directory. [For example, on Windows Vista and later, this typically would be: C:/Users/%USERNAME%/Documents/makehuman/v1/exports and a textures subfolder, where %USERNAME% is replaced by your username.]
Transparency is used in 3D art to let a viewer see through a mesh object to experience the color, reflections and lighting behind that object. MakeHuman uses transparency with textures for the eyes, eyebrows, eyelashes, and hair. This allows complex real world geometry to be represented by much simpler quasi-planar objects. For example, the hairs of the eyebrows are painted onto a flat surface with transparent spaces in between the painted hairs rather than creating tiny mesh objects for each of the 250-1000 individual hairs. CG programs can indicate which regions of the eyebrow should be transparent either by using a separate image where blackness indicates transparent and whiteness indicates opacity. Grayness is used to represent partial transparency. An alternative approach to representing transparency is to use an image format like .tga or .png which has a one byte channel, called an alpha channel, for just this purpose. Again, values near zero (black) typically represent “completely transparent” and values near 255 (white) typically represent “completely opaque”. MakeHuman represents the transparent regions of its assets using the alpha channel method and the .png format for textures. Unfortunately, importers for filmbox (FBX) and collada formats (DAE) do not automatically extract the transparency information provided by MakeHuman, or more specifically, they do not provide it to their shaders as anticipated. This is not just a MakeHuman problem but reflects multiple ways of handling transparency and alpha channels within the industry. Notably, exporting and reimporting assets with alpha channel transparency into the very same program fails with Blender, 3DSMax, and Maya for FBX, and where available, DAE formats. This forces the MakeHuman user to understand how to overcome this limitation in his favorite downstream application. Some introductory help will be provided for common applications later in this document.
There is one additional aspect of using transparency to make a single, simple mesh represent multiple small objects like eyebrows, and that is the issue of shadows. Lighting systems in 3D worlds creates a simulation of reality by making shadows appear on mesh objects in places you would expect to see them in the real world and with the soft edges you would expect to see in the real world. Shadows are a function of both the light source, the object blocking that light, and the objects receiving the reflected and refracted light from other objects. For objects that have transparency, like MakeHuman’s eyes, eyelashes, eyebrows, and hair, shadows should only be cast by the opaque portion of the texture and not by the transparent portions of the texture. The handling of shadows differs considerably from program to program, and objects with alpha channel transparency can need some special handling to accommodate these differences. This handling is not just about the assets with alpha map transparency, themselves. Sometimes it is necessary to set parameters to explicitly tell other objects like the MakeHuman body to not display shadows from the transparent regions of the eyebrows but to show shadows from the opaque hairs of the eyebrows. Shadows of transparently mapped assets will be addressed further in subsequent sections (where information is available).
==Illustrating the Export Process for Subsequent Import==
For the purposes of illustration we will take a straight forward MakeHuman character that has been given a skeleton, a pose, a skin material, clothing, eyes, eyelashes, eyebrows, hair, tongue and teeth. We will then export it for import into a number of popular downstream applications. For each application, our goal will be to get the character to look similar to its original look in MakeHuman. We will pay particular attention to the head and face because this is the area of greatest difficulty for dealing with transparency and shadows. The character has the default skeleton and has been set in the T-pose which is a common starting pose for animation-based work. The image we will be exporting looks like this in MakeHuman:
[[File:ImpExp-001.png]]
'''Figure 1.''' MakeHuman character as viewed from within MakeHuman prior to export.
In subsequent sections, we will discuss the steps needed to reproduce this look after importing into a downstream program.
==Moving Assets into Autodesk Maya==
We will use the file created in the “Illustrating the Export Process for Subsequent Import” section.
The FBX export settings used for Maya import should include setting the scale units to centimeters on export. Maya can import either ASCII or binary FBX files, so either type of export can be used for MakeHuman export. <nowiki>[RWB Note: as of this writing there are still some issues with direct FBX binary export, but those are expected to be repaired going forward]</nowiki>. By default the exported file will be found in ~/makehuman/v1/exports/ (where ~ is the user home directory).
'''Importing and Initial Setup'''
When the file is initially imported into Maya it looks like this:
[[File:ImpExp03.png]]
<CENTER>'''Figure 1'''</CENTER>
The only color in the viewport is the shoes which had a simple diffuse material which was not associated a texture. By clicking the textured icon at the top of the viewport, the viewport shows a preview of how the rendered, textured image would appear:
[[File:ImpExp04.png]]
<CENTER>'''Figure 2'''</CENTER>
Holding down Alt and scrolling with the middle mouse wheel allows us to zoom in and see the problems with the imported eyes, eyelashes, eyebrows, and possibly the hair:
[[File:ImpExp06.png]]
<CENTER>'''Figure 3'''</CENTER>
The thin lines on the face are an artifact of having included the facial rig by choosing the default skeleton. The process of fixing the '''eyes, eyelashes, eyebrows, and hair''' is the same in each case. We must tell Maya to use transparency from the corresponding alpha channel when rendering the corresponding mesh. It can be hard to select the facial mesh objects in perspective view so it is advisable to go into orthographic front view. One way to do this is with the panel menu just above the viewport.
[[File:ImpExp07.png]]
<CENTER>'''Figure 4'''</CENTER>
'''Basic Repair of Eye Transparency'''
Once in front view, left click to select the eye meshes, and perform the following steps:
[[File:ImpExp08.png]]
<CENTER>'''Figure 5'''</CENTER>
1. In the attribute editor on the right side of the screen, use the right arrow key to make sure the right-most tab is visible and click it to show the corresponding attributes.
[[File:ImpExp09.png]]
<CENTER>'''Figure 6'''</CENTER>
2. In the phong shader section, open the Common Material Attributes section and click on the checkered button to the right of transparency.
[[File:ImpExp10.png]]
<CENTER>'''Figure 7'''</CENTER>
3. In the Create Render Node dialog box that pops up, click on file.
[[File:ImpExp11.png]]
<CENTER>'''Figure 8'''</CENTER>
4. The checkered button next to transparency (see Figure 7) turns into an arrow, [[File:ImpExp12.png]] which you can click to allow the attribute editor to locate the texture map for your eyes. In our example, this texture is called blue_eyes.png. You navigate to this file by left clicking on the yellow folder file attributes section as shown in the image below:
[[File:ImpExp13.png]]
<CENTER>'''Figure 9'''</CENTER>
5. This step for transparency will probably will NOT be needed if you import straight from MakeHuman, but it may be needed if you do intermediate work in another program like 3DSMax. Open the color balance section on the same file1 tab of the attribute editor and verify that “Alpha is Luminance” is unchecked (Figure 10 below). Uncheck it if it is checked.
[[File:ImpExp14.png]]
<CENTER>'''Figure 10'''</CENTER>
The eyes in our image now look like this:
[[File:ImpExp15.png]]
<CENTER>'''Figure 11'''</CENTER>
----
'''Repeat for other Transparent Assets'''
You need to '''repeat steps 1-5''' after selecting the '''''eyebrows''''' in the viewport, after selecting the '''''eyelashes''''' in the viewport, and after selecting the '''''hair''''' in the viewport. When we finished these steps on each of the assets of our test model, the face is a nice approximation of what we started with in MakeHuman and looks like this:
[[File:ImpExp16.png]]
<CENTER>'''Figure 12'''</CENTER>
----
'''Raytrace Shadows'''
Depending on the lighting you are using in Maya, you might have one additional adjustment to make. To avoid transparency shadows, it is necessary to return to the phong section of the attribute editor by left clicking on the eyes in the viewport. In the phong shader section, open the raytrace options panel and move the shadow attenuation slider from its default of 0.5 to zero.
[[File:ImpExp18.png]]
<CENTER>'''Figure 13'''</CENTER>
At this point the MakeHuman model can be saved in standard Maya .mb binary file and easily brought back into Maya.
'''Re-importing "Fixed MakeHuman Assets" from Maya after saving in FBX format'''
If the file is exported from Maya as an FBX file and read back into Maya, it imports with partially transparent assets and will look like this:
[[File:ImpExp20.png]]
<CENTER>'''Figure 14'''</CENTER>
You may also see partially transparent assets if your asset pipeline involves an intermediate program between MakeHuman and Maya and you use FBX to import the workflow into Maya. To once again restore it to its intended look, '''take the eyes, eyelashes, eyebrows, and hair, and fix each as follows:'''
1. Select the asset by left clicking on it, then click the right most tab in the asset editor panel on the right side of the screen. Click the small arrow to the right of the transparency slider.
2. On the file tab that appears, open the Color Balance section and uncheck alpha Is Luminance.
3. It may also be necessary to click each of the four assets and under the Raytrace Options section of the Phong shader in the Attributes editor, change the shadow attenuation slide back to zero (refer to figure 13).
[[File:ImpExp22.png]]
<CENTER>'''Figure 15'''</CENTER>
When you have re-done these steps for each of the four transparent MakeHuman assets the character should once again look like it did in MakeHuman.
'''Adopting MakeHuman Skeletons to Maya'''
TO BE WRITTEN
==Moving Assets into Autodesk 3DSMax==
This subsection describes the restoration and use of MakeHuman's skeletal transparency and skeletal assets after importing in Autodesk 3DSMax.
>
<LI>Import process</LI>
<LI>Handling or Transparency after import</LI>
<LI>Handling of Skelton and Rigging after import</LI>
==Moving Assets into Blender==
==Moving Assets into Unreal Engine 4==
==Moving Assets into Unity Game Engine==
==Moving Assets into Google Sketchup==
==Preparing assets for use with Second Life==
b2ac463d1d90abaf63d7bb54ea4fcc4c123c7f4c
234
233
2015-07-25T17:12:24Z
Robbaer
12
/* Moving Assets into Autodesk Maya */
wikitext
text/x-wiki
== Summary ==
More often than not MakeHuman users will want to move their creation into another program to continue the creation process. This section provides information on how to achieve this for common target programs. The Background and Export Example section provides some background that are common to all workflows. It is not essential to read the introduction before going straight to the program of interest, but doing so might help you understand ''why'' certain steps work or are necessary. In many cases there can be more than one way to accomplish the same thing. The method described here may not be optimal for your situation, but it should help get you started.
==Background and Technical Considerations==
'''Introduction'''
Many MakeHuman users will use the work they create in MakeHuman as a component of a project completed in an external, downstream application. The most common target applications are 3D graphics applications like Blender, Autodesk 3DSMax, and Autodesk Maya or gaming engines like Unity Engine or Unreal Engine 4 or Virtual Worlds like Second Life. In some cases, the MakeHuman user will be interested in moving just the mesh. In other cases, the user will be interested in moving a complete, posed, skeletonized character to the downstream application. The purpose of this document is to discuss the basic process of moving a finished MakeHuman asset to a downstream program and producing a reasonable facsimile of its MakeHuman appearance in the downstream application. It is important to recognize that because each application has its own way of representing 3D assets, and because each export format has its own set of idiosyncrasies, there will be adjustments and approximations in the asset transfer process.
'''Format Considerations'''
In an effort to provide the broadest latitude for user workflows, the MakeHuman development team is directing it major export support toward Autodesk FBX format and Khronos Collada format. In addition, Blender users have the option to install the [https://bitbucket.org/ThomasMakeHuman/mhx2-makehuman-exchange independently developed .mhx2 tools], which are developed and maintained by Thomas Larson, independent of MakeHuman itself. Collada is a text-based format and is an open standard, but implementation of the standard is not as consistent as might be hoped. FBX is a proprietary standard developed by Autodesk and supported through a software development kit (FBX SDK) written in C++ and a Python FBX scripting template. The FBX standard is periodically updated by Autodesk and can be saved as either an ASCII or a binary format. Downstream programs may make assumptions about the FBX version being imported, and may limit users to either binary or ASCII importing. Surprisingly, CG assets exported from various programs as collada and FBX do not make it back into the same program as a round-trip without changes to some components of the scene. For example, this is true of FBX format in both 3DSMax and Maya for MakeHumanassets. It is also true for Blender with both FBX and collada format for MakeHumanassets. In this document, we will attempt to provide some support for dealing with this type of surprise.
'''MakeHuman Shader and Asset Rendering'''
A “shader” is computer code that translates digital information into a properly rendered image on the computer screen. Different algorithms use different methods of constructing such a display. By default in MakeHuman, the viewport lighting is handled by the built-in light-sphere shader. The light-sphere shader takes advantage of support for the openGL standard provided by today’s graphics cards. What the viewer sees on the screen depends not only on the color of assets, like skin and clothing, but also on the nature of the lights illuminating the scene and causing reflections and shadows. Most downstream programs use other shader strategies, the most common of which include Phong shaders, Blinn shaders, or Lambert shaders. Because the code and conceptual design of these shaders differs from that of the MakeHuman light-sphere shader, the user should be prepared to make some adjustments in the downstream program to get the final desired effect. Some MakeHuman assets also include Normal maps which the user will want to integrate into the downstream applications rendering.
When a MakeHuman material (for example, skin or clothing or eyelashes) is exported, it carries with it a limited amount of fundamental information for by the downstream program’s shaders. In an ideal world, the downstream program would import this raw information, correctly populate the variables in its shaders, and yield the same view of the human that was exported from MakeHuman. At present this does not typically happen, and the user must make some adjustments. This Wiki section is designed to help you negotiate through that process.
'''Spatial transformation: MakeHuman Coordinate System, MakeHuman Skeletons, and MakeHuman Scales'''
The MakeHuman viewport is oriented so that the positive end of the x-axis is to the right, the positive end of the y-axis it up, and the positive end of the z-axis is out through the front to the screen. Other CG programs can use other schemes, so it is essential to know the coordinate system used by the downstream target at export time, if you wish to minimize the adjustments you make after importing. The settings tab allows users to work in metric units of decimeters or imperial units of inches. Downstream programs vary in their de facto units, and again, it is generally a good idea to anticipate your needs at export time rather than trying to make adjustments during or after import. It is sometimes said that these programs have no default unit. To a degree this is true. However, the default grid pattern, assumptions of other humanoid producing programs, and assumptions of the “physics systems” will often work best with the export units specified in the table below:
TABLE HERE
'''Working with Rigs and Skeletons'''
Internally, MakeHuman uses its default skeleton as the basis of mesh vertex weighting for creating the poses available on the pose tab. This rig includes a special set of bones that can be used for driving facial expressions, but as of the current release (MakeHuman 1.1.x), there is not extensive support for inverse kinematics, and animation must be done downstream in the production pipeline. Historically, MakeHuman has had close ties to Blender, but the ultimate development goal is to provide strong generic support for all the major tools used in the industry, and with MakeHuman 1.1.x, substantial progress has been made by providing weighted skeletons suited for standard use in various downstream applications. For the most part, the name of the most appropriate rig will be clearly associated with the target downstream application, but the tag filters on the Pose/Animate | skeleton tab are intended to help choose a rig suited more generally to a specific purpose like motion capture integration, facial animation, or gaming applications. MakeHuman is designed to provide the user with maximum flexibility at creation time. To provide skeletons that work perfectly with every conceivable variation of the sliders is a laudable but elusive goal. That said, the user should get excellent results with the current approach, but the user should be prepared to make some minor tweaks to skeletons and weights downstream, particularly with extreme character dimensions or extreme poses.
'''MakeHuman Assets with transparency'''
In CG art, materials for mesh objects are frequently created by shaders that use various types of image maps to provide some of the information for determining the color, transparency, and light behavior on the surface of mesh objects. These image maps are referred to as textures. MakeHuman has textured materials available for the body (including proxy topologies), eyes, eyebrows, eyelashes, tongue, teeth, and hair. During export, these textures need to made available to the program that will be importing the MakeHuman output. Two aspects of this process need to be understood by the MakeHuman user: 1) how textures are saved; and 2) how transparency is handled.
There are two possible standards for storing texture assets upon export. They can either be embedded in an exported file, or they can be saved to a folder as named images with reference to the location of those files in the exported file. At present, MakeHuman uses the latter approach when exporting material textures. Following the export process, MakeHuman exports will be located in ~/makehuman/v1/exports/, and the texture images will be located in a corresponding subfolder ~/makehuman/v1/exports/textures. The tilde symbol indicates your user drive and home document directory. [For example, on Windows Vista and later, this typically would be: C:/Users/%USERNAME%/Documents/makehuman/v1/exports and a textures subfolder, where %USERNAME% is replaced by your username.]
Transparency is used in 3D art to let a viewer see through a mesh object to experience the color, reflections and lighting behind that object. MakeHuman uses transparency with textures for the eyes, eyebrows, eyelashes, and hair. This allows complex real world geometry to be represented by much simpler quasi-planar objects. For example, the hairs of the eyebrows are painted onto a flat surface with transparent spaces in between the painted hairs rather than creating tiny mesh objects for each of the 250-1000 individual hairs. CG programs can indicate which regions of the eyebrow should be transparent either by using a separate image where blackness indicates transparent and whiteness indicates opacity. Grayness is used to represent partial transparency. An alternative approach to representing transparency is to use an image format like .tga or .png which has a one byte channel, called an alpha channel, for just this purpose. Again, values near zero (black) typically represent “completely transparent” and values near 255 (white) typically represent “completely opaque”. MakeHuman represents the transparent regions of its assets using the alpha channel method and the .png format for textures. Unfortunately, importers for filmbox (FBX) and collada formats (DAE) do not automatically extract the transparency information provided by MakeHuman, or more specifically, they do not provide it to their shaders as anticipated. This is not just a MakeHuman problem but reflects multiple ways of handling transparency and alpha channels within the industry. Notably, exporting and reimporting assets with alpha channel transparency into the very same program fails with Blender, 3DSMax, and Maya for FBX, and where available, DAE formats. This forces the MakeHuman user to understand how to overcome this limitation in his favorite downstream application. Some introductory help will be provided for common applications later in this document.
There is one additional aspect of using transparency to make a single, simple mesh represent multiple small objects like eyebrows, and that is the issue of shadows. Lighting systems in 3D worlds creates a simulation of reality by making shadows appear on mesh objects in places you would expect to see them in the real world and with the soft edges you would expect to see in the real world. Shadows are a function of both the light source, the object blocking that light, and the objects receiving the reflected and refracted light from other objects. For objects that have transparency, like MakeHuman’s eyes, eyelashes, eyebrows, and hair, shadows should only be cast by the opaque portion of the texture and not by the transparent portions of the texture. The handling of shadows differs considerably from program to program, and objects with alpha channel transparency can need some special handling to accommodate these differences. This handling is not just about the assets with alpha map transparency, themselves. Sometimes it is necessary to set parameters to explicitly tell other objects like the MakeHuman body to not display shadows from the transparent regions of the eyebrows but to show shadows from the opaque hairs of the eyebrows. Shadows of transparently mapped assets will be addressed further in subsequent sections (where information is available).
==Illustrating the Export Process for Subsequent Import==
For the purposes of illustration we will take a straight forward MakeHuman character that has been given a skeleton, a pose, a skin material, clothing, eyes, eyelashes, eyebrows, hair, tongue and teeth. We will then export it for import into a number of popular downstream applications. For each application, our goal will be to get the character to look similar to its original look in MakeHuman. We will pay particular attention to the head and face because this is the area of greatest difficulty for dealing with transparency and shadows. The character has the default skeleton and has been set in the T-pose which is a common starting pose for animation-based work. The image we will be exporting looks like this in MakeHuman:
[[File:ImpExp-001.png]]
'''Figure 1.''' MakeHuman character as viewed from within MakeHuman prior to export.
In subsequent sections, we will discuss the steps needed to reproduce this look after importing into a downstream program.
==Moving Assets into Autodesk Maya==
We will use the file created in the “Illustrating the Export Process for Subsequent Import” section.
The FBX export settings used for Maya import should include setting the scale units to centimeters on export. Maya can import either ASCII or binary FBX files, so either type of export can be used for MakeHuman export. <nowiki>[RWB Note: as of this writing there are still some issues with direct FBX binary export, but those are expected to be repaired going forward]</nowiki>. By default the exported file will be found in ~/makehuman/v1/exports/ (where ~ is the user home directory).
'''Importing and Initial Setup'''
When the file is initially imported into Maya it looks like this:
[[File:ImpExp03.png]]
<CENTER>'''Figure 1'''</CENTER>
The only color in the viewport is the shoes which had a simple diffuse material which was not associated a texture. By clicking the textured icon at the top of the viewport, the viewport shows a preview of how the rendered, textured image would appear:
[[File:ImpExp04.png]]
<CENTER>'''Figure 2'''</CENTER>
Holding down Alt and scrolling with the middle mouse wheel allows us to zoom in and see the problems with the imported eyes, eyelashes, eyebrows, and possibly the hair:
[[File:ImpExp06.png]]
<CENTER>'''Figure 3'''</CENTER>
The thin lines on the face are an artifact of having included the facial rig by choosing the default skeleton. The process of fixing the '''eyes, eyelashes, eyebrows, and hair''' is the same in each case. We must tell Maya to use transparency from the corresponding alpha channel when rendering the corresponding mesh. It can be hard to select the facial mesh objects in perspective view so it is advisable to go into orthographic front view. One way to do this is with the panel menu just above the viewport.
[[File:ImpExp07.png]]
<CENTER>'''Figure 4'''</CENTER>
'''Basic Repair of Eye Transparency'''
Once in front view, left click to select the eye meshes, and perform the following steps:
[[File:ImpExp08.png]]
<CENTER>'''Figure 5'''</CENTER>
1. In the attribute editor on the right side of the screen, use the right arrow key to make sure the right-most tab is visible and click it to show the corresponding attributes.
[[File:ImpExp09.png]]
<CENTER>'''Figure 6'''</CENTER>
2. In the phong shader section, open the Common Material Attributes section and click on the checkered button to the right of transparency.
[[File:ImpExp10.png]]
<CENTER>'''Figure 7'''</CENTER>
3. In the Create Render Node dialog box that pops up, click on file.
[[File:ImpExp11.png]]
<CENTER>'''Figure 8'''</CENTER>
4. The checkered button next to transparency (see Figure 7) turns into an arrow, [[File:ImpExp12.png]] which you can click to allow the attribute editor to locate the texture map for your eyes. In our example, this texture is called blue_eyes.png. You navigate to this file by left clicking on the yellow folder file attributes section as shown in the image below:
[[File:ImpExp13.png]]
<CENTER>'''Figure 9'''</CENTER>
5. This step for transparency will probably will NOT be needed if you import straight from MakeHuman, but it may be needed if you do intermediate work in another program like 3DSMax. Open the color balance section on the same file1 tab of the attribute editor and verify that “Alpha is Luminance” is unchecked (Figure 10 below). Uncheck it if it is checked.
[[File:ImpExp14.png]]
<CENTER>'''Figure 10'''</CENTER>
The eyes in our image now look like this:
[[File:ImpExp15.png]]
<CENTER>'''Figure 11'''</CENTER>
----
'''Repeat for other Transparent Assets'''
You need to '''repeat steps 1-5''' after selecting the '''''eyebrows''''' in the viewport, after selecting the '''''eyelashes''''' in the viewport, and after selecting the '''''hair''''' in the viewport. When we finished these steps on each of the assets of our test model, the face is a nice approximation of what we started with in MakeHuman and looks like this:
[[File:ImpExp16.png]]
<CENTER>'''Figure 12'''</CENTER>
----
'''Raytrace Shadows'''
Depending on the lighting you are using in Maya, you might have one additional adjustment to make. To avoid transparency shadows, it is necessary to return to the phong section of the attribute editor by left clicking on the eyes in the viewport. In the phong shader section, open the raytrace options panel and move the shadow attenuation slider from its default of 0.5 to zero.
[[File:ImpExp18.png]]
<CENTER>'''Figure 13'''</CENTER>
At this point the MakeHuman model can be saved in standard Maya .mb binary file and easily brought back into Maya.
'''Re-importing "Fixed MakeHuman Assets" from Maya after saving in FBX format'''
If the file is exported from Maya as an FBX file and read back into Maya, it imports with partially transparent assets and will look like this:
[[File:ImpExp20.png]]
<CENTER>'''Figure 14'''</CENTER>
You may also see partially transparent assets if your asset pipeline involves an intermediate program between MakeHuman and Maya and you use FBX to import the workflow into Maya. To once again restore it to its intended look, '''take the eyes, eyelashes, eyebrows, and hair, and fix each as follows:'''
1. Select the asset by left clicking on it, then click the right most tab in the asset editor panel on the right side of the screen. Click the small arrow to the right of the transparency slider.
2. On the file tab that appears, open the Color Balance section and uncheck alpha Is Luminance.
3. It may also be necessary to click each of the four assets and under the Raytrace Options section of the Phong shader in the Attributes editor, change the shadow attenuation slide back to zero (refer to figure 13).
[[File:ImpExp22.png]]
<CENTER>'''Figure 15'''</CENTER>
When you have re-done these steps for each of the four transparent MakeHuman assets the character should once again look like it did in MakeHuman.
'''Adopting MakeHuman Skeletons to Maya'''
TO BE WRITTEN
==Moving Assets into Autodesk 3DSMax==
This subsection describes the restoration and use of MakeHuman's skeletal transparency and skeletal assets after importing in Autodesk 3DSMax.
>
<LI>Import process</LI>
<LI>Handling or Transparency after import</LI>
<LI>Handling of Skelton and Rigging after import</LI>
==Moving Assets into Blender==
==Moving Assets into Unreal Engine 4==
==Moving Assets into Unity Game Engine==
==Moving Assets into Google Sketchup==
==Preparing assets for use with Second Life==
f85badc8608c30d4a0a7dbd4f5ecf03e518d6ba0
233
232
2015-07-25T17:10:28Z
Robbaer
12
/* Moving Assets into Autodesk Maya */
wikitext
text/x-wiki
== Summary ==
More often than not MakeHuman users will want to move their creation into another program to continue the creation process. This section provides information on how to achieve this for common target programs. The Background and Export Example section provides some background that are common to all workflows. It is not essential to read the introduction before going straight to the program of interest, but doing so might help you understand ''why'' certain steps work or are necessary. In many cases there can be more than one way to accomplish the same thing. The method described here may not be optimal for your situation, but it should help get you started.
==Background and Technical Considerations==
'''Introduction'''
Many MakeHuman users will use the work they create in MakeHuman as a component of a project completed in an external, downstream application. The most common target applications are 3D graphics applications like Blender, Autodesk 3DSMax, and Autodesk Maya or gaming engines like Unity Engine or Unreal Engine 4 or Virtual Worlds like Second Life. In some cases, the MakeHuman user will be interested in moving just the mesh. In other cases, the user will be interested in moving a complete, posed, skeletonized character to the downstream application. The purpose of this document is to discuss the basic process of moving a finished MakeHuman asset to a downstream program and producing a reasonable facsimile of its MakeHuman appearance in the downstream application. It is important to recognize that because each application has its own way of representing 3D assets, and because each export format has its own set of idiosyncrasies, there will be adjustments and approximations in the asset transfer process.
'''Format Considerations'''
In an effort to provide the broadest latitude for user workflows, the MakeHuman development team is directing it major export support toward Autodesk FBX format and Khronos Collada format. In addition, Blender users have the option to install the [https://bitbucket.org/ThomasMakeHuman/mhx2-makehuman-exchange independently developed .mhx2 tools], which are developed and maintained by Thomas Larson, independent of MakeHuman itself. Collada is a text-based format and is an open standard, but implementation of the standard is not as consistent as might be hoped. FBX is a proprietary standard developed by Autodesk and supported through a software development kit (FBX SDK) written in C++ and a Python FBX scripting template. The FBX standard is periodically updated by Autodesk and can be saved as either an ASCII or a binary format. Downstream programs may make assumptions about the FBX version being imported, and may limit users to either binary or ASCII importing. Surprisingly, CG assets exported from various programs as collada and FBX do not make it back into the same program as a round-trip without changes to some components of the scene. For example, this is true of FBX format in both 3DSMax and Maya for MakeHumanassets. It is also true for Blender with both FBX and collada format for MakeHumanassets. In this document, we will attempt to provide some support for dealing with this type of surprise.
'''MakeHuman Shader and Asset Rendering'''
A “shader” is computer code that translates digital information into a properly rendered image on the computer screen. Different algorithms use different methods of constructing such a display. By default in MakeHuman, the viewport lighting is handled by the built-in light-sphere shader. The light-sphere shader takes advantage of support for the openGL standard provided by today’s graphics cards. What the viewer sees on the screen depends not only on the color of assets, like skin and clothing, but also on the nature of the lights illuminating the scene and causing reflections and shadows. Most downstream programs use other shader strategies, the most common of which include Phong shaders, Blinn shaders, or Lambert shaders. Because the code and conceptual design of these shaders differs from that of the MakeHuman light-sphere shader, the user should be prepared to make some adjustments in the downstream program to get the final desired effect. Some MakeHuman assets also include Normal maps which the user will want to integrate into the downstream applications rendering.
When a MakeHuman material (for example, skin or clothing or eyelashes) is exported, it carries with it a limited amount of fundamental information for by the downstream program’s shaders. In an ideal world, the downstream program would import this raw information, correctly populate the variables in its shaders, and yield the same view of the human that was exported from MakeHuman. At present this does not typically happen, and the user must make some adjustments. This Wiki section is designed to help you negotiate through that process.
'''Spatial transformation: MakeHuman Coordinate System, MakeHuman Skeletons, and MakeHuman Scales'''
The MakeHuman viewport is oriented so that the positive end of the x-axis is to the right, the positive end of the y-axis it up, and the positive end of the z-axis is out through the front to the screen. Other CG programs can use other schemes, so it is essential to know the coordinate system used by the downstream target at export time, if you wish to minimize the adjustments you make after importing. The settings tab allows users to work in metric units of decimeters or imperial units of inches. Downstream programs vary in their de facto units, and again, it is generally a good idea to anticipate your needs at export time rather than trying to make adjustments during or after import. It is sometimes said that these programs have no default unit. To a degree this is true. However, the default grid pattern, assumptions of other humanoid producing programs, and assumptions of the “physics systems” will often work best with the export units specified in the table below:
TABLE HERE
'''Working with Rigs and Skeletons'''
Internally, MakeHuman uses its default skeleton as the basis of mesh vertex weighting for creating the poses available on the pose tab. This rig includes a special set of bones that can be used for driving facial expressions, but as of the current release (MakeHuman 1.1.x), there is not extensive support for inverse kinematics, and animation must be done downstream in the production pipeline. Historically, MakeHuman has had close ties to Blender, but the ultimate development goal is to provide strong generic support for all the major tools used in the industry, and with MakeHuman 1.1.x, substantial progress has been made by providing weighted skeletons suited for standard use in various downstream applications. For the most part, the name of the most appropriate rig will be clearly associated with the target downstream application, but the tag filters on the Pose/Animate | skeleton tab are intended to help choose a rig suited more generally to a specific purpose like motion capture integration, facial animation, or gaming applications. MakeHuman is designed to provide the user with maximum flexibility at creation time. To provide skeletons that work perfectly with every conceivable variation of the sliders is a laudable but elusive goal. That said, the user should get excellent results with the current approach, but the user should be prepared to make some minor tweaks to skeletons and weights downstream, particularly with extreme character dimensions or extreme poses.
'''MakeHuman Assets with transparency'''
In CG art, materials for mesh objects are frequently created by shaders that use various types of image maps to provide some of the information for determining the color, transparency, and light behavior on the surface of mesh objects. These image maps are referred to as textures. MakeHuman has textured materials available for the body (including proxy topologies), eyes, eyebrows, eyelashes, tongue, teeth, and hair. During export, these textures need to made available to the program that will be importing the MakeHuman output. Two aspects of this process need to be understood by the MakeHuman user: 1) how textures are saved; and 2) how transparency is handled.
There are two possible standards for storing texture assets upon export. They can either be embedded in an exported file, or they can be saved to a folder as named images with reference to the location of those files in the exported file. At present, MakeHuman uses the latter approach when exporting material textures. Following the export process, MakeHuman exports will be located in ~/makehuman/v1/exports/, and the texture images will be located in a corresponding subfolder ~/makehuman/v1/exports/textures. The tilde symbol indicates your user drive and home document directory. [For example, on Windows Vista and later, this typically would be: C:/Users/%USERNAME%/Documents/makehuman/v1/exports and a textures subfolder, where %USERNAME% is replaced by your username.]
Transparency is used in 3D art to let a viewer see through a mesh object to experience the color, reflections and lighting behind that object. MakeHuman uses transparency with textures for the eyes, eyebrows, eyelashes, and hair. This allows complex real world geometry to be represented by much simpler quasi-planar objects. For example, the hairs of the eyebrows are painted onto a flat surface with transparent spaces in between the painted hairs rather than creating tiny mesh objects for each of the 250-1000 individual hairs. CG programs can indicate which regions of the eyebrow should be transparent either by using a separate image where blackness indicates transparent and whiteness indicates opacity. Grayness is used to represent partial transparency. An alternative approach to representing transparency is to use an image format like .tga or .png which has a one byte channel, called an alpha channel, for just this purpose. Again, values near zero (black) typically represent “completely transparent” and values near 255 (white) typically represent “completely opaque”. MakeHuman represents the transparent regions of its assets using the alpha channel method and the .png format for textures. Unfortunately, importers for filmbox (FBX) and collada formats (DAE) do not automatically extract the transparency information provided by MakeHuman, or more specifically, they do not provide it to their shaders as anticipated. This is not just a MakeHuman problem but reflects multiple ways of handling transparency and alpha channels within the industry. Notably, exporting and reimporting assets with alpha channel transparency into the very same program fails with Blender, 3DSMax, and Maya for FBX, and where available, DAE formats. This forces the MakeHuman user to understand how to overcome this limitation in his favorite downstream application. Some introductory help will be provided for common applications later in this document.
There is one additional aspect of using transparency to make a single, simple mesh represent multiple small objects like eyebrows, and that is the issue of shadows. Lighting systems in 3D worlds creates a simulation of reality by making shadows appear on mesh objects in places you would expect to see them in the real world and with the soft edges you would expect to see in the real world. Shadows are a function of both the light source, the object blocking that light, and the objects receiving the reflected and refracted light from other objects. For objects that have transparency, like MakeHuman’s eyes, eyelashes, eyebrows, and hair, shadows should only be cast by the opaque portion of the texture and not by the transparent portions of the texture. The handling of shadows differs considerably from program to program, and objects with alpha channel transparency can need some special handling to accommodate these differences. This handling is not just about the assets with alpha map transparency, themselves. Sometimes it is necessary to set parameters to explicitly tell other objects like the MakeHuman body to not display shadows from the transparent regions of the eyebrows but to show shadows from the opaque hairs of the eyebrows. Shadows of transparently mapped assets will be addressed further in subsequent sections (where information is available).
==Illustrating the Export Process for Subsequent Import==
For the purposes of illustration we will take a straight forward MakeHuman character that has been given a skeleton, a pose, a skin material, clothing, eyes, eyelashes, eyebrows, hair, tongue and teeth. We will then export it for import into a number of popular downstream applications. For each application, our goal will be to get the character to look similar to its original look in MakeHuman. We will pay particular attention to the head and face because this is the area of greatest difficulty for dealing with transparency and shadows. The character has the default skeleton and has been set in the T-pose which is a common starting pose for animation-based work. The image we will be exporting looks like this in MakeHuman:
[[File:ImpExp-001.png]]
'''Figure 1.''' MakeHuman character as viewed from within MakeHuman prior to export.
In subsequent sections, we will discuss the steps needed to reproduce this look after importing into a downstream program.
==Moving Assets into Autodesk Maya==
We will use the file created in the “Illustrating the Export Process for Subsequent Import” section.
The FBX export settings used for Maya import should include setting the scale units to centimeters on export. Maya can import either ASCII or binary FBX files, so either type of export can be used for MakeHuman export. <nowiki>[RWB Note: as of this writing there are still some issues with direct FBX binary export, but those are expected to be repaired going forward]</nowiki>. By default the exported file will be found in ~/makehuman/v1/exports/ (where ~ is the user home directory).
'''Importing and Initial Setup'''
When the file is initially imported into Maya it looks like this:
[[File:ImpExp03.png]]
<CENTER>'''Figure 1'''</CENTER>
The only color in the viewport is the shoes which had a simple diffuse material which was not associated a texture. By clicking the textured icon at the top of the viewport, the viewport shows a preview of how the rendered, textured image would appear:
[[File:ImpExp04.png]]
<CENTER>'''Figure 2'''</CENTER>
Holding down Alt and scrolling with the middle mouse wheel allows us to zoom in and see the problems with the imported eyes, eyelashes, eyebrows, and possibly the hair:
[[File:ImpExp06.png]]
<CENTER>'''Figure 3'''</CENTER>
The thin lines on the face are an artifact of having included the facial rig by choosing the default skeleton. The process of fixing the '''eyes, eyelashes, eyebrows, and hair''' is the same in each case. We must tell Maya to use transparency from the corresponding alpha channel when rendering the corresponding mesh. It can be hard to select the facial mesh objects in perspective view so it is advisable to go into orthographic front view. One way to do this is with the panel menu just above the viewport.
[[File:ImpExp07.png]]
<CENTER>'''Figure 4'''</CENTER>
'''Basic Repair of Eye Transparency'''
Once in front view, left click to select the eye meshes, and perform the following steps:
[[File:ImpExp08.png]]
<CENTER>'''Figure 5'''</CENTER>
1. In the attribute editor on the right side of the screen, use the right arrow key to make sure the right-most tab is visible and click it to show the corresponding attributes.
[[File:ImpExp09.png]]
<CENTER>'''Figure 6'''</CENTER>
2. In the phong shader section, open the Common Material Attributes section and click on the checkered button to the right of transparency.
[[File:ImpExp10.png]]
<CENTER>'''Figure 7'''</CENTER>
3. In the Create Render Node dialog box that pops up, click on file.
[[File:ImpExp11.png]]
<CENTER>'''Figure 8'''</CENTER>
4. The checkered button next to transparency (see Figure 7) turns into an arrow, [[File:ImpExp12.png]] which you can click to allow the attribute editor to locate the texture map for your eyes. In our example, this texture is called blue_eyes.png. You navigate to this file by left clicking on the yellow folder file attributes section as shown in the image below:
[[File:ImpExp13.png]]
<CENTER>'''Figure 9'''</CENTER>
5. This step for transparency will probably will NOT be needed if you import straight from MakeHuman, but it may be needed if you do intermediate work in another program like 3DSMax. Open the color balance section on the same file1 tab of the attribute editor and verify that “Alpha is Luminance” is unchecked (Figure 10 below). Uncheck it if it is checked.
[[File:ImpExp14.png]]
<CENTER>'''Figure 10'''</CENTER>
The eyes in our image now look like this:
[[File:ImpExp15.png]]
<CENTER>'''Figure 11'''</CENTER>
----
'''Repeat for other Transparent Assets'''
You need to '''repeat steps 1-5''' after selecting the '''''eyebrows''''' in the viewport, after selecting the '''''eyelashes''''' in the viewport, and after selecting the '''''hair''''' in the viewport. When we finished these steps on each of the assets of our test model, the face is a nice approximation of what we started with in MakeHuman and looks like this:
[[File:ImpExp16.png]]
<CENTER>'''Figure 12'''</CENTER>
----
'''Raytrace Shadows'''
Depending on the lighting you are using in Maya, you might have one additional adjustment to make. To avoid transparency shadows, it is necessary to return to the phong section of the attribute editor by left clicking on the eyes in the viewport. In the phong shader section, open the raytrace options panel and move the shadow attenuation slider from its default of 0.5 to zero.
[[File:ImpExp18.png]]
<CENTER>'''Figure 13'''</CENTER>
At this point the MakeHuman model can be saved in standard Maya .mb binary file and easily brought back into Maya.
'''Re-importing "Fixed MakeHuman Assets" from Maya after saving in FBX format'''
If the file is exported from Maya as an FBX file and read back into Maya, it imports with partially transparent assets and will look like this:
[[File:ImpExp20.png]]
<CENTER>'''Figure 14'''</CENTER>
You may also see partially transparent assets if your asset pipeline involves an intermediate program between MakeHuman and Maya and you use FBX to import the workflow into Maya. To once again restore it to its intended look, '''take the eyes, eyelashes, eyebrows, and hair, and fix each as follows:'''
1. Select the asset by left clicking on it, then click the right most tab in the asset editor panel on the right side of the screen. Click the small arrow to the right of the transparency slider.
2. On the file tab that appears, open the Color Balance section and uncheck alpha Is Luminance.
3. It may also be necessary to click each of the four assets and under the Raytrace Options section of the Phong shader in the Attributes editor, change the shadow attenuation slide back to zero (refer to figure 13).
[[File:ImpExp22.png]]
<CENTER>'''Figure 15'''<CENTER>
When you have re-done these steps for each of the four transparent MakeHuman assets the character should once again look like it did in MakeHuman.
'''Adopting MakeHuman Skeletons to Maya'''
TO BE WRITTEN
==Moving Assets into Autodesk 3DSMax==
This subsection describes the restoration and use of MakeHuman's skeletal transparency and skeletal assets after importing in Autodesk 3DSMax.
>
<LI>Import process</LI>
<LI>Handling or Transparency after import</LI>
<LI>Handling of Skelton and Rigging after import</LI>
==Moving Assets into Blender==
==Moving Assets into Unreal Engine 4==
==Moving Assets into Unity Game Engine==
==Moving Assets into Google Sketchup==
==Preparing assets for use with Second Life==
f3286c035523e69caae5443fe201fc48f8cd0582
232
231
2015-07-25T17:08:44Z
Robbaer
12
/* Moving Assets into Autodesk Maya */
wikitext
text/x-wiki
== Summary ==
More often than not MakeHuman users will want to move their creation into another program to continue the creation process. This section provides information on how to achieve this for common target programs. The Background and Export Example section provides some background that are common to all workflows. It is not essential to read the introduction before going straight to the program of interest, but doing so might help you understand ''why'' certain steps work or are necessary. In many cases there can be more than one way to accomplish the same thing. The method described here may not be optimal for your situation, but it should help get you started.
==Background and Technical Considerations==
'''Introduction'''
Many MakeHuman users will use the work they create in MakeHuman as a component of a project completed in an external, downstream application. The most common target applications are 3D graphics applications like Blender, Autodesk 3DSMax, and Autodesk Maya or gaming engines like Unity Engine or Unreal Engine 4 or Virtual Worlds like Second Life. In some cases, the MakeHuman user will be interested in moving just the mesh. In other cases, the user will be interested in moving a complete, posed, skeletonized character to the downstream application. The purpose of this document is to discuss the basic process of moving a finished MakeHuman asset to a downstream program and producing a reasonable facsimile of its MakeHuman appearance in the downstream application. It is important to recognize that because each application has its own way of representing 3D assets, and because each export format has its own set of idiosyncrasies, there will be adjustments and approximations in the asset transfer process.
'''Format Considerations'''
In an effort to provide the broadest latitude for user workflows, the MakeHuman development team is directing it major export support toward Autodesk FBX format and Khronos Collada format. In addition, Blender users have the option to install the [https://bitbucket.org/ThomasMakeHuman/mhx2-makehuman-exchange independently developed .mhx2 tools], which are developed and maintained by Thomas Larson, independent of MakeHuman itself. Collada is a text-based format and is an open standard, but implementation of the standard is not as consistent as might be hoped. FBX is a proprietary standard developed by Autodesk and supported through a software development kit (FBX SDK) written in C++ and a Python FBX scripting template. The FBX standard is periodically updated by Autodesk and can be saved as either an ASCII or a binary format. Downstream programs may make assumptions about the FBX version being imported, and may limit users to either binary or ASCII importing. Surprisingly, CG assets exported from various programs as collada and FBX do not make it back into the same program as a round-trip without changes to some components of the scene. For example, this is true of FBX format in both 3DSMax and Maya for MakeHumanassets. It is also true for Blender with both FBX and collada format for MakeHumanassets. In this document, we will attempt to provide some support for dealing with this type of surprise.
'''MakeHuman Shader and Asset Rendering'''
A “shader” is computer code that translates digital information into a properly rendered image on the computer screen. Different algorithms use different methods of constructing such a display. By default in MakeHuman, the viewport lighting is handled by the built-in light-sphere shader. The light-sphere shader takes advantage of support for the openGL standard provided by today’s graphics cards. What the viewer sees on the screen depends not only on the color of assets, like skin and clothing, but also on the nature of the lights illuminating the scene and causing reflections and shadows. Most downstream programs use other shader strategies, the most common of which include Phong shaders, Blinn shaders, or Lambert shaders. Because the code and conceptual design of these shaders differs from that of the MakeHuman light-sphere shader, the user should be prepared to make some adjustments in the downstream program to get the final desired effect. Some MakeHuman assets also include Normal maps which the user will want to integrate into the downstream applications rendering.
When a MakeHuman material (for example, skin or clothing or eyelashes) is exported, it carries with it a limited amount of fundamental information for by the downstream program’s shaders. In an ideal world, the downstream program would import this raw information, correctly populate the variables in its shaders, and yield the same view of the human that was exported from MakeHuman. At present this does not typically happen, and the user must make some adjustments. This Wiki section is designed to help you negotiate through that process.
'''Spatial transformation: MakeHuman Coordinate System, MakeHuman Skeletons, and MakeHuman Scales'''
The MakeHuman viewport is oriented so that the positive end of the x-axis is to the right, the positive end of the y-axis it up, and the positive end of the z-axis is out through the front to the screen. Other CG programs can use other schemes, so it is essential to know the coordinate system used by the downstream target at export time, if you wish to minimize the adjustments you make after importing. The settings tab allows users to work in metric units of decimeters or imperial units of inches. Downstream programs vary in their de facto units, and again, it is generally a good idea to anticipate your needs at export time rather than trying to make adjustments during or after import. It is sometimes said that these programs have no default unit. To a degree this is true. However, the default grid pattern, assumptions of other humanoid producing programs, and assumptions of the “physics systems” will often work best with the export units specified in the table below:
TABLE HERE
'''Working with Rigs and Skeletons'''
Internally, MakeHuman uses its default skeleton as the basis of mesh vertex weighting for creating the poses available on the pose tab. This rig includes a special set of bones that can be used for driving facial expressions, but as of the current release (MakeHuman 1.1.x), there is not extensive support for inverse kinematics, and animation must be done downstream in the production pipeline. Historically, MakeHuman has had close ties to Blender, but the ultimate development goal is to provide strong generic support for all the major tools used in the industry, and with MakeHuman 1.1.x, substantial progress has been made by providing weighted skeletons suited for standard use in various downstream applications. For the most part, the name of the most appropriate rig will be clearly associated with the target downstream application, but the tag filters on the Pose/Animate | skeleton tab are intended to help choose a rig suited more generally to a specific purpose like motion capture integration, facial animation, or gaming applications. MakeHuman is designed to provide the user with maximum flexibility at creation time. To provide skeletons that work perfectly with every conceivable variation of the sliders is a laudable but elusive goal. That said, the user should get excellent results with the current approach, but the user should be prepared to make some minor tweaks to skeletons and weights downstream, particularly with extreme character dimensions or extreme poses.
'''MakeHuman Assets with transparency'''
In CG art, materials for mesh objects are frequently created by shaders that use various types of image maps to provide some of the information for determining the color, transparency, and light behavior on the surface of mesh objects. These image maps are referred to as textures. MakeHuman has textured materials available for the body (including proxy topologies), eyes, eyebrows, eyelashes, tongue, teeth, and hair. During export, these textures need to made available to the program that will be importing the MakeHuman output. Two aspects of this process need to be understood by the MakeHuman user: 1) how textures are saved; and 2) how transparency is handled.
There are two possible standards for storing texture assets upon export. They can either be embedded in an exported file, or they can be saved to a folder as named images with reference to the location of those files in the exported file. At present, MakeHuman uses the latter approach when exporting material textures. Following the export process, MakeHuman exports will be located in ~/makehuman/v1/exports/, and the texture images will be located in a corresponding subfolder ~/makehuman/v1/exports/textures. The tilde symbol indicates your user drive and home document directory. [For example, on Windows Vista and later, this typically would be: C:/Users/%USERNAME%/Documents/makehuman/v1/exports and a textures subfolder, where %USERNAME% is replaced by your username.]
Transparency is used in 3D art to let a viewer see through a mesh object to experience the color, reflections and lighting behind that object. MakeHuman uses transparency with textures for the eyes, eyebrows, eyelashes, and hair. This allows complex real world geometry to be represented by much simpler quasi-planar objects. For example, the hairs of the eyebrows are painted onto a flat surface with transparent spaces in between the painted hairs rather than creating tiny mesh objects for each of the 250-1000 individual hairs. CG programs can indicate which regions of the eyebrow should be transparent either by using a separate image where blackness indicates transparent and whiteness indicates opacity. Grayness is used to represent partial transparency. An alternative approach to representing transparency is to use an image format like .tga or .png which has a one byte channel, called an alpha channel, for just this purpose. Again, values near zero (black) typically represent “completely transparent” and values near 255 (white) typically represent “completely opaque”. MakeHuman represents the transparent regions of its assets using the alpha channel method and the .png format for textures. Unfortunately, importers for filmbox (FBX) and collada formats (DAE) do not automatically extract the transparency information provided by MakeHuman, or more specifically, they do not provide it to their shaders as anticipated. This is not just a MakeHuman problem but reflects multiple ways of handling transparency and alpha channels within the industry. Notably, exporting and reimporting assets with alpha channel transparency into the very same program fails with Blender, 3DSMax, and Maya for FBX, and where available, DAE formats. This forces the MakeHuman user to understand how to overcome this limitation in his favorite downstream application. Some introductory help will be provided for common applications later in this document.
There is one additional aspect of using transparency to make a single, simple mesh represent multiple small objects like eyebrows, and that is the issue of shadows. Lighting systems in 3D worlds creates a simulation of reality by making shadows appear on mesh objects in places you would expect to see them in the real world and with the soft edges you would expect to see in the real world. Shadows are a function of both the light source, the object blocking that light, and the objects receiving the reflected and refracted light from other objects. For objects that have transparency, like MakeHuman’s eyes, eyelashes, eyebrows, and hair, shadows should only be cast by the opaque portion of the texture and not by the transparent portions of the texture. The handling of shadows differs considerably from program to program, and objects with alpha channel transparency can need some special handling to accommodate these differences. This handling is not just about the assets with alpha map transparency, themselves. Sometimes it is necessary to set parameters to explicitly tell other objects like the MakeHuman body to not display shadows from the transparent regions of the eyebrows but to show shadows from the opaque hairs of the eyebrows. Shadows of transparently mapped assets will be addressed further in subsequent sections (where information is available).
==Illustrating the Export Process for Subsequent Import==
For the purposes of illustration we will take a straight forward MakeHuman character that has been given a skeleton, a pose, a skin material, clothing, eyes, eyelashes, eyebrows, hair, tongue and teeth. We will then export it for import into a number of popular downstream applications. For each application, our goal will be to get the character to look similar to its original look in MakeHuman. We will pay particular attention to the head and face because this is the area of greatest difficulty for dealing with transparency and shadows. The character has the default skeleton and has been set in the T-pose which is a common starting pose for animation-based work. The image we will be exporting looks like this in MakeHuman:
[[File:ImpExp-001.png]]
'''Figure 1.''' MakeHuman character as viewed from within MakeHuman prior to export.
In subsequent sections, we will discuss the steps needed to reproduce this look after importing into a downstream program.
==Moving Assets into Autodesk Maya==
We will use the file created in the “Illustrating the Export Process for Subsequent Import” section.
The FBX export settings used for Maya import should include setting the scale units to centimeters on export. Maya can import either ASCII or binary FBX files, so either type of export can be used for MakeHuman export. <nowiki>[RWB Note: as of this writing there are still some issues with direct FBX binary export, but those are expected to be repaired going forward]</nowiki>. By default the exported file will be found in ~/makehuman/v1/exports/ (where ~ is the user home directory).
'''Importing and Initial Setup'''
When the file is initially imported into Maya it looks like this:
[[File:ImpExp03.png]]
<CENTER>'''Figure 1'''</CENTER>
The only color in the viewport is the shoes which had a simple diffuse material which was not associated a texture. By clicking the textured icon at the top of the viewport, the viewport shows a preview of how the rendered, textured image would appear:
[[File:ImpExp04.png]]
<CENTER>'''Figure 2'''</CENTER>
Holding down Alt and scrolling with the middle mouse wheel allows us to zoom in and see the problems with the imported eyes, eyelashes, eyebrows, and possibly the hair:
[[File:ImpExp06.png]]
<CENTER>'''Figure 3'''</CENTER>
The thin lines on the face are an artifact of having included the facial rig by choosing the default skeleton. The process of fixing the '''eyes, eyelashes, eyebrows, and hair''' is the same in each case. We must tell Maya to use transparency from the corresponding alpha channel when rendering the corresponding mesh. It can be hard to select the facial mesh objects in perspective view so it is advisable to go into orthographic front view. One way to do this is with the panel menu just above the viewport.
[[File:ImpExp07.png]]
<CENTER>'''Figure 4'''</CENTER>
'''Basic Repair of Eye Transparency'''
Once in front view, left click to select the eye meshes, and perform the following steps:
[[File:ImpExp08.png]]
<CENTER>'''Figure 5'''</CENTER>
1. In the attribute editor on the right side of the screen, use the right arrow key to make sure the right-most tab is visible and click it to show the corresponding attributes.
[[File:ImpExp09.png]]
<CENTER>'''Figure 6'''</CENTER>
2. In the phong shader section, open the Common Material Attributes section and click on the checkered button to the right of transparency.
[[File:ImpExp10.png]]
<CENTER>'''Figure 7'''</CENTER>
3. In the Create Render Node dialog box that pops up, click on file.
[[File:ImpExp11.png]]
<CENTER>'''Figure 8'''</CENTER>
4. The checkered button next to transparency (see Figure 7) turns into an arrow, [[File:ImpExp12.png]] which you can click to allow the attribute editor to locate the texture map for your eyes. In our example, this texture is called blue_eyes.png. You navigate to this file by left clicking on the yellow folder file attributes section as shown in the image below:
[[File:ImpExp13.png]]
<CENTER>'''Figure 9'''</CENTER>
5. This step for transparency will probably will NOT be needed if you import straight from MakeHuman, but it may be needed if you do intermediate work in another program like 3DSMax. Open the color balance section on the same file1 tab of the attribute editor and verify that “Alpha is Luminance” is unchecked (Figure 11). Uncheck it if it is checked.
[[File:ImpExp14.png]]
<CENTER>'''Figure 10'''</CENTER>
The eyes in our image now look like this:
[[File:ImpExp15.png]]
<CENTER>'''Figure 11'''</CENTER>
----
'''Repeat for other Transparent Assets'''
You need to '''repeat steps 1-5''' after selecting the '''''eyebrows''''' in the viewport, after selecting the '''''eyelashes''''' in the viewport, and after selecting the '''''hair''''' in the viewport. When we finished these steps on each of the assets of our test model, the face is a nice approximation of what we started with in MakeHuman and looks like this:
[[File:ImpExp16.png]]
<CENTER>'''Figure 12'''</CENTER>
----
'''Raytrace Shadows'''
Depending on the lighting you are using in Maya, you might have one additional adjustment to make. To avoid transparency shadows, it is necessary to return to the phong section of the attribute editor by left clicking on the eyes in the viewport. In the phong shader section, open the raytrace options panel and move the shadow attenuation slider from its default of 0.5 to zero.
[[File:ImpExp18.png]]
<CENTER>'''Figure 13'''</CENTER>
At this point the MakeHuman model can be saved in standard Maya .mb binary file and easily brought back into Maya.
'''Re-importing "Fixed MakeHuman Assets" from Maya after saving in FBX format'''
If the file is exported from Maya as an FBX file and read back into Maya, it imports with partially transparent assets and will look like this:
[[File:ImpExp20.png]]
<CENTER>'''Figure 14'''</CENTER>
You may also see partially transparent assets if your asset pipeline involves an intermediate program between MakeHuman and Maya and you use FBX to import the workflow into Maya. To once again restore it to its intended look, '''take the eyes, eyelashes, eyebrows, and hair, and fix each as follows:'''
1. Select the asset by left clicking on it, then click the right most tab in the asset editor panel on the right side of the screen. Click the small arrow to the right of the transparency slider.
2. On the file tab that appears, open the Color Balance section and uncheck alpha Is Luminance.
3. It may also be necessary to click each of the four assets and under the Raytrace Options section of the Phong shader in the Attributes editor, change the shadow attenuation slide back to zero (refer to figure 13).
[[File:ImpExp22.png]]
<CENTER>'''Figure 15'''<CENTER>
When you have re-done these steps for each of the four transparent MakeHuman assets the character should once again look like it did in MakeHuman.
'''Adopting MakeHuman Skeletons to Maya'''
TO BE WRITTEN
==Moving Assets into Autodesk 3DSMax==
This subsection describes the restoration and use of MakeHuman's skeletal transparency and skeletal assets after importing in Autodesk 3DSMax.
>
<LI>Import process</LI>
<LI>Handling or Transparency after import</LI>
<LI>Handling of Skelton and Rigging after import</LI>
==Moving Assets into Blender==
==Moving Assets into Unreal Engine 4==
==Moving Assets into Unity Game Engine==
==Moving Assets into Google Sketchup==
==Preparing assets for use with Second Life==
0a4cb31abd2e2a8ca75622553ef8e44774be637f
231
230
2015-07-25T17:03:22Z
Robbaer
12
/* Moving Assets into Autodesk Maya */
wikitext
text/x-wiki
== Summary ==
More often than not MakeHuman users will want to move their creation into another program to continue the creation process. This section provides information on how to achieve this for common target programs. The Background and Export Example section provides some background that are common to all workflows. It is not essential to read the introduction before going straight to the program of interest, but doing so might help you understand ''why'' certain steps work or are necessary. In many cases there can be more than one way to accomplish the same thing. The method described here may not be optimal for your situation, but it should help get you started.
==Background and Technical Considerations==
'''Introduction'''
Many MakeHuman users will use the work they create in MakeHuman as a component of a project completed in an external, downstream application. The most common target applications are 3D graphics applications like Blender, Autodesk 3DSMax, and Autodesk Maya or gaming engines like Unity Engine or Unreal Engine 4 or Virtual Worlds like Second Life. In some cases, the MakeHuman user will be interested in moving just the mesh. In other cases, the user will be interested in moving a complete, posed, skeletonized character to the downstream application. The purpose of this document is to discuss the basic process of moving a finished MakeHuman asset to a downstream program and producing a reasonable facsimile of its MakeHuman appearance in the downstream application. It is important to recognize that because each application has its own way of representing 3D assets, and because each export format has its own set of idiosyncrasies, there will be adjustments and approximations in the asset transfer process.
'''Format Considerations'''
In an effort to provide the broadest latitude for user workflows, the MakeHuman development team is directing it major export support toward Autodesk FBX format and Khronos Collada format. In addition, Blender users have the option to install the [https://bitbucket.org/ThomasMakeHuman/mhx2-makehuman-exchange independently developed .mhx2 tools], which are developed and maintained by Thomas Larson, independent of MakeHuman itself. Collada is a text-based format and is an open standard, but implementation of the standard is not as consistent as might be hoped. FBX is a proprietary standard developed by Autodesk and supported through a software development kit (FBX SDK) written in C++ and a Python FBX scripting template. The FBX standard is periodically updated by Autodesk and can be saved as either an ASCII or a binary format. Downstream programs may make assumptions about the FBX version being imported, and may limit users to either binary or ASCII importing. Surprisingly, CG assets exported from various programs as collada and FBX do not make it back into the same program as a round-trip without changes to some components of the scene. For example, this is true of FBX format in both 3DSMax and Maya for MakeHumanassets. It is also true for Blender with both FBX and collada format for MakeHumanassets. In this document, we will attempt to provide some support for dealing with this type of surprise.
'''MakeHuman Shader and Asset Rendering'''
A “shader” is computer code that translates digital information into a properly rendered image on the computer screen. Different algorithms use different methods of constructing such a display. By default in MakeHuman, the viewport lighting is handled by the built-in light-sphere shader. The light-sphere shader takes advantage of support for the openGL standard provided by today’s graphics cards. What the viewer sees on the screen depends not only on the color of assets, like skin and clothing, but also on the nature of the lights illuminating the scene and causing reflections and shadows. Most downstream programs use other shader strategies, the most common of which include Phong shaders, Blinn shaders, or Lambert shaders. Because the code and conceptual design of these shaders differs from that of the MakeHuman light-sphere shader, the user should be prepared to make some adjustments in the downstream program to get the final desired effect. Some MakeHuman assets also include Normal maps which the user will want to integrate into the downstream applications rendering.
When a MakeHuman material (for example, skin or clothing or eyelashes) is exported, it carries with it a limited amount of fundamental information for by the downstream program’s shaders. In an ideal world, the downstream program would import this raw information, correctly populate the variables in its shaders, and yield the same view of the human that was exported from MakeHuman. At present this does not typically happen, and the user must make some adjustments. This Wiki section is designed to help you negotiate through that process.
'''Spatial transformation: MakeHuman Coordinate System, MakeHuman Skeletons, and MakeHuman Scales'''
The MakeHuman viewport is oriented so that the positive end of the x-axis is to the right, the positive end of the y-axis it up, and the positive end of the z-axis is out through the front to the screen. Other CG programs can use other schemes, so it is essential to know the coordinate system used by the downstream target at export time, if you wish to minimize the adjustments you make after importing. The settings tab allows users to work in metric units of decimeters or imperial units of inches. Downstream programs vary in their de facto units, and again, it is generally a good idea to anticipate your needs at export time rather than trying to make adjustments during or after import. It is sometimes said that these programs have no default unit. To a degree this is true. However, the default grid pattern, assumptions of other humanoid producing programs, and assumptions of the “physics systems” will often work best with the export units specified in the table below:
TABLE HERE
'''Working with Rigs and Skeletons'''
Internally, MakeHuman uses its default skeleton as the basis of mesh vertex weighting for creating the poses available on the pose tab. This rig includes a special set of bones that can be used for driving facial expressions, but as of the current release (MakeHuman 1.1.x), there is not extensive support for inverse kinematics, and animation must be done downstream in the production pipeline. Historically, MakeHuman has had close ties to Blender, but the ultimate development goal is to provide strong generic support for all the major tools used in the industry, and with MakeHuman 1.1.x, substantial progress has been made by providing weighted skeletons suited for standard use in various downstream applications. For the most part, the name of the most appropriate rig will be clearly associated with the target downstream application, but the tag filters on the Pose/Animate | skeleton tab are intended to help choose a rig suited more generally to a specific purpose like motion capture integration, facial animation, or gaming applications. MakeHuman is designed to provide the user with maximum flexibility at creation time. To provide skeletons that work perfectly with every conceivable variation of the sliders is a laudable but elusive goal. That said, the user should get excellent results with the current approach, but the user should be prepared to make some minor tweaks to skeletons and weights downstream, particularly with extreme character dimensions or extreme poses.
'''MakeHuman Assets with transparency'''
In CG art, materials for mesh objects are frequently created by shaders that use various types of image maps to provide some of the information for determining the color, transparency, and light behavior on the surface of mesh objects. These image maps are referred to as textures. MakeHuman has textured materials available for the body (including proxy topologies), eyes, eyebrows, eyelashes, tongue, teeth, and hair. During export, these textures need to made available to the program that will be importing the MakeHuman output. Two aspects of this process need to be understood by the MakeHuman user: 1) how textures are saved; and 2) how transparency is handled.
There are two possible standards for storing texture assets upon export. They can either be embedded in an exported file, or they can be saved to a folder as named images with reference to the location of those files in the exported file. At present, MakeHuman uses the latter approach when exporting material textures. Following the export process, MakeHuman exports will be located in ~/makehuman/v1/exports/, and the texture images will be located in a corresponding subfolder ~/makehuman/v1/exports/textures. The tilde symbol indicates your user drive and home document directory. [For example, on Windows Vista and later, this typically would be: C:/Users/%USERNAME%/Documents/makehuman/v1/exports and a textures subfolder, where %USERNAME% is replaced by your username.]
Transparency is used in 3D art to let a viewer see through a mesh object to experience the color, reflections and lighting behind that object. MakeHuman uses transparency with textures for the eyes, eyebrows, eyelashes, and hair. This allows complex real world geometry to be represented by much simpler quasi-planar objects. For example, the hairs of the eyebrows are painted onto a flat surface with transparent spaces in between the painted hairs rather than creating tiny mesh objects for each of the 250-1000 individual hairs. CG programs can indicate which regions of the eyebrow should be transparent either by using a separate image where blackness indicates transparent and whiteness indicates opacity. Grayness is used to represent partial transparency. An alternative approach to representing transparency is to use an image format like .tga or .png which has a one byte channel, called an alpha channel, for just this purpose. Again, values near zero (black) typically represent “completely transparent” and values near 255 (white) typically represent “completely opaque”. MakeHuman represents the transparent regions of its assets using the alpha channel method and the .png format for textures. Unfortunately, importers for filmbox (FBX) and collada formats (DAE) do not automatically extract the transparency information provided by MakeHuman, or more specifically, they do not provide it to their shaders as anticipated. This is not just a MakeHuman problem but reflects multiple ways of handling transparency and alpha channels within the industry. Notably, exporting and reimporting assets with alpha channel transparency into the very same program fails with Blender, 3DSMax, and Maya for FBX, and where available, DAE formats. This forces the MakeHuman user to understand how to overcome this limitation in his favorite downstream application. Some introductory help will be provided for common applications later in this document.
There is one additional aspect of using transparency to make a single, simple mesh represent multiple small objects like eyebrows, and that is the issue of shadows. Lighting systems in 3D worlds creates a simulation of reality by making shadows appear on mesh objects in places you would expect to see them in the real world and with the soft edges you would expect to see in the real world. Shadows are a function of both the light source, the object blocking that light, and the objects receiving the reflected and refracted light from other objects. For objects that have transparency, like MakeHuman’s eyes, eyelashes, eyebrows, and hair, shadows should only be cast by the opaque portion of the texture and not by the transparent portions of the texture. The handling of shadows differs considerably from program to program, and objects with alpha channel transparency can need some special handling to accommodate these differences. This handling is not just about the assets with alpha map transparency, themselves. Sometimes it is necessary to set parameters to explicitly tell other objects like the MakeHuman body to not display shadows from the transparent regions of the eyebrows but to show shadows from the opaque hairs of the eyebrows. Shadows of transparently mapped assets will be addressed further in subsequent sections (where information is available).
==Illustrating the Export Process for Subsequent Import==
For the purposes of illustration we will take a straight forward MakeHuman character that has been given a skeleton, a pose, a skin material, clothing, eyes, eyelashes, eyebrows, hair, tongue and teeth. We will then export it for import into a number of popular downstream applications. For each application, our goal will be to get the character to look similar to its original look in MakeHuman. We will pay particular attention to the head and face because this is the area of greatest difficulty for dealing with transparency and shadows. The character has the default skeleton and has been set in the T-pose which is a common starting pose for animation-based work. The image we will be exporting looks like this in MakeHuman:
[[File:ImpExp-001.png]]
'''Figure 1.''' MakeHuman character as viewed from within MakeHuman prior to export.
In subsequent sections, we will discuss the steps needed to reproduce this look after importing into a downstream program.
==Moving Assets into Autodesk Maya==
We will use the file created in the “Illustrating the Export Process for Subsequent Import” section.
The FBX export settings used for Maya import should include setting the scale units to centimeters on export. Maya can import either ASCII or binary FBX files, so either type of export can be used for MakeHuman export. <nowiki>[RWB Note: as of this writing there are still some issues with direct FBX binary export, but those are expected to be repaired going forward]</nowiki>. By default the exported file will be found in ~/makehuman/v1/exports/ (where ~ is the user home directory).
'''Importing and Initial Setup'''
When the file is initially imported into Maya it looks like this:
[[File:ImpExp03.png]]
<CENTER>'''Figure 1'''</CENTER>
The only color in the viewport is the shoes which had a simple diffuse material which was not associated a texture. By clicking the textured icon at the top of the viewport, the viewport shows a preview of how the rendered, textured image would appear:
[[File:ImpExp04.png]]
<CENTER>'''Figure 2'''</CENTER>
Holding down Alt and scrolling with the middle mouse wheel allows us to zoom in and see the problems with the imported eyes, eyelashes, eyebrows, and possibly the hair:
[[File:ImpExp06.png]]
<CENTER>'''Figure 3'''</CENTER>
The thin lines on the face are an artifact of having included the facial rig by choosing the default skeleton. The process of fixing the '''eyes, eyelashes, eyebrows, and hair''' is the same in each case. We must tell Maya to use transparency from the corresponding alpha channel when rendering the corresponding mesh. It can be hard to select the facial mesh objects in perspective view so it is advisable to go into orthographic front view. One way to do this is with the panel menu just above the viewport.
[[File:ImpExp07.png]]
<CENTER>'''Figure 4'''</CENTER>
'''Basic Repair of Eye Transparency'''
Once in front view, left click to select the eye meshes, and perform the following steps:
[[File:ImpExp08.png]]
<CENTER>'''Figure 5'''</CENTER>
1. In the attribute editor on the right side of the screen, use the right arrow key to make sure the right-most tab is visible and click it to show the corresponding attributes.
[[File:ImpExp09.png]]
<CENTER>'''Figure 6'''</CENTER>
2. In the phong shader section, open the Common Material Attributes section and click on the checkered button to the right of transparency.
[[File:ImpExp10.png]]
'''Figure 7'''
3. In the Create Render Node dialog box that pops up, click on file.
[[File:ImpExp11.png]]
<CENTER>'''Figure 8'''</CENTER>
4. The checkered button next to transparency (see Figure 7) turns into an arrow, [[File:ImpExp12.png]] which you can click to allow the attribute editor to locate the texture map for your eyes. In our example, this texture is called blue_eyes.png. You navigate to this file by left clicking on the yellow folder file attributes section as shown in the image below:
[[File:ImpExp13.png]]
<CENTER>'''Figure 9'''</CENTER>
5. This step for transparency will probably will NOT be needed if you import straight from MakeHuman, but it may be needed if you do intermediate work in another program like 3DSMax. Open the color balance section on the same file1 tab of the attribute editor and verify that “Alpha is Luminance” is unchecked (Figure 11). Uncheck it if it is checked.
[[File:ImpExp14.png]]
<CENTER>'''Figure 10'''</CENTER>
The eyes in our image now look like this:
[[File:ImpExp15.png]]
<CENTER>'''Figure 11'''</CENTER>
----
'''Repeat for other Transparent Assets'''
You need to '''repeat steps 1-5''' after selecting the '''''eyebrows''''' in the viewport, after selecting the '''''eyelashes''''' in the viewport, and after selecting the '''''hair''''' in the viewport. When we finished these steps on each of the assets of our test model, the face is a nice approximation of what we started with in MakeHuman and looks like this:
[[File:ImpExp16.png]]
<CENTER>'''Figure 12'''</CENTER>
----
'''Raytrace Shadows'''
Depending on the lighting you are using in Maya, you might have one additional adjustment to make. To avoid transparency shadows, it is necessary to return to the phong section of the attribute editor by left clicking on the eyes in the viewport. In the phong shader section, open the raytrace options panel and move the shadow attenuation slider from its default of 0.5 to zero.
[[File:ImpExp18.png]]
'''Figure 13'''
At this point the MakeHuman model can be saved in standard Maya .mb binary file and easily brought back into Maya.
'''Re-importing "Fixed MakeHuman Assets" from Maya after saving in FBX format'''
If the file is exported from Maya as an FBX file and read back into Maya, it imports with partially transparent assets and will look like this:
[[File:ImpExp20.png]]
'''Figure 14'''
You may also see partially transparent assets if your asset pipeline involves an intermediate program between MakeHuman and Maya and you use FBX to import the workflow into Maya. To once again restore it to its intended look, '''take the eyes, eyelashes, eyebrows, and hair, and fix each as follows:'''
1. Select the asset by left clicking on it, then click the right most tab in the asset editor panel on the right side of the screen. Click the small arrow to the right of the transparency slider.
2. On the file tab that appears, open the Color Balance section and uncheck alpha Is Luminance.
3. It may also be necessary to click each of the four assets and under the Raytrace Options section of the Phong shader in the Attributes editor, change the shadow attenuation slide back to zero (refer to figure 13).
[[File:ImpExp22.png]]
'''Figure 16'''
When you have re-done these steps for each of the four transparent MakeHuman assets the character should once again look like it did in MakeHuman.
'''Adopting MakeHuman Skeletons to Maya'''
TO BE WRITTEN
==Moving Assets into Autodesk 3DSMax==
This subsection describes the restoration and use of MakeHuman's skeletal transparency and skeletal assets after importing in Autodesk 3DSMax.
>
<LI>Import process</LI>
<LI>Handling or Transparency after import</LI>
<LI>Handling of Skelton and Rigging after import</LI>
==Moving Assets into Blender==
==Moving Assets into Unreal Engine 4==
==Moving Assets into Unity Game Engine==
==Moving Assets into Google Sketchup==
==Preparing assets for use with Second Life==
33b91d18be8f7d3c70fc256d4f1316b7307ed73f
230
229
2015-07-25T16:50:33Z
Robbaer
12
/* Moving Assets into Autodesk Maya */
wikitext
text/x-wiki
== Summary ==
More often than not MakeHuman users will want to move their creation into another program to continue the creation process. This section provides information on how to achieve this for common target programs. The Background and Export Example section provides some background that are common to all workflows. It is not essential to read the introduction before going straight to the program of interest, but doing so might help you understand ''why'' certain steps work or are necessary. In many cases there can be more than one way to accomplish the same thing. The method described here may not be optimal for your situation, but it should help get you started.
==Background and Technical Considerations==
'''Introduction'''
Many MakeHuman users will use the work they create in MakeHuman as a component of a project completed in an external, downstream application. The most common target applications are 3D graphics applications like Blender, Autodesk 3DSMax, and Autodesk Maya or gaming engines like Unity Engine or Unreal Engine 4 or Virtual Worlds like Second Life. In some cases, the MakeHuman user will be interested in moving just the mesh. In other cases, the user will be interested in moving a complete, posed, skeletonized character to the downstream application. The purpose of this document is to discuss the basic process of moving a finished MakeHuman asset to a downstream program and producing a reasonable facsimile of its MakeHuman appearance in the downstream application. It is important to recognize that because each application has its own way of representing 3D assets, and because each export format has its own set of idiosyncrasies, there will be adjustments and approximations in the asset transfer process.
'''Format Considerations'''
In an effort to provide the broadest latitude for user workflows, the MakeHuman development team is directing it major export support toward Autodesk FBX format and Khronos Collada format. In addition, Blender users have the option to install the [https://bitbucket.org/ThomasMakeHuman/mhx2-makehuman-exchange independently developed .mhx2 tools], which are developed and maintained by Thomas Larson, independent of MakeHuman itself. Collada is a text-based format and is an open standard, but implementation of the standard is not as consistent as might be hoped. FBX is a proprietary standard developed by Autodesk and supported through a software development kit (FBX SDK) written in C++ and a Python FBX scripting template. The FBX standard is periodically updated by Autodesk and can be saved as either an ASCII or a binary format. Downstream programs may make assumptions about the FBX version being imported, and may limit users to either binary or ASCII importing. Surprisingly, CG assets exported from various programs as collada and FBX do not make it back into the same program as a round-trip without changes to some components of the scene. For example, this is true of FBX format in both 3DSMax and Maya for MakeHumanassets. It is also true for Blender with both FBX and collada format for MakeHumanassets. In this document, we will attempt to provide some support for dealing with this type of surprise.
'''MakeHuman Shader and Asset Rendering'''
A “shader” is computer code that translates digital information into a properly rendered image on the computer screen. Different algorithms use different methods of constructing such a display. By default in MakeHuman, the viewport lighting is handled by the built-in light-sphere shader. The light-sphere shader takes advantage of support for the openGL standard provided by today’s graphics cards. What the viewer sees on the screen depends not only on the color of assets, like skin and clothing, but also on the nature of the lights illuminating the scene and causing reflections and shadows. Most downstream programs use other shader strategies, the most common of which include Phong shaders, Blinn shaders, or Lambert shaders. Because the code and conceptual design of these shaders differs from that of the MakeHuman light-sphere shader, the user should be prepared to make some adjustments in the downstream program to get the final desired effect. Some MakeHuman assets also include Normal maps which the user will want to integrate into the downstream applications rendering.
When a MakeHuman material (for example, skin or clothing or eyelashes) is exported, it carries with it a limited amount of fundamental information for by the downstream program’s shaders. In an ideal world, the downstream program would import this raw information, correctly populate the variables in its shaders, and yield the same view of the human that was exported from MakeHuman. At present this does not typically happen, and the user must make some adjustments. This Wiki section is designed to help you negotiate through that process.
'''Spatial transformation: MakeHuman Coordinate System, MakeHuman Skeletons, and MakeHuman Scales'''
The MakeHuman viewport is oriented so that the positive end of the x-axis is to the right, the positive end of the y-axis it up, and the positive end of the z-axis is out through the front to the screen. Other CG programs can use other schemes, so it is essential to know the coordinate system used by the downstream target at export time, if you wish to minimize the adjustments you make after importing. The settings tab allows users to work in metric units of decimeters or imperial units of inches. Downstream programs vary in their de facto units, and again, it is generally a good idea to anticipate your needs at export time rather than trying to make adjustments during or after import. It is sometimes said that these programs have no default unit. To a degree this is true. However, the default grid pattern, assumptions of other humanoid producing programs, and assumptions of the “physics systems” will often work best with the export units specified in the table below:
TABLE HERE
'''Working with Rigs and Skeletons'''
Internally, MakeHuman uses its default skeleton as the basis of mesh vertex weighting for creating the poses available on the pose tab. This rig includes a special set of bones that can be used for driving facial expressions, but as of the current release (MakeHuman 1.1.x), there is not extensive support for inverse kinematics, and animation must be done downstream in the production pipeline. Historically, MakeHuman has had close ties to Blender, but the ultimate development goal is to provide strong generic support for all the major tools used in the industry, and with MakeHuman 1.1.x, substantial progress has been made by providing weighted skeletons suited for standard use in various downstream applications. For the most part, the name of the most appropriate rig will be clearly associated with the target downstream application, but the tag filters on the Pose/Animate | skeleton tab are intended to help choose a rig suited more generally to a specific purpose like motion capture integration, facial animation, or gaming applications. MakeHuman is designed to provide the user with maximum flexibility at creation time. To provide skeletons that work perfectly with every conceivable variation of the sliders is a laudable but elusive goal. That said, the user should get excellent results with the current approach, but the user should be prepared to make some minor tweaks to skeletons and weights downstream, particularly with extreme character dimensions or extreme poses.
'''MakeHuman Assets with transparency'''
In CG art, materials for mesh objects are frequently created by shaders that use various types of image maps to provide some of the information for determining the color, transparency, and light behavior on the surface of mesh objects. These image maps are referred to as textures. MakeHuman has textured materials available for the body (including proxy topologies), eyes, eyebrows, eyelashes, tongue, teeth, and hair. During export, these textures need to made available to the program that will be importing the MakeHuman output. Two aspects of this process need to be understood by the MakeHuman user: 1) how textures are saved; and 2) how transparency is handled.
There are two possible standards for storing texture assets upon export. They can either be embedded in an exported file, or they can be saved to a folder as named images with reference to the location of those files in the exported file. At present, MakeHuman uses the latter approach when exporting material textures. Following the export process, MakeHuman exports will be located in ~/makehuman/v1/exports/, and the texture images will be located in a corresponding subfolder ~/makehuman/v1/exports/textures. The tilde symbol indicates your user drive and home document directory. [For example, on Windows Vista and later, this typically would be: C:/Users/%USERNAME%/Documents/makehuman/v1/exports and a textures subfolder, where %USERNAME% is replaced by your username.]
Transparency is used in 3D art to let a viewer see through a mesh object to experience the color, reflections and lighting behind that object. MakeHuman uses transparency with textures for the eyes, eyebrows, eyelashes, and hair. This allows complex real world geometry to be represented by much simpler quasi-planar objects. For example, the hairs of the eyebrows are painted onto a flat surface with transparent spaces in between the painted hairs rather than creating tiny mesh objects for each of the 250-1000 individual hairs. CG programs can indicate which regions of the eyebrow should be transparent either by using a separate image where blackness indicates transparent and whiteness indicates opacity. Grayness is used to represent partial transparency. An alternative approach to representing transparency is to use an image format like .tga or .png which has a one byte channel, called an alpha channel, for just this purpose. Again, values near zero (black) typically represent “completely transparent” and values near 255 (white) typically represent “completely opaque”. MakeHuman represents the transparent regions of its assets using the alpha channel method and the .png format for textures. Unfortunately, importers for filmbox (FBX) and collada formats (DAE) do not automatically extract the transparency information provided by MakeHuman, or more specifically, they do not provide it to their shaders as anticipated. This is not just a MakeHuman problem but reflects multiple ways of handling transparency and alpha channels within the industry. Notably, exporting and reimporting assets with alpha channel transparency into the very same program fails with Blender, 3DSMax, and Maya for FBX, and where available, DAE formats. This forces the MakeHuman user to understand how to overcome this limitation in his favorite downstream application. Some introductory help will be provided for common applications later in this document.
There is one additional aspect of using transparency to make a single, simple mesh represent multiple small objects like eyebrows, and that is the issue of shadows. Lighting systems in 3D worlds creates a simulation of reality by making shadows appear on mesh objects in places you would expect to see them in the real world and with the soft edges you would expect to see in the real world. Shadows are a function of both the light source, the object blocking that light, and the objects receiving the reflected and refracted light from other objects. For objects that have transparency, like MakeHuman’s eyes, eyelashes, eyebrows, and hair, shadows should only be cast by the opaque portion of the texture and not by the transparent portions of the texture. The handling of shadows differs considerably from program to program, and objects with alpha channel transparency can need some special handling to accommodate these differences. This handling is not just about the assets with alpha map transparency, themselves. Sometimes it is necessary to set parameters to explicitly tell other objects like the MakeHuman body to not display shadows from the transparent regions of the eyebrows but to show shadows from the opaque hairs of the eyebrows. Shadows of transparently mapped assets will be addressed further in subsequent sections (where information is available).
==Illustrating the Export Process for Subsequent Import==
For the purposes of illustration we will take a straight forward MakeHuman character that has been given a skeleton, a pose, a skin material, clothing, eyes, eyelashes, eyebrows, hair, tongue and teeth. We will then export it for import into a number of popular downstream applications. For each application, our goal will be to get the character to look similar to its original look in MakeHuman. We will pay particular attention to the head and face because this is the area of greatest difficulty for dealing with transparency and shadows. The character has the default skeleton and has been set in the T-pose which is a common starting pose for animation-based work. The image we will be exporting looks like this in MakeHuman:
[[File:ImpExp-001.png]]
'''Figure 1.''' MakeHuman character as viewed from within MakeHuman prior to export.
In subsequent sections, we will discuss the steps needed to reproduce this look after importing into a downstream program.
==Moving Assets into Autodesk Maya==
We will use the file created in the “Illustrating the Export Process for Subsequent Import” section.
The FBX export settings used for Maya import should include setting the scale units to centimeters on export. Maya can import either ASCII or binary FBX files, so either type of export can be used for MakeHuman export. <nowiki>[RWB Note: as of this writing there are still some issues with direct FBX binary export, but those are expected to be repaired going forward]</nowiki>. By default the exported file will be found in ~/makehuman/v1/exports/ (where ~ is the user home directory).
'''Importing and Initial Setup'''
When the file is initially imported into Maya it looks like this:
[[File:ImpExp03.png]]
'''Figure 2'''
The only color in the viewport is the shoes which had a simple diffuse material which was not associated a texture. By clicking the textured icon at the top of the viewport, the viewport shows a preview of how the rendered, textured image would appear:
[[File:ImpExp04.png]]
'''Figure 3'''
Holding down Alt and scrolling with the middle mouse wheel allows us to zoom in and see the problems with the imported eyes, eyelashes, eyebrows, and possibly the hair:
[[File:ImpExp06.png]]
'''Figure 4'''
The thin lines on the face are an artifact of having included the facial rig by choosing the default skeleton. The process of fixing the '''eyes, eyelashes, eyebrows, and hair''' is the same in each case. We must tell Maya to use transparency from the corresponding alpha channel when rendering the corresponding mesh. It can be hard to select the facial mesh objects in perspective view so it is advisable to go into orthographic front view. One way to do this is with the panel menu just above the viewport.
[[File:ImpExp07.png]]
'''Figure 5'''
[[File:ImpExp08.png]]
'''Figure 6'''
'''Basic Repair of Eye Transparency'''
Once in front view, left click to select the eye meshes, and perform the following steps:
1. In the attribute editor on the right side of the screen, use the right arrow key to make sure the right-most tab is visible and click it to show the corresponding attributes.
[[File:ImpExp09.png]]
'''Figure 7'''
2. In the phong shader section, open the Common Material Attributes section and click on the checkered button to the right of transparency.
[[File:ImpExp10.png]]
'''Figure 8'''
3. In the Create Render Node dialog box that pops up, click on file.
[[File:ImpExp11.png]]
'''Figure 9'''
4. The checkered button next to transparency (see Figure 7) turns into an arrow, [[File:ImpExp12.png]] which you can click to allow the attribute editor to locate the texture map for your eyes. In our example, this texture is called blue_eyes.png. You navigate to this file by left clicking on the yellow folder file attributes section as shown in the image below:
[[File:ImpExp13.png]]
'''Figure 10'''
5. This step for transparency will probably will NOT be needed if you import straight from MakeHuman, but it may be needed if you do intermediate work in another program like 3DSMax. Open the color balance section on the same file1 tab of the attribute editor and verify that “Alpha is Luminance” is unchecked (Figure 11). Uncheck it if it is checked.
[[File:ImpExp14.png]]
'''Figure 11'''
The eyes in our image now look like this:
[[File:ImpExp15.png]]
'''Figure 12'''
----
'''Repeat for other Transparent Assets'''
You need to '''repeat steps 1-5''' after selecting the '''''eyebrows''''' in the viewport, after selecting the '''''eyelashes''''' in the viewport, and after selecting the '''''hair''''' in the viewport. When we finished these steps on each of the assets of our test model, the face is a nice approximation of what we started with in MakeHuman and looks like this:
[[File:ImpExp16.png]]
'''Figure 13'''
----
'''Raytrace Shadows'''
Depending on the lighting you are using in Maya, you might have one additional adjustment to make. To avoid transparency shadows, it is necessary to return to the phong section of the attribute editor by left clicking on the eyes in the viewport. In the phong shader section, open the raytrace options panel and move the shadow attenuation slider from its default of 0.5 to zero.
[[File:ImpExp18.png]]
'''Figure 14'''
At this point the MakeHuman model can be saved in standard Maya .mb binary file and easily brought back into Maya.
'''Re-importing "Fixed MakeHuman Assets" from Maya after saving in FBX format'''
If the file is exported from Maya as an FBX file and read back into Maya, it imports with partially transparent assets and will look like this:
[[File:ImpExp20.png]]
'''Figure 15'''
You may also see partially transparent assets if your asset pipeline involves an intermediate program between MakeHuman and Maya and you use FBX to import the workflow into Maya. To once again restore it to its intended look, '''take the eyes, eyelashes, eyebrows, and hair, and fix each as follows:'''
1. Select the asset by left clicking on it, then click the right most tab in the asset editor panel on the right side of the screen. Click the small arrow to the right of the transparency slider.
2. On the file tab that appears, open the Color Balance section and uncheck alpha Is Luminance.
3. It may also be necessary to click each of the four assets and under the Raytrace Options section of the Phong shader in the Attributes editor, change the shadow attenuation slide back to zero (refer to figure 14).
[[File:ImpExp22.png]]
'''Figure 16'''
When you have re-done these steps for each of the four transparent MakeHuman assets the character should once again look like it did in MakeHuman.
'''Adopting MakeHuman Skeletons to Maya'''
TO BE WRITTEN
==Moving Assets into Autodesk 3DSMax==
This subsection describes the restoration and use of MakeHuman's skeletal transparency and skeletal assets after importing in Autodesk 3DSMax.
>
<LI>Import process</LI>
<LI>Handling or Transparency after import</LI>
<LI>Handling of Skelton and Rigging after import</LI>
==Moving Assets into Blender==
==Moving Assets into Unreal Engine 4==
==Moving Assets into Unity Game Engine==
==Moving Assets into Google Sketchup==
==Preparing assets for use with Second Life==
12fc5e7fccf1b4c68dc31a8dde7383668be42d07
229
228
2015-07-25T16:45:46Z
Robbaer
12
/* Moving Assets into Autodesk Maya */
wikitext
text/x-wiki
== Summary ==
More often than not MakeHuman users will want to move their creation into another program to continue the creation process. This section provides information on how to achieve this for common target programs. The Background and Export Example section provides some background that are common to all workflows. It is not essential to read the introduction before going straight to the program of interest, but doing so might help you understand ''why'' certain steps work or are necessary. In many cases there can be more than one way to accomplish the same thing. The method described here may not be optimal for your situation, but it should help get you started.
==Background and Technical Considerations==
'''Introduction'''
Many MakeHuman users will use the work they create in MakeHuman as a component of a project completed in an external, downstream application. The most common target applications are 3D graphics applications like Blender, Autodesk 3DSMax, and Autodesk Maya or gaming engines like Unity Engine or Unreal Engine 4 or Virtual Worlds like Second Life. In some cases, the MakeHuman user will be interested in moving just the mesh. In other cases, the user will be interested in moving a complete, posed, skeletonized character to the downstream application. The purpose of this document is to discuss the basic process of moving a finished MakeHuman asset to a downstream program and producing a reasonable facsimile of its MakeHuman appearance in the downstream application. It is important to recognize that because each application has its own way of representing 3D assets, and because each export format has its own set of idiosyncrasies, there will be adjustments and approximations in the asset transfer process.
'''Format Considerations'''
In an effort to provide the broadest latitude for user workflows, the MakeHuman development team is directing it major export support toward Autodesk FBX format and Khronos Collada format. In addition, Blender users have the option to install the [https://bitbucket.org/ThomasMakeHuman/mhx2-makehuman-exchange independently developed .mhx2 tools], which are developed and maintained by Thomas Larson, independent of MakeHuman itself. Collada is a text-based format and is an open standard, but implementation of the standard is not as consistent as might be hoped. FBX is a proprietary standard developed by Autodesk and supported through a software development kit (FBX SDK) written in C++ and a Python FBX scripting template. The FBX standard is periodically updated by Autodesk and can be saved as either an ASCII or a binary format. Downstream programs may make assumptions about the FBX version being imported, and may limit users to either binary or ASCII importing. Surprisingly, CG assets exported from various programs as collada and FBX do not make it back into the same program as a round-trip without changes to some components of the scene. For example, this is true of FBX format in both 3DSMax and Maya for MakeHumanassets. It is also true for Blender with both FBX and collada format for MakeHumanassets. In this document, we will attempt to provide some support for dealing with this type of surprise.
'''MakeHuman Shader and Asset Rendering'''
A “shader” is computer code that translates digital information into a properly rendered image on the computer screen. Different algorithms use different methods of constructing such a display. By default in MakeHuman, the viewport lighting is handled by the built-in light-sphere shader. The light-sphere shader takes advantage of support for the openGL standard provided by today’s graphics cards. What the viewer sees on the screen depends not only on the color of assets, like skin and clothing, but also on the nature of the lights illuminating the scene and causing reflections and shadows. Most downstream programs use other shader strategies, the most common of which include Phong shaders, Blinn shaders, or Lambert shaders. Because the code and conceptual design of these shaders differs from that of the MakeHuman light-sphere shader, the user should be prepared to make some adjustments in the downstream program to get the final desired effect. Some MakeHuman assets also include Normal maps which the user will want to integrate into the downstream applications rendering.
When a MakeHuman material (for example, skin or clothing or eyelashes) is exported, it carries with it a limited amount of fundamental information for by the downstream program’s shaders. In an ideal world, the downstream program would import this raw information, correctly populate the variables in its shaders, and yield the same view of the human that was exported from MakeHuman. At present this does not typically happen, and the user must make some adjustments. This Wiki section is designed to help you negotiate through that process.
'''Spatial transformation: MakeHuman Coordinate System, MakeHuman Skeletons, and MakeHuman Scales'''
The MakeHuman viewport is oriented so that the positive end of the x-axis is to the right, the positive end of the y-axis it up, and the positive end of the z-axis is out through the front to the screen. Other CG programs can use other schemes, so it is essential to know the coordinate system used by the downstream target at export time, if you wish to minimize the adjustments you make after importing. The settings tab allows users to work in metric units of decimeters or imperial units of inches. Downstream programs vary in their de facto units, and again, it is generally a good idea to anticipate your needs at export time rather than trying to make adjustments during or after import. It is sometimes said that these programs have no default unit. To a degree this is true. However, the default grid pattern, assumptions of other humanoid producing programs, and assumptions of the “physics systems” will often work best with the export units specified in the table below:
TABLE HERE
'''Working with Rigs and Skeletons'''
Internally, MakeHuman uses its default skeleton as the basis of mesh vertex weighting for creating the poses available on the pose tab. This rig includes a special set of bones that can be used for driving facial expressions, but as of the current release (MakeHuman 1.1.x), there is not extensive support for inverse kinematics, and animation must be done downstream in the production pipeline. Historically, MakeHuman has had close ties to Blender, but the ultimate development goal is to provide strong generic support for all the major tools used in the industry, and with MakeHuman 1.1.x, substantial progress has been made by providing weighted skeletons suited for standard use in various downstream applications. For the most part, the name of the most appropriate rig will be clearly associated with the target downstream application, but the tag filters on the Pose/Animate | skeleton tab are intended to help choose a rig suited more generally to a specific purpose like motion capture integration, facial animation, or gaming applications. MakeHuman is designed to provide the user with maximum flexibility at creation time. To provide skeletons that work perfectly with every conceivable variation of the sliders is a laudable but elusive goal. That said, the user should get excellent results with the current approach, but the user should be prepared to make some minor tweaks to skeletons and weights downstream, particularly with extreme character dimensions or extreme poses.
'''MakeHuman Assets with transparency'''
In CG art, materials for mesh objects are frequently created by shaders that use various types of image maps to provide some of the information for determining the color, transparency, and light behavior on the surface of mesh objects. These image maps are referred to as textures. MakeHuman has textured materials available for the body (including proxy topologies), eyes, eyebrows, eyelashes, tongue, teeth, and hair. During export, these textures need to made available to the program that will be importing the MakeHuman output. Two aspects of this process need to be understood by the MakeHuman user: 1) how textures are saved; and 2) how transparency is handled.
There are two possible standards for storing texture assets upon export. They can either be embedded in an exported file, or they can be saved to a folder as named images with reference to the location of those files in the exported file. At present, MakeHuman uses the latter approach when exporting material textures. Following the export process, MakeHuman exports will be located in ~/makehuman/v1/exports/, and the texture images will be located in a corresponding subfolder ~/makehuman/v1/exports/textures. The tilde symbol indicates your user drive and home document directory. [For example, on Windows Vista and later, this typically would be: C:/Users/%USERNAME%/Documents/makehuman/v1/exports and a textures subfolder, where %USERNAME% is replaced by your username.]
Transparency is used in 3D art to let a viewer see through a mesh object to experience the color, reflections and lighting behind that object. MakeHuman uses transparency with textures for the eyes, eyebrows, eyelashes, and hair. This allows complex real world geometry to be represented by much simpler quasi-planar objects. For example, the hairs of the eyebrows are painted onto a flat surface with transparent spaces in between the painted hairs rather than creating tiny mesh objects for each of the 250-1000 individual hairs. CG programs can indicate which regions of the eyebrow should be transparent either by using a separate image where blackness indicates transparent and whiteness indicates opacity. Grayness is used to represent partial transparency. An alternative approach to representing transparency is to use an image format like .tga or .png which has a one byte channel, called an alpha channel, for just this purpose. Again, values near zero (black) typically represent “completely transparent” and values near 255 (white) typically represent “completely opaque”. MakeHuman represents the transparent regions of its assets using the alpha channel method and the .png format for textures. Unfortunately, importers for filmbox (FBX) and collada formats (DAE) do not automatically extract the transparency information provided by MakeHuman, or more specifically, they do not provide it to their shaders as anticipated. This is not just a MakeHuman problem but reflects multiple ways of handling transparency and alpha channels within the industry. Notably, exporting and reimporting assets with alpha channel transparency into the very same program fails with Blender, 3DSMax, and Maya for FBX, and where available, DAE formats. This forces the MakeHuman user to understand how to overcome this limitation in his favorite downstream application. Some introductory help will be provided for common applications later in this document.
There is one additional aspect of using transparency to make a single, simple mesh represent multiple small objects like eyebrows, and that is the issue of shadows. Lighting systems in 3D worlds creates a simulation of reality by making shadows appear on mesh objects in places you would expect to see them in the real world and with the soft edges you would expect to see in the real world. Shadows are a function of both the light source, the object blocking that light, and the objects receiving the reflected and refracted light from other objects. For objects that have transparency, like MakeHuman’s eyes, eyelashes, eyebrows, and hair, shadows should only be cast by the opaque portion of the texture and not by the transparent portions of the texture. The handling of shadows differs considerably from program to program, and objects with alpha channel transparency can need some special handling to accommodate these differences. This handling is not just about the assets with alpha map transparency, themselves. Sometimes it is necessary to set parameters to explicitly tell other objects like the MakeHuman body to not display shadows from the transparent regions of the eyebrows but to show shadows from the opaque hairs of the eyebrows. Shadows of transparently mapped assets will be addressed further in subsequent sections (where information is available).
==Illustrating the Export Process for Subsequent Import==
For the purposes of illustration we will take a straight forward MakeHuman character that has been given a skeleton, a pose, a skin material, clothing, eyes, eyelashes, eyebrows, hair, tongue and teeth. We will then export it for import into a number of popular downstream applications. For each application, our goal will be to get the character to look similar to its original look in MakeHuman. We will pay particular attention to the head and face because this is the area of greatest difficulty for dealing with transparency and shadows. The character has the default skeleton and has been set in the T-pose which is a common starting pose for animation-based work. The image we will be exporting looks like this in MakeHuman:
[[File:ImpExp-001.png]]
'''Figure 1.''' MakeHuman character as viewed from within MakeHuman prior to export.
In subsequent sections, we will discuss the steps needed to reproduce this look after importing into a downstream program.
==Moving Assets into Autodesk Maya==
We will use the file created in the “Illustrating the Export Process for Subsequent Import” section.
The FBX export settings used for Maya import should include setting the scale units to centimeters on export. Maya can import either ASCII or binary FBX files, so either type of export can be used for MakeHuman export. <nowiki>[RWB Note: as of this writing there are still some issues with direct FBX binary export, but those are expected to be repaired going forward]</nowiki>. By default the exported file will be found in ~/makehuman/v1/exports/ (where ~ is the user home directory).
'''Importing and Initial Setup'''
When the file is initially imported into Maya it looks like this:
[[File:ImpExp03.png]]
'''Figure 2'''
The only color in the viewport is the shoes which had a simple diffuse material which was not associated a texture. By clicking the textured icon at the top of the viewport, the viewport shows a preview of how the rendered, textured image would appear:
[[File:ImpExp04.png]]
'''Figure 3'''
Holding down Alt and scrolling with the middle mouse wheel allows us to zoom in and see the problems with the imported eyes, eyelashes, eyebrows, and possibly the hair:
[[File:ImpExp06.png]]
'''Figure 4'''
The thin lines on the face are an artifact of having included the facial rig by choosing the default skeleton. The process of fixing the '''eyes, eyelashes, eyebrows, and hair''' is the same in each case. We must tell Maya to use transparency from the corresponding alpha channel when rendering the corresponding mesh. It can be hard to select the facial mesh objects in perspective view so it is advisable to go into orthographic front view. One way to do this is with the panel menu just above the viewport.
[[File:ImpExp07.png]]
'''Figure 5'''
[[File:ImpExp08.png]]
'''Figure 6'''
'''Basic Repair of Transparent Assets'''
Once in front view, left click to select the eye meshes, and perform the following steps:
1. In the attribute editor on the right side of the screen, use the right arrow key to make sure the right-most tab is visible and click it to show the corresponding attributes.
[[File:ImpExp09.png]]
'''Figure 7'''
2. In the phong shader section, open the Common Material Attributes section and click on the checkered button to the right of transparency.
[[File:ImpExp10.png]]
'''Figure 8'''
3. In the Create Render Node dialog box that pops up, click on file.
[[File:ImpExp11.png]]
'''Figure 9'''
4. The checkered button next to transparency (see Figure 7) turns into an arrow, [[File:ImpExp12.png]] which you can click to allow the attribute editor to locate the texture map for your eyes. In our example, this texture is called blue_eyes.png. You navigate to this file by left clicking on the yellow folder file attributes section as shown in the image below:
[[File:ImpExp13.png]]
'''Figure 10'''
5. This step for transparency will probably will NOT be needed if you import straight from MakeHuman, but it may be needed if you do intermediate work in another program like 3DSMax. Open the color balance section on the same file1 tab of the attribute editor and verify that “Alpha is Luminance” is unchecked (Figure 11). Uncheck it if it is checked.
[[File:ImpExp14.png]]
'''Figure 11'''
The eyes in our image now look like this:
[[File:ImpExp15.png]]
'''Figure 12'''
----
'''Repeat for other Transparent Assets'''
You need to '''repeat steps 1-5''' after selecting the '''''eyebrows''''' in the viewport, after selecting the '''''eyelashes''''' in the viewport, and after selecting the '''''hair''''' in the viewport. When we finished these steps on each of the assets of our test model, the face is a nice approximation of what we started with in MakeHuman and looks like this:
[[File:ImpExp16.png]]
'''Figure 13'''
----
'''Raytrace Shadows'''
Depending on the lighting you are using in Maya, you might have one additional adjustment to make. To avoid transparency shadows, it is necessary to return to the phong section of the attribute editor by left clicking on the eyes in the viewport. In the phong shader section, open the raytrace options panel and move the shadow attenuation slider from its default of 0.5 to zero.
[[File:ImpExp18.png]]
'''Figure 14'''
At this point the MakeHuman model can be saved in standard Maya .mb binary file and easily brought back into Maya.
'''Re-importing "Fixed MakeHuman Assets" from Maya after saving in FBX format'''
If the file is exported from Maya as an FBX file and read back into Maya, it imports with partially transparent assets and will look like this:
[[File:ImpExp20.png]]
'''Figure 15'''
You may also see partially transparent assets if your asset pipeline involves an intermediate program between MakeHuman and Maya and you use FBX to import the workflow into Maya. To once again restore it to its intended look, '''take the eyes, eyelashes, eyebrows, and hair, and fix each as follows:'''
1. Select the asset by left clicking on it, then click the right most tab in the asset editor panel on the right side of the screen. Click the small arrow to the right of the transparency slider.
2. On the file tab that appears, open the Color Balance section and uncheck alpha Is Luminance.
3. It may also be necessary to click each of the four assets and under the Raytrace Options section of the Phong shader in the Attributes editor, change the shadow attenuation slide back to zero (refer to figure 14).
[[File:ImpExp22.png]]
'''Figure 16'''
When you have re-done these steps for each of the four transparent MakeHuman assets the character should once again look like it did in MakeHuman.
'''Adopting MakeHuman Skeletons to Maya'''
TO BE WRITTEN
==Moving Assets into Autodesk 3DSMax==
This subsection describes the restoration and use of MakeHuman's skeletal transparency and skeletal assets after importing in Autodesk 3DSMax.
>
<LI>Import process</LI>
<LI>Handling or Transparency after import</LI>
<LI>Handling of Skelton and Rigging after import</LI>
==Moving Assets into Blender==
==Moving Assets into Unreal Engine 4==
==Moving Assets into Unity Game Engine==
==Moving Assets into Google Sketchup==
==Preparing assets for use with Second Life==
79e624a1c603935b2df2268923d4d2482a20d4af
228
227
2015-07-25T16:41:38Z
Robbaer
12
/* Moving Assets into Autodesk 3DSMax */
wikitext
text/x-wiki
== Summary ==
More often than not MakeHuman users will want to move their creation into another program to continue the creation process. This section provides information on how to achieve this for common target programs. The Background and Export Example section provides some background that are common to all workflows. It is not essential to read the introduction before going straight to the program of interest, but doing so might help you understand ''why'' certain steps work or are necessary. In many cases there can be more than one way to accomplish the same thing. The method described here may not be optimal for your situation, but it should help get you started.
==Background and Technical Considerations==
'''Introduction'''
Many MakeHuman users will use the work they create in MakeHuman as a component of a project completed in an external, downstream application. The most common target applications are 3D graphics applications like Blender, Autodesk 3DSMax, and Autodesk Maya or gaming engines like Unity Engine or Unreal Engine 4 or Virtual Worlds like Second Life. In some cases, the MakeHuman user will be interested in moving just the mesh. In other cases, the user will be interested in moving a complete, posed, skeletonized character to the downstream application. The purpose of this document is to discuss the basic process of moving a finished MakeHuman asset to a downstream program and producing a reasonable facsimile of its MakeHuman appearance in the downstream application. It is important to recognize that because each application has its own way of representing 3D assets, and because each export format has its own set of idiosyncrasies, there will be adjustments and approximations in the asset transfer process.
'''Format Considerations'''
In an effort to provide the broadest latitude for user workflows, the MakeHuman development team is directing it major export support toward Autodesk FBX format and Khronos Collada format. In addition, Blender users have the option to install the [https://bitbucket.org/ThomasMakeHuman/mhx2-makehuman-exchange independently developed .mhx2 tools], which are developed and maintained by Thomas Larson, independent of MakeHuman itself. Collada is a text-based format and is an open standard, but implementation of the standard is not as consistent as might be hoped. FBX is a proprietary standard developed by Autodesk and supported through a software development kit (FBX SDK) written in C++ and a Python FBX scripting template. The FBX standard is periodically updated by Autodesk and can be saved as either an ASCII or a binary format. Downstream programs may make assumptions about the FBX version being imported, and may limit users to either binary or ASCII importing. Surprisingly, CG assets exported from various programs as collada and FBX do not make it back into the same program as a round-trip without changes to some components of the scene. For example, this is true of FBX format in both 3DSMax and Maya for MakeHumanassets. It is also true for Blender with both FBX and collada format for MakeHumanassets. In this document, we will attempt to provide some support for dealing with this type of surprise.
'''MakeHuman Shader and Asset Rendering'''
A “shader” is computer code that translates digital information into a properly rendered image on the computer screen. Different algorithms use different methods of constructing such a display. By default in MakeHuman, the viewport lighting is handled by the built-in light-sphere shader. The light-sphere shader takes advantage of support for the openGL standard provided by today’s graphics cards. What the viewer sees on the screen depends not only on the color of assets, like skin and clothing, but also on the nature of the lights illuminating the scene and causing reflections and shadows. Most downstream programs use other shader strategies, the most common of which include Phong shaders, Blinn shaders, or Lambert shaders. Because the code and conceptual design of these shaders differs from that of the MakeHuman light-sphere shader, the user should be prepared to make some adjustments in the downstream program to get the final desired effect. Some MakeHuman assets also include Normal maps which the user will want to integrate into the downstream applications rendering.
When a MakeHuman material (for example, skin or clothing or eyelashes) is exported, it carries with it a limited amount of fundamental information for by the downstream program’s shaders. In an ideal world, the downstream program would import this raw information, correctly populate the variables in its shaders, and yield the same view of the human that was exported from MakeHuman. At present this does not typically happen, and the user must make some adjustments. This Wiki section is designed to help you negotiate through that process.
'''Spatial transformation: MakeHuman Coordinate System, MakeHuman Skeletons, and MakeHuman Scales'''
The MakeHuman viewport is oriented so that the positive end of the x-axis is to the right, the positive end of the y-axis it up, and the positive end of the z-axis is out through the front to the screen. Other CG programs can use other schemes, so it is essential to know the coordinate system used by the downstream target at export time, if you wish to minimize the adjustments you make after importing. The settings tab allows users to work in metric units of decimeters or imperial units of inches. Downstream programs vary in their de facto units, and again, it is generally a good idea to anticipate your needs at export time rather than trying to make adjustments during or after import. It is sometimes said that these programs have no default unit. To a degree this is true. However, the default grid pattern, assumptions of other humanoid producing programs, and assumptions of the “physics systems” will often work best with the export units specified in the table below:
TABLE HERE
'''Working with Rigs and Skeletons'''
Internally, MakeHuman uses its default skeleton as the basis of mesh vertex weighting for creating the poses available on the pose tab. This rig includes a special set of bones that can be used for driving facial expressions, but as of the current release (MakeHuman 1.1.x), there is not extensive support for inverse kinematics, and animation must be done downstream in the production pipeline. Historically, MakeHuman has had close ties to Blender, but the ultimate development goal is to provide strong generic support for all the major tools used in the industry, and with MakeHuman 1.1.x, substantial progress has been made by providing weighted skeletons suited for standard use in various downstream applications. For the most part, the name of the most appropriate rig will be clearly associated with the target downstream application, but the tag filters on the Pose/Animate | skeleton tab are intended to help choose a rig suited more generally to a specific purpose like motion capture integration, facial animation, or gaming applications. MakeHuman is designed to provide the user with maximum flexibility at creation time. To provide skeletons that work perfectly with every conceivable variation of the sliders is a laudable but elusive goal. That said, the user should get excellent results with the current approach, but the user should be prepared to make some minor tweaks to skeletons and weights downstream, particularly with extreme character dimensions or extreme poses.
'''MakeHuman Assets with transparency'''
In CG art, materials for mesh objects are frequently created by shaders that use various types of image maps to provide some of the information for determining the color, transparency, and light behavior on the surface of mesh objects. These image maps are referred to as textures. MakeHuman has textured materials available for the body (including proxy topologies), eyes, eyebrows, eyelashes, tongue, teeth, and hair. During export, these textures need to made available to the program that will be importing the MakeHuman output. Two aspects of this process need to be understood by the MakeHuman user: 1) how textures are saved; and 2) how transparency is handled.
There are two possible standards for storing texture assets upon export. They can either be embedded in an exported file, or they can be saved to a folder as named images with reference to the location of those files in the exported file. At present, MakeHuman uses the latter approach when exporting material textures. Following the export process, MakeHuman exports will be located in ~/makehuman/v1/exports/, and the texture images will be located in a corresponding subfolder ~/makehuman/v1/exports/textures. The tilde symbol indicates your user drive and home document directory. [For example, on Windows Vista and later, this typically would be: C:/Users/%USERNAME%/Documents/makehuman/v1/exports and a textures subfolder, where %USERNAME% is replaced by your username.]
Transparency is used in 3D art to let a viewer see through a mesh object to experience the color, reflections and lighting behind that object. MakeHuman uses transparency with textures for the eyes, eyebrows, eyelashes, and hair. This allows complex real world geometry to be represented by much simpler quasi-planar objects. For example, the hairs of the eyebrows are painted onto a flat surface with transparent spaces in between the painted hairs rather than creating tiny mesh objects for each of the 250-1000 individual hairs. CG programs can indicate which regions of the eyebrow should be transparent either by using a separate image where blackness indicates transparent and whiteness indicates opacity. Grayness is used to represent partial transparency. An alternative approach to representing transparency is to use an image format like .tga or .png which has a one byte channel, called an alpha channel, for just this purpose. Again, values near zero (black) typically represent “completely transparent” and values near 255 (white) typically represent “completely opaque”. MakeHuman represents the transparent regions of its assets using the alpha channel method and the .png format for textures. Unfortunately, importers for filmbox (FBX) and collada formats (DAE) do not automatically extract the transparency information provided by MakeHuman, or more specifically, they do not provide it to their shaders as anticipated. This is not just a MakeHuman problem but reflects multiple ways of handling transparency and alpha channels within the industry. Notably, exporting and reimporting assets with alpha channel transparency into the very same program fails with Blender, 3DSMax, and Maya for FBX, and where available, DAE formats. This forces the MakeHuman user to understand how to overcome this limitation in his favorite downstream application. Some introductory help will be provided for common applications later in this document.
There is one additional aspect of using transparency to make a single, simple mesh represent multiple small objects like eyebrows, and that is the issue of shadows. Lighting systems in 3D worlds creates a simulation of reality by making shadows appear on mesh objects in places you would expect to see them in the real world and with the soft edges you would expect to see in the real world. Shadows are a function of both the light source, the object blocking that light, and the objects receiving the reflected and refracted light from other objects. For objects that have transparency, like MakeHuman’s eyes, eyelashes, eyebrows, and hair, shadows should only be cast by the opaque portion of the texture and not by the transparent portions of the texture. The handling of shadows differs considerably from program to program, and objects with alpha channel transparency can need some special handling to accommodate these differences. This handling is not just about the assets with alpha map transparency, themselves. Sometimes it is necessary to set parameters to explicitly tell other objects like the MakeHuman body to not display shadows from the transparent regions of the eyebrows but to show shadows from the opaque hairs of the eyebrows. Shadows of transparently mapped assets will be addressed further in subsequent sections (where information is available).
==Illustrating the Export Process for Subsequent Import==
For the purposes of illustration we will take a straight forward MakeHuman character that has been given a skeleton, a pose, a skin material, clothing, eyes, eyelashes, eyebrows, hair, tongue and teeth. We will then export it for import into a number of popular downstream applications. For each application, our goal will be to get the character to look similar to its original look in MakeHuman. We will pay particular attention to the head and face because this is the area of greatest difficulty for dealing with transparency and shadows. The character has the default skeleton and has been set in the T-pose which is a common starting pose for animation-based work. The image we will be exporting looks like this in MakeHuman:
[[File:ImpExp-001.png]]
'''Figure 1.''' MakeHuman character as viewed from within MakeHuman prior to export.
In subsequent sections, we will discuss the steps needed to reproduce this look after importing into a downstream program.
==Moving Assets into Autodesk Maya==
We will use the file created in the “Illustrating the Export Process for Subsequent Import” section.
The FBX export settings used for Maya import should include setting the scale units to centimeters on export. Maya can import either ASCII or binary FBX files, so either type of export can be used for MakeHuman export. <nowiki>[RWB Note: as of this writing there are still some issues with direct FBX binary export, but those are expected to be repaired going forward]</nowiki>. By default the exported file will be found in ~/makehuman/v1/exports/ (where ~ is the user home directory).
When the file is initially imported into Maya it looks like this:
[[File:ImpExp03.png]]
'''Figure 2'''
The only color in the viewport is the shoes which had a simple diffuse material which was not associated a texture. By clicking the textured icon at the top of the viewport, the viewport shows a preview of how the rendered, textured image would appear:
[[File:ImpExp04.png]]
'''Figure 3'''
Holding down Alt and scrolling with the middle mouse wheel allows us to zoom in and see the problems with the imported eyes, eyelashes, eyebrows, and possibly the hair:
[[File:ImpExp06.png]]
'''Figure 4'''
The thin lines on the face are an artifact of having included the facial rig by choosing the default skeleton. The process of fixing the eyes, eyelashes, eyebrows, and hair is the same in each case. We must tell Maya to use transparency from the corresponding alpha channel when rendering the corresponding mesh. It can be hard to select the facial mesh objects in perspective view so it is advisable to go into orthographic front view. One way to do this is with the panel menu just above the viewport.
[[File:ImpExp07.png]]
'''Figure 5'''
[[File:ImpExp08.png]]
'''Figure 6'''
Once in front view, left click to select the eye meshes, and perform the following steps:
1. In the attribute editor on the right side of the screen, use the right arrow key to make sure the right-most tab is visible and click it to show the corresponding attributes.
[[File:ImpExp09.png]]
'''Figure 7'''
2. In the phong shader section, open the Common Material Attributes section and click on the checkered button to the right of transparency.
[[File:ImpExp10.png]]
'''Figure 8'''
3. In the Create Render Node dialog box that pops up, click on file.
[[File:ImpExp11.png]]
'''Figure 9'''
4. The checkered button next to transparency (see Figure 7) turns into an arrow, [[File:ImpExp12.png]] which you can click to allow the attribute editor to locate the texture map for your eyes. In our example, this texture is called blue_eyes.png. You navigate to this file by left clicking on the yellow folder file attributes section as shown in the image below:
[[File:ImpExp13.png]]
'''Figure 10'''
5. This step for transparency will probably will NOT be needed if you import straight from MakeHuman, but it may be needed if you do intermediate work in another program like 3DSMax. Open the color balance section on the same file1 tab of the attribute editor and verify that “Alpha is Luminance” is unchecked (Figure 11). Uncheck it if it is checked.
[[File:ImpExp14.png]]
'''Figure 11'''
The eyes in our image now look like this:
[[File:ImpExp15.png]]
'''Figure 12'''
----
'''Repeat for other Transparent Assets'''
You need to '''repeat steps 1-5''' after selecting the '''''eyebrows''''' in the viewport, after selecting the '''''eyelashes''''' in the viewport, and after selecting the '''''hair''''' in the viewport. When we finished these steps on each of the assets of our test model, the face is a nice approximation of what we started with in MakeHuman and looks like this:
[[File:ImpExp16.png]]
'''Figure 13'''
----
'''Raytrace Shadows'''
Depending on the lighting you are using in Maya, you might have one additional adjustment to make. To avoid transparency shadows, it is necessary to return to the phong section of the attribute editor by left clicking on the eyes in the viewport. In the phong shader section, open the raytrace options panel and move the shadow attenuation slider from its default of 0.5 to zero.
[[File:ImpExp18.png]]
'''Figure 14'''
At this point the MakeHuman model can be saved in standard Maya .mb binary file and easily brought back into Maya.
'''Re-importing "Fixed MakeHuman Assets" from Maya after saving in FBX format'''
If the file is exported from Maya as an FBX file and read back into Maya, it imports with partially transparent assets and will look like this:
[[File:ImpExp20.png]]
'''Figure 15'''
You may also see partially transparent assets if your asset pipeline involves an intermediate program between MakeHuman and Maya and you use FBX to import the workflow into Maya. To once again restore it to its intended look, '''take the eyes, eyelashes, eyebrows, and hair, and fix each as follows:'''
1. Select the asset by left clicking on it, then click the right most tab in the asset editor panel on the right side of the screen. Click the small arrow to the right of the transparency slider.
2. On the file tab that appears, open the Color Balance section and uncheck alpha Is Luminance.
3. It may also be necessary to click each of the four assets and under the Raytrace Options section of the Phong shader in the Attributes editor, change the shadow attenuation slide back to zero (refer to figure 14).
[[File:ImpExp22.png]]
'''Figure 16'''
When you have re-done these steps for each of the four transparent MakeHuman assets the character should once again look like it did in MakeHuman.
'''Adopting MakeHuman Skeletons to Maya'''
TO BE WRITTEN
==Moving Assets into Autodesk 3DSMax==
This subsection describes the restoration and use of MakeHuman's skeletal transparency and skeletal assets after importing in Autodesk 3DSMax.
>
<LI>Import process</LI>
<LI>Handling or Transparency after import</LI>
<LI>Handling of Skelton and Rigging after import</LI>
==Moving Assets into Blender==
==Moving Assets into Unreal Engine 4==
==Moving Assets into Unity Game Engine==
==Moving Assets into Google Sketchup==
==Preparing assets for use with Second Life==
744187c9750a6e8457df0ff639b451fb06face70
227
226
2015-07-25T16:16:08Z
Robbaer
12
/* Moving Assets into Autodesk Maya */
wikitext
text/x-wiki
== Summary ==
More often than not MakeHuman users will want to move their creation into another program to continue the creation process. This section provides information on how to achieve this for common target programs. The Background and Export Example section provides some background that are common to all workflows. It is not essential to read the introduction before going straight to the program of interest, but doing so might help you understand ''why'' certain steps work or are necessary. In many cases there can be more than one way to accomplish the same thing. The method described here may not be optimal for your situation, but it should help get you started.
==Background and Technical Considerations==
'''Introduction'''
Many MakeHuman users will use the work they create in MakeHuman as a component of a project completed in an external, downstream application. The most common target applications are 3D graphics applications like Blender, Autodesk 3DSMax, and Autodesk Maya or gaming engines like Unity Engine or Unreal Engine 4 or Virtual Worlds like Second Life. In some cases, the MakeHuman user will be interested in moving just the mesh. In other cases, the user will be interested in moving a complete, posed, skeletonized character to the downstream application. The purpose of this document is to discuss the basic process of moving a finished MakeHuman asset to a downstream program and producing a reasonable facsimile of its MakeHuman appearance in the downstream application. It is important to recognize that because each application has its own way of representing 3D assets, and because each export format has its own set of idiosyncrasies, there will be adjustments and approximations in the asset transfer process.
'''Format Considerations'''
In an effort to provide the broadest latitude for user workflows, the MakeHuman development team is directing it major export support toward Autodesk FBX format and Khronos Collada format. In addition, Blender users have the option to install the [https://bitbucket.org/ThomasMakeHuman/mhx2-makehuman-exchange independently developed .mhx2 tools], which are developed and maintained by Thomas Larson, independent of MakeHuman itself. Collada is a text-based format and is an open standard, but implementation of the standard is not as consistent as might be hoped. FBX is a proprietary standard developed by Autodesk and supported through a software development kit (FBX SDK) written in C++ and a Python FBX scripting template. The FBX standard is periodically updated by Autodesk and can be saved as either an ASCII or a binary format. Downstream programs may make assumptions about the FBX version being imported, and may limit users to either binary or ASCII importing. Surprisingly, CG assets exported from various programs as collada and FBX do not make it back into the same program as a round-trip without changes to some components of the scene. For example, this is true of FBX format in both 3DSMax and Maya for MakeHumanassets. It is also true for Blender with both FBX and collada format for MakeHumanassets. In this document, we will attempt to provide some support for dealing with this type of surprise.
'''MakeHuman Shader and Asset Rendering'''
A “shader” is computer code that translates digital information into a properly rendered image on the computer screen. Different algorithms use different methods of constructing such a display. By default in MakeHuman, the viewport lighting is handled by the built-in light-sphere shader. The light-sphere shader takes advantage of support for the openGL standard provided by today’s graphics cards. What the viewer sees on the screen depends not only on the color of assets, like skin and clothing, but also on the nature of the lights illuminating the scene and causing reflections and shadows. Most downstream programs use other shader strategies, the most common of which include Phong shaders, Blinn shaders, or Lambert shaders. Because the code and conceptual design of these shaders differs from that of the MakeHuman light-sphere shader, the user should be prepared to make some adjustments in the downstream program to get the final desired effect. Some MakeHuman assets also include Normal maps which the user will want to integrate into the downstream applications rendering.
When a MakeHuman material (for example, skin or clothing or eyelashes) is exported, it carries with it a limited amount of fundamental information for by the downstream program’s shaders. In an ideal world, the downstream program would import this raw information, correctly populate the variables in its shaders, and yield the same view of the human that was exported from MakeHuman. At present this does not typically happen, and the user must make some adjustments. This Wiki section is designed to help you negotiate through that process.
'''Spatial transformation: MakeHuman Coordinate System, MakeHuman Skeletons, and MakeHuman Scales'''
The MakeHuman viewport is oriented so that the positive end of the x-axis is to the right, the positive end of the y-axis it up, and the positive end of the z-axis is out through the front to the screen. Other CG programs can use other schemes, so it is essential to know the coordinate system used by the downstream target at export time, if you wish to minimize the adjustments you make after importing. The settings tab allows users to work in metric units of decimeters or imperial units of inches. Downstream programs vary in their de facto units, and again, it is generally a good idea to anticipate your needs at export time rather than trying to make adjustments during or after import. It is sometimes said that these programs have no default unit. To a degree this is true. However, the default grid pattern, assumptions of other humanoid producing programs, and assumptions of the “physics systems” will often work best with the export units specified in the table below:
TABLE HERE
'''Working with Rigs and Skeletons'''
Internally, MakeHuman uses its default skeleton as the basis of mesh vertex weighting for creating the poses available on the pose tab. This rig includes a special set of bones that can be used for driving facial expressions, but as of the current release (MakeHuman 1.1.x), there is not extensive support for inverse kinematics, and animation must be done downstream in the production pipeline. Historically, MakeHuman has had close ties to Blender, but the ultimate development goal is to provide strong generic support for all the major tools used in the industry, and with MakeHuman 1.1.x, substantial progress has been made by providing weighted skeletons suited for standard use in various downstream applications. For the most part, the name of the most appropriate rig will be clearly associated with the target downstream application, but the tag filters on the Pose/Animate | skeleton tab are intended to help choose a rig suited more generally to a specific purpose like motion capture integration, facial animation, or gaming applications. MakeHuman is designed to provide the user with maximum flexibility at creation time. To provide skeletons that work perfectly with every conceivable variation of the sliders is a laudable but elusive goal. That said, the user should get excellent results with the current approach, but the user should be prepared to make some minor tweaks to skeletons and weights downstream, particularly with extreme character dimensions or extreme poses.
'''MakeHuman Assets with transparency'''
In CG art, materials for mesh objects are frequently created by shaders that use various types of image maps to provide some of the information for determining the color, transparency, and light behavior on the surface of mesh objects. These image maps are referred to as textures. MakeHuman has textured materials available for the body (including proxy topologies), eyes, eyebrows, eyelashes, tongue, teeth, and hair. During export, these textures need to made available to the program that will be importing the MakeHuman output. Two aspects of this process need to be understood by the MakeHuman user: 1) how textures are saved; and 2) how transparency is handled.
There are two possible standards for storing texture assets upon export. They can either be embedded in an exported file, or they can be saved to a folder as named images with reference to the location of those files in the exported file. At present, MakeHuman uses the latter approach when exporting material textures. Following the export process, MakeHuman exports will be located in ~/makehuman/v1/exports/, and the texture images will be located in a corresponding subfolder ~/makehuman/v1/exports/textures. The tilde symbol indicates your user drive and home document directory. [For example, on Windows Vista and later, this typically would be: C:/Users/%USERNAME%/Documents/makehuman/v1/exports and a textures subfolder, where %USERNAME% is replaced by your username.]
Transparency is used in 3D art to let a viewer see through a mesh object to experience the color, reflections and lighting behind that object. MakeHuman uses transparency with textures for the eyes, eyebrows, eyelashes, and hair. This allows complex real world geometry to be represented by much simpler quasi-planar objects. For example, the hairs of the eyebrows are painted onto a flat surface with transparent spaces in between the painted hairs rather than creating tiny mesh objects for each of the 250-1000 individual hairs. CG programs can indicate which regions of the eyebrow should be transparent either by using a separate image where blackness indicates transparent and whiteness indicates opacity. Grayness is used to represent partial transparency. An alternative approach to representing transparency is to use an image format like .tga or .png which has a one byte channel, called an alpha channel, for just this purpose. Again, values near zero (black) typically represent “completely transparent” and values near 255 (white) typically represent “completely opaque”. MakeHuman represents the transparent regions of its assets using the alpha channel method and the .png format for textures. Unfortunately, importers for filmbox (FBX) and collada formats (DAE) do not automatically extract the transparency information provided by MakeHuman, or more specifically, they do not provide it to their shaders as anticipated. This is not just a MakeHuman problem but reflects multiple ways of handling transparency and alpha channels within the industry. Notably, exporting and reimporting assets with alpha channel transparency into the very same program fails with Blender, 3DSMax, and Maya for FBX, and where available, DAE formats. This forces the MakeHuman user to understand how to overcome this limitation in his favorite downstream application. Some introductory help will be provided for common applications later in this document.
There is one additional aspect of using transparency to make a single, simple mesh represent multiple small objects like eyebrows, and that is the issue of shadows. Lighting systems in 3D worlds creates a simulation of reality by making shadows appear on mesh objects in places you would expect to see them in the real world and with the soft edges you would expect to see in the real world. Shadows are a function of both the light source, the object blocking that light, and the objects receiving the reflected and refracted light from other objects. For objects that have transparency, like MakeHuman’s eyes, eyelashes, eyebrows, and hair, shadows should only be cast by the opaque portion of the texture and not by the transparent portions of the texture. The handling of shadows differs considerably from program to program, and objects with alpha channel transparency can need some special handling to accommodate these differences. This handling is not just about the assets with alpha map transparency, themselves. Sometimes it is necessary to set parameters to explicitly tell other objects like the MakeHuman body to not display shadows from the transparent regions of the eyebrows but to show shadows from the opaque hairs of the eyebrows. Shadows of transparently mapped assets will be addressed further in subsequent sections (where information is available).
==Illustrating the Export Process for Subsequent Import==
For the purposes of illustration we will take a straight forward MakeHuman character that has been given a skeleton, a pose, a skin material, clothing, eyes, eyelashes, eyebrows, hair, tongue and teeth. We will then export it for import into a number of popular downstream applications. For each application, our goal will be to get the character to look similar to its original look in MakeHuman. We will pay particular attention to the head and face because this is the area of greatest difficulty for dealing with transparency and shadows. The character has the default skeleton and has been set in the T-pose which is a common starting pose for animation-based work. The image we will be exporting looks like this in MakeHuman:
[[File:ImpExp-001.png]]
'''Figure 1.''' MakeHuman character as viewed from within MakeHuman prior to export.
In subsequent sections, we will discuss the steps needed to reproduce this look after importing into a downstream program.
==Moving Assets into Autodesk Maya==
We will use the file created in the “Illustrating the Export Process for Subsequent Import” section.
The FBX export settings used for Maya import should include setting the scale units to centimeters on export. Maya can import either ASCII or binary FBX files, so either type of export can be used for MakeHuman export. <nowiki>[RWB Note: as of this writing there are still some issues with direct FBX binary export, but those are expected to be repaired going forward]</nowiki>. By default the exported file will be found in ~/makehuman/v1/exports/ (where ~ is the user home directory).
When the file is initially imported into Maya it looks like this:
[[File:ImpExp03.png]]
'''Figure 2'''
The only color in the viewport is the shoes which had a simple diffuse material which was not associated a texture. By clicking the textured icon at the top of the viewport, the viewport shows a preview of how the rendered, textured image would appear:
[[File:ImpExp04.png]]
'''Figure 3'''
Holding down Alt and scrolling with the middle mouse wheel allows us to zoom in and see the problems with the imported eyes, eyelashes, eyebrows, and possibly the hair:
[[File:ImpExp06.png]]
'''Figure 4'''
The thin lines on the face are an artifact of having included the facial rig by choosing the default skeleton. The process of fixing the eyes, eyelashes, eyebrows, and hair is the same in each case. We must tell Maya to use transparency from the corresponding alpha channel when rendering the corresponding mesh. It can be hard to select the facial mesh objects in perspective view so it is advisable to go into orthographic front view. One way to do this is with the panel menu just above the viewport.
[[File:ImpExp07.png]]
'''Figure 5'''
[[File:ImpExp08.png]]
'''Figure 6'''
Once in front view, left click to select the eye meshes, and perform the following steps:
1. In the attribute editor on the right side of the screen, use the right arrow key to make sure the right-most tab is visible and click it to show the corresponding attributes.
[[File:ImpExp09.png]]
'''Figure 7'''
2. In the phong shader section, open the Common Material Attributes section and click on the checkered button to the right of transparency.
[[File:ImpExp10.png]]
'''Figure 8'''
3. In the Create Render Node dialog box that pops up, click on file.
[[File:ImpExp11.png]]
'''Figure 9'''
4. The checkered button next to transparency (see Figure 7) turns into an arrow, [[File:ImpExp12.png]] which you can click to allow the attribute editor to locate the texture map for your eyes. In our example, this texture is called blue_eyes.png. You navigate to this file by left clicking on the yellow folder file attributes section as shown in the image below:
[[File:ImpExp13.png]]
'''Figure 10'''
5. This step for transparency will probably will NOT be needed if you import straight from MakeHuman, but it may be needed if you do intermediate work in another program like 3DSMax. Open the color balance section on the same file1 tab of the attribute editor and verify that “Alpha is Luminance” is unchecked (Figure 11). Uncheck it if it is checked.
[[File:ImpExp14.png]]
'''Figure 11'''
The eyes in our image now look like this:
[[File:ImpExp15.png]]
'''Figure 12'''
----
'''Repeat for other Transparent Assets'''
You need to '''repeat steps 1-5''' after selecting the '''''eyebrows''''' in the viewport, after selecting the '''''eyelashes''''' in the viewport, and after selecting the '''''hair''''' in the viewport. When we finished these steps on each of the assets of our test model, the face is a nice approximation of what we started with in MakeHuman and looks like this:
[[File:ImpExp16.png]]
'''Figure 13'''
----
'''Raytrace Shadows'''
Depending on the lighting you are using in Maya, you might have one additional adjustment to make. To avoid transparency shadows, it is necessary to return to the phong section of the attribute editor by left clicking on the eyes in the viewport. In the phong shader section, open the raytrace options panel and move the shadow attenuation slider from its default of 0.5 to zero.
[[File:ImpExp18.png]]
'''Figure 14'''
At this point the MakeHuman model can be saved in standard Maya .mb binary file and easily brought back into Maya.
'''Re-importing "Fixed MakeHuman Assets" from Maya after saving in FBX format'''
If the file is exported from Maya as an FBX file and read back into Maya, it imports with partially transparent assets and will look like this:
[[File:ImpExp20.png]]
'''Figure 15'''
You may also see partially transparent assets if your asset pipeline involves an intermediate program between MakeHuman and Maya and you use FBX to import the workflow into Maya. To once again restore it to its intended look, '''take the eyes, eyelashes, eyebrows, and hair, and fix each as follows:'''
1. Select the asset by left clicking on it, then click the right most tab in the asset editor panel on the right side of the screen. Click the small arrow to the right of the transparency slider.
2. On the file tab that appears, open the Color Balance section and uncheck alpha Is Luminance.
3. It may also be necessary to click each of the four assets and under the Raytrace Options section of the Phong shader in the Attributes editor, change the shadow attenuation slide back to zero (refer to figure 14).
[[File:ImpExp22.png]]
'''Figure 16'''
When you have re-done these steps for each of the four transparent MakeHuman assets the character should once again look like it did in MakeHuman.
'''Adopting MakeHuman Skeletons to Maya'''
TO BE WRITTEN
==Moving Assets into Autodesk 3DSMax==
==Moving Assets into Blender==
==Moving Assets into Unreal Engine 4==
==Moving Assets into Unity Game Engine==
==Moving Assets into Google Sketchup==
==Preparing assets for use with Second Life==
fc8d1c59692fb118728e306d80d568cd409d7cbe
226
225
2015-07-25T16:08:21Z
Robbaer
12
/* Moving Assets into Autodesk Maya */
wikitext
text/x-wiki
== Summary ==
More often than not MakeHuman users will want to move their creation into another program to continue the creation process. This section provides information on how to achieve this for common target programs. The Background and Export Example section provides some background that are common to all workflows. It is not essential to read the introduction before going straight to the program of interest, but doing so might help you understand ''why'' certain steps work or are necessary. In many cases there can be more than one way to accomplish the same thing. The method described here may not be optimal for your situation, but it should help get you started.
==Background and Technical Considerations==
'''Introduction'''
Many MakeHuman users will use the work they create in MakeHuman as a component of a project completed in an external, downstream application. The most common target applications are 3D graphics applications like Blender, Autodesk 3DSMax, and Autodesk Maya or gaming engines like Unity Engine or Unreal Engine 4 or Virtual Worlds like Second Life. In some cases, the MakeHuman user will be interested in moving just the mesh. In other cases, the user will be interested in moving a complete, posed, skeletonized character to the downstream application. The purpose of this document is to discuss the basic process of moving a finished MakeHuman asset to a downstream program and producing a reasonable facsimile of its MakeHuman appearance in the downstream application. It is important to recognize that because each application has its own way of representing 3D assets, and because each export format has its own set of idiosyncrasies, there will be adjustments and approximations in the asset transfer process.
'''Format Considerations'''
In an effort to provide the broadest latitude for user workflows, the MakeHuman development team is directing it major export support toward Autodesk FBX format and Khronos Collada format. In addition, Blender users have the option to install the [https://bitbucket.org/ThomasMakeHuman/mhx2-makehuman-exchange independently developed .mhx2 tools], which are developed and maintained by Thomas Larson, independent of MakeHuman itself. Collada is a text-based format and is an open standard, but implementation of the standard is not as consistent as might be hoped. FBX is a proprietary standard developed by Autodesk and supported through a software development kit (FBX SDK) written in C++ and a Python FBX scripting template. The FBX standard is periodically updated by Autodesk and can be saved as either an ASCII or a binary format. Downstream programs may make assumptions about the FBX version being imported, and may limit users to either binary or ASCII importing. Surprisingly, CG assets exported from various programs as collada and FBX do not make it back into the same program as a round-trip without changes to some components of the scene. For example, this is true of FBX format in both 3DSMax and Maya for MakeHumanassets. It is also true for Blender with both FBX and collada format for MakeHumanassets. In this document, we will attempt to provide some support for dealing with this type of surprise.
'''MakeHuman Shader and Asset Rendering'''
A “shader” is computer code that translates digital information into a properly rendered image on the computer screen. Different algorithms use different methods of constructing such a display. By default in MakeHuman, the viewport lighting is handled by the built-in light-sphere shader. The light-sphere shader takes advantage of support for the openGL standard provided by today’s graphics cards. What the viewer sees on the screen depends not only on the color of assets, like skin and clothing, but also on the nature of the lights illuminating the scene and causing reflections and shadows. Most downstream programs use other shader strategies, the most common of which include Phong shaders, Blinn shaders, or Lambert shaders. Because the code and conceptual design of these shaders differs from that of the MakeHuman light-sphere shader, the user should be prepared to make some adjustments in the downstream program to get the final desired effect. Some MakeHuman assets also include Normal maps which the user will want to integrate into the downstream applications rendering.
When a MakeHuman material (for example, skin or clothing or eyelashes) is exported, it carries with it a limited amount of fundamental information for by the downstream program’s shaders. In an ideal world, the downstream program would import this raw information, correctly populate the variables in its shaders, and yield the same view of the human that was exported from MakeHuman. At present this does not typically happen, and the user must make some adjustments. This Wiki section is designed to help you negotiate through that process.
'''Spatial transformation: MakeHuman Coordinate System, MakeHuman Skeletons, and MakeHuman Scales'''
The MakeHuman viewport is oriented so that the positive end of the x-axis is to the right, the positive end of the y-axis it up, and the positive end of the z-axis is out through the front to the screen. Other CG programs can use other schemes, so it is essential to know the coordinate system used by the downstream target at export time, if you wish to minimize the adjustments you make after importing. The settings tab allows users to work in metric units of decimeters or imperial units of inches. Downstream programs vary in their de facto units, and again, it is generally a good idea to anticipate your needs at export time rather than trying to make adjustments during or after import. It is sometimes said that these programs have no default unit. To a degree this is true. However, the default grid pattern, assumptions of other humanoid producing programs, and assumptions of the “physics systems” will often work best with the export units specified in the table below:
TABLE HERE
'''Working with Rigs and Skeletons'''
Internally, MakeHuman uses its default skeleton as the basis of mesh vertex weighting for creating the poses available on the pose tab. This rig includes a special set of bones that can be used for driving facial expressions, but as of the current release (MakeHuman 1.1.x), there is not extensive support for inverse kinematics, and animation must be done downstream in the production pipeline. Historically, MakeHuman has had close ties to Blender, but the ultimate development goal is to provide strong generic support for all the major tools used in the industry, and with MakeHuman 1.1.x, substantial progress has been made by providing weighted skeletons suited for standard use in various downstream applications. For the most part, the name of the most appropriate rig will be clearly associated with the target downstream application, but the tag filters on the Pose/Animate | skeleton tab are intended to help choose a rig suited more generally to a specific purpose like motion capture integration, facial animation, or gaming applications. MakeHuman is designed to provide the user with maximum flexibility at creation time. To provide skeletons that work perfectly with every conceivable variation of the sliders is a laudable but elusive goal. That said, the user should get excellent results with the current approach, but the user should be prepared to make some minor tweaks to skeletons and weights downstream, particularly with extreme character dimensions or extreme poses.
'''MakeHuman Assets with transparency'''
In CG art, materials for mesh objects are frequently created by shaders that use various types of image maps to provide some of the information for determining the color, transparency, and light behavior on the surface of mesh objects. These image maps are referred to as textures. MakeHuman has textured materials available for the body (including proxy topologies), eyes, eyebrows, eyelashes, tongue, teeth, and hair. During export, these textures need to made available to the program that will be importing the MakeHuman output. Two aspects of this process need to be understood by the MakeHuman user: 1) how textures are saved; and 2) how transparency is handled.
There are two possible standards for storing texture assets upon export. They can either be embedded in an exported file, or they can be saved to a folder as named images with reference to the location of those files in the exported file. At present, MakeHuman uses the latter approach when exporting material textures. Following the export process, MakeHuman exports will be located in ~/makehuman/v1/exports/, and the texture images will be located in a corresponding subfolder ~/makehuman/v1/exports/textures. The tilde symbol indicates your user drive and home document directory. [For example, on Windows Vista and later, this typically would be: C:/Users/%USERNAME%/Documents/makehuman/v1/exports and a textures subfolder, where %USERNAME% is replaced by your username.]
Transparency is used in 3D art to let a viewer see through a mesh object to experience the color, reflections and lighting behind that object. MakeHuman uses transparency with textures for the eyes, eyebrows, eyelashes, and hair. This allows complex real world geometry to be represented by much simpler quasi-planar objects. For example, the hairs of the eyebrows are painted onto a flat surface with transparent spaces in between the painted hairs rather than creating tiny mesh objects for each of the 250-1000 individual hairs. CG programs can indicate which regions of the eyebrow should be transparent either by using a separate image where blackness indicates transparent and whiteness indicates opacity. Grayness is used to represent partial transparency. An alternative approach to representing transparency is to use an image format like .tga or .png which has a one byte channel, called an alpha channel, for just this purpose. Again, values near zero (black) typically represent “completely transparent” and values near 255 (white) typically represent “completely opaque”. MakeHuman represents the transparent regions of its assets using the alpha channel method and the .png format for textures. Unfortunately, importers for filmbox (FBX) and collada formats (DAE) do not automatically extract the transparency information provided by MakeHuman, or more specifically, they do not provide it to their shaders as anticipated. This is not just a MakeHuman problem but reflects multiple ways of handling transparency and alpha channels within the industry. Notably, exporting and reimporting assets with alpha channel transparency into the very same program fails with Blender, 3DSMax, and Maya for FBX, and where available, DAE formats. This forces the MakeHuman user to understand how to overcome this limitation in his favorite downstream application. Some introductory help will be provided for common applications later in this document.
There is one additional aspect of using transparency to make a single, simple mesh represent multiple small objects like eyebrows, and that is the issue of shadows. Lighting systems in 3D worlds creates a simulation of reality by making shadows appear on mesh objects in places you would expect to see them in the real world and with the soft edges you would expect to see in the real world. Shadows are a function of both the light source, the object blocking that light, and the objects receiving the reflected and refracted light from other objects. For objects that have transparency, like MakeHuman’s eyes, eyelashes, eyebrows, and hair, shadows should only be cast by the opaque portion of the texture and not by the transparent portions of the texture. The handling of shadows differs considerably from program to program, and objects with alpha channel transparency can need some special handling to accommodate these differences. This handling is not just about the assets with alpha map transparency, themselves. Sometimes it is necessary to set parameters to explicitly tell other objects like the MakeHuman body to not display shadows from the transparent regions of the eyebrows but to show shadows from the opaque hairs of the eyebrows. Shadows of transparently mapped assets will be addressed further in subsequent sections (where information is available).
==Illustrating the Export Process for Subsequent Import==
For the purposes of illustration we will take a straight forward MakeHuman character that has been given a skeleton, a pose, a skin material, clothing, eyes, eyelashes, eyebrows, hair, tongue and teeth. We will then export it for import into a number of popular downstream applications. For each application, our goal will be to get the character to look similar to its original look in MakeHuman. We will pay particular attention to the head and face because this is the area of greatest difficulty for dealing with transparency and shadows. The character has the default skeleton and has been set in the T-pose which is a common starting pose for animation-based work. The image we will be exporting looks like this in MakeHuman:
[[File:ImpExp-001.png]]
'''Figure 1.''' MakeHuman character as viewed from within MakeHuman prior to export.
In subsequent sections, we will discuss the steps needed to reproduce this look after importing into a downstream program.
==Moving Assets into Autodesk Maya==
We will use the file created in the “Illustrating the Export Process for Subsequent Import” section.
The FBX export settings used for Maya import should include setting the scale units to centimeters on export. Maya can import either ASCII or binary FBX files, so either type of export can be used for MakeHuman export. <nowiki>[RWB Note: as of this writing there are still some issues with direct FBX binary export, but those are expected to be repaired going forward]</nowiki>. By default the exported file will be found in ~/makehuman/v1/exports/ (where ~ is the user home directory).
When the file is initially imported into Maya it looks like this:
[[File:ImpExp03.png]]
'''Figure 2'''
The only color in the viewport is the shoes which had a simple diffuse material which was not associated a texture. By clicking the textured icon at the top of the viewport, the viewport shows a preview of how the rendered, textured image would appear:
[[File:ImpExp04.png]]
'''Figure 3'''
Holding down Alt and scrolling with the middle mouse wheel allows us to zoom in and see the problems with the imported eyes, eyelashes, eyebrows, and possibly the hair:
[[File:ImpExp06.png]]
'''Figure 4'''
The thin lines on the face are an artifact of having included the facial rig by choosing the default skeleton. The process of fixing the eyes, eyelashes, eyebrows, and hair is the same in each case. We must tell Maya to use transparency from the corresponding alpha channel when rendering the corresponding mesh. It can be hard to select the facial mesh objects in perspective view so it is advisable to go into orthographic front view. One way to do this is with the panel menu just above the viewport.
[[File:ImpExp07.png]]
'''Figure 5'''
[[File:ImpExp08.png]]
'''Figure 6'''
Once in front view, left click to select the eye meshes, and perform the following steps:
1. In the attribute editor on the right side of the screen, use the right arrow key to make sure the right-most tab is visible and click it to show the corresponding attributes.
[[File:ImpExp09.png]]
'''Figure 7'''
2. In the phong shader section, open the Common Material Attributes section and click on the checkered button to the right of transparency.
[[File:ImpExp10.png]]
'''Figure 8'''
3. In the Create Render Node dialog box that pops up, click on file.
[[File:ImpExp11.png]]
'''Figure 9'''
4. The checkered button next to transparency (see Figure 7) turns into an arrow, [[File:ImpExp12.png]] which you can click to allow the attribute editor to locate the texture map for your eyes. In our example, this texture is called blue_eyes.png. You navigate to this file by left clicking on the yellow folder file attributes section as shown in the image below:
[[File:ImpExp13.png]]
'''Figure 10'''
5. This step for transparency will probably will NOT be needed if you import straight from MakeHuman, but it may be needed if you do intermediate work in another program like 3DSMax. Open the color balance section on the same file1 tab of the attribute editor and verify that “Alpha is Luminance” is unchecked (Figure 11). Uncheck it if it is checked.
[[File:ImpExp14.png]]
'''Figure 11'''
The eyes in our image now look like this:
[[File:ImpExp15.png]]
'''Figure 12'''
----
'''Repeat for other Transparent Assets'''
You need to '''repeat steps 1-5''' after selecting the '''''eyebrows''''' in the viewport, after selecting the '''''eyelashes''''' in the viewport, and after selecting the '''''hair''''' in the viewport. When we finished these steps on each of the assets of our test model, the face is a nice approximation of what we started with in MakeHuman and looks like this:
[[File:ImpExp16.png]]
'''Figure 13'''
----
'''Raytrace Shadows'''
Depending on the lighting you are using in Maya, you might have one additional adjustment to make. To avoid transparency shadows, it is necessary to return to the phong section of the attribute editor by left clicking on the eyes in the viewport. In the phong shader section, open the raytrace options panel and move the shadow attenuation slider from its default of 0.5 to zero.
[[File:ImpExp18.png]]
'''Figure 14'''
At this point the MakeHuman model can be saved in standard Maya .mb binary file and easily brought back into Maya.
'''Re-importing "Fixed MakeHuman Assets" from Maya after saving in FBX format'''
If the file is exported from Maya as an FBX file and read back into Maya, it imports with partially transparent assets and will look like this:
[[File:ImpExp20.png]]
'''Figure 14'''
You may also see partially transparent assets if your asset pipeline involves an intermediate program between MakeHuman and Maya and you use FBX to import the workflow into Maya. To once again restore it to its intended look, '''take the eyes, eyelashes, eyebrows, and hair, and fix each as follows:'''
1. Select the asset by left clicking on it, then click the right most tab in the asset editor panel on the right side of the screen. Click the small arrow to the right of the transparency slider.
2. On the file tab that appears, open the Color Balance section and uncheck alpha Is Luminance.
3. It may also be necessary to click each of the four assets and under the Raytrace Options section of the Phong shader in the Attributes editor, change the shadow attenuation slide back to zero.
[[File:ImpExp22.png]]
'''Figure 15'''
When you have re-done these steps for each of the four transparent MakeHuman assets the character should once again look like it did in MakeHuman.
'''Adopting MakeHuman Skeletons to Maya'''
TO BE WRITTEN
==Moving Assets into Autodesk 3DSMax==
==Moving Assets into Blender==
==Moving Assets into Unreal Engine 4==
==Moving Assets into Unity Game Engine==
==Moving Assets into Google Sketchup==
==Preparing assets for use with Second Life==
9f665e43dfdf79b6c758990a3d88c3f3eb166047
225
224
2015-07-25T16:06:16Z
Robbaer
12
/* Moving Assets into Autodesk Maya */
wikitext
text/x-wiki
== Summary ==
More often than not MakeHuman users will want to move their creation into another program to continue the creation process. This section provides information on how to achieve this for common target programs. The Background and Export Example section provides some background that are common to all workflows. It is not essential to read the introduction before going straight to the program of interest, but doing so might help you understand ''why'' certain steps work or are necessary. In many cases there can be more than one way to accomplish the same thing. The method described here may not be optimal for your situation, but it should help get you started.
==Background and Technical Considerations==
'''Introduction'''
Many MakeHuman users will use the work they create in MakeHuman as a component of a project completed in an external, downstream application. The most common target applications are 3D graphics applications like Blender, Autodesk 3DSMax, and Autodesk Maya or gaming engines like Unity Engine or Unreal Engine 4 or Virtual Worlds like Second Life. In some cases, the MakeHuman user will be interested in moving just the mesh. In other cases, the user will be interested in moving a complete, posed, skeletonized character to the downstream application. The purpose of this document is to discuss the basic process of moving a finished MakeHuman asset to a downstream program and producing a reasonable facsimile of its MakeHuman appearance in the downstream application. It is important to recognize that because each application has its own way of representing 3D assets, and because each export format has its own set of idiosyncrasies, there will be adjustments and approximations in the asset transfer process.
'''Format Considerations'''
In an effort to provide the broadest latitude for user workflows, the MakeHuman development team is directing it major export support toward Autodesk FBX format and Khronos Collada format. In addition, Blender users have the option to install the [https://bitbucket.org/ThomasMakeHuman/mhx2-makehuman-exchange independently developed .mhx2 tools], which are developed and maintained by Thomas Larson, independent of MakeHuman itself. Collada is a text-based format and is an open standard, but implementation of the standard is not as consistent as might be hoped. FBX is a proprietary standard developed by Autodesk and supported through a software development kit (FBX SDK) written in C++ and a Python FBX scripting template. The FBX standard is periodically updated by Autodesk and can be saved as either an ASCII or a binary format. Downstream programs may make assumptions about the FBX version being imported, and may limit users to either binary or ASCII importing. Surprisingly, CG assets exported from various programs as collada and FBX do not make it back into the same program as a round-trip without changes to some components of the scene. For example, this is true of FBX format in both 3DSMax and Maya for MakeHumanassets. It is also true for Blender with both FBX and collada format for MakeHumanassets. In this document, we will attempt to provide some support for dealing with this type of surprise.
'''MakeHuman Shader and Asset Rendering'''
A “shader” is computer code that translates digital information into a properly rendered image on the computer screen. Different algorithms use different methods of constructing such a display. By default in MakeHuman, the viewport lighting is handled by the built-in light-sphere shader. The light-sphere shader takes advantage of support for the openGL standard provided by today’s graphics cards. What the viewer sees on the screen depends not only on the color of assets, like skin and clothing, but also on the nature of the lights illuminating the scene and causing reflections and shadows. Most downstream programs use other shader strategies, the most common of which include Phong shaders, Blinn shaders, or Lambert shaders. Because the code and conceptual design of these shaders differs from that of the MakeHuman light-sphere shader, the user should be prepared to make some adjustments in the downstream program to get the final desired effect. Some MakeHuman assets also include Normal maps which the user will want to integrate into the downstream applications rendering.
When a MakeHuman material (for example, skin or clothing or eyelashes) is exported, it carries with it a limited amount of fundamental information for by the downstream program’s shaders. In an ideal world, the downstream program would import this raw information, correctly populate the variables in its shaders, and yield the same view of the human that was exported from MakeHuman. At present this does not typically happen, and the user must make some adjustments. This Wiki section is designed to help you negotiate through that process.
'''Spatial transformation: MakeHuman Coordinate System, MakeHuman Skeletons, and MakeHuman Scales'''
The MakeHuman viewport is oriented so that the positive end of the x-axis is to the right, the positive end of the y-axis it up, and the positive end of the z-axis is out through the front to the screen. Other CG programs can use other schemes, so it is essential to know the coordinate system used by the downstream target at export time, if you wish to minimize the adjustments you make after importing. The settings tab allows users to work in metric units of decimeters or imperial units of inches. Downstream programs vary in their de facto units, and again, it is generally a good idea to anticipate your needs at export time rather than trying to make adjustments during or after import. It is sometimes said that these programs have no default unit. To a degree this is true. However, the default grid pattern, assumptions of other humanoid producing programs, and assumptions of the “physics systems” will often work best with the export units specified in the table below:
TABLE HERE
'''Working with Rigs and Skeletons'''
Internally, MakeHuman uses its default skeleton as the basis of mesh vertex weighting for creating the poses available on the pose tab. This rig includes a special set of bones that can be used for driving facial expressions, but as of the current release (MakeHuman 1.1.x), there is not extensive support for inverse kinematics, and animation must be done downstream in the production pipeline. Historically, MakeHuman has had close ties to Blender, but the ultimate development goal is to provide strong generic support for all the major tools used in the industry, and with MakeHuman 1.1.x, substantial progress has been made by providing weighted skeletons suited for standard use in various downstream applications. For the most part, the name of the most appropriate rig will be clearly associated with the target downstream application, but the tag filters on the Pose/Animate | skeleton tab are intended to help choose a rig suited more generally to a specific purpose like motion capture integration, facial animation, or gaming applications. MakeHuman is designed to provide the user with maximum flexibility at creation time. To provide skeletons that work perfectly with every conceivable variation of the sliders is a laudable but elusive goal. That said, the user should get excellent results with the current approach, but the user should be prepared to make some minor tweaks to skeletons and weights downstream, particularly with extreme character dimensions or extreme poses.
'''MakeHuman Assets with transparency'''
In CG art, materials for mesh objects are frequently created by shaders that use various types of image maps to provide some of the information for determining the color, transparency, and light behavior on the surface of mesh objects. These image maps are referred to as textures. MakeHuman has textured materials available for the body (including proxy topologies), eyes, eyebrows, eyelashes, tongue, teeth, and hair. During export, these textures need to made available to the program that will be importing the MakeHuman output. Two aspects of this process need to be understood by the MakeHuman user: 1) how textures are saved; and 2) how transparency is handled.
There are two possible standards for storing texture assets upon export. They can either be embedded in an exported file, or they can be saved to a folder as named images with reference to the location of those files in the exported file. At present, MakeHuman uses the latter approach when exporting material textures. Following the export process, MakeHuman exports will be located in ~/makehuman/v1/exports/, and the texture images will be located in a corresponding subfolder ~/makehuman/v1/exports/textures. The tilde symbol indicates your user drive and home document directory. [For example, on Windows Vista and later, this typically would be: C:/Users/%USERNAME%/Documents/makehuman/v1/exports and a textures subfolder, where %USERNAME% is replaced by your username.]
Transparency is used in 3D art to let a viewer see through a mesh object to experience the color, reflections and lighting behind that object. MakeHuman uses transparency with textures for the eyes, eyebrows, eyelashes, and hair. This allows complex real world geometry to be represented by much simpler quasi-planar objects. For example, the hairs of the eyebrows are painted onto a flat surface with transparent spaces in between the painted hairs rather than creating tiny mesh objects for each of the 250-1000 individual hairs. CG programs can indicate which regions of the eyebrow should be transparent either by using a separate image where blackness indicates transparent and whiteness indicates opacity. Grayness is used to represent partial transparency. An alternative approach to representing transparency is to use an image format like .tga or .png which has a one byte channel, called an alpha channel, for just this purpose. Again, values near zero (black) typically represent “completely transparent” and values near 255 (white) typically represent “completely opaque”. MakeHuman represents the transparent regions of its assets using the alpha channel method and the .png format for textures. Unfortunately, importers for filmbox (FBX) and collada formats (DAE) do not automatically extract the transparency information provided by MakeHuman, or more specifically, they do not provide it to their shaders as anticipated. This is not just a MakeHuman problem but reflects multiple ways of handling transparency and alpha channels within the industry. Notably, exporting and reimporting assets with alpha channel transparency into the very same program fails with Blender, 3DSMax, and Maya for FBX, and where available, DAE formats. This forces the MakeHuman user to understand how to overcome this limitation in his favorite downstream application. Some introductory help will be provided for common applications later in this document.
There is one additional aspect of using transparency to make a single, simple mesh represent multiple small objects like eyebrows, and that is the issue of shadows. Lighting systems in 3D worlds creates a simulation of reality by making shadows appear on mesh objects in places you would expect to see them in the real world and with the soft edges you would expect to see in the real world. Shadows are a function of both the light source, the object blocking that light, and the objects receiving the reflected and refracted light from other objects. For objects that have transparency, like MakeHuman’s eyes, eyelashes, eyebrows, and hair, shadows should only be cast by the opaque portion of the texture and not by the transparent portions of the texture. The handling of shadows differs considerably from program to program, and objects with alpha channel transparency can need some special handling to accommodate these differences. This handling is not just about the assets with alpha map transparency, themselves. Sometimes it is necessary to set parameters to explicitly tell other objects like the MakeHuman body to not display shadows from the transparent regions of the eyebrows but to show shadows from the opaque hairs of the eyebrows. Shadows of transparently mapped assets will be addressed further in subsequent sections (where information is available).
==Illustrating the Export Process for Subsequent Import==
For the purposes of illustration we will take a straight forward MakeHuman character that has been given a skeleton, a pose, a skin material, clothing, eyes, eyelashes, eyebrows, hair, tongue and teeth. We will then export it for import into a number of popular downstream applications. For each application, our goal will be to get the character to look similar to its original look in MakeHuman. We will pay particular attention to the head and face because this is the area of greatest difficulty for dealing with transparency and shadows. The character has the default skeleton and has been set in the T-pose which is a common starting pose for animation-based work. The image we will be exporting looks like this in MakeHuman:
[[File:ImpExp-001.png]]
'''Figure 1.''' MakeHuman character as viewed from within MakeHuman prior to export.
In subsequent sections, we will discuss the steps needed to reproduce this look after importing into a downstream program.
==Moving Assets into Autodesk Maya==
We will use the file created in the “Illustrating the export/import process” section.
The FBX export settings used for Maya import should include setting the scale units to centimeters on export. Maya can import either ASCII or binary FBX files, so either type of export can be used for MakeHuman export. <nowiki>[RWB Note: as of this writing there are still some issues with direct FBX binary export, but those are expected to be repaired going forward]</nowiki>. By default the exported file will be found in ~/makehuman/v1/exports/ (where ~ is the user home directory).
When the file is initially imported into Maya it looks like this:
[[File:ImpExp03.png]]
'''Figure 2'''
The only color in the viewport is the shoes which had a simple diffuse material which was not associated a texture. By clicking the textured icon at the top of the viewport, the viewport shows a preview of how the rendered, textured image would appear:
[[File:ImpExp04.png]]
'''Figure 3'''
Holding down Alt and scrolling with the middle mouse wheel allows us to zoom in and see the problems with the imported eyes, eyelashes, eyebrows, and possibly the hair:
[[File:ImpExp06.png]]
'''Figure 4'''
The thin lines on the face are an artifact of having included the facial rig by choosing the default skeleton. The process of fixing the eyes, eyelashes, eyebrows, and hair is the same in each case. We must tell Maya to use transparency from the corresponding alpha channel when rendering the corresponding mesh. It can be hard to select the facial mesh objects in perspective view so it is advisable to go into orthographic front view. One way to do this is with the panel menu just above the viewport.
[[File:ImpExp07.png]]
'''Figure 5'''
[[File:ImpExp08.png]]
'''Figure 6'''
Once in front view, left click to select the eye meshes, and perform the following steps:
1. In the attribute editor on the right side of the screen, use the right arrow key to make sure the right-most tab is visible and click it to show the corresponding attributes.
[[File:ImpExp09.png]]
'''Figure 7'''
2. In the phong shader section, open the Common Material Attributes section and click on the checkered button to the right of transparency.
[[File:ImpExp10.png]]
'''Figure 8'''
3. In the Create Render Node dialog box that pops up, click on file.
[[File:ImpExp11.png]]
'''Figure 9'''
4. The checkered button next to transparency (see Figure 7) turns into an arrow, [[File:ImpExp12.png]] which you can click to allow the attribute editor to locate the texture map for your eyes. In our example, this texture is called blue_eyes.png. You navigate to this file by left clicking on the yellow folder file attributes section as shown in the image below:
[[File:ImpExp13.png]]
'''Figure 10'''
5. This step for transparency will probably will NOT be needed if you import straight from MakeHuman, but it may be needed if you do intermediate work in another program like 3DSMax. Open the color balance section on the same file1 tab of the attribute editor and verify that “Alpha is Luminance” is unchecked (Figure 11). Uncheck it if it is checked.
[[File:ImpExp14.png]]
'''Figure 11'''
The eyes in our image now look like this:
[[File:ImpExp15.png]]
'''Figure 12'''
----
'''Repeat for other Transparent Assets'''
You need to '''repeat steps 1-5''' after selecting the '''''eyebrows''''' in the viewport, after selecting the '''''eyelashes''''' in the viewport, and after selecting the '''''hair''''' in the viewport. When we finished these steps on each of the assets of our test model, the face is a nice approximation of what we started with in MakeHuman and looks like this:
[[File:ImpExp16.png]]
'''Figure 13'''
----
'''Raytrace Shadows'''
Depending on the lighting you are using in Maya, you might have one additional adjustment to make. To avoid transparency shadows, it is necessary to return to the phong section of the attribute editor by left clicking on the eyes in the viewport. In the phong shader section, open the raytrace options panel and move the shadow attenuation slider from its default of 0.5 to zero.
[[File:ImpExp18.png]]
'''Figure 14'''
At this point the MakeHuman model can be saved in standard Maya .mb binary file and easily brought back into Maya.
'''Re-importing "Fixed MakeHuman Assets" from Maya after saving in FBX format'''
If the file is exported from Maya as an FBX file and read back into Maya, it imports with partially transparent assets and will look like this:
[[File:ImpExp20.png]]
'''Figure 14'''
You may also see partially transparent assets if your asset pipeline involves an intermediate program between MakeHuman and Maya and you use FBX to import the workflow into Maya. To once again restore it to its intended look, '''take the eyes, eyelashes, eyebrows, and hair, and fix each as follows:'''
1. Select the asset by left clicking on it, then click the right most tab in the asset editor panel on the right side of the screen. Click the small arrow to the right of the transparency slider.
2. On the file tab that appears, open the Color Balance section and uncheck alpha Is Luminance.
3. It may also be necessary to click each of the four assets and under the Raytrace Options section of the Phong shader in the Attributes editor, change the shadow attenuation slide back to zero.
[[File:ImpExp22.png]]
'''Figure 15'''
When you have re-done these steps for each of the four transparent MakeHuman assets the character should once again look like it did in MakeHuman.
'''Adopting MakeHuman Skeletons to Maya'''
TO BE WRITTEN
==Moving Assets into Autodesk 3DSMax==
==Moving Assets into Blender==
==Moving Assets into Unreal Engine 4==
==Moving Assets into Unity Game Engine==
==Moving Assets into Google Sketchup==
==Preparing assets for use with Second Life==
510c96d81a9f2a14f7b65516e08cdbc4d2eac91d
224
223
2015-07-25T15:55:22Z
Robbaer
12
/* Moving Assets into Autodesk Maya */
wikitext
text/x-wiki
== Summary ==
More often than not MakeHuman users will want to move their creation into another program to continue the creation process. This section provides information on how to achieve this for common target programs. The Background and Export Example section provides some background that are common to all workflows. It is not essential to read the introduction before going straight to the program of interest, but doing so might help you understand ''why'' certain steps work or are necessary. In many cases there can be more than one way to accomplish the same thing. The method described here may not be optimal for your situation, but it should help get you started.
==Background and Technical Considerations==
'''Introduction'''
Many MakeHuman users will use the work they create in MakeHuman as a component of a project completed in an external, downstream application. The most common target applications are 3D graphics applications like Blender, Autodesk 3DSMax, and Autodesk Maya or gaming engines like Unity Engine or Unreal Engine 4 or Virtual Worlds like Second Life. In some cases, the MakeHuman user will be interested in moving just the mesh. In other cases, the user will be interested in moving a complete, posed, skeletonized character to the downstream application. The purpose of this document is to discuss the basic process of moving a finished MakeHuman asset to a downstream program and producing a reasonable facsimile of its MakeHuman appearance in the downstream application. It is important to recognize that because each application has its own way of representing 3D assets, and because each export format has its own set of idiosyncrasies, there will be adjustments and approximations in the asset transfer process.
'''Format Considerations'''
In an effort to provide the broadest latitude for user workflows, the MakeHuman development team is directing it major export support toward Autodesk FBX format and Khronos Collada format. In addition, Blender users have the option to install the [https://bitbucket.org/ThomasMakeHuman/mhx2-makehuman-exchange independently developed .mhx2 tools], which are developed and maintained by Thomas Larson, independent of MakeHuman itself. Collada is a text-based format and is an open standard, but implementation of the standard is not as consistent as might be hoped. FBX is a proprietary standard developed by Autodesk and supported through a software development kit (FBX SDK) written in C++ and a Python FBX scripting template. The FBX standard is periodically updated by Autodesk and can be saved as either an ASCII or a binary format. Downstream programs may make assumptions about the FBX version being imported, and may limit users to either binary or ASCII importing. Surprisingly, CG assets exported from various programs as collada and FBX do not make it back into the same program as a round-trip without changes to some components of the scene. For example, this is true of FBX format in both 3DSMax and Maya for MakeHumanassets. It is also true for Blender with both FBX and collada format for MakeHumanassets. In this document, we will attempt to provide some support for dealing with this type of surprise.
'''MakeHuman Shader and Asset Rendering'''
A “shader” is computer code that translates digital information into a properly rendered image on the computer screen. Different algorithms use different methods of constructing such a display. By default in MakeHuman, the viewport lighting is handled by the built-in light-sphere shader. The light-sphere shader takes advantage of support for the openGL standard provided by today’s graphics cards. What the viewer sees on the screen depends not only on the color of assets, like skin and clothing, but also on the nature of the lights illuminating the scene and causing reflections and shadows. Most downstream programs use other shader strategies, the most common of which include Phong shaders, Blinn shaders, or Lambert shaders. Because the code and conceptual design of these shaders differs from that of the MakeHuman light-sphere shader, the user should be prepared to make some adjustments in the downstream program to get the final desired effect. Some MakeHuman assets also include Normal maps which the user will want to integrate into the downstream applications rendering.
When a MakeHuman material (for example, skin or clothing or eyelashes) is exported, it carries with it a limited amount of fundamental information for by the downstream program’s shaders. In an ideal world, the downstream program would import this raw information, correctly populate the variables in its shaders, and yield the same view of the human that was exported from MakeHuman. At present this does not typically happen, and the user must make some adjustments. This Wiki section is designed to help you negotiate through that process.
'''Spatial transformation: MakeHuman Coordinate System, MakeHuman Skeletons, and MakeHuman Scales'''
The MakeHuman viewport is oriented so that the positive end of the x-axis is to the right, the positive end of the y-axis it up, and the positive end of the z-axis is out through the front to the screen. Other CG programs can use other schemes, so it is essential to know the coordinate system used by the downstream target at export time, if you wish to minimize the adjustments you make after importing. The settings tab allows users to work in metric units of decimeters or imperial units of inches. Downstream programs vary in their de facto units, and again, it is generally a good idea to anticipate your needs at export time rather than trying to make adjustments during or after import. It is sometimes said that these programs have no default unit. To a degree this is true. However, the default grid pattern, assumptions of other humanoid producing programs, and assumptions of the “physics systems” will often work best with the export units specified in the table below:
TABLE HERE
'''Working with Rigs and Skeletons'''
Internally, MakeHuman uses its default skeleton as the basis of mesh vertex weighting for creating the poses available on the pose tab. This rig includes a special set of bones that can be used for driving facial expressions, but as of the current release (MakeHuman 1.1.x), there is not extensive support for inverse kinematics, and animation must be done downstream in the production pipeline. Historically, MakeHuman has had close ties to Blender, but the ultimate development goal is to provide strong generic support for all the major tools used in the industry, and with MakeHuman 1.1.x, substantial progress has been made by providing weighted skeletons suited for standard use in various downstream applications. For the most part, the name of the most appropriate rig will be clearly associated with the target downstream application, but the tag filters on the Pose/Animate | skeleton tab are intended to help choose a rig suited more generally to a specific purpose like motion capture integration, facial animation, or gaming applications. MakeHuman is designed to provide the user with maximum flexibility at creation time. To provide skeletons that work perfectly with every conceivable variation of the sliders is a laudable but elusive goal. That said, the user should get excellent results with the current approach, but the user should be prepared to make some minor tweaks to skeletons and weights downstream, particularly with extreme character dimensions or extreme poses.
'''MakeHuman Assets with transparency'''
In CG art, materials for mesh objects are frequently created by shaders that use various types of image maps to provide some of the information for determining the color, transparency, and light behavior on the surface of mesh objects. These image maps are referred to as textures. MakeHuman has textured materials available for the body (including proxy topologies), eyes, eyebrows, eyelashes, tongue, teeth, and hair. During export, these textures need to made available to the program that will be importing the MakeHuman output. Two aspects of this process need to be understood by the MakeHuman user: 1) how textures are saved; and 2) how transparency is handled.
There are two possible standards for storing texture assets upon export. They can either be embedded in an exported file, or they can be saved to a folder as named images with reference to the location of those files in the exported file. At present, MakeHuman uses the latter approach when exporting material textures. Following the export process, MakeHuman exports will be located in ~/makehuman/v1/exports/, and the texture images will be located in a corresponding subfolder ~/makehuman/v1/exports/textures. The tilde symbol indicates your user drive and home document directory. [For example, on Windows Vista and later, this typically would be: C:/Users/%USERNAME%/Documents/makehuman/v1/exports and a textures subfolder, where %USERNAME% is replaced by your username.]
Transparency is used in 3D art to let a viewer see through a mesh object to experience the color, reflections and lighting behind that object. MakeHuman uses transparency with textures for the eyes, eyebrows, eyelashes, and hair. This allows complex real world geometry to be represented by much simpler quasi-planar objects. For example, the hairs of the eyebrows are painted onto a flat surface with transparent spaces in between the painted hairs rather than creating tiny mesh objects for each of the 250-1000 individual hairs. CG programs can indicate which regions of the eyebrow should be transparent either by using a separate image where blackness indicates transparent and whiteness indicates opacity. Grayness is used to represent partial transparency. An alternative approach to representing transparency is to use an image format like .tga or .png which has a one byte channel, called an alpha channel, for just this purpose. Again, values near zero (black) typically represent “completely transparent” and values near 255 (white) typically represent “completely opaque”. MakeHuman represents the transparent regions of its assets using the alpha channel method and the .png format for textures. Unfortunately, importers for filmbox (FBX) and collada formats (DAE) do not automatically extract the transparency information provided by MakeHuman, or more specifically, they do not provide it to their shaders as anticipated. This is not just a MakeHuman problem but reflects multiple ways of handling transparency and alpha channels within the industry. Notably, exporting and reimporting assets with alpha channel transparency into the very same program fails with Blender, 3DSMax, and Maya for FBX, and where available, DAE formats. This forces the MakeHuman user to understand how to overcome this limitation in his favorite downstream application. Some introductory help will be provided for common applications later in this document.
There is one additional aspect of using transparency to make a single, simple mesh represent multiple small objects like eyebrows, and that is the issue of shadows. Lighting systems in 3D worlds creates a simulation of reality by making shadows appear on mesh objects in places you would expect to see them in the real world and with the soft edges you would expect to see in the real world. Shadows are a function of both the light source, the object blocking that light, and the objects receiving the reflected and refracted light from other objects. For objects that have transparency, like MakeHuman’s eyes, eyelashes, eyebrows, and hair, shadows should only be cast by the opaque portion of the texture and not by the transparent portions of the texture. The handling of shadows differs considerably from program to program, and objects with alpha channel transparency can need some special handling to accommodate these differences. This handling is not just about the assets with alpha map transparency, themselves. Sometimes it is necessary to set parameters to explicitly tell other objects like the MakeHuman body to not display shadows from the transparent regions of the eyebrows but to show shadows from the opaque hairs of the eyebrows. Shadows of transparently mapped assets will be addressed further in subsequent sections (where information is available).
==Illustrating the Export Process for Subsequent Import==
For the purposes of illustration we will take a straight forward MakeHuman character that has been given a skeleton, a pose, a skin material, clothing, eyes, eyelashes, eyebrows, hair, tongue and teeth. We will then export it for import into a number of popular downstream applications. For each application, our goal will be to get the character to look similar to its original look in MakeHuman. We will pay particular attention to the head and face because this is the area of greatest difficulty for dealing with transparency and shadows. The character has the default skeleton and has been set in the T-pose which is a common starting pose for animation-based work. The image we will be exporting looks like this in MakeHuman:
[[File:ImpExp-001.png]]
'''Figure 1.''' MakeHuman character as viewed from within MakeHuman prior to export.
In subsequent sections, we will discuss the steps needed to reproduce this look after importing into a downstream program.
==Moving Assets into Autodesk Maya==
We will use the file created in the “Illustrating the export/import process” section.
The FBX export settings used for Maya import should include setting the scale units to centimeters on export. Maya can import either ASCII or binary FBX files, so either type of export can be used for MakeHuman export. <nowiki>[RWB Note: as of this writing there are still some issues with direct FBX binary export, but those are expected to be repaired going forward]</nowiki>. By default the exported file will be found in ~/makehuman/v1/exports/ (where ~ is the user home directory).
When the file is initially imported into Maya it looks like this:
[[File:ImpExp03.png]]
'''Figure 2'''
The only color in the viewport is the shoes which had a simple diffuse material which was not associated a texture. By clicking the textured icon at the top of the viewport, the viewport shows a preview of how the rendered, textured image would appear:
[[File:ImpExp04.png]]
'''Figure 3'''
Holding down Alt and scrolling with the middle mouse wheel allows us to zoom in and see the problems with the imported eyes, eyelashes, eyebrows, and possibly the hair:
[[File:ImpExp06.png]]
'''Figure 4'''
The thin lines on the face are an artifact of having included the facial rig by choosing the default skeleton. The process of fixing the eyes, eyelashes, eyebrows, and hair is the same in each case. We must tell Maya to use transparency from the corresponding alpha channel when rendering the corresponding mesh. It can be hard to select the facial mesh objects in perspective view so it is advisable to go into orthographic front view. One way to do this is with the panel menu just above the viewport.
[[File:ImpExp07.png]]
'''Figure 5'''
[[File:ImpExp08.png]]
'''Figure 6'''
Once in front view, left click to select the eye meshes, and perform the following steps:
1. In the attribute editor on the right side of the screen, use the right arrow key to make sure the right-most tab is visible and click it to show the corresponding attributes.
[[File:ImpExp09.png]]
'''Figure 7'''
2. In the phong shader section, open the Common Material Attributes section and click on the checkered button to the right of transparency.
[[File:ImpExp10.png]]
'''Figure 8'''
3. In the Create Render Node dialog box that pops up, click on file.
[[File:ImpExp11.png]]
'''Figure 9'''
4. The checkered button next to transparency (see Figure 7) turns into an arrow, [[File:ImpExp12.png]] which you can click to allow the attribute editor to locate the texture map for your eyes. In our example, this texture is called blue_eyes.png. You navigate to this file by left clicking on the yellow folder file attributes section as shown in the image below:
[[File:ImpExp13.png]]
'''Figure 10'''
5. This step for transparency will probably will NOT be needed if you import straight from MakeHuman, but it may be needed if you do intermediate work in another program like 3DSMax. Open the color balance section on the same file1 tab of the attribute editor and verify that “Alpha is Luminance” is unchecked (Figure 11). Uncheck it if it is checked.
[[File:ImpExp14.png]]
'''Figure 11'''
The eyes in our image now look like this:
[[File:ImpExp15.png]]
'''Figure 12'''
----
'''Repeat for other Transparent Assets'''
You need to '''repeat steps 1-5''' after selecting the '''''eyebrows''''' in the viewport, after selecting the '''''eyelashes''''' in the viewport, and after selecting the '''''hair''''' in the viewport. When we finished these steps on each of the assets of our test model, the face is a nice approximation of what we started with in MakeHuman and looks like this:
[[File:ImpExp16.png]]
'''Figure 13'''
----
'''Raytrace Shadows'''
Depending on the lighting you are using in Maya, you might have one additional adjustment to make. To avoid transparency shadows, it is necessary to return to the phong section of the attribute editor by left clicking on the eyes in the viewport. In the phong shader section, open the raytrace options panel and move the shadow attenuation slider from its default of 0.5 to zero.
[[File:ImpExp18.png]]
'''Figure 14'''
At this point the MakeHuman model can be saved in standard Maya .mb binary file and easily brought back into Maya.
'''Re-importing "Fixed MakeHuman Assets" from Maya after saving in FBX format'''
If the file is exported from Maya as an FBX file and read back into Maya, it imports with partially transparent assets and will look like this:
[[File:ImpExp20.png]]
'''Figure 14'''
You may also see partially transparent assets if your asset pipeline involves an intermediate program between MakeHuman and Maya and you use FBX to import the workflow into Maya. To once again restore it to its intended look, '''take the eyes, eyelashes, eyebrows, and hair, and fix each as follows:'''
1. Select the asset by left clicking on it, then click the right most tab in the asset editor panel on the right side of the screen. Click the small arrow to the right of the transparency slider.
2. On the file tab that appears, open the Color Balance section and uncheck alpha Is Luminance.
3. It may also be necessary to click each of the four assets and under the Raytrace Options section of the Phong shader in the Attributes editor, change the shadow attenuation slide back to zero.
[[File:ImpExp22.png]]
'''Figure 15'''
==Moving Assets into Autodesk 3DSMax==
==Moving Assets into Blender==
==Moving Assets into Unreal Engine 4==
==Moving Assets into Unity Game Engine==
==Moving Assets into Google Sketchup==
==Preparing assets for use with Second Life==
43b700573030b12979083efb2637ef9fa8633fe9
223
222
2015-07-25T15:40:06Z
Robbaer
12
/* Moving Assets into Autodesk Maya */
wikitext
text/x-wiki
== Summary ==
More often than not MakeHuman users will want to move their creation into another program to continue the creation process. This section provides information on how to achieve this for common target programs. The Background and Export Example section provides some background that are common to all workflows. It is not essential to read the introduction before going straight to the program of interest, but doing so might help you understand ''why'' certain steps work or are necessary. In many cases there can be more than one way to accomplish the same thing. The method described here may not be optimal for your situation, but it should help get you started.
==Background and Technical Considerations==
'''Introduction'''
Many MakeHuman users will use the work they create in MakeHuman as a component of a project completed in an external, downstream application. The most common target applications are 3D graphics applications like Blender, Autodesk 3DSMax, and Autodesk Maya or gaming engines like Unity Engine or Unreal Engine 4 or Virtual Worlds like Second Life. In some cases, the MakeHuman user will be interested in moving just the mesh. In other cases, the user will be interested in moving a complete, posed, skeletonized character to the downstream application. The purpose of this document is to discuss the basic process of moving a finished MakeHuman asset to a downstream program and producing a reasonable facsimile of its MakeHuman appearance in the downstream application. It is important to recognize that because each application has its own way of representing 3D assets, and because each export format has its own set of idiosyncrasies, there will be adjustments and approximations in the asset transfer process.
'''Format Considerations'''
In an effort to provide the broadest latitude for user workflows, the MakeHuman development team is directing it major export support toward Autodesk FBX format and Khronos Collada format. In addition, Blender users have the option to install the [https://bitbucket.org/ThomasMakeHuman/mhx2-makehuman-exchange independently developed .mhx2 tools], which are developed and maintained by Thomas Larson, independent of MakeHuman itself. Collada is a text-based format and is an open standard, but implementation of the standard is not as consistent as might be hoped. FBX is a proprietary standard developed by Autodesk and supported through a software development kit (FBX SDK) written in C++ and a Python FBX scripting template. The FBX standard is periodically updated by Autodesk and can be saved as either an ASCII or a binary format. Downstream programs may make assumptions about the FBX version being imported, and may limit users to either binary or ASCII importing. Surprisingly, CG assets exported from various programs as collada and FBX do not make it back into the same program as a round-trip without changes to some components of the scene. For example, this is true of FBX format in both 3DSMax and Maya for MakeHumanassets. It is also true for Blender with both FBX and collada format for MakeHumanassets. In this document, we will attempt to provide some support for dealing with this type of surprise.
'''MakeHuman Shader and Asset Rendering'''
A “shader” is computer code that translates digital information into a properly rendered image on the computer screen. Different algorithms use different methods of constructing such a display. By default in MakeHuman, the viewport lighting is handled by the built-in light-sphere shader. The light-sphere shader takes advantage of support for the openGL standard provided by today’s graphics cards. What the viewer sees on the screen depends not only on the color of assets, like skin and clothing, but also on the nature of the lights illuminating the scene and causing reflections and shadows. Most downstream programs use other shader strategies, the most common of which include Phong shaders, Blinn shaders, or Lambert shaders. Because the code and conceptual design of these shaders differs from that of the MakeHuman light-sphere shader, the user should be prepared to make some adjustments in the downstream program to get the final desired effect. Some MakeHuman assets also include Normal maps which the user will want to integrate into the downstream applications rendering.
When a MakeHuman material (for example, skin or clothing or eyelashes) is exported, it carries with it a limited amount of fundamental information for by the downstream program’s shaders. In an ideal world, the downstream program would import this raw information, correctly populate the variables in its shaders, and yield the same view of the human that was exported from MakeHuman. At present this does not typically happen, and the user must make some adjustments. This Wiki section is designed to help you negotiate through that process.
'''Spatial transformation: MakeHuman Coordinate System, MakeHuman Skeletons, and MakeHuman Scales'''
The MakeHuman viewport is oriented so that the positive end of the x-axis is to the right, the positive end of the y-axis it up, and the positive end of the z-axis is out through the front to the screen. Other CG programs can use other schemes, so it is essential to know the coordinate system used by the downstream target at export time, if you wish to minimize the adjustments you make after importing. The settings tab allows users to work in metric units of decimeters or imperial units of inches. Downstream programs vary in their de facto units, and again, it is generally a good idea to anticipate your needs at export time rather than trying to make adjustments during or after import. It is sometimes said that these programs have no default unit. To a degree this is true. However, the default grid pattern, assumptions of other humanoid producing programs, and assumptions of the “physics systems” will often work best with the export units specified in the table below:
TABLE HERE
'''Working with Rigs and Skeletons'''
Internally, MakeHuman uses its default skeleton as the basis of mesh vertex weighting for creating the poses available on the pose tab. This rig includes a special set of bones that can be used for driving facial expressions, but as of the current release (MakeHuman 1.1.x), there is not extensive support for inverse kinematics, and animation must be done downstream in the production pipeline. Historically, MakeHuman has had close ties to Blender, but the ultimate development goal is to provide strong generic support for all the major tools used in the industry, and with MakeHuman 1.1.x, substantial progress has been made by providing weighted skeletons suited for standard use in various downstream applications. For the most part, the name of the most appropriate rig will be clearly associated with the target downstream application, but the tag filters on the Pose/Animate | skeleton tab are intended to help choose a rig suited more generally to a specific purpose like motion capture integration, facial animation, or gaming applications. MakeHuman is designed to provide the user with maximum flexibility at creation time. To provide skeletons that work perfectly with every conceivable variation of the sliders is a laudable but elusive goal. That said, the user should get excellent results with the current approach, but the user should be prepared to make some minor tweaks to skeletons and weights downstream, particularly with extreme character dimensions or extreme poses.
'''MakeHuman Assets with transparency'''
In CG art, materials for mesh objects are frequently created by shaders that use various types of image maps to provide some of the information for determining the color, transparency, and light behavior on the surface of mesh objects. These image maps are referred to as textures. MakeHuman has textured materials available for the body (including proxy topologies), eyes, eyebrows, eyelashes, tongue, teeth, and hair. During export, these textures need to made available to the program that will be importing the MakeHuman output. Two aspects of this process need to be understood by the MakeHuman user: 1) how textures are saved; and 2) how transparency is handled.
There are two possible standards for storing texture assets upon export. They can either be embedded in an exported file, or they can be saved to a folder as named images with reference to the location of those files in the exported file. At present, MakeHuman uses the latter approach when exporting material textures. Following the export process, MakeHuman exports will be located in ~/makehuman/v1/exports/, and the texture images will be located in a corresponding subfolder ~/makehuman/v1/exports/textures. The tilde symbol indicates your user drive and home document directory. [For example, on Windows Vista and later, this typically would be: C:/Users/%USERNAME%/Documents/makehuman/v1/exports and a textures subfolder, where %USERNAME% is replaced by your username.]
Transparency is used in 3D art to let a viewer see through a mesh object to experience the color, reflections and lighting behind that object. MakeHuman uses transparency with textures for the eyes, eyebrows, eyelashes, and hair. This allows complex real world geometry to be represented by much simpler quasi-planar objects. For example, the hairs of the eyebrows are painted onto a flat surface with transparent spaces in between the painted hairs rather than creating tiny mesh objects for each of the 250-1000 individual hairs. CG programs can indicate which regions of the eyebrow should be transparent either by using a separate image where blackness indicates transparent and whiteness indicates opacity. Grayness is used to represent partial transparency. An alternative approach to representing transparency is to use an image format like .tga or .png which has a one byte channel, called an alpha channel, for just this purpose. Again, values near zero (black) typically represent “completely transparent” and values near 255 (white) typically represent “completely opaque”. MakeHuman represents the transparent regions of its assets using the alpha channel method and the .png format for textures. Unfortunately, importers for filmbox (FBX) and collada formats (DAE) do not automatically extract the transparency information provided by MakeHuman, or more specifically, they do not provide it to their shaders as anticipated. This is not just a MakeHuman problem but reflects multiple ways of handling transparency and alpha channels within the industry. Notably, exporting and reimporting assets with alpha channel transparency into the very same program fails with Blender, 3DSMax, and Maya for FBX, and where available, DAE formats. This forces the MakeHuman user to understand how to overcome this limitation in his favorite downstream application. Some introductory help will be provided for common applications later in this document.
There is one additional aspect of using transparency to make a single, simple mesh represent multiple small objects like eyebrows, and that is the issue of shadows. Lighting systems in 3D worlds creates a simulation of reality by making shadows appear on mesh objects in places you would expect to see them in the real world and with the soft edges you would expect to see in the real world. Shadows are a function of both the light source, the object blocking that light, and the objects receiving the reflected and refracted light from other objects. For objects that have transparency, like MakeHuman’s eyes, eyelashes, eyebrows, and hair, shadows should only be cast by the opaque portion of the texture and not by the transparent portions of the texture. The handling of shadows differs considerably from program to program, and objects with alpha channel transparency can need some special handling to accommodate these differences. This handling is not just about the assets with alpha map transparency, themselves. Sometimes it is necessary to set parameters to explicitly tell other objects like the MakeHuman body to not display shadows from the transparent regions of the eyebrows but to show shadows from the opaque hairs of the eyebrows. Shadows of transparently mapped assets will be addressed further in subsequent sections (where information is available).
==Illustrating the Export Process for Subsequent Import==
For the purposes of illustration we will take a straight forward MakeHuman character that has been given a skeleton, a pose, a skin material, clothing, eyes, eyelashes, eyebrows, hair, tongue and teeth. We will then export it for import into a number of popular downstream applications. For each application, our goal will be to get the character to look similar to its original look in MakeHuman. We will pay particular attention to the head and face because this is the area of greatest difficulty for dealing with transparency and shadows. The character has the default skeleton and has been set in the T-pose which is a common starting pose for animation-based work. The image we will be exporting looks like this in MakeHuman:
[[File:ImpExp-001.png]]
'''Figure 1.''' MakeHuman character as viewed from within MakeHuman prior to export.
In subsequent sections, we will discuss the steps needed to reproduce this look after importing into a downstream program.
==Moving Assets into Autodesk Maya==
We will use the file created in the “Illustrating the export/import process” section.
The FBX export settings used for Maya import should include setting the scale units to centimeters on export. Maya can import either ASCII or binary FBX files, so either type of export can be used for MakeHuman export. <nowiki>[RWB Note: as of this writing there are still some issues with direct FBX binary export, but those are expected to be repaired going forward]</nowiki>. By default the exported file will be found in ~/makehuman/v1/exports/ (where ~ is the user home directory).
When the file is initially imported into Maya it looks like this:
[[File:ImpExp03.png]]
'''Figure 2'''
The only color in the viewport is the shoes which had a simple diffuse material which was not associated a texture. By clicking the textured icon at the top of the viewport, the viewport shows a preview of how the rendered, textured image would appear:
[[File:ImpExp04.png]]
'''Figure 3'''
Holding down Alt and scrolling with the middle mouse wheel allows us to zoom in and see the problems with the imported eyes, eyelashes, eyebrows, and possibly the hair:
[[File:ImpExp06.png]]
'''Figure 4'''
The thin lines on the face are an artifact of having included the facial rig by choosing the default skeleton. The process of fixing the eyes, eyelashes, eyebrows, and hair is the same in each case. We must tell Maya to use transparency from the corresponding alpha channel when rendering the corresponding mesh. It can be hard to select the facial mesh objects in perspective view so it is advisable to go into orthographic front view. One way to do this is with the panel menu just above the viewport.
[[File:ImpExp07.png]]
'''Figure 5'''
[[File:ImpExp08.png]]
'''Figure 6'''
Once in front view, left click to select the eye meshes, and perform the following steps:
1. In the attribute editor on the right side of the screen, use the right arrow key to make sure the right-most tab is visible and click it to show the corresponding attributes.
[[File:ImpExp09.png]]
'''Figure 7'''
2. In the phong shader section, open the Common Material Attributes section and click on the checkered button to the right of transparency.
[[File:ImpExp10.png]]
'''Figure 8'''
3. In the Create Render Node dialog box that pops up, click on file.
[[File:ImpExp11.png]]
'''Figure 9'''
4. The checkered button next to transparency (see Figure 7) turns into an arrow, [[File:ImpExp12.png]] which you can click to allow the attribute editor to locate the texture map for your eyes. In our example, this texture is called blue_eyes.png. You navigate to this file by left clicking on the yellow folder file attributes section as shown in the image below:
[[File:ImpExp13.png]]
'''Figure 10'''
5. This step for transparency will probably will NOT be needed if you import straight from MakeHuman, but it may be needed if you do intermediate work in another program like 3DSMax. Open the color balance section on the same file1 tab of the attribute editor and verify that “Alpha is Luminance” is unchecked (Figure 11). Uncheck it if it is checked.
[[File:ImpExp14.png]]
'''Figure 11'''
The eyes in our image now look like this:
[[File:ImpExp15.png]]
'''Figure 12'''
----
'''Repeat for other Transparent Assets'''
You need to '''repeat steps 1-5''' after selecting the '''''eyebrows''''' in the viewport, after selecting the '''''eyelashes''''' in the viewport, and after selecting the '''''hair''''' in the viewport. When we finished these steps on each of the assets of our test model, the face is a nice approximation of what we started with in MakeHuman and looks like this:
[[File:ImpExp16.png]]
'''Figure 13'''
----
'''Raytrace Shadows'''
Depending on the lighting you are using in Maya, you might have one additional adjustment to make. To avoid transparency shadows, it is necessary to return to the phong section of the attribute editor by left clicking on the eyes in the viewport. In the phong shader section, open the raytrace options panel and move the shadow attenuation slider from its default of 0.5 to zero.
[[File:ImpExp18.png]]
'''Figure 14'''
At this point the MakeHuman model can be saved in standard Maya .mb binary file and easily brought back into Maya.
'''Re-importing "Fixed MakeHuman Assets" from Maya after saving in FBX format'''
If the file is exported from Maya as an FBX file and read back into Maya, it imports with partially transparent assets and will look like this:
[[File:ImpExp18.png]]
'''Figure 14'''
This may also be what you see if you work on the model in another program prior to moving the workflow into Maya. To once again restore it to its intended look, take the eyes, eyelashes, eyebrows, and hair, and fix each.
1. Select the asset by left clicking on it, then click the right most tab in the asset editor panel on the right side of the screen. Click the small arrow to the right of the transparency slider.
2. On the file tab that appears, open the Color Balance section and uncheck alpha Is Luminance.
3. It may also be necessary to click each of the four assets and under the Raytrace Options section of the Phong shader in the Attributes editor, change the shadow attenuation slide back to zero.
[[File:ImpExp19.png]]
'''Figure 15'''
==Moving Assets into Autodesk 3DSMax==
==Moving Assets into Blender==
==Moving Assets into Unreal Engine 4==
==Moving Assets into Unity Game Engine==
==Moving Assets into Google Sketchup==
==Preparing assets for use with Second Life==
fdb9fd4661035be7a2aa399efb7245752d8fa99a
222
221
2015-07-25T15:18:45Z
Robbaer
12
/* Moving Assets into Autodesk Maya */
wikitext
text/x-wiki
== Summary ==
More often than not MakeHuman users will want to move their creation into another program to continue the creation process. This section provides information on how to achieve this for common target programs. The Background and Export Example section provides some background that are common to all workflows. It is not essential to read the introduction before going straight to the program of interest, but doing so might help you understand ''why'' certain steps work or are necessary. In many cases there can be more than one way to accomplish the same thing. The method described here may not be optimal for your situation, but it should help get you started.
==Background and Technical Considerations==
'''Introduction'''
Many MakeHuman users will use the work they create in MakeHuman as a component of a project completed in an external, downstream application. The most common target applications are 3D graphics applications like Blender, Autodesk 3DSMax, and Autodesk Maya or gaming engines like Unity Engine or Unreal Engine 4 or Virtual Worlds like Second Life. In some cases, the MakeHuman user will be interested in moving just the mesh. In other cases, the user will be interested in moving a complete, posed, skeletonized character to the downstream application. The purpose of this document is to discuss the basic process of moving a finished MakeHuman asset to a downstream program and producing a reasonable facsimile of its MakeHuman appearance in the downstream application. It is important to recognize that because each application has its own way of representing 3D assets, and because each export format has its own set of idiosyncrasies, there will be adjustments and approximations in the asset transfer process.
'''Format Considerations'''
In an effort to provide the broadest latitude for user workflows, the MakeHuman development team is directing it major export support toward Autodesk FBX format and Khronos Collada format. In addition, Blender users have the option to install the [https://bitbucket.org/ThomasMakeHuman/mhx2-makehuman-exchange independently developed .mhx2 tools], which are developed and maintained by Thomas Larson, independent of MakeHuman itself. Collada is a text-based format and is an open standard, but implementation of the standard is not as consistent as might be hoped. FBX is a proprietary standard developed by Autodesk and supported through a software development kit (FBX SDK) written in C++ and a Python FBX scripting template. The FBX standard is periodically updated by Autodesk and can be saved as either an ASCII or a binary format. Downstream programs may make assumptions about the FBX version being imported, and may limit users to either binary or ASCII importing. Surprisingly, CG assets exported from various programs as collada and FBX do not make it back into the same program as a round-trip without changes to some components of the scene. For example, this is true of FBX format in both 3DSMax and Maya for MakeHumanassets. It is also true for Blender with both FBX and collada format for MakeHumanassets. In this document, we will attempt to provide some support for dealing with this type of surprise.
'''MakeHuman Shader and Asset Rendering'''
A “shader” is computer code that translates digital information into a properly rendered image on the computer screen. Different algorithms use different methods of constructing such a display. By default in MakeHuman, the viewport lighting is handled by the built-in light-sphere shader. The light-sphere shader takes advantage of support for the openGL standard provided by today’s graphics cards. What the viewer sees on the screen depends not only on the color of assets, like skin and clothing, but also on the nature of the lights illuminating the scene and causing reflections and shadows. Most downstream programs use other shader strategies, the most common of which include Phong shaders, Blinn shaders, or Lambert shaders. Because the code and conceptual design of these shaders differs from that of the MakeHuman light-sphere shader, the user should be prepared to make some adjustments in the downstream program to get the final desired effect. Some MakeHuman assets also include Normal maps which the user will want to integrate into the downstream applications rendering.
When a MakeHuman material (for example, skin or clothing or eyelashes) is exported, it carries with it a limited amount of fundamental information for by the downstream program’s shaders. In an ideal world, the downstream program would import this raw information, correctly populate the variables in its shaders, and yield the same view of the human that was exported from MakeHuman. At present this does not typically happen, and the user must make some adjustments. This Wiki section is designed to help you negotiate through that process.
'''Spatial transformation: MakeHuman Coordinate System, MakeHuman Skeletons, and MakeHuman Scales'''
The MakeHuman viewport is oriented so that the positive end of the x-axis is to the right, the positive end of the y-axis it up, and the positive end of the z-axis is out through the front to the screen. Other CG programs can use other schemes, so it is essential to know the coordinate system used by the downstream target at export time, if you wish to minimize the adjustments you make after importing. The settings tab allows users to work in metric units of decimeters or imperial units of inches. Downstream programs vary in their de facto units, and again, it is generally a good idea to anticipate your needs at export time rather than trying to make adjustments during or after import. It is sometimes said that these programs have no default unit. To a degree this is true. However, the default grid pattern, assumptions of other humanoid producing programs, and assumptions of the “physics systems” will often work best with the export units specified in the table below:
TABLE HERE
'''Working with Rigs and Skeletons'''
Internally, MakeHuman uses its default skeleton as the basis of mesh vertex weighting for creating the poses available on the pose tab. This rig includes a special set of bones that can be used for driving facial expressions, but as of the current release (MakeHuman 1.1.x), there is not extensive support for inverse kinematics, and animation must be done downstream in the production pipeline. Historically, MakeHuman has had close ties to Blender, but the ultimate development goal is to provide strong generic support for all the major tools used in the industry, and with MakeHuman 1.1.x, substantial progress has been made by providing weighted skeletons suited for standard use in various downstream applications. For the most part, the name of the most appropriate rig will be clearly associated with the target downstream application, but the tag filters on the Pose/Animate | skeleton tab are intended to help choose a rig suited more generally to a specific purpose like motion capture integration, facial animation, or gaming applications. MakeHuman is designed to provide the user with maximum flexibility at creation time. To provide skeletons that work perfectly with every conceivable variation of the sliders is a laudable but elusive goal. That said, the user should get excellent results with the current approach, but the user should be prepared to make some minor tweaks to skeletons and weights downstream, particularly with extreme character dimensions or extreme poses.
'''MakeHuman Assets with transparency'''
In CG art, materials for mesh objects are frequently created by shaders that use various types of image maps to provide some of the information for determining the color, transparency, and light behavior on the surface of mesh objects. These image maps are referred to as textures. MakeHuman has textured materials available for the body (including proxy topologies), eyes, eyebrows, eyelashes, tongue, teeth, and hair. During export, these textures need to made available to the program that will be importing the MakeHuman output. Two aspects of this process need to be understood by the MakeHuman user: 1) how textures are saved; and 2) how transparency is handled.
There are two possible standards for storing texture assets upon export. They can either be embedded in an exported file, or they can be saved to a folder as named images with reference to the location of those files in the exported file. At present, MakeHuman uses the latter approach when exporting material textures. Following the export process, MakeHuman exports will be located in ~/makehuman/v1/exports/, and the texture images will be located in a corresponding subfolder ~/makehuman/v1/exports/textures. The tilde symbol indicates your user drive and home document directory. [For example, on Windows Vista and later, this typically would be: C:/Users/%USERNAME%/Documents/makehuman/v1/exports and a textures subfolder, where %USERNAME% is replaced by your username.]
Transparency is used in 3D art to let a viewer see through a mesh object to experience the color, reflections and lighting behind that object. MakeHuman uses transparency with textures for the eyes, eyebrows, eyelashes, and hair. This allows complex real world geometry to be represented by much simpler quasi-planar objects. For example, the hairs of the eyebrows are painted onto a flat surface with transparent spaces in between the painted hairs rather than creating tiny mesh objects for each of the 250-1000 individual hairs. CG programs can indicate which regions of the eyebrow should be transparent either by using a separate image where blackness indicates transparent and whiteness indicates opacity. Grayness is used to represent partial transparency. An alternative approach to representing transparency is to use an image format like .tga or .png which has a one byte channel, called an alpha channel, for just this purpose. Again, values near zero (black) typically represent “completely transparent” and values near 255 (white) typically represent “completely opaque”. MakeHuman represents the transparent regions of its assets using the alpha channel method and the .png format for textures. Unfortunately, importers for filmbox (FBX) and collada formats (DAE) do not automatically extract the transparency information provided by MakeHuman, or more specifically, they do not provide it to their shaders as anticipated. This is not just a MakeHuman problem but reflects multiple ways of handling transparency and alpha channels within the industry. Notably, exporting and reimporting assets with alpha channel transparency into the very same program fails with Blender, 3DSMax, and Maya for FBX, and where available, DAE formats. This forces the MakeHuman user to understand how to overcome this limitation in his favorite downstream application. Some introductory help will be provided for common applications later in this document.
There is one additional aspect of using transparency to make a single, simple mesh represent multiple small objects like eyebrows, and that is the issue of shadows. Lighting systems in 3D worlds creates a simulation of reality by making shadows appear on mesh objects in places you would expect to see them in the real world and with the soft edges you would expect to see in the real world. Shadows are a function of both the light source, the object blocking that light, and the objects receiving the reflected and refracted light from other objects. For objects that have transparency, like MakeHuman’s eyes, eyelashes, eyebrows, and hair, shadows should only be cast by the opaque portion of the texture and not by the transparent portions of the texture. The handling of shadows differs considerably from program to program, and objects with alpha channel transparency can need some special handling to accommodate these differences. This handling is not just about the assets with alpha map transparency, themselves. Sometimes it is necessary to set parameters to explicitly tell other objects like the MakeHuman body to not display shadows from the transparent regions of the eyebrows but to show shadows from the opaque hairs of the eyebrows. Shadows of transparently mapped assets will be addressed further in subsequent sections (where information is available).
==Illustrating the Export Process for Subsequent Import==
For the purposes of illustration we will take a straight forward MakeHuman character that has been given a skeleton, a pose, a skin material, clothing, eyes, eyelashes, eyebrows, hair, tongue and teeth. We will then export it for import into a number of popular downstream applications. For each application, our goal will be to get the character to look similar to its original look in MakeHuman. We will pay particular attention to the head and face because this is the area of greatest difficulty for dealing with transparency and shadows. The character has the default skeleton and has been set in the T-pose which is a common starting pose for animation-based work. The image we will be exporting looks like this in MakeHuman:
[[File:ImpExp-001.png]]
'''Figure 1.''' MakeHuman character as viewed from within MakeHuman prior to export.
In subsequent sections, we will discuss the steps needed to reproduce this look after importing into a downstream program.
==Moving Assets into Autodesk Maya==
We will use the file created in the “Illustrating the export/import process” section.
The FBX export settings used for Maya import should include setting the scale units to centimeters on export. Maya can import either ASCII or binary FBX files, so either type of export can be used for MakeHuman export. <nowiki>[RWB Note: as of this writing there are still some issues with direct FBX binary export, but those are expected to be repaired going forward]</nowiki>. By default the exported file will be found in ~/makehuman/v1/exports/ (where ~ is the user home directory).
When the file is initially imported into Maya it looks like this:
[[File:ImpExp03.png]]
'''Figure 2'''
The only color in the viewport is the shoes which had a simple diffuse material which was not associated a texture. By clicking the textured icon at the top of the viewport, the viewport shows a preview of how the rendered, textured image would appear:
[[File:ImpExp04.png]]
'''Figure 3'''
Holding down Alt and scrolling with the middle mouse wheel allows us to zoom in and see the problems with the imported eyes, eyelashes, eyebrows, and possibly the hair:
[[File:ImpExp06.png]]
'''Figure 4'''
The thin lines on the face are an artifact of having included the facial rig by choosing the default skeleton. The process of fixing the eyes, eyelashes, eyebrows, and hair is the same in each case. We must tell Maya to use transparency from the corresponding alpha channel when rendering the corresponding mesh. It can be hard to select the facial mesh objects in perspective view so it is advisable to go into orthographic front view. One way to do this is with the panel menu just above the viewport.
[[File:ImpExp07.png]]
'''Figure 5'''
[[File:ImpExp08.png]]
'''Figure 6'''
Once in front view, left click to select the eye meshes, and perform the following steps:
1. In the attribute editor on the right side of the screen, use the right arrow key to make sure the right-most tab is visible and click it to show the corresponding attributes.
[[File:ImpExp09.png]]
'''Figure 7'''
2. In the phong shader section, open the Common Material Attributes section and click on the checkered button to the right of transparency.
[[File:ImpExp10.png]]
'''Figure 8'''
3. In the Create Render Node dialog box that pops up, click on file.
[[File:ImpExp11.png]]
'''Figure 9'''
4. The checkered button next to transparency (see Figure 7) turns into an arrow, [[File:ImpExp12.png]] which you can click to allow the attribute editor to locate the texture map for your eyes. In our example, this texture is called blue_eyes.png. You navigate to this file by left clicking on the yellow folder file attributes section as shown in the image below:
[[File:ImpExp13.png]]
'''Figure 10'''
5. This step for transparency will probably will NOT be needed if you import straight from MakeHuman, but it may be needed if you do intermediate work in another program like 3DSMax. Open the color balance section on the same file1 tab of the attribute editor and verify that “Alpha is Luminance” is unchecked (Figure 11). Uncheck it if it is checked.
[[File:ImpExp14.png]]
'''Figure 11'''
The eyes in our image now look like this:
[[File:ImpExp15.png]]
'''Figure 12'''
'''Repeat for other Transparent Assets'''
You need to repeat this same set of steps after selecting the '''''eyebrows''''' in the viewport, after selecting the '''''eyelashes''''' in the viewport, and after selecting the '''''hair''''' in the viewport. When we finished these steps on each of the assets of our test model, the face is a nice approximation of what we started with in MakeHuman and looks like this:
[[File:ImpExp16.png]]
'''Figure 13'''
[[File:ImpExp18.png]]
'''Figure 14'''
==Moving Assets into Autodesk 3DSMax==
==Moving Assets into Blender==
==Moving Assets into Unreal Engine 4==
==Moving Assets into Unity Game Engine==
==Moving Assets into Google Sketchup==
==Preparing assets for use with Second Life==
ed230386794dc83b848d10cd1b4dbe488f6968c1
221
220
2015-07-25T15:05:06Z
Robbaer
12
/* Moving Assets into Autodesk Maya */
wikitext
text/x-wiki
== Summary ==
More often than not MakeHuman users will want to move their creation into another program to continue the creation process. This section provides information on how to achieve this for common target programs. The Background and Export Example section provides some background that are common to all workflows. It is not essential to read the introduction before going straight to the program of interest, but doing so might help you understand ''why'' certain steps work or are necessary. In many cases there can be more than one way to accomplish the same thing. The method described here may not be optimal for your situation, but it should help get you started.
==Background and Technical Considerations==
'''Introduction'''
Many MakeHuman users will use the work they create in MakeHuman as a component of a project completed in an external, downstream application. The most common target applications are 3D graphics applications like Blender, Autodesk 3DSMax, and Autodesk Maya or gaming engines like Unity Engine or Unreal Engine 4 or Virtual Worlds like Second Life. In some cases, the MakeHuman user will be interested in moving just the mesh. In other cases, the user will be interested in moving a complete, posed, skeletonized character to the downstream application. The purpose of this document is to discuss the basic process of moving a finished MakeHuman asset to a downstream program and producing a reasonable facsimile of its MakeHuman appearance in the downstream application. It is important to recognize that because each application has its own way of representing 3D assets, and because each export format has its own set of idiosyncrasies, there will be adjustments and approximations in the asset transfer process.
'''Format Considerations'''
In an effort to provide the broadest latitude for user workflows, the MakeHuman development team is directing it major export support toward Autodesk FBX format and Khronos Collada format. In addition, Blender users have the option to install the [https://bitbucket.org/ThomasMakeHuman/mhx2-makehuman-exchange independently developed .mhx2 tools], which are developed and maintained by Thomas Larson, independent of MakeHuman itself. Collada is a text-based format and is an open standard, but implementation of the standard is not as consistent as might be hoped. FBX is a proprietary standard developed by Autodesk and supported through a software development kit (FBX SDK) written in C++ and a Python FBX scripting template. The FBX standard is periodically updated by Autodesk and can be saved as either an ASCII or a binary format. Downstream programs may make assumptions about the FBX version being imported, and may limit users to either binary or ASCII importing. Surprisingly, CG assets exported from various programs as collada and FBX do not make it back into the same program as a round-trip without changes to some components of the scene. For example, this is true of FBX format in both 3DSMax and Maya for MakeHumanassets. It is also true for Blender with both FBX and collada format for MakeHumanassets. In this document, we will attempt to provide some support for dealing with this type of surprise.
'''MakeHuman Shader and Asset Rendering'''
A “shader” is computer code that translates digital information into a properly rendered image on the computer screen. Different algorithms use different methods of constructing such a display. By default in MakeHuman, the viewport lighting is handled by the built-in light-sphere shader. The light-sphere shader takes advantage of support for the openGL standard provided by today’s graphics cards. What the viewer sees on the screen depends not only on the color of assets, like skin and clothing, but also on the nature of the lights illuminating the scene and causing reflections and shadows. Most downstream programs use other shader strategies, the most common of which include Phong shaders, Blinn shaders, or Lambert shaders. Because the code and conceptual design of these shaders differs from that of the MakeHuman light-sphere shader, the user should be prepared to make some adjustments in the downstream program to get the final desired effect. Some MakeHuman assets also include Normal maps which the user will want to integrate into the downstream applications rendering.
When a MakeHuman material (for example, skin or clothing or eyelashes) is exported, it carries with it a limited amount of fundamental information for by the downstream program’s shaders. In an ideal world, the downstream program would import this raw information, correctly populate the variables in its shaders, and yield the same view of the human that was exported from MakeHuman. At present this does not typically happen, and the user must make some adjustments. This Wiki section is designed to help you negotiate through that process.
'''Spatial transformation: MakeHuman Coordinate System, MakeHuman Skeletons, and MakeHuman Scales'''
The MakeHuman viewport is oriented so that the positive end of the x-axis is to the right, the positive end of the y-axis it up, and the positive end of the z-axis is out through the front to the screen. Other CG programs can use other schemes, so it is essential to know the coordinate system used by the downstream target at export time, if you wish to minimize the adjustments you make after importing. The settings tab allows users to work in metric units of decimeters or imperial units of inches. Downstream programs vary in their de facto units, and again, it is generally a good idea to anticipate your needs at export time rather than trying to make adjustments during or after import. It is sometimes said that these programs have no default unit. To a degree this is true. However, the default grid pattern, assumptions of other humanoid producing programs, and assumptions of the “physics systems” will often work best with the export units specified in the table below:
TABLE HERE
'''Working with Rigs and Skeletons'''
Internally, MakeHuman uses its default skeleton as the basis of mesh vertex weighting for creating the poses available on the pose tab. This rig includes a special set of bones that can be used for driving facial expressions, but as of the current release (MakeHuman 1.1.x), there is not extensive support for inverse kinematics, and animation must be done downstream in the production pipeline. Historically, MakeHuman has had close ties to Blender, but the ultimate development goal is to provide strong generic support for all the major tools used in the industry, and with MakeHuman 1.1.x, substantial progress has been made by providing weighted skeletons suited for standard use in various downstream applications. For the most part, the name of the most appropriate rig will be clearly associated with the target downstream application, but the tag filters on the Pose/Animate | skeleton tab are intended to help choose a rig suited more generally to a specific purpose like motion capture integration, facial animation, or gaming applications. MakeHuman is designed to provide the user with maximum flexibility at creation time. To provide skeletons that work perfectly with every conceivable variation of the sliders is a laudable but elusive goal. That said, the user should get excellent results with the current approach, but the user should be prepared to make some minor tweaks to skeletons and weights downstream, particularly with extreme character dimensions or extreme poses.
'''MakeHuman Assets with transparency'''
In CG art, materials for mesh objects are frequently created by shaders that use various types of image maps to provide some of the information for determining the color, transparency, and light behavior on the surface of mesh objects. These image maps are referred to as textures. MakeHuman has textured materials available for the body (including proxy topologies), eyes, eyebrows, eyelashes, tongue, teeth, and hair. During export, these textures need to made available to the program that will be importing the MakeHuman output. Two aspects of this process need to be understood by the MakeHuman user: 1) how textures are saved; and 2) how transparency is handled.
There are two possible standards for storing texture assets upon export. They can either be embedded in an exported file, or they can be saved to a folder as named images with reference to the location of those files in the exported file. At present, MakeHuman uses the latter approach when exporting material textures. Following the export process, MakeHuman exports will be located in ~/makehuman/v1/exports/, and the texture images will be located in a corresponding subfolder ~/makehuman/v1/exports/textures. The tilde symbol indicates your user drive and home document directory. [For example, on Windows Vista and later, this typically would be: C:/Users/%USERNAME%/Documents/makehuman/v1/exports and a textures subfolder, where %USERNAME% is replaced by your username.]
Transparency is used in 3D art to let a viewer see through a mesh object to experience the color, reflections and lighting behind that object. MakeHuman uses transparency with textures for the eyes, eyebrows, eyelashes, and hair. This allows complex real world geometry to be represented by much simpler quasi-planar objects. For example, the hairs of the eyebrows are painted onto a flat surface with transparent spaces in between the painted hairs rather than creating tiny mesh objects for each of the 250-1000 individual hairs. CG programs can indicate which regions of the eyebrow should be transparent either by using a separate image where blackness indicates transparent and whiteness indicates opacity. Grayness is used to represent partial transparency. An alternative approach to representing transparency is to use an image format like .tga or .png which has a one byte channel, called an alpha channel, for just this purpose. Again, values near zero (black) typically represent “completely transparent” and values near 255 (white) typically represent “completely opaque”. MakeHuman represents the transparent regions of its assets using the alpha channel method and the .png format for textures. Unfortunately, importers for filmbox (FBX) and collada formats (DAE) do not automatically extract the transparency information provided by MakeHuman, or more specifically, they do not provide it to their shaders as anticipated. This is not just a MakeHuman problem but reflects multiple ways of handling transparency and alpha channels within the industry. Notably, exporting and reimporting assets with alpha channel transparency into the very same program fails with Blender, 3DSMax, and Maya for FBX, and where available, DAE formats. This forces the MakeHuman user to understand how to overcome this limitation in his favorite downstream application. Some introductory help will be provided for common applications later in this document.
There is one additional aspect of using transparency to make a single, simple mesh represent multiple small objects like eyebrows, and that is the issue of shadows. Lighting systems in 3D worlds creates a simulation of reality by making shadows appear on mesh objects in places you would expect to see them in the real world and with the soft edges you would expect to see in the real world. Shadows are a function of both the light source, the object blocking that light, and the objects receiving the reflected and refracted light from other objects. For objects that have transparency, like MakeHuman’s eyes, eyelashes, eyebrows, and hair, shadows should only be cast by the opaque portion of the texture and not by the transparent portions of the texture. The handling of shadows differs considerably from program to program, and objects with alpha channel transparency can need some special handling to accommodate these differences. This handling is not just about the assets with alpha map transparency, themselves. Sometimes it is necessary to set parameters to explicitly tell other objects like the MakeHuman body to not display shadows from the transparent regions of the eyebrows but to show shadows from the opaque hairs of the eyebrows. Shadows of transparently mapped assets will be addressed further in subsequent sections (where information is available).
==Illustrating the Export Process for Subsequent Import==
For the purposes of illustration we will take a straight forward MakeHuman character that has been given a skeleton, a pose, a skin material, clothing, eyes, eyelashes, eyebrows, hair, tongue and teeth. We will then export it for import into a number of popular downstream applications. For each application, our goal will be to get the character to look similar to its original look in MakeHuman. We will pay particular attention to the head and face because this is the area of greatest difficulty for dealing with transparency and shadows. The character has the default skeleton and has been set in the T-pose which is a common starting pose for animation-based work. The image we will be exporting looks like this in MakeHuman:
[[File:ImpExp-001.png]]
'''Figure 1.''' MakeHuman character as viewed from within MakeHuman prior to export.
In subsequent sections, we will discuss the steps needed to reproduce this look after importing into a downstream program.
==Moving Assets into Autodesk Maya==
We will use the file created in the “Illustrating the export/import process” section.
The FBX export settings used for Maya import should include setting the scale units to centimeters on export. Maya can import either ASCII or binary FBX files, so either type of export can be used for MakeHuman export. <nowiki>[RWB Note: as of this writing there are still some issues with direct FBX binary export, but those are expected to be repaired going forward]</nowiki>. By default the exported file will be found in ~/makehuman/v1/exports/ (where ~ is the user home directory).
When the file is initially imported into Maya it looks like this:
[[File:ImpExp03.png]]
'''Figure 2'''
The only color in the viewport is the shoes which had a simple diffuse material which was not associated a texture. By clicking the textured icon at the top of the viewport, the viewport shows a preview of how the rendered, textured image would appear:
[[File:ImpExp04.png]]
'''Figure 3'''
Holding down Alt and scrolling with the middle mouse wheel allows us to zoom in and see the problems with the imported eyes, eyelashes, eyebrows, and possibly the hair:
[[File:ImpExp06.png]]
'''Figure 4'''
The thin lines on the face are an artifact of having included the facial rig by choosing the default skeleton. The process of fixing the eyes, eyelashes, eyebrows, and hair is the same in each case. We must tell Maya to use transparency from the corresponding alpha channel when rendering the corresponding mesh. It can be hard to select the facial mesh objects in perspective view so it is advisable to go into orthographic front view. One way to do this is with the panel menu just above the viewport.
[[File:ImpExp07.png]]
'''Figure 5'''
[[File:ImpExp08.png]]
'''Figure 6'''
Once in front view, left click to select the eye meshes, and perform the following steps:
1. In the attribute editor on the right side of the screen, use the right arrow key to make sure the right-most tab is visible and click it to show the corresponding attributes.
[[File:ImpExp09.png]]
'''Figure 7'''
2. In the phong shader section, open the Common Material Attributes section and click on the checkered button to the right of transparency.
[[File:ImpExp10.png]]
'''Figure 8'''
3. In the Create Render Node dialog box that pops up, click on file.
[[File:ImpExp11.png]]
'''Figure 9'''
4. The checkered button next to transparency (see Figure 7) turns into an arrow, [[File:ImpExp12.png]] which you can click to allow the attribute editor to locate the texture map for your eyes. In our example, this texture is called blue_eyes.png. You navigate to this file by left clicking on the yellow folder file attributes section as shown in the image below:
[[File:ImpExp13.png]]
'''Figure 10'''
5. This step for transparency will probably will NOT be needed if you import straight from MakeHuman, but it may be needed if you do intermediate work in another program like 3DSMax. Open the color balance section on the same file1 tab of the attribute editor and verify that “Alpha is Luminance” is unchecked (Figure 11). Uncheck it if it is checked.
[[File:ImpExp14.png]]
'''Figure 11'''
The eyes in our image now look like this:
[[File:ImpExp15.png]]
'''Figure 12'''
[[File:ImpExp16.png]]
'''Figure 13'''
[[File:ImpExp17.png]]
'''Figure 14'''
==Moving Assets into Autodesk 3DSMax==
==Moving Assets into Blender==
==Moving Assets into Unreal Engine 4==
==Moving Assets into Unity Game Engine==
==Moving Assets into Google Sketchup==
==Preparing assets for use with Second Life==
1c3ba5a9b4b3031fe412a2bed470db4a868c7951
220
201
2015-07-25T14:47:29Z
Robbaer
12
/* Moving Assets into Autodesk Maya */
wikitext
text/x-wiki
== Summary ==
More often than not MakeHuman users will want to move their creation into another program to continue the creation process. This section provides information on how to achieve this for common target programs. The Background and Export Example section provides some background that are common to all workflows. It is not essential to read the introduction before going straight to the program of interest, but doing so might help you understand ''why'' certain steps work or are necessary. In many cases there can be more than one way to accomplish the same thing. The method described here may not be optimal for your situation, but it should help get you started.
==Background and Technical Considerations==
'''Introduction'''
Many MakeHuman users will use the work they create in MakeHuman as a component of a project completed in an external, downstream application. The most common target applications are 3D graphics applications like Blender, Autodesk 3DSMax, and Autodesk Maya or gaming engines like Unity Engine or Unreal Engine 4 or Virtual Worlds like Second Life. In some cases, the MakeHuman user will be interested in moving just the mesh. In other cases, the user will be interested in moving a complete, posed, skeletonized character to the downstream application. The purpose of this document is to discuss the basic process of moving a finished MakeHuman asset to a downstream program and producing a reasonable facsimile of its MakeHuman appearance in the downstream application. It is important to recognize that because each application has its own way of representing 3D assets, and because each export format has its own set of idiosyncrasies, there will be adjustments and approximations in the asset transfer process.
'''Format Considerations'''
In an effort to provide the broadest latitude for user workflows, the MakeHuman development team is directing it major export support toward Autodesk FBX format and Khronos Collada format. In addition, Blender users have the option to install the [https://bitbucket.org/ThomasMakeHuman/mhx2-makehuman-exchange independently developed .mhx2 tools], which are developed and maintained by Thomas Larson, independent of MakeHuman itself. Collada is a text-based format and is an open standard, but implementation of the standard is not as consistent as might be hoped. FBX is a proprietary standard developed by Autodesk and supported through a software development kit (FBX SDK) written in C++ and a Python FBX scripting template. The FBX standard is periodically updated by Autodesk and can be saved as either an ASCII or a binary format. Downstream programs may make assumptions about the FBX version being imported, and may limit users to either binary or ASCII importing. Surprisingly, CG assets exported from various programs as collada and FBX do not make it back into the same program as a round-trip without changes to some components of the scene. For example, this is true of FBX format in both 3DSMax and Maya for MakeHumanassets. It is also true for Blender with both FBX and collada format for MakeHumanassets. In this document, we will attempt to provide some support for dealing with this type of surprise.
'''MakeHuman Shader and Asset Rendering'''
A “shader” is computer code that translates digital information into a properly rendered image on the computer screen. Different algorithms use different methods of constructing such a display. By default in MakeHuman, the viewport lighting is handled by the built-in light-sphere shader. The light-sphere shader takes advantage of support for the openGL standard provided by today’s graphics cards. What the viewer sees on the screen depends not only on the color of assets, like skin and clothing, but also on the nature of the lights illuminating the scene and causing reflections and shadows. Most downstream programs use other shader strategies, the most common of which include Phong shaders, Blinn shaders, or Lambert shaders. Because the code and conceptual design of these shaders differs from that of the MakeHuman light-sphere shader, the user should be prepared to make some adjustments in the downstream program to get the final desired effect. Some MakeHuman assets also include Normal maps which the user will want to integrate into the downstream applications rendering.
When a MakeHuman material (for example, skin or clothing or eyelashes) is exported, it carries with it a limited amount of fundamental information for by the downstream program’s shaders. In an ideal world, the downstream program would import this raw information, correctly populate the variables in its shaders, and yield the same view of the human that was exported from MakeHuman. At present this does not typically happen, and the user must make some adjustments. This Wiki section is designed to help you negotiate through that process.
'''Spatial transformation: MakeHuman Coordinate System, MakeHuman Skeletons, and MakeHuman Scales'''
The MakeHuman viewport is oriented so that the positive end of the x-axis is to the right, the positive end of the y-axis it up, and the positive end of the z-axis is out through the front to the screen. Other CG programs can use other schemes, so it is essential to know the coordinate system used by the downstream target at export time, if you wish to minimize the adjustments you make after importing. The settings tab allows users to work in metric units of decimeters or imperial units of inches. Downstream programs vary in their de facto units, and again, it is generally a good idea to anticipate your needs at export time rather than trying to make adjustments during or after import. It is sometimes said that these programs have no default unit. To a degree this is true. However, the default grid pattern, assumptions of other humanoid producing programs, and assumptions of the “physics systems” will often work best with the export units specified in the table below:
TABLE HERE
'''Working with Rigs and Skeletons'''
Internally, MakeHuman uses its default skeleton as the basis of mesh vertex weighting for creating the poses available on the pose tab. This rig includes a special set of bones that can be used for driving facial expressions, but as of the current release (MakeHuman 1.1.x), there is not extensive support for inverse kinematics, and animation must be done downstream in the production pipeline. Historically, MakeHuman has had close ties to Blender, but the ultimate development goal is to provide strong generic support for all the major tools used in the industry, and with MakeHuman 1.1.x, substantial progress has been made by providing weighted skeletons suited for standard use in various downstream applications. For the most part, the name of the most appropriate rig will be clearly associated with the target downstream application, but the tag filters on the Pose/Animate | skeleton tab are intended to help choose a rig suited more generally to a specific purpose like motion capture integration, facial animation, or gaming applications. MakeHuman is designed to provide the user with maximum flexibility at creation time. To provide skeletons that work perfectly with every conceivable variation of the sliders is a laudable but elusive goal. That said, the user should get excellent results with the current approach, but the user should be prepared to make some minor tweaks to skeletons and weights downstream, particularly with extreme character dimensions or extreme poses.
'''MakeHuman Assets with transparency'''
In CG art, materials for mesh objects are frequently created by shaders that use various types of image maps to provide some of the information for determining the color, transparency, and light behavior on the surface of mesh objects. These image maps are referred to as textures. MakeHuman has textured materials available for the body (including proxy topologies), eyes, eyebrows, eyelashes, tongue, teeth, and hair. During export, these textures need to made available to the program that will be importing the MakeHuman output. Two aspects of this process need to be understood by the MakeHuman user: 1) how textures are saved; and 2) how transparency is handled.
There are two possible standards for storing texture assets upon export. They can either be embedded in an exported file, or they can be saved to a folder as named images with reference to the location of those files in the exported file. At present, MakeHuman uses the latter approach when exporting material textures. Following the export process, MakeHuman exports will be located in ~/makehuman/v1/exports/, and the texture images will be located in a corresponding subfolder ~/makehuman/v1/exports/textures. The tilde symbol indicates your user drive and home document directory. [For example, on Windows Vista and later, this typically would be: C:/Users/%USERNAME%/Documents/makehuman/v1/exports and a textures subfolder, where %USERNAME% is replaced by your username.]
Transparency is used in 3D art to let a viewer see through a mesh object to experience the color, reflections and lighting behind that object. MakeHuman uses transparency with textures for the eyes, eyebrows, eyelashes, and hair. This allows complex real world geometry to be represented by much simpler quasi-planar objects. For example, the hairs of the eyebrows are painted onto a flat surface with transparent spaces in between the painted hairs rather than creating tiny mesh objects for each of the 250-1000 individual hairs. CG programs can indicate which regions of the eyebrow should be transparent either by using a separate image where blackness indicates transparent and whiteness indicates opacity. Grayness is used to represent partial transparency. An alternative approach to representing transparency is to use an image format like .tga or .png which has a one byte channel, called an alpha channel, for just this purpose. Again, values near zero (black) typically represent “completely transparent” and values near 255 (white) typically represent “completely opaque”. MakeHuman represents the transparent regions of its assets using the alpha channel method and the .png format for textures. Unfortunately, importers for filmbox (FBX) and collada formats (DAE) do not automatically extract the transparency information provided by MakeHuman, or more specifically, they do not provide it to their shaders as anticipated. This is not just a MakeHuman problem but reflects multiple ways of handling transparency and alpha channels within the industry. Notably, exporting and reimporting assets with alpha channel transparency into the very same program fails with Blender, 3DSMax, and Maya for FBX, and where available, DAE formats. This forces the MakeHuman user to understand how to overcome this limitation in his favorite downstream application. Some introductory help will be provided for common applications later in this document.
There is one additional aspect of using transparency to make a single, simple mesh represent multiple small objects like eyebrows, and that is the issue of shadows. Lighting systems in 3D worlds creates a simulation of reality by making shadows appear on mesh objects in places you would expect to see them in the real world and with the soft edges you would expect to see in the real world. Shadows are a function of both the light source, the object blocking that light, and the objects receiving the reflected and refracted light from other objects. For objects that have transparency, like MakeHuman’s eyes, eyelashes, eyebrows, and hair, shadows should only be cast by the opaque portion of the texture and not by the transparent portions of the texture. The handling of shadows differs considerably from program to program, and objects with alpha channel transparency can need some special handling to accommodate these differences. This handling is not just about the assets with alpha map transparency, themselves. Sometimes it is necessary to set parameters to explicitly tell other objects like the MakeHuman body to not display shadows from the transparent regions of the eyebrows but to show shadows from the opaque hairs of the eyebrows. Shadows of transparently mapped assets will be addressed further in subsequent sections (where information is available).
==Illustrating the Export Process for Subsequent Import==
For the purposes of illustration we will take a straight forward MakeHuman character that has been given a skeleton, a pose, a skin material, clothing, eyes, eyelashes, eyebrows, hair, tongue and teeth. We will then export it for import into a number of popular downstream applications. For each application, our goal will be to get the character to look similar to its original look in MakeHuman. We will pay particular attention to the head and face because this is the area of greatest difficulty for dealing with transparency and shadows. The character has the default skeleton and has been set in the T-pose which is a common starting pose for animation-based work. The image we will be exporting looks like this in MakeHuman:
[[File:ImpExp-001.png]]
'''Figure 1.''' MakeHuman character as viewed from within MakeHuman prior to export.
In subsequent sections, we will discuss the steps needed to reproduce this look after importing into a downstream program.
==Moving Assets into Autodesk Maya==
We will use the file created in the “Illustrating the export/import process” section.
The FBX export settings used for Maya import should include setting the scale units to centimeters on export. Maya can import either ASCII or binary FBX files, so either type of export can be used for MakeHuman export. <nowiki>[RWB Note: as of this writing there are still some issues with direct FBX binary export, but those are expected to be repaired going forward]</nowiki>. By default the exported file will be found in ~/makehuman/v1/exports/ (where ~ is the user home directory).
When the file is initially imported into Maya it looks like this:
[[File:ImpExp03.png]]
'''Figure2'''
The only color in the viewport is the shoes which had a simple diffuse material which was not associated a texture. By clicking the textured icon at the top of the viewport, the viewport shows a preview of how the rendered, textured image would appear:
[[File:ImpExp04.png]]
'''Figure 3'''
Holding down Alt and scrolling with the middle mouse wheel allows us to zoom in and see the problems with the imported eyes, eyelashes, eyebrows, and possibly the hair:
[[File:ImpExp06.png]]
'''Figure 4'''
The thin lines on the face are an artifact of having included the facial rig by choosing the default skeleton. The process of fixing the eyes, eyelashes, eyebrows, and hair is the same in each case. We must tell Maya to use transparency from the corresponding alpha channel when rendering the corresponding mesh. It can be hard to select the facial mesh objects in perspective view so it is advisable to go into orthographic front view. One way to do this is with the panel menu just above the viewport.
[[File:ImpExp07.png]]
'''Figure 5'''
[[File:ImpExp08.png]]
'''Figure 6'''
Once in front view, left click to select the eye meshes, and perform the following steps:
1. In the attribute editor on the right side of the screen, use the right arrow key to make sure the right-most tab is visible and click it to show the corresponding attributes.
[[File:ImpExp09.png]]
'''Figure 7'''
2. In the phong shader section, open the Common Material Attributes section and click on the checkered button to the right of transparency.
[[File:ImpExp10.png]]
'''Figure 8'''
3. In the Create Render Node dialog box that pops up, click on file.
[[File:ImpExp11.png]]
'''Figure 9'''
4. The checkered button next to transparency (see Figure 7) turns into an arrow, [[File:ImpExp12.png]] which you can click to allow the attribute editor to locate the texture map for your eyes. In our example, this texture is called blue_eyes.png. You navigate to this file by left clicking on the yellow folder file attributes section as shown in the image below:
[[File:ImpExp13.png]]
'''Figure 10'''
[[File:ImpExp14.png]]
'''Figure 11'''
[[File:ImpExp15.png]]
'''Figure 12'''
==Moving Assets into Autodesk 3DSMax==
==Moving Assets into Blender==
==Moving Assets into Unreal Engine 4==
==Moving Assets into Unity Game Engine==
==Moving Assets into Google Sketchup==
==Preparing assets for use with Second Life==
a42f581feedfccd6aec1c014d43aa1bb42b0723e
201
200
2015-07-25T14:17:04Z
Robbaer
12
/* Moving Assets into Autodesk Maya */
wikitext
text/x-wiki
== Summary ==
More often than not MakeHuman users will want to move their creation into another program to continue the creation process. This section provides information on how to achieve this for common target programs. The Background and Export Example section provides some background that are common to all workflows. It is not essential to read the introduction before going straight to the program of interest, but doing so might help you understand ''why'' certain steps work or are necessary. In many cases there can be more than one way to accomplish the same thing. The method described here may not be optimal for your situation, but it should help get you started.
==Background and Technical Considerations==
'''Introduction'''
Many MakeHuman users will use the work they create in MakeHuman as a component of a project completed in an external, downstream application. The most common target applications are 3D graphics applications like Blender, Autodesk 3DSMax, and Autodesk Maya or gaming engines like Unity Engine or Unreal Engine 4 or Virtual Worlds like Second Life. In some cases, the MakeHuman user will be interested in moving just the mesh. In other cases, the user will be interested in moving a complete, posed, skeletonized character to the downstream application. The purpose of this document is to discuss the basic process of moving a finished MakeHuman asset to a downstream program and producing a reasonable facsimile of its MakeHuman appearance in the downstream application. It is important to recognize that because each application has its own way of representing 3D assets, and because each export format has its own set of idiosyncrasies, there will be adjustments and approximations in the asset transfer process.
'''Format Considerations'''
In an effort to provide the broadest latitude for user workflows, the MakeHuman development team is directing it major export support toward Autodesk FBX format and Khronos Collada format. In addition, Blender users have the option to install the [https://bitbucket.org/ThomasMakeHuman/mhx2-makehuman-exchange independently developed .mhx2 tools], which are developed and maintained by Thomas Larson, independent of MakeHuman itself. Collada is a text-based format and is an open standard, but implementation of the standard is not as consistent as might be hoped. FBX is a proprietary standard developed by Autodesk and supported through a software development kit (FBX SDK) written in C++ and a Python FBX scripting template. The FBX standard is periodically updated by Autodesk and can be saved as either an ASCII or a binary format. Downstream programs may make assumptions about the FBX version being imported, and may limit users to either binary or ASCII importing. Surprisingly, CG assets exported from various programs as collada and FBX do not make it back into the same program as a round-trip without changes to some components of the scene. For example, this is true of FBX format in both 3DSMax and Maya for MakeHumanassets. It is also true for Blender with both FBX and collada format for MakeHumanassets. In this document, we will attempt to provide some support for dealing with this type of surprise.
'''MakeHuman Shader and Asset Rendering'''
A “shader” is computer code that translates digital information into a properly rendered image on the computer screen. Different algorithms use different methods of constructing such a display. By default in MakeHuman, the viewport lighting is handled by the built-in light-sphere shader. The light-sphere shader takes advantage of support for the openGL standard provided by today’s graphics cards. What the viewer sees on the screen depends not only on the color of assets, like skin and clothing, but also on the nature of the lights illuminating the scene and causing reflections and shadows. Most downstream programs use other shader strategies, the most common of which include Phong shaders, Blinn shaders, or Lambert shaders. Because the code and conceptual design of these shaders differs from that of the MakeHuman light-sphere shader, the user should be prepared to make some adjustments in the downstream program to get the final desired effect. Some MakeHuman assets also include Normal maps which the user will want to integrate into the downstream applications rendering.
When a MakeHuman material (for example, skin or clothing or eyelashes) is exported, it carries with it a limited amount of fundamental information for by the downstream program’s shaders. In an ideal world, the downstream program would import this raw information, correctly populate the variables in its shaders, and yield the same view of the human that was exported from MakeHuman. At present this does not typically happen, and the user must make some adjustments. This Wiki section is designed to help you negotiate through that process.
'''Spatial transformation: MakeHuman Coordinate System, MakeHuman Skeletons, and MakeHuman Scales'''
The MakeHuman viewport is oriented so that the positive end of the x-axis is to the right, the positive end of the y-axis it up, and the positive end of the z-axis is out through the front to the screen. Other CG programs can use other schemes, so it is essential to know the coordinate system used by the downstream target at export time, if you wish to minimize the adjustments you make after importing. The settings tab allows users to work in metric units of decimeters or imperial units of inches. Downstream programs vary in their de facto units, and again, it is generally a good idea to anticipate your needs at export time rather than trying to make adjustments during or after import. It is sometimes said that these programs have no default unit. To a degree this is true. However, the default grid pattern, assumptions of other humanoid producing programs, and assumptions of the “physics systems” will often work best with the export units specified in the table below:
TABLE HERE
'''Working with Rigs and Skeletons'''
Internally, MakeHuman uses its default skeleton as the basis of mesh vertex weighting for creating the poses available on the pose tab. This rig includes a special set of bones that can be used for driving facial expressions, but as of the current release (MakeHuman 1.1.x), there is not extensive support for inverse kinematics, and animation must be done downstream in the production pipeline. Historically, MakeHuman has had close ties to Blender, but the ultimate development goal is to provide strong generic support for all the major tools used in the industry, and with MakeHuman 1.1.x, substantial progress has been made by providing weighted skeletons suited for standard use in various downstream applications. For the most part, the name of the most appropriate rig will be clearly associated with the target downstream application, but the tag filters on the Pose/Animate | skeleton tab are intended to help choose a rig suited more generally to a specific purpose like motion capture integration, facial animation, or gaming applications. MakeHuman is designed to provide the user with maximum flexibility at creation time. To provide skeletons that work perfectly with every conceivable variation of the sliders is a laudable but elusive goal. That said, the user should get excellent results with the current approach, but the user should be prepared to make some minor tweaks to skeletons and weights downstream, particularly with extreme character dimensions or extreme poses.
'''MakeHuman Assets with transparency'''
In CG art, materials for mesh objects are frequently created by shaders that use various types of image maps to provide some of the information for determining the color, transparency, and light behavior on the surface of mesh objects. These image maps are referred to as textures. MakeHuman has textured materials available for the body (including proxy topologies), eyes, eyebrows, eyelashes, tongue, teeth, and hair. During export, these textures need to made available to the program that will be importing the MakeHuman output. Two aspects of this process need to be understood by the MakeHuman user: 1) how textures are saved; and 2) how transparency is handled.
There are two possible standards for storing texture assets upon export. They can either be embedded in an exported file, or they can be saved to a folder as named images with reference to the location of those files in the exported file. At present, MakeHuman uses the latter approach when exporting material textures. Following the export process, MakeHuman exports will be located in ~/makehuman/v1/exports/, and the texture images will be located in a corresponding subfolder ~/makehuman/v1/exports/textures. The tilde symbol indicates your user drive and home document directory. [For example, on Windows Vista and later, this typically would be: C:/Users/%USERNAME%/Documents/makehuman/v1/exports and a textures subfolder, where %USERNAME% is replaced by your username.]
Transparency is used in 3D art to let a viewer see through a mesh object to experience the color, reflections and lighting behind that object. MakeHuman uses transparency with textures for the eyes, eyebrows, eyelashes, and hair. This allows complex real world geometry to be represented by much simpler quasi-planar objects. For example, the hairs of the eyebrows are painted onto a flat surface with transparent spaces in between the painted hairs rather than creating tiny mesh objects for each of the 250-1000 individual hairs. CG programs can indicate which regions of the eyebrow should be transparent either by using a separate image where blackness indicates transparent and whiteness indicates opacity. Grayness is used to represent partial transparency. An alternative approach to representing transparency is to use an image format like .tga or .png which has a one byte channel, called an alpha channel, for just this purpose. Again, values near zero (black) typically represent “completely transparent” and values near 255 (white) typically represent “completely opaque”. MakeHuman represents the transparent regions of its assets using the alpha channel method and the .png format for textures. Unfortunately, importers for filmbox (FBX) and collada formats (DAE) do not automatically extract the transparency information provided by MakeHuman, or more specifically, they do not provide it to their shaders as anticipated. This is not just a MakeHuman problem but reflects multiple ways of handling transparency and alpha channels within the industry. Notably, exporting and reimporting assets with alpha channel transparency into the very same program fails with Blender, 3DSMax, and Maya for FBX, and where available, DAE formats. This forces the MakeHuman user to understand how to overcome this limitation in his favorite downstream application. Some introductory help will be provided for common applications later in this document.
There is one additional aspect of using transparency to make a single, simple mesh represent multiple small objects like eyebrows, and that is the issue of shadows. Lighting systems in 3D worlds creates a simulation of reality by making shadows appear on mesh objects in places you would expect to see them in the real world and with the soft edges you would expect to see in the real world. Shadows are a function of both the light source, the object blocking that light, and the objects receiving the reflected and refracted light from other objects. For objects that have transparency, like MakeHuman’s eyes, eyelashes, eyebrows, and hair, shadows should only be cast by the opaque portion of the texture and not by the transparent portions of the texture. The handling of shadows differs considerably from program to program, and objects with alpha channel transparency can need some special handling to accommodate these differences. This handling is not just about the assets with alpha map transparency, themselves. Sometimes it is necessary to set parameters to explicitly tell other objects like the MakeHuman body to not display shadows from the transparent regions of the eyebrows but to show shadows from the opaque hairs of the eyebrows. Shadows of transparently mapped assets will be addressed further in subsequent sections (where information is available).
==Illustrating the Export Process for Subsequent Import==
For the purposes of illustration we will take a straight forward MakeHuman character that has been given a skeleton, a pose, a skin material, clothing, eyes, eyelashes, eyebrows, hair, tongue and teeth. We will then export it for import into a number of popular downstream applications. For each application, our goal will be to get the character to look similar to its original look in MakeHuman. We will pay particular attention to the head and face because this is the area of greatest difficulty for dealing with transparency and shadows. The character has the default skeleton and has been set in the T-pose which is a common starting pose for animation-based work. The image we will be exporting looks like this in MakeHuman:
[[File:ImpExp-001.png]]
'''Figure 1.''' MakeHuman character as viewed from within MakeHuman prior to export.
In subsequent sections, we will discuss the steps needed to reproduce this look after importing into a downstream program.
==Moving Assets into Autodesk Maya==
We will use the file created in the “Illustrating the export/import process” section.
The FBX export settings used for Maya import should include setting the scale units to centimeters on export. Maya can import either ASCII or binary FBX files, so either type of export can be used for MakeHuman export. <nowiki>[RWB Note: as of this writing there are still some issues with direct FBX binary export, but those are expected to be repaired going forward]</nowiki>. By default the exported file will be found in ~/makehuman/v1/exports/ (where ~ is the user home directory).
When the file is initially imported into Maya it looks like this:
[[File:ImpExp03.png]]
'''Figure2'''
The only color in the viewport is the shoes which had a simple diffuse material which was not associated a texture. By clicking the textured icon at the top of the viewport, the viewport shows a preview of how the rendered, textured image would appear:
[[File:ImpExp04.png]]
'''Figure 3'''
Holding down Alt and scrolling with the middle mouse wheel allows us to zoom in and see the problems with the imported eyes, eyelashes, eyebrows, and possibly the hair:
[[File:ImpExp06.png]]
'''Figure 4'''
The thin lines on the face are an artifact of having included the facial rig by choosing the default skeleton. The process of fixing the eyes, eyelashes, eyebrows, and hair is the same in each case. We must tell Maya to use transparency from the corresponding alpha channel when rendering the corresponding mesh. It can be hard to select the facial mesh objects in perspective view so it is advisable to go into orthographic front view. One way to do this is with the panel menu just above the viewport.
[[File:ImpExp07.png]]
'''Figure 5'''
[[File:ImpExp08.png]]
'''Figure 6'''
Once in front view, left click to select the eye meshes, and perform the following steps:
1. In the attribute editor on the right side of the screen, use the right arrow key to make sure the right-most tab is visible and click it to show the corresponding attributes.
[[File:ImpExp09.png]]
'''Figure 7'''
2. In the phong shader section, open the Common Material Attributes section and click on the checkered button to the right of transparency.
[[File:ImpExp10.png]]
'''Figure 8'''
3. In the Create Render Node dialog box that pops up, click on file.
[[File:ImpExp11.png]]
'''Figure 9'''
4. The checkered button next to transparency (see Figure 7) turns into an arrow, [[File:ImpExp12.png]] which you can click to allow the attribute editor to locate the texture map for your eyes. In our example, this texture is called blue_eyes.png. You navigate to this file by left clicking on the yellow folder file attributes section as shown in the image below:
[[File:ImpExp13.png]]
[[File:ImpExp14.png]]
[[File:ImpExp15.png]]
==Moving Assets into Autodesk 3DSMax==
==Moving Assets into Blender==
==Moving Assets into Unreal Engine 4==
==Moving Assets into Unity Game Engine==
==Moving Assets into Google Sketchup==
==Preparing assets for use with Second Life==
f61b98d3a449ce5111ec1f5cd408f2685c46dddf
200
199
2015-07-25T13:55:26Z
Joepal
14
Link to MHX
wikitext
text/x-wiki
== Summary ==
More often than not MakeHuman users will want to move their creation into another program to continue the creation process. This section provides information on how to achieve this for common target programs. The Background and Export Example section provides some background that are common to all workflows. It is not essential to read the introduction before going straight to the program of interest, but doing so might help you understand ''why'' certain steps work or are necessary. In many cases there can be more than one way to accomplish the same thing. The method described here may not be optimal for your situation, but it should help get you started.
==Background and Technical Considerations==
'''Introduction'''
Many MakeHuman users will use the work they create in MakeHuman as a component of a project completed in an external, downstream application. The most common target applications are 3D graphics applications like Blender, Autodesk 3DSMax, and Autodesk Maya or gaming engines like Unity Engine or Unreal Engine 4 or Virtual Worlds like Second Life. In some cases, the MakeHuman user will be interested in moving just the mesh. In other cases, the user will be interested in moving a complete, posed, skeletonized character to the downstream application. The purpose of this document is to discuss the basic process of moving a finished MakeHuman asset to a downstream program and producing a reasonable facsimile of its MakeHuman appearance in the downstream application. It is important to recognize that because each application has its own way of representing 3D assets, and because each export format has its own set of idiosyncrasies, there will be adjustments and approximations in the asset transfer process.
'''Format Considerations'''
In an effort to provide the broadest latitude for user workflows, the MakeHuman development team is directing it major export support toward Autodesk FBX format and Khronos Collada format. In addition, Blender users have the option to install the [https://bitbucket.org/ThomasMakeHuman/mhx2-makehuman-exchange independently developed .mhx2 tools], which are developed and maintained by Thomas Larson, independent of MakeHuman itself. Collada is a text-based format and is an open standard, but implementation of the standard is not as consistent as might be hoped. FBX is a proprietary standard developed by Autodesk and supported through a software development kit (FBX SDK) written in C++ and a Python FBX scripting template. The FBX standard is periodically updated by Autodesk and can be saved as either an ASCII or a binary format. Downstream programs may make assumptions about the FBX version being imported, and may limit users to either binary or ASCII importing. Surprisingly, CG assets exported from various programs as collada and FBX do not make it back into the same program as a round-trip without changes to some components of the scene. For example, this is true of FBX format in both 3DSMax and Maya for MakeHumanassets. It is also true for Blender with both FBX and collada format for MakeHumanassets. In this document, we will attempt to provide some support for dealing with this type of surprise.
'''MakeHuman Shader and Asset Rendering'''
A “shader” is computer code that translates digital information into a properly rendered image on the computer screen. Different algorithms use different methods of constructing such a display. By default in MakeHuman, the viewport lighting is handled by the built-in light-sphere shader. The light-sphere shader takes advantage of support for the openGL standard provided by today’s graphics cards. What the viewer sees on the screen depends not only on the color of assets, like skin and clothing, but also on the nature of the lights illuminating the scene and causing reflections and shadows. Most downstream programs use other shader strategies, the most common of which include Phong shaders, Blinn shaders, or Lambert shaders. Because the code and conceptual design of these shaders differs from that of the MakeHuman light-sphere shader, the user should be prepared to make some adjustments in the downstream program to get the final desired effect. Some MakeHuman assets also include Normal maps which the user will want to integrate into the downstream applications rendering.
When a MakeHuman material (for example, skin or clothing or eyelashes) is exported, it carries with it a limited amount of fundamental information for by the downstream program’s shaders. In an ideal world, the downstream program would import this raw information, correctly populate the variables in its shaders, and yield the same view of the human that was exported from MakeHuman. At present this does not typically happen, and the user must make some adjustments. This Wiki section is designed to help you negotiate through that process.
'''Spatial transformation: MakeHuman Coordinate System, MakeHuman Skeletons, and MakeHuman Scales'''
The MakeHuman viewport is oriented so that the positive end of the x-axis is to the right, the positive end of the y-axis it up, and the positive end of the z-axis is out through the front to the screen. Other CG programs can use other schemes, so it is essential to know the coordinate system used by the downstream target at export time, if you wish to minimize the adjustments you make after importing. The settings tab allows users to work in metric units of decimeters or imperial units of inches. Downstream programs vary in their de facto units, and again, it is generally a good idea to anticipate your needs at export time rather than trying to make adjustments during or after import. It is sometimes said that these programs have no default unit. To a degree this is true. However, the default grid pattern, assumptions of other humanoid producing programs, and assumptions of the “physics systems” will often work best with the export units specified in the table below:
TABLE HERE
'''Working with Rigs and Skeletons'''
Internally, MakeHuman uses its default skeleton as the basis of mesh vertex weighting for creating the poses available on the pose tab. This rig includes a special set of bones that can be used for driving facial expressions, but as of the current release (MakeHuman 1.1.x), there is not extensive support for inverse kinematics, and animation must be done downstream in the production pipeline. Historically, MakeHuman has had close ties to Blender, but the ultimate development goal is to provide strong generic support for all the major tools used in the industry, and with MakeHuman 1.1.x, substantial progress has been made by providing weighted skeletons suited for standard use in various downstream applications. For the most part, the name of the most appropriate rig will be clearly associated with the target downstream application, but the tag filters on the Pose/Animate | skeleton tab are intended to help choose a rig suited more generally to a specific purpose like motion capture integration, facial animation, or gaming applications. MakeHuman is designed to provide the user with maximum flexibility at creation time. To provide skeletons that work perfectly with every conceivable variation of the sliders is a laudable but elusive goal. That said, the user should get excellent results with the current approach, but the user should be prepared to make some minor tweaks to skeletons and weights downstream, particularly with extreme character dimensions or extreme poses.
'''MakeHuman Assets with transparency'''
In CG art, materials for mesh objects are frequently created by shaders that use various types of image maps to provide some of the information for determining the color, transparency, and light behavior on the surface of mesh objects. These image maps are referred to as textures. MakeHuman has textured materials available for the body (including proxy topologies), eyes, eyebrows, eyelashes, tongue, teeth, and hair. During export, these textures need to made available to the program that will be importing the MakeHuman output. Two aspects of this process need to be understood by the MakeHuman user: 1) how textures are saved; and 2) how transparency is handled.
There are two possible standards for storing texture assets upon export. They can either be embedded in an exported file, or they can be saved to a folder as named images with reference to the location of those files in the exported file. At present, MakeHuman uses the latter approach when exporting material textures. Following the export process, MakeHuman exports will be located in ~/makehuman/v1/exports/, and the texture images will be located in a corresponding subfolder ~/makehuman/v1/exports/textures. The tilde symbol indicates your user drive and home document directory. [For example, on Windows Vista and later, this typically would be: C:/Users/%USERNAME%/Documents/makehuman/v1/exports and a textures subfolder, where %USERNAME% is replaced by your username.]
Transparency is used in 3D art to let a viewer see through a mesh object to experience the color, reflections and lighting behind that object. MakeHuman uses transparency with textures for the eyes, eyebrows, eyelashes, and hair. This allows complex real world geometry to be represented by much simpler quasi-planar objects. For example, the hairs of the eyebrows are painted onto a flat surface with transparent spaces in between the painted hairs rather than creating tiny mesh objects for each of the 250-1000 individual hairs. CG programs can indicate which regions of the eyebrow should be transparent either by using a separate image where blackness indicates transparent and whiteness indicates opacity. Grayness is used to represent partial transparency. An alternative approach to representing transparency is to use an image format like .tga or .png which has a one byte channel, called an alpha channel, for just this purpose. Again, values near zero (black) typically represent “completely transparent” and values near 255 (white) typically represent “completely opaque”. MakeHuman represents the transparent regions of its assets using the alpha channel method and the .png format for textures. Unfortunately, importers for filmbox (FBX) and collada formats (DAE) do not automatically extract the transparency information provided by MakeHuman, or more specifically, they do not provide it to their shaders as anticipated. This is not just a MakeHuman problem but reflects multiple ways of handling transparency and alpha channels within the industry. Notably, exporting and reimporting assets with alpha channel transparency into the very same program fails with Blender, 3DSMax, and Maya for FBX, and where available, DAE formats. This forces the MakeHuman user to understand how to overcome this limitation in his favorite downstream application. Some introductory help will be provided for common applications later in this document.
There is one additional aspect of using transparency to make a single, simple mesh represent multiple small objects like eyebrows, and that is the issue of shadows. Lighting systems in 3D worlds creates a simulation of reality by making shadows appear on mesh objects in places you would expect to see them in the real world and with the soft edges you would expect to see in the real world. Shadows are a function of both the light source, the object blocking that light, and the objects receiving the reflected and refracted light from other objects. For objects that have transparency, like MakeHuman’s eyes, eyelashes, eyebrows, and hair, shadows should only be cast by the opaque portion of the texture and not by the transparent portions of the texture. The handling of shadows differs considerably from program to program, and objects with alpha channel transparency can need some special handling to accommodate these differences. This handling is not just about the assets with alpha map transparency, themselves. Sometimes it is necessary to set parameters to explicitly tell other objects like the MakeHuman body to not display shadows from the transparent regions of the eyebrows but to show shadows from the opaque hairs of the eyebrows. Shadows of transparently mapped assets will be addressed further in subsequent sections (where information is available).
==Illustrating the Export Process for Subsequent Import==
For the purposes of illustration we will take a straight forward MakeHuman character that has been given a skeleton, a pose, a skin material, clothing, eyes, eyelashes, eyebrows, hair, tongue and teeth. We will then export it for import into a number of popular downstream applications. For each application, our goal will be to get the character to look similar to its original look in MakeHuman. We will pay particular attention to the head and face because this is the area of greatest difficulty for dealing with transparency and shadows. The character has the default skeleton and has been set in the T-pose which is a common starting pose for animation-based work. The image we will be exporting looks like this in MakeHuman:
[[File:ImpExp-001.png]]
'''Figure 1.''' MakeHuman character as viewed from within MakeHuman prior to export.
In subsequent sections, we will discuss the steps needed to reproduce this look after importing into a downstream program.
==Moving Assets into Autodesk Maya==
We will use the file created in the “Illustrating the export/import process” section.
The FBX export settings used for Maya import should include setting the scale units to centimeters on export. Maya can import either ASCII or binary FBX files, so either type of export can be used for MakeHuman export. <nowiki>[RWB Note: as of this writing there are still some issues with direct FBX binary export, but those are expected to be repaired going forward]</nowiki>. By default the exported file will be found in ~/makehuman/v1/exports/ (where ~ is the user home directory).
When the file is initially imported into Maya it looks like this:
[[File:ImpExp03.png]]
'''Figure2'''
The only color in the viewport is the shoes which had a simple diffuse material which was not associated a texture. By clicking the textured icon at the top of the viewport, the viewport shows a preview of how the rendered, textured image would appear:
[[File:ImpExp04.png]]
'''Figure 3'''
Holding down Alt and scrolling with the middle mouse wheel allows us to zoom in and see the problems with the imported eyes, eyelashes, eyebrows, and possibly the hair:
[[File:ImpExp06.png]]
'''Figure 4'''
The thin lines on the face are an artifact of having included the facial rig by choosing the default skeleton. The process of fixing the eyes, eyelashes, eyebrows, and hair is the same in each case. We must tell Maya to use transparency from the corresponding alpha channel when rendering the corresponding mesh. It can be hard to select the facial mesh objects in perspective view so it is advisable to go into orthographic front view. One way to do this is with the panel menu just above the viewport.
[[File:ImpExp07.png]]
'''Figure 5'''
[[File:ImpExp08.png]]
'''Figure 6'''
Once in front view, left click to select the eye meshes, and perform the following steps:
1. In the attribute editor on the right side of the screen, use the right arrow key to make sure the right-most tab is visible and click it to show the corresponding attributes.
[[File:ImpExp09.png]]
'''Figure 7'''
2. In the phong shader section, open the Common Material Attributes section and click on the checkered button to the right of transparency.
[[File:ImpExp10.png]]
'''Figure 8'''
3. In the Create Render Node dialog box that pops up, click on file.
[[File:ImpExp11.png]]
'''Figure 9'''
[[File:ImpExp12.png]]
[[File:ImpExp13.png]]
[[File:ImpExp14.png]]
[[File:ImpExp15.png]]
==Moving Assets into Autodesk 3DSMax==
==Moving Assets into Blender==
==Moving Assets into Unreal Engine 4==
==Moving Assets into Unity Game Engine==
==Moving Assets into Google Sketchup==
==Preparing assets for use with Second Life==
d103cced991fadccb11ae2bbdc6216f4fda3a30b
199
198
2015-07-25T13:48:37Z
Robbaer
12
/* Moving Assets into Autodesk Maya */
wikitext
text/x-wiki
== Summary ==
More often than not MakeHuman users will want to move their creation into another program to continue the creation process. This section provides information on how to achieve this for common target programs. The Background and Export Example section provides some background that are common to all workflows. It is not essential to read the introduction before going straight to the program of interest, but doing so might help you understand ''why'' certain steps work or are necessary. In many cases there can be more than one way to accomplish the same thing. The method described here may not be optimal for your situation, but it should help get you started.
==Background and Technical Considerations==
'''Introduction'''
Many MakeHuman users will use the work they create in MakeHuman as a component of a project completed in an external, downstream application. The most common target applications are 3D graphics applications like Blender, Autodesk 3DSMax, and Autodesk Maya or gaming engines like Unity Engine or Unreal Engine 4 or Virtual Worlds like Second Life. In some cases, the MakeHuman user will be interested in moving just the mesh. In other cases, the user will be interested in moving a complete, posed, skeletonized character to the downstream application. The purpose of this document is to discuss the basic process of moving a finished MakeHuman asset to a downstream program and producing a reasonable facsimile of its MakeHuman appearance in the downstream application. It is important to recognize that because each application has its own way of representing 3D assets, and because each export format has its own set of idiosyncrasies, there will be adjustments and approximations in the asset transfer process.
'''Format Considerations'''
In an effort to provide the broadest latitude for user workflows, the MakeHuman development team is directing it major export support toward Autodesk FBX format and Khronos Collada format. In addition, Blender users have the option to install the independently developed .mhx2 tools, which are developed and maintained by Thomas Larson, independent of MakeHuman itself. Collada is a text-based format and is an open standard, but implementation of the standard is not as consistent as might be hoped. FBX is a proprietary standard developed by Autodesk and supported through a software development kit (FBX SDK) written in C++ and a Python FBX scripting template. The FBX standard is periodically updated by Autodesk and can be saved as either an ASCII or a binary format. Downstream programs may make assumptions about the FBX version being imported, and may limit users to either binary or ASCII importing. Surprisingly, CG assets exported from various programs as collada and FBX do not make it back into the same program as a round-trip without changes to some components of the scene. For example, this is true of FBX format in both 3DSMax and Maya for MakeHumanassets. It is also true for Blender with both FBX and collada format for MakeHumanassets. In this document, we will attempt to provide some support for dealing with this type of surprise.
'''MakeHuman Shader and Asset Rendering'''
A “shader” is computer code that translates digital information into a properly rendered image on the computer screen. Different algorithms use different methods of constructing such a display. By default in MakeHuman, the viewport lighting is handled by the built-in light-sphere shader. The light-sphere shader takes advantage of support for the openGL standard provided by today’s graphics cards. What the viewer sees on the screen depends not only on the color of assets, like skin and clothing, but also on the nature of the lights illuminating the scene and causing reflections and shadows. Most downstream programs use other shader strategies, the most common of which include Phong shaders, Blinn shaders, or Lambert shaders. Because the code and conceptual design of these shaders differs from that of the MakeHuman light-sphere shader, the user should be prepared to make some adjustments in the downstream program to get the final desired effect. Some MakeHuman assets also include Normal maps which the user will want to integrate into the downstream applications rendering.
When a MakeHuman material (for example, skin or clothing or eyelashes) is exported, it carries with it a limited amount of fundamental information for by the downstream program’s shaders. In an ideal world, the downstream program would import this raw information, correctly populate the variables in its shaders, and yield the same view of the human that was exported from MakeHuman. At present this does not typically happen, and the user must make some adjustments. This Wiki section is designed to help you negotiate through that process.
'''Spatial transformation: MakeHuman Coordinate System, MakeHuman Skeletons, and MakeHuman Scales'''
The MakeHuman viewport is oriented so that the positive end of the x-axis is to the right, the positive end of the y-axis it up, and the positive end of the z-axis is out through the front to the screen. Other CG programs can use other schemes, so it is essential to know the coordinate system used by the downstream target at export time, if you wish to minimize the adjustments you make after importing. The settings tab allows users to work in metric units of decimeters or imperial units of inches. Downstream programs vary in their de facto units, and again, it is generally a good idea to anticipate your needs at export time rather than trying to make adjustments during or after import. It is sometimes said that these programs have no default unit. To a degree this is true. However, the default grid pattern, assumptions of other humanoid producing programs, and assumptions of the “physics systems” will often work best with the export units specified in the table below:
TABLE HERE
'''Working with Rigs and Skeletons'''
Internally, MakeHuman uses its default skeleton as the basis of mesh vertex weighting for creating the poses available on the pose tab. This rig includes a special set of bones that can be used for driving facial expressions, but as of the current release (MakeHuman 1.1.x), there is not extensive support for inverse kinematics, and animation must be done downstream in the production pipeline. Historically, MakeHuman has had close ties to Blender, but the ultimate development goal is to provide strong generic support for all the major tools used in the industry, and with MakeHuman 1.1.x, substantial progress has been made by providing weighted skeletons suited for standard use in various downstream applications. For the most part, the name of the most appropriate rig will be clearly associated with the target downstream application, but the tag filters on the Pose/Animate | skeleton tab are intended to help choose a rig suited more generally to a specific purpose like motion capture integration, facial animation, or gaming applications. MakeHuman is designed to provide the user with maximum flexibility at creation time. To provide skeletons that work perfectly with every conceivable variation of the sliders is a laudable but elusive goal. That said, the user should get excellent results with the current approach, but the user should be prepared to make some minor tweaks to skeletons and weights downstream, particularly with extreme character dimensions or extreme poses.
'''MakeHuman Assets with transparency'''
In CG art, materials for mesh objects are frequently created by shaders that use various types of image maps to provide some of the information for determining the color, transparency, and light behavior on the surface of mesh objects. These image maps are referred to as textures. MakeHuman has textured materials available for the body (including proxy topologies), eyes, eyebrows, eyelashes, tongue, teeth, and hair. During export, these textures need to made available to the program that will be importing the MakeHuman output. Two aspects of this process need to be understood by the MakeHuman user: 1) how textures are saved; and 2) how transparency is handled.
There are two possible standards for storing texture assets upon export. They can either be embedded in an exported file, or they can be saved to a folder as named images with reference to the location of those files in the exported file. At present, MakeHuman uses the latter approach when exporting material textures. Following the export process, MakeHuman exports will be located in ~/makehuman/v1/exports/, and the texture images will be located in a corresponding subfolder ~/makehuman/v1/exports/textures. The tilde symbol indicates your user drive and home document directory. [For example, on Windows Vista and later, this typically would be: C:/Users/%USERNAME%/Documents/makehuman/v1/exports and a textures subfolder, where %USERNAME% is replaced by your username.]
Transparency is used in 3D art to let a viewer see through a mesh object to experience the color, reflections and lighting behind that object. MakeHuman uses transparency with textures for the eyes, eyebrows, eyelashes, and hair. This allows complex real world geometry to be represented by much simpler quasi-planar objects. For example, the hairs of the eyebrows are painted onto a flat surface with transparent spaces in between the painted hairs rather than creating tiny mesh objects for each of the 250-1000 individual hairs. CG programs can indicate which regions of the eyebrow should be transparent either by using a separate image where blackness indicates transparent and whiteness indicates opacity. Grayness is used to represent partial transparency. An alternative approach to representing transparency is to use an image format like .tga or .png which has a one byte channel, called an alpha channel, for just this purpose. Again, values near zero (black) typically represent “completely transparent” and values near 255 (white) typically represent “completely opaque”. MakeHuman represents the transparent regions of its assets using the alpha channel method and the .png format for textures. Unfortunately, importers for filmbox (FBX) and collada formats (DAE) do not automatically extract the transparency information provided by MakeHuman, or more specifically, they do not provide it to their shaders as anticipated. This is not just a MakeHuman problem but reflects multiple ways of handling transparency and alpha channels within the industry. Notably, exporting and reimporting assets with alpha channel transparency into the very same program fails with Blender, 3DSMax, and Maya for FBX, and where available, DAE formats. This forces the MakeHuman user to understand how to overcome this limitation in his favorite downstream application. Some introductory help will be provided for common applications later in this document.
There is one additional aspect of using transparency to make a single, simple mesh represent multiple small objects like eyebrows, and that is the issue of shadows. Lighting systems in 3D worlds creates a simulation of reality by making shadows appear on mesh objects in places you would expect to see them in the real world and with the soft edges you would expect to see in the real world. Shadows are a function of both the light source, the object blocking that light, and the objects receiving the reflected and refracted light from other objects. For objects that have transparency, like MakeHuman’s eyes, eyelashes, eyebrows, and hair, shadows should only be cast by the opaque portion of the texture and not by the transparent portions of the texture. The handling of shadows differs considerably from program to program, and objects with alpha channel transparency can need some special handling to accommodate these differences. This handling is not just about the assets with alpha map transparency, themselves. Sometimes it is necessary to set parameters to explicitly tell other objects like the MakeHuman body to not display shadows from the transparent regions of the eyebrows but to show shadows from the opaque hairs of the eyebrows. Shadows of transparently mapped assets will be addressed further in subsequent sections (where information is available).
==Illustrating the Export Process for Subsequent Import==
For the purposes of illustration we will take a straight forward MakeHuman character that has been given a skeleton, a pose, a skin material, clothing, eyes, eyelashes, eyebrows, hair, tongue and teeth. We will then export it for import into a number of popular downstream applications. For each application, our goal will be to get the character to look similar to its original look in MakeHuman. We will pay particular attention to the head and face because this is the area of greatest difficulty for dealing with transparency and shadows. The character has the default skeleton and has been set in the T-pose which is a common starting pose for animation-based work. The image we will be exporting looks like this in MakeHuman:
[[File:ImpExp-001.png]]
'''Figure 1.''' MakeHuman character as viewed from within MakeHuman prior to export.
In subsequent sections, we will discuss the steps needed to reproduce this look after importing into a downstream program.
==Moving Assets into Autodesk Maya==
We will use the file created in the “Illustrating the export/import process” section.
The FBX export settings used for Maya import should include setting the scale units to centimeters on export. Maya can import either ASCII or binary FBX files, so either type of export can be used for MakeHuman export. <nowiki>[RWB Note: as of this writing there are still some issues with direct FBX binary export, but those are expected to be repaired going forward]</nowiki>. By default the exported file will be found in ~/makehuman/v1/exports/ (where ~ is the user home directory).
When the file is initially imported into Maya it looks like this:
[[File:ImpExp03.png]]
'''Figure2'''
The only color in the viewport is the shoes which had a simple diffuse material which was not associated a texture. By clicking the textured icon at the top of the viewport, the viewport shows a preview of how the rendered, textured image would appear:
[[File:ImpExp04.png]]
'''Figure 3'''
Holding down Alt and scrolling with the middle mouse wheel allows us to zoom in and see the problems with the imported eyes, eyelashes, eyebrows, and possibly the hair:
[[File:ImpExp06.png]]
'''Figure 4'''
The thin lines on the face are an artifact of having included the facial rig by choosing the default skeleton. The process of fixing the eyes, eyelashes, eyebrows, and hair is the same in each case. We must tell Maya to use transparency from the corresponding alpha channel when rendering the corresponding mesh. It can be hard to select the facial mesh objects in perspective view so it is advisable to go into orthographic front view. One way to do this is with the panel menu just above the viewport.
[[File:ImpExp07.png]]
'''Figure 5'''
[[File:ImpExp08.png]]
'''Figure 6'''
Once in front view, left click to select the eye meshes, and perform the following steps:
1. In the attribute editor on the right side of the screen, use the right arrow key to make sure the right-most tab is visible and click it to show the corresponding attributes.
[[File:ImpExp09.png]]
'''Figure 7'''
2. In the phong shader section, open the Common Material Attributes section and click on the checkered button to the right of transparency.
[[File:ImpExp10.png]]
'''Figure 8'''
3. In the Create Render Node dialog box that pops up, click on file.
[[File:ImpExp11.png]]
'''Figure 9'''
[[File:ImpExp12.png]]
[[File:ImpExp13.png]]
[[File:ImpExp14.png]]
[[File:ImpExp15.png]]
==Moving Assets into Autodesk 3DSMax==
==Moving Assets into Blender==
==Moving Assets into Unreal Engine 4==
==Moving Assets into Unity Game Engine==
==Moving Assets into Google Sketchup==
==Preparing assets for use with Second Life==
2995551f5ac960a1b17f8cee6b84733be543761c
198
197
2015-07-25T13:36:33Z
Robbaer
12
/* Moving Assets into Autodesk Maya */
wikitext
text/x-wiki
== Summary ==
More often than not MakeHuman users will want to move their creation into another program to continue the creation process. This section provides information on how to achieve this for common target programs. The Background and Export Example section provides some background that are common to all workflows. It is not essential to read the introduction before going straight to the program of interest, but doing so might help you understand ''why'' certain steps work or are necessary. In many cases there can be more than one way to accomplish the same thing. The method described here may not be optimal for your situation, but it should help get you started.
==Background and Technical Considerations==
'''Introduction'''
Many MakeHuman users will use the work they create in MakeHuman as a component of a project completed in an external, downstream application. The most common target applications are 3D graphics applications like Blender, Autodesk 3DSMax, and Autodesk Maya or gaming engines like Unity Engine or Unreal Engine 4 or Virtual Worlds like Second Life. In some cases, the MakeHuman user will be interested in moving just the mesh. In other cases, the user will be interested in moving a complete, posed, skeletonized character to the downstream application. The purpose of this document is to discuss the basic process of moving a finished MakeHuman asset to a downstream program and producing a reasonable facsimile of its MakeHuman appearance in the downstream application. It is important to recognize that because each application has its own way of representing 3D assets, and because each export format has its own set of idiosyncrasies, there will be adjustments and approximations in the asset transfer process.
'''Format Considerations'''
In an effort to provide the broadest latitude for user workflows, the MakeHuman development team is directing it major export support toward Autodesk FBX format and Khronos Collada format. In addition, Blender users have the option to install the independently developed .mhx2 tools, which are developed and maintained by Thomas Larson, independent of MakeHuman itself. Collada is a text-based format and is an open standard, but implementation of the standard is not as consistent as might be hoped. FBX is a proprietary standard developed by Autodesk and supported through a software development kit (FBX SDK) written in C++ and a Python FBX scripting template. The FBX standard is periodically updated by Autodesk and can be saved as either an ASCII or a binary format. Downstream programs may make assumptions about the FBX version being imported, and may limit users to either binary or ASCII importing. Surprisingly, CG assets exported from various programs as collada and FBX do not make it back into the same program as a round-trip without changes to some components of the scene. For example, this is true of FBX format in both 3DSMax and Maya for MakeHumanassets. It is also true for Blender with both FBX and collada format for MakeHumanassets. In this document, we will attempt to provide some support for dealing with this type of surprise.
'''MakeHuman Shader and Asset Rendering'''
A “shader” is computer code that translates digital information into a properly rendered image on the computer screen. Different algorithms use different methods of constructing such a display. By default in MakeHuman, the viewport lighting is handled by the built-in light-sphere shader. The light-sphere shader takes advantage of support for the openGL standard provided by today’s graphics cards. What the viewer sees on the screen depends not only on the color of assets, like skin and clothing, but also on the nature of the lights illuminating the scene and causing reflections and shadows. Most downstream programs use other shader strategies, the most common of which include Phong shaders, Blinn shaders, or Lambert shaders. Because the code and conceptual design of these shaders differs from that of the MakeHuman light-sphere shader, the user should be prepared to make some adjustments in the downstream program to get the final desired effect. Some MakeHuman assets also include Normal maps which the user will want to integrate into the downstream applications rendering.
When a MakeHuman material (for example, skin or clothing or eyelashes) is exported, it carries with it a limited amount of fundamental information for by the downstream program’s shaders. In an ideal world, the downstream program would import this raw information, correctly populate the variables in its shaders, and yield the same view of the human that was exported from MakeHuman. At present this does not typically happen, and the user must make some adjustments. This Wiki section is designed to help you negotiate through that process.
'''Spatial transformation: MakeHuman Coordinate System, MakeHuman Skeletons, and MakeHuman Scales'''
The MakeHuman viewport is oriented so that the positive end of the x-axis is to the right, the positive end of the y-axis it up, and the positive end of the z-axis is out through the front to the screen. Other CG programs can use other schemes, so it is essential to know the coordinate system used by the downstream target at export time, if you wish to minimize the adjustments you make after importing. The settings tab allows users to work in metric units of decimeters or imperial units of inches. Downstream programs vary in their de facto units, and again, it is generally a good idea to anticipate your needs at export time rather than trying to make adjustments during or after import. It is sometimes said that these programs have no default unit. To a degree this is true. However, the default grid pattern, assumptions of other humanoid producing programs, and assumptions of the “physics systems” will often work best with the export units specified in the table below:
TABLE HERE
'''Working with Rigs and Skeletons'''
Internally, MakeHuman uses its default skeleton as the basis of mesh vertex weighting for creating the poses available on the pose tab. This rig includes a special set of bones that can be used for driving facial expressions, but as of the current release (MakeHuman 1.1.x), there is not extensive support for inverse kinematics, and animation must be done downstream in the production pipeline. Historically, MakeHuman has had close ties to Blender, but the ultimate development goal is to provide strong generic support for all the major tools used in the industry, and with MakeHuman 1.1.x, substantial progress has been made by providing weighted skeletons suited for standard use in various downstream applications. For the most part, the name of the most appropriate rig will be clearly associated with the target downstream application, but the tag filters on the Pose/Animate | skeleton tab are intended to help choose a rig suited more generally to a specific purpose like motion capture integration, facial animation, or gaming applications. MakeHuman is designed to provide the user with maximum flexibility at creation time. To provide skeletons that work perfectly with every conceivable variation of the sliders is a laudable but elusive goal. That said, the user should get excellent results with the current approach, but the user should be prepared to make some minor tweaks to skeletons and weights downstream, particularly with extreme character dimensions or extreme poses.
'''MakeHuman Assets with transparency'''
In CG art, materials for mesh objects are frequently created by shaders that use various types of image maps to provide some of the information for determining the color, transparency, and light behavior on the surface of mesh objects. These image maps are referred to as textures. MakeHuman has textured materials available for the body (including proxy topologies), eyes, eyebrows, eyelashes, tongue, teeth, and hair. During export, these textures need to made available to the program that will be importing the MakeHuman output. Two aspects of this process need to be understood by the MakeHuman user: 1) how textures are saved; and 2) how transparency is handled.
There are two possible standards for storing texture assets upon export. They can either be embedded in an exported file, or they can be saved to a folder as named images with reference to the location of those files in the exported file. At present, MakeHuman uses the latter approach when exporting material textures. Following the export process, MakeHuman exports will be located in ~/makehuman/v1/exports/, and the texture images will be located in a corresponding subfolder ~/makehuman/v1/exports/textures. The tilde symbol indicates your user drive and home document directory. [For example, on Windows Vista and later, this typically would be: C:/Users/%USERNAME%/Documents/makehuman/v1/exports and a textures subfolder, where %USERNAME% is replaced by your username.]
Transparency is used in 3D art to let a viewer see through a mesh object to experience the color, reflections and lighting behind that object. MakeHuman uses transparency with textures for the eyes, eyebrows, eyelashes, and hair. This allows complex real world geometry to be represented by much simpler quasi-planar objects. For example, the hairs of the eyebrows are painted onto a flat surface with transparent spaces in between the painted hairs rather than creating tiny mesh objects for each of the 250-1000 individual hairs. CG programs can indicate which regions of the eyebrow should be transparent either by using a separate image where blackness indicates transparent and whiteness indicates opacity. Grayness is used to represent partial transparency. An alternative approach to representing transparency is to use an image format like .tga or .png which has a one byte channel, called an alpha channel, for just this purpose. Again, values near zero (black) typically represent “completely transparent” and values near 255 (white) typically represent “completely opaque”. MakeHuman represents the transparent regions of its assets using the alpha channel method and the .png format for textures. Unfortunately, importers for filmbox (FBX) and collada formats (DAE) do not automatically extract the transparency information provided by MakeHuman, or more specifically, they do not provide it to their shaders as anticipated. This is not just a MakeHuman problem but reflects multiple ways of handling transparency and alpha channels within the industry. Notably, exporting and reimporting assets with alpha channel transparency into the very same program fails with Blender, 3DSMax, and Maya for FBX, and where available, DAE formats. This forces the MakeHuman user to understand how to overcome this limitation in his favorite downstream application. Some introductory help will be provided for common applications later in this document.
There is one additional aspect of using transparency to make a single, simple mesh represent multiple small objects like eyebrows, and that is the issue of shadows. Lighting systems in 3D worlds creates a simulation of reality by making shadows appear on mesh objects in places you would expect to see them in the real world and with the soft edges you would expect to see in the real world. Shadows are a function of both the light source, the object blocking that light, and the objects receiving the reflected and refracted light from other objects. For objects that have transparency, like MakeHuman’s eyes, eyelashes, eyebrows, and hair, shadows should only be cast by the opaque portion of the texture and not by the transparent portions of the texture. The handling of shadows differs considerably from program to program, and objects with alpha channel transparency can need some special handling to accommodate these differences. This handling is not just about the assets with alpha map transparency, themselves. Sometimes it is necessary to set parameters to explicitly tell other objects like the MakeHuman body to not display shadows from the transparent regions of the eyebrows but to show shadows from the opaque hairs of the eyebrows. Shadows of transparently mapped assets will be addressed further in subsequent sections (where information is available).
==Illustrating the Export Process for Subsequent Import==
For the purposes of illustration we will take a straight forward MakeHuman character that has been given a skeleton, a pose, a skin material, clothing, eyes, eyelashes, eyebrows, hair, tongue and teeth. We will then export it for import into a number of popular downstream applications. For each application, our goal will be to get the character to look similar to its original look in MakeHuman. We will pay particular attention to the head and face because this is the area of greatest difficulty for dealing with transparency and shadows. The character has the default skeleton and has been set in the T-pose which is a common starting pose for animation-based work. The image we will be exporting looks like this in MakeHuman:
[[File:ImpExp-001.png]]
'''Figure 1.''' MakeHuman character as viewed from within MakeHuman prior to export.
In subsequent sections, we will discuss the steps needed to reproduce this look after importing into a downstream program.
==Moving Assets into Autodesk Maya==
We will use the file created in the “Illustrating the export/import process” section.
The FBX export settings used for Maya import should include setting the scale units to centimeters on export. Maya can import either ASCII or binary FBX files, so either type of export can be used for MakeHuman export. <nowiki>[RWB Note: as of this writing there are still some issues with direct FBX binary export, but those are expected to be repaired going forward]</nowiki>. By default the exported file will be found in ~/makehuman/v1/exports/ (where ~ is the user home directory).
When the file is initially imported into Maya it looks like this:
[[File:ImpExp03.png]]
'''Figure2'''
The only color in the viewport is the shoes which had a simple diffuse material which was not associated a texture. By clicking the textured icon at the top of the viewport, the viewport shows a preview of how the rendered, textured image would appear:
[[File:ImpExp04.png]]
'''Figure 3'''
Holding down Alt and scrolling with the middle mouse wheel allows us to zoom in and see the problems with the imported eyes, eyelashes, eyebrows, and possibly the hair:
[[File:ImpExp06.png]]
'''Figure 4'''
The thin lines on the face are an artifact of having included the facial rig by choosing the default skeleton. The process of fixing the eyes, eyelashes, eyebrows, and hair is the same in each case. We must tell Maya to use transparency from the corresponding alpha channel when rendering the corresponding mesh. It can be hard to select the facial mesh objects in perspective view so it is advisable to go into orthographic front view. One way to do this is with the panel menu just above the viewport.
[[File:ImpExp07.png]]
[[File:ImpExp08.png]]
[[File:ImpExp09.png]]
[[File:ImpExp10.png]]
[[File:ImpExp11.png]]
[[File:ImpExp12.png]]
[[File:ImpExp13.png]]
[[File:ImpExp14.png]]
[[File:ImpExp15.png]]
==Moving Assets into Autodesk 3DSMax==
==Moving Assets into Blender==
==Moving Assets into Unreal Engine 4==
==Moving Assets into Unity Game Engine==
==Moving Assets into Google Sketchup==
==Preparing assets for use with Second Life==
d0e9ead1e907f8f5f001ee8c54cb079ca35b4d87
197
196
2015-07-25T13:23:26Z
Robbaer
12
/* Moving Assets into Autodesk Maya */
wikitext
text/x-wiki
== Summary ==
More often than not MakeHuman users will want to move their creation into another program to continue the creation process. This section provides information on how to achieve this for common target programs. The Background and Export Example section provides some background that are common to all workflows. It is not essential to read the introduction before going straight to the program of interest, but doing so might help you understand ''why'' certain steps work or are necessary. In many cases there can be more than one way to accomplish the same thing. The method described here may not be optimal for your situation, but it should help get you started.
==Background and Technical Considerations==
'''Introduction'''
Many MakeHuman users will use the work they create in MakeHuman as a component of a project completed in an external, downstream application. The most common target applications are 3D graphics applications like Blender, Autodesk 3DSMax, and Autodesk Maya or gaming engines like Unity Engine or Unreal Engine 4 or Virtual Worlds like Second Life. In some cases, the MakeHuman user will be interested in moving just the mesh. In other cases, the user will be interested in moving a complete, posed, skeletonized character to the downstream application. The purpose of this document is to discuss the basic process of moving a finished MakeHuman asset to a downstream program and producing a reasonable facsimile of its MakeHuman appearance in the downstream application. It is important to recognize that because each application has its own way of representing 3D assets, and because each export format has its own set of idiosyncrasies, there will be adjustments and approximations in the asset transfer process.
'''Format Considerations'''
In an effort to provide the broadest latitude for user workflows, the MakeHuman development team is directing it major export support toward Autodesk FBX format and Khronos Collada format. In addition, Blender users have the option to install the independently developed .mhx2 tools, which are developed and maintained by Thomas Larson, independent of MakeHuman itself. Collada is a text-based format and is an open standard, but implementation of the standard is not as consistent as might be hoped. FBX is a proprietary standard developed by Autodesk and supported through a software development kit (FBX SDK) written in C++ and a Python FBX scripting template. The FBX standard is periodically updated by Autodesk and can be saved as either an ASCII or a binary format. Downstream programs may make assumptions about the FBX version being imported, and may limit users to either binary or ASCII importing. Surprisingly, CG assets exported from various programs as collada and FBX do not make it back into the same program as a round-trip without changes to some components of the scene. For example, this is true of FBX format in both 3DSMax and Maya for MakeHumanassets. It is also true for Blender with both FBX and collada format for MakeHumanassets. In this document, we will attempt to provide some support for dealing with this type of surprise.
'''MakeHuman Shader and Asset Rendering'''
A “shader” is computer code that translates digital information into a properly rendered image on the computer screen. Different algorithms use different methods of constructing such a display. By default in MakeHuman, the viewport lighting is handled by the built-in light-sphere shader. The light-sphere shader takes advantage of support for the openGL standard provided by today’s graphics cards. What the viewer sees on the screen depends not only on the color of assets, like skin and clothing, but also on the nature of the lights illuminating the scene and causing reflections and shadows. Most downstream programs use other shader strategies, the most common of which include Phong shaders, Blinn shaders, or Lambert shaders. Because the code and conceptual design of these shaders differs from that of the MakeHuman light-sphere shader, the user should be prepared to make some adjustments in the downstream program to get the final desired effect. Some MakeHuman assets also include Normal maps which the user will want to integrate into the downstream applications rendering.
When a MakeHuman material (for example, skin or clothing or eyelashes) is exported, it carries with it a limited amount of fundamental information for by the downstream program’s shaders. In an ideal world, the downstream program would import this raw information, correctly populate the variables in its shaders, and yield the same view of the human that was exported from MakeHuman. At present this does not typically happen, and the user must make some adjustments. This Wiki section is designed to help you negotiate through that process.
'''Spatial transformation: MakeHuman Coordinate System, MakeHuman Skeletons, and MakeHuman Scales'''
The MakeHuman viewport is oriented so that the positive end of the x-axis is to the right, the positive end of the y-axis it up, and the positive end of the z-axis is out through the front to the screen. Other CG programs can use other schemes, so it is essential to know the coordinate system used by the downstream target at export time, if you wish to minimize the adjustments you make after importing. The settings tab allows users to work in metric units of decimeters or imperial units of inches. Downstream programs vary in their de facto units, and again, it is generally a good idea to anticipate your needs at export time rather than trying to make adjustments during or after import. It is sometimes said that these programs have no default unit. To a degree this is true. However, the default grid pattern, assumptions of other humanoid producing programs, and assumptions of the “physics systems” will often work best with the export units specified in the table below:
TABLE HERE
'''Working with Rigs and Skeletons'''
Internally, MakeHuman uses its default skeleton as the basis of mesh vertex weighting for creating the poses available on the pose tab. This rig includes a special set of bones that can be used for driving facial expressions, but as of the current release (MakeHuman 1.1.x), there is not extensive support for inverse kinematics, and animation must be done downstream in the production pipeline. Historically, MakeHuman has had close ties to Blender, but the ultimate development goal is to provide strong generic support for all the major tools used in the industry, and with MakeHuman 1.1.x, substantial progress has been made by providing weighted skeletons suited for standard use in various downstream applications. For the most part, the name of the most appropriate rig will be clearly associated with the target downstream application, but the tag filters on the Pose/Animate | skeleton tab are intended to help choose a rig suited more generally to a specific purpose like motion capture integration, facial animation, or gaming applications. MakeHuman is designed to provide the user with maximum flexibility at creation time. To provide skeletons that work perfectly with every conceivable variation of the sliders is a laudable but elusive goal. That said, the user should get excellent results with the current approach, but the user should be prepared to make some minor tweaks to skeletons and weights downstream, particularly with extreme character dimensions or extreme poses.
'''MakeHuman Assets with transparency'''
In CG art, materials for mesh objects are frequently created by shaders that use various types of image maps to provide some of the information for determining the color, transparency, and light behavior on the surface of mesh objects. These image maps are referred to as textures. MakeHuman has textured materials available for the body (including proxy topologies), eyes, eyebrows, eyelashes, tongue, teeth, and hair. During export, these textures need to made available to the program that will be importing the MakeHuman output. Two aspects of this process need to be understood by the MakeHuman user: 1) how textures are saved; and 2) how transparency is handled.
There are two possible standards for storing texture assets upon export. They can either be embedded in an exported file, or they can be saved to a folder as named images with reference to the location of those files in the exported file. At present, MakeHuman uses the latter approach when exporting material textures. Following the export process, MakeHuman exports will be located in ~/makehuman/v1/exports/, and the texture images will be located in a corresponding subfolder ~/makehuman/v1/exports/textures. The tilde symbol indicates your user drive and home document directory. [For example, on Windows Vista and later, this typically would be: C:/Users/%USERNAME%/Documents/makehuman/v1/exports and a textures subfolder, where %USERNAME% is replaced by your username.]
Transparency is used in 3D art to let a viewer see through a mesh object to experience the color, reflections and lighting behind that object. MakeHuman uses transparency with textures for the eyes, eyebrows, eyelashes, and hair. This allows complex real world geometry to be represented by much simpler quasi-planar objects. For example, the hairs of the eyebrows are painted onto a flat surface with transparent spaces in between the painted hairs rather than creating tiny mesh objects for each of the 250-1000 individual hairs. CG programs can indicate which regions of the eyebrow should be transparent either by using a separate image where blackness indicates transparent and whiteness indicates opacity. Grayness is used to represent partial transparency. An alternative approach to representing transparency is to use an image format like .tga or .png which has a one byte channel, called an alpha channel, for just this purpose. Again, values near zero (black) typically represent “completely transparent” and values near 255 (white) typically represent “completely opaque”. MakeHuman represents the transparent regions of its assets using the alpha channel method and the .png format for textures. Unfortunately, importers for filmbox (FBX) and collada formats (DAE) do not automatically extract the transparency information provided by MakeHuman, or more specifically, they do not provide it to their shaders as anticipated. This is not just a MakeHuman problem but reflects multiple ways of handling transparency and alpha channels within the industry. Notably, exporting and reimporting assets with alpha channel transparency into the very same program fails with Blender, 3DSMax, and Maya for FBX, and where available, DAE formats. This forces the MakeHuman user to understand how to overcome this limitation in his favorite downstream application. Some introductory help will be provided for common applications later in this document.
There is one additional aspect of using transparency to make a single, simple mesh represent multiple small objects like eyebrows, and that is the issue of shadows. Lighting systems in 3D worlds creates a simulation of reality by making shadows appear on mesh objects in places you would expect to see them in the real world and with the soft edges you would expect to see in the real world. Shadows are a function of both the light source, the object blocking that light, and the objects receiving the reflected and refracted light from other objects. For objects that have transparency, like MakeHuman’s eyes, eyelashes, eyebrows, and hair, shadows should only be cast by the opaque portion of the texture and not by the transparent portions of the texture. The handling of shadows differs considerably from program to program, and objects with alpha channel transparency can need some special handling to accommodate these differences. This handling is not just about the assets with alpha map transparency, themselves. Sometimes it is necessary to set parameters to explicitly tell other objects like the MakeHuman body to not display shadows from the transparent regions of the eyebrows but to show shadows from the opaque hairs of the eyebrows. Shadows of transparently mapped assets will be addressed further in subsequent sections (where information is available).
==Illustrating the Export Process for Subsequent Import==
For the purposes of illustration we will take a straight forward MakeHuman character that has been given a skeleton, a pose, a skin material, clothing, eyes, eyelashes, eyebrows, hair, tongue and teeth. We will then export it for import into a number of popular downstream applications. For each application, our goal will be to get the character to look similar to its original look in MakeHuman. We will pay particular attention to the head and face because this is the area of greatest difficulty for dealing with transparency and shadows. The character has the default skeleton and has been set in the T-pose which is a common starting pose for animation-based work. The image we will be exporting looks like this in MakeHuman:
[[File:ImpExp-001.png]]
'''Figure 1.''' MakeHuman character as viewed from within MakeHuman prior to export.
In subsequent sections, we will discuss the steps needed to reproduce this look after importing into a downstream program.
==Moving Assets into Autodesk Maya==
We will use the file created in the “Illustrating the export/import process” section.
The FBX export settings used for Maya import should include setting the scale units to centimeters on export. Maya can import either ASCII or binary FBX files, so either type of export can be used for MakeHuman export. <nowiki>[RWB Note: as of this writing there are still some issues with direct FBX binary export, but those are expected to be repaired going forward]</nowiki>. By default the exported file will be found in ~/makehuman/v1/exports/ (where ~ is the user home directory).
When the file is initially imported into Maya it looks like this:
[[File:ImpExp03.png]]
[[File:ImpExp04.png]]
[[File:ImpExp05.png]]
[[File:ImpExp06.png]]
[[File:ImpExp07.png]]
==Moving Assets into Autodesk 3DSMax==
==Moving Assets into Blender==
==Moving Assets into Unreal Engine 4==
==Moving Assets into Unity Game Engine==
==Moving Assets into Google Sketchup==
==Preparing assets for use with Second Life==
f590dc9cd3893255c09bc5820a2d124287ab0f34
196
180
2015-07-25T13:18:50Z
Robbaer
12
/* Background and Technical Considerations */
wikitext
text/x-wiki
== Summary ==
More often than not MakeHuman users will want to move their creation into another program to continue the creation process. This section provides information on how to achieve this for common target programs. The Background and Export Example section provides some background that are common to all workflows. It is not essential to read the introduction before going straight to the program of interest, but doing so might help you understand ''why'' certain steps work or are necessary. In many cases there can be more than one way to accomplish the same thing. The method described here may not be optimal for your situation, but it should help get you started.
==Background and Technical Considerations==
'''Introduction'''
Many MakeHuman users will use the work they create in MakeHuman as a component of a project completed in an external, downstream application. The most common target applications are 3D graphics applications like Blender, Autodesk 3DSMax, and Autodesk Maya or gaming engines like Unity Engine or Unreal Engine 4 or Virtual Worlds like Second Life. In some cases, the MakeHuman user will be interested in moving just the mesh. In other cases, the user will be interested in moving a complete, posed, skeletonized character to the downstream application. The purpose of this document is to discuss the basic process of moving a finished MakeHuman asset to a downstream program and producing a reasonable facsimile of its MakeHuman appearance in the downstream application. It is important to recognize that because each application has its own way of representing 3D assets, and because each export format has its own set of idiosyncrasies, there will be adjustments and approximations in the asset transfer process.
'''Format Considerations'''
In an effort to provide the broadest latitude for user workflows, the MakeHuman development team is directing it major export support toward Autodesk FBX format and Khronos Collada format. In addition, Blender users have the option to install the independently developed .mhx2 tools, which are developed and maintained by Thomas Larson, independent of MakeHuman itself. Collada is a text-based format and is an open standard, but implementation of the standard is not as consistent as might be hoped. FBX is a proprietary standard developed by Autodesk and supported through a software development kit (FBX SDK) written in C++ and a Python FBX scripting template. The FBX standard is periodically updated by Autodesk and can be saved as either an ASCII or a binary format. Downstream programs may make assumptions about the FBX version being imported, and may limit users to either binary or ASCII importing. Surprisingly, CG assets exported from various programs as collada and FBX do not make it back into the same program as a round-trip without changes to some components of the scene. For example, this is true of FBX format in both 3DSMax and Maya for MakeHumanassets. It is also true for Blender with both FBX and collada format for MakeHumanassets. In this document, we will attempt to provide some support for dealing with this type of surprise.
'''MakeHuman Shader and Asset Rendering'''
A “shader” is computer code that translates digital information into a properly rendered image on the computer screen. Different algorithms use different methods of constructing such a display. By default in MakeHuman, the viewport lighting is handled by the built-in light-sphere shader. The light-sphere shader takes advantage of support for the openGL standard provided by today’s graphics cards. What the viewer sees on the screen depends not only on the color of assets, like skin and clothing, but also on the nature of the lights illuminating the scene and causing reflections and shadows. Most downstream programs use other shader strategies, the most common of which include Phong shaders, Blinn shaders, or Lambert shaders. Because the code and conceptual design of these shaders differs from that of the MakeHuman light-sphere shader, the user should be prepared to make some adjustments in the downstream program to get the final desired effect. Some MakeHuman assets also include Normal maps which the user will want to integrate into the downstream applications rendering.
When a MakeHuman material (for example, skin or clothing or eyelashes) is exported, it carries with it a limited amount of fundamental information for by the downstream program’s shaders. In an ideal world, the downstream program would import this raw information, correctly populate the variables in its shaders, and yield the same view of the human that was exported from MakeHuman. At present this does not typically happen, and the user must make some adjustments. This Wiki section is designed to help you negotiate through that process.
'''Spatial transformation: MakeHuman Coordinate System, MakeHuman Skeletons, and MakeHuman Scales'''
The MakeHuman viewport is oriented so that the positive end of the x-axis is to the right, the positive end of the y-axis it up, and the positive end of the z-axis is out through the front to the screen. Other CG programs can use other schemes, so it is essential to know the coordinate system used by the downstream target at export time, if you wish to minimize the adjustments you make after importing. The settings tab allows users to work in metric units of decimeters or imperial units of inches. Downstream programs vary in their de facto units, and again, it is generally a good idea to anticipate your needs at export time rather than trying to make adjustments during or after import. It is sometimes said that these programs have no default unit. To a degree this is true. However, the default grid pattern, assumptions of other humanoid producing programs, and assumptions of the “physics systems” will often work best with the export units specified in the table below:
TABLE HERE
'''Working with Rigs and Skeletons'''
Internally, MakeHuman uses its default skeleton as the basis of mesh vertex weighting for creating the poses available on the pose tab. This rig includes a special set of bones that can be used for driving facial expressions, but as of the current release (MakeHuman 1.1.x), there is not extensive support for inverse kinematics, and animation must be done downstream in the production pipeline. Historically, MakeHuman has had close ties to Blender, but the ultimate development goal is to provide strong generic support for all the major tools used in the industry, and with MakeHuman 1.1.x, substantial progress has been made by providing weighted skeletons suited for standard use in various downstream applications. For the most part, the name of the most appropriate rig will be clearly associated with the target downstream application, but the tag filters on the Pose/Animate | skeleton tab are intended to help choose a rig suited more generally to a specific purpose like motion capture integration, facial animation, or gaming applications. MakeHuman is designed to provide the user with maximum flexibility at creation time. To provide skeletons that work perfectly with every conceivable variation of the sliders is a laudable but elusive goal. That said, the user should get excellent results with the current approach, but the user should be prepared to make some minor tweaks to skeletons and weights downstream, particularly with extreme character dimensions or extreme poses.
'''MakeHuman Assets with transparency'''
In CG art, materials for mesh objects are frequently created by shaders that use various types of image maps to provide some of the information for determining the color, transparency, and light behavior on the surface of mesh objects. These image maps are referred to as textures. MakeHuman has textured materials available for the body (including proxy topologies), eyes, eyebrows, eyelashes, tongue, teeth, and hair. During export, these textures need to made available to the program that will be importing the MakeHuman output. Two aspects of this process need to be understood by the MakeHuman user: 1) how textures are saved; and 2) how transparency is handled.
There are two possible standards for storing texture assets upon export. They can either be embedded in an exported file, or they can be saved to a folder as named images with reference to the location of those files in the exported file. At present, MakeHuman uses the latter approach when exporting material textures. Following the export process, MakeHuman exports will be located in ~/makehuman/v1/exports/, and the texture images will be located in a corresponding subfolder ~/makehuman/v1/exports/textures. The tilde symbol indicates your user drive and home document directory. [For example, on Windows Vista and later, this typically would be: C:/Users/%USERNAME%/Documents/makehuman/v1/exports and a textures subfolder, where %USERNAME% is replaced by your username.]
Transparency is used in 3D art to let a viewer see through a mesh object to experience the color, reflections and lighting behind that object. MakeHuman uses transparency with textures for the eyes, eyebrows, eyelashes, and hair. This allows complex real world geometry to be represented by much simpler quasi-planar objects. For example, the hairs of the eyebrows are painted onto a flat surface with transparent spaces in between the painted hairs rather than creating tiny mesh objects for each of the 250-1000 individual hairs. CG programs can indicate which regions of the eyebrow should be transparent either by using a separate image where blackness indicates transparent and whiteness indicates opacity. Grayness is used to represent partial transparency. An alternative approach to representing transparency is to use an image format like .tga or .png which has a one byte channel, called an alpha channel, for just this purpose. Again, values near zero (black) typically represent “completely transparent” and values near 255 (white) typically represent “completely opaque”. MakeHuman represents the transparent regions of its assets using the alpha channel method and the .png format for textures. Unfortunately, importers for filmbox (FBX) and collada formats (DAE) do not automatically extract the transparency information provided by MakeHuman, or more specifically, they do not provide it to their shaders as anticipated. This is not just a MakeHuman problem but reflects multiple ways of handling transparency and alpha channels within the industry. Notably, exporting and reimporting assets with alpha channel transparency into the very same program fails with Blender, 3DSMax, and Maya for FBX, and where available, DAE formats. This forces the MakeHuman user to understand how to overcome this limitation in his favorite downstream application. Some introductory help will be provided for common applications later in this document.
There is one additional aspect of using transparency to make a single, simple mesh represent multiple small objects like eyebrows, and that is the issue of shadows. Lighting systems in 3D worlds creates a simulation of reality by making shadows appear on mesh objects in places you would expect to see them in the real world and with the soft edges you would expect to see in the real world. Shadows are a function of both the light source, the object blocking that light, and the objects receiving the reflected and refracted light from other objects. For objects that have transparency, like MakeHuman’s eyes, eyelashes, eyebrows, and hair, shadows should only be cast by the opaque portion of the texture and not by the transparent portions of the texture. The handling of shadows differs considerably from program to program, and objects with alpha channel transparency can need some special handling to accommodate these differences. This handling is not just about the assets with alpha map transparency, themselves. Sometimes it is necessary to set parameters to explicitly tell other objects like the MakeHuman body to not display shadows from the transparent regions of the eyebrows but to show shadows from the opaque hairs of the eyebrows. Shadows of transparently mapped assets will be addressed further in subsequent sections (where information is available).
==Illustrating the Export Process for Subsequent Import==
For the purposes of illustration we will take a straight forward MakeHuman character that has been given a skeleton, a pose, a skin material, clothing, eyes, eyelashes, eyebrows, hair, tongue and teeth. We will then export it for import into a number of popular downstream applications. For each application, our goal will be to get the character to look similar to its original look in MakeHuman. We will pay particular attention to the head and face because this is the area of greatest difficulty for dealing with transparency and shadows. The character has the default skeleton and has been set in the T-pose which is a common starting pose for animation-based work. The image we will be exporting looks like this in MakeHuman:
[[File:ImpExp-001.png]]
'''Figure 1.''' MakeHuman character as viewed from within MakeHuman prior to export.
In subsequent sections, we will discuss the steps needed to reproduce this look after importing into a downstream program.
==Moving Assets into Autodesk Maya==
We will use the file created in the “Illustrating the export/import process” section.
The FBX export settings used for Maya import should include setting the scale units to centimeters on export. Maya can import either ASCII or binary FBX files, so either type of export can be used for MakeHuman export. <nowiki>[RWB Note: as of this writing there are still some issues with direct FBX binary export, but those are expected to be repaired going forward]</nowiki>. By default the exported file will be found in ~/makehuman/v1/exports/ (where ~ is the user home directory).
When the file is initially imported into Maya it looks like this:
[[File:Example.jpg]]
==Moving Assets into Autodesk 3DSMax==
==Moving Assets into Blender==
==Moving Assets into Unreal Engine 4==
==Moving Assets into Unity Game Engine==
==Moving Assets into Google Sketchup==
==Preparing assets for use with Second Life==
544cbaf3d1bf539331ce31295691f048eafb967b
180
179
2015-07-25T12:10:30Z
Robbaer
12
/* Moving Assets into Autodesk Maya */
wikitext
text/x-wiki
== Summary ==
More often than not MakeHuman users will want to move their creation into another program to continue the creation process. This section provides information on how to achieve this for common target programs. The Background and Export Example section provides some background that are common to all workflows. It is not essential to read the introduction before going straight to the program of interest, but doing so might help you understand ''why'' certain steps work or are necessary. In many cases there can be more than one way to accomplish the same thing. The method described here may not be optimal for your situation, but it should help get you started.
==Background and Technical Considerations==
'''Introduction'''
Many MakeHuman users will use the work they create in MakeHuman as a component of a project completed in an external, downstream application. The most common target applications are 3D graphics applications like Blender, Autodesk 3DSMax, and Autodesk Maya or gaming engines like Unity Engine or Unreal Engine 4 or Virtual Worlds like Second Life. In some cases, the MakeHuman user will be interested in moving just the mesh. In other cases, the user will be interested in moving a complete, posed, skeletonized character to the downstream application. The purpose of this document is to discuss the basic process of moving a finished MakeHuman asset to a downstream program and producing a reasonable facsimile of its MakeHuman appearance in the downstream application. It is important to recognize that because each application has its own way of representing 3D assets, and because each export format has its own set of idiosyncrasies, there will be adjustments and approximations in the asset transfer process.
'''Format Considerations'''
In an effort to provide the broadest latitude for user workflows, the MakeHuman development team is directing it major export support toward Autodesk FBX format and Khronos Collada format. In addition, Blender users have the option to install the independently developed .mhx2 tools, which are developed and maintained by Thomas Larson, independent of MakeHuman itself. Collada is a text-based format and is an open standard, but implementation of the standard is not as consistent as might be hoped. FBX is a proprietary standard developed by Autodesk and supported through a software development kit (FBX SDK) written in C++ and a Python FBX scripting template. The FBX standard is periodically updated by Autodesk and can be saved as either an ASCII or a binary format. Downstream programs may make assumptions about the FBX version being imported, and may limit users to either binary or ASCII importing. Surprisingly, CG assets exported from various programs as collada and FBX do not make it back into the same program as a round-trip without changes to some components of the scene. For example, this is true of FBX format in both 3DSMax and Maya for MakeHumanassets. It is also true for Blender with both FBX and collada format for MakeHumanassets. In this document, we will attempt to provide some support for dealing with this type of surprise.
'''MakeHuman Shader and Asset Rendering'''
A “shader” is computer code that translates digital information into a properly rendered image on the computer screen. Different algorithms use different methods of constructing such a display. By default in MakeHuman, the viewport lighting is handled by the built-in light-sphere shader. The light-sphere shader takes advantage of support for the openGL standard provided by today’s graphics cards. What the viewer sees on the screen depends not only on the color of assets, like skin and clothing, but also on the nature of the lights illuminating the scene and causing reflections and shadows. Most downstream programs use other shader strategies, the most common of which include Phong shaders, Blinn shaders, or Lambert shaders. Because the code and conceptual design of these shaders differs from that of the MakeHuman light-sphere shader, the user should be prepared to make some adjustments in the downstream program to get the final desired effect. Some MakeHuman assets also include Normal maps which the user will want to integrate into the downstream applications rendering.
When a MakeHuman material (for example, skin or clothing or eyelashes) is exported, it carries with it a limited amount of fundamental information for by the downstream program’s shaders. In an ideal world, the downstream program would import this raw information, correctly populate the variables in its shaders, and yield the same view of the human that was exported from MakeHuman. At present this does not typically happen, and the user must make some adjustments. This Wiki section is designed to help you negotiate through that process.
'''Spatial transformation: MakeHuman Coordinate System, MakeHuman Skeletons, and MakeHuman Scales'''
The MakeHuman viewport is oriented so that the positive end of the x-axis is to the right, the positive end of the y-axis it up, and the positive end of the z-axis is out through the front to the screen. Other CG programs can use other schemes, so it is essential to know the coordinate system used by the downstream target at export time, if you wish to minimize the adjustments you make after importing. The settings tab allows users to work in metric units of decimeters or imperial units of inches. Downstream programs vary in their de facto units, and again, it is generally a good idea to anticipate your needs at export time rather than trying to make adjustments during or after import. It is sometimes said that these programs have no default unit. To a degree this is true. However, the default grid pattern, assumptions of other humanoid producing programs, and assumptions of the “physics systems” will often work best with the export units specified in the table below:
TABLE HERE
'''Working with Rigs and Skeletons'''
Internally, MakeHuman uses its default skeleton as the basis of mesh vertex weighting for creating the poses available on the pose tab. This rig includes a special set of bones that can be used for driving facial expressions, but as of the current release (MakeHuman 1.1.x), there is not extensive support for inverse kinematics, and animation must be done downstream in the production pipeline. Historically, MakeHuman has had close ties to Blender, but the ultimate development goal is to provide strong generic support for all the major tools used in the industry, and with MakeHuman 1.1.x, substantial progress has been made by providing weighted skeletons suited for standard use in various downstream applications. For the most part, the name of the most appropriate rig will be clearly associated with the target downstream application, but the tag filters on the Pose/Animate | skeleton tab are intended to help choose a rig suited more generally to a specific purpose like motion capture integration, facial animation, or gaming applications. MakeHuman is designed to provide the user with maximum flexibility at creation time. To provide skeletons that work perfectly with every conceivable variation of the sliders is a laudable but elusive goal. That said, the user should get very fine results with the current approach, but the user should not be surprised to have to make some minor tweaks to skeletons and weights downstream, particularly with extreme character dimensions or extreme poses.
'''MakeHuman Assets with transparency'''
In CG art, materials for mesh objects are frequently created by shaders that use various types of image maps to provide some of the information for determining the color, transparency, and light behavior on the surface of mesh objects. These image maps are referred to as textures. MakeHuman has textured materials available for the body (including proxy topologies), eyes, eyebrows, eyelashes, tongue, teeth, and hair. During export, these textures need to made available to the program that will be importing the MakeHuman output. Two aspects of this process need to be understood by the MakeHuman user: 1) how textures are saved; and 2) how transparency is handled.
There are two possible standards for storing texture assets upon export. They can either be embedded in an exported file, or they can be saved to a folder as named images with reference to the location of those files in the exported file. At present, MakeHuman uses the latter approach when exporting material textures. Following the export process, MakeHuman exports will be located in ~/makehuman/v1/exports/, and the texture images will be located in a corresponding subfolder ~/makehuman/v1/exports/textures. The tilde symbol indicates your user drive and home document directory. [For example, on Windows Vista and later, this typically would be: C:/Users/%USERNAME%/Documents/makehuman/v1/exports and a textures subfolder, where %USERNAME% is replaced by your username.]
Transparency is used in 3D art to let a viewer see through a mesh object to experience the color, reflections and lighting behind that object. MakeHuman uses transparency with textures for the eyes, eyebrows, eyelashes, and hair. This allows complex real world geometry to be represented by much simpler quasi-planar objects. For example, the hairs of the eyebrows are painted onto a flat surface with transparent spaces in between the painted hairs rather than creating tiny mesh objects for each of the 250-1000 individual hairs. CG programs can indicate which regions of the eyebrow should be transparent either by using a separate image where blackness indicates transparent and whiteness indicates opacity. Grayness is used to represent partial transparency. An alternative approach to representing transparency is to use an image format like .tga or .png which has a one byte channel, called an alpha channel, for just this purpose. Again, values near zero (black) typically represent “completely transparent” and values near 255 (white) typically represent “completely opaque”. MakeHuman represents the transparent regions of its assets using the alpha channel method and the .png format for textures. Unfortunately, importers for filmbox (FBX) and collada formats (DAE) do not automatically extract the transparency information provided by MakeHuman, or more specifically, they do not provide it to their shaders as anticipated. This is not just a MakeHuman problem but reflects multiple ways of handling transparency and alpha channels within the industry. Notably, exporting and reimporting assets with alpha channel transparency into the very same program fails with Blender, 3DSMax, and Maya for FBX, and where available, DAE formats. This forces the MakeHuman user to understand how to overcome this limitation in his favorite downstream application. Some introductory help will be provided for common applications later in this document.
There is one additional aspect of using transparency to make a single, simple mesh represent multiple small objects like eyebrows, and that is the issue of shadows. Lighting systems in 3D worlds creates a simulation of reality by making shadows appear on mesh objects in places you would expect to see them in the real world and with the soft edges you would expect to see in the real world. Shadows are a function of both the light source, the object blocking that light, and the objects receiving the reflected and refracted light from other objects. For objects that have transparency, like MakeHuman’s eyes, eyelashes, eyebrows, and hair, shadows should only be cast by the opaque portion of the texture and not by the transparent portions of the texture. The handling of shadows differs considerably from program to program, and objects with alpha channel transparency can need some special handling to accommodate these differences. This handling is not just about the assets with alpha map transparency, themselves. Sometimes it is necessary to set parameters to explicitly tell other objects like the MakeHuman body to not display shadows from the transparent regions of the eyebrows but to show shadows from the opaque hairs of the eyebrows. Shadows of transparently mapped assets will be addressed further in subsequent sections (where information is available).
==Illustrating the Export Process for Subsequent Import==
For the purposes of illustration we will take a straight forward MakeHuman character that has been given a skeleton, a pose, a skin material, clothing, eyes, eyelashes, eyebrows, hair, tongue and teeth. We will then export it for import into a number of popular downstream applications. For each application, our goal will be to get the character to look similar to its original look in MakeHuman. We will pay particular attention to the head and face because this is the area of greatest difficulty for dealing with transparency and shadows. The character has the default skeleton and has been set in the T-pose which is a common starting pose for animation-based work. The image we will be exporting looks like this in MakeHuman:
[[File:ImpExp-001.png]]
'''Figure 1.''' MakeHuman character as viewed from within MakeHuman prior to export.
In subsequent sections, we will discuss the steps needed to reproduce this look after importing into a downstream program.
==Moving Assets into Autodesk Maya==
We will use the file created in the “Illustrating the export/import process” section.
The FBX export settings used for Maya import should include setting the scale units to centimeters on export. Maya can import either ASCII or binary FBX files, so either type of export can be used for MakeHuman export. <nowiki>[RWB Note: as of this writing there are still some issues with direct FBX binary export, but those are expected to be repaired going forward]</nowiki>. By default the exported file will be found in ~/makehuman/v1/exports/ (where ~ is the user home directory).
When the file is initially imported into Maya it looks like this:
[[File:Example.jpg]]
==Moving Assets into Autodesk 3DSMax==
==Moving Assets into Blender==
==Moving Assets into Unreal Engine 4==
==Moving Assets into Unity Game Engine==
==Moving Assets into Google Sketchup==
==Preparing assets for use with Second Life==
3ca6426acf8b7d30a08b4426c849a08f2ca1e187
179
178
2015-07-25T12:06:56Z
Robbaer
12
/* Moving Assets into Autodesk Maya */
wikitext
text/x-wiki
== Summary ==
More often than not MakeHuman users will want to move their creation into another program to continue the creation process. This section provides information on how to achieve this for common target programs. The Background and Export Example section provides some background that are common to all workflows. It is not essential to read the introduction before going straight to the program of interest, but doing so might help you understand ''why'' certain steps work or are necessary. In many cases there can be more than one way to accomplish the same thing. The method described here may not be optimal for your situation, but it should help get you started.
==Background and Technical Considerations==
'''Introduction'''
Many MakeHuman users will use the work they create in MakeHuman as a component of a project completed in an external, downstream application. The most common target applications are 3D graphics applications like Blender, Autodesk 3DSMax, and Autodesk Maya or gaming engines like Unity Engine or Unreal Engine 4 or Virtual Worlds like Second Life. In some cases, the MakeHuman user will be interested in moving just the mesh. In other cases, the user will be interested in moving a complete, posed, skeletonized character to the downstream application. The purpose of this document is to discuss the basic process of moving a finished MakeHuman asset to a downstream program and producing a reasonable facsimile of its MakeHuman appearance in the downstream application. It is important to recognize that because each application has its own way of representing 3D assets, and because each export format has its own set of idiosyncrasies, there will be adjustments and approximations in the asset transfer process.
'''Format Considerations'''
In an effort to provide the broadest latitude for user workflows, the MakeHuman development team is directing it major export support toward Autodesk FBX format and Khronos Collada format. In addition, Blender users have the option to install the independently developed .mhx2 tools, which are developed and maintained by Thomas Larson, independent of MakeHuman itself. Collada is a text-based format and is an open standard, but implementation of the standard is not as consistent as might be hoped. FBX is a proprietary standard developed by Autodesk and supported through a software development kit (FBX SDK) written in C++ and a Python FBX scripting template. The FBX standard is periodically updated by Autodesk and can be saved as either an ASCII or a binary format. Downstream programs may make assumptions about the FBX version being imported, and may limit users to either binary or ASCII importing. Surprisingly, CG assets exported from various programs as collada and FBX do not make it back into the same program as a round-trip without changes to some components of the scene. For example, this is true of FBX format in both 3DSMax and Maya for MakeHumanassets. It is also true for Blender with both FBX and collada format for MakeHumanassets. In this document, we will attempt to provide some support for dealing with this type of surprise.
'''MakeHuman Shader and Asset Rendering'''
A “shader” is computer code that translates digital information into a properly rendered image on the computer screen. Different algorithms use different methods of constructing such a display. By default in MakeHuman, the viewport lighting is handled by the built-in light-sphere shader. The light-sphere shader takes advantage of support for the openGL standard provided by today’s graphics cards. What the viewer sees on the screen depends not only on the color of assets, like skin and clothing, but also on the nature of the lights illuminating the scene and causing reflections and shadows. Most downstream programs use other shader strategies, the most common of which include Phong shaders, Blinn shaders, or Lambert shaders. Because the code and conceptual design of these shaders differs from that of the MakeHuman light-sphere shader, the user should be prepared to make some adjustments in the downstream program to get the final desired effect. Some MakeHuman assets also include Normal maps which the user will want to integrate into the downstream applications rendering.
When a MakeHuman material (for example, skin or clothing or eyelashes) is exported, it carries with it a limited amount of fundamental information for by the downstream program’s shaders. In an ideal world, the downstream program would import this raw information, correctly populate the variables in its shaders, and yield the same view of the human that was exported from MakeHuman. At present this does not typically happen, and the user must make some adjustments. This Wiki section is designed to help you negotiate through that process.
'''Spatial transformation: MakeHuman Coordinate System, MakeHuman Skeletons, and MakeHuman Scales'''
The MakeHuman viewport is oriented so that the positive end of the x-axis is to the right, the positive end of the y-axis it up, and the positive end of the z-axis is out through the front to the screen. Other CG programs can use other schemes, so it is essential to know the coordinate system used by the downstream target at export time, if you wish to minimize the adjustments you make after importing. The settings tab allows users to work in metric units of decimeters or imperial units of inches. Downstream programs vary in their de facto units, and again, it is generally a good idea to anticipate your needs at export time rather than trying to make adjustments during or after import. It is sometimes said that these programs have no default unit. To a degree this is true. However, the default grid pattern, assumptions of other humanoid producing programs, and assumptions of the “physics systems” will often work best with the export units specified in the table below:
TABLE HERE
'''Working with Rigs and Skeletons'''
Internally, MakeHuman uses its default skeleton as the basis of mesh vertex weighting for creating the poses available on the pose tab. This rig includes a special set of bones that can be used for driving facial expressions, but as of the current release (MakeHuman 1.1.x), there is not extensive support for inverse kinematics, and animation must be done downstream in the production pipeline. Historically, MakeHuman has had close ties to Blender, but the ultimate development goal is to provide strong generic support for all the major tools used in the industry, and with MakeHuman 1.1.x, substantial progress has been made by providing weighted skeletons suited for standard use in various downstream applications. For the most part, the name of the most appropriate rig will be clearly associated with the target downstream application, but the tag filters on the Pose/Animate | skeleton tab are intended to help choose a rig suited more generally to a specific purpose like motion capture integration, facial animation, or gaming applications. MakeHuman is designed to provide the user with maximum flexibility at creation time. To provide skeletons that work perfectly with every conceivable variation of the sliders is a laudable but elusive goal. That said, the user should get very fine results with the current approach, but the user should not be surprised to have to make some minor tweaks to skeletons and weights downstream, particularly with extreme character dimensions or extreme poses.
'''MakeHuman Assets with transparency'''
In CG art, materials for mesh objects are frequently created by shaders that use various types of image maps to provide some of the information for determining the color, transparency, and light behavior on the surface of mesh objects. These image maps are referred to as textures. MakeHuman has textured materials available for the body (including proxy topologies), eyes, eyebrows, eyelashes, tongue, teeth, and hair. During export, these textures need to made available to the program that will be importing the MakeHuman output. Two aspects of this process need to be understood by the MakeHuman user: 1) how textures are saved; and 2) how transparency is handled.
There are two possible standards for storing texture assets upon export. They can either be embedded in an exported file, or they can be saved to a folder as named images with reference to the location of those files in the exported file. At present, MakeHuman uses the latter approach when exporting material textures. Following the export process, MakeHuman exports will be located in ~/makehuman/v1/exports/, and the texture images will be located in a corresponding subfolder ~/makehuman/v1/exports/textures. The tilde symbol indicates your user drive and home document directory. [For example, on Windows Vista and later, this typically would be: C:/Users/%USERNAME%/Documents/makehuman/v1/exports and a textures subfolder, where %USERNAME% is replaced by your username.]
Transparency is used in 3D art to let a viewer see through a mesh object to experience the color, reflections and lighting behind that object. MakeHuman uses transparency with textures for the eyes, eyebrows, eyelashes, and hair. This allows complex real world geometry to be represented by much simpler quasi-planar objects. For example, the hairs of the eyebrows are painted onto a flat surface with transparent spaces in between the painted hairs rather than creating tiny mesh objects for each of the 250-1000 individual hairs. CG programs can indicate which regions of the eyebrow should be transparent either by using a separate image where blackness indicates transparent and whiteness indicates opacity. Grayness is used to represent partial transparency. An alternative approach to representing transparency is to use an image format like .tga or .png which has a one byte channel, called an alpha channel, for just this purpose. Again, values near zero (black) typically represent “completely transparent” and values near 255 (white) typically represent “completely opaque”. MakeHuman represents the transparent regions of its assets using the alpha channel method and the .png format for textures. Unfortunately, importers for filmbox (FBX) and collada formats (DAE) do not automatically extract the transparency information provided by MakeHuman, or more specifically, they do not provide it to their shaders as anticipated. This is not just a MakeHuman problem but reflects multiple ways of handling transparency and alpha channels within the industry. Notably, exporting and reimporting assets with alpha channel transparency into the very same program fails with Blender, 3DSMax, and Maya for FBX, and where available, DAE formats. This forces the MakeHuman user to understand how to overcome this limitation in his favorite downstream application. Some introductory help will be provided for common applications later in this document.
There is one additional aspect of using transparency to make a single, simple mesh represent multiple small objects like eyebrows, and that is the issue of shadows. Lighting systems in 3D worlds creates a simulation of reality by making shadows appear on mesh objects in places you would expect to see them in the real world and with the soft edges you would expect to see in the real world. Shadows are a function of both the light source, the object blocking that light, and the objects receiving the reflected and refracted light from other objects. For objects that have transparency, like MakeHuman’s eyes, eyelashes, eyebrows, and hair, shadows should only be cast by the opaque portion of the texture and not by the transparent portions of the texture. The handling of shadows differs considerably from program to program, and objects with alpha channel transparency can need some special handling to accommodate these differences. This handling is not just about the assets with alpha map transparency, themselves. Sometimes it is necessary to set parameters to explicitly tell other objects like the MakeHuman body to not display shadows from the transparent regions of the eyebrows but to show shadows from the opaque hairs of the eyebrows. Shadows of transparently mapped assets will be addressed further in subsequent sections (where information is available).
==Illustrating the Export Process for Subsequent Import==
For the purposes of illustration we will take a straight forward MakeHuman character that has been given a skeleton, a pose, a skin material, clothing, eyes, eyelashes, eyebrows, hair, tongue and teeth. We will then export it for import into a number of popular downstream applications. For each application, our goal will be to get the character to look similar to its original look in MakeHuman. We will pay particular attention to the head and face because this is the area of greatest difficulty for dealing with transparency and shadows. The character has the default skeleton and has been set in the T-pose which is a common starting pose for animation-based work. The image we will be exporting looks like this in MakeHuman:
[[File:ImpExp-001.png]]
'''Figure 1.''' MakeHuman character as viewed from within MakeHuman prior to export.
In subsequent sections, we will discuss the steps needed to reproduce this look after importing into a downstream program.
==Moving Assets into Autodesk Maya==
We will use the file created in the “Illustrating the export/import process” section.
The FBX export settings used for Maya import should include setting the scale units to centimeters on export. Maya can import either ASCII or binary FBX files, so either type of export can be used for MakeHuman export. [RWB Note: as of this writing there are still some issues with direct FBX binary export, but those are expected to be repaired going forward]. By default the exported file will be found in ~/makehuman/v1/exports/ (where ~ is the user home directory).
When the file is initially imported into Maya it looks like this:
[[File:Example.jpg]]
==Moving Assets into Autodesk 3DSMax==
==Moving Assets into Blender==
==Moving Assets into Unreal Engine 4==
==Moving Assets into Unity Game Engine==
==Moving Assets into Google Sketchup==
==Preparing assets for use with Second Life==
a007eb54758d89c8f579106244040b2d9ba8c15d
178
172
2015-07-25T08:01:56Z
Robbaer
12
/* Illustrating the Export Process for Subsequent Import */
wikitext
text/x-wiki
== Summary ==
More often than not MakeHuman users will want to move their creation into another program to continue the creation process. This section provides information on how to achieve this for common target programs. The Background and Export Example section provides some background that are common to all workflows. It is not essential to read the introduction before going straight to the program of interest, but doing so might help you understand ''why'' certain steps work or are necessary. In many cases there can be more than one way to accomplish the same thing. The method described here may not be optimal for your situation, but it should help get you started.
==Background and Technical Considerations==
'''Introduction'''
Many MakeHuman users will use the work they create in MakeHuman as a component of a project completed in an external, downstream application. The most common target applications are 3D graphics applications like Blender, Autodesk 3DSMax, and Autodesk Maya or gaming engines like Unity Engine or Unreal Engine 4 or Virtual Worlds like Second Life. In some cases, the MakeHuman user will be interested in moving just the mesh. In other cases, the user will be interested in moving a complete, posed, skeletonized character to the downstream application. The purpose of this document is to discuss the basic process of moving a finished MakeHuman asset to a downstream program and producing a reasonable facsimile of its MakeHuman appearance in the downstream application. It is important to recognize that because each application has its own way of representing 3D assets, and because each export format has its own set of idiosyncrasies, there will be adjustments and approximations in the asset transfer process.
'''Format Considerations'''
In an effort to provide the broadest latitude for user workflows, the MakeHuman development team is directing it major export support toward Autodesk FBX format and Khronos Collada format. In addition, Blender users have the option to install the independently developed .mhx2 tools, which are developed and maintained by Thomas Larson, independent of MakeHuman itself. Collada is a text-based format and is an open standard, but implementation of the standard is not as consistent as might be hoped. FBX is a proprietary standard developed by Autodesk and supported through a software development kit (FBX SDK) written in C++ and a Python FBX scripting template. The FBX standard is periodically updated by Autodesk and can be saved as either an ASCII or a binary format. Downstream programs may make assumptions about the FBX version being imported, and may limit users to either binary or ASCII importing. Surprisingly, CG assets exported from various programs as collada and FBX do not make it back into the same program as a round-trip without changes to some components of the scene. For example, this is true of FBX format in both 3DSMax and Maya for MakeHumanassets. It is also true for Blender with both FBX and collada format for MakeHumanassets. In this document, we will attempt to provide some support for dealing with this type of surprise.
'''MakeHuman Shader and Asset Rendering'''
A “shader” is computer code that translates digital information into a properly rendered image on the computer screen. Different algorithms use different methods of constructing such a display. By default in MakeHuman, the viewport lighting is handled by the built-in light-sphere shader. The light-sphere shader takes advantage of support for the openGL standard provided by today’s graphics cards. What the viewer sees on the screen depends not only on the color of assets, like skin and clothing, but also on the nature of the lights illuminating the scene and causing reflections and shadows. Most downstream programs use other shader strategies, the most common of which include Phong shaders, Blinn shaders, or Lambert shaders. Because the code and conceptual design of these shaders differs from that of the MakeHuman light-sphere shader, the user should be prepared to make some adjustments in the downstream program to get the final desired effect. Some MakeHuman assets also include Normal maps which the user will want to integrate into the downstream applications rendering.
When a MakeHuman material (for example, skin or clothing or eyelashes) is exported, it carries with it a limited amount of fundamental information for by the downstream program’s shaders. In an ideal world, the downstream program would import this raw information, correctly populate the variables in its shaders, and yield the same view of the human that was exported from MakeHuman. At present this does not typically happen, and the user must make some adjustments. This Wiki section is designed to help you negotiate through that process.
'''Spatial transformation: MakeHuman Coordinate System, MakeHuman Skeletons, and MakeHuman Scales'''
The MakeHuman viewport is oriented so that the positive end of the x-axis is to the right, the positive end of the y-axis it up, and the positive end of the z-axis is out through the front to the screen. Other CG programs can use other schemes, so it is essential to know the coordinate system used by the downstream target at export time, if you wish to minimize the adjustments you make after importing. The settings tab allows users to work in metric units of decimeters or imperial units of inches. Downstream programs vary in their de facto units, and again, it is generally a good idea to anticipate your needs at export time rather than trying to make adjustments during or after import. It is sometimes said that these programs have no default unit. To a degree this is true. However, the default grid pattern, assumptions of other humanoid producing programs, and assumptions of the “physics systems” will often work best with the export units specified in the table below:
TABLE HERE
'''Working with Rigs and Skeletons'''
Internally, MakeHuman uses its default skeleton as the basis of mesh vertex weighting for creating the poses available on the pose tab. This rig includes a special set of bones that can be used for driving facial expressions, but as of the current release (MakeHuman 1.1.x), there is not extensive support for inverse kinematics, and animation must be done downstream in the production pipeline. Historically, MakeHuman has had close ties to Blender, but the ultimate development goal is to provide strong generic support for all the major tools used in the industry, and with MakeHuman 1.1.x, substantial progress has been made by providing weighted skeletons suited for standard use in various downstream applications. For the most part, the name of the most appropriate rig will be clearly associated with the target downstream application, but the tag filters on the Pose/Animate | skeleton tab are intended to help choose a rig suited more generally to a specific purpose like motion capture integration, facial animation, or gaming applications. MakeHuman is designed to provide the user with maximum flexibility at creation time. To provide skeletons that work perfectly with every conceivable variation of the sliders is a laudable but elusive goal. That said, the user should get very fine results with the current approach, but the user should not be surprised to have to make some minor tweaks to skeletons and weights downstream, particularly with extreme character dimensions or extreme poses.
'''MakeHuman Assets with transparency'''
In CG art, materials for mesh objects are frequently created by shaders that use various types of image maps to provide some of the information for determining the color, transparency, and light behavior on the surface of mesh objects. These image maps are referred to as textures. MakeHuman has textured materials available for the body (including proxy topologies), eyes, eyebrows, eyelashes, tongue, teeth, and hair. During export, these textures need to made available to the program that will be importing the MakeHuman output. Two aspects of this process need to be understood by the MakeHuman user: 1) how textures are saved; and 2) how transparency is handled.
There are two possible standards for storing texture assets upon export. They can either be embedded in an exported file, or they can be saved to a folder as named images with reference to the location of those files in the exported file. At present, MakeHuman uses the latter approach when exporting material textures. Following the export process, MakeHuman exports will be located in ~/makehuman/v1/exports/, and the texture images will be located in a corresponding subfolder ~/makehuman/v1/exports/textures. The tilde symbol indicates your user drive and home document directory. [For example, on Windows Vista and later, this typically would be: C:/Users/%USERNAME%/Documents/makehuman/v1/exports and a textures subfolder, where %USERNAME% is replaced by your username.]
Transparency is used in 3D art to let a viewer see through a mesh object to experience the color, reflections and lighting behind that object. MakeHuman uses transparency with textures for the eyes, eyebrows, eyelashes, and hair. This allows complex real world geometry to be represented by much simpler quasi-planar objects. For example, the hairs of the eyebrows are painted onto a flat surface with transparent spaces in between the painted hairs rather than creating tiny mesh objects for each of the 250-1000 individual hairs. CG programs can indicate which regions of the eyebrow should be transparent either by using a separate image where blackness indicates transparent and whiteness indicates opacity. Grayness is used to represent partial transparency. An alternative approach to representing transparency is to use an image format like .tga or .png which has a one byte channel, called an alpha channel, for just this purpose. Again, values near zero (black) typically represent “completely transparent” and values near 255 (white) typically represent “completely opaque”. MakeHuman represents the transparent regions of its assets using the alpha channel method and the .png format for textures. Unfortunately, importers for filmbox (FBX) and collada formats (DAE) do not automatically extract the transparency information provided by MakeHuman, or more specifically, they do not provide it to their shaders as anticipated. This is not just a MakeHuman problem but reflects multiple ways of handling transparency and alpha channels within the industry. Notably, exporting and reimporting assets with alpha channel transparency into the very same program fails with Blender, 3DSMax, and Maya for FBX, and where available, DAE formats. This forces the MakeHuman user to understand how to overcome this limitation in his favorite downstream application. Some introductory help will be provided for common applications later in this document.
There is one additional aspect of using transparency to make a single, simple mesh represent multiple small objects like eyebrows, and that is the issue of shadows. Lighting systems in 3D worlds creates a simulation of reality by making shadows appear on mesh objects in places you would expect to see them in the real world and with the soft edges you would expect to see in the real world. Shadows are a function of both the light source, the object blocking that light, and the objects receiving the reflected and refracted light from other objects. For objects that have transparency, like MakeHuman’s eyes, eyelashes, eyebrows, and hair, shadows should only be cast by the opaque portion of the texture and not by the transparent portions of the texture. The handling of shadows differs considerably from program to program, and objects with alpha channel transparency can need some special handling to accommodate these differences. This handling is not just about the assets with alpha map transparency, themselves. Sometimes it is necessary to set parameters to explicitly tell other objects like the MakeHuman body to not display shadows from the transparent regions of the eyebrows but to show shadows from the opaque hairs of the eyebrows. Shadows of transparently mapped assets will be addressed further in subsequent sections (where information is available).
==Illustrating the Export Process for Subsequent Import==
For the purposes of illustration we will take a straight forward MakeHuman character that has been given a skeleton, a pose, a skin material, clothing, eyes, eyelashes, eyebrows, hair, tongue and teeth. We will then export it for import into a number of popular downstream applications. For each application, our goal will be to get the character to look similar to its original look in MakeHuman. We will pay particular attention to the head and face because this is the area of greatest difficulty for dealing with transparency and shadows. The character has the default skeleton and has been set in the T-pose which is a common starting pose for animation-based work. The image we will be exporting looks like this in MakeHuman:
[[File:ImpExp-001.png]]
'''Figure 1.''' MakeHuman character as viewed from within MakeHuman prior to export.
In subsequent sections, we will discuss the steps needed to reproduce this look after importing into a downstream program.
==Moving Assets into Autodesk Maya==
==Moving Assets into Autodesk 3DSMax==
==Moving Assets into Blender==
==Moving Assets into Unreal Engine 4==
==Moving Assets into Unity Game Engine==
==Moving Assets into Google Sketchup==
==Preparing assets for use with Second Life==
f9ae9a645c22396cf2e071e36723ef781b57f9b6
172
168
2015-07-25T07:06:56Z
Robbaer
12
/* Illustrating the Export/Import Process */
wikitext
text/x-wiki
== Summary ==
More often than not MakeHuman users will want to move their creation into another program to continue the creation process. This section provides information on how to achieve this for common target programs. The Background and Export Example section provides some background that are common to all workflows. It is not essential to read the introduction before going straight to the program of interest, but doing so might help you understand ''why'' certain steps work or are necessary. In many cases there can be more than one way to accomplish the same thing. The method described here may not be optimal for your situation, but it should help get you started.
==Background and Technical Considerations==
'''Introduction'''
Many MakeHuman users will use the work they create in MakeHuman as a component of a project completed in an external, downstream application. The most common target applications are 3D graphics applications like Blender, Autodesk 3DSMax, and Autodesk Maya or gaming engines like Unity Engine or Unreal Engine 4 or Virtual Worlds like Second Life. In some cases, the MakeHuman user will be interested in moving just the mesh. In other cases, the user will be interested in moving a complete, posed, skeletonized character to the downstream application. The purpose of this document is to discuss the basic process of moving a finished MakeHuman asset to a downstream program and producing a reasonable facsimile of its MakeHuman appearance in the downstream application. It is important to recognize that because each application has its own way of representing 3D assets, and because each export format has its own set of idiosyncrasies, there will be adjustments and approximations in the asset transfer process.
'''Format Considerations'''
In an effort to provide the broadest latitude for user workflows, the MakeHuman development team is directing it major export support toward Autodesk FBX format and Khronos Collada format. In addition, Blender users have the option to install the independently developed .mhx2 tools, which are developed and maintained by Thomas Larson, independent of MakeHuman itself. Collada is a text-based format and is an open standard, but implementation of the standard is not as consistent as might be hoped. FBX is a proprietary standard developed by Autodesk and supported through a software development kit (FBX SDK) written in C++ and a Python FBX scripting template. The FBX standard is periodically updated by Autodesk and can be saved as either an ASCII or a binary format. Downstream programs may make assumptions about the FBX version being imported, and may limit users to either binary or ASCII importing. Surprisingly, CG assets exported from various programs as collada and FBX do not make it back into the same program as a round-trip without changes to some components of the scene. For example, this is true of FBX format in both 3DSMax and Maya for MakeHumanassets. It is also true for Blender with both FBX and collada format for MakeHumanassets. In this document, we will attempt to provide some support for dealing with this type of surprise.
'''MakeHuman Shader and Asset Rendering'''
A “shader” is computer code that translates digital information into a properly rendered image on the computer screen. Different algorithms use different methods of constructing such a display. By default in MakeHuman, the viewport lighting is handled by the built-in light-sphere shader. The light-sphere shader takes advantage of support for the openGL standard provided by today’s graphics cards. What the viewer sees on the screen depends not only on the color of assets, like skin and clothing, but also on the nature of the lights illuminating the scene and causing reflections and shadows. Most downstream programs use other shader strategies, the most common of which include Phong shaders, Blinn shaders, or Lambert shaders. Because the code and conceptual design of these shaders differs from that of the MakeHuman light-sphere shader, the user should be prepared to make some adjustments in the downstream program to get the final desired effect. Some MakeHuman assets also include Normal maps which the user will want to integrate into the downstream applications rendering.
When a MakeHuman material (for example, skin or clothing or eyelashes) is exported, it carries with it a limited amount of fundamental information for by the downstream program’s shaders. In an ideal world, the downstream program would import this raw information, correctly populate the variables in its shaders, and yield the same view of the human that was exported from MakeHuman. At present this does not typically happen, and the user must make some adjustments. This Wiki section is designed to help you negotiate through that process.
'''Spatial transformation: MakeHuman Coordinate System, MakeHuman Skeletons, and MakeHuman Scales'''
The MakeHuman viewport is oriented so that the positive end of the x-axis is to the right, the positive end of the y-axis it up, and the positive end of the z-axis is out through the front to the screen. Other CG programs can use other schemes, so it is essential to know the coordinate system used by the downstream target at export time, if you wish to minimize the adjustments you make after importing. The settings tab allows users to work in metric units of decimeters or imperial units of inches. Downstream programs vary in their de facto units, and again, it is generally a good idea to anticipate your needs at export time rather than trying to make adjustments during or after import. It is sometimes said that these programs have no default unit. To a degree this is true. However, the default grid pattern, assumptions of other humanoid producing programs, and assumptions of the “physics systems” will often work best with the export units specified in the table below:
TABLE HERE
'''Working with Rigs and Skeletons'''
Internally, MakeHuman uses its default skeleton as the basis of mesh vertex weighting for creating the poses available on the pose tab. This rig includes a special set of bones that can be used for driving facial expressions, but as of the current release (MakeHuman 1.1.x), there is not extensive support for inverse kinematics, and animation must be done downstream in the production pipeline. Historically, MakeHuman has had close ties to Blender, but the ultimate development goal is to provide strong generic support for all the major tools used in the industry, and with MakeHuman 1.1.x, substantial progress has been made by providing weighted skeletons suited for standard use in various downstream applications. For the most part, the name of the most appropriate rig will be clearly associated with the target downstream application, but the tag filters on the Pose/Animate | skeleton tab are intended to help choose a rig suited more generally to a specific purpose like motion capture integration, facial animation, or gaming applications. MakeHuman is designed to provide the user with maximum flexibility at creation time. To provide skeletons that work perfectly with every conceivable variation of the sliders is a laudable but elusive goal. That said, the user should get very fine results with the current approach, but the user should not be surprised to have to make some minor tweaks to skeletons and weights downstream, particularly with extreme character dimensions or extreme poses.
'''MakeHuman Assets with transparency'''
In CG art, materials for mesh objects are frequently created by shaders that use various types of image maps to provide some of the information for determining the color, transparency, and light behavior on the surface of mesh objects. These image maps are referred to as textures. MakeHuman has textured materials available for the body (including proxy topologies), eyes, eyebrows, eyelashes, tongue, teeth, and hair. During export, these textures need to made available to the program that will be importing the MakeHuman output. Two aspects of this process need to be understood by the MakeHuman user: 1) how textures are saved; and 2) how transparency is handled.
There are two possible standards for storing texture assets upon export. They can either be embedded in an exported file, or they can be saved to a folder as named images with reference to the location of those files in the exported file. At present, MakeHuman uses the latter approach when exporting material textures. Following the export process, MakeHuman exports will be located in ~/makehuman/v1/exports/, and the texture images will be located in a corresponding subfolder ~/makehuman/v1/exports/textures. The tilde symbol indicates your user drive and home document directory. [For example, on Windows Vista and later, this typically would be: C:/Users/%USERNAME%/Documents/makehuman/v1/exports and a textures subfolder, where %USERNAME% is replaced by your username.]
Transparency is used in 3D art to let a viewer see through a mesh object to experience the color, reflections and lighting behind that object. MakeHuman uses transparency with textures for the eyes, eyebrows, eyelashes, and hair. This allows complex real world geometry to be represented by much simpler quasi-planar objects. For example, the hairs of the eyebrows are painted onto a flat surface with transparent spaces in between the painted hairs rather than creating tiny mesh objects for each of the 250-1000 individual hairs. CG programs can indicate which regions of the eyebrow should be transparent either by using a separate image where blackness indicates transparent and whiteness indicates opacity. Grayness is used to represent partial transparency. An alternative approach to representing transparency is to use an image format like .tga or .png which has a one byte channel, called an alpha channel, for just this purpose. Again, values near zero (black) typically represent “completely transparent” and values near 255 (white) typically represent “completely opaque”. MakeHuman represents the transparent regions of its assets using the alpha channel method and the .png format for textures. Unfortunately, importers for filmbox (FBX) and collada formats (DAE) do not automatically extract the transparency information provided by MakeHuman, or more specifically, they do not provide it to their shaders as anticipated. This is not just a MakeHuman problem but reflects multiple ways of handling transparency and alpha channels within the industry. Notably, exporting and reimporting assets with alpha channel transparency into the very same program fails with Blender, 3DSMax, and Maya for FBX, and where available, DAE formats. This forces the MakeHuman user to understand how to overcome this limitation in his favorite downstream application. Some introductory help will be provided for common applications later in this document.
There is one additional aspect of using transparency to make a single, simple mesh represent multiple small objects like eyebrows, and that is the issue of shadows. Lighting systems in 3D worlds creates a simulation of reality by making shadows appear on mesh objects in places you would expect to see them in the real world and with the soft edges you would expect to see in the real world. Shadows are a function of both the light source, the object blocking that light, and the objects receiving the reflected and refracted light from other objects. For objects that have transparency, like MakeHuman’s eyes, eyelashes, eyebrows, and hair, shadows should only be cast by the opaque portion of the texture and not by the transparent portions of the texture. The handling of shadows differs considerably from program to program, and objects with alpha channel transparency can need some special handling to accommodate these differences. This handling is not just about the assets with alpha map transparency, themselves. Sometimes it is necessary to set parameters to explicitly tell other objects like the MakeHuman body to not display shadows from the transparent regions of the eyebrows but to show shadows from the opaque hairs of the eyebrows. Shadows of transparently mapped assets will be addressed further in subsequent sections (where information is available).
==Illustrating the Export Process for Subsequent Import==
For the purposes of illustration we will take a straight forward MakeHuman character that has been given a skeleton, a pose, a skin material, clothing, eyes, eyelashes, eyebrows, hair, tongue and teeth. We will then export it for import into a number of popular downstream applications. For each application, our goal will be to get the character to look similar to its original look in MakeHuman. We will pay particular attention to the head and face because this is the area of greatest difficulty for dealing with transparency and shadows. The character has the default skeleton and has been set in the T-pose which is a common starting pose for animation-based work. The image we will be exporting looks like this in MakeHuman:
[[File:Example.jpg]]
'''Figure 1.''' MakeHuman character as viewed from within MakeHuman prior to export.
In subsequent sections, we will discuss the steps needed to reproduce this look after importing into a downstream program.
==Moving Assets into Autodesk Maya==
==Moving Assets into Autodesk 3DSMax==
==Moving Assets into Blender==
==Moving Assets into Unreal Engine 4==
==Moving Assets into Unity Game Engine==
==Moving Assets into Google Sketchup==
==Preparing assets for use with Second Life==
3e4eb1c8d89b76cdda46f5a353ee4f261dedf9dd
168
165
2015-07-25T06:57:47Z
Robbaer
12
wikitext
text/x-wiki
== Summary ==
More often than not MakeHuman users will want to move their creation into another program to continue the creation process. This section provides information on how to achieve this for common target programs. The Background and Export Example section provides some background that are common to all workflows. It is not essential to read the introduction before going straight to the program of interest, but doing so might help you understand ''why'' certain steps work or are necessary. In many cases there can be more than one way to accomplish the same thing. The method described here may not be optimal for your situation, but it should help get you started.
==Background and Technical Considerations==
'''Introduction'''
Many MakeHuman users will use the work they create in MakeHuman as a component of a project completed in an external, downstream application. The most common target applications are 3D graphics applications like Blender, Autodesk 3DSMax, and Autodesk Maya or gaming engines like Unity Engine or Unreal Engine 4 or Virtual Worlds like Second Life. In some cases, the MakeHuman user will be interested in moving just the mesh. In other cases, the user will be interested in moving a complete, posed, skeletonized character to the downstream application. The purpose of this document is to discuss the basic process of moving a finished MakeHuman asset to a downstream program and producing a reasonable facsimile of its MakeHuman appearance in the downstream application. It is important to recognize that because each application has its own way of representing 3D assets, and because each export format has its own set of idiosyncrasies, there will be adjustments and approximations in the asset transfer process.
'''Format Considerations'''
In an effort to provide the broadest latitude for user workflows, the MakeHuman development team is directing it major export support toward Autodesk FBX format and Khronos Collada format. In addition, Blender users have the option to install the independently developed .mhx2 tools, which are developed and maintained by Thomas Larson, independent of MakeHuman itself. Collada is a text-based format and is an open standard, but implementation of the standard is not as consistent as might be hoped. FBX is a proprietary standard developed by Autodesk and supported through a software development kit (FBX SDK) written in C++ and a Python FBX scripting template. The FBX standard is periodically updated by Autodesk and can be saved as either an ASCII or a binary format. Downstream programs may make assumptions about the FBX version being imported, and may limit users to either binary or ASCII importing. Surprisingly, CG assets exported from various programs as collada and FBX do not make it back into the same program as a round-trip without changes to some components of the scene. For example, this is true of FBX format in both 3DSMax and Maya for MakeHumanassets. It is also true for Blender with both FBX and collada format for MakeHumanassets. In this document, we will attempt to provide some support for dealing with this type of surprise.
'''MakeHuman Shader and Asset Rendering'''
A “shader” is computer code that translates digital information into a properly rendered image on the computer screen. Different algorithms use different methods of constructing such a display. By default in MakeHuman, the viewport lighting is handled by the built-in light-sphere shader. The light-sphere shader takes advantage of support for the openGL standard provided by today’s graphics cards. What the viewer sees on the screen depends not only on the color of assets, like skin and clothing, but also on the nature of the lights illuminating the scene and causing reflections and shadows. Most downstream programs use other shader strategies, the most common of which include Phong shaders, Blinn shaders, or Lambert shaders. Because the code and conceptual design of these shaders differs from that of the MakeHuman light-sphere shader, the user should be prepared to make some adjustments in the downstream program to get the final desired effect. Some MakeHuman assets also include Normal maps which the user will want to integrate into the downstream applications rendering.
When a MakeHuman material (for example, skin or clothing or eyelashes) is exported, it carries with it a limited amount of fundamental information for by the downstream program’s shaders. In an ideal world, the downstream program would import this raw information, correctly populate the variables in its shaders, and yield the same view of the human that was exported from MakeHuman. At present this does not typically happen, and the user must make some adjustments. This Wiki section is designed to help you negotiate through that process.
'''Spatial transformation: MakeHuman Coordinate System, MakeHuman Skeletons, and MakeHuman Scales'''
The MakeHuman viewport is oriented so that the positive end of the x-axis is to the right, the positive end of the y-axis it up, and the positive end of the z-axis is out through the front to the screen. Other CG programs can use other schemes, so it is essential to know the coordinate system used by the downstream target at export time, if you wish to minimize the adjustments you make after importing. The settings tab allows users to work in metric units of decimeters or imperial units of inches. Downstream programs vary in their de facto units, and again, it is generally a good idea to anticipate your needs at export time rather than trying to make adjustments during or after import. It is sometimes said that these programs have no default unit. To a degree this is true. However, the default grid pattern, assumptions of other humanoid producing programs, and assumptions of the “physics systems” will often work best with the export units specified in the table below:
TABLE HERE
'''Working with Rigs and Skeletons'''
Internally, MakeHuman uses its default skeleton as the basis of mesh vertex weighting for creating the poses available on the pose tab. This rig includes a special set of bones that can be used for driving facial expressions, but as of the current release (MakeHuman 1.1.x), there is not extensive support for inverse kinematics, and animation must be done downstream in the production pipeline. Historically, MakeHuman has had close ties to Blender, but the ultimate development goal is to provide strong generic support for all the major tools used in the industry, and with MakeHuman 1.1.x, substantial progress has been made by providing weighted skeletons suited for standard use in various downstream applications. For the most part, the name of the most appropriate rig will be clearly associated with the target downstream application, but the tag filters on the Pose/Animate | skeleton tab are intended to help choose a rig suited more generally to a specific purpose like motion capture integration, facial animation, or gaming applications. MakeHuman is designed to provide the user with maximum flexibility at creation time. To provide skeletons that work perfectly with every conceivable variation of the sliders is a laudable but elusive goal. That said, the user should get very fine results with the current approach, but the user should not be surprised to have to make some minor tweaks to skeletons and weights downstream, particularly with extreme character dimensions or extreme poses.
'''MakeHuman Assets with transparency'''
In CG art, materials for mesh objects are frequently created by shaders that use various types of image maps to provide some of the information for determining the color, transparency, and light behavior on the surface of mesh objects. These image maps are referred to as textures. MakeHuman has textured materials available for the body (including proxy topologies), eyes, eyebrows, eyelashes, tongue, teeth, and hair. During export, these textures need to made available to the program that will be importing the MakeHuman output. Two aspects of this process need to be understood by the MakeHuman user: 1) how textures are saved; and 2) how transparency is handled.
There are two possible standards for storing texture assets upon export. They can either be embedded in an exported file, or they can be saved to a folder as named images with reference to the location of those files in the exported file. At present, MakeHuman uses the latter approach when exporting material textures. Following the export process, MakeHuman exports will be located in ~/makehuman/v1/exports/, and the texture images will be located in a corresponding subfolder ~/makehuman/v1/exports/textures. The tilde symbol indicates your user drive and home document directory. [For example, on Windows Vista and later, this typically would be: C:/Users/%USERNAME%/Documents/makehuman/v1/exports and a textures subfolder, where %USERNAME% is replaced by your username.]
Transparency is used in 3D art to let a viewer see through a mesh object to experience the color, reflections and lighting behind that object. MakeHuman uses transparency with textures for the eyes, eyebrows, eyelashes, and hair. This allows complex real world geometry to be represented by much simpler quasi-planar objects. For example, the hairs of the eyebrows are painted onto a flat surface with transparent spaces in between the painted hairs rather than creating tiny mesh objects for each of the 250-1000 individual hairs. CG programs can indicate which regions of the eyebrow should be transparent either by using a separate image where blackness indicates transparent and whiteness indicates opacity. Grayness is used to represent partial transparency. An alternative approach to representing transparency is to use an image format like .tga or .png which has a one byte channel, called an alpha channel, for just this purpose. Again, values near zero (black) typically represent “completely transparent” and values near 255 (white) typically represent “completely opaque”. MakeHuman represents the transparent regions of its assets using the alpha channel method and the .png format for textures. Unfortunately, importers for filmbox (FBX) and collada formats (DAE) do not automatically extract the transparency information provided by MakeHuman, or more specifically, they do not provide it to their shaders as anticipated. This is not just a MakeHuman problem but reflects multiple ways of handling transparency and alpha channels within the industry. Notably, exporting and reimporting assets with alpha channel transparency into the very same program fails with Blender, 3DSMax, and Maya for FBX, and where available, DAE formats. This forces the MakeHuman user to understand how to overcome this limitation in his favorite downstream application. Some introductory help will be provided for common applications later in this document.
There is one additional aspect of using transparency to make a single, simple mesh represent multiple small objects like eyebrows, and that is the issue of shadows. Lighting systems in 3D worlds creates a simulation of reality by making shadows appear on mesh objects in places you would expect to see them in the real world and with the soft edges you would expect to see in the real world. Shadows are a function of both the light source, the object blocking that light, and the objects receiving the reflected and refracted light from other objects. For objects that have transparency, like MakeHuman’s eyes, eyelashes, eyebrows, and hair, shadows should only be cast by the opaque portion of the texture and not by the transparent portions of the texture. The handling of shadows differs considerably from program to program, and objects with alpha channel transparency can need some special handling to accommodate these differences. This handling is not just about the assets with alpha map transparency, themselves. Sometimes it is necessary to set parameters to explicitly tell other objects like the MakeHuman body to not display shadows from the transparent regions of the eyebrows but to show shadows from the opaque hairs of the eyebrows. Shadows of transparently mapped assets will be addressed further in subsequent sections (where information is available).
==Illustrating the Export/Import Process==
==Moving Assets into Autodesk Maya==
==Moving Assets into Autodesk 3DSMax==
==Moving Assets into Blender==
==Moving Assets into Unreal Engine 4==
==Moving Assets into Unity Game Engine==
==Moving Assets into Google Sketchup==
==Preparing assets for use with Second Life==
9ef084f1c8d3f0b3883928cf18463275a35e046c
165
162
2015-07-25T06:52:53Z
Robbaer
12
/* Background and Technical Considerations */
wikitext
text/x-wiki
== Summary ==
More often than not MakeHuman users will want to move their creation into another program to continue the creation process. This section provides information on how to achieve this for common target programs. The Background and Export Example section provides some background that are common to all workflows. It is not essential to read the introduction before going straight to the program of interest, but doing so might help you understand ''why'' certain steps work or are necessary. In many cases there can be more than one way to accomplish the same thing. The method described here may not be optimal for your situation, but it should help get you started.
==Background and Technical Considerations==
'''Introduction'''
Many MakeHuman users will use the work they create in MakeHuman as a component of a project completed in an external, downstream application. The most common target applications are 3D graphics applications like Blender, Autodesk 3DSMax, and Autodesk Maya or gaming engines like Unity Engine or Unreal Engine 4. In some cases, the MakeHuman user will be interested in moving just the mesh. In other cases, the user will be interested in moving a complete, posed, skeletonized character to the downstream application. The purpose of this document is to discuss the basic process of moving a finished MakeHuman asset to a downstream program and producing a reasonable facsimile of its MakeHuman appearance in the downstream application. It is important to recognize that because each application has its own way of representing 3D assets, and because each export format has its own set of idiosyncrasies, there will be adjustments and approximations in the asset transfer process.
'''Format Considerations'''
In an effort to provide the broadest latitude for user workflows, the MakeHuman development team is directing it major export support toward Autodesk FBX format and Khronos Collada format. In addition, Blender users have the option to install the independently developed .mhx2 tools, which are developed and maintained by Thomas Larson, independent of MakeHuman itself. Collada is a text-based format and is an open standard, but implementation of the standard is not as consistent as might be hoped. FBX is a proprietary standard developed by Autodesk and supported through a software development kit (FBX SDK) written in C++ and a Python FBX scripting template. The FBX standard is periodically updated by Autodesk and can be saved as either an ASCII or a binary format. Downstream programs may make assumptions about the FBX version being imported, and may limit users to either binary or ASCII importing. Surprisingly, CG assets exported from various programs as collada and FBX do not make it back into the same program as a round-trip without changes to some components of the scene. For example, this is true of FBX format in both 3DSMax and Maya for MakeHumanassets. It is also true for Blender with both FBX and collada format for MakeHumanassets. In this document, we will attempt to provide some support for dealing with this type of surprise.
'''MakeHuman Shader and Asset Rendering'''
A “shader” is computer code that translates digital information into a properly rendered image on the computer screen. Different algorithms use different methods of constructing such a display. By default in MakeHuman, the viewport lighting is handled by the built-in light-sphere shader. The light-sphere shader takes advantage of support for the openGL standard provided by today’s graphics cards. What the viewer sees on the screen depends not only on the color of assets, like skin and clothing, but also on the nature of the lights illuminating the scene and causing reflections and shadows. Most downstream programs use other shader strategies, the most common of which include Phong shaders, Blinn shaders, or Lambert shaders. Because the code and conceptual design of these shaders differs from that of the MakeHuman light-sphere shader, the user should be prepared to make some adjustments in the downstream program to get the final desired effect. Some MakeHuman assets also include Normal maps which the user will want to integrate into the downstream applications rendering.
When a MakeHuman material (for example, skin or clothing or eyelashes) is exported, it carries with it a limited amount of fundamental information for by the downstream program’s shaders. In an ideal world, the downstream program would import this raw information, correctly populate the variables in its shaders, and yield the same view of the human that was exported from MakeHuman. At present this does not typically happen, and the user must make some adjustments. This Wiki section is designed to help you negotiate through that process.
'''Spatial transformation: MakeHuman Coordinate System, MakeHuman Skeletons, and MakeHuman Scales'''
The MakeHuman viewport is oriented so that the positive end of the x-axis is to the right, the positive end of the y-axis it up, and the positive end of the z-axis is out through the front to the screen. Other CG programs can use other schemes, so it is essential to know the coordinate system used by the downstream target at export time, if you wish to minimize the adjustments you make after importing. The settings tab allows users to work in metric units of decimeters or imperial units of inches. Downstream programs vary in their de facto units, and again, it is generally a good idea to anticipate your needs at export time rather than trying to make adjustments during or after import. It is sometimes said that these programs have no default unit. To a degree this is true. However, the default grid pattern, assumptions of other humanoid producing programs, and assumptions of the “physics systems” will often work best with the export units specified in the table below:
TABLE HERE
'''Working with Rigs and Skeletons'''
Internally, MakeHuman uses its default skeleton as the basis of mesh vertex weighting for creating the poses available on the pose tab. This rig includes a special set of bones that can be used for driving facial expressions, but as of the current release (MakeHuman 1.1.x), there is not extensive support for inverse kinematics, and animation must be done downstream in the production pipeline. Historically, MakeHuman has had close ties to Blender, but the ultimate development goal is to provide strong generic support for all the major tools used in the industry, and with MakeHuman 1.1.x, substantial progress has been made by providing weighted skeletons suited for standard use in various downstream applications. For the most part, the name of the most appropriate rig will be clearly associated with the target downstream application, but the tag filters on the Pose/Animate | skeleton tab are intended to help choose a rig suited more generally to a specific purpose like motion capture integration, facial animation, or gaming applications. MakeHuman is designed to provide the user with maximum flexibility at creation time. To provide skeletons that work perfectly with every conceivable variation of the sliders is a laudable but elusive goal. That said, the user should get very fine results with the current approach, but the user should not be surprised to have to make some minor tweaks to skeletons and weights downstream, particularly with extreme character dimensions or extreme poses.
'''MakeHuman Assets with transparency'''
In CG art, materials for mesh objects are frequently created by shaders that use various types of image maps to provide some of the information for determining the color, transparency, and light behavior on the surface of mesh objects. These image maps are referred to as textures. MakeHuman has textured materials available for the body (including proxy topologies), eyes, eyebrows, eyelashes, tongue, teeth, and hair. During export, these textures need to made available to the program that will be importing the MakeHuman output. Two aspects of this process need to be understood by the MakeHuman user: 1) how textures are saved; and 2) how transparency is handled.
There are two possible standards for storing texture assets upon export. They can either be embedded in an exported file, or they can be saved to a folder as named images with reference to the location of those files in the exported file. At present, MakeHuman uses the latter approach when exporting material textures. Following the export process, MakeHuman exports will be located in ~/makehuman/v1/exports/, and the texture images will be located in a corresponding subfolder ~/makehuman/v1/exports/textures. The tilde symbol indicates your user drive and home document directory. [For example, on Windows Vista and later, this typically would be: C:/Users/%USERNAME%/Documents/makehuman/v1/exports and a textures subfolder, where %USERNAME% is replaced by your username.]
Transparency is used in 3D art to let a viewer see through a mesh object to experience the color, reflections and lighting behind that object. MakeHuman uses transparency with textures for the eyes, eyebrows, eyelashes, and hair. This allows complex real world geometry to be represented by much simpler quasi-planar objects. For example, the hairs of the eyebrows are painted onto a flat surface with transparent spaces in between the painted hairs rather than creating tiny mesh objects for each of the 250-1000 individual hairs. CG programs can indicate which regions of the eyebrow should be transparent either by using a separate image where blackness indicates transparent and whiteness indicates opacity. Grayness is used to represent partial transparency. An alternative approach to representing transparency is to use an image format like .tga or .png which has a one byte channel, called an alpha channel, for just this purpose. Again, values near zero (black) typically represent “completely transparent” and values near 255 (white) typically represent “completely opaque”. MakeHuman represents the transparent regions of its assets using the alpha channel method and the .png format for textures. Unfortunately, importers for filmbox (FBX) and collada formats (DAE) do not automatically extract the transparency information provided by MakeHuman, or more specifically, they do not provide it to their shaders as anticipated. This is not just a MakeHuman problem but reflects multiple ways of handling transparency and alpha channels within the industry. Notably, exporting and reimporting assets with alpha channel transparency into the very same program fails with Blender, 3DSMax, and Maya for FBX, and where available, DAE formats. This forces the MakeHuman user to understand how to overcome this limitation in his favorite downstream application. Some introductory help will be provided for common applications later in this document.
There is one additional aspect of using transparency to make a single, simple mesh represent multiple small objects like eyebrows, and that is the issue of shadows. Lighting systems in 3D worlds creates a simulation of reality by making shadows appear on mesh objects in places you would expect to see them in the real world and with the soft edges you would expect to see in the real world. Shadows are a function of both the light source, the object blocking that light, and the objects receiving the reflected and refracted light from other objects. For objects that have transparency, like MakeHuman’s eyes, eyelashes, eyebrows, and hair, shadows should only be cast by the opaque portion of the texture and not by the transparent portions of the texture. The handling of shadows differs considerably from program to program, and objects with alpha channel transparency can need some special handling to accommodate these differences. This handling is not just about the assets with alpha map transparency, themselves. Sometimes it is necessary to set parameters to explicitly tell other objects like the MakeHuman body to not display shadows from the transparent regions of the eyebrows but to show shadows from the opaque hairs of the eyebrows. Shadows of transparently mapped assets will be addressed further in subsequent sections (where information is available).
==Moving Assets into Autodesk Maya==
==Moving Assets into Autodesk 3DSMax==
==Moving Assets into Blender==
==Moving Assets into Unreal Engine 4==
==Moving Assets into Unity Game Engine==
==Moving Assets into Google Sketchup==
==Preparing assets for use with Second Life==
3d78d1b1b83587c8c48a363b8075426044acc1a1
162
161
2015-07-25T06:46:46Z
Robbaer
12
/* Background and Technical Considerations */
wikitext
text/x-wiki
== Summary ==
More often than not MakeHuman users will want to move their creation into another program to continue the creation process. This section provides information on how to achieve this for common target programs. The Background and Export Example section provides some background that are common to all workflows. It is not essential to read the introduction before going straight to the program of interest, but doing so might help you understand ''why'' certain steps work or are necessary. In many cases there can be more than one way to accomplish the same thing. The method described here may not be optimal for your situation, but it should help get you started.
==Background and Technical Considerations==
'''Introduction'''
Many MakeHuman users will use the work they create in MakeHuman as a component of a project completed in an external, downstream application. The most common target applications are 3D graphics applications like Blender, Autodesk 3DSMax, and Autodesk Maya or gaming engines like Unity Engine or Unreal Engine 4. In some cases, the MakeHuman user will be interested in moving just the mesh. In other cases, the user will be interested in moving a complete, posed, skeletonized character to the downstream application. The purpose of this document is to discuss the basic process of moving a finished MakeHuman asset to a downstream program and producing a reasonable facsimile of its MakeHuman appearance in the downstream application. It is important to recognize that because each application has its own way of representing 3D assets, and because each export format has its own set of idiosyncrasies, there will be adjustments and approximations in the asset transfer process.
'''Format Considerations'''
In an effort to provide the broadest latitude for user workflows, the MakeHuman development team is directing it major export support toward Autodesk FBX format and Khronos Collada format. In addition, Blender users have the option to install the independently developed .mhx2 tools, which are developed and maintained by Thomas Larson, independent of MakeHuman itself. Collada is a text-based format and is an open standard, but implementation of the standard is not as consistent as might be hoped. FBX is a proprietary standard developed by Autodesk and supported through a software development kit (FBX SDK) written in C++ and a Python FBX scripting template. The FBX standard is periodically updated by Autodesk and can be saved as either an ASCII or a binary format. Downstream programs may make assumptions about the FBX version being imported, and may limit users to either binary or ASCII importing. Surprisingly, CG assets exported from various programs as collada and FBX do not make it back into the same program as a round-trip without changes to some components of the scene. For example, this is true of FBX format in both 3DSMax and Maya for MakeHumanassets. It is also true for Blender with both FBX and collada format for MakeHumanassets. In this document, we will attempt to provide some support for dealing with this type of surprise.
'''MakeHuman Shader and Asset Rendering'''
A “shader” is computer code that translates digital information into a properly rendered image on the computer screen. Different algorithms use different methods of constructing such a display. By default in MakeHuman, the viewport lighting is handled by the built-in light-sphere shader. The light-sphere shader takes advantage of support for the openGL standard provided by today’s graphics cards. What the viewer sees on the screen depends not only on the color of assets, like skin and clothing, but also on the nature of the lights illuminating the scene and causing reflections and shadows. Most downstream programs use other shader strategies, the most common of which include Phong shaders, Blinn shaders, or Lambert shaders. Because the code and conceptual design of these shaders differs from that of the MakeHuman light-sphere shader, the user should be prepared to make some adjustments in the downstream program to get the final desired effect. Some MakeHuman assets also include Normal maps which the user will want to integrate into the downstream applications rendering.
When a MakeHuman material (for example, skin or clothing or eyelashes) is exported, it carries with it a limited amount of fundamental information for by the downstream program’s shaders. In an ideal world, the downstream program would import this raw information, correctly populate the variables in its shaders, and yield the same view of the human that was exported from MakeHuman. At present this does not typically happen, and the user must make some adjustments. This Wiki section is designed to help you negotiate through that process.
'''Spatial transformation: MakeHuman Coordinate System, MakeHuman Skeletons, and MakeHuman Scales'''
The MakeHuman viewport is oriented so that the positive end of the x-axis is to the right, the positive end of the y-axis it up, and the positive end of the z-axis is out through the front to the screen. Other CG programs can use other schemes, so it is essential to know the coordinate system used by the downstream target at export time, if you wish to minimize the adjustments you make after importing. The settings tab allows users to work in metric units of decimeters or imperial units of inches. Downstream programs vary in their de facto units, and again, it is generally a good idea to anticipate your needs at export time rather than trying to make adjustments during or after import. It is sometimes said that these programs have no default unit. To a degree this is true. However, the default grid pattern, assumptions of other humanoid producing programs, and assumptions of the “physics systems” will often work best with the export units specified in the table below:
TABLE HERE
'''Working with Rigs and Skeletons'''
Internally, MakeHuman uses its default skeleton as the basis of mesh vertex weighting for creating the poses available on the pose tab. This rig includes a special set of bones that can be used for driving facial expressions, but as of the current release (MakeHuman 1.1.x), there is not extensive support for inverse kinematics, and animation must be done downstream in the production pipeline. Historically, MakeHuman has had close ties to Blender, but the ultimate development goal is to provide strong generic support for all the major tools used in the industry, and with MakeHuman 1.1.x, substantial progress has been made by providing weighted skeletons suited for standard use in various downstream applications. For the most part, the name of the most appropriate rig will be clearly associated with the target downstream application, but the tag filters on the Pose/Animate | skeleton tab are intended to help choose a rig suited more generally to a specific purpose like motion capture integration, facial animation, or gaming applications. MakeHuman is designed to provide the user with maximum flexibility at creation time. To provide skeletons that work perfectly with every conceivable variation of the sliders is a laudable but ellusive goal. That said, the user should get very fine results with the current approach, but the user should not be surprised to have to make some minor tweaks to skeletons and weights downstream, particularly with extreme character dimensions or extreme poses.
==Moving Assets into Autodesk Maya==
==Moving Assets into Autodesk 3DSMax==
==Moving Assets into Blender==
==Moving Assets into Unreal Engine 4==
==Moving Assets into Unity Game Engine==
==Moving Assets into Google Sketchup==
==Preparing assets for use with Second Life==
897adf8f65f36f5b3ee3be8d2821eaa8763f6dfe
161
159
2015-07-25T06:45:41Z
Robbaer
12
/* Background and Technical Considerations */
wikitext
text/x-wiki
== Summary ==
More often than not MakeHuman users will want to move their creation into another program to continue the creation process. This section provides information on how to achieve this for common target programs. The Background and Export Example section provides some background that are common to all workflows. It is not essential to read the introduction before going straight to the program of interest, but doing so might help you understand ''why'' certain steps work or are necessary. In many cases there can be more than one way to accomplish the same thing. The method described here may not be optimal for your situation, but it should help get you started.
==Background and Technical Considerations==
'''Introduction'''
Many MakeHuman users will use the work they create in MakeHuman as a component of a project completed in an external, downstream application. The most common target applications are 3D graphics applications like Blender, Autodesk 3DSMax, and Autodesk Maya or gaming engines like Unity Engine or Unreal Engine 4. In some cases, the MakeHuman user will be interested in moving just the mesh. In other cases, the user will be interested in moving a complete, posed, skeletonized character to the downstream application. The purpose of this document is to discuss the basic process of moving a finished MakeHuman asset to a downstream program and producing a reasonable facsimile of its MakeHuman appearance in the downstream application. It is important to recognize that because each application has its own way of representing 3D assets, and because each export format has its own set of idiosyncrasies, there will be adjustments and approximations in the asset transfer process.
'''Format Considerations'''
In an effort to provide the broadest latitude for user workflows, the MakeHuman development team is directing it major export support toward Autodesk FBX format and Khronos Collada format. In addition, Blender users have the option to install the independently developed .mhx2 tools, which are developed and maintained by Thomas Larson, independent of MakeHuman itself. Collada is a text-based format and is an open standard, but implementation of the standard is not as consistent as might be hoped. FBX is a proprietary standard developed by Autodesk and supported through a software development kit (FBX SDK) written in C++ and a Python FBX scripting template. The FBX standard is periodically updated by Autodesk and can be saved as either an ASCII or a binary format. Downstream programs may make assumptions about the FBX version being imported, and may limit users to either binary or ASCII importing. Surprisingly, CG assets exported from various programs as collada and FBX do not make it back into the same program as a round-trip without changes to some components of the scene. For example, this is true of FBX format in both 3DSMax and Maya for MakeHumanassets. It is also true for Blender with both FBX and collada format for MakeHumanassets. In this document, we will attempt to provide some support for dealing with this type of surprise.
'''MakeHuman Shader and Asset Rendering'''
A “shader” is computer code that translates digital information into a properly rendered image on the computer screen. Different algorithms use different methods of constructing such a display. By default in MakeHuman, the viewport lighting is handled by the built-in light-sphere shader. The light-sphere shader takes advantage of support for the openGL standard provided by today’s graphics cards. What the viewer sees on the screen depends not only on the color of assets, like skin and clothing, but also on the nature of the lights illuminating the scene and causing reflections and shadows. Most downstream programs use other shader strategies, the most common of which include Phong shaders, Blinn shaders, or Lambert shaders. Because the code and conceptual design of these shaders differs from that of the MakeHuman light-sphere shader, the user should be prepared to make some adjustments in the downstream program to get the final desired effect. Some MakeHuman assets also include Normal maps which the user will want to integrate into the downstream applications rendering.
When a MakeHuman material (for example, skin or clothing or eyelashes) is exported, it carries with it a limited amount of fundamental information for by the downstream program’s shaders. In an ideal world, the downstream program would import this raw information, correctly populate the variables in its shaders, and yield the same view of the human that was exported from MakeHuman. At present this does not typically happen, and the user must make some adjustments. This Wiki section is designed to help you negotiate through that process.
'''Spatial transformation: MakeHuman Coordinate System, MakeHuman Skeletons, and MakeHuman Scales'''
The MakeHuman viewport is oriented so that the positive end of the x-axis is to the right, the positive end of the y-axis it up, and the positive end of the z-axis is out through the front to the screen. Other CG programs can use other schemes, so it is essential to know the coordinate system used by the downstream target at export time, if you wish to minimize the adjustments you make after importing. The settings tab allows users to work in metric units of decimeters or imperial units of inches. Downstream programs vary in their de facto units, and again, it is generally a good idea to anticipate your needs at export time rather than trying to make adjustments during or after import. It is sometimes said that these programs have no default unit. To a degree this is true. However, the default grid pattern, assumptions of other humanoid producing programs, and assumptions of the “physics systems” will often work best with the export units specified in the table below:
TABLE HERE
'''Working with Rigs and Skeletons'''
Internally, MakeHuman uses its default skeleton as the basis of mesh vertex weighting for creating the poses available on the pose tab. This rig includes a special set of bones that can be used for driving facial expressions, but as of the current release (MakeHuman 1.1.x), there is not extensive support for inverse kinematics, and animation must be done downstream in the production pipeline. Historically, MakeHuman has had close ties to Blender, but the ultimate development goal is to provide strong generic support for all the major tools used in the industry, and with MakeHuman 1.1.x, substantial progress has been made by providing weighted skeletons suited for standard use in various downstream applications. For the most part, the name of the most appropriate rig will be clearly associated with the target downstream application, but the tag filters on the Pose/Animate | skeleton tab are intended to help choose a rig suited more generally to a specific purpose like motion capture integration, facial animation, or gaming applications. MakeHuman is designed to provide the user with maximum flexibility at creation time. To provide skeletons that work perfectly with every conceivable variation of the sliders is a laudable but potentially unachievable goal. That said, the user should get very fine results with the current approach, but the user should not be surprised to have to make some minor tweaks to skeletons and weights downstream, particularly with extreme character dimensions or extreme poses.
==Moving Assets into Autodesk Maya==
==Moving Assets into Autodesk 3DSMax==
==Moving Assets into Blender==
==Moving Assets into Unreal Engine 4==
==Moving Assets into Unity Game Engine==
==Moving Assets into Google Sketchup==
==Preparing assets for use with Second Life==
661f85785662b91845fe91102f558a0ec573f6a2
159
156
2015-07-25T06:44:15Z
Robbaer
12
/* Background and Technical Considerations */
wikitext
text/x-wiki
== Summary ==
More often than not MakeHuman users will want to move their creation into another program to continue the creation process. This section provides information on how to achieve this for common target programs. The Background and Export Example section provides some background that are common to all workflows. It is not essential to read the introduction before going straight to the program of interest, but doing so might help you understand ''why'' certain steps work or are necessary. In many cases there can be more than one way to accomplish the same thing. The method described here may not be optimal for your situation, but it should help get you started.
==Background and Technical Considerations==
'''Introduction'''
Many MakeHuman users will use the work they create in MakeHuman as a component of a project completed in an external, downstream application. The most common target applications are 3D graphics applications like Blender, Autodesk 3DSMax, and Autodesk Maya or gaming engines like Unity Engine or Unreal Engine 4. In some cases, the MakeHuman user will be interested in moving just the mesh. In other cases, the user will be interested in moving a complete, posed, skeletonized character to the downstream application. The purpose of this document is to discuss the basic process of moving a finished MakeHuman asset to a downstream program and producing a reasonable facsimile of its MakeHuman appearance in the downstream application. It is important to recognize that because each application has its own way of representing 3D assets, and because each export format has its own set of idiosyncrasies, there will be adjustments and approximations in the asset transfer process.
'''Format Considerations'''
In an effort to provide the broadest latitude for user workflows, the MakeHuman development team is directing it major export support toward Autodesk FBX format and Khronos Collada format. In addition, Blender users have the option to install the independently developed .mhx2 tools, which are developed and maintained by Thomas Larson, independent of MakeHuman itself. Collada is a text-based format and is an open standard, but implementation of the standard is not as consistent as might be hoped. FBX is a proprietary standard developed by Autodesk and supported through a software development kit (FBX SDK) written in C++ and a Python FBX scripting template. The FBX standard is periodically updated by Autodesk and can be saved as either an ASCII or a binary format. Downstream programs may make assumptions about the FBX version being imported, and may limit users to either binary or ASCII importing. Surprisingly, CG assets exported from various programs as collada and FBX do not make it back into the same program as a round-trip without changes to some components of the scene. For example, this is true of FBX format in both 3DSMax and Maya for MakeHumanassets. It is also true for Blender with both FBX and collada format for MakeHumanassets. In this document, we will attempt to provide some support for dealing with this type of surprise.
'''MakeHuman Shader and Asset Rendering'''
A “shader” is computer code that translates digital information into a properly rendered image on the computer screen. Different algorithms use different methods of constructing such a display. By default in MakeHuman, the viewport lighting is handled by the built-in light-sphere shader. The light-sphere shader takes advantage of support for the openGL standard provided by today’s graphics cards. What the viewer sees on the screen depends not only on the color of assets, like skin and clothing, but also on the nature of the lights illuminating the scene and causing reflections and shadows. Most downstream programs use other shader strategies, the most common of which include Phong shaders, Blinn shaders, or Lambert shaders. Because the code and conceptual design of these shaders differs from that of the MakeHuman light-sphere shader, the user should be prepared to make some adjustments in the downstream program to get the final desired effect. Some MakeHuman assets also include Normal maps which the user will want to integrate into the downstream applications rendering.
When a MakeHuman material (for example, skin or clothing or eyelashes) is exported, it carries with it a limited amount of fundamental information for by the downstream program’s shaders. In an ideal world, the downstream program would import this raw information, correctly populate the variables in its shaders, and yield the same view of the human that was exported from MakeHuman. At present this does not typically happen, and the user must make some adjustments. This Wiki section is designed to help you negotiate through that process.
'''Spatial transformation: MakeHuman Coordinate System, MakeHuman Skeletons, and MakeHuman Scales'''
The MakeHuman viewport is oriented so that the positive end of the x-axis is to the right, the positive end of the y-axis it up, and the positive end of the z-axis is out through the front to the screen. Other CG programs can use other schemes, so it is essential to know the coordinate system used by the downstream target at export time, if you wish to minimize the adjustments you make after importing. The settings tab allows users to work in metric units of decimeters or imperial units of inches. Downstream programs vary in their de facto units, and again, it is generally a good idea to anticipate your needs at export time rather than trying to make adjustments during or after import. It is sometimes said that these programs have no default unit. To a degree this is true. However, the default grid pattern, assumptions of other humanoid producing programs, and assumptions of the “physics systems” will often work best with the export units specified in the table below:
TABLE HERE
'''Working with Rigs and Skeletons'''
Internally, MakeHuman uses its default skeleton as the basis of mesh vertex weighting for creating the poses available on the pose tab. This rig includes a special set of bones that can be used for driving facial expressions, but as of the current release (MakeHuman 1.1.x), there is not extensive support for inverse kinematics, and animation must be done downstream in the production pipeline. Historically, MakeHuman has had close ties to Blender, but the ultimate development goal is to provide strong generic support for all the major tools used in the industry, and with MakeHuman 1.1.x, substantial progress has been made by providing weighted skeletons suited for standard use in various downstream applications. For the most part, the name of the most appropriate rig will be clearly associated with the target downstream application, but the tag filters on the Pose/Animate | skeleton tab are intended to help choose a rig suited more generally to a specific purpose like motion capture integration, facial animation, or gaming applications. MakeHuman is designed to provide the user with maximum flexibility at creation time. To provide skeletons that work perfectly with every conceivable variation of the sliders is a laudable but impractical goal. That said, the user should get very fine results with the current approach, but the user should not be surprised to have to make some minor tweaks to skeletons and weights downstream, particularly with extreme character dimensions or extreme poses.
==Moving Assets into Autodesk Maya==
==Moving Assets into Autodesk 3DSMax==
==Moving Assets into Blender==
==Moving Assets into Unreal Engine 4==
==Moving Assets into Unity Game Engine==
==Moving Assets into Google Sketchup==
==Preparing assets for use with Second Life==
4a6982962d8e0153babd29435c9e9f76e1e2e7c4
156
154
2015-07-25T06:39:43Z
Robbaer
12
/* Background and Export Example */
wikitext
text/x-wiki
== Summary ==
More often than not MakeHuman users will want to move their creation into another program to continue the creation process. This section provides information on how to achieve this for common target programs. The Background and Export Example section provides some background that are common to all workflows. It is not essential to read the introduction before going straight to the program of interest, but doing so might help you understand ''why'' certain steps work or are necessary. In many cases there can be more than one way to accomplish the same thing. The method described here may not be optimal for your situation, but it should help get you started.
==Background and Technical Considerations==
'''Introduction'''
Many MakeHuman users will use the work they create in MakeHuman as a component of a project completed in an external, downstream application. The most common target applications are 3D graphics applications like Blender, Autodesk 3DSMax, and Autodesk Maya or gaming engines like Unity Engine or Unreal Engine 4. In some cases, the MakeHuman user will be interested in moving just the mesh. In other cases, the user will be interested in moving a complete, posed, skeletonized character to the downstream application. The purpose of this document is to discuss the basic process of moving a finished MakeHuman asset to a downstream program and producing a reasonable facsimile of its MakeHuman appearance in the downstream application. It is important to recognize that because each application has its own way of representing 3D assets, and because each export format has its own set of idiosyncrasies, there will be adjustments and approximations in the asset transfer process.
'''Format Considerations'''
In an effort to provide the broadest latitude for user workflows, the MakeHuman development team is directing it major export support toward Autodesk FBX format and Khronos Collada format. In addition, Blender users have the option to install the independently developed .mhx2 tools, which are developed and maintained by Thomas Larson, independent of MakeHuman itself. Collada is a text-based format and is an open standard, but implementation of the standard is not as consistent as might be hoped. FBX is a proprietary standard developed by Autodesk and supported through a software development kit (FBX SDK) written in C++ and a Python FBX scripting template. The FBX standard is periodically updated by Autodesk and can be saved as either an ASCII or a binary format. Downstream programs may make assumptions about the FBX version being imported, and may limit users to either binary or ASCII importing. Surprisingly, CG assets exported from various programs as collada and FBX do not make it back into the same program as a round-trip without changes to some components of the scene. For example, this is true of FBX format in both 3DSMax and Maya for MakeHumanassets. It is also true for Blender with both FBX and collada format for MakeHumanassets. In this document, we will attempt to provide some support for dealing with this type of surprise.
'''MakeHuman Shader and Asset Rendering'''
A “shader” is computer code that translates digital information into a properly rendered image on the computer screen. Different algorithms use different methods of constructing such a display. By default in MakeHuman, the viewport lighting is handled by the built-in light-sphere shader. The light-sphere shader takes advantage of support for the openGL standard provided by today’s graphics cards. What the viewer sees on the screen depends not only on the color of assets, like skin and clothing, but also on the nature of the lights illuminating the scene and causing reflections and shadows. Most downstream programs use other shader strategies, the most common of which include Phong shaders, Blinn shaders, or Lambert shaders. Because the code and conceptual design of these shaders differs from that of the MakeHuman light-sphere shader, the user should be prepared to make some adjustments in the downstream program to get the final desired effect. Some MakeHuman assets also include Normal maps which the user will want to integrate into the downstream applications rendering.
When a MakeHuman material (for example, skin or clothing or eyelashes) is exported, it carries with it a limited amount of fundamental information for by the downstream program’s shaders. In an ideal world, the downstream program would import this raw information, correctly populate the variables in its shaders, and yield the same view of the human that was exported from MakeHuman. At present this does not typically happen, and the user must make some adjustments. This Wiki section is designed to help you negotiate through that process.
'''Spatial transformation: MakeHuman Coordinate System, MakeHuman Skeletons, and MakeHuman Scales'''
The MakeHuman viewport is oriented so that the positive end of the x-axis is to the right, the positive end of the y-axis it up, and the positive end of the z-axis is out through the front to the screen. Other CG programs can use other schemes, so it is essential to know the coordinate system used by the downstream target at export time, if you wish to minimize the adjustments you make after importing. The settings tab allows users to work in metric units of decimeters or imperial units of inches. Downstream programs vary in their de facto units, and again, it is generally a good idea to anticipate your needs at export time rather than trying to make adjustments during or after import. It is sometimes said that these programs have no default unit. To a degree this is true. However, the default grid pattern, assumptions of other humanoid producing programs, and assumptions of the “physics systems” will often work best with the export units specified in the table below:
TABLE HERE
'''Working with Rigs and Skeletons'''
Internally, MakeHuman uses its default skeleton as the basis of mesh vertex weighting for creating the poses available on the pose tab. This rig includes a special set of bones that can be used for driving facial expressions, but as of the current release (MakeHuman 1.1.x), there is not extensive support for inverse kinematics, and animation must be done downstream in the production pipeline. Historically, MakeHuman has had close ties to Blender, but the ultimate development goal is to provide strong generic support for all the major tools used in the industry, and with MakeHuman 1.1.x, substantial progress has been made by providing weighted skeletons suited for standard use in various downstream applications. For the most part, the name of the most appropriate rig will be clearly associated with the target downstream application, but the tag filters on the Pose/Animate | skeleton tab are intended to help choose a rig suited more generally to a specific purpose like motion capture integration, facial animation, or gaming applications. MakeHuman is designed to provide the user with maximum flexibility at creation time. To provide skeletons that work perfectly with every conceivable variation of the sliders is a laudable but impractical goal. The user should get very fine results with the current approach, but should not be surprised to have to make some minor tweaks to skeletons and weights downstream, particularly with extreme character dimensions or extreme poses.
==Moving Assets into Autodesk Maya==
==Moving Assets into Autodesk 3DSMax==
==Moving Assets into Blender==
==Moving Assets into Unreal Engine 4==
==Moving Assets into Unity Game Engine==
==Moving Assets into Google Sketchup==
==Preparing assets for use with Second Life==
0cf5f35aa58de9a16cc6392289de5a8ae66762e0
154
150
2015-07-25T06:37:43Z
Robbaer
12
/* Background and Export Example */
wikitext
text/x-wiki
== Summary ==
More often than not MakeHuman users will want to move their creation into another program to continue the creation process. This section provides information on how to achieve this for common target programs. The Background and Export Example section provides some background that are common to all workflows. It is not essential to read the introduction before going straight to the program of interest, but doing so might help you understand ''why'' certain steps work or are necessary. In many cases there can be more than one way to accomplish the same thing. The method described here may not be optimal for your situation, but it should help get you started.
==Background and Export Example==
'''Introduction'''
Many MakeHuman users will use the work they create in MakeHuman as a component of a project completed in an external, downstream application. The most common target applications are 3D graphics applications like Blender, Autodesk 3DSMax, and Autodesk Maya or gaming engines like Unity Engine or Unreal Engine 4. In some cases, the MakeHuman user will be interested in moving just the mesh. In other cases, the user will be interested in moving a complete, posed, skeletonized character to the downstream application. The purpose of this document is to discuss the basic process of moving a finished MakeHuman asset to a downstream program and producing a reasonable facsimile of its MakeHuman appearance in the downstream application. It is important to recognize that because each application has its own way of representing 3D assets, and because each export format has its own set of idiosyncrasies, there will be adjustments and approximations in the asset transfer process.
'''Format Considerations'''
In an effort to provide the broadest latitude for user workflows, the MakeHuman development team is directing it major export support toward Autodesk FBX format and Khronos Collada format. In addition, Blender users have the option to install the independently developed .mhx2 tools, which are developed and maintained by Thomas Larson, independent of MakeHuman itself. Collada is a text-based format and is an open standard, but implementation of the standard is not as consistent as might be hoped. FBX is a proprietary standard developed by Autodesk and supported through a software development kit (FBX SDK) written in C++ and a Python FBX scripting template. The FBX standard is periodically updated by Autodesk and can be saved as either an ASCII or a binary format. Downstream programs may make assumptions about the FBX version being imported, and may limit users to either binary or ASCII importing. Surprisingly, CG assets exported from various programs as collada and FBX do not make it back into the same program as a round-trip without changes to some components of the scene. For example, this is true of FBX format in both 3DSMax and Maya for MakeHumanassets. It is also true for Blender with both FBX and collada format for MakeHumanassets. In this document, we will attempt to provide some support for dealing with this type of surprise.
'''MakeHuman Shader and Asset Rendering'''
A “shader” is computer code that translates digital information into a properly rendered image on the computer screen. Different algorithms use different methods of constructing such a display. By default in MakeHuman, the viewport lighting is handled by the built-in light-sphere shader. The light-sphere shader takes advantage of support for the openGL standard provided by today’s graphics cards. What the viewer sees on the screen depends not only on the color of assets, like skin and clothing, but also on the nature of the lights illuminating the scene and causing reflections and shadows. Most downstream programs use other shader strategies, the most common of which include Phong shaders, Blinn shaders, or Lambert shaders. Because the code and conceptual design of these shaders differs from that of the MakeHuman light-sphere shader, the user should be prepared to make some adjustments in the downstream program to get the final desired effect. Some MakeHuman assets also include Normal maps which the user will want to integrate into the downstream applications rendering.
When a MakeHuman material (for example, skin or clothing or eyelashes) is exported, it carries with it a limited amount of fundamental information for by the downstream program’s shaders. In an ideal world, the downstream program would import this raw information, correctly populate the variables in its shaders, and yield the same view of the human that was exported from MakeHuman. At present this does not typically happen, and the user must make some adjustments. This Wiki section is designed to help you negotiate through that process.
'''Spatial transformation: MakeHuman Coordinate System, MakeHuman Skeletons, and MakeHuman Scales'''
The MakeHuman viewport is oriented so that the positive end of the x-axis is to the right, the positive end of the y-axis it up, and the positive end of the z-axis is out through the front to the screen. Other CG programs can use other schemes, so it is essential to know the coordinate system used by the downstream target at export time, if you wish to minimize the adjustments you make after importing. The settings tab allows users to work in metric units of decimeters or imperial units of inches. Downstream programs vary in their de facto units, and again, it is generally a good idea to anticipate your needs at export time rather than trying to make adjustments during or after import. It is sometimes said that these programs have no default unit. To a degree this is true. However, the default grid pattern, assumptions of other humanoid producing programs, and assumptions of the “physics systems” will often work best with the export units specified in the table below:
TABLE HERE
'''Working with Rigs and Skeletons'''
Internally, MakeHuman uses its default skeleton as the basis of mesh vertex weighting for creating the poses available on the pose tab. This rig includes a special set of bones that can be used for driving facial expressions, but as of the current release (MakeHuman 1.1.x), there is not extensive support for inverse kinematics, and animation must be done downstream in the production pipeline. Historically, MakeHuman has had close ties to Blender, but the ultimate development goal is to provide strong generic support for all the major tools used in the industry, and with MakeHuman 1.1.x, substantial progress has been made by providing weighted skeletons suited for standard use in various downstream applications. For the most part, the name of the most appropriate rig will be clearly associated with the target downstream application, but the tag filters on the Pose/Animate | skeleton tab are intended to help choose a rig suited more generally to a specific purpose like motion capture integration, facial animation, or gaming applications. MakeHuman is designed to provide the user with maximum flexibility at creation time. To provide skeletons that work perfectly with every conceivable variation of the sliders is a laudable but impractical goal. The user should get very fine results with the current approach, but should not be surprised to have to make some minor tweaks to skeletons and weights downstream, particularly with extreme character dimensions or extreme poses.
==Moving Assets into Autodesk Maya==
==Moving Assets into Autodesk 3DSMax==
==Moving Assets into Blender==
==Moving Assets into Unreal Engine 4==
==Moving Assets into Unity Game Engine==
==Moving Assets into Google Sketchup==
==Preparing assets for use with Second Life==
713cd5eaf4c86c5973d879ff69f64cdffc3066a5
150
148
2015-07-25T06:31:04Z
Robbaer
12
wikitext
text/x-wiki
== Summary ==
More often than not MakeHuman users will want to move their creation into another program to continue the creation process. This section provides information on how to achieve this for common target programs. The Background and Export Example section provides some background that are common to all workflows. It is not essential to read the introduction before going straight to the program of interest, but doing so might help you understand ''why'' certain steps work or are necessary. In many cases there can be more than one way to accomplish the same thing. The method described here may not be optimal for your situation, but it should help get you started.
==Background and Export Example==
'''Introduction'''
Many MakeHuman users will use the work they create in MakeHuman as a component of a project completed in an external, downstream application. The most common target applications are 3D graphics applications like Blender, Autodesk 3DSMax, and Autodesk Maya or gaming engines like Unity Engine or Unreal Engine 4. In some cases, the MakeHuman user will be interested in moving just the mesh. In other cases, the user will be interested in moving a complete, posed, skeletonized character to the downstream application. The purpose of this document is to discuss the basic process of moving a finished MakeHuman asset to a downstream program and producing a reasonable facsimile of its MakeHuman appearance in the downstream application. It is important to recognize that because each application has its own way of representing 3D assets, and because each export format has its own set of idiosyncrasies, there will be adjustments and approximations in the asset transfer process.
'''Format Considerations'''
In an effort to provide the broadest latitude for user workflows, the MakeHuman development team is directing it major export support toward Autodesk FBX format and Khronos Collada format. In addition, Blender users have the option to install the independently developed .mhx2 tools, which are developed and maintained by Thomas Larson, independent of MakeHuman itself. Collada is a text-based format and is an open standard, but implementation of the standard is not as consistent as might be hoped. FBX is a proprietary standard developed by Autodesk and supported through a software development kit (FBX SDK) written in C++ and a Python FBX scripting template. The FBX standard is periodically updated by Autodesk and can be saved as either an ASCII or a binary format. Downstream programs may make assumptions about the FBX version being imported, and may limit users to either binary or ASCII importing. Surprisingly, CG assets exported from various programs as collada and FBX do not make it back into the same program as a round-trip without changes to some components of the scene. For example, this is true of FBX format in both 3DSMax and Maya for MakeHumanassets. It is also true for Blender with both FBX and collada format for MakeHumanassets. In this document, we will attempt to provide some support for dealing with this type of surprise.
'''MakeHuman Shader and Asset Rendering'''
A “shader” is computer code that translates digital information into a properly rendered image on the computer screen. Different algorithms use different methods of constructing such a display. By default in MakeHuman, the viewport lighting is handled by the built-in light-sphere shader. The light-sphere shader takes advantage of support for the openGL standard provided by today’s graphics cards. What the viewer sees on the screen depends not only on the color of assets, like skin and clothing, but also on the nature of the lights illuminating the scene and causing reflections and shadows. Most downstream programs use other shader strategies, the most common of which include Phong shaders, Blinn shaders, or Lambert shaders. Because the code and conceptual design of these shaders differs from that of the MakeHuman light-sphere shader, the user should be prepared to make some adjustments in the downstream program to get the final desired effect. Some MakeHuman assets also include Normal maps which the user will want to integrate into the downstream applications rendering.
==Moving Assets into Autodesk Maya==
==Moving Assets into Autodesk 3DSMax==
==Moving Assets into Blender==
==Moving Assets into Unreal Engine 4==
==Moving Assets into Unity Game Engine==
==Moving Assets into Google Sketchup==
==Preparing assets for use with Second Life==
ad88840f89d579a19271003b0e3d2aef13334328
148
147
2015-07-25T06:16:30Z
Robbaer
12
/* Background and Export Example */
wikitext
text/x-wiki
== Summary ==
More often than not MakeHuman users will want to move their creation into another program to continue the creation process. This section provides information on how to achieve this for common target programs. The Background and Export Example section provides some background that are common to all workflows. It is not essential to read the introduction before going straight to the program of interest, but doing so might help you understand ''why'' certain steps work or are necessary. In many cases there can be more than one way to accomplish the same thing. The method described here may not be optimal for your situation, but it should help get you started.
==Background and Export Example==
'''Introduction'''
Many MakeHuman users will use the work they create in MakeHuman as a component of a project completed in an external, downstream application. The most common target applications are 3D graphics applications like Blender, Autodesk 3DSMax, and Autodesk Maya or gaming engines like Unity Engine or Unreal Engine 4. In some cases, the MakeHuman user will be interested in moving just the mesh. In other cases, the user will be interested in moving a complete, posed, skeletonized character to the downstream application. The purpose of this document is to discuss the basic process of moving a finished MakeHuman asset to a downstream program and producing a reasonable facsimile of its MakeHuman appearance in the downstream application. It is important to recognize that because each application has its own way of representing 3D assets, and because each export format has its own set of idiosyncrasies, there will be adjustments and approximations in the asset transfer process.
'''Format Considerations.'''
In an effort to provide the broadest latitude for user workflows, the MakeHuman development team is directing it major export support toward Autodesk FBX format and Khronos Collada format. In addition, Blender users have the option to install the independently developed .mhx2 tools, which are developed and maintained by Thomas Larson, independent of MakeHuman itself. Collada is a text-based format and is an open standard, but implementation of the standard is not as consistent as might be hoped. FBX is a proprietary standard developed by Autodesk and supported through a software development kit (FBX SDK) written in C++ and a Python FBX scripting template. The FBX standard is periodically updated by Autodesk and can be saved as either an ASCII or a binary format. Downstream programs may make assumptions about the FBX version being imported, and may limit users to either binary or ASCII importing. Surprisingly, CG assets exported from various programs as collada and FBX do not make it back into the same program as a round-trip without changes to some components of the scene. For example, this is true of FBX format in both 3DSMax and Maya for MakeHumanassets. It is also true for Blender with both FBX and collada format for MakeHumanassets. In this document, we will attempt to provide some support for dealing with this type of surprise.
'''MakeHuman Shader and Asset Rendering.'''
A “shader” is computer code that translates digital information into a properly rendered image on the computer screen. Different algorithms use different methods of constructing such a display. The MakeHuman viewport uses, by default, a so-called “light-sphere shader” to display the human and assets during the on-screen modeling process. In doing so, it takes advantage of support for the openGL standard provided by today’s graphics cards. What the viewer sees on the screen depends not only on the color of assets, like skin and clothing, but also on the nature of the lights illuminating the scene and causing reflections and shadows. In MakeHuman, the viewport the lighting is handled by the built-in lightsphere shader. Most downstream programs use other shader strategies, the most simple of which are Phong shaders, Blinn shaders, or Lambert shaders. Because the code and conceptual design of these shaders differs from that of the MakeHuman light-sphere shader, the user should be prepared to make adjustments in the downstream program to get the final desired effect. Some MakeHumanassets also include Normal maps which the user will want to integrate into the downstream applications rendering.
==Moving Assets into Autodesk Maya==
==Moving Assets into Autodesk 3DSMax==
==Moving Assets into Blender==
==Moving Assets into Unreal Engine 4==
==Moving Assets into Unity Game Engine==
==Moving Assets into Google Sketchup==
==Preparing assets for use with Second Life==
42a8a40a833bcda2b7e1f82b2b9f63e0ef6b2bfe
147
146
2015-07-25T06:11:13Z
Robbaer
12
wikitext
text/x-wiki
== Summary ==
More often than not MakeHuman users will want to move their creation into another program to continue the creation process. This section provides information on how to achieve this for common target programs. The Background and Export Example section provides some background that are common to all workflows. It is not essential to read the introduction before going straight to the program of interest, but doing so might help you understand ''why'' certain steps work or are necessary. In many cases there can be more than one way to accomplish the same thing. The method described here may not be optimal for your situation, but it should help get you started.
==Background and Export Example==
==Moving Assets into Autodesk Maya==
==Moving Assets into Autodesk 3DSMax==
==Moving Assets into Blender==
==Moving Assets into Unreal Engine 4==
==Moving Assets into Unity Game Engine==
==Moving Assets into Google Sketchup==
==Preparing assets for use with Second Life==
73b46be2b56ab151cb9a4f865a594de86e6034a5
146
145
2015-07-25T06:08:30Z
Robbaer
12
wikitext
text/x-wiki
== Summary ==
More often than not MakeHuman users will want to move their creation into another program to continue the creation process. This section provides information on how to achieve this for common target programs. The Background and theory section provides some background that are common to all workflows. It is not essential to read the introduction before going straight to the program of interest, but doing so might help you understand ''why'' certain steps work or are necessary. In many cases there can be more than one way to accomplish the same thing. The method described here may not be optimal for your situation, but it should help get you started.
==Background and Theory==
==Moving Assets into Autodesk Maya==
==Moving Assets into Autodesk 3DSMax==
==Moving Assets into Blender==
==Moving Assets into Unreal Engine 4==
==Moving Assets into Unity Game Engine==
==Moving Assets into Google Sketchup==
==Preparing assets for use with Second Life==
ff3d301535a3410bc15f61e3c98f699c718c8322
145
144
2015-07-25T06:05:01Z
Robbaer
12
/* Summary */
wikitext
text/x-wiki
== Summary ==
More often than not MakeHuman users will want to move their creation into another program to continue the creation process. This section provides information on how to achieve this for common target programs. The introduction section provides some background that are common to all workflows. It is not essential to read the introduction before going straight to the program of interest, but doing so might help you understand ''why'' certain steps work or are necessary. In many cases there can be more than one way to accomplish the same thing. The method described here may not be optimal for your situation, but it should help get you started.
==Moving Assets into Autodesk Maya==
==Moving Assets into Autodesk 3DSMax==
==Moving Assets into Blender==
==Moving Assets into Unreal Engine 4==
==Moving Assets into Unity Game Engine==
==Moving Assets into Google Sketchup==
==Preparing assets for use with Second Life==
759e845ffddf77195fbd2265dd6943f2d17abb6f
144
65
2015-07-25T00:56:15Z
Robbaer
12
/* Introduction */
wikitext
text/x-wiki
== Summary ==
More often than not MakeHuman users will want to move their creation into another program to continue the creation process. This section provides information on how to achieve this for common target programs. The introduction section provides some background that are common to all workflows. It is not essential to read the introduction before going straight to the program of interest, but doing so might help you understand ''why'' certain steps work or are necessary. In many cases there can be more than one way to accomplish the same thing. The method described here may not be optimal for your situation, but it should help get you started.
'''Introduction.''' Many MakeHuman users will use the work they create in MakeHuman as a component of a project completed in an external, downstream application. The most common target applications are 3D graphics applications like Blender, Autodesk 3DSMax, and Autodesk Maya or gaming engines like Unity Engine or Unreal Engine 4. In some cases, the MakeHuman user will be interested in moving just the mesh. In other cases, the user will be interested in moving a complete, posed, skeletonized character to the downstream application. The purpose of this document is to discuss the basic process of moving a finished MakeHuman asset to a downstream program and producing a reasonable facsimile of its MakeHuman appearance in the downstream application. It is important to recognize that because each application has its own way of representing 3D assets, and because each export format has its own set of idiosyncrasies, there will be adjustments and approximations in the asset transfer process.
'''Format Considerations.''' In an effort to provide the broadest latitude for user workflows, the MakeHuman development team is directing it major export support toward Autodesk FBX format and Khronos Collada format. In addition, Blender users have the option to install the independently developed .mhx2 tools, which are developed and maintained by Thomas Larson, independent of MakeHuman itself. Collada is a text-based format and is an open standard, but implementation of the standard is not as consistent as might be hoped. FBX is a proprietary standard developed by Autodesk and supported through a software development kit (FBX SDK) written in C++ and a Python FBX scripting template. The FBX standard is periodically updated by Autodesk and can be saved as either an ASCII or a binary format. Downstream programs may make assumptions about the FBX version being imported, and may limit users to either binary or ASCII importing. Surprisingly, CG assets exported from various programs as collada and FBX do not make it back into the same program as a round-trip without changes to some components of the scene. For example, this is true of FBX format in both 3DSMax and Maya for MakeHumanassets. It is also true for Blender with both FBX and collada format for MakeHumanassets. In this document, we will attempt to provide some support for dealing with this type of surprise.
MakeHuman Shader and Asset Rendering. A “shader” is computer code that translates digital information into a properly rendered image on the computer screen. Different algorithms use different methods of constructing such a display. The MakeHuman viewport uses, by default, a so-called “light-sphere shader” to display the human and assets during the on-screen modeling process. In doing so, it takes advantage of support for the openGL standard provided by today’s graphics cards. What the viewer sees on the screen depends not only on the color of assets, like skin and clothing, but also on the nature of the lights illuminating the scene and causing reflections and shadows. In MakeHuman, viewport the lighting is handled by the built-in lightsphere shader. Most downstream programs use other shader strategies, the most simple of which are Phong shaders, Blinn shaders, or Lambert shaders. Because the code and conceptual design of these shaders differs from that of the MakeHuman light-sphere shader, the user should be prepared to make adjustments in the downstream program to get the final desired effect. Some MakeHuman™assets also include Normal maps which the user will want to integrate into the downstream applications rendering.
When a MakeHuman™material (for example, skin or clothing or eyelashes) is exported, it carries with it a limited amount of fundamental information for by the downstream program’s shaders. In an ideal world, the downstream program would import this raw information, correctly populate the variables in its shaders, and yield the same view of the human that was exported from MakeHuman™. At present this does not typically happen, and the user must make some adjustments.
==Moving Assets into Autodesk Maya==
==Moving Assets into Autodesk 3DSMax==
==Moving Assets into Blender==
==Moving Assets into Unreal Engine 4==
==Moving Assets into Unity Game Engine==
==Moving Assets into Google Sketchup==
==Preparing assets for use with Second Life==
77da4f3b33709695d869f35d1f2581397babb83b
65
60
2015-07-04T17:12:59Z
Robbaer
12
wikitext
text/x-wiki
== Summary ==
More often than not MakeHuman users will want to move their creation into another program to continue the creation process. This section provides information on how to achieve this for common target programs. The introduction section provides some background that are common to all workflows. It is not essential to read the introduction before going straight to the program of interest, but doing so might help you understand ''why'' certain steps work or are necessary. In many cases there can be more than one way to accomplish the same thing. The method described here may not be optimal for your situation, but it should help get you started.
== Introduction ==
==Moving Assets into Autodesk Maya==
==Moving Assets into Autodesk 3DSMax==
==Moving Assets into Blender==
==Moving Assets into Unreal Engine 4==
==Moving Assets into Unity Game Engine==
==Moving Assets into Google Sketchup==
==Preparing assets for use with Second Life==
a641e2d856a6bbaa4513fa3970bf535d090814b0
60
59
2015-07-04T16:38:17Z
Robbaer
12
Changed protection level for "[[MakeHuman Workflows]]": Page still under base content development by MH Devs ([Move=Allow only administrators] (indefinite))
wikitext
text/x-wiki
== Summary ==
More often than not MakeHuman users will want to move their creation into another program to continue the creation process. This section provides information on how to achieve this for common target programs. The introduction section provides some background that are common to all workflows. It is not essential to read the introduction before going straight to the program of interest, but doing so might help you understand ''why'' certain steps work or are necessary. In many cases there can be more than one way to accomplish the same thing. The method described here may not be optimal for your situation, but it should help get you started.
== Introduction ==
==Moving Assets into Autodesk Maya==
==Moving Assets into Autodesk 3DSMax==
==Moving Assets into Blender==
==Moving Assets into Unreal Engine 4==
==Moving Assets into Unity Game Engine==
==Moving Assets into Google Sketchup==
52002a7dfe53255f1a672b59a34bb6a9f57ea97e
59
58
2015-07-04T16:35:30Z
Robbaer
12
Protected "[[MakeHuman Workflows]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))
wikitext
text/x-wiki
== Summary ==
More often than not MakeHuman users will want to move their creation into another program to continue the creation process. This section provides information on how to achieve this for common target programs. The introduction section provides some background that are common to all workflows. It is not essential to read the introduction before going straight to the program of interest, but doing so might help you understand ''why'' certain steps work or are necessary. In many cases there can be more than one way to accomplish the same thing. The method described here may not be optimal for your situation, but it should help get you started.
== Introduction ==
==Moving Assets into Autodesk Maya==
==Moving Assets into Autodesk 3DSMax==
==Moving Assets into Blender==
==Moving Assets into Unreal Engine 4==
==Moving Assets into Unity Game Engine==
==Moving Assets into Google Sketchup==
52002a7dfe53255f1a672b59a34bb6a9f57ea97e
58
57
2015-07-04T16:26:55Z
Robbaer
12
wikitext
text/x-wiki
== Summary ==
More often than not MakeHuman users will want to move their creation into another program to continue the creation process. This section provides information on how to achieve this for common target programs. The introduction section provides some background that are common to all workflows. It is not essential to read the introduction before going straight to the program of interest, but doing so might help you understand ''why'' certain steps work or are necessary. In many cases there can be more than one way to accomplish the same thing. The method described here may not be optimal for your situation, but it should help get you started.
== Introduction ==
==Moving Assets into Autodesk Maya==
==Moving Assets into Autodesk 3DSMax==
==Moving Assets into Blender==
==Moving Assets into Unreal Engine 4==
==Moving Assets into Unity Game Engine==
==Moving Assets into Google Sketchup==
52002a7dfe53255f1a672b59a34bb6a9f57ea97e
57
56
2015-07-04T16:23:06Z
Robbaer
12
wikitext
text/x-wiki
== Summary ==
More often than not MakeHuman users will want to move their creation into another program to continue the creation process. This section provides information on how to achieve this for common target programs. The introduction section provides some background that are common to all workflows. It is not essential to read the introduction before going straight to the program of interest, but doing so might help you understand ''why'' certain steps work or are necessary. In many cases there can be more than one way to accomplish the same thing. The method described here may not be optimal for your situation, but it should help get you started.
== Introduction ==
==Moving Assets into Autodesk Maya==
==Moving Assets into Autodesk 3DSMax==
3accb00f6b8927ea45cbf90e3f61366cbc85f41d
56
55
2015-07-04T16:21:41Z
Robbaer
12
/* Summary */
wikitext
text/x-wiki
== Summary ==
More often than not MakeHuman users will want to move their creation into another program to continue the creation process. This section provides information on how to achieve this for common target programs. The introduction section provides some background that are common to all workflows. It is not essential to read the introduction before going straight to the program of interest, but doing so might help you understand ''why'' certain steps work or are necessary. In many cases there can be more than one way to accomplish the same thing. The method described here may not be optimal for your situation, but it should help get you started.
== Introduction ==
6a0004a02ab680ac8a90a1acc167d9f351a19886
55
54
2015-07-04T16:07:58Z
Robbaer
12
/* Summary */
wikitext
text/x-wiki
== Summary ==
More often than not MakeHuman users will want to move their creation into another program to continue the creation process. This section provides information on how to achieve this for common target programs. The introduction section provides some background that are common to all workflows. It is not essential to read the introduction before going straight to the program of interest, but doing so might help you understand ''why'' certain steps work or are necessary. In many cases there can be more than one way to accomplish the same thing. The method described here may not be optimal for your situation, but it should help get you started.
4e699784a45390136371ca316156ad6a2f62b00c
54
2015-07-04T16:02:13Z
Robbaer
12
Created page with " == Summary == More often than not MakeHuman users will want to move their creation into another program to continue the creation process. This section provides information..."
wikitext
text/x-wiki
== Summary ==
More often than not MakeHuman users will want to move their creation into another program to continue the creation process. This section provides information on how to achieve this for common target programs. The introduction provides some background that are common to all workflows. In many cases there can be more than one way to accomplish the same thing. The method described here may not be optimal for your situation, but it should help get you started.
42ac856504992bdcda24b4d5a7bc77f7fb14576f
MakeHuman resources
0
11
1452
1437
2018-05-04T18:07:28Z
Wolgade
26
wikitext
text/x-wiki
These are some central pages related to MakeHuman:
== Getting MakeHuman ==
The main page for downloads is located at http://www.makehumancommunity.org/content/downloads.html
For ubuntu users there are PPAs at https://launchpad.net/~makehuman-official
== Source code ==
The MakeHuman source code repository is at https://bitbucket.org/MakeHuman/makehuman
== Bug tracker ==
The bugtracker for makehuman is at http://bugtracker.makehumancommunity.org
== More assets ==
You can find more assets, such as clothes and skins etc in the [http://www.makehumancommunity.org/content/user_contributed_assets.html user contributed assets] repository.
== Getting help, posting suggestions, general discussion ==
Discussions, user feedback and questions should generally be put in the forum: http://www.makehumancommunity.org/forum
== Community plugins ==
Overview of additional plugins: https://github.com/makehumancommunity
== News / updates ==
On the front page of [http://www.makehumancommunity.org/forum the community site], you can find news and blog posts.
There is a facebook page at https://www.facebook.com/makehuman. Important news will be cross-posted here. Please do not use this for asking questions. If you have questions, ask them on the forums.
8e0149f03fd8fb1bfff8d4f85c0b411853255494
1437
750
2017-09-26T17:50:43Z
Blindsaypatten
47
changed the main page for downloads from makehuman.org to makehumancommunity.org
wikitext
text/x-wiki
These are some central pages related to MakeHuman:
== Getting MakeHuman ==
The main page for downloads is located at http://www.makehumancommunity.org/content/downloads.html
For ubuntu users there are PPAs at https://launchpad.net/~makehuman-official
== Source code ==
The MakeHuman source code repository is at https://bitbucket.org/MakeHuman/makehuman
== Bug tracker ==
The bugtracker for makehuman is at http://bugtracker.makehumancommunity.org
== More assets ==
You can find more assets, such as clothes and skins etc in the [http://www.makehumancommunity.org/content/user_contributed_assets.html user contributed assets] repository.
== Getting help, posting suggestions, general discussion ==
Discussions, user feedback and questions should generally be put in the forum: http://www.makehumancommunity.org/forum
== News / updates ==
On the front page of [http://www.makehumancommunity.org/forum the community site], you can find news and blog posts.
There is a facebook page at https://www.facebook.com/makehuman. Important news will be cross-posted here. Please do not use this for asking questions. If you have questions, ask them on the forums.
93f28c89bdbf74aac4f442bd7e7315333fa90e01
750
749
2016-05-20T13:22:22Z
Joepal
14
wikitext
text/x-wiki
These are some central pages related to MakeHuman:
== Getting MakeHuman ==
The main page for downloads is located at http://www.makehuman.org/content/download.html
For ubuntu users there are PPAs at https://launchpad.net/~makehuman-official
== Source code ==
The MakeHuman source code repository is at https://bitbucket.org/MakeHuman/makehuman
== Bug tracker ==
The bugtracker for makehuman is at http://bugtracker.makehumancommunity.org
== More assets ==
You can find more assets, such as clothes and skins etc in the [http://www.makehumancommunity.org/content/user_contributed_assets.html user contributed assets] repository.
== Getting help, posting suggestions, general discussion ==
Discussions, user feedback and questions should generally be put in the forum: http://www.makehumancommunity.org/forum
== News / updates ==
On the front page of [http://www.makehumancommunity.org/forum the community site], you can find news and blog posts.
There is a facebook page at https://www.facebook.com/makehuman. Important news will be cross-posted here. Please do not use this for asking questions. If you have questions, ask them on the forums.
0925f1196d909058b63e56b4f3d363f149d01d1a
749
748
2016-05-20T13:22:09Z
Joepal
14
wikitext
text/x-wiki
These are some central pages related to MakeHuman:
== Getting MakeHuman ==
The main page for downloads is located at http://www.makehuman.org/content/download.html
For ubuntu users there are PPAs at https://launchpad.net/~makehuman-official
== Source code ==
The MakeHuman source code repository is at https://bitbucket.org/MakeHuman/makehuman
== Bug tracker ==
The bugtracker for makehuman is at http://bugtracker.makehumancommunity.org
== More assets ==
You can find more assets, such as clothes and skins etc in the [[http://www.makehumancommunity.org/content/user_contributed_assets.html user contributed assets]] repository.
== Getting help, posting suggestions, general discussion ==
Discussions, user feedback and questions should generally be put in the forum: http://www.makehumancommunity.org/forum
== News / updates ==
On the front page of [http://www.makehumancommunity.org/forum the community site], you can find news and blog posts.
There is a facebook page at https://www.facebook.com/makehuman. Important news will be cross-posted here. Please do not use this for asking questions. If you have questions, ask them on the forums.
ac8e44ef2c42185677d23ce93c73733b1adcb167
748
49
2016-05-20T13:21:28Z
Joepal
14
wikitext
text/x-wiki
These are some central pages related to MakeHuman:
== Getting MakeHuman ==
The main page for downloads is located at http://www.makehuman.org/content/download.html
For ubuntu users there are PPAs at https://launchpad.net/~makehuman-official
== Source code ==
The MakeHuman source code repository is at https://bitbucket.org/MakeHuman/makehuman
== Bug tracker ==
The bugtracker for makehuman is at http://bugtracker.makehumancommunity.org
== More assets ==
You can for more assets, such as clothes and skins etc in the [[http://www.makehumancommunity.org/content/user_contributed_assets.html user contributed assets]] repository.
== Getting help, posting suggestions, general discussion ==
Discussions, user feedback and questions should generally be put in the forum: http://www.makehumancommunity.org/forum
== News / updates ==
On the front page of [http://www.makehumancommunity.org/forum the community site], you can find news and blog posts.
There is a facebook page at https://www.facebook.com/makehuman. Important news will be cross-posted here. Please do not use this for asking questions. If you have questions, ask them on the forums.
153ce3c8fe59131a903eb5b2901270c9ad983696
49
2015-07-04T11:21:16Z
Joepal2
11
Created page with "These are some central pages related to MakeHuman: == Getting MakeHuman == The main page for downloads is located at http://www.makehuman.org/content/download.html For ubun..."
wikitext
text/x-wiki
These are some central pages related to MakeHuman:
== Getting MakeHuman ==
The main page for downloads is located at http://www.makehuman.org/content/download.html
For ubuntu users there are PPAs at https://launchpad.net/~makehuman-official
== Source code ==
The MakeHuman source code repository is at https://bitbucket.org/MakeHuman/makehuman
== Bug tracker ==
The bugtracker for makehuman is at http://bugtracker.makehumancommunity.org
== Community, blog, updates and similar ==
Discussions, user feedback and questions should generally be put in the forum: http://www.makehumancommunity.org/forum
There is also a facebook page at https://www.facebook.com/makehuman
8a0953eecf0f37b3fb8c19fc3522b6f27dd19997
Moving Assets into Autodesk 3DSMax
0
99
320
319
2015-07-28T21:14:42Z
Robbaer
12
/* Restoring Transparency for the Eyes */
wikitext
text/x-wiki
== Units Considerations ==
We will use the file created in the “Illustrating the export/import process” section to illustrate how to get your MakeHuman ready for use in Autodesk 3DSMax. During export the FBX exporter was set to ASCII and the scale was set to inches.
Autodesk 3DSMax has two types of units: “system units” and “display units”. By default, Autodesk uses inches as its “system units”. It is essential that 3DSMax “system units” be set to their FINAL value BEFORE importing any asset. Once set, do not change them again for that scene. If a 1 cubic foot cube object is imported, and then the system units are changed from inches to meters, the cube will become 1 cubic meter in volume.
The use of imperial inches as system units can complicate the process of FBX export/import, but if you export from MakeHuman using inches and import into 3DSMax using “automatic settings”, things should work well. <font color='red'>[edit RWB: this needs rechecking after finalizing MH unit handing for FBX].</font> This is the straight forward approach for architectural work in the U.S. where imperial units are common. The Autodesk web site discourages changing the system units of 3DSMax from default, but makes an explicit exception when importing assets from sources constructed using metric dimensions [http://knowledge.autodesk.com/support/3ds-max/learn-explore/caas/CloudHelp/cloudhelp/2015/ENU/3DSMax/files/GUID-7ECD378E-5A3F-4722-B32B-8A0EB581824A-htm.html][http://knowledge.autodesk.com/support/3ds-max/learn-explore/caas/CloudHelp/cloudhelp/2015/ENU/3DSMax/files/GUID-DFE074D9-FF5E-4AAC-B3F8-AB53ADCDC124-htm.html].
If you are importing many metric objects into 3DSMax from other programs, it may make sense to change your “system units” to either centimeters or meters, and export your MakeHuman character in FBX format with the corresponding units. System units and Display units in Autodesk 3DSMax can be accessed from the Customize | Customization | Unit Setup menu:
[[File:ImpExp23.png]]
<center>'''Figure 1'''</center>
In the Units setup dialog choose “System Units”, and in the System Unit Setup dialog choose your desired units. Notice that in the figure below that although the “system units” are set to the default units of inches (right dialog), the display units are set to meters (radio button next to metric in left dialog). Imported assets are scaled into system units. System units are then converted to display units for the purposes of the 3DSMax ruler display, but remain stored internally in original system units.
[[File:ImpExp25.png]]
<center>'''Figure 2'''</center>
With this understanding of how to control the 3DSMax side of things, let’s import our MakeHuman character. We will leave 3DSMax set to inches, and export our MakeHuman FBX file using inches as units as well.
== Importing FBX into 3DSMax ==
From the 3DSMax application menu choose Import |Import, and navigate to FBX file you exported from MakeHuman using inches.
[[File:ImpExp26.png]]
<center>'''Figure 3'''</center>
By default, the exported file will be found in ~/makehuman/v1/exports/SomeName.fbx (where ~ is the user home directory). The textures for the exported file will be found in a subfolder called textures of the folder where the .fbx file is stored. 3DSMax can import either ASCII or binary FBX files, so either type of export can be used for MakeHuman export. <font color='red'>[RWB Note: as of this writing there are still some issues with direct FBX binary export, but those are expected to be repaired going forward].</font> When the file is initially imported into 3DSMax it looks like this:
[[File:ImpExp27.png]]
<center>'''Figure 4'''</center>
Click on the word [wireframe] in the top left of a viewport and choose realistic (or hardware in older versions) to see the material displayed with maps. The shortcut key is SHIFT-F3.
[[File:ImpExp37.png]]
<center>'''Figure 5'''</center>
To maximize the front viewport, left click on the front vieport to make it active and type ALT-W. Use the scroll wheel and middle mouse drag to zoom in on the face.
[[File:ImpExp38.png]]
<center>'''Figure 6'''</center>
Finally, it is helpful to hide the rig of the MakeHuman skeleton. In the panel on the right, select the Display icon and click on the put a check "helpers" in the "Hide by Category" panel.
[[File:ImpExp39.png]]
<center>'''Figure 7'''</center>
== Restoring Transparency for the Eyes ==
You should now have a relatively unobstructed view of the imported MakeHuman character. You will notice upon zooming in that there are significant issues with the transparency for eyes, eyelashes, eyebrows, and hair. We will illustrate the steps for the eyes. They can be repeated for the other 3 assets that use transparent materials.
Here are the steps to fix the eyes:
1. Left-click the eyes to select them.
[[File:ImpExp40.png]]
<center>'''Figure 8'''</center>
2. From the menus select, Materials | Create/Edit Materials | Edit selected Object’s Material. The Slate Material Editor will open with the [high poly] eyes node selected. [Note: If the compact material editor opens instead, use the Mode menu to go to the Slate Material Editor.] Click on the slate editor window to make it active. Spin the scroll wheel toward you until you see the texture map (Blue_eye_png in this case) attached to the Diffuse node on the eye material. Shift-middle mouse drag may help you center this pair in your viewport.
[[File:ImpExp34.png]]
<center>'''Figure 9'''</center>
3. Drag the output connector of Blue_eye_png bitmap to make a second connection with the opacity input node of the high poly obj node (standard).
[[File:ImpExp35.png]]
<center>'''Figure 10'''</center>
4. Now double left-click on the Blue_eye_png bitmap node to reveal the transparency settings for the eye transparency settings for the eye texture map. Of course, if you used a different eye texture, the name of your texture map will differ, and you should double click on the corresponding texture bitmap.
[[File:ImpExp41.png]]
<center>'''Figure 11'''</center>
5. Under bitmap parameters (right panel) set Mono Channel Output to alpha, set Alpha Source to Image Alpha, and confirm that RGB Channel Output is set to RGB.
[[File:ImpExp42.png]]
<center>'''Figure 12'''</center>
The eyes should now appear as the natural color with which they were exported from MakeHuman.
[[File:ImpExp43.png]]
<center>'''Figure 13'''</center>
== Fixing Transparency on the Other Assets ==
To fix the eyebrows, eyelashes, and hair, repeat steps 1 - 5 as described for the eyes with each other asset with that asset selected in turn. After completing the eyebrows, out model looks like this:
[[File:ImpExp44.png]]
<center>'''Figure 14'''</center>
After completing the eyebrows and the eyelashes, our model looks like this:
[[File:ImpExp45.png]]
<center>'''Figure 15'''</center>
After completing everything, our model looks very similar to the look it had upon export from MakeHuman.
[[File:ImpExp46.png]]
<center>'''Figure 16'''</center>
== Repairing an Imported MakeHuman FBX file that was previously Exported after Fixing ==
At this point if you save the file using Autodesk 3DSMAX native.max format, it can be read in again with no additional correction necessary. However, if you export the file as in FBX format and then read the file back into a new session it will have semi-transparent hair and now eyelashes or eyebrows. You may have a similar experience if you export the file as FBX from another program such as Maya. What has happened is that the "mono channel output" setting has changed from alpha to RGB. The face looks like this after importing:
[[File:ImpExp47.png]]
<center>'''Figure 17'''</center>
Fixing this problem is relatively straight forward, although it seems that sometimes the slate material editor needs resetting to properly show what has happened to the "Mono channel output" setting. The steps to repair this problem should be done for the eyes, eyebrows, eyelashes, and hair, each in turn. The 3 steps are as follows:
1. Left-click to select the eyes. Start the slate material editor by either using the menu '''Materials | Create/Edit Materials | Edit Selected Object's Material''', as before, or by simply clicking on material editor icon on the right of the icon bar.
[[File:ImpExp48.png]]
<center>'''Figure 18'''</center>
2. Sometimes it is useful to refresh the slate material editor by selecting all from the select menu (or shortcut CTRL-A) and then refreshing using '''Edit | Auto update selected Previews''' (or shortcut CTRL-U). This seems to make the status of the Mono Channel Output appear accurately in step 3.
3. Double click the blue_eye.png bitmap node (or the corresponding eye texture for you MakeHuman asset). Left click to check the "alpha" setting under Mono Channel Output.
[[File:ImpExp49.png]]
<center>'''Figure 19'''</center>
Upon completing steps 1-3 for the eyes, the face will appear like this:
[[File:ImpExp50a.png]]
<center>'''Figure 20'''</center>
Repeat the steps above to restore the Mono Channel Output setting to alpha for the eyebrows, the eyelashes, and the hair. You MakeHuman character should now again look essentially like the original that was in MakeHuman.
[[File:ImpExp50b.png]]
<center>'''Figure 21'''</center>
== Importing MakeHuman Skeletons into 3DSMAX ==
TO BE WRITTEN
f0ec89eca837c197c14af757feb279c02c371d7f
319
318
2015-07-28T20:53:16Z
Robbaer
12
/* Fixing Transparency on the Other Assets */
wikitext
text/x-wiki
== Units Considerations ==
We will use the file created in the “Illustrating the export/import process” section to illustrate how to get your MakeHuman ready for use in Autodesk 3DSMax. During export the FBX exporter was set to ASCII and the scale was set to inches.
Autodesk 3DSMax has two types of units: “system units” and “display units”. By default, Autodesk uses inches as its “system units”. It is essential that 3DSMax “system units” be set to their FINAL value BEFORE importing any asset. Once set, do not change them again for that scene. If a 1 cubic foot cube object is imported, and then the system units are changed from inches to meters, the cube will become 1 cubic meter in volume.
The use of imperial inches as system units can complicate the process of FBX export/import, but if you export from MakeHuman using inches and import into 3DSMax using “automatic settings”, things should work well. <font color='red'>[edit RWB: this needs rechecking after finalizing MH unit handing for FBX].</font> This is the straight forward approach for architectural work in the U.S. where imperial units are common. The Autodesk web site discourages changing the system units of 3DSMax from default, but makes an explicit exception when importing assets from sources constructed using metric dimensions [http://knowledge.autodesk.com/support/3ds-max/learn-explore/caas/CloudHelp/cloudhelp/2015/ENU/3DSMax/files/GUID-7ECD378E-5A3F-4722-B32B-8A0EB581824A-htm.html][http://knowledge.autodesk.com/support/3ds-max/learn-explore/caas/CloudHelp/cloudhelp/2015/ENU/3DSMax/files/GUID-DFE074D9-FF5E-4AAC-B3F8-AB53ADCDC124-htm.html].
If you are importing many metric objects into 3DSMax from other programs, it may make sense to change your “system units” to either centimeters or meters, and export your MakeHuman character in FBX format with the corresponding units. System units and Display units in Autodesk 3DSMax can be accessed from the Customize | Customization | Unit Setup menu:
[[File:ImpExp23.png]]
<center>'''Figure 1'''</center>
In the Units setup dialog choose “System Units”, and in the System Unit Setup dialog choose your desired units. Notice that in the figure below that although the “system units” are set to the default units of inches (right dialog), the display units are set to meters (radio button next to metric in left dialog). Imported assets are scaled into system units. System units are then converted to display units for the purposes of the 3DSMax ruler display, but remain stored internally in original system units.
[[File:ImpExp25.png]]
<center>'''Figure 2'''</center>
With this understanding of how to control the 3DSMax side of things, let’s import our MakeHuman character. We will leave 3DSMax set to inches, and export our MakeHuman FBX file using inches as units as well.
== Importing FBX into 3DSMax ==
From the 3DSMax application menu choose Import |Import, and navigate to FBX file you exported from MakeHuman using inches.
[[File:ImpExp26.png]]
<center>'''Figure 3'''</center>
By default, the exported file will be found in ~/makehuman/v1/exports/SomeName.fbx (where ~ is the user home directory). The textures for the exported file will be found in a subfolder called textures of the folder where the .fbx file is stored. 3DSMax can import either ASCII or binary FBX files, so either type of export can be used for MakeHuman export. <font color='red'>[RWB Note: as of this writing there are still some issues with direct FBX binary export, but those are expected to be repaired going forward].</font> When the file is initially imported into 3DSMax it looks like this:
[[File:ImpExp27.png]]
<center>'''Figure 4'''</center>
Click on the word [wireframe] in the top left of a viewport and choose realistic (or hardware in older versions) to see the material displayed with maps. The shortcut key is SHIFT-F3.
[[File:ImpExp37.png]]
<center>'''Figure 5'''</center>
To maximize the front viewport, left click on the front vieport to make it active and type ALT-W. Use the scroll wheel and middle mouse drag to zoom in on the face.
[[File:ImpExp38.png]]
<center>'''Figure 6'''</center>
Finally, it is helpful to hide the rig of the MakeHuman skeleton. In the panel on the right, select the Display icon and click on the put a check "helpers" in the "Hide by Category" panel.
[[File:ImpExp39.png]]
<center>'''Figure 7'''</center>
== Restoring Transparency for the Eyes ==
You should now have a relatively unobstructed view of the imported MakeHuman character. You will notice upon zooming in that there are significant issues with the transparency for eyes, eyelashes, eyebrows, and hair. We will illustrate the steps for the eyes. They can be repeated for the other 3 assets that use transparent materials.
Here are the steps to fix the eyes:
1. Left-click the eyes to select them.
[[File:ImpExp40.png]]
<center>'''Figure 8'''</center>
2. From the menus select, Materials | Create/Edit Materials | Edit selected Object’s Material. The Slate Material Editor will open with the [high poly] eyes node selected. [Note: If the compact material editor opens instead, use the Mode menu to go to the Slate Material Editor.] Click on the slate editor window to make it active. Spin the scroll wheel toward you until you see the texture map (Blue_eye_png in this case) attached to the Diffuse node on the eye material. Shift-middle mouse drag may help you center this pair in your viewport.
[[File:ImpExp34.png]]
<center>'''Figure 9'''</center>
3. Drag the output connector of Blue_eye_png bitmap to make a second connection with the opacity input node of the high poly obj node (standard).
[[File:ImpExp35.png]]
<center>'''Figure 10'''</center>
4. Now double left-click on the Blue_eye_png bitmap node, or alternatively, double click on the words blue_eye_png (blue_eye.png) just to the right of the opacity row (maps column) of the right panel.
[[File:ImpExp41.png]]
<center>'''Figure 11'''</center>
5. Under bitmap parameters (right panel) set Mono Channel Output to alpha, set Alpha Source to Image Alpha, and confirm that RGB Channel Output is set to RGB.
[[File:ImpExp42.png]]
<center>'''Figure 12'''</center>
The eyes should now appear as the natural color with which they were exported from MakeHuman.
[[File:ImpExp43.png]]
<center>'''Figure 13'''</center>
== Fixing Transparency on the Other Assets ==
To fix the eyebrows, eyelashes, and hair, repeat steps 1 - 5 as described for the eyes with each other asset with that asset selected in turn. After completing the eyebrows, out model looks like this:
[[File:ImpExp44.png]]
<center>'''Figure 14'''</center>
After completing the eyebrows and the eyelashes, our model looks like this:
[[File:ImpExp45.png]]
<center>'''Figure 15'''</center>
After completing everything, our model looks very similar to the look it had upon export from MakeHuman.
[[File:ImpExp46.png]]
<center>'''Figure 16'''</center>
== Repairing an Imported MakeHuman FBX file that was previously Exported after Fixing ==
At this point if you save the file using Autodesk 3DSMAX native.max format, it can be read in again with no additional correction necessary. However, if you export the file as in FBX format and then read the file back into a new session it will have semi-transparent hair and now eyelashes or eyebrows. You may have a similar experience if you export the file as FBX from another program such as Maya. What has happened is that the "mono channel output" setting has changed from alpha to RGB. The face looks like this after importing:
[[File:ImpExp47.png]]
<center>'''Figure 17'''</center>
Fixing this problem is relatively straight forward, although it seems that sometimes the slate material editor needs resetting to properly show what has happened to the "Mono channel output" setting. The steps to repair this problem should be done for the eyes, eyebrows, eyelashes, and hair, each in turn. The 3 steps are as follows:
1. Left-click to select the eyes. Start the slate material editor by either using the menu '''Materials | Create/Edit Materials | Edit Selected Object's Material''', as before, or by simply clicking on material editor icon on the right of the icon bar.
[[File:ImpExp48.png]]
<center>'''Figure 18'''</center>
2. Sometimes it is useful to refresh the slate material editor by selecting all from the select menu (or shortcut CTRL-A) and then refreshing using '''Edit | Auto update selected Previews''' (or shortcut CTRL-U). This seems to make the status of the Mono Channel Output appear accurately in step 3.
3. Double click the blue_eye.png bitmap node (or the corresponding eye texture for you MakeHuman asset). Left click to check the "alpha" setting under Mono Channel Output.
[[File:ImpExp49.png]]
<center>'''Figure 19'''</center>
Upon completing steps 1-3 for the eyes, the face will appear like this:
[[File:ImpExp50a.png]]
<center>'''Figure 20'''</center>
Repeat the steps above to restore the Mono Channel Output setting to alpha for the eyebrows, the eyelashes, and the hair. You MakeHuman character should now again look essentially like the original that was in MakeHuman.
[[File:ImpExp50b.png]]
<center>'''Figure 21'''</center>
== Importing MakeHuman Skeletons into 3DSMAX ==
TO BE WRITTEN
2a5cc2e23f5136ecf167a9c2c4b51b3464eb3785
318
315
2015-07-28T20:51:57Z
Robbaer
12
/* Repairing an Imported MakeHuman FBX file that was previously Exported after Fixing */
wikitext
text/x-wiki
== Units Considerations ==
We will use the file created in the “Illustrating the export/import process” section to illustrate how to get your MakeHuman ready for use in Autodesk 3DSMax. During export the FBX exporter was set to ASCII and the scale was set to inches.
Autodesk 3DSMax has two types of units: “system units” and “display units”. By default, Autodesk uses inches as its “system units”. It is essential that 3DSMax “system units” be set to their FINAL value BEFORE importing any asset. Once set, do not change them again for that scene. If a 1 cubic foot cube object is imported, and then the system units are changed from inches to meters, the cube will become 1 cubic meter in volume.
The use of imperial inches as system units can complicate the process of FBX export/import, but if you export from MakeHuman using inches and import into 3DSMax using “automatic settings”, things should work well. <font color='red'>[edit RWB: this needs rechecking after finalizing MH unit handing for FBX].</font> This is the straight forward approach for architectural work in the U.S. where imperial units are common. The Autodesk web site discourages changing the system units of 3DSMax from default, but makes an explicit exception when importing assets from sources constructed using metric dimensions [http://knowledge.autodesk.com/support/3ds-max/learn-explore/caas/CloudHelp/cloudhelp/2015/ENU/3DSMax/files/GUID-7ECD378E-5A3F-4722-B32B-8A0EB581824A-htm.html][http://knowledge.autodesk.com/support/3ds-max/learn-explore/caas/CloudHelp/cloudhelp/2015/ENU/3DSMax/files/GUID-DFE074D9-FF5E-4AAC-B3F8-AB53ADCDC124-htm.html].
If you are importing many metric objects into 3DSMax from other programs, it may make sense to change your “system units” to either centimeters or meters, and export your MakeHuman character in FBX format with the corresponding units. System units and Display units in Autodesk 3DSMax can be accessed from the Customize | Customization | Unit Setup menu:
[[File:ImpExp23.png]]
<center>'''Figure 1'''</center>
In the Units setup dialog choose “System Units”, and in the System Unit Setup dialog choose your desired units. Notice that in the figure below that although the “system units” are set to the default units of inches (right dialog), the display units are set to meters (radio button next to metric in left dialog). Imported assets are scaled into system units. System units are then converted to display units for the purposes of the 3DSMax ruler display, but remain stored internally in original system units.
[[File:ImpExp25.png]]
<center>'''Figure 2'''</center>
With this understanding of how to control the 3DSMax side of things, let’s import our MakeHuman character. We will leave 3DSMax set to inches, and export our MakeHuman FBX file using inches as units as well.
== Importing FBX into 3DSMax ==
From the 3DSMax application menu choose Import |Import, and navigate to FBX file you exported from MakeHuman using inches.
[[File:ImpExp26.png]]
<center>'''Figure 3'''</center>
By default, the exported file will be found in ~/makehuman/v1/exports/SomeName.fbx (where ~ is the user home directory). The textures for the exported file will be found in a subfolder called textures of the folder where the .fbx file is stored. 3DSMax can import either ASCII or binary FBX files, so either type of export can be used for MakeHuman export. <font color='red'>[RWB Note: as of this writing there are still some issues with direct FBX binary export, but those are expected to be repaired going forward].</font> When the file is initially imported into 3DSMax it looks like this:
[[File:ImpExp27.png]]
<center>'''Figure 4'''</center>
Click on the word [wireframe] in the top left of a viewport and choose realistic (or hardware in older versions) to see the material displayed with maps. The shortcut key is SHIFT-F3.
[[File:ImpExp37.png]]
<center>'''Figure 5'''</center>
To maximize the front viewport, left click on the front vieport to make it active and type ALT-W. Use the scroll wheel and middle mouse drag to zoom in on the face.
[[File:ImpExp38.png]]
<center>'''Figure 6'''</center>
Finally, it is helpful to hide the rig of the MakeHuman skeleton. In the panel on the right, select the Display icon and click on the put a check "helpers" in the "Hide by Category" panel.
[[File:ImpExp39.png]]
<center>'''Figure 7'''</center>
== Restoring Transparency for the Eyes ==
You should now have a relatively unobstructed view of the imported MakeHuman character. You will notice upon zooming in that there are significant issues with the transparency for eyes, eyelashes, eyebrows, and hair. We will illustrate the steps for the eyes. They can be repeated for the other 3 assets that use transparent materials.
Here are the steps to fix the eyes:
1. Left-click the eyes to select them.
[[File:ImpExp40.png]]
<center>'''Figure 8'''</center>
2. From the menus select, Materials | Create/Edit Materials | Edit selected Object’s Material. The Slate Material Editor will open with the [high poly] eyes node selected. [Note: If the compact material editor opens instead, use the Mode menu to go to the Slate Material Editor.] Click on the slate editor window to make it active. Spin the scroll wheel toward you until you see the texture map (Blue_eye_png in this case) attached to the Diffuse node on the eye material. Shift-middle mouse drag may help you center this pair in your viewport.
[[File:ImpExp34.png]]
<center>'''Figure 9'''</center>
3. Drag the output connector of Blue_eye_png bitmap to make a second connection with the opacity input node of the high poly obj node (standard).
[[File:ImpExp35.png]]
<center>'''Figure 10'''</center>
4. Now double left-click on the Blue_eye_png bitmap node, or alternatively, double click on the words blue_eye_png (blue_eye.png) just to the right of the opacity row (maps column) of the right panel.
[[File:ImpExp41.png]]
<center>'''Figure 11'''</center>
5. Under bitmap parameters (right panel) set Mono Channel Output to alpha, set Alpha Source to Image Alpha, and confirm that RGB Channel Output is set to RGB.
[[File:ImpExp42.png]]
<center>'''Figure 12'''</center>
The eyes should now appear as the natural color with which they were exported from MakeHuman.
[[File:ImpExp43.png]]
<center>'''Figure 13'''</center>
== Fixing Transparency on the Other Assets ==
To fix the eyebrows, eyelashes, and hair, repeat steps 1 - 5 as described for the eyes with each other asset with that asset selected in turn. After completing the eyebrows, out model looks like this:
[[File:ImpExp44.png]]
<center>'''Figure 14'''</center>
After completing the eyebrows and the eyelashes, out model looks like this:
[[File:ImpExp45.png]]
<center>'''Figure 15'''</center>
After completing everything, out model looks very similar to the look it had upon export from MakeHuman.
[[File:ImpExp46.png]]
<center>'''Figure 16'''</center>
== Repairing an Imported MakeHuman FBX file that was previously Exported after Fixing ==
At this point if you save the file using Autodesk 3DSMAX native.max format, it can be read in again with no additional correction necessary. However, if you export the file as in FBX format and then read the file back into a new session it will have semi-transparent hair and now eyelashes or eyebrows. You may have a similar experience if you export the file as FBX from another program such as Maya. What has happened is that the "mono channel output" setting has changed from alpha to RGB. The face looks like this after importing:
[[File:ImpExp47.png]]
<center>'''Figure 17'''</center>
Fixing this problem is relatively straight forward, although it seems that sometimes the slate material editor needs resetting to properly show what has happened to the "Mono channel output" setting. The steps to repair this problem should be done for the eyes, eyebrows, eyelashes, and hair, each in turn. The 3 steps are as follows:
1. Left-click to select the eyes. Start the slate material editor by either using the menu '''Materials | Create/Edit Materials | Edit Selected Object's Material''', as before, or by simply clicking on material editor icon on the right of the icon bar.
[[File:ImpExp48.png]]
<center>'''Figure 18'''</center>
2. Sometimes it is useful to refresh the slate material editor by selecting all from the select menu (or shortcut CTRL-A) and then refreshing using '''Edit | Auto update selected Previews''' (or shortcut CTRL-U). This seems to make the status of the Mono Channel Output appear accurately in step 3.
3. Double click the blue_eye.png bitmap node (or the corresponding eye texture for you MakeHuman asset). Left click to check the "alpha" setting under Mono Channel Output.
[[File:ImpExp49.png]]
<center>'''Figure 19'''</center>
Upon completing steps 1-3 for the eyes, the face will appear like this:
[[File:ImpExp50a.png]]
<center>'''Figure 20'''</center>
Repeat the steps above to restore the Mono Channel Output setting to alpha for the eyebrows, the eyelashes, and the hair. You MakeHuman character should now again look essentially like the original that was in MakeHuman.
[[File:ImpExp50b.png]]
<center>'''Figure 21'''</center>
== Importing MakeHuman Skeletons into 3DSMAX ==
TO BE WRITTEN
161a6391117ded2193f5d2f26aee47c4538b5e87
315
312
2015-07-28T20:36:33Z
Robbaer
12
/* Fixing an Imported FBX file that was Exported after Fixing */
wikitext
text/x-wiki
== Units Considerations ==
We will use the file created in the “Illustrating the export/import process” section to illustrate how to get your MakeHuman ready for use in Autodesk 3DSMax. During export the FBX exporter was set to ASCII and the scale was set to inches.
Autodesk 3DSMax has two types of units: “system units” and “display units”. By default, Autodesk uses inches as its “system units”. It is essential that 3DSMax “system units” be set to their FINAL value BEFORE importing any asset. Once set, do not change them again for that scene. If a 1 cubic foot cube object is imported, and then the system units are changed from inches to meters, the cube will become 1 cubic meter in volume.
The use of imperial inches as system units can complicate the process of FBX export/import, but if you export from MakeHuman using inches and import into 3DSMax using “automatic settings”, things should work well. <font color='red'>[edit RWB: this needs rechecking after finalizing MH unit handing for FBX].</font> This is the straight forward approach for architectural work in the U.S. where imperial units are common. The Autodesk web site discourages changing the system units of 3DSMax from default, but makes an explicit exception when importing assets from sources constructed using metric dimensions [http://knowledge.autodesk.com/support/3ds-max/learn-explore/caas/CloudHelp/cloudhelp/2015/ENU/3DSMax/files/GUID-7ECD378E-5A3F-4722-B32B-8A0EB581824A-htm.html][http://knowledge.autodesk.com/support/3ds-max/learn-explore/caas/CloudHelp/cloudhelp/2015/ENU/3DSMax/files/GUID-DFE074D9-FF5E-4AAC-B3F8-AB53ADCDC124-htm.html].
If you are importing many metric objects into 3DSMax from other programs, it may make sense to change your “system units” to either centimeters or meters, and export your MakeHuman character in FBX format with the corresponding units. System units and Display units in Autodesk 3DSMax can be accessed from the Customize | Customization | Unit Setup menu:
[[File:ImpExp23.png]]
<center>'''Figure 1'''</center>
In the Units setup dialog choose “System Units”, and in the System Unit Setup dialog choose your desired units. Notice that in the figure below that although the “system units” are set to the default units of inches (right dialog), the display units are set to meters (radio button next to metric in left dialog). Imported assets are scaled into system units. System units are then converted to display units for the purposes of the 3DSMax ruler display, but remain stored internally in original system units.
[[File:ImpExp25.png]]
<center>'''Figure 2'''</center>
With this understanding of how to control the 3DSMax side of things, let’s import our MakeHuman character. We will leave 3DSMax set to inches, and export our MakeHuman FBX file using inches as units as well.
== Importing FBX into 3DSMax ==
From the 3DSMax application menu choose Import |Import, and navigate to FBX file you exported from MakeHuman using inches.
[[File:ImpExp26.png]]
<center>'''Figure 3'''</center>
By default, the exported file will be found in ~/makehuman/v1/exports/SomeName.fbx (where ~ is the user home directory). The textures for the exported file will be found in a subfolder called textures of the folder where the .fbx file is stored. 3DSMax can import either ASCII or binary FBX files, so either type of export can be used for MakeHuman export. <font color='red'>[RWB Note: as of this writing there are still some issues with direct FBX binary export, but those are expected to be repaired going forward].</font> When the file is initially imported into 3DSMax it looks like this:
[[File:ImpExp27.png]]
<center>'''Figure 4'''</center>
Click on the word [wireframe] in the top left of a viewport and choose realistic (or hardware in older versions) to see the material displayed with maps. The shortcut key is SHIFT-F3.
[[File:ImpExp37.png]]
<center>'''Figure 5'''</center>
To maximize the front viewport, left click on the front vieport to make it active and type ALT-W. Use the scroll wheel and middle mouse drag to zoom in on the face.
[[File:ImpExp38.png]]
<center>'''Figure 6'''</center>
Finally, it is helpful to hide the rig of the MakeHuman skeleton. In the panel on the right, select the Display icon and click on the put a check "helpers" in the "Hide by Category" panel.
[[File:ImpExp39.png]]
<center>'''Figure 7'''</center>
== Restoring Transparency for the Eyes ==
You should now have a relatively unobstructed view of the imported MakeHuman character. You will notice upon zooming in that there are significant issues with the transparency for eyes, eyelashes, eyebrows, and hair. We will illustrate the steps for the eyes. They can be repeated for the other 3 assets that use transparent materials.
Here are the steps to fix the eyes:
1. Left-click the eyes to select them.
[[File:ImpExp40.png]]
<center>'''Figure 8'''</center>
2. From the menus select, Materials | Create/Edit Materials | Edit selected Object’s Material. The Slate Material Editor will open with the [high poly] eyes node selected. [Note: If the compact material editor opens instead, use the Mode menu to go to the Slate Material Editor.] Click on the slate editor window to make it active. Spin the scroll wheel toward you until you see the texture map (Blue_eye_png in this case) attached to the Diffuse node on the eye material. Shift-middle mouse drag may help you center this pair in your viewport.
[[File:ImpExp34.png]]
<center>'''Figure 9'''</center>
3. Drag the output connector of Blue_eye_png bitmap to make a second connection with the opacity input node of the high poly obj node (standard).
[[File:ImpExp35.png]]
<center>'''Figure 10'''</center>
4. Now double left-click on the Blue_eye_png bitmap node, or alternatively, double click on the words blue_eye_png (blue_eye.png) just to the right of the opacity row (maps column) of the right panel.
[[File:ImpExp41.png]]
<center>'''Figure 11'''</center>
5. Under bitmap parameters (right panel) set Mono Channel Output to alpha, set Alpha Source to Image Alpha, and confirm that RGB Channel Output is set to RGB.
[[File:ImpExp42.png]]
<center>'''Figure 12'''</center>
The eyes should now appear as the natural color with which they were exported from MakeHuman.
[[File:ImpExp43.png]]
<center>'''Figure 13'''</center>
== Fixing Transparency on the Other Assets ==
To fix the eyebrows, eyelashes, and hair, repeat steps 1 - 5 as described for the eyes with each other asset with that asset selected in turn. After completing the eyebrows, out model looks like this:
[[File:ImpExp44.png]]
<center>'''Figure 14'''</center>
After completing the eyebrows and the eyelashes, out model looks like this:
[[File:ImpExp45.png]]
<center>'''Figure 15'''</center>
After completing everything, out model looks very similar to the look it had upon export from MakeHuman.
[[File:ImpExp46.png]]
<center>'''Figure 16'''</center>
== Repairing an Imported MakeHuman FBX file that was previously Exported after Fixing ==
At this point if you save the file using Autodesk 3DSMAX native.max format, it can be read in again with no additional correction necessary. However, if you export the file as in FBX format and then read the file back into a new session it will have semi-transparent hair and now eyelashes or eyebrows. You may have a similar experience if you export the file as FBX from another program such as Maya. What has happened is that the "mono channel output" setting has changed from alpha to RGB. The face looks like this after importing:
[[File:ImpExp47.png]]
<center>'''Figure 17'''</center>
Fixing this problem is relatively straight forward, although it seems that sometimes the slate material editor needs resetting to properly show what has happened to the "Mono channel output" setting. The steps to repair this problem should be done for the eyes, eyebrows, eyelashes, and hair, each in turn. The 3 steps are as follows:
1. Left-click to select the eyes. Start the slate material editor by either using the menu '''Materials | Create/Edit Materials | Edit Selected Object's Material''', as before, or by simply clicking on material editor icon on the right of the icon bar.
[[File:ImpExp48.png]]
<center>'''Figure 18'''</center>
2. Sometimes it is useful to refresh the slate material editor by selecting all from the select menu (or shortcut CTRL-A) and then refreshing using '''Edit | Auto update selected Previews''' (or shortcut CTRL-U). This seems to make the status of the mono channel output appear accurately in step 3.
3. Double click the blue_eye.png bitmap node (or the corresponding eye texture for you MakeHuman asset). Left click to check the "alpha" setting under Mono channel Output.
[[File:ImpExp49.png]]
<center>'''Figure 19'''</center>
Upon completing steps 1-3 for the eyes, the face will appear like this:
[[File:ImpExp50.png]]
<center>'''Figure 20'''</center>
== Importing MakeHuman Skeletons into 3DSMAX ==
TO BE WRITTEN
ce480457b0379460338de08e1d8d29130b2ade58
312
309
2015-07-28T18:17:34Z
Robbaer
12
wikitext
text/x-wiki
== Units Considerations ==
We will use the file created in the “Illustrating the export/import process” section to illustrate how to get your MakeHuman ready for use in Autodesk 3DSMax. During export the FBX exporter was set to ASCII and the scale was set to inches.
Autodesk 3DSMax has two types of units: “system units” and “display units”. By default, Autodesk uses inches as its “system units”. It is essential that 3DSMax “system units” be set to their FINAL value BEFORE importing any asset. Once set, do not change them again for that scene. If a 1 cubic foot cube object is imported, and then the system units are changed from inches to meters, the cube will become 1 cubic meter in volume.
The use of imperial inches as system units can complicate the process of FBX export/import, but if you export from MakeHuman using inches and import into 3DSMax using “automatic settings”, things should work well. <font color='red'>[edit RWB: this needs rechecking after finalizing MH unit handing for FBX].</font> This is the straight forward approach for architectural work in the U.S. where imperial units are common. The Autodesk web site discourages changing the system units of 3DSMax from default, but makes an explicit exception when importing assets from sources constructed using metric dimensions [http://knowledge.autodesk.com/support/3ds-max/learn-explore/caas/CloudHelp/cloudhelp/2015/ENU/3DSMax/files/GUID-7ECD378E-5A3F-4722-B32B-8A0EB581824A-htm.html][http://knowledge.autodesk.com/support/3ds-max/learn-explore/caas/CloudHelp/cloudhelp/2015/ENU/3DSMax/files/GUID-DFE074D9-FF5E-4AAC-B3F8-AB53ADCDC124-htm.html].
If you are importing many metric objects into 3DSMax from other programs, it may make sense to change your “system units” to either centimeters or meters, and export your MakeHuman character in FBX format with the corresponding units. System units and Display units in Autodesk 3DSMax can be accessed from the Customize | Customization | Unit Setup menu:
[[File:ImpExp23.png]]
<center>'''Figure 1'''</center>
In the Units setup dialog choose “System Units”, and in the System Unit Setup dialog choose your desired units. Notice that in the figure below that although the “system units” are set to the default units of inches (right dialog), the display units are set to meters (radio button next to metric in left dialog). Imported assets are scaled into system units. System units are then converted to display units for the purposes of the 3DSMax ruler display, but remain stored internally in original system units.
[[File:ImpExp25.png]]
<center>'''Figure 2'''</center>
With this understanding of how to control the 3DSMax side of things, let’s import our MakeHuman character. We will leave 3DSMax set to inches, and export our MakeHuman FBX file using inches as units as well.
== Importing FBX into 3DSMax ==
From the 3DSMax application menu choose Import |Import, and navigate to FBX file you exported from MakeHuman using inches.
[[File:ImpExp26.png]]
<center>'''Figure 3'''</center>
By default, the exported file will be found in ~/makehuman/v1/exports/SomeName.fbx (where ~ is the user home directory). The textures for the exported file will be found in a subfolder called textures of the folder where the .fbx file is stored. 3DSMax can import either ASCII or binary FBX files, so either type of export can be used for MakeHuman export. <font color='red'>[RWB Note: as of this writing there are still some issues with direct FBX binary export, but those are expected to be repaired going forward].</font> When the file is initially imported into 3DSMax it looks like this:
[[File:ImpExp27.png]]
<center>'''Figure 4'''</center>
Click on the word [wireframe] in the top left of a viewport and choose realistic (or hardware in older versions) to see the material displayed with maps. The shortcut key is SHIFT-F3.
[[File:ImpExp37.png]]
<center>'''Figure 5'''</center>
To maximize the front viewport, left click on the front vieport to make it active and type ALT-W. Use the scroll wheel and middle mouse drag to zoom in on the face.
[[File:ImpExp38.png]]
<center>'''Figure 6'''</center>
Finally, it is helpful to hide the rig of the MakeHuman skeleton. In the panel on the right, select the Display icon and click on the put a check "helpers" in the "Hide by Category" panel.
[[File:ImpExp39.png]]
<center>'''Figure 7'''</center>
== Restoring Transparency for the Eyes ==
You should now have a relatively unobstructed view of the imported MakeHuman character. You will notice upon zooming in that there are significant issues with the transparency for eyes, eyelashes, eyebrows, and hair. We will illustrate the steps for the eyes. They can be repeated for the other 3 assets that use transparent materials.
Here are the steps to fix the eyes:
1. Left-click the eyes to select them.
[[File:ImpExp40.png]]
<center>'''Figure 8'''</center>
2. From the menus select, Materials | Create/Edit Materials | Edit selected Object’s Material. The Slate Material Editor will open with the [high poly] eyes node selected. [Note: If the compact material editor opens instead, use the Mode menu to go to the Slate Material Editor.] Click on the slate editor window to make it active. Spin the scroll wheel toward you until you see the texture map (Blue_eye_png in this case) attached to the Diffuse node on the eye material. Shift-middle mouse drag may help you center this pair in your viewport.
[[File:ImpExp34.png]]
<center>'''Figure 9'''</center>
3. Drag the output connector of Blue_eye_png bitmap to make a second connection with the opacity input node of the high poly obj node (standard).
[[File:ImpExp35.png]]
<center>'''Figure 10'''</center>
4. Now double left-click on the Blue_eye_png bitmap node, or alternatively, double click on the words blue_eye_png (blue_eye.png) just to the right of the opacity row (maps column) of the right panel.
[[File:ImpExp41.png]]
<center>'''Figure 11'''</center>
5. Under bitmap parameters (right panel) set Mono Channel Output to alpha, set Alpha Source to Image Alpha, and confirm that RGB Channel Output is set to RGB.
[[File:ImpExp42.png]]
<center>'''Figure 12'''</center>
The eyes should now appear as the natural color with which they were exported from MakeHuman.
[[File:ImpExp43.png]]
<center>'''Figure 13'''</center>
== Fixing Transparency on the Other Assets ==
To fix the eyebrows, eyelashes, and hair, repeat steps 1 - 5 as described for the eyes with each other asset with that asset selected in turn. After completing the eyebrows, out model looks like this:
[[File:ImpExp44.png]]
<center>'''Figure 14'''</center>
After completing the eyebrows and the eyelashes, out model looks like this:
[[File:ImpExp45.png]]
<center>'''Figure 15'''</center>
After completing everything, out model looks very similar to the look it had upon export from MakeHuman.
[[File:ImpExp46.png]]
<center>'''Figure 16'''</center>
== Fixing an Imported FBX file that was Exported after Fixing ==
At this point if you save the file using Autodesk 3DSMAX native.max format, it can be read in again with no additional correction necessary. However, if you export the file as in FBX format and then read the file back into a new session it will have semi-transparent hair and now eyelashes or eyebrows. You may have a similar experience if you export the file as FBX from another program such as Maya. What has happened is that the "mono channel output" setting has changed from alpha to RGB. The face looks like this after importing:
[[File:ImpExp47.png]]
<center>'''Figure 17'''</center>
Fixing this problem is relatively straight forward although it seems that sometimes the slate material editor needs resetting to properly show what has happened to the "Mono chanel output" setting. The steps to repair this problem should be done for the eyes, eyebrows, eyelashes, and hair, each in turn. The steps are as follows:
1.
== Importing MakeHuman Skeletons into 3DSMAX ==
TO BE WRITTEN
62abb76e5db495495cbc65dd8170566c8a1e3cbb
309
307
2015-07-26T23:59:50Z
Robbaer
12
/* Restoring Transparency for the Eyes */
wikitext
text/x-wiki
== Units Considerations ==
We will use the file created in the “Illustrating the export/import process” section to illustrate how to get your MakeHuman ready for use in Autodesk 3DSMax. During export the FBX exporter was set to ASCII and the scale was set to inches.
Autodesk 3DSMax has two types of units: “system units” and “display units”. By default, Autodesk uses inches as its “system units”. It is essential that 3DSMax “system units” be set to their FINAL value BEFORE importing any asset. Once set, do not change them again for that scene. If a 1 cubic foot cube object is imported, and then the system units are changed from inches to meters, the cube will become 1 cubic meter in volume.
The use of imperial inches as system units can complicate the process of FBX export/import, but if you export from MakeHuman using inches and import into 3DSMax using “automatic settings”, things should work well. <font color='red'>[edit RWB: this needs rechecking after finalizing MH unit handing for FBX].</font> This is the straight forward approach for architectural work in the U.S. where imperial units are common. The Autodesk web site discourages changing the system units of 3DSMax from default, but makes an explicit exception when importing assets from sources constructed using metric dimensions [http://knowledge.autodesk.com/support/3ds-max/learn-explore/caas/CloudHelp/cloudhelp/2015/ENU/3DSMax/files/GUID-7ECD378E-5A3F-4722-B32B-8A0EB581824A-htm.html][http://knowledge.autodesk.com/support/3ds-max/learn-explore/caas/CloudHelp/cloudhelp/2015/ENU/3DSMax/files/GUID-DFE074D9-FF5E-4AAC-B3F8-AB53ADCDC124-htm.html].
If you are importing many metric objects into 3DSMax from other programs, it may make sense to change your “system units” to either centimeters or meters, and export your MakeHuman character in FBX format with the corresponding units. System units and Display units in Autodesk 3DSMax can be accessed from the Customize | Customization | Unit Setup menu:
[[File:ImpExp23.png]]
<center>'''Figure 1'''</center>
In the Units setup dialog choose “System Units”, and in the System Unit Setup dialog choose your desired units. Notice that in the figure below that although the “system units” are set to the default units of inches (right dialog), the display units are set to meters (radio button next to metric in left dialog). Imported assets are scaled into system units. System units are then converted to display units for the purposes of the 3DSMax ruler display, but remain stored internally in original system units.
[[File:ImpExp25.png]]
<center>'''Figure 2'''</center>
With this understanding of how to control the 3DSMax side of things, let’s import our MakeHuman character. We will leave 3DSMax set to inches, and export our MakeHuman FBX file using inches as units as well.
== Importing FBX into 3DSMax ==
From the 3DSMax application menu choose Import |Import, and navigate to FBX file you exported from MakeHuman using inches.
[[File:ImpExp26.png]]
<center>'''Figure 3'''</center>
By default, the exported file will be found in ~/makehuman/v1/exports/SomeName.fbx (where ~ is the user home directory). The textures for the exported file will be found in a subfolder called textures of the folder where the .fbx file is stored. 3DSMax can import either ASCII or binary FBX files, so either type of export can be used for MakeHuman export. <font color='red'>[RWB Note: as of this writing there are still some issues with direct FBX binary export, but those are expected to be repaired going forward].</font> When the file is initially imported into 3DSMax it looks like this:
[[File:ImpExp27.png]]
<center>'''Figure 4'''</center>
Click on the word [wireframe] in the top left of a viewport and choose realistic (or hardware in older versions) to see the material displayed with maps. The shortcut key is SHIFT-F3.
[[File:ImpExp37.png]]
<center>'''Figure 5'''</center>
To maximize the front viewport, left click on the front vieport to make it active and type ALT-W. Use the scroll wheel and middle mouse drag to zoom in on the face.
[[File:ImpExp38.png]]
<center>'''Figure 6'''</center>
Finally, it is helpful to hide the rig of the MakeHuman skeleton. In the panel on the right, select the Display icon and click on the put a check "helpers" in the "Hide by Category" panel.
[[File:ImpExp39.png]]
<center>'''Figure 7'''</center>
== Restoring Transparency for the Eyes ==
You should now have a relatively unobstructed view of the imported MakeHuman character. You will notice upon zooming in that there are significant issues with the transparency for eyes, eyelashes, eyebrows, and hair. We will illustrate the steps for the eyes. They can be repeated for the other 3 assets that use transparent materials.
Here are the steps to fix the eyes:
1. Left-click the eyes to select them.
[[File:ImpExp40.png]]
<center>'''Figure 8'''</center>
2. From the menus select, Materials | Create/Edit Materials | Edit selected Object’s Material. The Slate Material Editor will open with the [high poly] eyes node selected. [Note: If the compact material editor opens instead, use the Mode menu to go to the Slate Material Editor.] Click on the slate editor window to make it active. Spin the scroll wheel toward you until you see the texture map (Blue_eye_png in this case) attached to the Diffuse node on the eye material. Shift-middle mouse drag may help you center this pair in your viewport.
[[File:ImpExp34.png]]
<center>'''Figure 9'''</center>
3. Drag the output connector of Blue_eye_png bitmap to make a second connection with the opacity input node of the high poly obj node (standard).
[[File:ImpExp35.png]]
<center>'''Figure 10'''</center>
4. Now double left-click on the Blue_eye_png bitmap node, or alternatively, double click on the words blue_eye_png (blue_eye.png) just to the right of the opacity row (maps column) of the right panel.
[[File:ImpExp41.png]]
<center>'''Figure 11'''</center>
5. Under bitmap parameters (right panel) set Mono Channel Output to alpha, set Alpha Source to Image Alpha, and confirm that RGB Channel Output is set to RGB.
[[File:ImpExp42.png]]
<center>'''Figure 12'''</center>
The eyes should now appear as the natural color with which they were exported from MakeHuman.
[[File:ImpExp43.png]]
<center>'''Figure 13'''</center>
== Fixing Transparency on the Other Assets ==
To fix the eyebrows, eyelashes, and hair, repeat steps 1 - 5 as described for the eyes with each other asset with that asset selected in turn. After completing the eyebrows, out model looks like this:
[[File:ImpExp44.png]]
<center>'''Figure 14'''</center>
After completing the eyebrows and the eyelashes, out model looks like this:
[[File:ImpExp45.png]]
<center>'''Figure 15'''</center>
After completing everything, out model looks very similar to the look it had upon export from MakeHuman.
[[File:ImpExp46.png]]
<center>'''Figure 16'''</center>
At this point if you save the file using Autodesk 3DSMAX native.max format, it can be read in again with no additional correction necessary. however, if you export the file as in FBX format and then read the file back into a new session it will have semi-transparent hair and now eyelashes or eyebrows. The face looks like this:
[[File:ImpExp47.png]]
<center>'''Figure 17'''</center>
To fix the assets complete the following steps:
1. TO BE WRITTEN
== Importing MakeHuman Skeletons into 3DSMAX ==
TO BE WRITTEN
f164087c4f212ded02adbba4d16dd14f18258911
307
306
2015-07-26T23:40:47Z
Robbaer
12
wikitext
text/x-wiki
== Units Considerations ==
We will use the file created in the “Illustrating the export/import process” section to illustrate how to get your MakeHuman ready for use in Autodesk 3DSMax. During export the FBX exporter was set to ASCII and the scale was set to inches.
Autodesk 3DSMax has two types of units: “system units” and “display units”. By default, Autodesk uses inches as its “system units”. It is essential that 3DSMax “system units” be set to their FINAL value BEFORE importing any asset. Once set, do not change them again for that scene. If a 1 cubic foot cube object is imported, and then the system units are changed from inches to meters, the cube will become 1 cubic meter in volume.
The use of imperial inches as system units can complicate the process of FBX export/import, but if you export from MakeHuman using inches and import into 3DSMax using “automatic settings”, things should work well. <font color='red'>[edit RWB: this needs rechecking after finalizing MH unit handing for FBX].</font> This is the straight forward approach for architectural work in the U.S. where imperial units are common. The Autodesk web site discourages changing the system units of 3DSMax from default, but makes an explicit exception when importing assets from sources constructed using metric dimensions [http://knowledge.autodesk.com/support/3ds-max/learn-explore/caas/CloudHelp/cloudhelp/2015/ENU/3DSMax/files/GUID-7ECD378E-5A3F-4722-B32B-8A0EB581824A-htm.html][http://knowledge.autodesk.com/support/3ds-max/learn-explore/caas/CloudHelp/cloudhelp/2015/ENU/3DSMax/files/GUID-DFE074D9-FF5E-4AAC-B3F8-AB53ADCDC124-htm.html].
If you are importing many metric objects into 3DSMax from other programs, it may make sense to change your “system units” to either centimeters or meters, and export your MakeHuman character in FBX format with the corresponding units. System units and Display units in Autodesk 3DSMax can be accessed from the Customize | Customization | Unit Setup menu:
[[File:ImpExp23.png]]
<center>'''Figure 1'''</center>
In the Units setup dialog choose “System Units”, and in the System Unit Setup dialog choose your desired units. Notice that in the figure below that although the “system units” are set to the default units of inches (right dialog), the display units are set to meters (radio button next to metric in left dialog). Imported assets are scaled into system units. System units are then converted to display units for the purposes of the 3DSMax ruler display, but remain stored internally in original system units.
[[File:ImpExp25.png]]
<center>'''Figure 2'''</center>
With this understanding of how to control the 3DSMax side of things, let’s import our MakeHuman character. We will leave 3DSMax set to inches, and export our MakeHuman FBX file using inches as units as well.
== Importing FBX into 3DSMax ==
From the 3DSMax application menu choose Import |Import, and navigate to FBX file you exported from MakeHuman using inches.
[[File:ImpExp26.png]]
<center>'''Figure 3'''</center>
By default, the exported file will be found in ~/makehuman/v1/exports/SomeName.fbx (where ~ is the user home directory). The textures for the exported file will be found in a subfolder called textures of the folder where the .fbx file is stored. 3DSMax can import either ASCII or binary FBX files, so either type of export can be used for MakeHuman export. <font color='red'>[RWB Note: as of this writing there are still some issues with direct FBX binary export, but those are expected to be repaired going forward].</font> When the file is initially imported into 3DSMax it looks like this:
[[File:ImpExp27.png]]
<center>'''Figure 4'''</center>
Click on the word [wireframe] in the top left of a viewport and choose realistic (or hardware in older versions) to see the material displayed with maps. The shortcut key is SHIFT-F3.
[[File:ImpExp37.png]]
<center>'''Figure 5'''</center>
To maximize the front viewport, left click on the front vieport to make it active and type ALT-W. Use the scroll wheel and middle mouse drag to zoom in on the face.
[[File:ImpExp38.png]]
<center>'''Figure 6'''</center>
Finally, it is helpful to hide the rig of the MakeHuman skeleton. In the panel on the right, select the Display icon and click on the put a check "helpers" in the "Hide by Category" panel.
[[File:ImpExp39.png]]
<center>'''Figure 7'''</center>
== Restoring Transparency for the Eyes ==
You should now have a relatively unobstructed view of the imported MakeHuman character. You will notice upon zooming in that there are significant issues with the transparency for eyes, eyelashes, eyebrows, and hair. We will illustrate the steps for the eyes. They can be repeated for the other 3 assets that use transparent materials.
Here are the steps to fix the eyes:
1. Left-click the eyes to select them.
[[File:ImpExp40.png]]
<center>'''Figure 8'''</center>
2. From the menus select, Materials | Create/Edit Materials | Edit selected Object’s Material. The Slate Material Editor will open with the [high poly] eyes node selected. [Note: If the compact material editor opens instead, use the Mode menu to go to the Slate Material Editor.] Click on the slate editor window to make it active. Spin the scroll wheel toward you until you see the texture map (Blue_eye_png in this case) attached to the Diffuse node on the eye material. Shift-middle mouse drag may help you center this pair in your viewport.
[[File:ImpExp34.png]]
<center>'''Figure 9'''</center>
3. Drag a connection between the output of the bitmap node and the Opacity input of the standard material node. In the panel on the right, click the little “+” to expand the Maps section. Then, still in the right panel, set the value of the newly checked opacity to 0.
[[File:ImpExp36.png]]
<center>'''Figure 10'''</center>
4. Now double left-click on the Blue_eye_png bitmap node, or alternatively, double click on the words blue_eye_png (bllue_eye.png) just to the right of the opacity row (maps column) of the right panel.
[[File:ImpExp41.png]]
<center>'''Figure 11'''</center>
5. Under bitmap parameters (right panel) set Mono Channel Output to alpha, set Alpha Source to Image Alpha, and confirm that RGB Channel Output is set to RGB.
[[File:ImpExp42.png]]
<center>'''Figure 12'''</center>
The eyes should now appear as the natural color with which they were exported from MakeHuman.
[[File:ImpExp43.png]]
<center>'''Figure 13'''</center>
== Fixing Transparency on the Other Assets ==
To fix the eyebrows, eyelashes, and hair, repeat steps 1 - 5 as described for the eyes with each other asset with that asset selected in turn. After completing the eyebrows, out model looks like this:
[[File:ImpExp44.png]]
<center>'''Figure 14'''</center>
After completing the eyebrows and the eyelashes, out model looks like this:
[[File:ImpExp45.png]]
<center>'''Figure 15'''</center>
After completing everything, out model looks very similar to the look it had upon export from MakeHuman.
[[File:ImpExp46.png]]
<center>'''Figure 16'''</center>
At this point if you save the file using Autodesk 3DSMAX native.max format, it can be read in again with no additional correction necessary. however, if you export the file as in FBX format and then read the file back into a new session it will have semi-transparent hair and now eyelashes or eyebrows. The face looks like this:
[[File:ImpExp47.png]]
<center>'''Figure 17'''</center>
To fix the assets complete the following steps:
1. TO BE WRITTEN
== Importing MakeHuman Skeletons into 3DSMAX ==
TO BE WRITTEN
e534dbf1bbc7f3e20337c363757e2a14e6a391e2
306
305
2015-07-26T23:38:58Z
Robbaer
12
/* Fixing Transparency on the Other Assets */
wikitext
text/x-wiki
== Units Considerations ==
We will use the file created in the “Illustrating the export/import process” section to illustrate how to get your MakeHuman ready for use in Autodesk 3DSMax. During export the FBX exporter was set to ASCII and the scale was set to inches.
Autodesk 3DSMax has two types of units: “system units” and “display units”. By default, Autodesk uses inches as its “system units”. It is essential that 3DSMax “system units” be set to their FINAL value BEFORE importing any asset. Once set, do not change them again for that scene. If a 1 cubic foot cube object is imported, and then the system units are changed from inches to meters, the cube will become 1 cubic meter in volume.
The use of imperial inches as system units can complicate the process of FBX export/import, but if you export from MakeHuman using inches and import into 3DSMax using “automatic settings”, things should work well. <font color='red'>[edit RWB: this needs rechecking after finalizing MH unit handing for FBX].</font> This is the straight forward approach for architectural work in the U.S. where imperial units are common. The Autodesk web site discourages changing the system units of 3DSMax from default, but makes an explicit exception when importing assets from sources constructed using metric dimensions [http://knowledge.autodesk.com/support/3ds-max/learn-explore/caas/CloudHelp/cloudhelp/2015/ENU/3DSMax/files/GUID-7ECD378E-5A3F-4722-B32B-8A0EB581824A-htm.html][http://knowledge.autodesk.com/support/3ds-max/learn-explore/caas/CloudHelp/cloudhelp/2015/ENU/3DSMax/files/GUID-DFE074D9-FF5E-4AAC-B3F8-AB53ADCDC124-htm.html].
If you are importing many metric objects into 3DSMax from other programs, it may make sense to change your “system units” to either centimeters or meters, and export your MakeHuman character in FBX format with the corresponding units. System units and Display units in Autodesk 3DSMax can be accessed from the Customize | Customization | Unit Setup menu:
[[File:ImpExp23.png]]
<center>'''Figure 1'''</center>
In the Units setup dialog choose “System Units”, and in the System Unit Setup dialog choose your desired units. Notice that in the figure below that although the “system units” are set to the default units of inches (right dialog), the display units are set to meters (radio button next to metric in left dialog). Imported assets are scaled into system units. System units are then converted to display units for the purposes of the 3DSMax ruler display, but remain stored internally in original system units.
[[File:ImpExp25.png]]
<center>'''Figure 2'''</center>
With this understanding of how to control the 3DSMax side of things, let’s import our MakeHuman character. We will leave 3DSMax set to inches, and export our MakeHuman FBX file using inches as units as well.
== Importing FBX into 3DSMax ==
From the 3DSMax application menu choose Import |Import, and navigate to FBX file you exported from MakeHuman using inches.
[[File:ImpExp26.png]]
<center>'''Figure 3'''</center>
By default, the exported file will be found in ~/makehuman/v1/exports/SomeName.fbx (where ~ is the user home directory). The textures for the exported file will be found in a subfolder called textures of the folder where the .fbx file is stored. 3DSMax can import either ASCII or binary FBX files, so either type of export can be used for MakeHuman export. <font color='red'>[RWB Note: as of this writing there are still some issues with direct FBX binary export, but those are expected to be repaired going forward].</font> When the file is initially imported into 3DSMax it looks like this:
[[File:ImpExp27.png]]
<center>'''Figure 4'''</center>
Click on the word [wireframe] in the top left of a viewport and choose realistic (or hardware in older versions) to see the material displayed with maps. The shortcut key is SHIFT-F3.
[[File:ImpExp37.png]]
<center>'''Figure 5'''</center>
To maximize the front viewport, left click on the front vieport to make it active and type ALT-W. Use the scroll wheel and middle mouse drag to zoom in on the face.
[[File:ImpExp38.png]]
<center>'''Figure 6'''</center>
Finally, it is helpful to hide the rig of the MakeHuman skeleton. In the panel on the right, select the Display icon and click on the put a check "helpers" in the "Hide by Category" panel.
[[File:ImpExp39.png]]
<center>'''Figure 7'''</center>
== Restoring Transparency for the Eyes ==
You should now have a relatively unobstructed view of the imported MakeHuman character. You will notice upon zooming in that there are significant issues with the transparency for eyes, eyelashes, eyebrows, and hair. We will illustrate the steps for the eyes. They can be repeated for the other 3 assets that use transparent materials.
Here are the steps to fix the eyes:
1. Left-click the eyes to select them.
[[File:ImpExp40.png]]
<center>'''Figure 8'''</center>
2. From the menus select, Materials | Create/Edit Materials | Edit selected Object’s Material. The Slate Material Editor will open with the [high poly] eyes node selected. [Note: If the compact material editor opens instead, use the Mode menu to go to the Slate Material Editor.] Click on the slate editor window to make it active. Spin the scroll wheel toward you until you see the texture map (Blue_eye_png in this case) attached to the Diffuse node on the eye material. Shift-middle mouse drag may help you center this pair in your viewport.
[[File:ImpExp34.png]]
<center>'''Figure 9'''</center>
3. Drag a connection between the output of the bitmap node and the Opacity input of the standard material node. In the panel on the right, click the little “+” to expand the Maps section. Then, still in the right panel, set the value of the newly checked opacity to 0.
[[File:ImpExp36.png]]
<center>'''Figure 10'''</center>
4. Now double left-click on the Blue_eye_png bitmap node, or alternatively, double click on the words blue_eye_png (bllue_eye.png) just to the right of the opacity row (maps column) of the right panel.
[[File:ImpExp41.png]]
<center>'''Figure 11'''</center>
5. Under bitmap parameters (right panel) set Mono Channel Output to alpha, set Alpha Source to Image Alpha, and confirm that RGB Channel Output is set to RGB.
[[File:ImpExp42.png]]
<center>'''Figure 12'''</center>
The eyes should now appear as the natural color with which they were exported from MakeHuman.
[[File:ImpExp43.png]]
<center>'''Figure 13'''</center>
== Fixing Transparency on the Other Assets ==
To fix the eyebrows, eyelashes, and hair, repeat steps 1 - 5 as described for the eyes with each other asset with that asset selected in turn. After completing the eyebrows, out model looks like this:
[[File:ImpExp44.png]]
<center>'''Figure 14'''</center>
After completing the eyebrows and the eyelashes, out model looks like this:
[[File:ImpExp45.png]]
<center>'''Figure 15'''</center>
After completing everything, out model looks very similar to the look it had upon export from MakeHuman.
[[File:ImpExp46.png]]
<center>'''Figure 16'''</center>
At this point if you save the file using Autodesk 3DSMAX native.max format, it can be read in again with no additional correction necessary. however, if you export the file as in FBX format and then read the file back into a new session it will have semi-transparent hair and now eyelashes or eyebrows. The face looks like this:
[[File:ImpExp47.png]]
<center>'''Figure 17'''</center>
To fix the assets complete the following steps:
1. TO BE WRITTEN
861fc1bafeac99473516c12911437d91d40d229a
305
304
2015-07-26T23:38:24Z
Robbaer
12
/* Restoring Transparency for the Eyes */
wikitext
text/x-wiki
== Units Considerations ==
We will use the file created in the “Illustrating the export/import process” section to illustrate how to get your MakeHuman ready for use in Autodesk 3DSMax. During export the FBX exporter was set to ASCII and the scale was set to inches.
Autodesk 3DSMax has two types of units: “system units” and “display units”. By default, Autodesk uses inches as its “system units”. It is essential that 3DSMax “system units” be set to their FINAL value BEFORE importing any asset. Once set, do not change them again for that scene. If a 1 cubic foot cube object is imported, and then the system units are changed from inches to meters, the cube will become 1 cubic meter in volume.
The use of imperial inches as system units can complicate the process of FBX export/import, but if you export from MakeHuman using inches and import into 3DSMax using “automatic settings”, things should work well. <font color='red'>[edit RWB: this needs rechecking after finalizing MH unit handing for FBX].</font> This is the straight forward approach for architectural work in the U.S. where imperial units are common. The Autodesk web site discourages changing the system units of 3DSMax from default, but makes an explicit exception when importing assets from sources constructed using metric dimensions [http://knowledge.autodesk.com/support/3ds-max/learn-explore/caas/CloudHelp/cloudhelp/2015/ENU/3DSMax/files/GUID-7ECD378E-5A3F-4722-B32B-8A0EB581824A-htm.html][http://knowledge.autodesk.com/support/3ds-max/learn-explore/caas/CloudHelp/cloudhelp/2015/ENU/3DSMax/files/GUID-DFE074D9-FF5E-4AAC-B3F8-AB53ADCDC124-htm.html].
If you are importing many metric objects into 3DSMax from other programs, it may make sense to change your “system units” to either centimeters or meters, and export your MakeHuman character in FBX format with the corresponding units. System units and Display units in Autodesk 3DSMax can be accessed from the Customize | Customization | Unit Setup menu:
[[File:ImpExp23.png]]
<center>'''Figure 1'''</center>
In the Units setup dialog choose “System Units”, and in the System Unit Setup dialog choose your desired units. Notice that in the figure below that although the “system units” are set to the default units of inches (right dialog), the display units are set to meters (radio button next to metric in left dialog). Imported assets are scaled into system units. System units are then converted to display units for the purposes of the 3DSMax ruler display, but remain stored internally in original system units.
[[File:ImpExp25.png]]
<center>'''Figure 2'''</center>
With this understanding of how to control the 3DSMax side of things, let’s import our MakeHuman character. We will leave 3DSMax set to inches, and export our MakeHuman FBX file using inches as units as well.
== Importing FBX into 3DSMax ==
From the 3DSMax application menu choose Import |Import, and navigate to FBX file you exported from MakeHuman using inches.
[[File:ImpExp26.png]]
<center>'''Figure 3'''</center>
By default, the exported file will be found in ~/makehuman/v1/exports/SomeName.fbx (where ~ is the user home directory). The textures for the exported file will be found in a subfolder called textures of the folder where the .fbx file is stored. 3DSMax can import either ASCII or binary FBX files, so either type of export can be used for MakeHuman export. <font color='red'>[RWB Note: as of this writing there are still some issues with direct FBX binary export, but those are expected to be repaired going forward].</font> When the file is initially imported into 3DSMax it looks like this:
[[File:ImpExp27.png]]
<center>'''Figure 4'''</center>
Click on the word [wireframe] in the top left of a viewport and choose realistic (or hardware in older versions) to see the material displayed with maps. The shortcut key is SHIFT-F3.
[[File:ImpExp37.png]]
<center>'''Figure 5'''</center>
To maximize the front viewport, left click on the front vieport to make it active and type ALT-W. Use the scroll wheel and middle mouse drag to zoom in on the face.
[[File:ImpExp38.png]]
<center>'''Figure 6'''</center>
Finally, it is helpful to hide the rig of the MakeHuman skeleton. In the panel on the right, select the Display icon and click on the put a check "helpers" in the "Hide by Category" panel.
[[File:ImpExp39.png]]
<center>'''Figure 7'''</center>
== Restoring Transparency for the Eyes ==
You should now have a relatively unobstructed view of the imported MakeHuman character. You will notice upon zooming in that there are significant issues with the transparency for eyes, eyelashes, eyebrows, and hair. We will illustrate the steps for the eyes. They can be repeated for the other 3 assets that use transparent materials.
Here are the steps to fix the eyes:
1. Left-click the eyes to select them.
[[File:ImpExp40.png]]
<center>'''Figure 8'''</center>
2. From the menus select, Materials | Create/Edit Materials | Edit selected Object’s Material. The Slate Material Editor will open with the [high poly] eyes node selected. [Note: If the compact material editor opens instead, use the Mode menu to go to the Slate Material Editor.] Click on the slate editor window to make it active. Spin the scroll wheel toward you until you see the texture map (Blue_eye_png in this case) attached to the Diffuse node on the eye material. Shift-middle mouse drag may help you center this pair in your viewport.
[[File:ImpExp34.png]]
<center>'''Figure 9'''</center>
3. Drag a connection between the output of the bitmap node and the Opacity input of the standard material node. In the panel on the right, click the little “+” to expand the Maps section. Then, still in the right panel, set the value of the newly checked opacity to 0.
[[File:ImpExp36.png]]
<center>'''Figure 10'''</center>
4. Now double left-click on the Blue_eye_png bitmap node, or alternatively, double click on the words blue_eye_png (bllue_eye.png) just to the right of the opacity row (maps column) of the right panel.
[[File:ImpExp41.png]]
<center>'''Figure 11'''</center>
5. Under bitmap parameters (right panel) set Mono Channel Output to alpha, set Alpha Source to Image Alpha, and confirm that RGB Channel Output is set to RGB.
[[File:ImpExp42.png]]
<center>'''Figure 12'''</center>
The eyes should now appear as the natural color with which they were exported from MakeHuman.
[[File:ImpExp43.png]]
<center>'''Figure 13'''</center>
== Fixing Transparency on the Other Assets ==
To fix the eyebrows, eyelashes, and hair, repeat steps 1 - 5 as described for the eyes with each other asset with that asset selected in turn. After completing the eyebrows, out model looks like this:
[[File:ImpExp44.png]]
<center>'''Figure 14'''</center>
After completing the eyebrows and the eyelashes, out model looks like this:
[[File:ImpExp45.png]]
<center>'''Figure 15'''</center>
After completing everything, out model looks very similar to the look it had upon export from MakeHuman.
[[File:ImpExp46.png]]
<center>'''Figure 16'''</center>
At this point if you save the file using Autodesk 3DSMAX native.max format, it can be read in again with no additional correction necessary. however, if you export the file as in FBX format and then read the file back into a new session it will have semi-transparent hair and now eyelashes or eyebrows. The face looks like this:
[[File:ImpExp47.png]]
<center>'''Figure 17'''</center>
To fix the assets complete the following steps:
1. TO BE WRITTEN
acfe99ed52bfaa5e34e088977fc13f123e2be743
304
303
2015-07-26T23:36:35Z
Robbaer
12
/* Fixing Transparency on the Other Assets */
wikitext
text/x-wiki
== Units Considerations ==
We will use the file created in the “Illustrating the export/import process” section to illustrate how to get your MakeHuman ready for use in Autodesk 3DSMax. During export the FBX exporter was set to ASCII and the scale was set to inches.
Autodesk 3DSMax has two types of units: “system units” and “display units”. By default, Autodesk uses inches as its “system units”. It is essential that 3DSMax “system units” be set to their FINAL value BEFORE importing any asset. Once set, do not change them again for that scene. If a 1 cubic foot cube object is imported, and then the system units are changed from inches to meters, the cube will become 1 cubic meter in volume.
The use of imperial inches as system units can complicate the process of FBX export/import, but if you export from MakeHuman using inches and import into 3DSMax using “automatic settings”, things should work well. <font color='red'>[edit RWB: this needs rechecking after finalizing MH unit handing for FBX].</font> This is the straight forward approach for architectural work in the U.S. where imperial units are common. The Autodesk web site discourages changing the system units of 3DSMax from default, but makes an explicit exception when importing assets from sources constructed using metric dimensions [http://knowledge.autodesk.com/support/3ds-max/learn-explore/caas/CloudHelp/cloudhelp/2015/ENU/3DSMax/files/GUID-7ECD378E-5A3F-4722-B32B-8A0EB581824A-htm.html][http://knowledge.autodesk.com/support/3ds-max/learn-explore/caas/CloudHelp/cloudhelp/2015/ENU/3DSMax/files/GUID-DFE074D9-FF5E-4AAC-B3F8-AB53ADCDC124-htm.html].
If you are importing many metric objects into 3DSMax from other programs, it may make sense to change your “system units” to either centimeters or meters, and export your MakeHuman character in FBX format with the corresponding units. System units and Display units in Autodesk 3DSMax can be accessed from the Customize | Customization | Unit Setup menu:
[[File:ImpExp23.png]]
<center>'''Figure 1'''</center>
In the Units setup dialog choose “System Units”, and in the System Unit Setup dialog choose your desired units. Notice that in the figure below that although the “system units” are set to the default units of inches (right dialog), the display units are set to meters (radio button next to metric in left dialog). Imported assets are scaled into system units. System units are then converted to display units for the purposes of the 3DSMax ruler display, but remain stored internally in original system units.
[[File:ImpExp25.png]]
<center>'''Figure 2'''</center>
With this understanding of how to control the 3DSMax side of things, let’s import our MakeHuman character. We will leave 3DSMax set to inches, and export our MakeHuman FBX file using inches as units as well.
== Importing FBX into 3DSMax ==
From the 3DSMax application menu choose Import |Import, and navigate to FBX file you exported from MakeHuman using inches.
[[File:ImpExp26.png]]
<center>'''Figure 3'''</center>
By default, the exported file will be found in ~/makehuman/v1/exports/SomeName.fbx (where ~ is the user home directory). The textures for the exported file will be found in a subfolder called textures of the folder where the .fbx file is stored. 3DSMax can import either ASCII or binary FBX files, so either type of export can be used for MakeHuman export. <font color='red'>[RWB Note: as of this writing there are still some issues with direct FBX binary export, but those are expected to be repaired going forward].</font> When the file is initially imported into 3DSMax it looks like this:
[[File:ImpExp27.png]]
<center>'''Figure 4'''</center>
Click on the word [wireframe] in the top left of a viewport and choose realistic (or hardware in older versions) to see the material displayed with maps. The shortcut key is SHIFT-F3.
[[File:ImpExp37.png]]
<center>'''Figure 5'''</center>
To maximize the front viewport, left click on the front vieport to make it active and type ALT-W. Use the scroll wheel and middle mouse drag to zoom in on the face.
[[File:ImpExp38.png]]
<center>'''Figure 6'''</center>
Finally, it is helpful to hide the rig of the MakeHuman skeleton. In the panel on the right, select the Display icon and click on the put a check "helpers" in the "Hide by Category" panel.
[[File:ImpExp39.png]]
<center>'''Figure 7'''</center>
== Restoring Transparency for the Eyes ==
You should now have a relatively unobstructed view of the imported MakeHuman character. You will notice upon zooming in that there are significant issues with the transparency for eyes, eyelashes, eyebrows, and hair. We will illustrate the steps for the eyes. They can be repeated for the other 3 assets that use transparent materials.
Here are the steps to fix the eyes:
1. Left-click the eyes to select them.
[[File:ImpExp40.png]]
<center>'''Figure 8'''</center>
2. From the menus select, Materials | Create/Edit Materials | Edit selected Object’s Material. The Slate Material Editor will open with the [high poly] eyes node selected. [Note: If the compact material editor opens instead, use the Mode menu to go to the Slate Material Editor.] Click on the slate editor window to make it active. Spin the scroll wheel toward you until you see the texture map (Blue_eye_png in this case) attached to the Diffuse node on the eye material. Shift-middle mouse drag may help you center this pair in your viewport.
[[File:ImpExp34.png]]
<center>'''Figure 9'''</center>
3. Drag a connection between the output of the bitmap node and the Opacity input of the standard material node. In the panel on the right, click the little “+” to expand the Maps section. Then, still in the right panel, set the value of the newly checked opacity to 0.
[[File:ImpExp36.png]]
<center>'''Figure 10'''</center>
4. Now double left-click on the Blue_eye_png bitmap node, or alternatively, double click on the words blue_eye_png (bllue_eye.png) just to the right of the opacity row (maps column) of the right panel.
[[File:ImpExp41.png]]
<center>'''Figure 11'''</center>
5. Under bitmap parameters (right panel) set Mono Channel Output to alpha, set Alpha Source to Image Alpha, and confirm that RGB Channel Output is set to RGB.
[[File:ImpExp42.png]]
<center>'''Figure 12'''</center>
The eyes should now appear as the natural color with which they were exported from MakeHuman.
[[File:ImpExp43.png]]
<center>'''Figure 13'''</center>
== Fixing Transparency on the Other Assets ==
To fix the eyebrows, eyelashes, and hair, repeat steps 1 - 5 as described for the eyes with each other asset with that asset selected in turn. After completing the eyebrows, out model looks like this:
[[File:ImpExp44.png]]
<center>'''Figure 14'''</center>
After completing the eyebrows and the eyelashes, out model looks like this:
[[File:ImpExp45.png]]
<center>'''Figure 15'''</center>
After completing everything, out model looks very similar to the look it had upon export from MakeHuman.
[[File:ImpExp46.png]]
<center>'''Figure 16'''</center>
At this point if you save the file using Autodesk 3DSMAX native.max format, it can be read in again with no additional correction necessary. however, if you export the file as in FBX format and then read the file back into a new session it will have semi-transparent hair and now eyelashes or eyebrows. The face looks like this:
[[File:ImpExp47.png]]
<center>'''Figure 17'''</center>
To fix the assets complete the following steps:
1. TO BE WRITTEN
c1a318f5aee3cb7a3ff36da1de1c5d4211fb138e
303
300
2015-07-26T23:28:42Z
Robbaer
12
/* Fixing Transparency on the Other Assets */
wikitext
text/x-wiki
== Units Considerations ==
We will use the file created in the “Illustrating the export/import process” section to illustrate how to get your MakeHuman ready for use in Autodesk 3DSMax. During export the FBX exporter was set to ASCII and the scale was set to inches.
Autodesk 3DSMax has two types of units: “system units” and “display units”. By default, Autodesk uses inches as its “system units”. It is essential that 3DSMax “system units” be set to their FINAL value BEFORE importing any asset. Once set, do not change them again for that scene. If a 1 cubic foot cube object is imported, and then the system units are changed from inches to meters, the cube will become 1 cubic meter in volume.
The use of imperial inches as system units can complicate the process of FBX export/import, but if you export from MakeHuman using inches and import into 3DSMax using “automatic settings”, things should work well. <font color='red'>[edit RWB: this needs rechecking after finalizing MH unit handing for FBX].</font> This is the straight forward approach for architectural work in the U.S. where imperial units are common. The Autodesk web site discourages changing the system units of 3DSMax from default, but makes an explicit exception when importing assets from sources constructed using metric dimensions [http://knowledge.autodesk.com/support/3ds-max/learn-explore/caas/CloudHelp/cloudhelp/2015/ENU/3DSMax/files/GUID-7ECD378E-5A3F-4722-B32B-8A0EB581824A-htm.html][http://knowledge.autodesk.com/support/3ds-max/learn-explore/caas/CloudHelp/cloudhelp/2015/ENU/3DSMax/files/GUID-DFE074D9-FF5E-4AAC-B3F8-AB53ADCDC124-htm.html].
If you are importing many metric objects into 3DSMax from other programs, it may make sense to change your “system units” to either centimeters or meters, and export your MakeHuman character in FBX format with the corresponding units. System units and Display units in Autodesk 3DSMax can be accessed from the Customize | Customization | Unit Setup menu:
[[File:ImpExp23.png]]
<center>'''Figure 1'''</center>
In the Units setup dialog choose “System Units”, and in the System Unit Setup dialog choose your desired units. Notice that in the figure below that although the “system units” are set to the default units of inches (right dialog), the display units are set to meters (radio button next to metric in left dialog). Imported assets are scaled into system units. System units are then converted to display units for the purposes of the 3DSMax ruler display, but remain stored internally in original system units.
[[File:ImpExp25.png]]
<center>'''Figure 2'''</center>
With this understanding of how to control the 3DSMax side of things, let’s import our MakeHuman character. We will leave 3DSMax set to inches, and export our MakeHuman FBX file using inches as units as well.
== Importing FBX into 3DSMax ==
From the 3DSMax application menu choose Import |Import, and navigate to FBX file you exported from MakeHuman using inches.
[[File:ImpExp26.png]]
<center>'''Figure 3'''</center>
By default, the exported file will be found in ~/makehuman/v1/exports/SomeName.fbx (where ~ is the user home directory). The textures for the exported file will be found in a subfolder called textures of the folder where the .fbx file is stored. 3DSMax can import either ASCII or binary FBX files, so either type of export can be used for MakeHuman export. <font color='red'>[RWB Note: as of this writing there are still some issues with direct FBX binary export, but those are expected to be repaired going forward].</font> When the file is initially imported into 3DSMax it looks like this:
[[File:ImpExp27.png]]
<center>'''Figure 4'''</center>
Click on the word [wireframe] in the top left of a viewport and choose realistic (or hardware in older versions) to see the material displayed with maps. The shortcut key is SHIFT-F3.
[[File:ImpExp37.png]]
<center>'''Figure 5'''</center>
To maximize the front viewport, left click on the front vieport to make it active and type ALT-W. Use the scroll wheel and middle mouse drag to zoom in on the face.
[[File:ImpExp38.png]]
<center>'''Figure 6'''</center>
Finally, it is helpful to hide the rig of the MakeHuman skeleton. In the panel on the right, select the Display icon and click on the put a check "helpers" in the "Hide by Category" panel.
[[File:ImpExp39.png]]
<center>'''Figure 7'''</center>
== Restoring Transparency for the Eyes ==
You should now have a relatively unobstructed view of the imported MakeHuman character. You will notice upon zooming in that there are significant issues with the transparency for eyes, eyelashes, eyebrows, and hair. We will illustrate the steps for the eyes. They can be repeated for the other 3 assets that use transparent materials.
Here are the steps to fix the eyes:
1. Left-click the eyes to select them.
[[File:ImpExp40.png]]
<center>'''Figure 8'''</center>
2. From the menus select, Materials | Create/Edit Materials | Edit selected Object’s Material. The Slate Material Editor will open with the [high poly] eyes node selected. [Note: If the compact material editor opens instead, use the Mode menu to go to the Slate Material Editor.] Click on the slate editor window to make it active. Spin the scroll wheel toward you until you see the texture map (Blue_eye_png in this case) attached to the Diffuse node on the eye material. Shift-middle mouse drag may help you center this pair in your viewport.
[[File:ImpExp34.png]]
<center>'''Figure 9'''</center>
3. Drag a connection between the output of the bitmap node and the Opacity input of the standard material node. In the panel on the right, click the little “+” to expand the Maps section. Then, still in the right panel, set the value of the newly checked opacity to 0.
[[File:ImpExp36.png]]
<center>'''Figure 10'''</center>
4. Now double left-click on the Blue_eye_png bitmap node, or alternatively, double click on the words blue_eye_png (bllue_eye.png) just to the right of the opacity row (maps column) of the right panel.
[[File:ImpExp41.png]]
<center>'''Figure 11'''</center>
5. Under bitmap parameters (right panel) set Mono Channel Output to alpha, set Alpha Source to Image Alpha, and confirm that RGB Channel Output is set to RGB.
[[File:ImpExp42.png]]
<center>'''Figure 12'''</center>
The eyes should now appear as the natural color with which they were exported from MakeHuman.
[[File:ImpExp43.png]]
<center>'''Figure 13'''</center>
== Fixing Transparency on the Other Assets ==
To fix the eyebrows, eyelashes, and hair, repeat steps 1 - 5 as described for the eyes with each other asset with that asset selected in turn. After completing the eyebrows, out model looks like this:
[[File:ImpExp44.png]]
<center>'''Figure 14'''</center>
After completing the eyebrows and the eyelashes, out model looks like this:
[[File:ImpExp45.png]]
<center>'''Figure 15'''</center>
After completing everything, out model looks very similar to the look it had upon export from MakeHuman.
[[File:ImpExp46.png]]
<center>'''Figure 16'''</center>
At this point if you save the file using Autodesk 3DSMAX native.max format, it can be read in again with no additional correction necessary. however, if you export the file as in FBX format and then read the file back into a new session it will have semi-transparent hair and now eyelashes or eyebrows. The face looks like this:
[[File:ImpExp47.png]]
<center>'''Figure 17'''</center>
To fix the assets complete the following steps:
1.
ab4198c88a72a913b2f3c00854c21a6a8a6e8348
300
295
2015-07-26T23:03:38Z
Robbaer
12
/* Units Considerations */
wikitext
text/x-wiki
== Units Considerations ==
We will use the file created in the “Illustrating the export/import process” section to illustrate how to get your MakeHuman ready for use in Autodesk 3DSMax. During export the FBX exporter was set to ASCII and the scale was set to inches.
Autodesk 3DSMax has two types of units: “system units” and “display units”. By default, Autodesk uses inches as its “system units”. It is essential that 3DSMax “system units” be set to their FINAL value BEFORE importing any asset. Once set, do not change them again for that scene. If a 1 cubic foot cube object is imported, and then the system units are changed from inches to meters, the cube will become 1 cubic meter in volume.
The use of imperial inches as system units can complicate the process of FBX export/import, but if you export from MakeHuman using inches and import into 3DSMax using “automatic settings”, things should work well. <font color='red'>[edit RWB: this needs rechecking after finalizing MH unit handing for FBX].</font> This is the straight forward approach for architectural work in the U.S. where imperial units are common. The Autodesk web site discourages changing the system units of 3DSMax from default, but makes an explicit exception when importing assets from sources constructed using metric dimensions [http://knowledge.autodesk.com/support/3ds-max/learn-explore/caas/CloudHelp/cloudhelp/2015/ENU/3DSMax/files/GUID-7ECD378E-5A3F-4722-B32B-8A0EB581824A-htm.html][http://knowledge.autodesk.com/support/3ds-max/learn-explore/caas/CloudHelp/cloudhelp/2015/ENU/3DSMax/files/GUID-DFE074D9-FF5E-4AAC-B3F8-AB53ADCDC124-htm.html].
If you are importing many metric objects into 3DSMax from other programs, it may make sense to change your “system units” to either centimeters or meters, and export your MakeHuman character in FBX format with the corresponding units. System units and Display units in Autodesk 3DSMax can be accessed from the Customize | Customization | Unit Setup menu:
[[File:ImpExp23.png]]
<center>'''Figure 1'''</center>
In the Units setup dialog choose “System Units”, and in the System Unit Setup dialog choose your desired units. Notice that in the figure below that although the “system units” are set to the default units of inches (right dialog), the display units are set to meters (radio button next to metric in left dialog). Imported assets are scaled into system units. System units are then converted to display units for the purposes of the 3DSMax ruler display, but remain stored internally in original system units.
[[File:ImpExp25.png]]
<center>'''Figure 2'''</center>
With this understanding of how to control the 3DSMax side of things, let’s import our MakeHuman character. We will leave 3DSMax set to inches, and export our MakeHuman FBX file using inches as units as well.
== Importing FBX into 3DSMax ==
From the 3DSMax application menu choose Import |Import, and navigate to FBX file you exported from MakeHuman using inches.
[[File:ImpExp26.png]]
<center>'''Figure 3'''</center>
By default, the exported file will be found in ~/makehuman/v1/exports/SomeName.fbx (where ~ is the user home directory). The textures for the exported file will be found in a subfolder called textures of the folder where the .fbx file is stored. 3DSMax can import either ASCII or binary FBX files, so either type of export can be used for MakeHuman export. <font color='red'>[RWB Note: as of this writing there are still some issues with direct FBX binary export, but those are expected to be repaired going forward].</font> When the file is initially imported into 3DSMax it looks like this:
[[File:ImpExp27.png]]
<center>'''Figure 4'''</center>
Click on the word [wireframe] in the top left of a viewport and choose realistic (or hardware in older versions) to see the material displayed with maps. The shortcut key is SHIFT-F3.
[[File:ImpExp37.png]]
<center>'''Figure 5'''</center>
To maximize the front viewport, left click on the front vieport to make it active and type ALT-W. Use the scroll wheel and middle mouse drag to zoom in on the face.
[[File:ImpExp38.png]]
<center>'''Figure 6'''</center>
Finally, it is helpful to hide the rig of the MakeHuman skeleton. In the panel on the right, select the Display icon and click on the put a check "helpers" in the "Hide by Category" panel.
[[File:ImpExp39.png]]
<center>'''Figure 7'''</center>
== Restoring Transparency for the Eyes ==
You should now have a relatively unobstructed view of the imported MakeHuman character. You will notice upon zooming in that there are significant issues with the transparency for eyes, eyelashes, eyebrows, and hair. We will illustrate the steps for the eyes. They can be repeated for the other 3 assets that use transparent materials.
Here are the steps to fix the eyes:
1. Left-click the eyes to select them.
[[File:ImpExp40.png]]
<center>'''Figure 8'''</center>
2. From the menus select, Materials | Create/Edit Materials | Edit selected Object’s Material. The Slate Material Editor will open with the [high poly] eyes node selected. [Note: If the compact material editor opens instead, use the Mode menu to go to the Slate Material Editor.] Click on the slate editor window to make it active. Spin the scroll wheel toward you until you see the texture map (Blue_eye_png in this case) attached to the Diffuse node on the eye material. Shift-middle mouse drag may help you center this pair in your viewport.
[[File:ImpExp34.png]]
<center>'''Figure 9'''</center>
3. Drag a connection between the output of the bitmap node and the Opacity input of the standard material node. In the panel on the right, click the little “+” to expand the Maps section. Then, still in the right panel, set the value of the newly checked opacity to 0.
[[File:ImpExp36.png]]
<center>'''Figure 10'''</center>
4. Now double left-click on the Blue_eye_png bitmap node, or alternatively, double click on the words blue_eye_png (bllue_eye.png) just to the right of the opacity row (maps column) of the right panel.
[[File:ImpExp41.png]]
<center>'''Figure 11'''</center>
5. Under bitmap parameters (right panel) set Mono Channel Output to alpha, set Alpha Source to Image Alpha, and confirm that RGB Channel Output is set to RGB.
[[File:ImpExp42.png]]
<center>'''Figure 12'''</center>
The eyes should now appear as the natural color with which they were exported from MakeHuman.
[[File:ImpExp43.png]]
<center>'''Figure 13'''</center>
== Fixing Transparency on the Other Assets ==
To fix the eyebrows, eyelashes, and hair, repeat steps 1 - 5 as described for the eyes with each other asset with that asset selected in turn. After completing the eyebrows, out model looks like this:
[[File:ImpExp44.png]]
<center>'''Figure 14'''</center>
After completing the eyebrows and the eyelashes, out model looks like this:
[[File:ImpExp45.png]]
<center>'''Figure 15'''</center>
After completing everything, out model looks very similar to the look it had upon export from MakeHuman.
[[File:ImpExp46.png]]
<center>'''Figure 16'''</center>
d032ffe3a841fe60f70e0c72ce16fa80da786aee
295
294
2015-07-26T22:43:05Z
Robbaer
12
wikitext
text/x-wiki
== Units Considerations ==
We will use the file created in the “Illustrating the export/import process” section to illustrate how to get your MakeHuman ready for use in Autodesk 3DSMax.
Autodesk 3DSMax has two types of units: “system units” and “display units”. By default, Autodesk uses inches as its “system units”. It is essential that 3DSMax “system units” be set to their FINAL value BEFORE importing any asset. Once set, do not change them again for that scene. If a 1 cubic foot cube object is imported, and then the system units are changed from inches to meters, the cube will become 1 cubic meter in volume.
The use of imperial inches as system units can complicate the process of FBX export/import, but if you export from MakeHuman using inches and import into 3DSMax using “automatic settings”, things should work well. <font color='red'>[edit RWB: this needs rechecking after finalizing MH unit handing for FBX].</font> This is the straight forward approach for architectural work in the U.S. where imperial units are common. The Autodesk web site discourages changing the system units of 3DSMax from default, but makes an explicit exception when importing assets from sources constructed using metric dimensions [http://knowledge.autodesk.com/support/3ds-max/learn-explore/caas/CloudHelp/cloudhelp/2015/ENU/3DSMax/files/GUID-7ECD378E-5A3F-4722-B32B-8A0EB581824A-htm.html][http://knowledge.autodesk.com/support/3ds-max/learn-explore/caas/CloudHelp/cloudhelp/2015/ENU/3DSMax/files/GUID-DFE074D9-FF5E-4AAC-B3F8-AB53ADCDC124-htm.html].
If you are importing many metric objects into 3DSMax from other programs, it may make sense to change your “system units” to either centimeters or meters, and export your MakeHuman character in FBX format with the corresponding units. System units and Display units in Autodesk 3DSMax can be accessed from the Customize | Customization | Unit Setup menu:
[[File:ImpExp23.png]]
<center>'''Figure 1'''</center>
In the Units setup dialog choose “System Units”, and in the System Unit Setup dialog choose your desired units. Notice that in the figure below that although the “system units” are set to the default units of inches (right dialog), the display units are set to meters (radio button next to metric in left dialog). Imported assets are scaled into system units. System units are then converted to display units for the purposes of the 3DSMax ruler display, but remain stored internally in original system units.
[[File:ImpExp25.png]]
<center>'''Figure 2'''</center>
With this understanding of how to control the 3DSMax side of things, let’s import our MakeHuman character. We will leave 3DSMax set to inches, and export our MakeHuman FBX file using inches as units as well.
== Importing FBX into 3DSMax ==
From the 3DSMax application menu choose Import |Import, and navigate to FBX file you exported from MakeHuman using inches.
[[File:ImpExp26.png]]
<center>'''Figure 3'''</center>
By default, the exported file will be found in ~/makehuman/v1/exports/SomeName.fbx (where ~ is the user home directory). The textures for the exported file will be found in a subfolder called textures of the folder where the .fbx file is stored. 3DSMax can import either ASCII or binary FBX files, so either type of export can be used for MakeHuman export. <font color='red'>[RWB Note: as of this writing there are still some issues with direct FBX binary export, but those are expected to be repaired going forward].</font> When the file is initially imported into 3DSMax it looks like this:
[[File:ImpExp27.png]]
<center>'''Figure 4'''</center>
Click on the word [wireframe] in the top left of a viewport and choose realistic (or hardware in older versions) to see the material displayed with maps. The shortcut key is SHIFT-F3.
[[File:ImpExp37.png]]
<center>'''Figure 5'''</center>
To maximize the front viewport, left click on the front vieport to make it active and type ALT-W. Use the scroll wheel and middle mouse drag to zoom in on the face.
[[File:ImpExp38.png]]
<center>'''Figure 6'''</center>
Finally, it is helpful to hide the rig of the MakeHuman skeleton. In the panel on the right, select the Display icon and click on the put a check "helpers" in the "Hide by Category" panel.
[[File:ImpExp39.png]]
<center>'''Figure 7'''</center>
== Restoring Transparency for the Eyes ==
You should now have a relatively unobstructed view of the imported MakeHuman character. You will notice upon zooming in that there are significant issues with the transparency for eyes, eyelashes, eyebrows, and hair. We will illustrate the steps for the eyes. They can be repeated for the other 3 assets that use transparent materials.
Here are the steps to fix the eyes:
1. Left-click the eyes to select them.
[[File:ImpExp40.png]]
<center>'''Figure 8'''</center>
2. From the menus select, Materials | Create/Edit Materials | Edit selected Object’s Material. The Slate Material Editor will open with the [high poly] eyes node selected. [Note: If the compact material editor opens instead, use the Mode menu to go to the Slate Material Editor.] Click on the slate editor window to make it active. Spin the scroll wheel toward you until you see the texture map (Blue_eye_png in this case) attached to the Diffuse node on the eye material. Shift-middle mouse drag may help you center this pair in your viewport.
[[File:ImpExp34.png]]
<center>'''Figure 9'''</center>
3. Drag a connection between the output of the bitmap node and the Opacity input of the standard material node. In the panel on the right, click the little “+” to expand the Maps section. Then, still in the right panel, set the value of the newly checked opacity to 0.
[[File:ImpExp36.png]]
<center>'''Figure 10'''</center>
4. Now double left-click on the Blue_eye_png bitmap node, or alternatively, double click on the words blue_eye_png (bllue_eye.png) just to the right of the opacity row (maps column) of the right panel.
[[File:ImpExp41.png]]
<center>'''Figure 11'''</center>
5. Under bitmap parameters (right panel) set Mono Channel Output to alpha, set Alpha Source to Image Alpha, and confirm that RGB Channel Output is set to RGB.
[[File:ImpExp42.png]]
<center>'''Figure 12'''</center>
The eyes should now appear as the natural color with which they were exported from MakeHuman.
[[File:ImpExp43.png]]
<center>'''Figure 13'''</center>
== Fixing Transparency on the Other Assets ==
To fix the eyebrows, eyelashes, and hair, repeat steps 1 - 5 as described for the eyes with each other asset with that asset selected in turn. After completing the eyebrows, out model looks like this:
[[File:ImpExp44.png]]
<center>'''Figure 14'''</center>
After completing the eyebrows and the eyelashes, out model looks like this:
[[File:ImpExp45.png]]
<center>'''Figure 15'''</center>
After completing everything, out model looks very similar to the look it had upon export from MakeHuman.
[[File:ImpExp46.png]]
<center>'''Figure 16'''</center>
a04014c5d5f75f9aa0f4827cfbcb7927ba1827e7
294
291
2015-07-26T22:36:15Z
Robbaer
12
/* Restoring Transparency for the Eyes */
wikitext
text/x-wiki
== Units Considerations ==
We will use the file created in the “Illustrating the export/import process” section to illustrate how to get your MakeHuman ready for use in Autodesk 3DSMax.
Autodesk 3DSMax has two types of units: “system units” and “display units”. By default, Autodesk uses inches as its “system units”. It is essential that 3DSMax “system units” be set to their FINAL value BEFORE importing any asset. Once set, do not change them again for that scene. If a 1 cubic foot cube object is imported, and then the system units are changed from inches to meters, the cube will become 1 cubic meter in volume.
The use of imperial inches as system units can complicate the process of FBX export/import, but if you export from MakeHuman using inches and import into 3DSMax using “automatic settings”, things should work well. <font color='red'>[edit RWB: this needs rechecking after finalizing MH unit handing for FBX].</font> This is the straight forward approach for architectural work in the U.S. where imperial units are common. The Autodesk web site discourages changing the system units of 3DSMax from default, but makes an explicit exception when importing assets from sources constructed using metric dimensions [http://knowledge.autodesk.com/support/3ds-max/learn-explore/caas/CloudHelp/cloudhelp/2015/ENU/3DSMax/files/GUID-7ECD378E-5A3F-4722-B32B-8A0EB581824A-htm.html][http://knowledge.autodesk.com/support/3ds-max/learn-explore/caas/CloudHelp/cloudhelp/2015/ENU/3DSMax/files/GUID-DFE074D9-FF5E-4AAC-B3F8-AB53ADCDC124-htm.html].
If you are importing many metric objects into 3DSMax from other programs, it may make sense to change your “system units” to either centimeters or meters, and export your MakeHuman character in FBX format with the corresponding units. System units and Display units in Autodesk 3DSMax can be accessed from the Customize | Customization | Unit Setup menu:
[[File:ImpExp23.png]]
<center>'''Figure 1'''</center>
In the Units setup dialog choose “System Units”, and in the System Unit Setup dialog choose your desired units. Notice that in the figure below that although the “system units” are set to the default units of inches (right dialog), the display units are set to meters (radio button next to metric in left dialog). Imported assets are scaled into system units. System units are then converted to display units for the purposes of the 3DSMax ruler display, but remain stored internally in original system units.
[[File:ImpExp25.png]]
<center>'''Figure 2'''</center>
With this understanding of how to control the 3DSMax side of things, let’s import our MakeHuman character. We will leave 3DSMax set to inches, and export our MakeHuman FBX file using inches as units as well.
== Importing FBX into 3DSMax ==
From the 3DSMax application menu choose Import |Import, and navigate to FBX file you exported from MakeHuman using inches.
[[File:ImpExp26.png]]
<center>'''Figure 3'''</center>
By default, the exported file will be found in ~/makehuman/v1/exports/SomeName.fbx (where ~ is the user home directory). The textures for the exported file will be found in a subfolder called textures of the folder where the .fbx file is stored. 3DSMax can import either ASCII or binary FBX files, so either type of export can be used for MakeHuman export. <font color='red'>[RWB Note: as of this writing there are still some issues with direct FBX binary export, but those are expected to be repaired going forward].</font> When the file is initially imported into 3DSMax it looks like this:
[[File:ImpExp27.png]]
<center>'''Figure 4'''</center>
Click on the word [wireframe] in the top left of a viewport and choose realistic (or hardware in older versions) to see the material displayed with maps. The shortcut key is SHIFT-F3.
[[File:ImpExp37.png]]
<center>'''Figure 5'''</center>
To maximize the front viewport, left click on the front vieport to make it active and type ALT-W. Use the scroll wheel and middle mouse drag to zoom in on the face.
[[File:ImpExp38.png]]
<center>'''Figure 6'''</center>
Finally, it is helpful to hide the rig of the MakeHuman skeleton. In the panel on the right, select the Display icon and click on the put a check "helpers" in the "Hide by Category" panel.
[[File:ImpExp39.png]]
<center>'''Figure 7'''</center>
== Restoring Transparency for the Eyes ==
You should now have a relatively unobstructed view of the imported MakeHuman character. You will notice upon zooming in that there are significant issues with the transparency for eyes, eyelashes, eyebrows, and hair. We will illustrate the steps for the eyes. They can be repeated for the other 3 assets that use transparent materials.
Here are the steps to fix the eyes:
1. Left-click the eyes to select them.
[[File:ImpExp40.png]]
<center>'''Figure 8'''</center>
2. From the menus select, Materials | Create/Edit Materials | Edit selected Object’s Material. The Slate Material Editor will open with the [high poly] eyes node selected. [Note: If the compact material editor opens instead, use the Mode menu to go to the Slate Material Editor.] Click on the slate editor window to make it active. Spin the scroll wheel toward you until you see the texture map (Blue_eye_png in this case) attached to the Diffuse node on the eye material. Shift-middle mouse drag may help you center this pair in your viewport.
[[File:ImpExp34.png]]
<center>'''Figure 9'''</center>
3. Drag a connection between the output of the bitmap node and the Opacity input of the standard material node. In the panel on the right, click the little “+” to expand the Maps section. Then, still in the right panel, set the value of the newly checked opacity to 0.
[[File:ImpExp36.png]]
<center>'''Figure 10'''</center>
4. Now double left-click on the Blue_eye_png bitmap node, or alternatively, double click on the words blue_eye_png (bllue_eye.png) just to the right of the opacity row (maps column) of the right panel.
[[File:ImpExp41.png]]
<center>'''Figure 11'''</center>
5. Under bitmap parameters (right panel) set Mono Channel Output to alpha, set Alpha Source to Image Alpha, and confirm that RGB Channel Output is set to RGB.
[[File:ImpExp42.png]]
<center>'''Figure 12'''</center>
The eyes should now appear as the natural color with which they were exported from MakeHuman.
[[File:ImpExp43.png]]
<center>'''Figure 13'''</center>
0c062b6f666ff77714c39f3d1349d7c574ba12f5
291
288
2015-07-26T21:02:33Z
Robbaer
12
/* Restoring Transparency for the Eyes */
wikitext
text/x-wiki
== Units Considerations ==
We will use the file created in the “Illustrating the export/import process” section to illustrate how to get your MakeHuman ready for use in Autodesk 3DSMax.
Autodesk 3DSMax has two types of units: “system units” and “display units”. By default, Autodesk uses inches as its “system units”. It is essential that 3DSMax “system units” be set to their FINAL value BEFORE importing any asset. Once set, do not change them again for that scene. If a 1 cubic foot cube object is imported, and then the system units are changed from inches to meters, the cube will become 1 cubic meter in volume.
The use of imperial inches as system units can complicate the process of FBX export/import, but if you export from MakeHuman using inches and import into 3DSMax using “automatic settings”, things should work well. <font color='red'>[edit RWB: this needs rechecking after finalizing MH unit handing for FBX].</font> This is the straight forward approach for architectural work in the U.S. where imperial units are common. The Autodesk web site discourages changing the system units of 3DSMax from default, but makes an explicit exception when importing assets from sources constructed using metric dimensions [http://knowledge.autodesk.com/support/3ds-max/learn-explore/caas/CloudHelp/cloudhelp/2015/ENU/3DSMax/files/GUID-7ECD378E-5A3F-4722-B32B-8A0EB581824A-htm.html][http://knowledge.autodesk.com/support/3ds-max/learn-explore/caas/CloudHelp/cloudhelp/2015/ENU/3DSMax/files/GUID-DFE074D9-FF5E-4AAC-B3F8-AB53ADCDC124-htm.html].
If you are importing many metric objects into 3DSMax from other programs, it may make sense to change your “system units” to either centimeters or meters, and export your MakeHuman character in FBX format with the corresponding units. System units and Display units in Autodesk 3DSMax can be accessed from the Customize | Customization | Unit Setup menu:
[[File:ImpExp23.png]]
<center>'''Figure 1'''</center>
In the Units setup dialog choose “System Units”, and in the System Unit Setup dialog choose your desired units. Notice that in the figure below that although the “system units” are set to the default units of inches (right dialog), the display units are set to meters (radio button next to metric in left dialog). Imported assets are scaled into system units. System units are then converted to display units for the purposes of the 3DSMax ruler display, but remain stored internally in original system units.
[[File:ImpExp25.png]]
<center>'''Figure 2'''</center>
With this understanding of how to control the 3DSMax side of things, let’s import our MakeHuman character. We will leave 3DSMax set to inches, and export our MakeHuman FBX file using inches as units as well.
== Importing FBX into 3DSMax ==
From the 3DSMax application menu choose Import |Import, and navigate to FBX file you exported from MakeHuman using inches.
[[File:ImpExp26.png]]
<center>'''Figure 3'''</center>
By default, the exported file will be found in ~/makehuman/v1/exports/SomeName.fbx (where ~ is the user home directory). The textures for the exported file will be found in a subfolder called textures of the folder where the .fbx file is stored. 3DSMax can import either ASCII or binary FBX files, so either type of export can be used for MakeHuman export. <font color='red'>[RWB Note: as of this writing there are still some issues with direct FBX binary export, but those are expected to be repaired going forward].</font> When the file is initially imported into 3DSMax it looks like this:
[[File:ImpExp27.png]]
<center>'''Figure 4'''</center>
Click on the word [wireframe] in the top left of a viewport and choose realistic (or hardware in older versions) to see the material displayed with maps. The shortcut key is SHIFT-F3.
[[File:ImpExp37.png]]
<center>'''Figure 5'''</center>
To maximize the front viewport, left click on the front vieport to make it active and type ALT-W. Use the scroll wheel and middle mouse drag to zoom in on the face.
[[File:ImpExp38.png]]
<center>'''Figure 6'''</center>
Finally, it is helpful to hide the rig of the MakeHuman skeleton. In the panel on the right, select the Display icon and click on the put a check "helpers" in the "Hide by Category" panel.
[[File:ImpExp39.png]]
<center>'''Figure 7'''</center>
== Restoring Transparency for the Eyes ==
You should now have a relatively unobstructed view of the imported MakeHuman character. You will notice upon zooming in that there are significant issues with the transparency for eyes, eyelashes, eyebrows, and hair. We will illustrate the steps for the eyes. They can be repeated for the other 3 assets that use transparent materials.
Here are the steps to fix the eyes:
1. Left-click the eyes to select them.
[[File:ImpExp40.png]]
<center>'''Figure 8'''</center>
2. From the menus select, Materials | Create/Edit Materials | Edit selected Object’s Material. The Slate Material Editor will open with the [high poly] eyes node selected. [Note: If the compact material editor opens instead, use the Mode menu to go to the Slate Material Editor.] Click on the slate editor window to make it active. Spin the scroll wheel toward you until you see the texture map (Blue_eye_png in this case) attached to the Diffuse node on the eye material. Shift-middle mouse drag may help you center this pair in your viewport.
[[File:ImpExp34.png]]
<center>'''Figure 9'''</center>
3. Drag a connection between the output of the bitmap node and the Opacity input of the standard material node. In the panel on the right, click the little “+” to expand the Maps section. Then, still in the right panel, set the value of the newly checked opacity to 0.
[[File:ImpExp36.png]]
<center>'''Figure 10'''</center>
4. Now double left-click on the Blue_eye_png bitmap node, or alternatively, double click on the words blue_eye_png (bllue_eye.png) just to the right of the opacity row (maps column) of the right panel.
[[File:ImpExp41.png]]
<center>'''Figure 11'''</center>
5. Under bitmap parameters (right panel) set Mono Channel Output to alpha, set Alpha Source to Image Alpha, and confirm that RGB Channel Output is set to RGB.
9ad72685571f03a0e343cdfcaabaa37d6c426943
288
287
2015-07-26T20:25:22Z
Robbaer
12
/* Restoring Transparency for the Eyes */
wikitext
text/x-wiki
== Units Considerations ==
We will use the file created in the “Illustrating the export/import process” section to illustrate how to get your MakeHuman ready for use in Autodesk 3DSMax.
Autodesk 3DSMax has two types of units: “system units” and “display units”. By default, Autodesk uses inches as its “system units”. It is essential that 3DSMax “system units” be set to their FINAL value BEFORE importing any asset. Once set, do not change them again for that scene. If a 1 cubic foot cube object is imported, and then the system units are changed from inches to meters, the cube will become 1 cubic meter in volume.
The use of imperial inches as system units can complicate the process of FBX export/import, but if you export from MakeHuman using inches and import into 3DSMax using “automatic settings”, things should work well. <font color='red'>[edit RWB: this needs rechecking after finalizing MH unit handing for FBX].</font> This is the straight forward approach for architectural work in the U.S. where imperial units are common. The Autodesk web site discourages changing the system units of 3DSMax from default, but makes an explicit exception when importing assets from sources constructed using metric dimensions [http://knowledge.autodesk.com/support/3ds-max/learn-explore/caas/CloudHelp/cloudhelp/2015/ENU/3DSMax/files/GUID-7ECD378E-5A3F-4722-B32B-8A0EB581824A-htm.html][http://knowledge.autodesk.com/support/3ds-max/learn-explore/caas/CloudHelp/cloudhelp/2015/ENU/3DSMax/files/GUID-DFE074D9-FF5E-4AAC-B3F8-AB53ADCDC124-htm.html].
If you are importing many metric objects into 3DSMax from other programs, it may make sense to change your “system units” to either centimeters or meters, and export your MakeHuman character in FBX format with the corresponding units. System units and Display units in Autodesk 3DSMax can be accessed from the Customize | Customization | Unit Setup menu:
[[File:ImpExp23.png]]
<center>'''Figure 1'''</center>
In the Units setup dialog choose “System Units”, and in the System Unit Setup dialog choose your desired units. Notice that in the figure below that although the “system units” are set to the default units of inches (right dialog), the display units are set to meters (radio button next to metric in left dialog). Imported assets are scaled into system units. System units are then converted to display units for the purposes of the 3DSMax ruler display, but remain stored internally in original system units.
[[File:ImpExp25.png]]
<center>'''Figure 2'''</center>
With this understanding of how to control the 3DSMax side of things, let’s import our MakeHuman character. We will leave 3DSMax set to inches, and export our MakeHuman FBX file using inches as units as well.
== Importing FBX into 3DSMax ==
From the 3DSMax application menu choose Import |Import, and navigate to FBX file you exported from MakeHuman using inches.
[[File:ImpExp26.png]]
<center>'''Figure 3'''</center>
By default, the exported file will be found in ~/makehuman/v1/exports/SomeName.fbx (where ~ is the user home directory). The textures for the exported file will be found in a subfolder called textures of the folder where the .fbx file is stored. 3DSMax can import either ASCII or binary FBX files, so either type of export can be used for MakeHuman export. <font color='red'>[RWB Note: as of this writing there are still some issues with direct FBX binary export, but those are expected to be repaired going forward].</font> When the file is initially imported into 3DSMax it looks like this:
[[File:ImpExp27.png]]
<center>'''Figure 4'''</center>
Click on the word [wireframe] in the top left of a viewport and choose realistic (or hardware in older versions) to see the material displayed with maps. The shortcut key is SHIFT-F3.
[[File:ImpExp37.png]]
<center>'''Figure 5'''</center>
To maximize the front viewport, left click on the front vieport to make it active and type ALT-W. Use the scroll wheel and middle mouse drag to zoom in on the face.
[[File:ImpExp38.png]]
<center>'''Figure 6'''</center>
Finally, it is helpful to hide the rig of the MakeHuman skeleton. In the panel on the right, select the Display icon and click on the put a check "helpers" in the "Hide by Category" panel.
[[File:ImpExp39.png]]
<center>'''Figure 7'''</center>
== Restoring Transparency for the Eyes ==
You should now have a relatively unobstructed view of the imported MakeHuman character. You will notice upon zooming in that there are significant issues with the transparency for eyes, eyelashes, eyebrows, and hair. We will illustrate the steps for the eyes. They can be repeated for the other 3 assets that use transparent materials.
Here are the steps to fix the eyes:
1. Left-click the eyes to select them (right panel above), and from the menus select, Materials | Create/Edit Materials | Edit selected Object’s Material.
[[File:ImpExp40.png]]
<center>'''Figure 7'''</center>
2. The Slate Material Editor will open with the [high poly] eyes node selected. [Note: If the compact material editor opens instead, use the Mode menu to go to the Slate Material Editor. Spin the scroll wheel toward you until you see the texture map (Blue_eye_png in this case) attached to the Diffuse node on the eye material. Shift-middle mouse drag may help you center this pair in your viewport.
[[File:ImpExp34.png]]
<center>'''Figure 8'''</center>
3. Drag a connection between the output of the bitmap node and the Opacity input of the standard material node. In the panel on the right, click the little “+” to expand the Maps section. Then, still in the right panel, set the value of the newly checked opacity to 0.
[[File:ImpExp36.png]]
<center>'''Figure 9'''</center>
0eb0af46a765c3ba395404d90ebb70d4d9e902f0
287
286
2015-07-26T20:23:17Z
Robbaer
12
/* Importing FBX into 3DSMax */
wikitext
text/x-wiki
== Units Considerations ==
We will use the file created in the “Illustrating the export/import process” section to illustrate how to get your MakeHuman ready for use in Autodesk 3DSMax.
Autodesk 3DSMax has two types of units: “system units” and “display units”. By default, Autodesk uses inches as its “system units”. It is essential that 3DSMax “system units” be set to their FINAL value BEFORE importing any asset. Once set, do not change them again for that scene. If a 1 cubic foot cube object is imported, and then the system units are changed from inches to meters, the cube will become 1 cubic meter in volume.
The use of imperial inches as system units can complicate the process of FBX export/import, but if you export from MakeHuman using inches and import into 3DSMax using “automatic settings”, things should work well. <font color='red'>[edit RWB: this needs rechecking after finalizing MH unit handing for FBX].</font> This is the straight forward approach for architectural work in the U.S. where imperial units are common. The Autodesk web site discourages changing the system units of 3DSMax from default, but makes an explicit exception when importing assets from sources constructed using metric dimensions [http://knowledge.autodesk.com/support/3ds-max/learn-explore/caas/CloudHelp/cloudhelp/2015/ENU/3DSMax/files/GUID-7ECD378E-5A3F-4722-B32B-8A0EB581824A-htm.html][http://knowledge.autodesk.com/support/3ds-max/learn-explore/caas/CloudHelp/cloudhelp/2015/ENU/3DSMax/files/GUID-DFE074D9-FF5E-4AAC-B3F8-AB53ADCDC124-htm.html].
If you are importing many metric objects into 3DSMax from other programs, it may make sense to change your “system units” to either centimeters or meters, and export your MakeHuman character in FBX format with the corresponding units. System units and Display units in Autodesk 3DSMax can be accessed from the Customize | Customization | Unit Setup menu:
[[File:ImpExp23.png]]
<center>'''Figure 1'''</center>
In the Units setup dialog choose “System Units”, and in the System Unit Setup dialog choose your desired units. Notice that in the figure below that although the “system units” are set to the default units of inches (right dialog), the display units are set to meters (radio button next to metric in left dialog). Imported assets are scaled into system units. System units are then converted to display units for the purposes of the 3DSMax ruler display, but remain stored internally in original system units.
[[File:ImpExp25.png]]
<center>'''Figure 2'''</center>
With this understanding of how to control the 3DSMax side of things, let’s import our MakeHuman character. We will leave 3DSMax set to inches, and export our MakeHuman FBX file using inches as units as well.
== Importing FBX into 3DSMax ==
From the 3DSMax application menu choose Import |Import, and navigate to FBX file you exported from MakeHuman using inches.
[[File:ImpExp26.png]]
<center>'''Figure 3'''</center>
By default, the exported file will be found in ~/makehuman/v1/exports/SomeName.fbx (where ~ is the user home directory). The textures for the exported file will be found in a subfolder called textures of the folder where the .fbx file is stored. 3DSMax can import either ASCII or binary FBX files, so either type of export can be used for MakeHuman export. <font color='red'>[RWB Note: as of this writing there are still some issues with direct FBX binary export, but those are expected to be repaired going forward].</font> When the file is initially imported into 3DSMax it looks like this:
[[File:ImpExp27.png]]
<center>'''Figure 4'''</center>
Click on the word [wireframe] in the top left of a viewport and choose realistic (or hardware in older versions) to see the material displayed with maps. The shortcut key is SHIFT-F3.
[[File:ImpExp37.png]]
<center>'''Figure 5'''</center>
To maximize the front viewport, left click on the front vieport to make it active and type ALT-W. Use the scroll wheel and middle mouse drag to zoom in on the face.
[[File:ImpExp38.png]]
<center>'''Figure 6'''</center>
Finally, it is helpful to hide the rig of the MakeHuman skeleton. In the panel on the right, select the Display icon and click on the put a check "helpers" in the "Hide by Category" panel.
[[File:ImpExp39.png]]
<center>'''Figure 7'''</center>
== Restoring Transparency for the Eyes ==
You should now have a relatively unobstructed view of the imported MakeHuman character. You will notice upon zooming in that there are significant issues with the transparency for eyes, eyelashes, eyebrows, and hair. We will illustrate the steps for the eyes. They can be repeated for the other 3 assets that use transparent materials. The left pane of the image below shows the face close-up of the imported image after hiding the skeleton elements.
[[File:ImpExp30.png]]
<center>'''Figure 6'''</center>
Here are the steps to fix the eyes:
1. Left-click the eyes to select them (right panel above), and from the menus select, Materials | Create/Edit Materials | Edit selected Object’s Material.
[[File:ImpExp32.png]]
<center>'''Figure 7'''</center>
2. The Slate Material Editor will open with the [high poly] eyes node selected. [Note: If the compact material editor opens instead, use the Mode menu to go to the Slate Material Editor. Spin the scroll wheel toward you until you see the texture map (Blue_eye_png in this case) attached to the Diffuse node on the eye material. Shift-middle mouse drag may help you center this pair in your viewport.
[[File:ImpExp34.png]]
<center>'''Figure 8'''</center>
3. Drag a connection between the output of the bitmap node and the Opacity input of the standard material node. In the panel on the right, click the little “+” to expand the Maps section. Then, still in the right panel, set the value of the newly checked opacity to 0.
[[File:ImpExp36.png]]
<center>'''Figure 9'''</center>
2659bba465a58874f9520068eac5821a7dff6932
286
281
2015-07-26T20:20:14Z
Robbaer
12
/* Importing FBX into 3DSMax */
wikitext
text/x-wiki
== Units Considerations ==
We will use the file created in the “Illustrating the export/import process” section to illustrate how to get your MakeHuman ready for use in Autodesk 3DSMax.
Autodesk 3DSMax has two types of units: “system units” and “display units”. By default, Autodesk uses inches as its “system units”. It is essential that 3DSMax “system units” be set to their FINAL value BEFORE importing any asset. Once set, do not change them again for that scene. If a 1 cubic foot cube object is imported, and then the system units are changed from inches to meters, the cube will become 1 cubic meter in volume.
The use of imperial inches as system units can complicate the process of FBX export/import, but if you export from MakeHuman using inches and import into 3DSMax using “automatic settings”, things should work well. <font color='red'>[edit RWB: this needs rechecking after finalizing MH unit handing for FBX].</font> This is the straight forward approach for architectural work in the U.S. where imperial units are common. The Autodesk web site discourages changing the system units of 3DSMax from default, but makes an explicit exception when importing assets from sources constructed using metric dimensions [http://knowledge.autodesk.com/support/3ds-max/learn-explore/caas/CloudHelp/cloudhelp/2015/ENU/3DSMax/files/GUID-7ECD378E-5A3F-4722-B32B-8A0EB581824A-htm.html][http://knowledge.autodesk.com/support/3ds-max/learn-explore/caas/CloudHelp/cloudhelp/2015/ENU/3DSMax/files/GUID-DFE074D9-FF5E-4AAC-B3F8-AB53ADCDC124-htm.html].
If you are importing many metric objects into 3DSMax from other programs, it may make sense to change your “system units” to either centimeters or meters, and export your MakeHuman character in FBX format with the corresponding units. System units and Display units in Autodesk 3DSMax can be accessed from the Customize | Customization | Unit Setup menu:
[[File:ImpExp23.png]]
<center>'''Figure 1'''</center>
In the Units setup dialog choose “System Units”, and in the System Unit Setup dialog choose your desired units. Notice that in the figure below that although the “system units” are set to the default units of inches (right dialog), the display units are set to meters (radio button next to metric in left dialog). Imported assets are scaled into system units. System units are then converted to display units for the purposes of the 3DSMax ruler display, but remain stored internally in original system units.
[[File:ImpExp25.png]]
<center>'''Figure 2'''</center>
With this understanding of how to control the 3DSMax side of things, let’s import our MakeHuman character. We will leave 3DSMax set to inches, and export our MakeHuman FBX file using inches as units as well.
== Importing FBX into 3DSMax ==
From the 3DSMax application menu choose Import |Import, and navigate to FBX file you exported from MakeHuman using inches.
[[File:ImpExp26.png]]
<center>'''Figure 3'''</center>
By default, the exported file will be found in ~/makehuman/v1/exports/SomeName.fbx (where ~ is the user home directory). The textures for the exported file will be found in a subfolder called textures of the folder where the .fbx file is stored. 3DSMax can import either ASCII or binary FBX files, so either type of export can be used for MakeHuman export. <font color='red'>[RWB Note: as of this writing there are still some issues with direct FBX binary export, but those are expected to be repaired going forward].</font> When the file is initially imported into 3DSMax it looks like this:
[[File:ImpExp27.png]]
<center>'''Figure 4'''</center>
Click on the word [wireframe] in the top left of a viewport and choose realistic (or hardware in older versions) to see the material displayed with maps. The shortcut key is SHIFT-F3.
[[File:ImpExp37.png]]
<center>'''Figure 5'''</center>
To maximize the front viewport, left click it and type ALT-W. Use the scroll wheel and middle mouse drag to zoom in on the face.
[[File:ImpExp38.png]]
<center>'''Figure 6'''</center>
Finally, it is helpful to hide the rig of the MakeHuman skeleton. In the panel on the right, select the Display icon and click on the put a check "helpers" in the "Hide by Category" panel.
[[File:ImpExp39.png]]
<center>'''Figure 7'''</center>
== Restoring Transparency for the Eyes ==
You should now have a relatively unobstructed view of the imported MakeHuman character. You will notice upon zooming in that there are significant issues with the transparency for eyes, eyelashes, eyebrows, and hair. We will illustrate the steps for the eyes. They can be repeated for the other 3 assets that use transparent materials. The left pane of the image below shows the face close-up of the imported image after hiding the skeleton elements.
[[File:ImpExp30.png]]
<center>'''Figure 6'''</center>
Here are the steps to fix the eyes:
1. Left-click the eyes to select them (right panel above), and from the menus select, Materials | Create/Edit Materials | Edit selected Object’s Material.
[[File:ImpExp32.png]]
<center>'''Figure 7'''</center>
2. The Slate Material Editor will open with the [high poly] eyes node selected. [Note: If the compact material editor opens instead, use the Mode menu to go to the Slate Material Editor. Spin the scroll wheel toward you until you see the texture map (Blue_eye_png in this case) attached to the Diffuse node on the eye material. Shift-middle mouse drag may help you center this pair in your viewport.
[[File:ImpExp34.png]]
<center>'''Figure 8'''</center>
3. Drag a connection between the output of the bitmap node and the Opacity input of the standard material node. In the panel on the right, click the little “+” to expand the Maps section. Then, still in the right panel, set the value of the newly checked opacity to 0.
[[File:ImpExp36.png]]
<center>'''Figure 9'''</center>
eace17e0b8a0aa6c678c383dcaf1a2cd36b53cf4
281
280
2015-07-26T14:01:38Z
Robbaer
12
/* Restoring Transparency for the Eyes */
wikitext
text/x-wiki
== Units Considerations ==
We will use the file created in the “Illustrating the export/import process” section to illustrate how to get your MakeHuman ready for use in Autodesk 3DSMax.
Autodesk 3DSMax has two types of units: “system units” and “display units”. By default, Autodesk uses inches as its “system units”. It is essential that 3DSMax “system units” be set to their FINAL value BEFORE importing any asset. Once set, do not change them again for that scene. If a 1 cubic foot cube object is imported, and then the system units are changed from inches to meters, the cube will become 1 cubic meter in volume.
The use of imperial inches as system units can complicate the process of FBX export/import, but if you export from MakeHuman using inches and import into 3DSMax using “automatic settings”, things should work well. <font color='red'>[edit RWB: this needs rechecking after finalizing MH unit handing for FBX].</font> This is the straight forward approach for architectural work in the U.S. where imperial units are common. The Autodesk web site discourages changing the system units of 3DSMax from default, but makes an explicit exception when importing assets from sources constructed using metric dimensions [http://knowledge.autodesk.com/support/3ds-max/learn-explore/caas/CloudHelp/cloudhelp/2015/ENU/3DSMax/files/GUID-7ECD378E-5A3F-4722-B32B-8A0EB581824A-htm.html][http://knowledge.autodesk.com/support/3ds-max/learn-explore/caas/CloudHelp/cloudhelp/2015/ENU/3DSMax/files/GUID-DFE074D9-FF5E-4AAC-B3F8-AB53ADCDC124-htm.html].
If you are importing many metric objects into 3DSMax from other programs, it may make sense to change your “system units” to either centimeters or meters, and export your MakeHuman character in FBX format with the corresponding units. System units and Display units in Autodesk 3DSMax can be accessed from the Customize | Customization | Unit Setup menu:
[[File:ImpExp23.png]]
<center>'''Figure 1'''</center>
In the Units setup dialog choose “System Units”, and in the System Unit Setup dialog choose your desired units. Notice that in the figure below that although the “system units” are set to the default units of inches (right dialog), the display units are set to meters (radio button next to metric in left dialog). Imported assets are scaled into system units. System units are then converted to display units for the purposes of the 3DSMax ruler display, but remain stored internally in original system units.
[[File:ImpExp25.png]]
<center>'''Figure 2'''</center>
With this understanding of how to control the 3DSMax side of things, let’s import our MakeHuman character. We will leave 3DSMax set to inches, and export our MakeHuman FBX file using inches as units as well.
== Importing FBX into 3DSMax ==
From the 3DSMax application menu choose Import |Import, and navigate to FBX file you exported from MakeHuman using inches.
[[File:ImpExp26.png]]
<center>'''Figure 3'''</center>
By default, the exported file will be found in ~/makehuman/v1/exports/SomeName.fbx (where ~ is the user home directory). The textures for the exported file will be found in a subfolder called textures of the folder where the .fbx file is stored. 3DSMax can import either ASCII or binary FBX files, so either type of export can be used for MakeHuman export. <font color='red'>[RWB Note: as of this writing there are still some issues with direct FBX binary export, but those are expected to be repaired going forward].</font> When the file is initially imported into 3DSMax it looks like this:
[[File:ImpExp27.png]]
<center>'''Figure 4'''</center>
Click on the word [wireframe] in the top left of a viewport and choose realistic (or hardware in older versions) to see the material displayed with maps. The shortcut key is SHIFT-F3. To maximize the front viewport, left click it and type ALT-W.
Finally, it is helpful to hide the rig of the MakeHuman skeleton. In the panel on the right, select the Display tab on the right panel and click on the Hide Unselected button. Everything disappears from the viewport. Then on the same panel, click on Unhide by Name. In the Unhide Objects dialog that appears, ctrl-left click on each MakeHuman asset except the skeleton grouping to highlight them. Unhide these items by clicking the Unhide button at the bottom of this dialog.
[[File:ImpExp28.png]]
<center>'''Figure 5'''</center>
== Restoring Transparency for the Eyes ==
You should now have a relatively unobstructed view of the imported MakeHuman character. You will notice upon zooming in that there are significant issues with the transparency for eyes, eyelashes, eyebrows, and hair. We will illustrate the steps for the eyes. They can be repeated for the other 3 assets that use transparent materials. The left pane of the image below shows the face close-up of the imported image after hiding the skeleton elements.
[[File:ImpExp30.png]]
<center>'''Figure 6'''</center>
Here are the steps to fix the eyes:
1. Left-click the eyes to select them (right panel above), and from the menus select, Materials | Create/Edit Materials | Edit selected Object’s Material.
[[File:ImpExp32.png]]
<center>'''Figure 7'''</center>
2. The Slate Material Editor will open with the [high poly] eyes node selected. [Note: If the compact material editor opens instead, use the Mode menu to go to the Slate Material Editor. Spin the scroll wheel toward you until you see the texture map (Blue_eye_png in this case) attached to the Diffuse node on the eye material. Shift-middle mouse drag may help you center this pair in your viewport.
[[File:ImpExp34.png]]
<center>'''Figure 8'''</center>
3. Drag a connection between the output of the bitmap node and the Opacity input of the standard material node. In the panel on the right, click the little “+” to expand the Maps section. Then, still in the right panel, set the value of the newly checked opacity to 0.
[[File:ImpExp36.png]]
<center>'''Figure 9'''</center>
d230ae969a399395f581d0bb6be0628d28b4b998
280
279
2015-07-26T13:56:07Z
Robbaer
12
/* Restoring Transparency for the Eyes */
wikitext
text/x-wiki
== Units Considerations ==
We will use the file created in the “Illustrating the export/import process” section to illustrate how to get your MakeHuman ready for use in Autodesk 3DSMax.
Autodesk 3DSMax has two types of units: “system units” and “display units”. By default, Autodesk uses inches as its “system units”. It is essential that 3DSMax “system units” be set to their FINAL value BEFORE importing any asset. Once set, do not change them again for that scene. If a 1 cubic foot cube object is imported, and then the system units are changed from inches to meters, the cube will become 1 cubic meter in volume.
The use of imperial inches as system units can complicate the process of FBX export/import, but if you export from MakeHuman using inches and import into 3DSMax using “automatic settings”, things should work well. <font color='red'>[edit RWB: this needs rechecking after finalizing MH unit handing for FBX].</font> This is the straight forward approach for architectural work in the U.S. where imperial units are common. The Autodesk web site discourages changing the system units of 3DSMax from default, but makes an explicit exception when importing assets from sources constructed using metric dimensions [http://knowledge.autodesk.com/support/3ds-max/learn-explore/caas/CloudHelp/cloudhelp/2015/ENU/3DSMax/files/GUID-7ECD378E-5A3F-4722-B32B-8A0EB581824A-htm.html][http://knowledge.autodesk.com/support/3ds-max/learn-explore/caas/CloudHelp/cloudhelp/2015/ENU/3DSMax/files/GUID-DFE074D9-FF5E-4AAC-B3F8-AB53ADCDC124-htm.html].
If you are importing many metric objects into 3DSMax from other programs, it may make sense to change your “system units” to either centimeters or meters, and export your MakeHuman character in FBX format with the corresponding units. System units and Display units in Autodesk 3DSMax can be accessed from the Customize | Customization | Unit Setup menu:
[[File:ImpExp23.png]]
<center>'''Figure 1'''</center>
In the Units setup dialog choose “System Units”, and in the System Unit Setup dialog choose your desired units. Notice that in the figure below that although the “system units” are set to the default units of inches (right dialog), the display units are set to meters (radio button next to metric in left dialog). Imported assets are scaled into system units. System units are then converted to display units for the purposes of the 3DSMax ruler display, but remain stored internally in original system units.
[[File:ImpExp25.png]]
<center>'''Figure 2'''</center>
With this understanding of how to control the 3DSMax side of things, let’s import our MakeHuman character. We will leave 3DSMax set to inches, and export our MakeHuman FBX file using inches as units as well.
== Importing FBX into 3DSMax ==
From the 3DSMax application menu choose Import |Import, and navigate to FBX file you exported from MakeHuman using inches.
[[File:ImpExp26.png]]
<center>'''Figure 3'''</center>
By default, the exported file will be found in ~/makehuman/v1/exports/SomeName.fbx (where ~ is the user home directory). The textures for the exported file will be found in a subfolder called textures of the folder where the .fbx file is stored. 3DSMax can import either ASCII or binary FBX files, so either type of export can be used for MakeHuman export. <font color='red'>[RWB Note: as of this writing there are still some issues with direct FBX binary export, but those are expected to be repaired going forward].</font> When the file is initially imported into 3DSMax it looks like this:
[[File:ImpExp27.png]]
<center>'''Figure 4'''</center>
Click on the word [wireframe] in the top left of a viewport and choose realistic (or hardware in older versions) to see the material displayed with maps. The shortcut key is SHIFT-F3. To maximize the front viewport, left click it and type ALT-W.
Finally, it is helpful to hide the rig of the MakeHuman skeleton. In the panel on the right, select the Display tab on the right panel and click on the Hide Unselected button. Everything disappears from the viewport. Then on the same panel, click on Unhide by Name. In the Unhide Objects dialog that appears, ctrl-left click on each MakeHuman asset except the skeleton grouping to highlight them. Unhide these items by clicking the Unhide button at the bottom of this dialog.
[[File:ImpExp28.png]]
<center>'''Figure 5'''</center>
== Restoring Transparency for the Eyes ==
You should now have a relatively unobstructed view of the imported MakeHuman character. You will notice upon zooming in that there are significant issues with the transparency for eyes, eyelashes, eyebrows, and hair. We will illustrate the steps for the eyes. They can be repeated for the other 3 assets that use transparent materials. The left pane of the image below shows the face close-up of the imported image after hiding the skeleton elements.
[[File:ImpExp30.png]]
<center>'''Figure 6'''</center>
Here are the steps to fix the eyes:
1. Left-click the eyes to select them (right panel above), and from the menus select, Materials | Create/Edit Materials | Edit selected Object’s Material.
[[File:ImpExp32.png]]
<center>'''Figure 7'''</center>
2. The Slate Material Editor will open with the [high poly] eyes node selected. [Note: If the compact material editor opens instead, use the Mode menu to go to the Slate Material Editor. Spin the scroll wheel toward you until you see the texture map (Blue_eye_png in this case) attached to the Diffuse node on the eye material. Shift-middle mouse drag may help you center this pair in your viewport.
[[File:ImpExp34.png]]
<center>'''Figure 8'''</center>
[[File:ImpExp35.png]]
<center>'''Figure 9'''</center>
[[File:ImpExp36.png]]
<center>'''Figure 2'''</center>
b598457454be5235e8aebb0752570375af0be91f
279
278
2015-07-26T13:29:00Z
Robbaer
12
/* Units Considerations */
wikitext
text/x-wiki
== Units Considerations ==
We will use the file created in the “Illustrating the export/import process” section to illustrate how to get your MakeHuman ready for use in Autodesk 3DSMax.
Autodesk 3DSMax has two types of units: “system units” and “display units”. By default, Autodesk uses inches as its “system units”. It is essential that 3DSMax “system units” be set to their FINAL value BEFORE importing any asset. Once set, do not change them again for that scene. If a 1 cubic foot cube object is imported, and then the system units are changed from inches to meters, the cube will become 1 cubic meter in volume.
The use of imperial inches as system units can complicate the process of FBX export/import, but if you export from MakeHuman using inches and import into 3DSMax using “automatic settings”, things should work well. <font color='red'>[edit RWB: this needs rechecking after finalizing MH unit handing for FBX].</font> This is the straight forward approach for architectural work in the U.S. where imperial units are common. The Autodesk web site discourages changing the system units of 3DSMax from default, but makes an explicit exception when importing assets from sources constructed using metric dimensions [http://knowledge.autodesk.com/support/3ds-max/learn-explore/caas/CloudHelp/cloudhelp/2015/ENU/3DSMax/files/GUID-7ECD378E-5A3F-4722-B32B-8A0EB581824A-htm.html][http://knowledge.autodesk.com/support/3ds-max/learn-explore/caas/CloudHelp/cloudhelp/2015/ENU/3DSMax/files/GUID-DFE074D9-FF5E-4AAC-B3F8-AB53ADCDC124-htm.html].
If you are importing many metric objects into 3DSMax from other programs, it may make sense to change your “system units” to either centimeters or meters, and export your MakeHuman character in FBX format with the corresponding units. System units and Display units in Autodesk 3DSMax can be accessed from the Customize | Customization | Unit Setup menu:
[[File:ImpExp23.png]]
<center>'''Figure 1'''</center>
In the Units setup dialog choose “System Units”, and in the System Unit Setup dialog choose your desired units. Notice that in the figure below that although the “system units” are set to the default units of inches (right dialog), the display units are set to meters (radio button next to metric in left dialog). Imported assets are scaled into system units. System units are then converted to display units for the purposes of the 3DSMax ruler display, but remain stored internally in original system units.
[[File:ImpExp25.png]]
<center>'''Figure 2'''</center>
With this understanding of how to control the 3DSMax side of things, let’s import our MakeHuman character. We will leave 3DSMax set to inches, and export our MakeHuman FBX file using inches as units as well.
== Importing FBX into 3DSMax ==
From the 3DSMax application menu choose Import |Import, and navigate to FBX file you exported from MakeHuman using inches.
[[File:ImpExp26.png]]
<center>'''Figure 3'''</center>
By default, the exported file will be found in ~/makehuman/v1/exports/SomeName.fbx (where ~ is the user home directory). The textures for the exported file will be found in a subfolder called textures of the folder where the .fbx file is stored. 3DSMax can import either ASCII or binary FBX files, so either type of export can be used for MakeHuman export. <font color='red'>[RWB Note: as of this writing there are still some issues with direct FBX binary export, but those are expected to be repaired going forward].</font> When the file is initially imported into 3DSMax it looks like this:
[[File:ImpExp27.png]]
<center>'''Figure 4'''</center>
Click on the word [wireframe] in the top left of a viewport and choose realistic (or hardware in older versions) to see the material displayed with maps. The shortcut key is SHIFT-F3. To maximize the front viewport, left click it and type ALT-W.
Finally, it is helpful to hide the rig of the MakeHuman skeleton. In the panel on the right, select the Display tab on the right panel and click on the Hide Unselected button. Everything disappears from the viewport. Then on the same panel, click on Unhide by Name. In the Unhide Objects dialog that appears, ctrl-left click on each MakeHuman asset except the skeleton grouping to highlight them. Unhide these items by clicking the Unhide button at the bottom of this dialog.
[[File:ImpExp28.png]]
<center>'''Figure 5'''</center>
== Restoring Transparency for the Eyes ==
You should now have a relatively unobstructed view of the imported MakeHuman character. You will notice upon zooming in that there are significant issues with the transparency for eyes, eyelashes, eyebrows, and hair. We will illustrate the steps for the eyes. They can be repeated for the other 3 assets that use transparent materials. The left pane of the image below shows the face close-up of the imported image after hiding the skeleton elements.
[[File:ImpExp30.png]]
<center>'''Figure 6'''</center>
Here are the steps to fix the eyes:
1. Left-click the eyes to select them (right panel above), and from the menus select, Materials | Create/Edit Materials | Edit selected Object’s Material.
[[File:ImpExp32.png]]
<center>'''Figure 7'''</center>
2. The Slate Material Editor will open with the [high poly] eyes node selected. [Note: If the compact material editor opens instead, use the Mode menu to go to the Slate Material Editor. Spin the scroll wheel toward you until you see the texture map (Blue_eye_png in this case) attached to the Diffuse node on the eye material. Shift-middle mouse drag may help you center this pair in your viewport.
[[File:ImpExp33.png]]
<center>'''Figure 8'''</center>
[[File:ImpExp34.png]]
<center>'''Figure 9'''</center>
[[File:ImpExp/35.png]]
<center>'''Figure 2'''</center>
[[File:ImpExp36.png]]
<center>'''Figure 2'''</center>
7b91c5105e225ced1a5c93076c276936da0b88f0
278
277
2015-07-26T13:23:49Z
Robbaer
12
/* Restoring Transparency for the Eyes */
wikitext
text/x-wiki
== Units Considerations ==
We will use the file created in the “Illustrating the export/import process” section to illustrate how to get your MakeHuman ready for use in Autodesk 3DSMax.
Autodesk 3DSMax has two types of units: “system units” and “display units”. By default, Autodesk uses inches as its “system units”. It is essential that 3DSMax “system units” be set to their FINAL value BEFORE importing any asset. Once set, do not change them again for that scene. If a 1 cubic foot cube object is imported, and then the system units are changed from inches to meters, the cube will become 1 cubic meter in volume.
The use of imperial inches as system units can complicate the process of FBX export/import, but if you export from MakeHuman using inches and import into 3DSMax using “automatic settings”, things should work well. <font color='red'>[edit RWB: this needs rechecking after finalizing MH unit handing for FBX].</font> This is the straight forward approach for architectural work in the U.S. where imperial units are common. The Autodesk web site discourages changing the system units of 3DSMax from default, but makes an explicit exception when importing assets from sources constructed using metric dimensions [http://knowledge.autodesk.com/support/3ds-max/learn-explore/caas/CloudHelp/cloudhelp/2015/ENU/3DSMax/files/GUID-7ECD378E-5A3F-4722-B32B-8A0EB581824A-htm.html][http://knowledge.autodesk.com/support/3ds-max/learn-explore/caas/CloudHelp/cloudhelp/2015/ENU/3DSMax/files/GUID-DFE074D9-FF5E-4AAC-B3F8-AB53ADCDC124-htm.html].
If you are importing many metric objects into 3DSMax from other programs, it may make sense to change your “system units” to either centimeters or meters, and export your MakeHuman character in FBX format with the corresponding units. System units and Display units in Autodesk 3DSMax can be accessed from the Customize | Customization | Unit Setup menu:
[[File:ImpExp23.png]]
<center>'''Figure 1'''</center>
In the Units setup dialog choose “System Units”, and in the System Unit Setup dialog choose your desired units. Notice that in the figure below that although the “system units” are set to the default units of inches (right dialog), the display units are set to meters (radio button next to metric in left dialog). Imported assets are scaled into system units. System units are then converted to display units for the purposes of the 3DSMax ruler display, but remain stored internally in original system units.
[[File:ImpExp25.png]]
<center>'''Figure 2'''</center>
With this understanding of how to control the 3DSMax side of things, let’s import our MakeHuman character. We will leave 3DSMax set to inches, and export our MakeHuman FBX file using inches as units as well.
== Importing FBX into 3DSMax ==
From the 3DSMax application menu choose Import |Import, and navigate to FBX file you exported from MakeHuman using inches.
[[File:ImpExp26.png]]
<center>'''Figure 3'''</center>
By default, the exported file will be found in ~/makehuman/v1/exports/SomeName.fbx (where ~ is the user home directory). The textures for the exported file will be found in a subfolder called textures of the folder where the .fbx file is stored. 3DSMax can import either ASCII or binary FBX files, so either type of export can be used for MakeHuman export. <font color='red'>[RWB Note: as of this writing there are still some issues with direct FBX binary export, but those are expected to be repaired going forward].</font> When the file is initially imported into 3DSMax it looks like this:
[[File:ImpExp27.png]]
<center>'''Figure 4'''</center>
Click on the word [wireframe] in the top left of a viewport and choose realistic (or hardware in older versions) to see the material displayed with maps. The shortcut key is SHIFT-F3. To maximize the front viewport, left click it and type ALT-W.
Finally, it is helpful to hide the rig of the MakeHuman skeleton. In the panel on the right, select the Display tab on the right panel and click on the Hide Unselected button. Everything disappears from the viewport. Then on the same panel, click on Unhide by Name. In the Unhide Objects dialog that appears, ctrl-left click on each MakeHuman asset except the skeleton grouping to highlight them. Unhide these items by clicking the Unhide button at the bottom of this dialog.
[[File:ImpExp28.png]]
<center>'''Figure 5'''</center>
== Restoring Transparency for the Eyes ==
You should now have a relatively unobstructed view of the imported MakeHuman character. You will notice upon zooming in that there are significant issues with the transparency for eyes, eyelashes, eyebrows, and hair. We will illustrate the steps for the eyes. They can be repeated for the other 3 assets that use transparent materials. The left pane of the image below shows the face close-up of the imported image after hiding the skeleton elements.
[[File:ImpExp30.png]]
<center>'''Figure 6'''</center>
Here are the steps to fix the eyes:
1. Left-click the eyes to select them (right panel above), and from the menus select, Materials | Create/Edit Materials | Edit selected Object’s Material.
[[File:ImpExp32.png]]
<center>'''Figure 7'''</center>
2. The Slate Material Editor will open with the [high poly] eyes node selected. [Note: If the compact material editor opens instead, use the Mode menu to go to the Slate Material Editor. Spin the scroll wheel toward you until you see the texture map (Blue_eye_png in this case) attached to the Diffuse node on the eye material. Shift-middle mouse drag may help you center this pair in your viewport.
[[File:ImpExp33.png]]
<center>'''Figure 8'''</center>
[[File:ImpExp34.png]]
<center>'''Figure 9'''</center>
[[File:ImpExp/35.png]]
<center>'''Figure 2'''</center>
[[File:ImpExp36.png]]
<center>'''Figure 2'''</center>
bbca8a9a5a5cc57a7aff6aeb30b243c411e6a903
277
276
2015-07-25T21:47:21Z
Robbaer
12
wikitext
text/x-wiki
== Units Considerations ==
We will use the file created in the “Illustrating the export/import process” section to illustrate how to get your MakeHuman ready for use in Autodesk 3DSMax.
Autodesk 3DSMax has two types of units: “system units” and “display units”. By default, Autodesk uses inches as its “system units”. It is essential that 3DSMax “system units” be set to their FINAL value BEFORE importing any asset. Once set, do not change them again for that scene. If a 1 cubic foot cube object is imported, and then the system units are changed from inches to meters, the cube will become 1 cubic meter in volume.
The use of imperial inches as system units can complicate the process of FBX export/import, but if you export from MakeHuman using inches and import into 3DSMax using “automatic settings”, things should work well. <font color='red'>[edit RWB: this needs rechecking after finalizing MH unit handing for FBX].</font> This is the straight forward approach for architectural work in the U.S. where imperial units are common. The Autodesk web site discourages changing the system units of 3DSMax from default, but makes an explicit exception when importing assets from sources constructed using metric dimensions [http://knowledge.autodesk.com/support/3ds-max/learn-explore/caas/CloudHelp/cloudhelp/2015/ENU/3DSMax/files/GUID-7ECD378E-5A3F-4722-B32B-8A0EB581824A-htm.html][http://knowledge.autodesk.com/support/3ds-max/learn-explore/caas/CloudHelp/cloudhelp/2015/ENU/3DSMax/files/GUID-DFE074D9-FF5E-4AAC-B3F8-AB53ADCDC124-htm.html].
If you are importing many metric objects into 3DSMax from other programs, it may make sense to change your “system units” to either centimeters or meters, and export your MakeHuman character in FBX format with the corresponding units. System units and Display units in Autodesk 3DSMax can be accessed from the Customize | Customization | Unit Setup menu:
[[File:ImpExp23.png]]
<center>'''Figure 1'''</center>
In the Units setup dialog choose “System Units”, and in the System Unit Setup dialog choose your desired units. Notice that in the figure below that although the “system units” are set to the default units of inches (right dialog), the display units are set to meters (radio button next to metric in left dialog). Imported assets are scaled into system units. System units are then converted to display units for the purposes of the 3DSMax ruler display, but remain stored internally in original system units.
[[File:ImpExp25.png]]
<center>'''Figure 2'''</center>
With this understanding of how to control the 3DSMax side of things, let’s import our MakeHuman character. We will leave 3DSMax set to inches, and export our MakeHuman FBX file using inches as units as well.
== Importing FBX into 3DSMax ==
From the 3DSMax application menu choose Import |Import, and navigate to FBX file you exported from MakeHuman using inches.
[[File:ImpExp26.png]]
<center>'''Figure 3'''</center>
By default, the exported file will be found in ~/makehuman/v1/exports/SomeName.fbx (where ~ is the user home directory). The textures for the exported file will be found in a subfolder called textures of the folder where the .fbx file is stored. 3DSMax can import either ASCII or binary FBX files, so either type of export can be used for MakeHuman export. <font color='red'>[RWB Note: as of this writing there are still some issues with direct FBX binary export, but those are expected to be repaired going forward].</font> When the file is initially imported into 3DSMax it looks like this:
[[File:ImpExp27.png]]
<center>'''Figure 4'''</center>
Click on the word [wireframe] in the top left of a viewport and choose realistic (or hardware in older versions) to see the material displayed with maps. The shortcut key is SHIFT-F3. To maximize the front viewport, left click it and type ALT-W.
Finally, it is helpful to hide the rig of the MakeHuman skeleton. In the panel on the right, select the Display tab on the right panel and click on the Hide Unselected button. Everything disappears from the viewport. Then on the same panel, click on Unhide by Name. In the Unhide Objects dialog that appears, ctrl-left click on each MakeHuman asset except the skeleton grouping to highlight them. Unhide these items by clicking the Unhide button at the bottom of this dialog.
[[File:ImpExp28.png]]
<center>'''Figure 5'''</center>
== Restoring Transparency for the Eyes ==
You should now have a relatively unobstructed view of the imported MakeHuman character. You will notice upon zooming in that there are significant issues with the transparency for eyes, eyelashes, eyebrows, and hair. We will illustrate the steps for the eyes. They can be repeated for the other 3 assets that use transparent materials. The left pane of the image below shows the face close-up of the imported image after hiding the skeleton elements.
[[File:ImpExp30.png]]
<center>'''Figure 7'''</center>
[[File:ImpExp30.png]]
<center>'''Figure 2'''</center>
[[File:ImpExp31.png]]
<center>'''Figure 2'''</center>
[[File:ImpExp32.png]]
<center>'''Figure 2'''</center>
[[File:ImpExp33.png]]
<center>'''Figure 2'''</center>
[[File:ImpExp34.png]]
<center>'''Figure 2'''</center>
[[File:ImpExp/35.png]]
<center>'''Figure 2'''</center>
[[File:ImpExp36.png]]
<center>'''Figure 2'''</center>
d65847aace2b597f9c27752680391ff02d24607c
276
267
2015-07-25T21:42:22Z
Robbaer
12
/* Units Considerations */
wikitext
text/x-wiki
== Units Considerations ==
We will use the file created in the “Illustrating the export/import process” section to illustrate how to get your MakeHuman ready for use in Autodesk 3DSMax.
Autodesk 3DSMax has two types of units: “system units” and “display units”. By default, Autodesk uses inches as its “system units”. It is essential that 3DSMax “system units” be set to their FINAL value BEFORE importing any asset. Once set, do not change them again for that scene. If a 1 cubic foot cube object is imported, and then the system units are changed from inches to meters, the cube will become 1 cubic meter in volume.
The use of imperial inches as system units can complicate the process of FBX export/import, but if you export from MakeHuman using inches and import into 3DSMax using “automatic settings”, things should work well. <font color='red'>[edit RWB: this needs rechecking after finalizing MH unit handing for FBX].</font> This is the straight forward approach for architectural work in the U.S. where imperial units are common. The Autodesk web site discourages changing the system units of 3DSMax from default, but makes an explicit exception when importing assets from sources constructed using metric dimensions [http://knowledge.autodesk.com/support/3ds-max/learn-explore/caas/CloudHelp/cloudhelp/2015/ENU/3DSMax/files/GUID-7ECD378E-5A3F-4722-B32B-8A0EB581824A-htm.html][http://knowledge.autodesk.com/support/3ds-max/learn-explore/caas/CloudHelp/cloudhelp/2015/ENU/3DSMax/files/GUID-DFE074D9-FF5E-4AAC-B3F8-AB53ADCDC124-htm.html].
If you are importing many metric objects into 3DSMax from other programs, it may make sense to change your “system units” to either centimeters or meters, and export your MakeHuman character in FBX format with the corresponding units. System units and Display units in Autodesk 3DSMax can be accessed from the Customize | Customization | Unit Setup menu:
[[File:ImpExp23.png]]
<center>'''Figure 1'''</center>
In the Units setup dialog choose “System Units”, and in the System Unit Setup dialog choose your desired units. Notice that in the figure below that although the “system units” are set to the default units of inches (right dialog), the display units are set to meters (radio button next to metric in left dialog). Imported assets are scaled into system units. System units are then converted to display units for the purposes of the 3DSMax ruler display, but remain stored internally in original system units.
[[File:ImpExp25.png]]
<center>'''Figure 2'''</center>
With this understanding of how to control the 3DSMax side of things, let’s import our MakeHuman character. We will leave 3DSMax set to inches, and export our MakeHuman FBX file using inches as units as well.
[[File:ImpExp25.png]]
<center>'''Figure 2'''</center>
[[File:ImpExp26.png]]
<center>'''Figure 2'''</center>
[[File:ImpExp27.png]]
<center>'''Figure 2'''</center>
[[File:ImpExp28.png]]
<center>'''Figure 2'''</center>
[[File:ImpExp29.png]]
<center>'''Figure 2'''</center>
[[File:ImpExp30.png]]
<center>'''Figure 2'''</center>
[[File:ImpExp31.png]]
<center>'''Figure 2'''</center>
[[File:ImpExp32.png]]
<center>'''Figure 2'''</center>
[[File:ImpExp33.png]]
<center>'''Figure 2'''</center>
[[File:ImpExp34.png]]
<center>'''Figure 2'''</center>
[[File:ImpExp/325.png]]
<center>'''Figure 2'''</center>
[[File:ImpExp36.png]]
<center>'''Figure 2'''</center>
== Importing FBX into 3DSMax ==
From the 3DSMax application menu choose Import |Import, and navigate to FBX file you exported from MakeHuman using inches.
[[File:ImpExp26.png]]
<center>'''Figure 3'''</center>
By default, the exported file will be found in ~/makehuman/v1/exports/SomeName.fbx (where ~ is the user home directory). The textures for the exported file will be found in a subfolder called textures of the folder where the .fbx file is stored. 3DSMax can import either ASCII or binary FBX files, so either type of export can be used for MakeHuman export. <font color='red'>[RWB Note: as of this writing there are still some issues with direct FBX binary export, but those are expected to be repaired going forward].</font> When the file is initially imported into 3DSMax it looks like this:
[[File:ImpExp27.png]]
<center>'''Figure 4'''</center>
Click on the word [wireframe] in the top left of a viewport and choose realistic (or hardware in older versions) to see the material displayed with maps. The shortcut key is SHIFT-F3. To maximize the front viewport, left click it and type ALT-W.
Finally, it is helpful to hide the rig of the MakeHuman skeleton. In the panel on the right, select the Display tab on the right panel and click on the Hide Unselected button. Everything disappears from the viewport. Then on the same panel, click on Unhide by Name. In the Unhide Objects dialog that appears, ctrl-left click on each MakeHuman asset except the skeleton grouping to highlight them. Unhide these items by clicking the Unhide button at the bottom of this dialog.
[[File:ImpExp28.png]]
<center>'''Figure 5'''</center>
== Restoring Transparency for the Eyes ==
You should now have a relatively unobstructed view of the imported MakeHuman character. You will notice upon zooming in that there are significant issues with the transparency for eyes, eyelashes, eyebrows, and hair. We will illustrate the steps for the eyes. They can be repeated for the other 3 assets that use transparent materials. The left pane of the image below shows the face close-up of the imported image after hiding the skeleton elements.
[[File:ImpExp29.png]]
<center>'''Figure 6'''</center>
[[File:ImpExp30.png]]
<center>'''Figure 7'''</center>
14d14b3a6377a4402b6f443b827144c3b39afbc8
267
266
2015-07-25T21:26:56Z
Robbaer
12
wikitext
text/x-wiki
== Units Considerations ==
We will use the file created in the “Illustrating the export/import process” section to illustrate how to get your MakeHuman ready for use in Autodesk 3DSMax.
Autodesk 3DSMax has two types of units: “system units” and “display units”. By default, Autodesk uses inches as its “system units”. It is essential that 3DSMax “system units” be set to their FINAL value BEFORE importing any asset. Once set, do not change them again for that scene. If a 1 cubic foot cube object is imported, and then the system units are changed from inches to meters, the cube will become 1 cubic meter in volume.
The use of imperial inches as system units can complicate the process of FBX export/import, but if you export from MakeHuman using inches and import into 3DSMax using “automatic settings”, things should work well. <font color='red'>[edit RWB: this needs rechecking after finalizing MH unit handing for FBX].</font> This is the straight forward approach for architectural work in the U.S. where imperial units are common. The Autodesk web site discourages changing the system units of 3DSMax from default, but makes an explicit exception when importing assets from sources constructed using metric dimensions [http://knowledge.autodesk.com/support/3ds-max/learn-explore/caas/CloudHelp/cloudhelp/2015/ENU/3DSMax/files/GUID-7ECD378E-5A3F-4722-B32B-8A0EB581824A-htm.html][http://knowledge.autodesk.com/support/3ds-max/learn-explore/caas/CloudHelp/cloudhelp/2015/ENU/3DSMax/files/GUID-DFE074D9-FF5E-4AAC-B3F8-AB53ADCDC124-htm.html].
If you are importing many metric objects into 3DSMax from other programs, it may make sense to change your “system units” to either centimeters or meters, and export your MakeHuman character in FBX format with the corresponding units. System units and Display units in Autodesk 3DSMax can be accessed from the Customize | Customization | Unit Setup menu:
[[File:ImpExp23.png]]
<center>'''Figure 1'''</center>
In the Units setup dialog choose “System Units”, and in the System Unit Setup dialog choose your desired units. Notice that in the figure below that although the “system units” are set to the default units of inches (right dialog), the display units are set to meters (radio button next to metric in left dialog). Imported assets are scaled into system units. System units are then converted to display units for the purposes of the 3DSMax ruler display, but remain stored internally in original system units.
[[File:ImpExp25.png]]
<center>'''Figure 2'''</center>
With this understanding of how to control the 3DSMax side of things, let’s import our MakeHuman character. We will leave 3DSMax set to inches, and export our MakeHuman FBX file using inches as units as well.
== Importing FBX into 3DSMax ==
From the 3DSMax application menu choose Import |Import, and navigate to FBX file you exported from MakeHuman using inches.
[[File:ImpExp26.png]]
<center>'''Figure 3'''</center>
By default, the exported file will be found in ~/makehuman/v1/exports/SomeName.fbx (where ~ is the user home directory). The textures for the exported file will be found in a subfolder called textures of the folder where the .fbx file is stored. 3DSMax can import either ASCII or binary FBX files, so either type of export can be used for MakeHuman export. <font color='red'>[RWB Note: as of this writing there are still some issues with direct FBX binary export, but those are expected to be repaired going forward].</font> When the file is initially imported into 3DSMax it looks like this:
[[File:ImpExp27.png]]
<center>'''Figure 4'''</center>
Click on the word [wireframe] in the top left of a viewport and choose realistic (or hardware in older versions) to see the material displayed with maps. The shortcut key is SHIFT-F3. To maximize the front viewport, left click it and type ALT-W.
Finally, it is helpful to hide the rig of the MakeHuman skeleton. In the panel on the right, select the Display tab on the right panel and click on the Hide Unselected button. Everything disappears from the viewport. Then on the same panel, click on Unhide by Name. In the Unhide Objects dialog that appears, ctrl-left click on each MakeHuman asset except the skeleton grouping to highlight them. Unhide these items by clicking the Unhide button at the bottom of this dialog.
[[File:ImpExp28.png]]
<center>'''Figure 5'''</center>
== Restoring Transparency for the Eyes ==
You should now have a relatively unobstructed view of the imported MakeHuman character. You will notice upon zooming in that there are significant issues with the transparency for eyes, eyelashes, eyebrows, and hair. We will illustrate the steps for the eyes. They can be repeated for the other 3 assets that use transparent materials. The left pane of the image below shows the face close-up of the imported image after hiding the skeleton elements.
[[File:ImpExp29.png]]
<center>'''Figure 6'''</center>
[[File:ImpExp30.png]]
<center>'''Figure 7'''</center>
653a9d93424fa2a2b4ea60c63e43e1efacc3eb28
266
265
2015-07-25T21:14:48Z
Robbaer
12
/* Importing FBX into 3DSMax */
wikitext
text/x-wiki
== Units Considerations ==
We will use the file created in the “Illustrating the export/import process” section to illustrate how to get your MakeHuman ready for use in Autodesk 3DSMax.
Autodesk 3DSMax has two types of units: “system units” and “display units”. By default, Autodesk uses inches as its “system units”. It is essential that 3DSMax “system units” be set to their FINAL value BEFORE importing any asset. Once set, do not change them again for that scene. If a 1 cubic foot cube object is imported, and then the system units are changed from inches to meters, the cube will become 1 cubic meter in volume.
The use of imperial inches as system units can complicate the process of FBX export/import, but if you export from MakeHuman using inches and import into 3DSMax using “automatic settings”, things should work well. <font color='red'>[edit RWB: this needs rechecking after finalizing MH unit handing for FBX].</font> This is the straight forward approach for architectural work in the U.S. where imperial units are common. The Autodesk web site discourages changing the system units of 3DSMax from default, but makes an explicit exception when importing assets from sources constructed using metric dimensions [http://knowledge.autodesk.com/support/3ds-max/learn-explore/caas/CloudHelp/cloudhelp/2015/ENU/3DSMax/files/GUID-7ECD378E-5A3F-4722-B32B-8A0EB581824A-htm.html][http://knowledge.autodesk.com/support/3ds-max/learn-explore/caas/CloudHelp/cloudhelp/2015/ENU/3DSMax/files/GUID-DFE074D9-FF5E-4AAC-B3F8-AB53ADCDC124-htm.html].
If you are importing many metric objects into 3DSMax from other programs, it may make sense to change your “system units” to either centimeters or meters, and export your MakeHuman character in FBX format with the corresponding units. System units and Display units in Autodesk 3DSMax can be accessed from the Customize | Customization | Unit Setup menu:
[[File:ImpExp23.png]]
<center>'''Figure 1'''</center>
In the Units setup dialog choose “System Units”, and in the System Unit Setup dialog choose your desired units. Notice that in the figure below that although the “system units” are set to the default units of inches (right dialog), the display units are set to meters (radio button next to metric in left dialog). Imported assets are scaled into system units. System units are then converted to display units for the purposes of the 3DSMax ruler display, but remain stored internally in original system units.
[[File:ImpExp25.png]]
<center>'''Figure 2'''</center>
With this understanding of how to control the 3DSMax side of things, let’s import our MakeHuman character. We will leave 3DSMax set to inches, and export our MakeHuman FBX file using inches as units as well.
== Importing FBX into 3DSMax ==
From the 3DSMax application menu choose Import |Import, and navigate to FBX file you exported from MakeHuman using inches.
[[File:ImpExp26.png]]
<center>'''Figure 3'''</center>
By default, the exported file will be found in ~/makehuman/v1/exports/SomeName.fbx (where ~ is the user home directory). The textures for the exported file will be found in a subfolder called textures of the folder where the .fbx file is stored. 3DSMax can import either ASCII or binary FBX files, so either type of export can be used for MakeHuman export. <font color='red'>[RWB Note: as of this writing there are still some issues with direct FBX binary export, but those are expected to be repaired going forward].</font> When the file is initially imported into 3DSMax it looks like this:
[[File:ImpExp27.png]]
<center>'''Figure 4'''</center>
Click on the word [wireframe] in the top left of a viewport and choose realistic (or hardware in older versions) to see the material displayed with maps. The shortcut key is SHIFT-F3. To maximize the front viewport, left click it and type ALT-W.
Finally, it is helpful to hide the rig of the MakeHuman skeleton. In the panel on the right, select the Display tab on the right panel and click on the Hide Unselected button. Everything disappears from the viewport. Then on the same panel, click on Unhide by Name. In the Unhide Objects dialog that appears, ctrl-left click on each MakeHuman asset except the skeleton grouping to highlight them. Unhide these items by clicking the Unhide button at the bottom of this dialog.
34144b142486322c3a525e41c168394b9cf5167e
265
264
2015-07-25T21:11:35Z
Robbaer
12
wikitext
text/x-wiki
== Units Considerations ==
We will use the file created in the “Illustrating the export/import process” section to illustrate how to get your MakeHuman ready for use in Autodesk 3DSMax.
Autodesk 3DSMax has two types of units: “system units” and “display units”. By default, Autodesk uses inches as its “system units”. It is essential that 3DSMax “system units” be set to their FINAL value BEFORE importing any asset. Once set, do not change them again for that scene. If a 1 cubic foot cube object is imported, and then the system units are changed from inches to meters, the cube will become 1 cubic meter in volume.
The use of imperial inches as system units can complicate the process of FBX export/import, but if you export from MakeHuman using inches and import into 3DSMax using “automatic settings”, things should work well. <font color='red'>[edit RWB: this needs rechecking after finalizing MH unit handing for FBX].</font> This is the straight forward approach for architectural work in the U.S. where imperial units are common. The Autodesk web site discourages changing the system units of 3DSMax from default, but makes an explicit exception when importing assets from sources constructed using metric dimensions [http://knowledge.autodesk.com/support/3ds-max/learn-explore/caas/CloudHelp/cloudhelp/2015/ENU/3DSMax/files/GUID-7ECD378E-5A3F-4722-B32B-8A0EB581824A-htm.html][http://knowledge.autodesk.com/support/3ds-max/learn-explore/caas/CloudHelp/cloudhelp/2015/ENU/3DSMax/files/GUID-DFE074D9-FF5E-4AAC-B3F8-AB53ADCDC124-htm.html].
If you are importing many metric objects into 3DSMax from other programs, it may make sense to change your “system units” to either centimeters or meters, and export your MakeHuman character in FBX format with the corresponding units. System units and Display units in Autodesk 3DSMax can be accessed from the Customize | Customization | Unit Setup menu:
[[File:ImpExp23.png]]
<center>'''Figure 1'''</center>
In the Units setup dialog choose “System Units”, and in the System Unit Setup dialog choose your desired units. Notice that in the figure below that although the “system units” are set to the default units of inches (right dialog), the display units are set to meters (radio button next to metric in left dialog). Imported assets are scaled into system units. System units are then converted to display units for the purposes of the 3DSMax ruler display, but remain stored internally in original system units.
[[File:ImpExp25.png]]
<center>'''Figure 2'''</center>
With this understanding of how to control the 3DSMax side of things, let’s import our MakeHuman character. We will leave 3DSMax set to inches, and export our MakeHuman FBX file using inches as units as well.
== Importing FBX into 3DSMax ==
From the 3DSMax application menu choose Import |Import, and navigate to FBX file you exported from MakeHuman using inches.
[[File:ImpExp26.png]]
<center>'''Figure 3'''</center>
By default, the exported file will be found in ~/makehuman/v1/exports/SomeName.fbx (where ~ is the user home directory). The textures for the exported file will be found in a subfolder called textures of the folder where the .fbx file is stored. 3DSMax can import either ASCII or binary FBX files, so either type of export can be used for MakeHuman export. <font color='red'>][RWB Note: as of this writing there are still some issues with direct FBX binary export, but those are expected to be repaired going forward]. When the file is initially imported into 3DSMax it looks like this:
[[File:ImpExp27.png]]
<center>'''Figure 4'''</center>
Click on the word [wireframe] in the top left of a viewport and choose realistic (or hardware in older versions) to see the material displayed with maps. The shortcut key is SHIFT-F3. To maximize the front viewport, left click it and type ALT-W.
Finally, it is helpful to hide the rig of the MakeHuman skeleton. In the panel on the right, select the Display tab on the right panel and click on the Hide Unselected button. Everything disappears from the viewport. Then on the same panel, click on Unhide by Name. In the Unhide Objects dialog that appears, ctrl-left click on each MakeHuman asset except the skeleton grouping to highlight them. Unhide these items by clicking the Unhide button at the bottom of this dialog.
1a6aba1c9b5f63d7eed4f6efe27e055796a952f1
264
263
2015-07-25T21:06:35Z
Robbaer
12
/* Units Considerations */
wikitext
text/x-wiki
== Units Considerations ==
We will use the file created in the “Illustrating the export/import process” section to illustrate how to get your MakeHuman ready for use in Autodesk 3DSMax.
Autodesk 3DSMax has two types of units: “system units” and “display units”. By default, Autodesk uses inches as its “system units”. It is essential that 3DSMax “system units” be set to their FINAL value BEFORE importing any asset. Once set, do not change them again for that scene. If a 1 cubic foot cube object is imported, and then the system units are changed from inches to meters, the cube will become 1 cubic meter in volume.
The use of imperial inches as system units can complicate the process of FBX export/import, but if you export from MakeHuman using inches and import into 3DSMax using “automatic settings”, things should work well. <font color='red'>[edit RWB: this needs rechecking after finalizing MH unit handing for FBX].</font> This is the straight forward approach for architectural work in the U.S. where imperial units are common. The Autodesk web site discourages changing the system units of 3DSMax from default, but makes an explicit exception when importing assets from sources constructed using metric dimensions [http://knowledge.autodesk.com/support/3ds-max/learn-explore/caas/CloudHelp/cloudhelp/2015/ENU/3DSMax/files/GUID-7ECD378E-5A3F-4722-B32B-8A0EB581824A-htm.html][http://knowledge.autodesk.com/support/3ds-max/learn-explore/caas/CloudHelp/cloudhelp/2015/ENU/3DSMax/files/GUID-DFE074D9-FF5E-4AAC-B3F8-AB53ADCDC124-htm.html].
If you are importing many metric objects into 3DSMax from other programs, it may make sense to change your “system units” to either centimeters or meters, and export your MakeHuman character in FBX format with the corresponding units. System units and Display units in Autodesk 3DSMax can be accessed from the Customize | Customization | Unit Setup menu:
[[File:ImpExp23.png]]
<center>'''Figure 1'''</center>
In the Units setup dialog choose “System Units”, and in the System Unit Setup dialog choose your desired units. Notice that in the figure below that although the “system units” are set to the default units of inches (right dialog), the display units are set to meters (radio button next to metric in left dialog). Imported assets are scaled into system units. System units are then converted to display units for the purposes of the 3DSMax ruler display, but remain stored internally in original system units.
[[File:ImpExp25.png]]
<center>'''Figure 2'''</center>
With this understanding of how to control the 3DSMax side of things, let’s import our MakeHuman character. We will leave 3DSMax set to inches, and export our MakeHuman FBX file using inches as units as well.
== Importing FBX into 3DSMax ==
From the 3DSMax application menu choose Import |Import, and navigate to FBX file you exported from MakeHuman using inches.
[[File:ImpExp26.png]]
<center>'''Figure 3'''</center>
[[File:ImpExp27.png]]
<center>'''Figure 4'''</center>
c59d0c13b9489fe931cca8aa14593a7eb2d4670f
263
261
2015-07-25T20:58:37Z
Robbaer
12
wikitext
text/x-wiki
== Units Considerations ==
We will use the file created in the “Illustrating the export/import process” section to illustrate how to get your MakeHuman ready for use in Autodesk 3DSMax.
Autodesk 3DSMax has two types of units: “system units” and “display units”. By default, Autodesk uses inches as its “system units”. It is essential that 3DSMax “system units” be set to their FINAL value BEFORE importing any asset. Once set, do not change them again for that scene. If a 1 cubic foot cube object is imported, and then the system units are changed from inches to meters, the cube will become 1 cubic meter in volume.
The use of imperial inches as system units can complicate the process of FBX export/import, but if you export from MakeHuman using inches and import into 3DSMax using “automatic settings”, things should work well. <font color='red'>[edit RWB: this needs rechecking after finalizing MH unit handing for FBX].</font> This is the straight forward approach for architectural work in the U.S. where imperial units are common. The Autodesk web site discourages changing the system units of 3DSMax from default, but makes an explicit exception when importing assets from sources constructed using metric dimensions [http://knowledge.autodesk.com/support/3ds-max/learn-explore/caas/CloudHelp/cloudhelp/2015/ENU/3DSMax/files/GUID-7ECD378E-5A3F-4722-B32B-8A0EB581824A-htm.html][http://knowledge.autodesk.com/support/3ds-max/learn-explore/caas/CloudHelp/cloudhelp/2015/ENU/3DSMax/files/GUID-DFE074D9-FF5E-4AAC-B3F8-AB53ADCDC124-htm.html].
If you are importing many metric objects into 3DSMax from other programs, it may make sense to change your “system units” to either centimeters or meters, and export your MakeHuman character in FBX format with the corresponding units. System units and Display units in Autodesk 3DSMax can be accessed from the Customize | Customization | Unit Setup menu:
[[File:ImpExp23.png]]
<center>'''Figure 1'''</center>
[[File:ImpExp24.png]]
<center>'''Figure 2'''</center>
[[File:ImpExp25.png]]
<center>'''Figure 3'''</center>
[[File:ImpExp26.png]]
<center>'''Figure 4'''</center>
3d509f3bf64a54a93529cdc2d32ca9a4397cb247
261
260
2015-07-25T20:51:24Z
Robbaer
12
/* Introduction and Import */
wikitext
text/x-wiki
== Units Considerations ==
We will use the file created in the “Illustrating the export/import process” section to illustrate how to get your MakeHuman ready for use in Autodesk 3DSMax.
Autodesk 3DSMax has two types of units: “system units” and “display units”. By default, Autodesk uses inches as its “system units”. It is essential that 3DSMax “system units” be set to their FINAL value BEFORE importing any asset. Once set, do not change them again for that scene. If a 1 cubic foot cube object is imported, and then the system units are changed from inches to meters, the cube will become 1 cubic meter in volume.
The use of imperial inches as system units can complicate the process of FBX export/import, but if you export from MakeHuman using inches and import into 3DSMax using “automatic settings”, things should work well. <font color='red'>[edit RWB: this needs rechecking after finalizing MH unit handing for FBX].</font> This is the straight forward approach for architectural work in the U.S. where imperial units are common. The Autodesk web site discourages changing the system units of 3DSMax from default, but makes an explicit exception when importing assets from sources constructed using metric dimensions [http://knowledge.autodesk.com/support/3ds-max/learn-explore/caas/CloudHelp/cloudhelp/2015/ENU/3DSMax/files/GUID-7ECD378E-5A3F-4722-B32B-8A0EB581824A-htm.html][http://knowledge.autodesk.com/support/3ds-max/learn-explore/caas/CloudHelp/cloudhelp/2015/ENU/3DSMax/files/GUID-DFE074D9-FF5E-4AAC-B3F8-AB53ADCDC124-htm.html].
If you are importing many metric objects into 3DSMax from other programs, it may make sense to change your “system units” to either centimeters or meters, and export your MakeHuman character in FBX format with the corresponding units. System units and Display units in Autodesk 3DSMax can be accessed from the Customize | Customization | Unit Setup menu:
<center>'''Figure 1'''</center>
37f24f17e4b1e38ad7ad98cecd038b05bd5b35d5
260
256
2015-07-25T20:49:26Z
Robbaer
12
wikitext
text/x-wiki
== Introduction and Import ==
We will use the file created in the “Illustrating the export/import process” section to illustrate how to get your MakeHuman ready for use in Autodesk 3DSMax.
Autodesk 3DSMax has two types of units: “system units” and “display units”. By default, Autodesk uses inches as its “system units”. It is essential that 3DSMax “system units” be set to their FINAL value BEFORE importing any asset. Once set, do not change them again for that scene. If a 1 cubic foot cube object is imported, and then the system units are changed from inches to meters, the cube will become 1 cubic meter in volume.
The use of imperial inches as system units can complicate the process of FBX export/import, but if you export from MakeHuman using inches and import into 3DSMax using “automatic settings”, things should work well. <font color='red'>[edit RWB: this needs rechecking after finalizing MH unit handing for FBX].</font> This is the straight forward approach for architectural work in the U.S. where imperial units are common. The Autodesk web site discourages changing the system units of 3DSMax from default, but makes an explicit exception when importing assets from sources constructed using metric dimensions [http://knowledge.autodesk.com/support/3ds-max/learn-explore/caas/CloudHelp/cloudhelp/2015/ENU/3DSMax/files/GUID-7ECD378E-5A3F-4722-B32B-8A0EB581824A-htm.html][http://knowledge.autodesk.com/support/3ds-max/learn-explore/caas/CloudHelp/cloudhelp/2015/ENU/3DSMax/files/GUID-DFE074D9-FF5E-4AAC-B3F8-AB53ADCDC124-htm.html].
If you are importing many metric objects into 3DSMax from other programs, it may make sense to change your “system units” to either centimeters or meters, and export your MakeHuman character in FBX format with the corresponding units. System units and Display units in Autodesk 3DSMax can be accessed from the Customize | Customization | Unit Setup menu:
<center>'''Figure 1'''</center>
9697293177301ba389add74293064bea90ed3372
256
2015-07-25T19:40:39Z
Robbaer
12
Created page with " == Introduction and Import == We will use the file created in the “Illustrating the export/import process” section to illustrate how to get your MakeHuman ready for use..."
wikitext
text/x-wiki
== Introduction and Import ==
We will use the file created in the “Illustrating the export/import process” section to illustrate how to get your MakeHuman ready for use in Autodesk 3DSMax.
Autodesk 3DSMax has two types of units: “system units” and “display units”. By default, Autodesk uses inches as its “system units”. It is essential that 3DSMax “system units” be set to their FINAL value BEFORE importing any asset. Once set, do not change them again for that scene. If a 1 cubic foot cube object is imported, and then the system units are changed from inches to meters, the cube will become 1 cubic meter in volume.
The use of imperial inches as system units can complicate the process of FBX export/import, but if you export from MakeHuman using inches and import into 3DSMax using “automatic settings”, things should work well. <font color='red'>[edit RWB: this needs rechecking after finalizing MH unit handing for FBX].</font> This is the straight forward approach for architectural work in the U.S. where imperial units are common. The Autodesk web site discourages changing the system units of 3DSMax from default, but makes an explicit exception when importing assets from sources constructed using metric dimensions ( ).
If you are importing many metric objects into 3DSMax from other programs, it may make sense to change your “system units” to either centimeters or meters, and export your MakeHuman character in FBX format with the corresponding units. System units and Display units in Autodesk 3DSMax can be accessed from the Customize | Customization | Unit Setup menu:
2bd71770ab973aa5251043f8930c1f460ec95198
Moving Assets into Autodesk Maya
0
98
262
242
2015-07-25T20:55:52Z
Robbaer
12
/* Re-importing Intermediate FBX files from Maya */
wikitext
text/x-wiki
== Introduction ==
We will use the file created in the “Illustrating the Export Process for Subsequent Import” section.
The FBX export settings used for Maya import should include setting the scale units to centimeters on export. Maya can import either ASCII or binary FBX files, so either type of export can be used for MakeHuman export. <nowiki>[RWB Note: as of this writing there are still some issues with direct FBX binary export, but those are expected to be repaired going forward]</nowiki>. By default the exported file will be found in ~/makehuman/v1/exports/ (where ~ is the user home directory).
== Importing and Initial Setup ==
When the file is initially imported into Maya it looks like this:
[[File:ImpExp03.png]]
<CENTER>'''Figure 1'''</CENTER>
The only color in the viewport is the shoes which had a simple diffuse material which was not associated a texture. By clicking the textured icon at the top of the viewport, the viewport shows a preview of how the rendered, textured image would appear:
[[File:ImpExp04.png]]
<CENTER>'''Figure 2'''</CENTER>
Holding down Alt and scrolling with the middle mouse wheel allows us to zoom in and see the problems with the imported eyes, eyelashes, eyebrows, and possibly the hair:
[[File:ImpExp06.png]]
<CENTER>'''Figure 3'''</CENTER>
The thin lines on the face are an artifact of having included the facial rig by choosing the default skeleton. The process of fixing the '''eyes, eyelashes, eyebrows, and hair''' is the same in each case. We must tell Maya to use transparency from the corresponding alpha channel when rendering the corresponding mesh. It can be hard to select the facial mesh objects in perspective view so it is advisable to go into orthographic front view. One way to do this is with the panel menu just above the viewport.
[[File:ImpExp07.png]]
<CENTER>'''Figure 4'''</CENTER>
==Basic Repair of Eye Transparency ==
Once in front view, left click to select the eye meshes, and perform the following steps:
[[File:ImpExp08.png]]
<CENTER>'''Figure 5'''</CENTER>
1. In the attribute editor on the right side of the screen, use the right arrow key to make sure the right-most tab is visible and click it to show the corresponding attributes.
[[File:ImpExp09.png]]
<CENTER>'''Figure 6'''</CENTER>
2. In the phong shader section, open the Common Material Attributes section and click on the checkered button to the right of transparency.
[[File:ImpExp10.png]]
<CENTER>'''Figure 7'''</CENTER>
3. In the Create Render Node dialog box that pops up, click on file.
[[File:ImpExp11.png]]
<CENTER>'''Figure 8'''</CENTER>
4. The checkered button next to transparency (see Figure 7) turns into an arrow, [[File:ImpExp12.png]] which you can click to allow the attribute editor to locate the texture map for your eyes. In our example, this texture is called blue_eyes.png. You navigate to this file by left clicking on the yellow folder file attributes section as shown in the image below:
[[File:ImpExp13.png]]
<CENTER>'''Figure 9'''</CENTER>
5. This step for transparency will probably will NOT be needed if you import straight from MakeHuman, but it may be needed if you do intermediate work in another program like 3DSMax. Open the color balance section on the same file1 tab of the attribute editor and verify that “Alpha is Luminance” is unchecked (Figure 10 below). Uncheck it if it is checked.
[[File:ImpExp14.png]]
<CENTER>'''Figure 10'''</CENTER>
The eyes in our image now look like this:
[[File:ImpExp15.png]]
<CENTER>'''Figure 11'''</CENTER>
----
== Repeat for other Transparent Assets==
You need to '''repeat steps 1-5''' after selecting the '''''eyebrows''''' in the viewport, after selecting the '''''eyelashes''''' in the viewport, and after selecting the '''''hair''''' in the viewport. When we finished these steps on each of the assets of our test model, the face is a nice approximation of what we started with in MakeHuman and looks like this:
[[File:ImpExp16.png]]
<CENTER>'''Figure 12'''</CENTER>
----
== Raytrace Shadows==
Depending on the lighting you are using in Maya, you might have one additional adjustment to make. To avoid transparency shadows, it is necessary to return to the phong section of the attribute editor by left clicking on the eyes in the viewport. In the phong shader section, open the raytrace options panel and move the shadow attenuation slider from its default of 0.5 to zero.
[[File:ImpExp18.png]]
<CENTER>'''Figure 13'''</CENTER>
At this point the MakeHuman model can be saved in standard Maya .mb binary file and easily brought back into Maya.
== Re-importing Intermediate FBX files from Maya==
If the file is exported from Maya as an FBX file and read back into Maya, it imports with partially transparent assets and will look like this:
[[File:ImpExp20.png]]
<CENTER>'''Figure 14'''</CENTER>
You may also see partially transparent assets if your asset pipeline involves an intermediate program between MakeHuman and Maya and you use FBX to import the workflow into Maya. To once again restore it to its intended look, '''take the eyes, eyelashes, eyebrows, and hair, and fix each in turn, as follows:'''
1. Select the asset by left clicking on it, then click the right most tab in the asset editor panel on the right side of the screen. Click the small arrow to the right of the transparency slider.
2. On the file tab that appears, open the Color Balance section and uncheck alpha Is Luminance.
3. It may also be necessary to click each of the four assets and under the Raytrace Options section of the Phong shader in the Attributes editor, change the shadow attenuation slide back to zero (refer back to figure 13).
[[File:ImpExp22.png]]
<CENTER>'''Figure 15'''</CENTER>
When you have re-done these steps for each of the four transparent MakeHuman assets the character should once again look like it did in MakeHuman.
== Adopting MakeHuman Skeletons to Maya ==
TO BE WRITTEN
----
ed8f7bc56b76a5db30f8dd15f4d6763320565b35
242
241
2015-07-25T18:53:08Z
Robbaer
12
/* Adopting MakeHuman Skeletons to Maya */
wikitext
text/x-wiki
== Introduction ==
We will use the file created in the “Illustrating the Export Process for Subsequent Import” section.
The FBX export settings used for Maya import should include setting the scale units to centimeters on export. Maya can import either ASCII or binary FBX files, so either type of export can be used for MakeHuman export. <nowiki>[RWB Note: as of this writing there are still some issues with direct FBX binary export, but those are expected to be repaired going forward]</nowiki>. By default the exported file will be found in ~/makehuman/v1/exports/ (where ~ is the user home directory).
== Importing and Initial Setup ==
When the file is initially imported into Maya it looks like this:
[[File:ImpExp03.png]]
<CENTER>'''Figure 1'''</CENTER>
The only color in the viewport is the shoes which had a simple diffuse material which was not associated a texture. By clicking the textured icon at the top of the viewport, the viewport shows a preview of how the rendered, textured image would appear:
[[File:ImpExp04.png]]
<CENTER>'''Figure 2'''</CENTER>
Holding down Alt and scrolling with the middle mouse wheel allows us to zoom in and see the problems with the imported eyes, eyelashes, eyebrows, and possibly the hair:
[[File:ImpExp06.png]]
<CENTER>'''Figure 3'''</CENTER>
The thin lines on the face are an artifact of having included the facial rig by choosing the default skeleton. The process of fixing the '''eyes, eyelashes, eyebrows, and hair''' is the same in each case. We must tell Maya to use transparency from the corresponding alpha channel when rendering the corresponding mesh. It can be hard to select the facial mesh objects in perspective view so it is advisable to go into orthographic front view. One way to do this is with the panel menu just above the viewport.
[[File:ImpExp07.png]]
<CENTER>'''Figure 4'''</CENTER>
==Basic Repair of Eye Transparency ==
Once in front view, left click to select the eye meshes, and perform the following steps:
[[File:ImpExp08.png]]
<CENTER>'''Figure 5'''</CENTER>
1. In the attribute editor on the right side of the screen, use the right arrow key to make sure the right-most tab is visible and click it to show the corresponding attributes.
[[File:ImpExp09.png]]
<CENTER>'''Figure 6'''</CENTER>
2. In the phong shader section, open the Common Material Attributes section and click on the checkered button to the right of transparency.
[[File:ImpExp10.png]]
<CENTER>'''Figure 7'''</CENTER>
3. In the Create Render Node dialog box that pops up, click on file.
[[File:ImpExp11.png]]
<CENTER>'''Figure 8'''</CENTER>
4. The checkered button next to transparency (see Figure 7) turns into an arrow, [[File:ImpExp12.png]] which you can click to allow the attribute editor to locate the texture map for your eyes. In our example, this texture is called blue_eyes.png. You navigate to this file by left clicking on the yellow folder file attributes section as shown in the image below:
[[File:ImpExp13.png]]
<CENTER>'''Figure 9'''</CENTER>
5. This step for transparency will probably will NOT be needed if you import straight from MakeHuman, but it may be needed if you do intermediate work in another program like 3DSMax. Open the color balance section on the same file1 tab of the attribute editor and verify that “Alpha is Luminance” is unchecked (Figure 10 below). Uncheck it if it is checked.
[[File:ImpExp14.png]]
<CENTER>'''Figure 10'''</CENTER>
The eyes in our image now look like this:
[[File:ImpExp15.png]]
<CENTER>'''Figure 11'''</CENTER>
----
== Repeat for other Transparent Assets==
You need to '''repeat steps 1-5''' after selecting the '''''eyebrows''''' in the viewport, after selecting the '''''eyelashes''''' in the viewport, and after selecting the '''''hair''''' in the viewport. When we finished these steps on each of the assets of our test model, the face is a nice approximation of what we started with in MakeHuman and looks like this:
[[File:ImpExp16.png]]
<CENTER>'''Figure 12'''</CENTER>
----
== Raytrace Shadows==
Depending on the lighting you are using in Maya, you might have one additional adjustment to make. To avoid transparency shadows, it is necessary to return to the phong section of the attribute editor by left clicking on the eyes in the viewport. In the phong shader section, open the raytrace options panel and move the shadow attenuation slider from its default of 0.5 to zero.
[[File:ImpExp18.png]]
<CENTER>'''Figure 13'''</CENTER>
At this point the MakeHuman model can be saved in standard Maya .mb binary file and easily brought back into Maya.
== Re-importing Intermediate FBX files from Maya==
If the file is exported from Maya as an FBX file and read back into Maya, it imports with partially transparent assets and will look like this:
[[File:ImpExp20.png]]
<CENTER>'''Figure 14'''</CENTER>
You may also see partially transparent assets if your asset pipeline involves an intermediate program between MakeHuman and Maya and you use FBX to import the workflow into Maya. To once again restore it to its intended look, '''take the eyes, eyelashes, eyebrows, and hair, and fix each as follows:'''
1. Select the asset by left clicking on it, then click the right most tab in the asset editor panel on the right side of the screen. Click the small arrow to the right of the transparency slider.
2. On the file tab that appears, open the Color Balance section and uncheck alpha Is Luminance.
3. It may also be necessary to click each of the four assets and under the Raytrace Options section of the Phong shader in the Attributes editor, change the shadow attenuation slide back to zero (refer to figure 13).
[[File:ImpExp22.png]]
<CENTER>'''Figure 15'''</CENTER>
When you have re-done these steps for each of the four transparent MakeHuman assets the character should once again look like it did in MakeHuman.
== Adopting MakeHuman Skeletons to Maya ==
TO BE WRITTEN
----
db95446314c46e84ff7d01dc019b480b1acd91ef
241
240
2015-07-25T18:45:02Z
Robbaer
12
/* Moving Assets into Autodesk Maya */
wikitext
text/x-wiki
== Introduction ==
We will use the file created in the “Illustrating the Export Process for Subsequent Import” section.
The FBX export settings used for Maya import should include setting the scale units to centimeters on export. Maya can import either ASCII or binary FBX files, so either type of export can be used for MakeHuman export. <nowiki>[RWB Note: as of this writing there are still some issues with direct FBX binary export, but those are expected to be repaired going forward]</nowiki>. By default the exported file will be found in ~/makehuman/v1/exports/ (where ~ is the user home directory).
== Importing and Initial Setup ==
When the file is initially imported into Maya it looks like this:
[[File:ImpExp03.png]]
<CENTER>'''Figure 1'''</CENTER>
The only color in the viewport is the shoes which had a simple diffuse material which was not associated a texture. By clicking the textured icon at the top of the viewport, the viewport shows a preview of how the rendered, textured image would appear:
[[File:ImpExp04.png]]
<CENTER>'''Figure 2'''</CENTER>
Holding down Alt and scrolling with the middle mouse wheel allows us to zoom in and see the problems with the imported eyes, eyelashes, eyebrows, and possibly the hair:
[[File:ImpExp06.png]]
<CENTER>'''Figure 3'''</CENTER>
The thin lines on the face are an artifact of having included the facial rig by choosing the default skeleton. The process of fixing the '''eyes, eyelashes, eyebrows, and hair''' is the same in each case. We must tell Maya to use transparency from the corresponding alpha channel when rendering the corresponding mesh. It can be hard to select the facial mesh objects in perspective view so it is advisable to go into orthographic front view. One way to do this is with the panel menu just above the viewport.
[[File:ImpExp07.png]]
<CENTER>'''Figure 4'''</CENTER>
==Basic Repair of Eye Transparency ==
Once in front view, left click to select the eye meshes, and perform the following steps:
[[File:ImpExp08.png]]
<CENTER>'''Figure 5'''</CENTER>
1. In the attribute editor on the right side of the screen, use the right arrow key to make sure the right-most tab is visible and click it to show the corresponding attributes.
[[File:ImpExp09.png]]
<CENTER>'''Figure 6'''</CENTER>
2. In the phong shader section, open the Common Material Attributes section and click on the checkered button to the right of transparency.
[[File:ImpExp10.png]]
<CENTER>'''Figure 7'''</CENTER>
3. In the Create Render Node dialog box that pops up, click on file.
[[File:ImpExp11.png]]
<CENTER>'''Figure 8'''</CENTER>
4. The checkered button next to transparency (see Figure 7) turns into an arrow, [[File:ImpExp12.png]] which you can click to allow the attribute editor to locate the texture map for your eyes. In our example, this texture is called blue_eyes.png. You navigate to this file by left clicking on the yellow folder file attributes section as shown in the image below:
[[File:ImpExp13.png]]
<CENTER>'''Figure 9'''</CENTER>
5. This step for transparency will probably will NOT be needed if you import straight from MakeHuman, but it may be needed if you do intermediate work in another program like 3DSMax. Open the color balance section on the same file1 tab of the attribute editor and verify that “Alpha is Luminance” is unchecked (Figure 10 below). Uncheck it if it is checked.
[[File:ImpExp14.png]]
<CENTER>'''Figure 10'''</CENTER>
The eyes in our image now look like this:
[[File:ImpExp15.png]]
<CENTER>'''Figure 11'''</CENTER>
----
== Repeat for other Transparent Assets==
You need to '''repeat steps 1-5''' after selecting the '''''eyebrows''''' in the viewport, after selecting the '''''eyelashes''''' in the viewport, and after selecting the '''''hair''''' in the viewport. When we finished these steps on each of the assets of our test model, the face is a nice approximation of what we started with in MakeHuman and looks like this:
[[File:ImpExp16.png]]
<CENTER>'''Figure 12'''</CENTER>
----
== Raytrace Shadows==
Depending on the lighting you are using in Maya, you might have one additional adjustment to make. To avoid transparency shadows, it is necessary to return to the phong section of the attribute editor by left clicking on the eyes in the viewport. In the phong shader section, open the raytrace options panel and move the shadow attenuation slider from its default of 0.5 to zero.
[[File:ImpExp18.png]]
<CENTER>'''Figure 13'''</CENTER>
At this point the MakeHuman model can be saved in standard Maya .mb binary file and easily brought back into Maya.
== Re-importing Intermediate FBX files from Maya==
If the file is exported from Maya as an FBX file and read back into Maya, it imports with partially transparent assets and will look like this:
[[File:ImpExp20.png]]
<CENTER>'''Figure 14'''</CENTER>
You may also see partially transparent assets if your asset pipeline involves an intermediate program between MakeHuman and Maya and you use FBX to import the workflow into Maya. To once again restore it to its intended look, '''take the eyes, eyelashes, eyebrows, and hair, and fix each as follows:'''
1. Select the asset by left clicking on it, then click the right most tab in the asset editor panel on the right side of the screen. Click the small arrow to the right of the transparency slider.
2. On the file tab that appears, open the Color Balance section and uncheck alpha Is Luminance.
3. It may also be necessary to click each of the four assets and under the Raytrace Options section of the Phong shader in the Attributes editor, change the shadow attenuation slide back to zero (refer to figure 13).
[[File:ImpExp22.png]]
<CENTER>'''Figure 15'''</CENTER>
When you have re-done these steps for each of the four transparent MakeHuman assets the character should once again look like it did in MakeHuman.
== '''Adopting MakeHuman Skeletons to Maya''' ==
TO BE WRITTEN
c0296c07670999262bfc1204262e6aa99b9396dc
240
2015-07-25T18:36:07Z
Robbaer
12
Created page with "==Moving Assets into Autodesk Maya== We will use the file created in the “Illustrating the Export Process for Subsequent Import” section. The FBX export settings used for..."
wikitext
text/x-wiki
==Moving Assets into Autodesk Maya==
We will use the file created in the “Illustrating the Export Process for Subsequent Import” section.
The FBX export settings used for Maya import should include setting the scale units to centimeters on export. Maya can import either ASCII or binary FBX files, so either type of export can be used for MakeHuman export. <nowiki>[RWB Note: as of this writing there are still some issues with direct FBX binary export, but those are expected to be repaired going forward]</nowiki>. By default the exported file will be found in ~/makehuman/v1/exports/ (where ~ is the user home directory).
'''Importing and Initial Setup'''
When the file is initially imported into Maya it looks like this:
[[File:ImpExp03.png]]
<CENTER>'''Figure 1'''</CENTER>
The only color in the viewport is the shoes which had a simple diffuse material which was not associated a texture. By clicking the textured icon at the top of the viewport, the viewport shows a preview of how the rendered, textured image would appear:
[[File:ImpExp04.png]]
<CENTER>'''Figure 2'''</CENTER>
Holding down Alt and scrolling with the middle mouse wheel allows us to zoom in and see the problems with the imported eyes, eyelashes, eyebrows, and possibly the hair:
[[File:ImpExp06.png]]
<CENTER>'''Figure 3'''</CENTER>
The thin lines on the face are an artifact of having included the facial rig by choosing the default skeleton. The process of fixing the '''eyes, eyelashes, eyebrows, and hair''' is the same in each case. We must tell Maya to use transparency from the corresponding alpha channel when rendering the corresponding mesh. It can be hard to select the facial mesh objects in perspective view so it is advisable to go into orthographic front view. One way to do this is with the panel menu just above the viewport.
[[File:ImpExp07.png]]
<CENTER>'''Figure 4'''</CENTER>
'''Basic Repair of Eye Transparency'''
Once in front view, left click to select the eye meshes, and perform the following steps:
[[File:ImpExp08.png]]
<CENTER>'''Figure 5'''</CENTER>
1. In the attribute editor on the right side of the screen, use the right arrow key to make sure the right-most tab is visible and click it to show the corresponding attributes.
[[File:ImpExp09.png]]
<CENTER>'''Figure 6'''</CENTER>
2. In the phong shader section, open the Common Material Attributes section and click on the checkered button to the right of transparency.
[[File:ImpExp10.png]]
<CENTER>'''Figure 7'''</CENTER>
3. In the Create Render Node dialog box that pops up, click on file.
[[File:ImpExp11.png]]
<CENTER>'''Figure 8'''</CENTER>
4. The checkered button next to transparency (see Figure 7) turns into an arrow, [[File:ImpExp12.png]] which you can click to allow the attribute editor to locate the texture map for your eyes. In our example, this texture is called blue_eyes.png. You navigate to this file by left clicking on the yellow folder file attributes section as shown in the image below:
[[File:ImpExp13.png]]
<CENTER>'''Figure 9'''</CENTER>
5. This step for transparency will probably will NOT be needed if you import straight from MakeHuman, but it may be needed if you do intermediate work in another program like 3DSMax. Open the color balance section on the same file1 tab of the attribute editor and verify that “Alpha is Luminance” is unchecked (Figure 10 below). Uncheck it if it is checked.
[[File:ImpExp14.png]]
<CENTER>'''Figure 10'''</CENTER>
The eyes in our image now look like this:
[[File:ImpExp15.png]]
<CENTER>'''Figure 11'''</CENTER>
----
'''Repeat for other Transparent Assets'''
You need to '''repeat steps 1-5''' after selecting the '''''eyebrows''''' in the viewport, after selecting the '''''eyelashes''''' in the viewport, and after selecting the '''''hair''''' in the viewport. When we finished these steps on each of the assets of our test model, the face is a nice approximation of what we started with in MakeHuman and looks like this:
[[File:ImpExp16.png]]
<CENTER>'''Figure 12'''</CENTER>
----
'''Raytrace Shadows'''
Depending on the lighting you are using in Maya, you might have one additional adjustment to make. To avoid transparency shadows, it is necessary to return to the phong section of the attribute editor by left clicking on the eyes in the viewport. In the phong shader section, open the raytrace options panel and move the shadow attenuation slider from its default of 0.5 to zero.
[[File:ImpExp18.png]]
<CENTER>'''Figure 13'''</CENTER>
At this point the MakeHuman model can be saved in standard Maya .mb binary file and easily brought back into Maya.
'''Re-importing "Fixed MakeHuman Assets" from Maya after saving in FBX format'''
If the file is exported from Maya as an FBX file and read back into Maya, it imports with partially transparent assets and will look like this:
[[File:ImpExp20.png]]
<CENTER>'''Figure 14'''</CENTER>
You may also see partially transparent assets if your asset pipeline involves an intermediate program between MakeHuman and Maya and you use FBX to import the workflow into Maya. To once again restore it to its intended look, '''take the eyes, eyelashes, eyebrows, and hair, and fix each as follows:'''
1. Select the asset by left clicking on it, then click the right most tab in the asset editor panel on the right side of the screen. Click the small arrow to the right of the transparency slider.
2. On the file tab that appears, open the Color Balance section and uncheck alpha Is Luminance.
3. It may also be necessary to click each of the four assets and under the Raytrace Options section of the Phong shader in the Attributes editor, change the shadow attenuation slide back to zero (refer to figure 13).
[[File:ImpExp22.png]]
<CENTER>'''Figure 15'''</CENTER>
When you have re-done these steps for each of the four transparent MakeHuman assets the character should once again look like it did in MakeHuman.
'''Adopting MakeHuman Skeletons to Maya'''
TO BE WRITTEN
7f749bc56129f3aea7cda985cf966c70d8b8a778
Moving Assets into Blender
0
126
2146
1616
2022-11-13T16:34:54Z
Coz
122
Fixed broken ACCAD-BHV link
wikitext
text/x-wiki
== Introduction ==
''Note that the information in this page is somewhat outdated, and that you may be better off using MPFB, see [[FAQ: What is MPFB (MakeHuman Plugin For Blender)?]]''
We will use the file created in the “Illustrating the Export Process for Subsequent Import” section.
The MakeHuman export settings used when targeting Blender import should include setting the scale units to meters. Blender is capable of importing either Collada (.dae) format or Autodesk FBX format files. The import results and handling are quite similar regardless of which you choose to use, and both will require similar fixes for transparent assets on the eyes, eyebrows, eyelashes, and hair. Collada files are text based, and thus, are often quite large. Makehuman assets with textures will be exported with those textures saved in a folder named "textures" in the same folder as the parent folder. By default, on Windows If you move the collada file to a new computer or directory, you must move the "textures" folder to that same folder. By default the exported file will be found in ~/makehuman/v1/exports/ (where ~ is the user home directory).
Blender can import only binary FBX files at present, so ideally, binary would be checked for MakeHuman FBX export. <nowiki>[RWB Note: As of this writing there are still some issues with direct FBX binary export, but those are expected to be repaired going forward. In the meantime, a viable workaround for those wanting to use FBX format is to export an ASCII FBX file, convert it with the Autodesk FBX converter, and import it into Blender]</nowiki>.
Because of the ASCII --> binary issues that currently exist with the FBX format, we will describe moving assets from MakeHuman to Blender using collada (.dae) format. When exporting for subsequent import into blender, the best choice of export scales is usually meters.
== Importing a MakeHuman Collada File ==
The collada file is imported into Blender using the File | Import menu and choosing collada. The default settings at the bottomof the left, T-tool panel will generally not need to be altered.
Once imported the file is likely to appear gray in the 3D viewport when in object mode and shading set to solid (Figure 1, left panel). If shading is set to rendered with blender internal (BI) selected in the render drop down menu, the image will show the materials for many assets, but the eyes, eyebrows, eyelashes, and hair which contain transparent texture maps will not render properly.
[[File:ImpExp52.png]]
<center>'''Figure 1: Imported file as viewed in Blender 3D viepowt with Object mode and "solid" or "render" mode shading'''</center>
More often if we wish to select objects in the scene we will set the shading mode to 'texture' instead of 'render'. By default the model will appear gray/white in texture mode by default. To improve this, bring up the N-tool panel by typing N with the cursor located over the 3D viewport or by selecting View | Properties from the 3D menu. On the toolbar, locate the shading panel and click on 'Multitexture' to change the setting to 'GLSL'. The image should now show non-transparent materials properly (Figure 2).
[[File:ImpExp53.png]]
<center>'''Figure 2'''</center>
In some cases, you might gain additional benefit in displaying materials for the eyes by going to the Object data tab (cube). This is located on the far right properties panel. For each of the transparent assets (eyes, eyelashes, eyebrows, and hair) select the Display panel and check 'Draw all Edges' and 'Transparency' in the bottom row. The benefit of this step for improving trasparent assets will depend on exactly how you imported the file, the lighting, and possibly other settings. What you see in the viewport is close to what you will see if you choose Render | OpenGL Render from the Info editor at the top of the screen.
[[File:ImpExp54.png]]
<center>'''Figure 3: Object data'''</center>
== Preparing for Render with Blender Internal Renderer ==
The appearance of the MakeHuman model in the Blender Internal Renderer will depend on a number of things that will include transparency settings for materials, choice of lighting type, and shadow settings. We will illustrate this by first changing the default point light to a hemi light. Right click on the point lamp in the viewport and in the right properties panel select the lamp tab and choose hemi (Figure 4).
[[File:ImpExp55a.png]]
<center>'''Figure 4'''</center>
To make transparent objects (eyes, eyebrows, eyelashes, and hair) render properly in the Blender Internal render engine, we need to change some settings on the material tab of each object and the material tab of each object. We will start with the material tab. The two panels that require adjustment are the transparency and shadow panels. Start by selecting the material tab in the properties panel (figure 5).
[[File:ImpExp55.png]]
<center>'''Figure 5'''</center>
'''Step 1.''' Right click on one of the eyes in the 3D viewport to select them. In the transparency panel, set both the
alpha and specular sliders to 0 (Figure 6).
'''Step 2.''' In the shadow panel, check 'Receive tranparent' (figure 7)
<table>
<tr><td>[[File:ImpExp56.png]]</td><td>[[File:ImpExp57.png]]</td>
<tr><td><center>'''Figure 6'''</center></td><td><center>'''Figure 7'''</center></td></tr>
</table>
Now go to the texture tab of the properties editor (checkered tab) and open the Influence panel (Figure 8).
[[File:ImpExp58.png]]
<center>'''Figure 8: '''</center>
'''Step 3.''' On the influence panel check alpha (Figure 9). Leave the value at its default of 1.0.
[[File:ImpExp59.png]]
<center>'''Figure 9: '''</center>
After completing these three steps, the eyes should be transparent (Figure 10)
[[File:ImpExp60.png]]
<center>'''Figure 10: '''</center>
Repeating steps 1-3, in turn, for the eyebrows, eyelashes and hair, respectively, should produce results similar to the panels of Figure 11.
[[File:ImpExp61.png]]
<center>'''Figure 11: '''</center>
When rendered with the Blender internal engine the image should look similar to the original human that was exported.
[[File:ImpExp62.png]]
<center>'''Figure 12: '''</center>
== Adapting to Different Light Sources for Blender Internal ==
If we now right click on the hemi lamp in the scene, and restore it back to the default point lamp type in the lamp properties panel, we are now faced with additional shadow problems. In this example, the point lamp is the single source of illumination. Note that, depending where your point lamp is located, it may be necessary to turn up the point lamp intensity to produce a bright enough render. The hard shadows from this lamp produce unreal darkening shadows of the eyelashes and eyelids when rendered with Blender Internal engine. The look is unlikely to be usable for any real purpose (Figure 13)
[[File:ImpExp63.png]]
<center>'''Figure 13: '''</center>
To make the eyelashes, eyebrows, and hair appear realistic, it is necessary to let the skin base mesh receive shadows. If you used collada to export and import into Blender, the skin name in the Outliner panel will end with '...-base.obj'. Select the skin by either right clicking directly on the skin in the 3D viewport, or by clicking on the '...base.obj' name in the outliner panel. In the properties editor, select the Materials tab and check 'Receive Transparency' in the shadow panel (Figure 14). The eyebrows and eyelashes (and sometimes hair) will now appear realistic, albeit with hard shadows (Figure 15).
<table>
<tr><td><center>[[File:ImpExp64.png]]</center></td> <td><center>[[File:ImpExp65.png]] </center></td></tr>
<tr><td><center>'''Figure 14 '''</center> </td> <td> <center>'''Figure 15: '''</center></td></tr>
</table>
If the hard shadows are inconsistent with the look you hoped for (Figure 15 and Figure 16, top), it is possibly to fix this. For eyebrows, eyelashes, and hair you need to turn off cast on the shadow panel of the materials tab of the properties editor. After doing this, the shadow effect will be similar to what we got with the hemi lamp and what the human originally looked like when exported from MakeHuman.
[[File:ImpExp66.png]]
<center>'''Figure 16: '''</center>
Blender internal render engine is the default still with Blender 2.75a, but Blender Cycles has rapidly become the render engine of choice for advanced users. We will consider next how to set up a basic node system for getting approximately the same look we had when inside MakeHuman.
== Preparing for Render with Blender Cycles Renderer ==
** TO BE WRITTEN **
== Working with Skeletons in Blender ==
At present, most MakeHuman skeletons import well into Blender. To do animation based on Biovision Hierarchy (BVH) motion capture files, use the MakeHuman Blender tool [[Documentation:MHBlenderTools:_MakeWalk|MakeWalk]]. This tool is designed to import .BVH files from the Carnegie-Mellon collection (CMU-BVH) and the female files of the Ohio State University, [https://accad.osu.edu/research/motion-lab/mocap-system-and-data Advanced Computing Center for Arts and Design collection (ACCAD-BVH)]. It is worth noting explicitly that the male ACCAD files use a BVH format that does not currently work well inside Blender with MakeWalk.
== Installing the Unofficial MHX2 plugin for MakeHuman and Blender ==
** TO BE WRITTEN **
== Using the Unofficial MHX2 plugin for MakeHuman and Blender ==
** TO BE WRITTEN **
c99fe6924afe3c653603ba088f920266de781d26
1616
470
2019-09-27T08:31:02Z
Joepal
14
wikitext
text/x-wiki
== Introduction ==
''Note that the information in this page is somewhat outdated, and that you may be better off using MPFB, see [[FAQ: What is MPFB (MakeHuman Plugin For Blender)?]]''
We will use the file created in the “Illustrating the Export Process for Subsequent Import” section.
The MakeHuman export settings used when targeting Blender import should include setting the scale units to meters. Blender is capable of importing either Collada (.dae) format or Autodesk FBX format files. The import results and handling are quite similar regardless of which you choose to use, and both will require similar fixes for transparent assets on the eyes, eyebrows, eyelashes, and hair. Collada files are text based, and thus, are often quite large. Makehuman assets with textures will be exported with those textures saved in a folder named "textures" in the same folder as the parent folder. By default, on Windows If you move the collada file to a new computer or directory, you must move the "textures" folder to that same folder. By default the exported file will be found in ~/makehuman/v1/exports/ (where ~ is the user home directory).
Blender can import only binary FBX files at present, so ideally, binary would be checked for MakeHuman FBX export. <nowiki>[RWB Note: As of this writing there are still some issues with direct FBX binary export, but those are expected to be repaired going forward. In the meantime, a viable workaround for those wanting to use FBX format is to export an ASCII FBX file, convert it with the Autodesk FBX converter, and import it into Blender]</nowiki>.
Because of the ASCII --> binary issues that currently exist with the FBX format, we will describe moving assets from MakeHuman to Blender using collada (.dae) format. When exporting for subsequent import into blender, the best choice of export scales is usually meters.
== Importing a MakeHuman Collada File ==
The collada file is imported into Blender using the File | Import menu and choosing collada. The default settings at the bottomof the left, T-tool panel will generally not need to be altered.
Once imported the file is likely to appear gray in the 3D viewport when in object mode and shading set to solid (Figure 1, left panel). If shading is set to rendered with blender internal (BI) selected in the render drop down menu, the image will show the materials for many assets, but the eyes, eyebrows, eyelashes, and hair which contain transparent texture maps will not render properly.
[[File:ImpExp52.png]]
<center>'''Figure 1: Imported file as viewed in Blender 3D viepowt with Object mode and "solid" or "render" mode shading'''</center>
More often if we wish to select objects in the scene we will set the shading mode to 'texture' instead of 'render'. By default the model will appear gray/white in texture mode by default. To improve this, bring up the N-tool panel by typing N with the cursor located over the 3D viewport or by selecting View | Properties from the 3D menu. On the toolbar, locate the shading panel and click on 'Multitexture' to change the setting to 'GLSL'. The image should now show non-transparent materials properly (Figure 2).
[[File:ImpExp53.png]]
<center>'''Figure 2'''</center>
In some cases, you might gain additional benefit in displaying materials for the eyes by going to the Object data tab (cube). This is located on the far right properties panel. For each of the transparent assets (eyes, eyelashes, eyebrows, and hair) select the Display panel and check 'Draw all Edges' and 'Transparency' in the bottom row. The benefit of this step for improving trasparent assets will depend on exactly how you imported the file, the lighting, and possibly other settings. What you see in the viewport is close to what you will see if you choose Render | OpenGL Render from the Info editor at the top of the screen.
[[File:ImpExp54.png]]
<center>'''Figure 3: Object data'''</center>
== Preparing for Render with Blender Internal Renderer ==
The appearance of the MakeHuman model in the Blender Internal Renderer will depend on a number of things that will include transparency settings for materials, choice of lighting type, and shadow settings. We will illustrate this by first changing the default point light to a hemi light. Right click on the point lamp in the viewport and in the right properties panel select the lamp tab and choose hemi (Figure 4).
[[File:ImpExp55a.png]]
<center>'''Figure 4'''</center>
To make transparent objects (eyes, eyebrows, eyelashes, and hair) render properly in the Blender Internal render engine, we need to change some settings on the material tab of each object and the material tab of each object. We will start with the material tab. The two panels that require adjustment are the transparency and shadow panels. Start by selecting the material tab in the properties panel (figure 5).
[[File:ImpExp55.png]]
<center>'''Figure 5'''</center>
'''Step 1.''' Right click on one of the eyes in the 3D viewport to select them. In the transparency panel, set both the
alpha and specular sliders to 0 (Figure 6).
'''Step 2.''' In the shadow panel, check 'Receive tranparent' (figure 7)
<table>
<tr><td>[[File:ImpExp56.png]]</td><td>[[File:ImpExp57.png]]</td>
<tr><td><center>'''Figure 6'''</center></td><td><center>'''Figure 7'''</center></td></tr>
</table>
Now go to the texture tab of the properties editor (checkered tab) and open the Influence panel (Figure 8).
[[File:ImpExp58.png]]
<center>'''Figure 8: '''</center>
'''Step 3.''' On the influence panel check alpha (Figure 9). Leave the value at its default of 1.0.
[[File:ImpExp59.png]]
<center>'''Figure 9: '''</center>
After completing these three steps, the eyes should be transparent (Figure 10)
[[File:ImpExp60.png]]
<center>'''Figure 10: '''</center>
Repeating steps 1-3, in turn, for the eyebrows, eyelashes and hair, respectively, should produce results similar to the panels of Figure 11.
[[File:ImpExp61.png]]
<center>'''Figure 11: '''</center>
When rendered with the Blender internal engine the image should look similar to the original human that was exported.
[[File:ImpExp62.png]]
<center>'''Figure 12: '''</center>
== Adapting to Different Light Sources for Blender Internal ==
If we now right click on the hemi lamp in the scene, and restore it back to the default point lamp type in the lamp properties panel, we are now faced with additional shadow problems. In this example, the point lamp is the single source of illumination. Note that, depending where your point lamp is located, it may be necessary to turn up the point lamp intensity to produce a bright enough render. The hard shadows from this lamp produce unreal darkening shadows of the eyelashes and eyelids when rendered with Blender Internal engine. The look is unlikely to be usable for any real purpose (Figure 13)
[[File:ImpExp63.png]]
<center>'''Figure 13: '''</center>
To make the eyelashes, eyebrows, and hair appear realistic, it is necessary to let the skin base mesh receive shadows. If you used collada to export and import into Blender, the skin name in the Outliner panel will end with '...-base.obj'. Select the skin by either right clicking directly on the skin in the 3D viewport, or by clicking on the '...base.obj' name in the outliner panel. In the properties editor, select the Materials tab and check 'Receive Transparency' in the shadow panel (Figure 14). The eyebrows and eyelashes (and sometimes hair) will now appear realistic, albeit with hard shadows (Figure 15).
<table>
<tr><td><center>[[File:ImpExp64.png]]</center></td> <td><center>[[File:ImpExp65.png]] </center></td></tr>
<tr><td><center>'''Figure 14 '''</center> </td> <td> <center>'''Figure 15: '''</center></td></tr>
</table>
If the hard shadows are inconsistent with the look you hoped for (Figure 15 and Figure 16, top), it is possibly to fix this. For eyebrows, eyelashes, and hair you need to turn off cast on the shadow panel of the materials tab of the properties editor. After doing this, the shadow effect will be similar to what we got with the hemi lamp and what the human originally looked like when exported from MakeHuman.
[[File:ImpExp66.png]]
<center>'''Figure 16: '''</center>
Blender internal render engine is the default still with Blender 2.75a, but Blender Cycles has rapidly become the render engine of choice for advanced users. We will consider next how to set up a basic node system for getting approximately the same look we had when inside MakeHuman.
== Preparing for Render with Blender Cycles Renderer ==
** TO BE WRITTEN **
== Working with Skeletons in Blender ==
At present, most MakeHuman skeletons import well into Blender. To do animation based on Biovision Hierarchy (BVH) motion capture files, use the MakeHuman Blender tool [[Documentation:MHBlenderTools:_MakeWalk|MakeWalk]]. This tool is designed to import .BVH files from the Carnegie-Mellon collection (CMU-BVH) and the female files of the Ohio State University, [http://accad.osu.edu/research/mocap/mocap_data.htm Advanced Computing Center for Arts and Design collection (ACCAD-BVH)]. It is worth noting explicitly that the male ACCAD files use a BVH format that does not currently work well inside Blender with MakeWalk.
== Installing the Unofficial MHX2 plugin for MakeHuman and Blender ==
** TO BE WRITTEN **
== Using the Unofficial MHX2 plugin for MakeHuman and Blender ==
** TO BE WRITTEN **
dd74010384b393a3f9a8b9d1e1065cc20e0e401e
470
462
2015-08-27T20:36:01Z
Fairytail
16
/* Working with Skeletons in Blender */
wikitext
text/x-wiki
== Introduction ==
We will use the file created in the “Illustrating the Export Process for Subsequent Import” section.
The MakeHuman export settings used when targeting Blender import should include setting the scale units to meters. Blender is capable of importing either Collada (.dae) format or Autodesk FBX format files. The import results and handling are quite similar regardless of which you choose to use, and both will require similar fixes for transparent assets on the eyes, eyebrows, eyelashes, and hair. Collada files are text based, and thus, are often quite large. Makehuman assets with textures will be exported with those textures saved in a folder named "textures" in the same folder as the parent folder. By default, on Windows If you move the collada file to a new computer or directory, you must move the "textures" folder to that same folder. By default the exported file will be found in ~/makehuman/v1/exports/ (where ~ is the user home directory).
Blender can import only binary FBX files at present, so ideally, binary would be checked for MakeHuman FBX export. <nowiki>[RWB Note: As of this writing there are still some issues with direct FBX binary export, but those are expected to be repaired going forward. In the meantime, a viable workaround for those wanting to use FBX format is to export an ASCII FBX file, convert it with the Autodesk FBX converter, and import it into Blender]</nowiki>.
Because of the ASCII --> binary issues that currently exist with the FBX format, we will describe moving assets from MakeHuman to Blender using collada (.dae) format. When exporting for subsequent import into blender, the best choice of export scales is usually meters.
== Importing a MakeHuman Collada File ==
The collada file is imported into Blender using the File | Import menu and choosing collada. The default settings at the bottomof the left, T-tool panel will generally not need to be altered.
Once imported the file is likely to appear gray in the 3D viewport when in object mode and shading set to solid (Figure 1, left panel). If shading is set to rendered with blender internal (BI) selected in the render drop down menu, the image will show the materials for many assets, but the eyes, eyebrows, eyelashes, and hair which contain transparent texture maps will not render properly.
[[File:ImpExp52.png]]
<center>'''Figure 1: Imported file as viewed in Blender 3D viepowt with Object mode and "solid" or "render" mode shading'''</center>
More often if we wish to select objects in the scene we will set the shading mode to 'texture' instead of 'render'. By default the model will appear gray/white in texture mode by default. To improve this, bring up the N-tool panel by typing N with the cursor located over the 3D viewport or by selecting View | Properties from the 3D menu. On the toolbar, locate the shading panel and click on 'Multitexture' to change the setting to 'GLSL'. The image should now show non-transparent materials properly (Figure 2).
[[File:ImpExp53.png]]
<center>'''Figure 2'''</center>
In some cases, you might gain additional benefit in displaying materials for the eyes by going to the Object data tab (cube). This is located on the far right properties panel. For each of the transparent assets (eyes, eyelashes, eyebrows, and hair) select the Display panel and check 'Draw all Edges' and 'Transparency' in the bottom row. The benefit of this step for improving trasparent assets will depend on exactly how you imported the file, the lighting, and possibly other settings. What you see in the viewport is close to what you will see if you choose Render | OpenGL Render from the Info editor at the top of the screen.
[[File:ImpExp54.png]]
<center>'''Figure 3: Object data'''</center>
== Preparing for Render with Blender Internal Renderer ==
The appearance of the MakeHuman model in the Blender Internal Renderer will depend on a number of things that will include transparency settings for materials, choice of lighting type, and shadow settings. We will illustrate this by first changing the default point light to a hemi light. Right click on the point lamp in the viewport and in the right properties panel select the lamp tab and choose hemi (Figure 4).
[[File:ImpExp55a.png]]
<center>'''Figure 4'''</center>
To make transparent objects (eyes, eyebrows, eyelashes, and hair) render properly in the Blender Internal render engine, we need to change some settings on the material tab of each object and the material tab of each object. We will start with the material tab. The two panels that require adjustment are the transparency and shadow panels. Start by selecting the material tab in the properties panel (figure 5).
[[File:ImpExp55.png]]
<center>'''Figure 5'''</center>
'''Step 1.''' Right click on one of the eyes in the 3D viewport to select them. In the transparency panel, set both the
alpha and specular sliders to 0 (Figure 6).
'''Step 2.''' In the shadow panel, check 'Receive tranparent' (figure 7)
<table>
<tr><td>[[File:ImpExp56.png]]</td><td>[[File:ImpExp57.png]]</td>
<tr><td><center>'''Figure 6'''</center></td><td><center>'''Figure 7'''</center></td></tr>
</table>
Now go to the texture tab of the properties editor (checkered tab) and open the Influence panel (Figure 8).
[[File:ImpExp58.png]]
<center>'''Figure 8: '''</center>
'''Step 3.''' On the influence panel check alpha (Figure 9). Leave the value at its default of 1.0.
[[File:ImpExp59.png]]
<center>'''Figure 9: '''</center>
After completing these three steps, the eyes should be transparent (Figure 10)
[[File:ImpExp60.png]]
<center>'''Figure 10: '''</center>
Repeating steps 1-3, in turn, for the eyebrows, eyelashes and hair, respectively, should produce results similar to the panels of Figure 11.
[[File:ImpExp61.png]]
<center>'''Figure 11: '''</center>
When rendered with the Blender internal engine the image should look similar to the original human that was exported.
[[File:ImpExp62.png]]
<center>'''Figure 12: '''</center>
== Adapting to Different Light Sources for Blender Internal ==
If we now right click on the hemi lamp in the scene, and restore it back to the default point lamp type in the lamp properties panel, we are now faced with additional shadow problems. In this example, the point lamp is the single source of illumination. Note that, depending where your point lamp is located, it may be necessary to turn up the point lamp intensity to produce a bright enough render. The hard shadows from this lamp produce unreal darkening shadows of the eyelashes and eyelids when rendered with Blender Internal engine. The look is unlikely to be usable for any real purpose (Figure 13)
[[File:ImpExp63.png]]
<center>'''Figure 13: '''</center>
To make the eyelashes, eyebrows, and hair appear realistic, it is necessary to let the skin base mesh receive shadows. If you used collada to export and import into Blender, the skin name in the Outliner panel will end with '...-base.obj'. Select the skin by either right clicking directly on the skin in the 3D viewport, or by clicking on the '...base.obj' name in the outliner panel. In the properties editor, select the Materials tab and check 'Receive Transparency' in the shadow panel (Figure 14). The eyebrows and eyelashes (and sometimes hair) will now appear realistic, albeit with hard shadows (Figure 15).
<table>
<tr><td><center>[[File:ImpExp64.png]]</center></td> <td><center>[[File:ImpExp65.png]] </center></td></tr>
<tr><td><center>'''Figure 14 '''</center> </td> <td> <center>'''Figure 15: '''</center></td></tr>
</table>
If the hard shadows are inconsistent with the look you hoped for (Figure 15 and Figure 16, top), it is possibly to fix this. For eyebrows, eyelashes, and hair you need to turn off cast on the shadow panel of the materials tab of the properties editor. After doing this, the shadow effect will be similar to what we got with the hemi lamp and what the human originally looked like when exported from MakeHuman.
[[File:ImpExp66.png]]
<center>'''Figure 16: '''</center>
Blender internal render engine is the default still with Blender 2.75a, but Blender Cycles has rapidly become the render engine of choice for advanced users. We will consider next how to set up a basic node system for getting approximately the same look we had when inside MakeHuman.
== Preparing for Render with Blender Cycles Renderer ==
** TO BE WRITTEN **
== Working with Skeletons in Blender ==
At present, most MakeHuman skeletons import well into Blender. To do animation based on Biovision Hierarchy (BVH) motion capture files, use the MakeHuman Blender tool [[Documentation:MHBlenderTools:_MakeWalk|MakeWalk]]. This tool is designed to import .BVH files from the Carnegie-Mellon collection (CMU-BVH) and the female files of the Ohio State University, [http://accad.osu.edu/research/mocap/mocap_data.htm Advanced Computing Center for Arts and Design collection (ACCAD-BVH)]. It is worth noting explicitly that the male ACCAD files use a BVH format that does not currently work well inside Blender with MakeWalk.
== Installing the Unofficial MHX2 plugin for MakeHuman and Blender ==
** TO BE WRITTEN **
== Using the Unofficial MHX2 plugin for MakeHuman and Blender ==
** TO BE WRITTEN **
5cdd0557e35c308db853c65c3297e00a0d7b3175
462
461
2015-08-18T23:03:34Z
Robbaer
12
/* Adapting to Different Light Sources for Blender Internal */
wikitext
text/x-wiki
== Introduction ==
We will use the file created in the “Illustrating the Export Process for Subsequent Import” section.
The MakeHuman export settings used when targeting Blender import should include setting the scale units to meters. Blender is capable of importing either Collada (.dae) format or Autodesk FBX format files. The import results and handling are quite similar regardless of which you choose to use, and both will require similar fixes for transparent assets on the eyes, eyebrows, eyelashes, and hair. Collada files are text based, and thus, are often quite large. Makehuman assets with textures will be exported with those textures saved in a folder named "textures" in the same folder as the parent folder. By default, on Windows If you move the collada file to a new computer or directory, you must move the "textures" folder to that same folder. By default the exported file will be found in ~/makehuman/v1/exports/ (where ~ is the user home directory).
Blender can import only binary FBX files at present, so ideally, binary would be checked for MakeHuman FBX export. <nowiki>[RWB Note: As of this writing there are still some issues with direct FBX binary export, but those are expected to be repaired going forward. In the meantime, a viable workaround for those wanting to use FBX format is to export an ASCII FBX file, convert it with the Autodesk FBX converter, and import it into Blender]</nowiki>.
Because of the ASCII --> binary issues that currently exist with the FBX format, we will describe moving assets from MakeHuman to Blender using collada (.dae) format. When exporting for subsequent import into blender, the best choice of export scales is usually meters.
== Importing a MakeHuman Collada File ==
The collada file is imported into Blender using the File | Import menu and choosing collada. The default settings at the bottomof the left, T-tool panel will generally not need to be altered.
Once imported the file is likely to appear gray in the 3D viewport when in object mode and shading set to solid (Figure 1, left panel). If shading is set to rendered with blender internal (BI) selected in the render drop down menu, the image will show the materials for many assets, but the eyes, eyebrows, eyelashes, and hair which contain transparent texture maps will not render properly.
[[File:ImpExp52.png]]
<center>'''Figure 1: Imported file as viewed in Blender 3D viepowt with Object mode and "solid" or "render" mode shading'''</center>
More often if we wish to select objects in the scene we will set the shading mode to 'texture' instead of 'render'. By default the model will appear gray/white in texture mode by default. To improve this, bring up the N-tool panel by typing N with the cursor located over the 3D viewport or by selecting View | Properties from the 3D menu. On the toolbar, locate the shading panel and click on 'Multitexture' to change the setting to 'GLSL'. The image should now show non-transparent materials properly (Figure 2).
[[File:ImpExp53.png]]
<center>'''Figure 2'''</center>
In some cases, you might gain additional benefit in displaying materials for the eyes by going to the Object data tab (cube). This is located on the far right properties panel. For each of the transparent assets (eyes, eyelashes, eyebrows, and hair) select the Display panel and check 'Draw all Edges' and 'Transparency' in the bottom row. The benefit of this step for improving trasparent assets will depend on exactly how you imported the file, the lighting, and possibly other settings. What you see in the viewport is close to what you will see if you choose Render | OpenGL Render from the Info editor at the top of the screen.
[[File:ImpExp54.png]]
<center>'''Figure 3: Object data'''</center>
== Preparing for Render with Blender Internal Renderer ==
The appearance of the MakeHuman model in the Blender Internal Renderer will depend on a number of things that will include transparency settings for materials, choice of lighting type, and shadow settings. We will illustrate this by first changing the default point light to a hemi light. Right click on the point lamp in the viewport and in the right properties panel select the lamp tab and choose hemi (Figure 4).
[[File:ImpExp55a.png]]
<center>'''Figure 4'''</center>
To make transparent objects (eyes, eyebrows, eyelashes, and hair) render properly in the Blender Internal render engine, we need to change some settings on the material tab of each object and the material tab of each object. We will start with the material tab. The two panels that require adjustment are the transparency and shadow panels. Start by selecting the material tab in the properties panel (figure 5).
[[File:ImpExp55.png]]
<center>'''Figure 5'''</center>
'''Step 1.''' Right click on one of the eyes in the 3D viewport to select them. In the transparency panel, set both the
alpha and specular sliders to 0 (Figure 6).
'''Step 2.''' In the shadow panel, check 'Receive tranparent' (figure 7)
<table>
<tr><td>[[File:ImpExp56.png]]</td><td>[[File:ImpExp57.png]]</td>
<tr><td><center>'''Figure 6'''</center></td><td><center>'''Figure 7'''</center></td></tr>
</table>
Now go to the texture tab of the properties editor (checkered tab) and open the Influence panel (Figure 8).
[[File:ImpExp58.png]]
<center>'''Figure 8: '''</center>
'''Step 3.''' On the influence panel check alpha (Figure 9). Leave the value at its default of 1.0.
[[File:ImpExp59.png]]
<center>'''Figure 9: '''</center>
After completing these three steps, the eyes should be transparent (Figure 10)
[[File:ImpExp60.png]]
<center>'''Figure 10: '''</center>
Repeating steps 1-3, in turn, for the eyebrows, eyelashes and hair, respectively, should produce results similar to the panels of Figure 11.
[[File:ImpExp61.png]]
<center>'''Figure 11: '''</center>
When rendered with the Blender internal engine the image should look similar to the original human that was exported.
[[File:ImpExp62.png]]
<center>'''Figure 12: '''</center>
== Adapting to Different Light Sources for Blender Internal ==
If we now right click on the hemi lamp in the scene, and restore it back to the default point lamp type in the lamp properties panel, we are now faced with additional shadow problems. In this example, the point lamp is the single source of illumination. Note that, depending where your point lamp is located, it may be necessary to turn up the point lamp intensity to produce a bright enough render. The hard shadows from this lamp produce unreal darkening shadows of the eyelashes and eyelids when rendered with Blender Internal engine. The look is unlikely to be usable for any real purpose (Figure 13)
[[File:ImpExp63.png]]
<center>'''Figure 13: '''</center>
To make the eyelashes, eyebrows, and hair appear realistic, it is necessary to let the skin base mesh receive shadows. If you used collada to export and import into Blender, the skin name in the Outliner panel will end with '...-base.obj'. Select the skin by either right clicking directly on the skin in the 3D viewport, or by clicking on the '...base.obj' name in the outliner panel. In the properties editor, select the Materials tab and check 'Receive Transparency' in the shadow panel (Figure 14). The eyebrows and eyelashes (and sometimes hair) will now appear realistic, albeit with hard shadows (Figure 15).
<table>
<tr><td><center>[[File:ImpExp64.png]]</center></td> <td><center>[[File:ImpExp65.png]] </center></td></tr>
<tr><td><center>'''Figure 14 '''</center> </td> <td> <center>'''Figure 15: '''</center></td></tr>
</table>
If the hard shadows are inconsistent with the look you hoped for (Figure 15 and Figure 16, top), it is possibly to fix this. For eyebrows, eyelashes, and hair you need to turn off cast on the shadow panel of the materials tab of the properties editor. After doing this, the shadow effect will be similar to what we got with the hemi lamp and what the human originally looked like when exported from MakeHuman.
[[File:ImpExp66.png]]
<center>'''Figure 16: '''</center>
Blender internal render engine is the default still with Blender 2.75a, but Blender Cycles has rapidly become the render engine of choice for advanced users. We will consider next how to set up a basic node system for getting approximately the same look we had when inside MakeHuman.
== Preparing for Render with Blender Cycles Renderer ==
** TO BE WRITTEN **
== Working with Skeletons in Blender ==
At present, most MakeHuman skeletons import well into Blender. To do animation based on .BVH motion capture files, use the MakeHuman Blender tool named MakeWalk. This too is described elsewhere on the Wiki. The tool is designed to import .BVH files from the Carnegie-Mellon collection (CMU-BVH) and the female files of the Ohio State University, Advanced Computing Center for Arts and Design collection (ACCAD-BVH) [http://accad.osu.edu/research/mocap/mocap_data.htm]. It is worth noting explicitly that the male ACCAD files use a BVH format that does not currently work well inside Blender with MakeWalk.
== Installing the Unofficial MHX2 plugin for MakeHuman and Blender ==
** TO BE WRITTEN **
== Using the Unofficial MHX2 plugin for MakeHuman and Blender ==
** TO BE WRITTEN **
02f9556dd2344784d27b70337ba46bc03f527350
461
460
2015-08-18T14:38:56Z
Robbaer
12
/* Adapting to Different Light Sources for Blender Internal */
wikitext
text/x-wiki
== Introduction ==
We will use the file created in the “Illustrating the Export Process for Subsequent Import” section.
The MakeHuman export settings used when targeting Blender import should include setting the scale units to meters. Blender is capable of importing either Collada (.dae) format or Autodesk FBX format files. The import results and handling are quite similar regardless of which you choose to use, and both will require similar fixes for transparent assets on the eyes, eyebrows, eyelashes, and hair. Collada files are text based, and thus, are often quite large. Makehuman assets with textures will be exported with those textures saved in a folder named "textures" in the same folder as the parent folder. By default, on Windows If you move the collada file to a new computer or directory, you must move the "textures" folder to that same folder. By default the exported file will be found in ~/makehuman/v1/exports/ (where ~ is the user home directory).
Blender can import only binary FBX files at present, so ideally, binary would be checked for MakeHuman FBX export. <nowiki>[RWB Note: As of this writing there are still some issues with direct FBX binary export, but those are expected to be repaired going forward. In the meantime, a viable workaround for those wanting to use FBX format is to export an ASCII FBX file, convert it with the Autodesk FBX converter, and import it into Blender]</nowiki>.
Because of the ASCII --> binary issues that currently exist with the FBX format, we will describe moving assets from MakeHuman to Blender using collada (.dae) format. When exporting for subsequent import into blender, the best choice of export scales is usually meters.
== Importing a MakeHuman Collada File ==
The collada file is imported into Blender using the File | Import menu and choosing collada. The default settings at the bottomof the left, T-tool panel will generally not need to be altered.
Once imported the file is likely to appear gray in the 3D viewport when in object mode and shading set to solid (Figure 1, left panel). If shading is set to rendered with blender internal (BI) selected in the render drop down menu, the image will show the materials for many assets, but the eyes, eyebrows, eyelashes, and hair which contain transparent texture maps will not render properly.
[[File:ImpExp52.png]]
<center>'''Figure 1: Imported file as viewed in Blender 3D viepowt with Object mode and "solid" or "render" mode shading'''</center>
More often if we wish to select objects in the scene we will set the shading mode to 'texture' instead of 'render'. By default the model will appear gray/white in texture mode by default. To improve this, bring up the N-tool panel by typing N with the cursor located over the 3D viewport or by selecting View | Properties from the 3D menu. On the toolbar, locate the shading panel and click on 'Multitexture' to change the setting to 'GLSL'. The image should now show non-transparent materials properly (Figure 2).
[[File:ImpExp53.png]]
<center>'''Figure 2'''</center>
In some cases, you might gain additional benefit in displaying materials for the eyes by going to the Object data tab (cube). This is located on the far right properties panel. For each of the transparent assets (eyes, eyelashes, eyebrows, and hair) select the Display panel and check 'Draw all Edges' and 'Transparency' in the bottom row. The benefit of this step for improving trasparent assets will depend on exactly how you imported the file, the lighting, and possibly other settings. What you see in the viewport is close to what you will see if you choose Render | OpenGL Render from the Info editor at the top of the screen.
[[File:ImpExp54.png]]
<center>'''Figure 3: Object data'''</center>
== Preparing for Render with Blender Internal Renderer ==
The appearance of the MakeHuman model in the Blender Internal Renderer will depend on a number of things that will include transparency settings for materials, choice of lighting type, and shadow settings. We will illustrate this by first changing the default point light to a hemi light. Right click on the point lamp in the viewport and in the right properties panel select the lamp tab and choose hemi (Figure 4).
[[File:ImpExp55a.png]]
<center>'''Figure 4'''</center>
To make transparent objects (eyes, eyebrows, eyelashes, and hair) render properly in the Blender Internal render engine, we need to change some settings on the material tab of each object and the material tab of each object. We will start with the material tab. The two panels that require adjustment are the transparency and shadow panels. Start by selecting the material tab in the properties panel (figure 5).
[[File:ImpExp55.png]]
<center>'''Figure 5'''</center>
'''Step 1.''' Right click on one of the eyes in the 3D viewport to select them. In the transparency panel, set both the
alpha and specular sliders to 0 (Figure 6).
'''Step 2.''' In the shadow panel, check 'Receive tranparent' (figure 7)
<table>
<tr><td>[[File:ImpExp56.png]]</td><td>[[File:ImpExp57.png]]</td>
<tr><td><center>'''Figure 6'''</center></td><td><center>'''Figure 7'''</center></td></tr>
</table>
Now go to the texture tab of the properties editor (checkered tab) and open the Influence panel (Figure 8).
[[File:ImpExp58.png]]
<center>'''Figure 8: '''</center>
'''Step 3.''' On the influence panel check alpha (Figure 9). Leave the value at its default of 1.0.
[[File:ImpExp59.png]]
<center>'''Figure 9: '''</center>
After completing these three steps, the eyes should be transparent (Figure 10)
[[File:ImpExp60.png]]
<center>'''Figure 10: '''</center>
Repeating steps 1-3, in turn, for the eyebrows, eyelashes and hair, respectively, should produce results similar to the panels of Figure 11.
[[File:ImpExp61.png]]
<center>'''Figure 11: '''</center>
When rendered with the Blender internal engine the image should look similar to the original human that was exported.
[[File:ImpExp62.png]]
<center>'''Figure 12: '''</center>
== Adapting to Different Light Sources for Blender Internal ==
If we now right click on the hemi lamp in the scene, and restore it back to the default point lamp type in the lamp properties panel, we are now faced with additional shadow problems. In this example, the point lamp is the single source of illumination. Note that, depending where your point lamp is located, it may be necessary to turn up the point lamp intensity to produce a bright enough render. The hard shadows from this lamp produce unreal darkening shadows of the eyelashes and eyelids when rendered with Blender Internal engine. The look is unlikely to be usable for any real purpose (Figure 13)
[[File:ImpExp63.png]]
<center>'''Figure 13: '''</center>
To make the eyelashes, eyebrows, and hair appear realistic, it is necessary to let the skin base mesh receive shadows. If you used collada to export and import into Blender, the skin name in the Outliner panel will end with '...-base.obj'. Select the skin by either right clicking directly on the skin in the 3D viewport, or by clicking on the '...base.obj' name in the outliner panel. In the properties editor, select the Materials tab and check 'Receive Transparency' in the shadow panel (Figure 14). The eyebrows and eyelashes (and sometimes hair) will now appear realistic, albeit with hard shadows (Figure 15).
<table>
<tr><td><center>[[File:ImpExp64.png]]</center></td> <td><center>[[File:ImpExp65.png]] </center></td></tr>
<tr><td><center>'''Figure 14 '''</center> </td> <td> <center>'''Figure 15: '''</center></td></tr>
</table>
If the hard shadows are not consistent with the look you hoped for, it is possibly to fix this. For eyebrows, eyelashes, and hair you need to turn off cast on the shadow panel of the materials tab of the properties editor.
[[File:ImpExp66.png]]
<center>'''Figure 16: '''</center>
== Preparing for Render with Blender Cycles Renderer ==
** TO BE WRITTEN **
== Working with Skeletons in Blender ==
At present, most MakeHuman skeletons import well into Blender. To do animation based on .BVH motion capture files, use the MakeHuman Blender tool named MakeWalk. This too is described elsewhere on the Wiki. The tool is designed to import .BVH files from the Carnegie-Mellon collection (CMU-BVH) and the female files of the Ohio State University, Advanced Computing Center for Arts and Design collection (ACCAD-BVH) [http://accad.osu.edu/research/mocap/mocap_data.htm]. It is worth noting explicitly that the male ACCAD files use a BVH format that does not currently work well inside Blender with MakeWalk.
== Installing the Unofficial MHX2 plugin for MakeHuman and Blender ==
** TO BE WRITTEN **
== Using the Unofficial MHX2 plugin for MakeHuman and Blender ==
** TO BE WRITTEN **
79c7d85d2dd29836b20dda2c887fbdfc9447575e
460
459
2015-08-18T13:38:09Z
Robbaer
12
/* Preparing for Render with Blender Internal Renderer */
wikitext
text/x-wiki
== Introduction ==
We will use the file created in the “Illustrating the Export Process for Subsequent Import” section.
The MakeHuman export settings used when targeting Blender import should include setting the scale units to meters. Blender is capable of importing either Collada (.dae) format or Autodesk FBX format files. The import results and handling are quite similar regardless of which you choose to use, and both will require similar fixes for transparent assets on the eyes, eyebrows, eyelashes, and hair. Collada files are text based, and thus, are often quite large. Makehuman assets with textures will be exported with those textures saved in a folder named "textures" in the same folder as the parent folder. By default, on Windows If you move the collada file to a new computer or directory, you must move the "textures" folder to that same folder. By default the exported file will be found in ~/makehuman/v1/exports/ (where ~ is the user home directory).
Blender can import only binary FBX files at present, so ideally, binary would be checked for MakeHuman FBX export. <nowiki>[RWB Note: As of this writing there are still some issues with direct FBX binary export, but those are expected to be repaired going forward. In the meantime, a viable workaround for those wanting to use FBX format is to export an ASCII FBX file, convert it with the Autodesk FBX converter, and import it into Blender]</nowiki>.
Because of the ASCII --> binary issues that currently exist with the FBX format, we will describe moving assets from MakeHuman to Blender using collada (.dae) format. When exporting for subsequent import into blender, the best choice of export scales is usually meters.
== Importing a MakeHuman Collada File ==
The collada file is imported into Blender using the File | Import menu and choosing collada. The default settings at the bottomof the left, T-tool panel will generally not need to be altered.
Once imported the file is likely to appear gray in the 3D viewport when in object mode and shading set to solid (Figure 1, left panel). If shading is set to rendered with blender internal (BI) selected in the render drop down menu, the image will show the materials for many assets, but the eyes, eyebrows, eyelashes, and hair which contain transparent texture maps will not render properly.
[[File:ImpExp52.png]]
<center>'''Figure 1: Imported file as viewed in Blender 3D viepowt with Object mode and "solid" or "render" mode shading'''</center>
More often if we wish to select objects in the scene we will set the shading mode to 'texture' instead of 'render'. By default the model will appear gray/white in texture mode by default. To improve this, bring up the N-tool panel by typing N with the cursor located over the 3D viewport or by selecting View | Properties from the 3D menu. On the toolbar, locate the shading panel and click on 'Multitexture' to change the setting to 'GLSL'. The image should now show non-transparent materials properly (Figure 2).
[[File:ImpExp53.png]]
<center>'''Figure 2'''</center>
In some cases, you might gain additional benefit in displaying materials for the eyes by going to the Object data tab (cube). This is located on the far right properties panel. For each of the transparent assets (eyes, eyelashes, eyebrows, and hair) select the Display panel and check 'Draw all Edges' and 'Transparency' in the bottom row. The benefit of this step for improving trasparent assets will depend on exactly how you imported the file, the lighting, and possibly other settings. What you see in the viewport is close to what you will see if you choose Render | OpenGL Render from the Info editor at the top of the screen.
[[File:ImpExp54.png]]
<center>'''Figure 3: Object data'''</center>
== Preparing for Render with Blender Internal Renderer ==
The appearance of the MakeHuman model in the Blender Internal Renderer will depend on a number of things that will include transparency settings for materials, choice of lighting type, and shadow settings. We will illustrate this by first changing the default point light to a hemi light. Right click on the point lamp in the viewport and in the right properties panel select the lamp tab and choose hemi (Figure 4).
[[File:ImpExp55a.png]]
<center>'''Figure 4'''</center>
To make transparent objects (eyes, eyebrows, eyelashes, and hair) render properly in the Blender Internal render engine, we need to change some settings on the material tab of each object and the material tab of each object. We will start with the material tab. The two panels that require adjustment are the transparency and shadow panels. Start by selecting the material tab in the properties panel (figure 5).
[[File:ImpExp55.png]]
<center>'''Figure 5'''</center>
'''Step 1.''' Right click on one of the eyes in the 3D viewport to select them. In the transparency panel, set both the
alpha and specular sliders to 0 (Figure 6).
'''Step 2.''' In the shadow panel, check 'Receive tranparent' (figure 7)
<table>
<tr><td>[[File:ImpExp56.png]]</td><td>[[File:ImpExp57.png]]</td>
<tr><td><center>'''Figure 6'''</center></td><td><center>'''Figure 7'''</center></td></tr>
</table>
Now go to the texture tab of the properties editor (checkered tab) and open the Influence panel (Figure 8).
[[File:ImpExp58.png]]
<center>'''Figure 8: '''</center>
'''Step 3.''' On the influence panel check alpha (Figure 9). Leave the value at its default of 1.0.
[[File:ImpExp59.png]]
<center>'''Figure 9: '''</center>
After completing these three steps, the eyes should be transparent (Figure 10)
[[File:ImpExp60.png]]
<center>'''Figure 10: '''</center>
Repeating steps 1-3, in turn, for the eyebrows, eyelashes and hair, respectively, should produce results similar to the panels of Figure 11.
[[File:ImpExp61.png]]
<center>'''Figure 11: '''</center>
When rendered with the Blender internal engine the image should look similar to the original human that was exported.
[[File:ImpExp62.png]]
<center>'''Figure 12: '''</center>
== Adapting to Different Light Sources for Blender Internal ==
If we now right click on the hemi lamp in the scene, and restore it back to the default point lamp type in the lamp properties panel, we are now faced with additional shadow problems. In this example, the point lamp is the single source of illumination. Note that, depending where your point lamp is located, it may be necessary to turn up the point lamp intensity to produce a bright enough render. The hard shadows from this lamp produce unreal darkening shadows of the eyelashes and eyelids when rendered with Blender Internal engine. The look is unlikely to be usable for any real purpose (Figure 13)
[[File:ImpExp63.png]]
<center>'''Figure 13: '''</center>
To make the eyelashes, eyebrows, and hair appear realistic, it is necessary to let the skin base mesh receive shadows. If you used collada to export and import into Blender, the skin name in the Outliner panel will end with '...-base.obj'. Select the skin by either right clicking directly on the skin in the 3D viewport, or by clicking on the '...base.obj' name in the outliner panel. In the properties editor, select the Materials tab and check Receive Transparency in the shadow panel. The eyebrows and eyelashes (and sometimes hair) will now appear realistic, albeit with hard shadows (Figure 15).
<table>
<tr><td><center>[[File:ImpExp64.png]]</center></td> <td><center>[[File:ImpExp65.png]] </center></td></tr>
<tr><td><center>'''Figure 14 '''</center> </td> <td> <center>'''Figure 15: '''</center></center></td></tr>
</table>
[[File:ImpExp66.png]]
<center>'''Figure 16: '''</center>
== Preparing for Render with Blender Cycles Renderer ==
** TO BE WRITTEN **
== Working with Skeletons in Blender ==
At present, most MakeHuman skeletons import well into Blender. To do animation based on .BVH motion capture files, use the MakeHuman Blender tool named MakeWalk. This too is described elsewhere on the Wiki. The tool is designed to import .BVH files from the Carnegie-Mellon collection (CMU-BVH) and the female files of the Ohio State University, Advanced Computing Center for Arts and Design collection (ACCAD-BVH) [http://accad.osu.edu/research/mocap/mocap_data.htm]. It is worth noting explicitly that the male ACCAD files use a BVH format that does not currently work well inside Blender with MakeWalk.
== Installing the Unofficial MHX2 plugin for MakeHuman and Blender ==
** TO BE WRITTEN **
== Using the Unofficial MHX2 plugin for MakeHuman and Blender ==
** TO BE WRITTEN **
7d3a48e41f0cd3c3e64f7eb0ddb648a6c31ac280
459
458
2015-08-18T13:18:31Z
Robbaer
12
/* Using the Unofficial MHX2 plugin for MakeHuman and Blender */
wikitext
text/x-wiki
== Introduction ==
We will use the file created in the “Illustrating the Export Process for Subsequent Import” section.
The MakeHuman export settings used when targeting Blender import should include setting the scale units to meters. Blender is capable of importing either Collada (.dae) format or Autodesk FBX format files. The import results and handling are quite similar regardless of which you choose to use, and both will require similar fixes for transparent assets on the eyes, eyebrows, eyelashes, and hair. Collada files are text based, and thus, are often quite large. Makehuman assets with textures will be exported with those textures saved in a folder named "textures" in the same folder as the parent folder. By default, on Windows If you move the collada file to a new computer or directory, you must move the "textures" folder to that same folder. By default the exported file will be found in ~/makehuman/v1/exports/ (where ~ is the user home directory).
Blender can import only binary FBX files at present, so ideally, binary would be checked for MakeHuman FBX export. <nowiki>[RWB Note: As of this writing there are still some issues with direct FBX binary export, but those are expected to be repaired going forward. In the meantime, a viable workaround for those wanting to use FBX format is to export an ASCII FBX file, convert it with the Autodesk FBX converter, and import it into Blender]</nowiki>.
Because of the ASCII --> binary issues that currently exist with the FBX format, we will describe moving assets from MakeHuman to Blender using collada (.dae) format. When exporting for subsequent import into blender, the best choice of export scales is usually meters.
== Importing a MakeHuman Collada File ==
The collada file is imported into Blender using the File | Import menu and choosing collada. The default settings at the bottomof the left, T-tool panel will generally not need to be altered.
Once imported the file is likely to appear gray in the 3D viewport when in object mode and shading set to solid (Figure 1, left panel). If shading is set to rendered with blender internal (BI) selected in the render drop down menu, the image will show the materials for many assets, but the eyes, eyebrows, eyelashes, and hair which contain transparent texture maps will not render properly.
[[File:ImpExp52.png]]
<center>'''Figure 1: Imported file as viewed in Blender 3D viepowt with Object mode and "solid" or "render" mode shading'''</center>
More often if we wish to select objects in the scene we will set the shading mode to 'texture' instead of 'render'. By default the model will appear gray/white in texture mode by default. To improve this, bring up the N-tool panel by typing N with the cursor located over the 3D viewport or by selecting View | Properties from the 3D menu. On the toolbar, locate the shading panel and click on 'Multitexture' to change the setting to 'GLSL'. The image should now show non-transparent materials properly (Figure 2).
[[File:ImpExp53.png]]
<center>'''Figure 2'''</center>
In some cases, you might gain additional benefit in displaying materials for the eyes by going to the Object data tab (cube). This is located on the far right properties panel. For each of the transparent assets (eyes, eyelashes, eyebrows, and hair) select the Display panel and check 'Draw all Edges' and 'Transparency' in the bottom row. The benefit of this step for improving trasparent assets will depend on exactly how you imported the file, the lighting, and possibly other settings. What you see in the viewport is close to what you will see if you choose Render | OpenGL Render from the Info editor at the top of the screen.
[[File:ImpExp54.png]]
<center>'''Figure 3: Object data'''</center>
== Preparing for Render with Blender Internal Renderer ==
The appearance of the MakeHuman model in the Blender Internal Renderer will depend on a number of things that will include transparency settings for materials, choice of lighting type, and shadow settings. We will illustrate this by first changing the default point light to a hemi light. Right click on the point lamp in the viewport and in the right properties panel select the lamp tab and choose hemi (Figure 4).
[[File:ImpExp55a.png]]
<center>'''Figure 4'''</center>
To make transparent objects (eyes, eyebrows, eyelashes, and hair) render properly in the Blender Internal render engine, we need to change some settings on the material tab of each object and the material tab of each object. We will start with the material tab. The two panels that require adjustment are the transparency and shadow panels. Start by selecting the material tab in the properties panel (figure 5).
[[File:ImpExp55.png]]
<center>'''Figure 5'''</center>
'''Step 1.''' Right click on one of the eyes in the 3D viewport to select them. In the transparency panel, set both the
alpha and specular sliders to 0 (Figure 6).
'''Step 2.''' In the shadow panel, check 'Receive tranparent' (figure 7)
<table>
<tr><td>[[File:ImpExp56.png]]</td><td>[[File:ImpExp57.png]]</td>
<tr><td><center>'''Figure 6'''</center></td><td><center>'''Figure 7'''</center></td></tr>
</table>
Now go to the texture tab of the properties editor (checkered tab) and open the Influence panel (Figure 8).
[[File:ImpExp58.png]]
<center>'''Figure 8: '''</center>
'''Step 3.''' On the influence panel check alpha (Figure 9). Leave the value at its default of 1.0.
[[File:ImpExp59.png]]
<center>'''Figure 9: '''</center>
After completing these three steps, the eyes should be transparent (Figure 10)
[[File:ImpExp60.png]]
<center>'''Figure 10: '''</center>
Repeating steps 1-3, in turn, for the eyebrows, eyelashes and hair, respectively, should produce results similar to the panels of Figure 11.
[[File:ImpExp61.png]]
<center>'''Figure 11: '''</center>
When rendered with the Blender internal engine the image should look similar to the original human that was exported.
[[File:ImpExp62.png]]
<center>'''Figure 12: '''</center>
However, if you now click on the hemi lamp in the scene and return it back into point lamp (as it was by default), we are now faced with additional shadow problems. In this example, the point lamp is the single source of illumination. Note that, depending where your point lamp is located, it may be necessary to turn up the point lamp intensity to produce a bright enough render. The hard shadows from this lamp produce unreal darkening shadows of the eyelashes and eyelids when rendered with Blender Internal engine. The look is unlikely to be usable for any usual purpose (Figure 13)
[[File:ImpExp63.png]]
<center>'''Figure 13: '''</center>
[[File:ImpExp64.png]]
<center>'''Figure 14 '''</center>
IF you render in Blender Internal after setting the base.obj to receive
[[File:ImpExp65.png]]
<center>'''Figure 15: '''</center>
[[File:ImpExp66.png]]
<center>'''Figure 16: '''</center>
== Preparing for Render with Blender Cycles Renderer ==
** TO BE WRITTEN **
== Working with Skeletons in Blender ==
At present, most MakeHuman skeletons import well into Blender. To do animation based on .BVH motion capture files, use the MakeHuman Blender tool named MakeWalk. This too is described elsewhere on the Wiki. The tool is designed to import .BVH files from the Carnegie-Mellon collection (CMU-BVH) and the female files of the Ohio State University, Advanced Computing Center for Arts and Design collection (ACCAD-BVH) [http://accad.osu.edu/research/mocap/mocap_data.htm]. It is worth noting explicitly that the male ACCAD files use a BVH format that does not currently work well inside Blender with MakeWalk.
== Installing the Unofficial MHX2 plugin for MakeHuman and Blender ==
** TO BE WRITTEN **
== Using the Unofficial MHX2 plugin for MakeHuman and Blender ==
** TO BE WRITTEN **
3217557fcd9e6f4cb14468221f399fa4e0b51db8
458
457
2015-08-18T13:17:53Z
Robbaer
12
/* Installing the Unofficial MHX2 plugin for MakeHuman and Blender */
wikitext
text/x-wiki
== Introduction ==
We will use the file created in the “Illustrating the Export Process for Subsequent Import” section.
The MakeHuman export settings used when targeting Blender import should include setting the scale units to meters. Blender is capable of importing either Collada (.dae) format or Autodesk FBX format files. The import results and handling are quite similar regardless of which you choose to use, and both will require similar fixes for transparent assets on the eyes, eyebrows, eyelashes, and hair. Collada files are text based, and thus, are often quite large. Makehuman assets with textures will be exported with those textures saved in a folder named "textures" in the same folder as the parent folder. By default, on Windows If you move the collada file to a new computer or directory, you must move the "textures" folder to that same folder. By default the exported file will be found in ~/makehuman/v1/exports/ (where ~ is the user home directory).
Blender can import only binary FBX files at present, so ideally, binary would be checked for MakeHuman FBX export. <nowiki>[RWB Note: As of this writing there are still some issues with direct FBX binary export, but those are expected to be repaired going forward. In the meantime, a viable workaround for those wanting to use FBX format is to export an ASCII FBX file, convert it with the Autodesk FBX converter, and import it into Blender]</nowiki>.
Because of the ASCII --> binary issues that currently exist with the FBX format, we will describe moving assets from MakeHuman to Blender using collada (.dae) format. When exporting for subsequent import into blender, the best choice of export scales is usually meters.
== Importing a MakeHuman Collada File ==
The collada file is imported into Blender using the File | Import menu and choosing collada. The default settings at the bottomof the left, T-tool panel will generally not need to be altered.
Once imported the file is likely to appear gray in the 3D viewport when in object mode and shading set to solid (Figure 1, left panel). If shading is set to rendered with blender internal (BI) selected in the render drop down menu, the image will show the materials for many assets, but the eyes, eyebrows, eyelashes, and hair which contain transparent texture maps will not render properly.
[[File:ImpExp52.png]]
<center>'''Figure 1: Imported file as viewed in Blender 3D viepowt with Object mode and "solid" or "render" mode shading'''</center>
More often if we wish to select objects in the scene we will set the shading mode to 'texture' instead of 'render'. By default the model will appear gray/white in texture mode by default. To improve this, bring up the N-tool panel by typing N with the cursor located over the 3D viewport or by selecting View | Properties from the 3D menu. On the toolbar, locate the shading panel and click on 'Multitexture' to change the setting to 'GLSL'. The image should now show non-transparent materials properly (Figure 2).
[[File:ImpExp53.png]]
<center>'''Figure 2'''</center>
In some cases, you might gain additional benefit in displaying materials for the eyes by going to the Object data tab (cube). This is located on the far right properties panel. For each of the transparent assets (eyes, eyelashes, eyebrows, and hair) select the Display panel and check 'Draw all Edges' and 'Transparency' in the bottom row. The benefit of this step for improving trasparent assets will depend on exactly how you imported the file, the lighting, and possibly other settings. What you see in the viewport is close to what you will see if you choose Render | OpenGL Render from the Info editor at the top of the screen.
[[File:ImpExp54.png]]
<center>'''Figure 3: Object data'''</center>
== Preparing for Render with Blender Internal Renderer ==
The appearance of the MakeHuman model in the Blender Internal Renderer will depend on a number of things that will include transparency settings for materials, choice of lighting type, and shadow settings. We will illustrate this by first changing the default point light to a hemi light. Right click on the point lamp in the viewport and in the right properties panel select the lamp tab and choose hemi (Figure 4).
[[File:ImpExp55a.png]]
<center>'''Figure 4'''</center>
To make transparent objects (eyes, eyebrows, eyelashes, and hair) render properly in the Blender Internal render engine, we need to change some settings on the material tab of each object and the material tab of each object. We will start with the material tab. The two panels that require adjustment are the transparency and shadow panels. Start by selecting the material tab in the properties panel (figure 5).
[[File:ImpExp55.png]]
<center>'''Figure 5'''</center>
'''Step 1.''' Right click on one of the eyes in the 3D viewport to select them. In the transparency panel, set both the
alpha and specular sliders to 0 (Figure 6).
'''Step 2.''' In the shadow panel, check 'Receive tranparent' (figure 7)
<table>
<tr><td>[[File:ImpExp56.png]]</td><td>[[File:ImpExp57.png]]</td>
<tr><td><center>'''Figure 6'''</center></td><td><center>'''Figure 7'''</center></td></tr>
</table>
Now go to the texture tab of the properties editor (checkered tab) and open the Influence panel (Figure 8).
[[File:ImpExp58.png]]
<center>'''Figure 8: '''</center>
'''Step 3.''' On the influence panel check alpha (Figure 9). Leave the value at its default of 1.0.
[[File:ImpExp59.png]]
<center>'''Figure 9: '''</center>
After completing these three steps, the eyes should be transparent (Figure 10)
[[File:ImpExp60.png]]
<center>'''Figure 10: '''</center>
Repeating steps 1-3, in turn, for the eyebrows, eyelashes and hair, respectively, should produce results similar to the panels of Figure 11.
[[File:ImpExp61.png]]
<center>'''Figure 11: '''</center>
When rendered with the Blender internal engine the image should look similar to the original human that was exported.
[[File:ImpExp62.png]]
<center>'''Figure 12: '''</center>
However, if you now click on the hemi lamp in the scene and return it back into point lamp (as it was by default), we are now faced with additional shadow problems. In this example, the point lamp is the single source of illumination. Note that, depending where your point lamp is located, it may be necessary to turn up the point lamp intensity to produce a bright enough render. The hard shadows from this lamp produce unreal darkening shadows of the eyelashes and eyelids when rendered with Blender Internal engine. The look is unlikely to be usable for any usual purpose (Figure 13)
[[File:ImpExp63.png]]
<center>'''Figure 13: '''</center>
[[File:ImpExp64.png]]
<center>'''Figure 14 '''</center>
IF you render in Blender Internal after setting the base.obj to receive
[[File:ImpExp65.png]]
<center>'''Figure 15: '''</center>
[[File:ImpExp66.png]]
<center>'''Figure 16: '''</center>
== Preparing for Render with Blender Cycles Renderer ==
** TO BE WRITTEN **
== Working with Skeletons in Blender ==
At present, most MakeHuman skeletons import well into Blender. To do animation based on .BVH motion capture files, use the MakeHuman Blender tool named MakeWalk. This too is described elsewhere on the Wiki. The tool is designed to import .BVH files from the Carnegie-Mellon collection (CMU-BVH) and the female files of the Ohio State University, Advanced Computing Center for Arts and Design collection (ACCAD-BVH) [http://accad.osu.edu/research/mocap/mocap_data.htm]. It is worth noting explicitly that the male ACCAD files use a BVH format that does not currently work well inside Blender with MakeWalk.
== Installing the Unofficial MHX2 plugin for MakeHuman and Blender ==
** TO BE WRITTEN **
== Using the Unofficial MHX2 plugin for MakeHuman and Blender ==
8b369d4c7bc20791959bedc71e58986eda7b6eec
457
456
2015-08-18T13:17:30Z
Robbaer
12
/* Installing the Unofficial MHX2 plugin for MakeHuman and Blender */
wikitext
text/x-wiki
== Introduction ==
We will use the file created in the “Illustrating the Export Process for Subsequent Import” section.
The MakeHuman export settings used when targeting Blender import should include setting the scale units to meters. Blender is capable of importing either Collada (.dae) format or Autodesk FBX format files. The import results and handling are quite similar regardless of which you choose to use, and both will require similar fixes for transparent assets on the eyes, eyebrows, eyelashes, and hair. Collada files are text based, and thus, are often quite large. Makehuman assets with textures will be exported with those textures saved in a folder named "textures" in the same folder as the parent folder. By default, on Windows If you move the collada file to a new computer or directory, you must move the "textures" folder to that same folder. By default the exported file will be found in ~/makehuman/v1/exports/ (where ~ is the user home directory).
Blender can import only binary FBX files at present, so ideally, binary would be checked for MakeHuman FBX export. <nowiki>[RWB Note: As of this writing there are still some issues with direct FBX binary export, but those are expected to be repaired going forward. In the meantime, a viable workaround for those wanting to use FBX format is to export an ASCII FBX file, convert it with the Autodesk FBX converter, and import it into Blender]</nowiki>.
Because of the ASCII --> binary issues that currently exist with the FBX format, we will describe moving assets from MakeHuman to Blender using collada (.dae) format. When exporting for subsequent import into blender, the best choice of export scales is usually meters.
== Importing a MakeHuman Collada File ==
The collada file is imported into Blender using the File | Import menu and choosing collada. The default settings at the bottomof the left, T-tool panel will generally not need to be altered.
Once imported the file is likely to appear gray in the 3D viewport when in object mode and shading set to solid (Figure 1, left panel). If shading is set to rendered with blender internal (BI) selected in the render drop down menu, the image will show the materials for many assets, but the eyes, eyebrows, eyelashes, and hair which contain transparent texture maps will not render properly.
[[File:ImpExp52.png]]
<center>'''Figure 1: Imported file as viewed in Blender 3D viepowt with Object mode and "solid" or "render" mode shading'''</center>
More often if we wish to select objects in the scene we will set the shading mode to 'texture' instead of 'render'. By default the model will appear gray/white in texture mode by default. To improve this, bring up the N-tool panel by typing N with the cursor located over the 3D viewport or by selecting View | Properties from the 3D menu. On the toolbar, locate the shading panel and click on 'Multitexture' to change the setting to 'GLSL'. The image should now show non-transparent materials properly (Figure 2).
[[File:ImpExp53.png]]
<center>'''Figure 2'''</center>
In some cases, you might gain additional benefit in displaying materials for the eyes by going to the Object data tab (cube). This is located on the far right properties panel. For each of the transparent assets (eyes, eyelashes, eyebrows, and hair) select the Display panel and check 'Draw all Edges' and 'Transparency' in the bottom row. The benefit of this step for improving trasparent assets will depend on exactly how you imported the file, the lighting, and possibly other settings. What you see in the viewport is close to what you will see if you choose Render | OpenGL Render from the Info editor at the top of the screen.
[[File:ImpExp54.png]]
<center>'''Figure 3: Object data'''</center>
== Preparing for Render with Blender Internal Renderer ==
The appearance of the MakeHuman model in the Blender Internal Renderer will depend on a number of things that will include transparency settings for materials, choice of lighting type, and shadow settings. We will illustrate this by first changing the default point light to a hemi light. Right click on the point lamp in the viewport and in the right properties panel select the lamp tab and choose hemi (Figure 4).
[[File:ImpExp55a.png]]
<center>'''Figure 4'''</center>
To make transparent objects (eyes, eyebrows, eyelashes, and hair) render properly in the Blender Internal render engine, we need to change some settings on the material tab of each object and the material tab of each object. We will start with the material tab. The two panels that require adjustment are the transparency and shadow panels. Start by selecting the material tab in the properties panel (figure 5).
[[File:ImpExp55.png]]
<center>'''Figure 5'''</center>
'''Step 1.''' Right click on one of the eyes in the 3D viewport to select them. In the transparency panel, set both the
alpha and specular sliders to 0 (Figure 6).
'''Step 2.''' In the shadow panel, check 'Receive tranparent' (figure 7)
<table>
<tr><td>[[File:ImpExp56.png]]</td><td>[[File:ImpExp57.png]]</td>
<tr><td><center>'''Figure 6'''</center></td><td><center>'''Figure 7'''</center></td></tr>
</table>
Now go to the texture tab of the properties editor (checkered tab) and open the Influence panel (Figure 8).
[[File:ImpExp58.png]]
<center>'''Figure 8: '''</center>
'''Step 3.''' On the influence panel check alpha (Figure 9). Leave the value at its default of 1.0.
[[File:ImpExp59.png]]
<center>'''Figure 9: '''</center>
After completing these three steps, the eyes should be transparent (Figure 10)
[[File:ImpExp60.png]]
<center>'''Figure 10: '''</center>
Repeating steps 1-3, in turn, for the eyebrows, eyelashes and hair, respectively, should produce results similar to the panels of Figure 11.
[[File:ImpExp61.png]]
<center>'''Figure 11: '''</center>
When rendered with the Blender internal engine the image should look similar to the original human that was exported.
[[File:ImpExp62.png]]
<center>'''Figure 12: '''</center>
However, if you now click on the hemi lamp in the scene and return it back into point lamp (as it was by default), we are now faced with additional shadow problems. In this example, the point lamp is the single source of illumination. Note that, depending where your point lamp is located, it may be necessary to turn up the point lamp intensity to produce a bright enough render. The hard shadows from this lamp produce unreal darkening shadows of the eyelashes and eyelids when rendered with Blender Internal engine. The look is unlikely to be usable for any usual purpose (Figure 13)
[[File:ImpExp63.png]]
<center>'''Figure 13: '''</center>
[[File:ImpExp64.png]]
<center>'''Figure 14 '''</center>
IF you render in Blender Internal after setting the base.obj to receive
[[File:ImpExp65.png]]
<center>'''Figure 15: '''</center>
[[File:ImpExp66.png]]
<center>'''Figure 16: '''</center>
== Preparing for Render with Blender Cycles Renderer ==
** TO BE WRITTEN **
== Working with Skeletons in Blender ==
At present, most MakeHuman skeletons import well into Blender. To do animation based on .BVH motion capture files, use the MakeHuman Blender tool named MakeWalk. This too is described elsewhere on the Wiki. The tool is designed to import .BVH files from the Carnegie-Mellon collection (CMU-BVH) and the female files of the Ohio State University, Advanced Computing Center for Arts and Design collection (ACCAD-BVH) [http://accad.osu.edu/research/mocap/mocap_data.htm]. It is worth noting explicitly that the male ACCAD files use a BVH format that does not currently work well inside Blender with MakeWalk.
== Installing the Unofficial MHX2 plugin for MakeHuman and Blender ==
** TO BE WRITTEN **
== Using the Unofficial MHX2 plugin for MakeHuman and Blender ==
5d4c1c10394f3a951edc5d72a7b8092dcde5290e
456
455
2015-08-18T13:10:32Z
Robbaer
12
wikitext
text/x-wiki
== Introduction ==
We will use the file created in the “Illustrating the Export Process for Subsequent Import” section.
The MakeHuman export settings used when targeting Blender import should include setting the scale units to meters. Blender is capable of importing either Collada (.dae) format or Autodesk FBX format files. The import results and handling are quite similar regardless of which you choose to use, and both will require similar fixes for transparent assets on the eyes, eyebrows, eyelashes, and hair. Collada files are text based, and thus, are often quite large. Makehuman assets with textures will be exported with those textures saved in a folder named "textures" in the same folder as the parent folder. By default, on Windows If you move the collada file to a new computer or directory, you must move the "textures" folder to that same folder. By default the exported file will be found in ~/makehuman/v1/exports/ (where ~ is the user home directory).
Blender can import only binary FBX files at present, so ideally, binary would be checked for MakeHuman FBX export. <nowiki>[RWB Note: As of this writing there are still some issues with direct FBX binary export, but those are expected to be repaired going forward. In the meantime, a viable workaround for those wanting to use FBX format is to export an ASCII FBX file, convert it with the Autodesk FBX converter, and import it into Blender]</nowiki>.
Because of the ASCII --> binary issues that currently exist with the FBX format, we will describe moving assets from MakeHuman to Blender using collada (.dae) format. When exporting for subsequent import into blender, the best choice of export scales is usually meters.
== Importing a MakeHuman Collada File ==
The collada file is imported into Blender using the File | Import menu and choosing collada. The default settings at the bottomof the left, T-tool panel will generally not need to be altered.
Once imported the file is likely to appear gray in the 3D viewport when in object mode and shading set to solid (Figure 1, left panel). If shading is set to rendered with blender internal (BI) selected in the render drop down menu, the image will show the materials for many assets, but the eyes, eyebrows, eyelashes, and hair which contain transparent texture maps will not render properly.
[[File:ImpExp52.png]]
<center>'''Figure 1: Imported file as viewed in Blender 3D viepowt with Object mode and "solid" or "render" mode shading'''</center>
More often if we wish to select objects in the scene we will set the shading mode to 'texture' instead of 'render'. By default the model will appear gray/white in texture mode by default. To improve this, bring up the N-tool panel by typing N with the cursor located over the 3D viewport or by selecting View | Properties from the 3D menu. On the toolbar, locate the shading panel and click on 'Multitexture' to change the setting to 'GLSL'. The image should now show non-transparent materials properly (Figure 2).
[[File:ImpExp53.png]]
<center>'''Figure 2'''</center>
In some cases, you might gain additional benefit in displaying materials for the eyes by going to the Object data tab (cube). This is located on the far right properties panel. For each of the transparent assets (eyes, eyelashes, eyebrows, and hair) select the Display panel and check 'Draw all Edges' and 'Transparency' in the bottom row. The benefit of this step for improving trasparent assets will depend on exactly how you imported the file, the lighting, and possibly other settings. What you see in the viewport is close to what you will see if you choose Render | OpenGL Render from the Info editor at the top of the screen.
[[File:ImpExp54.png]]
<center>'''Figure 3: Object data'''</center>
== Preparing for Render with Blender Internal Renderer ==
The appearance of the MakeHuman model in the Blender Internal Renderer will depend on a number of things that will include transparency settings for materials, choice of lighting type, and shadow settings. We will illustrate this by first changing the default point light to a hemi light. Right click on the point lamp in the viewport and in the right properties panel select the lamp tab and choose hemi (Figure 4).
[[File:ImpExp55a.png]]
<center>'''Figure 4'''</center>
To make transparent objects (eyes, eyebrows, eyelashes, and hair) render properly in the Blender Internal render engine, we need to change some settings on the material tab of each object and the material tab of each object. We will start with the material tab. The two panels that require adjustment are the transparency and shadow panels. Start by selecting the material tab in the properties panel (figure 5).
[[File:ImpExp55.png]]
<center>'''Figure 5'''</center>
'''Step 1.''' Right click on one of the eyes in the 3D viewport to select them. In the transparency panel, set both the
alpha and specular sliders to 0 (Figure 6).
'''Step 2.''' In the shadow panel, check 'Receive tranparent' (figure 7)
<table>
<tr><td>[[File:ImpExp56.png]]</td><td>[[File:ImpExp57.png]]</td>
<tr><td><center>'''Figure 6'''</center></td><td><center>'''Figure 7'''</center></td></tr>
</table>
Now go to the texture tab of the properties editor (checkered tab) and open the Influence panel (Figure 8).
[[File:ImpExp58.png]]
<center>'''Figure 8: '''</center>
'''Step 3.''' On the influence panel check alpha (Figure 9). Leave the value at its default of 1.0.
[[File:ImpExp59.png]]
<center>'''Figure 9: '''</center>
After completing these three steps, the eyes should be transparent (Figure 10)
[[File:ImpExp60.png]]
<center>'''Figure 10: '''</center>
Repeating steps 1-3, in turn, for the eyebrows, eyelashes and hair, respectively, should produce results similar to the panels of Figure 11.
[[File:ImpExp61.png]]
<center>'''Figure 11: '''</center>
When rendered with the Blender internal engine the image should look similar to the original human that was exported.
[[File:ImpExp62.png]]
<center>'''Figure 12: '''</center>
However, if you now click on the hemi lamp in the scene and return it back into point lamp (as it was by default), we are now faced with additional shadow problems. In this example, the point lamp is the single source of illumination. Note that, depending where your point lamp is located, it may be necessary to turn up the point lamp intensity to produce a bright enough render. The hard shadows from this lamp produce unreal darkening shadows of the eyelashes and eyelids when rendered with Blender Internal engine. The look is unlikely to be usable for any usual purpose (Figure 13)
[[File:ImpExp63.png]]
<center>'''Figure 13: '''</center>
[[File:ImpExp64.png]]
<center>'''Figure 14 '''</center>
IF you render in Blender Internal after setting the base.obj to receive
[[File:ImpExp65.png]]
<center>'''Figure 15: '''</center>
[[File:ImpExp66.png]]
<center>'''Figure 16: '''</center>
== Preparing for Render with Blender Cycles Renderer ==
** TO BE WRITTEN **
== Working with Skeletons in Blender ==
At present, most MakeHuman skeletons import well into Blender. To do animation based on .BVH motion capture files, use the MakeHuman Blender tool named MakeWalk. This too is described elsewhere on the Wiki. The tool is designed to import .BVH files from the Carnegie-Mellon collection (CMU-BVH) and the female files of the Ohio State University, Advanced Computing Center for Arts and Design collection (ACCAD-BVH) [http://accad.osu.edu/research/mocap/mocap_data.htm]. It is worth noting explicitly that the male ACCAD files use a BVH format that does not currently work well inside Blender with MakeWalk.
== Installing the Unofficial MHX2 plugin for MakeHuman and Blender ==
== Using the Unofficial MHX2 plugin for MakeHuman and Blender ==
0c3de4ceec6d251073bbdc55d93700909f79f6c8
455
453
2015-08-17T14:41:42Z
Robbaer
12
/* Preparing for Render with Blender Internal Renderer */
wikitext
text/x-wiki
== Introduction ==
We will use the file created in the “Illustrating the Export Process for Subsequent Import” section.
The MakeHuman export settings used when targeting Blender import should include setting the scale units to meters. Blender is capable of importing either Collada (.dae) format or Autodesk FBX format files. The import results and handling are quite similar regardless of which you choose to use, and both will require similar fixes for transparent assets on the eyes, eyebrows, eyelashes, and hair. Collada files are text based, and thus, are often quite large. Makehuman assets with textures will be exported with those textures saved in a folder named "textures" in the same folder as the parent folder. By default, on Windows If you move the collada file to a new computer or directory, you must move the "textures" folder to that same folder. By default the exported file will be found in ~/makehuman/v1/exports/ (where ~ is the user home directory).
Blender can import only binary FBX files at present, so ideally, binary would be checked for MakeHuman FBX export. <nowiki>[RWB Note: As of this writing there are still some issues with direct FBX binary export, but those are expected to be repaired going forward. In the meantime, a viable workaround for those wanting to use FBX format is to export an ASCII FBX file, convert it with the Autodesk FBX converter, and import it into Blender]</nowiki>.
Because of the ASCII --> binary issues that currently exist with the FBX format, we will describe moving assets from MakeHuman to Blender using collada (.dae) format. When exporting for subsequent import into blender, the best choice of export scales is usually meters.
== Importing a MakeHuman Collada File ==
The collada file is imported into Blender using the File | Import menu and choosing collada. The default settings at the bottomof the left, T-tool panel will generally not need to be altered.
Once imported the file is likely to appear gray in the 3D viewport when in object mode and shading set to solid (Figure 1, left panel). If shading is set to rendered with blender internal (BI) selected in the render drop down menu, the image will show the materials for many assets, but the eyes, eyebrows, eyelashes, and hair which contain transparent texture maps will not render properly.
[[File:ImpExp52.png]]
<center>'''Figure 1: Imported file as viewed in Blender 3D viepowt with Object mode and "solid" or "render" mode shading'''</center>
More often if we wish to select objects in the scene we will set the shading mode to 'texture' instead of 'render'. By default the model will appear gray/white in texture mode by default. To improve this, bring up the N-tool panel by typing N with the cursor located over the 3D viewport or by selecting View | Properties from the 3D menu. On the toolbar, locate the shading panel and click on 'Multitexture' to change the setting to 'GLSL'. The image should now show non-transparent materials properly (Figure 2).
[[File:ImpExp53.png]]
<center>'''Figure 2'''</center>
In some cases, you might gain additional benefit in displaying materials for the eyes by going to the Object data tab (cube). This is located on the far right properties panel. For each of the transparent assets (eyes, eyelashes, eyebrows, and hair) select the Display panel and check 'Draw all Edges' and 'Transparency' in the bottom row. The benefit of this step for improving trasparent assets will depend on exactly how you imported the file, the lighting, and possibly other settings. What you see in the viewport is close to what you will see if you choose Render | OpenGL Render from the Info editor at the top of the screen.
[[File:ImpExp54.png]]
<center>'''Figure 3: Object data'''</center>
== Preparing for Render with Blender Internal Renderer ==
The appearance of the MakeHuman model in the Blender Internal Renderer will depend on a number of things that will include transparency settings for materials, choice of lighting type, and shadow settings. We will illustrate this by first changing the default point light to a hemi light. Right click on the point lamp in the viewport and in the right properties panel select the lamp tab and choose hemi (Figure 4).
[[File:ImpExp55a.png]]
<center>'''Figure 4'''</center>
To make transparent objects (eyes, eyebrows, eyelashes, and hair) render properly in the Blender Internal render engine, we need to change some settings on the material tab of each object and the material tab of each object. We will start with the material tab. The two panels that require adjustment are the transparency and shadow panels. Start by selecting the material tab in the properties panel (figure 5).
[[File:ImpExp55.png]]
<center>'''Figure 5'''</center>
'''Step 1.''' Right click on one of the eyes in the 3D viewport to select them. In the transparency panel, set both the
alpha and specular sliders to 0 (Figure 6).
'''Step 2.''' In the shadow panel, check 'Receive tranparent' (figure 7)
<table>
<tr><td>[[File:ImpExp56.png]]</td><td>[[File:ImpExp57.png]]</td>
<tr><td><center>'''Figure 6'''</center></td><td><center>'''Figure 7'''</center></td></tr>
</table>
Now go to the texture tab of the properties editor (checkered tab) and open the Influence panel (Figure 8).
[[File:ImpExp58.png]]
<center>'''Figure 8: '''</center>
'''Step 3.''' On the influence panel check alpha (Figure 9). Leave the value at its default of 1.0.
[[File:ImpExp59.png]]
<center>'''Figure 9: '''</center>
After completing these three steps, the eyes should be transparent (Figure 10)
[[File:ImpExp60.png]]
<center>'''Figure 10: '''</center>
Repeating steps 1-3, in turn, for the eyebrows, eyelashes and hair, respectively, should produce results similar to the panels of Figure 11.
[[File:ImpExp61.png]]
<center>'''Figure 11: '''</center>
== Preparing for Render with Blender Cycles Renderer ==
91ee064085bad162f1903871e185ce15858d8f30
453
452
2015-08-17T14:35:24Z
Robbaer
12
/* Preparing for Render with Blender Internal Renderer */
wikitext
text/x-wiki
== Introduction ==
We will use the file created in the “Illustrating the Export Process for Subsequent Import” section.
The MakeHuman export settings used when targeting Blender import should include setting the scale units to meters. Blender is capable of importing either Collada (.dae) format or Autodesk FBX format files. The import results and handling are quite similar regardless of which you choose to use, and both will require similar fixes for transparent assets on the eyes, eyebrows, eyelashes, and hair. Collada files are text based, and thus, are often quite large. Makehuman assets with textures will be exported with those textures saved in a folder named "textures" in the same folder as the parent folder. By default, on Windows If you move the collada file to a new computer or directory, you must move the "textures" folder to that same folder. By default the exported file will be found in ~/makehuman/v1/exports/ (where ~ is the user home directory).
Blender can import only binary FBX files at present, so ideally, binary would be checked for MakeHuman FBX export. <nowiki>[RWB Note: As of this writing there are still some issues with direct FBX binary export, but those are expected to be repaired going forward. In the meantime, a viable workaround for those wanting to use FBX format is to export an ASCII FBX file, convert it with the Autodesk FBX converter, and import it into Blender]</nowiki>.
Because of the ASCII --> binary issues that currently exist with the FBX format, we will describe moving assets from MakeHuman to Blender using collada (.dae) format. When exporting for subsequent import into blender, the best choice of export scales is usually meters.
== Importing a MakeHuman Collada File ==
The collada file is imported into Blender using the File | Import menu and choosing collada. The default settings at the bottomof the left, T-tool panel will generally not need to be altered.
Once imported the file is likely to appear gray in the 3D viewport when in object mode and shading set to solid (Figure 1, left panel). If shading is set to rendered with blender internal (BI) selected in the render drop down menu, the image will show the materials for many assets, but the eyes, eyebrows, eyelashes, and hair which contain transparent texture maps will not render properly.
[[File:ImpExp52.png]]
<center>'''Figure 1: Imported file as viewed in Blender 3D viepowt with Object mode and "solid" or "render" mode shading'''</center>
More often if we wish to select objects in the scene we will set the shading mode to 'texture' instead of 'render'. By default the model will appear gray/white in texture mode by default. To improve this, bring up the N-tool panel by typing N with the cursor located over the 3D viewport or by selecting View | Properties from the 3D menu. On the toolbar, locate the shading panel and click on 'Multitexture' to change the setting to 'GLSL'. The image should now show non-transparent materials properly (Figure 2).
[[File:ImpExp53.png]]
<center>'''Figure 2'''</center>
In some cases, you might gain additional benefit in displaying materials for the eyes by going to the Object data tab (cube). This is located on the far right properties panel. For each of the transparent assets (eyes, eyelashes, eyebrows, and hair) select the Display panel and check 'Draw all Edges' and 'Transparency' in the bottom row. The benefit of this step for improving trasparent assets will depend on exactly how you imported the file, the lighting, and possibly other settings. What you see in the viewport is close to what you will see if you choose Render | OpenGL Render from the Info editor at the top of the screen.
[[File:ImpExp54.png]]
<center>'''Figure 3: Object data'''</center>
== Preparing for Render with Blender Internal Renderer ==
The appearance of the MakeHuman model in the Blender Internal Renderer will depend on a number of things that will include transparency settings for materials, choice of lighting type, and shadow settings. We will illustrate this by first changing the default point light to a hemi light. Right click on the point lamp in the viewport and in the right properties panel select the lamp tab and choose hemi (Figure 4).
[[File:ImpExp55a.png]]
<center>'''Figure 4'''</center>
To make transparent objects (eyes, eyebrows, eyelashes, and hair) render properly in the Blender Internal render engine, we need to change some settings on the material tab of each object and the material tab of each object. We will start with the material tab. The two panels that require adjustment are the transparency and shadow panels. Start by selecting the material tab in the properties panel (figure 5).
[[File:ImpExp55.png]]
<center>'''Figure 5'''</center>
'''Step 1.''' Right click on one of the eyes in the 3D viewport to select them. In the transparency panel, set both the
alpha and specular sliders to 0 (Figure 6).
'''Step 2.''' In the shadow panel, check 'Receive tranparent' (figure 7)
<table>
<tr><td>[[File:ImpExp56.png]]</td><td>[[File:ImpExp57.png]]</td>
<tr><td><center>'''Figure 6'''</center></td><td><center>'''Figure 7'''</center></td></tr>
</table>
Now go to the texture tab of the properties editor (checkered tab) and open the Influence panel (Figure 8).
[[File:ImpExp58.png]]
<center>'''Figure 8: '''</center>
'''Step 3.''' On the influence panel check alpha (Figure 9). Leave the value at its default of 1.0.
[[File:ImpExp59.png]]
<center>'''Figure 9: '''</center>
After completing these three steps, the eyes should be transparent (Figure 10)
[[File:ImpExp60.png]]
<center>'''Figure 10: '''</center>
Repeating steps 1-3, in turn, for the eyebrows, eyelashes and hair, respectively, should produce results similar to the panels of Figure 11.
[[File:ImpExp61.png]]
<center>'''Figure 11: '''</center>
82012792393412fde191b0082955d28811bc257a
452
451
2015-08-17T14:19:12Z
Robbaer
12
/* Preparing for Render with Blender Internal Renderer */
wikitext
text/x-wiki
== Introduction ==
We will use the file created in the “Illustrating the Export Process for Subsequent Import” section.
The MakeHuman export settings used when targeting Blender import should include setting the scale units to meters. Blender is capable of importing either Collada (.dae) format or Autodesk FBX format files. The import results and handling are quite similar regardless of which you choose to use, and both will require similar fixes for transparent assets on the eyes, eyebrows, eyelashes, and hair. Collada files are text based, and thus, are often quite large. Makehuman assets with textures will be exported with those textures saved in a folder named "textures" in the same folder as the parent folder. By default, on Windows If you move the collada file to a new computer or directory, you must move the "textures" folder to that same folder. By default the exported file will be found in ~/makehuman/v1/exports/ (where ~ is the user home directory).
Blender can import only binary FBX files at present, so ideally, binary would be checked for MakeHuman FBX export. <nowiki>[RWB Note: As of this writing there are still some issues with direct FBX binary export, but those are expected to be repaired going forward. In the meantime, a viable workaround for those wanting to use FBX format is to export an ASCII FBX file, convert it with the Autodesk FBX converter, and import it into Blender]</nowiki>.
Because of the ASCII --> binary issues that currently exist with the FBX format, we will describe moving assets from MakeHuman to Blender using collada (.dae) format. When exporting for subsequent import into blender, the best choice of export scales is usually meters.
== Importing a MakeHuman Collada File ==
The collada file is imported into Blender using the File | Import menu and choosing collada. The default settings at the bottomof the left, T-tool panel will generally not need to be altered.
Once imported the file is likely to appear gray in the 3D viewport when in object mode and shading set to solid (Figure 1, left panel). If shading is set to rendered with blender internal (BI) selected in the render drop down menu, the image will show the materials for many assets, but the eyes, eyebrows, eyelashes, and hair which contain transparent texture maps will not render properly.
[[File:ImpExp52.png]]
<center>'''Figure 1: Imported file as viewed in Blender 3D viepowt with Object mode and "solid" or "render" mode shading'''</center>
More often if we wish to select objects in the scene we will set the shading mode to 'texture' instead of 'render'. By default the model will appear gray/white in texture mode by default. To improve this, bring up the N-tool panel by typing N with the cursor located over the 3D viewport or by selecting View | Properties from the 3D menu. On the toolbar, locate the shading panel and click on 'Multitexture' to change the setting to 'GLSL'. The image should now show non-transparent materials properly (Figure 2).
[[File:ImpExp53.png]]
<center>'''Figure 2'''</center>
In some cases, you might gain additional benefit in displaying materials for the eyes by going to the Object data tab (cube). This is located on the far right properties panel. For each of the transparent assets (eyes, eyelashes, eyebrows, and hair) select the Display panel and check 'Draw all Edges' and 'Transparency' in the bottom row. The benefit of this step for improving trasparent assets will depend on exactly how you imported the file, the lighting, and possibly other settings. What you see in the viewport is close to what you will see if you choose Render | OpenGL Render from the Info editor at the top of the screen.
[[File:ImpExp54.png]]
<center>'''Figure 3: Object data'''</center>
== Preparing for Render with Blender Internal Renderer ==
The appearance of the MakeHuman model in the Blender Internal Renderer will depend on a number of things that will include transparency settings for materials, choice of lighting type, and shadow settings. We will illustrate this by first changing the default point light to a hemi light. Right click on the point lamp in the viewport and in the right properties panel select the lamp tab and choose hemi (Figure 4).
[[File:ImpExp55a.png]]
<center>'''Figure 4'''</center>
To make transparent objects (eyes, eyebrows, eyelashes, and hair) render properly in the Blender Internal render engine, we first need to make changes to thr transparency and shadow panels of the material properties tab. Start by selecting the material tab in the properties panel on the right (figure 5).
[[File:ImpExp55.png]]
<center>'''Figure 5'''</center>
Right click on one of the eyes in the 3D viewport to select them. In the transparency panel, set both the
alpha and specular sliders to 0 (Figure 6). In the shadow panel, check 'Receive tranparent' (figure 7)
<table>
<tr><td>[[File:ImpExp56.png]]</td><td>[[File:ImpExp57.png]]</td>
<tr><td><center>'''Figure 6'''</center></td><td><center>'''Figure 7'''</center></td></tr>
</table>
Now go to the texture tab of the properties editor (checkered tab) and open the Influence panel (Figure 8).
[[File:ImpExp58.png]]
<center>'''Figure 8: '''</center>
On the influence panel check alpha (Figure 9). Leave the value at its default of 1.0.
[[File:ImpExp59.png]]
<center>'''Figure 9: '''</center>
[[File:ImpExp60.png]]
<center>'''Figure 10: '''</center>
[[File:ImpExp61.png]]
<center>'''Figure 11: '''</center>
dd989f6183fc59c18031d44b4a94732d817bb525
451
450
2015-08-17T14:10:31Z
Robbaer
12
/* Preparing for Render with Blender Internal Renderer */
wikitext
text/x-wiki
== Introduction ==
We will use the file created in the “Illustrating the Export Process for Subsequent Import” section.
The MakeHuman export settings used when targeting Blender import should include setting the scale units to meters. Blender is capable of importing either Collada (.dae) format or Autodesk FBX format files. The import results and handling are quite similar regardless of which you choose to use, and both will require similar fixes for transparent assets on the eyes, eyebrows, eyelashes, and hair. Collada files are text based, and thus, are often quite large. Makehuman assets with textures will be exported with those textures saved in a folder named "textures" in the same folder as the parent folder. By default, on Windows If you move the collada file to a new computer or directory, you must move the "textures" folder to that same folder. By default the exported file will be found in ~/makehuman/v1/exports/ (where ~ is the user home directory).
Blender can import only binary FBX files at present, so ideally, binary would be checked for MakeHuman FBX export. <nowiki>[RWB Note: As of this writing there are still some issues with direct FBX binary export, but those are expected to be repaired going forward. In the meantime, a viable workaround for those wanting to use FBX format is to export an ASCII FBX file, convert it with the Autodesk FBX converter, and import it into Blender]</nowiki>.
Because of the ASCII --> binary issues that currently exist with the FBX format, we will describe moving assets from MakeHuman to Blender using collada (.dae) format. When exporting for subsequent import into blender, the best choice of export scales is usually meters.
== Importing a MakeHuman Collada File ==
The collada file is imported into Blender using the File | Import menu and choosing collada. The default settings at the bottomof the left, T-tool panel will generally not need to be altered.
Once imported the file is likely to appear gray in the 3D viewport when in object mode and shading set to solid (Figure 1, left panel). If shading is set to rendered with blender internal (BI) selected in the render drop down menu, the image will show the materials for many assets, but the eyes, eyebrows, eyelashes, and hair which contain transparent texture maps will not render properly.
[[File:ImpExp52.png]]
<center>'''Figure 1: Imported file as viewed in Blender 3D viepowt with Object mode and "solid" or "render" mode shading'''</center>
More often if we wish to select objects in the scene we will set the shading mode to 'texture' instead of 'render'. By default the model will appear gray/white in texture mode by default. To improve this, bring up the N-tool panel by typing N with the cursor located over the 3D viewport or by selecting View | Properties from the 3D menu. On the toolbar, locate the shading panel and click on 'Multitexture' to change the setting to 'GLSL'. The image should now show non-transparent materials properly (Figure 2).
[[File:ImpExp53.png]]
<center>'''Figure 2'''</center>
In some cases, you might gain additional benefit in displaying materials for the eyes by going to the Object data tab (cube). This is located on the far right properties panel. For each of the transparent assets (eyes, eyelashes, eyebrows, and hair) select the Display panel and check 'Draw all Edges' and 'Transparency' in the bottom row. The benefit of this step for improving trasparent assets will depend on exactly how you imported the file, the lighting, and possibly other settings. What you see in the viewport is close to what you will see if you choose Render | OpenGL Render from the Info editor at the top of the screen.
[[File:ImpExp54.png]]
<center>'''Figure 3: Object data'''</center>
== Preparing for Render with Blender Internal Renderer ==
The appearance of the MakeHuman model in the Blender Internal Renderer will depend on a number of things that will include transparency settings for materials, choice of lighting type, and shadow settings. We will illustrate this by first changing the default point light to a hemi light. Right click on the point lamp in the viewport and in the right properties panel select the lamp tab and choose hemi (Figure 4).
[[File:ImpExp55a.png]]
<center>'''Figure 4'''</center>
To make transparent objects (eyes, eybrows, eyelashes, and hair) render properly in the Blender Internal render engine, we first need to make changes to thr tranparency and shadow panels of the material properties tab. Start by selecting the material tab in the properties panel on the right (figure 5).
[[File:ImpExp55.png]]
<center>'''Figure 5'''</center>
Right click on one of the eyes in the 3D viewport to select them. In the transparency panel, set both the
alpha and specular sliders to 0 (Figure 6). In the shadow panel, check 'Receive tranparent' (figure 7)
<table>
<tr><td>[[File:ImpExp56.png]]</td><td>[[File:ImpExp57.png]]</td>
<tr><td><center>'''Figure 6'''</center></td><td><center>'''Figure 7'''</center></td>,/tr>
</table>
[[File:ImpExp57.png]]
<center>'''Figure 8: '''</center>
[[File:ImpExp58.png]]
<center>'''Figure 9: '''</center>
[[File:ImpExp59.png]]
<center>'''Figure 10: '''</center>
[[File:ImpExp60.png]]
<center>'''Figure 11: '''</center>
dc3871ae9833da2ab44601084fa984bef3f8d8c6
450
449
2015-08-17T14:03:58Z
Robbaer
12
/* Preparing for Render with Blender Internal Renderer */
wikitext
text/x-wiki
== Introduction ==
We will use the file created in the “Illustrating the Export Process for Subsequent Import” section.
The MakeHuman export settings used when targeting Blender import should include setting the scale units to meters. Blender is capable of importing either Collada (.dae) format or Autodesk FBX format files. The import results and handling are quite similar regardless of which you choose to use, and both will require similar fixes for transparent assets on the eyes, eyebrows, eyelashes, and hair. Collada files are text based, and thus, are often quite large. Makehuman assets with textures will be exported with those textures saved in a folder named "textures" in the same folder as the parent folder. By default, on Windows If you move the collada file to a new computer or directory, you must move the "textures" folder to that same folder. By default the exported file will be found in ~/makehuman/v1/exports/ (where ~ is the user home directory).
Blender can import only binary FBX files at present, so ideally, binary would be checked for MakeHuman FBX export. <nowiki>[RWB Note: As of this writing there are still some issues with direct FBX binary export, but those are expected to be repaired going forward. In the meantime, a viable workaround for those wanting to use FBX format is to export an ASCII FBX file, convert it with the Autodesk FBX converter, and import it into Blender]</nowiki>.
Because of the ASCII --> binary issues that currently exist with the FBX format, we will describe moving assets from MakeHuman to Blender using collada (.dae) format. When exporting for subsequent import into blender, the best choice of export scales is usually meters.
== Importing a MakeHuman Collada File ==
The collada file is imported into Blender using the File | Import menu and choosing collada. The default settings at the bottomof the left, T-tool panel will generally not need to be altered.
Once imported the file is likely to appear gray in the 3D viewport when in object mode and shading set to solid (Figure 1, left panel). If shading is set to rendered with blender internal (BI) selected in the render drop down menu, the image will show the materials for many assets, but the eyes, eyebrows, eyelashes, and hair which contain transparent texture maps will not render properly.
[[File:ImpExp52.png]]
<center>'''Figure 1: Imported file as viewed in Blender 3D viepowt with Object mode and "solid" or "render" mode shading'''</center>
More often if we wish to select objects in the scene we will set the shading mode to 'texture' instead of 'render'. By default the model will appear gray/white in texture mode by default. To improve this, bring up the N-tool panel by typing N with the cursor located over the 3D viewport or by selecting View | Properties from the 3D menu. On the toolbar, locate the shading panel and click on 'Multitexture' to change the setting to 'GLSL'. The image should now show non-transparent materials properly (Figure 2).
[[File:ImpExp53.png]]
<center>'''Figure 2'''</center>
In some cases, you might gain additional benefit in displaying materials for the eyes by going to the Object data tab (cube). This is located on the far right properties panel. For each of the transparent assets (eyes, eyelashes, eyebrows, and hair) select the Display panel and check 'Draw all Edges' and 'Transparency' in the bottom row. The benefit of this step for improving trasparent assets will depend on exactly how you imported the file, the lighting, and possibly other settings. What you see in the viewport is close to what you will see if you choose Render | OpenGL Render from the Info editor at the top of the screen.
[[File:ImpExp54.png]]
<center>'''Figure 3: Object data'''</center>
== Preparing for Render with Blender Internal Renderer ==
The appearance of the MakeHuman model in the Blender Internal Renderer will depend on a number of things that will include transparency settings for materials, choice of lighting type, and shadow settings. We will illustrate this by first changing the default point light to a hemi light. Right click on the point lamp in the viewport and in the right properties panel select the lamp tab and choose hemi (Figure 4).
[[File:ImpExp55a.png]]
<center>'''Figure 4'''</center>
To make transparent objects (eyes, eybrows, eyelashes, and hair) render properly in the Blender Internal render engine, we first need to make changes to thr tranparency and shadow panels of the material properties tab. Start by selecting the material tab in the properties panel on the right (figure 5).
[[File:ImpExp55.png]]
<center>'''Figure 5'''</center>
Right click on one of the eyes in the 3D viewport to select them. In the transparency panel, set both the
alpha and specular sliders to 0 (Figure 6). In the shadow panel, check 'Receive tranparent' (figure 7)
[[File:ImpExp56.png]] [[File:ImpExp57.png]]
<center>'''Figure 6''' '''Figure 7'''</center>
[[File:ImpExp57.png]]
<center>'''Figure 8: '''</center>
[[File:ImpExp58.png]]
<center>'''Figure 9: '''</center>
[[File:ImpExp59.png]]
<center>'''Figure 10: '''</center>
[[File:ImpExp60.png]]
<center>'''Figure 11: '''</center>
ab2243b8a07bc7d181f6a12a16f0ee2af6ed5aa3
449
448
2015-08-17T13:49:09Z
Robbaer
12
/* Preparing for Render with Blender Internal Renderer */
wikitext
text/x-wiki
== Introduction ==
We will use the file created in the “Illustrating the Export Process for Subsequent Import” section.
The MakeHuman export settings used when targeting Blender import should include setting the scale units to meters. Blender is capable of importing either Collada (.dae) format or Autodesk FBX format files. The import results and handling are quite similar regardless of which you choose to use, and both will require similar fixes for transparent assets on the eyes, eyebrows, eyelashes, and hair. Collada files are text based, and thus, are often quite large. Makehuman assets with textures will be exported with those textures saved in a folder named "textures" in the same folder as the parent folder. By default, on Windows If you move the collada file to a new computer or directory, you must move the "textures" folder to that same folder. By default the exported file will be found in ~/makehuman/v1/exports/ (where ~ is the user home directory).
Blender can import only binary FBX files at present, so ideally, binary would be checked for MakeHuman FBX export. <nowiki>[RWB Note: As of this writing there are still some issues with direct FBX binary export, but those are expected to be repaired going forward. In the meantime, a viable workaround for those wanting to use FBX format is to export an ASCII FBX file, convert it with the Autodesk FBX converter, and import it into Blender]</nowiki>.
Because of the ASCII --> binary issues that currently exist with the FBX format, we will describe moving assets from MakeHuman to Blender using collada (.dae) format. When exporting for subsequent import into blender, the best choice of export scales is usually meters.
== Importing a MakeHuman Collada File ==
The collada file is imported into Blender using the File | Import menu and choosing collada. The default settings at the bottomof the left, T-tool panel will generally not need to be altered.
Once imported the file is likely to appear gray in the 3D viewport when in object mode and shading set to solid (Figure 1, left panel). If shading is set to rendered with blender internal (BI) selected in the render drop down menu, the image will show the materials for many assets, but the eyes, eyebrows, eyelashes, and hair which contain transparent texture maps will not render properly.
[[File:ImpExp52.png]]
<center>'''Figure 1: Imported file as viewed in Blender 3D viepowt with Object mode and "solid" or "render" mode shading'''</center>
More often if we wish to select objects in the scene we will set the shading mode to 'texture' instead of 'render'. By default the model will appear gray/white in texture mode by default. To improve this, bring up the N-tool panel by typing N with the cursor located over the 3D viewport or by selecting View | Properties from the 3D menu. On the toolbar, locate the shading panel and click on 'Multitexture' to change the setting to 'GLSL'. The image should now show non-transparent materials properly (Figure 2).
[[File:ImpExp53.png]]
<center>'''Figure 2'''</center>
In some cases, you might gain additional benefit in displaying materials for the eyes by going to the Object data tab (cube). This is located on the far right properties panel. For each of the transparent assets (eyes, eyelashes, eyebrows, and hair) select the Display panel and check 'Draw all Edges' and 'Transparency' in the bottom row. The benefit of this step for improving trasparent assets will depend on exactly how you imported the file, the lighting, and possibly other settings. What you see in the viewport is close to what you will see if you choose Render | OpenGL Render from the Info editor at the top of the screen.
[[File:ImpExp54.png]]
<center>'''Figure 3: Object data'''</center>
== Preparing for Render with Blender Internal Renderer ==
The appearance of the MakeHuman model in the Blender Internal Renderer will depend on a number of things that will include transparency settings for materials, choice of lighting type, and shadow settings. We will illustrate this by first changing the default point light to a hemi light. Right click on the point lamp in the viewport and in the right properties panel select the lamp tab and choose hemi (
[[File:ImpExp55a.png]]
<center>'''Figure 4'''</center>
[[File:ImpExp55.png]]
<center>'''Figure 5'''</center>
[[File:ImpExp56.png]]
<center>'''Figure 6'''</center>
[[File:ImpExp57.png]]
<center>'''Figure 7: '''</center>
7a011629ab2497859a9b8dbd2ae7cc8049a28523
448
447
2015-08-17T13:48:11Z
Robbaer
12
/* Preparing for Render with Blender Internal Renderer */
wikitext
text/x-wiki
== Introduction ==
We will use the file created in the “Illustrating the Export Process for Subsequent Import” section.
The MakeHuman export settings used when targeting Blender import should include setting the scale units to meters. Blender is capable of importing either Collada (.dae) format or Autodesk FBX format files. The import results and handling are quite similar regardless of which you choose to use, and both will require similar fixes for transparent assets on the eyes, eyebrows, eyelashes, and hair. Collada files are text based, and thus, are often quite large. Makehuman assets with textures will be exported with those textures saved in a folder named "textures" in the same folder as the parent folder. By default, on Windows If you move the collada file to a new computer or directory, you must move the "textures" folder to that same folder. By default the exported file will be found in ~/makehuman/v1/exports/ (where ~ is the user home directory).
Blender can import only binary FBX files at present, so ideally, binary would be checked for MakeHuman FBX export. <nowiki>[RWB Note: As of this writing there are still some issues with direct FBX binary export, but those are expected to be repaired going forward. In the meantime, a viable workaround for those wanting to use FBX format is to export an ASCII FBX file, convert it with the Autodesk FBX converter, and import it into Blender]</nowiki>.
Because of the ASCII --> binary issues that currently exist with the FBX format, we will describe moving assets from MakeHuman to Blender using collada (.dae) format. When exporting for subsequent import into blender, the best choice of export scales is usually meters.
== Importing a MakeHuman Collada File ==
The collada file is imported into Blender using the File | Import menu and choosing collada. The default settings at the bottomof the left, T-tool panel will generally not need to be altered.
Once imported the file is likely to appear gray in the 3D viewport when in object mode and shading set to solid (Figure 1, left panel). If shading is set to rendered with blender internal (BI) selected in the render drop down menu, the image will show the materials for many assets, but the eyes, eyebrows, eyelashes, and hair which contain transparent texture maps will not render properly.
[[File:ImpExp52.png]]
<center>'''Figure 1: Imported file as viewed in Blender 3D viepowt with Object mode and "solid" or "render" mode shading'''</center>
More often if we wish to select objects in the scene we will set the shading mode to 'texture' instead of 'render'. By default the model will appear gray/white in texture mode by default. To improve this, bring up the N-tool panel by typing N with the cursor located over the 3D viewport or by selecting View | Properties from the 3D menu. On the toolbar, locate the shading panel and click on 'Multitexture' to change the setting to 'GLSL'. The image should now show non-transparent materials properly (Figure 2).
[[File:ImpExp53.png]]
<center>'''Figure 2'''</center>
In some cases, you might gain additional benefit in displaying materials for the eyes by going to the Object data tab (cube). This is located on the far right properties panel. For each of the transparent assets (eyes, eyelashes, eyebrows, and hair) select the Display panel and check 'Draw all Edges' and 'Transparency' in the bottom row. The benefit of this step for improving trasparent assets will depend on exactly how you imported the file, the lighting, and possibly other settings. What you see in the viewport is close to what you will see if you choose Render | OpenGL Render from the Info editor at the top of the screen.
[[File:ImpExp54.png]]
<center>'''Figure 3: Object data'''</center>
== Preparing for Render with Blender Internal Renderer ==
The appearance of the MakeHuman model in the Blender Internal Renderer will depend on a number of things that will include transparency settings for materials, choice of lighting type, and shadow settings. We will illustrate this by first changing the default point light to a hemi light. Right click on the point lamp in the viewport and in the right properties panel select the lamp tab and choose hemi (
[[File:ImpExp55a.png]]
<center>'''Figure 3'''</center>
[[File:ImpExp55.png]]
<center>'''Figure 4'''</center>
[[File:ImpExp56.png]]
<center>'''Figure 5'''</center>
[[File:ImpExp57.png]]
<center>'''Figure 6: '''</center>
5582bb208a5e70b828aa1fcc67fade7c4f532307
447
446
2015-08-17T13:24:46Z
Robbaer
12
/* Importing a MakeHuman Collada File */
wikitext
text/x-wiki
== Introduction ==
We will use the file created in the “Illustrating the Export Process for Subsequent Import” section.
The MakeHuman export settings used when targeting Blender import should include setting the scale units to meters. Blender is capable of importing either Collada (.dae) format or Autodesk FBX format files. The import results and handling are quite similar regardless of which you choose to use, and both will require similar fixes for transparent assets on the eyes, eyebrows, eyelashes, and hair. Collada files are text based, and thus, are often quite large. Makehuman assets with textures will be exported with those textures saved in a folder named "textures" in the same folder as the parent folder. By default, on Windows If you move the collada file to a new computer or directory, you must move the "textures" folder to that same folder. By default the exported file will be found in ~/makehuman/v1/exports/ (where ~ is the user home directory).
Blender can import only binary FBX files at present, so ideally, binary would be checked for MakeHuman FBX export. <nowiki>[RWB Note: As of this writing there are still some issues with direct FBX binary export, but those are expected to be repaired going forward. In the meantime, a viable workaround for those wanting to use FBX format is to export an ASCII FBX file, convert it with the Autodesk FBX converter, and import it into Blender]</nowiki>.
Because of the ASCII --> binary issues that currently exist with the FBX format, we will describe moving assets from MakeHuman to Blender using collada (.dae) format. When exporting for subsequent import into blender, the best choice of export scales is usually meters.
== Importing a MakeHuman Collada File ==
The collada file is imported into Blender using the File | Import menu and choosing collada. The default settings at the bottomof the left, T-tool panel will generally not need to be altered.
Once imported the file is likely to appear gray in the 3D viewport when in object mode and shading set to solid (Figure 1, left panel). If shading is set to rendered with blender internal (BI) selected in the render drop down menu, the image will show the materials for many assets, but the eyes, eyebrows, eyelashes, and hair which contain transparent texture maps will not render properly.
[[File:ImpExp52.png]]
<center>'''Figure 1: Imported file as viewed in Blender 3D viepowt with Object mode and "solid" or "render" mode shading'''</center>
More often if we wish to select objects in the scene we will set the shading mode to 'texture' instead of 'render'. By default the model will appear gray/white in texture mode by default. To improve this, bring up the N-tool panel by typing N with the cursor located over the 3D viewport or by selecting View | Properties from the 3D menu. On the toolbar, locate the shading panel and click on 'Multitexture' to change the setting to 'GLSL'. The image should now show non-transparent materials properly (Figure 2).
[[File:ImpExp53.png]]
<center>'''Figure 2'''</center>
In some cases, you might gain additional benefit in displaying materials for the eyes by going to the Object data tab (cube). This is located on the far right properties panel. For each of the transparent assets (eyes, eyelashes, eyebrows, and hair) select the Display panel and check 'Draw all Edges' and 'Transparency' in the bottom row. The benefit of this step for improving trasparent assets will depend on exactly how you imported the file, the lighting, and possibly other settings. What you see in the viewport is close to what you will see if you choose Render | OpenGL Render from the Info editor at the top of the screen.
[[File:ImpExp54.png]]
<center>'''Figure 3: Object data'''</center>
== Preparing for Render with Blender Internal Renderer ==
[[File:ImpExp56.png]]
<center>'''Figure 4'''</center>
[[File:ImpExp57.png]]
<center>'''Figure 5'''</center>
[[File:ImpExp55.png]]
<center>'''Figure 6: Imported file as viewed in Blender 3D viepowt with Object mode and solid shading'''</center>
04ebced5b407c6acb4055705e4423c2c30a42b4d
446
445
2015-08-17T13:23:54Z
Robbaer
12
/* Preparing for Render with Blender Internal Renderer */
wikitext
text/x-wiki
== Introduction ==
We will use the file created in the “Illustrating the Export Process for Subsequent Import” section.
The MakeHuman export settings used when targeting Blender import should include setting the scale units to meters. Blender is capable of importing either Collada (.dae) format or Autodesk FBX format files. The import results and handling are quite similar regardless of which you choose to use, and both will require similar fixes for transparent assets on the eyes, eyebrows, eyelashes, and hair. Collada files are text based, and thus, are often quite large. Makehuman assets with textures will be exported with those textures saved in a folder named "textures" in the same folder as the parent folder. By default, on Windows If you move the collada file to a new computer or directory, you must move the "textures" folder to that same folder. By default the exported file will be found in ~/makehuman/v1/exports/ (where ~ is the user home directory).
Blender can import only binary FBX files at present, so ideally, binary would be checked for MakeHuman FBX export. <nowiki>[RWB Note: As of this writing there are still some issues with direct FBX binary export, but those are expected to be repaired going forward. In the meantime, a viable workaround for those wanting to use FBX format is to export an ASCII FBX file, convert it with the Autodesk FBX converter, and import it into Blender]</nowiki>.
Because of the ASCII --> binary issues that currently exist with the FBX format, we will describe moving assets from MakeHuman to Blender using collada (.dae) format. When exporting for subsequent import into blender, the best choice of export scales is usually meters.
== Importing a MakeHuman Collada File ==
The collada file is imported into Blender using the File | Import menu and choosing collada. The default settings at the bottomof the left, T-tool panel will generally not need to be altered.
Once imported the file is likely to appear gray in the 3D viewport when in object mode and shading set to solid (Figure 1, left panel). If shading is set to rendered with blender internal (BI) selected in the render drop down menu, the image will show the materials for many assets, but the eyes, eyebrows, eyelashes, and hair which contain transparent texture maps will not render properly.
[[File:ImpExp52.png]]
<center>'''Figure 1: Imported file as viewed in Blender 3D viepowt with Object mode and "solid" or "render" mode shading'''</center>
More often if we wish to select objects in the scene we will set the shading mode to 'texture' instead of 'render'. By default the model will appear gray/white in texture mode by default. To improve this, bring up the N-tool panel by typing N with the cursor located over the 3D viewport or by selecting View | Properties from the 3D menu. On the toolbar, locate the shading panel and click on 'Multitexture' to change the setting to 'GLSL'. The image should now show non-transparent materials properly (Figure 2).
[[File:ImpExp53.png]]
<center>'''Figure 2'''</center>
In some cases, you might gain additional benefit in displaying materials for the eyes by going to the Object data tab (cube). This is located on the far right properties panel. For each of the transparent assets (eyes, eyelashes, eyebrows, and hair) select the Display panel and check 'Draw all Edges' and 'Transparency' in the bottom row. The benefit of this step for improving trasparent assets will depend on exactly how you imported the file, the lighting, and possibly other settings. What you see in the viewport is close to what yo will see if you choose Render | OpenGL Render from the Info editor at the top of the screen.
== Preparing for Render with Blender Internal Renderer ==
[[File:ImpExp56.png]]
<center>'''Figure 4'''</center>
[[File:ImpExp57.png]]
<center>'''Figure 5'''</center>
[[File:ImpExp55.png]]
<center>'''Figure 6: Imported file as viewed in Blender 3D viepowt with Object mode and solid shading'''</center>
c11c4fa0e7d40b78b5a6784117deacd34f652625
445
444
2015-08-17T13:22:11Z
Robbaer
12
/* Importing a MakeHuman Collada File */
wikitext
text/x-wiki
== Introduction ==
We will use the file created in the “Illustrating the Export Process for Subsequent Import” section.
The MakeHuman export settings used when targeting Blender import should include setting the scale units to meters. Blender is capable of importing either Collada (.dae) format or Autodesk FBX format files. The import results and handling are quite similar regardless of which you choose to use, and both will require similar fixes for transparent assets on the eyes, eyebrows, eyelashes, and hair. Collada files are text based, and thus, are often quite large. Makehuman assets with textures will be exported with those textures saved in a folder named "textures" in the same folder as the parent folder. By default, on Windows If you move the collada file to a new computer or directory, you must move the "textures" folder to that same folder. By default the exported file will be found in ~/makehuman/v1/exports/ (where ~ is the user home directory).
Blender can import only binary FBX files at present, so ideally, binary would be checked for MakeHuman FBX export. <nowiki>[RWB Note: As of this writing there are still some issues with direct FBX binary export, but those are expected to be repaired going forward. In the meantime, a viable workaround for those wanting to use FBX format is to export an ASCII FBX file, convert it with the Autodesk FBX converter, and import it into Blender]</nowiki>.
Because of the ASCII --> binary issues that currently exist with the FBX format, we will describe moving assets from MakeHuman to Blender using collada (.dae) format. When exporting for subsequent import into blender, the best choice of export scales is usually meters.
== Importing a MakeHuman Collada File ==
The collada file is imported into Blender using the File | Import menu and choosing collada. The default settings at the bottomof the left, T-tool panel will generally not need to be altered.
Once imported the file is likely to appear gray in the 3D viewport when in object mode and shading set to solid (Figure 1, left panel). If shading is set to rendered with blender internal (BI) selected in the render drop down menu, the image will show the materials for many assets, but the eyes, eyebrows, eyelashes, and hair which contain transparent texture maps will not render properly.
[[File:ImpExp52.png]]
<center>'''Figure 1: Imported file as viewed in Blender 3D viepowt with Object mode and "solid" or "render" mode shading'''</center>
More often if we wish to select objects in the scene we will set the shading mode to 'texture' instead of 'render'. By default the model will appear gray/white in texture mode by default. To improve this, bring up the N-tool panel by typing N with the cursor located over the 3D viewport or by selecting View | Properties from the 3D menu. On the toolbar, locate the shading panel and click on 'Multitexture' to change the setting to 'GLSL'. The image should now show non-transparent materials properly (Figure 2).
[[File:ImpExp53.png]]
<center>'''Figure 2'''</center>
In some cases, you might gain additional benefit in displaying materials for the eyes by going to the Object data tab (cube). This is located on the far right properties panel. For each of the transparent assets (eyes, eyelashes, eyebrows, and hair) select the Display panel and check 'Draw all Edges' and 'Transparency' in the bottom row. The benefit of this step for improving trasparent assets will depend on exactly how you imported the file, the lighting, and possibly other settings. What you see in the viewport is close to what yo will see if you choose Render | OpenGL Render from the Info editor at the top of the screen.
== Preparing for Render with Blender Internal Renderer ==
[[File:ImpExp54.png]]
<center>'''Figure 3: Object data'''</center>
[[File:ImpExp56.png]]
<center>'''Figure 4'''</center>
[[File:ImpExp57.png]]
<center>'''Figure 5'''</center>
[[File:ImpExp55.png]]
<center>'''Figure 6: Imported file as viewed in Blender 3D viepowt with Object mode and solid shading'''</center>
57c8c775070ceff9988df55e48569502197167a7
444
442
2015-08-17T13:20:37Z
Robbaer
12
/* Importing a MakeHuman Collada File */
wikitext
text/x-wiki
== Introduction ==
We will use the file created in the “Illustrating the Export Process for Subsequent Import” section.
The MakeHuman export settings used when targeting Blender import should include setting the scale units to meters. Blender is capable of importing either Collada (.dae) format or Autodesk FBX format files. The import results and handling are quite similar regardless of which you choose to use, and both will require similar fixes for transparent assets on the eyes, eyebrows, eyelashes, and hair. Collada files are text based, and thus, are often quite large. Makehuman assets with textures will be exported with those textures saved in a folder named "textures" in the same folder as the parent folder. By default, on Windows If you move the collada file to a new computer or directory, you must move the "textures" folder to that same folder. By default the exported file will be found in ~/makehuman/v1/exports/ (where ~ is the user home directory).
Blender can import only binary FBX files at present, so ideally, binary would be checked for MakeHuman FBX export. <nowiki>[RWB Note: As of this writing there are still some issues with direct FBX binary export, but those are expected to be repaired going forward. In the meantime, a viable workaround for those wanting to use FBX format is to export an ASCII FBX file, convert it with the Autodesk FBX converter, and import it into Blender]</nowiki>.
Because of the ASCII --> binary issues that currently exist with the FBX format, we will describe moving assets from MakeHuman to Blender using collada (.dae) format. When exporting for subsequent import into blender, the best choice of export scales is usually meters.
== Importing a MakeHuman Collada File ==
The collada file is imported into Blender using the File | Import menu and choosing collada. The default settings at the bottomof the left, T-tool panel will generally not need to be altered.
Once imported the file is likely to appear gray in the 3D viewport when in object mode and shading set to solid (Figure 1, left panel). If shading is set to rendered with blender internal (BI) selected in the render drop down menu, the image will show the materials for many assets, but the eyes, eyebrows, eyelashes, and hair which contain transparent texture maps will not render properly.
[[File:ImpExp52.png]]
<center>'''Figure 1: Imported file as viewed in Blender 3D viepowt with Object mode and "solid" or "render" mode shading'''</center>
More often if we wish to select objects in the scene we will set the shading mode to 'texture' instead of 'render'. By default the model will appear gray/white in texture mode by default. To improve this, bring up the N-tool panel by typing N with the cursor located over the 3D viewport or by selecting View | Properties from the 3D menu. On the toolbar, locate the shading panel and click on 'Multitexture' to change the setting to 'GLSL'. The image should now show non-transparent materials properly (Figure 2).
[[File:ImpExp53.png]]
<center>'''Figure 2'''</center>
In some cases, you might gain additional benefit in displaying materials for the eyes by going to the Object data tab (cube). This is located on the far right properties panel. For each of the transparent assets (eyes, eyelashes, eyebrows, and hair) select the Display panel and check 'Draw all Edges' and 'Transparency' in the bottom row. The benefit of this step for improving trasparent assets will depend on exactly how you imported the file, the lighting, and possibly other settings. What you see in the viewport is close to what yo will see if you choose Render | OpenGL Render from the Info editor at the top of the screen.
[[File:ImpExp54.png]]
<center>'''Figure 3: Object data'''</center>
[[File:ImpExp56.png]]
<center>'''Figure 4'''</center>
[[File:ImpExp57.png]]
<center>'''Figure 5'''</center>
[[File:ImpExp55.png]]
<center>'''Figure 6: Imported file as viewed in Blender 3D viepowt with Object mode and solid shading'''</center>
51b249a553f4c14fc66b805b4a5a9cb57c66c3cd
442
441
2015-08-17T13:01:55Z
Robbaer
12
/* Importing a MakeHuman Collada File */
wikitext
text/x-wiki
== Introduction ==
We will use the file created in the “Illustrating the Export Process for Subsequent Import” section.
The MakeHuman export settings used when targeting Blender import should include setting the scale units to meters. Blender is capable of importing either Collada (.dae) format or Autodesk FBX format files. The import results and handling are quite similar regardless of which you choose to use, and both will require similar fixes for transparent assets on the eyes, eyebrows, eyelashes, and hair. Collada files are text based, and thus, are often quite large. Makehuman assets with textures will be exported with those textures saved in a folder named "textures" in the same folder as the parent folder. By default, on Windows If you move the collada file to a new computer or directory, you must move the "textures" folder to that same folder. By default the exported file will be found in ~/makehuman/v1/exports/ (where ~ is the user home directory).
Blender can import only binary FBX files at present, so ideally, binary would be checked for MakeHuman FBX export. <nowiki>[RWB Note: As of this writing there are still some issues with direct FBX binary export, but those are expected to be repaired going forward. In the meantime, a viable workaround for those wanting to use FBX format is to export an ASCII FBX file, convert it with the Autodesk FBX converter, and import it into Blender]</nowiki>.
Because of the ASCII --> binary issues that currently exist with the FBX format, we will describe moving assets from MakeHuman to Blender using collada (.dae) format. When exporting for subsequent import into blender, the best choice of export scales is usually meters.
== Importing a MakeHuman Collada File ==
The collada file is imported into Blender using the File | Import menu and choosing collada. The default settings at the bottomof the left, T-tool panel will generally not need to be altered.
Once imported the file is likely to appear gray in the 3D viewport when in object mode and shading set to solid (Figure 1, left panel). If shading is set to rendered with blender internal (BI) selected in the render drop down menu, the image will show the materials for many assets, but the eyes, eyebrows, eyelashes, and hair which contain transparent texture maps will not render properly.
[[File:ImpExp52.png]]
<center>'''Figure 1: Imported file as viewed in Blender 3D viepowt with Object mode and "solid" or "render" mode shading'''</center>
More often if we wish to select objects in the scene we will set the shading mode to 'texture' instead of 'render'. By default the model will appear gray/white in texture mode by default. To improve this, bring up the N-tool panel by typing N with the cursor located over the 3D viewport or by selecting View | Properties from the 3D menu. On the toolbar, locate the shading panel and click on 'Multitexture' to change the setting to 'GLSL'. The image should now show non-transparent materials properly (Figure 2).
[[File:ImpExp53.png]]
<center>'''Figure 2'''</center>
In some cases, you might gain additional benefit in displaying materials for the eyes by going to the Object data tab (cube). This is located on the far right properties panel. For each of the transparent assets (eyes, eyelashes, eyebrows, and hair) select the Display panel and check Transparency
[[File:ImpExp54.png]]
<center>'''Figure 3: Object data'''</center>
[[File:ImpExp56.png]]
<center>'''Figure 4'''</center>
[[File:ImpExp57.png]]
<center>'''Figure 5'''</center>
[[File:ImpExp55.png]]
<center>'''Figure 6: Imported file as viewed in Blender 3D viepowt with Object mode and solid shading'''</center>
64e5b006d4b82799f59311e46289998b340b1245
441
439
2015-08-17T12:52:25Z
Robbaer
12
/* Importing a MakeHuman Collada File */
wikitext
text/x-wiki
== Introduction ==
We will use the file created in the “Illustrating the Export Process for Subsequent Import” section.
The MakeHuman export settings used when targeting Blender import should include setting the scale units to meters. Blender is capable of importing either Collada (.dae) format or Autodesk FBX format files. The import results and handling are quite similar regardless of which you choose to use, and both will require similar fixes for transparent assets on the eyes, eyebrows, eyelashes, and hair. Collada files are text based, and thus, are often quite large. Makehuman assets with textures will be exported with those textures saved in a folder named "textures" in the same folder as the parent folder. By default, on Windows If you move the collada file to a new computer or directory, you must move the "textures" folder to that same folder. By default the exported file will be found in ~/makehuman/v1/exports/ (where ~ is the user home directory).
Blender can import only binary FBX files at present, so ideally, binary would be checked for MakeHuman FBX export. <nowiki>[RWB Note: As of this writing there are still some issues with direct FBX binary export, but those are expected to be repaired going forward. In the meantime, a viable workaround for those wanting to use FBX format is to export an ASCII FBX file, convert it with the Autodesk FBX converter, and import it into Blender]</nowiki>.
Because of the ASCII --> binary issues that currently exist with the FBX format, we will describe moving assets from MakeHuman to Blender using collada (.dae) format. When exporting for subsequent import into blender, the best choice of export scales is usually meters.
== Importing a MakeHuman Collada File ==
The collada file is imported into Blender using the File | Import menu and choosing collada. The default settings at the bottomof the left, T-tool panel will generally not need to be altered.
Once imported the file is likely to appear gray in the 3D viewport when in object mode and shading set to solid (Figure 1, left panel). If shading is set to rendered with blender internal (BI) selected in the render drop down menu, the image will show the materials for many assets, but the eyes, eyebrows, eyelashes, and hair which contain transparent texture maps will not render properly.
[[File:ImpExp52.png]]
<center>'''Figure 1: Imported file as viewed in Blender 3D viepowt with Object mode and "solid" or "render" mode shading'''</center>
More often if we wish to select objects in the scene we will set the shading mode to 'texture' instead of 'render'. By default the model will appear gray/white in texture mode by default. To improve this, bring up the N-tool panel by typing N with the cursor located over the 3D viewport or by selecting View | Properties from the 3D menu. On the toolbar, locate the shading panel and click on 'Multitexture' to change the setting to 'GLSL'. The image should now show non-transparent materials properly (Figure 2).
[[File:ImpExp53.png]]
<center>'''Figure 2'''</center>
[[File:ImpExp55.png]]
<center>'''Figure 3'''</center>
[[File:ImpExp56.png]]
<center>'''Figure 4'''</center>
[[File:ImpExp57.png]]
<center>'''Figure 5'''</center>
[[File:ImpExp55.png]]
<center>'''Figure 6: Imported file as viewed in Blender 3D viepowt with Object mode and solid shading'''</center>
8b3107b1e68dc7304ae8162344fdaadda75e8eb8
439
436
2015-08-17T00:55:26Z
Robbaer
12
/* Importing a MakeHuman Collada File */
wikitext
text/x-wiki
== Introduction ==
We will use the file created in the “Illustrating the Export Process for Subsequent Import” section.
The MakeHuman export settings used when targeting Blender import should include setting the scale units to meters. Blender is capable of importing either Collada (.dae) format or Autodesk FBX format files. The import results and handling are quite similar regardless of which you choose to use, and both will require similar fixes for transparent assets on the eyes, eyebrows, eyelashes, and hair. Collada files are text based, and thus, are often quite large. Makehuman assets with textures will be exported with those textures saved in a folder named "textures" in the same folder as the parent folder. By default, on Windows If you move the collada file to a new computer or directory, you must move the "textures" folder to that same folder. By default the exported file will be found in ~/makehuman/v1/exports/ (where ~ is the user home directory).
Blender can import only binary FBX files at present, so ideally, binary would be checked for MakeHuman FBX export. <nowiki>[RWB Note: As of this writing there are still some issues with direct FBX binary export, but those are expected to be repaired going forward. In the meantime, a viable workaround for those wanting to use FBX format is to export an ASCII FBX file, convert it with the Autodesk FBX converter, and import it into Blender]</nowiki>.
Because of the ASCII --> binary issues that currently exist with the FBX format, we will describe moving assets from MakeHuman to Blender using collada (.dae) format. When exporting for subsequent import into blender, the best choice of export scales is usually meters.
== Importing a MakeHuman Collada File ==
The collada file is imported into Blender using the File | Import menu and choosing collada. The default settings at the bottom left tool panel should generally not be altered.
Once imported the file is likely to appear gray in the 3D viewport.
[[File:ImpExp52.png]]
<center>'''Figure 1: Imported file as viewed in Blender 3D viepowt with Object mode and solid shading'''</center>
[[File:ImpExp53.png]]
<center>'''Figure 2'''</center>
[[File:ImpExp55.png]]
<center>'''Figure 3'''</center>
[[File:ImpExp56.png]]
<center>'''Figure 4'''</center>
[[File:ImpExp57.png]]
<center>'''Figure 5'''</center>
[[File:ImpExp55.png]]
<center>'''Figure 6: Imported file as viewed in Blender 3D viepowt with Object mode and solid shading'''</center>
2a3fb19c0e90afb409bb176e9ed43e28c73d1290
436
435
2015-08-17T00:39:46Z
Robbaer
12
/* Importing a MakeHuman Collada File */
wikitext
text/x-wiki
== Introduction ==
We will use the file created in the “Illustrating the Export Process for Subsequent Import” section.
The MakeHuman export settings used when targeting Blender import should include setting the scale units to meters. Blender is capable of importing either Collada (.dae) format or Autodesk FBX format files. The import results and handling are quite similar regardless of which you choose to use, and both will require similar fixes for transparent assets on the eyes, eyebrows, eyelashes, and hair. Collada files are text based, and thus, are often quite large. Makehuman assets with textures will be exported with those textures saved in a folder named "textures" in the same folder as the parent folder. By default, on Windows If you move the collada file to a new computer or directory, you must move the "textures" folder to that same folder. By default the exported file will be found in ~/makehuman/v1/exports/ (where ~ is the user home directory).
Blender can import only binary FBX files at present, so ideally, binary would be checked for MakeHuman FBX export. <nowiki>[RWB Note: As of this writing there are still some issues with direct FBX binary export, but those are expected to be repaired going forward. In the meantime, a viable workaround for those wanting to use FBX format is to export an ASCII FBX file, convert it with the Autodesk FBX converter, and import it into Blender]</nowiki>.
Because of the ASCII --> binary issues that currently exist with the FBX format, we will describe moving assets from MakeHuman to Blender using collada (.dae) format. When exporting for subsequent import into blender, the best choice of export scales is usually meters.
== Importing a MakeHuman Collada File ==
The collada file is imported into Blender using the File | Import menu and choosing collada. The default settings at the bottom left tool panel should generally not be altered.
Once imported the file is likely to appear gray in the 3D viewport.
[[File:ImpExp52.png]]
<center>'''Figure 1: Imported file as viewed in Blender 3D viepowt with Object mode and solid shading'''</center>
[[File:ImpExp53.png]] [[File:ImpExp54.png]]
<center>'''Figure 2'''</center>
[[File:ImpExp55.png]]
<center>'''Figure 3'''</center>
[[File:ImpExp56.png]]
<center>'''Figure 4'''</center>
[[File:ImpExp57.png]]
<center>'''Figure 5'''</center>
[[File:ImpExp55.png]]
<center>'''Figure 6: Imported file as viewed in Blender 3D viepowt with Object mode and solid shading'''</center>
4d54dd6e1dd715ffedc07599ebc4eb2b5450d393
435
434
2015-08-17T00:31:47Z
Robbaer
12
/* Importing a MakeHuman Collada File */
wikitext
text/x-wiki
== Introduction ==
We will use the file created in the “Illustrating the Export Process for Subsequent Import” section.
The MakeHuman export settings used when targeting Blender import should include setting the scale units to meters. Blender is capable of importing either Collada (.dae) format or Autodesk FBX format files. The import results and handling are quite similar regardless of which you choose to use, and both will require similar fixes for transparent assets on the eyes, eyebrows, eyelashes, and hair. Collada files are text based, and thus, are often quite large. Makehuman assets with textures will be exported with those textures saved in a folder named "textures" in the same folder as the parent folder. By default, on Windows If you move the collada file to a new computer or directory, you must move the "textures" folder to that same folder. By default the exported file will be found in ~/makehuman/v1/exports/ (where ~ is the user home directory).
Blender can import only binary FBX files at present, so ideally, binary would be checked for MakeHuman FBX export. <nowiki>[RWB Note: As of this writing there are still some issues with direct FBX binary export, but those are expected to be repaired going forward. In the meantime, a viable workaround for those wanting to use FBX format is to export an ASCII FBX file, convert it with the Autodesk FBX converter, and import it into Blender]</nowiki>.
Because of the ASCII --> binary issues that currently exist with the FBX format, we will describe moving assets from MakeHuman to Blender using collada (.dae) format. When exporting for subsequent import into blender, the best choice of export scales is usually meters.
== Importing a MakeHuman Collada File ==
The collada file is imported into Blender using the File | Import menu and choosing collada. The default settings at the bottom left tool panel should generally not be altered.
Once imported the file is likely to appear gray in the 3D viewport.
[[File:ImpExp50.png]]
<center>'''Figure 1: Imported file as viewed in Blender 3D viepowt with Object mode and solid shading'''</center>
[[File:ImpExp51.png]]
<center>'''Figure 2'''</center>
[[File:ImpExp52.png]]
<center>'''Figure 3'''</center>
[[File:ImpExp53.png]]
<center>'''Figure 4'''</center>
[[File:ImpExp54.png]]
<center>'''Figure 5: Imported file as viewed in Blender 3D viepowt with Object mode and solid shading'''</center>
[[File:ImpExp55.png]]
<center>'''Figure 6: Imported file as viewed in Blender 3D viepowt with Object mode and solid shading'''</center>
e5cb50af1aa38172a422089400d3c80acd189230
434
433
2015-08-17T00:26:17Z
Robbaer
12
/* Importing a MakeHuman Collada File */
wikitext
text/x-wiki
== Introduction ==
We will use the file created in the “Illustrating the Export Process for Subsequent Import” section.
The MakeHuman export settings used when targeting Blender import should include setting the scale units to meters. Blender is capable of importing either Collada (.dae) format or Autodesk FBX format files. The import results and handling are quite similar regardless of which you choose to use, and both will require similar fixes for transparent assets on the eyes, eyebrows, eyelashes, and hair. Collada files are text based, and thus, are often quite large. Makehuman assets with textures will be exported with those textures saved in a folder named "textures" in the same folder as the parent folder. By default, on Windows If you move the collada file to a new computer or directory, you must move the "textures" folder to that same folder. By default the exported file will be found in ~/makehuman/v1/exports/ (where ~ is the user home directory).
Blender can import only binary FBX files at present, so ideally, binary would be checked for MakeHuman FBX export. <nowiki>[RWB Note: As of this writing there are still some issues with direct FBX binary export, but those are expected to be repaired going forward. In the meantime, a viable workaround for those wanting to use FBX format is to export an ASCII FBX file, convert it with the Autodesk FBX converter, and import it into Blender]</nowiki>.
Because of the ASCII --> binary issues that currently exist with the FBX format, we will describe moving assets from MakeHuman to Blender using collada (.dae) format. When exporting for subsequent import into blender, the best choice of export scales is usually meters.
== Importing a MakeHuman Collada File ==
The collada file is imported into Blender using the File | Import menu and choosing collada. The default settings at the bottom left tool panel should generally not be altered.
Once imported the file is likely to appear gray in the 3D viewport.
Figure 1. Imported file
cad0a06f9ae101a94b321ba1ae141aea2dc10363
433
352
2015-08-17T00:20:59Z
Robbaer
12
/* Introduction */
wikitext
text/x-wiki
== Introduction ==
We will use the file created in the “Illustrating the Export Process for Subsequent Import” section.
The MakeHuman export settings used when targeting Blender import should include setting the scale units to meters. Blender is capable of importing either Collada (.dae) format or Autodesk FBX format files. The import results and handling are quite similar regardless of which you choose to use, and both will require similar fixes for transparent assets on the eyes, eyebrows, eyelashes, and hair. Collada files are text based, and thus, are often quite large. Makehuman assets with textures will be exported with those textures saved in a folder named "textures" in the same folder as the parent folder. By default, on Windows If you move the collada file to a new computer or directory, you must move the "textures" folder to that same folder. By default the exported file will be found in ~/makehuman/v1/exports/ (where ~ is the user home directory).
Blender can import only binary FBX files at present, so ideally, binary would be checked for MakeHuman FBX export. <nowiki>[RWB Note: As of this writing there are still some issues with direct FBX binary export, but those are expected to be repaired going forward. In the meantime, a viable workaround for those wanting to use FBX format is to export an ASCII FBX file, convert it with the Autodesk FBX converter, and import it into Blender]</nowiki>.
Because of the ASCII --> binary issues that currently exist with the FBX format, we will describe moving assets from MakeHuman to Blender using collada (.dae) format. When exporting for subsequent import into blender, the best choice of export scales is usually meters.
== Importing a MakeHuman Collada File ==
f7a38f54ae1f09aa478549a7f2c63c8338668f1c
352
351
2015-08-02T21:41:16Z
Robbaer
12
wikitext
text/x-wiki
== Introduction ==
We will use the file created in the “Illustrating the Export Process for Subsequent Import” section.
The MakeHuman export settings used when targeting Blender import should include setting the scale units to meters. Blender is capable of importing either Collada (.dae) format or Autodesk FBX format files. The import results and handling are quite similar regardless of which you choose to use, and both will require similar fixes for transparent assets on the eyes, eyebrows, eyelashes, and hair. Collada files are text based, and thus, are often quite large. Makehuman assets with textures will be exported with those textures saved in a folder named "textures" in the same folder as the parent folder. By default, on Windows If you move the collada file to a new computer or directory, you must move the "textures" folder to that same folder. By default the exported file will be found in ~/makehuman/v1/exports/ (where ~ is the user home directory).
Blender can import only binary FBX files at present, so ideally, binary would be checked for MakeHuman FBX export. <nowiki>[RWB Note: As of this writing there are still some issues with direct FBX binary export, but those are expected to be repaired going forward. In the meantime, a viable workaround for those wanting to use FBX format is to export an ASCII FBX file, convert it with the Autodesk FBX converter, and import it into Blender]</nowiki>.
Because of the ASCII --> binary issues that currently exist with the FBX format, we will describe moving assets from MakeHuman to Blender using Collada (.dae) format.
== Importing a MakeHuman Collada File ==
d6690f057f469f953d035399d5b6d440d6924a43
351
2015-08-02T21:39:59Z
Robbaer
12
Created page with "== Introduction == We will use the file created in the “Illustrating the Export Process for Subsequent Import” section. The MakeHuman export settings used when targeting..."
wikitext
text/x-wiki
== Introduction ==
We will use the file created in the “Illustrating the Export Process for Subsequent Import” section.
The MakeHuman export settings used when targeting Blender import should include setting the scale units to meters. Blender is capable of importing either Collada (.dae) format or Autodesk FBX format files. The import results and handling are quite similar regardless of which you choose to use, and both will require similar fixes for transparent assets on the eyes, eyebrows, eyelashes, and hair. Collada files are text based, and thus, are often quite large. Makehuman assets with textures will be exported with those textures saved in a folder named "textures" in the same folder as the parent folder. By default, on Windows If you move the collada file to a new computer or directory, you must move the "textures" folder to that same folder. By default the exported file will be found in ~/makehuman/v1/exports/ (where ~ is the user home directory).
Blender can import only binary FBX files at present, so ideally, binary would be checked for MakeHuman FBX export. <nowiki>[RWB Note: As of this writing there are still some issues with direct FBX binary export, but those are expected to be repaired going forward. In the meantime, a viable workaround for those wanting to use FBX format is to export an ASCII FBX file, convert it with the Autodesk FBX converter, and import it into Blender]</nowiki>.
Because of the ASCII --> binary issues that currently exist with the FBX format, we will describe moving assets from MakeHuman to Blender using Collada (.dae) format.
cb6cbc2b0b8f0542580bd020100e0e2fccdebe59
Releases
0
216
1960
1928
2020-12-27T15:12:43Z
Joepal
14
wikitext
text/x-wiki
Note that this page was started at the release of 1.1.0 and does not contain information about historical releases. If anyone want to bother adding these, they're welcome to it.
== Releases in the 12x series ==
Releases in this series is called "MakeHuman community" (contrary to just "MakeHuman" in the 1.1.x series), as they also bundle community content and community plugins.
* [[Releases:120mac|1.2.0 for MacOS]] (released 2020-12-27)
* [[Releases:120|1.2.0 final]] (released 2020-11-06)
== Releases in the 11x series ==
* [[Releases:111|1.1.1]] (released 2016-03-05)
* [[Releases:110|1.1.0]] (released 2016-05-14)
== Old alphas and betas ==
* [[Releases:120b2|1.2.0 beta 2]] (released 2020-07-27)
* [[Releases:120b1|1.2.0 beta 1]] (released 2020-05-03)
* [[Releases:120a4|1.2.0 alpha 4]] (released 2019-12-15)
* [[Releases:120a3|1.2.0 alpha 3]] (released 2019-03-19)
* [[Releases:120a2|1.2.0 alpha 2]] (released 2018-12-10)
* [[Releases:120a1|1.2.0 alpha 1]] (released 2018-11-20)
28c301de7d190abf89614384e25da790f4f697ff
1928
1927
2020-11-06T12:37:16Z
Joepal
14
wikitext
text/x-wiki
Note that this page was started at the release of 1.1.0 and does not contain information about historical releases. If anyone want to bother adding these, they're welcome to it.
== Releases in the 12x series ==
Releases in this series is called "MakeHuman community" (contrary to just "MakeHuman" in the 1.1.x series), as they also bundle community content and community plugins.
* [[Releases:120|1.2.0 final]] (released 2020-11-06)
== Releases in the 11x series ==
* [[Releases:111|1.1.1]] (released 2016-03-05)
* [[Releases:110|1.1.0]] (released 2016-05-14)
== Old alphas and betas ==
* [[Releases:120b2|1.2.0 beta 2]] (released 2020-07-27)
* [[Releases:120b1|1.2.0 beta 1]] (released 2020-05-03)
* [[Releases:120a4|1.2.0 alpha 4]] (released 2019-12-15)
* [[Releases:120a3|1.2.0 alpha 3]] (released 2019-03-19)
* [[Releases:120a2|1.2.0 alpha 2]] (released 2018-12-10)
* [[Releases:120a1|1.2.0 alpha 1]] (released 2018-11-20)
ed53aebc65186ec28efa43b6d992288965694474
1927
1887
2020-11-06T12:36:40Z
Joepal
14
wikitext
text/x-wiki
Note that this page was started at the release of 1.1.0 and does not contain information about historical releases. If anyone want to bother adding these, they're welcome to it.
== Releases in the 12x series ==
Releases in this series is called "MakeHuman community" (contrary to just "MakeHuman" in the 1.1.x series), as they also bundle community content and community plugins.
* [[Releases:120|1.2.0 final]] (released 2020-11-06)
* [[Releases:120b2|1.2.0 beta 2]] (released 2020-07-27)
* [[Releases:120b1|1.2.0 beta 1]] (released 2020-05-03)
* [[Releases:120a4|1.2.0 alpha 4]] (released 2019-12-15)
* [[Releases:120a3|1.2.0 alpha 3]] (released 2019-03-19)
* [[Releases:120a2|1.2.0 alpha 2]] (released 2018-12-10)
* [[Releases:120a1|1.2.0 alpha 1]] (released 2018-11-20)
== Releases in the 11x series ==
* [[Releases:111|1.1.1]] (released 2016-03-05)
* [[Releases:110|1.1.0]] (released 2016-05-14)
90ee339273f682cf1b0d63a69c40d73ebc2e4bb6
1887
1878
2020-10-25T11:51:21Z
Joepal
14
/* Releases in the 12x series */
wikitext
text/x-wiki
Note that this page was started at the release of 1.1.0 and does not contain information about historical releases. If anyone want to bother adding these, they're welcome to it.
== Releases in the 12x series ==
Releases in this series is called "MakeHuman community" (contrary to just "MakeHuman" in the 1.1.x series), as they also bundle community content and community plugins.
* [[Releases:120|1.2.0 final]] (not yet released)
* [[Releases:120b2|1.2.0 beta 2]] (released 2020-07-27)
* [[Releases:120b1|1.2.0 beta 1]] (released 2020-05-03)
* [[Releases:120a4|1.2.0 alpha 4]] (released 2019-12-15)
* [[Releases:120a3|1.2.0 alpha 3]] (released 2019-03-19)
* [[Releases:120a2|1.2.0 alpha 2]] (released 2018-12-10)
* [[Releases:120a1|1.2.0 alpha 1]] (released 2018-11-20)
== Releases in the 11x series ==
* [[Releases:111|1.1.1]] (released 2016-03-05)
* [[Releases:110|1.1.0]] (released 2016-05-14)
7bc43c30763e5349e8b0bbc300753ffe8e41f46e
1878
1877
2020-09-26T09:42:32Z
Joepal
14
wikitext
text/x-wiki
Note that this page was started at the release of 1.1.0 and does not contain information about historical releases. If anyone want to bother adding these, they're welcome to it.
== Releases in the 12x series ==
Releases in this series is called "MakeHuman community" (contrary to just "MakeHuman" in the 1.1.x series), as they also bundle community content and community plugins.
* [[Releases:120rc1|1.2.0 release candidate 1]] (not yet released)
* [[Releases:120b2|1.2.0 beta 2]] (released 2020-07-27)
* [[Releases:120b1|1.2.0 beta 1]] (released 2020-05-03)
* [[Releases:120a4|1.2.0 alpha 4]] (released 2019-12-15)
* [[Releases:120a3|1.2.0 alpha 3]] (released 2019-03-19)
* [[Releases:120a2|1.2.0 alpha 2]] (released 2018-12-10)
* [[Releases:120a1|1.2.0 alpha 1]] (released 2018-11-20)
== Releases in the 11x series ==
* [[Releases:111|1.1.1]] (released 2016-03-05)
* [[Releases:110|1.1.0]] (released 2016-05-14)
90d94162b7588eddca85cd8a75e6fd11a953a5ff
1877
1845
2020-09-26T09:42:19Z
Joepal
14
/* Releases in the 12x series */
wikitext
text/x-wiki
Note that this page was started at the release of 1.1.0 and does not contain information about historical releases. If anyone want to bother adding these, they're welcome to it.
== Releases in the 12x series ==
Releases in this series is called "MakeHuman community" (contrary to just "MakeHuman" in the 1.1.x series), as they also bundle community content and community plugins.
* [[Releases:120rc|1.2.0 release candidate 1]] (not yet released)
* [[Releases:120b2|1.2.0 beta 2]] (released 2020-07-27)
* [[Releases:120b1|1.2.0 beta 1]] (released 2020-05-03)
* [[Releases:120a4|1.2.0 alpha 4]] (released 2019-12-15)
* [[Releases:120a3|1.2.0 alpha 3]] (released 2019-03-19)
* [[Releases:120a2|1.2.0 alpha 2]] (released 2018-12-10)
* [[Releases:120a1|1.2.0 alpha 1]] (released 2018-11-20)
== Releases in the 11x series ==
* [[Releases:111|1.1.1]] (released 2016-03-05)
* [[Releases:110|1.1.0]] (released 2016-05-14)
4136b6714b1bbaa59f6d7032a87305569483a33c
1845
1791
2020-07-27T11:24:24Z
Joepal
14
wikitext
text/x-wiki
Note that this page was started at the release of 1.1.0 and does not contain information about historical releases. If anyone want to bother adding these, they're welcome to it.
== Releases in the 12x series ==
Releases in this series is called "MakeHuman community" (contrary to just "MakeHuman" in the 1.1.x series), as they also bundle community content and community plugins.
* [[Releases:120b2|1.2.0 beta 2]] (released 2020-07-27)
* [[Releases:120b1|1.2.0 beta 1]] (released 2020-05-03)
* [[Releases:120a4|1.2.0 alpha 4]] (released 2019-12-15)
* [[Releases:120a3|1.2.0 alpha 3]] (released 2019-03-19)
* [[Releases:120a2|1.2.0 alpha 2]] (released 2018-12-10)
* [[Releases:120a1|1.2.0 alpha 1]] (released 2018-11-20)
== Releases in the 11x series ==
* [[Releases:111|1.1.1]] (released 2016-03-05)
* [[Releases:110|1.1.0]] (released 2016-05-14)
e1c22b88762c64839ecf5d802c653089b178fa85
1791
1788
2020-05-22T09:46:58Z
Joepal
14
/* Releases in the 12x series */
wikitext
text/x-wiki
Note that this page was started at the release of 1.1.0 and does not contain information about historical releases. If anyone want to bother adding these, they're welcome to it.
== Releases in the 12x series ==
Releases in this series is called "MakeHuman community" (contrary to just "MakeHuman" in the 1.1.x series), as they also bundle community content and community plugins.
* [[Releases:120b2|1.2.0 beta 2]] (not yet released)
* [[Releases:120b1|1.2.0 beta 1]] (released 2020-05-03)
* [[Releases:120a4|1.2.0 alpha 4]] (released 2019-12-15)
* [[Releases:120a3|1.2.0 alpha 3]] (released 2019-03-19)
* [[Releases:120a2|1.2.0 alpha 2]] (released 2018-12-10)
* [[Releases:120a1|1.2.0 alpha 1]] (released 2018-11-20)
== Releases in the 11x series ==
* [[Releases:111|1.1.1]] (released 2016-03-05)
* [[Releases:110|1.1.0]] (released 2016-05-14)
fc2134e5c8d1c1ffb99c4b53dbef5d87a6c7ec2c
1788
1620
2020-05-03T12:46:39Z
Joepal
14
/* Releases in the 12x series */
wikitext
text/x-wiki
Note that this page was started at the release of 1.1.0 and does not contain information about historical releases. If anyone want to bother adding these, they're welcome to it.
== Releases in the 12x series ==
Releases in this series is called "MakeHuman community" (contrary to just "MakeHuman" in the 1.1.x series), as they also bundle community content and community plugins.
* [[Releases:120b1|1.2.0 beta 1]] (released 2020-05-03)
* [[Releases:120a4|1.2.0 alpha 4]] (released 2019-12-15)
* [[Releases:120a3|1.2.0 alpha 3]] (released 2019-03-19)
* [[Releases:120a2|1.2.0 alpha 2]] (released 2018-12-10)
* [[Releases:120a1|1.2.0 alpha 1]] (released 2018-11-20)
== Releases in the 11x series ==
* [[Releases:111|1.1.1]] (released 2016-03-05)
* [[Releases:110|1.1.0]] (released 2016-05-14)
ec720fdc94026ed17472a74fb7110da4b0e47492
1620
1588
2019-12-02T08:23:51Z
Joepal
14
/* Releases in the 12x series */
wikitext
text/x-wiki
Note that this page was started at the release of 1.1.0 and does not contain information about historical releases. If anyone want to bother adding these, they're welcome to it.
== Releases in the 12x series ==
Releases in this series is called "MakeHuman community" (contrary to just "MakeHuman" in the 1.1.x series), as they also bundle community content and community plugins.
* [[Releases:120b1|1.2.0 beta 1]] (not yet released)
* [[Releases:120a4|1.2.0 alpha 4]] (to be released in december)
* [[Releases:120a3|1.2.0 alpha 3]] (released 2019-03-19)
* [[Releases:120a2|1.2.0 alpha 2]] (released 2018-12-10)
* [[Releases:120a1|1.2.0 alpha 1]] (released 2018-11-20)
== Releases in the 11x series ==
* [[Releases:111|1.1.1]] (released 2016-03-05)
* [[Releases:110|1.1.0]] (released 2016-05-14)
407bb52443dad55ab46d0adf8a39bde7da5d799b
1588
1586
2019-04-07T17:20:57Z
Joepal
14
/* Releases in the 12x series */
wikitext
text/x-wiki
Note that this page was started at the release of 1.1.0 and does not contain information about historical releases. If anyone want to bother adding these, they're welcome to it.
== Releases in the 12x series ==
Releases in this series is called "MakeHuman community" (contrary to just "MakeHuman" in the 1.1.x series), as they also bundle community content and community plugins.
* [[Releases:120b1|1.2.0 beta 1]] (not yet released)
* [[Releases:120a3|1.2.0 alpha 3]] (released 2019-03-19)
* [[Releases:120a2|1.2.0 alpha 2]] (released 2018-12-10)
* [[Releases:120a1|1.2.0 alpha 1]] (released 2018-11-20)
== Releases in the 11x series ==
* [[Releases:111|1.1.1]] (released 2016-03-05)
* [[Releases:110|1.1.0]] (released 2016-05-14)
4e5ff9f7eae66b968233686703aad97ced6f80cc
1586
1570
2019-04-06T20:14:36Z
Polylearn
80
year fix
wikitext
text/x-wiki
Note that this page was started at the release of 1.1.0 and does not contain information about historical releases. If anyone want to bother adding these, they're welcome to it.
== Releases in the 12x series ==
Releases in this series is called "MakeHuman community" (contrary to just "MakeHuman" in the 1.1.x series), as they also bundle community content and community plugins.
* [[Releases:120a3|1.2.0 alpha 3]] (released 2019-03-19)
* [[Releases:120a2|1.2.0 alpha 2]] (released 2018-12-10)
* [[Releases:120a1|1.2.0 alpha 1]] (released 2018-11-20)
== Releases in the 11x series ==
* [[Releases:111|1.1.1]] (released 2016-03-05)
* [[Releases:110|1.1.0]] (released 2016-05-14)
e88ddc37c09e1bde973bd6b1773361ab8b50b112
1570
1545
2019-03-19T17:15:18Z
Joepal
14
/* Releases in the 12x series */
wikitext
text/x-wiki
Note that this page was started at the release of 1.1.0 and does not contain information about historical releases. If anyone want to bother adding these, they're welcome to it.
== Releases in the 12x series ==
Releases in this series is called "MakeHuman community" (contrary to just "MakeHuman" in the 1.1.x series), as they also bundle community content and community plugins.
* [[Releases:120a3|1.2.0 alpha 3]] (released 2018-03-19)
* [[Releases:120a2|1.2.0 alpha 2]] (released 2018-12-10)
* [[Releases:120a1|1.2.0 alpha 1]] (released 2018-11-20)
== Releases in the 11x series ==
* [[Releases:111|1.1.1]] (released 2016-03-05)
* [[Releases:110|1.1.0]] (released 2016-05-14)
0e1fc9a02ed08771b6cbcff9a1a06c933e069f4a
1545
1542
2018-12-18T08:11:47Z
Joepal
14
/* Releases in the 12x series */
wikitext
text/x-wiki
Note that this page was started at the release of 1.1.0 and does not contain information about historical releases. If anyone want to bother adding these, they're welcome to it.
== Releases in the 12x series ==
Releases in this series is called "MakeHuman community" (contrary to just "MakeHuman" in the 1.1.x series), as they also bundle community content and community plugins.
* [[Releases:120a3|1.2.0 alpha 3]] (not yet released)
* [[Releases:120a2|1.2.0 alpha 2]] (released 2018-12-10)
* [[Releases:120a1|1.2.0 alpha 1]] (released 2018-11-20)
== Releases in the 11x series ==
* [[Releases:111|1.1.1]] (released 2016-03-05)
* [[Releases:110|1.1.0]] (released 2016-05-14)
05ac38eeaba49189ab7cdbad676e5986af21f4fa
1542
1528
2018-12-10T12:34:21Z
Joepal
14
/* Releases in the 12x series */
wikitext
text/x-wiki
Note that this page was started at the release of 1.1.0 and does not contain information about historical releases. If anyone want to bother adding these, they're welcome to it.
== Releases in the 12x series ==
Releases in this series is called "MakeHuman community" (contrary to just "MakeHuman" in the 1.1.x series), as they also bundle community content and community plugins.
* [[Releases:120a2|1.2.0 alpha 2]] (released 2018-12-10)
* [[Releases:120a1|1.2.0 alpha 1]] (released 2018-11-20)
== Releases in the 11x series ==
* [[Releases:111|1.1.1]] (released 2016-03-05)
* [[Releases:110|1.1.0]] (released 2016-05-14)
cf4a4150d1219361dde982ed02ddfc9cc01cb68c
1528
1527
2018-11-29T08:41:36Z
Joepal
14
/* Releases in the 12x series */
wikitext
text/x-wiki
Note that this page was started at the release of 1.1.0 and does not contain information about historical releases. If anyone want to bother adding these, they're welcome to it.
== Releases in the 12x series ==
Releases in this series is called "MakeHuman community" (contrary to just "MakeHuman" in the 1.1.x series), as they also bundle community content and community plugins.
* [[Releases:120a2|1.2.0 alpha 2]] (not yet released)
* [[Releases:120a1|1.2.0 alpha 1]] (released 2018-11-20)
== Releases in the 11x series ==
* [[Releases:111|1.1.1]] (released 2016-03-05)
* [[Releases:110|1.1.0]] (released 2016-05-14)
23c692146c1be7a270fda112d946734d1a1a19ae
1527
1525
2018-11-29T08:41:19Z
Joepal
14
/* Releases in the 12x series */
wikitext
text/x-wiki
Note that this page was started at the release of 1.1.0 and does not contain information about historical releases. If anyone want to bother adding these, they're welcome to it.
== Releases in the 12x series ==
Releases in this series is called "MakeHuman community" (contrary to just "MakeHuman" in the 1.1.x series), as they also bundle community content and community plugins.
* [[Releases:120a2|1.2.0 alpha 2]] (not yet released)
* [[Releases:120a1|1.2.0 alpha 1]] Released 2018-11-20
== Releases in the 11x series ==
* [[Releases:111|1.1.1]] (released 2016-03-05)
* [[Releases:110|1.1.0]] (released 2016-05-14)
0b637d41aeef85350703ff4e9640a128b3483aff
1525
1484
2018-11-29T08:39:31Z
Joepal
14
wikitext
text/x-wiki
Note that this page was started at the release of 1.1.0 and does not contain information about historical releases. If anyone want to bother adding these, they're welcome to it.
== Releases in the 12x series ==
Releases in this series is called "MakeHuman community" (contrary to just "MakeHuman" in the 1.1.x series), as they also bundle community content and community plugins.
* [[Releases:120a2|1.2.0 alpha 2]] (not yet released)
* [[Releases:120a1|1.2.0 alpha 1]] (not yet released)
== Releases in the 11x series ==
* [[Releases:111|1.1.1]] (released 2016-03-05)
* [[Releases:110|1.1.0]] (released 2016-05-14)
a4062de5691edcfdd66b63a8d86054b0e6202770
1484
1328
2018-11-05T10:10:23Z
Joepal
14
wikitext
text/x-wiki
Note that this page was started at the release of 1.1.0 and does not contain information about historical releases. If anyone want to bother adding these, they're welcome to it.
== Releases in the 12x series ==
Releases in this series is called "MakeHuman community" (contrary to just "MakeHuman" in the 1.1.x series), as they also bundle community content and community plugins.
* [[Releases:120a1|1.2.0 alpha 1]] (not yet released)
== Releases in the 11x series ==
* [[Releases:111|1.1.1]] (released 2016-03-05)
* [[Releases:110|1.1.0]] (released 2016-05-14)
3fc960b96c0307168a158d7261a9ce863c277514
1328
1296
2017-03-04T08:53:22Z
Joepal
14
/* Releases in the 11x series */
wikitext
text/x-wiki
Note that this page was started at the release of 1.1.0 and does not contain information about historical releases. If anyone want to bother adding these, they're welcome to it.
== Releases in the 11x series ==
* [[Releases:111|1.1.1]] (released 2016-03-05)
* [[Releases:110|1.1.0]] (released 2016-05-14)
d4fb8f2d84bb8ccce8adb3be23425e3962f6f4df
1296
664
2017-02-05T11:28:49Z
Joepal
14
wikitext
text/x-wiki
Note that this page was started at the release of 1.1.0 and does not contain information about historical releases. If anyone want to bother adding these, they're welcome to it.
== Releases in the 11x series ==
* [[Releases:110|1.1.0]] (released 2016-05-14)
* [[Releases:111|1.1.1]] (to be released february-ish)
577e0185eededf2f6a39625eb63f857917534ece
664
618
2016-05-14T14:25:01Z
Joepal
14
wikitext
text/x-wiki
Note that this page was started at the release of 1.1.0 and does not contain information about historical releases. If anyone want to bother adding these, they're welcome to it.
== Releases in the 11x series ==
* [[Releases:110|1.1.0]] (released 2016-05-14)
1da22771bd8e499ec375e3f05adcae2031a0296f
618
617
2016-04-15T09:38:40Z
Joepal
14
wikitext
text/x-wiki
Note that this page was started at the release of 1.1.0 and does not contain information about historical releases. If anyone want to bother adding these, they're welcome to it.
== Releases in the 11x series ==
* [[Releases:110|1.1.0]] (preliminary, currently in RC stage)
3ff1f760c064041708e76f098aef4fa1720c4255
617
2016-04-15T09:38:14Z
Joepal
14
Created page with "Note that this page was started at the release of 1.1.0 and does not contain information about historical releases. If anyone want to bother adding these, they're welcome to i..."
wikitext
text/x-wiki
Note that this page was started at the release of 1.1.0 and does not contain information about historical releases. If anyone want to bother adding these, they're welcome to it.
== Releases in the 11x series ==
* [Releases:110|1.1.0] (preliminary, currently in RC stage)
21449613053287412e82a86a03190f1a00641eda
Releases:110
0
217
665
663
2016-05-16T13:07:18Z
Robbaer
12
/* Errata */
wikitext
text/x-wiki
These are the final release notes for 1.1.0, which was released 2016-05-14.
== Highlights ==
See also the [http://www.makehumancommunity.org/w/images/7/7a/Infographic_110.png release infographic].
* Many bugfixes and stability fixes
* Many targets improved and minor modeling corrections
* Completely new skeleton and posing system, with support for pose loading from BVH, and support for custom weight and proxies
* New pose system with auto-rigging, support for T-pose export, and initial support for special poses like high heel shoes
* New skin library with age variation
* New expression system now based on a face bone rig, including a library with facial expressions.
* Improved topologies/proxies
* FBX export now supports binary FBX and should work for most third-part applications which support FBX
== Important notes ==
If you are currently using 1.0.2, there are some things that may be confusing when upgrading to 1.1.0.
'''Many assets are incompatible:''' If you have a large set of manually added assets such as clothes and targets, please be aware that these may not work as expected with the new release. Targets should mostly work. Version 1.0.2 MHM files should be possible to open, but deprecated proxies and assets may not be available. MHM files made with earlier, unsupported nightly builds may produce very unexpected results. In general, you should test your assets with the new release before trusting everything works as expected.
'''New philosophy in which assets are included per default:''' Previously all existing assets were included with the default distribution. This is no longer so. Instead, a small set of robust, full body clothing choices is supplied by default. In addition, there is now a large online area for community-designed assets, to which everyone is welcome to upload their creations. Some previously included assets have been removed from the default distribution in favor of this area. The online area can be found at http://www.makehumancommunity.org/content/user_contributed_assets.html
'''MHX has been deprecated, MHX2 is a plugin:''' The old MHX format is deprecated. While it still remains in Blender's code base, users are strongly discouraged from using it. The successor is MHX2, which is a plugin which has to be installed for both MakeHuman and Blender (you will most likely want to install exactly the same version in both). More information can be found in [[FAQ:What happened to the MHX export in MH 1.1.x and later?]].
'''Most information about MH, and services around MH, has been moved:''' The server/domain setup has been changed for various legal reasons. The main homepage http://www.makehuman.org is now a skeleton page which mostly include download links. Other services such as forum, bugtracker, wiki and so on has been moved to http://www.makehumancommunity.org. Some links might still not have been updated.
== Errata ==
A few issues have been pushed until later releases. We are aware of these and will fix them later.
* [http://bugtracker.makehumancommunity.org/issues/392 #392] - There are numerous issues with the BHV export
* [http://bugtracker.makehumancommunity.org/issues/899 #899] - FBX export dislikes non-ascii characters
* [http://bugtracker.makehumancommunity.org/issues/1001 #1001] - Collada export produces (skeleton) warnings on Maya import
== Detailed list of changes ==
This is a semi-structured list of changes between 1.0.2 and 1.1.0. The full list of changes (the commit list) [https://bitbucket.org/MakeHuman/makehuman/commits/branch/stable can be found at BitBucket].
=== UI ===
* Drag and drop of .mhm files in makehuman
* Improved text support for long right panel labels
* Nicer looking application icons by using SVG vector graphics (looks better on OSX retina displays)
* Gradient background
* Allow disabling/enabling grid
* Tag filters in all libraries
=== File-Export ===
* Add support for binary FBX exporter
* Added support for optional export of helper geometry and facial pose units
* Added support for specifying bone orientation
* Removed export for old mhx, MD5 and skel formats
=== Modeling ===
* Improved labeling and consistency of modelling sliders
* Add random model generation
* Added nipple point and nipple size sliders
* Added head fat slider
* Added scale depth of parietal side slider
* Added additional sliders for shaping neck and double chin
* Added eye bag sliders
* Added support for laugh lines and dimples
* Add additional sliders controlling chin shape
* Break cheek support into left/right sections
* Add additional sliders to control pectoral and dorsal muscle
* Add additional control of waist position
* Add sliders controlling navel prominence and position
* Added sliders to control shoulder muscle mass
* Add additional sliders controlling upper arm shape
* Additional sliders to control size and muscularity of upper and lower legs
* Additional slider to control lower leg height
* Add separate measure control for knee
=== Geometries ===
* Drop genital proxy support (these have been deferred to the user contributed assets area)
* Improve clothes tagging system
* Include default clothing outfits that clothe upper and lower body without mesh intersections
* Include more and improved hair styles
* Increase the number and richness of default topologies to include generic and muscle phenotypes
* Add additional eyelash choice
=== Materials ===
* Extend included skin materials to middle age and older individuals
* Extend the available choices for eye color
=== Pose Animate ===
* Redesign the entire rigging system for improved mesh control and pose support (2 skeleton system)
* Design basic rigs for new rigging system to support CMU animation and facial posing
* Add a pose tab with selectable poses including a T pose
* Add an expressions tab with 32 selectable facial expressions
* Allow mixing body pose and face pose, if face pose is set override face bones of body pose
* Support modeling while mesh is posed
* Removed specific rigs intended for commercial third part systems. These have been deferred to the user repos.
=== System/code ===
* windows DLL dependency fix
* improvements and caching in proxy libraries for faster asset loading
* binary format for proxy files for faster loading and more compact data
* new fully data-driven modifier system
* rename of targets and modifiers for more consistency
* new skeleton API is much more understandable
* a lot of in-code documentation added
* many code cleanups and improvements
* refactors to improve re-usability of code and facilitate plugin development
* reduction of coupling between components
* makehuman can be started with a .mhm file passed as commandline argument
=== Settings ===
* Add the ability to automatically return MakeHuman to the default settings
822fee2320650b62a128ccc61d29559790664e22
663
656
2016-05-14T14:24:27Z
Joepal
14
wikitext
text/x-wiki
These are the final release notes for 1.1.0, which was released 2016-05-14.
== Highlights ==
See also the [http://www.makehumancommunity.org/w/images/7/7a/Infographic_110.png release infographic].
* Many bugfixes and stability fixes
* Many targets improved and minor modeling corrections
* Completely new skeleton and posing system, with support for pose loading from BVH, and support for custom weight and proxies
* New pose system with auto-rigging, support for T-pose export, and initial support for special poses like high heel shoes
* New skin library with age variation
* New expression system now based on a face bone rig, including a library with facial expressions.
* Improved topologies/proxies
* FBX export now supports binary FBX and should work for most third-part applications which support FBX
== Important notes ==
If you are currently using 1.0.2, there are some things that may be confusing when upgrading to 1.1.0.
'''Many assets are incompatible:''' If you have a large set of manually added assets such as clothes and targets, please be aware that these may not work as expected with the new release. Targets should mostly work. Version 1.0.2 MHM files should be possible to open, but deprecated proxies and assets may not be available. MHM files made with earlier, unsupported nightly builds may produce very unexpected results. In general, you should test your assets with the new release before trusting everything works as expected.
'''New philosophy in which assets are included per default:''' Previously all existing assets were included with the default distribution. This is no longer so. Instead, a small set of robust, full body clothing choices is supplied by default. In addition, there is now a large online area for community-designed assets, to which everyone is welcome to upload their creations. Some previously included assets have been removed from the default distribution in favor of this area. The online area can be found at http://www.makehumancommunity.org/content/user_contributed_assets.html
'''MHX has been deprecated, MHX2 is a plugin:''' The old MHX format is deprecated. While it still remains in Blender's code base, users are strongly discouraged from using it. The successor is MHX2, which is a plugin which has to be installed for both MakeHuman and Blender (you will most likely want to install exactly the same version in both). More information can be found in [[FAQ:What happened to the MHX export in MH 1.1.x and later?]].
'''Most information about MH, and services around MH, has been moved:''' The server/domain setup has been changed for various legal reasons. The main homepage http://www.makehuman.org is now a skeleton page which mostly include download links. Other services such as forum, bugtracker, wiki and so on has been moved to http://www.makehumancommunity.org. Some links might still not have been updated.
== Errata ==
A few issues have been pushed until later releases. We are aware of these and will fix them later.
* [http://bugtracker.makehumancommunity.org/issues/392 #392] - There are numerous issues with the BHV export
* [http://bugtracker.makehumancommunity.org/issues/899 #899] - FBX export dislikes non-ascii characters
* [http://bugtracker.makehumancommunity.org/issues/945 #945] - Increasing eye bag slider breaks armature
* [http://bugtracker.makehumancommunity.org/issues/1001 #1001] - Collada export produces (skeleton) warnings on Maya import
== Detailed list of changes ==
This is a semi-structured list of changes between 1.0.2 and 1.1.0. The full list of changes (the commit list) [https://bitbucket.org/MakeHuman/makehuman/commits/branch/stable can be found at BitBucket].
=== UI ===
* Drag and drop of .mhm files in makehuman
* Improved text support for long right panel labels
* Nicer looking application icons by using SVG vector graphics (looks better on OSX retina displays)
* Gradient background
* Allow disabling/enabling grid
* Tag filters in all libraries
=== File-Export ===
* Add support for binary FBX exporter
* Added support for optional export of helper geometry and facial pose units
* Added support for specifying bone orientation
* Removed export for old mhx, MD5 and skel formats
=== Modeling ===
* Improved labeling and consistency of modelling sliders
* Add random model generation
* Added nipple point and nipple size sliders
* Added head fat slider
* Added scale depth of parietal side slider
* Added additional sliders for shaping neck and double chin
* Added eye bag sliders
* Added support for laugh lines and dimples
* Add additional sliders controlling chin shape
* Break cheek support into left/right sections
* Add additional sliders to control pectoral and dorsal muscle
* Add additional control of waist position
* Add sliders controlling navel prominence and position
* Added sliders to control shoulder muscle mass
* Add additional sliders controlling upper arm shape
* Additional sliders to control size and muscularity of upper and lower legs
* Additional slider to control lower leg height
* Add separate measure control for knee
=== Geometries ===
* Drop genital proxy support (these have been deferred to the user contributed assets area)
* Improve clothes tagging system
* Include default clothing outfits that clothe upper and lower body without mesh intersections
* Include more and improved hair styles
* Increase the number and richness of default topologies to include generic and muscle phenotypes
* Add additional eyelash choice
=== Materials ===
* Extend included skin materials to middle age and older individuals
* Extend the available choices for eye color
=== Pose Animate ===
* Redesign the entire rigging system for improved mesh control and pose support (2 skeleton system)
* Design basic rigs for new rigging system to support CMU animation and facial posing
* Add a pose tab with selectable poses including a T pose
* Add an expressions tab with 32 selectable facial expressions
* Allow mixing body pose and face pose, if face pose is set override face bones of body pose
* Support modeling while mesh is posed
* Removed specific rigs intended for commercial third part systems. These have been deferred to the user repos.
=== System/code ===
* windows DLL dependency fix
* improvements and caching in proxy libraries for faster asset loading
* binary format for proxy files for faster loading and more compact data
* new fully data-driven modifier system
* rename of targets and modifiers for more consistency
* new skeleton API is much more understandable
* a lot of in-code documentation added
* many code cleanups and improvements
* refactors to improve re-usability of code and facilitate plugin development
* reduction of coupling between components
* makehuman can be started with a .mhm file passed as commandline argument
=== Settings ===
* Add the ability to automatically return MakeHuman to the default settings
3dabef38cce2e019b9163b3071bf5b95c844e072
656
655
2016-05-12T11:25:13Z
Joepal
14
Protected "[[Releases:110]]": Release notes are frozen ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))
wikitext
text/x-wiki
These are the final release notes for 1.1.0, which was released 2016-05-14.
== Highlights ==
See also the [http://www.makehumancommunity.org/w/images/7/7a/Infographic_110.png release infographic].
* Many bugfixes and stability fixes
* Many targets improved and minor modeling corrections
* Completely new skeleton and posing system, with support for pose loading from BVH, and support for custom weight and proxies
* New pose system with auto-rigging, support for T-pose export, and initial support for special poses like high heel shoes
* New skin library with age variation
* New expression system now based on a face bone rig, including a library with facial expressions.
* Improved topologies/proxies
* FBX export now supports binary FBX and should work for most third-part applications which support FBX
== Important notes ==
If you are currently using 1.0.2, there are some things that may be confusing when upgrading to 1.1.0.
'''Many assets are incompatible:''' If you have a large set of manually added assets such as clothes and targets, please be aware that these may not work as expected with the new release. Targets should mostly work. Version 1.0.2 MHM files should be possible to open, but deprecated proxies and assets may not be available. MHM files made with earlier, unsupported nightly builds may produce very unexpected results. In general, you should test your assets with the new release before trusting everything works as expected.
'''New philosophy in which assets are included per default:''' Previously all existing assets were included with the default distribution. This is no longer so. Instead, a small set of robust, full body clothing choices is supplied by default. In addition, there is now a large online area for community-designed assets, to which everyone is welcome to upload their creations. Some previously included assets have been removed from the default distribution in favor of this area. The online area can be found at http://www.makehumancommunity.org/content/user_contributed_assets.html
'''MHX has been deprecated, MHX2 is a plugin:''' The old MHX format is deprecated. While it still remains in Blender's code base, users are strongly discouraged from using it. The successor is MHX2, which is a plugin which has to be installed for both MakeHuman and Blender (you will most likely want to install exactly the same version in both). More information can be found in [[FAQ:What happened to the MHX export in MH 1.1.x and later?]].
'''Most information about MH, and services around MH, has been moved:''' The server/domain setup has been changed for various legal reasons. The main homepage http://www.makehuman.org is now a skeleton page which mostly include download links. Other services such as forum, bugtracker, wiki and so on has been moved to http://www.makehumancommunity.org. Some links might still not have been updated.
== Errata ==
A few issues have been pushed until later releases. We are aware of these and will fix them later.
* [http://bugtracker.makehumancommunity.org/issues/392 #392] - There are numerous issues with the BHV export
* [http://bugtracker.makehumancommunity.org/issues/899 #899] - FBX export dislikes non-ascii characters
* [http://bugtracker.makehumancommunity.org/issues/945 #945] - Increasing eye bag slider breaks armature
* [http://bugtracker.makehumancommunity.org/issues/983 #983] - Some sliders are still missing icons (this has no effect on functionality, it just a visual glitch)
* [http://bugtracker.makehumancommunity.org/issues/1001 #1001] - Collada export produces (skeleton) warnings on Maya import
== Detailed list of changes ==
This is a semi-structured list of changes between 1.0.2 and 1.1.0. The full list of changes (the commit list) [https://bitbucket.org/MakeHuman/makehuman/commits/branch/stable can be found at BitBucket].
=== UI ===
* Drag and drop of .mhm files in makehuman
* Improved text support for long right panel labels
* Nicer looking application icons by using SVG vector graphics (looks better on OSX retina displays)
* Gradient background
* Allow disabling/enabling grid
* Tag filters in all libraries
=== File-Export ===
* Add support for binary FBX exporter
* Added support for optional export of helper geometry and facial pose units
* Added support for specifying bone orientation
* Removed export for old mhx, MD5 and skel formats
=== Modeling ===
* Improved labeling and consistency of modelling sliders
* Add random model generation
* Added nipple point and nipple size sliders
* Added head fat slider
* Added scale depth of parietal side slider
* Added additional sliders for shaping neck and double chin
* Added eye bag sliders
* Added support for laugh lines and dimples
* Add additional sliders controlling chin shape
* Break cheek support into left/right sections
* Add additional sliders to control pectoral and dorsal muscle
* Add additional control of waist position
* Add sliders controlling navel prominence and position
* Added sliders to control shoulder muscle mass
* Add additional sliders controlling upper arm shape
* Additional sliders to control size and muscularity of upper and lower legs
* Additional slider to control lower leg height
* Add separate measure control for knee
=== Geometries ===
* Drop genital proxy support (these have been deferred to the user contributed assets area)
* Improve clothes tagging system
* Include default clothing outfits that clothe upper and lower body without mesh intersections
* Include more and improved hair styles
* Increase the number and richness of default topologies to include generic and muscle phenotypes
* Add additional eyelash choice
=== Materials ===
* Extend included skin materials to middle age and older individuals
* Extend the available choices for eye color
=== Pose Animate ===
* Redesign the entire rigging system for improved mesh control and pose support (2 skeleton system)
* Design basic rigs for new rigging system to support CMU animation and facial posing
* Add a pose tab with selectable poses including a T pose
* Add an expressions tab with 32 selectable facial expressions
* Allow mixing body pose and face pose, if face pose is set override face bones of body pose
* Support modeling while mesh is posed
* Removed specific rigs intended for commercial third part systems. These have been deferred to the user repos.
=== System/code ===
* windows DLL dependency fix
* improvements and caching in proxy libraries for faster asset loading
* binary format for proxy files for faster loading and more compact data
* new fully data-driven modifier system
* rename of targets and modifiers for more consistency
* new skeleton API is much more understandable
* a lot of in-code documentation added
* many code cleanups and improvements
* refactors to improve re-usability of code and facilitate plugin development
* reduction of coupling between components
* makehuman can be started with a .mhm file passed as commandline argument
=== Settings ===
* Add the ability to automatically return MakeHuman to the default settings
eaf6234db67e130a8697cb7b3a529de2b5209ee9
655
654
2016-05-12T11:20:47Z
Joepal
14
/* Pose Animate */
wikitext
text/x-wiki
These are the final release notes for 1.1.0, which was released 2016-05-14.
== Highlights ==
See also the [http://www.makehumancommunity.org/w/images/7/7a/Infographic_110.png release infographic].
* Many bugfixes and stability fixes
* Many targets improved and minor modeling corrections
* Completely new skeleton and posing system, with support for pose loading from BVH, and support for custom weight and proxies
* New pose system with auto-rigging, support for T-pose export, and initial support for special poses like high heel shoes
* New skin library with age variation
* New expression system now based on a face bone rig, including a library with facial expressions.
* Improved topologies/proxies
* FBX export now supports binary FBX and should work for most third-part applications which support FBX
== Important notes ==
If you are currently using 1.0.2, there are some things that may be confusing when upgrading to 1.1.0.
'''Many assets are incompatible:''' If you have a large set of manually added assets such as clothes and targets, please be aware that these may not work as expected with the new release. Targets should mostly work. Version 1.0.2 MHM files should be possible to open, but deprecated proxies and assets may not be available. MHM files made with earlier, unsupported nightly builds may produce very unexpected results. In general, you should test your assets with the new release before trusting everything works as expected.
'''New philosophy in which assets are included per default:''' Previously all existing assets were included with the default distribution. This is no longer so. Instead, a small set of robust, full body clothing choices is supplied by default. In addition, there is now a large online area for community-designed assets, to which everyone is welcome to upload their creations. Some previously included assets have been removed from the default distribution in favor of this area. The online area can be found at http://www.makehumancommunity.org/content/user_contributed_assets.html
'''MHX has been deprecated, MHX2 is a plugin:''' The old MHX format is deprecated. While it still remains in Blender's code base, users are strongly discouraged from using it. The successor is MHX2, which is a plugin which has to be installed for both MakeHuman and Blender (you will most likely want to install exactly the same version in both). More information can be found in [[FAQ:What happened to the MHX export in MH 1.1.x and later?]].
'''Most information about MH, and services around MH, has been moved:''' The server/domain setup has been changed for various legal reasons. The main homepage http://www.makehuman.org is now a skeleton page which mostly include download links. Other services such as forum, bugtracker, wiki and so on has been moved to http://www.makehumancommunity.org. Some links might still not have been updated.
== Errata ==
A few issues have been pushed until later releases. We are aware of these and will fix them later.
* [http://bugtracker.makehumancommunity.org/issues/392 #392] - There are numerous issues with the BHV export
* [http://bugtracker.makehumancommunity.org/issues/899 #899] - FBX export dislikes non-ascii characters
* [http://bugtracker.makehumancommunity.org/issues/945 #945] - Increasing eye bag slider breaks armature
* [http://bugtracker.makehumancommunity.org/issues/983 #983] - Some sliders are still missing icons (this has no effect on functionality, it just a visual glitch)
* [http://bugtracker.makehumancommunity.org/issues/1001 #1001] - Collada export produces (skeleton) warnings on Maya import
== Detailed list of changes ==
This is a semi-structured list of changes between 1.0.2 and 1.1.0. The full list of changes (the commit list) [https://bitbucket.org/MakeHuman/makehuman/commits/branch/stable can be found at BitBucket].
=== UI ===
* Drag and drop of .mhm files in makehuman
* Improved text support for long right panel labels
* Nicer looking application icons by using SVG vector graphics (looks better on OSX retina displays)
* Gradient background
* Allow disabling/enabling grid
* Tag filters in all libraries
=== File-Export ===
* Add support for binary FBX exporter
* Added support for optional export of helper geometry and facial pose units
* Added support for specifying bone orientation
* Removed export for old mhx, MD5 and skel formats
=== Modeling ===
* Improved labeling and consistency of modelling sliders
* Add random model generation
* Added nipple point and nipple size sliders
* Added head fat slider
* Added scale depth of parietal side slider
* Added additional sliders for shaping neck and double chin
* Added eye bag sliders
* Added support for laugh lines and dimples
* Add additional sliders controlling chin shape
* Break cheek support into left/right sections
* Add additional sliders to control pectoral and dorsal muscle
* Add additional control of waist position
* Add sliders controlling navel prominence and position
* Added sliders to control shoulder muscle mass
* Add additional sliders controlling upper arm shape
* Additional sliders to control size and muscularity of upper and lower legs
* Additional slider to control lower leg height
* Add separate measure control for knee
=== Geometries ===
* Drop genital proxy support (these have been deferred to the user contributed assets area)
* Improve clothes tagging system
* Include default clothing outfits that clothe upper and lower body without mesh intersections
* Include more and improved hair styles
* Increase the number and richness of default topologies to include generic and muscle phenotypes
* Add additional eyelash choice
=== Materials ===
* Extend included skin materials to middle age and older individuals
* Extend the available choices for eye color
=== Pose Animate ===
* Redesign the entire rigging system for improved mesh control and pose support (2 skeleton system)
* Design basic rigs for new rigging system to support CMU animation and facial posing
* Add a pose tab with selectable poses including a T pose
* Add an expressions tab with 32 selectable facial expressions
* Allow mixing body pose and face pose, if face pose is set override face bones of body pose
* Support modeling while mesh is posed
* Removed specific rigs intended for commercial third part systems. These have been deferred to the user repos.
=== System/code ===
* windows DLL dependency fix
* improvements and caching in proxy libraries for faster asset loading
* binary format for proxy files for faster loading and more compact data
* new fully data-driven modifier system
* rename of targets and modifiers for more consistency
* new skeleton API is much more understandable
* a lot of in-code documentation added
* many code cleanups and improvements
* refactors to improve re-usability of code and facilitate plugin development
* reduction of coupling between components
* makehuman can be started with a .mhm file passed as commandline argument
=== Settings ===
* Add the ability to automatically return MakeHuman to the default settings
eaf6234db67e130a8697cb7b3a529de2b5209ee9
654
653
2016-05-12T11:20:27Z
Joepal
14
/* Pose Animate */
wikitext
text/x-wiki
These are the final release notes for 1.1.0, which was released 2016-05-14.
== Highlights ==
See also the [http://www.makehumancommunity.org/w/images/7/7a/Infographic_110.png release infographic].
* Many bugfixes and stability fixes
* Many targets improved and minor modeling corrections
* Completely new skeleton and posing system, with support for pose loading from BVH, and support for custom weight and proxies
* New pose system with auto-rigging, support for T-pose export, and initial support for special poses like high heel shoes
* New skin library with age variation
* New expression system now based on a face bone rig, including a library with facial expressions.
* Improved topologies/proxies
* FBX export now supports binary FBX and should work for most third-part applications which support FBX
== Important notes ==
If you are currently using 1.0.2, there are some things that may be confusing when upgrading to 1.1.0.
'''Many assets are incompatible:''' If you have a large set of manually added assets such as clothes and targets, please be aware that these may not work as expected with the new release. Targets should mostly work. Version 1.0.2 MHM files should be possible to open, but deprecated proxies and assets may not be available. MHM files made with earlier, unsupported nightly builds may produce very unexpected results. In general, you should test your assets with the new release before trusting everything works as expected.
'''New philosophy in which assets are included per default:''' Previously all existing assets were included with the default distribution. This is no longer so. Instead, a small set of robust, full body clothing choices is supplied by default. In addition, there is now a large online area for community-designed assets, to which everyone is welcome to upload their creations. Some previously included assets have been removed from the default distribution in favor of this area. The online area can be found at http://www.makehumancommunity.org/content/user_contributed_assets.html
'''MHX has been deprecated, MHX2 is a plugin:''' The old MHX format is deprecated. While it still remains in Blender's code base, users are strongly discouraged from using it. The successor is MHX2, which is a plugin which has to be installed for both MakeHuman and Blender (you will most likely want to install exactly the same version in both). More information can be found in [[FAQ:What happened to the MHX export in MH 1.1.x and later?]].
'''Most information about MH, and services around MH, has been moved:''' The server/domain setup has been changed for various legal reasons. The main homepage http://www.makehuman.org is now a skeleton page which mostly include download links. Other services such as forum, bugtracker, wiki and so on has been moved to http://www.makehumancommunity.org. Some links might still not have been updated.
== Errata ==
A few issues have been pushed until later releases. We are aware of these and will fix them later.
* [http://bugtracker.makehumancommunity.org/issues/392 #392] - There are numerous issues with the BHV export
* [http://bugtracker.makehumancommunity.org/issues/899 #899] - FBX export dislikes non-ascii characters
* [http://bugtracker.makehumancommunity.org/issues/945 #945] - Increasing eye bag slider breaks armature
* [http://bugtracker.makehumancommunity.org/issues/983 #983] - Some sliders are still missing icons (this has no effect on functionality, it just a visual glitch)
* [http://bugtracker.makehumancommunity.org/issues/1001 #1001] - Collada export produces (skeleton) warnings on Maya import
== Detailed list of changes ==
This is a semi-structured list of changes between 1.0.2 and 1.1.0. The full list of changes (the commit list) [https://bitbucket.org/MakeHuman/makehuman/commits/branch/stable can be found at BitBucket].
=== UI ===
* Drag and drop of .mhm files in makehuman
* Improved text support for long right panel labels
* Nicer looking application icons by using SVG vector graphics (looks better on OSX retina displays)
* Gradient background
* Allow disabling/enabling grid
* Tag filters in all libraries
=== File-Export ===
* Add support for binary FBX exporter
* Added support for optional export of helper geometry and facial pose units
* Added support for specifying bone orientation
* Removed export for old mhx, MD5 and skel formats
=== Modeling ===
* Improved labeling and consistency of modelling sliders
* Add random model generation
* Added nipple point and nipple size sliders
* Added head fat slider
* Added scale depth of parietal side slider
* Added additional sliders for shaping neck and double chin
* Added eye bag sliders
* Added support for laugh lines and dimples
* Add additional sliders controlling chin shape
* Break cheek support into left/right sections
* Add additional sliders to control pectoral and dorsal muscle
* Add additional control of waist position
* Add sliders controlling navel prominence and position
* Added sliders to control shoulder muscle mass
* Add additional sliders controlling upper arm shape
* Additional sliders to control size and muscularity of upper and lower legs
* Additional slider to control lower leg height
* Add separate measure control for knee
=== Geometries ===
* Drop genital proxy support (these have been deferred to the user contributed assets area)
* Improve clothes tagging system
* Include default clothing outfits that clothe upper and lower body without mesh intersections
* Include more and improved hair styles
* Increase the number and richness of default topologies to include generic and muscle phenotypes
* Add additional eyelash choice
=== Materials ===
* Extend included skin materials to middle age and older individuals
* Extend the available choices for eye color
=== Pose Animate ===
* Redesign the entire rigging system for improved mesh control and pose support (2 skeleton system)
* Design basic rigs for new rigging system to support CMU animation and facial posing
* Add a pose tab with selectable poses including a T pose
* Add an expressions tab with 32 selectable facial expressions
* Allow mixing body pose and face pose, if face pose is set override face bones of body pose
* Support modeling while mesh is posed
* Dropped support for specific rigs intended for commercial third part systems. These have been deferred to the user repos.
=== System/code ===
* windows DLL dependency fix
* improvements and caching in proxy libraries for faster asset loading
* binary format for proxy files for faster loading and more compact data
* new fully data-driven modifier system
* rename of targets and modifiers for more consistency
* new skeleton API is much more understandable
* a lot of in-code documentation added
* many code cleanups and improvements
* refactors to improve re-usability of code and facilitate plugin development
* reduction of coupling between components
* makehuman can be started with a .mhm file passed as commandline argument
=== Settings ===
* Add the ability to automatically return MakeHuman to the default settings
27be57c7507401e3ecda99f216d195b8d994717f
653
652
2016-05-12T11:18:27Z
Joepal
14
/* Errata */
wikitext
text/x-wiki
These are the final release notes for 1.1.0, which was released 2016-05-14.
== Highlights ==
See also the [http://www.makehumancommunity.org/w/images/7/7a/Infographic_110.png release infographic].
* Many bugfixes and stability fixes
* Many targets improved and minor modeling corrections
* Completely new skeleton and posing system, with support for pose loading from BVH, and support for custom weight and proxies
* New pose system with auto-rigging, support for T-pose export, and initial support for special poses like high heel shoes
* New skin library with age variation
* New expression system now based on a face bone rig, including a library with facial expressions.
* Improved topologies/proxies
* FBX export now supports binary FBX and should work for most third-part applications which support FBX
== Important notes ==
If you are currently using 1.0.2, there are some things that may be confusing when upgrading to 1.1.0.
'''Many assets are incompatible:''' If you have a large set of manually added assets such as clothes and targets, please be aware that these may not work as expected with the new release. Targets should mostly work. Version 1.0.2 MHM files should be possible to open, but deprecated proxies and assets may not be available. MHM files made with earlier, unsupported nightly builds may produce very unexpected results. In general, you should test your assets with the new release before trusting everything works as expected.
'''New philosophy in which assets are included per default:''' Previously all existing assets were included with the default distribution. This is no longer so. Instead, a small set of robust, full body clothing choices is supplied by default. In addition, there is now a large online area for community-designed assets, to which everyone is welcome to upload their creations. Some previously included assets have been removed from the default distribution in favor of this area. The online area can be found at http://www.makehumancommunity.org/content/user_contributed_assets.html
'''MHX has been deprecated, MHX2 is a plugin:''' The old MHX format is deprecated. While it still remains in Blender's code base, users are strongly discouraged from using it. The successor is MHX2, which is a plugin which has to be installed for both MakeHuman and Blender (you will most likely want to install exactly the same version in both). More information can be found in [[FAQ:What happened to the MHX export in MH 1.1.x and later?]].
'''Most information about MH, and services around MH, has been moved:''' The server/domain setup has been changed for various legal reasons. The main homepage http://www.makehuman.org is now a skeleton page which mostly include download links. Other services such as forum, bugtracker, wiki and so on has been moved to http://www.makehumancommunity.org. Some links might still not have been updated.
== Errata ==
A few issues have been pushed until later releases. We are aware of these and will fix them later.
* [http://bugtracker.makehumancommunity.org/issues/392 #392] - There are numerous issues with the BHV export
* [http://bugtracker.makehumancommunity.org/issues/899 #899] - FBX export dislikes non-ascii characters
* [http://bugtracker.makehumancommunity.org/issues/945 #945] - Increasing eye bag slider breaks armature
* [http://bugtracker.makehumancommunity.org/issues/983 #983] - Some sliders are still missing icons (this has no effect on functionality, it just a visual glitch)
* [http://bugtracker.makehumancommunity.org/issues/1001 #1001] - Collada export produces (skeleton) warnings on Maya import
== Detailed list of changes ==
This is a semi-structured list of changes between 1.0.2 and 1.1.0. The full list of changes (the commit list) [https://bitbucket.org/MakeHuman/makehuman/commits/branch/stable can be found at BitBucket].
=== UI ===
* Drag and drop of .mhm files in makehuman
* Improved text support for long right panel labels
* Nicer looking application icons by using SVG vector graphics (looks better on OSX retina displays)
* Gradient background
* Allow disabling/enabling grid
* Tag filters in all libraries
=== File-Export ===
* Add support for binary FBX exporter
* Added support for optional export of helper geometry and facial pose units
* Added support for specifying bone orientation
* Removed export for old mhx, MD5 and skel formats
=== Modeling ===
* Improved labeling and consistency of modelling sliders
* Add random model generation
* Added nipple point and nipple size sliders
* Added head fat slider
* Added scale depth of parietal side slider
* Added additional sliders for shaping neck and double chin
* Added eye bag sliders
* Added support for laugh lines and dimples
* Add additional sliders controlling chin shape
* Break cheek support into left/right sections
* Add additional sliders to control pectoral and dorsal muscle
* Add additional control of waist position
* Add sliders controlling navel prominence and position
* Added sliders to control shoulder muscle mass
* Add additional sliders controlling upper arm shape
* Additional sliders to control size and muscularity of upper and lower legs
* Additional slider to control lower leg height
* Add separate measure control for knee
=== Geometries ===
* Drop genital proxy support (these have been deferred to the user contributed assets area)
* Improve clothes tagging system
* Include default clothing outfits that clothe upper and lower body without mesh intersections
* Include more and improved hair styles
* Increase the number and richness of default topologies to include generic and muscle phenotypes
* Add additional eyelash choice
=== Materials ===
* Extend included skin materials to middle age and older individuals
* Extend the available choices for eye color
=== Pose Animate ===
* Redesign the entire rigging system for improved mesh control and pose support (2 skeleton system)
* Design basic rigs for new rigging system to support CMU animation and facial posing
* Add a pose tab with selectable poses including a T pose
* Add an expressions tab with 32 selectable facial expressions
* Allow mixing body pose and face pose, if face pose is set override face bones of body pose
* Support modeling while mesh is posed
=== System/code ===
* windows DLL dependency fix
* improvements and caching in proxy libraries for faster asset loading
* binary format for proxy files for faster loading and more compact data
* new fully data-driven modifier system
* rename of targets and modifiers for more consistency
* new skeleton API is much more understandable
* a lot of in-code documentation added
* many code cleanups and improvements
* refactors to improve re-usability of code and facilitate plugin development
* reduction of coupling between components
* makehuman can be started with a .mhm file passed as commandline argument
=== Settings ===
* Add the ability to automatically return MakeHuman to the default settings
aeb503bd684ee174683c7a41252a5afa8f11c677
652
651
2016-05-12T11:17:23Z
Joepal
14
wikitext
text/x-wiki
These are the final release notes for 1.1.0, which was released 2016-05-14.
== Highlights ==
See also the [http://www.makehumancommunity.org/w/images/7/7a/Infographic_110.png release infographic].
* Many bugfixes and stability fixes
* Many targets improved and minor modeling corrections
* Completely new skeleton and posing system, with support for pose loading from BVH, and support for custom weight and proxies
* New pose system with auto-rigging, support for T-pose export, and initial support for special poses like high heel shoes
* New skin library with age variation
* New expression system now based on a face bone rig, including a library with facial expressions.
* Improved topologies/proxies
* FBX export now supports binary FBX and should work for most third-part applications which support FBX
== Important notes ==
If you are currently using 1.0.2, there are some things that may be confusing when upgrading to 1.1.0.
'''Many assets are incompatible:''' If you have a large set of manually added assets such as clothes and targets, please be aware that these may not work as expected with the new release. Targets should mostly work. Version 1.0.2 MHM files should be possible to open, but deprecated proxies and assets may not be available. MHM files made with earlier, unsupported nightly builds may produce very unexpected results. In general, you should test your assets with the new release before trusting everything works as expected.
'''New philosophy in which assets are included per default:''' Previously all existing assets were included with the default distribution. This is no longer so. Instead, a small set of robust, full body clothing choices is supplied by default. In addition, there is now a large online area for community-designed assets, to which everyone is welcome to upload their creations. Some previously included assets have been removed from the default distribution in favor of this area. The online area can be found at http://www.makehumancommunity.org/content/user_contributed_assets.html
'''MHX has been deprecated, MHX2 is a plugin:''' The old MHX format is deprecated. While it still remains in Blender's code base, users are strongly discouraged from using it. The successor is MHX2, which is a plugin which has to be installed for both MakeHuman and Blender (you will most likely want to install exactly the same version in both). More information can be found in [[FAQ:What happened to the MHX export in MH 1.1.x and later?]].
'''Most information about MH, and services around MH, has been moved:''' The server/domain setup has been changed for various legal reasons. The main homepage http://www.makehuman.org is now a skeleton page which mostly include download links. Other services such as forum, bugtracker, wiki and so on has been moved to http://www.makehumancommunity.org. Some links might still not have been updated.
== Errata ==
A few issues have been pushed until later releases. We are aware of these and will fix them later.
* [http://bugtracker.makehumancommunity.org/issues/392 #392] - There are numerous issues with the BHV export
* [http://bugtracker.makehumancommunity.org/issues/899 #899] - FBX export dislikes non-ascii characters
* [http://bugtracker.makehumancommunity.org/issues/945 #945] - Increasing eye bag slider breaks armature
* [http://bugtracker.makehumancommunity.org/issues/983 #983] - Some sliders are still missing icons (this has no effect on functionality, it just a visual glitch)
* [http://bugtracker.makehumancommunity.org/issues/1001 #1001] - Collada export produces (skeleton) warnings on Maya import
* [http://bugtracker.makehumancommunity.org/issues/1013 #1013] - Some target files are different between makeclothes and makehuman
== Detailed list of changes ==
This is a semi-structured list of changes between 1.0.2 and 1.1.0. The full list of changes (the commit list) [https://bitbucket.org/MakeHuman/makehuman/commits/branch/stable can be found at BitBucket].
=== UI ===
* Drag and drop of .mhm files in makehuman
* Improved text support for long right panel labels
* Nicer looking application icons by using SVG vector graphics (looks better on OSX retina displays)
* Gradient background
* Allow disabling/enabling grid
* Tag filters in all libraries
=== File-Export ===
* Add support for binary FBX exporter
* Added support for optional export of helper geometry and facial pose units
* Added support for specifying bone orientation
* Removed export for old mhx, MD5 and skel formats
=== Modeling ===
* Improved labeling and consistency of modelling sliders
* Add random model generation
* Added nipple point and nipple size sliders
* Added head fat slider
* Added scale depth of parietal side slider
* Added additional sliders for shaping neck and double chin
* Added eye bag sliders
* Added support for laugh lines and dimples
* Add additional sliders controlling chin shape
* Break cheek support into left/right sections
* Add additional sliders to control pectoral and dorsal muscle
* Add additional control of waist position
* Add sliders controlling navel prominence and position
* Added sliders to control shoulder muscle mass
* Add additional sliders controlling upper arm shape
* Additional sliders to control size and muscularity of upper and lower legs
* Additional slider to control lower leg height
* Add separate measure control for knee
=== Geometries ===
* Drop genital proxy support (these have been deferred to the user contributed assets area)
* Improve clothes tagging system
* Include default clothing outfits that clothe upper and lower body without mesh intersections
* Include more and improved hair styles
* Increase the number and richness of default topologies to include generic and muscle phenotypes
* Add additional eyelash choice
=== Materials ===
* Extend included skin materials to middle age and older individuals
* Extend the available choices for eye color
=== Pose Animate ===
* Redesign the entire rigging system for improved mesh control and pose support (2 skeleton system)
* Design basic rigs for new rigging system to support CMU animation and facial posing
* Add a pose tab with selectable poses including a T pose
* Add an expressions tab with 32 selectable facial expressions
* Allow mixing body pose and face pose, if face pose is set override face bones of body pose
* Support modeling while mesh is posed
=== System/code ===
* windows DLL dependency fix
* improvements and caching in proxy libraries for faster asset loading
* binary format for proxy files for faster loading and more compact data
* new fully data-driven modifier system
* rename of targets and modifiers for more consistency
* new skeleton API is much more understandable
* a lot of in-code documentation added
* many code cleanups and improvements
* refactors to improve re-usability of code and facilitate plugin development
* reduction of coupling between components
* makehuman can be started with a .mhm file passed as commandline argument
=== Settings ===
* Add the ability to automatically return MakeHuman to the default settings
eefea5df9f8a5d58102e959f65753dba51d3b0bb
651
646
2016-05-12T11:16:06Z
Joepal
14
wikitext
text/x-wiki
These are the final release notes for 1.1.0, which was released 2016-05-14.
== Highlights ==
See also the [[:File:Infographic 110.png|release infographic]].
* Many bugfixes and stability fixes
* Many targets improved and minor modeling corrections
* Completely new skeleton and posing system, with support for pose loading from BVH, and support for custom weight and proxies
* New pose system with auto-rigging, support for T-pose export, and initial support for special poses like high heel shoes
* New skin library with age variation
* New expression system now based on a face bone rig, including a library with facial expressions.
* Improved topologies/proxies
* FBX export now supports binary FBX and should work for most third-part applications which support FBX
== Important notes ==
If you are currently using 1.0.2, there are some things that may be confusing when upgrading to 1.1.0.
'''Many assets are incompatible:''' If you have a large set of manually added assets such as clothes and targets, please be aware that these may not work as expected with the new release. Targets should mostly work. Version 1.0.2 MHM files should be possible to open, but deprecated proxies and assets may not be available. MHM files made with earlier, unsupported nightly builds may produce very unexpected results. In general, you should test your assets with the new release before trusting everything works as expected.
'''New philosophy in which assets are included per default:''' Previously all existing assets were included with the default distribution. This is no longer so. Instead, a small set of robust, full body clothing choices is supplied by default. In addition, there is now a large online area for community-designed assets, to which everyone is welcome to upload their creations. Some previously included assets have been removed from the default distribution in favor of this area. The online area can be found at http://www.makehumancommunity.org/content/user_contributed_assets.html
'''MHX has been deprecated, MHX2 is a plugin:''' The old MHX format is deprecated. While it still remains in Blender's code base, users are strongly discouraged from using it. The successor is MHX2, which is a plugin which has to be installed for both MakeHuman and Blender (you will most likely want to install exactly the same version in both). More information can be found in [[FAQ:What happened to the MHX export in MH 1.1.x and later?]].
'''Most information about MH, and services around MH, has been moved:''' The server/domain setup has been changed for various legal reasons. The main homepage http://www.makehuman.org is now a skeleton page which mostly include download links. Other services such as forum, bugtracker, wiki and so on has been moved to http://www.makehumancommunity.org. Some links might still not have been updated.
== Errata ==
A few issues have been pushed until later releases. We are aware of these and will fix them later.
* [http://bugtracker.makehumancommunity.org/issues/392 #392] - There are numerous issues with the BHV export
* [http://bugtracker.makehumancommunity.org/issues/899 #899] - FBX export dislikes non-ascii characters
* [http://bugtracker.makehumancommunity.org/issues/945 #945] - Increasing eye bag slider breaks armature
* [http://bugtracker.makehumancommunity.org/issues/983 #983] - Some sliders are still missing icons (this has no effect on functionality, it just a visual glitch)
* [http://bugtracker.makehumancommunity.org/issues/1001 #1001] - Collada export produces (skeleton) warnings on Maya import
* [http://bugtracker.makehumancommunity.org/issues/1013 #1013] - Some target files are different between makeclothes and makehuman
== Detailed list of changes ==
This is a semi-structured list of changes between 1.0.2 and 1.1.0. The full list of changes (the commit list) [https://bitbucket.org/MakeHuman/makehuman/commits/branch/stable can be found at BitBucket].
=== UI ===
* Drag and drop of .mhm files in makehuman
* Improved text support for long right panel labels
* Nicer looking application icons by using SVG vector graphics (looks better on OSX retina displays)
* Gradient background
* Allow disabling/enabling grid
* Tag filters in all libraries
=== File-Export ===
* Add support for binary FBX exporter
* Added support for optional export of helper geometry and facial pose units
* Added support for specifying bone orientation
* Removed export for old mhx, MD5 and skel formats
=== Modeling ===
* Improved labeling and consistency of modelling sliders
* Add random model generation
* Added nipple point and nipple size sliders
* Added head fat slider
* Added scale depth of parietal side slider
* Added additional sliders for shaping neck and double chin
* Added eye bag sliders
* Added support for laugh lines and dimples
* Add additional sliders controlling chin shape
* Break cheek support into left/right sections
* Add additional sliders to control pectoral and dorsal muscle
* Add additional control of waist position
* Add sliders controlling navel prominence and position
* Added sliders to control shoulder muscle mass
* Add additional sliders controlling upper arm shape
* Additional sliders to control size and muscularity of upper and lower legs
* Additional slider to control lower leg height
* Add separate measure control for knee
=== Geometries ===
* Drop genital proxy support (these have been deferred to the user contributed assets area)
* Improve clothes tagging system
* Include default clothing outfits that clothe upper and lower body without mesh intersections
* Include more and improved hair styles
* Increase the number and richness of default topologies to include generic and muscle phenotypes
* Add additional eyelash choice
=== Materials ===
* Extend included skin materials to middle age and older individuals
* Extend the available choices for eye color
=== Pose Animate ===
* Redesign the entire rigging system for improved mesh control and pose support (2 skeleton system)
* Design basic rigs for new rigging system to support CMU animation and facial posing
* Add a pose tab with selectable poses including a T pose
* Add an expressions tab with 32 selectable facial expressions
* Allow mixing body pose and face pose, if face pose is set override face bones of body pose
* Support modeling while mesh is posed
=== System/code ===
* windows DLL dependency fix
* improvements and caching in proxy libraries for faster asset loading
* binary format for proxy files for faster loading and more compact data
* new fully data-driven modifier system
* rename of targets and modifiers for more consistency
* new skeleton API is much more understandable
* a lot of in-code documentation added
* many code cleanups and improvements
* refactors to improve re-usability of code and facilitate plugin development
* reduction of coupling between components
* makehuman can be started with a .mhm file passed as commandline argument
=== Settings ===
* Add the ability to automatically return MakeHuman to the default settings
f353ac4b12a6732e655d67bcc70a289c653801a6
646
643
2016-05-09T08:29:32Z
Joepal
14
wikitext
text/x-wiki
These are preliminary release notes. 1.1.0 is currently in release candidate mode.
== Highlights ==
See also the [[:File:Infographic 110.png|release infographic]].
* Many bugfixes and stability fixes
* Many targets improved and minor modeling corrections
* Completely new skeleton and posing system, with support for pose loading from BVH, and support for custom weight and proxies
* New pose system with auto-rigging, support for T-pose export, and initial support for special poses like high heel shoes
* New skin library with age variation
* New expression system now based on a face bone rig, including a library with facial expressions.
* Improved topologies/proxies
* FBX export now supports binary FBX and should work for most third-part applications which support FBX
== Important notes ==
If you are currently using 1.0.2, there are some things that may be confusing when upgrading to 1.1.0.
'''Many assets are incompatible:''' If you have a large set of manually added assets such as clothes and targets, please be aware that these may not work as expected with the new release. Targets should mostly work. Version 1.0.2 MHM files should be possible to open, but deprecated proxies and assets may not be available. MHM files made with earlier, unsupported nightly builds may produce very unexpected results. In general, you should test your assets with the new release before trusting everything works as expected.
'''New philosophy in which assets are included per default:''' Previously all existing assets were included with the default distribution. This is no longer so. Instead, a small set of robust, full body clothing choices is supplied by default. In addition, there is now a large online area for community-designed assets, to which everyone is welcome to upload their creations. Some previously included assets have been removed from the default distribution in favor of this area. The online area can be found at http://www.makehumancommunity.org/content/user_contributed_assets.html
'''MHX has been deprecated, MHX2 is a plugin:''' The old MHX format is deprecated. While it still remains in Blender's code base, users are strongly discouraged from using it. The successor is MHX2, which is a plugin which has to be installed for both MakeHuman and Blender (you will most likely want to install exactly the same version in both). More information can be found in [[FAQ:What happened to the MHX export in MH 1.1.x and later?]].
'''Most information about MH, and services around MH, has been moved:''' The server/domain setup has been changed for various legal reasons. The main homepage http://www.makehuman.org is now a skeleton page which mostly include download links. Other services such as forum, bugtracker, wiki and so on has been moved to http://www.makehumancommunity.org. Some links might still not have been updated.
== Errata ==
A few issues have been pushed until later releases. We are aware of these and will fix them later.
* [http://bugtracker.makehumancommunity.org/issues/392 #392] - There are numerous issues with the BHV export
* [http://bugtracker.makehumancommunity.org/issues/899 #899] - FBX export dislikes non-ascii characters
* [http://bugtracker.makehumancommunity.org/issues/945 #945] - Increasing eye bag slider breaks armature
* [http://bugtracker.makehumancommunity.org/issues/983 #983] - Some sliders are still missing icons (this has no effect on functionality, it just a visual glitch)
* [http://bugtracker.makehumancommunity.org/issues/1001 #1001] - Collada export produces (skeleton) warnings on Maya import
* [http://bugtracker.makehumancommunity.org/issues/1013 #1013] - Some target files are different between makeclothes and makehuman
== Detailed list of changes ==
This is a semi-structured list of changes between 1.0.2 and 1.1.0. The full list of changes (the commit list) [https://bitbucket.org/MakeHuman/makehuman/commits/branch/stable can be found at BitBucket].
=== UI ===
* Drag and drop of .mhm files in makehuman
* Improved text support for long right panel labels
* Nicer looking application icons by using SVG vector graphics (looks better on OSX retina displays)
* Gradient background
* Allow disabling/enabling grid
* Tag filters in all libraries
=== File-Export ===
* Add support for binary FBX exporter
* Added support for optional export of helper geometry and facial pose units
* Added support for specifying bone orientation
* Removed export for old mhx, MD5 and skel formats
=== Modeling ===
* Improved labeling and consistency of modelling sliders
* Add random model generation
* Added nipple point and nipple size sliders
* Added head fat slider
* Added scale depth of parietal side slider
* Added additional sliders for shaping neck and double chin
* Added eye bag sliders
* Added support for laugh lines and dimples
* Add additional sliders controlling chin shape
* Break cheek support into left/right sections
* Add additional sliders to control pectoral and dorsal muscle
* Add additional control of waist position
* Add sliders controlling navel prominence and position
* Added sliders to control shoulder muscle mass
* Add additional sliders controlling upper arm shape
* Additional sliders to control size and muscularity of upper and lower legs
* Additional slider to control lower leg height
* Add separate measure control for knee
=== Geometries ===
* Drop genital proxy support (these have been deferred to the user contributed assets area)
* Improve clothes tagging system
* Include default clothing outfits that clothe upper and lower body without mesh intersections
* Include more and improved hair styles
* Increase the number and richness of default topologies to include generic and muscle phenotypes
* Add additional eyelash choice
=== Materials ===
* Extend included skin materials to middle age and older individuals
* Extend the available choices for eye color
=== Pose Animate ===
* Redesign the entire rigging system for improved mesh control and pose support (2 skeleton system)
* Design basic rigs for new rigging system to support CMU animation and facial posing
* Add a pose tab with selectable poses including a T pose
* Add an expressions tab with 32 selectable facial expressions
* Allow mixing body pose and face pose, if face pose is set override face bones of body pose
* Support modeling while mesh is posed
=== System/code ===
* windows DLL dependency fix
* improvements and caching in proxy libraries for faster asset loading
* binary format for proxy files for faster loading and more compact data
* new fully data-driven modifier system
* rename of targets and modifiers for more consistency
* new skeleton API is much more understandable
* a lot of in-code documentation added
* many code cleanups and improvements
* refactors to improve re-usability of code and facilitate plugin development
* reduction of coupling between components
* makehuman can be started with a .mhm file passed as commandline argument
=== Settings ===
* Add the ability to automatically return MakeHuman to the default settings
9164b14de93f72d3705fae421414b6c1ad088521
643
642
2016-04-19T03:01:38Z
Robbaer
12
/* File-Export */
wikitext
text/x-wiki
These are preliminary release notes. 1.1.0 is currently in release candidate mode.
== Highlights ==
See also the [[:File:Infographic 110.png|release infographic]].
* Many bugfixes and stability fixes
* Many targets improved and minor modeling corrections
* Completely new skeleton and posing system, with support for pose loading from BVH, and support for custom weight and proxies
* New pose system with auto-rigging, support for T-pose export, and initial support for special poses like high heel shoes
* New skin library with age variation
* New expression system now based on a face bone rig, including a library with facial expressions.
* Improved topologies/proxies
* FBX export now supports binary FBX and should work for most third-part applications which support FBX
== Important notes ==
If you are currently using 1.0.2, there are some things that may be confusing when upgrading to 1.1.0.
'''Many assets are incompatible:''' If you have a large set of manually added assets such as clothes and targets, please be aware that these may not work as expected with the new release. Targets should mostly work. Version 1.0.2 MHM files should be possible to open, but deprecated proxies and assets may not be available. MHM files made with earlier, unsupported nightly builds may produce very unexpected results. In general, you should test your assets with the new release before trusting everything works as expected.
'''New philosophy in which assets are included per default:''' Previously all existing assets were included with the default distribution. This is no longer so. Instead, a small set of robust, full body clothing choices is supplied by default. In addition, there is now a large online area for community-designed assets, to which everyone is welcome to upload their creations. Some previously included assets have been removed from the default distribution in favor of this area. The online area can be found at http://www.makehumancommunity.org/content/user_contributed_assets.html
'''MHX has been deprecated, MHX2 is a plugin:''' The old MHX format is deprecated. While it still remains in Blender's code base, users are strongly discouraged from using it. The successor is MHX2, which is a plugin which has to be installed for both MakeHuman and Blender (you will most likely want to install exactly the same version in both). More information can be found in [[FAQ:What happened to the MHX export in MH 1.1.x and later?]].
'''Most information about MH, and services around MH, has been moved:''' The server/domain setup has been changed for various legal reasons. The main homepage http://www.makehuman.org is now a skeleton page which mostly include download links. Other services such as forum, bugtracker, wiki and so on has been moved to http://www.makehumancommunity.org. Some links might still not have been updated.
== Errata ==
A few issues have been pushed until later releases. We are aware of these and will fix them later.
* [http://bugtracker.makehumancommunity.org/issues/899 #899] - FBX export dislikes non-ascii characters
* [http://bugtracker.makehumancommunity.org/issues/945 #945] - Increasing eye bag slider breaks armature
* [http://bugtracker.makehumancommunity.org/issues/1001 #1001] - Collada export produces (skeleton) warnings on Maya import
== Detailed list of changes ==
This is a semi-structured list of changes between 1.0.2 and 1.1.0. The full list of changes (the commit list) [https://bitbucket.org/MakeHuman/makehuman/commits/branch/stable can be found at BitBucket].
=== UI ===
* Drag and drop of .mhm files in makehuman
* Improved text support for long right panel labels
* Nicer looking application icons by using SVG vector graphics (looks better on OSX retina displays)
* Gradient background
* Allow disabling/enabling grid
* Tag filters in all libraries
=== File-Export ===
* Add support for binary FBX exporter
* Added support for optional export of helper geometry and facial pose units
* Added support for specifying bone orientation
* Removed export for old mhx, MD5 and skel formats
=== Modeling ===
* Improved labeling and consistency of modelling sliders
* Add random model generation
* Added nipple point and nipple size sliders
* Added head fat slider
* Added scale depth of parietal side slider
* Added additional sliders for shaping neck and double chin
* Added eye bag sliders
* Added support for laugh lines and dimples
* Add additional sliders controlling chin shape
* Break cheek support into left/right sections
* Add additional sliders to control pectoral and dorsal muscle
* Add additional control of waist position
* Add sliders controlling navel prominence and position
* Added sliders to control shoulder muscle mass
* Add additional sliders controlling upper arm shape
* Additional sliders to control size and muscularity of upper and lower legs
* Additional slider to control lower leg height
* Add separate measure control for knee
=== Geometries ===
* Drop genital proxy support (these have been deferred to the user contributed assets area)
* Improve clothes tagging system
* Include default clothing outfits that clothe upper and lower body without mesh intersections
* Include more and improved hair styles
* Increase the number and richness of default topologies to include generic and muscle phenotypes
* Add additional eyelash choice
=== Materials ===
* Extend included skin materials to middle age and older individuals
* Extend the available choices for eye color
=== Pose Animate ===
* Redesign the entire rigging system for improved mesh control and pose support (2 skeleton system)
* Design basic rigs for new rigging system to support CMU animation and facial posing
* Add a pose tab with selectable poses including a T pose
* Add an expressions tab with 32 selectable facial expressions
* Allow mixing body pose and face pose, if face pose is set override face bones of body pose
* Support modeling while mesh is posed
=== System/code ===
* windows DLL dependency fix
* improvements and caching in proxy libraries for faster asset loading
* binary format for proxy files for faster loading and more compact data
* new fully data-driven modifier system
* rename of targets and modifiers for more consistency
* new skeleton API is much more understandable
* a lot of in-code documentation added
* many code cleanups and improvements
* refactors to improve re-usability of code and facilitate plugin development
* reduction of coupling between components
* makehuman can be started with a .mhm file passed as commandline argument
=== Settings ===
* Add the ability to automatically return MakeHuman to the default settings
8bf3d78e93bca01aa7b17017bc664187634bbe29
642
641
2016-04-19T02:04:49Z
Robbaer
12
/* UI */
wikitext
text/x-wiki
These are preliminary release notes. 1.1.0 is currently in release candidate mode.
== Highlights ==
See also the [[:File:Infographic 110.png|release infographic]].
* Many bugfixes and stability fixes
* Many targets improved and minor modeling corrections
* Completely new skeleton and posing system, with support for pose loading from BVH, and support for custom weight and proxies
* New pose system with auto-rigging, support for T-pose export, and initial support for special poses like high heel shoes
* New skin library with age variation
* New expression system now based on a face bone rig, including a library with facial expressions.
* Improved topologies/proxies
* FBX export now supports binary FBX and should work for most third-part applications which support FBX
== Important notes ==
If you are currently using 1.0.2, there are some things that may be confusing when upgrading to 1.1.0.
'''Many assets are incompatible:''' If you have a large set of manually added assets such as clothes and targets, please be aware that these may not work as expected with the new release. Targets should mostly work. Version 1.0.2 MHM files should be possible to open, but deprecated proxies and assets may not be available. MHM files made with earlier, unsupported nightly builds may produce very unexpected results. In general, you should test your assets with the new release before trusting everything works as expected.
'''New philosophy in which assets are included per default:''' Previously all existing assets were included with the default distribution. This is no longer so. Instead, a small set of robust, full body clothing choices is supplied by default. In addition, there is now a large online area for community-designed assets, to which everyone is welcome to upload their creations. Some previously included assets have been removed from the default distribution in favor of this area. The online area can be found at http://www.makehumancommunity.org/content/user_contributed_assets.html
'''MHX has been deprecated, MHX2 is a plugin:''' The old MHX format is deprecated. While it still remains in Blender's code base, users are strongly discouraged from using it. The successor is MHX2, which is a plugin which has to be installed for both MakeHuman and Blender (you will most likely want to install exactly the same version in both). More information can be found in [[FAQ:What happened to the MHX export in MH 1.1.x and later?]].
'''Most information about MH, and services around MH, has been moved:''' The server/domain setup has been changed for various legal reasons. The main homepage http://www.makehuman.org is now a skeleton page which mostly include download links. Other services such as forum, bugtracker, wiki and so on has been moved to http://www.makehumancommunity.org. Some links might still not have been updated.
== Errata ==
A few issues have been pushed until later releases. We are aware of these and will fix them later.
* [http://bugtracker.makehumancommunity.org/issues/899 #899] - FBX export dislikes non-ascii characters
* [http://bugtracker.makehumancommunity.org/issues/945 #945] - Increasing eye bag slider breaks armature
* [http://bugtracker.makehumancommunity.org/issues/1001 #1001] - Collada export produces (skeleton) warnings on Maya import
== Detailed list of changes ==
This is a semi-structured list of changes between 1.0.2 and 1.1.0. The full list of changes (the commit list) [https://bitbucket.org/MakeHuman/makehuman/commits/branch/stable can be found at BitBucket].
=== UI ===
* Drag and drop of .mhm files in makehuman
* Improved text support for long right panel labels
* Nicer looking application icons by using SVG vector graphics (looks better on OSX retina displays)
* Gradient background
* Allow disabling/enabling grid
* Tag filters in all libraries
=== File-Export ===
* Add support for binary FBX exporter
* Removed export for old mhx, MD5 and skel formats
* Added support for optional export of helper geometry and facial pose units
* Added support for specifying bone orientation
=== Modeling ===
* Improved labeling and consistency of modelling sliders
* Add random model generation
* Added nipple point and nipple size sliders
* Added head fat slider
* Added scale depth of parietal side slider
* Added additional sliders for shaping neck and double chin
* Added eye bag sliders
* Added support for laugh lines and dimples
* Add additional sliders controlling chin shape
* Break cheek support into left/right sections
* Add additional sliders to control pectoral and dorsal muscle
* Add additional control of waist position
* Add sliders controlling navel prominence and position
* Added sliders to control shoulder muscle mass
* Add additional sliders controlling upper arm shape
* Additional sliders to control size and muscularity of upper and lower legs
* Additional slider to control lower leg height
* Add separate measure control for knee
=== Geometries ===
* Drop genital proxy support (these have been deferred to the user contributed assets area)
* Improve clothes tagging system
* Include default clothing outfits that clothe upper and lower body without mesh intersections
* Include more and improved hair styles
* Increase the number and richness of default topologies to include generic and muscle phenotypes
* Add additional eyelash choice
=== Materials ===
* Extend included skin materials to middle age and older individuals
* Extend the available choices for eye color
=== Pose Animate ===
* Redesign the entire rigging system for improved mesh control and pose support (2 skeleton system)
* Design basic rigs for new rigging system to support CMU animation and facial posing
* Add a pose tab with selectable poses including a T pose
* Add an expressions tab with 32 selectable facial expressions
* Allow mixing body pose and face pose, if face pose is set override face bones of body pose
* Support modeling while mesh is posed
=== System/code ===
* windows DLL dependency fix
* improvements and caching in proxy libraries for faster asset loading
* binary format for proxy files for faster loading and more compact data
* new fully data-driven modifier system
* rename of targets and modifiers for more consistency
* new skeleton API is much more understandable
* a lot of in-code documentation added
* many code cleanups and improvements
* refactors to improve re-usability of code and facilitate plugin development
* reduction of coupling between components
* makehuman can be started with a .mhm file passed as commandline argument
=== Settings ===
* Add the ability to automatically return MakeHuman to the default settings
73ec63f14fe5cb5fa90525aee7362b92084e401e
641
640
2016-04-19T02:03:44Z
Robbaer
12
/* Detailed list of changes */
wikitext
text/x-wiki
These are preliminary release notes. 1.1.0 is currently in release candidate mode.
== Highlights ==
See also the [[:File:Infographic 110.png|release infographic]].
* Many bugfixes and stability fixes
* Many targets improved and minor modeling corrections
* Completely new skeleton and posing system, with support for pose loading from BVH, and support for custom weight and proxies
* New pose system with auto-rigging, support for T-pose export, and initial support for special poses like high heel shoes
* New skin library with age variation
* New expression system now based on a face bone rig, including a library with facial expressions.
* Improved topologies/proxies
* FBX export now supports binary FBX and should work for most third-part applications which support FBX
== Important notes ==
If you are currently using 1.0.2, there are some things that may be confusing when upgrading to 1.1.0.
'''Many assets are incompatible:''' If you have a large set of manually added assets such as clothes and targets, please be aware that these may not work as expected with the new release. Targets should mostly work. Version 1.0.2 MHM files should be possible to open, but deprecated proxies and assets may not be available. MHM files made with earlier, unsupported nightly builds may produce very unexpected results. In general, you should test your assets with the new release before trusting everything works as expected.
'''New philosophy in which assets are included per default:''' Previously all existing assets were included with the default distribution. This is no longer so. Instead, a small set of robust, full body clothing choices is supplied by default. In addition, there is now a large online area for community-designed assets, to which everyone is welcome to upload their creations. Some previously included assets have been removed from the default distribution in favor of this area. The online area can be found at http://www.makehumancommunity.org/content/user_contributed_assets.html
'''MHX has been deprecated, MHX2 is a plugin:''' The old MHX format is deprecated. While it still remains in Blender's code base, users are strongly discouraged from using it. The successor is MHX2, which is a plugin which has to be installed for both MakeHuman and Blender (you will most likely want to install exactly the same version in both). More information can be found in [[FAQ:What happened to the MHX export in MH 1.1.x and later?]].
'''Most information about MH, and services around MH, has been moved:''' The server/domain setup has been changed for various legal reasons. The main homepage http://www.makehuman.org is now a skeleton page which mostly include download links. Other services such as forum, bugtracker, wiki and so on has been moved to http://www.makehumancommunity.org. Some links might still not have been updated.
== Errata ==
A few issues have been pushed until later releases. We are aware of these and will fix them later.
* [http://bugtracker.makehumancommunity.org/issues/899 #899] - FBX export dislikes non-ascii characters
* [http://bugtracker.makehumancommunity.org/issues/945 #945] - Increasing eye bag slider breaks armature
* [http://bugtracker.makehumancommunity.org/issues/1001 #1001] - Collada export produces (skeleton) warnings on Maya import
== Detailed list of changes ==
This is a semi-structured list of changes between 1.0.2 and 1.1.0. The full list of changes (the commit list) [https://bitbucket.org/MakeHuman/makehuman/commits/branch/stable can be found at BitBucket].
=== UI ===
* drag and drop of .mhm files in makehuman
* Improved text support for long right panel labels
* nicer looking application icons by using SVG vector graphics (looks better on OSX retina displays)
* gradient background
* allow disabling/enabling grid
* tag filters in all libraries
=== File-Export ===
* Add support for binary FBX exporter
* Removed export for old mhx, MD5 and skel formats
* Added support for optional export of helper geometry and facial pose units
* Added support for specifying bone orientation
=== Modeling ===
* Improved labeling and consistency of modelling sliders
* Add random model generation
* Added nipple point and nipple size sliders
* Added head fat slider
* Added scale depth of parietal side slider
* Added additional sliders for shaping neck and double chin
* Added eye bag sliders
* Added support for laugh lines and dimples
* Add additional sliders controlling chin shape
* Break cheek support into left/right sections
* Add additional sliders to control pectoral and dorsal muscle
* Add additional control of waist position
* Add sliders controlling navel prominence and position
* Added sliders to control shoulder muscle mass
* Add additional sliders controlling upper arm shape
* Additional sliders to control size and muscularity of upper and lower legs
* Additional slider to control lower leg height
* Add separate measure control for knee
=== Geometries ===
* Drop genital proxy support (these have been deferred to the user contributed assets area)
* Improve clothes tagging system
* Include default clothing outfits that clothe upper and lower body without mesh intersections
* Include more and improved hair styles
* Increase the number and richness of default topologies to include generic and muscle phenotypes
* Add additional eyelash choice
=== Materials ===
* Extend included skin materials to middle age and older individuals
* Extend the available choices for eye color
=== Pose Animate ===
* Redesign the entire rigging system for improved mesh control and pose support (2 skeleton system)
* Design basic rigs for new rigging system to support CMU animation and facial posing
* Add a pose tab with selectable poses including a T pose
* Add an expressions tab with 32 selectable facial expressions
* Allow mixing body pose and face pose, if face pose is set override face bones of body pose
* Support modeling while mesh is posed
=== System/code ===
* windows DLL dependency fix
* improvements and caching in proxy libraries for faster asset loading
* binary format for proxy files for faster loading and more compact data
* new fully data-driven modifier system
* rename of targets and modifiers for more consistency
* new skeleton API is much more understandable
* a lot of in-code documentation added
* many code cleanups and improvements
* refactors to improve re-usability of code and facilitate plugin development
* reduction of coupling between components
* makehuman can be started with a .mhm file passed as commandline argument
=== Settings ===
* Add the ability to automatically return MakeHuman to the default settings
e3468a926b42a991e84ea7ddaf83bac6da1eba8c
640
639
2016-04-19T01:47:10Z
Robbaer
12
/* Highlights */
wikitext
text/x-wiki
These are preliminary release notes. 1.1.0 is currently in release candidate mode.
== Highlights ==
See also the [[:File:Infographic 110.png|release infographic]].
* Many bugfixes and stability fixes
* Many targets improved and minor modeling corrections
* Completely new skeleton and posing system, with support for pose loading from BVH, and support for custom weight and proxies
* New pose system with auto-rigging, support for T-pose export, and initial support for special poses like high heel shoes
* New skin library with age variation
* New expression system now based on a face bone rig, including a library with facial expressions.
* Improved topologies/proxies
* FBX export now supports binary FBX and should work for most third-part applications which support FBX
== Important notes ==
If you are currently using 1.0.2, there are some things that may be confusing when upgrading to 1.1.0.
'''Many assets are incompatible:''' If you have a large set of manually added assets such as clothes and targets, please be aware that these may not work as expected with the new release. Targets should mostly work. Version 1.0.2 MHM files should be possible to open, but deprecated proxies and assets may not be available. MHM files made with earlier, unsupported nightly builds may produce very unexpected results. In general, you should test your assets with the new release before trusting everything works as expected.
'''New philosophy in which assets are included per default:''' Previously all existing assets were included with the default distribution. This is no longer so. Instead, a small set of robust, full body clothing choices is supplied by default. In addition, there is now a large online area for community-designed assets, to which everyone is welcome to upload their creations. Some previously included assets have been removed from the default distribution in favor of this area. The online area can be found at http://www.makehumancommunity.org/content/user_contributed_assets.html
'''MHX has been deprecated, MHX2 is a plugin:''' The old MHX format is deprecated. While it still remains in Blender's code base, users are strongly discouraged from using it. The successor is MHX2, which is a plugin which has to be installed for both MakeHuman and Blender (you will most likely want to install exactly the same version in both). More information can be found in [[FAQ:What happened to the MHX export in MH 1.1.x and later?]].
'''Most information about MH, and services around MH, has been moved:''' The server/domain setup has been changed for various legal reasons. The main homepage http://www.makehuman.org is now a skeleton page which mostly include download links. Other services such as forum, bugtracker, wiki and so on has been moved to http://www.makehumancommunity.org. Some links might still not have been updated.
== Errata ==
A few issues have been pushed until later releases. We are aware of these and will fix them later.
* [http://bugtracker.makehumancommunity.org/issues/899 #899] - FBX export dislikes non-ascii characters
* [http://bugtracker.makehumancommunity.org/issues/945 #945] - Increasing eye bag slider breaks armature
* [http://bugtracker.makehumancommunity.org/issues/1001 #1001] - Collada export produces (skeleton) warnings on Maya import
== Detailed list of changes ==
This is a semi-structured list of changes between 1.0.2 and 1.1.0. The full list of changes (the commit list) [https://bitbucket.org/MakeHuman/makehuman/commits/branch/stable can be found at BitBucket].
=== UI ===
* nicer looking application icons by using SVG vector graphics (looks better on OSX retina displays)
* gradient background
* allow disabling/enabling grid
* drag and drop of .mhm files in makehuman
* tag filters in all libraries
=== File-Export ===
* Add support for binary FBX exporter
* Removed export for old mhx, MD5 and skel formats
* Added support for optional export of helper geometry and facial pose units
* Added support for specifying bone orientation
=== Modeling ===
* Improved labeling and consistency of modelling sliders
* Add random model generation
* Added nipple point and nipple size sliders
* Added head fat slider
* Added scale depth of parietal side slider
* Added additional sliders for shaping neck and double chin
* Added eye bag sliders
* Added support for laugh lines and dimples
* Add additional sliders controlling chin shape
* Break cheek support into left/right sections
* Add additional sliders to control pectoral and dorsal muscle
* Add additional control of waist position
* Add sliders controlling navel prominence and position
* Added sliders to control shoulder muscle mass
* Add additional sliders controlling upper arm shape
* Additional sliders to control size and muscularity of upper and lower legs
* Additional slider to control lower leg height
* Add separate measure control for knee
=== Geometries ===
* Drop genital proxy support (these have been deferred to the user contributed assets area)
* Improve clothes tagging system
* Include default clothing outfits that clothe upper and lower body without mesh intersections
* Include more and improved hair styles
* Increase the number and richness of default topologies to include generic and muscle phenotypes
* Add additional eyelash choice
=== Materials ===
* Extend included skin materials to middle age and older individuals
* Extend the available choices for eye color
=== Pose Animate ===
* Redesign the entire rigging system for improved mesh control and pose support (2 skeleton system)
* Design basic rigs for new rigging system to support CMU animation and facial posing
* Add a pose tab with selectable poses including a T pose
* Add an expressions tab with 32 selectable facial expressions
* Allow mixing body pose and face pose, if face pose is set override face bones of body pose
* Support modeling while mesh is posed
=== System/code ===
* windows DLL dependency fix
* improvements and caching in proxy libraries for faster asset loading
* binary format for proxy files for faster loading and more compact data
* new fully data-driven modifier system
* rename of targets and modifiers for more consistency
* new skeleton API is much more understandable
* a lot of in-code documentation added
* many code cleanups and improvements
* refactors to improve re-usability of code and facilitate plugin development
* reduction of coupling between components
* makehuman can be started with a .mhm file passed as commandline argument
=== Settings ===
* Add the ability to automatically return MakeHuman to the default settings
ba5f6ea0fd20aa3a1270f3ee623f74eddfd468dc
639
638
2016-04-19T01:46:30Z
Robbaer
12
/* Highlights */
wikitext
text/x-wiki
These are preliminary release notes. 1.1.0 is currently in release candidate mode.
== Highlights ==
See also the [[:File:Infographic 110.png|release infographic]].
* Many bugfixes and stability fixes
* Many targets improved and minor modeling corrections
* Completely new skeleton and posing system, with support for pose loading from BVH, and support for custom weight and proxies
* New pose system with auto-rigging, including support for T-pose export and initial support for special poses like high heel shoes
* New skin library with age variation
* New expression system now based on a face bone rig, including a library with facial expressions.
* Improved topologies/proxies
* FBX export now supports binary FBX and should work for most third-part applications which support FBX
== Important notes ==
If you are currently using 1.0.2, there are some things that may be confusing when upgrading to 1.1.0.
'''Many assets are incompatible:''' If you have a large set of manually added assets such as clothes and targets, please be aware that these may not work as expected with the new release. Targets should mostly work. Version 1.0.2 MHM files should be possible to open, but deprecated proxies and assets may not be available. MHM files made with earlier, unsupported nightly builds may produce very unexpected results. In general, you should test your assets with the new release before trusting everything works as expected.
'''New philosophy in which assets are included per default:''' Previously all existing assets were included with the default distribution. This is no longer so. Instead, a small set of robust, full body clothing choices is supplied by default. In addition, there is now a large online area for community-designed assets, to which everyone is welcome to upload their creations. Some previously included assets have been removed from the default distribution in favor of this area. The online area can be found at http://www.makehumancommunity.org/content/user_contributed_assets.html
'''MHX has been deprecated, MHX2 is a plugin:''' The old MHX format is deprecated. While it still remains in Blender's code base, users are strongly discouraged from using it. The successor is MHX2, which is a plugin which has to be installed for both MakeHuman and Blender (you will most likely want to install exactly the same version in both). More information can be found in [[FAQ:What happened to the MHX export in MH 1.1.x and later?]].
'''Most information about MH, and services around MH, has been moved:''' The server/domain setup has been changed for various legal reasons. The main homepage http://www.makehuman.org is now a skeleton page which mostly include download links. Other services such as forum, bugtracker, wiki and so on has been moved to http://www.makehumancommunity.org. Some links might still not have been updated.
== Errata ==
A few issues have been pushed until later releases. We are aware of these and will fix them later.
* [http://bugtracker.makehumancommunity.org/issues/899 #899] - FBX export dislikes non-ascii characters
* [http://bugtracker.makehumancommunity.org/issues/945 #945] - Increasing eye bag slider breaks armature
* [http://bugtracker.makehumancommunity.org/issues/1001 #1001] - Collada export produces (skeleton) warnings on Maya import
== Detailed list of changes ==
This is a semi-structured list of changes between 1.0.2 and 1.1.0. The full list of changes (the commit list) [https://bitbucket.org/MakeHuman/makehuman/commits/branch/stable can be found at BitBucket].
=== UI ===
* nicer looking application icons by using SVG vector graphics (looks better on OSX retina displays)
* gradient background
* allow disabling/enabling grid
* drag and drop of .mhm files in makehuman
* tag filters in all libraries
=== File-Export ===
* Add support for binary FBX exporter
* Removed export for old mhx, MD5 and skel formats
* Added support for optional export of helper geometry and facial pose units
* Added support for specifying bone orientation
=== Modeling ===
* Improved labeling and consistency of modelling sliders
* Add random model generation
* Added nipple point and nipple size sliders
* Added head fat slider
* Added scale depth of parietal side slider
* Added additional sliders for shaping neck and double chin
* Added eye bag sliders
* Added support for laugh lines and dimples
* Add additional sliders controlling chin shape
* Break cheek support into left/right sections
* Add additional sliders to control pectoral and dorsal muscle
* Add additional control of waist position
* Add sliders controlling navel prominence and position
* Added sliders to control shoulder muscle mass
* Add additional sliders controlling upper arm shape
* Additional sliders to control size and muscularity of upper and lower legs
* Additional slider to control lower leg height
* Add separate measure control for knee
=== Geometries ===
* Drop genital proxy support (these have been deferred to the user contributed assets area)
* Improve clothes tagging system
* Include default clothing outfits that clothe upper and lower body without mesh intersections
* Include more and improved hair styles
* Increase the number and richness of default topologies to include generic and muscle phenotypes
* Add additional eyelash choice
=== Materials ===
* Extend included skin materials to middle age and older individuals
* Extend the available choices for eye color
=== Pose Animate ===
* Redesign the entire rigging system for improved mesh control and pose support (2 skeleton system)
* Design basic rigs for new rigging system to support CMU animation and facial posing
* Add a pose tab with selectable poses including a T pose
* Add an expressions tab with 32 selectable facial expressions
* Allow mixing body pose and face pose, if face pose is set override face bones of body pose
* Support modeling while mesh is posed
=== System/code ===
* windows DLL dependency fix
* improvements and caching in proxy libraries for faster asset loading
* binary format for proxy files for faster loading and more compact data
* new fully data-driven modifier system
* rename of targets and modifiers for more consistency
* new skeleton API is much more understandable
* a lot of in-code documentation added
* many code cleanups and improvements
* refactors to improve re-usability of code and facilitate plugin development
* reduction of coupling between components
* makehuman can be started with a .mhm file passed as commandline argument
=== Settings ===
* Add the ability to automatically return MakeHuman to the default settings
18f9a8dedd85b761c504dba175799226b5ab5576
638
637
2016-04-19T01:42:19Z
Robbaer
12
/* Highlights */
wikitext
text/x-wiki
These are preliminary release notes. 1.1.0 is currently in release candidate mode.
== Highlights ==
See also the [[:File:Infographic 110.png|release infographic]].
* Many bugfixes and stability fixes
* Many targets improved and minor modeling corrections
* Completely new skeleton and posing system, with support for pose loading from BVH, and support for custom weight and proxies
* New pose system including support for T-pose export
* Extended pose library with auto-rigging, including auto weight remapping with initial support for special poses like high heel shoes
* New skin library with age variation
* New expression system now based on a face bone rig, including a library with facial expressions.
* Improved topologies/proxies
* FBX export now supports binary FBX and should work for most third-part applications which support FBX
== Important notes ==
If you are currently using 1.0.2, there are some things that may be confusing when upgrading to 1.1.0.
'''Many assets are incompatible:''' If you have a large set of manually added assets such as clothes and targets, please be aware that these may not work as expected with the new release. Targets should mostly work. Version 1.0.2 MHM files should be possible to open, but deprecated proxies and assets may not be available. MHM files made with earlier, unsupported nightly builds may produce very unexpected results. In general, you should test your assets with the new release before trusting everything works as expected.
'''New philosophy in which assets are included per default:''' Previously all existing assets were included with the default distribution. This is no longer so. Instead, a small set of robust, full body clothing choices is supplied by default. In addition, there is now a large online area for community-designed assets, to which everyone is welcome to upload their creations. Some previously included assets have been removed from the default distribution in favor of this area. The online area can be found at http://www.makehumancommunity.org/content/user_contributed_assets.html
'''MHX has been deprecated, MHX2 is a plugin:''' The old MHX format is deprecated. While it still remains in Blender's code base, users are strongly discouraged from using it. The successor is MHX2, which is a plugin which has to be installed for both MakeHuman and Blender (you will most likely want to install exactly the same version in both). More information can be found in [[FAQ:What happened to the MHX export in MH 1.1.x and later?]].
'''Most information about MH, and services around MH, has been moved:''' The server/domain setup has been changed for various legal reasons. The main homepage http://www.makehuman.org is now a skeleton page which mostly include download links. Other services such as forum, bugtracker, wiki and so on has been moved to http://www.makehumancommunity.org. Some links might still not have been updated.
== Errata ==
A few issues have been pushed until later releases. We are aware of these and will fix them later.
* [http://bugtracker.makehumancommunity.org/issues/899 #899] - FBX export dislikes non-ascii characters
* [http://bugtracker.makehumancommunity.org/issues/945 #945] - Increasing eye bag slider breaks armature
* [http://bugtracker.makehumancommunity.org/issues/1001 #1001] - Collada export produces (skeleton) warnings on Maya import
== Detailed list of changes ==
This is a semi-structured list of changes between 1.0.2 and 1.1.0. The full list of changes (the commit list) [https://bitbucket.org/MakeHuman/makehuman/commits/branch/stable can be found at BitBucket].
=== UI ===
* nicer looking application icons by using SVG vector graphics (looks better on OSX retina displays)
* gradient background
* allow disabling/enabling grid
* drag and drop of .mhm files in makehuman
* tag filters in all libraries
=== File-Export ===
* Add support for binary FBX exporter
* Removed export for old mhx, MD5 and skel formats
* Added support for optional export of helper geometry and facial pose units
* Added support for specifying bone orientation
=== Modeling ===
* Improved labeling and consistency of modelling sliders
* Add random model generation
* Added nipple point and nipple size sliders
* Added head fat slider
* Added scale depth of parietal side slider
* Added additional sliders for shaping neck and double chin
* Added eye bag sliders
* Added support for laugh lines and dimples
* Add additional sliders controlling chin shape
* Break cheek support into left/right sections
* Add additional sliders to control pectoral and dorsal muscle
* Add additional control of waist position
* Add sliders controlling navel prominence and position
* Added sliders to control shoulder muscle mass
* Add additional sliders controlling upper arm shape
* Additional sliders to control size and muscularity of upper and lower legs
* Additional slider to control lower leg height
* Add separate measure control for knee
=== Geometries ===
* Drop genital proxy support (these have been deferred to the user contributed assets area)
* Improve clothes tagging system
* Include default clothing outfits that clothe upper and lower body without mesh intersections
* Include more and improved hair styles
* Increase the number and richness of default topologies to include generic and muscle phenotypes
* Add additional eyelash choice
=== Materials ===
* Extend included skin materials to middle age and older individuals
* Extend the available choices for eye color
=== Pose Animate ===
* Redesign the entire rigging system for improved mesh control and pose support (2 skeleton system)
* Design basic rigs for new rigging system to support CMU animation and facial posing
* Add a pose tab with selectable poses including a T pose
* Add an expressions tab with 32 selectable facial expressions
* Allow mixing body pose and face pose, if face pose is set override face bones of body pose
* Support modeling while mesh is posed
=== System/code ===
* windows DLL dependency fix
* improvements and caching in proxy libraries for faster asset loading
* binary format for proxy files for faster loading and more compact data
* new fully data-driven modifier system
* rename of targets and modifiers for more consistency
* new skeleton API is much more understandable
* a lot of in-code documentation added
* many code cleanups and improvements
* refactors to improve re-usability of code and facilitate plugin development
* reduction of coupling between components
* makehuman can be started with a .mhm file passed as commandline argument
=== Settings ===
* Add the ability to automatically return MakeHuman to the default settings
5fa8cefe364eed246f86b4c00b6d4b71f350d636
637
636
2016-04-19T01:40:38Z
Robbaer
12
/* Highlights */
wikitext
text/x-wiki
These are preliminary release notes. 1.1.0 is currently in release candidate mode.
== Highlights ==
See also the [[:File:Infographic 110.png|release infographic]].
* Many bugfixes and stability fixes
* Many targets improved and minor modeling corrections
* Completely new skeleton and posing system, with support for pose loading from BVH, and support for custom weight and proxies
* New pose system including support for T-pose export
** Extended pose library with auto-rigging, including auto weight remapping with initial support for special poses like high heel shoes
* New skin library with age variation
* New expression system now based on a face bone rig, including a library with facial expressions.
* Improved topologies/proxies
* FBX export now supports binary FBX and should work for most third-part applications which support FBX
== Important notes ==
If you are currently using 1.0.2, there are some things that may be confusing when upgrading to 1.1.0.
'''Many assets are incompatible:''' If you have a large set of manually added assets such as clothes and targets, please be aware that these may not work as expected with the new release. Targets should mostly work. Version 1.0.2 MHM files should be possible to open, but deprecated proxies and assets may not be available. MHM files made with earlier, unsupported nightly builds may produce very unexpected results. In general, you should test your assets with the new release before trusting everything works as expected.
'''New philosophy in which assets are included per default:''' Previously all existing assets were included with the default distribution. This is no longer so. Instead, a small set of robust, full body clothing choices is supplied by default. In addition, there is now a large online area for community-designed assets, to which everyone is welcome to upload their creations. Some previously included assets have been removed from the default distribution in favor of this area. The online area can be found at http://www.makehumancommunity.org/content/user_contributed_assets.html
'''MHX has been deprecated, MHX2 is a plugin:''' The old MHX format is deprecated. While it still remains in Blender's code base, users are strongly discouraged from using it. The successor is MHX2, which is a plugin which has to be installed for both MakeHuman and Blender (you will most likely want to install exactly the same version in both). More information can be found in [[FAQ:What happened to the MHX export in MH 1.1.x and later?]].
'''Most information about MH, and services around MH, has been moved:''' The server/domain setup has been changed for various legal reasons. The main homepage http://www.makehuman.org is now a skeleton page which mostly include download links. Other services such as forum, bugtracker, wiki and so on has been moved to http://www.makehumancommunity.org. Some links might still not have been updated.
== Errata ==
A few issues have been pushed until later releases. We are aware of these and will fix them later.
* [http://bugtracker.makehumancommunity.org/issues/899 #899] - FBX export dislikes non-ascii characters
* [http://bugtracker.makehumancommunity.org/issues/945 #945] - Increasing eye bag slider breaks armature
* [http://bugtracker.makehumancommunity.org/issues/1001 #1001] - Collada export produces (skeleton) warnings on Maya import
== Detailed list of changes ==
This is a semi-structured list of changes between 1.0.2 and 1.1.0. The full list of changes (the commit list) [https://bitbucket.org/MakeHuman/makehuman/commits/branch/stable can be found at BitBucket].
=== UI ===
* nicer looking application icons by using SVG vector graphics (looks better on OSX retina displays)
* gradient background
* allow disabling/enabling grid
* drag and drop of .mhm files in makehuman
* tag filters in all libraries
=== File-Export ===
* Add support for binary FBX exporter
* Removed export for old mhx, MD5 and skel formats
* Added support for optional export of helper geometry and facial pose units
* Added support for specifying bone orientation
=== Modeling ===
* Improved labeling and consistency of modelling sliders
* Add random model generation
* Added nipple point and nipple size sliders
* Added head fat slider
* Added scale depth of parietal side slider
* Added additional sliders for shaping neck and double chin
* Added eye bag sliders
* Added support for laugh lines and dimples
* Add additional sliders controlling chin shape
* Break cheek support into left/right sections
* Add additional sliders to control pectoral and dorsal muscle
* Add additional control of waist position
* Add sliders controlling navel prominence and position
* Added sliders to control shoulder muscle mass
* Add additional sliders controlling upper arm shape
* Additional sliders to control size and muscularity of upper and lower legs
* Additional slider to control lower leg height
* Add separate measure control for knee
=== Geometries ===
* Drop genital proxy support (these have been deferred to the user contributed assets area)
* Improve clothes tagging system
* Include default clothing outfits that clothe upper and lower body without mesh intersections
* Include more and improved hair styles
* Increase the number and richness of default topologies to include generic and muscle phenotypes
* Add additional eyelash choice
=== Materials ===
* Extend included skin materials to middle age and older individuals
* Extend the available choices for eye color
=== Pose Animate ===
* Redesign the entire rigging system for improved mesh control and pose support (2 skeleton system)
* Design basic rigs for new rigging system to support CMU animation and facial posing
* Add a pose tab with selectable poses including a T pose
* Add an expressions tab with 32 selectable facial expressions
* Allow mixing body pose and face pose, if face pose is set override face bones of body pose
* Support modeling while mesh is posed
=== System/code ===
* windows DLL dependency fix
* improvements and caching in proxy libraries for faster asset loading
* binary format for proxy files for faster loading and more compact data
* new fully data-driven modifier system
* rename of targets and modifiers for more consistency
* new skeleton API is much more understandable
* a lot of in-code documentation added
* many code cleanups and improvements
* refactors to improve re-usability of code and facilitate plugin development
* reduction of coupling between components
* makehuman can be started with a .mhm file passed as commandline argument
=== Settings ===
* Add the ability to automatically return MakeHuman to the default settings
a7b5c663a418cc5fbdbfff3e786f686eb790f2e0
636
635
2016-04-19T01:14:09Z
Robbaer
12
/* Highlights */
wikitext
text/x-wiki
These are preliminary release notes. 1.1.0 is currently in release candidate mode.
== Highlights ==
See also the [[:File:Infographic 110.png|release infographic]].
* Many bugfixes and stability fixes
* Many targets improved and minor modeling corrections
* Completely new skeleton and posing system, with support for pose loading from BVH, and support for custom weight and proxies
* New pose system including support for T-pose export
* Extended pose library with auto-rigging, including auto weight remapping with initial support for special poses like high heel shoes
* New skin library with age variation
* New expression system now based on a face bone rig, including a library with facial expressions.
* Improved topologies/proxies
* FBX export now supports binary FBX and should work for most third-part applications which support FBX
== Important notes ==
If you are currently using 1.0.2, there are some things that may be confusing when upgrading to 1.1.0.
'''Many assets are incompatible:''' If you have a large set of manually added assets such as clothes and targets, please be aware that these may not work as expected with the new release. Targets should mostly work. Version 1.0.2 MHM files should be possible to open, but deprecated proxies and assets may not be available. MHM files made with earlier, unsupported nightly builds may produce very unexpected results. In general, you should test your assets with the new release before trusting everything works as expected.
'''New philosophy in which assets are included per default:''' Previously all existing assets were included with the default distribution. This is no longer so. Instead, a small set of robust, full body clothing choices is supplied by default. In addition, there is now a large online area for community-designed assets, to which everyone is welcome to upload their creations. Some previously included assets have been removed from the default distribution in favor of this area. The online area can be found at http://www.makehumancommunity.org/content/user_contributed_assets.html
'''MHX has been deprecated, MHX2 is a plugin:''' The old MHX format is deprecated. While it still remains in Blender's code base, users are strongly discouraged from using it. The successor is MHX2, which is a plugin which has to be installed for both MakeHuman and Blender (you will most likely want to install exactly the same version in both). More information can be found in [[FAQ:What happened to the MHX export in MH 1.1.x and later?]].
'''Most information about MH, and services around MH, has been moved:''' The server/domain setup has been changed for various legal reasons. The main homepage http://www.makehuman.org is now a skeleton page which mostly include download links. Other services such as forum, bugtracker, wiki and so on has been moved to http://www.makehumancommunity.org. Some links might still not have been updated.
== Errata ==
A few issues have been pushed until later releases. We are aware of these and will fix them later.
* [http://bugtracker.makehumancommunity.org/issues/899 #899] - FBX export dislikes non-ascii characters
* [http://bugtracker.makehumancommunity.org/issues/945 #945] - Increasing eye bag slider breaks armature
* [http://bugtracker.makehumancommunity.org/issues/1001 #1001] - Collada export produces (skeleton) warnings on Maya import
== Detailed list of changes ==
This is a semi-structured list of changes between 1.0.2 and 1.1.0. The full list of changes (the commit list) [https://bitbucket.org/MakeHuman/makehuman/commits/branch/stable can be found at BitBucket].
=== UI ===
* nicer looking application icons by using SVG vector graphics (looks better on OSX retina displays)
* gradient background
* allow disabling/enabling grid
* drag and drop of .mhm files in makehuman
* tag filters in all libraries
=== File-Export ===
* Add support for binary FBX exporter
* Removed export for old mhx, MD5 and skel formats
* Added support for optional export of helper geometry and facial pose units
* Added support for specifying bone orientation
=== Modeling ===
* Improved labeling and consistency of modelling sliders
* Add random model generation
* Added nipple point and nipple size sliders
* Added head fat slider
* Added scale depth of parietal side slider
* Added additional sliders for shaping neck and double chin
* Added eye bag sliders
* Added support for laugh lines and dimples
* Add additional sliders controlling chin shape
* Break cheek support into left/right sections
* Add additional sliders to control pectoral and dorsal muscle
* Add additional control of waist position
* Add sliders controlling navel prominence and position
* Added sliders to control shoulder muscle mass
* Add additional sliders controlling upper arm shape
* Additional sliders to control size and muscularity of upper and lower legs
* Additional slider to control lower leg height
* Add separate measure control for knee
=== Geometries ===
* Drop genital proxy support (these have been deferred to the user contributed assets area)
* Improve clothes tagging system
* Include default clothing outfits that clothe upper and lower body without mesh intersections
* Include more and improved hair styles
* Increase the number and richness of default topologies to include generic and muscle phenotypes
* Add additional eyelash choice
=== Materials ===
* Extend included skin materials to middle age and older individuals
* Extend the available choices for eye color
=== Pose Animate ===
* Redesign the entire rigging system for improved mesh control and pose support (2 skeleton system)
* Design basic rigs for new rigging system to support CMU animation and facial posing
* Add a pose tab with selectable poses including a T pose
* Add an expressions tab with 32 selectable facial expressions
* Allow mixing body pose and face pose, if face pose is set override face bones of body pose
* Support modeling while mesh is posed
=== System/code ===
* windows DLL dependency fix
* improvements and caching in proxy libraries for faster asset loading
* binary format for proxy files for faster loading and more compact data
* new fully data-driven modifier system
* rename of targets and modifiers for more consistency
* new skeleton API is much more understandable
* a lot of in-code documentation added
* many code cleanups and improvements
* refactors to improve re-usability of code and facilitate plugin development
* reduction of coupling between components
* makehuman can be started with a .mhm file passed as commandline argument
=== Settings ===
* Add the ability to automatically return MakeHuman to the default settings
80675c14b59c1047eb6da90f8909f35ec83de6bc
635
634
2016-04-19T01:13:18Z
Robbaer
12
/* Highlights */
wikitext
text/x-wiki
These are preliminary release notes. 1.1.0 is currently in release candidate mode.
== Highlights ==
See also the [[:File:Infographic 110.png|release infographic]].
* Many bugfixes and stability fixes
* Many targets improved and minor modeling corrections
* Completely new skeleton and posing system, with support for pose loading from BVH, and support for custom weight and proxies
* New pose system including support for T-pose export
** Extended pose library with auto-rigging, including auto weight remapping with initial support for special poses like high heel shoes
* New skin library with age variation
* New expression system now based on a face bone rig, including a library with facial expressions.
* Improved topologies/proxies
* FBX export now supports binary FBX and should work for most third-part applications which support FBX
== Important notes ==
If you are currently using 1.0.2, there are some things that may be confusing when upgrading to 1.1.0.
'''Many assets are incompatible:''' If you have a large set of manually added assets such as clothes and targets, please be aware that these may not work as expected with the new release. Targets should mostly work. Version 1.0.2 MHM files should be possible to open, but deprecated proxies and assets may not be available. MHM files made with earlier, unsupported nightly builds may produce very unexpected results. In general, you should test your assets with the new release before trusting everything works as expected.
'''New philosophy in which assets are included per default:''' Previously all existing assets were included with the default distribution. This is no longer so. Instead, a small set of robust, full body clothing choices is supplied by default. In addition, there is now a large online area for community-designed assets, to which everyone is welcome to upload their creations. Some previously included assets have been removed from the default distribution in favor of this area. The online area can be found at http://www.makehumancommunity.org/content/user_contributed_assets.html
'''MHX has been deprecated, MHX2 is a plugin:''' The old MHX format is deprecated. While it still remains in Blender's code base, users are strongly discouraged from using it. The successor is MHX2, which is a plugin which has to be installed for both MakeHuman and Blender (you will most likely want to install exactly the same version in both). More information can be found in [[FAQ:What happened to the MHX export in MH 1.1.x and later?]].
'''Most information about MH, and services around MH, has been moved:''' The server/domain setup has been changed for various legal reasons. The main homepage http://www.makehuman.org is now a skeleton page which mostly include download links. Other services such as forum, bugtracker, wiki and so on has been moved to http://www.makehumancommunity.org. Some links might still not have been updated.
== Errata ==
A few issues have been pushed until later releases. We are aware of these and will fix them later.
* [http://bugtracker.makehumancommunity.org/issues/899 #899] - FBX export dislikes non-ascii characters
* [http://bugtracker.makehumancommunity.org/issues/945 #945] - Increasing eye bag slider breaks armature
* [http://bugtracker.makehumancommunity.org/issues/1001 #1001] - Collada export produces (skeleton) warnings on Maya import
== Detailed list of changes ==
This is a semi-structured list of changes between 1.0.2 and 1.1.0. The full list of changes (the commit list) [https://bitbucket.org/MakeHuman/makehuman/commits/branch/stable can be found at BitBucket].
=== UI ===
* nicer looking application icons by using SVG vector graphics (looks better on OSX retina displays)
* gradient background
* allow disabling/enabling grid
* drag and drop of .mhm files in makehuman
* tag filters in all libraries
=== File-Export ===
* Add support for binary FBX exporter
* Removed export for old mhx, MD5 and skel formats
* Added support for optional export of helper geometry and facial pose units
* Added support for specifying bone orientation
=== Modeling ===
* Improved labeling and consistency of modelling sliders
* Add random model generation
* Added nipple point and nipple size sliders
* Added head fat slider
* Added scale depth of parietal side slider
* Added additional sliders for shaping neck and double chin
* Added eye bag sliders
* Added support for laugh lines and dimples
* Add additional sliders controlling chin shape
* Break cheek support into left/right sections
* Add additional sliders to control pectoral and dorsal muscle
* Add additional control of waist position
* Add sliders controlling navel prominence and position
* Added sliders to control shoulder muscle mass
* Add additional sliders controlling upper arm shape
* Additional sliders to control size and muscularity of upper and lower legs
* Additional slider to control lower leg height
* Add separate measure control for knee
=== Geometries ===
* Drop genital proxy support (these have been deferred to the user contributed assets area)
* Improve clothes tagging system
* Include default clothing outfits that clothe upper and lower body without mesh intersections
* Include more and improved hair styles
* Increase the number and richness of default topologies to include generic and muscle phenotypes
* Add additional eyelash choice
=== Materials ===
* Extend included skin materials to middle age and older individuals
* Extend the available choices for eye color
=== Pose Animate ===
* Redesign the entire rigging system for improved mesh control and pose support (2 skeleton system)
* Design basic rigs for new rigging system to support CMU animation and facial posing
* Add a pose tab with selectable poses including a T pose
* Add an expressions tab with 32 selectable facial expressions
* Allow mixing body pose and face pose, if face pose is set override face bones of body pose
* Support modeling while mesh is posed
=== System/code ===
* windows DLL dependency fix
* improvements and caching in proxy libraries for faster asset loading
* binary format for proxy files for faster loading and more compact data
* new fully data-driven modifier system
* rename of targets and modifiers for more consistency
* new skeleton API is much more understandable
* a lot of in-code documentation added
* many code cleanups and improvements
* refactors to improve re-usability of code and facilitate plugin development
* reduction of coupling between components
* makehuman can be started with a .mhm file passed as commandline argument
=== Settings ===
* Add the ability to automatically return MakeHuman to the default settings
a7b5c663a418cc5fbdbfff3e786f686eb790f2e0
634
633
2016-04-19T01:10:51Z
Robbaer
12
/* Highlights */
wikitext
text/x-wiki
These are preliminary release notes. 1.1.0 is currently in release candidate mode.
== Highlights ==
See also the [[:File:Infographic 110.png|release infographic]].
* Many bugfixes and stability fixes
* Many targets improved and minor modeling corrections
* Completely new skeleton and posing system, with support for pose loading from BVH, and support for custom weight and proxies
* New pose system including support for T-pose export
* Extended pose library with auto-rigging, including auto weight remapping with initial support for special poses like high heel shoes
* New skin library with age variation
* New expression system now based on a face bone rig, including a library with facial expressions.
* Improved topologies/proxies
* FBX export now supports binary FBX and should work for most third-part applications which support FBX
== Important notes ==
If you are currently using 1.0.2, there are some things that may be confusing when upgrading to 1.1.0.
'''Many assets are incompatible:''' If you have a large set of manually added assets such as clothes and targets, please be aware that these may not work as expected with the new release. Targets should mostly work. Version 1.0.2 MHM files should be possible to open, but deprecated proxies and assets may not be available. MHM files made with earlier, unsupported nightly builds may produce very unexpected results. In general, you should test your assets with the new release before trusting everything works as expected.
'''New philosophy in which assets are included per default:''' Previously all existing assets were included with the default distribution. This is no longer so. Instead, a small set of robust, full body clothing choices is supplied by default. In addition, there is now a large online area for community-designed assets, to which everyone is welcome to upload their creations. Some previously included assets have been removed from the default distribution in favor of this area. The online area can be found at http://www.makehumancommunity.org/content/user_contributed_assets.html
'''MHX has been deprecated, MHX2 is a plugin:''' The old MHX format is deprecated. While it still remains in Blender's code base, users are strongly discouraged from using it. The successor is MHX2, which is a plugin which has to be installed for both MakeHuman and Blender (you will most likely want to install exactly the same version in both). More information can be found in [[FAQ:What happened to the MHX export in MH 1.1.x and later?]].
'''Most information about MH, and services around MH, has been moved:''' The server/domain setup has been changed for various legal reasons. The main homepage http://www.makehuman.org is now a skeleton page which mostly include download links. Other services such as forum, bugtracker, wiki and so on has been moved to http://www.makehumancommunity.org. Some links might still not have been updated.
== Errata ==
A few issues have been pushed until later releases. We are aware of these and will fix them later.
* [http://bugtracker.makehumancommunity.org/issues/899 #899] - FBX export dislikes non-ascii characters
* [http://bugtracker.makehumancommunity.org/issues/945 #945] - Increasing eye bag slider breaks armature
* [http://bugtracker.makehumancommunity.org/issues/1001 #1001] - Collada export produces (skeleton) warnings on Maya import
== Detailed list of changes ==
This is a semi-structured list of changes between 1.0.2 and 1.1.0. The full list of changes (the commit list) [https://bitbucket.org/MakeHuman/makehuman/commits/branch/stable can be found at BitBucket].
=== UI ===
* nicer looking application icons by using SVG vector graphics (looks better on OSX retina displays)
* gradient background
* allow disabling/enabling grid
* drag and drop of .mhm files in makehuman
* tag filters in all libraries
=== File-Export ===
* Add support for binary FBX exporter
* Removed export for old mhx, MD5 and skel formats
* Added support for optional export of helper geometry and facial pose units
* Added support for specifying bone orientation
=== Modeling ===
* Improved labeling and consistency of modelling sliders
* Add random model generation
* Added nipple point and nipple size sliders
* Added head fat slider
* Added scale depth of parietal side slider
* Added additional sliders for shaping neck and double chin
* Added eye bag sliders
* Added support for laugh lines and dimples
* Add additional sliders controlling chin shape
* Break cheek support into left/right sections
* Add additional sliders to control pectoral and dorsal muscle
* Add additional control of waist position
* Add sliders controlling navel prominence and position
* Added sliders to control shoulder muscle mass
* Add additional sliders controlling upper arm shape
* Additional sliders to control size and muscularity of upper and lower legs
* Additional slider to control lower leg height
* Add separate measure control for knee
=== Geometries ===
* Drop genital proxy support (these have been deferred to the user contributed assets area)
* Improve clothes tagging system
* Include default clothing outfits that clothe upper and lower body without mesh intersections
* Include more and improved hair styles
* Increase the number and richness of default topologies to include generic and muscle phenotypes
* Add additional eyelash choice
=== Materials ===
* Extend included skin materials to middle age and older individuals
* Extend the available choices for eye color
=== Pose Animate ===
* Redesign the entire rigging system for improved mesh control and pose support (2 skeleton system)
* Design basic rigs for new rigging system to support CMU animation and facial posing
* Add a pose tab with selectable poses including a T pose
* Add an expressions tab with 32 selectable facial expressions
* Allow mixing body pose and face pose, if face pose is set override face bones of body pose
* Support modeling while mesh is posed
=== System/code ===
* windows DLL dependency fix
* improvements and caching in proxy libraries for faster asset loading
* binary format for proxy files for faster loading and more compact data
* new fully data-driven modifier system
* rename of targets and modifiers for more consistency
* new skeleton API is much more understandable
* a lot of in-code documentation added
* many code cleanups and improvements
* refactors to improve re-usability of code and facilitate plugin development
* reduction of coupling between components
* makehuman can be started with a .mhm file passed as commandline argument
=== Settings ===
* Add the ability to automatically return MakeHuman to the default settings
5fa8cefe364eed246f86b4c00b6d4b71f350d636
633
632
2016-04-19T01:08:35Z
Robbaer
12
/* Highlights */
wikitext
text/x-wiki
These are preliminary release notes. 1.1.0 is currently in release candidate mode.
== Highlights ==
See also the [[:File:Infographic 110.png|release infographic]].
* Many bugfixes and stability fixes
* Many targets improved and minor modeling corrections
* Completely new skeleton and posing system, with support for pose loading from BVH, and support for custom weight and proxies
* Mesh can be exported in T-pose
* Extended pose library with auto-rigging, including auto weight remapping with initial support for special poses like high heel shoes
* New skin library with age variation
* New expression system now based on a face bone rig, including a library with facial expressions.
* Improved topologies/proxies
* FBX export now supports binary FBX and should work for most third-part applications which support FBX
== Important notes ==
If you are currently using 1.0.2, there are some things that may be confusing when upgrading to 1.1.0.
'''Many assets are incompatible:''' If you have a large set of manually added assets such as clothes and targets, please be aware that these may not work as expected with the new release. Targets should mostly work. Version 1.0.2 MHM files should be possible to open, but deprecated proxies and assets may not be available. MHM files made with earlier, unsupported nightly builds may produce very unexpected results. In general, you should test your assets with the new release before trusting everything works as expected.
'''New philosophy in which assets are included per default:''' Previously all existing assets were included with the default distribution. This is no longer so. Instead, a small set of robust, full body clothing choices is supplied by default. In addition, there is now a large online area for community-designed assets, to which everyone is welcome to upload their creations. Some previously included assets have been removed from the default distribution in favor of this area. The online area can be found at http://www.makehumancommunity.org/content/user_contributed_assets.html
'''MHX has been deprecated, MHX2 is a plugin:''' The old MHX format is deprecated. While it still remains in Blender's code base, users are strongly discouraged from using it. The successor is MHX2, which is a plugin which has to be installed for both MakeHuman and Blender (you will most likely want to install exactly the same version in both). More information can be found in [[FAQ:What happened to the MHX export in MH 1.1.x and later?]].
'''Most information about MH, and services around MH, has been moved:''' The server/domain setup has been changed for various legal reasons. The main homepage http://www.makehuman.org is now a skeleton page which mostly include download links. Other services such as forum, bugtracker, wiki and so on has been moved to http://www.makehumancommunity.org. Some links might still not have been updated.
== Errata ==
A few issues have been pushed until later releases. We are aware of these and will fix them later.
* [http://bugtracker.makehumancommunity.org/issues/899 #899] - FBX export dislikes non-ascii characters
* [http://bugtracker.makehumancommunity.org/issues/945 #945] - Increasing eye bag slider breaks armature
* [http://bugtracker.makehumancommunity.org/issues/1001 #1001] - Collada export produces (skeleton) warnings on Maya import
== Detailed list of changes ==
This is a semi-structured list of changes between 1.0.2 and 1.1.0. The full list of changes (the commit list) [https://bitbucket.org/MakeHuman/makehuman/commits/branch/stable can be found at BitBucket].
=== UI ===
* nicer looking application icons by using SVG vector graphics (looks better on OSX retina displays)
* gradient background
* allow disabling/enabling grid
* drag and drop of .mhm files in makehuman
* tag filters in all libraries
=== File-Export ===
* Add support for binary FBX exporter
* Removed export for old mhx, MD5 and skel formats
* Added support for optional export of helper geometry and facial pose units
* Added support for specifying bone orientation
=== Modeling ===
* Improved labeling and consistency of modelling sliders
* Add random model generation
* Added nipple point and nipple size sliders
* Added head fat slider
* Added scale depth of parietal side slider
* Added additional sliders for shaping neck and double chin
* Added eye bag sliders
* Added support for laugh lines and dimples
* Add additional sliders controlling chin shape
* Break cheek support into left/right sections
* Add additional sliders to control pectoral and dorsal muscle
* Add additional control of waist position
* Add sliders controlling navel prominence and position
* Added sliders to control shoulder muscle mass
* Add additional sliders controlling upper arm shape
* Additional sliders to control size and muscularity of upper and lower legs
* Additional slider to control lower leg height
* Add separate measure control for knee
=== Geometries ===
* Drop genital proxy support (these have been deferred to the user contributed assets area)
* Improve clothes tagging system
* Include default clothing outfits that clothe upper and lower body without mesh intersections
* Include more and improved hair styles
* Increase the number and richness of default topologies to include generic and muscle phenotypes
* Add additional eyelash choice
=== Materials ===
* Extend included skin materials to middle age and older individuals
* Extend the available choices for eye color
=== Pose Animate ===
* Redesign the entire rigging system for improved mesh control and pose support (2 skeleton system)
* Design basic rigs for new rigging system to support CMU animation and facial posing
* Add a pose tab with selectable poses including a T pose
* Add an expressions tab with 32 selectable facial expressions
* Allow mixing body pose and face pose, if face pose is set override face bones of body pose
* Support modeling while mesh is posed
=== System/code ===
* windows DLL dependency fix
* improvements and caching in proxy libraries for faster asset loading
* binary format for proxy files for faster loading and more compact data
* new fully data-driven modifier system
* rename of targets and modifiers for more consistency
* new skeleton API is much more understandable
* a lot of in-code documentation added
* many code cleanups and improvements
* refactors to improve re-usability of code and facilitate plugin development
* reduction of coupling between components
* makehuman can be started with a .mhm file passed as commandline argument
=== Settings ===
* Add the ability to automatically return MakeHuman to the default settings
b40f87291c90dbb025da6340a49db88612ce117b
632
630
2016-04-19T01:06:51Z
Robbaer
12
/* Highlights */
wikitext
text/x-wiki
These are preliminary release notes. 1.1.0 is currently in release candidate mode.
== Highlights ==
See also the [[:File:Infographic 110.png|release infographic]].
* Many bugfixes and stability fixes
* Many improved targets, fixed and modeling corrections
* Completely new skeleton and posing system, with support for pose loading from BVH, and support for custom weight and proxies
* Mesh can be exported in T-pose
* Extended pose library with auto-rigging, including auto weight remapping with initial support for special poses like high heel shoes
* New skin library with age variation
* New expression system now based on a face bone rig, including a library with facial expressions.
* Improved topologies/proxies
* FBX export now supports binary FBX and should work for most third-part applications which support FBX
== Important notes ==
If you are currently using 1.0.2, there are some things that may be confusing when upgrading to 1.1.0.
'''Many assets are incompatible:''' If you have a large set of manually added assets such as clothes and targets, please be aware that these may not work as expected with the new release. Targets should mostly work. Version 1.0.2 MHM files should be possible to open, but deprecated proxies and assets may not be available. MHM files made with earlier, unsupported nightly builds may produce very unexpected results. In general, you should test your assets with the new release before trusting everything works as expected.
'''New philosophy in which assets are included per default:''' Previously all existing assets were included with the default distribution. This is no longer so. Instead, a small set of robust, full body clothing choices is supplied by default. In addition, there is now a large online area for community-designed assets, to which everyone is welcome to upload their creations. Some previously included assets have been removed from the default distribution in favor of this area. The online area can be found at http://www.makehumancommunity.org/content/user_contributed_assets.html
'''MHX has been deprecated, MHX2 is a plugin:''' The old MHX format is deprecated. While it still remains in Blender's code base, users are strongly discouraged from using it. The successor is MHX2, which is a plugin which has to be installed for both MakeHuman and Blender (you will most likely want to install exactly the same version in both). More information can be found in [[FAQ:What happened to the MHX export in MH 1.1.x and later?]].
'''Most information about MH, and services around MH, has been moved:''' The server/domain setup has been changed for various legal reasons. The main homepage http://www.makehuman.org is now a skeleton page which mostly include download links. Other services such as forum, bugtracker, wiki and so on has been moved to http://www.makehumancommunity.org. Some links might still not have been updated.
== Errata ==
A few issues have been pushed until later releases. We are aware of these and will fix them later.
* [http://bugtracker.makehumancommunity.org/issues/899 #899] - FBX export dislikes non-ascii characters
* [http://bugtracker.makehumancommunity.org/issues/945 #945] - Increasing eye bag slider breaks armature
* [http://bugtracker.makehumancommunity.org/issues/1001 #1001] - Collada export produces (skeleton) warnings on Maya import
== Detailed list of changes ==
This is a semi-structured list of changes between 1.0.2 and 1.1.0. The full list of changes (the commit list) [https://bitbucket.org/MakeHuman/makehuman/commits/branch/stable can be found at BitBucket].
=== UI ===
* nicer looking application icons by using SVG vector graphics (looks better on OSX retina displays)
* gradient background
* allow disabling/enabling grid
* drag and drop of .mhm files in makehuman
* tag filters in all libraries
=== File-Export ===
* Add support for binary FBX exporter
* Removed export for old mhx, MD5 and skel formats
* Added support for optional export of helper geometry and facial pose units
* Added support for specifying bone orientation
=== Modeling ===
* Improved labeling and consistency of modelling sliders
* Add random model generation
* Added nipple point and nipple size sliders
* Added head fat slider
* Added scale depth of parietal side slider
* Added additional sliders for shaping neck and double chin
* Added eye bag sliders
* Added support for laugh lines and dimples
* Add additional sliders controlling chin shape
* Break cheek support into left/right sections
* Add additional sliders to control pectoral and dorsal muscle
* Add additional control of waist position
* Add sliders controlling navel prominence and position
* Added sliders to control shoulder muscle mass
* Add additional sliders controlling upper arm shape
* Additional sliders to control size and muscularity of upper and lower legs
* Additional slider to control lower leg height
* Add separate measure control for knee
=== Geometries ===
* Drop genital proxy support (these have been deferred to the user contributed assets area)
* Improve clothes tagging system
* Include default clothing outfits that clothe upper and lower body without mesh intersections
* Include more and improved hair styles
* Increase the number and richness of default topologies to include generic and muscle phenotypes
* Add additional eyelash choice
=== Materials ===
* Extend included skin materials to middle age and older individuals
* Extend the available choices for eye color
=== Pose Animate ===
* Redesign the entire rigging system for improved mesh control and pose support (2 skeleton system)
* Design basic rigs for new rigging system to support CMU animation and facial posing
* Add a pose tab with selectable poses including a T pose
* Add an expressions tab with 32 selectable facial expressions
* Allow mixing body pose and face pose, if face pose is set override face bones of body pose
* Support modeling while mesh is posed
=== System/code ===
* windows DLL dependency fix
* improvements and caching in proxy libraries for faster asset loading
* binary format for proxy files for faster loading and more compact data
* new fully data-driven modifier system
* rename of targets and modifiers for more consistency
* new skeleton API is much more understandable
* a lot of in-code documentation added
* many code cleanups and improvements
* refactors to improve re-usability of code and facilitate plugin development
* reduction of coupling between components
* makehuman can be started with a .mhm file passed as commandline argument
=== Settings ===
* Add the ability to automatically return MakeHuman to the default settings
37a2db1b5d05917191163b734d1e5e9db18e407b
630
629
2016-04-17T11:40:59Z
Joepal
14
/* Detailed list of changes */
wikitext
text/x-wiki
These are preliminary release notes. 1.1.0 is currently in release candidate mode.
== Highlights ==
See also the [[:File:Infographic 110.png|release infographic]].
* Many bugfixes and stability fixes
* Many targets improved, fixed modeling mistakes
* Completely new skeleton and posing system, with support for pose loading from BVH, and support for custom weight and proxies
* Mesh can be exported in T-pose
* Extended pose library with auto-rigging, including auto weight remapping with initial support for special poses like high heel shoes
* New skin library with age variation
* New expression system now based on a face bone rig, including a library with facial expressions.
* Improved topologies/proxies
* FBX export now supports binary FBX and should work for most third-part applications which support FBX
== Important notes ==
If you are currently using 1.0.2, there are some things that may be confusing when upgrading to 1.1.0.
'''Many assets are incompatible:''' If you have a large set of manually added assets such as clothes and targets, please be aware that these may not work as expected with the new release. Targets should mostly work. Version 1.0.2 MHM files should be possible to open, but deprecated proxies and assets may not be available. MHM files made with earlier, unsupported nightly builds may produce very unexpected results. In general, you should test your assets with the new release before trusting everything works as expected.
'''New philosophy in which assets are included per default:''' Previously all existing assets were included with the default distribution. This is no longer so. Instead, a small set of robust, full body clothing choices is supplied by default. In addition, there is now a large online area for community-designed assets, to which everyone is welcome to upload their creations. Some previously included assets have been removed from the default distribution in favor of this area. The online area can be found at http://www.makehumancommunity.org/content/user_contributed_assets.html
'''MHX has been deprecated, MHX2 is a plugin:''' The old MHX format is deprecated. While it still remains in Blender's code base, users are strongly discouraged from using it. The successor is MHX2, which is a plugin which has to be installed for both MakeHuman and Blender (you will most likely want to install exactly the same version in both). More information can be found in [[FAQ:What happened to the MHX export in MH 1.1.x and later?]].
'''Most information about MH, and services around MH, has been moved:''' The server/domain setup has been changed for various legal reasons. The main homepage http://www.makehuman.org is now a skeleton page which mostly include download links. Other services such as forum, bugtracker, wiki and so on has been moved to http://www.makehumancommunity.org. Some links might still not have been updated.
== Errata ==
A few issues have been pushed until later releases. We are aware of these and will fix them later.
* [http://bugtracker.makehumancommunity.org/issues/899 #899] - FBX export dislikes non-ascii characters
* [http://bugtracker.makehumancommunity.org/issues/945 #945] - Increasing eye bag slider breaks armature
* [http://bugtracker.makehumancommunity.org/issues/1001 #1001] - Collada export produces (skeleton) warnings on Maya import
== Detailed list of changes ==
This is a semi-structured list of changes between 1.0.2 and 1.1.0. The full list of changes (the commit list) [https://bitbucket.org/MakeHuman/makehuman/commits/branch/stable can be found at BitBucket].
=== UI ===
* nicer looking application icons by using SVG vector graphics (looks better on OSX retina displays)
* gradient background
* allow disabling/enabling grid
* drag and drop of .mhm files in makehuman
* tag filters in all libraries
=== File-Export ===
* Add support for binary FBX exporter
* Removed export for old mhx, MD5 and skel formats
* Added support for optional export of helper geometry and facial pose units
* Added support for specifying bone orientation
=== Modeling ===
* Improved labeling and consistency of modelling sliders
* Add random model generation
* Added nipple point and nipple size sliders
* Added head fat slider
* Added scale depth of parietal side slider
* Added additional sliders for shaping neck and double chin
* Added eye bag sliders
* Added support for laugh lines and dimples
* Add additional sliders controlling chin shape
* Break cheek support into left/right sections
* Add additional sliders to control pectoral and dorsal muscle
* Add additional control of waist position
* Add sliders controlling navel prominence and position
* Added sliders to control shoulder muscle mass
* Add additional sliders controlling upper arm shape
* Additional sliders to control size and muscularity of upper and lower legs
* Additional slider to control lower leg height
* Add separate measure control for knee
=== Geometries ===
* Drop genital proxy support (these have been deferred to the user contributed assets area)
* Improve clothes tagging system
* Include default clothing outfits that clothe upper and lower body without mesh intersections
* Include more and improved hair styles
* Increase the number and richness of default topologies to include generic and muscle phenotypes
* Add additional eyelash choice
=== Materials ===
* Extend included skin materials to middle age and older individuals
* Extend the available choices for eye color
=== Pose Animate ===
* Redesign the entire rigging system for improved mesh control and pose support (2 skeleton system)
* Design basic rigs for new rigging system to support CMU animation and facial posing
* Add a pose tab with selectable poses including a T pose
* Add an expressions tab with 32 selectable facial expressions
* Allow mixing body pose and face pose, if face pose is set override face bones of body pose
* Support modeling while mesh is posed
=== System/code ===
* windows DLL dependency fix
* improvements and caching in proxy libraries for faster asset loading
* binary format for proxy files for faster loading and more compact data
* new fully data-driven modifier system
* rename of targets and modifiers for more consistency
* new skeleton API is much more understandable
* a lot of in-code documentation added
* many code cleanups and improvements
* refactors to improve re-usability of code and facilitate plugin development
* reduction of coupling between components
* makehuman can be started with a .mhm file passed as commandline argument
=== Settings ===
* Add the ability to automatically return MakeHuman to the default settings
dd068e4edb71924228b5073b0bbfa40655e231f8
629
628
2016-04-17T11:38:59Z
Joepal
14
/* Errata */
wikitext
text/x-wiki
These are preliminary release notes. 1.1.0 is currently in release candidate mode.
== Highlights ==
See also the [[:File:Infographic 110.png|release infographic]].
* Many bugfixes and stability fixes
* Many targets improved, fixed modeling mistakes
* Completely new skeleton and posing system, with support for pose loading from BVH, and support for custom weight and proxies
* Mesh can be exported in T-pose
* Extended pose library with auto-rigging, including auto weight remapping with initial support for special poses like high heel shoes
* New skin library with age variation
* New expression system now based on a face bone rig, including a library with facial expressions.
* Improved topologies/proxies
* FBX export now supports binary FBX and should work for most third-part applications which support FBX
== Important notes ==
If you are currently using 1.0.2, there are some things that may be confusing when upgrading to 1.1.0.
'''Many assets are incompatible:''' If you have a large set of manually added assets such as clothes and targets, please be aware that these may not work as expected with the new release. Targets should mostly work. Version 1.0.2 MHM files should be possible to open, but deprecated proxies and assets may not be available. MHM files made with earlier, unsupported nightly builds may produce very unexpected results. In general, you should test your assets with the new release before trusting everything works as expected.
'''New philosophy in which assets are included per default:''' Previously all existing assets were included with the default distribution. This is no longer so. Instead, a small set of robust, full body clothing choices is supplied by default. In addition, there is now a large online area for community-designed assets, to which everyone is welcome to upload their creations. Some previously included assets have been removed from the default distribution in favor of this area. The online area can be found at http://www.makehumancommunity.org/content/user_contributed_assets.html
'''MHX has been deprecated, MHX2 is a plugin:''' The old MHX format is deprecated. While it still remains in Blender's code base, users are strongly discouraged from using it. The successor is MHX2, which is a plugin which has to be installed for both MakeHuman and Blender (you will most likely want to install exactly the same version in both). More information can be found in [[FAQ:What happened to the MHX export in MH 1.1.x and later?]].
'''Most information about MH, and services around MH, has been moved:''' The server/domain setup has been changed for various legal reasons. The main homepage http://www.makehuman.org is now a skeleton page which mostly include download links. Other services such as forum, bugtracker, wiki and so on has been moved to http://www.makehumancommunity.org. Some links might still not have been updated.
== Errata ==
A few issues have been pushed until later releases. We are aware of these and will fix them later.
* [http://bugtracker.makehumancommunity.org/issues/899 #899] - FBX export dislikes non-ascii characters
* [http://bugtracker.makehumancommunity.org/issues/945 #945] - Increasing eye bag slider breaks armature
* [http://bugtracker.makehumancommunity.org/issues/1001 #1001] - Collada export produces (skeleton) warnings on Maya import
== Detailed list of changes ==
This is a semi-structured list of changes between 1.0.2 and 1.1.0
=== UI ===
* nicer looking application icons by using SVG vector graphics (looks better on OSX retina displays)
* gradient background
* allow disabling/enabling grid
* drag and drop of .mhm files in makehuman
* tag filters in all libraries
=== File-Export ===
* Add support for binary FBX exporter
* Removed export for old mhx, MD5 and skel formats
* Added support for optional export of helper geometry and facial pose units
* Added support for specifying bone orientation
=== Modeling ===
* Improved labeling and consistency of modelling sliders
* Add random model generation
* Added nipple point and nipple size sliders
* Added head fat slider
* Added scale depth of parietal side slider
* Added additional sliders for shaping neck and double chin
* Added eye bag sliders
* Added support for laugh lines and dimples
* Add additional sliders controlling chin shape
* Break cheek support into left/right sections
* Add additional sliders to control pectoral and dorsal muscle
* Add additional control of waist position
* Add sliders controlling navel prominence and position
* Added sliders to control shoulder muscle mass
* Add additional sliders controlling upper arm shape
* Additional sliders to control size and muscularity of upper and lower legs
* Additional slider to control lower leg height
* Add separate measure control for knee
=== Geometries ===
* Drop genital proxy support (these have been deferred to the user contributed assets area)
* Improve clothes tagging system
* Include default clothing outfits that clothe upper and lower body without mesh intersections
* Include more and improved hair styles
* Increase the number and richness of default topologies to include generic and muscle phenotypes
* Add additional eyelash choice
=== Materials ===
* Extend included skin materials to middle age and older individuals
* Extend the available choices for eye color
=== Pose Animate ===
* Redesign the entire rigging system for improved mesh control and pose support (2 skeleton system)
* Design basic rigs for new rigging system to support CMU animation and facial posing
* Add a pose tab with selectable poses including a T pose
* Add an expressions tab with 32 selectable facial expressions
* Allow mixing body pose and face pose, if face pose is set override face bones of body pose
* Support modeling while mesh is posed
=== System/code ===
* windows DLL dependency fix
* improvements and caching in proxy libraries for faster asset loading
* binary format for proxy files for faster loading and more compact data
* new fully data-driven modifier system
* rename of targets and modifiers for more consistency
* new skeleton API is much more understandable
* a lot of in-code documentation added
* many code cleanups and improvements
* refactors to improve re-usability of code and facilitate plugin development
* reduction of coupling between components
* makehuman can be started with a .mhm file passed as commandline argument
=== Settings ===
* Add the ability to automatically return MakeHuman to the default settings
0b3442bd9f82b9ee05592f873bae46fa8f6a042d
628
627
2016-04-17T11:37:20Z
Joepal
14
wikitext
text/x-wiki
These are preliminary release notes. 1.1.0 is currently in release candidate mode.
== Highlights ==
See also the [[:File:Infographic 110.png|release infographic]].
* Many bugfixes and stability fixes
* Many targets improved, fixed modeling mistakes
* Completely new skeleton and posing system, with support for pose loading from BVH, and support for custom weight and proxies
* Mesh can be exported in T-pose
* Extended pose library with auto-rigging, including auto weight remapping with initial support for special poses like high heel shoes
* New skin library with age variation
* New expression system now based on a face bone rig, including a library with facial expressions.
* Improved topologies/proxies
* FBX export now supports binary FBX and should work for most third-part applications which support FBX
== Important notes ==
If you are currently using 1.0.2, there are some things that may be confusing when upgrading to 1.1.0.
'''Many assets are incompatible:''' If you have a large set of manually added assets such as clothes and targets, please be aware that these may not work as expected with the new release. Targets should mostly work. Version 1.0.2 MHM files should be possible to open, but deprecated proxies and assets may not be available. MHM files made with earlier, unsupported nightly builds may produce very unexpected results. In general, you should test your assets with the new release before trusting everything works as expected.
'''New philosophy in which assets are included per default:''' Previously all existing assets were included with the default distribution. This is no longer so. Instead, a small set of robust, full body clothing choices is supplied by default. In addition, there is now a large online area for community-designed assets, to which everyone is welcome to upload their creations. Some previously included assets have been removed from the default distribution in favor of this area. The online area can be found at http://www.makehumancommunity.org/content/user_contributed_assets.html
'''MHX has been deprecated, MHX2 is a plugin:''' The old MHX format is deprecated. While it still remains in Blender's code base, users are strongly discouraged from using it. The successor is MHX2, which is a plugin which has to be installed for both MakeHuman and Blender (you will most likely want to install exactly the same version in both). More information can be found in [[FAQ:What happened to the MHX export in MH 1.1.x and later?]].
'''Most information about MH, and services around MH, has been moved:''' The server/domain setup has been changed for various legal reasons. The main homepage http://www.makehuman.org is now a skeleton page which mostly include download links. Other services such as forum, bugtracker, wiki and so on has been moved to http://www.makehumancommunity.org. Some links might still not have been updated.
== Errata ==
A few issues have been pushed until later releases. We are aware of these and will fix them later.
* #899 - FBX export dislikes non-ascii characters
* #945 - Increasing eye bag slider breaks armature
* #1001 - Collada export produces (skeleton) warnings on Maya import
== Detailed list of changes ==
This is a semi-structured list of changes between 1.0.2 and 1.1.0
=== UI ===
* nicer looking application icons by using SVG vector graphics (looks better on OSX retina displays)
* gradient background
* allow disabling/enabling grid
* drag and drop of .mhm files in makehuman
* tag filters in all libraries
=== File-Export ===
* Add support for binary FBX exporter
* Removed export for old mhx, MD5 and skel formats
* Added support for optional export of helper geometry and facial pose units
* Added support for specifying bone orientation
=== Modeling ===
* Improved labeling and consistency of modelling sliders
* Add random model generation
* Added nipple point and nipple size sliders
* Added head fat slider
* Added scale depth of parietal side slider
* Added additional sliders for shaping neck and double chin
* Added eye bag sliders
* Added support for laugh lines and dimples
* Add additional sliders controlling chin shape
* Break cheek support into left/right sections
* Add additional sliders to control pectoral and dorsal muscle
* Add additional control of waist position
* Add sliders controlling navel prominence and position
* Added sliders to control shoulder muscle mass
* Add additional sliders controlling upper arm shape
* Additional sliders to control size and muscularity of upper and lower legs
* Additional slider to control lower leg height
* Add separate measure control for knee
=== Geometries ===
* Drop genital proxy support (these have been deferred to the user contributed assets area)
* Improve clothes tagging system
* Include default clothing outfits that clothe upper and lower body without mesh intersections
* Include more and improved hair styles
* Increase the number and richness of default topologies to include generic and muscle phenotypes
* Add additional eyelash choice
=== Materials ===
* Extend included skin materials to middle age and older individuals
* Extend the available choices for eye color
=== Pose Animate ===
* Redesign the entire rigging system for improved mesh control and pose support (2 skeleton system)
* Design basic rigs for new rigging system to support CMU animation and facial posing
* Add a pose tab with selectable poses including a T pose
* Add an expressions tab with 32 selectable facial expressions
* Allow mixing body pose and face pose, if face pose is set override face bones of body pose
* Support modeling while mesh is posed
=== System/code ===
* windows DLL dependency fix
* improvements and caching in proxy libraries for faster asset loading
* binary format for proxy files for faster loading and more compact data
* new fully data-driven modifier system
* rename of targets and modifiers for more consistency
* new skeleton API is much more understandable
* a lot of in-code documentation added
* many code cleanups and improvements
* refactors to improve re-usability of code and facilitate plugin development
* reduction of coupling between components
* makehuman can be started with a .mhm file passed as commandline argument
=== Settings ===
* Add the ability to automatically return MakeHuman to the default settings
d1955be80d754bd29c30cc4e30a15319782f317c
627
626
2016-04-17T11:30:54Z
Joepal
14
/* Detailed list of changes */
wikitext
text/x-wiki
These are preliminary release notes. 1.1.0 is currently in release candidate mode.
== Highlights ==
See also the [[:File:Infographic 110.png|release infographic]].
* Completely new skeleton and posing system, with support for pose loading from BVH, and support for custom weight and proxies
* Mesh can be exported in T-pose
* Extended pose library with auto-rigging, including auto weight remapping with initial support for special poses like high heel shoes
* New skin library with age variation
* New expression system now based on a face bone rig, including a library with facial expressions.
* Improved topologies/proxies
* FBX export now supports binary FBX and should work for most third-part applications which support FBX
== Important notes ==
If you are currently using 1.0.2, there are some things that may be confusing when upgrading to 1.1.0.
'''Many assets are incompatible:''' If you have a large set of manually added assets such as clothes and targets, please be aware that these may not work as expected with the new release. Targets should mostly work. Version 1.0.2 MHM files should be possible to open, but deprecated proxies and assets may not be available. MHM files made with earlier, unsupported nightly builds may produce very unexpected results. In general, you should test your assets with the new release before trusting everything works as expected.
'''New philosophy in which assets are included per default:''' Previously all existing assets were included with the default distribution. This is no longer so. Instead, a small set of robust, full body clothing choices is supplied by default. In addition, there is now a large online area for community-designed assets, to which everyone is welcome to upload their creations. Some previously included assets have been removed from the default distribution in favor of this area. The online area can be found at http://www.makehumancommunity.org/content/user_contributed_assets.html
'''MHX has been deprecated, MHX2 is a plugin:''' The old MHX format is deprecated. While it still remains in Blender's code base, users are strongly discouraged from using it. The successor is MHX2, which is a plugin which has to be installed for both MakeHuman and Blender (you will most likely want to install exactly the same version in both). More information can be found in [[FAQ:What happened to the MHX export in MH 1.1.x and later?]].
'''Most information about MH, and services around MH, has been moved:''' The server/domain setup has been changed for various legal reasons. The main homepage http://www.makehuman.org is now a skeleton page which mostly include download links. Other services such as forum, bugtracker, wiki and so on has been moved to http://www.makehumancommunity.org. Some links might still not have been updated.
== Errata ==
A few issues have been pushed until later releases. We are aware of these and will fix them later.
* #899 - FBX export dislikes non-ascii characters
* #945 - Increasing eye bag slider breaks armature
* #1001 - Collada export produces (skeleton) warnings on Maya import
== Detailed list of changes ==
This is a semi-structured list of changes between 1.0.2 and 1.1.0
=== UI ===
* nicer looking application icons by using SVG vector graphics (looks better on OSX retina displays)
=== File-Export ===
* Add support for binary FBX exporter
* Removed export for old mhx, MD5 and skel formats
* Added support for optional export of helper geometry and facial pose units
* Added support for specifying bone orientation
=== Modeling ===
* Improved labeling and consistency of modelling sliders
* Add random model generation
* Added nipple point and nipple size sliders
* Added head fat slider
* Added scale depth of parietal side slider
* Added additional sliders for shaping neck and double chin
* Added eye bag sliders
* Added support for laugh lines and dimples
* Add additional sliders controlling chin shape
* Break cheek support into left/right sections
* Add additional sliders to control pectoral and dorsal muscle
* Add additional control of waist position
* Add sliders controlling navel prominence and position
* Added sliders to control shoulder muscle mass
* Add additional sliders controlling upper arm shape
* Additional sliders to control size and muscularity of upper and lower legs
* Additional slider to control lower leg height
* Add separate measure control for knee
=== Geometries ===
* Drop genital proxy support (these have been deferred to the user contributed assets area)
* Improve clothes tagging system
* Include default clothing outfits that clothe upper and lower body without mesh intersections
* Include more and improved hair styles
* Increase the number and richness of default topologies to include generic and muscle phenotypes
* Add additional eyelash choice
=== Materials ===
* Extend included skin materials to middle age and older individuals
* Extend the available choices for eye color
=== Pose Animate ===
* Redesign the entire rigging system for improved mesh control and pose support (2 skeleton system)
* Design basic rigs for new rigging system to support CMU animation and facial posing
* Add a pose tab with selectable poses including a T pose
* Add an expressions tab with 32 selectable facial expressions
=== Settings ===
* Add the ability to automatically return MakeHuman to the default settings
cefa70f6efe38d5a5324fecca1cf0e49911b6976
626
625
2016-04-15T13:56:41Z
Robbaer
12
/* Pose Animate */
wikitext
text/x-wiki
These are preliminary release notes. 1.1.0 is currently in release candidate mode.
== Highlights ==
See also the [[:File:Infographic 110.png|release infographic]].
* Completely new skeleton and posing system, with support for pose loading from BVH, and support for custom weight and proxies
* Mesh can be exported in T-pose
* Extended pose library with auto-rigging, including auto weight remapping with initial support for special poses like high heel shoes
* New skin library with age variation
* New expression system now based on a face bone rig, including a library with facial expressions.
* Improved topologies/proxies
* FBX export now supports binary FBX and should work for most third-part applications which support FBX
== Important notes ==
If you are currently using 1.0.2, there are some things that may be confusing when upgrading to 1.1.0.
'''Many assets are incompatible:''' If you have a large set of manually added assets such as clothes and targets, please be aware that these may not work as expected with the new release. Targets should mostly work. Version 1.0.2 MHM files should be possible to open, but deprecated proxies and assets may not be available. MHM files made with earlier, unsupported nightly builds may produce very unexpected results. In general, you should test your assets with the new release before trusting everything works as expected.
'''New philosophy in which assets are included per default:''' Previously all existing assets were included with the default distribution. This is no longer so. Instead, a small set of robust, full body clothing choices is supplied by default. In addition, there is now a large online area for community-designed assets, to which everyone is welcome to upload their creations. Some previously included assets have been removed from the default distribution in favor of this area. The online area can be found at http://www.makehumancommunity.org/content/user_contributed_assets.html
'''MHX has been deprecated, MHX2 is a plugin:''' The old MHX format is deprecated. While it still remains in Blender's code base, users are strongly discouraged from using it. The successor is MHX2, which is a plugin which has to be installed for both MakeHuman and Blender (you will most likely want to install exactly the same version in both). More information can be found in [[FAQ:What happened to the MHX export in MH 1.1.x and later?]].
'''Most information about MH, and services around MH, has been moved:''' The server/domain setup has been changed for various legal reasons. The main homepage http://www.makehuman.org is now a skeleton page which mostly include download links. Other services such as forum, bugtracker, wiki and so on has been moved to http://www.makehumancommunity.org. Some links might still not have been updated.
== Errata ==
A few issues have been pushed until later releases. We are aware of these and will fix them later.
* #899 - FBX export dislikes non-ascii characters
* #945 - Increasing eye bag slider breaks armature
* #1001 - Collada export produces (skeleton) warnings on Maya import
== Detailed list of changes ==
This is a semi-structured list of changes between 1.0.2 and 1.1.0
=== File-Export ===
* Add binary fbx exporter
* Removed export for old mhx, MD5 and skel formats
* Added support for optional export of helper geometry and facial pose units
* Added support for specifying bone orientation
=== Modeling ===
* Improved labeling and consistency of modelling sliders
* Add random model generation
* Added nipple point and nipple size sliders
* Added head fat slider
* Added scale depth of parietal side slider
* Added additional sliders for shaping neck and double chin
* Added eye bag sliders
* Added support for laugh lines and dimples
* Add additional sliders controlling chin shape
* Break cheek support into left/right sections
* Add additional sliders to control pectoral and dorsal muscle
* Add additional control of waist position
* Add sliders controlling navel prominence and position
* Added sliders to control shoulder muscle mass
* Add additional sliders controlling upper arm shape
* Additional sliders to control size and muscularity of upper and lower legs
* Additional slider to control lower leg height
* Add separate measure control for knee
=== Geometries ===
* Drop genital proxy support (these have been deferred to the user contributed assets area)
* Improve clothes tagging system
* Include default clothing outfits that clothe upper and lower body without mesh intersections
* Include more and improved hair styles
* Increase the number and richness of default topologies to include generic and muscle phenotypes
* Add additional eyelash choice
=== Materials ===
* Extend included skin materials to middle age and older individuals
* Extend the available choices for eye color
=== Pose Animate ===
* Redesign the entire rigging system for improved mesh control and pose support (2 skeleton system)
* Design basic rigs for new rigging system to support CMU animation and facial posing
* Add a pose tab with selectable poses including a T pose
* Add an expressions tab with 32 selectable facial expressions
=== Settings ===
* Add the ability to automatically return MakeHuman to the default settings
06070143a0bb93a9c7868b1ad5597b0aca16d38b
625
624
2016-04-15T13:51:49Z
Robbaer
12
/* Important notes */
wikitext
text/x-wiki
These are preliminary release notes. 1.1.0 is currently in release candidate mode.
== Highlights ==
See also the [[:File:Infographic 110.png|release infographic]].
* Completely new skeleton and posing system, with support for pose loading from BVH, and support for custom weight and proxies
* Mesh can be exported in T-pose
* Extended pose library with auto-rigging, including auto weight remapping with initial support for special poses like high heel shoes
* New skin library with age variation
* New expression system now based on a face bone rig, including a library with facial expressions.
* Improved topologies/proxies
* FBX export now supports binary FBX and should work for most third-part applications which support FBX
== Important notes ==
If you are currently using 1.0.2, there are some things that may be confusing when upgrading to 1.1.0.
'''Many assets are incompatible:''' If you have a large set of manually added assets such as clothes and targets, please be aware that these may not work as expected with the new release. Targets should mostly work. Version 1.0.2 MHM files should be possible to open, but deprecated proxies and assets may not be available. MHM files made with earlier, unsupported nightly builds may produce very unexpected results. In general, you should test your assets with the new release before trusting everything works as expected.
'''New philosophy in which assets are included per default:''' Previously all existing assets were included with the default distribution. This is no longer so. Instead, a small set of robust, full body clothing choices is supplied by default. In addition, there is now a large online area for community-designed assets, to which everyone is welcome to upload their creations. Some previously included assets have been removed from the default distribution in favor of this area. The online area can be found at http://www.makehumancommunity.org/content/user_contributed_assets.html
'''MHX has been deprecated, MHX2 is a plugin:''' The old MHX format is deprecated. While it still remains in Blender's code base, users are strongly discouraged from using it. The successor is MHX2, which is a plugin which has to be installed for both MakeHuman and Blender (you will most likely want to install exactly the same version in both). More information can be found in [[FAQ:What happened to the MHX export in MH 1.1.x and later?]].
'''Most information about MH, and services around MH, has been moved:''' The server/domain setup has been changed for various legal reasons. The main homepage http://www.makehuman.org is now a skeleton page which mostly include download links. Other services such as forum, bugtracker, wiki and so on has been moved to http://www.makehumancommunity.org. Some links might still not have been updated.
== Errata ==
A few issues have been pushed until later releases. We are aware of these and will fix them later.
* #899 - FBX export dislikes non-ascii characters
* #945 - Increasing eye bag slider breaks armature
* #1001 - Collada export produces (skeleton) warnings on Maya import
== Detailed list of changes ==
This is a semi-structured list of changes between 1.0.2 and 1.1.0
=== File-Export ===
* Add binary fbx exporter
* Removed export for old mhx, MD5 and skel formats
* Added support for optional export of helper geometry and facial pose units
* Added support for specifying bone orientation
=== Modeling ===
* Improved labeling and consistency of modelling sliders
* Add random model generation
* Added nipple point and nipple size sliders
* Added head fat slider
* Added scale depth of parietal side slider
* Added additional sliders for shaping neck and double chin
* Added eye bag sliders
* Added support for laugh lines and dimples
* Add additional sliders controlling chin shape
* Break cheek support into left/right sections
* Add additional sliders to control pectoral and dorsal muscle
* Add additional control of waist position
* Add sliders controlling navel prominence and position
* Added sliders to control shoulder muscle mass
* Add additional sliders controlling upper arm shape
* Additional sliders to control size and muscularity of upper and lower legs
* Additional slider to control lower leg height
* Add separate measure control for knee
=== Geometries ===
* Drop genital proxy support (these have been deferred to the user contributed assets area)
* Improve clothes tagging system
* Include default clothing outfits that clothe upper and lower body without mesh intersections
* Include more and improved hair styles
* Increase the number and richness of default topologies to include generic and muscle phenotypes
* Add additional eyelash choice
=== Materials ===
* Extend included skin materials to middle age and older individuals
* Extend the available choices for eye color
=== Pose Animate ===
* Redesign the entire rigging system for improved mesh control and pose support (2 skeleton system?)
* Design basic rigs for new rigging system to support CMU animation and facial posing
* Addd a pose tab with selectable poses including a T pose
* Add an expressions tab with 32 selectable facial expressions
=== Settings ===
* Add the ability to automatically return MakeHuman to the default settings
e68b347d3f1a274c7e3464d747ccaa3156ee479d
624
623
2016-04-15T13:49:27Z
Robbaer
12
/* Important notes */
wikitext
text/x-wiki
These are preliminary release notes. 1.1.0 is currently in release candidate mode.
== Highlights ==
See also the [[:File:Infographic 110.png|release infographic]].
* Completely new skeleton and posing system, with support for pose loading from BVH, and support for custom weight and proxies
* Mesh can be exported in T-pose
* Extended pose library with auto-rigging, including auto weight remapping with initial support for special poses like high heel shoes
* New skin library with age variation
* New expression system now based on a face bone rig, including a library with facial expressions.
* Improved topologies/proxies
* FBX export now supports binary FBX and should work for most third-part applications which support FBX
== Important notes ==
If you are currently using 1.0.2, there are some things that may be confusing when upgrading to 1.1.0.
'''Many assets are incompatible:''' If you have a large set of manually added assets such as clothes and targets, please be aware that these may not work as expected with the new release. Targets should mostly work. Version 1.0.2 MHM files should be possible to open, but deprecated proxies and assets may not be available. MHM files made with earlier, unsupported nightly builds may produce very unexpected results. In general, you should test your assets with the new release before trusting everything works as expected.
'''New philosophy in which assets are included per default:''' Previously all existing assets were included with the default distribution. This is no longer so. Instead, a small set of robust, full body clothing choices is supplied by default. There is a large online area for additional assets, to which everyone is welcome to upload their creations. Some previously included assets have been removed from the default distribution in favor of this area. The online area can be found at http://www.makehumancommunity.org/content/user_contributed_assets.html
'''MHX has been deprecated, MHX2 is a plugin:''' The old MHX format is deprecated. While it still remains in Blender's code base, users are strongly discouraged from using it. The successor is MHX2, which is a plugin which has to be installed for both MakeHuman and Blender (you will most likely want to install exactly the same version in both). More information can be found in [[FAQ:What happened to the MHX export in MH 1.1.x and later?]].
'''Most information about MH, and services around MH, has been moved:''' The server/domain setup has been changed for various legal reasons. The main homepage http://www.makehuman.org is now a skeleton page which mostly include download links. Other services such as forum, bugtracker, wiki and so on has been moved to http://www.makehumancommunity.org. Some links might still not have been updated.
== Errata ==
A few issues have been pushed until later releases. We are aware of these and will fix them later.
* #899 - FBX export dislikes non-ascii characters
* #945 - Increasing eye bag slider breaks armature
* #1001 - Collada export produces (skeleton) warnings on Maya import
== Detailed list of changes ==
This is a semi-structured list of changes between 1.0.2 and 1.1.0
=== File-Export ===
* Add binary fbx exporter
* Removed export for old mhx, MD5 and skel formats
* Added support for optional export of helper geometry and facial pose units
* Added support for specifying bone orientation
=== Modeling ===
* Improved labeling and consistency of modelling sliders
* Add random model generation
* Added nipple point and nipple size sliders
* Added head fat slider
* Added scale depth of parietal side slider
* Added additional sliders for shaping neck and double chin
* Added eye bag sliders
* Added support for laugh lines and dimples
* Add additional sliders controlling chin shape
* Break cheek support into left/right sections
* Add additional sliders to control pectoral and dorsal muscle
* Add additional control of waist position
* Add sliders controlling navel prominence and position
* Added sliders to control shoulder muscle mass
* Add additional sliders controlling upper arm shape
* Additional sliders to control size and muscularity of upper and lower legs
* Additional slider to control lower leg height
* Add separate measure control for knee
=== Geometries ===
* Drop genital proxy support (these have been deferred to the user contributed assets area)
* Improve clothes tagging system
* Include default clothing outfits that clothe upper and lower body without mesh intersections
* Include more and improved hair styles
* Increase the number and richness of default topologies to include generic and muscle phenotypes
* Add additional eyelash choice
=== Materials ===
* Extend included skin materials to middle age and older individuals
* Extend the available choices for eye color
=== Pose Animate ===
* Redesign the entire rigging system for improved mesh control and pose support (2 skeleton system?)
* Design basic rigs for new rigging system to support CMU animation and facial posing
* Addd a pose tab with selectable poses including a T pose
* Add an expressions tab with 32 selectable facial expressions
=== Settings ===
* Add the ability to automatically return MakeHuman to the default settings
91dd33effcd11735da1b072e7e64b8effa243700
623
622
2016-04-15T13:38:13Z
Robbaer
12
/* Highlights */
wikitext
text/x-wiki
These are preliminary release notes. 1.1.0 is currently in release candidate mode.
== Highlights ==
See also the [[:File:Infographic 110.png|release infographic]].
* Completely new skeleton and posing system, with support for pose loading from BVH, and support for custom weight and proxies
* Mesh can be exported in T-pose
* Extended pose library with auto-rigging, including auto weight remapping with initial support for special poses like high heel shoes
* New skin library with age variation
* New expression system now based on a face bone rig, including a library with facial expressions.
* Improved topologies/proxies
* FBX export now supports binary FBX and should work for most third-part applications which support FBX
== Important notes ==
If you are currently using 1.0.2, there are some things that may be confusing when upgrading to 1.1.0.
'''Many assets are incompatible:''' If you have a large set of manually added assets such as clothes and targets, please be aware that these may not work as expected with the new release. Targets should mostly work. MHM files should be possible to import but might look strange. In general, you should test your assets with the new release before trusting everything works as expected.
'''New philosophy in which assets are included per default:''' Previously all existing assets were included with the default distribution. This is no longer so. Instead, there is a large online area for
assets, to which everyone is welcome to upload their creations. Some previously included assets have been removed from the default distribution in favor of this area. The online area can be found at http://www.makehumancommunity.org/content/user_contributed_assets.html
'''MHX has been deprecated, MHX2 is a plugin:''' The old MHX format is deprecated. While it still remains in Blender's code base, users are strongly discouraged from using it. The successor is MHX2, which is a plugin which has to be installed for both MakeHuman and Blender (you will most likely want to install exactly the same version in both). More information can be found in [[FAQ:What happened to the MHX export in MH 1.1.x and later?]].
'''Most information about MH, and services around MH, has been moved:''' The server/domain setup has been changed for various legal reasons. The main homepage http://www.makehuman.org is now a skeleton page which mostly include download links. Other services such as forum, bugtracker, wiki and so on has been moved to http://www.makehumancommunity.org. Some links might still not have been updated.
== Errata ==
A few issues have been pushed until later releases. We are aware of these and will fix them later.
* #899 - FBX export dislikes non-ascii characters
* #945 - Increasing eye bag slider breaks armature
* #1001 - Collada export produces (skeleton) warnings on Maya import
== Detailed list of changes ==
This is a semi-structured list of changes between 1.0.2 and 1.1.0
=== File-Export ===
* Add binary fbx exporter
* Removed export for old mhx, MD5 and skel formats
* Added support for optional export of helper geometry and facial pose units
* Added support for specifying bone orientation
=== Modeling ===
* Improved labeling and consistency of modelling sliders
* Add random model generation
* Added nipple point and nipple size sliders
* Added head fat slider
* Added scale depth of parietal side slider
* Added additional sliders for shaping neck and double chin
* Added eye bag sliders
* Added support for laugh lines and dimples
* Add additional sliders controlling chin shape
* Break cheek support into left/right sections
* Add additional sliders to control pectoral and dorsal muscle
* Add additional control of waist position
* Add sliders controlling navel prominence and position
* Added sliders to control shoulder muscle mass
* Add additional sliders controlling upper arm shape
* Additional sliders to control size and muscularity of upper and lower legs
* Additional slider to control lower leg height
* Add separate measure control for knee
=== Geometries ===
* Drop genital proxy support (these have been deferred to the user contributed assets area)
* Improve clothes tagging system
* Include default clothing outfits that clothe upper and lower body without mesh intersections
* Include more and improved hair styles
* Increase the number and richness of default topologies to include generic and muscle phenotypes
* Add additional eyelash choice
=== Materials ===
* Extend included skin materials to middle age and older individuals
* Extend the available choices for eye color
=== Pose Animate ===
* Redesign the entire rigging system for improved mesh control and pose support (2 skeleton system?)
* Design basic rigs for new rigging system to support CMU animation and facial posing
* Addd a pose tab with selectable poses including a T pose
* Add an expressions tab with 32 selectable facial expressions
=== Settings ===
* Add the ability to automatically return MakeHuman to the default settings
656069547cb891da422bea7373d931fdebe8cd2d
622
621
2016-04-15T10:23:48Z
Joepal
14
wikitext
text/x-wiki
These are preliminary release notes. 1.1.0 is currently in release candidate mode.
== Highlights ==
See also the [[:File:Infographic 110.png|release infographic]].
* Completely new skeleton and posing system, with support for pose loading from BVH, and support for custom weight and proxies
* Mesh can be exported in T-pose
* Exended pose library with autoriggint, including auto weight remapping and special poses (for example foot pose with high heel shoes)
* New skin library with age variation
* New expression system now based on a face bone rig, including a library with facial expressions.
* Improved topologies/proxies
* FBX export now supports binary FBX and should work for most third-part applications which support FBX
== Important notes ==
If you are currently using 1.0.2, there are some things that may be confusing when upgrading to 1.1.0.
'''Many assets are incompatible:''' If you have a large set of manually added assets such as clothes and targets, please be aware that these may not work as expected with the new release. Targets should mostly work. MHM files should be possible to import but might look strange. In general, you should test your assets with the new release before trusting everything works as expected.
'''New philosophy in which assets are included per default:''' Previously all existing assets were included with the default distribution. This is no longer so. Instead, there is a large online area for
assets, to which everyone is welcome to upload their creations. Some previously included assets have been removed from the default distribution in favor of this area. The online area can be found at http://www.makehumancommunity.org/content/user_contributed_assets.html
'''MHX has been deprecated, MHX2 is a plugin:''' The old MHX format is deprecated. While it still remains in Blender's code base, users are strongly discouraged from using it. The successor is MHX2, which is a plugin which has to be installed for both MakeHuman and Blender (you will most likely want to install exactly the same version in both). More information can be found in [[FAQ:What happened to the MHX export in MH 1.1.x and later?]].
'''Most information about MH, and services around MH, has been moved:''' The server/domain setup has been changed for various legal reasons. The main homepage http://www.makehuman.org is now a skeleton page which mostly include download links. Other services such as forum, bugtracker, wiki and so on has been moved to http://www.makehumancommunity.org. Some links might still not have been updated.
== Errata ==
A few issues have been pushed until later releases. We are aware of these and will fix them later.
* #899 - FBX export dislikes non-ascii characters
* #945 - Increasing eye bag slider breaks armature
* #1001 - Collada export produces (skeleton) warnings on Maya import
== Detailed list of changes ==
This is a semi-structured list of changes between 1.0.2 and 1.1.0
=== File-Export ===
* Add binary fbx exporter
* Removed export for old mhx, MD5 and skel formats
* Added support for optional export of helper geometry and facial pose units
* Added support for specifying bone orientation
=== Modeling ===
* Improved labeling and consistency of modelling sliders
* Add random model generation
* Added nipple point and nipple size sliders
* Added head fat slider
* Added scale depth of parietal side slider
* Added additional sliders for shaping neck and double chin
* Added eye bag sliders
* Added support for laugh lines and dimples
* Add additional sliders controlling chin shape
* Break cheek support into left/right sections
* Add additional sliders to control pectoral and dorsal muscle
* Add additional control of waist position
* Add sliders controlling navel prominence and position
* Added sliders to control shoulder muscle mass
* Add additional sliders controlling upper arm shape
* Additional sliders to control size and muscularity of upper and lower legs
* Additional slider to control lower leg height
* Add separate measure control for knee
=== Geometries ===
* Drop genital proxy support (these have been deferred to the user contributed assets area)
* Improve clothes tagging system
* Include default clothing outfits that clothe upper and lower body without mesh intersections
* Include more and improved hair styles
* Increase the number and richness of default topologies to include generic and muscle phenotypes
* Add additional eyelash choice
=== Materials ===
* Extend included skin materials to middle age and older individuals
* Extend the available choices for eye color
=== Pose Animate ===
* Redesign the entire rigging system for improved mesh control and pose support (2 skeleton system?)
* Design basic rigs for new rigging system to support CMU animation and facial posing
* Addd a pose tab with selectable poses including a T pose
* Add an expressions tab with 32 selectable facial expressions
=== Settings ===
* Add the ability to automatically return MakeHuman to the default settings
45e298b6e0987b49700067454a34283ece19773e
621
619
2016-04-15T10:07:41Z
Joepal
14
wikitext
text/x-wiki
These are preliminary release notes. 1.1.0 is currently in release candidate mode.
== Highlights ==
See also the [[:File:Infographic 110.png|release infographic]].
* Completely new skeleton and posing system, with support for pose loading from BVH, and support for custom weight and proxies
* Mesh can be exported in T-pose
* Exended pose library with autoriggint, including auto weight remapping and special poses (for example foot pose with high heel shoes)
* New skin library with age variation
* New expression system now based on a face bone rig, including a library with facial expressions.
* Improved topologies/proxies
== Important notes ==
If you are currently using 1.0.2, there are some things that may be confusing when upgrading to 1.1.0.
'''Many assets are incompatible:''' If you have a large set of manually added assets such as clothes and targets, please be aware that these may not work as expected with the new release. Targets should mostly work. MHM files should be possible to import but might look strange. In general, you should test your assets with the new release before trusting everything works as expected.
'''New philosophy in which assets are included per default:''' Previously all existing assets were included with the default distribution. This is no longer so. Instead, there is a large online area for
assets, to which everyone is welcome to upload their creations. Some previously included assets have been removed from the default distribution in favor of this area. The online area can be found at http://www.makehumancommunity.org/content/user_contributed_assets.html
'''MHX has been deprecated, MHX2 is a plugin:''' The old MHX format is deprecated. While it still remains in Blender's code base, users are strongly discouraged from using it. The successor is MHX2, which is a plugin which has to be installed for both MakeHuman and Blender (you will most likely want to install exactly the same version in both). More information can be found in [[FAQ:What happened to the MHX export in MH 1.1.x and later?]].
'''Most information about MH, and services around MH, has been moved:''' The server/domain setup has been changed for various legal reasons. The main homepage http://www.makehuman.org is now a skeleton page which mostly include download links. Other services such as forum, bugtracker, wiki and so on has been moved to http://www.makehumancommunity.org. Some links might still not have been updated.
== Errata ==
A few issues have been pushed until later releases. We are aware of these and will fix them later.
* #899 - FBX export dislikes non-ascii characters
* #945 - Increasing eye bag slider breaks armature
* #1001 - Collada export produces (skeleton) warnings on Maya import
== Detailed list of changes ==
This is a semi-structured list of changes between 1.0.2 and 1.1.0
=== File-Export ===
* Add binary fbx exporter
* Removed export for old mhx, MD5 and skel formats
* Added support for optional export of helper geometry and facial pose units
* Added support for specifying bone orientation
=== Modeling ===
* Improved labeling and consistency of modelling sliders
* Add random model generation
* Added nipple point and nipple size sliders
* Added head fat slider
* Added scale depth of parietal side slider
* Added additional sliders for shaping neck and double chin
* Added eye bag sliders
* Added support for laugh lines and dimples
* Add additional sliders controlling chin shape
* Break cheek support into left/right sections
* Add additional sliders to control pectoral and dorsal muscle
* Add additional control of waist position
* Add sliders controlling navel prominence and position
* Added sliders to control shoulder muscle mass
* Add additional sliders controlling upper arm shape
* Additional sliders to control size and muscularity of upper and lower legs
* Additional slider to control lower leg height
* Add separate measure control for knee
=== Geometries ===
* Drop genital proxy support (these have been deferred to the user contributed assets area)
* Improve clothes tagging system
* Include default clothing outfits that clothe upper and lower body without mesh intersections
* Include more and improved hair styles
* Increase the number and richness of default topologies to include generic and muscle phenotypes
* Add additional eyelash choice
=== Materials ===
* Extend included skin materials to middle age and older individuals
* Extend the available choices for eye color
=== Pose Animate ===
* Redesign the entire rigging system for improved mesh control and pose support (2 skeleton system?)
* Design basic rigs for new rigging system to support CMU animation and facial posing
* Addd a pose tab with selectable poses including a T pose
* Add an expressions tab with 32 selectable facial expressions
=== Settings ===
* Add the ability to automatically return MakeHuman to the default settings
4894de31b8c1c2ac5a092516f51fa53a21240094
619
2016-04-15T09:55:20Z
Joepal
14
Created page with "These are preliminary release notes. 1.1.0 is currently in release candidate mode. == Highlights == == Important notes == If you are currently using 1.0.2, there are some t..."
wikitext
text/x-wiki
These are preliminary release notes. 1.1.0 is currently in release candidate mode.
== Highlights ==
== Important notes ==
If you are currently using 1.0.2, there are some things that may be confusing when upgrading to 1.1.0.
'''Many assets are incompatible:''' If you have a large set of manually added assets such as clothes and targets, please be aware that these may not work as expected with the new release. Targets should mostly work. MHM files should be possible to import but might look strange. In general, you should test your assets with the new release before trusting everything works as expected.
'''New philosophy in which assets are included per default:''' Previously all existing assets were included with the default distribution. This is no longer so. Instead, there is a large online area for
assets, to which everyone is welcome to upload their creations. Some previously included assets have been removed from the default distribution in favor of this area. The online area can be found at http://www.makehumancommunity.org/content/user_contributed_assets.html
'''MHX has been deprecated, MHX2 is a plugin:''' The old MHX format is deprecated. While it still remains in Blender's code base, users are strongly discouraged from using it. The successor is MHX2, which is a plugin which has to be installed for both MakeHuman and Blender (you will most likely want to install exactly the same version in both). More information can be found in [[FAQ:What happened to the MHX export in MH 1.1.x and later?]].
== Errata ==
A few issues have been pushed until later releases. We are aware of these and will fix them later.
* #899 - FBX export dislikes non-ascii characters
* #945 - Increasing eye bag slider breaks armature
* #1001 - Collada export produces (skeleton) warnings on Maya import
== Detailed list of changes ==
This is a semi-structured list of changes between 1.0.2 and 1.1.0
=== File-Export ===
* Add binary fbx exporter
* Removed export for old mhx, MD5 and skel formats
* Added support for optional export of helper geometry and facial pose units
* Added support for specifying bone orientation
=== Modeling ===
* Improved labeling and consistency of modelling sliders
* Add random model generation
* Added nipple point and nipple size sliders
* Added head fat slider
* Added scale depth of parietal side slider
* Added additional sliders for shaping neck and double chin
* Added eye bag sliders
* Added support for laugh lines and dimples
* Add additional sliders controlling chin shape
* Break cheek support into left/right sections
* Add additional sliders to control pectoral and dorsal muscle
* Add additional control of waist position
* Add sliders controlling navel prominence and position
* Added sliders to control shoulder muscle mass
* Add additional sliders controlling upper arm shape
* Additional sliders to control size and muscularity of upper and lower legs
* Additional slider to control lower leg height
* Add separate measure control for knee
=== Geometries ===
* Drop genital proxy support (these have been deferred to the user contributed assets area)
* Improve clothes tagging system
* Include default clothing outfits that clothe upper and lower body without mesh intersections
* Include more and improved hair styles
* Increase the number and richness of default topologies to include generic and muscle phenotypes
* Add additional eyelash choice
=== Materials ===
* Extend included skin materials to middle age and older individuals
* Extend the available choices for eye color
=== Pose Animate ===
* Redesign the entire rigging system for improved mesh control and pose support (2 skeleton system?)
* Design basic rigs for new rigging system to support CMU animation and facial posing
* Addd a pose tab with selectable poses including a T pose
* Add an expressions tab with 32 selectable facial expressions
=== Settings ===
* Add the ability to automatically return MakeHuman to the default settings
98a71cb88d03f1c7a75bd79a6814f2b3c59b42da
Releases:111
0
516
1334
1331
2017-03-04T17:54:58Z
Joepal
14
wikitext
text/x-wiki
These are the release notes for version 1.1.1, which was released in March 2017.
This release is primarily a bug fix release where the major effort has been spent on addressing the unicode issues which made MakeHuman crash when using certain non-ASCII characters in filenames or usernames (in certain locales) on Windows platforms.
== Highlights ==
* It should now be possible to mix encodings (from recognized and valid codepages, see known issues below) on windows 7/8/10, for example when having a unicode file system, but a cp850-encoded filename. This will solve crashes when the user name or the installation path contains latin1 characters such as åäöüñé.
* The UI will no longer crash when using translations.
* The release provides more consist management of undo and restore defaults
* Fix for glitches in the male formal suit (thanks to CallHarvey3d)
* Fix for glitches in the male worksuit (thanks to marco_105)
== Upgrading ==
In general, it should be possible to replace the 1.1.0 release with the 1.1.1 release without any noticeable downside. If you use the male worksuit, please note that it has had its UV layout redone from scratch (so third part textures relying on the old UV layout will no longer work).
== Useful extras ==
In [http://download.tuxfamily.org/makehuman/releases/1.1.1 the release directory] on tuxfamily, you will also find two zip files with extras that you may be interested in installing:
* '''blender_plugins_for_1.1.1.zip''': These are blender plugins related to MakeHuman. This is what was called "blendertools" earlier (maketarget, makeclothes, makewalk), but now also includes the latest version of MHX2.
* '''makehuman_plugins_for_1.1.1.zip''': These are extras for MakeHuman as such. The zip contains the MakeHuman side of MHX2, the asset downloader plugin, the asset editor plugin, and the MHAPI dependency.
== Known issues ==
While we believe we have now got a grip on all ''normal'' cases where non-ASCII characters are used in file names, it is still possible to break MakeHuman by copy/pasting characters from another codepage than the one windows is installed with. For example: if you have an US-english windows version and unzip MH in a folder named ру́сскийязы́к, chances are MH won't even start.
However, any file name that you are able to write on the keyboard (as opposed from copying from the web) should now work.
Inside MakeHuman the use of unicode characters is more permissive. It is possible to save MakeHuman models in folders and with filenames containing characters that are not in the primary codepage. However, in case of doubt, we would recommend using only ASCII-characters, respectively characters from your active code page, for filenames. If you plan to save files with users from another locale, it is prudent to stick with ASCII names whenever possible.
Because of the cost, the release version of MakeHuman 1.1.1 is not code-signed. This means that some virus checkers, and the Windows OS may issue a warning on your initial start-up. This should be safe to ignore if you downloaded your copy of MakeHuman directly from the official download site. If you obtained your copy elsewhere please use due diligence.
A long standing bug, [http://bugtracker.makehumancommunity.org/issues/1054 #1054], was not possible to fix in time for the release. This causes shaders to glitch and look corrup on linux machines under the following conditions: 1. the machine runs on an integrated Intel graphics chipset and 2. the machine uses a newer graphics driver. This is known to affect Ubuntu 16.04, while older Ubuntu versions (such as 14.04) are not affected. For now, the workaround is to run MakeHuman with the parameter "--noshaders". For more info, see the [[FAQ:MakeHuman renders odd colours and weird transparency artefacts. Can you help me?|the appropriate FAQ item]].
== All fixes ==
* Bug #78: "Restore Default" button in settings
* Bug #195: "Undo" does not actually undo many commands
* Bug #354: Add package_name + date in window title
* Bug #662: New malesuit01 needs minor UV touch-up
* Bug #716: Translation choices
* Bug #718: Alternative distribution for windows
* Bug #764: SVG not supported on windows (but doesn't crash)
* Bug #771: Consistent handling of binary/ascii export choice
* Bug #831: Worksuit texture touch-up
* Bug #945: increasing eye bag slider breaks armature
* Bug #981: Makeclothes doesn't like eyes
* Bug #983: Modeling Face Mouth features slider images
* Bug #1004: RC and recent HG builds - file loader does not populate
* Bug #1027: MH 1.1.0 - Windows 10 PreRelease Build - File list Exceptions
* Bug #1028: MH 1.1.x - clean up / document status of genitals
* Bug #1029: Unicode in MH path still causing trouble
* Bug #1037: Using any translation crashes parts of the GUI
* Bug #1043: Possible issue in module3d
* Bug #1051: Assymetric foot vertex groups
* Bug #1053: Help About
* Bug #1057: ppa produced overwrite errorserrors
* Bug #1066: material_editor unicode warning MH 1.1.0 release
* Bug #1070: Sort filters dysfunctional - MH 1.1.0
* Bug #1073: Error loading a bvh pose created in Blender
* Bug #1076: MacOS Sierra - MakeHuman 1.1.0 data directory not loading
* Bug #1083: _cat_data["bodyproportion"] or _cat_data["bodyproportions"]?
* Bug #1088: Test cases for unicode issues
* Bug #1094: Update copyright to 2017
* Bug #1104: MakeWalk code has a trivial typo.
* Bug #1108: Replace splash screen
* Bug #1109: Investigate PPA errors
* Bug #1110: Update the README file.
* Bug #1111: Test Build r2066 (708f2b6d9545) issues
* Bug #1112: v1.1.1 can't load mhm created with v1.1.0
* Bug #1113: Link Help>About MakeHuman>Website to community
* Bug #1120: Error in language master file
* Bug #1124: PPA: the package description for makehuman-bodyparts is "test test"
* Bug #1126: PPA: makehuman-bodyparts should have "replaces makehuman-data"
* Bug #1135: File chooser in backgrounds tab does not populate when UI language set to russian
* Bug #1138: Missing bitbucket Item?
* Bug #1139: Missing comma in languages/master.json
* Feature #98: Regression suit to test the exported files.
* Feature #211: Conforming to debian python policy
* Feature #696: Increased support for rigid proxy assets
* Feature #1093: Easy way to copy version number to clipboard for bug reporting
* Feature #1107: Make sure it's possible to save all kinds of filenames on windows
7a5deea4078880389b4bf6bed592974276122e5e
1331
1330
2017-03-04T09:36:04Z
Joepal
14
/* Known issues */
wikitext
text/x-wiki
These are the release notes for version 1.1.1, which was released in March 2017.
This release is primarily a bug fix release where the major effort has been spent on addressing the unicode issues which made MakeHuman crash when using certain non-ASCII characters in filenames or usernames (in certain locales) on Windows platforms.
== Highlights ==
* It should now be possible to mix encodings (from recognized and valid codepages, see known issues below) on windows 7/8/10, for example when having a unicode file system, but a cp850-encoded filename. This will solve crashes when the user name or the installation path contains latin1 characters such as åäöüñé.
* The UI will no longer crash when using translations.
* The release provides more consist management of undo and restore defaults
* Fix for glitches in the male formal suit (thanks to CallHarvey3d)
* Fix for glitches in the male worksuit (thanks to marco_105)
== Upgrading ==
In general, it should be possible to replace the 1.1.0 release with the 1.1.1 release without any noticeable downside. If you use the male worksuit, please note that it has had its UV layout redone from scratch (so third part textures relying on the old UV layout will no longer work).
== Known issues ==
While we believe we have now got a grip on all ''normal'' cases where non-ASCII characters are used in file names, it is still possible to break MakeHuman by copy/pasting characters from another codepage than the one windows is installed with. For example: if you have an US-english windows version and unzip MH in a folder named ру́сскийязы́к, chances are MH won't even start.
However, any file name that you are able to write on the keyboard (as opposed from copying from the web) should now work.
Inside MakeHuman the use of unicode characters is more permissive. It is possible to save MakeHuman models in folders and with filenames containing characters that are not in the primary codepage. However, in case of doubt, we would recommend using only ASCII-characters, respectively characters from your active code page, for filenames. If you plan to save files with users from another locale, it is prudent to stick with ASCII names whenever possible.
Because of the cost, the release version of MakeHuman 1.1.1 is not code-signed. This means that some virus checkers, and the Windows OS may issue a warning on your initial start-up. This should be safe to ignore if you downloaded your copy of MakeHuman directly from the official download site. If you obtained your copy elsewhere please use due diligence.
A long standing bug, [http://bugtracker.makehumancommunity.org/issues/1054 #1054], was not possible to fix in time for the release. This causes shaders to glitch and look corrup on linux machines under the following conditions: 1. the machine runs on an integrated Intel graphics chipset and 2. the machine uses a newer graphics driver. This is known to affect Ubuntu 16.04, while older Ubuntu versions (such as 14.04) are not affected. For now, the workaround is to run MakeHuman with the parameter "--noshaders". For more info, see the [[FAQ:MakeHuman renders odd colours and weird transparency artefacts. Can you help me?|the appropriate FAQ item]].
== All fixes ==
* Bug #78: "Restore Default" button in settings
* Bug #195: "Undo" does not actually undo many commands
* Bug #354: Add package_name + date in window title
* Bug #662: New malesuit01 needs minor UV touch-up
* Bug #716: Translation choices
* Bug #718: Alternative distribution for windows
* Bug #764: SVG not supported on windows (but doesn't crash)
* Bug #771: Consistent handling of binary/ascii export choice
* Bug #831: Worksuit texture touch-up
* Bug #945: increasing eye bag slider breaks armature
* Bug #981: Makeclothes doesn't like eyes
* Bug #983: Modeling Face Mouth features slider images
* Bug #1004: RC and recent HG builds - file loader does not populate
* Bug #1027: MH 1.1.0 - Windows 10 PreRelease Build - File list Exceptions
* Bug #1028: MH 1.1.x - clean up / document status of genitals
* Bug #1029: Unicode in MH path still causing trouble
* Bug #1037: Using any translation crashes parts of the GUI
* Bug #1043: Possible issue in module3d
* Bug #1051: Assymetric foot vertex groups
* Bug #1053: Help About
* Bug #1057: ppa produced overwrite errorserrors
* Bug #1066: material_editor unicode warning MH 1.1.0 release
* Bug #1070: Sort filters dysfunctional - MH 1.1.0
* Bug #1073: Error loading a bvh pose created in Blender
* Bug #1076: MacOS Sierra - MakeHuman 1.1.0 data directory not loading
* Bug #1083: _cat_data["bodyproportion"] or _cat_data["bodyproportions"]?
* Bug #1088: Test cases for unicode issues
* Bug #1094: Update copyright to 2017
* Bug #1104: MakeWalk code has a trivial typo.
* Bug #1108: Replace splash screen
* Bug #1109: Investigate PPA errors
* Bug #1110: Update the README file.
* Bug #1111: Test Build r2066 (708f2b6d9545) issues
* Bug #1112: v1.1.1 can't load mhm created with v1.1.0
* Bug #1113: Link Help>About MakeHuman>Website to community
* Bug #1120: Error in language master file
* Bug #1124: PPA: the package description for makehuman-bodyparts is "test test"
* Bug #1126: PPA: makehuman-bodyparts should have "replaces makehuman-data"
* Bug #1135: File chooser in backgrounds tab does not populate when UI language set to russian
* Bug #1138: Missing bitbucket Item?
* Bug #1139: Missing comma in languages/master.json
* Feature #98: Regression suit to test the exported files.
* Feature #211: Conforming to debian python policy
* Feature #696: Increased support for rigid proxy assets
* Feature #1093: Easy way to copy version number to clipboard for bug reporting
* Feature #1107: Make sure it's possible to save all kinds of filenames on windows
e89fa384d2e7c0fc157eff739356d3980ad88e71
1330
1329
2017-03-04T09:29:03Z
Joepal
14
wikitext
text/x-wiki
These are the release notes for version 1.1.1, which was released in March 2017.
This release is primarily a bug fix release where the major effort has been spent on addressing the unicode issues which made MakeHuman crash when using certain non-ASCII characters in filenames or usernames (in certain locales) on Windows platforms.
== Highlights ==
* It should now be possible to mix encodings (from recognized and valid codepages, see known issues below) on windows 7/8/10, for example when having a unicode file system, but a cp850-encoded filename. This will solve crashes when the user name or the installation path contains latin1 characters such as åäöüñé.
* The UI will no longer crash when using translations.
* The release provides more consist management of undo and restore defaults
* Fix for glitches in the male formal suit (thanks to CallHarvey3d)
* Fix for glitches in the male worksuit (thanks to marco_105)
== Upgrading ==
In general, it should be possible to replace the 1.1.0 release with the 1.1.1 release without any noticeable downside. If you use the male worksuit, please note that it has had its UV layout redone from scratch (so third part textures relying on the old UV layout will no longer work).
== Known issues ==
While we believe we have now got a grip on all ''normal'' cases where non-ASCII characters are used in file names, it is still possible to break MakeHuman by copy/pasting characters from another codepage than the one windows is installed with. For example: if you have an US-english windows version and unzip MH in a folder named ру́сскийязы́к, chances are MH won't even start.
However, any file name that you are able to write on the keyboard (as opposed from copying from the web) should now work.
Inside MakeHuman the use of unicode characters is more permissive. It is possible to save MakeHuman models in folders and with filenames containing characters that are not in the primary codepage. However, in case of doubt, we would recommend using only ASCII-characters, respectively characters from your active code page, for filenames. If you plan to save files with users from another locale, it is prudent to stick with ASCII names whenever possible.
Because of the cost, the release version of MakeHuman 1.1.1 is not code-signed. This means that some virus checkers, and the Windows OS may issue a warning on your initial start-up. This should be safe to ignore if you downloaded your copy of MakeHuman directly from the official download site. If you obtained your copy elsewhere please use due diligence.
== All fixes ==
* Bug #78: "Restore Default" button in settings
* Bug #195: "Undo" does not actually undo many commands
* Bug #354: Add package_name + date in window title
* Bug #662: New malesuit01 needs minor UV touch-up
* Bug #716: Translation choices
* Bug #718: Alternative distribution for windows
* Bug #764: SVG not supported on windows (but doesn't crash)
* Bug #771: Consistent handling of binary/ascii export choice
* Bug #831: Worksuit texture touch-up
* Bug #945: increasing eye bag slider breaks armature
* Bug #981: Makeclothes doesn't like eyes
* Bug #983: Modeling Face Mouth features slider images
* Bug #1004: RC and recent HG builds - file loader does not populate
* Bug #1027: MH 1.1.0 - Windows 10 PreRelease Build - File list Exceptions
* Bug #1028: MH 1.1.x - clean up / document status of genitals
* Bug #1029: Unicode in MH path still causing trouble
* Bug #1037: Using any translation crashes parts of the GUI
* Bug #1043: Possible issue in module3d
* Bug #1051: Assymetric foot vertex groups
* Bug #1053: Help About
* Bug #1057: ppa produced overwrite errorserrors
* Bug #1066: material_editor unicode warning MH 1.1.0 release
* Bug #1070: Sort filters dysfunctional - MH 1.1.0
* Bug #1073: Error loading a bvh pose created in Blender
* Bug #1076: MacOS Sierra - MakeHuman 1.1.0 data directory not loading
* Bug #1083: _cat_data["bodyproportion"] or _cat_data["bodyproportions"]?
* Bug #1088: Test cases for unicode issues
* Bug #1094: Update copyright to 2017
* Bug #1104: MakeWalk code has a trivial typo.
* Bug #1108: Replace splash screen
* Bug #1109: Investigate PPA errors
* Bug #1110: Update the README file.
* Bug #1111: Test Build r2066 (708f2b6d9545) issues
* Bug #1112: v1.1.1 can't load mhm created with v1.1.0
* Bug #1113: Link Help>About MakeHuman>Website to community
* Bug #1120: Error in language master file
* Bug #1124: PPA: the package description for makehuman-bodyparts is "test test"
* Bug #1126: PPA: makehuman-bodyparts should have "replaces makehuman-data"
* Bug #1135: File chooser in backgrounds tab does not populate when UI language set to russian
* Bug #1138: Missing bitbucket Item?
* Bug #1139: Missing comma in languages/master.json
* Feature #98: Regression suit to test the exported files.
* Feature #211: Conforming to debian python policy
* Feature #696: Increased support for rigid proxy assets
* Feature #1093: Easy way to copy version number to clipboard for bug reporting
* Feature #1107: Make sure it's possible to save all kinds of filenames on windows
ccc4fd2b30f9d2222db8b98b2ac1d3ef7b04eb34
1329
1320
2017-03-04T09:26:45Z
Joepal
14
wikitext
text/x-wiki
These are the release notes for version 1.1.1, which was released in February 2017.
This release is primarily a bug fix release where the major effort has been spent on addressing the unicode issues which made MakeHuman crash when using certain non-ASCII characters in filenames or usernames (in certain locales) on Windows platforms.
== Highlights ==
* It should now be possible to mix encodings (from recognized and valid codepages, see known issues below) on windows 7/8/10, for example when having a unicode file system, but a cp850-encoded filename. This will solve crashes when the user name or the installation path contains latin1 characters such as åäöüñé.
* The UI will no longer crash when using translations.
* The release provides more consist management of undo and restore defaults
* Fix for glitches in the male formal suit (thanks to CallHarvey3d)
* Fix for glitches in the male worksuit (thanks to marco_105)
== Upgrading ==
In general, it should be possible to replace the 1.1.0 release with the 1.1.1 release without any noticeable downside. If you use the male worksuit, please note that it has had its UV layout redone from scratch (so third part textures relying on the old UV layout will no longer work).
== Known issues ==
While we believe we have now got a grip on all ''normal'' cases where non-ASCII characters are used in file names, it is still possible to break MakeHuman by copy/pasting characters from another codepage than the one windows is installed with. For example: if you have an US-english windows version and unzip MH in a folder named ру́сскийязы́к, chances are MH won't even start.
However, any file name that you are able to write on the keyboard (as opposed from copying from the web) should now work.
Inside MakeHuman the use of unicode characters is more permissive. It is possible to save MakeHuman models in folders and with filenames containing characters that are not in the primary codepage. However, in case of doubt, we would recommend using only ASCII-characters, respectively characters from your active code page, for filenames. If you plan to save files with users from another locale, it is prudent to stick with ASCII names whenever possible.
Because of the cost, the release version of MakeHuman 1.1.1 is not code-signed. This means that some virus checkers, and the Windows OS may issue a warning on your initial start-up. This should be safe to ignore if you downloaded your copy of MakeHuman directly from the official download site. If you obtained your copy elsewhere please use due diligence.
== All fixes ==
* Bug #78: "Restore Default" button in settings
* Bug #195: "Undo" does not actually undo many commands
* Bug #354: Add package_name + date in window title
* Bug #662: New malesuit01 needs minor UV touch-up
* Bug #716: Translation choices
* Bug #718: Alternative distribution for windows
* Bug #764: SVG not supported on windows (but doesn't crash)
* Bug #771: Consistent handling of binary/ascii export choice
* Bug #831: Worksuit texture touch-up
* Bug #945: increasing eye bag slider breaks armature
* Bug #981: Makeclothes doesn't like eyes
* Bug #983: Modeling Face Mouth features slider images
* Bug #1004: RC and recent HG builds - file loader does not populate
* Bug #1027: MH 1.1.0 - Windows 10 PreRelease Build - File list Exceptions
* Bug #1028: MH 1.1.x - clean up / document status of genitals
* Bug #1029: Unicode in MH path still causing trouble
* Bug #1037: Using any translation crashes parts of the GUI
* Bug #1043: Possible issue in module3d
* Bug #1051: Assymetric foot vertex groups
* Bug #1053: Help About
* Bug #1057: ppa produced overwrite errorserrors
* Bug #1066: material_editor unicode warning MH 1.1.0 release
* Bug #1070: Sort filters dysfunctional - MH 1.1.0
* Bug #1073: Error loading a bvh pose created in Blender
* Bug #1076: MacOS Sierra - MakeHuman 1.1.0 data directory not loading
* Bug #1083: _cat_data["bodyproportion"] or _cat_data["bodyproportions"]?
* Bug #1088: Test cases for unicode issues
* Bug #1094: Update copyright to 2017
* Bug #1104: MakeWalk code has a trivial typo.
* Bug #1108: Replace splash screen
* Bug #1109: Investigate PPA errors
* Bug #1110: Update the README file.
* Bug #1111: Test Build r2066 (708f2b6d9545) issues
* Bug #1112: v1.1.1 can't load mhm created with v1.1.0
* Bug #1113: Link Help>About MakeHuman>Website to community
* Bug #1120: Error in language master file
* Bug #1124: PPA: the package description for makehuman-bodyparts is "test test"
* Bug #1126: PPA: makehuman-bodyparts should have "replaces makehuman-data"
* Bug #1135: File chooser in backgrounds tab does not populate when UI language set to russian
* Bug #1138: Missing bitbucket Item?
* Bug #1139: Missing comma in languages/master.json
* Feature #98: Regression suit to test the exported files.
* Feature #211: Conforming to debian python policy
* Feature #696: Increased support for rigid proxy assets
* Feature #1093: Easy way to copy version number to clipboard for bug reporting
* Feature #1107: Make sure it's possible to save all kinds of filenames on windows
693d19120c60d7bb2b97f8766fd5c93723fe24a1
1320
1319
2017-02-16T10:34:26Z
Joepal
14
/* All fixes */
wikitext
text/x-wiki
These are the release notes for version 1.1.1, which was released in February 2017.
This release is primarily a bug fix release where the major effort has been spent on addressing the unicode issues which made MakeHuman crash when using certain non-ASCII characters in filenames or usernames (in certain locales) on Windows platforms.
== Highlights ==
* It should now be possible to mix encodings (from recognized and valid codepages, see known issues below) on windows 7/8/10, for example when having a unicode file system, but a cp850-encoded filename. This will solve crashes when the user name or the installation path contains latin1 characters such as åäöüñé.
* The UI will no longer crash when using translations.
* The release provides more consist management of undo and restore defaults
* Fix for glitches in the male formal suit (thanks to CallHarvey3d)
* Fix for glitches in the male worksuit (thanks to marco_105)
== Upgrading ==
In general, it should be possible to replace the 1.1.0 release with the 1.1.1 release without any noticeable downside. If you use the male worksuit, please note that it has had its UV layout redone from scratch (so third part textures relying on the old UV layout will no longer work).
== Known issues ==
While we believe we have now got a grip on all ''normal'' cases where non-ASCII characters are used in file names, it is still possible to break MakeHuman by copy/pasting characters from another codepage than the one windows is installed with. For example: if you have an US-english windows version and unzip MH in a folder named ру́сскийязы́к, chances are MH won't even start.
However, any file name that you are able to write on the keyboard (as opposed from copying from the web) should now work.
Inside MakeHuman the use of unicode characters is more permissive. It is possible to save MakeHuman models in folders and with filenames containing characters that are not in the primary codepage. However, in case of doubt, we would recommend using only ASCII-characters, respectively characters from your active code page, for filenames. If you plan to save files with users from another locale, it is prudent to stick with ASCII names whenever possible.
Because of the cost, the release version of MakeHuman 1.1.1 is not code-signed. This means that some virus checkers, and the Windows OS may issue a warning on your initial start-up. This should be safe to ignore if you downloaded your copy of MakeHuman directly from the official download site. If you obtained your copy elsewhere please use due diligence.
== All fixes ==
* Bug #78: "Restore Default" button in settings
* Bug #195: "Undo" does not actually undo many commands
* Bug #354: Add package_name + date in window title
* Bug #662: New malesuit01 needs minor UV touch-up
* Bug #718: Alternative distribution for windows
* Bug #764: SVG not supported on windows (but doesn't crash)
* Bug #771: Consistent handling of binary/ascii export choice
* Bug #831: Worksuit texture touch-up
* Bug #945: increasing eye bag slider breaks armature
* Bug #981: Makeclothes doesn't like eyes
* Bug #983: Modeling Face Mouth features slider images
* Bug #1004: RC and recent HG builds - file loader does not populate
* Bug #1027: MH 1.1.0 - Windows 10 PreRelease Build - File list Exceptions
* Bug #1028: MH 1.1.x - clean up / document status of genitals
* Bug #1029: Unicode in MH path still causing trouble
* Bug #1037: Using any translation crashes parts of the GUI
* Bug #1043: Possible issue in module3d
* Bug #1051: Assymetric foot vertex groups
* Bug #1053: Help About
* Bug #1057: ppa produced overwrite errors
* Bug #1066: material_editor unicode warning MH 1.1.0 release
* Bug #1070: Sort filters dysfunctional - MH 1.1.0
* Bug #1073: Error loading a bvh pose created in Blender
* Bug #1076: MacOS Sierra - MakeHuman 1.1.0 data directory not loading
* Bug #1083: _cat_data["bodyproportion"] or _cat_data["bodyproportions"]?
* Feature #1093: Easy way to copy version number to clipboard for bug reporting
930b581cc221841b419c8b8f501e081b46cf6c1b
1319
1318
2017-02-15T14:23:26Z
Robbaer
12
wikitext
text/x-wiki
These are the release notes for version 1.1.1, which was released in February 2017.
This release is primarily a bug fix release where the major effort has been spent on addressing the unicode issues which made MakeHuman crash when using certain non-ASCII characters in filenames or usernames (in certain locales) on Windows platforms.
== Highlights ==
* It should now be possible to mix encodings (from recognized and valid codepages, see known issues below) on windows 7/8/10, for example when having a unicode file system, but a cp850-encoded filename. This will solve crashes when the user name or the installation path contains latin1 characters such as åäöüñé.
* The UI will no longer crash when using translations.
* The release provides more consist management of undo and restore defaults
* Fix for glitches in the male formal suit (thanks to CallHarvey3d)
* Fix for glitches in the male worksuit (thanks to marco_105)
== Upgrading ==
In general, it should be possible to replace the 1.1.0 release with the 1.1.1 release without any noticeable downside. If you use the male worksuit, please note that it has had its UV layout redone from scratch (so third part textures relying on the old UV layout will no longer work).
== Known issues ==
While we believe we have now got a grip on all ''normal'' cases where non-ASCII characters are used in file names, it is still possible to break MakeHuman by copy/pasting characters from another codepage than the one windows is installed with. For example: if you have an US-english windows version and unzip MH in a folder named ру́сскийязы́к, chances are MH won't even start.
However, any file name that you are able to write on the keyboard (as opposed from copying from the web) should now work.
Inside MakeHuman the use of unicode characters is more permissive. It is possible to save MakeHuman models in folders and with filenames containing characters that are not in the primary codepage. However, in case of doubt, we would recommend using only ASCII-characters, respectively characters from your active code page, for filenames. If you plan to save files with users from another locale, it is prudent to stick with ASCII names whenever possible.
Because of the cost, the release version of MakeHuman 1.1.1 is not code-signed. This means that some virus checkers, and the Windows OS may issue a warning on your initial start-up. This should be safe to ignore if you downloaded your copy of MakeHuman directly from the official download site. If you obtained your copy elsewhere please use due diligence.
== All fixes ==
* Bug #78: "Restore Default" button in settings
* Bug #195: "Undo" does not actually undo many commands
* Bug #354: Add package_name + date in window title
* Bug #662: New malesuit01 needs minor UV touch-up
* Bug #718: Alternative distribution for windows
* Bug #764: SVG not supported on windows (but doesn't crash)
* Bug #771: Consistent handling of binary/ascii export choice
* Bug #831: Worksuit texture touch-up
* Bug #945: increasing eye bag slider breaks armature
* ''Bug #954: Possible problem in default rig weights''
* Bug #981: Makeclothes doesn't like eyes
* Bug #983: Modeling Face Mouth features slider images
* Bug #1004: RC and recent HG builds - file loader does not populate
* Bug #1027: MH 1.1.0 - Windows 10 PreRelease Build - File list Exceptions
* Bug #1028: MH 1.1.x - clean up / document status of genitals
* Bug #1029: Unicode in MH path still causing trouble
* Bug ''#1034: Malassigned / malformed vertices in the armpit''
* Bug #1037: Using any translation crashes parts of the GUI
* Bug #1043: Possible issue in module3d
* Bug #1051: Assymetric foot vertex groups
* Bug #1053: Help About
* ''Bug #1054: Ubuntu 16.04 and mesa drivers''
* Bug #1057: ppa produced overwrite errors
* Bug #1066: material_editor unicode warning MH 1.1.0 release
* Bug #1070: Sort filters dysfunctional - MH 1.1.0
* Bug #1073: Error loading a bvh pose created in Blender
* Bug #1076: MacOS Sierra - MakeHuman 1.1.0 data directory not loading
* Bug #1083: _cat_data["bodyproportion"] or _cat_data["bodyproportions"]?
* Feature #1093: Easy way to copy version number to clipboard for bug reporting
4476566b38303936df12eb03fcaa9a057ac71615
1318
1317
2017-02-15T14:21:23Z
Robbaer
12
/* Known issues */
wikitext
text/x-wiki
These are the [preliminary] release notes for version 1.1.1, which [will probably be] released in February 2017.
This release is primarily a bug fix release where the major effort has been spent on addressing the unicode issues which made MakeHuman crash when using certain non-ASCII characters in filenames or usernames (in certain locales) on Windows platforms.
== Highlights ==
* It should now be possible to mix encodings (from recognized and valid codepages, see known issues below) on windows 7/8/10, for example when having a unicode file system, but a cp850-encoded filename. This will solve crashes when the user name or the installation path contains latin1 characters such as åäöüñé.
* The UI will no longer crash when using translations.
* The release provides more consist management of undo and restore defaults
* Fix for glitches in the male formal suit (thanks to CallHarvey3d)
* Fix for glitches in the male worksuit (thanks to marco_105)
== Upgrading ==
In general, it should be possible to replace the 1.1.0 release with the 1.1.1 release without any noticeable downside. If you use the male worksuit, please note that it has had its UV layout redone from scratch (so third part textures relying on the old UV layout will no longer work).
== Known issues ==
While we believe we have now got a grip on all ''normal'' cases where non-ASCII characters are used in file names, it is still possible to break MakeHuman by copy/pasting characters from another codepage than the one windows is installed with. For example: if you have an US-english windows version and unzip MH in a folder named ру́сскийязы́к, chances are MH won't even start.
However, any file name that you are able to write on the keyboard (as opposed from copying from the web) should now work.
Inside MakeHuman the use of unicode characters is more permissive. It is possible to save MakeHuman models in folders and with filenames containing characters that are not in the primary codepage. However, in case of doubt, we would recommend using only ASCII-characters, respectively characters from your active code page, for filenames. If you plan to save files with users from another locale, it is prudent to stick with ASCII names whenever possible.
Because of the cost, the release version of MakeHuman 1.1.1 is not code-signed. This means that some virus checkers, and the Windows OS may issue a warning on your initial start-up. This should be safe to ignore if you downloaded your copy of MakeHuman directly from the official download site. If you obtained your copy elsewhere please use due diligence.
== All fixes ==
* Bug #78: "Restore Default" button in settings
* Bug #195: "Undo" does not actually undo many commands
* Bug #354: Add package_name + date in window title
* Bug #662: New malesuit01 needs minor UV touch-up
* Bug #718: Alternative distribution for windows
* Bug #764: SVG not supported on windows (but doesn't crash)
* Bug #771: Consistent handling of binary/ascii export choice
* Bug #831: Worksuit texture touch-up
* Bug #945: increasing eye bag slider breaks armature
* ''Bug #954: Possible problem in default rig weights''
* Bug #981: Makeclothes doesn't like eyes
* Bug #983: Modeling Face Mouth features slider images
* Bug #1004: RC and recent HG builds - file loader does not populate
* Bug #1027: MH 1.1.0 - Windows 10 PreRelease Build - File list Exceptions
* Bug #1028: MH 1.1.x - clean up / document status of genitals
* Bug #1029: Unicode in MH path still causing trouble
* Bug ''#1034: Malassigned / malformed vertices in the armpit''
* Bug #1037: Using any translation crashes parts of the GUI
* Bug #1043: Possible issue in module3d
* Bug #1051: Assymetric foot vertex groups
* Bug #1053: Help About
* ''Bug #1054: Ubuntu 16.04 and mesa drivers''
* Bug #1057: ppa produced overwrite errors
* Bug #1066: material_editor unicode warning MH 1.1.0 release
* Bug #1070: Sort filters dysfunctional - MH 1.1.0
* Bug #1073: Error loading a bvh pose created in Blender
* Bug #1076: MacOS Sierra - MakeHuman 1.1.0 data directory not loading
* Bug #1083: _cat_data["bodyproportion"] or _cat_data["bodyproportions"]?
* Feature #1093: Easy way to copy version number to clipboard for bug reporting
754e3c419c500006c8e03d5666dfba718e1d91e6
1317
1316
2017-02-15T14:16:48Z
Robbaer
12
/* Known issues */
wikitext
text/x-wiki
These are the [preliminary] release notes for version 1.1.1, which [will probably be] released in February 2017.
This release is primarily a bug fix release where the major effort has been spent on addressing the unicode issues which made MakeHuman crash when using certain non-ASCII characters in filenames or usernames (in certain locales) on Windows platforms.
== Highlights ==
* It should now be possible to mix encodings (from recognized and valid codepages, see known issues below) on windows 7/8/10, for example when having a unicode file system, but a cp850-encoded filename. This will solve crashes when the user name or the installation path contains latin1 characters such as åäöüñé.
* The UI will no longer crash when using translations.
* The release provides more consist management of undo and restore defaults
* Fix for glitches in the male formal suit (thanks to CallHarvey3d)
* Fix for glitches in the male worksuit (thanks to marco_105)
== Upgrading ==
In general, it should be possible to replace the 1.1.0 release with the 1.1.1 release without any noticeable downside. If you use the male worksuit, please note that it has had its UV layout redone from scratch (so third part textures relying on the old UV layout will no longer work).
== Known issues ==
While we believe we have now got a grip on all ''normal'' cases where non-ASCII characters are used in file names, it is still possible to break MakeHuman by copy/pasting characters from another codepage than the one windows is installed with. For example: if you have an US-english windows version and unzip MH in a folder named ру́сскийязы́к, chances are MH won't even start.
However, any file name that you are able to write on the keyboard (as opposed from copying from the web) should now work.
Inside MakeHuman the use of unicode characters is more permissive. It is possible to save MakeHuman models in folders and with filenames containing characters that are not in the primary codepage. However, in case of doubt, we would recommend using only ASCII-characters, respectively characters from your active code page, for filenames. If you plan to save files with users from another locale, it is prudent to stick with ASCII names whenever possible.
The release version of MakeHuman 1.1.1 is not code-signed which means that some virus checkers and Windows OS may issue a warning on your initial start-up. This should be safe to ignore if you got your copy of MakeHuman directly from the official download site. If you obtained your copy elsewhere please use due diligence.
== All fixes ==
* Bug #78: "Restore Default" button in settings
* Bug #195: "Undo" does not actually undo many commands
* Bug #354: Add package_name + date in window title
* Bug #662: New malesuit01 needs minor UV touch-up
* Bug #718: Alternative distribution for windows
* Bug #764: SVG not supported on windows (but doesn't crash)
* Bug #771: Consistent handling of binary/ascii export choice
* Bug #831: Worksuit texture touch-up
* Bug #945: increasing eye bag slider breaks armature
* ''Bug #954: Possible problem in default rig weights''
* Bug #981: Makeclothes doesn't like eyes
* Bug #983: Modeling Face Mouth features slider images
* Bug #1004: RC and recent HG builds - file loader does not populate
* Bug #1027: MH 1.1.0 - Windows 10 PreRelease Build - File list Exceptions
* Bug #1028: MH 1.1.x - clean up / document status of genitals
* Bug #1029: Unicode in MH path still causing trouble
* Bug ''#1034: Malassigned / malformed vertices in the armpit''
* Bug #1037: Using any translation crashes parts of the GUI
* Bug #1043: Possible issue in module3d
* Bug #1051: Assymetric foot vertex groups
* Bug #1053: Help About
* ''Bug #1054: Ubuntu 16.04 and mesa drivers''
* Bug #1057: ppa produced overwrite errors
* Bug #1066: material_editor unicode warning MH 1.1.0 release
* Bug #1070: Sort filters dysfunctional - MH 1.1.0
* Bug #1073: Error loading a bvh pose created in Blender
* Bug #1076: MacOS Sierra - MakeHuman 1.1.0 data directory not loading
* Bug #1083: _cat_data["bodyproportion"] or _cat_data["bodyproportions"]?
* Feature #1093: Easy way to copy version number to clipboard for bug reporting
145e8606460a32e6576b4e66744662fa14db5ada
1316
1315
2017-02-15T14:15:37Z
Robbaer
12
/* Known issues */
wikitext
text/x-wiki
These are the [preliminary] release notes for version 1.1.1, which [will probably be] released in February 2017.
This release is primarily a bug fix release where the major effort has been spent on addressing the unicode issues which made MakeHuman crash when using certain non-ASCII characters in filenames or usernames (in certain locales) on Windows platforms.
== Highlights ==
* It should now be possible to mix encodings (from recognized and valid codepages, see known issues below) on windows 7/8/10, for example when having a unicode file system, but a cp850-encoded filename. This will solve crashes when the user name or the installation path contains latin1 characters such as åäöüñé.
* The UI will no longer crash when using translations.
* The release provides more consist management of undo and restore defaults
* Fix for glitches in the male formal suit (thanks to CallHarvey3d)
* Fix for glitches in the male worksuit (thanks to marco_105)
== Upgrading ==
In general, it should be possible to replace the 1.1.0 release with the 1.1.1 release without any noticeable downside. If you use the male worksuit, please note that it has had its UV layout redone from scratch (so third part textures relying on the old UV layout will no longer work).
== Known issues ==
While we believe we have now got a grip on all ''normal'' cases where non-ASCII characters are used in file names, it is still possible to break MakeHuman by copy/pasting characters from another codepage than the one windows is installed with. For example: if you have an US-english windows version and unzip MH in a folder named ру́сскийязы́к, chances are MH won't even start.
However, any file name that you are able to write on the keyboard (as opposed from copying from the web) should now work.
Inside MakeHuman the use of unicode characters is more permissive. It is possible to save MakeHuman models in folders and with filenames containing characters that are not in the primary codepage. However, in case of doubt, we would recommend using only ASCII-characters, respectively characters from your active code page, for filenames. If you plan to save files with users from another locale, it is prudent to stick with ASCII names whenever possible.
The release version of MakeHuman 1.1.1 is not code-signed which means that some virus checkers and Windows OS may issue a warning on your initial start-up. This should be safe to ignore if you got your copy of MakeHuman directly from the official download site.
== All fixes ==
* Bug #78: "Restore Default" button in settings
* Bug #195: "Undo" does not actually undo many commands
* Bug #354: Add package_name + date in window title
* Bug #662: New malesuit01 needs minor UV touch-up
* Bug #718: Alternative distribution for windows
* Bug #764: SVG not supported on windows (but doesn't crash)
* Bug #771: Consistent handling of binary/ascii export choice
* Bug #831: Worksuit texture touch-up
* Bug #945: increasing eye bag slider breaks armature
* ''Bug #954: Possible problem in default rig weights''
* Bug #981: Makeclothes doesn't like eyes
* Bug #983: Modeling Face Mouth features slider images
* Bug #1004: RC and recent HG builds - file loader does not populate
* Bug #1027: MH 1.1.0 - Windows 10 PreRelease Build - File list Exceptions
* Bug #1028: MH 1.1.x - clean up / document status of genitals
* Bug #1029: Unicode in MH path still causing trouble
* Bug ''#1034: Malassigned / malformed vertices in the armpit''
* Bug #1037: Using any translation crashes parts of the GUI
* Bug #1043: Possible issue in module3d
* Bug #1051: Assymetric foot vertex groups
* Bug #1053: Help About
* ''Bug #1054: Ubuntu 16.04 and mesa drivers''
* Bug #1057: ppa produced overwrite errors
* Bug #1066: material_editor unicode warning MH 1.1.0 release
* Bug #1070: Sort filters dysfunctional - MH 1.1.0
* Bug #1073: Error loading a bvh pose created in Blender
* Bug #1076: MacOS Sierra - MakeHuman 1.1.0 data directory not loading
* Bug #1083: _cat_data["bodyproportion"] or _cat_data["bodyproportions"]?
* Feature #1093: Easy way to copy version number to clipboard for bug reporting
33032def310db51d13307687dcb54f4b1a60ad6d
1315
1314
2017-02-15T14:12:29Z
Robbaer
12
/* Known issues */
wikitext
text/x-wiki
These are the [preliminary] release notes for version 1.1.1, which [will probably be] released in February 2017.
This release is primarily a bug fix release where the major effort has been spent on addressing the unicode issues which made MakeHuman crash when using certain non-ASCII characters in filenames or usernames (in certain locales) on Windows platforms.
== Highlights ==
* It should now be possible to mix encodings (from recognized and valid codepages, see known issues below) on windows 7/8/10, for example when having a unicode file system, but a cp850-encoded filename. This will solve crashes when the user name or the installation path contains latin1 characters such as åäöüñé.
* The UI will no longer crash when using translations.
* The release provides more consist management of undo and restore defaults
* Fix for glitches in the male formal suit (thanks to CallHarvey3d)
* Fix for glitches in the male worksuit (thanks to marco_105)
== Upgrading ==
In general, it should be possible to replace the 1.1.0 release with the 1.1.1 release without any noticeable downside. If you use the male worksuit, please note that it has had its UV layout redone from scratch (so third part textures relying on the old UV layout will no longer work).
== Known issues ==
While we believe we have now got a grip on all ''normal'' cases where non-ASCII characters are used in file names, it is still possible to break MakeHuman by copy/pasting characters from another codepage than the one windows is installed with. For example: if you have an US-english windows version and unzip MH in a folder named ру́сскийязы́к, chances are MH won't even start.
However, any file name that you are able to write on the keyboard (as opposed from copying from the web) should now work.
Inside MakeHuman the use of unicode characters is more permissive. It is possible to save MakeHuman models in folders and with filenames containing characters that are not in the primary codepage. However, in case of doubt, we would recommend using only ASCII-characters, respectively characters from your active code page, for filenames. If you plan to save files with users from another locale, it is prudent to stick with ASCII names whenever possible.
== All fixes ==
* Bug #78: "Restore Default" button in settings
* Bug #195: "Undo" does not actually undo many commands
* Bug #354: Add package_name + date in window title
* Bug #662: New malesuit01 needs minor UV touch-up
* Bug #718: Alternative distribution for windows
* Bug #764: SVG not supported on windows (but doesn't crash)
* Bug #771: Consistent handling of binary/ascii export choice
* Bug #831: Worksuit texture touch-up
* Bug #945: increasing eye bag slider breaks armature
* ''Bug #954: Possible problem in default rig weights''
* Bug #981: Makeclothes doesn't like eyes
* Bug #983: Modeling Face Mouth features slider images
* Bug #1004: RC and recent HG builds - file loader does not populate
* Bug #1027: MH 1.1.0 - Windows 10 PreRelease Build - File list Exceptions
* Bug #1028: MH 1.1.x - clean up / document status of genitals
* Bug #1029: Unicode in MH path still causing trouble
* Bug ''#1034: Malassigned / malformed vertices in the armpit''
* Bug #1037: Using any translation crashes parts of the GUI
* Bug #1043: Possible issue in module3d
* Bug #1051: Assymetric foot vertex groups
* Bug #1053: Help About
* ''Bug #1054: Ubuntu 16.04 and mesa drivers''
* Bug #1057: ppa produced overwrite errors
* Bug #1066: material_editor unicode warning MH 1.1.0 release
* Bug #1070: Sort filters dysfunctional - MH 1.1.0
* Bug #1073: Error loading a bvh pose created in Blender
* Bug #1076: MacOS Sierra - MakeHuman 1.1.0 data directory not loading
* Bug #1083: _cat_data["bodyproportion"] or _cat_data["bodyproportions"]?
* Feature #1093: Easy way to copy version number to clipboard for bug reporting
617821c702270ca0cf83714375cf48bb15606b07
1314
1313
2017-02-15T14:06:12Z
Robbaer
12
/* Highlights */
wikitext
text/x-wiki
These are the [preliminary] release notes for version 1.1.1, which [will probably be] released in February 2017.
This release is primarily a bug fix release where the major effort has been spent on addressing the unicode issues which made MakeHuman crash when using certain non-ASCII characters in filenames or usernames (in certain locales) on Windows platforms.
== Highlights ==
* It should now be possible to mix encodings (from recognized and valid codepages, see known issues below) on windows 7/8/10, for example when having a unicode file system, but a cp850-encoded filename. This will solve crashes when the user name or the installation path contains latin1 characters such as åäöüñé.
* The UI will no longer crash when using translations.
* The release provides more consist management of undo and restore defaults
* Fix for glitches in the male formal suit (thanks to CallHarvey3d)
* Fix for glitches in the male worksuit (thanks to marco_105)
== Upgrading ==
In general, it should be possible to replace the 1.1.0 release with the 1.1.1 release without any noticeable downside. If you use the male worksuit, please note that it has had its UV layout redone from scratch (so third part textures relying on the old UV layout will no longer work).
== Known issues ==
While we believe we have now got a grip on all ''normal'' cases where non-ASCII characters are used in file names, it is still possible to break MakeHuman by copy/pasting characters from another codepage than the one windows is installed with. For example: if you have an US-english windows version and unzip MH in a folder named ру́сскийязы́к, chances are MH won't even start.
However, any file name you are able to write on the keyboard (as opposed from copying from the web) should now work.
Inside MakeHuman the usage of unicode characters is more permissive. It is possible to safe MakeHuman models in folders and with filenames containing characters that are not in the primary codepage. However, in case of doubt, we would recommend using only ASCII-characters, respectively characters from your active code page, for filenames.
== All fixes ==
* Bug #78: "Restore Default" button in settings
* Bug #195: "Undo" does not actually undo many commands
* Bug #354: Add package_name + date in window title
* Bug #662: New malesuit01 needs minor UV touch-up
* Bug #718: Alternative distribution for windows
* Bug #764: SVG not supported on windows (but doesn't crash)
* Bug #771: Consistent handling of binary/ascii export choice
* Bug #831: Worksuit texture touch-up
* Bug #945: increasing eye bag slider breaks armature
* ''Bug #954: Possible problem in default rig weights''
* Bug #981: Makeclothes doesn't like eyes
* Bug #983: Modeling Face Mouth features slider images
* Bug #1004: RC and recent HG builds - file loader does not populate
* Bug #1027: MH 1.1.0 - Windows 10 PreRelease Build - File list Exceptions
* Bug #1028: MH 1.1.x - clean up / document status of genitals
* Bug #1029: Unicode in MH path still causing trouble
* Bug ''#1034: Malassigned / malformed vertices in the armpit''
* Bug #1037: Using any translation crashes parts of the GUI
* Bug #1043: Possible issue in module3d
* Bug #1051: Assymetric foot vertex groups
* Bug #1053: Help About
* ''Bug #1054: Ubuntu 16.04 and mesa drivers''
* Bug #1057: ppa produced overwrite errors
* Bug #1066: material_editor unicode warning MH 1.1.0 release
* Bug #1070: Sort filters dysfunctional - MH 1.1.0
* Bug #1073: Error loading a bvh pose created in Blender
* Bug #1076: MacOS Sierra - MakeHuman 1.1.0 data directory not loading
* Bug #1083: _cat_data["bodyproportion"] or _cat_data["bodyproportions"]?
* Feature #1093: Easy way to copy version number to clipboard for bug reporting
d712bf2d6b2ee6da112cf407dc283bbc948596fe
1313
1312
2017-02-15T12:17:38Z
Aranuvir
17
/* Known issues */
wikitext
text/x-wiki
These are the [preliminary] release notes for version 1.1.1, which [will probably be] released in February 2017.
This release is primarily a bug fix release where the major effort has been spent on addressing the unicode issues which made MakeHuman crash when using certain non-ASCII characters in filenames or usernames (in certain locales) on Windows platforms.
== Highlights ==
* It should now be possible to mix encodings (from recognized and valid codepages, see known issues below) on windows 7, for example when having a unicode file system, but a cp850-encoded filename. This will solve crashes when the user name or the installation path contains latin1 characters such as åäöüñé.
* The UI will no longer crash when using translations.
* The release provides more consist management of undo and restore defaults
* Fix for glitches in the male formal suit (thanks to CallHarvey3d)
* Fix for glitches in the male worksuit (thanks to marco_105)
== Upgrading ==
In general, it should be possible to replace the 1.1.0 release with the 1.1.1 release without any noticeable downside. If you use the male worksuit, please note that it has had its UV layout redone from scratch (so third part textures relying on the old UV layout will no longer work).
== Known issues ==
While we believe we have now got a grip on all ''normal'' cases where non-ASCII characters are used in file names, it is still possible to break MakeHuman by copy/pasting characters from another codepage than the one windows is installed with. For example: if you have an US-english windows version and unzip MH in a folder named ру́сскийязы́к, chances are MH won't even start.
However, any file name you are able to write on the keyboard (as opposed from copying from the web) should now work.
Inside MakeHuman the usage of unicode characters is more permissive. It is possible to safe MakeHuman models in folders and with filenames containing characters that are not in the primary codepage. However, in case of doubt, we would recommend using only ASCII-characters, respectively characters from your active code page, for filenames.
== All fixes ==
* Bug #78: "Restore Default" button in settings
* Bug #195: "Undo" does not actually undo many commands
* Bug #354: Add package_name + date in window title
* Bug #662: New malesuit01 needs minor UV touch-up
* Bug #718: Alternative distribution for windows
* Bug #764: SVG not supported on windows (but doesn't crash)
* Bug #771: Consistent handling of binary/ascii export choice
* Bug #831: Worksuit texture touch-up
* Bug #945: increasing eye bag slider breaks armature
* ''Bug #954: Possible problem in default rig weights''
* Bug #981: Makeclothes doesn't like eyes
* Bug #983: Modeling Face Mouth features slider images
* Bug #1004: RC and recent HG builds - file loader does not populate
* Bug #1027: MH 1.1.0 - Windows 10 PreRelease Build - File list Exceptions
* Bug #1028: MH 1.1.x - clean up / document status of genitals
* Bug #1029: Unicode in MH path still causing trouble
* Bug ''#1034: Malassigned / malformed vertices in the armpit''
* Bug #1037: Using any translation crashes parts of the GUI
* Bug #1043: Possible issue in module3d
* Bug #1051: Assymetric foot vertex groups
* Bug #1053: Help About
* ''Bug #1054: Ubuntu 16.04 and mesa drivers''
* Bug #1057: ppa produced overwrite errors
* Bug #1066: material_editor unicode warning MH 1.1.0 release
* Bug #1070: Sort filters dysfunctional - MH 1.1.0
* Bug #1073: Error loading a bvh pose created in Blender
* Bug #1076: MacOS Sierra - MakeHuman 1.1.0 data directory not loading
* Bug #1083: _cat_data["bodyproportion"] or _cat_data["bodyproportions"]?
* Feature #1093: Easy way to copy version number to clipboard for bug reporting
6b1e864f738a8bd648276bd9cb7bb7404d08e0f5
1312
1307
2017-02-15T11:16:06Z
Aranuvir
17
/* Known issues */
wikitext
text/x-wiki
These are the [preliminary] release notes for version 1.1.1, which [will probably be] released in February 2017.
This release is primarily a bug fix release where the major effort has been spent on addressing the unicode issues which made MakeHuman crash when using certain non-ASCII characters in filenames or usernames (in certain locales) on Windows platforms.
== Highlights ==
* It should now be possible to mix encodings (from recognized and valid codepages, see known issues below) on windows 7, for example when having a unicode file system, but a cp850-encoded filename. This will solve crashes when the user name or the installation path contains latin1 characters such as åäöüñé.
* The UI will no longer crash when using translations.
* The release provides more consist management of undo and restore defaults
* Fix for glitches in the male formal suit (thanks to CallHarvey3d)
* Fix for glitches in the male worksuit (thanks to marco_105)
== Upgrading ==
In general, it should be possible to replace the 1.1.0 release with the 1.1.1 release without any noticeable downside. If you use the male worksuit, please note that it has had its UV layout redone from scratch (so third part textures relying on the old UV layout will no longer work).
== Known issues ==
While we believe we have now got a grip on all ''normal'' cases where non-ASCII characters are used in file names, it is still possible to break MakeHuman by copy/pasting characters from another codepage than the one windows is installed with. For example: if you have an US-english windows version and unzip MH in a folder named ру́сскийязы́к, chances are MH won't even start.
However, any file name you are able to write on the keyboard (as opposed from copying from the web) should now work.
Inside MakeHuman the usage of unicode characters is more permissive. It was possible to safe MakeHuman models in folders and with filenames containing characters that are not in the primary codepage. But in case of doubt we would recommend using only ASCII-characters, respectively characters from your active code page, for filenames.
== All fixes ==
* Bug #78: "Restore Default" button in settings
* Bug #195: "Undo" does not actually undo many commands
* Bug #354: Add package_name + date in window title
* Bug #662: New malesuit01 needs minor UV touch-up
* Bug #718: Alternative distribution for windows
* Bug #764: SVG not supported on windows (but doesn't crash)
* Bug #771: Consistent handling of binary/ascii export choice
* Bug #831: Worksuit texture touch-up
* Bug #945: increasing eye bag slider breaks armature
* ''Bug #954: Possible problem in default rig weights''
* Bug #981: Makeclothes doesn't like eyes
* Bug #983: Modeling Face Mouth features slider images
* Bug #1004: RC and recent HG builds - file loader does not populate
* Bug #1027: MH 1.1.0 - Windows 10 PreRelease Build - File list Exceptions
* Bug #1028: MH 1.1.x - clean up / document status of genitals
* Bug #1029: Unicode in MH path still causing trouble
* Bug ''#1034: Malassigned / malformed vertices in the armpit''
* Bug #1037: Using any translation crashes parts of the GUI
* Bug #1043: Possible issue in module3d
* Bug #1051: Assymetric foot vertex groups
* Bug #1053: Help About
* ''Bug #1054: Ubuntu 16.04 and mesa drivers''
* Bug #1057: ppa produced overwrite errors
* Bug #1066: material_editor unicode warning MH 1.1.0 release
* Bug #1070: Sort filters dysfunctional - MH 1.1.0
* Bug #1073: Error loading a bvh pose created in Blender
* Bug #1076: MacOS Sierra - MakeHuman 1.1.0 data directory not loading
* Bug #1083: _cat_data["bodyproportion"] or _cat_data["bodyproportions"]?
* Feature #1093: Easy way to copy version number to clipboard for bug reporting
2196b7adb00fdc2278e8f37485f4a8db3dc44a9c
1307
1306
2017-02-08T09:49:58Z
Joepal
14
/* All fixes */
wikitext
text/x-wiki
These are the [preliminary] release notes for version 1.1.1, which [will probably be] released in February 2017.
This release is primarily a bug fix release where the major effort has been spent on addressing the unicode issues which made MakeHuman crash when using certain non-ASCII characters in filenames or usernames (in certain locales) on Windows platforms.
== Highlights ==
* It should now be possible to mix encodings (from recognized and valid codepages, see known issues below) on windows 7, for example when having a unicode file system, but a cp850-encoded filename. This will solve crashes when the user name or the installation path contains latin1 characters such as åäöüñé.
* The UI will no longer crash when using translations.
* The release provides more consist management of undo and restore defaults
* Fix for glitches in the male formal suit (thanks to CallHarvey3d)
* Fix for glitches in the male worksuit (thanks to marco_105)
== Upgrading ==
In general, it should be possible to replace the 1.1.0 release with the 1.1.1 release without any noticeable downside. If you use the male worksuit, please note that it has had its UV layout redone from scratch (so third part textures relying on the old UV layout will no longer work).
== Known issues ==
While we believe we have now got a grip on all ''normal'' cases where non-ascii characters are used in file names, it is still possible to break MakeHuman by copy/pasting characters from another codepage than the one windows is installed with. For example: if you have an US-english windows version and unzip MH in a folder named ру́сскийязы́к, chances are MH won't even start.
However, any file name you are able to write on the keyboard (as opposed from copying from the web) should now work.
== All fixes ==
* Bug #78: "Restore Default" button in settings
* Bug #195: "Undo" does not actually undo many commands
* Bug #354: Add package_name + date in window title
* Bug #662: New malesuit01 needs minor UV touch-up
* Bug #718: Alternative distribution for windows
* Bug #764: SVG not supported on windows (but doesn't crash)
* Bug #771: Consistent handling of binary/ascii export choice
* Bug #831: Worksuit texture touch-up
* Bug #945: increasing eye bag slider breaks armature
* ''Bug #954: Possible problem in default rig weights''
* Bug #981: Makeclothes doesn't like eyes
* Bug #983: Modeling Face Mouth features slider images
* Bug #1004: RC and recent HG builds - file loader does not populate
* Bug #1027: MH 1.1.0 - Windows 10 PreRelease Build - File list Exceptions
* Bug #1028: MH 1.1.x - clean up / document status of genitals
* Bug #1029: Unicode in MH path still causing trouble
* Bug ''#1034: Malassigned / malformed vertices in the armpit''
* Bug #1037: Using any translation crashes parts of the GUI
* Bug #1043: Possible issue in module3d
* Bug #1051: Assymetric foot vertex groups
* Bug #1053: Help About
* ''Bug #1054: Ubuntu 16.04 and mesa drivers''
* Bug #1057: ppa produced overwrite errors
* Bug #1066: material_editor unicode warning MH 1.1.0 release
* Bug #1070: Sort filters dysfunctional - MH 1.1.0
* Bug #1073: Error loading a bvh pose created in Blender
* Bug #1076: MacOS Sierra - MakeHuman 1.1.0 data directory not loading
* Bug #1083: _cat_data["bodyproportion"] or _cat_data["bodyproportions"]?
* Feature #1093: Easy way to copy version number to clipboard for bug reporting
b7a7e6eea041db0610c4062f9d0bd3d4a8f0d37a
1306
1305
2017-02-08T09:34:27Z
Joepal
14
wikitext
text/x-wiki
These are the [preliminary] release notes for version 1.1.1, which [will probably be] released in February 2017.
This release is primarily a bug fix release where the major effort has been spent on addressing the unicode issues which made MakeHuman crash when using certain non-ASCII characters in filenames or usernames (in certain locales) on Windows platforms.
== Highlights ==
* It should now be possible to mix encodings (from recognized and valid codepages, see known issues below) on windows 7, for example when having a unicode file system, but a cp850-encoded filename. This will solve crashes when the user name or the installation path contains latin1 characters such as åäöüñé.
* The UI will no longer crash when using translations.
* The release provides more consist management of undo and restore defaults
* Fix for glitches in the male formal suit (thanks to CallHarvey3d)
* Fix for glitches in the male worksuit (thanks to marco_105)
== Upgrading ==
In general, it should be possible to replace the 1.1.0 release with the 1.1.1 release without any noticeable downside. If you use the male worksuit, please note that it has had its UV layout redone from scratch (so third part textures relying on the old UV layout will no longer work).
== Known issues ==
While we believe we have now got a grip on all ''normal'' cases where non-ascii characters are used in file names, it is still possible to break MakeHuman by copy/pasting characters from another codepage than the one windows is installed with. For example: if you have an US-english windows version and unzip MH in a folder named ру́сскийязы́к, chances are MH won't even start.
However, any file name you are able to write on the keyboard (as opposed from copying from the web) should now work.
== All fixes ==
* Bug #78: "Restore Default" button in settings
* Bug #195: "Undo" does not actually undo many commands
* Bug #354: Add package_name + date in window title
* Bug #662: New malesuit01 needs minor UV touch-up
* Bug #718: Alternative distribution for windows
* Bug #764: SVG not supported on windows (but doesn't crash)
* Bug #771: Consistent handling of binary/ascii export choice
* Bug #831: Worksuit texture touch-up
* Bug #945: increasing eye bag slider breaks armature
* Bug #954: Possible problem in default rig weights
* Bug #981: Makeclothes doesn't like eyes
* Bug #983: Modeling Face Mouth features slider images
* Bug #1004: RC and recent HG builds - file loader does not populate
* Bug #1027: MH 1.1.0 - Windows 10 PreRelease Build - File list Exceptions
* Bug #1028: MH 1.1.x - clean up / document status of genitals
* Bug #1029: Unicode in MH path still causing trouble
* Bug #1034: Malassigned / malformed vertices in the armpit
* Bug #1037: Using any translation crashes parts of the GUI
* Bug #1043: Possible issue in module3d
* Bug #1051: Assymetric foot vertex groups
* Bug #1053: Help About
* Bug #1054: Ubuntu 16.04 and mesa drivers
* Bug #1057: ppa produced overwrite errors
* Bug #1066: material_editor unicode warning MH 1.1.0 release
* Bug #1070: Sort filters dysfunctional - MH 1.1.0
* Bug #1073: Error loading a bvh pose created in Blender
* Bug #1076: MacOS Sierra - MakeHuman 1.1.0 data directory not loading
* Bug #1083: _cat_data["bodyproportion"] or _cat_data["bodyproportions"]?
* Feature #1093: Easy way to copy version number to clipboard for bug reporting
3084305ca774ddb8e05d2e332df9fd9a47716903
1305
1304
2017-02-06T16:12:54Z
Robbaer
12
wikitext
text/x-wiki
These are the [preliminary] release notes for version 1.1.1, which [will probably be] released in February 2017.
This release is primarily a bug fix release where the major effort has been spent on addressing the unicode issues which made MakeHuman crash when using certain non-ASCII characters in filenames or usernames (in certain locales) on Windows platforms.
== Highlights ==
* It should now be possible to mix encodings on windows 7 (for example having a unicode file system, but a cp850-encoded filename). This will solve crashes when the user name or the installation path contains latin1 characters such as åäöüñé.
* The UI will no longer crash when using translations.
* The release provides more consist management of undo and restore defaults
* Fix for glitches in the male formal suit (thanks to CallHarvey3d)
* Fix for glitches in the male worksuit (thanks to marco_105)
== Upgrading ==
In general, it should be possible to replace the 1.1.0 release with the 1.1.1 release without any noticeable downside. If you use the male worksuit, please note that it has had its UV layout redone from scratch (so third part textures relying on the old UV layout will no longer work).
== All fixes ==
* Bug #78: "Restore Default" button in settings
* Bug #195: "Undo" does not actually undo many commands
* Bug #354: Add package_name + date in window title
* Bug #662: New malesuit01 needs minor UV touch-up
* Bug #718: Alternative distribution for windows
* Bug #764: SVG not supported on windows (but doesn't crash)
* Bug #771: Consistent handling of binary/ascii export choice
* Bug #831: Worksuit texture touch-up
* Bug #945: increasing eye bag slider breaks armature
* Bug #954: Possible problem in default rig weights
* Bug #981: Makeclothes doesn't like eyes
* Bug #983: Modeling Face Mouth features slider images
* Bug #1004: RC and recent HG builds - file loader does not populate
* Bug #1027: MH 1.1.0 - Windows 10 PreRelease Build - File list Exceptions
* Bug #1028: MH 1.1.x - clean up / document status of genitals
* Bug #1029: Unicode in MH path still causing trouble
* Bug #1034: Malassigned / malformed vertices in the armpit
* Bug #1037: Using any translation crashes parts of the GUI
* Bug #1043: Possible issue in module3d
* Bug #1051: Assymetric foot vertex groups
* Bug #1053: Help About
* Bug #1054: Ubuntu 16.04 and mesa drivers
* Bug #1057: ppa produced overwrite errors
* Bug #1066: material_editor unicode warning MH 1.1.0 release
* Bug #1070: Sort filters dysfunctional - MH 1.1.0
* Bug #1073: Error loading a bvh pose created in Blender
* Bug #1076: MacOS Sierra - MakeHuman 1.1.0 data directory not loading
* Bug #1083: _cat_data["bodyproportion"] or _cat_data["bodyproportions"]?
* Feature #1093: Easy way to copy version number to clipboard for bug reporting
bc2bb49adf29bcefbf81a9f1e154567686107d0a
1304
1303
2017-02-06T16:12:15Z
Robbaer
12
wikitext
text/x-wiki
These are the [preliminary] release notes for version 1.1.1, which [will probably be] released in February 2017.
This is primarily a bug fix release where the major effort has been spent on addressing the unicode issues which made MakeHuman crash when using certain non-ASCII characters in filenames or usernames (in certain locales) on Windows platforms.
== Highlights ==
* It should now be possible to mix encodings on windows 7 (for example having a unicode file system, but a cp850-encoded filename). This will solve crashes when the user name or the installation path contains latin1 characters such as åäöüñé.
* The UI will no longer crash when using translations.
* The release provides more consist management of undo and restore defaults
* Fix for glitches in the male formal suit (thanks to CallHarvey3d)
* Fix for glitches in the male worksuit (thanks to marco_105)
== Upgrading ==
In general, it should be possible to replace the 1.1.0 release with the 1.1.1 release without any noticeable downside. If you use the male worksuit, please note that it has had its UV layout redone from scratch (so third part textures relying on the old UV layout will no longer work).
== All fixes ==
* Bug #78: "Restore Default" button in settings
* Bug #195: "Undo" does not actually undo many commands
* Bug #354: Add package_name + date in window title
* Bug #662: New malesuit01 needs minor UV touch-up
* Bug #718: Alternative distribution for windows
* Bug #764: SVG not supported on windows (but doesn't crash)
* Bug #771: Consistent handling of binary/ascii export choice
* Bug #831: Worksuit texture touch-up
* Bug #945: increasing eye bag slider breaks armature
* Bug #954: Possible problem in default rig weights
* Bug #981: Makeclothes doesn't like eyes
* Bug #983: Modeling Face Mouth features slider images
* Bug #1004: RC and recent HG builds - file loader does not populate
* Bug #1027: MH 1.1.0 - Windows 10 PreRelease Build - File list Exceptions
* Bug #1028: MH 1.1.x - clean up / document status of genitals
* Bug #1029: Unicode in MH path still causing trouble
* Bug #1034: Malassigned / malformed vertices in the armpit
* Bug #1037: Using any translation crashes parts of the GUI
* Bug #1043: Possible issue in module3d
* Bug #1051: Assymetric foot vertex groups
* Bug #1053: Help About
* Bug #1054: Ubuntu 16.04 and mesa drivers
* Bug #1057: ppa produced overwrite errors
* Bug #1066: material_editor unicode warning MH 1.1.0 release
* Bug #1070: Sort filters dysfunctional - MH 1.1.0
* Bug #1073: Error loading a bvh pose created in Blender
* Bug #1076: MacOS Sierra - MakeHuman 1.1.0 data directory not loading
* Bug #1083: _cat_data["bodyproportion"] or _cat_data["bodyproportions"]?
* Feature #1093: Easy way to copy version number to clipboard for bug reporting
c20024990d95aec226d0fac274c536dc9f629379
1303
1302
2017-02-06T16:11:41Z
Robbaer
12
wikitext
text/x-wiki
These are the [preliminary] release notes for version 1.1.1, which will [probably be] released in February 2017.
This is primarily a bug fix release where the major effort has been spent on addressing the unicode issues which made MakeHuman crash when using certain non-ASCII characters in filenames or usernames (in certain locales) on Windows platforms.
== Highlights ==
* It should now be possible to mix encodings on windows 7 (for example having a unicode file system, but a cp850-encoded filename). This will solve crashes when the user name or the installation path contains latin1 characters such as åäöüñé.
* The UI will no longer crash when using translations.
* The release provides more consist management of undo and restore defaults
* Fix for glitches in the male formal suit (thanks to CallHarvey3d)
* Fix for glitches in the male worksuit (thanks to marco_105)
== Upgrading ==
In general, it should be possible to replace the 1.1.0 release with the 1.1.1 release without any noticeable downside. If you use the male worksuit, please note that it has had its UV layout redone from scratch (so third part textures relying on the old UV layout will no longer work).
== All fixes ==
* Bug #78: "Restore Default" button in settings
* Bug #195: "Undo" does not actually undo many commands
* Bug #354: Add package_name + date in window title
* Bug #662: New malesuit01 needs minor UV touch-up
* Bug #718: Alternative distribution for windows
* Bug #764: SVG not supported on windows (but doesn't crash)
* Bug #771: Consistent handling of binary/ascii export choice
* Bug #831: Worksuit texture touch-up
* Bug #945: increasing eye bag slider breaks armature
* Bug #954: Possible problem in default rig weights
* Bug #981: Makeclothes doesn't like eyes
* Bug #983: Modeling Face Mouth features slider images
* Bug #1004: RC and recent HG builds - file loader does not populate
* Bug #1027: MH 1.1.0 - Windows 10 PreRelease Build - File list Exceptions
* Bug #1028: MH 1.1.x - clean up / document status of genitals
* Bug #1029: Unicode in MH path still causing trouble
* Bug #1034: Malassigned / malformed vertices in the armpit
* Bug #1037: Using any translation crashes parts of the GUI
* Bug #1043: Possible issue in module3d
* Bug #1051: Assymetric foot vertex groups
* Bug #1053: Help About
* Bug #1054: Ubuntu 16.04 and mesa drivers
* Bug #1057: ppa produced overwrite errors
* Bug #1066: material_editor unicode warning MH 1.1.0 release
* Bug #1070: Sort filters dysfunctional - MH 1.1.0
* Bug #1073: Error loading a bvh pose created in Blender
* Bug #1076: MacOS Sierra - MakeHuman 1.1.0 data directory not loading
* Bug #1083: _cat_data["bodyproportion"] or _cat_data["bodyproportions"]?
* Feature #1093: Easy way to copy version number to clipboard for bug reporting
caf65cd4d8260c1160731cf9a18a43ee52b37482
1302
1301
2017-02-06T16:09:16Z
Robbaer
12
wikitext
text/x-wiki
These are the preliminary release notes for version 1.1.1, which will probably be released during February 2017.
This is primarily a bug fix release where the major effort has been spent on addressing the unicode issues which made MakeHuman crash when using certain non-ASCII characters in filenames or usernames (in certain locales) on Windows platforms.
== Highlights ==
* It should now be possible to mix encodings on windows 7 (for example having a unicode file system, but a cp850-encoded filename). This will solve crashes when the user name or the installation path contains latin1 characters such as åäöüñé.
* The UI will no longer crash when using translations.
* The release provides more consist management of undo and restore defaults
* Fix for glitches in the male formal suit (thanks to CallHarvey3d)
* Fix for glitches in the male worksuit (thanks to marco_105)
== Upgrading ==
In general, it should be possible to replace the 1.1.0 release with the 1.1.1 release without any noticeable downside. If you use the male worksuit, please note that it has had its UV layout redone from scratch (so third part textures relying on the old UV layout will no longer work).
== All fixes ==
* Bug #78: "Restore Default" button in settings
* Bug #195: "Undo" does not actually undo many commands
* Bug #354: Add package_name + date in window title
* Bug #662: New malesuit01 needs minor UV touch-up
* Bug #718: Alternative distribution for windows
* Bug #764: SVG not supported on windows (but doesn't crash)
* Bug #771: Consistent handling of binary/ascii export choice
* Bug #831: Worksuit texture touch-up
* Bug #945: increasing eye bag slider breaks armature
* Bug #954: Possible problem in default rig weights
* Bug #981: Makeclothes doesn't like eyes
* Bug #983: Modeling Face Mouth features slider images
* Bug #1004: RC and recent HG builds - file loader does not populate
* Bug #1027: MH 1.1.0 - Windows 10 PreRelease Build - File list Exceptions
* Bug #1028: MH 1.1.x - clean up / document status of genitals
* Bug #1029: Unicode in MH path still causing trouble
* Bug #1034: Malassigned / malformed vertices in the armpit
* Bug #1037: Using any translation crashes parts of the GUI
* Bug #1043: Possible issue in module3d
* Bug #1051: Assymetric foot vertex groups
* Bug #1053: Help About
* Bug #1054: Ubuntu 16.04 and mesa drivers
* Bug #1057: ppa produced overwrite errors
* Bug #1066: material_editor unicode warning MH 1.1.0 release
* Bug #1070: Sort filters dysfunctional - MH 1.1.0
* Bug #1073: Error loading a bvh pose created in Blender
* Bug #1076: MacOS Sierra - MakeHuman 1.1.0 data directory not loading
* Bug #1083: _cat_data["bodyproportion"] or _cat_data["bodyproportions"]?
* Feature #1093: Easy way to copy version number to clipboard for bug reporting
65c8eab497065fa48d782d62c3c4fa27d2452f29
1301
1300
2017-02-06T15:36:11Z
Robbaer
12
wikitext
text/x-wiki
These are the preliminary release notes for version 1.1.1, which will probably be released during February 2017.
This is primarily a bug fix release where the major effort has been spent on addressing the unicode issues which made MakeHuman crash when using certain non-ASCII characters in filenames or usernames (in certain locales) on Windows platforms.
== Highlights ==
* It should now be possible to mix encodings on windows 7 (for example having a unicode file system, but a cp850-encoded filename). This will solve crashes when the user name or the installation path contains latin1 characters such as åäöüñé.
* The UI will no longer crash when using translations.
* More consist management of undo and restore defaults
* Glitches with the male formal suit have been fixed (thanks to CallHarvey3d)
* Glitches with the male worksuit have been fixed (thanks to marco_105)
== Upgrading ==
In general, it should be possible to replace the 1.1.0 release with the 1.1.1 release without any noticeable downside. If you use the male worksuit, please note that it has had its UV layout redone from scratch (so third part textures relying on the old UV layout will no longer work).
== All fixes ==
* Bug #78: "Restore Default" button in settings
* Bug #195: "Undo" does not actually undo many commands
* Bug #354: Add package_name + date in window title
* Bug #662: New malesuit01 needs minor UV touch-up
* Bug #718: Alternative distribution for windows
* Bug #764: SVG not supported on windows (but doesn't crash)
* Bug #771: Consistent handling of binary/ascii export choice
* Bug #831: Worksuit texture touch-up
* Bug #945: increasing eye bag slider breaks armature
* Bug #954: Possible problem in default rig weights
* Bug #981: Makeclothes doesn't like eyes
* Bug #983: Modeling Face Mouth features slider images
* Bug #1004: RC and recent HG builds - file loader does not populate
* Bug #1027: MH 1.1.0 - Windows 10 PreRelease Build - File list Exceptions
* Bug #1028: MH 1.1.x - clean up / document status of genitals
* Bug #1029: Unicode in MH path still causing trouble
* Bug #1034: Malassigned / malformed vertices in the armpit
* Bug #1037: Using any translation crashes parts of the GUI
* Bug #1043: Possible issue in module3d
* Bug #1051: Assymetric foot vertex groups
* Bug #1053: Help About
* Bug #1054: Ubuntu 16.04 and mesa drivers
* Bug #1057: ppa produced overwrite errors
* Bug #1066: material_editor unicode warning MH 1.1.0 release
* Bug #1070: Sort filters dysfunctional - MH 1.1.0
* Bug #1073: Error loading a bvh pose created in Blender
* Bug #1076: MacOS Sierra - MakeHuman 1.1.0 data directory not loading
* Bug #1083: _cat_data["bodyproportion"] or _cat_data["bodyproportions"]?
* Feature #1093: Easy way to copy version number to clipboard for bug reporting
eaf8683bd5e4c831adf97289303564930ffc3b3d
1300
1299
2017-02-06T15:31:18Z
Robbaer
12
wikitext
text/x-wiki
These are the preliminary release notes for version 1.1.1, which will probably be released during February 2017.
This is primarily a bug fix release where the major effort has been spent on addressing the unicode issues which made MakeHuman crash with certain non-ASCII characters in certain locales on Windows platforms.
== Highlights ==
* It should now be possible to mix encodings on windows 7 (for example having a unicode file system, but a cp850-encoded filename). This will solve crashes when the user name or the installation path contain latin1 characters such as åäöüñé.
* The UI will no longer crash when using any translation.
* More consist management of undo and restore defaults
* Glitches with the male formal suit have been fixed (thanks CallHarvey3d)
* Glitches with the male worksuit have been fixed (thanks marco_105)
== Upgrading ==
In general, it should be possible to replace the 1.1.0 release with the 1.1.1 release without any noticable downsides. If you use the male worksuit, please note that it has had its UV layout redone from scratch (so third part textures relying on the old UV layout will no longer work).
== All fixes ==
* Bug #78: "Restore Default" button in settings
* Bug #195: "Undo" does not actually undo many commands
* Bug #354: Add package_name + date in window title
* Bug #662: New malesuit01 needs minor UV touch-up
* Bug #718: Alternative distribution for windows
* Bug #764: SVG not supported on windows (but doesn't crash)
* Bug #771: Consistent handling of binary/ascii export choice
* Bug #831: Worksuit texture touch-up
* Bug #945: increasing eye bag slider breaks armature
* Bug #954: Possible problem in default rig weights
* Bug #981: Makeclothes doesn't like eyes
* Bug #983: Modeling Face Mouth features slider images
* Bug #1004: RC and recent HG builds - file loader does not populate
* Bug #1027: MH 1.1.0 - Windows 10 PreRelease Build - File list Exceptions
* Bug #1028: MH 1.1.x - clean up / document status of genitals
* Bug #1029: Unicode in MH path still causing trouble
* Bug #1034: Malassigned / malformed vertices in the armpit
* Bug #1037: Using any translation crashes parts of the GUI
* Bug #1043: Possible issue in module3d
* Bug #1051: Assymetric foot vertex groups
* Bug #1053: Help About
* Bug #1054: Ubuntu 16.04 and mesa drivers
* Bug #1057: ppa produced overwrite errors
* Bug #1066: material_editor unicode warning MH 1.1.0 release
* Bug #1070: Sort filters dysfunctional - MH 1.1.0
* Bug #1073: Error loading a bvh pose created in Blender
* Bug #1076: MacOS Sierra - MakeHuman 1.1.0 data directory not loading
* Bug #1083: _cat_data["bodyproportion"] or _cat_data["bodyproportions"]?
* Feature #1093: Easy way to copy version number to clipboard for bug reporting
62269213100e2da309b522b78f9979d3089517cb
1299
1298
2017-02-06T15:30:47Z
Robbaer
12
wikitext
text/x-wiki
These are the preliminary release notes for version 1.1.1, which will probably be released during February.
This is primarily a bug fix release where the major effort has been spent on addressing the unicode issues which made MakeHuman crash with certain non-ASCII characters in certain locales on Windows platforms.
== Highlights ==
* It should now be possible to mix encodings on windows 7 (for example having a unicode file system, but a cp850-encoded filename). This will solve crashes when the user name or the installation path contain latin1 characters such as åäöüñé.
* The UI will no longer crash when using any translation.
* More consist management of undo and restore defaults
* Glitches with the male formal suit have been fixed (thanks CallHarvey3d)
* Glitches with the male worksuit have been fixed (thanks marco_105)
== Upgrading ==
In general, it should be possible to replace the 1.1.0 release with the 1.1.1 release without any noticable downsides. If you use the male worksuit, please note that it has had its UV layout redone from scratch (so third part textures relying on the old UV layout will no longer work).
== All fixes ==
* Bug #78: "Restore Default" button in settings
* Bug #195: "Undo" does not actually undo many commands
* Bug #354: Add package_name + date in window title
* Bug #662: New malesuit01 needs minor UV touch-up
* Bug #718: Alternative distribution for windows
* Bug #764: SVG not supported on windows (but doesn't crash)
* Bug #771: Consistent handling of binary/ascii export choice
* Bug #831: Worksuit texture touch-up
* Bug #945: increasing eye bag slider breaks armature
* Bug #954: Possible problem in default rig weights
* Bug #981: Makeclothes doesn't like eyes
* Bug #983: Modeling Face Mouth features slider images
* Bug #1004: RC and recent HG builds - file loader does not populate
* Bug #1027: MH 1.1.0 - Windows 10 PreRelease Build - File list Exceptions
* Bug #1028: MH 1.1.x - clean up / document status of genitals
* Bug #1029: Unicode in MH path still causing trouble
* Bug #1034: Malassigned / malformed vertices in the armpit
* Bug #1037: Using any translation crashes parts of the GUI
* Bug #1043: Possible issue in module3d
* Bug #1051: Assymetric foot vertex groups
* Bug #1053: Help About
* Bug #1054: Ubuntu 16.04 and mesa drivers
* Bug #1057: ppa produced overwrite errors
* Bug #1066: material_editor unicode warning MH 1.1.0 release
* Bug #1070: Sort filters dysfunctional - MH 1.1.0
* Bug #1073: Error loading a bvh pose created in Blender
* Bug #1076: MacOS Sierra - MakeHuman 1.1.0 data directory not loading
* Bug #1083: _cat_data["bodyproportion"] or _cat_data["bodyproportions"]?
* Feature #1093: Easy way to copy version number to clipboard for bug reporting
5b3f29f460cb1f5e2346df6525842cfef20a53b3
1298
1297
2017-02-05T12:28:48Z
Joepal
14
wikitext
text/x-wiki
These are the preliminary release notes for version 1.1.1, which will probably be released during february.
This is primarily a bug fix release where the major effort has been spent on addressing the unicode issues which made MakeHuman crash on various windows platforms.
== Highlights ==
* It should now be possible to mix encodings on windows 7 (for example having a unicode file system, but a cp850-encoded filename). This will solve crashes when the user name or the installation path contain latin1 characters such as åäöüñé.
* The UI will no longer crash when using any translation.
* More consist management of undo and restore defaults
* Glitches with the male formal suit have been fixed (thanks CallHarvey3d)
* Glitches with the male worksuit have been fixed (thanks marco_105)
== Upgrading ==
In general, it should be possible to replace the 1.1.0 release with the 1.1.1 release without any noticable downsides. If you use the male worksuit, please note that it has had its UV layout redone from scratch (so third part textures relying on the old UV layout will no longer work).
== All fixes ==
* Bug #78: "Restore Default" button in settings
* Bug #195: "Undo" does not actually undo many commands
* Bug #354: Add package_name + date in window title
* Bug #662: New malesuit01 needs minor UV touch-up
* Bug #718: Alternative distribution for windows
* Bug #764: SVG not supported on windows (but doesn't crash)
* Bug #771: Consistent handling of binary/ascii export choice
* Bug #831: Worksuit texture touch-up
* Bug #945: increasing eye bag slider breaks armature
* Bug #954: Possible problem in default rig weights
* Bug #981: Makeclothes doesn't like eyes
* Bug #983: Modeling Face Mouth features slider images
* Bug #1004: RC and recent HG builds - file loader does not populate
* Bug #1027: MH 1.1.0 - Windows 10 PreRelease Build - File list Exceptions
* Bug #1028: MH 1.1.x - clean up / document status of genitals
* Bug #1029: Unicode in MH path still causing trouble
* Bug #1034: Malassigned / malformed vertices in the armpit
* Bug #1037: Using any translation crashes parts of the GUI
* Bug #1043: Possible issue in module3d
* Bug #1051: Assymetric foot vertex groups
* Bug #1053: Help About
* Bug #1054: Ubuntu 16.04 and mesa drivers
* Bug #1057: ppa produced overwrite errors
* Bug #1066: material_editor unicode warning MH 1.1.0 release
* Bug #1070: Sort filters dysfunctional - MH 1.1.0
* Bug #1073: Error loading a bvh pose created in Blender
* Bug #1076: MacOS Sierra - MakeHuman 1.1.0 data directory not loading
* Bug #1083: _cat_data["bodyproportion"] or _cat_data["bodyproportions"]?
* Feature #1093: Easy way to copy version number to clipboard for bug reporting
2654d570a00b918754effc39ee58924e5e1bbb95
1297
2017-02-05T12:28:29Z
Joepal
14
Created page with "These are the preliminary release notes for version 1.1.1, which will probably be released during february. This is primarily a bug fix release where the major effort has bee..."
wikitext
text/x-wiki
These are the preliminary release notes for version 1.1.1, which will probably be released during february.
This is primarily a bug fix release where the major effort has been spent on addressing the unicode issues which made MakeHuman crash on various windows platforms.
== Highlights ==
* It should now be possible to mix encodings on windows 7 (for example having a unicode file system, but a cp850-encoded filename). This will solve crashes when the user name or the installation path contain latin1 characters such as åäöüñé.
* The UI will no longer crash when using any translation.
* More consist management of undo and restore defaults
* Glitches with the male formal suit have been fixed (thanks CallHarvey3d)
* Glitches with the male worksuit have been fixed (thanks marco_105)
== Upgrading ==
In general, it should be possible to replace the 1.1.0 release with the 1.1.1 release without any noticable downsides. If you use the male worksuit, please note that it has had its UV layout redone from scratch (so third part textures relying on the old UV layout will no longer work).
== All fixes
* Bug #78: "Restore Default" button in settings
* Bug #195: "Undo" does not actually undo many commands
* Bug #354: Add package_name + date in window title
* Bug #662: New malesuit01 needs minor UV touch-up
* Bug #718: Alternative distribution for windows
* Bug #764: SVG not supported on windows (but doesn't crash)
* Bug #771: Consistent handling of binary/ascii export choice
* Bug #831: Worksuit texture touch-up
* Bug #945: increasing eye bag slider breaks armature
* Bug #954: Possible problem in default rig weights
* Bug #981: Makeclothes doesn't like eyes
* Bug #983: Modeling Face Mouth features slider images
* Bug #1004: RC and recent HG builds - file loader does not populate
* Bug #1027: MH 1.1.0 - Windows 10 PreRelease Build - File list Exceptions
* Bug #1028: MH 1.1.x - clean up / document status of genitals
* Bug #1029: Unicode in MH path still causing trouble
* Bug #1034: Malassigned / malformed vertices in the armpit
* Bug #1037: Using any translation crashes parts of the GUI
* Bug #1043: Possible issue in module3d
* Bug #1051: Assymetric foot vertex groups
* Bug #1053: Help About
* Bug #1054: Ubuntu 16.04 and mesa drivers
* Bug #1057: ppa produced overwrite errors
* Bug #1066: material_editor unicode warning MH 1.1.0 release
* Bug #1070: Sort filters dysfunctional - MH 1.1.0
* Bug #1073: Error loading a bvh pose created in Blender
* Bug #1076: MacOS Sierra - MakeHuman 1.1.0 data directory not loading
* Bug #1083: _cat_data["bodyproportion"] or _cat_data["bodyproportions"]?
* Feature #1093: Easy way to copy version number to clipboard for bug reporting
fe1d30d92166f4379a526621e24b92585b7ed941
Releases:120
0
666
1926
1921
2020-11-06T12:36:16Z
Joepal
14
wikitext
text/x-wiki
These are the release notes for 1.2.0, which was released 2020-11-06.
This is the final and stable release. It is what we now recommend everyone to use. See also [[FAQ: Which version of MakeHuman should I download?]]
If you are already using a recent nightly build however, there is no particular need to switch to the stable release, as there have only been minor bug fixes lately.
== General ==
In most cases, there should be no problem running versions 1.1.1 and 1.2.0 on the same system. They will not interfere with each other's files. You can find download links for 1.2.0 at the bottom of this page.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system.
Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
== Changes since 1.1.1 ==
These are the main themes of the changes since 1.1.1. See further down for more details.
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt.
* There is a completely new Blender integration, MPFB, with support for socket transfers, IK and Kinect.
* The license has changed to (hopefully) be more clear and permissive.
* The toolset for creating assets (MakeClothes and MakeTarget) has been rewritten from scratch.
* There is a new tool "MakeSkin" for creating materials.
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure.
* There is a new Mass production functionality for generating large sets of randomized characters.
* Improved internationalization support for non-ASCII characters (backported).
* Plugins in user space.
* Plugins activation at runtime.
* Improved tag sorting capabilities (Hotkey: ALT-F), including sticky tag provisions.
* Tags for models (with configurable tag count).
* Show Name Tags instead of file names in the file loader.
* Saving model as target.
* Real weight estimation.
* Configurable location for the home folder.
* MHX2 is bundled in the default installation.
* Save thumbnails directly from the internal render engine.
* There is a new installer for windows.
* There is a new PPA for ubuntu. This PPA also offers builds of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds).
=== The upgraded codebase ===
The main focus of this release has been to modernize the code. In the prior version, large parts were written more than ten years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The final end of life for python 2.7 was january 1, 2020.
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
=== The new Blender integration: Makehuman plugin for Blender (MPFB) ===
[[File:Mpfbeevee.png|300px|thumb|right|One click import directly from MakeHuman, with improved skin shader]]
In blender it is now possible to fetch a character directly from a running instance of MakeHuman, without having to first save/export the character to a file.
The importer will talk with the makehuman instance and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses.
The process is almost instantaneous (a character with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Further, the importer supports improved skin features such as skin pores and SSS.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== License change ===
The license has changed to be more comprehensive and permissive. The full text of the new license can be found here: https://github.com/makehumancommunity/makehuman/blob/master/LICENSE.md
In summary, it has been made clear that assets included with and produced by makehuman are CC0 no matter how you got hold of them.
There is a description of the license change here: http://www.makehumancommunity.org/wiki/FAQ:What_changed_regarding_the_license_in_2020%3F
=== Assets can now be downloaded from within MakeHuman ===
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details, see author publishing and license information and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
=== Mass produce ===
There is now functionality available for randomizing large sets of characters. This includes varying body shape and gender, as well as randomizing which clothes the characters are equiped with.
An introduction to this functionality can be found at https://www.youtube.com/watch?v=jRHnJX-TdT4 (in the video it is stated that the plugin can be downloaded separately, but it is now included in the MakeHuman distribution).
=== Upgraded toolset for creating assets ===
The toolchain for creating MakeHuman assets have been upgraded:
* MakeClothes and MakeTarget have been rewritten from scratch and been made compatible with Blender 2.80 and later. They are now called MakeClothes 2 and MakeTarget 2, in order to separate them from the old versions that work with Blender 2.79 and earlier.
* A new tool MakeSkin has been added. This allows creating more advanced materials than what MakeClothes can do alone. There is a video introducing this functionality at https://www.youtube.com/watch?v=0amcxq4Ik60
=== A new windows installer ===
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
<br clear=all>
== Known issues ==
* The windows release is for 64-bit windows. 32-bit windows is no longer supported. This is because one of our core dependencies have stopped working with 32-bit windows, which makes it difficult to work around.
* While most of the graphics card incompatibilities should now be fixed, there may still be still parts of the program that cause problems with some integrated graphics cards. For potential remedies if you run into problems, see [[FAQ:MakeHuman_does_not_start]] and [[FAQ:The_interface_looks_broken]]
* MakeHuman is not compatible with PyQt later than 5.12. If you have a later version than 5.12 installed, scrolling will not work. Since Ubuntu 20.10 has shipped with 5.14 (which is incompatible), we have chosen to not provide a build for Ubuntu 20.10. For options on getting around this, see http://www.makehumancommunity.org/wiki/FAQ:Scrolling_does_not_work
* There is no mac build. See http://www.makehumancommunity.org/wiki/FAQ:Is_there_a_mac_build%3F
* On Mint you need to explicitly install the plugins as they will not be automatically installed. With the ppa enabled, run "sudo apt-get install makehuman-community-plugins-assetdownload makehuman-community-plugins-socket makehuman-community-plugins-massproduce mhx2-makehuman-exchange"
* Toolset support for Blender 2.79 has been dropped. Tools such as MPFB, MakeClothes and MakeTarget are built for and tested with Blender 2.83 and later.
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
== Where to download ==
To download MakeHuman Community 1.2.0, see http://www.makehumancommunity.org/content/makehuman_120.html
== Providing feedback and bug reports ==
As always with a beta release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums http://www.makehumancommunity.org/forum/viewforum.php?f=3. But more formal information about bug trackers can be found here: http://www.makehumancommunity.org/content/bugtracker.html
d8e2b11341e4834ba7f5a094ca3bacfc5454f889
1921
1919
2020-10-31T11:38:32Z
Joepal
14
/* Known issues */
wikitext
text/x-wiki
These are the release notes for 1.2.0, which is not yet released.
This is the final and stable release. It is what we now recommend everyone to use. See also [[FAQ: Which version of MakeHuman should I download?]]
If you are already using a recent nightly build however, there is no particular need to switch to the stable release, as there have only been minor bug fixes lately.
== General ==
In most cases, there should be no problem running versions 1.1.1 and 1.2.0 on the same system. They will not interfere with each other's files. You can find download links for 1.2.0 at the bottom of this page.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system.
Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
== Changes since 1.1.1 ==
These are the main themes of the changes since 1.1.1. See further down for more details.
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt.
* There is a completely new Blender integration, MPFB, with support for socket transfers, IK and Kinect.
* The license has changed to (hopefully) be more clear and permissive.
* The toolset for creating assets (MakeClothes and MakeTarget) has been rewritten from scratch.
* There is a new tool "MakeSkin" for creating materials.
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure.
* There is a new Mass production functionality for generating large sets of randomized characters.
* Improved internationalization support for non-ASCII characters (backported).
* Plugins in user space.
* Plugins activation at runtime.
* Improved tag sorting capabilities (Hotkey: ALT-F), including sticky tag provisions.
* Tags for models (with configurable tag count).
* Show Name Tags instead of file names in the file loader.
* Saving model as target.
* Real weight estimation.
* Configurable location for the home folder.
* MHX2 is bundled in the default installation.
* Save thumbnails directly from the internal render engine.
* There is a new installer for windows.
* There is a new PPA for ubuntu. This PPA also offers builds of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds).
=== The upgraded codebase ===
The main focus of this release has been to modernize the code. In the prior version, large parts were written more than ten years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The final end of life for python 2.7 was january 1, 2020.
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
=== The new Blender integration: Makehuman plugin for Blender (MPFB) ===
[[File:Mpfbeevee.png|300px|thumb|right|One click import directly from MakeHuman, with improved skin shader]]
In blender it is now possible to fetch a character directly from a running instance of MakeHuman, without having to first save/export the character to a file.
The importer will talk with the makehuman instance and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses.
The process is almost instantaneous (a character with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Further, the importer supports improved skin features such as skin pores and SSS.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== License change ===
The license has changed to be more comprehensive and permissive. The full text of the new license can be found here: https://github.com/makehumancommunity/makehuman/blob/master/LICENSE.md
In summary, it has been made clear that assets included with and produced by makehuman are CC0 no matter how you got hold of them.
There is a description of the license change here: http://www.makehumancommunity.org/wiki/FAQ:What_changed_regarding_the_license_in_2020%3F
=== Assets can now be downloaded from within MakeHuman ===
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details, see author publishing and license information and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
=== Mass produce ===
There is now functionality available for randomizing large sets of characters. This includes varying body shape and gender, as well as randomizing which clothes the characters are equiped with.
An introduction to this functionality can be found at https://www.youtube.com/watch?v=jRHnJX-TdT4 (in the video it is stated that the plugin can be downloaded separately, but it is now included in the MakeHuman distribution).
=== Upgraded toolset for creating assets ===
The toolchain for creating MakeHuman assets have been upgraded:
* MakeClothes and MakeTarget have been rewritten from scratch and been made compatible with Blender 2.80 and later. They are now called MakeClothes 2 and MakeTarget 2, in order to separate them from the old versions that work with Blender 2.79 and earlier.
* A new tool MakeSkin has been added. This allows creating more advanced materials than what MakeClothes can do alone. There is a video introducing this functionality at https://www.youtube.com/watch?v=0amcxq4Ik60
=== A new windows installer ===
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
<br clear=all>
== Known issues ==
* The windows release is for 64-bit windows. 32-bit windows is no longer supported. This is because one of our core dependencies have stopped working with 32-bit windows, which makes it difficult to work around.
* While most of the graphics card incompatibilities should now be fixed, there may still be still parts of the program that cause problems with some integrated graphics cards. For potential remedies if you run into problems, see [[FAQ:MakeHuman_does_not_start]] and [[FAQ:The_interface_looks_broken]]
* MakeHuman is not compatible with PyQt later than 5.12. If you have a later version than 5.12 installed, scrolling will not work. Since Ubuntu 20.10 has shipped with 5.14 (which is incompatible), we have chosen to not provide a build for Ubuntu 20.10. For options on getting around this, see http://www.makehumancommunity.org/wiki/FAQ:Scrolling_does_not_work
* There is no mac build. See http://www.makehumancommunity.org/wiki/FAQ:Is_there_a_mac_build%3F
* On Mint you need to explicitly install the plugins as they will not be automatically installed. With the ppa enabled, run "sudo apt-get install makehuman-community-plugins-assetdownload makehuman-community-plugins-socket makehuman-community-plugins-massproduce mhx2-makehuman-exchange"
* Toolset support for Blender 2.79 has been dropped. Tools such as MPFB, MakeClothes and MakeTarget are built for and tested with Blender 2.83 and later.
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
== Where to download ==
The following are links to where you can download beta 2:
You can download (link to page for windows download)
For linux, [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community there is a new PPA].
== Providing feedback and bug reports ==
As always with a beta release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums http://www.makehumancommunity.org/forum/viewforum.php?f=3. But more formal information about bug trackers can be found here: http://www.makehumancommunity.org/content/bugtracker.html
0071718f4f705064d5892b9f26423d817f658abb
1919
1918
2020-10-31T11:33:22Z
Joepal
14
/* Known issues */
wikitext
text/x-wiki
These are the release notes for 1.2.0, which is not yet released.
This is the final and stable release. It is what we now recommend everyone to use. See also [[FAQ: Which version of MakeHuman should I download?]]
If you are already using a recent nightly build however, there is no particular need to switch to the stable release, as there have only been minor bug fixes lately.
== General ==
In most cases, there should be no problem running versions 1.1.1 and 1.2.0 on the same system. They will not interfere with each other's files. You can find download links for 1.2.0 at the bottom of this page.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system.
Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
== Changes since 1.1.1 ==
These are the main themes of the changes since 1.1.1. See further down for more details.
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt.
* There is a completely new Blender integration, MPFB, with support for socket transfers, IK and Kinect.
* The license has changed to (hopefully) be more clear and permissive.
* The toolset for creating assets (MakeClothes and MakeTarget) has been rewritten from scratch.
* There is a new tool "MakeSkin" for creating materials.
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure.
* There is a new Mass production functionality for generating large sets of randomized characters.
* Improved internationalization support for non-ASCII characters (backported).
* Plugins in user space.
* Plugins activation at runtime.
* Improved tag sorting capabilities (Hotkey: ALT-F), including sticky tag provisions.
* Tags for models (with configurable tag count).
* Show Name Tags instead of file names in the file loader.
* Saving model as target.
* Real weight estimation.
* Configurable location for the home folder.
* MHX2 is bundled in the default installation.
* Save thumbnails directly from the internal render engine.
* There is a new installer for windows.
* There is a new PPA for ubuntu. This PPA also offers builds of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds).
=== The upgraded codebase ===
The main focus of this release has been to modernize the code. In the prior version, large parts were written more than ten years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The final end of life for python 2.7 was january 1, 2020.
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
=== The new Blender integration: Makehuman plugin for Blender (MPFB) ===
[[File:Mpfbeevee.png|300px|thumb|right|One click import directly from MakeHuman, with improved skin shader]]
In blender it is now possible to fetch a character directly from a running instance of MakeHuman, without having to first save/export the character to a file.
The importer will talk with the makehuman instance and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses.
The process is almost instantaneous (a character with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Further, the importer supports improved skin features such as skin pores and SSS.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== License change ===
The license has changed to be more comprehensive and permissive. The full text of the new license can be found here: https://github.com/makehumancommunity/makehuman/blob/master/LICENSE.md
In summary, it has been made clear that assets included with and produced by makehuman are CC0 no matter how you got hold of them.
There is a description of the license change here: http://www.makehumancommunity.org/wiki/FAQ:What_changed_regarding_the_license_in_2020%3F
=== Assets can now be downloaded from within MakeHuman ===
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details, see author publishing and license information and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
=== Mass produce ===
There is now functionality available for randomizing large sets of characters. This includes varying body shape and gender, as well as randomizing which clothes the characters are equiped with.
An introduction to this functionality can be found at https://www.youtube.com/watch?v=jRHnJX-TdT4 (in the video it is stated that the plugin can be downloaded separately, but it is now included in the MakeHuman distribution).
=== Upgraded toolset for creating assets ===
The toolchain for creating MakeHuman assets have been upgraded:
* MakeClothes and MakeTarget have been rewritten from scratch and been made compatible with Blender 2.80 and later. They are now called MakeClothes 2 and MakeTarget 2, in order to separate them from the old versions that work with Blender 2.79 and earlier.
* A new tool MakeSkin has been added. This allows creating more advanced materials than what MakeClothes can do alone. There is a video introducing this functionality at https://www.youtube.com/watch?v=0amcxq4Ik60
=== A new windows installer ===
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
<br clear=all>
== Known issues ==
* The windows release is for 64-bit windows. 32-bit windows is no longer supported. This is because one of our core dependencies have stopped working with 32-bit windows, which makes it difficult to work around.
* While most of the graphics card incompatibilities should now be fixed, there may still be still parts of the program that cause problems with some integrated graphics cards. For potential remedies if you run into problems, see [[FAQ:MakeHuman_does_not_start]] and [[FAQ:The_interface_looks_broken]]
* MakeHuman is not compatible with PyQt later than 5.12. If you have a later version than 5.12 installed, scrolling will not work. Since Ubuntu 20.10 has shipped with 5.14 (which is incompatible), we have chosen to not provide a build for Ubuntu 20.10.
* There is no mac build. See http://www.makehumancommunity.org/wiki/FAQ:Is_there_a_mac_build%3F
* On Mint you need to explicitly install the plugins as they will not be automatically installed. With the ppa enabled, run "sudo apt-get install makehuman-community-plugins-assetdownload makehuman-community-plugins-socket makehuman-community-plugins-massproduce mhx2-makehuman-exchange"
* Toolset support for Blender 2.79 has been dropped. Tools such as MPFB, MakeClothes and MakeTarget are built for and tested with Blender 2.83 and later.
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
== Where to download ==
The following are links to where you can download beta 2:
You can download (link to page for windows download)
For linux, [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community there is a new PPA].
== Providing feedback and bug reports ==
As always with a beta release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums http://www.makehumancommunity.org/forum/viewforum.php?f=3. But more formal information about bug trackers can be found here: http://www.makehumancommunity.org/content/bugtracker.html
99c9f991a77f7201ac0de35599276866f37feff2
1918
1917
2020-10-31T11:14:45Z
Joepal
14
/* Changes since 1.1.1 */
wikitext
text/x-wiki
These are the release notes for 1.2.0, which is not yet released.
This is the final and stable release. It is what we now recommend everyone to use. See also [[FAQ: Which version of MakeHuman should I download?]]
If you are already using a recent nightly build however, there is no particular need to switch to the stable release, as there have only been minor bug fixes lately.
== General ==
In most cases, there should be no problem running versions 1.1.1 and 1.2.0 on the same system. They will not interfere with each other's files. You can find download links for 1.2.0 at the bottom of this page.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system.
Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
== Changes since 1.1.1 ==
These are the main themes of the changes since 1.1.1. See further down for more details.
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt.
* There is a completely new Blender integration, MPFB, with support for socket transfers, IK and Kinect.
* The license has changed to (hopefully) be more clear and permissive.
* The toolset for creating assets (MakeClothes and MakeTarget) has been rewritten from scratch.
* There is a new tool "MakeSkin" for creating materials.
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure.
* There is a new Mass production functionality for generating large sets of randomized characters.
* Improved internationalization support for non-ASCII characters (backported).
* Plugins in user space.
* Plugins activation at runtime.
* Improved tag sorting capabilities (Hotkey: ALT-F), including sticky tag provisions.
* Tags for models (with configurable tag count).
* Show Name Tags instead of file names in the file loader.
* Saving model as target.
* Real weight estimation.
* Configurable location for the home folder.
* MHX2 is bundled in the default installation.
* Save thumbnails directly from the internal render engine.
* There is a new installer for windows.
* There is a new PPA for ubuntu. This PPA also offers builds of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds).
=== The upgraded codebase ===
The main focus of this release has been to modernize the code. In the prior version, large parts were written more than ten years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The final end of life for python 2.7 was january 1, 2020.
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
=== The new Blender integration: Makehuman plugin for Blender (MPFB) ===
[[File:Mpfbeevee.png|300px|thumb|right|One click import directly from MakeHuman, with improved skin shader]]
In blender it is now possible to fetch a character directly from a running instance of MakeHuman, without having to first save/export the character to a file.
The importer will talk with the makehuman instance and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses.
The process is almost instantaneous (a character with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Further, the importer supports improved skin features such as skin pores and SSS.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== License change ===
The license has changed to be more comprehensive and permissive. The full text of the new license can be found here: https://github.com/makehumancommunity/makehuman/blob/master/LICENSE.md
In summary, it has been made clear that assets included with and produced by makehuman are CC0 no matter how you got hold of them.
There is a description of the license change here: http://www.makehumancommunity.org/wiki/FAQ:What_changed_regarding_the_license_in_2020%3F
=== Assets can now be downloaded from within MakeHuman ===
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details, see author publishing and license information and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
=== Mass produce ===
There is now functionality available for randomizing large sets of characters. This includes varying body shape and gender, as well as randomizing which clothes the characters are equiped with.
An introduction to this functionality can be found at https://www.youtube.com/watch?v=jRHnJX-TdT4 (in the video it is stated that the plugin can be downloaded separately, but it is now included in the MakeHuman distribution).
=== Upgraded toolset for creating assets ===
The toolchain for creating MakeHuman assets have been upgraded:
* MakeClothes and MakeTarget have been rewritten from scratch and been made compatible with Blender 2.80 and later. They are now called MakeClothes 2 and MakeTarget 2, in order to separate them from the old versions that work with Blender 2.79 and earlier.
* A new tool MakeSkin has been added. This allows creating more advanced materials than what MakeClothes can do alone. There is a video introducing this functionality at https://www.youtube.com/watch?v=0amcxq4Ik60
=== A new windows installer ===
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
<br clear=all>
== Known issues ==
* While most of the graphics card incompatibilities should now be fixed, there may still be still parts of the program that cause problems with some integrated graphics cards. For potential remedies if you run into problems, see [[FAQ:MakeHuman_does_not_start]] and [[FAQ:The_interface_looks_broken]]
* MakeHuman is not compatible with PyQt later than 5.12. If you have a later version than 5.12 installed, scrolling will not work. Since Ubuntu 20.10 has shipped with 5.14 (which is incompatible), we have chosen to not provide a build for Ubuntu 20.10.
* There is no mac build. See http://www.makehumancommunity.org/wiki/FAQ:Is_there_a_mac_build%3F
* On Mint you need to explicitly install the plugins as they will not be automatically installed. With the ppa enabled, run "sudo apt-get install makehuman-community-plugins-assetdownload makehuman-community-plugins-socket makehuman-community-plugins-massproduce mhx2-makehuman-exchange"
* Toolset support for Blender 2.79 has been dropped. Tools such as MPFB, MakeClothes and MakeTarget are built for and tested with Blender 2.83 and later.
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
== Where to download ==
The following are links to where you can download beta 2:
You can download (link to page for windows download)
For linux, [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community there is a new PPA].
== Providing feedback and bug reports ==
As always with a beta release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums http://www.makehumancommunity.org/forum/viewforum.php?f=3. But more formal information about bug trackers can be found here: http://www.makehumancommunity.org/content/bugtracker.html
3f7088708c9de296df846ee30eaa3385042c832b
1917
1916
2020-10-31T11:14:23Z
Joepal
14
/* Changes since 1.1.1 */
wikitext
text/x-wiki
These are the release notes for 1.2.0, which is not yet released.
This is the final and stable release. It is what we now recommend everyone to use. See also [[FAQ: Which version of MakeHuman should I download?]]
If you are already using a recent nightly build however, there is no particular need to switch to the stable release, as there have only been minor bug fixes lately.
== General ==
In most cases, there should be no problem running versions 1.1.1 and 1.2.0 on the same system. They will not interfere with each other's files. You can find download links for 1.2.0 at the bottom of this page.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system.
Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
== Changes since 1.1.1 ==
These are the main themes of the changes since 1.1.1. See further down for more details.
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt.
* There is a completely new Blender integration, MPFB, with support for socket transfers, IK and Kinect.
* The license has changed to (hopefully) be more clear and permissive.
* The toolset for creating assets (MakeClothes and MakeTarget) has been rewritten from scratch.
* There is a new tool "MakeSkin" for creating materials.
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure.
* There is a new Mass production functionality for generating large sets of randomized characters.
* Improved internationalization support for non-ASCII characters (backported).
* Plugins in user space.
* Plugins activation at runtime.
* Improved tag sorting capabilities (Hotkey: ALT-F), including sticky tag provisions.
* Tags for models (with configurable tag count).
* Show Name Tags instead of file names in the file loader.
* Saving model as target.
* Real weight estimation.
* Configurable location for the home folder.
* MHX2 is bundled in the default installation.
* Save thumbnails directly from the internal render engine.
* There is a new installer for windows.
* There is a new PPA for ubuntu. This PPA also offers builds of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds).
=== The upgraded codebase ===
The main focus of this release has been to modernize the code. In the prior version, large parts were written more than ten years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The final end of life for python 2.7 was january 1, 2020.
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
=== The new Blender integration: "Makehuman plugin for Blender" or "MPFB" ===
[[File:Mpfbeevee.png|300px|thumb|right|One click import directly from MakeHuman, with improved skin shader]]
In blender it is now possible to fetch a character directly from a running instance of MakeHuman, without having to first save/export the character to a file.
The importer will talk with the makehuman instance and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses.
The process is almost instantaneous (a character with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Further, the importer supports improved skin features such as skin pores and SSS.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== License change ===
The license has changed to be more comprehensive and permissive. The full text of the new license can be found here: https://github.com/makehumancommunity/makehuman/blob/master/LICENSE.md
In summary, it has been made clear that assets included with and produced by makehuman are CC0 no matter how you got hold of them.
There is a description of the license change here: http://www.makehumancommunity.org/wiki/FAQ:What_changed_regarding_the_license_in_2020%3F
=== Assets can now be downloaded from within MakeHuman ===
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details, see author publishing and license information and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
=== Mass produce ===
There is now functionality available for randomizing large sets of characters. This includes varying body shape and gender, as well as randomizing which clothes the characters are equiped with.
An introduction to this functionality can be found at https://www.youtube.com/watch?v=jRHnJX-TdT4 (in the video it is stated that the plugin can be downloaded separately, but it is now included in the MakeHuman distribution).
=== Upgraded toolset for creating assets ===
The toolchain for creating MakeHuman assets have been upgraded:
* MakeClothes and MakeTarget have been rewritten from scratch and been made compatible with Blender 2.80 and later. They are now called MakeClothes 2 and MakeTarget 2, in order to separate them from the old versions that work with Blender 2.79 and earlier.
* A new tool MakeSkin has been added. This allows creating more advanced materials than what MakeClothes can do alone. There is a video introducing this functionality at https://www.youtube.com/watch?v=0amcxq4Ik60
=== A new windows installer ===
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
<br clear=all>
== Known issues ==
* While most of the graphics card incompatibilities should now be fixed, there may still be still parts of the program that cause problems with some integrated graphics cards. For potential remedies if you run into problems, see [[FAQ:MakeHuman_does_not_start]] and [[FAQ:The_interface_looks_broken]]
* MakeHuman is not compatible with PyQt later than 5.12. If you have a later version than 5.12 installed, scrolling will not work. Since Ubuntu 20.10 has shipped with 5.14 (which is incompatible), we have chosen to not provide a build for Ubuntu 20.10.
* There is no mac build. See http://www.makehumancommunity.org/wiki/FAQ:Is_there_a_mac_build%3F
* On Mint you need to explicitly install the plugins as they will not be automatically installed. With the ppa enabled, run "sudo apt-get install makehuman-community-plugins-assetdownload makehuman-community-plugins-socket makehuman-community-plugins-massproduce mhx2-makehuman-exchange"
* Toolset support for Blender 2.79 has been dropped. Tools such as MPFB, MakeClothes and MakeTarget are built for and tested with Blender 2.83 and later.
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
== Where to download ==
The following are links to where you can download beta 2:
You can download (link to page for windows download)
For linux, [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community there is a new PPA].
== Providing feedback and bug reports ==
As always with a beta release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums http://www.makehumancommunity.org/forum/viewforum.php?f=3. But more formal information about bug trackers can be found here: http://www.makehumancommunity.org/content/bugtracker.html
45e74836ea8a650e24afc4086b2b9dd60d68fdd7
1916
1915
2020-10-26T23:05:20Z
Punkduck
38
wikitext
text/x-wiki
These are the release notes for 1.2.0, which is not yet released.
This is the final and stable release. It is what we now recommend everyone to use. See also [[FAQ: Which version of MakeHuman should I download?]]
If you are already using a recent nightly build however, there is no particular need to switch to the stable release, as there have only been minor bug fixes lately.
== General ==
In most cases, there should be no problem running versions 1.1.1 and 1.2.0 on the same system. They will not interfere with each other's files. You can find download links for 1.2.0 at the bottom of this page.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system.
Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
== Changes since 1.1.1 ==
These are the main themes of the changes since 1.1.1. See further down for more details.
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt.
* There is a completely new Blender integration, MPFB, with support for socket transfers, IK and Kinect.
* The license has changed to (hopefully) be more clear and permissive.
* The toolset for creating assets (MakeClothes and MakeTarget) has been rewritten from scratch.
* There is a new tool "MakeSkin" for creating materials.
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure.
* There is a new Mass production functionality for generating large sets of randomized characters.
* Improved internationalization support for non-ASCII characters (backported).
* Plugins in user space.
* Plugins activation at runtime.
* Improved tag sorting capabilities (Hotkey: ALT-F), including sticky tag provisions.
* Tags for models (with configurable tag count).
* Show Name Tags instead of file names in the file loader.
* Saving model as target.
* Real weight estimation.
* Configurable location for the home folder.
* MHX2 is bundled in the default installation.
* Save thumbnails directly from the internal render engine.
* There is a new installer for windows.
* There is a new PPA for ubuntu. This PPA also offers builds of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds).
=== The upgraded codebase ===
The main focus of this release has been to modernize the code. In the prior version, large parts were written more than ten years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The final end of life for python 2.7 was january 1, 2020.
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
=== The new Blender integration, Makehuman plugin for Blender or *MPFB* ===
[[File:Mpfbeevee.png|300px|thumb|right|One click import directly from MakeHuman, with improved skin shader]]
In blender it is now possible to fetch a character directly from a running instance of MakeHuman, without having to first save/export the character to a file.
The importer will talk with the makehuman instance and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses.
The process is almost instantaneous (a character with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Further, the importer supports improved skin features such as skin pores and SSS.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== License change ===
The license has changed to be more comprehensive and permissive. The full text of the new license can be found here: https://github.com/makehumancommunity/makehuman/blob/master/LICENSE.md
In summary, it has been made clear that assets included with and produced by makehuman are CC0 no matter how you got hold of them.
There is a description of the license change here: http://www.makehumancommunity.org/wiki/FAQ:What_changed_regarding_the_license_in_2020%3F
=== Assets can now be downloaded from within MakeHuman ===
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details, see author publishing and license information and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
=== Mass produce ===
There is now functionality available for randomizing large sets of characters. This includes varying body shape and gender, as well as randomizing which clothes the characters are equiped with.
An introduction to this functionality can be found at https://www.youtube.com/watch?v=jRHnJX-TdT4 (in the video it is stated that the plugin can be downloaded separately, but it is now included in the MakeHuman distribution).
=== Upgraded toolset for creating assets ===
The toolchain for creating MakeHuman assets have been upgraded:
* MakeClothes and MakeTarget have been rewritten from scratch and been made compatible with Blender 2.80 and later. They are now called MakeClothes 2 and MakeTarget 2, in order to separate them from the old versions that work with Blender 2.79 and earlier.
* A new tool MakeSkin has been added. This allows creating more advanced materials than what MakeClothes can do alone. There is a video introducing this functionality at https://www.youtube.com/watch?v=0amcxq4Ik60
=== A new windows installer ===
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
<br clear=all>
== Known issues ==
* While most of the graphics card incompatibilities should now be fixed, there may still be still parts of the program that cause problems with some integrated graphics cards. For potential remedies if you run into problems, see [[FAQ:MakeHuman_does_not_start]] and [[FAQ:The_interface_looks_broken]]
* MakeHuman is not compatible with PyQt later than 5.12. If you have a later version than 5.12 installed, scrolling will not work. Since Ubuntu 20.10 has shipped with 5.14 (which is incompatible), we have chosen to not provide a build for Ubuntu 20.10.
* There is no mac build. See http://www.makehumancommunity.org/wiki/FAQ:Is_there_a_mac_build%3F
* On Mint you need to explicitly install the plugins as they will not be automatically installed. With the ppa enabled, run "sudo apt-get install makehuman-community-plugins-assetdownload makehuman-community-plugins-socket makehuman-community-plugins-massproduce mhx2-makehuman-exchange"
* Toolset support for Blender 2.79 has been dropped. Tools such as MPFB, MakeClothes and MakeTarget are built for and tested with Blender 2.83 and later.
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
== Where to download ==
The following are links to where you can download beta 2:
You can download (link to page for windows download)
For linux, [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community there is a new PPA].
== Providing feedback and bug reports ==
As always with a beta release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums http://www.makehumancommunity.org/forum/viewforum.php?f=3. But more formal information about bug trackers can be found here: http://www.makehumancommunity.org/content/bugtracker.html
bf88769835e0dc98d12dfb3b7c73d7b749aefe38
1915
1914
2020-10-25T22:46:40Z
Elvaerwyn
103
/* Providing feedback and bug reports */
wikitext
text/x-wiki
These are the release notes for 1.2.0, which is not yet released.
This is the final and stable release. It is what we now recommend everyone to use. See also [[FAQ: Which version of MakeHuman should I download?]]
If you are already using a recent nightly build however, there is no particular need to switch to the stable release, as there have only been minor bug fixes lately.
== General ==
In most cases, there should be no problem running versions 1.1.1 and 1.2.0 on the same system. They will not interfere with each other's files. You can find download links for 1.2.0 at the bottom of this page.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system.
Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
== Changes since 1.1.1 ==
These are the main themes of the changes since 1.1.1. See further down for more details.
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt.
* There is a completely new Blender integration, MPFB, with support for socket transfers, IK and Kinect.
* The license has changed to (hopefully) be more clear and permissive.
* The toolset for creating assets (MakeClothes and MakeTarget) has been rewritten from scratch.
* There is a new tool "MakeSkin" for creating materials.
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure.
* There is a new Mass production functionality for generating large sets of randomized characters.
* Improved internationalization support for non-ASCII characters (backported).
* Plugins in user space.
* Plugins activation at runtime.
* Improved tag sorting capabilities (Hotkey: ALT-F), including sticky tag provisions.
* Tags for models (with configurable tag count).
* Show Name Tags instead of file names in the file loader.
* Saving model as target.
* Real weight estimation.
* Configurable location for the home folder.
* MHX2 is bundled in the default installation.
* Save thumbnails directly from the internal render engine.
* There is a new installer for windows.
* There is a new PPA for ubuntu. This PPA also offers builds of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds).
=== The upgraded codebase ===
The main focus of this release has been to modernize the code. In the prior version, large parts were written more than ten years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The final end of life for python 2.7 was january 1, 2020.
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
=== The new Blender integration, Makehuman plugin for Blender or *MPFB* ===
[[File:Mpfbeevee.png|300px|thumb|right|One click import directly from MakeHuman, with improved skin shader]]
In blender it is now possible to fetch a character directly from a running instance of MakeHuman, without having to first save/export the character to a file.
The importer will talk with the makehuman instance and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses.
The process is almost instantaneous (a character with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Further, the importer supports improved skin features such as skin pores and SSS.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== License change ===
The license has changed to be more comprehensive and permissive. The full text of the new license can be found here: https://github.com/makehumancommunity/makehuman/blob/master/LICENSE.md
In summary, it has been made clear that assets included with and produced by makehuman are CC0 no matter how you got hold of them.
There is a description of the license change here: http://www.makehumancommunity.org/wiki/FAQ:What_changed_regarding_the_license_in_2020%3F
=== Assets can now be downloaded from within MakeHuman ===
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details, see author publishing and license information and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
=== Mass produce ===
There is now functionality available for randomizing large sets of characters. This includes varying body shape and gender, as well as randomizing which clothes the characters are equiped with.
An introduction to this functionality can be found at https://www.youtube.com/watch?v=jRHnJX-TdT4 (in the video it is stated that the plugin can be downloaded separately, but it is now included in the MakeHuman distribution).
=== Upgraded toolset for creating assets ===
The toolchain for creating MakeHuman assets have been upgraded:
* MakeClothes and MakeSkin have been rewritten from scratch and been made compatible with Blender 2.80 and later. They are now called MakeClothes 2 and MakeSkin 2, in order to separate them from the old versions that work with Blender 2.79 and earlier.
* A new tool MakeSkin has been added. This allows creating more advanced materials than what MakeClothes can do alone. There is a video introducing this functionality at https://www.youtube.com/watch?v=0amcxq4Ik60
=== A new windows installer ===
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
<br clear=all>
== Known issues ==
* While most of the graphics card incompatibilities should now be fixed, there may still be still parts of the program that cause problems with some integrated graphics cards. For potential remedies if you run into problems, see [[FAQ:MakeHuman_does_not_start]] and [[FAQ:The_interface_looks_broken]]
* MakeHuman is not compatible with PyQt later than 5.12. If you have a later version than 5.12 installed, scrolling will not work. Since Ubuntu 20.10 has shipped with 5.14 (which is incompatible), we have chosen to not provide a build for Ubuntu 20.10.
* There is no mac build. See http://www.makehumancommunity.org/wiki/FAQ:Is_there_a_mac_build%3F
* On Mint you need to explicitly install the plugins as they will not be automatically installed. With the ppa enabled, run "sudo apt-get install makehuman-community-plugins-assetdownload makehuman-community-plugins-socket makehuman-community-plugins-massproduce mhx2-makehuman-exchange"
* Toolset support for Blender 2.79 has been dropped. Tools such as MPFB, MakeClothes and MakeTarget are built for and tested with Blender 2.83 and later.
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
== Where to download ==
The following are links to where you can download beta 2:
You can download (link to page for windows download)
For linux, [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community there is a new PPA].
== Providing feedback and bug reports ==
As always with a beta release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums http://www.makehumancommunity.org/forum/viewforum.php?f=3. But more formal information about bug trackers can be found here: http://www.makehumancommunity.org/content/bugtracker.html
d6fbf7f4dd906f7fac3c7c48ebcf305d3f959da9
1914
1913
2020-10-25T22:39:18Z
Elvaerwyn
103
/* Changes since 1.1.1 */
wikitext
text/x-wiki
These are the release notes for 1.2.0, which is not yet released.
This is the final and stable release. It is what we now recommend everyone to use. See also [[FAQ: Which version of MakeHuman should I download?]]
If you are already using a recent nightly build however, there is no particular need to switch to the stable release, as there have only been minor bug fixes lately.
== General ==
In most cases, there should be no problem running versions 1.1.1 and 1.2.0 on the same system. They will not interfere with each other's files. You can find download links for 1.2.0 at the bottom of this page.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system.
Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
== Changes since 1.1.1 ==
These are the main themes of the changes since 1.1.1. See further down for more details.
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt.
* There is a completely new Blender integration, MPFB, with support for socket transfers, IK and Kinect.
* The license has changed to (hopefully) be more clear and permissive.
* The toolset for creating assets (MakeClothes and MakeTarget) has been rewritten from scratch.
* There is a new tool "MakeSkin" for creating materials.
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure.
* There is a new Mass production functionality for generating large sets of randomized characters.
* Improved internationalization support for non-ASCII characters (backported).
* Plugins in user space.
* Plugins activation at runtime.
* Improved tag sorting capabilities (Hotkey: ALT-F), including sticky tag provisions.
* Tags for models (with configurable tag count).
* Show Name Tags instead of file names in the file loader.
* Saving model as target.
* Real weight estimation.
* Configurable location for the home folder.
* MHX2 is bundled in the default installation.
* Save thumbnails directly from the internal render engine.
* There is a new installer for windows.
* There is a new PPA for ubuntu. This PPA also offers builds of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds).
=== The upgraded codebase ===
The main focus of this release has been to modernize the code. In the prior version, large parts were written more than ten years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The final end of life for python 2.7 was january 1, 2020.
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
=== The new Blender integration, Makehuman plugin for Blender or *MPFB* ===
[[File:Mpfbeevee.png|300px|thumb|right|One click import directly from MakeHuman, with improved skin shader]]
In blender it is now possible to fetch a character directly from a running instance of MakeHuman, without having to first save/export the character to a file.
The importer will talk with the makehuman instance and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses.
The process is almost instantaneous (a character with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Further, the importer supports improved skin features such as skin pores and SSS.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== License change ===
The license has changed to be more comprehensive and permissive. The full text of the new license can be found here: https://github.com/makehumancommunity/makehuman/blob/master/LICENSE.md
In summary, it has been made clear that assets included with and produced by makehuman are CC0 no matter how you got hold of them.
There is a description of the license change here: http://www.makehumancommunity.org/wiki/FAQ:What_changed_regarding_the_license_in_2020%3F
=== Assets can now be downloaded from within MakeHuman ===
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details, see author publishing and license information and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
=== Mass produce ===
There is now functionality available for randomizing large sets of characters. This includes varying body shape and gender, as well as randomizing which clothes the characters are equiped with.
An introduction to this functionality can be found at https://www.youtube.com/watch?v=jRHnJX-TdT4 (in the video it is stated that the plugin can be downloaded separately, but it is now included in the MakeHuman distribution).
=== Upgraded toolset for creating assets ===
The toolchain for creating MakeHuman assets have been upgraded:
* MakeClothes and MakeSkin have been rewritten from scratch and been made compatible with Blender 2.80 and later. They are now called MakeClothes 2 and MakeSkin 2, in order to separate them from the old versions that work with Blender 2.79 and earlier.
* A new tool MakeSkin has been added. This allows creating more advanced materials than what MakeClothes can do alone. There is a video introducing this functionality at https://www.youtube.com/watch?v=0amcxq4Ik60
=== A new windows installer ===
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
<br clear=all>
== Known issues ==
* While most of the graphics card incompatibilities should now be fixed, there may still be still parts of the program that cause problems with some integrated graphics cards. For potential remedies if you run into problems, see [[FAQ:MakeHuman_does_not_start]] and [[FAQ:The_interface_looks_broken]]
* MakeHuman is not compatible with PyQt later than 5.12. If you have a later version than 5.12 installed, scrolling will not work. Since Ubuntu 20.10 has shipped with 5.14 (which is incompatible), we have chosen to not provide a build for Ubuntu 20.10.
* There is no mac build. See http://www.makehumancommunity.org/wiki/FAQ:Is_there_a_mac_build%3F
* On Mint you need to explicitly install the plugins as they will not be automatically installed. With the ppa enabled, run "sudo apt-get install makehuman-community-plugins-assetdownload makehuman-community-plugins-socket makehuman-community-plugins-massproduce mhx2-makehuman-exchange"
* Toolset support for Blender 2.79 has been dropped. Tools such as MPFB, MakeClothes and MakeTarget are built for and tested with Blender 2.83 and later.
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
== Where to download ==
The following are links to where you can download beta 2:
You can download (link to page for windows download)
For linux, [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community there is a new PPA].
== Providing feedback and bug reports ==
As always with a beta release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums. But more formal information about bug trackers can be found here: http://www.makehumancommunity.org/content/bugtracker.html
06aa88b2f576096fe7ec6fc2c9362b340266aacc
1913
1912
2020-10-25T22:36:23Z
Elvaerwyn
103
/* Assets can now be downloaded from within MakeHuman */
wikitext
text/x-wiki
These are the release notes for 1.2.0, which is not yet released.
This is the final and stable release. It is what we now recommend everyone to use. See also [[FAQ: Which version of MakeHuman should I download?]]
If you are already using a recent nightly build however, there is no particular need to switch to the stable release, as there have only been minor bug fixes lately.
== General ==
In most cases, there should be no problem running versions 1.1.1 and 1.2.0 on the same system. They will not interfere with each other's files. You can find download links for 1.2.0 at the bottom of this page.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system.
Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
== Changes since 1.1.1 ==
These are the main themes of the changes since 1.1.1. See further down for more details.
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt.
* There is a completely new Blender integration, MPFB, with support for socket transfers, IK and Kinect.
* The license has changed to (hopefully) be more clear and permissive.
* The toolset for creating assets (MakeClothes and MakeTarget) has been rewritten from scratch.
* There is a new tool "MakeSkin" for creating materials.
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure.
* There is a new randomization functionality for generating large sets of randomized characters.
* Improved internationalization support for non-ASCII characters (backported).
* Plugins in user space.
* Plugins activation at runtime.
* Improved tag sorting capabilities (Hotkey: ALT-F), including sticky tag provisions.
* Tags for models (with configurable tag count).
* Show Name Tags instead of file names in the file loader.
* Saving model as target.
* Real weight estimation.
* Configurable location for the home folder.
* MHX2 is bundled in the default installation.
* Save thumbnails directly from the internal render engine.
* There is a new installer for windows.
* There is a new PPA for ubuntu. This PPA also offers builds of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds).
=== The upgraded codebase ===
The main focus of this release has been to modernize the code. In the prior version, large parts were written more than ten years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The final end of life for python 2.7 was january 1, 2020.
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
=== The new Blender integration, Makehuman plugin for Blender or *MPFB* ===
[[File:Mpfbeevee.png|300px|thumb|right|One click import directly from MakeHuman, with improved skin shader]]
In blender it is now possible to fetch a character directly from a running instance of MakeHuman, without having to first save/export the character to a file.
The importer will talk with the makehuman instance and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses.
The process is almost instantaneous (a character with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Further, the importer supports improved skin features such as skin pores and SSS.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== License change ===
The license has changed to be more comprehensive and permissive. The full text of the new license can be found here: https://github.com/makehumancommunity/makehuman/blob/master/LICENSE.md
In summary, it has been made clear that assets included with and produced by makehuman are CC0 no matter how you got hold of them.
There is a description of the license change here: http://www.makehumancommunity.org/wiki/FAQ:What_changed_regarding_the_license_in_2020%3F
=== Assets can now be downloaded from within MakeHuman ===
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details, see author publishing and license information and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
=== Mass produce ===
There is now functionality available for randomizing large sets of characters. This includes varying body shape and gender, as well as randomizing which clothes the characters are equiped with.
An introduction to this functionality can be found at https://www.youtube.com/watch?v=jRHnJX-TdT4 (in the video it is stated that the plugin can be downloaded separately, but it is now included in the MakeHuman distribution).
=== Upgraded toolset for creating assets ===
The toolchain for creating MakeHuman assets have been upgraded:
* MakeClothes and MakeSkin have been rewritten from scratch and been made compatible with Blender 2.80 and later. They are now called MakeClothes 2 and MakeSkin 2, in order to separate them from the old versions that work with Blender 2.79 and earlier.
* A new tool MakeSkin has been added. This allows creating more advanced materials than what MakeClothes can do alone. There is a video introducing this functionality at https://www.youtube.com/watch?v=0amcxq4Ik60
=== A new windows installer ===
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
<br clear=all>
== Known issues ==
* While most of the graphics card incompatibilities should now be fixed, there may still be still parts of the program that cause problems with some integrated graphics cards. For potential remedies if you run into problems, see [[FAQ:MakeHuman_does_not_start]] and [[FAQ:The_interface_looks_broken]]
* MakeHuman is not compatible with PyQt later than 5.12. If you have a later version than 5.12 installed, scrolling will not work. Since Ubuntu 20.10 has shipped with 5.14 (which is incompatible), we have chosen to not provide a build for Ubuntu 20.10.
* There is no mac build. See http://www.makehumancommunity.org/wiki/FAQ:Is_there_a_mac_build%3F
* On Mint you need to explicitly install the plugins as they will not be automatically installed. With the ppa enabled, run "sudo apt-get install makehuman-community-plugins-assetdownload makehuman-community-plugins-socket makehuman-community-plugins-massproduce mhx2-makehuman-exchange"
* Toolset support for Blender 2.79 has been dropped. Tools such as MPFB, MakeClothes and MakeTarget are built for and tested with Blender 2.83 and later.
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
== Where to download ==
The following are links to where you can download beta 2:
You can download (link to page for windows download)
For linux, [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community there is a new PPA].
== Providing feedback and bug reports ==
As always with a beta release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums. But more formal information about bug trackers can be found here: http://www.makehumancommunity.org/content/bugtracker.html
5b3b6de3595869f4017e06ada4fdc60f4dbb2497
1912
1911
2020-10-25T22:28:43Z
Elvaerwyn
103
/* The new Blender integration, MPFB */
wikitext
text/x-wiki
These are the release notes for 1.2.0, which is not yet released.
This is the final and stable release. It is what we now recommend everyone to use. See also [[FAQ: Which version of MakeHuman should I download?]]
If you are already using a recent nightly build however, there is no particular need to switch to the stable release, as there have only been minor bug fixes lately.
== General ==
In most cases, there should be no problem running versions 1.1.1 and 1.2.0 on the same system. They will not interfere with each other's files. You can find download links for 1.2.0 at the bottom of this page.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system.
Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
== Changes since 1.1.1 ==
These are the main themes of the changes since 1.1.1. See further down for more details.
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt.
* There is a completely new Blender integration, MPFB, with support for socket transfers, IK and Kinect.
* The license has changed to (hopefully) be more clear and permissive.
* The toolset for creating assets (MakeClothes and MakeTarget) has been rewritten from scratch.
* There is a new tool "MakeSkin" for creating materials.
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure.
* There is a new randomization functionality for generating large sets of randomized characters.
* Improved internationalization support for non-ASCII characters (backported).
* Plugins in user space.
* Plugins activation at runtime.
* Improved tag sorting capabilities (Hotkey: ALT-F), including sticky tag provisions.
* Tags for models (with configurable tag count).
* Show Name Tags instead of file names in the file loader.
* Saving model as target.
* Real weight estimation.
* Configurable location for the home folder.
* MHX2 is bundled in the default installation.
* Save thumbnails directly from the internal render engine.
* There is a new installer for windows.
* There is a new PPA for ubuntu. This PPA also offers builds of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds).
=== The upgraded codebase ===
The main focus of this release has been to modernize the code. In the prior version, large parts were written more than ten years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The final end of life for python 2.7 was january 1, 2020.
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
=== The new Blender integration, Makehuman plugin for Blender or *MPFB* ===
[[File:Mpfbeevee.png|300px|thumb|right|One click import directly from MakeHuman, with improved skin shader]]
In blender it is now possible to fetch a character directly from a running instance of MakeHuman, without having to first save/export the character to a file.
The importer will talk with the makehuman instance and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses.
The process is almost instantaneous (a character with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Further, the importer supports improved skin features such as skin pores and SSS.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== License change ===
The license has changed to be more comprehensive and permissive. The full text of the new license can be found here: https://github.com/makehumancommunity/makehuman/blob/master/LICENSE.md
In summary, it has been made clear that assets included with and produced by makehuman are CC0 no matter how you got hold of them.
There is a description of the license change here: http://www.makehumancommunity.org/wiki/FAQ:What_changed_regarding_the_license_in_2020%3F
=== Assets can now be downloaded from within MakeHuman ===
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
=== Mass produce ===
There is now functionality available for randomizing large sets of characters. This includes varying body shape and gender, as well as randomizing which clothes the characters are equiped with.
An introduction to this functionality can be found at https://www.youtube.com/watch?v=jRHnJX-TdT4 (in the video it is stated that the plugin can be downloaded separately, but it is now included in the MakeHuman distribution).
=== Upgraded toolset for creating assets ===
The toolchain for creating MakeHuman assets have been upgraded:
* MakeClothes and MakeSkin have been rewritten from scratch and been made compatible with Blender 2.80 and later. They are now called MakeClothes 2 and MakeSkin 2, in order to separate them from the old versions that work with Blender 2.79 and earlier.
* A new tool MakeSkin has been added. This allows creating more advanced materials than what MakeClothes can do alone. There is a video introducing this functionality at https://www.youtube.com/watch?v=0amcxq4Ik60
=== A new windows installer ===
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
<br clear=all>
== Known issues ==
* While most of the graphics card incompatibilities should now be fixed, there may still be still parts of the program that cause problems with some integrated graphics cards. For potential remedies if you run into problems, see [[FAQ:MakeHuman_does_not_start]] and [[FAQ:The_interface_looks_broken]]
* MakeHuman is not compatible with PyQt later than 5.12. If you have a later version than 5.12 installed, scrolling will not work. Since Ubuntu 20.10 has shipped with 5.14 (which is incompatible), we have chosen to not provide a build for Ubuntu 20.10.
* There is no mac build. See http://www.makehumancommunity.org/wiki/FAQ:Is_there_a_mac_build%3F
* On Mint you need to explicitly install the plugins as they will not be automatically installed. With the ppa enabled, run "sudo apt-get install makehuman-community-plugins-assetdownload makehuman-community-plugins-socket makehuman-community-plugins-massproduce mhx2-makehuman-exchange"
* Toolset support for Blender 2.79 has been dropped. Tools such as MPFB, MakeClothes and MakeTarget are built for and tested with Blender 2.83 and later.
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
== Where to download ==
The following are links to where you can download beta 2:
You can download (link to page for windows download)
For linux, [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community there is a new PPA].
== Providing feedback and bug reports ==
As always with a beta release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums. But more formal information about bug trackers can be found here: http://www.makehumancommunity.org/content/bugtracker.html
a930540b687344022205916a70ddc3ee8472a4b9
1911
1910
2020-10-25T22:22:51Z
Elvaerwyn
103
wikitext
text/x-wiki
These are the release notes for 1.2.0, which is not yet released.
This is the final and stable release. It is what we now recommend everyone to use. See also [[FAQ: Which version of MakeHuman should I download?]]
If you are already using a recent nightly build however, there is no particular need to switch to the stable release, as there have only been minor bug fixes lately.
== General ==
In most cases, there should be no problem running versions 1.1.1 and 1.2.0 on the same system. They will not interfere with each other's files. You can find download links for 1.2.0 at the bottom of this page.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system.
Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
== Changes since 1.1.1 ==
These are the main themes of the changes since 1.1.1. See further down for more details.
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt.
* There is a completely new Blender integration, MPFB, with support for socket transfers, IK and Kinect.
* The license has changed to (hopefully) be more clear and permissive.
* The toolset for creating assets (MakeClothes and MakeTarget) has been rewritten from scratch.
* There is a new tool "MakeSkin" for creating materials.
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure.
* There is a new randomization functionality for generating large sets of randomized characters.
* Improved internationalization support for non-ASCII characters (backported).
* Plugins in user space.
* Plugins activation at runtime.
* Improved tag sorting capabilities (Hotkey: ALT-F), including sticky tag provisions.
* Tags for models (with configurable tag count).
* Show Name Tags instead of file names in the file loader.
* Saving model as target.
* Real weight estimation.
* Configurable location for the home folder.
* MHX2 is bundled in the default installation.
* Save thumbnails directly from the internal render engine.
* There is a new installer for windows.
* There is a new PPA for ubuntu. This PPA also offers builds of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds).
=== The upgraded codebase ===
The main focus of this release has been to modernize the code. In the prior version, large parts were written more than ten years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The final end of life for python 2.7 was january 1, 2020.
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
=== The new Blender integration, MPFB ===
[[File:Mpfbeevee.png|300px|thumb|right|One click import directly from MakeHuman, with improved skin shader]]
In blender it is now possible to fetch a character directly from a running instance of MakeHuman, without having to first save/export the character to a file.
The importer will talk with the makehuman instance and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses.
The process is almost instantaneous (a character with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Further, the importer supports improved skin features such as skin pores and SSS.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== License change ===
The license has changed to be more comprehensive and permissive. The full text of the new license can be found here: https://github.com/makehumancommunity/makehuman/blob/master/LICENSE.md
In summary, it has been made clear that assets included with and produced by makehuman are CC0 no matter how you got hold of them.
There is a description of the license change here: http://www.makehumancommunity.org/wiki/FAQ:What_changed_regarding_the_license_in_2020%3F
=== Assets can now be downloaded from within MakeHuman ===
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
=== Mass produce ===
There is now functionality available for randomizing large sets of characters. This includes varying body shape and gender, as well as randomizing which clothes the characters are equiped with.
An introduction to this functionality can be found at https://www.youtube.com/watch?v=jRHnJX-TdT4 (in the video it is stated that the plugin can be downloaded separately, but it is now included in the MakeHuman distribution).
=== Upgraded toolset for creating assets ===
The toolchain for creating MakeHuman assets have been upgraded:
* MakeClothes and MakeSkin have been rewritten from scratch and been made compatible with Blender 2.80 and later. They are now called MakeClothes 2 and MakeSkin 2, in order to separate them from the old versions that work with Blender 2.79 and earlier.
* A new tool MakeSkin has been added. This allows creating more advanced materials than what MakeClothes can do alone. There is a video introducing this functionality at https://www.youtube.com/watch?v=0amcxq4Ik60
=== A new windows installer ===
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
<br clear=all>
== Known issues ==
* While most of the graphics card incompatibilities should now be fixed, there may still be still parts of the program that cause problems with some integrated graphics cards. For potential remedies if you run into problems, see [[FAQ:MakeHuman_does_not_start]] and [[FAQ:The_interface_looks_broken]]
* MakeHuman is not compatible with PyQt later than 5.12. If you have a later version than 5.12 installed, scrolling will not work. Since Ubuntu 20.10 has shipped with 5.14 (which is incompatible), we have chosen to not provide a build for Ubuntu 20.10.
* There is no mac build. See http://www.makehumancommunity.org/wiki/FAQ:Is_there_a_mac_build%3F
* On Mint you need to explicitly install the plugins as they will not be automatically installed. With the ppa enabled, run "sudo apt-get install makehuman-community-plugins-assetdownload makehuman-community-plugins-socket makehuman-community-plugins-massproduce mhx2-makehuman-exchange"
* Toolset support for Blender 2.79 has been dropped. Tools such as MPFB, MakeClothes and MakeTarget are built for and tested with Blender 2.83 and later.
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
== Where to download ==
The following are links to where you can download beta 2:
You can download (link to page for windows download)
For linux, [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community there is a new PPA].
== Providing feedback and bug reports ==
As always with a beta release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums. But more formal information about bug trackers can be found here: http://www.makehumancommunity.org/content/bugtracker.html
940663b2e9b9c16bc542cb1bddc2cb4b63208047
1910
1907
2020-10-25T22:17:45Z
Elvaerwyn
103
wikitext
text/x-wiki
These are the release notes for 1.2.0, which is not yet released.
This is the final and stable release. It is what we now recommend everyone to use. See also [[FAQ: Which version of MakeHuman should I download?]]
If you are already using a recent nightly build however, there is no particular need to switch to the stable release, as there have only been minor bug fixes lately.
== General ==
In most cases, there should be no problem running versions 1.1.1 and 1.2.0 on the same system. They will not interfere with each other's files. You can find download links for 1.2.0 at the bottom of this page.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system.
Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
== Changes since 1.1.1 ==
These are the main themes of the changes since 1.1.1. See further down for more details.
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* There is a completely new Blender integration, MPFB, with support for socket transfers, IK and Kinect
* The license has changed to (hopefully) be more clear and permissive.
* The toolset for creating assets (MakeClothes and MakeTarget) has been rewritten from scratch.
* There is a new tool "MakeSkin" for creating materials
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a new randomization functionality for generating large sets of randomized characters
* Improved internationalization support for non-ASCII characters (backported)
* Plugins in user space
* Plugins activation at runtime
* Improved tag sorting capabilities (Hotkey: ALT-F), including sticky tag provisions
* Tags for models (with configurable tag count)
* Show Name Tags instead of file names in the file loader.
* Saving model as target
* Real weight estimation
* Configurable location for the home folder
* MHX2 is bundled in the default installation
* Save thumbnails directly from the internal render engine
* There is a new installer for windows
* There is a new PPA for ubuntu. This PPA also offers builds of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds)
=== The upgraded codebase ===
The main focus of this release has been to modernize the code. In the prior version, large parts were written more than ten years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The final end of life for python 2.7 was january 1, 2020.
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
=== The new Blender integration, MPFB ===
[[File:Mpfbeevee.png|300px|thumb|right|One click import directly from MakeHuman, with improved skin shader]]
In blender it is now possible to fetch a character directly from a running instance of MakeHuman, without having to first save/export the character to a file.
The importer will talk with the makehuman instance and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses.
The process is almost instantaneous (a character with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Further, the importer supports improved skin features such as skin pores and SSS.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== License change ===
The license has changed to be more comprehensive and permissive. The full text of the new license can be found here: https://github.com/makehumancommunity/makehuman/blob/master/LICENSE.md
In summary, it has been made clear that assets included with and produced by makehuman are CC0 no matter how you got hold of them.
There is a description of the license change here: http://www.makehumancommunity.org/wiki/FAQ:What_changed_regarding_the_license_in_2020%3F
=== Assets can now be downloaded from within MakeHuman ===
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
=== Mass produce ===
There is now functionality available for randomizing large sets of characters. This includes varying body shape and gender, as well as randomizing which clothes the characters are equiped with.
An introduction to this functionality can be found at https://www.youtube.com/watch?v=jRHnJX-TdT4 (in the video it is stated that the plugin can be downloaded separately, but it is now included in the MakeHuman distribution).
=== Upgraded toolset for creating assets ===
The toolchain for creating MakeHuman assets have been upgraded:
* MakeClothes and MakeSkin have been rewritten from scratch and been made compatible with Blender 2.80 and later. They are now called MakeClothes 2 and MakeSkin 2, in order to separate them from the old versions that work with Blender 2.79 and earlier.
* A new tool MakeSkin has been added. This allows creating more advanced materials than what MakeClothes can do alone. There is a video introducing this functionality at https://www.youtube.com/watch?v=0amcxq4Ik60
=== A new windows installer ===
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
<br clear=all>
== Known issues ==
* While most of the graphics card incompatibilities should now be fixed, there may still be still parts of the program that cause problems with some integrated graphics cards. For potential remedies if you run into problems, see [[FAQ:MakeHuman_does_not_start]] and [[FAQ:The_interface_looks_broken]]
* MakeHuman is not compatible with PyQt later than 5.12. If you have a later version than 5.12 installed, scrolling will not work. Since Ubuntu 20.10 has shipped with 5.14 (which is incompatible), we have chosen to not provide a build for Ubuntu 20.10.
* There is no mac build. See http://www.makehumancommunity.org/wiki/FAQ:Is_there_a_mac_build%3F
* On Mint you need to explicitly install the plugins as they will not be automatically installed. With the ppa enabled, run "sudo apt-get install makehuman-community-plugins-assetdownload makehuman-community-plugins-socket makehuman-community-plugins-massproduce mhx2-makehuman-exchange"
* Toolset support for Blender 2.79 has been dropped. Tools such as MPFB, MakeClothes and MakeTarget are built for and tested with Blender 2.83 and later.
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
== Where to download ==
The following are links to where you can download beta 2:
You can download (link to page for windows download)
For linux, [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community there is a new PPA].
== Providing feedback and bug reports ==
As always with a beta release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums. But more formal information about bug trackers can be found here: http://www.makehumancommunity.org/content/bugtracker.html
f63d8a922f491dbb0fcb38bcc5bfd5490e350493
1907
1906
2020-10-25T13:08:02Z
Joepal
14
wikitext
text/x-wiki
These are the release notes for 1.2.0, which is not yet released.
This is the final and stable release. It is what we now recommend everyone to use. See also [[FAQ: Which version of MakeHuman should I download?]]
If you are already using a recent nightly build however, there is no particular to switch to the stable release, as there have only been minor bug fixes lately.
== General ==
In most cases, there should be no problem running versions 1.1.1 and 1.2.0 on the same system. They will not interfere with each other's files. You can find download links for 1.2.0 at the bottom of this page.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system.
Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
== Changes since 1.1.1 ==
These are the main themes of the changes since 1.1.1. See further down for more details.
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* There is a completely new Blender integration, MPFB, with support for socket transfers, IK and Kinect
* The license has changed to (hopefully) be more clear and permissive.
* The toolset for creating assets (MakeClothes and MakeTarget) has been rewritten from scratch.
* There is a new tool "MakeSkin" for creating materials
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a new randomization functionality for generating large sets of randomized characters
* Improved internationalization support for non-ASCII characters (backported)
* Plugins in user space
* Plugins activation at runtime
* Improved tag sorting capabilities (Hotkey: ALT-F), including sticky tag provisions
* Tags for models (with configurable tag count)
* Show Name Tags instead of file names in the file loader.
* Saving model as target
* Real weight estimation
* Configurable location for the home folder
* MHX2 is bundled in the default installation
* Save thumbnails directly from the internal render engine
* There is a new installer for windows
* There is a new PPA for ubuntu. This PPA also offers builds of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds)
=== The upgraded codebase ===
The main focus of this release has been to modernize the code. In the prior version, large parts were written more than ten years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The final end of life for python 2.7 was january 1, 2020.
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
=== The new Blender integration, MPFB ===
[[File:Mpfbeevee.png|300px|thumb|right|One click import directly from MakeHuman, with improved skin shader]]
In blender it is now possible to fetch a character directly from a running instance of MakeHuman, without having to first save/export the character to a file.
The importer will talk with the makehuman instance and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses.
The process is almost instantaneous (a character with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Further, the importer supports improved skin features such as skin pores and SSS.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== License change ===
The license has changed to be more comprehensive and permissive. The full text of the new license can be found here: https://github.com/makehumancommunity/makehuman/blob/master/LICENSE.md
In summary, it has been made clear that assets included with and produced by makehuman are CC0 no matter how you got hold of them.
There is a description of the license change here: http://www.makehumancommunity.org/wiki/FAQ:What_changed_regarding_the_license_in_2020%3F
=== Assets can now be downloaded from within MakeHuman ===
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
=== Mass produce ===
There is now functionality available for randomizing large sets of characters. This includes varying body shape and gender, as well as randomizing which clothes the characters are equiped with.
An introduction to this functionality can be found at https://www.youtube.com/watch?v=jRHnJX-TdT4 (in the video it is stated that the plugin can be downloaded separately, but it is now included in the MakeHuman distribution).
=== Upgraded toolset for creating assets ===
The toolchain for creating MakeHuman assets have been upgraded:
* MakeClothes and MakeSkin have been rewritten from scratch and been made compatible with Blender 2.80 and later. They are now called MakeClothes 2 and MakeSkin 2, in order to separate them from the old versions that work with Blender 2.79 and earlier.
* A new tool MakeSkin has been added. This allows creating more advanced materials than what MakeClothes can do alone. There is a video introducing this functionality at https://www.youtube.com/watch?v=0amcxq4Ik60
=== A new windows installer ===
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
<br clear=all>
== Known issues ==
* While most of the graphics card incompatibilities should now be fixed, there may still be still parts of the program that cause problems with some integrated graphics cards. For potential remedies if you run into problems, see [[FAQ:MakeHuman_does_not_start]] and [[FAQ:The_interface_looks_broken]]
* MakeHuman is not compatible with PyQt later than 5.12. If you have a later version than 5.12 installed, scrolling will not work. Since Ubuntu 20.10 has shipped with 5.14 (which is incompatible), we have chosen to not provide a build for Ubuntu 20.10.
* There is no mac build. See http://www.makehumancommunity.org/wiki/FAQ:Is_there_a_mac_build%3F
* On Mint you need to explicitly install the plugins as they will not be automatically installed. With the ppa enabled, run "sudo apt-get install makehuman-community-plugins-assetdownload makehuman-community-plugins-socket makehuman-community-plugins-massproduce mhx2-makehuman-exchange"
* Toolset support for Blender 2.79 has been dropped. Tools such as MPFB, MakeClothes and MakeTarget are built for and tested with Blender 2.83 and later.
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
== Where to download ==
The following are links to where you can download beta 2:
You can download (link to page for windows download)
For linux, [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community there is a new PPA].
== Providing feedback and bug reports ==
As always with a beta release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums. But more formal information about bug trackers can be found here: http://www.makehumancommunity.org/content/bugtracker.html
dbbd68e8b021e0586f5b813de48487e3c59e9e01
1906
1905
2020-10-25T12:48:20Z
Joepal
14
wikitext
text/x-wiki
These are the release notes for 1.2.0, which is not yet released.
This is the final and stable release. It is what we now recommend everyone to use. See also [[FAQ: Which version of MakeHuman should I download?]]
If you are already using a recent nightly build however, there is no particular to switch to the stable release, as there have only been minor bug fixes lately.
== General ==
In most cases, there should be no problem running versions 1.1.1 and 1.2.0 on the same system. They will not interfere with each other's files. You can find download links for 1.2.0 at the bottom of this page.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system.
Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
== Changes since 1.1.1 ==
These are the main themes of the changes since 1.1.1. See further down for more details.
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* There is a completely new Blender integration, MPFB, with support for socket transfers, IK and Kinect
* The license has changed to (hopefully) be more clear and permissive.
* The toolset for creating assets (MakeClothes and MakeTarget) has been rewritten from scratch.
* There is a new tool "MakeSkin" for creating materials
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a new randomization functionality for generating large sets of randomized characters
* Improved internationalization support for non-ASCII characters (backported)
* Plugins in user space
* Plugins activation at runtime
* Improved tag sorting capabilities (Hotkey: ALT-F), including sticky tag provisions
* Tags for models (with configurable tag count)
* Show Name Tags instead of file names in the file loader.
* Saving model as target
* Real weight estimation
* Configurable location for the home folder
* MHX2 is bundled in the default installation
* Save thumbnails directly from the internal render engine
* There is a new installer for windows
* There is a new PPA for ubuntu. This PPA also offers builds of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds)
=== The upgraded codebase ===
The main focus of this release has been to modernize the code. In the prior version, large parts were written more than ten years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The final end of life for python 2.7 was january 1, 2020.
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
=== The new Blender integration, MPFB ===
[[File:Mpfbeevee.png|300px|thumb|right|One click import directly from MakeHuman, with improved skin shader]]
In blender it is now possible to fetch a character directly from a running instance of MakeHuman, without having to first save/export the character to a file.
The importer will talk with the makehuman instance and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses.
The process is almost instantaneous (a character with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Further, the importer supports improved skin features such as skin pores and SSS.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== License change ===
The license has changed to be more comprehensive and permissive. The full text of the new license can be found here: https://github.com/makehumancommunity/makehuman/blob/master/LICENSE.md
In summary, it has been made clear that assets included with and produced by makehuman are CC0 no matter how you got hold of them.
There is a description of the license change here: http://www.makehumancommunity.org/wiki/FAQ:What_changed_regarding_the_license_in_2020%3F
=== Assets can now be downloaded from within MakeHuman ===
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
=== Mass produce ===
To be written
=== Upgraded toolset for creating assets ===
To be written
=== A new windows installer ===
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
<br clear=all>
== Known issues ==
* While most of the graphics card incompatibilities should now be fixed, there may still be still parts of the program that cause problems with some integrated graphics cards. For potential remedies if you run into problems, see [[FAQ:MakeHuman_does_not_start]] and [[FAQ:The_interface_looks_broken]]
* MakeHuman is not compatible with PyQt later than 5.12. If you have a later version than 5.12 installed, scrolling will not work. Since Ubuntu 20.10 has shipped with 5.14 (which is incompatible), we have chosen to not provide a build for Ubuntu 20.10.
* There is no mac build. See http://www.makehumancommunity.org/wiki/FAQ:Is_there_a_mac_build%3F
* On Mint you need to explicitly install the plugins as they will not be automatically installed. With the ppa enabled, run "sudo apt-get install makehuman-community-plugins-assetdownload makehuman-community-plugins-socket makehuman-community-plugins-massproduce mhx2-makehuman-exchange"
* Toolset support for Blender 2.79 has been dropped. Tools such as MPFB, MakeClothes and MakeTarget are built for and tested with Blender 2.83 and later.
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
== Where to download ==
The following are links to where you can download beta 2:
You can download (link to page for windows download)
For linux, [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community there is a new PPA].
== Providing feedback and bug reports ==
As always with a beta release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums. But more formal information about bug trackers can be found here: http://www.makehumancommunity.org/content/bugtracker.html
e3deac40c179c4c7a7f206e4206f291f9bd59527
1905
1904
2020-10-25T12:42:01Z
Joepal
14
/* Changes since 1.1.1 */
wikitext
text/x-wiki
These are the release notes for 1.2.0, which is not yet released.
This is the final and stable release. It is what we now recommend everyone to use. See also [[FAQ: Which version of MakeHuman should I download?]]
If you are already using a recent nightly build however, there is no particular to switch to the stable release, as there have only been minor bug fixes lately.
== General ==
In most cases, there should be no problem running versions 1.1.1 and 1.2.0 on the same system. They will not interfere with each other's files. You can find download links for 1.2.0 at the bottom of this page.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system.
Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
== Changes since 1.1.1 ==
These are the main themes of the changes since 1.1.1. See further down for more details.
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* There is a completely new Blender integration, MPFB, with support for socket transfers, IK and Kinect
* The license has changed to (hopefully) be more clear and permissive.
* The toolset for creating assets (MakeClothes and MakeTarget) has been rewritten from scratch.
* There is a new tool "MakeSkin" for creating materials
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a new randomization functionality for generating large sets of randomized characters
* Improved internationalization support for non-ASCII characters (backported)
* Plugins in user space
* Plugins activation at runtime
* Improved tag sorting capabilities (Hotkey: ALT-F), including sticky tag provisions
* Tags for models (with configurable tag count)
* Show Name Tags instead of file names in the file loader.
* Saving model as target
* Real weight estimation
* Configurable location for the home folder
* MHX2 is bundled in the default installation
* Save thumbnails directly from the internal render engine
* There is a new installer for windows
* There is a new PPA for ubuntu. This PPA also offers builds of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds)
=== The upgraded codebase ===
The main focus of this release has been to modernize the code. In the prior version, large parts were written more than ten years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The final end of life for python 2.7 was january 1, 2020.
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
=== The new Blender integration, MPFB ===
[[File:Mpfbeevee.png|300px|thumb|right|One click import directly from MakeHuman, with improved skin shader]]
In blender it is now possible to fetch a character directly from a running instance of MakeHuman, without having to first save/export the character to a file.
The importer will talk with the makehuman instance and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses.
The process is almost instantaneous (a character with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Further, the importer supports improved skin features such as skin pores and SSS.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== License change ===
The license has changed to be more comprehensive and permissive. The full text of the new license can be found here: https://github.com/makehumancommunity/makehuman/blob/master/LICENSE.md
In summary, it has been made clear that assets included with and produced by makehuman are CC0 no matter how you got hold of them.
There is a description of the license change here: http://www.makehumancommunity.org/wiki/FAQ:What_changed_regarding_the_license_in_2020%3F
=== Upgraded toolset for creating assets ===
To be written
=== Assets can now be downloaded from within MakeHuman ===
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
=== Mass produce ===
To be written
=== A new windows installer ===
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
<br clear=all>
== Known issues ==
* While most of the graphics card incompatibilities should now be fixed, there may still be still parts of the program that cause problems with some integrated graphics cards. For potential remedies if you run into problems, see [[FAQ:MakeHuman_does_not_start]] and [[FAQ:The_interface_looks_broken]]
* MakeHuman is not compatible with PyQt later than 5.12. If you have a later version than 5.12 installed, scrolling will not work. Since Ubuntu 20.10 has shipped with 5.14 (which is incompatible), we have chosen to not provide a build for Ubuntu 20.10.
* There is no mac build. See http://www.makehumancommunity.org/wiki/FAQ:Is_there_a_mac_build%3F
* On Mint you need to explicitly install the plugins as they will not be automatically installed. With the ppa enabled, run "sudo apt-get install makehuman-community-plugins-assetdownload makehuman-community-plugins-socket makehuman-community-plugins-massproduce mhx2-makehuman-exchange"
* Toolset support for Blender 2.79 has been dropped. Tools such as MPFB, MakeClothes and MakeTarget are built for and tested with Blender 2.83 and later.
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
== Where to download ==
The following are links to where you can download beta 2:
You can download (link to page for windows download)
For linux, [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community there is a new PPA].
== Providing feedback and bug reports ==
As always with a beta release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums. But more formal information about bug trackers can be found here: http://www.makehumancommunity.org/content/bugtracker.html
baf10603056d60430095dd0b31c661cbee4aa6b6
1904
1903
2020-10-25T12:40:59Z
Joepal
14
/* Known issues */
wikitext
text/x-wiki
These are the release notes for 1.2.0, which is not yet released.
This is the final and stable release. It is what we now recommend everyone to use. See also [[FAQ: Which version of MakeHuman should I download?]]
If you are already using a recent nightly build however, there is no particular to switch to the stable release, as there have only been minor bug fixes lately.
== General ==
In most cases, there should be no problem running versions 1.1.1 and 1.2.0 on the same system. They will not interfere with each other's files. You can find download links for 1.2.0 at the bottom of this page.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system.
Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
== Changes since 1.1.1 ==
These are the main themes of the changes since 1.1.1. See further down for more details.
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* There is a completely new Blender integration, MPFB, with support for socket transfers, IK and Kinect
* The license has changed to (hopefully) be more clear and permissive.
* The toolset for creating assets (MakeClothes and MakeTarget) have been rewritten from scratch.
* There is a new tool "MakeSkin" for creating materials
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a new randomization functionality for generating large sets of randomized characters
* Improved internationalization support for non-ASCII characters (backported)
* Plugins in user space
* Plugins activation at runtime
* Improved tag sorting capabilities (Hotkey: ALT-F), including sticky tag provisions
* Tags for models (with configurable tag count)
* Show Name Tags instead of file names in the file loader.
* Saving model as target
* Real weight estimation
* Configurable location for the home folder
* MHX2 is bundled in the default installation
* Save thumbnails directly from the internal render engine
* There is a new installer for windows
* There is a new PPA for ubuntu. This PPA also offers builds of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds)
=== The upgraded codebase ===
The main focus of this release has been to modernize the code. In the prior version, large parts were written more than ten years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The final end of life for python 2.7 was january 1, 2020.
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
=== The new Blender integration, MPFB ===
[[File:Mpfbeevee.png|300px|thumb|right|One click import directly from MakeHuman, with improved skin shader]]
In blender it is now possible to fetch a character directly from a running instance of MakeHuman, without having to first save/export the character to a file.
The importer will talk with the makehuman instance and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses.
The process is almost instantaneous (a character with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Further, the importer supports improved skin features such as skin pores and SSS.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== License change ===
The license has changed to be more comprehensive and permissive. The full text of the new license can be found here: https://github.com/makehumancommunity/makehuman/blob/master/LICENSE.md
In summary, it has been made clear that assets included with and produced by makehuman are CC0 no matter how you got hold of them.
There is a description of the license change here: http://www.makehumancommunity.org/wiki/FAQ:What_changed_regarding_the_license_in_2020%3F
=== Upgraded toolset for creating assets ===
To be written
=== Assets can now be downloaded from within MakeHuman ===
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
=== Mass produce ===
To be written
=== A new windows installer ===
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
<br clear=all>
== Known issues ==
* While most of the graphics card incompatibilities should now be fixed, there may still be still parts of the program that cause problems with some integrated graphics cards. For potential remedies if you run into problems, see [[FAQ:MakeHuman_does_not_start]] and [[FAQ:The_interface_looks_broken]]
* MakeHuman is not compatible with PyQt later than 5.12. If you have a later version than 5.12 installed, scrolling will not work. Since Ubuntu 20.10 has shipped with 5.14 (which is incompatible), we have chosen to not provide a build for Ubuntu 20.10.
* There is no mac build. See http://www.makehumancommunity.org/wiki/FAQ:Is_there_a_mac_build%3F
* On Mint you need to explicitly install the plugins as they will not be automatically installed. With the ppa enabled, run "sudo apt-get install makehuman-community-plugins-assetdownload makehuman-community-plugins-socket makehuman-community-plugins-massproduce mhx2-makehuman-exchange"
* Toolset support for Blender 2.79 has been dropped. Tools such as MPFB, MakeClothes and MakeTarget are built for and tested with Blender 2.83 and later.
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
== Where to download ==
The following are links to where you can download beta 2:
You can download (link to page for windows download)
For linux, [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community there is a new PPA].
== Providing feedback and bug reports ==
As always with a beta release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums. But more formal information about bug trackers can be found here: http://www.makehumancommunity.org/content/bugtracker.html
6dd36afe6876f5497d0d8cce1a49454841e0c204
1903
1902
2020-10-25T12:38:50Z
Joepal
14
wikitext
text/x-wiki
These are the release notes for 1.2.0, which is not yet released.
This is the final and stable release. It is what we now recommend everyone to use. See also [[FAQ: Which version of MakeHuman should I download?]]
If you are already using a recent nightly build however, there is no particular to switch to the stable release, as there have only been minor bug fixes lately.
== General ==
In most cases, there should be no problem running versions 1.1.1 and 1.2.0 on the same system. They will not interfere with each other's files. You can find download links for 1.2.0 at the bottom of this page.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system.
Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
== Changes since 1.1.1 ==
These are the main themes of the changes since 1.1.1. See further down for more details.
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* There is a completely new Blender integration, MPFB, with support for socket transfers, IK and Kinect
* The license has changed to (hopefully) be more clear and permissive.
* The toolset for creating assets (MakeClothes and MakeTarget) have been rewritten from scratch.
* There is a new tool "MakeSkin" for creating materials
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a new randomization functionality for generating large sets of randomized characters
* Improved internationalization support for non-ASCII characters (backported)
* Plugins in user space
* Plugins activation at runtime
* Improved tag sorting capabilities (Hotkey: ALT-F), including sticky tag provisions
* Tags for models (with configurable tag count)
* Show Name Tags instead of file names in the file loader.
* Saving model as target
* Real weight estimation
* Configurable location for the home folder
* MHX2 is bundled in the default installation
* Save thumbnails directly from the internal render engine
* There is a new installer for windows
* There is a new PPA for ubuntu. This PPA also offers builds of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds)
=== The upgraded codebase ===
The main focus of this release has been to modernize the code. In the prior version, large parts were written more than ten years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The final end of life for python 2.7 was january 1, 2020.
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
=== The new Blender integration, MPFB ===
[[File:Mpfbeevee.png|300px|thumb|right|One click import directly from MakeHuman, with improved skin shader]]
In blender it is now possible to fetch a character directly from a running instance of MakeHuman, without having to first save/export the character to a file.
The importer will talk with the makehuman instance and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses.
The process is almost instantaneous (a character with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Further, the importer supports improved skin features such as skin pores and SSS.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== License change ===
The license has changed to be more comprehensive and permissive. The full text of the new license can be found here: https://github.com/makehumancommunity/makehuman/blob/master/LICENSE.md
In summary, it has been made clear that assets included with and produced by makehuman are CC0 no matter how you got hold of them.
There is a description of the license change here: http://www.makehumancommunity.org/wiki/FAQ:What_changed_regarding_the_license_in_2020%3F
=== Upgraded toolset for creating assets ===
To be written
=== Assets can now be downloaded from within MakeHuman ===
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
=== Mass produce ===
To be written
=== A new windows installer ===
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
<br clear=all>
== Known issues ==
* While most of the graphics card incompatibilities should now be fixed, there may still be still parts of the program that cause problems with some integrated graphics cards. For potential remedies if you run into problems, see [[FAQ:MakeHuman_does_not_start]] and [[FAQ:The_interface_looks_broken]]
* MakeHuman is not compatible with PyQt later than 5.12. If you have a later version than 5.12 installed, scrolling will not work. Since Ubuntu 20.10 has shipped with 5.14 (which is incompatible), we have chosen to not provide a build for Ubuntu 20.10.
* There is no mac build. See http://www.makehumancommunity.org/wiki/FAQ:Is_there_a_mac_build%3F
* On Mint you need to explicitly install the plugins as they will not be automatically installed. With the ppa enabled, run "sudo apt-get install makehuman-community-plugins-assetdownload makehuman-community-plugins-socket makehuman-community-plugins-massproduce mhx2-makehuman-exchange"
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
== Where to download ==
The following are links to where you can download beta 2:
You can download (link to page for windows download)
For linux, [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community there is a new PPA].
== Providing feedback and bug reports ==
As always with a beta release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums. But more formal information about bug trackers can be found here: http://www.makehumancommunity.org/content/bugtracker.html
ed73b536c210f9be16c0e7171e5f67e7dabb7dfb
1902
1901
2020-10-25T12:36:09Z
Joepal
14
/* Known issues */
wikitext
text/x-wiki
These are the release notes for 1.2.0, which is not yet released.
This is the final and stable release. It is what we now recommend everyone to use. See also [[FAQ: Which version of MakeHuman should I download?]]
If you are already using a recent nightly build however, there is no particular to switch to the stable release, as there have only been minor bug fixes lately.
== General ==
In most cases, there should be no problem running versions 1.1.1 and 1.2.0 on the same system. They will not interfere with each other's files. You can find download links for 1.2.0 at the bottom of this page.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system.
Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
== Changes since 1.1.1 ==
These are the main themes of the changes since 1.1.1. See further down for more details.
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* There is a completely new Blender integration, MPFB, with support for socket transfers, IK and Kinect
* The license has changed to (hopefully) be more clear and permissive.
* The toolset for creating assets (MakeClothes and MakeTarget) have been rewritten from scratch.
* There is a new tool "MakeSkin" for creating materials
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a new randomization functionality for generating large sets of randomized characters
* Improved internationalization support for non-ASCII characters (backported)
* Plugins in user space
* Plugins activation at runtime
* Improved tag sorting capabilities (Hotkey: ALT-F), including sticky tag provisions
* Tags for models (with configurable tag count)
* Show Name Tags instead of file names in the file loader.
* Saving model as target
* Real weight estimation
* Configurable location for the home folder
* MHX2 is bundled in the default installation
* Save thumbnails directly from the internal render engine
* There is a new installer for windows
* There is a new PPA for ubuntu. This PPA also offers builds of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds)
=== The upgraded codebase ===
The main focus of this release has been to modernize the code. In the prior version, large parts were written more than ten years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The final end of life for python 2.7 was january 1, 2020.
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
=== The new Blender integration, MPFB ===
[[File:Mpfbeevee.png|300px|thumb|right|One click import directly from MakeHuman, with improved skin shader]]
In blender it is now possible to fetch a character directly from a running instance of MakeHuman, without having to first save/export the character to a file.
The importer will talk with the makehuman instance and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses.
The process is almost instantaneous (a character with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Further, the importer supports improved skin features such as skin pores and SSS.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== License change ===
The license has changed to be more comprehensive and permissive. The full text of the new license can be found here: https://github.com/makehumancommunity/makehuman/blob/master/LICENSE.md
In summary, it has been made clear that assets included with and produced by makehuman are CC0 no matter how you got hold of them.
There is a description of the license change here: http://www.makehumancommunity.org/wiki/FAQ:What_changed_regarding_the_license_in_2020%3F
=== Upgraded toolset for creating assets ===
To be written
=== Assets can now be downloaded from within MakeHuman ===
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
=== Mass produce ===
To be written
=== A new windows installer ===
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
<br clear=all>
== Known issues ==
* While most of the graphics card incompatibilities should now be fixed, there may still be still parts of the program that cause problems with some integrated graphics cards. For potential remedies if you run into problems, see [[FAQ:MakeHuman_does_not_start]] and [[FAQ:The_interface_looks_broken]]
* MakeHuman is not compatible with PyQt later than 5.12. If you have a later version than 5.12 installed, scrolling will not work. Since Ubuntu 20.10 has shipped with 5.14 (which is incompatible), we have chosen to not provide a build for Ubuntu 20.10.
* There is no mac build. See http://www.makehumancommunity.org/wiki/FAQ:Is_there_a_mac_build%3F
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
=== Running from source ===
The source code is available at [https://github.com/makehumancommunity/makehuman https://github.com/makehumancommunity/makehuman]. You'll also find basic instructions on how to use the source code on this page.
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 to 5.12.x. '''5.14 will not work'''
* NumPy: 1.13.0 or higher
* PyOpenGL: Any modern version will work, including the one used for MakeHuman 1.1.x
=== Ubuntu ===
In order to fulfill the minimum dependency requirements listed above, you will need Ubuntu 18.04 or later. For earlier Ubuntu versions, you would have use backports of the dependencies, as they are not available in the default installation.
The PPA for this build is here: [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community ppa:makehuman-official/makehuman-community].
To enable it, run:
sudo add-apt-repository ppa:makehuman-official/makehuman-community
sudo apt-get update
sudo apt-get install makehuman-community
=== Mint ===
The instructions for Ubuntu apply, but you will have to also explicitly install all plugins (whereas these will be installed automatically on Ubuntu)
sudo apt-get install makehuman-community-plugins-assetdownload makehuman-community-plugins-socket makehuman-community-plugins-massproduce mhx2-makehuman-exchange
== Other bundled functionality ==
Apart from the above, some other functionality that previously had to be downloaded separately is now bundled:
=== MHX2 ===
MHX2 is now enabled per default in MakeHuman. The blender side of MHX2 can be downloaded from http://www.makehumancommunity.org/content/plugins.html
=== MHAPI ===
MHAPI (a library with convenience calls for making addons for MakeHuman) is now included and enabled per default.
== Where to download ==
The following are links to where you can download beta 2:
You can download (link to page for windows download)
For linux, [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community there is a new PPA].
== Providing feedback and bug reports ==
As always with a beta release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums. But more formal information about bug trackers can be found here: http://www.makehumancommunity.org/content/bugtracker.html
d394858235f74e23ca229cbf049c9502df8eaefc
1901
1899
2020-10-25T12:32:41Z
Joepal
14
wikitext
text/x-wiki
These are the release notes for 1.2.0, which is not yet released.
This is the final and stable release. It is what we now recommend everyone to use. See also [[FAQ: Which version of MakeHuman should I download?]]
If you are already using a recent nightly build however, there is no particular to switch to the stable release, as there have only been minor bug fixes lately.
== General ==
In most cases, there should be no problem running versions 1.1.1 and 1.2.0 on the same system. They will not interfere with each other's files. You can find download links for 1.2.0 at the bottom of this page.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system.
Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
== Changes since 1.1.1 ==
These are the main themes of the changes since 1.1.1. See further down for more details.
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* There is a completely new Blender integration, MPFB, with support for socket transfers, IK and Kinect
* The license has changed to (hopefully) be more clear and permissive.
* The toolset for creating assets (MakeClothes and MakeTarget) have been rewritten from scratch.
* There is a new tool "MakeSkin" for creating materials
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a new randomization functionality for generating large sets of randomized characters
* Improved internationalization support for non-ASCII characters (backported)
* Plugins in user space
* Plugins activation at runtime
* Improved tag sorting capabilities (Hotkey: ALT-F), including sticky tag provisions
* Tags for models (with configurable tag count)
* Show Name Tags instead of file names in the file loader.
* Saving model as target
* Real weight estimation
* Configurable location for the home folder
* MHX2 is bundled in the default installation
* Save thumbnails directly from the internal render engine
* There is a new installer for windows
* There is a new PPA for ubuntu. This PPA also offers builds of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds)
=== The upgraded codebase ===
The main focus of this release has been to modernize the code. In the prior version, large parts were written more than ten years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The final end of life for python 2.7 was january 1, 2020.
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
=== The new Blender integration, MPFB ===
[[File:Mpfbeevee.png|300px|thumb|right|One click import directly from MakeHuman, with improved skin shader]]
In blender it is now possible to fetch a character directly from a running instance of MakeHuman, without having to first save/export the character to a file.
The importer will talk with the makehuman instance and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses.
The process is almost instantaneous (a character with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Further, the importer supports improved skin features such as skin pores and SSS.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== License change ===
The license has changed to be more comprehensive and permissive. The full text of the new license can be found here: https://github.com/makehumancommunity/makehuman/blob/master/LICENSE.md
In summary, it has been made clear that assets included with and produced by makehuman are CC0 no matter how you got hold of them.
There is a description of the license change here: http://www.makehumancommunity.org/wiki/FAQ:What_changed_regarding_the_license_in_2020%3F
=== Upgraded toolset for creating assets ===
To be written
=== Assets can now be downloaded from within MakeHuman ===
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
=== Mass produce ===
To be written
=== A new windows installer ===
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
<br clear=all>
== Known issues ==
* The FBX export is still incompatible with some third part software.
* While most of the graphics card incompatibilities should now be fixed, there may still be still parts of the program that cause problems with some integrated graphics cards.
* There is no build for OSX
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
=== Running from source ===
The source code is available at [https://github.com/makehumancommunity/makehuman https://github.com/makehumancommunity/makehuman]. You'll also find basic instructions on how to use the source code on this page.
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 to 5.12.x. '''5.14 will not work'''
* NumPy: 1.13.0 or higher
* PyOpenGL: Any modern version will work, including the one used for MakeHuman 1.1.x
=== Ubuntu ===
In order to fulfill the minimum dependency requirements listed above, you will need Ubuntu 18.04 or later. For earlier Ubuntu versions, you would have use backports of the dependencies, as they are not available in the default installation.
The PPA for this build is here: [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community ppa:makehuman-official/makehuman-community].
To enable it, run:
sudo add-apt-repository ppa:makehuman-official/makehuman-community
sudo apt-get update
sudo apt-get install makehuman-community
=== Mint ===
The instructions for Ubuntu apply, but you will have to also explicitly install all plugins (whereas these will be installed automatically on Ubuntu)
sudo apt-get install makehuman-community-plugins-assetdownload makehuman-community-plugins-socket makehuman-community-plugins-massproduce mhx2-makehuman-exchange
== Other bundled functionality ==
Apart from the above, some other functionality that previously had to be downloaded separately is now bundled:
=== MHX2 ===
MHX2 is now enabled per default in MakeHuman. The blender side of MHX2 can be downloaded from http://www.makehumancommunity.org/content/plugins.html
=== MHAPI ===
MHAPI (a library with convenience calls for making addons for MakeHuman) is now included and enabled per default.
== Where to download ==
The following are links to where you can download beta 2:
You can download (link to page for windows download)
For linux, [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community there is a new PPA].
== Providing feedback and bug reports ==
As always with a beta release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums. But more formal information about bug trackers can be found here: http://www.makehumancommunity.org/content/bugtracker.html
a6e172fbb421349daccc61cc4627f756c190d03e
1899
1898
2020-10-25T12:26:10Z
Joepal
14
wikitext
text/x-wiki
These are the release notes for 1.2.0, which is not yet released.
This is the final and stable release. It is what we now recommend everyone to use. See also [[FAQ: Which version of MakeHuman should I download?]]
If you are already using a recent nightly build however, there is no particular to switch to the stable release, as there have only been minor bug fixes lately.
== General ==
In most cases, there should be no problem running versions 1.1.1 and 1.2.0 on the same system. They will not interfere with each other's files. You can find download links for 1.2.0 at the bottom of this page.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system.
Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
== Changes since 1.1.1 ==
These are the main themes of the changes since 1.1.1. See further down for more details.
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* There is a completely new Blender integration, MPFB, with support for socket transfers, IK and Kinect
* The license has changed to (hopefully) be more clear and permissive.
* The toolset for creating assets (MakeClothes and MakeTarget) have been rewritten from scratch.
* There is a new tool "MakeSkin" for creating materials
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a new randomization functionality for generating large sets of randomized characters
* Improved internationalization support for non-ASCII characters (backported)
* Plugins in user space
* Plugins activation at runtime
* Improved tag sorting capabilities (Hotkey: ALT-F), including sticky tag provisions
* Tags for models (with configurable tag count)
* Show Name Tags instead of file names in the file loader.
* Saving model as target
* Real weight estimation
* Configurable location for the home folder
* MHX2 is bundled in the default installation
* Save thumbnails directly from the internal render engine
* There is a new installer for windows
* There is a new PPA for ubuntu. This PPA also offers builds of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds)
=== The upgraded codebase ===
The main focus of this release has been to modernize the code. In the prior version, large parts were written more than ten years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The final end of life for python 2.7 was january 1, 2020.
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
=== The new Blender integration, MPFB ===
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
In blender it is now possible to fetch a character directly from a running instance of MakeHuman, without having to first save/export the character to a file.
The importer will talk with the makehuman instance and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses.
The process is almost instantaneous (a character with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Further, the importer supports improved skin features such as skin pores and SSS.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== License change ===
The license has changed to be more comprehensive and permissive. The full text of the new license can be found here: https://github.com/makehumancommunity/makehuman/blob/master/LICENSE.md
In summary, it has been made clear that assets included with and produced by makehuman are CC0 no matter how you got hold of them.
There is a description of the license change here: http://www.makehumancommunity.org/wiki/FAQ:What_changed_regarding_the_license_in_2020%3F
=== Upgraded toolset for creating assets ===
To be written
=== Assets can now be downloaded from within MakeHuman ===
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
=== Mass produce ===
To be written
=== A new windows installer ===
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
<br clear=all>
== Known issues ==
* The FBX export is still incompatible with some third part software.
* While most of the graphics card incompatibilities should now be fixed, there may still be still parts of the program that cause problems with some integrated graphics cards.
* There is no build for OSX
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
=== Running from source ===
The source code is available at [https://github.com/makehumancommunity/makehuman https://github.com/makehumancommunity/makehuman]. You'll also find basic instructions on how to use the source code on this page.
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 to 5.12.x. '''5.14 will not work'''
* NumPy: 1.13.0 or higher
* PyOpenGL: Any modern version will work, including the one used for MakeHuman 1.1.x
=== Ubuntu ===
In order to fulfill the minimum dependency requirements listed above, you will need Ubuntu 18.04 or later. For earlier Ubuntu versions, you would have use backports of the dependencies, as they are not available in the default installation.
The PPA for this build is here: [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community ppa:makehuman-official/makehuman-community].
To enable it, run:
sudo add-apt-repository ppa:makehuman-official/makehuman-community
sudo apt-get update
sudo apt-get install makehuman-community
=== Mint ===
The instructions for Ubuntu apply, but you will have to also explicitly install all plugins (whereas these will be installed automatically on Ubuntu)
sudo apt-get install makehuman-community-plugins-assetdownload makehuman-community-plugins-socket makehuman-community-plugins-massproduce mhx2-makehuman-exchange
== Other bundled functionality ==
Apart from the above, some other functionality that previously had to be downloaded separately is now bundled:
=== MHX2 ===
MHX2 is now enabled per default in MakeHuman. The blender side of MHX2 can be downloaded from http://www.makehumancommunity.org/content/plugins.html
=== MHAPI ===
MHAPI (a library with convenience calls for making addons for MakeHuman) is now included and enabled per default.
== Where to download ==
The following are links to where you can download beta 2:
You can download (link to page for windows download)
For linux, [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community there is a new PPA].
== Providing feedback and bug reports ==
As always with a beta release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums. But more formal information about bug trackers can be found here: http://www.makehumancommunity.org/content/bugtracker.html
7811a3ba98157ae5d30aff2a6bc6c6e031111e41
1898
1897
2020-10-25T12:24:51Z
Joepal
14
wikitext
text/x-wiki
These are the release notes for 1.2.0, which is not yet released.
This is the final and stable release. It is what we now recommend everyone to use. See also [[FAQ: Which version of MakeHuman should I download?]]
If you are already using a recent nightly build however, there is no particular to switch to the stable release, as there have only been minor bug fixes lately.
== General ==
In most cases, there should be no problem running versions 1.1.1 and 1.2.0 on the same system. They will not interfere with each other's files. You can find download links for 1.2.0 at the bottom of this page.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
Due to the rapid evolution of the blender plugins (MPFB, MakeTarget, MakeClothes...) we're not listing these changes here. See the commit log in the respective git repositories instead:
* [https://github.com/makehumancommunity/makehuman-plugin-for-blender/commits/master MakeHuman Plugin for Blender (MPFB)]
* [https://github.com/makehumancommunity/community-plugins-makeclothes/commits/master MakeClothes 2]
* [https://github.com/makehumancommunity/community-plugins-maketarget/commits/master MakeTarget 2]
* [https://github.com/makehumancommunity/community-plugins-makeskin/commits/master MakeSkin]
== Changes since 1.1.1 ==
These are the main themes of the changes since 1.1.1. See further down for more details.
* The license has changed to (hopefully) be more clear and permissive.
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* There is a completely new Blender integration, MPFB, with support for socket transfers, IK and Kinect
* The toolset for creating assets (MakeClothes and MakeTarget) have been rewritten from scratch.
* There is a new tool "MakeSkin" for creating materials
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a new randomization functionality for generating large sets of randomized characters
* Improved internationalization support for non-ASCII characters (backported)
* Plugins in user space
* Plugins activation at runtime
* Improved tag sorting capabilities (Hotkey: ALT-F), including sticky tag provisions
* Tags for models (with configurable tag count)
* Show Name Tags instead of file names in the file loader.
* Saving model as target
* Real weight estimation
* Configurable location for the home folder
* MHX2 is bundled in the default installation
* Save thumbnails directly from the internal render engine
* There is a new installer for windows
* There is a new PPA for ubuntu. This PPA also offers builds of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds)
=== License change ===
The license has changed to be more comprehensive and permissive. The full text of the new license can be found here: https://github.com/makehumancommunity/makehuman/blob/master/LICENSE.md
In summary, it has been made clear that assets included with and produced by makehuman are CC0 no matter how you got hold of them.
There is a description of the license change here: http://www.makehumancommunity.org/wiki/FAQ:What_changed_regarding_the_license_in_2020%3F
=== The upgraded codebase ===
The main focus of this release has been to modernize the code. In the prior version, large parts were written more than ten years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The final end of life for python 2.7 was january 1, 2020.
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
=== The new Blender integration, MPFB ===
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
In blender it is now possible to fetch a character directly from a running instance of MakeHuman, without having to first save/export the character to a file.
The importer will talk with the makehuman instance and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses.
The process is almost instantaneous (a character with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Further, the importer supports improved skin features such as skin pores and SSS.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== Upgraded toolset for creating assets ===
To be written
=== Assets can now be downloaded from within MakeHuman ===
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
=== Mass produce ===
To be written
=== A new windows installer ===
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
<br clear=all>
== Known issues ==
* The FBX export is still incompatible with some third part software.
* While most of the graphics card incompatibilities should now be fixed, there may still be still parts of the program that cause problems with some integrated graphics cards.
* There is no build for OSX
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
=== Running from source ===
The source code is available at [https://github.com/makehumancommunity/makehuman https://github.com/makehumancommunity/makehuman]. You'll also find basic instructions on how to use the source code on this page.
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 to 5.12.x. '''5.14 will not work'''
* NumPy: 1.13.0 or higher
* PyOpenGL: Any modern version will work, including the one used for MakeHuman 1.1.x
=== Ubuntu ===
In order to fulfill the minimum dependency requirements listed above, you will need Ubuntu 18.04 or later. For earlier Ubuntu versions, you would have use backports of the dependencies, as they are not available in the default installation.
The PPA for this build is here: [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community ppa:makehuman-official/makehuman-community].
To enable it, run:
sudo add-apt-repository ppa:makehuman-official/makehuman-community
sudo apt-get update
sudo apt-get install makehuman-community
=== Mint ===
The instructions for Ubuntu apply, but you will have to also explicitly install all plugins (whereas these will be installed automatically on Ubuntu)
sudo apt-get install makehuman-community-plugins-assetdownload makehuman-community-plugins-socket makehuman-community-plugins-massproduce mhx2-makehuman-exchange
== Other bundled functionality ==
Apart from the above, some other functionality that previously had to be downloaded separately is now bundled:
=== MHX2 ===
MHX2 is now enabled per default in MakeHuman. The blender side of MHX2 can be downloaded from http://www.makehumancommunity.org/content/plugins.html
=== MHAPI ===
MHAPI (a library with convenience calls for making addons for MakeHuman) is now included and enabled per default.
== Where to download ==
The following are links to where you can download beta 2:
You can download (link to page for windows download)
For linux, [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community there is a new PPA].
== Providing feedback and bug reports ==
As always with a beta release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums. But more formal information about bug trackers can be found here: http://www.makehumancommunity.org/content/bugtracker.html
32d2ef78d0bbb26ed2d905569b1e12e8b2af2ba8
1897
1896
2020-10-25T12:24:06Z
Joepal
14
wikitext
text/x-wiki
These are the release notes for 1.2.0, which is not yet released.
This is the final and stable release. It is what we now recommend everyone to use. See also [[FAQ: Which version of MakeHuman should I download?]]
If you are already using a recent nightly build however, there is no particular to switch to the stable release, as there have only been minor bug fixes lately.
== General ==
In most cases, there should be no problem running versions 1.1.1 and 1.2.0 on the same system. They will not interfere with each other's files. You can find download links for 1.2.0 at the bottom of this page.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
Due to the rapid evolution of the blender plugins (MPFB, MakeTarget, MakeClothes...) we're not listing these changes here. See the commit log in the respective git repositories instead:
* [https://github.com/makehumancommunity/makehuman-plugin-for-blender/commits/master MakeHuman Plugin for Blender (MPFB)]
* [https://github.com/makehumancommunity/community-plugins-makeclothes/commits/master MakeClothes 2]
* [https://github.com/makehumancommunity/community-plugins-maketarget/commits/master MakeTarget 2]
* [https://github.com/makehumancommunity/community-plugins-makeskin/commits/master MakeSkin]
== Changes since 1.1.1 ==
These are the main themes of the changes since 1.1.1. See further down for more details.
* The license has changed to (hopefully) be more clear and permissive.
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* There is a completely new Blender integration, MPFB, with support for socket transfers, IK and Kinect
* The toolset for creating assets (MakeClothes and MakeTarget) have been rewritten from scratch.
* There is a new tool "MakeSkin" for creating materials
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a new randomization functionality for generating large sets of randomized characters
* Improved internationalization support for non-ASCII characters (backported)
* Plugins in user space
* Plugins activation at runtime
* Improved tag sorting capabilities (Hotkey: ALT-F), including sticky tag provisions
* Tags for models (with configurable tag count)
* Show Name Tags instead of file names in the file loader.
* Saving model as target
* Real weight estimation
* Configurable location for the home folder
* MHX2 is bundled in the default installation
* Save thumbnails directly from the internal render engine
* There is a new installer for windows
* There is a new PPA for ubuntu. This PPA also offers builds of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds)
=== License change ===
The license has changed to be more comprehensive and permissive. The full text of the new license can be found here: https://github.com/makehumancommunity/makehuman/blob/master/LICENSE.md
In summary, it has been made clear that assets included with and produced by makehuman are CC0 no matter how you got hold of them.
There is a description of the license change here: http://www.makehumancommunity.org/wiki/FAQ:What_changed_regarding_the_license_in_2020%3F
=== The upgraded codebase ===
The main focus of this release has been to modernize the code. In the prior version, large parts were written more than ten years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The final end of life for python 2.7 was january 1, 2020.
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
=== The new Blender integration, MPFB ===
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
In blender it is now possible to fetch a character directly from a running instance of MakeHuman, without having to first save/export the character to a file.
The importer will talk with the makehuman instance and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses.
The process is almost instantaneous (a character with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Further, the importer supports improved skin features such as skin pores and SSS.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== Upgraded toolset for creating assets ===
To be written
=== Assets can now be downloaded from within MakeHuman ===
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
=== Mass produce ===
To be written
=== A new windows installer ===
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
== Known issues ==
* The FBX export is still incompatible with some third part software.
* While most of the graphics card incompatibilities should now be fixed, there may still be still parts of the program that cause problems with some integrated graphics cards.
* There is no build for OSX
<br clear=all>
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
=== Running from source ===
The source code is available at [https://github.com/makehumancommunity/makehuman https://github.com/makehumancommunity/makehuman]. You'll also find basic instructions on how to use the source code on this page.
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 to 5.12.x. '''5.14 will not work'''
* NumPy: 1.13.0 or higher
* PyOpenGL: Any modern version will work, including the one used for MakeHuman 1.1.x
=== Ubuntu ===
In order to fulfill the minimum dependency requirements listed above, you will need Ubuntu 18.04 or later. For earlier Ubuntu versions, you would have use backports of the dependencies, as they are not available in the default installation.
The PPA for this build is here: [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community ppa:makehuman-official/makehuman-community].
To enable it, run:
sudo add-apt-repository ppa:makehuman-official/makehuman-community
sudo apt-get update
sudo apt-get install makehuman-community
=== Mint ===
The instructions for Ubuntu apply, but you will have to also explicitly install all plugins (whereas these will be installed automatically on Ubuntu)
sudo apt-get install makehuman-community-plugins-assetdownload makehuman-community-plugins-socket makehuman-community-plugins-massproduce mhx2-makehuman-exchange
== Other bundled functionality ==
Apart from the above, some other functionality that previously had to be downloaded separately is now bundled:
=== MHX2 ===
MHX2 is now enabled per default in MakeHuman. The blender side of MHX2 can be downloaded from http://www.makehumancommunity.org/content/plugins.html
=== MHAPI ===
MHAPI (a library with convenience calls for making addons for MakeHuman) is now included and enabled per default.
== Where to download ==
The following are links to where you can download beta 2:
You can download (link to page for windows download)
For linux, [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community there is a new PPA].
== Providing feedback and bug reports ==
As always with a beta release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums. But more formal information about bug trackers can be found here: http://www.makehumancommunity.org/content/bugtracker.html
a4e5e2faddc4c13e335f9e268da893b892d86688
1896
1895
2020-10-25T12:23:09Z
Joepal
14
wikitext
text/x-wiki
These are the release notes for 1.2.0, which is not yet released.
This is the final and stable release. It is what we now recommend everyone to use. See also [[FAQ: Which version of MakeHuman should I download?]]
If you are already using a recent nightly build however, there is no particular to switch to the stable release, as there have only been minor bug fixes lately.
== General ==
In most cases, there should be no problem running versions 1.1.1 and 1.2.0 on the same system. They will not interfere with each other's files. You can find download links for 1.2.0 at the bottom of this page.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
Due to the rapid evolution of the blender plugins (MPFB, MakeTarget, MakeClothes...) we're not listing these changes here. See the commit log in the respective git repositories instead:
* [https://github.com/makehumancommunity/makehuman-plugin-for-blender/commits/master MakeHuman Plugin for Blender (MPFB)]
* [https://github.com/makehumancommunity/community-plugins-makeclothes/commits/master MakeClothes 2]
* [https://github.com/makehumancommunity/community-plugins-maketarget/commits/master MakeTarget 2]
* [https://github.com/makehumancommunity/community-plugins-makeskin/commits/master MakeSkin]
== Changes since 1.1.1 ==
These are the main themes of the changes since 1.1.1. See further down for more details.
* The license has changed to (hopefully) be more clear and permissive.
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* There is a completely new Blender integration, MPFB, with support for socket transfers, IK and Kinect
* The toolset for creating assets (MakeClothes and MakeTarget) have been rewritten from scratch.
* There is a new tool "MakeSkin" for creating materials
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a new randomization functionality for generating large sets of randomized characters
* Improved internationalization support for non-ASCII characters (backported)
* Plugins in user space
* Plugins activation at runtime
* Improved tag sorting capabilities (Hotkey: ALT-F), including sticky tag provisions
* Tags for models (with configurable tag count)
* Show Name Tags instead of file names in the file loader.
* Saving model as target
* Real weight estimation
* Configurable location for the home folder
* MHX2 is bundled in the default installation
* Save thumbnails directly from the internal render engine
* There is a new installer for windows
* There is a new PPA for ubuntu. This PPA also offers builds of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds)
=== License change ===
The license has changed to be more comprehensive and permissive. The full text of the new license can be found here: https://github.com/makehumancommunity/makehuman/blob/master/LICENSE.md
In summary, it has been made clear that assets included with and produced by makehuman are CC0 no matter how you got hold of them.
There is a description of the license change here: http://www.makehumancommunity.org/wiki/FAQ:What_changed_regarding_the_license_in_2020%3F
=== The upgraded codebase ===
The main focus of this release has been to modernize the code. In the prior version, large parts were written more than ten years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The final end of life for python 2.7 was january 1, 2020.
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
=== The new Blender integration, MPFB ===
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
In blender it is now possible to fetch a character directly from a running instance of MakeHuman, without having to first save/export the character to a file.
The importer will talk with the makehuman instance and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses.
The process is almost instantaneous (a character with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Further, the importer supports improved skin features such as skin pores and SSS.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== Upgraded toolset for creating assets ===
To be written
=== Assets can now be downloaded from within MakeHuman ===
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
=== Mass produce ===
To be written
=== A new windows installer ===
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
== Known issues ==
* The FBX export is still incompatible with some third part software.
* While most of the graphics card incompatibilities should now be fixed, there may still be still parts of the program that cause problems with some integrated graphics cards.
* There is no build for OSX
<br clear="all">
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
=== Running from source ===
The source code is available at [https://github.com/makehumancommunity/makehuman https://github.com/makehumancommunity/makehuman]. You'll also find basic instructions on how to use the source code on this page.
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 to 5.12.x. '''5.14 will not work'''
* NumPy: 1.13.0 or higher
* PyOpenGL: Any modern version will work, including the one used for MakeHuman 1.1.x
=== Ubuntu ===
In order to fulfill the minimum dependency requirements listed above, you will need Ubuntu 18.04 or later. For earlier Ubuntu versions, you would have use backports of the dependencies, as they are not available in the default installation.
The PPA for this build is here: [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community ppa:makehuman-official/makehuman-community].
To enable it, run:
sudo add-apt-repository ppa:makehuman-official/makehuman-community
sudo apt-get update
sudo apt-get install makehuman-community
=== Mint ===
The instructions for Ubuntu apply, but you will have to also explicitly install all plugins (whereas these will be installed automatically on Ubuntu)
sudo apt-get install makehuman-community-plugins-assetdownload makehuman-community-plugins-socket makehuman-community-plugins-massproduce mhx2-makehuman-exchange
== Other bundled functionality ==
Apart from the above, some other functionality that previously had to be downloaded separately is now bundled:
=== MHX2 ===
MHX2 is now enabled per default in MakeHuman. The blender side of MHX2 can be downloaded from http://www.makehumancommunity.org/content/plugins.html
=== MHAPI ===
MHAPI (a library with convenience calls for making addons for MakeHuman) is now included and enabled per default.
== Where to download ==
The following are links to where you can download beta 2:
You can download (link to page for windows download)
For linux, [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community there is a new PPA].
== Providing feedback and bug reports ==
As always with a beta release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums. But more formal information about bug trackers can be found here: http://www.makehumancommunity.org/content/bugtracker.html
f76387175e12cb23f4aa9b0ada19fc753530f69c
1895
1894
2020-10-25T12:21:38Z
Joepal
14
/* Assets can now be downloaded from within MakeHuman = */
wikitext
text/x-wiki
These are the release notes for 1.2.0, which is not yet released.
This is the final and stable release. It is what we now recommend everyone to use. See also [[FAQ: Which version of MakeHuman should I download?]]
If you are already using a recent nightly build however, there is no particular to switch to the stable release, as there have only been minor bug fixes lately.
== General ==
In most cases, there should be no problem running versions 1.1.1 and 1.2.0 on the same system. They will not interfere with each other's files. You can find download links for 1.2.0 at the bottom of this page.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
Due to the rapid evolution of the blender plugins (MPFB, MakeTarget, MakeClothes...) we're not listing these changes here. See the commit log in the respective git repositories instead:
* [https://github.com/makehumancommunity/makehuman-plugin-for-blender/commits/master MakeHuman Plugin for Blender (MPFB)]
* [https://github.com/makehumancommunity/community-plugins-makeclothes/commits/master MakeClothes 2]
* [https://github.com/makehumancommunity/community-plugins-maketarget/commits/master MakeTarget 2]
* [https://github.com/makehumancommunity/community-plugins-makeskin/commits/master MakeSkin]
== Changes since 1.1.1 ==
These are the main themes of the changes since 1.1.1. See further down for more details.
* The license has changed to (hopefully) be more clear and permissive.
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* There is a completely new Blender integration, MPFB, with support for socket transfers, IK and Kinect
* The toolset for creating assets (MakeClothes and MakeTarget) have been rewritten from scratch.
* There is a new tool "MakeSkin" for creating materials
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a new randomization functionality for generating large sets of randomized characters
* Improved internationalization support for non-ASCII characters (backported)
* Plugins in user space
* Plugins activation at runtime
* Improved tag sorting capabilities (Hotkey: ALT-F), including sticky tag provisions
* Tags for models (with configurable tag count)
* Show Name Tags instead of file names in the file loader.
* Saving model as target
* Real weight estimation
* Configurable location for the home folder
* MHX2 is bundled in the default installation
* Save thumbnails directly from the internal render engine
* There is a new installer for windows
* There is a new PPA for ubuntu. This PPA also offers builds of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds)
=== License change ===
The license has changed to be more comprehensive and permissive. The full text of the new license can be found here: https://github.com/makehumancommunity/makehuman/blob/master/LICENSE.md
In summary, it has been made clear that assets included with and produced by makehuman are CC0 no matter how you got hold of them.
There is a description of the license change here: http://www.makehumancommunity.org/wiki/FAQ:What_changed_regarding_the_license_in_2020%3F
=== The upgraded codebase ===
The main focus of this release has been to modernize the code. In the prior version, large parts were written more than ten years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The final end of life for python 2.7 was january 1, 2020.
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
=== The new Blender integration, MPFB ===
In blender it is now possible to fetch a character directly from a running instance of MakeHuman, without having to first save/export the character to a file.
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
The importer will talk with the makehuman instance and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses.
The process is almost instantaneous (a character with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Further, the importer supports improved skin features such as skin pores and SSS.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== Upgraded toolset for creating assets ===
To be written
=== Assets can now be downloaded from within MakeHuman ===
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
=== Mass produce ===
To be written
=== A new windows installer ===
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
== Known issues ==
* The FBX export is still incompatible with some third part software.
* While most of the graphics card incompatibilities should now be fixed, there may still be still parts of the program that cause problems with some integrated graphics cards.
* There is no build for OSX
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
=== Running from source ===
The source code is available at [https://github.com/makehumancommunity/makehuman https://github.com/makehumancommunity/makehuman]. You'll also find basic instructions on how to use the source code on this page.
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 to 5.12.x. '''5.14 will not work'''
* NumPy: 1.13.0 or higher
* PyOpenGL: Any modern version will work, including the one used for MakeHuman 1.1.x
=== Ubuntu ===
In order to fulfill the minimum dependency requirements listed above, you will need Ubuntu 18.04 or later. For earlier Ubuntu versions, you would have use backports of the dependencies, as they are not available in the default installation.
The PPA for this build is here: [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community ppa:makehuman-official/makehuman-community].
To enable it, run:
sudo add-apt-repository ppa:makehuman-official/makehuman-community
sudo apt-get update
sudo apt-get install makehuman-community
=== Mint ===
The instructions for Ubuntu apply, but you will have to also explicitly install all plugins (whereas these will be installed automatically on Ubuntu)
sudo apt-get install makehuman-community-plugins-assetdownload makehuman-community-plugins-socket makehuman-community-plugins-massproduce mhx2-makehuman-exchange
== Other bundled functionality ==
Apart from the above, some other functionality that previously had to be downloaded separately is now bundled:
=== MHX2 ===
MHX2 is now enabled per default in MakeHuman. The blender side of MHX2 can be downloaded from http://www.makehumancommunity.org/content/plugins.html
=== MHAPI ===
MHAPI (a library with convenience calls for making addons for MakeHuman) is now included and enabled per default.
== Where to download ==
The following are links to where you can download beta 2:
You can download (link to page for windows download)
For linux, [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community there is a new PPA].
== Providing feedback and bug reports ==
As always with a beta release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums. But more formal information about bug trackers can be found here: http://www.makehumancommunity.org/content/bugtracker.html
d2acf69fdba1553e2192e31147e6d541ea44dec1
1894
1893
2020-10-25T12:21:09Z
Joepal
14
/* Assets can now be downloaded from within MakeHuman = */
wikitext
text/x-wiki
These are the release notes for 1.2.0, which is not yet released.
This is the final and stable release. It is what we now recommend everyone to use. See also [[FAQ: Which version of MakeHuman should I download?]]
If you are already using a recent nightly build however, there is no particular to switch to the stable release, as there have only been minor bug fixes lately.
== General ==
In most cases, there should be no problem running versions 1.1.1 and 1.2.0 on the same system. They will not interfere with each other's files. You can find download links for 1.2.0 at the bottom of this page.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
Due to the rapid evolution of the blender plugins (MPFB, MakeTarget, MakeClothes...) we're not listing these changes here. See the commit log in the respective git repositories instead:
* [https://github.com/makehumancommunity/makehuman-plugin-for-blender/commits/master MakeHuman Plugin for Blender (MPFB)]
* [https://github.com/makehumancommunity/community-plugins-makeclothes/commits/master MakeClothes 2]
* [https://github.com/makehumancommunity/community-plugins-maketarget/commits/master MakeTarget 2]
* [https://github.com/makehumancommunity/community-plugins-makeskin/commits/master MakeSkin]
== Changes since 1.1.1 ==
These are the main themes of the changes since 1.1.1. See further down for more details.
* The license has changed to (hopefully) be more clear and permissive.
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* There is a completely new Blender integration, MPFB, with support for socket transfers, IK and Kinect
* The toolset for creating assets (MakeClothes and MakeTarget) have been rewritten from scratch.
* There is a new tool "MakeSkin" for creating materials
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a new randomization functionality for generating large sets of randomized characters
* Improved internationalization support for non-ASCII characters (backported)
* Plugins in user space
* Plugins activation at runtime
* Improved tag sorting capabilities (Hotkey: ALT-F), including sticky tag provisions
* Tags for models (with configurable tag count)
* Show Name Tags instead of file names in the file loader.
* Saving model as target
* Real weight estimation
* Configurable location for the home folder
* MHX2 is bundled in the default installation
* Save thumbnails directly from the internal render engine
* There is a new installer for windows
* There is a new PPA for ubuntu. This PPA also offers builds of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds)
=== License change ===
The license has changed to be more comprehensive and permissive. The full text of the new license can be found here: https://github.com/makehumancommunity/makehuman/blob/master/LICENSE.md
In summary, it has been made clear that assets included with and produced by makehuman are CC0 no matter how you got hold of them.
There is a description of the license change here: http://www.makehumancommunity.org/wiki/FAQ:What_changed_regarding_the_license_in_2020%3F
=== The upgraded codebase ===
The main focus of this release has been to modernize the code. In the prior version, large parts were written more than ten years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The final end of life for python 2.7 was january 1, 2020.
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
=== The new Blender integration, MPFB ===
In blender it is now possible to fetch a character directly from a running instance of MakeHuman, without having to first save/export the character to a file.
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
The importer will talk with the makehuman instance and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses.
The process is almost instantaneous (a character with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Further, the importer supports improved skin features such as skin pores and SSS.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== Upgraded toolset for creating assets ===
To be written
=== Assets can now be downloaded from within MakeHuman ===
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
<br clear=all>
=== Mass produce ===
To be written
=== A new windows installer ===
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
== Known issues ==
* The FBX export is still incompatible with some third part software.
* While most of the graphics card incompatibilities should now be fixed, there may still be still parts of the program that cause problems with some integrated graphics cards.
* There is no build for OSX
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
=== Running from source ===
The source code is available at [https://github.com/makehumancommunity/makehuman https://github.com/makehumancommunity/makehuman]. You'll also find basic instructions on how to use the source code on this page.
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 to 5.12.x. '''5.14 will not work'''
* NumPy: 1.13.0 or higher
* PyOpenGL: Any modern version will work, including the one used for MakeHuman 1.1.x
=== Ubuntu ===
In order to fulfill the minimum dependency requirements listed above, you will need Ubuntu 18.04 or later. For earlier Ubuntu versions, you would have use backports of the dependencies, as they are not available in the default installation.
The PPA for this build is here: [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community ppa:makehuman-official/makehuman-community].
To enable it, run:
sudo add-apt-repository ppa:makehuman-official/makehuman-community
sudo apt-get update
sudo apt-get install makehuman-community
=== Mint ===
The instructions for Ubuntu apply, but you will have to also explicitly install all plugins (whereas these will be installed automatically on Ubuntu)
sudo apt-get install makehuman-community-plugins-assetdownload makehuman-community-plugins-socket makehuman-community-plugins-massproduce mhx2-makehuman-exchange
== Other bundled functionality ==
Apart from the above, some other functionality that previously had to be downloaded separately is now bundled:
=== MHX2 ===
MHX2 is now enabled per default in MakeHuman. The blender side of MHX2 can be downloaded from http://www.makehumancommunity.org/content/plugins.html
=== MHAPI ===
MHAPI (a library with convenience calls for making addons for MakeHuman) is now included and enabled per default.
== Where to download ==
The following are links to where you can download beta 2:
You can download (link to page for windows download)
For linux, [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community there is a new PPA].
== Providing feedback and bug reports ==
As always with a beta release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums. But more formal information about bug trackers can be found here: http://www.makehumancommunity.org/content/bugtracker.html
c8c5d6217184137a6fb3222379b6bd5eb1af3e47
1893
1892
2020-10-25T12:19:59Z
Joepal
14
/* Highlights */
wikitext
text/x-wiki
These are the release notes for 1.2.0, which is not yet released.
This is the final and stable release. It is what we now recommend everyone to use. See also [[FAQ: Which version of MakeHuman should I download?]]
If you are already using a recent nightly build however, there is no particular to switch to the stable release, as there have only been minor bug fixes lately.
== General ==
In most cases, there should be no problem running versions 1.1.1 and 1.2.0 on the same system. They will not interfere with each other's files. You can find download links for 1.2.0 at the bottom of this page.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
Due to the rapid evolution of the blender plugins (MPFB, MakeTarget, MakeClothes...) we're not listing these changes here. See the commit log in the respective git repositories instead:
* [https://github.com/makehumancommunity/makehuman-plugin-for-blender/commits/master MakeHuman Plugin for Blender (MPFB)]
* [https://github.com/makehumancommunity/community-plugins-makeclothes/commits/master MakeClothes 2]
* [https://github.com/makehumancommunity/community-plugins-maketarget/commits/master MakeTarget 2]
* [https://github.com/makehumancommunity/community-plugins-makeskin/commits/master MakeSkin]
== Changes since 1.1.1 ==
These are the main themes of the changes since 1.1.1. See further down for more details.
* The license has changed to (hopefully) be more clear and permissive.
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* There is a completely new Blender integration, MPFB, with support for socket transfers, IK and Kinect
* The toolset for creating assets (MakeClothes and MakeTarget) have been rewritten from scratch.
* There is a new tool "MakeSkin" for creating materials
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a new randomization functionality for generating large sets of randomized characters
* Improved internationalization support for non-ASCII characters (backported)
* Plugins in user space
* Plugins activation at runtime
* Improved tag sorting capabilities (Hotkey: ALT-F), including sticky tag provisions
* Tags for models (with configurable tag count)
* Show Name Tags instead of file names in the file loader.
* Saving model as target
* Real weight estimation
* Configurable location for the home folder
* MHX2 is bundled in the default installation
* Save thumbnails directly from the internal render engine
* There is a new installer for windows
* There is a new PPA for ubuntu. This PPA also offers builds of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds)
=== License change ===
The license has changed to be more comprehensive and permissive. The full text of the new license can be found here: https://github.com/makehumancommunity/makehuman/blob/master/LICENSE.md
In summary, it has been made clear that assets included with and produced by makehuman are CC0 no matter how you got hold of them.
There is a description of the license change here: http://www.makehumancommunity.org/wiki/FAQ:What_changed_regarding_the_license_in_2020%3F
=== The upgraded codebase ===
The main focus of this release has been to modernize the code. In the prior version, large parts were written more than ten years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The final end of life for python 2.7 was january 1, 2020.
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
=== The new Blender integration, MPFB ===
In blender it is now possible to fetch a character directly from a running instance of MakeHuman, without having to first save/export the character to a file.
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
The importer will talk with the makehuman instance and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses.
The process is almost instantaneous (a character with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Further, the importer supports improved skin features such as skin pores and SSS.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== Upgraded toolset for creating assets ===
To be written
== Assets can now be downloaded from within MakeHuman ===
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
<br clear=all>
=== Mass produce ===
To be written
=== A new windows installer ===
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
== Known issues ==
* The FBX export is still incompatible with some third part software.
* While most of the graphics card incompatibilities should now be fixed, there may still be still parts of the program that cause problems with some integrated graphics cards.
* There is no build for OSX
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
=== Running from source ===
The source code is available at [https://github.com/makehumancommunity/makehuman https://github.com/makehumancommunity/makehuman]. You'll also find basic instructions on how to use the source code on this page.
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 to 5.12.x. '''5.14 will not work'''
* NumPy: 1.13.0 or higher
* PyOpenGL: Any modern version will work, including the one used for MakeHuman 1.1.x
=== Ubuntu ===
In order to fulfill the minimum dependency requirements listed above, you will need Ubuntu 18.04 or later. For earlier Ubuntu versions, you would have use backports of the dependencies, as they are not available in the default installation.
The PPA for this build is here: [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community ppa:makehuman-official/makehuman-community].
To enable it, run:
sudo add-apt-repository ppa:makehuman-official/makehuman-community
sudo apt-get update
sudo apt-get install makehuman-community
=== Mint ===
The instructions for Ubuntu apply, but you will have to also explicitly install all plugins (whereas these will be installed automatically on Ubuntu)
sudo apt-get install makehuman-community-plugins-assetdownload makehuman-community-plugins-socket makehuman-community-plugins-massproduce mhx2-makehuman-exchange
== Other bundled functionality ==
Apart from the above, some other functionality that previously had to be downloaded separately is now bundled:
=== MHX2 ===
MHX2 is now enabled per default in MakeHuman. The blender side of MHX2 can be downloaded from http://www.makehumancommunity.org/content/plugins.html
=== MHAPI ===
MHAPI (a library with convenience calls for making addons for MakeHuman) is now included and enabled per default.
== Where to download ==
The following are links to where you can download beta 2:
You can download (link to page for windows download)
For linux, [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community there is a new PPA].
== Providing feedback and bug reports ==
As always with a beta release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums. But more formal information about bug trackers can be found here: http://www.makehumancommunity.org/content/bugtracker.html
2edf4f80440ba0e3d9af623e756a0c80870c66d2
1892
2020-10-25T12:18:54Z
Joepal
14
Created page with "These are the release notes for 1.2.0, which is not yet released. This is the final and stable release. It is what we now recommend everyone to use. See also FAQ: Which ver..."
wikitext
text/x-wiki
These are the release notes for 1.2.0, which is not yet released.
This is the final and stable release. It is what we now recommend everyone to use. See also [[FAQ: Which version of MakeHuman should I download?]]
If you are already using a recent nightly build however, there is no particular to switch to the stable release, as there have only been minor bug fixes lately.
== General ==
In most cases, there should be no problem running versions 1.1.1 and 1.2.0 on the same system. They will not interfere with each other's files. You can find download links for 1.2.0 at the bottom of this page.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
Due to the rapid evolution of the blender plugins (MPFB, MakeTarget, MakeClothes...) we're not listing these changes here. See the commit log in the respective git repositories instead:
* [https://github.com/makehumancommunity/makehuman-plugin-for-blender/commits/master MakeHuman Plugin for Blender (MPFB)]
* [https://github.com/makehumancommunity/community-plugins-makeclothes/commits/master MakeClothes 2]
* [https://github.com/makehumancommunity/community-plugins-maketarget/commits/master MakeTarget 2]
* [https://github.com/makehumancommunity/community-plugins-makeskin/commits/master MakeSkin]
== Highlights ==
These are the main themes of the changes since 1.1.1. See further down for more details.
* The license has changed to (hopefully) be more clear and permissive.
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* There is a completely new Blender integration, MPFB, with support for socket transfers, IK and Kinect
* The toolset for creating assets (MakeClothes and MakeTarget) have been rewritten from scratch.
* There is a new tool "MakeSkin" for creating materials
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a new randomization functionality for generating large sets of randomized characters
* Improved internationalization support for non-ASCII characters (backported)
* Plugins in user space
* Plugins activation at runtime
* Improved tag sorting capabilities (Hotkey: ALT-F), including sticky tag provisions
* Tags for models (with configurable tag count)
* Show Name Tags instead of file names in the file loader.
* Saving model as target
* Real weight estimation
* Configurable location for the home folder
* MHX2 is bundled in the default installation
* Save thumbnails directly from the internal render engine
* There is a new installer for windows
* There is a new PPA for ubuntu. This PPA also offers builds of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds)
=== License change ===
The license has changed to be more comprehensive and permissive. The full text of the new license can be found here: https://github.com/makehumancommunity/makehuman/blob/master/LICENSE.md
In summary, it has been made clear that assets included with and produced by makehuman are CC0 no matter how you got hold of them.
There is a description of the license change here: http://www.makehumancommunity.org/wiki/FAQ:What_changed_regarding_the_license_in_2020%3F
=== The upgraded codebase ===
The main focus of this release has been to modernize the code. In the prior version, large parts were written more than ten years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The final end of life for python 2.7 was january 1, 2020.
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
=== The new Blender integration, MPFB ===
In blender it is now possible to fetch a character directly from a running instance of MakeHuman, without having to first save/export the character to a file.
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
The importer will talk with the makehuman instance and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses.
The process is almost instantaneous (a character with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Further, the importer supports improved skin features such as skin pores and SSS.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== Upgraded toolset for creating assets ===
To be written
== Assets can now be downloaded from within MakeHuman ===
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
<br clear=all>
=== Mass produce ===
To be written
=== A new windows installer ===
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
== Known issues ==
* The FBX export is still incompatible with some third part software.
* While most of the graphics card incompatibilities should now be fixed, there may still be still parts of the program that cause problems with some integrated graphics cards.
* There is no build for OSX
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
=== Running from source ===
The source code is available at [https://github.com/makehumancommunity/makehuman https://github.com/makehumancommunity/makehuman]. You'll also find basic instructions on how to use the source code on this page.
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 to 5.12.x. '''5.14 will not work'''
* NumPy: 1.13.0 or higher
* PyOpenGL: Any modern version will work, including the one used for MakeHuman 1.1.x
=== Ubuntu ===
In order to fulfill the minimum dependency requirements listed above, you will need Ubuntu 18.04 or later. For earlier Ubuntu versions, you would have use backports of the dependencies, as they are not available in the default installation.
The PPA for this build is here: [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community ppa:makehuman-official/makehuman-community].
To enable it, run:
sudo add-apt-repository ppa:makehuman-official/makehuman-community
sudo apt-get update
sudo apt-get install makehuman-community
=== Mint ===
The instructions for Ubuntu apply, but you will have to also explicitly install all plugins (whereas these will be installed automatically on Ubuntu)
sudo apt-get install makehuman-community-plugins-assetdownload makehuman-community-plugins-socket makehuman-community-plugins-massproduce mhx2-makehuman-exchange
== Other bundled functionality ==
Apart from the above, some other functionality that previously had to be downloaded separately is now bundled:
=== MHX2 ===
MHX2 is now enabled per default in MakeHuman. The blender side of MHX2 can be downloaded from http://www.makehumancommunity.org/content/plugins.html
=== MHAPI ===
MHAPI (a library with convenience calls for making addons for MakeHuman) is now included and enabled per default.
== Where to download ==
The following are links to where you can download beta 2:
You can download (link to page for windows download)
For linux, [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community there is a new PPA].
== Providing feedback and bug reports ==
As always with a beta release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums. But more formal information about bug trackers can be found here: http://www.makehumancommunity.org/content/bugtracker.html
61d73ca11a783b6cd2c1722eed80f7abcdd3a9f0
Releases:120a1
0
564
1591
1524
2019-05-10T09:40:23Z
Wolgade
26
A topic called "running from source" should tell you where to get the source
wikitext
text/x-wiki
'''It is important to understand that 1.2.0 alpha 1 is an alpha release. This means that things ''will'' behave strangely. Before downloading the build, you should at least read the "known issues" section in these notes.'''
In most cases, there should be no problem running versions 1.1.1 and 1.2.0 on the same system. They will not interfere with each other's files. You can find download links for 1.2.0 at the bottom of this page.
These notes are under construction and may be incomplete. Further, the notes describe, as of now, an alpha version of a coming release. The final release might be different from what is described below.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
The following are the changes since version 1.1.1.
== Highlights ==
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new Blender integration, with support for socket transfers, IK and Kinect
* Improved internationalization support for non-ASCII characters (backported)
* Plugins in user space
* Plugins activation at runtime
* Improved tag sorting capabilities, including sticky tag provisions
* Tags for models (with configurable tag count)
* Show Name Tags instead of file names in the file loader.
* Saving model as target
* Real weight estimation
* Configurable location for the home folder
* MHX2 is bundled in the default installation
* There is a new installer for windows
* There is a new PPA for ubuntu. This PPA also offers builds of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds)
== Known issues ==
* FBX skeleton will still misbehave
* There are still graphics card incompatibilities in the OpenGL code. '''On several graphics cards you may get no visible output whatsoever''', rendering the application unusable. If this happens, please report what operating system and what graphics card you are using so we can investigate it further.
* There is no build for OSX
* The user data folder is still makehuman/v1py3 rather than makehuman/v1, in order to guarrantee that the development version does not interfere with the stable version. This will probably be changed for the final release.
* The new blender importer will crash when used in a version of blender that is shipped with ubuntu 18.04. It works fine on ubuntu 18.04 if using a blender that is downloaded from blender's homepage though. Investigations are pending.
* The new blender importer requires blender 2.79. It will not work in earlier versions of blender and will not (yet) work in blender 2.80.
* The initial sync for the asset downloader will take a very long time to finish, and it might look as if it finished despite the files still being processed in the background. Clicking around in the interface before you get the final message box saying that the synchronization is finished may cause a crash and terminate the synchronization.
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
=== Running from source ===
The source code is available at [https://github.com/makehumancommunity/makehuman https://github.com/makehumancommunity/makehuman]. You'll also find basic instructions on how to use the source code on this page.
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 or higher
* NumPy: 1.13.0 or higher
* PyOpenGL: Any modern version will work, including the one used for MakeHuman 1.1.x
=== Ubuntu ===
In order to fulfill the minimum dependency requirements listed above, you will need Ubuntu 18.04 or later. For earlier Ubuntu versions, you would have use backports of the dependencies, as they are not available in the default installation.
The PPA for this build is here: [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community ppa:makehuman-official/makehuman-community].
To enable it, run:
sudo add-apt-repository ppa:makehuman-official/makehuman-community
sudo apt-get update
sudo apt-get install makehuman-community
== The upgraded codebase ==
The main focus of this release has been to modernize the code. In the prior version, large parts were written more than eight years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The expected end of life for python 2.7 is in less than two years.
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
== Asset downloader ==
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
<br clear=all>
== New blender integration ==
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
[[File:12x-blender-ik.png|300px|thumb|right|Convert to IK rig]]
This release bundles a rich set of blender functionalitites, which can be added to blender in the form of an addon. Not all functionality will be listed here, but the following are
some highlights.
=== Import directly from MakeHuman ===
In blender it is now possible to fetch a toon directly from a running instance of MakeHuman, without having to first save the toon to a file. The importer will talk with the makehuman instance
and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses. The process is almost instantaneous (a toon with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== IK and amputations ===
The importer will use the skeleton set in MakeHuman to rig the resulting character in Blender. The rig can then be extended with the "IK rig" functionality: By clicking a button you can get extra
IK controls, and IK chains set up for arms, legs and fingers.
Rigs can also be amputated in case detailed bones are not required.
All rigs currently available to MakeHuman are supported.
=== Kinect ===
To be written
<br clear=all>
== A new windows installer ==
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
== Other bundled functionality ==
Apart from the above, some other functionality that previously had to be downloaded separately is now bundled:
=== MHX2 ===
MHX2 is now enabled per default in MakeHuman. The blender side of MHX2 is bundled as a zip file which can
be added to blender via the user preferences.
=== MHAPI ===
MHAPI (a library with convenience calls for making addons for MakeHuman) is now included and enabled per default.
== Where to download ==
You can [http://download.tuxfamily.org/makehuman/nightly/makehuman-community-1.2.0-alpha1-win32.zip download the windows build here].
For linux, [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community there is a new PPA].
== Providing feedback and bug reports ==
As always with an alpha release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums. But more formal bug trackers are here:
* For MakeHuman as such: [http://bugtracker.makehumancommunity.org/ http://bugtracker.makehumancommunity.org/]
* For the asset downloader: [https://github.com/makehumancommunity/community-plugins-assetdownload/issues https://github.com/makehumancommunity/community-plugins-assetdownload/issues]
* For the makehuman side of the new blender integration: [https://github.com/makehumancommunity/community-plugins-socket/issues https://github.com/makehumancommunity/community-plugins-socket/issues]
* For the blender side of the new blender integration: [https://github.com/makehumancommunity/makehuman-plugin-for-blender/issues https://github.com/makehumancommunity/makehuman-plugin-for-blender/issues]
* For issues specific to MHX2: [https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange/issues?status=new&status=open https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange/issues]
c27ff4efae4a9a20c7a4d35c2c4033a34e417e24
1524
1523
2018-11-22T16:27:41Z
Joepal
14
/* Known issues */
wikitext
text/x-wiki
'''It is important to understand that 1.2.0 alpha 1 is an alpha release. This means that things ''will'' behave strangely. Before downloading the build, you should at least read the "known issues" section in these notes.'''
In most cases, there should be no problem running versions 1.1.1 and 1.2.0 on the same system. They will not interfere with each other's files. You can find download links for 1.2.0 at the bottom of this page.
These notes are under construction and may be incomplete. Further, the notes describe, as of now, an alpha version of a coming release. The final release might be different from what is described below.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
The following are the changes since version 1.1.1.
== Highlights ==
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new Blender integration, with support for socket transfers, IK and Kinect
* Improved internationalization support for non-ASCII characters (backported)
* Plugins in user space
* Plugins activation at runtime
* Improved tag sorting capabilities, including sticky tag provisions
* Tags for models (with configurable tag count)
* Show Name Tags instead of file names in the file loader.
* Saving model as target
* Real weight estimation
* Configurable location for the home folder
* MHX2 is bundled in the default installation
* There is a new installer for windows
* There is a new PPA for ubuntu. This PPA also offers builds of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds)
== Known issues ==
* FBX skeleton will still misbehave
* There are still graphics card incompatibilities in the OpenGL code. '''On several graphics cards you may get no visible output whatsoever''', rendering the application unusable. If this happens, please report what operating system and what graphics card you are using so we can investigate it further.
* There is no build for OSX
* The user data folder is still makehuman/v1py3 rather than makehuman/v1, in order to guarrantee that the development version does not interfere with the stable version. This will probably be changed for the final release.
* The new blender importer will crash when used in a version of blender that is shipped with ubuntu 18.04. It works fine on ubuntu 18.04 if using a blender that is downloaded from blender's homepage though. Investigations are pending.
* The new blender importer requires blender 2.79. It will not work in earlier versions of blender and will not (yet) work in blender 2.80.
* The initial sync for the asset downloader will take a very long time to finish, and it might look as if it finished despite the files still being processed in the background. Clicking around in the interface before you get the final message box saying that the synchronization is finished may cause a crash and terminate the synchronization.
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
=== Running from source ===
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 or higher
* NumPy: 1.13.0 or higher
* PyOpenGL: Any modern version will work, including the one used for MakeHuman 1.1.x
=== Ubuntu ===
In order to fulfill the minimum dependency requirements listed above, you will need Ubuntu 18.04 or later. For earlier Ubuntu versions, you would have use backports of the dependencies, as they are not available in the default installation.
The PPA for this build is here: [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community ppa:makehuman-official/makehuman-community].
To enable it, run:
sudo add-apt-repository ppa:makehuman-official/makehuman-community
sudo apt-get update
sudo apt-get install makehuman-community
== The upgraded codebase ==
The main focus of this release has been to modernize the code. In the prior version, large parts were written more than eight years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The expected end of life for python 2.7 is in less than two years.
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
== Asset downloader ==
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
<br clear=all>
== New blender integration ==
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
[[File:12x-blender-ik.png|300px|thumb|right|Convert to IK rig]]
This release bundles a rich set of blender functionalitites, which can be added to blender in the form of an addon. Not all functionality will be listed here, but the following are
some highlights.
=== Import directly from MakeHuman ===
In blender it is now possible to fetch a toon directly from a running instance of MakeHuman, without having to first save the toon to a file. The importer will talk with the makehuman instance
and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses. The process is almost instantaneous (a toon with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== IK and amputations ===
The importer will use the skeleton set in MakeHuman to rig the resulting character in Blender. The rig can then be extended with the "IK rig" functionality: By clicking a button you can get extra
IK controls, and IK chains set up for arms, legs and fingers.
Rigs can also be amputated in case detailed bones are not required.
All rigs currently available to MakeHuman are supported.
=== Kinect ===
To be written
<br clear=all>
== A new windows installer ==
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
== Other bundled functionality ==
Apart from the above, some other functionality that previously had to be downloaded separately is now bundled:
=== MHX2 ===
MHX2 is now enabled per default in MakeHuman. The blender side of MHX2 is bundled as a zip file which can
be added to blender via the user preferences.
=== MHAPI ===
MHAPI (a library with convenience calls for making addons for MakeHuman) is now included and enabled per default.
== Where to download ==
You can [http://download.tuxfamily.org/makehuman/nightly/makehuman-community-1.2.0-alpha1-win32.zip download the windows build here].
For linux, [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community there is a new PPA].
== Providing feedback and bug reports ==
As always with an alpha release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums. But more formal bug trackers are here:
* For MakeHuman as such: [http://bugtracker.makehumancommunity.org/ http://bugtracker.makehumancommunity.org/]
* For the asset downloader: [https://github.com/makehumancommunity/community-plugins-assetdownload/issues https://github.com/makehumancommunity/community-plugins-assetdownload/issues]
* For the makehuman side of the new blender integration: [https://github.com/makehumancommunity/community-plugins-socket/issues https://github.com/makehumancommunity/community-plugins-socket/issues]
* For the blender side of the new blender integration: [https://github.com/makehumancommunity/makehuman-plugin-for-blender/issues https://github.com/makehumancommunity/makehuman-plugin-for-blender/issues]
* For issues specific to MHX2: [https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange/issues?status=new&status=open https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange/issues]
92d97ad76e8e9df11beae501abb605e6fd908756
1523
1522
2018-11-22T16:25:55Z
Joepal
14
/* Known issues */
wikitext
text/x-wiki
'''It is important to understand that 1.2.0 alpha 1 is an alpha release. This means that things ''will'' behave strangely. Before downloading the build, you should at least read the "known issues" section in these notes.'''
In most cases, there should be no problem running versions 1.1.1 and 1.2.0 on the same system. They will not interfere with each other's files. You can find download links for 1.2.0 at the bottom of this page.
These notes are under construction and may be incomplete. Further, the notes describe, as of now, an alpha version of a coming release. The final release might be different from what is described below.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
The following are the changes since version 1.1.1.
== Highlights ==
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new Blender integration, with support for socket transfers, IK and Kinect
* Improved internationalization support for non-ASCII characters (backported)
* Plugins in user space
* Plugins activation at runtime
* Improved tag sorting capabilities, including sticky tag provisions
* Tags for models (with configurable tag count)
* Show Name Tags instead of file names in the file loader.
* Saving model as target
* Real weight estimation
* Configurable location for the home folder
* MHX2 is bundled in the default installation
* There is a new installer for windows
* There is a new PPA for ubuntu. This PPA also offers builds of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds)
== Known issues ==
* FBX skeleton will still misbehave
* There are still graphics card incompatibilities in the OpenGL code. '''On several graphics cards you may get no visible output whatsoever''', rendering the application unusable. If this happens, please report what operating system and what graphics card you are using so we can investigate it further.
* There is no build for OSX
* The user data folder is still makehuman/v1py3 rather than makehuman/v1, in order to guarrantee that the development version does not interfere with the stable version. This will probably be changed for the final release.
* The new blender importer will crash when used in a version of blender that is shipped with ubuntu 18.04. It works fine on ubuntu 18.04 if using a blender that is downloaded from blender's homepage though. Investigations are pending.
* The initial sync for the asset downloader will take a very long time to finish, and it might look as if it finished despite the files still being processed in the background. Clicking around in the interface before you get the final message box saying that the synchronization is finished may cause a crash and terminate the synchronization.
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
=== Running from source ===
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 or higher
* NumPy: 1.13.0 or higher
* PyOpenGL: Any modern version will work, including the one used for MakeHuman 1.1.x
=== Ubuntu ===
In order to fulfill the minimum dependency requirements listed above, you will need Ubuntu 18.04 or later. For earlier Ubuntu versions, you would have use backports of the dependencies, as they are not available in the default installation.
The PPA for this build is here: [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community ppa:makehuman-official/makehuman-community].
To enable it, run:
sudo add-apt-repository ppa:makehuman-official/makehuman-community
sudo apt-get update
sudo apt-get install makehuman-community
== The upgraded codebase ==
The main focus of this release has been to modernize the code. In the prior version, large parts were written more than eight years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The expected end of life for python 2.7 is in less than two years.
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
== Asset downloader ==
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
<br clear=all>
== New blender integration ==
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
[[File:12x-blender-ik.png|300px|thumb|right|Convert to IK rig]]
This release bundles a rich set of blender functionalitites, which can be added to blender in the form of an addon. Not all functionality will be listed here, but the following are
some highlights.
=== Import directly from MakeHuman ===
In blender it is now possible to fetch a toon directly from a running instance of MakeHuman, without having to first save the toon to a file. The importer will talk with the makehuman instance
and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses. The process is almost instantaneous (a toon with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== IK and amputations ===
The importer will use the skeleton set in MakeHuman to rig the resulting character in Blender. The rig can then be extended with the "IK rig" functionality: By clicking a button you can get extra
IK controls, and IK chains set up for arms, legs and fingers.
Rigs can also be amputated in case detailed bones are not required.
All rigs currently available to MakeHuman are supported.
=== Kinect ===
To be written
<br clear=all>
== A new windows installer ==
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
== Other bundled functionality ==
Apart from the above, some other functionality that previously had to be downloaded separately is now bundled:
=== MHX2 ===
MHX2 is now enabled per default in MakeHuman. The blender side of MHX2 is bundled as a zip file which can
be added to blender via the user preferences.
=== MHAPI ===
MHAPI (a library with convenience calls for making addons for MakeHuman) is now included and enabled per default.
== Where to download ==
You can [http://download.tuxfamily.org/makehuman/nightly/makehuman-community-1.2.0-alpha1-win32.zip download the windows build here].
For linux, [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community there is a new PPA].
== Providing feedback and bug reports ==
As always with an alpha release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums. But more formal bug trackers are here:
* For MakeHuman as such: [http://bugtracker.makehumancommunity.org/ http://bugtracker.makehumancommunity.org/]
* For the asset downloader: [https://github.com/makehumancommunity/community-plugins-assetdownload/issues https://github.com/makehumancommunity/community-plugins-assetdownload/issues]
* For the makehuman side of the new blender integration: [https://github.com/makehumancommunity/community-plugins-socket/issues https://github.com/makehumancommunity/community-plugins-socket/issues]
* For the blender side of the new blender integration: [https://github.com/makehumancommunity/makehuman-plugin-for-blender/issues https://github.com/makehumancommunity/makehuman-plugin-for-blender/issues]
* For issues specific to MHX2: [https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange/issues?status=new&status=open https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange/issues]
20a8e0e0bd6ce4458140b2809ae91eef935e88c3
1522
1521
2018-11-22T16:24:07Z
Joepal
14
wikitext
text/x-wiki
'''It is important to understand that 1.2.0 alpha 1 is an alpha release. This means that things ''will'' behave strangely. Before downloading the build, you should at least read the "known issues" section in these notes.'''
In most cases, there should be no problem running versions 1.1.1 and 1.2.0 on the same system. They will not interfere with each other's files. You can find download links for 1.2.0 at the bottom of this page.
These notes are under construction and may be incomplete. Further, the notes describe, as of now, an alpha version of a coming release. The final release might be different from what is described below.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
The following are the changes since version 1.1.1.
== Highlights ==
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new Blender integration, with support for socket transfers, IK and Kinect
* Improved internationalization support for non-ASCII characters (backported)
* Plugins in user space
* Plugins activation at runtime
* Improved tag sorting capabilities, including sticky tag provisions
* Tags for models (with configurable tag count)
* Show Name Tags instead of file names in the file loader.
* Saving model as target
* Real weight estimation
* Configurable location for the home folder
* MHX2 is bundled in the default installation
* There is a new installer for windows
* There is a new PPA for ubuntu. This PPA also offers builds of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds)
== Known issues ==
* FBX skeleton will still misbehave
* There are still graphics card incompatibilities in the OpenGL code. '''On several graphics cards you may get no visible output whatsoever''', rendering the application unusable. If this happens, please report what operating system and what graphics card you are using so we can investigate it further.
* There is no build for OSX
* The user data folder is still makehuman/v1py3 rather than makehuman/v1, in order to guarrantee that the development version does not interfere with the stable version. This will probably be changed for the final release.
* The new blender importer will crash when used in a version of blender that is shipped with ubuntu 18.04. It works fine on ubuntu 18.04 if using a blender that is downloaded from blender's homepage though. Investigations are pending.
* The initial sync for the asset downloader will take a very long time to finish, and it might look as if it finished despite the files still being processed in the background
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
=== Running from source ===
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 or higher
* NumPy: 1.13.0 or higher
* PyOpenGL: Any modern version will work, including the one used for MakeHuman 1.1.x
=== Ubuntu ===
In order to fulfill the minimum dependency requirements listed above, you will need Ubuntu 18.04 or later. For earlier Ubuntu versions, you would have use backports of the dependencies, as they are not available in the default installation.
The PPA for this build is here: [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community ppa:makehuman-official/makehuman-community].
To enable it, run:
sudo add-apt-repository ppa:makehuman-official/makehuman-community
sudo apt-get update
sudo apt-get install makehuman-community
== The upgraded codebase ==
The main focus of this release has been to modernize the code. In the prior version, large parts were written more than eight years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The expected end of life for python 2.7 is in less than two years.
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
== Asset downloader ==
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
<br clear=all>
== New blender integration ==
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
[[File:12x-blender-ik.png|300px|thumb|right|Convert to IK rig]]
This release bundles a rich set of blender functionalitites, which can be added to blender in the form of an addon. Not all functionality will be listed here, but the following are
some highlights.
=== Import directly from MakeHuman ===
In blender it is now possible to fetch a toon directly from a running instance of MakeHuman, without having to first save the toon to a file. The importer will talk with the makehuman instance
and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses. The process is almost instantaneous (a toon with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== IK and amputations ===
The importer will use the skeleton set in MakeHuman to rig the resulting character in Blender. The rig can then be extended with the "IK rig" functionality: By clicking a button you can get extra
IK controls, and IK chains set up for arms, legs and fingers.
Rigs can also be amputated in case detailed bones are not required.
All rigs currently available to MakeHuman are supported.
=== Kinect ===
To be written
<br clear=all>
== A new windows installer ==
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
== Other bundled functionality ==
Apart from the above, some other functionality that previously had to be downloaded separately is now bundled:
=== MHX2 ===
MHX2 is now enabled per default in MakeHuman. The blender side of MHX2 is bundled as a zip file which can
be added to blender via the user preferences.
=== MHAPI ===
MHAPI (a library with convenience calls for making addons for MakeHuman) is now included and enabled per default.
== Where to download ==
You can [http://download.tuxfamily.org/makehuman/nightly/makehuman-community-1.2.0-alpha1-win32.zip download the windows build here].
For linux, [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community there is a new PPA].
== Providing feedback and bug reports ==
As always with an alpha release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums. But more formal bug trackers are here:
* For MakeHuman as such: [http://bugtracker.makehumancommunity.org/ http://bugtracker.makehumancommunity.org/]
* For the asset downloader: [https://github.com/makehumancommunity/community-plugins-assetdownload/issues https://github.com/makehumancommunity/community-plugins-assetdownload/issues]
* For the makehuman side of the new blender integration: [https://github.com/makehumancommunity/community-plugins-socket/issues https://github.com/makehumancommunity/community-plugins-socket/issues]
* For the blender side of the new blender integration: [https://github.com/makehumancommunity/makehuman-plugin-for-blender/issues https://github.com/makehumancommunity/makehuman-plugin-for-blender/issues]
* For issues specific to MHX2: [https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange/issues?status=new&status=open https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange/issues]
1d12672c3df744600ed88f13ef7079ff7fd7bb29
1521
1520
2018-11-22T16:22:11Z
Joepal
14
/* Highlights */
wikitext
text/x-wiki
'''It is important to understand that 1.2.0 alpha 1 is an alpha release. This means that things ''will'' behave strangely. Before downloading the build, you should at least read the "known issues" section in these notes.'''
You can find download links at the bottom of this page.
These notes are under construction and may be incomplete. Further, the notes describe, as of now, an alpha version of a coming release. The final release might be different from what is described below.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
The following are the changes since version 1.1.1.
== Highlights ==
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new Blender integration, with support for socket transfers, IK and Kinect
* Improved internationalization support for non-ASCII characters (backported)
* Plugins in user space
* Plugins activation at runtime
* Improved tag sorting capabilities, including sticky tag provisions
* Tags for models (with configurable tag count)
* Show Name Tags instead of file names in the file loader.
* Saving model as target
* Real weight estimation
* Configurable location for the home folder
* MHX2 is bundled in the default installation
* There is a new installer for windows
* There is a new PPA for ubuntu. This PPA also offers builds of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds)
== Known issues ==
* FBX skeleton will still misbehave
* There are still graphics card incompatibilities in the OpenGL code. '''On several graphics cards you may get no visible output whatsoever''', rendering the application unusable. If this happens, please report what operating system and what graphics card you are using so we can investigate it further.
* There is no build for OSX
* The user data folder is still makehuman/v1py3 rather than makehuman/v1, in order to guarrantee that the development version does not interfere with the stable version. This will probably be changed for the final release.
* The new blender importer will crash when used in a version of blender that is shipped with ubuntu 18.04. It works fine on ubuntu 18.04 if using a blender that is downloaded from blender's homepage though. Investigations are pending.
* The initial sync for the asset downloader will take a very long time to finish, and it might look as if it finished despite the files still being processed in the background
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
=== Running from source ===
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 or higher
* NumPy: 1.13.0 or higher
* PyOpenGL: Any modern version will work, including the one used for MakeHuman 1.1.x
=== Ubuntu ===
In order to fulfill the minimum dependency requirements listed above, you will need Ubuntu 18.04 or later. For earlier Ubuntu versions, you would have use backports of the dependencies, as they are not available in the default installation.
The PPA for this build is here: [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community ppa:makehuman-official/makehuman-community].
To enable it, run:
sudo add-apt-repository ppa:makehuman-official/makehuman-community
sudo apt-get update
sudo apt-get install makehuman-community
== The upgraded codebase ==
The main focus of this release has been to modernize the code. In the prior version, large parts were written more than eight years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The expected end of life for python 2.7 is in less than two years.
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
== Asset downloader ==
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
<br clear=all>
== New blender integration ==
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
[[File:12x-blender-ik.png|300px|thumb|right|Convert to IK rig]]
This release bundles a rich set of blender functionalitites, which can be added to blender in the form of an addon. Not all functionality will be listed here, but the following are
some highlights.
=== Import directly from MakeHuman ===
In blender it is now possible to fetch a toon directly from a running instance of MakeHuman, without having to first save the toon to a file. The importer will talk with the makehuman instance
and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses. The process is almost instantaneous (a toon with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== IK and amputations ===
The importer will use the skeleton set in MakeHuman to rig the resulting character in Blender. The rig can then be extended with the "IK rig" functionality: By clicking a button you can get extra
IK controls, and IK chains set up for arms, legs and fingers.
Rigs can also be amputated in case detailed bones are not required.
All rigs currently available to MakeHuman are supported.
=== Kinect ===
To be written
<br clear=all>
== A new windows installer ==
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
== Other bundled functionality ==
Apart from the above, some other functionality that previously had to be downloaded separately is now bundled:
=== MHX2 ===
MHX2 is now enabled per default in MakeHuman. The blender side of MHX2 is bundled as a zip file which can
be added to blender via the user preferences.
=== MHAPI ===
MHAPI (a library with convenience calls for making addons for MakeHuman) is now included and enabled per default.
== Where to download ==
You can [http://download.tuxfamily.org/makehuman/nightly/makehuman-community-1.2.0-alpha1-win32.zip download the windows build here].
For linux, [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community there is a new PPA].
== Providing feedback and bug reports ==
As always with an alpha release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums. But more formal bug trackers are here:
* For MakeHuman as such: [http://bugtracker.makehumancommunity.org/ http://bugtracker.makehumancommunity.org/]
* For the asset downloader: [https://github.com/makehumancommunity/community-plugins-assetdownload/issues https://github.com/makehumancommunity/community-plugins-assetdownload/issues]
* For the makehuman side of the new blender integration: [https://github.com/makehumancommunity/community-plugins-socket/issues https://github.com/makehumancommunity/community-plugins-socket/issues]
* For the blender side of the new blender integration: [https://github.com/makehumancommunity/makehuman-plugin-for-blender/issues https://github.com/makehumancommunity/makehuman-plugin-for-blender/issues]
* For issues specific to MHX2: [https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange/issues?status=new&status=open https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange/issues]
b903271ae11bd82aa04b3a773d2895781fa0cc9a
1520
1519
2018-11-22T16:21:14Z
Joepal
14
wikitext
text/x-wiki
'''It is important to understand that 1.2.0 alpha 1 is an alpha release. This means that things ''will'' behave strangely. Before downloading the build, you should at least read the "known issues" section in these notes.'''
You can find download links at the bottom of this page.
These notes are under construction and may be incomplete. Further, the notes describe, as of now, an alpha version of a coming release. The final release might be different from what is described below.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
The following are the changes since version 1.1.1.
== Highlights ==
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new Blender integration, with support for socket transfers, IK and Kinect
* Improved internationalization support for non-ASCII characters (backported)
* Plugins in user space
* Plugins activation at runtime
* Improved tag sorting capabilities, including sticky tag provisions
* Tags for models (with configurable tag count)
* Show Name Tags instead of file names in the file loader.
* Saving model as target
* Real weight estimation
* Configurable location for the home folder
* MHX2 is bundled in the default installation
* There is a new installer for windows
* There is a new PPA for ubuntu. This PPA also offers build of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds)
== Known issues ==
* FBX skeleton will still misbehave
* There are still graphics card incompatibilities in the OpenGL code. '''On several graphics cards you may get no visible output whatsoever''', rendering the application unusable. If this happens, please report what operating system and what graphics card you are using so we can investigate it further.
* There is no build for OSX
* The user data folder is still makehuman/v1py3 rather than makehuman/v1, in order to guarrantee that the development version does not interfere with the stable version. This will probably be changed for the final release.
* The new blender importer will crash when used in a version of blender that is shipped with ubuntu 18.04. It works fine on ubuntu 18.04 if using a blender that is downloaded from blender's homepage though. Investigations are pending.
* The initial sync for the asset downloader will take a very long time to finish, and it might look as if it finished despite the files still being processed in the background
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
=== Running from source ===
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 or higher
* NumPy: 1.13.0 or higher
* PyOpenGL: Any modern version will work, including the one used for MakeHuman 1.1.x
=== Ubuntu ===
In order to fulfill the minimum dependency requirements listed above, you will need Ubuntu 18.04 or later. For earlier Ubuntu versions, you would have use backports of the dependencies, as they are not available in the default installation.
The PPA for this build is here: [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community ppa:makehuman-official/makehuman-community].
To enable it, run:
sudo add-apt-repository ppa:makehuman-official/makehuman-community
sudo apt-get update
sudo apt-get install makehuman-community
== The upgraded codebase ==
The main focus of this release has been to modernize the code. In the prior version, large parts were written more than eight years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The expected end of life for python 2.7 is in less than two years.
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
== Asset downloader ==
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
<br clear=all>
== New blender integration ==
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
[[File:12x-blender-ik.png|300px|thumb|right|Convert to IK rig]]
This release bundles a rich set of blender functionalitites, which can be added to blender in the form of an addon. Not all functionality will be listed here, but the following are
some highlights.
=== Import directly from MakeHuman ===
In blender it is now possible to fetch a toon directly from a running instance of MakeHuman, without having to first save the toon to a file. The importer will talk with the makehuman instance
and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses. The process is almost instantaneous (a toon with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== IK and amputations ===
The importer will use the skeleton set in MakeHuman to rig the resulting character in Blender. The rig can then be extended with the "IK rig" functionality: By clicking a button you can get extra
IK controls, and IK chains set up for arms, legs and fingers.
Rigs can also be amputated in case detailed bones are not required.
All rigs currently available to MakeHuman are supported.
=== Kinect ===
To be written
<br clear=all>
== A new windows installer ==
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
== Other bundled functionality ==
Apart from the above, some other functionality that previously had to be downloaded separately is now bundled:
=== MHX2 ===
MHX2 is now enabled per default in MakeHuman. The blender side of MHX2 is bundled as a zip file which can
be added to blender via the user preferences.
=== MHAPI ===
MHAPI (a library with convenience calls for making addons for MakeHuman) is now included and enabled per default.
== Where to download ==
You can [http://download.tuxfamily.org/makehuman/nightly/makehuman-community-1.2.0-alpha1-win32.zip download the windows build here].
For linux, [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community there is a new PPA].
== Providing feedback and bug reports ==
As always with an alpha release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums. But more formal bug trackers are here:
* For MakeHuman as such: [http://bugtracker.makehumancommunity.org/ http://bugtracker.makehumancommunity.org/]
* For the asset downloader: [https://github.com/makehumancommunity/community-plugins-assetdownload/issues https://github.com/makehumancommunity/community-plugins-assetdownload/issues]
* For the makehuman side of the new blender integration: [https://github.com/makehumancommunity/community-plugins-socket/issues https://github.com/makehumancommunity/community-plugins-socket/issues]
* For the blender side of the new blender integration: [https://github.com/makehumancommunity/makehuman-plugin-for-blender/issues https://github.com/makehumancommunity/makehuman-plugin-for-blender/issues]
* For issues specific to MHX2: [https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange/issues?status=new&status=open https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange/issues]
08411743e38306dafe11a82ea935bdf137a48c15
1519
1518
2018-11-22T10:10:44Z
Joepal
14
/* Known issues */
wikitext
text/x-wiki
'''It is important to understand that 1.2.0 alpha 1 is an alpha release. This means that things ''will'' behave strangely. Before downloading the build, you should at least read the "known issues" section in these notes.'''
These notes are under construction and may be incomplete. Further, the notes describe, as of now, an alpha version of a coming release. The final release might be different from what is described below.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
The following are the changes since version 1.1.1.
== Highlights ==
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new Blender integration, with support for socket transfers, IK and Kinect
* Improved internationalization support for non-ASCII characters (backported)
* Plugins in user space
* Plugins activation at runtime
* Improved tag sorting capabilities, including sticky tag provisions
* Tags for models (with configurable tag count)
* Show Name Tags instead of file names in the file loader.
* Saving model as target
* Real weight estimation
* Configurable location for the home folder
* MHX2 is bundled in the default installation
* There is a new installer for windows
* There is a new PPA for ubuntu. This PPA also offers build of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds)
== Known issues ==
* FBX skeleton will still misbehave
* There are still graphics card incompatibilities in the OpenGL code. '''On several graphics cards you may get no visible output whatsoever''', rendering the application unusable. If this happens, please report what operating system and what graphics card you are using so we can investigate it further.
* There is no build for OSX
* The user data folder is still makehuman/v1py3 rather than makehuman/v1, in order to guarrantee that the development version does not interfere with the stable version. This will probably be changed for the final release.
* The new blender importer will crash when used in a version of blender that is shipped with ubuntu 18.04. It works fine on ubuntu 18.04 if using a blender that is downloaded from blender's homepage though. Investigations are pending.
* The initial sync for the asset downloader will take a very long time to finish, and it might look as if it finished despite the files still being processed in the background
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
=== Running from source ===
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 or higher
* NumPy: 1.13.0 or higher
* PyOpenGL: Any modern version will work, including the one used for MakeHuman 1.1.x
=== Ubuntu ===
In order to fulfill the minimum dependency requirements listed above, you will need Ubuntu 18.04 or later. For earlier Ubuntu versions, you would have use backports of the dependencies, as they are not available in the default installation.
The PPA for this build is here: [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community ppa:makehuman-official/makehuman-community].
To enable it, run:
sudo add-apt-repository ppa:makehuman-official/makehuman-community
sudo apt-get update
sudo apt-get install makehuman-community
== The upgraded codebase ==
The main focus of this release has been to modernize the code. In the prior version, large parts were written more than eight years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The expected end of life for python 2.7 is in less than two years.
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
== Asset downloader ==
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
<br clear=all>
== New blender integration ==
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
[[File:12x-blender-ik.png|300px|thumb|right|Convert to IK rig]]
This release bundles a rich set of blender functionalitites, which can be added to blender in the form of an addon. Not all functionality will be listed here, but the following are
some highlights.
=== Import directly from MakeHuman ===
In blender it is now possible to fetch a toon directly from a running instance of MakeHuman, without having to first save the toon to a file. The importer will talk with the makehuman instance
and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses. The process is almost instantaneous (a toon with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== IK and amputations ===
The importer will use the skeleton set in MakeHuman to rig the resulting character in Blender. The rig can then be extended with the "IK rig" functionality: By clicking a button you can get extra
IK controls, and IK chains set up for arms, legs and fingers.
Rigs can also be amputated in case detailed bones are not required.
All rigs currently available to MakeHuman are supported.
=== Kinect ===
To be written
<br clear=all>
== A new windows installer ==
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
== Other bundled functionality ==
Apart from the above, some other functionality that previously had to be downloaded separately is now bundled:
=== MHX2 ===
MHX2 is now enabled per default in MakeHuman. The blender side of MHX2 is bundled as a zip file which can
be added to blender via the user preferences.
=== MHAPI ===
MHAPI (a library with convenience calls for making addons for MakeHuman) is now included and enabled per default.
== Providing feedback and bug reports ==
As always with an alpha release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums. But more formal bug trackers are here:
* For MakeHuman as such: [http://bugtracker.makehumancommunity.org/ http://bugtracker.makehumancommunity.org/]
* For the asset downloader: [https://github.com/makehumancommunity/community-plugins-assetdownload/issues https://github.com/makehumancommunity/community-plugins-assetdownload/issues]
* For the makehuman side of the new blender integration: [https://github.com/makehumancommunity/community-plugins-socket/issues https://github.com/makehumancommunity/community-plugins-socket/issues]
* For the blender side of the new blender integration: [https://github.com/makehumancommunity/makehuman-plugin-for-blender/issues https://github.com/makehumancommunity/makehuman-plugin-for-blender/issues]
* For issues specific to MHX2: [https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange/issues?status=new&status=open https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange/issues]
c905a96d682273103c4f40a6723a163ffed62891
1518
1517
2018-11-22T10:07:55Z
Joepal
14
wikitext
text/x-wiki
'''It is important to understand that 1.2.0 alpha 1 is an alpha release. This means that things ''will'' behave strangely. Before downloading the build, you should at least read the "known issues" section in these notes.'''
These notes are under construction and may be incomplete. Further, the notes describe, as of now, an alpha version of a coming release. The final release might be different from what is described below.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
The following are the changes since version 1.1.1.
== Highlights ==
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new Blender integration, with support for socket transfers, IK and Kinect
* Improved internationalization support for non-ASCII characters (backported)
* Plugins in user space
* Plugins activation at runtime
* Improved tag sorting capabilities, including sticky tag provisions
* Tags for models (with configurable tag count)
* Show Name Tags instead of file names in the file loader.
* Saving model as target
* Real weight estimation
* Configurable location for the home folder
* MHX2 is bundled in the default installation
* There is a new installer for windows
* There is a new PPA for ubuntu. This PPA also offers build of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds)
== Known issues ==
* FBX skeleton will still misbehave
* There are still graphics card incompatibilities in the OpenGL code
* There is no build for OSX
* The user data folder is still makehuman/v1py3 rather than makehuman/v1, in order to guarrantee that the development version does not interfere with the stable version. This will probably be changed for the final release.
* The new blender importer will crash when used in a version of blender that is shipped with ubuntu 18.04. It works fine on ubuntu 18.04 if using a blender that is downloaded from blender's homepage though. Investigations are pending.
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
=== Running from source ===
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 or higher
* NumPy: 1.13.0 or higher
* PyOpenGL: Any modern version will work, including the one used for MakeHuman 1.1.x
=== Ubuntu ===
In order to fulfill the minimum dependency requirements listed above, you will need Ubuntu 18.04 or later. For earlier Ubuntu versions, you would have use backports of the dependencies, as they are not available in the default installation.
The PPA for this build is here: [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community ppa:makehuman-official/makehuman-community].
To enable it, run:
sudo add-apt-repository ppa:makehuman-official/makehuman-community
sudo apt-get update
sudo apt-get install makehuman-community
== The upgraded codebase ==
The main focus of this release has been to modernize the code. In the prior version, large parts were written more than eight years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The expected end of life for python 2.7 is in less than two years.
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
== Asset downloader ==
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
<br clear=all>
== New blender integration ==
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
[[File:12x-blender-ik.png|300px|thumb|right|Convert to IK rig]]
This release bundles a rich set of blender functionalitites, which can be added to blender in the form of an addon. Not all functionality will be listed here, but the following are
some highlights.
=== Import directly from MakeHuman ===
In blender it is now possible to fetch a toon directly from a running instance of MakeHuman, without having to first save the toon to a file. The importer will talk with the makehuman instance
and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses. The process is almost instantaneous (a toon with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== IK and amputations ===
The importer will use the skeleton set in MakeHuman to rig the resulting character in Blender. The rig can then be extended with the "IK rig" functionality: By clicking a button you can get extra
IK controls, and IK chains set up for arms, legs and fingers.
Rigs can also be amputated in case detailed bones are not required.
All rigs currently available to MakeHuman are supported.
=== Kinect ===
To be written
<br clear=all>
== A new windows installer ==
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
== Other bundled functionality ==
Apart from the above, some other functionality that previously had to be downloaded separately is now bundled:
=== MHX2 ===
MHX2 is now enabled per default in MakeHuman. The blender side of MHX2 is bundled as a zip file which can
be added to blender via the user preferences.
=== MHAPI ===
MHAPI (a library with convenience calls for making addons for MakeHuman) is now included and enabled per default.
== Providing feedback and bug reports ==
As always with an alpha release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums. But more formal bug trackers are here:
* For MakeHuman as such: [http://bugtracker.makehumancommunity.org/ http://bugtracker.makehumancommunity.org/]
* For the asset downloader: [https://github.com/makehumancommunity/community-plugins-assetdownload/issues https://github.com/makehumancommunity/community-plugins-assetdownload/issues]
* For the makehuman side of the new blender integration: [https://github.com/makehumancommunity/community-plugins-socket/issues https://github.com/makehumancommunity/community-plugins-socket/issues]
* For the blender side of the new blender integration: [https://github.com/makehumancommunity/makehuman-plugin-for-blender/issues https://github.com/makehumancommunity/makehuman-plugin-for-blender/issues]
* For issues specific to MHX2: [https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange/issues?status=new&status=open https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange/issues]
69e14761de3d839481523b26e86efc20086073d6
1517
1516
2018-11-21T12:25:19Z
Joepal
14
/* The upgraded codebase */
wikitext
text/x-wiki
These notes are under construction and may be incomplete. Further, the notes describe, as of now, an alpha version of a coming release. The final release might be different from what is described below.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
The following are the changes since version 1.1.1.
== Highlights ==
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new Blender integration, with support for socket transfers, IK and Kinect
* Improved internationalization support for non-ASCII characters (backported)
* Plugins in user space
* Plugins activation at runtime
* Improved tag sorting capabilities, including sticky tag provisions
* Tags for models (with configurable tag count)
* Show Name Tags instead of file names in the file loader.
* Saving model as target
* Real weight estimation
* Configurable location for the home folder
* MHX2 is bundled in the default installation
* There is a new installer for windows
* There is a new PPA for ubuntu. This PPA also offers build of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds)
== Known issues ==
* FBX skeleton will still misbehave
* There are still graphics card incompatibilities in the OpenGL code
* There is no build for OSX
* The user data folder is still makehuman/v1py3 rather than makehuman/v1, in order to guarrantee that the development version does not interfere with the stable version. This will probably be changed for the final release.
* The new blender importer will crash when used in a version of blender that is shipped with ubuntu 18.04. It works fine on ubuntu 18.04 if using a blender that is downloaded from blender's homepage though. Investigations are pending.
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
=== Running from source ===
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 or higher
* NumPy: 1.13.0 or higher
* PyOpenGL: Any modern version will work, including the one used for MakeHuman 1.1.x
=== Ubuntu ===
In order to fulfill the minimum dependency requirements listed above, you will need Ubuntu 18.04 or later. For earlier Ubuntu versions, you would have use backports of the dependencies, as they are not available in the default installation.
The PPA for this build is here: [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community ppa:makehuman-official/makehuman-community].
To enable it, run:
sudo add-apt-repository ppa:makehuman-official/makehuman-community
sudo apt-get update
sudo apt-get install makehuman-community
== The upgraded codebase ==
The main focus of this release has been to modernize the code. In the prior version, large parts were written more than eight years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The expected end of life for python 2.7 is in less than two years.
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
== Asset downloader ==
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
<br clear=all>
== New blender integration ==
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
[[File:12x-blender-ik.png|300px|thumb|right|Convert to IK rig]]
This release bundles a rich set of blender functionalitites, which can be added to blender in the form of an addon. Not all functionality will be listed here, but the following are
some highlights.
=== Import directly from MakeHuman ===
In blender it is now possible to fetch a toon directly from a running instance of MakeHuman, without having to first save the toon to a file. The importer will talk with the makehuman instance
and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses. The process is almost instantaneous (a toon with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== IK and amputations ===
The importer will use the skeleton set in MakeHuman to rig the resulting character in Blender. The rig can then be extended with the "IK rig" functionality: By clicking a button you can get extra
IK controls, and IK chains set up for arms, legs and fingers.
Rigs can also be amputated in case detailed bones are not required.
All rigs currently available to MakeHuman are supported.
=== Kinect ===
To be written
<br clear=all>
== A new windows installer ==
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
== Other bundled functionality ==
Apart from the above, some other functionality that previously had to be downloaded separately is now bundled:
=== MHX2 ===
MHX2 is now enabled per default in MakeHuman. The blender side of MHX2 is bundled as a zip file which can
be added to blender via the user preferences.
=== MHAPI ===
MHAPI (a library with convenience calls for making addons for MakeHuman) is now included and enabled per default.
== Providing feedback and bug reports ==
As always with an alpha release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums. But more formal bug trackers are here:
* For MakeHuman as such: [http://bugtracker.makehumancommunity.org/ http://bugtracker.makehumancommunity.org/]
* For the asset downloader: [https://github.com/makehumancommunity/community-plugins-assetdownload/issues https://github.com/makehumancommunity/community-plugins-assetdownload/issues]
* For the makehuman side of the new blender integration: [https://github.com/makehumancommunity/community-plugins-socket/issues https://github.com/makehumancommunity/community-plugins-socket/issues]
* For the blender side of the new blender integration: [https://github.com/makehumancommunity/makehuman-plugin-for-blender/issues https://github.com/makehumancommunity/makehuman-plugin-for-blender/issues]
* For issues specific to MHX2: [https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange/issues?status=new&status=open https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange/issues]
651518278b646d8c99e3ded473269e7d17653c57
1516
1515
2018-11-21T12:22:47Z
Joepal
14
wikitext
text/x-wiki
These notes are under construction and may be incomplete. Further, the notes describe, as of now, an alpha version of a coming release. The final release might be different from what is described below.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
The following are the changes since version 1.1.1.
== Highlights ==
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new Blender integration, with support for socket transfers, IK and Kinect
* Improved internationalization support for non-ASCII characters (backported)
* Plugins in user space
* Plugins activation at runtime
* Improved tag sorting capabilities, including sticky tag provisions
* Tags for models (with configurable tag count)
* Show Name Tags instead of file names in the file loader.
* Saving model as target
* Real weight estimation
* Configurable location for the home folder
* MHX2 is bundled in the default installation
* There is a new installer for windows
* There is a new PPA for ubuntu. This PPA also offers build of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds)
== Known issues ==
* FBX skeleton will still misbehave
* There are still graphics card incompatibilities in the OpenGL code
* There is no build for OSX
* The user data folder is still makehuman/v1py3 rather than makehuman/v1, in order to guarrantee that the development version does not interfere with the stable version. This will probably be changed for the final release.
* The new blender importer will crash when used in a version of blender that is shipped with ubuntu 18.04. It works fine on ubuntu 18.04 if using a blender that is downloaded from blender's homepage though. Investigations are pending.
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
=== Running from source ===
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 or higher
* NumPy: 1.13.0 or higher
* PyOpenGL: Any modern version will work, including the one used for MakeHuman 1.1.x
=== Ubuntu ===
In order to fulfill the minimum dependency requirements listed above, you will need Ubuntu 18.04 or later. For earlier Ubuntu versions, you would have use backports of the dependencies, as they are not available in the default installation.
The PPA for this build is here: [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community ppa:makehuman-official/makehuman-community].
To enable it, run:
sudo add-apt-repository ppa:makehuman-official/makehuman-community
sudo apt-get update
sudo apt-get install makehuman-community
== The upgraded codebase ==
The main focus of this release has been to modernize the code. In the prior version, large parts was written more than eight years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The expected end of life for python 2.7 is in less than two years.
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
== Asset downloader ==
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
<br clear=all>
== New blender integration ==
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
[[File:12x-blender-ik.png|300px|thumb|right|Convert to IK rig]]
This release bundles a rich set of blender functionalitites, which can be added to blender in the form of an addon. Not all functionality will be listed here, but the following are
some highlights.
=== Import directly from MakeHuman ===
In blender it is now possible to fetch a toon directly from a running instance of MakeHuman, without having to first save the toon to a file. The importer will talk with the makehuman instance
and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses. The process is almost instantaneous (a toon with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== IK and amputations ===
The importer will use the skeleton set in MakeHuman to rig the resulting character in Blender. The rig can then be extended with the "IK rig" functionality: By clicking a button you can get extra
IK controls, and IK chains set up for arms, legs and fingers.
Rigs can also be amputated in case detailed bones are not required.
All rigs currently available to MakeHuman are supported.
=== Kinect ===
To be written
<br clear=all>
== A new windows installer ==
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
== Other bundled functionality ==
Apart from the above, some other functionality that previously had to be downloaded separately is now bundled:
=== MHX2 ===
MHX2 is now enabled per default in MakeHuman. The blender side of MHX2 is bundled as a zip file which can
be added to blender via the user preferences.
=== MHAPI ===
MHAPI (a library with convenience calls for making addons for MakeHuman) is now included and enabled per default.
== Providing feedback and bug reports ==
As always with an alpha release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums. But more formal bug trackers are here:
* For MakeHuman as such: [http://bugtracker.makehumancommunity.org/ http://bugtracker.makehumancommunity.org/]
* For the asset downloader: [https://github.com/makehumancommunity/community-plugins-assetdownload/issues https://github.com/makehumancommunity/community-plugins-assetdownload/issues]
* For the makehuman side of the new blender integration: [https://github.com/makehumancommunity/community-plugins-socket/issues https://github.com/makehumancommunity/community-plugins-socket/issues]
* For the blender side of the new blender integration: [https://github.com/makehumancommunity/makehuman-plugin-for-blender/issues https://github.com/makehumancommunity/makehuman-plugin-for-blender/issues]
* For issues specific to MHX2: [https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange/issues?status=new&status=open https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange/issues]
1a3bd575f391db5a1bd1c91749db8ecb5d42f6aa
1515
1514
2018-11-20T21:51:38Z
Robbaer
12
wikitext
text/x-wiki
These notes are under construction and may be incomplete. Further, the notes describe, as of now, an alpha version of a coming release. The final release might be different from what is described below.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
The following are the changes since version 1.1.1.
== Highlights ==
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new Blender integration, with support for socket transfers, IK and Kinect
* Improved internationalization support for non-ASCII characters (backported)
* Plugins in user space
* Plugins activation at runtime
* Improved tag sorting capabilities, including sticky tag provisions
* Tags for models (with configurable tag count)
* Show Name Tags instead of file names in the file loader.
* Saving model as target
* Real weight estimation
* Configurable location for the home folder
* MHX2 is bundled in the default installation
* There is a new installer for windows
* There is a new PPA for ubuntu. This PPA also offers build of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds)
== Known issues ==
* FBX skeleton will still misbehave
* There are still graphics card incompatibilities in the OpenGL code
* There is no build for OSX
* The user data folder is still makehuman/v1py3 rather than makehuman/v1, in order to guarrantee that the development version does not interfere with the stable version. This will probably be changed for the final release.
* The new blender importer will crash when used in a version of blender that is shipped with ubuntu 18.04. It works fine on ubuntu 18.04 if using a blender that is downloaded from blender's homepage though. Investigations are pending.
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
=== Running from source ===
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 or higher
* NumPy: 1.13.0 or higher
* PyOpenGL: Any modern version will work, including the one used for MakeHuman 1.1.x
=== Ubuntu ===
In order to fulfill the minimum dependency requirements listed above, you will need Ubuntu 18.04 or later. For earlier Ubuntu versions, you would have use backports of the dependencies, as they are not available in the default installation.
The PPA for this build is here: [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community ppa:makehuman-official/makehuman-community].
To enable it, run:
sudo add-apt-repository ppa:makehuman-official/makehuman-community
sudo apt-get update
sudo apt-get install makehuman-community
== The upgraded codebase ==
The main focus of this release has been to modernize the code. In the prior version, large parts was written more than eight years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The expected end of life for python 2.7 is in less than two years.
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
== Asset downloader ==
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
<br clear=all>
== New blender integration ==
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
[[File:12x-blender-ik.png|300px|thumb|right|Convert to IK rig]]
This release bundles a rich set of blender functionalitites, which can be added to blender in the form of an addon. Not all functionality will be listed here, but the following are
some highlights.
=== Import directly from MakeHuman ===
In blender it is now possible to fetch a toon directly from a running instance of MakeHuman, without having to first save the toon to a file. The importer will talk with the makehuman instance
and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses. The process is almost instantaneous (a toon with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== IK and amputations ===
The importer will use the skeleton set in MakeHuman to rig the resulting character in Blender. The rig can then be extended with the "IK rig" functionality: By clicking a button you can get extra
IK controls, and IK chains set up for arms, legs and fingers.
Rigs can also be amputated in case detailed bones are not required.
All rigs currently available to MakeHuman are supported.
=== Kinect ===
To be written
<br clear=all>
== A new windows installer ==
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
== Other bundled functionality ==
Apart from the above, some other functionality that previously had to be downloaded separately is now bundled:
=== MHX2 ===
MHX2 is now enabled per default in MakeHuman. The blender side of MHX2 is bundled as a zip file which can
be added to blender via the user preferences.
=== MHAPI ===
MHAPI (a library with convenience calls for making addons for MakeHuman) is now included and enabled per default.
e964fe2980c29dbf1d2bb8c1fa39af2bf05d3951
1514
1513
2018-11-20T15:59:14Z
Joepal
14
/* Known issues */
wikitext
text/x-wiki
These notes are under construction and may be incomplete. Further, the notes do as of yet describe an alpha version of a coming release. The final release might be different from what is described below.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
The following are the changes since version 1.1.1.
== Highlights ==
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new Blender integration, with support for socket transfers, IK and Kinect
* Improved internationalization support for non-ASCII characters (backported?)
* Plugins in user space
* Plugins activation at runtime
* Improved tag sorting capabilities
* Tags for models (with configurable tag count)
* Show Name Tags instead of file names in the file loader.
* Saving model as target
* Real weight estimation
* Configurable location for the home folder
* MHX2 is bundled in the default installation
* There is a new installer for windows
* There is a new PPA for ubuntu. This PPA also offers build of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds)
== Known issues ==
* FBX skeleton will still misbehave
* There are still graphics card incompatibilities in the OpenGL code
* There is no build for OSX
* The user data folder is still makehuman/v1py3 rather than makehuman/v1, in order to guarrantee that the development version does not interfere with the stable version. This will probably be changed for the final release.
* The new blender importer will crash when used in a version of blender that is shipped with ubuntu 18.04. It works fine on ubuntu 18.04 if using a blender that is downloaded from blender's homepage though. Investigations are pending.
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
=== Running from source ===
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 or higher
* NumPy: 1.13.0 or higher
* PyOpenGL: Any modern version will work, including the one used for MakeHuman 1.1.x
=== Ubuntu ===
In order to fulfill the minimum dependency requirements listed above, you will need Ubuntu 18.04 or later. For earlier ubuntu versions, you would have use backports of the dependencies, as they are not available in the default installation.
The PPA for this build is here: [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community ppa:makehuman-official/makehuman-community].
To enable it, run:
sudo add-apt-repository ppa:makehuman-official/makehuman-community
sudo apt-get update
sudo apt-get install makehuman-community
== The upgraded codebase ==
The main focus of this release has been to modernize the code. In the prior version, large parts was written more than eight years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The expected end of life for python 2.7 is in less than two years.
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
== Asset downloader ==
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
<br clear=all>
== New blender integration ==
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
[[File:12x-blender-ik.png|300px|thumb|right|Convert to IK rig]]
This release bundles a rich set of blender functionalitites, which can be added to blender in the form of an addon. Not all functionality will be listed here, but the following are
some highlights.
=== Import directly from MakeHuman ===
In blender it is now possible to fetch a toon directly from a running instance of MakeHuman, without having to first save the toon to a file. The importer will talk with the makehuman instance
and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses. The process is almost instantaneous (a toon with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== IK and amputations ===
The importer will use the skeleton set in MakeHuman to rig the resulting character in Blender. The rig can then be extended with the "IK rig" functionality: By clicking a button you can get extra
IK controls, and IK chains set up for arms, legs and fingers.
Rigs can also be amputated in case detailed bones are not required.
All rigs currently available to MakeHuman are supported.
=== Kinect ===
To be written
<br clear=all>
== A new windows installer ==
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
== Other bundled functionality ==
Apart from the above, some other functionality that previously had to be downloaded separately is now bundled:
=== MHX2 ===
MHX2 is now enabled per default in MakeHuman. The blender side of MHX2 is bundled as a zip file which can
be added to blender via the user preferences.
=== MHAPI ===
MHAPI (a library with convenience calls for making addons for MakeHuman) is now included and enabled per default.
d7338d14c68db72e9eb1a1d073397c0839bbec09
1513
1512
2018-11-20T12:49:34Z
Joepal
14
/* Known issues */
wikitext
text/x-wiki
These notes are under construction and may be incomplete. Further, the notes do as of yet describe an alpha version of a coming release. The final release might be different from what is described below.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
The following are the changes since version 1.1.1.
== Highlights ==
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new Blender integration, with support for socket transfers, IK and Kinect
* Improved internationalization support for non-ASCII characters (backported?)
* Plugins in user space
* Plugins activation at runtime
* Improved tag sorting capabilities
* Tags for models (with configurable tag count)
* Show Name Tags instead of file names in the file loader.
* Saving model as target
* Real weight estimation
* Configurable location for the home folder
* MHX2 is bundled in the default installation
* There is a new installer for windows
* There is a new PPA for ubuntu. This PPA also offers build of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds)
== Known issues ==
* FBX skeleton will still misbehave
* There are still graphics card incompatibilities in the OpenGL code
* There is no build for OSX
* The user data folder is still makehuman/v1py3 rather than makehuman/v1, in order to guarrantee that the development version does not interfere with the stable version. This will probably be changed for the final release.
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
=== Running from source ===
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 or higher
* NumPy: 1.13.0 or higher
* PyOpenGL: Any modern version will work, including the one used for MakeHuman 1.1.x
=== Ubuntu ===
In order to fulfill the minimum dependency requirements listed above, you will need Ubuntu 18.04 or later. For earlier ubuntu versions, you would have use backports of the dependencies, as they are not available in the default installation.
The PPA for this build is here: [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community ppa:makehuman-official/makehuman-community].
To enable it, run:
sudo add-apt-repository ppa:makehuman-official/makehuman-community
sudo apt-get update
sudo apt-get install makehuman-community
== The upgraded codebase ==
The main focus of this release has been to modernize the code. In the prior version, large parts was written more than eight years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The expected end of life for python 2.7 is in less than two years.
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
== Asset downloader ==
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
<br clear=all>
== New blender integration ==
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
[[File:12x-blender-ik.png|300px|thumb|right|Convert to IK rig]]
This release bundles a rich set of blender functionalitites, which can be added to blender in the form of an addon. Not all functionality will be listed here, but the following are
some highlights.
=== Import directly from MakeHuman ===
In blender it is now possible to fetch a toon directly from a running instance of MakeHuman, without having to first save the toon to a file. The importer will talk with the makehuman instance
and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses. The process is almost instantaneous (a toon with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== IK and amputations ===
The importer will use the skeleton set in MakeHuman to rig the resulting character in Blender. The rig can then be extended with the "IK rig" functionality: By clicking a button you can get extra
IK controls, and IK chains set up for arms, legs and fingers.
Rigs can also be amputated in case detailed bones are not required.
All rigs currently available to MakeHuman are supported.
=== Kinect ===
To be written
<br clear=all>
== A new windows installer ==
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
== Other bundled functionality ==
Apart from the above, some other functionality that previously had to be downloaded separately is now bundled:
=== MHX2 ===
MHX2 is now enabled per default in MakeHuman. The blender side of MHX2 is bundled as a zip file which can
be added to blender via the user preferences.
=== MHAPI ===
MHAPI (a library with convenience calls for making addons for MakeHuman) is now included and enabled per default.
607ad98bfdb441d457c016006ff3c178cc1f5f83
1512
1511
2018-11-20T12:46:29Z
Joepal
14
/* The upgraded codebase */
wikitext
text/x-wiki
These notes are under construction and may be incomplete. Further, the notes do as of yet describe an alpha version of a coming release. The final release might be different from what is described below.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
The following are the changes since version 1.1.1.
== Highlights ==
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new Blender integration, with support for socket transfers, IK and Kinect
* Improved internationalization support for non-ASCII characters (backported?)
* Plugins in user space
* Plugins activation at runtime
* Improved tag sorting capabilities
* Tags for models (with configurable tag count)
* Show Name Tags instead of file names in the file loader.
* Saving model as target
* Real weight estimation
* Configurable location for the home folder
* MHX2 is bundled in the default installation
* There is a new installer for windows
* There is a new PPA for ubuntu. This PPA also offers build of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds)
== Known issues ==
* FBX skeleton will still misbehave
* There are still graphics card incompatibilities in the OpenGL code
* There is no build for OSX
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
=== Running from source ===
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 or higher
* NumPy: 1.13.0 or higher
* PyOpenGL: Any modern version will work, including the one used for MakeHuman 1.1.x
=== Ubuntu ===
In order to fulfill the minimum dependency requirements listed above, you will need Ubuntu 18.04 or later. For earlier ubuntu versions, you would have use backports of the dependencies, as they are not available in the default installation.
The PPA for this build is here: [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community ppa:makehuman-official/makehuman-community].
To enable it, run:
sudo add-apt-repository ppa:makehuman-official/makehuman-community
sudo apt-get update
sudo apt-get install makehuman-community
== The upgraded codebase ==
The main focus of this release has been to modernize the code. In the prior version, large parts was written more than eight years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The expected end of life for python 2.7 is in less than two years.
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
== Asset downloader ==
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
<br clear=all>
== New blender integration ==
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
[[File:12x-blender-ik.png|300px|thumb|right|Convert to IK rig]]
This release bundles a rich set of blender functionalitites, which can be added to blender in the form of an addon. Not all functionality will be listed here, but the following are
some highlights.
=== Import directly from MakeHuman ===
In blender it is now possible to fetch a toon directly from a running instance of MakeHuman, without having to first save the toon to a file. The importer will talk with the makehuman instance
and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses. The process is almost instantaneous (a toon with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== IK and amputations ===
The importer will use the skeleton set in MakeHuman to rig the resulting character in Blender. The rig can then be extended with the "IK rig" functionality: By clicking a button you can get extra
IK controls, and IK chains set up for arms, legs and fingers.
Rigs can also be amputated in case detailed bones are not required.
All rigs currently available to MakeHuman are supported.
=== Kinect ===
To be written
<br clear=all>
== A new windows installer ==
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
== Other bundled functionality ==
Apart from the above, some other functionality that previously had to be downloaded separately is now bundled:
=== MHX2 ===
MHX2 is now enabled per default in MakeHuman. The blender side of MHX2 is bundled as a zip file which can
be added to blender via the user preferences.
=== MHAPI ===
MHAPI (a library with convenience calls for making addons for MakeHuman) is now included and enabled per default.
99499df62dbcac01af57593ef657b1894fd1649f
1511
1510
2018-11-20T12:27:17Z
Joepal
14
/* Ubuntu */
wikitext
text/x-wiki
These notes are under construction and may be incomplete. Further, the notes do as of yet describe an alpha version of a coming release. The final release might be different from what is described below.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
The following are the changes since version 1.1.1.
== Highlights ==
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new Blender integration, with support for socket transfers, IK and Kinect
* Improved internationalization support for non-ASCII characters (backported?)
* Plugins in user space
* Plugins activation at runtime
* Improved tag sorting capabilities
* Tags for models (with configurable tag count)
* Show Name Tags instead of file names in the file loader.
* Saving model as target
* Real weight estimation
* Configurable location for the home folder
* MHX2 is bundled in the default installation
* There is a new installer for windows
* There is a new PPA for ubuntu. This PPA also offers build of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds)
== Known issues ==
* FBX skeleton will still misbehave
* There are still graphics card incompatibilities in the OpenGL code
* There is no build for OSX
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
=== Running from source ===
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 or higher
* NumPy: 1.13.0 or higher
* PyOpenGL: Any modern version will work, including the one used for MakeHuman 1.1.x
=== Ubuntu ===
In order to fulfill the minimum dependency requirements listed above, you will need Ubuntu 18.04 or later. For earlier ubuntu versions, you would have use backports of the dependencies, as they are not available in the default installation.
The PPA for this build is here: [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community ppa:makehuman-official/makehuman-community].
To enable it, run:
sudo add-apt-repository ppa:makehuman-official/makehuman-community
sudo apt-get update
sudo apt-get install makehuman-community
== The upgraded codebase ==
Information about the upgrade and the new base requirements...
== Asset downloader ==
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
<br clear=all>
== New blender integration ==
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
[[File:12x-blender-ik.png|300px|thumb|right|Convert to IK rig]]
This release bundles a rich set of blender functionalitites, which can be added to blender in the form of an addon. Not all functionality will be listed here, but the following are
some highlights.
=== Import directly from MakeHuman ===
In blender it is now possible to fetch a toon directly from a running instance of MakeHuman, without having to first save the toon to a file. The importer will talk with the makehuman instance
and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses. The process is almost instantaneous (a toon with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== IK and amputations ===
The importer will use the skeleton set in MakeHuman to rig the resulting character in Blender. The rig can then be extended with the "IK rig" functionality: By clicking a button you can get extra
IK controls, and IK chains set up for arms, legs and fingers.
Rigs can also be amputated in case detailed bones are not required.
All rigs currently available to MakeHuman are supported.
=== Kinect ===
To be written
<br clear=all>
== A new windows installer ==
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
== Other bundled functionality ==
Apart from the above, some other functionality that previously had to be downloaded separately is now bundled:
=== MHX2 ===
MHX2 is now enabled per default in MakeHuman. The blender side of MHX2 is bundled as a zip file which can
be added to blender via the user preferences.
=== MHAPI ===
MHAPI (a library with convenience calls for making addons for MakeHuman) is now included and enabled per default.
434cf0377224d07db21261577a574ede43f95007
1510
1509
2018-11-20T12:24:20Z
Joepal
14
/* Highlights */
wikitext
text/x-wiki
These notes are under construction and may be incomplete. Further, the notes do as of yet describe an alpha version of a coming release. The final release might be different from what is described below.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
The following are the changes since version 1.1.1.
== Highlights ==
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new Blender integration, with support for socket transfers, IK and Kinect
* Improved internationalization support for non-ASCII characters (backported?)
* Plugins in user space
* Plugins activation at runtime
* Improved tag sorting capabilities
* Tags for models (with configurable tag count)
* Show Name Tags instead of file names in the file loader.
* Saving model as target
* Real weight estimation
* Configurable location for the home folder
* MHX2 is bundled in the default installation
* There is a new installer for windows
* There is a new PPA for ubuntu. This PPA also offers build of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds)
== Known issues ==
* FBX skeleton will still misbehave
* There are still graphics card incompatibilities in the OpenGL code
* There is no build for OSX
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
=== Running from source ===
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 or higher
* NumPy: 1.13.0 or higher
* PyOpenGL: Any modern version will work, including the one used for MakeHuman 1.1.x
=== Ubuntu ===
In order to fulfill the minimum dependency requirements listed above, you will need Ubuntu 18.04 or later. For earlier ubuntu versions, you would have use backports of the dependencies, as they are not available in the default installation.
PPAs will be provided for 18.04 and later releases.
== The upgraded codebase ==
Information about the upgrade and the new base requirements...
== Asset downloader ==
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
<br clear=all>
== New blender integration ==
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
[[File:12x-blender-ik.png|300px|thumb|right|Convert to IK rig]]
This release bundles a rich set of blender functionalitites, which can be added to blender in the form of an addon. Not all functionality will be listed here, but the following are
some highlights.
=== Import directly from MakeHuman ===
In blender it is now possible to fetch a toon directly from a running instance of MakeHuman, without having to first save the toon to a file. The importer will talk with the makehuman instance
and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses. The process is almost instantaneous (a toon with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== IK and amputations ===
The importer will use the skeleton set in MakeHuman to rig the resulting character in Blender. The rig can then be extended with the "IK rig" functionality: By clicking a button you can get extra
IK controls, and IK chains set up for arms, legs and fingers.
Rigs can also be amputated in case detailed bones are not required.
All rigs currently available to MakeHuman are supported.
=== Kinect ===
To be written
<br clear=all>
== A new windows installer ==
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
== Other bundled functionality ==
Apart from the above, some other functionality that previously had to be downloaded separately is now bundled:
=== MHX2 ===
MHX2 is now enabled per default in MakeHuman. The blender side of MHX2 is bundled as a zip file which can
be added to blender via the user preferences.
=== MHAPI ===
MHAPI (a library with convenience calls for making addons for MakeHuman) is now included and enabled per default.
4e8d525035791ceadd8a95ffd7184a2d9a99b68c
1509
1508
2018-11-20T12:22:25Z
Joepal
14
wikitext
text/x-wiki
These notes are under construction and may be incomplete. Further, the notes do as of yet describe an alpha version of a coming release. The final release might be different from what is described below.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
The following are the changes since version 1.1.1.
== Highlights ==
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new Blender integration, with support for socket transfers, IK and Kinect
* Improved internationalization support for non-ASCII characters (backported?)
* Plugins in user space
* Plugins activation at runtime
* Improved tag sorting capabilities
* Tags for models (with configurable tag count)
* Show Name Tags instead of file names in the file loader.
* Saving model as target
* Real weight estimation
* Configurable location for the home folder
* MHX2 is bundled in the default installation
* There is a new installer for windows
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman packages)
== Known issues ==
* FBX skeleton will still misbehave
* There are still graphics card incompatibilities in the OpenGL code
* There is no build for OSX
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
=== Running from source ===
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 or higher
* NumPy: 1.13.0 or higher
* PyOpenGL: Any modern version will work, including the one used for MakeHuman 1.1.x
=== Ubuntu ===
In order to fulfill the minimum dependency requirements listed above, you will need Ubuntu 18.04 or later. For earlier ubuntu versions, you would have use backports of the dependencies, as they are not available in the default installation.
PPAs will be provided for 18.04 and later releases.
== The upgraded codebase ==
Information about the upgrade and the new base requirements...
== Asset downloader ==
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
<br clear=all>
== New blender integration ==
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
[[File:12x-blender-ik.png|300px|thumb|right|Convert to IK rig]]
This release bundles a rich set of blender functionalitites, which can be added to blender in the form of an addon. Not all functionality will be listed here, but the following are
some highlights.
=== Import directly from MakeHuman ===
In blender it is now possible to fetch a toon directly from a running instance of MakeHuman, without having to first save the toon to a file. The importer will talk with the makehuman instance
and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses. The process is almost instantaneous (a toon with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== IK and amputations ===
The importer will use the skeleton set in MakeHuman to rig the resulting character in Blender. The rig can then be extended with the "IK rig" functionality: By clicking a button you can get extra
IK controls, and IK chains set up for arms, legs and fingers.
Rigs can also be amputated in case detailed bones are not required.
All rigs currently available to MakeHuman are supported.
=== Kinect ===
To be written
<br clear=all>
== A new windows installer ==
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
== Other bundled functionality ==
Apart from the above, some other functionality that previously had to be downloaded separately is now bundled:
=== MHX2 ===
MHX2 is now enabled per default in MakeHuman. The blender side of MHX2 is bundled as a zip file which can
be added to blender via the user preferences.
=== MHAPI ===
MHAPI (a library with convenience calls for making addons for MakeHuman) is now included and enabled per default.
36629ec6a020a595d51184d161b72569b4a69d08
1508
1507
2018-11-17T11:38:45Z
Aranuvir
17
/* Highlights */
wikitext
text/x-wiki
These notes are under construction and may be incomplete
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
The following are the changes since version 1.1.1.
== Highlights ==
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new Blender integration, with support for socket transfers, IK and Kinect
* Improved internationalization support for non-ASCII characters (backported?)
* Plugins in user space
* Plugins activation at runtime
* Improved tag sorting capabilities
* Tags for models (with configurable tag count)
* Show Name Tags instead of file names in the file loader.
* Saving model as target
* Real weight estimation
* Configurable location for the home folder
* MHX2 is bundled in the default installation
* There is a new installer for windows
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman packages)
== Known issues ==
* FBX skeleton will still misbehave
* There are still graphics card incompatibilities in the OpenGL code
* There is no build for OSX
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
=== Running from source ===
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 or higher
* NumPy: 1.13.0 or higher
* PyOpenGL: Any modern version will work, including the one used for MakeHuman 1.1.x
=== Ubuntu ===
In order to fulfill the minimum dependency requirements listed above, you will need Ubuntu 18.04 or later. For earlier ubuntu versions, you would have use backports of the dependencies, as they are not available in the default installation.
PPAs will be provided for 18.04 and later releases.
== The upgraded codebase ==
Information about the upgrade and the new base requirements...
== Asset downloader ==
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
<br clear=all>
== New blender integration ==
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
[[File:12x-blender-ik.png|300px|thumb|right|Convert to IK rig]]
This release bundles a rich set of blender functionalitites, which can be added to blender in the form of an addon. Not all functionality will be listed here, but the following are
some highlights.
=== Import directly from MakeHuman ===
In blender it is now possible to fetch a toon directly from a running instance of MakeHuman, without having to first save the toon to a file. The importer will talk with the makehuman instance
and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses. The process is almost instantaneous (a toon with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== IK and amputations ===
The importer will use the skeleton set in MakeHuman to rig the resulting character in Blender. The rig can then be extended with the "IK rig" functionality: By clicking a button you can get extra
IK controls, and IK chains set up for arms, legs and fingers.
Rigs can also be amputated in case detailed bones are not required.
All rigs currently available to MakeHuman are supported.
=== Kinect ===
To be written
<br clear=all>
== A new windows installer ==
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
== Other bundled functionality ==
Apart from the above, some other functionality that previously had to be downloaded separately is now bundled:
=== MHX2 ===
MHX2 is now enabled per default in MakeHuman. The blender side of MHX2 is bundled as a zip file which can
be added to blender via the user preferences.
=== MHAPI ===
MHAPI (a library with convenience calls for making addons for MakeHuman) is now included and enabled per default.
6eb239c89e687decffcf231aeefb01964281a1ac
1507
1506
2018-11-14T15:11:56Z
Joepal
14
/* Running from source */
wikitext
text/x-wiki
These notes are under construction and may be incomplete
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
The following are the changes since version 1.1.1.
== Highlights ==
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new Blender integration, with support for socket transfers, IK and Kinect
* Improved internationalization support for non-ASCII characters (backported?)
* ... (Aranuvir: can you add a list of the new features you've written?)
* Improved tag sorting capabilities
* MHX2 is bundled in the default installation
* There is a new installer for windows
== Known issues ==
* FBX skeleton will still misbehave
* There are still graphics card incompatibilities in the OpenGL code
* There is no build for OSX
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
=== Running from source ===
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 or higher
* NumPy: 1.13.0 or higher
* PyOpenGL: Any modern version will work, including the one used for MakeHuman 1.1.x
=== Ubuntu ===
In order to fulfill the minimum dependency requirements listed above, you will need Ubuntu 18.04 or later. For earlier ubuntu versions, you would have use backports of the dependencies, as they are not available in the default installation.
PPAs will be provided for 18.04 and later releases.
== The upgraded codebase ==
Information about the upgrade and the new base requirements...
== Asset downloader ==
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
<br clear=all>
== New blender integration ==
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
[[File:12x-blender-ik.png|300px|thumb|right|Convert to IK rig]]
This release bundles a rich set of blender functionalitites, which can be added to blender in the form of an addon. Not all functionality will be listed here, but the following are
some highlights.
=== Import directly from MakeHuman ===
In blender it is now possible to fetch a toon directly from a running instance of MakeHuman, without having to first save the toon to a file. The importer will talk with the makehuman instance
and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses. The process is almost instantaneous (a toon with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== IK and amputations ===
The importer will use the skeleton set in MakeHuman to rig the resulting character in Blender. The rig can then be extended with the "IK rig" functionality: By clicking a button you can get extra
IK controls, and IK chains set up for arms, legs and fingers.
Rigs can also be amputated in case detailed bones are not required.
All rigs currently available to MakeHuman are supported.
=== Kinect ===
To be written
<br clear=all>
== A new windows installer ==
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
== Other bundled functionality ==
Apart from the above, some other functionality that previously had to be downloaded separately is now bundled:
=== MHX2 ===
MHX2 is now enabled per default in MakeHuman. The blender side of MHX2 is bundled as a zip file which can
be added to blender via the user preferences.
=== MHAPI ===
MHAPI (a library with convenience calls for making addons for MakeHuman) is now included and enabled per default.
27f314ab591f594946396e462e9e786796b76b5b
1506
1505
2018-11-14T15:10:50Z
Joepal
14
/* Upgrading */
wikitext
text/x-wiki
These notes are under construction and may be incomplete
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
The following are the changes since version 1.1.1.
== Highlights ==
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new Blender integration, with support for socket transfers, IK and Kinect
* Improved internationalization support for non-ASCII characters (backported?)
* ... (Aranuvir: can you add a list of the new features you've written?)
* Improved tag sorting capabilities
* MHX2 is bundled in the default installation
* There is a new installer for windows
== Known issues ==
* FBX skeleton will still misbehave
* There are still graphics card incompatibilities in the OpenGL code
* There is no build for OSX
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
=== Running from source ===
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 or higher
* NumPy: 1.13.0 or higher
* PyOpenGl: Any modern version will work, including the one used for MakeHuman 1.1.x
=== Ubuntu ===
In order to fulfill the minimum dependency requirements listed above, you will need Ubuntu 18.04 or later. For earlier ubuntu versions, you would have use backports of the dependencies, as they are not available in the default installation.
PPAs will be provided for 18.04 and later releases.
== The upgraded codebase ==
Information about the upgrade and the new base requirements...
== Asset downloader ==
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
<br clear=all>
== New blender integration ==
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
[[File:12x-blender-ik.png|300px|thumb|right|Convert to IK rig]]
This release bundles a rich set of blender functionalitites, which can be added to blender in the form of an addon. Not all functionality will be listed here, but the following are
some highlights.
=== Import directly from MakeHuman ===
In blender it is now possible to fetch a toon directly from a running instance of MakeHuman, without having to first save the toon to a file. The importer will talk with the makehuman instance
and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses. The process is almost instantaneous (a toon with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== IK and amputations ===
The importer will use the skeleton set in MakeHuman to rig the resulting character in Blender. The rig can then be extended with the "IK rig" functionality: By clicking a button you can get extra
IK controls, and IK chains set up for arms, legs and fingers.
Rigs can also be amputated in case detailed bones are not required.
All rigs currently available to MakeHuman are supported.
=== Kinect ===
To be written
<br clear=all>
== A new windows installer ==
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
== Other bundled functionality ==
Apart from the above, some other functionality that previously had to be downloaded separately is now bundled:
=== MHX2 ===
MHX2 is now enabled per default in MakeHuman. The blender side of MHX2 is bundled as a zip file which can
be added to blender via the user preferences.
=== MHAPI ===
MHAPI (a library with convenience calls for making addons for MakeHuman) is now included and enabled per default.
cb90d99c45ae3a86c1dac63ef58a2bab92945d58
1505
1504
2018-11-14T15:09:41Z
Joepal
14
/* Upgrading */
wikitext
text/x-wiki
These notes are under construction and may be incomplete
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
The following are the changes since version 1.1.1.
== Highlights ==
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new Blender integration, with support for socket transfers, IK and Kinect
* Improved internationalization support for non-ASCII characters (backported?)
* ... (Aranuvir: can you add a list of the new features you've written?)
* Improved tag sorting capabilities
* MHX2 is bundled in the default installation
* There is a new installer for windows
== Known issues ==
* FBX skeleton will still misbehave
* There are still graphics card incompatibilities in the OpenGL code
* There is no build for OSX
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions.
=== Running from source ===
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 or higher
* NumPy: 1.13.0 or higher
* PyOpenGl: Any modern version will work, including the one used for MakeHuman 1.1.x
=== Ubuntu ===
In order to fulfill the minimum dependency requirements listed above, you will need Ubuntu 18.04 or later. For earlier ubuntu versions, you would have use backports of the dependencies, as they are not available in the default installation.
PPAs will be provided for 18.04 and later releases.
== The upgraded codebase ==
Information about the upgrade and the new base requirements...
== Asset downloader ==
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
<br clear=all>
== New blender integration ==
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
[[File:12x-blender-ik.png|300px|thumb|right|Convert to IK rig]]
This release bundles a rich set of blender functionalitites, which can be added to blender in the form of an addon. Not all functionality will be listed here, but the following are
some highlights.
=== Import directly from MakeHuman ===
In blender it is now possible to fetch a toon directly from a running instance of MakeHuman, without having to first save the toon to a file. The importer will talk with the makehuman instance
and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses. The process is almost instantaneous (a toon with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== IK and amputations ===
The importer will use the skeleton set in MakeHuman to rig the resulting character in Blender. The rig can then be extended with the "IK rig" functionality: By clicking a button you can get extra
IK controls, and IK chains set up for arms, legs and fingers.
Rigs can also be amputated in case detailed bones are not required.
All rigs currently available to MakeHuman are supported.
=== Kinect ===
To be written
<br clear=all>
== A new windows installer ==
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
== Other bundled functionality ==
Apart from the above, some other functionality that previously had to be downloaded separately is now bundled:
=== MHX2 ===
MHX2 is now enabled per default in MakeHuman. The blender side of MHX2 is bundled as a zip file which can
be added to blender via the user preferences.
=== MHAPI ===
MHAPI (a library with convenience calls for making addons for MakeHuman) is now included and enabled per default.
6f921d147683049a8c06a9fba9a430b6ba31ea5b
1504
1503
2018-11-14T14:15:47Z
Joepal
14
/* Other bundled functionality */
wikitext
text/x-wiki
These notes are under construction and may be incomplete
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
The following are the changes since version 1.1.1.
== Highlights ==
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new Blender integration, with support for socket transfers, IK and Kinect
* Improved internationalization support for non-ASCII characters (backported?)
* ... (Aranuvir: can you add a list of the new features you've written?)
* Improved tag sorting capabilities
* MHX2 is bundled in the default installation
* There is a new installer for windows
== Known issues ==
* FBX skeleton will still misbehave
* There are still graphics card incompatibilities in the OpenGL code
* There is no build for OSX
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions.
=== Running from source ===
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 or higher
* NumPy: 1.13.0 or higher
* PyOpenGl: Any modern version will work, including the one used for MakeHuman 1.1.x
== The upgraded codebase ==
Information about the upgrade and the new base requirements...
== Asset downloader ==
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
<br clear=all>
== New blender integration ==
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
[[File:12x-blender-ik.png|300px|thumb|right|Convert to IK rig]]
This release bundles a rich set of blender functionalitites, which can be added to blender in the form of an addon. Not all functionality will be listed here, but the following are
some highlights.
=== Import directly from MakeHuman ===
In blender it is now possible to fetch a toon directly from a running instance of MakeHuman, without having to first save the toon to a file. The importer will talk with the makehuman instance
and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses. The process is almost instantaneous (a toon with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== IK and amputations ===
The importer will use the skeleton set in MakeHuman to rig the resulting character in Blender. The rig can then be extended with the "IK rig" functionality: By clicking a button you can get extra
IK controls, and IK chains set up for arms, legs and fingers.
Rigs can also be amputated in case detailed bones are not required.
All rigs currently available to MakeHuman are supported.
=== Kinect ===
To be written
<br clear=all>
== A new windows installer ==
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
== Other bundled functionality ==
Apart from the above, some other functionality that previously had to be downloaded separately is now bundled:
=== MHX2 ===
MHX2 is now enabled per default in MakeHuman. The blender side of MHX2 is bundled as a zip file which can
be added to blender via the user preferences.
=== MHAPI ===
MHAPI (a library with convenience calls for making addons for MakeHuman) is now included and enabled per default.
5e700bb2771efbc5c0dafe8cc0eb0f5b4674bfa6
1503
1502
2018-11-14T14:13:18Z
Joepal
14
wikitext
text/x-wiki
These notes are under construction and may be incomplete
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
The following are the changes since version 1.1.1.
== Highlights ==
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new Blender integration, with support for socket transfers, IK and Kinect
* Improved internationalization support for non-ASCII characters (backported?)
* ... (Aranuvir: can you add a list of the new features you've written?)
* Improved tag sorting capabilities
* MHX2 is bundled in the default installation
* There is a new installer for windows
== Known issues ==
* FBX skeleton will still misbehave
* There are still graphics card incompatibilities in the OpenGL code
* There is no build for OSX
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions.
=== Running from source ===
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 or higher
* NumPy: 1.13.0 or higher
* PyOpenGl: Any modern version will work, including the one used for MakeHuman 1.1.x
== The upgraded codebase ==
Information about the upgrade and the new base requirements...
== Asset downloader ==
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
<br clear=all>
== New blender integration ==
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
[[File:12x-blender-ik.png|300px|thumb|right|Convert to IK rig]]
This release bundles a rich set of blender functionalitites, which can be added to blender in the form of an addon. Not all functionality will be listed here, but the following are
some highlights.
=== Import directly from MakeHuman ===
In blender it is now possible to fetch a toon directly from a running instance of MakeHuman, without having to first save the toon to a file. The importer will talk with the makehuman instance
and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses. The process is almost instantaneous (a toon with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== IK and amputations ===
The importer will use the skeleton set in MakeHuman to rig the resulting character in Blender. The rig can then be extended with the "IK rig" functionality: By clicking a button you can get extra
IK controls, and IK chains set up for arms, legs and fingers.
Rigs can also be amputated in case detailed bones are not required.
All rigs currently available to MakeHuman are supported.
=== Kinect ===
To be written
<br clear=all>
== A new windows installer ==
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
== Other bundled functionality ==
MHX2, maybe more bundled materials...
0bbc67413c7d011d5581f1b5ce0a9673fa9df6b0
1502
1501
2018-11-14T14:12:54Z
Joepal
14
wikitext
text/x-wiki
These notes are under construction and may be incomplete
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
The following are the changes since version 1.1.1.
== Highlights ==
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new Blender integration, with support for socket transfers, IK and Kinect
* Improved internationalization support for non-ASCII characters (backported?)
* ... (Aranuvir: can you add a list of the new features you've written?)
* Improved tag sorting capabilities
* MHX2 is bundled in the default installation
* There is a new installer for windows
== Known issues ==
* FBX skeleton will still misbehave
* There are still graphics card incompatibilities in the OpenGL code
* There is no build for OSX
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions.
=== Running from source ===
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 or higher
* NumPy: 1.13.0 or higher
* PyOpenGl: Any modern version will work, including the one used for MakeHuman 1.1.x
== The upgraded codebase ==
Information about the upgrade and the new base requirements...
== Asset downloader ==
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
<br clear=all>
== New blender integration ==
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
[[File:12x-blender-ik.png|300px|thumb|right|Convert to IK rig]]
This release bundles a rich set of blender functionalitites, which can be added to blender in the form of an addon. Not all functionality will be listed here, but the following are
some highlights.
=== Import directly from MakeHuman ===
In blender it is now possible to fetch a toon directly from a running instance of MakeHuman, without having to first save the toon to a file. The importer will talk with the makehuman instance
and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses. The process is almost instantaneous (a toon with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== IK and amputations ===
The importer will use the skeleton set in MakeHuman to rig the resulting character in Blender. The rig can then be extended with the "IK rig" functionality: By clicking a button you can get extra
IK controls, and IK chains set up for arms, legs and fingers.
Rigs can also be amputated in case detailed bones are not required.
All rigs currently available to MakeHuman are supported.
=== Kinect ===
To be written
<br clear=all>
=== A new windows installer ===
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
== Other bundled functionality ==
MHX2, maybe more bundled materials...
1df70c240a4224f043541d64c6c6b43f43d5b3de
1501
1500
2018-11-14T14:09:35Z
Joepal
14
/* Highlights */
wikitext
text/x-wiki
These notes are under construction and may be incomplete
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
The following are the changes since version 1.1.1.
== Highlights ==
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new Blender integration, with support for socket transfers, IK and Kinect
* Improved internationalization support for non-ASCII characters (backported?)
* ... (Aranuvir: can you add a list of the new features you've written?)
* Improved tag sorting capabilities
* MHX2 is bundled in the default installation
* There is a new installer for windows
== Known issues ==
* FBX skeleton will still misbehave
* There are still graphics card incompatibilities in the OpenGL code
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions.
=== Running from source ===
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 or higher
* NumPy: 1.13.0 or higher
* PyOpenGl: Any modern version will work, including the one used for MakeHuman 1.1.x
== The upgraded codebase ==
Information about the upgrade and the new base requirements...
== Asset downloader ==
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
<br clear=all>
== New blender integration ==
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
[[File:12x-blender-ik.png|300px|thumb|right|Convert to IK rig]]
This release bundles a rich set of blender functionalitites, which can be added to blender in the form of an addon. Not all functionality will be listed here, but the following are
some highlights.
=== Import directly from MakeHuman ===
In blender it is now possible to fetch a toon directly from a running instance of MakeHuman, without having to first save the toon to a file. The importer will talk with the makehuman instance
and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses. The process is almost instantaneous (a toon with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== IK and amputations ===
The importer will use the skeleton set in MakeHuman to rig the resulting character in Blender. The rig can then be extended with the "IK rig" functionality: By clicking a button you can get extra
IK controls, and IK chains set up for arms, legs and fingers.
Rigs can also be amputated in case detailed bones are not required.
All rigs currently available to MakeHuman are supported.
=== Kinect ===
To be written
<br clear=all>
== Other bundled functionality ==
MHX2, maybe more bundled materials...
3881b4b2559356cc663c89998f84bbc79a0e7960
1500
1499
2018-11-14T13:53:29Z
Joepal
14
/* New blender integration */
wikitext
text/x-wiki
These notes are under construction and may be incomplete
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
The following are the changes since version 1.1.1.
== Highlights ==
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new Blender integration, with support for socket transfers, IK and Kinect
* Improved internationalization support for non-ASCII characters (backported?)
* ... (Aranuvir: can you add a list of the new features you've written?)
* Improved tag sorting capabilities
* MHX2 is bundled in the default installation
== Known issues ==
* FBX skeleton will still misbehave
* There are still graphics card incompatibilities in the OpenGL code
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions.
=== Running from source ===
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 or higher
* NumPy: 1.13.0 or higher
* PyOpenGl: Any modern version will work, including the one used for MakeHuman 1.1.x
== The upgraded codebase ==
Information about the upgrade and the new base requirements...
== Asset downloader ==
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
<br clear=all>
== New blender integration ==
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
[[File:12x-blender-ik.png|300px|thumb|right|Convert to IK rig]]
This release bundles a rich set of blender functionalitites, which can be added to blender in the form of an addon. Not all functionality will be listed here, but the following are
some highlights.
=== Import directly from MakeHuman ===
In blender it is now possible to fetch a toon directly from a running instance of MakeHuman, without having to first save the toon to a file. The importer will talk with the makehuman instance
and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses. The process is almost instantaneous (a toon with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== IK and amputations ===
The importer will use the skeleton set in MakeHuman to rig the resulting character in Blender. The rig can then be extended with the "IK rig" functionality: By clicking a button you can get extra
IK controls, and IK chains set up for arms, legs and fingers.
Rigs can also be amputated in case detailed bones are not required.
All rigs currently available to MakeHuman are supported.
=== Kinect ===
To be written
<br clear=all>
== Other bundled functionality ==
MHX2, maybe more bundled materials...
69e63281db60c5fee6401fc06eaf9445b7b7c364
1499
1498
2018-11-14T13:51:15Z
Joepal
14
/* Highlights */
wikitext
text/x-wiki
These notes are under construction and may be incomplete
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
The following are the changes since version 1.1.1.
== Highlights ==
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new Blender integration, with support for socket transfers, IK and Kinect
* Improved internationalization support for non-ASCII characters (backported?)
* ... (Aranuvir: can you add a list of the new features you've written?)
* Improved tag sorting capabilities
* MHX2 is bundled in the default installation
== Known issues ==
* FBX skeleton will still misbehave
* There are still graphics card incompatibilities in the OpenGL code
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions.
=== Running from source ===
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 or higher
* NumPy: 1.13.0 or higher
* PyOpenGl: Any modern version will work, including the one used for MakeHuman 1.1.x
== The upgraded codebase ==
Information about the upgrade and the new base requirements...
== Asset downloader ==
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
<br clear=all>
== New blender integration ==
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
[[File:12x-blender-ik.png|300px|thumb|right|Convert to IK rig]]
This release bundles a rich set of blender functionalitites, which can be added to blender in the form of an addon. Not all functionality will be listed here, but the following are
some highlights.
=== Import directly from MakeHuman ===
In blender it is now possible to fetch a toon directly from a running instance of MakeHuman, without having to first save the toon to a file. The importer will talk with the makehuman instance
and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses. The process is almost instantaneous (a toon with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
=== IK and amputations ===
The importer will use the skeleton set in MakeHuman to rig the resulting character in Blender. The rig can then be extended with the "IK rig" functionality: By clicking a button you can get extra
IK controls, and IK chains set up for arms, legs and fingers.
Rigs can also be amputated in case detailed bones are not required.
All rigs currently available to MakeHuman are supported.
=== Kinect ===
To be written
<br clear=all>
== Other bundled functionality ==
MHX2, maybe more bundled materials...
623ea6cf481b6ccab538b913bc568ace1e7492cf
1498
1497
2018-11-14T13:50:12Z
Joepal
14
/* Upgrading */
wikitext
text/x-wiki
These notes are under construction and may be incomplete
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
The following are the changes since version 1.1.1.
== Highlights ==
* The codebase has received a major overhaul to make bring it up to date with modern versions of Python and Qt
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new Blender integration, with support for socket transfers, IK and Kinect
* Improved internationalization support for non-ASCII characters (backported?)
* ... (Aranuvir: can you add a list of the new features you've written?)
* Improved tag sorting capabilities
* MHX2 is bundled in the default installation
== Known issues ==
* FBX skeleton will still misbehave
* There are still graphics card incompatibilities in the OpenGL code
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions.
=== Running from source ===
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 or higher
* NumPy: 1.13.0 or higher
* PyOpenGl: Any modern version will work, including the one used for MakeHuman 1.1.x
== The upgraded codebase ==
Information about the upgrade and the new base requirements...
== Asset downloader ==
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
<br clear=all>
== New blender integration ==
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
[[File:12x-blender-ik.png|300px|thumb|right|Convert to IK rig]]
This release bundles a rich set of blender functionalitites, which can be added to blender in the form of an addon. Not all functionality will be listed here, but the following are
some highlights.
=== Import directly from MakeHuman ===
In blender it is now possible to fetch a toon directly from a running instance of MakeHuman, without having to first save the toon to a file. The importer will talk with the makehuman instance
and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses. The process is almost instantaneous (a toon with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
=== IK and amputations ===
The importer will use the skeleton set in MakeHuman to rig the resulting character in Blender. The rig can then be extended with the "IK rig" functionality: By clicking a button you can get extra
IK controls, and IK chains set up for arms, legs and fingers.
Rigs can also be amputated in case detailed bones are not required.
All rigs currently available to MakeHuman are supported.
=== Kinect ===
To be written
<br clear=all>
== Other bundled functionality ==
MHX2, maybe more bundled materials...
580c428aede0111e2026ef5b97d90f12dc5976a9
1497
1496
2018-11-14T13:41:55Z
Joepal
14
/* Highlights */
wikitext
text/x-wiki
These notes are under construction and may be incomplete
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
The following are the changes since version 1.1.1.
== Highlights ==
* The codebase has received a major overhaul to make bring it up to date with modern versions of Python and Qt
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new Blender integration, with support for socket transfers, IK and Kinect
* Improved internationalization support for non-ASCII characters (backported?)
* ... (Aranuvir: can you add a list of the new features you've written?)
* Improved tag sorting capabilities
* MHX2 is bundled in the default installation
== Known issues ==
* FBX skeleton will still misbehave
* There are still graphics card incompatibilities in the OpenGL code
== Upgrading ==
To be written
== The upgraded codebase ==
Information about the upgrade and the new base requirements...
== Asset downloader ==
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
<br clear=all>
== New blender integration ==
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
[[File:12x-blender-ik.png|300px|thumb|right|Convert to IK rig]]
This release bundles a rich set of blender functionalitites, which can be added to blender in the form of an addon. Not all functionality will be listed here, but the following are
some highlights.
=== Import directly from MakeHuman ===
In blender it is now possible to fetch a toon directly from a running instance of MakeHuman, without having to first save the toon to a file. The importer will talk with the makehuman instance
and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses. The process is almost instantaneous (a toon with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
=== IK and amputations ===
The importer will use the skeleton set in MakeHuman to rig the resulting character in Blender. The rig can then be extended with the "IK rig" functionality: By clicking a button you can get extra
IK controls, and IK chains set up for arms, legs and fingers.
Rigs can also be amputated in case detailed bones are not required.
All rigs currently available to MakeHuman are supported.
=== Kinect ===
To be written
<br clear=all>
== Other bundled functionality ==
MHX2, maybe more bundled materials...
8b03881308f154036e0c176372aa88788b0ed7e2
1496
1493
2018-11-14T13:41:06Z
Joepal
14
wikitext
text/x-wiki
These notes are under construction and may be incomplete
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
The following are the changes since version 1.1.1.
== Highlights ==
* The codebase has received a major overhaul to make bring it up to date with modern versions of Python and Qt
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new Blender integration (socket transfer)
* Improved internationalization support for non-ASCII characters (backported?)
* ... (Aranuvir: can you add a list of the new features you've written?)
* Improved tag sorting capabilities
* MHX2 is bundled in the default installation
== Known issues ==
* FBX skeleton will still misbehave
* There are still graphics card incompatibilities in the OpenGL code
== Upgrading ==
To be written
== The upgraded codebase ==
Information about the upgrade and the new base requirements...
== Asset downloader ==
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
<br clear=all>
== New blender integration ==
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
[[File:12x-blender-ik.png|300px|thumb|right|Convert to IK rig]]
This release bundles a rich set of blender functionalitites, which can be added to blender in the form of an addon. Not all functionality will be listed here, but the following are
some highlights.
=== Import directly from MakeHuman ===
In blender it is now possible to fetch a toon directly from a running instance of MakeHuman, without having to first save the toon to a file. The importer will talk with the makehuman instance
and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses. The process is almost instantaneous (a toon with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
=== IK and amputations ===
The importer will use the skeleton set in MakeHuman to rig the resulting character in Blender. The rig can then be extended with the "IK rig" functionality: By clicking a button you can get extra
IK controls, and IK chains set up for arms, legs and fingers.
Rigs can also be amputated in case detailed bones are not required.
All rigs currently available to MakeHuman are supported.
=== Kinect ===
To be written
<br clear=all>
== Other bundled functionality ==
MHX2, maybe more bundled materials...
f919e1eb9c37ffd0e4e234c484b74e0f02e4933a
1493
1492
2018-11-14T13:26:06Z
Joepal
14
/* Asset downloader */
wikitext
text/x-wiki
These notes are under construction and may be incomplete
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
The following are the changes since version 1.1.1.
== Highlights ==
* The codebase has received a major overhaul to make bring it up to date with modern versions of Python and Qt
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new Blender integration (socket transfer)
* Improved internationalization support for non-ASCII characters (backported?)
* ... (Aranuvir: can you add a list of the new features you've written?)
* Improved tag sorting capabilities
* MHX2 is bundled in the default installation
== Known issues ==
* FBX skeleton will still misbehave
* There are still graphics card incompatibilities in the OpenGL code
== Upgrading ==
To be written
== The upgraded codebase ==
Information about the upgrade and the new base requirements...
== Asset downloader ==
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
<br clear=all>
== New blender integration ==
To be written
== Bundled functionality ==
MHX2, maybe more bundled materials...
fba2823cbfeeb40363c9178ea728b64a8d2c152a
1492
1489
2018-11-14T13:24:30Z
Joepal
14
/* Asset downloader */
wikitext
text/x-wiki
These notes are under construction and may be incomplete
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
The following are the changes since version 1.1.1.
== Highlights ==
* The codebase has received a major overhaul to make bring it up to date with modern versions of Python and Qt
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new Blender integration (socket transfer)
* Improved internationalization support for non-ASCII characters (backported?)
* ... (Aranuvir: can you add a list of the new features you've written?)
* Improved tag sorting capabilities
* MHX2 is bundled in the default installation
== Known issues ==
* FBX skeleton will still misbehave
* There are still graphics card incompatibilities in the OpenGL code
== Upgrading ==
To be written
== The upgraded codebase ==
Information about the upgrade and the new base requirements...
== Asset downloader ==
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
== New blender integration ==
To be written
== Bundled functionality ==
MHX2, maybe more bundled materials...
11623379e67f1460c985ebb64cbeb39916a317cf
1489
1488
2018-11-10T18:23:06Z
Robbaer
12
wikitext
text/x-wiki
These notes are under construction and may be incomplete
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
The following are the changes since version 1.1.1.
== Highlights ==
* The codebase has received a major overhaul to make bring it up to date with modern versions of Python and Qt
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new Blender integration (socket transfer)
* Improved internationalization support for non-ASCII characters (backported?)
* ... (Aranuvir: can you add a list of the new features you've written?)
* Improved tag sorting capabilities
* MHX2 is bundled in the default installation
== Known issues ==
* FBX skeleton will still misbehave
* There are still graphics card incompatibilities in the OpenGL code
== Upgrading ==
To be written
== The upgraded codebase ==
Information about the upgrade and the new base requirements...
== Asset downloader ==
To be written
== New blender integration ==
To be written
== Bundled functionality ==
MHX2, maybe more bundled materials...
5555af97ee9943cb0490d5f8da234bd930e19bc6
1488
1487
2018-11-10T18:22:04Z
Robbaer
12
wikitext
text/x-wiki
These notes are under construction and may be incomplete
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving a larger community through integrated access to third party assets and extended functionality.
The following are the changes since version 1.1.1.
== Highlights ==
* The codebase has received a major overhaul to make bring it up to date with modern versions of Python and Qt
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new Blender integration (socket transfer)
* Improved internationalization support for non-ASCII characters (backported?)
* ... (Aranuvir: can you add a list of the new features you've written?)
* Improved tag sorting capabilities
* MHX2 is bundled in the default installation
== Known issues ==
* FBX skeleton will still misbehave
* There are still graphics card incompatibilities in the OpenGL code
== Upgrading ==
To be written
== The upgraded codebase ==
Information about the upgrade and the new base requirements...
== Asset downloader ==
To be written
== New blender integration ==
To be written
== Bundled functionality ==
MHX2, maybe more bundled materials...
f0e1d5953be48f2ef46beb30b37b83ac6aee392b
1487
1486
2018-11-10T18:14:19Z
Robbaer
12
wikitext
text/x-wiki
These notes are under construction and may be incomplete
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to make MakeHuman an integrated part in a larger community that provides integrated access to third party assets and extended functionality.
The following are the changes since version 1.1.1.
== Highlights ==
* The codebase has received a major overhaul to make bring it up to date with modern versions of Python and Qt
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new Blender integration (socket transfer)
* Improved internationalization support for non-ASCII characters (backported?)
* ... (Aranuvir: can you add a list of the new features you've written?)
* Improved tag sorting capabilities
* MHX2 is bundled in the default installation
== Known issues ==
* FBX skeleton will still misbehave
* There are still graphics card incompatibilities in the OpenGL code
== Upgrading ==
To be written
== The upgraded codebase ==
Information about the upgrade and the new base requirements...
== Asset downloader ==
To be written
== New blender integration ==
To be written
== Bundled functionality ==
MHX2, maybe more bundled materials...
656e4f90c3a20cdb93d26c830f936ce2a3e5a056
1486
1485
2018-11-05T10:28:19Z
Joepal
14
wikitext
text/x-wiki
These notes are under construction and may be incomplete
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has
been made to make MakeHuman an integrated part in a larger community that provides third part assets and extended functionality.
The following are the changes since version 1.1.1.
== Highlights ==
* The codebase has received a major overhaul to make bring it up to date with modern versions of Python and Qt
* Third part assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new blender integration (socket transfer)
* ... (Aranuvir: can you add a list of the new features you've written?)
* MHX2 is bundled in the default installation
== Known issues ==
* FBX skeleton will still misbehave
* There are still graphics card incompatibilities in the OpenGL code
== Upgrading ==
To be written
== The upgraded codebase ==
Information about the upgrade and the new base requirements...
== Asset downloader ==
To be written
== New blender integration ==
To be written
== Bundled functionality ==
MHX2, maybe more bundled materials...
deaf58d04d0b3562d1aaef959486ca4f1714b72b
1485
2018-11-05T10:21:05Z
Joepal
14
Created page with "These notes are under construction and may be incomplete "MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated de..."
wikitext
text/x-wiki
These notes are under construction and may be incomplete
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has
been made to make MakeHuman an integrated part in a larger community that provides third part assets and extended functionality.
== Highlights ==
* The codebase has received a major overhaul to make bring it up to date with modern versions of Python and Qt
* Third part assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new blender integration (socket transfer)
* ... (Aranuvir: can you add a list of the new features you've written?)
* MHX2 is bundled in the default installation
== Known issues ==
* FBX skeleton will still misbehave
* There are still graphics card incompatibilities in the OpenGL code
== Upgrading ==
To be written
== The upgraded codebase ==
Information about the upgrade and the new base requirements...
== Asset downloader ==
To be written
== New blender integration ==
To be written
== Bundled functionality ==
MHX2, maybe more bundled materials...
bb301a67b1e4bc2efe30616836a8107305cb147a
Releases:120a2
0
568
1592
1547
2019-05-10T09:42:00Z
Wolgade
26
/* Running from source */
wikitext
text/x-wiki
MakeHuman Community 1.2.0-alpha2 was released 2018-12-10.
'''It is important to understand that 1.2.0 alpha 2 is an alpha release. This means that things ''will'' behave strangely. Before downloading the build, you should at least read the "known issues" section in these notes.'''
These notes are under construction and may be incomplete. Further, the notes describe, as of now, an alpha version of a coming release. The final release might be different from what is described below.
== General ==
In most cases, there should be no problem running versions 1.1.1 and 1.2.0 on the same system. They will not interfere with each other's files. You can find download links for 1.2.0 at the bottom of this page.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
== Where to download ==
You can [http://download.tuxfamily.org/makehuman/nightly/makehuman-community-1.2.0-alpha2-win32.zip download the windows build here].
For linux, [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community there is a new PPA].
== Providing feedback and bug reports ==
As always with an alpha release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums. But more formal bug trackers are here:
* For MakeHuman as such: [http://bugtracker.makehumancommunity.org/ http://bugtracker.makehumancommunity.org/]
* For the asset downloader: [https://github.com/makehumancommunity/community-plugins-assetdownload/issues https://github.com/makehumancommunity/community-plugins-assetdownload/issues]
* For the makehuman side of the new blender integration: [https://github.com/makehumancommunity/community-plugins-socket/issues https://github.com/makehumancommunity/community-plugins-socket/issues]
* For the blender side of the new blender integration: [https://github.com/makehumancommunity/makehuman-plugin-for-blender/issues https://github.com/makehumancommunity/makehuman-plugin-for-blender/issues]
* For issues specific to MHX2: [https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange/issues?status=new&status=open https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange/issues]
The following are the changes since version 1.1.1.
== Changes since alpha 1 ==
Note that the graphics card issue has ''not'' been addressed yet. So if alpha 1 did not work for you, alpha 2 will not either.
The following are fixes made since the release of 1.2.0 alpha 1:
* LINUX: makehuman root is now ~/Documents/makehuman/v1py3 (or whatever your platform name for "Documents" is, it is fetched from the XDG configuration) rather than ~/makehuman/v1py3. This is the standard used on other platforms, but it will mean that you will have to manually move data you want to keep from the old location to the new.
* UI: Core MakeHuman assets now have a tag "MakeHumanTM", making it easier to only show bundled assets when many third-part assets have been downloaded
* MATERIALS: Core assets will now also look in user directories for extra materials
* ASSET DOWNLOADER: When downloading materials that belong to a core asset, these will now be placed so they show up as materials for said asset
* ASSET DOWNLOADER: It is now possible to filter materials to show only those belonging to a core asset
* ASSET DOWNLOADER: Drastically reduced the size of the initial download
* ASSET DOWNLOADER: Provide better visual feedback so it doesn't look as if the system hanged
* ASSET DOWNLOADER: Made downloading screenshots for assets optional
* PPA: Remove strong dependency on blender. We recommend against using Ubuntu's version of blender since it's broken in many ways.
* PPA: Specify minimum allowed versions of central dependencies.
== Highlights ==
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new Blender integration, with support for socket transfers, IK and Kinect
* Improved internationalization support for non-ASCII characters (backported)
* Plugins in user space
* Plugins activation at runtime
* Improved tag sorting capabilities, including sticky tag provisions
* Tags for models (with configurable tag count)
* Show Name Tags instead of file names in the file loader.
* Saving model as target
* Real weight estimation
* Configurable location for the home folder
* MHX2 is bundled in the default installation
* There is a new installer for windows
* There is a new PPA for ubuntu. This PPA also offers builds of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds)
== Known issues ==
* FBX skeleton will still misbehave
* There are still graphics card incompatibilities in the OpenGL code. '''On several graphics cards you may get no visible output whatsoever''', rendering the application unusable. If this happens, please report what operating system and what graphics card you are using so we can investigate it further.
* There is no build for OSX
* The user data folder is still makehuman/v1py3 rather than makehuman/v1, in order to guarrantee that the development version does not interfere with the stable version. This will probably be changed for the final release.
* The new blender importer will crash when used in a version of blender that is shipped with ubuntu 18.04. It works fine on ubuntu 18.04 if using a blender that is downloaded from blender's homepage though. Investigations are pending.
* The new blender importer requires blender 2.79. It will not work in earlier versions of blender and will not (yet) work in blender 2.80.
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
=== Running from source ===
The source code is available at [https://github.com/makehumancommunity/makehuman https://github.com/makehumancommunity/makehuman]. You'll also find basic instructions on how to use the source code on this page.
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 or higher
* NumPy: 1.13.0 or higher
* PyOpenGL: Any modern version will work, including the one used for MakeHuman 1.1.x
=== Ubuntu ===
In order to fulfill the minimum dependency requirements listed above, you will need Ubuntu 18.04 or later. For earlier Ubuntu versions, you would have use backports of the dependencies, as they are not available in the default installation.
The PPA for this build is here: [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community ppa:makehuman-official/makehuman-community].
To enable it, run:
sudo add-apt-repository ppa:makehuman-official/makehuman-community
sudo apt-get update
sudo apt-get install makehuman-community
== The upgraded codebase ==
The main focus of this release has been to modernize the code. In the prior version, large parts were written more than eight years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The expected end of life for python 2.7 is in less than two years.
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
== Asset downloader ==
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
<br clear=all>
== New blender integration ==
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
[[File:12x-blender-ik.png|300px|thumb|right|Convert to IK rig]]
This release bundles a rich set of blender functionalitites, which can be added to blender in the form of an addon. Not all functionality will be listed here, but the following are
some highlights.
=== Import directly from MakeHuman ===
In blender it is now possible to fetch a toon directly from a running instance of MakeHuman, without having to first save the toon to a file. The importer will talk with the makehuman instance
and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses. The process is almost instantaneous (a toon with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== IK and amputations ===
The importer will use the skeleton set in MakeHuman to rig the resulting character in Blender. The rig can then be extended with the "IK rig" functionality: By clicking a button you can get extra
IK controls, and IK chains set up for arms, legs and fingers.
Rigs can also be amputated in case detailed bones are not required.
All rigs currently available to MakeHuman are supported.
=== Kinect ===
To be written
<br clear=all>
== A new windows installer ==
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
== Other bundled functionality ==
Apart from the above, some other functionality that previously had to be downloaded separately is now bundled:
=== MHX2 ===
MHX2 is now enabled per default in MakeHuman. The blender side of MHX2 is bundled as a zip file which can
be added to blender via the user preferences.
=== MHAPI ===
MHAPI (a library with convenience calls for making addons for MakeHuman) is now included and enabled per default.
8f792e727c8399b3b89e131e9690c2d24996a6ac
1547
1543
2018-12-18T09:33:01Z
Robbaer
12
wikitext
text/x-wiki
MakeHuman Community 1.2.0-alpha2 was released 2018-12-10.
'''It is important to understand that 1.2.0 alpha 2 is an alpha release. This means that things ''will'' behave strangely. Before downloading the build, you should at least read the "known issues" section in these notes.'''
These notes are under construction and may be incomplete. Further, the notes describe, as of now, an alpha version of a coming release. The final release might be different from what is described below.
== General ==
In most cases, there should be no problem running versions 1.1.1 and 1.2.0 on the same system. They will not interfere with each other's files. You can find download links for 1.2.0 at the bottom of this page.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
== Where to download ==
You can [http://download.tuxfamily.org/makehuman/nightly/makehuman-community-1.2.0-alpha2-win32.zip download the windows build here].
For linux, [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community there is a new PPA].
== Providing feedback and bug reports ==
As always with an alpha release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums. But more formal bug trackers are here:
* For MakeHuman as such: [http://bugtracker.makehumancommunity.org/ http://bugtracker.makehumancommunity.org/]
* For the asset downloader: [https://github.com/makehumancommunity/community-plugins-assetdownload/issues https://github.com/makehumancommunity/community-plugins-assetdownload/issues]
* For the makehuman side of the new blender integration: [https://github.com/makehumancommunity/community-plugins-socket/issues https://github.com/makehumancommunity/community-plugins-socket/issues]
* For the blender side of the new blender integration: [https://github.com/makehumancommunity/makehuman-plugin-for-blender/issues https://github.com/makehumancommunity/makehuman-plugin-for-blender/issues]
* For issues specific to MHX2: [https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange/issues?status=new&status=open https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange/issues]
The following are the changes since version 1.1.1.
== Changes since alpha 1 ==
Note that the graphics card issue has ''not'' been addressed yet. So if alpha 1 did not work for you, alpha 2 will not either.
The following are fixes made since the release of 1.2.0 alpha 1:
* LINUX: makehuman root is now ~/Documents/makehuman/v1py3 (or whatever your platform name for "Documents" is, it is fetched from the XDG configuration) rather than ~/makehuman/v1py3. This is the standard used on other platforms, but it will mean that you will have to manually move data you want to keep from the old location to the new.
* UI: Core MakeHuman assets now have a tag "MakeHumanTM", making it easier to only show bundled assets when many third-part assets have been downloaded
* MATERIALS: Core assets will now also look in user directories for extra materials
* ASSET DOWNLOADER: When downloading materials that belong to a core asset, these will now be placed so they show up as materials for said asset
* ASSET DOWNLOADER: It is now possible to filter materials to show only those belonging to a core asset
* ASSET DOWNLOADER: Drastically reduced the size of the initial download
* ASSET DOWNLOADER: Provide better visual feedback so it doesn't look as if the system hanged
* ASSET DOWNLOADER: Made downloading screenshots for assets optional
* PPA: Remove strong dependency on blender. We recommend against using Ubuntu's version of blender since it's broken in many ways.
* PPA: Specify minimum allowed versions of central dependencies.
== Highlights ==
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new Blender integration, with support for socket transfers, IK and Kinect
* Improved internationalization support for non-ASCII characters (backported)
* Plugins in user space
* Plugins activation at runtime
* Improved tag sorting capabilities, including sticky tag provisions
* Tags for models (with configurable tag count)
* Show Name Tags instead of file names in the file loader.
* Saving model as target
* Real weight estimation
* Configurable location for the home folder
* MHX2 is bundled in the default installation
* There is a new installer for windows
* There is a new PPA for ubuntu. This PPA also offers builds of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds)
== Known issues ==
* FBX skeleton will still misbehave
* There are still graphics card incompatibilities in the OpenGL code. '''On several graphics cards you may get no visible output whatsoever''', rendering the application unusable. If this happens, please report what operating system and what graphics card you are using so we can investigate it further.
* There is no build for OSX
* The user data folder is still makehuman/v1py3 rather than makehuman/v1, in order to guarrantee that the development version does not interfere with the stable version. This will probably be changed for the final release.
* The new blender importer will crash when used in a version of blender that is shipped with ubuntu 18.04. It works fine on ubuntu 18.04 if using a blender that is downloaded from blender's homepage though. Investigations are pending.
* The new blender importer requires blender 2.79. It will not work in earlier versions of blender and will not (yet) work in blender 2.80.
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
=== Running from source ===
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 or higher
* NumPy: 1.13.0 or higher
* PyOpenGL: Any modern version will work, including the one used for MakeHuman 1.1.x
=== Ubuntu ===
In order to fulfill the minimum dependency requirements listed above, you will need Ubuntu 18.04 or later. For earlier Ubuntu versions, you would have use backports of the dependencies, as they are not available in the default installation.
The PPA for this build is here: [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community ppa:makehuman-official/makehuman-community].
To enable it, run:
sudo add-apt-repository ppa:makehuman-official/makehuman-community
sudo apt-get update
sudo apt-get install makehuman-community
== The upgraded codebase ==
The main focus of this release has been to modernize the code. In the prior version, large parts were written more than eight years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The expected end of life for python 2.7 is in less than two years.
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
== Asset downloader ==
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
<br clear=all>
== New blender integration ==
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
[[File:12x-blender-ik.png|300px|thumb|right|Convert to IK rig]]
This release bundles a rich set of blender functionalitites, which can be added to blender in the form of an addon. Not all functionality will be listed here, but the following are
some highlights.
=== Import directly from MakeHuman ===
In blender it is now possible to fetch a toon directly from a running instance of MakeHuman, without having to first save the toon to a file. The importer will talk with the makehuman instance
and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses. The process is almost instantaneous (a toon with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== IK and amputations ===
The importer will use the skeleton set in MakeHuman to rig the resulting character in Blender. The rig can then be extended with the "IK rig" functionality: By clicking a button you can get extra
IK controls, and IK chains set up for arms, legs and fingers.
Rigs can also be amputated in case detailed bones are not required.
All rigs currently available to MakeHuman are supported.
=== Kinect ===
To be written
<br clear=all>
== A new windows installer ==
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
== Other bundled functionality ==
Apart from the above, some other functionality that previously had to be downloaded separately is now bundled:
=== MHX2 ===
MHX2 is now enabled per default in MakeHuman. The blender side of MHX2 is bundled as a zip file which can
be added to blender via the user preferences.
=== MHAPI ===
MHAPI (a library with convenience calls for making addons for MakeHuman) is now included and enabled per default.
e1ca4a90dfbc767f79a75d8a1553b8b2e31f2462
1543
1541
2018-12-10T12:34:47Z
Joepal
14
/* Where to download */
wikitext
text/x-wiki
MakeHuman Community 1.2.0-alpha2 was released 2018-12-10.
'''It is important to understand that 1.2.0 alpha 2 is an alpha release. This means that things ''will'' behave strangely. Before downloading the build, you should at least read the "known issues" section in these notes.'''
These notes are under construction and may be incomplete. Further, the notes describe, as of now, an alpha version of a coming release. The final release might be different from what is described below.
== General ==
In most cases, there should be no problem running versions 1.1.1 and 1.2.0 on the same system. They will not interfere with each other's files. You can find download links for 1.2.0 at the bottom of this page.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
The following are the changes since version 1.1.1.
== Changes since alpha 1 ==
Note that the graphics card issue has ''not'' been addressed yet. So if alpha 1 did not work for you, alpha 2 will not either.
The following are fixes made since the release of 1.2.0 alpha 1:
* LINUX: makehuman root is now ~/Documents/makehuman/v1py3 (or whatever your platform name for "Documents" is, it is fetched from the XDG configuration) rather than ~/makehuman/v1py3. This is the standard used on other platforms, but it will mean that you will have to manually move data you want to keep from the old location to the new.
* UI: Core MakeHuman assets now have a tag "MakeHumanTM", making it easier to only show bundled assets when many third-part assets have been downloaded
* MATERIALS: Core assets will now also look in user directories for extra materials
* ASSET DOWNLOADER: When downloading materials that belong to a core asset, these will now be placed so they show up as materials for said asset
* ASSET DOWNLOADER: It is now possible to filter materials to show only those belonging to a core asset
* ASSET DOWNLOADER: Drastically reduced the size of the initial download
* ASSET DOWNLOADER: Provide better visual feedback so it doesn't look as if the system hanged
* ASSET DOWNLOADER: Made downloading screenshots for assets optional
* PPA: Remove strong dependency on blender. We recommend against using Ubuntu's version of blender since it's broken in many ways.
* PPA: Specify minimum allowed versions of central dependencies.
== Highlights ==
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new Blender integration, with support for socket transfers, IK and Kinect
* Improved internationalization support for non-ASCII characters (backported)
* Plugins in user space
* Plugins activation at runtime
* Improved tag sorting capabilities, including sticky tag provisions
* Tags for models (with configurable tag count)
* Show Name Tags instead of file names in the file loader.
* Saving model as target
* Real weight estimation
* Configurable location for the home folder
* MHX2 is bundled in the default installation
* There is a new installer for windows
* There is a new PPA for ubuntu. This PPA also offers builds of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds)
== Known issues ==
* FBX skeleton will still misbehave
* There are still graphics card incompatibilities in the OpenGL code. '''On several graphics cards you may get no visible output whatsoever''', rendering the application unusable. If this happens, please report what operating system and what graphics card you are using so we can investigate it further.
* There is no build for OSX
* The user data folder is still makehuman/v1py3 rather than makehuman/v1, in order to guarrantee that the development version does not interfere with the stable version. This will probably be changed for the final release.
* The new blender importer will crash when used in a version of blender that is shipped with ubuntu 18.04. It works fine on ubuntu 18.04 if using a blender that is downloaded from blender's homepage though. Investigations are pending.
* The new blender importer requires blender 2.79. It will not work in earlier versions of blender and will not (yet) work in blender 2.80.
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
=== Running from source ===
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 or higher
* NumPy: 1.13.0 or higher
* PyOpenGL: Any modern version will work, including the one used for MakeHuman 1.1.x
=== Ubuntu ===
In order to fulfill the minimum dependency requirements listed above, you will need Ubuntu 18.04 or later. For earlier Ubuntu versions, you would have use backports of the dependencies, as they are not available in the default installation.
The PPA for this build is here: [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community ppa:makehuman-official/makehuman-community].
To enable it, run:
sudo add-apt-repository ppa:makehuman-official/makehuman-community
sudo apt-get update
sudo apt-get install makehuman-community
== The upgraded codebase ==
The main focus of this release has been to modernize the code. In the prior version, large parts were written more than eight years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The expected end of life for python 2.7 is in less than two years.
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
== Asset downloader ==
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
<br clear=all>
== New blender integration ==
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
[[File:12x-blender-ik.png|300px|thumb|right|Convert to IK rig]]
This release bundles a rich set of blender functionalitites, which can be added to blender in the form of an addon. Not all functionality will be listed here, but the following are
some highlights.
=== Import directly from MakeHuman ===
In blender it is now possible to fetch a toon directly from a running instance of MakeHuman, without having to first save the toon to a file. The importer will talk with the makehuman instance
and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses. The process is almost instantaneous (a toon with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== IK and amputations ===
The importer will use the skeleton set in MakeHuman to rig the resulting character in Blender. The rig can then be extended with the "IK rig" functionality: By clicking a button you can get extra
IK controls, and IK chains set up for arms, legs and fingers.
Rigs can also be amputated in case detailed bones are not required.
All rigs currently available to MakeHuman are supported.
=== Kinect ===
To be written
<br clear=all>
== A new windows installer ==
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
== Other bundled functionality ==
Apart from the above, some other functionality that previously had to be downloaded separately is now bundled:
=== MHX2 ===
MHX2 is now enabled per default in MakeHuman. The blender side of MHX2 is bundled as a zip file which can
be added to blender via the user preferences.
=== MHAPI ===
MHAPI (a library with convenience calls for making addons for MakeHuman) is now included and enabled per default.
== Where to download ==
You can [http://download.tuxfamily.org/makehuman/nightly/makehuman-community-1.2.0-alpha2-win32.zip download the windows build here].
For linux, [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community there is a new PPA].
== Providing feedback and bug reports ==
As always with an alpha release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums. But more formal bug trackers are here:
* For MakeHuman as such: [http://bugtracker.makehumancommunity.org/ http://bugtracker.makehumancommunity.org/]
* For the asset downloader: [https://github.com/makehumancommunity/community-plugins-assetdownload/issues https://github.com/makehumancommunity/community-plugins-assetdownload/issues]
* For the makehuman side of the new blender integration: [https://github.com/makehumancommunity/community-plugins-socket/issues https://github.com/makehumancommunity/community-plugins-socket/issues]
* For the blender side of the new blender integration: [https://github.com/makehumancommunity/makehuman-plugin-for-blender/issues https://github.com/makehumancommunity/makehuman-plugin-for-blender/issues]
* For issues specific to MHX2: [https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange/issues?status=new&status=open https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange/issues]
1f2d6ed10dccc767780040d0d4cab4298df39270
1541
1540
2018-12-10T11:49:53Z
Joepal
14
wikitext
text/x-wiki
MakeHuman Community 1.2.0-alpha2 was released 2018-12-10.
'''It is important to understand that 1.2.0 alpha 2 is an alpha release. This means that things ''will'' behave strangely. Before downloading the build, you should at least read the "known issues" section in these notes.'''
These notes are under construction and may be incomplete. Further, the notes describe, as of now, an alpha version of a coming release. The final release might be different from what is described below.
== General ==
In most cases, there should be no problem running versions 1.1.1 and 1.2.0 on the same system. They will not interfere with each other's files. You can find download links for 1.2.0 at the bottom of this page.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
The following are the changes since version 1.1.1.
== Changes since alpha 1 ==
Note that the graphics card issue has ''not'' been addressed yet. So if alpha 1 did not work for you, alpha 2 will not either.
The following are fixes made since the release of 1.2.0 alpha 1:
* LINUX: makehuman root is now ~/Documents/makehuman/v1py3 (or whatever your platform name for "Documents" is, it is fetched from the XDG configuration) rather than ~/makehuman/v1py3. This is the standard used on other platforms, but it will mean that you will have to manually move data you want to keep from the old location to the new.
* UI: Core MakeHuman assets now have a tag "MakeHumanTM", making it easier to only show bundled assets when many third-part assets have been downloaded
* MATERIALS: Core assets will now also look in user directories for extra materials
* ASSET DOWNLOADER: When downloading materials that belong to a core asset, these will now be placed so they show up as materials for said asset
* ASSET DOWNLOADER: It is now possible to filter materials to show only those belonging to a core asset
* ASSET DOWNLOADER: Drastically reduced the size of the initial download
* ASSET DOWNLOADER: Provide better visual feedback so it doesn't look as if the system hanged
* ASSET DOWNLOADER: Made downloading screenshots for assets optional
* PPA: Remove strong dependency on blender. We recommend against using Ubuntu's version of blender since it's broken in many ways.
* PPA: Specify minimum allowed versions of central dependencies.
== Highlights ==
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new Blender integration, with support for socket transfers, IK and Kinect
* Improved internationalization support for non-ASCII characters (backported)
* Plugins in user space
* Plugins activation at runtime
* Improved tag sorting capabilities, including sticky tag provisions
* Tags for models (with configurable tag count)
* Show Name Tags instead of file names in the file loader.
* Saving model as target
* Real weight estimation
* Configurable location for the home folder
* MHX2 is bundled in the default installation
* There is a new installer for windows
* There is a new PPA for ubuntu. This PPA also offers builds of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds)
== Known issues ==
* FBX skeleton will still misbehave
* There are still graphics card incompatibilities in the OpenGL code. '''On several graphics cards you may get no visible output whatsoever''', rendering the application unusable. If this happens, please report what operating system and what graphics card you are using so we can investigate it further.
* There is no build for OSX
* The user data folder is still makehuman/v1py3 rather than makehuman/v1, in order to guarrantee that the development version does not interfere with the stable version. This will probably be changed for the final release.
* The new blender importer will crash when used in a version of blender that is shipped with ubuntu 18.04. It works fine on ubuntu 18.04 if using a blender that is downloaded from blender's homepage though. Investigations are pending.
* The new blender importer requires blender 2.79. It will not work in earlier versions of blender and will not (yet) work in blender 2.80.
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
=== Running from source ===
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 or higher
* NumPy: 1.13.0 or higher
* PyOpenGL: Any modern version will work, including the one used for MakeHuman 1.1.x
=== Ubuntu ===
In order to fulfill the minimum dependency requirements listed above, you will need Ubuntu 18.04 or later. For earlier Ubuntu versions, you would have use backports of the dependencies, as they are not available in the default installation.
The PPA for this build is here: [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community ppa:makehuman-official/makehuman-community].
To enable it, run:
sudo add-apt-repository ppa:makehuman-official/makehuman-community
sudo apt-get update
sudo apt-get install makehuman-community
== The upgraded codebase ==
The main focus of this release has been to modernize the code. In the prior version, large parts were written more than eight years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The expected end of life for python 2.7 is in less than two years.
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
== Asset downloader ==
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
<br clear=all>
== New blender integration ==
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
[[File:12x-blender-ik.png|300px|thumb|right|Convert to IK rig]]
This release bundles a rich set of blender functionalitites, which can be added to blender in the form of an addon. Not all functionality will be listed here, but the following are
some highlights.
=== Import directly from MakeHuman ===
In blender it is now possible to fetch a toon directly from a running instance of MakeHuman, without having to first save the toon to a file. The importer will talk with the makehuman instance
and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses. The process is almost instantaneous (a toon with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== IK and amputations ===
The importer will use the skeleton set in MakeHuman to rig the resulting character in Blender. The rig can then be extended with the "IK rig" functionality: By clicking a button you can get extra
IK controls, and IK chains set up for arms, legs and fingers.
Rigs can also be amputated in case detailed bones are not required.
All rigs currently available to MakeHuman are supported.
=== Kinect ===
To be written
<br clear=all>
== A new windows installer ==
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
== Other bundled functionality ==
Apart from the above, some other functionality that previously had to be downloaded separately is now bundled:
=== MHX2 ===
MHX2 is now enabled per default in MakeHuman. The blender side of MHX2 is bundled as a zip file which can
be added to blender via the user preferences.
=== MHAPI ===
MHAPI (a library with convenience calls for making addons for MakeHuman) is now included and enabled per default.
== Where to download ==
(alpha 2 has not yet been released, these links might be broken)
You can [http://download.tuxfamily.org/makehuman/nightly/makehuman-community-1.2.0-alpha1-win32.zip download the windows build here].
For linux, [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community there is a new PPA].
== Providing feedback and bug reports ==
As always with an alpha release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums. But more formal bug trackers are here:
* For MakeHuman as such: [http://bugtracker.makehumancommunity.org/ http://bugtracker.makehumancommunity.org/]
* For the asset downloader: [https://github.com/makehumancommunity/community-plugins-assetdownload/issues https://github.com/makehumancommunity/community-plugins-assetdownload/issues]
* For the makehuman side of the new blender integration: [https://github.com/makehumancommunity/community-plugins-socket/issues https://github.com/makehumancommunity/community-plugins-socket/issues]
* For the blender side of the new blender integration: [https://github.com/makehumancommunity/makehuman-plugin-for-blender/issues https://github.com/makehumancommunity/makehuman-plugin-for-blender/issues]
* For issues specific to MHX2: [https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange/issues?status=new&status=open https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange/issues]
ed2eb1cddd8aba8923a45e7231f42a07602f3403
1540
1539
2018-12-10T11:22:03Z
Joepal
14
/* Changes since alpha 1 */
wikitext
text/x-wiki
(alpha 2 has not been released yet, these notes are work in progress)
'''It is important to understand that 1.2.0 alpha 2 is an alpha release. This means that things ''will'' behave strangely. Before downloading the build, you should at least read the "known issues" section in these notes.'''
These notes are under construction and may be incomplete. Further, the notes describe, as of now, an alpha version of a coming release. The final release might be different from what is described below.
== General ==
In most cases, there should be no problem running versions 1.1.1 and 1.2.0 on the same system. They will not interfere with each other's files. You can find download links for 1.2.0 at the bottom of this page.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
The following are the changes since version 1.1.1.
== Changes since alpha 1 ==
Note that the graphics card issue has ''not'' been addressed yet. So if alpha 1 did not work for you, alpha 2 will not either.
The following are fixes made since the release of 1.2.0 alpha 1:
* LINUX: makehuman root is now ~/Documents/makehuman/v1py3 (or whatever your platform name for "Documents" is, it is fetched from the XDG configuration) rather than ~/makehuman/v1py3. This is the standard used on other platforms, but it will mean that you will have to manually move data you want to keep from the old location to the new.
* UI: Core MakeHuman assets now have a tag "MakeHumanTM", making it easier to only show bundled assets when many third-part assets have been downloaded
* MATERIALS: Core assets will now also look in user directories for extra materials
* ASSET DOWNLOADER: When downloading materials that belong to a core asset, these will now be placed so they show up as materials for said asset
* ASSET DOWNLOADER: It is now possible to filter materials to show only those belonging to a core asset
* ASSET DOWNLOADER: Drastically reduced the size of the initial download
* ASSET DOWNLOADER: Provide better visual feedback so it doesn't look as if the system hanged
* ASSET DOWNLOADER: Made downloading screenshots for assets optional
* PPA: Remove strong dependency on blender. We recommend against using Ubuntu's version of blender since it's broken in many ways.
* PPA: Specify minimum allowed versions of central dependencies.
== Highlights ==
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new Blender integration, with support for socket transfers, IK and Kinect
* Improved internationalization support for non-ASCII characters (backported)
* Plugins in user space
* Plugins activation at runtime
* Improved tag sorting capabilities, including sticky tag provisions
* Tags for models (with configurable tag count)
* Show Name Tags instead of file names in the file loader.
* Saving model as target
* Real weight estimation
* Configurable location for the home folder
* MHX2 is bundled in the default installation
* There is a new installer for windows
* There is a new PPA for ubuntu. This PPA also offers builds of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds)
== Known issues ==
* FBX skeleton will still misbehave
* There are still graphics card incompatibilities in the OpenGL code. '''On several graphics cards you may get no visible output whatsoever''', rendering the application unusable. If this happens, please report what operating system and what graphics card you are using so we can investigate it further.
* There is no build for OSX
* The user data folder is still makehuman/v1py3 rather than makehuman/v1, in order to guarrantee that the development version does not interfere with the stable version. This will probably be changed for the final release.
* The new blender importer will crash when used in a version of blender that is shipped with ubuntu 18.04. It works fine on ubuntu 18.04 if using a blender that is downloaded from blender's homepage though. Investigations are pending.
* The new blender importer requires blender 2.79. It will not work in earlier versions of blender and will not (yet) work in blender 2.80.
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
=== Running from source ===
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 or higher
* NumPy: 1.13.0 or higher
* PyOpenGL: Any modern version will work, including the one used for MakeHuman 1.1.x
=== Ubuntu ===
In order to fulfill the minimum dependency requirements listed above, you will need Ubuntu 18.04 or later. For earlier Ubuntu versions, you would have use backports of the dependencies, as they are not available in the default installation.
The PPA for this build is here: [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community ppa:makehuman-official/makehuman-community].
To enable it, run:
sudo add-apt-repository ppa:makehuman-official/makehuman-community
sudo apt-get update
sudo apt-get install makehuman-community
== The upgraded codebase ==
The main focus of this release has been to modernize the code. In the prior version, large parts were written more than eight years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The expected end of life for python 2.7 is in less than two years.
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
== Asset downloader ==
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
<br clear=all>
== New blender integration ==
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
[[File:12x-blender-ik.png|300px|thumb|right|Convert to IK rig]]
This release bundles a rich set of blender functionalitites, which can be added to blender in the form of an addon. Not all functionality will be listed here, but the following are
some highlights.
=== Import directly from MakeHuman ===
In blender it is now possible to fetch a toon directly from a running instance of MakeHuman, without having to first save the toon to a file. The importer will talk with the makehuman instance
and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses. The process is almost instantaneous (a toon with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== IK and amputations ===
The importer will use the skeleton set in MakeHuman to rig the resulting character in Blender. The rig can then be extended with the "IK rig" functionality: By clicking a button you can get extra
IK controls, and IK chains set up for arms, legs and fingers.
Rigs can also be amputated in case detailed bones are not required.
All rigs currently available to MakeHuman are supported.
=== Kinect ===
To be written
<br clear=all>
== A new windows installer ==
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
== Other bundled functionality ==
Apart from the above, some other functionality that previously had to be downloaded separately is now bundled:
=== MHX2 ===
MHX2 is now enabled per default in MakeHuman. The blender side of MHX2 is bundled as a zip file which can
be added to blender via the user preferences.
=== MHAPI ===
MHAPI (a library with convenience calls for making addons for MakeHuman) is now included and enabled per default.
== Where to download ==
(alpha 2 has not yet been released, these links might be broken)
You can [http://download.tuxfamily.org/makehuman/nightly/makehuman-community-1.2.0-alpha1-win32.zip download the windows build here].
For linux, [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community there is a new PPA].
== Providing feedback and bug reports ==
As always with an alpha release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums. But more formal bug trackers are here:
* For MakeHuman as such: [http://bugtracker.makehumancommunity.org/ http://bugtracker.makehumancommunity.org/]
* For the asset downloader: [https://github.com/makehumancommunity/community-plugins-assetdownload/issues https://github.com/makehumancommunity/community-plugins-assetdownload/issues]
* For the makehuman side of the new blender integration: [https://github.com/makehumancommunity/community-plugins-socket/issues https://github.com/makehumancommunity/community-plugins-socket/issues]
* For the blender side of the new blender integration: [https://github.com/makehumancommunity/makehuman-plugin-for-blender/issues https://github.com/makehumancommunity/makehuman-plugin-for-blender/issues]
* For issues specific to MHX2: [https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange/issues?status=new&status=open https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange/issues]
9733374e2d3a7d56bbaadb6f47074b069419c306
1539
1538
2018-12-10T11:19:06Z
Joepal
14
/* Changes since alpha 1 */
wikitext
text/x-wiki
(alpha 2 has not been released yet, these notes are work in progress)
'''It is important to understand that 1.2.0 alpha 2 is an alpha release. This means that things ''will'' behave strangely. Before downloading the build, you should at least read the "known issues" section in these notes.'''
These notes are under construction and may be incomplete. Further, the notes describe, as of now, an alpha version of a coming release. The final release might be different from what is described below.
== General ==
In most cases, there should be no problem running versions 1.1.1 and 1.2.0 on the same system. They will not interfere with each other's files. You can find download links for 1.2.0 at the bottom of this page.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
The following are the changes since version 1.1.1.
== Changes since alpha 1 ==
The following are fixes made since the release of 1.2.0 alpha 1:
* LINUX: makehuman root is now ~/Documents/makehuman/v1py3 (or whatever your platform name for "Documents" is, it is fetched from the XDG configuration) rather than ~/makehuman/v1py3. This is the standard used on other platforms, but it will mean that you will have to manually move data you want to keep from the old location to the new.
* UI: Core MakeHuman assets now have a tag "MakeHumanTM", making it easier to only show bundled assets when many third-part assets have been downloaded
* MATERIALS: Core assets will now also look in user directories for extra materials
* ASSET DOWNLOADER: When downloading materials that belong to a core asset, these will now be placed so they show up as materials for said asset
* ASSET DOWNLOADER: It is now possible to filter materials to show only those belonging to a core asset
* ASSET DOWNLOADER: Drastically reduced the size of the initial download
* ASSET DOWNLOADER: Provide better visual feedback so it doesn't look as if the system hanged
* ASSET DOWNLOADER: Made downloading screenshots for assets optional
* PPA: Remove strong dependency on blender. We recommend against using Ubuntu's version of blender since it's broken in many ways.
* PPA: Specify minimum allowed versions of central dependencies.
== Highlights ==
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new Blender integration, with support for socket transfers, IK and Kinect
* Improved internationalization support for non-ASCII characters (backported)
* Plugins in user space
* Plugins activation at runtime
* Improved tag sorting capabilities, including sticky tag provisions
* Tags for models (with configurable tag count)
* Show Name Tags instead of file names in the file loader.
* Saving model as target
* Real weight estimation
* Configurable location for the home folder
* MHX2 is bundled in the default installation
* There is a new installer for windows
* There is a new PPA for ubuntu. This PPA also offers builds of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds)
== Known issues ==
* FBX skeleton will still misbehave
* There are still graphics card incompatibilities in the OpenGL code. '''On several graphics cards you may get no visible output whatsoever''', rendering the application unusable. If this happens, please report what operating system and what graphics card you are using so we can investigate it further.
* There is no build for OSX
* The user data folder is still makehuman/v1py3 rather than makehuman/v1, in order to guarrantee that the development version does not interfere with the stable version. This will probably be changed for the final release.
* The new blender importer will crash when used in a version of blender that is shipped with ubuntu 18.04. It works fine on ubuntu 18.04 if using a blender that is downloaded from blender's homepage though. Investigations are pending.
* The new blender importer requires blender 2.79. It will not work in earlier versions of blender and will not (yet) work in blender 2.80.
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
=== Running from source ===
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 or higher
* NumPy: 1.13.0 or higher
* PyOpenGL: Any modern version will work, including the one used for MakeHuman 1.1.x
=== Ubuntu ===
In order to fulfill the minimum dependency requirements listed above, you will need Ubuntu 18.04 or later. For earlier Ubuntu versions, you would have use backports of the dependencies, as they are not available in the default installation.
The PPA for this build is here: [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community ppa:makehuman-official/makehuman-community].
To enable it, run:
sudo add-apt-repository ppa:makehuman-official/makehuman-community
sudo apt-get update
sudo apt-get install makehuman-community
== The upgraded codebase ==
The main focus of this release has been to modernize the code. In the prior version, large parts were written more than eight years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The expected end of life for python 2.7 is in less than two years.
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
== Asset downloader ==
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
<br clear=all>
== New blender integration ==
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
[[File:12x-blender-ik.png|300px|thumb|right|Convert to IK rig]]
This release bundles a rich set of blender functionalitites, which can be added to blender in the form of an addon. Not all functionality will be listed here, but the following are
some highlights.
=== Import directly from MakeHuman ===
In blender it is now possible to fetch a toon directly from a running instance of MakeHuman, without having to first save the toon to a file. The importer will talk with the makehuman instance
and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses. The process is almost instantaneous (a toon with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== IK and amputations ===
The importer will use the skeleton set in MakeHuman to rig the resulting character in Blender. The rig can then be extended with the "IK rig" functionality: By clicking a button you can get extra
IK controls, and IK chains set up for arms, legs and fingers.
Rigs can also be amputated in case detailed bones are not required.
All rigs currently available to MakeHuman are supported.
=== Kinect ===
To be written
<br clear=all>
== A new windows installer ==
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
== Other bundled functionality ==
Apart from the above, some other functionality that previously had to be downloaded separately is now bundled:
=== MHX2 ===
MHX2 is now enabled per default in MakeHuman. The blender side of MHX2 is bundled as a zip file which can
be added to blender via the user preferences.
=== MHAPI ===
MHAPI (a library with convenience calls for making addons for MakeHuman) is now included and enabled per default.
== Where to download ==
(alpha 2 has not yet been released, these links might be broken)
You can [http://download.tuxfamily.org/makehuman/nightly/makehuman-community-1.2.0-alpha1-win32.zip download the windows build here].
For linux, [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community there is a new PPA].
== Providing feedback and bug reports ==
As always with an alpha release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums. But more formal bug trackers are here:
* For MakeHuman as such: [http://bugtracker.makehumancommunity.org/ http://bugtracker.makehumancommunity.org/]
* For the asset downloader: [https://github.com/makehumancommunity/community-plugins-assetdownload/issues https://github.com/makehumancommunity/community-plugins-assetdownload/issues]
* For the makehuman side of the new blender integration: [https://github.com/makehumancommunity/community-plugins-socket/issues https://github.com/makehumancommunity/community-plugins-socket/issues]
* For the blender side of the new blender integration: [https://github.com/makehumancommunity/makehuman-plugin-for-blender/issues https://github.com/makehumancommunity/makehuman-plugin-for-blender/issues]
* For issues specific to MHX2: [https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange/issues?status=new&status=open https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange/issues]
9e2b1c0692ea6e70d891a29df2f172d3b6c53055
1538
1537
2018-12-09T14:18:35Z
Joepal
14
/* Changes since alpha 1 */
wikitext
text/x-wiki
(alpha 2 has not been released yet, these notes are work in progress)
'''It is important to understand that 1.2.0 alpha 2 is an alpha release. This means that things ''will'' behave strangely. Before downloading the build, you should at least read the "known issues" section in these notes.'''
These notes are under construction and may be incomplete. Further, the notes describe, as of now, an alpha version of a coming release. The final release might be different from what is described below.
== General ==
In most cases, there should be no problem running versions 1.1.1 and 1.2.0 on the same system. They will not interfere with each other's files. You can find download links for 1.2.0 at the bottom of this page.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
The following are the changes since version 1.1.1.
== Changes since alpha 1 ==
The following are fixes made since the release of 1.2.0 alpha 1:
* UI: Core MakeHuman assets now have a tag "MakeHumanTM", making it easier to only show bundled assets when many third-part assets have been downloaded
* MATERIALS: Core assets will now also look in user directories for extra materials
* LINUX: makehuman root is now ~/Documents/makehuman/v1py3 (or whatever your platform name for "Documents" is, it is fetched from the XDG configuration) rather than ~/makehuman/v1py3. This is the standard used on other platforms, but it will mean that you will have to manually move data you want to keep from the old location to the new.
* ASSET DOWNLOADER: When downloading materials that belong to a core asset, these will now be placed so they show up as materials for said asset
* ASSET DOWNLOADER: It is now possible to filter materials to show only those belonging to a core asset
* ASSET DOWNLOADER: Drastically reduced the size of the initial download
* ASSET DOWNLOADER: Provide better visual feedback so it doesn't look as if the system hanged
* ASSET DOWNLOADER: Made downloading screenshots for assets optional
* PPA: Remove strong dependency on blender. We recommend against using Ubuntu's version of blender since it's broken in many ways.
* PPA: Specify minimum allowed versions of central dependencies.
== Highlights ==
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new Blender integration, with support for socket transfers, IK and Kinect
* Improved internationalization support for non-ASCII characters (backported)
* Plugins in user space
* Plugins activation at runtime
* Improved tag sorting capabilities, including sticky tag provisions
* Tags for models (with configurable tag count)
* Show Name Tags instead of file names in the file loader.
* Saving model as target
* Real weight estimation
* Configurable location for the home folder
* MHX2 is bundled in the default installation
* There is a new installer for windows
* There is a new PPA for ubuntu. This PPA also offers builds of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds)
== Known issues ==
* FBX skeleton will still misbehave
* There are still graphics card incompatibilities in the OpenGL code. '''On several graphics cards you may get no visible output whatsoever''', rendering the application unusable. If this happens, please report what operating system and what graphics card you are using so we can investigate it further.
* There is no build for OSX
* The user data folder is still makehuman/v1py3 rather than makehuman/v1, in order to guarrantee that the development version does not interfere with the stable version. This will probably be changed for the final release.
* The new blender importer will crash when used in a version of blender that is shipped with ubuntu 18.04. It works fine on ubuntu 18.04 if using a blender that is downloaded from blender's homepage though. Investigations are pending.
* The new blender importer requires blender 2.79. It will not work in earlier versions of blender and will not (yet) work in blender 2.80.
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
=== Running from source ===
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 or higher
* NumPy: 1.13.0 or higher
* PyOpenGL: Any modern version will work, including the one used for MakeHuman 1.1.x
=== Ubuntu ===
In order to fulfill the minimum dependency requirements listed above, you will need Ubuntu 18.04 or later. For earlier Ubuntu versions, you would have use backports of the dependencies, as they are not available in the default installation.
The PPA for this build is here: [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community ppa:makehuman-official/makehuman-community].
To enable it, run:
sudo add-apt-repository ppa:makehuman-official/makehuman-community
sudo apt-get update
sudo apt-get install makehuman-community
== The upgraded codebase ==
The main focus of this release has been to modernize the code. In the prior version, large parts were written more than eight years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The expected end of life for python 2.7 is in less than two years.
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
== Asset downloader ==
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
<br clear=all>
== New blender integration ==
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
[[File:12x-blender-ik.png|300px|thumb|right|Convert to IK rig]]
This release bundles a rich set of blender functionalitites, which can be added to blender in the form of an addon. Not all functionality will be listed here, but the following are
some highlights.
=== Import directly from MakeHuman ===
In blender it is now possible to fetch a toon directly from a running instance of MakeHuman, without having to first save the toon to a file. The importer will talk with the makehuman instance
and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses. The process is almost instantaneous (a toon with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== IK and amputations ===
The importer will use the skeleton set in MakeHuman to rig the resulting character in Blender. The rig can then be extended with the "IK rig" functionality: By clicking a button you can get extra
IK controls, and IK chains set up for arms, legs and fingers.
Rigs can also be amputated in case detailed bones are not required.
All rigs currently available to MakeHuman are supported.
=== Kinect ===
To be written
<br clear=all>
== A new windows installer ==
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
== Other bundled functionality ==
Apart from the above, some other functionality that previously had to be downloaded separately is now bundled:
=== MHX2 ===
MHX2 is now enabled per default in MakeHuman. The blender side of MHX2 is bundled as a zip file which can
be added to blender via the user preferences.
=== MHAPI ===
MHAPI (a library with convenience calls for making addons for MakeHuman) is now included and enabled per default.
== Where to download ==
(alpha 2 has not yet been released, these links might be broken)
You can [http://download.tuxfamily.org/makehuman/nightly/makehuman-community-1.2.0-alpha1-win32.zip download the windows build here].
For linux, [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community there is a new PPA].
== Providing feedback and bug reports ==
As always with an alpha release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums. But more formal bug trackers are here:
* For MakeHuman as such: [http://bugtracker.makehumancommunity.org/ http://bugtracker.makehumancommunity.org/]
* For the asset downloader: [https://github.com/makehumancommunity/community-plugins-assetdownload/issues https://github.com/makehumancommunity/community-plugins-assetdownload/issues]
* For the makehuman side of the new blender integration: [https://github.com/makehumancommunity/community-plugins-socket/issues https://github.com/makehumancommunity/community-plugins-socket/issues]
* For the blender side of the new blender integration: [https://github.com/makehumancommunity/makehuman-plugin-for-blender/issues https://github.com/makehumancommunity/makehuman-plugin-for-blender/issues]
* For issues specific to MHX2: [https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange/issues?status=new&status=open https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange/issues]
ddfc9c4666a004917f209ce480f4784c97c8a0ef
1537
1533
2018-12-06T09:50:00Z
Joepal
14
/* Changes since alpha 1 */
wikitext
text/x-wiki
(alpha 2 has not been released yet, these notes are work in progress)
'''It is important to understand that 1.2.0 alpha 2 is an alpha release. This means that things ''will'' behave strangely. Before downloading the build, you should at least read the "known issues" section in these notes.'''
These notes are under construction and may be incomplete. Further, the notes describe, as of now, an alpha version of a coming release. The final release might be different from what is described below.
== General ==
In most cases, there should be no problem running versions 1.1.1 and 1.2.0 on the same system. They will not interfere with each other's files. You can find download links for 1.2.0 at the bottom of this page.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
The following are the changes since version 1.1.1.
== Changes since alpha 1 ==
The following are fixes made since the release of 1.2.0 alpha 1:
* UI: Core MakeHuman assets now have a tag "MakeHumanTM", making it easier to only show bundled assets when many third-part assets have been downloaded
* MATERIALS: Core assets will now also look in user directories for extra materials
* ASSET DOWNLOADER: When downloading materials that belong to a core asset, these will now be placed so they show up as materials for said asset
* ASSET DOWNLOADER: It is now possible to filter materials to show only those belonging to a core asset
* ASSET DOWNLOADER: Drastically reduced the size of the initial download
* ASSET DOWNLOADER: Provide better visual feedback so it doesn't look as if the system hanged
* ASSET DOWNLOADER: Made downloading screenshots for assets optional
* PPA: Remove strong dependency on blender. We recommend against using Ubuntu's version of blender since it's broken in many ways.
== Highlights ==
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new Blender integration, with support for socket transfers, IK and Kinect
* Improved internationalization support for non-ASCII characters (backported)
* Plugins in user space
* Plugins activation at runtime
* Improved tag sorting capabilities, including sticky tag provisions
* Tags for models (with configurable tag count)
* Show Name Tags instead of file names in the file loader.
* Saving model as target
* Real weight estimation
* Configurable location for the home folder
* MHX2 is bundled in the default installation
* There is a new installer for windows
* There is a new PPA for ubuntu. This PPA also offers builds of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds)
== Known issues ==
* FBX skeleton will still misbehave
* There are still graphics card incompatibilities in the OpenGL code. '''On several graphics cards you may get no visible output whatsoever''', rendering the application unusable. If this happens, please report what operating system and what graphics card you are using so we can investigate it further.
* There is no build for OSX
* The user data folder is still makehuman/v1py3 rather than makehuman/v1, in order to guarrantee that the development version does not interfere with the stable version. This will probably be changed for the final release.
* The new blender importer will crash when used in a version of blender that is shipped with ubuntu 18.04. It works fine on ubuntu 18.04 if using a blender that is downloaded from blender's homepage though. Investigations are pending.
* The new blender importer requires blender 2.79. It will not work in earlier versions of blender and will not (yet) work in blender 2.80.
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
=== Running from source ===
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 or higher
* NumPy: 1.13.0 or higher
* PyOpenGL: Any modern version will work, including the one used for MakeHuman 1.1.x
=== Ubuntu ===
In order to fulfill the minimum dependency requirements listed above, you will need Ubuntu 18.04 or later. For earlier Ubuntu versions, you would have use backports of the dependencies, as they are not available in the default installation.
The PPA for this build is here: [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community ppa:makehuman-official/makehuman-community].
To enable it, run:
sudo add-apt-repository ppa:makehuman-official/makehuman-community
sudo apt-get update
sudo apt-get install makehuman-community
== The upgraded codebase ==
The main focus of this release has been to modernize the code. In the prior version, large parts were written more than eight years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The expected end of life for python 2.7 is in less than two years.
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
== Asset downloader ==
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
<br clear=all>
== New blender integration ==
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
[[File:12x-blender-ik.png|300px|thumb|right|Convert to IK rig]]
This release bundles a rich set of blender functionalitites, which can be added to blender in the form of an addon. Not all functionality will be listed here, but the following are
some highlights.
=== Import directly from MakeHuman ===
In blender it is now possible to fetch a toon directly from a running instance of MakeHuman, without having to first save the toon to a file. The importer will talk with the makehuman instance
and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses. The process is almost instantaneous (a toon with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== IK and amputations ===
The importer will use the skeleton set in MakeHuman to rig the resulting character in Blender. The rig can then be extended with the "IK rig" functionality: By clicking a button you can get extra
IK controls, and IK chains set up for arms, legs and fingers.
Rigs can also be amputated in case detailed bones are not required.
All rigs currently available to MakeHuman are supported.
=== Kinect ===
To be written
<br clear=all>
== A new windows installer ==
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
== Other bundled functionality ==
Apart from the above, some other functionality that previously had to be downloaded separately is now bundled:
=== MHX2 ===
MHX2 is now enabled per default in MakeHuman. The blender side of MHX2 is bundled as a zip file which can
be added to blender via the user preferences.
=== MHAPI ===
MHAPI (a library with convenience calls for making addons for MakeHuman) is now included and enabled per default.
== Where to download ==
(alpha 2 has not yet been released, these links might be broken)
You can [http://download.tuxfamily.org/makehuman/nightly/makehuman-community-1.2.0-alpha1-win32.zip download the windows build here].
For linux, [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community there is a new PPA].
== Providing feedback and bug reports ==
As always with an alpha release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums. But more formal bug trackers are here:
* For MakeHuman as such: [http://bugtracker.makehumancommunity.org/ http://bugtracker.makehumancommunity.org/]
* For the asset downloader: [https://github.com/makehumancommunity/community-plugins-assetdownload/issues https://github.com/makehumancommunity/community-plugins-assetdownload/issues]
* For the makehuman side of the new blender integration: [https://github.com/makehumancommunity/community-plugins-socket/issues https://github.com/makehumancommunity/community-plugins-socket/issues]
* For the blender side of the new blender integration: [https://github.com/makehumancommunity/makehuman-plugin-for-blender/issues https://github.com/makehumancommunity/makehuman-plugin-for-blender/issues]
* For issues specific to MHX2: [https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange/issues?status=new&status=open https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange/issues]
f8d72088c1bfe04bc5d1c6fbfcd698f0e89dde14
1533
1532
2018-11-30T11:04:08Z
Joepal
14
/* Known issues */
wikitext
text/x-wiki
(alpha 2 has not been released yet, these notes are work in progress)
'''It is important to understand that 1.2.0 alpha 2 is an alpha release. This means that things ''will'' behave strangely. Before downloading the build, you should at least read the "known issues" section in these notes.'''
These notes are under construction and may be incomplete. Further, the notes describe, as of now, an alpha version of a coming release. The final release might be different from what is described below.
== General ==
In most cases, there should be no problem running versions 1.1.1 and 1.2.0 on the same system. They will not interfere with each other's files. You can find download links for 1.2.0 at the bottom of this page.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
The following are the changes since version 1.1.1.
== Changes since alpha 1 ==
The following are fixes made since the release of 1.2.0 alpha 1:
* ASSET DOWNLOADER: Drastically reduced the size of the initial download
* ASSET DOWNLOADER: Provide better visual feedback so it doesn't look as if the system hanged
* ASSET DOWNLOADER: Made downloading screenshots for assets optional
* PPA: Remove strong dependency on blender. We recommend against using Ubuntu's version of blender since it's broken in many ways.
* UI: Core MakeHuman assets now have a tag "MakeHumanTM", making it easier to only show bundled assets when many third-part assets have been downloaded
* MATERIALS: Core assets will now also look in user directories for extra materials
== Highlights ==
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new Blender integration, with support for socket transfers, IK and Kinect
* Improved internationalization support for non-ASCII characters (backported)
* Plugins in user space
* Plugins activation at runtime
* Improved tag sorting capabilities, including sticky tag provisions
* Tags for models (with configurable tag count)
* Show Name Tags instead of file names in the file loader.
* Saving model as target
* Real weight estimation
* Configurable location for the home folder
* MHX2 is bundled in the default installation
* There is a new installer for windows
* There is a new PPA for ubuntu. This PPA also offers builds of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds)
== Known issues ==
* FBX skeleton will still misbehave
* There are still graphics card incompatibilities in the OpenGL code. '''On several graphics cards you may get no visible output whatsoever''', rendering the application unusable. If this happens, please report what operating system and what graphics card you are using so we can investigate it further.
* There is no build for OSX
* The user data folder is still makehuman/v1py3 rather than makehuman/v1, in order to guarrantee that the development version does not interfere with the stable version. This will probably be changed for the final release.
* The new blender importer will crash when used in a version of blender that is shipped with ubuntu 18.04. It works fine on ubuntu 18.04 if using a blender that is downloaded from blender's homepage though. Investigations are pending.
* The new blender importer requires blender 2.79. It will not work in earlier versions of blender and will not (yet) work in blender 2.80.
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
=== Running from source ===
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 or higher
* NumPy: 1.13.0 or higher
* PyOpenGL: Any modern version will work, including the one used for MakeHuman 1.1.x
=== Ubuntu ===
In order to fulfill the minimum dependency requirements listed above, you will need Ubuntu 18.04 or later. For earlier Ubuntu versions, you would have use backports of the dependencies, as they are not available in the default installation.
The PPA for this build is here: [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community ppa:makehuman-official/makehuman-community].
To enable it, run:
sudo add-apt-repository ppa:makehuman-official/makehuman-community
sudo apt-get update
sudo apt-get install makehuman-community
== The upgraded codebase ==
The main focus of this release has been to modernize the code. In the prior version, large parts were written more than eight years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The expected end of life for python 2.7 is in less than two years.
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
== Asset downloader ==
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
<br clear=all>
== New blender integration ==
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
[[File:12x-blender-ik.png|300px|thumb|right|Convert to IK rig]]
This release bundles a rich set of blender functionalitites, which can be added to blender in the form of an addon. Not all functionality will be listed here, but the following are
some highlights.
=== Import directly from MakeHuman ===
In blender it is now possible to fetch a toon directly from a running instance of MakeHuman, without having to first save the toon to a file. The importer will talk with the makehuman instance
and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses. The process is almost instantaneous (a toon with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== IK and amputations ===
The importer will use the skeleton set in MakeHuman to rig the resulting character in Blender. The rig can then be extended with the "IK rig" functionality: By clicking a button you can get extra
IK controls, and IK chains set up for arms, legs and fingers.
Rigs can also be amputated in case detailed bones are not required.
All rigs currently available to MakeHuman are supported.
=== Kinect ===
To be written
<br clear=all>
== A new windows installer ==
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
== Other bundled functionality ==
Apart from the above, some other functionality that previously had to be downloaded separately is now bundled:
=== MHX2 ===
MHX2 is now enabled per default in MakeHuman. The blender side of MHX2 is bundled as a zip file which can
be added to blender via the user preferences.
=== MHAPI ===
MHAPI (a library with convenience calls for making addons for MakeHuman) is now included and enabled per default.
== Where to download ==
(alpha 2 has not yet been released, these links might be broken)
You can [http://download.tuxfamily.org/makehuman/nightly/makehuman-community-1.2.0-alpha1-win32.zip download the windows build here].
For linux, [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community there is a new PPA].
== Providing feedback and bug reports ==
As always with an alpha release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums. But more formal bug trackers are here:
* For MakeHuman as such: [http://bugtracker.makehumancommunity.org/ http://bugtracker.makehumancommunity.org/]
* For the asset downloader: [https://github.com/makehumancommunity/community-plugins-assetdownload/issues https://github.com/makehumancommunity/community-plugins-assetdownload/issues]
* For the makehuman side of the new blender integration: [https://github.com/makehumancommunity/community-plugins-socket/issues https://github.com/makehumancommunity/community-plugins-socket/issues]
* For the blender side of the new blender integration: [https://github.com/makehumancommunity/makehuman-plugin-for-blender/issues https://github.com/makehumancommunity/makehuman-plugin-for-blender/issues]
* For issues specific to MHX2: [https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange/issues?status=new&status=open https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange/issues]
6976bae95196c34ddfee50a7d6cf8b1f9738553a
1532
1531
2018-11-30T10:57:53Z
Joepal
14
/* Changes since alpha 1 */
wikitext
text/x-wiki
(alpha 2 has not been released yet, these notes are work in progress)
'''It is important to understand that 1.2.0 alpha 2 is an alpha release. This means that things ''will'' behave strangely. Before downloading the build, you should at least read the "known issues" section in these notes.'''
These notes are under construction and may be incomplete. Further, the notes describe, as of now, an alpha version of a coming release. The final release might be different from what is described below.
== General ==
In most cases, there should be no problem running versions 1.1.1 and 1.2.0 on the same system. They will not interfere with each other's files. You can find download links for 1.2.0 at the bottom of this page.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
The following are the changes since version 1.1.1.
== Changes since alpha 1 ==
The following are fixes made since the release of 1.2.0 alpha 1:
* ASSET DOWNLOADER: Drastically reduced the size of the initial download
* ASSET DOWNLOADER: Provide better visual feedback so it doesn't look as if the system hanged
* ASSET DOWNLOADER: Made downloading screenshots for assets optional
* PPA: Remove strong dependency on blender. We recommend against using Ubuntu's version of blender since it's broken in many ways.
* UI: Core MakeHuman assets now have a tag "MakeHumanTM", making it easier to only show bundled assets when many third-part assets have been downloaded
* MATERIALS: Core assets will now also look in user directories for extra materials
== Highlights ==
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new Blender integration, with support for socket transfers, IK and Kinect
* Improved internationalization support for non-ASCII characters (backported)
* Plugins in user space
* Plugins activation at runtime
* Improved tag sorting capabilities, including sticky tag provisions
* Tags for models (with configurable tag count)
* Show Name Tags instead of file names in the file loader.
* Saving model as target
* Real weight estimation
* Configurable location for the home folder
* MHX2 is bundled in the default installation
* There is a new installer for windows
* There is a new PPA for ubuntu. This PPA also offers builds of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds)
== Known issues ==
* FBX skeleton will still misbehave
* There are still graphics card incompatibilities in the OpenGL code. '''On several graphics cards you may get no visible output whatsoever''', rendering the application unusable. If this happens, please report what operating system and what graphics card you are using so we can investigate it further.
* There is no build for OSX
* The user data folder is still makehuman/v1py3 rather than makehuman/v1, in order to guarrantee that the development version does not interfere with the stable version. This will probably be changed for the final release.
* The new blender importer will crash when used in a version of blender that is shipped with ubuntu 18.04. It works fine on ubuntu 18.04 if using a blender that is downloaded from blender's homepage though. Investigations are pending.
* The new blender importer requires blender 2.79. It will not work in earlier versions of blender and will not (yet) work in blender 2.80.
* The initial sync for the asset downloader will take a very long time to finish, and it might look as if it finished despite the files still being processed in the background. Clicking around in the interface before you get the final message box saying that the synchronization is finished may cause a crash and terminate the synchronization.
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
=== Running from source ===
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 or higher
* NumPy: 1.13.0 or higher
* PyOpenGL: Any modern version will work, including the one used for MakeHuman 1.1.x
=== Ubuntu ===
In order to fulfill the minimum dependency requirements listed above, you will need Ubuntu 18.04 or later. For earlier Ubuntu versions, you would have use backports of the dependencies, as they are not available in the default installation.
The PPA for this build is here: [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community ppa:makehuman-official/makehuman-community].
To enable it, run:
sudo add-apt-repository ppa:makehuman-official/makehuman-community
sudo apt-get update
sudo apt-get install makehuman-community
== The upgraded codebase ==
The main focus of this release has been to modernize the code. In the prior version, large parts were written more than eight years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The expected end of life for python 2.7 is in less than two years.
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
== Asset downloader ==
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
<br clear=all>
== New blender integration ==
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
[[File:12x-blender-ik.png|300px|thumb|right|Convert to IK rig]]
This release bundles a rich set of blender functionalitites, which can be added to blender in the form of an addon. Not all functionality will be listed here, but the following are
some highlights.
=== Import directly from MakeHuman ===
In blender it is now possible to fetch a toon directly from a running instance of MakeHuman, without having to first save the toon to a file. The importer will talk with the makehuman instance
and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses. The process is almost instantaneous (a toon with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== IK and amputations ===
The importer will use the skeleton set in MakeHuman to rig the resulting character in Blender. The rig can then be extended with the "IK rig" functionality: By clicking a button you can get extra
IK controls, and IK chains set up for arms, legs and fingers.
Rigs can also be amputated in case detailed bones are not required.
All rigs currently available to MakeHuman are supported.
=== Kinect ===
To be written
<br clear=all>
== A new windows installer ==
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
== Other bundled functionality ==
Apart from the above, some other functionality that previously had to be downloaded separately is now bundled:
=== MHX2 ===
MHX2 is now enabled per default in MakeHuman. The blender side of MHX2 is bundled as a zip file which can
be added to blender via the user preferences.
=== MHAPI ===
MHAPI (a library with convenience calls for making addons for MakeHuman) is now included and enabled per default.
== Where to download ==
(alpha 2 has not yet been released, these links might be broken)
You can [http://download.tuxfamily.org/makehuman/nightly/makehuman-community-1.2.0-alpha1-win32.zip download the windows build here].
For linux, [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community there is a new PPA].
== Providing feedback and bug reports ==
As always with an alpha release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums. But more formal bug trackers are here:
* For MakeHuman as such: [http://bugtracker.makehumancommunity.org/ http://bugtracker.makehumancommunity.org/]
* For the asset downloader: [https://github.com/makehumancommunity/community-plugins-assetdownload/issues https://github.com/makehumancommunity/community-plugins-assetdownload/issues]
* For the makehuman side of the new blender integration: [https://github.com/makehumancommunity/community-plugins-socket/issues https://github.com/makehumancommunity/community-plugins-socket/issues]
* For the blender side of the new blender integration: [https://github.com/makehumancommunity/makehuman-plugin-for-blender/issues https://github.com/makehumancommunity/makehuman-plugin-for-blender/issues]
* For issues specific to MHX2: [https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange/issues?status=new&status=open https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange/issues]
85c18056261a60a409175dd727a0390d3d698ec9
1531
1530
2018-11-29T09:24:02Z
Joepal
14
/* Changes since alpha 1 */
wikitext
text/x-wiki
(alpha 2 has not been released yet, these notes are work in progress)
'''It is important to understand that 1.2.0 alpha 2 is an alpha release. This means that things ''will'' behave strangely. Before downloading the build, you should at least read the "known issues" section in these notes.'''
These notes are under construction and may be incomplete. Further, the notes describe, as of now, an alpha version of a coming release. The final release might be different from what is described below.
== General ==
In most cases, there should be no problem running versions 1.1.1 and 1.2.0 on the same system. They will not interfere with each other's files. You can find download links for 1.2.0 at the bottom of this page.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
The following are the changes since version 1.1.1.
== Changes since alpha 1 ==
The following are fixes made since the release of 1.2.0 alpha 1:
* ASSET DOWNLOADER: Drastically reduced the size of the initial download
* ASSET DOWNLOADER: Provide better visual feedback so it doesn't look as if the system hanged
* ASSET DOWNLOADER: Made downloading screenshots for assets optional
* PPA: Remove strong dependency on blender. We recommend against using Ubuntu's version of blender since it's broken in many ways.
* UI: Core MakeHuman assets now have a tag "MakeHumanTM", making it easier to only show bundled assets when many third-part assets have been downloaded
== Highlights ==
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new Blender integration, with support for socket transfers, IK and Kinect
* Improved internationalization support for non-ASCII characters (backported)
* Plugins in user space
* Plugins activation at runtime
* Improved tag sorting capabilities, including sticky tag provisions
* Tags for models (with configurable tag count)
* Show Name Tags instead of file names in the file loader.
* Saving model as target
* Real weight estimation
* Configurable location for the home folder
* MHX2 is bundled in the default installation
* There is a new installer for windows
* There is a new PPA for ubuntu. This PPA also offers builds of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds)
== Known issues ==
* FBX skeleton will still misbehave
* There are still graphics card incompatibilities in the OpenGL code. '''On several graphics cards you may get no visible output whatsoever''', rendering the application unusable. If this happens, please report what operating system and what graphics card you are using so we can investigate it further.
* There is no build for OSX
* The user data folder is still makehuman/v1py3 rather than makehuman/v1, in order to guarrantee that the development version does not interfere with the stable version. This will probably be changed for the final release.
* The new blender importer will crash when used in a version of blender that is shipped with ubuntu 18.04. It works fine on ubuntu 18.04 if using a blender that is downloaded from blender's homepage though. Investigations are pending.
* The new blender importer requires blender 2.79. It will not work in earlier versions of blender and will not (yet) work in blender 2.80.
* The initial sync for the asset downloader will take a very long time to finish, and it might look as if it finished despite the files still being processed in the background. Clicking around in the interface before you get the final message box saying that the synchronization is finished may cause a crash and terminate the synchronization.
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
=== Running from source ===
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 or higher
* NumPy: 1.13.0 or higher
* PyOpenGL: Any modern version will work, including the one used for MakeHuman 1.1.x
=== Ubuntu ===
In order to fulfill the minimum dependency requirements listed above, you will need Ubuntu 18.04 or later. For earlier Ubuntu versions, you would have use backports of the dependencies, as they are not available in the default installation.
The PPA for this build is here: [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community ppa:makehuman-official/makehuman-community].
To enable it, run:
sudo add-apt-repository ppa:makehuman-official/makehuman-community
sudo apt-get update
sudo apt-get install makehuman-community
== The upgraded codebase ==
The main focus of this release has been to modernize the code. In the prior version, large parts were written more than eight years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The expected end of life for python 2.7 is in less than two years.
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
== Asset downloader ==
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
<br clear=all>
== New blender integration ==
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
[[File:12x-blender-ik.png|300px|thumb|right|Convert to IK rig]]
This release bundles a rich set of blender functionalitites, which can be added to blender in the form of an addon. Not all functionality will be listed here, but the following are
some highlights.
=== Import directly from MakeHuman ===
In blender it is now possible to fetch a toon directly from a running instance of MakeHuman, without having to first save the toon to a file. The importer will talk with the makehuman instance
and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses. The process is almost instantaneous (a toon with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== IK and amputations ===
The importer will use the skeleton set in MakeHuman to rig the resulting character in Blender. The rig can then be extended with the "IK rig" functionality: By clicking a button you can get extra
IK controls, and IK chains set up for arms, legs and fingers.
Rigs can also be amputated in case detailed bones are not required.
All rigs currently available to MakeHuman are supported.
=== Kinect ===
To be written
<br clear=all>
== A new windows installer ==
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
== Other bundled functionality ==
Apart from the above, some other functionality that previously had to be downloaded separately is now bundled:
=== MHX2 ===
MHX2 is now enabled per default in MakeHuman. The blender side of MHX2 is bundled as a zip file which can
be added to blender via the user preferences.
=== MHAPI ===
MHAPI (a library with convenience calls for making addons for MakeHuman) is now included and enabled per default.
== Where to download ==
(alpha 2 has not yet been released, these links might be broken)
You can [http://download.tuxfamily.org/makehuman/nightly/makehuman-community-1.2.0-alpha1-win32.zip download the windows build here].
For linux, [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community there is a new PPA].
== Providing feedback and bug reports ==
As always with an alpha release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums. But more formal bug trackers are here:
* For MakeHuman as such: [http://bugtracker.makehumancommunity.org/ http://bugtracker.makehumancommunity.org/]
* For the asset downloader: [https://github.com/makehumancommunity/community-plugins-assetdownload/issues https://github.com/makehumancommunity/community-plugins-assetdownload/issues]
* For the makehuman side of the new blender integration: [https://github.com/makehumancommunity/community-plugins-socket/issues https://github.com/makehumancommunity/community-plugins-socket/issues]
* For the blender side of the new blender integration: [https://github.com/makehumancommunity/makehuman-plugin-for-blender/issues https://github.com/makehumancommunity/makehuman-plugin-for-blender/issues]
* For issues specific to MHX2: [https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange/issues?status=new&status=open https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange/issues]
f16b16867d85246b476b5b46d93e55dd6141626d
1530
1529
2018-11-29T08:48:15Z
Joepal
14
wikitext
text/x-wiki
(alpha 2 has not been released yet, these notes are work in progress)
'''It is important to understand that 1.2.0 alpha 2 is an alpha release. This means that things ''will'' behave strangely. Before downloading the build, you should at least read the "known issues" section in these notes.'''
These notes are under construction and may be incomplete. Further, the notes describe, as of now, an alpha version of a coming release. The final release might be different from what is described below.
== General ==
In most cases, there should be no problem running versions 1.1.1 and 1.2.0 on the same system. They will not interfere with each other's files. You can find download links for 1.2.0 at the bottom of this page.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
The following are the changes since version 1.1.1.
== Changes since alpha 1 ==
The following are fixes made since the release of 1.2.0 alpha 1:
* ASSET DOWNLOADER: Drastically reduced the size of the initial download
* ASSET DOWNLOADER: Provide better visual feedback so it doesn't look as if the system hanged
* ASSET DOWNLOADER: Made downloading screenshots for assets optional
* PPA: Remove strong dependency on blender. We recommend against using Ubuntu's version of blender since it's broken in many ways.
== Highlights ==
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new Blender integration, with support for socket transfers, IK and Kinect
* Improved internationalization support for non-ASCII characters (backported)
* Plugins in user space
* Plugins activation at runtime
* Improved tag sorting capabilities, including sticky tag provisions
* Tags for models (with configurable tag count)
* Show Name Tags instead of file names in the file loader.
* Saving model as target
* Real weight estimation
* Configurable location for the home folder
* MHX2 is bundled in the default installation
* There is a new installer for windows
* There is a new PPA for ubuntu. This PPA also offers builds of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds)
== Known issues ==
* FBX skeleton will still misbehave
* There are still graphics card incompatibilities in the OpenGL code. '''On several graphics cards you may get no visible output whatsoever''', rendering the application unusable. If this happens, please report what operating system and what graphics card you are using so we can investigate it further.
* There is no build for OSX
* The user data folder is still makehuman/v1py3 rather than makehuman/v1, in order to guarrantee that the development version does not interfere with the stable version. This will probably be changed for the final release.
* The new blender importer will crash when used in a version of blender that is shipped with ubuntu 18.04. It works fine on ubuntu 18.04 if using a blender that is downloaded from blender's homepage though. Investigations are pending.
* The new blender importer requires blender 2.79. It will not work in earlier versions of blender and will not (yet) work in blender 2.80.
* The initial sync for the asset downloader will take a very long time to finish, and it might look as if it finished despite the files still being processed in the background. Clicking around in the interface before you get the final message box saying that the synchronization is finished may cause a crash and terminate the synchronization.
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
=== Running from source ===
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 or higher
* NumPy: 1.13.0 or higher
* PyOpenGL: Any modern version will work, including the one used for MakeHuman 1.1.x
=== Ubuntu ===
In order to fulfill the minimum dependency requirements listed above, you will need Ubuntu 18.04 or later. For earlier Ubuntu versions, you would have use backports of the dependencies, as they are not available in the default installation.
The PPA for this build is here: [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community ppa:makehuman-official/makehuman-community].
To enable it, run:
sudo add-apt-repository ppa:makehuman-official/makehuman-community
sudo apt-get update
sudo apt-get install makehuman-community
== The upgraded codebase ==
The main focus of this release has been to modernize the code. In the prior version, large parts were written more than eight years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The expected end of life for python 2.7 is in less than two years.
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
== Asset downloader ==
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
<br clear=all>
== New blender integration ==
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
[[File:12x-blender-ik.png|300px|thumb|right|Convert to IK rig]]
This release bundles a rich set of blender functionalitites, which can be added to blender in the form of an addon. Not all functionality will be listed here, but the following are
some highlights.
=== Import directly from MakeHuman ===
In blender it is now possible to fetch a toon directly from a running instance of MakeHuman, without having to first save the toon to a file. The importer will talk with the makehuman instance
and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses. The process is almost instantaneous (a toon with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== IK and amputations ===
The importer will use the skeleton set in MakeHuman to rig the resulting character in Blender. The rig can then be extended with the "IK rig" functionality: By clicking a button you can get extra
IK controls, and IK chains set up for arms, legs and fingers.
Rigs can also be amputated in case detailed bones are not required.
All rigs currently available to MakeHuman are supported.
=== Kinect ===
To be written
<br clear=all>
== A new windows installer ==
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
== Other bundled functionality ==
Apart from the above, some other functionality that previously had to be downloaded separately is now bundled:
=== MHX2 ===
MHX2 is now enabled per default in MakeHuman. The blender side of MHX2 is bundled as a zip file which can
be added to blender via the user preferences.
=== MHAPI ===
MHAPI (a library with convenience calls for making addons for MakeHuman) is now included and enabled per default.
== Where to download ==
(alpha 2 has not yet been released, these links might be broken)
You can [http://download.tuxfamily.org/makehuman/nightly/makehuman-community-1.2.0-alpha1-win32.zip download the windows build here].
For linux, [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community there is a new PPA].
== Providing feedback and bug reports ==
As always with an alpha release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums. But more formal bug trackers are here:
* For MakeHuman as such: [http://bugtracker.makehumancommunity.org/ http://bugtracker.makehumancommunity.org/]
* For the asset downloader: [https://github.com/makehumancommunity/community-plugins-assetdownload/issues https://github.com/makehumancommunity/community-plugins-assetdownload/issues]
* For the makehuman side of the new blender integration: [https://github.com/makehumancommunity/community-plugins-socket/issues https://github.com/makehumancommunity/community-plugins-socket/issues]
* For the blender side of the new blender integration: [https://github.com/makehumancommunity/makehuman-plugin-for-blender/issues https://github.com/makehumancommunity/makehuman-plugin-for-blender/issues]
* For issues specific to MHX2: [https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange/issues?status=new&status=open https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange/issues]
573ce0aab5dc8e28f4b2eceb722e289dfb49a5b7
1529
1526
2018-11-29T08:46:37Z
Joepal
14
wikitext
text/x-wiki
'''It is important to understand that 1.2.0 alpha 2 is an alpha release. This means that things ''will'' behave strangely. Before downloading the build, you should at least read the "known issues" section in these notes.'''
These notes are under construction and may be incomplete. Further, the notes describe, as of now, an alpha version of a coming release. The final release might be different from what is described below.
== General ==
In most cases, there should be no problem running versions 1.1.1 and 1.2.0 on the same system. They will not interfere with each other's files. You can find download links for 1.2.0 at the bottom of this page.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
The following are the changes since version 1.1.1.
== Changes since alpha 1 ==
The following are fixes made since the release of 1.2.0 alpha 1:
* ASSET DOWNLOADER: Drastically reduced the size of the initial download
* ASSET DOWNLOADER: Provide better visual feedback so it doesn't look as if the system hanged
* ASSET DOWNLOADER: Made downloading screenshots for assets optional
* PPA: Remove strong dependency on blender. We recommend against using Ubuntu's version of blender since it's broken in many ways.
== Highlights ==
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new Blender integration, with support for socket transfers, IK and Kinect
* Improved internationalization support for non-ASCII characters (backported)
* Plugins in user space
* Plugins activation at runtime
* Improved tag sorting capabilities, including sticky tag provisions
* Tags for models (with configurable tag count)
* Show Name Tags instead of file names in the file loader.
* Saving model as target
* Real weight estimation
* Configurable location for the home folder
* MHX2 is bundled in the default installation
* There is a new installer for windows
* There is a new PPA for ubuntu. This PPA also offers builds of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds)
== Known issues ==
* FBX skeleton will still misbehave
* There are still graphics card incompatibilities in the OpenGL code. '''On several graphics cards you may get no visible output whatsoever''', rendering the application unusable. If this happens, please report what operating system and what graphics card you are using so we can investigate it further.
* There is no build for OSX
* The user data folder is still makehuman/v1py3 rather than makehuman/v1, in order to guarrantee that the development version does not interfere with the stable version. This will probably be changed for the final release.
* The new blender importer will crash when used in a version of blender that is shipped with ubuntu 18.04. It works fine on ubuntu 18.04 if using a blender that is downloaded from blender's homepage though. Investigations are pending.
* The new blender importer requires blender 2.79. It will not work in earlier versions of blender and will not (yet) work in blender 2.80.
* The initial sync for the asset downloader will take a very long time to finish, and it might look as if it finished despite the files still being processed in the background. Clicking around in the interface before you get the final message box saying that the synchronization is finished may cause a crash and terminate the synchronization.
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
=== Running from source ===
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 or higher
* NumPy: 1.13.0 or higher
* PyOpenGL: Any modern version will work, including the one used for MakeHuman 1.1.x
=== Ubuntu ===
In order to fulfill the minimum dependency requirements listed above, you will need Ubuntu 18.04 or later. For earlier Ubuntu versions, you would have use backports of the dependencies, as they are not available in the default installation.
The PPA for this build is here: [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community ppa:makehuman-official/makehuman-community].
To enable it, run:
sudo add-apt-repository ppa:makehuman-official/makehuman-community
sudo apt-get update
sudo apt-get install makehuman-community
== The upgraded codebase ==
The main focus of this release has been to modernize the code. In the prior version, large parts were written more than eight years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The expected end of life for python 2.7 is in less than two years.
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
== Asset downloader ==
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
<br clear=all>
== New blender integration ==
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
[[File:12x-blender-ik.png|300px|thumb|right|Convert to IK rig]]
This release bundles a rich set of blender functionalitites, which can be added to blender in the form of an addon. Not all functionality will be listed here, but the following are
some highlights.
=== Import directly from MakeHuman ===
In blender it is now possible to fetch a toon directly from a running instance of MakeHuman, without having to first save the toon to a file. The importer will talk with the makehuman instance
and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses. The process is almost instantaneous (a toon with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== IK and amputations ===
The importer will use the skeleton set in MakeHuman to rig the resulting character in Blender. The rig can then be extended with the "IK rig" functionality: By clicking a button you can get extra
IK controls, and IK chains set up for arms, legs and fingers.
Rigs can also be amputated in case detailed bones are not required.
All rigs currently available to MakeHuman are supported.
=== Kinect ===
To be written
<br clear=all>
== A new windows installer ==
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
== Other bundled functionality ==
Apart from the above, some other functionality that previously had to be downloaded separately is now bundled:
=== MHX2 ===
MHX2 is now enabled per default in MakeHuman. The blender side of MHX2 is bundled as a zip file which can
be added to blender via the user preferences.
=== MHAPI ===
MHAPI (a library with convenience calls for making addons for MakeHuman) is now included and enabled per default.
== Where to download ==
(alpha 2 has not yet been released, these links might be broken)
You can [http://download.tuxfamily.org/makehuman/nightly/makehuman-community-1.2.0-alpha1-win32.zip download the windows build here].
For linux, [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community there is a new PPA].
== Providing feedback and bug reports ==
As always with an alpha release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums. But more formal bug trackers are here:
* For MakeHuman as such: [http://bugtracker.makehumancommunity.org/ http://bugtracker.makehumancommunity.org/]
* For the asset downloader: [https://github.com/makehumancommunity/community-plugins-assetdownload/issues https://github.com/makehumancommunity/community-plugins-assetdownload/issues]
* For the makehuman side of the new blender integration: [https://github.com/makehumancommunity/community-plugins-socket/issues https://github.com/makehumancommunity/community-plugins-socket/issues]
* For the blender side of the new blender integration: [https://github.com/makehumancommunity/makehuman-plugin-for-blender/issues https://github.com/makehumancommunity/makehuman-plugin-for-blender/issues]
* For issues specific to MHX2: [https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange/issues?status=new&status=open https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange/issues]
8913245e95e8bf6f2fd5ee5b117e5669d7b9dadd
1526
2018-11-29T08:40:11Z
Joepal
14
Created page with "'''It is important to understand that 1.2.0 alpha 1 is an alpha release. This means that things ''will'' behave strangely. Before downloading the build, you should at least re..."
wikitext
text/x-wiki
'''It is important to understand that 1.2.0 alpha 1 is an alpha release. This means that things ''will'' behave strangely. Before downloading the build, you should at least read the "known issues" section in these notes.'''
In most cases, there should be no problem running versions 1.1.1 and 1.2.0 on the same system. They will not interfere with each other's files. You can find download links for 1.2.0 at the bottom of this page.
These notes are under construction and may be incomplete. Further, the notes describe, as of now, an alpha version of a coming release. The final release might be different from what is described below.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
The following are the changes since version 1.1.1.
== Highlights ==
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new Blender integration, with support for socket transfers, IK and Kinect
* Improved internationalization support for non-ASCII characters (backported)
* Plugins in user space
* Plugins activation at runtime
* Improved tag sorting capabilities, including sticky tag provisions
* Tags for models (with configurable tag count)
* Show Name Tags instead of file names in the file loader.
* Saving model as target
* Real weight estimation
* Configurable location for the home folder
* MHX2 is bundled in the default installation
* There is a new installer for windows
* There is a new PPA for ubuntu. This PPA also offers builds of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds)
== Known issues ==
* FBX skeleton will still misbehave
* There are still graphics card incompatibilities in the OpenGL code. '''On several graphics cards you may get no visible output whatsoever''', rendering the application unusable. If this happens, please report what operating system and what graphics card you are using so we can investigate it further.
* There is no build for OSX
* The user data folder is still makehuman/v1py3 rather than makehuman/v1, in order to guarrantee that the development version does not interfere with the stable version. This will probably be changed for the final release.
* The new blender importer will crash when used in a version of blender that is shipped with ubuntu 18.04. It works fine on ubuntu 18.04 if using a blender that is downloaded from blender's homepage though. Investigations are pending.
* The new blender importer requires blender 2.79. It will not work in earlier versions of blender and will not (yet) work in blender 2.80.
* The initial sync for the asset downloader will take a very long time to finish, and it might look as if it finished despite the files still being processed in the background. Clicking around in the interface before you get the final message box saying that the synchronization is finished may cause a crash and terminate the synchronization.
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
=== Running from source ===
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 or higher
* NumPy: 1.13.0 or higher
* PyOpenGL: Any modern version will work, including the one used for MakeHuman 1.1.x
=== Ubuntu ===
In order to fulfill the minimum dependency requirements listed above, you will need Ubuntu 18.04 or later. For earlier Ubuntu versions, you would have use backports of the dependencies, as they are not available in the default installation.
The PPA for this build is here: [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community ppa:makehuman-official/makehuman-community].
To enable it, run:
sudo add-apt-repository ppa:makehuman-official/makehuman-community
sudo apt-get update
sudo apt-get install makehuman-community
== The upgraded codebase ==
The main focus of this release has been to modernize the code. In the prior version, large parts were written more than eight years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The expected end of life for python 2.7 is in less than two years.
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
== Asset downloader ==
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
<br clear=all>
== New blender integration ==
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
[[File:12x-blender-ik.png|300px|thumb|right|Convert to IK rig]]
This release bundles a rich set of blender functionalitites, which can be added to blender in the form of an addon. Not all functionality will be listed here, but the following are
some highlights.
=== Import directly from MakeHuman ===
In blender it is now possible to fetch a toon directly from a running instance of MakeHuman, without having to first save the toon to a file. The importer will talk with the makehuman instance
and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses. The process is almost instantaneous (a toon with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== IK and amputations ===
The importer will use the skeleton set in MakeHuman to rig the resulting character in Blender. The rig can then be extended with the "IK rig" functionality: By clicking a button you can get extra
IK controls, and IK chains set up for arms, legs and fingers.
Rigs can also be amputated in case detailed bones are not required.
All rigs currently available to MakeHuman are supported.
=== Kinect ===
To be written
<br clear=all>
== A new windows installer ==
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
== Other bundled functionality ==
Apart from the above, some other functionality that previously had to be downloaded separately is now bundled:
=== MHX2 ===
MHX2 is now enabled per default in MakeHuman. The blender side of MHX2 is bundled as a zip file which can
be added to blender via the user preferences.
=== MHAPI ===
MHAPI (a library with convenience calls for making addons for MakeHuman) is now included and enabled per default.
== Where to download ==
(alpha 2 has not yet been released, these links might be broken)
You can [http://download.tuxfamily.org/makehuman/nightly/makehuman-community-1.2.0-alpha1-win32.zip download the windows build here].
For linux, [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community there is a new PPA].
== Providing feedback and bug reports ==
As always with an alpha release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums. But more formal bug trackers are here:
* For MakeHuman as such: [http://bugtracker.makehumancommunity.org/ http://bugtracker.makehumancommunity.org/]
* For the asset downloader: [https://github.com/makehumancommunity/community-plugins-assetdownload/issues https://github.com/makehumancommunity/community-plugins-assetdownload/issues]
* For the makehuman side of the new blender integration: [https://github.com/makehumancommunity/community-plugins-socket/issues https://github.com/makehumancommunity/community-plugins-socket/issues]
* For the blender side of the new blender integration: [https://github.com/makehumancommunity/makehuman-plugin-for-blender/issues https://github.com/makehumancommunity/makehuman-plugin-for-blender/issues]
* For issues specific to MHX2: [https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange/issues?status=new&status=open https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange/issues]
b32a3ea3a13f416e52c0b2ce544d99dd49b4fe94
Releases:120a3
0
570
1593
1587
2019-05-10T09:42:57Z
Wolgade
26
/* Running from source */
wikitext
text/x-wiki
MakeHuman Community 1.2.0 alpha3 was released 2019-03-19
'''It is important to understand that 1.2.0 alpha 3 is an alpha release. This means that things ''will'' behave strangely. Before downloading the build, you should at least read the "known issues" section in these notes.'''
These notes are under construction and may be incomplete. Further, the notes describe, as of now, an alpha version of a coming release. The final release might be different from what is described below.
== General ==
In most cases, there should be no problem running versions 1.1.1 and 1.2.0 on the same system. They will not interfere with each other's files. You can find download links for 1.2.0 at the bottom of this page.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
The following are the changes since version 1.1.1.
== Changes since alpha 2 ==
* CORE: A crash that prevented makehuman from starting (or not showing any 3d models) on some AMD cards has been fixed
* CORE: A crash that arose when a mesh could not be loaded (for any reason, such as the file not existing) has been worked around.
* CORE: The whole pipeline should now gracefully accept tri meshes (in for example clothes). Note that mixed tri/quad meshes are still not supported: they need to be either tri or quad.
* CORE: Further measures have been taken to force all IO to be utf-8 on all platforms.
* CORE: A crash in proxy loading when using symlinks for makehuman home has been fixed
* CORE: It is possible to prevent values on rescan of custom target folders.
* CORE: The rig loading tab now recurses on subfolders, allowing to better organize the data.
* MODELING: The random functionality have been improved by ensuring symmetry in more body parts.
* LANGUAGE: A spelling mistake ("symmmetry") has been corrected in most/all language files
* MASS PRODUCE: The "mass produce" plugin has been added. It allows randomizing large sets of characters automatically (see [https://www.youtube.com/watch?v=jRHnJX-TdT4 this youtube video]). Note that when installing from PPA, you will have to install this explicitly. The package is named makehuman-community-plugins-massproduce.
* ASSET DOWNLOADER: It is now possible to download a single screenshot from the details panel
* ASSET DOWNLOADER: If the server for some reason protests (throws a 404 or similar), a sensible error message will now be shown to the user
* NEW BLENDER INTEGRATION: Now works with blender 2.80 ('''note that contrary to blender 2.79, the "makehuman" tab is on the "n" shelf rather than the "t" shelf''')
* NEW BLENDER INTEGRATION: Now correctly sets up material nodes for normal maps.
* NEW BLENDER INTEGRATION: The code was refactored to get a structure that is a bit less messy
* NEW BLENDER INTEGRATION: The management of transparency was slightly improved, particularly for eevee
* NEW BLENDER INTEGRATION: Reduced the time it takes to import bone weights for a rigged character, by some 60%
* NEW BLENDER INTEGRATION: It is now possible to define a viewport color in mhmat files {keys: viewPortColor, viewPortAlpha}, which will affect the object appearance in Blender's solid view mode
* SOCKET / NEW BLENDER INTEGRATION: It is now possible to configure host and port, meaning blender and makehuman can reside on different computers
* SOCKET / NEW BLENDER INTEGRATION: the "Allow connections" checkbox will remember its state across makehuman restarts (meaning the socket server will autostart if it was running when you last closed MH)
== Highlights ==
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new Blender integration, with support for socket transfers, IK and Kinect
* There is a new randomization functionality for generating large sets of randomized characters
* Improved internationalization support for non-ASCII characters (backported)
* Plugins in user space
* Plugins activation at runtime
* Improved tag sorting capabilities (Hotkey: ALT-F), including sticky tag provisions
* Tags for models (with configurable tag count)
* Show Name Tags instead of file names in the file loader.
* Saving model as target
* Real weight estimation
* Configurable location for the home folder
* MHX2 is bundled in the default installation
* Save thumbnails directly from the internal render engine
* There is a new installer for windows
* There is a new PPA for ubuntu. This PPA also offers builds of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds)
== Known issues ==
* FBX skeleton will still misbehave
* While most of the graphics card incompatibilities should now be fixed, there are still some (seldomly used) parts of the program that may cause problems with some intel cards.
* There is no build for OSX
* The user data folder is still makehuman/v1py3 rather than makehuman/v1, in order to guarrantee that the development version does not interfere with the stable version. This will probably be changed for the final release.
* The new blender importer will crash when used in a version of blender that is shipped with ubuntu 18.04. It works fine on ubuntu 18.04 if using a blender that is downloaded from blender's homepage though. Users are recommended to ''not'' use ubuntu's version of blender.
* The new blender importer requires at least blender 2.79. It will not work with versions earlier than 2.79.
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
=== Running from source ===
The source code is available at [https://github.com/makehumancommunity/makehuman https://github.com/makehumancommunity/makehuman]. You'll also find basic instructions on how to use the source code on this page.
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 or higher
* NumPy: 1.13.0 or higher
* PyOpenGL: Any modern version will work, including the one used for MakeHuman 1.1.x
=== Ubuntu ===
In order to fulfill the minimum dependency requirements listed above, you will need Ubuntu 18.04 or later. For earlier Ubuntu versions, you would have use backports of the dependencies, as they are not available in the default installation.
The PPA for this build is here: [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community ppa:makehuman-official/makehuman-community].
To enable it, run:
sudo add-apt-repository ppa:makehuman-official/makehuman-community
sudo apt-get update
sudo apt-get install makehuman-community
=== Mint ===
The instructions for Ubuntu apply, but you will have to also explicitly install all plugins (whereas these will be installed automatically on Ubuntu)
sudo apt-get install makehuman-community-plugins-assetdownload makehuman-community-plugins-socket makehuman-community-plugins-massproduce mhx2-makehuman-exchange
== The upgraded codebase ==
The main focus of this release has been to modernize the code. In the prior version, large parts were written more than eight years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The expected end of life for python 2.7 is in less than two years.
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
== Asset downloader ==
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
<br clear=all>
== New blender integration ==
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
[[File:12x-blender-ik.png|300px|thumb|right|Convert to IK rig]]
This release bundles a rich set of blender functionalitites, which can be added to blender in the form of an addon. Not all functionality will be listed here, but the following are
some highlights.
=== Import directly from MakeHuman ===
In blender it is now possible to fetch a toon directly from a running instance of MakeHuman, without having to first save the toon to a file. The importer will talk with the makehuman instance
and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses. The process is almost instantaneous (a toon with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== IK and amputations ===
The importer will use the skeleton set in MakeHuman to rig the resulting character in Blender. The rig can then be extended with the "IK rig" functionality: By clicking a button you can get extra
IK controls, and IK chains set up for arms, legs and fingers.
Rigs can also be amputated in case detailed bones are not required.
All rigs currently available to MakeHuman are supported.
=== Kinect ===
To be written
<br clear=all>
== The Mass Produce plugin ==
A new plugin is now bundled per default: The "mass produce" plugin. This allows rapidly generating large sets of randomized characters. The functionality is demonstrated in a youtube video:
{{#ev:youtube|jRHnJX-TdT4}}
== A new windows installer ==
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
== Other bundled functionality ==
Apart from the above, some other functionality that previously had to be downloaded separately is now bundled:
=== MHX2 ===
MHX2 is now enabled per default in MakeHuman. The blender side of MHX2 is bundled as a zip file which can
be added to blender via the user preferences.
=== MHAPI ===
MHAPI (a library with convenience calls for making addons for MakeHuman) is now included and enabled per default.
== Where to download ==
The following are links to where you can download alpha 3.
You can [http://download.tuxfamily.org/makehuman/nightly/makehuman-community-1.2.0-alpha3-win32.zip download the windows build here].
For linux, [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community there is a new PPA].
== Providing feedback and bug reports ==
As always with an alpha release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums. But more formal information about bug trackers can be found here: http://www.makehumancommunity.org/content/bugtracker.html
962356cfe7d8c22292816438d1e0138accb0dccf
1587
1583
2019-04-06T20:15:09Z
Polylearn
80
year fix
wikitext
text/x-wiki
MakeHuman Community 1.2.0 alpha3 was released 2019-03-19
'''It is important to understand that 1.2.0 alpha 3 is an alpha release. This means that things ''will'' behave strangely. Before downloading the build, you should at least read the "known issues" section in these notes.'''
These notes are under construction and may be incomplete. Further, the notes describe, as of now, an alpha version of a coming release. The final release might be different from what is described below.
== General ==
In most cases, there should be no problem running versions 1.1.1 and 1.2.0 on the same system. They will not interfere with each other's files. You can find download links for 1.2.0 at the bottom of this page.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
The following are the changes since version 1.1.1.
== Changes since alpha 2 ==
* CORE: A crash that prevented makehuman from starting (or not showing any 3d models) on some AMD cards has been fixed
* CORE: A crash that arose when a mesh could not be loaded (for any reason, such as the file not existing) has been worked around.
* CORE: The whole pipeline should now gracefully accept tri meshes (in for example clothes). Note that mixed tri/quad meshes are still not supported: they need to be either tri or quad.
* CORE: Further measures have been taken to force all IO to be utf-8 on all platforms.
* CORE: A crash in proxy loading when using symlinks for makehuman home has been fixed
* CORE: It is possible to prevent values on rescan of custom target folders.
* CORE: The rig loading tab now recurses on subfolders, allowing to better organize the data.
* MODELING: The random functionality have been improved by ensuring symmetry in more body parts.
* LANGUAGE: A spelling mistake ("symmmetry") has been corrected in most/all language files
* MASS PRODUCE: The "mass produce" plugin has been added. It allows randomizing large sets of characters automatically (see [https://www.youtube.com/watch?v=jRHnJX-TdT4 this youtube video]). Note that when installing from PPA, you will have to install this explicitly. The package is named makehuman-community-plugins-massproduce.
* ASSET DOWNLOADER: It is now possible to download a single screenshot from the details panel
* ASSET DOWNLOADER: If the server for some reason protests (throws a 404 or similar), a sensible error message will now be shown to the user
* NEW BLENDER INTEGRATION: Now works with blender 2.80 ('''note that contrary to blender 2.79, the "makehuman" tab is on the "n" shelf rather than the "t" shelf''')
* NEW BLENDER INTEGRATION: Now correctly sets up material nodes for normal maps.
* NEW BLENDER INTEGRATION: The code was refactored to get a structure that is a bit less messy
* NEW BLENDER INTEGRATION: The management of transparency was slightly improved, particularly for eevee
* NEW BLENDER INTEGRATION: Reduced the time it takes to import bone weights for a rigged character, by some 60%
* NEW BLENDER INTEGRATION: It is now possible to define a viewport color in mhmat files {keys: viewPortColor, viewPortAlpha}, which will affect the object appearance in Blender's solid view mode
* SOCKET / NEW BLENDER INTEGRATION: It is now possible to configure host and port, meaning blender and makehuman can reside on different computers
* SOCKET / NEW BLENDER INTEGRATION: the "Allow connections" checkbox will remember its state across makehuman restarts (meaning the socket server will autostart if it was running when you last closed MH)
== Highlights ==
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new Blender integration, with support for socket transfers, IK and Kinect
* There is a new randomization functionality for generating large sets of randomized characters
* Improved internationalization support for non-ASCII characters (backported)
* Plugins in user space
* Plugins activation at runtime
* Improved tag sorting capabilities (Hotkey: ALT-F), including sticky tag provisions
* Tags for models (with configurable tag count)
* Show Name Tags instead of file names in the file loader.
* Saving model as target
* Real weight estimation
* Configurable location for the home folder
* MHX2 is bundled in the default installation
* Save thumbnails directly from the internal render engine
* There is a new installer for windows
* There is a new PPA for ubuntu. This PPA also offers builds of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds)
== Known issues ==
* FBX skeleton will still misbehave
* While most of the graphics card incompatibilities should now be fixed, there are still some (seldomly used) parts of the program that may cause problems with some intel cards.
* There is no build for OSX
* The user data folder is still makehuman/v1py3 rather than makehuman/v1, in order to guarrantee that the development version does not interfere with the stable version. This will probably be changed for the final release.
* The new blender importer will crash when used in a version of blender that is shipped with ubuntu 18.04. It works fine on ubuntu 18.04 if using a blender that is downloaded from blender's homepage though. Users are recommended to ''not'' use ubuntu's version of blender.
* The new blender importer requires at least blender 2.79. It will not work with versions earlier than 2.79.
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
=== Running from source ===
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 or higher
* NumPy: 1.13.0 or higher
* PyOpenGL: Any modern version will work, including the one used for MakeHuman 1.1.x
=== Ubuntu ===
In order to fulfill the minimum dependency requirements listed above, you will need Ubuntu 18.04 or later. For earlier Ubuntu versions, you would have use backports of the dependencies, as they are not available in the default installation.
The PPA for this build is here: [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community ppa:makehuman-official/makehuman-community].
To enable it, run:
sudo add-apt-repository ppa:makehuman-official/makehuman-community
sudo apt-get update
sudo apt-get install makehuman-community
=== Mint ===
The instructions for Ubuntu apply, but you will have to also explicitly install all plugins (whereas these will be installed automatically on Ubuntu)
sudo apt-get install makehuman-community-plugins-assetdownload makehuman-community-plugins-socket makehuman-community-plugins-massproduce mhx2-makehuman-exchange
== The upgraded codebase ==
The main focus of this release has been to modernize the code. In the prior version, large parts were written more than eight years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The expected end of life for python 2.7 is in less than two years.
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
== Asset downloader ==
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
<br clear=all>
== New blender integration ==
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
[[File:12x-blender-ik.png|300px|thumb|right|Convert to IK rig]]
This release bundles a rich set of blender functionalitites, which can be added to blender in the form of an addon. Not all functionality will be listed here, but the following are
some highlights.
=== Import directly from MakeHuman ===
In blender it is now possible to fetch a toon directly from a running instance of MakeHuman, without having to first save the toon to a file. The importer will talk with the makehuman instance
and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses. The process is almost instantaneous (a toon with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== IK and amputations ===
The importer will use the skeleton set in MakeHuman to rig the resulting character in Blender. The rig can then be extended with the "IK rig" functionality: By clicking a button you can get extra
IK controls, and IK chains set up for arms, legs and fingers.
Rigs can also be amputated in case detailed bones are not required.
All rigs currently available to MakeHuman are supported.
=== Kinect ===
To be written
<br clear=all>
== The Mass Produce plugin ==
A new plugin is now bundled per default: The "mass produce" plugin. This allows rapidly generating large sets of randomized characters. The functionality is demonstrated in a youtube video:
{{#ev:youtube|jRHnJX-TdT4}}
== A new windows installer ==
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
== Other bundled functionality ==
Apart from the above, some other functionality that previously had to be downloaded separately is now bundled:
=== MHX2 ===
MHX2 is now enabled per default in MakeHuman. The blender side of MHX2 is bundled as a zip file which can
be added to blender via the user preferences.
=== MHAPI ===
MHAPI (a library with convenience calls for making addons for MakeHuman) is now included and enabled per default.
== Where to download ==
The following are links to where you can download alpha 3.
You can [http://download.tuxfamily.org/makehuman/nightly/makehuman-community-1.2.0-alpha3-win32.zip download the windows build here].
For linux, [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community there is a new PPA].
== Providing feedback and bug reports ==
As always with an alpha release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums. But more formal information about bug trackers can be found here: http://www.makehumancommunity.org/content/bugtracker.html
dd21de20803369d2b0e6d0a6835893c7811cf347
1583
1582
2019-03-20T15:52:28Z
Joepal
14
/* Upgrading */
wikitext
text/x-wiki
MakeHuman Community 1.2.0 alpha3 was released 2018-03-19
'''It is important to understand that 1.2.0 alpha 3 is an alpha release. This means that things ''will'' behave strangely. Before downloading the build, you should at least read the "known issues" section in these notes.'''
These notes are under construction and may be incomplete. Further, the notes describe, as of now, an alpha version of a coming release. The final release might be different from what is described below.
== General ==
In most cases, there should be no problem running versions 1.1.1 and 1.2.0 on the same system. They will not interfere with each other's files. You can find download links for 1.2.0 at the bottom of this page.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
The following are the changes since version 1.1.1.
== Changes since alpha 2 ==
* CORE: A crash that prevented makehuman from starting (or not showing any 3d models) on some AMD cards has been fixed
* CORE: A crash that arose when a mesh could not be loaded (for any reason, such as the file not existing) has been worked around.
* CORE: The whole pipeline should now gracefully accept tri meshes (in for example clothes). Note that mixed tri/quad meshes are still not supported: they need to be either tri or quad.
* CORE: Further measures have been taken to force all IO to be utf-8 on all platforms.
* CORE: A crash in proxy loading when using symlinks for makehuman home has been fixed
* CORE: It is possible to prevent values on rescan of custom target folders.
* CORE: The rig loading tab now recurses on subfolders, allowing to better organize the data.
* MODELING: The random functionality have been improved by ensuring symmetry in more body parts.
* LANGUAGE: A spelling mistake ("symmmetry") has been corrected in most/all language files
* MASS PRODUCE: The "mass produce" plugin has been added. It allows randomizing large sets of characters automatically (see [https://www.youtube.com/watch?v=jRHnJX-TdT4 this youtube video]). Note that when installing from PPA, you will have to install this explicitly. The package is named makehuman-community-plugins-massproduce.
* ASSET DOWNLOADER: It is now possible to download a single screenshot from the details panel
* ASSET DOWNLOADER: If the server for some reason protests (throws a 404 or similar), a sensible error message will now be shown to the user
* NEW BLENDER INTEGRATION: Now works with blender 2.80 ('''note that contrary to blender 2.79, the "makehuman" tab is on the "n" shelf rather than the "t" shelf''')
* NEW BLENDER INTEGRATION: Now correctly sets up material nodes for normal maps.
* NEW BLENDER INTEGRATION: The code was refactored to get a structure that is a bit less messy
* NEW BLENDER INTEGRATION: The management of transparency was slightly improved, particularly for eevee
* NEW BLENDER INTEGRATION: Reduced the time it takes to import bone weights for a rigged character, by some 60%
* NEW BLENDER INTEGRATION: It is now possible to define a viewport color in mhmat files {keys: viewPortColor, viewPortAlpha}, which will affect the object appearance in Blender's solid view mode
* SOCKET / NEW BLENDER INTEGRATION: It is now possible to configure host and port, meaning blender and makehuman can reside on different computers
* SOCKET / NEW BLENDER INTEGRATION: the "Allow connections" checkbox will remember its state across makehuman restarts (meaning the socket server will autostart if it was running when you last closed MH)
== Highlights ==
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new Blender integration, with support for socket transfers, IK and Kinect
* There is a new randomization functionality for generating large sets of randomized characters
* Improved internationalization support for non-ASCII characters (backported)
* Plugins in user space
* Plugins activation at runtime
* Improved tag sorting capabilities (Hotkey: ALT-F), including sticky tag provisions
* Tags for models (with configurable tag count)
* Show Name Tags instead of file names in the file loader.
* Saving model as target
* Real weight estimation
* Configurable location for the home folder
* MHX2 is bundled in the default installation
* Save thumbnails directly from the internal render engine
* There is a new installer for windows
* There is a new PPA for ubuntu. This PPA also offers builds of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds)
== Known issues ==
* FBX skeleton will still misbehave
* While most of the graphics card incompatibilities should now be fixed, there are still some (seldomly used) parts of the program that may cause problems with some intel cards.
* There is no build for OSX
* The user data folder is still makehuman/v1py3 rather than makehuman/v1, in order to guarrantee that the development version does not interfere with the stable version. This will probably be changed for the final release.
* The new blender importer will crash when used in a version of blender that is shipped with ubuntu 18.04. It works fine on ubuntu 18.04 if using a blender that is downloaded from blender's homepage though. Users are recommended to ''not'' use ubuntu's version of blender.
* The new blender importer requires at least blender 2.79. It will not work with versions earlier than 2.79.
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
=== Running from source ===
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 or higher
* NumPy: 1.13.0 or higher
* PyOpenGL: Any modern version will work, including the one used for MakeHuman 1.1.x
=== Ubuntu ===
In order to fulfill the minimum dependency requirements listed above, you will need Ubuntu 18.04 or later. For earlier Ubuntu versions, you would have use backports of the dependencies, as they are not available in the default installation.
The PPA for this build is here: [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community ppa:makehuman-official/makehuman-community].
To enable it, run:
sudo add-apt-repository ppa:makehuman-official/makehuman-community
sudo apt-get update
sudo apt-get install makehuman-community
=== Mint ===
The instructions for Ubuntu apply, but you will have to also explicitly install all plugins (whereas these will be installed automatically on Ubuntu)
sudo apt-get install makehuman-community-plugins-assetdownload makehuman-community-plugins-socket makehuman-community-plugins-massproduce mhx2-makehuman-exchange
== The upgraded codebase ==
The main focus of this release has been to modernize the code. In the prior version, large parts were written more than eight years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The expected end of life for python 2.7 is in less than two years.
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
== Asset downloader ==
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
<br clear=all>
== New blender integration ==
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
[[File:12x-blender-ik.png|300px|thumb|right|Convert to IK rig]]
This release bundles a rich set of blender functionalitites, which can be added to blender in the form of an addon. Not all functionality will be listed here, but the following are
some highlights.
=== Import directly from MakeHuman ===
In blender it is now possible to fetch a toon directly from a running instance of MakeHuman, without having to first save the toon to a file. The importer will talk with the makehuman instance
and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses. The process is almost instantaneous (a toon with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== IK and amputations ===
The importer will use the skeleton set in MakeHuman to rig the resulting character in Blender. The rig can then be extended with the "IK rig" functionality: By clicking a button you can get extra
IK controls, and IK chains set up for arms, legs and fingers.
Rigs can also be amputated in case detailed bones are not required.
All rigs currently available to MakeHuman are supported.
=== Kinect ===
To be written
<br clear=all>
== The Mass Produce plugin ==
A new plugin is now bundled per default: The "mass produce" plugin. This allows rapidly generating large sets of randomized characters. The functionality is demonstrated in a youtube video:
{{#ev:youtube|jRHnJX-TdT4}}
== A new windows installer ==
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
== Other bundled functionality ==
Apart from the above, some other functionality that previously had to be downloaded separately is now bundled:
=== MHX2 ===
MHX2 is now enabled per default in MakeHuman. The blender side of MHX2 is bundled as a zip file which can
be added to blender via the user preferences.
=== MHAPI ===
MHAPI (a library with convenience calls for making addons for MakeHuman) is now included and enabled per default.
== Where to download ==
The following are links to where you can download alpha 3.
You can [http://download.tuxfamily.org/makehuman/nightly/makehuman-community-1.2.0-alpha3-win32.zip download the windows build here].
For linux, [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community there is a new PPA].
== Providing feedback and bug reports ==
As always with an alpha release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums. But more formal information about bug trackers can be found here: http://www.makehumancommunity.org/content/bugtracker.html
9b04f43334362f8fd61a4cbc53960ddebb5505df
1582
1581
2019-03-20T15:49:41Z
Joepal
14
/* Known issues */
wikitext
text/x-wiki
MakeHuman Community 1.2.0 alpha3 was released 2018-03-19
'''It is important to understand that 1.2.0 alpha 3 is an alpha release. This means that things ''will'' behave strangely. Before downloading the build, you should at least read the "known issues" section in these notes.'''
These notes are under construction and may be incomplete. Further, the notes describe, as of now, an alpha version of a coming release. The final release might be different from what is described below.
== General ==
In most cases, there should be no problem running versions 1.1.1 and 1.2.0 on the same system. They will not interfere with each other's files. You can find download links for 1.2.0 at the bottom of this page.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
The following are the changes since version 1.1.1.
== Changes since alpha 2 ==
* CORE: A crash that prevented makehuman from starting (or not showing any 3d models) on some AMD cards has been fixed
* CORE: A crash that arose when a mesh could not be loaded (for any reason, such as the file not existing) has been worked around.
* CORE: The whole pipeline should now gracefully accept tri meshes (in for example clothes). Note that mixed tri/quad meshes are still not supported: they need to be either tri or quad.
* CORE: Further measures have been taken to force all IO to be utf-8 on all platforms.
* CORE: A crash in proxy loading when using symlinks for makehuman home has been fixed
* CORE: It is possible to prevent values on rescan of custom target folders.
* CORE: The rig loading tab now recurses on subfolders, allowing to better organize the data.
* MODELING: The random functionality have been improved by ensuring symmetry in more body parts.
* LANGUAGE: A spelling mistake ("symmmetry") has been corrected in most/all language files
* MASS PRODUCE: The "mass produce" plugin has been added. It allows randomizing large sets of characters automatically (see [https://www.youtube.com/watch?v=jRHnJX-TdT4 this youtube video]). Note that when installing from PPA, you will have to install this explicitly. The package is named makehuman-community-plugins-massproduce.
* ASSET DOWNLOADER: It is now possible to download a single screenshot from the details panel
* ASSET DOWNLOADER: If the server for some reason protests (throws a 404 or similar), a sensible error message will now be shown to the user
* NEW BLENDER INTEGRATION: Now works with blender 2.80 ('''note that contrary to blender 2.79, the "makehuman" tab is on the "n" shelf rather than the "t" shelf''')
* NEW BLENDER INTEGRATION: Now correctly sets up material nodes for normal maps.
* NEW BLENDER INTEGRATION: The code was refactored to get a structure that is a bit less messy
* NEW BLENDER INTEGRATION: The management of transparency was slightly improved, particularly for eevee
* NEW BLENDER INTEGRATION: Reduced the time it takes to import bone weights for a rigged character, by some 60%
* NEW BLENDER INTEGRATION: It is now possible to define a viewport color in mhmat files {keys: viewPortColor, viewPortAlpha}, which will affect the object appearance in Blender's solid view mode
* SOCKET / NEW BLENDER INTEGRATION: It is now possible to configure host and port, meaning blender and makehuman can reside on different computers
* SOCKET / NEW BLENDER INTEGRATION: the "Allow connections" checkbox will remember its state across makehuman restarts (meaning the socket server will autostart if it was running when you last closed MH)
== Highlights ==
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new Blender integration, with support for socket transfers, IK and Kinect
* There is a new randomization functionality for generating large sets of randomized characters
* Improved internationalization support for non-ASCII characters (backported)
* Plugins in user space
* Plugins activation at runtime
* Improved tag sorting capabilities (Hotkey: ALT-F), including sticky tag provisions
* Tags for models (with configurable tag count)
* Show Name Tags instead of file names in the file loader.
* Saving model as target
* Real weight estimation
* Configurable location for the home folder
* MHX2 is bundled in the default installation
* Save thumbnails directly from the internal render engine
* There is a new installer for windows
* There is a new PPA for ubuntu. This PPA also offers builds of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds)
== Known issues ==
* FBX skeleton will still misbehave
* While most of the graphics card incompatibilities should now be fixed, there are still some (seldomly used) parts of the program that may cause problems with some intel cards.
* There is no build for OSX
* The user data folder is still makehuman/v1py3 rather than makehuman/v1, in order to guarrantee that the development version does not interfere with the stable version. This will probably be changed for the final release.
* The new blender importer will crash when used in a version of blender that is shipped with ubuntu 18.04. It works fine on ubuntu 18.04 if using a blender that is downloaded from blender's homepage though. Users are recommended to ''not'' use ubuntu's version of blender.
* The new blender importer requires at least blender 2.79. It will not work with versions earlier than 2.79.
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
=== Running from source ===
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 or higher
* NumPy: 1.13.0 or higher
* PyOpenGL: Any modern version will work, including the one used for MakeHuman 1.1.x
=== Ubuntu ===
In order to fulfill the minimum dependency requirements listed above, you will need Ubuntu 18.04 or later. For earlier Ubuntu versions, you would have use backports of the dependencies, as they are not available in the default installation.
The PPA for this build is here: [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community ppa:makehuman-official/makehuman-community].
To enable it, run:
sudo add-apt-repository ppa:makehuman-official/makehuman-community
sudo apt-get update
sudo apt-get install makehuman-community
== The upgraded codebase ==
The main focus of this release has been to modernize the code. In the prior version, large parts were written more than eight years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The expected end of life for python 2.7 is in less than two years.
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
== Asset downloader ==
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
<br clear=all>
== New blender integration ==
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
[[File:12x-blender-ik.png|300px|thumb|right|Convert to IK rig]]
This release bundles a rich set of blender functionalitites, which can be added to blender in the form of an addon. Not all functionality will be listed here, but the following are
some highlights.
=== Import directly from MakeHuman ===
In blender it is now possible to fetch a toon directly from a running instance of MakeHuman, without having to first save the toon to a file. The importer will talk with the makehuman instance
and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses. The process is almost instantaneous (a toon with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== IK and amputations ===
The importer will use the skeleton set in MakeHuman to rig the resulting character in Blender. The rig can then be extended with the "IK rig" functionality: By clicking a button you can get extra
IK controls, and IK chains set up for arms, legs and fingers.
Rigs can also be amputated in case detailed bones are not required.
All rigs currently available to MakeHuman are supported.
=== Kinect ===
To be written
<br clear=all>
== The Mass Produce plugin ==
A new plugin is now bundled per default: The "mass produce" plugin. This allows rapidly generating large sets of randomized characters. The functionality is demonstrated in a youtube video:
{{#ev:youtube|jRHnJX-TdT4}}
== A new windows installer ==
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
== Other bundled functionality ==
Apart from the above, some other functionality that previously had to be downloaded separately is now bundled:
=== MHX2 ===
MHX2 is now enabled per default in MakeHuman. The blender side of MHX2 is bundled as a zip file which can
be added to blender via the user preferences.
=== MHAPI ===
MHAPI (a library with convenience calls for making addons for MakeHuman) is now included and enabled per default.
== Where to download ==
The following are links to where you can download alpha 3.
You can [http://download.tuxfamily.org/makehuman/nightly/makehuman-community-1.2.0-alpha3-win32.zip download the windows build here].
For linux, [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community there is a new PPA].
== Providing feedback and bug reports ==
As always with an alpha release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums. But more formal information about bug trackers can be found here: http://www.makehumancommunity.org/content/bugtracker.html
41832addab0883794a04cd6cdc10d1ddacaa41c5
1581
1580
2019-03-20T15:48:12Z
Joepal
14
/* Highlights */
wikitext
text/x-wiki
MakeHuman Community 1.2.0 alpha3 was released 2018-03-19
'''It is important to understand that 1.2.0 alpha 3 is an alpha release. This means that things ''will'' behave strangely. Before downloading the build, you should at least read the "known issues" section in these notes.'''
These notes are under construction and may be incomplete. Further, the notes describe, as of now, an alpha version of a coming release. The final release might be different from what is described below.
== General ==
In most cases, there should be no problem running versions 1.1.1 and 1.2.0 on the same system. They will not interfere with each other's files. You can find download links for 1.2.0 at the bottom of this page.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
The following are the changes since version 1.1.1.
== Changes since alpha 2 ==
* CORE: A crash that prevented makehuman from starting (or not showing any 3d models) on some AMD cards has been fixed
* CORE: A crash that arose when a mesh could not be loaded (for any reason, such as the file not existing) has been worked around.
* CORE: The whole pipeline should now gracefully accept tri meshes (in for example clothes). Note that mixed tri/quad meshes are still not supported: they need to be either tri or quad.
* CORE: Further measures have been taken to force all IO to be utf-8 on all platforms.
* CORE: A crash in proxy loading when using symlinks for makehuman home has been fixed
* CORE: It is possible to prevent values on rescan of custom target folders.
* CORE: The rig loading tab now recurses on subfolders, allowing to better organize the data.
* MODELING: The random functionality have been improved by ensuring symmetry in more body parts.
* LANGUAGE: A spelling mistake ("symmmetry") has been corrected in most/all language files
* MASS PRODUCE: The "mass produce" plugin has been added. It allows randomizing large sets of characters automatically (see [https://www.youtube.com/watch?v=jRHnJX-TdT4 this youtube video]). Note that when installing from PPA, you will have to install this explicitly. The package is named makehuman-community-plugins-massproduce.
* ASSET DOWNLOADER: It is now possible to download a single screenshot from the details panel
* ASSET DOWNLOADER: If the server for some reason protests (throws a 404 or similar), a sensible error message will now be shown to the user
* NEW BLENDER INTEGRATION: Now works with blender 2.80 ('''note that contrary to blender 2.79, the "makehuman" tab is on the "n" shelf rather than the "t" shelf''')
* NEW BLENDER INTEGRATION: Now correctly sets up material nodes for normal maps.
* NEW BLENDER INTEGRATION: The code was refactored to get a structure that is a bit less messy
* NEW BLENDER INTEGRATION: The management of transparency was slightly improved, particularly for eevee
* NEW BLENDER INTEGRATION: Reduced the time it takes to import bone weights for a rigged character, by some 60%
* NEW BLENDER INTEGRATION: It is now possible to define a viewport color in mhmat files {keys: viewPortColor, viewPortAlpha}, which will affect the object appearance in Blender's solid view mode
* SOCKET / NEW BLENDER INTEGRATION: It is now possible to configure host and port, meaning blender and makehuman can reside on different computers
* SOCKET / NEW BLENDER INTEGRATION: the "Allow connections" checkbox will remember its state across makehuman restarts (meaning the socket server will autostart if it was running when you last closed MH)
== Highlights ==
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new Blender integration, with support for socket transfers, IK and Kinect
* There is a new randomization functionality for generating large sets of randomized characters
* Improved internationalization support for non-ASCII characters (backported)
* Plugins in user space
* Plugins activation at runtime
* Improved tag sorting capabilities (Hotkey: ALT-F), including sticky tag provisions
* Tags for models (with configurable tag count)
* Show Name Tags instead of file names in the file loader.
* Saving model as target
* Real weight estimation
* Configurable location for the home folder
* MHX2 is bundled in the default installation
* Save thumbnails directly from the internal render engine
* There is a new installer for windows
* There is a new PPA for ubuntu. This PPA also offers builds of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds)
== Known issues ==
* FBX skeleton will still misbehave
* While most of the graphics card incompatibilities should now be fixed, there are still some (seldomly used) parts of the program that may cause problems with some intel cards.
* There is no build for OSX
* The user data folder is still makehuman/v1py3 rather than makehuman/v1, in order to guarrantee that the development version does not interfere with the stable version. This will probably be changed for the final release.
* The new blender importer will crash when used in a version of blender that is shipped with ubuntu 18.04. It works fine on ubuntu 18.04 if using a blender that is downloaded from blender's homepage though. Users are recommended to ''not'' use ubuntu's version of blender.
* The new blender importer requires blender 2.79.
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
=== Running from source ===
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 or higher
* NumPy: 1.13.0 or higher
* PyOpenGL: Any modern version will work, including the one used for MakeHuman 1.1.x
=== Ubuntu ===
In order to fulfill the minimum dependency requirements listed above, you will need Ubuntu 18.04 or later. For earlier Ubuntu versions, you would have use backports of the dependencies, as they are not available in the default installation.
The PPA for this build is here: [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community ppa:makehuman-official/makehuman-community].
To enable it, run:
sudo add-apt-repository ppa:makehuman-official/makehuman-community
sudo apt-get update
sudo apt-get install makehuman-community
== The upgraded codebase ==
The main focus of this release has been to modernize the code. In the prior version, large parts were written more than eight years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The expected end of life for python 2.7 is in less than two years.
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
== Asset downloader ==
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
<br clear=all>
== New blender integration ==
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
[[File:12x-blender-ik.png|300px|thumb|right|Convert to IK rig]]
This release bundles a rich set of blender functionalitites, which can be added to blender in the form of an addon. Not all functionality will be listed here, but the following are
some highlights.
=== Import directly from MakeHuman ===
In blender it is now possible to fetch a toon directly from a running instance of MakeHuman, without having to first save the toon to a file. The importer will talk with the makehuman instance
and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses. The process is almost instantaneous (a toon with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== IK and amputations ===
The importer will use the skeleton set in MakeHuman to rig the resulting character in Blender. The rig can then be extended with the "IK rig" functionality: By clicking a button you can get extra
IK controls, and IK chains set up for arms, legs and fingers.
Rigs can also be amputated in case detailed bones are not required.
All rigs currently available to MakeHuman are supported.
=== Kinect ===
To be written
<br clear=all>
== The Mass Produce plugin ==
A new plugin is now bundled per default: The "mass produce" plugin. This allows rapidly generating large sets of randomized characters. The functionality is demonstrated in a youtube video:
{{#ev:youtube|jRHnJX-TdT4}}
== A new windows installer ==
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
== Other bundled functionality ==
Apart from the above, some other functionality that previously had to be downloaded separately is now bundled:
=== MHX2 ===
MHX2 is now enabled per default in MakeHuman. The blender side of MHX2 is bundled as a zip file which can
be added to blender via the user preferences.
=== MHAPI ===
MHAPI (a library with convenience calls for making addons for MakeHuman) is now included and enabled per default.
== Where to download ==
The following are links to where you can download alpha 3.
You can [http://download.tuxfamily.org/makehuman/nightly/makehuman-community-1.2.0-alpha3-win32.zip download the windows build here].
For linux, [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community there is a new PPA].
== Providing feedback and bug reports ==
As always with an alpha release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums. But more formal information about bug trackers can be found here: http://www.makehumancommunity.org/content/bugtracker.html
38918516ec81ae7a2d570bf65f35e29a21c01da5
1580
1577
2019-03-20T15:36:56Z
Joepal
14
wikitext
text/x-wiki
MakeHuman Community 1.2.0 alpha3 was released 2018-03-19
'''It is important to understand that 1.2.0 alpha 3 is an alpha release. This means that things ''will'' behave strangely. Before downloading the build, you should at least read the "known issues" section in these notes.'''
These notes are under construction and may be incomplete. Further, the notes describe, as of now, an alpha version of a coming release. The final release might be different from what is described below.
== General ==
In most cases, there should be no problem running versions 1.1.1 and 1.2.0 on the same system. They will not interfere with each other's files. You can find download links for 1.2.0 at the bottom of this page.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
The following are the changes since version 1.1.1.
== Changes since alpha 2 ==
* CORE: A crash that prevented makehuman from starting (or not showing any 3d models) on some AMD cards has been fixed
* CORE: A crash that arose when a mesh could not be loaded (for any reason, such as the file not existing) has been worked around.
* CORE: The whole pipeline should now gracefully accept tri meshes (in for example clothes). Note that mixed tri/quad meshes are still not supported: they need to be either tri or quad.
* CORE: Further measures have been taken to force all IO to be utf-8 on all platforms.
* CORE: A crash in proxy loading when using symlinks for makehuman home has been fixed
* CORE: It is possible to prevent values on rescan of custom target folders.
* CORE: The rig loading tab now recurses on subfolders, allowing to better organize the data.
* MODELING: The random functionality have been improved by ensuring symmetry in more body parts.
* LANGUAGE: A spelling mistake ("symmmetry") has been corrected in most/all language files
* MASS PRODUCE: The "mass produce" plugin has been added. It allows randomizing large sets of characters automatically (see [https://www.youtube.com/watch?v=jRHnJX-TdT4 this youtube video]). Note that when installing from PPA, you will have to install this explicitly. The package is named makehuman-community-plugins-massproduce.
* ASSET DOWNLOADER: It is now possible to download a single screenshot from the details panel
* ASSET DOWNLOADER: If the server for some reason protests (throws a 404 or similar), a sensible error message will now be shown to the user
* NEW BLENDER INTEGRATION: Now works with blender 2.80 ('''note that contrary to blender 2.79, the "makehuman" tab is on the "n" shelf rather than the "t" shelf''')
* NEW BLENDER INTEGRATION: Now correctly sets up material nodes for normal maps.
* NEW BLENDER INTEGRATION: The code was refactored to get a structure that is a bit less messy
* NEW BLENDER INTEGRATION: The management of transparency was slightly improved, particularly for eevee
* NEW BLENDER INTEGRATION: Reduced the time it takes to import bone weights for a rigged character, by some 60%
* NEW BLENDER INTEGRATION: It is now possible to define a viewport color in mhmat files {keys: viewPortColor, viewPortAlpha}, which will affect the object appearance in Blender's solid view mode
* SOCKET / NEW BLENDER INTEGRATION: It is now possible to configure host and port, meaning blender and makehuman can reside on different computers
* SOCKET / NEW BLENDER INTEGRATION: the "Allow connections" checkbox will remember its state across makehuman restarts (meaning the socket server will autostart if it was running when you last closed MH)
== Highlights ==
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new Blender integration, with support for socket transfers, IK and Kinect
* Improved internationalization support for non-ASCII characters (backported)
* Plugins in user space
* Plugins activation at runtime
* Improved tag sorting capabilities (Hotkey: ALT-F), including sticky tag provisions
* Tags for models (with configurable tag count)
* Show Name Tags instead of file names in the file loader.
* Saving model as target
* Real weight estimation
* Configurable location for the home folder
* MHX2 is bundled in the default installation
* Save thumbnails directly from the internal render engine
* There is a new installer for windows
* There is a new PPA for ubuntu. This PPA also offers builds of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds)
== Known issues ==
* FBX skeleton will still misbehave
* While most of the graphics card incompatibilities should now be fixed, there are still some (seldomly used) parts of the program that may cause problems with some intel cards.
* There is no build for OSX
* The user data folder is still makehuman/v1py3 rather than makehuman/v1, in order to guarrantee that the development version does not interfere with the stable version. This will probably be changed for the final release.
* The new blender importer will crash when used in a version of blender that is shipped with ubuntu 18.04. It works fine on ubuntu 18.04 if using a blender that is downloaded from blender's homepage though. Users are recommended to ''not'' use ubuntu's version of blender.
* The new blender importer requires blender 2.79.
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
=== Running from source ===
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 or higher
* NumPy: 1.13.0 or higher
* PyOpenGL: Any modern version will work, including the one used for MakeHuman 1.1.x
=== Ubuntu ===
In order to fulfill the minimum dependency requirements listed above, you will need Ubuntu 18.04 or later. For earlier Ubuntu versions, you would have use backports of the dependencies, as they are not available in the default installation.
The PPA for this build is here: [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community ppa:makehuman-official/makehuman-community].
To enable it, run:
sudo add-apt-repository ppa:makehuman-official/makehuman-community
sudo apt-get update
sudo apt-get install makehuman-community
== The upgraded codebase ==
The main focus of this release has been to modernize the code. In the prior version, large parts were written more than eight years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The expected end of life for python 2.7 is in less than two years.
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
== Asset downloader ==
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
<br clear=all>
== New blender integration ==
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
[[File:12x-blender-ik.png|300px|thumb|right|Convert to IK rig]]
This release bundles a rich set of blender functionalitites, which can be added to blender in the form of an addon. Not all functionality will be listed here, but the following are
some highlights.
=== Import directly from MakeHuman ===
In blender it is now possible to fetch a toon directly from a running instance of MakeHuman, without having to first save the toon to a file. The importer will talk with the makehuman instance
and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses. The process is almost instantaneous (a toon with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== IK and amputations ===
The importer will use the skeleton set in MakeHuman to rig the resulting character in Blender. The rig can then be extended with the "IK rig" functionality: By clicking a button you can get extra
IK controls, and IK chains set up for arms, legs and fingers.
Rigs can also be amputated in case detailed bones are not required.
All rigs currently available to MakeHuman are supported.
=== Kinect ===
To be written
<br clear=all>
== The Mass Produce plugin ==
A new plugin is now bundled per default: The "mass produce" plugin. This allows rapidly generating large sets of randomized characters. The functionality is demonstrated in a youtube video:
{{#ev:youtube|jRHnJX-TdT4}}
== A new windows installer ==
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
== Other bundled functionality ==
Apart from the above, some other functionality that previously had to be downloaded separately is now bundled:
=== MHX2 ===
MHX2 is now enabled per default in MakeHuman. The blender side of MHX2 is bundled as a zip file which can
be added to blender via the user preferences.
=== MHAPI ===
MHAPI (a library with convenience calls for making addons for MakeHuman) is now included and enabled per default.
== Where to download ==
The following are links to where you can download alpha 3.
You can [http://download.tuxfamily.org/makehuman/nightly/makehuman-community-1.2.0-alpha3-win32.zip download the windows build here].
For linux, [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community there is a new PPA].
== Providing feedback and bug reports ==
As always with an alpha release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums. But more formal information about bug trackers can be found here: http://www.makehumancommunity.org/content/bugtracker.html
86f303be60e16ba69dda51af5f205709e391974d
1577
1576
2019-03-19T20:08:46Z
Joepal
14
/* Where to download */
wikitext
text/x-wiki
MakeHuman Community 1.2.0 alpha3 was released 2018-03-19
'''It is important to understand that 1.2.0 alpha 3 is an alpha release. This means that things ''will'' behave strangely. Before downloading the build, you should at least read the "known issues" section in these notes.'''
These notes are under construction and may be incomplete. Further, the notes describe, as of now, an alpha version of a coming release. The final release might be different from what is described below.
== General ==
In most cases, there should be no problem running versions 1.1.1 and 1.2.0 on the same system. They will not interfere with each other's files. You can find download links for 1.2.0 at the bottom of this page.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
The following are the changes since version 1.1.1.
== Changes since alpha 2 ==
* CORE: A crash that prevented makehuman from starting (or not showing any 3d models) on some AMD cards has been fixed
* CORE: A crash that arose when a mesh could not be loaded (for any reason, such as the file not existing) has been worked around.
* CORE: The whole pipeline should now gracefully accept tri meshes (in for example clothes). Note that mixed tri/quad meshes are still not supported: they need to be either tri or quad.
* CORE: Further measures have been taken to force all IO to be utf-8 on all platforms.
* CORE: A crash in proxy loading when using symlinks for makehuman home has been fixed
* CORE: It is possible to prevent values on rescan of custom target folders.
* CORE: The rig loading tab now recurses on subfolders, allowing to better organize the data.
* MODELING: The random functionality have been improved by ensuring symmetry in more body parts.
* LANGUAGE: A spelling mistake ("symmmetry") has been corrected in most/all language files
* MASS PRODUCE: The "mass produce" plugin has been added. It allows randomizing large sets of characters automatically (see [https://www.youtube.com/watch?v=jRHnJX-TdT4 this youtube video]). Note that when installing from PPA, you will have to install this explicitly. The package is named makehuman-community-plugins-massproduce.
* ASSET DOWNLOADER: It is now possible to download a single screenshot from the details panel
* ASSET DOWNLOADER: If the server for some reason protests (throws a 404 or similar), a sensible error message will now be shown to the user
* NEW BLENDER INTEGRATION: Now works with blender 2.80 ('''note that contrary to blender 2.79, the "makehuman" tab is on the "n" shelf rather than the "t" shelf''')
* NEW BLENDER INTEGRATION: Now correctly sets up material nodes for normal maps.
* NEW BLENDER INTEGRATION: The code was refactored to get a structure that is a bit less messy
* NEW BLENDER INTEGRATION: The management of transparency was slightly improved, particularly for eevee
* NEW BLENDER INTEGRATION: Reduced the time it takes to import bone weights for a rigged character, by some 60%
* NEW BLENDER INTEGRATION: It is now possible to define a viewport color in mhmat files {keys: viewPortColor, viewPortAlpha}, which will affect the object appearance in Blender's solid view mode
* SOCKET / NEW BLENDER INTEGRATION: It is now possible to configure host and port, meaning blender and makehuman can reside on different computers
* SOCKET / NEW BLENDER INTEGRATION: the "Allow connections" checkbox will remember its state across makehuman restarts (meaning the socket server will autostart if it was running when you last closed MH)
== Highlights ==
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new Blender integration, with support for socket transfers, IK and Kinect
* Improved internationalization support for non-ASCII characters (backported)
* Plugins in user space
* Plugins activation at runtime
* Improved tag sorting capabilities (Hotkey: ALT-F), including sticky tag provisions
* Tags for models (with configurable tag count)
* Show Name Tags instead of file names in the file loader.
* Saving model as target
* Real weight estimation
* Configurable location for the home folder
* MHX2 is bundled in the default installation
* Save thumbnails directly from the internal render engine
* There is a new installer for windows
* There is a new PPA for ubuntu. This PPA also offers builds of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds)
== Known issues ==
* FBX skeleton will still misbehave
* While most of the graphics card incompatibilities should now be fixed, there are still some (seldomly used) parts of the program that may cause problems with some intel cards.
* There is no build for OSX
* The user data folder is still makehuman/v1py3 rather than makehuman/v1, in order to guarrantee that the development version does not interfere with the stable version. This will probably be changed for the final release.
* The new blender importer will crash when used in a version of blender that is shipped with ubuntu 18.04. It works fine on ubuntu 18.04 if using a blender that is downloaded from blender's homepage though. Users are recommended to ''not'' use ubuntu's version of blender.
* The new blender importer requires blender 2.79.
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
=== Running from source ===
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 or higher
* NumPy: 1.13.0 or higher
* PyOpenGL: Any modern version will work, including the one used for MakeHuman 1.1.x
=== Ubuntu ===
In order to fulfill the minimum dependency requirements listed above, you will need Ubuntu 18.04 or later. For earlier Ubuntu versions, you would have use backports of the dependencies, as they are not available in the default installation.
The PPA for this build is here: [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community ppa:makehuman-official/makehuman-community].
To enable it, run:
sudo add-apt-repository ppa:makehuman-official/makehuman-community
sudo apt-get update
sudo apt-get install makehuman-community
== The upgraded codebase ==
The main focus of this release has been to modernize the code. In the prior version, large parts were written more than eight years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The expected end of life for python 2.7 is in less than two years.
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
== Asset downloader ==
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
<br clear=all>
== New blender integration ==
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
[[File:12x-blender-ik.png|300px|thumb|right|Convert to IK rig]]
This release bundles a rich set of blender functionalitites, which can be added to blender in the form of an addon. Not all functionality will be listed here, but the following are
some highlights.
=== Import directly from MakeHuman ===
In blender it is now possible to fetch a toon directly from a running instance of MakeHuman, without having to first save the toon to a file. The importer will talk with the makehuman instance
and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses. The process is almost instantaneous (a toon with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== IK and amputations ===
The importer will use the skeleton set in MakeHuman to rig the resulting character in Blender. The rig can then be extended with the "IK rig" functionality: By clicking a button you can get extra
IK controls, and IK chains set up for arms, legs and fingers.
Rigs can also be amputated in case detailed bones are not required.
All rigs currently available to MakeHuman are supported.
=== Kinect ===
To be written
<br clear=all>
== A new windows installer ==
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
== Other bundled functionality ==
Apart from the above, some other functionality that previously had to be downloaded separately is now bundled:
=== MHX2 ===
MHX2 is now enabled per default in MakeHuman. The blender side of MHX2 is bundled as a zip file which can
be added to blender via the user preferences.
=== MHAPI ===
MHAPI (a library with convenience calls for making addons for MakeHuman) is now included and enabled per default.
== Where to download ==
The following are links to where you can download alpha 3.
You can [http://download.tuxfamily.org/makehuman/nightly/makehuman-community-1.2.0-alpha3-win32.zip download the windows build here].
For linux, [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community there is a new PPA].
== Providing feedback and bug reports ==
As always with an alpha release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums. But more formal information about bug trackers can be found here: http://www.makehumancommunity.org/content/bugtracker.html
dccb14badef2b53f62db0bf7b1a5e006034e3cec
1576
1575
2019-03-19T17:35:25Z
Joepal
14
/* Where to download */
wikitext
text/x-wiki
MakeHuman Community 1.2.0 alpha3 was released 2018-03-19
'''It is important to understand that 1.2.0 alpha 3 is an alpha release. This means that things ''will'' behave strangely. Before downloading the build, you should at least read the "known issues" section in these notes.'''
These notes are under construction and may be incomplete. Further, the notes describe, as of now, an alpha version of a coming release. The final release might be different from what is described below.
== General ==
In most cases, there should be no problem running versions 1.1.1 and 1.2.0 on the same system. They will not interfere with each other's files. You can find download links for 1.2.0 at the bottom of this page.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
The following are the changes since version 1.1.1.
== Changes since alpha 2 ==
* CORE: A crash that prevented makehuman from starting (or not showing any 3d models) on some AMD cards has been fixed
* CORE: A crash that arose when a mesh could not be loaded (for any reason, such as the file not existing) has been worked around.
* CORE: The whole pipeline should now gracefully accept tri meshes (in for example clothes). Note that mixed tri/quad meshes are still not supported: they need to be either tri or quad.
* CORE: Further measures have been taken to force all IO to be utf-8 on all platforms.
* CORE: A crash in proxy loading when using symlinks for makehuman home has been fixed
* CORE: It is possible to prevent values on rescan of custom target folders.
* CORE: The rig loading tab now recurses on subfolders, allowing to better organize the data.
* MODELING: The random functionality have been improved by ensuring symmetry in more body parts.
* LANGUAGE: A spelling mistake ("symmmetry") has been corrected in most/all language files
* MASS PRODUCE: The "mass produce" plugin has been added. It allows randomizing large sets of characters automatically (see [https://www.youtube.com/watch?v=jRHnJX-TdT4 this youtube video]). Note that when installing from PPA, you will have to install this explicitly. The package is named makehuman-community-plugins-massproduce.
* ASSET DOWNLOADER: It is now possible to download a single screenshot from the details panel
* ASSET DOWNLOADER: If the server for some reason protests (throws a 404 or similar), a sensible error message will now be shown to the user
* NEW BLENDER INTEGRATION: Now works with blender 2.80 ('''note that contrary to blender 2.79, the "makehuman" tab is on the "n" shelf rather than the "t" shelf''')
* NEW BLENDER INTEGRATION: Now correctly sets up material nodes for normal maps.
* NEW BLENDER INTEGRATION: The code was refactored to get a structure that is a bit less messy
* NEW BLENDER INTEGRATION: The management of transparency was slightly improved, particularly for eevee
* NEW BLENDER INTEGRATION: Reduced the time it takes to import bone weights for a rigged character, by some 60%
* NEW BLENDER INTEGRATION: It is now possible to define a viewport color in mhmat files {keys: viewPortColor, viewPortAlpha}, which will affect the object appearance in Blender's solid view mode
* SOCKET / NEW BLENDER INTEGRATION: It is now possible to configure host and port, meaning blender and makehuman can reside on different computers
* SOCKET / NEW BLENDER INTEGRATION: the "Allow connections" checkbox will remember its state across makehuman restarts (meaning the socket server will autostart if it was running when you last closed MH)
== Highlights ==
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new Blender integration, with support for socket transfers, IK and Kinect
* Improved internationalization support for non-ASCII characters (backported)
* Plugins in user space
* Plugins activation at runtime
* Improved tag sorting capabilities (Hotkey: ALT-F), including sticky tag provisions
* Tags for models (with configurable tag count)
* Show Name Tags instead of file names in the file loader.
* Saving model as target
* Real weight estimation
* Configurable location for the home folder
* MHX2 is bundled in the default installation
* Save thumbnails directly from the internal render engine
* There is a new installer for windows
* There is a new PPA for ubuntu. This PPA also offers builds of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds)
== Known issues ==
* FBX skeleton will still misbehave
* While most of the graphics card incompatibilities should now be fixed, there are still some (seldomly used) parts of the program that may cause problems with some intel cards.
* There is no build for OSX
* The user data folder is still makehuman/v1py3 rather than makehuman/v1, in order to guarrantee that the development version does not interfere with the stable version. This will probably be changed for the final release.
* The new blender importer will crash when used in a version of blender that is shipped with ubuntu 18.04. It works fine on ubuntu 18.04 if using a blender that is downloaded from blender's homepage though. Users are recommended to ''not'' use ubuntu's version of blender.
* The new blender importer requires blender 2.79.
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
=== Running from source ===
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 or higher
* NumPy: 1.13.0 or higher
* PyOpenGL: Any modern version will work, including the one used for MakeHuman 1.1.x
=== Ubuntu ===
In order to fulfill the minimum dependency requirements listed above, you will need Ubuntu 18.04 or later. For earlier Ubuntu versions, you would have use backports of the dependencies, as they are not available in the default installation.
The PPA for this build is here: [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community ppa:makehuman-official/makehuman-community].
To enable it, run:
sudo add-apt-repository ppa:makehuman-official/makehuman-community
sudo apt-get update
sudo apt-get install makehuman-community
== The upgraded codebase ==
The main focus of this release has been to modernize the code. In the prior version, large parts were written more than eight years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The expected end of life for python 2.7 is in less than two years.
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
== Asset downloader ==
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
<br clear=all>
== New blender integration ==
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
[[File:12x-blender-ik.png|300px|thumb|right|Convert to IK rig]]
This release bundles a rich set of blender functionalitites, which can be added to blender in the form of an addon. Not all functionality will be listed here, but the following are
some highlights.
=== Import directly from MakeHuman ===
In blender it is now possible to fetch a toon directly from a running instance of MakeHuman, without having to first save the toon to a file. The importer will talk with the makehuman instance
and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses. The process is almost instantaneous (a toon with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== IK and amputations ===
The importer will use the skeleton set in MakeHuman to rig the resulting character in Blender. The rig can then be extended with the "IK rig" functionality: By clicking a button you can get extra
IK controls, and IK chains set up for arms, legs and fingers.
Rigs can also be amputated in case detailed bones are not required.
All rigs currently available to MakeHuman are supported.
=== Kinect ===
To be written
<br clear=all>
== A new windows installer ==
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
== Other bundled functionality ==
Apart from the above, some other functionality that previously had to be downloaded separately is now bundled:
=== MHX2 ===
MHX2 is now enabled per default in MakeHuman. The blender side of MHX2 is bundled as a zip file which can
be added to blender via the user preferences.
=== MHAPI ===
MHAPI (a library with convenience calls for making addons for MakeHuman) is now included and enabled per default.
== Where to download ==
THERE IS CURRENTLY A PROBLEM WITH THE BUILD, WAIT A BIT BEFORE DOWNLOADING
You can [http://download.tuxfamily.org/makehuman/nightly/makehuman-community-1.2.0-alpha3-win32.zip download the windows build here].
For linux, [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community there is a new PPA].
== Providing feedback and bug reports ==
As always with an alpha release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums. But more formal information about bug trackers can be found here: http://www.makehumancommunity.org/content/bugtracker.html
8109f24303260130ac235ca311d7e752c659c5aa
1575
1574
2019-03-19T17:26:38Z
Joepal
14
/* Known issues */
wikitext
text/x-wiki
MakeHuman Community 1.2.0 alpha3 was released 2018-03-19
'''It is important to understand that 1.2.0 alpha 3 is an alpha release. This means that things ''will'' behave strangely. Before downloading the build, you should at least read the "known issues" section in these notes.'''
These notes are under construction and may be incomplete. Further, the notes describe, as of now, an alpha version of a coming release. The final release might be different from what is described below.
== General ==
In most cases, there should be no problem running versions 1.1.1 and 1.2.0 on the same system. They will not interfere with each other's files. You can find download links for 1.2.0 at the bottom of this page.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
The following are the changes since version 1.1.1.
== Changes since alpha 2 ==
* CORE: A crash that prevented makehuman from starting (or not showing any 3d models) on some AMD cards has been fixed
* CORE: A crash that arose when a mesh could not be loaded (for any reason, such as the file not existing) has been worked around.
* CORE: The whole pipeline should now gracefully accept tri meshes (in for example clothes). Note that mixed tri/quad meshes are still not supported: they need to be either tri or quad.
* CORE: Further measures have been taken to force all IO to be utf-8 on all platforms.
* CORE: A crash in proxy loading when using symlinks for makehuman home has been fixed
* CORE: It is possible to prevent values on rescan of custom target folders.
* CORE: The rig loading tab now recurses on subfolders, allowing to better organize the data.
* MODELING: The random functionality have been improved by ensuring symmetry in more body parts.
* LANGUAGE: A spelling mistake ("symmmetry") has been corrected in most/all language files
* MASS PRODUCE: The "mass produce" plugin has been added. It allows randomizing large sets of characters automatically (see [https://www.youtube.com/watch?v=jRHnJX-TdT4 this youtube video]). Note that when installing from PPA, you will have to install this explicitly. The package is named makehuman-community-plugins-massproduce.
* ASSET DOWNLOADER: It is now possible to download a single screenshot from the details panel
* ASSET DOWNLOADER: If the server for some reason protests (throws a 404 or similar), a sensible error message will now be shown to the user
* NEW BLENDER INTEGRATION: Now works with blender 2.80 ('''note that contrary to blender 2.79, the "makehuman" tab is on the "n" shelf rather than the "t" shelf''')
* NEW BLENDER INTEGRATION: Now correctly sets up material nodes for normal maps.
* NEW BLENDER INTEGRATION: The code was refactored to get a structure that is a bit less messy
* NEW BLENDER INTEGRATION: The management of transparency was slightly improved, particularly for eevee
* NEW BLENDER INTEGRATION: Reduced the time it takes to import bone weights for a rigged character, by some 60%
* NEW BLENDER INTEGRATION: It is now possible to define a viewport color in mhmat files {keys: viewPortColor, viewPortAlpha}, which will affect the object appearance in Blender's solid view mode
* SOCKET / NEW BLENDER INTEGRATION: It is now possible to configure host and port, meaning blender and makehuman can reside on different computers
* SOCKET / NEW BLENDER INTEGRATION: the "Allow connections" checkbox will remember its state across makehuman restarts (meaning the socket server will autostart if it was running when you last closed MH)
== Highlights ==
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new Blender integration, with support for socket transfers, IK and Kinect
* Improved internationalization support for non-ASCII characters (backported)
* Plugins in user space
* Plugins activation at runtime
* Improved tag sorting capabilities (Hotkey: ALT-F), including sticky tag provisions
* Tags for models (with configurable tag count)
* Show Name Tags instead of file names in the file loader.
* Saving model as target
* Real weight estimation
* Configurable location for the home folder
* MHX2 is bundled in the default installation
* Save thumbnails directly from the internal render engine
* There is a new installer for windows
* There is a new PPA for ubuntu. This PPA also offers builds of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds)
== Known issues ==
* FBX skeleton will still misbehave
* While most of the graphics card incompatibilities should now be fixed, there are still some (seldomly used) parts of the program that may cause problems with some intel cards.
* There is no build for OSX
* The user data folder is still makehuman/v1py3 rather than makehuman/v1, in order to guarrantee that the development version does not interfere with the stable version. This will probably be changed for the final release.
* The new blender importer will crash when used in a version of blender that is shipped with ubuntu 18.04. It works fine on ubuntu 18.04 if using a blender that is downloaded from blender's homepage though. Users are recommended to ''not'' use ubuntu's version of blender.
* The new blender importer requires blender 2.79.
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
=== Running from source ===
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 or higher
* NumPy: 1.13.0 or higher
* PyOpenGL: Any modern version will work, including the one used for MakeHuman 1.1.x
=== Ubuntu ===
In order to fulfill the minimum dependency requirements listed above, you will need Ubuntu 18.04 or later. For earlier Ubuntu versions, you would have use backports of the dependencies, as they are not available in the default installation.
The PPA for this build is here: [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community ppa:makehuman-official/makehuman-community].
To enable it, run:
sudo add-apt-repository ppa:makehuman-official/makehuman-community
sudo apt-get update
sudo apt-get install makehuman-community
== The upgraded codebase ==
The main focus of this release has been to modernize the code. In the prior version, large parts were written more than eight years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The expected end of life for python 2.7 is in less than two years.
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
== Asset downloader ==
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
<br clear=all>
== New blender integration ==
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
[[File:12x-blender-ik.png|300px|thumb|right|Convert to IK rig]]
This release bundles a rich set of blender functionalitites, which can be added to blender in the form of an addon. Not all functionality will be listed here, but the following are
some highlights.
=== Import directly from MakeHuman ===
In blender it is now possible to fetch a toon directly from a running instance of MakeHuman, without having to first save the toon to a file. The importer will talk with the makehuman instance
and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses. The process is almost instantaneous (a toon with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== IK and amputations ===
The importer will use the skeleton set in MakeHuman to rig the resulting character in Blender. The rig can then be extended with the "IK rig" functionality: By clicking a button you can get extra
IK controls, and IK chains set up for arms, legs and fingers.
Rigs can also be amputated in case detailed bones are not required.
All rigs currently available to MakeHuman are supported.
=== Kinect ===
To be written
<br clear=all>
== A new windows installer ==
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
== Other bundled functionality ==
Apart from the above, some other functionality that previously had to be downloaded separately is now bundled:
=== MHX2 ===
MHX2 is now enabled per default in MakeHuman. The blender side of MHX2 is bundled as a zip file which can
be added to blender via the user preferences.
=== MHAPI ===
MHAPI (a library with convenience calls for making addons for MakeHuman) is now included and enabled per default.
== Where to download ==
As alpha 3 has not yet been released, these links are for alpha 2.
You can [http://download.tuxfamily.org/makehuman/nightly/makehuman-community-1.2.0-alpha3-win32.zip download the windows build here].
For linux, [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community there is a new PPA].
== Providing feedback and bug reports ==
As always with an alpha release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums. But more formal information about bug trackers can be found here: http://www.makehumancommunity.org/content/bugtracker.html
98d7bc52de1a87eb3a4e39e5f22fe3f5f990241c
1574
1573
2019-03-19T17:21:21Z
Joepal
14
/* Changes since alpha 2 */
wikitext
text/x-wiki
MakeHuman Community 1.2.0 alpha3 was released 2018-03-19
'''It is important to understand that 1.2.0 alpha 3 is an alpha release. This means that things ''will'' behave strangely. Before downloading the build, you should at least read the "known issues" section in these notes.'''
These notes are under construction and may be incomplete. Further, the notes describe, as of now, an alpha version of a coming release. The final release might be different from what is described below.
== General ==
In most cases, there should be no problem running versions 1.1.1 and 1.2.0 on the same system. They will not interfere with each other's files. You can find download links for 1.2.0 at the bottom of this page.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
The following are the changes since version 1.1.1.
== Changes since alpha 2 ==
* CORE: A crash that prevented makehuman from starting (or not showing any 3d models) on some AMD cards has been fixed
* CORE: A crash that arose when a mesh could not be loaded (for any reason, such as the file not existing) has been worked around.
* CORE: The whole pipeline should now gracefully accept tri meshes (in for example clothes). Note that mixed tri/quad meshes are still not supported: they need to be either tri or quad.
* CORE: Further measures have been taken to force all IO to be utf-8 on all platforms.
* CORE: A crash in proxy loading when using symlinks for makehuman home has been fixed
* CORE: It is possible to prevent values on rescan of custom target folders.
* CORE: The rig loading tab now recurses on subfolders, allowing to better organize the data.
* MODELING: The random functionality have been improved by ensuring symmetry in more body parts.
* LANGUAGE: A spelling mistake ("symmmetry") has been corrected in most/all language files
* MASS PRODUCE: The "mass produce" plugin has been added. It allows randomizing large sets of characters automatically (see [https://www.youtube.com/watch?v=jRHnJX-TdT4 this youtube video]). Note that when installing from PPA, you will have to install this explicitly. The package is named makehuman-community-plugins-massproduce.
* ASSET DOWNLOADER: It is now possible to download a single screenshot from the details panel
* ASSET DOWNLOADER: If the server for some reason protests (throws a 404 or similar), a sensible error message will now be shown to the user
* NEW BLENDER INTEGRATION: Now works with blender 2.80 ('''note that contrary to blender 2.79, the "makehuman" tab is on the "n" shelf rather than the "t" shelf''')
* NEW BLENDER INTEGRATION: Now correctly sets up material nodes for normal maps.
* NEW BLENDER INTEGRATION: The code was refactored to get a structure that is a bit less messy
* NEW BLENDER INTEGRATION: The management of transparency was slightly improved, particularly for eevee
* NEW BLENDER INTEGRATION: Reduced the time it takes to import bone weights for a rigged character, by some 60%
* NEW BLENDER INTEGRATION: It is now possible to define a viewport color in mhmat files {keys: viewPortColor, viewPortAlpha}, which will affect the object appearance in Blender's solid view mode
* SOCKET / NEW BLENDER INTEGRATION: It is now possible to configure host and port, meaning blender and makehuman can reside on different computers
* SOCKET / NEW BLENDER INTEGRATION: the "Allow connections" checkbox will remember its state across makehuman restarts (meaning the socket server will autostart if it was running when you last closed MH)
== Highlights ==
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new Blender integration, with support for socket transfers, IK and Kinect
* Improved internationalization support for non-ASCII characters (backported)
* Plugins in user space
* Plugins activation at runtime
* Improved tag sorting capabilities (Hotkey: ALT-F), including sticky tag provisions
* Tags for models (with configurable tag count)
* Show Name Tags instead of file names in the file loader.
* Saving model as target
* Real weight estimation
* Configurable location for the home folder
* MHX2 is bundled in the default installation
* Save thumbnails directly from the internal render engine
* There is a new installer for windows
* There is a new PPA for ubuntu. This PPA also offers builds of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds)
== Known issues ==
* FBX skeleton will still misbehave
* There are still graphics card incompatibilities in the OpenGL code. '''On several graphics cards you may get no visible output whatsoever''', rendering the application unusable. If this happens, please report what operating system and what graphics card you are using so we can investigate it further.
* There is no build for OSX
* The user data folder is still makehuman/v1py3 rather than makehuman/v1, in order to guarrantee that the development version does not interfere with the stable version. This will probably be changed for the final release.
* The new blender importer will crash when used in a version of blender that is shipped with ubuntu 18.04. It works fine on ubuntu 18.04 if using a blender that is downloaded from blender's homepage though. Investigations are pending.
* The new blender importer requires blender 2.79. It will not work in earlier versions of blender and will not (yet) work in blender 2.80.
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
=== Running from source ===
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 or higher
* NumPy: 1.13.0 or higher
* PyOpenGL: Any modern version will work, including the one used for MakeHuman 1.1.x
=== Ubuntu ===
In order to fulfill the minimum dependency requirements listed above, you will need Ubuntu 18.04 or later. For earlier Ubuntu versions, you would have use backports of the dependencies, as they are not available in the default installation.
The PPA for this build is here: [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community ppa:makehuman-official/makehuman-community].
To enable it, run:
sudo add-apt-repository ppa:makehuman-official/makehuman-community
sudo apt-get update
sudo apt-get install makehuman-community
== The upgraded codebase ==
The main focus of this release has been to modernize the code. In the prior version, large parts were written more than eight years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The expected end of life for python 2.7 is in less than two years.
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
== Asset downloader ==
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
<br clear=all>
== New blender integration ==
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
[[File:12x-blender-ik.png|300px|thumb|right|Convert to IK rig]]
This release bundles a rich set of blender functionalitites, which can be added to blender in the form of an addon. Not all functionality will be listed here, but the following are
some highlights.
=== Import directly from MakeHuman ===
In blender it is now possible to fetch a toon directly from a running instance of MakeHuman, without having to first save the toon to a file. The importer will talk with the makehuman instance
and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses. The process is almost instantaneous (a toon with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== IK and amputations ===
The importer will use the skeleton set in MakeHuman to rig the resulting character in Blender. The rig can then be extended with the "IK rig" functionality: By clicking a button you can get extra
IK controls, and IK chains set up for arms, legs and fingers.
Rigs can also be amputated in case detailed bones are not required.
All rigs currently available to MakeHuman are supported.
=== Kinect ===
To be written
<br clear=all>
== A new windows installer ==
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
== Other bundled functionality ==
Apart from the above, some other functionality that previously had to be downloaded separately is now bundled:
=== MHX2 ===
MHX2 is now enabled per default in MakeHuman. The blender side of MHX2 is bundled as a zip file which can
be added to blender via the user preferences.
=== MHAPI ===
MHAPI (a library with convenience calls for making addons for MakeHuman) is now included and enabled per default.
== Where to download ==
As alpha 3 has not yet been released, these links are for alpha 2.
You can [http://download.tuxfamily.org/makehuman/nightly/makehuman-community-1.2.0-alpha3-win32.zip download the windows build here].
For linux, [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community there is a new PPA].
== Providing feedback and bug reports ==
As always with an alpha release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums. But more formal information about bug trackers can be found here: http://www.makehumancommunity.org/content/bugtracker.html
123f617947e5dc0861b9dbe9af0c37556f2c83f7
1573
1572
2019-03-19T17:18:18Z
Joepal
14
/* Providing feedback and bug reports */
wikitext
text/x-wiki
MakeHuman Community 1.2.0 alpha3 was released 2018-03-19
'''It is important to understand that 1.2.0 alpha 3 is an alpha release. This means that things ''will'' behave strangely. Before downloading the build, you should at least read the "known issues" section in these notes.'''
These notes are under construction and may be incomplete. Further, the notes describe, as of now, an alpha version of a coming release. The final release might be different from what is described below.
== General ==
In most cases, there should be no problem running versions 1.1.1 and 1.2.0 on the same system. They will not interfere with each other's files. You can find download links for 1.2.0 at the bottom of this page.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
The following are the changes since version 1.1.1.
== Changes since alpha 2 ==
* CORE: A crash that prevented makehuman from starting (or not showing any 3d models) on some AMD cards has been fixed
* CORE: A crash that arose when a mesh could not be loaded (for any reason, such as the file not existing) has been worked around.
* CORE: The whole pipeline should now gracefully accept tri meshes (in for example clothes). Note that mixed tri/quad meshes are still not supported: they need to be either tri or quad.
* CORE: Further measures have been taken to force all IO to be utf-8 on all platforms.
* CORE: A crash in proxy loading when using symlinks for makehuman home has been fixed
* CORE: It is possible to prevent values on rescan of custom target folders.
* CORE: The rig loading tab now recurses on subfolders, allowing to better organize the data.
* MODELING: The random functionality have been improved by ensuring symmetry in more body parts.
* LANGUAGE: A spelling mistake ("symmmetry") has been corrected in most/all language files
* MASS PRODUCE: The "mass produce" plugin has been added. It allows randomizing large sets of characters automatically (see [https://www.youtube.com/watch?v=jRHnJX-TdT4 this youtube video])
* ASSET DOWNLOADER: It is now possible to download a single screenshot from the details panel
* ASSET DOWNLOADER: If the server for some reason protests (throws a 404 or similar), a sensible error message will now be shown to the user
* NEW BLENDER INTEGRATION: Now works with blender 2.80 ('''note that contrary to blender 2.79, the "makehuman" tab is on the "n" shelf rather than the "t" shelf''')
* NEW BLENDER INTEGRATION: Now correctly sets up material nodes for normal maps.
* NEW BLENDER INTEGRATION: The code was refactored to get a structure that is a bit less messy
* NEW BLENDER INTEGRATION: The management of transparency was slightly improved, particularly for eevee
* NEW BLENDER INTEGRATION: Reduced the time it takes to import bone weights for a rigged character, by some 60%
* NEW BLENDER INTEGRATION: It is now possible to define a viewport color in mhmat files {keys: viewPortColor, viewPortAlpha}, which will affect the object appearance in Blender's solid view mode
* SOCKET / NEW BLENDER INTEGRATION: It is now possible to configure host and port, meaning blender and makehuman can reside on different computers
* SOCKET / NEW BLENDER INTEGRATION: the "Allow connections" checkbox will remember its state across makehuman restarts (meaning the socket server will autostart if it was running when you last closed MH)
== Highlights ==
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new Blender integration, with support for socket transfers, IK and Kinect
* Improved internationalization support for non-ASCII characters (backported)
* Plugins in user space
* Plugins activation at runtime
* Improved tag sorting capabilities (Hotkey: ALT-F), including sticky tag provisions
* Tags for models (with configurable tag count)
* Show Name Tags instead of file names in the file loader.
* Saving model as target
* Real weight estimation
* Configurable location for the home folder
* MHX2 is bundled in the default installation
* Save thumbnails directly from the internal render engine
* There is a new installer for windows
* There is a new PPA for ubuntu. This PPA also offers builds of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds)
== Known issues ==
* FBX skeleton will still misbehave
* There are still graphics card incompatibilities in the OpenGL code. '''On several graphics cards you may get no visible output whatsoever''', rendering the application unusable. If this happens, please report what operating system and what graphics card you are using so we can investigate it further.
* There is no build for OSX
* The user data folder is still makehuman/v1py3 rather than makehuman/v1, in order to guarrantee that the development version does not interfere with the stable version. This will probably be changed for the final release.
* The new blender importer will crash when used in a version of blender that is shipped with ubuntu 18.04. It works fine on ubuntu 18.04 if using a blender that is downloaded from blender's homepage though. Investigations are pending.
* The new blender importer requires blender 2.79. It will not work in earlier versions of blender and will not (yet) work in blender 2.80.
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
=== Running from source ===
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 or higher
* NumPy: 1.13.0 or higher
* PyOpenGL: Any modern version will work, including the one used for MakeHuman 1.1.x
=== Ubuntu ===
In order to fulfill the minimum dependency requirements listed above, you will need Ubuntu 18.04 or later. For earlier Ubuntu versions, you would have use backports of the dependencies, as they are not available in the default installation.
The PPA for this build is here: [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community ppa:makehuman-official/makehuman-community].
To enable it, run:
sudo add-apt-repository ppa:makehuman-official/makehuman-community
sudo apt-get update
sudo apt-get install makehuman-community
== The upgraded codebase ==
The main focus of this release has been to modernize the code. In the prior version, large parts were written more than eight years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The expected end of life for python 2.7 is in less than two years.
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
== Asset downloader ==
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
<br clear=all>
== New blender integration ==
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
[[File:12x-blender-ik.png|300px|thumb|right|Convert to IK rig]]
This release bundles a rich set of blender functionalitites, which can be added to blender in the form of an addon. Not all functionality will be listed here, but the following are
some highlights.
=== Import directly from MakeHuman ===
In blender it is now possible to fetch a toon directly from a running instance of MakeHuman, without having to first save the toon to a file. The importer will talk with the makehuman instance
and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses. The process is almost instantaneous (a toon with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== IK and amputations ===
The importer will use the skeleton set in MakeHuman to rig the resulting character in Blender. The rig can then be extended with the "IK rig" functionality: By clicking a button you can get extra
IK controls, and IK chains set up for arms, legs and fingers.
Rigs can also be amputated in case detailed bones are not required.
All rigs currently available to MakeHuman are supported.
=== Kinect ===
To be written
<br clear=all>
== A new windows installer ==
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
== Other bundled functionality ==
Apart from the above, some other functionality that previously had to be downloaded separately is now bundled:
=== MHX2 ===
MHX2 is now enabled per default in MakeHuman. The blender side of MHX2 is bundled as a zip file which can
be added to blender via the user preferences.
=== MHAPI ===
MHAPI (a library with convenience calls for making addons for MakeHuman) is now included and enabled per default.
== Where to download ==
As alpha 3 has not yet been released, these links are for alpha 2.
You can [http://download.tuxfamily.org/makehuman/nightly/makehuman-community-1.2.0-alpha3-win32.zip download the windows build here].
For linux, [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community there is a new PPA].
== Providing feedback and bug reports ==
As always with an alpha release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums. But more formal information about bug trackers can be found here: http://www.makehumancommunity.org/content/bugtracker.html
ba3bc2185e96a16a83fa4aafeb846924627b198b
1572
1571
2019-03-19T17:17:17Z
Joepal
14
/* Where to download */
wikitext
text/x-wiki
MakeHuman Community 1.2.0 alpha3 was released 2018-03-19
'''It is important to understand that 1.2.0 alpha 3 is an alpha release. This means that things ''will'' behave strangely. Before downloading the build, you should at least read the "known issues" section in these notes.'''
These notes are under construction and may be incomplete. Further, the notes describe, as of now, an alpha version of a coming release. The final release might be different from what is described below.
== General ==
In most cases, there should be no problem running versions 1.1.1 and 1.2.0 on the same system. They will not interfere with each other's files. You can find download links for 1.2.0 at the bottom of this page.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
The following are the changes since version 1.1.1.
== Changes since alpha 2 ==
* CORE: A crash that prevented makehuman from starting (or not showing any 3d models) on some AMD cards has been fixed
* CORE: A crash that arose when a mesh could not be loaded (for any reason, such as the file not existing) has been worked around.
* CORE: The whole pipeline should now gracefully accept tri meshes (in for example clothes). Note that mixed tri/quad meshes are still not supported: they need to be either tri or quad.
* CORE: Further measures have been taken to force all IO to be utf-8 on all platforms.
* CORE: A crash in proxy loading when using symlinks for makehuman home has been fixed
* CORE: It is possible to prevent values on rescan of custom target folders.
* CORE: The rig loading tab now recurses on subfolders, allowing to better organize the data.
* MODELING: The random functionality have been improved by ensuring symmetry in more body parts.
* LANGUAGE: A spelling mistake ("symmmetry") has been corrected in most/all language files
* MASS PRODUCE: The "mass produce" plugin has been added. It allows randomizing large sets of characters automatically (see [https://www.youtube.com/watch?v=jRHnJX-TdT4 this youtube video])
* ASSET DOWNLOADER: It is now possible to download a single screenshot from the details panel
* ASSET DOWNLOADER: If the server for some reason protests (throws a 404 or similar), a sensible error message will now be shown to the user
* NEW BLENDER INTEGRATION: Now works with blender 2.80 ('''note that contrary to blender 2.79, the "makehuman" tab is on the "n" shelf rather than the "t" shelf''')
* NEW BLENDER INTEGRATION: Now correctly sets up material nodes for normal maps.
* NEW BLENDER INTEGRATION: The code was refactored to get a structure that is a bit less messy
* NEW BLENDER INTEGRATION: The management of transparency was slightly improved, particularly for eevee
* NEW BLENDER INTEGRATION: Reduced the time it takes to import bone weights for a rigged character, by some 60%
* NEW BLENDER INTEGRATION: It is now possible to define a viewport color in mhmat files {keys: viewPortColor, viewPortAlpha}, which will affect the object appearance in Blender's solid view mode
* SOCKET / NEW BLENDER INTEGRATION: It is now possible to configure host and port, meaning blender and makehuman can reside on different computers
* SOCKET / NEW BLENDER INTEGRATION: the "Allow connections" checkbox will remember its state across makehuman restarts (meaning the socket server will autostart if it was running when you last closed MH)
== Highlights ==
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new Blender integration, with support for socket transfers, IK and Kinect
* Improved internationalization support for non-ASCII characters (backported)
* Plugins in user space
* Plugins activation at runtime
* Improved tag sorting capabilities (Hotkey: ALT-F), including sticky tag provisions
* Tags for models (with configurable tag count)
* Show Name Tags instead of file names in the file loader.
* Saving model as target
* Real weight estimation
* Configurable location for the home folder
* MHX2 is bundled in the default installation
* Save thumbnails directly from the internal render engine
* There is a new installer for windows
* There is a new PPA for ubuntu. This PPA also offers builds of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds)
== Known issues ==
* FBX skeleton will still misbehave
* There are still graphics card incompatibilities in the OpenGL code. '''On several graphics cards you may get no visible output whatsoever''', rendering the application unusable. If this happens, please report what operating system and what graphics card you are using so we can investigate it further.
* There is no build for OSX
* The user data folder is still makehuman/v1py3 rather than makehuman/v1, in order to guarrantee that the development version does not interfere with the stable version. This will probably be changed for the final release.
* The new blender importer will crash when used in a version of blender that is shipped with ubuntu 18.04. It works fine on ubuntu 18.04 if using a blender that is downloaded from blender's homepage though. Investigations are pending.
* The new blender importer requires blender 2.79. It will not work in earlier versions of blender and will not (yet) work in blender 2.80.
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
=== Running from source ===
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 or higher
* NumPy: 1.13.0 or higher
* PyOpenGL: Any modern version will work, including the one used for MakeHuman 1.1.x
=== Ubuntu ===
In order to fulfill the minimum dependency requirements listed above, you will need Ubuntu 18.04 or later. For earlier Ubuntu versions, you would have use backports of the dependencies, as they are not available in the default installation.
The PPA for this build is here: [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community ppa:makehuman-official/makehuman-community].
To enable it, run:
sudo add-apt-repository ppa:makehuman-official/makehuman-community
sudo apt-get update
sudo apt-get install makehuman-community
== The upgraded codebase ==
The main focus of this release has been to modernize the code. In the prior version, large parts were written more than eight years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The expected end of life for python 2.7 is in less than two years.
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
== Asset downloader ==
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
<br clear=all>
== New blender integration ==
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
[[File:12x-blender-ik.png|300px|thumb|right|Convert to IK rig]]
This release bundles a rich set of blender functionalitites, which can be added to blender in the form of an addon. Not all functionality will be listed here, but the following are
some highlights.
=== Import directly from MakeHuman ===
In blender it is now possible to fetch a toon directly from a running instance of MakeHuman, without having to first save the toon to a file. The importer will talk with the makehuman instance
and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses. The process is almost instantaneous (a toon with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== IK and amputations ===
The importer will use the skeleton set in MakeHuman to rig the resulting character in Blender. The rig can then be extended with the "IK rig" functionality: By clicking a button you can get extra
IK controls, and IK chains set up for arms, legs and fingers.
Rigs can also be amputated in case detailed bones are not required.
All rigs currently available to MakeHuman are supported.
=== Kinect ===
To be written
<br clear=all>
== A new windows installer ==
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
== Other bundled functionality ==
Apart from the above, some other functionality that previously had to be downloaded separately is now bundled:
=== MHX2 ===
MHX2 is now enabled per default in MakeHuman. The blender side of MHX2 is bundled as a zip file which can
be added to blender via the user preferences.
=== MHAPI ===
MHAPI (a library with convenience calls for making addons for MakeHuman) is now included and enabled per default.
== Where to download ==
As alpha 3 has not yet been released, these links are for alpha 2.
You can [http://download.tuxfamily.org/makehuman/nightly/makehuman-community-1.2.0-alpha3-win32.zip download the windows build here].
For linux, [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community there is a new PPA].
== Providing feedback and bug reports ==
As always with an alpha release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums. But more formal bug trackers are here:
* For MakeHuman as such: [http://bugtracker.makehumancommunity.org/ http://bugtracker.makehumancommunity.org/]
* For the asset downloader: [https://github.com/makehumancommunity/community-plugins-assetdownload/issues https://github.com/makehumancommunity/community-plugins-assetdownload/issues]
* For the makehuman side of the new blender integration: [https://github.com/makehumancommunity/community-plugins-socket/issues https://github.com/makehumancommunity/community-plugins-socket/issues]
* For the blender side of the new blender integration: [https://github.com/makehumancommunity/makehuman-plugin-for-blender/issues https://github.com/makehumancommunity/makehuman-plugin-for-blender/issues]
* For issues specific to MHX2: [https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange/issues?status=new&status=open https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange/issues]
bcd67c16d412c30e204f444e1caf2d5867eab1bf
1571
1564
2019-03-19T17:16:37Z
Joepal
14
wikitext
text/x-wiki
MakeHuman Community 1.2.0 alpha3 was released 2018-03-19
'''It is important to understand that 1.2.0 alpha 3 is an alpha release. This means that things ''will'' behave strangely. Before downloading the build, you should at least read the "known issues" section in these notes.'''
These notes are under construction and may be incomplete. Further, the notes describe, as of now, an alpha version of a coming release. The final release might be different from what is described below.
== General ==
In most cases, there should be no problem running versions 1.1.1 and 1.2.0 on the same system. They will not interfere with each other's files. You can find download links for 1.2.0 at the bottom of this page.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
The following are the changes since version 1.1.1.
== Changes since alpha 2 ==
* CORE: A crash that prevented makehuman from starting (or not showing any 3d models) on some AMD cards has been fixed
* CORE: A crash that arose when a mesh could not be loaded (for any reason, such as the file not existing) has been worked around.
* CORE: The whole pipeline should now gracefully accept tri meshes (in for example clothes). Note that mixed tri/quad meshes are still not supported: they need to be either tri or quad.
* CORE: Further measures have been taken to force all IO to be utf-8 on all platforms.
* CORE: A crash in proxy loading when using symlinks for makehuman home has been fixed
* CORE: It is possible to prevent values on rescan of custom target folders.
* CORE: The rig loading tab now recurses on subfolders, allowing to better organize the data.
* MODELING: The random functionality have been improved by ensuring symmetry in more body parts.
* LANGUAGE: A spelling mistake ("symmmetry") has been corrected in most/all language files
* MASS PRODUCE: The "mass produce" plugin has been added. It allows randomizing large sets of characters automatically (see [https://www.youtube.com/watch?v=jRHnJX-TdT4 this youtube video])
* ASSET DOWNLOADER: It is now possible to download a single screenshot from the details panel
* ASSET DOWNLOADER: If the server for some reason protests (throws a 404 or similar), a sensible error message will now be shown to the user
* NEW BLENDER INTEGRATION: Now works with blender 2.80 ('''note that contrary to blender 2.79, the "makehuman" tab is on the "n" shelf rather than the "t" shelf''')
* NEW BLENDER INTEGRATION: Now correctly sets up material nodes for normal maps.
* NEW BLENDER INTEGRATION: The code was refactored to get a structure that is a bit less messy
* NEW BLENDER INTEGRATION: The management of transparency was slightly improved, particularly for eevee
* NEW BLENDER INTEGRATION: Reduced the time it takes to import bone weights for a rigged character, by some 60%
* NEW BLENDER INTEGRATION: It is now possible to define a viewport color in mhmat files {keys: viewPortColor, viewPortAlpha}, which will affect the object appearance in Blender's solid view mode
* SOCKET / NEW BLENDER INTEGRATION: It is now possible to configure host and port, meaning blender and makehuman can reside on different computers
* SOCKET / NEW BLENDER INTEGRATION: the "Allow connections" checkbox will remember its state across makehuman restarts (meaning the socket server will autostart if it was running when you last closed MH)
== Highlights ==
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new Blender integration, with support for socket transfers, IK and Kinect
* Improved internationalization support for non-ASCII characters (backported)
* Plugins in user space
* Plugins activation at runtime
* Improved tag sorting capabilities (Hotkey: ALT-F), including sticky tag provisions
* Tags for models (with configurable tag count)
* Show Name Tags instead of file names in the file loader.
* Saving model as target
* Real weight estimation
* Configurable location for the home folder
* MHX2 is bundled in the default installation
* Save thumbnails directly from the internal render engine
* There is a new installer for windows
* There is a new PPA for ubuntu. This PPA also offers builds of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds)
== Known issues ==
* FBX skeleton will still misbehave
* There are still graphics card incompatibilities in the OpenGL code. '''On several graphics cards you may get no visible output whatsoever''', rendering the application unusable. If this happens, please report what operating system and what graphics card you are using so we can investigate it further.
* There is no build for OSX
* The user data folder is still makehuman/v1py3 rather than makehuman/v1, in order to guarrantee that the development version does not interfere with the stable version. This will probably be changed for the final release.
* The new blender importer will crash when used in a version of blender that is shipped with ubuntu 18.04. It works fine on ubuntu 18.04 if using a blender that is downloaded from blender's homepage though. Investigations are pending.
* The new blender importer requires blender 2.79. It will not work in earlier versions of blender and will not (yet) work in blender 2.80.
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
=== Running from source ===
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 or higher
* NumPy: 1.13.0 or higher
* PyOpenGL: Any modern version will work, including the one used for MakeHuman 1.1.x
=== Ubuntu ===
In order to fulfill the minimum dependency requirements listed above, you will need Ubuntu 18.04 or later. For earlier Ubuntu versions, you would have use backports of the dependencies, as they are not available in the default installation.
The PPA for this build is here: [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community ppa:makehuman-official/makehuman-community].
To enable it, run:
sudo add-apt-repository ppa:makehuman-official/makehuman-community
sudo apt-get update
sudo apt-get install makehuman-community
== The upgraded codebase ==
The main focus of this release has been to modernize the code. In the prior version, large parts were written more than eight years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The expected end of life for python 2.7 is in less than two years.
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
== Asset downloader ==
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
<br clear=all>
== New blender integration ==
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
[[File:12x-blender-ik.png|300px|thumb|right|Convert to IK rig]]
This release bundles a rich set of blender functionalitites, which can be added to blender in the form of an addon. Not all functionality will be listed here, but the following are
some highlights.
=== Import directly from MakeHuman ===
In blender it is now possible to fetch a toon directly from a running instance of MakeHuman, without having to first save the toon to a file. The importer will talk with the makehuman instance
and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses. The process is almost instantaneous (a toon with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== IK and amputations ===
The importer will use the skeleton set in MakeHuman to rig the resulting character in Blender. The rig can then be extended with the "IK rig" functionality: By clicking a button you can get extra
IK controls, and IK chains set up for arms, legs and fingers.
Rigs can also be amputated in case detailed bones are not required.
All rigs currently available to MakeHuman are supported.
=== Kinect ===
To be written
<br clear=all>
== A new windows installer ==
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
== Other bundled functionality ==
Apart from the above, some other functionality that previously had to be downloaded separately is now bundled:
=== MHX2 ===
MHX2 is now enabled per default in MakeHuman. The blender side of MHX2 is bundled as a zip file which can
be added to blender via the user preferences.
=== MHAPI ===
MHAPI (a library with convenience calls for making addons for MakeHuman) is now included and enabled per default.
== Where to download ==
As alpha 3 has not yet been released, these links are for alpha 2.
You can [http://download.tuxfamily.org/makehuman/nightly/makehuman-community-1.2.0-alpha2-win32.zip download the windows build here].
For linux, [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community there is a new PPA].
== Providing feedback and bug reports ==
As always with an alpha release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums. But more formal bug trackers are here:
* For MakeHuman as such: [http://bugtracker.makehumancommunity.org/ http://bugtracker.makehumancommunity.org/]
* For the asset downloader: [https://github.com/makehumancommunity/community-plugins-assetdownload/issues https://github.com/makehumancommunity/community-plugins-assetdownload/issues]
* For the makehuman side of the new blender integration: [https://github.com/makehumancommunity/community-plugins-socket/issues https://github.com/makehumancommunity/community-plugins-socket/issues]
* For the blender side of the new blender integration: [https://github.com/makehumancommunity/makehuman-plugin-for-blender/issues https://github.com/makehumancommunity/makehuman-plugin-for-blender/issues]
* For issues specific to MHX2: [https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange/issues?status=new&status=open https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange/issues]
5209c6c76e9cce0a5e278b41ec9bde64daaa8435
1564
1563
2019-03-04T09:20:45Z
Aranuvir
17
/* Changes since alpha 2 */
wikitext
text/x-wiki
MakeHuman Community 1.2.0 alpha3 has not yet been released.
'''It is important to understand that 1.2.0 alpha 3 is an alpha release. This means that things ''will'' behave strangely. Before downloading the build, you should at least read the "known issues" section in these notes.'''
These notes are under construction and may be incomplete. Further, the notes describe, as of now, an alpha version of a coming release. The final release might be different from what is described below.
== General ==
In most cases, there should be no problem running versions 1.1.1 and 1.2.0 on the same system. They will not interfere with each other's files. You can find download links for 1.2.0 at the bottom of this page.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
The following are the changes since version 1.1.1.
== Changes since alpha 2 ==
* CORE: A crash that prevented makehuman from starting (or not showing any 3d models) on some AMD cards has been fixed
* CORE: A crash that arose when a mesh could not be loaded (for any reason, such as the file not existing) has been worked around.
* CORE: The whole pipeline should now gracefully accept tri meshes (in for example clothes). Note that mixed tri/quad meshes are still not supported: they need to be either tri or quad.
* CORE: Further measures have been taken to force all IO to be utf-8 on all platforms.
* CORE: A crash in proxy loading when using symlinks for makehuman home has been fixed
* CORE: It is possible to prevent values on rescan of custom target folders.
* CORE: The rig loading tab now recurses on subfolders, allowing to better organize the data.
* MODELING: The random functionality have been improved by ensuring symmetry in more body parts.
* LANGUAGE: A spelling mistake ("symmmetry") has been corrected in most/all language files
* MASS PRODUCE: The "mass produce" plugin has been added. It allows randomizing large sets of characters automatically (see [https://www.youtube.com/watch?v=jRHnJX-TdT4 this youtube video])
* ASSET DOWNLOADER: It is now possible to download a single screenshot from the details panel
* NEW BLENDER INTEGRATION: Now works with blender 2.80 ('''note that contrary to blender 2.79, the "makehuman" tab is on the "n" shelf rather than the "t" shelf''')
* NEW BLENDER INTEGRATION: Now correctly sets up material nodes for normal maps.
* NEW BLENDER INTEGRATION: The code was refactored to get a structure that is a bit less messy
* NEW BLENDER INTEGRATION: The management of transparency was slightly improved, particularly for eevee
* NEW BLENDER INTEGRATION: Reduced the time it takes to import bone weights for a rigged character, by some 60%
* NEW BLENDER INTEGRATION: It is now possible to define a viewport color in mhmat files {keys: viewPortColor, viewPortAlpha}, which will affect the object appearance in Blender's solid view mode
* SOCKET / NEW BLENDER INTEGRATION: It is now possible to configure host and port, meaning blender and makehuman can reside on different computers
* SOCKET / NEW BLENDER INTEGRATION: the "Allow connections" checkbox will remember its state across makehuman restarts (meaning the socket server will autostart if it was running when you last closed MH)
== Changes since alpha 1 ==
Note that the graphics card issue has ''not'' been addressed yet. So if alpha 1 did not work for you, alpha 2 will not either.
The following are fixes made since the release of 1.2.0 alpha 1:
* LINUX: makehuman root is now ~/Documents/makehuman/v1py3 (or whatever your platform name for "Documents" is, it is fetched from the XDG configuration) rather than ~/makehuman/v1py3. This is the standard used on other platforms, but it will mean that you will have to manually move data you want to keep from the old location to the new.
* UI: Core MakeHuman assets now have a tag "MakeHumanTM", making it easier to only show bundled assets when many third-part assets have been downloaded
* MATERIALS: Core assets will now also look in user directories for extra materials
* ASSET DOWNLOADER: When downloading materials that belong to a core asset, these will now be placed so they show up as materials for said asset
* ASSET DOWNLOADER: It is now possible to filter materials to show only those belonging to a core asset
* ASSET DOWNLOADER: Drastically reduced the size of the initial download
* ASSET DOWNLOADER: Provide better visual feedback so it doesn't look as if the system hanged
* ASSET DOWNLOADER: Made downloading screenshots for assets optional
* PPA: Remove strong dependency on blender. We recommend against using Ubuntu's version of blender since it's broken in many ways.
* PPA: Specify minimum allowed versions of central dependencies.
== Highlights ==
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new Blender integration, with support for socket transfers, IK and Kinect
* Improved internationalization support for non-ASCII characters (backported)
* Plugins in user space
* Plugins activation at runtime
* Improved tag sorting capabilities (Hotkey: ALT-F), including sticky tag provisions
* Tags for models (with configurable tag count)
* Show Name Tags instead of file names in the file loader.
* Saving model as target
* Real weight estimation
* Configurable location for the home folder
* MHX2 is bundled in the default installation
* Save thumbnails directly from the internal render engine
* There is a new installer for windows
* There is a new PPA for ubuntu. This PPA also offers builds of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds)
== Known issues ==
* FBX skeleton will still misbehave
* There are still graphics card incompatibilities in the OpenGL code. '''On several graphics cards you may get no visible output whatsoever''', rendering the application unusable. If this happens, please report what operating system and what graphics card you are using so we can investigate it further.
* There is no build for OSX
* The user data folder is still makehuman/v1py3 rather than makehuman/v1, in order to guarrantee that the development version does not interfere with the stable version. This will probably be changed for the final release.
* The new blender importer will crash when used in a version of blender that is shipped with ubuntu 18.04. It works fine on ubuntu 18.04 if using a blender that is downloaded from blender's homepage though. Investigations are pending.
* The new blender importer requires blender 2.79. It will not work in earlier versions of blender and will not (yet) work in blender 2.80.
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
=== Running from source ===
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 or higher
* NumPy: 1.13.0 or higher
* PyOpenGL: Any modern version will work, including the one used for MakeHuman 1.1.x
=== Ubuntu ===
In order to fulfill the minimum dependency requirements listed above, you will need Ubuntu 18.04 or later. For earlier Ubuntu versions, you would have use backports of the dependencies, as they are not available in the default installation.
The PPA for this build is here: [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community ppa:makehuman-official/makehuman-community].
To enable it, run:
sudo add-apt-repository ppa:makehuman-official/makehuman-community
sudo apt-get update
sudo apt-get install makehuman-community
== The upgraded codebase ==
The main focus of this release has been to modernize the code. In the prior version, large parts were written more than eight years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The expected end of life for python 2.7 is in less than two years.
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
== Asset downloader ==
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
<br clear=all>
== New blender integration ==
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
[[File:12x-blender-ik.png|300px|thumb|right|Convert to IK rig]]
This release bundles a rich set of blender functionalitites, which can be added to blender in the form of an addon. Not all functionality will be listed here, but the following are
some highlights.
=== Import directly from MakeHuman ===
In blender it is now possible to fetch a toon directly from a running instance of MakeHuman, without having to first save the toon to a file. The importer will talk with the makehuman instance
and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses. The process is almost instantaneous (a toon with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== IK and amputations ===
The importer will use the skeleton set in MakeHuman to rig the resulting character in Blender. The rig can then be extended with the "IK rig" functionality: By clicking a button you can get extra
IK controls, and IK chains set up for arms, legs and fingers.
Rigs can also be amputated in case detailed bones are not required.
All rigs currently available to MakeHuman are supported.
=== Kinect ===
To be written
<br clear=all>
== A new windows installer ==
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
== Other bundled functionality ==
Apart from the above, some other functionality that previously had to be downloaded separately is now bundled:
=== MHX2 ===
MHX2 is now enabled per default in MakeHuman. The blender side of MHX2 is bundled as a zip file which can
be added to blender via the user preferences.
=== MHAPI ===
MHAPI (a library with convenience calls for making addons for MakeHuman) is now included and enabled per default.
== Where to download ==
As alpha 3 has not yet been released, these links are for alpha 2.
You can [http://download.tuxfamily.org/makehuman/nightly/makehuman-community-1.2.0-alpha2-win32.zip download the windows build here].
For linux, [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community there is a new PPA].
== Providing feedback and bug reports ==
As always with an alpha release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums. But more formal bug trackers are here:
* For MakeHuman as such: [http://bugtracker.makehumancommunity.org/ http://bugtracker.makehumancommunity.org/]
* For the asset downloader: [https://github.com/makehumancommunity/community-plugins-assetdownload/issues https://github.com/makehumancommunity/community-plugins-assetdownload/issues]
* For the makehuman side of the new blender integration: [https://github.com/makehumancommunity/community-plugins-socket/issues https://github.com/makehumancommunity/community-plugins-socket/issues]
* For the blender side of the new blender integration: [https://github.com/makehumancommunity/makehuman-plugin-for-blender/issues https://github.com/makehumancommunity/makehuman-plugin-for-blender/issues]
* For issues specific to MHX2: [https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange/issues?status=new&status=open https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange/issues]
af9c32d41a515c22388c8a73495fa26460c52b91
1563
1562
2019-03-03T17:59:07Z
Joepal
14
/* Changes since alpha 2 */
wikitext
text/x-wiki
MakeHuman Community 1.2.0 alpha3 has not yet been released.
'''It is important to understand that 1.2.0 alpha 3 is an alpha release. This means that things ''will'' behave strangely. Before downloading the build, you should at least read the "known issues" section in these notes.'''
These notes are under construction and may be incomplete. Further, the notes describe, as of now, an alpha version of a coming release. The final release might be different from what is described below.
== General ==
In most cases, there should be no problem running versions 1.1.1 and 1.2.0 on the same system. They will not interfere with each other's files. You can find download links for 1.2.0 at the bottom of this page.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
The following are the changes since version 1.1.1.
== Changes since alpha 2 ==
* CORE: A crash that prevented makehuman from starting (or not showing any 3d models) on some AMD cards has been fixed
* CORE: A crash that arose when a mesh could not be loaded (for any reason, such as the file not existing) has been worked around.
* CORE: The whole pipeline should now gracefully accept tri meshes (in for example clothes). Note that mixed tri/quad meshes are still not supported: they need to be either tri or quad.
* CORE: Further measures have been taken to force all IO to be utf-8 on all platforms.
* CORE: A crash in proxy loading when using symlinks for makehuman home has been fixed
* CORE: It is possible to prevent values on rescan of custom target folders.
* CORE: The rig loading tab now recurses on subfolders, allowing to better organize the data.
* MODELING: The random functionality have been improved by ensuring symmetry in more body parts.
* LANGUAGE: A spelling mistake ("symmmetry") has been corrected in most/all language files
* MASS PRODUCE: The "mass produce" plugin has been added. It allows randomizing large sets of characters automatically (see [https://www.youtube.com/watch?v=jRHnJX-TdT4 this youtube video])
* ASSET DOWNLOADER: It is now possible to download a single screenshot from the details panel
* NEW BLENDER INTEGRATION: Now works with blender 2.80 ('''note that contrary to blender 2.79, the "makehuman" tab is on the "n" shelf rather than the "t" shelf''')
* NEW BLENDER INTEGRATION: Now correctly sets up material nodes for normal maps.
* NEW BLENDER INTEGRATION: The code was refactored to get a structure that is a bit less messy
* NEW BLENDER INTEGRATION: The management of transparency was slightly improved, particularly for eevee
* NEW BLENDER INTEGRATION: Reduced the time it takes to import bone weights for a rigged character, by some 60%
* NEW BLENDER INTEGRATION: It is now possible to define a viewport color in mhmat files {keys: viewPortColor, viewPortAlpha}, which will affect the object appearance in Blender's solid view mode (mhx2 integration is still missing).
* SOCKET / NEW BLENDER INTEGRATION: It is now possible to configure host and port, meaning blender and makehuman can reside on different computers
* SOCKET / NEW BLENDER INTEGRATION: the "Allow connections" checkbox will remember its state across makehuman restarts (meaning the socket server will autostart if it was running when you last closed MH)
== Changes since alpha 1 ==
Note that the graphics card issue has ''not'' been addressed yet. So if alpha 1 did not work for you, alpha 2 will not either.
The following are fixes made since the release of 1.2.0 alpha 1:
* LINUX: makehuman root is now ~/Documents/makehuman/v1py3 (or whatever your platform name for "Documents" is, it is fetched from the XDG configuration) rather than ~/makehuman/v1py3. This is the standard used on other platforms, but it will mean that you will have to manually move data you want to keep from the old location to the new.
* UI: Core MakeHuman assets now have a tag "MakeHumanTM", making it easier to only show bundled assets when many third-part assets have been downloaded
* MATERIALS: Core assets will now also look in user directories for extra materials
* ASSET DOWNLOADER: When downloading materials that belong to a core asset, these will now be placed so they show up as materials for said asset
* ASSET DOWNLOADER: It is now possible to filter materials to show only those belonging to a core asset
* ASSET DOWNLOADER: Drastically reduced the size of the initial download
* ASSET DOWNLOADER: Provide better visual feedback so it doesn't look as if the system hanged
* ASSET DOWNLOADER: Made downloading screenshots for assets optional
* PPA: Remove strong dependency on blender. We recommend against using Ubuntu's version of blender since it's broken in many ways.
* PPA: Specify minimum allowed versions of central dependencies.
== Highlights ==
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new Blender integration, with support for socket transfers, IK and Kinect
* Improved internationalization support for non-ASCII characters (backported)
* Plugins in user space
* Plugins activation at runtime
* Improved tag sorting capabilities (Hotkey: ALT-F), including sticky tag provisions
* Tags for models (with configurable tag count)
* Show Name Tags instead of file names in the file loader.
* Saving model as target
* Real weight estimation
* Configurable location for the home folder
* MHX2 is bundled in the default installation
* Save thumbnails directly from the internal render engine
* There is a new installer for windows
* There is a new PPA for ubuntu. This PPA also offers builds of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds)
== Known issues ==
* FBX skeleton will still misbehave
* There are still graphics card incompatibilities in the OpenGL code. '''On several graphics cards you may get no visible output whatsoever''', rendering the application unusable. If this happens, please report what operating system and what graphics card you are using so we can investigate it further.
* There is no build for OSX
* The user data folder is still makehuman/v1py3 rather than makehuman/v1, in order to guarrantee that the development version does not interfere with the stable version. This will probably be changed for the final release.
* The new blender importer will crash when used in a version of blender that is shipped with ubuntu 18.04. It works fine on ubuntu 18.04 if using a blender that is downloaded from blender's homepage though. Investigations are pending.
* The new blender importer requires blender 2.79. It will not work in earlier versions of blender and will not (yet) work in blender 2.80.
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
=== Running from source ===
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 or higher
* NumPy: 1.13.0 or higher
* PyOpenGL: Any modern version will work, including the one used for MakeHuman 1.1.x
=== Ubuntu ===
In order to fulfill the minimum dependency requirements listed above, you will need Ubuntu 18.04 or later. For earlier Ubuntu versions, you would have use backports of the dependencies, as they are not available in the default installation.
The PPA for this build is here: [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community ppa:makehuman-official/makehuman-community].
To enable it, run:
sudo add-apt-repository ppa:makehuman-official/makehuman-community
sudo apt-get update
sudo apt-get install makehuman-community
== The upgraded codebase ==
The main focus of this release has been to modernize the code. In the prior version, large parts were written more than eight years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The expected end of life for python 2.7 is in less than two years.
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
== Asset downloader ==
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
<br clear=all>
== New blender integration ==
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
[[File:12x-blender-ik.png|300px|thumb|right|Convert to IK rig]]
This release bundles a rich set of blender functionalitites, which can be added to blender in the form of an addon. Not all functionality will be listed here, but the following are
some highlights.
=== Import directly from MakeHuman ===
In blender it is now possible to fetch a toon directly from a running instance of MakeHuman, without having to first save the toon to a file. The importer will talk with the makehuman instance
and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses. The process is almost instantaneous (a toon with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== IK and amputations ===
The importer will use the skeleton set in MakeHuman to rig the resulting character in Blender. The rig can then be extended with the "IK rig" functionality: By clicking a button you can get extra
IK controls, and IK chains set up for arms, legs and fingers.
Rigs can also be amputated in case detailed bones are not required.
All rigs currently available to MakeHuman are supported.
=== Kinect ===
To be written
<br clear=all>
== A new windows installer ==
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
== Other bundled functionality ==
Apart from the above, some other functionality that previously had to be downloaded separately is now bundled:
=== MHX2 ===
MHX2 is now enabled per default in MakeHuman. The blender side of MHX2 is bundled as a zip file which can
be added to blender via the user preferences.
=== MHAPI ===
MHAPI (a library with convenience calls for making addons for MakeHuman) is now included and enabled per default.
== Where to download ==
As alpha 3 has not yet been released, these links are for alpha 2.
You can [http://download.tuxfamily.org/makehuman/nightly/makehuman-community-1.2.0-alpha2-win32.zip download the windows build here].
For linux, [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community there is a new PPA].
== Providing feedback and bug reports ==
As always with an alpha release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums. But more formal bug trackers are here:
* For MakeHuman as such: [http://bugtracker.makehumancommunity.org/ http://bugtracker.makehumancommunity.org/]
* For the asset downloader: [https://github.com/makehumancommunity/community-plugins-assetdownload/issues https://github.com/makehumancommunity/community-plugins-assetdownload/issues]
* For the makehuman side of the new blender integration: [https://github.com/makehumancommunity/community-plugins-socket/issues https://github.com/makehumancommunity/community-plugins-socket/issues]
* For the blender side of the new blender integration: [https://github.com/makehumancommunity/makehuman-plugin-for-blender/issues https://github.com/makehumancommunity/makehuman-plugin-for-blender/issues]
* For issues specific to MHX2: [https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange/issues?status=new&status=open https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange/issues]
a3e8e2ead39816c700c17ba3db34e51a004d1bc8
1562
1561
2019-03-03T17:58:31Z
Joepal
14
/* Changes since alpha 2 */
wikitext
text/x-wiki
MakeHuman Community 1.2.0 alpha3 has not yet been released.
'''It is important to understand that 1.2.0 alpha 3 is an alpha release. This means that things ''will'' behave strangely. Before downloading the build, you should at least read the "known issues" section in these notes.'''
These notes are under construction and may be incomplete. Further, the notes describe, as of now, an alpha version of a coming release. The final release might be different from what is described below.
== General ==
In most cases, there should be no problem running versions 1.1.1 and 1.2.0 on the same system. They will not interfere with each other's files. You can find download links for 1.2.0 at the bottom of this page.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
The following are the changes since version 1.1.1.
== Changes since alpha 2 ==
* CORE: A crash that prevented makehuman from starting (or not showing any 3d models) on some AMD cards has been fixed
* CORE: A crash that arose when a mesh could not be loaded (for any reason, such as the file not existing) has been worked around.
* CORE: The whole pipeline should now gracefully accept tri meshes (in for example clothes). Note that mixed tri/quad meshes are still not supported: they need to be either tri or quad.
* CORE: Further measures have been taken to force all IO to be utf-8 on all platforms.
* CORE: A crash in proxy loading when using symlinks for makehuman home has been fixed
* CORE: It is possible to prevent values on rescan of custom target folders.
* CORE: The rig loading tab now recurses on subfolders, allowing to better organize the data.
* MODELING: The random functionality have been improved by ensuring symmetry in more body parts.
* LANGUAGE: A spelling mistake ("symmmetry") has been corrected in most/all language files
* MASS PRODUCE: The "mass produce" plugin has been added. It allows randomizing large sets of characters automatically (see [https://www.youtube.com/watch?v=jRHnJX-TdT4 this youtube video])
* NEW BLENDER INTEGRATION: Now works with blender 2.80 ('''note that contrary to blender 2.79, the "makehuman" tab is on the "n" shelf rather than the "t" shelf''')
* NEW BLENDER INTEGRATION: Now correctly sets up material nodes for normal maps.
* NEW BLENDER INTEGRATION: The code was refactored to get a structure that is a bit less messy
* NEW BLENDER INTEGRATION: The management of transparency was slightly improved, particularly for eevee
* NEW BLENDER INTEGRATION: Reduced the time it takes to import bone weights for a rigged character, by some 60%
* NEW BLENDER INTEGRATION: It is now possible to define a viewport color in mhmat files {keys: viewPortColor, viewPortAlpha}, which will affect the object appearance in Blender's solid view mode (mhx2 integration is still missing).
* SOCKET / NEW BLENDER INTEGRATION: It is now possible to configure host and port, meaning blender and makehuman can reside on different computers
* SOCKET / NEW BLENDER INTEGRATION: the "Allow connections" checkbox will remember its state across makehuman restarts (meaning the socket server will autostart if it was running when you last closed MH)
== Changes since alpha 1 ==
Note that the graphics card issue has ''not'' been addressed yet. So if alpha 1 did not work for you, alpha 2 will not either.
The following are fixes made since the release of 1.2.0 alpha 1:
* LINUX: makehuman root is now ~/Documents/makehuman/v1py3 (or whatever your platform name for "Documents" is, it is fetched from the XDG configuration) rather than ~/makehuman/v1py3. This is the standard used on other platforms, but it will mean that you will have to manually move data you want to keep from the old location to the new.
* UI: Core MakeHuman assets now have a tag "MakeHumanTM", making it easier to only show bundled assets when many third-part assets have been downloaded
* MATERIALS: Core assets will now also look in user directories for extra materials
* ASSET DOWNLOADER: When downloading materials that belong to a core asset, these will now be placed so they show up as materials for said asset
* ASSET DOWNLOADER: It is now possible to filter materials to show only those belonging to a core asset
* ASSET DOWNLOADER: Drastically reduced the size of the initial download
* ASSET DOWNLOADER: Provide better visual feedback so it doesn't look as if the system hanged
* ASSET DOWNLOADER: Made downloading screenshots for assets optional
* PPA: Remove strong dependency on blender. We recommend against using Ubuntu's version of blender since it's broken in many ways.
* PPA: Specify minimum allowed versions of central dependencies.
== Highlights ==
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new Blender integration, with support for socket transfers, IK and Kinect
* Improved internationalization support for non-ASCII characters (backported)
* Plugins in user space
* Plugins activation at runtime
* Improved tag sorting capabilities (Hotkey: ALT-F), including sticky tag provisions
* Tags for models (with configurable tag count)
* Show Name Tags instead of file names in the file loader.
* Saving model as target
* Real weight estimation
* Configurable location for the home folder
* MHX2 is bundled in the default installation
* Save thumbnails directly from the internal render engine
* There is a new installer for windows
* There is a new PPA for ubuntu. This PPA also offers builds of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds)
== Known issues ==
* FBX skeleton will still misbehave
* There are still graphics card incompatibilities in the OpenGL code. '''On several graphics cards you may get no visible output whatsoever''', rendering the application unusable. If this happens, please report what operating system and what graphics card you are using so we can investigate it further.
* There is no build for OSX
* The user data folder is still makehuman/v1py3 rather than makehuman/v1, in order to guarrantee that the development version does not interfere with the stable version. This will probably be changed for the final release.
* The new blender importer will crash when used in a version of blender that is shipped with ubuntu 18.04. It works fine on ubuntu 18.04 if using a blender that is downloaded from blender's homepage though. Investigations are pending.
* The new blender importer requires blender 2.79. It will not work in earlier versions of blender and will not (yet) work in blender 2.80.
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
=== Running from source ===
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 or higher
* NumPy: 1.13.0 or higher
* PyOpenGL: Any modern version will work, including the one used for MakeHuman 1.1.x
=== Ubuntu ===
In order to fulfill the minimum dependency requirements listed above, you will need Ubuntu 18.04 or later. For earlier Ubuntu versions, you would have use backports of the dependencies, as they are not available in the default installation.
The PPA for this build is here: [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community ppa:makehuman-official/makehuman-community].
To enable it, run:
sudo add-apt-repository ppa:makehuman-official/makehuman-community
sudo apt-get update
sudo apt-get install makehuman-community
== The upgraded codebase ==
The main focus of this release has been to modernize the code. In the prior version, large parts were written more than eight years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The expected end of life for python 2.7 is in less than two years.
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
== Asset downloader ==
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
<br clear=all>
== New blender integration ==
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
[[File:12x-blender-ik.png|300px|thumb|right|Convert to IK rig]]
This release bundles a rich set of blender functionalitites, which can be added to blender in the form of an addon. Not all functionality will be listed here, but the following are
some highlights.
=== Import directly from MakeHuman ===
In blender it is now possible to fetch a toon directly from a running instance of MakeHuman, without having to first save the toon to a file. The importer will talk with the makehuman instance
and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses. The process is almost instantaneous (a toon with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== IK and amputations ===
The importer will use the skeleton set in MakeHuman to rig the resulting character in Blender. The rig can then be extended with the "IK rig" functionality: By clicking a button you can get extra
IK controls, and IK chains set up for arms, legs and fingers.
Rigs can also be amputated in case detailed bones are not required.
All rigs currently available to MakeHuman are supported.
=== Kinect ===
To be written
<br clear=all>
== A new windows installer ==
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
== Other bundled functionality ==
Apart from the above, some other functionality that previously had to be downloaded separately is now bundled:
=== MHX2 ===
MHX2 is now enabled per default in MakeHuman. The blender side of MHX2 is bundled as a zip file which can
be added to blender via the user preferences.
=== MHAPI ===
MHAPI (a library with convenience calls for making addons for MakeHuman) is now included and enabled per default.
== Where to download ==
As alpha 3 has not yet been released, these links are for alpha 2.
You can [http://download.tuxfamily.org/makehuman/nightly/makehuman-community-1.2.0-alpha2-win32.zip download the windows build here].
For linux, [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community there is a new PPA].
== Providing feedback and bug reports ==
As always with an alpha release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums. But more formal bug trackers are here:
* For MakeHuman as such: [http://bugtracker.makehumancommunity.org/ http://bugtracker.makehumancommunity.org/]
* For the asset downloader: [https://github.com/makehumancommunity/community-plugins-assetdownload/issues https://github.com/makehumancommunity/community-plugins-assetdownload/issues]
* For the makehuman side of the new blender integration: [https://github.com/makehumancommunity/community-plugins-socket/issues https://github.com/makehumancommunity/community-plugins-socket/issues]
* For the blender side of the new blender integration: [https://github.com/makehumancommunity/makehuman-plugin-for-blender/issues https://github.com/makehumancommunity/makehuman-plugin-for-blender/issues]
* For issues specific to MHX2: [https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange/issues?status=new&status=open https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange/issues]
1ae93af3bbfe614749c314e5392954db9818e118
1561
1560
2019-02-12T14:28:38Z
Aranuvir
17
/* Changes since alpha 2 */
wikitext
text/x-wiki
MakeHuman Community 1.2.0 alpha3 has not yet been released.
'''It is important to understand that 1.2.0 alpha 3 is an alpha release. This means that things ''will'' behave strangely. Before downloading the build, you should at least read the "known issues" section in these notes.'''
These notes are under construction and may be incomplete. Further, the notes describe, as of now, an alpha version of a coming release. The final release might be different from what is described below.
== General ==
In most cases, there should be no problem running versions 1.1.1 and 1.2.0 on the same system. They will not interfere with each other's files. You can find download links for 1.2.0 at the bottom of this page.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
The following are the changes since version 1.1.1.
== Changes since alpha 2 ==
* CORE: A crash that prevented makehuman from starting (or not showing any 3d models) on some AMD cards has been fixed
* CORE: A crash that arose when a mesh could not be loaded (for any reason, such as the file not existing) has been worked around.
* CORE: The whole pipeline should now gracefully accept tri meshes (in for example clothes). Note that mixed tri/quad meshes are still not supported: they need to be either tri or quad.
* CORE: Further measures have been taken to force all IO to be utf-8 on all platforms.
* CORE: A crash in proxy loading when using symlinks for makehuman home has been fixed
* CORE: It is possible to prevent values on rescan of custom target folders.
* CORE: The rig loading tab now recurses on subfolders, allowing to better organize the data.
* MODELING: The random functionality have been improved by ensuring symmetry in more body parts.
* LANGUAGE: A spelling mistake ("symmmetry") has been corrected in most/all language files
* NEW BLENDER INTEGRATION: Now works with blender 2.80 ('''note that contrary to blender 2.79, the "makehuman" tab is on the "n" shelf rather than the "t" shelf''')
* NEW BLENDER INTEGRATION: Now correctly sets up material nodes for normal maps.
* NEW BLENDER INTEGRATION: The code was refactored to get a structure that is a bit less messy
* NEW BLENDER INTEGRATION: The management of transparency was slightly improved, particularly for eevee
* NEW BLENDER INTEGRATION: Reduced the time it takes to import bone weights for a rigged character, by some 60%
* New BLENDER INTEGRATION: It is now possible to define a viewport color in mhmat files {keys: viewPortColor, viewPortAlpha}, which will affect the object appearance in Blender's solid view mode (mhx2 integration is still missing).
* SOCKET / NEW BLENDER INTEGRATION: It is now possible to configure host and port, meaning blender and makehuman can reside on different computers
* SOCKET / NEW BLENDER INTEGRATION: the "Allow connections" checkbox will remember its state across makehuman restarts (meaning the socket server will autostart if it was running when you last closed MH)
== Changes since alpha 1 ==
Note that the graphics card issue has ''not'' been addressed yet. So if alpha 1 did not work for you, alpha 2 will not either.
The following are fixes made since the release of 1.2.0 alpha 1:
* LINUX: makehuman root is now ~/Documents/makehuman/v1py3 (or whatever your platform name for "Documents" is, it is fetched from the XDG configuration) rather than ~/makehuman/v1py3. This is the standard used on other platforms, but it will mean that you will have to manually move data you want to keep from the old location to the new.
* UI: Core MakeHuman assets now have a tag "MakeHumanTM", making it easier to only show bundled assets when many third-part assets have been downloaded
* MATERIALS: Core assets will now also look in user directories for extra materials
* ASSET DOWNLOADER: When downloading materials that belong to a core asset, these will now be placed so they show up as materials for said asset
* ASSET DOWNLOADER: It is now possible to filter materials to show only those belonging to a core asset
* ASSET DOWNLOADER: Drastically reduced the size of the initial download
* ASSET DOWNLOADER: Provide better visual feedback so it doesn't look as if the system hanged
* ASSET DOWNLOADER: Made downloading screenshots for assets optional
* PPA: Remove strong dependency on blender. We recommend against using Ubuntu's version of blender since it's broken in many ways.
* PPA: Specify minimum allowed versions of central dependencies.
== Highlights ==
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new Blender integration, with support for socket transfers, IK and Kinect
* Improved internationalization support for non-ASCII characters (backported)
* Plugins in user space
* Plugins activation at runtime
* Improved tag sorting capabilities (Hotkey: ALT-F), including sticky tag provisions
* Tags for models (with configurable tag count)
* Show Name Tags instead of file names in the file loader.
* Saving model as target
* Real weight estimation
* Configurable location for the home folder
* MHX2 is bundled in the default installation
* Save thumbnails directly from the internal render engine
* There is a new installer for windows
* There is a new PPA for ubuntu. This PPA also offers builds of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds)
== Known issues ==
* FBX skeleton will still misbehave
* There are still graphics card incompatibilities in the OpenGL code. '''On several graphics cards you may get no visible output whatsoever''', rendering the application unusable. If this happens, please report what operating system and what graphics card you are using so we can investigate it further.
* There is no build for OSX
* The user data folder is still makehuman/v1py3 rather than makehuman/v1, in order to guarrantee that the development version does not interfere with the stable version. This will probably be changed for the final release.
* The new blender importer will crash when used in a version of blender that is shipped with ubuntu 18.04. It works fine on ubuntu 18.04 if using a blender that is downloaded from blender's homepage though. Investigations are pending.
* The new blender importer requires blender 2.79. It will not work in earlier versions of blender and will not (yet) work in blender 2.80.
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
=== Running from source ===
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 or higher
* NumPy: 1.13.0 or higher
* PyOpenGL: Any modern version will work, including the one used for MakeHuman 1.1.x
=== Ubuntu ===
In order to fulfill the minimum dependency requirements listed above, you will need Ubuntu 18.04 or later. For earlier Ubuntu versions, you would have use backports of the dependencies, as they are not available in the default installation.
The PPA for this build is here: [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community ppa:makehuman-official/makehuman-community].
To enable it, run:
sudo add-apt-repository ppa:makehuman-official/makehuman-community
sudo apt-get update
sudo apt-get install makehuman-community
== The upgraded codebase ==
The main focus of this release has been to modernize the code. In the prior version, large parts were written more than eight years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The expected end of life for python 2.7 is in less than two years.
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
== Asset downloader ==
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
<br clear=all>
== New blender integration ==
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
[[File:12x-blender-ik.png|300px|thumb|right|Convert to IK rig]]
This release bundles a rich set of blender functionalitites, which can be added to blender in the form of an addon. Not all functionality will be listed here, but the following are
some highlights.
=== Import directly from MakeHuman ===
In blender it is now possible to fetch a toon directly from a running instance of MakeHuman, without having to first save the toon to a file. The importer will talk with the makehuman instance
and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses. The process is almost instantaneous (a toon with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== IK and amputations ===
The importer will use the skeleton set in MakeHuman to rig the resulting character in Blender. The rig can then be extended with the "IK rig" functionality: By clicking a button you can get extra
IK controls, and IK chains set up for arms, legs and fingers.
Rigs can also be amputated in case detailed bones are not required.
All rigs currently available to MakeHuman are supported.
=== Kinect ===
To be written
<br clear=all>
== A new windows installer ==
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
== Other bundled functionality ==
Apart from the above, some other functionality that previously had to be downloaded separately is now bundled:
=== MHX2 ===
MHX2 is now enabled per default in MakeHuman. The blender side of MHX2 is bundled as a zip file which can
be added to blender via the user preferences.
=== MHAPI ===
MHAPI (a library with convenience calls for making addons for MakeHuman) is now included and enabled per default.
== Where to download ==
As alpha 3 has not yet been released, these links are for alpha 2.
You can [http://download.tuxfamily.org/makehuman/nightly/makehuman-community-1.2.0-alpha2-win32.zip download the windows build here].
For linux, [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community there is a new PPA].
== Providing feedback and bug reports ==
As always with an alpha release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums. But more formal bug trackers are here:
* For MakeHuman as such: [http://bugtracker.makehumancommunity.org/ http://bugtracker.makehumancommunity.org/]
* For the asset downloader: [https://github.com/makehumancommunity/community-plugins-assetdownload/issues https://github.com/makehumancommunity/community-plugins-assetdownload/issues]
* For the makehuman side of the new blender integration: [https://github.com/makehumancommunity/community-plugins-socket/issues https://github.com/makehumancommunity/community-plugins-socket/issues]
* For the blender side of the new blender integration: [https://github.com/makehumancommunity/makehuman-plugin-for-blender/issues https://github.com/makehumancommunity/makehuman-plugin-for-blender/issues]
* For issues specific to MHX2: [https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange/issues?status=new&status=open https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange/issues]
592c9fd62c4f1fcbbbd7d0206a555b6c5a59e2a6
1560
1559
2019-02-12T14:28:05Z
Aranuvir
17
/* Changes since alpha 2 */
wikitext
text/x-wiki
MakeHuman Community 1.2.0 alpha3 has not yet been released.
'''It is important to understand that 1.2.0 alpha 3 is an alpha release. This means that things ''will'' behave strangely. Before downloading the build, you should at least read the "known issues" section in these notes.'''
These notes are under construction and may be incomplete. Further, the notes describe, as of now, an alpha version of a coming release. The final release might be different from what is described below.
== General ==
In most cases, there should be no problem running versions 1.1.1 and 1.2.0 on the same system. They will not interfere with each other's files. You can find download links for 1.2.0 at the bottom of this page.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
The following are the changes since version 1.1.1.
== Changes since alpha 2 ==
* CORE: A crash that prevented makehuman from starting (or not showing any 3d models) on some AMD cards has been fixed
* CORE: A crash that arose when a mesh could not be loaded (for any reason, such as the file not existing) has been worked around.
* CORE: The whole pipeline should now gracefully accept tri meshes (in for example clothes). Note that mixed tri/quad meshes are still not supported: they need to be either tri or quad.
* CORE: Further measures have been taken to force all IO to be utf-8 on all platforms.
* CORE: A crash in proxy loading when using symlinks for makehuman home has been fixed
* CORE: It is possible to prevent values on rescan of custom target folders.
* CORE: The rig loading tab, now recurses on subfolders, allowing to better organize the data.
* MODELING: The random functionality have been improved by ensuring symmetry in more body parts.
* LANGUAGE: A spelling mistake ("symmmetry") has been corrected in most/all language files
* NEW BLENDER INTEGRATION: Now works with blender 2.80 ('''note that contrary to blender 2.79, the "makehuman" tab is on the "n" shelf rather than the "t" shelf''')
* NEW BLENDER INTEGRATION: Now correctly sets up material nodes for normal maps.
* NEW BLENDER INTEGRATION: The code was refactored to get a structure that is a bit less messy
* NEW BLENDER INTEGRATION: The management of transparency was slightly improved, particularly for eevee
* NEW BLENDER INTEGRATION: Reduced the time it takes to import bone weights for a rigged character, by some 60%
* New BLENDER INTEGRATION: It is now possible to define a viewport color in mhmat files {keys: viewPortColor, viewPortAlpha}, which will affect the object appearance in Blender's solid view mode (mhx2 integration is still missing).
* SOCKET / NEW BLENDER INTEGRATION: It is now possible to configure host and port, meaning blender and makehuman can reside on different computers
* SOCKET / NEW BLENDER INTEGRATION: the "Allow connections" checkbox will remember its state across makehuman restarts (meaning the socket server will autostart if it was running when you last closed MH)
== Changes since alpha 1 ==
Note that the graphics card issue has ''not'' been addressed yet. So if alpha 1 did not work for you, alpha 2 will not either.
The following are fixes made since the release of 1.2.0 alpha 1:
* LINUX: makehuman root is now ~/Documents/makehuman/v1py3 (or whatever your platform name for "Documents" is, it is fetched from the XDG configuration) rather than ~/makehuman/v1py3. This is the standard used on other platforms, but it will mean that you will have to manually move data you want to keep from the old location to the new.
* UI: Core MakeHuman assets now have a tag "MakeHumanTM", making it easier to only show bundled assets when many third-part assets have been downloaded
* MATERIALS: Core assets will now also look in user directories for extra materials
* ASSET DOWNLOADER: When downloading materials that belong to a core asset, these will now be placed so they show up as materials for said asset
* ASSET DOWNLOADER: It is now possible to filter materials to show only those belonging to a core asset
* ASSET DOWNLOADER: Drastically reduced the size of the initial download
* ASSET DOWNLOADER: Provide better visual feedback so it doesn't look as if the system hanged
* ASSET DOWNLOADER: Made downloading screenshots for assets optional
* PPA: Remove strong dependency on blender. We recommend against using Ubuntu's version of blender since it's broken in many ways.
* PPA: Specify minimum allowed versions of central dependencies.
== Highlights ==
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new Blender integration, with support for socket transfers, IK and Kinect
* Improved internationalization support for non-ASCII characters (backported)
* Plugins in user space
* Plugins activation at runtime
* Improved tag sorting capabilities (Hotkey: ALT-F), including sticky tag provisions
* Tags for models (with configurable tag count)
* Show Name Tags instead of file names in the file loader.
* Saving model as target
* Real weight estimation
* Configurable location for the home folder
* MHX2 is bundled in the default installation
* Save thumbnails directly from the internal render engine
* There is a new installer for windows
* There is a new PPA for ubuntu. This PPA also offers builds of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds)
== Known issues ==
* FBX skeleton will still misbehave
* There are still graphics card incompatibilities in the OpenGL code. '''On several graphics cards you may get no visible output whatsoever''', rendering the application unusable. If this happens, please report what operating system and what graphics card you are using so we can investigate it further.
* There is no build for OSX
* The user data folder is still makehuman/v1py3 rather than makehuman/v1, in order to guarrantee that the development version does not interfere with the stable version. This will probably be changed for the final release.
* The new blender importer will crash when used in a version of blender that is shipped with ubuntu 18.04. It works fine on ubuntu 18.04 if using a blender that is downloaded from blender's homepage though. Investigations are pending.
* The new blender importer requires blender 2.79. It will not work in earlier versions of blender and will not (yet) work in blender 2.80.
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
=== Running from source ===
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 or higher
* NumPy: 1.13.0 or higher
* PyOpenGL: Any modern version will work, including the one used for MakeHuman 1.1.x
=== Ubuntu ===
In order to fulfill the minimum dependency requirements listed above, you will need Ubuntu 18.04 or later. For earlier Ubuntu versions, you would have use backports of the dependencies, as they are not available in the default installation.
The PPA for this build is here: [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community ppa:makehuman-official/makehuman-community].
To enable it, run:
sudo add-apt-repository ppa:makehuman-official/makehuman-community
sudo apt-get update
sudo apt-get install makehuman-community
== The upgraded codebase ==
The main focus of this release has been to modernize the code. In the prior version, large parts were written more than eight years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The expected end of life for python 2.7 is in less than two years.
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
== Asset downloader ==
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
<br clear=all>
== New blender integration ==
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
[[File:12x-blender-ik.png|300px|thumb|right|Convert to IK rig]]
This release bundles a rich set of blender functionalitites, which can be added to blender in the form of an addon. Not all functionality will be listed here, but the following are
some highlights.
=== Import directly from MakeHuman ===
In blender it is now possible to fetch a toon directly from a running instance of MakeHuman, without having to first save the toon to a file. The importer will talk with the makehuman instance
and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses. The process is almost instantaneous (a toon with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== IK and amputations ===
The importer will use the skeleton set in MakeHuman to rig the resulting character in Blender. The rig can then be extended with the "IK rig" functionality: By clicking a button you can get extra
IK controls, and IK chains set up for arms, legs and fingers.
Rigs can also be amputated in case detailed bones are not required.
All rigs currently available to MakeHuman are supported.
=== Kinect ===
To be written
<br clear=all>
== A new windows installer ==
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
== Other bundled functionality ==
Apart from the above, some other functionality that previously had to be downloaded separately is now bundled:
=== MHX2 ===
MHX2 is now enabled per default in MakeHuman. The blender side of MHX2 is bundled as a zip file which can
be added to blender via the user preferences.
=== MHAPI ===
MHAPI (a library with convenience calls for making addons for MakeHuman) is now included and enabled per default.
== Where to download ==
As alpha 3 has not yet been released, these links are for alpha 2.
You can [http://download.tuxfamily.org/makehuman/nightly/makehuman-community-1.2.0-alpha2-win32.zip download the windows build here].
For linux, [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community there is a new PPA].
== Providing feedback and bug reports ==
As always with an alpha release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums. But more formal bug trackers are here:
* For MakeHuman as such: [http://bugtracker.makehumancommunity.org/ http://bugtracker.makehumancommunity.org/]
* For the asset downloader: [https://github.com/makehumancommunity/community-plugins-assetdownload/issues https://github.com/makehumancommunity/community-plugins-assetdownload/issues]
* For the makehuman side of the new blender integration: [https://github.com/makehumancommunity/community-plugins-socket/issues https://github.com/makehumancommunity/community-plugins-socket/issues]
* For the blender side of the new blender integration: [https://github.com/makehumancommunity/makehuman-plugin-for-blender/issues https://github.com/makehumancommunity/makehuman-plugin-for-blender/issues]
* For issues specific to MHX2: [https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange/issues?status=new&status=open https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange/issues]
c3f38addc15bd2ee46e9ef214635aab863070241
1559
1558
2019-02-12T14:17:58Z
Aranuvir
17
/* Changes since alpha 2 */
wikitext
text/x-wiki
MakeHuman Community 1.2.0 alpha3 has not yet been released.
'''It is important to understand that 1.2.0 alpha 3 is an alpha release. This means that things ''will'' behave strangely. Before downloading the build, you should at least read the "known issues" section in these notes.'''
These notes are under construction and may be incomplete. Further, the notes describe, as of now, an alpha version of a coming release. The final release might be different from what is described below.
== General ==
In most cases, there should be no problem running versions 1.1.1 and 1.2.0 on the same system. They will not interfere with each other's files. You can find download links for 1.2.0 at the bottom of this page.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
The following are the changes since version 1.1.1.
== Changes since alpha 2 ==
* CORE: A crash that prevented makehuman from starting (or not showing any 3d models) on some AMD cards has been fixed
* CORE: A crash that arose when a mesh could not be loaded (for any reason, such as the file not existing) has been worked around.
* CORE: The whole pipeline should now gracefully accept tri meshes (in for example clothes). Note that mixed tri/quad meshes are still not supported: they need to be either tri or quad.
* CORE: Further measures have been taken to force all IO to be utf-8 on all platforms.
* CORE: A crash in proxy loading when using symlinks for makehuman home has been fixed
* MODELING: The random functionality have been improved by ensuring symmetry in more body parts.
* LANGUAGE: A spelling mistake ("symmmetry") has been corrected in most/all language files
* NEW BLENDER INTEGRATION: Now works with blender 2.80 ('''note that contrary to blender 2.79, the "makehuman" tab is on the "n" shelf rather than the "t" shelf''')
* NEW BLENDER INTEGRATION: Now correctly sets up material nodes for normal maps.
* NEW BLENDER INTEGRATION: The code was refactored to get a structure that is a bit less messy
* NEW BLENDER INTEGRATION: The management of transparency was slightly improved, particularly for eevee
* NEW BLENDER INTEGRATION: Reduced the time it takes to import bone weights for a rigged character, by some 60%
* New BLENDER INTEGRATION: It is now possible to define a viewport color in mhmat files {keys: viewPortColor, viewPortAlpha}, which will affect the object appearance in Blender's solid view mode (mhx2 integration is still missing).
* SOCKET / NEW BLENDER INTEGRATION: It is now possible to configure host and port, meaning blender and makehuman can reside on different computers
* SOCKET / NEW BLENDER INTEGRATION: the "Allow connections" checkbox will remember its state across makehuman restarts (meaning the socket server will autostart if it was running when you last closed MH)
== Changes since alpha 1 ==
Note that the graphics card issue has ''not'' been addressed yet. So if alpha 1 did not work for you, alpha 2 will not either.
The following are fixes made since the release of 1.2.0 alpha 1:
* LINUX: makehuman root is now ~/Documents/makehuman/v1py3 (or whatever your platform name for "Documents" is, it is fetched from the XDG configuration) rather than ~/makehuman/v1py3. This is the standard used on other platforms, but it will mean that you will have to manually move data you want to keep from the old location to the new.
* UI: Core MakeHuman assets now have a tag "MakeHumanTM", making it easier to only show bundled assets when many third-part assets have been downloaded
* MATERIALS: Core assets will now also look in user directories for extra materials
* ASSET DOWNLOADER: When downloading materials that belong to a core asset, these will now be placed so they show up as materials for said asset
* ASSET DOWNLOADER: It is now possible to filter materials to show only those belonging to a core asset
* ASSET DOWNLOADER: Drastically reduced the size of the initial download
* ASSET DOWNLOADER: Provide better visual feedback so it doesn't look as if the system hanged
* ASSET DOWNLOADER: Made downloading screenshots for assets optional
* PPA: Remove strong dependency on blender. We recommend against using Ubuntu's version of blender since it's broken in many ways.
* PPA: Specify minimum allowed versions of central dependencies.
== Highlights ==
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new Blender integration, with support for socket transfers, IK and Kinect
* Improved internationalization support for non-ASCII characters (backported)
* Plugins in user space
* Plugins activation at runtime
* Improved tag sorting capabilities (Hotkey: ALT-F), including sticky tag provisions
* Tags for models (with configurable tag count)
* Show Name Tags instead of file names in the file loader.
* Saving model as target
* Real weight estimation
* Configurable location for the home folder
* MHX2 is bundled in the default installation
* Save thumbnails directly from the internal render engine
* There is a new installer for windows
* There is a new PPA for ubuntu. This PPA also offers builds of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds)
== Known issues ==
* FBX skeleton will still misbehave
* There are still graphics card incompatibilities in the OpenGL code. '''On several graphics cards you may get no visible output whatsoever''', rendering the application unusable. If this happens, please report what operating system and what graphics card you are using so we can investigate it further.
* There is no build for OSX
* The user data folder is still makehuman/v1py3 rather than makehuman/v1, in order to guarrantee that the development version does not interfere with the stable version. This will probably be changed for the final release.
* The new blender importer will crash when used in a version of blender that is shipped with ubuntu 18.04. It works fine on ubuntu 18.04 if using a blender that is downloaded from blender's homepage though. Investigations are pending.
* The new blender importer requires blender 2.79. It will not work in earlier versions of blender and will not (yet) work in blender 2.80.
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
=== Running from source ===
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 or higher
* NumPy: 1.13.0 or higher
* PyOpenGL: Any modern version will work, including the one used for MakeHuman 1.1.x
=== Ubuntu ===
In order to fulfill the minimum dependency requirements listed above, you will need Ubuntu 18.04 or later. For earlier Ubuntu versions, you would have use backports of the dependencies, as they are not available in the default installation.
The PPA for this build is here: [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community ppa:makehuman-official/makehuman-community].
To enable it, run:
sudo add-apt-repository ppa:makehuman-official/makehuman-community
sudo apt-get update
sudo apt-get install makehuman-community
== The upgraded codebase ==
The main focus of this release has been to modernize the code. In the prior version, large parts were written more than eight years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The expected end of life for python 2.7 is in less than two years.
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
== Asset downloader ==
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
<br clear=all>
== New blender integration ==
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
[[File:12x-blender-ik.png|300px|thumb|right|Convert to IK rig]]
This release bundles a rich set of blender functionalitites, which can be added to blender in the form of an addon. Not all functionality will be listed here, but the following are
some highlights.
=== Import directly from MakeHuman ===
In blender it is now possible to fetch a toon directly from a running instance of MakeHuman, without having to first save the toon to a file. The importer will talk with the makehuman instance
and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses. The process is almost instantaneous (a toon with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== IK and amputations ===
The importer will use the skeleton set in MakeHuman to rig the resulting character in Blender. The rig can then be extended with the "IK rig" functionality: By clicking a button you can get extra
IK controls, and IK chains set up for arms, legs and fingers.
Rigs can also be amputated in case detailed bones are not required.
All rigs currently available to MakeHuman are supported.
=== Kinect ===
To be written
<br clear=all>
== A new windows installer ==
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
== Other bundled functionality ==
Apart from the above, some other functionality that previously had to be downloaded separately is now bundled:
=== MHX2 ===
MHX2 is now enabled per default in MakeHuman. The blender side of MHX2 is bundled as a zip file which can
be added to blender via the user preferences.
=== MHAPI ===
MHAPI (a library with convenience calls for making addons for MakeHuman) is now included and enabled per default.
== Where to download ==
As alpha 3 has not yet been released, these links are for alpha 2.
You can [http://download.tuxfamily.org/makehuman/nightly/makehuman-community-1.2.0-alpha2-win32.zip download the windows build here].
For linux, [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community there is a new PPA].
== Providing feedback and bug reports ==
As always with an alpha release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums. But more formal bug trackers are here:
* For MakeHuman as such: [http://bugtracker.makehumancommunity.org/ http://bugtracker.makehumancommunity.org/]
* For the asset downloader: [https://github.com/makehumancommunity/community-plugins-assetdownload/issues https://github.com/makehumancommunity/community-plugins-assetdownload/issues]
* For the makehuman side of the new blender integration: [https://github.com/makehumancommunity/community-plugins-socket/issues https://github.com/makehumancommunity/community-plugins-socket/issues]
* For the blender side of the new blender integration: [https://github.com/makehumancommunity/makehuman-plugin-for-blender/issues https://github.com/makehumancommunity/makehuman-plugin-for-blender/issues]
* For issues specific to MHX2: [https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange/issues?status=new&status=open https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange/issues]
6781e1fce1be50f739362229f7f9b63a4ce01dfc
1558
1557
2019-02-12T14:07:01Z
Aranuvir
17
/* Highlights */
wikitext
text/x-wiki
MakeHuman Community 1.2.0 alpha3 has not yet been released.
'''It is important to understand that 1.2.0 alpha 3 is an alpha release. This means that things ''will'' behave strangely. Before downloading the build, you should at least read the "known issues" section in these notes.'''
These notes are under construction and may be incomplete. Further, the notes describe, as of now, an alpha version of a coming release. The final release might be different from what is described below.
== General ==
In most cases, there should be no problem running versions 1.1.1 and 1.2.0 on the same system. They will not interfere with each other's files. You can find download links for 1.2.0 at the bottom of this page.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
The following are the changes since version 1.1.1.
== Changes since alpha 2 ==
* CORE: A crash that prevented makehuman from starting (or not showing any 3d models) on some AMD cards has been fixed
* CORE: A crash that arose when a mesh could not be loaded (for any reason, such as the file not existing) has been worked around.
* CORE: The whole pipeline should now gracefully accept tri meshes (in for example clothes). Note that mixed tri/quad meshes are still not supported: they need to be either tri or quad.
* CORE: Further measures have been taken to force all IO to be utf-8 on all platforms.
* CORE: A crash in proxy loading when using symlinks for makehuman home has been fixed
* MODELING: The random functionality have been improved by ensuring symmetry in more body parts.
* LANGUAGE: A spelling mistake ("symmmetry") has been corrected in most/all language files
* NEW BLENDER INTEGRATION: Now works with blender 2.80 ('''note that contrary to blender 2.79, the "makehuman" tab is on the "n" shelf rather than the "t" shelf''')
* NEW BLENDER INTEGRATION: Now correctly sets up material nodes for normal maps.
* NEW BLENDER INTEGRATION: The code was refactored to get a structure that is a bit less messy
* NEW BLENDER INTEGRATION: The management of transparency was slightly improved, particularly for eevee
* NEW BLENDER INTEGRATION: Reduced the time it takes to import bone weights for a rigged character, by some 60%
* SOCKET / NEW BLENDER INTEGRATION: It is now possible to configure host and port, meaning blender and makehuman can reside on different computers
* SOCKET / NEW BLENDER INTEGRATION: the "Allow connections" checkbox will remember its state across makehuman restarts (meaning the socket server will autostart if it was running when you last closed MH)
== Changes since alpha 1 ==
Note that the graphics card issue has ''not'' been addressed yet. So if alpha 1 did not work for you, alpha 2 will not either.
The following are fixes made since the release of 1.2.0 alpha 1:
* LINUX: makehuman root is now ~/Documents/makehuman/v1py3 (or whatever your platform name for "Documents" is, it is fetched from the XDG configuration) rather than ~/makehuman/v1py3. This is the standard used on other platforms, but it will mean that you will have to manually move data you want to keep from the old location to the new.
* UI: Core MakeHuman assets now have a tag "MakeHumanTM", making it easier to only show bundled assets when many third-part assets have been downloaded
* MATERIALS: Core assets will now also look in user directories for extra materials
* ASSET DOWNLOADER: When downloading materials that belong to a core asset, these will now be placed so they show up as materials for said asset
* ASSET DOWNLOADER: It is now possible to filter materials to show only those belonging to a core asset
* ASSET DOWNLOADER: Drastically reduced the size of the initial download
* ASSET DOWNLOADER: Provide better visual feedback so it doesn't look as if the system hanged
* ASSET DOWNLOADER: Made downloading screenshots for assets optional
* PPA: Remove strong dependency on blender. We recommend against using Ubuntu's version of blender since it's broken in many ways.
* PPA: Specify minimum allowed versions of central dependencies.
== Highlights ==
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new Blender integration, with support for socket transfers, IK and Kinect
* Improved internationalization support for non-ASCII characters (backported)
* Plugins in user space
* Plugins activation at runtime
* Improved tag sorting capabilities (Hotkey: ALT-F), including sticky tag provisions
* Tags for models (with configurable tag count)
* Show Name Tags instead of file names in the file loader.
* Saving model as target
* Real weight estimation
* Configurable location for the home folder
* MHX2 is bundled in the default installation
* Save thumbnails directly from the internal render engine
* There is a new installer for windows
* There is a new PPA for ubuntu. This PPA also offers builds of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds)
== Known issues ==
* FBX skeleton will still misbehave
* There are still graphics card incompatibilities in the OpenGL code. '''On several graphics cards you may get no visible output whatsoever''', rendering the application unusable. If this happens, please report what operating system and what graphics card you are using so we can investigate it further.
* There is no build for OSX
* The user data folder is still makehuman/v1py3 rather than makehuman/v1, in order to guarrantee that the development version does not interfere with the stable version. This will probably be changed for the final release.
* The new blender importer will crash when used in a version of blender that is shipped with ubuntu 18.04. It works fine on ubuntu 18.04 if using a blender that is downloaded from blender's homepage though. Investigations are pending.
* The new blender importer requires blender 2.79. It will not work in earlier versions of blender and will not (yet) work in blender 2.80.
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
=== Running from source ===
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 or higher
* NumPy: 1.13.0 or higher
* PyOpenGL: Any modern version will work, including the one used for MakeHuman 1.1.x
=== Ubuntu ===
In order to fulfill the minimum dependency requirements listed above, you will need Ubuntu 18.04 or later. For earlier Ubuntu versions, you would have use backports of the dependencies, as they are not available in the default installation.
The PPA for this build is here: [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community ppa:makehuman-official/makehuman-community].
To enable it, run:
sudo add-apt-repository ppa:makehuman-official/makehuman-community
sudo apt-get update
sudo apt-get install makehuman-community
== The upgraded codebase ==
The main focus of this release has been to modernize the code. In the prior version, large parts were written more than eight years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The expected end of life for python 2.7 is in less than two years.
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
== Asset downloader ==
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
<br clear=all>
== New blender integration ==
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
[[File:12x-blender-ik.png|300px|thumb|right|Convert to IK rig]]
This release bundles a rich set of blender functionalitites, which can be added to blender in the form of an addon. Not all functionality will be listed here, but the following are
some highlights.
=== Import directly from MakeHuman ===
In blender it is now possible to fetch a toon directly from a running instance of MakeHuman, without having to first save the toon to a file. The importer will talk with the makehuman instance
and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses. The process is almost instantaneous (a toon with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== IK and amputations ===
The importer will use the skeleton set in MakeHuman to rig the resulting character in Blender. The rig can then be extended with the "IK rig" functionality: By clicking a button you can get extra
IK controls, and IK chains set up for arms, legs and fingers.
Rigs can also be amputated in case detailed bones are not required.
All rigs currently available to MakeHuman are supported.
=== Kinect ===
To be written
<br clear=all>
== A new windows installer ==
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
== Other bundled functionality ==
Apart from the above, some other functionality that previously had to be downloaded separately is now bundled:
=== MHX2 ===
MHX2 is now enabled per default in MakeHuman. The blender side of MHX2 is bundled as a zip file which can
be added to blender via the user preferences.
=== MHAPI ===
MHAPI (a library with convenience calls for making addons for MakeHuman) is now included and enabled per default.
== Where to download ==
As alpha 3 has not yet been released, these links are for alpha 2.
You can [http://download.tuxfamily.org/makehuman/nightly/makehuman-community-1.2.0-alpha2-win32.zip download the windows build here].
For linux, [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community there is a new PPA].
== Providing feedback and bug reports ==
As always with an alpha release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums. But more formal bug trackers are here:
* For MakeHuman as such: [http://bugtracker.makehumancommunity.org/ http://bugtracker.makehumancommunity.org/]
* For the asset downloader: [https://github.com/makehumancommunity/community-plugins-assetdownload/issues https://github.com/makehumancommunity/community-plugins-assetdownload/issues]
* For the makehuman side of the new blender integration: [https://github.com/makehumancommunity/community-plugins-socket/issues https://github.com/makehumancommunity/community-plugins-socket/issues]
* For the blender side of the new blender integration: [https://github.com/makehumancommunity/makehuman-plugin-for-blender/issues https://github.com/makehumancommunity/makehuman-plugin-for-blender/issues]
* For issues specific to MHX2: [https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange/issues?status=new&status=open https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange/issues]
43f316059c3d55f340f90df959494c4716c49793
1557
1556
2019-01-23T18:01:05Z
Joepal
14
/* Changes since alpha 2 */
wikitext
text/x-wiki
MakeHuman Community 1.2.0 alpha3 has not yet been released.
'''It is important to understand that 1.2.0 alpha 3 is an alpha release. This means that things ''will'' behave strangely. Before downloading the build, you should at least read the "known issues" section in these notes.'''
These notes are under construction and may be incomplete. Further, the notes describe, as of now, an alpha version of a coming release. The final release might be different from what is described below.
== General ==
In most cases, there should be no problem running versions 1.1.1 and 1.2.0 on the same system. They will not interfere with each other's files. You can find download links for 1.2.0 at the bottom of this page.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
The following are the changes since version 1.1.1.
== Changes since alpha 2 ==
* CORE: A crash that prevented makehuman from starting (or not showing any 3d models) on some AMD cards has been fixed
* CORE: A crash that arose when a mesh could not be loaded (for any reason, such as the file not existing) has been worked around.
* CORE: The whole pipeline should now gracefully accept tri meshes (in for example clothes). Note that mixed tri/quad meshes are still not supported: they need to be either tri or quad.
* CORE: Further measures have been taken to force all IO to be utf-8 on all platforms.
* CORE: A crash in proxy loading when using symlinks for makehuman home has been fixed
* MODELING: The random functionality have been improved by ensuring symmetry in more body parts.
* LANGUAGE: A spelling mistake ("symmmetry") has been corrected in most/all language files
* NEW BLENDER INTEGRATION: Now works with blender 2.80 ('''note that contrary to blender 2.79, the "makehuman" tab is on the "n" shelf rather than the "t" shelf''')
* NEW BLENDER INTEGRATION: Now correctly sets up material nodes for normal maps.
* NEW BLENDER INTEGRATION: The code was refactored to get a structure that is a bit less messy
* NEW BLENDER INTEGRATION: The management of transparency was slightly improved, particularly for eevee
* NEW BLENDER INTEGRATION: Reduced the time it takes to import bone weights for a rigged character, by some 60%
* SOCKET / NEW BLENDER INTEGRATION: It is now possible to configure host and port, meaning blender and makehuman can reside on different computers
* SOCKET / NEW BLENDER INTEGRATION: the "Allow connections" checkbox will remember its state across makehuman restarts (meaning the socket server will autostart if it was running when you last closed MH)
== Changes since alpha 1 ==
Note that the graphics card issue has ''not'' been addressed yet. So if alpha 1 did not work for you, alpha 2 will not either.
The following are fixes made since the release of 1.2.0 alpha 1:
* LINUX: makehuman root is now ~/Documents/makehuman/v1py3 (or whatever your platform name for "Documents" is, it is fetched from the XDG configuration) rather than ~/makehuman/v1py3. This is the standard used on other platforms, but it will mean that you will have to manually move data you want to keep from the old location to the new.
* UI: Core MakeHuman assets now have a tag "MakeHumanTM", making it easier to only show bundled assets when many third-part assets have been downloaded
* MATERIALS: Core assets will now also look in user directories for extra materials
* ASSET DOWNLOADER: When downloading materials that belong to a core asset, these will now be placed so they show up as materials for said asset
* ASSET DOWNLOADER: It is now possible to filter materials to show only those belonging to a core asset
* ASSET DOWNLOADER: Drastically reduced the size of the initial download
* ASSET DOWNLOADER: Provide better visual feedback so it doesn't look as if the system hanged
* ASSET DOWNLOADER: Made downloading screenshots for assets optional
* PPA: Remove strong dependency on blender. We recommend against using Ubuntu's version of blender since it's broken in many ways.
* PPA: Specify minimum allowed versions of central dependencies.
== Highlights ==
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new Blender integration, with support for socket transfers, IK and Kinect
* Improved internationalization support for non-ASCII characters (backported)
* Plugins in user space
* Plugins activation at runtime
* Improved tag sorting capabilities, including sticky tag provisions
* Tags for models (with configurable tag count)
* Show Name Tags instead of file names in the file loader.
* Saving model as target
* Real weight estimation
* Configurable location for the home folder
* MHX2 is bundled in the default installation
* There is a new installer for windows
* There is a new PPA for ubuntu. This PPA also offers builds of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds)
== Known issues ==
* FBX skeleton will still misbehave
* There are still graphics card incompatibilities in the OpenGL code. '''On several graphics cards you may get no visible output whatsoever''', rendering the application unusable. If this happens, please report what operating system and what graphics card you are using so we can investigate it further.
* There is no build for OSX
* The user data folder is still makehuman/v1py3 rather than makehuman/v1, in order to guarrantee that the development version does not interfere with the stable version. This will probably be changed for the final release.
* The new blender importer will crash when used in a version of blender that is shipped with ubuntu 18.04. It works fine on ubuntu 18.04 if using a blender that is downloaded from blender's homepage though. Investigations are pending.
* The new blender importer requires blender 2.79. It will not work in earlier versions of blender and will not (yet) work in blender 2.80.
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
=== Running from source ===
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 or higher
* NumPy: 1.13.0 or higher
* PyOpenGL: Any modern version will work, including the one used for MakeHuman 1.1.x
=== Ubuntu ===
In order to fulfill the minimum dependency requirements listed above, you will need Ubuntu 18.04 or later. For earlier Ubuntu versions, you would have use backports of the dependencies, as they are not available in the default installation.
The PPA for this build is here: [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community ppa:makehuman-official/makehuman-community].
To enable it, run:
sudo add-apt-repository ppa:makehuman-official/makehuman-community
sudo apt-get update
sudo apt-get install makehuman-community
== The upgraded codebase ==
The main focus of this release has been to modernize the code. In the prior version, large parts were written more than eight years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The expected end of life for python 2.7 is in less than two years.
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
== Asset downloader ==
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
<br clear=all>
== New blender integration ==
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
[[File:12x-blender-ik.png|300px|thumb|right|Convert to IK rig]]
This release bundles a rich set of blender functionalitites, which can be added to blender in the form of an addon. Not all functionality will be listed here, but the following are
some highlights.
=== Import directly from MakeHuman ===
In blender it is now possible to fetch a toon directly from a running instance of MakeHuman, without having to first save the toon to a file. The importer will talk with the makehuman instance
and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses. The process is almost instantaneous (a toon with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== IK and amputations ===
The importer will use the skeleton set in MakeHuman to rig the resulting character in Blender. The rig can then be extended with the "IK rig" functionality: By clicking a button you can get extra
IK controls, and IK chains set up for arms, legs and fingers.
Rigs can also be amputated in case detailed bones are not required.
All rigs currently available to MakeHuman are supported.
=== Kinect ===
To be written
<br clear=all>
== A new windows installer ==
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
== Other bundled functionality ==
Apart from the above, some other functionality that previously had to be downloaded separately is now bundled:
=== MHX2 ===
MHX2 is now enabled per default in MakeHuman. The blender side of MHX2 is bundled as a zip file which can
be added to blender via the user preferences.
=== MHAPI ===
MHAPI (a library with convenience calls for making addons for MakeHuman) is now included and enabled per default.
== Where to download ==
As alpha 3 has not yet been released, these links are for alpha 2.
You can [http://download.tuxfamily.org/makehuman/nightly/makehuman-community-1.2.0-alpha2-win32.zip download the windows build here].
For linux, [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community there is a new PPA].
== Providing feedback and bug reports ==
As always with an alpha release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums. But more formal bug trackers are here:
* For MakeHuman as such: [http://bugtracker.makehumancommunity.org/ http://bugtracker.makehumancommunity.org/]
* For the asset downloader: [https://github.com/makehumancommunity/community-plugins-assetdownload/issues https://github.com/makehumancommunity/community-plugins-assetdownload/issues]
* For the makehuman side of the new blender integration: [https://github.com/makehumancommunity/community-plugins-socket/issues https://github.com/makehumancommunity/community-plugins-socket/issues]
* For the blender side of the new blender integration: [https://github.com/makehumancommunity/makehuman-plugin-for-blender/issues https://github.com/makehumancommunity/makehuman-plugin-for-blender/issues]
* For issues specific to MHX2: [https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange/issues?status=new&status=open https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange/issues]
6c8419d2a18dccf39aa48cf7b74d89917d70b49a
1556
1554
2019-01-23T17:59:03Z
Joepal
14
wikitext
text/x-wiki
MakeHuman Community 1.2.0 alpha3 has not yet been released.
'''It is important to understand that 1.2.0 alpha 3 is an alpha release. This means that things ''will'' behave strangely. Before downloading the build, you should at least read the "known issues" section in these notes.'''
These notes are under construction and may be incomplete. Further, the notes describe, as of now, an alpha version of a coming release. The final release might be different from what is described below.
== General ==
In most cases, there should be no problem running versions 1.1.1 and 1.2.0 on the same system. They will not interfere with each other's files. You can find download links for 1.2.0 at the bottom of this page.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
The following are the changes since version 1.1.1.
== Changes since alpha 2 ==
* CORE: A crash that arose when a mesh could not be loaded (for any reason, such as the file not existing) has been worked around.
* CORE: The whole pipeline should now gracefully accept tri meshes (in for example clothes). Note that mixed tri/quad meshes are still not supported: they need to be either tri or quad.
* CORE: Further measures have been taken to force all IO to be utf-8 on all platforms.
* CORE: A crash in proxy loading when using symlinks for makehuman home has been fixed
* MODELING: The random functionality have been improved by ensuring symmetry in more body parts.
* LANGUAGE: A spelling mistake ("symmmetry") has been corrected in most/all language files
* NEW BLENDER INTEGRATION: Now works with blender 2.80 ('''note that contrary to blender 2.79, the "makehuman" tab is on the "n" shelf rather than the "t" shelf''')
* NEW BLENDER INTEGRATION: Now correctly sets up material nodes for normal maps.
* NEW BLENDER INTEGRATION: The code was refactored to get a structure that is a bit less messy
* NEW BLENDER INTEGRATION: The management of transparency was slightly improved, particularly for eevee
* NEW BLENDER INTEGRATION: Reduced the time it takes to import bone weights for a rigged character, by some 60%
* SOCKET / NEW BLENDER INTEGRATION: It is now possible to configure host and port, meaning blender and makehuman can reside on different computers
* SOCKET / NEW BLENDER INTEGRATION: the "Allow connections" checkbox will remember its state across makehuman restarts (meaning the socket server will autostart if it was running when you last closed MH)
== Changes since alpha 1 ==
Note that the graphics card issue has ''not'' been addressed yet. So if alpha 1 did not work for you, alpha 2 will not either.
The following are fixes made since the release of 1.2.0 alpha 1:
* LINUX: makehuman root is now ~/Documents/makehuman/v1py3 (or whatever your platform name for "Documents" is, it is fetched from the XDG configuration) rather than ~/makehuman/v1py3. This is the standard used on other platforms, but it will mean that you will have to manually move data you want to keep from the old location to the new.
* UI: Core MakeHuman assets now have a tag "MakeHumanTM", making it easier to only show bundled assets when many third-part assets have been downloaded
* MATERIALS: Core assets will now also look in user directories for extra materials
* ASSET DOWNLOADER: When downloading materials that belong to a core asset, these will now be placed so they show up as materials for said asset
* ASSET DOWNLOADER: It is now possible to filter materials to show only those belonging to a core asset
* ASSET DOWNLOADER: Drastically reduced the size of the initial download
* ASSET DOWNLOADER: Provide better visual feedback so it doesn't look as if the system hanged
* ASSET DOWNLOADER: Made downloading screenshots for assets optional
* PPA: Remove strong dependency on blender. We recommend against using Ubuntu's version of blender since it's broken in many ways.
* PPA: Specify minimum allowed versions of central dependencies.
== Highlights ==
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new Blender integration, with support for socket transfers, IK and Kinect
* Improved internationalization support for non-ASCII characters (backported)
* Plugins in user space
* Plugins activation at runtime
* Improved tag sorting capabilities, including sticky tag provisions
* Tags for models (with configurable tag count)
* Show Name Tags instead of file names in the file loader.
* Saving model as target
* Real weight estimation
* Configurable location for the home folder
* MHX2 is bundled in the default installation
* There is a new installer for windows
* There is a new PPA for ubuntu. This PPA also offers builds of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds)
== Known issues ==
* FBX skeleton will still misbehave
* There are still graphics card incompatibilities in the OpenGL code. '''On several graphics cards you may get no visible output whatsoever''', rendering the application unusable. If this happens, please report what operating system and what graphics card you are using so we can investigate it further.
* There is no build for OSX
* The user data folder is still makehuman/v1py3 rather than makehuman/v1, in order to guarrantee that the development version does not interfere with the stable version. This will probably be changed for the final release.
* The new blender importer will crash when used in a version of blender that is shipped with ubuntu 18.04. It works fine on ubuntu 18.04 if using a blender that is downloaded from blender's homepage though. Investigations are pending.
* The new blender importer requires blender 2.79. It will not work in earlier versions of blender and will not (yet) work in blender 2.80.
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
=== Running from source ===
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 or higher
* NumPy: 1.13.0 or higher
* PyOpenGL: Any modern version will work, including the one used for MakeHuman 1.1.x
=== Ubuntu ===
In order to fulfill the minimum dependency requirements listed above, you will need Ubuntu 18.04 or later. For earlier Ubuntu versions, you would have use backports of the dependencies, as they are not available in the default installation.
The PPA for this build is here: [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community ppa:makehuman-official/makehuman-community].
To enable it, run:
sudo add-apt-repository ppa:makehuman-official/makehuman-community
sudo apt-get update
sudo apt-get install makehuman-community
== The upgraded codebase ==
The main focus of this release has been to modernize the code. In the prior version, large parts were written more than eight years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The expected end of life for python 2.7 is in less than two years.
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
== Asset downloader ==
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
<br clear=all>
== New blender integration ==
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
[[File:12x-blender-ik.png|300px|thumb|right|Convert to IK rig]]
This release bundles a rich set of blender functionalitites, which can be added to blender in the form of an addon. Not all functionality will be listed here, but the following are
some highlights.
=== Import directly from MakeHuman ===
In blender it is now possible to fetch a toon directly from a running instance of MakeHuman, without having to first save the toon to a file. The importer will talk with the makehuman instance
and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses. The process is almost instantaneous (a toon with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== IK and amputations ===
The importer will use the skeleton set in MakeHuman to rig the resulting character in Blender. The rig can then be extended with the "IK rig" functionality: By clicking a button you can get extra
IK controls, and IK chains set up for arms, legs and fingers.
Rigs can also be amputated in case detailed bones are not required.
All rigs currently available to MakeHuman are supported.
=== Kinect ===
To be written
<br clear=all>
== A new windows installer ==
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
== Other bundled functionality ==
Apart from the above, some other functionality that previously had to be downloaded separately is now bundled:
=== MHX2 ===
MHX2 is now enabled per default in MakeHuman. The blender side of MHX2 is bundled as a zip file which can
be added to blender via the user preferences.
=== MHAPI ===
MHAPI (a library with convenience calls for making addons for MakeHuman) is now included and enabled per default.
== Where to download ==
As alpha 3 has not yet been released, these links are for alpha 2.
You can [http://download.tuxfamily.org/makehuman/nightly/makehuman-community-1.2.0-alpha2-win32.zip download the windows build here].
For linux, [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community there is a new PPA].
== Providing feedback and bug reports ==
As always with an alpha release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums. But more formal bug trackers are here:
* For MakeHuman as such: [http://bugtracker.makehumancommunity.org/ http://bugtracker.makehumancommunity.org/]
* For the asset downloader: [https://github.com/makehumancommunity/community-plugins-assetdownload/issues https://github.com/makehumancommunity/community-plugins-assetdownload/issues]
* For the makehuman side of the new blender integration: [https://github.com/makehumancommunity/community-plugins-socket/issues https://github.com/makehumancommunity/community-plugins-socket/issues]
* For the blender side of the new blender integration: [https://github.com/makehumancommunity/makehuman-plugin-for-blender/issues https://github.com/makehumancommunity/makehuman-plugin-for-blender/issues]
* For issues specific to MHX2: [https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange/issues?status=new&status=open https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange/issues]
5b7703aadabdfaa9263ea75bb467d57799445eec
1554
1551
2019-01-05T12:30:30Z
Joepal
14
/* Changes since alpha 2 */
wikitext
text/x-wiki
MakeHuman Community 1.2.0 alpha3 has not yet been released.
'''It is important to understand that 1.2.0 alpha 3 is an alpha release. This means that things ''will'' behave strangely. Before downloading the build, you should at least read the "known issues" section in these notes.'''
These notes are under construction and may be incomplete. Further, the notes describe, as of now, an alpha version of a coming release. The final release might be different from what is described below.
== General ==
In most cases, there should be no problem running versions 1.1.1 and 1.2.0 on the same system. They will not interfere with each other's files. You can find download links for 1.2.0 at the bottom of this page.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
The following are the changes since version 1.1.1.
== Changes since alpha 2 ==
* CORE: A crash that arose when a mesh could not be loaded (for any reason, such as the file not existing) has been worked around.
* CORE: The whole pipeline show now gracefully accept tri meshes (in for example clothes). Note that mixed tri/quad meshes are still not supported: they need to be either tri or quad.
* CORE: Further measures have been taken to force all IO to be utf-8 on all platforms.
* MODELING: The random functionality have been improved by ensuring symmetry in more body parts.
* LANGUAGE: A spelling mistake ("symmmetry") has been corrected in most/all language files
* NEW BLENDER INTEGRATION: Now works with blender 2.80 ('''note that contrary to blender 2.79, the "makehuman" tab is on the "n" shelf rather than the "t" shelf''')
* NEW BLENDER INTEGRATION: Now correctly sets up material nodes for normal maps.
* NEW BLENDER INTEGRATION: The code was refactored to get a structure that is a bit less messy
== Changes since alpha 1 ==
Note that the graphics card issue has ''not'' been addressed yet. So if alpha 1 did not work for you, alpha 2 will not either.
The following are fixes made since the release of 1.2.0 alpha 1:
* LINUX: makehuman root is now ~/Documents/makehuman/v1py3 (or whatever your platform name for "Documents" is, it is fetched from the XDG configuration) rather than ~/makehuman/v1py3. This is the standard used on other platforms, but it will mean that you will have to manually move data you want to keep from the old location to the new.
* UI: Core MakeHuman assets now have a tag "MakeHumanTM", making it easier to only show bundled assets when many third-part assets have been downloaded
* MATERIALS: Core assets will now also look in user directories for extra materials
* ASSET DOWNLOADER: When downloading materials that belong to a core asset, these will now be placed so they show up as materials for said asset
* ASSET DOWNLOADER: It is now possible to filter materials to show only those belonging to a core asset
* ASSET DOWNLOADER: Drastically reduced the size of the initial download
* ASSET DOWNLOADER: Provide better visual feedback so it doesn't look as if the system hanged
* ASSET DOWNLOADER: Made downloading screenshots for assets optional
* PPA: Remove strong dependency on blender. We recommend against using Ubuntu's version of blender since it's broken in many ways.
* PPA: Specify minimum allowed versions of central dependencies.
== Highlights ==
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new Blender integration, with support for socket transfers, IK and Kinect
* Improved internationalization support for non-ASCII characters (backported)
* Plugins in user space
* Plugins activation at runtime
* Improved tag sorting capabilities, including sticky tag provisions
* Tags for models (with configurable tag count)
* Show Name Tags instead of file names in the file loader.
* Saving model as target
* Real weight estimation
* Configurable location for the home folder
* MHX2 is bundled in the default installation
* There is a new installer for windows
* There is a new PPA for ubuntu. This PPA also offers builds of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds)
== Known issues ==
* FBX skeleton will still misbehave
* There are still graphics card incompatibilities in the OpenGL code. '''On several graphics cards you may get no visible output whatsoever''', rendering the application unusable. If this happens, please report what operating system and what graphics card you are using so we can investigate it further.
* There is no build for OSX
* The user data folder is still makehuman/v1py3 rather than makehuman/v1, in order to guarrantee that the development version does not interfere with the stable version. This will probably be changed for the final release.
* The new blender importer will crash when used in a version of blender that is shipped with ubuntu 18.04. It works fine on ubuntu 18.04 if using a blender that is downloaded from blender's homepage though. Investigations are pending.
* The new blender importer requires blender 2.79. It will not work in earlier versions of blender and will not (yet) work in blender 2.80.
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
=== Running from source ===
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 or higher
* NumPy: 1.13.0 or higher
* PyOpenGL: Any modern version will work, including the one used for MakeHuman 1.1.x
=== Ubuntu ===
In order to fulfill the minimum dependency requirements listed above, you will need Ubuntu 18.04 or later. For earlier Ubuntu versions, you would have use backports of the dependencies, as they are not available in the default installation.
The PPA for this build is here: [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community ppa:makehuman-official/makehuman-community].
To enable it, run:
sudo add-apt-repository ppa:makehuman-official/makehuman-community
sudo apt-get update
sudo apt-get install makehuman-community
== The upgraded codebase ==
The main focus of this release has been to modernize the code. In the prior version, large parts were written more than eight years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The expected end of life for python 2.7 is in less than two years.
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
== Asset downloader ==
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
<br clear=all>
== New blender integration ==
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
[[File:12x-blender-ik.png|300px|thumb|right|Convert to IK rig]]
This release bundles a rich set of blender functionalitites, which can be added to blender in the form of an addon. Not all functionality will be listed here, but the following are
some highlights.
=== Import directly from MakeHuman ===
In blender it is now possible to fetch a toon directly from a running instance of MakeHuman, without having to first save the toon to a file. The importer will talk with the makehuman instance
and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses. The process is almost instantaneous (a toon with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== IK and amputations ===
The importer will use the skeleton set in MakeHuman to rig the resulting character in Blender. The rig can then be extended with the "IK rig" functionality: By clicking a button you can get extra
IK controls, and IK chains set up for arms, legs and fingers.
Rigs can also be amputated in case detailed bones are not required.
All rigs currently available to MakeHuman are supported.
=== Kinect ===
To be written
<br clear=all>
== A new windows installer ==
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
== Other bundled functionality ==
Apart from the above, some other functionality that previously had to be downloaded separately is now bundled:
=== MHX2 ===
MHX2 is now enabled per default in MakeHuman. The blender side of MHX2 is bundled as a zip file which can
be added to blender via the user preferences.
=== MHAPI ===
MHAPI (a library with convenience calls for making addons for MakeHuman) is now included and enabled per default.
== Where to download ==
As alpha 3 has not yet been released, these links are for alpha 2.
You can [http://download.tuxfamily.org/makehuman/nightly/makehuman-community-1.2.0-alpha2-win32.zip download the windows build here].
For linux, [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community there is a new PPA].
== Providing feedback and bug reports ==
As always with an alpha release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums. But more formal bug trackers are here:
* For MakeHuman as such: [http://bugtracker.makehumancommunity.org/ http://bugtracker.makehumancommunity.org/]
* For the asset downloader: [https://github.com/makehumancommunity/community-plugins-assetdownload/issues https://github.com/makehumancommunity/community-plugins-assetdownload/issues]
* For the makehuman side of the new blender integration: [https://github.com/makehumancommunity/community-plugins-socket/issues https://github.com/makehumancommunity/community-plugins-socket/issues]
* For the blender side of the new blender integration: [https://github.com/makehumancommunity/makehuman-plugin-for-blender/issues https://github.com/makehumancommunity/makehuman-plugin-for-blender/issues]
* For issues specific to MHX2: [https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange/issues?status=new&status=open https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange/issues]
11d73564567dfe60cc01c56aee931799aaace505
1551
1550
2018-12-27T14:33:49Z
Joepal
14
/* Changes since alpha 2 */
wikitext
text/x-wiki
MakeHuman Community 1.2.0 alpha3 has not yet been released.
'''It is important to understand that 1.2.0 alpha 3 is an alpha release. This means that things ''will'' behave strangely. Before downloading the build, you should at least read the "known issues" section in these notes.'''
These notes are under construction and may be incomplete. Further, the notes describe, as of now, an alpha version of a coming release. The final release might be different from what is described below.
== General ==
In most cases, there should be no problem running versions 1.1.1 and 1.2.0 on the same system. They will not interfere with each other's files. You can find download links for 1.2.0 at the bottom of this page.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
The following are the changes since version 1.1.1.
== Changes since alpha 2 ==
* CORE: A crash that arose when a mesh could not be loaded (for any reason, such as the file not existing) has been worked around.
* MODELING: The random functionality have been improved by ensuring symmetry in more body parts.
* LANGUAGE: A spelling mistake ("symmmetry") has been corrected in most/all language files
* NEW BLENDER INTEGRATION: Now works with blender 2.80 ('''note that contrary to blender 2.79, the "makehuman" tab is on the "n" shelf rather than the "t" shelf''')
* NEW BLENDER INTEGRATION: Now correctly sets up material nodes for normal maps.
* NEW BLENDER INTEGRATION: The code was refactored to get a structure that is a bit less messy
== Changes since alpha 1 ==
Note that the graphics card issue has ''not'' been addressed yet. So if alpha 1 did not work for you, alpha 2 will not either.
The following are fixes made since the release of 1.2.0 alpha 1:
* LINUX: makehuman root is now ~/Documents/makehuman/v1py3 (or whatever your platform name for "Documents" is, it is fetched from the XDG configuration) rather than ~/makehuman/v1py3. This is the standard used on other platforms, but it will mean that you will have to manually move data you want to keep from the old location to the new.
* UI: Core MakeHuman assets now have a tag "MakeHumanTM", making it easier to only show bundled assets when many third-part assets have been downloaded
* MATERIALS: Core assets will now also look in user directories for extra materials
* ASSET DOWNLOADER: When downloading materials that belong to a core asset, these will now be placed so they show up as materials for said asset
* ASSET DOWNLOADER: It is now possible to filter materials to show only those belonging to a core asset
* ASSET DOWNLOADER: Drastically reduced the size of the initial download
* ASSET DOWNLOADER: Provide better visual feedback so it doesn't look as if the system hanged
* ASSET DOWNLOADER: Made downloading screenshots for assets optional
* PPA: Remove strong dependency on blender. We recommend against using Ubuntu's version of blender since it's broken in many ways.
* PPA: Specify minimum allowed versions of central dependencies.
== Highlights ==
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new Blender integration, with support for socket transfers, IK and Kinect
* Improved internationalization support for non-ASCII characters (backported)
* Plugins in user space
* Plugins activation at runtime
* Improved tag sorting capabilities, including sticky tag provisions
* Tags for models (with configurable tag count)
* Show Name Tags instead of file names in the file loader.
* Saving model as target
* Real weight estimation
* Configurable location for the home folder
* MHX2 is bundled in the default installation
* There is a new installer for windows
* There is a new PPA for ubuntu. This PPA also offers builds of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds)
== Known issues ==
* FBX skeleton will still misbehave
* There are still graphics card incompatibilities in the OpenGL code. '''On several graphics cards you may get no visible output whatsoever''', rendering the application unusable. If this happens, please report what operating system and what graphics card you are using so we can investigate it further.
* There is no build for OSX
* The user data folder is still makehuman/v1py3 rather than makehuman/v1, in order to guarrantee that the development version does not interfere with the stable version. This will probably be changed for the final release.
* The new blender importer will crash when used in a version of blender that is shipped with ubuntu 18.04. It works fine on ubuntu 18.04 if using a blender that is downloaded from blender's homepage though. Investigations are pending.
* The new blender importer requires blender 2.79. It will not work in earlier versions of blender and will not (yet) work in blender 2.80.
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
=== Running from source ===
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 or higher
* NumPy: 1.13.0 or higher
* PyOpenGL: Any modern version will work, including the one used for MakeHuman 1.1.x
=== Ubuntu ===
In order to fulfill the minimum dependency requirements listed above, you will need Ubuntu 18.04 or later. For earlier Ubuntu versions, you would have use backports of the dependencies, as they are not available in the default installation.
The PPA for this build is here: [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community ppa:makehuman-official/makehuman-community].
To enable it, run:
sudo add-apt-repository ppa:makehuman-official/makehuman-community
sudo apt-get update
sudo apt-get install makehuman-community
== The upgraded codebase ==
The main focus of this release has been to modernize the code. In the prior version, large parts were written more than eight years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The expected end of life for python 2.7 is in less than two years.
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
== Asset downloader ==
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
<br clear=all>
== New blender integration ==
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
[[File:12x-blender-ik.png|300px|thumb|right|Convert to IK rig]]
This release bundles a rich set of blender functionalitites, which can be added to blender in the form of an addon. Not all functionality will be listed here, but the following are
some highlights.
=== Import directly from MakeHuman ===
In blender it is now possible to fetch a toon directly from a running instance of MakeHuman, without having to first save the toon to a file. The importer will talk with the makehuman instance
and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses. The process is almost instantaneous (a toon with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== IK and amputations ===
The importer will use the skeleton set in MakeHuman to rig the resulting character in Blender. The rig can then be extended with the "IK rig" functionality: By clicking a button you can get extra
IK controls, and IK chains set up for arms, legs and fingers.
Rigs can also be amputated in case detailed bones are not required.
All rigs currently available to MakeHuman are supported.
=== Kinect ===
To be written
<br clear=all>
== A new windows installer ==
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
== Other bundled functionality ==
Apart from the above, some other functionality that previously had to be downloaded separately is now bundled:
=== MHX2 ===
MHX2 is now enabled per default in MakeHuman. The blender side of MHX2 is bundled as a zip file which can
be added to blender via the user preferences.
=== MHAPI ===
MHAPI (a library with convenience calls for making addons for MakeHuman) is now included and enabled per default.
== Where to download ==
As alpha 3 has not yet been released, these links are for alpha 2.
You can [http://download.tuxfamily.org/makehuman/nightly/makehuman-community-1.2.0-alpha2-win32.zip download the windows build here].
For linux, [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community there is a new PPA].
== Providing feedback and bug reports ==
As always with an alpha release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums. But more formal bug trackers are here:
* For MakeHuman as such: [http://bugtracker.makehumancommunity.org/ http://bugtracker.makehumancommunity.org/]
* For the asset downloader: [https://github.com/makehumancommunity/community-plugins-assetdownload/issues https://github.com/makehumancommunity/community-plugins-assetdownload/issues]
* For the makehuman side of the new blender integration: [https://github.com/makehumancommunity/community-plugins-socket/issues https://github.com/makehumancommunity/community-plugins-socket/issues]
* For the blender side of the new blender integration: [https://github.com/makehumancommunity/makehuman-plugin-for-blender/issues https://github.com/makehumancommunity/makehuman-plugin-for-blender/issues]
* For issues specific to MHX2: [https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange/issues?status=new&status=open https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange/issues]
11b8e5dd4a68bed80c33704fffea133e522ee385
1550
1549
2018-12-21T12:53:26Z
Joepal
14
/* Changes since alpha 2 */
wikitext
text/x-wiki
MakeHuman Community 1.2.0 alpha3 has not yet been released.
'''It is important to understand that 1.2.0 alpha 3 is an alpha release. This means that things ''will'' behave strangely. Before downloading the build, you should at least read the "known issues" section in these notes.'''
These notes are under construction and may be incomplete. Further, the notes describe, as of now, an alpha version of a coming release. The final release might be different from what is described below.
== General ==
In most cases, there should be no problem running versions 1.1.1 and 1.2.0 on the same system. They will not interfere with each other's files. You can find download links for 1.2.0 at the bottom of this page.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
The following are the changes since version 1.1.1.
== Changes since alpha 2 ==
* MODELING: The random functionality have been improved by ensuring symmetry in more body parts.
* LANGUAGE: A spelling mistake ("symmmetry") has been corrected in most/all language files
* BLENDER: The new blender integration now works with blender 2.8 ('''note that contrary to blender 2.79, the "makehuman" tab is on the "n" shelf rather than the "t" shelf''')
== Changes since alpha 1 ==
Note that the graphics card issue has ''not'' been addressed yet. So if alpha 1 did not work for you, alpha 2 will not either.
The following are fixes made since the release of 1.2.0 alpha 1:
* LINUX: makehuman root is now ~/Documents/makehuman/v1py3 (or whatever your platform name for "Documents" is, it is fetched from the XDG configuration) rather than ~/makehuman/v1py3. This is the standard used on other platforms, but it will mean that you will have to manually move data you want to keep from the old location to the new.
* UI: Core MakeHuman assets now have a tag "MakeHumanTM", making it easier to only show bundled assets when many third-part assets have been downloaded
* MATERIALS: Core assets will now also look in user directories for extra materials
* ASSET DOWNLOADER: When downloading materials that belong to a core asset, these will now be placed so they show up as materials for said asset
* ASSET DOWNLOADER: It is now possible to filter materials to show only those belonging to a core asset
* ASSET DOWNLOADER: Drastically reduced the size of the initial download
* ASSET DOWNLOADER: Provide better visual feedback so it doesn't look as if the system hanged
* ASSET DOWNLOADER: Made downloading screenshots for assets optional
* PPA: Remove strong dependency on blender. We recommend against using Ubuntu's version of blender since it's broken in many ways.
* PPA: Specify minimum allowed versions of central dependencies.
== Highlights ==
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new Blender integration, with support for socket transfers, IK and Kinect
* Improved internationalization support for non-ASCII characters (backported)
* Plugins in user space
* Plugins activation at runtime
* Improved tag sorting capabilities, including sticky tag provisions
* Tags for models (with configurable tag count)
* Show Name Tags instead of file names in the file loader.
* Saving model as target
* Real weight estimation
* Configurable location for the home folder
* MHX2 is bundled in the default installation
* There is a new installer for windows
* There is a new PPA for ubuntu. This PPA also offers builds of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds)
== Known issues ==
* FBX skeleton will still misbehave
* There are still graphics card incompatibilities in the OpenGL code. '''On several graphics cards you may get no visible output whatsoever''', rendering the application unusable. If this happens, please report what operating system and what graphics card you are using so we can investigate it further.
* There is no build for OSX
* The user data folder is still makehuman/v1py3 rather than makehuman/v1, in order to guarrantee that the development version does not interfere with the stable version. This will probably be changed for the final release.
* The new blender importer will crash when used in a version of blender that is shipped with ubuntu 18.04. It works fine on ubuntu 18.04 if using a blender that is downloaded from blender's homepage though. Investigations are pending.
* The new blender importer requires blender 2.79. It will not work in earlier versions of blender and will not (yet) work in blender 2.80.
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
=== Running from source ===
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 or higher
* NumPy: 1.13.0 or higher
* PyOpenGL: Any modern version will work, including the one used for MakeHuman 1.1.x
=== Ubuntu ===
In order to fulfill the minimum dependency requirements listed above, you will need Ubuntu 18.04 or later. For earlier Ubuntu versions, you would have use backports of the dependencies, as they are not available in the default installation.
The PPA for this build is here: [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community ppa:makehuman-official/makehuman-community].
To enable it, run:
sudo add-apt-repository ppa:makehuman-official/makehuman-community
sudo apt-get update
sudo apt-get install makehuman-community
== The upgraded codebase ==
The main focus of this release has been to modernize the code. In the prior version, large parts were written more than eight years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The expected end of life for python 2.7 is in less than two years.
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
== Asset downloader ==
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
<br clear=all>
== New blender integration ==
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
[[File:12x-blender-ik.png|300px|thumb|right|Convert to IK rig]]
This release bundles a rich set of blender functionalitites, which can be added to blender in the form of an addon. Not all functionality will be listed here, but the following are
some highlights.
=== Import directly from MakeHuman ===
In blender it is now possible to fetch a toon directly from a running instance of MakeHuman, without having to first save the toon to a file. The importer will talk with the makehuman instance
and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses. The process is almost instantaneous (a toon with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== IK and amputations ===
The importer will use the skeleton set in MakeHuman to rig the resulting character in Blender. The rig can then be extended with the "IK rig" functionality: By clicking a button you can get extra
IK controls, and IK chains set up for arms, legs and fingers.
Rigs can also be amputated in case detailed bones are not required.
All rigs currently available to MakeHuman are supported.
=== Kinect ===
To be written
<br clear=all>
== A new windows installer ==
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
== Other bundled functionality ==
Apart from the above, some other functionality that previously had to be downloaded separately is now bundled:
=== MHX2 ===
MHX2 is now enabled per default in MakeHuman. The blender side of MHX2 is bundled as a zip file which can
be added to blender via the user preferences.
=== MHAPI ===
MHAPI (a library with convenience calls for making addons for MakeHuman) is now included and enabled per default.
== Where to download ==
As alpha 3 has not yet been released, these links are for alpha 2.
You can [http://download.tuxfamily.org/makehuman/nightly/makehuman-community-1.2.0-alpha2-win32.zip download the windows build here].
For linux, [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community there is a new PPA].
== Providing feedback and bug reports ==
As always with an alpha release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums. But more formal bug trackers are here:
* For MakeHuman as such: [http://bugtracker.makehumancommunity.org/ http://bugtracker.makehumancommunity.org/]
* For the asset downloader: [https://github.com/makehumancommunity/community-plugins-assetdownload/issues https://github.com/makehumancommunity/community-plugins-assetdownload/issues]
* For the makehuman side of the new blender integration: [https://github.com/makehumancommunity/community-plugins-socket/issues https://github.com/makehumancommunity/community-plugins-socket/issues]
* For the blender side of the new blender integration: [https://github.com/makehumancommunity/makehuman-plugin-for-blender/issues https://github.com/makehumancommunity/makehuman-plugin-for-blender/issues]
* For issues specific to MHX2: [https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange/issues?status=new&status=open https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange/issues]
e7edffa987c500ea645417124b35fb455d6ec968
1549
1548
2018-12-21T12:52:51Z
Joepal
14
/* Changes since alpha 2 */
wikitext
text/x-wiki
MakeHuman Community 1.2.0 alpha3 has not yet been released.
'''It is important to understand that 1.2.0 alpha 3 is an alpha release. This means that things ''will'' behave strangely. Before downloading the build, you should at least read the "known issues" section in these notes.'''
These notes are under construction and may be incomplete. Further, the notes describe, as of now, an alpha version of a coming release. The final release might be different from what is described below.
== General ==
In most cases, there should be no problem running versions 1.1.1 and 1.2.0 on the same system. They will not interfere with each other's files. You can find download links for 1.2.0 at the bottom of this page.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
The following are the changes since version 1.1.1.
== Changes since alpha 2 ==
* The random functionality have been improved by ensuring symmetry in more body parts.
* A spelling mistake ("symmmetry") has been corrected in most/all language files
* The new blender integration now works with blender 2.8 ('''note that contrary to blender 2.79, the "makehuman" tab is on the "n" shelf rather than the "t" shelf''')
== Changes since alpha 1 ==
Note that the graphics card issue has ''not'' been addressed yet. So if alpha 1 did not work for you, alpha 2 will not either.
The following are fixes made since the release of 1.2.0 alpha 1:
* LINUX: makehuman root is now ~/Documents/makehuman/v1py3 (or whatever your platform name for "Documents" is, it is fetched from the XDG configuration) rather than ~/makehuman/v1py3. This is the standard used on other platforms, but it will mean that you will have to manually move data you want to keep from the old location to the new.
* UI: Core MakeHuman assets now have a tag "MakeHumanTM", making it easier to only show bundled assets when many third-part assets have been downloaded
* MATERIALS: Core assets will now also look in user directories for extra materials
* ASSET DOWNLOADER: When downloading materials that belong to a core asset, these will now be placed so they show up as materials for said asset
* ASSET DOWNLOADER: It is now possible to filter materials to show only those belonging to a core asset
* ASSET DOWNLOADER: Drastically reduced the size of the initial download
* ASSET DOWNLOADER: Provide better visual feedback so it doesn't look as if the system hanged
* ASSET DOWNLOADER: Made downloading screenshots for assets optional
* PPA: Remove strong dependency on blender. We recommend against using Ubuntu's version of blender since it's broken in many ways.
* PPA: Specify minimum allowed versions of central dependencies.
== Highlights ==
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new Blender integration, with support for socket transfers, IK and Kinect
* Improved internationalization support for non-ASCII characters (backported)
* Plugins in user space
* Plugins activation at runtime
* Improved tag sorting capabilities, including sticky tag provisions
* Tags for models (with configurable tag count)
* Show Name Tags instead of file names in the file loader.
* Saving model as target
* Real weight estimation
* Configurable location for the home folder
* MHX2 is bundled in the default installation
* There is a new installer for windows
* There is a new PPA for ubuntu. This PPA also offers builds of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds)
== Known issues ==
* FBX skeleton will still misbehave
* There are still graphics card incompatibilities in the OpenGL code. '''On several graphics cards you may get no visible output whatsoever''', rendering the application unusable. If this happens, please report what operating system and what graphics card you are using so we can investigate it further.
* There is no build for OSX
* The user data folder is still makehuman/v1py3 rather than makehuman/v1, in order to guarrantee that the development version does not interfere with the stable version. This will probably be changed for the final release.
* The new blender importer will crash when used in a version of blender that is shipped with ubuntu 18.04. It works fine on ubuntu 18.04 if using a blender that is downloaded from blender's homepage though. Investigations are pending.
* The new blender importer requires blender 2.79. It will not work in earlier versions of blender and will not (yet) work in blender 2.80.
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
=== Running from source ===
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 or higher
* NumPy: 1.13.0 or higher
* PyOpenGL: Any modern version will work, including the one used for MakeHuman 1.1.x
=== Ubuntu ===
In order to fulfill the minimum dependency requirements listed above, you will need Ubuntu 18.04 or later. For earlier Ubuntu versions, you would have use backports of the dependencies, as they are not available in the default installation.
The PPA for this build is here: [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community ppa:makehuman-official/makehuman-community].
To enable it, run:
sudo add-apt-repository ppa:makehuman-official/makehuman-community
sudo apt-get update
sudo apt-get install makehuman-community
== The upgraded codebase ==
The main focus of this release has been to modernize the code. In the prior version, large parts were written more than eight years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The expected end of life for python 2.7 is in less than two years.
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
== Asset downloader ==
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
<br clear=all>
== New blender integration ==
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
[[File:12x-blender-ik.png|300px|thumb|right|Convert to IK rig]]
This release bundles a rich set of blender functionalitites, which can be added to blender in the form of an addon. Not all functionality will be listed here, but the following are
some highlights.
=== Import directly from MakeHuman ===
In blender it is now possible to fetch a toon directly from a running instance of MakeHuman, without having to first save the toon to a file. The importer will talk with the makehuman instance
and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses. The process is almost instantaneous (a toon with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== IK and amputations ===
The importer will use the skeleton set in MakeHuman to rig the resulting character in Blender. The rig can then be extended with the "IK rig" functionality: By clicking a button you can get extra
IK controls, and IK chains set up for arms, legs and fingers.
Rigs can also be amputated in case detailed bones are not required.
All rigs currently available to MakeHuman are supported.
=== Kinect ===
To be written
<br clear=all>
== A new windows installer ==
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
== Other bundled functionality ==
Apart from the above, some other functionality that previously had to be downloaded separately is now bundled:
=== MHX2 ===
MHX2 is now enabled per default in MakeHuman. The blender side of MHX2 is bundled as a zip file which can
be added to blender via the user preferences.
=== MHAPI ===
MHAPI (a library with convenience calls for making addons for MakeHuman) is now included and enabled per default.
== Where to download ==
As alpha 3 has not yet been released, these links are for alpha 2.
You can [http://download.tuxfamily.org/makehuman/nightly/makehuman-community-1.2.0-alpha2-win32.zip download the windows build here].
For linux, [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community there is a new PPA].
== Providing feedback and bug reports ==
As always with an alpha release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums. But more formal bug trackers are here:
* For MakeHuman as such: [http://bugtracker.makehumancommunity.org/ http://bugtracker.makehumancommunity.org/]
* For the asset downloader: [https://github.com/makehumancommunity/community-plugins-assetdownload/issues https://github.com/makehumancommunity/community-plugins-assetdownload/issues]
* For the makehuman side of the new blender integration: [https://github.com/makehumancommunity/community-plugins-socket/issues https://github.com/makehumancommunity/community-plugins-socket/issues]
* For the blender side of the new blender integration: [https://github.com/makehumancommunity/makehuman-plugin-for-blender/issues https://github.com/makehumancommunity/makehuman-plugin-for-blender/issues]
* For issues specific to MHX2: [https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange/issues?status=new&status=open https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange/issues]
9a4bbc61395a083f541a6161f0d4933a61a9cb1c
1548
1546
2018-12-21T12:52:07Z
Joepal
14
/* Changes since alpha 2 */
wikitext
text/x-wiki
MakeHuman Community 1.2.0 alpha3 has not yet been released.
'''It is important to understand that 1.2.0 alpha 3 is an alpha release. This means that things ''will'' behave strangely. Before downloading the build, you should at least read the "known issues" section in these notes.'''
These notes are under construction and may be incomplete. Further, the notes describe, as of now, an alpha version of a coming release. The final release might be different from what is described below.
== General ==
In most cases, there should be no problem running versions 1.1.1 and 1.2.0 on the same system. They will not interfere with each other's files. You can find download links for 1.2.0 at the bottom of this page.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
The following are the changes since version 1.1.1.
== Changes since alpha 2 ==
* The random functionality have been improved by ensuring symmetry in more body parts.
* A spelling mistake ("symmmetry") has been corrected in most/all language files
* The new blender integration now works with blender 2.8 (note that contrary to blender 2.79, the makehuman tab is on the "n" shelf rather than the "t" shelf)
== Changes since alpha 1 ==
Note that the graphics card issue has ''not'' been addressed yet. So if alpha 1 did not work for you, alpha 2 will not either.
The following are fixes made since the release of 1.2.0 alpha 1:
* LINUX: makehuman root is now ~/Documents/makehuman/v1py3 (or whatever your platform name for "Documents" is, it is fetched from the XDG configuration) rather than ~/makehuman/v1py3. This is the standard used on other platforms, but it will mean that you will have to manually move data you want to keep from the old location to the new.
* UI: Core MakeHuman assets now have a tag "MakeHumanTM", making it easier to only show bundled assets when many third-part assets have been downloaded
* MATERIALS: Core assets will now also look in user directories for extra materials
* ASSET DOWNLOADER: When downloading materials that belong to a core asset, these will now be placed so they show up as materials for said asset
* ASSET DOWNLOADER: It is now possible to filter materials to show only those belonging to a core asset
* ASSET DOWNLOADER: Drastically reduced the size of the initial download
* ASSET DOWNLOADER: Provide better visual feedback so it doesn't look as if the system hanged
* ASSET DOWNLOADER: Made downloading screenshots for assets optional
* PPA: Remove strong dependency on blender. We recommend against using Ubuntu's version of blender since it's broken in many ways.
* PPA: Specify minimum allowed versions of central dependencies.
== Highlights ==
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new Blender integration, with support for socket transfers, IK and Kinect
* Improved internationalization support for non-ASCII characters (backported)
* Plugins in user space
* Plugins activation at runtime
* Improved tag sorting capabilities, including sticky tag provisions
* Tags for models (with configurable tag count)
* Show Name Tags instead of file names in the file loader.
* Saving model as target
* Real weight estimation
* Configurable location for the home folder
* MHX2 is bundled in the default installation
* There is a new installer for windows
* There is a new PPA for ubuntu. This PPA also offers builds of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds)
== Known issues ==
* FBX skeleton will still misbehave
* There are still graphics card incompatibilities in the OpenGL code. '''On several graphics cards you may get no visible output whatsoever''', rendering the application unusable. If this happens, please report what operating system and what graphics card you are using so we can investigate it further.
* There is no build for OSX
* The user data folder is still makehuman/v1py3 rather than makehuman/v1, in order to guarrantee that the development version does not interfere with the stable version. This will probably be changed for the final release.
* The new blender importer will crash when used in a version of blender that is shipped with ubuntu 18.04. It works fine on ubuntu 18.04 if using a blender that is downloaded from blender's homepage though. Investigations are pending.
* The new blender importer requires blender 2.79. It will not work in earlier versions of blender and will not (yet) work in blender 2.80.
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
=== Running from source ===
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 or higher
* NumPy: 1.13.0 or higher
* PyOpenGL: Any modern version will work, including the one used for MakeHuman 1.1.x
=== Ubuntu ===
In order to fulfill the minimum dependency requirements listed above, you will need Ubuntu 18.04 or later. For earlier Ubuntu versions, you would have use backports of the dependencies, as they are not available in the default installation.
The PPA for this build is here: [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community ppa:makehuman-official/makehuman-community].
To enable it, run:
sudo add-apt-repository ppa:makehuman-official/makehuman-community
sudo apt-get update
sudo apt-get install makehuman-community
== The upgraded codebase ==
The main focus of this release has been to modernize the code. In the prior version, large parts were written more than eight years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The expected end of life for python 2.7 is in less than two years.
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
== Asset downloader ==
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
<br clear=all>
== New blender integration ==
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
[[File:12x-blender-ik.png|300px|thumb|right|Convert to IK rig]]
This release bundles a rich set of blender functionalitites, which can be added to blender in the form of an addon. Not all functionality will be listed here, but the following are
some highlights.
=== Import directly from MakeHuman ===
In blender it is now possible to fetch a toon directly from a running instance of MakeHuman, without having to first save the toon to a file. The importer will talk with the makehuman instance
and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses. The process is almost instantaneous (a toon with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== IK and amputations ===
The importer will use the skeleton set in MakeHuman to rig the resulting character in Blender. The rig can then be extended with the "IK rig" functionality: By clicking a button you can get extra
IK controls, and IK chains set up for arms, legs and fingers.
Rigs can also be amputated in case detailed bones are not required.
All rigs currently available to MakeHuman are supported.
=== Kinect ===
To be written
<br clear=all>
== A new windows installer ==
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
== Other bundled functionality ==
Apart from the above, some other functionality that previously had to be downloaded separately is now bundled:
=== MHX2 ===
MHX2 is now enabled per default in MakeHuman. The blender side of MHX2 is bundled as a zip file which can
be added to blender via the user preferences.
=== MHAPI ===
MHAPI (a library with convenience calls for making addons for MakeHuman) is now included and enabled per default.
== Where to download ==
As alpha 3 has not yet been released, these links are for alpha 2.
You can [http://download.tuxfamily.org/makehuman/nightly/makehuman-community-1.2.0-alpha2-win32.zip download the windows build here].
For linux, [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community there is a new PPA].
== Providing feedback and bug reports ==
As always with an alpha release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums. But more formal bug trackers are here:
* For MakeHuman as such: [http://bugtracker.makehumancommunity.org/ http://bugtracker.makehumancommunity.org/]
* For the asset downloader: [https://github.com/makehumancommunity/community-plugins-assetdownload/issues https://github.com/makehumancommunity/community-plugins-assetdownload/issues]
* For the makehuman side of the new blender integration: [https://github.com/makehumancommunity/community-plugins-socket/issues https://github.com/makehumancommunity/community-plugins-socket/issues]
* For the blender side of the new blender integration: [https://github.com/makehumancommunity/makehuman-plugin-for-blender/issues https://github.com/makehumancommunity/makehuman-plugin-for-blender/issues]
* For issues specific to MHX2: [https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange/issues?status=new&status=open https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange/issues]
e8388e13d7d2cf07d3acd6a7946920aca24a8971
1546
2018-12-18T08:14:33Z
Joepal
14
Created page with "MakeHuman Community 1.2.0 alpha3 has not yet been released. '''It is important to understand that 1.2.0 alpha 3 is an alpha release. This means that things ''will'' behave st..."
wikitext
text/x-wiki
MakeHuman Community 1.2.0 alpha3 has not yet been released.
'''It is important to understand that 1.2.0 alpha 3 is an alpha release. This means that things ''will'' behave strangely. Before downloading the build, you should at least read the "known issues" section in these notes.'''
These notes are under construction and may be incomplete. Further, the notes describe, as of now, an alpha version of a coming release. The final release might be different from what is described below.
== General ==
In most cases, there should be no problem running versions 1.1.1 and 1.2.0 on the same system. They will not interfere with each other's files. You can find download links for 1.2.0 at the bottom of this page.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
The following are the changes since version 1.1.1.
== Changes since alpha 2 ==
* The random functionality have been improved by ensuring symmetry in more body parts.
* A spelling mistake ("symmmetry") has been corrected in most/all language files
== Changes since alpha 1 ==
Note that the graphics card issue has ''not'' been addressed yet. So if alpha 1 did not work for you, alpha 2 will not either.
The following are fixes made since the release of 1.2.0 alpha 1:
* LINUX: makehuman root is now ~/Documents/makehuman/v1py3 (or whatever your platform name for "Documents" is, it is fetched from the XDG configuration) rather than ~/makehuman/v1py3. This is the standard used on other platforms, but it will mean that you will have to manually move data you want to keep from the old location to the new.
* UI: Core MakeHuman assets now have a tag "MakeHumanTM", making it easier to only show bundled assets when many third-part assets have been downloaded
* MATERIALS: Core assets will now also look in user directories for extra materials
* ASSET DOWNLOADER: When downloading materials that belong to a core asset, these will now be placed so they show up as materials for said asset
* ASSET DOWNLOADER: It is now possible to filter materials to show only those belonging to a core asset
* ASSET DOWNLOADER: Drastically reduced the size of the initial download
* ASSET DOWNLOADER: Provide better visual feedback so it doesn't look as if the system hanged
* ASSET DOWNLOADER: Made downloading screenshots for assets optional
* PPA: Remove strong dependency on blender. We recommend against using Ubuntu's version of blender since it's broken in many ways.
* PPA: Specify minimum allowed versions of central dependencies.
== Highlights ==
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new Blender integration, with support for socket transfers, IK and Kinect
* Improved internationalization support for non-ASCII characters (backported)
* Plugins in user space
* Plugins activation at runtime
* Improved tag sorting capabilities, including sticky tag provisions
* Tags for models (with configurable tag count)
* Show Name Tags instead of file names in the file loader.
* Saving model as target
* Real weight estimation
* Configurable location for the home folder
* MHX2 is bundled in the default installation
* There is a new installer for windows
* There is a new PPA for ubuntu. This PPA also offers builds of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds)
== Known issues ==
* FBX skeleton will still misbehave
* There are still graphics card incompatibilities in the OpenGL code. '''On several graphics cards you may get no visible output whatsoever''', rendering the application unusable. If this happens, please report what operating system and what graphics card you are using so we can investigate it further.
* There is no build for OSX
* The user data folder is still makehuman/v1py3 rather than makehuman/v1, in order to guarrantee that the development version does not interfere with the stable version. This will probably be changed for the final release.
* The new blender importer will crash when used in a version of blender that is shipped with ubuntu 18.04. It works fine on ubuntu 18.04 if using a blender that is downloaded from blender's homepage though. Investigations are pending.
* The new blender importer requires blender 2.79. It will not work in earlier versions of blender and will not (yet) work in blender 2.80.
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
=== Running from source ===
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 or higher
* NumPy: 1.13.0 or higher
* PyOpenGL: Any modern version will work, including the one used for MakeHuman 1.1.x
=== Ubuntu ===
In order to fulfill the minimum dependency requirements listed above, you will need Ubuntu 18.04 or later. For earlier Ubuntu versions, you would have use backports of the dependencies, as they are not available in the default installation.
The PPA for this build is here: [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community ppa:makehuman-official/makehuman-community].
To enable it, run:
sudo add-apt-repository ppa:makehuman-official/makehuman-community
sudo apt-get update
sudo apt-get install makehuman-community
== The upgraded codebase ==
The main focus of this release has been to modernize the code. In the prior version, large parts were written more than eight years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The expected end of life for python 2.7 is in less than two years.
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
== Asset downloader ==
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
<br clear=all>
== New blender integration ==
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
[[File:12x-blender-ik.png|300px|thumb|right|Convert to IK rig]]
This release bundles a rich set of blender functionalitites, which can be added to blender in the form of an addon. Not all functionality will be listed here, but the following are
some highlights.
=== Import directly from MakeHuman ===
In blender it is now possible to fetch a toon directly from a running instance of MakeHuman, without having to first save the toon to a file. The importer will talk with the makehuman instance
and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses. The process is almost instantaneous (a toon with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== IK and amputations ===
The importer will use the skeleton set in MakeHuman to rig the resulting character in Blender. The rig can then be extended with the "IK rig" functionality: By clicking a button you can get extra
IK controls, and IK chains set up for arms, legs and fingers.
Rigs can also be amputated in case detailed bones are not required.
All rigs currently available to MakeHuman are supported.
=== Kinect ===
To be written
<br clear=all>
== A new windows installer ==
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
== Other bundled functionality ==
Apart from the above, some other functionality that previously had to be downloaded separately is now bundled:
=== MHX2 ===
MHX2 is now enabled per default in MakeHuman. The blender side of MHX2 is bundled as a zip file which can
be added to blender via the user preferences.
=== MHAPI ===
MHAPI (a library with convenience calls for making addons for MakeHuman) is now included and enabled per default.
== Where to download ==
As alpha 3 has not yet been released, these links are for alpha 2.
You can [http://download.tuxfamily.org/makehuman/nightly/makehuman-community-1.2.0-alpha2-win32.zip download the windows build here].
For linux, [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community there is a new PPA].
== Providing feedback and bug reports ==
As always with an alpha release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums. But more formal bug trackers are here:
* For MakeHuman as such: [http://bugtracker.makehumancommunity.org/ http://bugtracker.makehumancommunity.org/]
* For the asset downloader: [https://github.com/makehumancommunity/community-plugins-assetdownload/issues https://github.com/makehumancommunity/community-plugins-assetdownload/issues]
* For the makehuman side of the new blender integration: [https://github.com/makehumancommunity/community-plugins-socket/issues https://github.com/makehumancommunity/community-plugins-socket/issues]
* For the blender side of the new blender integration: [https://github.com/makehumancommunity/makehuman-plugin-for-blender/issues https://github.com/makehumancommunity/makehuman-plugin-for-blender/issues]
* For issues specific to MHX2: [https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange/issues?status=new&status=open https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange/issues]
730a6a2d98a2078795f553add33cfddf23cc09fb
Releases:120a4
0
573
1630
1629
2019-12-16T15:05:01Z
Joepal
14
wikitext
text/x-wiki
MakeHuman Community 1.2.0 alpha 4 was released 2019-12-16. The following are the release notes.
Alpha 4 is the last planned alpha. Next release will be a beta. All in all, most of the code should now be almost as it is supposed to look for a release, but the latest changes to adress graphics card problems is extensive enough that we think an extra alpha release is merited (instead of the originally planned beta 1).
The notes describe, as of now, an alpha version of a coming release. The final release might be different from what is described below.
== General ==
In most cases, there should be no problem running versions 1.1.1 and 1.2.0 on the same system. They will not interfere with each other's files. You can find download links for 1.2.0 at the bottom of this page.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
The following are the changes since version 1.1.1.
== Changes since alpha 3 ==
* CORE: Additional sources of graphics card errors were corrected
* CORE: There is now a fallback layer to adress some graphics card compatibility issues, primarily related to rendering
* CORE: Expressions are now found even when placed in subdirectories
* CORE: Sorting of assets in lists is now case insensitive
* USER PLUGINS: Fixed a bug where a user plugin could sometimes not be loaded
* PLUGINS: Many plugins are ''not'' bundled with this release, as they are changing rapidly and we think it is better that users pick the latest versions from http://www.makehumancommunity.org/content/plugins.html
** MHAPI: Is bundled and preinstalled
** SOCKET: Is bundled and preinstalled (this is the makehuman part of the new blender integration)
** ASSET DOWNLOADER: Is bundled and preinstalled
** MASS PRODUCE: Not bundled
** MAKEHUMAN PLUGIN FOR BLENDER (MPFB): Not bundled (this is the blender side of the new blender integration)
** MAKETARGET: Not bundled. There is now separate versions for blender 2.79 and 2.8x. You should pick the one that fits your needs
** MAKECLOTHES: Not bundled. There is now separate versions for blender 2.79 and 2.8x. You should pick the one that fits your needs
** MHX2 (makehuman side): Is bundled and preinstalled
** MHX2 (blender side): Not bundled
* ASSET DOWNLOADER: Downloaded materials for third-part assets will now be placed correctly in the target asset's directory, and will show up in the material chooser for that asset.
* WINDOWS: A shortcut will now be added to the desktop during installation
Due to the rapid evolution of the blender plugins (MPFB, MakeTarget, MakeClothes...) we're not listing these changes here. See the commit log in the respective git repositories instead:
* [https://github.com/makehumancommunity/makehuman-plugin-for-blender/commits/master MakeHuman Plugin for Blender (MPFB)]
* [https://github.com/makehumancommunity/community-plugins-makeclothes/commits/master MakeClothes 2]
* [https://github.com/makehumancommunity/community-plugins-maketarget/commits/master MakeTarget 2]
== Highlights ==
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new Blender integration, with support for socket transfers, IK and Kinect
* There is a new randomization functionality for generating large sets of randomized characters
* Improved internationalization support for non-ASCII characters (backported)
* Plugins in user space
* Plugins activation at runtime
* Improved tag sorting capabilities (Hotkey: ALT-F), including sticky tag provisions
* Tags for models (with configurable tag count)
* Show Name Tags instead of file names in the file loader.
* Saving model as target
* Real weight estimation
* Configurable location for the home folder
* MHX2 is bundled in the default installation
* Save thumbnails directly from the internal render engine
* There is a new installer for windows
* There is a new PPA for ubuntu. This PPA also offers builds of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds)
== Known issues ==
* WINDOWS: When using "install for all users", makehuman might fail to start. "Install just for me" should work.
* FBX skeleton will still misbehave
* While most of the graphics card incompatibilities should now be fixed, there may still be still parts of the program that cause problems with some integrated graphics cards.
* There is no build for OSX
* The user data folder is still makehuman/v1py3 rather than makehuman/v1, in order to guarrantee that the development version does not interfere with the stable version. This will probably be changed for the final release.
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
=== Running from source ===
The source code is available at [https://github.com/makehumancommunity/makehuman https://github.com/makehumancommunity/makehuman]. You'll also find basic instructions on how to use the source code on this page.
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 or higher
* NumPy: 1.13.0 or higher
* PyOpenGL: Any modern version will work, including the one used for MakeHuman 1.1.x
=== Ubuntu ===
In order to fulfill the minimum dependency requirements listed above, you will need Ubuntu 18.04 or later. For earlier Ubuntu versions, you would have use backports of the dependencies, as they are not available in the default installation.
The PPA for this build is here: [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community ppa:makehuman-official/makehuman-community].
To enable it, run:
sudo add-apt-repository ppa:makehuman-official/makehuman-community
sudo apt-get update
sudo apt-get install makehuman-community
=== Mint ===
The instructions for Ubuntu apply, but you will have to also explicitly install all plugins (whereas these will be installed automatically on Ubuntu)
sudo apt-get install makehuman-community-plugins-assetdownload makehuman-community-plugins-socket makehuman-community-plugins-massproduce mhx2-makehuman-exchange
== The upgraded codebase ==
The main focus of this release has been to modernize the code. In the prior version, large parts were written more than eight years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The expected end of life for python 2.7 is in a few months
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
== Asset downloader ==
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
<br clear=all>
== New blender integration ==
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
[[File:12x-blender-ik.png|300px|thumb|right|Convert to IK rig]]
This release bundles a rich set of blender functionalitites, which can be added to blender in the form of an addon. Not all functionality will be listed here, but the following are
some highlights.
=== Import directly from MakeHuman ===
In blender it is now possible to fetch a toon directly from a running instance of MakeHuman, without having to first save the toon to a file. The importer will talk with the makehuman instance
and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses. The process is almost instantaneous (a toon with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== IK and amputations ===
The importer will use the skeleton set in MakeHuman to rig the resulting character in Blender. The rig can then be extended with the "IK rig" functionality: By clicking a button you can get extra
IK controls, and IK chains set up for arms, legs and fingers.
Rigs can also be amputated in case detailed bones are not required.
All rigs currently available to MakeHuman are supported.
=== Kinect ===
To be written
<br clear=all>
== A new windows installer ==
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
== Other bundled functionality ==
Apart from the above, some other functionality that previously had to be downloaded separately is now bundled:
=== MHX2 ===
MHX2 is now enabled per default in MakeHuman. The blender side of MHX2 can be downloaded from http://www.makehumancommunity.org/content/plugins.html
=== MHAPI ===
MHAPI (a library with convenience calls for making addons for MakeHuman) is now included and enabled per default.
== Where to download ==
The following are links to where you can download alpha 4.
You can [http://download.tuxfamily.org/makehuman/nightly/makehuman-community-1.2.0-alpha4-win32.zip download the windows build here].
For linux, [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community there is a new PPA].
== Providing feedback and bug reports ==
As always with an alpha release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums. But more formal information about bug trackers can be found here: http://www.makehumancommunity.org/content/bugtracker.html
ad21d4dd5a2259cb779919d38c16ef2f60b93583
1629
1628
2019-12-16T10:12:22Z
Joepal
14
wikitext
text/x-wiki
MakeHuman Community 1.2.0 alpha 4 was released 2019-12-15. The following are the release notes.
Alpha 4 is the last planned alpha. Next release will be a beta. All in all, most of the code should now be almost as it is supposed to look for a release, but the latest changes to adress graphics card problems is extensive enough that we think an extra alpha release is merited (instead of the originally planned beta 1).
The notes describe, as of now, an alpha version of a coming release. The final release might be different from what is described below.
== General ==
In most cases, there should be no problem running versions 1.1.1 and 1.2.0 on the same system. They will not interfere with each other's files. You can find download links for 1.2.0 at the bottom of this page.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
The following are the changes since version 1.1.1.
== Changes since alpha 3 ==
* CORE: Additional sources of graphics card errors were corrected
* CORE: There is now a fallback layer to adress some graphics card compatibility issues, primarily related to rendering
* CORE: Expressions are now found even when placed in subdirectories
* CORE: Sorting of assets in lists is now case insensitive
* USER PLUGINS: Fixed a bug where a user plugin could sometimes not be loaded
* PLUGINS: Many plugins are ''not'' bundled with this release, as they are changing rapidly and we think it is better that users pick the latest versions from http://www.makehumancommunity.org/content/plugins.html
** MHAPI: Is bundled and preinstalled
** SOCKET: Is bundled and preinstalled (this is the makehuman part of the new blender integration)
** ASSET DOWNLOADER: Is bundled and preinstalled
** MASS PRODUCE: Not bundled
** MAKEHUMAN PLUGIN FOR BLENDER (MPFB): Not bundled (this is the blender side of the new blender integration)
** MAKETARGET: Not bundled. There is now separate versions for blender 2.79 and 2.8x. You should pick the one that fits your needs
** MAKECLOTHES: Not bundled. There is now separate versions for blender 2.79 and 2.8x. You should pick the one that fits your needs
** MHX2 (makehuman side): Is bundled and preinstalled
** MHX2 (blender side): Not bundled
* ASSET DOWNLOADER: Downloaded materials for third-part assets will now be placed correctly in the target asset's directory, and will show up in the material chooser for that asset.
* WINDOWS: A shortcut will now be added to the desktop during installation
Due to the rapid evolution of the blender plugins (MPFB, MakeTarget, MakeClothes...) we're not listing these changes here. See the commit log in the respective git repositories instead:
* [https://github.com/makehumancommunity/makehuman-plugin-for-blender/commits/master MakeHuman Plugin for Blender (MPFB)]
* [https://github.com/makehumancommunity/community-plugins-makeclothes/commits/master MakeClothes 2]
* [https://github.com/makehumancommunity/community-plugins-maketarget/commits/master MakeTarget 2]
== Highlights ==
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new Blender integration, with support for socket transfers, IK and Kinect
* There is a new randomization functionality for generating large sets of randomized characters
* Improved internationalization support for non-ASCII characters (backported)
* Plugins in user space
* Plugins activation at runtime
* Improved tag sorting capabilities (Hotkey: ALT-F), including sticky tag provisions
* Tags for models (with configurable tag count)
* Show Name Tags instead of file names in the file loader.
* Saving model as target
* Real weight estimation
* Configurable location for the home folder
* MHX2 is bundled in the default installation
* Save thumbnails directly from the internal render engine
* There is a new installer for windows
* There is a new PPA for ubuntu. This PPA also offers builds of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds)
== Known issues ==
* WINDOWS: When using "install for all users", makehuman might fail to start. "Install just for me" should work.
* FBX skeleton will still misbehave
* While most of the graphics card incompatibilities should now be fixed, there may still be still parts of the program that cause problems with some integrated graphics cards.
* There is no build for OSX
* The user data folder is still makehuman/v1py3 rather than makehuman/v1, in order to guarrantee that the development version does not interfere with the stable version. This will probably be changed for the final release.
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
=== Running from source ===
The source code is available at [https://github.com/makehumancommunity/makehuman https://github.com/makehumancommunity/makehuman]. You'll also find basic instructions on how to use the source code on this page.
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 or higher
* NumPy: 1.13.0 or higher
* PyOpenGL: Any modern version will work, including the one used for MakeHuman 1.1.x
=== Ubuntu ===
In order to fulfill the minimum dependency requirements listed above, you will need Ubuntu 18.04 or later. For earlier Ubuntu versions, you would have use backports of the dependencies, as they are not available in the default installation.
The PPA for this build is here: [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community ppa:makehuman-official/makehuman-community].
To enable it, run:
sudo add-apt-repository ppa:makehuman-official/makehuman-community
sudo apt-get update
sudo apt-get install makehuman-community
=== Mint ===
The instructions for Ubuntu apply, but you will have to also explicitly install all plugins (whereas these will be installed automatically on Ubuntu)
sudo apt-get install makehuman-community-plugins-assetdownload makehuman-community-plugins-socket makehuman-community-plugins-massproduce mhx2-makehuman-exchange
== The upgraded codebase ==
The main focus of this release has been to modernize the code. In the prior version, large parts were written more than eight years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The expected end of life for python 2.7 is in a few months
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
== Asset downloader ==
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
<br clear=all>
== New blender integration ==
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
[[File:12x-blender-ik.png|300px|thumb|right|Convert to IK rig]]
This release bundles a rich set of blender functionalitites, which can be added to blender in the form of an addon. Not all functionality will be listed here, but the following are
some highlights.
=== Import directly from MakeHuman ===
In blender it is now possible to fetch a toon directly from a running instance of MakeHuman, without having to first save the toon to a file. The importer will talk with the makehuman instance
and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses. The process is almost instantaneous (a toon with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== IK and amputations ===
The importer will use the skeleton set in MakeHuman to rig the resulting character in Blender. The rig can then be extended with the "IK rig" functionality: By clicking a button you can get extra
IK controls, and IK chains set up for arms, legs and fingers.
Rigs can also be amputated in case detailed bones are not required.
All rigs currently available to MakeHuman are supported.
=== Kinect ===
To be written
<br clear=all>
== A new windows installer ==
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
== Other bundled functionality ==
Apart from the above, some other functionality that previously had to be downloaded separately is now bundled:
=== MHX2 ===
MHX2 is now enabled per default in MakeHuman. The blender side of MHX2 can be downloaded from http://www.makehumancommunity.org/content/plugins.html
=== MHAPI ===
MHAPI (a library with convenience calls for making addons for MakeHuman) is now included and enabled per default.
== Where to download ==
The following are links to where you can download alpha 4.
You can [http://download.tuxfamily.org/makehuman/nightly/makehuman-community-1.2.0-alpha4-win32.zip download the windows build here].
For linux, [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community there is a new PPA].
== Providing feedback and bug reports ==
As always with an alpha release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums. But more formal information about bug trackers can be found here: http://www.makehumancommunity.org/content/bugtracker.html
b651d98c40fbe2a3e49aa4a0d89e4277ffe58618
1628
1627
2019-12-15T16:15:00Z
Joepal
14
/* Changes since alpha 3 */
wikitext
text/x-wiki
MakeHuman Community 1.2.0 alpha 4 has not yet been released. The following are work in progress release notes.
Alpha 4 is the last planned alpha. Next release will be a beta. All in all, most of the code should now be almost as it is supposed to look for a release, but the latest changes to adress graphics card problems is extensive enough that we think an extra alpha release is merited (instead of the originally planned beta 1).
These notes are under construction and may be incomplete. Further, the notes describe, as of now, an alpha version of a coming release. The final release might be different from what is described below.
== General ==
In most cases, there should be no problem running versions 1.1.1 and 1.2.0 on the same system. They will not interfere with each other's files. You can find download links for 1.2.0 at the bottom of this page.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
The following are the changes since version 1.1.1.
== Changes since alpha 3 ==
* CORE: Additional sources of graphics card errors were corrected
* CORE: There is now a fallback layer to adress some graphics card compatibility issues, primarily related to rendering
* CORE: Expressions are now found even when placed in subdirectories
* CORE: Sorting of assets in lists is now case insensitive
* USER PLUGINS: Fixed a bug where a user plugin could sometimes not be loaded
* PLUGINS: Many plugins are ''not'' bundled with this release, as they are changing rapidly and we think it is better that users pick the latest versions from http://www.makehumancommunity.org/content/plugins.html
** MHAPI: Is bundled and preinstalled
** SOCKET: Is bundled and preinstalled (this is the makehuman part of the new blender integration)
** ASSET DOWNLOADER: Is bundled and preinstalled
** MASS PRODUCE: Not bundled
** MAKEHUMAN PLUGIN FOR BLENDER (MPFB): Not bundled (this is the blender side of the new blender integration)
** MAKETARGET: Not bundled. There is now separate versions for blender 2.79 and 2.8x. You should pick the one that fits your needs
** MAKECLOTHES: Not bundled. There is now separate versions for blender 2.79 and 2.8x. You should pick the one that fits your needs
** MHX2 (makehuman side): Is bundled and preinstalled
** MHX2 (blender side): Not bundled
* ASSET DOWNLOADER: Downloaded materials for third-part assets will now be placed correctly in the target asset's directory, and will show up in the material chooser for that asset.
* WINDOWS: A shortcut will now be added to the desktop during installation
Due to the rapid evolution of the blender plugins (MPFB, MakeTarget, MakeClothes...) we're not listing these changes here. See the commit log in the respective git repositories instead.
== Highlights ==
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new Blender integration, with support for socket transfers, IK and Kinect
* There is a new randomization functionality for generating large sets of randomized characters
* Improved internationalization support for non-ASCII characters (backported)
* Plugins in user space
* Plugins activation at runtime
* Improved tag sorting capabilities (Hotkey: ALT-F), including sticky tag provisions
* Tags for models (with configurable tag count)
* Show Name Tags instead of file names in the file loader.
* Saving model as target
* Real weight estimation
* Configurable location for the home folder
* MHX2 is bundled in the default installation
* Save thumbnails directly from the internal render engine
* There is a new installer for windows
* There is a new PPA for ubuntu. This PPA also offers builds of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds)
== Known issues ==
* FBX skeleton will still misbehave
* While most of the graphics card incompatibilities should now be fixed, there may still be still parts of the program that cause problems with some integrated graphics cards.
* There is no build for OSX
* The user data folder is still makehuman/v1py3 rather than makehuman/v1, in order to guarrantee that the development version does not interfere with the stable version. This will probably be changed for the final release.
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
=== Running from source ===
The source code is available at [https://github.com/makehumancommunity/makehuman https://github.com/makehumancommunity/makehuman]. You'll also find basic instructions on how to use the source code on this page.
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 or higher
* NumPy: 1.13.0 or higher
* PyOpenGL: Any modern version will work, including the one used for MakeHuman 1.1.x
=== Ubuntu ===
In order to fulfill the minimum dependency requirements listed above, you will need Ubuntu 18.04 or later. For earlier Ubuntu versions, you would have use backports of the dependencies, as they are not available in the default installation.
The PPA for this build is here: [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community ppa:makehuman-official/makehuman-community].
To enable it, run:
sudo add-apt-repository ppa:makehuman-official/makehuman-community
sudo apt-get update
sudo apt-get install makehuman-community
=== Mint ===
The instructions for Ubuntu apply, but you will have to also explicitly install all plugins (whereas these will be installed automatically on Ubuntu)
sudo apt-get install makehuman-community-plugins-assetdownload makehuman-community-plugins-socket makehuman-community-plugins-massproduce mhx2-makehuman-exchange
== The upgraded codebase ==
The main focus of this release has been to modernize the code. In the prior version, large parts were written more than eight years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The expected end of life for python 2.7 is in a few months
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
== Asset downloader ==
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
<br clear=all>
== New blender integration ==
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
[[File:12x-blender-ik.png|300px|thumb|right|Convert to IK rig]]
This release bundles a rich set of blender functionalitites, which can be added to blender in the form of an addon. Not all functionality will be listed here, but the following are
some highlights.
=== Import directly from MakeHuman ===
In blender it is now possible to fetch a toon directly from a running instance of MakeHuman, without having to first save the toon to a file. The importer will talk with the makehuman instance
and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses. The process is almost instantaneous (a toon with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== IK and amputations ===
The importer will use the skeleton set in MakeHuman to rig the resulting character in Blender. The rig can then be extended with the "IK rig" functionality: By clicking a button you can get extra
IK controls, and IK chains set up for arms, legs and fingers.
Rigs can also be amputated in case detailed bones are not required.
All rigs currently available to MakeHuman are supported.
=== Kinect ===
To be written
<br clear=all>
== A new windows installer ==
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
== Other bundled functionality ==
Apart from the above, some other functionality that previously had to be downloaded separately is now bundled:
=== MHX2 ===
MHX2 is now enabled per default in MakeHuman. The blender side of MHX2 can be downloaded from http://www.makehumancommunity.org/content/plugins.html
=== MHAPI ===
MHAPI (a library with convenience calls for making addons for MakeHuman) is now included and enabled per default.
== Where to download ==
The following are links to where you can download alpha 4.
You can [http://download.tuxfamily.org/makehuman/nightly/makehuman-community-1.2.0-alpha4-win32.zip download the windows build here].
For linux, [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community there is a new PPA].
== Providing feedback and bug reports ==
As always with an alpha release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums. But more formal information about bug trackers can be found here: http://www.makehumancommunity.org/content/bugtracker.html
3928e6332ca98b9dfc0bb5d055a875b643561292
1627
1626
2019-12-15T15:57:49Z
Joepal
14
wikitext
text/x-wiki
MakeHuman Community 1.2.0 alpha 4 has not yet been released. The following are work in progress release notes.
Alpha 4 is the last planned alpha. Next release will be a beta. All in all, most of the code should now be almost as it is supposed to look for a release, but the latest changes to adress graphics card problems is extensive enough that we think an extra alpha release is merited (instead of the originally planned beta 1).
These notes are under construction and may be incomplete. Further, the notes describe, as of now, an alpha version of a coming release. The final release might be different from what is described below.
== General ==
In most cases, there should be no problem running versions 1.1.1 and 1.2.0 on the same system. They will not interfere with each other's files. You can find download links for 1.2.0 at the bottom of this page.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
The following are the changes since version 1.1.1.
== Changes since alpha 3 ==
* CORE: Additional sources of graphics card errors were corrected
* CORE: There is now a fallback layer to adress some graphics card compatibility issues, primarily related to rendering
* CORE: Expressions are now found even when placed in subdirectories
* CORE: Sorting of assets in lists is now case insensitive
* USER PLUGINS: Fixed a bug where a user plugin could sometimes not be loaded
* PLUGINS: Many plugins are ''not'' bundled with this release, as they are changing rapidly and we think it is better that users pick the latest versions from http://www.makehumancommunity.org/content/plugins.html
** MHAPI: Is bundled and preinstalled
** SOCKET: Is bundled and preinstalled (this is the makehuman part of the new blender integration)
** ASSET DOWNLOADER: Is bundled and preinstalled
** MASS PRODUCE: Not bundled
** MAKEHUMAN PLUGIN FOR BLENDER (MPFB): Not bundled (this is the blender side of the new blender integration)
** MAKETARGET: Not bundled. There is now separate versions for blender 2.79 and 2.8x. You should pick the one that fits your needs
** MAKECLOTHES: Not bundled. There is now separate versions for blender 2.79 and 2.8x. You should pick the one that fits your needs
** MHX2 (makehuman side): Is bundled and preinstalled
** MHX2 (blender side): Not bundled
* ASSET DOWNLOADER: Downloaded materials for third-part assets will now be placed correctly in the target asset's directory, and will show up in the material chooser for that asset.
Due to the rapid evolution of the blender plugins (MPFB, MakeTarget, MakeClothes...) we're not listing these changes here. See the commit log in the respective git repositories instead.
== Highlights ==
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new Blender integration, with support for socket transfers, IK and Kinect
* There is a new randomization functionality for generating large sets of randomized characters
* Improved internationalization support for non-ASCII characters (backported)
* Plugins in user space
* Plugins activation at runtime
* Improved tag sorting capabilities (Hotkey: ALT-F), including sticky tag provisions
* Tags for models (with configurable tag count)
* Show Name Tags instead of file names in the file loader.
* Saving model as target
* Real weight estimation
* Configurable location for the home folder
* MHX2 is bundled in the default installation
* Save thumbnails directly from the internal render engine
* There is a new installer for windows
* There is a new PPA for ubuntu. This PPA also offers builds of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds)
== Known issues ==
* FBX skeleton will still misbehave
* While most of the graphics card incompatibilities should now be fixed, there may still be still parts of the program that cause problems with some integrated graphics cards.
* There is no build for OSX
* The user data folder is still makehuman/v1py3 rather than makehuman/v1, in order to guarrantee that the development version does not interfere with the stable version. This will probably be changed for the final release.
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
=== Running from source ===
The source code is available at [https://github.com/makehumancommunity/makehuman https://github.com/makehumancommunity/makehuman]. You'll also find basic instructions on how to use the source code on this page.
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 or higher
* NumPy: 1.13.0 or higher
* PyOpenGL: Any modern version will work, including the one used for MakeHuman 1.1.x
=== Ubuntu ===
In order to fulfill the minimum dependency requirements listed above, you will need Ubuntu 18.04 or later. For earlier Ubuntu versions, you would have use backports of the dependencies, as they are not available in the default installation.
The PPA for this build is here: [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community ppa:makehuman-official/makehuman-community].
To enable it, run:
sudo add-apt-repository ppa:makehuman-official/makehuman-community
sudo apt-get update
sudo apt-get install makehuman-community
=== Mint ===
The instructions for Ubuntu apply, but you will have to also explicitly install all plugins (whereas these will be installed automatically on Ubuntu)
sudo apt-get install makehuman-community-plugins-assetdownload makehuman-community-plugins-socket makehuman-community-plugins-massproduce mhx2-makehuman-exchange
== The upgraded codebase ==
The main focus of this release has been to modernize the code. In the prior version, large parts were written more than eight years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The expected end of life for python 2.7 is in a few months
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
== Asset downloader ==
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
<br clear=all>
== New blender integration ==
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
[[File:12x-blender-ik.png|300px|thumb|right|Convert to IK rig]]
This release bundles a rich set of blender functionalitites, which can be added to blender in the form of an addon. Not all functionality will be listed here, but the following are
some highlights.
=== Import directly from MakeHuman ===
In blender it is now possible to fetch a toon directly from a running instance of MakeHuman, without having to first save the toon to a file. The importer will talk with the makehuman instance
and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses. The process is almost instantaneous (a toon with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== IK and amputations ===
The importer will use the skeleton set in MakeHuman to rig the resulting character in Blender. The rig can then be extended with the "IK rig" functionality: By clicking a button you can get extra
IK controls, and IK chains set up for arms, legs and fingers.
Rigs can also be amputated in case detailed bones are not required.
All rigs currently available to MakeHuman are supported.
=== Kinect ===
To be written
<br clear=all>
== A new windows installer ==
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
== Other bundled functionality ==
Apart from the above, some other functionality that previously had to be downloaded separately is now bundled:
=== MHX2 ===
MHX2 is now enabled per default in MakeHuman. The blender side of MHX2 can be downloaded from http://www.makehumancommunity.org/content/plugins.html
=== MHAPI ===
MHAPI (a library with convenience calls for making addons for MakeHuman) is now included and enabled per default.
== Where to download ==
The following are links to where you can download alpha 4.
You can [http://download.tuxfamily.org/makehuman/nightly/makehuman-community-1.2.0-alpha4-win32.zip download the windows build here].
For linux, [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community there is a new PPA].
== Providing feedback and bug reports ==
As always with an alpha release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums. But more formal information about bug trackers can be found here: http://www.makehumancommunity.org/content/bugtracker.html
57c244d0f60d56887ea5b52e04725eca1239cdb4
1626
1625
2019-12-02T08:49:25Z
Joepal
14
wikitext
text/x-wiki
MakeHuman Community 1.2.0 alpha 4 has not yet been released. The following are work in progress release notes.
Alpha 4 is the last planned alpha. Next release will be a beta. All in all, most of the code should now be almost as it is supposed to look for a release, but the latest changes to adress graphics card problems is extensive enough that we think an extra alpha release is merited (instead of the originally planned beta 1).
These notes are under construction and may be incomplete. Further, the notes describe, as of now, an alpha version of a coming release. The final release might be different from what is described below.
== General ==
In most cases, there should be no problem running versions 1.1.1 and 1.2.0 on the same system. They will not interfere with each other's files. You can find download links for 1.2.0 at the bottom of this page.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
The following are the changes since version 1.1.1.
== Changes since alpha 3 ==
* CORE: Multiple sources of graphics card errors were corrected
* CORE: There is now a fallback layer to adress some graphics card compatibility issues, primarily related to rendering
* CORE: Expressions are now found even when placed in subdirectories
* CORE: Sorting of assets in lists is now case insensitive
* USER PLUGINS: Fixed a bug where a user plugin could sometimes not be loaded
* PLUGINS: Many plugins are ''not'' bundled with this release, as they are changing rapidly and we think it is better that users pick the latest versions from http://www.makehumancommunity.org/content/plugins.html
** MHAPI: Is bundled and preinstalled
** SOCKET: Is bundled and preinstalled (this is the makehuman part of the new blender integration)
** ASSET DOWNLOADER: Is bundled and preinstalled
** MASS PRODUCE: Not bundled
** MAKEHUMAN PLUGIN FOR BLENDER (MPFB): Not bundled (this is the blender side of the new blender integration)
** MAKETARGET: Not bundled. There is now separate versions for blender 2.79 and 2.8x. You should pick the one that fits your needs
** MAKECLOTHES: Not bundled. There is now separate versions for blender 2.79 and 2.8x. You should pick the one that fits your needs
** MHX2 (makehuman side): Is bundled and preinstalled
** MHX2 (blender side): Not bundled
* ASSET DOWNLOADER: Downloaded materials for third-part assets will now be placed correctly in the target asset's directory, and will show up in the material chooser for that asset.
Due to the rapid evolution of the blender plugins (MPFB, MakeTarget, MakeClothes...) we're not listing these changes here. See the commit log in the respective git repositories instead.
== Highlights ==
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new Blender integration, with support for socket transfers, IK and Kinect
* There is a new randomization functionality for generating large sets of randomized characters
* Improved internationalization support for non-ASCII characters (backported)
* Plugins in user space
* Plugins activation at runtime
* Improved tag sorting capabilities (Hotkey: ALT-F), including sticky tag provisions
* Tags for models (with configurable tag count)
* Show Name Tags instead of file names in the file loader.
* Saving model as target
* Real weight estimation
* Configurable location for the home folder
* MHX2 is bundled in the default installation
* Save thumbnails directly from the internal render engine
* There is a new installer for windows
* There is a new PPA for ubuntu. This PPA also offers builds of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds)
== Known issues ==
* FBX skeleton will still misbehave
* While most of the graphics card incompatibilities should now be fixed, there may still be still parts of the program that cause problems with some integrated graphics cards.
* There is no build for OSX
* The user data folder is still makehuman/v1py3 rather than makehuman/v1, in order to guarrantee that the development version does not interfere with the stable version. This will probably be changed for the final release.
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
=== Running from source ===
The source code is available at [https://github.com/makehumancommunity/makehuman https://github.com/makehumancommunity/makehuman]. You'll also find basic instructions on how to use the source code on this page.
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 or higher
* NumPy: 1.13.0 or higher
* PyOpenGL: Any modern version will work, including the one used for MakeHuman 1.1.x
=== Ubuntu ===
In order to fulfill the minimum dependency requirements listed above, you will need Ubuntu 18.04 or later. For earlier Ubuntu versions, you would have use backports of the dependencies, as they are not available in the default installation.
The PPA for this build is here: [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community ppa:makehuman-official/makehuman-community].
To enable it, run:
sudo add-apt-repository ppa:makehuman-official/makehuman-community
sudo apt-get update
sudo apt-get install makehuman-community
=== Mint ===
The instructions for Ubuntu apply, but you will have to also explicitly install all plugins (whereas these will be installed automatically on Ubuntu)
sudo apt-get install makehuman-community-plugins-assetdownload makehuman-community-plugins-socket makehuman-community-plugins-massproduce mhx2-makehuman-exchange
== The upgraded codebase ==
The main focus of this release has been to modernize the code. In the prior version, large parts were written more than eight years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The expected end of life for python 2.7 is in a few months
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
== Asset downloader ==
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
<br clear=all>
== New blender integration ==
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
[[File:12x-blender-ik.png|300px|thumb|right|Convert to IK rig]]
This release bundles a rich set of blender functionalitites, which can be added to blender in the form of an addon. Not all functionality will be listed here, but the following are
some highlights.
=== Import directly from MakeHuman ===
In blender it is now possible to fetch a toon directly from a running instance of MakeHuman, without having to first save the toon to a file. The importer will talk with the makehuman instance
and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses. The process is almost instantaneous (a toon with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== IK and amputations ===
The importer will use the skeleton set in MakeHuman to rig the resulting character in Blender. The rig can then be extended with the "IK rig" functionality: By clicking a button you can get extra
IK controls, and IK chains set up for arms, legs and fingers.
Rigs can also be amputated in case detailed bones are not required.
All rigs currently available to MakeHuman are supported.
=== Kinect ===
To be written
<br clear=all>
== A new windows installer ==
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
== Other bundled functionality ==
Apart from the above, some other functionality that previously had to be downloaded separately is now bundled:
=== MHX2 ===
MHX2 is now enabled per default in MakeHuman. The blender side of MHX2 can be downloaded from http://www.makehumancommunity.org/content/plugins.html
=== MHAPI ===
MHAPI (a library with convenience calls for making addons for MakeHuman) is now included and enabled per default.
== Where to download ==
The following are links to where you can download alpha 4. They will be updated once beta 1 is released.
You can [http://download.tuxfamily.org/makehuman/nightly/makehuman-community-1.2.0-alpha4-win32.zip download the windows build here].
For linux, [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community there is a new PPA].
== Providing feedback and bug reports ==
As always with an alpha release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums. But more formal information about bug trackers can be found here: http://www.makehumancommunity.org/content/bugtracker.html
ba2894fe02e743cb6acc29ae27596c22ce30a1b5
1625
1624
2019-12-02T08:47:30Z
Joepal
14
/* Known issues */
wikitext
text/x-wiki
MakeHuman Community 1.2.0 alpha 4 has not yet been released. The following are work in progress release notes.
Alpha 4 is the last planned alpha. Next release will be a beta. All in all, most of the code should now be almost as it is supposed to look for a release, but the latest changes to adress graphics card problems is extensive enough that we think an extra alpha release is merited (instead of the originally planned beta 1).
These notes are under construction and may be incomplete. Further, the notes describe, as of now, an alpha version of a coming release. The final release might be different from what is described below.
== General ==
In most cases, there should be no problem running versions 1.1.1 and 1.2.0 on the same system. They will not interfere with each other's files. You can find download links for 1.2.0 at the bottom of this page.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
The following are the changes since version 1.1.1.
== Changes since alpha 3 ==
* CORE: Multiple sources of graphics card errors were corrected
* CORE: There is now a fallback layer to adress some graphics card compatibility issues, primarily related to rendering
* CORE: Expressions are now found even when placed in subdirectories
* CORE: Sorting of assets in lists is now case insensitive
* USER PLUGINS: Fixed a bug where a user plugin could sometimes not be loaded
* PLUGINS: Many plugins are ''not'' bundled with this release, as they are changing rapidly and we think it is better that users pick the latest versions from http://www.makehumancommunity.org/content/plugins.html
** MHAPI: Is bundled and preinstalled
** SOCKET: Is bundled and preinstalled (this is the makehuman part of the new blender integration)
** ASSET DOWNLOADER: Is bundled and preinstalled
** MASS PRODUCE: Not bundled
** MAKEHUMAN PLUGIN FOR BLENDER (MPFB): Not bundled (this is the blender side of the new blender integration)
** MAKETARGET: Not bundled. There is now separate versions for blender 2.79 and 2.8x. You should pick the one that fits your needs
** MAKECLOTHES: Not bundled. There is now separate versions for blender 2.79 and 2.8x. You should pick the one that fits your needs
** MHX2 (makehuman side): Is bundled and preinstalled
** MHX2 (blender side): Not bundled
* ASSET DOWNLOADER: Downloaded materials for third-part assets will now be placed correctly in the target asset's directory, and will show up in the material chooser for that asset.
Due to the rapid evolution of the blender plugins (MPFB, MakeTarget, MakeClothes...) we're not listing these changes here. See the commit log in the respective git repositories instead.
== Highlights ==
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new Blender integration, with support for socket transfers, IK and Kinect
* There is a new randomization functionality for generating large sets of randomized characters
* Improved internationalization support for non-ASCII characters (backported)
* Plugins in user space
* Plugins activation at runtime
* Improved tag sorting capabilities (Hotkey: ALT-F), including sticky tag provisions
* Tags for models (with configurable tag count)
* Show Name Tags instead of file names in the file loader.
* Saving model as target
* Real weight estimation
* Configurable location for the home folder
* MHX2 is bundled in the default installation
* Save thumbnails directly from the internal render engine
* There is a new installer for windows
* There is a new PPA for ubuntu. This PPA also offers builds of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds)
== Known issues ==
* FBX skeleton will still misbehave
* While most of the graphics card incompatibilities should now be fixed, there may still be still parts of the program that cause problems with some integrated graphics cards.
* There is no build for OSX
* The user data folder is still makehuman/v1py3 rather than makehuman/v1, in order to guarrantee that the development version does not interfere with the stable version. This will probably be changed for the final release.
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
=== Running from source ===
The source code is available at [https://github.com/makehumancommunity/makehuman https://github.com/makehumancommunity/makehuman]. You'll also find basic instructions on how to use the source code on this page.
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 or higher
* NumPy: 1.13.0 or higher
* PyOpenGL: Any modern version will work, including the one used for MakeHuman 1.1.x
=== Ubuntu ===
In order to fulfill the minimum dependency requirements listed above, you will need Ubuntu 18.04 or later. For earlier Ubuntu versions, you would have use backports of the dependencies, as they are not available in the default installation.
The PPA for this build is here: [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community ppa:makehuman-official/makehuman-community].
To enable it, run:
sudo add-apt-repository ppa:makehuman-official/makehuman-community
sudo apt-get update
sudo apt-get install makehuman-community
=== Mint ===
The instructions for Ubuntu apply, but you will have to also explicitly install all plugins (whereas these will be installed automatically on Ubuntu)
sudo apt-get install makehuman-community-plugins-assetdownload makehuman-community-plugins-socket makehuman-community-plugins-massproduce mhx2-makehuman-exchange
== The upgraded codebase ==
The main focus of this release has been to modernize the code. In the prior version, large parts were written more than eight years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The expected end of life for python 2.7 is in a few months
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
== Asset downloader ==
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
<br clear=all>
== New blender integration ==
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
[[File:12x-blender-ik.png|300px|thumb|right|Convert to IK rig]]
This release bundles a rich set of blender functionalitites, which can be added to blender in the form of an addon. Not all functionality will be listed here, but the following are
some highlights.
=== Import directly from MakeHuman ===
In blender it is now possible to fetch a toon directly from a running instance of MakeHuman, without having to first save the toon to a file. The importer will talk with the makehuman instance
and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses. The process is almost instantaneous (a toon with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== IK and amputations ===
The importer will use the skeleton set in MakeHuman to rig the resulting character in Blender. The rig can then be extended with the "IK rig" functionality: By clicking a button you can get extra
IK controls, and IK chains set up for arms, legs and fingers.
Rigs can also be amputated in case detailed bones are not required.
All rigs currently available to MakeHuman are supported.
=== Kinect ===
To be written
<br clear=all>
== The Mass Produce plugin ==
A new plugin is now bundled per default: The "mass produce" plugin. This allows rapidly generating large sets of randomized characters. The functionality is demonstrated in a youtube video:
{{#ev:youtube|jRHnJX-TdT4}}
== A new windows installer ==
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
== Other bundled functionality ==
Apart from the above, some other functionality that previously had to be downloaded separately is now bundled:
=== MHX2 ===
MHX2 is now enabled per default in MakeHuman. The blender side of MHX2 is bundled as a zip file which can
be added to blender via the user preferences.
=== MHAPI ===
MHAPI (a library with convenience calls for making addons for MakeHuman) is now included and enabled per default.
== Where to download ==
The following are links to where you can download alpha 4. They will be updated once beta 1 is released.
You can [http://download.tuxfamily.org/makehuman/nightly/makehuman-community-1.2.0-alpha4-win32.zip download the windows build here].
For linux, [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community there is a new PPA].
== Providing feedback and bug reports ==
As always with an alpha release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums. But more formal information about bug trackers can be found here: http://www.makehumancommunity.org/content/bugtracker.html
0c1f7dd159ff975c59c69d2d89aab78a7089930f
1624
1623
2019-12-02T08:44:06Z
Joepal
14
/* Changes since alpha 3 */
wikitext
text/x-wiki
MakeHuman Community 1.2.0 alpha 4 has not yet been released. The following are work in progress release notes.
Alpha 4 is the last planned alpha. Next release will be a beta. All in all, most of the code should now be almost as it is supposed to look for a release, but the latest changes to adress graphics card problems is extensive enough that we think an extra alpha release is merited (instead of the originally planned beta 1).
These notes are under construction and may be incomplete. Further, the notes describe, as of now, an alpha version of a coming release. The final release might be different from what is described below.
== General ==
In most cases, there should be no problem running versions 1.1.1 and 1.2.0 on the same system. They will not interfere with each other's files. You can find download links for 1.2.0 at the bottom of this page.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
The following are the changes since version 1.1.1.
== Changes since alpha 3 ==
* CORE: Multiple sources of graphics card errors were corrected
* CORE: There is now a fallback layer to adress some graphics card compatibility issues, primarily related to rendering
* CORE: Expressions are now found even when placed in subdirectories
* CORE: Sorting of assets in lists is now case insensitive
* USER PLUGINS: Fixed a bug where a user plugin could sometimes not be loaded
* PLUGINS: Many plugins are ''not'' bundled with this release, as they are changing rapidly and we think it is better that users pick the latest versions from http://www.makehumancommunity.org/content/plugins.html
** MHAPI: Is bundled and preinstalled
** SOCKET: Is bundled and preinstalled (this is the makehuman part of the new blender integration)
** ASSET DOWNLOADER: Is bundled and preinstalled
** MASS PRODUCE: Not bundled
** MAKEHUMAN PLUGIN FOR BLENDER (MPFB): Not bundled (this is the blender side of the new blender integration)
** MAKETARGET: Not bundled. There is now separate versions for blender 2.79 and 2.8x. You should pick the one that fits your needs
** MAKECLOTHES: Not bundled. There is now separate versions for blender 2.79 and 2.8x. You should pick the one that fits your needs
** MHX2 (makehuman side): Is bundled and preinstalled
** MHX2 (blender side): Not bundled
* ASSET DOWNLOADER: Downloaded materials for third-part assets will now be placed correctly in the target asset's directory, and will show up in the material chooser for that asset.
Due to the rapid evolution of the blender plugins (MPFB, MakeTarget, MakeClothes...) we're not listing these changes here. See the commit log in the respective git repositories instead.
== Highlights ==
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new Blender integration, with support for socket transfers, IK and Kinect
* There is a new randomization functionality for generating large sets of randomized characters
* Improved internationalization support for non-ASCII characters (backported)
* Plugins in user space
* Plugins activation at runtime
* Improved tag sorting capabilities (Hotkey: ALT-F), including sticky tag provisions
* Tags for models (with configurable tag count)
* Show Name Tags instead of file names in the file loader.
* Saving model as target
* Real weight estimation
* Configurable location for the home folder
* MHX2 is bundled in the default installation
* Save thumbnails directly from the internal render engine
* There is a new installer for windows
* There is a new PPA for ubuntu. This PPA also offers builds of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds)
== Known issues ==
* FBX skeleton will still misbehave
* While most of the graphics card incompatibilities should now be fixed, there are still some (seldomly used) parts of the program that may cause problems with some intel cards.
* There is no build for OSX
* The user data folder is still makehuman/v1py3 rather than makehuman/v1, in order to guarrantee that the development version does not interfere with the stable version. This will probably be changed for the final release.
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
=== Running from source ===
The source code is available at [https://github.com/makehumancommunity/makehuman https://github.com/makehumancommunity/makehuman]. You'll also find basic instructions on how to use the source code on this page.
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 or higher
* NumPy: 1.13.0 or higher
* PyOpenGL: Any modern version will work, including the one used for MakeHuman 1.1.x
=== Ubuntu ===
In order to fulfill the minimum dependency requirements listed above, you will need Ubuntu 18.04 or later. For earlier Ubuntu versions, you would have use backports of the dependencies, as they are not available in the default installation.
The PPA for this build is here: [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community ppa:makehuman-official/makehuman-community].
To enable it, run:
sudo add-apt-repository ppa:makehuman-official/makehuman-community
sudo apt-get update
sudo apt-get install makehuman-community
=== Mint ===
The instructions for Ubuntu apply, but you will have to also explicitly install all plugins (whereas these will be installed automatically on Ubuntu)
sudo apt-get install makehuman-community-plugins-assetdownload makehuman-community-plugins-socket makehuman-community-plugins-massproduce mhx2-makehuman-exchange
== The upgraded codebase ==
The main focus of this release has been to modernize the code. In the prior version, large parts were written more than eight years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The expected end of life for python 2.7 is in a few months
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
== Asset downloader ==
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
<br clear=all>
== New blender integration ==
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
[[File:12x-blender-ik.png|300px|thumb|right|Convert to IK rig]]
This release bundles a rich set of blender functionalitites, which can be added to blender in the form of an addon. Not all functionality will be listed here, but the following are
some highlights.
=== Import directly from MakeHuman ===
In blender it is now possible to fetch a toon directly from a running instance of MakeHuman, without having to first save the toon to a file. The importer will talk with the makehuman instance
and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses. The process is almost instantaneous (a toon with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== IK and amputations ===
The importer will use the skeleton set in MakeHuman to rig the resulting character in Blender. The rig can then be extended with the "IK rig" functionality: By clicking a button you can get extra
IK controls, and IK chains set up for arms, legs and fingers.
Rigs can also be amputated in case detailed bones are not required.
All rigs currently available to MakeHuman are supported.
=== Kinect ===
To be written
<br clear=all>
== The Mass Produce plugin ==
A new plugin is now bundled per default: The "mass produce" plugin. This allows rapidly generating large sets of randomized characters. The functionality is demonstrated in a youtube video:
{{#ev:youtube|jRHnJX-TdT4}}
== A new windows installer ==
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
== Other bundled functionality ==
Apart from the above, some other functionality that previously had to be downloaded separately is now bundled:
=== MHX2 ===
MHX2 is now enabled per default in MakeHuman. The blender side of MHX2 is bundled as a zip file which can
be added to blender via the user preferences.
=== MHAPI ===
MHAPI (a library with convenience calls for making addons for MakeHuman) is now included and enabled per default.
== Where to download ==
The following are links to where you can download alpha 4. They will be updated once beta 1 is released.
You can [http://download.tuxfamily.org/makehuman/nightly/makehuman-community-1.2.0-alpha4-win32.zip download the windows build here].
For linux, [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community there is a new PPA].
== Providing feedback and bug reports ==
As always with an alpha release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums. But more formal information about bug trackers can be found here: http://www.makehumancommunity.org/content/bugtracker.html
806e411b3254d199c5330a8f82adaae26c7174f4
1623
1622
2019-12-02T08:39:59Z
Joepal
14
/* Changes since alpha 3 */
wikitext
text/x-wiki
MakeHuman Community 1.2.0 alpha 4 has not yet been released. The following are work in progress release notes.
Alpha 4 is the last planned alpha. Next release will be a beta. All in all, most of the code should now be almost as it is supposed to look for a release, but the latest changes to adress graphics card problems is extensive enough that we think an extra alpha release is merited (instead of the originally planned beta 1).
These notes are under construction and may be incomplete. Further, the notes describe, as of now, an alpha version of a coming release. The final release might be different from what is described below.
== General ==
In most cases, there should be no problem running versions 1.1.1 and 1.2.0 on the same system. They will not interfere with each other's files. You can find download links for 1.2.0 at the bottom of this page.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
The following are the changes since version 1.1.1.
== Changes since alpha 3 ==
* CORE: Multiple sources of graphics card errors were corrected
* CORE: There is now a fallback layer to adress some graphics card compatibility issues, primarily related to rendering
* PLUGINS: Many plugins are ''not'' bundled with this release, as they are changing rapidly and we think it is better that users pick the latest versions from http://www.makehumancommunity.org/content/plugins.html
** MHAPI: Is bundled and preinstalled
** SOCKET: Is bundled and preinstalled (this is the makehuman part of the new blender integration)
** ASSET DOWNLOADER: Is bundled and preinstalled
** MASS PRODUCE: Not bundled
** MAKEHUMAN PLUGIN FOR BLENDER (MPFB): Not bundled (this is the blender side of the new blender integration)
** MAKETARGET: Not bundled. There is now separate versions for blender 2.79 and 2.8x. You should pick the one that fits your needs
** MAKECLOTHES: Not bundled. There is now separate versions for blender 2.79 and 2.8x. You should pick the one that fits your needs
** MHX2 (makehuman side): Is bundled and preinstalled
** MHX2 (blender side): Not bundled
* ASSET DOWNLOADER: Downloaded materials for third-part assets will now be placed correctly in the target asset's directory, and will show up in the material chooser for that asset.
Due to the rapid evolution of the blender plugins (MPFB, MakeTarget, MakeClothes...) we're not listing these changes here. See the commit log in the respective git repositories instead.
== Highlights ==
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new Blender integration, with support for socket transfers, IK and Kinect
* There is a new randomization functionality for generating large sets of randomized characters
* Improved internationalization support for non-ASCII characters (backported)
* Plugins in user space
* Plugins activation at runtime
* Improved tag sorting capabilities (Hotkey: ALT-F), including sticky tag provisions
* Tags for models (with configurable tag count)
* Show Name Tags instead of file names in the file loader.
* Saving model as target
* Real weight estimation
* Configurable location for the home folder
* MHX2 is bundled in the default installation
* Save thumbnails directly from the internal render engine
* There is a new installer for windows
* There is a new PPA for ubuntu. This PPA also offers builds of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds)
== Known issues ==
* FBX skeleton will still misbehave
* While most of the graphics card incompatibilities should now be fixed, there are still some (seldomly used) parts of the program that may cause problems with some intel cards.
* There is no build for OSX
* The user data folder is still makehuman/v1py3 rather than makehuman/v1, in order to guarrantee that the development version does not interfere with the stable version. This will probably be changed for the final release.
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
=== Running from source ===
The source code is available at [https://github.com/makehumancommunity/makehuman https://github.com/makehumancommunity/makehuman]. You'll also find basic instructions on how to use the source code on this page.
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 or higher
* NumPy: 1.13.0 or higher
* PyOpenGL: Any modern version will work, including the one used for MakeHuman 1.1.x
=== Ubuntu ===
In order to fulfill the minimum dependency requirements listed above, you will need Ubuntu 18.04 or later. For earlier Ubuntu versions, you would have use backports of the dependencies, as they are not available in the default installation.
The PPA for this build is here: [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community ppa:makehuman-official/makehuman-community].
To enable it, run:
sudo add-apt-repository ppa:makehuman-official/makehuman-community
sudo apt-get update
sudo apt-get install makehuman-community
=== Mint ===
The instructions for Ubuntu apply, but you will have to also explicitly install all plugins (whereas these will be installed automatically on Ubuntu)
sudo apt-get install makehuman-community-plugins-assetdownload makehuman-community-plugins-socket makehuman-community-plugins-massproduce mhx2-makehuman-exchange
== The upgraded codebase ==
The main focus of this release has been to modernize the code. In the prior version, large parts were written more than eight years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The expected end of life for python 2.7 is in a few months
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
== Asset downloader ==
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
<br clear=all>
== New blender integration ==
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
[[File:12x-blender-ik.png|300px|thumb|right|Convert to IK rig]]
This release bundles a rich set of blender functionalitites, which can be added to blender in the form of an addon. Not all functionality will be listed here, but the following are
some highlights.
=== Import directly from MakeHuman ===
In blender it is now possible to fetch a toon directly from a running instance of MakeHuman, without having to first save the toon to a file. The importer will talk with the makehuman instance
and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses. The process is almost instantaneous (a toon with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== IK and amputations ===
The importer will use the skeleton set in MakeHuman to rig the resulting character in Blender. The rig can then be extended with the "IK rig" functionality: By clicking a button you can get extra
IK controls, and IK chains set up for arms, legs and fingers.
Rigs can also be amputated in case detailed bones are not required.
All rigs currently available to MakeHuman are supported.
=== Kinect ===
To be written
<br clear=all>
== The Mass Produce plugin ==
A new plugin is now bundled per default: The "mass produce" plugin. This allows rapidly generating large sets of randomized characters. The functionality is demonstrated in a youtube video:
{{#ev:youtube|jRHnJX-TdT4}}
== A new windows installer ==
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
== Other bundled functionality ==
Apart from the above, some other functionality that previously had to be downloaded separately is now bundled:
=== MHX2 ===
MHX2 is now enabled per default in MakeHuman. The blender side of MHX2 is bundled as a zip file which can
be added to blender via the user preferences.
=== MHAPI ===
MHAPI (a library with convenience calls for making addons for MakeHuman) is now included and enabled per default.
== Where to download ==
The following are links to where you can download alpha 4. They will be updated once beta 1 is released.
You can [http://download.tuxfamily.org/makehuman/nightly/makehuman-community-1.2.0-alpha4-win32.zip download the windows build here].
For linux, [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community there is a new PPA].
== Providing feedback and bug reports ==
As always with an alpha release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums. But more formal information about bug trackers can be found here: http://www.makehumancommunity.org/content/bugtracker.html
b3c03dfc3d93d0804395f6bd57aa2e002e09736b
1622
1621
2019-12-02T08:36:24Z
Joepal
14
/* Changes since alpha 3 */
wikitext
text/x-wiki
MakeHuman Community 1.2.0 alpha 4 has not yet been released. The following are work in progress release notes.
Alpha 4 is the last planned alpha. Next release will be a beta. All in all, most of the code should now be almost as it is supposed to look for a release, but the latest changes to adress graphics card problems is extensive enough that we think an extra alpha release is merited (instead of the originally planned beta 1).
These notes are under construction and may be incomplete. Further, the notes describe, as of now, an alpha version of a coming release. The final release might be different from what is described below.
== General ==
In most cases, there should be no problem running versions 1.1.1 and 1.2.0 on the same system. They will not interfere with each other's files. You can find download links for 1.2.0 at the bottom of this page.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
The following are the changes since version 1.1.1.
== Changes since alpha 3 ==
* CORE: Multiple sources of graphics card errors were corrected
* CORE: There is now a fallback layer to adress some graphics card compatibility issues, primarily related to rendering
* ASSET DOWNLOADER: Downloaded materials for third-part assets will now be placed correctly in the target asset's directory, and will show up in the material chooser for that asset.
* PLUGINS: Many plugins are ''not'' bundled with this release, as they are changing rapidly and we think it is better that users pick the latest versions from http://www.makehumancommunity.org/content/plugins.html
** MHAPI: Is bundled and preinstalled
** SOCKET: Is bundled and preinstalled (this is the makehuman part of the new blender integration)
** ASSET DOWNLOADER: Is bundled and preinstalled
** MASS PRODUCE: Not bundled
** MAKEHUMAN PLUGIN FOR BLENDER (MPFB): Not bundled (this is the blender side of the new blender integration)
** MAKETARGET: Not bundled. There is now separate versions for blender 2.79 and 2.8x. You should pick the one that fits your needs
** MAKECLOTHES: Not bundled. There is now separate versions for blender 2.79 and 2.8x. You should pick the one that fits your needs
** MHX2 (makehuman side): Is bundled and preinstalled
** MHX2 (blender side): Not bundled
== Highlights ==
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new Blender integration, with support for socket transfers, IK and Kinect
* There is a new randomization functionality for generating large sets of randomized characters
* Improved internationalization support for non-ASCII characters (backported)
* Plugins in user space
* Plugins activation at runtime
* Improved tag sorting capabilities (Hotkey: ALT-F), including sticky tag provisions
* Tags for models (with configurable tag count)
* Show Name Tags instead of file names in the file loader.
* Saving model as target
* Real weight estimation
* Configurable location for the home folder
* MHX2 is bundled in the default installation
* Save thumbnails directly from the internal render engine
* There is a new installer for windows
* There is a new PPA for ubuntu. This PPA also offers builds of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds)
== Known issues ==
* FBX skeleton will still misbehave
* While most of the graphics card incompatibilities should now be fixed, there are still some (seldomly used) parts of the program that may cause problems with some intel cards.
* There is no build for OSX
* The user data folder is still makehuman/v1py3 rather than makehuman/v1, in order to guarrantee that the development version does not interfere with the stable version. This will probably be changed for the final release.
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
=== Running from source ===
The source code is available at [https://github.com/makehumancommunity/makehuman https://github.com/makehumancommunity/makehuman]. You'll also find basic instructions on how to use the source code on this page.
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 or higher
* NumPy: 1.13.0 or higher
* PyOpenGL: Any modern version will work, including the one used for MakeHuman 1.1.x
=== Ubuntu ===
In order to fulfill the minimum dependency requirements listed above, you will need Ubuntu 18.04 or later. For earlier Ubuntu versions, you would have use backports of the dependencies, as they are not available in the default installation.
The PPA for this build is here: [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community ppa:makehuman-official/makehuman-community].
To enable it, run:
sudo add-apt-repository ppa:makehuman-official/makehuman-community
sudo apt-get update
sudo apt-get install makehuman-community
=== Mint ===
The instructions for Ubuntu apply, but you will have to also explicitly install all plugins (whereas these will be installed automatically on Ubuntu)
sudo apt-get install makehuman-community-plugins-assetdownload makehuman-community-plugins-socket makehuman-community-plugins-massproduce mhx2-makehuman-exchange
== The upgraded codebase ==
The main focus of this release has been to modernize the code. In the prior version, large parts were written more than eight years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The expected end of life for python 2.7 is in a few months
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
== Asset downloader ==
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
<br clear=all>
== New blender integration ==
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
[[File:12x-blender-ik.png|300px|thumb|right|Convert to IK rig]]
This release bundles a rich set of blender functionalitites, which can be added to blender in the form of an addon. Not all functionality will be listed here, but the following are
some highlights.
=== Import directly from MakeHuman ===
In blender it is now possible to fetch a toon directly from a running instance of MakeHuman, without having to first save the toon to a file. The importer will talk with the makehuman instance
and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses. The process is almost instantaneous (a toon with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== IK and amputations ===
The importer will use the skeleton set in MakeHuman to rig the resulting character in Blender. The rig can then be extended with the "IK rig" functionality: By clicking a button you can get extra
IK controls, and IK chains set up for arms, legs and fingers.
Rigs can also be amputated in case detailed bones are not required.
All rigs currently available to MakeHuman are supported.
=== Kinect ===
To be written
<br clear=all>
== The Mass Produce plugin ==
A new plugin is now bundled per default: The "mass produce" plugin. This allows rapidly generating large sets of randomized characters. The functionality is demonstrated in a youtube video:
{{#ev:youtube|jRHnJX-TdT4}}
== A new windows installer ==
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
== Other bundled functionality ==
Apart from the above, some other functionality that previously had to be downloaded separately is now bundled:
=== MHX2 ===
MHX2 is now enabled per default in MakeHuman. The blender side of MHX2 is bundled as a zip file which can
be added to blender via the user preferences.
=== MHAPI ===
MHAPI (a library with convenience calls for making addons for MakeHuman) is now included and enabled per default.
== Where to download ==
The following are links to where you can download alpha 4. They will be updated once beta 1 is released.
You can [http://download.tuxfamily.org/makehuman/nightly/makehuman-community-1.2.0-alpha4-win32.zip download the windows build here].
For linux, [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community there is a new PPA].
== Providing feedback and bug reports ==
As always with an alpha release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums. But more formal information about bug trackers can be found here: http://www.makehumancommunity.org/content/bugtracker.html
421266006a37e084088f32cc49abd9f1fe042b1b
1621
1619
2019-12-02T08:30:48Z
Joepal
14
wikitext
text/x-wiki
MakeHuman Community 1.2.0 alpha 4 has not yet been released. The following are work in progress release notes.
Alpha 4 is the last planned alpha. Next release will be a beta. All in all, most of the code should now be almost as it is supposed to look for a release, but the latest changes to adress graphics card problems is extensive enough that we think an extra alpha release is merited (instead of the originally planned beta 1).
These notes are under construction and may be incomplete. Further, the notes describe, as of now, an alpha version of a coming release. The final release might be different from what is described below.
== General ==
In most cases, there should be no problem running versions 1.1.1 and 1.2.0 on the same system. They will not interfere with each other's files. You can find download links for 1.2.0 at the bottom of this page.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
The following are the changes since version 1.1.1.
== Changes since alpha 3 ==
* CORE: Multiple sources of graphics card errors were corrected
* CORE: There is now a fallback layer to adress some graphics card compatibility issues, primarily related to rendering
* ASSET DOWNLOADER: Downloaded materials for third-part assets will now be placed correctly in the target asset's directory, and will show up in the material chooser for that asset.
== Highlights ==
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new Blender integration, with support for socket transfers, IK and Kinect
* There is a new randomization functionality for generating large sets of randomized characters
* Improved internationalization support for non-ASCII characters (backported)
* Plugins in user space
* Plugins activation at runtime
* Improved tag sorting capabilities (Hotkey: ALT-F), including sticky tag provisions
* Tags for models (with configurable tag count)
* Show Name Tags instead of file names in the file loader.
* Saving model as target
* Real weight estimation
* Configurable location for the home folder
* MHX2 is bundled in the default installation
* Save thumbnails directly from the internal render engine
* There is a new installer for windows
* There is a new PPA for ubuntu. This PPA also offers builds of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds)
== Known issues ==
* FBX skeleton will still misbehave
* While most of the graphics card incompatibilities should now be fixed, there are still some (seldomly used) parts of the program that may cause problems with some intel cards.
* There is no build for OSX
* The user data folder is still makehuman/v1py3 rather than makehuman/v1, in order to guarrantee that the development version does not interfere with the stable version. This will probably be changed for the final release.
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
=== Running from source ===
The source code is available at [https://github.com/makehumancommunity/makehuman https://github.com/makehumancommunity/makehuman]. You'll also find basic instructions on how to use the source code on this page.
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 or higher
* NumPy: 1.13.0 or higher
* PyOpenGL: Any modern version will work, including the one used for MakeHuman 1.1.x
=== Ubuntu ===
In order to fulfill the minimum dependency requirements listed above, you will need Ubuntu 18.04 or later. For earlier Ubuntu versions, you would have use backports of the dependencies, as they are not available in the default installation.
The PPA for this build is here: [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community ppa:makehuman-official/makehuman-community].
To enable it, run:
sudo add-apt-repository ppa:makehuman-official/makehuman-community
sudo apt-get update
sudo apt-get install makehuman-community
=== Mint ===
The instructions for Ubuntu apply, but you will have to also explicitly install all plugins (whereas these will be installed automatically on Ubuntu)
sudo apt-get install makehuman-community-plugins-assetdownload makehuman-community-plugins-socket makehuman-community-plugins-massproduce mhx2-makehuman-exchange
== The upgraded codebase ==
The main focus of this release has been to modernize the code. In the prior version, large parts were written more than eight years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The expected end of life for python 2.7 is in a few months
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
== Asset downloader ==
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
<br clear=all>
== New blender integration ==
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
[[File:12x-blender-ik.png|300px|thumb|right|Convert to IK rig]]
This release bundles a rich set of blender functionalitites, which can be added to blender in the form of an addon. Not all functionality will be listed here, but the following are
some highlights.
=== Import directly from MakeHuman ===
In blender it is now possible to fetch a toon directly from a running instance of MakeHuman, without having to first save the toon to a file. The importer will talk with the makehuman instance
and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses. The process is almost instantaneous (a toon with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== IK and amputations ===
The importer will use the skeleton set in MakeHuman to rig the resulting character in Blender. The rig can then be extended with the "IK rig" functionality: By clicking a button you can get extra
IK controls, and IK chains set up for arms, legs and fingers.
Rigs can also be amputated in case detailed bones are not required.
All rigs currently available to MakeHuman are supported.
=== Kinect ===
To be written
<br clear=all>
== The Mass Produce plugin ==
A new plugin is now bundled per default: The "mass produce" plugin. This allows rapidly generating large sets of randomized characters. The functionality is demonstrated in a youtube video:
{{#ev:youtube|jRHnJX-TdT4}}
== A new windows installer ==
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
== Other bundled functionality ==
Apart from the above, some other functionality that previously had to be downloaded separately is now bundled:
=== MHX2 ===
MHX2 is now enabled per default in MakeHuman. The blender side of MHX2 is bundled as a zip file which can
be added to blender via the user preferences.
=== MHAPI ===
MHAPI (a library with convenience calls for making addons for MakeHuman) is now included and enabled per default.
== Where to download ==
The following are links to where you can download alpha 4. They will be updated once beta 1 is released.
You can [http://download.tuxfamily.org/makehuman/nightly/makehuman-community-1.2.0-alpha4-win32.zip download the windows build here].
For linux, [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community there is a new PPA].
== Providing feedback and bug reports ==
As always with an alpha release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums. But more formal information about bug trackers can be found here: http://www.makehumancommunity.org/content/bugtracker.html
47e67d855bf4bd7d2da2a9060ff4c470458df187
1619
1594
2019-12-02T08:22:52Z
Joepal
14
Joepal moved page [[Releases:120b1]] to [[Releases:120a4]] without leaving a redirect: Releasing alpha 4 instead of beta 1
wikitext
text/x-wiki
MakeHuman Community 1.2.0 beta1 has not yet been released. The following are work in progress release notes.
Beta 1 is intended to be as stable as a stable release can be, but it will not be as tested as a formal stable release will be. Thus, in most cases things should work as intended, but there might be the occasional glitch.
These notes are under construction and may be incomplete. Further, the notes describe, as of now, a beta version of a coming release. The final release might be different from what is described below.
== General ==
In most cases, there should be no problem running versions 1.1.1 and 1.2.0 on the same system. They will not interfere with each other's files. You can find download links for 1.2.0 at the bottom of this page.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
The following are the changes since version 1.1.1.
== Changes since alpha 3 ==
* ASSET DOWNLOADER: Downloaded materials for third-part assets will now be placed correctly in the target asset's directory, and will show up in the material chooser for that asset.
== Highlights ==
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new Blender integration, with support for socket transfers, IK and Kinect
* There is a new randomization functionality for generating large sets of randomized characters
* Improved internationalization support for non-ASCII characters (backported)
* Plugins in user space
* Plugins activation at runtime
* Improved tag sorting capabilities (Hotkey: ALT-F), including sticky tag provisions
* Tags for models (with configurable tag count)
* Show Name Tags instead of file names in the file loader.
* Saving model as target
* Real weight estimation
* Configurable location for the home folder
* MHX2 is bundled in the default installation
* Save thumbnails directly from the internal render engine
* There is a new installer for windows
* There is a new PPA for ubuntu. This PPA also offers builds of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds)
== Known issues ==
* FBX skeleton will still misbehave
* While most of the graphics card incompatibilities should now be fixed, there are still some (seldomly used) parts of the program that may cause problems with some intel cards.
* There is no build for OSX
* The user data folder is still makehuman/v1py3 rather than makehuman/v1, in order to guarrantee that the development version does not interfere with the stable version. This will probably be changed for the final release.
* The new blender importer will crash when used in a version of blender that is shipped with ubuntu 18.04. It works fine on ubuntu 18.04 if using a blender that is downloaded from blender's homepage though. Users are recommended to ''not'' use ubuntu's version of blender.
* The new blender importer requires at least blender 2.79. It will not work with versions earlier than 2.79.
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
=== Running from source ===
The source code is available at [https://github.com/makehumancommunity/makehuman https://github.com/makehumancommunity/makehuman]. You'll also find basic instructions on how to use the source code on this page.
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 or higher
* NumPy: 1.13.0 or higher
* PyOpenGL: Any modern version will work, including the one used for MakeHuman 1.1.x
=== Ubuntu ===
In order to fulfill the minimum dependency requirements listed above, you will need Ubuntu 18.04 or later. For earlier Ubuntu versions, you would have use backports of the dependencies, as they are not available in the default installation.
The PPA for this build is here: [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community ppa:makehuman-official/makehuman-community].
To enable it, run:
sudo add-apt-repository ppa:makehuman-official/makehuman-community
sudo apt-get update
sudo apt-get install makehuman-community
=== Mint ===
The instructions for Ubuntu apply, but you will have to also explicitly install all plugins (whereas these will be installed automatically on Ubuntu)
sudo apt-get install makehuman-community-plugins-assetdownload makehuman-community-plugins-socket makehuman-community-plugins-massproduce mhx2-makehuman-exchange
== The upgraded codebase ==
The main focus of this release has been to modernize the code. In the prior version, large parts were written more than eight years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The expected end of life for python 2.7 is in less than two years.
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
== Asset downloader ==
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
<br clear=all>
== New blender integration ==
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
[[File:12x-blender-ik.png|300px|thumb|right|Convert to IK rig]]
This release bundles a rich set of blender functionalitites, which can be added to blender in the form of an addon. Not all functionality will be listed here, but the following are
some highlights.
=== Import directly from MakeHuman ===
In blender it is now possible to fetch a toon directly from a running instance of MakeHuman, without having to first save the toon to a file. The importer will talk with the makehuman instance
and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses. The process is almost instantaneous (a toon with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== IK and amputations ===
The importer will use the skeleton set in MakeHuman to rig the resulting character in Blender. The rig can then be extended with the "IK rig" functionality: By clicking a button you can get extra
IK controls, and IK chains set up for arms, legs and fingers.
Rigs can also be amputated in case detailed bones are not required.
All rigs currently available to MakeHuman are supported.
=== Kinect ===
To be written
<br clear=all>
== The Mass Produce plugin ==
A new plugin is now bundled per default: The "mass produce" plugin. This allows rapidly generating large sets of randomized characters. The functionality is demonstrated in a youtube video:
{{#ev:youtube|jRHnJX-TdT4}}
== A new windows installer ==
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
== Other bundled functionality ==
Apart from the above, some other functionality that previously had to be downloaded separately is now bundled:
=== MHX2 ===
MHX2 is now enabled per default in MakeHuman. The blender side of MHX2 is bundled as a zip file which can
be added to blender via the user preferences.
=== MHAPI ===
MHAPI (a library with convenience calls for making addons for MakeHuman) is now included and enabled per default.
== Where to download ==
The following are links to where you can download alpha 3. They will be updated once beta 1 is released.
You can [http://download.tuxfamily.org/makehuman/nightly/makehuman-community-1.2.0-alpha3-win32.zip download the windows build here].
For linux, [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community there is a new PPA].
== Providing feedback and bug reports ==
As always with an alpha release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums. But more formal information about bug trackers can be found here: http://www.makehumancommunity.org/content/bugtracker.html
86ddd76eb65f6bdcdfd40579d46dd79d07b7fcf2
1594
1589
2019-05-10T09:44:00Z
Wolgade
26
/* Running from source */
wikitext
text/x-wiki
MakeHuman Community 1.2.0 beta1 has not yet been released. The following are work in progress release notes.
Beta 1 is intended to be as stable as a stable release can be, but it will not be as tested as a formal stable release will be. Thus, in most cases things should work as intended, but there might be the occasional glitch.
These notes are under construction and may be incomplete. Further, the notes describe, as of now, a beta version of a coming release. The final release might be different from what is described below.
== General ==
In most cases, there should be no problem running versions 1.1.1 and 1.2.0 on the same system. They will not interfere with each other's files. You can find download links for 1.2.0 at the bottom of this page.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
The following are the changes since version 1.1.1.
== Changes since alpha 3 ==
* ASSET DOWNLOADER: Downloaded materials for third-part assets will now be placed correctly in the target asset's directory, and will show up in the material chooser for that asset.
== Highlights ==
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new Blender integration, with support for socket transfers, IK and Kinect
* There is a new randomization functionality for generating large sets of randomized characters
* Improved internationalization support for non-ASCII characters (backported)
* Plugins in user space
* Plugins activation at runtime
* Improved tag sorting capabilities (Hotkey: ALT-F), including sticky tag provisions
* Tags for models (with configurable tag count)
* Show Name Tags instead of file names in the file loader.
* Saving model as target
* Real weight estimation
* Configurable location for the home folder
* MHX2 is bundled in the default installation
* Save thumbnails directly from the internal render engine
* There is a new installer for windows
* There is a new PPA for ubuntu. This PPA also offers builds of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds)
== Known issues ==
* FBX skeleton will still misbehave
* While most of the graphics card incompatibilities should now be fixed, there are still some (seldomly used) parts of the program that may cause problems with some intel cards.
* There is no build for OSX
* The user data folder is still makehuman/v1py3 rather than makehuman/v1, in order to guarrantee that the development version does not interfere with the stable version. This will probably be changed for the final release.
* The new blender importer will crash when used in a version of blender that is shipped with ubuntu 18.04. It works fine on ubuntu 18.04 if using a blender that is downloaded from blender's homepage though. Users are recommended to ''not'' use ubuntu's version of blender.
* The new blender importer requires at least blender 2.79. It will not work with versions earlier than 2.79.
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
=== Running from source ===
The source code is available at [https://github.com/makehumancommunity/makehuman https://github.com/makehumancommunity/makehuman]. You'll also find basic instructions on how to use the source code on this page.
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 or higher
* NumPy: 1.13.0 or higher
* PyOpenGL: Any modern version will work, including the one used for MakeHuman 1.1.x
=== Ubuntu ===
In order to fulfill the minimum dependency requirements listed above, you will need Ubuntu 18.04 or later. For earlier Ubuntu versions, you would have use backports of the dependencies, as they are not available in the default installation.
The PPA for this build is here: [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community ppa:makehuman-official/makehuman-community].
To enable it, run:
sudo add-apt-repository ppa:makehuman-official/makehuman-community
sudo apt-get update
sudo apt-get install makehuman-community
=== Mint ===
The instructions for Ubuntu apply, but you will have to also explicitly install all plugins (whereas these will be installed automatically on Ubuntu)
sudo apt-get install makehuman-community-plugins-assetdownload makehuman-community-plugins-socket makehuman-community-plugins-massproduce mhx2-makehuman-exchange
== The upgraded codebase ==
The main focus of this release has been to modernize the code. In the prior version, large parts were written more than eight years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The expected end of life for python 2.7 is in less than two years.
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
== Asset downloader ==
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
<br clear=all>
== New blender integration ==
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
[[File:12x-blender-ik.png|300px|thumb|right|Convert to IK rig]]
This release bundles a rich set of blender functionalitites, which can be added to blender in the form of an addon. Not all functionality will be listed here, but the following are
some highlights.
=== Import directly from MakeHuman ===
In blender it is now possible to fetch a toon directly from a running instance of MakeHuman, without having to first save the toon to a file. The importer will talk with the makehuman instance
and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses. The process is almost instantaneous (a toon with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== IK and amputations ===
The importer will use the skeleton set in MakeHuman to rig the resulting character in Blender. The rig can then be extended with the "IK rig" functionality: By clicking a button you can get extra
IK controls, and IK chains set up for arms, legs and fingers.
Rigs can also be amputated in case detailed bones are not required.
All rigs currently available to MakeHuman are supported.
=== Kinect ===
To be written
<br clear=all>
== The Mass Produce plugin ==
A new plugin is now bundled per default: The "mass produce" plugin. This allows rapidly generating large sets of randomized characters. The functionality is demonstrated in a youtube video:
{{#ev:youtube|jRHnJX-TdT4}}
== A new windows installer ==
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
== Other bundled functionality ==
Apart from the above, some other functionality that previously had to be downloaded separately is now bundled:
=== MHX2 ===
MHX2 is now enabled per default in MakeHuman. The blender side of MHX2 is bundled as a zip file which can
be added to blender via the user preferences.
=== MHAPI ===
MHAPI (a library with convenience calls for making addons for MakeHuman) is now included and enabled per default.
== Where to download ==
The following are links to where you can download alpha 3. They will be updated once beta 1 is released.
You can [http://download.tuxfamily.org/makehuman/nightly/makehuman-community-1.2.0-alpha3-win32.zip download the windows build here].
For linux, [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community there is a new PPA].
== Providing feedback and bug reports ==
As always with an alpha release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums. But more formal information about bug trackers can be found here: http://www.makehumancommunity.org/content/bugtracker.html
86ddd76eb65f6bdcdfd40579d46dd79d07b7fcf2
1589
2019-04-07T17:24:17Z
Joepal
14
Created page with "MakeHuman Community 1.2.0 beta1 has not yet been released. The following are work in progress release notes. Beta 1 is intended to be as stable as a stable release can be, bu..."
wikitext
text/x-wiki
MakeHuman Community 1.2.0 beta1 has not yet been released. The following are work in progress release notes.
Beta 1 is intended to be as stable as a stable release can be, but it will not be as tested as a formal stable release will be. Thus, in most cases things should work as intended, but there might be the occasional glitch.
These notes are under construction and may be incomplete. Further, the notes describe, as of now, a beta version of a coming release. The final release might be different from what is described below.
== General ==
In most cases, there should be no problem running versions 1.1.1 and 1.2.0 on the same system. They will not interfere with each other's files. You can find download links for 1.2.0 at the bottom of this page.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
The following are the changes since version 1.1.1.
== Changes since alpha 3 ==
* ASSET DOWNLOADER: Downloaded materials for third-part assets will now be placed correctly in the target asset's directory, and will show up in the material chooser for that asset.
== Highlights ==
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new Blender integration, with support for socket transfers, IK and Kinect
* There is a new randomization functionality for generating large sets of randomized characters
* Improved internationalization support for non-ASCII characters (backported)
* Plugins in user space
* Plugins activation at runtime
* Improved tag sorting capabilities (Hotkey: ALT-F), including sticky tag provisions
* Tags for models (with configurable tag count)
* Show Name Tags instead of file names in the file loader.
* Saving model as target
* Real weight estimation
* Configurable location for the home folder
* MHX2 is bundled in the default installation
* Save thumbnails directly from the internal render engine
* There is a new installer for windows
* There is a new PPA for ubuntu. This PPA also offers builds of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds)
== Known issues ==
* FBX skeleton will still misbehave
* While most of the graphics card incompatibilities should now be fixed, there are still some (seldomly used) parts of the program that may cause problems with some intel cards.
* There is no build for OSX
* The user data folder is still makehuman/v1py3 rather than makehuman/v1, in order to guarrantee that the development version does not interfere with the stable version. This will probably be changed for the final release.
* The new blender importer will crash when used in a version of blender that is shipped with ubuntu 18.04. It works fine on ubuntu 18.04 if using a blender that is downloaded from blender's homepage though. Users are recommended to ''not'' use ubuntu's version of blender.
* The new blender importer requires at least blender 2.79. It will not work with versions earlier than 2.79.
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
=== Running from source ===
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 or higher
* NumPy: 1.13.0 or higher
* PyOpenGL: Any modern version will work, including the one used for MakeHuman 1.1.x
=== Ubuntu ===
In order to fulfill the minimum dependency requirements listed above, you will need Ubuntu 18.04 or later. For earlier Ubuntu versions, you would have use backports of the dependencies, as they are not available in the default installation.
The PPA for this build is here: [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community ppa:makehuman-official/makehuman-community].
To enable it, run:
sudo add-apt-repository ppa:makehuman-official/makehuman-community
sudo apt-get update
sudo apt-get install makehuman-community
=== Mint ===
The instructions for Ubuntu apply, but you will have to also explicitly install all plugins (whereas these will be installed automatically on Ubuntu)
sudo apt-get install makehuman-community-plugins-assetdownload makehuman-community-plugins-socket makehuman-community-plugins-massproduce mhx2-makehuman-exchange
== The upgraded codebase ==
The main focus of this release has been to modernize the code. In the prior version, large parts were written more than eight years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The expected end of life for python 2.7 is in less than two years.
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
== Asset downloader ==
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
<br clear=all>
== New blender integration ==
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
[[File:12x-blender-ik.png|300px|thumb|right|Convert to IK rig]]
This release bundles a rich set of blender functionalitites, which can be added to blender in the form of an addon. Not all functionality will be listed here, but the following are
some highlights.
=== Import directly from MakeHuman ===
In blender it is now possible to fetch a toon directly from a running instance of MakeHuman, without having to first save the toon to a file. The importer will talk with the makehuman instance
and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses. The process is almost instantaneous (a toon with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== IK and amputations ===
The importer will use the skeleton set in MakeHuman to rig the resulting character in Blender. The rig can then be extended with the "IK rig" functionality: By clicking a button you can get extra
IK controls, and IK chains set up for arms, legs and fingers.
Rigs can also be amputated in case detailed bones are not required.
All rigs currently available to MakeHuman are supported.
=== Kinect ===
To be written
<br clear=all>
== The Mass Produce plugin ==
A new plugin is now bundled per default: The "mass produce" plugin. This allows rapidly generating large sets of randomized characters. The functionality is demonstrated in a youtube video:
{{#ev:youtube|jRHnJX-TdT4}}
== A new windows installer ==
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
== Other bundled functionality ==
Apart from the above, some other functionality that previously had to be downloaded separately is now bundled:
=== MHX2 ===
MHX2 is now enabled per default in MakeHuman. The blender side of MHX2 is bundled as a zip file which can
be added to blender via the user preferences.
=== MHAPI ===
MHAPI (a library with convenience calls for making addons for MakeHuman) is now included and enabled per default.
== Where to download ==
The following are links to where you can download alpha 3. They will be updated once beta 1 is released.
You can [http://download.tuxfamily.org/makehuman/nightly/makehuman-community-1.2.0-alpha3-win32.zip download the windows build here].
For linux, [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community there is a new PPA].
== Providing feedback and bug reports ==
As always with an alpha release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums. But more formal information about bug trackers can be found here: http://www.makehumancommunity.org/content/bugtracker.html
3991a7f48e10c84f7eeb662ec5be96f1c39372b7
Releases:120b1
0
623
1789
1787
2020-05-03T12:51:39Z
Joepal
14
wikitext
text/x-wiki
These are the release notes for 1.2.0-beta1, which was released 2020-05-03.
This is the first beta. All in all, most of the code should now be almost as it is supposed to look for a release, although there are still some graphics card issues.
The notes describe, as of now, a beta version of a coming release. The final release might be different from what is described below.
If you wonder if this is something you should use, take a look at [[FAQ: Which version of MakeHuman should I download?]]
Note that '''1.2.0-beta1 is exactly the same binary as the nightly build from 2020-05-03'''. If you are already using nightly builds, there is no reason whatsoever to switch to beta 1.
== General ==
In most cases, there should be no problem running versions 1.1.1 and 1.2.0 on the same system. They will not interfere with each other's files. You can find download links for 1.2.0 at the bottom of this page.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
== Changes since alpha 4 ==
* MAKESKIN: A new tool for creating MakeHuman materials is now bundled.
* CORE: A few minor bugs were corrected.
* FBX: A minor issue with triangles was fixed
* WINDOWS: There is a new build pipeline and dependencies have been upgraded to the latest (within a few months anyway) versions
* MAKECLOTHES: MakeClothes 1 is now considered deprecated in favor of MakeClothes 2. MC1 is thus no longer bundled with the release.
* MAKETARGET: MakeTarget 1 is now considered deprecated in favor of MakeTarget 2. MT1 is thus no longer bundled with the release.
Due to the rapid evolution of the blender plugins (MPFB, MakeTarget, MakeClothes...) we're not listing these changes here. See the commit log in the respective git repositories instead:
* [https://github.com/makehumancommunity/makehuman-plugin-for-blender/commits/master MakeHuman Plugin for Blender (MPFB)]
* [https://github.com/makehumancommunity/community-plugins-makeclothes/commits/master MakeClothes 2]
* [https://github.com/makehumancommunity/community-plugins-maketarget/commits/master MakeTarget 2]
* [https://github.com/makehumancommunity/community-plugins-makeskin/commits/master MakeSkin]
== Highlights ==
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new Blender integration, with support for socket transfers, IK and Kinect
* There is a new randomization functionality for generating large sets of randomized characters
* Improved internationalization support for non-ASCII characters (backported)
* Plugins in user space
* Plugins activation at runtime
* Improved tag sorting capabilities (Hotkey: ALT-F), including sticky tag provisions
* Tags for models (with configurable tag count)
* Show Name Tags instead of file names in the file loader.
* Saving model as target
* Real weight estimation
* Configurable location for the home folder
* MHX2 is bundled in the default installation
* Save thumbnails directly from the internal render engine
* There is a new installer for windows
* There is a new PPA for ubuntu. This PPA also offers builds of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds)
* There is a new tool MakeSkin for creating materials
== Known issues ==
* WINDOWS: When using "install for all users", makehuman might fail to start. "Install just for me" should work.
* FBX skeleton will still misbehave
* While most of the graphics card incompatibilities should now be fixed, there may still be still parts of the program that cause problems with some integrated graphics cards.
* There is no build for OSX
* The user data folder is still makehuman/v1py3 rather than makehuman/v1, in order to guarrantee that the development version does not interfere with the stable version. This will probably be changed for the final release.
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
=== Running from source ===
The source code is available at [https://github.com/makehumancommunity/makehuman https://github.com/makehumancommunity/makehuman]. You'll also find basic instructions on how to use the source code on this page.
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 to 5.12.x. '''5.14 will not work'''
* NumPy: 1.13.0 or higher
* PyOpenGL: Any modern version will work, including the one used for MakeHuman 1.1.x
=== Ubuntu ===
In order to fulfill the minimum dependency requirements listed above, you will need Ubuntu 18.04 or later. For earlier Ubuntu versions, you would have use backports of the dependencies, as they are not available in the default installation.
The PPA for this build is here: [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community ppa:makehuman-official/makehuman-community].
To enable it, run:
sudo add-apt-repository ppa:makehuman-official/makehuman-community
sudo apt-get update
sudo apt-get install makehuman-community
=== Mint ===
The instructions for Ubuntu apply, but you will have to also explicitly install all plugins (whereas these will be installed automatically on Ubuntu)
sudo apt-get install makehuman-community-plugins-assetdownload makehuman-community-plugins-socket makehuman-community-plugins-massproduce mhx2-makehuman-exchange
== The upgraded codebase ==
The main focus of this release has been to modernize the code. In the prior version, large parts were written more than eight years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The expected end of life for python 2.7 is in a few months
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
== Asset downloader ==
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
<br clear=all>
== New blender integration ==
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
[[File:12x-blender-ik.png|300px|thumb|right|Convert to IK rig]]
This release bundles a rich set of blender functionalitites, which can be added to blender in the form of an addon. Not all functionality will be listed here, but the following are
some highlights.
=== Import directly from MakeHuman ===
In blender it is now possible to fetch a toon directly from a running instance of MakeHuman, without having to first save the toon to a file. The importer will talk with the makehuman instance
and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses. The process is almost instantaneous (a toon with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== IK and amputations ===
The importer will use the skeleton set in MakeHuman to rig the resulting character in Blender. The rig can then be extended with the "IK rig" functionality: By clicking a button you can get extra
IK controls, and IK chains set up for arms, legs and fingers.
Rigs can also be amputated in case detailed bones are not required.
All rigs currently available to MakeHuman are supported.
=== Kinect ===
To be written
<br clear=all>
== A new windows installer ==
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
== Other bundled functionality ==
Apart from the above, some other functionality that previously had to be downloaded separately is now bundled:
=== MHX2 ===
MHX2 is now enabled per default in MakeHuman. The blender side of MHX2 can be downloaded from http://www.makehumancommunity.org/content/plugins.html
=== MHAPI ===
MHAPI (a library with convenience calls for making addons for MakeHuman) is now included and enabled per default.
== Where to download ==
The following are links to where you can download beta 1.
You can [http://download.tuxfamily.org/makehuman/nightly/makehuman-community-1.2.0-beta1-windows.zip download the windows build here].
For linux, [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community there is a new PPA].
== Providing feedback and bug reports ==
As always with a beta release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums. But more formal information about bug trackers can be found here: http://www.makehumancommunity.org/content/bugtracker.html
1f6ed0d59ba4acd6ef8b806946e89725492508d1
1787
2020-05-02T16:45:18Z
Joepal
14
Created page with "These are the preliminary release notes for 1.2.0-beta1. This is the first beta. All in all, most of the code should now be almost as it is supposed to look for a release, al..."
wikitext
text/x-wiki
These are the preliminary release notes for 1.2.0-beta1.
This is the first beta. All in all, most of the code should now be almost as it is supposed to look for a release, although there are still some graphics card issues.
The notes describe, as of now, a beta version of a coming release. The final release might be different from what is described below.
If you wonder if this is something you should use, take a look at [[FAQ: Which version of MakeHuman should I download?]]
== General ==
In most cases, there should be no problem running versions 1.1.1 and 1.2.0 on the same system. They will not interfere with each other's files. You can find download links for 1.2.0 at the bottom of this page.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
== Changes since alpha 4 ==
* MAKESKIN: A new tool for creating MakeHuman materials is now bundled.
* CORE: A few minor bugs were corrected.
* FBX: A minor issue with triangles was fixed
* WINDOWS: There is a new build pipeline and dependencies have been upgraded to the latest (within a few months anyway) versions
Due to the rapid evolution of the blender plugins (MPFB, MakeTarget, MakeClothes...) we're not listing these changes here. See the commit log in the respective git repositories instead:
* [https://github.com/makehumancommunity/makehuman-plugin-for-blender/commits/master MakeHuman Plugin for Blender (MPFB)]
* [https://github.com/makehumancommunity/community-plugins-makeclothes/commits/master MakeClothes 2]
* [https://github.com/makehumancommunity/community-plugins-maketarget/commits/master MakeTarget 2]
* [https://github.com/makehumancommunity/community-plugins-makeskin/commits/master MakeSkin]
== Highlights ==
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new Blender integration, with support for socket transfers, IK and Kinect
* There is a new randomization functionality for generating large sets of randomized characters
* Improved internationalization support for non-ASCII characters (backported)
* Plugins in user space
* Plugins activation at runtime
* Improved tag sorting capabilities (Hotkey: ALT-F), including sticky tag provisions
* Tags for models (with configurable tag count)
* Show Name Tags instead of file names in the file loader.
* Saving model as target
* Real weight estimation
* Configurable location for the home folder
* MHX2 is bundled in the default installation
* Save thumbnails directly from the internal render engine
* There is a new installer for windows
* There is a new PPA for ubuntu. This PPA also offers builds of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds)
* There is a new tool MakeSkin for creating materials
== Known issues ==
* WINDOWS: When using "install for all users", makehuman might fail to start. "Install just for me" should work.
* FBX skeleton will still misbehave
* While most of the graphics card incompatibilities should now be fixed, there may still be still parts of the program that cause problems with some integrated graphics cards.
* There is no build for OSX
* The user data folder is still makehuman/v1py3 rather than makehuman/v1, in order to guarrantee that the development version does not interfere with the stable version. This will probably be changed for the final release.
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
=== Running from source ===
The source code is available at [https://github.com/makehumancommunity/makehuman https://github.com/makehumancommunity/makehuman]. You'll also find basic instructions on how to use the source code on this page.
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 to 5.12.x. '''5.14 will not work'''
* NumPy: 1.13.0 or higher
* PyOpenGL: Any modern version will work, including the one used for MakeHuman 1.1.x
=== Ubuntu ===
In order to fulfill the minimum dependency requirements listed above, you will need Ubuntu 18.04 or later. For earlier Ubuntu versions, you would have use backports of the dependencies, as they are not available in the default installation.
The PPA for this build is here: [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community ppa:makehuman-official/makehuman-community].
To enable it, run:
sudo add-apt-repository ppa:makehuman-official/makehuman-community
sudo apt-get update
sudo apt-get install makehuman-community
=== Mint ===
The instructions for Ubuntu apply, but you will have to also explicitly install all plugins (whereas these will be installed automatically on Ubuntu)
sudo apt-get install makehuman-community-plugins-assetdownload makehuman-community-plugins-socket makehuman-community-plugins-massproduce mhx2-makehuman-exchange
== The upgraded codebase ==
The main focus of this release has been to modernize the code. In the prior version, large parts were written more than eight years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The expected end of life for python 2.7 is in a few months
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
== Asset downloader ==
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
<br clear=all>
== New blender integration ==
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
[[File:12x-blender-ik.png|300px|thumb|right|Convert to IK rig]]
This release bundles a rich set of blender functionalitites, which can be added to blender in the form of an addon. Not all functionality will be listed here, but the following are
some highlights.
=== Import directly from MakeHuman ===
In blender it is now possible to fetch a toon directly from a running instance of MakeHuman, without having to first save the toon to a file. The importer will talk with the makehuman instance
and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses. The process is almost instantaneous (a toon with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== IK and amputations ===
The importer will use the skeleton set in MakeHuman to rig the resulting character in Blender. The rig can then be extended with the "IK rig" functionality: By clicking a button you can get extra
IK controls, and IK chains set up for arms, legs and fingers.
Rigs can also be amputated in case detailed bones are not required.
All rigs currently available to MakeHuman are supported.
=== Kinect ===
To be written
<br clear=all>
== A new windows installer ==
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
== Other bundled functionality ==
Apart from the above, some other functionality that previously had to be downloaded separately is now bundled:
=== MHX2 ===
MHX2 is now enabled per default in MakeHuman. The blender side of MHX2 can be downloaded from http://www.makehumancommunity.org/content/plugins.html
=== MHAPI ===
MHAPI (a library with convenience calls for making addons for MakeHuman) is now included and enabled per default.
== Where to download ==
The following are links to where you can download beta 1.
(it has not been released yet)
== Providing feedback and bug reports ==
As always with a beta release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums. But more formal information about bug trackers can be found here: http://www.makehumancommunity.org/content/bugtracker.html
44f18b6df1e4fa493a1f087badacc3b6ae7178c7
Releases:120b2
0
624
1848
1847
2020-07-27T14:54:13Z
Joepal
14
/* Known issues */
wikitext
text/x-wiki
These are the release notes for 1.2.0-beta2, which was released 2020-07-27.
This is the second and final beta. From now on, nightly builds should in principle be considered release candidates for the final stable release.
If you wonder if this is something you should use, take a look at [[FAQ: Which version of MakeHuman should I download?]]
If you are already using a recent nightly build, there is no reason whatsoever to switch to a beta, unless you want a formal release build.
== General ==
In most cases, there should be no problem running versions 1.1.1 and 1.2.0 on the same system. They will not interfere with each other's files. You can find download links for 1.2.0 at the bottom of this page.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
== Changes since beta 1 ==
* CORE/UI: It is now possible to disable sample buffers via settings (on the general tab). This is the first thing to try on graphics cards which have trouble rendering the 3d canvas, see [[FAQ: The interface looks broken ]]
* CORE/UI: It is now possible to enforce "noshaders" via settings (on the general tab). This is the second thing to try on graphics cards which have trouble rendering the 3d canvas, see [[FAQ: The interface looks broken ]]
* CORE/UI: The UI should now scale properly on UHD/4K displays (thanks dennj). There is a setting ("use HDPI") for this under settings -> general.
* TARGETS: The core targets were reworked to assure left/right symmetry (thanks punkduck)
* WINDOWS: Another reason for makehuman silently not starting on windows was adressed
* WINDOWS: It should now be possible to "install for all users"
Due to the rapid evolution of the blender plugins (MPFB, MakeTarget, MakeClothes...) we're not listing these changes here. See the commit log in the respective git repositories instead:
* [https://github.com/makehumancommunity/makehuman-plugin-for-blender/commits/master MakeHuman Plugin for Blender (MPFB)]
* [https://github.com/makehumancommunity/community-plugins-makeclothes/commits/master MakeClothes 2]
* [https://github.com/makehumancommunity/community-plugins-maketarget/commits/master MakeTarget 2]
* [https://github.com/makehumancommunity/community-plugins-makeskin/commits/master MakeSkin]
== Highlights ==
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new Blender integration, with support for socket transfers, IK and Kinect
* There is a new randomization functionality for generating large sets of randomized characters
* Improved internationalization support for non-ASCII characters (backported)
* Plugins in user space
* Plugins activation at runtime
* Improved tag sorting capabilities (Hotkey: ALT-F), including sticky tag provisions
* Tags for models (with configurable tag count)
* Show Name Tags instead of file names in the file loader.
* Saving model as target
* Real weight estimation
* Configurable location for the home folder
* MHX2 is bundled in the default installation
* Save thumbnails directly from the internal render engine
* There is a new installer for windows
* There is a new PPA for ubuntu. This PPA also offers builds of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds)
* There is a new tool MakeSkin for creating materials
== Known issues ==
* The FBX export is still incompatible with some third part software.
* While most of the graphics card incompatibilities should now be fixed, there may still be still parts of the program that cause problems with some integrated graphics cards.
* There is no build for OSX
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
=== Running from source ===
The source code is available at [https://github.com/makehumancommunity/makehuman https://github.com/makehumancommunity/makehuman]. You'll also find basic instructions on how to use the source code on this page.
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 to 5.12.x. '''5.14 will not work'''
* NumPy: 1.13.0 or higher
* PyOpenGL: Any modern version will work, including the one used for MakeHuman 1.1.x
=== Ubuntu ===
In order to fulfill the minimum dependency requirements listed above, you will need Ubuntu 18.04 or later. For earlier Ubuntu versions, you would have use backports of the dependencies, as they are not available in the default installation.
The PPA for this build is here: [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community ppa:makehuman-official/makehuman-community].
To enable it, run:
sudo add-apt-repository ppa:makehuman-official/makehuman-community
sudo apt-get update
sudo apt-get install makehuman-community
=== Mint ===
The instructions for Ubuntu apply, but you will have to also explicitly install all plugins (whereas these will be installed automatically on Ubuntu)
sudo apt-get install makehuman-community-plugins-assetdownload makehuman-community-plugins-socket makehuman-community-plugins-massproduce mhx2-makehuman-exchange
== The upgraded codebase ==
The main focus of this release has been to modernize the code. In the prior version, large parts were written more than eight years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The expected end of life for python 2.7 is in a few months
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
== Asset downloader ==
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
<br clear=all>
== New blender integration ==
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
[[File:12x-blender-ik.png|300px|thumb|right|Convert to IK rig]]
This release bundles a rich set of blender functionalitites, which can be added to blender in the form of an addon. Not all functionality will be listed here, but the following are
some highlights.
=== Import directly from MakeHuman ===
In blender it is now possible to fetch a toon directly from a running instance of MakeHuman, without having to first save the toon to a file. The importer will talk with the makehuman instance
and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses. The process is almost instantaneous (a toon with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== IK and amputations ===
The importer will use the skeleton set in MakeHuman to rig the resulting character in Blender. The rig can then be extended with the "IK rig" functionality: By clicking a button you can get extra
IK controls, and IK chains set up for arms, legs and fingers.
Rigs can also be amputated in case detailed bones are not required.
All rigs currently available to MakeHuman are supported.
=== Kinect ===
To be written
<br clear=all>
== A new windows installer ==
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
== Other bundled functionality ==
Apart from the above, some other functionality that previously had to be downloaded separately is now bundled:
=== MHX2 ===
MHX2 is now enabled per default in MakeHuman. The blender side of MHX2 can be downloaded from http://www.makehumancommunity.org/content/plugins.html
=== MHAPI ===
MHAPI (a library with convenience calls for making addons for MakeHuman) is now included and enabled per default.
== Where to download ==
The following are links to where you can download beta 2:
You can [http://download.tuxfamily.org/makehuman/nightly/makehuman-community-1.2.0-beta2-windows.zip download the windows build here].
For linux, [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community there is a new PPA].
== Providing feedback and bug reports ==
As always with a beta release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums. But more formal information about bug trackers can be found here: http://www.makehumancommunity.org/content/bugtracker.html
0dff40de6b99df5c9922e9ed17d001bcc8de569c
1847
1846
2020-07-27T11:26:08Z
Joepal
14
wikitext
text/x-wiki
These are the release notes for 1.2.0-beta2, which was released 2020-07-27.
This is the second and final beta. From now on, nightly builds should in principle be considered release candidates for the final stable release.
If you wonder if this is something you should use, take a look at [[FAQ: Which version of MakeHuman should I download?]]
If you are already using a recent nightly build, there is no reason whatsoever to switch to a beta, unless you want a formal release build.
== General ==
In most cases, there should be no problem running versions 1.1.1 and 1.2.0 on the same system. They will not interfere with each other's files. You can find download links for 1.2.0 at the bottom of this page.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
== Changes since beta 1 ==
* CORE/UI: It is now possible to disable sample buffers via settings (on the general tab). This is the first thing to try on graphics cards which have trouble rendering the 3d canvas, see [[FAQ: The interface looks broken ]]
* CORE/UI: It is now possible to enforce "noshaders" via settings (on the general tab). This is the second thing to try on graphics cards which have trouble rendering the 3d canvas, see [[FAQ: The interface looks broken ]]
* CORE/UI: The UI should now scale properly on UHD/4K displays (thanks dennj). There is a setting ("use HDPI") for this under settings -> general.
* TARGETS: The core targets were reworked to assure left/right symmetry (thanks punkduck)
* WINDOWS: Another reason for makehuman silently not starting on windows was adressed
* WINDOWS: It should now be possible to "install for all users"
Due to the rapid evolution of the blender plugins (MPFB, MakeTarget, MakeClothes...) we're not listing these changes here. See the commit log in the respective git repositories instead:
* [https://github.com/makehumancommunity/makehuman-plugin-for-blender/commits/master MakeHuman Plugin for Blender (MPFB)]
* [https://github.com/makehumancommunity/community-plugins-makeclothes/commits/master MakeClothes 2]
* [https://github.com/makehumancommunity/community-plugins-maketarget/commits/master MakeTarget 2]
* [https://github.com/makehumancommunity/community-plugins-makeskin/commits/master MakeSkin]
== Highlights ==
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new Blender integration, with support for socket transfers, IK and Kinect
* There is a new randomization functionality for generating large sets of randomized characters
* Improved internationalization support for non-ASCII characters (backported)
* Plugins in user space
* Plugins activation at runtime
* Improved tag sorting capabilities (Hotkey: ALT-F), including sticky tag provisions
* Tags for models (with configurable tag count)
* Show Name Tags instead of file names in the file loader.
* Saving model as target
* Real weight estimation
* Configurable location for the home folder
* MHX2 is bundled in the default installation
* Save thumbnails directly from the internal render engine
* There is a new installer for windows
* There is a new PPA for ubuntu. This PPA also offers builds of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds)
* There is a new tool MakeSkin for creating materials
== Known issues ==
* FBX skeleton will still misbehave
* While most of the graphics card incompatibilities should now be fixed, there may still be still parts of the program that cause problems with some integrated graphics cards.
* There is no build for OSX
* The user data folder is still makehuman/v1py3 rather than makehuman/v1, in order to guarrantee that the development version does not interfere with the stable version. This will probably be changed for the final release.
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
=== Running from source ===
The source code is available at [https://github.com/makehumancommunity/makehuman https://github.com/makehumancommunity/makehuman]. You'll also find basic instructions on how to use the source code on this page.
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 to 5.12.x. '''5.14 will not work'''
* NumPy: 1.13.0 or higher
* PyOpenGL: Any modern version will work, including the one used for MakeHuman 1.1.x
=== Ubuntu ===
In order to fulfill the minimum dependency requirements listed above, you will need Ubuntu 18.04 or later. For earlier Ubuntu versions, you would have use backports of the dependencies, as they are not available in the default installation.
The PPA for this build is here: [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community ppa:makehuman-official/makehuman-community].
To enable it, run:
sudo add-apt-repository ppa:makehuman-official/makehuman-community
sudo apt-get update
sudo apt-get install makehuman-community
=== Mint ===
The instructions for Ubuntu apply, but you will have to also explicitly install all plugins (whereas these will be installed automatically on Ubuntu)
sudo apt-get install makehuman-community-plugins-assetdownload makehuman-community-plugins-socket makehuman-community-plugins-massproduce mhx2-makehuman-exchange
== The upgraded codebase ==
The main focus of this release has been to modernize the code. In the prior version, large parts were written more than eight years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The expected end of life for python 2.7 is in a few months
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
== Asset downloader ==
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
<br clear=all>
== New blender integration ==
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
[[File:12x-blender-ik.png|300px|thumb|right|Convert to IK rig]]
This release bundles a rich set of blender functionalitites, which can be added to blender in the form of an addon. Not all functionality will be listed here, but the following are
some highlights.
=== Import directly from MakeHuman ===
In blender it is now possible to fetch a toon directly from a running instance of MakeHuman, without having to first save the toon to a file. The importer will talk with the makehuman instance
and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses. The process is almost instantaneous (a toon with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== IK and amputations ===
The importer will use the skeleton set in MakeHuman to rig the resulting character in Blender. The rig can then be extended with the "IK rig" functionality: By clicking a button you can get extra
IK controls, and IK chains set up for arms, legs and fingers.
Rigs can also be amputated in case detailed bones are not required.
All rigs currently available to MakeHuman are supported.
=== Kinect ===
To be written
<br clear=all>
== A new windows installer ==
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
== Other bundled functionality ==
Apart from the above, some other functionality that previously had to be downloaded separately is now bundled:
=== MHX2 ===
MHX2 is now enabled per default in MakeHuman. The blender side of MHX2 can be downloaded from http://www.makehumancommunity.org/content/plugins.html
=== MHAPI ===
MHAPI (a library with convenience calls for making addons for MakeHuman) is now included and enabled per default.
== Where to download ==
The following are links to where you can download beta 2:
You can [http://download.tuxfamily.org/makehuman/nightly/makehuman-community-1.2.0-beta2-windows.zip download the windows build here].
For linux, [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community there is a new PPA].
== Providing feedback and bug reports ==
As always with a beta release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums. But more formal information about bug trackers can be found here: http://www.makehumancommunity.org/content/bugtracker.html
0b6722d2ce3b0488bfe2ec3d212e9af0af84a99b
1846
1844
2020-07-27T11:25:17Z
Joepal
14
/* Where to download */
wikitext
text/x-wiki
These are the release notes for 1.2.0-beta2, which was released 2020-07-27.
This is the second and final beta. From now on, nightly builds should in principle be considered release candidates for the final stable release.
If you wonder if this is something you should use, take a look at [[FAQ: Which version of MakeHuman should I download?]]
If you are already using a recent nightly build, there is no reason whatsoever to switch to a beta.
== General ==
In most cases, there should be no problem running versions 1.1.1 and 1.2.0 on the same system. They will not interfere with each other's files. You can find download links for 1.2.0 at the bottom of this page.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
== Changes since beta 1 ==
* CORE/UI: It is now possible to disable sample buffers via settings (on the general tab). This is the first thing to try on graphics cards which have trouble rendering the 3d canvas, see [[FAQ: The interface looks broken ]]
* CORE/UI: It is now possible to enforce "noshaders" via settings (on the general tab). This is the second thing to try on graphics cards which have trouble rendering the 3d canvas, see [[FAQ: The interface looks broken ]]
* CORE/UI: The UI should now scale properly on UHD/4K displays (thanks dennj). There is a setting ("use HDPI") for this under settings -> general.
* TARGETS: The core targets were reworked to assure left/right symmetry (thanks punkduck)
* WINDOWS: Another reason for makehuman silently not starting on windows was adressed
* WINDOWS: It should now be possible to "install for all users"
Due to the rapid evolution of the blender plugins (MPFB, MakeTarget, MakeClothes...) we're not listing these changes here. See the commit log in the respective git repositories instead:
* [https://github.com/makehumancommunity/makehuman-plugin-for-blender/commits/master MakeHuman Plugin for Blender (MPFB)]
* [https://github.com/makehumancommunity/community-plugins-makeclothes/commits/master MakeClothes 2]
* [https://github.com/makehumancommunity/community-plugins-maketarget/commits/master MakeTarget 2]
* [https://github.com/makehumancommunity/community-plugins-makeskin/commits/master MakeSkin]
== Highlights ==
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new Blender integration, with support for socket transfers, IK and Kinect
* There is a new randomization functionality for generating large sets of randomized characters
* Improved internationalization support for non-ASCII characters (backported)
* Plugins in user space
* Plugins activation at runtime
* Improved tag sorting capabilities (Hotkey: ALT-F), including sticky tag provisions
* Tags for models (with configurable tag count)
* Show Name Tags instead of file names in the file loader.
* Saving model as target
* Real weight estimation
* Configurable location for the home folder
* MHX2 is bundled in the default installation
* Save thumbnails directly from the internal render engine
* There is a new installer for windows
* There is a new PPA for ubuntu. This PPA also offers builds of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds)
* There is a new tool MakeSkin for creating materials
== Known issues ==
* FBX skeleton will still misbehave
* While most of the graphics card incompatibilities should now be fixed, there may still be still parts of the program that cause problems with some integrated graphics cards.
* There is no build for OSX
* The user data folder is still makehuman/v1py3 rather than makehuman/v1, in order to guarrantee that the development version does not interfere with the stable version. This will probably be changed for the final release.
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
=== Running from source ===
The source code is available at [https://github.com/makehumancommunity/makehuman https://github.com/makehumancommunity/makehuman]. You'll also find basic instructions on how to use the source code on this page.
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 to 5.12.x. '''5.14 will not work'''
* NumPy: 1.13.0 or higher
* PyOpenGL: Any modern version will work, including the one used for MakeHuman 1.1.x
=== Ubuntu ===
In order to fulfill the minimum dependency requirements listed above, you will need Ubuntu 18.04 or later. For earlier Ubuntu versions, you would have use backports of the dependencies, as they are not available in the default installation.
The PPA for this build is here: [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community ppa:makehuman-official/makehuman-community].
To enable it, run:
sudo add-apt-repository ppa:makehuman-official/makehuman-community
sudo apt-get update
sudo apt-get install makehuman-community
=== Mint ===
The instructions for Ubuntu apply, but you will have to also explicitly install all plugins (whereas these will be installed automatically on Ubuntu)
sudo apt-get install makehuman-community-plugins-assetdownload makehuman-community-plugins-socket makehuman-community-plugins-massproduce mhx2-makehuman-exchange
== The upgraded codebase ==
The main focus of this release has been to modernize the code. In the prior version, large parts were written more than eight years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The expected end of life for python 2.7 is in a few months
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
== Asset downloader ==
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
<br clear=all>
== New blender integration ==
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
[[File:12x-blender-ik.png|300px|thumb|right|Convert to IK rig]]
This release bundles a rich set of blender functionalitites, which can be added to blender in the form of an addon. Not all functionality will be listed here, but the following are
some highlights.
=== Import directly from MakeHuman ===
In blender it is now possible to fetch a toon directly from a running instance of MakeHuman, without having to first save the toon to a file. The importer will talk with the makehuman instance
and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses. The process is almost instantaneous (a toon with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== IK and amputations ===
The importer will use the skeleton set in MakeHuman to rig the resulting character in Blender. The rig can then be extended with the "IK rig" functionality: By clicking a button you can get extra
IK controls, and IK chains set up for arms, legs and fingers.
Rigs can also be amputated in case detailed bones are not required.
All rigs currently available to MakeHuman are supported.
=== Kinect ===
To be written
<br clear=all>
== A new windows installer ==
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
== Other bundled functionality ==
Apart from the above, some other functionality that previously had to be downloaded separately is now bundled:
=== MHX2 ===
MHX2 is now enabled per default in MakeHuman. The blender side of MHX2 can be downloaded from http://www.makehumancommunity.org/content/plugins.html
=== MHAPI ===
MHAPI (a library with convenience calls for making addons for MakeHuman) is now included and enabled per default.
== Where to download ==
The following are links to where you can download beta 2:
You can [http://download.tuxfamily.org/makehuman/nightly/makehuman-community-1.2.0-beta2-windows.zip download the windows build here].
For linux, [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community there is a new PPA].
== Providing feedback and bug reports ==
As always with a beta release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums. But more formal information about bug trackers can be found here: http://www.makehumancommunity.org/content/bugtracker.html
8cc0c6ed3ae9206406ca93eabaf63c4b2f02c351
1844
1843
2020-07-27T11:23:53Z
Joepal
14
wikitext
text/x-wiki
These are the release notes for 1.2.0-beta2, which was released 2020-07-27.
This is the second and final beta. From now on, nightly builds should in principle be considered release candidates for the final stable release.
If you wonder if this is something you should use, take a look at [[FAQ: Which version of MakeHuman should I download?]]
If you are already using a recent nightly build, there is no reason whatsoever to switch to a beta.
== General ==
In most cases, there should be no problem running versions 1.1.1 and 1.2.0 on the same system. They will not interfere with each other's files. You can find download links for 1.2.0 at the bottom of this page.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
== Changes since beta 1 ==
* CORE/UI: It is now possible to disable sample buffers via settings (on the general tab). This is the first thing to try on graphics cards which have trouble rendering the 3d canvas, see [[FAQ: The interface looks broken ]]
* CORE/UI: It is now possible to enforce "noshaders" via settings (on the general tab). This is the second thing to try on graphics cards which have trouble rendering the 3d canvas, see [[FAQ: The interface looks broken ]]
* CORE/UI: The UI should now scale properly on UHD/4K displays (thanks dennj). There is a setting ("use HDPI") for this under settings -> general.
* TARGETS: The core targets were reworked to assure left/right symmetry (thanks punkduck)
* WINDOWS: Another reason for makehuman silently not starting on windows was adressed
* WINDOWS: It should now be possible to "install for all users"
Due to the rapid evolution of the blender plugins (MPFB, MakeTarget, MakeClothes...) we're not listing these changes here. See the commit log in the respective git repositories instead:
* [https://github.com/makehumancommunity/makehuman-plugin-for-blender/commits/master MakeHuman Plugin for Blender (MPFB)]
* [https://github.com/makehumancommunity/community-plugins-makeclothes/commits/master MakeClothes 2]
* [https://github.com/makehumancommunity/community-plugins-maketarget/commits/master MakeTarget 2]
* [https://github.com/makehumancommunity/community-plugins-makeskin/commits/master MakeSkin]
== Highlights ==
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new Blender integration, with support for socket transfers, IK and Kinect
* There is a new randomization functionality for generating large sets of randomized characters
* Improved internationalization support for non-ASCII characters (backported)
* Plugins in user space
* Plugins activation at runtime
* Improved tag sorting capabilities (Hotkey: ALT-F), including sticky tag provisions
* Tags for models (with configurable tag count)
* Show Name Tags instead of file names in the file loader.
* Saving model as target
* Real weight estimation
* Configurable location for the home folder
* MHX2 is bundled in the default installation
* Save thumbnails directly from the internal render engine
* There is a new installer for windows
* There is a new PPA for ubuntu. This PPA also offers builds of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds)
* There is a new tool MakeSkin for creating materials
== Known issues ==
* FBX skeleton will still misbehave
* While most of the graphics card incompatibilities should now be fixed, there may still be still parts of the program that cause problems with some integrated graphics cards.
* There is no build for OSX
* The user data folder is still makehuman/v1py3 rather than makehuman/v1, in order to guarrantee that the development version does not interfere with the stable version. This will probably be changed for the final release.
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
=== Running from source ===
The source code is available at [https://github.com/makehumancommunity/makehuman https://github.com/makehumancommunity/makehuman]. You'll also find basic instructions on how to use the source code on this page.
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 to 5.12.x. '''5.14 will not work'''
* NumPy: 1.13.0 or higher
* PyOpenGL: Any modern version will work, including the one used for MakeHuman 1.1.x
=== Ubuntu ===
In order to fulfill the minimum dependency requirements listed above, you will need Ubuntu 18.04 or later. For earlier Ubuntu versions, you would have use backports of the dependencies, as they are not available in the default installation.
The PPA for this build is here: [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community ppa:makehuman-official/makehuman-community].
To enable it, run:
sudo add-apt-repository ppa:makehuman-official/makehuman-community
sudo apt-get update
sudo apt-get install makehuman-community
=== Mint ===
The instructions for Ubuntu apply, but you will have to also explicitly install all plugins (whereas these will be installed automatically on Ubuntu)
sudo apt-get install makehuman-community-plugins-assetdownload makehuman-community-plugins-socket makehuman-community-plugins-massproduce mhx2-makehuman-exchange
== The upgraded codebase ==
The main focus of this release has been to modernize the code. In the prior version, large parts were written more than eight years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The expected end of life for python 2.7 is in a few months
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
== Asset downloader ==
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
<br clear=all>
== New blender integration ==
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
[[File:12x-blender-ik.png|300px|thumb|right|Convert to IK rig]]
This release bundles a rich set of blender functionalitites, which can be added to blender in the form of an addon. Not all functionality will be listed here, but the following are
some highlights.
=== Import directly from MakeHuman ===
In blender it is now possible to fetch a toon directly from a running instance of MakeHuman, without having to first save the toon to a file. The importer will talk with the makehuman instance
and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses. The process is almost instantaneous (a toon with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== IK and amputations ===
The importer will use the skeleton set in MakeHuman to rig the resulting character in Blender. The rig can then be extended with the "IK rig" functionality: By clicking a button you can get extra
IK controls, and IK chains set up for arms, legs and fingers.
Rigs can also be amputated in case detailed bones are not required.
All rigs currently available to MakeHuman are supported.
=== Kinect ===
To be written
<br clear=all>
== A new windows installer ==
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
== Other bundled functionality ==
Apart from the above, some other functionality that previously had to be downloaded separately is now bundled:
=== MHX2 ===
MHX2 is now enabled per default in MakeHuman. The blender side of MHX2 can be downloaded from http://www.makehumancommunity.org/content/plugins.html
=== MHAPI ===
MHAPI (a library with convenience calls for making addons for MakeHuman) is now included and enabled per default.
== Where to download ==
The following are links to where you can download '''beta 1''' (as beta 2 hasn't been release yet):
You can [http://download.tuxfamily.org/makehuman/nightly/makehuman-community-1.2.0-beta1-windows.zip download the windows build here].
For linux, [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community there is a new PPA].
== Providing feedback and bug reports ==
As always with a beta release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums. But more formal information about bug trackers can be found here: http://www.makehumancommunity.org/content/bugtracker.html
70ce6a1321b5c551c7defdfcde9bbfd54bf0d165
1843
1823
2020-07-27T08:03:48Z
Joepal
14
wikitext
text/x-wiki
These are the release notes for 1.2.0-beta2, which has not yet been released.
This is the second and final beta. From now on, nightly builds should in principle be considered release candidates for the final stable release.
If you wonder if this is something you should use, take a look at [[FAQ: Which version of MakeHuman should I download?]]
If you are already using a recent nightly build, there is no reason whatsoever to switch to a beta.
== General ==
In most cases, there should be no problem running versions 1.1.1 and 1.2.0 on the same system. They will not interfere with each other's files. You can find download links for 1.2.0 at the bottom of this page.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
== Changes since beta 1 ==
* CORE/UI: It is now possible to disable sample buffers via settings (on the general tab). This is the first thing to try on graphics cards which have trouble rendering the 3d canvas, see [[FAQ: The interface looks broken ]]
* CORE/UI: It is now possible to enforce "noshaders" via settings (on the general tab). This is the second thing to try on graphics cards which have trouble rendering the 3d canvas, see [[FAQ: The interface looks broken ]]
* CORE/UI: The UI should now scale properly on UHD/4K displays (thanks dennj). There is a setting ("use HDPI") for this under settings -> general.
* TARGETS: The core targets were reworked to assure left/right symmetry (thanks punkduck)
* WINDOWS: Another reason for makehuman silently not starting on windows was adressed
* WINDOWS: It should now be possible to "install for all users"
Due to the rapid evolution of the blender plugins (MPFB, MakeTarget, MakeClothes...) we're not listing these changes here. See the commit log in the respective git repositories instead:
* [https://github.com/makehumancommunity/makehuman-plugin-for-blender/commits/master MakeHuman Plugin for Blender (MPFB)]
* [https://github.com/makehumancommunity/community-plugins-makeclothes/commits/master MakeClothes 2]
* [https://github.com/makehumancommunity/community-plugins-maketarget/commits/master MakeTarget 2]
* [https://github.com/makehumancommunity/community-plugins-makeskin/commits/master MakeSkin]
== Highlights ==
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new Blender integration, with support for socket transfers, IK and Kinect
* There is a new randomization functionality for generating large sets of randomized characters
* Improved internationalization support for non-ASCII characters (backported)
* Plugins in user space
* Plugins activation at runtime
* Improved tag sorting capabilities (Hotkey: ALT-F), including sticky tag provisions
* Tags for models (with configurable tag count)
* Show Name Tags instead of file names in the file loader.
* Saving model as target
* Real weight estimation
* Configurable location for the home folder
* MHX2 is bundled in the default installation
* Save thumbnails directly from the internal render engine
* There is a new installer for windows
* There is a new PPA for ubuntu. This PPA also offers builds of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds)
* There is a new tool MakeSkin for creating materials
== Known issues ==
* FBX skeleton will still misbehave
* While most of the graphics card incompatibilities should now be fixed, there may still be still parts of the program that cause problems with some integrated graphics cards.
* There is no build for OSX
* The user data folder is still makehuman/v1py3 rather than makehuman/v1, in order to guarrantee that the development version does not interfere with the stable version. This will probably be changed for the final release.
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
=== Running from source ===
The source code is available at [https://github.com/makehumancommunity/makehuman https://github.com/makehumancommunity/makehuman]. You'll also find basic instructions on how to use the source code on this page.
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 to 5.12.x. '''5.14 will not work'''
* NumPy: 1.13.0 or higher
* PyOpenGL: Any modern version will work, including the one used for MakeHuman 1.1.x
=== Ubuntu ===
In order to fulfill the minimum dependency requirements listed above, you will need Ubuntu 18.04 or later. For earlier Ubuntu versions, you would have use backports of the dependencies, as they are not available in the default installation.
The PPA for this build is here: [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community ppa:makehuman-official/makehuman-community].
To enable it, run:
sudo add-apt-repository ppa:makehuman-official/makehuman-community
sudo apt-get update
sudo apt-get install makehuman-community
=== Mint ===
The instructions for Ubuntu apply, but you will have to also explicitly install all plugins (whereas these will be installed automatically on Ubuntu)
sudo apt-get install makehuman-community-plugins-assetdownload makehuman-community-plugins-socket makehuman-community-plugins-massproduce mhx2-makehuman-exchange
== The upgraded codebase ==
The main focus of this release has been to modernize the code. In the prior version, large parts were written more than eight years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The expected end of life for python 2.7 is in a few months
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
== Asset downloader ==
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
<br clear=all>
== New blender integration ==
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
[[File:12x-blender-ik.png|300px|thumb|right|Convert to IK rig]]
This release bundles a rich set of blender functionalitites, which can be added to blender in the form of an addon. Not all functionality will be listed here, but the following are
some highlights.
=== Import directly from MakeHuman ===
In blender it is now possible to fetch a toon directly from a running instance of MakeHuman, without having to first save the toon to a file. The importer will talk with the makehuman instance
and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses. The process is almost instantaneous (a toon with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== IK and amputations ===
The importer will use the skeleton set in MakeHuman to rig the resulting character in Blender. The rig can then be extended with the "IK rig" functionality: By clicking a button you can get extra
IK controls, and IK chains set up for arms, legs and fingers.
Rigs can also be amputated in case detailed bones are not required.
All rigs currently available to MakeHuman are supported.
=== Kinect ===
To be written
<br clear=all>
== A new windows installer ==
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
== Other bundled functionality ==
Apart from the above, some other functionality that previously had to be downloaded separately is now bundled:
=== MHX2 ===
MHX2 is now enabled per default in MakeHuman. The blender side of MHX2 can be downloaded from http://www.makehumancommunity.org/content/plugins.html
=== MHAPI ===
MHAPI (a library with convenience calls for making addons for MakeHuman) is now included and enabled per default.
== Where to download ==
The following are links to where you can download '''beta 1''' (as beta 2 hasn't been release yet):
You can [http://download.tuxfamily.org/makehuman/nightly/makehuman-community-1.2.0-beta1-windows.zip download the windows build here].
For linux, [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community there is a new PPA].
== Providing feedback and bug reports ==
As always with a beta release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums. But more formal information about bug trackers can be found here: http://www.makehumancommunity.org/content/bugtracker.html
4a1a1889e25685b5420a1b8341f1ac5fe2902f8a
1823
1800
2020-07-23T13:17:35Z
Joepal
14
wikitext
text/x-wiki
These are the release notes for 1.2.0-beta2, which has not yet been released.
This is the second beta. All in all, most of the code should now be almost as it is supposed to look for a release, although there are still some graphics card issues.
The notes describe, as of now, a beta version of a coming release. The final release might be different from what is described below.
If you wonder if this is something you should use, take a look at [[FAQ: Which version of MakeHuman should I download?]]
Note that a beta is exactly the same binary as the nightly build from the corresponding date. If you are already using a nightly build, there is no reason whatsoever to switch to a beta.
== General ==
In most cases, there should be no problem running versions 1.1.1 and 1.2.0 on the same system. They will not interfere with each other's files. You can find download links for 1.2.0 at the bottom of this page.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
== Changes since beta 1 ==
* CORE/UI: It is now possible to disable sample buffers via settings (on the general tab). This is the first thing to try on graphics cards which have trouble rendering the 3d canvas, see [[FAQ: The interface looks broken ]]
* CORE/UI: It is now possible to enforce "noshaders" via settings (on the general tab). This is the second thing to try on graphics cards which have trouble rendering the 3d canvas, see [[FAQ: The interface looks broken ]]
* CORE/UI: The UI should now scale properly on UHD/4K displays (thanks dennj). There is a setting for this under settings -> general.
* TARGETS: The core targets were reworked to assure left/right symmetry (thanks punkduck)
* WINDOWS: Another reason for makehuman silently not starting on windows was adressed
* WINDOWS: It should now be possible to "install for all users"
Due to the rapid evolution of the blender plugins (MPFB, MakeTarget, MakeClothes...) we're not listing these changes here. See the commit log in the respective git repositories instead:
* [https://github.com/makehumancommunity/makehuman-plugin-for-blender/commits/master MakeHuman Plugin for Blender (MPFB)]
* [https://github.com/makehumancommunity/community-plugins-makeclothes/commits/master MakeClothes 2]
* [https://github.com/makehumancommunity/community-plugins-maketarget/commits/master MakeTarget 2]
* [https://github.com/makehumancommunity/community-plugins-makeskin/commits/master MakeSkin]
== Highlights ==
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new Blender integration, with support for socket transfers, IK and Kinect
* There is a new randomization functionality for generating large sets of randomized characters
* Improved internationalization support for non-ASCII characters (backported)
* Plugins in user space
* Plugins activation at runtime
* Improved tag sorting capabilities (Hotkey: ALT-F), including sticky tag provisions
* Tags for models (with configurable tag count)
* Show Name Tags instead of file names in the file loader.
* Saving model as target
* Real weight estimation
* Configurable location for the home folder
* MHX2 is bundled in the default installation
* Save thumbnails directly from the internal render engine
* There is a new installer for windows
* There is a new PPA for ubuntu. This PPA also offers builds of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds)
* There is a new tool MakeSkin for creating materials
== Known issues ==
* FBX skeleton will still misbehave
* While most of the graphics card incompatibilities should now be fixed, there may still be still parts of the program that cause problems with some integrated graphics cards.
* There is no build for OSX
* The user data folder is still makehuman/v1py3 rather than makehuman/v1, in order to guarrantee that the development version does not interfere with the stable version. This will probably be changed for the final release.
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
=== Running from source ===
The source code is available at [https://github.com/makehumancommunity/makehuman https://github.com/makehumancommunity/makehuman]. You'll also find basic instructions on how to use the source code on this page.
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 to 5.12.x. '''5.14 will not work'''
* NumPy: 1.13.0 or higher
* PyOpenGL: Any modern version will work, including the one used for MakeHuman 1.1.x
=== Ubuntu ===
In order to fulfill the minimum dependency requirements listed above, you will need Ubuntu 18.04 or later. For earlier Ubuntu versions, you would have use backports of the dependencies, as they are not available in the default installation.
The PPA for this build is here: [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community ppa:makehuman-official/makehuman-community].
To enable it, run:
sudo add-apt-repository ppa:makehuman-official/makehuman-community
sudo apt-get update
sudo apt-get install makehuman-community
=== Mint ===
The instructions for Ubuntu apply, but you will have to also explicitly install all plugins (whereas these will be installed automatically on Ubuntu)
sudo apt-get install makehuman-community-plugins-assetdownload makehuman-community-plugins-socket makehuman-community-plugins-massproduce mhx2-makehuman-exchange
== The upgraded codebase ==
The main focus of this release has been to modernize the code. In the prior version, large parts were written more than eight years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The expected end of life for python 2.7 is in a few months
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
== Asset downloader ==
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
<br clear=all>
== New blender integration ==
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
[[File:12x-blender-ik.png|300px|thumb|right|Convert to IK rig]]
This release bundles a rich set of blender functionalitites, which can be added to blender in the form of an addon. Not all functionality will be listed here, but the following are
some highlights.
=== Import directly from MakeHuman ===
In blender it is now possible to fetch a toon directly from a running instance of MakeHuman, without having to first save the toon to a file. The importer will talk with the makehuman instance
and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses. The process is almost instantaneous (a toon with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== IK and amputations ===
The importer will use the skeleton set in MakeHuman to rig the resulting character in Blender. The rig can then be extended with the "IK rig" functionality: By clicking a button you can get extra
IK controls, and IK chains set up for arms, legs and fingers.
Rigs can also be amputated in case detailed bones are not required.
All rigs currently available to MakeHuman are supported.
=== Kinect ===
To be written
<br clear=all>
== A new windows installer ==
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
== Other bundled functionality ==
Apart from the above, some other functionality that previously had to be downloaded separately is now bundled:
=== MHX2 ===
MHX2 is now enabled per default in MakeHuman. The blender side of MHX2 can be downloaded from http://www.makehumancommunity.org/content/plugins.html
=== MHAPI ===
MHAPI (a library with convenience calls for making addons for MakeHuman) is now included and enabled per default.
== Where to download ==
The following are links to where you can download '''beta 1''' (as beta 2 hasn't been release yet):
You can [http://download.tuxfamily.org/makehuman/nightly/makehuman-community-1.2.0-beta1-windows.zip download the windows build here].
For linux, [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community there is a new PPA].
== Providing feedback and bug reports ==
As always with a beta release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums. But more formal information about bug trackers can be found here: http://www.makehumancommunity.org/content/bugtracker.html
b2a8b9122fa1b9f605cd045e7c0c553c071be095
1800
1794
2020-06-08T11:03:09Z
Joepal
14
wikitext
text/x-wiki
These are the release notes for 1.2.0-beta2, which has not yet been released.
This is the second beta. All in all, most of the code should now be almost as it is supposed to look for a release, although there are still some graphics card issues.
The notes describe, as of now, a beta version of a coming release. The final release might be different from what is described below.
If you wonder if this is something you should use, take a look at [[FAQ: Which version of MakeHuman should I download?]]
Note that a beta is exactly the same binary as the nightly build from the corresponding date. If you are already using a nightly build, there is no reason whatsoever to switch to a beta.
== General ==
In most cases, there should be no problem running versions 1.1.1 and 1.2.0 on the same system. They will not interfere with each other's files. You can find download links for 1.2.0 at the bottom of this page.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
== Changes since beta 1 ==
* CORE/UI: The UI should now scale properly on UHD/4K displays (thanks dennj)
* TARGETS: The core targets were reworked to assure left/right symmetry (thanks punkduck)
* WINDOWS: Another reason for makehuman silently not starting on windows was adressed
* WINDOWS: It should now be possible to "install for all users"
Due to the rapid evolution of the blender plugins (MPFB, MakeTarget, MakeClothes...) we're not listing these changes here. See the commit log in the respective git repositories instead:
* [https://github.com/makehumancommunity/makehuman-plugin-for-blender/commits/master MakeHuman Plugin for Blender (MPFB)]
* [https://github.com/makehumancommunity/community-plugins-makeclothes/commits/master MakeClothes 2]
* [https://github.com/makehumancommunity/community-plugins-maketarget/commits/master MakeTarget 2]
* [https://github.com/makehumancommunity/community-plugins-makeskin/commits/master MakeSkin]
== Highlights ==
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new Blender integration, with support for socket transfers, IK and Kinect
* There is a new randomization functionality for generating large sets of randomized characters
* Improved internationalization support for non-ASCII characters (backported)
* Plugins in user space
* Plugins activation at runtime
* Improved tag sorting capabilities (Hotkey: ALT-F), including sticky tag provisions
* Tags for models (with configurable tag count)
* Show Name Tags instead of file names in the file loader.
* Saving model as target
* Real weight estimation
* Configurable location for the home folder
* MHX2 is bundled in the default installation
* Save thumbnails directly from the internal render engine
* There is a new installer for windows
* There is a new PPA for ubuntu. This PPA also offers builds of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds)
* There is a new tool MakeSkin for creating materials
== Known issues ==
* FBX skeleton will still misbehave
* While most of the graphics card incompatibilities should now be fixed, there may still be still parts of the program that cause problems with some integrated graphics cards.
* There is no build for OSX
* The user data folder is still makehuman/v1py3 rather than makehuman/v1, in order to guarrantee that the development version does not interfere with the stable version. This will probably be changed for the final release.
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
=== Running from source ===
The source code is available at [https://github.com/makehumancommunity/makehuman https://github.com/makehumancommunity/makehuman]. You'll also find basic instructions on how to use the source code on this page.
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 to 5.12.x. '''5.14 will not work'''
* NumPy: 1.13.0 or higher
* PyOpenGL: Any modern version will work, including the one used for MakeHuman 1.1.x
=== Ubuntu ===
In order to fulfill the minimum dependency requirements listed above, you will need Ubuntu 18.04 or later. For earlier Ubuntu versions, you would have use backports of the dependencies, as they are not available in the default installation.
The PPA for this build is here: [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community ppa:makehuman-official/makehuman-community].
To enable it, run:
sudo add-apt-repository ppa:makehuman-official/makehuman-community
sudo apt-get update
sudo apt-get install makehuman-community
=== Mint ===
The instructions for Ubuntu apply, but you will have to also explicitly install all plugins (whereas these will be installed automatically on Ubuntu)
sudo apt-get install makehuman-community-plugins-assetdownload makehuman-community-plugins-socket makehuman-community-plugins-massproduce mhx2-makehuman-exchange
== The upgraded codebase ==
The main focus of this release has been to modernize the code. In the prior version, large parts were written more than eight years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The expected end of life for python 2.7 is in a few months
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
== Asset downloader ==
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
<br clear=all>
== New blender integration ==
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
[[File:12x-blender-ik.png|300px|thumb|right|Convert to IK rig]]
This release bundles a rich set of blender functionalitites, which can be added to blender in the form of an addon. Not all functionality will be listed here, but the following are
some highlights.
=== Import directly from MakeHuman ===
In blender it is now possible to fetch a toon directly from a running instance of MakeHuman, without having to first save the toon to a file. The importer will talk with the makehuman instance
and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses. The process is almost instantaneous (a toon with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== IK and amputations ===
The importer will use the skeleton set in MakeHuman to rig the resulting character in Blender. The rig can then be extended with the "IK rig" functionality: By clicking a button you can get extra
IK controls, and IK chains set up for arms, legs and fingers.
Rigs can also be amputated in case detailed bones are not required.
All rigs currently available to MakeHuman are supported.
=== Kinect ===
To be written
<br clear=all>
== A new windows installer ==
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
== Other bundled functionality ==
Apart from the above, some other functionality that previously had to be downloaded separately is now bundled:
=== MHX2 ===
MHX2 is now enabled per default in MakeHuman. The blender side of MHX2 can be downloaded from http://www.makehumancommunity.org/content/plugins.html
=== MHAPI ===
MHAPI (a library with convenience calls for making addons for MakeHuman) is now included and enabled per default.
== Where to download ==
The following are links to where you can download '''beta 1''' (as beta 2 hasn't been release yet):
You can [http://download.tuxfamily.org/makehuman/nightly/makehuman-community-1.2.0-beta1-windows.zip download the windows build here].
For linux, [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community there is a new PPA].
== Providing feedback and bug reports ==
As always with a beta release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums. But more formal information about bug trackers can be found here: http://www.makehumancommunity.org/content/bugtracker.html
9b29bef99353d2fea4062ee96cf9fc6572d9f096
1794
1793
2020-05-22T09:52:31Z
Joepal
14
wikitext
text/x-wiki
These are the release notes for 1.2.0-beta2, which has not yet been released.
This is the second beta. All in all, most of the code should now be almost as it is supposed to look for a release, although there are still some graphics card issues.
The notes describe, as of now, a beta version of a coming release. The final release might be different from what is described below.
If you wonder if this is something you should use, take a look at [[FAQ: Which version of MakeHuman should I download?]]
Note that a beta is exactly the same binary as the nightly build from the corresponding date. If you are already using a nightly build, there is no reason whatsoever to switch to a beta.
== General ==
In most cases, there should be no problem running versions 1.1.1 and 1.2.0 on the same system. They will not interfere with each other's files. You can find download links for 1.2.0 at the bottom of this page.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
== Changes since beta 1 ==
* WINDOWS: Another reason for makehuman silently not starting on windows was adressed
* WINDOWS: It should now be possible to "install for all users"
Due to the rapid evolution of the blender plugins (MPFB, MakeTarget, MakeClothes...) we're not listing these changes here. See the commit log in the respective git repositories instead:
* [https://github.com/makehumancommunity/makehuman-plugin-for-blender/commits/master MakeHuman Plugin for Blender (MPFB)]
* [https://github.com/makehumancommunity/community-plugins-makeclothes/commits/master MakeClothes 2]
* [https://github.com/makehumancommunity/community-plugins-maketarget/commits/master MakeTarget 2]
* [https://github.com/makehumancommunity/community-plugins-makeskin/commits/master MakeSkin]
== Highlights ==
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new Blender integration, with support for socket transfers, IK and Kinect
* There is a new randomization functionality for generating large sets of randomized characters
* Improved internationalization support for non-ASCII characters (backported)
* Plugins in user space
* Plugins activation at runtime
* Improved tag sorting capabilities (Hotkey: ALT-F), including sticky tag provisions
* Tags for models (with configurable tag count)
* Show Name Tags instead of file names in the file loader.
* Saving model as target
* Real weight estimation
* Configurable location for the home folder
* MHX2 is bundled in the default installation
* Save thumbnails directly from the internal render engine
* There is a new installer for windows
* There is a new PPA for ubuntu. This PPA also offers builds of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds)
* There is a new tool MakeSkin for creating materials
== Known issues ==
* FBX skeleton will still misbehave
* While most of the graphics card incompatibilities should now be fixed, there may still be still parts of the program that cause problems with some integrated graphics cards.
* There is no build for OSX
* The user data folder is still makehuman/v1py3 rather than makehuman/v1, in order to guarrantee that the development version does not interfere with the stable version. This will probably be changed for the final release.
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
=== Running from source ===
The source code is available at [https://github.com/makehumancommunity/makehuman https://github.com/makehumancommunity/makehuman]. You'll also find basic instructions on how to use the source code on this page.
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 to 5.12.x. '''5.14 will not work'''
* NumPy: 1.13.0 or higher
* PyOpenGL: Any modern version will work, including the one used for MakeHuman 1.1.x
=== Ubuntu ===
In order to fulfill the minimum dependency requirements listed above, you will need Ubuntu 18.04 or later. For earlier Ubuntu versions, you would have use backports of the dependencies, as they are not available in the default installation.
The PPA for this build is here: [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community ppa:makehuman-official/makehuman-community].
To enable it, run:
sudo add-apt-repository ppa:makehuman-official/makehuman-community
sudo apt-get update
sudo apt-get install makehuman-community
=== Mint ===
The instructions for Ubuntu apply, but you will have to also explicitly install all plugins (whereas these will be installed automatically on Ubuntu)
sudo apt-get install makehuman-community-plugins-assetdownload makehuman-community-plugins-socket makehuman-community-plugins-massproduce mhx2-makehuman-exchange
== The upgraded codebase ==
The main focus of this release has been to modernize the code. In the prior version, large parts were written more than eight years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The expected end of life for python 2.7 is in a few months
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
== Asset downloader ==
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
<br clear=all>
== New blender integration ==
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
[[File:12x-blender-ik.png|300px|thumb|right|Convert to IK rig]]
This release bundles a rich set of blender functionalitites, which can be added to blender in the form of an addon. Not all functionality will be listed here, but the following are
some highlights.
=== Import directly from MakeHuman ===
In blender it is now possible to fetch a toon directly from a running instance of MakeHuman, without having to first save the toon to a file. The importer will talk with the makehuman instance
and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses. The process is almost instantaneous (a toon with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== IK and amputations ===
The importer will use the skeleton set in MakeHuman to rig the resulting character in Blender. The rig can then be extended with the "IK rig" functionality: By clicking a button you can get extra
IK controls, and IK chains set up for arms, legs and fingers.
Rigs can also be amputated in case detailed bones are not required.
All rigs currently available to MakeHuman are supported.
=== Kinect ===
To be written
<br clear=all>
== A new windows installer ==
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
== Other bundled functionality ==
Apart from the above, some other functionality that previously had to be downloaded separately is now bundled:
=== MHX2 ===
MHX2 is now enabled per default in MakeHuman. The blender side of MHX2 can be downloaded from http://www.makehumancommunity.org/content/plugins.html
=== MHAPI ===
MHAPI (a library with convenience calls for making addons for MakeHuman) is now included and enabled per default.
== Where to download ==
The following are links to where you can download '''beta 1''' (as beta 2 hasn't been release yet):
You can [http://download.tuxfamily.org/makehuman/nightly/makehuman-community-1.2.0-beta1-windows.zip download the windows build here].
For linux, [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community there is a new PPA].
== Providing feedback and bug reports ==
As always with a beta release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums. But more formal information about bug trackers can be found here: http://www.makehumancommunity.org/content/bugtracker.html
3fc8109b5c4651f7d8327665e95715d0ad12763c
1793
1792
2020-05-22T09:51:25Z
Joepal
14
wikitext
text/x-wiki
These are the release notes for 1.2.0-beta2, which has not yet been released.
This is the second beta. All in all, most of the code should now be almost as it is supposed to look for a release, although there are still some graphics card issues.
The notes describe, as of now, a beta version of a coming release. The final release might be different from what is described below.
If you wonder if this is something you should use, take a look at [[FAQ: Which version of MakeHuman should I download?]]
Note that are exactly the same binary as the nightly build from the corresponding date. If you are already using a nightly build, there is no reason whatsoever to switch to a beta.
== General ==
In most cases, there should be no problem running versions 1.1.1 and 1.2.0 on the same system. They will not interfere with each other's files. You can find download links for 1.2.0 at the bottom of this page.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
== Changes since beta 1 ==
* WINDOWS: Another reason for makehuman silently not starting on windows was adressed
* WINDOWS: It should now be possible to "install for all users"
Due to the rapid evolution of the blender plugins (MPFB, MakeTarget, MakeClothes...) we're not listing these changes here. See the commit log in the respective git repositories instead:
* [https://github.com/makehumancommunity/makehuman-plugin-for-blender/commits/master MakeHuman Plugin for Blender (MPFB)]
* [https://github.com/makehumancommunity/community-plugins-makeclothes/commits/master MakeClothes 2]
* [https://github.com/makehumancommunity/community-plugins-maketarget/commits/master MakeTarget 2]
* [https://github.com/makehumancommunity/community-plugins-makeskin/commits/master MakeSkin]
== Highlights ==
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new Blender integration, with support for socket transfers, IK and Kinect
* There is a new randomization functionality for generating large sets of randomized characters
* Improved internationalization support for non-ASCII characters (backported)
* Plugins in user space
* Plugins activation at runtime
* Improved tag sorting capabilities (Hotkey: ALT-F), including sticky tag provisions
* Tags for models (with configurable tag count)
* Show Name Tags instead of file names in the file loader.
* Saving model as target
* Real weight estimation
* Configurable location for the home folder
* MHX2 is bundled in the default installation
* Save thumbnails directly from the internal render engine
* There is a new installer for windows
* There is a new PPA for ubuntu. This PPA also offers builds of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds)
* There is a new tool MakeSkin for creating materials
== Known issues ==
* FBX skeleton will still misbehave
* While most of the graphics card incompatibilities should now be fixed, there may still be still parts of the program that cause problems with some integrated graphics cards.
* There is no build for OSX
* The user data folder is still makehuman/v1py3 rather than makehuman/v1, in order to guarrantee that the development version does not interfere with the stable version. This will probably be changed for the final release.
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
=== Running from source ===
The source code is available at [https://github.com/makehumancommunity/makehuman https://github.com/makehumancommunity/makehuman]. You'll also find basic instructions on how to use the source code on this page.
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 to 5.12.x. '''5.14 will not work'''
* NumPy: 1.13.0 or higher
* PyOpenGL: Any modern version will work, including the one used for MakeHuman 1.1.x
=== Ubuntu ===
In order to fulfill the minimum dependency requirements listed above, you will need Ubuntu 18.04 or later. For earlier Ubuntu versions, you would have use backports of the dependencies, as they are not available in the default installation.
The PPA for this build is here: [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community ppa:makehuman-official/makehuman-community].
To enable it, run:
sudo add-apt-repository ppa:makehuman-official/makehuman-community
sudo apt-get update
sudo apt-get install makehuman-community
=== Mint ===
The instructions for Ubuntu apply, but you will have to also explicitly install all plugins (whereas these will be installed automatically on Ubuntu)
sudo apt-get install makehuman-community-plugins-assetdownload makehuman-community-plugins-socket makehuman-community-plugins-massproduce mhx2-makehuman-exchange
== The upgraded codebase ==
The main focus of this release has been to modernize the code. In the prior version, large parts were written more than eight years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The expected end of life for python 2.7 is in a few months
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
== Asset downloader ==
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
<br clear=all>
== New blender integration ==
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
[[File:12x-blender-ik.png|300px|thumb|right|Convert to IK rig]]
This release bundles a rich set of blender functionalitites, which can be added to blender in the form of an addon. Not all functionality will be listed here, but the following are
some highlights.
=== Import directly from MakeHuman ===
In blender it is now possible to fetch a toon directly from a running instance of MakeHuman, without having to first save the toon to a file. The importer will talk with the makehuman instance
and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses. The process is almost instantaneous (a toon with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== IK and amputations ===
The importer will use the skeleton set in MakeHuman to rig the resulting character in Blender. The rig can then be extended with the "IK rig" functionality: By clicking a button you can get extra
IK controls, and IK chains set up for arms, legs and fingers.
Rigs can also be amputated in case detailed bones are not required.
All rigs currently available to MakeHuman are supported.
=== Kinect ===
To be written
<br clear=all>
== A new windows installer ==
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
== Other bundled functionality ==
Apart from the above, some other functionality that previously had to be downloaded separately is now bundled:
=== MHX2 ===
MHX2 is now enabled per default in MakeHuman. The blender side of MHX2 can be downloaded from http://www.makehumancommunity.org/content/plugins.html
=== MHAPI ===
MHAPI (a library with convenience calls for making addons for MakeHuman) is now included and enabled per default.
== Where to download ==
The following are links to where you can download '''beta 1''' (as beta 2 hasn't been release yet):
You can [http://download.tuxfamily.org/makehuman/nightly/makehuman-community-1.2.0-beta1-windows.zip download the windows build here].
For linux, [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community there is a new PPA].
== Providing feedback and bug reports ==
As always with a beta release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums. But more formal information about bug trackers can be found here: http://www.makehumancommunity.org/content/bugtracker.html
2fbb406fde8c42021efd242e9b729faf9d152644
1792
2020-05-22T09:50:49Z
Joepal
14
Created page with "These are the release notes for 1.2.0-beta2, which has not yetbeen release. This is the second beta. All in all, most of the code should now be almost as it is supposed to l..."
wikitext
text/x-wiki
These are the release notes for 1.2.0-beta2, which has not yetbeen release.
This is the second beta. All in all, most of the code should now be almost as it is supposed to look for a release, although there are still some graphics card issues.
The notes describe, as of now, a beta version of a coming release. The final release might be different from what is described below.
If you wonder if this is something you should use, take a look at [[FAQ: Which version of MakeHuman should I download?]]
Note that are exactly the same binary as the nightly build from the corresponding date. If you are already using a nightly build, there is no reason whatsoever to switch to a beta.
== General ==
In most cases, there should be no problem running versions 1.1.1 and 1.2.0 on the same system. They will not interfere with each other's files. You can find download links for 1.2.0 at the bottom of this page.
"MakeHuman Community 1.2.0" is a major update of the underlying code, where the focus has been to replace outdated dependencies and modernize the system. Further, a shift in focus has been made to position MakeHuman as a shared tool serving the larger community through integrated access to third party assets and extended functionality.
== Changes since beta 1 ==
* WINDOWS: Another reason for makehuman silently not starting on windows was adressed
* WINDOWS: It should now be possible to "install for all users"
Due to the rapid evolution of the blender plugins (MPFB, MakeTarget, MakeClothes...) we're not listing these changes here. See the commit log in the respective git repositories instead:
* [https://github.com/makehumancommunity/makehuman-plugin-for-blender/commits/master MakeHuman Plugin for Blender (MPFB)]
* [https://github.com/makehumancommunity/community-plugins-makeclothes/commits/master MakeClothes 2]
* [https://github.com/makehumancommunity/community-plugins-maketarget/commits/master MakeTarget 2]
* [https://github.com/makehumancommunity/community-plugins-makeskin/commits/master MakeSkin]
== Highlights ==
* The codebase has received a major overhaul to bring it up to date with modern versions of Python and Qt
* Third party assets can be downloaded from within MakeHuman with a simple point and click procedure
* There is a completely new Blender integration, with support for socket transfers, IK and Kinect
* There is a new randomization functionality for generating large sets of randomized characters
* Improved internationalization support for non-ASCII characters (backported)
* Plugins in user space
* Plugins activation at runtime
* Improved tag sorting capabilities (Hotkey: ALT-F), including sticky tag provisions
* Tags for models (with configurable tag count)
* Show Name Tags instead of file names in the file loader.
* Saving model as target
* Real weight estimation
* Configurable location for the home folder
* MHX2 is bundled in the default installation
* Save thumbnails directly from the internal render engine
* There is a new installer for windows
* There is a new PPA for ubuntu. This PPA also offers builds of plugins.
* Using Jupyter for the shell utility, if available on the system (currently not working for MakeHuman windows builds)
* There is a new tool MakeSkin for creating materials
== Known issues ==
* FBX skeleton will still misbehave
* While most of the graphics card incompatibilities should now be fixed, there may still be still parts of the program that cause problems with some integrated graphics cards.
* There is no build for OSX
* The user data folder is still makehuman/v1py3 rather than makehuman/v1, in order to guarrantee that the development version does not interfere with the stable version. This will probably be changed for the final release.
== Upgrading ==
This version uses the same file formats as 1.1.x in almost all cases. The only exception is MHM files (which are produced when clicking "save model" in MakeHuman). 1.2.x is able to open MHM files produced in 1.1.x, and the result will look exactly the same as in 1.1.x. However, 1.1.x will not be able to open MHM files saved by 1.2.x.
For all other assets, things should work the same and look the same in both versions, using the same files.
=== Running from source ===
The source code is available at [https://github.com/makehumancommunity/makehuman https://github.com/makehumancommunity/makehuman]. You'll also find basic instructions on how to use the source code on this page.
If you want to run MakeHuman directly from source (rather than downloading a binary build), you will have to replace almost all dependencies. It is also possible that not all dependencies will install smoothly beside the dependencies for 1.1.x.
The following are the minimum required dependency versions for MakeHuman Community 1.2.0:
* Python: 3.6.4 or higher
* PyQt: 5.10.0 to 5.12.x. '''5.14 will not work'''
* NumPy: 1.13.0 or higher
* PyOpenGL: Any modern version will work, including the one used for MakeHuman 1.1.x
=== Ubuntu ===
In order to fulfill the minimum dependency requirements listed above, you will need Ubuntu 18.04 or later. For earlier Ubuntu versions, you would have use backports of the dependencies, as they are not available in the default installation.
The PPA for this build is here: [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community ppa:makehuman-official/makehuman-community].
To enable it, run:
sudo add-apt-repository ppa:makehuman-official/makehuman-community
sudo apt-get update
sudo apt-get install makehuman-community
=== Mint ===
The instructions for Ubuntu apply, but you will have to also explicitly install all plugins (whereas these will be installed automatically on Ubuntu)
sudo apt-get install makehuman-community-plugins-assetdownload makehuman-community-plugins-socket makehuman-community-plugins-massproduce mhx2-makehuman-exchange
== The upgraded codebase ==
The main focus of this release has been to modernize the code. In the prior version, large parts were written more than eight years ago, and relied on libraries and code structures which are no longer functional in a modern context. More in detail:
* The system was written for python 2.6 and then upgraded when needed to python 2.7. The expected end of life for python 2.7 is in a few months
* The user interface was implemented in Qt4, via PyQt4. Both Qt4 and PyQt4 got deprecated years ago, and Riverside (the authors of PyQt) removed all PyQt4 windows binaries, meaning we could no longer provide windows builds.
Thus, the need to bring the code up to modern times became critical. We realized that the system would soon not be possible to run or develop on several platforms.
Going through the code to update it has taken some considerable time (years actually), but it has had the added benefit that we have also reviewed almost all sections of the code and fixed a lot of minor
bugs and glitches.
Most users will probably not notice much difference: the user interfaces in 1.2.0 and 1.1.1 are almost identical. But it was work that needed to be done before we could move forward with implementing new features.
== Asset downloader ==
[[File:12x-assetdownloader.png|400px|thumb|right|The asset downloader]]
This version of MakeHuman bundles the asset downloader plugin. By using this you can access all the hundreds of user contributed assets that are available via the MakeHuman Community.
Within the UI you can search for assets, show screenshots, read about details and download. Downloaded assets are automatically placed in your local asset directory so that you can
immediately go to the geometries tabs and, for example, equip the newly downloaded clothes.
<br clear=all>
== New blender integration ==
[[File:12x-blender-import.png|300px|thumb|right|One click import directly from MakeHuman]]
[[File:12x-blender-ik.png|300px|thumb|right|Convert to IK rig]]
This release bundles a rich set of blender functionalitites, which can be added to blender in the form of an addon. Not all functionality will be listed here, but the following are
some highlights.
=== Import directly from MakeHuman ===
In blender it is now possible to fetch a toon directly from a running instance of MakeHuman, without having to first save the toon to a file. The importer will talk with the makehuman instance
and fetch all meshes (such as the body, hair clothes...), materials, rigs and poses. The process is almost instantaneous (a toon with a lot of clothes might take a few seconds to import).
The importer UI supports a wide range of settings and presets. By using a preset you can, for example, import a body mesh suitable for using together with MakeClothes. This will make it significantly easier
to develop assets aimed at a specific body type.
Note that for the importer to work, you will have to go to the Community -> Socket tab in MakeHuman and enable "Accept connections". Otherwise MakeHuman won't answer, and you will get an error in Blender.
=== IK and amputations ===
The importer will use the skeleton set in MakeHuman to rig the resulting character in Blender. The rig can then be extended with the "IK rig" functionality: By clicking a button you can get extra
IK controls, and IK chains set up for arms, legs and fingers.
Rigs can also be amputated in case detailed bones are not required.
All rigs currently available to MakeHuman are supported.
=== Kinect ===
To be written
<br clear=all>
== A new windows installer ==
The windows version is now distributed as an executable installer that supports uninstall. After installing MakeHuman, it can now be found on the start menu like all other normal windows application.
Note that it is no longer recommended to go to the installation folder and start MakeHuman manually there. In order to do so, you would have to manually set up an environment for python, something
which is handled automatically by the start menu entry.
== Other bundled functionality ==
Apart from the above, some other functionality that previously had to be downloaded separately is now bundled:
=== MHX2 ===
MHX2 is now enabled per default in MakeHuman. The blender side of MHX2 can be downloaded from http://www.makehumancommunity.org/content/plugins.html
=== MHAPI ===
MHAPI (a library with convenience calls for making addons for MakeHuman) is now included and enabled per default.
== Where to download ==
The following are links to where you can download '''beta 1''' (as beta 2 hasn't been release yet):
You can [http://download.tuxfamily.org/makehuman/nightly/makehuman-community-1.2.0-beta1-windows.zip download the windows build here].
For linux, [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community there is a new PPA].
== Providing feedback and bug reports ==
As always with a beta release, the important part is getting feedback and bug reports.
If in doubt, feedback and bug reports can always be posted on the forums. But more formal information about bug trackers can be found here: http://www.makehumancommunity.org/content/bugtracker.html
57b9646fe5d275007d4d1f2415738c1cba0016f1
Releases:120mac
0
689
1965
1964
2020-12-27T15:29:59Z
Joepal
14
wikitext
text/x-wiki
Thanks to user Eray Ocak, there is now a mac build available.
Regarding features, this release is roughly equivalent to [[Releases:120|the official 1.2.0 build for windows and linux]]. The following are specific notes regarding the build for MacOS.
The first issue you are likely to run into, is that you might get an error message saying the application cannot be scanned for malicious software. This is because it isn't signed with a commercial certificate (which we don't have since we're a volunteer project without much of a budget). To get around this, see https://thewiredshopper.com/apple-cannot-check-for-malicious-software-error/
If there is something strange with this build, report this as an issue ticket at https://github.com/makehumancommunity/makehuman/issues. If it is not specific to OSX, see http://www.makehumancommunity.org/content/bugtracker.html for information on where to report bugs.
The build can be downloaded from http://download.tuxfamily.org/makehuman/releases/makehuman-community-1.2.0-macos.zip
792b2460d56cda037d382d40420b5fcaac715513
1964
1963
2020-12-27T15:27:00Z
Joepal
14
wikitext
text/x-wiki
Thanks to user Eray Ocak, there is now a mac build available.
Regarding features, this release is roughly equivalent to [[Releases:120|the official 1.2.0 build for windows and linux]]. The following are specific notes regarding the build for MacOS.
The first issue you are likely to run into, is that you might get an error message saying the application cannot be scanned for malicious software. This is because it isn't signed with a commercial certificate (which we don't have since we're a volunteer project without much of a budget). To get around this, see https://thewiredshopper.com/apple-cannot-check-for-malicious-software-error/
The build can be downloaded from http://download.tuxfamily.org/makehuman/releases/makehuman-community-1.2.0-macos.zip
a0972c972b59be9b8dea4d85d85b9c0cf2c87e5a
1963
1961
2020-12-27T15:26:37Z
Joepal
14
wikitext
text/x-wiki
Thanks to user Eray Ocak, there is now a mac build available.
Regarding features, this release is roughly equivalent to [[Releases:120|the official 1.2.0 build for windows and linux]]. The following are specific notes regarding the build for MacOS.
The first issue you are likely to run into, is that you get an error message saying the application cannot be scanned for malicious software. This is because it isn't signed with a commercial certificate (which we don't have since we're a volunteer project without much of a budget). To get around this, see https://thewiredshopper.com/apple-cannot-check-for-malicious-software-error/
The build can be downloaded from http://download.tuxfamily.org/makehuman/releases/makehuman-community-1.2.0-macos.zip
059bc136c15cb6b91dab310650315afb87add3af
1961
2020-12-27T15:16:49Z
Joepal
14
Created page with "Regarding features, this release is roughly equivalent to [[Releases:120|the official 1.2.0 build for windows and linux]]. The following are specific notes regarding the build..."
wikitext
text/x-wiki
Regarding features, this release is roughly equivalent to [[Releases:120|the official 1.2.0 build for windows and linux]]. The following are specific notes regarding the build for MacOS.
The first issue you are likely to run into, is that you get an error message saying the application cannot be scanned for malicious software. This is because it isn't signed with a commercial certificate (which we don't have since we're a volunteer project without much of a budget). To get around this, see https://thewiredshopper.com/apple-cannot-check-for-malicious-software-error/
The build can be downloaded from http://download.tuxfamily.org/makehuman/releases/makehuman-community-1.2.0-macos.zip
6e2477b56a0012e48e4be44d2e5d8fc2c30f8524
Technical notes on MakeHuman
0
198
1282
1281
2017-01-09T00:19:53Z
Duststorm
19
/* Macro modifier dependencies */
wikitext
text/x-wiki
== Vertex weights ==
With vertex weights we intend a weighted mapping of vertices of a mesh to a bone of a skeleton. The weight is a value between 0 and 1, the sum of these weights for each vertex should be normalized, which means they should sum to 1 (note: no euclidian distance, just simple addition of all weights). A weight map in MakeHuman is expressed as a bone name (becomes a bone index internally, using the index of the bone in a breadth-first list relative to skeleton structure), a vertex name and a floating point weight between 0 and 1. This weighted vertex to bone mapping is used for skinning (posing and animating, using vertex skinning, smooth skinning or linear blend skinning algorithm). For the skinning algorithm to work correctly it’s required that the weights are always normalized, otherwise you will see vertices move out of place disproportionally (though the weight loading code in MakeHuman ensures that this normalization always happens, so this is not a concern to the artist that defines the weights). The vertex weights can be exported to external tools as well using formats such as collada (DAE), FBX, Ogre3D meshes or MD5 quake meshes.
=== Vertex weights and skeletons ===
Vertex weights are defined for the default “master” skeleton or rig. They are defined in a json file with jsonw extension. They link each vertex of the basemesh including helpers to a named bone of this master rig, together with a certain weight.
The weights loader automatically removes doubles and normalizes the weights (so that they sum to 1). It also reports what the maximum number of bone weights per vertex is, additionally it allows compiling the weights to a reduced set with n number of bone weights, and automatically renormalizes those weights so they, again, sum to 1.
When loading weights, any vertex that receives no weighting is assigned to the root bone, as this is needed for skinning to prevent all those vertices jumping to the origin (0*pos == 0).
Alternative skeletons can define their own weights, by referencing a weights file just like the master rig, or they can choose to derive their weights from the master rig, through so called reference bone mappings. Skeletons will derive their weights from the master rig if they do not specify a weights file explicitly. Custom vertex weights in alternative rigs override those defined on the master rig, except in the case where a proxy defines its own vertex weights. See section Vertex weights for proxies for more details.
=== Reference bones for vertex weights and poses ===
Reference bones are defined on alternative rigs, they are a list of names of bones contained in the master rig. Every bone of an alternative rig can have such a list of reference bones. An alternative rig can also omit these references if it uses the same name as bones in the master rig, in which the mapping is implicit. Having a list of bone references always overrides the implicit mapping. Reference bone mappings are required for two purposes.
They are used for mapping poses defined on the master rig to other rigs. All poses are defined as BVH files that pose the master rig, so they reference only the bone names of the master rig. Poses are applied to all other rigs by using the reference bone mapping: all the rotations that the pose applies to the referenced bones are combined (in the order in which the references were specified -- note: rotations are NOT commutative) and are applied to the alternative rig bone.
Reference bone mappings can also be used for determining vertex weights of custom rigs. If the alternative rig does not explicitly define its own vertex weights, the mapping of reference bones is used to infere a set of bone weights for each bone: All the weights of the reference bones on the master rig (with the weights definition of the default/master rig) are combined and apply to the bone of the alternative rig. Doubles are merged, and weights renormalized. Any vertex that is not weighted will be assigned to the root bone. Watch for messages in the log to verify this.
=== Vertex weights for proxies ===
Generally proxies are mapped to basemesh geometry, that means either to the body or to helpers, or a combination of both (though this is unusual). Proxies derive their vertex weights from the vertices on the basemesh on which they are fitted. A proxy defines its fitting as a 3d offset from one or three vertices on the basemesh, allowing it to deform as the human deforms. This mapping is used to transfer the vertex weights from basemesh to proxy: a proxy vertex referencing three basemesh vertices gets the bone weights of those three vertices. Doubles are merged and the weights are normalized, so that the influence factors are averaged or smoothed. In this case the weights applied to proxies are always those defined on the skeleton: either the weights explicitly defined on the skeleton, or the weights obtained from remapping the master rig weights to this skeleton using the reference bone mapping mentioned in the previous sections. There is an exception to this, which is explained in the next paragraph.
A proxy can explicitly define its own vertex (to bone) weights. In this case it overrides the weights that would be obtained through the proxy mapping, and replaces them by its own custom definition of weights. These vertex weights are always defined to reference the bones of the master rig (default skeleton), so they need to be remapped to other skeletons using reference bone mapping. This also means that the custom weights of a proxy override any custom weights mapping that might be loaded with an alternative rig (but only for that proxy item). Custom proxy weights should be avoided if possible, but are in some cases required, eg. for properly rigging shoes which are rigidly fitted to feet, or an alternative topology which defines very accurate rigging on the face. The general advice for custom rigs is therefore to stay as close to the master rig as possible, reusing as much bones identically as possible, to achieve the best results for proxies with custom weights.
In case of custom weight, the mhclo file must contain a line to indicate the weight file to use, using the keyword “vertexboneweights_file”, with the syntax:
vertexboneweights_file filename.jsonw
== Targets and modifiers ==
MakeHuman applies targets on the human by means of modifiers. Such a modifier has a value (usually between [0, 1] or [-1, 1]) that determines the effect that it will have on the human mesh. A modifier can control one or more targets and it will apply the mixed sum of those targeys on the mesh. Some modifiers.
=== Organization of targets ===
To make sure targets are linked to the right modifier, or to make managing targets easier, a certain discipline has to be observed in managing them. Targets are ASCII files in the data/targets or data/custom folder (in either the program or user folder) and they haave file extension of .target.
The file name and folder that targets are in implicitly determine their group name. A group is identified by a sequence of tags or tokens, which are taken from the file and folder name of each target. These tokens are delimited by “-” symbols, to include multiple tokens in a single file or folder name. The lib/targets.py module takes care of loading all the names of the available targets and assembles them into groups. All targets with the same tokens end up in the same group. This allows easy querying and requesting of targets. The creator is pretty much free to decide what groups to create for their targets. By passing the name of the target group to a modifier, they can make sure that modifier controls the targets belonging to this group. It does not matter whether you use folders or - delimited file names for creating groups.
An example:
data/targets/cartoon/eyes-large.target is categorized in group (cartoon, eyes, large)
data/targets/cartoon-eyes-large.target is also categorized in group (cartoon, eyes, large)
Most simple modifiers work by specifying a group (for example cartoon-eyes) and a set of two tokens to append at the end, depending on the position of the modifier slider (eg. small, large which would allow controlling the targets cartoon-eyes-small and cartoon-eyes-large by moving the slider to the left or right).
=== Reserved group tokens ===
Some of the tokens in the file or foldername of targets are linked to values that variables of the human can have. Such variables are for example age, weight, muscle, gender.
This table lists all the reserved tokens, and the variables they belong to.
{| class="wikitable"
|-
! Reserved token (value)
! Variable
|-
| female,male
| gender
|-
| baby, child, young, old
| age
|-
| african, caucasian, asian
| race
|-
| minmuscle, averagemuscle, maxmuscle
| muscle
|-
| minweight, averageweight, maxweight
| weight
|-
| minheight, averageheight, maxheight
| height
|-
| mincup, averagecup, maxcup
| breastsize
|-
| minfirmness, averagefirmness, maxfirmness
| breastfirmness
|-
| uncommonproportions, regularproportions, idealproportions
| bodyproportion
|}
Note that it is not a good idea to use simply “max” or “min” as a reserved token name, because they need to be unique (otherwise it would not be possible to determine whether they are a minimum for, for example, weight or height). These reserved tokens are declared in the lib/targets.py module. The variable can be set and queried on the human object, for example human.getAge(), human.setMuscle(0.7), human.getProportion().
The reserved tokens are NOT included in the group name, so you should at least include some other, non-reserved tokens in the file or folder names to assign your target to some meaningful group. The inclusion of these reserved tokens in your target names or paths makes it convenient to create macro modifiers.
=== Macro targets and modifiers ===
Macro modifiers are modifiers whose effect (the combination of targets they apply on the human) is influenced by macro variables set on the human (eg. human.set/getAge()). Therefore, macro modifiers often control a large set of targets (20 or even more). It’s also common for multiple modifiers to control exactly the same set of targets, for example the standard age/gender/race sliders all control the set of targets in the ‘macrodetails’ group. Each slider modifies a different variable (eg. human.setAge()) controlling the set of targets, and then reapplies a combination of the same set of targets on the human.
=== Macro modifier dependencies ===
There are other macro modifiers that can also depend on the same variables age, gender, race that is controlled by the main macro modifiers, as discussed above. For example the macro modifiers that influence the weight and muscle mass of the human, controls the targets group “macrodetails-universal”, the universal token is added by prepending “universal-” to all the file names of related targets, which all reside in the folder “macrodetails” (thus macrodetails-universal ends up being the group name). They could have been included all in the “macrodetails” group, but are kept separate for performance reasons, so that the “macrodetails” group of targets (which already contains some 40 targets or so) can be applied in realtime while moving the slider.
Of course a change in the variable that these age/race/gender modifiers control will have an effect on the macrodetails-universal modifiers (because they control targets that depend on age -- their targets include -young- -old- etc. tokens in their filenames). This means there are inter-dependencies between macro modifiers, if one is updated, another one that depends on it should be refreshed. These dependencies can be desceibed as follows: one macro modifier controls exactly one macro variable (such as age). It (or rather, the targets it controls) can however depend on multiple macro variables. The trivial case is where a macro modifier only depends on the macro variable that it controls itself. The tracking of these dependencies and deciding which modifiers must be updated when another is changed happens automatically. Dependencies are automatically tracked as soon as you add a modifier to the human (by calling modifier.setHuman(human)). To make this enhance performance in real-time, the propagation of updates to modifiers is limited while sliders are dragged (see realtimeDependencyUpdates in apps/humanmodifier.py).
As you might have understood, creating modifiers that depend on human variables is almost automatic. The only thing you need to do is create some targets that resolve to the same group name, add variations for all the macro variables you want and add the proper reserved tokens to the file or folder name (refer to the left column in the table above), and create a modifier with this group name. Once added to the human, the dependencies are tracked automatically.
Some more documentation about how macro modifiers resolve macro variables to actual variables can be found in this bug report: http://bugtracker.makehumancommunity.org/issues/1083
Most of note here is probably how updateMacroTargets(), set<macrovariable>() and setDetail() interact, to build the targetsDetailStack, which can then be applied to the human geometry using applyAllTargets().
=== Organization of modifiers ===
We already discussed how we organized targets in groups, to make it easier to connect them to a modifier. Now we will discuss how we can do a similar thing for modifiers.
Modifiers provide an easy way to manage targets. They allow reducing many of hundreds of targets to a more manageable number of controllable properties. But even then, we still have about 100 modifiers, which is still quite a lot. Therefore we group them in groups of categories, much like we do in the GUI. This makes it easy to get a grouped overview of all modifiers when using an alternative interface, think of command line or scripting. The way in which you declare the group and other properties of a modifier determines what target groups it gets its targets from.
Modifiers are declared with a group name, some intermediary “target name” and a number of tail tokens (2 or 3 usually, e.g., min/max). The group of targets controlled by these modifiers is composed as: groupname-targets_name-tail.
Macro modifiers are declared with a group name, and a controlled variable. The groupname must be the same groupname of the targets they control.
=== Declarative modifiers ===
Instead of hard coding what modifiers you want to instantiate, MakeHuman offers a data-based format to declare what modifiers should be created, and how they should be shown in a user interface with sliders.
A full declaration requires '''three files''', all stored in data/modifiers. The '''first file''' is the declaration of the modifiers (e.g., modeling_modifiers.json). This format lists a modifier group name, and all the modifiers with their macro variable (if they are macro modifiers) or target name and 2 or 3 (if they are a modifier with a center point) tail tokens.
The '''second file''' adds a description to the modifiers declared in the first file. It basically contains a key-value set, referencing the modifier name, and a textual description of what the modifier controls. A modifier name is constructed as follows: group/targets_name-all|the|tails and for a macro modifier: group/variable.
The '''third file''' defines how these modifiers should be shown in the user interface as sliders. It lists a set of categories, and the sliders to show in them, and how their values have to be saved in a mhm file (mainly a feature for legacy compatibility).
=== Your own plugin with modifiers, sliders and targets ===
Using the declarative data format described in the section above, it’s really simple. Have a look at the plugin plugins/0_modeling_0_modifiers.py. Notice it’s barely 5 lines of code. Creating your own modeling plugin is as simple as that, pointing it to your own modifier data files.
=== Binary targets ===
Because loading these ASCII target files, and iterating all target files and folders can be slow (especially on windows) in build versions, we compile all targets in the data/targets system folder into a single binary file, that furthermore acts exactly the same as multiple target files. The binary targets file is stored in the system data/ folder and is called targets.npz, it is created by running the compile_targets.py script, which is also automatically run in the build_prepare.py build routine. The file structure of the targets files is maintained in this binary file so that targets can be loaded from it in the same way as you would do with regular files. A change in the .target files, or newly added target files allow a recompilation of the targets npz file before the change is applied.
== Proxy format ==
A proxy is a fitting of an arbitrary mesh (for example clothes or a hairstyle) to the basemesh. A proxy asset is distributed as a mesh file together with this fitting file (what we call the proxy file), allowing this mesh to be fitted on different modeling variations of the human within MakeHuman.
=== v1.0 format ===
The 1.0 format got introduced in the v1.0 release of MakeHuman, but was already present in the Alpha 7 (A7) release. The format got reworked a bit for 1.0, however.
==== Example ====
This is an excerpt from the fedora distributed with MakeHuman
# Exported from MakeClothes (TM)
# author Jonas Hauquier
# license AGPL3 (see also http://www.makehuman.org/node/320)
# homepage http://www.makehuman.org/
uuid 566dbd52-71d1-4d76-a799-0474a5a384db
basemesh hm08
tag Hats
name fedora
obj_file fedora.obj
x_scale 5399 11998 1.4800
z_scale 962 5320 1.9221
y_scale 791 881 2.3298
z_depth 50
material materials/fedora.mhmat
verts 0
251 5243 5244 0.60391 0.28706 0.10903 -0.00245 0.01323 0.03373
7020 11853 11852 0.53311 0.29591 0.17097 0.00529 0.01134 0.03388
7678 7000 7707 0.22571 0.34923 0.42506 0.00946 0.03331 0.04954
984 983 1015 0.17322 0.18383 0.64295 -0.00575 0.03634 0.05443
1014 226 982 0.12607 0.67880 0.19513 -0.00934 0.03289 0.04891
250 5245 5232 0.54148 0.48285 -0.02433 -0.01273 0.01129 0.03202
7746 7712 12153 0.16168 0.32394 0.51438 0.02696 0.11561 0.09667
5556 5554 1013 -0.03554 0.63140 0.40413 -0.01650 0.11949 0.10646
5560 5556 1020 0.34178 0.11896 0.53926 -0.03442 0.11513 0.09756
1013 7712 7721 0.24117 0.40913 0.34971 0.03897 0.20473 0.13559
1013 882 1029 0.71875 0.41604 -0.13479 -0.02631 0.22391 0.13840
1029 1020 1013 0.36342 0.60536 0.03123 -0.03890 0.20439 0.13536
7712 7721 882 0.21674 0.67896 0.10430 0.02804 0.23763 0.15510
1013 882 1029 0.30269 0.87853 -0.18122 -0.02994 0.25488 0.15754
1029 1020 1013 0.79483 0.03879 0.16638 -0.04433 0.23290 0.15424
5370 5368 969 -0.08854 0.29827 0.79027 -0.01789 0.14173 -0.15713
11971 7713 969 0.28241 0.33962 0.37797 0.01910 0.14921 -0.16563
11971 7713 969 0.05967 0.69236 0.24796 0.01670 0.13045 -0.14480
5370 5368 969 -0.07249 0.07305 0.99945 -0.01517 0.12017 -0.13323
969 1021 5370 0.20926 0.73057 0.06018 -0.01674 0.13078 -0.14517
969 1021 5370 0.33927 0.37782 0.28291 -0.01914 0.14955 -0.16600
5379 969 7713 -0.00113 0.07709 0.92403 0.01192 0.06520 -0.14994
1021 969 5379 -0.05590 0.97961 0.07629 -0.01124 0.06148 -0.14138
1021 969 5379 0.96289 0.03946 -0.00235 -0.01195 0.06537 -0.15033
11982 11981 7713 0.14728 0.42350 0.42922 0.01740 0.04655 -0.11033
1021 969 5379 -0.03656 0.34361 0.69295 -0.00834 0.04564 -0.10495
1021 5381 5382 0.43027 0.37607 0.19367 -0.01752 0.04687 -0.11110
11981 11982 7738 0.30937 0.48274 0.20789 0.00929 0.00889 -0.07280
5379 962 1022 0.56542 0.43776 -0.00318 -0.00327 0.01206 -0.08469
The rest of the file is very similar, it continues listing vertex fittings to the basemesh.
==== Vertex assignments ====
The format contains matchings in the following format:
vIdx1 vIdx2 vIdx3 w1 w2 w3 d1 d2 d3
vIdx is an index of a vertex on the basemesh
w is a weight of the corresponding vertex
d1,d2,d3 are optional (default to 0) and defines an offset
The format contains one such lines for every vertex in the proxy mesh, the order of the lines is the same as the order of vertices in the proxy mesh.
The format also supports an alternative fitting, referencing exactly one basemesh vertex, which is used for exact fitting: the proxy mesh vertex is placed in the exact same location as the basemesh vertex it is associated with.
vIdx
The file format allows mixing these two types of fittings on a per-vertex basis.
==== Properties ====
Every proxy should have a unique uuid (which can be generated using the python uuid module using uuid.uuid4()), a name, description, author and license information.
One or multiple tags can be added, each on a new line prepended with "tag".
A proxy references a material file and an OBJ mesh.
z_depth determines the rendering priority of the object (important for transparency) and the layer of clothing. It is used by face masking to determine which piece of clothing masks another.
The scale parameters define a bounding box referencing vertices on the human between which the proxy should be scaled. They are modified in makeclothes by selecting a clothing part.
=== v1.2 format ===
Starting from v1.2, a new algorithm for handling proxies is introduced, based on Manuel Bastioni's Lab experiments.
The new format uses a local normal space instead of global coordinates, making it more stable, even across different poses. It is also a lot easier for an artist to create new proxies, as it requires only one button press, instead of having to deal with vertex groups.
Future MakeHuman versions will contain backwards compatibility support for v1.0 proxies, but the new format is recommended for creation of new content.
The layout of this format is largely the same as the old format, with a version parameter specifying that this file should be interpreted as a new style proxy.
==== Example ====
# Exported from MakeClothes (TM)
# author Jonas Hauquier
# license AGPL3 (see also http://www.makehuman.org/node/320)
# homepage http://www.makehuman.org/
uuid 566dbd52-71d1-4d76-a799-0474a5a384db
basemesh hm08
tag Hats
version 120
name fedora
obj_file fedora.obj
z_depth 50
material materials/fedora.mhmat
verts 0
vIdx1 vIdx2 vIdx3 vIdx4 dx dy dz
It looks a lot like the v1.0 format, only the scale is no longer needed, and the vertex assignments have a new format.
The "version 120" is required to indicate that this file should be interpreted to use the new proxy fitting algorithm.
vIdxi references the vertices of a polygon of the basemesh
dx dy dz is the distance (delta) vector between the polygon center and the proxy mesh vertex.
=== Binary proxy ===
Proxies, as well as their meshes, can be compiled into a more compact binary variant that is faster to load and smaller to distribute. MakeHuman will do this automatically for proxies in the home path. Files in the installation path will have to be compiled manually by running the compile_proxies.py and compile_meshes.py scripts. Usually these scripts are ran when a distribution is created, so need not to be repeated by the end user, unless MakeHuman is used from source.
== Material format==
=== Introduction ===
MakeHuman material files have extension .mhmat and are simple ASCII definitions
of the material settings to use for rendering.
These material settings are primarily intended for configuring the material
system within MakeHuman, but they are usually carried out to other software as
well by the exporters.
Not all properties will be supported for all given combinations of shaders, nor
is there a guarantee that the exporters will honor all the properties in these
files.
Every 3D object in MakeHuman has exactly one material attached to it (multiple
materials are not possible, you need separate objects for that). Materials are
used for proxy meshes (clothes, hairs, ...) but also for the skin of the human
itself.
=== The Material System ===
The MakeHuman material system is closely based on the [https://en.wikipedia.org/wiki/Rendering_equation standard rendering equation]
as is used in OpenGL and DirectX forward rendering pipelines. MakeHuman supports
shaders and the material format contains the most commonly used extensions in
real-time rendering. As a consequence of this, users need to be aware of the
implications of setting values such as ambient too bright, or diffuse too dark.
All usual rules about rendering materials apply.
At the highest level, the material supports setting the most basic material
properties, such as diffuse, specular and ambient color. These are supported
both by shaders as well as the fixed function shading pipeline (which is used
when no shader is specified). Fixed function also supports the diffuse texture
option.
At a second level, a shader can be chosen. This refers directly to the filename
of a [https://en.wikipedia.org/wiki/OpenGL_Shading_Language GLSL shader] as found in the data/shaders/glsl folder of MakeHuman.
The selected shader will determine what material options will be available.
At the third level, various additional settings become available, depending on whether or not the
chosen shader has support for these features, such as bump or normal mapping,
ambient occlusion, specular mapping, etc.
For most of these, a texture map and a scalar property between 0 and 1 can be
set, the latter determining the intensity or influence of the effect.
Finally, MakeHuman also contains a built-in offline renderer that supports some
additional properties such as subsurface scattering, for which some special
properties are available.
=== Example ===
This is a full and complete (but fictional) example of a material file for MakeHuman, it shows all the available properties.
# Example MakeHuman Material definition
name Material_name
tag some_tag
tag another_tag
description material description text here
ambientColor 0.11 0.11 0.11
diffuseColor 1.0 1.0 1.0
specularColor 0.0470588235294 0.0470588235294 0.0470588235294
shininess 0.96
emissiveColor 0.0 0.0 0.0
opacity 1.0
translucency 0.0
shadeless False
wireframe False
transparent True
alphaToCoverage True
backfaceCull False
depthless False
autoBlendSkin False
castShadows True
receiveShadows True
diffuseTexture diffuse_texture.png
bumpmapTexture bumpmap.png
bumpmapIntensity 1.0
normalmapTexture normalmap.png
normalmapIntensity 1.0
displacementmapTexture norm_displacement.png
displacementmapIntensity 1.0
specularmapTexture specular.png
specularmapIntensity 1.0
transparencymapTexture alpha.png
transparencymapIntensity 1.0
aomapTexture ambient_occlusion_map.png
aomapIntensity 1.0
# Sub-surface scattering parameters
sssEnabled True
sssRScale 5.0
sssGScale 2.5
sssBScale 1.0
shader shaders/glsl/litsphere
shaderParam litsphereTexture litspheres/lit_hair.png
shaderConfig ambientOcclusion True
shaderConfig normal False
shaderConfig bump True
shaderConfig displacement False
shaderConfig vertexColors True
shaderConfig spec True
shaderConfig transparency True
shaderConfig diffuse True
shaderDefine ALPHA_MAP
uvMap alt_uv_coords.mhuv
This is another example, this time a real one. It is the X-ray material, used for example when showing the skeleton:
# Material definition for XrayMaterial
name XrayMaterial
ambientColor 0.1 0.1 0.1
diffuseColor 1.0 1.0 1.0
specularColor 0.3 0.3 0.3
shininess 0.1
emissiveColor 0.0 0.0 0.0
opacity 0.1
translucency 0.0
transparent True
backfaceCull True
shadeless False
wireframe False
depthless False
shader data/shaders/glsl/xray
shaderConfig diffuse False
shaderConfig transparency False
shaderConfig normal False
shaderConfig bump False
shaderConfig spec False
shaderConfig vertexColors False
shaderConfig displacement False
=== Explanation of material properties ===
==== Standard settings ====
''ambientColor'', ''diffuseColor'' ''specularColor'', ''emissiveColor'' are the standard colors
as used in the [https://en.wikipedia.org/wiki/Rendering_equation rendering equation]
or in standard OpenGL.
Their corresponding intensities are simple scalars with a value between 0 and 1 and are multiplied
with the colors to dim them. Default these intensities are set to 1.
Colors are described as three floating point numbers, representing R G B, or red-green-blue
values. 1 is the maximum, 0 the minimum.
For example 1.0 0 0 means fully red, 1 1 1 means full white, 0 0 0 is full black.
0.5 0.5 0.5 will give you a grey middle color.
''opacity'' determines the opaqueness of the object (alpha channel), with 1 being fully
opaque, and 0 being fully transparent (invisible)
''translucency'' is something that came from Blender but is unused
''shininess'' or specular hardness is a number between 0 and 1 determining the shininess constant of the [https://en.wikipedia.org/wiki/Phong_reflection_model phong shading model].
==== Texture maps ====
Various standard texture maps can be defined on the material, like ''diffuseTexture'', ''bumpmapTexture'', ''normalmapTexture'', ''displacementmapTexture'', ''specularmapTexture'', ''transparencymapTexture'', ''aomapTexture''. Each of these also has an associated intensity value, which is a scalar from 0 to 1 multiplied with the pixel value of that texture (unless a specific shader implements it differently).
These textures only have an effect if their corresponding shaderConfig feature has been defined (see the table in Shaders section).
==== Render states ====
When ''wireframe'' is set to True, the model is drawn in wireframe mode. In this mode,
most material properties have no effect, but you can enable the vertexColors shaderConfig
to be able to change the color of the mesh using vertex colors (this requires
access to the mesh programatically, obj meshes do not support vertex colors).
This feature is used in some parts of MakeHuman, for example viewing bone weights
in the skeleton debug plugin.
Set ''shadeless'' to True to disable shading, eg. the object is not affected by lights.
Configured shader will have no effect
Set ''transparent'' to True to enable transparency rendering (usually needed when opacity is < 1)
In itself this does not change the visual appearance of the model, but this setting
should be enabled if your texture contains (semi-) transparent parts. This setting
instructs the renderer to disable depth buffer writes (glDepthMask(false))
and enables alpha testing and blending so that transparent surfaces can overlap and to allow [https://www.opengl.org/wiki/Transparency_Sorting alpha blending].
''alphaToCoverage'' Applies when transparent is set to True (otherwise does nothing).
It requires that your GPU supports alpha to coverage (A2C) rendering. It enables
the A2C feature which provides face order-independent alpha rendering. This works
very well for complex transparent meshes, like hair. At the cost of a slightly
dithered look, it solves all the problems with face sorting that are usually
involved in rendering semi transparency.
(This feature disables anti-aliasing for this object because the multisample buffer is used for alpha blending instead)
Set ''backfaceCull'' to False to disable backface culling (render the back side of polygons)
By default, and in most cases, this should be set to True, but can be useful
in some cases (for example, we disable back-face culling for the eyebrow materials).
Set ''depthless'' to True for depthless rendering (object is not occluded and does not occlude other objects).
This disables OpenGL depth writes and tests. In practice, this makes object faces that should be occluded shine through others.
''castShadows'' determines whether the object casts shadows on other objects.
''receiveShadows'' determines whether the object receives shadows from other objects.
For some features, like eyes, you probably want to disable shadow receiving.
Since MakeHuman does not (yet) implement shadow casting, the shadow settings have
no effect in MakeHuman, but they do export to other engines.
Play around with these settings in the Material Editor plugin to see their effect, that's the best advise I can give you.
The best way to find out which settings work for an asset, is simply to try them out.
==== autoBlendSkin ====
If True MakeHuman will set the diffuse color based on the ethnix mix set for the character.
Any diffuseColor set in the material file will be overridden by this.
Also the shaderParam litsphereTexture will be automatically set to a dynamically blended litsphere texture,
which is a mix of three litsphere materials (afro, asian, caucasian) depending on the ethnic mix of the character.
This latter is specifically intended to be used with the litsphere shader, and it is what you see as default material when you start MakeHuman
This overrides whatever shaderParam litsphereTexture was set in the material file.
This setting is intended only for skin materials.
==== shaderParam ====
Define a custom shader parameter (uniform), which might be required for some non-standard shaders.
For example, the litsphere shader takes an extra type of texture map as input, a so-called litsphere texture.
This generic system of mapping shader uniforms allows you to create specialised shaders that take
new and different kind of inputs, and allow configuring the shader from the material file.
shaderParam can be a list of floating point numbers, in which case it will be interpreted as a vector,
or it can be a file path, in which case it is assumed to be an image path.
Internally in MakeHuman, shaderParams can also be assigned a texture object, which allows
for dynamically passing a texture that is in memory, but perhaps not stored on disk.
Another example of a custom shaderParam is the X-ray shader that defines an edgefalloff
and intensity uniform parameter.
These could be changed from the material file with
shaderParam edgefalloff 0.8
shaderParam intensity 0.77
==== shaderDefine ====
shaderDefines allow enabling or disabling custom shading techniques in shaders.
These allow to define new shading techniques, apart from the pre-defined ones
such as normal mapping, specularity mapping, ...
It's a generic system that allows new shaders to be added and configured from
the material file, or from the material editor (which nicely auto-detects these
features in the shader and shows a set of checkboxes for them).
==== uvMap ====
Load custom UV coordinates on the mesh to use this material. This makes the material
completely dependent on the mesh it is used with.
Takes a path to a .mhuv file, which is actually just an .obj file, where the vertex
positions can be deleted (they can remain in there, but they are ignored).
Requirement for it to work is that the vertex order is the same as that of the
mesh obj.
An example uv map for the basemesh can be found in data/uvs/a7.mhuv, which is a
set of UV coordinates compatible with the old Alpha 7 mesh, allowing you to load
A7 textures on the new basemesh used in MakeHuman v1+
==== SSS properties ====
These are the so-called sub-surface scattering shading properties, currently only used by the built-in offline renderer. They were decided on while trying to figure out the most generic way to define SSS shading properties, so that they could easily be translated into SSS properties for a different renderer (as no single renderer that I know of has a standard for these). It's uncertain whether the format we have landed on currently is the best, or whether this will remain permanently or is still likely to change.
This setting should currently be considered experimental.
The properties are ''sssEnabled'', ''sssRScale'', ''sssGScale'' and ''sssBScale''.
=== Basic pointers for creating materials ===
* You can test the influence of material properties using the Material Editor plugin (which you can enable in Settings > Plugins, then restart)
* Using a diffuse texture? You probably want to set the diffuse color to 1 1 1 (pure white)
* Never set ambient color too bright, or your model will look completely white. 0.1 0.1 0.1 is a good value to start from.
* Emissive is usually set to black, unless you want a radioactive character
* Don't know how to define a color in numbers? Try the Material Editor plugin
* Higher shininess means smaller and sharper highlight, lower shininess makes the highlight larger and more blurred
* Reduce specular color to reduce the specularity, make it black for a rough and non shiny object
* opacity 1 means fully opaque, 0 means fully transparent (invisible)
* Do your (diffuse) textures contain transparency? Do not forget to enable transparency! Perhaps try if alpha-to-coverage improves the situation (especially for hair!).
=== Scene definition ===
To complete the rendering equation, you also need to define the scene. To be
more precise, the positions, types, color and intensities of the lights need to
be set. By default, MakeHuman only has a default scene with only one pointlight.
In MakeHuman, lights do not move if the camera is moved, or rather, the model is
rotated while the camera and lights remain static. So light positions are defined
relative to the camera position.
MakeHuman scenes are defined in .mhscene files, which are binary py-pickled files.
They can be created or modified using the Scene Editor plugin (can be enabled in
settings) and can be selected from the Scene library in the Render tab.
Fixed function shading pipeline supports up to 8 lights, specific light support
depends on the shader used, some shaders only support a certain type or number
of lights, other ignore the chosen scene altogether (for example the litsphere
shader that uses pre-baked environment lighting).
The built-in offline renderer also uses the specified scene.
Scenes are not exported along with the model.
=== Shaders ===
The most powerful functionality of the material system is unlocked when using
shaders.
MakeHuman shaders are intended to be written in a modular way, so that shading
features can be enabled or disabled using the material format. Examples of such
features are bump mapping, normal mapping, specular mapping, diffuse texturing,
ambient occlusion and displacement mapping.
MakeHuman includes a basic introspection function that allows it to determine
what features a shader supports. It accomplishes this by looking for #ifdef and #ifndef statements. If a shader supports a certain technique, it is supposed to
encapsulate this in #ifdef NORMALMAP ... #else ... #endif statements.
The idea is that of an [http://www.gamedev.net/topic/659145-what-is-a-uber-shader/ über shader], where performance is optimized by removing any dynamic branches (if then that) from shader code, and instead managing the features using defines and pre-processor branches.
When a different branch in the shader is activated, the shader code is recompiled entirely.
Instead of having different shaders for different features (eg. a specific normalmap shader to be able to do normal mapping), one general shader could be used instead, and normal mapping can simply be enabled or disabled from the material properties, without being required to swap shaders (a good default uber shader is [http://bugtracker.makehumancommunity.org/issues/160 still to be created for MakeHuman] Any help with this is welcome of course!).
The material system manages these shading functions by defining specific pre-processor
keywords when their corresponding shaderConfig property is set to true.
Shaders are recompiled when needed and stored in a shader cache for efficiency.
MakeHuman passes scene and material information to the shaders by certain uniform
parameters. Depending on which shaderConfig properties were enabled, additional
uniforms could be exposed to the shader. The shader does not have to declare all
these uniforms, however. MakeHuman binds only those uniforms present in the shader
if they have the right corresponding names.
Other properties are available from the OpenGL built-in uniforms or properties
(usually starting with gl_).
The following table lists these defines and the shaderConfig properties in the
material they relate to:
{| class="wikitable"
|-
! feature name
! shaderConfig
! shader #DEFINE
! exposed uniform parameters if enabled
! comment
|-
|default (always enabled)
|
|
|vec3 ambient, vec4 diffuse, vec4 specular, vec3 emissive
|diffuse and specular are 4-component color values, diffuse=[rgba] with a=opacity and specular=[rgbs] with s=shininess
|-
|Vertex coloring
|vertexColors
|VERTEX_COLOR
|
|Derive diffuse color from vertex colors
|-
|Diffuse texturing
|diffuse
|DIFFUSE
|diffuseTexture
|
|-
|Bump mapping
|bump
|BUMPMAP
|bumpmapTexture, bumpmapIntensity
|disabled if normal mapping is enabled (restriction might be lifted in the future)
|-
|Normal mapping
|normal
|NORMALMAP
|normalmapTexture, normalmapIntensity
|
|-
|Displacement mapping
|displacement
|DISPLACEMENT
|displacementmapTexture, displacementmapIntensity
|
|-
|Specularity mapping
|spec
|SPECULARMAP
|specularmapTexture, specularmapIntensity
|
|-
|Transpareny (alpha) maps
|transparency
|TRANSPARENCYMAP
|transparencymapTexture, transparencymapIntensity
|
|-
|Ambient occlusion maps
|ambientOcclusion
|AOMAP
|aomapTexture, aomapIntensity
|
|}
Additionally, MakeHuman exposes the vertex tangent as a vertex property, which
can be accessed by the shader.
attribute vec4 tangent
Currently, [http://www.terathon.com/code/tangent.html Lengyel’s Method] for tangent calculation
is used, but plans are to change this to [http://bugtracker.makehumancommunity.org/issues/87 mikktspace] in the future.
Shader examples for MakeHuman can be found here:
* Litsphere shader: [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/litsphere_vertex_shader.txt vertex][https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/litsphere_fragment_shader.txt fragment]
* Phong shader: [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/phong_vertex_shader.txt vertex][https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/phong_fragment_shader.txt fragment]
* Normal map shader (wip): [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/normalmap_vertex_shader.txt vertex] [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/normalmap_fragment_shader.txt fragment]
* X-ray shader: [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/xray_vertex_shader.txt vertex][https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/xray_fragment_shader.txt fragment]
==== Custom shader properties ====
Shaders can use non-standard #DEFINEs to allow enabling or disabling non-standard shading features, other than the ones that were foreseen in the material format (such as normal mapping, ...)
To add new ones, simply add #ifdef SOME_FEATURE statements to your shader code, the material system will automatically detect them.
From the material, you can enable them with
shaderDefine SOME_FEATURE
If not defined, the feature is assumed to be switched off.
A custom shader can also add new parameters to tweak. For example a color value or intensity value that influences the shading.
To do this, the shader author can simply add new uniform variables to their shader code. It is recommended to specify a default
value for them, so that if the material file does not explicitly mention them, they receive a sensible default value.
Example: the X-ray shader adds an edge-fallof property:
uniform float edgefalloff = 1.0;
From the material file, you can influence this value with:
shaderParam edgefalloff 0.5
shaderParam supports lists of float values (one or multiple, divided by spaces), eg
shaderParam edgecolor 0.7 0.3 0.4
or textures, by specifying a path to an image file (in which case they are assumed to be Sampler2D type)
Additionally, from within MakeHuman, they can be passed a Texture object, to dynamically pass them a texture that resides in memory, without the need for the texture to be stored in a file on disk.
This allows to dynamically alter the texture and have it displayed directly. MakeHuman takes care of caching the texture and updating it when it is modified.
For example, the auto skin tone blending of the litsphere texture is implemented in this way.
The material system will automatically detect these custom uniform parameters declared in the shader, for example the material editor plugin will present them in the GUI.
These features make for a general and extensible shader system.
==== Dynamic shader configuration in Material Editor plugin ====
Take as example this screenshot, which shows how the X-Ray shader, mentioned earlier, can be configured.
[[File:Mh_material_editor.png]]
In the shader selector, xray was chosen. This opens up a few new options to configure.
Notice that on the top right the custom shader uniforms edgefalloff and intensity that we mentioned earlier were automatically detected. The shader author had to do nothing else than to define these uniform parameters in his shader code, and define a sensible default for them. A material using this shader can customize these properties using the shaderParam option, which can be altered visually in the top right of the material editor. Changes in the material editor take effect immediately, so you can directly preview your changes.
Also notice in the bottom left that the material editor shows the available shaderConfig parameters. Some of these are greyed out, which means they are not available, or the condition for them is not met (for example, to be able to enable normal mapping, you need to choose a normal map texture on the right panel. If the normal map property is greyed out on the right side, then this particular shader does not support normal mapping).
Let's take a look at a second example.
[[File:Mh_material_editor2.png]]
Here we see the litsphere shader. This shader is different from the other shaders in the sense that it completely ignores the lighting of the scene, and instead lights the model with a texture containing pre-baked lighting conditions, a so-called [http://www.cs.utah.edu/~wmartin/pubs/LitSphere.pdf litsphere] texture.
This shader, being so different, requires a different sort of input, a custom input texture: the litsphere texture.
The shader author simply defined this uniform parameter in his shader code, and as you can see in the top right corner, the material editor shows a texture selector for this property. Using it, the user can select a litsphere texture to feed to the shader.
The litsphere shader also has two different alternative techniques that can be enabled or disabled by the user.
These two features, which can be enabled using shaderDefine statements in the material file, are automatically detected by the material system, and shown in the bottom left of the material editor. Enabling them is as simple as checking the checkbox.
One of these custom shading features is alpha mapping (defined by ALPHA_MAP), which allows to sample alpha transparency from an additional texture.
For this texture, an additional uniform property, named alphaTexture was declared in the shader, but it was written down in a way that it is only declared if the ALPHA_MAP token is defined.
In the shader code:
#ifdef ALPHA_MAP
uniform sampler2D alphaTexture;
#endif
If you check the ALPHA_MAP_checkbox, you will notice that on the top right, an extra texture selector will appear.
These examples show how the material editor can help exploring the different settings that are available in shaders.
3156e73432f236a0e1658e4cdbf7955e1c94424a
1281
1280
2017-01-09T00:18:45Z
Duststorm
19
wikitext
text/x-wiki
== Vertex weights ==
With vertex weights we intend a weighted mapping of vertices of a mesh to a bone of a skeleton. The weight is a value between 0 and 1, the sum of these weights for each vertex should be normalized, which means they should sum to 1 (note: no euclidian distance, just simple addition of all weights). A weight map in MakeHuman is expressed as a bone name (becomes a bone index internally, using the index of the bone in a breadth-first list relative to skeleton structure), a vertex name and a floating point weight between 0 and 1. This weighted vertex to bone mapping is used for skinning (posing and animating, using vertex skinning, smooth skinning or linear blend skinning algorithm). For the skinning algorithm to work correctly it’s required that the weights are always normalized, otherwise you will see vertices move out of place disproportionally (though the weight loading code in MakeHuman ensures that this normalization always happens, so this is not a concern to the artist that defines the weights). The vertex weights can be exported to external tools as well using formats such as collada (DAE), FBX, Ogre3D meshes or MD5 quake meshes.
=== Vertex weights and skeletons ===
Vertex weights are defined for the default “master” skeleton or rig. They are defined in a json file with jsonw extension. They link each vertex of the basemesh including helpers to a named bone of this master rig, together with a certain weight.
The weights loader automatically removes doubles and normalizes the weights (so that they sum to 1). It also reports what the maximum number of bone weights per vertex is, additionally it allows compiling the weights to a reduced set with n number of bone weights, and automatically renormalizes those weights so they, again, sum to 1.
When loading weights, any vertex that receives no weighting is assigned to the root bone, as this is needed for skinning to prevent all those vertices jumping to the origin (0*pos == 0).
Alternative skeletons can define their own weights, by referencing a weights file just like the master rig, or they can choose to derive their weights from the master rig, through so called reference bone mappings. Skeletons will derive their weights from the master rig if they do not specify a weights file explicitly. Custom vertex weights in alternative rigs override those defined on the master rig, except in the case where a proxy defines its own vertex weights. See section Vertex weights for proxies for more details.
=== Reference bones for vertex weights and poses ===
Reference bones are defined on alternative rigs, they are a list of names of bones contained in the master rig. Every bone of an alternative rig can have such a list of reference bones. An alternative rig can also omit these references if it uses the same name as bones in the master rig, in which the mapping is implicit. Having a list of bone references always overrides the implicit mapping. Reference bone mappings are required for two purposes.
They are used for mapping poses defined on the master rig to other rigs. All poses are defined as BVH files that pose the master rig, so they reference only the bone names of the master rig. Poses are applied to all other rigs by using the reference bone mapping: all the rotations that the pose applies to the referenced bones are combined (in the order in which the references were specified -- note: rotations are NOT commutative) and are applied to the alternative rig bone.
Reference bone mappings can also be used for determining vertex weights of custom rigs. If the alternative rig does not explicitly define its own vertex weights, the mapping of reference bones is used to infere a set of bone weights for each bone: All the weights of the reference bones on the master rig (with the weights definition of the default/master rig) are combined and apply to the bone of the alternative rig. Doubles are merged, and weights renormalized. Any vertex that is not weighted will be assigned to the root bone. Watch for messages in the log to verify this.
=== Vertex weights for proxies ===
Generally proxies are mapped to basemesh geometry, that means either to the body or to helpers, or a combination of both (though this is unusual). Proxies derive their vertex weights from the vertices on the basemesh on which they are fitted. A proxy defines its fitting as a 3d offset from one or three vertices on the basemesh, allowing it to deform as the human deforms. This mapping is used to transfer the vertex weights from basemesh to proxy: a proxy vertex referencing three basemesh vertices gets the bone weights of those three vertices. Doubles are merged and the weights are normalized, so that the influence factors are averaged or smoothed. In this case the weights applied to proxies are always those defined on the skeleton: either the weights explicitly defined on the skeleton, or the weights obtained from remapping the master rig weights to this skeleton using the reference bone mapping mentioned in the previous sections. There is an exception to this, which is explained in the next paragraph.
A proxy can explicitly define its own vertex (to bone) weights. In this case it overrides the weights that would be obtained through the proxy mapping, and replaces them by its own custom definition of weights. These vertex weights are always defined to reference the bones of the master rig (default skeleton), so they need to be remapped to other skeletons using reference bone mapping. This also means that the custom weights of a proxy override any custom weights mapping that might be loaded with an alternative rig (but only for that proxy item). Custom proxy weights should be avoided if possible, but are in some cases required, eg. for properly rigging shoes which are rigidly fitted to feet, or an alternative topology which defines very accurate rigging on the face. The general advice for custom rigs is therefore to stay as close to the master rig as possible, reusing as much bones identically as possible, to achieve the best results for proxies with custom weights.
In case of custom weight, the mhclo file must contain a line to indicate the weight file to use, using the keyword “vertexboneweights_file”, with the syntax:
vertexboneweights_file filename.jsonw
== Targets and modifiers ==
MakeHuman applies targets on the human by means of modifiers. Such a modifier has a value (usually between [0, 1] or [-1, 1]) that determines the effect that it will have on the human mesh. A modifier can control one or more targets and it will apply the mixed sum of those targeys on the mesh. Some modifiers.
=== Organization of targets ===
To make sure targets are linked to the right modifier, or to make managing targets easier, a certain discipline has to be observed in managing them. Targets are ASCII files in the data/targets or data/custom folder (in either the program or user folder) and they haave file extension of .target.
The file name and folder that targets are in implicitly determine their group name. A group is identified by a sequence of tags or tokens, which are taken from the file and folder name of each target. These tokens are delimited by “-” symbols, to include multiple tokens in a single file or folder name. The lib/targets.py module takes care of loading all the names of the available targets and assembles them into groups. All targets with the same tokens end up in the same group. This allows easy querying and requesting of targets. The creator is pretty much free to decide what groups to create for their targets. By passing the name of the target group to a modifier, they can make sure that modifier controls the targets belonging to this group. It does not matter whether you use folders or - delimited file names for creating groups.
An example:
data/targets/cartoon/eyes-large.target is categorized in group (cartoon, eyes, large)
data/targets/cartoon-eyes-large.target is also categorized in group (cartoon, eyes, large)
Most simple modifiers work by specifying a group (for example cartoon-eyes) and a set of two tokens to append at the end, depending on the position of the modifier slider (eg. small, large which would allow controlling the targets cartoon-eyes-small and cartoon-eyes-large by moving the slider to the left or right).
=== Reserved group tokens ===
Some of the tokens in the file or foldername of targets are linked to values that variables of the human can have. Such variables are for example age, weight, muscle, gender.
This table lists all the reserved tokens, and the variables they belong to.
{| class="wikitable"
|-
! Reserved token (value)
! Variable
|-
| female,male
| gender
|-
| baby, child, young, old
| age
|-
| african, caucasian, asian
| race
|-
| minmuscle, averagemuscle, maxmuscle
| muscle
|-
| minweight, averageweight, maxweight
| weight
|-
| minheight, averageheight, maxheight
| height
|-
| mincup, averagecup, maxcup
| breastsize
|-
| minfirmness, averagefirmness, maxfirmness
| breastfirmness
|-
| uncommonproportions, regularproportions, idealproportions
| bodyproportion
|}
Note that it is not a good idea to use simply “max” or “min” as a reserved token name, because they need to be unique (otherwise it would not be possible to determine whether they are a minimum for, for example, weight or height). These reserved tokens are declared in the lib/targets.py module. The variable can be set and queried on the human object, for example human.getAge(), human.setMuscle(0.7), human.getProportion().
The reserved tokens are NOT included in the group name, so you should at least include some other, non-reserved tokens in the file or folder names to assign your target to some meaningful group. The inclusion of these reserved tokens in your target names or paths makes it convenient to create macro modifiers.
=== Macro targets and modifiers ===
Macro modifiers are modifiers whose effect (the combination of targets they apply on the human) is influenced by macro variables set on the human (eg. human.set/getAge()). Therefore, macro modifiers often control a large set of targets (20 or even more). It’s also common for multiple modifiers to control exactly the same set of targets, for example the standard age/gender/race sliders all control the set of targets in the ‘macrodetails’ group. Each slider modifies a different variable (eg. human.setAge()) controlling the set of targets, and then reapplies a combination of the same set of targets on the human.
=== Macro modifier dependencies ===
There are other macro modifiers that can also depend on the same variables age, gender, race that is controlled by the main macro modifiers, as discussed above. For example the macro modifiers that influence the weight and muscle mass of the human, controls the targets group “macrodetails-universal”, the universal token is added by prepending “universal-” to all the file names of related targets, which all reside in the folder “macrodetails” (thus macrodetails-universal ends up being the group name). They could have been included all in the “macrodetails” group, but are kept separate for performance reasons, so that the “macrodetails” group of targets (which already contains some 40 targets or so) can be applied in realtime while moving the slider.
Of course a change in the variable that these age/race/gender modifiers control will have an effect on the macrodetails-universal modifiers (because they control targets that depend on age -- their targets include -young- -old- etc. tokens in their filenames). This means there are inter-dependencies between macro modifiers, if one is updated, another one that depends on it should be refreshed. These dependencies can be desceibed as follows: one macro modifier controls exactly one macro variable (such as age). It (or rather, the targets it controls) can however depend on multiple macro variables. The trivial case is where a macro modifier only depends on the macro variable that it controls itself. The tracking of these dependencies and deciding which modifiers must be updated when another is changed happens automatically. Dependencies are automatically tracked as soon as you add a modifier to the human (by calling modifier.setHuman(human)). To make this enhance performance in real-time, the propagation of updates to modifiers is limited while sliders are dragged (see realtimeDependencyUpdates in apps/humanmodifier.py).
As you might have understood, creating modifiers that depend on human variables is almost automatic. The only thing you need to do is create some targets that resolve to the same group name, add variations for all the macro variables you want and add the proper reserved tokens to the file or folder name (refer to the left column in the table above), and create a modifier with this group name. Once added to the human, the dependencies are tracked automatically.
Some more documentation about how macro modifiers resolve macro variables to actual variables can be found in this bug report: http://bugtracker.makehumancommunity.org/issues/1083
Most of note here is probably how updateMacroTargets(), set<macrovariable>() and setDetail() interact.
=== Organization of modifiers ===
We already discussed how we organized targets in groups, to make it easier to connect them to a modifier. Now we will discuss how we can do a similar thing for modifiers.
Modifiers provide an easy way to manage targets. They allow reducing many of hundreds of targets to a more manageable number of controllable properties. But even then, we still have about 100 modifiers, which is still quite a lot. Therefore we group them in groups of categories, much like we do in the GUI. This makes it easy to get a grouped overview of all modifiers when using an alternative interface, think of command line or scripting. The way in which you declare the group and other properties of a modifier determines what target groups it gets its targets from.
Modifiers are declared with a group name, some intermediary “target name” and a number of tail tokens (2 or 3 usually, e.g., min/max). The group of targets controlled by these modifiers is composed as: groupname-targets_name-tail.
Macro modifiers are declared with a group name, and a controlled variable. The groupname must be the same groupname of the targets they control.
=== Declarative modifiers ===
Instead of hard coding what modifiers you want to instantiate, MakeHuman offers a data-based format to declare what modifiers should be created, and how they should be shown in a user interface with sliders.
A full declaration requires '''three files''', all stored in data/modifiers. The '''first file''' is the declaration of the modifiers (e.g., modeling_modifiers.json). This format lists a modifier group name, and all the modifiers with their macro variable (if they are macro modifiers) or target name and 2 or 3 (if they are a modifier with a center point) tail tokens.
The '''second file''' adds a description to the modifiers declared in the first file. It basically contains a key-value set, referencing the modifier name, and a textual description of what the modifier controls. A modifier name is constructed as follows: group/targets_name-all|the|tails and for a macro modifier: group/variable.
The '''third file''' defines how these modifiers should be shown in the user interface as sliders. It lists a set of categories, and the sliders to show in them, and how their values have to be saved in a mhm file (mainly a feature for legacy compatibility).
=== Your own plugin with modifiers, sliders and targets ===
Using the declarative data format described in the section above, it’s really simple. Have a look at the plugin plugins/0_modeling_0_modifiers.py. Notice it’s barely 5 lines of code. Creating your own modeling plugin is as simple as that, pointing it to your own modifier data files.
=== Binary targets ===
Because loading these ASCII target files, and iterating all target files and folders can be slow (especially on windows) in build versions, we compile all targets in the data/targets system folder into a single binary file, that furthermore acts exactly the same as multiple target files. The binary targets file is stored in the system data/ folder and is called targets.npz, it is created by running the compile_targets.py script, which is also automatically run in the build_prepare.py build routine. The file structure of the targets files is maintained in this binary file so that targets can be loaded from it in the same way as you would do with regular files. A change in the .target files, or newly added target files allow a recompilation of the targets npz file before the change is applied.
== Proxy format ==
A proxy is a fitting of an arbitrary mesh (for example clothes or a hairstyle) to the basemesh. A proxy asset is distributed as a mesh file together with this fitting file (what we call the proxy file), allowing this mesh to be fitted on different modeling variations of the human within MakeHuman.
=== v1.0 format ===
The 1.0 format got introduced in the v1.0 release of MakeHuman, but was already present in the Alpha 7 (A7) release. The format got reworked a bit for 1.0, however.
==== Example ====
This is an excerpt from the fedora distributed with MakeHuman
# Exported from MakeClothes (TM)
# author Jonas Hauquier
# license AGPL3 (see also http://www.makehuman.org/node/320)
# homepage http://www.makehuman.org/
uuid 566dbd52-71d1-4d76-a799-0474a5a384db
basemesh hm08
tag Hats
name fedora
obj_file fedora.obj
x_scale 5399 11998 1.4800
z_scale 962 5320 1.9221
y_scale 791 881 2.3298
z_depth 50
material materials/fedora.mhmat
verts 0
251 5243 5244 0.60391 0.28706 0.10903 -0.00245 0.01323 0.03373
7020 11853 11852 0.53311 0.29591 0.17097 0.00529 0.01134 0.03388
7678 7000 7707 0.22571 0.34923 0.42506 0.00946 0.03331 0.04954
984 983 1015 0.17322 0.18383 0.64295 -0.00575 0.03634 0.05443
1014 226 982 0.12607 0.67880 0.19513 -0.00934 0.03289 0.04891
250 5245 5232 0.54148 0.48285 -0.02433 -0.01273 0.01129 0.03202
7746 7712 12153 0.16168 0.32394 0.51438 0.02696 0.11561 0.09667
5556 5554 1013 -0.03554 0.63140 0.40413 -0.01650 0.11949 0.10646
5560 5556 1020 0.34178 0.11896 0.53926 -0.03442 0.11513 0.09756
1013 7712 7721 0.24117 0.40913 0.34971 0.03897 0.20473 0.13559
1013 882 1029 0.71875 0.41604 -0.13479 -0.02631 0.22391 0.13840
1029 1020 1013 0.36342 0.60536 0.03123 -0.03890 0.20439 0.13536
7712 7721 882 0.21674 0.67896 0.10430 0.02804 0.23763 0.15510
1013 882 1029 0.30269 0.87853 -0.18122 -0.02994 0.25488 0.15754
1029 1020 1013 0.79483 0.03879 0.16638 -0.04433 0.23290 0.15424
5370 5368 969 -0.08854 0.29827 0.79027 -0.01789 0.14173 -0.15713
11971 7713 969 0.28241 0.33962 0.37797 0.01910 0.14921 -0.16563
11971 7713 969 0.05967 0.69236 0.24796 0.01670 0.13045 -0.14480
5370 5368 969 -0.07249 0.07305 0.99945 -0.01517 0.12017 -0.13323
969 1021 5370 0.20926 0.73057 0.06018 -0.01674 0.13078 -0.14517
969 1021 5370 0.33927 0.37782 0.28291 -0.01914 0.14955 -0.16600
5379 969 7713 -0.00113 0.07709 0.92403 0.01192 0.06520 -0.14994
1021 969 5379 -0.05590 0.97961 0.07629 -0.01124 0.06148 -0.14138
1021 969 5379 0.96289 0.03946 -0.00235 -0.01195 0.06537 -0.15033
11982 11981 7713 0.14728 0.42350 0.42922 0.01740 0.04655 -0.11033
1021 969 5379 -0.03656 0.34361 0.69295 -0.00834 0.04564 -0.10495
1021 5381 5382 0.43027 0.37607 0.19367 -0.01752 0.04687 -0.11110
11981 11982 7738 0.30937 0.48274 0.20789 0.00929 0.00889 -0.07280
5379 962 1022 0.56542 0.43776 -0.00318 -0.00327 0.01206 -0.08469
The rest of the file is very similar, it continues listing vertex fittings to the basemesh.
==== Vertex assignments ====
The format contains matchings in the following format:
vIdx1 vIdx2 vIdx3 w1 w2 w3 d1 d2 d3
vIdx is an index of a vertex on the basemesh
w is a weight of the corresponding vertex
d1,d2,d3 are optional (default to 0) and defines an offset
The format contains one such lines for every vertex in the proxy mesh, the order of the lines is the same as the order of vertices in the proxy mesh.
The format also supports an alternative fitting, referencing exactly one basemesh vertex, which is used for exact fitting: the proxy mesh vertex is placed in the exact same location as the basemesh vertex it is associated with.
vIdx
The file format allows mixing these two types of fittings on a per-vertex basis.
==== Properties ====
Every proxy should have a unique uuid (which can be generated using the python uuid module using uuid.uuid4()), a name, description, author and license information.
One or multiple tags can be added, each on a new line prepended with "tag".
A proxy references a material file and an OBJ mesh.
z_depth determines the rendering priority of the object (important for transparency) and the layer of clothing. It is used by face masking to determine which piece of clothing masks another.
The scale parameters define a bounding box referencing vertices on the human between which the proxy should be scaled. They are modified in makeclothes by selecting a clothing part.
=== v1.2 format ===
Starting from v1.2, a new algorithm for handling proxies is introduced, based on Manuel Bastioni's Lab experiments.
The new format uses a local normal space instead of global coordinates, making it more stable, even across different poses. It is also a lot easier for an artist to create new proxies, as it requires only one button press, instead of having to deal with vertex groups.
Future MakeHuman versions will contain backwards compatibility support for v1.0 proxies, but the new format is recommended for creation of new content.
The layout of this format is largely the same as the old format, with a version parameter specifying that this file should be interpreted as a new style proxy.
==== Example ====
# Exported from MakeClothes (TM)
# author Jonas Hauquier
# license AGPL3 (see also http://www.makehuman.org/node/320)
# homepage http://www.makehuman.org/
uuid 566dbd52-71d1-4d76-a799-0474a5a384db
basemesh hm08
tag Hats
version 120
name fedora
obj_file fedora.obj
z_depth 50
material materials/fedora.mhmat
verts 0
vIdx1 vIdx2 vIdx3 vIdx4 dx dy dz
It looks a lot like the v1.0 format, only the scale is no longer needed, and the vertex assignments have a new format.
The "version 120" is required to indicate that this file should be interpreted to use the new proxy fitting algorithm.
vIdxi references the vertices of a polygon of the basemesh
dx dy dz is the distance (delta) vector between the polygon center and the proxy mesh vertex.
=== Binary proxy ===
Proxies, as well as their meshes, can be compiled into a more compact binary variant that is faster to load and smaller to distribute. MakeHuman will do this automatically for proxies in the home path. Files in the installation path will have to be compiled manually by running the compile_proxies.py and compile_meshes.py scripts. Usually these scripts are ran when a distribution is created, so need not to be repeated by the end user, unless MakeHuman is used from source.
== Material format==
=== Introduction ===
MakeHuman material files have extension .mhmat and are simple ASCII definitions
of the material settings to use for rendering.
These material settings are primarily intended for configuring the material
system within MakeHuman, but they are usually carried out to other software as
well by the exporters.
Not all properties will be supported for all given combinations of shaders, nor
is there a guarantee that the exporters will honor all the properties in these
files.
Every 3D object in MakeHuman has exactly one material attached to it (multiple
materials are not possible, you need separate objects for that). Materials are
used for proxy meshes (clothes, hairs, ...) but also for the skin of the human
itself.
=== The Material System ===
The MakeHuman material system is closely based on the [https://en.wikipedia.org/wiki/Rendering_equation standard rendering equation]
as is used in OpenGL and DirectX forward rendering pipelines. MakeHuman supports
shaders and the material format contains the most commonly used extensions in
real-time rendering. As a consequence of this, users need to be aware of the
implications of setting values such as ambient too bright, or diffuse too dark.
All usual rules about rendering materials apply.
At the highest level, the material supports setting the most basic material
properties, such as diffuse, specular and ambient color. These are supported
both by shaders as well as the fixed function shading pipeline (which is used
when no shader is specified). Fixed function also supports the diffuse texture
option.
At a second level, a shader can be chosen. This refers directly to the filename
of a [https://en.wikipedia.org/wiki/OpenGL_Shading_Language GLSL shader] as found in the data/shaders/glsl folder of MakeHuman.
The selected shader will determine what material options will be available.
At the third level, various additional settings become available, depending on whether or not the
chosen shader has support for these features, such as bump or normal mapping,
ambient occlusion, specular mapping, etc.
For most of these, a texture map and a scalar property between 0 and 1 can be
set, the latter determining the intensity or influence of the effect.
Finally, MakeHuman also contains a built-in offline renderer that supports some
additional properties such as subsurface scattering, for which some special
properties are available.
=== Example ===
This is a full and complete (but fictional) example of a material file for MakeHuman, it shows all the available properties.
# Example MakeHuman Material definition
name Material_name
tag some_tag
tag another_tag
description material description text here
ambientColor 0.11 0.11 0.11
diffuseColor 1.0 1.0 1.0
specularColor 0.0470588235294 0.0470588235294 0.0470588235294
shininess 0.96
emissiveColor 0.0 0.0 0.0
opacity 1.0
translucency 0.0
shadeless False
wireframe False
transparent True
alphaToCoverage True
backfaceCull False
depthless False
autoBlendSkin False
castShadows True
receiveShadows True
diffuseTexture diffuse_texture.png
bumpmapTexture bumpmap.png
bumpmapIntensity 1.0
normalmapTexture normalmap.png
normalmapIntensity 1.0
displacementmapTexture norm_displacement.png
displacementmapIntensity 1.0
specularmapTexture specular.png
specularmapIntensity 1.0
transparencymapTexture alpha.png
transparencymapIntensity 1.0
aomapTexture ambient_occlusion_map.png
aomapIntensity 1.0
# Sub-surface scattering parameters
sssEnabled True
sssRScale 5.0
sssGScale 2.5
sssBScale 1.0
shader shaders/glsl/litsphere
shaderParam litsphereTexture litspheres/lit_hair.png
shaderConfig ambientOcclusion True
shaderConfig normal False
shaderConfig bump True
shaderConfig displacement False
shaderConfig vertexColors True
shaderConfig spec True
shaderConfig transparency True
shaderConfig diffuse True
shaderDefine ALPHA_MAP
uvMap alt_uv_coords.mhuv
This is another example, this time a real one. It is the X-ray material, used for example when showing the skeleton:
# Material definition for XrayMaterial
name XrayMaterial
ambientColor 0.1 0.1 0.1
diffuseColor 1.0 1.0 1.0
specularColor 0.3 0.3 0.3
shininess 0.1
emissiveColor 0.0 0.0 0.0
opacity 0.1
translucency 0.0
transparent True
backfaceCull True
shadeless False
wireframe False
depthless False
shader data/shaders/glsl/xray
shaderConfig diffuse False
shaderConfig transparency False
shaderConfig normal False
shaderConfig bump False
shaderConfig spec False
shaderConfig vertexColors False
shaderConfig displacement False
=== Explanation of material properties ===
==== Standard settings ====
''ambientColor'', ''diffuseColor'' ''specularColor'', ''emissiveColor'' are the standard colors
as used in the [https://en.wikipedia.org/wiki/Rendering_equation rendering equation]
or in standard OpenGL.
Their corresponding intensities are simple scalars with a value between 0 and 1 and are multiplied
with the colors to dim them. Default these intensities are set to 1.
Colors are described as three floating point numbers, representing R G B, or red-green-blue
values. 1 is the maximum, 0 the minimum.
For example 1.0 0 0 means fully red, 1 1 1 means full white, 0 0 0 is full black.
0.5 0.5 0.5 will give you a grey middle color.
''opacity'' determines the opaqueness of the object (alpha channel), with 1 being fully
opaque, and 0 being fully transparent (invisible)
''translucency'' is something that came from Blender but is unused
''shininess'' or specular hardness is a number between 0 and 1 determining the shininess constant of the [https://en.wikipedia.org/wiki/Phong_reflection_model phong shading model].
==== Texture maps ====
Various standard texture maps can be defined on the material, like ''diffuseTexture'', ''bumpmapTexture'', ''normalmapTexture'', ''displacementmapTexture'', ''specularmapTexture'', ''transparencymapTexture'', ''aomapTexture''. Each of these also has an associated intensity value, which is a scalar from 0 to 1 multiplied with the pixel value of that texture (unless a specific shader implements it differently).
These textures only have an effect if their corresponding shaderConfig feature has been defined (see the table in Shaders section).
==== Render states ====
When ''wireframe'' is set to True, the model is drawn in wireframe mode. In this mode,
most material properties have no effect, but you can enable the vertexColors shaderConfig
to be able to change the color of the mesh using vertex colors (this requires
access to the mesh programatically, obj meshes do not support vertex colors).
This feature is used in some parts of MakeHuman, for example viewing bone weights
in the skeleton debug plugin.
Set ''shadeless'' to True to disable shading, eg. the object is not affected by lights.
Configured shader will have no effect
Set ''transparent'' to True to enable transparency rendering (usually needed when opacity is < 1)
In itself this does not change the visual appearance of the model, but this setting
should be enabled if your texture contains (semi-) transparent parts. This setting
instructs the renderer to disable depth buffer writes (glDepthMask(false))
and enables alpha testing and blending so that transparent surfaces can overlap and to allow [https://www.opengl.org/wiki/Transparency_Sorting alpha blending].
''alphaToCoverage'' Applies when transparent is set to True (otherwise does nothing).
It requires that your GPU supports alpha to coverage (A2C) rendering. It enables
the A2C feature which provides face order-independent alpha rendering. This works
very well for complex transparent meshes, like hair. At the cost of a slightly
dithered look, it solves all the problems with face sorting that are usually
involved in rendering semi transparency.
(This feature disables anti-aliasing for this object because the multisample buffer is used for alpha blending instead)
Set ''backfaceCull'' to False to disable backface culling (render the back side of polygons)
By default, and in most cases, this should be set to True, but can be useful
in some cases (for example, we disable back-face culling for the eyebrow materials).
Set ''depthless'' to True for depthless rendering (object is not occluded and does not occlude other objects).
This disables OpenGL depth writes and tests. In practice, this makes object faces that should be occluded shine through others.
''castShadows'' determines whether the object casts shadows on other objects.
''receiveShadows'' determines whether the object receives shadows from other objects.
For some features, like eyes, you probably want to disable shadow receiving.
Since MakeHuman does not (yet) implement shadow casting, the shadow settings have
no effect in MakeHuman, but they do export to other engines.
Play around with these settings in the Material Editor plugin to see their effect, that's the best advise I can give you.
The best way to find out which settings work for an asset, is simply to try them out.
==== autoBlendSkin ====
If True MakeHuman will set the diffuse color based on the ethnix mix set for the character.
Any diffuseColor set in the material file will be overridden by this.
Also the shaderParam litsphereTexture will be automatically set to a dynamically blended litsphere texture,
which is a mix of three litsphere materials (afro, asian, caucasian) depending on the ethnic mix of the character.
This latter is specifically intended to be used with the litsphere shader, and it is what you see as default material when you start MakeHuman
This overrides whatever shaderParam litsphereTexture was set in the material file.
This setting is intended only for skin materials.
==== shaderParam ====
Define a custom shader parameter (uniform), which might be required for some non-standard shaders.
For example, the litsphere shader takes an extra type of texture map as input, a so-called litsphere texture.
This generic system of mapping shader uniforms allows you to create specialised shaders that take
new and different kind of inputs, and allow configuring the shader from the material file.
shaderParam can be a list of floating point numbers, in which case it will be interpreted as a vector,
or it can be a file path, in which case it is assumed to be an image path.
Internally in MakeHuman, shaderParams can also be assigned a texture object, which allows
for dynamically passing a texture that is in memory, but perhaps not stored on disk.
Another example of a custom shaderParam is the X-ray shader that defines an edgefalloff
and intensity uniform parameter.
These could be changed from the material file with
shaderParam edgefalloff 0.8
shaderParam intensity 0.77
==== shaderDefine ====
shaderDefines allow enabling or disabling custom shading techniques in shaders.
These allow to define new shading techniques, apart from the pre-defined ones
such as normal mapping, specularity mapping, ...
It's a generic system that allows new shaders to be added and configured from
the material file, or from the material editor (which nicely auto-detects these
features in the shader and shows a set of checkboxes for them).
==== uvMap ====
Load custom UV coordinates on the mesh to use this material. This makes the material
completely dependent on the mesh it is used with.
Takes a path to a .mhuv file, which is actually just an .obj file, where the vertex
positions can be deleted (they can remain in there, but they are ignored).
Requirement for it to work is that the vertex order is the same as that of the
mesh obj.
An example uv map for the basemesh can be found in data/uvs/a7.mhuv, which is a
set of UV coordinates compatible with the old Alpha 7 mesh, allowing you to load
A7 textures on the new basemesh used in MakeHuman v1+
==== SSS properties ====
These are the so-called sub-surface scattering shading properties, currently only used by the built-in offline renderer. They were decided on while trying to figure out the most generic way to define SSS shading properties, so that they could easily be translated into SSS properties for a different renderer (as no single renderer that I know of has a standard for these). It's uncertain whether the format we have landed on currently is the best, or whether this will remain permanently or is still likely to change.
This setting should currently be considered experimental.
The properties are ''sssEnabled'', ''sssRScale'', ''sssGScale'' and ''sssBScale''.
=== Basic pointers for creating materials ===
* You can test the influence of material properties using the Material Editor plugin (which you can enable in Settings > Plugins, then restart)
* Using a diffuse texture? You probably want to set the diffuse color to 1 1 1 (pure white)
* Never set ambient color too bright, or your model will look completely white. 0.1 0.1 0.1 is a good value to start from.
* Emissive is usually set to black, unless you want a radioactive character
* Don't know how to define a color in numbers? Try the Material Editor plugin
* Higher shininess means smaller and sharper highlight, lower shininess makes the highlight larger and more blurred
* Reduce specular color to reduce the specularity, make it black for a rough and non shiny object
* opacity 1 means fully opaque, 0 means fully transparent (invisible)
* Do your (diffuse) textures contain transparency? Do not forget to enable transparency! Perhaps try if alpha-to-coverage improves the situation (especially for hair!).
=== Scene definition ===
To complete the rendering equation, you also need to define the scene. To be
more precise, the positions, types, color and intensities of the lights need to
be set. By default, MakeHuman only has a default scene with only one pointlight.
In MakeHuman, lights do not move if the camera is moved, or rather, the model is
rotated while the camera and lights remain static. So light positions are defined
relative to the camera position.
MakeHuman scenes are defined in .mhscene files, which are binary py-pickled files.
They can be created or modified using the Scene Editor plugin (can be enabled in
settings) and can be selected from the Scene library in the Render tab.
Fixed function shading pipeline supports up to 8 lights, specific light support
depends on the shader used, some shaders only support a certain type or number
of lights, other ignore the chosen scene altogether (for example the litsphere
shader that uses pre-baked environment lighting).
The built-in offline renderer also uses the specified scene.
Scenes are not exported along with the model.
=== Shaders ===
The most powerful functionality of the material system is unlocked when using
shaders.
MakeHuman shaders are intended to be written in a modular way, so that shading
features can be enabled or disabled using the material format. Examples of such
features are bump mapping, normal mapping, specular mapping, diffuse texturing,
ambient occlusion and displacement mapping.
MakeHuman includes a basic introspection function that allows it to determine
what features a shader supports. It accomplishes this by looking for #ifdef and #ifndef statements. If a shader supports a certain technique, it is supposed to
encapsulate this in #ifdef NORMALMAP ... #else ... #endif statements.
The idea is that of an [http://www.gamedev.net/topic/659145-what-is-a-uber-shader/ über shader], where performance is optimized by removing any dynamic branches (if then that) from shader code, and instead managing the features using defines and pre-processor branches.
When a different branch in the shader is activated, the shader code is recompiled entirely.
Instead of having different shaders for different features (eg. a specific normalmap shader to be able to do normal mapping), one general shader could be used instead, and normal mapping can simply be enabled or disabled from the material properties, without being required to swap shaders (a good default uber shader is [http://bugtracker.makehumancommunity.org/issues/160 still to be created for MakeHuman] Any help with this is welcome of course!).
The material system manages these shading functions by defining specific pre-processor
keywords when their corresponding shaderConfig property is set to true.
Shaders are recompiled when needed and stored in a shader cache for efficiency.
MakeHuman passes scene and material information to the shaders by certain uniform
parameters. Depending on which shaderConfig properties were enabled, additional
uniforms could be exposed to the shader. The shader does not have to declare all
these uniforms, however. MakeHuman binds only those uniforms present in the shader
if they have the right corresponding names.
Other properties are available from the OpenGL built-in uniforms or properties
(usually starting with gl_).
The following table lists these defines and the shaderConfig properties in the
material they relate to:
{| class="wikitable"
|-
! feature name
! shaderConfig
! shader #DEFINE
! exposed uniform parameters if enabled
! comment
|-
|default (always enabled)
|
|
|vec3 ambient, vec4 diffuse, vec4 specular, vec3 emissive
|diffuse and specular are 4-component color values, diffuse=[rgba] with a=opacity and specular=[rgbs] with s=shininess
|-
|Vertex coloring
|vertexColors
|VERTEX_COLOR
|
|Derive diffuse color from vertex colors
|-
|Diffuse texturing
|diffuse
|DIFFUSE
|diffuseTexture
|
|-
|Bump mapping
|bump
|BUMPMAP
|bumpmapTexture, bumpmapIntensity
|disabled if normal mapping is enabled (restriction might be lifted in the future)
|-
|Normal mapping
|normal
|NORMALMAP
|normalmapTexture, normalmapIntensity
|
|-
|Displacement mapping
|displacement
|DISPLACEMENT
|displacementmapTexture, displacementmapIntensity
|
|-
|Specularity mapping
|spec
|SPECULARMAP
|specularmapTexture, specularmapIntensity
|
|-
|Transpareny (alpha) maps
|transparency
|TRANSPARENCYMAP
|transparencymapTexture, transparencymapIntensity
|
|-
|Ambient occlusion maps
|ambientOcclusion
|AOMAP
|aomapTexture, aomapIntensity
|
|}
Additionally, MakeHuman exposes the vertex tangent as a vertex property, which
can be accessed by the shader.
attribute vec4 tangent
Currently, [http://www.terathon.com/code/tangent.html Lengyel’s Method] for tangent calculation
is used, but plans are to change this to [http://bugtracker.makehumancommunity.org/issues/87 mikktspace] in the future.
Shader examples for MakeHuman can be found here:
* Litsphere shader: [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/litsphere_vertex_shader.txt vertex][https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/litsphere_fragment_shader.txt fragment]
* Phong shader: [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/phong_vertex_shader.txt vertex][https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/phong_fragment_shader.txt fragment]
* Normal map shader (wip): [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/normalmap_vertex_shader.txt vertex] [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/normalmap_fragment_shader.txt fragment]
* X-ray shader: [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/xray_vertex_shader.txt vertex][https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/xray_fragment_shader.txt fragment]
==== Custom shader properties ====
Shaders can use non-standard #DEFINEs to allow enabling or disabling non-standard shading features, other than the ones that were foreseen in the material format (such as normal mapping, ...)
To add new ones, simply add #ifdef SOME_FEATURE statements to your shader code, the material system will automatically detect them.
From the material, you can enable them with
shaderDefine SOME_FEATURE
If not defined, the feature is assumed to be switched off.
A custom shader can also add new parameters to tweak. For example a color value or intensity value that influences the shading.
To do this, the shader author can simply add new uniform variables to their shader code. It is recommended to specify a default
value for them, so that if the material file does not explicitly mention them, they receive a sensible default value.
Example: the X-ray shader adds an edge-fallof property:
uniform float edgefalloff = 1.0;
From the material file, you can influence this value with:
shaderParam edgefalloff 0.5
shaderParam supports lists of float values (one or multiple, divided by spaces), eg
shaderParam edgecolor 0.7 0.3 0.4
or textures, by specifying a path to an image file (in which case they are assumed to be Sampler2D type)
Additionally, from within MakeHuman, they can be passed a Texture object, to dynamically pass them a texture that resides in memory, without the need for the texture to be stored in a file on disk.
This allows to dynamically alter the texture and have it displayed directly. MakeHuman takes care of caching the texture and updating it when it is modified.
For example, the auto skin tone blending of the litsphere texture is implemented in this way.
The material system will automatically detect these custom uniform parameters declared in the shader, for example the material editor plugin will present them in the GUI.
These features make for a general and extensible shader system.
==== Dynamic shader configuration in Material Editor plugin ====
Take as example this screenshot, which shows how the X-Ray shader, mentioned earlier, can be configured.
[[File:Mh_material_editor.png]]
In the shader selector, xray was chosen. This opens up a few new options to configure.
Notice that on the top right the custom shader uniforms edgefalloff and intensity that we mentioned earlier were automatically detected. The shader author had to do nothing else than to define these uniform parameters in his shader code, and define a sensible default for them. A material using this shader can customize these properties using the shaderParam option, which can be altered visually in the top right of the material editor. Changes in the material editor take effect immediately, so you can directly preview your changes.
Also notice in the bottom left that the material editor shows the available shaderConfig parameters. Some of these are greyed out, which means they are not available, or the condition for them is not met (for example, to be able to enable normal mapping, you need to choose a normal map texture on the right panel. If the normal map property is greyed out on the right side, then this particular shader does not support normal mapping).
Let's take a look at a second example.
[[File:Mh_material_editor2.png]]
Here we see the litsphere shader. This shader is different from the other shaders in the sense that it completely ignores the lighting of the scene, and instead lights the model with a texture containing pre-baked lighting conditions, a so-called [http://www.cs.utah.edu/~wmartin/pubs/LitSphere.pdf litsphere] texture.
This shader, being so different, requires a different sort of input, a custom input texture: the litsphere texture.
The shader author simply defined this uniform parameter in his shader code, and as you can see in the top right corner, the material editor shows a texture selector for this property. Using it, the user can select a litsphere texture to feed to the shader.
The litsphere shader also has two different alternative techniques that can be enabled or disabled by the user.
These two features, which can be enabled using shaderDefine statements in the material file, are automatically detected by the material system, and shown in the bottom left of the material editor. Enabling them is as simple as checking the checkbox.
One of these custom shading features is alpha mapping (defined by ALPHA_MAP), which allows to sample alpha transparency from an additional texture.
For this texture, an additional uniform property, named alphaTexture was declared in the shader, but it was written down in a way that it is only declared if the ALPHA_MAP token is defined.
In the shader code:
#ifdef ALPHA_MAP
uniform sampler2D alphaTexture;
#endif
If you check the ALPHA_MAP_checkbox, you will notice that on the top right, an extra texture selector will appear.
These examples show how the material editor can help exploring the different settings that are available in shaders.
0d2567b3ea274cd2818ce8295cd6f2fcac80b394
1280
1279
2017-01-09T00:17:33Z
Duststorm
19
/* Targets and modifiers */
wikitext
text/x-wiki
== Vertex weights ==
With vertex weights we intend a weighted mapping of vertices of a mesh to a bone of a skeleton. The weight is a value between 0 and 1, the sum of these weights for each vertex should be normalized, which means they should sum to 1 (note: no euclidian distance, just simple addition of all weights). A weight map in MakeHuman is expressed as a bone name (becomes a bone index internally, using the index of the bone in a breadth-first list relative to skeleton structure), a vertex name and a floating point weight between 0 and 1. This weighted vertex to bone mapping is used for skinning (posing and animating, using vertex skinning, smooth skinning or linear blend skinning algorithm). For the skinning algorithm to work correctly it’s required that the weights are always normalized, otherwise you will see vertices move out of place disproportionally (though the weight loading code in MakeHuman ensures that this normalization always happens, so this is not a concern to the artist that defines the weights). The vertex weights can be exported to external tools as well using formats such as collada (DAE), FBX, Ogre3D meshes or MD5 quake meshes.
=== Vertex weights and skeletons ===
Vertex weights are defined for the default “master” skeleton or rig. They are defined in a json file with jsonw extension. They link each vertex of the basemesh including helpers to a named bone of this master rig, together with a certain weight.
The weights loader automatically removes doubles and normalizes the weights (so that they sum to 1). It also reports what the maximum number of bone weights per vertex is, additionally it allows compiling the weights to a reduced set with n number of bone weights, and automatically renormalizes those weights so they, again, sum to 1.
When loading weights, any vertex that receives no weighting is assigned to the root bone, as this is needed for skinning to prevent all those vertices jumping to the origin (0*pos == 0).
Alternative skeletons can define their own weights, by referencing a weights file just like the master rig, or they can choose to derive their weights from the master rig, through so called reference bone mappings. Skeletons will derive their weights from the master rig if they do not specify a weights file explicitly. Custom vertex weights in alternative rigs override those defined on the master rig, except in the case where a proxy defines its own vertex weights. See section Vertex weights for proxies for more details.
=== Reference bones for vertex weights and poses ===
Reference bones are defined on alternative rigs, they are a list of names of bones contained in the master rig. Every bone of an alternative rig can have such a list of reference bones. An alternative rig can also omit these references if it uses the same name as bones in the master rig, in which the mapping is implicit. Having a list of bone references always overrides the implicit mapping. Reference bone mappings are required for two purposes.
They are used for mapping poses defined on the master rig to other rigs. All poses are defined as BVH files that pose the master rig, so they reference only the bone names of the master rig. Poses are applied to all other rigs by using the reference bone mapping: all the rotations that the pose applies to the referenced bones are combined (in the order in which the references were specified -- note: rotations are NOT commutative) and are applied to the alternative rig bone.
Reference bone mappings can also be used for determining vertex weights of custom rigs. If the alternative rig does not explicitly define its own vertex weights, the mapping of reference bones is used to infere a set of bone weights for each bone: All the weights of the reference bones on the master rig (with the weights definition of the default/master rig) are combined and apply to the bone of the alternative rig. Doubles are merged, and weights renormalized. Any vertex that is not weighted will be assigned to the root bone. Watch for messages in the log to verify this.
=== Vertex weights for proxies ===
Generally proxies are mapped to basemesh geometry, that means either to the body or to helpers, or a combination of both (though this is unusual). Proxies derive their vertex weights from the vertices on the basemesh on which they are fitted. A proxy defines its fitting as a 3d offset from one or three vertices on the basemesh, allowing it to deform as the human deforms. This mapping is used to transfer the vertex weights from basemesh to proxy: a proxy vertex referencing three basemesh vertices gets the bone weights of those three vertices. Doubles are merged and the weights are normalized, so that the influence factors are averaged or smoothed. In this case the weights applied to proxies are always those defined on the skeleton: either the weights explicitly defined on the skeleton, or the weights obtained from remapping the master rig weights to this skeleton using the reference bone mapping mentioned in the previous sections. There is an exception to this, which is explained in the next paragraph.
A proxy can explicitly define its own vertex (to bone) weights. In this case it overrides the weights that would be obtained through the proxy mapping, and replaces them by its own custom definition of weights. These vertex weights are always defined to reference the bones of the master rig (default skeleton), so they need to be remapped to other skeletons using reference bone mapping. This also means that the custom weights of a proxy override any custom weights mapping that might be loaded with an alternative rig (but only for that proxy item). Custom proxy weights should be avoided if possible, but are in some cases required, eg. for properly rigging shoes which are rigidly fitted to feet, or an alternative topology which defines very accurate rigging on the face. The general advice for custom rigs is therefore to stay as close to the master rig as possible, reusing as much bones identically as possible, to achieve the best results for proxies with custom weights.
In case of custom weight, the mhclo file must contain a line to indicate the weight file to use, using the keyword “vertexboneweights_file”, with the syntax:
vertexboneweights_file filename.jsonw
== Targets and modifiers ==
MakeHuman applies targets on the human by means of modifiers. Such a modifier has a value (usually between [0, 1] or [-1, 1]) that determines the effect that it will have on the human mesh. A modifier can control one or more targets and it will apply the mixed sum of those targeys on the mesh. Some modifiers.
=== Organization of targets ===
To make sure targets are linked to the right modifier, or to make managing targets easier, a certain discipline has to be observed in managing them. Targets are ASCII files in the data/targets or data/custom folder (in either the program or user folder) and they haave file extension of .target.
The file name and folder that targets are in implicitly determine their group name. A group is identified by a sequence of tags or tokens, which are taken from the file and folder name of each target. These tokens are delimited by “-” symbols, to include multiple tokens in a single file or folder name. The lib/targets.py module takes care of loading all the names of the available targets and assembles them into groups. All targets with the same tokens end up in the same group. This allows easy querying and requesting of targets. The creator is pretty much free to decide what groups to create for their targets. By passing the name of the target group to a modifier, they can make sure that modifier controls the targets belonging to this group. It does not matter whether you use folders or - delimited file names for creating groups.
An example:
data/targets/cartoon/eyes-large.target is categorized in group (cartoon, eyes, large)
data/targets/cartoon-eyes-large.target is also categorized in group (cartoon, eyes, large)
Most simple modifiers work by specifying a group (for example cartoon-eyes) and a set of two tokens to append at the end, depending on the position of the modifier slider (eg. small, large which would allow controlling the targets cartoon-eyes-small and cartoon-eyes-large by moving the slider to the left or right).
=== Reserved group tokens ===
Some of the tokens in the file or foldername of targets are linked to values that variables of the human can have. Such variables are for example age, weight, muscle, gender.
This table lists all the reserved tokens, and the variables they belong to.
{| class="wikitable"
|-
! Reserved token (value)
! Variable
|-
| female,male
| gender
|-
| baby, child, young, old
| age
|-
| african, caucasian, asian
| race
|-
| minmuscle, averagemuscle, maxmuscle
| muscle
|-
| minweight, averageweight, maxweight
| weight
|-
| minheight, averageheight, maxheight
| height
|-
| mincup, averagecup, maxcup
| breastsize
|-
| minfirmness, averagefirmness, maxfirmness
| breastfirmness
|-
| uncommonproportions, regularproportions, idealproportions
| bodyproportion
|}
Note that it is not a good idea to use simply “max” or “min” as a reserved token name, because they need to be unique (otherwise it would not be possible to determine whether they are a minimum for, for example, weight or height). These reserved tokens are declared in the lib/targets.py module. The variable can be set and queried on the human object, for example human.getAge(), human.setMuscle(0.7), human.getProportion().
The reserved tokens are NOT included in the group name, so you should at least include some other, non-reserved tokens in the file or folder names to assign your target to some meaningful group. The inclusion of these reserved tokens in your target names or paths makes it convenient to create macro modifiers.
=== Macro targets and modifiers ===
Macro modifiers are modifiers whose effect (the combination of targets they apply on the human) is influenced by macro variables set on the human (eg. human.set/getAge()). Therefore, macro modifiers often control a large set of targets (20 or even more). It’s also common for multiple modifiers to control exactly the same set of targets, for example the standard age/gender/race sliders all control the set of targets in the ‘macrodetails’ group. Each slider modifies a different variable (eg. human.setAge()) controlling the set of targets, and then reapplies a combination of the same set of targets on the human.
=== Macro modifier dependencies ===
There are other macro modifiers that can also depend on the same variables age, gender, race that is controlled by the main macro modifiers, as discussed above. For example the macro modifiers that influence the weight and muscle mass of the human, controls the targets group “macrodetails-universal”, the universal token is added by prepending “universal-” to all the file names of related targets, which all reside in the folder “macrodetails” (thus macrodetails-universal ends up being the group name). They could have been included all in the “macrodetails” group, but are kept separate for performance reasons, so that the “macrodetails” group of targets (which already contains some 40 targets or so) can be applied in realtime while moving the slider.
Of course a change in the variable that these age/race/gender modifiers control will have an effect on the macrodetails-universal modifiers (because they control targets that depend on age -- their targets include -young- -old- etc. tokens in their filenames). This means there are inter-dependencies between macro modifiers, if one is updated, another one that depends on it should be refreshed. These dependencies can be desceibed as follows: one macro modifier controls exactly one macro variable (such as age). It (or rather, the targets it controls) can however depend on multiple macro variables. The trivial case is where a macro modifier only depends on the macro variable that it controls itself. The tracking of these dependencies and deciding which modifiers must be updated when another is changed happens automatically. Dependencies are automatically tracked as soon as you add a modifier to the human (by calling modifier.setHuman(human)). To make this enhance performance in real-time, the propagation of updates to modifiers is limited while sliders are dragged (see realtimeDependencyUpdates in apps/humanmodifier.py).
As you might have understood, creating modifiers that depend on human variables is almost automatic. The only thing you need to do is create some targets that resolve to the same group name, add variations for all the macro variables you want and add the proper reserved tokens to the file or folder name (refer to the left column in the table above), and create a modifier with this group name. Once added to the human, the dependencies are tracked automatically.
Some more documentation about how macro modifiers resolve macro variables to actual variables can be found in this bug report: http://bugtracker.makehumancommunity.org/issues/1083
=== Organization of modifiers ===
We already discussed how we organized targets in groups, to make it easier to connect them to a modifier. Now we will discuss how we can do a similar thing for modifiers.
Modifiers provide an easy way to manage targets. They allow reducing many of hundreds of targets to a more manageable number of controllable properties. But even then, we still have about 100 modifiers, which is still quite a lot. Therefore we group them in groups of categories, much like we do in the GUI. This makes it easy to get a grouped overview of all modifiers when using an alternative interface, think of command line or scripting. The way in which you declare the group and other properties of a modifier determines what target groups it gets its targets from.
Modifiers are declared with a group name, some intermediary “target name” and a number of tail tokens (2 or 3 usually, e.g., min/max). The group of targets controlled by these modifiers is composed as: groupname-targets_name-tail.
Macro modifiers are declared with a group name, and a controlled variable. The groupname must be the same groupname of the targets they control.
=== Declarative modifiers ===
Instead of hard coding what modifiers you want to instantiate, MakeHuman offers a data-based format to declare what modifiers should be created, and how they should be shown in a user interface with sliders.
A full declaration requires '''three files''', all stored in data/modifiers. The '''first file''' is the declaration of the modifiers (e.g., modeling_modifiers.json). This format lists a modifier group name, and all the modifiers with their macro variable (if they are macro modifiers) or target name and 2 or 3 (if they are a modifier with a center point) tail tokens.
The '''second file''' adds a description to the modifiers declared in the first file. It basically contains a key-value set, referencing the modifier name, and a textual description of what the modifier controls. A modifier name is constructed as follows: group/targets_name-all|the|tails and for a macro modifier: group/variable.
The '''third file''' defines how these modifiers should be shown in the user interface as sliders. It lists a set of categories, and the sliders to show in them, and how their values have to be saved in a mhm file (mainly a feature for legacy compatibility).
=== Your own plugin with modifiers, sliders and targets ===
Using the declarative data format described in the section above, it’s really simple. Have a look at the plugin plugins/0_modeling_0_modifiers.py. Notice it’s barely 5 lines of code. Creating your own modeling plugin is as simple as that, pointing it to your own modifier data files.
=== Binary targets ===
Because loading these ASCII target files, and iterating all target files and folders can be slow (especially on windows) in build versions, we compile all targets in the data/targets system folder into a single binary file, that furthermore acts exactly the same as multiple target files. The binary targets file is stored in the system data/ folder and is called targets.npz, it is created by running the compile_targets.py script, which is also automatically run in the build_prepare.py build routine. The file structure of the targets files is maintained in this binary file so that targets can be loaded from it in the same way as you would do with regular files. A change in the .target files, or newly added target files allow a recompilation of the targets npz file before the change is applied.
== Proxy format ==
A proxy is a fitting of an arbitrary mesh (for example clothes or a hairstyle) to the basemesh. A proxy asset is distributed as a mesh file together with this fitting file (what we call the proxy file), allowing this mesh to be fitted on different modeling variations of the human within MakeHuman.
=== v1.0 format ===
The 1.0 format got introduced in the v1.0 release of MakeHuman, but was already present in the Alpha 7 (A7) release. The format got reworked a bit for 1.0, however.
==== Example ====
This is an excerpt from the fedora distributed with MakeHuman
# Exported from MakeClothes (TM)
# author Jonas Hauquier
# license AGPL3 (see also http://www.makehuman.org/node/320)
# homepage http://www.makehuman.org/
uuid 566dbd52-71d1-4d76-a799-0474a5a384db
basemesh hm08
tag Hats
name fedora
obj_file fedora.obj
x_scale 5399 11998 1.4800
z_scale 962 5320 1.9221
y_scale 791 881 2.3298
z_depth 50
material materials/fedora.mhmat
verts 0
251 5243 5244 0.60391 0.28706 0.10903 -0.00245 0.01323 0.03373
7020 11853 11852 0.53311 0.29591 0.17097 0.00529 0.01134 0.03388
7678 7000 7707 0.22571 0.34923 0.42506 0.00946 0.03331 0.04954
984 983 1015 0.17322 0.18383 0.64295 -0.00575 0.03634 0.05443
1014 226 982 0.12607 0.67880 0.19513 -0.00934 0.03289 0.04891
250 5245 5232 0.54148 0.48285 -0.02433 -0.01273 0.01129 0.03202
7746 7712 12153 0.16168 0.32394 0.51438 0.02696 0.11561 0.09667
5556 5554 1013 -0.03554 0.63140 0.40413 -0.01650 0.11949 0.10646
5560 5556 1020 0.34178 0.11896 0.53926 -0.03442 0.11513 0.09756
1013 7712 7721 0.24117 0.40913 0.34971 0.03897 0.20473 0.13559
1013 882 1029 0.71875 0.41604 -0.13479 -0.02631 0.22391 0.13840
1029 1020 1013 0.36342 0.60536 0.03123 -0.03890 0.20439 0.13536
7712 7721 882 0.21674 0.67896 0.10430 0.02804 0.23763 0.15510
1013 882 1029 0.30269 0.87853 -0.18122 -0.02994 0.25488 0.15754
1029 1020 1013 0.79483 0.03879 0.16638 -0.04433 0.23290 0.15424
5370 5368 969 -0.08854 0.29827 0.79027 -0.01789 0.14173 -0.15713
11971 7713 969 0.28241 0.33962 0.37797 0.01910 0.14921 -0.16563
11971 7713 969 0.05967 0.69236 0.24796 0.01670 0.13045 -0.14480
5370 5368 969 -0.07249 0.07305 0.99945 -0.01517 0.12017 -0.13323
969 1021 5370 0.20926 0.73057 0.06018 -0.01674 0.13078 -0.14517
969 1021 5370 0.33927 0.37782 0.28291 -0.01914 0.14955 -0.16600
5379 969 7713 -0.00113 0.07709 0.92403 0.01192 0.06520 -0.14994
1021 969 5379 -0.05590 0.97961 0.07629 -0.01124 0.06148 -0.14138
1021 969 5379 0.96289 0.03946 -0.00235 -0.01195 0.06537 -0.15033
11982 11981 7713 0.14728 0.42350 0.42922 0.01740 0.04655 -0.11033
1021 969 5379 -0.03656 0.34361 0.69295 -0.00834 0.04564 -0.10495
1021 5381 5382 0.43027 0.37607 0.19367 -0.01752 0.04687 -0.11110
11981 11982 7738 0.30937 0.48274 0.20789 0.00929 0.00889 -0.07280
5379 962 1022 0.56542 0.43776 -0.00318 -0.00327 0.01206 -0.08469
The rest of the file is very similar, it continues listing vertex fittings to the basemesh.
==== Vertex assignments ====
The format contains matchings in the following format:
vIdx1 vIdx2 vIdx3 w1 w2 w3 d1 d2 d3
vIdx is an index of a vertex on the basemesh
w is a weight of the corresponding vertex
d1,d2,d3 are optional (default to 0) and defines an offset
The format contains one such lines for every vertex in the proxy mesh, the order of the lines is the same as the order of vertices in the proxy mesh.
The format also supports an alternative fitting, referencing exactly one basemesh vertex, which is used for exact fitting: the proxy mesh vertex is placed in the exact same location as the basemesh vertex it is associated with.
vIdx
The file format allows mixing these two types of fittings on a per-vertex basis.
==== Properties ====
Every proxy should have a unique uuid (which can be generated using the python uuid module using uuid.uuid4()), a name, description, author and license information.
One or multiple tags can be added, each on a new line prepended with "tag".
A proxy references a material file and an OBJ mesh.
z_depth determines the rendering priority of the object (important for transparency) and the layer of clothing. It is used by face masking to determine which piece of clothing masks another.
The scale parameters define a bounding box referencing vertices on the human between which the proxy should be scaled. They are modified in makeclothes by selecting a clothing part.
=== v1.2 format ===
Starting from v1.2, a new algorithm for handling proxies is introduced, based on Manuel Bastioni's Lab experiments.
The new format uses a local normal space instead of global coordinates, making it more stable, even across different poses. It is also a lot easier for an artist to create new proxies, as it requires only one button press, instead of having to deal with vertex groups.
Future MakeHuman versions will contain backwards compatibility support for v1.0 proxies, but the new format is recommended for creation of new content.
The layout of this format is largely the same as the old format, with a version parameter specifying that this file should be interpreted as a new style proxy.
==== Example ====
# Exported from MakeClothes (TM)
# author Jonas Hauquier
# license AGPL3 (see also http://www.makehuman.org/node/320)
# homepage http://www.makehuman.org/
uuid 566dbd52-71d1-4d76-a799-0474a5a384db
basemesh hm08
tag Hats
version 120
name fedora
obj_file fedora.obj
z_depth 50
material materials/fedora.mhmat
verts 0
vIdx1 vIdx2 vIdx3 vIdx4 dx dy dz
It looks a lot like the v1.0 format, only the scale is no longer needed, and the vertex assignments have a new format.
The "version 120" is required to indicate that this file should be interpreted to use the new proxy fitting algorithm.
vIdxi references the vertices of a polygon of the basemesh
dx dy dz is the distance (delta) vector between the polygon center and the proxy mesh vertex.
=== Binary proxy ===
Proxies, as well as their meshes, can be compiled into a more compact binary variant that is faster to load and smaller to distribute. MakeHuman will do this automatically for proxies in the home path. Files in the installation path will have to be compiled manually by running the compile_proxies.py and compile_meshes.py scripts. Usually these scripts are ran when a distribution is created, so need not to be repeated by the end user, unless MakeHuman is used from source.
== Material format==
=== Introduction ===
MakeHuman material files have extension .mhmat and are simple ASCII definitions
of the material settings to use for rendering.
These material settings are primarily intended for configuring the material
system within MakeHuman, but they are usually carried out to other software as
well by the exporters.
Not all properties will be supported for all given combinations of shaders, nor
is there a guarantee that the exporters will honor all the properties in these
files.
Every 3D object in MakeHuman has exactly one material attached to it (multiple
materials are not possible, you need separate objects for that). Materials are
used for proxy meshes (clothes, hairs, ...) but also for the skin of the human
itself.
=== The Material System ===
The MakeHuman material system is closely based on the [https://en.wikipedia.org/wiki/Rendering_equation standard rendering equation]
as is used in OpenGL and DirectX forward rendering pipelines. MakeHuman supports
shaders and the material format contains the most commonly used extensions in
real-time rendering. As a consequence of this, users need to be aware of the
implications of setting values such as ambient too bright, or diffuse too dark.
All usual rules about rendering materials apply.
At the highest level, the material supports setting the most basic material
properties, such as diffuse, specular and ambient color. These are supported
both by shaders as well as the fixed function shading pipeline (which is used
when no shader is specified). Fixed function also supports the diffuse texture
option.
At a second level, a shader can be chosen. This refers directly to the filename
of a [https://en.wikipedia.org/wiki/OpenGL_Shading_Language GLSL shader] as found in the data/shaders/glsl folder of MakeHuman.
The selected shader will determine what material options will be available.
At the third level, various additional settings become available, depending on whether or not the
chosen shader has support for these features, such as bump or normal mapping,
ambient occlusion, specular mapping, etc.
For most of these, a texture map and a scalar property between 0 and 1 can be
set, the latter determining the intensity or influence of the effect.
Finally, MakeHuman also contains a built-in offline renderer that supports some
additional properties such as subsurface scattering, for which some special
properties are available.
=== Example ===
This is a full and complete (but fictional) example of a material file for MakeHuman, it shows all the available properties.
# Example MakeHuman Material definition
name Material_name
tag some_tag
tag another_tag
description material description text here
ambientColor 0.11 0.11 0.11
diffuseColor 1.0 1.0 1.0
specularColor 0.0470588235294 0.0470588235294 0.0470588235294
shininess 0.96
emissiveColor 0.0 0.0 0.0
opacity 1.0
translucency 0.0
shadeless False
wireframe False
transparent True
alphaToCoverage True
backfaceCull False
depthless False
autoBlendSkin False
castShadows True
receiveShadows True
diffuseTexture diffuse_texture.png
bumpmapTexture bumpmap.png
bumpmapIntensity 1.0
normalmapTexture normalmap.png
normalmapIntensity 1.0
displacementmapTexture norm_displacement.png
displacementmapIntensity 1.0
specularmapTexture specular.png
specularmapIntensity 1.0
transparencymapTexture alpha.png
transparencymapIntensity 1.0
aomapTexture ambient_occlusion_map.png
aomapIntensity 1.0
# Sub-surface scattering parameters
sssEnabled True
sssRScale 5.0
sssGScale 2.5
sssBScale 1.0
shader shaders/glsl/litsphere
shaderParam litsphereTexture litspheres/lit_hair.png
shaderConfig ambientOcclusion True
shaderConfig normal False
shaderConfig bump True
shaderConfig displacement False
shaderConfig vertexColors True
shaderConfig spec True
shaderConfig transparency True
shaderConfig diffuse True
shaderDefine ALPHA_MAP
uvMap alt_uv_coords.mhuv
This is another example, this time a real one. It is the X-ray material, used for example when showing the skeleton:
# Material definition for XrayMaterial
name XrayMaterial
ambientColor 0.1 0.1 0.1
diffuseColor 1.0 1.0 1.0
specularColor 0.3 0.3 0.3
shininess 0.1
emissiveColor 0.0 0.0 0.0
opacity 0.1
translucency 0.0
transparent True
backfaceCull True
shadeless False
wireframe False
depthless False
shader data/shaders/glsl/xray
shaderConfig diffuse False
shaderConfig transparency False
shaderConfig normal False
shaderConfig bump False
shaderConfig spec False
shaderConfig vertexColors False
shaderConfig displacement False
=== Explanation of material properties ===
==== Standard settings ====
''ambientColor'', ''diffuseColor'' ''specularColor'', ''emissiveColor'' are the standard colors
as used in the [https://en.wikipedia.org/wiki/Rendering_equation rendering equation]
or in standard OpenGL.
Their corresponding intensities are simple scalars with a value between 0 and 1 and are multiplied
with the colors to dim them. Default these intensities are set to 1.
Colors are described as three floating point numbers, representing R G B, or red-green-blue
values. 1 is the maximum, 0 the minimum.
For example 1.0 0 0 means fully red, 1 1 1 means full white, 0 0 0 is full black.
0.5 0.5 0.5 will give you a grey middle color.
''opacity'' determines the opaqueness of the object (alpha channel), with 1 being fully
opaque, and 0 being fully transparent (invisible)
''translucency'' is something that came from Blender but is unused
''shininess'' or specular hardness is a number between 0 and 1 determining the shininess constant of the [https://en.wikipedia.org/wiki/Phong_reflection_model phong shading model].
==== Texture maps ====
Various standard texture maps can be defined on the material, like ''diffuseTexture'', ''bumpmapTexture'', ''normalmapTexture'', ''displacementmapTexture'', ''specularmapTexture'', ''transparencymapTexture'', ''aomapTexture''. Each of these also has an associated intensity value, which is a scalar from 0 to 1 multiplied with the pixel value of that texture (unless a specific shader implements it differently).
These textures only have an effect if their corresponding shaderConfig feature has been defined (see the table in Shaders section).
==== Render states ====
When ''wireframe'' is set to True, the model is drawn in wireframe mode. In this mode,
most material properties have no effect, but you can enable the vertexColors shaderConfig
to be able to change the color of the mesh using vertex colors (this requires
access to the mesh programatically, obj meshes do not support vertex colors).
This feature is used in some parts of MakeHuman, for example viewing bone weights
in the skeleton debug plugin.
Set ''shadeless'' to True to disable shading, eg. the object is not affected by lights.
Configured shader will have no effect
Set ''transparent'' to True to enable transparency rendering (usually needed when opacity is < 1)
In itself this does not change the visual appearance of the model, but this setting
should be enabled if your texture contains (semi-) transparent parts. This setting
instructs the renderer to disable depth buffer writes (glDepthMask(false))
and enables alpha testing and blending so that transparent surfaces can overlap and to allow [https://www.opengl.org/wiki/Transparency_Sorting alpha blending].
''alphaToCoverage'' Applies when transparent is set to True (otherwise does nothing).
It requires that your GPU supports alpha to coverage (A2C) rendering. It enables
the A2C feature which provides face order-independent alpha rendering. This works
very well for complex transparent meshes, like hair. At the cost of a slightly
dithered look, it solves all the problems with face sorting that are usually
involved in rendering semi transparency.
(This feature disables anti-aliasing for this object because the multisample buffer is used for alpha blending instead)
Set ''backfaceCull'' to False to disable backface culling (render the back side of polygons)
By default, and in most cases, this should be set to True, but can be useful
in some cases (for example, we disable back-face culling for the eyebrow materials).
Set ''depthless'' to True for depthless rendering (object is not occluded and does not occlude other objects).
This disables OpenGL depth writes and tests. In practice, this makes object faces that should be occluded shine through others.
''castShadows'' determines whether the object casts shadows on other objects.
''receiveShadows'' determines whether the object receives shadows from other objects.
For some features, like eyes, you probably want to disable shadow receiving.
Since MakeHuman does not (yet) implement shadow casting, the shadow settings have
no effect in MakeHuman, but they do export to other engines.
Play around with these settings in the Material Editor plugin to see their effect, that's the best advise I can give you.
The best way to find out which settings work for an asset, is simply to try them out.
==== autoBlendSkin ====
If True MakeHuman will set the diffuse color based on the ethnix mix set for the character.
Any diffuseColor set in the material file will be overridden by this.
Also the shaderParam litsphereTexture will be automatically set to a dynamically blended litsphere texture,
which is a mix of three litsphere materials (afro, asian, caucasian) depending on the ethnic mix of the character.
This latter is specifically intended to be used with the litsphere shader, and it is what you see as default material when you start MakeHuman
This overrides whatever shaderParam litsphereTexture was set in the material file.
This setting is intended only for skin materials.
==== shaderParam ====
Define a custom shader parameter (uniform), which might be required for some non-standard shaders.
For example, the litsphere shader takes an extra type of texture map as input, a so-called litsphere texture.
This generic system of mapping shader uniforms allows you to create specialised shaders that take
new and different kind of inputs, and allow configuring the shader from the material file.
shaderParam can be a list of floating point numbers, in which case it will be interpreted as a vector,
or it can be a file path, in which case it is assumed to be an image path.
Internally in MakeHuman, shaderParams can also be assigned a texture object, which allows
for dynamically passing a texture that is in memory, but perhaps not stored on disk.
Another example of a custom shaderParam is the X-ray shader that defines an edgefalloff
and intensity uniform parameter.
These could be changed from the material file with
shaderParam edgefalloff 0.8
shaderParam intensity 0.77
==== shaderDefine ====
shaderDefines allow enabling or disabling custom shading techniques in shaders.
These allow to define new shading techniques, apart from the pre-defined ones
such as normal mapping, specularity mapping, ...
It's a generic system that allows new shaders to be added and configured from
the material file, or from the material editor (which nicely auto-detects these
features in the shader and shows a set of checkboxes for them).
==== uvMap ====
Load custom UV coordinates on the mesh to use this material. This makes the material
completely dependent on the mesh it is used with.
Takes a path to a .mhuv file, which is actually just an .obj file, where the vertex
positions can be deleted (they can remain in there, but they are ignored).
Requirement for it to work is that the vertex order is the same as that of the
mesh obj.
An example uv map for the basemesh can be found in data/uvs/a7.mhuv, which is a
set of UV coordinates compatible with the old Alpha 7 mesh, allowing you to load
A7 textures on the new basemesh used in MakeHuman v1+
==== SSS properties ====
These are the so-called sub-surface scattering shading properties, currently only used by the built-in offline renderer. They were decided on while trying to figure out the most generic way to define SSS shading properties, so that they could easily be translated into SSS properties for a different renderer (as no single renderer that I know of has a standard for these). It's uncertain whether the format we have landed on currently is the best, or whether this will remain permanently or is still likely to change.
This setting should currently be considered experimental.
The properties are ''sssEnabled'', ''sssRScale'', ''sssGScale'' and ''sssBScale''.
=== Basic pointers for creating materials ===
* You can test the influence of material properties using the Material Editor plugin (which you can enable in Settings > Plugins, then restart)
* Using a diffuse texture? You probably want to set the diffuse color to 1 1 1 (pure white)
* Never set ambient color too bright, or your model will look completely white. 0.1 0.1 0.1 is a good value to start from.
* Emissive is usually set to black, unless you want a radioactive character
* Don't know how to define a color in numbers? Try the Material Editor plugin
* Higher shininess means smaller and sharper highlight, lower shininess makes the highlight larger and more blurred
* Reduce specular color to reduce the specularity, make it black for a rough and non shiny object
* opacity 1 means fully opaque, 0 means fully transparent (invisible)
* Do your (diffuse) textures contain transparency? Do not forget to enable transparency! Perhaps try if alpha-to-coverage improves the situation (especially for hair!).
=== Scene definition ===
To complete the rendering equation, you also need to define the scene. To be
more precise, the positions, types, color and intensities of the lights need to
be set. By default, MakeHuman only has a default scene with only one pointlight.
In MakeHuman, lights do not move if the camera is moved, or rather, the model is
rotated while the camera and lights remain static. So light positions are defined
relative to the camera position.
MakeHuman scenes are defined in .mhscene files, which are binary py-pickled files.
They can be created or modified using the Scene Editor plugin (can be enabled in
settings) and can be selected from the Scene library in the Render tab.
Fixed function shading pipeline supports up to 8 lights, specific light support
depends on the shader used, some shaders only support a certain type or number
of lights, other ignore the chosen scene altogether (for example the litsphere
shader that uses pre-baked environment lighting).
The built-in offline renderer also uses the specified scene.
Scenes are not exported along with the model.
=== Shaders ===
The most powerful functionality of the material system is unlocked when using
shaders.
MakeHuman shaders are intended to be written in a modular way, so that shading
features can be enabled or disabled using the material format. Examples of such
features are bump mapping, normal mapping, specular mapping, diffuse texturing,
ambient occlusion and displacement mapping.
MakeHuman includes a basic introspection function that allows it to determine
what features a shader supports. It accomplishes this by looking for #ifdef and #ifndef statements. If a shader supports a certain technique, it is supposed to
encapsulate this in #ifdef NORMALMAP ... #else ... #endif statements.
The idea is that of an [http://www.gamedev.net/topic/659145-what-is-a-uber-shader/ über shader], where performance is optimized by removing any dynamic branches (if then that) from shader code, and instead managing the features using defines and pre-processor branches.
When a different branch in the shader is activated, the shader code is recompiled entirely.
Instead of having different shaders for different features (eg. a specific normalmap shader to be able to do normal mapping), one general shader could be used instead, and normal mapping can simply be enabled or disabled from the material properties, without being required to swap shaders (a good default uber shader is [http://bugtracker.makehumancommunity.org/issues/160 still to be created for MakeHuman] Any help with this is welcome of course!).
The material system manages these shading functions by defining specific pre-processor
keywords when their corresponding shaderConfig property is set to true.
Shaders are recompiled when needed and stored in a shader cache for efficiency.
MakeHuman passes scene and material information to the shaders by certain uniform
parameters. Depending on which shaderConfig properties were enabled, additional
uniforms could be exposed to the shader. The shader does not have to declare all
these uniforms, however. MakeHuman binds only those uniforms present in the shader
if they have the right corresponding names.
Other properties are available from the OpenGL built-in uniforms or properties
(usually starting with gl_).
The following table lists these defines and the shaderConfig properties in the
material they relate to:
{| class="wikitable"
|-
! feature name
! shaderConfig
! shader #DEFINE
! exposed uniform parameters if enabled
! comment
|-
|default (always enabled)
|
|
|vec3 ambient, vec4 diffuse, vec4 specular, vec3 emissive
|diffuse and specular are 4-component color values, diffuse=[rgba] with a=opacity and specular=[rgbs] with s=shininess
|-
|Vertex coloring
|vertexColors
|VERTEX_COLOR
|
|Derive diffuse color from vertex colors
|-
|Diffuse texturing
|diffuse
|DIFFUSE
|diffuseTexture
|
|-
|Bump mapping
|bump
|BUMPMAP
|bumpmapTexture, bumpmapIntensity
|disabled if normal mapping is enabled (restriction might be lifted in the future)
|-
|Normal mapping
|normal
|NORMALMAP
|normalmapTexture, normalmapIntensity
|
|-
|Displacement mapping
|displacement
|DISPLACEMENT
|displacementmapTexture, displacementmapIntensity
|
|-
|Specularity mapping
|spec
|SPECULARMAP
|specularmapTexture, specularmapIntensity
|
|-
|Transpareny (alpha) maps
|transparency
|TRANSPARENCYMAP
|transparencymapTexture, transparencymapIntensity
|
|-
|Ambient occlusion maps
|ambientOcclusion
|AOMAP
|aomapTexture, aomapIntensity
|
|}
Additionally, MakeHuman exposes the vertex tangent as a vertex property, which
can be accessed by the shader.
attribute vec4 tangent
Currently, [http://www.terathon.com/code/tangent.html Lengyel’s Method] for tangent calculation
is used, but plans are to change this to [http://bugtracker.makehumancommunity.org/issues/87 mikktspace] in the future.
Shader examples for MakeHuman can be found here:
* Litsphere shader: [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/litsphere_vertex_shader.txt vertex][https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/litsphere_fragment_shader.txt fragment]
* Phong shader: [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/phong_vertex_shader.txt vertex][https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/phong_fragment_shader.txt fragment]
* Normal map shader (wip): [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/normalmap_vertex_shader.txt vertex] [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/normalmap_fragment_shader.txt fragment]
* X-ray shader: [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/xray_vertex_shader.txt vertex][https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/xray_fragment_shader.txt fragment]
==== Custom shader properties ====
Shaders can use non-standard #DEFINEs to allow enabling or disabling non-standard shading features, other than the ones that were foreseen in the material format (such as normal mapping, ...)
To add new ones, simply add #ifdef SOME_FEATURE statements to your shader code, the material system will automatically detect them.
From the material, you can enable them with
shaderDefine SOME_FEATURE
If not defined, the feature is assumed to be switched off.
A custom shader can also add new parameters to tweak. For example a color value or intensity value that influences the shading.
To do this, the shader author can simply add new uniform variables to their shader code. It is recommended to specify a default
value for them, so that if the material file does not explicitly mention them, they receive a sensible default value.
Example: the X-ray shader adds an edge-fallof property:
uniform float edgefalloff = 1.0;
From the material file, you can influence this value with:
shaderParam edgefalloff 0.5
shaderParam supports lists of float values (one or multiple, divided by spaces), eg
shaderParam edgecolor 0.7 0.3 0.4
or textures, by specifying a path to an image file (in which case they are assumed to be Sampler2D type)
Additionally, from within MakeHuman, they can be passed a Texture object, to dynamically pass them a texture that resides in memory, without the need for the texture to be stored in a file on disk.
This allows to dynamically alter the texture and have it displayed directly. MakeHuman takes care of caching the texture and updating it when it is modified.
For example, the auto skin tone blending of the litsphere texture is implemented in this way.
The material system will automatically detect these custom uniform parameters declared in the shader, for example the material editor plugin will present them in the GUI.
These features make for a general and extensible shader system.
==== Dynamic shader configuration in Material Editor plugin ====
Take as example this screenshot, which shows how the X-Ray shader, mentioned earlier, can be configured.
[[File:Mh_material_editor.png]]
In the shader selector, xray was chosen. This opens up a few new options to configure.
Notice that on the top right the custom shader uniforms edgefalloff and intensity that we mentioned earlier were automatically detected. The shader author had to do nothing else than to define these uniform parameters in his shader code, and define a sensible default for them. A material using this shader can customize these properties using the shaderParam option, which can be altered visually in the top right of the material editor. Changes in the material editor take effect immediately, so you can directly preview your changes.
Also notice in the bottom left that the material editor shows the available shaderConfig parameters. Some of these are greyed out, which means they are not available, or the condition for them is not met (for example, to be able to enable normal mapping, you need to choose a normal map texture on the right panel. If the normal map property is greyed out on the right side, then this particular shader does not support normal mapping).
Let's take a look at a second example.
[[File:Mh_material_editor2.png]]
Here we see the litsphere shader. This shader is different from the other shaders in the sense that it completely ignores the lighting of the scene, and instead lights the model with a texture containing pre-baked lighting conditions, a so-called [http://www.cs.utah.edu/~wmartin/pubs/LitSphere.pdf litsphere] texture.
This shader, being so different, requires a different sort of input, a custom input texture: the litsphere texture.
The shader author simply defined this uniform parameter in his shader code, and as you can see in the top right corner, the material editor shows a texture selector for this property. Using it, the user can select a litsphere texture to feed to the shader.
The litsphere shader also has two different alternative techniques that can be enabled or disabled by the user.
These two features, which can be enabled using shaderDefine statements in the material file, are automatically detected by the material system, and shown in the bottom left of the material editor. Enabling them is as simple as checking the checkbox.
One of these custom shading features is alpha mapping (defined by ALPHA_MAP), which allows to sample alpha transparency from an additional texture.
For this texture, an additional uniform property, named alphaTexture was declared in the shader, but it was written down in a way that it is only declared if the ALPHA_MAP token is defined.
In the shader code:
#ifdef ALPHA_MAP
uniform sampler2D alphaTexture;
#endif
If you check the ALPHA_MAP_checkbox, you will notice that on the top right, an extra texture selector will appear.
These examples show how the material editor can help exploring the different settings that are available in shaders.
5cc01d4c92263028e6a3bc2db9978cb69e9d0348
1279
1278
2017-01-09T00:16:23Z
Duststorm
19
wikitext
text/x-wiki
== Vertex weights ==
With vertex weights we intend a weighted mapping of vertices of a mesh to a bone of a skeleton. The weight is a value between 0 and 1, the sum of these weights for each vertex should be normalized, which means they should sum to 1 (note: no euclidian distance, just simple addition of all weights). A weight map in MakeHuman is expressed as a bone name (becomes a bone index internally, using the index of the bone in a breadth-first list relative to skeleton structure), a vertex name and a floating point weight between 0 and 1. This weighted vertex to bone mapping is used for skinning (posing and animating, using vertex skinning, smooth skinning or linear blend skinning algorithm). For the skinning algorithm to work correctly it’s required that the weights are always normalized, otherwise you will see vertices move out of place disproportionally (though the weight loading code in MakeHuman ensures that this normalization always happens, so this is not a concern to the artist that defines the weights). The vertex weights can be exported to external tools as well using formats such as collada (DAE), FBX, Ogre3D meshes or MD5 quake meshes.
=== Vertex weights and skeletons ===
Vertex weights are defined for the default “master” skeleton or rig. They are defined in a json file with jsonw extension. They link each vertex of the basemesh including helpers to a named bone of this master rig, together with a certain weight.
The weights loader automatically removes doubles and normalizes the weights (so that they sum to 1). It also reports what the maximum number of bone weights per vertex is, additionally it allows compiling the weights to a reduced set with n number of bone weights, and automatically renormalizes those weights so they, again, sum to 1.
When loading weights, any vertex that receives no weighting is assigned to the root bone, as this is needed for skinning to prevent all those vertices jumping to the origin (0*pos == 0).
Alternative skeletons can define their own weights, by referencing a weights file just like the master rig, or they can choose to derive their weights from the master rig, through so called reference bone mappings. Skeletons will derive their weights from the master rig if they do not specify a weights file explicitly. Custom vertex weights in alternative rigs override those defined on the master rig, except in the case where a proxy defines its own vertex weights. See section Vertex weights for proxies for more details.
=== Reference bones for vertex weights and poses ===
Reference bones are defined on alternative rigs, they are a list of names of bones contained in the master rig. Every bone of an alternative rig can have such a list of reference bones. An alternative rig can also omit these references if it uses the same name as bones in the master rig, in which the mapping is implicit. Having a list of bone references always overrides the implicit mapping. Reference bone mappings are required for two purposes.
They are used for mapping poses defined on the master rig to other rigs. All poses are defined as BVH files that pose the master rig, so they reference only the bone names of the master rig. Poses are applied to all other rigs by using the reference bone mapping: all the rotations that the pose applies to the referenced bones are combined (in the order in which the references were specified -- note: rotations are NOT commutative) and are applied to the alternative rig bone.
Reference bone mappings can also be used for determining vertex weights of custom rigs. If the alternative rig does not explicitly define its own vertex weights, the mapping of reference bones is used to infere a set of bone weights for each bone: All the weights of the reference bones on the master rig (with the weights definition of the default/master rig) are combined and apply to the bone of the alternative rig. Doubles are merged, and weights renormalized. Any vertex that is not weighted will be assigned to the root bone. Watch for messages in the log to verify this.
=== Vertex weights for proxies ===
Generally proxies are mapped to basemesh geometry, that means either to the body or to helpers, or a combination of both (though this is unusual). Proxies derive their vertex weights from the vertices on the basemesh on which they are fitted. A proxy defines its fitting as a 3d offset from one or three vertices on the basemesh, allowing it to deform as the human deforms. This mapping is used to transfer the vertex weights from basemesh to proxy: a proxy vertex referencing three basemesh vertices gets the bone weights of those three vertices. Doubles are merged and the weights are normalized, so that the influence factors are averaged or smoothed. In this case the weights applied to proxies are always those defined on the skeleton: either the weights explicitly defined on the skeleton, or the weights obtained from remapping the master rig weights to this skeleton using the reference bone mapping mentioned in the previous sections. There is an exception to this, which is explained in the next paragraph.
A proxy can explicitly define its own vertex (to bone) weights. In this case it overrides the weights that would be obtained through the proxy mapping, and replaces them by its own custom definition of weights. These vertex weights are always defined to reference the bones of the master rig (default skeleton), so they need to be remapped to other skeletons using reference bone mapping. This also means that the custom weights of a proxy override any custom weights mapping that might be loaded with an alternative rig (but only for that proxy item). Custom proxy weights should be avoided if possible, but are in some cases required, eg. for properly rigging shoes which are rigidly fitted to feet, or an alternative topology which defines very accurate rigging on the face. The general advice for custom rigs is therefore to stay as close to the master rig as possible, reusing as much bones identically as possible, to achieve the best results for proxies with custom weights.
In case of custom weight, the mhclo file must contain a line to indicate the weight file to use, using the keyword “vertexboneweights_file”, with the syntax:
vertexboneweights_file filename.jsonw
== Targets and modifiers ==
MakeHuman applies targets on the human by means of modifiers. Such a modifier has a value (usually between [0, 1] or [-1, 1]) that determines the effect that it will have on the human mesh. A modifier can control one or more targets and it will apply the mixed sum of those targeys on the mesh. Some modifiers.
=== Organization of targets ===
To make sure targets are linked to the right modifier, or to make managing targets easier, a certain discipline has to be observed in managing them. Targets are ASCII files in the data/targets or data/custom folder (in either the program or user folder) and they haave file extension of .target.
The file name and folder that targets are in implicitly determine their group name. A group is identified by a sequence of tags or tokens, which are taken from the file and folder name of each target. These tokens are delimited by “-” symbols, to include multiple tokens in a single file or folder name. The lib/targets.py module takes care of loading all the names of the available targets and assembles them into groups. All targets with the same tokens end up in the same group. This allows easy querying and requesting of targets. The creator is pretty much free to decide what groups to create for their targets. By passing the name of the target group to a modifier, they can make sure that modifier controls the targets belonging to this group. It does not matter whether you use folders or - delimited file names for creating groups.
An example:
data/targets/cartoon/eyes-large.target is categorized in group (cartoon, eyes, large)
data/targets/cartoon-eyes-large.target is also categorized in group (cartoon, eyes, large)
Most simple modifiers work by specifying a group (for example cartoon-eyes) and a set of two tokens to append at the end, depending on the position of the modifier slider (eg. small, large which would allow controlling the targets cartoon-eyes-small and cartoon-eyes-large by moving the slider to the left or right).
=== Reserved group tokens ===
Some of the tokens in the file or foldername of targets are linked to values that variables of the human can have. Such variables are for example age, weight, muscle, gender.
This table lists all the reserved tokens, and the variables they belong to.
{| class="wikitable"
|-
! Reserved token (value)
! Variable
|-
| female,male
| gender
|-
| baby, child, young, old
| age
|-
| african, caucasian, asian
| race
|-
| minmuscle, averagemuscle, maxmuscle
| muscle
|-
| minweight, averageweight, maxweight
| weight
|-
| minheight, averageheight, maxheight
| height
|-
| mincup, averagecup, maxcup
| breastsize
|-
| minfirmness, averagefirmness, maxfirmness
| breastfirmness
|-
| uncommonproportions, regularproportions, idealproportions
| bodyproportion
|}
Note that it is not a good idea to use simply “max” or “min” as a reserved token name, because they need to be unique (otherwise it would not be possible to determine whether they are a minimum for, for example, weight or height). These reserved tokens are declared in the lib/targets.py module. The variable can be set and queried on the human object, for example human.getAge(), human.setMuscle(0.7), human.getProportion().
The reserved tokens are NOT included in the group name, so you should at least include some other, non-reserved tokens in the file or folder names to assign your target to some meaningful group. The inclusion of these reserved tokens in your target names or paths makes it convenient to create macro modifiers.
=== Macro targets and modifiers ===
Macro modifiers are modifiers whose effect (the combination of targets they apply on the human) is influenced by macro variables set on the human (eg. human.set/getAge()). Therefore, macro modifiers often control a large set of targets (20 or even more). It’s also common for multiple modifiers to control exactly the same set of targets, for example the standard age/gender/race sliders all control the set of targets in the ‘macrodetails’ group. Each slider modifies a different variable (eg. human.setAge()) controlling the set of targets, and then reapplies a combination of the same set of targets on the human.
=== Macro modifier dependencies ===
There are other macro modifiers that can also depend on the same variables age, gender, race that is controlled by the main macro modifiers, as discussed above. For example the macro modifiers that influence the weight and muscle mass of the human, controls the targets group “macrodetails-universal”, the universal token is added by prepending “universal-” to all the file names of related targets, which all reside in the folder “macrodetails” (thus macrodetails-universal ends up being the group name). They could have been included all in the “macrodetails” group, but are kept separate for performance reasons, so that the “macrodetails” group of targets (which already contains some 40 targets or so) can be applied in realtime while moving the slider.
Of course a change in the variable that these age/race/gender modifiers control will have an effect on the macrodetails-universal modifiers (because they control targets that depend on age -- their targets include -young- -old- etc. tokens in their filenames). This means there are inter-dependencies between macro modifiers, if one is updated, another one that depends on it should be refreshed. These dependencies can be desceibed as follows: one macro modifier controls exactly one macro variable (such as age). It (or rather, the targets it controls) can however depend on multiple macro variables. The trivial case is where a macro modifier only depends on the macro variable that it controls itself. The tracking of these dependencies and deciding which modifiers must be updated when another is changed happens automatically. Dependencies are automatically tracked as soon as you add a modifier to the human (by calling modifier.setHuman(human)). To make this enhance performance in real-time, the propagation of updates to modifiers is limited while sliders are dragged (see realtimeDependencyUpdates in apps/humanmodifier.py).
As you might have understood, creating modifiers that depend on human variables is almost automatic. The only thing you need to do is create some targets that resolve to the same group name, add variations for all the macro variables you want and add the proper reserved tokens to the file or folder name (refer to the left column in the table above), and create a modifier with this group name. Once added to the human, the dependencies are tracked automatically.
=== Organization of modifiers ===
We already discussed how we organized targets in groups, to make it easier to connect them to a modifier. Now we will discuss how we can do a similar thing for modifiers.
Modifiers provide an easy way to manage targets. They allow reducing many of hundreds of targets to a more manageable number of controllable properties. But even then, we still have about 100 modifiers, which is still quite a lot. Therefore we group them in groups of categories, much like we do in the GUI. This makes it easy to get a grouped overview of all modifiers when using an alternative interface, think of command line or scripting. The way in which you declare the group and other properties of a modifier determines what target groups it gets its targets from.
Modifiers are declared with a group name, some intermediary “target name” and a number of tail tokens (2 or 3 usually, e.g., min/max). The group of targets controlled by these modifiers is composed as: groupname-targets_name-tail.
Macro modifiers are declared with a group name, and a controlled variable. The groupname must be the same groupname of the targets they control.
=== Declarative modifiers ===
Instead of hard coding what modifiers you want to instantiate, MakeHuman offers a data-based format to declare what modifiers should be created, and how they should be shown in a user interface with sliders.
A full declaration requires '''three files''', all stored in data/modifiers. The '''first file''' is the declaration of the modifiers (e.g., modeling_modifiers.json). This format lists a modifier group name, and all the modifiers with their macro variable (if they are macro modifiers) or target name and 2 or 3 (if they are a modifier with a center point) tail tokens.
The '''second file''' adds a description to the modifiers declared in the first file. It basically contains a key-value set, referencing the modifier name, and a textual description of what the modifier controls. A modifier name is constructed as follows: group/targets_name-all|the|tails and for a macro modifier: group/variable.
The '''third file''' defines how these modifiers should be shown in the user interface as sliders. It lists a set of categories, and the sliders to show in them, and how their values have to be saved in a mhm file (mainly a feature for legacy compatibility).
=== Your own plugin with modifiers, sliders and targets ===
Using the declarative data format described in the section above, it’s really simple. Have a look at the plugin plugins/0_modeling_0_modifiers.py. Notice it’s barely 5 lines of code. Creating your own modeling plugin is as simple as that, pointing it to your own modifier data files.
=== Binary targets ===
Because loading these ASCII target files, and iterating all target files and folders can be slow (especially on windows) in build versions, we compile all targets in the data/targets system folder into a single binary file, that furthermore acts exactly the same as multiple target files. The binary targets file is stored in the system data/ folder and is called targets.npz, it is created by running the compile_targets.py script, which is also automatically run in the build_prepare.py build routine. The file structure of the targets files is maintained in this binary file so that targets can be loaded from it in the same way as you would do with regular files. A change in the .target files, or newly added target files allow a recompilation of the targets npz file before the change is applied.
=== Additional information ===
Some more documentation about how macro modifiers resolve macro variables to actual variables can be found in this bug report: http://bugtracker.makehumancommunity.org/issues/1083
== Proxy format ==
A proxy is a fitting of an arbitrary mesh (for example clothes or a hairstyle) to the basemesh. A proxy asset is distributed as a mesh file together with this fitting file (what we call the proxy file), allowing this mesh to be fitted on different modeling variations of the human within MakeHuman.
=== v1.0 format ===
The 1.0 format got introduced in the v1.0 release of MakeHuman, but was already present in the Alpha 7 (A7) release. The format got reworked a bit for 1.0, however.
==== Example ====
This is an excerpt from the fedora distributed with MakeHuman
# Exported from MakeClothes (TM)
# author Jonas Hauquier
# license AGPL3 (see also http://www.makehuman.org/node/320)
# homepage http://www.makehuman.org/
uuid 566dbd52-71d1-4d76-a799-0474a5a384db
basemesh hm08
tag Hats
name fedora
obj_file fedora.obj
x_scale 5399 11998 1.4800
z_scale 962 5320 1.9221
y_scale 791 881 2.3298
z_depth 50
material materials/fedora.mhmat
verts 0
251 5243 5244 0.60391 0.28706 0.10903 -0.00245 0.01323 0.03373
7020 11853 11852 0.53311 0.29591 0.17097 0.00529 0.01134 0.03388
7678 7000 7707 0.22571 0.34923 0.42506 0.00946 0.03331 0.04954
984 983 1015 0.17322 0.18383 0.64295 -0.00575 0.03634 0.05443
1014 226 982 0.12607 0.67880 0.19513 -0.00934 0.03289 0.04891
250 5245 5232 0.54148 0.48285 -0.02433 -0.01273 0.01129 0.03202
7746 7712 12153 0.16168 0.32394 0.51438 0.02696 0.11561 0.09667
5556 5554 1013 -0.03554 0.63140 0.40413 -0.01650 0.11949 0.10646
5560 5556 1020 0.34178 0.11896 0.53926 -0.03442 0.11513 0.09756
1013 7712 7721 0.24117 0.40913 0.34971 0.03897 0.20473 0.13559
1013 882 1029 0.71875 0.41604 -0.13479 -0.02631 0.22391 0.13840
1029 1020 1013 0.36342 0.60536 0.03123 -0.03890 0.20439 0.13536
7712 7721 882 0.21674 0.67896 0.10430 0.02804 0.23763 0.15510
1013 882 1029 0.30269 0.87853 -0.18122 -0.02994 0.25488 0.15754
1029 1020 1013 0.79483 0.03879 0.16638 -0.04433 0.23290 0.15424
5370 5368 969 -0.08854 0.29827 0.79027 -0.01789 0.14173 -0.15713
11971 7713 969 0.28241 0.33962 0.37797 0.01910 0.14921 -0.16563
11971 7713 969 0.05967 0.69236 0.24796 0.01670 0.13045 -0.14480
5370 5368 969 -0.07249 0.07305 0.99945 -0.01517 0.12017 -0.13323
969 1021 5370 0.20926 0.73057 0.06018 -0.01674 0.13078 -0.14517
969 1021 5370 0.33927 0.37782 0.28291 -0.01914 0.14955 -0.16600
5379 969 7713 -0.00113 0.07709 0.92403 0.01192 0.06520 -0.14994
1021 969 5379 -0.05590 0.97961 0.07629 -0.01124 0.06148 -0.14138
1021 969 5379 0.96289 0.03946 -0.00235 -0.01195 0.06537 -0.15033
11982 11981 7713 0.14728 0.42350 0.42922 0.01740 0.04655 -0.11033
1021 969 5379 -0.03656 0.34361 0.69295 -0.00834 0.04564 -0.10495
1021 5381 5382 0.43027 0.37607 0.19367 -0.01752 0.04687 -0.11110
11981 11982 7738 0.30937 0.48274 0.20789 0.00929 0.00889 -0.07280
5379 962 1022 0.56542 0.43776 -0.00318 -0.00327 0.01206 -0.08469
The rest of the file is very similar, it continues listing vertex fittings to the basemesh.
==== Vertex assignments ====
The format contains matchings in the following format:
vIdx1 vIdx2 vIdx3 w1 w2 w3 d1 d2 d3
vIdx is an index of a vertex on the basemesh
w is a weight of the corresponding vertex
d1,d2,d3 are optional (default to 0) and defines an offset
The format contains one such lines for every vertex in the proxy mesh, the order of the lines is the same as the order of vertices in the proxy mesh.
The format also supports an alternative fitting, referencing exactly one basemesh vertex, which is used for exact fitting: the proxy mesh vertex is placed in the exact same location as the basemesh vertex it is associated with.
vIdx
The file format allows mixing these two types of fittings on a per-vertex basis.
==== Properties ====
Every proxy should have a unique uuid (which can be generated using the python uuid module using uuid.uuid4()), a name, description, author and license information.
One or multiple tags can be added, each on a new line prepended with "tag".
A proxy references a material file and an OBJ mesh.
z_depth determines the rendering priority of the object (important for transparency) and the layer of clothing. It is used by face masking to determine which piece of clothing masks another.
The scale parameters define a bounding box referencing vertices on the human between which the proxy should be scaled. They are modified in makeclothes by selecting a clothing part.
=== v1.2 format ===
Starting from v1.2, a new algorithm for handling proxies is introduced, based on Manuel Bastioni's Lab experiments.
The new format uses a local normal space instead of global coordinates, making it more stable, even across different poses. It is also a lot easier for an artist to create new proxies, as it requires only one button press, instead of having to deal with vertex groups.
Future MakeHuman versions will contain backwards compatibility support for v1.0 proxies, but the new format is recommended for creation of new content.
The layout of this format is largely the same as the old format, with a version parameter specifying that this file should be interpreted as a new style proxy.
==== Example ====
# Exported from MakeClothes (TM)
# author Jonas Hauquier
# license AGPL3 (see also http://www.makehuman.org/node/320)
# homepage http://www.makehuman.org/
uuid 566dbd52-71d1-4d76-a799-0474a5a384db
basemesh hm08
tag Hats
version 120
name fedora
obj_file fedora.obj
z_depth 50
material materials/fedora.mhmat
verts 0
vIdx1 vIdx2 vIdx3 vIdx4 dx dy dz
It looks a lot like the v1.0 format, only the scale is no longer needed, and the vertex assignments have a new format.
The "version 120" is required to indicate that this file should be interpreted to use the new proxy fitting algorithm.
vIdxi references the vertices of a polygon of the basemesh
dx dy dz is the distance (delta) vector between the polygon center and the proxy mesh vertex.
=== Binary proxy ===
Proxies, as well as their meshes, can be compiled into a more compact binary variant that is faster to load and smaller to distribute. MakeHuman will do this automatically for proxies in the home path. Files in the installation path will have to be compiled manually by running the compile_proxies.py and compile_meshes.py scripts. Usually these scripts are ran when a distribution is created, so need not to be repeated by the end user, unless MakeHuman is used from source.
== Material format==
=== Introduction ===
MakeHuman material files have extension .mhmat and are simple ASCII definitions
of the material settings to use for rendering.
These material settings are primarily intended for configuring the material
system within MakeHuman, but they are usually carried out to other software as
well by the exporters.
Not all properties will be supported for all given combinations of shaders, nor
is there a guarantee that the exporters will honor all the properties in these
files.
Every 3D object in MakeHuman has exactly one material attached to it (multiple
materials are not possible, you need separate objects for that). Materials are
used for proxy meshes (clothes, hairs, ...) but also for the skin of the human
itself.
=== The Material System ===
The MakeHuman material system is closely based on the [https://en.wikipedia.org/wiki/Rendering_equation standard rendering equation]
as is used in OpenGL and DirectX forward rendering pipelines. MakeHuman supports
shaders and the material format contains the most commonly used extensions in
real-time rendering. As a consequence of this, users need to be aware of the
implications of setting values such as ambient too bright, or diffuse too dark.
All usual rules about rendering materials apply.
At the highest level, the material supports setting the most basic material
properties, such as diffuse, specular and ambient color. These are supported
both by shaders as well as the fixed function shading pipeline (which is used
when no shader is specified). Fixed function also supports the diffuse texture
option.
At a second level, a shader can be chosen. This refers directly to the filename
of a [https://en.wikipedia.org/wiki/OpenGL_Shading_Language GLSL shader] as found in the data/shaders/glsl folder of MakeHuman.
The selected shader will determine what material options will be available.
At the third level, various additional settings become available, depending on whether or not the
chosen shader has support for these features, such as bump or normal mapping,
ambient occlusion, specular mapping, etc.
For most of these, a texture map and a scalar property between 0 and 1 can be
set, the latter determining the intensity or influence of the effect.
Finally, MakeHuman also contains a built-in offline renderer that supports some
additional properties such as subsurface scattering, for which some special
properties are available.
=== Example ===
This is a full and complete (but fictional) example of a material file for MakeHuman, it shows all the available properties.
# Example MakeHuman Material definition
name Material_name
tag some_tag
tag another_tag
description material description text here
ambientColor 0.11 0.11 0.11
diffuseColor 1.0 1.0 1.0
specularColor 0.0470588235294 0.0470588235294 0.0470588235294
shininess 0.96
emissiveColor 0.0 0.0 0.0
opacity 1.0
translucency 0.0
shadeless False
wireframe False
transparent True
alphaToCoverage True
backfaceCull False
depthless False
autoBlendSkin False
castShadows True
receiveShadows True
diffuseTexture diffuse_texture.png
bumpmapTexture bumpmap.png
bumpmapIntensity 1.0
normalmapTexture normalmap.png
normalmapIntensity 1.0
displacementmapTexture norm_displacement.png
displacementmapIntensity 1.0
specularmapTexture specular.png
specularmapIntensity 1.0
transparencymapTexture alpha.png
transparencymapIntensity 1.0
aomapTexture ambient_occlusion_map.png
aomapIntensity 1.0
# Sub-surface scattering parameters
sssEnabled True
sssRScale 5.0
sssGScale 2.5
sssBScale 1.0
shader shaders/glsl/litsphere
shaderParam litsphereTexture litspheres/lit_hair.png
shaderConfig ambientOcclusion True
shaderConfig normal False
shaderConfig bump True
shaderConfig displacement False
shaderConfig vertexColors True
shaderConfig spec True
shaderConfig transparency True
shaderConfig diffuse True
shaderDefine ALPHA_MAP
uvMap alt_uv_coords.mhuv
This is another example, this time a real one. It is the X-ray material, used for example when showing the skeleton:
# Material definition for XrayMaterial
name XrayMaterial
ambientColor 0.1 0.1 0.1
diffuseColor 1.0 1.0 1.0
specularColor 0.3 0.3 0.3
shininess 0.1
emissiveColor 0.0 0.0 0.0
opacity 0.1
translucency 0.0
transparent True
backfaceCull True
shadeless False
wireframe False
depthless False
shader data/shaders/glsl/xray
shaderConfig diffuse False
shaderConfig transparency False
shaderConfig normal False
shaderConfig bump False
shaderConfig spec False
shaderConfig vertexColors False
shaderConfig displacement False
=== Explanation of material properties ===
==== Standard settings ====
''ambientColor'', ''diffuseColor'' ''specularColor'', ''emissiveColor'' are the standard colors
as used in the [https://en.wikipedia.org/wiki/Rendering_equation rendering equation]
or in standard OpenGL.
Their corresponding intensities are simple scalars with a value between 0 and 1 and are multiplied
with the colors to dim them. Default these intensities are set to 1.
Colors are described as three floating point numbers, representing R G B, or red-green-blue
values. 1 is the maximum, 0 the minimum.
For example 1.0 0 0 means fully red, 1 1 1 means full white, 0 0 0 is full black.
0.5 0.5 0.5 will give you a grey middle color.
''opacity'' determines the opaqueness of the object (alpha channel), with 1 being fully
opaque, and 0 being fully transparent (invisible)
''translucency'' is something that came from Blender but is unused
''shininess'' or specular hardness is a number between 0 and 1 determining the shininess constant of the [https://en.wikipedia.org/wiki/Phong_reflection_model phong shading model].
==== Texture maps ====
Various standard texture maps can be defined on the material, like ''diffuseTexture'', ''bumpmapTexture'', ''normalmapTexture'', ''displacementmapTexture'', ''specularmapTexture'', ''transparencymapTexture'', ''aomapTexture''. Each of these also has an associated intensity value, which is a scalar from 0 to 1 multiplied with the pixel value of that texture (unless a specific shader implements it differently).
These textures only have an effect if their corresponding shaderConfig feature has been defined (see the table in Shaders section).
==== Render states ====
When ''wireframe'' is set to True, the model is drawn in wireframe mode. In this mode,
most material properties have no effect, but you can enable the vertexColors shaderConfig
to be able to change the color of the mesh using vertex colors (this requires
access to the mesh programatically, obj meshes do not support vertex colors).
This feature is used in some parts of MakeHuman, for example viewing bone weights
in the skeleton debug plugin.
Set ''shadeless'' to True to disable shading, eg. the object is not affected by lights.
Configured shader will have no effect
Set ''transparent'' to True to enable transparency rendering (usually needed when opacity is < 1)
In itself this does not change the visual appearance of the model, but this setting
should be enabled if your texture contains (semi-) transparent parts. This setting
instructs the renderer to disable depth buffer writes (glDepthMask(false))
and enables alpha testing and blending so that transparent surfaces can overlap and to allow [https://www.opengl.org/wiki/Transparency_Sorting alpha blending].
''alphaToCoverage'' Applies when transparent is set to True (otherwise does nothing).
It requires that your GPU supports alpha to coverage (A2C) rendering. It enables
the A2C feature which provides face order-independent alpha rendering. This works
very well for complex transparent meshes, like hair. At the cost of a slightly
dithered look, it solves all the problems with face sorting that are usually
involved in rendering semi transparency.
(This feature disables anti-aliasing for this object because the multisample buffer is used for alpha blending instead)
Set ''backfaceCull'' to False to disable backface culling (render the back side of polygons)
By default, and in most cases, this should be set to True, but can be useful
in some cases (for example, we disable back-face culling for the eyebrow materials).
Set ''depthless'' to True for depthless rendering (object is not occluded and does not occlude other objects).
This disables OpenGL depth writes and tests. In practice, this makes object faces that should be occluded shine through others.
''castShadows'' determines whether the object casts shadows on other objects.
''receiveShadows'' determines whether the object receives shadows from other objects.
For some features, like eyes, you probably want to disable shadow receiving.
Since MakeHuman does not (yet) implement shadow casting, the shadow settings have
no effect in MakeHuman, but they do export to other engines.
Play around with these settings in the Material Editor plugin to see their effect, that's the best advise I can give you.
The best way to find out which settings work for an asset, is simply to try them out.
==== autoBlendSkin ====
If True MakeHuman will set the diffuse color based on the ethnix mix set for the character.
Any diffuseColor set in the material file will be overridden by this.
Also the shaderParam litsphereTexture will be automatically set to a dynamically blended litsphere texture,
which is a mix of three litsphere materials (afro, asian, caucasian) depending on the ethnic mix of the character.
This latter is specifically intended to be used with the litsphere shader, and it is what you see as default material when you start MakeHuman
This overrides whatever shaderParam litsphereTexture was set in the material file.
This setting is intended only for skin materials.
==== shaderParam ====
Define a custom shader parameter (uniform), which might be required for some non-standard shaders.
For example, the litsphere shader takes an extra type of texture map as input, a so-called litsphere texture.
This generic system of mapping shader uniforms allows you to create specialised shaders that take
new and different kind of inputs, and allow configuring the shader from the material file.
shaderParam can be a list of floating point numbers, in which case it will be interpreted as a vector,
or it can be a file path, in which case it is assumed to be an image path.
Internally in MakeHuman, shaderParams can also be assigned a texture object, which allows
for dynamically passing a texture that is in memory, but perhaps not stored on disk.
Another example of a custom shaderParam is the X-ray shader that defines an edgefalloff
and intensity uniform parameter.
These could be changed from the material file with
shaderParam edgefalloff 0.8
shaderParam intensity 0.77
==== shaderDefine ====
shaderDefines allow enabling or disabling custom shading techniques in shaders.
These allow to define new shading techniques, apart from the pre-defined ones
such as normal mapping, specularity mapping, ...
It's a generic system that allows new shaders to be added and configured from
the material file, or from the material editor (which nicely auto-detects these
features in the shader and shows a set of checkboxes for them).
==== uvMap ====
Load custom UV coordinates on the mesh to use this material. This makes the material
completely dependent on the mesh it is used with.
Takes a path to a .mhuv file, which is actually just an .obj file, where the vertex
positions can be deleted (they can remain in there, but they are ignored).
Requirement for it to work is that the vertex order is the same as that of the
mesh obj.
An example uv map for the basemesh can be found in data/uvs/a7.mhuv, which is a
set of UV coordinates compatible with the old Alpha 7 mesh, allowing you to load
A7 textures on the new basemesh used in MakeHuman v1+
==== SSS properties ====
These are the so-called sub-surface scattering shading properties, currently only used by the built-in offline renderer. They were decided on while trying to figure out the most generic way to define SSS shading properties, so that they could easily be translated into SSS properties for a different renderer (as no single renderer that I know of has a standard for these). It's uncertain whether the format we have landed on currently is the best, or whether this will remain permanently or is still likely to change.
This setting should currently be considered experimental.
The properties are ''sssEnabled'', ''sssRScale'', ''sssGScale'' and ''sssBScale''.
=== Basic pointers for creating materials ===
* You can test the influence of material properties using the Material Editor plugin (which you can enable in Settings > Plugins, then restart)
* Using a diffuse texture? You probably want to set the diffuse color to 1 1 1 (pure white)
* Never set ambient color too bright, or your model will look completely white. 0.1 0.1 0.1 is a good value to start from.
* Emissive is usually set to black, unless you want a radioactive character
* Don't know how to define a color in numbers? Try the Material Editor plugin
* Higher shininess means smaller and sharper highlight, lower shininess makes the highlight larger and more blurred
* Reduce specular color to reduce the specularity, make it black for a rough and non shiny object
* opacity 1 means fully opaque, 0 means fully transparent (invisible)
* Do your (diffuse) textures contain transparency? Do not forget to enable transparency! Perhaps try if alpha-to-coverage improves the situation (especially for hair!).
=== Scene definition ===
To complete the rendering equation, you also need to define the scene. To be
more precise, the positions, types, color and intensities of the lights need to
be set. By default, MakeHuman only has a default scene with only one pointlight.
In MakeHuman, lights do not move if the camera is moved, or rather, the model is
rotated while the camera and lights remain static. So light positions are defined
relative to the camera position.
MakeHuman scenes are defined in .mhscene files, which are binary py-pickled files.
They can be created or modified using the Scene Editor plugin (can be enabled in
settings) and can be selected from the Scene library in the Render tab.
Fixed function shading pipeline supports up to 8 lights, specific light support
depends on the shader used, some shaders only support a certain type or number
of lights, other ignore the chosen scene altogether (for example the litsphere
shader that uses pre-baked environment lighting).
The built-in offline renderer also uses the specified scene.
Scenes are not exported along with the model.
=== Shaders ===
The most powerful functionality of the material system is unlocked when using
shaders.
MakeHuman shaders are intended to be written in a modular way, so that shading
features can be enabled or disabled using the material format. Examples of such
features are bump mapping, normal mapping, specular mapping, diffuse texturing,
ambient occlusion and displacement mapping.
MakeHuman includes a basic introspection function that allows it to determine
what features a shader supports. It accomplishes this by looking for #ifdef and #ifndef statements. If a shader supports a certain technique, it is supposed to
encapsulate this in #ifdef NORMALMAP ... #else ... #endif statements.
The idea is that of an [http://www.gamedev.net/topic/659145-what-is-a-uber-shader/ über shader], where performance is optimized by removing any dynamic branches (if then that) from shader code, and instead managing the features using defines and pre-processor branches.
When a different branch in the shader is activated, the shader code is recompiled entirely.
Instead of having different shaders for different features (eg. a specific normalmap shader to be able to do normal mapping), one general shader could be used instead, and normal mapping can simply be enabled or disabled from the material properties, without being required to swap shaders (a good default uber shader is [http://bugtracker.makehumancommunity.org/issues/160 still to be created for MakeHuman] Any help with this is welcome of course!).
The material system manages these shading functions by defining specific pre-processor
keywords when their corresponding shaderConfig property is set to true.
Shaders are recompiled when needed and stored in a shader cache for efficiency.
MakeHuman passes scene and material information to the shaders by certain uniform
parameters. Depending on which shaderConfig properties were enabled, additional
uniforms could be exposed to the shader. The shader does not have to declare all
these uniforms, however. MakeHuman binds only those uniforms present in the shader
if they have the right corresponding names.
Other properties are available from the OpenGL built-in uniforms or properties
(usually starting with gl_).
The following table lists these defines and the shaderConfig properties in the
material they relate to:
{| class="wikitable"
|-
! feature name
! shaderConfig
! shader #DEFINE
! exposed uniform parameters if enabled
! comment
|-
|default (always enabled)
|
|
|vec3 ambient, vec4 diffuse, vec4 specular, vec3 emissive
|diffuse and specular are 4-component color values, diffuse=[rgba] with a=opacity and specular=[rgbs] with s=shininess
|-
|Vertex coloring
|vertexColors
|VERTEX_COLOR
|
|Derive diffuse color from vertex colors
|-
|Diffuse texturing
|diffuse
|DIFFUSE
|diffuseTexture
|
|-
|Bump mapping
|bump
|BUMPMAP
|bumpmapTexture, bumpmapIntensity
|disabled if normal mapping is enabled (restriction might be lifted in the future)
|-
|Normal mapping
|normal
|NORMALMAP
|normalmapTexture, normalmapIntensity
|
|-
|Displacement mapping
|displacement
|DISPLACEMENT
|displacementmapTexture, displacementmapIntensity
|
|-
|Specularity mapping
|spec
|SPECULARMAP
|specularmapTexture, specularmapIntensity
|
|-
|Transpareny (alpha) maps
|transparency
|TRANSPARENCYMAP
|transparencymapTexture, transparencymapIntensity
|
|-
|Ambient occlusion maps
|ambientOcclusion
|AOMAP
|aomapTexture, aomapIntensity
|
|}
Additionally, MakeHuman exposes the vertex tangent as a vertex property, which
can be accessed by the shader.
attribute vec4 tangent
Currently, [http://www.terathon.com/code/tangent.html Lengyel’s Method] for tangent calculation
is used, but plans are to change this to [http://bugtracker.makehumancommunity.org/issues/87 mikktspace] in the future.
Shader examples for MakeHuman can be found here:
* Litsphere shader: [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/litsphere_vertex_shader.txt vertex][https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/litsphere_fragment_shader.txt fragment]
* Phong shader: [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/phong_vertex_shader.txt vertex][https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/phong_fragment_shader.txt fragment]
* Normal map shader (wip): [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/normalmap_vertex_shader.txt vertex] [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/normalmap_fragment_shader.txt fragment]
* X-ray shader: [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/xray_vertex_shader.txt vertex][https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/xray_fragment_shader.txt fragment]
==== Custom shader properties ====
Shaders can use non-standard #DEFINEs to allow enabling or disabling non-standard shading features, other than the ones that were foreseen in the material format (such as normal mapping, ...)
To add new ones, simply add #ifdef SOME_FEATURE statements to your shader code, the material system will automatically detect them.
From the material, you can enable them with
shaderDefine SOME_FEATURE
If not defined, the feature is assumed to be switched off.
A custom shader can also add new parameters to tweak. For example a color value or intensity value that influences the shading.
To do this, the shader author can simply add new uniform variables to their shader code. It is recommended to specify a default
value for them, so that if the material file does not explicitly mention them, they receive a sensible default value.
Example: the X-ray shader adds an edge-fallof property:
uniform float edgefalloff = 1.0;
From the material file, you can influence this value with:
shaderParam edgefalloff 0.5
shaderParam supports lists of float values (one or multiple, divided by spaces), eg
shaderParam edgecolor 0.7 0.3 0.4
or textures, by specifying a path to an image file (in which case they are assumed to be Sampler2D type)
Additionally, from within MakeHuman, they can be passed a Texture object, to dynamically pass them a texture that resides in memory, without the need for the texture to be stored in a file on disk.
This allows to dynamically alter the texture and have it displayed directly. MakeHuman takes care of caching the texture and updating it when it is modified.
For example, the auto skin tone blending of the litsphere texture is implemented in this way.
The material system will automatically detect these custom uniform parameters declared in the shader, for example the material editor plugin will present them in the GUI.
These features make for a general and extensible shader system.
==== Dynamic shader configuration in Material Editor plugin ====
Take as example this screenshot, which shows how the X-Ray shader, mentioned earlier, can be configured.
[[File:Mh_material_editor.png]]
In the shader selector, xray was chosen. This opens up a few new options to configure.
Notice that on the top right the custom shader uniforms edgefalloff and intensity that we mentioned earlier were automatically detected. The shader author had to do nothing else than to define these uniform parameters in his shader code, and define a sensible default for them. A material using this shader can customize these properties using the shaderParam option, which can be altered visually in the top right of the material editor. Changes in the material editor take effect immediately, so you can directly preview your changes.
Also notice in the bottom left that the material editor shows the available shaderConfig parameters. Some of these are greyed out, which means they are not available, or the condition for them is not met (for example, to be able to enable normal mapping, you need to choose a normal map texture on the right panel. If the normal map property is greyed out on the right side, then this particular shader does not support normal mapping).
Let's take a look at a second example.
[[File:Mh_material_editor2.png]]
Here we see the litsphere shader. This shader is different from the other shaders in the sense that it completely ignores the lighting of the scene, and instead lights the model with a texture containing pre-baked lighting conditions, a so-called [http://www.cs.utah.edu/~wmartin/pubs/LitSphere.pdf litsphere] texture.
This shader, being so different, requires a different sort of input, a custom input texture: the litsphere texture.
The shader author simply defined this uniform parameter in his shader code, and as you can see in the top right corner, the material editor shows a texture selector for this property. Using it, the user can select a litsphere texture to feed to the shader.
The litsphere shader also has two different alternative techniques that can be enabled or disabled by the user.
These two features, which can be enabled using shaderDefine statements in the material file, are automatically detected by the material system, and shown in the bottom left of the material editor. Enabling them is as simple as checking the checkbox.
One of these custom shading features is alpha mapping (defined by ALPHA_MAP), which allows to sample alpha transparency from an additional texture.
For this texture, an additional uniform property, named alphaTexture was declared in the shader, but it was written down in a way that it is only declared if the ALPHA_MAP token is defined.
In the shader code:
#ifdef ALPHA_MAP
uniform sampler2D alphaTexture;
#endif
If you check the ALPHA_MAP_checkbox, you will notice that on the top right, an extra texture selector will appear.
These examples show how the material editor can help exploring the different settings that are available in shaders.
987c841bb77722047fa6da6149ca733c85d0273f
1278
1209
2017-01-09T00:15:50Z
Duststorm
19
/* Targets and modifiers */
wikitext
text/x-wiki
== Vertex weights ==
With vertex weights we intend a weighted mapping of vertices of a mesh to a bone of a skeleton. The weight is a value between 0 and 1, the sum of these weights for each vertex should be normalized, which means they should sum to 1 (note: no euclidian distance, just simple addition of all weights). A weight map in MakeHuman is expressed as a bone name (becomes a bone index internally, using the index of the bone in a breadth-first list relative to skeleton structure), a vertex name and a floating point weight between 0 and 1. This weighted vertex to bone mapping is used for skinning (posing and animating, using vertex skinning, smooth skinning or linear blend skinning algorithm). For the skinning algorithm to work correctly it’s required that the weights are always normalized, otherwise you will see vertices move out of place disproportionally (though the weight loading code in MakeHuman ensures that this normalization always happens, so this is not a concern to the artist that defines the weights). The vertex weights can be exported to external tools as well using formats such as collada (DAE), FBX, Ogre3D meshes or MD5 quake meshes.
=== Vertex weights and skeletons ===
Vertex weights are defined for the default “master” skeleton or rig. They are defined in a json file with jsonw extension. They link each vertex of the basemesh including helpers to a named bone of this master rig, together with a certain weight.
The weights loader automatically removes doubles and normalizes the weights (so that they sum to 1). It also reports what the maximum number of bone weights per vertex is, additionally it allows compiling the weights to a reduced set with n number of bone weights, and automatically renormalizes those weights so they, again, sum to 1.
When loading weights, any vertex that receives no weighting is assigned to the root bone, as this is needed for skinning to prevent all those vertices jumping to the origin (0*pos == 0).
Alternative skeletons can define their own weights, by referencing a weights file just like the master rig, or they can choose to derive their weights from the master rig, through so called reference bone mappings. Skeletons will derive their weights from the master rig if they do not specify a weights file explicitly. Custom vertex weights in alternative rigs override those defined on the master rig, except in the case where a proxy defines its own vertex weights. See section Vertex weights for proxies for more details.
=== Reference bones for vertex weights and poses ===
Reference bones are defined on alternative rigs, they are a list of names of bones contained in the master rig. Every bone of an alternative rig can have such a list of reference bones. An alternative rig can also omit these references if it uses the same name as bones in the master rig, in which the mapping is implicit. Having a list of bone references always overrides the implicit mapping. Reference bone mappings are required for two purposes.
They are used for mapping poses defined on the master rig to other rigs. All poses are defined as BVH files that pose the master rig, so they reference only the bone names of the master rig. Poses are applied to all other rigs by using the reference bone mapping: all the rotations that the pose applies to the referenced bones are combined (in the order in which the references were specified -- note: rotations are NOT commutative) and are applied to the alternative rig bone.
Reference bone mappings can also be used for determining vertex weights of custom rigs. If the alternative rig does not explicitly define its own vertex weights, the mapping of reference bones is used to infere a set of bone weights for each bone: All the weights of the reference bones on the master rig (with the weights definition of the default/master rig) are combined and apply to the bone of the alternative rig. Doubles are merged, and weights renormalized. Any vertex that is not weighted will be assigned to the root bone. Watch for messages in the log to verify this.
=== Vertex weights for proxies ===
Generally proxies are mapped to basemesh geometry, that means either to the body or to helpers, or a combination of both (though this is unusual). Proxies derive their vertex weights from the vertices on the basemesh on which they are fitted. A proxy defines its fitting as a 3d offset from one or three vertices on the basemesh, allowing it to deform as the human deforms. This mapping is used to transfer the vertex weights from basemesh to proxy: a proxy vertex referencing three basemesh vertices gets the bone weights of those three vertices. Doubles are merged and the weights are normalized, so that the influence factors are averaged or smoothed. In this case the weights applied to proxies are always those defined on the skeleton: either the weights explicitly defined on the skeleton, or the weights obtained from remapping the master rig weights to this skeleton using the reference bone mapping mentioned in the previous sections. There is an exception to this, which is explained in the next paragraph.
A proxy can explicitly define its own vertex (to bone) weights. In this case it overrides the weights that would be obtained through the proxy mapping, and replaces them by its own custom definition of weights. These vertex weights are always defined to reference the bones of the master rig (default skeleton), so they need to be remapped to other skeletons using reference bone mapping. This also means that the custom weights of a proxy override any custom weights mapping that might be loaded with an alternative rig (but only for that proxy item). Custom proxy weights should be avoided if possible, but are in some cases required, eg. for properly rigging shoes which are rigidly fitted to feet, or an alternative topology which defines very accurate rigging on the face. The general advice for custom rigs is therefore to stay as close to the master rig as possible, reusing as much bones identically as possible, to achieve the best results for proxies with custom weights.
In case of custom weight, the mhclo file must contain a line to indicate the weight file to use, using the keyword “vertexboneweights_file”, with the syntax:
vertexboneweights_file filename.jsonw
== Targets and modifiers ==
MakeHuman applies targets on the human by means of modifiers. Such a modifier has a value (usually between [0, 1] or [-1, 1]) that determines the effect that it will have on the human mesh. A modifier can control one or more targets and it will apply the mixed sum of those targeys on the mesh. Some modifiers.
=== Organization of targets ===
To make sure targets are linked to the right modifier, or to make managing targets easier, a certain discipline has to be observed in managing them. Targets are ASCII files in the data/targets or data/custom folder (in either the program or user folder) and they haave file extension of .target.
The file name and folder that targets are in implicitly determine their group name. A group is identified by a sequence of tags or tokens, which are taken from the file and folder name of each target. These tokens are delimited by “-” symbols, to include multiple tokens in a single file or folder name. The lib/targets.py module takes care of loading all the names of the available targets and assembles them into groups. All targets with the same tokens end up in the same group. This allows easy querying and requesting of targets. The creator is pretty much free to decide what groups to create for their targets. By passing the name of the target group to a modifier, they can make sure that modifier controls the targets belonging to this group. It does not matter whether you use folders or - delimited file names for creating groups.
An example:
data/targets/cartoon/eyes-large.target is categorized in group (cartoon, eyes, large)
data/targets/cartoon-eyes-large.target is also categorized in group (cartoon, eyes, large)
Most simple modifiers work by specifying a group (for example cartoon-eyes) and a set of two tokens to append at the end, depending on the position of the modifier slider (eg. small, large which would allow controlling the targets cartoon-eyes-small and cartoon-eyes-large by moving the slider to the left or right).
=== Reserved group tokens ===
Some of the tokens in the file or foldername of targets are linked to values that variables of the human can have. Such variables are for example age, weight, muscle, gender.
This table lists all the reserved tokens, and the variables they belong to.
{| class="wikitable"
|-
! Reserved token (value)
! Variable
|-
| female,male
| gender
|-
| baby, child, young, old
| age
|-
| african, caucasian, asian
| race
|-
| minmuscle, averagemuscle, maxmuscle
| muscle
|-
| minweight, averageweight, maxweight
| weight
|-
| minheight, averageheight, maxheight
| height
|-
| mincup, averagecup, maxcup
| breastsize
|-
| minfirmness, averagefirmness, maxfirmness
| breastfirmness
|-
| uncommonproportions, regularproportions, idealproportions
| bodyproportion
|}
Note that it is not a good idea to use simply “max” or “min” as a reserved token name, because they need to be unique (otherwise it would not be possible to determine whether they are a minimum for, for example, weight or height). These reserved tokens are declared in the lib/targets.py module. The variable can be set and queried on the human object, for example human.getAge(), human.setMuscle(0.7), human.getProportion().
The reserved tokens are NOT included in the group name, so you should at least include some other, non-reserved tokens in the file or folder names to assign your target to some meaningful group. The inclusion of these reserved tokens in your target names or paths makes it convenient to create macro modifiers.
=== Macro targets and modifiers ===
Macro modifiers are modifiers whose effect (the combination of targets they apply on the human) is influenced by macro variables set on the human (eg. human.set/getAge()). Therefore, macro modifiers often control a large set of targets (20 or even more). It’s also common for multiple modifiers to control exactly the same set of targets, for example the standard age/gender/race sliders all control the set of targets in the ‘macrodetails’ group. Each slider modifies a different variable (eg. human.setAge()) controlling the set of targets, and then reapplies a combination of the same set of targets on the human.
=== Macro modifier dependencies ===
There are other macro modifiers that can also depend on the same variables age, gender, race that is controlled by the main macro modifiers, as discussed above. For example the macro modifiers that influence the weight and muscle mass of the human, controls the targets group “macrodetails-universal”, the universal token is added by prepending “universal-” to all the file names of related targets, which all reside in the folder “macrodetails” (thus macrodetails-universal ends up being the group name). They could have been included all in the “macrodetails” group, but are kept separate for performance reasons, so that the “macrodetails” group of targets (which already contains some 40 targets or so) can be applied in realtime while moving the slider.
Of course a change in the variable that these age/race/gender modifiers control will have an effect on the macrodetails-universal modifiers (because they control targets that depend on age -- their targets include -young- -old- etc. tokens in their filenames). This means there are inter-dependencies between macro modifiers, if one is updated, another one that depends on it should be refreshed. These dependencies can be desceibed as follows: one macro modifier controls exactly one macro variable (such as age). It (or rather, the targets it controls) can however depend on multiple macro variables. The trivial case is where a macro modifier only depends on the macro variable that it controls itself. The tracking of these dependencies and deciding which modifiers must be updated when another is changed happens automatically. Dependencies are automatically tracked as soon as you add a modifier to the human (by calling modifier.setHuman(human)). To make this enhance performance in real-time, the propagation of updates to modifiers is limited while sliders are dragged (see realtimeDependencyUpdates in apps/humanmodifier.py).
As you might have understood, creating modifiers that depend on human variables is almost automatic. The only thing you need to do is create some targets that resolve to the same group name, add variations for all the macro variables you want and add the proper reserved tokens to the file or folder name (refer to the left column in the table above), and create a modifier with this group name. Once added to the human, the dependencies are tracked automatically.
=== Organization of modifiers ===
We already discussed how we organized targets in groups, to make it easier to connect them to a modifier. Now we will discuss how we can do a similar thing for modifiers.
Modifiers provide an easy way to manage targets. They allow reducing many of hundreds of targets to a more manageable number of controllable properties. But even then, we still have about 100 modifiers, which is still quite a lot. Therefore we group them in groups of categories, much like we do in the GUI. This makes it easy to get a grouped overview of all modifiers when using an alternative interface, think of command line or scripting. The way in which you declare the group and other properties of a modifier determines what target groups it gets its targets from.
Modifiers are declared with a group name, some intermediary “target name” and a number of tail tokens (2 or 3 usually, e.g., min/max). The group of targets controlled by these modifiers is composed as: groupname-targets_name-tail.
Macro modifiers are declared with a group name, and a controlled variable. The groupname must be the same groupname of the targets they control.
=== Declarative modifiers ===
Instead of hard coding what modifiers you want to instantiate, MakeHuman offers a data-based format to declare what modifiers should be created, and how they should be shown in a user interface with sliders.
A full declaration requires '''three files''', all stored in data/modifiers. The '''first file''' is the declaration of the modifiers (e.g., modeling_modifiers.json). This format lists a modifier group name, and all the modifiers with their macro variable (if they are macro modifiers) or target name and 2 or 3 (if they are a modifier with a center point) tail tokens.
The '''second file''' adds a description to the modifiers declared in the first file. It basically contains a key-value set, referencing the modifier name, and a textual description of what the modifier controls. A modifier name is constructed as follows: group/targets_name-all|the|tails and for a macro modifier: group/variable.
The '''third file''' defines how these modifiers should be shown in the user interface as sliders. It lists a set of categories, and the sliders to show in them, and how their values have to be saved in a mhm file (mainly a feature for legacy compatibility).
=== Your own plugin with modifiers, sliders and targets ===
Using the declarative data format described in the section above, it’s really simple. Have a look at the plugin plugins/0_modeling_0_modifiers.py. Notice it’s barely 5 lines of code. Creating your own modeling plugin is as simple as that, pointing it to your own modifier data files.
=== Binary targets ===
Because loading these ASCII target files, and iterating all target files and folders can be slow (especially on windows) in build versions, we compile all targets in the data/targets system folder into a single binary file, that furthermore acts exactly the same as multiple target files. The binary targets file is stored in the system data/ folder and is called targets.npz, it is created by running the compile_targets.py script, which is also automatically run in the build_prepare.py build routine. The file structure of the targets files is maintained in this binary file so that targets can be loaded from it in the same way as you would do with regular files. A change in the .target files, or newly added target files allow a recompilation of the targets npz file before the change is applied.
=== Additional information ===
Some more documentation can be found in this bug report: http://bugtracker.makehumancommunity.org/issues/1083
== Proxy format ==
A proxy is a fitting of an arbitrary mesh (for example clothes or a hairstyle) to the basemesh. A proxy asset is distributed as a mesh file together with this fitting file (what we call the proxy file), allowing this mesh to be fitted on different modeling variations of the human within MakeHuman.
=== v1.0 format ===
The 1.0 format got introduced in the v1.0 release of MakeHuman, but was already present in the Alpha 7 (A7) release. The format got reworked a bit for 1.0, however.
==== Example ====
This is an excerpt from the fedora distributed with MakeHuman
# Exported from MakeClothes (TM)
# author Jonas Hauquier
# license AGPL3 (see also http://www.makehuman.org/node/320)
# homepage http://www.makehuman.org/
uuid 566dbd52-71d1-4d76-a799-0474a5a384db
basemesh hm08
tag Hats
name fedora
obj_file fedora.obj
x_scale 5399 11998 1.4800
z_scale 962 5320 1.9221
y_scale 791 881 2.3298
z_depth 50
material materials/fedora.mhmat
verts 0
251 5243 5244 0.60391 0.28706 0.10903 -0.00245 0.01323 0.03373
7020 11853 11852 0.53311 0.29591 0.17097 0.00529 0.01134 0.03388
7678 7000 7707 0.22571 0.34923 0.42506 0.00946 0.03331 0.04954
984 983 1015 0.17322 0.18383 0.64295 -0.00575 0.03634 0.05443
1014 226 982 0.12607 0.67880 0.19513 -0.00934 0.03289 0.04891
250 5245 5232 0.54148 0.48285 -0.02433 -0.01273 0.01129 0.03202
7746 7712 12153 0.16168 0.32394 0.51438 0.02696 0.11561 0.09667
5556 5554 1013 -0.03554 0.63140 0.40413 -0.01650 0.11949 0.10646
5560 5556 1020 0.34178 0.11896 0.53926 -0.03442 0.11513 0.09756
1013 7712 7721 0.24117 0.40913 0.34971 0.03897 0.20473 0.13559
1013 882 1029 0.71875 0.41604 -0.13479 -0.02631 0.22391 0.13840
1029 1020 1013 0.36342 0.60536 0.03123 -0.03890 0.20439 0.13536
7712 7721 882 0.21674 0.67896 0.10430 0.02804 0.23763 0.15510
1013 882 1029 0.30269 0.87853 -0.18122 -0.02994 0.25488 0.15754
1029 1020 1013 0.79483 0.03879 0.16638 -0.04433 0.23290 0.15424
5370 5368 969 -0.08854 0.29827 0.79027 -0.01789 0.14173 -0.15713
11971 7713 969 0.28241 0.33962 0.37797 0.01910 0.14921 -0.16563
11971 7713 969 0.05967 0.69236 0.24796 0.01670 0.13045 -0.14480
5370 5368 969 -0.07249 0.07305 0.99945 -0.01517 0.12017 -0.13323
969 1021 5370 0.20926 0.73057 0.06018 -0.01674 0.13078 -0.14517
969 1021 5370 0.33927 0.37782 0.28291 -0.01914 0.14955 -0.16600
5379 969 7713 -0.00113 0.07709 0.92403 0.01192 0.06520 -0.14994
1021 969 5379 -0.05590 0.97961 0.07629 -0.01124 0.06148 -0.14138
1021 969 5379 0.96289 0.03946 -0.00235 -0.01195 0.06537 -0.15033
11982 11981 7713 0.14728 0.42350 0.42922 0.01740 0.04655 -0.11033
1021 969 5379 -0.03656 0.34361 0.69295 -0.00834 0.04564 -0.10495
1021 5381 5382 0.43027 0.37607 0.19367 -0.01752 0.04687 -0.11110
11981 11982 7738 0.30937 0.48274 0.20789 0.00929 0.00889 -0.07280
5379 962 1022 0.56542 0.43776 -0.00318 -0.00327 0.01206 -0.08469
The rest of the file is very similar, it continues listing vertex fittings to the basemesh.
==== Vertex assignments ====
The format contains matchings in the following format:
vIdx1 vIdx2 vIdx3 w1 w2 w3 d1 d2 d3
vIdx is an index of a vertex on the basemesh
w is a weight of the corresponding vertex
d1,d2,d3 are optional (default to 0) and defines an offset
The format contains one such lines for every vertex in the proxy mesh, the order of the lines is the same as the order of vertices in the proxy mesh.
The format also supports an alternative fitting, referencing exactly one basemesh vertex, which is used for exact fitting: the proxy mesh vertex is placed in the exact same location as the basemesh vertex it is associated with.
vIdx
The file format allows mixing these two types of fittings on a per-vertex basis.
==== Properties ====
Every proxy should have a unique uuid (which can be generated using the python uuid module using uuid.uuid4()), a name, description, author and license information.
One or multiple tags can be added, each on a new line prepended with "tag".
A proxy references a material file and an OBJ mesh.
z_depth determines the rendering priority of the object (important for transparency) and the layer of clothing. It is used by face masking to determine which piece of clothing masks another.
The scale parameters define a bounding box referencing vertices on the human between which the proxy should be scaled. They are modified in makeclothes by selecting a clothing part.
=== v1.2 format ===
Starting from v1.2, a new algorithm for handling proxies is introduced, based on Manuel Bastioni's Lab experiments.
The new format uses a local normal space instead of global coordinates, making it more stable, even across different poses. It is also a lot easier for an artist to create new proxies, as it requires only one button press, instead of having to deal with vertex groups.
Future MakeHuman versions will contain backwards compatibility support for v1.0 proxies, but the new format is recommended for creation of new content.
The layout of this format is largely the same as the old format, with a version parameter specifying that this file should be interpreted as a new style proxy.
==== Example ====
# Exported from MakeClothes (TM)
# author Jonas Hauquier
# license AGPL3 (see also http://www.makehuman.org/node/320)
# homepage http://www.makehuman.org/
uuid 566dbd52-71d1-4d76-a799-0474a5a384db
basemesh hm08
tag Hats
version 120
name fedora
obj_file fedora.obj
z_depth 50
material materials/fedora.mhmat
verts 0
vIdx1 vIdx2 vIdx3 vIdx4 dx dy dz
It looks a lot like the v1.0 format, only the scale is no longer needed, and the vertex assignments have a new format.
The "version 120" is required to indicate that this file should be interpreted to use the new proxy fitting algorithm.
vIdxi references the vertices of a polygon of the basemesh
dx dy dz is the distance (delta) vector between the polygon center and the proxy mesh vertex.
=== Binary proxy ===
Proxies, as well as their meshes, can be compiled into a more compact binary variant that is faster to load and smaller to distribute. MakeHuman will do this automatically for proxies in the home path. Files in the installation path will have to be compiled manually by running the compile_proxies.py and compile_meshes.py scripts. Usually these scripts are ran when a distribution is created, so need not to be repeated by the end user, unless MakeHuman is used from source.
== Material format==
=== Introduction ===
MakeHuman material files have extension .mhmat and are simple ASCII definitions
of the material settings to use for rendering.
These material settings are primarily intended for configuring the material
system within MakeHuman, but they are usually carried out to other software as
well by the exporters.
Not all properties will be supported for all given combinations of shaders, nor
is there a guarantee that the exporters will honor all the properties in these
files.
Every 3D object in MakeHuman has exactly one material attached to it (multiple
materials are not possible, you need separate objects for that). Materials are
used for proxy meshes (clothes, hairs, ...) but also for the skin of the human
itself.
=== The Material System ===
The MakeHuman material system is closely based on the [https://en.wikipedia.org/wiki/Rendering_equation standard rendering equation]
as is used in OpenGL and DirectX forward rendering pipelines. MakeHuman supports
shaders and the material format contains the most commonly used extensions in
real-time rendering. As a consequence of this, users need to be aware of the
implications of setting values such as ambient too bright, or diffuse too dark.
All usual rules about rendering materials apply.
At the highest level, the material supports setting the most basic material
properties, such as diffuse, specular and ambient color. These are supported
both by shaders as well as the fixed function shading pipeline (which is used
when no shader is specified). Fixed function also supports the diffuse texture
option.
At a second level, a shader can be chosen. This refers directly to the filename
of a [https://en.wikipedia.org/wiki/OpenGL_Shading_Language GLSL shader] as found in the data/shaders/glsl folder of MakeHuman.
The selected shader will determine what material options will be available.
At the third level, various additional settings become available, depending on whether or not the
chosen shader has support for these features, such as bump or normal mapping,
ambient occlusion, specular mapping, etc.
For most of these, a texture map and a scalar property between 0 and 1 can be
set, the latter determining the intensity or influence of the effect.
Finally, MakeHuman also contains a built-in offline renderer that supports some
additional properties such as subsurface scattering, for which some special
properties are available.
=== Example ===
This is a full and complete (but fictional) example of a material file for MakeHuman, it shows all the available properties.
# Example MakeHuman Material definition
name Material_name
tag some_tag
tag another_tag
description material description text here
ambientColor 0.11 0.11 0.11
diffuseColor 1.0 1.0 1.0
specularColor 0.0470588235294 0.0470588235294 0.0470588235294
shininess 0.96
emissiveColor 0.0 0.0 0.0
opacity 1.0
translucency 0.0
shadeless False
wireframe False
transparent True
alphaToCoverage True
backfaceCull False
depthless False
autoBlendSkin False
castShadows True
receiveShadows True
diffuseTexture diffuse_texture.png
bumpmapTexture bumpmap.png
bumpmapIntensity 1.0
normalmapTexture normalmap.png
normalmapIntensity 1.0
displacementmapTexture norm_displacement.png
displacementmapIntensity 1.0
specularmapTexture specular.png
specularmapIntensity 1.0
transparencymapTexture alpha.png
transparencymapIntensity 1.0
aomapTexture ambient_occlusion_map.png
aomapIntensity 1.0
# Sub-surface scattering parameters
sssEnabled True
sssRScale 5.0
sssGScale 2.5
sssBScale 1.0
shader shaders/glsl/litsphere
shaderParam litsphereTexture litspheres/lit_hair.png
shaderConfig ambientOcclusion True
shaderConfig normal False
shaderConfig bump True
shaderConfig displacement False
shaderConfig vertexColors True
shaderConfig spec True
shaderConfig transparency True
shaderConfig diffuse True
shaderDefine ALPHA_MAP
uvMap alt_uv_coords.mhuv
This is another example, this time a real one. It is the X-ray material, used for example when showing the skeleton:
# Material definition for XrayMaterial
name XrayMaterial
ambientColor 0.1 0.1 0.1
diffuseColor 1.0 1.0 1.0
specularColor 0.3 0.3 0.3
shininess 0.1
emissiveColor 0.0 0.0 0.0
opacity 0.1
translucency 0.0
transparent True
backfaceCull True
shadeless False
wireframe False
depthless False
shader data/shaders/glsl/xray
shaderConfig diffuse False
shaderConfig transparency False
shaderConfig normal False
shaderConfig bump False
shaderConfig spec False
shaderConfig vertexColors False
shaderConfig displacement False
=== Explanation of material properties ===
==== Standard settings ====
''ambientColor'', ''diffuseColor'' ''specularColor'', ''emissiveColor'' are the standard colors
as used in the [https://en.wikipedia.org/wiki/Rendering_equation rendering equation]
or in standard OpenGL.
Their corresponding intensities are simple scalars with a value between 0 and 1 and are multiplied
with the colors to dim them. Default these intensities are set to 1.
Colors are described as three floating point numbers, representing R G B, or red-green-blue
values. 1 is the maximum, 0 the minimum.
For example 1.0 0 0 means fully red, 1 1 1 means full white, 0 0 0 is full black.
0.5 0.5 0.5 will give you a grey middle color.
''opacity'' determines the opaqueness of the object (alpha channel), with 1 being fully
opaque, and 0 being fully transparent (invisible)
''translucency'' is something that came from Blender but is unused
''shininess'' or specular hardness is a number between 0 and 1 determining the shininess constant of the [https://en.wikipedia.org/wiki/Phong_reflection_model phong shading model].
==== Texture maps ====
Various standard texture maps can be defined on the material, like ''diffuseTexture'', ''bumpmapTexture'', ''normalmapTexture'', ''displacementmapTexture'', ''specularmapTexture'', ''transparencymapTexture'', ''aomapTexture''. Each of these also has an associated intensity value, which is a scalar from 0 to 1 multiplied with the pixel value of that texture (unless a specific shader implements it differently).
These textures only have an effect if their corresponding shaderConfig feature has been defined (see the table in Shaders section).
==== Render states ====
When ''wireframe'' is set to True, the model is drawn in wireframe mode. In this mode,
most material properties have no effect, but you can enable the vertexColors shaderConfig
to be able to change the color of the mesh using vertex colors (this requires
access to the mesh programatically, obj meshes do not support vertex colors).
This feature is used in some parts of MakeHuman, for example viewing bone weights
in the skeleton debug plugin.
Set ''shadeless'' to True to disable shading, eg. the object is not affected by lights.
Configured shader will have no effect
Set ''transparent'' to True to enable transparency rendering (usually needed when opacity is < 1)
In itself this does not change the visual appearance of the model, but this setting
should be enabled if your texture contains (semi-) transparent parts. This setting
instructs the renderer to disable depth buffer writes (glDepthMask(false))
and enables alpha testing and blending so that transparent surfaces can overlap and to allow [https://www.opengl.org/wiki/Transparency_Sorting alpha blending].
''alphaToCoverage'' Applies when transparent is set to True (otherwise does nothing).
It requires that your GPU supports alpha to coverage (A2C) rendering. It enables
the A2C feature which provides face order-independent alpha rendering. This works
very well for complex transparent meshes, like hair. At the cost of a slightly
dithered look, it solves all the problems with face sorting that are usually
involved in rendering semi transparency.
(This feature disables anti-aliasing for this object because the multisample buffer is used for alpha blending instead)
Set ''backfaceCull'' to False to disable backface culling (render the back side of polygons)
By default, and in most cases, this should be set to True, but can be useful
in some cases (for example, we disable back-face culling for the eyebrow materials).
Set ''depthless'' to True for depthless rendering (object is not occluded and does not occlude other objects).
This disables OpenGL depth writes and tests. In practice, this makes object faces that should be occluded shine through others.
''castShadows'' determines whether the object casts shadows on other objects.
''receiveShadows'' determines whether the object receives shadows from other objects.
For some features, like eyes, you probably want to disable shadow receiving.
Since MakeHuman does not (yet) implement shadow casting, the shadow settings have
no effect in MakeHuman, but they do export to other engines.
Play around with these settings in the Material Editor plugin to see their effect, that's the best advise I can give you.
The best way to find out which settings work for an asset, is simply to try them out.
==== autoBlendSkin ====
If True MakeHuman will set the diffuse color based on the ethnix mix set for the character.
Any diffuseColor set in the material file will be overridden by this.
Also the shaderParam litsphereTexture will be automatically set to a dynamically blended litsphere texture,
which is a mix of three litsphere materials (afro, asian, caucasian) depending on the ethnic mix of the character.
This latter is specifically intended to be used with the litsphere shader, and it is what you see as default material when you start MakeHuman
This overrides whatever shaderParam litsphereTexture was set in the material file.
This setting is intended only for skin materials.
==== shaderParam ====
Define a custom shader parameter (uniform), which might be required for some non-standard shaders.
For example, the litsphere shader takes an extra type of texture map as input, a so-called litsphere texture.
This generic system of mapping shader uniforms allows you to create specialised shaders that take
new and different kind of inputs, and allow configuring the shader from the material file.
shaderParam can be a list of floating point numbers, in which case it will be interpreted as a vector,
or it can be a file path, in which case it is assumed to be an image path.
Internally in MakeHuman, shaderParams can also be assigned a texture object, which allows
for dynamically passing a texture that is in memory, but perhaps not stored on disk.
Another example of a custom shaderParam is the X-ray shader that defines an edgefalloff
and intensity uniform parameter.
These could be changed from the material file with
shaderParam edgefalloff 0.8
shaderParam intensity 0.77
==== shaderDefine ====
shaderDefines allow enabling or disabling custom shading techniques in shaders.
These allow to define new shading techniques, apart from the pre-defined ones
such as normal mapping, specularity mapping, ...
It's a generic system that allows new shaders to be added and configured from
the material file, or from the material editor (which nicely auto-detects these
features in the shader and shows a set of checkboxes for them).
==== uvMap ====
Load custom UV coordinates on the mesh to use this material. This makes the material
completely dependent on the mesh it is used with.
Takes a path to a .mhuv file, which is actually just an .obj file, where the vertex
positions can be deleted (they can remain in there, but they are ignored).
Requirement for it to work is that the vertex order is the same as that of the
mesh obj.
An example uv map for the basemesh can be found in data/uvs/a7.mhuv, which is a
set of UV coordinates compatible with the old Alpha 7 mesh, allowing you to load
A7 textures on the new basemesh used in MakeHuman v1+
==== SSS properties ====
These are the so-called sub-surface scattering shading properties, currently only used by the built-in offline renderer. They were decided on while trying to figure out the most generic way to define SSS shading properties, so that they could easily be translated into SSS properties for a different renderer (as no single renderer that I know of has a standard for these). It's uncertain whether the format we have landed on currently is the best, or whether this will remain permanently or is still likely to change.
This setting should currently be considered experimental.
The properties are ''sssEnabled'', ''sssRScale'', ''sssGScale'' and ''sssBScale''.
=== Basic pointers for creating materials ===
* You can test the influence of material properties using the Material Editor plugin (which you can enable in Settings > Plugins, then restart)
* Using a diffuse texture? You probably want to set the diffuse color to 1 1 1 (pure white)
* Never set ambient color too bright, or your model will look completely white. 0.1 0.1 0.1 is a good value to start from.
* Emissive is usually set to black, unless you want a radioactive character
* Don't know how to define a color in numbers? Try the Material Editor plugin
* Higher shininess means smaller and sharper highlight, lower shininess makes the highlight larger and more blurred
* Reduce specular color to reduce the specularity, make it black for a rough and non shiny object
* opacity 1 means fully opaque, 0 means fully transparent (invisible)
* Do your (diffuse) textures contain transparency? Do not forget to enable transparency! Perhaps try if alpha-to-coverage improves the situation (especially for hair!).
=== Scene definition ===
To complete the rendering equation, you also need to define the scene. To be
more precise, the positions, types, color and intensities of the lights need to
be set. By default, MakeHuman only has a default scene with only one pointlight.
In MakeHuman, lights do not move if the camera is moved, or rather, the model is
rotated while the camera and lights remain static. So light positions are defined
relative to the camera position.
MakeHuman scenes are defined in .mhscene files, which are binary py-pickled files.
They can be created or modified using the Scene Editor plugin (can be enabled in
settings) and can be selected from the Scene library in the Render tab.
Fixed function shading pipeline supports up to 8 lights, specific light support
depends on the shader used, some shaders only support a certain type or number
of lights, other ignore the chosen scene altogether (for example the litsphere
shader that uses pre-baked environment lighting).
The built-in offline renderer also uses the specified scene.
Scenes are not exported along with the model.
=== Shaders ===
The most powerful functionality of the material system is unlocked when using
shaders.
MakeHuman shaders are intended to be written in a modular way, so that shading
features can be enabled or disabled using the material format. Examples of such
features are bump mapping, normal mapping, specular mapping, diffuse texturing,
ambient occlusion and displacement mapping.
MakeHuman includes a basic introspection function that allows it to determine
what features a shader supports. It accomplishes this by looking for #ifdef and #ifndef statements. If a shader supports a certain technique, it is supposed to
encapsulate this in #ifdef NORMALMAP ... #else ... #endif statements.
The idea is that of an [http://www.gamedev.net/topic/659145-what-is-a-uber-shader/ über shader], where performance is optimized by removing any dynamic branches (if then that) from shader code, and instead managing the features using defines and pre-processor branches.
When a different branch in the shader is activated, the shader code is recompiled entirely.
Instead of having different shaders for different features (eg. a specific normalmap shader to be able to do normal mapping), one general shader could be used instead, and normal mapping can simply be enabled or disabled from the material properties, without being required to swap shaders (a good default uber shader is [http://bugtracker.makehumancommunity.org/issues/160 still to be created for MakeHuman] Any help with this is welcome of course!).
The material system manages these shading functions by defining specific pre-processor
keywords when their corresponding shaderConfig property is set to true.
Shaders are recompiled when needed and stored in a shader cache for efficiency.
MakeHuman passes scene and material information to the shaders by certain uniform
parameters. Depending on which shaderConfig properties were enabled, additional
uniforms could be exposed to the shader. The shader does not have to declare all
these uniforms, however. MakeHuman binds only those uniforms present in the shader
if they have the right corresponding names.
Other properties are available from the OpenGL built-in uniforms or properties
(usually starting with gl_).
The following table lists these defines and the shaderConfig properties in the
material they relate to:
{| class="wikitable"
|-
! feature name
! shaderConfig
! shader #DEFINE
! exposed uniform parameters if enabled
! comment
|-
|default (always enabled)
|
|
|vec3 ambient, vec4 diffuse, vec4 specular, vec3 emissive
|diffuse and specular are 4-component color values, diffuse=[rgba] with a=opacity and specular=[rgbs] with s=shininess
|-
|Vertex coloring
|vertexColors
|VERTEX_COLOR
|
|Derive diffuse color from vertex colors
|-
|Diffuse texturing
|diffuse
|DIFFUSE
|diffuseTexture
|
|-
|Bump mapping
|bump
|BUMPMAP
|bumpmapTexture, bumpmapIntensity
|disabled if normal mapping is enabled (restriction might be lifted in the future)
|-
|Normal mapping
|normal
|NORMALMAP
|normalmapTexture, normalmapIntensity
|
|-
|Displacement mapping
|displacement
|DISPLACEMENT
|displacementmapTexture, displacementmapIntensity
|
|-
|Specularity mapping
|spec
|SPECULARMAP
|specularmapTexture, specularmapIntensity
|
|-
|Transpareny (alpha) maps
|transparency
|TRANSPARENCYMAP
|transparencymapTexture, transparencymapIntensity
|
|-
|Ambient occlusion maps
|ambientOcclusion
|AOMAP
|aomapTexture, aomapIntensity
|
|}
Additionally, MakeHuman exposes the vertex tangent as a vertex property, which
can be accessed by the shader.
attribute vec4 tangent
Currently, [http://www.terathon.com/code/tangent.html Lengyel’s Method] for tangent calculation
is used, but plans are to change this to [http://bugtracker.makehumancommunity.org/issues/87 mikktspace] in the future.
Shader examples for MakeHuman can be found here:
* Litsphere shader: [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/litsphere_vertex_shader.txt vertex][https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/litsphere_fragment_shader.txt fragment]
* Phong shader: [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/phong_vertex_shader.txt vertex][https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/phong_fragment_shader.txt fragment]
* Normal map shader (wip): [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/normalmap_vertex_shader.txt vertex] [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/normalmap_fragment_shader.txt fragment]
* X-ray shader: [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/xray_vertex_shader.txt vertex][https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/xray_fragment_shader.txt fragment]
==== Custom shader properties ====
Shaders can use non-standard #DEFINEs to allow enabling or disabling non-standard shading features, other than the ones that were foreseen in the material format (such as normal mapping, ...)
To add new ones, simply add #ifdef SOME_FEATURE statements to your shader code, the material system will automatically detect them.
From the material, you can enable them with
shaderDefine SOME_FEATURE
If not defined, the feature is assumed to be switched off.
A custom shader can also add new parameters to tweak. For example a color value or intensity value that influences the shading.
To do this, the shader author can simply add new uniform variables to their shader code. It is recommended to specify a default
value for them, so that if the material file does not explicitly mention them, they receive a sensible default value.
Example: the X-ray shader adds an edge-fallof property:
uniform float edgefalloff = 1.0;
From the material file, you can influence this value with:
shaderParam edgefalloff 0.5
shaderParam supports lists of float values (one or multiple, divided by spaces), eg
shaderParam edgecolor 0.7 0.3 0.4
or textures, by specifying a path to an image file (in which case they are assumed to be Sampler2D type)
Additionally, from within MakeHuman, they can be passed a Texture object, to dynamically pass them a texture that resides in memory, without the need for the texture to be stored in a file on disk.
This allows to dynamically alter the texture and have it displayed directly. MakeHuman takes care of caching the texture and updating it when it is modified.
For example, the auto skin tone blending of the litsphere texture is implemented in this way.
The material system will automatically detect these custom uniform parameters declared in the shader, for example the material editor plugin will present them in the GUI.
These features make for a general and extensible shader system.
==== Dynamic shader configuration in Material Editor plugin ====
Take as example this screenshot, which shows how the X-Ray shader, mentioned earlier, can be configured.
[[File:Mh_material_editor.png]]
In the shader selector, xray was chosen. This opens up a few new options to configure.
Notice that on the top right the custom shader uniforms edgefalloff and intensity that we mentioned earlier were automatically detected. The shader author had to do nothing else than to define these uniform parameters in his shader code, and define a sensible default for them. A material using this shader can customize these properties using the shaderParam option, which can be altered visually in the top right of the material editor. Changes in the material editor take effect immediately, so you can directly preview your changes.
Also notice in the bottom left that the material editor shows the available shaderConfig parameters. Some of these are greyed out, which means they are not available, or the condition for them is not met (for example, to be able to enable normal mapping, you need to choose a normal map texture on the right panel. If the normal map property is greyed out on the right side, then this particular shader does not support normal mapping).
Let's take a look at a second example.
[[File:Mh_material_editor2.png]]
Here we see the litsphere shader. This shader is different from the other shaders in the sense that it completely ignores the lighting of the scene, and instead lights the model with a texture containing pre-baked lighting conditions, a so-called [http://www.cs.utah.edu/~wmartin/pubs/LitSphere.pdf litsphere] texture.
This shader, being so different, requires a different sort of input, a custom input texture: the litsphere texture.
The shader author simply defined this uniform parameter in his shader code, and as you can see in the top right corner, the material editor shows a texture selector for this property. Using it, the user can select a litsphere texture to feed to the shader.
The litsphere shader also has two different alternative techniques that can be enabled or disabled by the user.
These two features, which can be enabled using shaderDefine statements in the material file, are automatically detected by the material system, and shown in the bottom left of the material editor. Enabling them is as simple as checking the checkbox.
One of these custom shading features is alpha mapping (defined by ALPHA_MAP), which allows to sample alpha transparency from an additional texture.
For this texture, an additional uniform property, named alphaTexture was declared in the shader, but it was written down in a way that it is only declared if the ALPHA_MAP token is defined.
In the shader code:
#ifdef ALPHA_MAP
uniform sampler2D alphaTexture;
#endif
If you check the ALPHA_MAP_checkbox, you will notice that on the top right, an extra texture selector will appear.
These examples show how the material editor can help exploring the different settings that are available in shaders.
3f5000171c8223b0691c2a94f63781e3a3df53a9
1209
603
2016-10-23T15:26:50Z
Robbaer
12
/* Targets and modifiers */
wikitext
text/x-wiki
== Vertex weights ==
With vertex weights we intend a weighted mapping of vertices of a mesh to a bone of a skeleton. The weight is a value between 0 and 1, the sum of these weights for each vertex should be normalized, which means they should sum to 1 (note: no euclidian distance, just simple addition of all weights). A weight map in MakeHuman is expressed as a bone name (becomes a bone index internally, using the index of the bone in a breadth-first list relative to skeleton structure), a vertex name and a floating point weight between 0 and 1. This weighted vertex to bone mapping is used for skinning (posing and animating, using vertex skinning, smooth skinning or linear blend skinning algorithm). For the skinning algorithm to work correctly it’s required that the weights are always normalized, otherwise you will see vertices move out of place disproportionally (though the weight loading code in MakeHuman ensures that this normalization always happens, so this is not a concern to the artist that defines the weights). The vertex weights can be exported to external tools as well using formats such as collada (DAE), FBX, Ogre3D meshes or MD5 quake meshes.
=== Vertex weights and skeletons ===
Vertex weights are defined for the default “master” skeleton or rig. They are defined in a json file with jsonw extension. They link each vertex of the basemesh including helpers to a named bone of this master rig, together with a certain weight.
The weights loader automatically removes doubles and normalizes the weights (so that they sum to 1). It also reports what the maximum number of bone weights per vertex is, additionally it allows compiling the weights to a reduced set with n number of bone weights, and automatically renormalizes those weights so they, again, sum to 1.
When loading weights, any vertex that receives no weighting is assigned to the root bone, as this is needed for skinning to prevent all those vertices jumping to the origin (0*pos == 0).
Alternative skeletons can define their own weights, by referencing a weights file just like the master rig, or they can choose to derive their weights from the master rig, through so called reference bone mappings. Skeletons will derive their weights from the master rig if they do not specify a weights file explicitly. Custom vertex weights in alternative rigs override those defined on the master rig, except in the case where a proxy defines its own vertex weights. See section Vertex weights for proxies for more details.
=== Reference bones for vertex weights and poses ===
Reference bones are defined on alternative rigs, they are a list of names of bones contained in the master rig. Every bone of an alternative rig can have such a list of reference bones. An alternative rig can also omit these references if it uses the same name as bones in the master rig, in which the mapping is implicit. Having a list of bone references always overrides the implicit mapping. Reference bone mappings are required for two purposes.
They are used for mapping poses defined on the master rig to other rigs. All poses are defined as BVH files that pose the master rig, so they reference only the bone names of the master rig. Poses are applied to all other rigs by using the reference bone mapping: all the rotations that the pose applies to the referenced bones are combined (in the order in which the references were specified -- note: rotations are NOT commutative) and are applied to the alternative rig bone.
Reference bone mappings can also be used for determining vertex weights of custom rigs. If the alternative rig does not explicitly define its own vertex weights, the mapping of reference bones is used to infere a set of bone weights for each bone: All the weights of the reference bones on the master rig (with the weights definition of the default/master rig) are combined and apply to the bone of the alternative rig. Doubles are merged, and weights renormalized. Any vertex that is not weighted will be assigned to the root bone. Watch for messages in the log to verify this.
=== Vertex weights for proxies ===
Generally proxies are mapped to basemesh geometry, that means either to the body or to helpers, or a combination of both (though this is unusual). Proxies derive their vertex weights from the vertices on the basemesh on which they are fitted. A proxy defines its fitting as a 3d offset from one or three vertices on the basemesh, allowing it to deform as the human deforms. This mapping is used to transfer the vertex weights from basemesh to proxy: a proxy vertex referencing three basemesh vertices gets the bone weights of those three vertices. Doubles are merged and the weights are normalized, so that the influence factors are averaged or smoothed. In this case the weights applied to proxies are always those defined on the skeleton: either the weights explicitly defined on the skeleton, or the weights obtained from remapping the master rig weights to this skeleton using the reference bone mapping mentioned in the previous sections. There is an exception to this, which is explained in the next paragraph.
A proxy can explicitly define its own vertex (to bone) weights. In this case it overrides the weights that would be obtained through the proxy mapping, and replaces them by its own custom definition of weights. These vertex weights are always defined to reference the bones of the master rig (default skeleton), so they need to be remapped to other skeletons using reference bone mapping. This also means that the custom weights of a proxy override any custom weights mapping that might be loaded with an alternative rig (but only for that proxy item). Custom proxy weights should be avoided if possible, but are in some cases required, eg. for properly rigging shoes which are rigidly fitted to feet, or an alternative topology which defines very accurate rigging on the face. The general advice for custom rigs is therefore to stay as close to the master rig as possible, reusing as much bones identically as possible, to achieve the best results for proxies with custom weights.
In case of custom weight, the mhclo file must contain a line to indicate the weight file to use, using the keyword “vertexboneweights_file”, with the syntax:
vertexboneweights_file filename.jsonw
== Targets and modifiers ==
MakeHuman applies targets on the human by means of modifiers. Such a modifier has a value (usually between [0, 1] or [-1, 1]) that determines the effect that it will have on the human mesh. A modifier can control one or more targets and it will apply the mixed sum of those targeys on the mesh. Some modifiers.
=== Organization of targets ===
To make sure targets are linked to the right modifier, or to make managing targets easier, a certain discipline has to be observed in managing them. Targets are ASCII files in the data/targets or data/custom folder (in either the program or user folder) and they haave file extension of .target.
The file name and folder that targets are in implicitly determine their group name. A group is identified by a sequence of tags or tokens, which are taken from the file and folder name of each target. These tokens are delimited by “-” symbols, to include multiple tokens in a single file or folder name. The lib/targets.py module takes care of loading all the names of the available targets and assembles them into groups. All targets with the same tokens end up in the same group. This allows easy querying and requesting of targets. The creator is pretty much free to decide what groups to create for their targets. By passing the name of the target group to a modifier, they can make sure that modifier controls the targets belonging to this group. It does not matter whether you use folders or - delimited file names for creating groups.
An example:
data/targets/cartoon/eyes-large.target is categorized in group (cartoon, eyes, large)
data/targets/cartoon-eyes-large.target is also categorized in group (cartoon, eyes, large)
Most simple modifiers work by specifying a group (for example cartoon-eyes) and a set of two tokens to append at the end, depending on the position of the modifier slider (eg. small, large which would allow controlling the targets cartoon-eyes-small and cartoon-eyes-large by moving the slider to the left or right).
=== Reserved group tokens ===
Some of the tokens in the file or foldername of targets are linked to values that variables of the human can have. Such variables are for example age, weight, muscle, gender.
This table lists all the reserved tokens, and the variables they belong to.
{| class="wikitable"
|-
! Reserved token (value)
! Variable
|-
| female,male
| gender
|-
| baby, child, young, old
| age
|-
| african, caucasian, asian
| race
|-
| minmuscle, averagemuscle, maxmuscle
| muscle
|-
| minweight, averageweight, maxweight
| weight
|-
| minheight, averageheight, maxheight
| height
|-
| mincup, averagecup, maxcup
| breastsize
|-
| minfirmness, averagefirmness, maxfirmness
| breastfirmness
|-
| uncommonproportions, regularproportions, idealproportions
| bodyproportion
|}
Note that it is not a good idea to use simply “max” or “min” as a reserved token name, because they need to be unique (otherwise it would not be possible to determine whether they are a minimum for, for example, weight or height). These reserved tokens are declared in the lib/targets.py module. The variable can be set and queried on the human object, for example human.getAge(), human.setMuscle(0.7), human.getProportion().
The reserved tokens are NOT included in the group name, so you should at least include some other, non-reserved tokens in the file or folder names to assign your target to some meaningful group. The inclusion of these reserved tokens in your target names or paths makes it convenient to create macro modifiers.
=== Macro targets and modifiers ===
Macro modifiers are modifiers whose effect (the combination of targets they apply on the human) is influenced by macro variables set on the human (eg. human.set/getAge()). Therefore, macro modifiers often control a large set of targets (20 or even more). It’s also common for multiple modifiers to control exactly the same set of targets, for example the standard age/gender/race sliders all control the set of targets in the ‘macrodetails’ group. Each slider modifies a different variable (eg. human.setAge()) controlling the set of targets, and then reapplies a combination of the same set of targets on the human.
=== Macro modifier dependencies ===
There are other macro modifiers that can also depend on the same variables age, gender, race that is controlled by the main macro modifiers, as discussed above. For example the macro modifiers that influence the weight and muscle mass of the human, controls the targets group “macrodetails-universal”, the universal token is added by prepending “universal-” to all the file names of related targets, which all reside in the folder “macrodetails” (thus macrodetails-universal ends up being the group name). They could have been included all in the “macrodetails” group, but are kept separate for performance reasons, so that the “macrodetails” group of targets (which already contains some 40 targets or so) can be applied in realtime while moving the slider.
Of course a change in the variable that these age/race/gender modifiers control will have an effect on the macrodetails-universal modifiers (because they control targets that depend on age -- their targets include -young- -old- etc. tokens in their filenames). This means there are inter-dependencies between macro modifiers, if one is updated, another one that depends on it should be refreshed. These dependencies can be desceibed as follows: one macro modifier controls exactly one macro variable (such as age). It (or rather, the targets it controls) can however depend on multiple macro variables. The trivial case is where a macro modifier only depends on the macro variable that it controls itself. The tracking of these dependencies and deciding which modifiers must be updated when another is changed happens automatically. Dependencies are automatically tracked as soon as you add a modifier to the human (by calling modifier.setHuman(human)). To make this enhance performance in real-time, the propagation of updates to modifiers is limited while sliders are dragged (see realtimeDependencyUpdates in apps/humanmodifier.py).
As you might have understood, creating modifiers that depend on human variables is almost automatic. The only thing you need to do is create some targets that resolve to the same group name, add variations for all the macro variables you want and add the proper reserved tokens to the file or folder name (refer to the left column in the table above), and create a modifier with this group name. Once added to the human, the dependencies are tracked automatically.
=== Organization of modifiers ===
We already discussed how we organized targets in groups, to make it easier to connect them to a modifier. Now we will discuss how we can do a similar thing for modifiers.
Modifiers provide an easy way to manage targets. They allow reducing many of hundreds of targets to a more manageable number of controllable properties. But even then, we still have about 100 modifiers, which is still quite a lot. Therefore we group them in groups of categories, much like we do in the GUI. This makes it easy to get a grouped overview of all modifiers when using an alternative interface, think of command line or scripting. The way in which you declare the group and other properties of a modifier determines what target groups it gets its targets from.
Modifiers are declared with a group name, some intermediary “target name” and a number of tail tokens (2 or 3 usually, e.g., min/max). The group of targets controlled by these modifiers is composed as: groupname-targets_name-tail.
Macro modifiers are declared with a group name, and a controlled variable. The groupname must be the same groupname of the targets they control.
=== Declarative modifiers ===
Instead of hard coding what modifiers you want to instantiate, MakeHuman offers a data-based format to declare what modifiers should be created, and how they should be shown in a user interface with sliders.
A full declaration requires '''three files''', all stored in data/modifiers. The '''first file''' is the declaration of the modifiers (e.g., modeling_modifiers.json). This format lists a modifier group name, and all the modifiers with their macro variable (if they are macro modifiers) or target name and 2 or 3 (if they are a modifier with a center point) tail tokens.
The '''second file''' adds a description to the modifiers declared in the first file. It basically contains a key-value set, referencing the modifier name, and a textual description of what the modifier controls. A modifier name is constructed as follows: group/targets_name-all|the|tails and for a macro modifier: group/variable.
The '''third file''' defines how these modifiers should be shown in the user interface as sliders. It lists a set of categories, and the sliders to show in them, and how their values have to be saved in a mhm file (mainly a feature for legacy compatibility).
=== Your own plugin with modifiers, sliders and targets ===
Using the declarative data format described in the section above, it’s really simple. Have a look at the plugin plugins/0_modeling_0_modifiers.py. Notice it’s barely 5 lines of code. Creating your own modeling plugin is as simple as that, pointing it to your own modifier data files.
=== Binary targets ===
Because loading these ASCII target files, and iterating all target files and folders can be slow (especially on windows) in build versions, we compile all targets in the data/targets system folder into a single binary file, that furthermore acts exactly the same as multiple target files. The binary targets file is stored in the system data/ folder and is called targets.npz, it is created by running the compile_targets.py script, which is also automatically run in the build_prepare.py build routine. The file structure of the targets files is maintained in this binary file so that targets can be loaded from it in the same way as you would do with regular files. A change in the .target files, or newly added target files allow a recompilation of the targets npz file before the change is applied.
== Proxy format ==
A proxy is a fitting of an arbitrary mesh (for example clothes or a hairstyle) to the basemesh. A proxy asset is distributed as a mesh file together with this fitting file (what we call the proxy file), allowing this mesh to be fitted on different modeling variations of the human within MakeHuman.
=== v1.0 format ===
The 1.0 format got introduced in the v1.0 release of MakeHuman, but was already present in the Alpha 7 (A7) release. The format got reworked a bit for 1.0, however.
==== Example ====
This is an excerpt from the fedora distributed with MakeHuman
# Exported from MakeClothes (TM)
# author Jonas Hauquier
# license AGPL3 (see also http://www.makehuman.org/node/320)
# homepage http://www.makehuman.org/
uuid 566dbd52-71d1-4d76-a799-0474a5a384db
basemesh hm08
tag Hats
name fedora
obj_file fedora.obj
x_scale 5399 11998 1.4800
z_scale 962 5320 1.9221
y_scale 791 881 2.3298
z_depth 50
material materials/fedora.mhmat
verts 0
251 5243 5244 0.60391 0.28706 0.10903 -0.00245 0.01323 0.03373
7020 11853 11852 0.53311 0.29591 0.17097 0.00529 0.01134 0.03388
7678 7000 7707 0.22571 0.34923 0.42506 0.00946 0.03331 0.04954
984 983 1015 0.17322 0.18383 0.64295 -0.00575 0.03634 0.05443
1014 226 982 0.12607 0.67880 0.19513 -0.00934 0.03289 0.04891
250 5245 5232 0.54148 0.48285 -0.02433 -0.01273 0.01129 0.03202
7746 7712 12153 0.16168 0.32394 0.51438 0.02696 0.11561 0.09667
5556 5554 1013 -0.03554 0.63140 0.40413 -0.01650 0.11949 0.10646
5560 5556 1020 0.34178 0.11896 0.53926 -0.03442 0.11513 0.09756
1013 7712 7721 0.24117 0.40913 0.34971 0.03897 0.20473 0.13559
1013 882 1029 0.71875 0.41604 -0.13479 -0.02631 0.22391 0.13840
1029 1020 1013 0.36342 0.60536 0.03123 -0.03890 0.20439 0.13536
7712 7721 882 0.21674 0.67896 0.10430 0.02804 0.23763 0.15510
1013 882 1029 0.30269 0.87853 -0.18122 -0.02994 0.25488 0.15754
1029 1020 1013 0.79483 0.03879 0.16638 -0.04433 0.23290 0.15424
5370 5368 969 -0.08854 0.29827 0.79027 -0.01789 0.14173 -0.15713
11971 7713 969 0.28241 0.33962 0.37797 0.01910 0.14921 -0.16563
11971 7713 969 0.05967 0.69236 0.24796 0.01670 0.13045 -0.14480
5370 5368 969 -0.07249 0.07305 0.99945 -0.01517 0.12017 -0.13323
969 1021 5370 0.20926 0.73057 0.06018 -0.01674 0.13078 -0.14517
969 1021 5370 0.33927 0.37782 0.28291 -0.01914 0.14955 -0.16600
5379 969 7713 -0.00113 0.07709 0.92403 0.01192 0.06520 -0.14994
1021 969 5379 -0.05590 0.97961 0.07629 -0.01124 0.06148 -0.14138
1021 969 5379 0.96289 0.03946 -0.00235 -0.01195 0.06537 -0.15033
11982 11981 7713 0.14728 0.42350 0.42922 0.01740 0.04655 -0.11033
1021 969 5379 -0.03656 0.34361 0.69295 -0.00834 0.04564 -0.10495
1021 5381 5382 0.43027 0.37607 0.19367 -0.01752 0.04687 -0.11110
11981 11982 7738 0.30937 0.48274 0.20789 0.00929 0.00889 -0.07280
5379 962 1022 0.56542 0.43776 -0.00318 -0.00327 0.01206 -0.08469
The rest of the file is very similar, it continues listing vertex fittings to the basemesh.
==== Vertex assignments ====
The format contains matchings in the following format:
vIdx1 vIdx2 vIdx3 w1 w2 w3 d1 d2 d3
vIdx is an index of a vertex on the basemesh
w is a weight of the corresponding vertex
d1,d2,d3 are optional (default to 0) and defines an offset
The format contains one such lines for every vertex in the proxy mesh, the order of the lines is the same as the order of vertices in the proxy mesh.
The format also supports an alternative fitting, referencing exactly one basemesh vertex, which is used for exact fitting: the proxy mesh vertex is placed in the exact same location as the basemesh vertex it is associated with.
vIdx
The file format allows mixing these two types of fittings on a per-vertex basis.
==== Properties ====
Every proxy should have a unique uuid (which can be generated using the python uuid module using uuid.uuid4()), a name, description, author and license information.
One or multiple tags can be added, each on a new line prepended with "tag".
A proxy references a material file and an OBJ mesh.
z_depth determines the rendering priority of the object (important for transparency) and the layer of clothing. It is used by face masking to determine which piece of clothing masks another.
The scale parameters define a bounding box referencing vertices on the human between which the proxy should be scaled. They are modified in makeclothes by selecting a clothing part.
=== v1.2 format ===
Starting from v1.2, a new algorithm for handling proxies is introduced, based on Manuel Bastioni's Lab experiments.
The new format uses a local normal space instead of global coordinates, making it more stable, even across different poses. It is also a lot easier for an artist to create new proxies, as it requires only one button press, instead of having to deal with vertex groups.
Future MakeHuman versions will contain backwards compatibility support for v1.0 proxies, but the new format is recommended for creation of new content.
The layout of this format is largely the same as the old format, with a version parameter specifying that this file should be interpreted as a new style proxy.
==== Example ====
# Exported from MakeClothes (TM)
# author Jonas Hauquier
# license AGPL3 (see also http://www.makehuman.org/node/320)
# homepage http://www.makehuman.org/
uuid 566dbd52-71d1-4d76-a799-0474a5a384db
basemesh hm08
tag Hats
version 120
name fedora
obj_file fedora.obj
z_depth 50
material materials/fedora.mhmat
verts 0
vIdx1 vIdx2 vIdx3 vIdx4 dx dy dz
It looks a lot like the v1.0 format, only the scale is no longer needed, and the vertex assignments have a new format.
The "version 120" is required to indicate that this file should be interpreted to use the new proxy fitting algorithm.
vIdxi references the vertices of a polygon of the basemesh
dx dy dz is the distance (delta) vector between the polygon center and the proxy mesh vertex.
=== Binary proxy ===
Proxies, as well as their meshes, can be compiled into a more compact binary variant that is faster to load and smaller to distribute. MakeHuman will do this automatically for proxies in the home path. Files in the installation path will have to be compiled manually by running the compile_proxies.py and compile_meshes.py scripts. Usually these scripts are ran when a distribution is created, so need not to be repeated by the end user, unless MakeHuman is used from source.
== Material format==
=== Introduction ===
MakeHuman material files have extension .mhmat and are simple ASCII definitions
of the material settings to use for rendering.
These material settings are primarily intended for configuring the material
system within MakeHuman, but they are usually carried out to other software as
well by the exporters.
Not all properties will be supported for all given combinations of shaders, nor
is there a guarantee that the exporters will honor all the properties in these
files.
Every 3D object in MakeHuman has exactly one material attached to it (multiple
materials are not possible, you need separate objects for that). Materials are
used for proxy meshes (clothes, hairs, ...) but also for the skin of the human
itself.
=== The Material System ===
The MakeHuman material system is closely based on the [https://en.wikipedia.org/wiki/Rendering_equation standard rendering equation]
as is used in OpenGL and DirectX forward rendering pipelines. MakeHuman supports
shaders and the material format contains the most commonly used extensions in
real-time rendering. As a consequence of this, users need to be aware of the
implications of setting values such as ambient too bright, or diffuse too dark.
All usual rules about rendering materials apply.
At the highest level, the material supports setting the most basic material
properties, such as diffuse, specular and ambient color. These are supported
both by shaders as well as the fixed function shading pipeline (which is used
when no shader is specified). Fixed function also supports the diffuse texture
option.
At a second level, a shader can be chosen. This refers directly to the filename
of a [https://en.wikipedia.org/wiki/OpenGL_Shading_Language GLSL shader] as found in the data/shaders/glsl folder of MakeHuman.
The selected shader will determine what material options will be available.
At the third level, various additional settings become available, depending on whether or not the
chosen shader has support for these features, such as bump or normal mapping,
ambient occlusion, specular mapping, etc.
For most of these, a texture map and a scalar property between 0 and 1 can be
set, the latter determining the intensity or influence of the effect.
Finally, MakeHuman also contains a built-in offline renderer that supports some
additional properties such as subsurface scattering, for which some special
properties are available.
=== Example ===
This is a full and complete (but fictional) example of a material file for MakeHuman, it shows all the available properties.
# Example MakeHuman Material definition
name Material_name
tag some_tag
tag another_tag
description material description text here
ambientColor 0.11 0.11 0.11
diffuseColor 1.0 1.0 1.0
specularColor 0.0470588235294 0.0470588235294 0.0470588235294
shininess 0.96
emissiveColor 0.0 0.0 0.0
opacity 1.0
translucency 0.0
shadeless False
wireframe False
transparent True
alphaToCoverage True
backfaceCull False
depthless False
autoBlendSkin False
castShadows True
receiveShadows True
diffuseTexture diffuse_texture.png
bumpmapTexture bumpmap.png
bumpmapIntensity 1.0
normalmapTexture normalmap.png
normalmapIntensity 1.0
displacementmapTexture norm_displacement.png
displacementmapIntensity 1.0
specularmapTexture specular.png
specularmapIntensity 1.0
transparencymapTexture alpha.png
transparencymapIntensity 1.0
aomapTexture ambient_occlusion_map.png
aomapIntensity 1.0
# Sub-surface scattering parameters
sssEnabled True
sssRScale 5.0
sssGScale 2.5
sssBScale 1.0
shader shaders/glsl/litsphere
shaderParam litsphereTexture litspheres/lit_hair.png
shaderConfig ambientOcclusion True
shaderConfig normal False
shaderConfig bump True
shaderConfig displacement False
shaderConfig vertexColors True
shaderConfig spec True
shaderConfig transparency True
shaderConfig diffuse True
shaderDefine ALPHA_MAP
uvMap alt_uv_coords.mhuv
This is another example, this time a real one. It is the X-ray material, used for example when showing the skeleton:
# Material definition for XrayMaterial
name XrayMaterial
ambientColor 0.1 0.1 0.1
diffuseColor 1.0 1.0 1.0
specularColor 0.3 0.3 0.3
shininess 0.1
emissiveColor 0.0 0.0 0.0
opacity 0.1
translucency 0.0
transparent True
backfaceCull True
shadeless False
wireframe False
depthless False
shader data/shaders/glsl/xray
shaderConfig diffuse False
shaderConfig transparency False
shaderConfig normal False
shaderConfig bump False
shaderConfig spec False
shaderConfig vertexColors False
shaderConfig displacement False
=== Explanation of material properties ===
==== Standard settings ====
''ambientColor'', ''diffuseColor'' ''specularColor'', ''emissiveColor'' are the standard colors
as used in the [https://en.wikipedia.org/wiki/Rendering_equation rendering equation]
or in standard OpenGL.
Their corresponding intensities are simple scalars with a value between 0 and 1 and are multiplied
with the colors to dim them. Default these intensities are set to 1.
Colors are described as three floating point numbers, representing R G B, or red-green-blue
values. 1 is the maximum, 0 the minimum.
For example 1.0 0 0 means fully red, 1 1 1 means full white, 0 0 0 is full black.
0.5 0.5 0.5 will give you a grey middle color.
''opacity'' determines the opaqueness of the object (alpha channel), with 1 being fully
opaque, and 0 being fully transparent (invisible)
''translucency'' is something that came from Blender but is unused
''shininess'' or specular hardness is a number between 0 and 1 determining the shininess constant of the [https://en.wikipedia.org/wiki/Phong_reflection_model phong shading model].
==== Texture maps ====
Various standard texture maps can be defined on the material, like ''diffuseTexture'', ''bumpmapTexture'', ''normalmapTexture'', ''displacementmapTexture'', ''specularmapTexture'', ''transparencymapTexture'', ''aomapTexture''. Each of these also has an associated intensity value, which is a scalar from 0 to 1 multiplied with the pixel value of that texture (unless a specific shader implements it differently).
These textures only have an effect if their corresponding shaderConfig feature has been defined (see the table in Shaders section).
==== Render states ====
When ''wireframe'' is set to True, the model is drawn in wireframe mode. In this mode,
most material properties have no effect, but you can enable the vertexColors shaderConfig
to be able to change the color of the mesh using vertex colors (this requires
access to the mesh programatically, obj meshes do not support vertex colors).
This feature is used in some parts of MakeHuman, for example viewing bone weights
in the skeleton debug plugin.
Set ''shadeless'' to True to disable shading, eg. the object is not affected by lights.
Configured shader will have no effect
Set ''transparent'' to True to enable transparency rendering (usually needed when opacity is < 1)
In itself this does not change the visual appearance of the model, but this setting
should be enabled if your texture contains (semi-) transparent parts. This setting
instructs the renderer to disable depth buffer writes (glDepthMask(false))
and enables alpha testing and blending so that transparent surfaces can overlap and to allow [https://www.opengl.org/wiki/Transparency_Sorting alpha blending].
''alphaToCoverage'' Applies when transparent is set to True (otherwise does nothing).
It requires that your GPU supports alpha to coverage (A2C) rendering. It enables
the A2C feature which provides face order-independent alpha rendering. This works
very well for complex transparent meshes, like hair. At the cost of a slightly
dithered look, it solves all the problems with face sorting that are usually
involved in rendering semi transparency.
(This feature disables anti-aliasing for this object because the multisample buffer is used for alpha blending instead)
Set ''backfaceCull'' to False to disable backface culling (render the back side of polygons)
By default, and in most cases, this should be set to True, but can be useful
in some cases (for example, we disable back-face culling for the eyebrow materials).
Set ''depthless'' to True for depthless rendering (object is not occluded and does not occlude other objects).
This disables OpenGL depth writes and tests. In practice, this makes object faces that should be occluded shine through others.
''castShadows'' determines whether the object casts shadows on other objects.
''receiveShadows'' determines whether the object receives shadows from other objects.
For some features, like eyes, you probably want to disable shadow receiving.
Since MakeHuman does not (yet) implement shadow casting, the shadow settings have
no effect in MakeHuman, but they do export to other engines.
Play around with these settings in the Material Editor plugin to see their effect, that's the best advise I can give you.
The best way to find out which settings work for an asset, is simply to try them out.
==== autoBlendSkin ====
If True MakeHuman will set the diffuse color based on the ethnix mix set for the character.
Any diffuseColor set in the material file will be overridden by this.
Also the shaderParam litsphereTexture will be automatically set to a dynamically blended litsphere texture,
which is a mix of three litsphere materials (afro, asian, caucasian) depending on the ethnic mix of the character.
This latter is specifically intended to be used with the litsphere shader, and it is what you see as default material when you start MakeHuman
This overrides whatever shaderParam litsphereTexture was set in the material file.
This setting is intended only for skin materials.
==== shaderParam ====
Define a custom shader parameter (uniform), which might be required for some non-standard shaders.
For example, the litsphere shader takes an extra type of texture map as input, a so-called litsphere texture.
This generic system of mapping shader uniforms allows you to create specialised shaders that take
new and different kind of inputs, and allow configuring the shader from the material file.
shaderParam can be a list of floating point numbers, in which case it will be interpreted as a vector,
or it can be a file path, in which case it is assumed to be an image path.
Internally in MakeHuman, shaderParams can also be assigned a texture object, which allows
for dynamically passing a texture that is in memory, but perhaps not stored on disk.
Another example of a custom shaderParam is the X-ray shader that defines an edgefalloff
and intensity uniform parameter.
These could be changed from the material file with
shaderParam edgefalloff 0.8
shaderParam intensity 0.77
==== shaderDefine ====
shaderDefines allow enabling or disabling custom shading techniques in shaders.
These allow to define new shading techniques, apart from the pre-defined ones
such as normal mapping, specularity mapping, ...
It's a generic system that allows new shaders to be added and configured from
the material file, or from the material editor (which nicely auto-detects these
features in the shader and shows a set of checkboxes for them).
==== uvMap ====
Load custom UV coordinates on the mesh to use this material. This makes the material
completely dependent on the mesh it is used with.
Takes a path to a .mhuv file, which is actually just an .obj file, where the vertex
positions can be deleted (they can remain in there, but they are ignored).
Requirement for it to work is that the vertex order is the same as that of the
mesh obj.
An example uv map for the basemesh can be found in data/uvs/a7.mhuv, which is a
set of UV coordinates compatible with the old Alpha 7 mesh, allowing you to load
A7 textures on the new basemesh used in MakeHuman v1+
==== SSS properties ====
These are the so-called sub-surface scattering shading properties, currently only used by the built-in offline renderer. They were decided on while trying to figure out the most generic way to define SSS shading properties, so that they could easily be translated into SSS properties for a different renderer (as no single renderer that I know of has a standard for these). It's uncertain whether the format we have landed on currently is the best, or whether this will remain permanently or is still likely to change.
This setting should currently be considered experimental.
The properties are ''sssEnabled'', ''sssRScale'', ''sssGScale'' and ''sssBScale''.
=== Basic pointers for creating materials ===
* You can test the influence of material properties using the Material Editor plugin (which you can enable in Settings > Plugins, then restart)
* Using a diffuse texture? You probably want to set the diffuse color to 1 1 1 (pure white)
* Never set ambient color too bright, or your model will look completely white. 0.1 0.1 0.1 is a good value to start from.
* Emissive is usually set to black, unless you want a radioactive character
* Don't know how to define a color in numbers? Try the Material Editor plugin
* Higher shininess means smaller and sharper highlight, lower shininess makes the highlight larger and more blurred
* Reduce specular color to reduce the specularity, make it black for a rough and non shiny object
* opacity 1 means fully opaque, 0 means fully transparent (invisible)
* Do your (diffuse) textures contain transparency? Do not forget to enable transparency! Perhaps try if alpha-to-coverage improves the situation (especially for hair!).
=== Scene definition ===
To complete the rendering equation, you also need to define the scene. To be
more precise, the positions, types, color and intensities of the lights need to
be set. By default, MakeHuman only has a default scene with only one pointlight.
In MakeHuman, lights do not move if the camera is moved, or rather, the model is
rotated while the camera and lights remain static. So light positions are defined
relative to the camera position.
MakeHuman scenes are defined in .mhscene files, which are binary py-pickled files.
They can be created or modified using the Scene Editor plugin (can be enabled in
settings) and can be selected from the Scene library in the Render tab.
Fixed function shading pipeline supports up to 8 lights, specific light support
depends on the shader used, some shaders only support a certain type or number
of lights, other ignore the chosen scene altogether (for example the litsphere
shader that uses pre-baked environment lighting).
The built-in offline renderer also uses the specified scene.
Scenes are not exported along with the model.
=== Shaders ===
The most powerful functionality of the material system is unlocked when using
shaders.
MakeHuman shaders are intended to be written in a modular way, so that shading
features can be enabled or disabled using the material format. Examples of such
features are bump mapping, normal mapping, specular mapping, diffuse texturing,
ambient occlusion and displacement mapping.
MakeHuman includes a basic introspection function that allows it to determine
what features a shader supports. It accomplishes this by looking for #ifdef and #ifndef statements. If a shader supports a certain technique, it is supposed to
encapsulate this in #ifdef NORMALMAP ... #else ... #endif statements.
The idea is that of an [http://www.gamedev.net/topic/659145-what-is-a-uber-shader/ über shader], where performance is optimized by removing any dynamic branches (if then that) from shader code, and instead managing the features using defines and pre-processor branches.
When a different branch in the shader is activated, the shader code is recompiled entirely.
Instead of having different shaders for different features (eg. a specific normalmap shader to be able to do normal mapping), one general shader could be used instead, and normal mapping can simply be enabled or disabled from the material properties, without being required to swap shaders (a good default uber shader is [http://bugtracker.makehumancommunity.org/issues/160 still to be created for MakeHuman] Any help with this is welcome of course!).
The material system manages these shading functions by defining specific pre-processor
keywords when their corresponding shaderConfig property is set to true.
Shaders are recompiled when needed and stored in a shader cache for efficiency.
MakeHuman passes scene and material information to the shaders by certain uniform
parameters. Depending on which shaderConfig properties were enabled, additional
uniforms could be exposed to the shader. The shader does not have to declare all
these uniforms, however. MakeHuman binds only those uniforms present in the shader
if they have the right corresponding names.
Other properties are available from the OpenGL built-in uniforms or properties
(usually starting with gl_).
The following table lists these defines and the shaderConfig properties in the
material they relate to:
{| class="wikitable"
|-
! feature name
! shaderConfig
! shader #DEFINE
! exposed uniform parameters if enabled
! comment
|-
|default (always enabled)
|
|
|vec3 ambient, vec4 diffuse, vec4 specular, vec3 emissive
|diffuse and specular are 4-component color values, diffuse=[rgba] with a=opacity and specular=[rgbs] with s=shininess
|-
|Vertex coloring
|vertexColors
|VERTEX_COLOR
|
|Derive diffuse color from vertex colors
|-
|Diffuse texturing
|diffuse
|DIFFUSE
|diffuseTexture
|
|-
|Bump mapping
|bump
|BUMPMAP
|bumpmapTexture, bumpmapIntensity
|disabled if normal mapping is enabled (restriction might be lifted in the future)
|-
|Normal mapping
|normal
|NORMALMAP
|normalmapTexture, normalmapIntensity
|
|-
|Displacement mapping
|displacement
|DISPLACEMENT
|displacementmapTexture, displacementmapIntensity
|
|-
|Specularity mapping
|spec
|SPECULARMAP
|specularmapTexture, specularmapIntensity
|
|-
|Transpareny (alpha) maps
|transparency
|TRANSPARENCYMAP
|transparencymapTexture, transparencymapIntensity
|
|-
|Ambient occlusion maps
|ambientOcclusion
|AOMAP
|aomapTexture, aomapIntensity
|
|}
Additionally, MakeHuman exposes the vertex tangent as a vertex property, which
can be accessed by the shader.
attribute vec4 tangent
Currently, [http://www.terathon.com/code/tangent.html Lengyel’s Method] for tangent calculation
is used, but plans are to change this to [http://bugtracker.makehumancommunity.org/issues/87 mikktspace] in the future.
Shader examples for MakeHuman can be found here:
* Litsphere shader: [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/litsphere_vertex_shader.txt vertex][https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/litsphere_fragment_shader.txt fragment]
* Phong shader: [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/phong_vertex_shader.txt vertex][https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/phong_fragment_shader.txt fragment]
* Normal map shader (wip): [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/normalmap_vertex_shader.txt vertex] [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/normalmap_fragment_shader.txt fragment]
* X-ray shader: [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/xray_vertex_shader.txt vertex][https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/xray_fragment_shader.txt fragment]
==== Custom shader properties ====
Shaders can use non-standard #DEFINEs to allow enabling or disabling non-standard shading features, other than the ones that were foreseen in the material format (such as normal mapping, ...)
To add new ones, simply add #ifdef SOME_FEATURE statements to your shader code, the material system will automatically detect them.
From the material, you can enable them with
shaderDefine SOME_FEATURE
If not defined, the feature is assumed to be switched off.
A custom shader can also add new parameters to tweak. For example a color value or intensity value that influences the shading.
To do this, the shader author can simply add new uniform variables to their shader code. It is recommended to specify a default
value for them, so that if the material file does not explicitly mention them, they receive a sensible default value.
Example: the X-ray shader adds an edge-fallof property:
uniform float edgefalloff = 1.0;
From the material file, you can influence this value with:
shaderParam edgefalloff 0.5
shaderParam supports lists of float values (one or multiple, divided by spaces), eg
shaderParam edgecolor 0.7 0.3 0.4
or textures, by specifying a path to an image file (in which case they are assumed to be Sampler2D type)
Additionally, from within MakeHuman, they can be passed a Texture object, to dynamically pass them a texture that resides in memory, without the need for the texture to be stored in a file on disk.
This allows to dynamically alter the texture and have it displayed directly. MakeHuman takes care of caching the texture and updating it when it is modified.
For example, the auto skin tone blending of the litsphere texture is implemented in this way.
The material system will automatically detect these custom uniform parameters declared in the shader, for example the material editor plugin will present them in the GUI.
These features make for a general and extensible shader system.
==== Dynamic shader configuration in Material Editor plugin ====
Take as example this screenshot, which shows how the X-Ray shader, mentioned earlier, can be configured.
[[File:Mh_material_editor.png]]
In the shader selector, xray was chosen. This opens up a few new options to configure.
Notice that on the top right the custom shader uniforms edgefalloff and intensity that we mentioned earlier were automatically detected. The shader author had to do nothing else than to define these uniform parameters in his shader code, and define a sensible default for them. A material using this shader can customize these properties using the shaderParam option, which can be altered visually in the top right of the material editor. Changes in the material editor take effect immediately, so you can directly preview your changes.
Also notice in the bottom left that the material editor shows the available shaderConfig parameters. Some of these are greyed out, which means they are not available, or the condition for them is not met (for example, to be able to enable normal mapping, you need to choose a normal map texture on the right panel. If the normal map property is greyed out on the right side, then this particular shader does not support normal mapping).
Let's take a look at a second example.
[[File:Mh_material_editor2.png]]
Here we see the litsphere shader. This shader is different from the other shaders in the sense that it completely ignores the lighting of the scene, and instead lights the model with a texture containing pre-baked lighting conditions, a so-called [http://www.cs.utah.edu/~wmartin/pubs/LitSphere.pdf litsphere] texture.
This shader, being so different, requires a different sort of input, a custom input texture: the litsphere texture.
The shader author simply defined this uniform parameter in his shader code, and as you can see in the top right corner, the material editor shows a texture selector for this property. Using it, the user can select a litsphere texture to feed to the shader.
The litsphere shader also has two different alternative techniques that can be enabled or disabled by the user.
These two features, which can be enabled using shaderDefine statements in the material file, are automatically detected by the material system, and shown in the bottom left of the material editor. Enabling them is as simple as checking the checkbox.
One of these custom shading features is alpha mapping (defined by ALPHA_MAP), which allows to sample alpha transparency from an additional texture.
For this texture, an additional uniform property, named alphaTexture was declared in the shader, but it was written down in a way that it is only declared if the ALPHA_MAP token is defined.
In the shader code:
#ifdef ALPHA_MAP
uniform sampler2D alphaTexture;
#endif
If you check the ALPHA_MAP_checkbox, you will notice that on the top right, an extra texture selector will appear.
These examples show how the material editor can help exploring the different settings that are available in shaders.
dd2da7030f579102d62d5b5d6587d5308037ee76
603
602
2016-02-02T23:27:44Z
Duststorm
19
/* Example */
wikitext
text/x-wiki
== Vertex weights ==
With vertex weights we intend a weighted mapping of vertices of a mesh to a bone of a skeleton. The weight is a value between 0 and 1, the sum of these weights for each vertex should be normalized, which means they should sum to 1 (note: no euclidian distance, just simple addition of all weights). A weight map in MakeHuman is expressed as a bone name (becomes a bone index internally, using the index of the bone in a breadth-first list relative to skeleton structure), a vertex name and a floating point weight between 0 and 1. This weighted vertex to bone mapping is used for skinning (posing and animating, using vertex skinning, smooth skinning or linear blend skinning algorithm). For the skinning algorithm to work correctly it’s required that the weights are always normalized, otherwise you will see vertices move out of place disproportionally (though the weight loading code in MakeHuman ensures that this normalization always happens, so this is not a concern to the artist that defines the weights). The vertex weights can be exported to external tools as well using formats such as collada (DAE), FBX, Ogre3D meshes or MD5 quake meshes.
=== Vertex weights and skeletons ===
Vertex weights are defined for the default “master” skeleton or rig. They are defined in a json file with jsonw extension. They link each vertex of the basemesh including helpers to a named bone of this master rig, together with a certain weight.
The weights loader automatically removes doubles and normalizes the weights (so that they sum to 1). It also reports what the maximum number of bone weights per vertex is, additionally it allows compiling the weights to a reduced set with n number of bone weights, and automatically renormalizes those weights so they, again, sum to 1.
When loading weights, any vertex that receives no weighting is assigned to the root bone, as this is needed for skinning to prevent all those vertices jumping to the origin (0*pos == 0).
Alternative skeletons can define their own weights, by referencing a weights file just like the master rig, or they can choose to derive their weights from the master rig, through so called reference bone mappings. Skeletons will derive their weights from the master rig if they do not specify a weights file explicitly. Custom vertex weights in alternative rigs override those defined on the master rig, except in the case where a proxy defines its own vertex weights. See section Vertex weights for proxies for more details.
=== Reference bones for vertex weights and poses ===
Reference bones are defined on alternative rigs, they are a list of names of bones contained in the master rig. Every bone of an alternative rig can have such a list of reference bones. An alternative rig can also omit these references if it uses the same name as bones in the master rig, in which the mapping is implicit. Having a list of bone references always overrides the implicit mapping. Reference bone mappings are required for two purposes.
They are used for mapping poses defined on the master rig to other rigs. All poses are defined as BVH files that pose the master rig, so they reference only the bone names of the master rig. Poses are applied to all other rigs by using the reference bone mapping: all the rotations that the pose applies to the referenced bones are combined (in the order in which the references were specified -- note: rotations are NOT commutative) and are applied to the alternative rig bone.
Reference bone mappings can also be used for determining vertex weights of custom rigs. If the alternative rig does not explicitly define its own vertex weights, the mapping of reference bones is used to infere a set of bone weights for each bone: All the weights of the reference bones on the master rig (with the weights definition of the default/master rig) are combined and apply to the bone of the alternative rig. Doubles are merged, and weights renormalized. Any vertex that is not weighted will be assigned to the root bone. Watch for messages in the log to verify this.
=== Vertex weights for proxies ===
Generally proxies are mapped to basemesh geometry, that means either to the body or to helpers, or a combination of both (though this is unusual). Proxies derive their vertex weights from the vertices on the basemesh on which they are fitted. A proxy defines its fitting as a 3d offset from one or three vertices on the basemesh, allowing it to deform as the human deforms. This mapping is used to transfer the vertex weights from basemesh to proxy: a proxy vertex referencing three basemesh vertices gets the bone weights of those three vertices. Doubles are merged and the weights are normalized, so that the influence factors are averaged or smoothed. In this case the weights applied to proxies are always those defined on the skeleton: either the weights explicitly defined on the skeleton, or the weights obtained from remapping the master rig weights to this skeleton using the reference bone mapping mentioned in the previous sections. There is an exception to this, which is explained in the next paragraph.
A proxy can explicitly define its own vertex (to bone) weights. In this case it overrides the weights that would be obtained through the proxy mapping, and replaces them by its own custom definition of weights. These vertex weights are always defined to reference the bones of the master rig (default skeleton), so they need to be remapped to other skeletons using reference bone mapping. This also means that the custom weights of a proxy override any custom weights mapping that might be loaded with an alternative rig (but only for that proxy item). Custom proxy weights should be avoided if possible, but are in some cases required, eg. for properly rigging shoes which are rigidly fitted to feet, or an alternative topology which defines very accurate rigging on the face. The general advice for custom rigs is therefore to stay as close to the master rig as possible, reusing as much bones identically as possible, to achieve the best results for proxies with custom weights.
In case of custom weight, the mhclo file must contain a line to indicate the weight file to use, using the keyword “vertexboneweights_file”, with the syntax:
vertexboneweights_file filename.jsonw
== Targets and modifiers ==
MakeHuman applies targets on the human by means of modifiers. Such a modifier has a value (usually between [0, 1] or [-1, 1]) that determines the effect of it on the human mesh. A modifier can control one or more targets and in apply the mixed sum of them on the mesh. Some modifiers.
=== Organization of targets ===
To make sure targets are linked to the right modifier, or to make managing targets easier, a certain discipline has to be observed in managing them. Targets are ASCII files in the data/targets or data/custom folder (in program or user folder) with a file extension of .target.
The file name and folder targets are in implicitly determines their group name. A group is identified by a sequence of tags or tokens, which are taken from the file and folder name of each target, and which can be delimited by “-” symbols, to include multiple tokens in a single file or folder name. The lib/targets.py module takes care of loading all the names of the available targets and assembles them into groups. All targets with the same tokens end up in the same group. This allows easy querying and requesting of targets. The creator is pretty much free to decide what groups to create for their targets. By passing the name of the target group to a modifier, they can make sure that modifier controls the targets belonging to this group. It does not matter whether you use folders or - delimited file names for creating groups.
An example:
data/targets/cartoon/eyes-large.target is categorized in group (cartoon, eyes, large)
data/targets/cartoon-eyes-large.target is also categorized in group (cartoon, eyes, large)
Most simple modifiers work by specifying a group (for example cartoon-eyes) and a set of two tokens to append at the end, depending on the position of the modifier slider (eg. small, large which would allow controlling the targets cartoon-eyes-small and cartoon-eyes-large by moving the slider to the left or right).
=== Reserved group tokens ===
Some of the tokens in the file or foldername of targets are linked to values that variables of the human can have. Such variables are for example age, weight, muscle, gender.
This table lists all the reserved tokens, and the variables they belong to.
{| class="wikitable"
|-
! Reserved token (value)
! Variable
|-
| female,male
| gender
|-
| baby, child, young, old
| age
|-
| african, caucasian, asian
| race
|-
| minmuscle, averagemuscle, maxmuscle
| muscle
|-
| minweight, averageweight, maxweight
| weight
|-
| minheight, averageheight, maxheight
| height
|-
| mincup, averagecup, maxcup
| breastsize
|-
| minfirmness, averagefirmness, maxfirmness
| breastfirmness
|-
| uncommonproportions, regularproportions, idealproportions
| bodyproportion
|}
Note that it is not a good idea to use simply “max” or “min” as a reserved token name, because they need to be unique (otherwise it would not be possible to determine whether they are a minimum for, for example, weight or height). These reserved tokens are declared in the lib/targets.py module. The variable can be set and queried on the human object, for example human.getAge(), human.setMuscle(0.7), human.getProportion().
The reserved tokens are NOT included in the group name, so you should at least include some other, non-reserved tokens in the file or folder names to assign your target to some meaningful group. The inclusion of these reserved tokens in your target names or paths makes it convenient to create macro modifiers.
=== Macro targets and modifiers ===
Macro modifiers are modifiers whose effect (the combination of targets they apply on the human) is influenced by macro variables set on the human (eg. human.set/getAge()). Therefore, macro modifiers often control a large set of targets (20 or even more). It’s also common for multiple modifiers to control exactly the same set of targets, for example the standard age/gender/race sliders all control the set of targets in the ‘macrodetails’ group. Each slider modifies a different variable (eg. human.setAge()) controlling the set of targets, and then reapplies a combination of the same set of targets on the human.
=== Macro modifier dependencies ===
There are other macro modifiers that can also depend on the same variables age, gender, race that is controlled by the main macro modifiers, as discussed above. For example the macro modifiers that influence the weight and muscle mass of the human, controls the targets group “macrodetails-universal”, the universal token is added by prepending “universal-” to all the file names of related targets, which all reside in the folder “macrodetails” (thus macrodetails-universal ends up being the group name). They could have been included all in the “macrodetails” group, but are kept separate for performance reasons, so that the “macrodetails” group of targets (which already contains some 40 targets or so) can be applied in realtime while moving the slider.
Of course a change in the variable that these age/race/gender modifiers control will have an effect on the macrodetails-universal modifiers (because they control targets that depend on age -- their targets include -young- -old- etc. tokens in their filenames). This means there are inter-dependencies between macro modifiers, if one is updated, another one that depends on it should be refreshed. These dependencies can be descibed as follows: one macro modifier controls exactly one macro variable (such as age). It (or rather, the targets it controls) can however depend on multiple macro variables. The trivial case is where a macro modifier only depends on the macro variable that it controls itself. The tracking of these dependencies and deciding which modifiers must be updated when another is changed happens automatically. Dependencies are automatically tracked as soon as you add a modifier to the human (by calling modifier.setHuman(human)). To make this more performant in real-time, the propagation of updates to modifiers is limited while sliders are dragged (see realtimeDependencyUpdates in apps/humanmodifier.py).
As you might have understood, creating modifiers that depend on human variables is almost automatic. The only thing you need to do is create some targets that resolve to the same group name, add variations for all the macro variables you want and add the proper reserved tokens to the file or folder name (refer to the left column in the table above), and create a modifier with this group name. Once added to the human, the dependencies are tracked automatically.
=== Organization of modifiers ===
We already discussed how we organized targets in groups, to make it easier to connect them to a modifier. Now we will discuss how we can do a similar thing for modifiers.
Modifiers provide an easy way to manage targets. They allow reducing many of hundreds of targets to a more manageable number of controllable properties. But even then, we still have about 100 modifiers, which is still quite a lot. Therefore we group them in groups of categories, much like we do in the GUI. This makes it easy to get a grouped overview of all modifiers when using an alternative interface, think of commandline or scripting. The way in which you declare the group and other properties of a modifier determines what target groups it gets its targets from.
Modifiers are declared with a group name, some intermediary “target name” and a number of tail tokens (2 or 3 usually, eg min/max). The group of targets controlled by these modifiers is composed as: groupname-targets_name-tail.
Macro modifiers are declared with a group name, and a controlled variable. The groupname must be the same groupname of the targets they control.
=== Declarative modifiers ===
Instead of hard coding what modifiers you want to instantiate, MakeHuman offers a data-based format to declare what modifiers should be created, and how they should be shown in a user interface with sliders.
A full declaration requires three files, all stored in data/modifiers. The first is the declaration of the modifiers (eg. modeling_modifiers.json). This format lists a modifier group name, and all the modifiers with their macro variable (if they are macro modifiers) or target name and 2 or 3 (if they are a modifier with a center point) tail tokens.
The second file adds a description to the modifiers declared in the first file. It basically contains a key-value set, referencing the modifier name, and a textual description of what the modifier controls. A modifier name is constructed as follows: group/targets_name-all|the|tails and for a macro modifier: group/variable
The third file defines how these modifiers should be shown in the user interface as sliders. It lists a set of categories, and the sliders to show in them, and how their values have to be saved in a mhm file (mainly a feature for legacy compatibility).
=== Your own plugin with modifiers, sliders and targets ===
Using the declarative data format described in the section above, it’s really simple. Have a look at the plugin plugins/0_modeling_0_modifiers.py. Notice it’s barely 5 lines of code. Creating your own modeling plugin is as simple as that, pointing it to your own modifier data files.
=== Binary targets ===
Because loading these ASCII target files, and iterating all target files and folders can be slow (especially on windows) in build versions, we compile all targets in the data/targets system folder into a single binary file, that furthermore acts exactly the same as multiple target files. The binary targets file is stored in the system data/ folder and is called targets.npz, it is created by running the compile_targets.py script, which is also automatically run in the build_prepare.py build routine. The file structure of the targets files is maintained in this binary file so that targets can be loaded from it in the same way as you would do with regular files. A change in the .target files, or newly added target files allow a recompilation of the targets npz file before the change is applied.
== Proxy format ==
A proxy is a fitting of an arbitrary mesh (for example clothes or a hairstyle) to the basemesh. A proxy asset is distributed as a mesh file together with this fitting file (what we call the proxy file), allowing this mesh to be fitted on different modeling variations of the human within MakeHuman.
=== v1.0 format ===
The 1.0 format got introduced in the v1.0 release of MakeHuman, but was already present in the Alpha 7 (A7) release. The format got reworked a bit for 1.0, however.
==== Example ====
This is an excerpt from the fedora distributed with MakeHuman
# Exported from MakeClothes (TM)
# author Jonas Hauquier
# license AGPL3 (see also http://www.makehuman.org/node/320)
# homepage http://www.makehuman.org/
uuid 566dbd52-71d1-4d76-a799-0474a5a384db
basemesh hm08
tag Hats
name fedora
obj_file fedora.obj
x_scale 5399 11998 1.4800
z_scale 962 5320 1.9221
y_scale 791 881 2.3298
z_depth 50
material materials/fedora.mhmat
verts 0
251 5243 5244 0.60391 0.28706 0.10903 -0.00245 0.01323 0.03373
7020 11853 11852 0.53311 0.29591 0.17097 0.00529 0.01134 0.03388
7678 7000 7707 0.22571 0.34923 0.42506 0.00946 0.03331 0.04954
984 983 1015 0.17322 0.18383 0.64295 -0.00575 0.03634 0.05443
1014 226 982 0.12607 0.67880 0.19513 -0.00934 0.03289 0.04891
250 5245 5232 0.54148 0.48285 -0.02433 -0.01273 0.01129 0.03202
7746 7712 12153 0.16168 0.32394 0.51438 0.02696 0.11561 0.09667
5556 5554 1013 -0.03554 0.63140 0.40413 -0.01650 0.11949 0.10646
5560 5556 1020 0.34178 0.11896 0.53926 -0.03442 0.11513 0.09756
1013 7712 7721 0.24117 0.40913 0.34971 0.03897 0.20473 0.13559
1013 882 1029 0.71875 0.41604 -0.13479 -0.02631 0.22391 0.13840
1029 1020 1013 0.36342 0.60536 0.03123 -0.03890 0.20439 0.13536
7712 7721 882 0.21674 0.67896 0.10430 0.02804 0.23763 0.15510
1013 882 1029 0.30269 0.87853 -0.18122 -0.02994 0.25488 0.15754
1029 1020 1013 0.79483 0.03879 0.16638 -0.04433 0.23290 0.15424
5370 5368 969 -0.08854 0.29827 0.79027 -0.01789 0.14173 -0.15713
11971 7713 969 0.28241 0.33962 0.37797 0.01910 0.14921 -0.16563
11971 7713 969 0.05967 0.69236 0.24796 0.01670 0.13045 -0.14480
5370 5368 969 -0.07249 0.07305 0.99945 -0.01517 0.12017 -0.13323
969 1021 5370 0.20926 0.73057 0.06018 -0.01674 0.13078 -0.14517
969 1021 5370 0.33927 0.37782 0.28291 -0.01914 0.14955 -0.16600
5379 969 7713 -0.00113 0.07709 0.92403 0.01192 0.06520 -0.14994
1021 969 5379 -0.05590 0.97961 0.07629 -0.01124 0.06148 -0.14138
1021 969 5379 0.96289 0.03946 -0.00235 -0.01195 0.06537 -0.15033
11982 11981 7713 0.14728 0.42350 0.42922 0.01740 0.04655 -0.11033
1021 969 5379 -0.03656 0.34361 0.69295 -0.00834 0.04564 -0.10495
1021 5381 5382 0.43027 0.37607 0.19367 -0.01752 0.04687 -0.11110
11981 11982 7738 0.30937 0.48274 0.20789 0.00929 0.00889 -0.07280
5379 962 1022 0.56542 0.43776 -0.00318 -0.00327 0.01206 -0.08469
The rest of the file is very similar, it continues listing vertex fittings to the basemesh.
==== Vertex assignments ====
The format contains matchings in the following format:
vIdx1 vIdx2 vIdx3 w1 w2 w3 d1 d2 d3
vIdx is an index of a vertex on the basemesh
w is a weight of the corresponding vertex
d1,d2,d3 are optional (default to 0) and defines an offset
The format contains one such lines for every vertex in the proxy mesh, the order of the lines is the same as the order of vertices in the proxy mesh.
The format also supports an alternative fitting, referencing exactly one basemesh vertex, which is used for exact fitting: the proxy mesh vertex is placed in the exact same location as the basemesh vertex it is associated with.
vIdx
The file format allows mixing these two types of fittings on a per-vertex basis.
==== Properties ====
Every proxy should have a unique uuid (which can be generated using the python uuid module using uuid.uuid4()), a name, description, author and license information.
One or multiple tags can be added, each on a new line prepended with "tag".
A proxy references a material file and an OBJ mesh.
z_depth determines the rendering priority of the object (important for transparency) and the layer of clothing. It is used by face masking to determine which piece of clothing masks another.
The scale parameters define a bounding box referencing vertices on the human between which the proxy should be scaled. They are modified in makeclothes by selecting a clothing part.
=== v1.2 format ===
Starting from v1.2, a new algorithm for handling proxies is introduced, based on Manuel Bastioni's Lab experiments.
The new format uses a local normal space instead of global coordinates, making it more stable, even across different poses. It is also a lot easier for an artist to create new proxies, as it requires only one button press, instead of having to deal with vertex groups.
Future MakeHuman versions will contain backwards compatibility support for v1.0 proxies, but the new format is recommended for creation of new content.
The layout of this format is largely the same as the old format, with a version parameter specifying that this file should be interpreted as a new style proxy.
==== Example ====
# Exported from MakeClothes (TM)
# author Jonas Hauquier
# license AGPL3 (see also http://www.makehuman.org/node/320)
# homepage http://www.makehuman.org/
uuid 566dbd52-71d1-4d76-a799-0474a5a384db
basemesh hm08
tag Hats
version 120
name fedora
obj_file fedora.obj
z_depth 50
material materials/fedora.mhmat
verts 0
vIdx1 vIdx2 vIdx3 vIdx4 dx dy dz
It looks a lot like the v1.0 format, only the scale is no longer needed, and the vertex assignments have a new format.
The "version 120" is required to indicate that this file should be interpreted to use the new proxy fitting algorithm.
vIdxi references the vertices of a polygon of the basemesh
dx dy dz is the distance (delta) vector between the polygon center and the proxy mesh vertex.
=== Binary proxy ===
Proxies, as well as their meshes, can be compiled into a more compact binary variant that is faster to load and smaller to distribute. MakeHuman will do this automatically for proxies in the home path. Files in the installation path will have to be compiled manually by running the compile_proxies.py and compile_meshes.py scripts. Usually these scripts are ran when a distribution is created, so need not to be repeated by the end user, unless MakeHuman is used from source.
== Material format==
=== Introduction ===
MakeHuman material files have extension .mhmat and are simple ASCII definitions
of the material settings to use for rendering.
These material settings are primarily intended for configuring the material
system within MakeHuman, but they are usually carried out to other software as
well by the exporters.
Not all properties will be supported for all given combinations of shaders, nor
is there a guarantee that the exporters will honor all the properties in these
files.
Every 3D object in MakeHuman has exactly one material attached to it (multiple
materials are not possible, you need separate objects for that). Materials are
used for proxy meshes (clothes, hairs, ...) but also for the skin of the human
itself.
=== The Material System ===
The MakeHuman material system is closely based on the [https://en.wikipedia.org/wiki/Rendering_equation standard rendering equation]
as is used in OpenGL and DirectX forward rendering pipelines. MakeHuman supports
shaders and the material format contains the most commonly used extensions in
real-time rendering. As a consequence of this, users need to be aware of the
implications of setting values such as ambient too bright, or diffuse too dark.
All usual rules about rendering materials apply.
At the highest level, the material supports setting the most basic material
properties, such as diffuse, specular and ambient color. These are supported
both by shaders as well as the fixed function shading pipeline (which is used
when no shader is specified). Fixed function also supports the diffuse texture
option.
At a second level, a shader can be chosen. This refers directly to the filename
of a [https://en.wikipedia.org/wiki/OpenGL_Shading_Language GLSL shader] as found in the data/shaders/glsl folder of MakeHuman.
The selected shader will determine what material options will be available.
At the third level, various additional settings become available, depending on whether or not the
chosen shader has support for these features, such as bump or normal mapping,
ambient occlusion, specular mapping, etc.
For most of these, a texture map and a scalar property between 0 and 1 can be
set, the latter determining the intensity or influence of the effect.
Finally, MakeHuman also contains a built-in offline renderer that supports some
additional properties such as subsurface scattering, for which some special
properties are available.
=== Example ===
This is a full and complete (but fictional) example of a material file for MakeHuman, it shows all the available properties.
# Example MakeHuman Material definition
name Material_name
tag some_tag
tag another_tag
description material description text here
ambientColor 0.11 0.11 0.11
diffuseColor 1.0 1.0 1.0
specularColor 0.0470588235294 0.0470588235294 0.0470588235294
shininess 0.96
emissiveColor 0.0 0.0 0.0
opacity 1.0
translucency 0.0
shadeless False
wireframe False
transparent True
alphaToCoverage True
backfaceCull False
depthless False
autoBlendSkin False
castShadows True
receiveShadows True
diffuseTexture diffuse_texture.png
bumpmapTexture bumpmap.png
bumpmapIntensity 1.0
normalmapTexture normalmap.png
normalmapIntensity 1.0
displacementmapTexture norm_displacement.png
displacementmapIntensity 1.0
specularmapTexture specular.png
specularmapIntensity 1.0
transparencymapTexture alpha.png
transparencymapIntensity 1.0
aomapTexture ambient_occlusion_map.png
aomapIntensity 1.0
# Sub-surface scattering parameters
sssEnabled True
sssRScale 5.0
sssGScale 2.5
sssBScale 1.0
shader shaders/glsl/litsphere
shaderParam litsphereTexture litspheres/lit_hair.png
shaderConfig ambientOcclusion True
shaderConfig normal False
shaderConfig bump True
shaderConfig displacement False
shaderConfig vertexColors True
shaderConfig spec True
shaderConfig transparency True
shaderConfig diffuse True
shaderDefine ALPHA_MAP
uvMap alt_uv_coords.mhuv
This is another example, this time a real one. It is the X-ray material, used for example when showing the skeleton:
# Material definition for XrayMaterial
name XrayMaterial
ambientColor 0.1 0.1 0.1
diffuseColor 1.0 1.0 1.0
specularColor 0.3 0.3 0.3
shininess 0.1
emissiveColor 0.0 0.0 0.0
opacity 0.1
translucency 0.0
transparent True
backfaceCull True
shadeless False
wireframe False
depthless False
shader data/shaders/glsl/xray
shaderConfig diffuse False
shaderConfig transparency False
shaderConfig normal False
shaderConfig bump False
shaderConfig spec False
shaderConfig vertexColors False
shaderConfig displacement False
=== Explanation of material properties ===
==== Standard settings ====
''ambientColor'', ''diffuseColor'' ''specularColor'', ''emissiveColor'' are the standard colors
as used in the [https://en.wikipedia.org/wiki/Rendering_equation rendering equation]
or in standard OpenGL.
Their corresponding intensities are simple scalars with a value between 0 and 1 and are multiplied
with the colors to dim them. Default these intensities are set to 1.
Colors are described as three floating point numbers, representing R G B, or red-green-blue
values. 1 is the maximum, 0 the minimum.
For example 1.0 0 0 means fully red, 1 1 1 means full white, 0 0 0 is full black.
0.5 0.5 0.5 will give you a grey middle color.
''opacity'' determines the opaqueness of the object (alpha channel), with 1 being fully
opaque, and 0 being fully transparent (invisible)
''translucency'' is something that came from Blender but is unused
''shininess'' or specular hardness is a number between 0 and 1 determining the shininess constant of the [https://en.wikipedia.org/wiki/Phong_reflection_model phong shading model].
==== Texture maps ====
Various standard texture maps can be defined on the material, like ''diffuseTexture'', ''bumpmapTexture'', ''normalmapTexture'', ''displacementmapTexture'', ''specularmapTexture'', ''transparencymapTexture'', ''aomapTexture''. Each of these also has an associated intensity value, which is a scalar from 0 to 1 multiplied with the pixel value of that texture (unless a specific shader implements it differently).
These textures only have an effect if their corresponding shaderConfig feature has been defined (see the table in Shaders section).
==== Render states ====
When ''wireframe'' is set to True, the model is drawn in wireframe mode. In this mode,
most material properties have no effect, but you can enable the vertexColors shaderConfig
to be able to change the color of the mesh using vertex colors (this requires
access to the mesh programatically, obj meshes do not support vertex colors).
This feature is used in some parts of MakeHuman, for example viewing bone weights
in the skeleton debug plugin.
Set ''shadeless'' to True to disable shading, eg. the object is not affected by lights.
Configured shader will have no effect
Set ''transparent'' to True to enable transparency rendering (usually needed when opacity is < 1)
In itself this does not change the visual appearance of the model, but this setting
should be enabled if your texture contains (semi-) transparent parts. This setting
instructs the renderer to disable depth buffer writes (glDepthMask(false))
and enables alpha testing and blending so that transparent surfaces can overlap and to allow [https://www.opengl.org/wiki/Transparency_Sorting alpha blending].
''alphaToCoverage'' Applies when transparent is set to True (otherwise does nothing).
It requires that your GPU supports alpha to coverage (A2C) rendering. It enables
the A2C feature which provides face order-independent alpha rendering. This works
very well for complex transparent meshes, like hair. At the cost of a slightly
dithered look, it solves all the problems with face sorting that are usually
involved in rendering semi transparency.
(This feature disables anti-aliasing for this object because the multisample buffer is used for alpha blending instead)
Set ''backfaceCull'' to False to disable backface culling (render the back side of polygons)
By default, and in most cases, this should be set to True, but can be useful
in some cases (for example, we disable back-face culling for the eyebrow materials).
Set ''depthless'' to True for depthless rendering (object is not occluded and does not occlude other objects).
This disables OpenGL depth writes and tests. In practice, this makes object faces that should be occluded shine through others.
''castShadows'' determines whether the object casts shadows on other objects.
''receiveShadows'' determines whether the object receives shadows from other objects.
For some features, like eyes, you probably want to disable shadow receiving.
Since MakeHuman does not (yet) implement shadow casting, the shadow settings have
no effect in MakeHuman, but they do export to other engines.
Play around with these settings in the Material Editor plugin to see their effect, that's the best advise I can give you.
The best way to find out which settings work for an asset, is simply to try them out.
==== autoBlendSkin ====
If True MakeHuman will set the diffuse color based on the ethnix mix set for the character.
Any diffuseColor set in the material file will be overridden by this.
Also the shaderParam litsphereTexture will be automatically set to a dynamically blended litsphere texture,
which is a mix of three litsphere materials (afro, asian, caucasian) depending on the ethnic mix of the character.
This latter is specifically intended to be used with the litsphere shader, and it is what you see as default material when you start MakeHuman
This overrides whatever shaderParam litsphereTexture was set in the material file.
This setting is intended only for skin materials.
==== shaderParam ====
Define a custom shader parameter (uniform), which might be required for some non-standard shaders.
For example, the litsphere shader takes an extra type of texture map as input, a so-called litsphere texture.
This generic system of mapping shader uniforms allows you to create specialised shaders that take
new and different kind of inputs, and allow configuring the shader from the material file.
shaderParam can be a list of floating point numbers, in which case it will be interpreted as a vector,
or it can be a file path, in which case it is assumed to be an image path.
Internally in MakeHuman, shaderParams can also be assigned a texture object, which allows
for dynamically passing a texture that is in memory, but perhaps not stored on disk.
Another example of a custom shaderParam is the X-ray shader that defines an edgefalloff
and intensity uniform parameter.
These could be changed from the material file with
shaderParam edgefalloff 0.8
shaderParam intensity 0.77
==== shaderDefine ====
shaderDefines allow enabling or disabling custom shading techniques in shaders.
These allow to define new shading techniques, apart from the pre-defined ones
such as normal mapping, specularity mapping, ...
It's a generic system that allows new shaders to be added and configured from
the material file, or from the material editor (which nicely auto-detects these
features in the shader and shows a set of checkboxes for them).
==== uvMap ====
Load custom UV coordinates on the mesh to use this material. This makes the material
completely dependent on the mesh it is used with.
Takes a path to a .mhuv file, which is actually just an .obj file, where the vertex
positions can be deleted (they can remain in there, but they are ignored).
Requirement for it to work is that the vertex order is the same as that of the
mesh obj.
An example uv map for the basemesh can be found in data/uvs/a7.mhuv, which is a
set of UV coordinates compatible with the old Alpha 7 mesh, allowing you to load
A7 textures on the new basemesh used in MakeHuman v1+
==== SSS properties ====
These are the so-called sub-surface scattering shading properties, currently only used by the built-in offline renderer. They were decided on while trying to figure out the most generic way to define SSS shading properties, so that they could easily be translated into SSS properties for a different renderer (as no single renderer that I know of has a standard for these). It's uncertain whether the format we have landed on currently is the best, or whether this will remain permanently or is still likely to change.
This setting should currently be considered experimental.
The properties are ''sssEnabled'', ''sssRScale'', ''sssGScale'' and ''sssBScale''.
=== Basic pointers for creating materials ===
* You can test the influence of material properties using the Material Editor plugin (which you can enable in Settings > Plugins, then restart)
* Using a diffuse texture? You probably want to set the diffuse color to 1 1 1 (pure white)
* Never set ambient color too bright, or your model will look completely white. 0.1 0.1 0.1 is a good value to start from.
* Emissive is usually set to black, unless you want a radioactive character
* Don't know how to define a color in numbers? Try the Material Editor plugin
* Higher shininess means smaller and sharper highlight, lower shininess makes the highlight larger and more blurred
* Reduce specular color to reduce the specularity, make it black for a rough and non shiny object
* opacity 1 means fully opaque, 0 means fully transparent (invisible)
* Do your (diffuse) textures contain transparency? Do not forget to enable transparency! Perhaps try if alpha-to-coverage improves the situation (especially for hair!).
=== Scene definition ===
To complete the rendering equation, you also need to define the scene. To be
more precise, the positions, types, color and intensities of the lights need to
be set. By default, MakeHuman only has a default scene with only one pointlight.
In MakeHuman, lights do not move if the camera is moved, or rather, the model is
rotated while the camera and lights remain static. So light positions are defined
relative to the camera position.
MakeHuman scenes are defined in .mhscene files, which are binary py-pickled files.
They can be created or modified using the Scene Editor plugin (can be enabled in
settings) and can be selected from the Scene library in the Render tab.
Fixed function shading pipeline supports up to 8 lights, specific light support
depends on the shader used, some shaders only support a certain type or number
of lights, other ignore the chosen scene altogether (for example the litsphere
shader that uses pre-baked environment lighting).
The built-in offline renderer also uses the specified scene.
Scenes are not exported along with the model.
=== Shaders ===
The most powerful functionality of the material system is unlocked when using
shaders.
MakeHuman shaders are intended to be written in a modular way, so that shading
features can be enabled or disabled using the material format. Examples of such
features are bump mapping, normal mapping, specular mapping, diffuse texturing,
ambient occlusion and displacement mapping.
MakeHuman includes a basic introspection function that allows it to determine
what features a shader supports. It accomplishes this by looking for #ifdef and #ifndef statements. If a shader supports a certain technique, it is supposed to
encapsulate this in #ifdef NORMALMAP ... #else ... #endif statements.
The idea is that of an [http://www.gamedev.net/topic/659145-what-is-a-uber-shader/ über shader], where performance is optimized by removing any dynamic branches (if then that) from shader code, and instead managing the features using defines and pre-processor branches.
When a different branch in the shader is activated, the shader code is recompiled entirely.
Instead of having different shaders for different features (eg. a specific normalmap shader to be able to do normal mapping), one general shader could be used instead, and normal mapping can simply be enabled or disabled from the material properties, without being required to swap shaders (a good default uber shader is [http://bugtracker.makehumancommunity.org/issues/160 still to be created for MakeHuman] Any help with this is welcome of course!).
The material system manages these shading functions by defining specific pre-processor
keywords when their corresponding shaderConfig property is set to true.
Shaders are recompiled when needed and stored in a shader cache for efficiency.
MakeHuman passes scene and material information to the shaders by certain uniform
parameters. Depending on which shaderConfig properties were enabled, additional
uniforms could be exposed to the shader. The shader does not have to declare all
these uniforms, however. MakeHuman binds only those uniforms present in the shader
if they have the right corresponding names.
Other properties are available from the OpenGL built-in uniforms or properties
(usually starting with gl_).
The following table lists these defines and the shaderConfig properties in the
material they relate to:
{| class="wikitable"
|-
! feature name
! shaderConfig
! shader #DEFINE
! exposed uniform parameters if enabled
! comment
|-
|default (always enabled)
|
|
|vec3 ambient, vec4 diffuse, vec4 specular, vec3 emissive
|diffuse and specular are 4-component color values, diffuse=[rgba] with a=opacity and specular=[rgbs] with s=shininess
|-
|Vertex coloring
|vertexColors
|VERTEX_COLOR
|
|Derive diffuse color from vertex colors
|-
|Diffuse texturing
|diffuse
|DIFFUSE
|diffuseTexture
|
|-
|Bump mapping
|bump
|BUMPMAP
|bumpmapTexture, bumpmapIntensity
|disabled if normal mapping is enabled (restriction might be lifted in the future)
|-
|Normal mapping
|normal
|NORMALMAP
|normalmapTexture, normalmapIntensity
|
|-
|Displacement mapping
|displacement
|DISPLACEMENT
|displacementmapTexture, displacementmapIntensity
|
|-
|Specularity mapping
|spec
|SPECULARMAP
|specularmapTexture, specularmapIntensity
|
|-
|Transpareny (alpha) maps
|transparency
|TRANSPARENCYMAP
|transparencymapTexture, transparencymapIntensity
|
|-
|Ambient occlusion maps
|ambientOcclusion
|AOMAP
|aomapTexture, aomapIntensity
|
|}
Additionally, MakeHuman exposes the vertex tangent as a vertex property, which
can be accessed by the shader.
attribute vec4 tangent
Currently, [http://www.terathon.com/code/tangent.html Lengyel’s Method] for tangent calculation
is used, but plans are to change this to [http://bugtracker.makehumancommunity.org/issues/87 mikktspace] in the future.
Shader examples for MakeHuman can be found here:
* Litsphere shader: [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/litsphere_vertex_shader.txt vertex][https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/litsphere_fragment_shader.txt fragment]
* Phong shader: [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/phong_vertex_shader.txt vertex][https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/phong_fragment_shader.txt fragment]
* Normal map shader (wip): [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/normalmap_vertex_shader.txt vertex] [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/normalmap_fragment_shader.txt fragment]
* X-ray shader: [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/xray_vertex_shader.txt vertex][https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/xray_fragment_shader.txt fragment]
==== Custom shader properties ====
Shaders can use non-standard #DEFINEs to allow enabling or disabling non-standard shading features, other than the ones that were foreseen in the material format (such as normal mapping, ...)
To add new ones, simply add #ifdef SOME_FEATURE statements to your shader code, the material system will automatically detect them.
From the material, you can enable them with
shaderDefine SOME_FEATURE
If not defined, the feature is assumed to be switched off.
A custom shader can also add new parameters to tweak. For example a color value or intensity value that influences the shading.
To do this, the shader author can simply add new uniform variables to their shader code. It is recommended to specify a default
value for them, so that if the material file does not explicitly mention them, they receive a sensible default value.
Example: the X-ray shader adds an edge-fallof property:
uniform float edgefalloff = 1.0;
From the material file, you can influence this value with:
shaderParam edgefalloff 0.5
shaderParam supports lists of float values (one or multiple, divided by spaces), eg
shaderParam edgecolor 0.7 0.3 0.4
or textures, by specifying a path to an image file (in which case they are assumed to be Sampler2D type)
Additionally, from within MakeHuman, they can be passed a Texture object, to dynamically pass them a texture that resides in memory, without the need for the texture to be stored in a file on disk.
This allows to dynamically alter the texture and have it displayed directly. MakeHuman takes care of caching the texture and updating it when it is modified.
For example, the auto skin tone blending of the litsphere texture is implemented in this way.
The material system will automatically detect these custom uniform parameters declared in the shader, for example the material editor plugin will present them in the GUI.
These features make for a general and extensible shader system.
==== Dynamic shader configuration in Material Editor plugin ====
Take as example this screenshot, which shows how the X-Ray shader, mentioned earlier, can be configured.
[[File:Mh_material_editor.png]]
In the shader selector, xray was chosen. This opens up a few new options to configure.
Notice that on the top right the custom shader uniforms edgefalloff and intensity that we mentioned earlier were automatically detected. The shader author had to do nothing else than to define these uniform parameters in his shader code, and define a sensible default for them. A material using this shader can customize these properties using the shaderParam option, which can be altered visually in the top right of the material editor. Changes in the material editor take effect immediately, so you can directly preview your changes.
Also notice in the bottom left that the material editor shows the available shaderConfig parameters. Some of these are greyed out, which means they are not available, or the condition for them is not met (for example, to be able to enable normal mapping, you need to choose a normal map texture on the right panel. If the normal map property is greyed out on the right side, then this particular shader does not support normal mapping).
Let's take a look at a second example.
[[File:Mh_material_editor2.png]]
Here we see the litsphere shader. This shader is different from the other shaders in the sense that it completely ignores the lighting of the scene, and instead lights the model with a texture containing pre-baked lighting conditions, a so-called [http://www.cs.utah.edu/~wmartin/pubs/LitSphere.pdf litsphere] texture.
This shader, being so different, requires a different sort of input, a custom input texture: the litsphere texture.
The shader author simply defined this uniform parameter in his shader code, and as you can see in the top right corner, the material editor shows a texture selector for this property. Using it, the user can select a litsphere texture to feed to the shader.
The litsphere shader also has two different alternative techniques that can be enabled or disabled by the user.
These two features, which can be enabled using shaderDefine statements in the material file, are automatically detected by the material system, and shown in the bottom left of the material editor. Enabling them is as simple as checking the checkbox.
One of these custom shading features is alpha mapping (defined by ALPHA_MAP), which allows to sample alpha transparency from an additional texture.
For this texture, an additional uniform property, named alphaTexture was declared in the shader, but it was written down in a way that it is only declared if the ALPHA_MAP token is defined.
In the shader code:
#ifdef ALPHA_MAP
uniform sampler2D alphaTexture;
#endif
If you check the ALPHA_MAP_checkbox, you will notice that on the top right, an extra texture selector will appear.
These examples show how the material editor can help exploring the different settings that are available in shaders.
e766b66b4498b7b9bf14d08fefa34556265b2a66
602
601
2016-02-02T01:05:08Z
Duststorm
19
/* Example */
wikitext
text/x-wiki
== Vertex weights ==
With vertex weights we intend a weighted mapping of vertices of a mesh to a bone of a skeleton. The weight is a value between 0 and 1, the sum of these weights for each vertex should be normalized, which means they should sum to 1 (note: no euclidian distance, just simple addition of all weights). A weight map in MakeHuman is expressed as a bone name (becomes a bone index internally, using the index of the bone in a breadth-first list relative to skeleton structure), a vertex name and a floating point weight between 0 and 1. This weighted vertex to bone mapping is used for skinning (posing and animating, using vertex skinning, smooth skinning or linear blend skinning algorithm). For the skinning algorithm to work correctly it’s required that the weights are always normalized, otherwise you will see vertices move out of place disproportionally (though the weight loading code in MakeHuman ensures that this normalization always happens, so this is not a concern to the artist that defines the weights). The vertex weights can be exported to external tools as well using formats such as collada (DAE), FBX, Ogre3D meshes or MD5 quake meshes.
=== Vertex weights and skeletons ===
Vertex weights are defined for the default “master” skeleton or rig. They are defined in a json file with jsonw extension. They link each vertex of the basemesh including helpers to a named bone of this master rig, together with a certain weight.
The weights loader automatically removes doubles and normalizes the weights (so that they sum to 1). It also reports what the maximum number of bone weights per vertex is, additionally it allows compiling the weights to a reduced set with n number of bone weights, and automatically renormalizes those weights so they, again, sum to 1.
When loading weights, any vertex that receives no weighting is assigned to the root bone, as this is needed for skinning to prevent all those vertices jumping to the origin (0*pos == 0).
Alternative skeletons can define their own weights, by referencing a weights file just like the master rig, or they can choose to derive their weights from the master rig, through so called reference bone mappings. Skeletons will derive their weights from the master rig if they do not specify a weights file explicitly. Custom vertex weights in alternative rigs override those defined on the master rig, except in the case where a proxy defines its own vertex weights. See section Vertex weights for proxies for more details.
=== Reference bones for vertex weights and poses ===
Reference bones are defined on alternative rigs, they are a list of names of bones contained in the master rig. Every bone of an alternative rig can have such a list of reference bones. An alternative rig can also omit these references if it uses the same name as bones in the master rig, in which the mapping is implicit. Having a list of bone references always overrides the implicit mapping. Reference bone mappings are required for two purposes.
They are used for mapping poses defined on the master rig to other rigs. All poses are defined as BVH files that pose the master rig, so they reference only the bone names of the master rig. Poses are applied to all other rigs by using the reference bone mapping: all the rotations that the pose applies to the referenced bones are combined (in the order in which the references were specified -- note: rotations are NOT commutative) and are applied to the alternative rig bone.
Reference bone mappings can also be used for determining vertex weights of custom rigs. If the alternative rig does not explicitly define its own vertex weights, the mapping of reference bones is used to infere a set of bone weights for each bone: All the weights of the reference bones on the master rig (with the weights definition of the default/master rig) are combined and apply to the bone of the alternative rig. Doubles are merged, and weights renormalized. Any vertex that is not weighted will be assigned to the root bone. Watch for messages in the log to verify this.
=== Vertex weights for proxies ===
Generally proxies are mapped to basemesh geometry, that means either to the body or to helpers, or a combination of both (though this is unusual). Proxies derive their vertex weights from the vertices on the basemesh on which they are fitted. A proxy defines its fitting as a 3d offset from one or three vertices on the basemesh, allowing it to deform as the human deforms. This mapping is used to transfer the vertex weights from basemesh to proxy: a proxy vertex referencing three basemesh vertices gets the bone weights of those three vertices. Doubles are merged and the weights are normalized, so that the influence factors are averaged or smoothed. In this case the weights applied to proxies are always those defined on the skeleton: either the weights explicitly defined on the skeleton, or the weights obtained from remapping the master rig weights to this skeleton using the reference bone mapping mentioned in the previous sections. There is an exception to this, which is explained in the next paragraph.
A proxy can explicitly define its own vertex (to bone) weights. In this case it overrides the weights that would be obtained through the proxy mapping, and replaces them by its own custom definition of weights. These vertex weights are always defined to reference the bones of the master rig (default skeleton), so they need to be remapped to other skeletons using reference bone mapping. This also means that the custom weights of a proxy override any custom weights mapping that might be loaded with an alternative rig (but only for that proxy item). Custom proxy weights should be avoided if possible, but are in some cases required, eg. for properly rigging shoes which are rigidly fitted to feet, or an alternative topology which defines very accurate rigging on the face. The general advice for custom rigs is therefore to stay as close to the master rig as possible, reusing as much bones identically as possible, to achieve the best results for proxies with custom weights.
In case of custom weight, the mhclo file must contain a line to indicate the weight file to use, using the keyword “vertexboneweights_file”, with the syntax:
vertexboneweights_file filename.jsonw
== Targets and modifiers ==
MakeHuman applies targets on the human by means of modifiers. Such a modifier has a value (usually between [0, 1] or [-1, 1]) that determines the effect of it on the human mesh. A modifier can control one or more targets and in apply the mixed sum of them on the mesh. Some modifiers.
=== Organization of targets ===
To make sure targets are linked to the right modifier, or to make managing targets easier, a certain discipline has to be observed in managing them. Targets are ASCII files in the data/targets or data/custom folder (in program or user folder) with a file extension of .target.
The file name and folder targets are in implicitly determines their group name. A group is identified by a sequence of tags or tokens, which are taken from the file and folder name of each target, and which can be delimited by “-” symbols, to include multiple tokens in a single file or folder name. The lib/targets.py module takes care of loading all the names of the available targets and assembles them into groups. All targets with the same tokens end up in the same group. This allows easy querying and requesting of targets. The creator is pretty much free to decide what groups to create for their targets. By passing the name of the target group to a modifier, they can make sure that modifier controls the targets belonging to this group. It does not matter whether you use folders or - delimited file names for creating groups.
An example:
data/targets/cartoon/eyes-large.target is categorized in group (cartoon, eyes, large)
data/targets/cartoon-eyes-large.target is also categorized in group (cartoon, eyes, large)
Most simple modifiers work by specifying a group (for example cartoon-eyes) and a set of two tokens to append at the end, depending on the position of the modifier slider (eg. small, large which would allow controlling the targets cartoon-eyes-small and cartoon-eyes-large by moving the slider to the left or right).
=== Reserved group tokens ===
Some of the tokens in the file or foldername of targets are linked to values that variables of the human can have. Such variables are for example age, weight, muscle, gender.
This table lists all the reserved tokens, and the variables they belong to.
{| class="wikitable"
|-
! Reserved token (value)
! Variable
|-
| female,male
| gender
|-
| baby, child, young, old
| age
|-
| african, caucasian, asian
| race
|-
| minmuscle, averagemuscle, maxmuscle
| muscle
|-
| minweight, averageweight, maxweight
| weight
|-
| minheight, averageheight, maxheight
| height
|-
| mincup, averagecup, maxcup
| breastsize
|-
| minfirmness, averagefirmness, maxfirmness
| breastfirmness
|-
| uncommonproportions, regularproportions, idealproportions
| bodyproportion
|}
Note that it is not a good idea to use simply “max” or “min” as a reserved token name, because they need to be unique (otherwise it would not be possible to determine whether they are a minimum for, for example, weight or height). These reserved tokens are declared in the lib/targets.py module. The variable can be set and queried on the human object, for example human.getAge(), human.setMuscle(0.7), human.getProportion().
The reserved tokens are NOT included in the group name, so you should at least include some other, non-reserved tokens in the file or folder names to assign your target to some meaningful group. The inclusion of these reserved tokens in your target names or paths makes it convenient to create macro modifiers.
=== Macro targets and modifiers ===
Macro modifiers are modifiers whose effect (the combination of targets they apply on the human) is influenced by macro variables set on the human (eg. human.set/getAge()). Therefore, macro modifiers often control a large set of targets (20 or even more). It’s also common for multiple modifiers to control exactly the same set of targets, for example the standard age/gender/race sliders all control the set of targets in the ‘macrodetails’ group. Each slider modifies a different variable (eg. human.setAge()) controlling the set of targets, and then reapplies a combination of the same set of targets on the human.
=== Macro modifier dependencies ===
There are other macro modifiers that can also depend on the same variables age, gender, race that is controlled by the main macro modifiers, as discussed above. For example the macro modifiers that influence the weight and muscle mass of the human, controls the targets group “macrodetails-universal”, the universal token is added by prepending “universal-” to all the file names of related targets, which all reside in the folder “macrodetails” (thus macrodetails-universal ends up being the group name). They could have been included all in the “macrodetails” group, but are kept separate for performance reasons, so that the “macrodetails” group of targets (which already contains some 40 targets or so) can be applied in realtime while moving the slider.
Of course a change in the variable that these age/race/gender modifiers control will have an effect on the macrodetails-universal modifiers (because they control targets that depend on age -- their targets include -young- -old- etc. tokens in their filenames). This means there are inter-dependencies between macro modifiers, if one is updated, another one that depends on it should be refreshed. These dependencies can be descibed as follows: one macro modifier controls exactly one macro variable (such as age). It (or rather, the targets it controls) can however depend on multiple macro variables. The trivial case is where a macro modifier only depends on the macro variable that it controls itself. The tracking of these dependencies and deciding which modifiers must be updated when another is changed happens automatically. Dependencies are automatically tracked as soon as you add a modifier to the human (by calling modifier.setHuman(human)). To make this more performant in real-time, the propagation of updates to modifiers is limited while sliders are dragged (see realtimeDependencyUpdates in apps/humanmodifier.py).
As you might have understood, creating modifiers that depend on human variables is almost automatic. The only thing you need to do is create some targets that resolve to the same group name, add variations for all the macro variables you want and add the proper reserved tokens to the file or folder name (refer to the left column in the table above), and create a modifier with this group name. Once added to the human, the dependencies are tracked automatically.
=== Organization of modifiers ===
We already discussed how we organized targets in groups, to make it easier to connect them to a modifier. Now we will discuss how we can do a similar thing for modifiers.
Modifiers provide an easy way to manage targets. They allow reducing many of hundreds of targets to a more manageable number of controllable properties. But even then, we still have about 100 modifiers, which is still quite a lot. Therefore we group them in groups of categories, much like we do in the GUI. This makes it easy to get a grouped overview of all modifiers when using an alternative interface, think of commandline or scripting. The way in which you declare the group and other properties of a modifier determines what target groups it gets its targets from.
Modifiers are declared with a group name, some intermediary “target name” and a number of tail tokens (2 or 3 usually, eg min/max). The group of targets controlled by these modifiers is composed as: groupname-targets_name-tail.
Macro modifiers are declared with a group name, and a controlled variable. The groupname must be the same groupname of the targets they control.
=== Declarative modifiers ===
Instead of hard coding what modifiers you want to instantiate, MakeHuman offers a data-based format to declare what modifiers should be created, and how they should be shown in a user interface with sliders.
A full declaration requires three files, all stored in data/modifiers. The first is the declaration of the modifiers (eg. modeling_modifiers.json). This format lists a modifier group name, and all the modifiers with their macro variable (if they are macro modifiers) or target name and 2 or 3 (if they are a modifier with a center point) tail tokens.
The second file adds a description to the modifiers declared in the first file. It basically contains a key-value set, referencing the modifier name, and a textual description of what the modifier controls. A modifier name is constructed as follows: group/targets_name-all|the|tails and for a macro modifier: group/variable
The third file defines how these modifiers should be shown in the user interface as sliders. It lists a set of categories, and the sliders to show in them, and how their values have to be saved in a mhm file (mainly a feature for legacy compatibility).
=== Your own plugin with modifiers, sliders and targets ===
Using the declarative data format described in the section above, it’s really simple. Have a look at the plugin plugins/0_modeling_0_modifiers.py. Notice it’s barely 5 lines of code. Creating your own modeling plugin is as simple as that, pointing it to your own modifier data files.
=== Binary targets ===
Because loading these ASCII target files, and iterating all target files and folders can be slow (especially on windows) in build versions, we compile all targets in the data/targets system folder into a single binary file, that furthermore acts exactly the same as multiple target files. The binary targets file is stored in the system data/ folder and is called targets.npz, it is created by running the compile_targets.py script, which is also automatically run in the build_prepare.py build routine. The file structure of the targets files is maintained in this binary file so that targets can be loaded from it in the same way as you would do with regular files. A change in the .target files, or newly added target files allow a recompilation of the targets npz file before the change is applied.
== Proxy format ==
A proxy is a fitting of an arbitrary mesh (for example clothes or a hairstyle) to the basemesh. A proxy asset is distributed as a mesh file together with this fitting file (what we call the proxy file), allowing this mesh to be fitted on different modeling variations of the human within MakeHuman.
=== v1.0 format ===
The 1.0 format got introduced in the v1.0 release of MakeHuman, but was already present in the Alpha 7 (A7) release. The format got reworked a bit for 1.0, however.
==== Example ====
This is an excerpt from the fedora distributed with MakeHuman
# Exported from MakeClothes (TM)
# author Jonas Hauquier
# license AGPL3 (see also http://www.makehuman.org/node/320)
# homepage http://www.makehuman.org/
uuid 566dbd52-71d1-4d76-a799-0474a5a384db
basemesh hm08
tag Hats
name fedora
obj_file fedora.obj
x_scale 5399 11998 1.4800
z_scale 962 5320 1.9221
y_scale 791 881 2.3298
z_depth 50
material materials/fedora.mhmat
verts 0
251 5243 5244 0.60391 0.28706 0.10903 -0.00245 0.01323 0.03373
7020 11853 11852 0.53311 0.29591 0.17097 0.00529 0.01134 0.03388
7678 7000 7707 0.22571 0.34923 0.42506 0.00946 0.03331 0.04954
984 983 1015 0.17322 0.18383 0.64295 -0.00575 0.03634 0.05443
1014 226 982 0.12607 0.67880 0.19513 -0.00934 0.03289 0.04891
250 5245 5232 0.54148 0.48285 -0.02433 -0.01273 0.01129 0.03202
7746 7712 12153 0.16168 0.32394 0.51438 0.02696 0.11561 0.09667
5556 5554 1013 -0.03554 0.63140 0.40413 -0.01650 0.11949 0.10646
5560 5556 1020 0.34178 0.11896 0.53926 -0.03442 0.11513 0.09756
1013 7712 7721 0.24117 0.40913 0.34971 0.03897 0.20473 0.13559
1013 882 1029 0.71875 0.41604 -0.13479 -0.02631 0.22391 0.13840
1029 1020 1013 0.36342 0.60536 0.03123 -0.03890 0.20439 0.13536
7712 7721 882 0.21674 0.67896 0.10430 0.02804 0.23763 0.15510
1013 882 1029 0.30269 0.87853 -0.18122 -0.02994 0.25488 0.15754
1029 1020 1013 0.79483 0.03879 0.16638 -0.04433 0.23290 0.15424
5370 5368 969 -0.08854 0.29827 0.79027 -0.01789 0.14173 -0.15713
11971 7713 969 0.28241 0.33962 0.37797 0.01910 0.14921 -0.16563
11971 7713 969 0.05967 0.69236 0.24796 0.01670 0.13045 -0.14480
5370 5368 969 -0.07249 0.07305 0.99945 -0.01517 0.12017 -0.13323
969 1021 5370 0.20926 0.73057 0.06018 -0.01674 0.13078 -0.14517
969 1021 5370 0.33927 0.37782 0.28291 -0.01914 0.14955 -0.16600
5379 969 7713 -0.00113 0.07709 0.92403 0.01192 0.06520 -0.14994
1021 969 5379 -0.05590 0.97961 0.07629 -0.01124 0.06148 -0.14138
1021 969 5379 0.96289 0.03946 -0.00235 -0.01195 0.06537 -0.15033
11982 11981 7713 0.14728 0.42350 0.42922 0.01740 0.04655 -0.11033
1021 969 5379 -0.03656 0.34361 0.69295 -0.00834 0.04564 -0.10495
1021 5381 5382 0.43027 0.37607 0.19367 -0.01752 0.04687 -0.11110
11981 11982 7738 0.30937 0.48274 0.20789 0.00929 0.00889 -0.07280
5379 962 1022 0.56542 0.43776 -0.00318 -0.00327 0.01206 -0.08469
The rest of the file is very similar, it continues listing vertex fittings to the basemesh.
==== Vertex assignments ====
The format contains matchings in the following format:
vIdx1 vIdx2 vIdx3 w1 w2 w3 d1 d2 d3
vIdx is an index of a vertex on the basemesh
w is a weight of the corresponding vertex
d1,d2,d3 are optional (default to 0) and defines an offset
The format contains one such lines for every vertex in the proxy mesh, the order of the lines is the same as the order of vertices in the proxy mesh.
The format also supports an alternative fitting, referencing exactly one basemesh vertex, which is used for exact fitting: the proxy mesh vertex is placed in the exact same location as the basemesh vertex it is associated with.
vIdx
The file format allows mixing these two types of fittings on a per-vertex basis.
==== Properties ====
Every proxy should have a unique uuid (which can be generated using the python uuid module using uuid.uuid4()), a name, description, author and license information.
One or multiple tags can be added, each on a new line prepended with "tag".
A proxy references a material file and an OBJ mesh.
z_depth determines the rendering priority of the object (important for transparency) and the layer of clothing. It is used by face masking to determine which piece of clothing masks another.
The scale parameters define a bounding box referencing vertices on the human between which the proxy should be scaled. They are modified in makeclothes by selecting a clothing part.
=== v1.2 format ===
Starting from v1.2, a new algorithm for handling proxies is introduced, based on Manuel Bastioni's Lab experiments.
The new format uses a local normal space instead of global coordinates, making it more stable, even across different poses. It is also a lot easier for an artist to create new proxies, as it requires only one button press, instead of having to deal with vertex groups.
Future MakeHuman versions will contain backwards compatibility support for v1.0 proxies, but the new format is recommended for creation of new content.
The layout of this format is largely the same as the old format, with a version parameter specifying that this file should be interpreted as a new style proxy.
==== Example ====
# Exported from MakeClothes (TM)
# author Jonas Hauquier
# license AGPL3 (see also http://www.makehuman.org/node/320)
# homepage http://www.makehuman.org/
uuid 566dbd52-71d1-4d76-a799-0474a5a384db
basemesh hm08
tag Hats
version 1.2
name fedora
obj_file fedora.obj
z_depth 50
material materials/fedora.mhmat
verts 0
vIdx1 vIdx2 vIdx3 vIdx4 dx dy dz
It looks a lot like the v1.0 format, only the scale is no longer needed, and the vertex assignments have a new format.
vIdxi references the vertices of a polygon of the basemesh
dx dy dz is the distance (delta) vector between the polygon center and the proxy mesh vertex.
=== Binary proxy ===
Proxies, as well as their meshes, can be compiled into a more compact binary variant that is faster to load and smaller to distribute. MakeHuman will do this automatically for proxies in the home path. Files in the installation path will have to be compiled manually by running the compile_proxies.py and compile_meshes.py scripts. Usually these scripts are ran when a distribution is created, so need not to be repeated by the end user, unless MakeHuman is used from source.
== Material format==
=== Introduction ===
MakeHuman material files have extension .mhmat and are simple ASCII definitions
of the material settings to use for rendering.
These material settings are primarily intended for configuring the material
system within MakeHuman, but they are usually carried out to other software as
well by the exporters.
Not all properties will be supported for all given combinations of shaders, nor
is there a guarantee that the exporters will honor all the properties in these
files.
Every 3D object in MakeHuman has exactly one material attached to it (multiple
materials are not possible, you need separate objects for that). Materials are
used for proxy meshes (clothes, hairs, ...) but also for the skin of the human
itself.
=== The Material System ===
The MakeHuman material system is closely based on the [https://en.wikipedia.org/wiki/Rendering_equation standard rendering equation]
as is used in OpenGL and DirectX forward rendering pipelines. MakeHuman supports
shaders and the material format contains the most commonly used extensions in
real-time rendering. As a consequence of this, users need to be aware of the
implications of setting values such as ambient too bright, or diffuse too dark.
All usual rules about rendering materials apply.
At the highest level, the material supports setting the most basic material
properties, such as diffuse, specular and ambient color. These are supported
both by shaders as well as the fixed function shading pipeline (which is used
when no shader is specified). Fixed function also supports the diffuse texture
option.
At a second level, a shader can be chosen. This refers directly to the filename
of a [https://en.wikipedia.org/wiki/OpenGL_Shading_Language GLSL shader] as found in the data/shaders/glsl folder of MakeHuman.
The selected shader will determine what material options will be available.
At the third level, various additional settings become available, depending on whether or not the
chosen shader has support for these features, such as bump or normal mapping,
ambient occlusion, specular mapping, etc.
For most of these, a texture map and a scalar property between 0 and 1 can be
set, the latter determining the intensity or influence of the effect.
Finally, MakeHuman also contains a built-in offline renderer that supports some
additional properties such as subsurface scattering, for which some special
properties are available.
=== Example ===
This is a full and complete (but fictional) example of a material file for MakeHuman, it shows all the available properties.
# Example MakeHuman Material definition
name Material_name
tag some_tag
tag another_tag
description material description text here
ambientColor 0.11 0.11 0.11
diffuseColor 1.0 1.0 1.0
specularColor 0.0470588235294 0.0470588235294 0.0470588235294
shininess 0.96
emissiveColor 0.0 0.0 0.0
opacity 1.0
translucency 0.0
shadeless False
wireframe False
transparent True
alphaToCoverage True
backfaceCull False
depthless False
autoBlendSkin False
castShadows True
receiveShadows True
diffuseTexture diffuse_texture.png
bumpmapTexture bumpmap.png
bumpmapIntensity 1.0
normalmapTexture normalmap.png
normalmapIntensity 1.0
displacementmapTexture norm_displacement.png
displacementmapIntensity 1.0
specularmapTexture specular.png
specularmapIntensity 1.0
transparencymapTexture alpha.png
transparencymapIntensity 1.0
aomapTexture ambient_occlusion_map.png
aomapIntensity 1.0
# Sub-surface scattering parameters
sssEnabled True
sssRScale 5.0
sssGScale 2.5
sssBScale 1.0
shader shaders/glsl/litsphere
shaderParam litsphereTexture litspheres/lit_hair.png
shaderConfig ambientOcclusion True
shaderConfig normal False
shaderConfig bump True
shaderConfig displacement False
shaderConfig vertexColors True
shaderConfig spec True
shaderConfig transparency True
shaderConfig diffuse True
shaderDefine ALPHA_MAP
uvMap alt_uv_coords.mhuv
This is another example, this time a real one. It is the X-ray material, used for example when showing the skeleton:
# Material definition for XrayMaterial
name XrayMaterial
ambientColor 0.1 0.1 0.1
diffuseColor 1.0 1.0 1.0
specularColor 0.3 0.3 0.3
shininess 0.1
emissiveColor 0.0 0.0 0.0
opacity 0.1
translucency 0.0
transparent True
backfaceCull True
shadeless False
wireframe False
depthless False
shader data/shaders/glsl/xray
shaderConfig diffuse False
shaderConfig transparency False
shaderConfig normal False
shaderConfig bump False
shaderConfig spec False
shaderConfig vertexColors False
shaderConfig displacement False
=== Explanation of material properties ===
==== Standard settings ====
''ambientColor'', ''diffuseColor'' ''specularColor'', ''emissiveColor'' are the standard colors
as used in the [https://en.wikipedia.org/wiki/Rendering_equation rendering equation]
or in standard OpenGL.
Their corresponding intensities are simple scalars with a value between 0 and 1 and are multiplied
with the colors to dim them. Default these intensities are set to 1.
Colors are described as three floating point numbers, representing R G B, or red-green-blue
values. 1 is the maximum, 0 the minimum.
For example 1.0 0 0 means fully red, 1 1 1 means full white, 0 0 0 is full black.
0.5 0.5 0.5 will give you a grey middle color.
''opacity'' determines the opaqueness of the object (alpha channel), with 1 being fully
opaque, and 0 being fully transparent (invisible)
''translucency'' is something that came from Blender but is unused
''shininess'' or specular hardness is a number between 0 and 1 determining the shininess constant of the [https://en.wikipedia.org/wiki/Phong_reflection_model phong shading model].
==== Texture maps ====
Various standard texture maps can be defined on the material, like ''diffuseTexture'', ''bumpmapTexture'', ''normalmapTexture'', ''displacementmapTexture'', ''specularmapTexture'', ''transparencymapTexture'', ''aomapTexture''. Each of these also has an associated intensity value, which is a scalar from 0 to 1 multiplied with the pixel value of that texture (unless a specific shader implements it differently).
These textures only have an effect if their corresponding shaderConfig feature has been defined (see the table in Shaders section).
==== Render states ====
When ''wireframe'' is set to True, the model is drawn in wireframe mode. In this mode,
most material properties have no effect, but you can enable the vertexColors shaderConfig
to be able to change the color of the mesh using vertex colors (this requires
access to the mesh programatically, obj meshes do not support vertex colors).
This feature is used in some parts of MakeHuman, for example viewing bone weights
in the skeleton debug plugin.
Set ''shadeless'' to True to disable shading, eg. the object is not affected by lights.
Configured shader will have no effect
Set ''transparent'' to True to enable transparency rendering (usually needed when opacity is < 1)
In itself this does not change the visual appearance of the model, but this setting
should be enabled if your texture contains (semi-) transparent parts. This setting
instructs the renderer to disable depth buffer writes (glDepthMask(false))
and enables alpha testing and blending so that transparent surfaces can overlap and to allow [https://www.opengl.org/wiki/Transparency_Sorting alpha blending].
''alphaToCoverage'' Applies when transparent is set to True (otherwise does nothing).
It requires that your GPU supports alpha to coverage (A2C) rendering. It enables
the A2C feature which provides face order-independent alpha rendering. This works
very well for complex transparent meshes, like hair. At the cost of a slightly
dithered look, it solves all the problems with face sorting that are usually
involved in rendering semi transparency.
(This feature disables anti-aliasing for this object because the multisample buffer is used for alpha blending instead)
Set ''backfaceCull'' to False to disable backface culling (render the back side of polygons)
By default, and in most cases, this should be set to True, but can be useful
in some cases (for example, we disable back-face culling for the eyebrow materials).
Set ''depthless'' to True for depthless rendering (object is not occluded and does not occlude other objects).
This disables OpenGL depth writes and tests. In practice, this makes object faces that should be occluded shine through others.
''castShadows'' determines whether the object casts shadows on other objects.
''receiveShadows'' determines whether the object receives shadows from other objects.
For some features, like eyes, you probably want to disable shadow receiving.
Since MakeHuman does not (yet) implement shadow casting, the shadow settings have
no effect in MakeHuman, but they do export to other engines.
Play around with these settings in the Material Editor plugin to see their effect, that's the best advise I can give you.
The best way to find out which settings work for an asset, is simply to try them out.
==== autoBlendSkin ====
If True MakeHuman will set the diffuse color based on the ethnix mix set for the character.
Any diffuseColor set in the material file will be overridden by this.
Also the shaderParam litsphereTexture will be automatically set to a dynamically blended litsphere texture,
which is a mix of three litsphere materials (afro, asian, caucasian) depending on the ethnic mix of the character.
This latter is specifically intended to be used with the litsphere shader, and it is what you see as default material when you start MakeHuman
This overrides whatever shaderParam litsphereTexture was set in the material file.
This setting is intended only for skin materials.
==== shaderParam ====
Define a custom shader parameter (uniform), which might be required for some non-standard shaders.
For example, the litsphere shader takes an extra type of texture map as input, a so-called litsphere texture.
This generic system of mapping shader uniforms allows you to create specialised shaders that take
new and different kind of inputs, and allow configuring the shader from the material file.
shaderParam can be a list of floating point numbers, in which case it will be interpreted as a vector,
or it can be a file path, in which case it is assumed to be an image path.
Internally in MakeHuman, shaderParams can also be assigned a texture object, which allows
for dynamically passing a texture that is in memory, but perhaps not stored on disk.
Another example of a custom shaderParam is the X-ray shader that defines an edgefalloff
and intensity uniform parameter.
These could be changed from the material file with
shaderParam edgefalloff 0.8
shaderParam intensity 0.77
==== shaderDefine ====
shaderDefines allow enabling or disabling custom shading techniques in shaders.
These allow to define new shading techniques, apart from the pre-defined ones
such as normal mapping, specularity mapping, ...
It's a generic system that allows new shaders to be added and configured from
the material file, or from the material editor (which nicely auto-detects these
features in the shader and shows a set of checkboxes for them).
==== uvMap ====
Load custom UV coordinates on the mesh to use this material. This makes the material
completely dependent on the mesh it is used with.
Takes a path to a .mhuv file, which is actually just an .obj file, where the vertex
positions can be deleted (they can remain in there, but they are ignored).
Requirement for it to work is that the vertex order is the same as that of the
mesh obj.
An example uv map for the basemesh can be found in data/uvs/a7.mhuv, which is a
set of UV coordinates compatible with the old Alpha 7 mesh, allowing you to load
A7 textures on the new basemesh used in MakeHuman v1+
==== SSS properties ====
These are the so-called sub-surface scattering shading properties, currently only used by the built-in offline renderer. They were decided on while trying to figure out the most generic way to define SSS shading properties, so that they could easily be translated into SSS properties for a different renderer (as no single renderer that I know of has a standard for these). It's uncertain whether the format we have landed on currently is the best, or whether this will remain permanently or is still likely to change.
This setting should currently be considered experimental.
The properties are ''sssEnabled'', ''sssRScale'', ''sssGScale'' and ''sssBScale''.
=== Basic pointers for creating materials ===
* You can test the influence of material properties using the Material Editor plugin (which you can enable in Settings > Plugins, then restart)
* Using a diffuse texture? You probably want to set the diffuse color to 1 1 1 (pure white)
* Never set ambient color too bright, or your model will look completely white. 0.1 0.1 0.1 is a good value to start from.
* Emissive is usually set to black, unless you want a radioactive character
* Don't know how to define a color in numbers? Try the Material Editor plugin
* Higher shininess means smaller and sharper highlight, lower shininess makes the highlight larger and more blurred
* Reduce specular color to reduce the specularity, make it black for a rough and non shiny object
* opacity 1 means fully opaque, 0 means fully transparent (invisible)
* Do your (diffuse) textures contain transparency? Do not forget to enable transparency! Perhaps try if alpha-to-coverage improves the situation (especially for hair!).
=== Scene definition ===
To complete the rendering equation, you also need to define the scene. To be
more precise, the positions, types, color and intensities of the lights need to
be set. By default, MakeHuman only has a default scene with only one pointlight.
In MakeHuman, lights do not move if the camera is moved, or rather, the model is
rotated while the camera and lights remain static. So light positions are defined
relative to the camera position.
MakeHuman scenes are defined in .mhscene files, which are binary py-pickled files.
They can be created or modified using the Scene Editor plugin (can be enabled in
settings) and can be selected from the Scene library in the Render tab.
Fixed function shading pipeline supports up to 8 lights, specific light support
depends on the shader used, some shaders only support a certain type or number
of lights, other ignore the chosen scene altogether (for example the litsphere
shader that uses pre-baked environment lighting).
The built-in offline renderer also uses the specified scene.
Scenes are not exported along with the model.
=== Shaders ===
The most powerful functionality of the material system is unlocked when using
shaders.
MakeHuman shaders are intended to be written in a modular way, so that shading
features can be enabled or disabled using the material format. Examples of such
features are bump mapping, normal mapping, specular mapping, diffuse texturing,
ambient occlusion and displacement mapping.
MakeHuman includes a basic introspection function that allows it to determine
what features a shader supports. It accomplishes this by looking for #ifdef and #ifndef statements. If a shader supports a certain technique, it is supposed to
encapsulate this in #ifdef NORMALMAP ... #else ... #endif statements.
The idea is that of an [http://www.gamedev.net/topic/659145-what-is-a-uber-shader/ über shader], where performance is optimized by removing any dynamic branches (if then that) from shader code, and instead managing the features using defines and pre-processor branches.
When a different branch in the shader is activated, the shader code is recompiled entirely.
Instead of having different shaders for different features (eg. a specific normalmap shader to be able to do normal mapping), one general shader could be used instead, and normal mapping can simply be enabled or disabled from the material properties, without being required to swap shaders (a good default uber shader is [http://bugtracker.makehumancommunity.org/issues/160 still to be created for MakeHuman] Any help with this is welcome of course!).
The material system manages these shading functions by defining specific pre-processor
keywords when their corresponding shaderConfig property is set to true.
Shaders are recompiled when needed and stored in a shader cache for efficiency.
MakeHuman passes scene and material information to the shaders by certain uniform
parameters. Depending on which shaderConfig properties were enabled, additional
uniforms could be exposed to the shader. The shader does not have to declare all
these uniforms, however. MakeHuman binds only those uniforms present in the shader
if they have the right corresponding names.
Other properties are available from the OpenGL built-in uniforms or properties
(usually starting with gl_).
The following table lists these defines and the shaderConfig properties in the
material they relate to:
{| class="wikitable"
|-
! feature name
! shaderConfig
! shader #DEFINE
! exposed uniform parameters if enabled
! comment
|-
|default (always enabled)
|
|
|vec3 ambient, vec4 diffuse, vec4 specular, vec3 emissive
|diffuse and specular are 4-component color values, diffuse=[rgba] with a=opacity and specular=[rgbs] with s=shininess
|-
|Vertex coloring
|vertexColors
|VERTEX_COLOR
|
|Derive diffuse color from vertex colors
|-
|Diffuse texturing
|diffuse
|DIFFUSE
|diffuseTexture
|
|-
|Bump mapping
|bump
|BUMPMAP
|bumpmapTexture, bumpmapIntensity
|disabled if normal mapping is enabled (restriction might be lifted in the future)
|-
|Normal mapping
|normal
|NORMALMAP
|normalmapTexture, normalmapIntensity
|
|-
|Displacement mapping
|displacement
|DISPLACEMENT
|displacementmapTexture, displacementmapIntensity
|
|-
|Specularity mapping
|spec
|SPECULARMAP
|specularmapTexture, specularmapIntensity
|
|-
|Transpareny (alpha) maps
|transparency
|TRANSPARENCYMAP
|transparencymapTexture, transparencymapIntensity
|
|-
|Ambient occlusion maps
|ambientOcclusion
|AOMAP
|aomapTexture, aomapIntensity
|
|}
Additionally, MakeHuman exposes the vertex tangent as a vertex property, which
can be accessed by the shader.
attribute vec4 tangent
Currently, [http://www.terathon.com/code/tangent.html Lengyel’s Method] for tangent calculation
is used, but plans are to change this to [http://bugtracker.makehumancommunity.org/issues/87 mikktspace] in the future.
Shader examples for MakeHuman can be found here:
* Litsphere shader: [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/litsphere_vertex_shader.txt vertex][https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/litsphere_fragment_shader.txt fragment]
* Phong shader: [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/phong_vertex_shader.txt vertex][https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/phong_fragment_shader.txt fragment]
* Normal map shader (wip): [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/normalmap_vertex_shader.txt vertex] [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/normalmap_fragment_shader.txt fragment]
* X-ray shader: [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/xray_vertex_shader.txt vertex][https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/xray_fragment_shader.txt fragment]
==== Custom shader properties ====
Shaders can use non-standard #DEFINEs to allow enabling or disabling non-standard shading features, other than the ones that were foreseen in the material format (such as normal mapping, ...)
To add new ones, simply add #ifdef SOME_FEATURE statements to your shader code, the material system will automatically detect them.
From the material, you can enable them with
shaderDefine SOME_FEATURE
If not defined, the feature is assumed to be switched off.
A custom shader can also add new parameters to tweak. For example a color value or intensity value that influences the shading.
To do this, the shader author can simply add new uniform variables to their shader code. It is recommended to specify a default
value for them, so that if the material file does not explicitly mention them, they receive a sensible default value.
Example: the X-ray shader adds an edge-fallof property:
uniform float edgefalloff = 1.0;
From the material file, you can influence this value with:
shaderParam edgefalloff 0.5
shaderParam supports lists of float values (one or multiple, divided by spaces), eg
shaderParam edgecolor 0.7 0.3 0.4
or textures, by specifying a path to an image file (in which case they are assumed to be Sampler2D type)
Additionally, from within MakeHuman, they can be passed a Texture object, to dynamically pass them a texture that resides in memory, without the need for the texture to be stored in a file on disk.
This allows to dynamically alter the texture and have it displayed directly. MakeHuman takes care of caching the texture and updating it when it is modified.
For example, the auto skin tone blending of the litsphere texture is implemented in this way.
The material system will automatically detect these custom uniform parameters declared in the shader, for example the material editor plugin will present them in the GUI.
These features make for a general and extensible shader system.
==== Dynamic shader configuration in Material Editor plugin ====
Take as example this screenshot, which shows how the X-Ray shader, mentioned earlier, can be configured.
[[File:Mh_material_editor.png]]
In the shader selector, xray was chosen. This opens up a few new options to configure.
Notice that on the top right the custom shader uniforms edgefalloff and intensity that we mentioned earlier were automatically detected. The shader author had to do nothing else than to define these uniform parameters in his shader code, and define a sensible default for them. A material using this shader can customize these properties using the shaderParam option, which can be altered visually in the top right of the material editor. Changes in the material editor take effect immediately, so you can directly preview your changes.
Also notice in the bottom left that the material editor shows the available shaderConfig parameters. Some of these are greyed out, which means they are not available, or the condition for them is not met (for example, to be able to enable normal mapping, you need to choose a normal map texture on the right panel. If the normal map property is greyed out on the right side, then this particular shader does not support normal mapping).
Let's take a look at a second example.
[[File:Mh_material_editor2.png]]
Here we see the litsphere shader. This shader is different from the other shaders in the sense that it completely ignores the lighting of the scene, and instead lights the model with a texture containing pre-baked lighting conditions, a so-called [http://www.cs.utah.edu/~wmartin/pubs/LitSphere.pdf litsphere] texture.
This shader, being so different, requires a different sort of input, a custom input texture: the litsphere texture.
The shader author simply defined this uniform parameter in his shader code, and as you can see in the top right corner, the material editor shows a texture selector for this property. Using it, the user can select a litsphere texture to feed to the shader.
The litsphere shader also has two different alternative techniques that can be enabled or disabled by the user.
These two features, which can be enabled using shaderDefine statements in the material file, are automatically detected by the material system, and shown in the bottom left of the material editor. Enabling them is as simple as checking the checkbox.
One of these custom shading features is alpha mapping (defined by ALPHA_MAP), which allows to sample alpha transparency from an additional texture.
For this texture, an additional uniform property, named alphaTexture was declared in the shader, but it was written down in a way that it is only declared if the ALPHA_MAP token is defined.
In the shader code:
#ifdef ALPHA_MAP
uniform sampler2D alphaTexture;
#endif
If you check the ALPHA_MAP_checkbox, you will notice that on the top right, an extra texture selector will appear.
These examples show how the material editor can help exploring the different settings that are available in shaders.
d84adfdff7b429ca2cd3b8928fa32b8f03969411
601
600
2016-02-02T00:37:05Z
Duststorm
19
/* Example */
wikitext
text/x-wiki
== Vertex weights ==
With vertex weights we intend a weighted mapping of vertices of a mesh to a bone of a skeleton. The weight is a value between 0 and 1, the sum of these weights for each vertex should be normalized, which means they should sum to 1 (note: no euclidian distance, just simple addition of all weights). A weight map in MakeHuman is expressed as a bone name (becomes a bone index internally, using the index of the bone in a breadth-first list relative to skeleton structure), a vertex name and a floating point weight between 0 and 1. This weighted vertex to bone mapping is used for skinning (posing and animating, using vertex skinning, smooth skinning or linear blend skinning algorithm). For the skinning algorithm to work correctly it’s required that the weights are always normalized, otherwise you will see vertices move out of place disproportionally (though the weight loading code in MakeHuman ensures that this normalization always happens, so this is not a concern to the artist that defines the weights). The vertex weights can be exported to external tools as well using formats such as collada (DAE), FBX, Ogre3D meshes or MD5 quake meshes.
=== Vertex weights and skeletons ===
Vertex weights are defined for the default “master” skeleton or rig. They are defined in a json file with jsonw extension. They link each vertex of the basemesh including helpers to a named bone of this master rig, together with a certain weight.
The weights loader automatically removes doubles and normalizes the weights (so that they sum to 1). It also reports what the maximum number of bone weights per vertex is, additionally it allows compiling the weights to a reduced set with n number of bone weights, and automatically renormalizes those weights so they, again, sum to 1.
When loading weights, any vertex that receives no weighting is assigned to the root bone, as this is needed for skinning to prevent all those vertices jumping to the origin (0*pos == 0).
Alternative skeletons can define their own weights, by referencing a weights file just like the master rig, or they can choose to derive their weights from the master rig, through so called reference bone mappings. Skeletons will derive their weights from the master rig if they do not specify a weights file explicitly. Custom vertex weights in alternative rigs override those defined on the master rig, except in the case where a proxy defines its own vertex weights. See section Vertex weights for proxies for more details.
=== Reference bones for vertex weights and poses ===
Reference bones are defined on alternative rigs, they are a list of names of bones contained in the master rig. Every bone of an alternative rig can have such a list of reference bones. An alternative rig can also omit these references if it uses the same name as bones in the master rig, in which the mapping is implicit. Having a list of bone references always overrides the implicit mapping. Reference bone mappings are required for two purposes.
They are used for mapping poses defined on the master rig to other rigs. All poses are defined as BVH files that pose the master rig, so they reference only the bone names of the master rig. Poses are applied to all other rigs by using the reference bone mapping: all the rotations that the pose applies to the referenced bones are combined (in the order in which the references were specified -- note: rotations are NOT commutative) and are applied to the alternative rig bone.
Reference bone mappings can also be used for determining vertex weights of custom rigs. If the alternative rig does not explicitly define its own vertex weights, the mapping of reference bones is used to infere a set of bone weights for each bone: All the weights of the reference bones on the master rig (with the weights definition of the default/master rig) are combined and apply to the bone of the alternative rig. Doubles are merged, and weights renormalized. Any vertex that is not weighted will be assigned to the root bone. Watch for messages in the log to verify this.
=== Vertex weights for proxies ===
Generally proxies are mapped to basemesh geometry, that means either to the body or to helpers, or a combination of both (though this is unusual). Proxies derive their vertex weights from the vertices on the basemesh on which they are fitted. A proxy defines its fitting as a 3d offset from one or three vertices on the basemesh, allowing it to deform as the human deforms. This mapping is used to transfer the vertex weights from basemesh to proxy: a proxy vertex referencing three basemesh vertices gets the bone weights of those three vertices. Doubles are merged and the weights are normalized, so that the influence factors are averaged or smoothed. In this case the weights applied to proxies are always those defined on the skeleton: either the weights explicitly defined on the skeleton, or the weights obtained from remapping the master rig weights to this skeleton using the reference bone mapping mentioned in the previous sections. There is an exception to this, which is explained in the next paragraph.
A proxy can explicitly define its own vertex (to bone) weights. In this case it overrides the weights that would be obtained through the proxy mapping, and replaces them by its own custom definition of weights. These vertex weights are always defined to reference the bones of the master rig (default skeleton), so they need to be remapped to other skeletons using reference bone mapping. This also means that the custom weights of a proxy override any custom weights mapping that might be loaded with an alternative rig (but only for that proxy item). Custom proxy weights should be avoided if possible, but are in some cases required, eg. for properly rigging shoes which are rigidly fitted to feet, or an alternative topology which defines very accurate rigging on the face. The general advice for custom rigs is therefore to stay as close to the master rig as possible, reusing as much bones identically as possible, to achieve the best results for proxies with custom weights.
In case of custom weight, the mhclo file must contain a line to indicate the weight file to use, using the keyword “vertexboneweights_file”, with the syntax:
vertexboneweights_file filename.jsonw
== Targets and modifiers ==
MakeHuman applies targets on the human by means of modifiers. Such a modifier has a value (usually between [0, 1] or [-1, 1]) that determines the effect of it on the human mesh. A modifier can control one or more targets and in apply the mixed sum of them on the mesh. Some modifiers.
=== Organization of targets ===
To make sure targets are linked to the right modifier, or to make managing targets easier, a certain discipline has to be observed in managing them. Targets are ASCII files in the data/targets or data/custom folder (in program or user folder) with a file extension of .target.
The file name and folder targets are in implicitly determines their group name. A group is identified by a sequence of tags or tokens, which are taken from the file and folder name of each target, and which can be delimited by “-” symbols, to include multiple tokens in a single file or folder name. The lib/targets.py module takes care of loading all the names of the available targets and assembles them into groups. All targets with the same tokens end up in the same group. This allows easy querying and requesting of targets. The creator is pretty much free to decide what groups to create for their targets. By passing the name of the target group to a modifier, they can make sure that modifier controls the targets belonging to this group. It does not matter whether you use folders or - delimited file names for creating groups.
An example:
data/targets/cartoon/eyes-large.target is categorized in group (cartoon, eyes, large)
data/targets/cartoon-eyes-large.target is also categorized in group (cartoon, eyes, large)
Most simple modifiers work by specifying a group (for example cartoon-eyes) and a set of two tokens to append at the end, depending on the position of the modifier slider (eg. small, large which would allow controlling the targets cartoon-eyes-small and cartoon-eyes-large by moving the slider to the left or right).
=== Reserved group tokens ===
Some of the tokens in the file or foldername of targets are linked to values that variables of the human can have. Such variables are for example age, weight, muscle, gender.
This table lists all the reserved tokens, and the variables they belong to.
{| class="wikitable"
|-
! Reserved token (value)
! Variable
|-
| female,male
| gender
|-
| baby, child, young, old
| age
|-
| african, caucasian, asian
| race
|-
| minmuscle, averagemuscle, maxmuscle
| muscle
|-
| minweight, averageweight, maxweight
| weight
|-
| minheight, averageheight, maxheight
| height
|-
| mincup, averagecup, maxcup
| breastsize
|-
| minfirmness, averagefirmness, maxfirmness
| breastfirmness
|-
| uncommonproportions, regularproportions, idealproportions
| bodyproportion
|}
Note that it is not a good idea to use simply “max” or “min” as a reserved token name, because they need to be unique (otherwise it would not be possible to determine whether they are a minimum for, for example, weight or height). These reserved tokens are declared in the lib/targets.py module. The variable can be set and queried on the human object, for example human.getAge(), human.setMuscle(0.7), human.getProportion().
The reserved tokens are NOT included in the group name, so you should at least include some other, non-reserved tokens in the file or folder names to assign your target to some meaningful group. The inclusion of these reserved tokens in your target names or paths makes it convenient to create macro modifiers.
=== Macro targets and modifiers ===
Macro modifiers are modifiers whose effect (the combination of targets they apply on the human) is influenced by macro variables set on the human (eg. human.set/getAge()). Therefore, macro modifiers often control a large set of targets (20 or even more). It’s also common for multiple modifiers to control exactly the same set of targets, for example the standard age/gender/race sliders all control the set of targets in the ‘macrodetails’ group. Each slider modifies a different variable (eg. human.setAge()) controlling the set of targets, and then reapplies a combination of the same set of targets on the human.
=== Macro modifier dependencies ===
There are other macro modifiers that can also depend on the same variables age, gender, race that is controlled by the main macro modifiers, as discussed above. For example the macro modifiers that influence the weight and muscle mass of the human, controls the targets group “macrodetails-universal”, the universal token is added by prepending “universal-” to all the file names of related targets, which all reside in the folder “macrodetails” (thus macrodetails-universal ends up being the group name). They could have been included all in the “macrodetails” group, but are kept separate for performance reasons, so that the “macrodetails” group of targets (which already contains some 40 targets or so) can be applied in realtime while moving the slider.
Of course a change in the variable that these age/race/gender modifiers control will have an effect on the macrodetails-universal modifiers (because they control targets that depend on age -- their targets include -young- -old- etc. tokens in their filenames). This means there are inter-dependencies between macro modifiers, if one is updated, another one that depends on it should be refreshed. These dependencies can be descibed as follows: one macro modifier controls exactly one macro variable (such as age). It (or rather, the targets it controls) can however depend on multiple macro variables. The trivial case is where a macro modifier only depends on the macro variable that it controls itself. The tracking of these dependencies and deciding which modifiers must be updated when another is changed happens automatically. Dependencies are automatically tracked as soon as you add a modifier to the human (by calling modifier.setHuman(human)). To make this more performant in real-time, the propagation of updates to modifiers is limited while sliders are dragged (see realtimeDependencyUpdates in apps/humanmodifier.py).
As you might have understood, creating modifiers that depend on human variables is almost automatic. The only thing you need to do is create some targets that resolve to the same group name, add variations for all the macro variables you want and add the proper reserved tokens to the file or folder name (refer to the left column in the table above), and create a modifier with this group name. Once added to the human, the dependencies are tracked automatically.
=== Organization of modifiers ===
We already discussed how we organized targets in groups, to make it easier to connect them to a modifier. Now we will discuss how we can do a similar thing for modifiers.
Modifiers provide an easy way to manage targets. They allow reducing many of hundreds of targets to a more manageable number of controllable properties. But even then, we still have about 100 modifiers, which is still quite a lot. Therefore we group them in groups of categories, much like we do in the GUI. This makes it easy to get a grouped overview of all modifiers when using an alternative interface, think of commandline or scripting. The way in which you declare the group and other properties of a modifier determines what target groups it gets its targets from.
Modifiers are declared with a group name, some intermediary “target name” and a number of tail tokens (2 or 3 usually, eg min/max). The group of targets controlled by these modifiers is composed as: groupname-targets_name-tail.
Macro modifiers are declared with a group name, and a controlled variable. The groupname must be the same groupname of the targets they control.
=== Declarative modifiers ===
Instead of hard coding what modifiers you want to instantiate, MakeHuman offers a data-based format to declare what modifiers should be created, and how they should be shown in a user interface with sliders.
A full declaration requires three files, all stored in data/modifiers. The first is the declaration of the modifiers (eg. modeling_modifiers.json). This format lists a modifier group name, and all the modifiers with their macro variable (if they are macro modifiers) or target name and 2 or 3 (if they are a modifier with a center point) tail tokens.
The second file adds a description to the modifiers declared in the first file. It basically contains a key-value set, referencing the modifier name, and a textual description of what the modifier controls. A modifier name is constructed as follows: group/targets_name-all|the|tails and for a macro modifier: group/variable
The third file defines how these modifiers should be shown in the user interface as sliders. It lists a set of categories, and the sliders to show in them, and how their values have to be saved in a mhm file (mainly a feature for legacy compatibility).
=== Your own plugin with modifiers, sliders and targets ===
Using the declarative data format described in the section above, it’s really simple. Have a look at the plugin plugins/0_modeling_0_modifiers.py. Notice it’s barely 5 lines of code. Creating your own modeling plugin is as simple as that, pointing it to your own modifier data files.
=== Binary targets ===
Because loading these ASCII target files, and iterating all target files and folders can be slow (especially on windows) in build versions, we compile all targets in the data/targets system folder into a single binary file, that furthermore acts exactly the same as multiple target files. The binary targets file is stored in the system data/ folder and is called targets.npz, it is created by running the compile_targets.py script, which is also automatically run in the build_prepare.py build routine. The file structure of the targets files is maintained in this binary file so that targets can be loaded from it in the same way as you would do with regular files. A change in the .target files, or newly added target files allow a recompilation of the targets npz file before the change is applied.
== Proxy format ==
A proxy is a fitting of an arbitrary mesh (for example clothes or a hairstyle) to the basemesh. A proxy asset is distributed as a mesh file together with this fitting file (what we call the proxy file), allowing this mesh to be fitted on different modeling variations of the human within MakeHuman.
=== v1.0 format ===
The 1.0 format got introduced in the v1.0 release of MakeHuman, but was already present in the Alpha 7 (A7) release. The format got reworked a bit for 1.0, however.
==== Example ====
This is an excerpt from the fedora distributed with MakeHuman
# Exported from MakeClothes (TM)
# author Jonas Hauquier
# license AGPL3 (see also http://www.makehuman.org/node/320)
# homepage http://www.makehuman.org/
uuid 566dbd52-71d1-4d76-a799-0474a5a384db
basemesh hm08
tag Hats
name fedora
obj_file fedora.obj
x_scale 5399 11998 1.4800
z_scale 962 5320 1.9221
y_scale 791 881 2.3298
z_depth 50
material materials/fedora.mhmat
verts 0
251 5243 5244 0.60391 0.28706 0.10903 -0.00245 0.01323 0.03373
7020 11853 11852 0.53311 0.29591 0.17097 0.00529 0.01134 0.03388
7678 7000 7707 0.22571 0.34923 0.42506 0.00946 0.03331 0.04954
984 983 1015 0.17322 0.18383 0.64295 -0.00575 0.03634 0.05443
1014 226 982 0.12607 0.67880 0.19513 -0.00934 0.03289 0.04891
250 5245 5232 0.54148 0.48285 -0.02433 -0.01273 0.01129 0.03202
7746 7712 12153 0.16168 0.32394 0.51438 0.02696 0.11561 0.09667
5556 5554 1013 -0.03554 0.63140 0.40413 -0.01650 0.11949 0.10646
5560 5556 1020 0.34178 0.11896 0.53926 -0.03442 0.11513 0.09756
1013 7712 7721 0.24117 0.40913 0.34971 0.03897 0.20473 0.13559
1013 882 1029 0.71875 0.41604 -0.13479 -0.02631 0.22391 0.13840
1029 1020 1013 0.36342 0.60536 0.03123 -0.03890 0.20439 0.13536
7712 7721 882 0.21674 0.67896 0.10430 0.02804 0.23763 0.15510
1013 882 1029 0.30269 0.87853 -0.18122 -0.02994 0.25488 0.15754
1029 1020 1013 0.79483 0.03879 0.16638 -0.04433 0.23290 0.15424
5370 5368 969 -0.08854 0.29827 0.79027 -0.01789 0.14173 -0.15713
11971 7713 969 0.28241 0.33962 0.37797 0.01910 0.14921 -0.16563
11971 7713 969 0.05967 0.69236 0.24796 0.01670 0.13045 -0.14480
5370 5368 969 -0.07249 0.07305 0.99945 -0.01517 0.12017 -0.13323
969 1021 5370 0.20926 0.73057 0.06018 -0.01674 0.13078 -0.14517
969 1021 5370 0.33927 0.37782 0.28291 -0.01914 0.14955 -0.16600
5379 969 7713 -0.00113 0.07709 0.92403 0.01192 0.06520 -0.14994
1021 969 5379 -0.05590 0.97961 0.07629 -0.01124 0.06148 -0.14138
1021 969 5379 0.96289 0.03946 -0.00235 -0.01195 0.06537 -0.15033
11982 11981 7713 0.14728 0.42350 0.42922 0.01740 0.04655 -0.11033
1021 969 5379 -0.03656 0.34361 0.69295 -0.00834 0.04564 -0.10495
1021 5381 5382 0.43027 0.37607 0.19367 -0.01752 0.04687 -0.11110
11981 11982 7738 0.30937 0.48274 0.20789 0.00929 0.00889 -0.07280
5379 962 1022 0.56542 0.43776 -0.00318 -0.00327 0.01206 -0.08469
The rest of the file is very similar, it continues listing vertex fittings to the basemesh.
==== Vertex assignments ====
The format contains matchings in the following format:
vIdx1 vIdx2 vIdx3 w1 w2 w3 d1 d2 d3
vIdx is an index of a vertex on the basemesh
w is a weight of the corresponding vertex
d1,d2,d3 are optional (default to 0) and defines an offset
The format contains one such lines for every vertex in the proxy mesh, the order of the lines is the same as the order of vertices in the proxy mesh.
The format also supports an alternative fitting, referencing exactly one basemesh vertex, which is used for exact fitting: the proxy mesh vertex is placed in the exact same location as the basemesh vertex it is associated with.
vIdx
The file format allows mixing these two types of fittings on a per-vertex basis.
==== Properties ====
Every proxy should have a unique uuid (which can be generated using the python uuid module using uuid.uuid4()), a name, description, author and license information.
One or multiple tags can be added, each on a new line prepended with "tag".
A proxy references a material file and an OBJ mesh.
z_depth determines the rendering priority of the object (important for transparency) and the layer of clothing. It is used by face masking to determine which piece of clothing masks another.
The scale parameters define a bounding box referencing vertices on the human between which the proxy should be scaled. They are modified in makeclothes by selecting a clothing part.
=== v1.2 format ===
Starting from v1.2, a new algorithm for handling proxies is introduced, based on Manuel Bastioni's Lab experiments.
The new format uses a local normal space instead of global coordinates, making it more stable, even across different poses. It is also a lot easier for an artist to create new proxies, as it requires only one button press, instead of having to deal with vertex groups.
Future MakeHuman versions will contain backwards compatibility support for v1.0 proxies, but the new format is recommended for creation of new content.
The layout of this format is largely the same as the old format, with a version parameter specifying that this file should be interpreted as a new style proxy.
==== Example ====
# Exported from MakeClothes (TM)
# author Jonas Hauquier
# license AGPL3 (see also http://www.makehuman.org/node/320)
# homepage http://www.makehuman.org/
uuid 566dbd52-71d1-4d76-a799-0474a5a384db
basemesh hm08
tag Hats
name fedora
obj_file fedora.obj
z_depth 50
material materials/fedora.mhmat
verts 0
vIdx1 vIdx2 vIdx3 vIdx4 dx dy dz
It looks a lot like the v1.0 format, only the scale is no longer needed, and the vertex assignments have a new format.
vIdxi references the vertices of a polygon of the basemesh
dx dy dz is the distance (delta) vector between the polygon center and the proxy mesh vertex.
=== Binary proxy ===
Proxies, as well as their meshes, can be compiled into a more compact binary variant that is faster to load and smaller to distribute. MakeHuman will do this automatically for proxies in the home path. Files in the installation path will have to be compiled manually by running the compile_proxies.py and compile_meshes.py scripts. Usually these scripts are ran when a distribution is created, so need not to be repeated by the end user, unless MakeHuman is used from source.
== Material format==
=== Introduction ===
MakeHuman material files have extension .mhmat and are simple ASCII definitions
of the material settings to use for rendering.
These material settings are primarily intended for configuring the material
system within MakeHuman, but they are usually carried out to other software as
well by the exporters.
Not all properties will be supported for all given combinations of shaders, nor
is there a guarantee that the exporters will honor all the properties in these
files.
Every 3D object in MakeHuman has exactly one material attached to it (multiple
materials are not possible, you need separate objects for that). Materials are
used for proxy meshes (clothes, hairs, ...) but also for the skin of the human
itself.
=== The Material System ===
The MakeHuman material system is closely based on the [https://en.wikipedia.org/wiki/Rendering_equation standard rendering equation]
as is used in OpenGL and DirectX forward rendering pipelines. MakeHuman supports
shaders and the material format contains the most commonly used extensions in
real-time rendering. As a consequence of this, users need to be aware of the
implications of setting values such as ambient too bright, or diffuse too dark.
All usual rules about rendering materials apply.
At the highest level, the material supports setting the most basic material
properties, such as diffuse, specular and ambient color. These are supported
both by shaders as well as the fixed function shading pipeline (which is used
when no shader is specified). Fixed function also supports the diffuse texture
option.
At a second level, a shader can be chosen. This refers directly to the filename
of a [https://en.wikipedia.org/wiki/OpenGL_Shading_Language GLSL shader] as found in the data/shaders/glsl folder of MakeHuman.
The selected shader will determine what material options will be available.
At the third level, various additional settings become available, depending on whether or not the
chosen shader has support for these features, such as bump or normal mapping,
ambient occlusion, specular mapping, etc.
For most of these, a texture map and a scalar property between 0 and 1 can be
set, the latter determining the intensity or influence of the effect.
Finally, MakeHuman also contains a built-in offline renderer that supports some
additional properties such as subsurface scattering, for which some special
properties are available.
=== Example ===
This is a full and complete (but fictional) example of a material file for MakeHuman, it shows all the available properties.
# Example MakeHuman Material definition
name Material_name
tag some_tag
tag another_tag
description material description text here
ambientColor 0.11 0.11 0.11
diffuseColor 1.0 1.0 1.0
specularColor 0.0470588235294 0.0470588235294 0.0470588235294
shininess 0.96
emissiveColor 0.0 0.0 0.0
opacity 1.0
translucency 0.0
shadeless False
wireframe False
transparent True
alphaToCoverage True
backfaceCull False
depthless False
autoBlendSkin False
castShadows True
receiveShadows True
diffuseTexture diffuse_texture.png
bumpmapTexture bumpmap.png
bumpmapIntensity 1.0
normalmapTexture normalmap.png
normalmapIntensity 1.0
displacementmapTexture norm_displacement.png
displacementmapIntensity 1.0
specularmapTexture specular.png
specularmapIntensity 1.0
transparencymapTexture alpha.png
transparencymapIntensity 1.0
aomapTexture ambient_occlusion_map.png
aomapIntensity 1.0
# Sub-surface scattering parameters
sssEnabled True
sssRScale 5.0
sssGScale 2.5
sssBScale 1.0
shader shaders/glsl/litsphere
shaderParam litsphereTexture litspheres/lit_hair.png
shaderConfig ambientOcclusion True
shaderConfig normal False
shaderConfig bump True
shaderConfig displacement False
shaderConfig vertexColors True
shaderConfig spec True
shaderConfig transparency True
shaderConfig diffuse True
shaderDefine ALPHA_MAP
uvMap alt_uv_coords.mhuv
This is another example, this time a real one. It is the X-ray material, used for example when showing the skeleton:
# Material definition for XrayMaterial
name XrayMaterial
ambientColor 0.1 0.1 0.1
diffuseColor 1.0 1.0 1.0
specularColor 0.3 0.3 0.3
shininess 0.1
emissiveColor 0.0 0.0 0.0
opacity 0.1
translucency 0.0
transparent True
backfaceCull True
shadeless False
wireframe False
depthless False
shader data/shaders/glsl/xray
shaderConfig diffuse False
shaderConfig transparency False
shaderConfig normal False
shaderConfig bump False
shaderConfig spec False
shaderConfig vertexColors False
shaderConfig displacement False
=== Explanation of material properties ===
==== Standard settings ====
''ambientColor'', ''diffuseColor'' ''specularColor'', ''emissiveColor'' are the standard colors
as used in the [https://en.wikipedia.org/wiki/Rendering_equation rendering equation]
or in standard OpenGL.
Their corresponding intensities are simple scalars with a value between 0 and 1 and are multiplied
with the colors to dim them. Default these intensities are set to 1.
Colors are described as three floating point numbers, representing R G B, or red-green-blue
values. 1 is the maximum, 0 the minimum.
For example 1.0 0 0 means fully red, 1 1 1 means full white, 0 0 0 is full black.
0.5 0.5 0.5 will give you a grey middle color.
''opacity'' determines the opaqueness of the object (alpha channel), with 1 being fully
opaque, and 0 being fully transparent (invisible)
''translucency'' is something that came from Blender but is unused
''shininess'' or specular hardness is a number between 0 and 1 determining the shininess constant of the [https://en.wikipedia.org/wiki/Phong_reflection_model phong shading model].
==== Texture maps ====
Various standard texture maps can be defined on the material, like ''diffuseTexture'', ''bumpmapTexture'', ''normalmapTexture'', ''displacementmapTexture'', ''specularmapTexture'', ''transparencymapTexture'', ''aomapTexture''. Each of these also has an associated intensity value, which is a scalar from 0 to 1 multiplied with the pixel value of that texture (unless a specific shader implements it differently).
These textures only have an effect if their corresponding shaderConfig feature has been defined (see the table in Shaders section).
==== Render states ====
When ''wireframe'' is set to True, the model is drawn in wireframe mode. In this mode,
most material properties have no effect, but you can enable the vertexColors shaderConfig
to be able to change the color of the mesh using vertex colors (this requires
access to the mesh programatically, obj meshes do not support vertex colors).
This feature is used in some parts of MakeHuman, for example viewing bone weights
in the skeleton debug plugin.
Set ''shadeless'' to True to disable shading, eg. the object is not affected by lights.
Configured shader will have no effect
Set ''transparent'' to True to enable transparency rendering (usually needed when opacity is < 1)
In itself this does not change the visual appearance of the model, but this setting
should be enabled if your texture contains (semi-) transparent parts. This setting
instructs the renderer to disable depth buffer writes (glDepthMask(false))
and enables alpha testing and blending so that transparent surfaces can overlap and to allow [https://www.opengl.org/wiki/Transparency_Sorting alpha blending].
''alphaToCoverage'' Applies when transparent is set to True (otherwise does nothing).
It requires that your GPU supports alpha to coverage (A2C) rendering. It enables
the A2C feature which provides face order-independent alpha rendering. This works
very well for complex transparent meshes, like hair. At the cost of a slightly
dithered look, it solves all the problems with face sorting that are usually
involved in rendering semi transparency.
(This feature disables anti-aliasing for this object because the multisample buffer is used for alpha blending instead)
Set ''backfaceCull'' to False to disable backface culling (render the back side of polygons)
By default, and in most cases, this should be set to True, but can be useful
in some cases (for example, we disable back-face culling for the eyebrow materials).
Set ''depthless'' to True for depthless rendering (object is not occluded and does not occlude other objects).
This disables OpenGL depth writes and tests. In practice, this makes object faces that should be occluded shine through others.
''castShadows'' determines whether the object casts shadows on other objects.
''receiveShadows'' determines whether the object receives shadows from other objects.
For some features, like eyes, you probably want to disable shadow receiving.
Since MakeHuman does not (yet) implement shadow casting, the shadow settings have
no effect in MakeHuman, but they do export to other engines.
Play around with these settings in the Material Editor plugin to see their effect, that's the best advise I can give you.
The best way to find out which settings work for an asset, is simply to try them out.
==== autoBlendSkin ====
If True MakeHuman will set the diffuse color based on the ethnix mix set for the character.
Any diffuseColor set in the material file will be overridden by this.
Also the shaderParam litsphereTexture will be automatically set to a dynamically blended litsphere texture,
which is a mix of three litsphere materials (afro, asian, caucasian) depending on the ethnic mix of the character.
This latter is specifically intended to be used with the litsphere shader, and it is what you see as default material when you start MakeHuman
This overrides whatever shaderParam litsphereTexture was set in the material file.
This setting is intended only for skin materials.
==== shaderParam ====
Define a custom shader parameter (uniform), which might be required for some non-standard shaders.
For example, the litsphere shader takes an extra type of texture map as input, a so-called litsphere texture.
This generic system of mapping shader uniforms allows you to create specialised shaders that take
new and different kind of inputs, and allow configuring the shader from the material file.
shaderParam can be a list of floating point numbers, in which case it will be interpreted as a vector,
or it can be a file path, in which case it is assumed to be an image path.
Internally in MakeHuman, shaderParams can also be assigned a texture object, which allows
for dynamically passing a texture that is in memory, but perhaps not stored on disk.
Another example of a custom shaderParam is the X-ray shader that defines an edgefalloff
and intensity uniform parameter.
These could be changed from the material file with
shaderParam edgefalloff 0.8
shaderParam intensity 0.77
==== shaderDefine ====
shaderDefines allow enabling or disabling custom shading techniques in shaders.
These allow to define new shading techniques, apart from the pre-defined ones
such as normal mapping, specularity mapping, ...
It's a generic system that allows new shaders to be added and configured from
the material file, or from the material editor (which nicely auto-detects these
features in the shader and shows a set of checkboxes for them).
==== uvMap ====
Load custom UV coordinates on the mesh to use this material. This makes the material
completely dependent on the mesh it is used with.
Takes a path to a .mhuv file, which is actually just an .obj file, where the vertex
positions can be deleted (they can remain in there, but they are ignored).
Requirement for it to work is that the vertex order is the same as that of the
mesh obj.
An example uv map for the basemesh can be found in data/uvs/a7.mhuv, which is a
set of UV coordinates compatible with the old Alpha 7 mesh, allowing you to load
A7 textures on the new basemesh used in MakeHuman v1+
==== SSS properties ====
These are the so-called sub-surface scattering shading properties, currently only used by the built-in offline renderer. They were decided on while trying to figure out the most generic way to define SSS shading properties, so that they could easily be translated into SSS properties for a different renderer (as no single renderer that I know of has a standard for these). It's uncertain whether the format we have landed on currently is the best, or whether this will remain permanently or is still likely to change.
This setting should currently be considered experimental.
The properties are ''sssEnabled'', ''sssRScale'', ''sssGScale'' and ''sssBScale''.
=== Basic pointers for creating materials ===
* You can test the influence of material properties using the Material Editor plugin (which you can enable in Settings > Plugins, then restart)
* Using a diffuse texture? You probably want to set the diffuse color to 1 1 1 (pure white)
* Never set ambient color too bright, or your model will look completely white. 0.1 0.1 0.1 is a good value to start from.
* Emissive is usually set to black, unless you want a radioactive character
* Don't know how to define a color in numbers? Try the Material Editor plugin
* Higher shininess means smaller and sharper highlight, lower shininess makes the highlight larger and more blurred
* Reduce specular color to reduce the specularity, make it black for a rough and non shiny object
* opacity 1 means fully opaque, 0 means fully transparent (invisible)
* Do your (diffuse) textures contain transparency? Do not forget to enable transparency! Perhaps try if alpha-to-coverage improves the situation (especially for hair!).
=== Scene definition ===
To complete the rendering equation, you also need to define the scene. To be
more precise, the positions, types, color and intensities of the lights need to
be set. By default, MakeHuman only has a default scene with only one pointlight.
In MakeHuman, lights do not move if the camera is moved, or rather, the model is
rotated while the camera and lights remain static. So light positions are defined
relative to the camera position.
MakeHuman scenes are defined in .mhscene files, which are binary py-pickled files.
They can be created or modified using the Scene Editor plugin (can be enabled in
settings) and can be selected from the Scene library in the Render tab.
Fixed function shading pipeline supports up to 8 lights, specific light support
depends on the shader used, some shaders only support a certain type or number
of lights, other ignore the chosen scene altogether (for example the litsphere
shader that uses pre-baked environment lighting).
The built-in offline renderer also uses the specified scene.
Scenes are not exported along with the model.
=== Shaders ===
The most powerful functionality of the material system is unlocked when using
shaders.
MakeHuman shaders are intended to be written in a modular way, so that shading
features can be enabled or disabled using the material format. Examples of such
features are bump mapping, normal mapping, specular mapping, diffuse texturing,
ambient occlusion and displacement mapping.
MakeHuman includes a basic introspection function that allows it to determine
what features a shader supports. It accomplishes this by looking for #ifdef and #ifndef statements. If a shader supports a certain technique, it is supposed to
encapsulate this in #ifdef NORMALMAP ... #else ... #endif statements.
The idea is that of an [http://www.gamedev.net/topic/659145-what-is-a-uber-shader/ über shader], where performance is optimized by removing any dynamic branches (if then that) from shader code, and instead managing the features using defines and pre-processor branches.
When a different branch in the shader is activated, the shader code is recompiled entirely.
Instead of having different shaders for different features (eg. a specific normalmap shader to be able to do normal mapping), one general shader could be used instead, and normal mapping can simply be enabled or disabled from the material properties, without being required to swap shaders (a good default uber shader is [http://bugtracker.makehumancommunity.org/issues/160 still to be created for MakeHuman] Any help with this is welcome of course!).
The material system manages these shading functions by defining specific pre-processor
keywords when their corresponding shaderConfig property is set to true.
Shaders are recompiled when needed and stored in a shader cache for efficiency.
MakeHuman passes scene and material information to the shaders by certain uniform
parameters. Depending on which shaderConfig properties were enabled, additional
uniforms could be exposed to the shader. The shader does not have to declare all
these uniforms, however. MakeHuman binds only those uniforms present in the shader
if they have the right corresponding names.
Other properties are available from the OpenGL built-in uniforms or properties
(usually starting with gl_).
The following table lists these defines and the shaderConfig properties in the
material they relate to:
{| class="wikitable"
|-
! feature name
! shaderConfig
! shader #DEFINE
! exposed uniform parameters if enabled
! comment
|-
|default (always enabled)
|
|
|vec3 ambient, vec4 diffuse, vec4 specular, vec3 emissive
|diffuse and specular are 4-component color values, diffuse=[rgba] with a=opacity and specular=[rgbs] with s=shininess
|-
|Vertex coloring
|vertexColors
|VERTEX_COLOR
|
|Derive diffuse color from vertex colors
|-
|Diffuse texturing
|diffuse
|DIFFUSE
|diffuseTexture
|
|-
|Bump mapping
|bump
|BUMPMAP
|bumpmapTexture, bumpmapIntensity
|disabled if normal mapping is enabled (restriction might be lifted in the future)
|-
|Normal mapping
|normal
|NORMALMAP
|normalmapTexture, normalmapIntensity
|
|-
|Displacement mapping
|displacement
|DISPLACEMENT
|displacementmapTexture, displacementmapIntensity
|
|-
|Specularity mapping
|spec
|SPECULARMAP
|specularmapTexture, specularmapIntensity
|
|-
|Transpareny (alpha) maps
|transparency
|TRANSPARENCYMAP
|transparencymapTexture, transparencymapIntensity
|
|-
|Ambient occlusion maps
|ambientOcclusion
|AOMAP
|aomapTexture, aomapIntensity
|
|}
Additionally, MakeHuman exposes the vertex tangent as a vertex property, which
can be accessed by the shader.
attribute vec4 tangent
Currently, [http://www.terathon.com/code/tangent.html Lengyel’s Method] for tangent calculation
is used, but plans are to change this to [http://bugtracker.makehumancommunity.org/issues/87 mikktspace] in the future.
Shader examples for MakeHuman can be found here:
* Litsphere shader: [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/litsphere_vertex_shader.txt vertex][https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/litsphere_fragment_shader.txt fragment]
* Phong shader: [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/phong_vertex_shader.txt vertex][https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/phong_fragment_shader.txt fragment]
* Normal map shader (wip): [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/normalmap_vertex_shader.txt vertex] [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/normalmap_fragment_shader.txt fragment]
* X-ray shader: [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/xray_vertex_shader.txt vertex][https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/xray_fragment_shader.txt fragment]
==== Custom shader properties ====
Shaders can use non-standard #DEFINEs to allow enabling or disabling non-standard shading features, other than the ones that were foreseen in the material format (such as normal mapping, ...)
To add new ones, simply add #ifdef SOME_FEATURE statements to your shader code, the material system will automatically detect them.
From the material, you can enable them with
shaderDefine SOME_FEATURE
If not defined, the feature is assumed to be switched off.
A custom shader can also add new parameters to tweak. For example a color value or intensity value that influences the shading.
To do this, the shader author can simply add new uniform variables to their shader code. It is recommended to specify a default
value for them, so that if the material file does not explicitly mention them, they receive a sensible default value.
Example: the X-ray shader adds an edge-fallof property:
uniform float edgefalloff = 1.0;
From the material file, you can influence this value with:
shaderParam edgefalloff 0.5
shaderParam supports lists of float values (one or multiple, divided by spaces), eg
shaderParam edgecolor 0.7 0.3 0.4
or textures, by specifying a path to an image file (in which case they are assumed to be Sampler2D type)
Additionally, from within MakeHuman, they can be passed a Texture object, to dynamically pass them a texture that resides in memory, without the need for the texture to be stored in a file on disk.
This allows to dynamically alter the texture and have it displayed directly. MakeHuman takes care of caching the texture and updating it when it is modified.
For example, the auto skin tone blending of the litsphere texture is implemented in this way.
The material system will automatically detect these custom uniform parameters declared in the shader, for example the material editor plugin will present them in the GUI.
These features make for a general and extensible shader system.
==== Dynamic shader configuration in Material Editor plugin ====
Take as example this screenshot, which shows how the X-Ray shader, mentioned earlier, can be configured.
[[File:Mh_material_editor.png]]
In the shader selector, xray was chosen. This opens up a few new options to configure.
Notice that on the top right the custom shader uniforms edgefalloff and intensity that we mentioned earlier were automatically detected. The shader author had to do nothing else than to define these uniform parameters in his shader code, and define a sensible default for them. A material using this shader can customize these properties using the shaderParam option, which can be altered visually in the top right of the material editor. Changes in the material editor take effect immediately, so you can directly preview your changes.
Also notice in the bottom left that the material editor shows the available shaderConfig parameters. Some of these are greyed out, which means they are not available, or the condition for them is not met (for example, to be able to enable normal mapping, you need to choose a normal map texture on the right panel. If the normal map property is greyed out on the right side, then this particular shader does not support normal mapping).
Let's take a look at a second example.
[[File:Mh_material_editor2.png]]
Here we see the litsphere shader. This shader is different from the other shaders in the sense that it completely ignores the lighting of the scene, and instead lights the model with a texture containing pre-baked lighting conditions, a so-called [http://www.cs.utah.edu/~wmartin/pubs/LitSphere.pdf litsphere] texture.
This shader, being so different, requires a different sort of input, a custom input texture: the litsphere texture.
The shader author simply defined this uniform parameter in his shader code, and as you can see in the top right corner, the material editor shows a texture selector for this property. Using it, the user can select a litsphere texture to feed to the shader.
The litsphere shader also has two different alternative techniques that can be enabled or disabled by the user.
These two features, which can be enabled using shaderDefine statements in the material file, are automatically detected by the material system, and shown in the bottom left of the material editor. Enabling them is as simple as checking the checkbox.
One of these custom shading features is alpha mapping (defined by ALPHA_MAP), which allows to sample alpha transparency from an additional texture.
For this texture, an additional uniform property, named alphaTexture was declared in the shader, but it was written down in a way that it is only declared if the ALPHA_MAP token is defined.
In the shader code:
#ifdef ALPHA_MAP
uniform sampler2D alphaTexture;
#endif
If you check the ALPHA_MAP_checkbox, you will notice that on the top right, an extra texture selector will appear.
These examples show how the material editor can help exploring the different settings that are available in shaders.
52deb0c53df0a7da868ad4d6f0926ad4332179ac
600
599
2016-01-31T18:04:26Z
Duststorm
19
/* Binary proxy */
wikitext
text/x-wiki
== Vertex weights ==
With vertex weights we intend a weighted mapping of vertices of a mesh to a bone of a skeleton. The weight is a value between 0 and 1, the sum of these weights for each vertex should be normalized, which means they should sum to 1 (note: no euclidian distance, just simple addition of all weights). A weight map in MakeHuman is expressed as a bone name (becomes a bone index internally, using the index of the bone in a breadth-first list relative to skeleton structure), a vertex name and a floating point weight between 0 and 1. This weighted vertex to bone mapping is used for skinning (posing and animating, using vertex skinning, smooth skinning or linear blend skinning algorithm). For the skinning algorithm to work correctly it’s required that the weights are always normalized, otherwise you will see vertices move out of place disproportionally (though the weight loading code in MakeHuman ensures that this normalization always happens, so this is not a concern to the artist that defines the weights). The vertex weights can be exported to external tools as well using formats such as collada (DAE), FBX, Ogre3D meshes or MD5 quake meshes.
=== Vertex weights and skeletons ===
Vertex weights are defined for the default “master” skeleton or rig. They are defined in a json file with jsonw extension. They link each vertex of the basemesh including helpers to a named bone of this master rig, together with a certain weight.
The weights loader automatically removes doubles and normalizes the weights (so that they sum to 1). It also reports what the maximum number of bone weights per vertex is, additionally it allows compiling the weights to a reduced set with n number of bone weights, and automatically renormalizes those weights so they, again, sum to 1.
When loading weights, any vertex that receives no weighting is assigned to the root bone, as this is needed for skinning to prevent all those vertices jumping to the origin (0*pos == 0).
Alternative skeletons can define their own weights, by referencing a weights file just like the master rig, or they can choose to derive their weights from the master rig, through so called reference bone mappings. Skeletons will derive their weights from the master rig if they do not specify a weights file explicitly. Custom vertex weights in alternative rigs override those defined on the master rig, except in the case where a proxy defines its own vertex weights. See section Vertex weights for proxies for more details.
=== Reference bones for vertex weights and poses ===
Reference bones are defined on alternative rigs, they are a list of names of bones contained in the master rig. Every bone of an alternative rig can have such a list of reference bones. An alternative rig can also omit these references if it uses the same name as bones in the master rig, in which the mapping is implicit. Having a list of bone references always overrides the implicit mapping. Reference bone mappings are required for two purposes.
They are used for mapping poses defined on the master rig to other rigs. All poses are defined as BVH files that pose the master rig, so they reference only the bone names of the master rig. Poses are applied to all other rigs by using the reference bone mapping: all the rotations that the pose applies to the referenced bones are combined (in the order in which the references were specified -- note: rotations are NOT commutative) and are applied to the alternative rig bone.
Reference bone mappings can also be used for determining vertex weights of custom rigs. If the alternative rig does not explicitly define its own vertex weights, the mapping of reference bones is used to infere a set of bone weights for each bone: All the weights of the reference bones on the master rig (with the weights definition of the default/master rig) are combined and apply to the bone of the alternative rig. Doubles are merged, and weights renormalized. Any vertex that is not weighted will be assigned to the root bone. Watch for messages in the log to verify this.
=== Vertex weights for proxies ===
Generally proxies are mapped to basemesh geometry, that means either to the body or to helpers, or a combination of both (though this is unusual). Proxies derive their vertex weights from the vertices on the basemesh on which they are fitted. A proxy defines its fitting as a 3d offset from one or three vertices on the basemesh, allowing it to deform as the human deforms. This mapping is used to transfer the vertex weights from basemesh to proxy: a proxy vertex referencing three basemesh vertices gets the bone weights of those three vertices. Doubles are merged and the weights are normalized, so that the influence factors are averaged or smoothed. In this case the weights applied to proxies are always those defined on the skeleton: either the weights explicitly defined on the skeleton, or the weights obtained from remapping the master rig weights to this skeleton using the reference bone mapping mentioned in the previous sections. There is an exception to this, which is explained in the next paragraph.
A proxy can explicitly define its own vertex (to bone) weights. In this case it overrides the weights that would be obtained through the proxy mapping, and replaces them by its own custom definition of weights. These vertex weights are always defined to reference the bones of the master rig (default skeleton), so they need to be remapped to other skeletons using reference bone mapping. This also means that the custom weights of a proxy override any custom weights mapping that might be loaded with an alternative rig (but only for that proxy item). Custom proxy weights should be avoided if possible, but are in some cases required, eg. for properly rigging shoes which are rigidly fitted to feet, or an alternative topology which defines very accurate rigging on the face. The general advice for custom rigs is therefore to stay as close to the master rig as possible, reusing as much bones identically as possible, to achieve the best results for proxies with custom weights.
In case of custom weight, the mhclo file must contain a line to indicate the weight file to use, using the keyword “vertexboneweights_file”, with the syntax:
vertexboneweights_file filename.jsonw
== Targets and modifiers ==
MakeHuman applies targets on the human by means of modifiers. Such a modifier has a value (usually between [0, 1] or [-1, 1]) that determines the effect of it on the human mesh. A modifier can control one or more targets and in apply the mixed sum of them on the mesh. Some modifiers.
=== Organization of targets ===
To make sure targets are linked to the right modifier, or to make managing targets easier, a certain discipline has to be observed in managing them. Targets are ASCII files in the data/targets or data/custom folder (in program or user folder) with a file extension of .target.
The file name and folder targets are in implicitly determines their group name. A group is identified by a sequence of tags or tokens, which are taken from the file and folder name of each target, and which can be delimited by “-” symbols, to include multiple tokens in a single file or folder name. The lib/targets.py module takes care of loading all the names of the available targets and assembles them into groups. All targets with the same tokens end up in the same group. This allows easy querying and requesting of targets. The creator is pretty much free to decide what groups to create for their targets. By passing the name of the target group to a modifier, they can make sure that modifier controls the targets belonging to this group. It does not matter whether you use folders or - delimited file names for creating groups.
An example:
data/targets/cartoon/eyes-large.target is categorized in group (cartoon, eyes, large)
data/targets/cartoon-eyes-large.target is also categorized in group (cartoon, eyes, large)
Most simple modifiers work by specifying a group (for example cartoon-eyes) and a set of two tokens to append at the end, depending on the position of the modifier slider (eg. small, large which would allow controlling the targets cartoon-eyes-small and cartoon-eyes-large by moving the slider to the left or right).
=== Reserved group tokens ===
Some of the tokens in the file or foldername of targets are linked to values that variables of the human can have. Such variables are for example age, weight, muscle, gender.
This table lists all the reserved tokens, and the variables they belong to.
{| class="wikitable"
|-
! Reserved token (value)
! Variable
|-
| female,male
| gender
|-
| baby, child, young, old
| age
|-
| african, caucasian, asian
| race
|-
| minmuscle, averagemuscle, maxmuscle
| muscle
|-
| minweight, averageweight, maxweight
| weight
|-
| minheight, averageheight, maxheight
| height
|-
| mincup, averagecup, maxcup
| breastsize
|-
| minfirmness, averagefirmness, maxfirmness
| breastfirmness
|-
| uncommonproportions, regularproportions, idealproportions
| bodyproportion
|}
Note that it is not a good idea to use simply “max” or “min” as a reserved token name, because they need to be unique (otherwise it would not be possible to determine whether they are a minimum for, for example, weight or height). These reserved tokens are declared in the lib/targets.py module. The variable can be set and queried on the human object, for example human.getAge(), human.setMuscle(0.7), human.getProportion().
The reserved tokens are NOT included in the group name, so you should at least include some other, non-reserved tokens in the file or folder names to assign your target to some meaningful group. The inclusion of these reserved tokens in your target names or paths makes it convenient to create macro modifiers.
=== Macro targets and modifiers ===
Macro modifiers are modifiers whose effect (the combination of targets they apply on the human) is influenced by macro variables set on the human (eg. human.set/getAge()). Therefore, macro modifiers often control a large set of targets (20 or even more). It’s also common for multiple modifiers to control exactly the same set of targets, for example the standard age/gender/race sliders all control the set of targets in the ‘macrodetails’ group. Each slider modifies a different variable (eg. human.setAge()) controlling the set of targets, and then reapplies a combination of the same set of targets on the human.
=== Macro modifier dependencies ===
There are other macro modifiers that can also depend on the same variables age, gender, race that is controlled by the main macro modifiers, as discussed above. For example the macro modifiers that influence the weight and muscle mass of the human, controls the targets group “macrodetails-universal”, the universal token is added by prepending “universal-” to all the file names of related targets, which all reside in the folder “macrodetails” (thus macrodetails-universal ends up being the group name). They could have been included all in the “macrodetails” group, but are kept separate for performance reasons, so that the “macrodetails” group of targets (which already contains some 40 targets or so) can be applied in realtime while moving the slider.
Of course a change in the variable that these age/race/gender modifiers control will have an effect on the macrodetails-universal modifiers (because they control targets that depend on age -- their targets include -young- -old- etc. tokens in their filenames). This means there are inter-dependencies between macro modifiers, if one is updated, another one that depends on it should be refreshed. These dependencies can be descibed as follows: one macro modifier controls exactly one macro variable (such as age). It (or rather, the targets it controls) can however depend on multiple macro variables. The trivial case is where a macro modifier only depends on the macro variable that it controls itself. The tracking of these dependencies and deciding which modifiers must be updated when another is changed happens automatically. Dependencies are automatically tracked as soon as you add a modifier to the human (by calling modifier.setHuman(human)). To make this more performant in real-time, the propagation of updates to modifiers is limited while sliders are dragged (see realtimeDependencyUpdates in apps/humanmodifier.py).
As you might have understood, creating modifiers that depend on human variables is almost automatic. The only thing you need to do is create some targets that resolve to the same group name, add variations for all the macro variables you want and add the proper reserved tokens to the file or folder name (refer to the left column in the table above), and create a modifier with this group name. Once added to the human, the dependencies are tracked automatically.
=== Organization of modifiers ===
We already discussed how we organized targets in groups, to make it easier to connect them to a modifier. Now we will discuss how we can do a similar thing for modifiers.
Modifiers provide an easy way to manage targets. They allow reducing many of hundreds of targets to a more manageable number of controllable properties. But even then, we still have about 100 modifiers, which is still quite a lot. Therefore we group them in groups of categories, much like we do in the GUI. This makes it easy to get a grouped overview of all modifiers when using an alternative interface, think of commandline or scripting. The way in which you declare the group and other properties of a modifier determines what target groups it gets its targets from.
Modifiers are declared with a group name, some intermediary “target name” and a number of tail tokens (2 or 3 usually, eg min/max). The group of targets controlled by these modifiers is composed as: groupname-targets_name-tail.
Macro modifiers are declared with a group name, and a controlled variable. The groupname must be the same groupname of the targets they control.
=== Declarative modifiers ===
Instead of hard coding what modifiers you want to instantiate, MakeHuman offers a data-based format to declare what modifiers should be created, and how they should be shown in a user interface with sliders.
A full declaration requires three files, all stored in data/modifiers. The first is the declaration of the modifiers (eg. modeling_modifiers.json). This format lists a modifier group name, and all the modifiers with their macro variable (if they are macro modifiers) or target name and 2 or 3 (if they are a modifier with a center point) tail tokens.
The second file adds a description to the modifiers declared in the first file. It basically contains a key-value set, referencing the modifier name, and a textual description of what the modifier controls. A modifier name is constructed as follows: group/targets_name-all|the|tails and for a macro modifier: group/variable
The third file defines how these modifiers should be shown in the user interface as sliders. It lists a set of categories, and the sliders to show in them, and how their values have to be saved in a mhm file (mainly a feature for legacy compatibility).
=== Your own plugin with modifiers, sliders and targets ===
Using the declarative data format described in the section above, it’s really simple. Have a look at the plugin plugins/0_modeling_0_modifiers.py. Notice it’s barely 5 lines of code. Creating your own modeling plugin is as simple as that, pointing it to your own modifier data files.
=== Binary targets ===
Because loading these ASCII target files, and iterating all target files and folders can be slow (especially on windows) in build versions, we compile all targets in the data/targets system folder into a single binary file, that furthermore acts exactly the same as multiple target files. The binary targets file is stored in the system data/ folder and is called targets.npz, it is created by running the compile_targets.py script, which is also automatically run in the build_prepare.py build routine. The file structure of the targets files is maintained in this binary file so that targets can be loaded from it in the same way as you would do with regular files. A change in the .target files, or newly added target files allow a recompilation of the targets npz file before the change is applied.
== Proxy format ==
A proxy is a fitting of an arbitrary mesh (for example clothes or a hairstyle) to the basemesh. A proxy asset is distributed as a mesh file together with this fitting file (what we call the proxy file), allowing this mesh to be fitted on different modeling variations of the human within MakeHuman.
=== v1.0 format ===
The 1.0 format got introduced in the v1.0 release of MakeHuman, but was already present in the Alpha 7 (A7) release. The format got reworked a bit for 1.0, however.
==== Example ====
This is an excerpt from the fedora distributed with MakeHuman
# Exported from MakeClothes (TM)
# author Jonas Hauquier
# license AGPL3 (see also http://www.makehuman.org/node/320)
# homepage http://www.makehuman.org/
uuid 566dbd52-71d1-4d76-a799-0474a5a384db
basemesh hm08
tag Hats
name fedora
obj_file fedora.obj
x_scale 5399 11998 1.4800
z_scale 962 5320 1.9221
y_scale 791 881 2.3298
z_depth 50
material materials/fedora.mhmat
verts 0
251 5243 5244 0.60391 0.28706 0.10903 -0.00245 0.01323 0.03373
7020 11853 11852 0.53311 0.29591 0.17097 0.00529 0.01134 0.03388
7678 7000 7707 0.22571 0.34923 0.42506 0.00946 0.03331 0.04954
984 983 1015 0.17322 0.18383 0.64295 -0.00575 0.03634 0.05443
1014 226 982 0.12607 0.67880 0.19513 -0.00934 0.03289 0.04891
250 5245 5232 0.54148 0.48285 -0.02433 -0.01273 0.01129 0.03202
7746 7712 12153 0.16168 0.32394 0.51438 0.02696 0.11561 0.09667
5556 5554 1013 -0.03554 0.63140 0.40413 -0.01650 0.11949 0.10646
5560 5556 1020 0.34178 0.11896 0.53926 -0.03442 0.11513 0.09756
1013 7712 7721 0.24117 0.40913 0.34971 0.03897 0.20473 0.13559
1013 882 1029 0.71875 0.41604 -0.13479 -0.02631 0.22391 0.13840
1029 1020 1013 0.36342 0.60536 0.03123 -0.03890 0.20439 0.13536
7712 7721 882 0.21674 0.67896 0.10430 0.02804 0.23763 0.15510
1013 882 1029 0.30269 0.87853 -0.18122 -0.02994 0.25488 0.15754
1029 1020 1013 0.79483 0.03879 0.16638 -0.04433 0.23290 0.15424
5370 5368 969 -0.08854 0.29827 0.79027 -0.01789 0.14173 -0.15713
11971 7713 969 0.28241 0.33962 0.37797 0.01910 0.14921 -0.16563
11971 7713 969 0.05967 0.69236 0.24796 0.01670 0.13045 -0.14480
5370 5368 969 -0.07249 0.07305 0.99945 -0.01517 0.12017 -0.13323
969 1021 5370 0.20926 0.73057 0.06018 -0.01674 0.13078 -0.14517
969 1021 5370 0.33927 0.37782 0.28291 -0.01914 0.14955 -0.16600
5379 969 7713 -0.00113 0.07709 0.92403 0.01192 0.06520 -0.14994
1021 969 5379 -0.05590 0.97961 0.07629 -0.01124 0.06148 -0.14138
1021 969 5379 0.96289 0.03946 -0.00235 -0.01195 0.06537 -0.15033
11982 11981 7713 0.14728 0.42350 0.42922 0.01740 0.04655 -0.11033
1021 969 5379 -0.03656 0.34361 0.69295 -0.00834 0.04564 -0.10495
1021 5381 5382 0.43027 0.37607 0.19367 -0.01752 0.04687 -0.11110
11981 11982 7738 0.30937 0.48274 0.20789 0.00929 0.00889 -0.07280
5379 962 1022 0.56542 0.43776 -0.00318 -0.00327 0.01206 -0.08469
The rest of the file is very similar, it continues listing vertex fittings to the basemesh.
==== Vertex assignments ====
The format contains matchings in the following format:
vIdx1 vIdx2 vIdx3 w1 w2 w3 d1 d2 d3
vIdx is an index of a vertex on the basemesh
w is a weight of the corresponding vertex
d1,d2,d3 are optional (default to 0) and defines an offset
The format contains one such lines for every vertex in the proxy mesh, the order of the lines is the same as the order of vertices in the proxy mesh.
The format also supports an alternative fitting, referencing exactly one basemesh vertex, which is used for exact fitting: the proxy mesh vertex is placed in the exact same location as the basemesh vertex it is associated with.
vIdx
The file format allows mixing these two types of fittings on a per-vertex basis.
==== Properties ====
Every proxy should have a unique uuid (which can be generated using the python uuid module using uuid.uuid4()), a name, description, author and license information.
One or multiple tags can be added, each on a new line prepended with "tag".
A proxy references a material file and an OBJ mesh.
z_depth determines the rendering priority of the object (important for transparency) and the layer of clothing. It is used by face masking to determine which piece of clothing masks another.
The scale parameters define a bounding box referencing vertices on the human between which the proxy should be scaled. They are modified in makeclothes by selecting a clothing part.
=== v1.2 format ===
Starting from v1.2, a new algorithm for handling proxies is introduced, based on Manuel Bastioni's Lab experiments.
The new format uses a local normal space instead of global coordinates, making it more stable, even across different poses. It is also a lot easier for an artist to create new proxies, as it requires only one button press, instead of having to deal with vertex groups.
Future MakeHuman versions will contain backwards compatibility support for v1.0 proxies, but the new format is recommended for creation of new content.
The layout of this format is largely the same as the old format, with a version parameter specifying that this file should be interpreted as a new style proxy.
==== Example ====
# Exported from MakeClothes (TM)
# author Jonas Hauquier
# license AGPL3 (see also http://www.makehuman.org/node/320)
# homepage http://www.makehuman.org/
uuid 566dbd52-71d1-4d76-a799-0474a5a384db
basemesh hm08
tag Hats
name fedora
obj_file fedora.obj
z_depth 50
material materials/fedora.mhmat
verts 0
polyIdx dx dy dz
It looks a lot like the v1.0 format, only the scale is no longer needed, and the vertex assignments have a new format.
polyIdx references a polygon of the basemesh
dx dy dz is the distance vector between the polygon center and the proxy mesh vertex.
=== Binary proxy ===
Proxies, as well as their meshes, can be compiled into a more compact binary variant that is faster to load and smaller to distribute. MakeHuman will do this automatically for proxies in the home path. Files in the installation path will have to be compiled manually by running the compile_proxies.py and compile_meshes.py scripts. Usually these scripts are ran when a distribution is created, so need not to be repeated by the end user, unless MakeHuman is used from source.
== Material format==
=== Introduction ===
MakeHuman material files have extension .mhmat and are simple ASCII definitions
of the material settings to use for rendering.
These material settings are primarily intended for configuring the material
system within MakeHuman, but they are usually carried out to other software as
well by the exporters.
Not all properties will be supported for all given combinations of shaders, nor
is there a guarantee that the exporters will honor all the properties in these
files.
Every 3D object in MakeHuman has exactly one material attached to it (multiple
materials are not possible, you need separate objects for that). Materials are
used for proxy meshes (clothes, hairs, ...) but also for the skin of the human
itself.
=== The Material System ===
The MakeHuman material system is closely based on the [https://en.wikipedia.org/wiki/Rendering_equation standard rendering equation]
as is used in OpenGL and DirectX forward rendering pipelines. MakeHuman supports
shaders and the material format contains the most commonly used extensions in
real-time rendering. As a consequence of this, users need to be aware of the
implications of setting values such as ambient too bright, or diffuse too dark.
All usual rules about rendering materials apply.
At the highest level, the material supports setting the most basic material
properties, such as diffuse, specular and ambient color. These are supported
both by shaders as well as the fixed function shading pipeline (which is used
when no shader is specified). Fixed function also supports the diffuse texture
option.
At a second level, a shader can be chosen. This refers directly to the filename
of a [https://en.wikipedia.org/wiki/OpenGL_Shading_Language GLSL shader] as found in the data/shaders/glsl folder of MakeHuman.
The selected shader will determine what material options will be available.
At the third level, various additional settings become available, depending on whether or not the
chosen shader has support for these features, such as bump or normal mapping,
ambient occlusion, specular mapping, etc.
For most of these, a texture map and a scalar property between 0 and 1 can be
set, the latter determining the intensity or influence of the effect.
Finally, MakeHuman also contains a built-in offline renderer that supports some
additional properties such as subsurface scattering, for which some special
properties are available.
=== Example ===
This is a full and complete (but fictional) example of a material file for MakeHuman, it shows all the available properties.
# Example MakeHuman Material definition
name Material_name
tag some_tag
tag another_tag
description material description text here
ambientColor 0.11 0.11 0.11
diffuseColor 1.0 1.0 1.0
specularColor 0.0470588235294 0.0470588235294 0.0470588235294
shininess 0.96
emissiveColor 0.0 0.0 0.0
opacity 1.0
translucency 0.0
shadeless False
wireframe False
transparent True
alphaToCoverage True
backfaceCull False
depthless False
autoBlendSkin False
castShadows True
receiveShadows True
diffuseTexture diffuse_texture.png
bumpmapTexture bumpmap.png
bumpmapIntensity 1.0
normalmapTexture normalmap.png
normalmapIntensity 1.0
displacementmapTexture norm_displacement.png
displacementmapIntensity 1.0
specularmapTexture specular.png
specularmapIntensity 1.0
transparencymapTexture alpha.png
transparencymapIntensity 1.0
aomapTexture ambient_occlusion_map.png
aomapIntensity 1.0
# Sub-surface scattering parameters
sssEnabled True
sssRScale 5.0
sssGScale 2.5
sssBScale 1.0
shader shaders/glsl/litsphere
shaderParam litsphereTexture litspheres/lit_hair.png
shaderConfig ambientOcclusion True
shaderConfig normal False
shaderConfig bump True
shaderConfig displacement False
shaderConfig vertexColors True
shaderConfig spec True
shaderConfig transparency True
shaderConfig diffuse True
shaderDefine ALPHA_MAP
uvMap alt_uv_coords.mhuv
This is another example, this time a real one. It is the X-ray material, used for example when showing the skeleton:
# Material definition for XrayMaterial
name XrayMaterial
ambientColor 0.1 0.1 0.1
diffuseColor 1.0 1.0 1.0
specularColor 0.3 0.3 0.3
shininess 0.1
emissiveColor 0.0 0.0 0.0
opacity 0.1
translucency 0.0
transparent True
backfaceCull True
shadeless False
wireframe False
depthless False
shader data/shaders/glsl/xray
shaderConfig diffuse False
shaderConfig transparency False
shaderConfig normal False
shaderConfig bump False
shaderConfig spec False
shaderConfig vertexColors False
shaderConfig displacement False
=== Explanation of material properties ===
==== Standard settings ====
''ambientColor'', ''diffuseColor'' ''specularColor'', ''emissiveColor'' are the standard colors
as used in the [https://en.wikipedia.org/wiki/Rendering_equation rendering equation]
or in standard OpenGL.
Their corresponding intensities are simple scalars with a value between 0 and 1 and are multiplied
with the colors to dim them. Default these intensities are set to 1.
Colors are described as three floating point numbers, representing R G B, or red-green-blue
values. 1 is the maximum, 0 the minimum.
For example 1.0 0 0 means fully red, 1 1 1 means full white, 0 0 0 is full black.
0.5 0.5 0.5 will give you a grey middle color.
''opacity'' determines the opaqueness of the object (alpha channel), with 1 being fully
opaque, and 0 being fully transparent (invisible)
''translucency'' is something that came from Blender but is unused
''shininess'' or specular hardness is a number between 0 and 1 determining the shininess constant of the [https://en.wikipedia.org/wiki/Phong_reflection_model phong shading model].
==== Texture maps ====
Various standard texture maps can be defined on the material, like ''diffuseTexture'', ''bumpmapTexture'', ''normalmapTexture'', ''displacementmapTexture'', ''specularmapTexture'', ''transparencymapTexture'', ''aomapTexture''. Each of these also has an associated intensity value, which is a scalar from 0 to 1 multiplied with the pixel value of that texture (unless a specific shader implements it differently).
These textures only have an effect if their corresponding shaderConfig feature has been defined (see the table in Shaders section).
==== Render states ====
When ''wireframe'' is set to True, the model is drawn in wireframe mode. In this mode,
most material properties have no effect, but you can enable the vertexColors shaderConfig
to be able to change the color of the mesh using vertex colors (this requires
access to the mesh programatically, obj meshes do not support vertex colors).
This feature is used in some parts of MakeHuman, for example viewing bone weights
in the skeleton debug plugin.
Set ''shadeless'' to True to disable shading, eg. the object is not affected by lights.
Configured shader will have no effect
Set ''transparent'' to True to enable transparency rendering (usually needed when opacity is < 1)
In itself this does not change the visual appearance of the model, but this setting
should be enabled if your texture contains (semi-) transparent parts. This setting
instructs the renderer to disable depth buffer writes (glDepthMask(false))
and enables alpha testing and blending so that transparent surfaces can overlap and to allow [https://www.opengl.org/wiki/Transparency_Sorting alpha blending].
''alphaToCoverage'' Applies when transparent is set to True (otherwise does nothing).
It requires that your GPU supports alpha to coverage (A2C) rendering. It enables
the A2C feature which provides face order-independent alpha rendering. This works
very well for complex transparent meshes, like hair. At the cost of a slightly
dithered look, it solves all the problems with face sorting that are usually
involved in rendering semi transparency.
(This feature disables anti-aliasing for this object because the multisample buffer is used for alpha blending instead)
Set ''backfaceCull'' to False to disable backface culling (render the back side of polygons)
By default, and in most cases, this should be set to True, but can be useful
in some cases (for example, we disable back-face culling for the eyebrow materials).
Set ''depthless'' to True for depthless rendering (object is not occluded and does not occlude other objects).
This disables OpenGL depth writes and tests. In practice, this makes object faces that should be occluded shine through others.
''castShadows'' determines whether the object casts shadows on other objects.
''receiveShadows'' determines whether the object receives shadows from other objects.
For some features, like eyes, you probably want to disable shadow receiving.
Since MakeHuman does not (yet) implement shadow casting, the shadow settings have
no effect in MakeHuman, but they do export to other engines.
Play around with these settings in the Material Editor plugin to see their effect, that's the best advise I can give you.
The best way to find out which settings work for an asset, is simply to try them out.
==== autoBlendSkin ====
If True MakeHuman will set the diffuse color based on the ethnix mix set for the character.
Any diffuseColor set in the material file will be overridden by this.
Also the shaderParam litsphereTexture will be automatically set to a dynamically blended litsphere texture,
which is a mix of three litsphere materials (afro, asian, caucasian) depending on the ethnic mix of the character.
This latter is specifically intended to be used with the litsphere shader, and it is what you see as default material when you start MakeHuman
This overrides whatever shaderParam litsphereTexture was set in the material file.
This setting is intended only for skin materials.
==== shaderParam ====
Define a custom shader parameter (uniform), which might be required for some non-standard shaders.
For example, the litsphere shader takes an extra type of texture map as input, a so-called litsphere texture.
This generic system of mapping shader uniforms allows you to create specialised shaders that take
new and different kind of inputs, and allow configuring the shader from the material file.
shaderParam can be a list of floating point numbers, in which case it will be interpreted as a vector,
or it can be a file path, in which case it is assumed to be an image path.
Internally in MakeHuman, shaderParams can also be assigned a texture object, which allows
for dynamically passing a texture that is in memory, but perhaps not stored on disk.
Another example of a custom shaderParam is the X-ray shader that defines an edgefalloff
and intensity uniform parameter.
These could be changed from the material file with
shaderParam edgefalloff 0.8
shaderParam intensity 0.77
==== shaderDefine ====
shaderDefines allow enabling or disabling custom shading techniques in shaders.
These allow to define new shading techniques, apart from the pre-defined ones
such as normal mapping, specularity mapping, ...
It's a generic system that allows new shaders to be added and configured from
the material file, or from the material editor (which nicely auto-detects these
features in the shader and shows a set of checkboxes for them).
==== uvMap ====
Load custom UV coordinates on the mesh to use this material. This makes the material
completely dependent on the mesh it is used with.
Takes a path to a .mhuv file, which is actually just an .obj file, where the vertex
positions can be deleted (they can remain in there, but they are ignored).
Requirement for it to work is that the vertex order is the same as that of the
mesh obj.
An example uv map for the basemesh can be found in data/uvs/a7.mhuv, which is a
set of UV coordinates compatible with the old Alpha 7 mesh, allowing you to load
A7 textures on the new basemesh used in MakeHuman v1+
==== SSS properties ====
These are the so-called sub-surface scattering shading properties, currently only used by the built-in offline renderer. They were decided on while trying to figure out the most generic way to define SSS shading properties, so that they could easily be translated into SSS properties for a different renderer (as no single renderer that I know of has a standard for these). It's uncertain whether the format we have landed on currently is the best, or whether this will remain permanently or is still likely to change.
This setting should currently be considered experimental.
The properties are ''sssEnabled'', ''sssRScale'', ''sssGScale'' and ''sssBScale''.
=== Basic pointers for creating materials ===
* You can test the influence of material properties using the Material Editor plugin (which you can enable in Settings > Plugins, then restart)
* Using a diffuse texture? You probably want to set the diffuse color to 1 1 1 (pure white)
* Never set ambient color too bright, or your model will look completely white. 0.1 0.1 0.1 is a good value to start from.
* Emissive is usually set to black, unless you want a radioactive character
* Don't know how to define a color in numbers? Try the Material Editor plugin
* Higher shininess means smaller and sharper highlight, lower shininess makes the highlight larger and more blurred
* Reduce specular color to reduce the specularity, make it black for a rough and non shiny object
* opacity 1 means fully opaque, 0 means fully transparent (invisible)
* Do your (diffuse) textures contain transparency? Do not forget to enable transparency! Perhaps try if alpha-to-coverage improves the situation (especially for hair!).
=== Scene definition ===
To complete the rendering equation, you also need to define the scene. To be
more precise, the positions, types, color and intensities of the lights need to
be set. By default, MakeHuman only has a default scene with only one pointlight.
In MakeHuman, lights do not move if the camera is moved, or rather, the model is
rotated while the camera and lights remain static. So light positions are defined
relative to the camera position.
MakeHuman scenes are defined in .mhscene files, which are binary py-pickled files.
They can be created or modified using the Scene Editor plugin (can be enabled in
settings) and can be selected from the Scene library in the Render tab.
Fixed function shading pipeline supports up to 8 lights, specific light support
depends on the shader used, some shaders only support a certain type or number
of lights, other ignore the chosen scene altogether (for example the litsphere
shader that uses pre-baked environment lighting).
The built-in offline renderer also uses the specified scene.
Scenes are not exported along with the model.
=== Shaders ===
The most powerful functionality of the material system is unlocked when using
shaders.
MakeHuman shaders are intended to be written in a modular way, so that shading
features can be enabled or disabled using the material format. Examples of such
features are bump mapping, normal mapping, specular mapping, diffuse texturing,
ambient occlusion and displacement mapping.
MakeHuman includes a basic introspection function that allows it to determine
what features a shader supports. It accomplishes this by looking for #ifdef and #ifndef statements. If a shader supports a certain technique, it is supposed to
encapsulate this in #ifdef NORMALMAP ... #else ... #endif statements.
The idea is that of an [http://www.gamedev.net/topic/659145-what-is-a-uber-shader/ über shader], where performance is optimized by removing any dynamic branches (if then that) from shader code, and instead managing the features using defines and pre-processor branches.
When a different branch in the shader is activated, the shader code is recompiled entirely.
Instead of having different shaders for different features (eg. a specific normalmap shader to be able to do normal mapping), one general shader could be used instead, and normal mapping can simply be enabled or disabled from the material properties, without being required to swap shaders (a good default uber shader is [http://bugtracker.makehumancommunity.org/issues/160 still to be created for MakeHuman] Any help with this is welcome of course!).
The material system manages these shading functions by defining specific pre-processor
keywords when their corresponding shaderConfig property is set to true.
Shaders are recompiled when needed and stored in a shader cache for efficiency.
MakeHuman passes scene and material information to the shaders by certain uniform
parameters. Depending on which shaderConfig properties were enabled, additional
uniforms could be exposed to the shader. The shader does not have to declare all
these uniforms, however. MakeHuman binds only those uniforms present in the shader
if they have the right corresponding names.
Other properties are available from the OpenGL built-in uniforms or properties
(usually starting with gl_).
The following table lists these defines and the shaderConfig properties in the
material they relate to:
{| class="wikitable"
|-
! feature name
! shaderConfig
! shader #DEFINE
! exposed uniform parameters if enabled
! comment
|-
|default (always enabled)
|
|
|vec3 ambient, vec4 diffuse, vec4 specular, vec3 emissive
|diffuse and specular are 4-component color values, diffuse=[rgba] with a=opacity and specular=[rgbs] with s=shininess
|-
|Vertex coloring
|vertexColors
|VERTEX_COLOR
|
|Derive diffuse color from vertex colors
|-
|Diffuse texturing
|diffuse
|DIFFUSE
|diffuseTexture
|
|-
|Bump mapping
|bump
|BUMPMAP
|bumpmapTexture, bumpmapIntensity
|disabled if normal mapping is enabled (restriction might be lifted in the future)
|-
|Normal mapping
|normal
|NORMALMAP
|normalmapTexture, normalmapIntensity
|
|-
|Displacement mapping
|displacement
|DISPLACEMENT
|displacementmapTexture, displacementmapIntensity
|
|-
|Specularity mapping
|spec
|SPECULARMAP
|specularmapTexture, specularmapIntensity
|
|-
|Transpareny (alpha) maps
|transparency
|TRANSPARENCYMAP
|transparencymapTexture, transparencymapIntensity
|
|-
|Ambient occlusion maps
|ambientOcclusion
|AOMAP
|aomapTexture, aomapIntensity
|
|}
Additionally, MakeHuman exposes the vertex tangent as a vertex property, which
can be accessed by the shader.
attribute vec4 tangent
Currently, [http://www.terathon.com/code/tangent.html Lengyel’s Method] for tangent calculation
is used, but plans are to change this to [http://bugtracker.makehumancommunity.org/issues/87 mikktspace] in the future.
Shader examples for MakeHuman can be found here:
* Litsphere shader: [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/litsphere_vertex_shader.txt vertex][https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/litsphere_fragment_shader.txt fragment]
* Phong shader: [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/phong_vertex_shader.txt vertex][https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/phong_fragment_shader.txt fragment]
* Normal map shader (wip): [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/normalmap_vertex_shader.txt vertex] [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/normalmap_fragment_shader.txt fragment]
* X-ray shader: [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/xray_vertex_shader.txt vertex][https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/xray_fragment_shader.txt fragment]
==== Custom shader properties ====
Shaders can use non-standard #DEFINEs to allow enabling or disabling non-standard shading features, other than the ones that were foreseen in the material format (such as normal mapping, ...)
To add new ones, simply add #ifdef SOME_FEATURE statements to your shader code, the material system will automatically detect them.
From the material, you can enable them with
shaderDefine SOME_FEATURE
If not defined, the feature is assumed to be switched off.
A custom shader can also add new parameters to tweak. For example a color value or intensity value that influences the shading.
To do this, the shader author can simply add new uniform variables to their shader code. It is recommended to specify a default
value for them, so that if the material file does not explicitly mention them, they receive a sensible default value.
Example: the X-ray shader adds an edge-fallof property:
uniform float edgefalloff = 1.0;
From the material file, you can influence this value with:
shaderParam edgefalloff 0.5
shaderParam supports lists of float values (one or multiple, divided by spaces), eg
shaderParam edgecolor 0.7 0.3 0.4
or textures, by specifying a path to an image file (in which case they are assumed to be Sampler2D type)
Additionally, from within MakeHuman, they can be passed a Texture object, to dynamically pass them a texture that resides in memory, without the need for the texture to be stored in a file on disk.
This allows to dynamically alter the texture and have it displayed directly. MakeHuman takes care of caching the texture and updating it when it is modified.
For example, the auto skin tone blending of the litsphere texture is implemented in this way.
The material system will automatically detect these custom uniform parameters declared in the shader, for example the material editor plugin will present them in the GUI.
These features make for a general and extensible shader system.
==== Dynamic shader configuration in Material Editor plugin ====
Take as example this screenshot, which shows how the X-Ray shader, mentioned earlier, can be configured.
[[File:Mh_material_editor.png]]
In the shader selector, xray was chosen. This opens up a few new options to configure.
Notice that on the top right the custom shader uniforms edgefalloff and intensity that we mentioned earlier were automatically detected. The shader author had to do nothing else than to define these uniform parameters in his shader code, and define a sensible default for them. A material using this shader can customize these properties using the shaderParam option, which can be altered visually in the top right of the material editor. Changes in the material editor take effect immediately, so you can directly preview your changes.
Also notice in the bottom left that the material editor shows the available shaderConfig parameters. Some of these are greyed out, which means they are not available, or the condition for them is not met (for example, to be able to enable normal mapping, you need to choose a normal map texture on the right panel. If the normal map property is greyed out on the right side, then this particular shader does not support normal mapping).
Let's take a look at a second example.
[[File:Mh_material_editor2.png]]
Here we see the litsphere shader. This shader is different from the other shaders in the sense that it completely ignores the lighting of the scene, and instead lights the model with a texture containing pre-baked lighting conditions, a so-called [http://www.cs.utah.edu/~wmartin/pubs/LitSphere.pdf litsphere] texture.
This shader, being so different, requires a different sort of input, a custom input texture: the litsphere texture.
The shader author simply defined this uniform parameter in his shader code, and as you can see in the top right corner, the material editor shows a texture selector for this property. Using it, the user can select a litsphere texture to feed to the shader.
The litsphere shader also has two different alternative techniques that can be enabled or disabled by the user.
These two features, which can be enabled using shaderDefine statements in the material file, are automatically detected by the material system, and shown in the bottom left of the material editor. Enabling them is as simple as checking the checkbox.
One of these custom shading features is alpha mapping (defined by ALPHA_MAP), which allows to sample alpha transparency from an additional texture.
For this texture, an additional uniform property, named alphaTexture was declared in the shader, but it was written down in a way that it is only declared if the ALPHA_MAP token is defined.
In the shader code:
#ifdef ALPHA_MAP
uniform sampler2D alphaTexture;
#endif
If you check the ALPHA_MAP_checkbox, you will notice that on the top right, an extra texture selector will appear.
These examples show how the material editor can help exploring the different settings that are available in shaders.
3bc99da6ce5af916fcb8a5497305cf4be49bc61e
599
598
2016-01-31T18:03:56Z
Duststorm
19
/* Example */
wikitext
text/x-wiki
== Vertex weights ==
With vertex weights we intend a weighted mapping of vertices of a mesh to a bone of a skeleton. The weight is a value between 0 and 1, the sum of these weights for each vertex should be normalized, which means they should sum to 1 (note: no euclidian distance, just simple addition of all weights). A weight map in MakeHuman is expressed as a bone name (becomes a bone index internally, using the index of the bone in a breadth-first list relative to skeleton structure), a vertex name and a floating point weight between 0 and 1. This weighted vertex to bone mapping is used for skinning (posing and animating, using vertex skinning, smooth skinning or linear blend skinning algorithm). For the skinning algorithm to work correctly it’s required that the weights are always normalized, otherwise you will see vertices move out of place disproportionally (though the weight loading code in MakeHuman ensures that this normalization always happens, so this is not a concern to the artist that defines the weights). The vertex weights can be exported to external tools as well using formats such as collada (DAE), FBX, Ogre3D meshes or MD5 quake meshes.
=== Vertex weights and skeletons ===
Vertex weights are defined for the default “master” skeleton or rig. They are defined in a json file with jsonw extension. They link each vertex of the basemesh including helpers to a named bone of this master rig, together with a certain weight.
The weights loader automatically removes doubles and normalizes the weights (so that they sum to 1). It also reports what the maximum number of bone weights per vertex is, additionally it allows compiling the weights to a reduced set with n number of bone weights, and automatically renormalizes those weights so they, again, sum to 1.
When loading weights, any vertex that receives no weighting is assigned to the root bone, as this is needed for skinning to prevent all those vertices jumping to the origin (0*pos == 0).
Alternative skeletons can define their own weights, by referencing a weights file just like the master rig, or they can choose to derive their weights from the master rig, through so called reference bone mappings. Skeletons will derive their weights from the master rig if they do not specify a weights file explicitly. Custom vertex weights in alternative rigs override those defined on the master rig, except in the case where a proxy defines its own vertex weights. See section Vertex weights for proxies for more details.
=== Reference bones for vertex weights and poses ===
Reference bones are defined on alternative rigs, they are a list of names of bones contained in the master rig. Every bone of an alternative rig can have such a list of reference bones. An alternative rig can also omit these references if it uses the same name as bones in the master rig, in which the mapping is implicit. Having a list of bone references always overrides the implicit mapping. Reference bone mappings are required for two purposes.
They are used for mapping poses defined on the master rig to other rigs. All poses are defined as BVH files that pose the master rig, so they reference only the bone names of the master rig. Poses are applied to all other rigs by using the reference bone mapping: all the rotations that the pose applies to the referenced bones are combined (in the order in which the references were specified -- note: rotations are NOT commutative) and are applied to the alternative rig bone.
Reference bone mappings can also be used for determining vertex weights of custom rigs. If the alternative rig does not explicitly define its own vertex weights, the mapping of reference bones is used to infere a set of bone weights for each bone: All the weights of the reference bones on the master rig (with the weights definition of the default/master rig) are combined and apply to the bone of the alternative rig. Doubles are merged, and weights renormalized. Any vertex that is not weighted will be assigned to the root bone. Watch for messages in the log to verify this.
=== Vertex weights for proxies ===
Generally proxies are mapped to basemesh geometry, that means either to the body or to helpers, or a combination of both (though this is unusual). Proxies derive their vertex weights from the vertices on the basemesh on which they are fitted. A proxy defines its fitting as a 3d offset from one or three vertices on the basemesh, allowing it to deform as the human deforms. This mapping is used to transfer the vertex weights from basemesh to proxy: a proxy vertex referencing three basemesh vertices gets the bone weights of those three vertices. Doubles are merged and the weights are normalized, so that the influence factors are averaged or smoothed. In this case the weights applied to proxies are always those defined on the skeleton: either the weights explicitly defined on the skeleton, or the weights obtained from remapping the master rig weights to this skeleton using the reference bone mapping mentioned in the previous sections. There is an exception to this, which is explained in the next paragraph.
A proxy can explicitly define its own vertex (to bone) weights. In this case it overrides the weights that would be obtained through the proxy mapping, and replaces them by its own custom definition of weights. These vertex weights are always defined to reference the bones of the master rig (default skeleton), so they need to be remapped to other skeletons using reference bone mapping. This also means that the custom weights of a proxy override any custom weights mapping that might be loaded with an alternative rig (but only for that proxy item). Custom proxy weights should be avoided if possible, but are in some cases required, eg. for properly rigging shoes which are rigidly fitted to feet, or an alternative topology which defines very accurate rigging on the face. The general advice for custom rigs is therefore to stay as close to the master rig as possible, reusing as much bones identically as possible, to achieve the best results for proxies with custom weights.
In case of custom weight, the mhclo file must contain a line to indicate the weight file to use, using the keyword “vertexboneweights_file”, with the syntax:
vertexboneweights_file filename.jsonw
== Targets and modifiers ==
MakeHuman applies targets on the human by means of modifiers. Such a modifier has a value (usually between [0, 1] or [-1, 1]) that determines the effect of it on the human mesh. A modifier can control one or more targets and in apply the mixed sum of them on the mesh. Some modifiers.
=== Organization of targets ===
To make sure targets are linked to the right modifier, or to make managing targets easier, a certain discipline has to be observed in managing them. Targets are ASCII files in the data/targets or data/custom folder (in program or user folder) with a file extension of .target.
The file name and folder targets are in implicitly determines their group name. A group is identified by a sequence of tags or tokens, which are taken from the file and folder name of each target, and which can be delimited by “-” symbols, to include multiple tokens in a single file or folder name. The lib/targets.py module takes care of loading all the names of the available targets and assembles them into groups. All targets with the same tokens end up in the same group. This allows easy querying and requesting of targets. The creator is pretty much free to decide what groups to create for their targets. By passing the name of the target group to a modifier, they can make sure that modifier controls the targets belonging to this group. It does not matter whether you use folders or - delimited file names for creating groups.
An example:
data/targets/cartoon/eyes-large.target is categorized in group (cartoon, eyes, large)
data/targets/cartoon-eyes-large.target is also categorized in group (cartoon, eyes, large)
Most simple modifiers work by specifying a group (for example cartoon-eyes) and a set of two tokens to append at the end, depending on the position of the modifier slider (eg. small, large which would allow controlling the targets cartoon-eyes-small and cartoon-eyes-large by moving the slider to the left or right).
=== Reserved group tokens ===
Some of the tokens in the file or foldername of targets are linked to values that variables of the human can have. Such variables are for example age, weight, muscle, gender.
This table lists all the reserved tokens, and the variables they belong to.
{| class="wikitable"
|-
! Reserved token (value)
! Variable
|-
| female,male
| gender
|-
| baby, child, young, old
| age
|-
| african, caucasian, asian
| race
|-
| minmuscle, averagemuscle, maxmuscle
| muscle
|-
| minweight, averageweight, maxweight
| weight
|-
| minheight, averageheight, maxheight
| height
|-
| mincup, averagecup, maxcup
| breastsize
|-
| minfirmness, averagefirmness, maxfirmness
| breastfirmness
|-
| uncommonproportions, regularproportions, idealproportions
| bodyproportion
|}
Note that it is not a good idea to use simply “max” or “min” as a reserved token name, because they need to be unique (otherwise it would not be possible to determine whether they are a minimum for, for example, weight or height). These reserved tokens are declared in the lib/targets.py module. The variable can be set and queried on the human object, for example human.getAge(), human.setMuscle(0.7), human.getProportion().
The reserved tokens are NOT included in the group name, so you should at least include some other, non-reserved tokens in the file or folder names to assign your target to some meaningful group. The inclusion of these reserved tokens in your target names or paths makes it convenient to create macro modifiers.
=== Macro targets and modifiers ===
Macro modifiers are modifiers whose effect (the combination of targets they apply on the human) is influenced by macro variables set on the human (eg. human.set/getAge()). Therefore, macro modifiers often control a large set of targets (20 or even more). It’s also common for multiple modifiers to control exactly the same set of targets, for example the standard age/gender/race sliders all control the set of targets in the ‘macrodetails’ group. Each slider modifies a different variable (eg. human.setAge()) controlling the set of targets, and then reapplies a combination of the same set of targets on the human.
=== Macro modifier dependencies ===
There are other macro modifiers that can also depend on the same variables age, gender, race that is controlled by the main macro modifiers, as discussed above. For example the macro modifiers that influence the weight and muscle mass of the human, controls the targets group “macrodetails-universal”, the universal token is added by prepending “universal-” to all the file names of related targets, which all reside in the folder “macrodetails” (thus macrodetails-universal ends up being the group name). They could have been included all in the “macrodetails” group, but are kept separate for performance reasons, so that the “macrodetails” group of targets (which already contains some 40 targets or so) can be applied in realtime while moving the slider.
Of course a change in the variable that these age/race/gender modifiers control will have an effect on the macrodetails-universal modifiers (because they control targets that depend on age -- their targets include -young- -old- etc. tokens in their filenames). This means there are inter-dependencies between macro modifiers, if one is updated, another one that depends on it should be refreshed. These dependencies can be descibed as follows: one macro modifier controls exactly one macro variable (such as age). It (or rather, the targets it controls) can however depend on multiple macro variables. The trivial case is where a macro modifier only depends on the macro variable that it controls itself. The tracking of these dependencies and deciding which modifiers must be updated when another is changed happens automatically. Dependencies are automatically tracked as soon as you add a modifier to the human (by calling modifier.setHuman(human)). To make this more performant in real-time, the propagation of updates to modifiers is limited while sliders are dragged (see realtimeDependencyUpdates in apps/humanmodifier.py).
As you might have understood, creating modifiers that depend on human variables is almost automatic. The only thing you need to do is create some targets that resolve to the same group name, add variations for all the macro variables you want and add the proper reserved tokens to the file or folder name (refer to the left column in the table above), and create a modifier with this group name. Once added to the human, the dependencies are tracked automatically.
=== Organization of modifiers ===
We already discussed how we organized targets in groups, to make it easier to connect them to a modifier. Now we will discuss how we can do a similar thing for modifiers.
Modifiers provide an easy way to manage targets. They allow reducing many of hundreds of targets to a more manageable number of controllable properties. But even then, we still have about 100 modifiers, which is still quite a lot. Therefore we group them in groups of categories, much like we do in the GUI. This makes it easy to get a grouped overview of all modifiers when using an alternative interface, think of commandline or scripting. The way in which you declare the group and other properties of a modifier determines what target groups it gets its targets from.
Modifiers are declared with a group name, some intermediary “target name” and a number of tail tokens (2 or 3 usually, eg min/max). The group of targets controlled by these modifiers is composed as: groupname-targets_name-tail.
Macro modifiers are declared with a group name, and a controlled variable. The groupname must be the same groupname of the targets they control.
=== Declarative modifiers ===
Instead of hard coding what modifiers you want to instantiate, MakeHuman offers a data-based format to declare what modifiers should be created, and how they should be shown in a user interface with sliders.
A full declaration requires three files, all stored in data/modifiers. The first is the declaration of the modifiers (eg. modeling_modifiers.json). This format lists a modifier group name, and all the modifiers with their macro variable (if they are macro modifiers) or target name and 2 or 3 (if they are a modifier with a center point) tail tokens.
The second file adds a description to the modifiers declared in the first file. It basically contains a key-value set, referencing the modifier name, and a textual description of what the modifier controls. A modifier name is constructed as follows: group/targets_name-all|the|tails and for a macro modifier: group/variable
The third file defines how these modifiers should be shown in the user interface as sliders. It lists a set of categories, and the sliders to show in them, and how their values have to be saved in a mhm file (mainly a feature for legacy compatibility).
=== Your own plugin with modifiers, sliders and targets ===
Using the declarative data format described in the section above, it’s really simple. Have a look at the plugin plugins/0_modeling_0_modifiers.py. Notice it’s barely 5 lines of code. Creating your own modeling plugin is as simple as that, pointing it to your own modifier data files.
=== Binary targets ===
Because loading these ASCII target files, and iterating all target files and folders can be slow (especially on windows) in build versions, we compile all targets in the data/targets system folder into a single binary file, that furthermore acts exactly the same as multiple target files. The binary targets file is stored in the system data/ folder and is called targets.npz, it is created by running the compile_targets.py script, which is also automatically run in the build_prepare.py build routine. The file structure of the targets files is maintained in this binary file so that targets can be loaded from it in the same way as you would do with regular files. A change in the .target files, or newly added target files allow a recompilation of the targets npz file before the change is applied.
== Proxy format ==
A proxy is a fitting of an arbitrary mesh (for example clothes or a hairstyle) to the basemesh. A proxy asset is distributed as a mesh file together with this fitting file (what we call the proxy file), allowing this mesh to be fitted on different modeling variations of the human within MakeHuman.
=== v1.0 format ===
The 1.0 format got introduced in the v1.0 release of MakeHuman, but was already present in the Alpha 7 (A7) release. The format got reworked a bit for 1.0, however.
==== Example ====
This is an excerpt from the fedora distributed with MakeHuman
# Exported from MakeClothes (TM)
# author Jonas Hauquier
# license AGPL3 (see also http://www.makehuman.org/node/320)
# homepage http://www.makehuman.org/
uuid 566dbd52-71d1-4d76-a799-0474a5a384db
basemesh hm08
tag Hats
name fedora
obj_file fedora.obj
x_scale 5399 11998 1.4800
z_scale 962 5320 1.9221
y_scale 791 881 2.3298
z_depth 50
material materials/fedora.mhmat
verts 0
251 5243 5244 0.60391 0.28706 0.10903 -0.00245 0.01323 0.03373
7020 11853 11852 0.53311 0.29591 0.17097 0.00529 0.01134 0.03388
7678 7000 7707 0.22571 0.34923 0.42506 0.00946 0.03331 0.04954
984 983 1015 0.17322 0.18383 0.64295 -0.00575 0.03634 0.05443
1014 226 982 0.12607 0.67880 0.19513 -0.00934 0.03289 0.04891
250 5245 5232 0.54148 0.48285 -0.02433 -0.01273 0.01129 0.03202
7746 7712 12153 0.16168 0.32394 0.51438 0.02696 0.11561 0.09667
5556 5554 1013 -0.03554 0.63140 0.40413 -0.01650 0.11949 0.10646
5560 5556 1020 0.34178 0.11896 0.53926 -0.03442 0.11513 0.09756
1013 7712 7721 0.24117 0.40913 0.34971 0.03897 0.20473 0.13559
1013 882 1029 0.71875 0.41604 -0.13479 -0.02631 0.22391 0.13840
1029 1020 1013 0.36342 0.60536 0.03123 -0.03890 0.20439 0.13536
7712 7721 882 0.21674 0.67896 0.10430 0.02804 0.23763 0.15510
1013 882 1029 0.30269 0.87853 -0.18122 -0.02994 0.25488 0.15754
1029 1020 1013 0.79483 0.03879 0.16638 -0.04433 0.23290 0.15424
5370 5368 969 -0.08854 0.29827 0.79027 -0.01789 0.14173 -0.15713
11971 7713 969 0.28241 0.33962 0.37797 0.01910 0.14921 -0.16563
11971 7713 969 0.05967 0.69236 0.24796 0.01670 0.13045 -0.14480
5370 5368 969 -0.07249 0.07305 0.99945 -0.01517 0.12017 -0.13323
969 1021 5370 0.20926 0.73057 0.06018 -0.01674 0.13078 -0.14517
969 1021 5370 0.33927 0.37782 0.28291 -0.01914 0.14955 -0.16600
5379 969 7713 -0.00113 0.07709 0.92403 0.01192 0.06520 -0.14994
1021 969 5379 -0.05590 0.97961 0.07629 -0.01124 0.06148 -0.14138
1021 969 5379 0.96289 0.03946 -0.00235 -0.01195 0.06537 -0.15033
11982 11981 7713 0.14728 0.42350 0.42922 0.01740 0.04655 -0.11033
1021 969 5379 -0.03656 0.34361 0.69295 -0.00834 0.04564 -0.10495
1021 5381 5382 0.43027 0.37607 0.19367 -0.01752 0.04687 -0.11110
11981 11982 7738 0.30937 0.48274 0.20789 0.00929 0.00889 -0.07280
5379 962 1022 0.56542 0.43776 -0.00318 -0.00327 0.01206 -0.08469
The rest of the file is very similar, it continues listing vertex fittings to the basemesh.
==== Vertex assignments ====
The format contains matchings in the following format:
vIdx1 vIdx2 vIdx3 w1 w2 w3 d1 d2 d3
vIdx is an index of a vertex on the basemesh
w is a weight of the corresponding vertex
d1,d2,d3 are optional (default to 0) and defines an offset
The format contains one such lines for every vertex in the proxy mesh, the order of the lines is the same as the order of vertices in the proxy mesh.
The format also supports an alternative fitting, referencing exactly one basemesh vertex, which is used for exact fitting: the proxy mesh vertex is placed in the exact same location as the basemesh vertex it is associated with.
vIdx
The file format allows mixing these two types of fittings on a per-vertex basis.
==== Properties ====
Every proxy should have a unique uuid (which can be generated using the python uuid module using uuid.uuid4()), a name, description, author and license information.
One or multiple tags can be added, each on a new line prepended with "tag".
A proxy references a material file and an OBJ mesh.
z_depth determines the rendering priority of the object (important for transparency) and the layer of clothing. It is used by face masking to determine which piece of clothing masks another.
The scale parameters define a bounding box referencing vertices on the human between which the proxy should be scaled. They are modified in makeclothes by selecting a clothing part.
=== v1.2 format ===
Starting from v1.2, a new algorithm for handling proxies is introduced, based on Manuel Bastioni's Lab experiments.
The new format uses a local normal space instead of global coordinates, making it more stable, even across different poses. It is also a lot easier for an artist to create new proxies, as it requires only one button press, instead of having to deal with vertex groups.
Future MakeHuman versions will contain backwards compatibility support for v1.0 proxies, but the new format is recommended for creation of new content.
The layout of this format is largely the same as the old format, with a version parameter specifying that this file should be interpreted as a new style proxy.
==== Example ====
# Exported from MakeClothes (TM)
# author Jonas Hauquier
# license AGPL3 (see also http://www.makehuman.org/node/320)
# homepage http://www.makehuman.org/
uuid 566dbd52-71d1-4d76-a799-0474a5a384db
basemesh hm08
tag Hats
name fedora
obj_file fedora.obj
z_depth 50
material materials/fedora.mhmat
verts 0
polyIdx dx dy dz
It looks a lot like the v1.0 format, only the scale is no longer needed, and the vertex assignments have a new format.
polyIdx references a polygon of the basemesh
dx dy dz is the distance vector between the polygon center and the proxy mesh vertex.
==== Binary proxy ====
Proxies, as well as their meshes, can be compiled into a more compact binary variant that is faster to load and smaller to distribute. MakeHuman will do this automatically for proxies in the home path. Files in the installation path will have to be compiled manually by running the compile_proxies.py and compile_meshes.py scripts. Usually these scripts are ran when a distribution is created, so need not to be repeated by the end user, unless MakeHuman is used from source.
== Material format==
=== Introduction ===
MakeHuman material files have extension .mhmat and are simple ASCII definitions
of the material settings to use for rendering.
These material settings are primarily intended for configuring the material
system within MakeHuman, but they are usually carried out to other software as
well by the exporters.
Not all properties will be supported for all given combinations of shaders, nor
is there a guarantee that the exporters will honor all the properties in these
files.
Every 3D object in MakeHuman has exactly one material attached to it (multiple
materials are not possible, you need separate objects for that). Materials are
used for proxy meshes (clothes, hairs, ...) but also for the skin of the human
itself.
=== The Material System ===
The MakeHuman material system is closely based on the [https://en.wikipedia.org/wiki/Rendering_equation standard rendering equation]
as is used in OpenGL and DirectX forward rendering pipelines. MakeHuman supports
shaders and the material format contains the most commonly used extensions in
real-time rendering. As a consequence of this, users need to be aware of the
implications of setting values such as ambient too bright, or diffuse too dark.
All usual rules about rendering materials apply.
At the highest level, the material supports setting the most basic material
properties, such as diffuse, specular and ambient color. These are supported
both by shaders as well as the fixed function shading pipeline (which is used
when no shader is specified). Fixed function also supports the diffuse texture
option.
At a second level, a shader can be chosen. This refers directly to the filename
of a [https://en.wikipedia.org/wiki/OpenGL_Shading_Language GLSL shader] as found in the data/shaders/glsl folder of MakeHuman.
The selected shader will determine what material options will be available.
At the third level, various additional settings become available, depending on whether or not the
chosen shader has support for these features, such as bump or normal mapping,
ambient occlusion, specular mapping, etc.
For most of these, a texture map and a scalar property between 0 and 1 can be
set, the latter determining the intensity or influence of the effect.
Finally, MakeHuman also contains a built-in offline renderer that supports some
additional properties such as subsurface scattering, for which some special
properties are available.
=== Example ===
This is a full and complete (but fictional) example of a material file for MakeHuman, it shows all the available properties.
# Example MakeHuman Material definition
name Material_name
tag some_tag
tag another_tag
description material description text here
ambientColor 0.11 0.11 0.11
diffuseColor 1.0 1.0 1.0
specularColor 0.0470588235294 0.0470588235294 0.0470588235294
shininess 0.96
emissiveColor 0.0 0.0 0.0
opacity 1.0
translucency 0.0
shadeless False
wireframe False
transparent True
alphaToCoverage True
backfaceCull False
depthless False
autoBlendSkin False
castShadows True
receiveShadows True
diffuseTexture diffuse_texture.png
bumpmapTexture bumpmap.png
bumpmapIntensity 1.0
normalmapTexture normalmap.png
normalmapIntensity 1.0
displacementmapTexture norm_displacement.png
displacementmapIntensity 1.0
specularmapTexture specular.png
specularmapIntensity 1.0
transparencymapTexture alpha.png
transparencymapIntensity 1.0
aomapTexture ambient_occlusion_map.png
aomapIntensity 1.0
# Sub-surface scattering parameters
sssEnabled True
sssRScale 5.0
sssGScale 2.5
sssBScale 1.0
shader shaders/glsl/litsphere
shaderParam litsphereTexture litspheres/lit_hair.png
shaderConfig ambientOcclusion True
shaderConfig normal False
shaderConfig bump True
shaderConfig displacement False
shaderConfig vertexColors True
shaderConfig spec True
shaderConfig transparency True
shaderConfig diffuse True
shaderDefine ALPHA_MAP
uvMap alt_uv_coords.mhuv
This is another example, this time a real one. It is the X-ray material, used for example when showing the skeleton:
# Material definition for XrayMaterial
name XrayMaterial
ambientColor 0.1 0.1 0.1
diffuseColor 1.0 1.0 1.0
specularColor 0.3 0.3 0.3
shininess 0.1
emissiveColor 0.0 0.0 0.0
opacity 0.1
translucency 0.0
transparent True
backfaceCull True
shadeless False
wireframe False
depthless False
shader data/shaders/glsl/xray
shaderConfig diffuse False
shaderConfig transparency False
shaderConfig normal False
shaderConfig bump False
shaderConfig spec False
shaderConfig vertexColors False
shaderConfig displacement False
=== Explanation of material properties ===
==== Standard settings ====
''ambientColor'', ''diffuseColor'' ''specularColor'', ''emissiveColor'' are the standard colors
as used in the [https://en.wikipedia.org/wiki/Rendering_equation rendering equation]
or in standard OpenGL.
Their corresponding intensities are simple scalars with a value between 0 and 1 and are multiplied
with the colors to dim them. Default these intensities are set to 1.
Colors are described as three floating point numbers, representing R G B, or red-green-blue
values. 1 is the maximum, 0 the minimum.
For example 1.0 0 0 means fully red, 1 1 1 means full white, 0 0 0 is full black.
0.5 0.5 0.5 will give you a grey middle color.
''opacity'' determines the opaqueness of the object (alpha channel), with 1 being fully
opaque, and 0 being fully transparent (invisible)
''translucency'' is something that came from Blender but is unused
''shininess'' or specular hardness is a number between 0 and 1 determining the shininess constant of the [https://en.wikipedia.org/wiki/Phong_reflection_model phong shading model].
==== Texture maps ====
Various standard texture maps can be defined on the material, like ''diffuseTexture'', ''bumpmapTexture'', ''normalmapTexture'', ''displacementmapTexture'', ''specularmapTexture'', ''transparencymapTexture'', ''aomapTexture''. Each of these also has an associated intensity value, which is a scalar from 0 to 1 multiplied with the pixel value of that texture (unless a specific shader implements it differently).
These textures only have an effect if their corresponding shaderConfig feature has been defined (see the table in Shaders section).
==== Render states ====
When ''wireframe'' is set to True, the model is drawn in wireframe mode. In this mode,
most material properties have no effect, but you can enable the vertexColors shaderConfig
to be able to change the color of the mesh using vertex colors (this requires
access to the mesh programatically, obj meshes do not support vertex colors).
This feature is used in some parts of MakeHuman, for example viewing bone weights
in the skeleton debug plugin.
Set ''shadeless'' to True to disable shading, eg. the object is not affected by lights.
Configured shader will have no effect
Set ''transparent'' to True to enable transparency rendering (usually needed when opacity is < 1)
In itself this does not change the visual appearance of the model, but this setting
should be enabled if your texture contains (semi-) transparent parts. This setting
instructs the renderer to disable depth buffer writes (glDepthMask(false))
and enables alpha testing and blending so that transparent surfaces can overlap and to allow [https://www.opengl.org/wiki/Transparency_Sorting alpha blending].
''alphaToCoverage'' Applies when transparent is set to True (otherwise does nothing).
It requires that your GPU supports alpha to coverage (A2C) rendering. It enables
the A2C feature which provides face order-independent alpha rendering. This works
very well for complex transparent meshes, like hair. At the cost of a slightly
dithered look, it solves all the problems with face sorting that are usually
involved in rendering semi transparency.
(This feature disables anti-aliasing for this object because the multisample buffer is used for alpha blending instead)
Set ''backfaceCull'' to False to disable backface culling (render the back side of polygons)
By default, and in most cases, this should be set to True, but can be useful
in some cases (for example, we disable back-face culling for the eyebrow materials).
Set ''depthless'' to True for depthless rendering (object is not occluded and does not occlude other objects).
This disables OpenGL depth writes and tests. In practice, this makes object faces that should be occluded shine through others.
''castShadows'' determines whether the object casts shadows on other objects.
''receiveShadows'' determines whether the object receives shadows from other objects.
For some features, like eyes, you probably want to disable shadow receiving.
Since MakeHuman does not (yet) implement shadow casting, the shadow settings have
no effect in MakeHuman, but they do export to other engines.
Play around with these settings in the Material Editor plugin to see their effect, that's the best advise I can give you.
The best way to find out which settings work for an asset, is simply to try them out.
==== autoBlendSkin ====
If True MakeHuman will set the diffuse color based on the ethnix mix set for the character.
Any diffuseColor set in the material file will be overridden by this.
Also the shaderParam litsphereTexture will be automatically set to a dynamically blended litsphere texture,
which is a mix of three litsphere materials (afro, asian, caucasian) depending on the ethnic mix of the character.
This latter is specifically intended to be used with the litsphere shader, and it is what you see as default material when you start MakeHuman
This overrides whatever shaderParam litsphereTexture was set in the material file.
This setting is intended only for skin materials.
==== shaderParam ====
Define a custom shader parameter (uniform), which might be required for some non-standard shaders.
For example, the litsphere shader takes an extra type of texture map as input, a so-called litsphere texture.
This generic system of mapping shader uniforms allows you to create specialised shaders that take
new and different kind of inputs, and allow configuring the shader from the material file.
shaderParam can be a list of floating point numbers, in which case it will be interpreted as a vector,
or it can be a file path, in which case it is assumed to be an image path.
Internally in MakeHuman, shaderParams can also be assigned a texture object, which allows
for dynamically passing a texture that is in memory, but perhaps not stored on disk.
Another example of a custom shaderParam is the X-ray shader that defines an edgefalloff
and intensity uniform parameter.
These could be changed from the material file with
shaderParam edgefalloff 0.8
shaderParam intensity 0.77
==== shaderDefine ====
shaderDefines allow enabling or disabling custom shading techniques in shaders.
These allow to define new shading techniques, apart from the pre-defined ones
such as normal mapping, specularity mapping, ...
It's a generic system that allows new shaders to be added and configured from
the material file, or from the material editor (which nicely auto-detects these
features in the shader and shows a set of checkboxes for them).
==== uvMap ====
Load custom UV coordinates on the mesh to use this material. This makes the material
completely dependent on the mesh it is used with.
Takes a path to a .mhuv file, which is actually just an .obj file, where the vertex
positions can be deleted (they can remain in there, but they are ignored).
Requirement for it to work is that the vertex order is the same as that of the
mesh obj.
An example uv map for the basemesh can be found in data/uvs/a7.mhuv, which is a
set of UV coordinates compatible with the old Alpha 7 mesh, allowing you to load
A7 textures on the new basemesh used in MakeHuman v1+
==== SSS properties ====
These are the so-called sub-surface scattering shading properties, currently only used by the built-in offline renderer. They were decided on while trying to figure out the most generic way to define SSS shading properties, so that they could easily be translated into SSS properties for a different renderer (as no single renderer that I know of has a standard for these). It's uncertain whether the format we have landed on currently is the best, or whether this will remain permanently or is still likely to change.
This setting should currently be considered experimental.
The properties are ''sssEnabled'', ''sssRScale'', ''sssGScale'' and ''sssBScale''.
=== Basic pointers for creating materials ===
* You can test the influence of material properties using the Material Editor plugin (which you can enable in Settings > Plugins, then restart)
* Using a diffuse texture? You probably want to set the diffuse color to 1 1 1 (pure white)
* Never set ambient color too bright, or your model will look completely white. 0.1 0.1 0.1 is a good value to start from.
* Emissive is usually set to black, unless you want a radioactive character
* Don't know how to define a color in numbers? Try the Material Editor plugin
* Higher shininess means smaller and sharper highlight, lower shininess makes the highlight larger and more blurred
* Reduce specular color to reduce the specularity, make it black for a rough and non shiny object
* opacity 1 means fully opaque, 0 means fully transparent (invisible)
* Do your (diffuse) textures contain transparency? Do not forget to enable transparency! Perhaps try if alpha-to-coverage improves the situation (especially for hair!).
=== Scene definition ===
To complete the rendering equation, you also need to define the scene. To be
more precise, the positions, types, color and intensities of the lights need to
be set. By default, MakeHuman only has a default scene with only one pointlight.
In MakeHuman, lights do not move if the camera is moved, or rather, the model is
rotated while the camera and lights remain static. So light positions are defined
relative to the camera position.
MakeHuman scenes are defined in .mhscene files, which are binary py-pickled files.
They can be created or modified using the Scene Editor plugin (can be enabled in
settings) and can be selected from the Scene library in the Render tab.
Fixed function shading pipeline supports up to 8 lights, specific light support
depends on the shader used, some shaders only support a certain type or number
of lights, other ignore the chosen scene altogether (for example the litsphere
shader that uses pre-baked environment lighting).
The built-in offline renderer also uses the specified scene.
Scenes are not exported along with the model.
=== Shaders ===
The most powerful functionality of the material system is unlocked when using
shaders.
MakeHuman shaders are intended to be written in a modular way, so that shading
features can be enabled or disabled using the material format. Examples of such
features are bump mapping, normal mapping, specular mapping, diffuse texturing,
ambient occlusion and displacement mapping.
MakeHuman includes a basic introspection function that allows it to determine
what features a shader supports. It accomplishes this by looking for #ifdef and #ifndef statements. If a shader supports a certain technique, it is supposed to
encapsulate this in #ifdef NORMALMAP ... #else ... #endif statements.
The idea is that of an [http://www.gamedev.net/topic/659145-what-is-a-uber-shader/ über shader], where performance is optimized by removing any dynamic branches (if then that) from shader code, and instead managing the features using defines and pre-processor branches.
When a different branch in the shader is activated, the shader code is recompiled entirely.
Instead of having different shaders for different features (eg. a specific normalmap shader to be able to do normal mapping), one general shader could be used instead, and normal mapping can simply be enabled or disabled from the material properties, without being required to swap shaders (a good default uber shader is [http://bugtracker.makehumancommunity.org/issues/160 still to be created for MakeHuman] Any help with this is welcome of course!).
The material system manages these shading functions by defining specific pre-processor
keywords when their corresponding shaderConfig property is set to true.
Shaders are recompiled when needed and stored in a shader cache for efficiency.
MakeHuman passes scene and material information to the shaders by certain uniform
parameters. Depending on which shaderConfig properties were enabled, additional
uniforms could be exposed to the shader. The shader does not have to declare all
these uniforms, however. MakeHuman binds only those uniforms present in the shader
if they have the right corresponding names.
Other properties are available from the OpenGL built-in uniforms or properties
(usually starting with gl_).
The following table lists these defines and the shaderConfig properties in the
material they relate to:
{| class="wikitable"
|-
! feature name
! shaderConfig
! shader #DEFINE
! exposed uniform parameters if enabled
! comment
|-
|default (always enabled)
|
|
|vec3 ambient, vec4 diffuse, vec4 specular, vec3 emissive
|diffuse and specular are 4-component color values, diffuse=[rgba] with a=opacity and specular=[rgbs] with s=shininess
|-
|Vertex coloring
|vertexColors
|VERTEX_COLOR
|
|Derive diffuse color from vertex colors
|-
|Diffuse texturing
|diffuse
|DIFFUSE
|diffuseTexture
|
|-
|Bump mapping
|bump
|BUMPMAP
|bumpmapTexture, bumpmapIntensity
|disabled if normal mapping is enabled (restriction might be lifted in the future)
|-
|Normal mapping
|normal
|NORMALMAP
|normalmapTexture, normalmapIntensity
|
|-
|Displacement mapping
|displacement
|DISPLACEMENT
|displacementmapTexture, displacementmapIntensity
|
|-
|Specularity mapping
|spec
|SPECULARMAP
|specularmapTexture, specularmapIntensity
|
|-
|Transpareny (alpha) maps
|transparency
|TRANSPARENCYMAP
|transparencymapTexture, transparencymapIntensity
|
|-
|Ambient occlusion maps
|ambientOcclusion
|AOMAP
|aomapTexture, aomapIntensity
|
|}
Additionally, MakeHuman exposes the vertex tangent as a vertex property, which
can be accessed by the shader.
attribute vec4 tangent
Currently, [http://www.terathon.com/code/tangent.html Lengyel’s Method] for tangent calculation
is used, but plans are to change this to [http://bugtracker.makehumancommunity.org/issues/87 mikktspace] in the future.
Shader examples for MakeHuman can be found here:
* Litsphere shader: [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/litsphere_vertex_shader.txt vertex][https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/litsphere_fragment_shader.txt fragment]
* Phong shader: [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/phong_vertex_shader.txt vertex][https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/phong_fragment_shader.txt fragment]
* Normal map shader (wip): [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/normalmap_vertex_shader.txt vertex] [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/normalmap_fragment_shader.txt fragment]
* X-ray shader: [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/xray_vertex_shader.txt vertex][https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/xray_fragment_shader.txt fragment]
==== Custom shader properties ====
Shaders can use non-standard #DEFINEs to allow enabling or disabling non-standard shading features, other than the ones that were foreseen in the material format (such as normal mapping, ...)
To add new ones, simply add #ifdef SOME_FEATURE statements to your shader code, the material system will automatically detect them.
From the material, you can enable them with
shaderDefine SOME_FEATURE
If not defined, the feature is assumed to be switched off.
A custom shader can also add new parameters to tweak. For example a color value or intensity value that influences the shading.
To do this, the shader author can simply add new uniform variables to their shader code. It is recommended to specify a default
value for them, so that if the material file does not explicitly mention them, they receive a sensible default value.
Example: the X-ray shader adds an edge-fallof property:
uniform float edgefalloff = 1.0;
From the material file, you can influence this value with:
shaderParam edgefalloff 0.5
shaderParam supports lists of float values (one or multiple, divided by spaces), eg
shaderParam edgecolor 0.7 0.3 0.4
or textures, by specifying a path to an image file (in which case they are assumed to be Sampler2D type)
Additionally, from within MakeHuman, they can be passed a Texture object, to dynamically pass them a texture that resides in memory, without the need for the texture to be stored in a file on disk.
This allows to dynamically alter the texture and have it displayed directly. MakeHuman takes care of caching the texture and updating it when it is modified.
For example, the auto skin tone blending of the litsphere texture is implemented in this way.
The material system will automatically detect these custom uniform parameters declared in the shader, for example the material editor plugin will present them in the GUI.
These features make for a general and extensible shader system.
==== Dynamic shader configuration in Material Editor plugin ====
Take as example this screenshot, which shows how the X-Ray shader, mentioned earlier, can be configured.
[[File:Mh_material_editor.png]]
In the shader selector, xray was chosen. This opens up a few new options to configure.
Notice that on the top right the custom shader uniforms edgefalloff and intensity that we mentioned earlier were automatically detected. The shader author had to do nothing else than to define these uniform parameters in his shader code, and define a sensible default for them. A material using this shader can customize these properties using the shaderParam option, which can be altered visually in the top right of the material editor. Changes in the material editor take effect immediately, so you can directly preview your changes.
Also notice in the bottom left that the material editor shows the available shaderConfig parameters. Some of these are greyed out, which means they are not available, or the condition for them is not met (for example, to be able to enable normal mapping, you need to choose a normal map texture on the right panel. If the normal map property is greyed out on the right side, then this particular shader does not support normal mapping).
Let's take a look at a second example.
[[File:Mh_material_editor2.png]]
Here we see the litsphere shader. This shader is different from the other shaders in the sense that it completely ignores the lighting of the scene, and instead lights the model with a texture containing pre-baked lighting conditions, a so-called [http://www.cs.utah.edu/~wmartin/pubs/LitSphere.pdf litsphere] texture.
This shader, being so different, requires a different sort of input, a custom input texture: the litsphere texture.
The shader author simply defined this uniform parameter in his shader code, and as you can see in the top right corner, the material editor shows a texture selector for this property. Using it, the user can select a litsphere texture to feed to the shader.
The litsphere shader also has two different alternative techniques that can be enabled or disabled by the user.
These two features, which can be enabled using shaderDefine statements in the material file, are automatically detected by the material system, and shown in the bottom left of the material editor. Enabling them is as simple as checking the checkbox.
One of these custom shading features is alpha mapping (defined by ALPHA_MAP), which allows to sample alpha transparency from an additional texture.
For this texture, an additional uniform property, named alphaTexture was declared in the shader, but it was written down in a way that it is only declared if the ALPHA_MAP token is defined.
In the shader code:
#ifdef ALPHA_MAP
uniform sampler2D alphaTexture;
#endif
If you check the ALPHA_MAP_checkbox, you will notice that on the top right, an extra texture selector will appear.
These examples show how the material editor can help exploring the different settings that are available in shaders.
ca09d66fec2c70258a89257410c4f3cb58273b2b
598
597
2016-01-31T18:03:31Z
Duststorm
19
/* Example */
wikitext
text/x-wiki
== Vertex weights ==
With vertex weights we intend a weighted mapping of vertices of a mesh to a bone of a skeleton. The weight is a value between 0 and 1, the sum of these weights for each vertex should be normalized, which means they should sum to 1 (note: no euclidian distance, just simple addition of all weights). A weight map in MakeHuman is expressed as a bone name (becomes a bone index internally, using the index of the bone in a breadth-first list relative to skeleton structure), a vertex name and a floating point weight between 0 and 1. This weighted vertex to bone mapping is used for skinning (posing and animating, using vertex skinning, smooth skinning or linear blend skinning algorithm). For the skinning algorithm to work correctly it’s required that the weights are always normalized, otherwise you will see vertices move out of place disproportionally (though the weight loading code in MakeHuman ensures that this normalization always happens, so this is not a concern to the artist that defines the weights). The vertex weights can be exported to external tools as well using formats such as collada (DAE), FBX, Ogre3D meshes or MD5 quake meshes.
=== Vertex weights and skeletons ===
Vertex weights are defined for the default “master” skeleton or rig. They are defined in a json file with jsonw extension. They link each vertex of the basemesh including helpers to a named bone of this master rig, together with a certain weight.
The weights loader automatically removes doubles and normalizes the weights (so that they sum to 1). It also reports what the maximum number of bone weights per vertex is, additionally it allows compiling the weights to a reduced set with n number of bone weights, and automatically renormalizes those weights so they, again, sum to 1.
When loading weights, any vertex that receives no weighting is assigned to the root bone, as this is needed for skinning to prevent all those vertices jumping to the origin (0*pos == 0).
Alternative skeletons can define their own weights, by referencing a weights file just like the master rig, or they can choose to derive their weights from the master rig, through so called reference bone mappings. Skeletons will derive their weights from the master rig if they do not specify a weights file explicitly. Custom vertex weights in alternative rigs override those defined on the master rig, except in the case where a proxy defines its own vertex weights. See section Vertex weights for proxies for more details.
=== Reference bones for vertex weights and poses ===
Reference bones are defined on alternative rigs, they are a list of names of bones contained in the master rig. Every bone of an alternative rig can have such a list of reference bones. An alternative rig can also omit these references if it uses the same name as bones in the master rig, in which the mapping is implicit. Having a list of bone references always overrides the implicit mapping. Reference bone mappings are required for two purposes.
They are used for mapping poses defined on the master rig to other rigs. All poses are defined as BVH files that pose the master rig, so they reference only the bone names of the master rig. Poses are applied to all other rigs by using the reference bone mapping: all the rotations that the pose applies to the referenced bones are combined (in the order in which the references were specified -- note: rotations are NOT commutative) and are applied to the alternative rig bone.
Reference bone mappings can also be used for determining vertex weights of custom rigs. If the alternative rig does not explicitly define its own vertex weights, the mapping of reference bones is used to infere a set of bone weights for each bone: All the weights of the reference bones on the master rig (with the weights definition of the default/master rig) are combined and apply to the bone of the alternative rig. Doubles are merged, and weights renormalized. Any vertex that is not weighted will be assigned to the root bone. Watch for messages in the log to verify this.
=== Vertex weights for proxies ===
Generally proxies are mapped to basemesh geometry, that means either to the body or to helpers, or a combination of both (though this is unusual). Proxies derive their vertex weights from the vertices on the basemesh on which they are fitted. A proxy defines its fitting as a 3d offset from one or three vertices on the basemesh, allowing it to deform as the human deforms. This mapping is used to transfer the vertex weights from basemesh to proxy: a proxy vertex referencing three basemesh vertices gets the bone weights of those three vertices. Doubles are merged and the weights are normalized, so that the influence factors are averaged or smoothed. In this case the weights applied to proxies are always those defined on the skeleton: either the weights explicitly defined on the skeleton, or the weights obtained from remapping the master rig weights to this skeleton using the reference bone mapping mentioned in the previous sections. There is an exception to this, which is explained in the next paragraph.
A proxy can explicitly define its own vertex (to bone) weights. In this case it overrides the weights that would be obtained through the proxy mapping, and replaces them by its own custom definition of weights. These vertex weights are always defined to reference the bones of the master rig (default skeleton), so they need to be remapped to other skeletons using reference bone mapping. This also means that the custom weights of a proxy override any custom weights mapping that might be loaded with an alternative rig (but only for that proxy item). Custom proxy weights should be avoided if possible, but are in some cases required, eg. for properly rigging shoes which are rigidly fitted to feet, or an alternative topology which defines very accurate rigging on the face. The general advice for custom rigs is therefore to stay as close to the master rig as possible, reusing as much bones identically as possible, to achieve the best results for proxies with custom weights.
In case of custom weight, the mhclo file must contain a line to indicate the weight file to use, using the keyword “vertexboneweights_file”, with the syntax:
vertexboneweights_file filename.jsonw
== Targets and modifiers ==
MakeHuman applies targets on the human by means of modifiers. Such a modifier has a value (usually between [0, 1] or [-1, 1]) that determines the effect of it on the human mesh. A modifier can control one or more targets and in apply the mixed sum of them on the mesh. Some modifiers.
=== Organization of targets ===
To make sure targets are linked to the right modifier, or to make managing targets easier, a certain discipline has to be observed in managing them. Targets are ASCII files in the data/targets or data/custom folder (in program or user folder) with a file extension of .target.
The file name and folder targets are in implicitly determines their group name. A group is identified by a sequence of tags or tokens, which are taken from the file and folder name of each target, and which can be delimited by “-” symbols, to include multiple tokens in a single file or folder name. The lib/targets.py module takes care of loading all the names of the available targets and assembles them into groups. All targets with the same tokens end up in the same group. This allows easy querying and requesting of targets. The creator is pretty much free to decide what groups to create for their targets. By passing the name of the target group to a modifier, they can make sure that modifier controls the targets belonging to this group. It does not matter whether you use folders or - delimited file names for creating groups.
An example:
data/targets/cartoon/eyes-large.target is categorized in group (cartoon, eyes, large)
data/targets/cartoon-eyes-large.target is also categorized in group (cartoon, eyes, large)
Most simple modifiers work by specifying a group (for example cartoon-eyes) and a set of two tokens to append at the end, depending on the position of the modifier slider (eg. small, large which would allow controlling the targets cartoon-eyes-small and cartoon-eyes-large by moving the slider to the left or right).
=== Reserved group tokens ===
Some of the tokens in the file or foldername of targets are linked to values that variables of the human can have. Such variables are for example age, weight, muscle, gender.
This table lists all the reserved tokens, and the variables they belong to.
{| class="wikitable"
|-
! Reserved token (value)
! Variable
|-
| female,male
| gender
|-
| baby, child, young, old
| age
|-
| african, caucasian, asian
| race
|-
| minmuscle, averagemuscle, maxmuscle
| muscle
|-
| minweight, averageweight, maxweight
| weight
|-
| minheight, averageheight, maxheight
| height
|-
| mincup, averagecup, maxcup
| breastsize
|-
| minfirmness, averagefirmness, maxfirmness
| breastfirmness
|-
| uncommonproportions, regularproportions, idealproportions
| bodyproportion
|}
Note that it is not a good idea to use simply “max” or “min” as a reserved token name, because they need to be unique (otherwise it would not be possible to determine whether they are a minimum for, for example, weight or height). These reserved tokens are declared in the lib/targets.py module. The variable can be set and queried on the human object, for example human.getAge(), human.setMuscle(0.7), human.getProportion().
The reserved tokens are NOT included in the group name, so you should at least include some other, non-reserved tokens in the file or folder names to assign your target to some meaningful group. The inclusion of these reserved tokens in your target names or paths makes it convenient to create macro modifiers.
=== Macro targets and modifiers ===
Macro modifiers are modifiers whose effect (the combination of targets they apply on the human) is influenced by macro variables set on the human (eg. human.set/getAge()). Therefore, macro modifiers often control a large set of targets (20 or even more). It’s also common for multiple modifiers to control exactly the same set of targets, for example the standard age/gender/race sliders all control the set of targets in the ‘macrodetails’ group. Each slider modifies a different variable (eg. human.setAge()) controlling the set of targets, and then reapplies a combination of the same set of targets on the human.
=== Macro modifier dependencies ===
There are other macro modifiers that can also depend on the same variables age, gender, race that is controlled by the main macro modifiers, as discussed above. For example the macro modifiers that influence the weight and muscle mass of the human, controls the targets group “macrodetails-universal”, the universal token is added by prepending “universal-” to all the file names of related targets, which all reside in the folder “macrodetails” (thus macrodetails-universal ends up being the group name). They could have been included all in the “macrodetails” group, but are kept separate for performance reasons, so that the “macrodetails” group of targets (which already contains some 40 targets or so) can be applied in realtime while moving the slider.
Of course a change in the variable that these age/race/gender modifiers control will have an effect on the macrodetails-universal modifiers (because they control targets that depend on age -- their targets include -young- -old- etc. tokens in their filenames). This means there are inter-dependencies between macro modifiers, if one is updated, another one that depends on it should be refreshed. These dependencies can be descibed as follows: one macro modifier controls exactly one macro variable (such as age). It (or rather, the targets it controls) can however depend on multiple macro variables. The trivial case is where a macro modifier only depends on the macro variable that it controls itself. The tracking of these dependencies and deciding which modifiers must be updated when another is changed happens automatically. Dependencies are automatically tracked as soon as you add a modifier to the human (by calling modifier.setHuman(human)). To make this more performant in real-time, the propagation of updates to modifiers is limited while sliders are dragged (see realtimeDependencyUpdates in apps/humanmodifier.py).
As you might have understood, creating modifiers that depend on human variables is almost automatic. The only thing you need to do is create some targets that resolve to the same group name, add variations for all the macro variables you want and add the proper reserved tokens to the file or folder name (refer to the left column in the table above), and create a modifier with this group name. Once added to the human, the dependencies are tracked automatically.
=== Organization of modifiers ===
We already discussed how we organized targets in groups, to make it easier to connect them to a modifier. Now we will discuss how we can do a similar thing for modifiers.
Modifiers provide an easy way to manage targets. They allow reducing many of hundreds of targets to a more manageable number of controllable properties. But even then, we still have about 100 modifiers, which is still quite a lot. Therefore we group them in groups of categories, much like we do in the GUI. This makes it easy to get a grouped overview of all modifiers when using an alternative interface, think of commandline or scripting. The way in which you declare the group and other properties of a modifier determines what target groups it gets its targets from.
Modifiers are declared with a group name, some intermediary “target name” and a number of tail tokens (2 or 3 usually, eg min/max). The group of targets controlled by these modifiers is composed as: groupname-targets_name-tail.
Macro modifiers are declared with a group name, and a controlled variable. The groupname must be the same groupname of the targets they control.
=== Declarative modifiers ===
Instead of hard coding what modifiers you want to instantiate, MakeHuman offers a data-based format to declare what modifiers should be created, and how they should be shown in a user interface with sliders.
A full declaration requires three files, all stored in data/modifiers. The first is the declaration of the modifiers (eg. modeling_modifiers.json). This format lists a modifier group name, and all the modifiers with their macro variable (if they are macro modifiers) or target name and 2 or 3 (if they are a modifier with a center point) tail tokens.
The second file adds a description to the modifiers declared in the first file. It basically contains a key-value set, referencing the modifier name, and a textual description of what the modifier controls. A modifier name is constructed as follows: group/targets_name-all|the|tails and for a macro modifier: group/variable
The third file defines how these modifiers should be shown in the user interface as sliders. It lists a set of categories, and the sliders to show in them, and how their values have to be saved in a mhm file (mainly a feature for legacy compatibility).
=== Your own plugin with modifiers, sliders and targets ===
Using the declarative data format described in the section above, it’s really simple. Have a look at the plugin plugins/0_modeling_0_modifiers.py. Notice it’s barely 5 lines of code. Creating your own modeling plugin is as simple as that, pointing it to your own modifier data files.
=== Binary targets ===
Because loading these ASCII target files, and iterating all target files and folders can be slow (especially on windows) in build versions, we compile all targets in the data/targets system folder into a single binary file, that furthermore acts exactly the same as multiple target files. The binary targets file is stored in the system data/ folder and is called targets.npz, it is created by running the compile_targets.py script, which is also automatically run in the build_prepare.py build routine. The file structure of the targets files is maintained in this binary file so that targets can be loaded from it in the same way as you would do with regular files. A change in the .target files, or newly added target files allow a recompilation of the targets npz file before the change is applied.
== Proxy format ==
A proxy is a fitting of an arbitrary mesh (for example clothes or a hairstyle) to the basemesh. A proxy asset is distributed as a mesh file together with this fitting file (what we call the proxy file), allowing this mesh to be fitted on different modeling variations of the human within MakeHuman.
=== v1.0 format ===
The 1.0 format got introduced in the v1.0 release of MakeHuman, but was already present in the Alpha 7 (A7) release. The format got reworked a bit for 1.0, however.
==== Example ====
This is an excerpt from the fedora distributed with MakeHuman
# Exported from MakeClothes (TM)
# author Jonas Hauquier
# license AGPL3 (see also http://www.makehuman.org/node/320)
# homepage http://www.makehuman.org/
uuid 566dbd52-71d1-4d76-a799-0474a5a384db
basemesh hm08
tag Hats
name fedora
obj_file fedora.obj
x_scale 5399 11998 1.4800
z_scale 962 5320 1.9221
y_scale 791 881 2.3298
z_depth 50
material materials/fedora.mhmat
verts 0
251 5243 5244 0.60391 0.28706 0.10903 -0.00245 0.01323 0.03373
7020 11853 11852 0.53311 0.29591 0.17097 0.00529 0.01134 0.03388
7678 7000 7707 0.22571 0.34923 0.42506 0.00946 0.03331 0.04954
984 983 1015 0.17322 0.18383 0.64295 -0.00575 0.03634 0.05443
1014 226 982 0.12607 0.67880 0.19513 -0.00934 0.03289 0.04891
250 5245 5232 0.54148 0.48285 -0.02433 -0.01273 0.01129 0.03202
7746 7712 12153 0.16168 0.32394 0.51438 0.02696 0.11561 0.09667
5556 5554 1013 -0.03554 0.63140 0.40413 -0.01650 0.11949 0.10646
5560 5556 1020 0.34178 0.11896 0.53926 -0.03442 0.11513 0.09756
1013 7712 7721 0.24117 0.40913 0.34971 0.03897 0.20473 0.13559
1013 882 1029 0.71875 0.41604 -0.13479 -0.02631 0.22391 0.13840
1029 1020 1013 0.36342 0.60536 0.03123 -0.03890 0.20439 0.13536
7712 7721 882 0.21674 0.67896 0.10430 0.02804 0.23763 0.15510
1013 882 1029 0.30269 0.87853 -0.18122 -0.02994 0.25488 0.15754
1029 1020 1013 0.79483 0.03879 0.16638 -0.04433 0.23290 0.15424
5370 5368 969 -0.08854 0.29827 0.79027 -0.01789 0.14173 -0.15713
11971 7713 969 0.28241 0.33962 0.37797 0.01910 0.14921 -0.16563
11971 7713 969 0.05967 0.69236 0.24796 0.01670 0.13045 -0.14480
5370 5368 969 -0.07249 0.07305 0.99945 -0.01517 0.12017 -0.13323
969 1021 5370 0.20926 0.73057 0.06018 -0.01674 0.13078 -0.14517
969 1021 5370 0.33927 0.37782 0.28291 -0.01914 0.14955 -0.16600
5379 969 7713 -0.00113 0.07709 0.92403 0.01192 0.06520 -0.14994
1021 969 5379 -0.05590 0.97961 0.07629 -0.01124 0.06148 -0.14138
1021 969 5379 0.96289 0.03946 -0.00235 -0.01195 0.06537 -0.15033
11982 11981 7713 0.14728 0.42350 0.42922 0.01740 0.04655 -0.11033
1021 969 5379 -0.03656 0.34361 0.69295 -0.00834 0.04564 -0.10495
1021 5381 5382 0.43027 0.37607 0.19367 -0.01752 0.04687 -0.11110
11981 11982 7738 0.30937 0.48274 0.20789 0.00929 0.00889 -0.07280
5379 962 1022 0.56542 0.43776 -0.00318 -0.00327 0.01206 -0.08469
The rest of the file is very similar, it continues listing vertex fittings to the basemesh.
==== Vertex assignments ====
The format contains matchings in the following format:
vIdx1 vIdx2 vIdx3 w1 w2 w3 d1 d2 d3
vIdx is an index of a vertex on the basemesh
w is a weight of the corresponding vertex
d1,d2,d3 are optional (default to 0) and defines an offset
The format contains one such lines for every vertex in the proxy mesh, the order of the lines is the same as the order of vertices in the proxy mesh.
The format also supports an alternative fitting, referencing exactly one basemesh vertex, which is used for exact fitting: the proxy mesh vertex is placed in the exact same location as the basemesh vertex it is associated with.
vIdx
The file format allows mixing these two types of fittings on a per-vertex basis.
==== Properties ====
Every proxy should have a unique uuid (which can be generated using the python uuid module using uuid.uuid4()), a name, description, author and license information.
One or multiple tags can be added, each on a new line prepended with "tag".
A proxy references a material file and an OBJ mesh.
z_depth determines the rendering priority of the object (important for transparency) and the layer of clothing. It is used by face masking to determine which piece of clothing masks another.
The scale parameters define a bounding box referencing vertices on the human between which the proxy should be scaled. They are modified in makeclothes by selecting a clothing part.
=== v1.2 format ===
Starting from v1.2, a new algorithm for handling proxies is introduced, based on Manuel Bastioni's Lab experiments.
The new format uses a local normal space instead of global coordinates, making it more stable, even across different poses. It is also a lot easier for an artist to create new proxies, as it requires only one button press, instead of having to deal with vertex groups.
Future MakeHuman versions will contain backwards compatibility support for v1.0 proxies, but the new format is recommended for creation of new content.
The layout of this format is largely the same as the old format, with a version parameter specifying that this file should be interpreted as a new style proxy.
==== Example ====
# Exported from MakeClothes (TM)
# author Jonas Hauquier
# license AGPL3 (see also http://www.makehuman.org/node/320)
# homepage http://www.makehuman.org/
uuid 566dbd52-71d1-4d76-a799-0474a5a384db
basemesh hm08
tag Hats
name fedora
obj_file fedora.obj
z_depth 50
material materials/fedora.mhmat
verts 0
polyIdx dx dy dz
It looks a lot like the v1.0 format, only the scale is no longer needed, and the vertex assignments have a new format.
polyIdx references a polygon of the basemesh
dx dy dz is the distance vector between the polygon center and the proxy mesh vertex.
==== Binary proxy ====
Proxies, as well as their meshes, can be compiled into a more compact binary variant that is faster to load and smaller to distribute. MakeHuman will do this automatically for proxies in the home path. Files in the installation path will have to be compiled manually by running the compile_proxies.py and compile_meshes.py scripts. Usually these scripts are ran when a distribution is created, so need not to be repeated by the end user, unless MakeHuman is used from source.
== Material format==
=== Introduction ===
MakeHuman material files have extension .mhmat and are simple ASCII definitions
of the material settings to use for rendering.
These material settings are primarily intended for configuring the material
system within MakeHuman, but they are usually carried out to other software as
well by the exporters.
Not all properties will be supported for all given combinations of shaders, nor
is there a guarantee that the exporters will honor all the properties in these
files.
Every 3D object in MakeHuman has exactly one material attached to it (multiple
materials are not possible, you need separate objects for that). Materials are
used for proxy meshes (clothes, hairs, ...) but also for the skin of the human
itself.
=== The Material System ===
The MakeHuman material system is closely based on the [https://en.wikipedia.org/wiki/Rendering_equation standard rendering equation]
as is used in OpenGL and DirectX forward rendering pipelines. MakeHuman supports
shaders and the material format contains the most commonly used extensions in
real-time rendering. As a consequence of this, users need to be aware of the
implications of setting values such as ambient too bright, or diffuse too dark.
All usual rules about rendering materials apply.
At the highest level, the material supports setting the most basic material
properties, such as diffuse, specular and ambient color. These are supported
both by shaders as well as the fixed function shading pipeline (which is used
when no shader is specified). Fixed function also supports the diffuse texture
option.
At a second level, a shader can be chosen. This refers directly to the filename
of a [https://en.wikipedia.org/wiki/OpenGL_Shading_Language GLSL shader] as found in the data/shaders/glsl folder of MakeHuman.
The selected shader will determine what material options will be available.
At the third level, various additional settings become available, depending on whether or not the
chosen shader has support for these features, such as bump or normal mapping,
ambient occlusion, specular mapping, etc.
For most of these, a texture map and a scalar property between 0 and 1 can be
set, the latter determining the intensity or influence of the effect.
Finally, MakeHuman also contains a built-in offline renderer that supports some
additional properties such as subsurface scattering, for which some special
properties are available.
=== Example ===
This is a full and complete (but fictional) example of a material file for MakeHuman, it shows all the available properties.
# Example MakeHuman Material definition
name Material_name
tag some_tag
tag another_tag
description material description text here
ambientColor 0.11 0.11 0.11
diffuseColor 1.0 1.0 1.0
specularColor 0.0470588235294 0.0470588235294 0.0470588235294
shininess 0.96
emissiveColor 0.0 0.0 0.0
opacity 1.0
translucency 0.0
shadeless False
wireframe False
transparent True
alphaToCoverage True
backfaceCull False
depthless False
autoBlendSkin False
castShadows True
receiveShadows True
diffuseTexture diffuse_texture.png
bumpmapTexture bumpmap.png
bumpmapIntensity 1.0
normalmapTexture normalmap.png
normalmapIntensity 1.0
displacementmapTexture norm_displacement.png
displacementmapIntensity 1.0
specularmapTexture specular.png
specularmapIntensity 1.0
transparencymapTexture alpha.png
transparencymapIntensity 1.0
aomapTexture ambient_occlusion_map.png
aomapIntensity 1.0
# Sub-surface scattering parameters
sssEnabled True
sssRScale 5.0
sssGScale 2.5
sssBScale 1.0
shader shaders/glsl/litsphere
shaderParam litsphereTexture litspheres/lit_hair.png
shaderConfig ambientOcclusion True
shaderConfig normal False
shaderConfig bump True
shaderConfig displacement False
shaderConfig vertexColors True
shaderConfig spec True
shaderConfig transparency True
shaderConfig diffuse True
shaderDefine ALPHA_MAP
uvMap alt_uv_coords.mhuv
This is another example, this time a real one. It is the X-ray material, used for example when showing the skeleton:
# Material definition for XrayMaterial
name XrayMaterial
ambientColor 0.1 0.1 0.1
diffuseColor 1.0 1.0 1.0
specularColor 0.3 0.3 0.3
shininess 0.1
emissiveColor 0.0 0.0 0.0
opacity 0.1
translucency 0.0
transparent True
backfaceCull True
shadeless False
wireframe False
depthless False
shader data/shaders/glsl/xray
shaderConfig diffuse False
shaderConfig transparency False
shaderConfig normal False
shaderConfig bump False
shaderConfig spec False
shaderConfig vertexColors False
shaderConfig displacement False
=== Explanation of material properties ===
==== Standard settings ====
''ambientColor'', ''diffuseColor'' ''specularColor'', ''emissiveColor'' are the standard colors
as used in the [https://en.wikipedia.org/wiki/Rendering_equation rendering equation]
or in standard OpenGL.
Their corresponding intensities are simple scalars with a value between 0 and 1 and are multiplied
with the colors to dim them. Default these intensities are set to 1.
Colors are described as three floating point numbers, representing R G B, or red-green-blue
values. 1 is the maximum, 0 the minimum.
For example 1.0 0 0 means fully red, 1 1 1 means full white, 0 0 0 is full black.
0.5 0.5 0.5 will give you a grey middle color.
''opacity'' determines the opaqueness of the object (alpha channel), with 1 being fully
opaque, and 0 being fully transparent (invisible)
''translucency'' is something that came from Blender but is unused
''shininess'' or specular hardness is a number between 0 and 1 determining the shininess constant of the [https://en.wikipedia.org/wiki/Phong_reflection_model phong shading model].
==== Texture maps ====
Various standard texture maps can be defined on the material, like ''diffuseTexture'', ''bumpmapTexture'', ''normalmapTexture'', ''displacementmapTexture'', ''specularmapTexture'', ''transparencymapTexture'', ''aomapTexture''. Each of these also has an associated intensity value, which is a scalar from 0 to 1 multiplied with the pixel value of that texture (unless a specific shader implements it differently).
These textures only have an effect if their corresponding shaderConfig feature has been defined (see the table in Shaders section).
==== Render states ====
When ''wireframe'' is set to True, the model is drawn in wireframe mode. In this mode,
most material properties have no effect, but you can enable the vertexColors shaderConfig
to be able to change the color of the mesh using vertex colors (this requires
access to the mesh programatically, obj meshes do not support vertex colors).
This feature is used in some parts of MakeHuman, for example viewing bone weights
in the skeleton debug plugin.
Set ''shadeless'' to True to disable shading, eg. the object is not affected by lights.
Configured shader will have no effect
Set ''transparent'' to True to enable transparency rendering (usually needed when opacity is < 1)
In itself this does not change the visual appearance of the model, but this setting
should be enabled if your texture contains (semi-) transparent parts. This setting
instructs the renderer to disable depth buffer writes (glDepthMask(false))
and enables alpha testing and blending so that transparent surfaces can overlap and to allow [https://www.opengl.org/wiki/Transparency_Sorting alpha blending].
''alphaToCoverage'' Applies when transparent is set to True (otherwise does nothing).
It requires that your GPU supports alpha to coverage (A2C) rendering. It enables
the A2C feature which provides face order-independent alpha rendering. This works
very well for complex transparent meshes, like hair. At the cost of a slightly
dithered look, it solves all the problems with face sorting that are usually
involved in rendering semi transparency.
(This feature disables anti-aliasing for this object because the multisample buffer is used for alpha blending instead)
Set ''backfaceCull'' to False to disable backface culling (render the back side of polygons)
By default, and in most cases, this should be set to True, but can be useful
in some cases (for example, we disable back-face culling for the eyebrow materials).
Set ''depthless'' to True for depthless rendering (object is not occluded and does not occlude other objects).
This disables OpenGL depth writes and tests. In practice, this makes object faces that should be occluded shine through others.
''castShadows'' determines whether the object casts shadows on other objects.
''receiveShadows'' determines whether the object receives shadows from other objects.
For some features, like eyes, you probably want to disable shadow receiving.
Since MakeHuman does not (yet) implement shadow casting, the shadow settings have
no effect in MakeHuman, but they do export to other engines.
Play around with these settings in the Material Editor plugin to see their effect, that's the best advise I can give you.
The best way to find out which settings work for an asset, is simply to try them out.
==== autoBlendSkin ====
If True MakeHuman will set the diffuse color based on the ethnix mix set for the character.
Any diffuseColor set in the material file will be overridden by this.
Also the shaderParam litsphereTexture will be automatically set to a dynamically blended litsphere texture,
which is a mix of three litsphere materials (afro, asian, caucasian) depending on the ethnic mix of the character.
This latter is specifically intended to be used with the litsphere shader, and it is what you see as default material when you start MakeHuman
This overrides whatever shaderParam litsphereTexture was set in the material file.
This setting is intended only for skin materials.
==== shaderParam ====
Define a custom shader parameter (uniform), which might be required for some non-standard shaders.
For example, the litsphere shader takes an extra type of texture map as input, a so-called litsphere texture.
This generic system of mapping shader uniforms allows you to create specialised shaders that take
new and different kind of inputs, and allow configuring the shader from the material file.
shaderParam can be a list of floating point numbers, in which case it will be interpreted as a vector,
or it can be a file path, in which case it is assumed to be an image path.
Internally in MakeHuman, shaderParams can also be assigned a texture object, which allows
for dynamically passing a texture that is in memory, but perhaps not stored on disk.
Another example of a custom shaderParam is the X-ray shader that defines an edgefalloff
and intensity uniform parameter.
These could be changed from the material file with
shaderParam edgefalloff 0.8
shaderParam intensity 0.77
==== shaderDefine ====
shaderDefines allow enabling or disabling custom shading techniques in shaders.
These allow to define new shading techniques, apart from the pre-defined ones
such as normal mapping, specularity mapping, ...
It's a generic system that allows new shaders to be added and configured from
the material file, or from the material editor (which nicely auto-detects these
features in the shader and shows a set of checkboxes for them).
==== uvMap ====
Load custom UV coordinates on the mesh to use this material. This makes the material
completely dependent on the mesh it is used with.
Takes a path to a .mhuv file, which is actually just an .obj file, where the vertex
positions can be deleted (they can remain in there, but they are ignored).
Requirement for it to work is that the vertex order is the same as that of the
mesh obj.
An example uv map for the basemesh can be found in data/uvs/a7.mhuv, which is a
set of UV coordinates compatible with the old Alpha 7 mesh, allowing you to load
A7 textures on the new basemesh used in MakeHuman v1+
==== SSS properties ====
These are the so-called sub-surface scattering shading properties, currently only used by the built-in offline renderer. They were decided on while trying to figure out the most generic way to define SSS shading properties, so that they could easily be translated into SSS properties for a different renderer (as no single renderer that I know of has a standard for these). It's uncertain whether the format we have landed on currently is the best, or whether this will remain permanently or is still likely to change.
This setting should currently be considered experimental.
The properties are ''sssEnabled'', ''sssRScale'', ''sssGScale'' and ''sssBScale''.
=== Basic pointers for creating materials ===
* You can test the influence of material properties using the Material Editor plugin (which you can enable in Settings > Plugins, then restart)
* Using a diffuse texture? You probably want to set the diffuse color to 1 1 1 (pure white)
* Never set ambient color too bright, or your model will look completely white. 0.1 0.1 0.1 is a good value to start from.
* Emissive is usually set to black, unless you want a radioactive character
* Don't know how to define a color in numbers? Try the Material Editor plugin
* Higher shininess means smaller and sharper highlight, lower shininess makes the highlight larger and more blurred
* Reduce specular color to reduce the specularity, make it black for a rough and non shiny object
* opacity 1 means fully opaque, 0 means fully transparent (invisible)
* Do your (diffuse) textures contain transparency? Do not forget to enable transparency! Perhaps try if alpha-to-coverage improves the situation (especially for hair!).
=== Scene definition ===
To complete the rendering equation, you also need to define the scene. To be
more precise, the positions, types, color and intensities of the lights need to
be set. By default, MakeHuman only has a default scene with only one pointlight.
In MakeHuman, lights do not move if the camera is moved, or rather, the model is
rotated while the camera and lights remain static. So light positions are defined
relative to the camera position.
MakeHuman scenes are defined in .mhscene files, which are binary py-pickled files.
They can be created or modified using the Scene Editor plugin (can be enabled in
settings) and can be selected from the Scene library in the Render tab.
Fixed function shading pipeline supports up to 8 lights, specific light support
depends on the shader used, some shaders only support a certain type or number
of lights, other ignore the chosen scene altogether (for example the litsphere
shader that uses pre-baked environment lighting).
The built-in offline renderer also uses the specified scene.
Scenes are not exported along with the model.
=== Shaders ===
The most powerful functionality of the material system is unlocked when using
shaders.
MakeHuman shaders are intended to be written in a modular way, so that shading
features can be enabled or disabled using the material format. Examples of such
features are bump mapping, normal mapping, specular mapping, diffuse texturing,
ambient occlusion and displacement mapping.
MakeHuman includes a basic introspection function that allows it to determine
what features a shader supports. It accomplishes this by looking for #ifdef and #ifndef statements. If a shader supports a certain technique, it is supposed to
encapsulate this in #ifdef NORMALMAP ... #else ... #endif statements.
The idea is that of an [http://www.gamedev.net/topic/659145-what-is-a-uber-shader/ über shader], where performance is optimized by removing any dynamic branches (if then that) from shader code, and instead managing the features using defines and pre-processor branches.
When a different branch in the shader is activated, the shader code is recompiled entirely.
Instead of having different shaders for different features (eg. a specific normalmap shader to be able to do normal mapping), one general shader could be used instead, and normal mapping can simply be enabled or disabled from the material properties, without being required to swap shaders (a good default uber shader is [http://bugtracker.makehumancommunity.org/issues/160 still to be created for MakeHuman] Any help with this is welcome of course!).
The material system manages these shading functions by defining specific pre-processor
keywords when their corresponding shaderConfig property is set to true.
Shaders are recompiled when needed and stored in a shader cache for efficiency.
MakeHuman passes scene and material information to the shaders by certain uniform
parameters. Depending on which shaderConfig properties were enabled, additional
uniforms could be exposed to the shader. The shader does not have to declare all
these uniforms, however. MakeHuman binds only those uniforms present in the shader
if they have the right corresponding names.
Other properties are available from the OpenGL built-in uniforms or properties
(usually starting with gl_).
The following table lists these defines and the shaderConfig properties in the
material they relate to:
{| class="wikitable"
|-
! feature name
! shaderConfig
! shader #DEFINE
! exposed uniform parameters if enabled
! comment
|-
|default (always enabled)
|
|
|vec3 ambient, vec4 diffuse, vec4 specular, vec3 emissive
|diffuse and specular are 4-component color values, diffuse=[rgba] with a=opacity and specular=[rgbs] with s=shininess
|-
|Vertex coloring
|vertexColors
|VERTEX_COLOR
|
|Derive diffuse color from vertex colors
|-
|Diffuse texturing
|diffuse
|DIFFUSE
|diffuseTexture
|
|-
|Bump mapping
|bump
|BUMPMAP
|bumpmapTexture, bumpmapIntensity
|disabled if normal mapping is enabled (restriction might be lifted in the future)
|-
|Normal mapping
|normal
|NORMALMAP
|normalmapTexture, normalmapIntensity
|
|-
|Displacement mapping
|displacement
|DISPLACEMENT
|displacementmapTexture, displacementmapIntensity
|
|-
|Specularity mapping
|spec
|SPECULARMAP
|specularmapTexture, specularmapIntensity
|
|-
|Transpareny (alpha) maps
|transparency
|TRANSPARENCYMAP
|transparencymapTexture, transparencymapIntensity
|
|-
|Ambient occlusion maps
|ambientOcclusion
|AOMAP
|aomapTexture, aomapIntensity
|
|}
Additionally, MakeHuman exposes the vertex tangent as a vertex property, which
can be accessed by the shader.
attribute vec4 tangent
Currently, [http://www.terathon.com/code/tangent.html Lengyel’s Method] for tangent calculation
is used, but plans are to change this to [http://bugtracker.makehumancommunity.org/issues/87 mikktspace] in the future.
Shader examples for MakeHuman can be found here:
* Litsphere shader: [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/litsphere_vertex_shader.txt vertex][https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/litsphere_fragment_shader.txt fragment]
* Phong shader: [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/phong_vertex_shader.txt vertex][https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/phong_fragment_shader.txt fragment]
* Normal map shader (wip): [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/normalmap_vertex_shader.txt vertex] [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/normalmap_fragment_shader.txt fragment]
* X-ray shader: [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/xray_vertex_shader.txt vertex][https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/xray_fragment_shader.txt fragment]
==== Custom shader properties ====
Shaders can use non-standard #DEFINEs to allow enabling or disabling non-standard shading features, other than the ones that were foreseen in the material format (such as normal mapping, ...)
To add new ones, simply add #ifdef SOME_FEATURE statements to your shader code, the material system will automatically detect them.
From the material, you can enable them with
shaderDefine SOME_FEATURE
If not defined, the feature is assumed to be switched off.
A custom shader can also add new parameters to tweak. For example a color value or intensity value that influences the shading.
To do this, the shader author can simply add new uniform variables to their shader code. It is recommended to specify a default
value for them, so that if the material file does not explicitly mention them, they receive a sensible default value.
Example: the X-ray shader adds an edge-fallof property:
uniform float edgefalloff = 1.0;
From the material file, you can influence this value with:
shaderParam edgefalloff 0.5
shaderParam supports lists of float values (one or multiple, divided by spaces), eg
shaderParam edgecolor 0.7 0.3 0.4
or textures, by specifying a path to an image file (in which case they are assumed to be Sampler2D type)
Additionally, from within MakeHuman, they can be passed a Texture object, to dynamically pass them a texture that resides in memory, without the need for the texture to be stored in a file on disk.
This allows to dynamically alter the texture and have it displayed directly. MakeHuman takes care of caching the texture and updating it when it is modified.
For example, the auto skin tone blending of the litsphere texture is implemented in this way.
The material system will automatically detect these custom uniform parameters declared in the shader, for example the material editor plugin will present them in the GUI.
These features make for a general and extensible shader system.
==== Dynamic shader configuration in Material Editor plugin ====
Take as example this screenshot, which shows how the X-Ray shader, mentioned earlier, can be configured.
[[File:Mh_material_editor.png]]
In the shader selector, xray was chosen. This opens up a few new options to configure.
Notice that on the top right the custom shader uniforms edgefalloff and intensity that we mentioned earlier were automatically detected. The shader author had to do nothing else than to define these uniform parameters in his shader code, and define a sensible default for them. A material using this shader can customize these properties using the shaderParam option, which can be altered visually in the top right of the material editor. Changes in the material editor take effect immediately, so you can directly preview your changes.
Also notice in the bottom left that the material editor shows the available shaderConfig parameters. Some of these are greyed out, which means they are not available, or the condition for them is not met (for example, to be able to enable normal mapping, you need to choose a normal map texture on the right panel. If the normal map property is greyed out on the right side, then this particular shader does not support normal mapping).
Let's take a look at a second example.
[[File:Mh_material_editor2.png]]
Here we see the litsphere shader. This shader is different from the other shaders in the sense that it completely ignores the lighting of the scene, and instead lights the model with a texture containing pre-baked lighting conditions, a so-called [http://www.cs.utah.edu/~wmartin/pubs/LitSphere.pdf litsphere] texture.
This shader, being so different, requires a different sort of input, a custom input texture: the litsphere texture.
The shader author simply defined this uniform parameter in his shader code, and as you can see in the top right corner, the material editor shows a texture selector for this property. Using it, the user can select a litsphere texture to feed to the shader.
The litsphere shader also has two different alternative techniques that can be enabled or disabled by the user.
These two features, which can be enabled using shaderDefine statements in the material file, are automatically detected by the material system, and shown in the bottom left of the material editor. Enabling them is as simple as checking the checkbox.
One of these custom shading features is alpha mapping (defined by ALPHA_MAP), which allows to sample alpha transparency from an additional texture.
For this texture, an additional uniform property, named alphaTexture was declared in the shader, but it was written down in a way that it is only declared if the ALPHA_MAP token is defined.
In the shader code:
#ifdef ALPHA_MAP
uniform sampler2D alphaTexture;
#endif
If you check the ALPHA_MAP_checkbox, you will notice that on the top right, an extra texture selector will appear.
These examples show how the material editor can help exploring the different settings that are available in shaders.
7f3fc184ff797ba8599512818b585618a0b80e22
597
596
2016-01-31T17:57:49Z
Duststorm
19
/* Proxy format */
wikitext
text/x-wiki
== Vertex weights ==
With vertex weights we intend a weighted mapping of vertices of a mesh to a bone of a skeleton. The weight is a value between 0 and 1, the sum of these weights for each vertex should be normalized, which means they should sum to 1 (note: no euclidian distance, just simple addition of all weights). A weight map in MakeHuman is expressed as a bone name (becomes a bone index internally, using the index of the bone in a breadth-first list relative to skeleton structure), a vertex name and a floating point weight between 0 and 1. This weighted vertex to bone mapping is used for skinning (posing and animating, using vertex skinning, smooth skinning or linear blend skinning algorithm). For the skinning algorithm to work correctly it’s required that the weights are always normalized, otherwise you will see vertices move out of place disproportionally (though the weight loading code in MakeHuman ensures that this normalization always happens, so this is not a concern to the artist that defines the weights). The vertex weights can be exported to external tools as well using formats such as collada (DAE), FBX, Ogre3D meshes or MD5 quake meshes.
=== Vertex weights and skeletons ===
Vertex weights are defined for the default “master” skeleton or rig. They are defined in a json file with jsonw extension. They link each vertex of the basemesh including helpers to a named bone of this master rig, together with a certain weight.
The weights loader automatically removes doubles and normalizes the weights (so that they sum to 1). It also reports what the maximum number of bone weights per vertex is, additionally it allows compiling the weights to a reduced set with n number of bone weights, and automatically renormalizes those weights so they, again, sum to 1.
When loading weights, any vertex that receives no weighting is assigned to the root bone, as this is needed for skinning to prevent all those vertices jumping to the origin (0*pos == 0).
Alternative skeletons can define their own weights, by referencing a weights file just like the master rig, or they can choose to derive their weights from the master rig, through so called reference bone mappings. Skeletons will derive their weights from the master rig if they do not specify a weights file explicitly. Custom vertex weights in alternative rigs override those defined on the master rig, except in the case where a proxy defines its own vertex weights. See section Vertex weights for proxies for more details.
=== Reference bones for vertex weights and poses ===
Reference bones are defined on alternative rigs, they are a list of names of bones contained in the master rig. Every bone of an alternative rig can have such a list of reference bones. An alternative rig can also omit these references if it uses the same name as bones in the master rig, in which the mapping is implicit. Having a list of bone references always overrides the implicit mapping. Reference bone mappings are required for two purposes.
They are used for mapping poses defined on the master rig to other rigs. All poses are defined as BVH files that pose the master rig, so they reference only the bone names of the master rig. Poses are applied to all other rigs by using the reference bone mapping: all the rotations that the pose applies to the referenced bones are combined (in the order in which the references were specified -- note: rotations are NOT commutative) and are applied to the alternative rig bone.
Reference bone mappings can also be used for determining vertex weights of custom rigs. If the alternative rig does not explicitly define its own vertex weights, the mapping of reference bones is used to infere a set of bone weights for each bone: All the weights of the reference bones on the master rig (with the weights definition of the default/master rig) are combined and apply to the bone of the alternative rig. Doubles are merged, and weights renormalized. Any vertex that is not weighted will be assigned to the root bone. Watch for messages in the log to verify this.
=== Vertex weights for proxies ===
Generally proxies are mapped to basemesh geometry, that means either to the body or to helpers, or a combination of both (though this is unusual). Proxies derive their vertex weights from the vertices on the basemesh on which they are fitted. A proxy defines its fitting as a 3d offset from one or three vertices on the basemesh, allowing it to deform as the human deforms. This mapping is used to transfer the vertex weights from basemesh to proxy: a proxy vertex referencing three basemesh vertices gets the bone weights of those three vertices. Doubles are merged and the weights are normalized, so that the influence factors are averaged or smoothed. In this case the weights applied to proxies are always those defined on the skeleton: either the weights explicitly defined on the skeleton, or the weights obtained from remapping the master rig weights to this skeleton using the reference bone mapping mentioned in the previous sections. There is an exception to this, which is explained in the next paragraph.
A proxy can explicitly define its own vertex (to bone) weights. In this case it overrides the weights that would be obtained through the proxy mapping, and replaces them by its own custom definition of weights. These vertex weights are always defined to reference the bones of the master rig (default skeleton), so they need to be remapped to other skeletons using reference bone mapping. This also means that the custom weights of a proxy override any custom weights mapping that might be loaded with an alternative rig (but only for that proxy item). Custom proxy weights should be avoided if possible, but are in some cases required, eg. for properly rigging shoes which are rigidly fitted to feet, or an alternative topology which defines very accurate rigging on the face. The general advice for custom rigs is therefore to stay as close to the master rig as possible, reusing as much bones identically as possible, to achieve the best results for proxies with custom weights.
In case of custom weight, the mhclo file must contain a line to indicate the weight file to use, using the keyword “vertexboneweights_file”, with the syntax:
vertexboneweights_file filename.jsonw
== Targets and modifiers ==
MakeHuman applies targets on the human by means of modifiers. Such a modifier has a value (usually between [0, 1] or [-1, 1]) that determines the effect of it on the human mesh. A modifier can control one or more targets and in apply the mixed sum of them on the mesh. Some modifiers.
=== Organization of targets ===
To make sure targets are linked to the right modifier, or to make managing targets easier, a certain discipline has to be observed in managing them. Targets are ASCII files in the data/targets or data/custom folder (in program or user folder) with a file extension of .target.
The file name and folder targets are in implicitly determines their group name. A group is identified by a sequence of tags or tokens, which are taken from the file and folder name of each target, and which can be delimited by “-” symbols, to include multiple tokens in a single file or folder name. The lib/targets.py module takes care of loading all the names of the available targets and assembles them into groups. All targets with the same tokens end up in the same group. This allows easy querying and requesting of targets. The creator is pretty much free to decide what groups to create for their targets. By passing the name of the target group to a modifier, they can make sure that modifier controls the targets belonging to this group. It does not matter whether you use folders or - delimited file names for creating groups.
An example:
data/targets/cartoon/eyes-large.target is categorized in group (cartoon, eyes, large)
data/targets/cartoon-eyes-large.target is also categorized in group (cartoon, eyes, large)
Most simple modifiers work by specifying a group (for example cartoon-eyes) and a set of two tokens to append at the end, depending on the position of the modifier slider (eg. small, large which would allow controlling the targets cartoon-eyes-small and cartoon-eyes-large by moving the slider to the left or right).
=== Reserved group tokens ===
Some of the tokens in the file or foldername of targets are linked to values that variables of the human can have. Such variables are for example age, weight, muscle, gender.
This table lists all the reserved tokens, and the variables they belong to.
{| class="wikitable"
|-
! Reserved token (value)
! Variable
|-
| female,male
| gender
|-
| baby, child, young, old
| age
|-
| african, caucasian, asian
| race
|-
| minmuscle, averagemuscle, maxmuscle
| muscle
|-
| minweight, averageweight, maxweight
| weight
|-
| minheight, averageheight, maxheight
| height
|-
| mincup, averagecup, maxcup
| breastsize
|-
| minfirmness, averagefirmness, maxfirmness
| breastfirmness
|-
| uncommonproportions, regularproportions, idealproportions
| bodyproportion
|}
Note that it is not a good idea to use simply “max” or “min” as a reserved token name, because they need to be unique (otherwise it would not be possible to determine whether they are a minimum for, for example, weight or height). These reserved tokens are declared in the lib/targets.py module. The variable can be set and queried on the human object, for example human.getAge(), human.setMuscle(0.7), human.getProportion().
The reserved tokens are NOT included in the group name, so you should at least include some other, non-reserved tokens in the file or folder names to assign your target to some meaningful group. The inclusion of these reserved tokens in your target names or paths makes it convenient to create macro modifiers.
=== Macro targets and modifiers ===
Macro modifiers are modifiers whose effect (the combination of targets they apply on the human) is influenced by macro variables set on the human (eg. human.set/getAge()). Therefore, macro modifiers often control a large set of targets (20 or even more). It’s also common for multiple modifiers to control exactly the same set of targets, for example the standard age/gender/race sliders all control the set of targets in the ‘macrodetails’ group. Each slider modifies a different variable (eg. human.setAge()) controlling the set of targets, and then reapplies a combination of the same set of targets on the human.
=== Macro modifier dependencies ===
There are other macro modifiers that can also depend on the same variables age, gender, race that is controlled by the main macro modifiers, as discussed above. For example the macro modifiers that influence the weight and muscle mass of the human, controls the targets group “macrodetails-universal”, the universal token is added by prepending “universal-” to all the file names of related targets, which all reside in the folder “macrodetails” (thus macrodetails-universal ends up being the group name). They could have been included all in the “macrodetails” group, but are kept separate for performance reasons, so that the “macrodetails” group of targets (which already contains some 40 targets or so) can be applied in realtime while moving the slider.
Of course a change in the variable that these age/race/gender modifiers control will have an effect on the macrodetails-universal modifiers (because they control targets that depend on age -- their targets include -young- -old- etc. tokens in their filenames). This means there are inter-dependencies between macro modifiers, if one is updated, another one that depends on it should be refreshed. These dependencies can be descibed as follows: one macro modifier controls exactly one macro variable (such as age). It (or rather, the targets it controls) can however depend on multiple macro variables. The trivial case is where a macro modifier only depends on the macro variable that it controls itself. The tracking of these dependencies and deciding which modifiers must be updated when another is changed happens automatically. Dependencies are automatically tracked as soon as you add a modifier to the human (by calling modifier.setHuman(human)). To make this more performant in real-time, the propagation of updates to modifiers is limited while sliders are dragged (see realtimeDependencyUpdates in apps/humanmodifier.py).
As you might have understood, creating modifiers that depend on human variables is almost automatic. The only thing you need to do is create some targets that resolve to the same group name, add variations for all the macro variables you want and add the proper reserved tokens to the file or folder name (refer to the left column in the table above), and create a modifier with this group name. Once added to the human, the dependencies are tracked automatically.
=== Organization of modifiers ===
We already discussed how we organized targets in groups, to make it easier to connect them to a modifier. Now we will discuss how we can do a similar thing for modifiers.
Modifiers provide an easy way to manage targets. They allow reducing many of hundreds of targets to a more manageable number of controllable properties. But even then, we still have about 100 modifiers, which is still quite a lot. Therefore we group them in groups of categories, much like we do in the GUI. This makes it easy to get a grouped overview of all modifiers when using an alternative interface, think of commandline or scripting. The way in which you declare the group and other properties of a modifier determines what target groups it gets its targets from.
Modifiers are declared with a group name, some intermediary “target name” and a number of tail tokens (2 or 3 usually, eg min/max). The group of targets controlled by these modifiers is composed as: groupname-targets_name-tail.
Macro modifiers are declared with a group name, and a controlled variable. The groupname must be the same groupname of the targets they control.
=== Declarative modifiers ===
Instead of hard coding what modifiers you want to instantiate, MakeHuman offers a data-based format to declare what modifiers should be created, and how they should be shown in a user interface with sliders.
A full declaration requires three files, all stored in data/modifiers. The first is the declaration of the modifiers (eg. modeling_modifiers.json). This format lists a modifier group name, and all the modifiers with their macro variable (if they are macro modifiers) or target name and 2 or 3 (if they are a modifier with a center point) tail tokens.
The second file adds a description to the modifiers declared in the first file. It basically contains a key-value set, referencing the modifier name, and a textual description of what the modifier controls. A modifier name is constructed as follows: group/targets_name-all|the|tails and for a macro modifier: group/variable
The third file defines how these modifiers should be shown in the user interface as sliders. It lists a set of categories, and the sliders to show in them, and how their values have to be saved in a mhm file (mainly a feature for legacy compatibility).
=== Your own plugin with modifiers, sliders and targets ===
Using the declarative data format described in the section above, it’s really simple. Have a look at the plugin plugins/0_modeling_0_modifiers.py. Notice it’s barely 5 lines of code. Creating your own modeling plugin is as simple as that, pointing it to your own modifier data files.
=== Binary targets ===
Because loading these ASCII target files, and iterating all target files and folders can be slow (especially on windows) in build versions, we compile all targets in the data/targets system folder into a single binary file, that furthermore acts exactly the same as multiple target files. The binary targets file is stored in the system data/ folder and is called targets.npz, it is created by running the compile_targets.py script, which is also automatically run in the build_prepare.py build routine. The file structure of the targets files is maintained in this binary file so that targets can be loaded from it in the same way as you would do with regular files. A change in the .target files, or newly added target files allow a recompilation of the targets npz file before the change is applied.
== Proxy format ==
A proxy is a fitting of an arbitrary mesh (for example clothes or a hairstyle) to the basemesh. A proxy asset is distributed as a mesh file together with this fitting file (what we call the proxy file), allowing this mesh to be fitted on different modeling variations of the human within MakeHuman.
=== v1.0 format ===
The 1.0 format got introduced in the v1.0 release of MakeHuman, but was already present in the Alpha 7 (A7) release. The format got reworked a bit for 1.0, however.
==== Example ====
This is an excerpt from the fedora distributed with MakeHuman
# Exported from MakeClothes (TM)
# author Jonas Hauquier
# license AGPL3 (see also http://www.makehuman.org/node/320)
# homepage http://www.makehuman.org/
uuid 566dbd52-71d1-4d76-a799-0474a5a384db
basemesh hm08
tag Hats
name fedora
obj_file fedora.obj
x_scale 5399 11998 1.4800
z_scale 962 5320 1.9221
y_scale 791 881 2.3298
z_depth 50
material materials/fedora.mhmat
verts 0
251 5243 5244 0.60391 0.28706 0.10903 -0.00245 0.01323 0.03373
7020 11853 11852 0.53311 0.29591 0.17097 0.00529 0.01134 0.03388
7678 7000 7707 0.22571 0.34923 0.42506 0.00946 0.03331 0.04954
984 983 1015 0.17322 0.18383 0.64295 -0.00575 0.03634 0.05443
1014 226 982 0.12607 0.67880 0.19513 -0.00934 0.03289 0.04891
250 5245 5232 0.54148 0.48285 -0.02433 -0.01273 0.01129 0.03202
7746 7712 12153 0.16168 0.32394 0.51438 0.02696 0.11561 0.09667
5556 5554 1013 -0.03554 0.63140 0.40413 -0.01650 0.11949 0.10646
5560 5556 1020 0.34178 0.11896 0.53926 -0.03442 0.11513 0.09756
1013 7712 7721 0.24117 0.40913 0.34971 0.03897 0.20473 0.13559
1013 882 1029 0.71875 0.41604 -0.13479 -0.02631 0.22391 0.13840
1029 1020 1013 0.36342 0.60536 0.03123 -0.03890 0.20439 0.13536
7712 7721 882 0.21674 0.67896 0.10430 0.02804 0.23763 0.15510
1013 882 1029 0.30269 0.87853 -0.18122 -0.02994 0.25488 0.15754
1029 1020 1013 0.79483 0.03879 0.16638 -0.04433 0.23290 0.15424
5370 5368 969 -0.08854 0.29827 0.79027 -0.01789 0.14173 -0.15713
11971 7713 969 0.28241 0.33962 0.37797 0.01910 0.14921 -0.16563
11971 7713 969 0.05967 0.69236 0.24796 0.01670 0.13045 -0.14480
5370 5368 969 -0.07249 0.07305 0.99945 -0.01517 0.12017 -0.13323
969 1021 5370 0.20926 0.73057 0.06018 -0.01674 0.13078 -0.14517
969 1021 5370 0.33927 0.37782 0.28291 -0.01914 0.14955 -0.16600
5379 969 7713 -0.00113 0.07709 0.92403 0.01192 0.06520 -0.14994
1021 969 5379 -0.05590 0.97961 0.07629 -0.01124 0.06148 -0.14138
1021 969 5379 0.96289 0.03946 -0.00235 -0.01195 0.06537 -0.15033
11982 11981 7713 0.14728 0.42350 0.42922 0.01740 0.04655 -0.11033
1021 969 5379 -0.03656 0.34361 0.69295 -0.00834 0.04564 -0.10495
1021 5381 5382 0.43027 0.37607 0.19367 -0.01752 0.04687 -0.11110
11981 11982 7738 0.30937 0.48274 0.20789 0.00929 0.00889 -0.07280
5379 962 1022 0.56542 0.43776 -0.00318 -0.00327 0.01206 -0.08469
The rest of the file is very similar, it continues listing vertex fittings to the basemesh.
==== Vertex assignments ====
The format contains matchings in the following format:
vIdx1 vIdx2 vIdx3 w1 w2 w3 d1 d2 d3
vIdx is an index of a vertex on the basemesh
w is a weight of the corresponding vertex
d1,d2,d3 are optional (default to 0) and defines an offset
The format contains one such lines for every vertex in the proxy mesh, the order of the lines is the same as the order of vertices in the proxy mesh.
The format also supports an alternative fitting, referencing exactly one basemesh vertex, which is used for exact fitting: the proxy mesh vertex is placed in the exact same location as the basemesh vertex it is associated with.
vIdx
The file format allows mixing these two types of fittings on a per-vertex basis.
==== Properties ====
Every proxy should have a unique uuid (which can be generated using the python uuid module using uuid.uuid4()), a name, description, author and license information.
One or multiple tags can be added, each on a new line prepended with "tag".
A proxy references a material file and an OBJ mesh.
z_depth determines the rendering priority of the object (important for transparency) and the layer of clothing. It is used by face masking to determine which piece of clothing masks another.
The scale parameters define a bounding box referencing vertices on the human between which the proxy should be scaled. They are modified in makeclothes by selecting a clothing part.
=== v1.2 format ===
Starting from v1.2, a new algorithm for handling proxies is introduced, based on Manuel Bastioni's Lab experiments.
The new format uses a local normal space instead of global coordinates, making it more stable, even across different poses. It is also a lot easier for an artist to create new proxies, as it requires only one button press, instead of having to deal with vertex groups.
Future MakeHuman versions will contain backwards compatibility support for v1.0 proxies, but the new format is recommended for creation of new content.
The layout of this format is largely the same as the old format, with a version parameter specifying that this file should be interpreted as a new style proxy.
==== Example ====
==== Binary proxy ====
Proxies, as well as their meshes, can be compiled into a more compact binary variant that is faster to load and smaller to distribute. MakeHuman will do this automatically for proxies in the home path. Files in the installation path will have to be compiled manually by running the compile_proxies.py and compile_meshes.py scripts. Usually these scripts are ran when a distribution is created, so need not to be repeated by the end user, unless MakeHuman is used from source.
== Material format==
=== Introduction ===
MakeHuman material files have extension .mhmat and are simple ASCII definitions
of the material settings to use for rendering.
These material settings are primarily intended for configuring the material
system within MakeHuman, but they are usually carried out to other software as
well by the exporters.
Not all properties will be supported for all given combinations of shaders, nor
is there a guarantee that the exporters will honor all the properties in these
files.
Every 3D object in MakeHuman has exactly one material attached to it (multiple
materials are not possible, you need separate objects for that). Materials are
used for proxy meshes (clothes, hairs, ...) but also for the skin of the human
itself.
=== The Material System ===
The MakeHuman material system is closely based on the [https://en.wikipedia.org/wiki/Rendering_equation standard rendering equation]
as is used in OpenGL and DirectX forward rendering pipelines. MakeHuman supports
shaders and the material format contains the most commonly used extensions in
real-time rendering. As a consequence of this, users need to be aware of the
implications of setting values such as ambient too bright, or diffuse too dark.
All usual rules about rendering materials apply.
At the highest level, the material supports setting the most basic material
properties, such as diffuse, specular and ambient color. These are supported
both by shaders as well as the fixed function shading pipeline (which is used
when no shader is specified). Fixed function also supports the diffuse texture
option.
At a second level, a shader can be chosen. This refers directly to the filename
of a [https://en.wikipedia.org/wiki/OpenGL_Shading_Language GLSL shader] as found in the data/shaders/glsl folder of MakeHuman.
The selected shader will determine what material options will be available.
At the third level, various additional settings become available, depending on whether or not the
chosen shader has support for these features, such as bump or normal mapping,
ambient occlusion, specular mapping, etc.
For most of these, a texture map and a scalar property between 0 and 1 can be
set, the latter determining the intensity or influence of the effect.
Finally, MakeHuman also contains a built-in offline renderer that supports some
additional properties such as subsurface scattering, for which some special
properties are available.
=== Example ===
This is a full and complete (but fictional) example of a material file for MakeHuman, it shows all the available properties.
# Example MakeHuman Material definition
name Material_name
tag some_tag
tag another_tag
description material description text here
ambientColor 0.11 0.11 0.11
diffuseColor 1.0 1.0 1.0
specularColor 0.0470588235294 0.0470588235294 0.0470588235294
shininess 0.96
emissiveColor 0.0 0.0 0.0
opacity 1.0
translucency 0.0
shadeless False
wireframe False
transparent True
alphaToCoverage True
backfaceCull False
depthless False
autoBlendSkin False
castShadows True
receiveShadows True
diffuseTexture diffuse_texture.png
bumpmapTexture bumpmap.png
bumpmapIntensity 1.0
normalmapTexture normalmap.png
normalmapIntensity 1.0
displacementmapTexture norm_displacement.png
displacementmapIntensity 1.0
specularmapTexture specular.png
specularmapIntensity 1.0
transparencymapTexture alpha.png
transparencymapIntensity 1.0
aomapTexture ambient_occlusion_map.png
aomapIntensity 1.0
# Sub-surface scattering parameters
sssEnabled True
sssRScale 5.0
sssGScale 2.5
sssBScale 1.0
shader shaders/glsl/litsphere
shaderParam litsphereTexture litspheres/lit_hair.png
shaderConfig ambientOcclusion True
shaderConfig normal False
shaderConfig bump True
shaderConfig displacement False
shaderConfig vertexColors True
shaderConfig spec True
shaderConfig transparency True
shaderConfig diffuse True
shaderDefine ALPHA_MAP
uvMap alt_uv_coords.mhuv
This is another example, this time a real one. It is the X-ray material, used for example when showing the skeleton:
# Material definition for XrayMaterial
name XrayMaterial
ambientColor 0.1 0.1 0.1
diffuseColor 1.0 1.0 1.0
specularColor 0.3 0.3 0.3
shininess 0.1
emissiveColor 0.0 0.0 0.0
opacity 0.1
translucency 0.0
transparent True
backfaceCull True
shadeless False
wireframe False
depthless False
shader data/shaders/glsl/xray
shaderConfig diffuse False
shaderConfig transparency False
shaderConfig normal False
shaderConfig bump False
shaderConfig spec False
shaderConfig vertexColors False
shaderConfig displacement False
=== Explanation of material properties ===
==== Standard settings ====
''ambientColor'', ''diffuseColor'' ''specularColor'', ''emissiveColor'' are the standard colors
as used in the [https://en.wikipedia.org/wiki/Rendering_equation rendering equation]
or in standard OpenGL.
Their corresponding intensities are simple scalars with a value between 0 and 1 and are multiplied
with the colors to dim them. Default these intensities are set to 1.
Colors are described as three floating point numbers, representing R G B, or red-green-blue
values. 1 is the maximum, 0 the minimum.
For example 1.0 0 0 means fully red, 1 1 1 means full white, 0 0 0 is full black.
0.5 0.5 0.5 will give you a grey middle color.
''opacity'' determines the opaqueness of the object (alpha channel), with 1 being fully
opaque, and 0 being fully transparent (invisible)
''translucency'' is something that came from Blender but is unused
''shininess'' or specular hardness is a number between 0 and 1 determining the shininess constant of the [https://en.wikipedia.org/wiki/Phong_reflection_model phong shading model].
==== Texture maps ====
Various standard texture maps can be defined on the material, like ''diffuseTexture'', ''bumpmapTexture'', ''normalmapTexture'', ''displacementmapTexture'', ''specularmapTexture'', ''transparencymapTexture'', ''aomapTexture''. Each of these also has an associated intensity value, which is a scalar from 0 to 1 multiplied with the pixel value of that texture (unless a specific shader implements it differently).
These textures only have an effect if their corresponding shaderConfig feature has been defined (see the table in Shaders section).
==== Render states ====
When ''wireframe'' is set to True, the model is drawn in wireframe mode. In this mode,
most material properties have no effect, but you can enable the vertexColors shaderConfig
to be able to change the color of the mesh using vertex colors (this requires
access to the mesh programatically, obj meshes do not support vertex colors).
This feature is used in some parts of MakeHuman, for example viewing bone weights
in the skeleton debug plugin.
Set ''shadeless'' to True to disable shading, eg. the object is not affected by lights.
Configured shader will have no effect
Set ''transparent'' to True to enable transparency rendering (usually needed when opacity is < 1)
In itself this does not change the visual appearance of the model, but this setting
should be enabled if your texture contains (semi-) transparent parts. This setting
instructs the renderer to disable depth buffer writes (glDepthMask(false))
and enables alpha testing and blending so that transparent surfaces can overlap and to allow [https://www.opengl.org/wiki/Transparency_Sorting alpha blending].
''alphaToCoverage'' Applies when transparent is set to True (otherwise does nothing).
It requires that your GPU supports alpha to coverage (A2C) rendering. It enables
the A2C feature which provides face order-independent alpha rendering. This works
very well for complex transparent meshes, like hair. At the cost of a slightly
dithered look, it solves all the problems with face sorting that are usually
involved in rendering semi transparency.
(This feature disables anti-aliasing for this object because the multisample buffer is used for alpha blending instead)
Set ''backfaceCull'' to False to disable backface culling (render the back side of polygons)
By default, and in most cases, this should be set to True, but can be useful
in some cases (for example, we disable back-face culling for the eyebrow materials).
Set ''depthless'' to True for depthless rendering (object is not occluded and does not occlude other objects).
This disables OpenGL depth writes and tests. In practice, this makes object faces that should be occluded shine through others.
''castShadows'' determines whether the object casts shadows on other objects.
''receiveShadows'' determines whether the object receives shadows from other objects.
For some features, like eyes, you probably want to disable shadow receiving.
Since MakeHuman does not (yet) implement shadow casting, the shadow settings have
no effect in MakeHuman, but they do export to other engines.
Play around with these settings in the Material Editor plugin to see their effect, that's the best advise I can give you.
The best way to find out which settings work for an asset, is simply to try them out.
==== autoBlendSkin ====
If True MakeHuman will set the diffuse color based on the ethnix mix set for the character.
Any diffuseColor set in the material file will be overridden by this.
Also the shaderParam litsphereTexture will be automatically set to a dynamically blended litsphere texture,
which is a mix of three litsphere materials (afro, asian, caucasian) depending on the ethnic mix of the character.
This latter is specifically intended to be used with the litsphere shader, and it is what you see as default material when you start MakeHuman
This overrides whatever shaderParam litsphereTexture was set in the material file.
This setting is intended only for skin materials.
==== shaderParam ====
Define a custom shader parameter (uniform), which might be required for some non-standard shaders.
For example, the litsphere shader takes an extra type of texture map as input, a so-called litsphere texture.
This generic system of mapping shader uniforms allows you to create specialised shaders that take
new and different kind of inputs, and allow configuring the shader from the material file.
shaderParam can be a list of floating point numbers, in which case it will be interpreted as a vector,
or it can be a file path, in which case it is assumed to be an image path.
Internally in MakeHuman, shaderParams can also be assigned a texture object, which allows
for dynamically passing a texture that is in memory, but perhaps not stored on disk.
Another example of a custom shaderParam is the X-ray shader that defines an edgefalloff
and intensity uniform parameter.
These could be changed from the material file with
shaderParam edgefalloff 0.8
shaderParam intensity 0.77
==== shaderDefine ====
shaderDefines allow enabling or disabling custom shading techniques in shaders.
These allow to define new shading techniques, apart from the pre-defined ones
such as normal mapping, specularity mapping, ...
It's a generic system that allows new shaders to be added and configured from
the material file, or from the material editor (which nicely auto-detects these
features in the shader and shows a set of checkboxes for them).
==== uvMap ====
Load custom UV coordinates on the mesh to use this material. This makes the material
completely dependent on the mesh it is used with.
Takes a path to a .mhuv file, which is actually just an .obj file, where the vertex
positions can be deleted (they can remain in there, but they are ignored).
Requirement for it to work is that the vertex order is the same as that of the
mesh obj.
An example uv map for the basemesh can be found in data/uvs/a7.mhuv, which is a
set of UV coordinates compatible with the old Alpha 7 mesh, allowing you to load
A7 textures on the new basemesh used in MakeHuman v1+
==== SSS properties ====
These are the so-called sub-surface scattering shading properties, currently only used by the built-in offline renderer. They were decided on while trying to figure out the most generic way to define SSS shading properties, so that they could easily be translated into SSS properties for a different renderer (as no single renderer that I know of has a standard for these). It's uncertain whether the format we have landed on currently is the best, or whether this will remain permanently or is still likely to change.
This setting should currently be considered experimental.
The properties are ''sssEnabled'', ''sssRScale'', ''sssGScale'' and ''sssBScale''.
=== Basic pointers for creating materials ===
* You can test the influence of material properties using the Material Editor plugin (which you can enable in Settings > Plugins, then restart)
* Using a diffuse texture? You probably want to set the diffuse color to 1 1 1 (pure white)
* Never set ambient color too bright, or your model will look completely white. 0.1 0.1 0.1 is a good value to start from.
* Emissive is usually set to black, unless you want a radioactive character
* Don't know how to define a color in numbers? Try the Material Editor plugin
* Higher shininess means smaller and sharper highlight, lower shininess makes the highlight larger and more blurred
* Reduce specular color to reduce the specularity, make it black for a rough and non shiny object
* opacity 1 means fully opaque, 0 means fully transparent (invisible)
* Do your (diffuse) textures contain transparency? Do not forget to enable transparency! Perhaps try if alpha-to-coverage improves the situation (especially for hair!).
=== Scene definition ===
To complete the rendering equation, you also need to define the scene. To be
more precise, the positions, types, color and intensities of the lights need to
be set. By default, MakeHuman only has a default scene with only one pointlight.
In MakeHuman, lights do not move if the camera is moved, or rather, the model is
rotated while the camera and lights remain static. So light positions are defined
relative to the camera position.
MakeHuman scenes are defined in .mhscene files, which are binary py-pickled files.
They can be created or modified using the Scene Editor plugin (can be enabled in
settings) and can be selected from the Scene library in the Render tab.
Fixed function shading pipeline supports up to 8 lights, specific light support
depends on the shader used, some shaders only support a certain type or number
of lights, other ignore the chosen scene altogether (for example the litsphere
shader that uses pre-baked environment lighting).
The built-in offline renderer also uses the specified scene.
Scenes are not exported along with the model.
=== Shaders ===
The most powerful functionality of the material system is unlocked when using
shaders.
MakeHuman shaders are intended to be written in a modular way, so that shading
features can be enabled or disabled using the material format. Examples of such
features are bump mapping, normal mapping, specular mapping, diffuse texturing,
ambient occlusion and displacement mapping.
MakeHuman includes a basic introspection function that allows it to determine
what features a shader supports. It accomplishes this by looking for #ifdef and #ifndef statements. If a shader supports a certain technique, it is supposed to
encapsulate this in #ifdef NORMALMAP ... #else ... #endif statements.
The idea is that of an [http://www.gamedev.net/topic/659145-what-is-a-uber-shader/ über shader], where performance is optimized by removing any dynamic branches (if then that) from shader code, and instead managing the features using defines and pre-processor branches.
When a different branch in the shader is activated, the shader code is recompiled entirely.
Instead of having different shaders for different features (eg. a specific normalmap shader to be able to do normal mapping), one general shader could be used instead, and normal mapping can simply be enabled or disabled from the material properties, without being required to swap shaders (a good default uber shader is [http://bugtracker.makehumancommunity.org/issues/160 still to be created for MakeHuman] Any help with this is welcome of course!).
The material system manages these shading functions by defining specific pre-processor
keywords when their corresponding shaderConfig property is set to true.
Shaders are recompiled when needed and stored in a shader cache for efficiency.
MakeHuman passes scene and material information to the shaders by certain uniform
parameters. Depending on which shaderConfig properties were enabled, additional
uniforms could be exposed to the shader. The shader does not have to declare all
these uniforms, however. MakeHuman binds only those uniforms present in the shader
if they have the right corresponding names.
Other properties are available from the OpenGL built-in uniforms or properties
(usually starting with gl_).
The following table lists these defines and the shaderConfig properties in the
material they relate to:
{| class="wikitable"
|-
! feature name
! shaderConfig
! shader #DEFINE
! exposed uniform parameters if enabled
! comment
|-
|default (always enabled)
|
|
|vec3 ambient, vec4 diffuse, vec4 specular, vec3 emissive
|diffuse and specular are 4-component color values, diffuse=[rgba] with a=opacity and specular=[rgbs] with s=shininess
|-
|Vertex coloring
|vertexColors
|VERTEX_COLOR
|
|Derive diffuse color from vertex colors
|-
|Diffuse texturing
|diffuse
|DIFFUSE
|diffuseTexture
|
|-
|Bump mapping
|bump
|BUMPMAP
|bumpmapTexture, bumpmapIntensity
|disabled if normal mapping is enabled (restriction might be lifted in the future)
|-
|Normal mapping
|normal
|NORMALMAP
|normalmapTexture, normalmapIntensity
|
|-
|Displacement mapping
|displacement
|DISPLACEMENT
|displacementmapTexture, displacementmapIntensity
|
|-
|Specularity mapping
|spec
|SPECULARMAP
|specularmapTexture, specularmapIntensity
|
|-
|Transpareny (alpha) maps
|transparency
|TRANSPARENCYMAP
|transparencymapTexture, transparencymapIntensity
|
|-
|Ambient occlusion maps
|ambientOcclusion
|AOMAP
|aomapTexture, aomapIntensity
|
|}
Additionally, MakeHuman exposes the vertex tangent as a vertex property, which
can be accessed by the shader.
attribute vec4 tangent
Currently, [http://www.terathon.com/code/tangent.html Lengyel’s Method] for tangent calculation
is used, but plans are to change this to [http://bugtracker.makehumancommunity.org/issues/87 mikktspace] in the future.
Shader examples for MakeHuman can be found here:
* Litsphere shader: [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/litsphere_vertex_shader.txt vertex][https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/litsphere_fragment_shader.txt fragment]
* Phong shader: [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/phong_vertex_shader.txt vertex][https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/phong_fragment_shader.txt fragment]
* Normal map shader (wip): [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/normalmap_vertex_shader.txt vertex] [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/normalmap_fragment_shader.txt fragment]
* X-ray shader: [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/xray_vertex_shader.txt vertex][https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/xray_fragment_shader.txt fragment]
==== Custom shader properties ====
Shaders can use non-standard #DEFINEs to allow enabling or disabling non-standard shading features, other than the ones that were foreseen in the material format (such as normal mapping, ...)
To add new ones, simply add #ifdef SOME_FEATURE statements to your shader code, the material system will automatically detect them.
From the material, you can enable them with
shaderDefine SOME_FEATURE
If not defined, the feature is assumed to be switched off.
A custom shader can also add new parameters to tweak. For example a color value or intensity value that influences the shading.
To do this, the shader author can simply add new uniform variables to their shader code. It is recommended to specify a default
value for them, so that if the material file does not explicitly mention them, they receive a sensible default value.
Example: the X-ray shader adds an edge-fallof property:
uniform float edgefalloff = 1.0;
From the material file, you can influence this value with:
shaderParam edgefalloff 0.5
shaderParam supports lists of float values (one or multiple, divided by spaces), eg
shaderParam edgecolor 0.7 0.3 0.4
or textures, by specifying a path to an image file (in which case they are assumed to be Sampler2D type)
Additionally, from within MakeHuman, they can be passed a Texture object, to dynamically pass them a texture that resides in memory, without the need for the texture to be stored in a file on disk.
This allows to dynamically alter the texture and have it displayed directly. MakeHuman takes care of caching the texture and updating it when it is modified.
For example, the auto skin tone blending of the litsphere texture is implemented in this way.
The material system will automatically detect these custom uniform parameters declared in the shader, for example the material editor plugin will present them in the GUI.
These features make for a general and extensible shader system.
==== Dynamic shader configuration in Material Editor plugin ====
Take as example this screenshot, which shows how the X-Ray shader, mentioned earlier, can be configured.
[[File:Mh_material_editor.png]]
In the shader selector, xray was chosen. This opens up a few new options to configure.
Notice that on the top right the custom shader uniforms edgefalloff and intensity that we mentioned earlier were automatically detected. The shader author had to do nothing else than to define these uniform parameters in his shader code, and define a sensible default for them. A material using this shader can customize these properties using the shaderParam option, which can be altered visually in the top right of the material editor. Changes in the material editor take effect immediately, so you can directly preview your changes.
Also notice in the bottom left that the material editor shows the available shaderConfig parameters. Some of these are greyed out, which means they are not available, or the condition for them is not met (for example, to be able to enable normal mapping, you need to choose a normal map texture on the right panel. If the normal map property is greyed out on the right side, then this particular shader does not support normal mapping).
Let's take a look at a second example.
[[File:Mh_material_editor2.png]]
Here we see the litsphere shader. This shader is different from the other shaders in the sense that it completely ignores the lighting of the scene, and instead lights the model with a texture containing pre-baked lighting conditions, a so-called [http://www.cs.utah.edu/~wmartin/pubs/LitSphere.pdf litsphere] texture.
This shader, being so different, requires a different sort of input, a custom input texture: the litsphere texture.
The shader author simply defined this uniform parameter in his shader code, and as you can see in the top right corner, the material editor shows a texture selector for this property. Using it, the user can select a litsphere texture to feed to the shader.
The litsphere shader also has two different alternative techniques that can be enabled or disabled by the user.
These two features, which can be enabled using shaderDefine statements in the material file, are automatically detected by the material system, and shown in the bottom left of the material editor. Enabling them is as simple as checking the checkbox.
One of these custom shading features is alpha mapping (defined by ALPHA_MAP), which allows to sample alpha transparency from an additional texture.
For this texture, an additional uniform property, named alphaTexture was declared in the shader, but it was written down in a way that it is only declared if the ALPHA_MAP token is defined.
In the shader code:
#ifdef ALPHA_MAP
uniform sampler2D alphaTexture;
#endif
If you check the ALPHA_MAP_checkbox, you will notice that on the top right, an extra texture selector will appear.
These examples show how the material editor can help exploring the different settings that are available in shaders.
ffd73724d97a8e60a287bcdc91e242d28e50a8ad
596
595
2016-01-31T17:49:36Z
Duststorm
19
Add Proxies doc
wikitext
text/x-wiki
== Vertex weights ==
With vertex weights we intend a weighted mapping of vertices of a mesh to a bone of a skeleton. The weight is a value between 0 and 1, the sum of these weights for each vertex should be normalized, which means they should sum to 1 (note: no euclidian distance, just simple addition of all weights). A weight map in MakeHuman is expressed as a bone name (becomes a bone index internally, using the index of the bone in a breadth-first list relative to skeleton structure), a vertex name and a floating point weight between 0 and 1. This weighted vertex to bone mapping is used for skinning (posing and animating, using vertex skinning, smooth skinning or linear blend skinning algorithm). For the skinning algorithm to work correctly it’s required that the weights are always normalized, otherwise you will see vertices move out of place disproportionally (though the weight loading code in MakeHuman ensures that this normalization always happens, so this is not a concern to the artist that defines the weights). The vertex weights can be exported to external tools as well using formats such as collada (DAE), FBX, Ogre3D meshes or MD5 quake meshes.
=== Vertex weights and skeletons ===
Vertex weights are defined for the default “master” skeleton or rig. They are defined in a json file with jsonw extension. They link each vertex of the basemesh including helpers to a named bone of this master rig, together with a certain weight.
The weights loader automatically removes doubles and normalizes the weights (so that they sum to 1). It also reports what the maximum number of bone weights per vertex is, additionally it allows compiling the weights to a reduced set with n number of bone weights, and automatically renormalizes those weights so they, again, sum to 1.
When loading weights, any vertex that receives no weighting is assigned to the root bone, as this is needed for skinning to prevent all those vertices jumping to the origin (0*pos == 0).
Alternative skeletons can define their own weights, by referencing a weights file just like the master rig, or they can choose to derive their weights from the master rig, through so called reference bone mappings. Skeletons will derive their weights from the master rig if they do not specify a weights file explicitly. Custom vertex weights in alternative rigs override those defined on the master rig, except in the case where a proxy defines its own vertex weights. See section Vertex weights for proxies for more details.
=== Reference bones for vertex weights and poses ===
Reference bones are defined on alternative rigs, they are a list of names of bones contained in the master rig. Every bone of an alternative rig can have such a list of reference bones. An alternative rig can also omit these references if it uses the same name as bones in the master rig, in which the mapping is implicit. Having a list of bone references always overrides the implicit mapping. Reference bone mappings are required for two purposes.
They are used for mapping poses defined on the master rig to other rigs. All poses are defined as BVH files that pose the master rig, so they reference only the bone names of the master rig. Poses are applied to all other rigs by using the reference bone mapping: all the rotations that the pose applies to the referenced bones are combined (in the order in which the references were specified -- note: rotations are NOT commutative) and are applied to the alternative rig bone.
Reference bone mappings can also be used for determining vertex weights of custom rigs. If the alternative rig does not explicitly define its own vertex weights, the mapping of reference bones is used to infere a set of bone weights for each bone: All the weights of the reference bones on the master rig (with the weights definition of the default/master rig) are combined and apply to the bone of the alternative rig. Doubles are merged, and weights renormalized. Any vertex that is not weighted will be assigned to the root bone. Watch for messages in the log to verify this.
=== Vertex weights for proxies ===
Generally proxies are mapped to basemesh geometry, that means either to the body or to helpers, or a combination of both (though this is unusual). Proxies derive their vertex weights from the vertices on the basemesh on which they are fitted. A proxy defines its fitting as a 3d offset from one or three vertices on the basemesh, allowing it to deform as the human deforms. This mapping is used to transfer the vertex weights from basemesh to proxy: a proxy vertex referencing three basemesh vertices gets the bone weights of those three vertices. Doubles are merged and the weights are normalized, so that the influence factors are averaged or smoothed. In this case the weights applied to proxies are always those defined on the skeleton: either the weights explicitly defined on the skeleton, or the weights obtained from remapping the master rig weights to this skeleton using the reference bone mapping mentioned in the previous sections. There is an exception to this, which is explained in the next paragraph.
A proxy can explicitly define its own vertex (to bone) weights. In this case it overrides the weights that would be obtained through the proxy mapping, and replaces them by its own custom definition of weights. These vertex weights are always defined to reference the bones of the master rig (default skeleton), so they need to be remapped to other skeletons using reference bone mapping. This also means that the custom weights of a proxy override any custom weights mapping that might be loaded with an alternative rig (but only for that proxy item). Custom proxy weights should be avoided if possible, but are in some cases required, eg. for properly rigging shoes which are rigidly fitted to feet, or an alternative topology which defines very accurate rigging on the face. The general advice for custom rigs is therefore to stay as close to the master rig as possible, reusing as much bones identically as possible, to achieve the best results for proxies with custom weights.
In case of custom weight, the mhclo file must contain a line to indicate the weight file to use, using the keyword “vertexboneweights_file”, with the syntax:
vertexboneweights_file filename.jsonw
== Targets and modifiers ==
MakeHuman applies targets on the human by means of modifiers. Such a modifier has a value (usually between [0, 1] or [-1, 1]) that determines the effect of it on the human mesh. A modifier can control one or more targets and in apply the mixed sum of them on the mesh. Some modifiers.
=== Organization of targets ===
To make sure targets are linked to the right modifier, or to make managing targets easier, a certain discipline has to be observed in managing them. Targets are ASCII files in the data/targets or data/custom folder (in program or user folder) with a file extension of .target.
The file name and folder targets are in implicitly determines their group name. A group is identified by a sequence of tags or tokens, which are taken from the file and folder name of each target, and which can be delimited by “-” symbols, to include multiple tokens in a single file or folder name. The lib/targets.py module takes care of loading all the names of the available targets and assembles them into groups. All targets with the same tokens end up in the same group. This allows easy querying and requesting of targets. The creator is pretty much free to decide what groups to create for their targets. By passing the name of the target group to a modifier, they can make sure that modifier controls the targets belonging to this group. It does not matter whether you use folders or - delimited file names for creating groups.
An example:
data/targets/cartoon/eyes-large.target is categorized in group (cartoon, eyes, large)
data/targets/cartoon-eyes-large.target is also categorized in group (cartoon, eyes, large)
Most simple modifiers work by specifying a group (for example cartoon-eyes) and a set of two tokens to append at the end, depending on the position of the modifier slider (eg. small, large which would allow controlling the targets cartoon-eyes-small and cartoon-eyes-large by moving the slider to the left or right).
=== Reserved group tokens ===
Some of the tokens in the file or foldername of targets are linked to values that variables of the human can have. Such variables are for example age, weight, muscle, gender.
This table lists all the reserved tokens, and the variables they belong to.
{| class="wikitable"
|-
! Reserved token (value)
! Variable
|-
| female,male
| gender
|-
| baby, child, young, old
| age
|-
| african, caucasian, asian
| race
|-
| minmuscle, averagemuscle, maxmuscle
| muscle
|-
| minweight, averageweight, maxweight
| weight
|-
| minheight, averageheight, maxheight
| height
|-
| mincup, averagecup, maxcup
| breastsize
|-
| minfirmness, averagefirmness, maxfirmness
| breastfirmness
|-
| uncommonproportions, regularproportions, idealproportions
| bodyproportion
|}
Note that it is not a good idea to use simply “max” or “min” as a reserved token name, because they need to be unique (otherwise it would not be possible to determine whether they are a minimum for, for example, weight or height). These reserved tokens are declared in the lib/targets.py module. The variable can be set and queried on the human object, for example human.getAge(), human.setMuscle(0.7), human.getProportion().
The reserved tokens are NOT included in the group name, so you should at least include some other, non-reserved tokens in the file or folder names to assign your target to some meaningful group. The inclusion of these reserved tokens in your target names or paths makes it convenient to create macro modifiers.
=== Macro targets and modifiers ===
Macro modifiers are modifiers whose effect (the combination of targets they apply on the human) is influenced by macro variables set on the human (eg. human.set/getAge()). Therefore, macro modifiers often control a large set of targets (20 or even more). It’s also common for multiple modifiers to control exactly the same set of targets, for example the standard age/gender/race sliders all control the set of targets in the ‘macrodetails’ group. Each slider modifies a different variable (eg. human.setAge()) controlling the set of targets, and then reapplies a combination of the same set of targets on the human.
=== Macro modifier dependencies ===
There are other macro modifiers that can also depend on the same variables age, gender, race that is controlled by the main macro modifiers, as discussed above. For example the macro modifiers that influence the weight and muscle mass of the human, controls the targets group “macrodetails-universal”, the universal token is added by prepending “universal-” to all the file names of related targets, which all reside in the folder “macrodetails” (thus macrodetails-universal ends up being the group name). They could have been included all in the “macrodetails” group, but are kept separate for performance reasons, so that the “macrodetails” group of targets (which already contains some 40 targets or so) can be applied in realtime while moving the slider.
Of course a change in the variable that these age/race/gender modifiers control will have an effect on the macrodetails-universal modifiers (because they control targets that depend on age -- their targets include -young- -old- etc. tokens in their filenames). This means there are inter-dependencies between macro modifiers, if one is updated, another one that depends on it should be refreshed. These dependencies can be descibed as follows: one macro modifier controls exactly one macro variable (such as age). It (or rather, the targets it controls) can however depend on multiple macro variables. The trivial case is where a macro modifier only depends on the macro variable that it controls itself. The tracking of these dependencies and deciding which modifiers must be updated when another is changed happens automatically. Dependencies are automatically tracked as soon as you add a modifier to the human (by calling modifier.setHuman(human)). To make this more performant in real-time, the propagation of updates to modifiers is limited while sliders are dragged (see realtimeDependencyUpdates in apps/humanmodifier.py).
As you might have understood, creating modifiers that depend on human variables is almost automatic. The only thing you need to do is create some targets that resolve to the same group name, add variations for all the macro variables you want and add the proper reserved tokens to the file or folder name (refer to the left column in the table above), and create a modifier with this group name. Once added to the human, the dependencies are tracked automatically.
=== Organization of modifiers ===
We already discussed how we organized targets in groups, to make it easier to connect them to a modifier. Now we will discuss how we can do a similar thing for modifiers.
Modifiers provide an easy way to manage targets. They allow reducing many of hundreds of targets to a more manageable number of controllable properties. But even then, we still have about 100 modifiers, which is still quite a lot. Therefore we group them in groups of categories, much like we do in the GUI. This makes it easy to get a grouped overview of all modifiers when using an alternative interface, think of commandline or scripting. The way in which you declare the group and other properties of a modifier determines what target groups it gets its targets from.
Modifiers are declared with a group name, some intermediary “target name” and a number of tail tokens (2 or 3 usually, eg min/max). The group of targets controlled by these modifiers is composed as: groupname-targets_name-tail.
Macro modifiers are declared with a group name, and a controlled variable. The groupname must be the same groupname of the targets they control.
=== Declarative modifiers ===
Instead of hard coding what modifiers you want to instantiate, MakeHuman offers a data-based format to declare what modifiers should be created, and how they should be shown in a user interface with sliders.
A full declaration requires three files, all stored in data/modifiers. The first is the declaration of the modifiers (eg. modeling_modifiers.json). This format lists a modifier group name, and all the modifiers with their macro variable (if they are macro modifiers) or target name and 2 or 3 (if they are a modifier with a center point) tail tokens.
The second file adds a description to the modifiers declared in the first file. It basically contains a key-value set, referencing the modifier name, and a textual description of what the modifier controls. A modifier name is constructed as follows: group/targets_name-all|the|tails and for a macro modifier: group/variable
The third file defines how these modifiers should be shown in the user interface as sliders. It lists a set of categories, and the sliders to show in them, and how their values have to be saved in a mhm file (mainly a feature for legacy compatibility).
=== Your own plugin with modifiers, sliders and targets ===
Using the declarative data format described in the section above, it’s really simple. Have a look at the plugin plugins/0_modeling_0_modifiers.py. Notice it’s barely 5 lines of code. Creating your own modeling plugin is as simple as that, pointing it to your own modifier data files.
=== Binary targets ===
Because loading these ASCII target files, and iterating all target files and folders can be slow (especially on windows) in build versions, we compile all targets in the data/targets system folder into a single binary file, that furthermore acts exactly the same as multiple target files. The binary targets file is stored in the system data/ folder and is called targets.npz, it is created by running the compile_targets.py script, which is also automatically run in the build_prepare.py build routine. The file structure of the targets files is maintained in this binary file so that targets can be loaded from it in the same way as you would do with regular files. A change in the .target files, or newly added target files allow a recompilation of the targets npz file before the change is applied.
== Proxy format ==
A proxy is a fitting of an arbitrary mesh (for example clothes or a hairstyle) to the basemesh. A proxy asset is distributed as a mesh file together with this fitting file (what we call the proxy file), allowing this mesh to be fitted on different modeling variations of the human within MakeHuman.
=== v1.0 format ===
The 1.0 format got introduced in the v1.0 release of MakeHuman, but was already present in the Alpha 7 (A7) release. The format got reworked a bit for 1.0, however.
==== Example ====
This is an excerpt from the fedora distributed with MakeHuman
# Exported from MakeClothes (TM)
# author Jonas Hauquier
# license AGPL3 (see also http://www.makehuman.org/node/320)
# homepage http://www.makehuman.org/
uuid 566dbd52-71d1-4d76-a799-0474a5a384db
basemesh hm08
tag Hats
name fedora
obj_file fedora.obj
x_scale 5399 11998 1.4800
z_scale 962 5320 1.9221
y_scale 791 881 2.3298
z_depth 50
material materials/fedora.mhmat
verts 0
251 5243 5244 0.60391 0.28706 0.10903 -0.00245 0.01323 0.03373
7020 11853 11852 0.53311 0.29591 0.17097 0.00529 0.01134 0.03388
7678 7000 7707 0.22571 0.34923 0.42506 0.00946 0.03331 0.04954
984 983 1015 0.17322 0.18383 0.64295 -0.00575 0.03634 0.05443
1014 226 982 0.12607 0.67880 0.19513 -0.00934 0.03289 0.04891
250 5245 5232 0.54148 0.48285 -0.02433 -0.01273 0.01129 0.03202
7746 7712 12153 0.16168 0.32394 0.51438 0.02696 0.11561 0.09667
5556 5554 1013 -0.03554 0.63140 0.40413 -0.01650 0.11949 0.10646
5560 5556 1020 0.34178 0.11896 0.53926 -0.03442 0.11513 0.09756
1013 7712 7721 0.24117 0.40913 0.34971 0.03897 0.20473 0.13559
1013 882 1029 0.71875 0.41604 -0.13479 -0.02631 0.22391 0.13840
1029 1020 1013 0.36342 0.60536 0.03123 -0.03890 0.20439 0.13536
7712 7721 882 0.21674 0.67896 0.10430 0.02804 0.23763 0.15510
1013 882 1029 0.30269 0.87853 -0.18122 -0.02994 0.25488 0.15754
1029 1020 1013 0.79483 0.03879 0.16638 -0.04433 0.23290 0.15424
5370 5368 969 -0.08854 0.29827 0.79027 -0.01789 0.14173 -0.15713
11971 7713 969 0.28241 0.33962 0.37797 0.01910 0.14921 -0.16563
11971 7713 969 0.05967 0.69236 0.24796 0.01670 0.13045 -0.14480
5370 5368 969 -0.07249 0.07305 0.99945 -0.01517 0.12017 -0.13323
969 1021 5370 0.20926 0.73057 0.06018 -0.01674 0.13078 -0.14517
969 1021 5370 0.33927 0.37782 0.28291 -0.01914 0.14955 -0.16600
5379 969 7713 -0.00113 0.07709 0.92403 0.01192 0.06520 -0.14994
1021 969 5379 -0.05590 0.97961 0.07629 -0.01124 0.06148 -0.14138
1021 969 5379 0.96289 0.03946 -0.00235 -0.01195 0.06537 -0.15033
11982 11981 7713 0.14728 0.42350 0.42922 0.01740 0.04655 -0.11033
1021 969 5379 -0.03656 0.34361 0.69295 -0.00834 0.04564 -0.10495
1021 5381 5382 0.43027 0.37607 0.19367 -0.01752 0.04687 -0.11110
11981 11982 7738 0.30937 0.48274 0.20789 0.00929 0.00889 -0.07280
5379 962 1022 0.56542 0.43776 -0.00318 -0.00327 0.01206 -0.08469
The rest of the file is very similar, it continues listing vertex fittings to the basemesh.
==== Properties ====
Every proxy should have a unique uuid (which can be generated using the python uuid module using uuid.uuid4()), a name, description, author and license information.
One or multiple tags can be added, each on a new line prepended with "tag".
A proxy references a material file and an OBJ mesh.
z_depth determines the rendering priority of the object (important for transparency) and the layer of clothing. It is used by face masking to determine which piece of clothing masks another.
The scale parameters define a bounding box referencing vertices on the human between which the proxy should be scaled. They are modified in makeclothes by selecting a clothing part.
=== v1.2 format ===
Starting from v1.2, a new algorithm for handling proxies is introduced, based on Manuel Bastioni's Lab experiments.
The new format uses a local normal space instead of global coordinates, making it more stable, even across different poses. It is also a lot easier for an artist to create new proxies, as it requires only one button press, instead of having to deal with vertex groups.
Future MakeHuman versions will contain backwards compatibility support for v1.0 proxies, but the new format is recommended for creation of new content.
The layout of this format is largely the same as the old format, with a version parameter specifying that this file should be interpreted as a new style proxy.
==== Binary proxy ====
Proxies, as well as their meshes, can be compiled into a more compact binary variant that is faster to load and smaller to distribute. MakeHuman will do this automatically for proxies in the home path. Files in the installation path will have to be compiled manually by running the compile_proxies.py and compile_meshes.py scripts. Usually these scripts are ran when a distribution is created, so need not to be repeated by the end user, unless MakeHuman is used from source.
== Material format==
=== Introduction ===
MakeHuman material files have extension .mhmat and are simple ASCII definitions
of the material settings to use for rendering.
These material settings are primarily intended for configuring the material
system within MakeHuman, but they are usually carried out to other software as
well by the exporters.
Not all properties will be supported for all given combinations of shaders, nor
is there a guarantee that the exporters will honor all the properties in these
files.
Every 3D object in MakeHuman has exactly one material attached to it (multiple
materials are not possible, you need separate objects for that). Materials are
used for proxy meshes (clothes, hairs, ...) but also for the skin of the human
itself.
=== The Material System ===
The MakeHuman material system is closely based on the [https://en.wikipedia.org/wiki/Rendering_equation standard rendering equation]
as is used in OpenGL and DirectX forward rendering pipelines. MakeHuman supports
shaders and the material format contains the most commonly used extensions in
real-time rendering. As a consequence of this, users need to be aware of the
implications of setting values such as ambient too bright, or diffuse too dark.
All usual rules about rendering materials apply.
At the highest level, the material supports setting the most basic material
properties, such as diffuse, specular and ambient color. These are supported
both by shaders as well as the fixed function shading pipeline (which is used
when no shader is specified). Fixed function also supports the diffuse texture
option.
At a second level, a shader can be chosen. This refers directly to the filename
of a [https://en.wikipedia.org/wiki/OpenGL_Shading_Language GLSL shader] as found in the data/shaders/glsl folder of MakeHuman.
The selected shader will determine what material options will be available.
At the third level, various additional settings become available, depending on whether or not the
chosen shader has support for these features, such as bump or normal mapping,
ambient occlusion, specular mapping, etc.
For most of these, a texture map and a scalar property between 0 and 1 can be
set, the latter determining the intensity or influence of the effect.
Finally, MakeHuman also contains a built-in offline renderer that supports some
additional properties such as subsurface scattering, for which some special
properties are available.
=== Example ===
This is a full and complete (but fictional) example of a material file for MakeHuman, it shows all the available properties.
# Example MakeHuman Material definition
name Material_name
tag some_tag
tag another_tag
description material description text here
ambientColor 0.11 0.11 0.11
diffuseColor 1.0 1.0 1.0
specularColor 0.0470588235294 0.0470588235294 0.0470588235294
shininess 0.96
emissiveColor 0.0 0.0 0.0
opacity 1.0
translucency 0.0
shadeless False
wireframe False
transparent True
alphaToCoverage True
backfaceCull False
depthless False
autoBlendSkin False
castShadows True
receiveShadows True
diffuseTexture diffuse_texture.png
bumpmapTexture bumpmap.png
bumpmapIntensity 1.0
normalmapTexture normalmap.png
normalmapIntensity 1.0
displacementmapTexture norm_displacement.png
displacementmapIntensity 1.0
specularmapTexture specular.png
specularmapIntensity 1.0
transparencymapTexture alpha.png
transparencymapIntensity 1.0
aomapTexture ambient_occlusion_map.png
aomapIntensity 1.0
# Sub-surface scattering parameters
sssEnabled True
sssRScale 5.0
sssGScale 2.5
sssBScale 1.0
shader shaders/glsl/litsphere
shaderParam litsphereTexture litspheres/lit_hair.png
shaderConfig ambientOcclusion True
shaderConfig normal False
shaderConfig bump True
shaderConfig displacement False
shaderConfig vertexColors True
shaderConfig spec True
shaderConfig transparency True
shaderConfig diffuse True
shaderDefine ALPHA_MAP
uvMap alt_uv_coords.mhuv
This is another example, this time a real one. It is the X-ray material, used for example when showing the skeleton:
# Material definition for XrayMaterial
name XrayMaterial
ambientColor 0.1 0.1 0.1
diffuseColor 1.0 1.0 1.0
specularColor 0.3 0.3 0.3
shininess 0.1
emissiveColor 0.0 0.0 0.0
opacity 0.1
translucency 0.0
transparent True
backfaceCull True
shadeless False
wireframe False
depthless False
shader data/shaders/glsl/xray
shaderConfig diffuse False
shaderConfig transparency False
shaderConfig normal False
shaderConfig bump False
shaderConfig spec False
shaderConfig vertexColors False
shaderConfig displacement False
=== Explanation of material properties ===
==== Standard settings ====
''ambientColor'', ''diffuseColor'' ''specularColor'', ''emissiveColor'' are the standard colors
as used in the [https://en.wikipedia.org/wiki/Rendering_equation rendering equation]
or in standard OpenGL.
Their corresponding intensities are simple scalars with a value between 0 and 1 and are multiplied
with the colors to dim them. Default these intensities are set to 1.
Colors are described as three floating point numbers, representing R G B, or red-green-blue
values. 1 is the maximum, 0 the minimum.
For example 1.0 0 0 means fully red, 1 1 1 means full white, 0 0 0 is full black.
0.5 0.5 0.5 will give you a grey middle color.
''opacity'' determines the opaqueness of the object (alpha channel), with 1 being fully
opaque, and 0 being fully transparent (invisible)
''translucency'' is something that came from Blender but is unused
''shininess'' or specular hardness is a number between 0 and 1 determining the shininess constant of the [https://en.wikipedia.org/wiki/Phong_reflection_model phong shading model].
==== Texture maps ====
Various standard texture maps can be defined on the material, like ''diffuseTexture'', ''bumpmapTexture'', ''normalmapTexture'', ''displacementmapTexture'', ''specularmapTexture'', ''transparencymapTexture'', ''aomapTexture''. Each of these also has an associated intensity value, which is a scalar from 0 to 1 multiplied with the pixel value of that texture (unless a specific shader implements it differently).
These textures only have an effect if their corresponding shaderConfig feature has been defined (see the table in Shaders section).
==== Render states ====
When ''wireframe'' is set to True, the model is drawn in wireframe mode. In this mode,
most material properties have no effect, but you can enable the vertexColors shaderConfig
to be able to change the color of the mesh using vertex colors (this requires
access to the mesh programatically, obj meshes do not support vertex colors).
This feature is used in some parts of MakeHuman, for example viewing bone weights
in the skeleton debug plugin.
Set ''shadeless'' to True to disable shading, eg. the object is not affected by lights.
Configured shader will have no effect
Set ''transparent'' to True to enable transparency rendering (usually needed when opacity is < 1)
In itself this does not change the visual appearance of the model, but this setting
should be enabled if your texture contains (semi-) transparent parts. This setting
instructs the renderer to disable depth buffer writes (glDepthMask(false))
and enables alpha testing and blending so that transparent surfaces can overlap and to allow [https://www.opengl.org/wiki/Transparency_Sorting alpha blending].
''alphaToCoverage'' Applies when transparent is set to True (otherwise does nothing).
It requires that your GPU supports alpha to coverage (A2C) rendering. It enables
the A2C feature which provides face order-independent alpha rendering. This works
very well for complex transparent meshes, like hair. At the cost of a slightly
dithered look, it solves all the problems with face sorting that are usually
involved in rendering semi transparency.
(This feature disables anti-aliasing for this object because the multisample buffer is used for alpha blending instead)
Set ''backfaceCull'' to False to disable backface culling (render the back side of polygons)
By default, and in most cases, this should be set to True, but can be useful
in some cases (for example, we disable back-face culling for the eyebrow materials).
Set ''depthless'' to True for depthless rendering (object is not occluded and does not occlude other objects).
This disables OpenGL depth writes and tests. In practice, this makes object faces that should be occluded shine through others.
''castShadows'' determines whether the object casts shadows on other objects.
''receiveShadows'' determines whether the object receives shadows from other objects.
For some features, like eyes, you probably want to disable shadow receiving.
Since MakeHuman does not (yet) implement shadow casting, the shadow settings have
no effect in MakeHuman, but they do export to other engines.
Play around with these settings in the Material Editor plugin to see their effect, that's the best advise I can give you.
The best way to find out which settings work for an asset, is simply to try them out.
==== autoBlendSkin ====
If True MakeHuman will set the diffuse color based on the ethnix mix set for the character.
Any diffuseColor set in the material file will be overridden by this.
Also the shaderParam litsphereTexture will be automatically set to a dynamically blended litsphere texture,
which is a mix of three litsphere materials (afro, asian, caucasian) depending on the ethnic mix of the character.
This latter is specifically intended to be used with the litsphere shader, and it is what you see as default material when you start MakeHuman
This overrides whatever shaderParam litsphereTexture was set in the material file.
This setting is intended only for skin materials.
==== shaderParam ====
Define a custom shader parameter (uniform), which might be required for some non-standard shaders.
For example, the litsphere shader takes an extra type of texture map as input, a so-called litsphere texture.
This generic system of mapping shader uniforms allows you to create specialised shaders that take
new and different kind of inputs, and allow configuring the shader from the material file.
shaderParam can be a list of floating point numbers, in which case it will be interpreted as a vector,
or it can be a file path, in which case it is assumed to be an image path.
Internally in MakeHuman, shaderParams can also be assigned a texture object, which allows
for dynamically passing a texture that is in memory, but perhaps not stored on disk.
Another example of a custom shaderParam is the X-ray shader that defines an edgefalloff
and intensity uniform parameter.
These could be changed from the material file with
shaderParam edgefalloff 0.8
shaderParam intensity 0.77
==== shaderDefine ====
shaderDefines allow enabling or disabling custom shading techniques in shaders.
These allow to define new shading techniques, apart from the pre-defined ones
such as normal mapping, specularity mapping, ...
It's a generic system that allows new shaders to be added and configured from
the material file, or from the material editor (which nicely auto-detects these
features in the shader and shows a set of checkboxes for them).
==== uvMap ====
Load custom UV coordinates on the mesh to use this material. This makes the material
completely dependent on the mesh it is used with.
Takes a path to a .mhuv file, which is actually just an .obj file, where the vertex
positions can be deleted (they can remain in there, but they are ignored).
Requirement for it to work is that the vertex order is the same as that of the
mesh obj.
An example uv map for the basemesh can be found in data/uvs/a7.mhuv, which is a
set of UV coordinates compatible with the old Alpha 7 mesh, allowing you to load
A7 textures on the new basemesh used in MakeHuman v1+
==== SSS properties ====
These are the so-called sub-surface scattering shading properties, currently only used by the built-in offline renderer. They were decided on while trying to figure out the most generic way to define SSS shading properties, so that they could easily be translated into SSS properties for a different renderer (as no single renderer that I know of has a standard for these). It's uncertain whether the format we have landed on currently is the best, or whether this will remain permanently or is still likely to change.
This setting should currently be considered experimental.
The properties are ''sssEnabled'', ''sssRScale'', ''sssGScale'' and ''sssBScale''.
=== Basic pointers for creating materials ===
* You can test the influence of material properties using the Material Editor plugin (which you can enable in Settings > Plugins, then restart)
* Using a diffuse texture? You probably want to set the diffuse color to 1 1 1 (pure white)
* Never set ambient color too bright, or your model will look completely white. 0.1 0.1 0.1 is a good value to start from.
* Emissive is usually set to black, unless you want a radioactive character
* Don't know how to define a color in numbers? Try the Material Editor plugin
* Higher shininess means smaller and sharper highlight, lower shininess makes the highlight larger and more blurred
* Reduce specular color to reduce the specularity, make it black for a rough and non shiny object
* opacity 1 means fully opaque, 0 means fully transparent (invisible)
* Do your (diffuse) textures contain transparency? Do not forget to enable transparency! Perhaps try if alpha-to-coverage improves the situation (especially for hair!).
=== Scene definition ===
To complete the rendering equation, you also need to define the scene. To be
more precise, the positions, types, color and intensities of the lights need to
be set. By default, MakeHuman only has a default scene with only one pointlight.
In MakeHuman, lights do not move if the camera is moved, or rather, the model is
rotated while the camera and lights remain static. So light positions are defined
relative to the camera position.
MakeHuman scenes are defined in .mhscene files, which are binary py-pickled files.
They can be created or modified using the Scene Editor plugin (can be enabled in
settings) and can be selected from the Scene library in the Render tab.
Fixed function shading pipeline supports up to 8 lights, specific light support
depends on the shader used, some shaders only support a certain type or number
of lights, other ignore the chosen scene altogether (for example the litsphere
shader that uses pre-baked environment lighting).
The built-in offline renderer also uses the specified scene.
Scenes are not exported along with the model.
=== Shaders ===
The most powerful functionality of the material system is unlocked when using
shaders.
MakeHuman shaders are intended to be written in a modular way, so that shading
features can be enabled or disabled using the material format. Examples of such
features are bump mapping, normal mapping, specular mapping, diffuse texturing,
ambient occlusion and displacement mapping.
MakeHuman includes a basic introspection function that allows it to determine
what features a shader supports. It accomplishes this by looking for #ifdef and #ifndef statements. If a shader supports a certain technique, it is supposed to
encapsulate this in #ifdef NORMALMAP ... #else ... #endif statements.
The idea is that of an [http://www.gamedev.net/topic/659145-what-is-a-uber-shader/ über shader], where performance is optimized by removing any dynamic branches (if then that) from shader code, and instead managing the features using defines and pre-processor branches.
When a different branch in the shader is activated, the shader code is recompiled entirely.
Instead of having different shaders for different features (eg. a specific normalmap shader to be able to do normal mapping), one general shader could be used instead, and normal mapping can simply be enabled or disabled from the material properties, without being required to swap shaders (a good default uber shader is [http://bugtracker.makehumancommunity.org/issues/160 still to be created for MakeHuman] Any help with this is welcome of course!).
The material system manages these shading functions by defining specific pre-processor
keywords when their corresponding shaderConfig property is set to true.
Shaders are recompiled when needed and stored in a shader cache for efficiency.
MakeHuman passes scene and material information to the shaders by certain uniform
parameters. Depending on which shaderConfig properties were enabled, additional
uniforms could be exposed to the shader. The shader does not have to declare all
these uniforms, however. MakeHuman binds only those uniforms present in the shader
if they have the right corresponding names.
Other properties are available from the OpenGL built-in uniforms or properties
(usually starting with gl_).
The following table lists these defines and the shaderConfig properties in the
material they relate to:
{| class="wikitable"
|-
! feature name
! shaderConfig
! shader #DEFINE
! exposed uniform parameters if enabled
! comment
|-
|default (always enabled)
|
|
|vec3 ambient, vec4 diffuse, vec4 specular, vec3 emissive
|diffuse and specular are 4-component color values, diffuse=[rgba] with a=opacity and specular=[rgbs] with s=shininess
|-
|Vertex coloring
|vertexColors
|VERTEX_COLOR
|
|Derive diffuse color from vertex colors
|-
|Diffuse texturing
|diffuse
|DIFFUSE
|diffuseTexture
|
|-
|Bump mapping
|bump
|BUMPMAP
|bumpmapTexture, bumpmapIntensity
|disabled if normal mapping is enabled (restriction might be lifted in the future)
|-
|Normal mapping
|normal
|NORMALMAP
|normalmapTexture, normalmapIntensity
|
|-
|Displacement mapping
|displacement
|DISPLACEMENT
|displacementmapTexture, displacementmapIntensity
|
|-
|Specularity mapping
|spec
|SPECULARMAP
|specularmapTexture, specularmapIntensity
|
|-
|Transpareny (alpha) maps
|transparency
|TRANSPARENCYMAP
|transparencymapTexture, transparencymapIntensity
|
|-
|Ambient occlusion maps
|ambientOcclusion
|AOMAP
|aomapTexture, aomapIntensity
|
|}
Additionally, MakeHuman exposes the vertex tangent as a vertex property, which
can be accessed by the shader.
attribute vec4 tangent
Currently, [http://www.terathon.com/code/tangent.html Lengyel’s Method] for tangent calculation
is used, but plans are to change this to [http://bugtracker.makehumancommunity.org/issues/87 mikktspace] in the future.
Shader examples for MakeHuman can be found here:
* Litsphere shader: [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/litsphere_vertex_shader.txt vertex][https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/litsphere_fragment_shader.txt fragment]
* Phong shader: [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/phong_vertex_shader.txt vertex][https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/phong_fragment_shader.txt fragment]
* Normal map shader (wip): [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/normalmap_vertex_shader.txt vertex] [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/normalmap_fragment_shader.txt fragment]
* X-ray shader: [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/xray_vertex_shader.txt vertex][https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/xray_fragment_shader.txt fragment]
==== Custom shader properties ====
Shaders can use non-standard #DEFINEs to allow enabling or disabling non-standard shading features, other than the ones that were foreseen in the material format (such as normal mapping, ...)
To add new ones, simply add #ifdef SOME_FEATURE statements to your shader code, the material system will automatically detect them.
From the material, you can enable them with
shaderDefine SOME_FEATURE
If not defined, the feature is assumed to be switched off.
A custom shader can also add new parameters to tweak. For example a color value or intensity value that influences the shading.
To do this, the shader author can simply add new uniform variables to their shader code. It is recommended to specify a default
value for them, so that if the material file does not explicitly mention them, they receive a sensible default value.
Example: the X-ray shader adds an edge-fallof property:
uniform float edgefalloff = 1.0;
From the material file, you can influence this value with:
shaderParam edgefalloff 0.5
shaderParam supports lists of float values (one or multiple, divided by spaces), eg
shaderParam edgecolor 0.7 0.3 0.4
or textures, by specifying a path to an image file (in which case they are assumed to be Sampler2D type)
Additionally, from within MakeHuman, they can be passed a Texture object, to dynamically pass them a texture that resides in memory, without the need for the texture to be stored in a file on disk.
This allows to dynamically alter the texture and have it displayed directly. MakeHuman takes care of caching the texture and updating it when it is modified.
For example, the auto skin tone blending of the litsphere texture is implemented in this way.
The material system will automatically detect these custom uniform parameters declared in the shader, for example the material editor plugin will present them in the GUI.
These features make for a general and extensible shader system.
==== Dynamic shader configuration in Material Editor plugin ====
Take as example this screenshot, which shows how the X-Ray shader, mentioned earlier, can be configured.
[[File:Mh_material_editor.png]]
In the shader selector, xray was chosen. This opens up a few new options to configure.
Notice that on the top right the custom shader uniforms edgefalloff and intensity that we mentioned earlier were automatically detected. The shader author had to do nothing else than to define these uniform parameters in his shader code, and define a sensible default for them. A material using this shader can customize these properties using the shaderParam option, which can be altered visually in the top right of the material editor. Changes in the material editor take effect immediately, so you can directly preview your changes.
Also notice in the bottom left that the material editor shows the available shaderConfig parameters. Some of these are greyed out, which means they are not available, or the condition for them is not met (for example, to be able to enable normal mapping, you need to choose a normal map texture on the right panel. If the normal map property is greyed out on the right side, then this particular shader does not support normal mapping).
Let's take a look at a second example.
[[File:Mh_material_editor2.png]]
Here we see the litsphere shader. This shader is different from the other shaders in the sense that it completely ignores the lighting of the scene, and instead lights the model with a texture containing pre-baked lighting conditions, a so-called [http://www.cs.utah.edu/~wmartin/pubs/LitSphere.pdf litsphere] texture.
This shader, being so different, requires a different sort of input, a custom input texture: the litsphere texture.
The shader author simply defined this uniform parameter in his shader code, and as you can see in the top right corner, the material editor shows a texture selector for this property. Using it, the user can select a litsphere texture to feed to the shader.
The litsphere shader also has two different alternative techniques that can be enabled or disabled by the user.
These two features, which can be enabled using shaderDefine statements in the material file, are automatically detected by the material system, and shown in the bottom left of the material editor. Enabling them is as simple as checking the checkbox.
One of these custom shading features is alpha mapping (defined by ALPHA_MAP), which allows to sample alpha transparency from an additional texture.
For this texture, an additional uniform property, named alphaTexture was declared in the shader, but it was written down in a way that it is only declared if the ALPHA_MAP token is defined.
In the shader code:
#ifdef ALPHA_MAP
uniform sampler2D alphaTexture;
#endif
If you check the ALPHA_MAP_checkbox, you will notice that on the top right, an extra texture selector will appear.
These examples show how the material editor can help exploring the different settings that are available in shaders.
440ba5aa953d4bceb7631350c0e12e6a0e0888bd
595
594
2016-01-31T17:33:10Z
Duststorm
19
/* Example */
wikitext
text/x-wiki
== Vertex weights ==
With vertex weights we intend a weighted mapping of vertices of a mesh to a bone of a skeleton. The weight is a value between 0 and 1, the sum of these weights for each vertex should be normalized, which means they should sum to 1 (note: no euclidian distance, just simple addition of all weights). A weight map in MakeHuman is expressed as a bone name (becomes a bone index internally, using the index of the bone in a breadth-first list relative to skeleton structure), a vertex name and a floating point weight between 0 and 1. This weighted vertex to bone mapping is used for skinning (posing and animating, using vertex skinning, smooth skinning or linear blend skinning algorithm). For the skinning algorithm to work correctly it’s required that the weights are always normalized, otherwise you will see vertices move out of place disproportionally (though the weight loading code in MakeHuman ensures that this normalization always happens, so this is not a concern to the artist that defines the weights). The vertex weights can be exported to external tools as well using formats such as collada (DAE), FBX, Ogre3D meshes or MD5 quake meshes.
=== Vertex weights and skeletons ===
Vertex weights are defined for the default “master” skeleton or rig. They are defined in a json file with jsonw extension. They link each vertex of the basemesh including helpers to a named bone of this master rig, together with a certain weight.
The weights loader automatically removes doubles and normalizes the weights (so that they sum to 1). It also reports what the maximum number of bone weights per vertex is, additionally it allows compiling the weights to a reduced set with n number of bone weights, and automatically renormalizes those weights so they, again, sum to 1.
When loading weights, any vertex that receives no weighting is assigned to the root bone, as this is needed for skinning to prevent all those vertices jumping to the origin (0*pos == 0).
Alternative skeletons can define their own weights, by referencing a weights file just like the master rig, or they can choose to derive their weights from the master rig, through so called reference bone mappings. Skeletons will derive their weights from the master rig if they do not specify a weights file explicitly. Custom vertex weights in alternative rigs override those defined on the master rig, except in the case where a proxy defines its own vertex weights. See section Vertex weights for proxies for more details.
=== Reference bones for vertex weights and poses ===
Reference bones are defined on alternative rigs, they are a list of names of bones contained in the master rig. Every bone of an alternative rig can have such a list of reference bones. An alternative rig can also omit these references if it uses the same name as bones in the master rig, in which the mapping is implicit. Having a list of bone references always overrides the implicit mapping. Reference bone mappings are required for two purposes.
They are used for mapping poses defined on the master rig to other rigs. All poses are defined as BVH files that pose the master rig, so they reference only the bone names of the master rig. Poses are applied to all other rigs by using the reference bone mapping: all the rotations that the pose applies to the referenced bones are combined (in the order in which the references were specified -- note: rotations are NOT commutative) and are applied to the alternative rig bone.
Reference bone mappings can also be used for determining vertex weights of custom rigs. If the alternative rig does not explicitly define its own vertex weights, the mapping of reference bones is used to infere a set of bone weights for each bone: All the weights of the reference bones on the master rig (with the weights definition of the default/master rig) are combined and apply to the bone of the alternative rig. Doubles are merged, and weights renormalized. Any vertex that is not weighted will be assigned to the root bone. Watch for messages in the log to verify this.
=== Vertex weights for proxies ===
Generally proxies are mapped to basemesh geometry, that means either to the body or to helpers, or a combination of both (though this is unusual). Proxies derive their vertex weights from the vertices on the basemesh on which they are fitted. A proxy defines its fitting as a 3d offset from one or three vertices on the basemesh, allowing it to deform as the human deforms. This mapping is used to transfer the vertex weights from basemesh to proxy: a proxy vertex referencing three basemesh vertices gets the bone weights of those three vertices. Doubles are merged and the weights are normalized, so that the influence factors are averaged or smoothed. In this case the weights applied to proxies are always those defined on the skeleton: either the weights explicitly defined on the skeleton, or the weights obtained from remapping the master rig weights to this skeleton using the reference bone mapping mentioned in the previous sections. There is an exception to this, which is explained in the next paragraph.
A proxy can explicitly define its own vertex (to bone) weights. In this case it overrides the weights that would be obtained through the proxy mapping, and replaces them by its own custom definition of weights. These vertex weights are always defined to reference the bones of the master rig (default skeleton), so they need to be remapped to other skeletons using reference bone mapping. This also means that the custom weights of a proxy override any custom weights mapping that might be loaded with an alternative rig (but only for that proxy item). Custom proxy weights should be avoided if possible, but are in some cases required, eg. for properly rigging shoes which are rigidly fitted to feet, or an alternative topology which defines very accurate rigging on the face. The general advice for custom rigs is therefore to stay as close to the master rig as possible, reusing as much bones identically as possible, to achieve the best results for proxies with custom weights.
In case of custom weight, the mhclo file must contain a line to indicate the weight file to use, using the keyword “vertexboneweights_file”, with the syntax:
vertexboneweights_file filename.jsonw
== Targets and modifiers ==
MakeHuman applies targets on the human by means of modifiers. Such a modifier has a value (usually between [0, 1] or [-1, 1]) that determines the effect of it on the human mesh. A modifier can control one or more targets and in apply the mixed sum of them on the mesh. Some modifiers.
=== Organization of targets ===
To make sure targets are linked to the right modifier, or to make managing targets easier, a certain discipline has to be observed in managing them. Targets are ASCII files in the data/targets or data/custom folder (in program or user folder) with a file extension of .target.
The file name and folder targets are in implicitly determines their group name. A group is identified by a sequence of tags or tokens, which are taken from the file and folder name of each target, and which can be delimited by “-” symbols, to include multiple tokens in a single file or folder name. The lib/targets.py module takes care of loading all the names of the available targets and assembles them into groups. All targets with the same tokens end up in the same group. This allows easy querying and requesting of targets. The creator is pretty much free to decide what groups to create for their targets. By passing the name of the target group to a modifier, they can make sure that modifier controls the targets belonging to this group. It does not matter whether you use folders or - delimited file names for creating groups.
An example:
data/targets/cartoon/eyes-large.target is categorized in group (cartoon, eyes, large)
data/targets/cartoon-eyes-large.target is also categorized in group (cartoon, eyes, large)
Most simple modifiers work by specifying a group (for example cartoon-eyes) and a set of two tokens to append at the end, depending on the position of the modifier slider (eg. small, large which would allow controlling the targets cartoon-eyes-small and cartoon-eyes-large by moving the slider to the left or right).
=== Reserved group tokens ===
Some of the tokens in the file or foldername of targets are linked to values that variables of the human can have. Such variables are for example age, weight, muscle, gender.
This table lists all the reserved tokens, and the variables they belong to.
{| class="wikitable"
|-
! Reserved token (value)
! Variable
|-
| female,male
| gender
|-
| baby, child, young, old
| age
|-
| african, caucasian, asian
| race
|-
| minmuscle, averagemuscle, maxmuscle
| muscle
|-
| minweight, averageweight, maxweight
| weight
|-
| minheight, averageheight, maxheight
| height
|-
| mincup, averagecup, maxcup
| breastsize
|-
| minfirmness, averagefirmness, maxfirmness
| breastfirmness
|-
| uncommonproportions, regularproportions, idealproportions
| bodyproportion
|}
Note that it is not a good idea to use simply “max” or “min” as a reserved token name, because they need to be unique (otherwise it would not be possible to determine whether they are a minimum for, for example, weight or height). These reserved tokens are declared in the lib/targets.py module. The variable can be set and queried on the human object, for example human.getAge(), human.setMuscle(0.7), human.getProportion().
The reserved tokens are NOT included in the group name, so you should at least include some other, non-reserved tokens in the file or folder names to assign your target to some meaningful group. The inclusion of these reserved tokens in your target names or paths makes it convenient to create macro modifiers.
=== Macro targets and modifiers ===
Macro modifiers are modifiers whose effect (the combination of targets they apply on the human) is influenced by macro variables set on the human (eg. human.set/getAge()). Therefore, macro modifiers often control a large set of targets (20 or even more). It’s also common for multiple modifiers to control exactly the same set of targets, for example the standard age/gender/race sliders all control the set of targets in the ‘macrodetails’ group. Each slider modifies a different variable (eg. human.setAge()) controlling the set of targets, and then reapplies a combination of the same set of targets on the human.
=== Macro modifier dependencies ===
There are other macro modifiers that can also depend on the same variables age, gender, race that is controlled by the main macro modifiers, as discussed above. For example the macro modifiers that influence the weight and muscle mass of the human, controls the targets group “macrodetails-universal”, the universal token is added by prepending “universal-” to all the file names of related targets, which all reside in the folder “macrodetails” (thus macrodetails-universal ends up being the group name). They could have been included all in the “macrodetails” group, but are kept separate for performance reasons, so that the “macrodetails” group of targets (which already contains some 40 targets or so) can be applied in realtime while moving the slider.
Of course a change in the variable that these age/race/gender modifiers control will have an effect on the macrodetails-universal modifiers (because they control targets that depend on age -- their targets include -young- -old- etc. tokens in their filenames). This means there are inter-dependencies between macro modifiers, if one is updated, another one that depends on it should be refreshed. These dependencies can be descibed as follows: one macro modifier controls exactly one macro variable (such as age). It (or rather, the targets it controls) can however depend on multiple macro variables. The trivial case is where a macro modifier only depends on the macro variable that it controls itself. The tracking of these dependencies and deciding which modifiers must be updated when another is changed happens automatically. Dependencies are automatically tracked as soon as you add a modifier to the human (by calling modifier.setHuman(human)). To make this more performant in real-time, the propagation of updates to modifiers is limited while sliders are dragged (see realtimeDependencyUpdates in apps/humanmodifier.py).
As you might have understood, creating modifiers that depend on human variables is almost automatic. The only thing you need to do is create some targets that resolve to the same group name, add variations for all the macro variables you want and add the proper reserved tokens to the file or folder name (refer to the left column in the table above), and create a modifier with this group name. Once added to the human, the dependencies are tracked automatically.
=== Organization of modifiers ===
We already discussed how we organized targets in groups, to make it easier to connect them to a modifier. Now we will discuss how we can do a similar thing for modifiers.
Modifiers provide an easy way to manage targets. They allow reducing many of hundreds of targets to a more manageable number of controllable properties. But even then, we still have about 100 modifiers, which is still quite a lot. Therefore we group them in groups of categories, much like we do in the GUI. This makes it easy to get a grouped overview of all modifiers when using an alternative interface, think of commandline or scripting. The way in which you declare the group and other properties of a modifier determines what target groups it gets its targets from.
Modifiers are declared with a group name, some intermediary “target name” and a number of tail tokens (2 or 3 usually, eg min/max). The group of targets controlled by these modifiers is composed as: groupname-targets_name-tail.
Macro modifiers are declared with a group name, and a controlled variable. The groupname must be the same groupname of the targets they control.
=== Declarative modifiers ===
Instead of hard coding what modifiers you want to instantiate, MakeHuman offers a data-based format to declare what modifiers should be created, and how they should be shown in a user interface with sliders.
A full declaration requires three files, all stored in data/modifiers. The first is the declaration of the modifiers (eg. modeling_modifiers.json). This format lists a modifier group name, and all the modifiers with their macro variable (if they are macro modifiers) or target name and 2 or 3 (if they are a modifier with a center point) tail tokens.
The second file adds a description to the modifiers declared in the first file. It basically contains a key-value set, referencing the modifier name, and a textual description of what the modifier controls. A modifier name is constructed as follows: group/targets_name-all|the|tails and for a macro modifier: group/variable
The third file defines how these modifiers should be shown in the user interface as sliders. It lists a set of categories, and the sliders to show in them, and how their values have to be saved in a mhm file (mainly a feature for legacy compatibility).
=== Your own plugin with modifiers, sliders and targets ===
Using the declarative data format described in the section above, it’s really simple. Have a look at the plugin plugins/0_modeling_0_modifiers.py. Notice it’s barely 5 lines of code. Creating your own modeling plugin is as simple as that, pointing it to your own modifier data files.
=== Binary targets ===
Because loading these ASCII target files, and iterating all target files and folders can be slow (especially on windows) in build versions, we compile all targets in the data/targets system folder into a single binary file, that furthermore acts exactly the same as multiple target files. The binary targets file is stored in the system data/ folder and is called targets.npz, it is created by running the compile_targets.py script, which is also automatically run in the build_prepare.py build routine. The file structure of the targets files is maintained in this binary file so that targets can be loaded from it in the same way as you would do with regular files. A change in the .target files, or newly added target files allow a recompilation of the targets npz file before the change is applied.
== Material format==
=== Introduction ===
MakeHuman material files have extension .mhmat and are simple ASCII definitions
of the material settings to use for rendering.
These material settings are primarily intended for configuring the material
system within MakeHuman, but they are usually carried out to other software as
well by the exporters.
Not all properties will be supported for all given combinations of shaders, nor
is there a guarantee that the exporters will honor all the properties in these
files.
Every 3D object in MakeHuman has exactly one material attached to it (multiple
materials are not possible, you need separate objects for that). Materials are
used for proxy meshes (clothes, hairs, ...) but also for the skin of the human
itself.
=== The Material System ===
The MakeHuman material system is closely based on the [https://en.wikipedia.org/wiki/Rendering_equation standard rendering equation]
as is used in OpenGL and DirectX forward rendering pipelines. MakeHuman supports
shaders and the material format contains the most commonly used extensions in
real-time rendering. As a consequence of this, users need to be aware of the
implications of setting values such as ambient too bright, or diffuse too dark.
All usual rules about rendering materials apply.
At the highest level, the material supports setting the most basic material
properties, such as diffuse, specular and ambient color. These are supported
both by shaders as well as the fixed function shading pipeline (which is used
when no shader is specified). Fixed function also supports the diffuse texture
option.
At a second level, a shader can be chosen. This refers directly to the filename
of a [https://en.wikipedia.org/wiki/OpenGL_Shading_Language GLSL shader] as found in the data/shaders/glsl folder of MakeHuman.
The selected shader will determine what material options will be available.
At the third level, various additional settings become available, depending on whether or not the
chosen shader has support for these features, such as bump or normal mapping,
ambient occlusion, specular mapping, etc.
For most of these, a texture map and a scalar property between 0 and 1 can be
set, the latter determining the intensity or influence of the effect.
Finally, MakeHuman also contains a built-in offline renderer that supports some
additional properties such as subsurface scattering, for which some special
properties are available.
=== Example ===
This is a full and complete (but fictional) example of a material file for MakeHuman, it shows all the available properties.
# Example MakeHuman Material definition
name Material_name
tag some_tag
tag another_tag
description material description text here
ambientColor 0.11 0.11 0.11
diffuseColor 1.0 1.0 1.0
specularColor 0.0470588235294 0.0470588235294 0.0470588235294
shininess 0.96
emissiveColor 0.0 0.0 0.0
opacity 1.0
translucency 0.0
shadeless False
wireframe False
transparent True
alphaToCoverage True
backfaceCull False
depthless False
autoBlendSkin False
castShadows True
receiveShadows True
diffuseTexture diffuse_texture.png
bumpmapTexture bumpmap.png
bumpmapIntensity 1.0
normalmapTexture normalmap.png
normalmapIntensity 1.0
displacementmapTexture norm_displacement.png
displacementmapIntensity 1.0
specularmapTexture specular.png
specularmapIntensity 1.0
transparencymapTexture alpha.png
transparencymapIntensity 1.0
aomapTexture ambient_occlusion_map.png
aomapIntensity 1.0
# Sub-surface scattering parameters
sssEnabled True
sssRScale 5.0
sssGScale 2.5
sssBScale 1.0
shader shaders/glsl/litsphere
shaderParam litsphereTexture litspheres/lit_hair.png
shaderConfig ambientOcclusion True
shaderConfig normal False
shaderConfig bump True
shaderConfig displacement False
shaderConfig vertexColors True
shaderConfig spec True
shaderConfig transparency True
shaderConfig diffuse True
shaderDefine ALPHA_MAP
uvMap alt_uv_coords.mhuv
This is another example, this time a real one. It is the X-ray material, used for example when showing the skeleton:
# Material definition for XrayMaterial
name XrayMaterial
ambientColor 0.1 0.1 0.1
diffuseColor 1.0 1.0 1.0
specularColor 0.3 0.3 0.3
shininess 0.1
emissiveColor 0.0 0.0 0.0
opacity 0.1
translucency 0.0
transparent True
backfaceCull True
shadeless False
wireframe False
depthless False
shader data/shaders/glsl/xray
shaderConfig diffuse False
shaderConfig transparency False
shaderConfig normal False
shaderConfig bump False
shaderConfig spec False
shaderConfig vertexColors False
shaderConfig displacement False
=== Explanation of material properties ===
==== Standard settings ====
''ambientColor'', ''diffuseColor'' ''specularColor'', ''emissiveColor'' are the standard colors
as used in the [https://en.wikipedia.org/wiki/Rendering_equation rendering equation]
or in standard OpenGL.
Their corresponding intensities are simple scalars with a value between 0 and 1 and are multiplied
with the colors to dim them. Default these intensities are set to 1.
Colors are described as three floating point numbers, representing R G B, or red-green-blue
values. 1 is the maximum, 0 the minimum.
For example 1.0 0 0 means fully red, 1 1 1 means full white, 0 0 0 is full black.
0.5 0.5 0.5 will give you a grey middle color.
''opacity'' determines the opaqueness of the object (alpha channel), with 1 being fully
opaque, and 0 being fully transparent (invisible)
''translucency'' is something that came from Blender but is unused
''shininess'' or specular hardness is a number between 0 and 1 determining the shininess constant of the [https://en.wikipedia.org/wiki/Phong_reflection_model phong shading model].
==== Texture maps ====
Various standard texture maps can be defined on the material, like ''diffuseTexture'', ''bumpmapTexture'', ''normalmapTexture'', ''displacementmapTexture'', ''specularmapTexture'', ''transparencymapTexture'', ''aomapTexture''. Each of these also has an associated intensity value, which is a scalar from 0 to 1 multiplied with the pixel value of that texture (unless a specific shader implements it differently).
These textures only have an effect if their corresponding shaderConfig feature has been defined (see the table in Shaders section).
==== Render states ====
When ''wireframe'' is set to True, the model is drawn in wireframe mode. In this mode,
most material properties have no effect, but you can enable the vertexColors shaderConfig
to be able to change the color of the mesh using vertex colors (this requires
access to the mesh programatically, obj meshes do not support vertex colors).
This feature is used in some parts of MakeHuman, for example viewing bone weights
in the skeleton debug plugin.
Set ''shadeless'' to True to disable shading, eg. the object is not affected by lights.
Configured shader will have no effect
Set ''transparent'' to True to enable transparency rendering (usually needed when opacity is < 1)
In itself this does not change the visual appearance of the model, but this setting
should be enabled if your texture contains (semi-) transparent parts. This setting
instructs the renderer to disable depth buffer writes (glDepthMask(false))
and enables alpha testing and blending so that transparent surfaces can overlap and to allow [https://www.opengl.org/wiki/Transparency_Sorting alpha blending].
''alphaToCoverage'' Applies when transparent is set to True (otherwise does nothing).
It requires that your GPU supports alpha to coverage (A2C) rendering. It enables
the A2C feature which provides face order-independent alpha rendering. This works
very well for complex transparent meshes, like hair. At the cost of a slightly
dithered look, it solves all the problems with face sorting that are usually
involved in rendering semi transparency.
(This feature disables anti-aliasing for this object because the multisample buffer is used for alpha blending instead)
Set ''backfaceCull'' to False to disable backface culling (render the back side of polygons)
By default, and in most cases, this should be set to True, but can be useful
in some cases (for example, we disable back-face culling for the eyebrow materials).
Set ''depthless'' to True for depthless rendering (object is not occluded and does not occlude other objects).
This disables OpenGL depth writes and tests. In practice, this makes object faces that should be occluded shine through others.
''castShadows'' determines whether the object casts shadows on other objects.
''receiveShadows'' determines whether the object receives shadows from other objects.
For some features, like eyes, you probably want to disable shadow receiving.
Since MakeHuman does not (yet) implement shadow casting, the shadow settings have
no effect in MakeHuman, but they do export to other engines.
Play around with these settings in the Material Editor plugin to see their effect, that's the best advise I can give you.
The best way to find out which settings work for an asset, is simply to try them out.
==== autoBlendSkin ====
If True MakeHuman will set the diffuse color based on the ethnix mix set for the character.
Any diffuseColor set in the material file will be overridden by this.
Also the shaderParam litsphereTexture will be automatically set to a dynamically blended litsphere texture,
which is a mix of three litsphere materials (afro, asian, caucasian) depending on the ethnic mix of the character.
This latter is specifically intended to be used with the litsphere shader, and it is what you see as default material when you start MakeHuman
This overrides whatever shaderParam litsphereTexture was set in the material file.
This setting is intended only for skin materials.
==== shaderParam ====
Define a custom shader parameter (uniform), which might be required for some non-standard shaders.
For example, the litsphere shader takes an extra type of texture map as input, a so-called litsphere texture.
This generic system of mapping shader uniforms allows you to create specialised shaders that take
new and different kind of inputs, and allow configuring the shader from the material file.
shaderParam can be a list of floating point numbers, in which case it will be interpreted as a vector,
or it can be a file path, in which case it is assumed to be an image path.
Internally in MakeHuman, shaderParams can also be assigned a texture object, which allows
for dynamically passing a texture that is in memory, but perhaps not stored on disk.
Another example of a custom shaderParam is the X-ray shader that defines an edgefalloff
and intensity uniform parameter.
These could be changed from the material file with
shaderParam edgefalloff 0.8
shaderParam intensity 0.77
==== shaderDefine ====
shaderDefines allow enabling or disabling custom shading techniques in shaders.
These allow to define new shading techniques, apart from the pre-defined ones
such as normal mapping, specularity mapping, ...
It's a generic system that allows new shaders to be added and configured from
the material file, or from the material editor (which nicely auto-detects these
features in the shader and shows a set of checkboxes for them).
==== uvMap ====
Load custom UV coordinates on the mesh to use this material. This makes the material
completely dependent on the mesh it is used with.
Takes a path to a .mhuv file, which is actually just an .obj file, where the vertex
positions can be deleted (they can remain in there, but they are ignored).
Requirement for it to work is that the vertex order is the same as that of the
mesh obj.
An example uv map for the basemesh can be found in data/uvs/a7.mhuv, which is a
set of UV coordinates compatible with the old Alpha 7 mesh, allowing you to load
A7 textures on the new basemesh used in MakeHuman v1+
==== SSS properties ====
These are the so-called sub-surface scattering shading properties, currently only used by the built-in offline renderer. They were decided on while trying to figure out the most generic way to define SSS shading properties, so that they could easily be translated into SSS properties for a different renderer (as no single renderer that I know of has a standard for these). It's uncertain whether the format we have landed on currently is the best, or whether this will remain permanently or is still likely to change.
This setting should currently be considered experimental.
The properties are ''sssEnabled'', ''sssRScale'', ''sssGScale'' and ''sssBScale''.
=== Basic pointers for creating materials ===
* You can test the influence of material properties using the Material Editor plugin (which you can enable in Settings > Plugins, then restart)
* Using a diffuse texture? You probably want to set the diffuse color to 1 1 1 (pure white)
* Never set ambient color too bright, or your model will look completely white. 0.1 0.1 0.1 is a good value to start from.
* Emissive is usually set to black, unless you want a radioactive character
* Don't know how to define a color in numbers? Try the Material Editor plugin
* Higher shininess means smaller and sharper highlight, lower shininess makes the highlight larger and more blurred
* Reduce specular color to reduce the specularity, make it black for a rough and non shiny object
* opacity 1 means fully opaque, 0 means fully transparent (invisible)
* Do your (diffuse) textures contain transparency? Do not forget to enable transparency! Perhaps try if alpha-to-coverage improves the situation (especially for hair!).
=== Scene definition ===
To complete the rendering equation, you also need to define the scene. To be
more precise, the positions, types, color and intensities of the lights need to
be set. By default, MakeHuman only has a default scene with only one pointlight.
In MakeHuman, lights do not move if the camera is moved, or rather, the model is
rotated while the camera and lights remain static. So light positions are defined
relative to the camera position.
MakeHuman scenes are defined in .mhscene files, which are binary py-pickled files.
They can be created or modified using the Scene Editor plugin (can be enabled in
settings) and can be selected from the Scene library in the Render tab.
Fixed function shading pipeline supports up to 8 lights, specific light support
depends on the shader used, some shaders only support a certain type or number
of lights, other ignore the chosen scene altogether (for example the litsphere
shader that uses pre-baked environment lighting).
The built-in offline renderer also uses the specified scene.
Scenes are not exported along with the model.
=== Shaders ===
The most powerful functionality of the material system is unlocked when using
shaders.
MakeHuman shaders are intended to be written in a modular way, so that shading
features can be enabled or disabled using the material format. Examples of such
features are bump mapping, normal mapping, specular mapping, diffuse texturing,
ambient occlusion and displacement mapping.
MakeHuman includes a basic introspection function that allows it to determine
what features a shader supports. It accomplishes this by looking for #ifdef and #ifndef statements. If a shader supports a certain technique, it is supposed to
encapsulate this in #ifdef NORMALMAP ... #else ... #endif statements.
The idea is that of an [http://www.gamedev.net/topic/659145-what-is-a-uber-shader/ über shader], where performance is optimized by removing any dynamic branches (if then that) from shader code, and instead managing the features using defines and pre-processor branches.
When a different branch in the shader is activated, the shader code is recompiled entirely.
Instead of having different shaders for different features (eg. a specific normalmap shader to be able to do normal mapping), one general shader could be used instead, and normal mapping can simply be enabled or disabled from the material properties, without being required to swap shaders (a good default uber shader is [http://bugtracker.makehumancommunity.org/issues/160 still to be created for MakeHuman] Any help with this is welcome of course!).
The material system manages these shading functions by defining specific pre-processor
keywords when their corresponding shaderConfig property is set to true.
Shaders are recompiled when needed and stored in a shader cache for efficiency.
MakeHuman passes scene and material information to the shaders by certain uniform
parameters. Depending on which shaderConfig properties were enabled, additional
uniforms could be exposed to the shader. The shader does not have to declare all
these uniforms, however. MakeHuman binds only those uniforms present in the shader
if they have the right corresponding names.
Other properties are available from the OpenGL built-in uniforms or properties
(usually starting with gl_).
The following table lists these defines and the shaderConfig properties in the
material they relate to:
{| class="wikitable"
|-
! feature name
! shaderConfig
! shader #DEFINE
! exposed uniform parameters if enabled
! comment
|-
|default (always enabled)
|
|
|vec3 ambient, vec4 diffuse, vec4 specular, vec3 emissive
|diffuse and specular are 4-component color values, diffuse=[rgba] with a=opacity and specular=[rgbs] with s=shininess
|-
|Vertex coloring
|vertexColors
|VERTEX_COLOR
|
|Derive diffuse color from vertex colors
|-
|Diffuse texturing
|diffuse
|DIFFUSE
|diffuseTexture
|
|-
|Bump mapping
|bump
|BUMPMAP
|bumpmapTexture, bumpmapIntensity
|disabled if normal mapping is enabled (restriction might be lifted in the future)
|-
|Normal mapping
|normal
|NORMALMAP
|normalmapTexture, normalmapIntensity
|
|-
|Displacement mapping
|displacement
|DISPLACEMENT
|displacementmapTexture, displacementmapIntensity
|
|-
|Specularity mapping
|spec
|SPECULARMAP
|specularmapTexture, specularmapIntensity
|
|-
|Transpareny (alpha) maps
|transparency
|TRANSPARENCYMAP
|transparencymapTexture, transparencymapIntensity
|
|-
|Ambient occlusion maps
|ambientOcclusion
|AOMAP
|aomapTexture, aomapIntensity
|
|}
Additionally, MakeHuman exposes the vertex tangent as a vertex property, which
can be accessed by the shader.
attribute vec4 tangent
Currently, [http://www.terathon.com/code/tangent.html Lengyel’s Method] for tangent calculation
is used, but plans are to change this to [http://bugtracker.makehumancommunity.org/issues/87 mikktspace] in the future.
Shader examples for MakeHuman can be found here:
* Litsphere shader: [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/litsphere_vertex_shader.txt vertex][https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/litsphere_fragment_shader.txt fragment]
* Phong shader: [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/phong_vertex_shader.txt vertex][https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/phong_fragment_shader.txt fragment]
* Normal map shader (wip): [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/normalmap_vertex_shader.txt vertex] [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/normalmap_fragment_shader.txt fragment]
* X-ray shader: [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/xray_vertex_shader.txt vertex][https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/xray_fragment_shader.txt fragment]
==== Custom shader properties ====
Shaders can use non-standard #DEFINEs to allow enabling or disabling non-standard shading features, other than the ones that were foreseen in the material format (such as normal mapping, ...)
To add new ones, simply add #ifdef SOME_FEATURE statements to your shader code, the material system will automatically detect them.
From the material, you can enable them with
shaderDefine SOME_FEATURE
If not defined, the feature is assumed to be switched off.
A custom shader can also add new parameters to tweak. For example a color value or intensity value that influences the shading.
To do this, the shader author can simply add new uniform variables to their shader code. It is recommended to specify a default
value for them, so that if the material file does not explicitly mention them, they receive a sensible default value.
Example: the X-ray shader adds an edge-fallof property:
uniform float edgefalloff = 1.0;
From the material file, you can influence this value with:
shaderParam edgefalloff 0.5
shaderParam supports lists of float values (one or multiple, divided by spaces), eg
shaderParam edgecolor 0.7 0.3 0.4
or textures, by specifying a path to an image file (in which case they are assumed to be Sampler2D type)
Additionally, from within MakeHuman, they can be passed a Texture object, to dynamically pass them a texture that resides in memory, without the need for the texture to be stored in a file on disk.
This allows to dynamically alter the texture and have it displayed directly. MakeHuman takes care of caching the texture and updating it when it is modified.
For example, the auto skin tone blending of the litsphere texture is implemented in this way.
The material system will automatically detect these custom uniform parameters declared in the shader, for example the material editor plugin will present them in the GUI.
These features make for a general and extensible shader system.
==== Dynamic shader configuration in Material Editor plugin ====
Take as example this screenshot, which shows how the X-Ray shader, mentioned earlier, can be configured.
[[File:Mh_material_editor.png]]
In the shader selector, xray was chosen. This opens up a few new options to configure.
Notice that on the top right the custom shader uniforms edgefalloff and intensity that we mentioned earlier were automatically detected. The shader author had to do nothing else than to define these uniform parameters in his shader code, and define a sensible default for them. A material using this shader can customize these properties using the shaderParam option, which can be altered visually in the top right of the material editor. Changes in the material editor take effect immediately, so you can directly preview your changes.
Also notice in the bottom left that the material editor shows the available shaderConfig parameters. Some of these are greyed out, which means they are not available, or the condition for them is not met (for example, to be able to enable normal mapping, you need to choose a normal map texture on the right panel. If the normal map property is greyed out on the right side, then this particular shader does not support normal mapping).
Let's take a look at a second example.
[[File:Mh_material_editor2.png]]
Here we see the litsphere shader. This shader is different from the other shaders in the sense that it completely ignores the lighting of the scene, and instead lights the model with a texture containing pre-baked lighting conditions, a so-called [http://www.cs.utah.edu/~wmartin/pubs/LitSphere.pdf litsphere] texture.
This shader, being so different, requires a different sort of input, a custom input texture: the litsphere texture.
The shader author simply defined this uniform parameter in his shader code, and as you can see in the top right corner, the material editor shows a texture selector for this property. Using it, the user can select a litsphere texture to feed to the shader.
The litsphere shader also has two different alternative techniques that can be enabled or disabled by the user.
These two features, which can be enabled using shaderDefine statements in the material file, are automatically detected by the material system, and shown in the bottom left of the material editor. Enabling them is as simple as checking the checkbox.
One of these custom shading features is alpha mapping (defined by ALPHA_MAP), which allows to sample alpha transparency from an additional texture.
For this texture, an additional uniform property, named alphaTexture was declared in the shader, but it was written down in a way that it is only declared if the ALPHA_MAP token is defined.
In the shader code:
#ifdef ALPHA_MAP
uniform sampler2D alphaTexture;
#endif
If you check the ALPHA_MAP_checkbox, you will notice that on the top right, an extra texture selector will appear.
These examples show how the material editor can help exploring the different settings that are available in shaders.
7f4f84ee4e490c61ec011da5e65d02aeb47f10cc
594
593
2016-01-28T09:25:47Z
Duststorm
19
/* Standard settings */
wikitext
text/x-wiki
== Vertex weights ==
With vertex weights we intend a weighted mapping of vertices of a mesh to a bone of a skeleton. The weight is a value between 0 and 1, the sum of these weights for each vertex should be normalized, which means they should sum to 1 (note: no euclidian distance, just simple addition of all weights). A weight map in MakeHuman is expressed as a bone name (becomes a bone index internally, using the index of the bone in a breadth-first list relative to skeleton structure), a vertex name and a floating point weight between 0 and 1. This weighted vertex to bone mapping is used for skinning (posing and animating, using vertex skinning, smooth skinning or linear blend skinning algorithm). For the skinning algorithm to work correctly it’s required that the weights are always normalized, otherwise you will see vertices move out of place disproportionally (though the weight loading code in MakeHuman ensures that this normalization always happens, so this is not a concern to the artist that defines the weights). The vertex weights can be exported to external tools as well using formats such as collada (DAE), FBX, Ogre3D meshes or MD5 quake meshes.
=== Vertex weights and skeletons ===
Vertex weights are defined for the default “master” skeleton or rig. They are defined in a json file with jsonw extension. They link each vertex of the basemesh including helpers to a named bone of this master rig, together with a certain weight.
The weights loader automatically removes doubles and normalizes the weights (so that they sum to 1). It also reports what the maximum number of bone weights per vertex is, additionally it allows compiling the weights to a reduced set with n number of bone weights, and automatically renormalizes those weights so they, again, sum to 1.
When loading weights, any vertex that receives no weighting is assigned to the root bone, as this is needed for skinning to prevent all those vertices jumping to the origin (0*pos == 0).
Alternative skeletons can define their own weights, by referencing a weights file just like the master rig, or they can choose to derive their weights from the master rig, through so called reference bone mappings. Skeletons will derive their weights from the master rig if they do not specify a weights file explicitly. Custom vertex weights in alternative rigs override those defined on the master rig, except in the case where a proxy defines its own vertex weights. See section Vertex weights for proxies for more details.
=== Reference bones for vertex weights and poses ===
Reference bones are defined on alternative rigs, they are a list of names of bones contained in the master rig. Every bone of an alternative rig can have such a list of reference bones. An alternative rig can also omit these references if it uses the same name as bones in the master rig, in which the mapping is implicit. Having a list of bone references always overrides the implicit mapping. Reference bone mappings are required for two purposes.
They are used for mapping poses defined on the master rig to other rigs. All poses are defined as BVH files that pose the master rig, so they reference only the bone names of the master rig. Poses are applied to all other rigs by using the reference bone mapping: all the rotations that the pose applies to the referenced bones are combined (in the order in which the references were specified -- note: rotations are NOT commutative) and are applied to the alternative rig bone.
Reference bone mappings can also be used for determining vertex weights of custom rigs. If the alternative rig does not explicitly define its own vertex weights, the mapping of reference bones is used to infere a set of bone weights for each bone: All the weights of the reference bones on the master rig (with the weights definition of the default/master rig) are combined and apply to the bone of the alternative rig. Doubles are merged, and weights renormalized. Any vertex that is not weighted will be assigned to the root bone. Watch for messages in the log to verify this.
=== Vertex weights for proxies ===
Generally proxies are mapped to basemesh geometry, that means either to the body or to helpers, or a combination of both (though this is unusual). Proxies derive their vertex weights from the vertices on the basemesh on which they are fitted. A proxy defines its fitting as a 3d offset from one or three vertices on the basemesh, allowing it to deform as the human deforms. This mapping is used to transfer the vertex weights from basemesh to proxy: a proxy vertex referencing three basemesh vertices gets the bone weights of those three vertices. Doubles are merged and the weights are normalized, so that the influence factors are averaged or smoothed. In this case the weights applied to proxies are always those defined on the skeleton: either the weights explicitly defined on the skeleton, or the weights obtained from remapping the master rig weights to this skeleton using the reference bone mapping mentioned in the previous sections. There is an exception to this, which is explained in the next paragraph.
A proxy can explicitly define its own vertex (to bone) weights. In this case it overrides the weights that would be obtained through the proxy mapping, and replaces them by its own custom definition of weights. These vertex weights are always defined to reference the bones of the master rig (default skeleton), so they need to be remapped to other skeletons using reference bone mapping. This also means that the custom weights of a proxy override any custom weights mapping that might be loaded with an alternative rig (but only for that proxy item). Custom proxy weights should be avoided if possible, but are in some cases required, eg. for properly rigging shoes which are rigidly fitted to feet, or an alternative topology which defines very accurate rigging on the face. The general advice for custom rigs is therefore to stay as close to the master rig as possible, reusing as much bones identically as possible, to achieve the best results for proxies with custom weights.
In case of custom weight, the mhclo file must contain a line to indicate the weight file to use, using the keyword “vertexboneweights_file”, with the syntax:
vertexboneweights_file filename.jsonw
== Targets and modifiers ==
MakeHuman applies targets on the human by means of modifiers. Such a modifier has a value (usually between [0, 1] or [-1, 1]) that determines the effect of it on the human mesh. A modifier can control one or more targets and in apply the mixed sum of them on the mesh. Some modifiers.
=== Organization of targets ===
To make sure targets are linked to the right modifier, or to make managing targets easier, a certain discipline has to be observed in managing them. Targets are ASCII files in the data/targets or data/custom folder (in program or user folder) with a file extension of .target.
The file name and folder targets are in implicitly determines their group name. A group is identified by a sequence of tags or tokens, which are taken from the file and folder name of each target, and which can be delimited by “-” symbols, to include multiple tokens in a single file or folder name. The lib/targets.py module takes care of loading all the names of the available targets and assembles them into groups. All targets with the same tokens end up in the same group. This allows easy querying and requesting of targets. The creator is pretty much free to decide what groups to create for their targets. By passing the name of the target group to a modifier, they can make sure that modifier controls the targets belonging to this group. It does not matter whether you use folders or - delimited file names for creating groups.
An example:
data/targets/cartoon/eyes-large.target is categorized in group (cartoon, eyes, large)
data/targets/cartoon-eyes-large.target is also categorized in group (cartoon, eyes, large)
Most simple modifiers work by specifying a group (for example cartoon-eyes) and a set of two tokens to append at the end, depending on the position of the modifier slider (eg. small, large which would allow controlling the targets cartoon-eyes-small and cartoon-eyes-large by moving the slider to the left or right).
=== Reserved group tokens ===
Some of the tokens in the file or foldername of targets are linked to values that variables of the human can have. Such variables are for example age, weight, muscle, gender.
This table lists all the reserved tokens, and the variables they belong to.
{| class="wikitable"
|-
! Reserved token (value)
! Variable
|-
| female,male
| gender
|-
| baby, child, young, old
| age
|-
| african, caucasian, asian
| race
|-
| minmuscle, averagemuscle, maxmuscle
| muscle
|-
| minweight, averageweight, maxweight
| weight
|-
| minheight, averageheight, maxheight
| height
|-
| mincup, averagecup, maxcup
| breastsize
|-
| minfirmness, averagefirmness, maxfirmness
| breastfirmness
|-
| uncommonproportions, regularproportions, idealproportions
| bodyproportion
|}
Note that it is not a good idea to use simply “max” or “min” as a reserved token name, because they need to be unique (otherwise it would not be possible to determine whether they are a minimum for, for example, weight or height). These reserved tokens are declared in the lib/targets.py module. The variable can be set and queried on the human object, for example human.getAge(), human.setMuscle(0.7), human.getProportion().
The reserved tokens are NOT included in the group name, so you should at least include some other, non-reserved tokens in the file or folder names to assign your target to some meaningful group. The inclusion of these reserved tokens in your target names or paths makes it convenient to create macro modifiers.
=== Macro targets and modifiers ===
Macro modifiers are modifiers whose effect (the combination of targets they apply on the human) is influenced by macro variables set on the human (eg. human.set/getAge()). Therefore, macro modifiers often control a large set of targets (20 or even more). It’s also common for multiple modifiers to control exactly the same set of targets, for example the standard age/gender/race sliders all control the set of targets in the ‘macrodetails’ group. Each slider modifies a different variable (eg. human.setAge()) controlling the set of targets, and then reapplies a combination of the same set of targets on the human.
=== Macro modifier dependencies ===
There are other macro modifiers that can also depend on the same variables age, gender, race that is controlled by the main macro modifiers, as discussed above. For example the macro modifiers that influence the weight and muscle mass of the human, controls the targets group “macrodetails-universal”, the universal token is added by prepending “universal-” to all the file names of related targets, which all reside in the folder “macrodetails” (thus macrodetails-universal ends up being the group name). They could have been included all in the “macrodetails” group, but are kept separate for performance reasons, so that the “macrodetails” group of targets (which already contains some 40 targets or so) can be applied in realtime while moving the slider.
Of course a change in the variable that these age/race/gender modifiers control will have an effect on the macrodetails-universal modifiers (because they control targets that depend on age -- their targets include -young- -old- etc. tokens in their filenames). This means there are inter-dependencies between macro modifiers, if one is updated, another one that depends on it should be refreshed. These dependencies can be descibed as follows: one macro modifier controls exactly one macro variable (such as age). It (or rather, the targets it controls) can however depend on multiple macro variables. The trivial case is where a macro modifier only depends on the macro variable that it controls itself. The tracking of these dependencies and deciding which modifiers must be updated when another is changed happens automatically. Dependencies are automatically tracked as soon as you add a modifier to the human (by calling modifier.setHuman(human)). To make this more performant in real-time, the propagation of updates to modifiers is limited while sliders are dragged (see realtimeDependencyUpdates in apps/humanmodifier.py).
As you might have understood, creating modifiers that depend on human variables is almost automatic. The only thing you need to do is create some targets that resolve to the same group name, add variations for all the macro variables you want and add the proper reserved tokens to the file or folder name (refer to the left column in the table above), and create a modifier with this group name. Once added to the human, the dependencies are tracked automatically.
=== Organization of modifiers ===
We already discussed how we organized targets in groups, to make it easier to connect them to a modifier. Now we will discuss how we can do a similar thing for modifiers.
Modifiers provide an easy way to manage targets. They allow reducing many of hundreds of targets to a more manageable number of controllable properties. But even then, we still have about 100 modifiers, which is still quite a lot. Therefore we group them in groups of categories, much like we do in the GUI. This makes it easy to get a grouped overview of all modifiers when using an alternative interface, think of commandline or scripting. The way in which you declare the group and other properties of a modifier determines what target groups it gets its targets from.
Modifiers are declared with a group name, some intermediary “target name” and a number of tail tokens (2 or 3 usually, eg min/max). The group of targets controlled by these modifiers is composed as: groupname-targets_name-tail.
Macro modifiers are declared with a group name, and a controlled variable. The groupname must be the same groupname of the targets they control.
=== Declarative modifiers ===
Instead of hard coding what modifiers you want to instantiate, MakeHuman offers a data-based format to declare what modifiers should be created, and how they should be shown in a user interface with sliders.
A full declaration requires three files, all stored in data/modifiers. The first is the declaration of the modifiers (eg. modeling_modifiers.json). This format lists a modifier group name, and all the modifiers with their macro variable (if they are macro modifiers) or target name and 2 or 3 (if they are a modifier with a center point) tail tokens.
The second file adds a description to the modifiers declared in the first file. It basically contains a key-value set, referencing the modifier name, and a textual description of what the modifier controls. A modifier name is constructed as follows: group/targets_name-all|the|tails and for a macro modifier: group/variable
The third file defines how these modifiers should be shown in the user interface as sliders. It lists a set of categories, and the sliders to show in them, and how their values have to be saved in a mhm file (mainly a feature for legacy compatibility).
=== Your own plugin with modifiers, sliders and targets ===
Using the declarative data format described in the section above, it’s really simple. Have a look at the plugin plugins/0_modeling_0_modifiers.py. Notice it’s barely 5 lines of code. Creating your own modeling plugin is as simple as that, pointing it to your own modifier data files.
=== Binary targets ===
Because loading these ASCII target files, and iterating all target files and folders can be slow (especially on windows) in build versions, we compile all targets in the data/targets system folder into a single binary file, that furthermore acts exactly the same as multiple target files. The binary targets file is stored in the system data/ folder and is called targets.npz, it is created by running the compile_targets.py script, which is also automatically run in the build_prepare.py build routine. The file structure of the targets files is maintained in this binary file so that targets can be loaded from it in the same way as you would do with regular files. A change in the .target files, or newly added target files allow a recompilation of the targets npz file before the change is applied.
== Material format==
=== Introduction ===
MakeHuman material files have extension .mhmat and are simple ASCII definitions
of the material settings to use for rendering.
These material settings are primarily intended for configuring the material
system within MakeHuman, but they are usually carried out to other software as
well by the exporters.
Not all properties will be supported for all given combinations of shaders, nor
is there a guarantee that the exporters will honor all the properties in these
files.
Every 3D object in MakeHuman has exactly one material attached to it (multiple
materials are not possible, you need separate objects for that). Materials are
used for proxy meshes (clothes, hairs, ...) but also for the skin of the human
itself.
=== The Material System ===
The MakeHuman material system is closely based on the [https://en.wikipedia.org/wiki/Rendering_equation standard rendering equation]
as is used in OpenGL and DirectX forward rendering pipelines. MakeHuman supports
shaders and the material format contains the most commonly used extensions in
real-time rendering. As a consequence of this, users need to be aware of the
implications of setting values such as ambient too bright, or diffuse too dark.
All usual rules about rendering materials apply.
At the highest level, the material supports setting the most basic material
properties, such as diffuse, specular and ambient color. These are supported
both by shaders as well as the fixed function shading pipeline (which is used
when no shader is specified). Fixed function also supports the diffuse texture
option.
At a second level, a shader can be chosen. This refers directly to the filename
of a [https://en.wikipedia.org/wiki/OpenGL_Shading_Language GLSL shader] as found in the data/shaders/glsl folder of MakeHuman.
The selected shader will determine what material options will be available.
At the third level, various additional settings become available, depending on whether or not the
chosen shader has support for these features, such as bump or normal mapping,
ambient occlusion, specular mapping, etc.
For most of these, a texture map and a scalar property between 0 and 1 can be
set, the latter determining the intensity or influence of the effect.
Finally, MakeHuman also contains a built-in offline renderer that supports some
additional properties such as subsurface scattering, for which some special
properties are available.
=== Example ===
This is a full and complete (but fictional) example of a material file for MakeHuman, it shows all the available properties.
# Example MakeHuman Material definition
name Material_name
tag some_tag
tag another_tag
description material description text here
ambientColor 0.11 0.11 0.11
diffuseColor 1.0 1.0 1.0
specularColor 0.0470588235294 0.0470588235294 0.0470588235294
shininess 0.96
emissiveColor 0.0 0.0 0.0
opacity 1.0
translucency 0.0
shadeless False
wireframe False
transparent True
alphaToCoverage True
backfaceCull False
depthless False
autoBlendSkin False
castShadows True
receiveShadows True
diffuseTexture diffuse_texture.png
bumpmapTexture bumpmap.png
bumpmapIntensity 1.0
normalmapTexture normalmap.png
normalmapIntensity 1.0
displacementmapTexture norm_displacement.png
displacementmapIntensity 1.0
specularmapTexture specular.png
specularmapIntensity 1.0
transparencymapTexture alpha.png
transparencymapIntensity 1.0
aomapTexture ambient_occlusion_map.png
aomapIntensity 1.0
# Sub-surface scattering parameters
sssEnabled True
sssRScale 5.0
sssGScale 2.5
sssBScale 1.0
shader shaders/glsl/litsphere
shaderParam litsphereTexture litspheres/lit_hair.png
shaderConfig ambientOcclusion True
shaderConfig normal False
shaderConfig bump True
shaderConfig displacement False
shaderConfig vertexColors True
shaderConfig spec True
shaderConfig transparency True
shaderConfig diffuse True
shaderDefine ALPHA_MAP
uvMap alt_uv_coords.mhuv
This is another example, this time a real one. It is the X-ray material, used for example when showing the skeleton:
# Material definition for XrayMaterial
name XrayMaterial
ambientColor 0.1 0.1 0.1
diffuseColor 1.0 1.0 1.0
specularColor 0.3 0.3 0.3
shininess 0.1
emissiveColor 0.0 0.0 0.0
opacity 0.1
translucency 0.0
transparent True
backfaceCull True
shadeless False
wireframe False
depthless False
shader data/shaders/glsl/xray
shaderConfig diffuse False
shaderConfig transparency False
shaderConfig normal False
shaderConfig bump False
shaderConfig spec False
shaderConfig vertexColors False
shaderConfig displacement False
=== Explanation of material properties ===
==== Standard settings ====
''ambientColor'', ''diffuseColor'' ''specularColor'', ''emissiveColor'' are the standard colors
as used in the [https://en.wikipedia.org/wiki/Rendering_equation rendering equation]
or in standard OpenGL.
Their corresponding intensities are simple scalars with a value between 0 and 1 and are multiplied
with the colors to dim them. Default these intensities are set to 1.
Colors are described as three floating point numbers, representing R G B, or red-green-blue
values. 1 is the maximum, 0 the minimum.
For example 1.0 0 0 means fully red, 1 1 1 means full white, 0 0 0 is full black.
0.5 0.5 0.5 will give you a grey middle color.
''opacity'' determines the opaqueness of the object (alpha channel), with 1 being fully
opaque, and 0 being fully transparent (invisible)
''translucency'' is something that came from Blender but is unused
''shininess'' or specular hardness is a number between 0 and 1 determining the shininess constant of the [https://en.wikipedia.org/wiki/Phong_reflection_model phong shading model].
==== Texture maps ====
Various standard texture maps can be defined on the material, like ''diffuseTexture'', ''bumpmapTexture'', ''normalmapTexture'', ''displacementmapTexture'', ''specularmapTexture'', ''transparencymapTexture'', ''aomapTexture''. Each of these also has an associated intensity value, which is a scalar from 0 to 1 multiplied with the pixel value of that texture (unless a specific shader implements it differently).
These textures only have an effect if their corresponding shaderConfig feature has been defined (see the table in Shaders section).
==== Render states ====
When ''wireframe'' is set to True, the model is drawn in wireframe mode. In this mode,
most material properties have no effect, but you can enable the vertexColors shaderConfig
to be able to change the color of the mesh using vertex colors (this requires
access to the mesh programatically, obj meshes do not support vertex colors).
This feature is used in some parts of MakeHuman, for example viewing bone weights
in the skeleton debug plugin.
Set ''shadeless'' to True to disable shading, eg. the object is not affected by lights.
Configured shader will have no effect
Set ''transparent'' to True to enable transparency rendering (usually needed when opacity is < 1)
In itself this does not change the visual appearance of the model, but this setting
should be enabled if your texture contains (semi-) transparent parts. This setting
instructs the renderer to disable depth buffer writes (glDepthMask(false))
and enables alpha testing and blending so that transparent surfaces can overlap and to allow [https://www.opengl.org/wiki/Transparency_Sorting alpha blending].
''alphaToCoverage'' Applies when transparent is set to True (otherwise does nothing).
It requires that your GPU supports alpha to coverage (A2C) rendering. It enables
the A2C feature which provides face order-independent alpha rendering. This works
very well for complex transparent meshes, like hair. At the cost of a slightly
dithered look, it solves all the problems with face sorting that are usually
involved in rendering semi transparency.
(This feature disables anti-aliasing for this object because the multisample buffer is used for alpha blending instead)
Set ''backfaceCull'' to False to disable backface culling (render the back side of polygons)
By default, and in most cases, this should be set to True, but can be useful
in some cases (for example, we disable back-face culling for the eyebrow materials).
Set ''depthless'' to True for depthless rendering (object is not occluded and does not occlude other objects).
This disables OpenGL depth writes and tests. In practice, this makes object faces that should be occluded shine through others.
''castShadows'' determines whether the object casts shadows on other objects.
''receiveShadows'' determines whether the object receives shadows from other objects.
For some features, like eyes, you probably want to disable shadow receiving.
Since MakeHuman does not (yet) implement shadow casting, the shadow settings have
no effect in MakeHuman, but they do export to other engines.
Play around with these settings in the Material Editor plugin to see their effect, that's the best advise I can give you.
The best way to find out which settings work for an asset, is simply to try them out.
==== autoBlendSkin ====
If True MakeHuman will set the diffuse color based on the ethnix mix set for the character.
Any diffuseColor set in the material file will be overridden by this.
Also the shaderParam litsphereTexture will be automatically set to a dynamically blended litsphere texture,
which is a mix of three litsphere materials (afro, asian, caucasian) depending on the ethnic mix of the character.
This latter is specifically intended to be used with the litsphere shader, and it is what you see as default material when you start MakeHuman
This overrides whatever shaderParam litsphereTexture was set in the material file.
This setting is intended only for skin materials.
==== shaderParam ====
Define a custom shader parameter (uniform), which might be required for some non-standard shaders.
For example, the litsphere shader takes an extra type of texture map as input, a so-called litsphere texture.
This generic system of mapping shader uniforms allows you to create specialised shaders that take
new and different kind of inputs, and allow configuring the shader from the material file.
shaderParam can be a list of floating point numbers, in which case it will be interpreted as a vector,
or it can be a file path, in which case it is assumed to be an image path.
Internally in MakeHuman, shaderParams can also be assigned a texture object, which allows
for dynamically passing a texture that is in memory, but perhaps not stored on disk.
Another example of a custom shaderParam is the X-ray shader that defines an edgefalloff
and intensity uniform parameter.
These could be changed from the material file with
shaderParam edgefalloff 0.8
shaderParam intensity 0.77
==== shaderDefine ====
shaderDefines allow enabling or disabling custom shading techniques in shaders.
These allow to define new shading techniques, apart from the pre-defined ones
such as normal mapping, specularity mapping, ...
It's a generic system that allows new shaders to be added and configured from
the material file, or from the material editor (which nicely auto-detects these
features in the shader and shows a set of checkboxes for them).
==== uvMap ====
Load custom UV coordinates on the mesh to use this material. This makes the material
completely dependent on the mesh it is used with.
Takes a path to a .mhuv file, which is actually just an .obj file, where the vertex
positions can be deleted (they can remain in there, but they are ignored).
Requirement for it to work is that the vertex order is the same as that of the
mesh obj.
An example uv map for the basemesh can be found in data/uvs/a7.mhuv, which is a
set of UV coordinates compatible with the old Alpha 7 mesh, allowing you to load
A7 textures on the new basemesh used in MakeHuman v1+
==== SSS properties ====
These are the so-called sub-surface scattering shading properties, currently only used by the built-in offline renderer. They were decided on while trying to figure out the most generic way to define SSS shading properties, so that they could easily be translated into SSS properties for a different renderer (as no single renderer that I know of has a standard for these). It's uncertain whether the format we have landed on currently is the best, or whether this will remain permanently or is still likely to change.
This setting should currently be considered experimental.
The properties are ''sssEnabled'', ''sssRScale'', ''sssGScale'' and ''sssBScale''.
=== Basic pointers for creating materials ===
* You can test the influence of material properties using the Material Editor plugin (which you can enable in Settings > Plugins, then restart)
* Using a diffuse texture? You probably want to set the diffuse color to 1 1 1 (pure white)
* Never set ambient color too bright, or your model will look completely white. 0.1 0.1 0.1 is a good value to start from.
* Emissive is usually set to black, unless you want a radioactive character
* Don't know how to define a color in numbers? Try the Material Editor plugin
* Higher shininess means smaller and sharper highlight, lower shininess makes the highlight larger and more blurred
* Reduce specular color to reduce the specularity, make it black for a rough and non shiny object
* opacity 1 means fully opaque, 0 means fully transparent (invisible)
* Do your (diffuse) textures contain transparency? Do not forget to enable transparency! Perhaps try if alpha-to-coverage improves the situation (especially for hair!).
=== Scene definition ===
To complete the rendering equation, you also need to define the scene. To be
more precise, the positions, types, color and intensities of the lights need to
be set. By default, MakeHuman only has a default scene with only one pointlight.
In MakeHuman, lights do not move if the camera is moved, or rather, the model is
rotated while the camera and lights remain static. So light positions are defined
relative to the camera position.
MakeHuman scenes are defined in .mhscene files, which are binary py-pickled files.
They can be created or modified using the Scene Editor plugin (can be enabled in
settings) and can be selected from the Scene library in the Render tab.
Fixed function shading pipeline supports up to 8 lights, specific light support
depends on the shader used, some shaders only support a certain type or number
of lights, other ignore the chosen scene altogether (for example the litsphere
shader that uses pre-baked environment lighting).
The built-in offline renderer also uses the specified scene.
Scenes are not exported along with the model.
=== Shaders ===
The most powerful functionality of the material system is unlocked when using
shaders.
MakeHuman shaders are intended to be written in a modular way, so that shading
features can be enabled or disabled using the material format. Examples of such
features are bump mapping, normal mapping, specular mapping, diffuse texturing,
ambient occlusion and displacement mapping.
MakeHuman includes a basic introspection function that allows it to determine
what features a shader supports. It accomplishes this by looking for #ifdef and #ifndef statements. If a shader supports a certain technique, it is supposed to
encapsulate this in #ifdef NORMALMAP ... #else ... #endif statements.
The idea is that of an [http://www.gamedev.net/topic/659145-what-is-a-uber-shader/ über shader], where performance is optimized by removing any dynamic branches (if then that) from shader code, and instead managing the features using defines and pre-processor branches.
When a different branch in the shader is activated, the shader code is recompiled entirely.
Instead of having different shaders for different features (eg. a specific normalmap shader to be able to do normal mapping), one general shader could be used instead, and normal mapping can simply be enabled or disabled from the material properties, without being required to swap shaders (a good default uber shader is [http://bugtracker.makehumancommunity.org/issues/160 still to be created for MakeHuman] Any help with this is welcome of course!).
The material system manages these shading functions by defining specific pre-processor
keywords when their corresponding shaderConfig property is set to true.
Shaders are recompiled when needed and stored in a shader cache for efficiency.
MakeHuman passes scene and material information to the shaders by certain uniform
parameters. Depending on which shaderConfig properties were enabled, additional
uniforms could be exposed to the shader. The shader does not have to declare all
these uniforms, however. MakeHuman binds only those uniforms present in the shader
if they have the right corresponding names.
Other properties are available from the OpenGL built-in uniforms or properties
(usually starting with gl_).
The following table lists these defines and the shaderConfig properties in the
material they relate to:
{| class="wikitable"
|-
! feature name
! shaderConfig
! shader #DEFINE
! exposed uniform parameters if enabled
! comment
|-
|default (always enabled)
|
|
|vec3 ambient, vec4 diffuse, vec4 specular, vec3 emissive
|diffuse and specular are 4-component color values, diffuse=[rgba] with a=opacity and specular=[rgbs] with s=shininess
|-
|Vertex coloring
|vertexColors
|VERTEX_COLOR
|
|Derive diffuse color from vertex colors
|-
|Diffuse texturing
|diffuse
|DIFFUSE
|diffuseTexture
|
|-
|Bump mapping
|bump
|BUMPMAP
|bumpmapTexture, bumpmapIntensity
|disabled if normal mapping is enabled (restriction might be lifted in the future)
|-
|Normal mapping
|normal
|NORMALMAP
|normalmapTexture, normalmapIntensity
|
|-
|Displacement mapping
|displacement
|DISPLACEMENT
|displacementmapTexture, displacementmapIntensity
|
|-
|Specularity mapping
|spec
|SPECULARMAP
|specularmapTexture, specularmapIntensity
|
|-
|Transpareny (alpha) maps
|transparency
|TRANSPARENCYMAP
|transparencymapTexture, transparencymapIntensity
|
|-
|Ambient occlusion maps
|ambientOcclusion
|AOMAP
|aomapTexture, aomapIntensity
|
|}
Additionally, MakeHuman exposes the vertex tangent as a vertex property, which
can be accessed by the shader.
attribute vec4 tangent
Currently, [http://www.terathon.com/code/tangent.html Lengyel’s Method] for tangent calculation
is used, but plans are to change this to [http://bugtracker.makehumancommunity.org/issues/87 mikktspace] in the future.
Shader examples for MakeHuman can be found here:
* Litsphere shader: [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/litsphere_vertex_shader.txt vertex][https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/litsphere_fragment_shader.txt fragment]
* Phong shader: [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/phong_vertex_shader.txt vertex][https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/phong_fragment_shader.txt fragment]
* Normal map shader (wip): [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/normalmap_vertex_shader.txt vertex] [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/normalmap_fragment_shader.txt fragment]
* X-ray shader: [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/xray_vertex_shader.txt vertex][https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/xray_fragment_shader.txt fragment]
==== Custom shader properties ====
Shaders can use non-standard #DEFINEs to allow enabling or disabling non-standard shading features, other than the ones that were foreseen in the material format (such as normal mapping, ...)
To add new ones, simply add #ifdef SOME_FEATURE statements to your shader code, the material system will automatically detect them.
From the material, you can enable them with
shaderDefine SOME_FEATURE
If not defined, the feature is assumed to be switched off.
A custom shader can also add new parameters to tweak. For example a color value or intensity value that influences the shading.
To do this, the shader author can simply add new uniform variables to their shader code. It is recommended to specify a default
value for them, so that if the material file does not explicitly mention them, they receive a sensible default value.
Example: the X-ray shader adds an edge-fallof property:
uniform float edgefalloff = 1.0;
From the material file, you can influence this value with:
shaderParam edgefalloff 0.5
shaderParam supports lists of float values (one or multiple, divided by spaces), eg
shaderParam edgecolor 0.7 0.3 0.4
or textures, by specifying a path to an image file (in which case they are assumed to be Sampler2D type)
Additionally, from within MakeHuman, they can be passed a Texture object, to dynamically pass them a texture that resides in memory, without the need for the texture to be stored in a file on disk.
This allows to dynamically alter the texture and have it displayed directly. MakeHuman takes care of caching the texture and updating it when it is modified.
For example, the auto skin tone blending of the litsphere texture is implemented in this way.
The material system will automatically detect these custom uniform parameters declared in the shader, for example the material editor plugin will present them in the GUI.
These features make for a general and extensible shader system.
==== Dynamic shader configuration in Material Editor plugin ====
Take as example this screenshot, which shows how the X-Ray shader, mentioned earlier, can be configured.
[[File:Mh_material_editor.png]]
In the shader selector, xray was chosen. This opens up a few new options to configure.
Notice that on the top right the custom shader uniforms edgefalloff and intensity that we mentioned earlier were automatically detected. The shader author had to do nothing else than to define these uniform parameters in his shader code, and define a sensible default for them. A material using this shader can customize these properties using the shaderParam option, which can be altered visually in the top right of the material editor. Changes in the material editor take effect immediately, so you can directly preview your changes.
Also notice in the bottom left that the material editor shows the available shaderConfig parameters. Some of these are greyed out, which means they are not available, or the condition for them is not met (for example, to be able to enable normal mapping, you need to choose a normal map texture on the right panel. If the normal map property is greyed out on the right side, then this particular shader does not support normal mapping).
Let's take a look at a second example.
[[File:Mh_material_editor2.png]]
Here we see the litsphere shader. This shader is different from the other shaders in the sense that it completely ignores the lighting of the scene, and instead lights the model with a texture containing pre-baked lighting conditions, a so-called [http://www.cs.utah.edu/~wmartin/pubs/LitSphere.pdf litsphere] texture.
This shader, being so different, requires a different sort of input, a custom input texture: the litsphere texture.
The shader author simply defined this uniform parameter in his shader code, and as you can see in the top right corner, the material editor shows a texture selector for this property. Using it, the user can select a litsphere texture to feed to the shader.
The litsphere shader also has two different alternative techniques that can be enabled or disabled by the user.
These two features, which can be enabled using shaderDefine statements in the material file, are automatically detected by the material system, and shown in the bottom left of the material editor. Enabling them is as simple as checking the checkbox.
One of these custom shading features is alpha mapping (defined by ALPHA_MAP), which allows to sample alpha transparency from an additional texture.
For this texture, an additional uniform property, named alphaTexture was declared in the shader, but it was written down in a way that it is only declared if the ALPHA_MAP token is defined.
In the shader code:
#ifdef ALPHA_MAP
uniform sampler2D alphaTexture;
#endif
If you check the ALPHA_MAP_checkbox, you will notice that on the top right, an extra texture selector will appear.
These examples show how the material editor can help exploring the different settings that are available in shaders.
e6978add7bd86573ca9eef158fb50cab388746e4
593
592
2016-01-27T17:22:21Z
Duststorm
19
/* Dynamic shader configuration in Material Editor plugin */
wikitext
text/x-wiki
== Vertex weights ==
With vertex weights we intend a weighted mapping of vertices of a mesh to a bone of a skeleton. The weight is a value between 0 and 1, the sum of these weights for each vertex should be normalized, which means they should sum to 1 (note: no euclidian distance, just simple addition of all weights). A weight map in MakeHuman is expressed as a bone name (becomes a bone index internally, using the index of the bone in a breadth-first list relative to skeleton structure), a vertex name and a floating point weight between 0 and 1. This weighted vertex to bone mapping is used for skinning (posing and animating, using vertex skinning, smooth skinning or linear blend skinning algorithm). For the skinning algorithm to work correctly it’s required that the weights are always normalized, otherwise you will see vertices move out of place disproportionally (though the weight loading code in MakeHuman ensures that this normalization always happens, so this is not a concern to the artist that defines the weights). The vertex weights can be exported to external tools as well using formats such as collada (DAE), FBX, Ogre3D meshes or MD5 quake meshes.
=== Vertex weights and skeletons ===
Vertex weights are defined for the default “master” skeleton or rig. They are defined in a json file with jsonw extension. They link each vertex of the basemesh including helpers to a named bone of this master rig, together with a certain weight.
The weights loader automatically removes doubles and normalizes the weights (so that they sum to 1). It also reports what the maximum number of bone weights per vertex is, additionally it allows compiling the weights to a reduced set with n number of bone weights, and automatically renormalizes those weights so they, again, sum to 1.
When loading weights, any vertex that receives no weighting is assigned to the root bone, as this is needed for skinning to prevent all those vertices jumping to the origin (0*pos == 0).
Alternative skeletons can define their own weights, by referencing a weights file just like the master rig, or they can choose to derive their weights from the master rig, through so called reference bone mappings. Skeletons will derive their weights from the master rig if they do not specify a weights file explicitly. Custom vertex weights in alternative rigs override those defined on the master rig, except in the case where a proxy defines its own vertex weights. See section Vertex weights for proxies for more details.
=== Reference bones for vertex weights and poses ===
Reference bones are defined on alternative rigs, they are a list of names of bones contained in the master rig. Every bone of an alternative rig can have such a list of reference bones. An alternative rig can also omit these references if it uses the same name as bones in the master rig, in which the mapping is implicit. Having a list of bone references always overrides the implicit mapping. Reference bone mappings are required for two purposes.
They are used for mapping poses defined on the master rig to other rigs. All poses are defined as BVH files that pose the master rig, so they reference only the bone names of the master rig. Poses are applied to all other rigs by using the reference bone mapping: all the rotations that the pose applies to the referenced bones are combined (in the order in which the references were specified -- note: rotations are NOT commutative) and are applied to the alternative rig bone.
Reference bone mappings can also be used for determining vertex weights of custom rigs. If the alternative rig does not explicitly define its own vertex weights, the mapping of reference bones is used to infere a set of bone weights for each bone: All the weights of the reference bones on the master rig (with the weights definition of the default/master rig) are combined and apply to the bone of the alternative rig. Doubles are merged, and weights renormalized. Any vertex that is not weighted will be assigned to the root bone. Watch for messages in the log to verify this.
=== Vertex weights for proxies ===
Generally proxies are mapped to basemesh geometry, that means either to the body or to helpers, or a combination of both (though this is unusual). Proxies derive their vertex weights from the vertices on the basemesh on which they are fitted. A proxy defines its fitting as a 3d offset from one or three vertices on the basemesh, allowing it to deform as the human deforms. This mapping is used to transfer the vertex weights from basemesh to proxy: a proxy vertex referencing three basemesh vertices gets the bone weights of those three vertices. Doubles are merged and the weights are normalized, so that the influence factors are averaged or smoothed. In this case the weights applied to proxies are always those defined on the skeleton: either the weights explicitly defined on the skeleton, or the weights obtained from remapping the master rig weights to this skeleton using the reference bone mapping mentioned in the previous sections. There is an exception to this, which is explained in the next paragraph.
A proxy can explicitly define its own vertex (to bone) weights. In this case it overrides the weights that would be obtained through the proxy mapping, and replaces them by its own custom definition of weights. These vertex weights are always defined to reference the bones of the master rig (default skeleton), so they need to be remapped to other skeletons using reference bone mapping. This also means that the custom weights of a proxy override any custom weights mapping that might be loaded with an alternative rig (but only for that proxy item). Custom proxy weights should be avoided if possible, but are in some cases required, eg. for properly rigging shoes which are rigidly fitted to feet, or an alternative topology which defines very accurate rigging on the face. The general advice for custom rigs is therefore to stay as close to the master rig as possible, reusing as much bones identically as possible, to achieve the best results for proxies with custom weights.
In case of custom weight, the mhclo file must contain a line to indicate the weight file to use, using the keyword “vertexboneweights_file”, with the syntax:
vertexboneweights_file filename.jsonw
== Targets and modifiers ==
MakeHuman applies targets on the human by means of modifiers. Such a modifier has a value (usually between [0, 1] or [-1, 1]) that determines the effect of it on the human mesh. A modifier can control one or more targets and in apply the mixed sum of them on the mesh. Some modifiers.
=== Organization of targets ===
To make sure targets are linked to the right modifier, or to make managing targets easier, a certain discipline has to be observed in managing them. Targets are ASCII files in the data/targets or data/custom folder (in program or user folder) with a file extension of .target.
The file name and folder targets are in implicitly determines their group name. A group is identified by a sequence of tags or tokens, which are taken from the file and folder name of each target, and which can be delimited by “-” symbols, to include multiple tokens in a single file or folder name. The lib/targets.py module takes care of loading all the names of the available targets and assembles them into groups. All targets with the same tokens end up in the same group. This allows easy querying and requesting of targets. The creator is pretty much free to decide what groups to create for their targets. By passing the name of the target group to a modifier, they can make sure that modifier controls the targets belonging to this group. It does not matter whether you use folders or - delimited file names for creating groups.
An example:
data/targets/cartoon/eyes-large.target is categorized in group (cartoon, eyes, large)
data/targets/cartoon-eyes-large.target is also categorized in group (cartoon, eyes, large)
Most simple modifiers work by specifying a group (for example cartoon-eyes) and a set of two tokens to append at the end, depending on the position of the modifier slider (eg. small, large which would allow controlling the targets cartoon-eyes-small and cartoon-eyes-large by moving the slider to the left or right).
=== Reserved group tokens ===
Some of the tokens in the file or foldername of targets are linked to values that variables of the human can have. Such variables are for example age, weight, muscle, gender.
This table lists all the reserved tokens, and the variables they belong to.
{| class="wikitable"
|-
! Reserved token (value)
! Variable
|-
| female,male
| gender
|-
| baby, child, young, old
| age
|-
| african, caucasian, asian
| race
|-
| minmuscle, averagemuscle, maxmuscle
| muscle
|-
| minweight, averageweight, maxweight
| weight
|-
| minheight, averageheight, maxheight
| height
|-
| mincup, averagecup, maxcup
| breastsize
|-
| minfirmness, averagefirmness, maxfirmness
| breastfirmness
|-
| uncommonproportions, regularproportions, idealproportions
| bodyproportion
|}
Note that it is not a good idea to use simply “max” or “min” as a reserved token name, because they need to be unique (otherwise it would not be possible to determine whether they are a minimum for, for example, weight or height). These reserved tokens are declared in the lib/targets.py module. The variable can be set and queried on the human object, for example human.getAge(), human.setMuscle(0.7), human.getProportion().
The reserved tokens are NOT included in the group name, so you should at least include some other, non-reserved tokens in the file or folder names to assign your target to some meaningful group. The inclusion of these reserved tokens in your target names or paths makes it convenient to create macro modifiers.
=== Macro targets and modifiers ===
Macro modifiers are modifiers whose effect (the combination of targets they apply on the human) is influenced by macro variables set on the human (eg. human.set/getAge()). Therefore, macro modifiers often control a large set of targets (20 or even more). It’s also common for multiple modifiers to control exactly the same set of targets, for example the standard age/gender/race sliders all control the set of targets in the ‘macrodetails’ group. Each slider modifies a different variable (eg. human.setAge()) controlling the set of targets, and then reapplies a combination of the same set of targets on the human.
=== Macro modifier dependencies ===
There are other macro modifiers that can also depend on the same variables age, gender, race that is controlled by the main macro modifiers, as discussed above. For example the macro modifiers that influence the weight and muscle mass of the human, controls the targets group “macrodetails-universal”, the universal token is added by prepending “universal-” to all the file names of related targets, which all reside in the folder “macrodetails” (thus macrodetails-universal ends up being the group name). They could have been included all in the “macrodetails” group, but are kept separate for performance reasons, so that the “macrodetails” group of targets (which already contains some 40 targets or so) can be applied in realtime while moving the slider.
Of course a change in the variable that these age/race/gender modifiers control will have an effect on the macrodetails-universal modifiers (because they control targets that depend on age -- their targets include -young- -old- etc. tokens in their filenames). This means there are inter-dependencies between macro modifiers, if one is updated, another one that depends on it should be refreshed. These dependencies can be descibed as follows: one macro modifier controls exactly one macro variable (such as age). It (or rather, the targets it controls) can however depend on multiple macro variables. The trivial case is where a macro modifier only depends on the macro variable that it controls itself. The tracking of these dependencies and deciding which modifiers must be updated when another is changed happens automatically. Dependencies are automatically tracked as soon as you add a modifier to the human (by calling modifier.setHuman(human)). To make this more performant in real-time, the propagation of updates to modifiers is limited while sliders are dragged (see realtimeDependencyUpdates in apps/humanmodifier.py).
As you might have understood, creating modifiers that depend on human variables is almost automatic. The only thing you need to do is create some targets that resolve to the same group name, add variations for all the macro variables you want and add the proper reserved tokens to the file or folder name (refer to the left column in the table above), and create a modifier with this group name. Once added to the human, the dependencies are tracked automatically.
=== Organization of modifiers ===
We already discussed how we organized targets in groups, to make it easier to connect them to a modifier. Now we will discuss how we can do a similar thing for modifiers.
Modifiers provide an easy way to manage targets. They allow reducing many of hundreds of targets to a more manageable number of controllable properties. But even then, we still have about 100 modifiers, which is still quite a lot. Therefore we group them in groups of categories, much like we do in the GUI. This makes it easy to get a grouped overview of all modifiers when using an alternative interface, think of commandline or scripting. The way in which you declare the group and other properties of a modifier determines what target groups it gets its targets from.
Modifiers are declared with a group name, some intermediary “target name” and a number of tail tokens (2 or 3 usually, eg min/max). The group of targets controlled by these modifiers is composed as: groupname-targets_name-tail.
Macro modifiers are declared with a group name, and a controlled variable. The groupname must be the same groupname of the targets they control.
=== Declarative modifiers ===
Instead of hard coding what modifiers you want to instantiate, MakeHuman offers a data-based format to declare what modifiers should be created, and how they should be shown in a user interface with sliders.
A full declaration requires three files, all stored in data/modifiers. The first is the declaration of the modifiers (eg. modeling_modifiers.json). This format lists a modifier group name, and all the modifiers with their macro variable (if they are macro modifiers) or target name and 2 or 3 (if they are a modifier with a center point) tail tokens.
The second file adds a description to the modifiers declared in the first file. It basically contains a key-value set, referencing the modifier name, and a textual description of what the modifier controls. A modifier name is constructed as follows: group/targets_name-all|the|tails and for a macro modifier: group/variable
The third file defines how these modifiers should be shown in the user interface as sliders. It lists a set of categories, and the sliders to show in them, and how their values have to be saved in a mhm file (mainly a feature for legacy compatibility).
=== Your own plugin with modifiers, sliders and targets ===
Using the declarative data format described in the section above, it’s really simple. Have a look at the plugin plugins/0_modeling_0_modifiers.py. Notice it’s barely 5 lines of code. Creating your own modeling plugin is as simple as that, pointing it to your own modifier data files.
=== Binary targets ===
Because loading these ASCII target files, and iterating all target files and folders can be slow (especially on windows) in build versions, we compile all targets in the data/targets system folder into a single binary file, that furthermore acts exactly the same as multiple target files. The binary targets file is stored in the system data/ folder and is called targets.npz, it is created by running the compile_targets.py script, which is also automatically run in the build_prepare.py build routine. The file structure of the targets files is maintained in this binary file so that targets can be loaded from it in the same way as you would do with regular files. A change in the .target files, or newly added target files allow a recompilation of the targets npz file before the change is applied.
== Material format==
=== Introduction ===
MakeHuman material files have extension .mhmat and are simple ASCII definitions
of the material settings to use for rendering.
These material settings are primarily intended for configuring the material
system within MakeHuman, but they are usually carried out to other software as
well by the exporters.
Not all properties will be supported for all given combinations of shaders, nor
is there a guarantee that the exporters will honor all the properties in these
files.
Every 3D object in MakeHuman has exactly one material attached to it (multiple
materials are not possible, you need separate objects for that). Materials are
used for proxy meshes (clothes, hairs, ...) but also for the skin of the human
itself.
=== The Material System ===
The MakeHuman material system is closely based on the [https://en.wikipedia.org/wiki/Rendering_equation standard rendering equation]
as is used in OpenGL and DirectX forward rendering pipelines. MakeHuman supports
shaders and the material format contains the most commonly used extensions in
real-time rendering. As a consequence of this, users need to be aware of the
implications of setting values such as ambient too bright, or diffuse too dark.
All usual rules about rendering materials apply.
At the highest level, the material supports setting the most basic material
properties, such as diffuse, specular and ambient color. These are supported
both by shaders as well as the fixed function shading pipeline (which is used
when no shader is specified). Fixed function also supports the diffuse texture
option.
At a second level, a shader can be chosen. This refers directly to the filename
of a [https://en.wikipedia.org/wiki/OpenGL_Shading_Language GLSL shader] as found in the data/shaders/glsl folder of MakeHuman.
The selected shader will determine what material options will be available.
At the third level, various additional settings become available, depending on whether or not the
chosen shader has support for these features, such as bump or normal mapping,
ambient occlusion, specular mapping, etc.
For most of these, a texture map and a scalar property between 0 and 1 can be
set, the latter determining the intensity or influence of the effect.
Finally, MakeHuman also contains a built-in offline renderer that supports some
additional properties such as subsurface scattering, for which some special
properties are available.
=== Example ===
This is a full and complete (but fictional) example of a material file for MakeHuman, it shows all the available properties.
# Example MakeHuman Material definition
name Material_name
tag some_tag
tag another_tag
description material description text here
ambientColor 0.11 0.11 0.11
diffuseColor 1.0 1.0 1.0
specularColor 0.0470588235294 0.0470588235294 0.0470588235294
shininess 0.96
emissiveColor 0.0 0.0 0.0
opacity 1.0
translucency 0.0
shadeless False
wireframe False
transparent True
alphaToCoverage True
backfaceCull False
depthless False
autoBlendSkin False
castShadows True
receiveShadows True
diffuseTexture diffuse_texture.png
bumpmapTexture bumpmap.png
bumpmapIntensity 1.0
normalmapTexture normalmap.png
normalmapIntensity 1.0
displacementmapTexture norm_displacement.png
displacementmapIntensity 1.0
specularmapTexture specular.png
specularmapIntensity 1.0
transparencymapTexture alpha.png
transparencymapIntensity 1.0
aomapTexture ambient_occlusion_map.png
aomapIntensity 1.0
# Sub-surface scattering parameters
sssEnabled True
sssRScale 5.0
sssGScale 2.5
sssBScale 1.0
shader shaders/glsl/litsphere
shaderParam litsphereTexture litspheres/lit_hair.png
shaderConfig ambientOcclusion True
shaderConfig normal False
shaderConfig bump True
shaderConfig displacement False
shaderConfig vertexColors True
shaderConfig spec True
shaderConfig transparency True
shaderConfig diffuse True
shaderDefine ALPHA_MAP
uvMap alt_uv_coords.mhuv
This is another example, this time a real one. It is the X-ray material, used for example when showing the skeleton:
# Material definition for XrayMaterial
name XrayMaterial
ambientColor 0.1 0.1 0.1
diffuseColor 1.0 1.0 1.0
specularColor 0.3 0.3 0.3
shininess 0.1
emissiveColor 0.0 0.0 0.0
opacity 0.1
translucency 0.0
transparent True
backfaceCull True
shadeless False
wireframe False
depthless False
shader data/shaders/glsl/xray
shaderConfig diffuse False
shaderConfig transparency False
shaderConfig normal False
shaderConfig bump False
shaderConfig spec False
shaderConfig vertexColors False
shaderConfig displacement False
=== Explanation of material properties ===
==== Standard settings ====
''ambientColor'', ''diffuseColor'' ''specularColor'', ''emissiveColor'' are the standard colors
as used in the [https://en.wikipedia.org/wiki/Rendering_equation rendering equation]
or in standard OpenGL.
Their corresponding intensities are simple scalars with a value between 0 and 1 and are multiplied
with the colors to dim them. Default these intensities are set to 1.
Colors are described as three floating point numbers, representing R G B, or red-green-blue
values. 1 is the maximum, 0 the minimum.
For example 1.0 0 0 means fully red, 1 1 1 means full white, 0 0 0 is full black.
0.5 0.5 0.5 will give you a grey middle color.
''opacity'' determines the opaqueness of the object (alpha channel), with 1 being fully
opaque, and 0 being fully transparent (invisible)
''translucency'' is something that came from Blender but is unused
==== Texture maps ====
Various standard texture maps can be defined on the material, like ''diffuseTexture'', ''bumpmapTexture'', ''normalmapTexture'', ''displacementmapTexture'', ''specularmapTexture'', ''transparencymapTexture'', ''aomapTexture''. Each of these also has an associated intensity value, which is a scalar from 0 to 1 multiplied with the pixel value of that texture (unless a specific shader implements it differently).
These textures only have an effect if their corresponding shaderConfig feature has been defined (see the table in Shaders section).
==== Render states ====
When ''wireframe'' is set to True, the model is drawn in wireframe mode. In this mode,
most material properties have no effect, but you can enable the vertexColors shaderConfig
to be able to change the color of the mesh using vertex colors (this requires
access to the mesh programatically, obj meshes do not support vertex colors).
This feature is used in some parts of MakeHuman, for example viewing bone weights
in the skeleton debug plugin.
Set ''shadeless'' to True to disable shading, eg. the object is not affected by lights.
Configured shader will have no effect
Set ''transparent'' to True to enable transparency rendering (usually needed when opacity is < 1)
In itself this does not change the visual appearance of the model, but this setting
should be enabled if your texture contains (semi-) transparent parts. This setting
instructs the renderer to disable depth buffer writes (glDepthMask(false))
and enables alpha testing and blending so that transparent surfaces can overlap and to allow [https://www.opengl.org/wiki/Transparency_Sorting alpha blending].
''alphaToCoverage'' Applies when transparent is set to True (otherwise does nothing).
It requires that your GPU supports alpha to coverage (A2C) rendering. It enables
the A2C feature which provides face order-independent alpha rendering. This works
very well for complex transparent meshes, like hair. At the cost of a slightly
dithered look, it solves all the problems with face sorting that are usually
involved in rendering semi transparency.
(This feature disables anti-aliasing for this object because the multisample buffer is used for alpha blending instead)
Set ''backfaceCull'' to False to disable backface culling (render the back side of polygons)
By default, and in most cases, this should be set to True, but can be useful
in some cases (for example, we disable back-face culling for the eyebrow materials).
Set ''depthless'' to True for depthless rendering (object is not occluded and does not occlude other objects).
This disables OpenGL depth writes and tests. In practice, this makes object faces that should be occluded shine through others.
''castShadows'' determines whether the object casts shadows on other objects.
''receiveShadows'' determines whether the object receives shadows from other objects.
For some features, like eyes, you probably want to disable shadow receiving.
Since MakeHuman does not (yet) implement shadow casting, the shadow settings have
no effect in MakeHuman, but they do export to other engines.
Play around with these settings in the Material Editor plugin to see their effect, that's the best advise I can give you.
The best way to find out which settings work for an asset, is simply to try them out.
==== autoBlendSkin ====
If True MakeHuman will set the diffuse color based on the ethnix mix set for the character.
Any diffuseColor set in the material file will be overridden by this.
Also the shaderParam litsphereTexture will be automatically set to a dynamically blended litsphere texture,
which is a mix of three litsphere materials (afro, asian, caucasian) depending on the ethnic mix of the character.
This latter is specifically intended to be used with the litsphere shader, and it is what you see as default material when you start MakeHuman
This overrides whatever shaderParam litsphereTexture was set in the material file.
This setting is intended only for skin materials.
==== shaderParam ====
Define a custom shader parameter (uniform), which might be required for some non-standard shaders.
For example, the litsphere shader takes an extra type of texture map as input, a so-called litsphere texture.
This generic system of mapping shader uniforms allows you to create specialised shaders that take
new and different kind of inputs, and allow configuring the shader from the material file.
shaderParam can be a list of floating point numbers, in which case it will be interpreted as a vector,
or it can be a file path, in which case it is assumed to be an image path.
Internally in MakeHuman, shaderParams can also be assigned a texture object, which allows
for dynamically passing a texture that is in memory, but perhaps not stored on disk.
Another example of a custom shaderParam is the X-ray shader that defines an edgefalloff
and intensity uniform parameter.
These could be changed from the material file with
shaderParam edgefalloff 0.8
shaderParam intensity 0.77
==== shaderDefine ====
shaderDefines allow enabling or disabling custom shading techniques in shaders.
These allow to define new shading techniques, apart from the pre-defined ones
such as normal mapping, specularity mapping, ...
It's a generic system that allows new shaders to be added and configured from
the material file, or from the material editor (which nicely auto-detects these
features in the shader and shows a set of checkboxes for them).
==== uvMap ====
Load custom UV coordinates on the mesh to use this material. This makes the material
completely dependent on the mesh it is used with.
Takes a path to a .mhuv file, which is actually just an .obj file, where the vertex
positions can be deleted (they can remain in there, but they are ignored).
Requirement for it to work is that the vertex order is the same as that of the
mesh obj.
An example uv map for the basemesh can be found in data/uvs/a7.mhuv, which is a
set of UV coordinates compatible with the old Alpha 7 mesh, allowing you to load
A7 textures on the new basemesh used in MakeHuman v1+
==== SSS properties ====
These are the so-called sub-surface scattering shading properties, currently only used by the built-in offline renderer. They were decided on while trying to figure out the most generic way to define SSS shading properties, so that they could easily be translated into SSS properties for a different renderer (as no single renderer that I know of has a standard for these). It's uncertain whether the format we have landed on currently is the best, or whether this will remain permanently or is still likely to change.
This setting should currently be considered experimental.
The properties are ''sssEnabled'', ''sssRScale'', ''sssGScale'' and ''sssBScale''.
=== Basic pointers for creating materials ===
* You can test the influence of material properties using the Material Editor plugin (which you can enable in Settings > Plugins, then restart)
* Using a diffuse texture? You probably want to set the diffuse color to 1 1 1 (pure white)
* Never set ambient color too bright, or your model will look completely white. 0.1 0.1 0.1 is a good value to start from.
* Emissive is usually set to black, unless you want a radioactive character
* Don't know how to define a color in numbers? Try the Material Editor plugin
* Higher shininess means smaller and sharper highlight, lower shininess makes the highlight larger and more blurred
* Reduce specular color to reduce the specularity, make it black for a rough and non shiny object
* opacity 1 means fully opaque, 0 means fully transparent (invisible)
* Do your (diffuse) textures contain transparency? Do not forget to enable transparency! Perhaps try if alpha-to-coverage improves the situation (especially for hair!).
=== Scene definition ===
To complete the rendering equation, you also need to define the scene. To be
more precise, the positions, types, color and intensities of the lights need to
be set. By default, MakeHuman only has a default scene with only one pointlight.
In MakeHuman, lights do not move if the camera is moved, or rather, the model is
rotated while the camera and lights remain static. So light positions are defined
relative to the camera position.
MakeHuman scenes are defined in .mhscene files, which are binary py-pickled files.
They can be created or modified using the Scene Editor plugin (can be enabled in
settings) and can be selected from the Scene library in the Render tab.
Fixed function shading pipeline supports up to 8 lights, specific light support
depends on the shader used, some shaders only support a certain type or number
of lights, other ignore the chosen scene altogether (for example the litsphere
shader that uses pre-baked environment lighting).
The built-in offline renderer also uses the specified scene.
Scenes are not exported along with the model.
=== Shaders ===
The most powerful functionality of the material system is unlocked when using
shaders.
MakeHuman shaders are intended to be written in a modular way, so that shading
features can be enabled or disabled using the material format. Examples of such
features are bump mapping, normal mapping, specular mapping, diffuse texturing,
ambient occlusion and displacement mapping.
MakeHuman includes a basic introspection function that allows it to determine
what features a shader supports. It accomplishes this by looking for #ifdef and #ifndef statements. If a shader supports a certain technique, it is supposed to
encapsulate this in #ifdef NORMALMAP ... #else ... #endif statements.
The idea is that of an [http://www.gamedev.net/topic/659145-what-is-a-uber-shader/ über shader], where performance is optimized by removing any dynamic branches (if then that) from shader code, and instead managing the features using defines and pre-processor branches.
When a different branch in the shader is activated, the shader code is recompiled entirely.
Instead of having different shaders for different features (eg. a specific normalmap shader to be able to do normal mapping), one general shader could be used instead, and normal mapping can simply be enabled or disabled from the material properties, without being required to swap shaders (a good default uber shader is [http://bugtracker.makehumancommunity.org/issues/160 still to be created for MakeHuman] Any help with this is welcome of course!).
The material system manages these shading functions by defining specific pre-processor
keywords when their corresponding shaderConfig property is set to true.
Shaders are recompiled when needed and stored in a shader cache for efficiency.
MakeHuman passes scene and material information to the shaders by certain uniform
parameters. Depending on which shaderConfig properties were enabled, additional
uniforms could be exposed to the shader. The shader does not have to declare all
these uniforms, however. MakeHuman binds only those uniforms present in the shader
if they have the right corresponding names.
Other properties are available from the OpenGL built-in uniforms or properties
(usually starting with gl_).
The following table lists these defines and the shaderConfig properties in the
material they relate to:
{| class="wikitable"
|-
! feature name
! shaderConfig
! shader #DEFINE
! exposed uniform parameters if enabled
! comment
|-
|default (always enabled)
|
|
|vec3 ambient, vec4 diffuse, vec4 specular, vec3 emissive
|diffuse and specular are 4-component color values, diffuse=[rgba] with a=opacity and specular=[rgbs] with s=shininess
|-
|Vertex coloring
|vertexColors
|VERTEX_COLOR
|
|Derive diffuse color from vertex colors
|-
|Diffuse texturing
|diffuse
|DIFFUSE
|diffuseTexture
|
|-
|Bump mapping
|bump
|BUMPMAP
|bumpmapTexture, bumpmapIntensity
|disabled if normal mapping is enabled (restriction might be lifted in the future)
|-
|Normal mapping
|normal
|NORMALMAP
|normalmapTexture, normalmapIntensity
|
|-
|Displacement mapping
|displacement
|DISPLACEMENT
|displacementmapTexture, displacementmapIntensity
|
|-
|Specularity mapping
|spec
|SPECULARMAP
|specularmapTexture, specularmapIntensity
|
|-
|Transpareny (alpha) maps
|transparency
|TRANSPARENCYMAP
|transparencymapTexture, transparencymapIntensity
|
|-
|Ambient occlusion maps
|ambientOcclusion
|AOMAP
|aomapTexture, aomapIntensity
|
|}
Additionally, MakeHuman exposes the vertex tangent as a vertex property, which
can be accessed by the shader.
attribute vec4 tangent
Currently, [http://www.terathon.com/code/tangent.html Lengyel’s Method] for tangent calculation
is used, but plans are to change this to [http://bugtracker.makehumancommunity.org/issues/87 mikktspace] in the future.
Shader examples for MakeHuman can be found here:
* Litsphere shader: [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/litsphere_vertex_shader.txt vertex][https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/litsphere_fragment_shader.txt fragment]
* Phong shader: [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/phong_vertex_shader.txt vertex][https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/phong_fragment_shader.txt fragment]
* Normal map shader (wip): [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/normalmap_vertex_shader.txt vertex] [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/normalmap_fragment_shader.txt fragment]
* X-ray shader: [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/xray_vertex_shader.txt vertex][https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/xray_fragment_shader.txt fragment]
==== Custom shader properties ====
Shaders can use non-standard #DEFINEs to allow enabling or disabling non-standard shading features, other than the ones that were foreseen in the material format (such as normal mapping, ...)
To add new ones, simply add #ifdef SOME_FEATURE statements to your shader code, the material system will automatically detect them.
From the material, you can enable them with
shaderDefine SOME_FEATURE
If not defined, the feature is assumed to be switched off.
A custom shader can also add new parameters to tweak. For example a color value or intensity value that influences the shading.
To do this, the shader author can simply add new uniform variables to their shader code. It is recommended to specify a default
value for them, so that if the material file does not explicitly mention them, they receive a sensible default value.
Example: the X-ray shader adds an edge-fallof property:
uniform float edgefalloff = 1.0;
From the material file, you can influence this value with:
shaderParam edgefalloff 0.5
shaderParam supports lists of float values (one or multiple, divided by spaces), eg
shaderParam edgecolor 0.7 0.3 0.4
or textures, by specifying a path to an image file (in which case they are assumed to be Sampler2D type)
Additionally, from within MakeHuman, they can be passed a Texture object, to dynamically pass them a texture that resides in memory, without the need for the texture to be stored in a file on disk.
This allows to dynamically alter the texture and have it displayed directly. MakeHuman takes care of caching the texture and updating it when it is modified.
For example, the auto skin tone blending of the litsphere texture is implemented in this way.
The material system will automatically detect these custom uniform parameters declared in the shader, for example the material editor plugin will present them in the GUI.
These features make for a general and extensible shader system.
==== Dynamic shader configuration in Material Editor plugin ====
Take as example this screenshot, which shows how the X-Ray shader, mentioned earlier, can be configured.
[[File:Mh_material_editor.png]]
In the shader selector, xray was chosen. This opens up a few new options to configure.
Notice that on the top right the custom shader uniforms edgefalloff and intensity that we mentioned earlier were automatically detected. The shader author had to do nothing else than to define these uniform parameters in his shader code, and define a sensible default for them. A material using this shader can customize these properties using the shaderParam option, which can be altered visually in the top right of the material editor. Changes in the material editor take effect immediately, so you can directly preview your changes.
Also notice in the bottom left that the material editor shows the available shaderConfig parameters. Some of these are greyed out, which means they are not available, or the condition for them is not met (for example, to be able to enable normal mapping, you need to choose a normal map texture on the right panel. If the normal map property is greyed out on the right side, then this particular shader does not support normal mapping).
Let's take a look at a second example.
[[File:Mh_material_editor2.png]]
Here we see the litsphere shader. This shader is different from the other shaders in the sense that it completely ignores the lighting of the scene, and instead lights the model with a texture containing pre-baked lighting conditions, a so-called [http://www.cs.utah.edu/~wmartin/pubs/LitSphere.pdf litsphere] texture.
This shader, being so different, requires a different sort of input, a custom input texture: the litsphere texture.
The shader author simply defined this uniform parameter in his shader code, and as you can see in the top right corner, the material editor shows a texture selector for this property. Using it, the user can select a litsphere texture to feed to the shader.
The litsphere shader also has two different alternative techniques that can be enabled or disabled by the user.
These two features, which can be enabled using shaderDefine statements in the material file, are automatically detected by the material system, and shown in the bottom left of the material editor. Enabling them is as simple as checking the checkbox.
One of these custom shading features is alpha mapping (defined by ALPHA_MAP), which allows to sample alpha transparency from an additional texture.
For this texture, an additional uniform property, named alphaTexture was declared in the shader, but it was written down in a way that it is only declared if the ALPHA_MAP token is defined.
In the shader code:
#ifdef ALPHA_MAP
uniform sampler2D alphaTexture;
#endif
If you check the ALPHA_MAP_checkbox, you will notice that on the top right, an extra texture selector will appear.
These examples show how the material editor can help exploring the different settings that are available in shaders.
9b39bd0177527c7b9caf355b1db5226a0844f252
592
591
2016-01-27T17:21:55Z
Duststorm
19
wikitext
text/x-wiki
== Vertex weights ==
With vertex weights we intend a weighted mapping of vertices of a mesh to a bone of a skeleton. The weight is a value between 0 and 1, the sum of these weights for each vertex should be normalized, which means they should sum to 1 (note: no euclidian distance, just simple addition of all weights). A weight map in MakeHuman is expressed as a bone name (becomes a bone index internally, using the index of the bone in a breadth-first list relative to skeleton structure), a vertex name and a floating point weight between 0 and 1. This weighted vertex to bone mapping is used for skinning (posing and animating, using vertex skinning, smooth skinning or linear blend skinning algorithm). For the skinning algorithm to work correctly it’s required that the weights are always normalized, otherwise you will see vertices move out of place disproportionally (though the weight loading code in MakeHuman ensures that this normalization always happens, so this is not a concern to the artist that defines the weights). The vertex weights can be exported to external tools as well using formats such as collada (DAE), FBX, Ogre3D meshes or MD5 quake meshes.
=== Vertex weights and skeletons ===
Vertex weights are defined for the default “master” skeleton or rig. They are defined in a json file with jsonw extension. They link each vertex of the basemesh including helpers to a named bone of this master rig, together with a certain weight.
The weights loader automatically removes doubles and normalizes the weights (so that they sum to 1). It also reports what the maximum number of bone weights per vertex is, additionally it allows compiling the weights to a reduced set with n number of bone weights, and automatically renormalizes those weights so they, again, sum to 1.
When loading weights, any vertex that receives no weighting is assigned to the root bone, as this is needed for skinning to prevent all those vertices jumping to the origin (0*pos == 0).
Alternative skeletons can define their own weights, by referencing a weights file just like the master rig, or they can choose to derive their weights from the master rig, through so called reference bone mappings. Skeletons will derive their weights from the master rig if they do not specify a weights file explicitly. Custom vertex weights in alternative rigs override those defined on the master rig, except in the case where a proxy defines its own vertex weights. See section Vertex weights for proxies for more details.
=== Reference bones for vertex weights and poses ===
Reference bones are defined on alternative rigs, they are a list of names of bones contained in the master rig. Every bone of an alternative rig can have such a list of reference bones. An alternative rig can also omit these references if it uses the same name as bones in the master rig, in which the mapping is implicit. Having a list of bone references always overrides the implicit mapping. Reference bone mappings are required for two purposes.
They are used for mapping poses defined on the master rig to other rigs. All poses are defined as BVH files that pose the master rig, so they reference only the bone names of the master rig. Poses are applied to all other rigs by using the reference bone mapping: all the rotations that the pose applies to the referenced bones are combined (in the order in which the references were specified -- note: rotations are NOT commutative) and are applied to the alternative rig bone.
Reference bone mappings can also be used for determining vertex weights of custom rigs. If the alternative rig does not explicitly define its own vertex weights, the mapping of reference bones is used to infere a set of bone weights for each bone: All the weights of the reference bones on the master rig (with the weights definition of the default/master rig) are combined and apply to the bone of the alternative rig. Doubles are merged, and weights renormalized. Any vertex that is not weighted will be assigned to the root bone. Watch for messages in the log to verify this.
=== Vertex weights for proxies ===
Generally proxies are mapped to basemesh geometry, that means either to the body or to helpers, or a combination of both (though this is unusual). Proxies derive their vertex weights from the vertices on the basemesh on which they are fitted. A proxy defines its fitting as a 3d offset from one or three vertices on the basemesh, allowing it to deform as the human deforms. This mapping is used to transfer the vertex weights from basemesh to proxy: a proxy vertex referencing three basemesh vertices gets the bone weights of those three vertices. Doubles are merged and the weights are normalized, so that the influence factors are averaged or smoothed. In this case the weights applied to proxies are always those defined on the skeleton: either the weights explicitly defined on the skeleton, or the weights obtained from remapping the master rig weights to this skeleton using the reference bone mapping mentioned in the previous sections. There is an exception to this, which is explained in the next paragraph.
A proxy can explicitly define its own vertex (to bone) weights. In this case it overrides the weights that would be obtained through the proxy mapping, and replaces them by its own custom definition of weights. These vertex weights are always defined to reference the bones of the master rig (default skeleton), so they need to be remapped to other skeletons using reference bone mapping. This also means that the custom weights of a proxy override any custom weights mapping that might be loaded with an alternative rig (but only for that proxy item). Custom proxy weights should be avoided if possible, but are in some cases required, eg. for properly rigging shoes which are rigidly fitted to feet, or an alternative topology which defines very accurate rigging on the face. The general advice for custom rigs is therefore to stay as close to the master rig as possible, reusing as much bones identically as possible, to achieve the best results for proxies with custom weights.
In case of custom weight, the mhclo file must contain a line to indicate the weight file to use, using the keyword “vertexboneweights_file”, with the syntax:
vertexboneweights_file filename.jsonw
== Targets and modifiers ==
MakeHuman applies targets on the human by means of modifiers. Such a modifier has a value (usually between [0, 1] or [-1, 1]) that determines the effect of it on the human mesh. A modifier can control one or more targets and in apply the mixed sum of them on the mesh. Some modifiers.
=== Organization of targets ===
To make sure targets are linked to the right modifier, or to make managing targets easier, a certain discipline has to be observed in managing them. Targets are ASCII files in the data/targets or data/custom folder (in program or user folder) with a file extension of .target.
The file name and folder targets are in implicitly determines their group name. A group is identified by a sequence of tags or tokens, which are taken from the file and folder name of each target, and which can be delimited by “-” symbols, to include multiple tokens in a single file or folder name. The lib/targets.py module takes care of loading all the names of the available targets and assembles them into groups. All targets with the same tokens end up in the same group. This allows easy querying and requesting of targets. The creator is pretty much free to decide what groups to create for their targets. By passing the name of the target group to a modifier, they can make sure that modifier controls the targets belonging to this group. It does not matter whether you use folders or - delimited file names for creating groups.
An example:
data/targets/cartoon/eyes-large.target is categorized in group (cartoon, eyes, large)
data/targets/cartoon-eyes-large.target is also categorized in group (cartoon, eyes, large)
Most simple modifiers work by specifying a group (for example cartoon-eyes) and a set of two tokens to append at the end, depending on the position of the modifier slider (eg. small, large which would allow controlling the targets cartoon-eyes-small and cartoon-eyes-large by moving the slider to the left or right).
=== Reserved group tokens ===
Some of the tokens in the file or foldername of targets are linked to values that variables of the human can have. Such variables are for example age, weight, muscle, gender.
This table lists all the reserved tokens, and the variables they belong to.
{| class="wikitable"
|-
! Reserved token (value)
! Variable
|-
| female,male
| gender
|-
| baby, child, young, old
| age
|-
| african, caucasian, asian
| race
|-
| minmuscle, averagemuscle, maxmuscle
| muscle
|-
| minweight, averageweight, maxweight
| weight
|-
| minheight, averageheight, maxheight
| height
|-
| mincup, averagecup, maxcup
| breastsize
|-
| minfirmness, averagefirmness, maxfirmness
| breastfirmness
|-
| uncommonproportions, regularproportions, idealproportions
| bodyproportion
|}
Note that it is not a good idea to use simply “max” or “min” as a reserved token name, because they need to be unique (otherwise it would not be possible to determine whether they are a minimum for, for example, weight or height). These reserved tokens are declared in the lib/targets.py module. The variable can be set and queried on the human object, for example human.getAge(), human.setMuscle(0.7), human.getProportion().
The reserved tokens are NOT included in the group name, so you should at least include some other, non-reserved tokens in the file or folder names to assign your target to some meaningful group. The inclusion of these reserved tokens in your target names or paths makes it convenient to create macro modifiers.
=== Macro targets and modifiers ===
Macro modifiers are modifiers whose effect (the combination of targets they apply on the human) is influenced by macro variables set on the human (eg. human.set/getAge()). Therefore, macro modifiers often control a large set of targets (20 or even more). It’s also common for multiple modifiers to control exactly the same set of targets, for example the standard age/gender/race sliders all control the set of targets in the ‘macrodetails’ group. Each slider modifies a different variable (eg. human.setAge()) controlling the set of targets, and then reapplies a combination of the same set of targets on the human.
=== Macro modifier dependencies ===
There are other macro modifiers that can also depend on the same variables age, gender, race that is controlled by the main macro modifiers, as discussed above. For example the macro modifiers that influence the weight and muscle mass of the human, controls the targets group “macrodetails-universal”, the universal token is added by prepending “universal-” to all the file names of related targets, which all reside in the folder “macrodetails” (thus macrodetails-universal ends up being the group name). They could have been included all in the “macrodetails” group, but are kept separate for performance reasons, so that the “macrodetails” group of targets (which already contains some 40 targets or so) can be applied in realtime while moving the slider.
Of course a change in the variable that these age/race/gender modifiers control will have an effect on the macrodetails-universal modifiers (because they control targets that depend on age -- their targets include -young- -old- etc. tokens in their filenames). This means there are inter-dependencies between macro modifiers, if one is updated, another one that depends on it should be refreshed. These dependencies can be descibed as follows: one macro modifier controls exactly one macro variable (such as age). It (or rather, the targets it controls) can however depend on multiple macro variables. The trivial case is where a macro modifier only depends on the macro variable that it controls itself. The tracking of these dependencies and deciding which modifiers must be updated when another is changed happens automatically. Dependencies are automatically tracked as soon as you add a modifier to the human (by calling modifier.setHuman(human)). To make this more performant in real-time, the propagation of updates to modifiers is limited while sliders are dragged (see realtimeDependencyUpdates in apps/humanmodifier.py).
As you might have understood, creating modifiers that depend on human variables is almost automatic. The only thing you need to do is create some targets that resolve to the same group name, add variations for all the macro variables you want and add the proper reserved tokens to the file or folder name (refer to the left column in the table above), and create a modifier with this group name. Once added to the human, the dependencies are tracked automatically.
=== Organization of modifiers ===
We already discussed how we organized targets in groups, to make it easier to connect them to a modifier. Now we will discuss how we can do a similar thing for modifiers.
Modifiers provide an easy way to manage targets. They allow reducing many of hundreds of targets to a more manageable number of controllable properties. But even then, we still have about 100 modifiers, which is still quite a lot. Therefore we group them in groups of categories, much like we do in the GUI. This makes it easy to get a grouped overview of all modifiers when using an alternative interface, think of commandline or scripting. The way in which you declare the group and other properties of a modifier determines what target groups it gets its targets from.
Modifiers are declared with a group name, some intermediary “target name” and a number of tail tokens (2 or 3 usually, eg min/max). The group of targets controlled by these modifiers is composed as: groupname-targets_name-tail.
Macro modifiers are declared with a group name, and a controlled variable. The groupname must be the same groupname of the targets they control.
=== Declarative modifiers ===
Instead of hard coding what modifiers you want to instantiate, MakeHuman offers a data-based format to declare what modifiers should be created, and how they should be shown in a user interface with sliders.
A full declaration requires three files, all stored in data/modifiers. The first is the declaration of the modifiers (eg. modeling_modifiers.json). This format lists a modifier group name, and all the modifiers with their macro variable (if they are macro modifiers) or target name and 2 or 3 (if they are a modifier with a center point) tail tokens.
The second file adds a description to the modifiers declared in the first file. It basically contains a key-value set, referencing the modifier name, and a textual description of what the modifier controls. A modifier name is constructed as follows: group/targets_name-all|the|tails and for a macro modifier: group/variable
The third file defines how these modifiers should be shown in the user interface as sliders. It lists a set of categories, and the sliders to show in them, and how their values have to be saved in a mhm file (mainly a feature for legacy compatibility).
=== Your own plugin with modifiers, sliders and targets ===
Using the declarative data format described in the section above, it’s really simple. Have a look at the plugin plugins/0_modeling_0_modifiers.py. Notice it’s barely 5 lines of code. Creating your own modeling plugin is as simple as that, pointing it to your own modifier data files.
=== Binary targets ===
Because loading these ASCII target files, and iterating all target files and folders can be slow (especially on windows) in build versions, we compile all targets in the data/targets system folder into a single binary file, that furthermore acts exactly the same as multiple target files. The binary targets file is stored in the system data/ folder and is called targets.npz, it is created by running the compile_targets.py script, which is also automatically run in the build_prepare.py build routine. The file structure of the targets files is maintained in this binary file so that targets can be loaded from it in the same way as you would do with regular files. A change in the .target files, or newly added target files allow a recompilation of the targets npz file before the change is applied.
== Material format==
=== Introduction ===
MakeHuman material files have extension .mhmat and are simple ASCII definitions
of the material settings to use for rendering.
These material settings are primarily intended for configuring the material
system within MakeHuman, but they are usually carried out to other software as
well by the exporters.
Not all properties will be supported for all given combinations of shaders, nor
is there a guarantee that the exporters will honor all the properties in these
files.
Every 3D object in MakeHuman has exactly one material attached to it (multiple
materials are not possible, you need separate objects for that). Materials are
used for proxy meshes (clothes, hairs, ...) but also for the skin of the human
itself.
=== The Material System ===
The MakeHuman material system is closely based on the [https://en.wikipedia.org/wiki/Rendering_equation standard rendering equation]
as is used in OpenGL and DirectX forward rendering pipelines. MakeHuman supports
shaders and the material format contains the most commonly used extensions in
real-time rendering. As a consequence of this, users need to be aware of the
implications of setting values such as ambient too bright, or diffuse too dark.
All usual rules about rendering materials apply.
At the highest level, the material supports setting the most basic material
properties, such as diffuse, specular and ambient color. These are supported
both by shaders as well as the fixed function shading pipeline (which is used
when no shader is specified). Fixed function also supports the diffuse texture
option.
At a second level, a shader can be chosen. This refers directly to the filename
of a [https://en.wikipedia.org/wiki/OpenGL_Shading_Language GLSL shader] as found in the data/shaders/glsl folder of MakeHuman.
The selected shader will determine what material options will be available.
At the third level, various additional settings become available, depending on whether or not the
chosen shader has support for these features, such as bump or normal mapping,
ambient occlusion, specular mapping, etc.
For most of these, a texture map and a scalar property between 0 and 1 can be
set, the latter determining the intensity or influence of the effect.
Finally, MakeHuman also contains a built-in offline renderer that supports some
additional properties such as subsurface scattering, for which some special
properties are available.
=== Example ===
This is a full and complete (but fictional) example of a material file for MakeHuman, it shows all the available properties.
# Example MakeHuman Material definition
name Material_name
tag some_tag
tag another_tag
description material description text here
ambientColor 0.11 0.11 0.11
diffuseColor 1.0 1.0 1.0
specularColor 0.0470588235294 0.0470588235294 0.0470588235294
shininess 0.96
emissiveColor 0.0 0.0 0.0
opacity 1.0
translucency 0.0
shadeless False
wireframe False
transparent True
alphaToCoverage True
backfaceCull False
depthless False
autoBlendSkin False
castShadows True
receiveShadows True
diffuseTexture diffuse_texture.png
bumpmapTexture bumpmap.png
bumpmapIntensity 1.0
normalmapTexture normalmap.png
normalmapIntensity 1.0
displacementmapTexture norm_displacement.png
displacementmapIntensity 1.0
specularmapTexture specular.png
specularmapIntensity 1.0
transparencymapTexture alpha.png
transparencymapIntensity 1.0
aomapTexture ambient_occlusion_map.png
aomapIntensity 1.0
# Sub-surface scattering parameters
sssEnabled True
sssRScale 5.0
sssGScale 2.5
sssBScale 1.0
shader shaders/glsl/litsphere
shaderParam litsphereTexture litspheres/lit_hair.png
shaderConfig ambientOcclusion True
shaderConfig normal False
shaderConfig bump True
shaderConfig displacement False
shaderConfig vertexColors True
shaderConfig spec True
shaderConfig transparency True
shaderConfig diffuse True
shaderDefine ALPHA_MAP
uvMap alt_uv_coords.mhuv
This is another example, this time a real one. It is the X-ray material, used for example when showing the skeleton:
# Material definition for XrayMaterial
name XrayMaterial
ambientColor 0.1 0.1 0.1
diffuseColor 1.0 1.0 1.0
specularColor 0.3 0.3 0.3
shininess 0.1
emissiveColor 0.0 0.0 0.0
opacity 0.1
translucency 0.0
transparent True
backfaceCull True
shadeless False
wireframe False
depthless False
shader data/shaders/glsl/xray
shaderConfig diffuse False
shaderConfig transparency False
shaderConfig normal False
shaderConfig bump False
shaderConfig spec False
shaderConfig vertexColors False
shaderConfig displacement False
=== Explanation of material properties ===
==== Standard settings ====
''ambientColor'', ''diffuseColor'' ''specularColor'', ''emissiveColor'' are the standard colors
as used in the [https://en.wikipedia.org/wiki/Rendering_equation rendering equation]
or in standard OpenGL.
Their corresponding intensities are simple scalars with a value between 0 and 1 and are multiplied
with the colors to dim them. Default these intensities are set to 1.
Colors are described as three floating point numbers, representing R G B, or red-green-blue
values. 1 is the maximum, 0 the minimum.
For example 1.0 0 0 means fully red, 1 1 1 means full white, 0 0 0 is full black.
0.5 0.5 0.5 will give you a grey middle color.
''opacity'' determines the opaqueness of the object (alpha channel), with 1 being fully
opaque, and 0 being fully transparent (invisible)
''translucency'' is something that came from Blender but is unused
==== Texture maps ====
Various standard texture maps can be defined on the material, like ''diffuseTexture'', ''bumpmapTexture'', ''normalmapTexture'', ''displacementmapTexture'', ''specularmapTexture'', ''transparencymapTexture'', ''aomapTexture''. Each of these also has an associated intensity value, which is a scalar from 0 to 1 multiplied with the pixel value of that texture (unless a specific shader implements it differently).
These textures only have an effect if their corresponding shaderConfig feature has been defined (see the table in Shaders section).
==== Render states ====
When ''wireframe'' is set to True, the model is drawn in wireframe mode. In this mode,
most material properties have no effect, but you can enable the vertexColors shaderConfig
to be able to change the color of the mesh using vertex colors (this requires
access to the mesh programatically, obj meshes do not support vertex colors).
This feature is used in some parts of MakeHuman, for example viewing bone weights
in the skeleton debug plugin.
Set ''shadeless'' to True to disable shading, eg. the object is not affected by lights.
Configured shader will have no effect
Set ''transparent'' to True to enable transparency rendering (usually needed when opacity is < 1)
In itself this does not change the visual appearance of the model, but this setting
should be enabled if your texture contains (semi-) transparent parts. This setting
instructs the renderer to disable depth buffer writes (glDepthMask(false))
and enables alpha testing and blending so that transparent surfaces can overlap and to allow [https://www.opengl.org/wiki/Transparency_Sorting alpha blending].
''alphaToCoverage'' Applies when transparent is set to True (otherwise does nothing).
It requires that your GPU supports alpha to coverage (A2C) rendering. It enables
the A2C feature which provides face order-independent alpha rendering. This works
very well for complex transparent meshes, like hair. At the cost of a slightly
dithered look, it solves all the problems with face sorting that are usually
involved in rendering semi transparency.
(This feature disables anti-aliasing for this object because the multisample buffer is used for alpha blending instead)
Set ''backfaceCull'' to False to disable backface culling (render the back side of polygons)
By default, and in most cases, this should be set to True, but can be useful
in some cases (for example, we disable back-face culling for the eyebrow materials).
Set ''depthless'' to True for depthless rendering (object is not occluded and does not occlude other objects).
This disables OpenGL depth writes and tests. In practice, this makes object faces that should be occluded shine through others.
''castShadows'' determines whether the object casts shadows on other objects.
''receiveShadows'' determines whether the object receives shadows from other objects.
For some features, like eyes, you probably want to disable shadow receiving.
Since MakeHuman does not (yet) implement shadow casting, the shadow settings have
no effect in MakeHuman, but they do export to other engines.
Play around with these settings in the Material Editor plugin to see their effect, that's the best advise I can give you.
The best way to find out which settings work for an asset, is simply to try them out.
==== autoBlendSkin ====
If True MakeHuman will set the diffuse color based on the ethnix mix set for the character.
Any diffuseColor set in the material file will be overridden by this.
Also the shaderParam litsphereTexture will be automatically set to a dynamically blended litsphere texture,
which is a mix of three litsphere materials (afro, asian, caucasian) depending on the ethnic mix of the character.
This latter is specifically intended to be used with the litsphere shader, and it is what you see as default material when you start MakeHuman
This overrides whatever shaderParam litsphereTexture was set in the material file.
This setting is intended only for skin materials.
==== shaderParam ====
Define a custom shader parameter (uniform), which might be required for some non-standard shaders.
For example, the litsphere shader takes an extra type of texture map as input, a so-called litsphere texture.
This generic system of mapping shader uniforms allows you to create specialised shaders that take
new and different kind of inputs, and allow configuring the shader from the material file.
shaderParam can be a list of floating point numbers, in which case it will be interpreted as a vector,
or it can be a file path, in which case it is assumed to be an image path.
Internally in MakeHuman, shaderParams can also be assigned a texture object, which allows
for dynamically passing a texture that is in memory, but perhaps not stored on disk.
Another example of a custom shaderParam is the X-ray shader that defines an edgefalloff
and intensity uniform parameter.
These could be changed from the material file with
shaderParam edgefalloff 0.8
shaderParam intensity 0.77
==== shaderDefine ====
shaderDefines allow enabling or disabling custom shading techniques in shaders.
These allow to define new shading techniques, apart from the pre-defined ones
such as normal mapping, specularity mapping, ...
It's a generic system that allows new shaders to be added and configured from
the material file, or from the material editor (which nicely auto-detects these
features in the shader and shows a set of checkboxes for them).
==== uvMap ====
Load custom UV coordinates on the mesh to use this material. This makes the material
completely dependent on the mesh it is used with.
Takes a path to a .mhuv file, which is actually just an .obj file, where the vertex
positions can be deleted (they can remain in there, but they are ignored).
Requirement for it to work is that the vertex order is the same as that of the
mesh obj.
An example uv map for the basemesh can be found in data/uvs/a7.mhuv, which is a
set of UV coordinates compatible with the old Alpha 7 mesh, allowing you to load
A7 textures on the new basemesh used in MakeHuman v1+
==== SSS properties ====
These are the so-called sub-surface scattering shading properties, currently only used by the built-in offline renderer. They were decided on while trying to figure out the most generic way to define SSS shading properties, so that they could easily be translated into SSS properties for a different renderer (as no single renderer that I know of has a standard for these). It's uncertain whether the format we have landed on currently is the best, or whether this will remain permanently or is still likely to change.
This setting should currently be considered experimental.
The properties are ''sssEnabled'', ''sssRScale'', ''sssGScale'' and ''sssBScale''.
=== Basic pointers for creating materials ===
* You can test the influence of material properties using the Material Editor plugin (which you can enable in Settings > Plugins, then restart)
* Using a diffuse texture? You probably want to set the diffuse color to 1 1 1 (pure white)
* Never set ambient color too bright, or your model will look completely white. 0.1 0.1 0.1 is a good value to start from.
* Emissive is usually set to black, unless you want a radioactive character
* Don't know how to define a color in numbers? Try the Material Editor plugin
* Higher shininess means smaller and sharper highlight, lower shininess makes the highlight larger and more blurred
* Reduce specular color to reduce the specularity, make it black for a rough and non shiny object
* opacity 1 means fully opaque, 0 means fully transparent (invisible)
* Do your (diffuse) textures contain transparency? Do not forget to enable transparency! Perhaps try if alpha-to-coverage improves the situation (especially for hair!).
=== Scene definition ===
To complete the rendering equation, you also need to define the scene. To be
more precise, the positions, types, color and intensities of the lights need to
be set. By default, MakeHuman only has a default scene with only one pointlight.
In MakeHuman, lights do not move if the camera is moved, or rather, the model is
rotated while the camera and lights remain static. So light positions are defined
relative to the camera position.
MakeHuman scenes are defined in .mhscene files, which are binary py-pickled files.
They can be created or modified using the Scene Editor plugin (can be enabled in
settings) and can be selected from the Scene library in the Render tab.
Fixed function shading pipeline supports up to 8 lights, specific light support
depends on the shader used, some shaders only support a certain type or number
of lights, other ignore the chosen scene altogether (for example the litsphere
shader that uses pre-baked environment lighting).
The built-in offline renderer also uses the specified scene.
Scenes are not exported along with the model.
=== Shaders ===
The most powerful functionality of the material system is unlocked when using
shaders.
MakeHuman shaders are intended to be written in a modular way, so that shading
features can be enabled or disabled using the material format. Examples of such
features are bump mapping, normal mapping, specular mapping, diffuse texturing,
ambient occlusion and displacement mapping.
MakeHuman includes a basic introspection function that allows it to determine
what features a shader supports. It accomplishes this by looking for #ifdef and #ifndef statements. If a shader supports a certain technique, it is supposed to
encapsulate this in #ifdef NORMALMAP ... #else ... #endif statements.
The idea is that of an [http://www.gamedev.net/topic/659145-what-is-a-uber-shader/ über shader], where performance is optimized by removing any dynamic branches (if then that) from shader code, and instead managing the features using defines and pre-processor branches.
When a different branch in the shader is activated, the shader code is recompiled entirely.
Instead of having different shaders for different features (eg. a specific normalmap shader to be able to do normal mapping), one general shader could be used instead, and normal mapping can simply be enabled or disabled from the material properties, without being required to swap shaders (a good default uber shader is [http://bugtracker.makehumancommunity.org/issues/160 still to be created for MakeHuman] Any help with this is welcome of course!).
The material system manages these shading functions by defining specific pre-processor
keywords when their corresponding shaderConfig property is set to true.
Shaders are recompiled when needed and stored in a shader cache for efficiency.
MakeHuman passes scene and material information to the shaders by certain uniform
parameters. Depending on which shaderConfig properties were enabled, additional
uniforms could be exposed to the shader. The shader does not have to declare all
these uniforms, however. MakeHuman binds only those uniforms present in the shader
if they have the right corresponding names.
Other properties are available from the OpenGL built-in uniforms or properties
(usually starting with gl_).
The following table lists these defines and the shaderConfig properties in the
material they relate to:
{| class="wikitable"
|-
! feature name
! shaderConfig
! shader #DEFINE
! exposed uniform parameters if enabled
! comment
|-
|default (always enabled)
|
|
|vec3 ambient, vec4 diffuse, vec4 specular, vec3 emissive
|diffuse and specular are 4-component color values, diffuse=[rgba] with a=opacity and specular=[rgbs] with s=shininess
|-
|Vertex coloring
|vertexColors
|VERTEX_COLOR
|
|Derive diffuse color from vertex colors
|-
|Diffuse texturing
|diffuse
|DIFFUSE
|diffuseTexture
|
|-
|Bump mapping
|bump
|BUMPMAP
|bumpmapTexture, bumpmapIntensity
|disabled if normal mapping is enabled (restriction might be lifted in the future)
|-
|Normal mapping
|normal
|NORMALMAP
|normalmapTexture, normalmapIntensity
|
|-
|Displacement mapping
|displacement
|DISPLACEMENT
|displacementmapTexture, displacementmapIntensity
|
|-
|Specularity mapping
|spec
|SPECULARMAP
|specularmapTexture, specularmapIntensity
|
|-
|Transpareny (alpha) maps
|transparency
|TRANSPARENCYMAP
|transparencymapTexture, transparencymapIntensity
|
|-
|Ambient occlusion maps
|ambientOcclusion
|AOMAP
|aomapTexture, aomapIntensity
|
|}
Additionally, MakeHuman exposes the vertex tangent as a vertex property, which
can be accessed by the shader.
attribute vec4 tangent
Currently, [http://www.terathon.com/code/tangent.html Lengyel’s Method] for tangent calculation
is used, but plans are to change this to [http://bugtracker.makehumancommunity.org/issues/87 mikktspace] in the future.
Shader examples for MakeHuman can be found here:
* Litsphere shader: [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/litsphere_vertex_shader.txt vertex][https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/litsphere_fragment_shader.txt fragment]
* Phong shader: [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/phong_vertex_shader.txt vertex][https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/phong_fragment_shader.txt fragment]
* Normal map shader (wip): [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/normalmap_vertex_shader.txt vertex] [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/normalmap_fragment_shader.txt fragment]
* X-ray shader: [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/xray_vertex_shader.txt vertex][https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/xray_fragment_shader.txt fragment]
==== Custom shader properties ====
Shaders can use non-standard #DEFINEs to allow enabling or disabling non-standard shading features, other than the ones that were foreseen in the material format (such as normal mapping, ...)
To add new ones, simply add #ifdef SOME_FEATURE statements to your shader code, the material system will automatically detect them.
From the material, you can enable them with
shaderDefine SOME_FEATURE
If not defined, the feature is assumed to be switched off.
A custom shader can also add new parameters to tweak. For example a color value or intensity value that influences the shading.
To do this, the shader author can simply add new uniform variables to their shader code. It is recommended to specify a default
value for them, so that if the material file does not explicitly mention them, they receive a sensible default value.
Example: the X-ray shader adds an edge-fallof property:
uniform float edgefalloff = 1.0;
From the material file, you can influence this value with:
shaderParam edgefalloff 0.5
shaderParam supports lists of float values (one or multiple, divided by spaces), eg
shaderParam edgecolor 0.7 0.3 0.4
or textures, by specifying a path to an image file (in which case they are assumed to be Sampler2D type)
Additionally, from within MakeHuman, they can be passed a Texture object, to dynamically pass them a texture that resides in memory, without the need for the texture to be stored in a file on disk.
This allows to dynamically alter the texture and have it displayed directly. MakeHuman takes care of caching the texture and updating it when it is modified.
For example, the auto skin tone blending of the litsphere texture is implemented in this way.
The material system will automatically detect these custom uniform parameters declared in the shader, for example the material editor plugin will present them in the GUI.
These features make for a general and extensible shader system.
==== Dynamic shader configuration in Material Editor plugin ====
Take as example this screenshot, which shows how the X-Ray shader, mentioned earlier, can be configured.
[[File:Mh_material_editor.png]]
In the shader selector, xray was chosen. This opens up a few new options to configure.
Notice that on the top right the custom shader uniforms edgefalloff and intensity that we mentioned earlier were automatically detected. The shader author had to do nothing else than to define these uniform parameters in his shader code, and define a sensible default for them. A material using this shader can customize these properties using the shaderParam option, which can be altered visually in the top right of the material editor. Changes in the material editor take effect immediately, so you can directly preview your changes.
Also notice in the bottom left that the material editor shows the available shaderConfig parameters. Some of these are greyed out, which means they are not available, or the condition for them is not met (for example, to be able to enable normal mapping, you need to choose a normal map texture on the right panel. If the normal map property is greyed out on the right side, then this particular shader does not support normal mapping).
Let's take a look at a second example
[[File:Mh_material_editor2.png]]
Here we see the litsphere shader. This shader is different from the other shaders in the sense that it completely ignores the lighting of the scene, and instead lights the model with a texture containing pre-baked lighting conditions, a so-called [http://www.cs.utah.edu/~wmartin/pubs/LitSphere.pdf litsphere] texture.
This shader, being so different, requires a different sort of input, a custom input texture: the litsphere texture.
The shader author simply defined this uniform parameter in his shader code, and as you can see in the top right corner, the material editor shows a texture selector for this property. Using it, the user can select a litsphere texture to feed to the shader.
The litsphere shader also has two different alternative techniques that can be enabled or disabled by the user.
These two features, which can be enabled using shaderDefine statements in the material file, are automatically detected by the material system, and shown in the bottom left of the material editor. Enabling them is as simple as checking the checkbox.
One of these custom shading features is alpha mapping (defined by ALPHA_MAP), which allows to sample alpha transparency from an additional texture.
For this texture, an additional uniform property, named alphaTexture was declared in the shader, but it was written down in a way that it is only declared if the ALPHA_MAP token is defined.
In the shader code:
#ifdef ALPHA_MAP
uniform sampler2D alphaTexture;
#endif
If you check the ALPHA_MAP_checkbox, you will notice that on the top right, an extra texture selector will appear.
These examples show how the material editor can help exploring the different settings that are available in shaders.
924b031e91849ea77e95cec84c524e6267c93b0a
591
588
2016-01-27T17:21:23Z
Duststorm
19
/* Custom shader properties */
wikitext
text/x-wiki
== Vertex weights ==
With vertex weights we intend a weighted mapping of vertices of a mesh to a bone of a skeleton. The weight is a value between 0 and 1, the sum of these weights for each vertex should be normalized, which means they should sum to 1 (note: no euclidian distance, just simple addition of all weights). A weight map in MakeHuman is expressed as a bone name (becomes a bone index internally, using the index of the bone in a breadth-first list relative to skeleton structure), a vertex name and a floating point weight between 0 and 1. This weighted vertex to bone mapping is used for skinning (posing and animating, using vertex skinning, smooth skinning or linear blend skinning algorithm). For the skinning algorithm to work correctly it’s required that the weights are always normalized, otherwise you will see vertices move out of place disproportionally (though the weight loading code in MakeHuman ensures that this normalization always happens, so this is not a concern to the artist that defines the weights). The vertex weights can be exported to external tools as well using formats such as collada (DAE), FBX, Ogre3D meshes or MD5 quake meshes.
=== Vertex weights and skeletons ===
Vertex weights are defined for the default “master” skeleton or rig. They are defined in a json file with jsonw extension. They link each vertex of the basemesh including helpers to a named bone of this master rig, together with a certain weight.
The weights loader automatically removes doubles and normalizes the weights (so that they sum to 1). It also reports what the maximum number of bone weights per vertex is, additionally it allows compiling the weights to a reduced set with n number of bone weights, and automatically renormalizes those weights so they, again, sum to 1.
When loading weights, any vertex that receives no weighting is assigned to the root bone, as this is needed for skinning to prevent all those vertices jumping to the origin (0*pos == 0).
Alternative skeletons can define their own weights, by referencing a weights file just like the master rig, or they can choose to derive their weights from the master rig, through so called reference bone mappings. Skeletons will derive their weights from the master rig if they do not specify a weights file explicitly. Custom vertex weights in alternative rigs override those defined on the master rig, except in the case where a proxy defines its own vertex weights. See section Vertex weights for proxies for more details.
=== Reference bones for vertex weights and poses ===
Reference bones are defined on alternative rigs, they are a list of names of bones contained in the master rig. Every bone of an alternative rig can have such a list of reference bones. An alternative rig can also omit these references if it uses the same name as bones in the master rig, in which the mapping is implicit. Having a list of bone references always overrides the implicit mapping. Reference bone mappings are required for two purposes.
They are used for mapping poses defined on the master rig to other rigs. All poses are defined as BVH files that pose the master rig, so they reference only the bone names of the master rig. Poses are applied to all other rigs by using the reference bone mapping: all the rotations that the pose applies to the referenced bones are combined (in the order in which the references were specified -- note: rotations are NOT commutative) and are applied to the alternative rig bone.
Reference bone mappings can also be used for determining vertex weights of custom rigs. If the alternative rig does not explicitly define its own vertex weights, the mapping of reference bones is used to infere a set of bone weights for each bone: All the weights of the reference bones on the master rig (with the weights definition of the default/master rig) are combined and apply to the bone of the alternative rig. Doubles are merged, and weights renormalized. Any vertex that is not weighted will be assigned to the root bone. Watch for messages in the log to verify this.
=== Vertex weights for proxies ===
Generally proxies are mapped to basemesh geometry, that means either to the body or to helpers, or a combination of both (though this is unusual). Proxies derive their vertex weights from the vertices on the basemesh on which they are fitted. A proxy defines its fitting as a 3d offset from one or three vertices on the basemesh, allowing it to deform as the human deforms. This mapping is used to transfer the vertex weights from basemesh to proxy: a proxy vertex referencing three basemesh vertices gets the bone weights of those three vertices. Doubles are merged and the weights are normalized, so that the influence factors are averaged or smoothed. In this case the weights applied to proxies are always those defined on the skeleton: either the weights explicitly defined on the skeleton, or the weights obtained from remapping the master rig weights to this skeleton using the reference bone mapping mentioned in the previous sections. There is an exception to this, which is explained in the next paragraph.
A proxy can explicitly define its own vertex (to bone) weights. In this case it overrides the weights that would be obtained through the proxy mapping, and replaces them by its own custom definition of weights. These vertex weights are always defined to reference the bones of the master rig (default skeleton), so they need to be remapped to other skeletons using reference bone mapping. This also means that the custom weights of a proxy override any custom weights mapping that might be loaded with an alternative rig (but only for that proxy item). Custom proxy weights should be avoided if possible, but are in some cases required, eg. for properly rigging shoes which are rigidly fitted to feet, or an alternative topology which defines very accurate rigging on the face. The general advice for custom rigs is therefore to stay as close to the master rig as possible, reusing as much bones identically as possible, to achieve the best results for proxies with custom weights.
In case of custom weight, the mhclo file must contain a line to indicate the weight file to use, using the keyword “vertexboneweights_file”, with the syntax:
vertexboneweights_file filename.jsonw
== Targets and modifiers ==
MakeHuman applies targets on the human by means of modifiers. Such a modifier has a value (usually between [0, 1] or [-1, 1]) that determines the effect of it on the human mesh. A modifier can control one or more targets and in apply the mixed sum of them on the mesh. Some modifiers.
=== Organization of targets ===
To make sure targets are linked to the right modifier, or to make managing targets easier, a certain discipline has to be observed in managing them. Targets are ASCII files in the data/targets or data/custom folder (in program or user folder) with a file extension of .target.
The file name and folder targets are in implicitly determines their group name. A group is identified by a sequence of tags or tokens, which are taken from the file and folder name of each target, and which can be delimited by “-” symbols, to include multiple tokens in a single file or folder name. The lib/targets.py module takes care of loading all the names of the available targets and assembles them into groups. All targets with the same tokens end up in the same group. This allows easy querying and requesting of targets. The creator is pretty much free to decide what groups to create for their targets. By passing the name of the target group to a modifier, they can make sure that modifier controls the targets belonging to this group. It does not matter whether you use folders or - delimited file names for creating groups.
An example:
data/targets/cartoon/eyes-large.target is categorized in group (cartoon, eyes, large)
data/targets/cartoon-eyes-large.target is also categorized in group (cartoon, eyes, large)
Most simple modifiers work by specifying a group (for example cartoon-eyes) and a set of two tokens to append at the end, depending on the position of the modifier slider (eg. small, large which would allow controlling the targets cartoon-eyes-small and cartoon-eyes-large by moving the slider to the left or right).
=== Reserved group tokens ===
Some of the tokens in the file or foldername of targets are linked to values that variables of the human can have. Such variables are for example age, weight, muscle, gender.
This table lists all the reserved tokens, and the variables they belong to.
{| class="wikitable"
|-
! Reserved token (value)
! Variable
|-
| female,male
| gender
|-
| baby, child, young, old
| age
|-
| african, caucasian, asian
| race
|-
| minmuscle, averagemuscle, maxmuscle
| muscle
|-
| minweight, averageweight, maxweight
| weight
|-
| minheight, averageheight, maxheight
| height
|-
| mincup, averagecup, maxcup
| breastsize
|-
| minfirmness, averagefirmness, maxfirmness
| breastfirmness
|-
| uncommonproportions, regularproportions, idealproportions
| bodyproportion
|}
Note that it is not a good idea to use simply “max” or “min” as a reserved token name, because they need to be unique (otherwise it would not be possible to determine whether they are a minimum for, for example, weight or height). These reserved tokens are declared in the lib/targets.py module. The variable can be set and queried on the human object, for example human.getAge(), human.setMuscle(0.7), human.getProportion().
The reserved tokens are NOT included in the group name, so you should at least include some other, non-reserved tokens in the file or folder names to assign your target to some meaningful group. The inclusion of these reserved tokens in your target names or paths makes it convenient to create macro modifiers.
=== Macro targets and modifiers ===
Macro modifiers are modifiers whose effect (the combination of targets they apply on the human) is influenced by macro variables set on the human (eg. human.set/getAge()). Therefore, macro modifiers often control a large set of targets (20 or even more). It’s also common for multiple modifiers to control exactly the same set of targets, for example the standard age/gender/race sliders all control the set of targets in the ‘macrodetails’ group. Each slider modifies a different variable (eg. human.setAge()) controlling the set of targets, and then reapplies a combination of the same set of targets on the human.
=== Macro modifier dependencies ===
There are other macro modifiers that can also depend on the same variables age, gender, race that is controlled by the main macro modifiers, as discussed above. For example the macro modifiers that influence the weight and muscle mass of the human, controls the targets group “macrodetails-universal”, the universal token is added by prepending “universal-” to all the file names of related targets, which all reside in the folder “macrodetails” (thus macrodetails-universal ends up being the group name). They could have been included all in the “macrodetails” group, but are kept separate for performance reasons, so that the “macrodetails” group of targets (which already contains some 40 targets or so) can be applied in realtime while moving the slider.
Of course a change in the variable that these age/race/gender modifiers control will have an effect on the macrodetails-universal modifiers (because they control targets that depend on age -- their targets include -young- -old- etc. tokens in their filenames). This means there are inter-dependencies between macro modifiers, if one is updated, another one that depends on it should be refreshed. These dependencies can be descibed as follows: one macro modifier controls exactly one macro variable (such as age). It (or rather, the targets it controls) can however depend on multiple macro variables. The trivial case is where a macro modifier only depends on the macro variable that it controls itself. The tracking of these dependencies and deciding which modifiers must be updated when another is changed happens automatically. Dependencies are automatically tracked as soon as you add a modifier to the human (by calling modifier.setHuman(human)). To make this more performant in real-time, the propagation of updates to modifiers is limited while sliders are dragged (see realtimeDependencyUpdates in apps/humanmodifier.py).
As you might have understood, creating modifiers that depend on human variables is almost automatic. The only thing you need to do is create some targets that resolve to the same group name, add variations for all the macro variables you want and add the proper reserved tokens to the file or folder name (refer to the left column in the table above), and create a modifier with this group name. Once added to the human, the dependencies are tracked automatically.
=== Organization of modifiers ===
We already discussed how we organized targets in groups, to make it easier to connect them to a modifier. Now we will discuss how we can do a similar thing for modifiers.
Modifiers provide an easy way to manage targets. They allow reducing many of hundreds of targets to a more manageable number of controllable properties. But even then, we still have about 100 modifiers, which is still quite a lot. Therefore we group them in groups of categories, much like we do in the GUI. This makes it easy to get a grouped overview of all modifiers when using an alternative interface, think of commandline or scripting. The way in which you declare the group and other properties of a modifier determines what target groups it gets its targets from.
Modifiers are declared with a group name, some intermediary “target name” and a number of tail tokens (2 or 3 usually, eg min/max). The group of targets controlled by these modifiers is composed as: groupname-targets_name-tail.
Macro modifiers are declared with a group name, and a controlled variable. The groupname must be the same groupname of the targets they control.
=== Declarative modifiers ===
Instead of hard coding what modifiers you want to instantiate, MakeHuman offers a data-based format to declare what modifiers should be created, and how they should be shown in a user interface with sliders.
A full declaration requires three files, all stored in data/modifiers. The first is the declaration of the modifiers (eg. modeling_modifiers.json). This format lists a modifier group name, and all the modifiers with their macro variable (if they are macro modifiers) or target name and 2 or 3 (if they are a modifier with a center point) tail tokens.
The second file adds a description to the modifiers declared in the first file. It basically contains a key-value set, referencing the modifier name, and a textual description of what the modifier controls. A modifier name is constructed as follows: group/targets_name-all|the|tails and for a macro modifier: group/variable
The third file defines how these modifiers should be shown in the user interface as sliders. It lists a set of categories, and the sliders to show in them, and how their values have to be saved in a mhm file (mainly a feature for legacy compatibility).
=== Your own plugin with modifiers, sliders and targets ===
Using the declarative data format described in the section above, it’s really simple. Have a look at the plugin plugins/0_modeling_0_modifiers.py. Notice it’s barely 5 lines of code. Creating your own modeling plugin is as simple as that, pointing it to your own modifier data files.
=== Binary targets ===
Because loading these ASCII target files, and iterating all target files and folders can be slow (especially on windows) in build versions, we compile all targets in the data/targets system folder into a single binary file, that furthermore acts exactly the same as multiple target files. The binary targets file is stored in the system data/ folder and is called targets.npz, it is created by running the compile_targets.py script, which is also automatically run in the build_prepare.py build routine. The file structure of the targets files is maintained in this binary file so that targets can be loaded from it in the same way as you would do with regular files. A change in the .target files, or newly added target files allow a recompilation of the targets npz file before the change is applied.
== Material format==
=== Introduction ===
MakeHuman material files have extension .mhmat and are simple ASCII definitions
of the material settings to use for rendering.
These material settings are primarily intended for configuring the material
system within MakeHuman, but they are usually carried out to other software as
well by the exporters.
Not all properties will be supported for all given combinations of shaders, nor
is there a guarantee that the exporters will honor all the properties in these
files.
Every 3D object in MakeHuman has exactly one material attached to it (multiple
materials are not possible, you need separate objects for that). Materials are
used for proxy meshes (clothes, hairs, ...) but also for the skin of the human
itself.
=== The Material System ===
The MakeHuman material system is closely based on the [https://en.wikipedia.org/wiki/Rendering_equation standard rendering equation]
as is used in OpenGL and DirectX forward rendering pipelines. MakeHuman supports
shaders and the material format contains the most commonly used extensions in
real-time rendering. As a consequence of this, users need to be aware of the
implications of setting values such as ambient too bright, or diffuse too dark.
All usual rules about rendering materials apply.
At the highest level, the material supports setting the most basic material
properties, such as diffuse, specular and ambient color. These are supported
both by shaders as well as the fixed function shading pipeline (which is used
when no shader is specified). Fixed function also supports the diffuse texture
option.
At a second level, a shader can be chosen. This refers directly to the filename
of a [https://en.wikipedia.org/wiki/OpenGL_Shading_Language GLSL shader] as found in the data/shaders/glsl folder of MakeHuman.
The selected shader will determine what material options will be available.
At the third level, various additional settings become available, depending on whether or not the
chosen shader has support for these features, such as bump or normal mapping,
ambient occlusion, specular mapping, etc.
For most of these, a texture map and a scalar property between 0 and 1 can be
set, the latter determining the intensity or influence of the effect.
Finally, MakeHuman also contains a built-in offline renderer that supports some
additional properties such as subsurface scattering, for which some special
properties are available.
=== Example ===
This is a full and complete (but fictional) example of a material file for MakeHuman, it shows all the available properties.
# Example MakeHuman Material definition
name Material_name
tag some_tag
tag another_tag
description material description text here
ambientColor 0.11 0.11 0.11
diffuseColor 1.0 1.0 1.0
specularColor 0.0470588235294 0.0470588235294 0.0470588235294
shininess 0.96
emissiveColor 0.0 0.0 0.0
opacity 1.0
translucency 0.0
shadeless False
wireframe False
transparent True
alphaToCoverage True
backfaceCull False
depthless False
autoBlendSkin False
castShadows True
receiveShadows True
diffuseTexture diffuse_texture.png
bumpmapTexture bumpmap.png
bumpmapIntensity 1.0
normalmapTexture normalmap.png
normalmapIntensity 1.0
displacementmapTexture norm_displacement.png
displacementmapIntensity 1.0
specularmapTexture specular.png
specularmapIntensity 1.0
transparencymapTexture alpha.png
transparencymapIntensity 1.0
aomapTexture ambient_occlusion_map.png
aomapIntensity 1.0
# Sub-surface scattering parameters
sssEnabled True
sssRScale 5.0
sssGScale 2.5
sssBScale 1.0
shader shaders/glsl/litsphere
shaderParam litsphereTexture litspheres/lit_hair.png
shaderConfig ambientOcclusion True
shaderConfig normal False
shaderConfig bump True
shaderConfig displacement False
shaderConfig vertexColors True
shaderConfig spec True
shaderConfig transparency True
shaderConfig diffuse True
shaderDefine ALPHA_MAP
uvMap alt_uv_coords.mhuv
This is another example, this time a real one. It is the X-ray material, used for example when showing the skeleton:
# Material definition for XrayMaterial
name XrayMaterial
ambientColor 0.1 0.1 0.1
diffuseColor 1.0 1.0 1.0
specularColor 0.3 0.3 0.3
shininess 0.1
emissiveColor 0.0 0.0 0.0
opacity 0.1
translucency 0.0
transparent True
backfaceCull True
shadeless False
wireframe False
depthless False
shader data/shaders/glsl/xray
shaderConfig diffuse False
shaderConfig transparency False
shaderConfig normal False
shaderConfig bump False
shaderConfig spec False
shaderConfig vertexColors False
shaderConfig displacement False
=== Explanation of material properties ===
==== Standard settings ====
''ambientColor'', ''diffuseColor'' ''specularColor'', ''emissiveColor'' are the standard colors
as used in the [https://en.wikipedia.org/wiki/Rendering_equation rendering equation]
or in standard OpenGL.
Their corresponding intensities are simple scalars with a value between 0 and 1 and are multiplied
with the colors to dim them. Default these intensities are set to 1.
Colors are described as three floating point numbers, representing R G B, or red-green-blue
values. 1 is the maximum, 0 the minimum.
For example 1.0 0 0 means fully red, 1 1 1 means full white, 0 0 0 is full black.
0.5 0.5 0.5 will give you a grey middle color.
''opacity'' determines the opaqueness of the object (alpha channel), with 1 being fully
opaque, and 0 being fully transparent (invisible)
''translucency'' is something that came from Blender but is unused
==== Texture maps ====
Various standard texture maps can be defined on the material, like ''diffuseTexture'', ''bumpmapTexture'', ''normalmapTexture'', ''displacementmapTexture'', ''specularmapTexture'', ''transparencymapTexture'', ''aomapTexture''. Each of these also has an associated intensity value, which is a scalar from 0 to 1 multiplied with the pixel value of that texture (unless a specific shader implements it differently).
These textures only have an effect if their corresponding shaderConfig feature has been defined (see the table in Shaders section).
==== Render states ====
When ''wireframe'' is set to True, the model is drawn in wireframe mode. In this mode,
most material properties have no effect, but you can enable the vertexColors shaderConfig
to be able to change the color of the mesh using vertex colors (this requires
access to the mesh programatically, obj meshes do not support vertex colors).
This feature is used in some parts of MakeHuman, for example viewing bone weights
in the skeleton debug plugin.
Set ''shadeless'' to True to disable shading, eg. the object is not affected by lights.
Configured shader will have no effect
Set ''transparent'' to True to enable transparency rendering (usually needed when opacity is < 1)
In itself this does not change the visual appearance of the model, but this setting
should be enabled if your texture contains (semi-) transparent parts. This setting
instructs the renderer to disable depth buffer writes (glDepthMask(false))
and enables alpha testing and blending so that transparent surfaces can overlap and to allow [https://www.opengl.org/wiki/Transparency_Sorting alpha blending].
''alphaToCoverage'' Applies when transparent is set to True (otherwise does nothing).
It requires that your GPU supports alpha to coverage (A2C) rendering. It enables
the A2C feature which provides face order-independent alpha rendering. This works
very well for complex transparent meshes, like hair. At the cost of a slightly
dithered look, it solves all the problems with face sorting that are usually
involved in rendering semi transparency.
(This feature disables anti-aliasing for this object because the multisample buffer is used for alpha blending instead)
Set ''backfaceCull'' to False to disable backface culling (render the back side of polygons)
By default, and in most cases, this should be set to True, but can be useful
in some cases (for example, we disable back-face culling for the eyebrow materials).
Set ''depthless'' to True for depthless rendering (object is not occluded and does not occlude other objects).
This disables OpenGL depth writes and tests. In practice, this makes object faces that should be occluded shine through others.
''castShadows'' determines whether the object casts shadows on other objects.
''receiveShadows'' determines whether the object receives shadows from other objects.
For some features, like eyes, you probably want to disable shadow receiving.
Since MakeHuman does not (yet) implement shadow casting, the shadow settings have
no effect in MakeHuman, but they do export to other engines.
Play around with these settings in the Material Editor plugin to see their effect, that's the best advise I can give you.
The best way to find out which settings work for an asset, is simply to try them out.
==== autoBlendSkin ====
If True MakeHuman will set the diffuse color based on the ethnix mix set for the character.
Any diffuseColor set in the material file will be overridden by this.
Also the shaderParam litsphereTexture will be automatically set to a dynamically blended litsphere texture,
which is a mix of three litsphere materials (afro, asian, caucasian) depending on the ethnic mix of the character.
This latter is specifically intended to be used with the litsphere shader, and it is what you see as default material when you start MakeHuman
This overrides whatever shaderParam litsphereTexture was set in the material file.
This setting is intended only for skin materials.
==== shaderParam ====
Define a custom shader parameter (uniform), which might be required for some non-standard shaders.
For example, the litsphere shader takes an extra type of texture map as input, a so-called litsphere texture.
This generic system of mapping shader uniforms allows you to create specialised shaders that take
new and different kind of inputs, and allow configuring the shader from the material file.
shaderParam can be a list of floating point numbers, in which case it will be interpreted as a vector,
or it can be a file path, in which case it is assumed to be an image path.
Internally in MakeHuman, shaderParams can also be assigned a texture object, which allows
for dynamically passing a texture that is in memory, but perhaps not stored on disk.
Another example of a custom shaderParam is the X-ray shader that defines an edgefalloff
and intensity uniform parameter.
These could be changed from the material file with
shaderParam edgefalloff 0.8
shaderParam intensity 0.77
==== shaderDefine ====
shaderDefines allow enabling or disabling custom shading techniques in shaders.
These allow to define new shading techniques, apart from the pre-defined ones
such as normal mapping, specularity mapping, ...
It's a generic system that allows new shaders to be added and configured from
the material file, or from the material editor (which nicely auto-detects these
features in the shader and shows a set of checkboxes for them).
==== uvMap ====
Load custom UV coordinates on the mesh to use this material. This makes the material
completely dependent on the mesh it is used with.
Takes a path to a .mhuv file, which is actually just an .obj file, where the vertex
positions can be deleted (they can remain in there, but they are ignored).
Requirement for it to work is that the vertex order is the same as that of the
mesh obj.
An example uv map for the basemesh can be found in data/uvs/a7.mhuv, which is a
set of UV coordinates compatible with the old Alpha 7 mesh, allowing you to load
A7 textures on the new basemesh used in MakeHuman v1+
==== SSS properties ====
These are the so-called sub-surface scattering shading properties, currently only used by the built-in offline renderer. They were decided on while trying to figure out the most generic way to define SSS shading properties, so that they could easily be translated into SSS properties for a different renderer (as no single renderer that I know of has a standard for these). It's uncertain whether the format we have landed on currently is the best, or whether this will remain permanently or is still likely to change.
This setting should currently be considered experimental.
The properties are ''sssEnabled'', ''sssRScale'', ''sssGScale'' and ''sssBScale''.
=== Basic pointers for creating materials ===
* You can test the influence of material properties using the Material Editor plugin (which you can enable in Settings > Plugins, then restart)
* Using a diffuse texture? You probably want to set the diffuse color to 1 1 1 (pure white)
* Never set ambient color too bright, or your model will look completely white. 0.1 0.1 0.1 is a good value to start from.
* Emissive is usually set to black, unless you want a radioactive character
* Don't know how to define a color in numbers? Try the Material Editor plugin
* Higher shininess means smaller and sharper highlight, lower shininess makes the highlight larger and more blurred
* Reduce specular color to reduce the specularity, make it black for a rough and non shiny object
* opacity 1 means fully opaque, 0 means fully transparent (invisible)
* Do your (diffuse) textures contain transparency? Do not forget to enable transparency! Perhaps try if alpha-to-coverage improves the situation (especially for hair!).
=== Scene definition ===
To complete the rendering equation, you also need to define the scene. To be
more precise, the positions, types, color and intensities of the lights need to
be set. By default, MakeHuman only has a default scene with only one pointlight.
In MakeHuman, lights do not move if the camera is moved, or rather, the model is
rotated while the camera and lights remain static. So light positions are defined
relative to the camera position.
MakeHuman scenes are defined in .mhscene files, which are binary py-pickled files.
They can be created or modified using the Scene Editor plugin (can be enabled in
settings) and can be selected from the Scene library in the Render tab.
Fixed function shading pipeline supports up to 8 lights, specific light support
depends on the shader used, some shaders only support a certain type or number
of lights, other ignore the chosen scene altogether (for example the litsphere
shader that uses pre-baked environment lighting).
The built-in offline renderer also uses the specified scene.
Scenes are not exported along with the model.
=== Shaders ===
The most powerful functionality of the material system is unlocked when using
shaders.
MakeHuman shaders are intended to be written in a modular way, so that shading
features can be enabled or disabled using the material format. Examples of such
features are bump mapping, normal mapping, specular mapping, diffuse texturing,
ambient occlusion and displacement mapping.
MakeHuman includes a basic introspection function that allows it to determine
what features a shader supports. It accomplishes this by looking for #ifdef and #ifndef statements. If a shader supports a certain technique, it is supposed to
encapsulate this in #ifdef NORMALMAP ... #else ... #endif statements.
The idea is that of an [http://www.gamedev.net/topic/659145-what-is-a-uber-shader/ über shader], where performance is optimized by removing any dynamic branches (if then that) from shader code, and instead managing the features using defines and pre-processor branches.
When a different branch in the shader is activated, the shader code is recompiled entirely.
Instead of having different shaders for different features (eg. a specific normalmap shader to be able to do normal mapping), one general shader could be used instead, and normal mapping can simply be enabled or disabled from the material properties, without being required to swap shaders (a good default uber shader is [http://bugtracker.makehumancommunity.org/issues/160 still to be created for MakeHuman] Any help with this is welcome of course!).
The material system manages these shading functions by defining specific pre-processor
keywords when their corresponding shaderConfig property is set to true.
Shaders are recompiled when needed and stored in a shader cache for efficiency.
MakeHuman passes scene and material information to the shaders by certain uniform
parameters. Depending on which shaderConfig properties were enabled, additional
uniforms could be exposed to the shader. The shader does not have to declare all
these uniforms, however. MakeHuman binds only those uniforms present in the shader
if they have the right corresponding names.
Other properties are available from the OpenGL built-in uniforms or properties
(usually starting with gl_).
The following table lists these defines and the shaderConfig properties in the
material they relate to:
{| class="wikitable"
|-
! feature name
! shaderConfig
! shader #DEFINE
! exposed uniform parameters if enabled
! comment
|-
|default (always enabled)
|
|
|vec3 ambient, vec4 diffuse, vec4 specular, vec3 emissive
|diffuse and specular are 4-component color values, diffuse=[rgba] with a=opacity and specular=[rgbs] with s=shininess
|-
|Vertex coloring
|vertexColors
|VERTEX_COLOR
|
|Derive diffuse color from vertex colors
|-
|Diffuse texturing
|diffuse
|DIFFUSE
|diffuseTexture
|
|-
|Bump mapping
|bump
|BUMPMAP
|bumpmapTexture, bumpmapIntensity
|disabled if normal mapping is enabled (restriction might be lifted in the future)
|-
|Normal mapping
|normal
|NORMALMAP
|normalmapTexture, normalmapIntensity
|
|-
|Displacement mapping
|displacement
|DISPLACEMENT
|displacementmapTexture, displacementmapIntensity
|
|-
|Specularity mapping
|spec
|SPECULARMAP
|specularmapTexture, specularmapIntensity
|
|-
|Transpareny (alpha) maps
|transparency
|TRANSPARENCYMAP
|transparencymapTexture, transparencymapIntensity
|
|-
|Ambient occlusion maps
|ambientOcclusion
|AOMAP
|aomapTexture, aomapIntensity
|
|}
Additionally, MakeHuman exposes the vertex tangent as a vertex property, which
can be accessed by the shader.
attribute vec4 tangent
Currently, [http://www.terathon.com/code/tangent.html Lengyel’s Method] for tangent calculation
is used, but plans are to change this to [http://bugtracker.makehumancommunity.org/issues/87 mikktspace] in the future.
Shader examples for MakeHuman can be found here:
* Litsphere shader: [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/litsphere_vertex_shader.txt vertex][https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/litsphere_fragment_shader.txt fragment]
* Phong shader: [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/phong_vertex_shader.txt vertex][https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/phong_fragment_shader.txt fragment]
* Normal map shader (wip): [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/normalmap_vertex_shader.txt vertex] [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/normalmap_fragment_shader.txt fragment]
* X-ray shader: [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/xray_vertex_shader.txt vertex][https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/xray_fragment_shader.txt fragment]
==== Custom shader properties ====
Shaders can use non-standard #DEFINEs to allow enabling or disabling non-standard shading features, other than the ones that were foreseen in the material format (such as normal mapping, ...)
To add new ones, simply add #ifdef SOME_FEATURE statements to your shader code, the material system will automatically detect them.
From the material, you can enable them with
shaderDefine SOME_FEATURE
If not defined, the feature is assumed to be switched off.
A custom shader can also add new parameters to tweak. For example a color value or intensity value that influences the shading.
To do this, the shader author can simply add new uniform variables to their shader code. It is recommended to specify a default
value for them, so that if the material file does not explicitly mention them, they receive a sensible default value.
Example: the X-ray shader adds an edge-fallof property:
uniform float edgefalloff = 1.0;
From the material file, you can influence this value with:
shaderParam edgefalloff 0.5
shaderParam supports lists of float values (one or multiple, divided by spaces), eg
shaderParam edgecolor 0.7 0.3 0.4
or textures, by specifying a path to an image file (in which case they are assumed to be Sampler2D type)
Additionally, from within MakeHuman, they can be passed a Texture object, to dynamically pass them a texture that resides in memory, without the need for the texture to be stored in a file on disk.
This allows to dynamically alter the texture and have it displayed directly. MakeHuman takes care of caching the texture and updating it when it is modified.
For example, the auto skin tone blending of the litsphere texture is implemented in this way.
The material system will automatically detect these custom uniform parameters declared in the shader, for example the material editor plugin will present them in the GUI.
These features make for a general and extensible shader system.
==== Dynamic shader configuration in Material Editor plugin ====
Take as example this screenshot, which shows how the X-Ray shader, mentioned earlier, can be configured.
[File:Mh_material_editor.png]
In the shader selector, xray was chosen. This opens up a few new options to configure.
Notice that on the top right the custom shader uniforms edgefalloff and intensity that we mentioned earlier were automatically detected. The shader author had to do nothing else than to define these uniform parameters in his shader code, and define a sensible default for them. A material using this shader can customize these properties using the shaderParam option, which can be altered visually in the top right of the material editor. Changes in the material editor take effect immediately, so you can directly preview your changes.
Also notice in the bottom left that the material editor shows the available shaderConfig parameters. Some of these are greyed out, which means they are not available, or the condition for them is not met (for example, to be able to enable normal mapping, you need to choose a normal map texture on the right panel. If the normal map property is greyed out on the right side, then this particular shader does not support normal mapping).
Let's take a look at a second example
[File:Mh_material_editor2.png]
Here we see the litsphere shader. This shader is different from the other shaders in the sense that it completely ignores the lighting of the scene, and instead lights the model with a texture containing pre-baked lighting conditions, a so-called [http://www.cs.utah.edu/~wmartin/pubs/LitSphere.pdf litsphere] texture.
This shader, being so different, requires a different sort of input, a custom input texture: the litsphere texture.
The shader author simply defined this uniform parameter in his shader code, and as you can see in the top right corner, the material editor shows a texture selector for this property. Using it, the user can select a litsphere texture to feed to the shader.
The litsphere shader also has two different alternative techniques that can be enabled or disabled by the user.
These two features, which can be enabled using shaderDefine statements in the material file, are automatically detected by the material system, and shown in the bottom left of the material editor. Enabling them is as simple as checking the checkbox.
One of these custom shading features is alpha mapping (defined by ALPHA_MAP), which allows to sample alpha transparency from an additional texture.
For this texture, an additional uniform property, named alphaTexture was declared in the shader, but it was written down in a way that it is only declared if the ALPHA_MAP token is defined.
In the shader code:
#ifdef ALPHA_MAP
uniform sampler2D alphaTexture;
#endif
If you check the ALPHA_MAP_checkbox, you will notice that on the top right, an extra texture selector will appear.
These examples show how the material editor can help exploring the different settings that are available in shaders.
3119dfb943f9f951597e484c05c82392f62729a0
588
587
2016-01-27T16:45:01Z
Duststorm
19
/* Basic pointers for creating materials */
wikitext
text/x-wiki
== Vertex weights ==
With vertex weights we intend a weighted mapping of vertices of a mesh to a bone of a skeleton. The weight is a value between 0 and 1, the sum of these weights for each vertex should be normalized, which means they should sum to 1 (note: no euclidian distance, just simple addition of all weights). A weight map in MakeHuman is expressed as a bone name (becomes a bone index internally, using the index of the bone in a breadth-first list relative to skeleton structure), a vertex name and a floating point weight between 0 and 1. This weighted vertex to bone mapping is used for skinning (posing and animating, using vertex skinning, smooth skinning or linear blend skinning algorithm). For the skinning algorithm to work correctly it’s required that the weights are always normalized, otherwise you will see vertices move out of place disproportionally (though the weight loading code in MakeHuman ensures that this normalization always happens, so this is not a concern to the artist that defines the weights). The vertex weights can be exported to external tools as well using formats such as collada (DAE), FBX, Ogre3D meshes or MD5 quake meshes.
=== Vertex weights and skeletons ===
Vertex weights are defined for the default “master” skeleton or rig. They are defined in a json file with jsonw extension. They link each vertex of the basemesh including helpers to a named bone of this master rig, together with a certain weight.
The weights loader automatically removes doubles and normalizes the weights (so that they sum to 1). It also reports what the maximum number of bone weights per vertex is, additionally it allows compiling the weights to a reduced set with n number of bone weights, and automatically renormalizes those weights so they, again, sum to 1.
When loading weights, any vertex that receives no weighting is assigned to the root bone, as this is needed for skinning to prevent all those vertices jumping to the origin (0*pos == 0).
Alternative skeletons can define their own weights, by referencing a weights file just like the master rig, or they can choose to derive their weights from the master rig, through so called reference bone mappings. Skeletons will derive their weights from the master rig if they do not specify a weights file explicitly. Custom vertex weights in alternative rigs override those defined on the master rig, except in the case where a proxy defines its own vertex weights. See section Vertex weights for proxies for more details.
=== Reference bones for vertex weights and poses ===
Reference bones are defined on alternative rigs, they are a list of names of bones contained in the master rig. Every bone of an alternative rig can have such a list of reference bones. An alternative rig can also omit these references if it uses the same name as bones in the master rig, in which the mapping is implicit. Having a list of bone references always overrides the implicit mapping. Reference bone mappings are required for two purposes.
They are used for mapping poses defined on the master rig to other rigs. All poses are defined as BVH files that pose the master rig, so they reference only the bone names of the master rig. Poses are applied to all other rigs by using the reference bone mapping: all the rotations that the pose applies to the referenced bones are combined (in the order in which the references were specified -- note: rotations are NOT commutative) and are applied to the alternative rig bone.
Reference bone mappings can also be used for determining vertex weights of custom rigs. If the alternative rig does not explicitly define its own vertex weights, the mapping of reference bones is used to infere a set of bone weights for each bone: All the weights of the reference bones on the master rig (with the weights definition of the default/master rig) are combined and apply to the bone of the alternative rig. Doubles are merged, and weights renormalized. Any vertex that is not weighted will be assigned to the root bone. Watch for messages in the log to verify this.
=== Vertex weights for proxies ===
Generally proxies are mapped to basemesh geometry, that means either to the body or to helpers, or a combination of both (though this is unusual). Proxies derive their vertex weights from the vertices on the basemesh on which they are fitted. A proxy defines its fitting as a 3d offset from one or three vertices on the basemesh, allowing it to deform as the human deforms. This mapping is used to transfer the vertex weights from basemesh to proxy: a proxy vertex referencing three basemesh vertices gets the bone weights of those three vertices. Doubles are merged and the weights are normalized, so that the influence factors are averaged or smoothed. In this case the weights applied to proxies are always those defined on the skeleton: either the weights explicitly defined on the skeleton, or the weights obtained from remapping the master rig weights to this skeleton using the reference bone mapping mentioned in the previous sections. There is an exception to this, which is explained in the next paragraph.
A proxy can explicitly define its own vertex (to bone) weights. In this case it overrides the weights that would be obtained through the proxy mapping, and replaces them by its own custom definition of weights. These vertex weights are always defined to reference the bones of the master rig (default skeleton), so they need to be remapped to other skeletons using reference bone mapping. This also means that the custom weights of a proxy override any custom weights mapping that might be loaded with an alternative rig (but only for that proxy item). Custom proxy weights should be avoided if possible, but are in some cases required, eg. for properly rigging shoes which are rigidly fitted to feet, or an alternative topology which defines very accurate rigging on the face. The general advice for custom rigs is therefore to stay as close to the master rig as possible, reusing as much bones identically as possible, to achieve the best results for proxies with custom weights.
In case of custom weight, the mhclo file must contain a line to indicate the weight file to use, using the keyword “vertexboneweights_file”, with the syntax:
vertexboneweights_file filename.jsonw
== Targets and modifiers ==
MakeHuman applies targets on the human by means of modifiers. Such a modifier has a value (usually between [0, 1] or [-1, 1]) that determines the effect of it on the human mesh. A modifier can control one or more targets and in apply the mixed sum of them on the mesh. Some modifiers.
=== Organization of targets ===
To make sure targets are linked to the right modifier, or to make managing targets easier, a certain discipline has to be observed in managing them. Targets are ASCII files in the data/targets or data/custom folder (in program or user folder) with a file extension of .target.
The file name and folder targets are in implicitly determines their group name. A group is identified by a sequence of tags or tokens, which are taken from the file and folder name of each target, and which can be delimited by “-” symbols, to include multiple tokens in a single file or folder name. The lib/targets.py module takes care of loading all the names of the available targets and assembles them into groups. All targets with the same tokens end up in the same group. This allows easy querying and requesting of targets. The creator is pretty much free to decide what groups to create for their targets. By passing the name of the target group to a modifier, they can make sure that modifier controls the targets belonging to this group. It does not matter whether you use folders or - delimited file names for creating groups.
An example:
data/targets/cartoon/eyes-large.target is categorized in group (cartoon, eyes, large)
data/targets/cartoon-eyes-large.target is also categorized in group (cartoon, eyes, large)
Most simple modifiers work by specifying a group (for example cartoon-eyes) and a set of two tokens to append at the end, depending on the position of the modifier slider (eg. small, large which would allow controlling the targets cartoon-eyes-small and cartoon-eyes-large by moving the slider to the left or right).
=== Reserved group tokens ===
Some of the tokens in the file or foldername of targets are linked to values that variables of the human can have. Such variables are for example age, weight, muscle, gender.
This table lists all the reserved tokens, and the variables they belong to.
{| class="wikitable"
|-
! Reserved token (value)
! Variable
|-
| female,male
| gender
|-
| baby, child, young, old
| age
|-
| african, caucasian, asian
| race
|-
| minmuscle, averagemuscle, maxmuscle
| muscle
|-
| minweight, averageweight, maxweight
| weight
|-
| minheight, averageheight, maxheight
| height
|-
| mincup, averagecup, maxcup
| breastsize
|-
| minfirmness, averagefirmness, maxfirmness
| breastfirmness
|-
| uncommonproportions, regularproportions, idealproportions
| bodyproportion
|}
Note that it is not a good idea to use simply “max” or “min” as a reserved token name, because they need to be unique (otherwise it would not be possible to determine whether they are a minimum for, for example, weight or height). These reserved tokens are declared in the lib/targets.py module. The variable can be set and queried on the human object, for example human.getAge(), human.setMuscle(0.7), human.getProportion().
The reserved tokens are NOT included in the group name, so you should at least include some other, non-reserved tokens in the file or folder names to assign your target to some meaningful group. The inclusion of these reserved tokens in your target names or paths makes it convenient to create macro modifiers.
=== Macro targets and modifiers ===
Macro modifiers are modifiers whose effect (the combination of targets they apply on the human) is influenced by macro variables set on the human (eg. human.set/getAge()). Therefore, macro modifiers often control a large set of targets (20 or even more). It’s also common for multiple modifiers to control exactly the same set of targets, for example the standard age/gender/race sliders all control the set of targets in the ‘macrodetails’ group. Each slider modifies a different variable (eg. human.setAge()) controlling the set of targets, and then reapplies a combination of the same set of targets on the human.
=== Macro modifier dependencies ===
There are other macro modifiers that can also depend on the same variables age, gender, race that is controlled by the main macro modifiers, as discussed above. For example the macro modifiers that influence the weight and muscle mass of the human, controls the targets group “macrodetails-universal”, the universal token is added by prepending “universal-” to all the file names of related targets, which all reside in the folder “macrodetails” (thus macrodetails-universal ends up being the group name). They could have been included all in the “macrodetails” group, but are kept separate for performance reasons, so that the “macrodetails” group of targets (which already contains some 40 targets or so) can be applied in realtime while moving the slider.
Of course a change in the variable that these age/race/gender modifiers control will have an effect on the macrodetails-universal modifiers (because they control targets that depend on age -- their targets include -young- -old- etc. tokens in their filenames). This means there are inter-dependencies between macro modifiers, if one is updated, another one that depends on it should be refreshed. These dependencies can be descibed as follows: one macro modifier controls exactly one macro variable (such as age). It (or rather, the targets it controls) can however depend on multiple macro variables. The trivial case is where a macro modifier only depends on the macro variable that it controls itself. The tracking of these dependencies and deciding which modifiers must be updated when another is changed happens automatically. Dependencies are automatically tracked as soon as you add a modifier to the human (by calling modifier.setHuman(human)). To make this more performant in real-time, the propagation of updates to modifiers is limited while sliders are dragged (see realtimeDependencyUpdates in apps/humanmodifier.py).
As you might have understood, creating modifiers that depend on human variables is almost automatic. The only thing you need to do is create some targets that resolve to the same group name, add variations for all the macro variables you want and add the proper reserved tokens to the file or folder name (refer to the left column in the table above), and create a modifier with this group name. Once added to the human, the dependencies are tracked automatically.
=== Organization of modifiers ===
We already discussed how we organized targets in groups, to make it easier to connect them to a modifier. Now we will discuss how we can do a similar thing for modifiers.
Modifiers provide an easy way to manage targets. They allow reducing many of hundreds of targets to a more manageable number of controllable properties. But even then, we still have about 100 modifiers, which is still quite a lot. Therefore we group them in groups of categories, much like we do in the GUI. This makes it easy to get a grouped overview of all modifiers when using an alternative interface, think of commandline or scripting. The way in which you declare the group and other properties of a modifier determines what target groups it gets its targets from.
Modifiers are declared with a group name, some intermediary “target name” and a number of tail tokens (2 or 3 usually, eg min/max). The group of targets controlled by these modifiers is composed as: groupname-targets_name-tail.
Macro modifiers are declared with a group name, and a controlled variable. The groupname must be the same groupname of the targets they control.
=== Declarative modifiers ===
Instead of hard coding what modifiers you want to instantiate, MakeHuman offers a data-based format to declare what modifiers should be created, and how they should be shown in a user interface with sliders.
A full declaration requires three files, all stored in data/modifiers. The first is the declaration of the modifiers (eg. modeling_modifiers.json). This format lists a modifier group name, and all the modifiers with their macro variable (if they are macro modifiers) or target name and 2 or 3 (if they are a modifier with a center point) tail tokens.
The second file adds a description to the modifiers declared in the first file. It basically contains a key-value set, referencing the modifier name, and a textual description of what the modifier controls. A modifier name is constructed as follows: group/targets_name-all|the|tails and for a macro modifier: group/variable
The third file defines how these modifiers should be shown in the user interface as sliders. It lists a set of categories, and the sliders to show in them, and how their values have to be saved in a mhm file (mainly a feature for legacy compatibility).
=== Your own plugin with modifiers, sliders and targets ===
Using the declarative data format described in the section above, it’s really simple. Have a look at the plugin plugins/0_modeling_0_modifiers.py. Notice it’s barely 5 lines of code. Creating your own modeling plugin is as simple as that, pointing it to your own modifier data files.
=== Binary targets ===
Because loading these ASCII target files, and iterating all target files and folders can be slow (especially on windows) in build versions, we compile all targets in the data/targets system folder into a single binary file, that furthermore acts exactly the same as multiple target files. The binary targets file is stored in the system data/ folder and is called targets.npz, it is created by running the compile_targets.py script, which is also automatically run in the build_prepare.py build routine. The file structure of the targets files is maintained in this binary file so that targets can be loaded from it in the same way as you would do with regular files. A change in the .target files, or newly added target files allow a recompilation of the targets npz file before the change is applied.
== Material format==
=== Introduction ===
MakeHuman material files have extension .mhmat and are simple ASCII definitions
of the material settings to use for rendering.
These material settings are primarily intended for configuring the material
system within MakeHuman, but they are usually carried out to other software as
well by the exporters.
Not all properties will be supported for all given combinations of shaders, nor
is there a guarantee that the exporters will honor all the properties in these
files.
Every 3D object in MakeHuman has exactly one material attached to it (multiple
materials are not possible, you need separate objects for that). Materials are
used for proxy meshes (clothes, hairs, ...) but also for the skin of the human
itself.
=== The Material System ===
The MakeHuman material system is closely based on the [https://en.wikipedia.org/wiki/Rendering_equation standard rendering equation]
as is used in OpenGL and DirectX forward rendering pipelines. MakeHuman supports
shaders and the material format contains the most commonly used extensions in
real-time rendering. As a consequence of this, users need to be aware of the
implications of setting values such as ambient too bright, or diffuse too dark.
All usual rules about rendering materials apply.
At the highest level, the material supports setting the most basic material
properties, such as diffuse, specular and ambient color. These are supported
both by shaders as well as the fixed function shading pipeline (which is used
when no shader is specified). Fixed function also supports the diffuse texture
option.
At a second level, a shader can be chosen. This refers directly to the filename
of a [https://en.wikipedia.org/wiki/OpenGL_Shading_Language GLSL shader] as found in the data/shaders/glsl folder of MakeHuman.
The selected shader will determine what material options will be available.
At the third level, various additional settings become available, depending on whether or not the
chosen shader has support for these features, such as bump or normal mapping,
ambient occlusion, specular mapping, etc.
For most of these, a texture map and a scalar property between 0 and 1 can be
set, the latter determining the intensity or influence of the effect.
Finally, MakeHuman also contains a built-in offline renderer that supports some
additional properties such as subsurface scattering, for which some special
properties are available.
=== Example ===
This is a full and complete (but fictional) example of a material file for MakeHuman, it shows all the available properties.
# Example MakeHuman Material definition
name Material_name
tag some_tag
tag another_tag
description material description text here
ambientColor 0.11 0.11 0.11
diffuseColor 1.0 1.0 1.0
specularColor 0.0470588235294 0.0470588235294 0.0470588235294
shininess 0.96
emissiveColor 0.0 0.0 0.0
opacity 1.0
translucency 0.0
shadeless False
wireframe False
transparent True
alphaToCoverage True
backfaceCull False
depthless False
autoBlendSkin False
castShadows True
receiveShadows True
diffuseTexture diffuse_texture.png
bumpmapTexture bumpmap.png
bumpmapIntensity 1.0
normalmapTexture normalmap.png
normalmapIntensity 1.0
displacementmapTexture norm_displacement.png
displacementmapIntensity 1.0
specularmapTexture specular.png
specularmapIntensity 1.0
transparencymapTexture alpha.png
transparencymapIntensity 1.0
aomapTexture ambient_occlusion_map.png
aomapIntensity 1.0
# Sub-surface scattering parameters
sssEnabled True
sssRScale 5.0
sssGScale 2.5
sssBScale 1.0
shader shaders/glsl/litsphere
shaderParam litsphereTexture litspheres/lit_hair.png
shaderConfig ambientOcclusion True
shaderConfig normal False
shaderConfig bump True
shaderConfig displacement False
shaderConfig vertexColors True
shaderConfig spec True
shaderConfig transparency True
shaderConfig diffuse True
shaderDefine ALPHA_MAP
uvMap alt_uv_coords.mhuv
This is another example, this time a real one. It is the X-ray material, used for example when showing the skeleton:
# Material definition for XrayMaterial
name XrayMaterial
ambientColor 0.1 0.1 0.1
diffuseColor 1.0 1.0 1.0
specularColor 0.3 0.3 0.3
shininess 0.1
emissiveColor 0.0 0.0 0.0
opacity 0.1
translucency 0.0
transparent True
backfaceCull True
shadeless False
wireframe False
depthless False
shader data/shaders/glsl/xray
shaderConfig diffuse False
shaderConfig transparency False
shaderConfig normal False
shaderConfig bump False
shaderConfig spec False
shaderConfig vertexColors False
shaderConfig displacement False
=== Explanation of material properties ===
==== Standard settings ====
''ambientColor'', ''diffuseColor'' ''specularColor'', ''emissiveColor'' are the standard colors
as used in the [https://en.wikipedia.org/wiki/Rendering_equation rendering equation]
or in standard OpenGL.
Their corresponding intensities are simple scalars with a value between 0 and 1 and are multiplied
with the colors to dim them. Default these intensities are set to 1.
Colors are described as three floating point numbers, representing R G B, or red-green-blue
values. 1 is the maximum, 0 the minimum.
For example 1.0 0 0 means fully red, 1 1 1 means full white, 0 0 0 is full black.
0.5 0.5 0.5 will give you a grey middle color.
''opacity'' determines the opaqueness of the object (alpha channel), with 1 being fully
opaque, and 0 being fully transparent (invisible)
''translucency'' is something that came from Blender but is unused
==== Texture maps ====
Various standard texture maps can be defined on the material, like ''diffuseTexture'', ''bumpmapTexture'', ''normalmapTexture'', ''displacementmapTexture'', ''specularmapTexture'', ''transparencymapTexture'', ''aomapTexture''. Each of these also has an associated intensity value, which is a scalar from 0 to 1 multiplied with the pixel value of that texture (unless a specific shader implements it differently).
These textures only have an effect if their corresponding shaderConfig feature has been defined (see the table in Shaders section).
==== Render states ====
When ''wireframe'' is set to True, the model is drawn in wireframe mode. In this mode,
most material properties have no effect, but you can enable the vertexColors shaderConfig
to be able to change the color of the mesh using vertex colors (this requires
access to the mesh programatically, obj meshes do not support vertex colors).
This feature is used in some parts of MakeHuman, for example viewing bone weights
in the skeleton debug plugin.
Set ''shadeless'' to True to disable shading, eg. the object is not affected by lights.
Configured shader will have no effect
Set ''transparent'' to True to enable transparency rendering (usually needed when opacity is < 1)
In itself this does not change the visual appearance of the model, but this setting
should be enabled if your texture contains (semi-) transparent parts. This setting
instructs the renderer to disable depth buffer writes (glDepthMask(false))
and enables alpha testing and blending so that transparent surfaces can overlap and to allow [https://www.opengl.org/wiki/Transparency_Sorting alpha blending].
''alphaToCoverage'' Applies when transparent is set to True (otherwise does nothing).
It requires that your GPU supports alpha to coverage (A2C) rendering. It enables
the A2C feature which provides face order-independent alpha rendering. This works
very well for complex transparent meshes, like hair. At the cost of a slightly
dithered look, it solves all the problems with face sorting that are usually
involved in rendering semi transparency.
(This feature disables anti-aliasing for this object because the multisample buffer is used for alpha blending instead)
Set ''backfaceCull'' to False to disable backface culling (render the back side of polygons)
By default, and in most cases, this should be set to True, but can be useful
in some cases (for example, we disable back-face culling for the eyebrow materials).
Set ''depthless'' to True for depthless rendering (object is not occluded and does not occlude other objects).
This disables OpenGL depth writes and tests. In practice, this makes object faces that should be occluded shine through others.
''castShadows'' determines whether the object casts shadows on other objects.
''receiveShadows'' determines whether the object receives shadows from other objects.
For some features, like eyes, you probably want to disable shadow receiving.
Since MakeHuman does not (yet) implement shadow casting, the shadow settings have
no effect in MakeHuman, but they do export to other engines.
Play around with these settings in the Material Editor plugin to see their effect, that's the best advise I can give you.
The best way to find out which settings work for an asset, is simply to try them out.
==== autoBlendSkin ====
If True MakeHuman will set the diffuse color based on the ethnix mix set for the character.
Any diffuseColor set in the material file will be overridden by this.
Also the shaderParam litsphereTexture will be automatically set to a dynamically blended litsphere texture,
which is a mix of three litsphere materials (afro, asian, caucasian) depending on the ethnic mix of the character.
This latter is specifically intended to be used with the litsphere shader, and it is what you see as default material when you start MakeHuman
This overrides whatever shaderParam litsphereTexture was set in the material file.
This setting is intended only for skin materials.
==== shaderParam ====
Define a custom shader parameter (uniform), which might be required for some non-standard shaders.
For example, the litsphere shader takes an extra type of texture map as input, a so-called litsphere texture.
This generic system of mapping shader uniforms allows you to create specialised shaders that take
new and different kind of inputs, and allow configuring the shader from the material file.
shaderParam can be a list of floating point numbers, in which case it will be interpreted as a vector,
or it can be a file path, in which case it is assumed to be an image path.
Internally in MakeHuman, shaderParams can also be assigned a texture object, which allows
for dynamically passing a texture that is in memory, but perhaps not stored on disk.
Another example of a custom shaderParam is the X-ray shader that defines an edgefalloff
and intensity uniform parameter.
These could be changed from the material file with
shaderParam edgefalloff 0.8
shaderParam intensity 0.77
==== shaderDefine ====
shaderDefines allow enabling or disabling custom shading techniques in shaders.
These allow to define new shading techniques, apart from the pre-defined ones
such as normal mapping, specularity mapping, ...
It's a generic system that allows new shaders to be added and configured from
the material file, or from the material editor (which nicely auto-detects these
features in the shader and shows a set of checkboxes for them).
==== uvMap ====
Load custom UV coordinates on the mesh to use this material. This makes the material
completely dependent on the mesh it is used with.
Takes a path to a .mhuv file, which is actually just an .obj file, where the vertex
positions can be deleted (they can remain in there, but they are ignored).
Requirement for it to work is that the vertex order is the same as that of the
mesh obj.
An example uv map for the basemesh can be found in data/uvs/a7.mhuv, which is a
set of UV coordinates compatible with the old Alpha 7 mesh, allowing you to load
A7 textures on the new basemesh used in MakeHuman v1+
==== SSS properties ====
These are the so-called sub-surface scattering shading properties, currently only used by the built-in offline renderer. They were decided on while trying to figure out the most generic way to define SSS shading properties, so that they could easily be translated into SSS properties for a different renderer (as no single renderer that I know of has a standard for these). It's uncertain whether the format we have landed on currently is the best, or whether this will remain permanently or is still likely to change.
This setting should currently be considered experimental.
The properties are ''sssEnabled'', ''sssRScale'', ''sssGScale'' and ''sssBScale''.
=== Basic pointers for creating materials ===
* You can test the influence of material properties using the Material Editor plugin (which you can enable in Settings > Plugins, then restart)
* Using a diffuse texture? You probably want to set the diffuse color to 1 1 1 (pure white)
* Never set ambient color too bright, or your model will look completely white. 0.1 0.1 0.1 is a good value to start from.
* Emissive is usually set to black, unless you want a radioactive character
* Don't know how to define a color in numbers? Try the Material Editor plugin
* Higher shininess means smaller and sharper highlight, lower shininess makes the highlight larger and more blurred
* Reduce specular color to reduce the specularity, make it black for a rough and non shiny object
* opacity 1 means fully opaque, 0 means fully transparent (invisible)
* Do your (diffuse) textures contain transparency? Do not forget to enable transparency! Perhaps try if alpha-to-coverage improves the situation (especially for hair!).
=== Scene definition ===
To complete the rendering equation, you also need to define the scene. To be
more precise, the positions, types, color and intensities of the lights need to
be set. By default, MakeHuman only has a default scene with only one pointlight.
In MakeHuman, lights do not move if the camera is moved, or rather, the model is
rotated while the camera and lights remain static. So light positions are defined
relative to the camera position.
MakeHuman scenes are defined in .mhscene files, which are binary py-pickled files.
They can be created or modified using the Scene Editor plugin (can be enabled in
settings) and can be selected from the Scene library in the Render tab.
Fixed function shading pipeline supports up to 8 lights, specific light support
depends on the shader used, some shaders only support a certain type or number
of lights, other ignore the chosen scene altogether (for example the litsphere
shader that uses pre-baked environment lighting).
The built-in offline renderer also uses the specified scene.
Scenes are not exported along with the model.
=== Shaders ===
The most powerful functionality of the material system is unlocked when using
shaders.
MakeHuman shaders are intended to be written in a modular way, so that shading
features can be enabled or disabled using the material format. Examples of such
features are bump mapping, normal mapping, specular mapping, diffuse texturing,
ambient occlusion and displacement mapping.
MakeHuman includes a basic introspection function that allows it to determine
what features a shader supports. It accomplishes this by looking for #ifdef and #ifndef statements. If a shader supports a certain technique, it is supposed to
encapsulate this in #ifdef NORMALMAP ... #else ... #endif statements.
The idea is that of an [http://www.gamedev.net/topic/659145-what-is-a-uber-shader/ über shader], where performance is optimized by removing any dynamic branches (if then that) from shader code, and instead managing the features using defines and pre-processor branches.
When a different branch in the shader is activated, the shader code is recompiled entirely.
Instead of having different shaders for different features (eg. a specific normalmap shader to be able to do normal mapping), one general shader could be used instead, and normal mapping can simply be enabled or disabled from the material properties, without being required to swap shaders (a good default uber shader is [http://bugtracker.makehumancommunity.org/issues/160 still to be created for MakeHuman] Any help with this is welcome of course!).
The material system manages these shading functions by defining specific pre-processor
keywords when their corresponding shaderConfig property is set to true.
Shaders are recompiled when needed and stored in a shader cache for efficiency.
MakeHuman passes scene and material information to the shaders by certain uniform
parameters. Depending on which shaderConfig properties were enabled, additional
uniforms could be exposed to the shader. The shader does not have to declare all
these uniforms, however. MakeHuman binds only those uniforms present in the shader
if they have the right corresponding names.
Other properties are available from the OpenGL built-in uniforms or properties
(usually starting with gl_).
The following table lists these defines and the shaderConfig properties in the
material they relate to:
{| class="wikitable"
|-
! feature name
! shaderConfig
! shader #DEFINE
! exposed uniform parameters if enabled
! comment
|-
|default (always enabled)
|
|
|vec3 ambient, vec4 diffuse, vec4 specular, vec3 emissive
|diffuse and specular are 4-component color values, diffuse=[rgba] with a=opacity and specular=[rgbs] with s=shininess
|-
|Vertex coloring
|vertexColors
|VERTEX_COLOR
|
|Derive diffuse color from vertex colors
|-
|Diffuse texturing
|diffuse
|DIFFUSE
|diffuseTexture
|
|-
|Bump mapping
|bump
|BUMPMAP
|bumpmapTexture, bumpmapIntensity
|disabled if normal mapping is enabled (restriction might be lifted in the future)
|-
|Normal mapping
|normal
|NORMALMAP
|normalmapTexture, normalmapIntensity
|
|-
|Displacement mapping
|displacement
|DISPLACEMENT
|displacementmapTexture, displacementmapIntensity
|
|-
|Specularity mapping
|spec
|SPECULARMAP
|specularmapTexture, specularmapIntensity
|
|-
|Transpareny (alpha) maps
|transparency
|TRANSPARENCYMAP
|transparencymapTexture, transparencymapIntensity
|
|-
|Ambient occlusion maps
|ambientOcclusion
|AOMAP
|aomapTexture, aomapIntensity
|
|}
Additionally, MakeHuman exposes the vertex tangent as a vertex property, which
can be accessed by the shader.
attribute vec4 tangent
Currently, [http://www.terathon.com/code/tangent.html Lengyel’s Method] for tangent calculation
is used, but plans are to change this to [http://bugtracker.makehumancommunity.org/issues/87 mikktspace] in the future.
Shader examples for MakeHuman can be found here:
* Litsphere shader: [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/litsphere_vertex_shader.txt vertex][https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/litsphere_fragment_shader.txt fragment]
* Phong shader: [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/phong_vertex_shader.txt vertex][https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/phong_fragment_shader.txt fragment]
* Normal map shader (wip): [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/normalmap_vertex_shader.txt vertex] [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/normalmap_fragment_shader.txt fragment]
* X-ray shader: [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/xray_vertex_shader.txt vertex][https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/xray_fragment_shader.txt fragment]
==== Custom shader properties ====
Shaders can use non-standard #DEFINEs to allow enabling or disabling non-standard shading features, other than the ones that were foreseen in the material format (such as normal mapping, ...)
To add new ones, simply add #ifdef SOME_FEATURE statements to your shader code, the material system will automatically detect them.
From the material, you can enable them with
shaderDefine SOME_FEATURE
If not defined, the feature is assumed to be switched off.
A custom shader can also add new parameters to tweak. For example a color value or intensity value that influences the shading.
To do this, the shader author can simply add new uniform variables to their shader code. It is recommended to specify a default
value for them, so that if the material file does not explicitly mention them, they receive a sensible default value.
Example: the X-ray shader adds an edge-fallof property:
uniform float edgefalloff = 1.0;
From the material file, you can influence this value with:
shaderParam edgefalloff 0.5
shaderParam supports lists of float values (one or multiple, divided by spaces), eg
shaderParam edgecolor 0.7 0.3 0.4
or textures, by specifying a path to an image file (in which case they are assumed to be Sampler2D type)
Additionally, from within MakeHuman, they can be passed a Texture object, to dynamically pass them a texture that resides in memory, without the need for the texture to be stored in a file on disk.
This allows to dynamically alter the texture and have it displayed directly. MakeHuman takes care of caching the texture and updating it when it is modified.
For example, the auto skin tone blending of the litsphere texture is implemented in this way.
The material system will automatically detect these custom uniform parameters declared in the shader, for example the material editor plugin will present them in the GUI.
These features make for a general and extensible shader system.
00817053f49457a96e7abb45cb7fcccdfb619164
587
586
2016-01-27T16:43:19Z
Duststorm
19
/* Basic pointers */
wikitext
text/x-wiki
== Vertex weights ==
With vertex weights we intend a weighted mapping of vertices of a mesh to a bone of a skeleton. The weight is a value between 0 and 1, the sum of these weights for each vertex should be normalized, which means they should sum to 1 (note: no euclidian distance, just simple addition of all weights). A weight map in MakeHuman is expressed as a bone name (becomes a bone index internally, using the index of the bone in a breadth-first list relative to skeleton structure), a vertex name and a floating point weight between 0 and 1. This weighted vertex to bone mapping is used for skinning (posing and animating, using vertex skinning, smooth skinning or linear blend skinning algorithm). For the skinning algorithm to work correctly it’s required that the weights are always normalized, otherwise you will see vertices move out of place disproportionally (though the weight loading code in MakeHuman ensures that this normalization always happens, so this is not a concern to the artist that defines the weights). The vertex weights can be exported to external tools as well using formats such as collada (DAE), FBX, Ogre3D meshes or MD5 quake meshes.
=== Vertex weights and skeletons ===
Vertex weights are defined for the default “master” skeleton or rig. They are defined in a json file with jsonw extension. They link each vertex of the basemesh including helpers to a named bone of this master rig, together with a certain weight.
The weights loader automatically removes doubles and normalizes the weights (so that they sum to 1). It also reports what the maximum number of bone weights per vertex is, additionally it allows compiling the weights to a reduced set with n number of bone weights, and automatically renormalizes those weights so they, again, sum to 1.
When loading weights, any vertex that receives no weighting is assigned to the root bone, as this is needed for skinning to prevent all those vertices jumping to the origin (0*pos == 0).
Alternative skeletons can define their own weights, by referencing a weights file just like the master rig, or they can choose to derive their weights from the master rig, through so called reference bone mappings. Skeletons will derive their weights from the master rig if they do not specify a weights file explicitly. Custom vertex weights in alternative rigs override those defined on the master rig, except in the case where a proxy defines its own vertex weights. See section Vertex weights for proxies for more details.
=== Reference bones for vertex weights and poses ===
Reference bones are defined on alternative rigs, they are a list of names of bones contained in the master rig. Every bone of an alternative rig can have such a list of reference bones. An alternative rig can also omit these references if it uses the same name as bones in the master rig, in which the mapping is implicit. Having a list of bone references always overrides the implicit mapping. Reference bone mappings are required for two purposes.
They are used for mapping poses defined on the master rig to other rigs. All poses are defined as BVH files that pose the master rig, so they reference only the bone names of the master rig. Poses are applied to all other rigs by using the reference bone mapping: all the rotations that the pose applies to the referenced bones are combined (in the order in which the references were specified -- note: rotations are NOT commutative) and are applied to the alternative rig bone.
Reference bone mappings can also be used for determining vertex weights of custom rigs. If the alternative rig does not explicitly define its own vertex weights, the mapping of reference bones is used to infere a set of bone weights for each bone: All the weights of the reference bones on the master rig (with the weights definition of the default/master rig) are combined and apply to the bone of the alternative rig. Doubles are merged, and weights renormalized. Any vertex that is not weighted will be assigned to the root bone. Watch for messages in the log to verify this.
=== Vertex weights for proxies ===
Generally proxies are mapped to basemesh geometry, that means either to the body or to helpers, or a combination of both (though this is unusual). Proxies derive their vertex weights from the vertices on the basemesh on which they are fitted. A proxy defines its fitting as a 3d offset from one or three vertices on the basemesh, allowing it to deform as the human deforms. This mapping is used to transfer the vertex weights from basemesh to proxy: a proxy vertex referencing three basemesh vertices gets the bone weights of those three vertices. Doubles are merged and the weights are normalized, so that the influence factors are averaged or smoothed. In this case the weights applied to proxies are always those defined on the skeleton: either the weights explicitly defined on the skeleton, or the weights obtained from remapping the master rig weights to this skeleton using the reference bone mapping mentioned in the previous sections. There is an exception to this, which is explained in the next paragraph.
A proxy can explicitly define its own vertex (to bone) weights. In this case it overrides the weights that would be obtained through the proxy mapping, and replaces them by its own custom definition of weights. These vertex weights are always defined to reference the bones of the master rig (default skeleton), so they need to be remapped to other skeletons using reference bone mapping. This also means that the custom weights of a proxy override any custom weights mapping that might be loaded with an alternative rig (but only for that proxy item). Custom proxy weights should be avoided if possible, but are in some cases required, eg. for properly rigging shoes which are rigidly fitted to feet, or an alternative topology which defines very accurate rigging on the face. The general advice for custom rigs is therefore to stay as close to the master rig as possible, reusing as much bones identically as possible, to achieve the best results for proxies with custom weights.
In case of custom weight, the mhclo file must contain a line to indicate the weight file to use, using the keyword “vertexboneweights_file”, with the syntax:
vertexboneweights_file filename.jsonw
== Targets and modifiers ==
MakeHuman applies targets on the human by means of modifiers. Such a modifier has a value (usually between [0, 1] or [-1, 1]) that determines the effect of it on the human mesh. A modifier can control one or more targets and in apply the mixed sum of them on the mesh. Some modifiers.
=== Organization of targets ===
To make sure targets are linked to the right modifier, or to make managing targets easier, a certain discipline has to be observed in managing them. Targets are ASCII files in the data/targets or data/custom folder (in program or user folder) with a file extension of .target.
The file name and folder targets are in implicitly determines their group name. A group is identified by a sequence of tags or tokens, which are taken from the file and folder name of each target, and which can be delimited by “-” symbols, to include multiple tokens in a single file or folder name. The lib/targets.py module takes care of loading all the names of the available targets and assembles them into groups. All targets with the same tokens end up in the same group. This allows easy querying and requesting of targets. The creator is pretty much free to decide what groups to create for their targets. By passing the name of the target group to a modifier, they can make sure that modifier controls the targets belonging to this group. It does not matter whether you use folders or - delimited file names for creating groups.
An example:
data/targets/cartoon/eyes-large.target is categorized in group (cartoon, eyes, large)
data/targets/cartoon-eyes-large.target is also categorized in group (cartoon, eyes, large)
Most simple modifiers work by specifying a group (for example cartoon-eyes) and a set of two tokens to append at the end, depending on the position of the modifier slider (eg. small, large which would allow controlling the targets cartoon-eyes-small and cartoon-eyes-large by moving the slider to the left or right).
=== Reserved group tokens ===
Some of the tokens in the file or foldername of targets are linked to values that variables of the human can have. Such variables are for example age, weight, muscle, gender.
This table lists all the reserved tokens, and the variables they belong to.
{| class="wikitable"
|-
! Reserved token (value)
! Variable
|-
| female,male
| gender
|-
| baby, child, young, old
| age
|-
| african, caucasian, asian
| race
|-
| minmuscle, averagemuscle, maxmuscle
| muscle
|-
| minweight, averageweight, maxweight
| weight
|-
| minheight, averageheight, maxheight
| height
|-
| mincup, averagecup, maxcup
| breastsize
|-
| minfirmness, averagefirmness, maxfirmness
| breastfirmness
|-
| uncommonproportions, regularproportions, idealproportions
| bodyproportion
|}
Note that it is not a good idea to use simply “max” or “min” as a reserved token name, because they need to be unique (otherwise it would not be possible to determine whether they are a minimum for, for example, weight or height). These reserved tokens are declared in the lib/targets.py module. The variable can be set and queried on the human object, for example human.getAge(), human.setMuscle(0.7), human.getProportion().
The reserved tokens are NOT included in the group name, so you should at least include some other, non-reserved tokens in the file or folder names to assign your target to some meaningful group. The inclusion of these reserved tokens in your target names or paths makes it convenient to create macro modifiers.
=== Macro targets and modifiers ===
Macro modifiers are modifiers whose effect (the combination of targets they apply on the human) is influenced by macro variables set on the human (eg. human.set/getAge()). Therefore, macro modifiers often control a large set of targets (20 or even more). It’s also common for multiple modifiers to control exactly the same set of targets, for example the standard age/gender/race sliders all control the set of targets in the ‘macrodetails’ group. Each slider modifies a different variable (eg. human.setAge()) controlling the set of targets, and then reapplies a combination of the same set of targets on the human.
=== Macro modifier dependencies ===
There are other macro modifiers that can also depend on the same variables age, gender, race that is controlled by the main macro modifiers, as discussed above. For example the macro modifiers that influence the weight and muscle mass of the human, controls the targets group “macrodetails-universal”, the universal token is added by prepending “universal-” to all the file names of related targets, which all reside in the folder “macrodetails” (thus macrodetails-universal ends up being the group name). They could have been included all in the “macrodetails” group, but are kept separate for performance reasons, so that the “macrodetails” group of targets (which already contains some 40 targets or so) can be applied in realtime while moving the slider.
Of course a change in the variable that these age/race/gender modifiers control will have an effect on the macrodetails-universal modifiers (because they control targets that depend on age -- their targets include -young- -old- etc. tokens in their filenames). This means there are inter-dependencies between macro modifiers, if one is updated, another one that depends on it should be refreshed. These dependencies can be descibed as follows: one macro modifier controls exactly one macro variable (such as age). It (or rather, the targets it controls) can however depend on multiple macro variables. The trivial case is where a macro modifier only depends on the macro variable that it controls itself. The tracking of these dependencies and deciding which modifiers must be updated when another is changed happens automatically. Dependencies are automatically tracked as soon as you add a modifier to the human (by calling modifier.setHuman(human)). To make this more performant in real-time, the propagation of updates to modifiers is limited while sliders are dragged (see realtimeDependencyUpdates in apps/humanmodifier.py).
As you might have understood, creating modifiers that depend on human variables is almost automatic. The only thing you need to do is create some targets that resolve to the same group name, add variations for all the macro variables you want and add the proper reserved tokens to the file or folder name (refer to the left column in the table above), and create a modifier with this group name. Once added to the human, the dependencies are tracked automatically.
=== Organization of modifiers ===
We already discussed how we organized targets in groups, to make it easier to connect them to a modifier. Now we will discuss how we can do a similar thing for modifiers.
Modifiers provide an easy way to manage targets. They allow reducing many of hundreds of targets to a more manageable number of controllable properties. But even then, we still have about 100 modifiers, which is still quite a lot. Therefore we group them in groups of categories, much like we do in the GUI. This makes it easy to get a grouped overview of all modifiers when using an alternative interface, think of commandline or scripting. The way in which you declare the group and other properties of a modifier determines what target groups it gets its targets from.
Modifiers are declared with a group name, some intermediary “target name” and a number of tail tokens (2 or 3 usually, eg min/max). The group of targets controlled by these modifiers is composed as: groupname-targets_name-tail.
Macro modifiers are declared with a group name, and a controlled variable. The groupname must be the same groupname of the targets they control.
=== Declarative modifiers ===
Instead of hard coding what modifiers you want to instantiate, MakeHuman offers a data-based format to declare what modifiers should be created, and how they should be shown in a user interface with sliders.
A full declaration requires three files, all stored in data/modifiers. The first is the declaration of the modifiers (eg. modeling_modifiers.json). This format lists a modifier group name, and all the modifiers with their macro variable (if they are macro modifiers) or target name and 2 or 3 (if they are a modifier with a center point) tail tokens.
The second file adds a description to the modifiers declared in the first file. It basically contains a key-value set, referencing the modifier name, and a textual description of what the modifier controls. A modifier name is constructed as follows: group/targets_name-all|the|tails and for a macro modifier: group/variable
The third file defines how these modifiers should be shown in the user interface as sliders. It lists a set of categories, and the sliders to show in them, and how their values have to be saved in a mhm file (mainly a feature for legacy compatibility).
=== Your own plugin with modifiers, sliders and targets ===
Using the declarative data format described in the section above, it’s really simple. Have a look at the plugin plugins/0_modeling_0_modifiers.py. Notice it’s barely 5 lines of code. Creating your own modeling plugin is as simple as that, pointing it to your own modifier data files.
=== Binary targets ===
Because loading these ASCII target files, and iterating all target files and folders can be slow (especially on windows) in build versions, we compile all targets in the data/targets system folder into a single binary file, that furthermore acts exactly the same as multiple target files. The binary targets file is stored in the system data/ folder and is called targets.npz, it is created by running the compile_targets.py script, which is also automatically run in the build_prepare.py build routine. The file structure of the targets files is maintained in this binary file so that targets can be loaded from it in the same way as you would do with regular files. A change in the .target files, or newly added target files allow a recompilation of the targets npz file before the change is applied.
== Material format==
=== Introduction ===
MakeHuman material files have extension .mhmat and are simple ASCII definitions
of the material settings to use for rendering.
These material settings are primarily intended for configuring the material
system within MakeHuman, but they are usually carried out to other software as
well by the exporters.
Not all properties will be supported for all given combinations of shaders, nor
is there a guarantee that the exporters will honor all the properties in these
files.
Every 3D object in MakeHuman has exactly one material attached to it (multiple
materials are not possible, you need separate objects for that). Materials are
used for proxy meshes (clothes, hairs, ...) but also for the skin of the human
itself.
=== The Material System ===
The MakeHuman material system is closely based on the [https://en.wikipedia.org/wiki/Rendering_equation standard rendering equation]
as is used in OpenGL and DirectX forward rendering pipelines. MakeHuman supports
shaders and the material format contains the most commonly used extensions in
real-time rendering. As a consequence of this, users need to be aware of the
implications of setting values such as ambient too bright, or diffuse too dark.
All usual rules about rendering materials apply.
At the highest level, the material supports setting the most basic material
properties, such as diffuse, specular and ambient color. These are supported
both by shaders as well as the fixed function shading pipeline (which is used
when no shader is specified). Fixed function also supports the diffuse texture
option.
At a second level, a shader can be chosen. This refers directly to the filename
of a [https://en.wikipedia.org/wiki/OpenGL_Shading_Language GLSL shader] as found in the data/shaders/glsl folder of MakeHuman.
The selected shader will determine what material options will be available.
At the third level, various additional settings become available, depending on whether or not the
chosen shader has support for these features, such as bump or normal mapping,
ambient occlusion, specular mapping, etc.
For most of these, a texture map and a scalar property between 0 and 1 can be
set, the latter determining the intensity or influence of the effect.
Finally, MakeHuman also contains a built-in offline renderer that supports some
additional properties such as subsurface scattering, for which some special
properties are available.
=== Example ===
This is a full and complete (but fictional) example of a material file for MakeHuman, it shows all the available properties.
# Example MakeHuman Material definition
name Material_name
tag some_tag
tag another_tag
description material description text here
ambientColor 0.11 0.11 0.11
diffuseColor 1.0 1.0 1.0
specularColor 0.0470588235294 0.0470588235294 0.0470588235294
shininess 0.96
emissiveColor 0.0 0.0 0.0
opacity 1.0
translucency 0.0
shadeless False
wireframe False
transparent True
alphaToCoverage True
backfaceCull False
depthless False
autoBlendSkin False
castShadows True
receiveShadows True
diffuseTexture diffuse_texture.png
bumpmapTexture bumpmap.png
bumpmapIntensity 1.0
normalmapTexture normalmap.png
normalmapIntensity 1.0
displacementmapTexture norm_displacement.png
displacementmapIntensity 1.0
specularmapTexture specular.png
specularmapIntensity 1.0
transparencymapTexture alpha.png
transparencymapIntensity 1.0
aomapTexture ambient_occlusion_map.png
aomapIntensity 1.0
# Sub-surface scattering parameters
sssEnabled True
sssRScale 5.0
sssGScale 2.5
sssBScale 1.0
shader shaders/glsl/litsphere
shaderParam litsphereTexture litspheres/lit_hair.png
shaderConfig ambientOcclusion True
shaderConfig normal False
shaderConfig bump True
shaderConfig displacement False
shaderConfig vertexColors True
shaderConfig spec True
shaderConfig transparency True
shaderConfig diffuse True
shaderDefine ALPHA_MAP
uvMap alt_uv_coords.mhuv
This is another example, this time a real one. It is the X-ray material, used for example when showing the skeleton:
# Material definition for XrayMaterial
name XrayMaterial
ambientColor 0.1 0.1 0.1
diffuseColor 1.0 1.0 1.0
specularColor 0.3 0.3 0.3
shininess 0.1
emissiveColor 0.0 0.0 0.0
opacity 0.1
translucency 0.0
transparent True
backfaceCull True
shadeless False
wireframe False
depthless False
shader data/shaders/glsl/xray
shaderConfig diffuse False
shaderConfig transparency False
shaderConfig normal False
shaderConfig bump False
shaderConfig spec False
shaderConfig vertexColors False
shaderConfig displacement False
=== Explanation of material properties ===
==== Standard settings ====
''ambientColor'', ''diffuseColor'' ''specularColor'', ''emissiveColor'' are the standard colors
as used in the [https://en.wikipedia.org/wiki/Rendering_equation rendering equation]
or in standard OpenGL.
Their corresponding intensities are simple scalars with a value between 0 and 1 and are multiplied
with the colors to dim them. Default these intensities are set to 1.
Colors are described as three floating point numbers, representing R G B, or red-green-blue
values. 1 is the maximum, 0 the minimum.
For example 1.0 0 0 means fully red, 1 1 1 means full white, 0 0 0 is full black.
0.5 0.5 0.5 will give you a grey middle color.
''opacity'' determines the opaqueness of the object (alpha channel), with 1 being fully
opaque, and 0 being fully transparent (invisible)
''translucency'' is something that came from Blender but is unused
==== Texture maps ====
Various standard texture maps can be defined on the material, like ''diffuseTexture'', ''bumpmapTexture'', ''normalmapTexture'', ''displacementmapTexture'', ''specularmapTexture'', ''transparencymapTexture'', ''aomapTexture''. Each of these also has an associated intensity value, which is a scalar from 0 to 1 multiplied with the pixel value of that texture (unless a specific shader implements it differently).
These textures only have an effect if their corresponding shaderConfig feature has been defined (see the table in Shaders section).
==== Render states ====
When ''wireframe'' is set to True, the model is drawn in wireframe mode. In this mode,
most material properties have no effect, but you can enable the vertexColors shaderConfig
to be able to change the color of the mesh using vertex colors (this requires
access to the mesh programatically, obj meshes do not support vertex colors).
This feature is used in some parts of MakeHuman, for example viewing bone weights
in the skeleton debug plugin.
Set ''shadeless'' to True to disable shading, eg. the object is not affected by lights.
Configured shader will have no effect
Set ''transparent'' to True to enable transparency rendering (usually needed when opacity is < 1)
In itself this does not change the visual appearance of the model, but this setting
should be enabled if your texture contains (semi-) transparent parts. This setting
instructs the renderer to disable depth buffer writes (glDepthMask(false))
and enables alpha testing and blending so that transparent surfaces can overlap and to allow [https://www.opengl.org/wiki/Transparency_Sorting alpha blending].
''alphaToCoverage'' Applies when transparent is set to True (otherwise does nothing).
It requires that your GPU supports alpha to coverage (A2C) rendering. It enables
the A2C feature which provides face order-independent alpha rendering. This works
very well for complex transparent meshes, like hair. At the cost of a slightly
dithered look, it solves all the problems with face sorting that are usually
involved in rendering semi transparency.
(This feature disables anti-aliasing for this object because the multisample buffer is used for alpha blending instead)
Set ''backfaceCull'' to False to disable backface culling (render the back side of polygons)
By default, and in most cases, this should be set to True, but can be useful
in some cases (for example, we disable back-face culling for the eyebrow materials).
Set ''depthless'' to True for depthless rendering (object is not occluded and does not occlude other objects).
This disables OpenGL depth writes and tests. In practice, this makes object faces that should be occluded shine through others.
''castShadows'' determines whether the object casts shadows on other objects.
''receiveShadows'' determines whether the object receives shadows from other objects.
For some features, like eyes, you probably want to disable shadow receiving.
Since MakeHuman does not (yet) implement shadow casting, the shadow settings have
no effect in MakeHuman, but they do export to other engines.
Play around with these settings in the Material Editor plugin to see their effect, that's the best advise I can give you.
The best way to find out which settings work for an asset, is simply to try them out.
==== autoBlendSkin ====
If True MakeHuman will set the diffuse color based on the ethnix mix set for the character.
Any diffuseColor set in the material file will be overridden by this.
Also the shaderParam litsphereTexture will be automatically set to a dynamically blended litsphere texture,
which is a mix of three litsphere materials (afro, asian, caucasian) depending on the ethnic mix of the character.
This latter is specifically intended to be used with the litsphere shader, and it is what you see as default material when you start MakeHuman
This overrides whatever shaderParam litsphereTexture was set in the material file.
This setting is intended only for skin materials.
==== shaderParam ====
Define a custom shader parameter (uniform), which might be required for some non-standard shaders.
For example, the litsphere shader takes an extra type of texture map as input, a so-called litsphere texture.
This generic system of mapping shader uniforms allows you to create specialised shaders that take
new and different kind of inputs, and allow configuring the shader from the material file.
shaderParam can be a list of floating point numbers, in which case it will be interpreted as a vector,
or it can be a file path, in which case it is assumed to be an image path.
Internally in MakeHuman, shaderParams can also be assigned a texture object, which allows
for dynamically passing a texture that is in memory, but perhaps not stored on disk.
Another example of a custom shaderParam is the X-ray shader that defines an edgefalloff
and intensity uniform parameter.
These could be changed from the material file with
shaderParam edgefalloff 0.8
shaderParam intensity 0.77
==== shaderDefine ====
shaderDefines allow enabling or disabling custom shading techniques in shaders.
These allow to define new shading techniques, apart from the pre-defined ones
such as normal mapping, specularity mapping, ...
It's a generic system that allows new shaders to be added and configured from
the material file, or from the material editor (which nicely auto-detects these
features in the shader and shows a set of checkboxes for them).
==== uvMap ====
Load custom UV coordinates on the mesh to use this material. This makes the material
completely dependent on the mesh it is used with.
Takes a path to a .mhuv file, which is actually just an .obj file, where the vertex
positions can be deleted (they can remain in there, but they are ignored).
Requirement for it to work is that the vertex order is the same as that of the
mesh obj.
An example uv map for the basemesh can be found in data/uvs/a7.mhuv, which is a
set of UV coordinates compatible with the old Alpha 7 mesh, allowing you to load
A7 textures on the new basemesh used in MakeHuman v1+
==== SSS properties ====
These are the so-called sub-surface scattering shading properties, currently only used by the built-in offline renderer. They were decided on while trying to figure out the most generic way to define SSS shading properties, so that they could easily be translated into SSS properties for a different renderer (as no single renderer that I know of has a standard for these). It's uncertain whether the format we have landed on currently is the best, or whether this will remain permanently or is still likely to change.
This setting should currently be considered experimental.
The properties are ''sssEnabled'', ''sssRScale'', ''sssGScale'' and ''sssBScale''.
=== Basic pointers for creating materials ===
* You can test the influence of material properties using the Material Editor plugin (which you can enable in Settings > Plugins, then restart)
* Using a diffuse texture? You probably want to set the diffuse color to 1 1 1 (pure white)
* Never set ambient color too bright, or your model will look completely white. 0.1 0.1 0.1 is a good value to start from.
* Emissive is usually set to black, unless you want a radioactive character
* Don't know how to define a color in numbers? Try the Material Editor plugin
* Higher shininess means smaller and sharper highlight, lower shininess makes the highlight larger and more blurred
* Reduce specular color to reduce the specularity, make it black for a rough and non shiny object
* opacity 1 means fully opaque, 0 means fully transparent (invisible)
=== Scene definition ===
To complete the rendering equation, you also need to define the scene. To be
more precise, the positions, types, color and intensities of the lights need to
be set. By default, MakeHuman only has a default scene with only one pointlight.
In MakeHuman, lights do not move if the camera is moved, or rather, the model is
rotated while the camera and lights remain static. So light positions are defined
relative to the camera position.
MakeHuman scenes are defined in .mhscene files, which are binary py-pickled files.
They can be created or modified using the Scene Editor plugin (can be enabled in
settings) and can be selected from the Scene library in the Render tab.
Fixed function shading pipeline supports up to 8 lights, specific light support
depends on the shader used, some shaders only support a certain type or number
of lights, other ignore the chosen scene altogether (for example the litsphere
shader that uses pre-baked environment lighting).
The built-in offline renderer also uses the specified scene.
Scenes are not exported along with the model.
=== Shaders ===
The most powerful functionality of the material system is unlocked when using
shaders.
MakeHuman shaders are intended to be written in a modular way, so that shading
features can be enabled or disabled using the material format. Examples of such
features are bump mapping, normal mapping, specular mapping, diffuse texturing,
ambient occlusion and displacement mapping.
MakeHuman includes a basic introspection function that allows it to determine
what features a shader supports. It accomplishes this by looking for #ifdef and #ifndef statements. If a shader supports a certain technique, it is supposed to
encapsulate this in #ifdef NORMALMAP ... #else ... #endif statements.
The idea is that of an [http://www.gamedev.net/topic/659145-what-is-a-uber-shader/ über shader], where performance is optimized by removing any dynamic branches (if then that) from shader code, and instead managing the features using defines and pre-processor branches.
When a different branch in the shader is activated, the shader code is recompiled entirely.
Instead of having different shaders for different features (eg. a specific normalmap shader to be able to do normal mapping), one general shader could be used instead, and normal mapping can simply be enabled or disabled from the material properties, without being required to swap shaders (a good default uber shader is [http://bugtracker.makehumancommunity.org/issues/160 still to be created for MakeHuman] Any help with this is welcome of course!).
The material system manages these shading functions by defining specific pre-processor
keywords when their corresponding shaderConfig property is set to true.
Shaders are recompiled when needed and stored in a shader cache for efficiency.
MakeHuman passes scene and material information to the shaders by certain uniform
parameters. Depending on which shaderConfig properties were enabled, additional
uniforms could be exposed to the shader. The shader does not have to declare all
these uniforms, however. MakeHuman binds only those uniforms present in the shader
if they have the right corresponding names.
Other properties are available from the OpenGL built-in uniforms or properties
(usually starting with gl_).
The following table lists these defines and the shaderConfig properties in the
material they relate to:
{| class="wikitable"
|-
! feature name
! shaderConfig
! shader #DEFINE
! exposed uniform parameters if enabled
! comment
|-
|default (always enabled)
|
|
|vec3 ambient, vec4 diffuse, vec4 specular, vec3 emissive
|diffuse and specular are 4-component color values, diffuse=[rgba] with a=opacity and specular=[rgbs] with s=shininess
|-
|Vertex coloring
|vertexColors
|VERTEX_COLOR
|
|Derive diffuse color from vertex colors
|-
|Diffuse texturing
|diffuse
|DIFFUSE
|diffuseTexture
|
|-
|Bump mapping
|bump
|BUMPMAP
|bumpmapTexture, bumpmapIntensity
|disabled if normal mapping is enabled (restriction might be lifted in the future)
|-
|Normal mapping
|normal
|NORMALMAP
|normalmapTexture, normalmapIntensity
|
|-
|Displacement mapping
|displacement
|DISPLACEMENT
|displacementmapTexture, displacementmapIntensity
|
|-
|Specularity mapping
|spec
|SPECULARMAP
|specularmapTexture, specularmapIntensity
|
|-
|Transpareny (alpha) maps
|transparency
|TRANSPARENCYMAP
|transparencymapTexture, transparencymapIntensity
|
|-
|Ambient occlusion maps
|ambientOcclusion
|AOMAP
|aomapTexture, aomapIntensity
|
|}
Additionally, MakeHuman exposes the vertex tangent as a vertex property, which
can be accessed by the shader.
attribute vec4 tangent
Currently, [http://www.terathon.com/code/tangent.html Lengyel’s Method] for tangent calculation
is used, but plans are to change this to [http://bugtracker.makehumancommunity.org/issues/87 mikktspace] in the future.
Shader examples for MakeHuman can be found here:
* Litsphere shader: [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/litsphere_vertex_shader.txt vertex][https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/litsphere_fragment_shader.txt fragment]
* Phong shader: [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/phong_vertex_shader.txt vertex][https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/phong_fragment_shader.txt fragment]
* Normal map shader (wip): [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/normalmap_vertex_shader.txt vertex] [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/normalmap_fragment_shader.txt fragment]
* X-ray shader: [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/xray_vertex_shader.txt vertex][https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/xray_fragment_shader.txt fragment]
==== Custom shader properties ====
Shaders can use non-standard #DEFINEs to allow enabling or disabling non-standard shading features, other than the ones that were foreseen in the material format (such as normal mapping, ...)
To add new ones, simply add #ifdef SOME_FEATURE statements to your shader code, the material system will automatically detect them.
From the material, you can enable them with
shaderDefine SOME_FEATURE
If not defined, the feature is assumed to be switched off.
A custom shader can also add new parameters to tweak. For example a color value or intensity value that influences the shading.
To do this, the shader author can simply add new uniform variables to their shader code. It is recommended to specify a default
value for them, so that if the material file does not explicitly mention them, they receive a sensible default value.
Example: the X-ray shader adds an edge-fallof property:
uniform float edgefalloff = 1.0;
From the material file, you can influence this value with:
shaderParam edgefalloff 0.5
shaderParam supports lists of float values (one or multiple, divided by spaces), eg
shaderParam edgecolor 0.7 0.3 0.4
or textures, by specifying a path to an image file (in which case they are assumed to be Sampler2D type)
Additionally, from within MakeHuman, they can be passed a Texture object, to dynamically pass them a texture that resides in memory, without the need for the texture to be stored in a file on disk.
This allows to dynamically alter the texture and have it displayed directly. MakeHuman takes care of caching the texture and updating it when it is modified.
For example, the auto skin tone blending of the litsphere texture is implemented in this way.
The material system will automatically detect these custom uniform parameters declared in the shader, for example the material editor plugin will present them in the GUI.
These features make for a general and extensible shader system.
8aa68c3aeef23d67cb6d62ec07d028f866565163
586
585
2016-01-27T16:41:09Z
Duststorm
19
/* Shaders */
wikitext
text/x-wiki
== Vertex weights ==
With vertex weights we intend a weighted mapping of vertices of a mesh to a bone of a skeleton. The weight is a value between 0 and 1, the sum of these weights for each vertex should be normalized, which means they should sum to 1 (note: no euclidian distance, just simple addition of all weights). A weight map in MakeHuman is expressed as a bone name (becomes a bone index internally, using the index of the bone in a breadth-first list relative to skeleton structure), a vertex name and a floating point weight between 0 and 1. This weighted vertex to bone mapping is used for skinning (posing and animating, using vertex skinning, smooth skinning or linear blend skinning algorithm). For the skinning algorithm to work correctly it’s required that the weights are always normalized, otherwise you will see vertices move out of place disproportionally (though the weight loading code in MakeHuman ensures that this normalization always happens, so this is not a concern to the artist that defines the weights). The vertex weights can be exported to external tools as well using formats such as collada (DAE), FBX, Ogre3D meshes or MD5 quake meshes.
=== Vertex weights and skeletons ===
Vertex weights are defined for the default “master” skeleton or rig. They are defined in a json file with jsonw extension. They link each vertex of the basemesh including helpers to a named bone of this master rig, together with a certain weight.
The weights loader automatically removes doubles and normalizes the weights (so that they sum to 1). It also reports what the maximum number of bone weights per vertex is, additionally it allows compiling the weights to a reduced set with n number of bone weights, and automatically renormalizes those weights so they, again, sum to 1.
When loading weights, any vertex that receives no weighting is assigned to the root bone, as this is needed for skinning to prevent all those vertices jumping to the origin (0*pos == 0).
Alternative skeletons can define their own weights, by referencing a weights file just like the master rig, or they can choose to derive their weights from the master rig, through so called reference bone mappings. Skeletons will derive their weights from the master rig if they do not specify a weights file explicitly. Custom vertex weights in alternative rigs override those defined on the master rig, except in the case where a proxy defines its own vertex weights. See section Vertex weights for proxies for more details.
=== Reference bones for vertex weights and poses ===
Reference bones are defined on alternative rigs, they are a list of names of bones contained in the master rig. Every bone of an alternative rig can have such a list of reference bones. An alternative rig can also omit these references if it uses the same name as bones in the master rig, in which the mapping is implicit. Having a list of bone references always overrides the implicit mapping. Reference bone mappings are required for two purposes.
They are used for mapping poses defined on the master rig to other rigs. All poses are defined as BVH files that pose the master rig, so they reference only the bone names of the master rig. Poses are applied to all other rigs by using the reference bone mapping: all the rotations that the pose applies to the referenced bones are combined (in the order in which the references were specified -- note: rotations are NOT commutative) and are applied to the alternative rig bone.
Reference bone mappings can also be used for determining vertex weights of custom rigs. If the alternative rig does not explicitly define its own vertex weights, the mapping of reference bones is used to infere a set of bone weights for each bone: All the weights of the reference bones on the master rig (with the weights definition of the default/master rig) are combined and apply to the bone of the alternative rig. Doubles are merged, and weights renormalized. Any vertex that is not weighted will be assigned to the root bone. Watch for messages in the log to verify this.
=== Vertex weights for proxies ===
Generally proxies are mapped to basemesh geometry, that means either to the body or to helpers, or a combination of both (though this is unusual). Proxies derive their vertex weights from the vertices on the basemesh on which they are fitted. A proxy defines its fitting as a 3d offset from one or three vertices on the basemesh, allowing it to deform as the human deforms. This mapping is used to transfer the vertex weights from basemesh to proxy: a proxy vertex referencing three basemesh vertices gets the bone weights of those three vertices. Doubles are merged and the weights are normalized, so that the influence factors are averaged or smoothed. In this case the weights applied to proxies are always those defined on the skeleton: either the weights explicitly defined on the skeleton, or the weights obtained from remapping the master rig weights to this skeleton using the reference bone mapping mentioned in the previous sections. There is an exception to this, which is explained in the next paragraph.
A proxy can explicitly define its own vertex (to bone) weights. In this case it overrides the weights that would be obtained through the proxy mapping, and replaces them by its own custom definition of weights. These vertex weights are always defined to reference the bones of the master rig (default skeleton), so they need to be remapped to other skeletons using reference bone mapping. This also means that the custom weights of a proxy override any custom weights mapping that might be loaded with an alternative rig (but only for that proxy item). Custom proxy weights should be avoided if possible, but are in some cases required, eg. for properly rigging shoes which are rigidly fitted to feet, or an alternative topology which defines very accurate rigging on the face. The general advice for custom rigs is therefore to stay as close to the master rig as possible, reusing as much bones identically as possible, to achieve the best results for proxies with custom weights.
In case of custom weight, the mhclo file must contain a line to indicate the weight file to use, using the keyword “vertexboneweights_file”, with the syntax:
vertexboneweights_file filename.jsonw
== Targets and modifiers ==
MakeHuman applies targets on the human by means of modifiers. Such a modifier has a value (usually between [0, 1] or [-1, 1]) that determines the effect of it on the human mesh. A modifier can control one or more targets and in apply the mixed sum of them on the mesh. Some modifiers.
=== Organization of targets ===
To make sure targets are linked to the right modifier, or to make managing targets easier, a certain discipline has to be observed in managing them. Targets are ASCII files in the data/targets or data/custom folder (in program or user folder) with a file extension of .target.
The file name and folder targets are in implicitly determines their group name. A group is identified by a sequence of tags or tokens, which are taken from the file and folder name of each target, and which can be delimited by “-” symbols, to include multiple tokens in a single file or folder name. The lib/targets.py module takes care of loading all the names of the available targets and assembles them into groups. All targets with the same tokens end up in the same group. This allows easy querying and requesting of targets. The creator is pretty much free to decide what groups to create for their targets. By passing the name of the target group to a modifier, they can make sure that modifier controls the targets belonging to this group. It does not matter whether you use folders or - delimited file names for creating groups.
An example:
data/targets/cartoon/eyes-large.target is categorized in group (cartoon, eyes, large)
data/targets/cartoon-eyes-large.target is also categorized in group (cartoon, eyes, large)
Most simple modifiers work by specifying a group (for example cartoon-eyes) and a set of two tokens to append at the end, depending on the position of the modifier slider (eg. small, large which would allow controlling the targets cartoon-eyes-small and cartoon-eyes-large by moving the slider to the left or right).
=== Reserved group tokens ===
Some of the tokens in the file or foldername of targets are linked to values that variables of the human can have. Such variables are for example age, weight, muscle, gender.
This table lists all the reserved tokens, and the variables they belong to.
{| class="wikitable"
|-
! Reserved token (value)
! Variable
|-
| female,male
| gender
|-
| baby, child, young, old
| age
|-
| african, caucasian, asian
| race
|-
| minmuscle, averagemuscle, maxmuscle
| muscle
|-
| minweight, averageweight, maxweight
| weight
|-
| minheight, averageheight, maxheight
| height
|-
| mincup, averagecup, maxcup
| breastsize
|-
| minfirmness, averagefirmness, maxfirmness
| breastfirmness
|-
| uncommonproportions, regularproportions, idealproportions
| bodyproportion
|}
Note that it is not a good idea to use simply “max” or “min” as a reserved token name, because they need to be unique (otherwise it would not be possible to determine whether they are a minimum for, for example, weight or height). These reserved tokens are declared in the lib/targets.py module. The variable can be set and queried on the human object, for example human.getAge(), human.setMuscle(0.7), human.getProportion().
The reserved tokens are NOT included in the group name, so you should at least include some other, non-reserved tokens in the file or folder names to assign your target to some meaningful group. The inclusion of these reserved tokens in your target names or paths makes it convenient to create macro modifiers.
=== Macro targets and modifiers ===
Macro modifiers are modifiers whose effect (the combination of targets they apply on the human) is influenced by macro variables set on the human (eg. human.set/getAge()). Therefore, macro modifiers often control a large set of targets (20 or even more). It’s also common for multiple modifiers to control exactly the same set of targets, for example the standard age/gender/race sliders all control the set of targets in the ‘macrodetails’ group. Each slider modifies a different variable (eg. human.setAge()) controlling the set of targets, and then reapplies a combination of the same set of targets on the human.
=== Macro modifier dependencies ===
There are other macro modifiers that can also depend on the same variables age, gender, race that is controlled by the main macro modifiers, as discussed above. For example the macro modifiers that influence the weight and muscle mass of the human, controls the targets group “macrodetails-universal”, the universal token is added by prepending “universal-” to all the file names of related targets, which all reside in the folder “macrodetails” (thus macrodetails-universal ends up being the group name). They could have been included all in the “macrodetails” group, but are kept separate for performance reasons, so that the “macrodetails” group of targets (which already contains some 40 targets or so) can be applied in realtime while moving the slider.
Of course a change in the variable that these age/race/gender modifiers control will have an effect on the macrodetails-universal modifiers (because they control targets that depend on age -- their targets include -young- -old- etc. tokens in their filenames). This means there are inter-dependencies between macro modifiers, if one is updated, another one that depends on it should be refreshed. These dependencies can be descibed as follows: one macro modifier controls exactly one macro variable (such as age). It (or rather, the targets it controls) can however depend on multiple macro variables. The trivial case is where a macro modifier only depends on the macro variable that it controls itself. The tracking of these dependencies and deciding which modifiers must be updated when another is changed happens automatically. Dependencies are automatically tracked as soon as you add a modifier to the human (by calling modifier.setHuman(human)). To make this more performant in real-time, the propagation of updates to modifiers is limited while sliders are dragged (see realtimeDependencyUpdates in apps/humanmodifier.py).
As you might have understood, creating modifiers that depend on human variables is almost automatic. The only thing you need to do is create some targets that resolve to the same group name, add variations for all the macro variables you want and add the proper reserved tokens to the file or folder name (refer to the left column in the table above), and create a modifier with this group name. Once added to the human, the dependencies are tracked automatically.
=== Organization of modifiers ===
We already discussed how we organized targets in groups, to make it easier to connect them to a modifier. Now we will discuss how we can do a similar thing for modifiers.
Modifiers provide an easy way to manage targets. They allow reducing many of hundreds of targets to a more manageable number of controllable properties. But even then, we still have about 100 modifiers, which is still quite a lot. Therefore we group them in groups of categories, much like we do in the GUI. This makes it easy to get a grouped overview of all modifiers when using an alternative interface, think of commandline or scripting. The way in which you declare the group and other properties of a modifier determines what target groups it gets its targets from.
Modifiers are declared with a group name, some intermediary “target name” and a number of tail tokens (2 or 3 usually, eg min/max). The group of targets controlled by these modifiers is composed as: groupname-targets_name-tail.
Macro modifiers are declared with a group name, and a controlled variable. The groupname must be the same groupname of the targets they control.
=== Declarative modifiers ===
Instead of hard coding what modifiers you want to instantiate, MakeHuman offers a data-based format to declare what modifiers should be created, and how they should be shown in a user interface with sliders.
A full declaration requires three files, all stored in data/modifiers. The first is the declaration of the modifiers (eg. modeling_modifiers.json). This format lists a modifier group name, and all the modifiers with their macro variable (if they are macro modifiers) or target name and 2 or 3 (if they are a modifier with a center point) tail tokens.
The second file adds a description to the modifiers declared in the first file. It basically contains a key-value set, referencing the modifier name, and a textual description of what the modifier controls. A modifier name is constructed as follows: group/targets_name-all|the|tails and for a macro modifier: group/variable
The third file defines how these modifiers should be shown in the user interface as sliders. It lists a set of categories, and the sliders to show in them, and how their values have to be saved in a mhm file (mainly a feature for legacy compatibility).
=== Your own plugin with modifiers, sliders and targets ===
Using the declarative data format described in the section above, it’s really simple. Have a look at the plugin plugins/0_modeling_0_modifiers.py. Notice it’s barely 5 lines of code. Creating your own modeling plugin is as simple as that, pointing it to your own modifier data files.
=== Binary targets ===
Because loading these ASCII target files, and iterating all target files and folders can be slow (especially on windows) in build versions, we compile all targets in the data/targets system folder into a single binary file, that furthermore acts exactly the same as multiple target files. The binary targets file is stored in the system data/ folder and is called targets.npz, it is created by running the compile_targets.py script, which is also automatically run in the build_prepare.py build routine. The file structure of the targets files is maintained in this binary file so that targets can be loaded from it in the same way as you would do with regular files. A change in the .target files, or newly added target files allow a recompilation of the targets npz file before the change is applied.
== Material format==
=== Introduction ===
MakeHuman material files have extension .mhmat and are simple ASCII definitions
of the material settings to use for rendering.
These material settings are primarily intended for configuring the material
system within MakeHuman, but they are usually carried out to other software as
well by the exporters.
Not all properties will be supported for all given combinations of shaders, nor
is there a guarantee that the exporters will honor all the properties in these
files.
Every 3D object in MakeHuman has exactly one material attached to it (multiple
materials are not possible, you need separate objects for that). Materials are
used for proxy meshes (clothes, hairs, ...) but also for the skin of the human
itself.
=== The Material System ===
The MakeHuman material system is closely based on the [https://en.wikipedia.org/wiki/Rendering_equation standard rendering equation]
as is used in OpenGL and DirectX forward rendering pipelines. MakeHuman supports
shaders and the material format contains the most commonly used extensions in
real-time rendering. As a consequence of this, users need to be aware of the
implications of setting values such as ambient too bright, or diffuse too dark.
All usual rules about rendering materials apply.
At the highest level, the material supports setting the most basic material
properties, such as diffuse, specular and ambient color. These are supported
both by shaders as well as the fixed function shading pipeline (which is used
when no shader is specified). Fixed function also supports the diffuse texture
option.
At a second level, a shader can be chosen. This refers directly to the filename
of a [https://en.wikipedia.org/wiki/OpenGL_Shading_Language GLSL shader] as found in the data/shaders/glsl folder of MakeHuman.
The selected shader will determine what material options will be available.
At the third level, various additional settings become available, depending on whether or not the
chosen shader has support for these features, such as bump or normal mapping,
ambient occlusion, specular mapping, etc.
For most of these, a texture map and a scalar property between 0 and 1 can be
set, the latter determining the intensity or influence of the effect.
Finally, MakeHuman also contains a built-in offline renderer that supports some
additional properties such as subsurface scattering, for which some special
properties are available.
=== Example ===
This is a full and complete (but fictional) example of a material file for MakeHuman, it shows all the available properties.
# Example MakeHuman Material definition
name Material_name
tag some_tag
tag another_tag
description material description text here
ambientColor 0.11 0.11 0.11
diffuseColor 1.0 1.0 1.0
specularColor 0.0470588235294 0.0470588235294 0.0470588235294
shininess 0.96
emissiveColor 0.0 0.0 0.0
opacity 1.0
translucency 0.0
shadeless False
wireframe False
transparent True
alphaToCoverage True
backfaceCull False
depthless False
autoBlendSkin False
castShadows True
receiveShadows True
diffuseTexture diffuse_texture.png
bumpmapTexture bumpmap.png
bumpmapIntensity 1.0
normalmapTexture normalmap.png
normalmapIntensity 1.0
displacementmapTexture norm_displacement.png
displacementmapIntensity 1.0
specularmapTexture specular.png
specularmapIntensity 1.0
transparencymapTexture alpha.png
transparencymapIntensity 1.0
aomapTexture ambient_occlusion_map.png
aomapIntensity 1.0
# Sub-surface scattering parameters
sssEnabled True
sssRScale 5.0
sssGScale 2.5
sssBScale 1.0
shader shaders/glsl/litsphere
shaderParam litsphereTexture litspheres/lit_hair.png
shaderConfig ambientOcclusion True
shaderConfig normal False
shaderConfig bump True
shaderConfig displacement False
shaderConfig vertexColors True
shaderConfig spec True
shaderConfig transparency True
shaderConfig diffuse True
shaderDefine ALPHA_MAP
uvMap alt_uv_coords.mhuv
This is another example, this time a real one. It is the X-ray material, used for example when showing the skeleton:
# Material definition for XrayMaterial
name XrayMaterial
ambientColor 0.1 0.1 0.1
diffuseColor 1.0 1.0 1.0
specularColor 0.3 0.3 0.3
shininess 0.1
emissiveColor 0.0 0.0 0.0
opacity 0.1
translucency 0.0
transparent True
backfaceCull True
shadeless False
wireframe False
depthless False
shader data/shaders/glsl/xray
shaderConfig diffuse False
shaderConfig transparency False
shaderConfig normal False
shaderConfig bump False
shaderConfig spec False
shaderConfig vertexColors False
shaderConfig displacement False
=== Explanation of material properties ===
==== Standard settings ====
''ambientColor'', ''diffuseColor'' ''specularColor'', ''emissiveColor'' are the standard colors
as used in the [https://en.wikipedia.org/wiki/Rendering_equation rendering equation]
or in standard OpenGL.
Their corresponding intensities are simple scalars with a value between 0 and 1 and are multiplied
with the colors to dim them. Default these intensities are set to 1.
Colors are described as three floating point numbers, representing R G B, or red-green-blue
values. 1 is the maximum, 0 the minimum.
For example 1.0 0 0 means fully red, 1 1 1 means full white, 0 0 0 is full black.
0.5 0.5 0.5 will give you a grey middle color.
''opacity'' determines the opaqueness of the object (alpha channel), with 1 being fully
opaque, and 0 being fully transparent (invisible)
''translucency'' is something that came from Blender but is unused
==== Texture maps ====
Various standard texture maps can be defined on the material, like ''diffuseTexture'', ''bumpmapTexture'', ''normalmapTexture'', ''displacementmapTexture'', ''specularmapTexture'', ''transparencymapTexture'', ''aomapTexture''. Each of these also has an associated intensity value, which is a scalar from 0 to 1 multiplied with the pixel value of that texture (unless a specific shader implements it differently).
These textures only have an effect if their corresponding shaderConfig feature has been defined (see the table in Shaders section).
==== Render states ====
When ''wireframe'' is set to True, the model is drawn in wireframe mode. In this mode,
most material properties have no effect, but you can enable the vertexColors shaderConfig
to be able to change the color of the mesh using vertex colors (this requires
access to the mesh programatically, obj meshes do not support vertex colors).
This feature is used in some parts of MakeHuman, for example viewing bone weights
in the skeleton debug plugin.
Set ''shadeless'' to True to disable shading, eg. the object is not affected by lights.
Configured shader will have no effect
Set ''transparent'' to True to enable transparency rendering (usually needed when opacity is < 1)
In itself this does not change the visual appearance of the model, but this setting
should be enabled if your texture contains (semi-) transparent parts. This setting
instructs the renderer to disable depth buffer writes (glDepthMask(false))
and enables alpha testing and blending so that transparent surfaces can overlap and to allow [https://www.opengl.org/wiki/Transparency_Sorting alpha blending].
''alphaToCoverage'' Applies when transparent is set to True (otherwise does nothing).
It requires that your GPU supports alpha to coverage (A2C) rendering. It enables
the A2C feature which provides face order-independent alpha rendering. This works
very well for complex transparent meshes, like hair. At the cost of a slightly
dithered look, it solves all the problems with face sorting that are usually
involved in rendering semi transparency.
(This feature disables anti-aliasing for this object because the multisample buffer is used for alpha blending instead)
Set ''backfaceCull'' to False to disable backface culling (render the back side of polygons)
By default, and in most cases, this should be set to True, but can be useful
in some cases (for example, we disable back-face culling for the eyebrow materials).
Set ''depthless'' to True for depthless rendering (object is not occluded and does not occlude other objects).
This disables OpenGL depth writes and tests. In practice, this makes object faces that should be occluded shine through others.
''castShadows'' determines whether the object casts shadows on other objects.
''receiveShadows'' determines whether the object receives shadows from other objects.
For some features, like eyes, you probably want to disable shadow receiving.
Since MakeHuman does not (yet) implement shadow casting, the shadow settings have
no effect in MakeHuman, but they do export to other engines.
Play around with these settings in the Material Editor plugin to see their effect, that's the best advise I can give you.
The best way to find out which settings work for an asset, is simply to try them out.
==== autoBlendSkin ====
If True MakeHuman will set the diffuse color based on the ethnix mix set for the character.
Any diffuseColor set in the material file will be overridden by this.
Also the shaderParam litsphereTexture will be automatically set to a dynamically blended litsphere texture,
which is a mix of three litsphere materials (afro, asian, caucasian) depending on the ethnic mix of the character.
This latter is specifically intended to be used with the litsphere shader, and it is what you see as default material when you start MakeHuman
This overrides whatever shaderParam litsphereTexture was set in the material file.
This setting is intended only for skin materials.
==== shaderParam ====
Define a custom shader parameter (uniform), which might be required for some non-standard shaders.
For example, the litsphere shader takes an extra type of texture map as input, a so-called litsphere texture.
This generic system of mapping shader uniforms allows you to create specialised shaders that take
new and different kind of inputs, and allow configuring the shader from the material file.
shaderParam can be a list of floating point numbers, in which case it will be interpreted as a vector,
or it can be a file path, in which case it is assumed to be an image path.
Internally in MakeHuman, shaderParams can also be assigned a texture object, which allows
for dynamically passing a texture that is in memory, but perhaps not stored on disk.
Another example of a custom shaderParam is the X-ray shader that defines an edgefalloff
and intensity uniform parameter.
These could be changed from the material file with
shaderParam edgefalloff 0.8
shaderParam intensity 0.77
==== shaderDefine ====
shaderDefines allow enabling or disabling custom shading techniques in shaders.
These allow to define new shading techniques, apart from the pre-defined ones
such as normal mapping, specularity mapping, ...
It's a generic system that allows new shaders to be added and configured from
the material file, or from the material editor (which nicely auto-detects these
features in the shader and shows a set of checkboxes for them).
==== uvMap ====
Load custom UV coordinates on the mesh to use this material. This makes the material
completely dependent on the mesh it is used with.
Takes a path to a .mhuv file, which is actually just an .obj file, where the vertex
positions can be deleted (they can remain in there, but they are ignored).
Requirement for it to work is that the vertex order is the same as that of the
mesh obj.
An example uv map for the basemesh can be found in data/uvs/a7.mhuv, which is a
set of UV coordinates compatible with the old Alpha 7 mesh, allowing you to load
A7 textures on the new basemesh used in MakeHuman v1+
==== SSS properties ====
These are the so-called sub-surface scattering shading properties, currently only used by the built-in offline renderer. They were decided on while trying to figure out the most generic way to define SSS shading properties, so that they could easily be translated into SSS properties for a different renderer (as no single renderer that I know of has a standard for these). It's uncertain whether the format we have landed on currently is the best, or whether this will remain permanently or is still likely to change.
This setting should currently be considered experimental.
The properties are ''sssEnabled'', ''sssRScale'', ''sssGScale'' and ''sssBScale''.
=== Basic pointers ===
* You can test the influence of material properties using the Material Editor plugin (which you can enable in Settings > Plugins, then restart)
* Using a diffuse texture? You probably want to set the diffuse color to 1 1 1 (pure white)
* Never set ambient color too bright, or your model will look completely white. 0.1 0.1 0.1 is a good value to start from.
* Emissive is usually set to black, unless you want a radioactive character
* Don't know how to define a color in numbers? Try the Material Editor plugin
* Higher shininess means smaller and sharper highlight, lower shininess makes the highlight larger and more blurred
* Reduce specular color to reduce the specularity, make it black for a rough and non shiny object
* opacity 1 means fully opaque, 0 means fully transparent (invisible)
=== Scene definition ===
To complete the rendering equation, you also need to define the scene. To be
more precise, the positions, types, color and intensities of the lights need to
be set. By default, MakeHuman only has a default scene with only one pointlight.
In MakeHuman, lights do not move if the camera is moved, or rather, the model is
rotated while the camera and lights remain static. So light positions are defined
relative to the camera position.
MakeHuman scenes are defined in .mhscene files, which are binary py-pickled files.
They can be created or modified using the Scene Editor plugin (can be enabled in
settings) and can be selected from the Scene library in the Render tab.
Fixed function shading pipeline supports up to 8 lights, specific light support
depends on the shader used, some shaders only support a certain type or number
of lights, other ignore the chosen scene altogether (for example the litsphere
shader that uses pre-baked environment lighting).
The built-in offline renderer also uses the specified scene.
Scenes are not exported along with the model.
=== Shaders ===
The most powerful functionality of the material system is unlocked when using
shaders.
MakeHuman shaders are intended to be written in a modular way, so that shading
features can be enabled or disabled using the material format. Examples of such
features are bump mapping, normal mapping, specular mapping, diffuse texturing,
ambient occlusion and displacement mapping.
MakeHuman includes a basic introspection function that allows it to determine
what features a shader supports. It accomplishes this by looking for #ifdef and #ifndef statements. If a shader supports a certain technique, it is supposed to
encapsulate this in #ifdef NORMALMAP ... #else ... #endif statements.
The idea is that of an [http://www.gamedev.net/topic/659145-what-is-a-uber-shader/ über shader], where performance is optimized by removing any dynamic branches (if then that) from shader code, and instead managing the features using defines and pre-processor branches.
When a different branch in the shader is activated, the shader code is recompiled entirely.
Instead of having different shaders for different features (eg. a specific normalmap shader to be able to do normal mapping), one general shader could be used instead, and normal mapping can simply be enabled or disabled from the material properties, without being required to swap shaders (a good default uber shader is [http://bugtracker.makehumancommunity.org/issues/160 still to be created for MakeHuman] Any help with this is welcome of course!).
The material system manages these shading functions by defining specific pre-processor
keywords when their corresponding shaderConfig property is set to true.
Shaders are recompiled when needed and stored in a shader cache for efficiency.
MakeHuman passes scene and material information to the shaders by certain uniform
parameters. Depending on which shaderConfig properties were enabled, additional
uniforms could be exposed to the shader. The shader does not have to declare all
these uniforms, however. MakeHuman binds only those uniforms present in the shader
if they have the right corresponding names.
Other properties are available from the OpenGL built-in uniforms or properties
(usually starting with gl_).
The following table lists these defines and the shaderConfig properties in the
material they relate to:
{| class="wikitable"
|-
! feature name
! shaderConfig
! shader #DEFINE
! exposed uniform parameters if enabled
! comment
|-
|default (always enabled)
|
|
|vec3 ambient, vec4 diffuse, vec4 specular, vec3 emissive
|diffuse and specular are 4-component color values, diffuse=[rgba] with a=opacity and specular=[rgbs] with s=shininess
|-
|Vertex coloring
|vertexColors
|VERTEX_COLOR
|
|Derive diffuse color from vertex colors
|-
|Diffuse texturing
|diffuse
|DIFFUSE
|diffuseTexture
|
|-
|Bump mapping
|bump
|BUMPMAP
|bumpmapTexture, bumpmapIntensity
|disabled if normal mapping is enabled (restriction might be lifted in the future)
|-
|Normal mapping
|normal
|NORMALMAP
|normalmapTexture, normalmapIntensity
|
|-
|Displacement mapping
|displacement
|DISPLACEMENT
|displacementmapTexture, displacementmapIntensity
|
|-
|Specularity mapping
|spec
|SPECULARMAP
|specularmapTexture, specularmapIntensity
|
|-
|Transpareny (alpha) maps
|transparency
|TRANSPARENCYMAP
|transparencymapTexture, transparencymapIntensity
|
|-
|Ambient occlusion maps
|ambientOcclusion
|AOMAP
|aomapTexture, aomapIntensity
|
|}
Additionally, MakeHuman exposes the vertex tangent as a vertex property, which
can be accessed by the shader.
attribute vec4 tangent
Currently, [http://www.terathon.com/code/tangent.html Lengyel’s Method] for tangent calculation
is used, but plans are to change this to [http://bugtracker.makehumancommunity.org/issues/87 mikktspace] in the future.
Shader examples for MakeHuman can be found here:
* Litsphere shader: [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/litsphere_vertex_shader.txt vertex][https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/litsphere_fragment_shader.txt fragment]
* Phong shader: [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/phong_vertex_shader.txt vertex][https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/phong_fragment_shader.txt fragment]
* Normal map shader (wip): [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/normalmap_vertex_shader.txt vertex] [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/normalmap_fragment_shader.txt fragment]
* X-ray shader: [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/xray_vertex_shader.txt vertex][https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/xray_fragment_shader.txt fragment]
==== Custom shader properties ====
Shaders can use non-standard #DEFINEs to allow enabling or disabling non-standard shading features, other than the ones that were foreseen in the material format (such as normal mapping, ...)
To add new ones, simply add #ifdef SOME_FEATURE statements to your shader code, the material system will automatically detect them.
From the material, you can enable them with
shaderDefine SOME_FEATURE
If not defined, the feature is assumed to be switched off.
A custom shader can also add new parameters to tweak. For example a color value or intensity value that influences the shading.
To do this, the shader author can simply add new uniform variables to their shader code. It is recommended to specify a default
value for them, so that if the material file does not explicitly mention them, they receive a sensible default value.
Example: the X-ray shader adds an edge-fallof property:
uniform float edgefalloff = 1.0;
From the material file, you can influence this value with:
shaderParam edgefalloff 0.5
shaderParam supports lists of float values (one or multiple, divided by spaces), eg
shaderParam edgecolor 0.7 0.3 0.4
or textures, by specifying a path to an image file (in which case they are assumed to be Sampler2D type)
Additionally, from within MakeHuman, they can be passed a Texture object, to dynamically pass them a texture that resides in memory, without the need for the texture to be stored in a file on disk.
This allows to dynamically alter the texture and have it displayed directly. MakeHuman takes care of caching the texture and updating it when it is modified.
For example, the auto skin tone blending of the litsphere texture is implemented in this way.
The material system will automatically detect these custom uniform parameters declared in the shader, for example the material editor plugin will present them in the GUI.
These features make for a general and extensible shader system.
7cf4fd277e0ee50d21780d0f5f5af68ee76afe72
585
584
2016-01-27T16:40:04Z
Duststorm
19
/* Shaders */
wikitext
text/x-wiki
== Vertex weights ==
With vertex weights we intend a weighted mapping of vertices of a mesh to a bone of a skeleton. The weight is a value between 0 and 1, the sum of these weights for each vertex should be normalized, which means they should sum to 1 (note: no euclidian distance, just simple addition of all weights). A weight map in MakeHuman is expressed as a bone name (becomes a bone index internally, using the index of the bone in a breadth-first list relative to skeleton structure), a vertex name and a floating point weight between 0 and 1. This weighted vertex to bone mapping is used for skinning (posing and animating, using vertex skinning, smooth skinning or linear blend skinning algorithm). For the skinning algorithm to work correctly it’s required that the weights are always normalized, otherwise you will see vertices move out of place disproportionally (though the weight loading code in MakeHuman ensures that this normalization always happens, so this is not a concern to the artist that defines the weights). The vertex weights can be exported to external tools as well using formats such as collada (DAE), FBX, Ogre3D meshes or MD5 quake meshes.
=== Vertex weights and skeletons ===
Vertex weights are defined for the default “master” skeleton or rig. They are defined in a json file with jsonw extension. They link each vertex of the basemesh including helpers to a named bone of this master rig, together with a certain weight.
The weights loader automatically removes doubles and normalizes the weights (so that they sum to 1). It also reports what the maximum number of bone weights per vertex is, additionally it allows compiling the weights to a reduced set with n number of bone weights, and automatically renormalizes those weights so they, again, sum to 1.
When loading weights, any vertex that receives no weighting is assigned to the root bone, as this is needed for skinning to prevent all those vertices jumping to the origin (0*pos == 0).
Alternative skeletons can define their own weights, by referencing a weights file just like the master rig, or they can choose to derive their weights from the master rig, through so called reference bone mappings. Skeletons will derive their weights from the master rig if they do not specify a weights file explicitly. Custom vertex weights in alternative rigs override those defined on the master rig, except in the case where a proxy defines its own vertex weights. See section Vertex weights for proxies for more details.
=== Reference bones for vertex weights and poses ===
Reference bones are defined on alternative rigs, they are a list of names of bones contained in the master rig. Every bone of an alternative rig can have such a list of reference bones. An alternative rig can also omit these references if it uses the same name as bones in the master rig, in which the mapping is implicit. Having a list of bone references always overrides the implicit mapping. Reference bone mappings are required for two purposes.
They are used for mapping poses defined on the master rig to other rigs. All poses are defined as BVH files that pose the master rig, so they reference only the bone names of the master rig. Poses are applied to all other rigs by using the reference bone mapping: all the rotations that the pose applies to the referenced bones are combined (in the order in which the references were specified -- note: rotations are NOT commutative) and are applied to the alternative rig bone.
Reference bone mappings can also be used for determining vertex weights of custom rigs. If the alternative rig does not explicitly define its own vertex weights, the mapping of reference bones is used to infere a set of bone weights for each bone: All the weights of the reference bones on the master rig (with the weights definition of the default/master rig) are combined and apply to the bone of the alternative rig. Doubles are merged, and weights renormalized. Any vertex that is not weighted will be assigned to the root bone. Watch for messages in the log to verify this.
=== Vertex weights for proxies ===
Generally proxies are mapped to basemesh geometry, that means either to the body or to helpers, or a combination of both (though this is unusual). Proxies derive their vertex weights from the vertices on the basemesh on which they are fitted. A proxy defines its fitting as a 3d offset from one or three vertices on the basemesh, allowing it to deform as the human deforms. This mapping is used to transfer the vertex weights from basemesh to proxy: a proxy vertex referencing three basemesh vertices gets the bone weights of those three vertices. Doubles are merged and the weights are normalized, so that the influence factors are averaged or smoothed. In this case the weights applied to proxies are always those defined on the skeleton: either the weights explicitly defined on the skeleton, or the weights obtained from remapping the master rig weights to this skeleton using the reference bone mapping mentioned in the previous sections. There is an exception to this, which is explained in the next paragraph.
A proxy can explicitly define its own vertex (to bone) weights. In this case it overrides the weights that would be obtained through the proxy mapping, and replaces them by its own custom definition of weights. These vertex weights are always defined to reference the bones of the master rig (default skeleton), so they need to be remapped to other skeletons using reference bone mapping. This also means that the custom weights of a proxy override any custom weights mapping that might be loaded with an alternative rig (but only for that proxy item). Custom proxy weights should be avoided if possible, but are in some cases required, eg. for properly rigging shoes which are rigidly fitted to feet, or an alternative topology which defines very accurate rigging on the face. The general advice for custom rigs is therefore to stay as close to the master rig as possible, reusing as much bones identically as possible, to achieve the best results for proxies with custom weights.
In case of custom weight, the mhclo file must contain a line to indicate the weight file to use, using the keyword “vertexboneweights_file”, with the syntax:
vertexboneweights_file filename.jsonw
== Targets and modifiers ==
MakeHuman applies targets on the human by means of modifiers. Such a modifier has a value (usually between [0, 1] or [-1, 1]) that determines the effect of it on the human mesh. A modifier can control one or more targets and in apply the mixed sum of them on the mesh. Some modifiers.
=== Organization of targets ===
To make sure targets are linked to the right modifier, or to make managing targets easier, a certain discipline has to be observed in managing them. Targets are ASCII files in the data/targets or data/custom folder (in program or user folder) with a file extension of .target.
The file name and folder targets are in implicitly determines their group name. A group is identified by a sequence of tags or tokens, which are taken from the file and folder name of each target, and which can be delimited by “-” symbols, to include multiple tokens in a single file or folder name. The lib/targets.py module takes care of loading all the names of the available targets and assembles them into groups. All targets with the same tokens end up in the same group. This allows easy querying and requesting of targets. The creator is pretty much free to decide what groups to create for their targets. By passing the name of the target group to a modifier, they can make sure that modifier controls the targets belonging to this group. It does not matter whether you use folders or - delimited file names for creating groups.
An example:
data/targets/cartoon/eyes-large.target is categorized in group (cartoon, eyes, large)
data/targets/cartoon-eyes-large.target is also categorized in group (cartoon, eyes, large)
Most simple modifiers work by specifying a group (for example cartoon-eyes) and a set of two tokens to append at the end, depending on the position of the modifier slider (eg. small, large which would allow controlling the targets cartoon-eyes-small and cartoon-eyes-large by moving the slider to the left or right).
=== Reserved group tokens ===
Some of the tokens in the file or foldername of targets are linked to values that variables of the human can have. Such variables are for example age, weight, muscle, gender.
This table lists all the reserved tokens, and the variables they belong to.
{| class="wikitable"
|-
! Reserved token (value)
! Variable
|-
| female,male
| gender
|-
| baby, child, young, old
| age
|-
| african, caucasian, asian
| race
|-
| minmuscle, averagemuscle, maxmuscle
| muscle
|-
| minweight, averageweight, maxweight
| weight
|-
| minheight, averageheight, maxheight
| height
|-
| mincup, averagecup, maxcup
| breastsize
|-
| minfirmness, averagefirmness, maxfirmness
| breastfirmness
|-
| uncommonproportions, regularproportions, idealproportions
| bodyproportion
|}
Note that it is not a good idea to use simply “max” or “min” as a reserved token name, because they need to be unique (otherwise it would not be possible to determine whether they are a minimum for, for example, weight or height). These reserved tokens are declared in the lib/targets.py module. The variable can be set and queried on the human object, for example human.getAge(), human.setMuscle(0.7), human.getProportion().
The reserved tokens are NOT included in the group name, so you should at least include some other, non-reserved tokens in the file or folder names to assign your target to some meaningful group. The inclusion of these reserved tokens in your target names or paths makes it convenient to create macro modifiers.
=== Macro targets and modifiers ===
Macro modifiers are modifiers whose effect (the combination of targets they apply on the human) is influenced by macro variables set on the human (eg. human.set/getAge()). Therefore, macro modifiers often control a large set of targets (20 or even more). It’s also common for multiple modifiers to control exactly the same set of targets, for example the standard age/gender/race sliders all control the set of targets in the ‘macrodetails’ group. Each slider modifies a different variable (eg. human.setAge()) controlling the set of targets, and then reapplies a combination of the same set of targets on the human.
=== Macro modifier dependencies ===
There are other macro modifiers that can also depend on the same variables age, gender, race that is controlled by the main macro modifiers, as discussed above. For example the macro modifiers that influence the weight and muscle mass of the human, controls the targets group “macrodetails-universal”, the universal token is added by prepending “universal-” to all the file names of related targets, which all reside in the folder “macrodetails” (thus macrodetails-universal ends up being the group name). They could have been included all in the “macrodetails” group, but are kept separate for performance reasons, so that the “macrodetails” group of targets (which already contains some 40 targets or so) can be applied in realtime while moving the slider.
Of course a change in the variable that these age/race/gender modifiers control will have an effect on the macrodetails-universal modifiers (because they control targets that depend on age -- their targets include -young- -old- etc. tokens in their filenames). This means there are inter-dependencies between macro modifiers, if one is updated, another one that depends on it should be refreshed. These dependencies can be descibed as follows: one macro modifier controls exactly one macro variable (such as age). It (or rather, the targets it controls) can however depend on multiple macro variables. The trivial case is where a macro modifier only depends on the macro variable that it controls itself. The tracking of these dependencies and deciding which modifiers must be updated when another is changed happens automatically. Dependencies are automatically tracked as soon as you add a modifier to the human (by calling modifier.setHuman(human)). To make this more performant in real-time, the propagation of updates to modifiers is limited while sliders are dragged (see realtimeDependencyUpdates in apps/humanmodifier.py).
As you might have understood, creating modifiers that depend on human variables is almost automatic. The only thing you need to do is create some targets that resolve to the same group name, add variations for all the macro variables you want and add the proper reserved tokens to the file or folder name (refer to the left column in the table above), and create a modifier with this group name. Once added to the human, the dependencies are tracked automatically.
=== Organization of modifiers ===
We already discussed how we organized targets in groups, to make it easier to connect them to a modifier. Now we will discuss how we can do a similar thing for modifiers.
Modifiers provide an easy way to manage targets. They allow reducing many of hundreds of targets to a more manageable number of controllable properties. But even then, we still have about 100 modifiers, which is still quite a lot. Therefore we group them in groups of categories, much like we do in the GUI. This makes it easy to get a grouped overview of all modifiers when using an alternative interface, think of commandline or scripting. The way in which you declare the group and other properties of a modifier determines what target groups it gets its targets from.
Modifiers are declared with a group name, some intermediary “target name” and a number of tail tokens (2 or 3 usually, eg min/max). The group of targets controlled by these modifiers is composed as: groupname-targets_name-tail.
Macro modifiers are declared with a group name, and a controlled variable. The groupname must be the same groupname of the targets they control.
=== Declarative modifiers ===
Instead of hard coding what modifiers you want to instantiate, MakeHuman offers a data-based format to declare what modifiers should be created, and how they should be shown in a user interface with sliders.
A full declaration requires three files, all stored in data/modifiers. The first is the declaration of the modifiers (eg. modeling_modifiers.json). This format lists a modifier group name, and all the modifiers with their macro variable (if they are macro modifiers) or target name and 2 or 3 (if they are a modifier with a center point) tail tokens.
The second file adds a description to the modifiers declared in the first file. It basically contains a key-value set, referencing the modifier name, and a textual description of what the modifier controls. A modifier name is constructed as follows: group/targets_name-all|the|tails and for a macro modifier: group/variable
The third file defines how these modifiers should be shown in the user interface as sliders. It lists a set of categories, and the sliders to show in them, and how their values have to be saved in a mhm file (mainly a feature for legacy compatibility).
=== Your own plugin with modifiers, sliders and targets ===
Using the declarative data format described in the section above, it’s really simple. Have a look at the plugin plugins/0_modeling_0_modifiers.py. Notice it’s barely 5 lines of code. Creating your own modeling plugin is as simple as that, pointing it to your own modifier data files.
=== Binary targets ===
Because loading these ASCII target files, and iterating all target files and folders can be slow (especially on windows) in build versions, we compile all targets in the data/targets system folder into a single binary file, that furthermore acts exactly the same as multiple target files. The binary targets file is stored in the system data/ folder and is called targets.npz, it is created by running the compile_targets.py script, which is also automatically run in the build_prepare.py build routine. The file structure of the targets files is maintained in this binary file so that targets can be loaded from it in the same way as you would do with regular files. A change in the .target files, or newly added target files allow a recompilation of the targets npz file before the change is applied.
== Material format==
=== Introduction ===
MakeHuman material files have extension .mhmat and are simple ASCII definitions
of the material settings to use for rendering.
These material settings are primarily intended for configuring the material
system within MakeHuman, but they are usually carried out to other software as
well by the exporters.
Not all properties will be supported for all given combinations of shaders, nor
is there a guarantee that the exporters will honor all the properties in these
files.
Every 3D object in MakeHuman has exactly one material attached to it (multiple
materials are not possible, you need separate objects for that). Materials are
used for proxy meshes (clothes, hairs, ...) but also for the skin of the human
itself.
=== The Material System ===
The MakeHuman material system is closely based on the [https://en.wikipedia.org/wiki/Rendering_equation standard rendering equation]
as is used in OpenGL and DirectX forward rendering pipelines. MakeHuman supports
shaders and the material format contains the most commonly used extensions in
real-time rendering. As a consequence of this, users need to be aware of the
implications of setting values such as ambient too bright, or diffuse too dark.
All usual rules about rendering materials apply.
At the highest level, the material supports setting the most basic material
properties, such as diffuse, specular and ambient color. These are supported
both by shaders as well as the fixed function shading pipeline (which is used
when no shader is specified). Fixed function also supports the diffuse texture
option.
At a second level, a shader can be chosen. This refers directly to the filename
of a [https://en.wikipedia.org/wiki/OpenGL_Shading_Language GLSL shader] as found in the data/shaders/glsl folder of MakeHuman.
The selected shader will determine what material options will be available.
At the third level, various additional settings become available, depending on whether or not the
chosen shader has support for these features, such as bump or normal mapping,
ambient occlusion, specular mapping, etc.
For most of these, a texture map and a scalar property between 0 and 1 can be
set, the latter determining the intensity or influence of the effect.
Finally, MakeHuman also contains a built-in offline renderer that supports some
additional properties such as subsurface scattering, for which some special
properties are available.
=== Example ===
This is a full and complete (but fictional) example of a material file for MakeHuman, it shows all the available properties.
# Example MakeHuman Material definition
name Material_name
tag some_tag
tag another_tag
description material description text here
ambientColor 0.11 0.11 0.11
diffuseColor 1.0 1.0 1.0
specularColor 0.0470588235294 0.0470588235294 0.0470588235294
shininess 0.96
emissiveColor 0.0 0.0 0.0
opacity 1.0
translucency 0.0
shadeless False
wireframe False
transparent True
alphaToCoverage True
backfaceCull False
depthless False
autoBlendSkin False
castShadows True
receiveShadows True
diffuseTexture diffuse_texture.png
bumpmapTexture bumpmap.png
bumpmapIntensity 1.0
normalmapTexture normalmap.png
normalmapIntensity 1.0
displacementmapTexture norm_displacement.png
displacementmapIntensity 1.0
specularmapTexture specular.png
specularmapIntensity 1.0
transparencymapTexture alpha.png
transparencymapIntensity 1.0
aomapTexture ambient_occlusion_map.png
aomapIntensity 1.0
# Sub-surface scattering parameters
sssEnabled True
sssRScale 5.0
sssGScale 2.5
sssBScale 1.0
shader shaders/glsl/litsphere
shaderParam litsphereTexture litspheres/lit_hair.png
shaderConfig ambientOcclusion True
shaderConfig normal False
shaderConfig bump True
shaderConfig displacement False
shaderConfig vertexColors True
shaderConfig spec True
shaderConfig transparency True
shaderConfig diffuse True
shaderDefine ALPHA_MAP
uvMap alt_uv_coords.mhuv
This is another example, this time a real one. It is the X-ray material, used for example when showing the skeleton:
# Material definition for XrayMaterial
name XrayMaterial
ambientColor 0.1 0.1 0.1
diffuseColor 1.0 1.0 1.0
specularColor 0.3 0.3 0.3
shininess 0.1
emissiveColor 0.0 0.0 0.0
opacity 0.1
translucency 0.0
transparent True
backfaceCull True
shadeless False
wireframe False
depthless False
shader data/shaders/glsl/xray
shaderConfig diffuse False
shaderConfig transparency False
shaderConfig normal False
shaderConfig bump False
shaderConfig spec False
shaderConfig vertexColors False
shaderConfig displacement False
=== Explanation of material properties ===
==== Standard settings ====
''ambientColor'', ''diffuseColor'' ''specularColor'', ''emissiveColor'' are the standard colors
as used in the [https://en.wikipedia.org/wiki/Rendering_equation rendering equation]
or in standard OpenGL.
Their corresponding intensities are simple scalars with a value between 0 and 1 and are multiplied
with the colors to dim them. Default these intensities are set to 1.
Colors are described as three floating point numbers, representing R G B, or red-green-blue
values. 1 is the maximum, 0 the minimum.
For example 1.0 0 0 means fully red, 1 1 1 means full white, 0 0 0 is full black.
0.5 0.5 0.5 will give you a grey middle color.
''opacity'' determines the opaqueness of the object (alpha channel), with 1 being fully
opaque, and 0 being fully transparent (invisible)
''translucency'' is something that came from Blender but is unused
==== Texture maps ====
Various standard texture maps can be defined on the material, like ''diffuseTexture'', ''bumpmapTexture'', ''normalmapTexture'', ''displacementmapTexture'', ''specularmapTexture'', ''transparencymapTexture'', ''aomapTexture''. Each of these also has an associated intensity value, which is a scalar from 0 to 1 multiplied with the pixel value of that texture (unless a specific shader implements it differently).
These textures only have an effect if their corresponding shaderConfig feature has been defined (see the table in Shaders section).
==== Render states ====
When ''wireframe'' is set to True, the model is drawn in wireframe mode. In this mode,
most material properties have no effect, but you can enable the vertexColors shaderConfig
to be able to change the color of the mesh using vertex colors (this requires
access to the mesh programatically, obj meshes do not support vertex colors).
This feature is used in some parts of MakeHuman, for example viewing bone weights
in the skeleton debug plugin.
Set ''shadeless'' to True to disable shading, eg. the object is not affected by lights.
Configured shader will have no effect
Set ''transparent'' to True to enable transparency rendering (usually needed when opacity is < 1)
In itself this does not change the visual appearance of the model, but this setting
should be enabled if your texture contains (semi-) transparent parts. This setting
instructs the renderer to disable depth buffer writes (glDepthMask(false))
and enables alpha testing and blending so that transparent surfaces can overlap and to allow [https://www.opengl.org/wiki/Transparency_Sorting alpha blending].
''alphaToCoverage'' Applies when transparent is set to True (otherwise does nothing).
It requires that your GPU supports alpha to coverage (A2C) rendering. It enables
the A2C feature which provides face order-independent alpha rendering. This works
very well for complex transparent meshes, like hair. At the cost of a slightly
dithered look, it solves all the problems with face sorting that are usually
involved in rendering semi transparency.
(This feature disables anti-aliasing for this object because the multisample buffer is used for alpha blending instead)
Set ''backfaceCull'' to False to disable backface culling (render the back side of polygons)
By default, and in most cases, this should be set to True, but can be useful
in some cases (for example, we disable back-face culling for the eyebrow materials).
Set ''depthless'' to True for depthless rendering (object is not occluded and does not occlude other objects).
This disables OpenGL depth writes and tests. In practice, this makes object faces that should be occluded shine through others.
''castShadows'' determines whether the object casts shadows on other objects.
''receiveShadows'' determines whether the object receives shadows from other objects.
For some features, like eyes, you probably want to disable shadow receiving.
Since MakeHuman does not (yet) implement shadow casting, the shadow settings have
no effect in MakeHuman, but they do export to other engines.
Play around with these settings in the Material Editor plugin to see their effect, that's the best advise I can give you.
The best way to find out which settings work for an asset, is simply to try them out.
==== autoBlendSkin ====
If True MakeHuman will set the diffuse color based on the ethnix mix set for the character.
Any diffuseColor set in the material file will be overridden by this.
Also the shaderParam litsphereTexture will be automatically set to a dynamically blended litsphere texture,
which is a mix of three litsphere materials (afro, asian, caucasian) depending on the ethnic mix of the character.
This latter is specifically intended to be used with the litsphere shader, and it is what you see as default material when you start MakeHuman
This overrides whatever shaderParam litsphereTexture was set in the material file.
This setting is intended only for skin materials.
==== shaderParam ====
Define a custom shader parameter (uniform), which might be required for some non-standard shaders.
For example, the litsphere shader takes an extra type of texture map as input, a so-called litsphere texture.
This generic system of mapping shader uniforms allows you to create specialised shaders that take
new and different kind of inputs, and allow configuring the shader from the material file.
shaderParam can be a list of floating point numbers, in which case it will be interpreted as a vector,
or it can be a file path, in which case it is assumed to be an image path.
Internally in MakeHuman, shaderParams can also be assigned a texture object, which allows
for dynamically passing a texture that is in memory, but perhaps not stored on disk.
Another example of a custom shaderParam is the X-ray shader that defines an edgefalloff
and intensity uniform parameter.
These could be changed from the material file with
shaderParam edgefalloff 0.8
shaderParam intensity 0.77
==== shaderDefine ====
shaderDefines allow enabling or disabling custom shading techniques in shaders.
These allow to define new shading techniques, apart from the pre-defined ones
such as normal mapping, specularity mapping, ...
It's a generic system that allows new shaders to be added and configured from
the material file, or from the material editor (which nicely auto-detects these
features in the shader and shows a set of checkboxes for them).
==== uvMap ====
Load custom UV coordinates on the mesh to use this material. This makes the material
completely dependent on the mesh it is used with.
Takes a path to a .mhuv file, which is actually just an .obj file, where the vertex
positions can be deleted (they can remain in there, but they are ignored).
Requirement for it to work is that the vertex order is the same as that of the
mesh obj.
An example uv map for the basemesh can be found in data/uvs/a7.mhuv, which is a
set of UV coordinates compatible with the old Alpha 7 mesh, allowing you to load
A7 textures on the new basemesh used in MakeHuman v1+
==== SSS properties ====
These are the so-called sub-surface scattering shading properties, currently only used by the built-in offline renderer. They were decided on while trying to figure out the most generic way to define SSS shading properties, so that they could easily be translated into SSS properties for a different renderer (as no single renderer that I know of has a standard for these). It's uncertain whether the format we have landed on currently is the best, or whether this will remain permanently or is still likely to change.
This setting should currently be considered experimental.
The properties are ''sssEnabled'', ''sssRScale'', ''sssGScale'' and ''sssBScale''.
=== Basic pointers ===
* You can test the influence of material properties using the Material Editor plugin (which you can enable in Settings > Plugins, then restart)
* Using a diffuse texture? You probably want to set the diffuse color to 1 1 1 (pure white)
* Never set ambient color too bright, or your model will look completely white. 0.1 0.1 0.1 is a good value to start from.
* Emissive is usually set to black, unless you want a radioactive character
* Don't know how to define a color in numbers? Try the Material Editor plugin
* Higher shininess means smaller and sharper highlight, lower shininess makes the highlight larger and more blurred
* Reduce specular color to reduce the specularity, make it black for a rough and non shiny object
* opacity 1 means fully opaque, 0 means fully transparent (invisible)
=== Scene definition ===
To complete the rendering equation, you also need to define the scene. To be
more precise, the positions, types, color and intensities of the lights need to
be set. By default, MakeHuman only has a default scene with only one pointlight.
In MakeHuman, lights do not move if the camera is moved, or rather, the model is
rotated while the camera and lights remain static. So light positions are defined
relative to the camera position.
MakeHuman scenes are defined in .mhscene files, which are binary py-pickled files.
They can be created or modified using the Scene Editor plugin (can be enabled in
settings) and can be selected from the Scene library in the Render tab.
Fixed function shading pipeline supports up to 8 lights, specific light support
depends on the shader used, some shaders only support a certain type or number
of lights, other ignore the chosen scene altogether (for example the litsphere
shader that uses pre-baked environment lighting).
The built-in offline renderer also uses the specified scene.
Scenes are not exported along with the model.
=== Shaders ===
The most powerful functionality of the material system is unlocked when using
shaders.
MakeHuman shaders are intended to be written in a modular way, so that shading
features can be enabled or disabled using the material format. Examples of such
features are bump mapping, normal mapping, specular mapping, diffuse texturing,
ambient occlusion and displacement mapping.
MakeHuman includes a basic introspection function that allows it to determine
what features a shader supports. It accomplishes this by looking for #ifdef and #ifndef statements. If a shader supports a certain technique, it is supposed to
encapsulate this in #ifdef NORMALMAP ... #else ... #endif statements.
The idea is that of an [http://www.gamedev.net/topic/659145-what-is-a-uber-shader/ über shader], where performance is optimized by removing any dynamic branches (if then that) from shader code, and instead managing the features using defines and pre-processor branches.
When a different branch in the shader is activated, the shader code is recompiled entirely.
Instead of having different shaders for different features (eg. a specific normalmap shader to be able to do normal mapping), one general shader could be used instead, and normal mapping can simply be enabled or disabled from the material properties, without being required to swap shaders (a good default uber shader is [http://bugtracker.makehumancommunity.org/issues/160 still to be created for MakeHuman] Any help with this is welcome of course!).
The material system manages these shading functions by defining specific pre-processor
keywords when their corresponding shaderConfig property is set to true.
Shaders are recompiled when needed and stored in a shader cache for efficiency.
MakeHuman passes scene and material information to the shaders by certain uniform
parameters. Depending on which shaderConfig properties were enabled, additional
uniforms could be exposed to the shader. The shader does not have to declare all
these uniforms, however. MakeHuman binds only those uniforms present in the shader
if they have the right corresponding names.
Other properties are available from the OpenGL built-in uniforms or properties
(usually starting with gl_).
The following table lists these defines and the shaderConfig properties in the
material they relate to:
{| class="wikitable"
|-
! feature name
! shaderConfig
! shader #DEFINE
! exposed uniform parameters if enabled
! comment
|-
|default (always enabled)
|
|
|vec3 ambient, vec4 diffuse, vec4 specular, vec3 emissive
|diffuse and specular are 4-component color values, diffuse=[rgba] with a=opacity and specular=[rgbs] with s=shininess
|-
|vertexColors
|VERTEX_COLOR
|
|
|-
|Diffuse texturing
|diffuse
|DIFFUSE
|diffuseTexture
|
|-
|Bump mapping
|bump
|BUMPMAP
|bumpmapTexture, bumpmapIntensity
|disabled if normal mapping is enabled (restriction might be lifted in the future)
|-
|Normal mapping
|normal
|NORMALMAP
|normalmapTexture, normalmapIntensity
|
|-
|Displacement mapping
|displacement
|DISPLACEMENT
|displacementmapTexture, displacementmapIntensity
|
|-
|Specularity mapping
|spec
|SPECULARMAP
|specularmapTexture, specularmapIntensity
|
|-
|Transpareny (alpha) maps
|transparency
|TRANSPARENCYMAP
|transparencymapTexture, transparencymapIntensity
|
|-
|Ambient occlusion maps
|ambientOcclusion
|AOMAP
|aomapTexture, aomapIntensity
|
|}
Additionally, MakeHuman exposes the vertex tangent as a vertex property, which
can be accessed by the shader.
attribute vec4 tangent
Currently, [http://www.terathon.com/code/tangent.html Lengyel’s Method] for tangent calculation
is used, but plans are to change this to [http://bugtracker.makehumancommunity.org/issues/87 mikktspace] in the future.
Shader examples for MakeHuman can be found here:
* Litsphere shader: [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/litsphere_vertex_shader.txt vertex][https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/litsphere_fragment_shader.txt fragment]
* Phong shader: [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/phong_vertex_shader.txt vertex][https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/phong_fragment_shader.txt fragment]
* Normal map shader (wip): [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/normalmap_vertex_shader.txt vertex] [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/normalmap_fragment_shader.txt fragment]
* X-ray shader: [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/xray_vertex_shader.txt vertex][https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/xray_fragment_shader.txt fragment]
==== Custom shader properties ====
Shaders can use non-standard #DEFINEs to allow enabling or disabling non-standard shading features, other than the ones that were foreseen in the material format (such as normal mapping, ...)
To add new ones, simply add #ifdef SOME_FEATURE statements to your shader code, the material system will automatically detect them.
From the material, you can enable them with
shaderDefine SOME_FEATURE
If not defined, the feature is assumed to be switched off.
A custom shader can also add new parameters to tweak. For example a color value or intensity value that influences the shading.
To do this, the shader author can simply add new uniform variables to their shader code. It is recommended to specify a default
value for them, so that if the material file does not explicitly mention them, they receive a sensible default value.
Example: the X-ray shader adds an edge-fallof property:
uniform float edgefalloff = 1.0;
From the material file, you can influence this value with:
shaderParam edgefalloff 0.5
shaderParam supports lists of float values (one or multiple, divided by spaces), eg
shaderParam edgecolor 0.7 0.3 0.4
or textures, by specifying a path to an image file (in which case they are assumed to be Sampler2D type)
Additionally, from within MakeHuman, they can be passed a Texture object, to dynamically pass them a texture that resides in memory, without the need for the texture to be stored in a file on disk.
This allows to dynamically alter the texture and have it displayed directly. MakeHuman takes care of caching the texture and updating it when it is modified.
For example, the auto skin tone blending of the litsphere texture is implemented in this way.
The material system will automatically detect these custom uniform parameters declared in the shader, for example the material editor plugin will present them in the GUI.
These features make for a general and extensible shader system.
a980c988e4b6dfc98b94c5a7108ac7b1e0f5c0e4
584
583
2016-01-27T16:37:26Z
Duststorm
19
/* The Material System */
wikitext
text/x-wiki
== Vertex weights ==
With vertex weights we intend a weighted mapping of vertices of a mesh to a bone of a skeleton. The weight is a value between 0 and 1, the sum of these weights for each vertex should be normalized, which means they should sum to 1 (note: no euclidian distance, just simple addition of all weights). A weight map in MakeHuman is expressed as a bone name (becomes a bone index internally, using the index of the bone in a breadth-first list relative to skeleton structure), a vertex name and a floating point weight between 0 and 1. This weighted vertex to bone mapping is used for skinning (posing and animating, using vertex skinning, smooth skinning or linear blend skinning algorithm). For the skinning algorithm to work correctly it’s required that the weights are always normalized, otherwise you will see vertices move out of place disproportionally (though the weight loading code in MakeHuman ensures that this normalization always happens, so this is not a concern to the artist that defines the weights). The vertex weights can be exported to external tools as well using formats such as collada (DAE), FBX, Ogre3D meshes or MD5 quake meshes.
=== Vertex weights and skeletons ===
Vertex weights are defined for the default “master” skeleton or rig. They are defined in a json file with jsonw extension. They link each vertex of the basemesh including helpers to a named bone of this master rig, together with a certain weight.
The weights loader automatically removes doubles and normalizes the weights (so that they sum to 1). It also reports what the maximum number of bone weights per vertex is, additionally it allows compiling the weights to a reduced set with n number of bone weights, and automatically renormalizes those weights so they, again, sum to 1.
When loading weights, any vertex that receives no weighting is assigned to the root bone, as this is needed for skinning to prevent all those vertices jumping to the origin (0*pos == 0).
Alternative skeletons can define their own weights, by referencing a weights file just like the master rig, or they can choose to derive their weights from the master rig, through so called reference bone mappings. Skeletons will derive their weights from the master rig if they do not specify a weights file explicitly. Custom vertex weights in alternative rigs override those defined on the master rig, except in the case where a proxy defines its own vertex weights. See section Vertex weights for proxies for more details.
=== Reference bones for vertex weights and poses ===
Reference bones are defined on alternative rigs, they are a list of names of bones contained in the master rig. Every bone of an alternative rig can have such a list of reference bones. An alternative rig can also omit these references if it uses the same name as bones in the master rig, in which the mapping is implicit. Having a list of bone references always overrides the implicit mapping. Reference bone mappings are required for two purposes.
They are used for mapping poses defined on the master rig to other rigs. All poses are defined as BVH files that pose the master rig, so they reference only the bone names of the master rig. Poses are applied to all other rigs by using the reference bone mapping: all the rotations that the pose applies to the referenced bones are combined (in the order in which the references were specified -- note: rotations are NOT commutative) and are applied to the alternative rig bone.
Reference bone mappings can also be used for determining vertex weights of custom rigs. If the alternative rig does not explicitly define its own vertex weights, the mapping of reference bones is used to infere a set of bone weights for each bone: All the weights of the reference bones on the master rig (with the weights definition of the default/master rig) are combined and apply to the bone of the alternative rig. Doubles are merged, and weights renormalized. Any vertex that is not weighted will be assigned to the root bone. Watch for messages in the log to verify this.
=== Vertex weights for proxies ===
Generally proxies are mapped to basemesh geometry, that means either to the body or to helpers, or a combination of both (though this is unusual). Proxies derive their vertex weights from the vertices on the basemesh on which they are fitted. A proxy defines its fitting as a 3d offset from one or three vertices on the basemesh, allowing it to deform as the human deforms. This mapping is used to transfer the vertex weights from basemesh to proxy: a proxy vertex referencing three basemesh vertices gets the bone weights of those three vertices. Doubles are merged and the weights are normalized, so that the influence factors are averaged or smoothed. In this case the weights applied to proxies are always those defined on the skeleton: either the weights explicitly defined on the skeleton, or the weights obtained from remapping the master rig weights to this skeleton using the reference bone mapping mentioned in the previous sections. There is an exception to this, which is explained in the next paragraph.
A proxy can explicitly define its own vertex (to bone) weights. In this case it overrides the weights that would be obtained through the proxy mapping, and replaces them by its own custom definition of weights. These vertex weights are always defined to reference the bones of the master rig (default skeleton), so they need to be remapped to other skeletons using reference bone mapping. This also means that the custom weights of a proxy override any custom weights mapping that might be loaded with an alternative rig (but only for that proxy item). Custom proxy weights should be avoided if possible, but are in some cases required, eg. for properly rigging shoes which are rigidly fitted to feet, or an alternative topology which defines very accurate rigging on the face. The general advice for custom rigs is therefore to stay as close to the master rig as possible, reusing as much bones identically as possible, to achieve the best results for proxies with custom weights.
In case of custom weight, the mhclo file must contain a line to indicate the weight file to use, using the keyword “vertexboneweights_file”, with the syntax:
vertexboneweights_file filename.jsonw
== Targets and modifiers ==
MakeHuman applies targets on the human by means of modifiers. Such a modifier has a value (usually between [0, 1] or [-1, 1]) that determines the effect of it on the human mesh. A modifier can control one or more targets and in apply the mixed sum of them on the mesh. Some modifiers.
=== Organization of targets ===
To make sure targets are linked to the right modifier, or to make managing targets easier, a certain discipline has to be observed in managing them. Targets are ASCII files in the data/targets or data/custom folder (in program or user folder) with a file extension of .target.
The file name and folder targets are in implicitly determines their group name. A group is identified by a sequence of tags or tokens, which are taken from the file and folder name of each target, and which can be delimited by “-” symbols, to include multiple tokens in a single file or folder name. The lib/targets.py module takes care of loading all the names of the available targets and assembles them into groups. All targets with the same tokens end up in the same group. This allows easy querying and requesting of targets. The creator is pretty much free to decide what groups to create for their targets. By passing the name of the target group to a modifier, they can make sure that modifier controls the targets belonging to this group. It does not matter whether you use folders or - delimited file names for creating groups.
An example:
data/targets/cartoon/eyes-large.target is categorized in group (cartoon, eyes, large)
data/targets/cartoon-eyes-large.target is also categorized in group (cartoon, eyes, large)
Most simple modifiers work by specifying a group (for example cartoon-eyes) and a set of two tokens to append at the end, depending on the position of the modifier slider (eg. small, large which would allow controlling the targets cartoon-eyes-small and cartoon-eyes-large by moving the slider to the left or right).
=== Reserved group tokens ===
Some of the tokens in the file or foldername of targets are linked to values that variables of the human can have. Such variables are for example age, weight, muscle, gender.
This table lists all the reserved tokens, and the variables they belong to.
{| class="wikitable"
|-
! Reserved token (value)
! Variable
|-
| female,male
| gender
|-
| baby, child, young, old
| age
|-
| african, caucasian, asian
| race
|-
| minmuscle, averagemuscle, maxmuscle
| muscle
|-
| minweight, averageweight, maxweight
| weight
|-
| minheight, averageheight, maxheight
| height
|-
| mincup, averagecup, maxcup
| breastsize
|-
| minfirmness, averagefirmness, maxfirmness
| breastfirmness
|-
| uncommonproportions, regularproportions, idealproportions
| bodyproportion
|}
Note that it is not a good idea to use simply “max” or “min” as a reserved token name, because they need to be unique (otherwise it would not be possible to determine whether they are a minimum for, for example, weight or height). These reserved tokens are declared in the lib/targets.py module. The variable can be set and queried on the human object, for example human.getAge(), human.setMuscle(0.7), human.getProportion().
The reserved tokens are NOT included in the group name, so you should at least include some other, non-reserved tokens in the file or folder names to assign your target to some meaningful group. The inclusion of these reserved tokens in your target names or paths makes it convenient to create macro modifiers.
=== Macro targets and modifiers ===
Macro modifiers are modifiers whose effect (the combination of targets they apply on the human) is influenced by macro variables set on the human (eg. human.set/getAge()). Therefore, macro modifiers often control a large set of targets (20 or even more). It’s also common for multiple modifiers to control exactly the same set of targets, for example the standard age/gender/race sliders all control the set of targets in the ‘macrodetails’ group. Each slider modifies a different variable (eg. human.setAge()) controlling the set of targets, and then reapplies a combination of the same set of targets on the human.
=== Macro modifier dependencies ===
There are other macro modifiers that can also depend on the same variables age, gender, race that is controlled by the main macro modifiers, as discussed above. For example the macro modifiers that influence the weight and muscle mass of the human, controls the targets group “macrodetails-universal”, the universal token is added by prepending “universal-” to all the file names of related targets, which all reside in the folder “macrodetails” (thus macrodetails-universal ends up being the group name). They could have been included all in the “macrodetails” group, but are kept separate for performance reasons, so that the “macrodetails” group of targets (which already contains some 40 targets or so) can be applied in realtime while moving the slider.
Of course a change in the variable that these age/race/gender modifiers control will have an effect on the macrodetails-universal modifiers (because they control targets that depend on age -- their targets include -young- -old- etc. tokens in their filenames). This means there are inter-dependencies between macro modifiers, if one is updated, another one that depends on it should be refreshed. These dependencies can be descibed as follows: one macro modifier controls exactly one macro variable (such as age). It (or rather, the targets it controls) can however depend on multiple macro variables. The trivial case is where a macro modifier only depends on the macro variable that it controls itself. The tracking of these dependencies and deciding which modifiers must be updated when another is changed happens automatically. Dependencies are automatically tracked as soon as you add a modifier to the human (by calling modifier.setHuman(human)). To make this more performant in real-time, the propagation of updates to modifiers is limited while sliders are dragged (see realtimeDependencyUpdates in apps/humanmodifier.py).
As you might have understood, creating modifiers that depend on human variables is almost automatic. The only thing you need to do is create some targets that resolve to the same group name, add variations for all the macro variables you want and add the proper reserved tokens to the file or folder name (refer to the left column in the table above), and create a modifier with this group name. Once added to the human, the dependencies are tracked automatically.
=== Organization of modifiers ===
We already discussed how we organized targets in groups, to make it easier to connect them to a modifier. Now we will discuss how we can do a similar thing for modifiers.
Modifiers provide an easy way to manage targets. They allow reducing many of hundreds of targets to a more manageable number of controllable properties. But even then, we still have about 100 modifiers, which is still quite a lot. Therefore we group them in groups of categories, much like we do in the GUI. This makes it easy to get a grouped overview of all modifiers when using an alternative interface, think of commandline or scripting. The way in which you declare the group and other properties of a modifier determines what target groups it gets its targets from.
Modifiers are declared with a group name, some intermediary “target name” and a number of tail tokens (2 or 3 usually, eg min/max). The group of targets controlled by these modifiers is composed as: groupname-targets_name-tail.
Macro modifiers are declared with a group name, and a controlled variable. The groupname must be the same groupname of the targets they control.
=== Declarative modifiers ===
Instead of hard coding what modifiers you want to instantiate, MakeHuman offers a data-based format to declare what modifiers should be created, and how they should be shown in a user interface with sliders.
A full declaration requires three files, all stored in data/modifiers. The first is the declaration of the modifiers (eg. modeling_modifiers.json). This format lists a modifier group name, and all the modifiers with their macro variable (if they are macro modifiers) or target name and 2 or 3 (if they are a modifier with a center point) tail tokens.
The second file adds a description to the modifiers declared in the first file. It basically contains a key-value set, referencing the modifier name, and a textual description of what the modifier controls. A modifier name is constructed as follows: group/targets_name-all|the|tails and for a macro modifier: group/variable
The third file defines how these modifiers should be shown in the user interface as sliders. It lists a set of categories, and the sliders to show in them, and how their values have to be saved in a mhm file (mainly a feature for legacy compatibility).
=== Your own plugin with modifiers, sliders and targets ===
Using the declarative data format described in the section above, it’s really simple. Have a look at the plugin plugins/0_modeling_0_modifiers.py. Notice it’s barely 5 lines of code. Creating your own modeling plugin is as simple as that, pointing it to your own modifier data files.
=== Binary targets ===
Because loading these ASCII target files, and iterating all target files and folders can be slow (especially on windows) in build versions, we compile all targets in the data/targets system folder into a single binary file, that furthermore acts exactly the same as multiple target files. The binary targets file is stored in the system data/ folder and is called targets.npz, it is created by running the compile_targets.py script, which is also automatically run in the build_prepare.py build routine. The file structure of the targets files is maintained in this binary file so that targets can be loaded from it in the same way as you would do with regular files. A change in the .target files, or newly added target files allow a recompilation of the targets npz file before the change is applied.
== Material format==
=== Introduction ===
MakeHuman material files have extension .mhmat and are simple ASCII definitions
of the material settings to use for rendering.
These material settings are primarily intended for configuring the material
system within MakeHuman, but they are usually carried out to other software as
well by the exporters.
Not all properties will be supported for all given combinations of shaders, nor
is there a guarantee that the exporters will honor all the properties in these
files.
Every 3D object in MakeHuman has exactly one material attached to it (multiple
materials are not possible, you need separate objects for that). Materials are
used for proxy meshes (clothes, hairs, ...) but also for the skin of the human
itself.
=== The Material System ===
The MakeHuman material system is closely based on the [https://en.wikipedia.org/wiki/Rendering_equation standard rendering equation]
as is used in OpenGL and DirectX forward rendering pipelines. MakeHuman supports
shaders and the material format contains the most commonly used extensions in
real-time rendering. As a consequence of this, users need to be aware of the
implications of setting values such as ambient too bright, or diffuse too dark.
All usual rules about rendering materials apply.
At the highest level, the material supports setting the most basic material
properties, such as diffuse, specular and ambient color. These are supported
both by shaders as well as the fixed function shading pipeline (which is used
when no shader is specified). Fixed function also supports the diffuse texture
option.
At a second level, a shader can be chosen. This refers directly to the filename
of a [https://en.wikipedia.org/wiki/OpenGL_Shading_Language GLSL shader] as found in the data/shaders/glsl folder of MakeHuman.
The selected shader will determine what material options will be available.
At the third level, various additional settings become available, depending on whether or not the
chosen shader has support for these features, such as bump or normal mapping,
ambient occlusion, specular mapping, etc.
For most of these, a texture map and a scalar property between 0 and 1 can be
set, the latter determining the intensity or influence of the effect.
Finally, MakeHuman also contains a built-in offline renderer that supports some
additional properties such as subsurface scattering, for which some special
properties are available.
=== Example ===
This is a full and complete (but fictional) example of a material file for MakeHuman, it shows all the available properties.
# Example MakeHuman Material definition
name Material_name
tag some_tag
tag another_tag
description material description text here
ambientColor 0.11 0.11 0.11
diffuseColor 1.0 1.0 1.0
specularColor 0.0470588235294 0.0470588235294 0.0470588235294
shininess 0.96
emissiveColor 0.0 0.0 0.0
opacity 1.0
translucency 0.0
shadeless False
wireframe False
transparent True
alphaToCoverage True
backfaceCull False
depthless False
autoBlendSkin False
castShadows True
receiveShadows True
diffuseTexture diffuse_texture.png
bumpmapTexture bumpmap.png
bumpmapIntensity 1.0
normalmapTexture normalmap.png
normalmapIntensity 1.0
displacementmapTexture norm_displacement.png
displacementmapIntensity 1.0
specularmapTexture specular.png
specularmapIntensity 1.0
transparencymapTexture alpha.png
transparencymapIntensity 1.0
aomapTexture ambient_occlusion_map.png
aomapIntensity 1.0
# Sub-surface scattering parameters
sssEnabled True
sssRScale 5.0
sssGScale 2.5
sssBScale 1.0
shader shaders/glsl/litsphere
shaderParam litsphereTexture litspheres/lit_hair.png
shaderConfig ambientOcclusion True
shaderConfig normal False
shaderConfig bump True
shaderConfig displacement False
shaderConfig vertexColors True
shaderConfig spec True
shaderConfig transparency True
shaderConfig diffuse True
shaderDefine ALPHA_MAP
uvMap alt_uv_coords.mhuv
This is another example, this time a real one. It is the X-ray material, used for example when showing the skeleton:
# Material definition for XrayMaterial
name XrayMaterial
ambientColor 0.1 0.1 0.1
diffuseColor 1.0 1.0 1.0
specularColor 0.3 0.3 0.3
shininess 0.1
emissiveColor 0.0 0.0 0.0
opacity 0.1
translucency 0.0
transparent True
backfaceCull True
shadeless False
wireframe False
depthless False
shader data/shaders/glsl/xray
shaderConfig diffuse False
shaderConfig transparency False
shaderConfig normal False
shaderConfig bump False
shaderConfig spec False
shaderConfig vertexColors False
shaderConfig displacement False
=== Explanation of material properties ===
==== Standard settings ====
''ambientColor'', ''diffuseColor'' ''specularColor'', ''emissiveColor'' are the standard colors
as used in the [https://en.wikipedia.org/wiki/Rendering_equation rendering equation]
or in standard OpenGL.
Their corresponding intensities are simple scalars with a value between 0 and 1 and are multiplied
with the colors to dim them. Default these intensities are set to 1.
Colors are described as three floating point numbers, representing R G B, or red-green-blue
values. 1 is the maximum, 0 the minimum.
For example 1.0 0 0 means fully red, 1 1 1 means full white, 0 0 0 is full black.
0.5 0.5 0.5 will give you a grey middle color.
''opacity'' determines the opaqueness of the object (alpha channel), with 1 being fully
opaque, and 0 being fully transparent (invisible)
''translucency'' is something that came from Blender but is unused
==== Texture maps ====
Various standard texture maps can be defined on the material, like ''diffuseTexture'', ''bumpmapTexture'', ''normalmapTexture'', ''displacementmapTexture'', ''specularmapTexture'', ''transparencymapTexture'', ''aomapTexture''. Each of these also has an associated intensity value, which is a scalar from 0 to 1 multiplied with the pixel value of that texture (unless a specific shader implements it differently).
These textures only have an effect if their corresponding shaderConfig feature has been defined (see the table in Shaders section).
==== Render states ====
When ''wireframe'' is set to True, the model is drawn in wireframe mode. In this mode,
most material properties have no effect, but you can enable the vertexColors shaderConfig
to be able to change the color of the mesh using vertex colors (this requires
access to the mesh programatically, obj meshes do not support vertex colors).
This feature is used in some parts of MakeHuman, for example viewing bone weights
in the skeleton debug plugin.
Set ''shadeless'' to True to disable shading, eg. the object is not affected by lights.
Configured shader will have no effect
Set ''transparent'' to True to enable transparency rendering (usually needed when opacity is < 1)
In itself this does not change the visual appearance of the model, but this setting
should be enabled if your texture contains (semi-) transparent parts. This setting
instructs the renderer to disable depth buffer writes (glDepthMask(false))
and enables alpha testing and blending so that transparent surfaces can overlap and to allow [https://www.opengl.org/wiki/Transparency_Sorting alpha blending].
''alphaToCoverage'' Applies when transparent is set to True (otherwise does nothing).
It requires that your GPU supports alpha to coverage (A2C) rendering. It enables
the A2C feature which provides face order-independent alpha rendering. This works
very well for complex transparent meshes, like hair. At the cost of a slightly
dithered look, it solves all the problems with face sorting that are usually
involved in rendering semi transparency.
(This feature disables anti-aliasing for this object because the multisample buffer is used for alpha blending instead)
Set ''backfaceCull'' to False to disable backface culling (render the back side of polygons)
By default, and in most cases, this should be set to True, but can be useful
in some cases (for example, we disable back-face culling for the eyebrow materials).
Set ''depthless'' to True for depthless rendering (object is not occluded and does not occlude other objects).
This disables OpenGL depth writes and tests. In practice, this makes object faces that should be occluded shine through others.
''castShadows'' determines whether the object casts shadows on other objects.
''receiveShadows'' determines whether the object receives shadows from other objects.
For some features, like eyes, you probably want to disable shadow receiving.
Since MakeHuman does not (yet) implement shadow casting, the shadow settings have
no effect in MakeHuman, but they do export to other engines.
Play around with these settings in the Material Editor plugin to see their effect, that's the best advise I can give you.
The best way to find out which settings work for an asset, is simply to try them out.
==== autoBlendSkin ====
If True MakeHuman will set the diffuse color based on the ethnix mix set for the character.
Any diffuseColor set in the material file will be overridden by this.
Also the shaderParam litsphereTexture will be automatically set to a dynamically blended litsphere texture,
which is a mix of three litsphere materials (afro, asian, caucasian) depending on the ethnic mix of the character.
This latter is specifically intended to be used with the litsphere shader, and it is what you see as default material when you start MakeHuman
This overrides whatever shaderParam litsphereTexture was set in the material file.
This setting is intended only for skin materials.
==== shaderParam ====
Define a custom shader parameter (uniform), which might be required for some non-standard shaders.
For example, the litsphere shader takes an extra type of texture map as input, a so-called litsphere texture.
This generic system of mapping shader uniforms allows you to create specialised shaders that take
new and different kind of inputs, and allow configuring the shader from the material file.
shaderParam can be a list of floating point numbers, in which case it will be interpreted as a vector,
or it can be a file path, in which case it is assumed to be an image path.
Internally in MakeHuman, shaderParams can also be assigned a texture object, which allows
for dynamically passing a texture that is in memory, but perhaps not stored on disk.
Another example of a custom shaderParam is the X-ray shader that defines an edgefalloff
and intensity uniform parameter.
These could be changed from the material file with
shaderParam edgefalloff 0.8
shaderParam intensity 0.77
==== shaderDefine ====
shaderDefines allow enabling or disabling custom shading techniques in shaders.
These allow to define new shading techniques, apart from the pre-defined ones
such as normal mapping, specularity mapping, ...
It's a generic system that allows new shaders to be added and configured from
the material file, or from the material editor (which nicely auto-detects these
features in the shader and shows a set of checkboxes for them).
==== uvMap ====
Load custom UV coordinates on the mesh to use this material. This makes the material
completely dependent on the mesh it is used with.
Takes a path to a .mhuv file, which is actually just an .obj file, where the vertex
positions can be deleted (they can remain in there, but they are ignored).
Requirement for it to work is that the vertex order is the same as that of the
mesh obj.
An example uv map for the basemesh can be found in data/uvs/a7.mhuv, which is a
set of UV coordinates compatible with the old Alpha 7 mesh, allowing you to load
A7 textures on the new basemesh used in MakeHuman v1+
==== SSS properties ====
These are the so-called sub-surface scattering shading properties, currently only used by the built-in offline renderer. They were decided on while trying to figure out the most generic way to define SSS shading properties, so that they could easily be translated into SSS properties for a different renderer (as no single renderer that I know of has a standard for these). It's uncertain whether the format we have landed on currently is the best, or whether this will remain permanently or is still likely to change.
This setting should currently be considered experimental.
The properties are ''sssEnabled'', ''sssRScale'', ''sssGScale'' and ''sssBScale''.
=== Basic pointers ===
* You can test the influence of material properties using the Material Editor plugin (which you can enable in Settings > Plugins, then restart)
* Using a diffuse texture? You probably want to set the diffuse color to 1 1 1 (pure white)
* Never set ambient color too bright, or your model will look completely white. 0.1 0.1 0.1 is a good value to start from.
* Emissive is usually set to black, unless you want a radioactive character
* Don't know how to define a color in numbers? Try the Material Editor plugin
* Higher shininess means smaller and sharper highlight, lower shininess makes the highlight larger and more blurred
* Reduce specular color to reduce the specularity, make it black for a rough and non shiny object
* opacity 1 means fully opaque, 0 means fully transparent (invisible)
=== Scene definition ===
To complete the rendering equation, you also need to define the scene. To be
more precise, the positions, types, color and intensities of the lights need to
be set. By default, MakeHuman only has a default scene with only one pointlight.
In MakeHuman, lights do not move if the camera is moved, or rather, the model is
rotated while the camera and lights remain static. So light positions are defined
relative to the camera position.
MakeHuman scenes are defined in .mhscene files, which are binary py-pickled files.
They can be created or modified using the Scene Editor plugin (can be enabled in
settings) and can be selected from the Scene library in the Render tab.
Fixed function shading pipeline supports up to 8 lights, specific light support
depends on the shader used, some shaders only support a certain type or number
of lights, other ignore the chosen scene altogether (for example the litsphere
shader that uses pre-baked environment lighting).
The built-in offline renderer also uses the specified scene.
Scenes are not exported along with the model.
=== Shaders ===
The most powerful functionality of the material system is unlocked when using
shaders.
MakeHuman shaders are intended to be written in a modular way, so that shading
features can be enabled or disabled using the material format. Examples of such
features are bump mapping, normal mapping, specular mapping, diffuse texturing,
ambient occlusion and displacement mapping.
MakeHuman includes a basic introspection function that allows it to determine
what features a shader supports. It accomplishes this by looking for #ifdef and #ifndef statements. If a shader supports a certain technique, it is supposed to
encapsulate this in #ifdef NORMALMAP ... #else ... #endif statements.
The idea is that of an [http://www.gamedev.net/topic/659145-what-is-a-uber-shader/ über shader], where performance is optimized by removing any dynamic branches (if then that) from shader code, and instead managing the features using defines and pre-processor branches.
When a different branch in the shader is activated, the shader code is recompiled entirely.
Instead of having different shaders for different features (eg. a specific normalmap shader to be able to do normal mapping), one general shader could be used instead, and normal mapping can simply be enabled or disabled from the material properties, without being required to swap shaders (a good default uber shader is [http://bugtracker.makehumancommunity.org/issues/160 still to be created for MakeHuman] Any help with this is welcome of course!).
The material system manages these shading functions by defining specific pre-processor
keywords when their corresponding shaderConfig property is set to true.
Shaders are recompiled when needed and stored in a shader cache for efficiency.
MakeHuman passes scene and material information to the shaders by certain uniform
parameters. Depending on which shaderConfig properties were enabled, additional
uniforms could be exposed to the shader. The shader does not have to declare all
these uniforms, however. MakeHuman binds only those uniforms present in the shader
if they have the right corresponding names.
Other properties are available from the OpenGL built-in uniforms or properties
(usually starting with gl_).
The following table lists these defines and the shaderConfig properties in the
material they relate to:
{| class="wikitable"
|-
! shaderConfig
! shader #DEFINE
! exposed uniform parameters if enabled
! comment
|-
|default (always enabled)
|
|vec3 ambient, vec4 diffuse, vec4 specular, vec3 emissive
|diffuse and specular are 4-component color values, diffuse=[rgba] with a=opacity and specular=[rgbs] with s=shininess
|-
|vertexColors
|VERTEX_COLOR
|
|
|-
|diffuse
|DIFFUSE
|diffuseTexture
|
|-
|bump
|BUMPMAP
|bumpmapTexture, bumpmapIntensity
|disabled if normal mapping is enabled (restriction might be lifted in the future)
|-
|normal
|NORMALMAP
|normalmapTexture, normalmapIntensity
|
|-
|displacement
|DISPLACEMENT
|displacementmapTexture, displacementmapIntensity
|
|-
|spec
|SPECULARMAP
|specularmapTexture, specularmapIntensity
|
|-
|transparency
|TRANSPARENCYMAP
|transparencymapTexture, transparencymapIntensity
|
|-
|ambientOcclusion
|AOMAP
|aomapTexture, aomapIntensity
|
|}
Additionally, MakeHuman exposes the vertex tangent as a vertex property, which
can be accessed by the shader.
attribute vec4 tangent
Currently, [http://www.terathon.com/code/tangent.html Lengyel’s Method] for tangent calculation
is used, but plans are to change this to [http://bugtracker.makehumancommunity.org/issues/87 mikktspace] in the future.
Shader examples for MakeHuman can be found here:
* Litsphere shader: [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/litsphere_vertex_shader.txt vertex][https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/litsphere_fragment_shader.txt fragment]
* Phong shader: [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/phong_vertex_shader.txt vertex][https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/phong_fragment_shader.txt fragment]
* Normal map shader (wip): [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/normalmap_vertex_shader.txt vertex] [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/normalmap_fragment_shader.txt fragment]
* X-ray shader: [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/xray_vertex_shader.txt vertex][https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/xray_fragment_shader.txt fragment]
==== Custom shader properties ====
Shaders can use non-standard #DEFINEs to allow enabling or disabling non-standard shading features, other than the ones that were foreseen in the material format (such as normal mapping, ...)
To add new ones, simply add #ifdef SOME_FEATURE statements to your shader code, the material system will automatically detect them.
From the material, you can enable them with
shaderDefine SOME_FEATURE
If not defined, the feature is assumed to be switched off.
A custom shader can also add new parameters to tweak. For example a color value or intensity value that influences the shading.
To do this, the shader author can simply add new uniform variables to their shader code. It is recommended to specify a default
value for them, so that if the material file does not explicitly mention them, they receive a sensible default value.
Example: the X-ray shader adds an edge-fallof property:
uniform float edgefalloff = 1.0;
From the material file, you can influence this value with:
shaderParam edgefalloff 0.5
shaderParam supports lists of float values (one or multiple, divided by spaces), eg
shaderParam edgecolor 0.7 0.3 0.4
or textures, by specifying a path to an image file (in which case they are assumed to be Sampler2D type)
Additionally, from within MakeHuman, they can be passed a Texture object, to dynamically pass them a texture that resides in memory, without the need for the texture to be stored in a file on disk.
This allows to dynamically alter the texture and have it displayed directly. MakeHuman takes care of caching the texture and updating it when it is modified.
For example, the auto skin tone blending of the litsphere texture is implemented in this way.
The material system will automatically detect these custom uniform parameters declared in the shader, for example the material editor plugin will present them in the GUI.
These features make for a general and extensible shader system.
bd4cde9cdca103cc2cabef94719591281b93163c
583
582
2016-01-27T16:35:04Z
Duststorm
19
/* SSS properties */
wikitext
text/x-wiki
== Vertex weights ==
With vertex weights we intend a weighted mapping of vertices of a mesh to a bone of a skeleton. The weight is a value between 0 and 1, the sum of these weights for each vertex should be normalized, which means they should sum to 1 (note: no euclidian distance, just simple addition of all weights). A weight map in MakeHuman is expressed as a bone name (becomes a bone index internally, using the index of the bone in a breadth-first list relative to skeleton structure), a vertex name and a floating point weight between 0 and 1. This weighted vertex to bone mapping is used for skinning (posing and animating, using vertex skinning, smooth skinning or linear blend skinning algorithm). For the skinning algorithm to work correctly it’s required that the weights are always normalized, otherwise you will see vertices move out of place disproportionally (though the weight loading code in MakeHuman ensures that this normalization always happens, so this is not a concern to the artist that defines the weights). The vertex weights can be exported to external tools as well using formats such as collada (DAE), FBX, Ogre3D meshes or MD5 quake meshes.
=== Vertex weights and skeletons ===
Vertex weights are defined for the default “master” skeleton or rig. They are defined in a json file with jsonw extension. They link each vertex of the basemesh including helpers to a named bone of this master rig, together with a certain weight.
The weights loader automatically removes doubles and normalizes the weights (so that they sum to 1). It also reports what the maximum number of bone weights per vertex is, additionally it allows compiling the weights to a reduced set with n number of bone weights, and automatically renormalizes those weights so they, again, sum to 1.
When loading weights, any vertex that receives no weighting is assigned to the root bone, as this is needed for skinning to prevent all those vertices jumping to the origin (0*pos == 0).
Alternative skeletons can define their own weights, by referencing a weights file just like the master rig, or they can choose to derive their weights from the master rig, through so called reference bone mappings. Skeletons will derive their weights from the master rig if they do not specify a weights file explicitly. Custom vertex weights in alternative rigs override those defined on the master rig, except in the case where a proxy defines its own vertex weights. See section Vertex weights for proxies for more details.
=== Reference bones for vertex weights and poses ===
Reference bones are defined on alternative rigs, they are a list of names of bones contained in the master rig. Every bone of an alternative rig can have such a list of reference bones. An alternative rig can also omit these references if it uses the same name as bones in the master rig, in which the mapping is implicit. Having a list of bone references always overrides the implicit mapping. Reference bone mappings are required for two purposes.
They are used for mapping poses defined on the master rig to other rigs. All poses are defined as BVH files that pose the master rig, so they reference only the bone names of the master rig. Poses are applied to all other rigs by using the reference bone mapping: all the rotations that the pose applies to the referenced bones are combined (in the order in which the references were specified -- note: rotations are NOT commutative) and are applied to the alternative rig bone.
Reference bone mappings can also be used for determining vertex weights of custom rigs. If the alternative rig does not explicitly define its own vertex weights, the mapping of reference bones is used to infere a set of bone weights for each bone: All the weights of the reference bones on the master rig (with the weights definition of the default/master rig) are combined and apply to the bone of the alternative rig. Doubles are merged, and weights renormalized. Any vertex that is not weighted will be assigned to the root bone. Watch for messages in the log to verify this.
=== Vertex weights for proxies ===
Generally proxies are mapped to basemesh geometry, that means either to the body or to helpers, or a combination of both (though this is unusual). Proxies derive their vertex weights from the vertices on the basemesh on which they are fitted. A proxy defines its fitting as a 3d offset from one or three vertices on the basemesh, allowing it to deform as the human deforms. This mapping is used to transfer the vertex weights from basemesh to proxy: a proxy vertex referencing three basemesh vertices gets the bone weights of those three vertices. Doubles are merged and the weights are normalized, so that the influence factors are averaged or smoothed. In this case the weights applied to proxies are always those defined on the skeleton: either the weights explicitly defined on the skeleton, or the weights obtained from remapping the master rig weights to this skeleton using the reference bone mapping mentioned in the previous sections. There is an exception to this, which is explained in the next paragraph.
A proxy can explicitly define its own vertex (to bone) weights. In this case it overrides the weights that would be obtained through the proxy mapping, and replaces them by its own custom definition of weights. These vertex weights are always defined to reference the bones of the master rig (default skeleton), so they need to be remapped to other skeletons using reference bone mapping. This also means that the custom weights of a proxy override any custom weights mapping that might be loaded with an alternative rig (but only for that proxy item). Custom proxy weights should be avoided if possible, but are in some cases required, eg. for properly rigging shoes which are rigidly fitted to feet, or an alternative topology which defines very accurate rigging on the face. The general advice for custom rigs is therefore to stay as close to the master rig as possible, reusing as much bones identically as possible, to achieve the best results for proxies with custom weights.
In case of custom weight, the mhclo file must contain a line to indicate the weight file to use, using the keyword “vertexboneweights_file”, with the syntax:
vertexboneweights_file filename.jsonw
== Targets and modifiers ==
MakeHuman applies targets on the human by means of modifiers. Such a modifier has a value (usually between [0, 1] or [-1, 1]) that determines the effect of it on the human mesh. A modifier can control one or more targets and in apply the mixed sum of them on the mesh. Some modifiers.
=== Organization of targets ===
To make sure targets are linked to the right modifier, or to make managing targets easier, a certain discipline has to be observed in managing them. Targets are ASCII files in the data/targets or data/custom folder (in program or user folder) with a file extension of .target.
The file name and folder targets are in implicitly determines their group name. A group is identified by a sequence of tags or tokens, which are taken from the file and folder name of each target, and which can be delimited by “-” symbols, to include multiple tokens in a single file or folder name. The lib/targets.py module takes care of loading all the names of the available targets and assembles them into groups. All targets with the same tokens end up in the same group. This allows easy querying and requesting of targets. The creator is pretty much free to decide what groups to create for their targets. By passing the name of the target group to a modifier, they can make sure that modifier controls the targets belonging to this group. It does not matter whether you use folders or - delimited file names for creating groups.
An example:
data/targets/cartoon/eyes-large.target is categorized in group (cartoon, eyes, large)
data/targets/cartoon-eyes-large.target is also categorized in group (cartoon, eyes, large)
Most simple modifiers work by specifying a group (for example cartoon-eyes) and a set of two tokens to append at the end, depending on the position of the modifier slider (eg. small, large which would allow controlling the targets cartoon-eyes-small and cartoon-eyes-large by moving the slider to the left or right).
=== Reserved group tokens ===
Some of the tokens in the file or foldername of targets are linked to values that variables of the human can have. Such variables are for example age, weight, muscle, gender.
This table lists all the reserved tokens, and the variables they belong to.
{| class="wikitable"
|-
! Reserved token (value)
! Variable
|-
| female,male
| gender
|-
| baby, child, young, old
| age
|-
| african, caucasian, asian
| race
|-
| minmuscle, averagemuscle, maxmuscle
| muscle
|-
| minweight, averageweight, maxweight
| weight
|-
| minheight, averageheight, maxheight
| height
|-
| mincup, averagecup, maxcup
| breastsize
|-
| minfirmness, averagefirmness, maxfirmness
| breastfirmness
|-
| uncommonproportions, regularproportions, idealproportions
| bodyproportion
|}
Note that it is not a good idea to use simply “max” or “min” as a reserved token name, because they need to be unique (otherwise it would not be possible to determine whether they are a minimum for, for example, weight or height). These reserved tokens are declared in the lib/targets.py module. The variable can be set and queried on the human object, for example human.getAge(), human.setMuscle(0.7), human.getProportion().
The reserved tokens are NOT included in the group name, so you should at least include some other, non-reserved tokens in the file or folder names to assign your target to some meaningful group. The inclusion of these reserved tokens in your target names or paths makes it convenient to create macro modifiers.
=== Macro targets and modifiers ===
Macro modifiers are modifiers whose effect (the combination of targets they apply on the human) is influenced by macro variables set on the human (eg. human.set/getAge()). Therefore, macro modifiers often control a large set of targets (20 or even more). It’s also common for multiple modifiers to control exactly the same set of targets, for example the standard age/gender/race sliders all control the set of targets in the ‘macrodetails’ group. Each slider modifies a different variable (eg. human.setAge()) controlling the set of targets, and then reapplies a combination of the same set of targets on the human.
=== Macro modifier dependencies ===
There are other macro modifiers that can also depend on the same variables age, gender, race that is controlled by the main macro modifiers, as discussed above. For example the macro modifiers that influence the weight and muscle mass of the human, controls the targets group “macrodetails-universal”, the universal token is added by prepending “universal-” to all the file names of related targets, which all reside in the folder “macrodetails” (thus macrodetails-universal ends up being the group name). They could have been included all in the “macrodetails” group, but are kept separate for performance reasons, so that the “macrodetails” group of targets (which already contains some 40 targets or so) can be applied in realtime while moving the slider.
Of course a change in the variable that these age/race/gender modifiers control will have an effect on the macrodetails-universal modifiers (because they control targets that depend on age -- their targets include -young- -old- etc. tokens in their filenames). This means there are inter-dependencies between macro modifiers, if one is updated, another one that depends on it should be refreshed. These dependencies can be descibed as follows: one macro modifier controls exactly one macro variable (such as age). It (or rather, the targets it controls) can however depend on multiple macro variables. The trivial case is where a macro modifier only depends on the macro variable that it controls itself. The tracking of these dependencies and deciding which modifiers must be updated when another is changed happens automatically. Dependencies are automatically tracked as soon as you add a modifier to the human (by calling modifier.setHuman(human)). To make this more performant in real-time, the propagation of updates to modifiers is limited while sliders are dragged (see realtimeDependencyUpdates in apps/humanmodifier.py).
As you might have understood, creating modifiers that depend on human variables is almost automatic. The only thing you need to do is create some targets that resolve to the same group name, add variations for all the macro variables you want and add the proper reserved tokens to the file or folder name (refer to the left column in the table above), and create a modifier with this group name. Once added to the human, the dependencies are tracked automatically.
=== Organization of modifiers ===
We already discussed how we organized targets in groups, to make it easier to connect them to a modifier. Now we will discuss how we can do a similar thing for modifiers.
Modifiers provide an easy way to manage targets. They allow reducing many of hundreds of targets to a more manageable number of controllable properties. But even then, we still have about 100 modifiers, which is still quite a lot. Therefore we group them in groups of categories, much like we do in the GUI. This makes it easy to get a grouped overview of all modifiers when using an alternative interface, think of commandline or scripting. The way in which you declare the group and other properties of a modifier determines what target groups it gets its targets from.
Modifiers are declared with a group name, some intermediary “target name” and a number of tail tokens (2 or 3 usually, eg min/max). The group of targets controlled by these modifiers is composed as: groupname-targets_name-tail.
Macro modifiers are declared with a group name, and a controlled variable. The groupname must be the same groupname of the targets they control.
=== Declarative modifiers ===
Instead of hard coding what modifiers you want to instantiate, MakeHuman offers a data-based format to declare what modifiers should be created, and how they should be shown in a user interface with sliders.
A full declaration requires three files, all stored in data/modifiers. The first is the declaration of the modifiers (eg. modeling_modifiers.json). This format lists a modifier group name, and all the modifiers with their macro variable (if they are macro modifiers) or target name and 2 or 3 (if they are a modifier with a center point) tail tokens.
The second file adds a description to the modifiers declared in the first file. It basically contains a key-value set, referencing the modifier name, and a textual description of what the modifier controls. A modifier name is constructed as follows: group/targets_name-all|the|tails and for a macro modifier: group/variable
The third file defines how these modifiers should be shown in the user interface as sliders. It lists a set of categories, and the sliders to show in them, and how their values have to be saved in a mhm file (mainly a feature for legacy compatibility).
=== Your own plugin with modifiers, sliders and targets ===
Using the declarative data format described in the section above, it’s really simple. Have a look at the plugin plugins/0_modeling_0_modifiers.py. Notice it’s barely 5 lines of code. Creating your own modeling plugin is as simple as that, pointing it to your own modifier data files.
=== Binary targets ===
Because loading these ASCII target files, and iterating all target files and folders can be slow (especially on windows) in build versions, we compile all targets in the data/targets system folder into a single binary file, that furthermore acts exactly the same as multiple target files. The binary targets file is stored in the system data/ folder and is called targets.npz, it is created by running the compile_targets.py script, which is also automatically run in the build_prepare.py build routine. The file structure of the targets files is maintained in this binary file so that targets can be loaded from it in the same way as you would do with regular files. A change in the .target files, or newly added target files allow a recompilation of the targets npz file before the change is applied.
== Material format==
=== Introduction ===
MakeHuman material files have extension .mhmat and are simple ASCII definitions
of the material settings to use for rendering.
These material settings are primarily intended for configuring the material
system within MakeHuman, but they are usually carried out to other software as
well by the exporters.
Not all properties will be supported for all given combinations of shaders, nor
is there a guarantee that the exporters will honor all the properties in these
files.
Every 3D object in MakeHuman has exactly one material attached to it (multiple
materials are not possible, you need separate objects for that). Materials are
used for proxy meshes (clothes, hairs, ...) but also for the skin of the human
itself.
=== The Material System ===
The MakeHuman material system is closely based on the [https://en.wikipedia.org/wiki/Rendering_equation standard rendering equation]
as is used in OpenGL and DirectX forward rendering pipelines. MakeHuman supports
shaders and the material format contains the most commonly used extensions in
real-time rendering. As a consequence of this, users need to be aware of the
implications of setting values such as ambient too bright, or diffuse too dark.
All usual rules about rendering materials apply.
At the highest level, the material supports setting the most basic material
properties, such as diffuse, specular and ambient color. These are supported
both by shaders as well as the fixed function shading pipeline (which is used
when no shader is specified). Fixed function also supports the diffuse texture
option.
At a second level, a shader can be chosen. This refers directly to the filename
of a [https://en.wikipedia.org/wiki/OpenGL_Shading_Language GLSL shader] as found in the data/shaders/glsl folder of MakeHuman.
The selected shader will determine what material options will be available.
Various additional settings become available, depending on whether or not the
chosen shader has support for these features, such as bump or normal mapping,
ambient occlusion, specular mapping, etc.
For most of these, a texture map and a scalar property between 0 and 1 can be
set, the latter determining the intensity or influence of the effect.
Finally, MakeHuman also contains a built-in offline renderer that supports some
additional properties such as subsurface scattering, for which some special
properties are available.
=== Example ===
This is a full and complete (but fictional) example of a material file for MakeHuman, it shows all the available properties.
# Example MakeHuman Material definition
name Material_name
tag some_tag
tag another_tag
description material description text here
ambientColor 0.11 0.11 0.11
diffuseColor 1.0 1.0 1.0
specularColor 0.0470588235294 0.0470588235294 0.0470588235294
shininess 0.96
emissiveColor 0.0 0.0 0.0
opacity 1.0
translucency 0.0
shadeless False
wireframe False
transparent True
alphaToCoverage True
backfaceCull False
depthless False
autoBlendSkin False
castShadows True
receiveShadows True
diffuseTexture diffuse_texture.png
bumpmapTexture bumpmap.png
bumpmapIntensity 1.0
normalmapTexture normalmap.png
normalmapIntensity 1.0
displacementmapTexture norm_displacement.png
displacementmapIntensity 1.0
specularmapTexture specular.png
specularmapIntensity 1.0
transparencymapTexture alpha.png
transparencymapIntensity 1.0
aomapTexture ambient_occlusion_map.png
aomapIntensity 1.0
# Sub-surface scattering parameters
sssEnabled True
sssRScale 5.0
sssGScale 2.5
sssBScale 1.0
shader shaders/glsl/litsphere
shaderParam litsphereTexture litspheres/lit_hair.png
shaderConfig ambientOcclusion True
shaderConfig normal False
shaderConfig bump True
shaderConfig displacement False
shaderConfig vertexColors True
shaderConfig spec True
shaderConfig transparency True
shaderConfig diffuse True
shaderDefine ALPHA_MAP
uvMap alt_uv_coords.mhuv
This is another example, this time a real one. It is the X-ray material, used for example when showing the skeleton:
# Material definition for XrayMaterial
name XrayMaterial
ambientColor 0.1 0.1 0.1
diffuseColor 1.0 1.0 1.0
specularColor 0.3 0.3 0.3
shininess 0.1
emissiveColor 0.0 0.0 0.0
opacity 0.1
translucency 0.0
transparent True
backfaceCull True
shadeless False
wireframe False
depthless False
shader data/shaders/glsl/xray
shaderConfig diffuse False
shaderConfig transparency False
shaderConfig normal False
shaderConfig bump False
shaderConfig spec False
shaderConfig vertexColors False
shaderConfig displacement False
=== Explanation of material properties ===
==== Standard settings ====
''ambientColor'', ''diffuseColor'' ''specularColor'', ''emissiveColor'' are the standard colors
as used in the [https://en.wikipedia.org/wiki/Rendering_equation rendering equation]
or in standard OpenGL.
Their corresponding intensities are simple scalars with a value between 0 and 1 and are multiplied
with the colors to dim them. Default these intensities are set to 1.
Colors are described as three floating point numbers, representing R G B, or red-green-blue
values. 1 is the maximum, 0 the minimum.
For example 1.0 0 0 means fully red, 1 1 1 means full white, 0 0 0 is full black.
0.5 0.5 0.5 will give you a grey middle color.
''opacity'' determines the opaqueness of the object (alpha channel), with 1 being fully
opaque, and 0 being fully transparent (invisible)
''translucency'' is something that came from Blender but is unused
==== Texture maps ====
Various standard texture maps can be defined on the material, like ''diffuseTexture'', ''bumpmapTexture'', ''normalmapTexture'', ''displacementmapTexture'', ''specularmapTexture'', ''transparencymapTexture'', ''aomapTexture''. Each of these also has an associated intensity value, which is a scalar from 0 to 1 multiplied with the pixel value of that texture (unless a specific shader implements it differently).
These textures only have an effect if their corresponding shaderConfig feature has been defined (see the table in Shaders section).
==== Render states ====
When ''wireframe'' is set to True, the model is drawn in wireframe mode. In this mode,
most material properties have no effect, but you can enable the vertexColors shaderConfig
to be able to change the color of the mesh using vertex colors (this requires
access to the mesh programatically, obj meshes do not support vertex colors).
This feature is used in some parts of MakeHuman, for example viewing bone weights
in the skeleton debug plugin.
Set ''shadeless'' to True to disable shading, eg. the object is not affected by lights.
Configured shader will have no effect
Set ''transparent'' to True to enable transparency rendering (usually needed when opacity is < 1)
In itself this does not change the visual appearance of the model, but this setting
should be enabled if your texture contains (semi-) transparent parts. This setting
instructs the renderer to disable depth buffer writes (glDepthMask(false))
and enables alpha testing and blending so that transparent surfaces can overlap and to allow [https://www.opengl.org/wiki/Transparency_Sorting alpha blending].
''alphaToCoverage'' Applies when transparent is set to True (otherwise does nothing).
It requires that your GPU supports alpha to coverage (A2C) rendering. It enables
the A2C feature which provides face order-independent alpha rendering. This works
very well for complex transparent meshes, like hair. At the cost of a slightly
dithered look, it solves all the problems with face sorting that are usually
involved in rendering semi transparency.
(This feature disables anti-aliasing for this object because the multisample buffer is used for alpha blending instead)
Set ''backfaceCull'' to False to disable backface culling (render the back side of polygons)
By default, and in most cases, this should be set to True, but can be useful
in some cases (for example, we disable back-face culling for the eyebrow materials).
Set ''depthless'' to True for depthless rendering (object is not occluded and does not occlude other objects).
This disables OpenGL depth writes and tests. In practice, this makes object faces that should be occluded shine through others.
''castShadows'' determines whether the object casts shadows on other objects.
''receiveShadows'' determines whether the object receives shadows from other objects.
For some features, like eyes, you probably want to disable shadow receiving.
Since MakeHuman does not (yet) implement shadow casting, the shadow settings have
no effect in MakeHuman, but they do export to other engines.
Play around with these settings in the Material Editor plugin to see their effect, that's the best advise I can give you.
The best way to find out which settings work for an asset, is simply to try them out.
==== autoBlendSkin ====
If True MakeHuman will set the diffuse color based on the ethnix mix set for the character.
Any diffuseColor set in the material file will be overridden by this.
Also the shaderParam litsphereTexture will be automatically set to a dynamically blended litsphere texture,
which is a mix of three litsphere materials (afro, asian, caucasian) depending on the ethnic mix of the character.
This latter is specifically intended to be used with the litsphere shader, and it is what you see as default material when you start MakeHuman
This overrides whatever shaderParam litsphereTexture was set in the material file.
This setting is intended only for skin materials.
==== shaderParam ====
Define a custom shader parameter (uniform), which might be required for some non-standard shaders.
For example, the litsphere shader takes an extra type of texture map as input, a so-called litsphere texture.
This generic system of mapping shader uniforms allows you to create specialised shaders that take
new and different kind of inputs, and allow configuring the shader from the material file.
shaderParam can be a list of floating point numbers, in which case it will be interpreted as a vector,
or it can be a file path, in which case it is assumed to be an image path.
Internally in MakeHuman, shaderParams can also be assigned a texture object, which allows
for dynamically passing a texture that is in memory, but perhaps not stored on disk.
Another example of a custom shaderParam is the X-ray shader that defines an edgefalloff
and intensity uniform parameter.
These could be changed from the material file with
shaderParam edgefalloff 0.8
shaderParam intensity 0.77
==== shaderDefine ====
shaderDefines allow enabling or disabling custom shading techniques in shaders.
These allow to define new shading techniques, apart from the pre-defined ones
such as normal mapping, specularity mapping, ...
It's a generic system that allows new shaders to be added and configured from
the material file, or from the material editor (which nicely auto-detects these
features in the shader and shows a set of checkboxes for them).
==== uvMap ====
Load custom UV coordinates on the mesh to use this material. This makes the material
completely dependent on the mesh it is used with.
Takes a path to a .mhuv file, which is actually just an .obj file, where the vertex
positions can be deleted (they can remain in there, but they are ignored).
Requirement for it to work is that the vertex order is the same as that of the
mesh obj.
An example uv map for the basemesh can be found in data/uvs/a7.mhuv, which is a
set of UV coordinates compatible with the old Alpha 7 mesh, allowing you to load
A7 textures on the new basemesh used in MakeHuman v1+
==== SSS properties ====
These are the so-called sub-surface scattering shading properties, currently only used by the built-in offline renderer. They were decided on while trying to figure out the most generic way to define SSS shading properties, so that they could easily be translated into SSS properties for a different renderer (as no single renderer that I know of has a standard for these). It's uncertain whether the format we have landed on currently is the best, or whether this will remain permanently or is still likely to change.
This setting should currently be considered experimental.
The properties are ''sssEnabled'', ''sssRScale'', ''sssGScale'' and ''sssBScale''.
=== Basic pointers ===
* You can test the influence of material properties using the Material Editor plugin (which you can enable in Settings > Plugins, then restart)
* Using a diffuse texture? You probably want to set the diffuse color to 1 1 1 (pure white)
* Never set ambient color too bright, or your model will look completely white. 0.1 0.1 0.1 is a good value to start from.
* Emissive is usually set to black, unless you want a radioactive character
* Don't know how to define a color in numbers? Try the Material Editor plugin
* Higher shininess means smaller and sharper highlight, lower shininess makes the highlight larger and more blurred
* Reduce specular color to reduce the specularity, make it black for a rough and non shiny object
* opacity 1 means fully opaque, 0 means fully transparent (invisible)
=== Scene definition ===
To complete the rendering equation, you also need to define the scene. To be
more precise, the positions, types, color and intensities of the lights need to
be set. By default, MakeHuman only has a default scene with only one pointlight.
In MakeHuman, lights do not move if the camera is moved, or rather, the model is
rotated while the camera and lights remain static. So light positions are defined
relative to the camera position.
MakeHuman scenes are defined in .mhscene files, which are binary py-pickled files.
They can be created or modified using the Scene Editor plugin (can be enabled in
settings) and can be selected from the Scene library in the Render tab.
Fixed function shading pipeline supports up to 8 lights, specific light support
depends on the shader used, some shaders only support a certain type or number
of lights, other ignore the chosen scene altogether (for example the litsphere
shader that uses pre-baked environment lighting).
The built-in offline renderer also uses the specified scene.
Scenes are not exported along with the model.
=== Shaders ===
The most powerful functionality of the material system is unlocked when using
shaders.
MakeHuman shaders are intended to be written in a modular way, so that shading
features can be enabled or disabled using the material format. Examples of such
features are bump mapping, normal mapping, specular mapping, diffuse texturing,
ambient occlusion and displacement mapping.
MakeHuman includes a basic introspection function that allows it to determine
what features a shader supports. It accomplishes this by looking for #ifdef and #ifndef statements. If a shader supports a certain technique, it is supposed to
encapsulate this in #ifdef NORMALMAP ... #else ... #endif statements.
The idea is that of an [http://www.gamedev.net/topic/659145-what-is-a-uber-shader/ über shader], where performance is optimized by removing any dynamic branches (if then that) from shader code, and instead managing the features using defines and pre-processor branches.
When a different branch in the shader is activated, the shader code is recompiled entirely.
Instead of having different shaders for different features (eg. a specific normalmap shader to be able to do normal mapping), one general shader could be used instead, and normal mapping can simply be enabled or disabled from the material properties, without being required to swap shaders (a good default uber shader is [http://bugtracker.makehumancommunity.org/issues/160 still to be created for MakeHuman] Any help with this is welcome of course!).
The material system manages these shading functions by defining specific pre-processor
keywords when their corresponding shaderConfig property is set to true.
Shaders are recompiled when needed and stored in a shader cache for efficiency.
MakeHuman passes scene and material information to the shaders by certain uniform
parameters. Depending on which shaderConfig properties were enabled, additional
uniforms could be exposed to the shader. The shader does not have to declare all
these uniforms, however. MakeHuman binds only those uniforms present in the shader
if they have the right corresponding names.
Other properties are available from the OpenGL built-in uniforms or properties
(usually starting with gl_).
The following table lists these defines and the shaderConfig properties in the
material they relate to:
{| class="wikitable"
|-
! shaderConfig
! shader #DEFINE
! exposed uniform parameters if enabled
! comment
|-
|default (always enabled)
|
|vec3 ambient, vec4 diffuse, vec4 specular, vec3 emissive
|diffuse and specular are 4-component color values, diffuse=[rgba] with a=opacity and specular=[rgbs] with s=shininess
|-
|vertexColors
|VERTEX_COLOR
|
|
|-
|diffuse
|DIFFUSE
|diffuseTexture
|
|-
|bump
|BUMPMAP
|bumpmapTexture, bumpmapIntensity
|disabled if normal mapping is enabled (restriction might be lifted in the future)
|-
|normal
|NORMALMAP
|normalmapTexture, normalmapIntensity
|
|-
|displacement
|DISPLACEMENT
|displacementmapTexture, displacementmapIntensity
|
|-
|spec
|SPECULARMAP
|specularmapTexture, specularmapIntensity
|
|-
|transparency
|TRANSPARENCYMAP
|transparencymapTexture, transparencymapIntensity
|
|-
|ambientOcclusion
|AOMAP
|aomapTexture, aomapIntensity
|
|}
Additionally, MakeHuman exposes the vertex tangent as a vertex property, which
can be accessed by the shader.
attribute vec4 tangent
Currently, [http://www.terathon.com/code/tangent.html Lengyel’s Method] for tangent calculation
is used, but plans are to change this to [http://bugtracker.makehumancommunity.org/issues/87 mikktspace] in the future.
Shader examples for MakeHuman can be found here:
* Litsphere shader: [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/litsphere_vertex_shader.txt vertex][https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/litsphere_fragment_shader.txt fragment]
* Phong shader: [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/phong_vertex_shader.txt vertex][https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/phong_fragment_shader.txt fragment]
* Normal map shader (wip): [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/normalmap_vertex_shader.txt vertex] [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/normalmap_fragment_shader.txt fragment]
* X-ray shader: [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/xray_vertex_shader.txt vertex][https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/xray_fragment_shader.txt fragment]
==== Custom shader properties ====
Shaders can use non-standard #DEFINEs to allow enabling or disabling non-standard shading features, other than the ones that were foreseen in the material format (such as normal mapping, ...)
To add new ones, simply add #ifdef SOME_FEATURE statements to your shader code, the material system will automatically detect them.
From the material, you can enable them with
shaderDefine SOME_FEATURE
If not defined, the feature is assumed to be switched off.
A custom shader can also add new parameters to tweak. For example a color value or intensity value that influences the shading.
To do this, the shader author can simply add new uniform variables to their shader code. It is recommended to specify a default
value for them, so that if the material file does not explicitly mention them, they receive a sensible default value.
Example: the X-ray shader adds an edge-fallof property:
uniform float edgefalloff = 1.0;
From the material file, you can influence this value with:
shaderParam edgefalloff 0.5
shaderParam supports lists of float values (one or multiple, divided by spaces), eg
shaderParam edgecolor 0.7 0.3 0.4
or textures, by specifying a path to an image file (in which case they are assumed to be Sampler2D type)
Additionally, from within MakeHuman, they can be passed a Texture object, to dynamically pass them a texture that resides in memory, without the need for the texture to be stored in a file on disk.
This allows to dynamically alter the texture and have it displayed directly. MakeHuman takes care of caching the texture and updating it when it is modified.
For example, the auto skin tone blending of the litsphere texture is implemented in this way.
The material system will automatically detect these custom uniform parameters declared in the shader, for example the material editor plugin will present them in the GUI.
These features make for a general and extensible shader system.
39966e896f0f2f0e23359e30b2a6dc37d9965e42
582
581
2016-01-27T16:34:15Z
Duststorm
19
/* Explanation of material properties */
wikitext
text/x-wiki
== Vertex weights ==
With vertex weights we intend a weighted mapping of vertices of a mesh to a bone of a skeleton. The weight is a value between 0 and 1, the sum of these weights for each vertex should be normalized, which means they should sum to 1 (note: no euclidian distance, just simple addition of all weights). A weight map in MakeHuman is expressed as a bone name (becomes a bone index internally, using the index of the bone in a breadth-first list relative to skeleton structure), a vertex name and a floating point weight between 0 and 1. This weighted vertex to bone mapping is used for skinning (posing and animating, using vertex skinning, smooth skinning or linear blend skinning algorithm). For the skinning algorithm to work correctly it’s required that the weights are always normalized, otherwise you will see vertices move out of place disproportionally (though the weight loading code in MakeHuman ensures that this normalization always happens, so this is not a concern to the artist that defines the weights). The vertex weights can be exported to external tools as well using formats such as collada (DAE), FBX, Ogre3D meshes or MD5 quake meshes.
=== Vertex weights and skeletons ===
Vertex weights are defined for the default “master” skeleton or rig. They are defined in a json file with jsonw extension. They link each vertex of the basemesh including helpers to a named bone of this master rig, together with a certain weight.
The weights loader automatically removes doubles and normalizes the weights (so that they sum to 1). It also reports what the maximum number of bone weights per vertex is, additionally it allows compiling the weights to a reduced set with n number of bone weights, and automatically renormalizes those weights so they, again, sum to 1.
When loading weights, any vertex that receives no weighting is assigned to the root bone, as this is needed for skinning to prevent all those vertices jumping to the origin (0*pos == 0).
Alternative skeletons can define their own weights, by referencing a weights file just like the master rig, or they can choose to derive their weights from the master rig, through so called reference bone mappings. Skeletons will derive their weights from the master rig if they do not specify a weights file explicitly. Custom vertex weights in alternative rigs override those defined on the master rig, except in the case where a proxy defines its own vertex weights. See section Vertex weights for proxies for more details.
=== Reference bones for vertex weights and poses ===
Reference bones are defined on alternative rigs, they are a list of names of bones contained in the master rig. Every bone of an alternative rig can have such a list of reference bones. An alternative rig can also omit these references if it uses the same name as bones in the master rig, in which the mapping is implicit. Having a list of bone references always overrides the implicit mapping. Reference bone mappings are required for two purposes.
They are used for mapping poses defined on the master rig to other rigs. All poses are defined as BVH files that pose the master rig, so they reference only the bone names of the master rig. Poses are applied to all other rigs by using the reference bone mapping: all the rotations that the pose applies to the referenced bones are combined (in the order in which the references were specified -- note: rotations are NOT commutative) and are applied to the alternative rig bone.
Reference bone mappings can also be used for determining vertex weights of custom rigs. If the alternative rig does not explicitly define its own vertex weights, the mapping of reference bones is used to infere a set of bone weights for each bone: All the weights of the reference bones on the master rig (with the weights definition of the default/master rig) are combined and apply to the bone of the alternative rig. Doubles are merged, and weights renormalized. Any vertex that is not weighted will be assigned to the root bone. Watch for messages in the log to verify this.
=== Vertex weights for proxies ===
Generally proxies are mapped to basemesh geometry, that means either to the body or to helpers, or a combination of both (though this is unusual). Proxies derive their vertex weights from the vertices on the basemesh on which they are fitted. A proxy defines its fitting as a 3d offset from one or three vertices on the basemesh, allowing it to deform as the human deforms. This mapping is used to transfer the vertex weights from basemesh to proxy: a proxy vertex referencing three basemesh vertices gets the bone weights of those three vertices. Doubles are merged and the weights are normalized, so that the influence factors are averaged or smoothed. In this case the weights applied to proxies are always those defined on the skeleton: either the weights explicitly defined on the skeleton, or the weights obtained from remapping the master rig weights to this skeleton using the reference bone mapping mentioned in the previous sections. There is an exception to this, which is explained in the next paragraph.
A proxy can explicitly define its own vertex (to bone) weights. In this case it overrides the weights that would be obtained through the proxy mapping, and replaces them by its own custom definition of weights. These vertex weights are always defined to reference the bones of the master rig (default skeleton), so they need to be remapped to other skeletons using reference bone mapping. This also means that the custom weights of a proxy override any custom weights mapping that might be loaded with an alternative rig (but only for that proxy item). Custom proxy weights should be avoided if possible, but are in some cases required, eg. for properly rigging shoes which are rigidly fitted to feet, or an alternative topology which defines very accurate rigging on the face. The general advice for custom rigs is therefore to stay as close to the master rig as possible, reusing as much bones identically as possible, to achieve the best results for proxies with custom weights.
In case of custom weight, the mhclo file must contain a line to indicate the weight file to use, using the keyword “vertexboneweights_file”, with the syntax:
vertexboneweights_file filename.jsonw
== Targets and modifiers ==
MakeHuman applies targets on the human by means of modifiers. Such a modifier has a value (usually between [0, 1] or [-1, 1]) that determines the effect of it on the human mesh. A modifier can control one or more targets and in apply the mixed sum of them on the mesh. Some modifiers.
=== Organization of targets ===
To make sure targets are linked to the right modifier, or to make managing targets easier, a certain discipline has to be observed in managing them. Targets are ASCII files in the data/targets or data/custom folder (in program or user folder) with a file extension of .target.
The file name and folder targets are in implicitly determines their group name. A group is identified by a sequence of tags or tokens, which are taken from the file and folder name of each target, and which can be delimited by “-” symbols, to include multiple tokens in a single file or folder name. The lib/targets.py module takes care of loading all the names of the available targets and assembles them into groups. All targets with the same tokens end up in the same group. This allows easy querying and requesting of targets. The creator is pretty much free to decide what groups to create for their targets. By passing the name of the target group to a modifier, they can make sure that modifier controls the targets belonging to this group. It does not matter whether you use folders or - delimited file names for creating groups.
An example:
data/targets/cartoon/eyes-large.target is categorized in group (cartoon, eyes, large)
data/targets/cartoon-eyes-large.target is also categorized in group (cartoon, eyes, large)
Most simple modifiers work by specifying a group (for example cartoon-eyes) and a set of two tokens to append at the end, depending on the position of the modifier slider (eg. small, large which would allow controlling the targets cartoon-eyes-small and cartoon-eyes-large by moving the slider to the left or right).
=== Reserved group tokens ===
Some of the tokens in the file or foldername of targets are linked to values that variables of the human can have. Such variables are for example age, weight, muscle, gender.
This table lists all the reserved tokens, and the variables they belong to.
{| class="wikitable"
|-
! Reserved token (value)
! Variable
|-
| female,male
| gender
|-
| baby, child, young, old
| age
|-
| african, caucasian, asian
| race
|-
| minmuscle, averagemuscle, maxmuscle
| muscle
|-
| minweight, averageweight, maxweight
| weight
|-
| minheight, averageheight, maxheight
| height
|-
| mincup, averagecup, maxcup
| breastsize
|-
| minfirmness, averagefirmness, maxfirmness
| breastfirmness
|-
| uncommonproportions, regularproportions, idealproportions
| bodyproportion
|}
Note that it is not a good idea to use simply “max” or “min” as a reserved token name, because they need to be unique (otherwise it would not be possible to determine whether they are a minimum for, for example, weight or height). These reserved tokens are declared in the lib/targets.py module. The variable can be set and queried on the human object, for example human.getAge(), human.setMuscle(0.7), human.getProportion().
The reserved tokens are NOT included in the group name, so you should at least include some other, non-reserved tokens in the file or folder names to assign your target to some meaningful group. The inclusion of these reserved tokens in your target names or paths makes it convenient to create macro modifiers.
=== Macro targets and modifiers ===
Macro modifiers are modifiers whose effect (the combination of targets they apply on the human) is influenced by macro variables set on the human (eg. human.set/getAge()). Therefore, macro modifiers often control a large set of targets (20 or even more). It’s also common for multiple modifiers to control exactly the same set of targets, for example the standard age/gender/race sliders all control the set of targets in the ‘macrodetails’ group. Each slider modifies a different variable (eg. human.setAge()) controlling the set of targets, and then reapplies a combination of the same set of targets on the human.
=== Macro modifier dependencies ===
There are other macro modifiers that can also depend on the same variables age, gender, race that is controlled by the main macro modifiers, as discussed above. For example the macro modifiers that influence the weight and muscle mass of the human, controls the targets group “macrodetails-universal”, the universal token is added by prepending “universal-” to all the file names of related targets, which all reside in the folder “macrodetails” (thus macrodetails-universal ends up being the group name). They could have been included all in the “macrodetails” group, but are kept separate for performance reasons, so that the “macrodetails” group of targets (which already contains some 40 targets or so) can be applied in realtime while moving the slider.
Of course a change in the variable that these age/race/gender modifiers control will have an effect on the macrodetails-universal modifiers (because they control targets that depend on age -- their targets include -young- -old- etc. tokens in their filenames). This means there are inter-dependencies between macro modifiers, if one is updated, another one that depends on it should be refreshed. These dependencies can be descibed as follows: one macro modifier controls exactly one macro variable (such as age). It (or rather, the targets it controls) can however depend on multiple macro variables. The trivial case is where a macro modifier only depends on the macro variable that it controls itself. The tracking of these dependencies and deciding which modifiers must be updated when another is changed happens automatically. Dependencies are automatically tracked as soon as you add a modifier to the human (by calling modifier.setHuman(human)). To make this more performant in real-time, the propagation of updates to modifiers is limited while sliders are dragged (see realtimeDependencyUpdates in apps/humanmodifier.py).
As you might have understood, creating modifiers that depend on human variables is almost automatic. The only thing you need to do is create some targets that resolve to the same group name, add variations for all the macro variables you want and add the proper reserved tokens to the file or folder name (refer to the left column in the table above), and create a modifier with this group name. Once added to the human, the dependencies are tracked automatically.
=== Organization of modifiers ===
We already discussed how we organized targets in groups, to make it easier to connect them to a modifier. Now we will discuss how we can do a similar thing for modifiers.
Modifiers provide an easy way to manage targets. They allow reducing many of hundreds of targets to a more manageable number of controllable properties. But even then, we still have about 100 modifiers, which is still quite a lot. Therefore we group them in groups of categories, much like we do in the GUI. This makes it easy to get a grouped overview of all modifiers when using an alternative interface, think of commandline or scripting. The way in which you declare the group and other properties of a modifier determines what target groups it gets its targets from.
Modifiers are declared with a group name, some intermediary “target name” and a number of tail tokens (2 or 3 usually, eg min/max). The group of targets controlled by these modifiers is composed as: groupname-targets_name-tail.
Macro modifiers are declared with a group name, and a controlled variable. The groupname must be the same groupname of the targets they control.
=== Declarative modifiers ===
Instead of hard coding what modifiers you want to instantiate, MakeHuman offers a data-based format to declare what modifiers should be created, and how they should be shown in a user interface with sliders.
A full declaration requires three files, all stored in data/modifiers. The first is the declaration of the modifiers (eg. modeling_modifiers.json). This format lists a modifier group name, and all the modifiers with their macro variable (if they are macro modifiers) or target name and 2 or 3 (if they are a modifier with a center point) tail tokens.
The second file adds a description to the modifiers declared in the first file. It basically contains a key-value set, referencing the modifier name, and a textual description of what the modifier controls. A modifier name is constructed as follows: group/targets_name-all|the|tails and for a macro modifier: group/variable
The third file defines how these modifiers should be shown in the user interface as sliders. It lists a set of categories, and the sliders to show in them, and how their values have to be saved in a mhm file (mainly a feature for legacy compatibility).
=== Your own plugin with modifiers, sliders and targets ===
Using the declarative data format described in the section above, it’s really simple. Have a look at the plugin plugins/0_modeling_0_modifiers.py. Notice it’s barely 5 lines of code. Creating your own modeling plugin is as simple as that, pointing it to your own modifier data files.
=== Binary targets ===
Because loading these ASCII target files, and iterating all target files and folders can be slow (especially on windows) in build versions, we compile all targets in the data/targets system folder into a single binary file, that furthermore acts exactly the same as multiple target files. The binary targets file is stored in the system data/ folder and is called targets.npz, it is created by running the compile_targets.py script, which is also automatically run in the build_prepare.py build routine. The file structure of the targets files is maintained in this binary file so that targets can be loaded from it in the same way as you would do with regular files. A change in the .target files, or newly added target files allow a recompilation of the targets npz file before the change is applied.
== Material format==
=== Introduction ===
MakeHuman material files have extension .mhmat and are simple ASCII definitions
of the material settings to use for rendering.
These material settings are primarily intended for configuring the material
system within MakeHuman, but they are usually carried out to other software as
well by the exporters.
Not all properties will be supported for all given combinations of shaders, nor
is there a guarantee that the exporters will honor all the properties in these
files.
Every 3D object in MakeHuman has exactly one material attached to it (multiple
materials are not possible, you need separate objects for that). Materials are
used for proxy meshes (clothes, hairs, ...) but also for the skin of the human
itself.
=== The Material System ===
The MakeHuman material system is closely based on the [https://en.wikipedia.org/wiki/Rendering_equation standard rendering equation]
as is used in OpenGL and DirectX forward rendering pipelines. MakeHuman supports
shaders and the material format contains the most commonly used extensions in
real-time rendering. As a consequence of this, users need to be aware of the
implications of setting values such as ambient too bright, or diffuse too dark.
All usual rules about rendering materials apply.
At the highest level, the material supports setting the most basic material
properties, such as diffuse, specular and ambient color. These are supported
both by shaders as well as the fixed function shading pipeline (which is used
when no shader is specified). Fixed function also supports the diffuse texture
option.
At a second level, a shader can be chosen. This refers directly to the filename
of a [https://en.wikipedia.org/wiki/OpenGL_Shading_Language GLSL shader] as found in the data/shaders/glsl folder of MakeHuman.
The selected shader will determine what material options will be available.
Various additional settings become available, depending on whether or not the
chosen shader has support for these features, such as bump or normal mapping,
ambient occlusion, specular mapping, etc.
For most of these, a texture map and a scalar property between 0 and 1 can be
set, the latter determining the intensity or influence of the effect.
Finally, MakeHuman also contains a built-in offline renderer that supports some
additional properties such as subsurface scattering, for which some special
properties are available.
=== Example ===
This is a full and complete (but fictional) example of a material file for MakeHuman, it shows all the available properties.
# Example MakeHuman Material definition
name Material_name
tag some_tag
tag another_tag
description material description text here
ambientColor 0.11 0.11 0.11
diffuseColor 1.0 1.0 1.0
specularColor 0.0470588235294 0.0470588235294 0.0470588235294
shininess 0.96
emissiveColor 0.0 0.0 0.0
opacity 1.0
translucency 0.0
shadeless False
wireframe False
transparent True
alphaToCoverage True
backfaceCull False
depthless False
autoBlendSkin False
castShadows True
receiveShadows True
diffuseTexture diffuse_texture.png
bumpmapTexture bumpmap.png
bumpmapIntensity 1.0
normalmapTexture normalmap.png
normalmapIntensity 1.0
displacementmapTexture norm_displacement.png
displacementmapIntensity 1.0
specularmapTexture specular.png
specularmapIntensity 1.0
transparencymapTexture alpha.png
transparencymapIntensity 1.0
aomapTexture ambient_occlusion_map.png
aomapIntensity 1.0
# Sub-surface scattering parameters
sssEnabled True
sssRScale 5.0
sssGScale 2.5
sssBScale 1.0
shader shaders/glsl/litsphere
shaderParam litsphereTexture litspheres/lit_hair.png
shaderConfig ambientOcclusion True
shaderConfig normal False
shaderConfig bump True
shaderConfig displacement False
shaderConfig vertexColors True
shaderConfig spec True
shaderConfig transparency True
shaderConfig diffuse True
shaderDefine ALPHA_MAP
uvMap alt_uv_coords.mhuv
This is another example, this time a real one. It is the X-ray material, used for example when showing the skeleton:
# Material definition for XrayMaterial
name XrayMaterial
ambientColor 0.1 0.1 0.1
diffuseColor 1.0 1.0 1.0
specularColor 0.3 0.3 0.3
shininess 0.1
emissiveColor 0.0 0.0 0.0
opacity 0.1
translucency 0.0
transparent True
backfaceCull True
shadeless False
wireframe False
depthless False
shader data/shaders/glsl/xray
shaderConfig diffuse False
shaderConfig transparency False
shaderConfig normal False
shaderConfig bump False
shaderConfig spec False
shaderConfig vertexColors False
shaderConfig displacement False
=== Explanation of material properties ===
==== Standard settings ====
''ambientColor'', ''diffuseColor'' ''specularColor'', ''emissiveColor'' are the standard colors
as used in the [https://en.wikipedia.org/wiki/Rendering_equation rendering equation]
or in standard OpenGL.
Their corresponding intensities are simple scalars with a value between 0 and 1 and are multiplied
with the colors to dim them. Default these intensities are set to 1.
Colors are described as three floating point numbers, representing R G B, or red-green-blue
values. 1 is the maximum, 0 the minimum.
For example 1.0 0 0 means fully red, 1 1 1 means full white, 0 0 0 is full black.
0.5 0.5 0.5 will give you a grey middle color.
''opacity'' determines the opaqueness of the object (alpha channel), with 1 being fully
opaque, and 0 being fully transparent (invisible)
''translucency'' is something that came from Blender but is unused
==== Texture maps ====
Various standard texture maps can be defined on the material, like ''diffuseTexture'', ''bumpmapTexture'', ''normalmapTexture'', ''displacementmapTexture'', ''specularmapTexture'', ''transparencymapTexture'', ''aomapTexture''. Each of these also has an associated intensity value, which is a scalar from 0 to 1 multiplied with the pixel value of that texture (unless a specific shader implements it differently).
These textures only have an effect if their corresponding shaderConfig feature has been defined (see the table in Shaders section).
==== Render states ====
When ''wireframe'' is set to True, the model is drawn in wireframe mode. In this mode,
most material properties have no effect, but you can enable the vertexColors shaderConfig
to be able to change the color of the mesh using vertex colors (this requires
access to the mesh programatically, obj meshes do not support vertex colors).
This feature is used in some parts of MakeHuman, for example viewing bone weights
in the skeleton debug plugin.
Set ''shadeless'' to True to disable shading, eg. the object is not affected by lights.
Configured shader will have no effect
Set ''transparent'' to True to enable transparency rendering (usually needed when opacity is < 1)
In itself this does not change the visual appearance of the model, but this setting
should be enabled if your texture contains (semi-) transparent parts. This setting
instructs the renderer to disable depth buffer writes (glDepthMask(false))
and enables alpha testing and blending so that transparent surfaces can overlap and to allow [https://www.opengl.org/wiki/Transparency_Sorting alpha blending].
''alphaToCoverage'' Applies when transparent is set to True (otherwise does nothing).
It requires that your GPU supports alpha to coverage (A2C) rendering. It enables
the A2C feature which provides face order-independent alpha rendering. This works
very well for complex transparent meshes, like hair. At the cost of a slightly
dithered look, it solves all the problems with face sorting that are usually
involved in rendering semi transparency.
(This feature disables anti-aliasing for this object because the multisample buffer is used for alpha blending instead)
Set ''backfaceCull'' to False to disable backface culling (render the back side of polygons)
By default, and in most cases, this should be set to True, but can be useful
in some cases (for example, we disable back-face culling for the eyebrow materials).
Set ''depthless'' to True for depthless rendering (object is not occluded and does not occlude other objects).
This disables OpenGL depth writes and tests. In practice, this makes object faces that should be occluded shine through others.
''castShadows'' determines whether the object casts shadows on other objects.
''receiveShadows'' determines whether the object receives shadows from other objects.
For some features, like eyes, you probably want to disable shadow receiving.
Since MakeHuman does not (yet) implement shadow casting, the shadow settings have
no effect in MakeHuman, but they do export to other engines.
Play around with these settings in the Material Editor plugin to see their effect, that's the best advise I can give you.
The best way to find out which settings work for an asset, is simply to try them out.
==== autoBlendSkin ====
If True MakeHuman will set the diffuse color based on the ethnix mix set for the character.
Any diffuseColor set in the material file will be overridden by this.
Also the shaderParam litsphereTexture will be automatically set to a dynamically blended litsphere texture,
which is a mix of three litsphere materials (afro, asian, caucasian) depending on the ethnic mix of the character.
This latter is specifically intended to be used with the litsphere shader, and it is what you see as default material when you start MakeHuman
This overrides whatever shaderParam litsphereTexture was set in the material file.
This setting is intended only for skin materials.
==== shaderParam ====
Define a custom shader parameter (uniform), which might be required for some non-standard shaders.
For example, the litsphere shader takes an extra type of texture map as input, a so-called litsphere texture.
This generic system of mapping shader uniforms allows you to create specialised shaders that take
new and different kind of inputs, and allow configuring the shader from the material file.
shaderParam can be a list of floating point numbers, in which case it will be interpreted as a vector,
or it can be a file path, in which case it is assumed to be an image path.
Internally in MakeHuman, shaderParams can also be assigned a texture object, which allows
for dynamically passing a texture that is in memory, but perhaps not stored on disk.
Another example of a custom shaderParam is the X-ray shader that defines an edgefalloff
and intensity uniform parameter.
These could be changed from the material file with
shaderParam edgefalloff 0.8
shaderParam intensity 0.77
==== shaderDefine ====
shaderDefines allow enabling or disabling custom shading techniques in shaders.
These allow to define new shading techniques, apart from the pre-defined ones
such as normal mapping, specularity mapping, ...
It's a generic system that allows new shaders to be added and configured from
the material file, or from the material editor (which nicely auto-detects these
features in the shader and shows a set of checkboxes for them).
==== uvMap ====
Load custom UV coordinates on the mesh to use this material. This makes the material
completely dependent on the mesh it is used with.
Takes a path to a .mhuv file, which is actually just an .obj file, where the vertex
positions can be deleted (they can remain in there, but they are ignored).
Requirement for it to work is that the vertex order is the same as that of the
mesh obj.
An example uv map for the basemesh can be found in data/uvs/a7.mhuv, which is a
set of UV coordinates compatible with the old Alpha 7 mesh, allowing you to load
A7 textures on the new basemesh used in MakeHuman v1+
==== SSS properties ====
These are the so-called sub-surface scattering shading properties, currently only used by the built-in offline renderer. They were decided on while trying to figure out the most generic way to define SSS shading properties, so that they could easily be translated into SSS properties for a different renderer (as no single renderer that I know of has a standard for these). It's uncertain whether the format we have landed on currently is the best, or whether this will remain permanently or is still likely to change.
This setting should currently be considered experimental.
=== Basic pointers ===
* You can test the influence of material properties using the Material Editor plugin (which you can enable in Settings > Plugins, then restart)
* Using a diffuse texture? You probably want to set the diffuse color to 1 1 1 (pure white)
* Never set ambient color too bright, or your model will look completely white. 0.1 0.1 0.1 is a good value to start from.
* Emissive is usually set to black, unless you want a radioactive character
* Don't know how to define a color in numbers? Try the Material Editor plugin
* Higher shininess means smaller and sharper highlight, lower shininess makes the highlight larger and more blurred
* Reduce specular color to reduce the specularity, make it black for a rough and non shiny object
* opacity 1 means fully opaque, 0 means fully transparent (invisible)
=== Scene definition ===
To complete the rendering equation, you also need to define the scene. To be
more precise, the positions, types, color and intensities of the lights need to
be set. By default, MakeHuman only has a default scene with only one pointlight.
In MakeHuman, lights do not move if the camera is moved, or rather, the model is
rotated while the camera and lights remain static. So light positions are defined
relative to the camera position.
MakeHuman scenes are defined in .mhscene files, which are binary py-pickled files.
They can be created or modified using the Scene Editor plugin (can be enabled in
settings) and can be selected from the Scene library in the Render tab.
Fixed function shading pipeline supports up to 8 lights, specific light support
depends on the shader used, some shaders only support a certain type or number
of lights, other ignore the chosen scene altogether (for example the litsphere
shader that uses pre-baked environment lighting).
The built-in offline renderer also uses the specified scene.
Scenes are not exported along with the model.
=== Shaders ===
The most powerful functionality of the material system is unlocked when using
shaders.
MakeHuman shaders are intended to be written in a modular way, so that shading
features can be enabled or disabled using the material format. Examples of such
features are bump mapping, normal mapping, specular mapping, diffuse texturing,
ambient occlusion and displacement mapping.
MakeHuman includes a basic introspection function that allows it to determine
what features a shader supports. It accomplishes this by looking for #ifdef and #ifndef statements. If a shader supports a certain technique, it is supposed to
encapsulate this in #ifdef NORMALMAP ... #else ... #endif statements.
The idea is that of an [http://www.gamedev.net/topic/659145-what-is-a-uber-shader/ über shader], where performance is optimized by removing any dynamic branches (if then that) from shader code, and instead managing the features using defines and pre-processor branches.
When a different branch in the shader is activated, the shader code is recompiled entirely.
Instead of having different shaders for different features (eg. a specific normalmap shader to be able to do normal mapping), one general shader could be used instead, and normal mapping can simply be enabled or disabled from the material properties, without being required to swap shaders (a good default uber shader is [http://bugtracker.makehumancommunity.org/issues/160 still to be created for MakeHuman] Any help with this is welcome of course!).
The material system manages these shading functions by defining specific pre-processor
keywords when their corresponding shaderConfig property is set to true.
Shaders are recompiled when needed and stored in a shader cache for efficiency.
MakeHuman passes scene and material information to the shaders by certain uniform
parameters. Depending on which shaderConfig properties were enabled, additional
uniforms could be exposed to the shader. The shader does not have to declare all
these uniforms, however. MakeHuman binds only those uniforms present in the shader
if they have the right corresponding names.
Other properties are available from the OpenGL built-in uniforms or properties
(usually starting with gl_).
The following table lists these defines and the shaderConfig properties in the
material they relate to:
{| class="wikitable"
|-
! shaderConfig
! shader #DEFINE
! exposed uniform parameters if enabled
! comment
|-
|default (always enabled)
|
|vec3 ambient, vec4 diffuse, vec4 specular, vec3 emissive
|diffuse and specular are 4-component color values, diffuse=[rgba] with a=opacity and specular=[rgbs] with s=shininess
|-
|vertexColors
|VERTEX_COLOR
|
|
|-
|diffuse
|DIFFUSE
|diffuseTexture
|
|-
|bump
|BUMPMAP
|bumpmapTexture, bumpmapIntensity
|disabled if normal mapping is enabled (restriction might be lifted in the future)
|-
|normal
|NORMALMAP
|normalmapTexture, normalmapIntensity
|
|-
|displacement
|DISPLACEMENT
|displacementmapTexture, displacementmapIntensity
|
|-
|spec
|SPECULARMAP
|specularmapTexture, specularmapIntensity
|
|-
|transparency
|TRANSPARENCYMAP
|transparencymapTexture, transparencymapIntensity
|
|-
|ambientOcclusion
|AOMAP
|aomapTexture, aomapIntensity
|
|}
Additionally, MakeHuman exposes the vertex tangent as a vertex property, which
can be accessed by the shader.
attribute vec4 tangent
Currently, [http://www.terathon.com/code/tangent.html Lengyel’s Method] for tangent calculation
is used, but plans are to change this to [http://bugtracker.makehumancommunity.org/issues/87 mikktspace] in the future.
Shader examples for MakeHuman can be found here:
* Litsphere shader: [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/litsphere_vertex_shader.txt vertex][https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/litsphere_fragment_shader.txt fragment]
* Phong shader: [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/phong_vertex_shader.txt vertex][https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/phong_fragment_shader.txt fragment]
* Normal map shader (wip): [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/normalmap_vertex_shader.txt vertex] [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/normalmap_fragment_shader.txt fragment]
* X-ray shader: [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/xray_vertex_shader.txt vertex][https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/xray_fragment_shader.txt fragment]
==== Custom shader properties ====
Shaders can use non-standard #DEFINEs to allow enabling or disabling non-standard shading features, other than the ones that were foreseen in the material format (such as normal mapping, ...)
To add new ones, simply add #ifdef SOME_FEATURE statements to your shader code, the material system will automatically detect them.
From the material, you can enable them with
shaderDefine SOME_FEATURE
If not defined, the feature is assumed to be switched off.
A custom shader can also add new parameters to tweak. For example a color value or intensity value that influences the shading.
To do this, the shader author can simply add new uniform variables to their shader code. It is recommended to specify a default
value for them, so that if the material file does not explicitly mention them, they receive a sensible default value.
Example: the X-ray shader adds an edge-fallof property:
uniform float edgefalloff = 1.0;
From the material file, you can influence this value with:
shaderParam edgefalloff 0.5
shaderParam supports lists of float values (one or multiple, divided by spaces), eg
shaderParam edgecolor 0.7 0.3 0.4
or textures, by specifying a path to an image file (in which case they are assumed to be Sampler2D type)
Additionally, from within MakeHuman, they can be passed a Texture object, to dynamically pass them a texture that resides in memory, without the need for the texture to be stored in a file on disk.
This allows to dynamically alter the texture and have it displayed directly. MakeHuman takes care of caching the texture and updating it when it is modified.
For example, the auto skin tone blending of the litsphere texture is implemented in this way.
The material system will automatically detect these custom uniform parameters declared in the shader, for example the material editor plugin will present them in the GUI.
These features make for a general and extensible shader system.
20224494c9bbede12a217e320f6b155fc4ee837a
581
580
2016-01-27T16:31:24Z
Duststorm
19
wikitext
text/x-wiki
== Vertex weights ==
With vertex weights we intend a weighted mapping of vertices of a mesh to a bone of a skeleton. The weight is a value between 0 and 1, the sum of these weights for each vertex should be normalized, which means they should sum to 1 (note: no euclidian distance, just simple addition of all weights). A weight map in MakeHuman is expressed as a bone name (becomes a bone index internally, using the index of the bone in a breadth-first list relative to skeleton structure), a vertex name and a floating point weight between 0 and 1. This weighted vertex to bone mapping is used for skinning (posing and animating, using vertex skinning, smooth skinning or linear blend skinning algorithm). For the skinning algorithm to work correctly it’s required that the weights are always normalized, otherwise you will see vertices move out of place disproportionally (though the weight loading code in MakeHuman ensures that this normalization always happens, so this is not a concern to the artist that defines the weights). The vertex weights can be exported to external tools as well using formats such as collada (DAE), FBX, Ogre3D meshes or MD5 quake meshes.
=== Vertex weights and skeletons ===
Vertex weights are defined for the default “master” skeleton or rig. They are defined in a json file with jsonw extension. They link each vertex of the basemesh including helpers to a named bone of this master rig, together with a certain weight.
The weights loader automatically removes doubles and normalizes the weights (so that they sum to 1). It also reports what the maximum number of bone weights per vertex is, additionally it allows compiling the weights to a reduced set with n number of bone weights, and automatically renormalizes those weights so they, again, sum to 1.
When loading weights, any vertex that receives no weighting is assigned to the root bone, as this is needed for skinning to prevent all those vertices jumping to the origin (0*pos == 0).
Alternative skeletons can define their own weights, by referencing a weights file just like the master rig, or they can choose to derive their weights from the master rig, through so called reference bone mappings. Skeletons will derive their weights from the master rig if they do not specify a weights file explicitly. Custom vertex weights in alternative rigs override those defined on the master rig, except in the case where a proxy defines its own vertex weights. See section Vertex weights for proxies for more details.
=== Reference bones for vertex weights and poses ===
Reference bones are defined on alternative rigs, they are a list of names of bones contained in the master rig. Every bone of an alternative rig can have such a list of reference bones. An alternative rig can also omit these references if it uses the same name as bones in the master rig, in which the mapping is implicit. Having a list of bone references always overrides the implicit mapping. Reference bone mappings are required for two purposes.
They are used for mapping poses defined on the master rig to other rigs. All poses are defined as BVH files that pose the master rig, so they reference only the bone names of the master rig. Poses are applied to all other rigs by using the reference bone mapping: all the rotations that the pose applies to the referenced bones are combined (in the order in which the references were specified -- note: rotations are NOT commutative) and are applied to the alternative rig bone.
Reference bone mappings can also be used for determining vertex weights of custom rigs. If the alternative rig does not explicitly define its own vertex weights, the mapping of reference bones is used to infere a set of bone weights for each bone: All the weights of the reference bones on the master rig (with the weights definition of the default/master rig) are combined and apply to the bone of the alternative rig. Doubles are merged, and weights renormalized. Any vertex that is not weighted will be assigned to the root bone. Watch for messages in the log to verify this.
=== Vertex weights for proxies ===
Generally proxies are mapped to basemesh geometry, that means either to the body or to helpers, or a combination of both (though this is unusual). Proxies derive their vertex weights from the vertices on the basemesh on which they are fitted. A proxy defines its fitting as a 3d offset from one or three vertices on the basemesh, allowing it to deform as the human deforms. This mapping is used to transfer the vertex weights from basemesh to proxy: a proxy vertex referencing three basemesh vertices gets the bone weights of those three vertices. Doubles are merged and the weights are normalized, so that the influence factors are averaged or smoothed. In this case the weights applied to proxies are always those defined on the skeleton: either the weights explicitly defined on the skeleton, or the weights obtained from remapping the master rig weights to this skeleton using the reference bone mapping mentioned in the previous sections. There is an exception to this, which is explained in the next paragraph.
A proxy can explicitly define its own vertex (to bone) weights. In this case it overrides the weights that would be obtained through the proxy mapping, and replaces them by its own custom definition of weights. These vertex weights are always defined to reference the bones of the master rig (default skeleton), so they need to be remapped to other skeletons using reference bone mapping. This also means that the custom weights of a proxy override any custom weights mapping that might be loaded with an alternative rig (but only for that proxy item). Custom proxy weights should be avoided if possible, but are in some cases required, eg. for properly rigging shoes which are rigidly fitted to feet, or an alternative topology which defines very accurate rigging on the face. The general advice for custom rigs is therefore to stay as close to the master rig as possible, reusing as much bones identically as possible, to achieve the best results for proxies with custom weights.
In case of custom weight, the mhclo file must contain a line to indicate the weight file to use, using the keyword “vertexboneweights_file”, with the syntax:
vertexboneweights_file filename.jsonw
== Targets and modifiers ==
MakeHuman applies targets on the human by means of modifiers. Such a modifier has a value (usually between [0, 1] or [-1, 1]) that determines the effect of it on the human mesh. A modifier can control one or more targets and in apply the mixed sum of them on the mesh. Some modifiers.
=== Organization of targets ===
To make sure targets are linked to the right modifier, or to make managing targets easier, a certain discipline has to be observed in managing them. Targets are ASCII files in the data/targets or data/custom folder (in program or user folder) with a file extension of .target.
The file name and folder targets are in implicitly determines their group name. A group is identified by a sequence of tags or tokens, which are taken from the file and folder name of each target, and which can be delimited by “-” symbols, to include multiple tokens in a single file or folder name. The lib/targets.py module takes care of loading all the names of the available targets and assembles them into groups. All targets with the same tokens end up in the same group. This allows easy querying and requesting of targets. The creator is pretty much free to decide what groups to create for their targets. By passing the name of the target group to a modifier, they can make sure that modifier controls the targets belonging to this group. It does not matter whether you use folders or - delimited file names for creating groups.
An example:
data/targets/cartoon/eyes-large.target is categorized in group (cartoon, eyes, large)
data/targets/cartoon-eyes-large.target is also categorized in group (cartoon, eyes, large)
Most simple modifiers work by specifying a group (for example cartoon-eyes) and a set of two tokens to append at the end, depending on the position of the modifier slider (eg. small, large which would allow controlling the targets cartoon-eyes-small and cartoon-eyes-large by moving the slider to the left or right).
=== Reserved group tokens ===
Some of the tokens in the file or foldername of targets are linked to values that variables of the human can have. Such variables are for example age, weight, muscle, gender.
This table lists all the reserved tokens, and the variables they belong to.
{| class="wikitable"
|-
! Reserved token (value)
! Variable
|-
| female,male
| gender
|-
| baby, child, young, old
| age
|-
| african, caucasian, asian
| race
|-
| minmuscle, averagemuscle, maxmuscle
| muscle
|-
| minweight, averageweight, maxweight
| weight
|-
| minheight, averageheight, maxheight
| height
|-
| mincup, averagecup, maxcup
| breastsize
|-
| minfirmness, averagefirmness, maxfirmness
| breastfirmness
|-
| uncommonproportions, regularproportions, idealproportions
| bodyproportion
|}
Note that it is not a good idea to use simply “max” or “min” as a reserved token name, because they need to be unique (otherwise it would not be possible to determine whether they are a minimum for, for example, weight or height). These reserved tokens are declared in the lib/targets.py module. The variable can be set and queried on the human object, for example human.getAge(), human.setMuscle(0.7), human.getProportion().
The reserved tokens are NOT included in the group name, so you should at least include some other, non-reserved tokens in the file or folder names to assign your target to some meaningful group. The inclusion of these reserved tokens in your target names or paths makes it convenient to create macro modifiers.
=== Macro targets and modifiers ===
Macro modifiers are modifiers whose effect (the combination of targets they apply on the human) is influenced by macro variables set on the human (eg. human.set/getAge()). Therefore, macro modifiers often control a large set of targets (20 or even more). It’s also common for multiple modifiers to control exactly the same set of targets, for example the standard age/gender/race sliders all control the set of targets in the ‘macrodetails’ group. Each slider modifies a different variable (eg. human.setAge()) controlling the set of targets, and then reapplies a combination of the same set of targets on the human.
=== Macro modifier dependencies ===
There are other macro modifiers that can also depend on the same variables age, gender, race that is controlled by the main macro modifiers, as discussed above. For example the macro modifiers that influence the weight and muscle mass of the human, controls the targets group “macrodetails-universal”, the universal token is added by prepending “universal-” to all the file names of related targets, which all reside in the folder “macrodetails” (thus macrodetails-universal ends up being the group name). They could have been included all in the “macrodetails” group, but are kept separate for performance reasons, so that the “macrodetails” group of targets (which already contains some 40 targets or so) can be applied in realtime while moving the slider.
Of course a change in the variable that these age/race/gender modifiers control will have an effect on the macrodetails-universal modifiers (because they control targets that depend on age -- their targets include -young- -old- etc. tokens in their filenames). This means there are inter-dependencies between macro modifiers, if one is updated, another one that depends on it should be refreshed. These dependencies can be descibed as follows: one macro modifier controls exactly one macro variable (such as age). It (or rather, the targets it controls) can however depend on multiple macro variables. The trivial case is where a macro modifier only depends on the macro variable that it controls itself. The tracking of these dependencies and deciding which modifiers must be updated when another is changed happens automatically. Dependencies are automatically tracked as soon as you add a modifier to the human (by calling modifier.setHuman(human)). To make this more performant in real-time, the propagation of updates to modifiers is limited while sliders are dragged (see realtimeDependencyUpdates in apps/humanmodifier.py).
As you might have understood, creating modifiers that depend on human variables is almost automatic. The only thing you need to do is create some targets that resolve to the same group name, add variations for all the macro variables you want and add the proper reserved tokens to the file or folder name (refer to the left column in the table above), and create a modifier with this group name. Once added to the human, the dependencies are tracked automatically.
=== Organization of modifiers ===
We already discussed how we organized targets in groups, to make it easier to connect them to a modifier. Now we will discuss how we can do a similar thing for modifiers.
Modifiers provide an easy way to manage targets. They allow reducing many of hundreds of targets to a more manageable number of controllable properties. But even then, we still have about 100 modifiers, which is still quite a lot. Therefore we group them in groups of categories, much like we do in the GUI. This makes it easy to get a grouped overview of all modifiers when using an alternative interface, think of commandline or scripting. The way in which you declare the group and other properties of a modifier determines what target groups it gets its targets from.
Modifiers are declared with a group name, some intermediary “target name” and a number of tail tokens (2 or 3 usually, eg min/max). The group of targets controlled by these modifiers is composed as: groupname-targets_name-tail.
Macro modifiers are declared with a group name, and a controlled variable. The groupname must be the same groupname of the targets they control.
=== Declarative modifiers ===
Instead of hard coding what modifiers you want to instantiate, MakeHuman offers a data-based format to declare what modifiers should be created, and how they should be shown in a user interface with sliders.
A full declaration requires three files, all stored in data/modifiers. The first is the declaration of the modifiers (eg. modeling_modifiers.json). This format lists a modifier group name, and all the modifiers with their macro variable (if they are macro modifiers) or target name and 2 or 3 (if they are a modifier with a center point) tail tokens.
The second file adds a description to the modifiers declared in the first file. It basically contains a key-value set, referencing the modifier name, and a textual description of what the modifier controls. A modifier name is constructed as follows: group/targets_name-all|the|tails and for a macro modifier: group/variable
The third file defines how these modifiers should be shown in the user interface as sliders. It lists a set of categories, and the sliders to show in them, and how their values have to be saved in a mhm file (mainly a feature for legacy compatibility).
=== Your own plugin with modifiers, sliders and targets ===
Using the declarative data format described in the section above, it’s really simple. Have a look at the plugin plugins/0_modeling_0_modifiers.py. Notice it’s barely 5 lines of code. Creating your own modeling plugin is as simple as that, pointing it to your own modifier data files.
=== Binary targets ===
Because loading these ASCII target files, and iterating all target files and folders can be slow (especially on windows) in build versions, we compile all targets in the data/targets system folder into a single binary file, that furthermore acts exactly the same as multiple target files. The binary targets file is stored in the system data/ folder and is called targets.npz, it is created by running the compile_targets.py script, which is also automatically run in the build_prepare.py build routine. The file structure of the targets files is maintained in this binary file so that targets can be loaded from it in the same way as you would do with regular files. A change in the .target files, or newly added target files allow a recompilation of the targets npz file before the change is applied.
== Material format==
=== Introduction ===
MakeHuman material files have extension .mhmat and are simple ASCII definitions
of the material settings to use for rendering.
These material settings are primarily intended for configuring the material
system within MakeHuman, but they are usually carried out to other software as
well by the exporters.
Not all properties will be supported for all given combinations of shaders, nor
is there a guarantee that the exporters will honor all the properties in these
files.
Every 3D object in MakeHuman has exactly one material attached to it (multiple
materials are not possible, you need separate objects for that). Materials are
used for proxy meshes (clothes, hairs, ...) but also for the skin of the human
itself.
=== The Material System ===
The MakeHuman material system is closely based on the [https://en.wikipedia.org/wiki/Rendering_equation standard rendering equation]
as is used in OpenGL and DirectX forward rendering pipelines. MakeHuman supports
shaders and the material format contains the most commonly used extensions in
real-time rendering. As a consequence of this, users need to be aware of the
implications of setting values such as ambient too bright, or diffuse too dark.
All usual rules about rendering materials apply.
At the highest level, the material supports setting the most basic material
properties, such as diffuse, specular and ambient color. These are supported
both by shaders as well as the fixed function shading pipeline (which is used
when no shader is specified). Fixed function also supports the diffuse texture
option.
At a second level, a shader can be chosen. This refers directly to the filename
of a [https://en.wikipedia.org/wiki/OpenGL_Shading_Language GLSL shader] as found in the data/shaders/glsl folder of MakeHuman.
The selected shader will determine what material options will be available.
Various additional settings become available, depending on whether or not the
chosen shader has support for these features, such as bump or normal mapping,
ambient occlusion, specular mapping, etc.
For most of these, a texture map and a scalar property between 0 and 1 can be
set, the latter determining the intensity or influence of the effect.
Finally, MakeHuman also contains a built-in offline renderer that supports some
additional properties such as subsurface scattering, for which some special
properties are available.
=== Example ===
This is a full and complete (but fictional) example of a material file for MakeHuman, it shows all the available properties.
# Example MakeHuman Material definition
name Material_name
tag some_tag
tag another_tag
description material description text here
ambientColor 0.11 0.11 0.11
diffuseColor 1.0 1.0 1.0
specularColor 0.0470588235294 0.0470588235294 0.0470588235294
shininess 0.96
emissiveColor 0.0 0.0 0.0
opacity 1.0
translucency 0.0
shadeless False
wireframe False
transparent True
alphaToCoverage True
backfaceCull False
depthless False
autoBlendSkin False
castShadows True
receiveShadows True
diffuseTexture diffuse_texture.png
bumpmapTexture bumpmap.png
bumpmapIntensity 1.0
normalmapTexture normalmap.png
normalmapIntensity 1.0
displacementmapTexture norm_displacement.png
displacementmapIntensity 1.0
specularmapTexture specular.png
specularmapIntensity 1.0
transparencymapTexture alpha.png
transparencymapIntensity 1.0
aomapTexture ambient_occlusion_map.png
aomapIntensity 1.0
# Sub-surface scattering parameters
sssEnabled True
sssRScale 5.0
sssGScale 2.5
sssBScale 1.0
shader shaders/glsl/litsphere
shaderParam litsphereTexture litspheres/lit_hair.png
shaderConfig ambientOcclusion True
shaderConfig normal False
shaderConfig bump True
shaderConfig displacement False
shaderConfig vertexColors True
shaderConfig spec True
shaderConfig transparency True
shaderConfig diffuse True
shaderDefine ALPHA_MAP
uvMap alt_uv_coords.mhuv
This is another example, this time a real one. It is the X-ray material, used for example when showing the skeleton:
# Material definition for XrayMaterial
name XrayMaterial
ambientColor 0.1 0.1 0.1
diffuseColor 1.0 1.0 1.0
specularColor 0.3 0.3 0.3
shininess 0.1
emissiveColor 0.0 0.0 0.0
opacity 0.1
translucency 0.0
transparent True
backfaceCull True
shadeless False
wireframe False
depthless False
shader data/shaders/glsl/xray
shaderConfig diffuse False
shaderConfig transparency False
shaderConfig normal False
shaderConfig bump False
shaderConfig spec False
shaderConfig vertexColors False
shaderConfig displacement False
=== Explanation of material properties ===
==== Standard settings ====
''ambientColor'', ''diffuseColor'' ''specularColor'', ''emissiveColor'' are the standard colors
as used in the [https://en.wikipedia.org/wiki/Rendering_equation rendering equation]
or in standard OpenGL.
Their corresponding intensities are simple scalars with a value between 0 and 1 and are multiplied
with the colors to dim them. Default these intensities are set to 1.
Colors are described as three floating point numbers, representing R G B, or red-green-blue
values. 1 is the maximum, 0 the minimum.
For example 1.0 0 0 means fully red, 1 1 1 means full white, 0 0 0 is full black.
0.5 0.5 0.5 will give you a grey middle color.
''opacity'' determines the opaqueness of the object (alpha channel), with 1 being fully
opaque, and 0 being fully transparent (invisible)
''translucency'' is something that came from Blender but is unused
==== Texture maps ====
Various standard texture maps can be defined on the material, like ''diffuseTexture'', ''bumpmapTexture'', ''normalmapTexture'', ''displacementmapTexture'', ''specularmapTexture'', ''transparencymapTexture'', ''aomapTexture''. Each of these also has an associated intensity value, which is a scalar from 0 to 1 multiplied with the pixel value of that texture (unless a specific shader implements it differently).
These textures only have an effect if their corresponding shaderConfig feature has been defined (see the table in Shaders section).
==== Render states ====
When ''wireframe'' is set to True, the model is drawn in wireframe mode. In this mode,
most material properties have no effect, but you can enable the vertexColors shaderConfig
to be able to change the color of the mesh using vertex colors (this requires
access to the mesh programatically, obj meshes do not support vertex colors).
This feature is used in some parts of MakeHuman, for example viewing bone weights
in the skeleton debug plugin.
Set ''shadeless'' to True to disable shading, eg. the object is not affected by lights.
Configured shader will have no effect
Set ''transparent'' to True to enable transparency rendering (usually needed when opacity is < 1)
In itself this does not change the visual appearance of the model, but this setting
should be enabled if your texture contains (semi-) transparent parts. This setting
instructs the renderer to disable depth buffer writes (glDepthMask(false))
and enables alpha testing and blending so that transparent surfaces can overlap and to allow [https://www.opengl.org/wiki/Transparency_Sorting alpha blending].
''alphaToCoverage'' Applies when transparent is set to True (otherwise does nothing).
It requires that your GPU supports alpha to coverage (A2C) rendering. It enables
the A2C feature which provides face order-independent alpha rendering. This works
very well for complex transparent meshes, like hair. At the cost of a slightly
dithered look, it solves all the problems with face sorting that are usually
involved in rendering semi transparency.
(This feature disables anti-aliasing for this object because the multisample buffer is used for alpha blending instead)
Set ''backfaceCull'' to False to disable backface culling (render the back side of polygons)
By default, and in most cases, this should be set to True, but can be useful
in some cases (for example, we disable back-face culling for the eyebrow materials).
Set ''depthless'' to True for depthless rendering (object is not occluded and does not occlude other objects).
This disables OpenGL depth writes and tests. In practice, this makes object faces that should be occluded shine through others.
''castShadows'' determines whether the object casts shadows on other objects.
''receiveShadows'' determines whether the object receives shadows from other objects.
For some features, like eyes, you probably want to disable shadow receiving.
Since MakeHuman does not (yet) implement shadow casting, the shadow settings have
no effect in MakeHuman, but they do export to other engines.
Play around with these settings in the Material Editor plugin to see their effect, that's the best advise I can give you.
The best way to find out which settings work for an asset, is simply to try them out.
==== autoBlendSkin ====
If True MakeHuman will set the diffuse color based on the ethnix mix set for the character.
Any diffuseColor set in the material file will be overridden by this.
Also the shaderParam litsphereTexture will be automatically set to a dynamically blended litsphere texture,
which is a mix of three litsphere materials (afro, asian, caucasian) depending on the ethnic mix of the character.
This latter is specifically intended to be used with the litsphere shader, and it is what you see as default material when you start MakeHuman
This overrides whatever shaderParam litsphereTexture was set in the material file.
This setting is intended only for skin materials.
==== shaderParam ====
Define a custom shader parameter (uniform), which might be required for some non-standard shaders.
For example, the litsphere shader takes an extra type of texture map as input, a so-called litsphere texture.
This generic system of mapping shader uniforms allows you to create specialised shaders that take
new and different kind of inputs, and allow configuring the shader from the material file.
shaderParam can be a list of floating point numbers, in which case it will be interpreted as a vector,
or it can be a file path, in which case it is assumed to be an image path.
Internally in MakeHuman, shaderParams can also be assigned a texture object, which allows
for dynamically passing a texture that is in memory, but perhaps not stored on disk.
Another example of a custom shaderParam is the X-ray shader that defines an edgefalloff
and intensity uniform parameter.
These could be changed from the material file with
shaderParam edgefalloff 0.8
shaderParam intensity 0.77
==== shaderDefine ====
shaderDefines allow enabling or disabling custom shading techniques in shaders.
These allow to define new shading techniques, apart from the pre-defined ones
such as normal mapping, specularity mapping, ...
It's a generic system that allows new shaders to be added and configured from
the material file, or from the material editor (which nicely auto-detects these
features in the shader and shows a set of checkboxes for them).
==== uvMap ====
Load custom UV coordinates on the mesh to use this material. This makes the material
completely dependent on the mesh it is used with.
Takes a path to a .mhuv file, which is actually just an .obj file, where the vertex
positions can be deleted (they can remain in there, but they are ignored).
Requirement for it to work is that the vertex order is the same as that of the
mesh obj.
An example uv map for the basemesh can be found in data/uvs/a7.mhuv, which is a
set of UV coordinates compatible with the old Alpha 7 mesh, allowing you to load
A7 textures on the new basemesh used in MakeHuman v1+
=== Basic pointers ===
* You can test the influence of material properties using the Material Editor plugin (which you can enable in Settings > Plugins, then restart)
* Using a diffuse texture? You probably want to set the diffuse color to 1 1 1 (pure white)
* Never set ambient color too bright, or your model will look completely white. 0.1 0.1 0.1 is a good value to start from.
* Emissive is usually set to black, unless you want a radioactive character
* Don't know how to define a color in numbers? Try the Material Editor plugin
* Higher shininess means smaller and sharper highlight, lower shininess makes the highlight larger and more blurred
* Reduce specular color to reduce the specularity, make it black for a rough and non shiny object
* opacity 1 means fully opaque, 0 means fully transparent (invisible)
=== Scene definition ===
To complete the rendering equation, you also need to define the scene. To be
more precise, the positions, types, color and intensities of the lights need to
be set. By default, MakeHuman only has a default scene with only one pointlight.
In MakeHuman, lights do not move if the camera is moved, or rather, the model is
rotated while the camera and lights remain static. So light positions are defined
relative to the camera position.
MakeHuman scenes are defined in .mhscene files, which are binary py-pickled files.
They can be created or modified using the Scene Editor plugin (can be enabled in
settings) and can be selected from the Scene library in the Render tab.
Fixed function shading pipeline supports up to 8 lights, specific light support
depends on the shader used, some shaders only support a certain type or number
of lights, other ignore the chosen scene altogether (for example the litsphere
shader that uses pre-baked environment lighting).
The built-in offline renderer also uses the specified scene.
Scenes are not exported along with the model.
=== Shaders ===
The most powerful functionality of the material system is unlocked when using
shaders.
MakeHuman shaders are intended to be written in a modular way, so that shading
features can be enabled or disabled using the material format. Examples of such
features are bump mapping, normal mapping, specular mapping, diffuse texturing,
ambient occlusion and displacement mapping.
MakeHuman includes a basic introspection function that allows it to determine
what features a shader supports. It accomplishes this by looking for #ifdef and #ifndef statements. If a shader supports a certain technique, it is supposed to
encapsulate this in #ifdef NORMALMAP ... #else ... #endif statements.
The idea is that of an [http://www.gamedev.net/topic/659145-what-is-a-uber-shader/ über shader], where performance is optimized by removing any dynamic branches (if then that) from shader code, and instead managing the features using defines and pre-processor branches.
When a different branch in the shader is activated, the shader code is recompiled entirely.
Instead of having different shaders for different features (eg. a specific normalmap shader to be able to do normal mapping), one general shader could be used instead, and normal mapping can simply be enabled or disabled from the material properties, without being required to swap shaders (a good default uber shader is [http://bugtracker.makehumancommunity.org/issues/160 still to be created for MakeHuman] Any help with this is welcome of course!).
The material system manages these shading functions by defining specific pre-processor
keywords when their corresponding shaderConfig property is set to true.
Shaders are recompiled when needed and stored in a shader cache for efficiency.
MakeHuman passes scene and material information to the shaders by certain uniform
parameters. Depending on which shaderConfig properties were enabled, additional
uniforms could be exposed to the shader. The shader does not have to declare all
these uniforms, however. MakeHuman binds only those uniforms present in the shader
if they have the right corresponding names.
Other properties are available from the OpenGL built-in uniforms or properties
(usually starting with gl_).
The following table lists these defines and the shaderConfig properties in the
material they relate to:
{| class="wikitable"
|-
! shaderConfig
! shader #DEFINE
! exposed uniform parameters if enabled
! comment
|-
|default (always enabled)
|
|vec3 ambient, vec4 diffuse, vec4 specular, vec3 emissive
|diffuse and specular are 4-component color values, diffuse=[rgba] with a=opacity and specular=[rgbs] with s=shininess
|-
|vertexColors
|VERTEX_COLOR
|
|
|-
|diffuse
|DIFFUSE
|diffuseTexture
|
|-
|bump
|BUMPMAP
|bumpmapTexture, bumpmapIntensity
|disabled if normal mapping is enabled (restriction might be lifted in the future)
|-
|normal
|NORMALMAP
|normalmapTexture, normalmapIntensity
|
|-
|displacement
|DISPLACEMENT
|displacementmapTexture, displacementmapIntensity
|
|-
|spec
|SPECULARMAP
|specularmapTexture, specularmapIntensity
|
|-
|transparency
|TRANSPARENCYMAP
|transparencymapTexture, transparencymapIntensity
|
|-
|ambientOcclusion
|AOMAP
|aomapTexture, aomapIntensity
|
|}
Additionally, MakeHuman exposes the vertex tangent as a vertex property, which
can be accessed by the shader.
attribute vec4 tangent
Currently, [http://www.terathon.com/code/tangent.html Lengyel’s Method] for tangent calculation
is used, but plans are to change this to [http://bugtracker.makehumancommunity.org/issues/87 mikktspace] in the future.
Shader examples for MakeHuman can be found here:
* Litsphere shader: [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/litsphere_vertex_shader.txt vertex][https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/litsphere_fragment_shader.txt fragment]
* Phong shader: [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/phong_vertex_shader.txt vertex][https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/phong_fragment_shader.txt fragment]
* Normal map shader (wip): [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/normalmap_vertex_shader.txt vertex] [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/normalmap_fragment_shader.txt fragment]
* X-ray shader: [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/xray_vertex_shader.txt vertex][https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/xray_fragment_shader.txt fragment]
==== Custom shader properties ====
Shaders can use non-standard #DEFINEs to allow enabling or disabling non-standard shading features, other than the ones that were foreseen in the material format (such as normal mapping, ...)
To add new ones, simply add #ifdef SOME_FEATURE statements to your shader code, the material system will automatically detect them.
From the material, you can enable them with
shaderDefine SOME_FEATURE
If not defined, the feature is assumed to be switched off.
A custom shader can also add new parameters to tweak. For example a color value or intensity value that influences the shading.
To do this, the shader author can simply add new uniform variables to their shader code. It is recommended to specify a default
value for them, so that if the material file does not explicitly mention them, they receive a sensible default value.
Example: the X-ray shader adds an edge-fallof property:
uniform float edgefalloff = 1.0;
From the material file, you can influence this value with:
shaderParam edgefalloff 0.5
shaderParam supports lists of float values (one or multiple, divided by spaces), eg
shaderParam edgecolor 0.7 0.3 0.4
or textures, by specifying a path to an image file (in which case they are assumed to be Sampler2D type)
Additionally, from within MakeHuman, they can be passed a Texture object, to dynamically pass them a texture that resides in memory, without the need for the texture to be stored in a file on disk.
This allows to dynamically alter the texture and have it displayed directly. MakeHuman takes care of caching the texture and updating it when it is modified.
For example, the auto skin tone blending of the litsphere texture is implemented in this way.
The material system will automatically detect these custom uniform parameters declared in the shader, for example the material editor plugin will present them in the GUI.
These features make for a general and extensible shader system.
42559f0bdaf947ce19ece3ee928f3775e35194b3
580
579
2016-01-27T16:26:26Z
Duststorm
19
wikitext
text/x-wiki
== Vertex weights ==
With vertex weights we intend a weighted mapping of vertices of a mesh to a bone of a skeleton. The weight is a value between 0 and 1, the sum of these weights for each vertex should be normalized, which means they should sum to 1 (note: no euclidian distance, just simple addition of all weights). A weight map in MakeHuman is expressed as a bone name (becomes a bone index internally, using the index of the bone in a breadth-first list relative to skeleton structure), a vertex name and a floating point weight between 0 and 1. This weighted vertex to bone mapping is used for skinning (posing and animating, using vertex skinning, smooth skinning or linear blend skinning algorithm). For the skinning algorithm to work correctly it’s required that the weights are always normalized, otherwise you will see vertices move out of place disproportionally (though the weight loading code in MakeHuman ensures that this normalization always happens, so this is not a concern to the artist that defines the weights). The vertex weights can be exported to external tools as well using formats such as collada (DAE), FBX, Ogre3D meshes or MD5 quake meshes.
=== Vertex weights and skeletons ===
Vertex weights are defined for the default “master” skeleton or rig. They are defined in a json file with jsonw extension. They link each vertex of the basemesh including helpers to a named bone of this master rig, together with a certain weight.
The weights loader automatically removes doubles and normalizes the weights (so that they sum to 1). It also reports what the maximum number of bone weights per vertex is, additionally it allows compiling the weights to a reduced set with n number of bone weights, and automatically renormalizes those weights so they, again, sum to 1.
When loading weights, any vertex that receives no weighting is assigned to the root bone, as this is needed for skinning to prevent all those vertices jumping to the origin (0*pos == 0).
Alternative skeletons can define their own weights, by referencing a weights file just like the master rig, or they can choose to derive their weights from the master rig, through so called reference bone mappings. Skeletons will derive their weights from the master rig if they do not specify a weights file explicitly. Custom vertex weights in alternative rigs override those defined on the master rig, except in the case where a proxy defines its own vertex weights. See section Vertex weights for proxies for more details.
=== Reference bones for vertex weights and poses ===
Reference bones are defined on alternative rigs, they are a list of names of bones contained in the master rig. Every bone of an alternative rig can have such a list of reference bones. An alternative rig can also omit these references if it uses the same name as bones in the master rig, in which the mapping is implicit. Having a list of bone references always overrides the implicit mapping. Reference bone mappings are required for two purposes.
They are used for mapping poses defined on the master rig to other rigs. All poses are defined as BVH files that pose the master rig, so they reference only the bone names of the master rig. Poses are applied to all other rigs by using the reference bone mapping: all the rotations that the pose applies to the referenced bones are combined (in the order in which the references were specified -- note: rotations are NOT commutative) and are applied to the alternative rig bone.
Reference bone mappings can also be used for determining vertex weights of custom rigs. If the alternative rig does not explicitly define its own vertex weights, the mapping of reference bones is used to infere a set of bone weights for each bone: All the weights of the reference bones on the master rig (with the weights definition of the default/master rig) are combined and apply to the bone of the alternative rig. Doubles are merged, and weights renormalized. Any vertex that is not weighted will be assigned to the root bone. Watch for messages in the log to verify this.
=== Vertex weights for proxies ===
Generally proxies are mapped to basemesh geometry, that means either to the body or to helpers, or a combination of both (though this is unusual). Proxies derive their vertex weights from the vertices on the basemesh on which they are fitted. A proxy defines its fitting as a 3d offset from one or three vertices on the basemesh, allowing it to deform as the human deforms. This mapping is used to transfer the vertex weights from basemesh to proxy: a proxy vertex referencing three basemesh vertices gets the bone weights of those three vertices. Doubles are merged and the weights are normalized, so that the influence factors are averaged or smoothed. In this case the weights applied to proxies are always those defined on the skeleton: either the weights explicitly defined on the skeleton, or the weights obtained from remapping the master rig weights to this skeleton using the reference bone mapping mentioned in the previous sections. There is an exception to this, which is explained in the next paragraph.
A proxy can explicitly define its own vertex (to bone) weights. In this case it overrides the weights that would be obtained through the proxy mapping, and replaces them by its own custom definition of weights. These vertex weights are always defined to reference the bones of the master rig (default skeleton), so they need to be remapped to other skeletons using reference bone mapping. This also means that the custom weights of a proxy override any custom weights mapping that might be loaded with an alternative rig (but only for that proxy item). Custom proxy weights should be avoided if possible, but are in some cases required, eg. for properly rigging shoes which are rigidly fitted to feet, or an alternative topology which defines very accurate rigging on the face. The general advice for custom rigs is therefore to stay as close to the master rig as possible, reusing as much bones identically as possible, to achieve the best results for proxies with custom weights.
In case of custom weight, the mhclo file must contain a line to indicate the weight file to use, using the keyword “vertexboneweights_file”, with the syntax:
vertexboneweights_file filename.jsonw
== Targets and modifiers ==
MakeHuman applies targets on the human by means of modifiers. Such a modifier has a value (usually between [0, 1] or [-1, 1]) that determines the effect of it on the human mesh. A modifier can control one or more targets and in apply the mixed sum of them on the mesh. Some modifiers.
=== Organization of targets ===
To make sure targets are linked to the right modifier, or to make managing targets easier, a certain discipline has to be observed in managing them. Targets are ASCII files in the data/targets or data/custom folder (in program or user folder) with a file extension of .target.
The file name and folder targets are in implicitly determines their group name. A group is identified by a sequence of tags or tokens, which are taken from the file and folder name of each target, and which can be delimited by “-” symbols, to include multiple tokens in a single file or folder name. The lib/targets.py module takes care of loading all the names of the available targets and assembles them into groups. All targets with the same tokens end up in the same group. This allows easy querying and requesting of targets. The creator is pretty much free to decide what groups to create for their targets. By passing the name of the target group to a modifier, they can make sure that modifier controls the targets belonging to this group. It does not matter whether you use folders or - delimited file names for creating groups.
An example:
data/targets/cartoon/eyes-large.target is categorized in group (cartoon, eyes, large)
data/targets/cartoon-eyes-large.target is also categorized in group (cartoon, eyes, large)
Most simple modifiers work by specifying a group (for example cartoon-eyes) and a set of two tokens to append at the end, depending on the position of the modifier slider (eg. small, large which would allow controlling the targets cartoon-eyes-small and cartoon-eyes-large by moving the slider to the left or right).
=== Reserved group tokens ===
Some of the tokens in the file or foldername of targets are linked to values that variables of the human can have. Such variables are for example age, weight, muscle, gender.
This table lists all the reserved tokens, and the variables they belong to.
{| class="wikitable"
|-
! Reserved token (value)
! Variable
|-
| female,male
| gender
|-
| baby, child, young, old
| age
|-
| african, caucasian, asian
| race
|-
| minmuscle, averagemuscle, maxmuscle
| muscle
|-
| minweight, averageweight, maxweight
| weight
|-
| minheight, averageheight, maxheight
| height
|-
| mincup, averagecup, maxcup
| breastsize
|-
| minfirmness, averagefirmness, maxfirmness
| breastfirmness
|-
| uncommonproportions, regularproportions, idealproportions
| bodyproportion
|}
Note that it is not a good idea to use simply “max” or “min” as a reserved token name, because they need to be unique (otherwise it would not be possible to determine whether they are a minimum for, for example, weight or height). These reserved tokens are declared in the lib/targets.py module. The variable can be set and queried on the human object, for example human.getAge(), human.setMuscle(0.7), human.getProportion().
The reserved tokens are NOT included in the group name, so you should at least include some other, non-reserved tokens in the file or folder names to assign your target to some meaningful group. The inclusion of these reserved tokens in your target names or paths makes it convenient to create macro modifiers.
=== Macro targets and modifiers ===
Macro modifiers are modifiers whose effect (the combination of targets they apply on the human) is influenced by macro variables set on the human (eg. human.set/getAge()). Therefore, macro modifiers often control a large set of targets (20 or even more). It’s also common for multiple modifiers to control exactly the same set of targets, for example the standard age/gender/race sliders all control the set of targets in the ‘macrodetails’ group. Each slider modifies a different variable (eg. human.setAge()) controlling the set of targets, and then reapplies a combination of the same set of targets on the human.
=== Macro modifier dependencies ===
There are other macro modifiers that can also depend on the same variables age, gender, race that is controlled by the main macro modifiers, as discussed above. For example the macro modifiers that influence the weight and muscle mass of the human, controls the targets group “macrodetails-universal”, the universal token is added by prepending “universal-” to all the file names of related targets, which all reside in the folder “macrodetails” (thus macrodetails-universal ends up being the group name). They could have been included all in the “macrodetails” group, but are kept separate for performance reasons, so that the “macrodetails” group of targets (which already contains some 40 targets or so) can be applied in realtime while moving the slider.
Of course a change in the variable that these age/race/gender modifiers control will have an effect on the macrodetails-universal modifiers (because they control targets that depend on age -- their targets include -young- -old- etc. tokens in their filenames). This means there are inter-dependencies between macro modifiers, if one is updated, another one that depends on it should be refreshed. These dependencies can be descibed as follows: one macro modifier controls exactly one macro variable (such as age). It (or rather, the targets it controls) can however depend on multiple macro variables. The trivial case is where a macro modifier only depends on the macro variable that it controls itself. The tracking of these dependencies and deciding which modifiers must be updated when another is changed happens automatically. Dependencies are automatically tracked as soon as you add a modifier to the human (by calling modifier.setHuman(human)). To make this more performant in real-time, the propagation of updates to modifiers is limited while sliders are dragged (see realtimeDependencyUpdates in apps/humanmodifier.py).
As you might have understood, creating modifiers that depend on human variables is almost automatic. The only thing you need to do is create some targets that resolve to the same group name, add variations for all the macro variables you want and add the proper reserved tokens to the file or folder name (refer to the left column in the table above), and create a modifier with this group name. Once added to the human, the dependencies are tracked automatically.
=== Organization of modifiers ===
We already discussed how we organized targets in groups, to make it easier to connect them to a modifier. Now we will discuss how we can do a similar thing for modifiers.
Modifiers provide an easy way to manage targets. They allow reducing many of hundreds of targets to a more manageable number of controllable properties. But even then, we still have about 100 modifiers, which is still quite a lot. Therefore we group them in groups of categories, much like we do in the GUI. This makes it easy to get a grouped overview of all modifiers when using an alternative interface, think of commandline or scripting. The way in which you declare the group and other properties of a modifier determines what target groups it gets its targets from.
Modifiers are declared with a group name, some intermediary “target name” and a number of tail tokens (2 or 3 usually, eg min/max). The group of targets controlled by these modifiers is composed as: groupname-targets_name-tail.
Macro modifiers are declared with a group name, and a controlled variable. The groupname must be the same groupname of the targets they control.
=== Declarative modifiers ===
Instead of hard coding what modifiers you want to instantiate, MakeHuman offers a data-based format to declare what modifiers should be created, and how they should be shown in a user interface with sliders.
A full declaration requires three files, all stored in data/modifiers. The first is the declaration of the modifiers (eg. modeling_modifiers.json). This format lists a modifier group name, and all the modifiers with their macro variable (if they are macro modifiers) or target name and 2 or 3 (if they are a modifier with a center point) tail tokens.
The second file adds a description to the modifiers declared in the first file. It basically contains a key-value set, referencing the modifier name, and a textual description of what the modifier controls. A modifier name is constructed as follows: group/targets_name-all|the|tails and for a macro modifier: group/variable
The third file defines how these modifiers should be shown in the user interface as sliders. It lists a set of categories, and the sliders to show in them, and how their values have to be saved in a mhm file (mainly a feature for legacy compatibility).
=== Your own plugin with modifiers, sliders and targets ===
Using the declarative data format described in the section above, it’s really simple. Have a look at the plugin plugins/0_modeling_0_modifiers.py. Notice it’s barely 5 lines of code. Creating your own modeling plugin is as simple as that, pointing it to your own modifier data files.
=== Binary targets ===
Because loading these ASCII target files, and iterating all target files and folders can be slow (especially on windows) in build versions, we compile all targets in the data/targets system folder into a single binary file, that furthermore acts exactly the same as multiple target files. The binary targets file is stored in the system data/ folder and is called targets.npz, it is created by running the compile_targets.py script, which is also automatically run in the build_prepare.py build routine. The file structure of the targets files is maintained in this binary file so that targets can be loaded from it in the same way as you would do with regular files. A change in the .target files, or newly added target files allow a recompilation of the targets npz file before the change is applied.
== Material format==
=== Introduction ===
MakeHuman material files have extension .mhmat and are simple ASCII definitions
of the material settings to use for rendering.
These material settings are primarily intended for configuring the material
system within MakeHuman, but they are usually carried out to other software as
well by the exporters.
Not all properties will be supported for all given combinations of shaders, nor
is there a guarantee that the exporters will honor all the properties in these
files.
Every 3D object in MakeHuman has exactly one material attached to it (multiple
materials are not possible, you need separate objects for that). Materials are
used for proxy meshes (clothes, hairs, ...) but also for the skin of the human
itself.
=== The Material System ===
The MakeHuman material system is closely based on the [https://en.wikipedia.org/wiki/Rendering_equation standard rendering equation]
as is used in OpenGL and DirectX forward rendering pipelines. MakeHuman supports
shaders and the material format contains the most commonly used extensions in
real-time rendering. As a consequence of this, users need to be aware of the
implications of setting values such as ambient too bright, or diffuse too dark.
All usual rules about rendering materials apply.
At the highest level, the material supports setting the most basic material
properties, such as diffuse, specular and ambient color. These are supported
both by shaders as well as the fixed function shading pipeline (which is used
when no shader is specified). Fixed function also supports the diffuse texture
option.
At a second level, a shader can be chosen. This refers directly to the filename
of a [https://en.wikipedia.org/wiki/OpenGL_Shading_Language GLSL shader] as found in the data/shaders/glsl folder of MakeHuman.
The selected shader will determine what material options will be available.
Various additional settings become available, depending on whether or not the
chosen shader has support for these features, such as bump or normal mapping,
ambient occlusion, specular mapping, etc.
For most of these, a texture map and a scalar property between 0 and 1 can be
set, the latter determining the intensity or influence of the effect.
Finally, MakeHuman also contains a built-in offline renderer that supports some
additional properties such as subsurface scattering, for which some special
properties are available.
=== Example ===
This is a full and complete (but fictional) example of a material file for MakeHuman, it shows all the available properties.
# Example MakeHuman Material definition
name Material_name
tag some_tag
tag another_tag
description material description text here
ambientColor 0.11 0.11 0.11
diffuseColor 1.0 1.0 1.0
specularColor 0.0470588235294 0.0470588235294 0.0470588235294
shininess 0.96
emissiveColor 0.0 0.0 0.0
opacity 1.0
translucency 0.0
shadeless False
wireframe False
transparent True
alphaToCoverage True
backfaceCull False
depthless False
autoBlendSkin False
castShadows True
receiveShadows True
diffuseTexture diffuse_texture.png
bumpmapTexture bumpmap.png
bumpmapIntensity 1.0
normalmapTexture normalmap.png
normalmapIntensity 1.0
displacementmapTexture norm_displacement.png
displacementmapIntensity 1.0
specularmapTexture specular.png
specularmapIntensity 1.0
transparencymapTexture alpha.png
transparencymapIntensity 1.0
aomapTexture ambient_occlusion_map.png
aomapIntensity 1.0
# Sub-surface scattering parameters
sssEnabled True
sssRScale 5.0
sssGScale 2.5
sssBScale 1.0
shader shaders/glsl/litsphere
shaderParam litsphereTexture litspheres/lit_hair.png
shaderConfig ambientOcclusion True
shaderConfig normal False
shaderConfig bump True
shaderConfig displacement False
shaderConfig vertexColors True
shaderConfig spec True
shaderConfig transparency True
shaderConfig diffuse True
shaderDefine ALPHA_MAP
uvMap alt_uv_coords.mhuv
This is another example, this time a real one. It is the X-ray material, used for example when showing the skeleton:
# Material definition for XrayMaterial
name XrayMaterial
ambientColor 0.1 0.1 0.1
diffuseColor 1.0 1.0 1.0
specularColor 0.3 0.3 0.3
shininess 0.1
emissiveColor 0.0 0.0 0.0
opacity 0.1
translucency 0.0
transparent True
backfaceCull True
shadeless False
wireframe False
depthless False
shader data/shaders/glsl/xray
shaderConfig diffuse False
shaderConfig transparency False
shaderConfig normal False
shaderConfig bump False
shaderConfig spec False
shaderConfig vertexColors False
shaderConfig displacement False
=== Explanation of material properties ===
=== Standard settings ===
''ambientColor'', ''diffuseColor'' ''specularColor'', ''emissiveColor'' are the standard colors
as used in the [https://en.wikipedia.org/wiki/Rendering_equation rendering equation]
or in standard OpenGL.
Their corresponding intensities are simple scalars with a value between 0 and 1 and are multiplied
with the colors to dim them. Default these intensities are set to 1.
Colors are described as three floating point numbers, representing R G B, or red-green-blue
values. 1 is the maximum, 0 the minimum.
For example 1.0 0 0 means fully red, 1 1 1 means full white, 0 0 0 is full black.
0.5 0.5 0.5 will give you a grey middle color.
''opacity'' determines the opaqueness of the object (alpha channel), with 1 being fully
opaque, and 0 being fully transparent (invisible)
''translucency'' is something that came from Blender but is unused
==== Render states ====
When ''wireframe'' is set to True, the model is drawn in wireframe mode. In this mode,
most material properties have no effect, but you can enable the vertexColors shaderConfig
to be able to change the color of the mesh using vertex colors (this requires
access to the mesh programatically, obj meshes do not support vertex colors).
This feature is used in some parts of MakeHuman, for example viewing bone weights
in the skeleton debug plugin.
Set ''shadeless'' to True to disable shading, eg. the object is not affected by lights.
Configured shader will have no effect
Set ''transparent'' to True to enable transparency rendering (usually needed when opacity is < 1)
In itself this does not change the visual appearance of the model, but this setting
should be enabled if your texture contains (semi-) transparent parts. This setting
instructs the renderer to disable depth buffer writes (glDepthMask(false))
and enables alpha testing and blending so that transparent surfaces can overlap and to allow [https://www.opengl.org/wiki/Transparency_Sorting alpha blending].
''alphaToCoverage'' Applies when transparent is set to True (otherwise does nothing).
It requires that your GPU supports alpha to coverage (A2C) rendering. It enables
the A2C feature which provides face order-independent alpha rendering. This works
very well for complex transparent meshes, like hair. At the cost of a slightly
dithered look, it solves all the problems with face sorting that are usually
involved in rendering semi transparency.
(This feature disables anti-aliasing for this object because the multisample buffer is used for alpha blending instead)
Set ''backfaceCull'' to False to disable backface culling (render the back side of polygons)
By default, and in most cases, this should be set to True, but can be useful
in some cases (for example, we disable back-face culling for the eyebrow materials).
Set ''depthless'' to True for depthless rendering (object is not occluded and does not occlude other objects).
This disables OpenGL depth writes and tests. In practice, this makes object faces that should be occluded shine through others.
''castShadows'' determines whether the object casts shadows on other objects.
''receiveShadows'' determines whether the object receives shadows from other objects.
For some features, like eyes, you probably want to disable shadow receiving.
Since MakeHuman does not (yet) implement shadow casting, the shadow settings have
no effect in MakeHuman, but they do export to other engines.
Play around with these settings in the Material Editor plugin to see their effect, that's the best advise I can give you.
The best way to find out which settings work for an asset, is simply to try them out.
==== autoBlendSkin ====
If True MakeHuman will set the diffuse color based on the ethnix mix set for the character.
Any diffuseColor set in the material file will be overridden by this.
Also the shaderParam litsphereTexture will be automatically set to a dynamically blended litsphere texture,
which is a mix of three litsphere materials (afro, asian, caucasian) depending on the ethnic mix of the character.
This latter is specifically intended to be used with the litsphere shader, and it is what you see as default material when you start MakeHuman
This overrides whatever shaderParam litsphereTexture was set in the material file.
This setting is intended only for skin materials.
==== shaderParam ====
Define a custom shader parameter (uniform), which might be required for some non-standard shaders.
For example, the litsphere shader takes an extra type of texture map as input, a so-called litsphere texture.
This generic system of mapping shader uniforms allows you to create specialised shaders that take
new and different kind of inputs, and allow configuring the shader from the material file.
shaderParam can be a list of floating point numbers, in which case it will be interpreted as a vector,
or it can be a file path, in which case it is assumed to be an image path.
Internally in MakeHuman, shaderParams can also be assigned a texture object, which allows
for dynamically passing a texture that is in memory, but perhaps not stored on disk.
Another example of a custom shaderParam is the X-ray shader that defines an edgefalloff
and intensity uniform parameter.
These could be changed from the material file with
shaderParam edgefalloff 0.8
shaderParam intensity 0.77
==== shaderDefine ====
shaderDefines allow enabling or disabling custom shading techniques in shaders.
These allow to define new shading techniques, apart from the pre-defined ones
such as normal mapping, specularity mapping, ...
It's a generic system that allows new shaders to be added and configured from
the material file, or from the material editor (which nicely auto-detects these
features in the shader and shows a set of checkboxes for them).
==== uvMap ====
Load custom UV coordinates on the mesh to use this material. This makes the material
completely dependent on the mesh it is used with.
Takes a path to a .mhuv file, which is actually just an .obj file, where the vertex
positions can be deleted (they can remain in there, but they are ignored).
Requirement for it to work is that the vertex order is the same as that of the
mesh obj.
An example uv map for the basemesh can be found in data/uvs/a7.mhuv, which is a
set of UV coordinates compatible with the old Alpha 7 mesh, allowing you to load
A7 textures on the new basemesh used in MakeHuman v1+
=== autoBlendSkin ===
If True the shaderParam litsphereTexture will be automatically set to a dynamically blended litsphere texture,
which is a mix of three litsphere materials (afro, asian, caucasian) depending on the ethnic mix of the character.
=== Basic pointers ===
* You can test the influence of material properties using the Material Editor plugin (which you can enable in Settings > Plugins, then restart)
* Using a diffuse texture? You probably want to set the diffuse color to 1 1 1 (pure white)
* Never set ambient color too bright, or your model will look completely white. 0.1 0.1 0.1 is a good value to start from.
* Emissive is usually set to black, unless you want a radioactive character
* Don't know how to define a color in numbers? Try the Material Editor plugin
* Higher shininess means smaller and sharper highlight, lower shininess makes the highlight larger and more blurred
* Reduce specular color to reduce the specularity, make it black for a rough and non shiny object
* opacity 1 means fully opaque, 0 means fully transparent (invisible)
=== Scene definition ===
To complete the rendering equation, you also need to define the scene. To be
more precise, the positions, types, color and intensities of the lights need to
be set. By default, MakeHuman only has a default scene with only one pointlight.
In MakeHuman, lights do not move if the camera is moved, or rather, the model is
rotated while the camera and lights remain static. So light positions are defined
relative to the camera position.
MakeHuman scenes are defined in .mhscene files, which are binary py-pickled files.
They can be created or modified using the Scene Editor plugin (can be enabled in
settings) and can be selected from the Scene library in the Render tab.
Fixed function shading pipeline supports up to 8 lights, specific light support
depends on the shader used, some shaders only support a certain type or number
of lights, other ignore the chosen scene altogether (for example the litsphere
shader that uses pre-baked environment lighting).
The built-in offline renderer also uses the specified scene.
Scenes are not exported along with the model.
=== Shaders ===
The most powerful functionality of the material system is unlocked when using
shaders.
MakeHuman shaders are intended to be written in a modular way, so that shading
features can be enabled or disabled using the material format. Examples of such
features are bump mapping, normal mapping, specular mapping, diffuse texturing,
ambient occlusion and displacement mapping.
MakeHuman includes a basic introspection function that allows it to determine
what features a shader supports. It accomplishes this by looking for #ifdef and #ifndef statements. If a shader supports a certain technique, it is supposed to
encapsulate this in #ifdef NORMALMAP ... #else ... #endif statements.
The idea is that of an [http://www.gamedev.net/topic/659145-what-is-a-uber-shader/ über shader], where performance is optimized by removing any dynamic branches (if then that) from shader code, and instead managing the features using defines and pre-processor branches.
When a different branch in the shader is activated, the shader code is recompiled entirely.
Instead of having different shaders for different features (eg. a specific normalmap shader to be able to do normal mapping), one general shader could be used instead, and normal mapping can simply be enabled or disabled from the material properties, without being required to swap shaders (a good default uber shader is [http://bugtracker.makehumancommunity.org/issues/160 still to be created for MakeHuman] Any help with this is welcome of course!).
The material system manages these shading functions by defining specific pre-processor
keywords when their corresponding shaderConfig property is set to true.
Shaders are recompiled when needed and stored in a shader cache for efficiency.
MakeHuman passes scene and material information to the shaders by certain uniform
parameters. Depending on which shaderConfig properties were enabled, additional
uniforms could be exposed to the shader. The shader does not have to declare all
these uniforms, however. MakeHuman binds only those uniforms present in the shader
if they have the right corresponding names.
Other properties are available from the OpenGL built-in uniforms or properties
(usually starting with gl_).
The following table lists these defines and the shaderConfig properties in the
material they relate to:
{| class="wikitable"
|-
! shaderConfig
! shader #DEFINE
! exposed uniform parameters if enabled
! comment
|-
|default (always enabled)
|
|vec3 ambient, vec4 diffuse, vec4 specular, vec3 emissive
|diffuse and specular are 4-component color values, diffuse=[rgba] with a=opacity and specular=[rgbs] with s=shininess
|-
|vertexColors
|VERTEX_COLOR
|
|
|-
|diffuse
|DIFFUSE
|diffuseTexture
|
|-
|bump
|BUMPMAP
|bumpmapTexture, bumpmapIntensity
|disabled if normal mapping is enabled (restriction might be lifted in the future)
|-
|normal
|NORMALMAP
|normalmapTexture, normalmapIntensity
|
|-
|displacement
|DISPLACEMENT
|displacementmapTexture, displacementmapIntensity
|
|-
|spec
|SPECULARMAP
|specularmapTexture, specularmapIntensity
|
|-
|transparency
|TRANSPARENCYMAP
|transparencymapTexture, transparencymapIntensity
|
|-
|ambientOcclusion
|AOMAP
|aomapTexture, aomapIntensity
|
|}
Additionally, MakeHuman exposes the vertex tangent as a vertex property, which
can be accessed by the shader.
attribute vec4 tangent
Currently, [http://www.terathon.com/code/tangent.html Lengyel’s Method] for tangent calculation
is used, but plans are to change this to [http://bugtracker.makehumancommunity.org/issues/87 mikktspace] in the future.
Shader examples for MakeHuman can be found here:
* Litsphere shader: [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/litsphere_vertex_shader.txt vertex][https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/litsphere_fragment_shader.txt fragment]
* Phong shader: [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/phong_vertex_shader.txt vertex][https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/phong_fragment_shader.txt fragment]
* Normal map shader (wip): [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/normalmap_vertex_shader.txt vertex] [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/normalmap_fragment_shader.txt fragment]
* X-ray shader: [https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/xray_vertex_shader.txt vertex][https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/xray_fragment_shader.txt fragment]
==== Custom shader properties ====
Shaders can use non-standard #DEFINEs to allow enabling or disabling non-standard shading features, other than the ones that were foreseen in the material format (such as normal mapping, ...)
To add new ones, simply add #ifdef SOME_FEATURE statements to your shader code, the material system will automatically detect them.
From the material, you can enable them with
shaderDefine SOME_FEATURE
If not defined, the feature is assumed to be switched off.
A custom shader can also add new parameters to tweak. For example a color value or intensity value that influences the shading.
To do this, the shader author can simply add new uniform variables to their shader code. It is recommended to specify a default
value for them, so that if the material file does not explicitly mention them, they receive a sensible default value.
Example: the X-ray shader adds an edge-fallof property:
uniform float edgefalloff = 1.0;
From the material file, you can influence this value with:
shaderParam edgefalloff 0.5
shaderParam supports lists of float values (one or multiple, divided by spaces), eg
shaderParam edgecolor 0.7 0.3 0.4
or textures, by specifying a path to an image file (in which case they are assumed to be Sampler2D type)
Additionally, from within MakeHuman, they can be passed a Texture object, to dynamically pass them a texture that resides in memory, without the need for the texture to be stored in a file on disk.
This allows to dynamically alter the texture and have it displayed directly. MakeHuman takes care of caching the texture and updating it when it is modified.
For example, the auto skin tone blending of the litsphere texture is implemented in this way.
The material system will automatically detect these custom uniform parameters declared in the shader, for example the material editor plugin will present them in the GUI.
These features make for a general and extensible shader system.
32500c3aa74f84014b9f2c3b670c0cf84d7be3fe
579
578
2016-01-27T16:24:51Z
Duststorm
19
/* Shaders */
wikitext
text/x-wiki
== Vertex weights ==
With vertex weights we intend a weighted mapping of vertices of a mesh to a bone of a skeleton. The weight is a value between 0 and 1, the sum of these weights for each vertex should be normalized, which means they should sum to 1 (note: no euclidian distance, just simple addition of all weights). A weight map in MakeHuman is expressed as a bone name (becomes a bone index internally, using the index of the bone in a breadth-first list relative to skeleton structure), a vertex name and a floating point weight between 0 and 1. This weighted vertex to bone mapping is used for skinning (posing and animating, using vertex skinning, smooth skinning or linear blend skinning algorithm). For the skinning algorithm to work correctly it’s required that the weights are always normalized, otherwise you will see vertices move out of place disproportionally (though the weight loading code in MakeHuman ensures that this normalization always happens, so this is not a concern to the artist that defines the weights). The vertex weights can be exported to external tools as well using formats such as collada (DAE), FBX, Ogre3D meshes or MD5 quake meshes.
=== Vertex weights and skeletons ===
Vertex weights are defined for the default “master” skeleton or rig. They are defined in a json file with jsonw extension. They link each vertex of the basemesh including helpers to a named bone of this master rig, together with a certain weight.
The weights loader automatically removes doubles and normalizes the weights (so that they sum to 1). It also reports what the maximum number of bone weights per vertex is, additionally it allows compiling the weights to a reduced set with n number of bone weights, and automatically renormalizes those weights so they, again, sum to 1.
When loading weights, any vertex that receives no weighting is assigned to the root bone, as this is needed for skinning to prevent all those vertices jumping to the origin (0*pos == 0).
Alternative skeletons can define their own weights, by referencing a weights file just like the master rig, or they can choose to derive their weights from the master rig, through so called reference bone mappings. Skeletons will derive their weights from the master rig if they do not specify a weights file explicitly. Custom vertex weights in alternative rigs override those defined on the master rig, except in the case where a proxy defines its own vertex weights. See section Vertex weights for proxies for more details.
=== Reference bones for vertex weights and poses ===
Reference bones are defined on alternative rigs, they are a list of names of bones contained in the master rig. Every bone of an alternative rig can have such a list of reference bones. An alternative rig can also omit these references if it uses the same name as bones in the master rig, in which the mapping is implicit. Having a list of bone references always overrides the implicit mapping. Reference bone mappings are required for two purposes.
They are used for mapping poses defined on the master rig to other rigs. All poses are defined as BVH files that pose the master rig, so they reference only the bone names of the master rig. Poses are applied to all other rigs by using the reference bone mapping: all the rotations that the pose applies to the referenced bones are combined (in the order in which the references were specified -- note: rotations are NOT commutative) and are applied to the alternative rig bone.
Reference bone mappings can also be used for determining vertex weights of custom rigs. If the alternative rig does not explicitly define its own vertex weights, the mapping of reference bones is used to infere a set of bone weights for each bone: All the weights of the reference bones on the master rig (with the weights definition of the default/master rig) are combined and apply to the bone of the alternative rig. Doubles are merged, and weights renormalized. Any vertex that is not weighted will be assigned to the root bone. Watch for messages in the log to verify this.
=== Vertex weights for proxies ===
Generally proxies are mapped to basemesh geometry, that means either to the body or to helpers, or a combination of both (though this is unusual). Proxies derive their vertex weights from the vertices on the basemesh on which they are fitted. A proxy defines its fitting as a 3d offset from one or three vertices on the basemesh, allowing it to deform as the human deforms. This mapping is used to transfer the vertex weights from basemesh to proxy: a proxy vertex referencing three basemesh vertices gets the bone weights of those three vertices. Doubles are merged and the weights are normalized, so that the influence factors are averaged or smoothed. In this case the weights applied to proxies are always those defined on the skeleton: either the weights explicitly defined on the skeleton, or the weights obtained from remapping the master rig weights to this skeleton using the reference bone mapping mentioned in the previous sections. There is an exception to this, which is explained in the next paragraph.
A proxy can explicitly define its own vertex (to bone) weights. In this case it overrides the weights that would be obtained through the proxy mapping, and replaces them by its own custom definition of weights. These vertex weights are always defined to reference the bones of the master rig (default skeleton), so they need to be remapped to other skeletons using reference bone mapping. This also means that the custom weights of a proxy override any custom weights mapping that might be loaded with an alternative rig (but only for that proxy item). Custom proxy weights should be avoided if possible, but are in some cases required, eg. for properly rigging shoes which are rigidly fitted to feet, or an alternative topology which defines very accurate rigging on the face. The general advice for custom rigs is therefore to stay as close to the master rig as possible, reusing as much bones identically as possible, to achieve the best results for proxies with custom weights.
In case of custom weight, the mhclo file must contain a line to indicate the weight file to use, using the keyword “vertexboneweights_file”, with the syntax:
vertexboneweights_file filename.jsonw
== Targets and modifiers ==
MakeHuman applies targets on the human by means of modifiers. Such a modifier has a value (usually between [0, 1] or [-1, 1]) that determines the effect of it on the human mesh. A modifier can control one or more targets and in apply the mixed sum of them on the mesh. Some modifiers.
=== Organization of targets ===
To make sure targets are linked to the right modifier, or to make managing targets easier, a certain discipline has to be observed in managing them. Targets are ASCII files in the data/targets or data/custom folder (in program or user folder) with a file extension of .target.
The file name and folder targets are in implicitly determines their group name. A group is identified by a sequence of tags or tokens, which are taken from the file and folder name of each target, and which can be delimited by “-” symbols, to include multiple tokens in a single file or folder name. The lib/targets.py module takes care of loading all the names of the available targets and assembles them into groups. All targets with the same tokens end up in the same group. This allows easy querying and requesting of targets. The creator is pretty much free to decide what groups to create for their targets. By passing the name of the target group to a modifier, they can make sure that modifier controls the targets belonging to this group. It does not matter whether you use folders or - delimited file names for creating groups.
An example:
data/targets/cartoon/eyes-large.target is categorized in group (cartoon, eyes, large)
data/targets/cartoon-eyes-large.target is also categorized in group (cartoon, eyes, large)
Most simple modifiers work by specifying a group (for example cartoon-eyes) and a set of two tokens to append at the end, depending on the position of the modifier slider (eg. small, large which would allow controlling the targets cartoon-eyes-small and cartoon-eyes-large by moving the slider to the left or right).
=== Reserved group tokens ===
Some of the tokens in the file or foldername of targets are linked to values that variables of the human can have. Such variables are for example age, weight, muscle, gender.
This table lists all the reserved tokens, and the variables they belong to.
{| class="wikitable"
|-
! Reserved token (value)
! Variable
|-
| female,male
| gender
|-
| baby, child, young, old
| age
|-
| african, caucasian, asian
| race
|-
| minmuscle, averagemuscle, maxmuscle
| muscle
|-
| minweight, averageweight, maxweight
| weight
|-
| minheight, averageheight, maxheight
| height
|-
| mincup, averagecup, maxcup
| breastsize
|-
| minfirmness, averagefirmness, maxfirmness
| breastfirmness
|-
| uncommonproportions, regularproportions, idealproportions
| bodyproportion
|}
Note that it is not a good idea to use simply “max” or “min” as a reserved token name, because they need to be unique (otherwise it would not be possible to determine whether they are a minimum for, for example, weight or height). These reserved tokens are declared in the lib/targets.py module. The variable can be set and queried on the human object, for example human.getAge(), human.setMuscle(0.7), human.getProportion().
The reserved tokens are NOT included in the group name, so you should at least include some other, non-reserved tokens in the file or folder names to assign your target to some meaningful group. The inclusion of these reserved tokens in your target names or paths makes it convenient to create macro modifiers.
=== Macro targets and modifiers ===
Macro modifiers are modifiers whose effect (the combination of targets they apply on the human) is influenced by macro variables set on the human (eg. human.set/getAge()). Therefore, macro modifiers often control a large set of targets (20 or even more). It’s also common for multiple modifiers to control exactly the same set of targets, for example the standard age/gender/race sliders all control the set of targets in the ‘macrodetails’ group. Each slider modifies a different variable (eg. human.setAge()) controlling the set of targets, and then reapplies a combination of the same set of targets on the human.
=== Macro modifier dependencies ===
There are other macro modifiers that can also depend on the same variables age, gender, race that is controlled by the main macro modifiers, as discussed above. For example the macro modifiers that influence the weight and muscle mass of the human, controls the targets group “macrodetails-universal”, the universal token is added by prepending “universal-” to all the file names of related targets, which all reside in the folder “macrodetails” (thus macrodetails-universal ends up being the group name). They could have been included all in the “macrodetails” group, but are kept separate for performance reasons, so that the “macrodetails” group of targets (which already contains some 40 targets or so) can be applied in realtime while moving the slider.
Of course a change in the variable that these age/race/gender modifiers control will have an effect on the macrodetails-universal modifiers (because they control targets that depend on age -- their targets include -young- -old- etc. tokens in their filenames). This means there are inter-dependencies between macro modifiers, if one is updated, another one that depends on it should be refreshed. These dependencies can be descibed as follows: one macro modifier controls exactly one macro variable (such as age). It (or rather, the targets it controls) can however depend on multiple macro variables. The trivial case is where a macro modifier only depends on the macro variable that it controls itself. The tracking of these dependencies and deciding which modifiers must be updated when another is changed happens automatically. Dependencies are automatically tracked as soon as you add a modifier to the human (by calling modifier.setHuman(human)). To make this more performant in real-time, the propagation of updates to modifiers is limited while sliders are dragged (see realtimeDependencyUpdates in apps/humanmodifier.py).
As you might have understood, creating modifiers that depend on human variables is almost automatic. The only thing you need to do is create some targets that resolve to the same group name, add variations for all the macro variables you want and add the proper reserved tokens to the file or folder name (refer to the left column in the table above), and create a modifier with this group name. Once added to the human, the dependencies are tracked automatically.
=== Organization of modifiers ===
We already discussed how we organized targets in groups, to make it easier to connect them to a modifier. Now we will discuss how we can do a similar thing for modifiers.
Modifiers provide an easy way to manage targets. They allow reducing many of hundreds of targets to a more manageable number of controllable properties. But even then, we still have about 100 modifiers, which is still quite a lot. Therefore we group them in groups of categories, much like we do in the GUI. This makes it easy to get a grouped overview of all modifiers when using an alternative interface, think of commandline or scripting. The way in which you declare the group and other properties of a modifier determines what target groups it gets its targets from.
Modifiers are declared with a group name, some intermediary “target name” and a number of tail tokens (2 or 3 usually, eg min/max). The group of targets controlled by these modifiers is composed as: groupname-targets_name-tail.
Macro modifiers are declared with a group name, and a controlled variable. The groupname must be the same groupname of the targets they control.
=== Declarative modifiers ===
Instead of hard coding what modifiers you want to instantiate, MakeHuman offers a data-based format to declare what modifiers should be created, and how they should be shown in a user interface with sliders.
A full declaration requires three files, all stored in data/modifiers. The first is the declaration of the modifiers (eg. modeling_modifiers.json). This format lists a modifier group name, and all the modifiers with their macro variable (if they are macro modifiers) or target name and 2 or 3 (if they are a modifier with a center point) tail tokens.
The second file adds a description to the modifiers declared in the first file. It basically contains a key-value set, referencing the modifier name, and a textual description of what the modifier controls. A modifier name is constructed as follows: group/targets_name-all|the|tails and for a macro modifier: group/variable
The third file defines how these modifiers should be shown in the user interface as sliders. It lists a set of categories, and the sliders to show in them, and how their values have to be saved in a mhm file (mainly a feature for legacy compatibility).
=== Your own plugin with modifiers, sliders and targets ===
Using the declarative data format described in the section above, it’s really simple. Have a look at the plugin plugins/0_modeling_0_modifiers.py. Notice it’s barely 5 lines of code. Creating your own modeling plugin is as simple as that, pointing it to your own modifier data files.
=== Binary targets ===
Because loading these ASCII target files, and iterating all target files and folders can be slow (especially on windows) in build versions, we compile all targets in the data/targets system folder into a single binary file, that furthermore acts exactly the same as multiple target files. The binary targets file is stored in the system data/ folder and is called targets.npz, it is created by running the compile_targets.py script, which is also automatically run in the build_prepare.py build routine. The file structure of the targets files is maintained in this binary file so that targets can be loaded from it in the same way as you would do with regular files. A change in the .target files, or newly added target files allow a recompilation of the targets npz file before the change is applied.
== Material format==
=== Introduction ===
MakeHuman material files have extension .mhmat and are simple ASCII definitions
of the material settings to use for rendering.
These material settings are primarily intended for configuring the material
system within MakeHuman, but they are usually carried out to other software as
well by the exporters.
Not all properties will be supported for all given combinations of shaders, nor
is there a guarantee that the exporters will honor all the properties in these
files.
Every 3D object in MakeHuman has exactly one material attached to it (multiple
materials are not possible, you need separate objects for that). Materials are
used for proxy meshes (clothes, hairs, ...) but also for the skin of the human
itself.
=== The Material System ===
The MakeHuman material system is closely based on the [[https://en.wikipedia.org/wiki/Rendering_equation standard rendering equation]]
as is used in OpenGL and DirectX forward rendering pipelines. MakeHuman supports
shaders and the material format contains the most commonly used extensions in
real-time rendering. As a consequence of this, users need to be aware of the
implications of setting values such as ambient too bright, or diffuse too dark.
All usual rules about rendering materials apply.
At the highest level, the material supports setting the most basic material
properties, such as diffuse, specular and ambient color. These are supported
both by shaders as well as the fixed function shading pipeline (which is used
when no shader is specified). Fixed function also supports the diffuse texture
option.
At a second level, a shader can be chosen. This refers directly to the filename
of a [[https://en.wikipedia.org/wiki/OpenGL_Shading_Language GLSL shader]] as found in the data/shaders/glsl folder of MakeHuman.
The selected shader will determine what material options will be available.
Various additional settings become available, depending on whether or not the
chosen shader has support for these features, such as bump or normal mapping,
ambient occlusion, specular mapping, etc.
For most of these, a texture map and a scalar property between 0 and 1 can be
set, the latter determining the intensity or influence of the effect.
Finally, MakeHuman also contains a built-in offline renderer that supports some
additional properties such as subsurface scattering, for which some special
properties are available.
=== Example ===
This is a full and complete (but fictional) example of a material file for MakeHuman, it shows all the available properties.
# Example MakeHuman Material definition
name Material_name
tag some_tag
tag another_tag
description material description text here
ambientColor 0.11 0.11 0.11
diffuseColor 1.0 1.0 1.0
specularColor 0.0470588235294 0.0470588235294 0.0470588235294
shininess 0.96
emissiveColor 0.0 0.0 0.0
opacity 1.0
translucency 0.0
shadeless False
wireframe False
transparent True
alphaToCoverage True
backfaceCull False
depthless False
autoBlendSkin False
castShadows True
receiveShadows True
diffuseTexture diffuse_texture.png
bumpmapTexture bumpmap.png
bumpmapIntensity 1.0
normalmapTexture normalmap.png
normalmapIntensity 1.0
displacementmapTexture norm_displacement.png
displacementmapIntensity 1.0
specularmapTexture specular.png
specularmapIntensity 1.0
transparencymapTexture alpha.png
transparencymapIntensity 1.0
aomapTexture ambient_occlusion_map.png
aomapIntensity 1.0
# Sub-surface scattering parameters
sssEnabled True
sssRScale 5.0
sssGScale 2.5
sssBScale 1.0
shader shaders/glsl/litsphere
shaderParam litsphereTexture litspheres/lit_hair.png
shaderConfig ambientOcclusion True
shaderConfig normal False
shaderConfig bump True
shaderConfig displacement False
shaderConfig vertexColors True
shaderConfig spec True
shaderConfig transparency True
shaderConfig diffuse True
shaderDefine ALPHA_MAP
uvMap alt_uv_coords.mhuv
This is another example, this time a real one. It is the X-ray material, used for example when showing the skeleton:
# Material definition for XrayMaterial
name XrayMaterial
ambientColor 0.1 0.1 0.1
diffuseColor 1.0 1.0 1.0
specularColor 0.3 0.3 0.3
shininess 0.1
emissiveColor 0.0 0.0 0.0
opacity 0.1
translucency 0.0
transparent True
backfaceCull True
shadeless False
wireframe False
depthless False
shader data/shaders/glsl/xray
shaderConfig diffuse False
shaderConfig transparency False
shaderConfig normal False
shaderConfig bump False
shaderConfig spec False
shaderConfig vertexColors False
shaderConfig displacement False
=== Explanation of material properties ===
=== Standard settings ===
''ambientColor'', ''diffuseColor'' ''specularColor'', ''emissiveColor'' are the standard colors
as used in the [[https://en.wikipedia.org/wiki/Rendering_equation rendering equation]]
or in standard OpenGL.
Their corresponding intensities are simple scalars with a value between 0 and 1 and are multiplied
with the colors to dim them. Default these intensities are set to 1.
Colors are described as three floating point numbers, representing R G B, or red-green-blue
values. 1 is the maximum, 0 the minimum.
For example 1.0 0 0 means fully red, 1 1 1 means full white, 0 0 0 is full black.
0.5 0.5 0.5 will give you a grey middle color.
''opacity'' determines the opaqueness of the object (alpha channel), with 1 being fully
opaque, and 0 being fully transparent (invisible)
''translucency'' is something that came from Blender but is unused
==== Render states ====
When ''wireframe'' is set to True, the model is drawn in wireframe mode. In this mode,
most material properties have no effect, but you can enable the vertexColors shaderConfig
to be able to change the color of the mesh using vertex colors (this requires
access to the mesh programatically, obj meshes do not support vertex colors).
This feature is used in some parts of MakeHuman, for example viewing bone weights
in the skeleton debug plugin.
Set ''shadeless'' to True to disable shading, eg. the object is not affected by lights.
Configured shader will have no effect
Set ''transparent'' to True to enable transparency rendering (usually needed when opacity is < 1)
In itself this does not change the visual appearance of the model, but this setting
should be enabled if your texture contains (semi-) transparent parts. This setting
instructs the renderer to disable depth buffer writes (glDepthMask(false))
and enables alpha testing and blending so that transparent surfaces can overlap and to allow [[https://www.opengl.org/wiki/Transparency_Sorting alpha blending]].
''alphaToCoverage'' Applies when transparent is set to True (otherwise does nothing).
It requires that your GPU supports alpha to coverage (A2C) rendering. It enables
the A2C feature which provides face order-independent alpha rendering. This works
very well for complex transparent meshes, like hair. At the cost of a slightly
dithered look, it solves all the problems with face sorting that are usually
involved in rendering semi transparency.
(This feature disables anti-aliasing for this object because the multisample buffer is used for alpha blending instead)
Set ''backfaceCull'' to False to disable backface culling (render the back side of polygons)
By default, and in most cases, this should be set to True, but can be useful
in some cases (for example, we disable back-face culling for the eyebrow materials).
Set ''depthless'' to True for depthless rendering (object is not occluded and does not occlude other objects).
This disables OpenGL depth writes and tests. In practice, this makes object faces that should be occluded shine through others.
''castShadows'' determines whether the object casts shadows on other objects.
''receiveShadows'' determines whether the object receives shadows from other objects.
For some features, like eyes, you probably want to disable shadow receiving.
Since MakeHuman does not (yet) implement shadow casting, the shadow settings have
no effect in MakeHuman, but they do export to other engines.
Play around with these settings in the Material Editor plugin to see their effect, that's the best advise I can give you.
The best way to find out which settings work for an asset, is simply to try them out.
==== autoBlendSkin ====
If True MakeHuman will set the diffuse color based on the ethnix mix set for the character.
Any diffuseColor set in the material file will be overridden by this.
Also the shaderParam litsphereTexture will be automatically set to a dynamically blended litsphere texture,
which is a mix of three litsphere materials (afro, asian, caucasian) depending on the ethnic mix of the character.
This latter is specifically intended to be used with the litsphere shader, and it is what you see as default material when you start MakeHuman
This overrides whatever shaderParam litsphereTexture was set in the material file.
This setting is intended only for skin materials.
==== shaderParam ====
Define a custom shader parameter (uniform), which might be required for some non-standard shaders.
For example, the litsphere shader takes an extra type of texture map as input, a so-called litsphere texture.
This generic system of mapping shader uniforms allows you to create specialised shaders that take
new and different kind of inputs, and allow configuring the shader from the material file.
shaderParam can be a list of floating point numbers, in which case it will be interpreted as a vector,
or it can be a file path, in which case it is assumed to be an image path.
Internally in MakeHuman, shaderParams can also be assigned a texture object, which allows
for dynamically passing a texture that is in memory, but perhaps not stored on disk.
Another example of a custom shaderParam is the X-ray shader that defines an edgefalloff
and intensity uniform parameter.
These could be changed from the material file with
shaderParam edgefalloff 0.8
shaderParam intensity 0.77
==== shaderDefine ====
shaderDefines allow enabling or disabling custom shading techniques in shaders.
These allow to define new shading techniques, apart from the pre-defined ones
such as normal mapping, specularity mapping, ...
It's a generic system that allows new shaders to be added and configured from
the material file, or from the material editor (which nicely auto-detects these
features in the shader and shows a set of checkboxes for them).
==== uvMap ====
Load custom UV coordinates on the mesh to use this material. This makes the material
completely dependent on the mesh it is used with.
Takes a path to a .mhuv file, which is actually just an .obj file, where the vertex
positions can be deleted (they can remain in there, but they are ignored).
Requirement for it to work is that the vertex order is the same as that of the
mesh obj.
An example uv map for the basemesh can be found in data/uvs/a7.mhuv, which is a
set of UV coordinates compatible with the old Alpha 7 mesh, allowing you to load
A7 textures on the new basemesh used in MakeHuman v1+
=== autoBlendSkin ===
If True the shaderParam litsphereTexture will be automatically set to a dynamically blended litsphere texture,
which is a mix of three litsphere materials (afro, asian, caucasian) depending on the ethnic mix of the character.
=== Basic pointers ===
* You can test the influence of material properties using the Material Editor plugin (which you can enable in Settings > Plugins, then restart)
* Using a diffuse texture? You probably want to set the diffuse color to 1 1 1 (pure white)
* Never set ambient color too bright, or your model will look completely white. 0.1 0.1 0.1 is a good value to start from.
* Emissive is usually set to black, unless you want a radioactive character
* Don't know how to define a color in numbers? Try the Material Editor plugin
* Higher shininess means smaller and sharper highlight, lower shininess makes the highlight larger and more blurred
* Reduce specular color to reduce the specularity, make it black for a rough and non shiny object
* opacity 1 means fully opaque, 0 means fully transparent (invisible)
=== Scene definition ===
To complete the rendering equation, you also need to define the scene. To be
more precise, the positions, types, color and intensities of the lights need to
be set. By default, MakeHuman only has a default scene with only one pointlight.
In MakeHuman, lights do not move if the camera is moved, or rather, the model is
rotated while the camera and lights remain static. So light positions are defined
relative to the camera position.
MakeHuman scenes are defined in .mhscene files, which are binary py-pickled files.
They can be created or modified using the Scene Editor plugin (can be enabled in
settings) and can be selected from the Scene library in the Render tab.
Fixed function shading pipeline supports up to 8 lights, specific light support
depends on the shader used, some shaders only support a certain type or number
of lights, other ignore the chosen scene altogether (for example the litsphere
shader that uses pre-baked environment lighting).
The built-in offline renderer also uses the specified scene.
Scenes are not exported along with the model.
=== Shaders ===
The most powerful functionality of the material system is unlocked when using
shaders.
MakeHuman shaders are intended to be written in a modular way, so that shading
features can be enabled or disabled using the material format. Examples of such
features are bump mapping, normal mapping, specular mapping, diffuse texturing,
ambient occlusion and displacement mapping.
MakeHuman includes a basic introspection function that allows it to determine
what features a shader supports. It accomplishes this by looking for #ifdef and #ifndef statements. If a shader supports a certain technique, it is supposed to
encapsulate this in #ifdef NORMALMAP ... #else ... #endif statements.
The idea is that of an [[http://www.gamedev.net/topic/659145-what-is-a-uber-shader/ über shader]], where performance is optimized by removing any dynamic branches (if then that) from shader code, and instead managing the features using defines and pre-processor branches.
When a different branch in the shader is activated, the shader code is recompiled entirely.
Instead of having different shaders for different features (eg. a specific normalmap shader to be able to do normal mapping), one general shader could be used instead, and normal mapping can simply be enabled or disabled from the material properties, without being required to swap shaders (a good default uber shader is [[http://bugtracker.makehumancommunity.org/issues/160 still to be created for MakeHuman]] Any help with this is welcome of course!).
The material system manages these shading functions by defining specific pre-processor
keywords when their corresponding shaderConfig property is set to true.
Shaders are recompiled when needed and stored in a shader cache for efficiency.
MakeHuman passes scene and material information to the shaders by certain uniform
parameters. Depending on which shaderConfig properties were enabled, additional
uniforms could be exposed to the shader. The shader does not have to declare all
these uniforms, however. MakeHuman binds only those uniforms present in the shader
if they have the right corresponding names.
Other properties are available from the OpenGL built-in uniforms or properties
(usually starting with gl_).
The following table lists these defines and the shaderConfig properties in the
material they relate to:
{| class="wikitable"
|-
! shaderConfig
! shader #DEFINE
! exposed uniform parameters if enabled
! comment
|-
|default (always enabled)
|
|vec3 ambient, vec4 diffuse, vec4 specular, vec3 emissive
|diffuse and specular are 4-component color values, diffuse=[rgba] with a=opacity and specular=[rgbs] with s=shininess
|-
|vertexColors
|VERTEX_COLOR
|
|
|-
|diffuse
|DIFFUSE
|diffuseTexture
|
|-
|bump
|BUMPMAP
|bumpmapTexture, bumpmapIntensity
|disabled if normal mapping is enabled (restriction might be lifted in the future)
|-
|normal
|NORMALMAP
|normalmapTexture, normalmapIntensity
|
|-
|displacement
|DISPLACEMENT
|displacementmapTexture, displacementmapIntensity
|
|-
|spec
|SPECULARMAP
|specularmapTexture, specularmapIntensity
|
|-
|transparency
|TRANSPARENCYMAP
|transparencymapTexture, transparencymapIntensity
|
|-
|ambientOcclusion
|AOMAP
|aomapTexture, aomapIntensity
|
|}
Additionally, MakeHuman exposes the vertex tangent as a vertex property, which
can be accessed by the shader.
attribute vec4 tangent
Currently, [[http://www.terathon.com/code/tangent.html Lengyel’s Method]] for tangent calculation
is used, but plans are to change this to [[http://bugtracker.makehumancommunity.org/issues/87 mikktspace]] in the future.
Shader examples for MakeHuman can be found here:
* Litsphere shader: [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/litsphere_vertex_shader.txt vertex]] [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/litsphere_fragment_shader.txt fragment]]
* Phong shader: [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/phong_vertex_shader.txt vertex]] [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/phong_fragment_shader.txt fragment]]
* Normal map shader (wip): [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/normalmap_vertex_shader.txt vertex]] [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/normalmap_fragment_shader.txt fragment]]
* X-ray shader: [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/xray_vertex_shader.txt vertex]] [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/xray_fragment_shader.txt fragment]]
==== Custom shader properties ====
Shaders can use non-standard #DEFINEs to allow enabling or disabling non-standard shading features, other than the ones that were foreseen in the material format (such as normal mapping, ...)
To add new ones, simply add #ifdef SOME_FEATURE statements to your shader code, the material system will automatically detect them.
From the material, you can enable them with
shaderDefine SOME_FEATURE
If not defined, the feature is assumed to be switched off.
A custom shader can also add new parameters to tweak. For example a color value or intensity value that influences the shading.
To do this, the shader author can simply add new uniform variables to their shader code. It is recommended to specify a default
value for them, so that if the material file does not explicitly mention them, they receive a sensible default value.
Example: the X-ray shader adds an edge-fallof property:
uniform float edgefalloff = 1.0;
From the material file, you can influence this value with:
shaderParam edgefalloff 0.5
shaderParam supports lists of float values (one or multiple, divided by spaces), eg
shaderParam edgecolor 0.7 0.3 0.4
or textures, by specifying a path to an image file (in which case they are assumed to be Sampler2D type)
Additionally, from within MakeHuman, they can be passed a Texture object, to dynamically pass them a texture that resides in memory, without the need for the texture to be stored in a file on disk.
This allows to dynamically alter the texture and have it displayed directly. MakeHuman takes care of caching the texture and updating it when it is modified.
For example, the auto skin tone blending of the litsphere texture is implemented in this way.
The material system will automatically detect these custom uniform parameters declared in the shader, for example the material editor plugin will present them in the GUI.
These features make for a general and extensible shader system.
cb8163f8baecac6590aa09f24a463c9015699702
578
577
2016-01-27T16:20:05Z
Duststorm
19
/* Shaders */
wikitext
text/x-wiki
== Vertex weights ==
With vertex weights we intend a weighted mapping of vertices of a mesh to a bone of a skeleton. The weight is a value between 0 and 1, the sum of these weights for each vertex should be normalized, which means they should sum to 1 (note: no euclidian distance, just simple addition of all weights). A weight map in MakeHuman is expressed as a bone name (becomes a bone index internally, using the index of the bone in a breadth-first list relative to skeleton structure), a vertex name and a floating point weight between 0 and 1. This weighted vertex to bone mapping is used for skinning (posing and animating, using vertex skinning, smooth skinning or linear blend skinning algorithm). For the skinning algorithm to work correctly it’s required that the weights are always normalized, otherwise you will see vertices move out of place disproportionally (though the weight loading code in MakeHuman ensures that this normalization always happens, so this is not a concern to the artist that defines the weights). The vertex weights can be exported to external tools as well using formats such as collada (DAE), FBX, Ogre3D meshes or MD5 quake meshes.
=== Vertex weights and skeletons ===
Vertex weights are defined for the default “master” skeleton or rig. They are defined in a json file with jsonw extension. They link each vertex of the basemesh including helpers to a named bone of this master rig, together with a certain weight.
The weights loader automatically removes doubles and normalizes the weights (so that they sum to 1). It also reports what the maximum number of bone weights per vertex is, additionally it allows compiling the weights to a reduced set with n number of bone weights, and automatically renormalizes those weights so they, again, sum to 1.
When loading weights, any vertex that receives no weighting is assigned to the root bone, as this is needed for skinning to prevent all those vertices jumping to the origin (0*pos == 0).
Alternative skeletons can define their own weights, by referencing a weights file just like the master rig, or they can choose to derive their weights from the master rig, through so called reference bone mappings. Skeletons will derive their weights from the master rig if they do not specify a weights file explicitly. Custom vertex weights in alternative rigs override those defined on the master rig, except in the case where a proxy defines its own vertex weights. See section Vertex weights for proxies for more details.
=== Reference bones for vertex weights and poses ===
Reference bones are defined on alternative rigs, they are a list of names of bones contained in the master rig. Every bone of an alternative rig can have such a list of reference bones. An alternative rig can also omit these references if it uses the same name as bones in the master rig, in which the mapping is implicit. Having a list of bone references always overrides the implicit mapping. Reference bone mappings are required for two purposes.
They are used for mapping poses defined on the master rig to other rigs. All poses are defined as BVH files that pose the master rig, so they reference only the bone names of the master rig. Poses are applied to all other rigs by using the reference bone mapping: all the rotations that the pose applies to the referenced bones are combined (in the order in which the references were specified -- note: rotations are NOT commutative) and are applied to the alternative rig bone.
Reference bone mappings can also be used for determining vertex weights of custom rigs. If the alternative rig does not explicitly define its own vertex weights, the mapping of reference bones is used to infere a set of bone weights for each bone: All the weights of the reference bones on the master rig (with the weights definition of the default/master rig) are combined and apply to the bone of the alternative rig. Doubles are merged, and weights renormalized. Any vertex that is not weighted will be assigned to the root bone. Watch for messages in the log to verify this.
=== Vertex weights for proxies ===
Generally proxies are mapped to basemesh geometry, that means either to the body or to helpers, or a combination of both (though this is unusual). Proxies derive their vertex weights from the vertices on the basemesh on which they are fitted. A proxy defines its fitting as a 3d offset from one or three vertices on the basemesh, allowing it to deform as the human deforms. This mapping is used to transfer the vertex weights from basemesh to proxy: a proxy vertex referencing three basemesh vertices gets the bone weights of those three vertices. Doubles are merged and the weights are normalized, so that the influence factors are averaged or smoothed. In this case the weights applied to proxies are always those defined on the skeleton: either the weights explicitly defined on the skeleton, or the weights obtained from remapping the master rig weights to this skeleton using the reference bone mapping mentioned in the previous sections. There is an exception to this, which is explained in the next paragraph.
A proxy can explicitly define its own vertex (to bone) weights. In this case it overrides the weights that would be obtained through the proxy mapping, and replaces them by its own custom definition of weights. These vertex weights are always defined to reference the bones of the master rig (default skeleton), so they need to be remapped to other skeletons using reference bone mapping. This also means that the custom weights of a proxy override any custom weights mapping that might be loaded with an alternative rig (but only for that proxy item). Custom proxy weights should be avoided if possible, but are in some cases required, eg. for properly rigging shoes which are rigidly fitted to feet, or an alternative topology which defines very accurate rigging on the face. The general advice for custom rigs is therefore to stay as close to the master rig as possible, reusing as much bones identically as possible, to achieve the best results for proxies with custom weights.
In case of custom weight, the mhclo file must contain a line to indicate the weight file to use, using the keyword “vertexboneweights_file”, with the syntax:
vertexboneweights_file filename.jsonw
== Targets and modifiers ==
MakeHuman applies targets on the human by means of modifiers. Such a modifier has a value (usually between [0, 1] or [-1, 1]) that determines the effect of it on the human mesh. A modifier can control one or more targets and in apply the mixed sum of them on the mesh. Some modifiers.
=== Organization of targets ===
To make sure targets are linked to the right modifier, or to make managing targets easier, a certain discipline has to be observed in managing them. Targets are ASCII files in the data/targets or data/custom folder (in program or user folder) with a file extension of .target.
The file name and folder targets are in implicitly determines their group name. A group is identified by a sequence of tags or tokens, which are taken from the file and folder name of each target, and which can be delimited by “-” symbols, to include multiple tokens in a single file or folder name. The lib/targets.py module takes care of loading all the names of the available targets and assembles them into groups. All targets with the same tokens end up in the same group. This allows easy querying and requesting of targets. The creator is pretty much free to decide what groups to create for their targets. By passing the name of the target group to a modifier, they can make sure that modifier controls the targets belonging to this group. It does not matter whether you use folders or - delimited file names for creating groups.
An example:
data/targets/cartoon/eyes-large.target is categorized in group (cartoon, eyes, large)
data/targets/cartoon-eyes-large.target is also categorized in group (cartoon, eyes, large)
Most simple modifiers work by specifying a group (for example cartoon-eyes) and a set of two tokens to append at the end, depending on the position of the modifier slider (eg. small, large which would allow controlling the targets cartoon-eyes-small and cartoon-eyes-large by moving the slider to the left or right).
=== Reserved group tokens ===
Some of the tokens in the file or foldername of targets are linked to values that variables of the human can have. Such variables are for example age, weight, muscle, gender.
This table lists all the reserved tokens, and the variables they belong to.
{| class="wikitable"
|-
! Reserved token (value)
! Variable
|-
| female,male
| gender
|-
| baby, child, young, old
| age
|-
| african, caucasian, asian
| race
|-
| minmuscle, averagemuscle, maxmuscle
| muscle
|-
| minweight, averageweight, maxweight
| weight
|-
| minheight, averageheight, maxheight
| height
|-
| mincup, averagecup, maxcup
| breastsize
|-
| minfirmness, averagefirmness, maxfirmness
| breastfirmness
|-
| uncommonproportions, regularproportions, idealproportions
| bodyproportion
|}
Note that it is not a good idea to use simply “max” or “min” as a reserved token name, because they need to be unique (otherwise it would not be possible to determine whether they are a minimum for, for example, weight or height). These reserved tokens are declared in the lib/targets.py module. The variable can be set and queried on the human object, for example human.getAge(), human.setMuscle(0.7), human.getProportion().
The reserved tokens are NOT included in the group name, so you should at least include some other, non-reserved tokens in the file or folder names to assign your target to some meaningful group. The inclusion of these reserved tokens in your target names or paths makes it convenient to create macro modifiers.
=== Macro targets and modifiers ===
Macro modifiers are modifiers whose effect (the combination of targets they apply on the human) is influenced by macro variables set on the human (eg. human.set/getAge()). Therefore, macro modifiers often control a large set of targets (20 or even more). It’s also common for multiple modifiers to control exactly the same set of targets, for example the standard age/gender/race sliders all control the set of targets in the ‘macrodetails’ group. Each slider modifies a different variable (eg. human.setAge()) controlling the set of targets, and then reapplies a combination of the same set of targets on the human.
=== Macro modifier dependencies ===
There are other macro modifiers that can also depend on the same variables age, gender, race that is controlled by the main macro modifiers, as discussed above. For example the macro modifiers that influence the weight and muscle mass of the human, controls the targets group “macrodetails-universal”, the universal token is added by prepending “universal-” to all the file names of related targets, which all reside in the folder “macrodetails” (thus macrodetails-universal ends up being the group name). They could have been included all in the “macrodetails” group, but are kept separate for performance reasons, so that the “macrodetails” group of targets (which already contains some 40 targets or so) can be applied in realtime while moving the slider.
Of course a change in the variable that these age/race/gender modifiers control will have an effect on the macrodetails-universal modifiers (because they control targets that depend on age -- their targets include -young- -old- etc. tokens in their filenames). This means there are inter-dependencies between macro modifiers, if one is updated, another one that depends on it should be refreshed. These dependencies can be descibed as follows: one macro modifier controls exactly one macro variable (such as age). It (or rather, the targets it controls) can however depend on multiple macro variables. The trivial case is where a macro modifier only depends on the macro variable that it controls itself. The tracking of these dependencies and deciding which modifiers must be updated when another is changed happens automatically. Dependencies are automatically tracked as soon as you add a modifier to the human (by calling modifier.setHuman(human)). To make this more performant in real-time, the propagation of updates to modifiers is limited while sliders are dragged (see realtimeDependencyUpdates in apps/humanmodifier.py).
As you might have understood, creating modifiers that depend on human variables is almost automatic. The only thing you need to do is create some targets that resolve to the same group name, add variations for all the macro variables you want and add the proper reserved tokens to the file or folder name (refer to the left column in the table above), and create a modifier with this group name. Once added to the human, the dependencies are tracked automatically.
=== Organization of modifiers ===
We already discussed how we organized targets in groups, to make it easier to connect them to a modifier. Now we will discuss how we can do a similar thing for modifiers.
Modifiers provide an easy way to manage targets. They allow reducing many of hundreds of targets to a more manageable number of controllable properties. But even then, we still have about 100 modifiers, which is still quite a lot. Therefore we group them in groups of categories, much like we do in the GUI. This makes it easy to get a grouped overview of all modifiers when using an alternative interface, think of commandline or scripting. The way in which you declare the group and other properties of a modifier determines what target groups it gets its targets from.
Modifiers are declared with a group name, some intermediary “target name” and a number of tail tokens (2 or 3 usually, eg min/max). The group of targets controlled by these modifiers is composed as: groupname-targets_name-tail.
Macro modifiers are declared with a group name, and a controlled variable. The groupname must be the same groupname of the targets they control.
=== Declarative modifiers ===
Instead of hard coding what modifiers you want to instantiate, MakeHuman offers a data-based format to declare what modifiers should be created, and how they should be shown in a user interface with sliders.
A full declaration requires three files, all stored in data/modifiers. The first is the declaration of the modifiers (eg. modeling_modifiers.json). This format lists a modifier group name, and all the modifiers with their macro variable (if they are macro modifiers) or target name and 2 or 3 (if they are a modifier with a center point) tail tokens.
The second file adds a description to the modifiers declared in the first file. It basically contains a key-value set, referencing the modifier name, and a textual description of what the modifier controls. A modifier name is constructed as follows: group/targets_name-all|the|tails and for a macro modifier: group/variable
The third file defines how these modifiers should be shown in the user interface as sliders. It lists a set of categories, and the sliders to show in them, and how their values have to be saved in a mhm file (mainly a feature for legacy compatibility).
=== Your own plugin with modifiers, sliders and targets ===
Using the declarative data format described in the section above, it’s really simple. Have a look at the plugin plugins/0_modeling_0_modifiers.py. Notice it’s barely 5 lines of code. Creating your own modeling plugin is as simple as that, pointing it to your own modifier data files.
=== Binary targets ===
Because loading these ASCII target files, and iterating all target files and folders can be slow (especially on windows) in build versions, we compile all targets in the data/targets system folder into a single binary file, that furthermore acts exactly the same as multiple target files. The binary targets file is stored in the system data/ folder and is called targets.npz, it is created by running the compile_targets.py script, which is also automatically run in the build_prepare.py build routine. The file structure of the targets files is maintained in this binary file so that targets can be loaded from it in the same way as you would do with regular files. A change in the .target files, or newly added target files allow a recompilation of the targets npz file before the change is applied.
== Material format==
=== Introduction ===
MakeHuman material files have extension .mhmat and are simple ASCII definitions
of the material settings to use for rendering.
These material settings are primarily intended for configuring the material
system within MakeHuman, but they are usually carried out to other software as
well by the exporters.
Not all properties will be supported for all given combinations of shaders, nor
is there a guarantee that the exporters will honor all the properties in these
files.
Every 3D object in MakeHuman has exactly one material attached to it (multiple
materials are not possible, you need separate objects for that). Materials are
used for proxy meshes (clothes, hairs, ...) but also for the skin of the human
itself.
=== The Material System ===
The MakeHuman material system is closely based on the [[https://en.wikipedia.org/wiki/Rendering_equation standard rendering equation]]
as is used in OpenGL and DirectX forward rendering pipelines. MakeHuman supports
shaders and the material format contains the most commonly used extensions in
real-time rendering. As a consequence of this, users need to be aware of the
implications of setting values such as ambient too bright, or diffuse too dark.
All usual rules about rendering materials apply.
At the highest level, the material supports setting the most basic material
properties, such as diffuse, specular and ambient color. These are supported
both by shaders as well as the fixed function shading pipeline (which is used
when no shader is specified). Fixed function also supports the diffuse texture
option.
At a second level, a shader can be chosen. This refers directly to the filename
of a [[https://en.wikipedia.org/wiki/OpenGL_Shading_Language GLSL shader]] as found in the data/shaders/glsl folder of MakeHuman.
The selected shader will determine what material options will be available.
Various additional settings become available, depending on whether or not the
chosen shader has support for these features, such as bump or normal mapping,
ambient occlusion, specular mapping, etc.
For most of these, a texture map and a scalar property between 0 and 1 can be
set, the latter determining the intensity or influence of the effect.
Finally, MakeHuman also contains a built-in offline renderer that supports some
additional properties such as subsurface scattering, for which some special
properties are available.
=== Example ===
This is a full and complete (but fictional) example of a material file for MakeHuman, it shows all the available properties.
# Example MakeHuman Material definition
name Material_name
tag some_tag
tag another_tag
description material description text here
ambientColor 0.11 0.11 0.11
diffuseColor 1.0 1.0 1.0
specularColor 0.0470588235294 0.0470588235294 0.0470588235294
shininess 0.96
emissiveColor 0.0 0.0 0.0
opacity 1.0
translucency 0.0
shadeless False
wireframe False
transparent True
alphaToCoverage True
backfaceCull False
depthless False
autoBlendSkin False
castShadows True
receiveShadows True
diffuseTexture diffuse_texture.png
bumpmapTexture bumpmap.png
bumpmapIntensity 1.0
normalmapTexture normalmap.png
normalmapIntensity 1.0
displacementmapTexture norm_displacement.png
displacementmapIntensity 1.0
specularmapTexture specular.png
specularmapIntensity 1.0
transparencymapTexture alpha.png
transparencymapIntensity 1.0
aomapTexture ambient_occlusion_map.png
aomapIntensity 1.0
# Sub-surface scattering parameters
sssEnabled True
sssRScale 5.0
sssGScale 2.5
sssBScale 1.0
shader shaders/glsl/litsphere
shaderParam litsphereTexture litspheres/lit_hair.png
shaderConfig ambientOcclusion True
shaderConfig normal False
shaderConfig bump True
shaderConfig displacement False
shaderConfig vertexColors True
shaderConfig spec True
shaderConfig transparency True
shaderConfig diffuse True
shaderDefine ALPHA_MAP
uvMap alt_uv_coords.mhuv
This is another example, this time a real one. It is the X-ray material, used for example when showing the skeleton:
# Material definition for XrayMaterial
name XrayMaterial
ambientColor 0.1 0.1 0.1
diffuseColor 1.0 1.0 1.0
specularColor 0.3 0.3 0.3
shininess 0.1
emissiveColor 0.0 0.0 0.0
opacity 0.1
translucency 0.0
transparent True
backfaceCull True
shadeless False
wireframe False
depthless False
shader data/shaders/glsl/xray
shaderConfig diffuse False
shaderConfig transparency False
shaderConfig normal False
shaderConfig bump False
shaderConfig spec False
shaderConfig vertexColors False
shaderConfig displacement False
=== Explanation of material properties ===
=== Standard settings ===
''ambientColor'', ''diffuseColor'' ''specularColor'', ''emissiveColor'' are the standard colors
as used in the [[https://en.wikipedia.org/wiki/Rendering_equation rendering equation]]
or in standard OpenGL.
Their corresponding intensities are simple scalars with a value between 0 and 1 and are multiplied
with the colors to dim them. Default these intensities are set to 1.
Colors are described as three floating point numbers, representing R G B, or red-green-blue
values. 1 is the maximum, 0 the minimum.
For example 1.0 0 0 means fully red, 1 1 1 means full white, 0 0 0 is full black.
0.5 0.5 0.5 will give you a grey middle color.
''opacity'' determines the opaqueness of the object (alpha channel), with 1 being fully
opaque, and 0 being fully transparent (invisible)
''translucency'' is something that came from Blender but is unused
==== Render states ====
When ''wireframe'' is set to True, the model is drawn in wireframe mode. In this mode,
most material properties have no effect, but you can enable the vertexColors shaderConfig
to be able to change the color of the mesh using vertex colors (this requires
access to the mesh programatically, obj meshes do not support vertex colors).
This feature is used in some parts of MakeHuman, for example viewing bone weights
in the skeleton debug plugin.
Set ''shadeless'' to True to disable shading, eg. the object is not affected by lights.
Configured shader will have no effect
Set ''transparent'' to True to enable transparency rendering (usually needed when opacity is < 1)
In itself this does not change the visual appearance of the model, but this setting
should be enabled if your texture contains (semi-) transparent parts. This setting
instructs the renderer to disable depth buffer writes (glDepthMask(false))
and enables alpha testing and blending so that transparent surfaces can overlap and to allow [[https://www.opengl.org/wiki/Transparency_Sorting alpha blending]].
''alphaToCoverage'' Applies when transparent is set to True (otherwise does nothing).
It requires that your GPU supports alpha to coverage (A2C) rendering. It enables
the A2C feature which provides face order-independent alpha rendering. This works
very well for complex transparent meshes, like hair. At the cost of a slightly
dithered look, it solves all the problems with face sorting that are usually
involved in rendering semi transparency.
(This feature disables anti-aliasing for this object because the multisample buffer is used for alpha blending instead)
Set ''backfaceCull'' to False to disable backface culling (render the back side of polygons)
By default, and in most cases, this should be set to True, but can be useful
in some cases (for example, we disable back-face culling for the eyebrow materials).
Set ''depthless'' to True for depthless rendering (object is not occluded and does not occlude other objects).
This disables OpenGL depth writes and tests. In practice, this makes object faces that should be occluded shine through others.
''castShadows'' determines whether the object casts shadows on other objects.
''receiveShadows'' determines whether the object receives shadows from other objects.
For some features, like eyes, you probably want to disable shadow receiving.
Since MakeHuman does not (yet) implement shadow casting, the shadow settings have
no effect in MakeHuman, but they do export to other engines.
Play around with these settings in the Material Editor plugin to see their effect, that's the best advise I can give you.
The best way to find out which settings work for an asset, is simply to try them out.
==== autoBlendSkin ====
If True MakeHuman will set the diffuse color based on the ethnix mix set for the character.
Any diffuseColor set in the material file will be overridden by this.
Also the shaderParam litsphereTexture will be automatically set to a dynamically blended litsphere texture,
which is a mix of three litsphere materials (afro, asian, caucasian) depending on the ethnic mix of the character.
This latter is specifically intended to be used with the litsphere shader, and it is what you see as default material when you start MakeHuman
This overrides whatever shaderParam litsphereTexture was set in the material file.
This setting is intended only for skin materials.
==== shaderParam ====
Define a custom shader parameter (uniform), which might be required for some non-standard shaders.
For example, the litsphere shader takes an extra type of texture map as input, a so-called litsphere texture.
This generic system of mapping shader uniforms allows you to create specialised shaders that take
new and different kind of inputs, and allow configuring the shader from the material file.
shaderParam can be a list of floating point numbers, in which case it will be interpreted as a vector,
or it can be a file path, in which case it is assumed to be an image path.
Internally in MakeHuman, shaderParams can also be assigned a texture object, which allows
for dynamically passing a texture that is in memory, but perhaps not stored on disk.
Another example of a custom shaderParam is the X-ray shader that defines an edgefalloff
and intensity uniform parameter.
These could be changed from the material file with
shaderParam edgefalloff 0.8
shaderParam intensity 0.77
==== shaderDefine ====
shaderDefines allow enabling or disabling custom shading techniques in shaders.
These allow to define new shading techniques, apart from the pre-defined ones
such as normal mapping, specularity mapping, ...
It's a generic system that allows new shaders to be added and configured from
the material file, or from the material editor (which nicely auto-detects these
features in the shader and shows a set of checkboxes for them).
==== uvMap ====
Load custom UV coordinates on the mesh to use this material. This makes the material
completely dependent on the mesh it is used with.
Takes a path to a .mhuv file, which is actually just an .obj file, where the vertex
positions can be deleted (they can remain in there, but they are ignored).
Requirement for it to work is that the vertex order is the same as that of the
mesh obj.
An example uv map for the basemesh can be found in data/uvs/a7.mhuv, which is a
set of UV coordinates compatible with the old Alpha 7 mesh, allowing you to load
A7 textures on the new basemesh used in MakeHuman v1+
=== autoBlendSkin ===
If True the shaderParam litsphereTexture will be automatically set to a dynamically blended litsphere texture,
which is a mix of three litsphere materials (afro, asian, caucasian) depending on the ethnic mix of the character.
=== Basic pointers ===
* You can test the influence of material properties using the Material Editor plugin (which you can enable in Settings > Plugins, then restart)
* Using a diffuse texture? You probably want to set the diffuse color to 1 1 1 (pure white)
* Never set ambient color too bright, or your model will look completely white. 0.1 0.1 0.1 is a good value to start from.
* Emissive is usually set to black, unless you want a radioactive character
* Don't know how to define a color in numbers? Try the Material Editor plugin
* Higher shininess means smaller and sharper highlight, lower shininess makes the highlight larger and more blurred
* Reduce specular color to reduce the specularity, make it black for a rough and non shiny object
* opacity 1 means fully opaque, 0 means fully transparent (invisible)
=== Scene definition ===
To complete the rendering equation, you also need to define the scene. To be
more precise, the positions, types, color and intensities of the lights need to
be set. By default, MakeHuman only has a default scene with only one pointlight.
In MakeHuman, lights do not move if the camera is moved, or rather, the model is
rotated while the camera and lights remain static. So light positions are defined
relative to the camera position.
MakeHuman scenes are defined in .mhscene files, which are binary py-pickled files.
They can be created or modified using the Scene Editor plugin (can be enabled in
settings) and can be selected from the Scene library in the Render tab.
Fixed function shading pipeline supports up to 8 lights, specific light support
depends on the shader used, some shaders only support a certain type or number
of lights, other ignore the chosen scene altogether (for example the litsphere
shader that uses pre-baked environment lighting).
The built-in offline renderer also uses the specified scene.
Scenes are not exported along with the model.
=== Shaders ===
The most powerful functionality of the material system is unlocked when using
shaders.
MakeHuman shaders are intended to be written in a modular way, so that shading
features can be enabled or disabled using the material format. Examples of such
features are bump mapping, normal mapping, specular mapping, diffuse texturing,
ambient occlusion and displacement mapping.
MakeHuman includes a basic introspection function that allows it to determine
what features a shader supports. It accomplishes this by looking for #ifdef and #ifndef statements. If a shader supports a certain technique, it is supposed to
encapsulate this in #ifdef NORMALMAP ... #else ... #endif statements.
The idea is that of an [[http://www.gamedev.net/topic/659145-what-is-a-uber-shader/ über shader]], where performance is optimized by removing any dynamic branches (if then that) from shader code, and instead managing the features using defines and pre-processor branches.
When a different branch in the shader is activated, the shader code is recompiled entirely.
The material system manages these shading functions by defining specific pre-processor
keywords when their corresponding shaderConfig property is set to true.
Shaders are recompiled when needed and stored in a shader cache for efficiency.
MakeHuman passes scene and material information to the shaders by certain uniform
parameters. Depending on which shaderConfig properties were enabled, additional
uniforms could be exposed to the shader. The shader does not have to declare all
these uniforms, however. MakeHuman binds only those uniforms present in the shader
if they have the right corresponding names.
Other properties are available from the OpenGL built-in uniforms or properties
(usually starting with gl_).
The following table lists these defines and the shaderConfig properties in the
material they relate to:
{| class="wikitable"
|-
! shaderConfig
! shader #DEFINE
! exposed uniform parameters if enabled
! comment
|-
|default (always enabled)
|
|vec3 ambient, vec4 diffuse, vec4 specular, vec3 emissive
|diffuse and specular are 4-component color values, diffuse=[rgba] with a=opacity and specular=[rgbs] with s=shininess
|-
|vertexColors
|VERTEX_COLOR
|
|
|-
|diffuse
|DIFFUSE
|diffuseTexture
|
|-
|bump
|BUMPMAP
|bumpmapTexture, bumpmapIntensity
|disabled if normal mapping is enabled (restriction might be lifted in the future)
|-
|normal
|NORMALMAP
|normalmapTexture, normalmapIntensity
|
|-
|displacement
|DISPLACEMENT
|displacementmapTexture, displacementmapIntensity
|
|-
|spec
|SPECULARMAP
|specularmapTexture, specularmapIntensity
|
|-
|transparency
|TRANSPARENCYMAP
|transparencymapTexture, transparencymapIntensity
|
|-
|ambientOcclusion
|AOMAP
|aomapTexture, aomapIntensity
|
|}
Additionally, MakeHuman exposes the vertex tangent as a vertex property, which
can be accessed by the shader.
attribute vec4 tangent
Currently, [[http://www.terathon.com/code/tangent.html Lengyel’s Method]] for tangent calculation
is used, but plans are to change this to [[http://bugtracker.makehumancommunity.org/issues/87 mikktspace]] in the future.
Shader examples for MakeHuman can be found here:
* Litsphere shader: [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/litsphere_vertex_shader.txt vertex]] [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/litsphere_fragment_shader.txt fragment]]
* Phong shader: [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/phong_vertex_shader.txt vertex]] [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/phong_fragment_shader.txt fragment]]
* Normal map shader (wip): [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/normalmap_vertex_shader.txt vertex]] [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/normalmap_fragment_shader.txt fragment]]
* X-ray shader: [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/xray_vertex_shader.txt vertex]] [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/xray_fragment_shader.txt fragment]]
==== Custom shader properties ====
Shaders can use non-standard #DEFINEs to allow enabling or disabling non-standard shading features, other than the ones that were foreseen in the material format (such as normal mapping, ...)
To add new ones, simply add #ifdef SOME_FEATURE statements to your shader code, the material system will automatically detect them.
From the material, you can enable them with
shaderDefine SOME_FEATURE
If not defined, the feature is assumed to be switched off.
A custom shader can also add new parameters to tweak. For example a color value or intensity value that influences the shading.
To do this, the shader author can simply add new uniform variables to their shader code. It is recommended to specify a default
value for them, so that if the material file does not explicitly mention them, they receive a sensible default value.
Example: the X-ray shader adds an edge-fallof property:
uniform float edgefalloff = 1.0;
From the material file, you can influence this value with:
shaderParam edgefalloff 0.5
shaderParam supports lists of float values (one or multiple, divided by spaces), eg
shaderParam edgecolor 0.7 0.3 0.4
or textures, by specifying a path to an image file (in which case they are assumed to be Sampler2D type)
Additionally, from within MakeHuman, they can be passed a Texture object, to dynamically pass them a texture that resides in memory, without the need for the texture to be stored in a file on disk.
This allows to dynamically alter the texture and have it displayed directly. MakeHuman takes care of caching the texture and updating it when it is modified.
For example, the auto skin tone blending of the litsphere texture is implemented in this way.
The material system will automatically detect these custom uniform parameters declared in the shader, for example the material editor plugin will present them in the GUI.
These features make for a general and extensible shader system.
1fd85fd04c257228d62a8e5fdd34fb0c0a45595c
577
576
2016-01-27T16:13:37Z
Duststorm
19
/* Custom shader properties */
wikitext
text/x-wiki
== Vertex weights ==
With vertex weights we intend a weighted mapping of vertices of a mesh to a bone of a skeleton. The weight is a value between 0 and 1, the sum of these weights for each vertex should be normalized, which means they should sum to 1 (note: no euclidian distance, just simple addition of all weights). A weight map in MakeHuman is expressed as a bone name (becomes a bone index internally, using the index of the bone in a breadth-first list relative to skeleton structure), a vertex name and a floating point weight between 0 and 1. This weighted vertex to bone mapping is used for skinning (posing and animating, using vertex skinning, smooth skinning or linear blend skinning algorithm). For the skinning algorithm to work correctly it’s required that the weights are always normalized, otherwise you will see vertices move out of place disproportionally (though the weight loading code in MakeHuman ensures that this normalization always happens, so this is not a concern to the artist that defines the weights). The vertex weights can be exported to external tools as well using formats such as collada (DAE), FBX, Ogre3D meshes or MD5 quake meshes.
=== Vertex weights and skeletons ===
Vertex weights are defined for the default “master” skeleton or rig. They are defined in a json file with jsonw extension. They link each vertex of the basemesh including helpers to a named bone of this master rig, together with a certain weight.
The weights loader automatically removes doubles and normalizes the weights (so that they sum to 1). It also reports what the maximum number of bone weights per vertex is, additionally it allows compiling the weights to a reduced set with n number of bone weights, and automatically renormalizes those weights so they, again, sum to 1.
When loading weights, any vertex that receives no weighting is assigned to the root bone, as this is needed for skinning to prevent all those vertices jumping to the origin (0*pos == 0).
Alternative skeletons can define their own weights, by referencing a weights file just like the master rig, or they can choose to derive their weights from the master rig, through so called reference bone mappings. Skeletons will derive their weights from the master rig if they do not specify a weights file explicitly. Custom vertex weights in alternative rigs override those defined on the master rig, except in the case where a proxy defines its own vertex weights. See section Vertex weights for proxies for more details.
=== Reference bones for vertex weights and poses ===
Reference bones are defined on alternative rigs, they are a list of names of bones contained in the master rig. Every bone of an alternative rig can have such a list of reference bones. An alternative rig can also omit these references if it uses the same name as bones in the master rig, in which the mapping is implicit. Having a list of bone references always overrides the implicit mapping. Reference bone mappings are required for two purposes.
They are used for mapping poses defined on the master rig to other rigs. All poses are defined as BVH files that pose the master rig, so they reference only the bone names of the master rig. Poses are applied to all other rigs by using the reference bone mapping: all the rotations that the pose applies to the referenced bones are combined (in the order in which the references were specified -- note: rotations are NOT commutative) and are applied to the alternative rig bone.
Reference bone mappings can also be used for determining vertex weights of custom rigs. If the alternative rig does not explicitly define its own vertex weights, the mapping of reference bones is used to infere a set of bone weights for each bone: All the weights of the reference bones on the master rig (with the weights definition of the default/master rig) are combined and apply to the bone of the alternative rig. Doubles are merged, and weights renormalized. Any vertex that is not weighted will be assigned to the root bone. Watch for messages in the log to verify this.
=== Vertex weights for proxies ===
Generally proxies are mapped to basemesh geometry, that means either to the body or to helpers, or a combination of both (though this is unusual). Proxies derive their vertex weights from the vertices on the basemesh on which they are fitted. A proxy defines its fitting as a 3d offset from one or three vertices on the basemesh, allowing it to deform as the human deforms. This mapping is used to transfer the vertex weights from basemesh to proxy: a proxy vertex referencing three basemesh vertices gets the bone weights of those three vertices. Doubles are merged and the weights are normalized, so that the influence factors are averaged or smoothed. In this case the weights applied to proxies are always those defined on the skeleton: either the weights explicitly defined on the skeleton, or the weights obtained from remapping the master rig weights to this skeleton using the reference bone mapping mentioned in the previous sections. There is an exception to this, which is explained in the next paragraph.
A proxy can explicitly define its own vertex (to bone) weights. In this case it overrides the weights that would be obtained through the proxy mapping, and replaces them by its own custom definition of weights. These vertex weights are always defined to reference the bones of the master rig (default skeleton), so they need to be remapped to other skeletons using reference bone mapping. This also means that the custom weights of a proxy override any custom weights mapping that might be loaded with an alternative rig (but only for that proxy item). Custom proxy weights should be avoided if possible, but are in some cases required, eg. for properly rigging shoes which are rigidly fitted to feet, or an alternative topology which defines very accurate rigging on the face. The general advice for custom rigs is therefore to stay as close to the master rig as possible, reusing as much bones identically as possible, to achieve the best results for proxies with custom weights.
In case of custom weight, the mhclo file must contain a line to indicate the weight file to use, using the keyword “vertexboneweights_file”, with the syntax:
vertexboneweights_file filename.jsonw
== Targets and modifiers ==
MakeHuman applies targets on the human by means of modifiers. Such a modifier has a value (usually between [0, 1] or [-1, 1]) that determines the effect of it on the human mesh. A modifier can control one or more targets and in apply the mixed sum of them on the mesh. Some modifiers.
=== Organization of targets ===
To make sure targets are linked to the right modifier, or to make managing targets easier, a certain discipline has to be observed in managing them. Targets are ASCII files in the data/targets or data/custom folder (in program or user folder) with a file extension of .target.
The file name and folder targets are in implicitly determines their group name. A group is identified by a sequence of tags or tokens, which are taken from the file and folder name of each target, and which can be delimited by “-” symbols, to include multiple tokens in a single file or folder name. The lib/targets.py module takes care of loading all the names of the available targets and assembles them into groups. All targets with the same tokens end up in the same group. This allows easy querying and requesting of targets. The creator is pretty much free to decide what groups to create for their targets. By passing the name of the target group to a modifier, they can make sure that modifier controls the targets belonging to this group. It does not matter whether you use folders or - delimited file names for creating groups.
An example:
data/targets/cartoon/eyes-large.target is categorized in group (cartoon, eyes, large)
data/targets/cartoon-eyes-large.target is also categorized in group (cartoon, eyes, large)
Most simple modifiers work by specifying a group (for example cartoon-eyes) and a set of two tokens to append at the end, depending on the position of the modifier slider (eg. small, large which would allow controlling the targets cartoon-eyes-small and cartoon-eyes-large by moving the slider to the left or right).
=== Reserved group tokens ===
Some of the tokens in the file or foldername of targets are linked to values that variables of the human can have. Such variables are for example age, weight, muscle, gender.
This table lists all the reserved tokens, and the variables they belong to.
{| class="wikitable"
|-
! Reserved token (value)
! Variable
|-
| female,male
| gender
|-
| baby, child, young, old
| age
|-
| african, caucasian, asian
| race
|-
| minmuscle, averagemuscle, maxmuscle
| muscle
|-
| minweight, averageweight, maxweight
| weight
|-
| minheight, averageheight, maxheight
| height
|-
| mincup, averagecup, maxcup
| breastsize
|-
| minfirmness, averagefirmness, maxfirmness
| breastfirmness
|-
| uncommonproportions, regularproportions, idealproportions
| bodyproportion
|}
Note that it is not a good idea to use simply “max” or “min” as a reserved token name, because they need to be unique (otherwise it would not be possible to determine whether they are a minimum for, for example, weight or height). These reserved tokens are declared in the lib/targets.py module. The variable can be set and queried on the human object, for example human.getAge(), human.setMuscle(0.7), human.getProportion().
The reserved tokens are NOT included in the group name, so you should at least include some other, non-reserved tokens in the file or folder names to assign your target to some meaningful group. The inclusion of these reserved tokens in your target names or paths makes it convenient to create macro modifiers.
=== Macro targets and modifiers ===
Macro modifiers are modifiers whose effect (the combination of targets they apply on the human) is influenced by macro variables set on the human (eg. human.set/getAge()). Therefore, macro modifiers often control a large set of targets (20 or even more). It’s also common for multiple modifiers to control exactly the same set of targets, for example the standard age/gender/race sliders all control the set of targets in the ‘macrodetails’ group. Each slider modifies a different variable (eg. human.setAge()) controlling the set of targets, and then reapplies a combination of the same set of targets on the human.
=== Macro modifier dependencies ===
There are other macro modifiers that can also depend on the same variables age, gender, race that is controlled by the main macro modifiers, as discussed above. For example the macro modifiers that influence the weight and muscle mass of the human, controls the targets group “macrodetails-universal”, the universal token is added by prepending “universal-” to all the file names of related targets, which all reside in the folder “macrodetails” (thus macrodetails-universal ends up being the group name). They could have been included all in the “macrodetails” group, but are kept separate for performance reasons, so that the “macrodetails” group of targets (which already contains some 40 targets or so) can be applied in realtime while moving the slider.
Of course a change in the variable that these age/race/gender modifiers control will have an effect on the macrodetails-universal modifiers (because they control targets that depend on age -- their targets include -young- -old- etc. tokens in their filenames). This means there are inter-dependencies between macro modifiers, if one is updated, another one that depends on it should be refreshed. These dependencies can be descibed as follows: one macro modifier controls exactly one macro variable (such as age). It (or rather, the targets it controls) can however depend on multiple macro variables. The trivial case is where a macro modifier only depends on the macro variable that it controls itself. The tracking of these dependencies and deciding which modifiers must be updated when another is changed happens automatically. Dependencies are automatically tracked as soon as you add a modifier to the human (by calling modifier.setHuman(human)). To make this more performant in real-time, the propagation of updates to modifiers is limited while sliders are dragged (see realtimeDependencyUpdates in apps/humanmodifier.py).
As you might have understood, creating modifiers that depend on human variables is almost automatic. The only thing you need to do is create some targets that resolve to the same group name, add variations for all the macro variables you want and add the proper reserved tokens to the file or folder name (refer to the left column in the table above), and create a modifier with this group name. Once added to the human, the dependencies are tracked automatically.
=== Organization of modifiers ===
We already discussed how we organized targets in groups, to make it easier to connect them to a modifier. Now we will discuss how we can do a similar thing for modifiers.
Modifiers provide an easy way to manage targets. They allow reducing many of hundreds of targets to a more manageable number of controllable properties. But even then, we still have about 100 modifiers, which is still quite a lot. Therefore we group them in groups of categories, much like we do in the GUI. This makes it easy to get a grouped overview of all modifiers when using an alternative interface, think of commandline or scripting. The way in which you declare the group and other properties of a modifier determines what target groups it gets its targets from.
Modifiers are declared with a group name, some intermediary “target name” and a number of tail tokens (2 or 3 usually, eg min/max). The group of targets controlled by these modifiers is composed as: groupname-targets_name-tail.
Macro modifiers are declared with a group name, and a controlled variable. The groupname must be the same groupname of the targets they control.
=== Declarative modifiers ===
Instead of hard coding what modifiers you want to instantiate, MakeHuman offers a data-based format to declare what modifiers should be created, and how they should be shown in a user interface with sliders.
A full declaration requires three files, all stored in data/modifiers. The first is the declaration of the modifiers (eg. modeling_modifiers.json). This format lists a modifier group name, and all the modifiers with their macro variable (if they are macro modifiers) or target name and 2 or 3 (if they are a modifier with a center point) tail tokens.
The second file adds a description to the modifiers declared in the first file. It basically contains a key-value set, referencing the modifier name, and a textual description of what the modifier controls. A modifier name is constructed as follows: group/targets_name-all|the|tails and for a macro modifier: group/variable
The third file defines how these modifiers should be shown in the user interface as sliders. It lists a set of categories, and the sliders to show in them, and how their values have to be saved in a mhm file (mainly a feature for legacy compatibility).
=== Your own plugin with modifiers, sliders and targets ===
Using the declarative data format described in the section above, it’s really simple. Have a look at the plugin plugins/0_modeling_0_modifiers.py. Notice it’s barely 5 lines of code. Creating your own modeling plugin is as simple as that, pointing it to your own modifier data files.
=== Binary targets ===
Because loading these ASCII target files, and iterating all target files and folders can be slow (especially on windows) in build versions, we compile all targets in the data/targets system folder into a single binary file, that furthermore acts exactly the same as multiple target files. The binary targets file is stored in the system data/ folder and is called targets.npz, it is created by running the compile_targets.py script, which is also automatically run in the build_prepare.py build routine. The file structure of the targets files is maintained in this binary file so that targets can be loaded from it in the same way as you would do with regular files. A change in the .target files, or newly added target files allow a recompilation of the targets npz file before the change is applied.
== Material format==
=== Introduction ===
MakeHuman material files have extension .mhmat and are simple ASCII definitions
of the material settings to use for rendering.
These material settings are primarily intended for configuring the material
system within MakeHuman, but they are usually carried out to other software as
well by the exporters.
Not all properties will be supported for all given combinations of shaders, nor
is there a guarantee that the exporters will honor all the properties in these
files.
Every 3D object in MakeHuman has exactly one material attached to it (multiple
materials are not possible, you need separate objects for that). Materials are
used for proxy meshes (clothes, hairs, ...) but also for the skin of the human
itself.
=== The Material System ===
The MakeHuman material system is closely based on the [[https://en.wikipedia.org/wiki/Rendering_equation standard rendering equation]]
as is used in OpenGL and DirectX forward rendering pipelines. MakeHuman supports
shaders and the material format contains the most commonly used extensions in
real-time rendering. As a consequence of this, users need to be aware of the
implications of setting values such as ambient too bright, or diffuse too dark.
All usual rules about rendering materials apply.
At the highest level, the material supports setting the most basic material
properties, such as diffuse, specular and ambient color. These are supported
both by shaders as well as the fixed function shading pipeline (which is used
when no shader is specified). Fixed function also supports the diffuse texture
option.
At a second level, a shader can be chosen. This refers directly to the filename
of a [[https://en.wikipedia.org/wiki/OpenGL_Shading_Language GLSL shader]] as found in the data/shaders/glsl folder of MakeHuman.
The selected shader will determine what material options will be available.
Various additional settings become available, depending on whether or not the
chosen shader has support for these features, such as bump or normal mapping,
ambient occlusion, specular mapping, etc.
For most of these, a texture map and a scalar property between 0 and 1 can be
set, the latter determining the intensity or influence of the effect.
Finally, MakeHuman also contains a built-in offline renderer that supports some
additional properties such as subsurface scattering, for which some special
properties are available.
=== Example ===
This is a full and complete (but fictional) example of a material file for MakeHuman, it shows all the available properties.
# Example MakeHuman Material definition
name Material_name
tag some_tag
tag another_tag
description material description text here
ambientColor 0.11 0.11 0.11
diffuseColor 1.0 1.0 1.0
specularColor 0.0470588235294 0.0470588235294 0.0470588235294
shininess 0.96
emissiveColor 0.0 0.0 0.0
opacity 1.0
translucency 0.0
shadeless False
wireframe False
transparent True
alphaToCoverage True
backfaceCull False
depthless False
autoBlendSkin False
castShadows True
receiveShadows True
diffuseTexture diffuse_texture.png
bumpmapTexture bumpmap.png
bumpmapIntensity 1.0
normalmapTexture normalmap.png
normalmapIntensity 1.0
displacementmapTexture norm_displacement.png
displacementmapIntensity 1.0
specularmapTexture specular.png
specularmapIntensity 1.0
transparencymapTexture alpha.png
transparencymapIntensity 1.0
aomapTexture ambient_occlusion_map.png
aomapIntensity 1.0
# Sub-surface scattering parameters
sssEnabled True
sssRScale 5.0
sssGScale 2.5
sssBScale 1.0
shader shaders/glsl/litsphere
shaderParam litsphereTexture litspheres/lit_hair.png
shaderConfig ambientOcclusion True
shaderConfig normal False
shaderConfig bump True
shaderConfig displacement False
shaderConfig vertexColors True
shaderConfig spec True
shaderConfig transparency True
shaderConfig diffuse True
shaderDefine ALPHA_MAP
uvMap alt_uv_coords.mhuv
This is another example, this time a real one. It is the X-ray material, used for example when showing the skeleton:
# Material definition for XrayMaterial
name XrayMaterial
ambientColor 0.1 0.1 0.1
diffuseColor 1.0 1.0 1.0
specularColor 0.3 0.3 0.3
shininess 0.1
emissiveColor 0.0 0.0 0.0
opacity 0.1
translucency 0.0
transparent True
backfaceCull True
shadeless False
wireframe False
depthless False
shader data/shaders/glsl/xray
shaderConfig diffuse False
shaderConfig transparency False
shaderConfig normal False
shaderConfig bump False
shaderConfig spec False
shaderConfig vertexColors False
shaderConfig displacement False
=== Explanation of material properties ===
=== Standard settings ===
''ambientColor'', ''diffuseColor'' ''specularColor'', ''emissiveColor'' are the standard colors
as used in the [[https://en.wikipedia.org/wiki/Rendering_equation rendering equation]]
or in standard OpenGL.
Their corresponding intensities are simple scalars with a value between 0 and 1 and are multiplied
with the colors to dim them. Default these intensities are set to 1.
Colors are described as three floating point numbers, representing R G B, or red-green-blue
values. 1 is the maximum, 0 the minimum.
For example 1.0 0 0 means fully red, 1 1 1 means full white, 0 0 0 is full black.
0.5 0.5 0.5 will give you a grey middle color.
''opacity'' determines the opaqueness of the object (alpha channel), with 1 being fully
opaque, and 0 being fully transparent (invisible)
''translucency'' is something that came from Blender but is unused
==== Render states ====
When ''wireframe'' is set to True, the model is drawn in wireframe mode. In this mode,
most material properties have no effect, but you can enable the vertexColors shaderConfig
to be able to change the color of the mesh using vertex colors (this requires
access to the mesh programatically, obj meshes do not support vertex colors).
This feature is used in some parts of MakeHuman, for example viewing bone weights
in the skeleton debug plugin.
Set ''shadeless'' to True to disable shading, eg. the object is not affected by lights.
Configured shader will have no effect
Set ''transparent'' to True to enable transparency rendering (usually needed when opacity is < 1)
In itself this does not change the visual appearance of the model, but this setting
should be enabled if your texture contains (semi-) transparent parts. This setting
instructs the renderer to disable depth buffer writes (glDepthMask(false))
and enables alpha testing and blending so that transparent surfaces can overlap and to allow [[https://www.opengl.org/wiki/Transparency_Sorting alpha blending]].
''alphaToCoverage'' Applies when transparent is set to True (otherwise does nothing).
It requires that your GPU supports alpha to coverage (A2C) rendering. It enables
the A2C feature which provides face order-independent alpha rendering. This works
very well for complex transparent meshes, like hair. At the cost of a slightly
dithered look, it solves all the problems with face sorting that are usually
involved in rendering semi transparency.
(This feature disables anti-aliasing for this object because the multisample buffer is used for alpha blending instead)
Set ''backfaceCull'' to False to disable backface culling (render the back side of polygons)
By default, and in most cases, this should be set to True, but can be useful
in some cases (for example, we disable back-face culling for the eyebrow materials).
Set ''depthless'' to True for depthless rendering (object is not occluded and does not occlude other objects).
This disables OpenGL depth writes and tests. In practice, this makes object faces that should be occluded shine through others.
''castShadows'' determines whether the object casts shadows on other objects.
''receiveShadows'' determines whether the object receives shadows from other objects.
For some features, like eyes, you probably want to disable shadow receiving.
Since MakeHuman does not (yet) implement shadow casting, the shadow settings have
no effect in MakeHuman, but they do export to other engines.
Play around with these settings in the Material Editor plugin to see their effect, that's the best advise I can give you.
The best way to find out which settings work for an asset, is simply to try them out.
==== autoBlendSkin ====
If True MakeHuman will set the diffuse color based on the ethnix mix set for the character.
Any diffuseColor set in the material file will be overridden by this.
Also the shaderParam litsphereTexture will be automatically set to a dynamically blended litsphere texture,
which is a mix of three litsphere materials (afro, asian, caucasian) depending on the ethnic mix of the character.
This latter is specifically intended to be used with the litsphere shader, and it is what you see as default material when you start MakeHuman
This overrides whatever shaderParam litsphereTexture was set in the material file.
This setting is intended only for skin materials.
==== shaderParam ====
Define a custom shader parameter (uniform), which might be required for some non-standard shaders.
For example, the litsphere shader takes an extra type of texture map as input, a so-called litsphere texture.
This generic system of mapping shader uniforms allows you to create specialised shaders that take
new and different kind of inputs, and allow configuring the shader from the material file.
shaderParam can be a list of floating point numbers, in which case it will be interpreted as a vector,
or it can be a file path, in which case it is assumed to be an image path.
Internally in MakeHuman, shaderParams can also be assigned a texture object, which allows
for dynamically passing a texture that is in memory, but perhaps not stored on disk.
Another example of a custom shaderParam is the X-ray shader that defines an edgefalloff
and intensity uniform parameter.
These could be changed from the material file with
shaderParam edgefalloff 0.8
shaderParam intensity 0.77
==== shaderDefine ====
shaderDefines allow enabling or disabling custom shading techniques in shaders.
These allow to define new shading techniques, apart from the pre-defined ones
such as normal mapping, specularity mapping, ...
It's a generic system that allows new shaders to be added and configured from
the material file, or from the material editor (which nicely auto-detects these
features in the shader and shows a set of checkboxes for them).
==== uvMap ====
Load custom UV coordinates on the mesh to use this material. This makes the material
completely dependent on the mesh it is used with.
Takes a path to a .mhuv file, which is actually just an .obj file, where the vertex
positions can be deleted (they can remain in there, but they are ignored).
Requirement for it to work is that the vertex order is the same as that of the
mesh obj.
An example uv map for the basemesh can be found in data/uvs/a7.mhuv, which is a
set of UV coordinates compatible with the old Alpha 7 mesh, allowing you to load
A7 textures on the new basemesh used in MakeHuman v1+
=== autoBlendSkin ===
If True the shaderParam litsphereTexture will be automatically set to a dynamically blended litsphere texture,
which is a mix of three litsphere materials (afro, asian, caucasian) depending on the ethnic mix of the character.
=== Basic pointers ===
* You can test the influence of material properties using the Material Editor plugin (which you can enable in Settings > Plugins, then restart)
* Using a diffuse texture? You probably want to set the diffuse color to 1 1 1 (pure white)
* Never set ambient color too bright, or your model will look completely white. 0.1 0.1 0.1 is a good value to start from.
* Emissive is usually set to black, unless you want a radioactive character
* Don't know how to define a color in numbers? Try the Material Editor plugin
* Higher shininess means smaller and sharper highlight, lower shininess makes the highlight larger and more blurred
* Reduce specular color to reduce the specularity, make it black for a rough and non shiny object
* opacity 1 means fully opaque, 0 means fully transparent (invisible)
=== Scene definition ===
To complete the rendering equation, you also need to define the scene. To be
more precise, the positions, types, color and intensities of the lights need to
be set. By default, MakeHuman only has a default scene with only one pointlight.
In MakeHuman, lights do not move if the camera is moved, or rather, the model is
rotated while the camera and lights remain static. So light positions are defined
relative to the camera position.
MakeHuman scenes are defined in .mhscene files, which are binary py-pickled files.
They can be created or modified using the Scene Editor plugin (can be enabled in
settings) and can be selected from the Scene library in the Render tab.
Fixed function shading pipeline supports up to 8 lights, specific light support
depends on the shader used, some shaders only support a certain type or number
of lights, other ignore the chosen scene altogether (for example the litsphere
shader that uses pre-baked environment lighting).
The built-in offline renderer also uses the specified scene.
Scenes are not exported along with the model.
=== Shaders ===
The most powerful functionality of the material system is unlocked when using
shaders.
MakeHuman shaders are intended to be written in a modular way, so that shading
features can be enabled or disabled using the material format. Examples of such
features are bump mapping, normal mapping, specular mapping, diffuse texturing,
ambient occlusion and displacement mapping.
MakeHuman includes a basic introspection function that allows it to determine
what features a shader supports. It accomplishes this by looking for #ifdef and #ifndef statements. If a shader supports a certain technique, it is supposed to
encapsulate this in #ifdef NORMALMAP ... #else ... #endif statements.
The material system manages these shading functions by defining specific pre-processor
keywords when their corresponding shaderConfig property is set to true.
Shaders are recompiled when needed and stored in a shader cache for efficiency.
MakeHuman passes scene and material information to the shaders by certain uniform
parameters. Depending on which shaderConfig properties were enabled, additional
uniforms could be exposed to the shader. The shader does not have to declare all
these uniforms, however. MakeHuman binds only those uniforms present in the shader
if they have the right corresponding names.
Other properties are available from the OpenGL built-in uniforms or properties
(usually starting with gl_).
The following table lists these defines and the shaderConfig properties in the
material they relate to:
{| class="wikitable"
|-
! shaderConfig
! shader #DEFINE
! exposed uniform parameters if enabled
! comment
|-
|default (always enabled)
|
|vec3 ambient, vec4 diffuse, vec4 specular, vec3 emissive
|diffuse and specular are 4-component color values, diffuse=[rgba] with a=opacity and specular=[rgbs] with s=shininess
|-
|vertexColors
|VERTEX_COLOR
|
|
|-
|diffuse
|DIFFUSE
|diffuseTexture
|
|-
|bump
|BUMPMAP
|bumpmapTexture, bumpmapIntensity
|disabled if normal mapping is enabled (restriction might be lifted in the future)
|-
|normal
|NORMALMAP
|normalmapTexture, normalmapIntensity
|
|-
|displacement
|DISPLACEMENT
|displacementmapTexture, displacementmapIntensity
|
|-
|spec
|SPECULARMAP
|specularmapTexture, specularmapIntensity
|
|-
|transparency
|TRANSPARENCYMAP
|transparencymapTexture, transparencymapIntensity
|
|-
|ambientOcclusion
|AOMAP
|aomapTexture, aomapIntensity
|
|}
Additionally, MakeHuman exposes the vertex tangent as a vertex property, which
can be accessed by the shader.
attribute vec4 tangent
Currently, [[http://www.terathon.com/code/tangent.html Lengyel’s Method]] for tangent calculation
is used, but plans are to change this to [[http://bugtracker.makehumancommunity.org/issues/87 mikktspace]] in the future.
Shader examples for MakeHuman can be found here:
* Litsphere shader: [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/litsphere_vertex_shader.txt vertex]] [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/litsphere_fragment_shader.txt fragment]]
* Phong shader: [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/phong_vertex_shader.txt vertex]] [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/phong_fragment_shader.txt fragment]]
* Normal map shader (wip): [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/normalmap_vertex_shader.txt vertex]] [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/normalmap_fragment_shader.txt fragment]]
* X-ray shader: [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/xray_vertex_shader.txt vertex]] [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/xray_fragment_shader.txt fragment]]
==== Custom shader properties ====
Shaders can use non-standard #DEFINEs to allow enabling or disabling non-standard shading features, other than the ones that were foreseen in the material format (such as normal mapping, ...)
To add new ones, simply add #ifdef SOME_FEATURE statements to your shader code, the material system will automatically detect them.
From the material, you can enable them with
shaderDefine SOME_FEATURE
If not defined, the feature is assumed to be switched off.
A custom shader can also add new parameters to tweak. For example a color value or intensity value that influences the shading.
To do this, the shader author can simply add new uniform variables to their shader code. It is recommended to specify a default
value for them, so that if the material file does not explicitly mention them, they receive a sensible default value.
Example: the X-ray shader adds an edge-fallof property:
uniform float edgefalloff = 1.0;
From the material file, you can influence this value with:
shaderParam edgefalloff 0.5
shaderParam supports lists of float values (one or multiple, divided by spaces), eg
shaderParam edgecolor 0.7 0.3 0.4
or textures, by specifying a path to an image file (in which case they are assumed to be Sampler2D type)
Additionally, from within MakeHuman, they can be passed a Texture object, to dynamically pass them a texture that resides in memory, without the need for the texture to be stored in a file on disk.
This allows to dynamically alter the texture and have it displayed directly. MakeHuman takes care of caching the texture and updating it when it is modified.
For example, the auto skin tone blending of the litsphere texture is implemented in this way.
The material system will automatically detect these custom uniform parameters declared in the shader, for example the material editor plugin will present them in the GUI.
These features make for a general and extensible shader system.
5896b123679e162677486757cfa9da2645970b64
576
575
2016-01-27T16:13:05Z
Duststorm
19
/* Shaders */
wikitext
text/x-wiki
== Vertex weights ==
With vertex weights we intend a weighted mapping of vertices of a mesh to a bone of a skeleton. The weight is a value between 0 and 1, the sum of these weights for each vertex should be normalized, which means they should sum to 1 (note: no euclidian distance, just simple addition of all weights). A weight map in MakeHuman is expressed as a bone name (becomes a bone index internally, using the index of the bone in a breadth-first list relative to skeleton structure), a vertex name and a floating point weight between 0 and 1. This weighted vertex to bone mapping is used for skinning (posing and animating, using vertex skinning, smooth skinning or linear blend skinning algorithm). For the skinning algorithm to work correctly it’s required that the weights are always normalized, otherwise you will see vertices move out of place disproportionally (though the weight loading code in MakeHuman ensures that this normalization always happens, so this is not a concern to the artist that defines the weights). The vertex weights can be exported to external tools as well using formats such as collada (DAE), FBX, Ogre3D meshes or MD5 quake meshes.
=== Vertex weights and skeletons ===
Vertex weights are defined for the default “master” skeleton or rig. They are defined in a json file with jsonw extension. They link each vertex of the basemesh including helpers to a named bone of this master rig, together with a certain weight.
The weights loader automatically removes doubles and normalizes the weights (so that they sum to 1). It also reports what the maximum number of bone weights per vertex is, additionally it allows compiling the weights to a reduced set with n number of bone weights, and automatically renormalizes those weights so they, again, sum to 1.
When loading weights, any vertex that receives no weighting is assigned to the root bone, as this is needed for skinning to prevent all those vertices jumping to the origin (0*pos == 0).
Alternative skeletons can define their own weights, by referencing a weights file just like the master rig, or they can choose to derive their weights from the master rig, through so called reference bone mappings. Skeletons will derive their weights from the master rig if they do not specify a weights file explicitly. Custom vertex weights in alternative rigs override those defined on the master rig, except in the case where a proxy defines its own vertex weights. See section Vertex weights for proxies for more details.
=== Reference bones for vertex weights and poses ===
Reference bones are defined on alternative rigs, they are a list of names of bones contained in the master rig. Every bone of an alternative rig can have such a list of reference bones. An alternative rig can also omit these references if it uses the same name as bones in the master rig, in which the mapping is implicit. Having a list of bone references always overrides the implicit mapping. Reference bone mappings are required for two purposes.
They are used for mapping poses defined on the master rig to other rigs. All poses are defined as BVH files that pose the master rig, so they reference only the bone names of the master rig. Poses are applied to all other rigs by using the reference bone mapping: all the rotations that the pose applies to the referenced bones are combined (in the order in which the references were specified -- note: rotations are NOT commutative) and are applied to the alternative rig bone.
Reference bone mappings can also be used for determining vertex weights of custom rigs. If the alternative rig does not explicitly define its own vertex weights, the mapping of reference bones is used to infere a set of bone weights for each bone: All the weights of the reference bones on the master rig (with the weights definition of the default/master rig) are combined and apply to the bone of the alternative rig. Doubles are merged, and weights renormalized. Any vertex that is not weighted will be assigned to the root bone. Watch for messages in the log to verify this.
=== Vertex weights for proxies ===
Generally proxies are mapped to basemesh geometry, that means either to the body or to helpers, or a combination of both (though this is unusual). Proxies derive their vertex weights from the vertices on the basemesh on which they are fitted. A proxy defines its fitting as a 3d offset from one or three vertices on the basemesh, allowing it to deform as the human deforms. This mapping is used to transfer the vertex weights from basemesh to proxy: a proxy vertex referencing three basemesh vertices gets the bone weights of those three vertices. Doubles are merged and the weights are normalized, so that the influence factors are averaged or smoothed. In this case the weights applied to proxies are always those defined on the skeleton: either the weights explicitly defined on the skeleton, or the weights obtained from remapping the master rig weights to this skeleton using the reference bone mapping mentioned in the previous sections. There is an exception to this, which is explained in the next paragraph.
A proxy can explicitly define its own vertex (to bone) weights. In this case it overrides the weights that would be obtained through the proxy mapping, and replaces them by its own custom definition of weights. These vertex weights are always defined to reference the bones of the master rig (default skeleton), so they need to be remapped to other skeletons using reference bone mapping. This also means that the custom weights of a proxy override any custom weights mapping that might be loaded with an alternative rig (but only for that proxy item). Custom proxy weights should be avoided if possible, but are in some cases required, eg. for properly rigging shoes which are rigidly fitted to feet, or an alternative topology which defines very accurate rigging on the face. The general advice for custom rigs is therefore to stay as close to the master rig as possible, reusing as much bones identically as possible, to achieve the best results for proxies with custom weights.
In case of custom weight, the mhclo file must contain a line to indicate the weight file to use, using the keyword “vertexboneweights_file”, with the syntax:
vertexboneweights_file filename.jsonw
== Targets and modifiers ==
MakeHuman applies targets on the human by means of modifiers. Such a modifier has a value (usually between [0, 1] or [-1, 1]) that determines the effect of it on the human mesh. A modifier can control one or more targets and in apply the mixed sum of them on the mesh. Some modifiers.
=== Organization of targets ===
To make sure targets are linked to the right modifier, or to make managing targets easier, a certain discipline has to be observed in managing them. Targets are ASCII files in the data/targets or data/custom folder (in program or user folder) with a file extension of .target.
The file name and folder targets are in implicitly determines their group name. A group is identified by a sequence of tags or tokens, which are taken from the file and folder name of each target, and which can be delimited by “-” symbols, to include multiple tokens in a single file or folder name. The lib/targets.py module takes care of loading all the names of the available targets and assembles them into groups. All targets with the same tokens end up in the same group. This allows easy querying and requesting of targets. The creator is pretty much free to decide what groups to create for their targets. By passing the name of the target group to a modifier, they can make sure that modifier controls the targets belonging to this group. It does not matter whether you use folders or - delimited file names for creating groups.
An example:
data/targets/cartoon/eyes-large.target is categorized in group (cartoon, eyes, large)
data/targets/cartoon-eyes-large.target is also categorized in group (cartoon, eyes, large)
Most simple modifiers work by specifying a group (for example cartoon-eyes) and a set of two tokens to append at the end, depending on the position of the modifier slider (eg. small, large which would allow controlling the targets cartoon-eyes-small and cartoon-eyes-large by moving the slider to the left or right).
=== Reserved group tokens ===
Some of the tokens in the file or foldername of targets are linked to values that variables of the human can have. Such variables are for example age, weight, muscle, gender.
This table lists all the reserved tokens, and the variables they belong to.
{| class="wikitable"
|-
! Reserved token (value)
! Variable
|-
| female,male
| gender
|-
| baby, child, young, old
| age
|-
| african, caucasian, asian
| race
|-
| minmuscle, averagemuscle, maxmuscle
| muscle
|-
| minweight, averageweight, maxweight
| weight
|-
| minheight, averageheight, maxheight
| height
|-
| mincup, averagecup, maxcup
| breastsize
|-
| minfirmness, averagefirmness, maxfirmness
| breastfirmness
|-
| uncommonproportions, regularproportions, idealproportions
| bodyproportion
|}
Note that it is not a good idea to use simply “max” or “min” as a reserved token name, because they need to be unique (otherwise it would not be possible to determine whether they are a minimum for, for example, weight or height). These reserved tokens are declared in the lib/targets.py module. The variable can be set and queried on the human object, for example human.getAge(), human.setMuscle(0.7), human.getProportion().
The reserved tokens are NOT included in the group name, so you should at least include some other, non-reserved tokens in the file or folder names to assign your target to some meaningful group. The inclusion of these reserved tokens in your target names or paths makes it convenient to create macro modifiers.
=== Macro targets and modifiers ===
Macro modifiers are modifiers whose effect (the combination of targets they apply on the human) is influenced by macro variables set on the human (eg. human.set/getAge()). Therefore, macro modifiers often control a large set of targets (20 or even more). It’s also common for multiple modifiers to control exactly the same set of targets, for example the standard age/gender/race sliders all control the set of targets in the ‘macrodetails’ group. Each slider modifies a different variable (eg. human.setAge()) controlling the set of targets, and then reapplies a combination of the same set of targets on the human.
=== Macro modifier dependencies ===
There are other macro modifiers that can also depend on the same variables age, gender, race that is controlled by the main macro modifiers, as discussed above. For example the macro modifiers that influence the weight and muscle mass of the human, controls the targets group “macrodetails-universal”, the universal token is added by prepending “universal-” to all the file names of related targets, which all reside in the folder “macrodetails” (thus macrodetails-universal ends up being the group name). They could have been included all in the “macrodetails” group, but are kept separate for performance reasons, so that the “macrodetails” group of targets (which already contains some 40 targets or so) can be applied in realtime while moving the slider.
Of course a change in the variable that these age/race/gender modifiers control will have an effect on the macrodetails-universal modifiers (because they control targets that depend on age -- their targets include -young- -old- etc. tokens in their filenames). This means there are inter-dependencies between macro modifiers, if one is updated, another one that depends on it should be refreshed. These dependencies can be descibed as follows: one macro modifier controls exactly one macro variable (such as age). It (or rather, the targets it controls) can however depend on multiple macro variables. The trivial case is where a macro modifier only depends on the macro variable that it controls itself. The tracking of these dependencies and deciding which modifiers must be updated when another is changed happens automatically. Dependencies are automatically tracked as soon as you add a modifier to the human (by calling modifier.setHuman(human)). To make this more performant in real-time, the propagation of updates to modifiers is limited while sliders are dragged (see realtimeDependencyUpdates in apps/humanmodifier.py).
As you might have understood, creating modifiers that depend on human variables is almost automatic. The only thing you need to do is create some targets that resolve to the same group name, add variations for all the macro variables you want and add the proper reserved tokens to the file or folder name (refer to the left column in the table above), and create a modifier with this group name. Once added to the human, the dependencies are tracked automatically.
=== Organization of modifiers ===
We already discussed how we organized targets in groups, to make it easier to connect them to a modifier. Now we will discuss how we can do a similar thing for modifiers.
Modifiers provide an easy way to manage targets. They allow reducing many of hundreds of targets to a more manageable number of controllable properties. But even then, we still have about 100 modifiers, which is still quite a lot. Therefore we group them in groups of categories, much like we do in the GUI. This makes it easy to get a grouped overview of all modifiers when using an alternative interface, think of commandline or scripting. The way in which you declare the group and other properties of a modifier determines what target groups it gets its targets from.
Modifiers are declared with a group name, some intermediary “target name” and a number of tail tokens (2 or 3 usually, eg min/max). The group of targets controlled by these modifiers is composed as: groupname-targets_name-tail.
Macro modifiers are declared with a group name, and a controlled variable. The groupname must be the same groupname of the targets they control.
=== Declarative modifiers ===
Instead of hard coding what modifiers you want to instantiate, MakeHuman offers a data-based format to declare what modifiers should be created, and how they should be shown in a user interface with sliders.
A full declaration requires three files, all stored in data/modifiers. The first is the declaration of the modifiers (eg. modeling_modifiers.json). This format lists a modifier group name, and all the modifiers with their macro variable (if they are macro modifiers) or target name and 2 or 3 (if they are a modifier with a center point) tail tokens.
The second file adds a description to the modifiers declared in the first file. It basically contains a key-value set, referencing the modifier name, and a textual description of what the modifier controls. A modifier name is constructed as follows: group/targets_name-all|the|tails and for a macro modifier: group/variable
The third file defines how these modifiers should be shown in the user interface as sliders. It lists a set of categories, and the sliders to show in them, and how their values have to be saved in a mhm file (mainly a feature for legacy compatibility).
=== Your own plugin with modifiers, sliders and targets ===
Using the declarative data format described in the section above, it’s really simple. Have a look at the plugin plugins/0_modeling_0_modifiers.py. Notice it’s barely 5 lines of code. Creating your own modeling plugin is as simple as that, pointing it to your own modifier data files.
=== Binary targets ===
Because loading these ASCII target files, and iterating all target files and folders can be slow (especially on windows) in build versions, we compile all targets in the data/targets system folder into a single binary file, that furthermore acts exactly the same as multiple target files. The binary targets file is stored in the system data/ folder and is called targets.npz, it is created by running the compile_targets.py script, which is also automatically run in the build_prepare.py build routine. The file structure of the targets files is maintained in this binary file so that targets can be loaded from it in the same way as you would do with regular files. A change in the .target files, or newly added target files allow a recompilation of the targets npz file before the change is applied.
== Material format==
=== Introduction ===
MakeHuman material files have extension .mhmat and are simple ASCII definitions
of the material settings to use for rendering.
These material settings are primarily intended for configuring the material
system within MakeHuman, but they are usually carried out to other software as
well by the exporters.
Not all properties will be supported for all given combinations of shaders, nor
is there a guarantee that the exporters will honor all the properties in these
files.
Every 3D object in MakeHuman has exactly one material attached to it (multiple
materials are not possible, you need separate objects for that). Materials are
used for proxy meshes (clothes, hairs, ...) but also for the skin of the human
itself.
=== The Material System ===
The MakeHuman material system is closely based on the [[https://en.wikipedia.org/wiki/Rendering_equation standard rendering equation]]
as is used in OpenGL and DirectX forward rendering pipelines. MakeHuman supports
shaders and the material format contains the most commonly used extensions in
real-time rendering. As a consequence of this, users need to be aware of the
implications of setting values such as ambient too bright, or diffuse too dark.
All usual rules about rendering materials apply.
At the highest level, the material supports setting the most basic material
properties, such as diffuse, specular and ambient color. These are supported
both by shaders as well as the fixed function shading pipeline (which is used
when no shader is specified). Fixed function also supports the diffuse texture
option.
At a second level, a shader can be chosen. This refers directly to the filename
of a [[https://en.wikipedia.org/wiki/OpenGL_Shading_Language GLSL shader]] as found in the data/shaders/glsl folder of MakeHuman.
The selected shader will determine what material options will be available.
Various additional settings become available, depending on whether or not the
chosen shader has support for these features, such as bump or normal mapping,
ambient occlusion, specular mapping, etc.
For most of these, a texture map and a scalar property between 0 and 1 can be
set, the latter determining the intensity or influence of the effect.
Finally, MakeHuman also contains a built-in offline renderer that supports some
additional properties such as subsurface scattering, for which some special
properties are available.
=== Example ===
This is a full and complete (but fictional) example of a material file for MakeHuman, it shows all the available properties.
# Example MakeHuman Material definition
name Material_name
tag some_tag
tag another_tag
description material description text here
ambientColor 0.11 0.11 0.11
diffuseColor 1.0 1.0 1.0
specularColor 0.0470588235294 0.0470588235294 0.0470588235294
shininess 0.96
emissiveColor 0.0 0.0 0.0
opacity 1.0
translucency 0.0
shadeless False
wireframe False
transparent True
alphaToCoverage True
backfaceCull False
depthless False
autoBlendSkin False
castShadows True
receiveShadows True
diffuseTexture diffuse_texture.png
bumpmapTexture bumpmap.png
bumpmapIntensity 1.0
normalmapTexture normalmap.png
normalmapIntensity 1.0
displacementmapTexture norm_displacement.png
displacementmapIntensity 1.0
specularmapTexture specular.png
specularmapIntensity 1.0
transparencymapTexture alpha.png
transparencymapIntensity 1.0
aomapTexture ambient_occlusion_map.png
aomapIntensity 1.0
# Sub-surface scattering parameters
sssEnabled True
sssRScale 5.0
sssGScale 2.5
sssBScale 1.0
shader shaders/glsl/litsphere
shaderParam litsphereTexture litspheres/lit_hair.png
shaderConfig ambientOcclusion True
shaderConfig normal False
shaderConfig bump True
shaderConfig displacement False
shaderConfig vertexColors True
shaderConfig spec True
shaderConfig transparency True
shaderConfig diffuse True
shaderDefine ALPHA_MAP
uvMap alt_uv_coords.mhuv
This is another example, this time a real one. It is the X-ray material, used for example when showing the skeleton:
# Material definition for XrayMaterial
name XrayMaterial
ambientColor 0.1 0.1 0.1
diffuseColor 1.0 1.0 1.0
specularColor 0.3 0.3 0.3
shininess 0.1
emissiveColor 0.0 0.0 0.0
opacity 0.1
translucency 0.0
transparent True
backfaceCull True
shadeless False
wireframe False
depthless False
shader data/shaders/glsl/xray
shaderConfig diffuse False
shaderConfig transparency False
shaderConfig normal False
shaderConfig bump False
shaderConfig spec False
shaderConfig vertexColors False
shaderConfig displacement False
=== Explanation of material properties ===
=== Standard settings ===
''ambientColor'', ''diffuseColor'' ''specularColor'', ''emissiveColor'' are the standard colors
as used in the [[https://en.wikipedia.org/wiki/Rendering_equation rendering equation]]
or in standard OpenGL.
Their corresponding intensities are simple scalars with a value between 0 and 1 and are multiplied
with the colors to dim them. Default these intensities are set to 1.
Colors are described as three floating point numbers, representing R G B, or red-green-blue
values. 1 is the maximum, 0 the minimum.
For example 1.0 0 0 means fully red, 1 1 1 means full white, 0 0 0 is full black.
0.5 0.5 0.5 will give you a grey middle color.
''opacity'' determines the opaqueness of the object (alpha channel), with 1 being fully
opaque, and 0 being fully transparent (invisible)
''translucency'' is something that came from Blender but is unused
==== Render states ====
When ''wireframe'' is set to True, the model is drawn in wireframe mode. In this mode,
most material properties have no effect, but you can enable the vertexColors shaderConfig
to be able to change the color of the mesh using vertex colors (this requires
access to the mesh programatically, obj meshes do not support vertex colors).
This feature is used in some parts of MakeHuman, for example viewing bone weights
in the skeleton debug plugin.
Set ''shadeless'' to True to disable shading, eg. the object is not affected by lights.
Configured shader will have no effect
Set ''transparent'' to True to enable transparency rendering (usually needed when opacity is < 1)
In itself this does not change the visual appearance of the model, but this setting
should be enabled if your texture contains (semi-) transparent parts. This setting
instructs the renderer to disable depth buffer writes (glDepthMask(false))
and enables alpha testing and blending so that transparent surfaces can overlap and to allow [[https://www.opengl.org/wiki/Transparency_Sorting alpha blending]].
''alphaToCoverage'' Applies when transparent is set to True (otherwise does nothing).
It requires that your GPU supports alpha to coverage (A2C) rendering. It enables
the A2C feature which provides face order-independent alpha rendering. This works
very well for complex transparent meshes, like hair. At the cost of a slightly
dithered look, it solves all the problems with face sorting that are usually
involved in rendering semi transparency.
(This feature disables anti-aliasing for this object because the multisample buffer is used for alpha blending instead)
Set ''backfaceCull'' to False to disable backface culling (render the back side of polygons)
By default, and in most cases, this should be set to True, but can be useful
in some cases (for example, we disable back-face culling for the eyebrow materials).
Set ''depthless'' to True for depthless rendering (object is not occluded and does not occlude other objects).
This disables OpenGL depth writes and tests. In practice, this makes object faces that should be occluded shine through others.
''castShadows'' determines whether the object casts shadows on other objects.
''receiveShadows'' determines whether the object receives shadows from other objects.
For some features, like eyes, you probably want to disable shadow receiving.
Since MakeHuman does not (yet) implement shadow casting, the shadow settings have
no effect in MakeHuman, but they do export to other engines.
Play around with these settings in the Material Editor plugin to see their effect, that's the best advise I can give you.
The best way to find out which settings work for an asset, is simply to try them out.
==== autoBlendSkin ====
If True MakeHuman will set the diffuse color based on the ethnix mix set for the character.
Any diffuseColor set in the material file will be overridden by this.
Also the shaderParam litsphereTexture will be automatically set to a dynamically blended litsphere texture,
which is a mix of three litsphere materials (afro, asian, caucasian) depending on the ethnic mix of the character.
This latter is specifically intended to be used with the litsphere shader, and it is what you see as default material when you start MakeHuman
This overrides whatever shaderParam litsphereTexture was set in the material file.
This setting is intended only for skin materials.
==== shaderParam ====
Define a custom shader parameter (uniform), which might be required for some non-standard shaders.
For example, the litsphere shader takes an extra type of texture map as input, a so-called litsphere texture.
This generic system of mapping shader uniforms allows you to create specialised shaders that take
new and different kind of inputs, and allow configuring the shader from the material file.
shaderParam can be a list of floating point numbers, in which case it will be interpreted as a vector,
or it can be a file path, in which case it is assumed to be an image path.
Internally in MakeHuman, shaderParams can also be assigned a texture object, which allows
for dynamically passing a texture that is in memory, but perhaps not stored on disk.
Another example of a custom shaderParam is the X-ray shader that defines an edgefalloff
and intensity uniform parameter.
These could be changed from the material file with
shaderParam edgefalloff 0.8
shaderParam intensity 0.77
==== shaderDefine ====
shaderDefines allow enabling or disabling custom shading techniques in shaders.
These allow to define new shading techniques, apart from the pre-defined ones
such as normal mapping, specularity mapping, ...
It's a generic system that allows new shaders to be added and configured from
the material file, or from the material editor (which nicely auto-detects these
features in the shader and shows a set of checkboxes for them).
==== uvMap ====
Load custom UV coordinates on the mesh to use this material. This makes the material
completely dependent on the mesh it is used with.
Takes a path to a .mhuv file, which is actually just an .obj file, where the vertex
positions can be deleted (they can remain in there, but they are ignored).
Requirement for it to work is that the vertex order is the same as that of the
mesh obj.
An example uv map for the basemesh can be found in data/uvs/a7.mhuv, which is a
set of UV coordinates compatible with the old Alpha 7 mesh, allowing you to load
A7 textures on the new basemesh used in MakeHuman v1+
=== autoBlendSkin ===
If True the shaderParam litsphereTexture will be automatically set to a dynamically blended litsphere texture,
which is a mix of three litsphere materials (afro, asian, caucasian) depending on the ethnic mix of the character.
=== Basic pointers ===
* You can test the influence of material properties using the Material Editor plugin (which you can enable in Settings > Plugins, then restart)
* Using a diffuse texture? You probably want to set the diffuse color to 1 1 1 (pure white)
* Never set ambient color too bright, or your model will look completely white. 0.1 0.1 0.1 is a good value to start from.
* Emissive is usually set to black, unless you want a radioactive character
* Don't know how to define a color in numbers? Try the Material Editor plugin
* Higher shininess means smaller and sharper highlight, lower shininess makes the highlight larger and more blurred
* Reduce specular color to reduce the specularity, make it black for a rough and non shiny object
* opacity 1 means fully opaque, 0 means fully transparent (invisible)
=== Scene definition ===
To complete the rendering equation, you also need to define the scene. To be
more precise, the positions, types, color and intensities of the lights need to
be set. By default, MakeHuman only has a default scene with only one pointlight.
In MakeHuman, lights do not move if the camera is moved, or rather, the model is
rotated while the camera and lights remain static. So light positions are defined
relative to the camera position.
MakeHuman scenes are defined in .mhscene files, which are binary py-pickled files.
They can be created or modified using the Scene Editor plugin (can be enabled in
settings) and can be selected from the Scene library in the Render tab.
Fixed function shading pipeline supports up to 8 lights, specific light support
depends on the shader used, some shaders only support a certain type or number
of lights, other ignore the chosen scene altogether (for example the litsphere
shader that uses pre-baked environment lighting).
The built-in offline renderer also uses the specified scene.
Scenes are not exported along with the model.
=== Shaders ===
The most powerful functionality of the material system is unlocked when using
shaders.
MakeHuman shaders are intended to be written in a modular way, so that shading
features can be enabled or disabled using the material format. Examples of such
features are bump mapping, normal mapping, specular mapping, diffuse texturing,
ambient occlusion and displacement mapping.
MakeHuman includes a basic introspection function that allows it to determine
what features a shader supports. It accomplishes this by looking for #ifdef and #ifndef statements. If a shader supports a certain technique, it is supposed to
encapsulate this in #ifdef NORMALMAP ... #else ... #endif statements.
The material system manages these shading functions by defining specific pre-processor
keywords when their corresponding shaderConfig property is set to true.
Shaders are recompiled when needed and stored in a shader cache for efficiency.
MakeHuman passes scene and material information to the shaders by certain uniform
parameters. Depending on which shaderConfig properties were enabled, additional
uniforms could be exposed to the shader. The shader does not have to declare all
these uniforms, however. MakeHuman binds only those uniforms present in the shader
if they have the right corresponding names.
Other properties are available from the OpenGL built-in uniforms or properties
(usually starting with gl_).
The following table lists these defines and the shaderConfig properties in the
material they relate to:
{| class="wikitable"
|-
! shaderConfig
! shader #DEFINE
! exposed uniform parameters if enabled
! comment
|-
|default (always enabled)
|
|vec3 ambient, vec4 diffuse, vec4 specular, vec3 emissive
|diffuse and specular are 4-component color values, diffuse=[rgba] with a=opacity and specular=[rgbs] with s=shininess
|-
|vertexColors
|VERTEX_COLOR
|
|
|-
|diffuse
|DIFFUSE
|diffuseTexture
|
|-
|bump
|BUMPMAP
|bumpmapTexture, bumpmapIntensity
|disabled if normal mapping is enabled (restriction might be lifted in the future)
|-
|normal
|NORMALMAP
|normalmapTexture, normalmapIntensity
|
|-
|displacement
|DISPLACEMENT
|displacementmapTexture, displacementmapIntensity
|
|-
|spec
|SPECULARMAP
|specularmapTexture, specularmapIntensity
|
|-
|transparency
|TRANSPARENCYMAP
|transparencymapTexture, transparencymapIntensity
|
|-
|ambientOcclusion
|AOMAP
|aomapTexture, aomapIntensity
|
|}
Additionally, MakeHuman exposes the vertex tangent as a vertex property, which
can be accessed by the shader.
attribute vec4 tangent
Currently, [[http://www.terathon.com/code/tangent.html Lengyel’s Method]] for tangent calculation
is used, but plans are to change this to [[http://bugtracker.makehumancommunity.org/issues/87 mikktspace]] in the future.
Shader examples for MakeHuman can be found here:
* Litsphere shader: [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/litsphere_vertex_shader.txt vertex]] [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/litsphere_fragment_shader.txt fragment]]
* Phong shader: [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/phong_vertex_shader.txt vertex]] [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/phong_fragment_shader.txt fragment]]
* Normal map shader (wip): [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/normalmap_vertex_shader.txt vertex]] [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/normalmap_fragment_shader.txt fragment]]
* X-ray shader: [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/xray_vertex_shader.txt vertex]] [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/xray_fragment_shader.txt fragment]]
==== Custom shader properties ====
Shaders can use non-standard #DEFINEs to allow enabling or disabling non-standard shading features, other than the ones that were foreseen in the material format (such as normal mapping, ...)
To add new ones, simply add #ifdef SOME_FEATURE statements to your shader code, the material system will automatically detect them.
From the material, you can enable them with
shaderDefine SOME_FEATURE
If not defined, the feature is assumed to be switched off.
A custom shader can also add new parameters to tweak. For example a color value or intensity value that influences the shading.
To do this, the shader author can simply add new uniform variables to their shader code. It is recommended to specify a default
value for them, so that if the material file does not explicitly mention them, they receive a sensible default value.
Example: the X-ray shader adds an edge-fallof property:
uniform float edgefalloff = 1.0;
From the material file, you can influence this value with:
shaderParam edgefalloff 0.5
shaderParam supports lists of float values (one or multiple, divided by spaces), eg
shaderParam edgecolor 0.7 0.3 0.4
or textures, by specifying a path to an image file (in which case they are assumed to be Sampler2D type)
Additionally, from within MakeHuman, they can be passed a Texture object, to dynamically pass them a texture that resides in memory, without the need for the texture to be stored in a file on disk.
This allows to dynamically alter the texture and have it displayed directly. MakeHuman takes care of caching the texture and updating it when it is modified.
For example, the auto skin tone blending of the litsphere texture is implemented in this way.
The material system will automatically detect these custom uniform parameters declared in the shader, for example the material editor plugin will present them in the GUI.
172ddb6c35cef22af5348a73b495631f8913e76f
575
574
2016-01-27T16:03:29Z
Duststorm
19
/* Standard settings */
wikitext
text/x-wiki
== Vertex weights ==
With vertex weights we intend a weighted mapping of vertices of a mesh to a bone of a skeleton. The weight is a value between 0 and 1, the sum of these weights for each vertex should be normalized, which means they should sum to 1 (note: no euclidian distance, just simple addition of all weights). A weight map in MakeHuman is expressed as a bone name (becomes a bone index internally, using the index of the bone in a breadth-first list relative to skeleton structure), a vertex name and a floating point weight between 0 and 1. This weighted vertex to bone mapping is used for skinning (posing and animating, using vertex skinning, smooth skinning or linear blend skinning algorithm). For the skinning algorithm to work correctly it’s required that the weights are always normalized, otherwise you will see vertices move out of place disproportionally (though the weight loading code in MakeHuman ensures that this normalization always happens, so this is not a concern to the artist that defines the weights). The vertex weights can be exported to external tools as well using formats such as collada (DAE), FBX, Ogre3D meshes or MD5 quake meshes.
=== Vertex weights and skeletons ===
Vertex weights are defined for the default “master” skeleton or rig. They are defined in a json file with jsonw extension. They link each vertex of the basemesh including helpers to a named bone of this master rig, together with a certain weight.
The weights loader automatically removes doubles and normalizes the weights (so that they sum to 1). It also reports what the maximum number of bone weights per vertex is, additionally it allows compiling the weights to a reduced set with n number of bone weights, and automatically renormalizes those weights so they, again, sum to 1.
When loading weights, any vertex that receives no weighting is assigned to the root bone, as this is needed for skinning to prevent all those vertices jumping to the origin (0*pos == 0).
Alternative skeletons can define their own weights, by referencing a weights file just like the master rig, or they can choose to derive their weights from the master rig, through so called reference bone mappings. Skeletons will derive their weights from the master rig if they do not specify a weights file explicitly. Custom vertex weights in alternative rigs override those defined on the master rig, except in the case where a proxy defines its own vertex weights. See section Vertex weights for proxies for more details.
=== Reference bones for vertex weights and poses ===
Reference bones are defined on alternative rigs, they are a list of names of bones contained in the master rig. Every bone of an alternative rig can have such a list of reference bones. An alternative rig can also omit these references if it uses the same name as bones in the master rig, in which the mapping is implicit. Having a list of bone references always overrides the implicit mapping. Reference bone mappings are required for two purposes.
They are used for mapping poses defined on the master rig to other rigs. All poses are defined as BVH files that pose the master rig, so they reference only the bone names of the master rig. Poses are applied to all other rigs by using the reference bone mapping: all the rotations that the pose applies to the referenced bones are combined (in the order in which the references were specified -- note: rotations are NOT commutative) and are applied to the alternative rig bone.
Reference bone mappings can also be used for determining vertex weights of custom rigs. If the alternative rig does not explicitly define its own vertex weights, the mapping of reference bones is used to infere a set of bone weights for each bone: All the weights of the reference bones on the master rig (with the weights definition of the default/master rig) are combined and apply to the bone of the alternative rig. Doubles are merged, and weights renormalized. Any vertex that is not weighted will be assigned to the root bone. Watch for messages in the log to verify this.
=== Vertex weights for proxies ===
Generally proxies are mapped to basemesh geometry, that means either to the body or to helpers, or a combination of both (though this is unusual). Proxies derive their vertex weights from the vertices on the basemesh on which they are fitted. A proxy defines its fitting as a 3d offset from one or three vertices on the basemesh, allowing it to deform as the human deforms. This mapping is used to transfer the vertex weights from basemesh to proxy: a proxy vertex referencing three basemesh vertices gets the bone weights of those three vertices. Doubles are merged and the weights are normalized, so that the influence factors are averaged or smoothed. In this case the weights applied to proxies are always those defined on the skeleton: either the weights explicitly defined on the skeleton, or the weights obtained from remapping the master rig weights to this skeleton using the reference bone mapping mentioned in the previous sections. There is an exception to this, which is explained in the next paragraph.
A proxy can explicitly define its own vertex (to bone) weights. In this case it overrides the weights that would be obtained through the proxy mapping, and replaces them by its own custom definition of weights. These vertex weights are always defined to reference the bones of the master rig (default skeleton), so they need to be remapped to other skeletons using reference bone mapping. This also means that the custom weights of a proxy override any custom weights mapping that might be loaded with an alternative rig (but only for that proxy item). Custom proxy weights should be avoided if possible, but are in some cases required, eg. for properly rigging shoes which are rigidly fitted to feet, or an alternative topology which defines very accurate rigging on the face. The general advice for custom rigs is therefore to stay as close to the master rig as possible, reusing as much bones identically as possible, to achieve the best results for proxies with custom weights.
In case of custom weight, the mhclo file must contain a line to indicate the weight file to use, using the keyword “vertexboneweights_file”, with the syntax:
vertexboneweights_file filename.jsonw
== Targets and modifiers ==
MakeHuman applies targets on the human by means of modifiers. Such a modifier has a value (usually between [0, 1] or [-1, 1]) that determines the effect of it on the human mesh. A modifier can control one or more targets and in apply the mixed sum of them on the mesh. Some modifiers.
=== Organization of targets ===
To make sure targets are linked to the right modifier, or to make managing targets easier, a certain discipline has to be observed in managing them. Targets are ASCII files in the data/targets or data/custom folder (in program or user folder) with a file extension of .target.
The file name and folder targets are in implicitly determines their group name. A group is identified by a sequence of tags or tokens, which are taken from the file and folder name of each target, and which can be delimited by “-” symbols, to include multiple tokens in a single file or folder name. The lib/targets.py module takes care of loading all the names of the available targets and assembles them into groups. All targets with the same tokens end up in the same group. This allows easy querying and requesting of targets. The creator is pretty much free to decide what groups to create for their targets. By passing the name of the target group to a modifier, they can make sure that modifier controls the targets belonging to this group. It does not matter whether you use folders or - delimited file names for creating groups.
An example:
data/targets/cartoon/eyes-large.target is categorized in group (cartoon, eyes, large)
data/targets/cartoon-eyes-large.target is also categorized in group (cartoon, eyes, large)
Most simple modifiers work by specifying a group (for example cartoon-eyes) and a set of two tokens to append at the end, depending on the position of the modifier slider (eg. small, large which would allow controlling the targets cartoon-eyes-small and cartoon-eyes-large by moving the slider to the left or right).
=== Reserved group tokens ===
Some of the tokens in the file or foldername of targets are linked to values that variables of the human can have. Such variables are for example age, weight, muscle, gender.
This table lists all the reserved tokens, and the variables they belong to.
{| class="wikitable"
|-
! Reserved token (value)
! Variable
|-
| female,male
| gender
|-
| baby, child, young, old
| age
|-
| african, caucasian, asian
| race
|-
| minmuscle, averagemuscle, maxmuscle
| muscle
|-
| minweight, averageweight, maxweight
| weight
|-
| minheight, averageheight, maxheight
| height
|-
| mincup, averagecup, maxcup
| breastsize
|-
| minfirmness, averagefirmness, maxfirmness
| breastfirmness
|-
| uncommonproportions, regularproportions, idealproportions
| bodyproportion
|}
Note that it is not a good idea to use simply “max” or “min” as a reserved token name, because they need to be unique (otherwise it would not be possible to determine whether they are a minimum for, for example, weight or height). These reserved tokens are declared in the lib/targets.py module. The variable can be set and queried on the human object, for example human.getAge(), human.setMuscle(0.7), human.getProportion().
The reserved tokens are NOT included in the group name, so you should at least include some other, non-reserved tokens in the file or folder names to assign your target to some meaningful group. The inclusion of these reserved tokens in your target names or paths makes it convenient to create macro modifiers.
=== Macro targets and modifiers ===
Macro modifiers are modifiers whose effect (the combination of targets they apply on the human) is influenced by macro variables set on the human (eg. human.set/getAge()). Therefore, macro modifiers often control a large set of targets (20 or even more). It’s also common for multiple modifiers to control exactly the same set of targets, for example the standard age/gender/race sliders all control the set of targets in the ‘macrodetails’ group. Each slider modifies a different variable (eg. human.setAge()) controlling the set of targets, and then reapplies a combination of the same set of targets on the human.
=== Macro modifier dependencies ===
There are other macro modifiers that can also depend on the same variables age, gender, race that is controlled by the main macro modifiers, as discussed above. For example the macro modifiers that influence the weight and muscle mass of the human, controls the targets group “macrodetails-universal”, the universal token is added by prepending “universal-” to all the file names of related targets, which all reside in the folder “macrodetails” (thus macrodetails-universal ends up being the group name). They could have been included all in the “macrodetails” group, but are kept separate for performance reasons, so that the “macrodetails” group of targets (which already contains some 40 targets or so) can be applied in realtime while moving the slider.
Of course a change in the variable that these age/race/gender modifiers control will have an effect on the macrodetails-universal modifiers (because they control targets that depend on age -- their targets include -young- -old- etc. tokens in their filenames). This means there are inter-dependencies between macro modifiers, if one is updated, another one that depends on it should be refreshed. These dependencies can be descibed as follows: one macro modifier controls exactly one macro variable (such as age). It (or rather, the targets it controls) can however depend on multiple macro variables. The trivial case is where a macro modifier only depends on the macro variable that it controls itself. The tracking of these dependencies and deciding which modifiers must be updated when another is changed happens automatically. Dependencies are automatically tracked as soon as you add a modifier to the human (by calling modifier.setHuman(human)). To make this more performant in real-time, the propagation of updates to modifiers is limited while sliders are dragged (see realtimeDependencyUpdates in apps/humanmodifier.py).
As you might have understood, creating modifiers that depend on human variables is almost automatic. The only thing you need to do is create some targets that resolve to the same group name, add variations for all the macro variables you want and add the proper reserved tokens to the file or folder name (refer to the left column in the table above), and create a modifier with this group name. Once added to the human, the dependencies are tracked automatically.
=== Organization of modifiers ===
We already discussed how we organized targets in groups, to make it easier to connect them to a modifier. Now we will discuss how we can do a similar thing for modifiers.
Modifiers provide an easy way to manage targets. They allow reducing many of hundreds of targets to a more manageable number of controllable properties. But even then, we still have about 100 modifiers, which is still quite a lot. Therefore we group them in groups of categories, much like we do in the GUI. This makes it easy to get a grouped overview of all modifiers when using an alternative interface, think of commandline or scripting. The way in which you declare the group and other properties of a modifier determines what target groups it gets its targets from.
Modifiers are declared with a group name, some intermediary “target name” and a number of tail tokens (2 or 3 usually, eg min/max). The group of targets controlled by these modifiers is composed as: groupname-targets_name-tail.
Macro modifiers are declared with a group name, and a controlled variable. The groupname must be the same groupname of the targets they control.
=== Declarative modifiers ===
Instead of hard coding what modifiers you want to instantiate, MakeHuman offers a data-based format to declare what modifiers should be created, and how they should be shown in a user interface with sliders.
A full declaration requires three files, all stored in data/modifiers. The first is the declaration of the modifiers (eg. modeling_modifiers.json). This format lists a modifier group name, and all the modifiers with their macro variable (if they are macro modifiers) or target name and 2 or 3 (if they are a modifier with a center point) tail tokens.
The second file adds a description to the modifiers declared in the first file. It basically contains a key-value set, referencing the modifier name, and a textual description of what the modifier controls. A modifier name is constructed as follows: group/targets_name-all|the|tails and for a macro modifier: group/variable
The third file defines how these modifiers should be shown in the user interface as sliders. It lists a set of categories, and the sliders to show in them, and how their values have to be saved in a mhm file (mainly a feature for legacy compatibility).
=== Your own plugin with modifiers, sliders and targets ===
Using the declarative data format described in the section above, it’s really simple. Have a look at the plugin plugins/0_modeling_0_modifiers.py. Notice it’s barely 5 lines of code. Creating your own modeling plugin is as simple as that, pointing it to your own modifier data files.
=== Binary targets ===
Because loading these ASCII target files, and iterating all target files and folders can be slow (especially on windows) in build versions, we compile all targets in the data/targets system folder into a single binary file, that furthermore acts exactly the same as multiple target files. The binary targets file is stored in the system data/ folder and is called targets.npz, it is created by running the compile_targets.py script, which is also automatically run in the build_prepare.py build routine. The file structure of the targets files is maintained in this binary file so that targets can be loaded from it in the same way as you would do with regular files. A change in the .target files, or newly added target files allow a recompilation of the targets npz file before the change is applied.
== Material format==
=== Introduction ===
MakeHuman material files have extension .mhmat and are simple ASCII definitions
of the material settings to use for rendering.
These material settings are primarily intended for configuring the material
system within MakeHuman, but they are usually carried out to other software as
well by the exporters.
Not all properties will be supported for all given combinations of shaders, nor
is there a guarantee that the exporters will honor all the properties in these
files.
Every 3D object in MakeHuman has exactly one material attached to it (multiple
materials are not possible, you need separate objects for that). Materials are
used for proxy meshes (clothes, hairs, ...) but also for the skin of the human
itself.
=== The Material System ===
The MakeHuman material system is closely based on the [[https://en.wikipedia.org/wiki/Rendering_equation standard rendering equation]]
as is used in OpenGL and DirectX forward rendering pipelines. MakeHuman supports
shaders and the material format contains the most commonly used extensions in
real-time rendering. As a consequence of this, users need to be aware of the
implications of setting values such as ambient too bright, or diffuse too dark.
All usual rules about rendering materials apply.
At the highest level, the material supports setting the most basic material
properties, such as diffuse, specular and ambient color. These are supported
both by shaders as well as the fixed function shading pipeline (which is used
when no shader is specified). Fixed function also supports the diffuse texture
option.
At a second level, a shader can be chosen. This refers directly to the filename
of a [[https://en.wikipedia.org/wiki/OpenGL_Shading_Language GLSL shader]] as found in the data/shaders/glsl folder of MakeHuman.
The selected shader will determine what material options will be available.
Various additional settings become available, depending on whether or not the
chosen shader has support for these features, such as bump or normal mapping,
ambient occlusion, specular mapping, etc.
For most of these, a texture map and a scalar property between 0 and 1 can be
set, the latter determining the intensity or influence of the effect.
Finally, MakeHuman also contains a built-in offline renderer that supports some
additional properties such as subsurface scattering, for which some special
properties are available.
=== Example ===
This is a full and complete (but fictional) example of a material file for MakeHuman, it shows all the available properties.
# Example MakeHuman Material definition
name Material_name
tag some_tag
tag another_tag
description material description text here
ambientColor 0.11 0.11 0.11
diffuseColor 1.0 1.0 1.0
specularColor 0.0470588235294 0.0470588235294 0.0470588235294
shininess 0.96
emissiveColor 0.0 0.0 0.0
opacity 1.0
translucency 0.0
shadeless False
wireframe False
transparent True
alphaToCoverage True
backfaceCull False
depthless False
autoBlendSkin False
castShadows True
receiveShadows True
diffuseTexture diffuse_texture.png
bumpmapTexture bumpmap.png
bumpmapIntensity 1.0
normalmapTexture normalmap.png
normalmapIntensity 1.0
displacementmapTexture norm_displacement.png
displacementmapIntensity 1.0
specularmapTexture specular.png
specularmapIntensity 1.0
transparencymapTexture alpha.png
transparencymapIntensity 1.0
aomapTexture ambient_occlusion_map.png
aomapIntensity 1.0
# Sub-surface scattering parameters
sssEnabled True
sssRScale 5.0
sssGScale 2.5
sssBScale 1.0
shader shaders/glsl/litsphere
shaderParam litsphereTexture litspheres/lit_hair.png
shaderConfig ambientOcclusion True
shaderConfig normal False
shaderConfig bump True
shaderConfig displacement False
shaderConfig vertexColors True
shaderConfig spec True
shaderConfig transparency True
shaderConfig diffuse True
shaderDefine ALPHA_MAP
uvMap alt_uv_coords.mhuv
This is another example, this time a real one. It is the X-ray material, used for example when showing the skeleton:
# Material definition for XrayMaterial
name XrayMaterial
ambientColor 0.1 0.1 0.1
diffuseColor 1.0 1.0 1.0
specularColor 0.3 0.3 0.3
shininess 0.1
emissiveColor 0.0 0.0 0.0
opacity 0.1
translucency 0.0
transparent True
backfaceCull True
shadeless False
wireframe False
depthless False
shader data/shaders/glsl/xray
shaderConfig diffuse False
shaderConfig transparency False
shaderConfig normal False
shaderConfig bump False
shaderConfig spec False
shaderConfig vertexColors False
shaderConfig displacement False
=== Explanation of material properties ===
=== Standard settings ===
''ambientColor'', ''diffuseColor'' ''specularColor'', ''emissiveColor'' are the standard colors
as used in the [[https://en.wikipedia.org/wiki/Rendering_equation rendering equation]]
or in standard OpenGL.
Their corresponding intensities are simple scalars with a value between 0 and 1 and are multiplied
with the colors to dim them. Default these intensities are set to 1.
Colors are described as three floating point numbers, representing R G B, or red-green-blue
values. 1 is the maximum, 0 the minimum.
For example 1.0 0 0 means fully red, 1 1 1 means full white, 0 0 0 is full black.
0.5 0.5 0.5 will give you a grey middle color.
''opacity'' determines the opaqueness of the object (alpha channel), with 1 being fully
opaque, and 0 being fully transparent (invisible)
''translucency'' is something that came from Blender but is unused
==== Render states ====
When ''wireframe'' is set to True, the model is drawn in wireframe mode. In this mode,
most material properties have no effect, but you can enable the vertexColors shaderConfig
to be able to change the color of the mesh using vertex colors (this requires
access to the mesh programatically, obj meshes do not support vertex colors).
This feature is used in some parts of MakeHuman, for example viewing bone weights
in the skeleton debug plugin.
Set ''shadeless'' to True to disable shading, eg. the object is not affected by lights.
Configured shader will have no effect
Set ''transparent'' to True to enable transparency rendering (usually needed when opacity is < 1)
In itself this does not change the visual appearance of the model, but this setting
should be enabled if your texture contains (semi-) transparent parts. This setting
instructs the renderer to disable depth buffer writes (glDepthMask(false))
and enables alpha testing and blending so that transparent surfaces can overlap and to allow [[https://www.opengl.org/wiki/Transparency_Sorting alpha blending]].
''alphaToCoverage'' Applies when transparent is set to True (otherwise does nothing).
It requires that your GPU supports alpha to coverage (A2C) rendering. It enables
the A2C feature which provides face order-independent alpha rendering. This works
very well for complex transparent meshes, like hair. At the cost of a slightly
dithered look, it solves all the problems with face sorting that are usually
involved in rendering semi transparency.
(This feature disables anti-aliasing for this object because the multisample buffer is used for alpha blending instead)
Set ''backfaceCull'' to False to disable backface culling (render the back side of polygons)
By default, and in most cases, this should be set to True, but can be useful
in some cases (for example, we disable back-face culling for the eyebrow materials).
Set ''depthless'' to True for depthless rendering (object is not occluded and does not occlude other objects).
This disables OpenGL depth writes and tests. In practice, this makes object faces that should be occluded shine through others.
''castShadows'' determines whether the object casts shadows on other objects.
''receiveShadows'' determines whether the object receives shadows from other objects.
For some features, like eyes, you probably want to disable shadow receiving.
Since MakeHuman does not (yet) implement shadow casting, the shadow settings have
no effect in MakeHuman, but they do export to other engines.
Play around with these settings in the Material Editor plugin to see their effect, that's the best advise I can give you.
The best way to find out which settings work for an asset, is simply to try them out.
==== autoBlendSkin ====
If True MakeHuman will set the diffuse color based on the ethnix mix set for the character.
Any diffuseColor set in the material file will be overridden by this.
Also the shaderParam litsphereTexture will be automatically set to a dynamically blended litsphere texture,
which is a mix of three litsphere materials (afro, asian, caucasian) depending on the ethnic mix of the character.
This latter is specifically intended to be used with the litsphere shader, and it is what you see as default material when you start MakeHuman
This overrides whatever shaderParam litsphereTexture was set in the material file.
This setting is intended only for skin materials.
==== shaderParam ====
Define a custom shader parameter (uniform), which might be required for some non-standard shaders.
For example, the litsphere shader takes an extra type of texture map as input, a so-called litsphere texture.
This generic system of mapping shader uniforms allows you to create specialised shaders that take
new and different kind of inputs, and allow configuring the shader from the material file.
shaderParam can be a list of floating point numbers, in which case it will be interpreted as a vector,
or it can be a file path, in which case it is assumed to be an image path.
Internally in MakeHuman, shaderParams can also be assigned a texture object, which allows
for dynamically passing a texture that is in memory, but perhaps not stored on disk.
Another example of a custom shaderParam is the X-ray shader that defines an edgefalloff
and intensity uniform parameter.
These could be changed from the material file with
shaderParam edgefalloff 0.8
shaderParam intensity 0.77
==== shaderDefine ====
shaderDefines allow enabling or disabling custom shading techniques in shaders.
These allow to define new shading techniques, apart from the pre-defined ones
such as normal mapping, specularity mapping, ...
It's a generic system that allows new shaders to be added and configured from
the material file, or from the material editor (which nicely auto-detects these
features in the shader and shows a set of checkboxes for them).
==== uvMap ====
Load custom UV coordinates on the mesh to use this material. This makes the material
completely dependent on the mesh it is used with.
Takes a path to a .mhuv file, which is actually just an .obj file, where the vertex
positions can be deleted (they can remain in there, but they are ignored).
Requirement for it to work is that the vertex order is the same as that of the
mesh obj.
An example uv map for the basemesh can be found in data/uvs/a7.mhuv, which is a
set of UV coordinates compatible with the old Alpha 7 mesh, allowing you to load
A7 textures on the new basemesh used in MakeHuman v1+
=== autoBlendSkin ===
If True the shaderParam litsphereTexture will be automatically set to a dynamically blended litsphere texture,
which is a mix of three litsphere materials (afro, asian, caucasian) depending on the ethnic mix of the character.
=== Basic pointers ===
* You can test the influence of material properties using the Material Editor plugin (which you can enable in Settings > Plugins, then restart)
* Using a diffuse texture? You probably want to set the diffuse color to 1 1 1 (pure white)
* Never set ambient color too bright, or your model will look completely white. 0.1 0.1 0.1 is a good value to start from.
* Emissive is usually set to black, unless you want a radioactive character
* Don't know how to define a color in numbers? Try the Material Editor plugin
* Higher shininess means smaller and sharper highlight, lower shininess makes the highlight larger and more blurred
* Reduce specular color to reduce the specularity, make it black for a rough and non shiny object
* opacity 1 means fully opaque, 0 means fully transparent (invisible)
=== Scene definition ===
To complete the rendering equation, you also need to define the scene. To be
more precise, the positions, types, color and intensities of the lights need to
be set. By default, MakeHuman only has a default scene with only one pointlight.
In MakeHuman, lights do not move if the camera is moved, or rather, the model is
rotated while the camera and lights remain static. So light positions are defined
relative to the camera position.
MakeHuman scenes are defined in .mhscene files, which are binary py-pickled files.
They can be created or modified using the Scene Editor plugin (can be enabled in
settings) and can be selected from the Scene library in the Render tab.
Fixed function shading pipeline supports up to 8 lights, specific light support
depends on the shader used, some shaders only support a certain type or number
of lights, other ignore the chosen scene altogether (for example the litsphere
shader that uses pre-baked environment lighting).
The built-in offline renderer also uses the specified scene.
Scenes are not exported along with the model.
=== Shaders ===
The most powerful functionality of the material system is unlocked when using
shaders.
MakeHuman shaders are intended to be written in a modular way, so that shading
features can be enabled or disabled using the material format. Examples of such
features are bump mapping, normal mapping, specular mapping, diffuse texturing,
ambient occlusion and displacement mapping.
MakeHuman includes a basic introspection function that allows it to determine
what features a shader supports. It accomplishes this by looking for #ifdef and #ifndef statements. If a shader supports a certain technique, it is supposed to
encapsulate this in #ifdef NORMALMAP ... #else ... #endif statements.
The material system manages these shading functions by defining specific pre-processor
keywords when their corresponding shaderConfig property is set to true.
Shaders are recompiled when needed and stored in a shader cache for efficiency.
MakeHuman passes scene and material information to the shaders by certain uniform
parameters. Depending on which shaderConfig properties were enabled, additional
uniforms could be exposed to the shader. The shader does not have to declare all
these uniforms, however. MakeHuman binds only those uniforms present in the shader
if they have the right corresponding names.
Other properties are available from the OpenGL built-in uniforms or properties
(usually starting with gl_).
The following table lists these defines and the shaderConfig properties in the
material they relate to:
{| class="wikitable"
|-
! shaderConfig
! shader #DEFINE
! exposed uniform parameters if enabled
! comment
|-
|default (always enabled)
|
|vec3 ambient, vec4 diffuse, vec4 specular, vec3 emissive
|diffuse and specular are 4-component color values, diffuse=[rgba] with a=opacity and specular=[rgbs] with s=shininess
|-
|vertexColors
|VERTEX_COLOR
|
|
|-
|diffuse
|DIFFUSE
|diffuseTexture
|
|-
|bump
|BUMPMAP
|bumpmapTexture, bumpmapIntensity
|disabled if normal mapping is enabled (restriction might be lifted in the future)
|-
|normal
|NORMALMAP
|normalmapTexture, normalmapIntensity
|
|-
|displacement
|DISPLACEMENT
|displacementmapTexture, displacementmapIntensity
|
|-
|spec
|SPECULARMAP
|specularmapTexture, specularmapIntensity
|
|-
|transparency
|TRANSPARENCYMAP
|transparencymapTexture, transparencymapIntensity
|
|-
|ambientOcclusion
|AOMAP
|aomapTexture, aomapIntensity
|
|}
Additionally, MakeHuman exposes the vertex tangent as a vertex property, which
can be accessed by the shader.
attribute vec4 tangent
Currently, [[http://www.terathon.com/code/tangent.html Lengyel’s Method]] for tangent calculation
is used, but plans are to change this to [[http://bugtracker.makehumancommunity.org/issues/87 mikktspace]] in the future.
Shader examples for MakeHuman can be found here:
* Litsphere shader: [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/litsphere_vertex_shader.txt vertex]] [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/litsphere_fragment_shader.txt fragment]]
* Phong shader: [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/phong_vertex_shader.txt vertex]] [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/phong_fragment_shader.txt fragment]]
* Normal map shader (wip): [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/normalmap_vertex_shader.txt vertex]] [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/normalmap_fragment_shader.txt fragment]]
* X-ray shader: [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/xray_vertex_shader.txt vertex]] [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/xray_fragment_shader.txt fragment]]
51233a64bef98eb9da8b759dae65d9ba6a111534
574
573
2016-01-27T16:01:52Z
Duststorm
19
/* Standard settings */
wikitext
text/x-wiki
== Vertex weights ==
With vertex weights we intend a weighted mapping of vertices of a mesh to a bone of a skeleton. The weight is a value between 0 and 1, the sum of these weights for each vertex should be normalized, which means they should sum to 1 (note: no euclidian distance, just simple addition of all weights). A weight map in MakeHuman is expressed as a bone name (becomes a bone index internally, using the index of the bone in a breadth-first list relative to skeleton structure), a vertex name and a floating point weight between 0 and 1. This weighted vertex to bone mapping is used for skinning (posing and animating, using vertex skinning, smooth skinning or linear blend skinning algorithm). For the skinning algorithm to work correctly it’s required that the weights are always normalized, otherwise you will see vertices move out of place disproportionally (though the weight loading code in MakeHuman ensures that this normalization always happens, so this is not a concern to the artist that defines the weights). The vertex weights can be exported to external tools as well using formats such as collada (DAE), FBX, Ogre3D meshes or MD5 quake meshes.
=== Vertex weights and skeletons ===
Vertex weights are defined for the default “master” skeleton or rig. They are defined in a json file with jsonw extension. They link each vertex of the basemesh including helpers to a named bone of this master rig, together with a certain weight.
The weights loader automatically removes doubles and normalizes the weights (so that they sum to 1). It also reports what the maximum number of bone weights per vertex is, additionally it allows compiling the weights to a reduced set with n number of bone weights, and automatically renormalizes those weights so they, again, sum to 1.
When loading weights, any vertex that receives no weighting is assigned to the root bone, as this is needed for skinning to prevent all those vertices jumping to the origin (0*pos == 0).
Alternative skeletons can define their own weights, by referencing a weights file just like the master rig, or they can choose to derive their weights from the master rig, through so called reference bone mappings. Skeletons will derive their weights from the master rig if they do not specify a weights file explicitly. Custom vertex weights in alternative rigs override those defined on the master rig, except in the case where a proxy defines its own vertex weights. See section Vertex weights for proxies for more details.
=== Reference bones for vertex weights and poses ===
Reference bones are defined on alternative rigs, they are a list of names of bones contained in the master rig. Every bone of an alternative rig can have such a list of reference bones. An alternative rig can also omit these references if it uses the same name as bones in the master rig, in which the mapping is implicit. Having a list of bone references always overrides the implicit mapping. Reference bone mappings are required for two purposes.
They are used for mapping poses defined on the master rig to other rigs. All poses are defined as BVH files that pose the master rig, so they reference only the bone names of the master rig. Poses are applied to all other rigs by using the reference bone mapping: all the rotations that the pose applies to the referenced bones are combined (in the order in which the references were specified -- note: rotations are NOT commutative) and are applied to the alternative rig bone.
Reference bone mappings can also be used for determining vertex weights of custom rigs. If the alternative rig does not explicitly define its own vertex weights, the mapping of reference bones is used to infere a set of bone weights for each bone: All the weights of the reference bones on the master rig (with the weights definition of the default/master rig) are combined and apply to the bone of the alternative rig. Doubles are merged, and weights renormalized. Any vertex that is not weighted will be assigned to the root bone. Watch for messages in the log to verify this.
=== Vertex weights for proxies ===
Generally proxies are mapped to basemesh geometry, that means either to the body or to helpers, or a combination of both (though this is unusual). Proxies derive their vertex weights from the vertices on the basemesh on which they are fitted. A proxy defines its fitting as a 3d offset from one or three vertices on the basemesh, allowing it to deform as the human deforms. This mapping is used to transfer the vertex weights from basemesh to proxy: a proxy vertex referencing three basemesh vertices gets the bone weights of those three vertices. Doubles are merged and the weights are normalized, so that the influence factors are averaged or smoothed. In this case the weights applied to proxies are always those defined on the skeleton: either the weights explicitly defined on the skeleton, or the weights obtained from remapping the master rig weights to this skeleton using the reference bone mapping mentioned in the previous sections. There is an exception to this, which is explained in the next paragraph.
A proxy can explicitly define its own vertex (to bone) weights. In this case it overrides the weights that would be obtained through the proxy mapping, and replaces them by its own custom definition of weights. These vertex weights are always defined to reference the bones of the master rig (default skeleton), so they need to be remapped to other skeletons using reference bone mapping. This also means that the custom weights of a proxy override any custom weights mapping that might be loaded with an alternative rig (but only for that proxy item). Custom proxy weights should be avoided if possible, but are in some cases required, eg. for properly rigging shoes which are rigidly fitted to feet, or an alternative topology which defines very accurate rigging on the face. The general advice for custom rigs is therefore to stay as close to the master rig as possible, reusing as much bones identically as possible, to achieve the best results for proxies with custom weights.
In case of custom weight, the mhclo file must contain a line to indicate the weight file to use, using the keyword “vertexboneweights_file”, with the syntax:
vertexboneweights_file filename.jsonw
== Targets and modifiers ==
MakeHuman applies targets on the human by means of modifiers. Such a modifier has a value (usually between [0, 1] or [-1, 1]) that determines the effect of it on the human mesh. A modifier can control one or more targets and in apply the mixed sum of them on the mesh. Some modifiers.
=== Organization of targets ===
To make sure targets are linked to the right modifier, or to make managing targets easier, a certain discipline has to be observed in managing them. Targets are ASCII files in the data/targets or data/custom folder (in program or user folder) with a file extension of .target.
The file name and folder targets are in implicitly determines their group name. A group is identified by a sequence of tags or tokens, which are taken from the file and folder name of each target, and which can be delimited by “-” symbols, to include multiple tokens in a single file or folder name. The lib/targets.py module takes care of loading all the names of the available targets and assembles them into groups. All targets with the same tokens end up in the same group. This allows easy querying and requesting of targets. The creator is pretty much free to decide what groups to create for their targets. By passing the name of the target group to a modifier, they can make sure that modifier controls the targets belonging to this group. It does not matter whether you use folders or - delimited file names for creating groups.
An example:
data/targets/cartoon/eyes-large.target is categorized in group (cartoon, eyes, large)
data/targets/cartoon-eyes-large.target is also categorized in group (cartoon, eyes, large)
Most simple modifiers work by specifying a group (for example cartoon-eyes) and a set of two tokens to append at the end, depending on the position of the modifier slider (eg. small, large which would allow controlling the targets cartoon-eyes-small and cartoon-eyes-large by moving the slider to the left or right).
=== Reserved group tokens ===
Some of the tokens in the file or foldername of targets are linked to values that variables of the human can have. Such variables are for example age, weight, muscle, gender.
This table lists all the reserved tokens, and the variables they belong to.
{| class="wikitable"
|-
! Reserved token (value)
! Variable
|-
| female,male
| gender
|-
| baby, child, young, old
| age
|-
| african, caucasian, asian
| race
|-
| minmuscle, averagemuscle, maxmuscle
| muscle
|-
| minweight, averageweight, maxweight
| weight
|-
| minheight, averageheight, maxheight
| height
|-
| mincup, averagecup, maxcup
| breastsize
|-
| minfirmness, averagefirmness, maxfirmness
| breastfirmness
|-
| uncommonproportions, regularproportions, idealproportions
| bodyproportion
|}
Note that it is not a good idea to use simply “max” or “min” as a reserved token name, because they need to be unique (otherwise it would not be possible to determine whether they are a minimum for, for example, weight or height). These reserved tokens are declared in the lib/targets.py module. The variable can be set and queried on the human object, for example human.getAge(), human.setMuscle(0.7), human.getProportion().
The reserved tokens are NOT included in the group name, so you should at least include some other, non-reserved tokens in the file or folder names to assign your target to some meaningful group. The inclusion of these reserved tokens in your target names or paths makes it convenient to create macro modifiers.
=== Macro targets and modifiers ===
Macro modifiers are modifiers whose effect (the combination of targets they apply on the human) is influenced by macro variables set on the human (eg. human.set/getAge()). Therefore, macro modifiers often control a large set of targets (20 or even more). It’s also common for multiple modifiers to control exactly the same set of targets, for example the standard age/gender/race sliders all control the set of targets in the ‘macrodetails’ group. Each slider modifies a different variable (eg. human.setAge()) controlling the set of targets, and then reapplies a combination of the same set of targets on the human.
=== Macro modifier dependencies ===
There are other macro modifiers that can also depend on the same variables age, gender, race that is controlled by the main macro modifiers, as discussed above. For example the macro modifiers that influence the weight and muscle mass of the human, controls the targets group “macrodetails-universal”, the universal token is added by prepending “universal-” to all the file names of related targets, which all reside in the folder “macrodetails” (thus macrodetails-universal ends up being the group name). They could have been included all in the “macrodetails” group, but are kept separate for performance reasons, so that the “macrodetails” group of targets (which already contains some 40 targets or so) can be applied in realtime while moving the slider.
Of course a change in the variable that these age/race/gender modifiers control will have an effect on the macrodetails-universal modifiers (because they control targets that depend on age -- their targets include -young- -old- etc. tokens in their filenames). This means there are inter-dependencies between macro modifiers, if one is updated, another one that depends on it should be refreshed. These dependencies can be descibed as follows: one macro modifier controls exactly one macro variable (such as age). It (or rather, the targets it controls) can however depend on multiple macro variables. The trivial case is where a macro modifier only depends on the macro variable that it controls itself. The tracking of these dependencies and deciding which modifiers must be updated when another is changed happens automatically. Dependencies are automatically tracked as soon as you add a modifier to the human (by calling modifier.setHuman(human)). To make this more performant in real-time, the propagation of updates to modifiers is limited while sliders are dragged (see realtimeDependencyUpdates in apps/humanmodifier.py).
As you might have understood, creating modifiers that depend on human variables is almost automatic. The only thing you need to do is create some targets that resolve to the same group name, add variations for all the macro variables you want and add the proper reserved tokens to the file or folder name (refer to the left column in the table above), and create a modifier with this group name. Once added to the human, the dependencies are tracked automatically.
=== Organization of modifiers ===
We already discussed how we organized targets in groups, to make it easier to connect them to a modifier. Now we will discuss how we can do a similar thing for modifiers.
Modifiers provide an easy way to manage targets. They allow reducing many of hundreds of targets to a more manageable number of controllable properties. But even then, we still have about 100 modifiers, which is still quite a lot. Therefore we group them in groups of categories, much like we do in the GUI. This makes it easy to get a grouped overview of all modifiers when using an alternative interface, think of commandline or scripting. The way in which you declare the group and other properties of a modifier determines what target groups it gets its targets from.
Modifiers are declared with a group name, some intermediary “target name” and a number of tail tokens (2 or 3 usually, eg min/max). The group of targets controlled by these modifiers is composed as: groupname-targets_name-tail.
Macro modifiers are declared with a group name, and a controlled variable. The groupname must be the same groupname of the targets they control.
=== Declarative modifiers ===
Instead of hard coding what modifiers you want to instantiate, MakeHuman offers a data-based format to declare what modifiers should be created, and how they should be shown in a user interface with sliders.
A full declaration requires three files, all stored in data/modifiers. The first is the declaration of the modifiers (eg. modeling_modifiers.json). This format lists a modifier group name, and all the modifiers with their macro variable (if they are macro modifiers) or target name and 2 or 3 (if they are a modifier with a center point) tail tokens.
The second file adds a description to the modifiers declared in the first file. It basically contains a key-value set, referencing the modifier name, and a textual description of what the modifier controls. A modifier name is constructed as follows: group/targets_name-all|the|tails and for a macro modifier: group/variable
The third file defines how these modifiers should be shown in the user interface as sliders. It lists a set of categories, and the sliders to show in them, and how their values have to be saved in a mhm file (mainly a feature for legacy compatibility).
=== Your own plugin with modifiers, sliders and targets ===
Using the declarative data format described in the section above, it’s really simple. Have a look at the plugin plugins/0_modeling_0_modifiers.py. Notice it’s barely 5 lines of code. Creating your own modeling plugin is as simple as that, pointing it to your own modifier data files.
=== Binary targets ===
Because loading these ASCII target files, and iterating all target files and folders can be slow (especially on windows) in build versions, we compile all targets in the data/targets system folder into a single binary file, that furthermore acts exactly the same as multiple target files. The binary targets file is stored in the system data/ folder and is called targets.npz, it is created by running the compile_targets.py script, which is also automatically run in the build_prepare.py build routine. The file structure of the targets files is maintained in this binary file so that targets can be loaded from it in the same way as you would do with regular files. A change in the .target files, or newly added target files allow a recompilation of the targets npz file before the change is applied.
== Material format==
=== Introduction ===
MakeHuman material files have extension .mhmat and are simple ASCII definitions
of the material settings to use for rendering.
These material settings are primarily intended for configuring the material
system within MakeHuman, but they are usually carried out to other software as
well by the exporters.
Not all properties will be supported for all given combinations of shaders, nor
is there a guarantee that the exporters will honor all the properties in these
files.
Every 3D object in MakeHuman has exactly one material attached to it (multiple
materials are not possible, you need separate objects for that). Materials are
used for proxy meshes (clothes, hairs, ...) but also for the skin of the human
itself.
=== The Material System ===
The MakeHuman material system is closely based on the [[https://en.wikipedia.org/wiki/Rendering_equation standard rendering equation]]
as is used in OpenGL and DirectX forward rendering pipelines. MakeHuman supports
shaders and the material format contains the most commonly used extensions in
real-time rendering. As a consequence of this, users need to be aware of the
implications of setting values such as ambient too bright, or diffuse too dark.
All usual rules about rendering materials apply.
At the highest level, the material supports setting the most basic material
properties, such as diffuse, specular and ambient color. These are supported
both by shaders as well as the fixed function shading pipeline (which is used
when no shader is specified). Fixed function also supports the diffuse texture
option.
At a second level, a shader can be chosen. This refers directly to the filename
of a [[https://en.wikipedia.org/wiki/OpenGL_Shading_Language GLSL shader]] as found in the data/shaders/glsl folder of MakeHuman.
The selected shader will determine what material options will be available.
Various additional settings become available, depending on whether or not the
chosen shader has support for these features, such as bump or normal mapping,
ambient occlusion, specular mapping, etc.
For most of these, a texture map and a scalar property between 0 and 1 can be
set, the latter determining the intensity or influence of the effect.
Finally, MakeHuman also contains a built-in offline renderer that supports some
additional properties such as subsurface scattering, for which some special
properties are available.
=== Example ===
This is a full and complete (but fictional) example of a material file for MakeHuman, it shows all the available properties.
# Example MakeHuman Material definition
name Material_name
tag some_tag
tag another_tag
description material description text here
ambientColor 0.11 0.11 0.11
diffuseColor 1.0 1.0 1.0
specularColor 0.0470588235294 0.0470588235294 0.0470588235294
shininess 0.96
emissiveColor 0.0 0.0 0.0
opacity 1.0
translucency 0.0
shadeless False
wireframe False
transparent True
alphaToCoverage True
backfaceCull False
depthless False
autoBlendSkin False
castShadows True
receiveShadows True
diffuseTexture diffuse_texture.png
bumpmapTexture bumpmap.png
bumpmapIntensity 1.0
normalmapTexture normalmap.png
normalmapIntensity 1.0
displacementmapTexture norm_displacement.png
displacementmapIntensity 1.0
specularmapTexture specular.png
specularmapIntensity 1.0
transparencymapTexture alpha.png
transparencymapIntensity 1.0
aomapTexture ambient_occlusion_map.png
aomapIntensity 1.0
# Sub-surface scattering parameters
sssEnabled True
sssRScale 5.0
sssGScale 2.5
sssBScale 1.0
shader shaders/glsl/litsphere
shaderParam litsphereTexture litspheres/lit_hair.png
shaderConfig ambientOcclusion True
shaderConfig normal False
shaderConfig bump True
shaderConfig displacement False
shaderConfig vertexColors True
shaderConfig spec True
shaderConfig transparency True
shaderConfig diffuse True
shaderDefine ALPHA_MAP
uvMap alt_uv_coords.mhuv
This is another example, this time a real one. It is the X-ray material, used for example when showing the skeleton:
# Material definition for XrayMaterial
name XrayMaterial
ambientColor 0.1 0.1 0.1
diffuseColor 1.0 1.0 1.0
specularColor 0.3 0.3 0.3
shininess 0.1
emissiveColor 0.0 0.0 0.0
opacity 0.1
translucency 0.0
transparent True
backfaceCull True
shadeless False
wireframe False
depthless False
shader data/shaders/glsl/xray
shaderConfig diffuse False
shaderConfig transparency False
shaderConfig normal False
shaderConfig bump False
shaderConfig spec False
shaderConfig vertexColors False
shaderConfig displacement False
=== Explanation of material properties ===
=== Standard settings ===
''ambientColor'', ''diffuseColor'' ''specularColor'', ''emissiveColor'' are the standard colors
as used in the [[https://en.wikipedia.org/wiki/Rendering_equation rendering equation]]
or in standard OpenGL.
Colors are described as three floating point numbers, representing R G B, or red-green-blue
values. 1 is the maximum, 0 the minimum.
For example 1.0 0 0 means fully red, 1 1 1 means full white, 0 0 0 is full black.
0.5 0.5 0.5 will give you a grey middle color.
''opacity'' determines the opaqueness of the object (alpha channel), with 1 being fully
opaque, and 0 being fully transparent (invisible)
''translucency'' is something that came from Blender but is unused
==== Render states ====
When ''wireframe'' is set to True, the model is drawn in wireframe mode. In this mode,
most material properties have no effect, but you can enable the vertexColors shaderConfig
to be able to change the color of the mesh using vertex colors (this requires
access to the mesh programatically, obj meshes do not support vertex colors).
This feature is used in some parts of MakeHuman, for example viewing bone weights
in the skeleton debug plugin.
Set ''shadeless'' to True to disable shading, eg. the object is not affected by lights.
Configured shader will have no effect
Set ''transparent'' to True to enable transparency rendering (usually needed when opacity is < 1)
In itself this does not change the visual appearance of the model, but this setting
should be enabled if your texture contains (semi-) transparent parts. This setting
instructs the renderer to disable depth buffer writes (glDepthMask(false))
and enables alpha testing and blending so that transparent surfaces can overlap and to allow [[https://www.opengl.org/wiki/Transparency_Sorting alpha blending]].
''alphaToCoverage'' Applies when transparent is set to True (otherwise does nothing).
It requires that your GPU supports alpha to coverage (A2C) rendering. It enables
the A2C feature which provides face order-independent alpha rendering. This works
very well for complex transparent meshes, like hair. At the cost of a slightly
dithered look, it solves all the problems with face sorting that are usually
involved in rendering semi transparency.
(This feature disables anti-aliasing for this object because the multisample buffer is used for alpha blending instead)
Set ''backfaceCull'' to False to disable backface culling (render the back side of polygons)
By default, and in most cases, this should be set to True, but can be useful
in some cases (for example, we disable back-face culling for the eyebrow materials).
Set ''depthless'' to True for depthless rendering (object is not occluded and does not occlude other objects).
This disables OpenGL depth writes and tests. In practice, this makes object faces that should be occluded shine through others.
''castShadows'' determines whether the object casts shadows on other objects.
''receiveShadows'' determines whether the object receives shadows from other objects.
For some features, like eyes, you probably want to disable shadow receiving.
Since MakeHuman does not (yet) implement shadow casting, the shadow settings have
no effect in MakeHuman, but they do export to other engines.
Play around with these settings in the Material Editor plugin to see their effect, that's the best advise I can give you.
The best way to find out which settings work for an asset, is simply to try them out.
==== autoBlendSkin ====
If True MakeHuman will set the diffuse color based on the ethnix mix set for the character.
Any diffuseColor set in the material file will be overridden by this.
Also the shaderParam litsphereTexture will be automatically set to a dynamically blended litsphere texture,
which is a mix of three litsphere materials (afro, asian, caucasian) depending on the ethnic mix of the character.
This latter is specifically intended to be used with the litsphere shader, and it is what you see as default material when you start MakeHuman
This overrides whatever shaderParam litsphereTexture was set in the material file.
This setting is intended only for skin materials.
==== shaderParam ====
Define a custom shader parameter (uniform), which might be required for some non-standard shaders.
For example, the litsphere shader takes an extra type of texture map as input, a so-called litsphere texture.
This generic system of mapping shader uniforms allows you to create specialised shaders that take
new and different kind of inputs, and allow configuring the shader from the material file.
shaderParam can be a list of floating point numbers, in which case it will be interpreted as a vector,
or it can be a file path, in which case it is assumed to be an image path.
Internally in MakeHuman, shaderParams can also be assigned a texture object, which allows
for dynamically passing a texture that is in memory, but perhaps not stored on disk.
Another example of a custom shaderParam is the X-ray shader that defines an edgefalloff
and intensity uniform parameter.
These could be changed from the material file with
shaderParam edgefalloff 0.8
shaderParam intensity 0.77
==== shaderDefine ====
shaderDefines allow enabling or disabling custom shading techniques in shaders.
These allow to define new shading techniques, apart from the pre-defined ones
such as normal mapping, specularity mapping, ...
It's a generic system that allows new shaders to be added and configured from
the material file, or from the material editor (which nicely auto-detects these
features in the shader and shows a set of checkboxes for them).
==== uvMap ====
Load custom UV coordinates on the mesh to use this material. This makes the material
completely dependent on the mesh it is used with.
Takes a path to a .mhuv file, which is actually just an .obj file, where the vertex
positions can be deleted (they can remain in there, but they are ignored).
Requirement for it to work is that the vertex order is the same as that of the
mesh obj.
An example uv map for the basemesh can be found in data/uvs/a7.mhuv, which is a
set of UV coordinates compatible with the old Alpha 7 mesh, allowing you to load
A7 textures on the new basemesh used in MakeHuman v1+
=== autoBlendSkin ===
If True the shaderParam litsphereTexture will be automatically set to a dynamically blended litsphere texture,
which is a mix of three litsphere materials (afro, asian, caucasian) depending on the ethnic mix of the character.
=== Basic pointers ===
* You can test the influence of material properties using the Material Editor plugin (which you can enable in Settings > Plugins, then restart)
* Using a diffuse texture? You probably want to set the diffuse color to 1 1 1 (pure white)
* Never set ambient color too bright, or your model will look completely white. 0.1 0.1 0.1 is a good value to start from.
* Emissive is usually set to black, unless you want a radioactive character
* Don't know how to define a color in numbers? Try the Material Editor plugin
* Higher shininess means smaller and sharper highlight, lower shininess makes the highlight larger and more blurred
* Reduce specular color to reduce the specularity, make it black for a rough and non shiny object
* opacity 1 means fully opaque, 0 means fully transparent (invisible)
=== Scene definition ===
To complete the rendering equation, you also need to define the scene. To be
more precise, the positions, types, color and intensities of the lights need to
be set. By default, MakeHuman only has a default scene with only one pointlight.
In MakeHuman, lights do not move if the camera is moved, or rather, the model is
rotated while the camera and lights remain static. So light positions are defined
relative to the camera position.
MakeHuman scenes are defined in .mhscene files, which are binary py-pickled files.
They can be created or modified using the Scene Editor plugin (can be enabled in
settings) and can be selected from the Scene library in the Render tab.
Fixed function shading pipeline supports up to 8 lights, specific light support
depends on the shader used, some shaders only support a certain type or number
of lights, other ignore the chosen scene altogether (for example the litsphere
shader that uses pre-baked environment lighting).
The built-in offline renderer also uses the specified scene.
Scenes are not exported along with the model.
=== Shaders ===
The most powerful functionality of the material system is unlocked when using
shaders.
MakeHuman shaders are intended to be written in a modular way, so that shading
features can be enabled or disabled using the material format. Examples of such
features are bump mapping, normal mapping, specular mapping, diffuse texturing,
ambient occlusion and displacement mapping.
MakeHuman includes a basic introspection function that allows it to determine
what features a shader supports. It accomplishes this by looking for #ifdef and #ifndef statements. If a shader supports a certain technique, it is supposed to
encapsulate this in #ifdef NORMALMAP ... #else ... #endif statements.
The material system manages these shading functions by defining specific pre-processor
keywords when their corresponding shaderConfig property is set to true.
Shaders are recompiled when needed and stored in a shader cache for efficiency.
MakeHuman passes scene and material information to the shaders by certain uniform
parameters. Depending on which shaderConfig properties were enabled, additional
uniforms could be exposed to the shader. The shader does not have to declare all
these uniforms, however. MakeHuman binds only those uniforms present in the shader
if they have the right corresponding names.
Other properties are available from the OpenGL built-in uniforms or properties
(usually starting with gl_).
The following table lists these defines and the shaderConfig properties in the
material they relate to:
{| class="wikitable"
|-
! shaderConfig
! shader #DEFINE
! exposed uniform parameters if enabled
! comment
|-
|default (always enabled)
|
|vec3 ambient, vec4 diffuse, vec4 specular, vec3 emissive
|diffuse and specular are 4-component color values, diffuse=[rgba] with a=opacity and specular=[rgbs] with s=shininess
|-
|vertexColors
|VERTEX_COLOR
|
|
|-
|diffuse
|DIFFUSE
|diffuseTexture
|
|-
|bump
|BUMPMAP
|bumpmapTexture, bumpmapIntensity
|disabled if normal mapping is enabled (restriction might be lifted in the future)
|-
|normal
|NORMALMAP
|normalmapTexture, normalmapIntensity
|
|-
|displacement
|DISPLACEMENT
|displacementmapTexture, displacementmapIntensity
|
|-
|spec
|SPECULARMAP
|specularmapTexture, specularmapIntensity
|
|-
|transparency
|TRANSPARENCYMAP
|transparencymapTexture, transparencymapIntensity
|
|-
|ambientOcclusion
|AOMAP
|aomapTexture, aomapIntensity
|
|}
Additionally, MakeHuman exposes the vertex tangent as a vertex property, which
can be accessed by the shader.
attribute vec4 tangent
Currently, [[http://www.terathon.com/code/tangent.html Lengyel’s Method]] for tangent calculation
is used, but plans are to change this to [[http://bugtracker.makehumancommunity.org/issues/87 mikktspace]] in the future.
Shader examples for MakeHuman can be found here:
* Litsphere shader: [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/litsphere_vertex_shader.txt vertex]] [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/litsphere_fragment_shader.txt fragment]]
* Phong shader: [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/phong_vertex_shader.txt vertex]] [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/phong_fragment_shader.txt fragment]]
* Normal map shader (wip): [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/normalmap_vertex_shader.txt vertex]] [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/normalmap_fragment_shader.txt fragment]]
* X-ray shader: [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/xray_vertex_shader.txt vertex]] [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/xray_fragment_shader.txt fragment]]
63032b45a8ad909b145e4d6e19359c72cdbe474c
573
572
2016-01-27T15:31:28Z
Duststorm
19
/* Shaders */
wikitext
text/x-wiki
== Vertex weights ==
With vertex weights we intend a weighted mapping of vertices of a mesh to a bone of a skeleton. The weight is a value between 0 and 1, the sum of these weights for each vertex should be normalized, which means they should sum to 1 (note: no euclidian distance, just simple addition of all weights). A weight map in MakeHuman is expressed as a bone name (becomes a bone index internally, using the index of the bone in a breadth-first list relative to skeleton structure), a vertex name and a floating point weight between 0 and 1. This weighted vertex to bone mapping is used for skinning (posing and animating, using vertex skinning, smooth skinning or linear blend skinning algorithm). For the skinning algorithm to work correctly it’s required that the weights are always normalized, otherwise you will see vertices move out of place disproportionally (though the weight loading code in MakeHuman ensures that this normalization always happens, so this is not a concern to the artist that defines the weights). The vertex weights can be exported to external tools as well using formats such as collada (DAE), FBX, Ogre3D meshes or MD5 quake meshes.
=== Vertex weights and skeletons ===
Vertex weights are defined for the default “master” skeleton or rig. They are defined in a json file with jsonw extension. They link each vertex of the basemesh including helpers to a named bone of this master rig, together with a certain weight.
The weights loader automatically removes doubles and normalizes the weights (so that they sum to 1). It also reports what the maximum number of bone weights per vertex is, additionally it allows compiling the weights to a reduced set with n number of bone weights, and automatically renormalizes those weights so they, again, sum to 1.
When loading weights, any vertex that receives no weighting is assigned to the root bone, as this is needed for skinning to prevent all those vertices jumping to the origin (0*pos == 0).
Alternative skeletons can define their own weights, by referencing a weights file just like the master rig, or they can choose to derive their weights from the master rig, through so called reference bone mappings. Skeletons will derive their weights from the master rig if they do not specify a weights file explicitly. Custom vertex weights in alternative rigs override those defined on the master rig, except in the case where a proxy defines its own vertex weights. See section Vertex weights for proxies for more details.
=== Reference bones for vertex weights and poses ===
Reference bones are defined on alternative rigs, they are a list of names of bones contained in the master rig. Every bone of an alternative rig can have such a list of reference bones. An alternative rig can also omit these references if it uses the same name as bones in the master rig, in which the mapping is implicit. Having a list of bone references always overrides the implicit mapping. Reference bone mappings are required for two purposes.
They are used for mapping poses defined on the master rig to other rigs. All poses are defined as BVH files that pose the master rig, so they reference only the bone names of the master rig. Poses are applied to all other rigs by using the reference bone mapping: all the rotations that the pose applies to the referenced bones are combined (in the order in which the references were specified -- note: rotations are NOT commutative) and are applied to the alternative rig bone.
Reference bone mappings can also be used for determining vertex weights of custom rigs. If the alternative rig does not explicitly define its own vertex weights, the mapping of reference bones is used to infere a set of bone weights for each bone: All the weights of the reference bones on the master rig (with the weights definition of the default/master rig) are combined and apply to the bone of the alternative rig. Doubles are merged, and weights renormalized. Any vertex that is not weighted will be assigned to the root bone. Watch for messages in the log to verify this.
=== Vertex weights for proxies ===
Generally proxies are mapped to basemesh geometry, that means either to the body or to helpers, or a combination of both (though this is unusual). Proxies derive their vertex weights from the vertices on the basemesh on which they are fitted. A proxy defines its fitting as a 3d offset from one or three vertices on the basemesh, allowing it to deform as the human deforms. This mapping is used to transfer the vertex weights from basemesh to proxy: a proxy vertex referencing three basemesh vertices gets the bone weights of those three vertices. Doubles are merged and the weights are normalized, so that the influence factors are averaged or smoothed. In this case the weights applied to proxies are always those defined on the skeleton: either the weights explicitly defined on the skeleton, or the weights obtained from remapping the master rig weights to this skeleton using the reference bone mapping mentioned in the previous sections. There is an exception to this, which is explained in the next paragraph.
A proxy can explicitly define its own vertex (to bone) weights. In this case it overrides the weights that would be obtained through the proxy mapping, and replaces them by its own custom definition of weights. These vertex weights are always defined to reference the bones of the master rig (default skeleton), so they need to be remapped to other skeletons using reference bone mapping. This also means that the custom weights of a proxy override any custom weights mapping that might be loaded with an alternative rig (but only for that proxy item). Custom proxy weights should be avoided if possible, but are in some cases required, eg. for properly rigging shoes which are rigidly fitted to feet, or an alternative topology which defines very accurate rigging on the face. The general advice for custom rigs is therefore to stay as close to the master rig as possible, reusing as much bones identically as possible, to achieve the best results for proxies with custom weights.
In case of custom weight, the mhclo file must contain a line to indicate the weight file to use, using the keyword “vertexboneweights_file”, with the syntax:
vertexboneweights_file filename.jsonw
== Targets and modifiers ==
MakeHuman applies targets on the human by means of modifiers. Such a modifier has a value (usually between [0, 1] or [-1, 1]) that determines the effect of it on the human mesh. A modifier can control one or more targets and in apply the mixed sum of them on the mesh. Some modifiers.
=== Organization of targets ===
To make sure targets are linked to the right modifier, or to make managing targets easier, a certain discipline has to be observed in managing them. Targets are ASCII files in the data/targets or data/custom folder (in program or user folder) with a file extension of .target.
The file name and folder targets are in implicitly determines their group name. A group is identified by a sequence of tags or tokens, which are taken from the file and folder name of each target, and which can be delimited by “-” symbols, to include multiple tokens in a single file or folder name. The lib/targets.py module takes care of loading all the names of the available targets and assembles them into groups. All targets with the same tokens end up in the same group. This allows easy querying and requesting of targets. The creator is pretty much free to decide what groups to create for their targets. By passing the name of the target group to a modifier, they can make sure that modifier controls the targets belonging to this group. It does not matter whether you use folders or - delimited file names for creating groups.
An example:
data/targets/cartoon/eyes-large.target is categorized in group (cartoon, eyes, large)
data/targets/cartoon-eyes-large.target is also categorized in group (cartoon, eyes, large)
Most simple modifiers work by specifying a group (for example cartoon-eyes) and a set of two tokens to append at the end, depending on the position of the modifier slider (eg. small, large which would allow controlling the targets cartoon-eyes-small and cartoon-eyes-large by moving the slider to the left or right).
=== Reserved group tokens ===
Some of the tokens in the file or foldername of targets are linked to values that variables of the human can have. Such variables are for example age, weight, muscle, gender.
This table lists all the reserved tokens, and the variables they belong to.
{| class="wikitable"
|-
! Reserved token (value)
! Variable
|-
| female,male
| gender
|-
| baby, child, young, old
| age
|-
| african, caucasian, asian
| race
|-
| minmuscle, averagemuscle, maxmuscle
| muscle
|-
| minweight, averageweight, maxweight
| weight
|-
| minheight, averageheight, maxheight
| height
|-
| mincup, averagecup, maxcup
| breastsize
|-
| minfirmness, averagefirmness, maxfirmness
| breastfirmness
|-
| uncommonproportions, regularproportions, idealproportions
| bodyproportion
|}
Note that it is not a good idea to use simply “max” or “min” as a reserved token name, because they need to be unique (otherwise it would not be possible to determine whether they are a minimum for, for example, weight or height). These reserved tokens are declared in the lib/targets.py module. The variable can be set and queried on the human object, for example human.getAge(), human.setMuscle(0.7), human.getProportion().
The reserved tokens are NOT included in the group name, so you should at least include some other, non-reserved tokens in the file or folder names to assign your target to some meaningful group. The inclusion of these reserved tokens in your target names or paths makes it convenient to create macro modifiers.
=== Macro targets and modifiers ===
Macro modifiers are modifiers whose effect (the combination of targets they apply on the human) is influenced by macro variables set on the human (eg. human.set/getAge()). Therefore, macro modifiers often control a large set of targets (20 or even more). It’s also common for multiple modifiers to control exactly the same set of targets, for example the standard age/gender/race sliders all control the set of targets in the ‘macrodetails’ group. Each slider modifies a different variable (eg. human.setAge()) controlling the set of targets, and then reapplies a combination of the same set of targets on the human.
=== Macro modifier dependencies ===
There are other macro modifiers that can also depend on the same variables age, gender, race that is controlled by the main macro modifiers, as discussed above. For example the macro modifiers that influence the weight and muscle mass of the human, controls the targets group “macrodetails-universal”, the universal token is added by prepending “universal-” to all the file names of related targets, which all reside in the folder “macrodetails” (thus macrodetails-universal ends up being the group name). They could have been included all in the “macrodetails” group, but are kept separate for performance reasons, so that the “macrodetails” group of targets (which already contains some 40 targets or so) can be applied in realtime while moving the slider.
Of course a change in the variable that these age/race/gender modifiers control will have an effect on the macrodetails-universal modifiers (because they control targets that depend on age -- their targets include -young- -old- etc. tokens in their filenames). This means there are inter-dependencies between macro modifiers, if one is updated, another one that depends on it should be refreshed. These dependencies can be descibed as follows: one macro modifier controls exactly one macro variable (such as age). It (or rather, the targets it controls) can however depend on multiple macro variables. The trivial case is where a macro modifier only depends on the macro variable that it controls itself. The tracking of these dependencies and deciding which modifiers must be updated when another is changed happens automatically. Dependencies are automatically tracked as soon as you add a modifier to the human (by calling modifier.setHuman(human)). To make this more performant in real-time, the propagation of updates to modifiers is limited while sliders are dragged (see realtimeDependencyUpdates in apps/humanmodifier.py).
As you might have understood, creating modifiers that depend on human variables is almost automatic. The only thing you need to do is create some targets that resolve to the same group name, add variations for all the macro variables you want and add the proper reserved tokens to the file or folder name (refer to the left column in the table above), and create a modifier with this group name. Once added to the human, the dependencies are tracked automatically.
=== Organization of modifiers ===
We already discussed how we organized targets in groups, to make it easier to connect them to a modifier. Now we will discuss how we can do a similar thing for modifiers.
Modifiers provide an easy way to manage targets. They allow reducing many of hundreds of targets to a more manageable number of controllable properties. But even then, we still have about 100 modifiers, which is still quite a lot. Therefore we group them in groups of categories, much like we do in the GUI. This makes it easy to get a grouped overview of all modifiers when using an alternative interface, think of commandline or scripting. The way in which you declare the group and other properties of a modifier determines what target groups it gets its targets from.
Modifiers are declared with a group name, some intermediary “target name” and a number of tail tokens (2 or 3 usually, eg min/max). The group of targets controlled by these modifiers is composed as: groupname-targets_name-tail.
Macro modifiers are declared with a group name, and a controlled variable. The groupname must be the same groupname of the targets they control.
=== Declarative modifiers ===
Instead of hard coding what modifiers you want to instantiate, MakeHuman offers a data-based format to declare what modifiers should be created, and how they should be shown in a user interface with sliders.
A full declaration requires three files, all stored in data/modifiers. The first is the declaration of the modifiers (eg. modeling_modifiers.json). This format lists a modifier group name, and all the modifiers with their macro variable (if they are macro modifiers) or target name and 2 or 3 (if they are a modifier with a center point) tail tokens.
The second file adds a description to the modifiers declared in the first file. It basically contains a key-value set, referencing the modifier name, and a textual description of what the modifier controls. A modifier name is constructed as follows: group/targets_name-all|the|tails and for a macro modifier: group/variable
The third file defines how these modifiers should be shown in the user interface as sliders. It lists a set of categories, and the sliders to show in them, and how their values have to be saved in a mhm file (mainly a feature for legacy compatibility).
=== Your own plugin with modifiers, sliders and targets ===
Using the declarative data format described in the section above, it’s really simple. Have a look at the plugin plugins/0_modeling_0_modifiers.py. Notice it’s barely 5 lines of code. Creating your own modeling plugin is as simple as that, pointing it to your own modifier data files.
=== Binary targets ===
Because loading these ASCII target files, and iterating all target files and folders can be slow (especially on windows) in build versions, we compile all targets in the data/targets system folder into a single binary file, that furthermore acts exactly the same as multiple target files. The binary targets file is stored in the system data/ folder and is called targets.npz, it is created by running the compile_targets.py script, which is also automatically run in the build_prepare.py build routine. The file structure of the targets files is maintained in this binary file so that targets can be loaded from it in the same way as you would do with regular files. A change in the .target files, or newly added target files allow a recompilation of the targets npz file before the change is applied.
== Material format==
=== Introduction ===
MakeHuman material files have extension .mhmat and are simple ASCII definitions
of the material settings to use for rendering.
These material settings are primarily intended for configuring the material
system within MakeHuman, but they are usually carried out to other software as
well by the exporters.
Not all properties will be supported for all given combinations of shaders, nor
is there a guarantee that the exporters will honor all the properties in these
files.
Every 3D object in MakeHuman has exactly one material attached to it (multiple
materials are not possible, you need separate objects for that). Materials are
used for proxy meshes (clothes, hairs, ...) but also for the skin of the human
itself.
=== The Material System ===
The MakeHuman material system is closely based on the [[https://en.wikipedia.org/wiki/Rendering_equation standard rendering equation]]
as is used in OpenGL and DirectX forward rendering pipelines. MakeHuman supports
shaders and the material format contains the most commonly used extensions in
real-time rendering. As a consequence of this, users need to be aware of the
implications of setting values such as ambient too bright, or diffuse too dark.
All usual rules about rendering materials apply.
At the highest level, the material supports setting the most basic material
properties, such as diffuse, specular and ambient color. These are supported
both by shaders as well as the fixed function shading pipeline (which is used
when no shader is specified). Fixed function also supports the diffuse texture
option.
At a second level, a shader can be chosen. This refers directly to the filename
of a [[https://en.wikipedia.org/wiki/OpenGL_Shading_Language GLSL shader]] as found in the data/shaders/glsl folder of MakeHuman.
The selected shader will determine what material options will be available.
Various additional settings become available, depending on whether or not the
chosen shader has support for these features, such as bump or normal mapping,
ambient occlusion, specular mapping, etc.
For most of these, a texture map and a scalar property between 0 and 1 can be
set, the latter determining the intensity or influence of the effect.
Finally, MakeHuman also contains a built-in offline renderer that supports some
additional properties such as subsurface scattering, for which some special
properties are available.
=== Example ===
This is a full and complete (but fictional) example of a material file for MakeHuman, it shows all the available properties.
# Example MakeHuman Material definition
name Material_name
tag some_tag
tag another_tag
description material description text here
ambientColor 0.11 0.11 0.11
diffuseColor 1.0 1.0 1.0
specularColor 0.0470588235294 0.0470588235294 0.0470588235294
shininess 0.96
emissiveColor 0.0 0.0 0.0
opacity 1.0
translucency 0.0
shadeless False
wireframe False
transparent True
alphaToCoverage True
backfaceCull False
depthless False
autoBlendSkin False
castShadows True
receiveShadows True
diffuseTexture diffuse_texture.png
bumpmapTexture bumpmap.png
bumpmapIntensity 1.0
normalmapTexture normalmap.png
normalmapIntensity 1.0
displacementmapTexture norm_displacement.png
displacementmapIntensity 1.0
specularmapTexture specular.png
specularmapIntensity 1.0
transparencymapTexture alpha.png
transparencymapIntensity 1.0
aomapTexture ambient_occlusion_map.png
aomapIntensity 1.0
# Sub-surface scattering parameters
sssEnabled True
sssRScale 5.0
sssGScale 2.5
sssBScale 1.0
shader shaders/glsl/litsphere
shaderParam litsphereTexture litspheres/lit_hair.png
shaderConfig ambientOcclusion True
shaderConfig normal False
shaderConfig bump True
shaderConfig displacement False
shaderConfig vertexColors True
shaderConfig spec True
shaderConfig transparency True
shaderConfig diffuse True
shaderDefine ALPHA_MAP
uvMap alt_uv_coords.mhuv
This is another example, this time a real one. It is the X-ray material, used for example when showing the skeleton:
# Material definition for XrayMaterial
name XrayMaterial
ambientColor 0.1 0.1 0.1
diffuseColor 1.0 1.0 1.0
specularColor 0.3 0.3 0.3
shininess 0.1
emissiveColor 0.0 0.0 0.0
opacity 0.1
translucency 0.0
transparent True
backfaceCull True
shadeless False
wireframe False
depthless False
shader data/shaders/glsl/xray
shaderConfig diffuse False
shaderConfig transparency False
shaderConfig normal False
shaderConfig bump False
shaderConfig spec False
shaderConfig vertexColors False
shaderConfig displacement False
=== Explanation of material properties ===
=== Standard settings ===
''ambientColor'', ''diffuseColor'' ''specularColor'', ''emissiveColor'' are the standard colors
as used in the [[https://en.wikipedia.org/wiki/Rendering_equation rendering equation]]
or in standard OpenGL.
Colors are described as three floating point numbers, representing R G B, or red-green-blue
values. 1 is the maximum, 0 the minimum.
For example 1.0 0 0 means fully red, 1 1 1 means full white, 0 0 0 is full black.
0.5 0.5 0.5 will give you a grey middle color.
''opacity'' determines the opaqueness of the object (alpha channel), with 1 being fully
opaque, and 0 being fully transparent (invisible)
''translucency'' is something that came from Blender but is unused
=== autoBlendSkin ===
If True the shaderParam litsphereTexture will be automatically set to a dynamically blended litsphere texture,
which is a mix of three litsphere materials (afro, asian, caucasian) depending on the ethnic mix of the character.
=== Basic pointers ===
* You can test the influence of material properties using the Material Editor plugin (which you can enable in Settings > Plugins, then restart)
* Using a diffuse texture? You probably want to set the diffuse color to 1 1 1 (pure white)
* Never set ambient color too bright, or your model will look completely white. 0.1 0.1 0.1 is a good value to start from.
* Emissive is usually set to black, unless you want a radioactive character
* Don't know how to define a color in numbers? Try the Material Editor plugin
* Higher shininess means smaller and sharper highlight, lower shininess makes the highlight larger and more blurred
* Reduce specular color to reduce the specularity, make it black for a rough and non shiny object
* opacity 1 means fully opaque, 0 means fully transparent (invisible)
=== Scene definition ===
To complete the rendering equation, you also need to define the scene. To be
more precise, the positions, types, color and intensities of the lights need to
be set. By default, MakeHuman only has a default scene with only one pointlight.
In MakeHuman, lights do not move if the camera is moved, or rather, the model is
rotated while the camera and lights remain static. So light positions are defined
relative to the camera position.
MakeHuman scenes are defined in .mhscene files, which are binary py-pickled files.
They can be created or modified using the Scene Editor plugin (can be enabled in
settings) and can be selected from the Scene library in the Render tab.
Fixed function shading pipeline supports up to 8 lights, specific light support
depends on the shader used, some shaders only support a certain type or number
of lights, other ignore the chosen scene altogether (for example the litsphere
shader that uses pre-baked environment lighting).
The built-in offline renderer also uses the specified scene.
Scenes are not exported along with the model.
=== Shaders ===
The most powerful functionality of the material system is unlocked when using
shaders.
MakeHuman shaders are intended to be written in a modular way, so that shading
features can be enabled or disabled using the material format. Examples of such
features are bump mapping, normal mapping, specular mapping, diffuse texturing,
ambient occlusion and displacement mapping.
MakeHuman includes a basic introspection function that allows it to determine
what features a shader supports. It accomplishes this by looking for #ifdef and #ifndef statements. If a shader supports a certain technique, it is supposed to
encapsulate this in #ifdef NORMALMAP ... #else ... #endif statements.
The material system manages these shading functions by defining specific pre-processor
keywords when their corresponding shaderConfig property is set to true.
Shaders are recompiled when needed and stored in a shader cache for efficiency.
MakeHuman passes scene and material information to the shaders by certain uniform
parameters. Depending on which shaderConfig properties were enabled, additional
uniforms could be exposed to the shader. The shader does not have to declare all
these uniforms, however. MakeHuman binds only those uniforms present in the shader
if they have the right corresponding names.
Other properties are available from the OpenGL built-in uniforms or properties
(usually starting with gl_).
The following table lists these defines and the shaderConfig properties in the
material they relate to:
{| class="wikitable"
|-
! shaderConfig
! shader #DEFINE
! exposed uniform parameters if enabled
! comment
|-
|default (always enabled)
|
|vec3 ambient, vec4 diffuse, vec4 specular, vec3 emissive
|diffuse and specular are 4-component color values, diffuse=[rgba] with a=opacity and specular=[rgbs] with s=shininess
|-
|vertexColors
|VERTEX_COLOR
|
|
|-
|diffuse
|DIFFUSE
|diffuseTexture
|
|-
|bump
|BUMPMAP
|bumpmapTexture, bumpmapIntensity
|disabled if normal mapping is enabled (restriction might be lifted in the future)
|-
|normal
|NORMALMAP
|normalmapTexture, normalmapIntensity
|
|-
|displacement
|DISPLACEMENT
|displacementmapTexture, displacementmapIntensity
|
|-
|spec
|SPECULARMAP
|specularmapTexture, specularmapIntensity
|
|-
|transparency
|TRANSPARENCYMAP
|transparencymapTexture, transparencymapIntensity
|
|-
|ambientOcclusion
|AOMAP
|aomapTexture, aomapIntensity
|
|}
Additionally, MakeHuman exposes the vertex tangent as a vertex property, which
can be accessed by the shader.
attribute vec4 tangent
Currently, [[http://www.terathon.com/code/tangent.html Lengyel’s Method]] for tangent calculation
is used, but plans are to change this to [[http://bugtracker.makehumancommunity.org/issues/87 mikktspace]] in the future.
Shader examples for MakeHuman can be found here:
* Litsphere shader: [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/litsphere_vertex_shader.txt vertex]] [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/litsphere_fragment_shader.txt fragment]]
* Phong shader: [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/phong_vertex_shader.txt vertex]] [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/phong_fragment_shader.txt fragment]]
* Normal map shader (wip): [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/normalmap_vertex_shader.txt vertex]] [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/normalmap_fragment_shader.txt fragment]]
* X-ray shader: [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/xray_vertex_shader.txt vertex]] [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/xray_fragment_shader.txt fragment]]
31a1e8d5da716aba4f55f156e6c835866061be34
572
571
2016-01-27T15:30:57Z
Duststorm
19
/* Standard settings */
wikitext
text/x-wiki
== Vertex weights ==
With vertex weights we intend a weighted mapping of vertices of a mesh to a bone of a skeleton. The weight is a value between 0 and 1, the sum of these weights for each vertex should be normalized, which means they should sum to 1 (note: no euclidian distance, just simple addition of all weights). A weight map in MakeHuman is expressed as a bone name (becomes a bone index internally, using the index of the bone in a breadth-first list relative to skeleton structure), a vertex name and a floating point weight between 0 and 1. This weighted vertex to bone mapping is used for skinning (posing and animating, using vertex skinning, smooth skinning or linear blend skinning algorithm). For the skinning algorithm to work correctly it’s required that the weights are always normalized, otherwise you will see vertices move out of place disproportionally (though the weight loading code in MakeHuman ensures that this normalization always happens, so this is not a concern to the artist that defines the weights). The vertex weights can be exported to external tools as well using formats such as collada (DAE), FBX, Ogre3D meshes or MD5 quake meshes.
=== Vertex weights and skeletons ===
Vertex weights are defined for the default “master” skeleton or rig. They are defined in a json file with jsonw extension. They link each vertex of the basemesh including helpers to a named bone of this master rig, together with a certain weight.
The weights loader automatically removes doubles and normalizes the weights (so that they sum to 1). It also reports what the maximum number of bone weights per vertex is, additionally it allows compiling the weights to a reduced set with n number of bone weights, and automatically renormalizes those weights so they, again, sum to 1.
When loading weights, any vertex that receives no weighting is assigned to the root bone, as this is needed for skinning to prevent all those vertices jumping to the origin (0*pos == 0).
Alternative skeletons can define their own weights, by referencing a weights file just like the master rig, or they can choose to derive their weights from the master rig, through so called reference bone mappings. Skeletons will derive their weights from the master rig if they do not specify a weights file explicitly. Custom vertex weights in alternative rigs override those defined on the master rig, except in the case where a proxy defines its own vertex weights. See section Vertex weights for proxies for more details.
=== Reference bones for vertex weights and poses ===
Reference bones are defined on alternative rigs, they are a list of names of bones contained in the master rig. Every bone of an alternative rig can have such a list of reference bones. An alternative rig can also omit these references if it uses the same name as bones in the master rig, in which the mapping is implicit. Having a list of bone references always overrides the implicit mapping. Reference bone mappings are required for two purposes.
They are used for mapping poses defined on the master rig to other rigs. All poses are defined as BVH files that pose the master rig, so they reference only the bone names of the master rig. Poses are applied to all other rigs by using the reference bone mapping: all the rotations that the pose applies to the referenced bones are combined (in the order in which the references were specified -- note: rotations are NOT commutative) and are applied to the alternative rig bone.
Reference bone mappings can also be used for determining vertex weights of custom rigs. If the alternative rig does not explicitly define its own vertex weights, the mapping of reference bones is used to infere a set of bone weights for each bone: All the weights of the reference bones on the master rig (with the weights definition of the default/master rig) are combined and apply to the bone of the alternative rig. Doubles are merged, and weights renormalized. Any vertex that is not weighted will be assigned to the root bone. Watch for messages in the log to verify this.
=== Vertex weights for proxies ===
Generally proxies are mapped to basemesh geometry, that means either to the body or to helpers, or a combination of both (though this is unusual). Proxies derive their vertex weights from the vertices on the basemesh on which they are fitted. A proxy defines its fitting as a 3d offset from one or three vertices on the basemesh, allowing it to deform as the human deforms. This mapping is used to transfer the vertex weights from basemesh to proxy: a proxy vertex referencing three basemesh vertices gets the bone weights of those three vertices. Doubles are merged and the weights are normalized, so that the influence factors are averaged or smoothed. In this case the weights applied to proxies are always those defined on the skeleton: either the weights explicitly defined on the skeleton, or the weights obtained from remapping the master rig weights to this skeleton using the reference bone mapping mentioned in the previous sections. There is an exception to this, which is explained in the next paragraph.
A proxy can explicitly define its own vertex (to bone) weights. In this case it overrides the weights that would be obtained through the proxy mapping, and replaces them by its own custom definition of weights. These vertex weights are always defined to reference the bones of the master rig (default skeleton), so they need to be remapped to other skeletons using reference bone mapping. This also means that the custom weights of a proxy override any custom weights mapping that might be loaded with an alternative rig (but only for that proxy item). Custom proxy weights should be avoided if possible, but are in some cases required, eg. for properly rigging shoes which are rigidly fitted to feet, or an alternative topology which defines very accurate rigging on the face. The general advice for custom rigs is therefore to stay as close to the master rig as possible, reusing as much bones identically as possible, to achieve the best results for proxies with custom weights.
In case of custom weight, the mhclo file must contain a line to indicate the weight file to use, using the keyword “vertexboneweights_file”, with the syntax:
vertexboneweights_file filename.jsonw
== Targets and modifiers ==
MakeHuman applies targets on the human by means of modifiers. Such a modifier has a value (usually between [0, 1] or [-1, 1]) that determines the effect of it on the human mesh. A modifier can control one or more targets and in apply the mixed sum of them on the mesh. Some modifiers.
=== Organization of targets ===
To make sure targets are linked to the right modifier, or to make managing targets easier, a certain discipline has to be observed in managing them. Targets are ASCII files in the data/targets or data/custom folder (in program or user folder) with a file extension of .target.
The file name and folder targets are in implicitly determines their group name. A group is identified by a sequence of tags or tokens, which are taken from the file and folder name of each target, and which can be delimited by “-” symbols, to include multiple tokens in a single file or folder name. The lib/targets.py module takes care of loading all the names of the available targets and assembles them into groups. All targets with the same tokens end up in the same group. This allows easy querying and requesting of targets. The creator is pretty much free to decide what groups to create for their targets. By passing the name of the target group to a modifier, they can make sure that modifier controls the targets belonging to this group. It does not matter whether you use folders or - delimited file names for creating groups.
An example:
data/targets/cartoon/eyes-large.target is categorized in group (cartoon, eyes, large)
data/targets/cartoon-eyes-large.target is also categorized in group (cartoon, eyes, large)
Most simple modifiers work by specifying a group (for example cartoon-eyes) and a set of two tokens to append at the end, depending on the position of the modifier slider (eg. small, large which would allow controlling the targets cartoon-eyes-small and cartoon-eyes-large by moving the slider to the left or right).
=== Reserved group tokens ===
Some of the tokens in the file or foldername of targets are linked to values that variables of the human can have. Such variables are for example age, weight, muscle, gender.
This table lists all the reserved tokens, and the variables they belong to.
{| class="wikitable"
|-
! Reserved token (value)
! Variable
|-
| female,male
| gender
|-
| baby, child, young, old
| age
|-
| african, caucasian, asian
| race
|-
| minmuscle, averagemuscle, maxmuscle
| muscle
|-
| minweight, averageweight, maxweight
| weight
|-
| minheight, averageheight, maxheight
| height
|-
| mincup, averagecup, maxcup
| breastsize
|-
| minfirmness, averagefirmness, maxfirmness
| breastfirmness
|-
| uncommonproportions, regularproportions, idealproportions
| bodyproportion
|}
Note that it is not a good idea to use simply “max” or “min” as a reserved token name, because they need to be unique (otherwise it would not be possible to determine whether they are a minimum for, for example, weight or height). These reserved tokens are declared in the lib/targets.py module. The variable can be set and queried on the human object, for example human.getAge(), human.setMuscle(0.7), human.getProportion().
The reserved tokens are NOT included in the group name, so you should at least include some other, non-reserved tokens in the file or folder names to assign your target to some meaningful group. The inclusion of these reserved tokens in your target names or paths makes it convenient to create macro modifiers.
=== Macro targets and modifiers ===
Macro modifiers are modifiers whose effect (the combination of targets they apply on the human) is influenced by macro variables set on the human (eg. human.set/getAge()). Therefore, macro modifiers often control a large set of targets (20 or even more). It’s also common for multiple modifiers to control exactly the same set of targets, for example the standard age/gender/race sliders all control the set of targets in the ‘macrodetails’ group. Each slider modifies a different variable (eg. human.setAge()) controlling the set of targets, and then reapplies a combination of the same set of targets on the human.
=== Macro modifier dependencies ===
There are other macro modifiers that can also depend on the same variables age, gender, race that is controlled by the main macro modifiers, as discussed above. For example the macro modifiers that influence the weight and muscle mass of the human, controls the targets group “macrodetails-universal”, the universal token is added by prepending “universal-” to all the file names of related targets, which all reside in the folder “macrodetails” (thus macrodetails-universal ends up being the group name). They could have been included all in the “macrodetails” group, but are kept separate for performance reasons, so that the “macrodetails” group of targets (which already contains some 40 targets or so) can be applied in realtime while moving the slider.
Of course a change in the variable that these age/race/gender modifiers control will have an effect on the macrodetails-universal modifiers (because they control targets that depend on age -- their targets include -young- -old- etc. tokens in their filenames). This means there are inter-dependencies between macro modifiers, if one is updated, another one that depends on it should be refreshed. These dependencies can be descibed as follows: one macro modifier controls exactly one macro variable (such as age). It (or rather, the targets it controls) can however depend on multiple macro variables. The trivial case is where a macro modifier only depends on the macro variable that it controls itself. The tracking of these dependencies and deciding which modifiers must be updated when another is changed happens automatically. Dependencies are automatically tracked as soon as you add a modifier to the human (by calling modifier.setHuman(human)). To make this more performant in real-time, the propagation of updates to modifiers is limited while sliders are dragged (see realtimeDependencyUpdates in apps/humanmodifier.py).
As you might have understood, creating modifiers that depend on human variables is almost automatic. The only thing you need to do is create some targets that resolve to the same group name, add variations for all the macro variables you want and add the proper reserved tokens to the file or folder name (refer to the left column in the table above), and create a modifier with this group name. Once added to the human, the dependencies are tracked automatically.
=== Organization of modifiers ===
We already discussed how we organized targets in groups, to make it easier to connect them to a modifier. Now we will discuss how we can do a similar thing for modifiers.
Modifiers provide an easy way to manage targets. They allow reducing many of hundreds of targets to a more manageable number of controllable properties. But even then, we still have about 100 modifiers, which is still quite a lot. Therefore we group them in groups of categories, much like we do in the GUI. This makes it easy to get a grouped overview of all modifiers when using an alternative interface, think of commandline or scripting. The way in which you declare the group and other properties of a modifier determines what target groups it gets its targets from.
Modifiers are declared with a group name, some intermediary “target name” and a number of tail tokens (2 or 3 usually, eg min/max). The group of targets controlled by these modifiers is composed as: groupname-targets_name-tail.
Macro modifiers are declared with a group name, and a controlled variable. The groupname must be the same groupname of the targets they control.
=== Declarative modifiers ===
Instead of hard coding what modifiers you want to instantiate, MakeHuman offers a data-based format to declare what modifiers should be created, and how they should be shown in a user interface with sliders.
A full declaration requires three files, all stored in data/modifiers. The first is the declaration of the modifiers (eg. modeling_modifiers.json). This format lists a modifier group name, and all the modifiers with their macro variable (if they are macro modifiers) or target name and 2 or 3 (if they are a modifier with a center point) tail tokens.
The second file adds a description to the modifiers declared in the first file. It basically contains a key-value set, referencing the modifier name, and a textual description of what the modifier controls. A modifier name is constructed as follows: group/targets_name-all|the|tails and for a macro modifier: group/variable
The third file defines how these modifiers should be shown in the user interface as sliders. It lists a set of categories, and the sliders to show in them, and how their values have to be saved in a mhm file (mainly a feature for legacy compatibility).
=== Your own plugin with modifiers, sliders and targets ===
Using the declarative data format described in the section above, it’s really simple. Have a look at the plugin plugins/0_modeling_0_modifiers.py. Notice it’s barely 5 lines of code. Creating your own modeling plugin is as simple as that, pointing it to your own modifier data files.
=== Binary targets ===
Because loading these ASCII target files, and iterating all target files and folders can be slow (especially on windows) in build versions, we compile all targets in the data/targets system folder into a single binary file, that furthermore acts exactly the same as multiple target files. The binary targets file is stored in the system data/ folder and is called targets.npz, it is created by running the compile_targets.py script, which is also automatically run in the build_prepare.py build routine. The file structure of the targets files is maintained in this binary file so that targets can be loaded from it in the same way as you would do with regular files. A change in the .target files, or newly added target files allow a recompilation of the targets npz file before the change is applied.
== Material format==
=== Introduction ===
MakeHuman material files have extension .mhmat and are simple ASCII definitions
of the material settings to use for rendering.
These material settings are primarily intended for configuring the material
system within MakeHuman, but they are usually carried out to other software as
well by the exporters.
Not all properties will be supported for all given combinations of shaders, nor
is there a guarantee that the exporters will honor all the properties in these
files.
Every 3D object in MakeHuman has exactly one material attached to it (multiple
materials are not possible, you need separate objects for that). Materials are
used for proxy meshes (clothes, hairs, ...) but also for the skin of the human
itself.
=== The Material System ===
The MakeHuman material system is closely based on the [[https://en.wikipedia.org/wiki/Rendering_equation standard rendering equation]]
as is used in OpenGL and DirectX forward rendering pipelines. MakeHuman supports
shaders and the material format contains the most commonly used extensions in
real-time rendering. As a consequence of this, users need to be aware of the
implications of setting values such as ambient too bright, or diffuse too dark.
All usual rules about rendering materials apply.
At the highest level, the material supports setting the most basic material
properties, such as diffuse, specular and ambient color. These are supported
both by shaders as well as the fixed function shading pipeline (which is used
when no shader is specified). Fixed function also supports the diffuse texture
option.
At a second level, a shader can be chosen. This refers directly to the filename
of a [[https://en.wikipedia.org/wiki/OpenGL_Shading_Language GLSL shader]] as found in the data/shaders/glsl folder of MakeHuman.
The selected shader will determine what material options will be available.
Various additional settings become available, depending on whether or not the
chosen shader has support for these features, such as bump or normal mapping,
ambient occlusion, specular mapping, etc.
For most of these, a texture map and a scalar property between 0 and 1 can be
set, the latter determining the intensity or influence of the effect.
Finally, MakeHuman also contains a built-in offline renderer that supports some
additional properties such as subsurface scattering, for which some special
properties are available.
=== Example ===
This is a full and complete (but fictional) example of a material file for MakeHuman, it shows all the available properties.
# Example MakeHuman Material definition
name Material_name
tag some_tag
tag another_tag
description material description text here
ambientColor 0.11 0.11 0.11
diffuseColor 1.0 1.0 1.0
specularColor 0.0470588235294 0.0470588235294 0.0470588235294
shininess 0.96
emissiveColor 0.0 0.0 0.0
opacity 1.0
translucency 0.0
shadeless False
wireframe False
transparent True
alphaToCoverage True
backfaceCull False
depthless False
autoBlendSkin False
castShadows True
receiveShadows True
diffuseTexture diffuse_texture.png
bumpmapTexture bumpmap.png
bumpmapIntensity 1.0
normalmapTexture normalmap.png
normalmapIntensity 1.0
displacementmapTexture norm_displacement.png
displacementmapIntensity 1.0
specularmapTexture specular.png
specularmapIntensity 1.0
transparencymapTexture alpha.png
transparencymapIntensity 1.0
aomapTexture ambient_occlusion_map.png
aomapIntensity 1.0
# Sub-surface scattering parameters
sssEnabled True
sssRScale 5.0
sssGScale 2.5
sssBScale 1.0
shader shaders/glsl/litsphere
shaderParam litsphereTexture litspheres/lit_hair.png
shaderConfig ambientOcclusion True
shaderConfig normal False
shaderConfig bump True
shaderConfig displacement False
shaderConfig vertexColors True
shaderConfig spec True
shaderConfig transparency True
shaderConfig diffuse True
shaderDefine ALPHA_MAP
uvMap alt_uv_coords.mhuv
This is another example, this time a real one. It is the X-ray material, used for example when showing the skeleton:
# Material definition for XrayMaterial
name XrayMaterial
ambientColor 0.1 0.1 0.1
diffuseColor 1.0 1.0 1.0
specularColor 0.3 0.3 0.3
shininess 0.1
emissiveColor 0.0 0.0 0.0
opacity 0.1
translucency 0.0
transparent True
backfaceCull True
shadeless False
wireframe False
depthless False
shader data/shaders/glsl/xray
shaderConfig diffuse False
shaderConfig transparency False
shaderConfig normal False
shaderConfig bump False
shaderConfig spec False
shaderConfig vertexColors False
shaderConfig displacement False
=== Explanation of material properties ===
=== Standard settings ===
''ambientColor'', ''diffuseColor'' ''specularColor'', ''emissiveColor'' are the standard colors
as used in the [[https://en.wikipedia.org/wiki/Rendering_equation rendering equation]]
or in standard OpenGL.
Colors are described as three floating point numbers, representing R G B, or red-green-blue
values. 1 is the maximum, 0 the minimum.
For example 1.0 0 0 means fully red, 1 1 1 means full white, 0 0 0 is full black.
0.5 0.5 0.5 will give you a grey middle color.
''opacity'' determines the opaqueness of the object (alpha channel), with 1 being fully
opaque, and 0 being fully transparent (invisible)
''translucency'' is something that came from Blender but is unused
=== autoBlendSkin ===
If True the shaderParam litsphereTexture will be automatically set to a dynamically blended litsphere texture,
which is a mix of three litsphere materials (afro, asian, caucasian) depending on the ethnic mix of the character.
=== Basic pointers ===
* You can test the influence of material properties using the Material Editor plugin (which you can enable in Settings > Plugins, then restart)
* Using a diffuse texture? You probably want to set the diffuse color to 1 1 1 (pure white)
* Never set ambient color too bright, or your model will look completely white. 0.1 0.1 0.1 is a good value to start from.
* Emissive is usually set to black, unless you want a radioactive character
* Don't know how to define a color in numbers? Try the Material Editor plugin
* Higher shininess means smaller and sharper highlight, lower shininess makes the highlight larger and more blurred
* Reduce specular color to reduce the specularity, make it black for a rough and non shiny object
* opacity 1 means fully opaque, 0 means fully transparent (invisible)
=== Scene definition ===
To complete the rendering equation, you also need to define the scene. To be
more precise, the positions, types, color and intensities of the lights need to
be set. By default, MakeHuman only has a default scene with only one pointlight.
In MakeHuman, lights do not move if the camera is moved, or rather, the model is
rotated while the camera and lights remain static. So light positions are defined
relative to the camera position.
MakeHuman scenes are defined in .mhscene files, which are binary py-pickled files.
They can be created or modified using the Scene Editor plugin (can be enabled in
settings) and can be selected from the Scene library in the Render tab.
Fixed function shading pipeline supports up to 8 lights, specific light support
depends on the shader used, some shaders only support a certain type or number
of lights, other ignore the chosen scene altogether (for example the litsphere
shader that uses pre-baked environment lighting).
The built-in offline renderer also uses the specified scene.
Scenes are not exported along with the model.
=== Shaders ===
The most powerful functionality of the material system is unlocked when using
shaders.
MakeHuman shaders are intended to be written in a modular way, so that shading
features can be enabled or disabled using the material format. Examples of such
features are bump mapping, normal mapping, specular mapping, diffuse texturing,
ambient occlusion and displacement mapping.
MakeHuman includes a basic introspection function that allows it to determine
what features a shader supports. It accomplishes this by looking for #ifdef and #ifndef statements. If a shader supports a certain technique, it is supposed to
encapsulate this in #ifdef NORMALMAP ... #else ... #endif statements.
The material system manages these shading functions by defining specific pre-processor
keywords when their corresponding shaderConfig property is set to true.
Shaders are recompiled when needed and stored in a shader cache for efficiency.
MakeHuman passes scene and material information to the shaders by certain uniform
parameters. Depending on which shaderConfig properties were enabled, additional
uniforms could be exposed to the shader. The shader does not have to declare all
these uniforms, however. MakeHuman binds only those uniforms present in the shader
if they have the right corresponding names.
Other properties are available from the OpenGL default uniforms or properties.
The following table lists these defines and the shaderConfig properties in the
material they relate to:
{| class="wikitable"
|-
! shaderConfig
! shader #DEFINE
! exposed uniform parameters if enabled
! comment
|-
|default (always enabled)
|
|vec3 ambient, vec4 diffuse, vec4 specular, vec3 emissive
|diffuse and specular are 4-component color values, diffuse=[rgba] with a=opacity and specular=[rgbs] with s=shininess
|-
|vertexColors
|VERTEX_COLOR
|
|
|-
|diffuse
|DIFFUSE
|diffuseTexture
|
|-
|bump
|BUMPMAP
|bumpmapTexture, bumpmapIntensity
|disabled if normal mapping is enabled (restriction might be lifted in the future)
|-
|normal
|NORMALMAP
|normalmapTexture, normalmapIntensity
|
|-
|displacement
|DISPLACEMENT
|displacementmapTexture, displacementmapIntensity
|
|-
|spec
|SPECULARMAP
|specularmapTexture, specularmapIntensity
|
|-
|transparency
|TRANSPARENCYMAP
|transparencymapTexture, transparencymapIntensity
|
|-
|ambientOcclusion
|AOMAP
|aomapTexture, aomapIntensity
|
|}
Additionally, MakeHuman exposes the vertex tangent as a vertex property, which
can be accessed by the shader.
attribute vec4 tangent
Currently, [[http://www.terathon.com/code/tangent.html Lengyel’s Method]] for tangent calculation
is used, but plans are to change this to [[http://bugtracker.makehumancommunity.org/issues/87 mikktspace]] in the future.
Shader examples for MakeHuman can be found here:
* Litsphere shader: [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/litsphere_vertex_shader.txt vertex]] [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/litsphere_fragment_shader.txt fragment]]
* Phong shader: [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/phong_vertex_shader.txt vertex]] [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/phong_fragment_shader.txt fragment]]
* Normal map shader (wip): [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/normalmap_vertex_shader.txt vertex]] [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/normalmap_fragment_shader.txt fragment]]
* X-ray shader: [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/xray_vertex_shader.txt vertex]] [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/xray_fragment_shader.txt fragment]]
f3e13287cb984f337e6917643c93d0e2b68f7a49
571
570
2016-01-27T15:19:22Z
Duststorm
19
/* Explanation of material properties */
wikitext
text/x-wiki
== Vertex weights ==
With vertex weights we intend a weighted mapping of vertices of a mesh to a bone of a skeleton. The weight is a value between 0 and 1, the sum of these weights for each vertex should be normalized, which means they should sum to 1 (note: no euclidian distance, just simple addition of all weights). A weight map in MakeHuman is expressed as a bone name (becomes a bone index internally, using the index of the bone in a breadth-first list relative to skeleton structure), a vertex name and a floating point weight between 0 and 1. This weighted vertex to bone mapping is used for skinning (posing and animating, using vertex skinning, smooth skinning or linear blend skinning algorithm). For the skinning algorithm to work correctly it’s required that the weights are always normalized, otherwise you will see vertices move out of place disproportionally (though the weight loading code in MakeHuman ensures that this normalization always happens, so this is not a concern to the artist that defines the weights). The vertex weights can be exported to external tools as well using formats such as collada (DAE), FBX, Ogre3D meshes or MD5 quake meshes.
=== Vertex weights and skeletons ===
Vertex weights are defined for the default “master” skeleton or rig. They are defined in a json file with jsonw extension. They link each vertex of the basemesh including helpers to a named bone of this master rig, together with a certain weight.
The weights loader automatically removes doubles and normalizes the weights (so that they sum to 1). It also reports what the maximum number of bone weights per vertex is, additionally it allows compiling the weights to a reduced set with n number of bone weights, and automatically renormalizes those weights so they, again, sum to 1.
When loading weights, any vertex that receives no weighting is assigned to the root bone, as this is needed for skinning to prevent all those vertices jumping to the origin (0*pos == 0).
Alternative skeletons can define their own weights, by referencing a weights file just like the master rig, or they can choose to derive their weights from the master rig, through so called reference bone mappings. Skeletons will derive their weights from the master rig if they do not specify a weights file explicitly. Custom vertex weights in alternative rigs override those defined on the master rig, except in the case where a proxy defines its own vertex weights. See section Vertex weights for proxies for more details.
=== Reference bones for vertex weights and poses ===
Reference bones are defined on alternative rigs, they are a list of names of bones contained in the master rig. Every bone of an alternative rig can have such a list of reference bones. An alternative rig can also omit these references if it uses the same name as bones in the master rig, in which the mapping is implicit. Having a list of bone references always overrides the implicit mapping. Reference bone mappings are required for two purposes.
They are used for mapping poses defined on the master rig to other rigs. All poses are defined as BVH files that pose the master rig, so they reference only the bone names of the master rig. Poses are applied to all other rigs by using the reference bone mapping: all the rotations that the pose applies to the referenced bones are combined (in the order in which the references were specified -- note: rotations are NOT commutative) and are applied to the alternative rig bone.
Reference bone mappings can also be used for determining vertex weights of custom rigs. If the alternative rig does not explicitly define its own vertex weights, the mapping of reference bones is used to infere a set of bone weights for each bone: All the weights of the reference bones on the master rig (with the weights definition of the default/master rig) are combined and apply to the bone of the alternative rig. Doubles are merged, and weights renormalized. Any vertex that is not weighted will be assigned to the root bone. Watch for messages in the log to verify this.
=== Vertex weights for proxies ===
Generally proxies are mapped to basemesh geometry, that means either to the body or to helpers, or a combination of both (though this is unusual). Proxies derive their vertex weights from the vertices on the basemesh on which they are fitted. A proxy defines its fitting as a 3d offset from one or three vertices on the basemesh, allowing it to deform as the human deforms. This mapping is used to transfer the vertex weights from basemesh to proxy: a proxy vertex referencing three basemesh vertices gets the bone weights of those three vertices. Doubles are merged and the weights are normalized, so that the influence factors are averaged or smoothed. In this case the weights applied to proxies are always those defined on the skeleton: either the weights explicitly defined on the skeleton, or the weights obtained from remapping the master rig weights to this skeleton using the reference bone mapping mentioned in the previous sections. There is an exception to this, which is explained in the next paragraph.
A proxy can explicitly define its own vertex (to bone) weights. In this case it overrides the weights that would be obtained through the proxy mapping, and replaces them by its own custom definition of weights. These vertex weights are always defined to reference the bones of the master rig (default skeleton), so they need to be remapped to other skeletons using reference bone mapping. This also means that the custom weights of a proxy override any custom weights mapping that might be loaded with an alternative rig (but only for that proxy item). Custom proxy weights should be avoided if possible, but are in some cases required, eg. for properly rigging shoes which are rigidly fitted to feet, or an alternative topology which defines very accurate rigging on the face. The general advice for custom rigs is therefore to stay as close to the master rig as possible, reusing as much bones identically as possible, to achieve the best results for proxies with custom weights.
In case of custom weight, the mhclo file must contain a line to indicate the weight file to use, using the keyword “vertexboneweights_file”, with the syntax:
vertexboneweights_file filename.jsonw
== Targets and modifiers ==
MakeHuman applies targets on the human by means of modifiers. Such a modifier has a value (usually between [0, 1] or [-1, 1]) that determines the effect of it on the human mesh. A modifier can control one or more targets and in apply the mixed sum of them on the mesh. Some modifiers.
=== Organization of targets ===
To make sure targets are linked to the right modifier, or to make managing targets easier, a certain discipline has to be observed in managing them. Targets are ASCII files in the data/targets or data/custom folder (in program or user folder) with a file extension of .target.
The file name and folder targets are in implicitly determines their group name. A group is identified by a sequence of tags or tokens, which are taken from the file and folder name of each target, and which can be delimited by “-” symbols, to include multiple tokens in a single file or folder name. The lib/targets.py module takes care of loading all the names of the available targets and assembles them into groups. All targets with the same tokens end up in the same group. This allows easy querying and requesting of targets. The creator is pretty much free to decide what groups to create for their targets. By passing the name of the target group to a modifier, they can make sure that modifier controls the targets belonging to this group. It does not matter whether you use folders or - delimited file names for creating groups.
An example:
data/targets/cartoon/eyes-large.target is categorized in group (cartoon, eyes, large)
data/targets/cartoon-eyes-large.target is also categorized in group (cartoon, eyes, large)
Most simple modifiers work by specifying a group (for example cartoon-eyes) and a set of two tokens to append at the end, depending on the position of the modifier slider (eg. small, large which would allow controlling the targets cartoon-eyes-small and cartoon-eyes-large by moving the slider to the left or right).
=== Reserved group tokens ===
Some of the tokens in the file or foldername of targets are linked to values that variables of the human can have. Such variables are for example age, weight, muscle, gender.
This table lists all the reserved tokens, and the variables they belong to.
{| class="wikitable"
|-
! Reserved token (value)
! Variable
|-
| female,male
| gender
|-
| baby, child, young, old
| age
|-
| african, caucasian, asian
| race
|-
| minmuscle, averagemuscle, maxmuscle
| muscle
|-
| minweight, averageweight, maxweight
| weight
|-
| minheight, averageheight, maxheight
| height
|-
| mincup, averagecup, maxcup
| breastsize
|-
| minfirmness, averagefirmness, maxfirmness
| breastfirmness
|-
| uncommonproportions, regularproportions, idealproportions
| bodyproportion
|}
Note that it is not a good idea to use simply “max” or “min” as a reserved token name, because they need to be unique (otherwise it would not be possible to determine whether they are a minimum for, for example, weight or height). These reserved tokens are declared in the lib/targets.py module. The variable can be set and queried on the human object, for example human.getAge(), human.setMuscle(0.7), human.getProportion().
The reserved tokens are NOT included in the group name, so you should at least include some other, non-reserved tokens in the file or folder names to assign your target to some meaningful group. The inclusion of these reserved tokens in your target names or paths makes it convenient to create macro modifiers.
=== Macro targets and modifiers ===
Macro modifiers are modifiers whose effect (the combination of targets they apply on the human) is influenced by macro variables set on the human (eg. human.set/getAge()). Therefore, macro modifiers often control a large set of targets (20 or even more). It’s also common for multiple modifiers to control exactly the same set of targets, for example the standard age/gender/race sliders all control the set of targets in the ‘macrodetails’ group. Each slider modifies a different variable (eg. human.setAge()) controlling the set of targets, and then reapplies a combination of the same set of targets on the human.
=== Macro modifier dependencies ===
There are other macro modifiers that can also depend on the same variables age, gender, race that is controlled by the main macro modifiers, as discussed above. For example the macro modifiers that influence the weight and muscle mass of the human, controls the targets group “macrodetails-universal”, the universal token is added by prepending “universal-” to all the file names of related targets, which all reside in the folder “macrodetails” (thus macrodetails-universal ends up being the group name). They could have been included all in the “macrodetails” group, but are kept separate for performance reasons, so that the “macrodetails” group of targets (which already contains some 40 targets or so) can be applied in realtime while moving the slider.
Of course a change in the variable that these age/race/gender modifiers control will have an effect on the macrodetails-universal modifiers (because they control targets that depend on age -- their targets include -young- -old- etc. tokens in their filenames). This means there are inter-dependencies between macro modifiers, if one is updated, another one that depends on it should be refreshed. These dependencies can be descibed as follows: one macro modifier controls exactly one macro variable (such as age). It (or rather, the targets it controls) can however depend on multiple macro variables. The trivial case is where a macro modifier only depends on the macro variable that it controls itself. The tracking of these dependencies and deciding which modifiers must be updated when another is changed happens automatically. Dependencies are automatically tracked as soon as you add a modifier to the human (by calling modifier.setHuman(human)). To make this more performant in real-time, the propagation of updates to modifiers is limited while sliders are dragged (see realtimeDependencyUpdates in apps/humanmodifier.py).
As you might have understood, creating modifiers that depend on human variables is almost automatic. The only thing you need to do is create some targets that resolve to the same group name, add variations for all the macro variables you want and add the proper reserved tokens to the file or folder name (refer to the left column in the table above), and create a modifier with this group name. Once added to the human, the dependencies are tracked automatically.
=== Organization of modifiers ===
We already discussed how we organized targets in groups, to make it easier to connect them to a modifier. Now we will discuss how we can do a similar thing for modifiers.
Modifiers provide an easy way to manage targets. They allow reducing many of hundreds of targets to a more manageable number of controllable properties. But even then, we still have about 100 modifiers, which is still quite a lot. Therefore we group them in groups of categories, much like we do in the GUI. This makes it easy to get a grouped overview of all modifiers when using an alternative interface, think of commandline or scripting. The way in which you declare the group and other properties of a modifier determines what target groups it gets its targets from.
Modifiers are declared with a group name, some intermediary “target name” and a number of tail tokens (2 or 3 usually, eg min/max). The group of targets controlled by these modifiers is composed as: groupname-targets_name-tail.
Macro modifiers are declared with a group name, and a controlled variable. The groupname must be the same groupname of the targets they control.
=== Declarative modifiers ===
Instead of hard coding what modifiers you want to instantiate, MakeHuman offers a data-based format to declare what modifiers should be created, and how they should be shown in a user interface with sliders.
A full declaration requires three files, all stored in data/modifiers. The first is the declaration of the modifiers (eg. modeling_modifiers.json). This format lists a modifier group name, and all the modifiers with their macro variable (if they are macro modifiers) or target name and 2 or 3 (if they are a modifier with a center point) tail tokens.
The second file adds a description to the modifiers declared in the first file. It basically contains a key-value set, referencing the modifier name, and a textual description of what the modifier controls. A modifier name is constructed as follows: group/targets_name-all|the|tails and for a macro modifier: group/variable
The third file defines how these modifiers should be shown in the user interface as sliders. It lists a set of categories, and the sliders to show in them, and how their values have to be saved in a mhm file (mainly a feature for legacy compatibility).
=== Your own plugin with modifiers, sliders and targets ===
Using the declarative data format described in the section above, it’s really simple. Have a look at the plugin plugins/0_modeling_0_modifiers.py. Notice it’s barely 5 lines of code. Creating your own modeling plugin is as simple as that, pointing it to your own modifier data files.
=== Binary targets ===
Because loading these ASCII target files, and iterating all target files and folders can be slow (especially on windows) in build versions, we compile all targets in the data/targets system folder into a single binary file, that furthermore acts exactly the same as multiple target files. The binary targets file is stored in the system data/ folder and is called targets.npz, it is created by running the compile_targets.py script, which is also automatically run in the build_prepare.py build routine. The file structure of the targets files is maintained in this binary file so that targets can be loaded from it in the same way as you would do with regular files. A change in the .target files, or newly added target files allow a recompilation of the targets npz file before the change is applied.
== Material format==
=== Introduction ===
MakeHuman material files have extension .mhmat and are simple ASCII definitions
of the material settings to use for rendering.
These material settings are primarily intended for configuring the material
system within MakeHuman, but they are usually carried out to other software as
well by the exporters.
Not all properties will be supported for all given combinations of shaders, nor
is there a guarantee that the exporters will honor all the properties in these
files.
Every 3D object in MakeHuman has exactly one material attached to it (multiple
materials are not possible, you need separate objects for that). Materials are
used for proxy meshes (clothes, hairs, ...) but also for the skin of the human
itself.
=== The Material System ===
The MakeHuman material system is closely based on the [[https://en.wikipedia.org/wiki/Rendering_equation standard rendering equation]]
as is used in OpenGL and DirectX forward rendering pipelines. MakeHuman supports
shaders and the material format contains the most commonly used extensions in
real-time rendering. As a consequence of this, users need to be aware of the
implications of setting values such as ambient too bright, or diffuse too dark.
All usual rules about rendering materials apply.
At the highest level, the material supports setting the most basic material
properties, such as diffuse, specular and ambient color. These are supported
both by shaders as well as the fixed function shading pipeline (which is used
when no shader is specified). Fixed function also supports the diffuse texture
option.
At a second level, a shader can be chosen. This refers directly to the filename
of a [[https://en.wikipedia.org/wiki/OpenGL_Shading_Language GLSL shader]] as found in the data/shaders/glsl folder of MakeHuman.
The selected shader will determine what material options will be available.
Various additional settings become available, depending on whether or not the
chosen shader has support for these features, such as bump or normal mapping,
ambient occlusion, specular mapping, etc.
For most of these, a texture map and a scalar property between 0 and 1 can be
set, the latter determining the intensity or influence of the effect.
Finally, MakeHuman also contains a built-in offline renderer that supports some
additional properties such as subsurface scattering, for which some special
properties are available.
=== Example ===
This is a full and complete (but fictional) example of a material file for MakeHuman, it shows all the available properties.
# Example MakeHuman Material definition
name Material_name
tag some_tag
tag another_tag
description material description text here
ambientColor 0.11 0.11 0.11
diffuseColor 1.0 1.0 1.0
specularColor 0.0470588235294 0.0470588235294 0.0470588235294
shininess 0.96
emissiveColor 0.0 0.0 0.0
opacity 1.0
translucency 0.0
shadeless False
wireframe False
transparent True
alphaToCoverage True
backfaceCull False
depthless False
autoBlendSkin False
castShadows True
receiveShadows True
diffuseTexture diffuse_texture.png
bumpmapTexture bumpmap.png
bumpmapIntensity 1.0
normalmapTexture normalmap.png
normalmapIntensity 1.0
displacementmapTexture norm_displacement.png
displacementmapIntensity 1.0
specularmapTexture specular.png
specularmapIntensity 1.0
transparencymapTexture alpha.png
transparencymapIntensity 1.0
aomapTexture ambient_occlusion_map.png
aomapIntensity 1.0
# Sub-surface scattering parameters
sssEnabled True
sssRScale 5.0
sssGScale 2.5
sssBScale 1.0
shader shaders/glsl/litsphere
shaderParam litsphereTexture litspheres/lit_hair.png
shaderConfig ambientOcclusion True
shaderConfig normal False
shaderConfig bump True
shaderConfig displacement False
shaderConfig vertexColors True
shaderConfig spec True
shaderConfig transparency True
shaderConfig diffuse True
shaderDefine ALPHA_MAP
uvMap alt_uv_coords.mhuv
This is another example, this time a real one. It is the X-ray material, used for example when showing the skeleton:
# Material definition for XrayMaterial
name XrayMaterial
ambientColor 0.1 0.1 0.1
diffuseColor 1.0 1.0 1.0
specularColor 0.3 0.3 0.3
shininess 0.1
emissiveColor 0.0 0.0 0.0
opacity 0.1
translucency 0.0
transparent True
backfaceCull True
shadeless False
wireframe False
depthless False
shader data/shaders/glsl/xray
shaderConfig diffuse False
shaderConfig transparency False
shaderConfig normal False
shaderConfig bump False
shaderConfig spec False
shaderConfig vertexColors False
shaderConfig displacement False
=== Explanation of material properties ===
=== Standard settings ===
ambientColor, diffuseColor specularColor, emissiveColor are the standard colors
as used in the [[https://en.wikipedia.org/wiki/Rendering_equation rendering equation]]
or in standard OpenGL.
Colors are described as three floating point numbers, representing R G B, or red-green-blue
values. 1 is the maximum, 0 the minimum.
For example 1.0 0 0 means fully red, 1 1 1 means full white, 0 0 0 is full black.
0.5 0.5 0.5 will give you a grey middle color.
=== autoBlendSkin ===
If True the shaderParam litsphereTexture will be automatically set to a dynamically blended litsphere texture,
which is a mix of three litsphere materials (afro, asian, caucasian) depending on the ethnic mix of the character.
=== Basic pointers ===
* You can test the influence of material properties using the Material Editor plugin (which you can enable in Settings > Plugins, then restart)
* Using a diffuse texture? You probably want to set the diffuse color to 1 1 1 (pure white)
* Never set ambient color too bright, or your model will look completely white. 0.1 0.1 0.1 is a good value to start from.
* Emissive is usually set to black, unless you want a radioactive character
* Don't know how to define a color in numbers? Try the Material Editor plugin
* Higher shininess means smaller and sharper highlight, lower shininess makes the highlight larger and more blurred
* Reduce specular color to reduce the specularity, make it black for a rough and non shiny object
* opacity 1 means fully opaque, 0 means fully transparent (invisible)
=== Scene definition ===
To complete the rendering equation, you also need to define the scene. To be
more precise, the positions, types, color and intensities of the lights need to
be set. By default, MakeHuman only has a default scene with only one pointlight.
In MakeHuman, lights do not move if the camera is moved, or rather, the model is
rotated while the camera and lights remain static. So light positions are defined
relative to the camera position.
MakeHuman scenes are defined in .mhscene files, which are binary py-pickled files.
They can be created or modified using the Scene Editor plugin (can be enabled in
settings) and can be selected from the Scene library in the Render tab.
Fixed function shading pipeline supports up to 8 lights, specific light support
depends on the shader used, some shaders only support a certain type or number
of lights, other ignore the chosen scene altogether (for example the litsphere
shader that uses pre-baked environment lighting).
The built-in offline renderer also uses the specified scene.
Scenes are not exported along with the model.
=== Shaders ===
The most powerful functionality of the material system is unlocked when using
shaders.
MakeHuman shaders are intended to be written in a modular way, so that shading
features can be enabled or disabled using the material format. Examples of such
features are bump mapping, normal mapping, specular mapping, diffuse texturing,
ambient occlusion and displacement mapping.
MakeHuman includes a basic introspection function that allows it to determine
what features a shader supports. It accomplishes this by looking for #ifdef and #ifndef statements. If a shader supports a certain technique, it is supposed to
encapsulate this in #ifdef NORMALMAP ... #else ... #endif statements.
The material system manages these shading functions by defining specific pre-processor
keywords when their corresponding shaderConfig property is set to true.
Shaders are recompiled when needed and stored in a shader cache for efficiency.
MakeHuman passes scene and material information to the shaders by certain uniform
parameters. Depending on which shaderConfig properties were enabled, additional
uniforms could be exposed to the shader. The shader does not have to declare all
these uniforms, however. MakeHuman binds only those uniforms present in the shader
if they have the right corresponding names.
Other properties are available from the OpenGL default uniforms or properties.
The following table lists these defines and the shaderConfig properties in the
material they relate to:
{| class="wikitable"
|-
! shaderConfig
! shader #DEFINE
! exposed uniform parameters if enabled
! comment
|-
|default (always enabled)
|
|vec3 ambient, vec4 diffuse, vec4 specular, vec3 emissive
|diffuse and specular are 4-component color values, diffuse=[rgba] with a=opacity and specular=[rgbs] with s=shininess
|-
|vertexColors
|VERTEX_COLOR
|
|
|-
|diffuse
|DIFFUSE
|diffuseTexture
|
|-
|bump
|BUMPMAP
|bumpmapTexture, bumpmapIntensity
|disabled if normal mapping is enabled (restriction might be lifted in the future)
|-
|normal
|NORMALMAP
|normalmapTexture, normalmapIntensity
|
|-
|displacement
|DISPLACEMENT
|displacementmapTexture, displacementmapIntensity
|
|-
|spec
|SPECULARMAP
|specularmapTexture, specularmapIntensity
|
|-
|transparency
|TRANSPARENCYMAP
|transparencymapTexture, transparencymapIntensity
|
|-
|ambientOcclusion
|AOMAP
|aomapTexture, aomapIntensity
|
|}
Additionally, MakeHuman exposes the vertex tangent as a vertex property, which
can be accessed by the shader.
attribute vec4 tangent
Currently, [[http://www.terathon.com/code/tangent.html Lengyel’s Method]] for tangent calculation
is used, but plans are to change this to [[http://bugtracker.makehumancommunity.org/issues/87 mikktspace]] in the future.
Shader examples for MakeHuman can be found here:
* Litsphere shader: [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/litsphere_vertex_shader.txt vertex]] [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/litsphere_fragment_shader.txt fragment]]
* Phong shader: [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/phong_vertex_shader.txt vertex]] [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/phong_fragment_shader.txt fragment]]
* Normal map shader (wip): [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/normalmap_vertex_shader.txt vertex]] [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/normalmap_fragment_shader.txt fragment]]
* X-ray shader: [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/xray_vertex_shader.txt vertex]] [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/xray_fragment_shader.txt fragment]]
f41a097688b31b56ca198485fbd900a2fb60ff3a
570
569
2016-01-27T15:18:45Z
Duststorm
19
/* Scene definition */
wikitext
text/x-wiki
== Vertex weights ==
With vertex weights we intend a weighted mapping of vertices of a mesh to a bone of a skeleton. The weight is a value between 0 and 1, the sum of these weights for each vertex should be normalized, which means they should sum to 1 (note: no euclidian distance, just simple addition of all weights). A weight map in MakeHuman is expressed as a bone name (becomes a bone index internally, using the index of the bone in a breadth-first list relative to skeleton structure), a vertex name and a floating point weight between 0 and 1. This weighted vertex to bone mapping is used for skinning (posing and animating, using vertex skinning, smooth skinning or linear blend skinning algorithm). For the skinning algorithm to work correctly it’s required that the weights are always normalized, otherwise you will see vertices move out of place disproportionally (though the weight loading code in MakeHuman ensures that this normalization always happens, so this is not a concern to the artist that defines the weights). The vertex weights can be exported to external tools as well using formats such as collada (DAE), FBX, Ogre3D meshes or MD5 quake meshes.
=== Vertex weights and skeletons ===
Vertex weights are defined for the default “master” skeleton or rig. They are defined in a json file with jsonw extension. They link each vertex of the basemesh including helpers to a named bone of this master rig, together with a certain weight.
The weights loader automatically removes doubles and normalizes the weights (so that they sum to 1). It also reports what the maximum number of bone weights per vertex is, additionally it allows compiling the weights to a reduced set with n number of bone weights, and automatically renormalizes those weights so they, again, sum to 1.
When loading weights, any vertex that receives no weighting is assigned to the root bone, as this is needed for skinning to prevent all those vertices jumping to the origin (0*pos == 0).
Alternative skeletons can define their own weights, by referencing a weights file just like the master rig, or they can choose to derive their weights from the master rig, through so called reference bone mappings. Skeletons will derive their weights from the master rig if they do not specify a weights file explicitly. Custom vertex weights in alternative rigs override those defined on the master rig, except in the case where a proxy defines its own vertex weights. See section Vertex weights for proxies for more details.
=== Reference bones for vertex weights and poses ===
Reference bones are defined on alternative rigs, they are a list of names of bones contained in the master rig. Every bone of an alternative rig can have such a list of reference bones. An alternative rig can also omit these references if it uses the same name as bones in the master rig, in which the mapping is implicit. Having a list of bone references always overrides the implicit mapping. Reference bone mappings are required for two purposes.
They are used for mapping poses defined on the master rig to other rigs. All poses are defined as BVH files that pose the master rig, so they reference only the bone names of the master rig. Poses are applied to all other rigs by using the reference bone mapping: all the rotations that the pose applies to the referenced bones are combined (in the order in which the references were specified -- note: rotations are NOT commutative) and are applied to the alternative rig bone.
Reference bone mappings can also be used for determining vertex weights of custom rigs. If the alternative rig does not explicitly define its own vertex weights, the mapping of reference bones is used to infere a set of bone weights for each bone: All the weights of the reference bones on the master rig (with the weights definition of the default/master rig) are combined and apply to the bone of the alternative rig. Doubles are merged, and weights renormalized. Any vertex that is not weighted will be assigned to the root bone. Watch for messages in the log to verify this.
=== Vertex weights for proxies ===
Generally proxies are mapped to basemesh geometry, that means either to the body or to helpers, or a combination of both (though this is unusual). Proxies derive their vertex weights from the vertices on the basemesh on which they are fitted. A proxy defines its fitting as a 3d offset from one or three vertices on the basemesh, allowing it to deform as the human deforms. This mapping is used to transfer the vertex weights from basemesh to proxy: a proxy vertex referencing three basemesh vertices gets the bone weights of those three vertices. Doubles are merged and the weights are normalized, so that the influence factors are averaged or smoothed. In this case the weights applied to proxies are always those defined on the skeleton: either the weights explicitly defined on the skeleton, or the weights obtained from remapping the master rig weights to this skeleton using the reference bone mapping mentioned in the previous sections. There is an exception to this, which is explained in the next paragraph.
A proxy can explicitly define its own vertex (to bone) weights. In this case it overrides the weights that would be obtained through the proxy mapping, and replaces them by its own custom definition of weights. These vertex weights are always defined to reference the bones of the master rig (default skeleton), so they need to be remapped to other skeletons using reference bone mapping. This also means that the custom weights of a proxy override any custom weights mapping that might be loaded with an alternative rig (but only for that proxy item). Custom proxy weights should be avoided if possible, but are in some cases required, eg. for properly rigging shoes which are rigidly fitted to feet, or an alternative topology which defines very accurate rigging on the face. The general advice for custom rigs is therefore to stay as close to the master rig as possible, reusing as much bones identically as possible, to achieve the best results for proxies with custom weights.
In case of custom weight, the mhclo file must contain a line to indicate the weight file to use, using the keyword “vertexboneweights_file”, with the syntax:
vertexboneweights_file filename.jsonw
== Targets and modifiers ==
MakeHuman applies targets on the human by means of modifiers. Such a modifier has a value (usually between [0, 1] or [-1, 1]) that determines the effect of it on the human mesh. A modifier can control one or more targets and in apply the mixed sum of them on the mesh. Some modifiers.
=== Organization of targets ===
To make sure targets are linked to the right modifier, or to make managing targets easier, a certain discipline has to be observed in managing them. Targets are ASCII files in the data/targets or data/custom folder (in program or user folder) with a file extension of .target.
The file name and folder targets are in implicitly determines their group name. A group is identified by a sequence of tags or tokens, which are taken from the file and folder name of each target, and which can be delimited by “-” symbols, to include multiple tokens in a single file or folder name. The lib/targets.py module takes care of loading all the names of the available targets and assembles them into groups. All targets with the same tokens end up in the same group. This allows easy querying and requesting of targets. The creator is pretty much free to decide what groups to create for their targets. By passing the name of the target group to a modifier, they can make sure that modifier controls the targets belonging to this group. It does not matter whether you use folders or - delimited file names for creating groups.
An example:
data/targets/cartoon/eyes-large.target is categorized in group (cartoon, eyes, large)
data/targets/cartoon-eyes-large.target is also categorized in group (cartoon, eyes, large)
Most simple modifiers work by specifying a group (for example cartoon-eyes) and a set of two tokens to append at the end, depending on the position of the modifier slider (eg. small, large which would allow controlling the targets cartoon-eyes-small and cartoon-eyes-large by moving the slider to the left or right).
=== Reserved group tokens ===
Some of the tokens in the file or foldername of targets are linked to values that variables of the human can have. Such variables are for example age, weight, muscle, gender.
This table lists all the reserved tokens, and the variables they belong to.
{| class="wikitable"
|-
! Reserved token (value)
! Variable
|-
| female,male
| gender
|-
| baby, child, young, old
| age
|-
| african, caucasian, asian
| race
|-
| minmuscle, averagemuscle, maxmuscle
| muscle
|-
| minweight, averageweight, maxweight
| weight
|-
| minheight, averageheight, maxheight
| height
|-
| mincup, averagecup, maxcup
| breastsize
|-
| minfirmness, averagefirmness, maxfirmness
| breastfirmness
|-
| uncommonproportions, regularproportions, idealproportions
| bodyproportion
|}
Note that it is not a good idea to use simply “max” or “min” as a reserved token name, because they need to be unique (otherwise it would not be possible to determine whether they are a minimum for, for example, weight or height). These reserved tokens are declared in the lib/targets.py module. The variable can be set and queried on the human object, for example human.getAge(), human.setMuscle(0.7), human.getProportion().
The reserved tokens are NOT included in the group name, so you should at least include some other, non-reserved tokens in the file or folder names to assign your target to some meaningful group. The inclusion of these reserved tokens in your target names or paths makes it convenient to create macro modifiers.
=== Macro targets and modifiers ===
Macro modifiers are modifiers whose effect (the combination of targets they apply on the human) is influenced by macro variables set on the human (eg. human.set/getAge()). Therefore, macro modifiers often control a large set of targets (20 or even more). It’s also common for multiple modifiers to control exactly the same set of targets, for example the standard age/gender/race sliders all control the set of targets in the ‘macrodetails’ group. Each slider modifies a different variable (eg. human.setAge()) controlling the set of targets, and then reapplies a combination of the same set of targets on the human.
=== Macro modifier dependencies ===
There are other macro modifiers that can also depend on the same variables age, gender, race that is controlled by the main macro modifiers, as discussed above. For example the macro modifiers that influence the weight and muscle mass of the human, controls the targets group “macrodetails-universal”, the universal token is added by prepending “universal-” to all the file names of related targets, which all reside in the folder “macrodetails” (thus macrodetails-universal ends up being the group name). They could have been included all in the “macrodetails” group, but are kept separate for performance reasons, so that the “macrodetails” group of targets (which already contains some 40 targets or so) can be applied in realtime while moving the slider.
Of course a change in the variable that these age/race/gender modifiers control will have an effect on the macrodetails-universal modifiers (because they control targets that depend on age -- their targets include -young- -old- etc. tokens in their filenames). This means there are inter-dependencies between macro modifiers, if one is updated, another one that depends on it should be refreshed. These dependencies can be descibed as follows: one macro modifier controls exactly one macro variable (such as age). It (or rather, the targets it controls) can however depend on multiple macro variables. The trivial case is where a macro modifier only depends on the macro variable that it controls itself. The tracking of these dependencies and deciding which modifiers must be updated when another is changed happens automatically. Dependencies are automatically tracked as soon as you add a modifier to the human (by calling modifier.setHuman(human)). To make this more performant in real-time, the propagation of updates to modifiers is limited while sliders are dragged (see realtimeDependencyUpdates in apps/humanmodifier.py).
As you might have understood, creating modifiers that depend on human variables is almost automatic. The only thing you need to do is create some targets that resolve to the same group name, add variations for all the macro variables you want and add the proper reserved tokens to the file or folder name (refer to the left column in the table above), and create a modifier with this group name. Once added to the human, the dependencies are tracked automatically.
=== Organization of modifiers ===
We already discussed how we organized targets in groups, to make it easier to connect them to a modifier. Now we will discuss how we can do a similar thing for modifiers.
Modifiers provide an easy way to manage targets. They allow reducing many of hundreds of targets to a more manageable number of controllable properties. But even then, we still have about 100 modifiers, which is still quite a lot. Therefore we group them in groups of categories, much like we do in the GUI. This makes it easy to get a grouped overview of all modifiers when using an alternative interface, think of commandline or scripting. The way in which you declare the group and other properties of a modifier determines what target groups it gets its targets from.
Modifiers are declared with a group name, some intermediary “target name” and a number of tail tokens (2 or 3 usually, eg min/max). The group of targets controlled by these modifiers is composed as: groupname-targets_name-tail.
Macro modifiers are declared with a group name, and a controlled variable. The groupname must be the same groupname of the targets they control.
=== Declarative modifiers ===
Instead of hard coding what modifiers you want to instantiate, MakeHuman offers a data-based format to declare what modifiers should be created, and how they should be shown in a user interface with sliders.
A full declaration requires three files, all stored in data/modifiers. The first is the declaration of the modifiers (eg. modeling_modifiers.json). This format lists a modifier group name, and all the modifiers with their macro variable (if they are macro modifiers) or target name and 2 or 3 (if they are a modifier with a center point) tail tokens.
The second file adds a description to the modifiers declared in the first file. It basically contains a key-value set, referencing the modifier name, and a textual description of what the modifier controls. A modifier name is constructed as follows: group/targets_name-all|the|tails and for a macro modifier: group/variable
The third file defines how these modifiers should be shown in the user interface as sliders. It lists a set of categories, and the sliders to show in them, and how their values have to be saved in a mhm file (mainly a feature for legacy compatibility).
=== Your own plugin with modifiers, sliders and targets ===
Using the declarative data format described in the section above, it’s really simple. Have a look at the plugin plugins/0_modeling_0_modifiers.py. Notice it’s barely 5 lines of code. Creating your own modeling plugin is as simple as that, pointing it to your own modifier data files.
=== Binary targets ===
Because loading these ASCII target files, and iterating all target files and folders can be slow (especially on windows) in build versions, we compile all targets in the data/targets system folder into a single binary file, that furthermore acts exactly the same as multiple target files. The binary targets file is stored in the system data/ folder and is called targets.npz, it is created by running the compile_targets.py script, which is also automatically run in the build_prepare.py build routine. The file structure of the targets files is maintained in this binary file so that targets can be loaded from it in the same way as you would do with regular files. A change in the .target files, or newly added target files allow a recompilation of the targets npz file before the change is applied.
== Material format==
=== Introduction ===
MakeHuman material files have extension .mhmat and are simple ASCII definitions
of the material settings to use for rendering.
These material settings are primarily intended for configuring the material
system within MakeHuman, but they are usually carried out to other software as
well by the exporters.
Not all properties will be supported for all given combinations of shaders, nor
is there a guarantee that the exporters will honor all the properties in these
files.
Every 3D object in MakeHuman has exactly one material attached to it (multiple
materials are not possible, you need separate objects for that). Materials are
used for proxy meshes (clothes, hairs, ...) but also for the skin of the human
itself.
=== The Material System ===
The MakeHuman material system is closely based on the [[https://en.wikipedia.org/wiki/Rendering_equation standard rendering equation]]
as is used in OpenGL and DirectX forward rendering pipelines. MakeHuman supports
shaders and the material format contains the most commonly used extensions in
real-time rendering. As a consequence of this, users need to be aware of the
implications of setting values such as ambient too bright, or diffuse too dark.
All usual rules about rendering materials apply.
At the highest level, the material supports setting the most basic material
properties, such as diffuse, specular and ambient color. These are supported
both by shaders as well as the fixed function shading pipeline (which is used
when no shader is specified). Fixed function also supports the diffuse texture
option.
At a second level, a shader can be chosen. This refers directly to the filename
of a [[https://en.wikipedia.org/wiki/OpenGL_Shading_Language GLSL shader]] as found in the data/shaders/glsl folder of MakeHuman.
The selected shader will determine what material options will be available.
Various additional settings become available, depending on whether or not the
chosen shader has support for these features, such as bump or normal mapping,
ambient occlusion, specular mapping, etc.
For most of these, a texture map and a scalar property between 0 and 1 can be
set, the latter determining the intensity or influence of the effect.
Finally, MakeHuman also contains a built-in offline renderer that supports some
additional properties such as subsurface scattering, for which some special
properties are available.
=== Example ===
This is a full and complete (but fictional) example of a material file for MakeHuman, it shows all the available properties.
# Example MakeHuman Material definition
name Material_name
tag some_tag
tag another_tag
description material description text here
ambientColor 0.11 0.11 0.11
diffuseColor 1.0 1.0 1.0
specularColor 0.0470588235294 0.0470588235294 0.0470588235294
shininess 0.96
emissiveColor 0.0 0.0 0.0
opacity 1.0
translucency 0.0
shadeless False
wireframe False
transparent True
alphaToCoverage True
backfaceCull False
depthless False
autoBlendSkin False
castShadows True
receiveShadows True
diffuseTexture diffuse_texture.png
bumpmapTexture bumpmap.png
bumpmapIntensity 1.0
normalmapTexture normalmap.png
normalmapIntensity 1.0
displacementmapTexture norm_displacement.png
displacementmapIntensity 1.0
specularmapTexture specular.png
specularmapIntensity 1.0
transparencymapTexture alpha.png
transparencymapIntensity 1.0
aomapTexture ambient_occlusion_map.png
aomapIntensity 1.0
# Sub-surface scattering parameters
sssEnabled True
sssRScale 5.0
sssGScale 2.5
sssBScale 1.0
shader shaders/glsl/litsphere
shaderParam litsphereTexture litspheres/lit_hair.png
shaderConfig ambientOcclusion True
shaderConfig normal False
shaderConfig bump True
shaderConfig displacement False
shaderConfig vertexColors True
shaderConfig spec True
shaderConfig transparency True
shaderConfig diffuse True
shaderDefine ALPHA_MAP
uvMap alt_uv_coords.mhuv
This is another example, this time a real one. It is the X-ray material, used for example when showing the skeleton:
# Material definition for XrayMaterial
name XrayMaterial
ambientColor 0.1 0.1 0.1
diffuseColor 1.0 1.0 1.0
specularColor 0.3 0.3 0.3
shininess 0.1
emissiveColor 0.0 0.0 0.0
opacity 0.1
translucency 0.0
transparent True
backfaceCull True
shadeless False
wireframe False
depthless False
shader data/shaders/glsl/xray
shaderConfig diffuse False
shaderConfig transparency False
shaderConfig normal False
shaderConfig bump False
shaderConfig spec False
shaderConfig vertexColors False
shaderConfig displacement False
=== Explanation of material properties ===
=== autoBlendSkin ===
If True the shaderParam litsphereTexture will be automatically set to a dynamically blended litsphere texture,
which is a mix of three litsphere materials (afro, asian, caucasian) depending on the ethnic mix of the character.
=== Basic pointers ===
* You can test the influence of material properties using the Material Editor plugin (which you can enable in Settings > Plugins, then restart)
* Using a diffuse texture? You probably want to set the diffuse color to 1 1 1 (pure white)
* Never set ambient color too bright, or your model will look completely white. 0.1 0.1 0.1 is a good value to start from.
* Emissive is usually set to black, unless you want a radioactive character
* Don't know how to define a color in numbers? Try the Material Editor plugin
* Higher shininess means smaller and sharper highlight, lower shininess makes the highlight larger and more blurred
* Reduce specular color to reduce the specularity, make it black for a rough and non shiny object
* opacity 1 means fully opaque, 0 means fully transparent (invisible)
=== Scene definition ===
To complete the rendering equation, you also need to define the scene. To be
more precise, the positions, types, color and intensities of the lights need to
be set. By default, MakeHuman only has a default scene with only one pointlight.
In MakeHuman, lights do not move if the camera is moved, or rather, the model is
rotated while the camera and lights remain static. So light positions are defined
relative to the camera position.
MakeHuman scenes are defined in .mhscene files, which are binary py-pickled files.
They can be created or modified using the Scene Editor plugin (can be enabled in
settings) and can be selected from the Scene library in the Render tab.
Fixed function shading pipeline supports up to 8 lights, specific light support
depends on the shader used, some shaders only support a certain type or number
of lights, other ignore the chosen scene altogether (for example the litsphere
shader that uses pre-baked environment lighting).
The built-in offline renderer also uses the specified scene.
Scenes are not exported along with the model.
=== Shaders ===
The most powerful functionality of the material system is unlocked when using
shaders.
MakeHuman shaders are intended to be written in a modular way, so that shading
features can be enabled or disabled using the material format. Examples of such
features are bump mapping, normal mapping, specular mapping, diffuse texturing,
ambient occlusion and displacement mapping.
MakeHuman includes a basic introspection function that allows it to determine
what features a shader supports. It accomplishes this by looking for #ifdef and #ifndef statements. If a shader supports a certain technique, it is supposed to
encapsulate this in #ifdef NORMALMAP ... #else ... #endif statements.
The material system manages these shading functions by defining specific pre-processor
keywords when their corresponding shaderConfig property is set to true.
Shaders are recompiled when needed and stored in a shader cache for efficiency.
MakeHuman passes scene and material information to the shaders by certain uniform
parameters. Depending on which shaderConfig properties were enabled, additional
uniforms could be exposed to the shader. The shader does not have to declare all
these uniforms, however. MakeHuman binds only those uniforms present in the shader
if they have the right corresponding names.
Other properties are available from the OpenGL default uniforms or properties.
The following table lists these defines and the shaderConfig properties in the
material they relate to:
{| class="wikitable"
|-
! shaderConfig
! shader #DEFINE
! exposed uniform parameters if enabled
! comment
|-
|default (always enabled)
|
|vec3 ambient, vec4 diffuse, vec4 specular, vec3 emissive
|diffuse and specular are 4-component color values, diffuse=[rgba] with a=opacity and specular=[rgbs] with s=shininess
|-
|vertexColors
|VERTEX_COLOR
|
|
|-
|diffuse
|DIFFUSE
|diffuseTexture
|
|-
|bump
|BUMPMAP
|bumpmapTexture, bumpmapIntensity
|disabled if normal mapping is enabled (restriction might be lifted in the future)
|-
|normal
|NORMALMAP
|normalmapTexture, normalmapIntensity
|
|-
|displacement
|DISPLACEMENT
|displacementmapTexture, displacementmapIntensity
|
|-
|spec
|SPECULARMAP
|specularmapTexture, specularmapIntensity
|
|-
|transparency
|TRANSPARENCYMAP
|transparencymapTexture, transparencymapIntensity
|
|-
|ambientOcclusion
|AOMAP
|aomapTexture, aomapIntensity
|
|}
Additionally, MakeHuman exposes the vertex tangent as a vertex property, which
can be accessed by the shader.
attribute vec4 tangent
Currently, [[http://www.terathon.com/code/tangent.html Lengyel’s Method]] for tangent calculation
is used, but plans are to change this to [[http://bugtracker.makehumancommunity.org/issues/87 mikktspace]] in the future.
Shader examples for MakeHuman can be found here:
* Litsphere shader: [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/litsphere_vertex_shader.txt vertex]] [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/litsphere_fragment_shader.txt fragment]]
* Phong shader: [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/phong_vertex_shader.txt vertex]] [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/phong_fragment_shader.txt fragment]]
* Normal map shader (wip): [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/normalmap_vertex_shader.txt vertex]] [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/normalmap_fragment_shader.txt fragment]]
* X-ray shader: [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/xray_vertex_shader.txt vertex]] [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/xray_fragment_shader.txt fragment]]
8eb657fa070d50fc9a2da0e1d8b34f69f70e8c50
569
568
2016-01-27T15:17:54Z
Duststorm
19
/* Shaders */
wikitext
text/x-wiki
== Vertex weights ==
With vertex weights we intend a weighted mapping of vertices of a mesh to a bone of a skeleton. The weight is a value between 0 and 1, the sum of these weights for each vertex should be normalized, which means they should sum to 1 (note: no euclidian distance, just simple addition of all weights). A weight map in MakeHuman is expressed as a bone name (becomes a bone index internally, using the index of the bone in a breadth-first list relative to skeleton structure), a vertex name and a floating point weight between 0 and 1. This weighted vertex to bone mapping is used for skinning (posing and animating, using vertex skinning, smooth skinning or linear blend skinning algorithm). For the skinning algorithm to work correctly it’s required that the weights are always normalized, otherwise you will see vertices move out of place disproportionally (though the weight loading code in MakeHuman ensures that this normalization always happens, so this is not a concern to the artist that defines the weights). The vertex weights can be exported to external tools as well using formats such as collada (DAE), FBX, Ogre3D meshes or MD5 quake meshes.
=== Vertex weights and skeletons ===
Vertex weights are defined for the default “master” skeleton or rig. They are defined in a json file with jsonw extension. They link each vertex of the basemesh including helpers to a named bone of this master rig, together with a certain weight.
The weights loader automatically removes doubles and normalizes the weights (so that they sum to 1). It also reports what the maximum number of bone weights per vertex is, additionally it allows compiling the weights to a reduced set with n number of bone weights, and automatically renormalizes those weights so they, again, sum to 1.
When loading weights, any vertex that receives no weighting is assigned to the root bone, as this is needed for skinning to prevent all those vertices jumping to the origin (0*pos == 0).
Alternative skeletons can define their own weights, by referencing a weights file just like the master rig, or they can choose to derive their weights from the master rig, through so called reference bone mappings. Skeletons will derive their weights from the master rig if they do not specify a weights file explicitly. Custom vertex weights in alternative rigs override those defined on the master rig, except in the case where a proxy defines its own vertex weights. See section Vertex weights for proxies for more details.
=== Reference bones for vertex weights and poses ===
Reference bones are defined on alternative rigs, they are a list of names of bones contained in the master rig. Every bone of an alternative rig can have such a list of reference bones. An alternative rig can also omit these references if it uses the same name as bones in the master rig, in which the mapping is implicit. Having a list of bone references always overrides the implicit mapping. Reference bone mappings are required for two purposes.
They are used for mapping poses defined on the master rig to other rigs. All poses are defined as BVH files that pose the master rig, so they reference only the bone names of the master rig. Poses are applied to all other rigs by using the reference bone mapping: all the rotations that the pose applies to the referenced bones are combined (in the order in which the references were specified -- note: rotations are NOT commutative) and are applied to the alternative rig bone.
Reference bone mappings can also be used for determining vertex weights of custom rigs. If the alternative rig does not explicitly define its own vertex weights, the mapping of reference bones is used to infere a set of bone weights for each bone: All the weights of the reference bones on the master rig (with the weights definition of the default/master rig) are combined and apply to the bone of the alternative rig. Doubles are merged, and weights renormalized. Any vertex that is not weighted will be assigned to the root bone. Watch for messages in the log to verify this.
=== Vertex weights for proxies ===
Generally proxies are mapped to basemesh geometry, that means either to the body or to helpers, or a combination of both (though this is unusual). Proxies derive their vertex weights from the vertices on the basemesh on which they are fitted. A proxy defines its fitting as a 3d offset from one or three vertices on the basemesh, allowing it to deform as the human deforms. This mapping is used to transfer the vertex weights from basemesh to proxy: a proxy vertex referencing three basemesh vertices gets the bone weights of those three vertices. Doubles are merged and the weights are normalized, so that the influence factors are averaged or smoothed. In this case the weights applied to proxies are always those defined on the skeleton: either the weights explicitly defined on the skeleton, or the weights obtained from remapping the master rig weights to this skeleton using the reference bone mapping mentioned in the previous sections. There is an exception to this, which is explained in the next paragraph.
A proxy can explicitly define its own vertex (to bone) weights. In this case it overrides the weights that would be obtained through the proxy mapping, and replaces them by its own custom definition of weights. These vertex weights are always defined to reference the bones of the master rig (default skeleton), so they need to be remapped to other skeletons using reference bone mapping. This also means that the custom weights of a proxy override any custom weights mapping that might be loaded with an alternative rig (but only for that proxy item). Custom proxy weights should be avoided if possible, but are in some cases required, eg. for properly rigging shoes which are rigidly fitted to feet, or an alternative topology which defines very accurate rigging on the face. The general advice for custom rigs is therefore to stay as close to the master rig as possible, reusing as much bones identically as possible, to achieve the best results for proxies with custom weights.
In case of custom weight, the mhclo file must contain a line to indicate the weight file to use, using the keyword “vertexboneweights_file”, with the syntax:
vertexboneweights_file filename.jsonw
== Targets and modifiers ==
MakeHuman applies targets on the human by means of modifiers. Such a modifier has a value (usually between [0, 1] or [-1, 1]) that determines the effect of it on the human mesh. A modifier can control one or more targets and in apply the mixed sum of them on the mesh. Some modifiers.
=== Organization of targets ===
To make sure targets are linked to the right modifier, or to make managing targets easier, a certain discipline has to be observed in managing them. Targets are ASCII files in the data/targets or data/custom folder (in program or user folder) with a file extension of .target.
The file name and folder targets are in implicitly determines their group name. A group is identified by a sequence of tags or tokens, which are taken from the file and folder name of each target, and which can be delimited by “-” symbols, to include multiple tokens in a single file or folder name. The lib/targets.py module takes care of loading all the names of the available targets and assembles them into groups. All targets with the same tokens end up in the same group. This allows easy querying and requesting of targets. The creator is pretty much free to decide what groups to create for their targets. By passing the name of the target group to a modifier, they can make sure that modifier controls the targets belonging to this group. It does not matter whether you use folders or - delimited file names for creating groups.
An example:
data/targets/cartoon/eyes-large.target is categorized in group (cartoon, eyes, large)
data/targets/cartoon-eyes-large.target is also categorized in group (cartoon, eyes, large)
Most simple modifiers work by specifying a group (for example cartoon-eyes) and a set of two tokens to append at the end, depending on the position of the modifier slider (eg. small, large which would allow controlling the targets cartoon-eyes-small and cartoon-eyes-large by moving the slider to the left or right).
=== Reserved group tokens ===
Some of the tokens in the file or foldername of targets are linked to values that variables of the human can have. Such variables are for example age, weight, muscle, gender.
This table lists all the reserved tokens, and the variables they belong to.
{| class="wikitable"
|-
! Reserved token (value)
! Variable
|-
| female,male
| gender
|-
| baby, child, young, old
| age
|-
| african, caucasian, asian
| race
|-
| minmuscle, averagemuscle, maxmuscle
| muscle
|-
| minweight, averageweight, maxweight
| weight
|-
| minheight, averageheight, maxheight
| height
|-
| mincup, averagecup, maxcup
| breastsize
|-
| minfirmness, averagefirmness, maxfirmness
| breastfirmness
|-
| uncommonproportions, regularproportions, idealproportions
| bodyproportion
|}
Note that it is not a good idea to use simply “max” or “min” as a reserved token name, because they need to be unique (otherwise it would not be possible to determine whether they are a minimum for, for example, weight or height). These reserved tokens are declared in the lib/targets.py module. The variable can be set and queried on the human object, for example human.getAge(), human.setMuscle(0.7), human.getProportion().
The reserved tokens are NOT included in the group name, so you should at least include some other, non-reserved tokens in the file or folder names to assign your target to some meaningful group. The inclusion of these reserved tokens in your target names or paths makes it convenient to create macro modifiers.
=== Macro targets and modifiers ===
Macro modifiers are modifiers whose effect (the combination of targets they apply on the human) is influenced by macro variables set on the human (eg. human.set/getAge()). Therefore, macro modifiers often control a large set of targets (20 or even more). It’s also common for multiple modifiers to control exactly the same set of targets, for example the standard age/gender/race sliders all control the set of targets in the ‘macrodetails’ group. Each slider modifies a different variable (eg. human.setAge()) controlling the set of targets, and then reapplies a combination of the same set of targets on the human.
=== Macro modifier dependencies ===
There are other macro modifiers that can also depend on the same variables age, gender, race that is controlled by the main macro modifiers, as discussed above. For example the macro modifiers that influence the weight and muscle mass of the human, controls the targets group “macrodetails-universal”, the universal token is added by prepending “universal-” to all the file names of related targets, which all reside in the folder “macrodetails” (thus macrodetails-universal ends up being the group name). They could have been included all in the “macrodetails” group, but are kept separate for performance reasons, so that the “macrodetails” group of targets (which already contains some 40 targets or so) can be applied in realtime while moving the slider.
Of course a change in the variable that these age/race/gender modifiers control will have an effect on the macrodetails-universal modifiers (because they control targets that depend on age -- their targets include -young- -old- etc. tokens in their filenames). This means there are inter-dependencies between macro modifiers, if one is updated, another one that depends on it should be refreshed. These dependencies can be descibed as follows: one macro modifier controls exactly one macro variable (such as age). It (or rather, the targets it controls) can however depend on multiple macro variables. The trivial case is where a macro modifier only depends on the macro variable that it controls itself. The tracking of these dependencies and deciding which modifiers must be updated when another is changed happens automatically. Dependencies are automatically tracked as soon as you add a modifier to the human (by calling modifier.setHuman(human)). To make this more performant in real-time, the propagation of updates to modifiers is limited while sliders are dragged (see realtimeDependencyUpdates in apps/humanmodifier.py).
As you might have understood, creating modifiers that depend on human variables is almost automatic. The only thing you need to do is create some targets that resolve to the same group name, add variations for all the macro variables you want and add the proper reserved tokens to the file or folder name (refer to the left column in the table above), and create a modifier with this group name. Once added to the human, the dependencies are tracked automatically.
=== Organization of modifiers ===
We already discussed how we organized targets in groups, to make it easier to connect them to a modifier. Now we will discuss how we can do a similar thing for modifiers.
Modifiers provide an easy way to manage targets. They allow reducing many of hundreds of targets to a more manageable number of controllable properties. But even then, we still have about 100 modifiers, which is still quite a lot. Therefore we group them in groups of categories, much like we do in the GUI. This makes it easy to get a grouped overview of all modifiers when using an alternative interface, think of commandline or scripting. The way in which you declare the group and other properties of a modifier determines what target groups it gets its targets from.
Modifiers are declared with a group name, some intermediary “target name” and a number of tail tokens (2 or 3 usually, eg min/max). The group of targets controlled by these modifiers is composed as: groupname-targets_name-tail.
Macro modifiers are declared with a group name, and a controlled variable. The groupname must be the same groupname of the targets they control.
=== Declarative modifiers ===
Instead of hard coding what modifiers you want to instantiate, MakeHuman offers a data-based format to declare what modifiers should be created, and how they should be shown in a user interface with sliders.
A full declaration requires three files, all stored in data/modifiers. The first is the declaration of the modifiers (eg. modeling_modifiers.json). This format lists a modifier group name, and all the modifiers with their macro variable (if they are macro modifiers) or target name and 2 or 3 (if they are a modifier with a center point) tail tokens.
The second file adds a description to the modifiers declared in the first file. It basically contains a key-value set, referencing the modifier name, and a textual description of what the modifier controls. A modifier name is constructed as follows: group/targets_name-all|the|tails and for a macro modifier: group/variable
The third file defines how these modifiers should be shown in the user interface as sliders. It lists a set of categories, and the sliders to show in them, and how their values have to be saved in a mhm file (mainly a feature for legacy compatibility).
=== Your own plugin with modifiers, sliders and targets ===
Using the declarative data format described in the section above, it’s really simple. Have a look at the plugin plugins/0_modeling_0_modifiers.py. Notice it’s barely 5 lines of code. Creating your own modeling plugin is as simple as that, pointing it to your own modifier data files.
=== Binary targets ===
Because loading these ASCII target files, and iterating all target files and folders can be slow (especially on windows) in build versions, we compile all targets in the data/targets system folder into a single binary file, that furthermore acts exactly the same as multiple target files. The binary targets file is stored in the system data/ folder and is called targets.npz, it is created by running the compile_targets.py script, which is also automatically run in the build_prepare.py build routine. The file structure of the targets files is maintained in this binary file so that targets can be loaded from it in the same way as you would do with regular files. A change in the .target files, or newly added target files allow a recompilation of the targets npz file before the change is applied.
== Material format==
=== Introduction ===
MakeHuman material files have extension .mhmat and are simple ASCII definitions
of the material settings to use for rendering.
These material settings are primarily intended for configuring the material
system within MakeHuman, but they are usually carried out to other software as
well by the exporters.
Not all properties will be supported for all given combinations of shaders, nor
is there a guarantee that the exporters will honor all the properties in these
files.
Every 3D object in MakeHuman has exactly one material attached to it (multiple
materials are not possible, you need separate objects for that). Materials are
used for proxy meshes (clothes, hairs, ...) but also for the skin of the human
itself.
=== The Material System ===
The MakeHuman material system is closely based on the [[https://en.wikipedia.org/wiki/Rendering_equation standard rendering equation]]
as is used in OpenGL and DirectX forward rendering pipelines. MakeHuman supports
shaders and the material format contains the most commonly used extensions in
real-time rendering. As a consequence of this, users need to be aware of the
implications of setting values such as ambient too bright, or diffuse too dark.
All usual rules about rendering materials apply.
At the highest level, the material supports setting the most basic material
properties, such as diffuse, specular and ambient color. These are supported
both by shaders as well as the fixed function shading pipeline (which is used
when no shader is specified). Fixed function also supports the diffuse texture
option.
At a second level, a shader can be chosen. This refers directly to the filename
of a [[https://en.wikipedia.org/wiki/OpenGL_Shading_Language GLSL shader]] as found in the data/shaders/glsl folder of MakeHuman.
The selected shader will determine what material options will be available.
Various additional settings become available, depending on whether or not the
chosen shader has support for these features, such as bump or normal mapping,
ambient occlusion, specular mapping, etc.
For most of these, a texture map and a scalar property between 0 and 1 can be
set, the latter determining the intensity or influence of the effect.
Finally, MakeHuman also contains a built-in offline renderer that supports some
additional properties such as subsurface scattering, for which some special
properties are available.
=== Example ===
This is a full and complete (but fictional) example of a material file for MakeHuman, it shows all the available properties.
# Example MakeHuman Material definition
name Material_name
tag some_tag
tag another_tag
description material description text here
ambientColor 0.11 0.11 0.11
diffuseColor 1.0 1.0 1.0
specularColor 0.0470588235294 0.0470588235294 0.0470588235294
shininess 0.96
emissiveColor 0.0 0.0 0.0
opacity 1.0
translucency 0.0
shadeless False
wireframe False
transparent True
alphaToCoverage True
backfaceCull False
depthless False
autoBlendSkin False
castShadows True
receiveShadows True
diffuseTexture diffuse_texture.png
bumpmapTexture bumpmap.png
bumpmapIntensity 1.0
normalmapTexture normalmap.png
normalmapIntensity 1.0
displacementmapTexture norm_displacement.png
displacementmapIntensity 1.0
specularmapTexture specular.png
specularmapIntensity 1.0
transparencymapTexture alpha.png
transparencymapIntensity 1.0
aomapTexture ambient_occlusion_map.png
aomapIntensity 1.0
# Sub-surface scattering parameters
sssEnabled True
sssRScale 5.0
sssGScale 2.5
sssBScale 1.0
shader shaders/glsl/litsphere
shaderParam litsphereTexture litspheres/lit_hair.png
shaderConfig ambientOcclusion True
shaderConfig normal False
shaderConfig bump True
shaderConfig displacement False
shaderConfig vertexColors True
shaderConfig spec True
shaderConfig transparency True
shaderConfig diffuse True
shaderDefine ALPHA_MAP
uvMap alt_uv_coords.mhuv
This is another example, this time a real one. It is the X-ray material, used for example when showing the skeleton:
# Material definition for XrayMaterial
name XrayMaterial
ambientColor 0.1 0.1 0.1
diffuseColor 1.0 1.0 1.0
specularColor 0.3 0.3 0.3
shininess 0.1
emissiveColor 0.0 0.0 0.0
opacity 0.1
translucency 0.0
transparent True
backfaceCull True
shadeless False
wireframe False
depthless False
shader data/shaders/glsl/xray
shaderConfig diffuse False
shaderConfig transparency False
shaderConfig normal False
shaderConfig bump False
shaderConfig spec False
shaderConfig vertexColors False
shaderConfig displacement False
=== Explanation of material properties ===
=== autoBlendSkin ===
If True the shaderParam litsphereTexture will be automatically set to a dynamically blended litsphere texture,
which is a mix of three litsphere materials (afro, asian, caucasian) depending on the ethnic mix of the character.
=== Basic pointers ===
* You can test the influence of material properties using the Material Editor plugin (which you can enable in Settings > Plugins, then restart)
* Using a diffuse texture? You probably want to set the diffuse color to 1 1 1 (pure white)
* Never set ambient color too bright, or your model will look completely white. 0.1 0.1 0.1 is a good value to start from.
* Emissive is usually set to black, unless you want a radioactive character
* Don't know how to define a color in numbers? Try the Material Editor plugin
* Higher shininess means smaller and sharper highlight, lower shininess makes the highlight larger and more blurred
* Reduce specular color to reduce the specularity, make it black for a rough and non shiny object
* opacity 1 means fully opaque, 0 means fully transparent (invisible)
=== Scene definition ===
To complete the rendering equation, you also need to define the scene. To be
more precise, the positions, types, color and intensities of the lights need to
be set. By default, MakeHuman only has a default scene with only one pointlight.
In MakeHuman, lights do not move if the camera is moved, or rather, the model is
rotated while the camera and lights remain static. So light positions are defined
relative to the camera position.
MakeHuman scenes are defined in .mhscene files, which are binary py-pickled files.
They can be created or modified using the Scene Editor plugin (can be enabled in
settings) and can be selected from the Scene library in the Render tab.
Fixed function shading pipeline supports up to 8 lights, specific light support
depends on the shader used, some shaders only support a certain type or number
of lights, other ignore the chosen scene altogether (for example the litsphere
shader that uses pre-baked environment lighting).
The built-in offline renderer also uses the specified scene.
Scenes are not exported along with the model.
==== Shaders ====
The most powerful functionality of the material system is unlocked when using
shaders.
MakeHuman shaders are intended to be written in a modular way, so that shading
features can be enabled or disabled using the material format. Examples of such
features are bump mapping, normal mapping, specular mapping, diffuse texturing,
ambient occlusion and displacement mapping.
MakeHuman includes a basic introspection function that allows it to determine
what features a shader supports. It accomplishes this by looking for #ifdef and #ifndef statements. If a shader supports a certain technique, it is supposed to
encapsulate this in #ifdef NORMALMAP ... #else ... #endif statements.
The material system manages these shading functions by defining specific pre-processor
keywords when their corresponding shaderConfig property is set to true.
Shaders are recompiled when needed and stored in a shader cache for efficiency.
MakeHuman passes scene and material information to the shaders by certain uniform
parameters. Depending on which shaderConfig properties were enabled, additional
uniforms could be exposed to the shader. The shader does not have to declare all
these uniforms, however. MakeHuman binds only those uniforms present in the shader
if they have the right corresponding names.
Other properties are available from the OpenGL default uniforms or properties.
The following table lists these defines and the shaderConfig properties in the
material they relate to:
{| class="wikitable"
|-
! shaderConfig
! shader #DEFINE
! exposed uniform parameters if enabled
! comment
|-
|default (always enabled)
|
|vec3 ambient, vec4 diffuse, vec4 specular, vec3 emissive
|diffuse and specular are 4-component color values, diffuse=[rgba] with a=opacity and specular=[rgbs] with s=shininess
|-
|vertexColors
|VERTEX_COLOR
|
|
|-
|diffuse
|DIFFUSE
|diffuseTexture
|
|-
|bump
|BUMPMAP
|bumpmapTexture, bumpmapIntensity
|disabled if normal mapping is enabled (restriction might be lifted in the future)
|-
|normal
|NORMALMAP
|normalmapTexture, normalmapIntensity
|
|-
|displacement
|DISPLACEMENT
|displacementmapTexture, displacementmapIntensity
|
|-
|spec
|SPECULARMAP
|specularmapTexture, specularmapIntensity
|
|-
|transparency
|TRANSPARENCYMAP
|transparencymapTexture, transparencymapIntensity
|
|-
|ambientOcclusion
|AOMAP
|aomapTexture, aomapIntensity
|
|}
Additionally, MakeHuman exposes the vertex tangent as a vertex property, which
can be accessed by the shader.
attribute vec4 tangent
Currently, [[http://www.terathon.com/code/tangent.html Lengyel’s Method]] for tangent calculation
is used, but plans are to change this to [[http://bugtracker.makehumancommunity.org/issues/87 mikktspace]] in the future.
Shader examples for MakeHuman can be found here:
* Litsphere shader: [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/litsphere_vertex_shader.txt vertex]] [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/litsphere_fragment_shader.txt fragment]]
* Phong shader: [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/phong_vertex_shader.txt vertex]] [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/phong_fragment_shader.txt fragment]]
* Normal map shader (wip): [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/normalmap_vertex_shader.txt vertex]] [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/normalmap_fragment_shader.txt fragment]]
* X-ray shader: [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/xray_vertex_shader.txt vertex]] [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/xray_fragment_shader.txt fragment]]
5a53ca0ae0987c724a2acbdf1def27a1e77d5d43
568
567
2016-01-27T15:17:04Z
Duststorm
19
improve table looks
wikitext
text/x-wiki
== Vertex weights ==
With vertex weights we intend a weighted mapping of vertices of a mesh to a bone of a skeleton. The weight is a value between 0 and 1, the sum of these weights for each vertex should be normalized, which means they should sum to 1 (note: no euclidian distance, just simple addition of all weights). A weight map in MakeHuman is expressed as a bone name (becomes a bone index internally, using the index of the bone in a breadth-first list relative to skeleton structure), a vertex name and a floating point weight between 0 and 1. This weighted vertex to bone mapping is used for skinning (posing and animating, using vertex skinning, smooth skinning or linear blend skinning algorithm). For the skinning algorithm to work correctly it’s required that the weights are always normalized, otherwise you will see vertices move out of place disproportionally (though the weight loading code in MakeHuman ensures that this normalization always happens, so this is not a concern to the artist that defines the weights). The vertex weights can be exported to external tools as well using formats such as collada (DAE), FBX, Ogre3D meshes or MD5 quake meshes.
=== Vertex weights and skeletons ===
Vertex weights are defined for the default “master” skeleton or rig. They are defined in a json file with jsonw extension. They link each vertex of the basemesh including helpers to a named bone of this master rig, together with a certain weight.
The weights loader automatically removes doubles and normalizes the weights (so that they sum to 1). It also reports what the maximum number of bone weights per vertex is, additionally it allows compiling the weights to a reduced set with n number of bone weights, and automatically renormalizes those weights so they, again, sum to 1.
When loading weights, any vertex that receives no weighting is assigned to the root bone, as this is needed for skinning to prevent all those vertices jumping to the origin (0*pos == 0).
Alternative skeletons can define their own weights, by referencing a weights file just like the master rig, or they can choose to derive their weights from the master rig, through so called reference bone mappings. Skeletons will derive their weights from the master rig if they do not specify a weights file explicitly. Custom vertex weights in alternative rigs override those defined on the master rig, except in the case where a proxy defines its own vertex weights. See section Vertex weights for proxies for more details.
=== Reference bones for vertex weights and poses ===
Reference bones are defined on alternative rigs, they are a list of names of bones contained in the master rig. Every bone of an alternative rig can have such a list of reference bones. An alternative rig can also omit these references if it uses the same name as bones in the master rig, in which the mapping is implicit. Having a list of bone references always overrides the implicit mapping. Reference bone mappings are required for two purposes.
They are used for mapping poses defined on the master rig to other rigs. All poses are defined as BVH files that pose the master rig, so they reference only the bone names of the master rig. Poses are applied to all other rigs by using the reference bone mapping: all the rotations that the pose applies to the referenced bones are combined (in the order in which the references were specified -- note: rotations are NOT commutative) and are applied to the alternative rig bone.
Reference bone mappings can also be used for determining vertex weights of custom rigs. If the alternative rig does not explicitly define its own vertex weights, the mapping of reference bones is used to infere a set of bone weights for each bone: All the weights of the reference bones on the master rig (with the weights definition of the default/master rig) are combined and apply to the bone of the alternative rig. Doubles are merged, and weights renormalized. Any vertex that is not weighted will be assigned to the root bone. Watch for messages in the log to verify this.
=== Vertex weights for proxies ===
Generally proxies are mapped to basemesh geometry, that means either to the body or to helpers, or a combination of both (though this is unusual). Proxies derive their vertex weights from the vertices on the basemesh on which they are fitted. A proxy defines its fitting as a 3d offset from one or three vertices on the basemesh, allowing it to deform as the human deforms. This mapping is used to transfer the vertex weights from basemesh to proxy: a proxy vertex referencing three basemesh vertices gets the bone weights of those three vertices. Doubles are merged and the weights are normalized, so that the influence factors are averaged or smoothed. In this case the weights applied to proxies are always those defined on the skeleton: either the weights explicitly defined on the skeleton, or the weights obtained from remapping the master rig weights to this skeleton using the reference bone mapping mentioned in the previous sections. There is an exception to this, which is explained in the next paragraph.
A proxy can explicitly define its own vertex (to bone) weights. In this case it overrides the weights that would be obtained through the proxy mapping, and replaces them by its own custom definition of weights. These vertex weights are always defined to reference the bones of the master rig (default skeleton), so they need to be remapped to other skeletons using reference bone mapping. This also means that the custom weights of a proxy override any custom weights mapping that might be loaded with an alternative rig (but only for that proxy item). Custom proxy weights should be avoided if possible, but are in some cases required, eg. for properly rigging shoes which are rigidly fitted to feet, or an alternative topology which defines very accurate rigging on the face. The general advice for custom rigs is therefore to stay as close to the master rig as possible, reusing as much bones identically as possible, to achieve the best results for proxies with custom weights.
In case of custom weight, the mhclo file must contain a line to indicate the weight file to use, using the keyword “vertexboneweights_file”, with the syntax:
vertexboneweights_file filename.jsonw
== Targets and modifiers ==
MakeHuman applies targets on the human by means of modifiers. Such a modifier has a value (usually between [0, 1] or [-1, 1]) that determines the effect of it on the human mesh. A modifier can control one or more targets and in apply the mixed sum of them on the mesh. Some modifiers.
=== Organization of targets ===
To make sure targets are linked to the right modifier, or to make managing targets easier, a certain discipline has to be observed in managing them. Targets are ASCII files in the data/targets or data/custom folder (in program or user folder) with a file extension of .target.
The file name and folder targets are in implicitly determines their group name. A group is identified by a sequence of tags or tokens, which are taken from the file and folder name of each target, and which can be delimited by “-” symbols, to include multiple tokens in a single file or folder name. The lib/targets.py module takes care of loading all the names of the available targets and assembles them into groups. All targets with the same tokens end up in the same group. This allows easy querying and requesting of targets. The creator is pretty much free to decide what groups to create for their targets. By passing the name of the target group to a modifier, they can make sure that modifier controls the targets belonging to this group. It does not matter whether you use folders or - delimited file names for creating groups.
An example:
data/targets/cartoon/eyes-large.target is categorized in group (cartoon, eyes, large)
data/targets/cartoon-eyes-large.target is also categorized in group (cartoon, eyes, large)
Most simple modifiers work by specifying a group (for example cartoon-eyes) and a set of two tokens to append at the end, depending on the position of the modifier slider (eg. small, large which would allow controlling the targets cartoon-eyes-small and cartoon-eyes-large by moving the slider to the left or right).
=== Reserved group tokens ===
Some of the tokens in the file or foldername of targets are linked to values that variables of the human can have. Such variables are for example age, weight, muscle, gender.
This table lists all the reserved tokens, and the variables they belong to.
{| class="wikitable"
|-
! Reserved token (value)
! Variable
|-
| female,male
| gender
|-
| baby, child, young, old
| age
|-
| african, caucasian, asian
| race
|-
| minmuscle, averagemuscle, maxmuscle
| muscle
|-
| minweight, averageweight, maxweight
| weight
|-
| minheight, averageheight, maxheight
| height
|-
| mincup, averagecup, maxcup
| breastsize
|-
| minfirmness, averagefirmness, maxfirmness
| breastfirmness
|-
| uncommonproportions, regularproportions, idealproportions
| bodyproportion
|}
Note that it is not a good idea to use simply “max” or “min” as a reserved token name, because they need to be unique (otherwise it would not be possible to determine whether they are a minimum for, for example, weight or height). These reserved tokens are declared in the lib/targets.py module. The variable can be set and queried on the human object, for example human.getAge(), human.setMuscle(0.7), human.getProportion().
The reserved tokens are NOT included in the group name, so you should at least include some other, non-reserved tokens in the file or folder names to assign your target to some meaningful group. The inclusion of these reserved tokens in your target names or paths makes it convenient to create macro modifiers.
=== Macro targets and modifiers ===
Macro modifiers are modifiers whose effect (the combination of targets they apply on the human) is influenced by macro variables set on the human (eg. human.set/getAge()). Therefore, macro modifiers often control a large set of targets (20 or even more). It’s also common for multiple modifiers to control exactly the same set of targets, for example the standard age/gender/race sliders all control the set of targets in the ‘macrodetails’ group. Each slider modifies a different variable (eg. human.setAge()) controlling the set of targets, and then reapplies a combination of the same set of targets on the human.
=== Macro modifier dependencies ===
There are other macro modifiers that can also depend on the same variables age, gender, race that is controlled by the main macro modifiers, as discussed above. For example the macro modifiers that influence the weight and muscle mass of the human, controls the targets group “macrodetails-universal”, the universal token is added by prepending “universal-” to all the file names of related targets, which all reside in the folder “macrodetails” (thus macrodetails-universal ends up being the group name). They could have been included all in the “macrodetails” group, but are kept separate for performance reasons, so that the “macrodetails” group of targets (which already contains some 40 targets or so) can be applied in realtime while moving the slider.
Of course a change in the variable that these age/race/gender modifiers control will have an effect on the macrodetails-universal modifiers (because they control targets that depend on age -- their targets include -young- -old- etc. tokens in their filenames). This means there are inter-dependencies between macro modifiers, if one is updated, another one that depends on it should be refreshed. These dependencies can be descibed as follows: one macro modifier controls exactly one macro variable (such as age). It (or rather, the targets it controls) can however depend on multiple macro variables. The trivial case is where a macro modifier only depends on the macro variable that it controls itself. The tracking of these dependencies and deciding which modifiers must be updated when another is changed happens automatically. Dependencies are automatically tracked as soon as you add a modifier to the human (by calling modifier.setHuman(human)). To make this more performant in real-time, the propagation of updates to modifiers is limited while sliders are dragged (see realtimeDependencyUpdates in apps/humanmodifier.py).
As you might have understood, creating modifiers that depend on human variables is almost automatic. The only thing you need to do is create some targets that resolve to the same group name, add variations for all the macro variables you want and add the proper reserved tokens to the file or folder name (refer to the left column in the table above), and create a modifier with this group name. Once added to the human, the dependencies are tracked automatically.
=== Organization of modifiers ===
We already discussed how we organized targets in groups, to make it easier to connect them to a modifier. Now we will discuss how we can do a similar thing for modifiers.
Modifiers provide an easy way to manage targets. They allow reducing many of hundreds of targets to a more manageable number of controllable properties. But even then, we still have about 100 modifiers, which is still quite a lot. Therefore we group them in groups of categories, much like we do in the GUI. This makes it easy to get a grouped overview of all modifiers when using an alternative interface, think of commandline or scripting. The way in which you declare the group and other properties of a modifier determines what target groups it gets its targets from.
Modifiers are declared with a group name, some intermediary “target name” and a number of tail tokens (2 or 3 usually, eg min/max). The group of targets controlled by these modifiers is composed as: groupname-targets_name-tail.
Macro modifiers are declared with a group name, and a controlled variable. The groupname must be the same groupname of the targets they control.
=== Declarative modifiers ===
Instead of hard coding what modifiers you want to instantiate, MakeHuman offers a data-based format to declare what modifiers should be created, and how they should be shown in a user interface with sliders.
A full declaration requires three files, all stored in data/modifiers. The first is the declaration of the modifiers (eg. modeling_modifiers.json). This format lists a modifier group name, and all the modifiers with their macro variable (if they are macro modifiers) or target name and 2 or 3 (if they are a modifier with a center point) tail tokens.
The second file adds a description to the modifiers declared in the first file. It basically contains a key-value set, referencing the modifier name, and a textual description of what the modifier controls. A modifier name is constructed as follows: group/targets_name-all|the|tails and for a macro modifier: group/variable
The third file defines how these modifiers should be shown in the user interface as sliders. It lists a set of categories, and the sliders to show in them, and how their values have to be saved in a mhm file (mainly a feature for legacy compatibility).
=== Your own plugin with modifiers, sliders and targets ===
Using the declarative data format described in the section above, it’s really simple. Have a look at the plugin plugins/0_modeling_0_modifiers.py. Notice it’s barely 5 lines of code. Creating your own modeling plugin is as simple as that, pointing it to your own modifier data files.
=== Binary targets ===
Because loading these ASCII target files, and iterating all target files and folders can be slow (especially on windows) in build versions, we compile all targets in the data/targets system folder into a single binary file, that furthermore acts exactly the same as multiple target files. The binary targets file is stored in the system data/ folder and is called targets.npz, it is created by running the compile_targets.py script, which is also automatically run in the build_prepare.py build routine. The file structure of the targets files is maintained in this binary file so that targets can be loaded from it in the same way as you would do with regular files. A change in the .target files, or newly added target files allow a recompilation of the targets npz file before the change is applied.
== Material format==
=== Introduction ===
MakeHuman material files have extension .mhmat and are simple ASCII definitions
of the material settings to use for rendering.
These material settings are primarily intended for configuring the material
system within MakeHuman, but they are usually carried out to other software as
well by the exporters.
Not all properties will be supported for all given combinations of shaders, nor
is there a guarantee that the exporters will honor all the properties in these
files.
Every 3D object in MakeHuman has exactly one material attached to it (multiple
materials are not possible, you need separate objects for that). Materials are
used for proxy meshes (clothes, hairs, ...) but also for the skin of the human
itself.
=== The Material System ===
The MakeHuman material system is closely based on the [[https://en.wikipedia.org/wiki/Rendering_equation standard rendering equation]]
as is used in OpenGL and DirectX forward rendering pipelines. MakeHuman supports
shaders and the material format contains the most commonly used extensions in
real-time rendering. As a consequence of this, users need to be aware of the
implications of setting values such as ambient too bright, or diffuse too dark.
All usual rules about rendering materials apply.
At the highest level, the material supports setting the most basic material
properties, such as diffuse, specular and ambient color. These are supported
both by shaders as well as the fixed function shading pipeline (which is used
when no shader is specified). Fixed function also supports the diffuse texture
option.
At a second level, a shader can be chosen. This refers directly to the filename
of a [[https://en.wikipedia.org/wiki/OpenGL_Shading_Language GLSL shader]] as found in the data/shaders/glsl folder of MakeHuman.
The selected shader will determine what material options will be available.
Various additional settings become available, depending on whether or not the
chosen shader has support for these features, such as bump or normal mapping,
ambient occlusion, specular mapping, etc.
For most of these, a texture map and a scalar property between 0 and 1 can be
set, the latter determining the intensity or influence of the effect.
Finally, MakeHuman also contains a built-in offline renderer that supports some
additional properties such as subsurface scattering, for which some special
properties are available.
=== Example ===
This is a full and complete (but fictional) example of a material file for MakeHuman, it shows all the available properties.
# Example MakeHuman Material definition
name Material_name
tag some_tag
tag another_tag
description material description text here
ambientColor 0.11 0.11 0.11
diffuseColor 1.0 1.0 1.0
specularColor 0.0470588235294 0.0470588235294 0.0470588235294
shininess 0.96
emissiveColor 0.0 0.0 0.0
opacity 1.0
translucency 0.0
shadeless False
wireframe False
transparent True
alphaToCoverage True
backfaceCull False
depthless False
autoBlendSkin False
castShadows True
receiveShadows True
diffuseTexture diffuse_texture.png
bumpmapTexture bumpmap.png
bumpmapIntensity 1.0
normalmapTexture normalmap.png
normalmapIntensity 1.0
displacementmapTexture norm_displacement.png
displacementmapIntensity 1.0
specularmapTexture specular.png
specularmapIntensity 1.0
transparencymapTexture alpha.png
transparencymapIntensity 1.0
aomapTexture ambient_occlusion_map.png
aomapIntensity 1.0
# Sub-surface scattering parameters
sssEnabled True
sssRScale 5.0
sssGScale 2.5
sssBScale 1.0
shader shaders/glsl/litsphere
shaderParam litsphereTexture litspheres/lit_hair.png
shaderConfig ambientOcclusion True
shaderConfig normal False
shaderConfig bump True
shaderConfig displacement False
shaderConfig vertexColors True
shaderConfig spec True
shaderConfig transparency True
shaderConfig diffuse True
shaderDefine ALPHA_MAP
uvMap alt_uv_coords.mhuv
This is another example, this time a real one. It is the X-ray material, used for example when showing the skeleton:
# Material definition for XrayMaterial
name XrayMaterial
ambientColor 0.1 0.1 0.1
diffuseColor 1.0 1.0 1.0
specularColor 0.3 0.3 0.3
shininess 0.1
emissiveColor 0.0 0.0 0.0
opacity 0.1
translucency 0.0
transparent True
backfaceCull True
shadeless False
wireframe False
depthless False
shader data/shaders/glsl/xray
shaderConfig diffuse False
shaderConfig transparency False
shaderConfig normal False
shaderConfig bump False
shaderConfig spec False
shaderConfig vertexColors False
shaderConfig displacement False
=== Explanation of material properties ===
=== autoBlendSkin ===
If True the shaderParam litsphereTexture will be automatically set to a dynamically blended litsphere texture,
which is a mix of three litsphere materials (afro, asian, caucasian) depending on the ethnic mix of the character.
=== Basic pointers ===
* You can test the influence of material properties using the Material Editor plugin (which you can enable in Settings > Plugins, then restart)
* Using a diffuse texture? You probably want to set the diffuse color to 1 1 1 (pure white)
* Never set ambient color too bright, or your model will look completely white. 0.1 0.1 0.1 is a good value to start from.
* Emissive is usually set to black, unless you want a radioactive character
* Don't know how to define a color in numbers? Try the Material Editor plugin
* Higher shininess means smaller and sharper highlight, lower shininess makes the highlight larger and more blurred
* Reduce specular color to reduce the specularity, make it black for a rough and non shiny object
* opacity 1 means fully opaque, 0 means fully transparent (invisible)
=== Scene definition ===
To complete the rendering equation, you also need to define the scene. To be
more precise, the positions, types, color and intensities of the lights need to
be set. By default, MakeHuman only has a default scene with only one pointlight.
In MakeHuman, lights do not move if the camera is moved, or rather, the model is
rotated while the camera and lights remain static. So light positions are defined
relative to the camera position.
MakeHuman scenes are defined in .mhscene files, which are binary py-pickled files.
They can be created or modified using the Scene Editor plugin (can be enabled in
settings) and can be selected from the Scene library in the Render tab.
Fixed function shading pipeline supports up to 8 lights, specific light support
depends on the shader used, some shaders only support a certain type or number
of lights, other ignore the chosen scene altogether (for example the litsphere
shader that uses pre-baked environment lighting).
The built-in offline renderer also uses the specified scene.
Scenes are not exported along with the model.
==== Shaders ====
The most powerful functionality of the material system is unlocked when using
shaders.
MakeHuman shaders are intended to be written in a modular way, so that shading
features can be enabled or disabled using the material format. Examples of such
features are bump mapping, normal mapping, specular mapping, diffuse texturing,
ambient occlusion and displacement mapping.
MakeHuman includes a basic introspection function that allows it to determine
what features a shader supports. It accomplishes this by looking for #ifdef and #ifndef statements. If a shader supports a certain technique, it is supposed to
encapsulate this in #ifdef NORMALMAP ... #else ... #endif statements.
The material system manages these shading functions by defining specific pre-processor
keywords when their corresponding shaderConfig property is set to true.
Shaders are recompiled when needed and stored in a shader cache for efficiency.
MakeHuman passes scene and material information to the shaders by certain uniform
parameters. Depending on which shaderConfig properties were enabled, additional
uniforms could be exposed to the shader. The shader does not have to declare all
these uniforms, however. MakeHuman binds only those uniforms present in the shader
if they have the right corresponding names.
Other properties are available from the OpenGL default uniforms or properties.
The following table lists these defines and the shaderConfig properties in the
material they relate to:
{|
! class="wikitable"| shaderConfig
! shader #DEFINE
! exposed uniform parameters if enabled
! comment
|-
|default (always enabled)
|
|vec3 ambient, vec4 diffuse, vec4 specular, vec3 emissive
|diffuse and specular are 4-component color values, diffuse=[rgba] with a=opacity and specular=[rgbs] with s=shininess
|-
|vertexColors
|VERTEX_COLOR
|
|
|-
|diffuse
|DIFFUSE
|diffuseTexture
|
|-
|bump
|BUMPMAP
|bumpmapTexture, bumpmapIntensity
|disabled if normal mapping is enabled (restriction might be lifted in the future)
|-
|normal
|NORMALMAP
|normalmapTexture, normalmapIntensity
|
|-
|displacement
|DISPLACEMENT
|displacementmapTexture, displacementmapIntensity
|
|-
|spec
|SPECULARMAP
|specularmapTexture, specularmapIntensity
|
|-
|transparency
|TRANSPARENCYMAP
|transparencymapTexture, transparencymapIntensity
|
|-
|ambientOcclusion
|AOMAP
|aomapTexture, aomapIntensity
|
|}
Additionally, MakeHuman exposes the vertex tangent as a vertex property, which
can be accessed by the shader.
attribute vec4 tangent
Currently, [[http://www.terathon.com/code/tangent.html Lengyel’s Method]] for tangent calculation
is used, but plans are to change this to [[http://bugtracker.makehumancommunity.org/issues/87 mikktspace]] in the future.
Shader examples for MakeHuman can be found here:
* Litsphere shader: [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/litsphere_vertex_shader.txt vertex]] [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/litsphere_fragment_shader.txt fragment]]
* Phong shader: [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/phong_vertex_shader.txt vertex]] [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/phong_fragment_shader.txt fragment]]
* Normal map shader (wip): [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/normalmap_vertex_shader.txt vertex]] [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/normalmap_fragment_shader.txt fragment]]
* X-ray shader: [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/xray_vertex_shader.txt vertex]] [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/xray_fragment_shader.txt fragment]]
2785952d16b0746dec69a8806264a18c3caf2331
567
566
2016-01-27T15:16:20Z
Duststorm
19
/* Material format */
wikitext
text/x-wiki
== Vertex weights ==
With vertex weights we intend a weighted mapping of vertices of a mesh to a bone of a skeleton. The weight is a value between 0 and 1, the sum of these weights for each vertex should be normalized, which means they should sum to 1 (note: no euclidian distance, just simple addition of all weights). A weight map in MakeHuman is expressed as a bone name (becomes a bone index internally, using the index of the bone in a breadth-first list relative to skeleton structure), a vertex name and a floating point weight between 0 and 1. This weighted vertex to bone mapping is used for skinning (posing and animating, using vertex skinning, smooth skinning or linear blend skinning algorithm). For the skinning algorithm to work correctly it’s required that the weights are always normalized, otherwise you will see vertices move out of place disproportionally (though the weight loading code in MakeHuman ensures that this normalization always happens, so this is not a concern to the artist that defines the weights). The vertex weights can be exported to external tools as well using formats such as collada (DAE), FBX, Ogre3D meshes or MD5 quake meshes.
=== Vertex weights and skeletons ===
Vertex weights are defined for the default “master” skeleton or rig. They are defined in a json file with jsonw extension. They link each vertex of the basemesh including helpers to a named bone of this master rig, together with a certain weight.
The weights loader automatically removes doubles and normalizes the weights (so that they sum to 1). It also reports what the maximum number of bone weights per vertex is, additionally it allows compiling the weights to a reduced set with n number of bone weights, and automatically renormalizes those weights so they, again, sum to 1.
When loading weights, any vertex that receives no weighting is assigned to the root bone, as this is needed for skinning to prevent all those vertices jumping to the origin (0*pos == 0).
Alternative skeletons can define their own weights, by referencing a weights file just like the master rig, or they can choose to derive their weights from the master rig, through so called reference bone mappings. Skeletons will derive their weights from the master rig if they do not specify a weights file explicitly. Custom vertex weights in alternative rigs override those defined on the master rig, except in the case where a proxy defines its own vertex weights. See section Vertex weights for proxies for more details.
=== Reference bones for vertex weights and poses ===
Reference bones are defined on alternative rigs, they are a list of names of bones contained in the master rig. Every bone of an alternative rig can have such a list of reference bones. An alternative rig can also omit these references if it uses the same name as bones in the master rig, in which the mapping is implicit. Having a list of bone references always overrides the implicit mapping. Reference bone mappings are required for two purposes.
They are used for mapping poses defined on the master rig to other rigs. All poses are defined as BVH files that pose the master rig, so they reference only the bone names of the master rig. Poses are applied to all other rigs by using the reference bone mapping: all the rotations that the pose applies to the referenced bones are combined (in the order in which the references were specified -- note: rotations are NOT commutative) and are applied to the alternative rig bone.
Reference bone mappings can also be used for determining vertex weights of custom rigs. If the alternative rig does not explicitly define its own vertex weights, the mapping of reference bones is used to infere a set of bone weights for each bone: All the weights of the reference bones on the master rig (with the weights definition of the default/master rig) are combined and apply to the bone of the alternative rig. Doubles are merged, and weights renormalized. Any vertex that is not weighted will be assigned to the root bone. Watch for messages in the log to verify this.
=== Vertex weights for proxies ===
Generally proxies are mapped to basemesh geometry, that means either to the body or to helpers, or a combination of both (though this is unusual). Proxies derive their vertex weights from the vertices on the basemesh on which they are fitted. A proxy defines its fitting as a 3d offset from one or three vertices on the basemesh, allowing it to deform as the human deforms. This mapping is used to transfer the vertex weights from basemesh to proxy: a proxy vertex referencing three basemesh vertices gets the bone weights of those three vertices. Doubles are merged and the weights are normalized, so that the influence factors are averaged or smoothed. In this case the weights applied to proxies are always those defined on the skeleton: either the weights explicitly defined on the skeleton, or the weights obtained from remapping the master rig weights to this skeleton using the reference bone mapping mentioned in the previous sections. There is an exception to this, which is explained in the next paragraph.
A proxy can explicitly define its own vertex (to bone) weights. In this case it overrides the weights that would be obtained through the proxy mapping, and replaces them by its own custom definition of weights. These vertex weights are always defined to reference the bones of the master rig (default skeleton), so they need to be remapped to other skeletons using reference bone mapping. This also means that the custom weights of a proxy override any custom weights mapping that might be loaded with an alternative rig (but only for that proxy item). Custom proxy weights should be avoided if possible, but are in some cases required, eg. for properly rigging shoes which are rigidly fitted to feet, or an alternative topology which defines very accurate rigging on the face. The general advice for custom rigs is therefore to stay as close to the master rig as possible, reusing as much bones identically as possible, to achieve the best results for proxies with custom weights.
In case of custom weight, the mhclo file must contain a line to indicate the weight file to use, using the keyword “vertexboneweights_file”, with the syntax:
vertexboneweights_file filename.jsonw
== Targets and modifiers ==
MakeHuman applies targets on the human by means of modifiers. Such a modifier has a value (usually between [0, 1] or [-1, 1]) that determines the effect of it on the human mesh. A modifier can control one or more targets and in apply the mixed sum of them on the mesh. Some modifiers.
=== Organization of targets ===
To make sure targets are linked to the right modifier, or to make managing targets easier, a certain discipline has to be observed in managing them. Targets are ASCII files in the data/targets or data/custom folder (in program or user folder) with a file extension of .target.
The file name and folder targets are in implicitly determines their group name. A group is identified by a sequence of tags or tokens, which are taken from the file and folder name of each target, and which can be delimited by “-” symbols, to include multiple tokens in a single file or folder name. The lib/targets.py module takes care of loading all the names of the available targets and assembles them into groups. All targets with the same tokens end up in the same group. This allows easy querying and requesting of targets. The creator is pretty much free to decide what groups to create for their targets. By passing the name of the target group to a modifier, they can make sure that modifier controls the targets belonging to this group. It does not matter whether you use folders or - delimited file names for creating groups.
An example:
data/targets/cartoon/eyes-large.target is categorized in group (cartoon, eyes, large)
data/targets/cartoon-eyes-large.target is also categorized in group (cartoon, eyes, large)
Most simple modifiers work by specifying a group (for example cartoon-eyes) and a set of two tokens to append at the end, depending on the position of the modifier slider (eg. small, large which would allow controlling the targets cartoon-eyes-small and cartoon-eyes-large by moving the slider to the left or right).
=== Reserved group tokens ===
Some of the tokens in the file or foldername of targets are linked to values that variables of the human can have. Such variables are for example age, weight, muscle, gender.
This table lists all the reserved tokens, and the variables they belong to.
{| class="wikitable"
|-
! Reserved token (value)
! Variable
|-
| female,male
| gender
|-
| baby, child, young, old
| age
|-
| african, caucasian, asian
| race
|-
| minmuscle, averagemuscle, maxmuscle
| muscle
|-
| minweight, averageweight, maxweight
| weight
|-
| minheight, averageheight, maxheight
| height
|-
| mincup, averagecup, maxcup
| breastsize
|-
| minfirmness, averagefirmness, maxfirmness
| breastfirmness
|-
| uncommonproportions, regularproportions, idealproportions
| bodyproportion
|}
Note that it is not a good idea to use simply “max” or “min” as a reserved token name, because they need to be unique (otherwise it would not be possible to determine whether they are a minimum for, for example, weight or height). These reserved tokens are declared in the lib/targets.py module. The variable can be set and queried on the human object, for example human.getAge(), human.setMuscle(0.7), human.getProportion().
The reserved tokens are NOT included in the group name, so you should at least include some other, non-reserved tokens in the file or folder names to assign your target to some meaningful group. The inclusion of these reserved tokens in your target names or paths makes it convenient to create macro modifiers.
=== Macro targets and modifiers ===
Macro modifiers are modifiers whose effect (the combination of targets they apply on the human) is influenced by macro variables set on the human (eg. human.set/getAge()). Therefore, macro modifiers often control a large set of targets (20 or even more). It’s also common for multiple modifiers to control exactly the same set of targets, for example the standard age/gender/race sliders all control the set of targets in the ‘macrodetails’ group. Each slider modifies a different variable (eg. human.setAge()) controlling the set of targets, and then reapplies a combination of the same set of targets on the human.
=== Macro modifier dependencies ===
There are other macro modifiers that can also depend on the same variables age, gender, race that is controlled by the main macro modifiers, as discussed above. For example the macro modifiers that influence the weight and muscle mass of the human, controls the targets group “macrodetails-universal”, the universal token is added by prepending “universal-” to all the file names of related targets, which all reside in the folder “macrodetails” (thus macrodetails-universal ends up being the group name). They could have been included all in the “macrodetails” group, but are kept separate for performance reasons, so that the “macrodetails” group of targets (which already contains some 40 targets or so) can be applied in realtime while moving the slider.
Of course a change in the variable that these age/race/gender modifiers control will have an effect on the macrodetails-universal modifiers (because they control targets that depend on age -- their targets include -young- -old- etc. tokens in their filenames). This means there are inter-dependencies between macro modifiers, if one is updated, another one that depends on it should be refreshed. These dependencies can be descibed as follows: one macro modifier controls exactly one macro variable (such as age). It (or rather, the targets it controls) can however depend on multiple macro variables. The trivial case is where a macro modifier only depends on the macro variable that it controls itself. The tracking of these dependencies and deciding which modifiers must be updated when another is changed happens automatically. Dependencies are automatically tracked as soon as you add a modifier to the human (by calling modifier.setHuman(human)). To make this more performant in real-time, the propagation of updates to modifiers is limited while sliders are dragged (see realtimeDependencyUpdates in apps/humanmodifier.py).
As you might have understood, creating modifiers that depend on human variables is almost automatic. The only thing you need to do is create some targets that resolve to the same group name, add variations for all the macro variables you want and add the proper reserved tokens to the file or folder name (refer to the left column in the table above), and create a modifier with this group name. Once added to the human, the dependencies are tracked automatically.
=== Organization of modifiers ===
We already discussed how we organized targets in groups, to make it easier to connect them to a modifier. Now we will discuss how we can do a similar thing for modifiers.
Modifiers provide an easy way to manage targets. They allow reducing many of hundreds of targets to a more manageable number of controllable properties. But even then, we still have about 100 modifiers, which is still quite a lot. Therefore we group them in groups of categories, much like we do in the GUI. This makes it easy to get a grouped overview of all modifiers when using an alternative interface, think of commandline or scripting. The way in which you declare the group and other properties of a modifier determines what target groups it gets its targets from.
Modifiers are declared with a group name, some intermediary “target name” and a number of tail tokens (2 or 3 usually, eg min/max). The group of targets controlled by these modifiers is composed as: groupname-targets_name-tail.
Macro modifiers are declared with a group name, and a controlled variable. The groupname must be the same groupname of the targets they control.
=== Declarative modifiers ===
Instead of hard coding what modifiers you want to instantiate, MakeHuman offers a data-based format to declare what modifiers should be created, and how they should be shown in a user interface with sliders.
A full declaration requires three files, all stored in data/modifiers. The first is the declaration of the modifiers (eg. modeling_modifiers.json). This format lists a modifier group name, and all the modifiers with their macro variable (if they are macro modifiers) or target name and 2 or 3 (if they are a modifier with a center point) tail tokens.
The second file adds a description to the modifiers declared in the first file. It basically contains a key-value set, referencing the modifier name, and a textual description of what the modifier controls. A modifier name is constructed as follows: group/targets_name-all|the|tails and for a macro modifier: group/variable
The third file defines how these modifiers should be shown in the user interface as sliders. It lists a set of categories, and the sliders to show in them, and how their values have to be saved in a mhm file (mainly a feature for legacy compatibility).
=== Your own plugin with modifiers, sliders and targets ===
Using the declarative data format described in the section above, it’s really simple. Have a look at the plugin plugins/0_modeling_0_modifiers.py. Notice it’s barely 5 lines of code. Creating your own modeling plugin is as simple as that, pointing it to your own modifier data files.
=== Binary targets ===
Because loading these ASCII target files, and iterating all target files and folders can be slow (especially on windows) in build versions, we compile all targets in the data/targets system folder into a single binary file, that furthermore acts exactly the same as multiple target files. The binary targets file is stored in the system data/ folder and is called targets.npz, it is created by running the compile_targets.py script, which is also automatically run in the build_prepare.py build routine. The file structure of the targets files is maintained in this binary file so that targets can be loaded from it in the same way as you would do with regular files. A change in the .target files, or newly added target files allow a recompilation of the targets npz file before the change is applied.
== Material format==
=== Introduction ===
MakeHuman material files have extension .mhmat and are simple ASCII definitions
of the material settings to use for rendering.
These material settings are primarily intended for configuring the material
system within MakeHuman, but they are usually carried out to other software as
well by the exporters.
Not all properties will be supported for all given combinations of shaders, nor
is there a guarantee that the exporters will honor all the properties in these
files.
Every 3D object in MakeHuman has exactly one material attached to it (multiple
materials are not possible, you need separate objects for that). Materials are
used for proxy meshes (clothes, hairs, ...) but also for the skin of the human
itself.
=== The Material System ===
The MakeHuman material system is closely based on the [[https://en.wikipedia.org/wiki/Rendering_equation standard rendering equation]]
as is used in OpenGL and DirectX forward rendering pipelines. MakeHuman supports
shaders and the material format contains the most commonly used extensions in
real-time rendering. As a consequence of this, users need to be aware of the
implications of setting values such as ambient too bright, or diffuse too dark.
All usual rules about rendering materials apply.
At the highest level, the material supports setting the most basic material
properties, such as diffuse, specular and ambient color. These are supported
both by shaders as well as the fixed function shading pipeline (which is used
when no shader is specified). Fixed function also supports the diffuse texture
option.
At a second level, a shader can be chosen. This refers directly to the filename
of a [[https://en.wikipedia.org/wiki/OpenGL_Shading_Language GLSL shader]] as found in the data/shaders/glsl folder of MakeHuman.
The selected shader will determine what material options will be available.
Various additional settings become available, depending on whether or not the
chosen shader has support for these features, such as bump or normal mapping,
ambient occlusion, specular mapping, etc.
For most of these, a texture map and a scalar property between 0 and 1 can be
set, the latter determining the intensity or influence of the effect.
Finally, MakeHuman also contains a built-in offline renderer that supports some
additional properties such as subsurface scattering, for which some special
properties are available.
=== Example ===
This is a full and complete (but fictional) example of a material file for MakeHuman, it shows all the available properties.
# Example MakeHuman Material definition
name Material_name
tag some_tag
tag another_tag
description material description text here
ambientColor 0.11 0.11 0.11
diffuseColor 1.0 1.0 1.0
specularColor 0.0470588235294 0.0470588235294 0.0470588235294
shininess 0.96
emissiveColor 0.0 0.0 0.0
opacity 1.0
translucency 0.0
shadeless False
wireframe False
transparent True
alphaToCoverage True
backfaceCull False
depthless False
autoBlendSkin False
castShadows True
receiveShadows True
diffuseTexture diffuse_texture.png
bumpmapTexture bumpmap.png
bumpmapIntensity 1.0
normalmapTexture normalmap.png
normalmapIntensity 1.0
displacementmapTexture norm_displacement.png
displacementmapIntensity 1.0
specularmapTexture specular.png
specularmapIntensity 1.0
transparencymapTexture alpha.png
transparencymapIntensity 1.0
aomapTexture ambient_occlusion_map.png
aomapIntensity 1.0
# Sub-surface scattering parameters
sssEnabled True
sssRScale 5.0
sssGScale 2.5
sssBScale 1.0
shader shaders/glsl/litsphere
shaderParam litsphereTexture litspheres/lit_hair.png
shaderConfig ambientOcclusion True
shaderConfig normal False
shaderConfig bump True
shaderConfig displacement False
shaderConfig vertexColors True
shaderConfig spec True
shaderConfig transparency True
shaderConfig diffuse True
shaderDefine ALPHA_MAP
uvMap alt_uv_coords.mhuv
This is another example, this time a real one. It is the X-ray material, used for example when showing the skeleton:
# Material definition for XrayMaterial
name XrayMaterial
ambientColor 0.1 0.1 0.1
diffuseColor 1.0 1.0 1.0
specularColor 0.3 0.3 0.3
shininess 0.1
emissiveColor 0.0 0.0 0.0
opacity 0.1
translucency 0.0
transparent True
backfaceCull True
shadeless False
wireframe False
depthless False
shader data/shaders/glsl/xray
shaderConfig diffuse False
shaderConfig transparency False
shaderConfig normal False
shaderConfig bump False
shaderConfig spec False
shaderConfig vertexColors False
shaderConfig displacement False
=== Explanation of material properties ===
=== autoBlendSkin ===
If True the shaderParam litsphereTexture will be automatically set to a dynamically blended litsphere texture,
which is a mix of three litsphere materials (afro, asian, caucasian) depending on the ethnic mix of the character.
=== Basic pointers ===
* You can test the influence of material properties using the Material Editor plugin (which you can enable in Settings > Plugins, then restart)
* Using a diffuse texture? You probably want to set the diffuse color to 1 1 1 (pure white)
* Never set ambient color too bright, or your model will look completely white. 0.1 0.1 0.1 is a good value to start from.
* Emissive is usually set to black, unless you want a radioactive character
* Don't know how to define a color in numbers? Try the Material Editor plugin
* Higher shininess means smaller and sharper highlight, lower shininess makes the highlight larger and more blurred
* Reduce specular color to reduce the specularity, make it black for a rough and non shiny object
* opacity 1 means fully opaque, 0 means fully transparent (invisible)
=== Scene definition ===
To complete the rendering equation, you also need to define the scene. To be
more precise, the positions, types, color and intensities of the lights need to
be set. By default, MakeHuman only has a default scene with only one pointlight.
In MakeHuman, lights do not move if the camera is moved, or rather, the model is
rotated while the camera and lights remain static. So light positions are defined
relative to the camera position.
MakeHuman scenes are defined in .mhscene files, which are binary py-pickled files.
They can be created or modified using the Scene Editor plugin (can be enabled in
settings) and can be selected from the Scene library in the Render tab.
Fixed function shading pipeline supports up to 8 lights, specific light support
depends on the shader used, some shaders only support a certain type or number
of lights, other ignore the chosen scene altogether (for example the litsphere
shader that uses pre-baked environment lighting).
The built-in offline renderer also uses the specified scene.
Scenes are not exported along with the model.
==== Shaders ====
The most powerful functionality of the material system is unlocked when using
shaders.
MakeHuman shaders are intended to be written in a modular way, so that shading
features can be enabled or disabled using the material format. Examples of such
features are bump mapping, normal mapping, specular mapping, diffuse texturing,
ambient occlusion and displacement mapping.
MakeHuman includes a basic introspection function that allows it to determine
what features a shader supports. It accomplishes this by looking for #ifdef and #ifndef statements. If a shader supports a certain technique, it is supposed to
encapsulate this in #ifdef NORMALMAP ... #else ... #endif statements.
The material system manages these shading functions by defining specific pre-processor
keywords when their corresponding shaderConfig property is set to true.
Shaders are recompiled when needed and stored in a shader cache for efficiency.
MakeHuman passes scene and material information to the shaders by certain uniform
parameters. Depending on which shaderConfig properties were enabled, additional
uniforms could be exposed to the shader. The shader does not have to declare all
these uniforms, however. MakeHuman binds only those uniforms present in the shader
if they have the right corresponding names.
Other properties are available from the OpenGL default uniforms or properties.
The following table lists these defines and the shaderConfig properties in the
material they relate to:
{|
! style="text-align:left;"| shaderConfig
! shader #DEFINE
! exposed uniform parameters if enabled
! comment
|-
|default (always enabled)
|
|vec3 ambient, vec4 diffuse, vec4 specular, vec3 emissive
|diffuse and specular are 4-component color values, diffuse=[rgba] with a=opacity and specular=[rgbs] with s=shininess
|-
|vertexColors
|VERTEX_COLOR
|
|
|-
|diffuse
|DIFFUSE
|diffuseTexture
|
|-
|bump
|BUMPMAP
|bumpmapTexture, bumpmapIntensity
|disabled if normal mapping is enabled (restriction might be lifted in the future)
|-
|normal
|NORMALMAP
|normalmapTexture, normalmapIntensity
|
|-
|displacement
|DISPLACEMENT
|displacementmapTexture, displacementmapIntensity
|
|-
|spec
|SPECULARMAP
|specularmapTexture, specularmapIntensity
|
|-
|transparency
|TRANSPARENCYMAP
|transparencymapTexture, transparencymapIntensity
|
|-
|ambientOcclusion
|AOMAP
|aomapTexture, aomapIntensity
|
|}
Additionally, MakeHuman exposes the vertex tangent as a vertex property, which
can be accessed by the shader.
attribute vec4 tangent
Currently, [[http://www.terathon.com/code/tangent.html Lengyel’s Method]] for tangent calculation
is used, but plans are to change this to [[http://bugtracker.makehumancommunity.org/issues/87 mikktspace]] in the future.
Shader examples for MakeHuman can be found here:
* Litsphere shader: [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/litsphere_vertex_shader.txt vertex]] [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/litsphere_fragment_shader.txt fragment]]
* Phong shader: [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/phong_vertex_shader.txt vertex]] [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/phong_fragment_shader.txt fragment]]
* Normal map shader (wip): [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/normalmap_vertex_shader.txt vertex]] [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/normalmap_fragment_shader.txt fragment]]
* X-ray shader: [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/xray_vertex_shader.txt vertex]] [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/xray_fragment_shader.txt fragment]]
9a6308a5fb550846e10237d2ff95ea58efe4fc8c
566
565
2016-01-27T14:59:25Z
Duststorm
19
/* Shaders */
wikitext
text/x-wiki
== Vertex weights ==
With vertex weights we intend a weighted mapping of vertices of a mesh to a bone of a skeleton. The weight is a value between 0 and 1, the sum of these weights for each vertex should be normalized, which means they should sum to 1 (note: no euclidian distance, just simple addition of all weights). A weight map in MakeHuman is expressed as a bone name (becomes a bone index internally, using the index of the bone in a breadth-first list relative to skeleton structure), a vertex name and a floating point weight between 0 and 1. This weighted vertex to bone mapping is used for skinning (posing and animating, using vertex skinning, smooth skinning or linear blend skinning algorithm). For the skinning algorithm to work correctly it’s required that the weights are always normalized, otherwise you will see vertices move out of place disproportionally (though the weight loading code in MakeHuman ensures that this normalization always happens, so this is not a concern to the artist that defines the weights). The vertex weights can be exported to external tools as well using formats such as collada (DAE), FBX, Ogre3D meshes or MD5 quake meshes.
=== Vertex weights and skeletons ===
Vertex weights are defined for the default “master” skeleton or rig. They are defined in a json file with jsonw extension. They link each vertex of the basemesh including helpers to a named bone of this master rig, together with a certain weight.
The weights loader automatically removes doubles and normalizes the weights (so that they sum to 1). It also reports what the maximum number of bone weights per vertex is, additionally it allows compiling the weights to a reduced set with n number of bone weights, and automatically renormalizes those weights so they, again, sum to 1.
When loading weights, any vertex that receives no weighting is assigned to the root bone, as this is needed for skinning to prevent all those vertices jumping to the origin (0*pos == 0).
Alternative skeletons can define their own weights, by referencing a weights file just like the master rig, or they can choose to derive their weights from the master rig, through so called reference bone mappings. Skeletons will derive their weights from the master rig if they do not specify a weights file explicitly. Custom vertex weights in alternative rigs override those defined on the master rig, except in the case where a proxy defines its own vertex weights. See section Vertex weights for proxies for more details.
=== Reference bones for vertex weights and poses ===
Reference bones are defined on alternative rigs, they are a list of names of bones contained in the master rig. Every bone of an alternative rig can have such a list of reference bones. An alternative rig can also omit these references if it uses the same name as bones in the master rig, in which the mapping is implicit. Having a list of bone references always overrides the implicit mapping. Reference bone mappings are required for two purposes.
They are used for mapping poses defined on the master rig to other rigs. All poses are defined as BVH files that pose the master rig, so they reference only the bone names of the master rig. Poses are applied to all other rigs by using the reference bone mapping: all the rotations that the pose applies to the referenced bones are combined (in the order in which the references were specified -- note: rotations are NOT commutative) and are applied to the alternative rig bone.
Reference bone mappings can also be used for determining vertex weights of custom rigs. If the alternative rig does not explicitly define its own vertex weights, the mapping of reference bones is used to infere a set of bone weights for each bone: All the weights of the reference bones on the master rig (with the weights definition of the default/master rig) are combined and apply to the bone of the alternative rig. Doubles are merged, and weights renormalized. Any vertex that is not weighted will be assigned to the root bone. Watch for messages in the log to verify this.
=== Vertex weights for proxies ===
Generally proxies are mapped to basemesh geometry, that means either to the body or to helpers, or a combination of both (though this is unusual). Proxies derive their vertex weights from the vertices on the basemesh on which they are fitted. A proxy defines its fitting as a 3d offset from one or three vertices on the basemesh, allowing it to deform as the human deforms. This mapping is used to transfer the vertex weights from basemesh to proxy: a proxy vertex referencing three basemesh vertices gets the bone weights of those three vertices. Doubles are merged and the weights are normalized, so that the influence factors are averaged or smoothed. In this case the weights applied to proxies are always those defined on the skeleton: either the weights explicitly defined on the skeleton, or the weights obtained from remapping the master rig weights to this skeleton using the reference bone mapping mentioned in the previous sections. There is an exception to this, which is explained in the next paragraph.
A proxy can explicitly define its own vertex (to bone) weights. In this case it overrides the weights that would be obtained through the proxy mapping, and replaces them by its own custom definition of weights. These vertex weights are always defined to reference the bones of the master rig (default skeleton), so they need to be remapped to other skeletons using reference bone mapping. This also means that the custom weights of a proxy override any custom weights mapping that might be loaded with an alternative rig (but only for that proxy item). Custom proxy weights should be avoided if possible, but are in some cases required, eg. for properly rigging shoes which are rigidly fitted to feet, or an alternative topology which defines very accurate rigging on the face. The general advice for custom rigs is therefore to stay as close to the master rig as possible, reusing as much bones identically as possible, to achieve the best results for proxies with custom weights.
In case of custom weight, the mhclo file must contain a line to indicate the weight file to use, using the keyword “vertexboneweights_file”, with the syntax:
vertexboneweights_file filename.jsonw
== Targets and modifiers ==
MakeHuman applies targets on the human by means of modifiers. Such a modifier has a value (usually between [0, 1] or [-1, 1]) that determines the effect of it on the human mesh. A modifier can control one or more targets and in apply the mixed sum of them on the mesh. Some modifiers.
=== Organization of targets ===
To make sure targets are linked to the right modifier, or to make managing targets easier, a certain discipline has to be observed in managing them. Targets are ASCII files in the data/targets or data/custom folder (in program or user folder) with a file extension of .target.
The file name and folder targets are in implicitly determines their group name. A group is identified by a sequence of tags or tokens, which are taken from the file and folder name of each target, and which can be delimited by “-” symbols, to include multiple tokens in a single file or folder name. The lib/targets.py module takes care of loading all the names of the available targets and assembles them into groups. All targets with the same tokens end up in the same group. This allows easy querying and requesting of targets. The creator is pretty much free to decide what groups to create for their targets. By passing the name of the target group to a modifier, they can make sure that modifier controls the targets belonging to this group. It does not matter whether you use folders or - delimited file names for creating groups.
An example:
data/targets/cartoon/eyes-large.target is categorized in group (cartoon, eyes, large)
data/targets/cartoon-eyes-large.target is also categorized in group (cartoon, eyes, large)
Most simple modifiers work by specifying a group (for example cartoon-eyes) and a set of two tokens to append at the end, depending on the position of the modifier slider (eg. small, large which would allow controlling the targets cartoon-eyes-small and cartoon-eyes-large by moving the slider to the left or right).
=== Reserved group tokens ===
Some of the tokens in the file or foldername of targets are linked to values that variables of the human can have. Such variables are for example age, weight, muscle, gender.
This table lists all the reserved tokens, and the variables they belong to.
{| class="wikitable"
|-
! Reserved token (value)
! Variable
|-
| female,male
| gender
|-
| baby, child, young, old
| age
|-
| african, caucasian, asian
| race
|-
| minmuscle, averagemuscle, maxmuscle
| muscle
|-
| minweight, averageweight, maxweight
| weight
|-
| minheight, averageheight, maxheight
| height
|-
| mincup, averagecup, maxcup
| breastsize
|-
| minfirmness, averagefirmness, maxfirmness
| breastfirmness
|-
| uncommonproportions, regularproportions, idealproportions
| bodyproportion
|}
Note that it is not a good idea to use simply “max” or “min” as a reserved token name, because they need to be unique (otherwise it would not be possible to determine whether they are a minimum for, for example, weight or height). These reserved tokens are declared in the lib/targets.py module. The variable can be set and queried on the human object, for example human.getAge(), human.setMuscle(0.7), human.getProportion().
The reserved tokens are NOT included in the group name, so you should at least include some other, non-reserved tokens in the file or folder names to assign your target to some meaningful group. The inclusion of these reserved tokens in your target names or paths makes it convenient to create macro modifiers.
=== Macro targets and modifiers ===
Macro modifiers are modifiers whose effect (the combination of targets they apply on the human) is influenced by macro variables set on the human (eg. human.set/getAge()). Therefore, macro modifiers often control a large set of targets (20 or even more). It’s also common for multiple modifiers to control exactly the same set of targets, for example the standard age/gender/race sliders all control the set of targets in the ‘macrodetails’ group. Each slider modifies a different variable (eg. human.setAge()) controlling the set of targets, and then reapplies a combination of the same set of targets on the human.
=== Macro modifier dependencies ===
There are other macro modifiers that can also depend on the same variables age, gender, race that is controlled by the main macro modifiers, as discussed above. For example the macro modifiers that influence the weight and muscle mass of the human, controls the targets group “macrodetails-universal”, the universal token is added by prepending “universal-” to all the file names of related targets, which all reside in the folder “macrodetails” (thus macrodetails-universal ends up being the group name). They could have been included all in the “macrodetails” group, but are kept separate for performance reasons, so that the “macrodetails” group of targets (which already contains some 40 targets or so) can be applied in realtime while moving the slider.
Of course a change in the variable that these age/race/gender modifiers control will have an effect on the macrodetails-universal modifiers (because they control targets that depend on age -- their targets include -young- -old- etc. tokens in their filenames). This means there are inter-dependencies between macro modifiers, if one is updated, another one that depends on it should be refreshed. These dependencies can be descibed as follows: one macro modifier controls exactly one macro variable (such as age). It (or rather, the targets it controls) can however depend on multiple macro variables. The trivial case is where a macro modifier only depends on the macro variable that it controls itself. The tracking of these dependencies and deciding which modifiers must be updated when another is changed happens automatically. Dependencies are automatically tracked as soon as you add a modifier to the human (by calling modifier.setHuman(human)). To make this more performant in real-time, the propagation of updates to modifiers is limited while sliders are dragged (see realtimeDependencyUpdates in apps/humanmodifier.py).
As you might have understood, creating modifiers that depend on human variables is almost automatic. The only thing you need to do is create some targets that resolve to the same group name, add variations for all the macro variables you want and add the proper reserved tokens to the file or folder name (refer to the left column in the table above), and create a modifier with this group name. Once added to the human, the dependencies are tracked automatically.
=== Organization of modifiers ===
We already discussed how we organized targets in groups, to make it easier to connect them to a modifier. Now we will discuss how we can do a similar thing for modifiers.
Modifiers provide an easy way to manage targets. They allow reducing many of hundreds of targets to a more manageable number of controllable properties. But even then, we still have about 100 modifiers, which is still quite a lot. Therefore we group them in groups of categories, much like we do in the GUI. This makes it easy to get a grouped overview of all modifiers when using an alternative interface, think of commandline or scripting. The way in which you declare the group and other properties of a modifier determines what target groups it gets its targets from.
Modifiers are declared with a group name, some intermediary “target name” and a number of tail tokens (2 or 3 usually, eg min/max). The group of targets controlled by these modifiers is composed as: groupname-targets_name-tail.
Macro modifiers are declared with a group name, and a controlled variable. The groupname must be the same groupname of the targets they control.
=== Declarative modifiers ===
Instead of hard coding what modifiers you want to instantiate, MakeHuman offers a data-based format to declare what modifiers should be created, and how they should be shown in a user interface with sliders.
A full declaration requires three files, all stored in data/modifiers. The first is the declaration of the modifiers (eg. modeling_modifiers.json). This format lists a modifier group name, and all the modifiers with their macro variable (if they are macro modifiers) or target name and 2 or 3 (if they are a modifier with a center point) tail tokens.
The second file adds a description to the modifiers declared in the first file. It basically contains a key-value set, referencing the modifier name, and a textual description of what the modifier controls. A modifier name is constructed as follows: group/targets_name-all|the|tails and for a macro modifier: group/variable
The third file defines how these modifiers should be shown in the user interface as sliders. It lists a set of categories, and the sliders to show in them, and how their values have to be saved in a mhm file (mainly a feature for legacy compatibility).
=== Your own plugin with modifiers, sliders and targets ===
Using the declarative data format described in the section above, it’s really simple. Have a look at the plugin plugins/0_modeling_0_modifiers.py. Notice it’s barely 5 lines of code. Creating your own modeling plugin is as simple as that, pointing it to your own modifier data files.
=== Binary targets ===
Because loading these ASCII target files, and iterating all target files and folders can be slow (especially on windows) in build versions, we compile all targets in the data/targets system folder into a single binary file, that furthermore acts exactly the same as multiple target files. The binary targets file is stored in the system data/ folder and is called targets.npz, it is created by running the compile_targets.py script, which is also automatically run in the build_prepare.py build routine. The file structure of the targets files is maintained in this binary file so that targets can be loaded from it in the same way as you would do with regular files. A change in the .target files, or newly added target files allow a recompilation of the targets npz file before the change is applied.
== Material format==
=== Introduction ===
MakeHuman material files have extension .mhmat and are simple ASCII definitions
of the material settings to use for rendering.
These material settings are primarily intended for configuring the material
system within MakeHuman, but they are usually carried out to other software as
well by the exporters.
Not all properties will be supported for all given combinations of shaders, nor
is there a guarantee that the exporters will honor all the properties in these
files.
=== The Material System ===
The MakeHuman material system is closely based on the [[https://en.wikipedia.org/wiki/Rendering_equation standard rendering equation]]
as is used in OpenGL and DirectX forward rendering pipelines. MakeHuman supports
shaders and the material format contains the most commonly used extensions in
real-time rendering. As a consequence of this, users need to be aware of the
implications of setting values such as ambient too bright, or diffuse too dark.
All usual rules about rendering materials apply.
At the highest level, the material supports setting the most basic material
properties, such as diffuse, specular and ambient color. These are supported
both by shaders as well as the fixed function shading pipeline (which is used
when no shader is specified). Fixed function also supports the diffuse texture
option.
At a second level, a shader can be chosen. This refers directly to the filename
of a [[https://en.wikipedia.org/wiki/OpenGL_Shading_Language GLSL shader]] as found in the data/shaders/glsl folder of MakeHuman.
The selected shader will determine what material options will be available.
Various additional settings become available, depending on whether or not the
chosen shader has support for these features, such as bump or normal mapping,
ambient occlusion, specular mapping, etc.
For most of these, a texture map and a scalar property between 0 and 1 can be
set, the latter determining the intensity or influence of the effect.
Finally, MakeHuman also contains a built-in offline renderer that supports some
additional properties such as subsurface scattering, for which some special
properties are available.
==== Shaders ====
The most powerful functionality of the material system is unlocked when using
shaders.
MakeHuman shaders are intended to be written in a modular way, so that shading
features can be enabled or disabled using the material format. Examples of such
features are bump mapping, normal mapping, specular mapping, diffuse texturing,
ambient occlusion and displacement mapping.
MakeHuman includes a basic introspection function that allows it to determine
what features a shader supports. It accomplishes this by looking for #ifdef and #ifndef statements. If a shader supports a certain technique, it is supposed to
encapsulate this in #ifdef NORMALMAP ... #else ... #endif statements.
The material system manages these shading functions by defining specific pre-processor
keywords when their corresponding shaderConfig property is set to true.
Shaders are recompiled when needed and stored in a shader cache for efficiency.
MakeHuman passes scene and material information to the shaders by certain uniform
parameters. Depending on which shaderConfig properties were enabled, additional
uniforms could be exposed to the shader. The shader does not have to declare all
these uniforms, however. MakeHuman binds only those uniforms present in the shader
if they have the right corresponding names.
Other properties are available from the OpenGL default uniforms or properties.
The following table lists these defines and the shaderConfig properties in the
material they relate to:
{|
! style="text-align:left;"| shaderConfig
! shader #DEFINE
! exposed uniform parameters if enabled
! comment
|-
|default (always enabled)
|
|vec3 ambient, vec4 diffuse, vec4 specular, vec3 emissive
|diffuse and specular are 4-component color values, diffuse=[rgba] with a=opacity and specular=[rgbs] with s=shininess
|-
|vertexColors
|VERTEX_COLOR
|
|
|-
|diffuse
|DIFFUSE
|diffuseTexture
|
|-
|bump
|BUMPMAP
|bumpmapTexture, bumpmapIntensity
|disabled if normal mapping is enabled (restriction might be lifted in the future)
|-
|normal
|NORMALMAP
|normalmapTexture, normalmapIntensity
|
|-
|displacement
|DISPLACEMENT
|displacementmapTexture, displacementmapIntensity
|
|-
|spec
|SPECULARMAP
|specularmapTexture, specularmapIntensity
|
|-
|transparency
|TRANSPARENCYMAP
|transparencymapTexture, transparencymapIntensity
|
|-
|ambientOcclusion
|AOMAP
|aomapTexture, aomapIntensity
|
|}
Additionally, MakeHuman exposes the vertex tangent as a vertex property, which
can be accessed by the shader.
attribute vec4 tangent
Currently, [[http://www.terathon.com/code/tangent.html Lengyel’s Method]] for tangent calculation
is used, but plans are to change this to [[http://bugtracker.makehumancommunity.org/issues/87 mikktspace]] in the future.
Shader examples for MakeHuman can be found here:
* Litsphere shader: [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/litsphere_vertex_shader.txt vertex]] [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/litsphere_fragment_shader.txt fragment]]
* Phong shader: [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/phong_vertex_shader.txt vertex]] [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/phong_fragment_shader.txt fragment]]
* Normal map shader (wip): [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/normalmap_vertex_shader.txt vertex]] [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/normalmap_fragment_shader.txt fragment]]
* X-ray shader: [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/xray_vertex_shader.txt vertex]] [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/xray_fragment_shader.txt fragment]]
=== Basic pointers ===
* You can test the influence of material properties using the Material Editor plugin (which you can enable in Settings > Plugins, then restart)
* Using a diffuse texture? You probably want to set the diffuse color to 1 1 1 (pure white)
* Never set ambient color too bright, or your model will look completely white. 0.1 0.1 0.1 is a good value to start from.
* Emissive is usually set to black, unless you want a radioactive character
* Higher shininess means smaller and sharper highlight, lower shininess makes the highlight larger and more blurred
* Reduce specular color to reduce the specularity, make it black for a rough and non shiny object
* opacity 1 means fully opaque, 0 means fully transparent (invisible)
=== Scene definition ===
To complete the rendering equation, you also need to define the scene. To be
more precise, the positions, types, color and intensities of the lights need to
be set. By default, MakeHuman only has a default scene with only one pointlight.
In MakeHuman, lights do not move if the camera is moved, or rather, the model is
rotated while the camera and lights remain static. So light positions are defined
relative to the camera position.
MakeHuman scenes are defined in .mhscene files, which are binary py-pickled files.
They can be created or modified using the Scene Editor plugin (can be enabled in
settings) and can be selected from the Scene library in the Render tab.
Fixed function shading pipeline supports up to 8 lights, specific light support
depends on the shader used, some shaders only support a certain type or number
of lights, other ignore the chosen scene altogether (for example the litsphere
shader that uses pre-baked environment lighting).
The built-in offline renderer also uses the specified scene.
Scenes are not exported along with the model.
=== Example ===
This is a full and complete (but fictional) example of a material file for MakeHuman, it shows all the available properties.
# Example MakeHuman Material definition
name Material_name
tag some_tag
tag another_tag
description material description text here
ambientColor 0.11 0.11 0.11
diffuseColor 1.0 1.0 1.0
specularColor 0.0470588235294 0.0470588235294 0.0470588235294
shininess 0.96
emissiveColor 0.0 0.0 0.0
opacity 1.0
translucency 0.0
shadeless False
wireframe False
transparent True
alphaToCoverage True
backfaceCull False
depthless False
autoBlendSkin False
castShadows True
receiveShadows True
diffuseTexture diffuse_texture.png
bumpmapTexture bumpmap.png
bumpmapIntensity 1.0
normalmapTexture normalmap.png
normalmapIntensity 1.0
displacementmapTexture norm_displacement.png
displacementmapIntensity 1.0
specularmapTexture specular.png
specularmapIntensity 1.0
transparencymapTexture alpha.png
transparencymapIntensity 1.0
aomapTexture ambient_occlusion_map.png
aomapIntensity 1.0
# Sub-surface scattering parameters
sssEnabled True
sssRScale 5.0
sssGScale 2.5
sssBScale 1.0
shader shaders/glsl/litsphere
shaderParam litsphereTexture litspheres/lit_hair.png
shaderConfig ambientOcclusion True
shaderConfig normal False
shaderConfig bump True
shaderConfig displacement False
shaderConfig vertexColors True
shaderConfig spec True
shaderConfig transparency True
shaderConfig diffuse True
shaderDefine ALPHA_MAP
uvMap alt_uv_coords.mhuv
This is another example, this time a real one. It is the X-ray material, used for example when showing the skeleton:
# Material definition for XrayMaterial
name XrayMaterial
ambientColor 0.1 0.1 0.1
diffuseColor 1.0 1.0 1.0
specularColor 0.3 0.3 0.3
shininess 0.1
emissiveColor 0.0 0.0 0.0
opacity 0.1
translucency 0.0
transparent True
backfaceCull True
shadeless False
wireframe False
depthless False
shader data/shaders/glsl/xray
shaderConfig diffuse False
shaderConfig transparency False
shaderConfig normal False
shaderConfig bump False
shaderConfig spec False
shaderConfig vertexColors False
shaderConfig displacement False
d0fcf5c7fd5e8fa5b113476521824c7123484a56
565
564
2016-01-27T14:58:26Z
Duststorm
19
fix link
wikitext
text/x-wiki
== Vertex weights ==
With vertex weights we intend a weighted mapping of vertices of a mesh to a bone of a skeleton. The weight is a value between 0 and 1, the sum of these weights for each vertex should be normalized, which means they should sum to 1 (note: no euclidian distance, just simple addition of all weights). A weight map in MakeHuman is expressed as a bone name (becomes a bone index internally, using the index of the bone in a breadth-first list relative to skeleton structure), a vertex name and a floating point weight between 0 and 1. This weighted vertex to bone mapping is used for skinning (posing and animating, using vertex skinning, smooth skinning or linear blend skinning algorithm). For the skinning algorithm to work correctly it’s required that the weights are always normalized, otherwise you will see vertices move out of place disproportionally (though the weight loading code in MakeHuman ensures that this normalization always happens, so this is not a concern to the artist that defines the weights). The vertex weights can be exported to external tools as well using formats such as collada (DAE), FBX, Ogre3D meshes or MD5 quake meshes.
=== Vertex weights and skeletons ===
Vertex weights are defined for the default “master” skeleton or rig. They are defined in a json file with jsonw extension. They link each vertex of the basemesh including helpers to a named bone of this master rig, together with a certain weight.
The weights loader automatically removes doubles and normalizes the weights (so that they sum to 1). It also reports what the maximum number of bone weights per vertex is, additionally it allows compiling the weights to a reduced set with n number of bone weights, and automatically renormalizes those weights so they, again, sum to 1.
When loading weights, any vertex that receives no weighting is assigned to the root bone, as this is needed for skinning to prevent all those vertices jumping to the origin (0*pos == 0).
Alternative skeletons can define their own weights, by referencing a weights file just like the master rig, or they can choose to derive their weights from the master rig, through so called reference bone mappings. Skeletons will derive their weights from the master rig if they do not specify a weights file explicitly. Custom vertex weights in alternative rigs override those defined on the master rig, except in the case where a proxy defines its own vertex weights. See section Vertex weights for proxies for more details.
=== Reference bones for vertex weights and poses ===
Reference bones are defined on alternative rigs, they are a list of names of bones contained in the master rig. Every bone of an alternative rig can have such a list of reference bones. An alternative rig can also omit these references if it uses the same name as bones in the master rig, in which the mapping is implicit. Having a list of bone references always overrides the implicit mapping. Reference bone mappings are required for two purposes.
They are used for mapping poses defined on the master rig to other rigs. All poses are defined as BVH files that pose the master rig, so they reference only the bone names of the master rig. Poses are applied to all other rigs by using the reference bone mapping: all the rotations that the pose applies to the referenced bones are combined (in the order in which the references were specified -- note: rotations are NOT commutative) and are applied to the alternative rig bone.
Reference bone mappings can also be used for determining vertex weights of custom rigs. If the alternative rig does not explicitly define its own vertex weights, the mapping of reference bones is used to infere a set of bone weights for each bone: All the weights of the reference bones on the master rig (with the weights definition of the default/master rig) are combined and apply to the bone of the alternative rig. Doubles are merged, and weights renormalized. Any vertex that is not weighted will be assigned to the root bone. Watch for messages in the log to verify this.
=== Vertex weights for proxies ===
Generally proxies are mapped to basemesh geometry, that means either to the body or to helpers, or a combination of both (though this is unusual). Proxies derive their vertex weights from the vertices on the basemesh on which they are fitted. A proxy defines its fitting as a 3d offset from one or three vertices on the basemesh, allowing it to deform as the human deforms. This mapping is used to transfer the vertex weights from basemesh to proxy: a proxy vertex referencing three basemesh vertices gets the bone weights of those three vertices. Doubles are merged and the weights are normalized, so that the influence factors are averaged or smoothed. In this case the weights applied to proxies are always those defined on the skeleton: either the weights explicitly defined on the skeleton, or the weights obtained from remapping the master rig weights to this skeleton using the reference bone mapping mentioned in the previous sections. There is an exception to this, which is explained in the next paragraph.
A proxy can explicitly define its own vertex (to bone) weights. In this case it overrides the weights that would be obtained through the proxy mapping, and replaces them by its own custom definition of weights. These vertex weights are always defined to reference the bones of the master rig (default skeleton), so they need to be remapped to other skeletons using reference bone mapping. This also means that the custom weights of a proxy override any custom weights mapping that might be loaded with an alternative rig (but only for that proxy item). Custom proxy weights should be avoided if possible, but are in some cases required, eg. for properly rigging shoes which are rigidly fitted to feet, or an alternative topology which defines very accurate rigging on the face. The general advice for custom rigs is therefore to stay as close to the master rig as possible, reusing as much bones identically as possible, to achieve the best results for proxies with custom weights.
In case of custom weight, the mhclo file must contain a line to indicate the weight file to use, using the keyword “vertexboneweights_file”, with the syntax:
vertexboneweights_file filename.jsonw
== Targets and modifiers ==
MakeHuman applies targets on the human by means of modifiers. Such a modifier has a value (usually between [0, 1] or [-1, 1]) that determines the effect of it on the human mesh. A modifier can control one or more targets and in apply the mixed sum of them on the mesh. Some modifiers.
=== Organization of targets ===
To make sure targets are linked to the right modifier, or to make managing targets easier, a certain discipline has to be observed in managing them. Targets are ASCII files in the data/targets or data/custom folder (in program or user folder) with a file extension of .target.
The file name and folder targets are in implicitly determines their group name. A group is identified by a sequence of tags or tokens, which are taken from the file and folder name of each target, and which can be delimited by “-” symbols, to include multiple tokens in a single file or folder name. The lib/targets.py module takes care of loading all the names of the available targets and assembles them into groups. All targets with the same tokens end up in the same group. This allows easy querying and requesting of targets. The creator is pretty much free to decide what groups to create for their targets. By passing the name of the target group to a modifier, they can make sure that modifier controls the targets belonging to this group. It does not matter whether you use folders or - delimited file names for creating groups.
An example:
data/targets/cartoon/eyes-large.target is categorized in group (cartoon, eyes, large)
data/targets/cartoon-eyes-large.target is also categorized in group (cartoon, eyes, large)
Most simple modifiers work by specifying a group (for example cartoon-eyes) and a set of two tokens to append at the end, depending on the position of the modifier slider (eg. small, large which would allow controlling the targets cartoon-eyes-small and cartoon-eyes-large by moving the slider to the left or right).
=== Reserved group tokens ===
Some of the tokens in the file or foldername of targets are linked to values that variables of the human can have. Such variables are for example age, weight, muscle, gender.
This table lists all the reserved tokens, and the variables they belong to.
{| class="wikitable"
|-
! Reserved token (value)
! Variable
|-
| female,male
| gender
|-
| baby, child, young, old
| age
|-
| african, caucasian, asian
| race
|-
| minmuscle, averagemuscle, maxmuscle
| muscle
|-
| minweight, averageweight, maxweight
| weight
|-
| minheight, averageheight, maxheight
| height
|-
| mincup, averagecup, maxcup
| breastsize
|-
| minfirmness, averagefirmness, maxfirmness
| breastfirmness
|-
| uncommonproportions, regularproportions, idealproportions
| bodyproportion
|}
Note that it is not a good idea to use simply “max” or “min” as a reserved token name, because they need to be unique (otherwise it would not be possible to determine whether they are a minimum for, for example, weight or height). These reserved tokens are declared in the lib/targets.py module. The variable can be set and queried on the human object, for example human.getAge(), human.setMuscle(0.7), human.getProportion().
The reserved tokens are NOT included in the group name, so you should at least include some other, non-reserved tokens in the file or folder names to assign your target to some meaningful group. The inclusion of these reserved tokens in your target names or paths makes it convenient to create macro modifiers.
=== Macro targets and modifiers ===
Macro modifiers are modifiers whose effect (the combination of targets they apply on the human) is influenced by macro variables set on the human (eg. human.set/getAge()). Therefore, macro modifiers often control a large set of targets (20 or even more). It’s also common for multiple modifiers to control exactly the same set of targets, for example the standard age/gender/race sliders all control the set of targets in the ‘macrodetails’ group. Each slider modifies a different variable (eg. human.setAge()) controlling the set of targets, and then reapplies a combination of the same set of targets on the human.
=== Macro modifier dependencies ===
There are other macro modifiers that can also depend on the same variables age, gender, race that is controlled by the main macro modifiers, as discussed above. For example the macro modifiers that influence the weight and muscle mass of the human, controls the targets group “macrodetails-universal”, the universal token is added by prepending “universal-” to all the file names of related targets, which all reside in the folder “macrodetails” (thus macrodetails-universal ends up being the group name). They could have been included all in the “macrodetails” group, but are kept separate for performance reasons, so that the “macrodetails” group of targets (which already contains some 40 targets or so) can be applied in realtime while moving the slider.
Of course a change in the variable that these age/race/gender modifiers control will have an effect on the macrodetails-universal modifiers (because they control targets that depend on age -- their targets include -young- -old- etc. tokens in their filenames). This means there are inter-dependencies between macro modifiers, if one is updated, another one that depends on it should be refreshed. These dependencies can be descibed as follows: one macro modifier controls exactly one macro variable (such as age). It (or rather, the targets it controls) can however depend on multiple macro variables. The trivial case is where a macro modifier only depends on the macro variable that it controls itself. The tracking of these dependencies and deciding which modifiers must be updated when another is changed happens automatically. Dependencies are automatically tracked as soon as you add a modifier to the human (by calling modifier.setHuman(human)). To make this more performant in real-time, the propagation of updates to modifiers is limited while sliders are dragged (see realtimeDependencyUpdates in apps/humanmodifier.py).
As you might have understood, creating modifiers that depend on human variables is almost automatic. The only thing you need to do is create some targets that resolve to the same group name, add variations for all the macro variables you want and add the proper reserved tokens to the file or folder name (refer to the left column in the table above), and create a modifier with this group name. Once added to the human, the dependencies are tracked automatically.
=== Organization of modifiers ===
We already discussed how we organized targets in groups, to make it easier to connect them to a modifier. Now we will discuss how we can do a similar thing for modifiers.
Modifiers provide an easy way to manage targets. They allow reducing many of hundreds of targets to a more manageable number of controllable properties. But even then, we still have about 100 modifiers, which is still quite a lot. Therefore we group them in groups of categories, much like we do in the GUI. This makes it easy to get a grouped overview of all modifiers when using an alternative interface, think of commandline or scripting. The way in which you declare the group and other properties of a modifier determines what target groups it gets its targets from.
Modifiers are declared with a group name, some intermediary “target name” and a number of tail tokens (2 or 3 usually, eg min/max). The group of targets controlled by these modifiers is composed as: groupname-targets_name-tail.
Macro modifiers are declared with a group name, and a controlled variable. The groupname must be the same groupname of the targets they control.
=== Declarative modifiers ===
Instead of hard coding what modifiers you want to instantiate, MakeHuman offers a data-based format to declare what modifiers should be created, and how they should be shown in a user interface with sliders.
A full declaration requires three files, all stored in data/modifiers. The first is the declaration of the modifiers (eg. modeling_modifiers.json). This format lists a modifier group name, and all the modifiers with their macro variable (if they are macro modifiers) or target name and 2 or 3 (if they are a modifier with a center point) tail tokens.
The second file adds a description to the modifiers declared in the first file. It basically contains a key-value set, referencing the modifier name, and a textual description of what the modifier controls. A modifier name is constructed as follows: group/targets_name-all|the|tails and for a macro modifier: group/variable
The third file defines how these modifiers should be shown in the user interface as sliders. It lists a set of categories, and the sliders to show in them, and how their values have to be saved in a mhm file (mainly a feature for legacy compatibility).
=== Your own plugin with modifiers, sliders and targets ===
Using the declarative data format described in the section above, it’s really simple. Have a look at the plugin plugins/0_modeling_0_modifiers.py. Notice it’s barely 5 lines of code. Creating your own modeling plugin is as simple as that, pointing it to your own modifier data files.
=== Binary targets ===
Because loading these ASCII target files, and iterating all target files and folders can be slow (especially on windows) in build versions, we compile all targets in the data/targets system folder into a single binary file, that furthermore acts exactly the same as multiple target files. The binary targets file is stored in the system data/ folder and is called targets.npz, it is created by running the compile_targets.py script, which is also automatically run in the build_prepare.py build routine. The file structure of the targets files is maintained in this binary file so that targets can be loaded from it in the same way as you would do with regular files. A change in the .target files, or newly added target files allow a recompilation of the targets npz file before the change is applied.
== Material format==
=== Introduction ===
MakeHuman material files have extension .mhmat and are simple ASCII definitions
of the material settings to use for rendering.
These material settings are primarily intended for configuring the material
system within MakeHuman, but they are usually carried out to other software as
well by the exporters.
Not all properties will be supported for all given combinations of shaders, nor
is there a guarantee that the exporters will honor all the properties in these
files.
=== The Material System ===
The MakeHuman material system is closely based on the [[https://en.wikipedia.org/wiki/Rendering_equation standard rendering equation]]
as is used in OpenGL and DirectX forward rendering pipelines. MakeHuman supports
shaders and the material format contains the most commonly used extensions in
real-time rendering. As a consequence of this, users need to be aware of the
implications of setting values such as ambient too bright, or diffuse too dark.
All usual rules about rendering materials apply.
At the highest level, the material supports setting the most basic material
properties, such as diffuse, specular and ambient color. These are supported
both by shaders as well as the fixed function shading pipeline (which is used
when no shader is specified). Fixed function also supports the diffuse texture
option.
At a second level, a shader can be chosen. This refers directly to the filename
of a [[https://en.wikipedia.org/wiki/OpenGL_Shading_Language GLSL shader]] as found in the data/shaders/glsl folder of MakeHuman.
The selected shader will determine what material options will be available.
Various additional settings become available, depending on whether or not the
chosen shader has support for these features, such as bump or normal mapping,
ambient occlusion, specular mapping, etc.
For most of these, a texture map and a scalar property between 0 and 1 can be
set, the latter determining the intensity or influence of the effect.
Finally, MakeHuman also contains a built-in offline renderer that supports some
additional properties such as subsurface scattering, for which some special
properties are available.
==== Shaders ====
The most powerful functionality of the material system is unlocked when using
shaders.
MakeHuman shaders are intended to be written in a modular way, so that shading
features can be enabled or disabled using the material format. Examples of such
features are bump mapping, normal mapping, specular mapping, diffuse texturing,
ambient occlusion and displacement mapping.
MakeHuman includes a basic introspection function that allows it to determine
what features a shader supports. It accomplishes this by looking for #ifdef and #ifndef statements. If a shader supports a certain technique, it is supposed to
encapsulate this in #ifdef NORMALMAP ... #else ... #endif statements.
The material system manages these shading functions by defining specific pre-processor
keywords when their corresponding shaderConfig property is set to true.
Shaders are recompiled when needed and stored in a shader cache for efficiency.
MakeHuman passes scene and material information to the shaders by certain uniform
parameters. Depending on which shaderConfig properties were enabled, additional
uniforms could be exposed to the shader. The shader does not have to declare all
these uniforms, however. MakeHuman binds only those uniforms present in the shader
if they have the right corresponding names.
Other properties are available from the OpenGL default uniforms or properties.
The following table lists these defines and the shaderConfig properties in the
material they relate to:
{|
! style="text-align:left;"| shaderConfig
! shader #DEFINE
! exposed uniform parameters if enabled
! comment
|-
|default (always enabled)
|
|vec3 ambient, vec4 diffuse, vec4 specular, vec3 emissive
|diffuse and specular are 4-component color values, diffuse=[rgba] with a=opacity and specular=[rgbs] with s=shininess
|-
|vertexColors
|VERTEX_COLOR
|
|
|-
|diffuse
|DIFFUSE
|diffuseTexture
|
|-
|bump
|BUMPMAP
|bumpmapTexture, bumpmapIntensity
|disabled if normal mapping is enabled (restriction might be lifted in the future)
|-
|normal
|NORMALMAP
|normalmapTexture, normalmapIntensity
|
|-
|displacement
|DISPLACEMENT
|displacementmapTexture, displacementmapIntensity
|
|-
|spec
|SPECULARMAP
|specularmapTexture, specularmapIntensity
|
|-
|transparency
|TRANSPARENCYMAP
|transparencymapTexture, transparencymapIntensity
|
|-
|ambientOcclusion
|AOMAP
|aomapTexture, aomapIntensity
|
|}
Additionally, MakeHuman exposes the vertex tangent as a vertex property, which
can be accessed by the shader.
attribute vec4 tangent
Currently, [[http://www.terathon.com/code/tangent.html Lengyel’s Method]] for tangent calculation
is used, but plans are to change this to [[http://bugtracker.makehumancommunity.org/issues/87 mikktspace]] in the future.
Shader examples for MakeHuman can be found here:
* Litsphere shader: [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/litsphere_vertex_shader.txt]] [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/litsphere_fragment_shader.txt fragment]]
* Phong shader: [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/phong_vertex_shader.txt]] [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/phong_fragment_shader.txt fragment]]
* Normal map shader (wip): [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/normalmap_vertex_shader.txt]] [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/normalmap_fragment_shader.txt fragment]]
* X-ray shader: [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/xray_vertex_shader.txt]] [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/xray_fragment_shader.txt fragment]]
=== Basic pointers ===
* You can test the influence of material properties using the Material Editor plugin (which you can enable in Settings > Plugins, then restart)
* Using a diffuse texture? You probably want to set the diffuse color to 1 1 1 (pure white)
* Never set ambient color too bright, or your model will look completely white. 0.1 0.1 0.1 is a good value to start from.
* Emissive is usually set to black, unless you want a radioactive character
* Higher shininess means smaller and sharper highlight, lower shininess makes the highlight larger and more blurred
* Reduce specular color to reduce the specularity, make it black for a rough and non shiny object
* opacity 1 means fully opaque, 0 means fully transparent (invisible)
=== Scene definition ===
To complete the rendering equation, you also need to define the scene. To be
more precise, the positions, types, color and intensities of the lights need to
be set. By default, MakeHuman only has a default scene with only one pointlight.
In MakeHuman, lights do not move if the camera is moved, or rather, the model is
rotated while the camera and lights remain static. So light positions are defined
relative to the camera position.
MakeHuman scenes are defined in .mhscene files, which are binary py-pickled files.
They can be created or modified using the Scene Editor plugin (can be enabled in
settings) and can be selected from the Scene library in the Render tab.
Fixed function shading pipeline supports up to 8 lights, specific light support
depends on the shader used, some shaders only support a certain type or number
of lights, other ignore the chosen scene altogether (for example the litsphere
shader that uses pre-baked environment lighting).
The built-in offline renderer also uses the specified scene.
Scenes are not exported along with the model.
=== Example ===
This is a full and complete (but fictional) example of a material file for MakeHuman, it shows all the available properties.
# Example MakeHuman Material definition
name Material_name
tag some_tag
tag another_tag
description material description text here
ambientColor 0.11 0.11 0.11
diffuseColor 1.0 1.0 1.0
specularColor 0.0470588235294 0.0470588235294 0.0470588235294
shininess 0.96
emissiveColor 0.0 0.0 0.0
opacity 1.0
translucency 0.0
shadeless False
wireframe False
transparent True
alphaToCoverage True
backfaceCull False
depthless False
autoBlendSkin False
castShadows True
receiveShadows True
diffuseTexture diffuse_texture.png
bumpmapTexture bumpmap.png
bumpmapIntensity 1.0
normalmapTexture normalmap.png
normalmapIntensity 1.0
displacementmapTexture norm_displacement.png
displacementmapIntensity 1.0
specularmapTexture specular.png
specularmapIntensity 1.0
transparencymapTexture alpha.png
transparencymapIntensity 1.0
aomapTexture ambient_occlusion_map.png
aomapIntensity 1.0
# Sub-surface scattering parameters
sssEnabled True
sssRScale 5.0
sssGScale 2.5
sssBScale 1.0
shader shaders/glsl/litsphere
shaderParam litsphereTexture litspheres/lit_hair.png
shaderConfig ambientOcclusion True
shaderConfig normal False
shaderConfig bump True
shaderConfig displacement False
shaderConfig vertexColors True
shaderConfig spec True
shaderConfig transparency True
shaderConfig diffuse True
shaderDefine ALPHA_MAP
uvMap alt_uv_coords.mhuv
This is another example, this time a real one. It is the X-ray material, used for example when showing the skeleton:
# Material definition for XrayMaterial
name XrayMaterial
ambientColor 0.1 0.1 0.1
diffuseColor 1.0 1.0 1.0
specularColor 0.3 0.3 0.3
shininess 0.1
emissiveColor 0.0 0.0 0.0
opacity 0.1
translucency 0.0
transparent True
backfaceCull True
shadeless False
wireframe False
depthless False
shader data/shaders/glsl/xray
shaderConfig diffuse False
shaderConfig transparency False
shaderConfig normal False
shaderConfig bump False
shaderConfig spec False
shaderConfig vertexColors False
shaderConfig displacement False
6f4bb3e0152e224710936e7732a4865649c1c8c6
564
563
2016-01-27T14:57:16Z
Duststorm
19
fix table
wikitext
text/x-wiki
== Vertex weights ==
With vertex weights we intend a weighted mapping of vertices of a mesh to a bone of a skeleton. The weight is a value between 0 and 1, the sum of these weights for each vertex should be normalized, which means they should sum to 1 (note: no euclidian distance, just simple addition of all weights). A weight map in MakeHuman is expressed as a bone name (becomes a bone index internally, using the index of the bone in a breadth-first list relative to skeleton structure), a vertex name and a floating point weight between 0 and 1. This weighted vertex to bone mapping is used for skinning (posing and animating, using vertex skinning, smooth skinning or linear blend skinning algorithm). For the skinning algorithm to work correctly it’s required that the weights are always normalized, otherwise you will see vertices move out of place disproportionally (though the weight loading code in MakeHuman ensures that this normalization always happens, so this is not a concern to the artist that defines the weights). The vertex weights can be exported to external tools as well using formats such as collada (DAE), FBX, Ogre3D meshes or MD5 quake meshes.
=== Vertex weights and skeletons ===
Vertex weights are defined for the default “master” skeleton or rig. They are defined in a json file with jsonw extension. They link each vertex of the basemesh including helpers to a named bone of this master rig, together with a certain weight.
The weights loader automatically removes doubles and normalizes the weights (so that they sum to 1). It also reports what the maximum number of bone weights per vertex is, additionally it allows compiling the weights to a reduced set with n number of bone weights, and automatically renormalizes those weights so they, again, sum to 1.
When loading weights, any vertex that receives no weighting is assigned to the root bone, as this is needed for skinning to prevent all those vertices jumping to the origin (0*pos == 0).
Alternative skeletons can define their own weights, by referencing a weights file just like the master rig, or they can choose to derive their weights from the master rig, through so called reference bone mappings. Skeletons will derive their weights from the master rig if they do not specify a weights file explicitly. Custom vertex weights in alternative rigs override those defined on the master rig, except in the case where a proxy defines its own vertex weights. See section Vertex weights for proxies for more details.
=== Reference bones for vertex weights and poses ===
Reference bones are defined on alternative rigs, they are a list of names of bones contained in the master rig. Every bone of an alternative rig can have such a list of reference bones. An alternative rig can also omit these references if it uses the same name as bones in the master rig, in which the mapping is implicit. Having a list of bone references always overrides the implicit mapping. Reference bone mappings are required for two purposes.
They are used for mapping poses defined on the master rig to other rigs. All poses are defined as BVH files that pose the master rig, so they reference only the bone names of the master rig. Poses are applied to all other rigs by using the reference bone mapping: all the rotations that the pose applies to the referenced bones are combined (in the order in which the references were specified -- note: rotations are NOT commutative) and are applied to the alternative rig bone.
Reference bone mappings can also be used for determining vertex weights of custom rigs. If the alternative rig does not explicitly define its own vertex weights, the mapping of reference bones is used to infere a set of bone weights for each bone: All the weights of the reference bones on the master rig (with the weights definition of the default/master rig) are combined and apply to the bone of the alternative rig. Doubles are merged, and weights renormalized. Any vertex that is not weighted will be assigned to the root bone. Watch for messages in the log to verify this.
=== Vertex weights for proxies ===
Generally proxies are mapped to basemesh geometry, that means either to the body or to helpers, or a combination of both (though this is unusual). Proxies derive their vertex weights from the vertices on the basemesh on which they are fitted. A proxy defines its fitting as a 3d offset from one or three vertices on the basemesh, allowing it to deform as the human deforms. This mapping is used to transfer the vertex weights from basemesh to proxy: a proxy vertex referencing three basemesh vertices gets the bone weights of those three vertices. Doubles are merged and the weights are normalized, so that the influence factors are averaged or smoothed. In this case the weights applied to proxies are always those defined on the skeleton: either the weights explicitly defined on the skeleton, or the weights obtained from remapping the master rig weights to this skeleton using the reference bone mapping mentioned in the previous sections. There is an exception to this, which is explained in the next paragraph.
A proxy can explicitly define its own vertex (to bone) weights. In this case it overrides the weights that would be obtained through the proxy mapping, and replaces them by its own custom definition of weights. These vertex weights are always defined to reference the bones of the master rig (default skeleton), so they need to be remapped to other skeletons using reference bone mapping. This also means that the custom weights of a proxy override any custom weights mapping that might be loaded with an alternative rig (but only for that proxy item). Custom proxy weights should be avoided if possible, but are in some cases required, eg. for properly rigging shoes which are rigidly fitted to feet, or an alternative topology which defines very accurate rigging on the face. The general advice for custom rigs is therefore to stay as close to the master rig as possible, reusing as much bones identically as possible, to achieve the best results for proxies with custom weights.
In case of custom weight, the mhclo file must contain a line to indicate the weight file to use, using the keyword “vertexboneweights_file”, with the syntax:
vertexboneweights_file filename.jsonw
== Targets and modifiers ==
MakeHuman applies targets on the human by means of modifiers. Such a modifier has a value (usually between [0, 1] or [-1, 1]) that determines the effect of it on the human mesh. A modifier can control one or more targets and in apply the mixed sum of them on the mesh. Some modifiers.
=== Organization of targets ===
To make sure targets are linked to the right modifier, or to make managing targets easier, a certain discipline has to be observed in managing them. Targets are ASCII files in the data/targets or data/custom folder (in program or user folder) with a file extension of .target.
The file name and folder targets are in implicitly determines their group name. A group is identified by a sequence of tags or tokens, which are taken from the file and folder name of each target, and which can be delimited by “-” symbols, to include multiple tokens in a single file or folder name. The lib/targets.py module takes care of loading all the names of the available targets and assembles them into groups. All targets with the same tokens end up in the same group. This allows easy querying and requesting of targets. The creator is pretty much free to decide what groups to create for their targets. By passing the name of the target group to a modifier, they can make sure that modifier controls the targets belonging to this group. It does not matter whether you use folders or - delimited file names for creating groups.
An example:
data/targets/cartoon/eyes-large.target is categorized in group (cartoon, eyes, large)
data/targets/cartoon-eyes-large.target is also categorized in group (cartoon, eyes, large)
Most simple modifiers work by specifying a group (for example cartoon-eyes) and a set of two tokens to append at the end, depending on the position of the modifier slider (eg. small, large which would allow controlling the targets cartoon-eyes-small and cartoon-eyes-large by moving the slider to the left or right).
=== Reserved group tokens ===
Some of the tokens in the file or foldername of targets are linked to values that variables of the human can have. Such variables are for example age, weight, muscle, gender.
This table lists all the reserved tokens, and the variables they belong to.
{| class="wikitable"
|-
! Reserved token (value)
! Variable
|-
| female,male
| gender
|-
| baby, child, young, old
| age
|-
| african, caucasian, asian
| race
|-
| minmuscle, averagemuscle, maxmuscle
| muscle
|-
| minweight, averageweight, maxweight
| weight
|-
| minheight, averageheight, maxheight
| height
|-
| mincup, averagecup, maxcup
| breastsize
|-
| minfirmness, averagefirmness, maxfirmness
| breastfirmness
|-
| uncommonproportions, regularproportions, idealproportions
| bodyproportion
|}
Note that it is not a good idea to use simply “max” or “min” as a reserved token name, because they need to be unique (otherwise it would not be possible to determine whether they are a minimum for, for example, weight or height). These reserved tokens are declared in the lib/targets.py module. The variable can be set and queried on the human object, for example human.getAge(), human.setMuscle(0.7), human.getProportion().
The reserved tokens are NOT included in the group name, so you should at least include some other, non-reserved tokens in the file or folder names to assign your target to some meaningful group. The inclusion of these reserved tokens in your target names or paths makes it convenient to create macro modifiers.
=== Macro targets and modifiers ===
Macro modifiers are modifiers whose effect (the combination of targets they apply on the human) is influenced by macro variables set on the human (eg. human.set/getAge()). Therefore, macro modifiers often control a large set of targets (20 or even more). It’s also common for multiple modifiers to control exactly the same set of targets, for example the standard age/gender/race sliders all control the set of targets in the ‘macrodetails’ group. Each slider modifies a different variable (eg. human.setAge()) controlling the set of targets, and then reapplies a combination of the same set of targets on the human.
=== Macro modifier dependencies ===
There are other macro modifiers that can also depend on the same variables age, gender, race that is controlled by the main macro modifiers, as discussed above. For example the macro modifiers that influence the weight and muscle mass of the human, controls the targets group “macrodetails-universal”, the universal token is added by prepending “universal-” to all the file names of related targets, which all reside in the folder “macrodetails” (thus macrodetails-universal ends up being the group name). They could have been included all in the “macrodetails” group, but are kept separate for performance reasons, so that the “macrodetails” group of targets (which already contains some 40 targets or so) can be applied in realtime while moving the slider.
Of course a change in the variable that these age/race/gender modifiers control will have an effect on the macrodetails-universal modifiers (because they control targets that depend on age -- their targets include -young- -old- etc. tokens in their filenames). This means there are inter-dependencies between macro modifiers, if one is updated, another one that depends on it should be refreshed. These dependencies can be descibed as follows: one macro modifier controls exactly one macro variable (such as age). It (or rather, the targets it controls) can however depend on multiple macro variables. The trivial case is where a macro modifier only depends on the macro variable that it controls itself. The tracking of these dependencies and deciding which modifiers must be updated when another is changed happens automatically. Dependencies are automatically tracked as soon as you add a modifier to the human (by calling modifier.setHuman(human)). To make this more performant in real-time, the propagation of updates to modifiers is limited while sliders are dragged (see realtimeDependencyUpdates in apps/humanmodifier.py).
As you might have understood, creating modifiers that depend on human variables is almost automatic. The only thing you need to do is create some targets that resolve to the same group name, add variations for all the macro variables you want and add the proper reserved tokens to the file or folder name (refer to the left column in the table above), and create a modifier with this group name. Once added to the human, the dependencies are tracked automatically.
=== Organization of modifiers ===
We already discussed how we organized targets in groups, to make it easier to connect them to a modifier. Now we will discuss how we can do a similar thing for modifiers.
Modifiers provide an easy way to manage targets. They allow reducing many of hundreds of targets to a more manageable number of controllable properties. But even then, we still have about 100 modifiers, which is still quite a lot. Therefore we group them in groups of categories, much like we do in the GUI. This makes it easy to get a grouped overview of all modifiers when using an alternative interface, think of commandline or scripting. The way in which you declare the group and other properties of a modifier determines what target groups it gets its targets from.
Modifiers are declared with a group name, some intermediary “target name” and a number of tail tokens (2 or 3 usually, eg min/max). The group of targets controlled by these modifiers is composed as: groupname-targets_name-tail.
Macro modifiers are declared with a group name, and a controlled variable. The groupname must be the same groupname of the targets they control.
=== Declarative modifiers ===
Instead of hard coding what modifiers you want to instantiate, MakeHuman offers a data-based format to declare what modifiers should be created, and how they should be shown in a user interface with sliders.
A full declaration requires three files, all stored in data/modifiers. The first is the declaration of the modifiers (eg. modeling_modifiers.json). This format lists a modifier group name, and all the modifiers with their macro variable (if they are macro modifiers) or target name and 2 or 3 (if they are a modifier with a center point) tail tokens.
The second file adds a description to the modifiers declared in the first file. It basically contains a key-value set, referencing the modifier name, and a textual description of what the modifier controls. A modifier name is constructed as follows: group/targets_name-all|the|tails and for a macro modifier: group/variable
The third file defines how these modifiers should be shown in the user interface as sliders. It lists a set of categories, and the sliders to show in them, and how their values have to be saved in a mhm file (mainly a feature for legacy compatibility).
=== Your own plugin with modifiers, sliders and targets ===
Using the declarative data format described in the section above, it’s really simple. Have a look at the plugin plugins/0_modeling_0_modifiers.py. Notice it’s barely 5 lines of code. Creating your own modeling plugin is as simple as that, pointing it to your own modifier data files.
=== Binary targets ===
Because loading these ASCII target files, and iterating all target files and folders can be slow (especially on windows) in build versions, we compile all targets in the data/targets system folder into a single binary file, that furthermore acts exactly the same as multiple target files. The binary targets file is stored in the system data/ folder and is called targets.npz, it is created by running the compile_targets.py script, which is also automatically run in the build_prepare.py build routine. The file structure of the targets files is maintained in this binary file so that targets can be loaded from it in the same way as you would do with regular files. A change in the .target files, or newly added target files allow a recompilation of the targets npz file before the change is applied.
== Material format==
=== Introduction ===
MakeHuman material files have extension .mhmat and are simple ASCII definitions
of the material settings to use for rendering.
These material settings are primarily intended for configuring the material
system within MakeHuman, but they are usually carried out to other software as
well by the exporters.
Not all properties will be supported for all given combinations of shaders, nor
is there a guarantee that the exporters will honor all the properties in these
files.
=== The Material System ===
The MakeHuman material system is closely based on the [[https://en.wikipedia.org/wiki/Rendering_equation standard rendering equation]]
as is used in OpenGL and DirectX forward rendering pipelines. MakeHuman supports
shaders and the material format contains the most commonly used extensions in
real-time rendering. As a consequence of this, users need to be aware of the
implications of setting values such as ambient too bright, or diffuse too dark.
All usual rules about rendering materials apply.
At the highest level, the material supports setting the most basic material
properties, such as diffuse, specular and ambient color. These are supported
both by shaders as well as the fixed function shading pipeline (which is used
when no shader is specified). Fixed function also supports the diffuse texture
option.
At a second level, a shader can be chosen. This refers directly to the filename
of a [[https://en.wikipedia.org/wiki/OpenGL_Shading_Language GLSL shader]] as found in the data/shaders/glsl folder of MakeHuman.
The selected shader will determine what material options will be available.
Various additional settings become available, depending on whether or not the
chosen shader has support for these features, such as bump or normal mapping,
ambient occlusion, specular mapping, etc.
For most of these, a texture map and a scalar property between 0 and 1 can be
set, the latter determining the intensity or influence of the effect.
Finally, MakeHuman also contains a built-in offline renderer that supports some
additional properties such as subsurface scattering, for which some special
properties are available.
==== Shaders ====
The most powerful functionality of the material system is unlocked when using
shaders.
MakeHuman shaders are intended to be written in a modular way, so that shading
features can be enabled or disabled using the material format. Examples of such
features are bump mapping, normal mapping, specular mapping, diffuse texturing,
ambient occlusion and displacement mapping.
MakeHuman includes a basic introspection function that allows it to determine
what features a shader supports. It accomplishes this by looking for #ifdef and #ifndef statements. If a shader supports a certain technique, it is supposed to
encapsulate this in #ifdef NORMALMAP ... #else ... #endif statements.
The material system manages these shading functions by defining specific pre-processor
keywords when their corresponding shaderConfig property is set to true.
Shaders are recompiled when needed and stored in a shader cache for efficiency.
MakeHuman passes scene and material information to the shaders by certain uniform
parameters. Depending on which shaderConfig properties were enabled, additional
uniforms could be exposed to the shader. The shader does not have to declare all
these uniforms, however. MakeHuman binds only those uniforms present in the shader
if they have the right corresponding names.
Other properties are available from the OpenGL default uniforms or properties.
The following table lists these defines and the shaderConfig properties in the
material they relate to:
{|
! style="text-align:left;"| shaderConfig
! shader #DEFINE
! exposed uniform parameters if enabled
! comment
|-
|default (always enabled)
|
|vec3 ambient, vec4 diffuse, vec4 specular, vec3 emissive
|diffuse and specular are 4-component color values, diffuse=[rgba] with a=opacity and specular=[rgbs] with s=shininess
|-
|vertexColors
|VERTEX_COLOR
|
|
|-
|diffuse
|DIFFUSE
|diffuseTexture
|
|-
|bump
|BUMPMAP
|bumpmapTexture, bumpmapIntensity
|disabled if normal mapping is enabled (restriction might be lifted in the future)
|-
|normal
|NORMALMAP
|normalmapTexture, normalmapIntensity
|
|-
|displacement
|DISPLACEMENT
|displacementmapTexture, displacementmapIntensity
|
|-
|spec
|SPECULARMAP
|specularmapTexture, specularmapIntensity
|
|-
|transparency
|TRANSPARENCYMAP
|transparencymapTexture, transparencymapIntensity
|
|-
|ambientOcclusion
|AOMAP
|aomapTexture, aomapIntensity
|
|}
Additionally, MakeHuman exposes the vertex tangent as a vertex property, which
can be accessed by the shader.
attribute vec4 tangent
Currently, [[http://www.terathon.com/code/tangent.html Lengyel’s Method]] for tangent calculation
is used, but plans are to change this to [[mikktspace http://bugtracker.makehumancommunity.org/issues/87]] in the future.
Shader examples for MakeHuman can be found here:
* Litsphere shader: [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/litsphere_vertex_shader.txt]] [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/litsphere_fragment_shader.txt fragment]]
* Phong shader: [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/phong_vertex_shader.txt]] [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/phong_fragment_shader.txt fragment]]
* Normal map shader (wip): [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/normalmap_vertex_shader.txt]] [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/normalmap_fragment_shader.txt fragment]]
* X-ray shader: [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/xray_vertex_shader.txt]] [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/xray_fragment_shader.txt fragment]]
=== Basic pointers ===
* You can test the influence of material properties using the Material Editor plugin (which you can enable in Settings > Plugins, then restart)
* Using a diffuse texture? You probably want to set the diffuse color to 1 1 1 (pure white)
* Never set ambient color too bright, or your model will look completely white. 0.1 0.1 0.1 is a good value to start from.
* Emissive is usually set to black, unless you want a radioactive character
* Higher shininess means smaller and sharper highlight, lower shininess makes the highlight larger and more blurred
* Reduce specular color to reduce the specularity, make it black for a rough and non shiny object
* opacity 1 means fully opaque, 0 means fully transparent (invisible)
=== Scene definition ===
To complete the rendering equation, you also need to define the scene. To be
more precise, the positions, types, color and intensities of the lights need to
be set. By default, MakeHuman only has a default scene with only one pointlight.
In MakeHuman, lights do not move if the camera is moved, or rather, the model is
rotated while the camera and lights remain static. So light positions are defined
relative to the camera position.
MakeHuman scenes are defined in .mhscene files, which are binary py-pickled files.
They can be created or modified using the Scene Editor plugin (can be enabled in
settings) and can be selected from the Scene library in the Render tab.
Fixed function shading pipeline supports up to 8 lights, specific light support
depends on the shader used, some shaders only support a certain type or number
of lights, other ignore the chosen scene altogether (for example the litsphere
shader that uses pre-baked environment lighting).
The built-in offline renderer also uses the specified scene.
Scenes are not exported along with the model.
=== Example ===
This is a full and complete (but fictional) example of a material file for MakeHuman, it shows all the available properties.
# Example MakeHuman Material definition
name Material_name
tag some_tag
tag another_tag
description material description text here
ambientColor 0.11 0.11 0.11
diffuseColor 1.0 1.0 1.0
specularColor 0.0470588235294 0.0470588235294 0.0470588235294
shininess 0.96
emissiveColor 0.0 0.0 0.0
opacity 1.0
translucency 0.0
shadeless False
wireframe False
transparent True
alphaToCoverage True
backfaceCull False
depthless False
autoBlendSkin False
castShadows True
receiveShadows True
diffuseTexture diffuse_texture.png
bumpmapTexture bumpmap.png
bumpmapIntensity 1.0
normalmapTexture normalmap.png
normalmapIntensity 1.0
displacementmapTexture norm_displacement.png
displacementmapIntensity 1.0
specularmapTexture specular.png
specularmapIntensity 1.0
transparencymapTexture alpha.png
transparencymapIntensity 1.0
aomapTexture ambient_occlusion_map.png
aomapIntensity 1.0
# Sub-surface scattering parameters
sssEnabled True
sssRScale 5.0
sssGScale 2.5
sssBScale 1.0
shader shaders/glsl/litsphere
shaderParam litsphereTexture litspheres/lit_hair.png
shaderConfig ambientOcclusion True
shaderConfig normal False
shaderConfig bump True
shaderConfig displacement False
shaderConfig vertexColors True
shaderConfig spec True
shaderConfig transparency True
shaderConfig diffuse True
shaderDefine ALPHA_MAP
uvMap alt_uv_coords.mhuv
This is another example, this time a real one. It is the X-ray material, used for example when showing the skeleton:
# Material definition for XrayMaterial
name XrayMaterial
ambientColor 0.1 0.1 0.1
diffuseColor 1.0 1.0 1.0
specularColor 0.3 0.3 0.3
shininess 0.1
emissiveColor 0.0 0.0 0.0
opacity 0.1
translucency 0.0
transparent True
backfaceCull True
shadeless False
wireframe False
depthless False
shader data/shaders/glsl/xray
shaderConfig diffuse False
shaderConfig transparency False
shaderConfig normal False
shaderConfig bump False
shaderConfig spec False
shaderConfig vertexColors False
shaderConfig displacement False
aac2fb83a137c273c6d01afe602a9301df2388c9
563
562
2016-01-27T14:54:08Z
Duststorm
19
/* Shaders */
wikitext
text/x-wiki
== Vertex weights ==
With vertex weights we intend a weighted mapping of vertices of a mesh to a bone of a skeleton. The weight is a value between 0 and 1, the sum of these weights for each vertex should be normalized, which means they should sum to 1 (note: no euclidian distance, just simple addition of all weights). A weight map in MakeHuman is expressed as a bone name (becomes a bone index internally, using the index of the bone in a breadth-first list relative to skeleton structure), a vertex name and a floating point weight between 0 and 1. This weighted vertex to bone mapping is used for skinning (posing and animating, using vertex skinning, smooth skinning or linear blend skinning algorithm). For the skinning algorithm to work correctly it’s required that the weights are always normalized, otherwise you will see vertices move out of place disproportionally (though the weight loading code in MakeHuman ensures that this normalization always happens, so this is not a concern to the artist that defines the weights). The vertex weights can be exported to external tools as well using formats such as collada (DAE), FBX, Ogre3D meshes or MD5 quake meshes.
=== Vertex weights and skeletons ===
Vertex weights are defined for the default “master” skeleton or rig. They are defined in a json file with jsonw extension. They link each vertex of the basemesh including helpers to a named bone of this master rig, together with a certain weight.
The weights loader automatically removes doubles and normalizes the weights (so that they sum to 1). It also reports what the maximum number of bone weights per vertex is, additionally it allows compiling the weights to a reduced set with n number of bone weights, and automatically renormalizes those weights so they, again, sum to 1.
When loading weights, any vertex that receives no weighting is assigned to the root bone, as this is needed for skinning to prevent all those vertices jumping to the origin (0*pos == 0).
Alternative skeletons can define their own weights, by referencing a weights file just like the master rig, or they can choose to derive their weights from the master rig, through so called reference bone mappings. Skeletons will derive their weights from the master rig if they do not specify a weights file explicitly. Custom vertex weights in alternative rigs override those defined on the master rig, except in the case where a proxy defines its own vertex weights. See section Vertex weights for proxies for more details.
=== Reference bones for vertex weights and poses ===
Reference bones are defined on alternative rigs, they are a list of names of bones contained in the master rig. Every bone of an alternative rig can have such a list of reference bones. An alternative rig can also omit these references if it uses the same name as bones in the master rig, in which the mapping is implicit. Having a list of bone references always overrides the implicit mapping. Reference bone mappings are required for two purposes.
They are used for mapping poses defined on the master rig to other rigs. All poses are defined as BVH files that pose the master rig, so they reference only the bone names of the master rig. Poses are applied to all other rigs by using the reference bone mapping: all the rotations that the pose applies to the referenced bones are combined (in the order in which the references were specified -- note: rotations are NOT commutative) and are applied to the alternative rig bone.
Reference bone mappings can also be used for determining vertex weights of custom rigs. If the alternative rig does not explicitly define its own vertex weights, the mapping of reference bones is used to infere a set of bone weights for each bone: All the weights of the reference bones on the master rig (with the weights definition of the default/master rig) are combined and apply to the bone of the alternative rig. Doubles are merged, and weights renormalized. Any vertex that is not weighted will be assigned to the root bone. Watch for messages in the log to verify this.
=== Vertex weights for proxies ===
Generally proxies are mapped to basemesh geometry, that means either to the body or to helpers, or a combination of both (though this is unusual). Proxies derive their vertex weights from the vertices on the basemesh on which they are fitted. A proxy defines its fitting as a 3d offset from one or three vertices on the basemesh, allowing it to deform as the human deforms. This mapping is used to transfer the vertex weights from basemesh to proxy: a proxy vertex referencing three basemesh vertices gets the bone weights of those three vertices. Doubles are merged and the weights are normalized, so that the influence factors are averaged or smoothed. In this case the weights applied to proxies are always those defined on the skeleton: either the weights explicitly defined on the skeleton, or the weights obtained from remapping the master rig weights to this skeleton using the reference bone mapping mentioned in the previous sections. There is an exception to this, which is explained in the next paragraph.
A proxy can explicitly define its own vertex (to bone) weights. In this case it overrides the weights that would be obtained through the proxy mapping, and replaces them by its own custom definition of weights. These vertex weights are always defined to reference the bones of the master rig (default skeleton), so they need to be remapped to other skeletons using reference bone mapping. This also means that the custom weights of a proxy override any custom weights mapping that might be loaded with an alternative rig (but only for that proxy item). Custom proxy weights should be avoided if possible, but are in some cases required, eg. for properly rigging shoes which are rigidly fitted to feet, or an alternative topology which defines very accurate rigging on the face. The general advice for custom rigs is therefore to stay as close to the master rig as possible, reusing as much bones identically as possible, to achieve the best results for proxies with custom weights.
In case of custom weight, the mhclo file must contain a line to indicate the weight file to use, using the keyword “vertexboneweights_file”, with the syntax:
vertexboneweights_file filename.jsonw
== Targets and modifiers ==
MakeHuman applies targets on the human by means of modifiers. Such a modifier has a value (usually between [0, 1] or [-1, 1]) that determines the effect of it on the human mesh. A modifier can control one or more targets and in apply the mixed sum of them on the mesh. Some modifiers.
=== Organization of targets ===
To make sure targets are linked to the right modifier, or to make managing targets easier, a certain discipline has to be observed in managing them. Targets are ASCII files in the data/targets or data/custom folder (in program or user folder) with a file extension of .target.
The file name and folder targets are in implicitly determines their group name. A group is identified by a sequence of tags or tokens, which are taken from the file and folder name of each target, and which can be delimited by “-” symbols, to include multiple tokens in a single file or folder name. The lib/targets.py module takes care of loading all the names of the available targets and assembles them into groups. All targets with the same tokens end up in the same group. This allows easy querying and requesting of targets. The creator is pretty much free to decide what groups to create for their targets. By passing the name of the target group to a modifier, they can make sure that modifier controls the targets belonging to this group. It does not matter whether you use folders or - delimited file names for creating groups.
An example:
data/targets/cartoon/eyes-large.target is categorized in group (cartoon, eyes, large)
data/targets/cartoon-eyes-large.target is also categorized in group (cartoon, eyes, large)
Most simple modifiers work by specifying a group (for example cartoon-eyes) and a set of two tokens to append at the end, depending on the position of the modifier slider (eg. small, large which would allow controlling the targets cartoon-eyes-small and cartoon-eyes-large by moving the slider to the left or right).
=== Reserved group tokens ===
Some of the tokens in the file or foldername of targets are linked to values that variables of the human can have. Such variables are for example age, weight, muscle, gender.
This table lists all the reserved tokens, and the variables they belong to.
{| class="wikitable"
|-
! Reserved token (value)
! Variable
|-
| female,male
| gender
|-
| baby, child, young, old
| age
|-
| african, caucasian, asian
| race
|-
| minmuscle, averagemuscle, maxmuscle
| muscle
|-
| minweight, averageweight, maxweight
| weight
|-
| minheight, averageheight, maxheight
| height
|-
| mincup, averagecup, maxcup
| breastsize
|-
| minfirmness, averagefirmness, maxfirmness
| breastfirmness
|-
| uncommonproportions, regularproportions, idealproportions
| bodyproportion
|}
Note that it is not a good idea to use simply “max” or “min” as a reserved token name, because they need to be unique (otherwise it would not be possible to determine whether they are a minimum for, for example, weight or height). These reserved tokens are declared in the lib/targets.py module. The variable can be set and queried on the human object, for example human.getAge(), human.setMuscle(0.7), human.getProportion().
The reserved tokens are NOT included in the group name, so you should at least include some other, non-reserved tokens in the file or folder names to assign your target to some meaningful group. The inclusion of these reserved tokens in your target names or paths makes it convenient to create macro modifiers.
=== Macro targets and modifiers ===
Macro modifiers are modifiers whose effect (the combination of targets they apply on the human) is influenced by macro variables set on the human (eg. human.set/getAge()). Therefore, macro modifiers often control a large set of targets (20 or even more). It’s also common for multiple modifiers to control exactly the same set of targets, for example the standard age/gender/race sliders all control the set of targets in the ‘macrodetails’ group. Each slider modifies a different variable (eg. human.setAge()) controlling the set of targets, and then reapplies a combination of the same set of targets on the human.
=== Macro modifier dependencies ===
There are other macro modifiers that can also depend on the same variables age, gender, race that is controlled by the main macro modifiers, as discussed above. For example the macro modifiers that influence the weight and muscle mass of the human, controls the targets group “macrodetails-universal”, the universal token is added by prepending “universal-” to all the file names of related targets, which all reside in the folder “macrodetails” (thus macrodetails-universal ends up being the group name). They could have been included all in the “macrodetails” group, but are kept separate for performance reasons, so that the “macrodetails” group of targets (which already contains some 40 targets or so) can be applied in realtime while moving the slider.
Of course a change in the variable that these age/race/gender modifiers control will have an effect on the macrodetails-universal modifiers (because they control targets that depend on age -- their targets include -young- -old- etc. tokens in their filenames). This means there are inter-dependencies between macro modifiers, if one is updated, another one that depends on it should be refreshed. These dependencies can be descibed as follows: one macro modifier controls exactly one macro variable (such as age). It (or rather, the targets it controls) can however depend on multiple macro variables. The trivial case is where a macro modifier only depends on the macro variable that it controls itself. The tracking of these dependencies and deciding which modifiers must be updated when another is changed happens automatically. Dependencies are automatically tracked as soon as you add a modifier to the human (by calling modifier.setHuman(human)). To make this more performant in real-time, the propagation of updates to modifiers is limited while sliders are dragged (see realtimeDependencyUpdates in apps/humanmodifier.py).
As you might have understood, creating modifiers that depend on human variables is almost automatic. The only thing you need to do is create some targets that resolve to the same group name, add variations for all the macro variables you want and add the proper reserved tokens to the file or folder name (refer to the left column in the table above), and create a modifier with this group name. Once added to the human, the dependencies are tracked automatically.
=== Organization of modifiers ===
We already discussed how we organized targets in groups, to make it easier to connect them to a modifier. Now we will discuss how we can do a similar thing for modifiers.
Modifiers provide an easy way to manage targets. They allow reducing many of hundreds of targets to a more manageable number of controllable properties. But even then, we still have about 100 modifiers, which is still quite a lot. Therefore we group them in groups of categories, much like we do in the GUI. This makes it easy to get a grouped overview of all modifiers when using an alternative interface, think of commandline or scripting. The way in which you declare the group and other properties of a modifier determines what target groups it gets its targets from.
Modifiers are declared with a group name, some intermediary “target name” and a number of tail tokens (2 or 3 usually, eg min/max). The group of targets controlled by these modifiers is composed as: groupname-targets_name-tail.
Macro modifiers are declared with a group name, and a controlled variable. The groupname must be the same groupname of the targets they control.
=== Declarative modifiers ===
Instead of hard coding what modifiers you want to instantiate, MakeHuman offers a data-based format to declare what modifiers should be created, and how they should be shown in a user interface with sliders.
A full declaration requires three files, all stored in data/modifiers. The first is the declaration of the modifiers (eg. modeling_modifiers.json). This format lists a modifier group name, and all the modifiers with their macro variable (if they are macro modifiers) or target name and 2 or 3 (if they are a modifier with a center point) tail tokens.
The second file adds a description to the modifiers declared in the first file. It basically contains a key-value set, referencing the modifier name, and a textual description of what the modifier controls. A modifier name is constructed as follows: group/targets_name-all|the|tails and for a macro modifier: group/variable
The third file defines how these modifiers should be shown in the user interface as sliders. It lists a set of categories, and the sliders to show in them, and how their values have to be saved in a mhm file (mainly a feature for legacy compatibility).
=== Your own plugin with modifiers, sliders and targets ===
Using the declarative data format described in the section above, it’s really simple. Have a look at the plugin plugins/0_modeling_0_modifiers.py. Notice it’s barely 5 lines of code. Creating your own modeling plugin is as simple as that, pointing it to your own modifier data files.
=== Binary targets ===
Because loading these ASCII target files, and iterating all target files and folders can be slow (especially on windows) in build versions, we compile all targets in the data/targets system folder into a single binary file, that furthermore acts exactly the same as multiple target files. The binary targets file is stored in the system data/ folder and is called targets.npz, it is created by running the compile_targets.py script, which is also automatically run in the build_prepare.py build routine. The file structure of the targets files is maintained in this binary file so that targets can be loaded from it in the same way as you would do with regular files. A change in the .target files, or newly added target files allow a recompilation of the targets npz file before the change is applied.
== Material format==
=== Introduction ===
MakeHuman material files have extension .mhmat and are simple ASCII definitions
of the material settings to use for rendering.
These material settings are primarily intended for configuring the material
system within MakeHuman, but they are usually carried out to other software as
well by the exporters.
Not all properties will be supported for all given combinations of shaders, nor
is there a guarantee that the exporters will honor all the properties in these
files.
=== The Material System ===
The MakeHuman material system is closely based on the [[https://en.wikipedia.org/wiki/Rendering_equation standard rendering equation]]
as is used in OpenGL and DirectX forward rendering pipelines. MakeHuman supports
shaders and the material format contains the most commonly used extensions in
real-time rendering. As a consequence of this, users need to be aware of the
implications of setting values such as ambient too bright, or diffuse too dark.
All usual rules about rendering materials apply.
At the highest level, the material supports setting the most basic material
properties, such as diffuse, specular and ambient color. These are supported
both by shaders as well as the fixed function shading pipeline (which is used
when no shader is specified). Fixed function also supports the diffuse texture
option.
At a second level, a shader can be chosen. This refers directly to the filename
of a [[https://en.wikipedia.org/wiki/OpenGL_Shading_Language GLSL shader]] as found in the data/shaders/glsl folder of MakeHuman.
The selected shader will determine what material options will be available.
Various additional settings become available, depending on whether or not the
chosen shader has support for these features, such as bump or normal mapping,
ambient occlusion, specular mapping, etc.
For most of these, a texture map and a scalar property between 0 and 1 can be
set, the latter determining the intensity or influence of the effect.
Finally, MakeHuman also contains a built-in offline renderer that supports some
additional properties such as subsurface scattering, for which some special
properties are available.
==== Shaders ====
The most powerful functionality of the material system is unlocked when using
shaders.
MakeHuman shaders are intended to be written in a modular way, so that shading
features can be enabled or disabled using the material format. Examples of such
features are bump mapping, normal mapping, specular mapping, diffuse texturing,
ambient occlusion and displacement mapping.
MakeHuman includes a basic introspection function that allows it to determine
what features a shader supports. It accomplishes this by looking for #ifdef and #ifndef statements. If a shader supports a certain technique, it is supposed to
encapsulate this in #ifdef NORMALMAP ... #else ... #endif statements.
The material system manages these shading functions by defining specific pre-processor
keywords when their corresponding shaderConfig property is set to true.
Shaders are recompiled when needed and stored in a shader cache for efficiency.
MakeHuman passes scene and material information to the shaders by certain uniform
parameters. Depending on which shaderConfig properties were enabled, additional
uniforms could be exposed to the shader. The shader does not have to declare all
these uniforms, however. MakeHuman binds only those uniforms present in the shader
if they have the right corresponding names.
Other properties are available from the OpenGL default uniforms or properties.
The following table lists these defines and the shaderConfig properties in the
material they relate to:
{|
! style="text-align:left;"| shaderConfig
! shader #DEFINE
! exposed uniform parameters if enabled
! comment
|-
|default (always enabled)
|
|vec3 ambient, vec4 diffuse, vec4 specular, vec3 emissive
|diffuse and specular are 4-component color values, diffuse=[rgba] with a=opacity and specular=[rgbs] with s=shininess
|-
|vertexColors
|VERTEX_COLOR
|
|
|-
diffuse
|DIFFUSE
|diffuseTexture
|
|
|-
|bump
|BUMPMAP
|bumpmapTexture, bumpmapIntensity
|disabled if normal mapping is enabled (restriction might be lifted in the future)
|-
|normal
|NORMALMAP
|normalmapTexture, normalmapIntensity
|
|-
|displacement
|DISPLACEMENT
|displacementmapTexture, displacementmapIntensity
|
|-
|spec
|SPECULARMAP
|specularmapTexture, specularmapIntensity
|
|-
|transparency
|TRANSPARENCYMAP
|transparencymapTexture, transparencymapIntensity
|
|-
|ambientOcclusion
|AOMAP
|aomapTexture, aomapIntensity
|
|}
Additionally, MakeHuman exposes the vertex tangent as a vertex property, which
can be accessed by the shader.
attribute vec4 tangent
Currently, [[http://www.terathon.com/code/tangent.html Lengyel’s Method]] for tangent calculation
is used, but plans are to change this to [[mikktspace http://bugtracker.makehumancommunity.org/issues/87]] in the future.
Shader examples for MakeHuman can be found here:
* Litsphere shader: [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/litsphere_vertex_shader.txt]] [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/litsphere_fragment_shader.txt fragment]]
* Phong shader: [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/phong_vertex_shader.txt]] [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/phong_fragment_shader.txt fragment]]
* Normal map shader (wip): [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/normalmap_vertex_shader.txt]] [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/normalmap_fragment_shader.txt fragment]]
* X-ray shader: [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/xray_vertex_shader.txt]] [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/xray_fragment_shader.txt fragment]]
=== Basic pointers ===
* You can test the influence of material properties using the Material Editor plugin (which you can enable in Settings > Plugins, then restart)
* Using a diffuse texture? You probably want to set the diffuse color to 1 1 1 (pure white)
* Never set ambient color too bright, or your model will look completely white. 0.1 0.1 0.1 is a good value to start from.
* Emissive is usually set to black, unless you want a radioactive character
* Higher shininess means smaller and sharper highlight, lower shininess makes the highlight larger and more blurred
* Reduce specular color to reduce the specularity, make it black for a rough and non shiny object
* opacity 1 means fully opaque, 0 means fully transparent (invisible)
=== Scene definition ===
To complete the rendering equation, you also need to define the scene. To be
more precise, the positions, types, color and intensities of the lights need to
be set. By default, MakeHuman only has a default scene with only one pointlight.
In MakeHuman, lights do not move if the camera is moved, or rather, the model is
rotated while the camera and lights remain static. So light positions are defined
relative to the camera position.
MakeHuman scenes are defined in .mhscene files, which are binary py-pickled files.
They can be created or modified using the Scene Editor plugin (can be enabled in
settings) and can be selected from the Scene library in the Render tab.
Fixed function shading pipeline supports up to 8 lights, specific light support
depends on the shader used, some shaders only support a certain type or number
of lights, other ignore the chosen scene altogether (for example the litsphere
shader that uses pre-baked environment lighting).
The built-in offline renderer also uses the specified scene.
Scenes are not exported along with the model.
=== Example ===
This is a full and complete (but fictional) example of a material file for MakeHuman, it shows all the available properties.
# Example MakeHuman Material definition
name Material_name
tag some_tag
tag another_tag
description material description text here
ambientColor 0.11 0.11 0.11
diffuseColor 1.0 1.0 1.0
specularColor 0.0470588235294 0.0470588235294 0.0470588235294
shininess 0.96
emissiveColor 0.0 0.0 0.0
opacity 1.0
translucency 0.0
shadeless False
wireframe False
transparent True
alphaToCoverage True
backfaceCull False
depthless False
autoBlendSkin False
castShadows True
receiveShadows True
diffuseTexture diffuse_texture.png
bumpmapTexture bumpmap.png
bumpmapIntensity 1.0
normalmapTexture normalmap.png
normalmapIntensity 1.0
displacementmapTexture norm_displacement.png
displacementmapIntensity 1.0
specularmapTexture specular.png
specularmapIntensity 1.0
transparencymapTexture alpha.png
transparencymapIntensity 1.0
aomapTexture ambient_occlusion_map.png
aomapIntensity 1.0
# Sub-surface scattering parameters
sssEnabled True
sssRScale 5.0
sssGScale 2.5
sssBScale 1.0
shader shaders/glsl/litsphere
shaderParam litsphereTexture litspheres/lit_hair.png
shaderConfig ambientOcclusion True
shaderConfig normal False
shaderConfig bump True
shaderConfig displacement False
shaderConfig vertexColors True
shaderConfig spec True
shaderConfig transparency True
shaderConfig diffuse True
shaderDefine ALPHA_MAP
uvMap alt_uv_coords.mhuv
This is another example, this time a real one. It is the X-ray material, used for example when showing the skeleton:
# Material definition for XrayMaterial
name XrayMaterial
ambientColor 0.1 0.1 0.1
diffuseColor 1.0 1.0 1.0
specularColor 0.3 0.3 0.3
shininess 0.1
emissiveColor 0.0 0.0 0.0
opacity 0.1
translucency 0.0
transparent True
backfaceCull True
shadeless False
wireframe False
depthless False
shader data/shaders/glsl/xray
shaderConfig diffuse False
shaderConfig transparency False
shaderConfig normal False
shaderConfig bump False
shaderConfig spec False
shaderConfig vertexColors False
shaderConfig displacement False
83bcc9867899b2bc93b35089ccd67c0c79879674
562
561
2016-01-27T14:53:44Z
Duststorm
19
Add material documentation
wikitext
text/x-wiki
== Vertex weights ==
With vertex weights we intend a weighted mapping of vertices of a mesh to a bone of a skeleton. The weight is a value between 0 and 1, the sum of these weights for each vertex should be normalized, which means they should sum to 1 (note: no euclidian distance, just simple addition of all weights). A weight map in MakeHuman is expressed as a bone name (becomes a bone index internally, using the index of the bone in a breadth-first list relative to skeleton structure), a vertex name and a floating point weight between 0 and 1. This weighted vertex to bone mapping is used for skinning (posing and animating, using vertex skinning, smooth skinning or linear blend skinning algorithm). For the skinning algorithm to work correctly it’s required that the weights are always normalized, otherwise you will see vertices move out of place disproportionally (though the weight loading code in MakeHuman ensures that this normalization always happens, so this is not a concern to the artist that defines the weights). The vertex weights can be exported to external tools as well using formats such as collada (DAE), FBX, Ogre3D meshes or MD5 quake meshes.
=== Vertex weights and skeletons ===
Vertex weights are defined for the default “master” skeleton or rig. They are defined in a json file with jsonw extension. They link each vertex of the basemesh including helpers to a named bone of this master rig, together with a certain weight.
The weights loader automatically removes doubles and normalizes the weights (so that they sum to 1). It also reports what the maximum number of bone weights per vertex is, additionally it allows compiling the weights to a reduced set with n number of bone weights, and automatically renormalizes those weights so they, again, sum to 1.
When loading weights, any vertex that receives no weighting is assigned to the root bone, as this is needed for skinning to prevent all those vertices jumping to the origin (0*pos == 0).
Alternative skeletons can define their own weights, by referencing a weights file just like the master rig, or they can choose to derive their weights from the master rig, through so called reference bone mappings. Skeletons will derive their weights from the master rig if they do not specify a weights file explicitly. Custom vertex weights in alternative rigs override those defined on the master rig, except in the case where a proxy defines its own vertex weights. See section Vertex weights for proxies for more details.
=== Reference bones for vertex weights and poses ===
Reference bones are defined on alternative rigs, they are a list of names of bones contained in the master rig. Every bone of an alternative rig can have such a list of reference bones. An alternative rig can also omit these references if it uses the same name as bones in the master rig, in which the mapping is implicit. Having a list of bone references always overrides the implicit mapping. Reference bone mappings are required for two purposes.
They are used for mapping poses defined on the master rig to other rigs. All poses are defined as BVH files that pose the master rig, so they reference only the bone names of the master rig. Poses are applied to all other rigs by using the reference bone mapping: all the rotations that the pose applies to the referenced bones are combined (in the order in which the references were specified -- note: rotations are NOT commutative) and are applied to the alternative rig bone.
Reference bone mappings can also be used for determining vertex weights of custom rigs. If the alternative rig does not explicitly define its own vertex weights, the mapping of reference bones is used to infere a set of bone weights for each bone: All the weights of the reference bones on the master rig (with the weights definition of the default/master rig) are combined and apply to the bone of the alternative rig. Doubles are merged, and weights renormalized. Any vertex that is not weighted will be assigned to the root bone. Watch for messages in the log to verify this.
=== Vertex weights for proxies ===
Generally proxies are mapped to basemesh geometry, that means either to the body or to helpers, or a combination of both (though this is unusual). Proxies derive their vertex weights from the vertices on the basemesh on which they are fitted. A proxy defines its fitting as a 3d offset from one or three vertices on the basemesh, allowing it to deform as the human deforms. This mapping is used to transfer the vertex weights from basemesh to proxy: a proxy vertex referencing three basemesh vertices gets the bone weights of those three vertices. Doubles are merged and the weights are normalized, so that the influence factors are averaged or smoothed. In this case the weights applied to proxies are always those defined on the skeleton: either the weights explicitly defined on the skeleton, or the weights obtained from remapping the master rig weights to this skeleton using the reference bone mapping mentioned in the previous sections. There is an exception to this, which is explained in the next paragraph.
A proxy can explicitly define its own vertex (to bone) weights. In this case it overrides the weights that would be obtained through the proxy mapping, and replaces them by its own custom definition of weights. These vertex weights are always defined to reference the bones of the master rig (default skeleton), so they need to be remapped to other skeletons using reference bone mapping. This also means that the custom weights of a proxy override any custom weights mapping that might be loaded with an alternative rig (but only for that proxy item). Custom proxy weights should be avoided if possible, but are in some cases required, eg. for properly rigging shoes which are rigidly fitted to feet, or an alternative topology which defines very accurate rigging on the face. The general advice for custom rigs is therefore to stay as close to the master rig as possible, reusing as much bones identically as possible, to achieve the best results for proxies with custom weights.
In case of custom weight, the mhclo file must contain a line to indicate the weight file to use, using the keyword “vertexboneweights_file”, with the syntax:
vertexboneweights_file filename.jsonw
== Targets and modifiers ==
MakeHuman applies targets on the human by means of modifiers. Such a modifier has a value (usually between [0, 1] or [-1, 1]) that determines the effect of it on the human mesh. A modifier can control one or more targets and in apply the mixed sum of them on the mesh. Some modifiers.
=== Organization of targets ===
To make sure targets are linked to the right modifier, or to make managing targets easier, a certain discipline has to be observed in managing them. Targets are ASCII files in the data/targets or data/custom folder (in program or user folder) with a file extension of .target.
The file name and folder targets are in implicitly determines their group name. A group is identified by a sequence of tags or tokens, which are taken from the file and folder name of each target, and which can be delimited by “-” symbols, to include multiple tokens in a single file or folder name. The lib/targets.py module takes care of loading all the names of the available targets and assembles them into groups. All targets with the same tokens end up in the same group. This allows easy querying and requesting of targets. The creator is pretty much free to decide what groups to create for their targets. By passing the name of the target group to a modifier, they can make sure that modifier controls the targets belonging to this group. It does not matter whether you use folders or - delimited file names for creating groups.
An example:
data/targets/cartoon/eyes-large.target is categorized in group (cartoon, eyes, large)
data/targets/cartoon-eyes-large.target is also categorized in group (cartoon, eyes, large)
Most simple modifiers work by specifying a group (for example cartoon-eyes) and a set of two tokens to append at the end, depending on the position of the modifier slider (eg. small, large which would allow controlling the targets cartoon-eyes-small and cartoon-eyes-large by moving the slider to the left or right).
=== Reserved group tokens ===
Some of the tokens in the file or foldername of targets are linked to values that variables of the human can have. Such variables are for example age, weight, muscle, gender.
This table lists all the reserved tokens, and the variables they belong to.
{| class="wikitable"
|-
! Reserved token (value)
! Variable
|-
| female,male
| gender
|-
| baby, child, young, old
| age
|-
| african, caucasian, asian
| race
|-
| minmuscle, averagemuscle, maxmuscle
| muscle
|-
| minweight, averageweight, maxweight
| weight
|-
| minheight, averageheight, maxheight
| height
|-
| mincup, averagecup, maxcup
| breastsize
|-
| minfirmness, averagefirmness, maxfirmness
| breastfirmness
|-
| uncommonproportions, regularproportions, idealproportions
| bodyproportion
|}
Note that it is not a good idea to use simply “max” or “min” as a reserved token name, because they need to be unique (otherwise it would not be possible to determine whether they are a minimum for, for example, weight or height). These reserved tokens are declared in the lib/targets.py module. The variable can be set and queried on the human object, for example human.getAge(), human.setMuscle(0.7), human.getProportion().
The reserved tokens are NOT included in the group name, so you should at least include some other, non-reserved tokens in the file or folder names to assign your target to some meaningful group. The inclusion of these reserved tokens in your target names or paths makes it convenient to create macro modifiers.
=== Macro targets and modifiers ===
Macro modifiers are modifiers whose effect (the combination of targets they apply on the human) is influenced by macro variables set on the human (eg. human.set/getAge()). Therefore, macro modifiers often control a large set of targets (20 or even more). It’s also common for multiple modifiers to control exactly the same set of targets, for example the standard age/gender/race sliders all control the set of targets in the ‘macrodetails’ group. Each slider modifies a different variable (eg. human.setAge()) controlling the set of targets, and then reapplies a combination of the same set of targets on the human.
=== Macro modifier dependencies ===
There are other macro modifiers that can also depend on the same variables age, gender, race that is controlled by the main macro modifiers, as discussed above. For example the macro modifiers that influence the weight and muscle mass of the human, controls the targets group “macrodetails-universal”, the universal token is added by prepending “universal-” to all the file names of related targets, which all reside in the folder “macrodetails” (thus macrodetails-universal ends up being the group name). They could have been included all in the “macrodetails” group, but are kept separate for performance reasons, so that the “macrodetails” group of targets (which already contains some 40 targets or so) can be applied in realtime while moving the slider.
Of course a change in the variable that these age/race/gender modifiers control will have an effect on the macrodetails-universal modifiers (because they control targets that depend on age -- their targets include -young- -old- etc. tokens in their filenames). This means there are inter-dependencies between macro modifiers, if one is updated, another one that depends on it should be refreshed. These dependencies can be descibed as follows: one macro modifier controls exactly one macro variable (such as age). It (or rather, the targets it controls) can however depend on multiple macro variables. The trivial case is where a macro modifier only depends on the macro variable that it controls itself. The tracking of these dependencies and deciding which modifiers must be updated when another is changed happens automatically. Dependencies are automatically tracked as soon as you add a modifier to the human (by calling modifier.setHuman(human)). To make this more performant in real-time, the propagation of updates to modifiers is limited while sliders are dragged (see realtimeDependencyUpdates in apps/humanmodifier.py).
As you might have understood, creating modifiers that depend on human variables is almost automatic. The only thing you need to do is create some targets that resolve to the same group name, add variations for all the macro variables you want and add the proper reserved tokens to the file or folder name (refer to the left column in the table above), and create a modifier with this group name. Once added to the human, the dependencies are tracked automatically.
=== Organization of modifiers ===
We already discussed how we organized targets in groups, to make it easier to connect them to a modifier. Now we will discuss how we can do a similar thing for modifiers.
Modifiers provide an easy way to manage targets. They allow reducing many of hundreds of targets to a more manageable number of controllable properties. But even then, we still have about 100 modifiers, which is still quite a lot. Therefore we group them in groups of categories, much like we do in the GUI. This makes it easy to get a grouped overview of all modifiers when using an alternative interface, think of commandline or scripting. The way in which you declare the group and other properties of a modifier determines what target groups it gets its targets from.
Modifiers are declared with a group name, some intermediary “target name” and a number of tail tokens (2 or 3 usually, eg min/max). The group of targets controlled by these modifiers is composed as: groupname-targets_name-tail.
Macro modifiers are declared with a group name, and a controlled variable. The groupname must be the same groupname of the targets they control.
=== Declarative modifiers ===
Instead of hard coding what modifiers you want to instantiate, MakeHuman offers a data-based format to declare what modifiers should be created, and how they should be shown in a user interface with sliders.
A full declaration requires three files, all stored in data/modifiers. The first is the declaration of the modifiers (eg. modeling_modifiers.json). This format lists a modifier group name, and all the modifiers with their macro variable (if they are macro modifiers) or target name and 2 or 3 (if they are a modifier with a center point) tail tokens.
The second file adds a description to the modifiers declared in the first file. It basically contains a key-value set, referencing the modifier name, and a textual description of what the modifier controls. A modifier name is constructed as follows: group/targets_name-all|the|tails and for a macro modifier: group/variable
The third file defines how these modifiers should be shown in the user interface as sliders. It lists a set of categories, and the sliders to show in them, and how their values have to be saved in a mhm file (mainly a feature for legacy compatibility).
=== Your own plugin with modifiers, sliders and targets ===
Using the declarative data format described in the section above, it’s really simple. Have a look at the plugin plugins/0_modeling_0_modifiers.py. Notice it’s barely 5 lines of code. Creating your own modeling plugin is as simple as that, pointing it to your own modifier data files.
=== Binary targets ===
Because loading these ASCII target files, and iterating all target files and folders can be slow (especially on windows) in build versions, we compile all targets in the data/targets system folder into a single binary file, that furthermore acts exactly the same as multiple target files. The binary targets file is stored in the system data/ folder and is called targets.npz, it is created by running the compile_targets.py script, which is also automatically run in the build_prepare.py build routine. The file structure of the targets files is maintained in this binary file so that targets can be loaded from it in the same way as you would do with regular files. A change in the .target files, or newly added target files allow a recompilation of the targets npz file before the change is applied.
== Material format==
=== Introduction ===
MakeHuman material files have extension .mhmat and are simple ASCII definitions
of the material settings to use for rendering.
These material settings are primarily intended for configuring the material
system within MakeHuman, but they are usually carried out to other software as
well by the exporters.
Not all properties will be supported for all given combinations of shaders, nor
is there a guarantee that the exporters will honor all the properties in these
files.
=== The Material System ===
The MakeHuman material system is closely based on the [[https://en.wikipedia.org/wiki/Rendering_equation standard rendering equation]]
as is used in OpenGL and DirectX forward rendering pipelines. MakeHuman supports
shaders and the material format contains the most commonly used extensions in
real-time rendering. As a consequence of this, users need to be aware of the
implications of setting values such as ambient too bright, or diffuse too dark.
All usual rules about rendering materials apply.
At the highest level, the material supports setting the most basic material
properties, such as diffuse, specular and ambient color. These are supported
both by shaders as well as the fixed function shading pipeline (which is used
when no shader is specified). Fixed function also supports the diffuse texture
option.
At a second level, a shader can be chosen. This refers directly to the filename
of a [[https://en.wikipedia.org/wiki/OpenGL_Shading_Language GLSL shader]] as found in the data/shaders/glsl folder of MakeHuman.
The selected shader will determine what material options will be available.
Various additional settings become available, depending on whether or not the
chosen shader has support for these features, such as bump or normal mapping,
ambient occlusion, specular mapping, etc.
For most of these, a texture map and a scalar property between 0 and 1 can be
set, the latter determining the intensity or influence of the effect.
Finally, MakeHuman also contains a built-in offline renderer that supports some
additional properties such as subsurface scattering, for which some special
properties are available.
==== Shaders ====
The most powerful functionality of the material system is unlocked when using
shaders.
MakeHuman shaders are intended to be written in a modular way, so that shading
features can be enabled or disabled using the material format. Examples of such
features are bump mapping, normal mapping, specular mapping, diffuse texturing,
ambient occlusion and displacement mapping.
MakeHuman includes a basic introspection function that allows it to determine
what features a shader supports. It accomplishes this by looking for #ifdef and
#ifndef statements. If a shader supports a certain technique, it is supposed to
encapsulate this in #ifdef NORMALMAP ... #else ... #endif statements.
The material system manages these shading functions by defining specific pre-processor
keywords when their corresponding shaderConfig property is set to true.
Shaders are recompiled when needed and stored in a shader cache for efficiency.
MakeHuman passes scene and material information to the shaders by certain uniform
parameters. Depending on which shaderConfig properties were enabled, additional
uniforms could be exposed to the shader. The shader does not have to declare all
these uniforms, however. MakeHuman binds only those uniforms present in the shader
if they have the right corresponding names.
Other properties are available from the OpenGL default uniforms or properties.
The following table lists these defines and the shaderConfig properties in the
material they relate to:
{|
! style="text-align:left;"| shaderConfig
! shader #DEFINE
! exposed uniform parameters if enabled
! comment
|-
|default (always enabled)
|
|vec3 ambient, vec4 diffuse, vec4 specular, vec3 emissive
|diffuse and specular are 4-component color values, diffuse=[rgba] with a=opacity and specular=[rgbs] with s=shininess
|-
|vertexColors
|VERTEX_COLOR
|
|
|-
diffuse
|DIFFUSE
|diffuseTexture
|
|
|-
|bump
|BUMPMAP
|bumpmapTexture, bumpmapIntensity
|disabled if normal mapping is enabled (restriction might be lifted in the future)
|-
|normal
|NORMALMAP
|normalmapTexture, normalmapIntensity
|
|-
|displacement
|DISPLACEMENT
|displacementmapTexture, displacementmapIntensity
|
|-
|spec
|SPECULARMAP
|specularmapTexture, specularmapIntensity
|
|-
|transparency
|TRANSPARENCYMAP
|transparencymapTexture, transparencymapIntensity
|
|-
|ambientOcclusion
|AOMAP
|aomapTexture, aomapIntensity
|
|}
Additionally, MakeHuman exposes the vertex tangent as a vertex property, which
can be accessed by the shader.
attribute vec4 tangent
Currently, [[http://www.terathon.com/code/tangent.html Lengyel’s Method]] for tangent calculation
is used, but plans are to change this to [[mikktspace http://bugtracker.makehumancommunity.org/issues/87]] in the future.
Shader examples for MakeHuman can be found here:
* Litsphere shader: [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/litsphere_vertex_shader.txt]] [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/litsphere_fragment_shader.txt fragment]]
* Phong shader: [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/phong_vertex_shader.txt]] [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/phong_fragment_shader.txt fragment]]
* Normal map shader (wip): [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/normalmap_vertex_shader.txt]] [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/normalmap_fragment_shader.txt fragment]]
* X-ray shader: [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/xray_vertex_shader.txt]] [[https://bitbucket.org/MakeHuman/makehuman/src/default/makehuman/data/shaders/glsl/xray_fragment_shader.txt fragment]]
=== Basic pointers ===
* You can test the influence of material properties using the Material Editor plugin (which you can enable in Settings > Plugins, then restart)
* Using a diffuse texture? You probably want to set the diffuse color to 1 1 1 (pure white)
* Never set ambient color too bright, or your model will look completely white. 0.1 0.1 0.1 is a good value to start from.
* Emissive is usually set to black, unless you want a radioactive character
* Higher shininess means smaller and sharper highlight, lower shininess makes the highlight larger and more blurred
* Reduce specular color to reduce the specularity, make it black for a rough and non shiny object
* opacity 1 means fully opaque, 0 means fully transparent (invisible)
=== Scene definition ===
To complete the rendering equation, you also need to define the scene. To be
more precise, the positions, types, color and intensities of the lights need to
be set. By default, MakeHuman only has a default scene with only one pointlight.
In MakeHuman, lights do not move if the camera is moved, or rather, the model is
rotated while the camera and lights remain static. So light positions are defined
relative to the camera position.
MakeHuman scenes are defined in .mhscene files, which are binary py-pickled files.
They can be created or modified using the Scene Editor plugin (can be enabled in
settings) and can be selected from the Scene library in the Render tab.
Fixed function shading pipeline supports up to 8 lights, specific light support
depends on the shader used, some shaders only support a certain type or number
of lights, other ignore the chosen scene altogether (for example the litsphere
shader that uses pre-baked environment lighting).
The built-in offline renderer also uses the specified scene.
Scenes are not exported along with the model.
=== Example ===
This is a full and complete (but fictional) example of a material file for MakeHuman, it shows all the available properties.
# Example MakeHuman Material definition
name Material_name
tag some_tag
tag another_tag
description material description text here
ambientColor 0.11 0.11 0.11
diffuseColor 1.0 1.0 1.0
specularColor 0.0470588235294 0.0470588235294 0.0470588235294
shininess 0.96
emissiveColor 0.0 0.0 0.0
opacity 1.0
translucency 0.0
shadeless False
wireframe False
transparent True
alphaToCoverage True
backfaceCull False
depthless False
autoBlendSkin False
castShadows True
receiveShadows True
diffuseTexture diffuse_texture.png
bumpmapTexture bumpmap.png
bumpmapIntensity 1.0
normalmapTexture normalmap.png
normalmapIntensity 1.0
displacementmapTexture norm_displacement.png
displacementmapIntensity 1.0
specularmapTexture specular.png
specularmapIntensity 1.0
transparencymapTexture alpha.png
transparencymapIntensity 1.0
aomapTexture ambient_occlusion_map.png
aomapIntensity 1.0
# Sub-surface scattering parameters
sssEnabled True
sssRScale 5.0
sssGScale 2.5
sssBScale 1.0
shader shaders/glsl/litsphere
shaderParam litsphereTexture litspheres/lit_hair.png
shaderConfig ambientOcclusion True
shaderConfig normal False
shaderConfig bump True
shaderConfig displacement False
shaderConfig vertexColors True
shaderConfig spec True
shaderConfig transparency True
shaderConfig diffuse True
shaderDefine ALPHA_MAP
uvMap alt_uv_coords.mhuv
This is another example, this time a real one. It is the X-ray material, used for example when showing the skeleton:
# Material definition for XrayMaterial
name XrayMaterial
ambientColor 0.1 0.1 0.1
diffuseColor 1.0 1.0 1.0
specularColor 0.3 0.3 0.3
shininess 0.1
emissiveColor 0.0 0.0 0.0
opacity 0.1
translucency 0.0
transparent True
backfaceCull True
shadeless False
wireframe False
depthless False
shader data/shaders/glsl/xray
shaderConfig diffuse False
shaderConfig transparency False
shaderConfig normal False
shaderConfig bump False
shaderConfig spec False
shaderConfig vertexColors False
shaderConfig displacement False
e41e16feccfed294115c6e2916155e992ae8db12
561
560
2016-01-27T13:29:08Z
Duststorm
19
/* Material format */
wikitext
text/x-wiki
== Vertex weights ==
With vertex weights we intend a weighted mapping of vertices of a mesh to a bone of a skeleton. The weight is a value between 0 and 1, the sum of these weights for each vertex should be normalized, which means they should sum to 1 (note: no euclidian distance, just simple addition of all weights). A weight map in MakeHuman is expressed as a bone name (becomes a bone index internally, using the index of the bone in a breadth-first list relative to skeleton structure), a vertex name and a floating point weight between 0 and 1. This weighted vertex to bone mapping is used for skinning (posing and animating, using vertex skinning, smooth skinning or linear blend skinning algorithm). For the skinning algorithm to work correctly it’s required that the weights are always normalized, otherwise you will see vertices move out of place disproportionally (though the weight loading code in MakeHuman ensures that this normalization always happens, so this is not a concern to the artist that defines the weights). The vertex weights can be exported to external tools as well using formats such as collada (DAE), FBX, Ogre3D meshes or MD5 quake meshes.
=== Vertex weights and skeletons ===
Vertex weights are defined for the default “master” skeleton or rig. They are defined in a json file with jsonw extension. They link each vertex of the basemesh including helpers to a named bone of this master rig, together with a certain weight.
The weights loader automatically removes doubles and normalizes the weights (so that they sum to 1). It also reports what the maximum number of bone weights per vertex is, additionally it allows compiling the weights to a reduced set with n number of bone weights, and automatically renormalizes those weights so they, again, sum to 1.
When loading weights, any vertex that receives no weighting is assigned to the root bone, as this is needed for skinning to prevent all those vertices jumping to the origin (0*pos == 0).
Alternative skeletons can define their own weights, by referencing a weights file just like the master rig, or they can choose to derive their weights from the master rig, through so called reference bone mappings. Skeletons will derive their weights from the master rig if they do not specify a weights file explicitly. Custom vertex weights in alternative rigs override those defined on the master rig, except in the case where a proxy defines its own vertex weights. See section Vertex weights for proxies for more details.
=== Reference bones for vertex weights and poses ===
Reference bones are defined on alternative rigs, they are a list of names of bones contained in the master rig. Every bone of an alternative rig can have such a list of reference bones. An alternative rig can also omit these references if it uses the same name as bones in the master rig, in which the mapping is implicit. Having a list of bone references always overrides the implicit mapping. Reference bone mappings are required for two purposes.
They are used for mapping poses defined on the master rig to other rigs. All poses are defined as BVH files that pose the master rig, so they reference only the bone names of the master rig. Poses are applied to all other rigs by using the reference bone mapping: all the rotations that the pose applies to the referenced bones are combined (in the order in which the references were specified -- note: rotations are NOT commutative) and are applied to the alternative rig bone.
Reference bone mappings can also be used for determining vertex weights of custom rigs. If the alternative rig does not explicitly define its own vertex weights, the mapping of reference bones is used to infere a set of bone weights for each bone: All the weights of the reference bones on the master rig (with the weights definition of the default/master rig) are combined and apply to the bone of the alternative rig. Doubles are merged, and weights renormalized. Any vertex that is not weighted will be assigned to the root bone. Watch for messages in the log to verify this.
=== Vertex weights for proxies ===
Generally proxies are mapped to basemesh geometry, that means either to the body or to helpers, or a combination of both (though this is unusual). Proxies derive their vertex weights from the vertices on the basemesh on which they are fitted. A proxy defines its fitting as a 3d offset from one or three vertices on the basemesh, allowing it to deform as the human deforms. This mapping is used to transfer the vertex weights from basemesh to proxy: a proxy vertex referencing three basemesh vertices gets the bone weights of those three vertices. Doubles are merged and the weights are normalized, so that the influence factors are averaged or smoothed. In this case the weights applied to proxies are always those defined on the skeleton: either the weights explicitly defined on the skeleton, or the weights obtained from remapping the master rig weights to this skeleton using the reference bone mapping mentioned in the previous sections. There is an exception to this, which is explained in the next paragraph.
A proxy can explicitly define its own vertex (to bone) weights. In this case it overrides the weights that would be obtained through the proxy mapping, and replaces them by its own custom definition of weights. These vertex weights are always defined to reference the bones of the master rig (default skeleton), so they need to be remapped to other skeletons using reference bone mapping. This also means that the custom weights of a proxy override any custom weights mapping that might be loaded with an alternative rig (but only for that proxy item). Custom proxy weights should be avoided if possible, but are in some cases required, eg. for properly rigging shoes which are rigidly fitted to feet, or an alternative topology which defines very accurate rigging on the face. The general advice for custom rigs is therefore to stay as close to the master rig as possible, reusing as much bones identically as possible, to achieve the best results for proxies with custom weights.
In case of custom weight, the mhclo file must contain a line to indicate the weight file to use, using the keyword “vertexboneweights_file”, with the syntax:
vertexboneweights_file filename.jsonw
== Targets and modifiers ==
MakeHuman applies targets on the human by means of modifiers. Such a modifier has a value (usually between [0, 1] or [-1, 1]) that determines the effect of it on the human mesh. A modifier can control one or more targets and in apply the mixed sum of them on the mesh. Some modifiers.
=== Organization of targets ===
To make sure targets are linked to the right modifier, or to make managing targets easier, a certain discipline has to be observed in managing them. Targets are ASCII files in the data/targets or data/custom folder (in program or user folder) with a file extension of .target.
The file name and folder targets are in implicitly determines their group name. A group is identified by a sequence of tags or tokens, which are taken from the file and folder name of each target, and which can be delimited by “-” symbols, to include multiple tokens in a single file or folder name. The lib/targets.py module takes care of loading all the names of the available targets and assembles them into groups. All targets with the same tokens end up in the same group. This allows easy querying and requesting of targets. The creator is pretty much free to decide what groups to create for their targets. By passing the name of the target group to a modifier, they can make sure that modifier controls the targets belonging to this group. It does not matter whether you use folders or - delimited file names for creating groups.
An example:
data/targets/cartoon/eyes-large.target is categorized in group (cartoon, eyes, large)
data/targets/cartoon-eyes-large.target is also categorized in group (cartoon, eyes, large)
Most simple modifiers work by specifying a group (for example cartoon-eyes) and a set of two tokens to append at the end, depending on the position of the modifier slider (eg. small, large which would allow controlling the targets cartoon-eyes-small and cartoon-eyes-large by moving the slider to the left or right).
=== Reserved group tokens ===
Some of the tokens in the file or foldername of targets are linked to values that variables of the human can have. Such variables are for example age, weight, muscle, gender.
This table lists all the reserved tokens, and the variables they belong to.
{| class="wikitable"
|-
! Reserved token (value)
! Variable
|-
| female,male
| gender
|-
| baby, child, young, old
| age
|-
| african, caucasian, asian
| race
|-
| minmuscle, averagemuscle, maxmuscle
| muscle
|-
| minweight, averageweight, maxweight
| weight
|-
| minheight, averageheight, maxheight
| height
|-
| mincup, averagecup, maxcup
| breastsize
|-
| minfirmness, averagefirmness, maxfirmness
| breastfirmness
|-
| uncommonproportions, regularproportions, idealproportions
| bodyproportion
|}
Note that it is not a good idea to use simply “max” or “min” as a reserved token name, because they need to be unique (otherwise it would not be possible to determine whether they are a minimum for, for example, weight or height). These reserved tokens are declared in the lib/targets.py module. The variable can be set and queried on the human object, for example human.getAge(), human.setMuscle(0.7), human.getProportion().
The reserved tokens are NOT included in the group name, so you should at least include some other, non-reserved tokens in the file or folder names to assign your target to some meaningful group. The inclusion of these reserved tokens in your target names or paths makes it convenient to create macro modifiers.
=== Macro targets and modifiers ===
Macro modifiers are modifiers whose effect (the combination of targets they apply on the human) is influenced by macro variables set on the human (eg. human.set/getAge()). Therefore, macro modifiers often control a large set of targets (20 or even more). It’s also common for multiple modifiers to control exactly the same set of targets, for example the standard age/gender/race sliders all control the set of targets in the ‘macrodetails’ group. Each slider modifies a different variable (eg. human.setAge()) controlling the set of targets, and then reapplies a combination of the same set of targets on the human.
=== Macro modifier dependencies ===
There are other macro modifiers that can also depend on the same variables age, gender, race that is controlled by the main macro modifiers, as discussed above. For example the macro modifiers that influence the weight and muscle mass of the human, controls the targets group “macrodetails-universal”, the universal token is added by prepending “universal-” to all the file names of related targets, which all reside in the folder “macrodetails” (thus macrodetails-universal ends up being the group name). They could have been included all in the “macrodetails” group, but are kept separate for performance reasons, so that the “macrodetails” group of targets (which already contains some 40 targets or so) can be applied in realtime while moving the slider.
Of course a change in the variable that these age/race/gender modifiers control will have an effect on the macrodetails-universal modifiers (because they control targets that depend on age -- their targets include -young- -old- etc. tokens in their filenames). This means there are inter-dependencies between macro modifiers, if one is updated, another one that depends on it should be refreshed. These dependencies can be descibed as follows: one macro modifier controls exactly one macro variable (such as age). It (or rather, the targets it controls) can however depend on multiple macro variables. The trivial case is where a macro modifier only depends on the macro variable that it controls itself. The tracking of these dependencies and deciding which modifiers must be updated when another is changed happens automatically. Dependencies are automatically tracked as soon as you add a modifier to the human (by calling modifier.setHuman(human)). To make this more performant in real-time, the propagation of updates to modifiers is limited while sliders are dragged (see realtimeDependencyUpdates in apps/humanmodifier.py).
As you might have understood, creating modifiers that depend on human variables is almost automatic. The only thing you need to do is create some targets that resolve to the same group name, add variations for all the macro variables you want and add the proper reserved tokens to the file or folder name (refer to the left column in the table above), and create a modifier with this group name. Once added to the human, the dependencies are tracked automatically.
=== Organization of modifiers ===
We already discussed how we organized targets in groups, to make it easier to connect them to a modifier. Now we will discuss how we can do a similar thing for modifiers.
Modifiers provide an easy way to manage targets. They allow reducing many of hundreds of targets to a more manageable number of controllable properties. But even then, we still have about 100 modifiers, which is still quite a lot. Therefore we group them in groups of categories, much like we do in the GUI. This makes it easy to get a grouped overview of all modifiers when using an alternative interface, think of commandline or scripting. The way in which you declare the group and other properties of a modifier determines what target groups it gets its targets from.
Modifiers are declared with a group name, some intermediary “target name” and a number of tail tokens (2 or 3 usually, eg min/max). The group of targets controlled by these modifiers is composed as: groupname-targets_name-tail.
Macro modifiers are declared with a group name, and a controlled variable. The groupname must be the same groupname of the targets they control.
=== Declarative modifiers ===
Instead of hard coding what modifiers you want to instantiate, MakeHuman offers a data-based format to declare what modifiers should be created, and how they should be shown in a user interface with sliders.
A full declaration requires three files, all stored in data/modifiers. The first is the declaration of the modifiers (eg. modeling_modifiers.json). This format lists a modifier group name, and all the modifiers with their macro variable (if they are macro modifiers) or target name and 2 or 3 (if they are a modifier with a center point) tail tokens.
The second file adds a description to the modifiers declared in the first file. It basically contains a key-value set, referencing the modifier name, and a textual description of what the modifier controls. A modifier name is constructed as follows: group/targets_name-all|the|tails and for a macro modifier: group/variable
The third file defines how these modifiers should be shown in the user interface as sliders. It lists a set of categories, and the sliders to show in them, and how their values have to be saved in a mhm file (mainly a feature for legacy compatibility).
=== Your own plugin with modifiers, sliders and targets ===
Using the declarative data format described in the section above, it’s really simple. Have a look at the plugin plugins/0_modeling_0_modifiers.py. Notice it’s barely 5 lines of code. Creating your own modeling plugin is as simple as that, pointing it to your own modifier data files.
=== Binary targets ===
Because loading these ASCII target files, and iterating all target files and folders can be slow (especially on windows) in build versions, we compile all targets in the data/targets system folder into a single binary file, that furthermore acts exactly the same as multiple target files. The binary targets file is stored in the system data/ folder and is called targets.npz, it is created by running the compile_targets.py script, which is also automatically run in the build_prepare.py build routine. The file structure of the targets files is maintained in this binary file so that targets can be loaded from it in the same way as you would do with regular files. A change in the .target files, or newly added target files allow a recompilation of the targets npz file before the change is applied.
== Material format==
=== Example ===
This is a full and complete (but fictional) example of a material file for MakeHuman, it shows all the available properties.
# Example MakeHuman Material definition
name Material_name
tag some_tag
tag another_tag
description material description text here
ambientColor 0.11 0.11 0.11
diffuseColor 1.0 1.0 1.0
specularColor 0.0470588235294 0.0470588235294 0.0470588235294
shininess 0.96
emissiveColor 0.0 0.0 0.0
opacity 1.0
translucency 0.0
shadeless False
wireframe False
transparent True
alphaToCoverage True
backfaceCull False
depthless False
autoBlendSkin False
castShadows True
receiveShadows True
diffuseTexture diffuse_texture.png
bumpmapTexture bumpmap.png
bumpmapIntensity 1.0
normalmapTexture normalmap.png
normalmapIntensity 1.0
displacementmapTexture norm_displacement.png
displacementmapIntensity 1.0
specularmapTexture specular.png
specularmapIntensity 1.0
transparencymapTexture alpha.png
transparencymapIntensity 1.0
aomapTexture ambient_occlusion_map.png
aomapIntensity 1.0
# Sub-surface scattering parameters
sssEnabled True
sssRScale 5.0
sssGScale 2.5
sssBScale 1.0
shader shaders/glsl/litsphere
shaderParam litsphereTexture litspheres/lit_hair.png
shaderConfig ambientOcclusion True
shaderConfig normal False
shaderConfig bump True
shaderConfig displacement False
shaderConfig vertexColors True
shaderConfig spec True
shaderConfig transparency True
shaderConfig diffuse True
shaderDefine ALPHA_MAP
uvMap alt_uv_coords.mhuv
This is another example, this time a real one. It is the X-ray material, used for example when showing the skeleton:
# Material definition for XrayMaterial
name XrayMaterial
ambientColor 0.1 0.1 0.1
diffuseColor 1.0 1.0 1.0
specularColor 0.3 0.3 0.3
shininess 0.1
emissiveColor 0.0 0.0 0.0
opacity 0.1
translucency 0.0
transparent True
backfaceCull True
shadeless False
wireframe False
depthless False
shader data/shaders/glsl/xray
shaderConfig diffuse False
shaderConfig transparency False
shaderConfig normal False
shaderConfig bump False
shaderConfig spec False
shaderConfig vertexColors False
shaderConfig displacement False
5a45dd9b36f0c836d29b49b1c6b8a21720d409cc
560
559
2016-01-27T13:27:58Z
Duststorm
19
/* Material format */
wikitext
text/x-wiki
== Vertex weights ==
With vertex weights we intend a weighted mapping of vertices of a mesh to a bone of a skeleton. The weight is a value between 0 and 1, the sum of these weights for each vertex should be normalized, which means they should sum to 1 (note: no euclidian distance, just simple addition of all weights). A weight map in MakeHuman is expressed as a bone name (becomes a bone index internally, using the index of the bone in a breadth-first list relative to skeleton structure), a vertex name and a floating point weight between 0 and 1. This weighted vertex to bone mapping is used for skinning (posing and animating, using vertex skinning, smooth skinning or linear blend skinning algorithm). For the skinning algorithm to work correctly it’s required that the weights are always normalized, otherwise you will see vertices move out of place disproportionally (though the weight loading code in MakeHuman ensures that this normalization always happens, so this is not a concern to the artist that defines the weights). The vertex weights can be exported to external tools as well using formats such as collada (DAE), FBX, Ogre3D meshes or MD5 quake meshes.
=== Vertex weights and skeletons ===
Vertex weights are defined for the default “master” skeleton or rig. They are defined in a json file with jsonw extension. They link each vertex of the basemesh including helpers to a named bone of this master rig, together with a certain weight.
The weights loader automatically removes doubles and normalizes the weights (so that they sum to 1). It also reports what the maximum number of bone weights per vertex is, additionally it allows compiling the weights to a reduced set with n number of bone weights, and automatically renormalizes those weights so they, again, sum to 1.
When loading weights, any vertex that receives no weighting is assigned to the root bone, as this is needed for skinning to prevent all those vertices jumping to the origin (0*pos == 0).
Alternative skeletons can define their own weights, by referencing a weights file just like the master rig, or they can choose to derive their weights from the master rig, through so called reference bone mappings. Skeletons will derive their weights from the master rig if they do not specify a weights file explicitly. Custom vertex weights in alternative rigs override those defined on the master rig, except in the case where a proxy defines its own vertex weights. See section Vertex weights for proxies for more details.
=== Reference bones for vertex weights and poses ===
Reference bones are defined on alternative rigs, they are a list of names of bones contained in the master rig. Every bone of an alternative rig can have such a list of reference bones. An alternative rig can also omit these references if it uses the same name as bones in the master rig, in which the mapping is implicit. Having a list of bone references always overrides the implicit mapping. Reference bone mappings are required for two purposes.
They are used for mapping poses defined on the master rig to other rigs. All poses are defined as BVH files that pose the master rig, so they reference only the bone names of the master rig. Poses are applied to all other rigs by using the reference bone mapping: all the rotations that the pose applies to the referenced bones are combined (in the order in which the references were specified -- note: rotations are NOT commutative) and are applied to the alternative rig bone.
Reference bone mappings can also be used for determining vertex weights of custom rigs. If the alternative rig does not explicitly define its own vertex weights, the mapping of reference bones is used to infere a set of bone weights for each bone: All the weights of the reference bones on the master rig (with the weights definition of the default/master rig) are combined and apply to the bone of the alternative rig. Doubles are merged, and weights renormalized. Any vertex that is not weighted will be assigned to the root bone. Watch for messages in the log to verify this.
=== Vertex weights for proxies ===
Generally proxies are mapped to basemesh geometry, that means either to the body or to helpers, or a combination of both (though this is unusual). Proxies derive their vertex weights from the vertices on the basemesh on which they are fitted. A proxy defines its fitting as a 3d offset from one or three vertices on the basemesh, allowing it to deform as the human deforms. This mapping is used to transfer the vertex weights from basemesh to proxy: a proxy vertex referencing three basemesh vertices gets the bone weights of those three vertices. Doubles are merged and the weights are normalized, so that the influence factors are averaged or smoothed. In this case the weights applied to proxies are always those defined on the skeleton: either the weights explicitly defined on the skeleton, or the weights obtained from remapping the master rig weights to this skeleton using the reference bone mapping mentioned in the previous sections. There is an exception to this, which is explained in the next paragraph.
A proxy can explicitly define its own vertex (to bone) weights. In this case it overrides the weights that would be obtained through the proxy mapping, and replaces them by its own custom definition of weights. These vertex weights are always defined to reference the bones of the master rig (default skeleton), so they need to be remapped to other skeletons using reference bone mapping. This also means that the custom weights of a proxy override any custom weights mapping that might be loaded with an alternative rig (but only for that proxy item). Custom proxy weights should be avoided if possible, but are in some cases required, eg. for properly rigging shoes which are rigidly fitted to feet, or an alternative topology which defines very accurate rigging on the face. The general advice for custom rigs is therefore to stay as close to the master rig as possible, reusing as much bones identically as possible, to achieve the best results for proxies with custom weights.
In case of custom weight, the mhclo file must contain a line to indicate the weight file to use, using the keyword “vertexboneweights_file”, with the syntax:
vertexboneweights_file filename.jsonw
== Targets and modifiers ==
MakeHuman applies targets on the human by means of modifiers. Such a modifier has a value (usually between [0, 1] or [-1, 1]) that determines the effect of it on the human mesh. A modifier can control one or more targets and in apply the mixed sum of them on the mesh. Some modifiers.
=== Organization of targets ===
To make sure targets are linked to the right modifier, or to make managing targets easier, a certain discipline has to be observed in managing them. Targets are ASCII files in the data/targets or data/custom folder (in program or user folder) with a file extension of .target.
The file name and folder targets are in implicitly determines their group name. A group is identified by a sequence of tags or tokens, which are taken from the file and folder name of each target, and which can be delimited by “-” symbols, to include multiple tokens in a single file or folder name. The lib/targets.py module takes care of loading all the names of the available targets and assembles them into groups. All targets with the same tokens end up in the same group. This allows easy querying and requesting of targets. The creator is pretty much free to decide what groups to create for their targets. By passing the name of the target group to a modifier, they can make sure that modifier controls the targets belonging to this group. It does not matter whether you use folders or - delimited file names for creating groups.
An example:
data/targets/cartoon/eyes-large.target is categorized in group (cartoon, eyes, large)
data/targets/cartoon-eyes-large.target is also categorized in group (cartoon, eyes, large)
Most simple modifiers work by specifying a group (for example cartoon-eyes) and a set of two tokens to append at the end, depending on the position of the modifier slider (eg. small, large which would allow controlling the targets cartoon-eyes-small and cartoon-eyes-large by moving the slider to the left or right).
=== Reserved group tokens ===
Some of the tokens in the file or foldername of targets are linked to values that variables of the human can have. Such variables are for example age, weight, muscle, gender.
This table lists all the reserved tokens, and the variables they belong to.
{| class="wikitable"
|-
! Reserved token (value)
! Variable
|-
| female,male
| gender
|-
| baby, child, young, old
| age
|-
| african, caucasian, asian
| race
|-
| minmuscle, averagemuscle, maxmuscle
| muscle
|-
| minweight, averageweight, maxweight
| weight
|-
| minheight, averageheight, maxheight
| height
|-
| mincup, averagecup, maxcup
| breastsize
|-
| minfirmness, averagefirmness, maxfirmness
| breastfirmness
|-
| uncommonproportions, regularproportions, idealproportions
| bodyproportion
|}
Note that it is not a good idea to use simply “max” or “min” as a reserved token name, because they need to be unique (otherwise it would not be possible to determine whether they are a minimum for, for example, weight or height). These reserved tokens are declared in the lib/targets.py module. The variable can be set and queried on the human object, for example human.getAge(), human.setMuscle(0.7), human.getProportion().
The reserved tokens are NOT included in the group name, so you should at least include some other, non-reserved tokens in the file or folder names to assign your target to some meaningful group. The inclusion of these reserved tokens in your target names or paths makes it convenient to create macro modifiers.
=== Macro targets and modifiers ===
Macro modifiers are modifiers whose effect (the combination of targets they apply on the human) is influenced by macro variables set on the human (eg. human.set/getAge()). Therefore, macro modifiers often control a large set of targets (20 or even more). It’s also common for multiple modifiers to control exactly the same set of targets, for example the standard age/gender/race sliders all control the set of targets in the ‘macrodetails’ group. Each slider modifies a different variable (eg. human.setAge()) controlling the set of targets, and then reapplies a combination of the same set of targets on the human.
=== Macro modifier dependencies ===
There are other macro modifiers that can also depend on the same variables age, gender, race that is controlled by the main macro modifiers, as discussed above. For example the macro modifiers that influence the weight and muscle mass of the human, controls the targets group “macrodetails-universal”, the universal token is added by prepending “universal-” to all the file names of related targets, which all reside in the folder “macrodetails” (thus macrodetails-universal ends up being the group name). They could have been included all in the “macrodetails” group, but are kept separate for performance reasons, so that the “macrodetails” group of targets (which already contains some 40 targets or so) can be applied in realtime while moving the slider.
Of course a change in the variable that these age/race/gender modifiers control will have an effect on the macrodetails-universal modifiers (because they control targets that depend on age -- their targets include -young- -old- etc. tokens in their filenames). This means there are inter-dependencies between macro modifiers, if one is updated, another one that depends on it should be refreshed. These dependencies can be descibed as follows: one macro modifier controls exactly one macro variable (such as age). It (or rather, the targets it controls) can however depend on multiple macro variables. The trivial case is where a macro modifier only depends on the macro variable that it controls itself. The tracking of these dependencies and deciding which modifiers must be updated when another is changed happens automatically. Dependencies are automatically tracked as soon as you add a modifier to the human (by calling modifier.setHuman(human)). To make this more performant in real-time, the propagation of updates to modifiers is limited while sliders are dragged (see realtimeDependencyUpdates in apps/humanmodifier.py).
As you might have understood, creating modifiers that depend on human variables is almost automatic. The only thing you need to do is create some targets that resolve to the same group name, add variations for all the macro variables you want and add the proper reserved tokens to the file or folder name (refer to the left column in the table above), and create a modifier with this group name. Once added to the human, the dependencies are tracked automatically.
=== Organization of modifiers ===
We already discussed how we organized targets in groups, to make it easier to connect them to a modifier. Now we will discuss how we can do a similar thing for modifiers.
Modifiers provide an easy way to manage targets. They allow reducing many of hundreds of targets to a more manageable number of controllable properties. But even then, we still have about 100 modifiers, which is still quite a lot. Therefore we group them in groups of categories, much like we do in the GUI. This makes it easy to get a grouped overview of all modifiers when using an alternative interface, think of commandline or scripting. The way in which you declare the group and other properties of a modifier determines what target groups it gets its targets from.
Modifiers are declared with a group name, some intermediary “target name” and a number of tail tokens (2 or 3 usually, eg min/max). The group of targets controlled by these modifiers is composed as: groupname-targets_name-tail.
Macro modifiers are declared with a group name, and a controlled variable. The groupname must be the same groupname of the targets they control.
=== Declarative modifiers ===
Instead of hard coding what modifiers you want to instantiate, MakeHuman offers a data-based format to declare what modifiers should be created, and how they should be shown in a user interface with sliders.
A full declaration requires three files, all stored in data/modifiers. The first is the declaration of the modifiers (eg. modeling_modifiers.json). This format lists a modifier group name, and all the modifiers with their macro variable (if they are macro modifiers) or target name and 2 or 3 (if they are a modifier with a center point) tail tokens.
The second file adds a description to the modifiers declared in the first file. It basically contains a key-value set, referencing the modifier name, and a textual description of what the modifier controls. A modifier name is constructed as follows: group/targets_name-all|the|tails and for a macro modifier: group/variable
The third file defines how these modifiers should be shown in the user interface as sliders. It lists a set of categories, and the sliders to show in them, and how their values have to be saved in a mhm file (mainly a feature for legacy compatibility).
=== Your own plugin with modifiers, sliders and targets ===
Using the declarative data format described in the section above, it’s really simple. Have a look at the plugin plugins/0_modeling_0_modifiers.py. Notice it’s barely 5 lines of code. Creating your own modeling plugin is as simple as that, pointing it to your own modifier data files.
=== Binary targets ===
Because loading these ASCII target files, and iterating all target files and folders can be slow (especially on windows) in build versions, we compile all targets in the data/targets system folder into a single binary file, that furthermore acts exactly the same as multiple target files. The binary targets file is stored in the system data/ folder and is called targets.npz, it is created by running the compile_targets.py script, which is also automatically run in the build_prepare.py build routine. The file structure of the targets files is maintained in this binary file so that targets can be loaded from it in the same way as you would do with regular files. A change in the .target files, or newly added target files allow a recompilation of the targets npz file before the change is applied.
== Material format==
This is a full and complete (but fictional) example of a material file for MakeHuman, it shows all the available properties.
# Example MakeHuman Material definition
name Material_name
tag some_tag
tag another_tag
description material description text here
ambientColor 0.11 0.11 0.11
diffuseColor 1.0 1.0 1.0
specularColor 0.0470588235294 0.0470588235294 0.0470588235294
shininess 0.96
emissiveColor 0.0 0.0 0.0
opacity 1.0
translucency 0.0
shadeless False
wireframe False
transparent True
alphaToCoverage True
backfaceCull False
depthless False
autoBlendSkin False
castShadows True
receiveShadows True
diffuseTexture diffuse_texture.png
bumpmapTexture bumpmap.png
bumpmapIntensity 1.0
normalmapTexture normalmap.png
normalmapIntensity 1.0
displacementmapTexture norm_displacement.png
displacementmapIntensity 1.0
specularmapTexture specular.png
specularmapIntensity 1.0
transparencymapTexture alpha.png
transparencymapIntensity 1.0
aomapTexture ambient_occlusion_map.png
aomapIntensity 1.0
# Sub-surface scattering parameters
sssEnabled True
sssRScale 5.0
sssGScale 2.5
sssBScale 1.0
shader shaders/glsl/litsphere
shaderParam litsphereTexture litspheres/lit_hair.png
shaderConfig ambientOcclusion True
shaderConfig normal False
shaderConfig bump True
shaderConfig displacement False
shaderConfig vertexColors True
shaderConfig spec True
shaderConfig transparency True
shaderConfig diffuse True
shaderDefine ALPHA_MAP
uvMap alt_uv_coords.mhuv
f9bd0debfaa0a57a188f9222e6425b1d89633fd7
559
558
2016-01-27T13:27:11Z
Duststorm
19
/* Material format */
wikitext
text/x-wiki
== Vertex weights ==
With vertex weights we intend a weighted mapping of vertices of a mesh to a bone of a skeleton. The weight is a value between 0 and 1, the sum of these weights for each vertex should be normalized, which means they should sum to 1 (note: no euclidian distance, just simple addition of all weights). A weight map in MakeHuman is expressed as a bone name (becomes a bone index internally, using the index of the bone in a breadth-first list relative to skeleton structure), a vertex name and a floating point weight between 0 and 1. This weighted vertex to bone mapping is used for skinning (posing and animating, using vertex skinning, smooth skinning or linear blend skinning algorithm). For the skinning algorithm to work correctly it’s required that the weights are always normalized, otherwise you will see vertices move out of place disproportionally (though the weight loading code in MakeHuman ensures that this normalization always happens, so this is not a concern to the artist that defines the weights). The vertex weights can be exported to external tools as well using formats such as collada (DAE), FBX, Ogre3D meshes or MD5 quake meshes.
=== Vertex weights and skeletons ===
Vertex weights are defined for the default “master” skeleton or rig. They are defined in a json file with jsonw extension. They link each vertex of the basemesh including helpers to a named bone of this master rig, together with a certain weight.
The weights loader automatically removes doubles and normalizes the weights (so that they sum to 1). It also reports what the maximum number of bone weights per vertex is, additionally it allows compiling the weights to a reduced set with n number of bone weights, and automatically renormalizes those weights so they, again, sum to 1.
When loading weights, any vertex that receives no weighting is assigned to the root bone, as this is needed for skinning to prevent all those vertices jumping to the origin (0*pos == 0).
Alternative skeletons can define their own weights, by referencing a weights file just like the master rig, or they can choose to derive their weights from the master rig, through so called reference bone mappings. Skeletons will derive their weights from the master rig if they do not specify a weights file explicitly. Custom vertex weights in alternative rigs override those defined on the master rig, except in the case where a proxy defines its own vertex weights. See section Vertex weights for proxies for more details.
=== Reference bones for vertex weights and poses ===
Reference bones are defined on alternative rigs, they are a list of names of bones contained in the master rig. Every bone of an alternative rig can have such a list of reference bones. An alternative rig can also omit these references if it uses the same name as bones in the master rig, in which the mapping is implicit. Having a list of bone references always overrides the implicit mapping. Reference bone mappings are required for two purposes.
They are used for mapping poses defined on the master rig to other rigs. All poses are defined as BVH files that pose the master rig, so they reference only the bone names of the master rig. Poses are applied to all other rigs by using the reference bone mapping: all the rotations that the pose applies to the referenced bones are combined (in the order in which the references were specified -- note: rotations are NOT commutative) and are applied to the alternative rig bone.
Reference bone mappings can also be used for determining vertex weights of custom rigs. If the alternative rig does not explicitly define its own vertex weights, the mapping of reference bones is used to infere a set of bone weights for each bone: All the weights of the reference bones on the master rig (with the weights definition of the default/master rig) are combined and apply to the bone of the alternative rig. Doubles are merged, and weights renormalized. Any vertex that is not weighted will be assigned to the root bone. Watch for messages in the log to verify this.
=== Vertex weights for proxies ===
Generally proxies are mapped to basemesh geometry, that means either to the body or to helpers, or a combination of both (though this is unusual). Proxies derive their vertex weights from the vertices on the basemesh on which they are fitted. A proxy defines its fitting as a 3d offset from one or three vertices on the basemesh, allowing it to deform as the human deforms. This mapping is used to transfer the vertex weights from basemesh to proxy: a proxy vertex referencing three basemesh vertices gets the bone weights of those three vertices. Doubles are merged and the weights are normalized, so that the influence factors are averaged or smoothed. In this case the weights applied to proxies are always those defined on the skeleton: either the weights explicitly defined on the skeleton, or the weights obtained from remapping the master rig weights to this skeleton using the reference bone mapping mentioned in the previous sections. There is an exception to this, which is explained in the next paragraph.
A proxy can explicitly define its own vertex (to bone) weights. In this case it overrides the weights that would be obtained through the proxy mapping, and replaces them by its own custom definition of weights. These vertex weights are always defined to reference the bones of the master rig (default skeleton), so they need to be remapped to other skeletons using reference bone mapping. This also means that the custom weights of a proxy override any custom weights mapping that might be loaded with an alternative rig (but only for that proxy item). Custom proxy weights should be avoided if possible, but are in some cases required, eg. for properly rigging shoes which are rigidly fitted to feet, or an alternative topology which defines very accurate rigging on the face. The general advice for custom rigs is therefore to stay as close to the master rig as possible, reusing as much bones identically as possible, to achieve the best results for proxies with custom weights.
In case of custom weight, the mhclo file must contain a line to indicate the weight file to use, using the keyword “vertexboneweights_file”, with the syntax:
vertexboneweights_file filename.jsonw
== Targets and modifiers ==
MakeHuman applies targets on the human by means of modifiers. Such a modifier has a value (usually between [0, 1] or [-1, 1]) that determines the effect of it on the human mesh. A modifier can control one or more targets and in apply the mixed sum of them on the mesh. Some modifiers.
=== Organization of targets ===
To make sure targets are linked to the right modifier, or to make managing targets easier, a certain discipline has to be observed in managing them. Targets are ASCII files in the data/targets or data/custom folder (in program or user folder) with a file extension of .target.
The file name and folder targets are in implicitly determines their group name. A group is identified by a sequence of tags or tokens, which are taken from the file and folder name of each target, and which can be delimited by “-” symbols, to include multiple tokens in a single file or folder name. The lib/targets.py module takes care of loading all the names of the available targets and assembles them into groups. All targets with the same tokens end up in the same group. This allows easy querying and requesting of targets. The creator is pretty much free to decide what groups to create for their targets. By passing the name of the target group to a modifier, they can make sure that modifier controls the targets belonging to this group. It does not matter whether you use folders or - delimited file names for creating groups.
An example:
data/targets/cartoon/eyes-large.target is categorized in group (cartoon, eyes, large)
data/targets/cartoon-eyes-large.target is also categorized in group (cartoon, eyes, large)
Most simple modifiers work by specifying a group (for example cartoon-eyes) and a set of two tokens to append at the end, depending on the position of the modifier slider (eg. small, large which would allow controlling the targets cartoon-eyes-small and cartoon-eyes-large by moving the slider to the left or right).
=== Reserved group tokens ===
Some of the tokens in the file or foldername of targets are linked to values that variables of the human can have. Such variables are for example age, weight, muscle, gender.
This table lists all the reserved tokens, and the variables they belong to.
{| class="wikitable"
|-
! Reserved token (value)
! Variable
|-
| female,male
| gender
|-
| baby, child, young, old
| age
|-
| african, caucasian, asian
| race
|-
| minmuscle, averagemuscle, maxmuscle
| muscle
|-
| minweight, averageweight, maxweight
| weight
|-
| minheight, averageheight, maxheight
| height
|-
| mincup, averagecup, maxcup
| breastsize
|-
| minfirmness, averagefirmness, maxfirmness
| breastfirmness
|-
| uncommonproportions, regularproportions, idealproportions
| bodyproportion
|}
Note that it is not a good idea to use simply “max” or “min” as a reserved token name, because they need to be unique (otherwise it would not be possible to determine whether they are a minimum for, for example, weight or height). These reserved tokens are declared in the lib/targets.py module. The variable can be set and queried on the human object, for example human.getAge(), human.setMuscle(0.7), human.getProportion().
The reserved tokens are NOT included in the group name, so you should at least include some other, non-reserved tokens in the file or folder names to assign your target to some meaningful group. The inclusion of these reserved tokens in your target names or paths makes it convenient to create macro modifiers.
=== Macro targets and modifiers ===
Macro modifiers are modifiers whose effect (the combination of targets they apply on the human) is influenced by macro variables set on the human (eg. human.set/getAge()). Therefore, macro modifiers often control a large set of targets (20 or even more). It’s also common for multiple modifiers to control exactly the same set of targets, for example the standard age/gender/race sliders all control the set of targets in the ‘macrodetails’ group. Each slider modifies a different variable (eg. human.setAge()) controlling the set of targets, and then reapplies a combination of the same set of targets on the human.
=== Macro modifier dependencies ===
There are other macro modifiers that can also depend on the same variables age, gender, race that is controlled by the main macro modifiers, as discussed above. For example the macro modifiers that influence the weight and muscle mass of the human, controls the targets group “macrodetails-universal”, the universal token is added by prepending “universal-” to all the file names of related targets, which all reside in the folder “macrodetails” (thus macrodetails-universal ends up being the group name). They could have been included all in the “macrodetails” group, but are kept separate for performance reasons, so that the “macrodetails” group of targets (which already contains some 40 targets or so) can be applied in realtime while moving the slider.
Of course a change in the variable that these age/race/gender modifiers control will have an effect on the macrodetails-universal modifiers (because they control targets that depend on age -- their targets include -young- -old- etc. tokens in their filenames). This means there are inter-dependencies between macro modifiers, if one is updated, another one that depends on it should be refreshed. These dependencies can be descibed as follows: one macro modifier controls exactly one macro variable (such as age). It (or rather, the targets it controls) can however depend on multiple macro variables. The trivial case is where a macro modifier only depends on the macro variable that it controls itself. The tracking of these dependencies and deciding which modifiers must be updated when another is changed happens automatically. Dependencies are automatically tracked as soon as you add a modifier to the human (by calling modifier.setHuman(human)). To make this more performant in real-time, the propagation of updates to modifiers is limited while sliders are dragged (see realtimeDependencyUpdates in apps/humanmodifier.py).
As you might have understood, creating modifiers that depend on human variables is almost automatic. The only thing you need to do is create some targets that resolve to the same group name, add variations for all the macro variables you want and add the proper reserved tokens to the file or folder name (refer to the left column in the table above), and create a modifier with this group name. Once added to the human, the dependencies are tracked automatically.
=== Organization of modifiers ===
We already discussed how we organized targets in groups, to make it easier to connect them to a modifier. Now we will discuss how we can do a similar thing for modifiers.
Modifiers provide an easy way to manage targets. They allow reducing many of hundreds of targets to a more manageable number of controllable properties. But even then, we still have about 100 modifiers, which is still quite a lot. Therefore we group them in groups of categories, much like we do in the GUI. This makes it easy to get a grouped overview of all modifiers when using an alternative interface, think of commandline or scripting. The way in which you declare the group and other properties of a modifier determines what target groups it gets its targets from.
Modifiers are declared with a group name, some intermediary “target name” and a number of tail tokens (2 or 3 usually, eg min/max). The group of targets controlled by these modifiers is composed as: groupname-targets_name-tail.
Macro modifiers are declared with a group name, and a controlled variable. The groupname must be the same groupname of the targets they control.
=== Declarative modifiers ===
Instead of hard coding what modifiers you want to instantiate, MakeHuman offers a data-based format to declare what modifiers should be created, and how they should be shown in a user interface with sliders.
A full declaration requires three files, all stored in data/modifiers. The first is the declaration of the modifiers (eg. modeling_modifiers.json). This format lists a modifier group name, and all the modifiers with their macro variable (if they are macro modifiers) or target name and 2 or 3 (if they are a modifier with a center point) tail tokens.
The second file adds a description to the modifiers declared in the first file. It basically contains a key-value set, referencing the modifier name, and a textual description of what the modifier controls. A modifier name is constructed as follows: group/targets_name-all|the|tails and for a macro modifier: group/variable
The third file defines how these modifiers should be shown in the user interface as sliders. It lists a set of categories, and the sliders to show in them, and how their values have to be saved in a mhm file (mainly a feature for legacy compatibility).
=== Your own plugin with modifiers, sliders and targets ===
Using the declarative data format described in the section above, it’s really simple. Have a look at the plugin plugins/0_modeling_0_modifiers.py. Notice it’s barely 5 lines of code. Creating your own modeling plugin is as simple as that, pointing it to your own modifier data files.
=== Binary targets ===
Because loading these ASCII target files, and iterating all target files and folders can be slow (especially on windows) in build versions, we compile all targets in the data/targets system folder into a single binary file, that furthermore acts exactly the same as multiple target files. The binary targets file is stored in the system data/ folder and is called targets.npz, it is created by running the compile_targets.py script, which is also automatically run in the build_prepare.py build routine. The file structure of the targets files is maintained in this binary file so that targets can be loaded from it in the same way as you would do with regular files. A change in the .target files, or newly added target files allow a recompilation of the targets npz file before the change is applied.
== Material format==
Full example:
# Example MakeHuman Material definition
name Material_name
tag some_tag
tag another_tag
description material description text here
ambientColor 0.11 0.11 0.11
diffuseColor 1.0 1.0 1.0
specularColor 0.0470588235294 0.0470588235294 0.0470588235294
shininess 0.96
emissiveColor 0.0 0.0 0.0
opacity 1.0
translucency 0.0
shadeless False
wireframe False
transparent True
alphaToCoverage True
backfaceCull False
depthless False
autoBlendSkin False
castShadows True
receiveShadows True
diffuseTexture diffuse_texture.png
bumpmapTexture bumpmap.png
bumpmapIntensity 1.0
normalmapTexture normalmap.png
normalmapIntensity 1.0
displacementmapTexture norm_displacement.png
displacementmapIntensity 1.0
specularmapTexture specular.png
specularmapIntensity 1.0
transparencymapTexture alpha.png
transparencymapIntensity 1.0
aomapTexture ambient_occlusion_map.png
aomapIntensity 1.0
# Sub-surface scattering parameters
sssEnabled True
sssRScale 5.0
sssGScale 2.5
sssBScale 1.0
shader shaders/glsl/litsphere
shaderParam litsphereTexture litspheres/lit_hair.png
shaderConfig ambientOcclusion True
shaderConfig normal False
shaderConfig bump True
shaderConfig displacement False
shaderConfig vertexColors True
shaderConfig spec True
shaderConfig transparency True
shaderConfig diffuse True
shaderDefine ALPHA_MAP
uvMap alt_uv_coords.mhuv
8fce498db3c7078e099e6fcf0772927ba154cea5
558
519
2016-01-27T13:26:38Z
Duststorm
19
Add full material example
wikitext
text/x-wiki
== Vertex weights ==
With vertex weights we intend a weighted mapping of vertices of a mesh to a bone of a skeleton. The weight is a value between 0 and 1, the sum of these weights for each vertex should be normalized, which means they should sum to 1 (note: no euclidian distance, just simple addition of all weights). A weight map in MakeHuman is expressed as a bone name (becomes a bone index internally, using the index of the bone in a breadth-first list relative to skeleton structure), a vertex name and a floating point weight between 0 and 1. This weighted vertex to bone mapping is used for skinning (posing and animating, using vertex skinning, smooth skinning or linear blend skinning algorithm). For the skinning algorithm to work correctly it’s required that the weights are always normalized, otherwise you will see vertices move out of place disproportionally (though the weight loading code in MakeHuman ensures that this normalization always happens, so this is not a concern to the artist that defines the weights). The vertex weights can be exported to external tools as well using formats such as collada (DAE), FBX, Ogre3D meshes or MD5 quake meshes.
=== Vertex weights and skeletons ===
Vertex weights are defined for the default “master” skeleton or rig. They are defined in a json file with jsonw extension. They link each vertex of the basemesh including helpers to a named bone of this master rig, together with a certain weight.
The weights loader automatically removes doubles and normalizes the weights (so that they sum to 1). It also reports what the maximum number of bone weights per vertex is, additionally it allows compiling the weights to a reduced set with n number of bone weights, and automatically renormalizes those weights so they, again, sum to 1.
When loading weights, any vertex that receives no weighting is assigned to the root bone, as this is needed for skinning to prevent all those vertices jumping to the origin (0*pos == 0).
Alternative skeletons can define their own weights, by referencing a weights file just like the master rig, or they can choose to derive their weights from the master rig, through so called reference bone mappings. Skeletons will derive their weights from the master rig if they do not specify a weights file explicitly. Custom vertex weights in alternative rigs override those defined on the master rig, except in the case where a proxy defines its own vertex weights. See section Vertex weights for proxies for more details.
=== Reference bones for vertex weights and poses ===
Reference bones are defined on alternative rigs, they are a list of names of bones contained in the master rig. Every bone of an alternative rig can have such a list of reference bones. An alternative rig can also omit these references if it uses the same name as bones in the master rig, in which the mapping is implicit. Having a list of bone references always overrides the implicit mapping. Reference bone mappings are required for two purposes.
They are used for mapping poses defined on the master rig to other rigs. All poses are defined as BVH files that pose the master rig, so they reference only the bone names of the master rig. Poses are applied to all other rigs by using the reference bone mapping: all the rotations that the pose applies to the referenced bones are combined (in the order in which the references were specified -- note: rotations are NOT commutative) and are applied to the alternative rig bone.
Reference bone mappings can also be used for determining vertex weights of custom rigs. If the alternative rig does not explicitly define its own vertex weights, the mapping of reference bones is used to infere a set of bone weights for each bone: All the weights of the reference bones on the master rig (with the weights definition of the default/master rig) are combined and apply to the bone of the alternative rig. Doubles are merged, and weights renormalized. Any vertex that is not weighted will be assigned to the root bone. Watch for messages in the log to verify this.
=== Vertex weights for proxies ===
Generally proxies are mapped to basemesh geometry, that means either to the body or to helpers, or a combination of both (though this is unusual). Proxies derive their vertex weights from the vertices on the basemesh on which they are fitted. A proxy defines its fitting as a 3d offset from one or three vertices on the basemesh, allowing it to deform as the human deforms. This mapping is used to transfer the vertex weights from basemesh to proxy: a proxy vertex referencing three basemesh vertices gets the bone weights of those three vertices. Doubles are merged and the weights are normalized, so that the influence factors are averaged or smoothed. In this case the weights applied to proxies are always those defined on the skeleton: either the weights explicitly defined on the skeleton, or the weights obtained from remapping the master rig weights to this skeleton using the reference bone mapping mentioned in the previous sections. There is an exception to this, which is explained in the next paragraph.
A proxy can explicitly define its own vertex (to bone) weights. In this case it overrides the weights that would be obtained through the proxy mapping, and replaces them by its own custom definition of weights. These vertex weights are always defined to reference the bones of the master rig (default skeleton), so they need to be remapped to other skeletons using reference bone mapping. This also means that the custom weights of a proxy override any custom weights mapping that might be loaded with an alternative rig (but only for that proxy item). Custom proxy weights should be avoided if possible, but are in some cases required, eg. for properly rigging shoes which are rigidly fitted to feet, or an alternative topology which defines very accurate rigging on the face. The general advice for custom rigs is therefore to stay as close to the master rig as possible, reusing as much bones identically as possible, to achieve the best results for proxies with custom weights.
In case of custom weight, the mhclo file must contain a line to indicate the weight file to use, using the keyword “vertexboneweights_file”, with the syntax:
vertexboneweights_file filename.jsonw
== Targets and modifiers ==
MakeHuman applies targets on the human by means of modifiers. Such a modifier has a value (usually between [0, 1] or [-1, 1]) that determines the effect of it on the human mesh. A modifier can control one or more targets and in apply the mixed sum of them on the mesh. Some modifiers.
=== Organization of targets ===
To make sure targets are linked to the right modifier, or to make managing targets easier, a certain discipline has to be observed in managing them. Targets are ASCII files in the data/targets or data/custom folder (in program or user folder) with a file extension of .target.
The file name and folder targets are in implicitly determines their group name. A group is identified by a sequence of tags or tokens, which are taken from the file and folder name of each target, and which can be delimited by “-” symbols, to include multiple tokens in a single file or folder name. The lib/targets.py module takes care of loading all the names of the available targets and assembles them into groups. All targets with the same tokens end up in the same group. This allows easy querying and requesting of targets. The creator is pretty much free to decide what groups to create for their targets. By passing the name of the target group to a modifier, they can make sure that modifier controls the targets belonging to this group. It does not matter whether you use folders or - delimited file names for creating groups.
An example:
data/targets/cartoon/eyes-large.target is categorized in group (cartoon, eyes, large)
data/targets/cartoon-eyes-large.target is also categorized in group (cartoon, eyes, large)
Most simple modifiers work by specifying a group (for example cartoon-eyes) and a set of two tokens to append at the end, depending on the position of the modifier slider (eg. small, large which would allow controlling the targets cartoon-eyes-small and cartoon-eyes-large by moving the slider to the left or right).
=== Reserved group tokens ===
Some of the tokens in the file or foldername of targets are linked to values that variables of the human can have. Such variables are for example age, weight, muscle, gender.
This table lists all the reserved tokens, and the variables they belong to.
{| class="wikitable"
|-
! Reserved token (value)
! Variable
|-
| female,male
| gender
|-
| baby, child, young, old
| age
|-
| african, caucasian, asian
| race
|-
| minmuscle, averagemuscle, maxmuscle
| muscle
|-
| minweight, averageweight, maxweight
| weight
|-
| minheight, averageheight, maxheight
| height
|-
| mincup, averagecup, maxcup
| breastsize
|-
| minfirmness, averagefirmness, maxfirmness
| breastfirmness
|-
| uncommonproportions, regularproportions, idealproportions
| bodyproportion
|}
Note that it is not a good idea to use simply “max” or “min” as a reserved token name, because they need to be unique (otherwise it would not be possible to determine whether they are a minimum for, for example, weight or height). These reserved tokens are declared in the lib/targets.py module. The variable can be set and queried on the human object, for example human.getAge(), human.setMuscle(0.7), human.getProportion().
The reserved tokens are NOT included in the group name, so you should at least include some other, non-reserved tokens in the file or folder names to assign your target to some meaningful group. The inclusion of these reserved tokens in your target names or paths makes it convenient to create macro modifiers.
=== Macro targets and modifiers ===
Macro modifiers are modifiers whose effect (the combination of targets they apply on the human) is influenced by macro variables set on the human (eg. human.set/getAge()). Therefore, macro modifiers often control a large set of targets (20 or even more). It’s also common for multiple modifiers to control exactly the same set of targets, for example the standard age/gender/race sliders all control the set of targets in the ‘macrodetails’ group. Each slider modifies a different variable (eg. human.setAge()) controlling the set of targets, and then reapplies a combination of the same set of targets on the human.
=== Macro modifier dependencies ===
There are other macro modifiers that can also depend on the same variables age, gender, race that is controlled by the main macro modifiers, as discussed above. For example the macro modifiers that influence the weight and muscle mass of the human, controls the targets group “macrodetails-universal”, the universal token is added by prepending “universal-” to all the file names of related targets, which all reside in the folder “macrodetails” (thus macrodetails-universal ends up being the group name). They could have been included all in the “macrodetails” group, but are kept separate for performance reasons, so that the “macrodetails” group of targets (which already contains some 40 targets or so) can be applied in realtime while moving the slider.
Of course a change in the variable that these age/race/gender modifiers control will have an effect on the macrodetails-universal modifiers (because they control targets that depend on age -- their targets include -young- -old- etc. tokens in their filenames). This means there are inter-dependencies between macro modifiers, if one is updated, another one that depends on it should be refreshed. These dependencies can be descibed as follows: one macro modifier controls exactly one macro variable (such as age). It (or rather, the targets it controls) can however depend on multiple macro variables. The trivial case is where a macro modifier only depends on the macro variable that it controls itself. The tracking of these dependencies and deciding which modifiers must be updated when another is changed happens automatically. Dependencies are automatically tracked as soon as you add a modifier to the human (by calling modifier.setHuman(human)). To make this more performant in real-time, the propagation of updates to modifiers is limited while sliders are dragged (see realtimeDependencyUpdates in apps/humanmodifier.py).
As you might have understood, creating modifiers that depend on human variables is almost automatic. The only thing you need to do is create some targets that resolve to the same group name, add variations for all the macro variables you want and add the proper reserved tokens to the file or folder name (refer to the left column in the table above), and create a modifier with this group name. Once added to the human, the dependencies are tracked automatically.
=== Organization of modifiers ===
We already discussed how we organized targets in groups, to make it easier to connect them to a modifier. Now we will discuss how we can do a similar thing for modifiers.
Modifiers provide an easy way to manage targets. They allow reducing many of hundreds of targets to a more manageable number of controllable properties. But even then, we still have about 100 modifiers, which is still quite a lot. Therefore we group them in groups of categories, much like we do in the GUI. This makes it easy to get a grouped overview of all modifiers when using an alternative interface, think of commandline or scripting. The way in which you declare the group and other properties of a modifier determines what target groups it gets its targets from.
Modifiers are declared with a group name, some intermediary “target name” and a number of tail tokens (2 or 3 usually, eg min/max). The group of targets controlled by these modifiers is composed as: groupname-targets_name-tail.
Macro modifiers are declared with a group name, and a controlled variable. The groupname must be the same groupname of the targets they control.
=== Declarative modifiers ===
Instead of hard coding what modifiers you want to instantiate, MakeHuman offers a data-based format to declare what modifiers should be created, and how they should be shown in a user interface with sliders.
A full declaration requires three files, all stored in data/modifiers. The first is the declaration of the modifiers (eg. modeling_modifiers.json). This format lists a modifier group name, and all the modifiers with their macro variable (if they are macro modifiers) or target name and 2 or 3 (if they are a modifier with a center point) tail tokens.
The second file adds a description to the modifiers declared in the first file. It basically contains a key-value set, referencing the modifier name, and a textual description of what the modifier controls. A modifier name is constructed as follows: group/targets_name-all|the|tails and for a macro modifier: group/variable
The third file defines how these modifiers should be shown in the user interface as sliders. It lists a set of categories, and the sliders to show in them, and how their values have to be saved in a mhm file (mainly a feature for legacy compatibility).
=== Your own plugin with modifiers, sliders and targets ===
Using the declarative data format described in the section above, it’s really simple. Have a look at the plugin plugins/0_modeling_0_modifiers.py. Notice it’s barely 5 lines of code. Creating your own modeling plugin is as simple as that, pointing it to your own modifier data files.
=== Binary targets ===
Because loading these ASCII target files, and iterating all target files and folders can be slow (especially on windows) in build versions, we compile all targets in the data/targets system folder into a single binary file, that furthermore acts exactly the same as multiple target files. The binary targets file is stored in the system data/ folder and is called targets.npz, it is created by running the compile_targets.py script, which is also automatically run in the build_prepare.py build routine. The file structure of the targets files is maintained in this binary file so that targets can be loaded from it in the same way as you would do with regular files. A change in the .target files, or newly added target files allow a recompilation of the targets npz file before the change is applied.
== Material format==
Full example:
# Example MakeHuman Material definition
name Material_name
tag some_tag
tag another_tag
description material description text here
ambientColor 0.11 0.11 0.11
diffuseColor 1.0 1.0 1.0
specularColor 0.0470588235294 0.0470588235294 0.0470588235294
shininess 0.96
emissiveColor 0.0 0.0 0.0
opacity 1.0
translucency 0.0
shadeless False
wireframe False
transparent True
alphaToCoverage True
backfaceCull False
depthless False
autoBlendSkin False
castShadows True
receiveShadows True
diffuseTexture diffuse_texture.png
bumpmapTexture bumpmap.png
bumpmapIntensity 1.0
normalmapTexture normalmap.png
normalmapIntensity 1.0
displacementmapTexture norm_displacement.png
displacementmapIntensity 1.0
specularmapTexture specular.png
specularmapIntensity 1.0
transparencymapTexture alpha.png
transparencymapIntensity 1.0
aomapTexture ambient_occlusion_map.png
aomapIntensity 1.0
# Sub-surface scattering parameters
sssEnabled True
sssRScale 5.0
sssGScale 2.5
sssBScale 1.0
shader shaders/glsl/litsphere
shaderParam litsphereTexture litspheres/lit_hair.png
shaderConfig ambientOcclusion True
shaderConfig normal False
shaderConfig bump True
shaderConfig displacement False
shaderConfig vertexColors True
shaderConfig spec True
shaderConfig transparency True
shaderConfig diffuse True
shaderDefine ALPHA_MAP
uvMap alt_uv_coords.mhuv
8552c292447da94d7c1584cb979a29d008be5ed9
519
518
2015-09-02T10:02:25Z
Duststorm
19
Fix table end
wikitext
text/x-wiki
== Vertex weights ==
With vertex weights we intend a weighted mapping of vertices of a mesh to a bone of a skeleton. The weight is a value between 0 and 1, the sum of these weights for each vertex should be normalized, which means they should sum to 1 (note: no euclidian distance, just simple addition of all weights). A weight map in MakeHuman is expressed as a bone name (becomes a bone index internally, using the index of the bone in a breadth-first list relative to skeleton structure), a vertex name and a floating point weight between 0 and 1. This weighted vertex to bone mapping is used for skinning (posing and animating, using vertex skinning, smooth skinning or linear blend skinning algorithm). For the skinning algorithm to work correctly it’s required that the weights are always normalized, otherwise you will see vertices move out of place disproportionally (though the weight loading code in MakeHuman ensures that this normalization always happens, so this is not a concern to the artist that defines the weights). The vertex weights can be exported to external tools as well using formats such as collada (DAE), FBX, Ogre3D meshes or MD5 quake meshes.
=== Vertex weights and skeletons ===
Vertex weights are defined for the default “master” skeleton or rig. They are defined in a json file with jsonw extension. They link each vertex of the basemesh including helpers to a named bone of this master rig, together with a certain weight.
The weights loader automatically removes doubles and normalizes the weights (so that they sum to 1). It also reports what the maximum number of bone weights per vertex is, additionally it allows compiling the weights to a reduced set with n number of bone weights, and automatically renormalizes those weights so they, again, sum to 1.
When loading weights, any vertex that receives no weighting is assigned to the root bone, as this is needed for skinning to prevent all those vertices jumping to the origin (0*pos == 0).
Alternative skeletons can define their own weights, by referencing a weights file just like the master rig, or they can choose to derive their weights from the master rig, through so called reference bone mappings. Skeletons will derive their weights from the master rig if they do not specify a weights file explicitly. Custom vertex weights in alternative rigs override those defined on the master rig, except in the case where a proxy defines its own vertex weights. See section Vertex weights for proxies for more details.
=== Reference bones for vertex weights and poses ===
Reference bones are defined on alternative rigs, they are a list of names of bones contained in the master rig. Every bone of an alternative rig can have such a list of reference bones. An alternative rig can also omit these references if it uses the same name as bones in the master rig, in which the mapping is implicit. Having a list of bone references always overrides the implicit mapping. Reference bone mappings are required for two purposes.
They are used for mapping poses defined on the master rig to other rigs. All poses are defined as BVH files that pose the master rig, so they reference only the bone names of the master rig. Poses are applied to all other rigs by using the reference bone mapping: all the rotations that the pose applies to the referenced bones are combined (in the order in which the references were specified -- note: rotations are NOT commutative) and are applied to the alternative rig bone.
Reference bone mappings can also be used for determining vertex weights of custom rigs. If the alternative rig does not explicitly define its own vertex weights, the mapping of reference bones is used to infere a set of bone weights for each bone: All the weights of the reference bones on the master rig (with the weights definition of the default/master rig) are combined and apply to the bone of the alternative rig. Doubles are merged, and weights renormalized. Any vertex that is not weighted will be assigned to the root bone. Watch for messages in the log to verify this.
=== Vertex weights for proxies ===
Generally proxies are mapped to basemesh geometry, that means either to the body or to helpers, or a combination of both (though this is unusual). Proxies derive their vertex weights from the vertices on the basemesh on which they are fitted. A proxy defines its fitting as a 3d offset from one or three vertices on the basemesh, allowing it to deform as the human deforms. This mapping is used to transfer the vertex weights from basemesh to proxy: a proxy vertex referencing three basemesh vertices gets the bone weights of those three vertices. Doubles are merged and the weights are normalized, so that the influence factors are averaged or smoothed. In this case the weights applied to proxies are always those defined on the skeleton: either the weights explicitly defined on the skeleton, or the weights obtained from remapping the master rig weights to this skeleton using the reference bone mapping mentioned in the previous sections. There is an exception to this, which is explained in the next paragraph.
A proxy can explicitly define its own vertex (to bone) weights. In this case it overrides the weights that would be obtained through the proxy mapping, and replaces them by its own custom definition of weights. These vertex weights are always defined to reference the bones of the master rig (default skeleton), so they need to be remapped to other skeletons using reference bone mapping. This also means that the custom weights of a proxy override any custom weights mapping that might be loaded with an alternative rig (but only for that proxy item). Custom proxy weights should be avoided if possible, but are in some cases required, eg. for properly rigging shoes which are rigidly fitted to feet, or an alternative topology which defines very accurate rigging on the face. The general advice for custom rigs is therefore to stay as close to the master rig as possible, reusing as much bones identically as possible, to achieve the best results for proxies with custom weights.
In case of custom weight, the mhclo file must contain a line to indicate the weight file to use, using the keyword “vertexboneweights_file”, with the syntax:
vertexboneweights_file filename.jsonw
== Targets and modifiers ==
MakeHuman applies targets on the human by means of modifiers. Such a modifier has a value (usually between [0, 1] or [-1, 1]) that determines the effect of it on the human mesh. A modifier can control one or more targets and in apply the mixed sum of them on the mesh. Some modifiers.
=== Organization of targets ===
To make sure targets are linked to the right modifier, or to make managing targets easier, a certain discipline has to be observed in managing them. Targets are ASCII files in the data/targets or data/custom folder (in program or user folder) with a file extension of .target.
The file name and folder targets are in implicitly determines their group name. A group is identified by a sequence of tags or tokens, which are taken from the file and folder name of each target, and which can be delimited by “-” symbols, to include multiple tokens in a single file or folder name. The lib/targets.py module takes care of loading all the names of the available targets and assembles them into groups. All targets with the same tokens end up in the same group. This allows easy querying and requesting of targets. The creator is pretty much free to decide what groups to create for their targets. By passing the name of the target group to a modifier, they can make sure that modifier controls the targets belonging to this group. It does not matter whether you use folders or - delimited file names for creating groups.
An example:
data/targets/cartoon/eyes-large.target is categorized in group (cartoon, eyes, large)
data/targets/cartoon-eyes-large.target is also categorized in group (cartoon, eyes, large)
Most simple modifiers work by specifying a group (for example cartoon-eyes) and a set of two tokens to append at the end, depending on the position of the modifier slider (eg. small, large which would allow controlling the targets cartoon-eyes-small and cartoon-eyes-large by moving the slider to the left or right).
=== Reserved group tokens ===
Some of the tokens in the file or foldername of targets are linked to values that variables of the human can have. Such variables are for example age, weight, muscle, gender.
This table lists all the reserved tokens, and the variables they belong to.
{| class="wikitable"
|-
! Reserved token (value)
! Variable
|-
| female,male
| gender
|-
| baby, child, young, old
| age
|-
| african, caucasian, asian
| race
|-
| minmuscle, averagemuscle, maxmuscle
| muscle
|-
| minweight, averageweight, maxweight
| weight
|-
| minheight, averageheight, maxheight
| height
|-
| mincup, averagecup, maxcup
| breastsize
|-
| minfirmness, averagefirmness, maxfirmness
| breastfirmness
|-
| uncommonproportions, regularproportions, idealproportions
| bodyproportion
|}
Note that it is not a good idea to use simply “max” or “min” as a reserved token name, because they need to be unique (otherwise it would not be possible to determine whether they are a minimum for, for example, weight or height). These reserved tokens are declared in the lib/targets.py module. The variable can be set and queried on the human object, for example human.getAge(), human.setMuscle(0.7), human.getProportion().
The reserved tokens are NOT included in the group name, so you should at least include some other, non-reserved tokens in the file or folder names to assign your target to some meaningful group. The inclusion of these reserved tokens in your target names or paths makes it convenient to create macro modifiers.
=== Macro targets and modifiers ===
Macro modifiers are modifiers whose effect (the combination of targets they apply on the human) is influenced by macro variables set on the human (eg. human.set/getAge()). Therefore, macro modifiers often control a large set of targets (20 or even more). It’s also common for multiple modifiers to control exactly the same set of targets, for example the standard age/gender/race sliders all control the set of targets in the ‘macrodetails’ group. Each slider modifies a different variable (eg. human.setAge()) controlling the set of targets, and then reapplies a combination of the same set of targets on the human.
=== Macro modifier dependencies ===
There are other macro modifiers that can also depend on the same variables age, gender, race that is controlled by the main macro modifiers, as discussed above. For example the macro modifiers that influence the weight and muscle mass of the human, controls the targets group “macrodetails-universal”, the universal token is added by prepending “universal-” to all the file names of related targets, which all reside in the folder “macrodetails” (thus macrodetails-universal ends up being the group name). They could have been included all in the “macrodetails” group, but are kept separate for performance reasons, so that the “macrodetails” group of targets (which already contains some 40 targets or so) can be applied in realtime while moving the slider.
Of course a change in the variable that these age/race/gender modifiers control will have an effect on the macrodetails-universal modifiers (because they control targets that depend on age -- their targets include -young- -old- etc. tokens in their filenames). This means there are inter-dependencies between macro modifiers, if one is updated, another one that depends on it should be refreshed. These dependencies can be descibed as follows: one macro modifier controls exactly one macro variable (such as age). It (or rather, the targets it controls) can however depend on multiple macro variables. The trivial case is where a macro modifier only depends on the macro variable that it controls itself. The tracking of these dependencies and deciding which modifiers must be updated when another is changed happens automatically. Dependencies are automatically tracked as soon as you add a modifier to the human (by calling modifier.setHuman(human)). To make this more performant in real-time, the propagation of updates to modifiers is limited while sliders are dragged (see realtimeDependencyUpdates in apps/humanmodifier.py).
As you might have understood, creating modifiers that depend on human variables is almost automatic. The only thing you need to do is create some targets that resolve to the same group name, add variations for all the macro variables you want and add the proper reserved tokens to the file or folder name (refer to the left column in the table above), and create a modifier with this group name. Once added to the human, the dependencies are tracked automatically.
=== Organization of modifiers ===
We already discussed how we organized targets in groups, to make it easier to connect them to a modifier. Now we will discuss how we can do a similar thing for modifiers.
Modifiers provide an easy way to manage targets. They allow reducing many of hundreds of targets to a more manageable number of controllable properties. But even then, we still have about 100 modifiers, which is still quite a lot. Therefore we group them in groups of categories, much like we do in the GUI. This makes it easy to get a grouped overview of all modifiers when using an alternative interface, think of commandline or scripting. The way in which you declare the group and other properties of a modifier determines what target groups it gets its targets from.
Modifiers are declared with a group name, some intermediary “target name” and a number of tail tokens (2 or 3 usually, eg min/max). The group of targets controlled by these modifiers is composed as: groupname-targets_name-tail.
Macro modifiers are declared with a group name, and a controlled variable. The groupname must be the same groupname of the targets they control.
=== Declarative modifiers ===
Instead of hard coding what modifiers you want to instantiate, MakeHuman offers a data-based format to declare what modifiers should be created, and how they should be shown in a user interface with sliders.
A full declaration requires three files, all stored in data/modifiers. The first is the declaration of the modifiers (eg. modeling_modifiers.json). This format lists a modifier group name, and all the modifiers with their macro variable (if they are macro modifiers) or target name and 2 or 3 (if they are a modifier with a center point) tail tokens.
The second file adds a description to the modifiers declared in the first file. It basically contains a key-value set, referencing the modifier name, and a textual description of what the modifier controls. A modifier name is constructed as follows: group/targets_name-all|the|tails and for a macro modifier: group/variable
The third file defines how these modifiers should be shown in the user interface as sliders. It lists a set of categories, and the sliders to show in them, and how their values have to be saved in a mhm file (mainly a feature for legacy compatibility).
=== Your own plugin with modifiers, sliders and targets ===
Using the declarative data format described in the section above, it’s really simple. Have a look at the plugin plugins/0_modeling_0_modifiers.py. Notice it’s barely 5 lines of code. Creating your own modeling plugin is as simple as that, pointing it to your own modifier data files.
=== Binary targets ===
Because loading these ASCII target files, and iterating all target files and folders can be slow (especially on windows) in build versions, we compile all targets in the data/targets system folder into a single binary file, that furthermore acts exactly the same as multiple target files. The binary targets file is stored in the system data/ folder and is called targets.npz, it is created by running the compile_targets.py script, which is also automatically run in the build_prepare.py build routine. The file structure of the targets files is maintained in this binary file so that targets can be loaded from it in the same way as you would do with regular files. A change in the .target files, or newly added target files allow a recompilation of the targets npz file before the change is applied.
c19d023dd6a6e351b55839b87f044ce4ed574d28
518
517
2015-09-02T10:01:56Z
Duststorm
19
Create table for reserved group tokens
wikitext
text/x-wiki
== Vertex weights ==
With vertex weights we intend a weighted mapping of vertices of a mesh to a bone of a skeleton. The weight is a value between 0 and 1, the sum of these weights for each vertex should be normalized, which means they should sum to 1 (note: no euclidian distance, just simple addition of all weights). A weight map in MakeHuman is expressed as a bone name (becomes a bone index internally, using the index of the bone in a breadth-first list relative to skeleton structure), a vertex name and a floating point weight between 0 and 1. This weighted vertex to bone mapping is used for skinning (posing and animating, using vertex skinning, smooth skinning or linear blend skinning algorithm). For the skinning algorithm to work correctly it’s required that the weights are always normalized, otherwise you will see vertices move out of place disproportionally (though the weight loading code in MakeHuman ensures that this normalization always happens, so this is not a concern to the artist that defines the weights). The vertex weights can be exported to external tools as well using formats such as collada (DAE), FBX, Ogre3D meshes or MD5 quake meshes.
=== Vertex weights and skeletons ===
Vertex weights are defined for the default “master” skeleton or rig. They are defined in a json file with jsonw extension. They link each vertex of the basemesh including helpers to a named bone of this master rig, together with a certain weight.
The weights loader automatically removes doubles and normalizes the weights (so that they sum to 1). It also reports what the maximum number of bone weights per vertex is, additionally it allows compiling the weights to a reduced set with n number of bone weights, and automatically renormalizes those weights so they, again, sum to 1.
When loading weights, any vertex that receives no weighting is assigned to the root bone, as this is needed for skinning to prevent all those vertices jumping to the origin (0*pos == 0).
Alternative skeletons can define their own weights, by referencing a weights file just like the master rig, or they can choose to derive their weights from the master rig, through so called reference bone mappings. Skeletons will derive their weights from the master rig if they do not specify a weights file explicitly. Custom vertex weights in alternative rigs override those defined on the master rig, except in the case where a proxy defines its own vertex weights. See section Vertex weights for proxies for more details.
=== Reference bones for vertex weights and poses ===
Reference bones are defined on alternative rigs, they are a list of names of bones contained in the master rig. Every bone of an alternative rig can have such a list of reference bones. An alternative rig can also omit these references if it uses the same name as bones in the master rig, in which the mapping is implicit. Having a list of bone references always overrides the implicit mapping. Reference bone mappings are required for two purposes.
They are used for mapping poses defined on the master rig to other rigs. All poses are defined as BVH files that pose the master rig, so they reference only the bone names of the master rig. Poses are applied to all other rigs by using the reference bone mapping: all the rotations that the pose applies to the referenced bones are combined (in the order in which the references were specified -- note: rotations are NOT commutative) and are applied to the alternative rig bone.
Reference bone mappings can also be used for determining vertex weights of custom rigs. If the alternative rig does not explicitly define its own vertex weights, the mapping of reference bones is used to infere a set of bone weights for each bone: All the weights of the reference bones on the master rig (with the weights definition of the default/master rig) are combined and apply to the bone of the alternative rig. Doubles are merged, and weights renormalized. Any vertex that is not weighted will be assigned to the root bone. Watch for messages in the log to verify this.
=== Vertex weights for proxies ===
Generally proxies are mapped to basemesh geometry, that means either to the body or to helpers, or a combination of both (though this is unusual). Proxies derive their vertex weights from the vertices on the basemesh on which they are fitted. A proxy defines its fitting as a 3d offset from one or three vertices on the basemesh, allowing it to deform as the human deforms. This mapping is used to transfer the vertex weights from basemesh to proxy: a proxy vertex referencing three basemesh vertices gets the bone weights of those three vertices. Doubles are merged and the weights are normalized, so that the influence factors are averaged or smoothed. In this case the weights applied to proxies are always those defined on the skeleton: either the weights explicitly defined on the skeleton, or the weights obtained from remapping the master rig weights to this skeleton using the reference bone mapping mentioned in the previous sections. There is an exception to this, which is explained in the next paragraph.
A proxy can explicitly define its own vertex (to bone) weights. In this case it overrides the weights that would be obtained through the proxy mapping, and replaces them by its own custom definition of weights. These vertex weights are always defined to reference the bones of the master rig (default skeleton), so they need to be remapped to other skeletons using reference bone mapping. This also means that the custom weights of a proxy override any custom weights mapping that might be loaded with an alternative rig (but only for that proxy item). Custom proxy weights should be avoided if possible, but are in some cases required, eg. for properly rigging shoes which are rigidly fitted to feet, or an alternative topology which defines very accurate rigging on the face. The general advice for custom rigs is therefore to stay as close to the master rig as possible, reusing as much bones identically as possible, to achieve the best results for proxies with custom weights.
In case of custom weight, the mhclo file must contain a line to indicate the weight file to use, using the keyword “vertexboneweights_file”, with the syntax:
vertexboneweights_file filename.jsonw
== Targets and modifiers ==
MakeHuman applies targets on the human by means of modifiers. Such a modifier has a value (usually between [0, 1] or [-1, 1]) that determines the effect of it on the human mesh. A modifier can control one or more targets and in apply the mixed sum of them on the mesh. Some modifiers.
=== Organization of targets ===
To make sure targets are linked to the right modifier, or to make managing targets easier, a certain discipline has to be observed in managing them. Targets are ASCII files in the data/targets or data/custom folder (in program or user folder) with a file extension of .target.
The file name and folder targets are in implicitly determines their group name. A group is identified by a sequence of tags or tokens, which are taken from the file and folder name of each target, and which can be delimited by “-” symbols, to include multiple tokens in a single file or folder name. The lib/targets.py module takes care of loading all the names of the available targets and assembles them into groups. All targets with the same tokens end up in the same group. This allows easy querying and requesting of targets. The creator is pretty much free to decide what groups to create for their targets. By passing the name of the target group to a modifier, they can make sure that modifier controls the targets belonging to this group. It does not matter whether you use folders or - delimited file names for creating groups.
An example:
data/targets/cartoon/eyes-large.target is categorized in group (cartoon, eyes, large)
data/targets/cartoon-eyes-large.target is also categorized in group (cartoon, eyes, large)
Most simple modifiers work by specifying a group (for example cartoon-eyes) and a set of two tokens to append at the end, depending on the position of the modifier slider (eg. small, large which would allow controlling the targets cartoon-eyes-small and cartoon-eyes-large by moving the slider to the left or right).
=== Reserved group tokens ===
Some of the tokens in the file or foldername of targets are linked to values that variables of the human can have. Such variables are for example age, weight, muscle, gender.
This table lists all the reserved tokens, and the variables they belong to.
{| class="wikitable"
|-
! Header 1
! Header 2
! Header 3
|-
| row 1, cell 1
| row 1, cell 2
| row 1, cell 3
|-
| row 2, cell 1
| row 2, cell 2
| row 2, cell 3
|}
{| class="wikitable"
|-
! Reserved token (value)
! Variable
|-
| female,male
| gender
|-
| baby, child, young, old
| age
|-
| african, caucasian, asian
| race
|-
| minmuscle, averagemuscle, maxmuscle
| muscle
|-
| minweight, averageweight, maxweight
| weight
|-
| minheight, averageheight, maxheight
| height
|-
| mincup, averagecup, maxcup
| breastsize
|-
| minfirmness, averagefirmness, maxfirmness
| breastfirmness
|-
| uncommonproportions, regularproportions, idealproportions
| bodyproportion
Note that it is not a good idea to use simply “max” or “min” as a reserved token name, because they need to be unique (otherwise it would not be possible to determine whether they are a minimum for, for example, weight or height). These reserved tokens are declared in the lib/targets.py module. The variable can be set and queried on the human object, for example human.getAge(), human.setMuscle(0.7), human.getProportion().
The reserved tokens are NOT included in the group name, so you should at least include some other, non-reserved tokens in the file or folder names to assign your target to some meaningful group. The inclusion of these reserved tokens in your target names or paths makes it convenient to create macro modifiers.
=== Macro targets and modifiers ===
Macro modifiers are modifiers whose effect (the combination of targets they apply on the human) is influenced by macro variables set on the human (eg. human.set/getAge()). Therefore, macro modifiers often control a large set of targets (20 or even more). It’s also common for multiple modifiers to control exactly the same set of targets, for example the standard age/gender/race sliders all control the set of targets in the ‘macrodetails’ group. Each slider modifies a different variable (eg. human.setAge()) controlling the set of targets, and then reapplies a combination of the same set of targets on the human.
=== Macro modifier dependencies ===
There are other macro modifiers that can also depend on the same variables age, gender, race that is controlled by the main macro modifiers, as discussed above. For example the macro modifiers that influence the weight and muscle mass of the human, controls the targets group “macrodetails-universal”, the universal token is added by prepending “universal-” to all the file names of related targets, which all reside in the folder “macrodetails” (thus macrodetails-universal ends up being the group name). They could have been included all in the “macrodetails” group, but are kept separate for performance reasons, so that the “macrodetails” group of targets (which already contains some 40 targets or so) can be applied in realtime while moving the slider.
Of course a change in the variable that these age/race/gender modifiers control will have an effect on the macrodetails-universal modifiers (because they control targets that depend on age -- their targets include -young- -old- etc. tokens in their filenames). This means there are inter-dependencies between macro modifiers, if one is updated, another one that depends on it should be refreshed. These dependencies can be descibed as follows: one macro modifier controls exactly one macro variable (such as age). It (or rather, the targets it controls) can however depend on multiple macro variables. The trivial case is where a macro modifier only depends on the macro variable that it controls itself. The tracking of these dependencies and deciding which modifiers must be updated when another is changed happens automatically. Dependencies are automatically tracked as soon as you add a modifier to the human (by calling modifier.setHuman(human)). To make this more performant in real-time, the propagation of updates to modifiers is limited while sliders are dragged (see realtimeDependencyUpdates in apps/humanmodifier.py).
As you might have understood, creating modifiers that depend on human variables is almost automatic. The only thing you need to do is create some targets that resolve to the same group name, add variations for all the macro variables you want and add the proper reserved tokens to the file or folder name (refer to the left column in the table above), and create a modifier with this group name. Once added to the human, the dependencies are tracked automatically.
=== Organization of modifiers ===
We already discussed how we organized targets in groups, to make it easier to connect them to a modifier. Now we will discuss how we can do a similar thing for modifiers.
Modifiers provide an easy way to manage targets. They allow reducing many of hundreds of targets to a more manageable number of controllable properties. But even then, we still have about 100 modifiers, which is still quite a lot. Therefore we group them in groups of categories, much like we do in the GUI. This makes it easy to get a grouped overview of all modifiers when using an alternative interface, think of commandline or scripting. The way in which you declare the group and other properties of a modifier determines what target groups it gets its targets from.
Modifiers are declared with a group name, some intermediary “target name” and a number of tail tokens (2 or 3 usually, eg min/max). The group of targets controlled by these modifiers is composed as: groupname-targets_name-tail.
Macro modifiers are declared with a group name, and a controlled variable. The groupname must be the same groupname of the targets they control.
=== Declarative modifiers ===
Instead of hard coding what modifiers you want to instantiate, MakeHuman offers a data-based format to declare what modifiers should be created, and how they should be shown in a user interface with sliders.
A full declaration requires three files, all stored in data/modifiers. The first is the declaration of the modifiers (eg. modeling_modifiers.json). This format lists a modifier group name, and all the modifiers with their macro variable (if they are macro modifiers) or target name and 2 or 3 (if they are a modifier with a center point) tail tokens.
The second file adds a description to the modifiers declared in the first file. It basically contains a key-value set, referencing the modifier name, and a textual description of what the modifier controls. A modifier name is constructed as follows: group/targets_name-all|the|tails and for a macro modifier: group/variable
The third file defines how these modifiers should be shown in the user interface as sliders. It lists a set of categories, and the sliders to show in them, and how their values have to be saved in a mhm file (mainly a feature for legacy compatibility).
=== Your own plugin with modifiers, sliders and targets ===
Using the declarative data format described in the section above, it’s really simple. Have a look at the plugin plugins/0_modeling_0_modifiers.py. Notice it’s barely 5 lines of code. Creating your own modeling plugin is as simple as that, pointing it to your own modifier data files.
=== Binary targets ===
Because loading these ASCII target files, and iterating all target files and folders can be slow (especially on windows) in build versions, we compile all targets in the data/targets system folder into a single binary file, that furthermore acts exactly the same as multiple target files. The binary targets file is stored in the system data/ folder and is called targets.npz, it is created by running the compile_targets.py script, which is also automatically run in the build_prepare.py build routine. The file structure of the targets files is maintained in this binary file so that targets can be loaded from it in the same way as you would do with regular files. A change in the .target files, or newly added target files allow a recompilation of the targets npz file before the change is applied.
53afeb5f1764fdc1981392e4c15b9cf60cab3407
517
2015-09-02T09:58:42Z
Duststorm
19
First commit of technical notes from google doc
wikitext
text/x-wiki
== Vertex weights ==
With vertex weights we intend a weighted mapping of vertices of a mesh to a bone of a skeleton. The weight is a value between 0 and 1, the sum of these weights for each vertex should be normalized, which means they should sum to 1 (note: no euclidian distance, just simple addition of all weights). A weight map in MakeHuman is expressed as a bone name (becomes a bone index internally, using the index of the bone in a breadth-first list relative to skeleton structure), a vertex name and a floating point weight between 0 and 1. This weighted vertex to bone mapping is used for skinning (posing and animating, using vertex skinning, smooth skinning or linear blend skinning algorithm). For the skinning algorithm to work correctly it’s required that the weights are always normalized, otherwise you will see vertices move out of place disproportionally (though the weight loading code in MakeHuman ensures that this normalization always happens, so this is not a concern to the artist that defines the weights). The vertex weights can be exported to external tools as well using formats such as collada (DAE), FBX, Ogre3D meshes or MD5 quake meshes.
=== Vertex weights and skeletons ===
Vertex weights are defined for the default “master” skeleton or rig. They are defined in a json file with jsonw extension. They link each vertex of the basemesh including helpers to a named bone of this master rig, together with a certain weight.
The weights loader automatically removes doubles and normalizes the weights (so that they sum to 1). It also reports what the maximum number of bone weights per vertex is, additionally it allows compiling the weights to a reduced set with n number of bone weights, and automatically renormalizes those weights so they, again, sum to 1.
When loading weights, any vertex that receives no weighting is assigned to the root bone, as this is needed for skinning to prevent all those vertices jumping to the origin (0*pos == 0).
Alternative skeletons can define their own weights, by referencing a weights file just like the master rig, or they can choose to derive their weights from the master rig, through so called reference bone mappings. Skeletons will derive their weights from the master rig if they do not specify a weights file explicitly. Custom vertex weights in alternative rigs override those defined on the master rig, except in the case where a proxy defines its own vertex weights. See section Vertex weights for proxies for more details.
=== Reference bones for vertex weights and poses ===
Reference bones are defined on alternative rigs, they are a list of names of bones contained in the master rig. Every bone of an alternative rig can have such a list of reference bones. An alternative rig can also omit these references if it uses the same name as bones in the master rig, in which the mapping is implicit. Having a list of bone references always overrides the implicit mapping. Reference bone mappings are required for two purposes.
They are used for mapping poses defined on the master rig to other rigs. All poses are defined as BVH files that pose the master rig, so they reference only the bone names of the master rig. Poses are applied to all other rigs by using the reference bone mapping: all the rotations that the pose applies to the referenced bones are combined (in the order in which the references were specified -- note: rotations are NOT commutative) and are applied to the alternative rig bone.
Reference bone mappings can also be used for determining vertex weights of custom rigs. If the alternative rig does not explicitly define its own vertex weights, the mapping of reference bones is used to infere a set of bone weights for each bone: All the weights of the reference bones on the master rig (with the weights definition of the default/master rig) are combined and apply to the bone of the alternative rig. Doubles are merged, and weights renormalized. Any vertex that is not weighted will be assigned to the root bone. Watch for messages in the log to verify this.
=== Vertex weights for proxies ===
Generally proxies are mapped to basemesh geometry, that means either to the body or to helpers, or a combination of both (though this is unusual). Proxies derive their vertex weights from the vertices on the basemesh on which they are fitted. A proxy defines its fitting as a 3d offset from one or three vertices on the basemesh, allowing it to deform as the human deforms. This mapping is used to transfer the vertex weights from basemesh to proxy: a proxy vertex referencing three basemesh vertices gets the bone weights of those three vertices. Doubles are merged and the weights are normalized, so that the influence factors are averaged or smoothed. In this case the weights applied to proxies are always those defined on the skeleton: either the weights explicitly defined on the skeleton, or the weights obtained from remapping the master rig weights to this skeleton using the reference bone mapping mentioned in the previous sections. There is an exception to this, which is explained in the next paragraph.
A proxy can explicitly define its own vertex (to bone) weights. In this case it overrides the weights that would be obtained through the proxy mapping, and replaces them by its own custom definition of weights. These vertex weights are always defined to reference the bones of the master rig (default skeleton), so they need to be remapped to other skeletons using reference bone mapping. This also means that the custom weights of a proxy override any custom weights mapping that might be loaded with an alternative rig (but only for that proxy item). Custom proxy weights should be avoided if possible, but are in some cases required, eg. for properly rigging shoes which are rigidly fitted to feet, or an alternative topology which defines very accurate rigging on the face. The general advice for custom rigs is therefore to stay as close to the master rig as possible, reusing as much bones identically as possible, to achieve the best results for proxies with custom weights.
In case of custom weight, the mhclo file must contain a line to indicate the weight file to use, using the keyword “vertexboneweights_file”, with the syntax:
vertexboneweights_file filename.jsonw
== Targets and modifiers ==
MakeHuman applies targets on the human by means of modifiers. Such a modifier has a value (usually between [0, 1] or [-1, 1]) that determines the effect of it on the human mesh. A modifier can control one or more targets and in apply the mixed sum of them on the mesh. Some modifiers.
=== Organization of targets ===
To make sure targets are linked to the right modifier, or to make managing targets easier, a certain discipline has to be observed in managing them. Targets are ASCII files in the data/targets or data/custom folder (in program or user folder) with a file extension of .target.
The file name and folder targets are in implicitly determines their group name. A group is identified by a sequence of tags or tokens, which are taken from the file and folder name of each target, and which can be delimited by “-” symbols, to include multiple tokens in a single file or folder name. The lib/targets.py module takes care of loading all the names of the available targets and assembles them into groups. All targets with the same tokens end up in the same group. This allows easy querying and requesting of targets. The creator is pretty much free to decide what groups to create for their targets. By passing the name of the target group to a modifier, they can make sure that modifier controls the targets belonging to this group. It does not matter whether you use folders or - delimited file names for creating groups.
An example:
data/targets/cartoon/eyes-large.target is categorized in group (cartoon, eyes, large)
data/targets/cartoon-eyes-large.target is also categorized in group (cartoon, eyes, large)
Most simple modifiers work by specifying a group (for example cartoon-eyes) and a set of two tokens to append at the end, depending on the position of the modifier slider (eg. small, large which would allow controlling the targets cartoon-eyes-small and cartoon-eyes-large by moving the slider to the left or right).
=== Reserved group tokens ===
Some of the tokens in the file or foldername of targets are linked to values that variables of the human can have. Such variables are for example age, weight, muscle, gender.
This table lists all the reserved tokens, and the variables they belong to.
Reserved token (value)
Variable
female,male
gender
baby, child, young, old
age
african, caucasian, asian
race
minmuscle, averagemuscle, maxmuscle
muscle
minweight, averageweight, maxweight
weight
minheight, averageheight, maxheight
height
mincup, averagecup, maxcup
breastsize
minfirmness, averagefirmness, maxfirmness
breastfirmness
uncommonproportions, regularproportions, idealproportions
bodyproportion
Note that it is not a good idea to use simply “max” or “min” as a reserved token name, because they need to be unique (otherwise it would not be possible to determine whether they are a minimum for, for example, weight or height). These reserved tokens are declared in the lib/targets.py module. The variable can be set and queried on the human object, for example human.getAge(), human.setMuscle(0.7), human.getProportion().
The reserved tokens are NOT included in the group name, so you should at least include some other, non-reserved tokens in the file or folder names to assign your target to some meaningful group. The inclusion of these reserved tokens in your target names or paths makes it convenient to create macro modifiers.
=== Macro targets and modifiers ===
Macro modifiers are modifiers whose effect (the combination of targets they apply on the human) is influenced by macro variables set on the human (eg. human.set/getAge()). Therefore, macro modifiers often control a large set of targets (20 or even more). It’s also common for multiple modifiers to control exactly the same set of targets, for example the standard age/gender/race sliders all control the set of targets in the ‘macrodetails’ group. Each slider modifies a different variable (eg. human.setAge()) controlling the set of targets, and then reapplies a combination of the same set of targets on the human.
=== Macro modifier dependencies ===
There are other macro modifiers that can also depend on the same variables age, gender, race that is controlled by the main macro modifiers, as discussed above. For example the macro modifiers that influence the weight and muscle mass of the human, controls the targets group “macrodetails-universal”, the universal token is added by prepending “universal-” to all the file names of related targets, which all reside in the folder “macrodetails” (thus macrodetails-universal ends up being the group name). They could have been included all in the “macrodetails” group, but are kept separate for performance reasons, so that the “macrodetails” group of targets (which already contains some 40 targets or so) can be applied in realtime while moving the slider.
Of course a change in the variable that these age/race/gender modifiers control will have an effect on the macrodetails-universal modifiers (because they control targets that depend on age -- their targets include -young- -old- etc. tokens in their filenames). This means there are inter-dependencies between macro modifiers, if one is updated, another one that depends on it should be refreshed. These dependencies can be descibed as follows: one macro modifier controls exactly one macro variable (such as age). It (or rather, the targets it controls) can however depend on multiple macro variables. The trivial case is where a macro modifier only depends on the macro variable that it controls itself. The tracking of these dependencies and deciding which modifiers must be updated when another is changed happens automatically. Dependencies are automatically tracked as soon as you add a modifier to the human (by calling modifier.setHuman(human)). To make this more performant in real-time, the propagation of updates to modifiers is limited while sliders are dragged (see realtimeDependencyUpdates in apps/humanmodifier.py).
As you might have understood, creating modifiers that depend on human variables is almost automatic. The only thing you need to do is create some targets that resolve to the same group name, add variations for all the macro variables you want and add the proper reserved tokens to the file or folder name (refer to the left column in the table above), and create a modifier with this group name. Once added to the human, the dependencies are tracked automatically.
=== Organization of modifiers ===
We already discussed how we organized targets in groups, to make it easier to connect them to a modifier. Now we will discuss how we can do a similar thing for modifiers.
Modifiers provide an easy way to manage targets. They allow reducing many of hundreds of targets to a more manageable number of controllable properties. But even then, we still have about 100 modifiers, which is still quite a lot. Therefore we group them in groups of categories, much like we do in the GUI. This makes it easy to get a grouped overview of all modifiers when using an alternative interface, think of commandline or scripting. The way in which you declare the group and other properties of a modifier determines what target groups it gets its targets from.
Modifiers are declared with a group name, some intermediary “target name” and a number of tail tokens (2 or 3 usually, eg min/max). The group of targets controlled by these modifiers is composed as: groupname-targets_name-tail.
Macro modifiers are declared with a group name, and a controlled variable. The groupname must be the same groupname of the targets they control.
=== Declarative modifiers ===
Instead of hard coding what modifiers you want to instantiate, MakeHuman offers a data-based format to declare what modifiers should be created, and how they should be shown in a user interface with sliders.
A full declaration requires three files, all stored in data/modifiers. The first is the declaration of the modifiers (eg. modeling_modifiers.json). This format lists a modifier group name, and all the modifiers with their macro variable (if they are macro modifiers) or target name and 2 or 3 (if they are a modifier with a center point) tail tokens.
The second file adds a description to the modifiers declared in the first file. It basically contains a key-value set, referencing the modifier name, and a textual description of what the modifier controls. A modifier name is constructed as follows: group/targets_name-all|the|tails and for a macro modifier: group/variable
The third file defines how these modifiers should be shown in the user interface as sliders. It lists a set of categories, and the sliders to show in them, and how their values have to be saved in a mhm file (mainly a feature for legacy compatibility).
=== Your own plugin with modifiers, sliders and targets ===
Using the declarative data format described in the section above, it’s really simple. Have a look at the plugin plugins/0_modeling_0_modifiers.py. Notice it’s barely 5 lines of code. Creating your own modeling plugin is as simple as that, pointing it to your own modifier data files.
=== Binary targets ===
Because loading these ASCII target files, and iterating all target files and folders can be slow (especially on windows) in build versions, we compile all targets in the data/targets system folder into a single binary file, that furthermore acts exactly the same as multiple target files. The binary targets file is stored in the system data/ folder and is called targets.npz, it is created by running the compile_targets.py script, which is also automatically run in the build_prepare.py build routine. The file structure of the targets files is maintained in this binary file so that targets can be loaded from it in the same way as you would do with regular files. A change in the .target files, or newly added target files allow a recompilation of the targets npz file before the change is applied.
18d17e0ad5b1da1ab85303a217e326bf006860ef
Terminology
0
161
539
538
2015-10-10T18:40:54Z
Robbaer
12
/* Texture */
wikitext
text/x-wiki
This is an attempt to make a small dictionary/glossary to introduce terms commonly used on the forums. It is still very much a work in progres.
== Terms specific to MakeHuman ==
To be written.
=== Base mesh ===
To be written.
=== Target ===
To be written.
=== Modifier ===
To be written.
=== Skin ===
To be written.
=== Nightly / Nightly build ===
To be written.
=== Hg / Bitbucket / Mercurial ===
To be written.
=== Package ===
To be written.
=== Build ===
To be written.
=== MH Blender Ttools ===
To be written.
== General graphics-related terms ==
=== Vertex / Vertices ===
A vertex is a single point in 3D space designated by a set of coordinates typically designated, by x, y, and z values relative to an origin designated with the spacial coordinates (0, 0, 0). Interpretation of a vertexes coordinates depend on the orientation of the coordinate system. In MakeHuman, +Y is up in the viewport, +x is is the right side of the viewport, and +z is out of the screen [Note: verify this orientation]. Vertices are the plural form of vertex.
=== Face ===
A face is a plane or surface in 3D space described by connecting three or more vertices. A face that is created by only three vertices is called a "tri" and is strictly planar. A face created by connecting 4 vertices is called a "quad" and need not represent a true, flat planar surface. Faces in MakeHuman are "quads" by design, MakeClothes requires that all faces be quads or this MakeHuman tool will fail. Faces created by more than 5 vertices are sometimes called "ngons". Faces can be "one-surfaced' (either side) or "two-surfaced', and the way light interacts with the surface of a face depends on how the "surface normals" are defined.
=== Edge ===
An edge is a line connecting exactly two vertices. Edges that connect a series of vertices as a path of polygon edges is called an "edge loop". A path of polygon edges that are connected in sequence by their shared faces is called an edge ring.
=== Mesh ===
A mesh is a collection of vertices, edges, and faces connected together to form a virtual 3D object.
=== Normal ===
A normal is vector describing the direction that is othrogonal (at 90 degrees) to a surface. The normal direction is often described by a "normal map" which can have a finer resolution than a single face. This is done by using the value (magnitude) of individual pixels or pixel color channels in a bitmap image to describe the normal direction. Normals become importantin 3D graphics to describe how light reflects off objects in a virtual world.
=== UV / UV unwrap / UV mapping ===
These terms relate to the process of flattening the surface of a 3d object so it can be laid out on a 2d image, a bit like a sewing pattern. "UV" is not an acronym. U and V is how you name
axes on the resulting 2d surface, instead of X/Y/Z. When someone sloppily just say "UV" they most likely mean a UV mapping. See https://en.wikipedia.org/wiki/UV_mapping.
=== Texture ===
The term texture refers to a mechanism for describing surface characteristics of a 3D object. A texture is only one component of a "material". Textures are typically of one of two types. The most common textures in MakeHuman are "bitmap images" used to represent skin or the color of clothing. The other type of texture is a so-called "procedural texture" which is defined by a mathematical function for altering light-material interactions. These procedural textures are uncommon in MakeHuman.
=== Seam ===
A seam is one or more edges, typically end-to-end with each other, that define how a three dimensional mesh can be split to flatten it onto a planar surface. Seams are used when creating a "UV map" for a mesh. The need to create a UV map comes from a desire to create a mapping of the pixels in a bitmap texture to the faces of a 3D mesh. Seams created manually allow this mapping to be created in a manner that allows discontinuities in the image to be hidden on the surface of the intact 3D object (e.g., human, hair, or clothing)
=== Bump map ===
Bump mapping is a processing of defining the bumps and wrinkles on the surface of a 3D mesh. It typically is done using a bitmap image to include the needed information. Texture mapping, displacement mapping, normal mapping, height mapping, etc. are either forms of, or closely related to "bump mapping".
== File formats ==
=== Obj file / Wavefront ===
To be written.
=== Blend ===
To be written.
=== Wavefront ===
To be written.
=== FBX ===
To be written.
=== MHX ===
To be written.
c3990506af0b6abcd432a051d93f1aad14cbde72
538
537
2015-10-10T18:37:03Z
Robbaer
12
/* Mesh */
wikitext
text/x-wiki
This is an attempt to make a small dictionary/glossary to introduce terms commonly used on the forums. It is still very much a work in progres.
== Terms specific to MakeHuman ==
To be written.
=== Base mesh ===
To be written.
=== Target ===
To be written.
=== Modifier ===
To be written.
=== Skin ===
To be written.
=== Nightly / Nightly build ===
To be written.
=== Hg / Bitbucket / Mercurial ===
To be written.
=== Package ===
To be written.
=== Build ===
To be written.
=== MH Blender Ttools ===
To be written.
== General graphics-related terms ==
=== Vertex / Vertices ===
A vertex is a single point in 3D space designated by a set of coordinates typically designated, by x, y, and z values relative to an origin designated with the spacial coordinates (0, 0, 0). Interpretation of a vertexes coordinates depend on the orientation of the coordinate system. In MakeHuman, +Y is up in the viewport, +x is is the right side of the viewport, and +z is out of the screen [Note: verify this orientation]. Vertices are the plural form of vertex.
=== Face ===
A face is a plane or surface in 3D space described by connecting three or more vertices. A face that is created by only three vertices is called a "tri" and is strictly planar. A face created by connecting 4 vertices is called a "quad" and need not represent a true, flat planar surface. Faces in MakeHuman are "quads" by design, MakeClothes requires that all faces be quads or this MakeHuman tool will fail. Faces created by more than 5 vertices are sometimes called "ngons". Faces can be "one-surfaced' (either side) or "two-surfaced', and the way light interacts with the surface of a face depends on how the "surface normals" are defined.
=== Edge ===
An edge is a line connecting exactly two vertices. Edges that connect a series of vertices as a path of polygon edges is called an "edge loop". A path of polygon edges that are connected in sequence by their shared faces is called an edge ring.
=== Mesh ===
A mesh is a collection of vertices, edges, and faces connected together to form a virtual 3D object.
=== Normal ===
A normal is vector describing the direction that is othrogonal (at 90 degrees) to a surface. The normal direction is often described by a "normal map" which can have a finer resolution than a single face. This is done by using the value (magnitude) of individual pixels or pixel color channels in a bitmap image to describe the normal direction. Normals become importantin 3D graphics to describe how light reflects off objects in a virtual world.
=== UV / UV unwrap / UV mapping ===
These terms relate to the process of flattening the surface of a 3d object so it can be laid out on a 2d image, a bit like a sewing pattern. "UV" is not an acronym. U and V is how you name
axes on the resulting 2d surface, instead of X/Y/Z. When someone sloppily just say "UV" they most likely mean a UV mapping. See https://en.wikipedia.org/wiki/UV_mapping.
=== Texture ===
The term texture refers to mechanism for describing surface characteristics of a 3D object. A texture is only one component of a "material". Textures are typically of one of two types. The most common textures in MakeHuman are "bitmap images" used to represent skin or the color of clothing. The other type of texture is a so-called "procedural texture which is defined by a mathematical way of dealing with light. These procedural textures are uncommon in MakeHuman.
=== Seam ===
A seam is one or more edges, typically end-to-end with each other, that define how a three dimensional mesh can be split to flatten it onto a planar surface. Seams are used when creating a "UV map" for a mesh. The need to create a UV map comes from a desire to create a mapping of the pixels in a bitmap texture to the faces of a 3D mesh. Seams created manually allow this mapping to be created in a manner that allows discontinuities in the image to be hidden on the surface of the intact 3D object (e.g., human, hair, or clothing)
=== Bump map ===
Bump mapping is a processing of defining the bumps and wrinkles on the surface of a 3D mesh. It typically is done using a bitmap image to include the needed information. Texture mapping, displacement mapping, normal mapping, height mapping, etc. are either forms of, or closely related to "bump mapping".
== File formats ==
=== Obj file / Wavefront ===
To be written.
=== Blend ===
To be written.
=== Wavefront ===
To be written.
=== FBX ===
To be written.
=== MHX ===
To be written.
2af55f81dadc7e45b1d3a6568efb6dac7a4f199a
537
529
2015-10-10T18:36:22Z
Robbaer
12
/* Face */
wikitext
text/x-wiki
This is an attempt to make a small dictionary/glossary to introduce terms commonly used on the forums. It is still very much a work in progres.
== Terms specific to MakeHuman ==
To be written.
=== Base mesh ===
To be written.
=== Target ===
To be written.
=== Modifier ===
To be written.
=== Skin ===
To be written.
=== Nightly / Nightly build ===
To be written.
=== Hg / Bitbucket / Mercurial ===
To be written.
=== Package ===
To be written.
=== Build ===
To be written.
=== MH Blender Ttools ===
To be written.
== General graphics-related terms ==
=== Vertex / Vertices ===
A vertex is a single point in 3D space designated by a set of coordinates typically designated, by x, y, and z values relative to an origin designated with the spacial coordinates (0, 0, 0). Interpretation of a vertexes coordinates depend on the orientation of the coordinate system. In MakeHuman, +Y is up in the viewport, +x is is the right side of the viewport, and +z is out of the screen [Note: verify this orientation]. Vertices are the plural form of vertex.
=== Face ===
A face is a plane or surface in 3D space described by connecting three or more vertices. A face that is created by only three vertices is called a "tri" and is strictly planar. A face created by connecting 4 vertices is called a "quad" and need not represent a true, flat planar surface. Faces in MakeHuman are "quads" by design, MakeClothes requires that all faces be quads or this MakeHuman tool will fail. Faces created by more than 5 vertices are sometimes called "ngons". Faces can be "one-surfaced' (either side) or "two-surfaced', and the way light interacts with the surface of a face depends on how the "surface normals" are defined.
=== Edge ===
An edge is a line connecting exactly two vertices. Edges that connect a series of vertices as a path of polygon edges is called an "edge loop". A path of polygon edges that are connected in sequence by their shared faces is called an edge ring.
=== Mesh ===
A mesh is a collection of vertices, edges, and faces connected together to for a virtual 3D object.
=== Normal ===
A normal is vector describing the direction that is othrogonal (at 90 degrees) to a surface. The normal direction is often described by a "normal map" which can have a finer resolution than a single face. This is done by using the value (magnitude) of individual pixels or pixel color channels in a bitmap image to describe the normal direction. Normals become importantin 3D graphics to describe how light reflects off objects in a virtual world.
=== UV / UV unwrap / UV mapping ===
These terms relate to the process of flattening the surface of a 3d object so it can be laid out on a 2d image, a bit like a sewing pattern. "UV" is not an acronym. U and V is how you name
axes on the resulting 2d surface, instead of X/Y/Z. When someone sloppily just say "UV" they most likely mean a UV mapping. See https://en.wikipedia.org/wiki/UV_mapping.
=== Texture ===
The term texture refers to mechanism for describing surface characteristics of a 3D object. A texture is only one component of a "material". Textures are typically of one of two types. The most common textures in MakeHuman are "bitmap images" used to represent skin or the color of clothing. The other type of texture is a so-called "procedural texture which is defined by a mathematical way of dealing with light. These procedural textures are uncommon in MakeHuman.
=== Seam ===
A seam is one or more edges, typically end-to-end with each other, that define how a three dimensional mesh can be split to flatten it onto a planar surface. Seams are used when creating a "UV map" for a mesh. The need to create a UV map comes from a desire to create a mapping of the pixels in a bitmap texture to the faces of a 3D mesh. Seams created manually allow this mapping to be created in a manner that allows discontinuities in the image to be hidden on the surface of the intact 3D object (e.g., human, hair, or clothing)
=== Bump map ===
Bump mapping is a processing of defining the bumps and wrinkles on the surface of a 3D mesh. It typically is done using a bitmap image to include the needed information. Texture mapping, displacement mapping, normal mapping, height mapping, etc. are either forms of, or closely related to "bump mapping".
== File formats ==
=== Obj file / Wavefront ===
To be written.
=== Blend ===
To be written.
=== Wavefront ===
To be written.
=== FBX ===
To be written.
=== MHX ===
To be written.
e7c19357e53526d7368ab53857c6a53a0b64a3bb
529
528
2015-09-11T02:03:54Z
Robbaer
12
/* Bump map */
wikitext
text/x-wiki
This is an attempt to make a small dictionary/glossary to introduce terms commonly used on the forums. It is still very much a work in progres.
== Terms specific to MakeHuman ==
To be written.
=== Base mesh ===
To be written.
=== Target ===
To be written.
=== Modifier ===
To be written.
=== Skin ===
To be written.
=== Nightly / Nightly build ===
To be written.
=== Hg / Bitbucket / Mercurial ===
To be written.
=== Package ===
To be written.
=== Build ===
To be written.
=== MH Blender Ttools ===
To be written.
== General graphics-related terms ==
=== Vertex / Vertices ===
A vertex is a single point in 3D space designated by a set of coordinates typically designated, by x, y, and z values relative to an origin designated with the spacial coordinates (0, 0, 0). Interpretation of a vertexes coordinates depend on the orientation of the coordinate system. In MakeHuman, +Y is up in the viewport, +x is is the right side of the viewport, and +z is out of the screen [Note: verify this orientation]. Vertices are the plural form of vertex.
=== Face ===
A face is a plane or surface in 3D space described by connecting three or more vertices. A face that is created by only three vertices is called a "tri" and is strictly planar. A face created by connecting 4 vertices is called a "quad" and need not represent a true, flat planar surface. Faces in MakeHuman are "quads" by design, MakeClothes requires that all faces be quads or this MakeHuman tool will fail. Faces created by more than 5 vertices are sometimes "ngons". Faces can be "one-surfaced' (either side) or "two-surfaced' and the way light interacts with the surface of a face depends on how the "surface normals" are defined.
=== Edge ===
An edge is a line connecting exactly two vertices. Edges that connect a series of vertices as a path of polygon edges is called an "edge loop". A path of polygon edges that are connected in sequence by their shared faces is called an edge ring.
=== Mesh ===
A mesh is a collection of vertices, edges, and faces connected together to for a virtual 3D object.
=== Normal ===
A normal is vector describing the direction that is othrogonal (at 90 degrees) to a surface. The normal direction is often described by a "normal map" which can have a finer resolution than a single face. This is done by using the value (magnitude) of individual pixels or pixel color channels in a bitmap image to describe the normal direction. Normals become importantin 3D graphics to describe how light reflects off objects in a virtual world.
=== UV / UV unwrap / UV mapping ===
These terms relate to the process of flattening the surface of a 3d object so it can be laid out on a 2d image, a bit like a sewing pattern. "UV" is not an acronym. U and V is how you name
axes on the resulting 2d surface, instead of X/Y/Z. When someone sloppily just say "UV" they most likely mean a UV mapping. See https://en.wikipedia.org/wiki/UV_mapping.
=== Texture ===
The term texture refers to mechanism for describing surface characteristics of a 3D object. A texture is only one component of a "material". Textures are typically of one of two types. The most common textures in MakeHuman are "bitmap images" used to represent skin or the color of clothing. The other type of texture is a so-called "procedural texture which is defined by a mathematical way of dealing with light. These procedural textures are uncommon in MakeHuman.
=== Seam ===
A seam is one or more edges, typically end-to-end with each other, that define how a three dimensional mesh can be split to flatten it onto a planar surface. Seams are used when creating a "UV map" for a mesh. The need to create a UV map comes from a desire to create a mapping of the pixels in a bitmap texture to the faces of a 3D mesh. Seams created manually allow this mapping to be created in a manner that allows discontinuities in the image to be hidden on the surface of the intact 3D object (e.g., human, hair, or clothing)
=== Bump map ===
Bump mapping is a processing of defining the bumps and wrinkles on the surface of a 3D mesh. It typically is done using a bitmap image to include the needed information. Texture mapping, displacement mapping, normal mapping, height mapping, etc. are either forms of, or closely related to "bump mapping".
== File formats ==
=== Obj file / Wavefront ===
To be written.
=== Blend ===
To be written.
=== Wavefront ===
To be written.
=== FBX ===
To be written.
=== MHX ===
To be written.
2df690bcad0778b3b07a7a667191702520c0b040
528
527
2015-09-11T01:58:14Z
Robbaer
12
/* Seam */
wikitext
text/x-wiki
This is an attempt to make a small dictionary/glossary to introduce terms commonly used on the forums. It is still very much a work in progres.
== Terms specific to MakeHuman ==
To be written.
=== Base mesh ===
To be written.
=== Target ===
To be written.
=== Modifier ===
To be written.
=== Skin ===
To be written.
=== Nightly / Nightly build ===
To be written.
=== Hg / Bitbucket / Mercurial ===
To be written.
=== Package ===
To be written.
=== Build ===
To be written.
=== MH Blender Ttools ===
To be written.
== General graphics-related terms ==
=== Vertex / Vertices ===
A vertex is a single point in 3D space designated by a set of coordinates typically designated, by x, y, and z values relative to an origin designated with the spacial coordinates (0, 0, 0). Interpretation of a vertexes coordinates depend on the orientation of the coordinate system. In MakeHuman, +Y is up in the viewport, +x is is the right side of the viewport, and +z is out of the screen [Note: verify this orientation]. Vertices are the plural form of vertex.
=== Face ===
A face is a plane or surface in 3D space described by connecting three or more vertices. A face that is created by only three vertices is called a "tri" and is strictly planar. A face created by connecting 4 vertices is called a "quad" and need not represent a true, flat planar surface. Faces in MakeHuman are "quads" by design, MakeClothes requires that all faces be quads or this MakeHuman tool will fail. Faces created by more than 5 vertices are sometimes "ngons". Faces can be "one-surfaced' (either side) or "two-surfaced' and the way light interacts with the surface of a face depends on how the "surface normals" are defined.
=== Edge ===
An edge is a line connecting exactly two vertices. Edges that connect a series of vertices as a path of polygon edges is called an "edge loop". A path of polygon edges that are connected in sequence by their shared faces is called an edge ring.
=== Mesh ===
A mesh is a collection of vertices, edges, and faces connected together to for a virtual 3D object.
=== Normal ===
A normal is vector describing the direction that is othrogonal (at 90 degrees) to a surface. The normal direction is often described by a "normal map" which can have a finer resolution than a single face. This is done by using the value (magnitude) of individual pixels or pixel color channels in a bitmap image to describe the normal direction. Normals become importantin 3D graphics to describe how light reflects off objects in a virtual world.
=== UV / UV unwrap / UV mapping ===
These terms relate to the process of flattening the surface of a 3d object so it can be laid out on a 2d image, a bit like a sewing pattern. "UV" is not an acronym. U and V is how you name
axes on the resulting 2d surface, instead of X/Y/Z. When someone sloppily just say "UV" they most likely mean a UV mapping. See https://en.wikipedia.org/wiki/UV_mapping.
=== Texture ===
The term texture refers to mechanism for describing surface characteristics of a 3D object. A texture is only one component of a "material". Textures are typically of one of two types. The most common textures in MakeHuman are "bitmap images" used to represent skin or the color of clothing. The other type of texture is a so-called "procedural texture which is defined by a mathematical way of dealing with light. These procedural textures are uncommon in MakeHuman.
=== Seam ===
A seam is one or more edges, typically end-to-end with each other, that define how a three dimensional mesh can be split to flatten it onto a planar surface. Seams are used when creating a "UV map" for a mesh. The need to create a UV map comes from a desire to create a mapping of the pixels in a bitmap texture to the faces of a 3D mesh. Seams created manually allow this mapping to be created in a manner that allows discontinuities in the image to be hidden on the surface of the intact 3D object (e.g., human, hair, or clothing)
=== Bump map ===
To be written.
== File formats ==
=== Obj file / Wavefront ===
To be written.
=== Blend ===
To be written.
=== Wavefront ===
To be written.
=== FBX ===
To be written.
=== MHX ===
To be written.
c4e989e84efefeddc406e4a1564a741a422a1c03
527
402
2015-09-11T01:49:52Z
Robbaer
12
wikitext
text/x-wiki
This is an attempt to make a small dictionary/glossary to introduce terms commonly used on the forums. It is still very much a work in progres.
== Terms specific to MakeHuman ==
To be written.
=== Base mesh ===
To be written.
=== Target ===
To be written.
=== Modifier ===
To be written.
=== Skin ===
To be written.
=== Nightly / Nightly build ===
To be written.
=== Hg / Bitbucket / Mercurial ===
To be written.
=== Package ===
To be written.
=== Build ===
To be written.
=== MH Blender Ttools ===
To be written.
== General graphics-related terms ==
=== Vertex / Vertices ===
A vertex is a single point in 3D space designated by a set of coordinates typically designated, by x, y, and z values relative to an origin designated with the spacial coordinates (0, 0, 0). Interpretation of a vertexes coordinates depend on the orientation of the coordinate system. In MakeHuman, +Y is up in the viewport, +x is is the right side of the viewport, and +z is out of the screen [Note: verify this orientation]. Vertices are the plural form of vertex.
=== Face ===
A face is a plane or surface in 3D space described by connecting three or more vertices. A face that is created by only three vertices is called a "tri" and is strictly planar. A face created by connecting 4 vertices is called a "quad" and need not represent a true, flat planar surface. Faces in MakeHuman are "quads" by design, MakeClothes requires that all faces be quads or this MakeHuman tool will fail. Faces created by more than 5 vertices are sometimes "ngons". Faces can be "one-surfaced' (either side) or "two-surfaced' and the way light interacts with the surface of a face depends on how the "surface normals" are defined.
=== Edge ===
An edge is a line connecting exactly two vertices. Edges that connect a series of vertices as a path of polygon edges is called an "edge loop". A path of polygon edges that are connected in sequence by their shared faces is called an edge ring.
=== Mesh ===
A mesh is a collection of vertices, edges, and faces connected together to for a virtual 3D object.
=== Normal ===
A normal is vector describing the direction that is othrogonal (at 90 degrees) to a surface. The normal direction is often described by a "normal map" which can have a finer resolution than a single face. This is done by using the value (magnitude) of individual pixels or pixel color channels in a bitmap image to describe the normal direction. Normals become importantin 3D graphics to describe how light reflects off objects in a virtual world.
=== UV / UV unwrap / UV mapping ===
These terms relate to the process of flattening the surface of a 3d object so it can be laid out on a 2d image, a bit like a sewing pattern. "UV" is not an acronym. U and V is how you name
axes on the resulting 2d surface, instead of X/Y/Z. When someone sloppily just say "UV" they most likely mean a UV mapping. See https://en.wikipedia.org/wiki/UV_mapping.
=== Texture ===
The term texture refers to mechanism for describing surface characteristics of a 3D object. A texture is only one component of a "material". Textures are typically of one of two types. The most common textures in MakeHuman are "bitmap images" used to represent skin or the color of clothing. The other type of texture is a so-called "procedural texture which is defined by a mathematical way of dealing with light. These procedural textures are uncommon in MakeHuman.
=== Seam ===
To be written.
=== Bump map ===
To be written.
== File formats ==
=== Obj file / Wavefront ===
To be written.
=== Blend ===
To be written.
=== Wavefront ===
To be written.
=== FBX ===
To be written.
=== MHX ===
To be written.
bd55d7f4f639916cd5dbcb70b621b830ae562e29
402
401
2015-08-15T15:09:28Z
Joepal
14
wikitext
text/x-wiki
This is an attempt to make a small dictionary/glossary to introduce terms commonly used on the forums. It is still very much a work in progres.
== Terms specific to MakeHuman ==
To be written.
=== Base mesh ===
To be written.
=== Target ===
To be written.
=== Modifier ===
To be written.
=== Skin ===
To be written.
=== Nighly / Nightly build ===
To be written.
=== Hg / Bitbucket / Mercurial ===
To be written.
=== Package ===
To be written.
=== Build ===
To be written.
=== Blendertools ===
To be written.
== General graphics-related terms ==
=== Vertex / Vertices ===
To be written.
=== Face ===
To be written.
=== Edge ===
To be written.
=== Mesh ===
To be written.
=== Normal ===
To be written.
=== UV / UV unwrap / UV mapping ===
These terms relate to the process of flattening the surface of a 3d object so it can be laid out on a 2d image, a bit like a sewing pattern. "UV" is not an acronym. U and V is how you name
axes on the resulting 2d surface, instead of X/Y/Z. When someone sloppily just say "UV" they most likely mean an UV mapping. See https://en.wikipedia.org/wiki/UV_mapping.
=== Texture ===
To be written.
=== Seam ===
To be written.
=== Bump map ===
To be written.
== File formats ==
=== Obj file / Wavefront ===
To be written.
=== Blend ===
To be written.
=== Wavefront ===
To be written.
=== FBX ===
To be written.
=== MHX ===
To be written.
2acfc16e2fe0eb9347c9f209d1bf543f9f6640ee
401
2015-08-15T15:00:22Z
Joepal
14
Created page with "This is an attempt to make a small dictionary/glossary to introduce terms commonly used on the forums. It is still very much a work in progres. == Terms specific to MakeHuman..."
wikitext
text/x-wiki
This is an attempt to make a small dictionary/glossary to introduce terms commonly used on the forums. It is still very much a work in progres.
== Terms specific to MakeHuman ==
Base mesh
Target
Modifier
Skin
Nighly / Nightly build
Hg / Bitbucket / Mercurial
Package
Build
Blendertools
== General graphics-related terms ==
Vertex / Vertices
Face
Edge
Mesh
Normal
UV / UV unwrap
Texture
Seam
Bump map
== File formats ==
Obj file / Wavefront
Blend
Wavefront
FBX
MHX
8fe51b6c363e4d487365d44bb57d59d3d06da365
Test
0
128
358
357
2015-08-07T12:13:51Z
Joepal
14
wikitext
text/x-wiki
Create page
Test
again
cd121492f84737dd2fd8d3a873a92dc3a606a977
357
356
2015-08-07T12:09:51Z
Joepal
14
wikitext
text/x-wiki
Create page
Test
17c727f32e62d322cbb53fcefe27c5e4b5d7ad49
356
2015-08-07T12:00:36Z
Joepal
14
Created page with "Create page"
wikitext
text/x-wiki
Create page
9261a3c76b66ba3e89f5b269a4a3fed449258074
Video:Blender
0
56
134
2015-07-12T13:38:17Z
Joepal
14
Created page with "These are videos specific for usage of MakeHuman stuff in Blender == Cycles == Rendering Makehuman Character In Cycles With Cloth Masking {{#ev:youtube|dBQxWQvauW4}}"
wikitext
text/x-wiki
These are videos specific for usage of MakeHuman stuff in Blender
== Cycles ==
Rendering Makehuman Character In Cycles With Cloth Masking
{{#ev:youtube|dBQxWQvauW4}}
71136c6b4265a46d2ca03350a8ef06ac4dc63cf2
Video:Blender tools
0
52
604
541
2016-02-26T21:45:48Z
Joepal
14
wikitext
text/x-wiki
== Targets ==
Introductory video on MakeTarget (official)
{{#ev:youtube|X13k7H3dNHo}}
VScorpianC's more thorough tutorial on MakeTarget
{{#ev:youtube|CqH_Ec5NKNE}}
== Clothes ==
Make Clothes that Fit 3D Models with Blender Addon (by VscorpianC)
{{#ev:youtube|eskfzfU4NsI}}
Create cloth (basic vest), using sewing drafts, part 1 (grinsegold)
{{#ev:youtube|loTlzhPwoqY}}
Create cloth (basic vest), using sewing drafts, part 2 (grinsegold)
{{#ev:youtube|1gZ62vjiZ6A}}
== Animation and BVH ==
Easy Walk Animation with Blender and Makehuman (by Steven Whitfield)
{{#ev:youtube|2hylWVut7z0}}
How to make a pose for MH using Blender (by Rick Murphy)
{{#ev:youtube|MQBtZgWyrI4}}
648a6dda338185ff317f2720181c13b7fdb82460
541
404
2015-10-22T17:25:49Z
Lukems-br
22
/* Animation and BVH */
wikitext
text/x-wiki
== Targets ==
Introductory video on MakeTarget (official)
{{#ev:youtube|X13k7H3dNHo}}
VScorpianC's more thorough tutorial on MakeTarget
{{#ev:youtube|CqH_Ec5NKNE}}
== Clothes ==
Make Clothes that Fit 3D Models with Blender Addon (by VscorpianC)
{{#ev:youtube|eskfzfU4NsI}}
Create cloth (basic vest), using sewing drafts, part 1 (grinsegold)
{{#ev:youtube|loTlzhPwoqY}}
Create cloth (basic vest), using sewing drafts, part 2 (grinsegold)
{{#ev:youtube|1gZ62vjiZ6A}}
== Animation and BVH ==
Easy Walk Animation with Blender and Makehuman (by Steven Whitfield)
{{#ev:youtube|2hylWVut7z0}}
ca860b92cf8aa7a48c6a9c3fb0c44cf902fea750
404
311
2015-08-15T16:43:12Z
Joepal
14
/* Targets */
wikitext
text/x-wiki
== Targets ==
Introductory video on MakeTarget (official)
{{#ev:youtube|X13k7H3dNHo}}
VScorpianC's more thorough tutorial on MakeTarget
{{#ev:youtube|CqH_Ec5NKNE}}
== Clothes ==
Make Clothes that Fit 3D Models with Blender Addon (by VscorpianC)
{{#ev:youtube|eskfzfU4NsI}}
Create cloth (basic vest), using sewing drafts, part 1 (grinsegold)
{{#ev:youtube|loTlzhPwoqY}}
Create cloth (basic vest), using sewing drafts, part 2 (grinsegold)
{{#ev:youtube|1gZ62vjiZ6A}}
== Animation and BVH ==
(to be filled)
055430a11f762d23f3696ca84792ecd67b4ee026
311
310
2015-07-28T16:42:06Z
Joepal
14
/* Clothes */
wikitext
text/x-wiki
== Targets ==
Introductory video on MakeTarget
{{#ev:youtube|X13k7H3dNHo}}
== Clothes ==
Make Clothes that Fit 3D Models with Blender Addon (by VscorpianC)
{{#ev:youtube|eskfzfU4NsI}}
Create cloth (basic vest), using sewing drafts, part 1 (grinsegold)
{{#ev:youtube|loTlzhPwoqY}}
Create cloth (basic vest), using sewing drafts, part 2 (grinsegold)
{{#ev:youtube|1gZ62vjiZ6A}}
== Animation and BVH ==
(to be filled)
b8c2d59088bf3c4dc8311970789626c3195a95d2
310
129
2015-07-28T16:37:18Z
Joepal
14
/* Clothes */
wikitext
text/x-wiki
== Targets ==
Introductory video on MakeTarget
{{#ev:youtube|X13k7H3dNHo}}
== Clothes ==
Make Clothes that Fit 3D Models with Blender Addon (by VscorpianC)
{{#ev:youtube|eskfzfU4NsI}}
Create cloth (basic vest), using sewing drafts (grinsegold)
{{#ev:youtube|loTlzhPwoqY}}
== Animation and BVH ==
(to be filled)
de8b09775850daf6aab9fb3ddee41ef8884b3130
129
121
2015-07-12T13:32:11Z
Joepal
14
wikitext
text/x-wiki
== Targets ==
Introductory video on MakeTarget
{{#ev:youtube|X13k7H3dNHo}}
== Clothes ==
Make Clothes that Fit 3D Models with Blender Addon (by VscorpianC)
{{#ev:youtube|eskfzfU4NsI}}
== Animation and BVH ==
(to be filled)
c5b6334edf64eda96dd981438760f1d4516bcb89
121
2015-07-12T13:12:48Z
Joepal
14
Created page with "== Targets == Introductory video on MakeTarget {{#ev:youtube|X13k7H3dNHo}} == Clothes == (to be filled) == Animation and BVH == (to be filled)"
wikitext
text/x-wiki
== Targets ==
Introductory video on MakeTarget
{{#ev:youtube|X13k7H3dNHo}}
== Clothes ==
(to be filled)
== Animation and BVH ==
(to be filled)
feddd16b216e6179d9b2b08e2ec35a2718aeee4e
Video:Index
0
51
210
133
2015-07-25T14:34:12Z
Joepal
14
wikitext
text/x-wiki
These are video tutorial categories. The videos are about MakeHuman or subjects related to MakeHuman.
Note that most of these videos are not made by the MakeHuman crew, and that the MakeHuman crew gives no guarrantees concerning how up to date or accurate the videos are.
== MakeHuman in general ==
* [[Video:Overview|Overview]]: videos about MakeHuman in general (such as introduction videos, and tutorials on the interface).
* [[Video:Installation|Installation]]: videos on how to install MakeHuman and related tools
* [[Video:Using and Installing Assets|Using and installing third-part assets]]: Videos on how to install and use third-part assets in MakeHuman
* [[Video:Blender tools|MakeHuman Blender tools]]: videos related to MakeTarget, MakeClothes and MakeWalk. These also includes videos on how to produce assets for MakeHuman.
== MakeHuman vs external applications ==
* [[Video:Blender|Blender]]: Videos on how to use assets from MakeHuman in Blender (outside what is already covered in the blender tools section)
* [[Video:Unity|Unity]]: Videos on how to move and use assets from MakeHuman in Unity 3d.
* [[Video:UE|UE]]: Videos on how to move and use assets from MakeHuman in Unreal Engine.
* [[Video:OpenSim and Second Life|OpenSim and Second Life]]: Videos on how to move and use assets from MakeHuman in OpenSim and Second Life.
== Generic videos on related topics ==
* [[Video:Modeling|Modeling]]: Videos on character modeling
* [[Video:Animation|Animation]]: Videos on character animation
b1e46ffc2c14645645f93682a7704dccc5a75321
133
132
2015-07-12T13:36:57Z
Joepal
14
/* MakeHuman vs external applications */
wikitext
text/x-wiki
These are video tutorial categories. The videos are about MakeHuman or subjects related to MakeHuman.
Note that most of these videos are not made by the MakeHuman crew, and that the MakeHuman crew gives no guarrantees concerning how up to date or accurate the videos are.
== MakeHuman in general ==
* [[Video:Overview|Overview]]: videos about MakeHuman in general (such as introduction videos, and tutorials on the interface).
* [[Video:Installation|Installation]]: videos on how to install MakeHuman and related tools
* [[Video:Blender tools|MakeHuman Blender tools]]: videos related to MakeTarget, MakeClothes and MakeWalk. These also includes videos on how to produce assets for MakeHuman.
== MakeHuman vs external applications ==
* [[Video:Blender|Blender]]: Videos on how to use assets from MakeHuman in Blender (outside what is already covered in the blender tools section)
* [[Video:Unity|Unity]]: Videos on how to move and use assets from MakeHuman in Unity 3d.
* [[Video:UE|UE]]: Videos on how to move and use assets from MakeHuman in Unreal Engine.
* [[Video:OpenSim and Second Life|OpenSim and Second Life]]: Videos on how to move and use assets from MakeHuman in OpenSim and Second Life.
== Generic videos on related topics ==
* [[Video:Modeling|Modeling]]: Videos on character modeling
* [[Video:Animation|Animation]]: Videos on character animation
42a0c6e4f314c3fe805c1bbbf6fbdf06c4c14df9
132
126
2015-07-12T13:36:39Z
Joepal
14
wikitext
text/x-wiki
These are video tutorial categories. The videos are about MakeHuman or subjects related to MakeHuman.
Note that most of these videos are not made by the MakeHuman crew, and that the MakeHuman crew gives no guarrantees concerning how up to date or accurate the videos are.
== MakeHuman in general ==
* [[Video:Overview|Overview]]: videos about MakeHuman in general (such as introduction videos, and tutorials on the interface).
* [[Video:Installation|Installation]]: videos on how to install MakeHuman and related tools
* [[Video:Blender tools|MakeHuman Blender tools]]: videos related to MakeTarget, MakeClothes and MakeWalk. These also includes videos on how to produce assets for MakeHuman.
== MakeHuman vs external applications ==
* [[Video:Blender|Blender]]: Videos on how to move and use assets from MakeHuman in Unity 3d (outside what is already covered in the blender tools section)
* [[Video:Unity|Unity]]: Videos on how to move and use assets from MakeHuman in Unity 3d.
* [[Video:UE|UE]]: Videos on how to move and use assets from MakeHuman in Unreal Engine.
* [[Video:OpenSim and Second Life|OpenSim and Second Life]]: Videos on how to move and use assets from MakeHuman in OpenSim and Second Life.
== Generic videos on related topics ==
* [[Video:Modeling|Modeling]]: Videos on character modeling
* [[Video:Animation|Animation]]: Videos on character animation
f59b5103a787242f6252ccc46ef3f191c55a8aef
126
125
2015-07-12T13:24:12Z
Joepal
14
/* Generic videos on related topics */
wikitext
text/x-wiki
These are video tutorial categories. The videos are about MakeHuman or subjects related to MakeHuman.
Note that most of these videos are not made by the MakeHuman crew, and that the MakeHuman crew gives no guarrantees concerning how up to date or accurate the videos are.
== MakeHuman in general ==
* [[Video:Overview|Overview]]: videos about MakeHuman in general (such as introduction videos, and tutorials on the interface).
* [[Video:Installation|Installation]]: videos on how to install MakeHuman and related tools
* [[Video:Blender tools|MakeHuman Blender tools]]: videos related to MakeTarget, MakeClothes and MakeWalk. These also includes videos on how to produce assets for MakeHuman.
== MakeHuman vs external applications ==
* [[Video:Unity|Unity]]: Videos on how to move and use assets from MakeHuman in Unity 3d.
* [[Video:UE|UE]]: Videos on how to move and use assets from MakeHuman in Unreal Engine.
* [[Video:OpenSim and Second Life|OpenSim and Second Life]]: Videos on how to move and use assets from MakeHuman in OpenSim and Second Life.
== Generic videos on related topics ==
* [[Video:Modeling|Modeling]]: Videos on character modeling
* [[Video:Animation|Animation]]: Videos on character animation
5e6ae3a4f417f8f639821ec35349ecb532797977
125
120
2015-07-12T13:23:53Z
Joepal
14
/* MakeHuman vs external applications */
wikitext
text/x-wiki
These are video tutorial categories. The videos are about MakeHuman or subjects related to MakeHuman.
Note that most of these videos are not made by the MakeHuman crew, and that the MakeHuman crew gives no guarrantees concerning how up to date or accurate the videos are.
== MakeHuman in general ==
* [[Video:Overview|Overview]]: videos about MakeHuman in general (such as introduction videos, and tutorials on the interface).
* [[Video:Installation|Installation]]: videos on how to install MakeHuman and related tools
* [[Video:Blender tools|MakeHuman Blender tools]]: videos related to MakeTarget, MakeClothes and MakeWalk. These also includes videos on how to produce assets for MakeHuman.
== MakeHuman vs external applications ==
* [[Video:Unity|Unity]]: Videos on how to move and use assets from MakeHuman in Unity 3d.
* [[Video:UE|UE]]: Videos on how to move and use assets from MakeHuman in Unreal Engine.
* [[Video:OpenSim and Second Life|OpenSim and Second Life]]: Videos on how to move and use assets from MakeHuman in OpenSim and Second Life.
== Generic videos on related topics ==
* [[Video:Modeling]]: Videos on character modeling
* [[Video:Animation]]: Videos on character animation
d00f44bb5c0e795a9ed0fcaef436a1e9549b5058
120
2015-07-12T13:10:43Z
Joepal
14
Created page with "These are video tutorial categories. The videos are about MakeHuman or subjects related to MakeHuman. Note that most of these videos are not made by the MakeHuman crew, and t..."
wikitext
text/x-wiki
These are video tutorial categories. The videos are about MakeHuman or subjects related to MakeHuman.
Note that most of these videos are not made by the MakeHuman crew, and that the MakeHuman crew gives no guarrantees concerning how up to date or accurate the videos are.
== MakeHuman in general ==
* [[Video:Overview|Overview]]: videos about MakeHuman in general (such as introduction videos, and tutorials on the interface).
* [[Video:Installation|Installation]]: videos on how to install MakeHuman and related tools
* [[Video:Blender tools|MakeHuman Blender tools]]: videos related to MakeTarget, MakeClothes and MakeWalk. These also includes videos on how to produce assets for MakeHuman.
== MakeHuman vs external applications ==
* [[Video:Unity]]: Videos on how to move and use assets from MakeHuman in Unity 3d.
* [[Video:UE]]: Videos on how to move and use assets from MakeHuman in Unreal Engine.
* [[Video:OpenSim and Second Life]]: Videos on how to move and use assets from MakeHuman in OpenSim and Second Life.
== Generic videos on related topics ==
* [[Video:Modeling]]: Videos on character modeling
* [[Video:Animation]]: Videos on character animation
33c56c429099e8c0f01944b32cfa9792eb6a756a
Video:Installation
0
53
1579
1578
2019-03-20T15:36:40Z
Joepal
14
Undo revision 1578 by [[Special:Contributions/Joepal|Joepal]] ([[User talk:Joepal|talk]])
wikitext
text/x-wiki
== Basic installation ==
Install Make Human and Set up Blender 3D Tools (by VscorpianC)
{{#ev:youtube|WiEDGbRnXdE}}
== Developer installation ==
How to make a "full" installation of MakeHuman and related tools. Some links mentioned are outdated.
{{#ev:youtube|3CCHGX-6Mtk}}
ad155226f3ef8ce1fbb35da8a566fbdf81ad5338
1578
127
2019-03-20T15:36:18Z
Joepal
14
/* Basic installation */
wikitext
text/x-wiki
== Basic installation ==
Install Make Human and Set up Blender 3D Tools (by VscorpianC)
{{#ev:youtube|jRHnJX-TdT4}}
== Developer installation ==
How to make a "full" installation of MakeHuman and related tools. Some links mentioned are outdated.
{{#ev:youtube|3CCHGX-6Mtk}}
2f0c933c62b661865783280e038b65039d717718
127
122
2015-07-12T13:27:50Z
Joepal
14
wikitext
text/x-wiki
== Basic installation ==
Install Make Human and Set up Blender 3D Tools (by VscorpianC)
{{#ev:youtube|WiEDGbRnXdE}}
== Developer installation ==
How to make a "full" installation of MakeHuman and related tools. Some links mentioned are outdated.
{{#ev:youtube|3CCHGX-6Mtk}}
ad155226f3ef8ce1fbb35da8a566fbdf81ad5338
122
2015-07-12T13:14:32Z
Joepal
14
Created page with "== Basic installation == (To be filled) == Developer installation == How to make a "full" installation of MakeHuman and related tools. Some links mentioned are outdated. {..."
wikitext
text/x-wiki
== Basic installation ==
(To be filled)
== Developer installation ==
How to make a "full" installation of MakeHuman and related tools. Some links mentioned are outdated.
{{#ev:youtube|3CCHGX-6Mtk}}
497270f7eb7ef2c0bb7a0585c55765e600e81072
Video:Overview
0
55
131
130
2015-07-12T13:34:52Z
Joepal
14
/* Specific features */
wikitext
text/x-wiki
== What is MakeHuman? ==
(to be filled)
== The user interface ==
Beginners Guide to the User Interface (by VscorpianC)
{{#ev:youtube|PeLB63owHFc}}
New mouse and camera navigation
{{#ev:vimeo|89290170}}
== Specific features ==
Make Human Characters with B.G. Reference Images (by VscorpianC)
{{#ev:youtube|y2uOJmySza4}}
Alternative mesh topologies
{{#ev:vimeo|89291791}}
c1b15683d4bfb019dbe92eec4626a82337036b0b
130
128
2015-07-12T13:34:19Z
Joepal
14
/* The user interface */
wikitext
text/x-wiki
== What is MakeHuman? ==
(to be filled)
== The user interface ==
Beginners Guide to the User Interface (by VscorpianC)
{{#ev:youtube|PeLB63owHFc}}
New mouse and camera navigation
{{#ev:vimeo|89290170}}
== Specific features ==
Make Human Characters with B.G. Reference Images (by VscorpianC)
{{#ev:youtube|y2uOJmySza4}}
e124c4ad9eaa592b336d3cc77241a3631acd5227
128
2015-07-12T13:31:14Z
Joepal
14
Created page with "== What is MakeHuman? == (to be filled) == The user interface == Beginners Guide to the User Interface (by VscorpianC) {{#ev:youtube|PeLB63owHFc}} == Specific features ==..."
wikitext
text/x-wiki
== What is MakeHuman? ==
(to be filled)
== The user interface ==
Beginners Guide to the User Interface (by VscorpianC)
{{#ev:youtube|PeLB63owHFc}}
== Specific features ==
Make Human Characters with B.G. Reference Images (by VscorpianC)
{{#ev:youtube|y2uOJmySza4}}
04368791a9931a8e0c11bc50bf49d217dbbffcce
Video:Unity
0
54
124
123
2015-07-12T13:22:00Z
Joepal
14
wikitext
text/x-wiki
These are videos on MakeHuman and Unity
== Xenosmash games ==
Xenosmash made a series of videos on moving assets from MakeHuman to Unity. Both the MakeHuman and the Unity versions are somewhat outdated, but the overview is still reasonably relevant.
MakeHuman 1.0 Alpha 8 into Unity
{{#ev:youtube|F1xvjWc7490}}
Importing MakeHuman with Mecanim in Unity 3d
{{#ev:youtube|IflzMxdvEtQ}}
MakeHuman Mecanim Animations in Unity 3d
{{#ev:youtube|4oIoh4x7qH0}}
Scripted Mecanim Animations in Unity 3d
{{#ev:youtube|HjkFfkHCgCc}}
149a5576ef2c07402e46d7c96da74ca6951aa305
123
2015-07-12T13:21:21Z
Joepal
14
Created page with "These are videos on MakeHuman and Unity == Xenosmash games == Xenosmash made a series of videos on moving assets from MakeHuman to Unity. Both the MakeHuman and the Unity ve..."
wikitext
text/x-wiki
These are videos on MakeHuman and Unity
== Xenosmash games ==
Xenosmash made a series of videos on moving assets from MakeHuman to Unity. Both the MakeHuman and the Unity versions are somewhat outdated, but the overview is still reasonably relevant.
MakeHuman 1.0 Alpha 8 into Unity
{{#ev:youtube|F1xvjWc7490}}
Importing MakeHuman with Mecanim in Unity 3d
{{#ev:youtube|fWUWdD3Uflw}}
MakeHuman Mecanim Animations in Unity 3d
{{#ev:youtube|4oIoh4x7qH0}}
Scripted Mecanim Animations in Unity 3d
{{#ev:youtube|HjkFfkHCgCc}}
0fa76cc688530ed2a5b0a8dc7851bcc64eac7edb
Video:Using and Installing Assets
0
89
212
2015-07-25T14:34:47Z
Joepal
14
Created page with "== Downloading and installing assets == Targets and clothes: {{#ev:youtube|lQb5JV4-wUc}}"
wikitext
text/x-wiki
== Downloading and installing assets ==
Targets and clothes:
{{#ev:youtube|lQb5JV4-wUc}}
14040a70f10f3acd6233c7ff0079c83c6f6bcd92
Talk:MakeHuman Workflows
1
14
64
63
2015-07-04T17:10:17Z
Robbaer
12
wikitext
text/x-wiki
I have substantial work already on Maya and 3DSMax content, particularly on textures and transparency. These are still to be uploaded as I unravel the Wiki interface.
Will need to provide addition information on skeletons. I'm locking edits from non-administrative users for now until an initial draft is complete.
Administrative edits welcomed in any form!
d1617062c3ee0fcb7be30a0baa3a9133b3082964
63
62
2015-07-04T17:09:31Z
Robbaer
12
wikitext
text/x-wiki
I have substantial work already on Maya and 3DSMax content, particularly on textures and transparency. These are still to be uploaded as I unravel the Wiki interface.
Will need to provide addition information on skeletons. Locking edits from non-administrative users for now until an initial draft is complete.
Administrative edits welcomed in any form!
f72906ac7ceee32b8e24abdfc31daefc102a66e0
62
2015-07-04T17:06:52Z
Robbaer
12
Created page with "I have substantial work already on Maya and 3DSMax content, particularly on textures and transparency. Will nee to ptovide addition material on skeletons. Locking from non-a..."
wikitext
text/x-wiki
I have substantial work already on Maya and 3DSMax content, particularly on textures and transparency. Will nee to ptovide addition material on skeletons. Locking from non-administrative editing until an initial draft is complete.
Administrative edits welcomed in any form!
3df8f17679dbb39a25dcb8dd9fdca5e57f69de7f
Talk:Technical notes on MakeHuman
1
561
1476
2018-08-01T19:05:37Z
Brittempig
63
Brain Plus IQ: La pastilla del engaño que usa a CNN
wikitext
text/x-wiki
Está surcando las redes a la velocidad de la luz. Comienza a viralizarse la supuesta noticia de una pastilla a la que se ha llamado “el Viagra del cerebro”. Se presenta en la forma de una noticia de la agencia internacional CNN en español donde se cita a Stephen Hawking diciendo que esta pastilla cambiará el mundo y potenciará nuestra inteligencia, y donde el supuesto jefe del área de Salud de CNN toma la pastilla en mención y apunta día a día su eficacia.
6c452f95fb294d6f5f7ec70d295b974725b9b1f1
User:866-769-8127))))turbotax customer phone number==turbotax tech support number
2
214
612
611
2016-03-07T21:45:23Z
Turbotax01
24
Turbotax01 moved page [[User:Turbotax01]] to [[User:866-769-8127))))turbotax customer phone number==turbotax tech support number]]
wikitext
text/x-wiki
)@-: Turbotax Tech Support Phone Number provides USA/CANADA clients. call 866-769-8127 to get all Turbotax account solution. @@Call, *==866.769*8127 Turbotax tech support phone number, 866-769-8127 Turbotax Tech Support Phone Number, Turbotax Help Desk Phone Number, Turbotax tech support number, Turbotax technical support phone number,@@@ Turbotax phone number, Turbotax technical support number, Turbotax support phone number, Turbotax technical support, Turbotax Customer Service Phone Number, Turbotax Customer Service Number, Turbotax Customer Support Phone Number, Turbotax Customer Support Number,@@@@ Turbotax Customer Service Helpline Number, Turbotax Customer Care Number, Turbotax support team phone number, @@@@@ Turbotax help number-Turbotax Helpline Number; Turbotax help phone number-Turbotax Helpline Number, Turbotax Tech Support Toll free Number, Turbotax Support Telephone Number, Turbotax Tech Support Telephone number, Turbotax Tech Support contact number, Turbotax support contact number, Turbotax technical support contact number. Call, Turbotax tech support phone number, Turbotax Tech Support Phone Number, Turbotax Help Desk Phone Number, Turbotax tech support number, Turbotax technical support phone number, Turbotax phone number, Turbotax technical support number, Turbotax support phone number. It is very popular toll free number which provide by Turbotax technical support, Turbotax Customer Service Phone Number, Turbotax Customer Service Number, Turbotax Customer Support Phone Number, Turbotax Customer Support Number, Turbotax Customer Service Helpline Number, Turbotax Customer Care Number, Turbotax support team phone number. Call, Turbotax tech support phone number, Turbotax Tech Support Phone Number, Turbotax Help Desk Phone Number, Turbotax tech support number, Turbotax technical support phone number, Turbotax phone number, Turbotax technical support number, Turbotax support phone number, Turbotax technical support, Turbotax Customer Service Phone Number, Turbotax Customer Service Number, Turbotax Customer Support Phone Number, Turbotax Customer Support Number, Turbotax Customer Service Helpline Number, Turbotax Customer Care Number, Turbotax support team phone number, Turbotax help number-Turbotax Helpline Number; Turbotax help phone number, Turbotax Helpline Number, Turbotax Tech Support Toll free Number, Turbotax Support Telephone Number, Turbotax Tech Support Telephone number, Turbotax Tech Support contact number, Turbotax support contact number, Turbotax technical support contact number, Turbotax pro support phone number, Turbotax PRinter support phone number. Turbotax PRinter customer support phone number
866-769-8127 Turbotax technical help telephone number, Turbotax technical help contact number, Turbotax technical support contact number, Turbotax contact number, Turbotax contact phone number, Turbotax contact telephone number, Turbotax 24 hour contact number, Turbotax customer support contact number, Turbotax customer service contact number, Turbotax official number, Turbotax official contact number, Turbotax contact number, Turbotax toll free number, number for Turbotax support, Turbotax 24/7 support phone number Turbotax 866-769-8127 support phone number,Turbotax 866-769-8127 support phone number,Turbotax 866-769-8127 help phone number, Turbotax 866-769-8127 technical support number.Turbotax 866-769-8127 support number, Turbotax 866-769-8127 phone number, Turbotax 866-769-8127 tech support number, Turbotax 866-769-8127 customer support number, Turbotax 866-769-8127 customer support phone number, Turbotax 866-769-8127 customer service phone number, Turbotax 866-769-8127 PRinter customer service phone number, Turbotax 866-769-8127 support phone number. Help@Call *==866.769*8127/.Turbotax 24/7 support phone number,Turbotax telephone number for support? call 866-769-8127@./Turbotax contact number, Turbotax contact phone number, Turbotax contact telephone number,,telephone number for Turbotax online support,Turbotax official support number,Turbotax official number,Turbotax PRinter official phone number,,,phone number for Turbotax PRinter support,,Turbotax 24/7 support phone number,,Turbotax support number,Turbotax telephone number for support TURBOTAX Toll Free, Intuit@(*==866.769*8127)@ TURBOTAX Tech Support Phone Number provides online solution for all USA/CANADA clients. For any help of query call 866-769-8127 to get all TURBOTAX account solution. @@Call, *==866.769*8127 for all type help by TURBOTAX tech support phone number, Intuit TURBOTAX Tech Support Phone Number, TURBOTAX Help Desk Phone Number, TURBOTAX tech support number, TURBOTAX technical support phone number,@@@ TURBOTAX phone number, TURBOTAX technical support number, TURBOTAX support phone number, TURBOTAX technical support, TURBOTAX Customer Service Phone Number, TURBOTAX Customer Service Number, TURBOTAX Customer Support Phone Number, TURBOTAX Customer Support Number,@@@@ TURBOTAX Customer Service Helpline Number, TURBOTAX Customer Care Number, TURBOTAX support team phone number, @@@@@ TURBOTAX help number-TURBOTAX Helpline Number; TURBOTAX help phone number-TURBOTAX Helpline Number, TURBOTAX Tech Support Toll free Number, TURBOTAX Support Telephone Number, TURBOTAX Tech Support Telephone number, TURBOTAX Tech Support contact number, TURBOTAX support contact number, TURBOTAX technical support contact number. Call, TURBOTAX tech support phone number, Intuit TURBOTAX Tech Support Phone Number, TURBOTAX Help Desk Phone Number, TURBOTAX tech support number, TURBOTAX technical support phone number, TURBOTAX phone number, TURBOTAX technical support number, TURBOTAX support phone number. It is very popular toll free number which provide by TURBOTAX technical support, TURBOTAX Customer Service Phone Number, TURBOTAX Customer Service Number, TURBOTAX Customer Support Phone Number, TURBOTAX Customer Support Number, TURBOTAX Customer Service Helpline Number, TURBOTAX Customer Care Number, TURBOTAX support team phone number. Call, TURBOTAX tech support phone number, Intuit TURBOTAX Tech Support Phone Number, TURBOTAX Help Desk Phone Number, TURBOTAX tech support number, TURBOTAX technical support phone number, TURBOTAX phone number, TURBOTAX technical support number, TURBOTAX support phone number, TURBOTAX technical support, TURBOTAX Customer Service Phone Number, TURBOTAX Customer Service Number, TURBOTAX Customer Support Phone Number, TURBOTAX Customer Support Number, TURBOTAX Customer Service Helpline Number, TURBOTAX Customer Care Number, TURBOTAX support team phone number, TURBOTAX help number-TURBOTAX Helpline Number; TURBOTAX help phone number, TURBOTAX Helpline Number, TURBOTAX Tech Support Toll free Number, TURBOTAX Support Telephone Number, TURBOTAX Tech Support Telephone number, TURBOTAX Tech Support contact number, TURBOTAX support contact number, TURBOTAX technical support contact number, Turbotax pro support phone number, Turbotax PRinter support phone number. Turbotax PRinter customer support phone number
Toll free phone number (+1)*866.769.8127*? .!!~~? turbotax intuit support phone number, turbotax intuit support phone number,
turbotax support phone number (+1)*866.769.8127*? .!!~~? turbotax support phone number,@@@#**__ turbotax support phone number
turbotax phone number (+1)*866.769.8127*? .!!~~? turbotax phone number,@@@#**__ turbotax phone number
turbotax support number (+1)*866.769.8127*? .!!~~? turbotax support number,@@@#**__ turbotax support number
turbotax customer support phone number (+1)*866.769.8127*? .!!~~? turbotax customer support phone number,@@@#**__ turbotax customer support phone number
turbotax customer support number (+1)*866.769.8127*? .!!~~? turbotax customer support number,@@@#**__ turbotax customer support number
turbotax customer phone number (+1)*866.769.8127*? .!!~~? turbotax customer phone number,@@@#**__ turbotax customer phone number
turbotax customer number (+1)*866.769.8127*? .!!~~? turbotax customer number,@@@#**__ turbotax customer number
turbotax customer services number (+1)*866.769.8127*? .!!~~? turbotax customer services number,@@@#**__ turbotax customer services number
turbotax customer services phone number (+1)*866.769.8127*? .!!~~? turbotax customer services phone number,@@@#**__ turbotax customer services phone number
turbotax technical support phone number (+1)*866.769.8127*? .!!~~? turbotax technical support phone number,@@@#**__ turbotax technical support phonenumber
turbotax technical support number (+1)*866.769.8127*? .!!~~? turbotax technical support number,@@@#**__ turbotax technical support number
turbotax technical number (+1)*866.769.8127*? .!!~~? turbotax technical number,@@@#**__ turbotax technical number
turbotax help support phone number (+1)*866.769.8127*? .!!~~? turbotax help support phone number,@@@#**__ turbotax help support phone number
turbotax helpline phone number (+1)*866.769.8127*? .!!~~? turbotax helpline support phone number,@@@#**__ turbotax helpline phone number
turbotax helpline number (+1)*866.769.8127*? .!!~~? turbotax helpline support number,@@@#**__ turbotax helpline number
turbotax Toll free phone number (+1)*866.769.8127*? .!!~~? turbotax intuit tollfree support phone number, turbotax tollfree support phone number,
turbotax Toll free number (+1)*866.769.8127*? .!!~~? turbotax tollfree number, @@@#**__turbotax tollfree number,
turbotax intuit Toll free number (+1)*866.769.8127*? .!!~~? turbotax intuit tollfree number, @@@#**__turbotax intuit tollfree number,
telephone number for turbotax (+1)*866.769.8127*? .!!~~?, telephone number for turbotax, @@@#**__telephone number for turbotax
telephone number for turbotax customer service (+1)*866.769.8127*? .!!~~?, telephone number for turbotax customer service, @@@#**__telephone number for turbotax customer service
turbotax call center number (+1)*866.769.8127*? .!!~~?, turbotax call center number, @@@#**__turbotax call center number
phone number for turbotax (+1)*866.769.8127*? .!!~~?, phone number for turbotax, phone number for turbotax help, @@@#**__phone number for turbotax help
turbotax technical supportemail (+1)*866.769.8127*? .!!~~?, turbotax technical supportemail, @@@#**__turbotax technical supportemail, @@@#**__turbotax technical supportemail
turbotax customer support email +1)*866.769.8127*? .!!~~?, +turbotax customer support email, @@@#**__turbotax customer support email, turbotax customer support email
(866-769-8127)_turbotax intuit customer phone number, Turbotax customer phone number, turbotax intuit support phone number, turbotax customer support phone number, turbotax intuit phone numebr, turbotax phone numeber, turbotax customer services number, turbotax intuit customer services phone number, turbotax toll free number, turbotax intuit toll free phone number, turbotax toll free service
~ turbotax support phone number [866-769-8127]
turbotax support phone number [866-769-8127]
turbotax intuit support phone number [866-769-8127]
turbotax phone number [866-769-8127], turbotax intuit phone number [866-769-8127],
turbotax [866-769-8127] intuit customer support phone number [866-769-8127], turbotax intuit customer phone number , turbotax intuit customer support number , [866-769-8127]turbotax intuit customer number , [866-769-8127]turbotax customer support phone number
[866-769-8127]turbotax customer support phone number
turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number+[866-769-8127]!~ turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax +[866-769-8127]!~ customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number +[866-769-8127]!~ turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number +[866-769-8127]!~ turbotax customer support phone number turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number turbotax customer support phone numbe
Toll free phone number (+1)*866.769.8127*? .!!~~? turbotax intuit support phone number, turbotax intuit support phone number,
turbotax support phone number (+1)*866.769.8127*? .!!~~? turbotax support phone number,@@@#**__ turbotax support phone number
turbotax phone number (+1)*866.769.8127*? .!!~~? turbotax phone number,@@@#**__ turbotax phone number
turbotax support number (+1)*866.769.8127*? .!!~~? turbotax support number,@@@#**__ turbotax support number
turbotax customer support phone number (+1)*866.769.8127*? .!!~~? turbotax customer support phone number,@@@#**__ turbotax customer support phone number
turbotax customer support number (+1)*866.769.8127*? .!!~~? turbotax customer support number,@@@#**__ turbotax customer support number
turbotax customer phone number (+1)*866.769.8127*? .!!~~? turbotax customer phone number,@@@#**__ turbotax customer phone number
turbotax customer number (+1)*866.769.8127*? .!!~~? turbotax customer number,@@@#**__ turbotax customer number
turbotax customer services number (+1)*866.769.8127*? .!!~~? turbotax customer services number,@@@#**__ turbotax customer services number
turbotax customer services phone number (+1)*866.769.8127*? .!!~~? turbotax customer services phone number,@@@#**__ turbotax customer services phone number
turbotax technical support phone number (+1)*866.769.8127*? .!!~~? turbotax technical support phone number,@@@#**__ turbotax technical support phonenumber
turbotax technical support number (+1)*866.769.8127*? .!!~~? turbotax technical support number,@@@#**__ turbotax technical support number
turbotax technical number (+1)*866.769.8127*? .!!~~? turbotax technical number,@@@#**__ turbotax technical number
turbotax help support phone number (+1)*866.769.8127*? .!!~~? turbotax help support phone number,@@@#**__ turbotax help support phone number
turbotax helpline phone number (+1)*866.769.8127*? .!!~~? turbotax helpline support phone number,@@@#**__ turbotax helpline phone number
turbotax helpline number (+1)*866.769.8127*? .!!~~? turbotax helpline support number,@@@#**__ turbotax helpline number
turbotax Toll free phone number (+1)*866.769.8127*? .!!~~? turbotax intuit tollfree support phone number, turbotax tollfree support phone number,
turbotax Toll free number (+1)*866.769.8127*? .!!~~? turbotax tollfree number, @@@#**__turbotax tollfree number,
turbotax intuit Toll free number (+1)*866.769.8127*? .!!~~? turbotax intuit tollfree number, @@@#**__turbotax intuit tollfree number,
telephone number for turbotax (+1)*866.769.8127*? .!!~~?, telephone number for turbotax, @@@#**__telephone number for turbotax
telephone number for turbotax customer service (+1)*866.769.8127*? .!!~~?, telephone number for turbotax customer service, @@@#**__telephone number for turbotax customer service
turbotax call center number (+1)*866.769.8127*? .!!~~?, turbotax call center number, @@@#**__turbotax call center number
phone number for turbotax (+1)*866.769.8127*? .!!~~?, phone number for turbotax, phone number for turbotax help, @@@#**__phone number for turbotax help
turbotax technical supportemail (+1)*866.769.8127*? .!!~~?, turbotax technical supportemail, @@@#**__turbotax technical supportemail, @@@#**__turbotax technical supportemail
turbotax customer support email +1)*866.769.8127*? .!!~~?, +turbotax customer support email, @@@#**__turbotax customer support email, turbotax customer support email
(866-769-8127)_turbotax intuit customer phone number, Turbotax customer phone number, turbotax intuit support phone number, turbotax customer support phone number, turbotax intuit phone numebr, turbotax phone numeber, turbotax customer services number, turbotax intuit customer services phone number, turbotax toll free number, turbotax intuit toll free phone number, turbotax toll free service
~ turbotax support phone number [866-769-8127]
turbotax support phone number [866-769-8127]
turbotax intuit support phone number [866-769-8127]
turbotax phone number [866-769-8127], turbotax intuit phone number [866-769-8127],
turbotax [866-769-8127] intuit customer support phone number [866-769-8127], turbotax intuit customer phone number , turbotax intuit customer support number , [866-769-8127]turbotax intuit customer number , [866-769-8127]turbotax customer support phone number
[866-769-8127]turbotax customer support phone number
turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number+[866-769-8127]!~ turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax +[866-769-8127]!~ customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number +[866-769-8127]!~ turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number +[866-769-8127]!~ turbotax customer support phone number turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number turbotax customer support phone numbe
Toll free phone number (+1)*866.769.8127*? .!!~~? turbotax intuit support phone number, turbotax intuit support phone number,
turbotax support phone number (+1)*866.769.8127*? .!!~~? turbotax support phone number,@@@#**__ turbotax support phone number
turbotax phone number (+1)*866.769.8127*? .!!~~? turbotax phone number,@@@#**__ turbotax phone number
turbotax support number (+1)*866.769.8127*? .!!~~? turbotax support number,@@@#**__ turbotax support number
turbotax customer support phone number (+1)*866.769.8127*? .!!~~? turbotax customer support phone number,@@@#**__ turbotax customer support phone number
turbotax customer support number (+1)*866.769.8127*? .!!~~? turbotax customer support number,@@@#**__ turbotax customer support number
turbotax customer phone number (+1)*866.769.8127*? .!!~~? turbotax customer phone number,@@@#**__ turbotax customer phone number
turbotax customer number (+1)*866.769.8127*? .!!~~? turbotax customer number,@@@#**__ turbotax customer number
turbotax customer services number (+1)*866.769.8127*? .!!~~? turbotax customer services number,@@@#**__ turbotax customer services number
turbotax customer services phone number (+1)*866.769.8127*? .!!~~? turbotax customer services phone number,@@@#**__ turbotax customer services phone number
turbotax technical support phone number (+1)*866.769.8127*? .!!~~? turbotax technical support phone number,@@@#**__ turbotax technical support phonenumber
turbotax technical support number (+1)*866.769.8127*? .!!~~? turbotax technical support number,@@@#**__ turbotax technical support number
turbotax technical number (+1)*866.769.8127*? .!!~~? turbotax technical number,@@@#**__ turbotax technical number
turbotax help support phone number (+1)*866.769.8127*? .!!~~? turbotax help support phone number,@@@#**__ turbotax help support phone number
turbotax helpline phone number (+1)*866.769.8127*? .!!~~? turbotax helpline support phone number,@@@#**__ turbotax helpline phone number
turbotax helpline number (+1)*866.769.8127*? .!!~~? turbotax helpline support number,@@@#**__ turbotax helpline number
turbotax Toll free phone number (+1)*866.769.8127*? .!!~~? turbotax intuit tollfree support phone number, turbotax tollfree support phone number,
turbotax Toll free number (+1)*866.769.8127*? .!!~~? turbotax tollfree number, @@@#**__turbotax tollfree number,
turbotax intuit Toll free number (+1)*866.769.8127*? .!!~~? turbotax intuit tollfree number, @@@#**__turbotax intuit tollfree number,
telephone number for turbotax (+1)*866.769.8127*? .!!~~?, telephone number for turbotax, @@@#**__telephone number for turbotax
telephone number for turbotax customer service (+1)*866.769.8127*? .!!~~?, telephone number for turbotax customer service, @@@#**__telephone number for turbotax customer service
turbotax call center number (+1)*866.769.8127*? .!!~~?, turbotax call center number, @@@#**__turbotax call center number
phone number for turbotax (+1)*866.769.8127*? .!!~~?, phone number for turbotax, phone number for turbotax help, @@@#**__phone number for turbotax help
turbotax technical supportemail (+1)*866.769.8127*? .!!~~?, turbotax technical supportemail, @@@#**__turbotax technical supportemail, @@@#**__turbotax technical supportemail
turbotax customer support email +1)*866.769.8127*? .!!~~?, +turbotax customer support email, @@@#**__turbotax customer support email, turbotax customer support email
(866-769-8127)_turbotax intuit customer phone number, Turbotax customer phone number, turbotax intuit support phone number, turbotax customer support phone number, turbotax intuit phone numebr, turbotax phone numeber, turbotax customer services number, turbotax intuit customer services phone number, turbotax toll free number, turbotax intuit toll free phone number, turbotax toll free service
~ turbotax support phone number [866-769-8127]
turbotax support phone number [866-769-8127]
turbotax intuit support phone number [866-769-8127]
turbotax phone number [866-769-8127], turbotax intuit phone number [866-769-8127],
turbotax [866-769-8127] intuit customer support phone number [866-769-8127], turbotax intuit customer phone number , turbotax intuit customer support number , [866-769-8127]turbotax intuit customer number , [866-769-8127]turbotax customer support phone number
[866-769-8127]turbotax customer support phone number
turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number+[866-769-8127]!~ turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax +[866-769-8127]!~ customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number +[866-769-8127]!~ turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number +[866-769-8127]!~ turbotax customer support phone number turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number turbotax customer support phone numbe
Toll free phone number (+1)*866.769.8127*? .!!~~? turbotax intuit support phone number, turbotax intuit support phone number,
turbotax support phone number (+1)*866.769.8127*? .!!~~? turbotax support phone number,@@@#**__ turbotax support phone number
turbotax phone number (+1)*866.769.8127*? .!!~~? turbotax phone number,@@@#**__ turbotax phone number
turbotax support number (+1)*866.769.8127*? .!!~~? turbotax support number,@@@#**__ turbotax support number
turbotax customer support phone number (+1)*866.769.8127*? .!!~~? turbotax customer support phone number,@@@#**__ turbotax customer support phone number
turbotax customer support number (+1)*866.769.8127*? .!!~~? turbotax customer support number,@@@#**__ turbotax customer support number
turbotax customer phone number (+1)*866.769.8127*? .!!~~? turbotax customer phone number,@@@#**__ turbotax customer phone number
turbotax customer number (+1)*866.769.8127*? .!!~~? turbotax customer number,@@@#**__ turbotax customer number
turbotax customer services number (+1)*866.769.8127*? .!!~~? turbotax customer services number,@@@#**__ turbotax customer services number
turbotax customer services phone number (+1)*866.769.8127*? .!!~~? turbotax customer services phone number,@@@#**__ turbotax customer services phone number
turbotax technical support phone number (+1)*866.769.8127*? .!!~~? turbotax technical support phone number,@@@#**__ turbotax technical support phonenumber
turbotax technical support number (+1)*866.769.8127*? .!!~~? turbotax technical support number,@@@#**__ turbotax technical support number
turbotax technical number (+1)*866.769.8127*? .!!~~? turbotax technical number,@@@#**__ turbotax technical number
turbotax help support phone number (+1)*866.769.8127*? .!!~~? turbotax help support phone number,@@@#**__ turbotax help support phone number
turbotax helpline phone number (+1)*866.769.8127*? .!!~~? turbotax helpline support phone number,@@@#**__ turbotax helpline phone number
turbotax helpline number (+1)*866.769.8127*? .!!~~? turbotax helpline support number,@@@#**__ turbotax helpline number
turbotax Toll free phone number (+1)*866.769.8127*? .!!~~? turbotax intuit tollfree support phone number, turbotax tollfree support phone number,
turbotax Toll free number (+1)*866.769.8127*? .!!~~? turbotax tollfree number, @@@#**__turbotax tollfree number,
turbotax intuit Toll free number (+1)*866.769.8127*? .!!~~? turbotax intuit tollfree number, @@@#**__turbotax intuit tollfree number,
telephone number for turbotax (+1)*866.769.8127*? .!!~~?, telephone number for turbotax, @@@#**__telephone number for turbotax
telephone number for turbotax customer service (+1)*866.769.8127*? .!!~~?, telephone number for turbotax customer service, @@@#**__telephone number for turbotax customer service
turbotax call center number (+1)*866.769.8127*? .!!~~?, turbotax call center number, @@@#**__turbotax call center number
phone number for turbotax (+1)*866.769.8127*? .!!~~?, phone number for turbotax, phone number for turbotax help, @@@#**__phone number for turbotax help
turbotax technical supportemail (+1)*866.769.8127*? .!!~~?, turbotax technical supportemail, @@@#**__turbotax technical supportemail, @@@#**__turbotax technical supportemail
turbotax customer support email +1)*866.769.8127*? .!!~~?, +turbotax customer support email, @@@#**__turbotax customer support email, turbotax customer support email
(866-769-8127)_turbotax intuit customer phone number, Turbotax customer phone number, turbotax intuit support phone number, turbotax customer support phone number, turbotax intuit phone numebr, turbotax phone numeber, turbotax customer services number, turbotax intuit customer services phone number, turbotax toll free number, turbotax intuit toll free phone number, turbotax toll free service
~ turbotax support phone number [866-769-8127]
turbotax support phone number [866-769-8127]
turbotax intuit support phone number [866-769-8127]
turbotax phone number [866-769-8127], turbotax intuit phone number [866-769-8127],
turbotax [866-769-8127] intuit customer support phone number [866-769-8127], turbotax intuit customer phone number , turbotax intuit customer support number , [866-769-8127]turbotax intuit customer number , [866-769-8127]turbotax customer support phone number
[866-769-8127]turbotax customer support phone number
turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number+[866-769-8127]!~ turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax +[866-769-8127]!~ customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number +[866-769-8127]!~ turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number +[866-769-8127]!~ turbotax customer support phone number turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number turbotax customer support phone numbe
Toll free phone number (+1)*866.769.8127*? .!!~~? turbotax intuit support phone number, turbotax intuit support phone number,
turbotax support phone number (+1)*866.769.8127*? .!!~~? turbotax support phone number,@@@#**__ turbotax support phone number
turbotax phone number (+1)*866.769.8127*? .!!~~? turbotax phone number,@@@#**__ turbotax phone number
turbotax support number (+1)*866.769.8127*? .!!~~? turbotax support number,@@@#**__ turbotax support number
turbotax customer support phone number (+1)*866.769.8127*? .!!~~? turbotax customer support phone number,@@@#**__ turbotax customer support phone number
turbotax customer support number (+1)*866.769.8127*? .!!~~? turbotax customer support number,@@@#**__ turbotax customer support number
turbotax customer phone number (+1)*866.769.8127*? .!!~~? turbotax customer phone number,@@@#**__ turbotax customer phone number
turbotax customer number (+1)*866.769.8127*? .!!~~? turbotax customer number,@@@#**__ turbotax customer number
turbotax customer services number (+1)*866.769.8127*? .!!~~? turbotax customer services number,@@@#**__ turbotax customer services number
turbotax customer services phone number (+1)*866.769.8127*? .!!~~? turbotax customer services phone number,@@@#**__ turbotax customer services phone number
turbotax technical support phone number (+1)*866.769.8127*? .!!~~? turbotax technical support phone number,@@@#**__ turbotax technical support phonenumber
turbotax technical support number (+1)*866.769.8127*? .!!~~? turbotax technical support number,@@@#**__ turbotax technical support number
turbotax technical number (+1)*866.769.8127*? .!!~~? turbotax technical number,@@@#**__ turbotax technical number
turbotax help support phone number (+1)*866.769.8127*? .!!~~? turbotax help support phone number,@@@#**__ turbotax help support phone number
turbotax helpline phone number (+1)*866.769.8127*? .!!~~? turbotax helpline support phone number,@@@#**__ turbotax helpline phone number
turbotax helpline number (+1)*866.769.8127*? .!!~~? turbotax helpline support number,@@@#**__ turbotax helpline number
turbotax Toll free phone number (+1)*866.769.8127*? .!!~~? turbotax intuit tollfree support phone number, turbotax tollfree support phone number,
turbotax Toll free number (+1)*866.769.8127*? .!!~~? turbotax tollfree number, @@@#**__turbotax tollfree number,
turbotax intuit Toll free number (+1)*866.769.8127*? .!!~~? turbotax intuit tollfree number, @@@#**__turbotax intuit tollfree number,
telephone number for turbotax (+1)*866.769.8127*? .!!~~?, telephone number for turbotax, @@@#**__telephone number for turbotax
telephone number for turbotax customer service (+1)*866.769.8127*? .!!~~?, telephone number for turbotax customer service, @@@#**__telephone number for turbotax customer service
turbotax call center number (+1)*866.769.8127*? .!!~~?, turbotax call center number, @@@#**__turbotax call center number
phone number for turbotax (+1)*866.769.8127*? .!!~~?, phone number for turbotax, phone number for turbotax help, @@@#**__phone number for turbotax help
turbotax technical supportemail (+1)*866.769.8127*? .!!~~?, turbotax technical supportemail, @@@#**__turbotax technical supportemail, @@@#**__turbotax technical supportemail
turbotax customer support email +1)*866.769.8127*? .!!~~?, +turbotax customer support email, @@@#**__turbotax customer support email, turbotax customer support email
(866-769-8127)_turbotax intuit customer phone number, Turbotax customer phone number, turbotax intuit support phone number, turbotax customer support phone number, turbotax intuit phone numebr, turbotax phone numeber, turbotax customer services number, turbotax intuit customer services phone number, turbotax toll free number, turbotax intuit toll free phone number, turbotax toll free service
~ turbotax support phone number [866-769-8127]
turbotax support phone number [866-769-8127]
turbotax intuit support phone number [866-769-8127]
turbotax phone number [866-769-8127], turbotax intuit phone number [866-769-8127],
turbotax [866-769-8127] intuit customer support phone number [866-769-8127], turbotax intuit customer phone number , turbotax intuit customer support number , [866-769-8127]turbotax intuit customer number , [866-769-8127]turbotax customer support phone number
[866-769-8127]turbotax customer support phone number
turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number+[866-769-8127]!~ turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax +[866-769-8127]!~ customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number +[866-769-8127]!~ turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number +[866-769-8127]!~ turbotax customer support phone number turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number turbotax customer support phone numbe
Toll free phone number (+1)*866.769.8127*? .!!~~? turbotax intuit support phone number, turbotax intuit support phone number,
turbotax support phone number (+1)*866.769.8127*? .!!~~? turbotax support phone number,@@@#**__ turbotax support phone number
turbotax phone number (+1)*866.769.8127*? .!!~~? turbotax phone number,@@@#**__ turbotax phone number
turbotax support number (+1)*866.769.8127*? .!!~~? turbotax support number,@@@#**__ turbotax support number
turbotax customer support phone number (+1)*866.769.8127*? .!!~~? turbotax customer support phone number,@@@#**__ turbotax customer support phone number
turbotax customer support number (+1)*866.769.8127*? .!!~~? turbotax customer support number,@@@#**__ turbotax customer support number
turbotax customer phone number (+1)*866.769.8127*? .!!~~? turbotax customer phone number,@@@#**__ turbotax customer phone number
turbotax customer number (+1)*866.769.8127*? .!!~~? turbotax customer number,@@@#**__ turbotax customer number
turbotax customer services number (+1)*866.769.8127*? .!!~~? turbotax customer services number,@@@#**__ turbotax customer services number
turbotax customer services phone number (+1)*866.769.8127*? .!!~~? turbotax customer services phone number,@@@#**__ turbotax customer services phone number
turbotax technical support phone number (+1)*866.769.8127*? .!!~~? turbotax technical support phone number,@@@#**__ turbotax technical support phonenumber
turbotax technical support number (+1)*866.769.8127*? .!!~~? turbotax technical support number,@@@#**__ turbotax technical support number
turbotax technical number (+1)*866.769.8127*? .!!~~? turbotax technical number,@@@#**__ turbotax technical number
turbotax help support phone number (+1)*866.769.8127*? .!!~~? turbotax help support phone number,@@@#**__ turbotax help support phone number
turbotax helpline phone number (+1)*866.769.8127*? .!!~~? turbotax helpline support phone number,@@@#**__ turbotax helpline phone number
turbotax helpline number (+1)*866.769.8127*? .!!~~? turbotax helpline support number,@@@#**__ turbotax helpline number
turbotax Toll free phone number (+1)*866.769.8127*? .!!~~? turbotax intuit tollfree support phone number, turbotax tollfree support phone number,
turbotax Toll free number (+1)*866.769.8127*? .!!~~? turbotax tollfree number, @@@#**__turbotax tollfree number,
turbotax intuit Toll free number (+1)*866.769.8127*? .!!~~? turbotax intuit tollfree number, @@@#**__turbotax intuit tollfree number,
telephone number for turbotax (+1)*866.769.8127*? .!!~~?, telephone number for turbotax, @@@#**__telephone number for turbotax
telephone number for turbotax customer service (+1)*866.769.8127*? .!!~~?, telephone number for turbotax customer service, @@@#**__telephone number for turbotax customer service
turbotax call center number (+1)*866.769.8127*? .!!~~?, turbotax call center number, @@@#**__turbotax call center number
phone number for turbotax (+1)*866.769.8127*? .!!~~?, phone number for turbotax, phone number for turbotax help, @@@#**__phone number for turbotax help
turbotax technical supportemail (+1)*866.769.8127*? .!!~~?, turbotax technical supportemail, @@@#**__turbotax technical supportemail, @@@#**__turbotax technical supportemail
turbotax customer support email +1)*866.769.8127*? .!!~~?, +turbotax customer support email, @@@#**__turbotax customer support email, turbotax customer support email
(866-769-8127)_turbotax intuit customer phone number, Turbotax customer phone number, turbotax intuit support phone number, turbotax customer support phone number, turbotax intuit phone numebr, turbotax phone numeber, turbotax customer services number, turbotax intuit customer services phone number, turbotax toll free number, turbotax intuit toll free phone number, turbotax toll free service
~ turbotax support phone number [866-769-8127]
turbotax support phone number [866-769-8127]
turbotax intuit support phone number [866-769-8127]
turbotax phone number [866-769-8127], turbotax intuit phone number [866-769-8127],
turbotax [866-769-8127] intuit customer support phone number [866-769-8127], turbotax intuit customer phone number , turbotax intuit customer support number , [866-769-8127]turbotax intuit customer number , [866-769-8127]turbotax customer support phone number
[866-769-8127]turbotax customer support phone number
turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number+[866-769-8127]!~ turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax +[866-769-8127]!~ customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number +[866-769-8127]!~ turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number +[866-769-8127]!~ turbotax customer support phone number turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number turbotax customer support phone numbe
Toll free phone number (+1)*866.769.8127*? .!!~~? turbotax intuit support phone number, turbotax intuit support phone number,
turbotax support phone number (+1)*866.769.8127*? .!!~~? turbotax support phone number,@@@#**__ turbotax support phone number
turbotax phone number (+1)*866.769.8127*? .!!~~? turbotax phone number,@@@#**__ turbotax phone number
turbotax support number (+1)*866.769.8127*? .!!~~? turbotax support number,@@@#**__ turbotax support number
turbotax customer support phone number (+1)*866.769.8127*? .!!~~? turbotax customer support phone number,@@@#**__ turbotax customer support phone number
turbotax customer support number (+1)*866.769.8127*? .!!~~? turbotax customer support number,@@@#**__ turbotax customer support number
turbotax customer phone number (+1)*866.769.8127*? .!!~~? turbotax customer phone number,@@@#**__ turbotax customer phone number
turbotax customer number (+1)*866.769.8127*? .!!~~? turbotax customer number,@@@#**__ turbotax customer number
turbotax customer services number (+1)*866.769.8127*? .!!~~? turbotax customer services number,@@@#**__ turbotax customer services number
turbotax customer services phone number (+1)*866.769.8127*? .!!~~? turbotax customer services phone number,@@@#**__ turbotax customer services phone number
turbotax technical support phone number (+1)*866.769.8127*? .!!~~? turbotax technical support phone number,@@@#**__ turbotax technical support phonenumber
turbotax technical support number (+1)*866.769.8127*? .!!~~? turbotax technical support number,@@@#**__ turbotax technical support number
turbotax technical number (+1)*866.769.8127*? .!!~~? turbotax technical number,@@@#**__ turbotax technical number
turbotax help support phone number (+1)*866.769.8127*? .!!~~? turbotax help support phone number,@@@#**__ turbotax help support phone number
turbotax helpline phone number (+1)*866.769.8127*? .!!~~? turbotax helpline support phone number,@@@#**__ turbotax helpline phone number
turbotax helpline number (+1)*866.769.8127*? .!!~~? turbotax helpline support number,@@@#**__ turbotax helpline number
turbotax Toll free phone number (+1)*866.769.8127*? .!!~~? turbotax intuit tollfree support phone number, turbotax tollfree support phone number,
turbotax Toll free number (+1)*866.769.8127*? .!!~~? turbotax tollfree number, @@@#**__turbotax tollfree number,
turbotax intuit Toll free number (+1)*866.769.8127*? .!!~~? turbotax intuit tollfree number, @@@#**__turbotax intuit tollfree number,
telephone number for turbotax (+1)*866.769.8127*? .!!~~?, telephone number for turbotax, @@@#**__telephone number for turbotax
telephone number for turbotax customer service (+1)*866.769.8127*? .!!~~?, telephone number for turbotax customer service, @@@#**__telephone number for turbotax customer service
turbotax call center number (+1)*866.769.8127*? .!!~~?, turbotax call center number, @@@#**__turbotax call center number
phone number for turbotax (+1)*866.769.8127*? .!!~~?, phone number for turbotax, phone number for turbotax help, @@@#**__phone number for turbotax help
turbotax technical supportemail (+1)*866.769.8127*? .!!~~?, turbotax technical supportemail, @@@#**__turbotax technical supportemail, @@@#**__turbotax technical supportemail
turbotax customer support email +1)*866.769.8127*? .!!~~?, +turbotax customer support email, @@@#**__turbotax customer support email, turbotax customer support email
(866-769-8127)_turbotax intuit customer phone number, Turbotax customer phone number, turbotax intuit support phone number, turbotax customer support phone number, turbotax intuit phone numebr, turbotax phone numeber, turbotax customer services number, turbotax intuit customer services phone number, turbotax toll free number, turbotax intuit toll free phone number, turbotax toll free service
~ turbotax support phone number [866-769-8127]
turbotax support phone number [866-769-8127]
turbotax intuit support phone number [866-769-8127]
turbotax phone number [866-769-8127], turbotax intuit phone number [866-769-8127],
turbotax [866-769-8127] intuit customer support phone number [866-769-8127], turbotax intuit customer phone number , turbotax intuit customer support number , [866-769-8127]turbotax intuit customer number , [866-769-8127]turbotax customer support phone number
[866-769-8127]turbotax customer support phone number
turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number+[866-769-8127]!~ turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax +[866-769-8127]!~ customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number +[866-769-8127]!~ turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number +[866-769-8127]!~ turbotax customer support phone number turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number turbotax customer support phone numbe
Toll free phone number (+1)*866.769.8127*? .!!~~? turbotax intuit support phone number, turbotax intuit support phone number,
turbotax support phone number (+1)*866.769.8127*? .!!~~? turbotax support phone number,@@@#**__ turbotax support phone number
turbotax phone number (+1)*866.769.8127*? .!!~~? turbotax phone number,@@@#**__ turbotax phone number
turbotax support number (+1)*866.769.8127*? .!!~~? turbotax support number,@@@#**__ turbotax support number
turbotax customer support phone number (+1)*866.769.8127*? .!!~~? turbotax customer support phone number,@@@#**__ turbotax customer support phone number
turbotax customer support number (+1)*866.769.8127*? .!!~~? turbotax customer support number,@@@#**__ turbotax customer support number
turbotax customer phone number (+1)*866.769.8127*? .!!~~? turbotax customer phone number,@@@#**__ turbotax customer phone number
turbotax customer number (+1)*866.769.8127*? .!!~~? turbotax customer number,@@@#**__ turbotax customer number
turbotax customer services number (+1)*866.769.8127*? .!!~~? turbotax customer services number,@@@#**__ turbotax customer services number
turbotax customer services phone number (+1)*866.769.8127*? .!!~~? turbotax customer services phone number,@@@#**__ turbotax customer services phone number
turbotax technical support phone number (+1)*866.769.8127*? .!!~~? turbotax technical support phone number,@@@#**__ turbotax technical support phonenumber
turbotax technical support number (+1)*866.769.8127*? .!!~~? turbotax technical support number,@@@#**__ turbotax technical support number
turbotax technical number (+1)*866.769.8127*? .!!~~? turbotax technical number,@@@#**__ turbotax technical number
turbotax help support phone number (+1)*866.769.8127*? .!!~~? turbotax help support phone number,@@@#**__ turbotax help support phone number
turbotax helpline phone number (+1)*866.769.8127*? .!!~~? turbotax helpline support phone number,@@@#**__ turbotax helpline phone number
turbotax helpline number (+1)*866.769.8127*? .!!~~? turbotax helpline support number,@@@#**__ turbotax helpline number
turbotax Toll free phone number (+1)*866.769.8127*? .!!~~? turbotax intuit tollfree support phone number, turbotax tollfree support phone number,
turbotax Toll free number (+1)*866.769.8127*? .!!~~? turbotax tollfree number, @@@#**__turbotax tollfree number,
turbotax intuit Toll free number (+1)*866.769.8127*? .!!~~? turbotax intuit tollfree number, @@@#**__turbotax intuit tollfree number,
telephone number for turbotax (+1)*866.769.8127*? .!!~~?, telephone number for turbotax, @@@#**__telephone number for turbotax
telephone number for turbotax customer service (+1)*866.769.8127*? .!!~~?, telephone number for turbotax customer service, @@@#**__telephone number for turbotax customer service
turbotax call center number (+1)*866.769.8127*? .!!~~?, turbotax call center number, @@@#**__turbotax call center number
phone number for turbotax (+1)*866.769.8127*? .!!~~?, phone number for turbotax, phone number for turbotax help, @@@#**__phone number for turbotax help
turbotax technical supportemail (+1)*866.769.8127*? .!!~~?, turbotax technical supportemail, @@@#**__turbotax technical supportemail, @@@#**__turbotax technical supportemail
turbotax customer support email +1)*866.769.8127*? .!!~~?, +turbotax customer support email, @@@#**__turbotax customer support email, turbotax customer support email
(866-769-8127)_turbotax intuit customer phone number, Turbotax customer phone number, turbotax intuit support phone number, turbotax customer support phone number, turbotax intuit phone numebr, turbotax phone numeber, turbotax customer services number, turbotax intuit customer services phone number, turbotax toll free number, turbotax intuit toll free phone number, turbotax toll free service
~ turbotax support phone number [866-769-8127]
turbotax support phone number [866-769-8127]
turbotax intuit support phone number [866-769-8127]
turbotax phone number [866-769-8127], turbotax intuit phone number [866-769-8127],
turbotax [866-769-8127] intuit customer support phone number [866-769-8127], turbotax intuit customer phone number , turbotax intuit customer support number , [866-769-8127]turbotax intuit customer number , [866-769-8127]turbotax customer support phone number
[866-769-8127]turbotax customer support phone number
turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number+[866-769-8127]!~ turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax +[866-769-8127]!~ customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number +[866-769-8127]!~ turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number +[866-769-8127]!~ turbotax customer support phone number turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number turbotax customer support phone numbe
Toll free phone number (+1)*866.769.8127*? .!!~~? turbotax intuit support phone number, turbotax intuit support phone number,
turbotax support phone number (+1)*866.769.8127*? .!!~~? turbotax support phone number,@@@#**__ turbotax support phone number
turbotax phone number (+1)*866.769.8127*? .!!~~? turbotax phone number,@@@#**__ turbotax phone number
turbotax support number (+1)*866.769.8127*? .!!~~? turbotax support number,@@@#**__ turbotax support number
turbotax customer support phone number (+1)*866.769.8127*? .!!~~? turbotax customer support phone number,@@@#**__ turbotax customer support phone number
turbotax customer support number (+1)*866.769.8127*? .!!~~? turbotax customer support number,@@@#**__ turbotax customer support number
turbotax customer phone number (+1)*866.769.8127*? .!!~~? turbotax customer phone number,@@@#**__ turbotax customer phone number
turbotax customer number (+1)*866.769.8127*? .!!~~? turbotax customer number,@@@#**__ turbotax customer number
turbotax customer services number (+1)*866.769.8127*? .!!~~? turbotax customer services number,@@@#**__ turbotax customer services number
turbotax customer services phone number (+1)*866.769.8127*? .!!~~? turbotax customer services phone number,@@@#**__ turbotax customer services phone number
turbotax technical support phone number (+1)*866.769.8127*? .!!~~? turbotax technical support phone number,@@@#**__ turbotax technical support phonenumber
turbotax technical support number (+1)*866.769.8127*? .!!~~? turbotax technical support number,@@@#**__ turbotax technical support number
turbotax technical number (+1)*866.769.8127*? .!!~~? turbotax technical number,@@@#**__ turbotax technical number
turbotax help support phone number (+1)*866.769.8127*? .!!~~? turbotax help support phone number,@@@#**__ turbotax help support phone number
turbotax helpline phone number (+1)*866.769.8127*? .!!~~? turbotax helpline support phone number,@@@#**__ turbotax helpline phone number
turbotax helpline number (+1)*866.769.8127*? .!!~~? turbotax helpline support number,@@@#**__ turbotax helpline number
turbotax Toll free phone number (+1)*866.769.8127*? .!!~~? turbotax intuit tollfree support phone number, turbotax tollfree support phone number,
turbotax Toll free number (+1)*866.769.8127*? .!!~~? turbotax tollfree number, @@@#**__turbotax tollfree number,
turbotax intuit Toll free number (+1)*866.769.8127*? .!!~~? turbotax intuit tollfree number, @@@#**__turbotax intuit tollfree number,
telephone number for turbotax (+1)*866.769.8127*? .!!~~?, telephone number for turbotax, @@@#**__telephone number for turbotax
telephone number for turbotax customer service (+1)*866.769.8127*? .!!~~?, telephone number for turbotax customer service, @@@#**__telephone number for turbotax customer service
turbotax call center number (+1)*866.769.8127*? .!!~~?, turbotax call center number, @@@#**__turbotax call center number
phone number for turbotax (+1)*866.769.8127*? .!!~~?, phone number for turbotax, phone number for turbotax help, @@@#**__phone number for turbotax help
turbotax technical supportemail (+1)*866.769.8127*? .!!~~?, turbotax technical supportemail, @@@#**__turbotax technical supportemail, @@@#**__turbotax technical supportemail
turbotax customer support email +1)*866.769.8127*? .!!~~?, +turbotax customer support email, @@@#**__turbotax customer support email, turbotax customer support email
(866-769-8127)_turbotax intuit customer phone number, Turbotax customer phone number, turbotax intuit support phone number, turbotax customer support phone number, turbotax intuit phone numebr, turbotax phone numeber, turbotax customer services number, turbotax intuit customer services phone number, turbotax toll free number, turbotax intuit toll free phone number, turbotax toll free service
~ turbotax support phone number [866-769-8127]
turbotax support phone number [866-769-8127]
turbotax intuit support phone number [866-769-8127]
turbotax phone number [866-769-8127], turbotax intuit phone number [866-769-8127],
turbotax [866-769-8127] intuit customer support phone number [866-769-8127], turbotax intuit customer phone number , turbotax intuit customer support number , [866-769-8127]turbotax intuit customer number , [866-769-8127]turbotax customer support phone number
[866-769-8127]turbotax customer support phone number
turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number+[866-769-8127]!~ turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax +[866-769-8127]!~ customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number +[866-769-8127]!~ turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number +[866-769-8127]!~ turbotax customer support phone number turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number turbotax customer support phone numbe
Toll free phone number (+1)*866.769.8127*? .!!~~? turbotax intuit support phone number, turbotax intuit support phone number,
turbotax support phone number (+1)*866.769.8127*? .!!~~? turbotax support phone number,@@@#**__ turbotax support phone number
turbotax phone number (+1)*866.769.8127*? .!!~~? turbotax phone number,@@@#**__ turbotax phone number
turbotax support number (+1)*866.769.8127*? .!!~~? turbotax support number,@@@#**__ turbotax support number
turbotax customer support phone number (+1)*866.769.8127*? .!!~~? turbotax customer support phone number,@@@#**__ turbotax customer support phone number
turbotax customer support number (+1)*866.769.8127*? .!!~~? turbotax customer support number,@@@#**__ turbotax customer support number
turbotax customer phone number (+1)*866.769.8127*? .!!~~? turbotax customer phone number,@@@#**__ turbotax customer phone number
turbotax customer number (+1)*866.769.8127*? .!!~~? turbotax customer number,@@@#**__ turbotax customer number
turbotax customer services number (+1)*866.769.8127*? .!!~~? turbotax customer services number,@@@#**__ turbotax customer services number
turbotax customer services phone number (+1)*866.769.8127*? .!!~~? turbotax customer services phone number,@@@#**__ turbotax customer services phone number
turbotax technical support phone number (+1)*866.769.8127*? .!!~~? turbotax technical support phone number,@@@#**__ turbotax technical support phonenumber
turbotax technical support number (+1)*866.769.8127*? .!!~~? turbotax technical support number,@@@#**__ turbotax technical support number
turbotax technical number (+1)*866.769.8127*? .!!~~? turbotax technical number,@@@#**__ turbotax technical number
turbotax help support phone number (+1)*866.769.8127*? .!!~~? turbotax help support phone number,@@@#**__ turbotax help support phone number
turbotax helpline phone number (+1)*866.769.8127*? .!!~~? turbotax helpline support phone number,@@@#**__ turbotax helpline phone number
turbotax helpline number (+1)*866.769.8127*? .!!~~? turbotax helpline support number,@@@#**__ turbotax helpline number
turbotax Toll free phone number (+1)*866.769.8127*? .!!~~? turbotax intuit tollfree support phone number, turbotax tollfree support phone number,
turbotax Toll free number (+1)*866.769.8127*? .!!~~? turbotax tollfree number, @@@#**__turbotax tollfree number,
turbotax intuit Toll free number (+1)*866.769.8127*? .!!~~? turbotax intuit tollfree number, @@@#**__turbotax intuit tollfree number,
telephone number for turbotax (+1)*866.769.8127*? .!!~~?, telephone number for turbotax, @@@#**__telephone number for turbotax
telephone number for turbotax customer service (+1)*866.769.8127*? .!!~~?, telephone number for turbotax customer service, @@@#**__telephone number for turbotax customer service
turbotax call center number (+1)*866.769.8127*? .!!~~?, turbotax call center number, @@@#**__turbotax call center number
phone number for turbotax (+1)*866.769.8127*? .!!~~?, phone number for turbotax, phone number for turbotax help, @@@#**__phone number for turbotax help
turbotax technical supportemail (+1)*866.769.8127*? .!!~~?, turbotax technical supportemail, @@@#**__turbotax technical supportemail, @@@#**__turbotax technical supportemail
turbotax customer support email +1)*866.769.8127*? .!!~~?, +turbotax customer support email, @@@#**__turbotax customer support email, turbotax customer support email
(866-769-8127)_turbotax intuit customer phone number, Turbotax customer phone number, turbotax intuit support phone number, turbotax customer support phone number, turbotax intuit phone numebr, turbotax phone numeber, turbotax customer services number, turbotax intuit customer services phone number, turbotax toll free number, turbotax intuit toll free phone number, turbotax toll free service
~ turbotax support phone number [866-769-8127]
turbotax support phone number [866-769-8127]
turbotax intuit support phone number [866-769-8127]
turbotax phone number [866-769-8127], turbotax intuit phone number [866-769-8127],
turbotax [866-769-8127] intuit customer support phone number [866-769-8127], turbotax intuit customer phone number , turbotax intuit customer support number , [866-769-8127]turbotax intuit customer number , [866-769-8127]turbotax customer support phone number
[866-769-8127]turbotax customer support phone number
turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number+[866-769-8127]!~ turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax +[866-769-8127]!~ customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number +[866-769-8127]!~ turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number +[866-769-8127]!~ turbotax customer support phone number turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number turbotax customer support phone numbe
Toll free phone number (+1)*866.769.8127*? .!!~~? turbotax intuit support phone number, turbotax intuit support phone number,
turbotax support phone number (+1)*866.769.8127*? .!!~~? turbotax support phone number,@@@#**__ turbotax support phone number
turbotax phone number (+1)*866.769.8127*? .!!~~? turbotax phone number,@@@#**__ turbotax phone number
turbotax support number (+1)*866.769.8127*? .!!~~? turbotax support number,@@@#**__ turbotax support number
turbotax customer support phone number (+1)*866.769.8127*? .!!~~? turbotax customer support phone number,@@@#**__ turbotax customer support phone number
turbotax customer support number (+1)*866.769.8127*? .!!~~? turbotax customer support number,@@@#**__ turbotax customer support number
turbotax customer phone number (+1)*866.769.8127*? .!!~~? turbotax customer phone number,@@@#**__ turbotax customer phone number
turbotax customer number (+1)*866.769.8127*? .!!~~? turbotax customer number,@@@#**__ turbotax customer number
turbotax customer services number (+1)*866.769.8127*? .!!~~? turbotax customer services number,@@@#**__ turbotax customer services number
turbotax customer services phone number (+1)*866.769.8127*? .!!~~? turbotax customer services phone number,@@@#**__ turbotax customer services phone number
turbotax technical support phone number (+1)*866.769.8127*? .!!~~? turbotax technical support phone number,@@@#**__ turbotax technical support phonenumber
turbotax technical support number (+1)*866.769.8127*? .!!~~? turbotax technical support number,@@@#**__ turbotax technical support number
turbotax technical number (+1)*866.769.8127*? .!!~~? turbotax technical number,@@@#**__ turbotax technical number
turbotax help support phone number (+1)*866.769.8127*? .!!~~? turbotax help support phone number,@@@#**__ turbotax help support phone number
turbotax helpline phone number (+1)*866.769.8127*? .!!~~? turbotax helpline support phone number,@@@#**__ turbotax helpline phone number
turbotax helpline number (+1)*866.769.8127*? .!!~~? turbotax helpline support number,@@@#**__ turbotax helpline number
turbotax Toll free phone number (+1)*866.769.8127*? .!!~~? turbotax intuit tollfree support phone number, turbotax tollfree support phone number,
turbotax Toll free number (+1)*866.769.8127*? .!!~~? turbotax tollfree number, @@@#**__turbotax tollfree number,
turbotax intuit Toll free number (+1)*866.769.8127*? .!!~~? turbotax intuit tollfree number, @@@#**__turbotax intuit tollfree number,
telephone number for turbotax (+1)*866.769.8127*? .!!~~?, telephone number for turbotax, @@@#**__telephone number for turbotax
telephone number for turbotax customer service (+1)*866.769.8127*? .!!~~?, telephone number for turbotax customer service, @@@#**__telephone number for turbotax customer service
turbotax call center number (+1)*866.769.8127*? .!!~~?, turbotax call center number, @@@#**__turbotax call center number
phone number for turbotax (+1)*866.769.8127*? .!!~~?, phone number for turbotax, phone number for turbotax help, @@@#**__phone number for turbotax help
turbotax technical supportemail (+1)*866.769.8127*? .!!~~?, turbotax technical supportemail, @@@#**__turbotax technical supportemail, @@@#**__turbotax technical supportemail
turbotax customer support email +1)*866.769.8127*? .!!~~?, +turbotax customer support email, @@@#**__turbotax customer support email, turbotax customer support email
(866-769-8127)_turbotax intuit customer phone number, Turbotax customer phone number, turbotax intuit support phone number, turbotax customer support phone number, turbotax intuit phone numebr, turbotax phone numeber, turbotax customer services number, turbotax intuit customer services phone number, turbotax toll free number, turbotax intuit toll free phone number, turbotax toll free service
~ turbotax support phone number [866-769-8127]
turbotax support phone number [866-769-8127]
turbotax intuit support phone number [866-769-8127]
turbotax phone number [866-769-8127], turbotax intuit phone number [866-769-8127],
turbotax [866-769-8127] intuit customer support phone number [866-769-8127], turbotax intuit customer phone number , turbotax intuit customer support number , [866-769-8127]turbotax intuit customer number , [866-769-8127]turbotax customer support phone number
[866-769-8127]turbotax customer support phone number
turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number+[866-769-8127]!~ turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax +[866-769-8127]!~ customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number +[866-769-8127]!~ turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number +[866-769-8127]!~ turbotax customer support phone number turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number turbotax customer support phone numbe
Toll free phone number (+1)*866.769.8127*? .!!~~? turbotax intuit support phone number, turbotax intuit support phone number,
turbotax support phone number (+1)*866.769.8127*? .!!~~? turbotax support phone number,@@@#**__ turbotax support phone number
turbotax phone number (+1)*866.769.8127*? .!!~~? turbotax phone number,@@@#**__ turbotax phone number
turbotax support number (+1)*866.769.8127*? .!!~~? turbotax support number,@@@#**__ turbotax support number
turbotax customer support phone number (+1)*866.769.8127*? .!!~~? turbotax customer support phone number,@@@#**__ turbotax customer support phone number
turbotax customer support number (+1)*866.769.8127*? .!!~~? turbotax customer support number,@@@#**__ turbotax customer support number
turbotax customer phone number (+1)*866.769.8127*? .!!~~? turbotax customer phone number,@@@#**__ turbotax customer phone number
turbotax customer number (+1)*866.769.8127*? .!!~~? turbotax customer number,@@@#**__ turbotax customer number
turbotax customer services number (+1)*866.769.8127*? .!!~~? turbotax customer services number,@@@#**__ turbotax customer services number
turbotax customer services phone number (+1)*866.769.8127*? .!!~~? turbotax customer services phone number,@@@#**__ turbotax customer services phone number
turbotax technical support phone number (+1)*866.769.8127*? .!!~~? turbotax technical support phone number,@@@#**__ turbotax technical support phonenumber
turbotax technical support number (+1)*866.769.8127*? .!!~~? turbotax technical support number,@@@#**__ turbotax technical support number
turbotax technical number (+1)*866.769.8127*? .!!~~? turbotax technical number,@@@#**__ turbotax technical number
turbotax help support phone number (+1)*866.769.8127*? .!!~~? turbotax help support phone number,@@@#**__ turbotax help support phone number
turbotax helpline phone number (+1)*866.769.8127*? .!!~~? turbotax helpline support phone number,@@@#**__ turbotax helpline phone number
turbotax helpline number (+1)*866.769.8127*? .!!~~? turbotax helpline support number,@@@#**__ turbotax helpline number
turbotax Toll free phone number (+1)*866.769.8127*? .!!~~? turbotax intuit tollfree support phone number, turbotax tollfree support phone number,
turbotax Toll free number (+1)*866.769.8127*? .!!~~? turbotax tollfree number, @@@#**__turbotax tollfree number,
turbotax intuit Toll free number (+1)*866.769.8127*? .!!~~? turbotax intuit tollfree number, @@@#**__turbotax intuit tollfree number,
telephone number for turbotax (+1)*866.769.8127*? .!!~~?, telephone number for turbotax, @@@#**__telephone number for turbotax
telephone number for turbotax customer service (+1)*866.769.8127*? .!!~~?, telephone number for turbotax customer service, @@@#**__telephone number for turbotax customer service
turbotax call center number (+1)*866.769.8127*? .!!~~?, turbotax call center number, @@@#**__turbotax call center number
phone number for turbotax (+1)*866.769.8127*? .!!~~?, phone number for turbotax, phone number for turbotax help, @@@#**__phone number for turbotax help
turbotax technical supportemail (+1)*866.769.8127*? .!!~~?, turbotax technical supportemail, @@@#**__turbotax technical supportemail, @@@#**__turbotax technical supportemail
turbotax customer support email +1)*866.769.8127*? .!!~~?, +turbotax customer support email, @@@#**__turbotax customer support email, turbotax customer support email
(866-769-8127)_turbotax intuit customer phone number, Turbotax customer phone number, turbotax intuit support phone number, turbotax customer support phone number, turbotax intuit phone numebr, turbotax phone numeber, turbotax customer services number, turbotax intuit customer services phone number, turbotax toll free number, turbotax intuit toll free phone number, turbotax toll free service
~ turbotax support phone number [866-769-8127]
turbotax support phone number [866-769-8127]
turbotax intuit support phone number [866-769-8127]
turbotax phone number [866-769-8127], turbotax intuit phone number [866-769-8127],
turbotax [866-769-8127] intuit customer support phone number [866-769-8127], turbotax intuit customer phone number , turbotax intuit customer support number , [866-769-8127]turbotax intuit customer number , [866-769-8127]turbotax customer support phone number
[866-769-8127]turbotax customer support phone number
turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number+[866-769-8127]!~ turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax +[866-769-8127]!~ customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number +[866-769-8127]!~ turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number +[866-769-8127]!~ turbotax customer support phone number turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number turbotax customer support phone numbe
Toll free phone number (+1)*866.769.8127*? .!!~~? turbotax intuit support phone number, turbotax intuit support phone number,
turbotax support phone number (+1)*866.769.8127*? .!!~~? turbotax support phone number,@@@#**__ turbotax support phone number
turbotax phone number (+1)*866.769.8127*? .!!~~? turbotax phone number,@@@#**__ turbotax phone number
turbotax support number (+1)*866.769.8127*? .!!~~? turbotax support number,@@@#**__ turbotax support number
turbotax customer support phone number (+1)*866.769.8127*? .!!~~? turbotax customer support phone number,@@@#**__ turbotax customer support phone number
turbotax customer support number (+1)*866.769.8127*? .!!~~? turbotax customer support number,@@@#**__ turbotax customer support number
turbotax customer phone number (+1)*866.769.8127*? .!!~~? turbotax customer phone number,@@@#**__ turbotax customer phone number
turbotax customer number (+1)*866.769.8127*? .!!~~? turbotax customer number,@@@#**__ turbotax customer number
turbotax customer services number (+1)*866.769.8127*? .!!~~? turbotax customer services number,@@@#**__ turbotax customer services number
turbotax customer services phone number (+1)*866.769.8127*? .!!~~? turbotax customer services phone number,@@@#**__ turbotax customer services phone number
turbotax technical support phone number (+1)*866.769.8127*? .!!~~? turbotax technical support phone number,@@@#**__ turbotax technical support phonenumber
turbotax technical support number (+1)*866.769.8127*? .!!~~? turbotax technical support number,@@@#**__ turbotax technical support number
turbotax technical number (+1)*866.769.8127*? .!!~~? turbotax technical number,@@@#**__ turbotax technical number
turbotax help support phone number (+1)*866.769.8127*? .!!~~? turbotax help support phone number,@@@#**__ turbotax help support phone number
turbotax helpline phone number (+1)*866.769.8127*? .!!~~? turbotax helpline support phone number,@@@#**__ turbotax helpline phone number
turbotax helpline number (+1)*866.769.8127*? .!!~~? turbotax helpline support number,@@@#**__ turbotax helpline number
turbotax Toll free phone number (+1)*866.769.8127*? .!!~~? turbotax intuit tollfree support phone number, turbotax tollfree support phone number,
turbotax Toll free number (+1)*866.769.8127*? .!!~~? turbotax tollfree number, @@@#**__turbotax tollfree number,
turbotax intuit Toll free number (+1)*866.769.8127*? .!!~~? turbotax intuit tollfree number, @@@#**__turbotax intuit tollfree number,
telephone number for turbotax (+1)*866.769.8127*? .!!~~?, telephone number for turbotax, @@@#**__telephone number for turbotax
telephone number for turbotax customer service (+1)*866.769.8127*? .!!~~?, telephone number for turbotax customer service, @@@#**__telephone number for turbotax customer service
turbotax call center number (+1)*866.769.8127*? .!!~~?, turbotax call center number, @@@#**__turbotax call center number
phone number for turbotax (+1)*866.769.8127*? .!!~~?, phone number for turbotax, phone number for turbotax help, @@@#**__phone number for turbotax help
turbotax technical supportemail (+1)*866.769.8127*? .!!~~?, turbotax technical supportemail, @@@#**__turbotax technical supportemail, @@@#**__turbotax technical supportemail
turbotax customer support email +1)*866.769.8127*? .!!~~?, +turbotax customer support email, @@@#**__turbotax customer support email, turbotax customer support email
(866-769-8127)_turbotax intuit customer phone number, Turbotax customer phone number, turbotax intuit support phone number, turbotax customer support phone number, turbotax intuit phone numebr, turbotax phone numeber, turbotax customer services number, turbotax intuit customer services phone number, turbotax toll free number, turbotax intuit toll free phone number, turbotax toll free service
~ turbotax support phone number [866-769-8127]
turbotax support phone number [866-769-8127]
turbotax intuit support phone number [866-769-8127]
turbotax phone number [866-769-8127], turbotax intuit phone number [866-769-8127],
turbotax [866-769-8127] intuit customer support phone number [866-769-8127], turbotax intuit customer phone number , turbotax intuit customer support number , [866-769-8127]turbotax intuit customer number , [866-769-8127]turbotax customer support phone number
[866-769-8127]turbotax customer support phone number
turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number+[866-769-8127]!~ turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax +[866-769-8127]!~ customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number +[866-769-8127]!~ turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number +[866-769-8127]!~ turbotax customer support phone number turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number turbotax customer support phone numbe
Toll free phone number (+1)*866.769.8127*? .!!~~? turbotax intuit support phone number, turbotax intuit support phone number,
turbotax support phone number (+1)*866.769.8127*? .!!~~? turbotax support phone number,@@@#**__ turbotax support phone number
turbotax phone number (+1)*866.769.8127*? .!!~~? turbotax phone number,@@@#**__ turbotax phone number
turbotax support number (+1)*866.769.8127*? .!!~~? turbotax support number,@@@#**__ turbotax support number
turbotax customer support phone number (+1)*866.769.8127*? .!!~~? turbotax customer support phone number,@@@#**__ turbotax customer support phone number
turbotax customer support number (+1)*866.769.8127*? .!!~~? turbotax customer support number,@@@#**__ turbotax customer support number
turbotax customer phone number (+1)*866.769.8127*? .!!~~? turbotax customer phone number,@@@#**__ turbotax customer phone number
turbotax customer number (+1)*866.769.8127*? .!!~~? turbotax customer number,@@@#**__ turbotax customer number
turbotax customer services number (+1)*866.769.8127*? .!!~~? turbotax customer services number,@@@#**__ turbotax customer services number
turbotax customer services phone number (+1)*866.769.8127*? .!!~~? turbotax customer services phone number,@@@#**__ turbotax customer services phone number
turbotax technical support phone number (+1)*866.769.8127*? .!!~~? turbotax technical support phone number,@@@#**__ turbotax technical support phonenumber
turbotax technical support number (+1)*866.769.8127*? .!!~~? turbotax technical support number,@@@#**__ turbotax technical support number
turbotax technical number (+1)*866.769.8127*? .!!~~? turbotax technical number,@@@#**__ turbotax technical number
turbotax help support phone number (+1)*866.769.8127*? .!!~~? turbotax help support phone number,@@@#**__ turbotax help support phone number
turbotax helpline phone number (+1)*866.769.8127*? .!!~~? turbotax helpline support phone number,@@@#**__ turbotax helpline phone number
turbotax helpline number (+1)*866.769.8127*? .!!~~? turbotax helpline support number,@@@#**__ turbotax helpline number
turbotax Toll free phone number (+1)*866.769.8127*? .!!~~? turbotax intuit tollfree support phone number, turbotax tollfree support phone number,
turbotax Toll free number (+1)*866.769.8127*? .!!~~? turbotax tollfree number, @@@#**__turbotax tollfree number,
turbotax intuit Toll free number (+1)*866.769.8127*? .!!~~? turbotax intuit tollfree number, @@@#**__turbotax intuit tollfree number,
telephone number for turbotax (+1)*866.769.8127*? .!!~~?, telephone number for turbotax, @@@#**__telephone number for turbotax
telephone number for turbotax customer service (+1)*866.769.8127*? .!!~~?, telephone number for turbotax customer service, @@@#**__telephone number for turbotax customer service
turbotax call center number (+1)*866.769.8127*? .!!~~?, turbotax call center number, @@@#**__turbotax call center number
phone number for turbotax (+1)*866.769.8127*? .!!~~?, phone number for turbotax, phone number for turbotax help, @@@#**__phone number for turbotax help
turbotax technical supportemail (+1)*866.769.8127*? .!!~~?, turbotax technical supportemail, @@@#**__turbotax technical supportemail, @@@#**__turbotax technical supportemail
turbotax customer support email +1)*866.769.8127*? .!!~~?, +turbotax customer support email, @@@#**__turbotax customer support email, turbotax customer support email
(866-769-8127)_turbotax intuit customer phone number, Turbotax customer phone number, turbotax intuit support phone number, turbotax customer support phone number, turbotax intuit phone numebr, turbotax phone numeber, turbotax customer services number, turbotax intuit customer services phone number, turbotax toll free number, turbotax intuit toll free phone number, turbotax toll free service
~ turbotax support phone number [866-769-8127]
turbotax support phone number [866-769-8127]
turbotax intuit support phone number [866-769-8127]
turbotax phone number [866-769-8127], turbotax intuit phone number [866-769-8127],
turbotax [866-769-8127] intuit customer support phone number [866-769-8127], turbotax intuit customer phone number , turbotax intuit customer support number , [866-769-8127]turbotax intuit customer number , [866-769-8127]turbotax customer support phone number
[866-769-8127]turbotax customer support phone number
turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number+[866-769-8127]!~ turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax +[866-769-8127]!~ customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number +[866-769-8127]!~ turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number +[866-769-8127]!~ turbotax customer support phone number turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number turbotax customer support phone numbe
Toll free phone number (+1)*866.769.8127*? .!!~~? turbotax intuit support phone number, turbotax intuit support phone number,
turbotax support phone number (+1)*866.769.8127*? .!!~~? turbotax support phone number,@@@#**__ turbotax support phone number
turbotax phone number (+1)*866.769.8127*? .!!~~? turbotax phone number,@@@#**__ turbotax phone number
turbotax support number (+1)*866.769.8127*? .!!~~? turbotax support number,@@@#**__ turbotax support number
turbotax customer support phone number (+1)*866.769.8127*? .!!~~? turbotax customer support phone number,@@@#**__ turbotax customer support phone number
turbotax customer support number (+1)*866.769.8127*? .!!~~? turbotax customer support number,@@@#**__ turbotax customer support number
turbotax customer phone number (+1)*866.769.8127*? .!!~~? turbotax customer phone number,@@@#**__ turbotax customer phone number
turbotax customer number (+1)*866.769.8127*? .!!~~? turbotax customer number,@@@#**__ turbotax customer number
turbotax customer services number (+1)*866.769.8127*? .!!~~? turbotax customer services number,@@@#**__ turbotax customer services number
turbotax customer services phone number (+1)*866.769.8127*? .!!~~? turbotax customer services phone number,@@@#**__ turbotax customer services phone number
turbotax technical support phone number (+1)*866.769.8127*? .!!~~? turbotax technical support phone number,@@@#**__ turbotax technical support phonenumber
turbotax technical support number (+1)*866.769.8127*? .!!~~? turbotax technical support number,@@@#**__ turbotax technical support number
turbotax technical number (+1)*866.769.8127*? .!!~~? turbotax technical number,@@@#**__ turbotax technical number
turbotax help support phone number (+1)*866.769.8127*? .!!~~? turbotax help support phone number,@@@#**__ turbotax help support phone number
turbotax helpline phone number (+1)*866.769.8127*? .!!~~? turbotax helpline support phone number,@@@#**__ turbotax helpline phone number
turbotax helpline number (+1)*866.769.8127*? .!!~~? turbotax helpline support number,@@@#**__ turbotax helpline number
turbotax Toll free phone number (+1)*866.769.8127*? .!!~~? turbotax intuit tollfree support phone number, turbotax tollfree support phone number,
turbotax Toll free number (+1)*866.769.8127*? .!!~~? turbotax tollfree number, @@@#**__turbotax tollfree number,
turbotax intuit Toll free number (+1)*866.769.8127*? .!!~~? turbotax intuit tollfree number, @@@#**__turbotax intuit tollfree number,
telephone number for turbotax (+1)*866.769.8127*? .!!~~?, telephone number for turbotax, @@@#**__telephone number for turbotax
telephone number for turbotax customer service (+1)*866.769.8127*? .!!~~?, telephone number for turbotax customer service, @@@#**__telephone number for turbotax customer service
turbotax call center number (+1)*866.769.8127*? .!!~~?, turbotax call center number, @@@#**__turbotax call center number
phone number for turbotax (+1)*866.769.8127*? .!!~~?, phone number for turbotax, phone number for turbotax help, @@@#**__phone number for turbotax help
turbotax technical supportemail (+1)*866.769.8127*? .!!~~?, turbotax technical supportemail, @@@#**__turbotax technical supportemail, @@@#**__turbotax technical supportemail
turbotax customer support email +1)*866.769.8127*? .!!~~?, +turbotax customer support email, @@@#**__turbotax customer support email, turbotax customer support email
(866-769-8127)_turbotax intuit customer phone number, Turbotax customer phone number, turbotax intuit support phone number, turbotax customer support phone number, turbotax intuit phone numebr, turbotax phone numeber, turbotax customer services number, turbotax intuit customer services phone number, turbotax toll free number, turbotax intuit toll free phone number, turbotax toll free service
~ turbotax support phone number [866-769-8127]
turbotax support phone number [866-769-8127]
turbotax intuit support phone number [866-769-8127]
turbotax phone number [866-769-8127], turbotax intuit phone number [866-769-8127],
turbotax [866-769-8127] intuit customer support phone number [866-769-8127], turbotax intuit customer phone number , turbotax intuit customer support number , [866-769-8127]turbotax intuit customer number , [866-769-8127]turbotax customer support phone number
[866-769-8127]turbotax customer support phone number
turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number+[866-769-8127]!~ turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax +[866-769-8127]!~ customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number +[866-769-8127]!~ turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number +[866-769-8127]!~ turbotax customer support phone number turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number turbotax customer support phone numbe
Toll free phone number (+1)*866.769.8127*? .!!~~? turbotax intuit support phone number, turbotax intuit support phone number,
turbotax support phone number (+1)*866.769.8127*? .!!~~? turbotax support phone number,@@@#**__ turbotax support phone number
turbotax phone number (+1)*866.769.8127*? .!!~~? turbotax phone number,@@@#**__ turbotax phone number
turbotax support number (+1)*866.769.8127*? .!!~~? turbotax support number,@@@#**__ turbotax support number
turbotax customer support phone number (+1)*866.769.8127*? .!!~~? turbotax customer support phone number,@@@#**__ turbotax customer support phone number
turbotax customer support number (+1)*866.769.8127*? .!!~~? turbotax customer support number,@@@#**__ turbotax customer support number
turbotax customer phone number (+1)*866.769.8127*? .!!~~? turbotax customer phone number,@@@#**__ turbotax customer phone number
turbotax customer number (+1)*866.769.8127*? .!!~~? turbotax customer number,@@@#**__ turbotax customer number
turbotax customer services number (+1)*866.769.8127*? .!!~~? turbotax customer services number,@@@#**__ turbotax customer services number
turbotax customer services phone number (+1)*866.769.8127*? .!!~~? turbotax customer services phone number,@@@#**__ turbotax customer services phone number
turbotax technical support phone number (+1)*866.769.8127*? .!!~~? turbotax technical support phone number,@@@#**__ turbotax technical support phonenumber
turbotax technical support number (+1)*866.769.8127*? .!!~~? turbotax technical support number,@@@#**__ turbotax technical support number
turbotax technical number (+1)*866.769.8127*? .!!~~? turbotax technical number,@@@#**__ turbotax technical number
turbotax help support phone number (+1)*866.769.8127*? .!!~~? turbotax help support phone number,@@@#**__ turbotax help support phone number
turbotax helpline phone number (+1)*866.769.8127*? .!!~~? turbotax helpline support phone number,@@@#**__ turbotax helpline phone number
turbotax helpline number (+1)*866.769.8127*? .!!~~? turbotax helpline support number,@@@#**__ turbotax helpline number
turbotax Toll free phone number (+1)*866.769.8127*? .!!~~? turbotax intuit tollfree support phone number, turbotax tollfree support phone number,
turbotax Toll free number (+1)*866.769.8127*? .!!~~? turbotax tollfree number, @@@#**__turbotax tollfree number,
turbotax intuit Toll free number (+1)*866.769.8127*? .!!~~? turbotax intuit tollfree number, @@@#**__turbotax intuit tollfree number,
telephone number for turbotax (+1)*866.769.8127*? .!!~~?, telephone number for turbotax, @@@#**__telephone number for turbotax
telephone number for turbotax customer service (+1)*866.769.8127*? .!!~~?, telephone number for turbotax customer service, @@@#**__telephone number for turbotax customer service
turbotax call center number (+1)*866.769.8127*? .!!~~?, turbotax call center number, @@@#**__turbotax call center number
phone number for turbotax (+1)*866.769.8127*? .!!~~?, phone number for turbotax, phone number for turbotax help, @@@#**__phone number for turbotax help
turbotax technical supportemail (+1)*866.769.8127*? .!!~~?, turbotax technical supportemail, @@@#**__turbotax technical supportemail, @@@#**__turbotax technical supportemail
turbotax customer support email +1)*866.769.8127*? .!!~~?, +turbotax customer support email, @@@#**__turbotax customer support email, turbotax customer support email
(866-769-8127)_turbotax intuit customer phone number, Turbotax customer phone number, turbotax intuit support phone number, turbotax customer support phone number, turbotax intuit phone numebr, turbotax phone numeber, turbotax customer services number, turbotax intuit customer services phone number, turbotax toll free number, turbotax intuit toll free phone number, turbotax toll free service
~ turbotax support phone number [866-769-8127]
turbotax support phone number [866-769-8127]
turbotax intuit support phone number [866-769-8127]
turbotax phone number [866-769-8127], turbotax intuit phone number [866-769-8127],
turbotax [866-769-8127] intuit customer support phone number [866-769-8127], turbotax intuit customer phone number , turbotax intuit customer support number , [866-769-8127]turbotax intuit customer number , [866-769-8127]turbotax customer support phone number
[866-769-8127]turbotax customer support phone number
turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number+[866-769-8127]!~ turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax +[866-769-8127]!~ customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number +[866-769-8127]!~ turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number +[866-769-8127]!~ turbotax customer support phone number turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number turbotax customer support phone numbe
39462f76e53abbac577c75ed3e0279f8c25cf648
611
2016-03-07T21:44:01Z
Turbotax01
24
Created page with " )@-: Turbotax Tech Support Phone Number provides USA/CANADA clients. call 866-769-8127 to get all Turbotax account solution. @@Call, *==866.769*8127 Turbotax tech support ph..."
wikitext
text/x-wiki
)@-: Turbotax Tech Support Phone Number provides USA/CANADA clients. call 866-769-8127 to get all Turbotax account solution. @@Call, *==866.769*8127 Turbotax tech support phone number, 866-769-8127 Turbotax Tech Support Phone Number, Turbotax Help Desk Phone Number, Turbotax tech support number, Turbotax technical support phone number,@@@ Turbotax phone number, Turbotax technical support number, Turbotax support phone number, Turbotax technical support, Turbotax Customer Service Phone Number, Turbotax Customer Service Number, Turbotax Customer Support Phone Number, Turbotax Customer Support Number,@@@@ Turbotax Customer Service Helpline Number, Turbotax Customer Care Number, Turbotax support team phone number, @@@@@ Turbotax help number-Turbotax Helpline Number; Turbotax help phone number-Turbotax Helpline Number, Turbotax Tech Support Toll free Number, Turbotax Support Telephone Number, Turbotax Tech Support Telephone number, Turbotax Tech Support contact number, Turbotax support contact number, Turbotax technical support contact number. Call, Turbotax tech support phone number, Turbotax Tech Support Phone Number, Turbotax Help Desk Phone Number, Turbotax tech support number, Turbotax technical support phone number, Turbotax phone number, Turbotax technical support number, Turbotax support phone number. It is very popular toll free number which provide by Turbotax technical support, Turbotax Customer Service Phone Number, Turbotax Customer Service Number, Turbotax Customer Support Phone Number, Turbotax Customer Support Number, Turbotax Customer Service Helpline Number, Turbotax Customer Care Number, Turbotax support team phone number. Call, Turbotax tech support phone number, Turbotax Tech Support Phone Number, Turbotax Help Desk Phone Number, Turbotax tech support number, Turbotax technical support phone number, Turbotax phone number, Turbotax technical support number, Turbotax support phone number, Turbotax technical support, Turbotax Customer Service Phone Number, Turbotax Customer Service Number, Turbotax Customer Support Phone Number, Turbotax Customer Support Number, Turbotax Customer Service Helpline Number, Turbotax Customer Care Number, Turbotax support team phone number, Turbotax help number-Turbotax Helpline Number; Turbotax help phone number, Turbotax Helpline Number, Turbotax Tech Support Toll free Number, Turbotax Support Telephone Number, Turbotax Tech Support Telephone number, Turbotax Tech Support contact number, Turbotax support contact number, Turbotax technical support contact number, Turbotax pro support phone number, Turbotax PRinter support phone number. Turbotax PRinter customer support phone number
866-769-8127 Turbotax technical help telephone number, Turbotax technical help contact number, Turbotax technical support contact number, Turbotax contact number, Turbotax contact phone number, Turbotax contact telephone number, Turbotax 24 hour contact number, Turbotax customer support contact number, Turbotax customer service contact number, Turbotax official number, Turbotax official contact number, Turbotax contact number, Turbotax toll free number, number for Turbotax support, Turbotax 24/7 support phone number Turbotax 866-769-8127 support phone number,Turbotax 866-769-8127 support phone number,Turbotax 866-769-8127 help phone number, Turbotax 866-769-8127 technical support number.Turbotax 866-769-8127 support number, Turbotax 866-769-8127 phone number, Turbotax 866-769-8127 tech support number, Turbotax 866-769-8127 customer support number, Turbotax 866-769-8127 customer support phone number, Turbotax 866-769-8127 customer service phone number, Turbotax 866-769-8127 PRinter customer service phone number, Turbotax 866-769-8127 support phone number. Help@Call *==866.769*8127/.Turbotax 24/7 support phone number,Turbotax telephone number for support? call 866-769-8127@./Turbotax contact number, Turbotax contact phone number, Turbotax contact telephone number,,telephone number for Turbotax online support,Turbotax official support number,Turbotax official number,Turbotax PRinter official phone number,,,phone number for Turbotax PRinter support,,Turbotax 24/7 support phone number,,Turbotax support number,Turbotax telephone number for support TURBOTAX Toll Free, Intuit@(*==866.769*8127)@ TURBOTAX Tech Support Phone Number provides online solution for all USA/CANADA clients. For any help of query call 866-769-8127 to get all TURBOTAX account solution. @@Call, *==866.769*8127 for all type help by TURBOTAX tech support phone number, Intuit TURBOTAX Tech Support Phone Number, TURBOTAX Help Desk Phone Number, TURBOTAX tech support number, TURBOTAX technical support phone number,@@@ TURBOTAX phone number, TURBOTAX technical support number, TURBOTAX support phone number, TURBOTAX technical support, TURBOTAX Customer Service Phone Number, TURBOTAX Customer Service Number, TURBOTAX Customer Support Phone Number, TURBOTAX Customer Support Number,@@@@ TURBOTAX Customer Service Helpline Number, TURBOTAX Customer Care Number, TURBOTAX support team phone number, @@@@@ TURBOTAX help number-TURBOTAX Helpline Number; TURBOTAX help phone number-TURBOTAX Helpline Number, TURBOTAX Tech Support Toll free Number, TURBOTAX Support Telephone Number, TURBOTAX Tech Support Telephone number, TURBOTAX Tech Support contact number, TURBOTAX support contact number, TURBOTAX technical support contact number. Call, TURBOTAX tech support phone number, Intuit TURBOTAX Tech Support Phone Number, TURBOTAX Help Desk Phone Number, TURBOTAX tech support number, TURBOTAX technical support phone number, TURBOTAX phone number, TURBOTAX technical support number, TURBOTAX support phone number. It is very popular toll free number which provide by TURBOTAX technical support, TURBOTAX Customer Service Phone Number, TURBOTAX Customer Service Number, TURBOTAX Customer Support Phone Number, TURBOTAX Customer Support Number, TURBOTAX Customer Service Helpline Number, TURBOTAX Customer Care Number, TURBOTAX support team phone number. Call, TURBOTAX tech support phone number, Intuit TURBOTAX Tech Support Phone Number, TURBOTAX Help Desk Phone Number, TURBOTAX tech support number, TURBOTAX technical support phone number, TURBOTAX phone number, TURBOTAX technical support number, TURBOTAX support phone number, TURBOTAX technical support, TURBOTAX Customer Service Phone Number, TURBOTAX Customer Service Number, TURBOTAX Customer Support Phone Number, TURBOTAX Customer Support Number, TURBOTAX Customer Service Helpline Number, TURBOTAX Customer Care Number, TURBOTAX support team phone number, TURBOTAX help number-TURBOTAX Helpline Number; TURBOTAX help phone number, TURBOTAX Helpline Number, TURBOTAX Tech Support Toll free Number, TURBOTAX Support Telephone Number, TURBOTAX Tech Support Telephone number, TURBOTAX Tech Support contact number, TURBOTAX support contact number, TURBOTAX technical support contact number, Turbotax pro support phone number, Turbotax PRinter support phone number. Turbotax PRinter customer support phone number
Toll free phone number (+1)*866.769.8127*? .!!~~? turbotax intuit support phone number, turbotax intuit support phone number,
turbotax support phone number (+1)*866.769.8127*? .!!~~? turbotax support phone number,@@@#**__ turbotax support phone number
turbotax phone number (+1)*866.769.8127*? .!!~~? turbotax phone number,@@@#**__ turbotax phone number
turbotax support number (+1)*866.769.8127*? .!!~~? turbotax support number,@@@#**__ turbotax support number
turbotax customer support phone number (+1)*866.769.8127*? .!!~~? turbotax customer support phone number,@@@#**__ turbotax customer support phone number
turbotax customer support number (+1)*866.769.8127*? .!!~~? turbotax customer support number,@@@#**__ turbotax customer support number
turbotax customer phone number (+1)*866.769.8127*? .!!~~? turbotax customer phone number,@@@#**__ turbotax customer phone number
turbotax customer number (+1)*866.769.8127*? .!!~~? turbotax customer number,@@@#**__ turbotax customer number
turbotax customer services number (+1)*866.769.8127*? .!!~~? turbotax customer services number,@@@#**__ turbotax customer services number
turbotax customer services phone number (+1)*866.769.8127*? .!!~~? turbotax customer services phone number,@@@#**__ turbotax customer services phone number
turbotax technical support phone number (+1)*866.769.8127*? .!!~~? turbotax technical support phone number,@@@#**__ turbotax technical support phonenumber
turbotax technical support number (+1)*866.769.8127*? .!!~~? turbotax technical support number,@@@#**__ turbotax technical support number
turbotax technical number (+1)*866.769.8127*? .!!~~? turbotax technical number,@@@#**__ turbotax technical number
turbotax help support phone number (+1)*866.769.8127*? .!!~~? turbotax help support phone number,@@@#**__ turbotax help support phone number
turbotax helpline phone number (+1)*866.769.8127*? .!!~~? turbotax helpline support phone number,@@@#**__ turbotax helpline phone number
turbotax helpline number (+1)*866.769.8127*? .!!~~? turbotax helpline support number,@@@#**__ turbotax helpline number
turbotax Toll free phone number (+1)*866.769.8127*? .!!~~? turbotax intuit tollfree support phone number, turbotax tollfree support phone number,
turbotax Toll free number (+1)*866.769.8127*? .!!~~? turbotax tollfree number, @@@#**__turbotax tollfree number,
turbotax intuit Toll free number (+1)*866.769.8127*? .!!~~? turbotax intuit tollfree number, @@@#**__turbotax intuit tollfree number,
telephone number for turbotax (+1)*866.769.8127*? .!!~~?, telephone number for turbotax, @@@#**__telephone number for turbotax
telephone number for turbotax customer service (+1)*866.769.8127*? .!!~~?, telephone number for turbotax customer service, @@@#**__telephone number for turbotax customer service
turbotax call center number (+1)*866.769.8127*? .!!~~?, turbotax call center number, @@@#**__turbotax call center number
phone number for turbotax (+1)*866.769.8127*? .!!~~?, phone number for turbotax, phone number for turbotax help, @@@#**__phone number for turbotax help
turbotax technical supportemail (+1)*866.769.8127*? .!!~~?, turbotax technical supportemail, @@@#**__turbotax technical supportemail, @@@#**__turbotax technical supportemail
turbotax customer support email +1)*866.769.8127*? .!!~~?, +turbotax customer support email, @@@#**__turbotax customer support email, turbotax customer support email
(866-769-8127)_turbotax intuit customer phone number, Turbotax customer phone number, turbotax intuit support phone number, turbotax customer support phone number, turbotax intuit phone numebr, turbotax phone numeber, turbotax customer services number, turbotax intuit customer services phone number, turbotax toll free number, turbotax intuit toll free phone number, turbotax toll free service
~ turbotax support phone number [866-769-8127]
turbotax support phone number [866-769-8127]
turbotax intuit support phone number [866-769-8127]
turbotax phone number [866-769-8127], turbotax intuit phone number [866-769-8127],
turbotax [866-769-8127] intuit customer support phone number [866-769-8127], turbotax intuit customer phone number , turbotax intuit customer support number , [866-769-8127]turbotax intuit customer number , [866-769-8127]turbotax customer support phone number
[866-769-8127]turbotax customer support phone number
turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number+[866-769-8127]!~ turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax +[866-769-8127]!~ customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number +[866-769-8127]!~ turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number +[866-769-8127]!~ turbotax customer support phone number turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number turbotax customer support phone numbe
Toll free phone number (+1)*866.769.8127*? .!!~~? turbotax intuit support phone number, turbotax intuit support phone number,
turbotax support phone number (+1)*866.769.8127*? .!!~~? turbotax support phone number,@@@#**__ turbotax support phone number
turbotax phone number (+1)*866.769.8127*? .!!~~? turbotax phone number,@@@#**__ turbotax phone number
turbotax support number (+1)*866.769.8127*? .!!~~? turbotax support number,@@@#**__ turbotax support number
turbotax customer support phone number (+1)*866.769.8127*? .!!~~? turbotax customer support phone number,@@@#**__ turbotax customer support phone number
turbotax customer support number (+1)*866.769.8127*? .!!~~? turbotax customer support number,@@@#**__ turbotax customer support number
turbotax customer phone number (+1)*866.769.8127*? .!!~~? turbotax customer phone number,@@@#**__ turbotax customer phone number
turbotax customer number (+1)*866.769.8127*? .!!~~? turbotax customer number,@@@#**__ turbotax customer number
turbotax customer services number (+1)*866.769.8127*? .!!~~? turbotax customer services number,@@@#**__ turbotax customer services number
turbotax customer services phone number (+1)*866.769.8127*? .!!~~? turbotax customer services phone number,@@@#**__ turbotax customer services phone number
turbotax technical support phone number (+1)*866.769.8127*? .!!~~? turbotax technical support phone number,@@@#**__ turbotax technical support phonenumber
turbotax technical support number (+1)*866.769.8127*? .!!~~? turbotax technical support number,@@@#**__ turbotax technical support number
turbotax technical number (+1)*866.769.8127*? .!!~~? turbotax technical number,@@@#**__ turbotax technical number
turbotax help support phone number (+1)*866.769.8127*? .!!~~? turbotax help support phone number,@@@#**__ turbotax help support phone number
turbotax helpline phone number (+1)*866.769.8127*? .!!~~? turbotax helpline support phone number,@@@#**__ turbotax helpline phone number
turbotax helpline number (+1)*866.769.8127*? .!!~~? turbotax helpline support number,@@@#**__ turbotax helpline number
turbotax Toll free phone number (+1)*866.769.8127*? .!!~~? turbotax intuit tollfree support phone number, turbotax tollfree support phone number,
turbotax Toll free number (+1)*866.769.8127*? .!!~~? turbotax tollfree number, @@@#**__turbotax tollfree number,
turbotax intuit Toll free number (+1)*866.769.8127*? .!!~~? turbotax intuit tollfree number, @@@#**__turbotax intuit tollfree number,
telephone number for turbotax (+1)*866.769.8127*? .!!~~?, telephone number for turbotax, @@@#**__telephone number for turbotax
telephone number for turbotax customer service (+1)*866.769.8127*? .!!~~?, telephone number for turbotax customer service, @@@#**__telephone number for turbotax customer service
turbotax call center number (+1)*866.769.8127*? .!!~~?, turbotax call center number, @@@#**__turbotax call center number
phone number for turbotax (+1)*866.769.8127*? .!!~~?, phone number for turbotax, phone number for turbotax help, @@@#**__phone number for turbotax help
turbotax technical supportemail (+1)*866.769.8127*? .!!~~?, turbotax technical supportemail, @@@#**__turbotax technical supportemail, @@@#**__turbotax technical supportemail
turbotax customer support email +1)*866.769.8127*? .!!~~?, +turbotax customer support email, @@@#**__turbotax customer support email, turbotax customer support email
(866-769-8127)_turbotax intuit customer phone number, Turbotax customer phone number, turbotax intuit support phone number, turbotax customer support phone number, turbotax intuit phone numebr, turbotax phone numeber, turbotax customer services number, turbotax intuit customer services phone number, turbotax toll free number, turbotax intuit toll free phone number, turbotax toll free service
~ turbotax support phone number [866-769-8127]
turbotax support phone number [866-769-8127]
turbotax intuit support phone number [866-769-8127]
turbotax phone number [866-769-8127], turbotax intuit phone number [866-769-8127],
turbotax [866-769-8127] intuit customer support phone number [866-769-8127], turbotax intuit customer phone number , turbotax intuit customer support number , [866-769-8127]turbotax intuit customer number , [866-769-8127]turbotax customer support phone number
[866-769-8127]turbotax customer support phone number
turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number+[866-769-8127]!~ turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax +[866-769-8127]!~ customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number +[866-769-8127]!~ turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number +[866-769-8127]!~ turbotax customer support phone number turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number turbotax customer support phone numbe
Toll free phone number (+1)*866.769.8127*? .!!~~? turbotax intuit support phone number, turbotax intuit support phone number,
turbotax support phone number (+1)*866.769.8127*? .!!~~? turbotax support phone number,@@@#**__ turbotax support phone number
turbotax phone number (+1)*866.769.8127*? .!!~~? turbotax phone number,@@@#**__ turbotax phone number
turbotax support number (+1)*866.769.8127*? .!!~~? turbotax support number,@@@#**__ turbotax support number
turbotax customer support phone number (+1)*866.769.8127*? .!!~~? turbotax customer support phone number,@@@#**__ turbotax customer support phone number
turbotax customer support number (+1)*866.769.8127*? .!!~~? turbotax customer support number,@@@#**__ turbotax customer support number
turbotax customer phone number (+1)*866.769.8127*? .!!~~? turbotax customer phone number,@@@#**__ turbotax customer phone number
turbotax customer number (+1)*866.769.8127*? .!!~~? turbotax customer number,@@@#**__ turbotax customer number
turbotax customer services number (+1)*866.769.8127*? .!!~~? turbotax customer services number,@@@#**__ turbotax customer services number
turbotax customer services phone number (+1)*866.769.8127*? .!!~~? turbotax customer services phone number,@@@#**__ turbotax customer services phone number
turbotax technical support phone number (+1)*866.769.8127*? .!!~~? turbotax technical support phone number,@@@#**__ turbotax technical support phonenumber
turbotax technical support number (+1)*866.769.8127*? .!!~~? turbotax technical support number,@@@#**__ turbotax technical support number
turbotax technical number (+1)*866.769.8127*? .!!~~? turbotax technical number,@@@#**__ turbotax technical number
turbotax help support phone number (+1)*866.769.8127*? .!!~~? turbotax help support phone number,@@@#**__ turbotax help support phone number
turbotax helpline phone number (+1)*866.769.8127*? .!!~~? turbotax helpline support phone number,@@@#**__ turbotax helpline phone number
turbotax helpline number (+1)*866.769.8127*? .!!~~? turbotax helpline support number,@@@#**__ turbotax helpline number
turbotax Toll free phone number (+1)*866.769.8127*? .!!~~? turbotax intuit tollfree support phone number, turbotax tollfree support phone number,
turbotax Toll free number (+1)*866.769.8127*? .!!~~? turbotax tollfree number, @@@#**__turbotax tollfree number,
turbotax intuit Toll free number (+1)*866.769.8127*? .!!~~? turbotax intuit tollfree number, @@@#**__turbotax intuit tollfree number,
telephone number for turbotax (+1)*866.769.8127*? .!!~~?, telephone number for turbotax, @@@#**__telephone number for turbotax
telephone number for turbotax customer service (+1)*866.769.8127*? .!!~~?, telephone number for turbotax customer service, @@@#**__telephone number for turbotax customer service
turbotax call center number (+1)*866.769.8127*? .!!~~?, turbotax call center number, @@@#**__turbotax call center number
phone number for turbotax (+1)*866.769.8127*? .!!~~?, phone number for turbotax, phone number for turbotax help, @@@#**__phone number for turbotax help
turbotax technical supportemail (+1)*866.769.8127*? .!!~~?, turbotax technical supportemail, @@@#**__turbotax technical supportemail, @@@#**__turbotax technical supportemail
turbotax customer support email +1)*866.769.8127*? .!!~~?, +turbotax customer support email, @@@#**__turbotax customer support email, turbotax customer support email
(866-769-8127)_turbotax intuit customer phone number, Turbotax customer phone number, turbotax intuit support phone number, turbotax customer support phone number, turbotax intuit phone numebr, turbotax phone numeber, turbotax customer services number, turbotax intuit customer services phone number, turbotax toll free number, turbotax intuit toll free phone number, turbotax toll free service
~ turbotax support phone number [866-769-8127]
turbotax support phone number [866-769-8127]
turbotax intuit support phone number [866-769-8127]
turbotax phone number [866-769-8127], turbotax intuit phone number [866-769-8127],
turbotax [866-769-8127] intuit customer support phone number [866-769-8127], turbotax intuit customer phone number , turbotax intuit customer support number , [866-769-8127]turbotax intuit customer number , [866-769-8127]turbotax customer support phone number
[866-769-8127]turbotax customer support phone number
turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number+[866-769-8127]!~ turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax +[866-769-8127]!~ customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number +[866-769-8127]!~ turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number +[866-769-8127]!~ turbotax customer support phone number turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number turbotax customer support phone numbe
Toll free phone number (+1)*866.769.8127*? .!!~~? turbotax intuit support phone number, turbotax intuit support phone number,
turbotax support phone number (+1)*866.769.8127*? .!!~~? turbotax support phone number,@@@#**__ turbotax support phone number
turbotax phone number (+1)*866.769.8127*? .!!~~? turbotax phone number,@@@#**__ turbotax phone number
turbotax support number (+1)*866.769.8127*? .!!~~? turbotax support number,@@@#**__ turbotax support number
turbotax customer support phone number (+1)*866.769.8127*? .!!~~? turbotax customer support phone number,@@@#**__ turbotax customer support phone number
turbotax customer support number (+1)*866.769.8127*? .!!~~? turbotax customer support number,@@@#**__ turbotax customer support number
turbotax customer phone number (+1)*866.769.8127*? .!!~~? turbotax customer phone number,@@@#**__ turbotax customer phone number
turbotax customer number (+1)*866.769.8127*? .!!~~? turbotax customer number,@@@#**__ turbotax customer number
turbotax customer services number (+1)*866.769.8127*? .!!~~? turbotax customer services number,@@@#**__ turbotax customer services number
turbotax customer services phone number (+1)*866.769.8127*? .!!~~? turbotax customer services phone number,@@@#**__ turbotax customer services phone number
turbotax technical support phone number (+1)*866.769.8127*? .!!~~? turbotax technical support phone number,@@@#**__ turbotax technical support phonenumber
turbotax technical support number (+1)*866.769.8127*? .!!~~? turbotax technical support number,@@@#**__ turbotax technical support number
turbotax technical number (+1)*866.769.8127*? .!!~~? turbotax technical number,@@@#**__ turbotax technical number
turbotax help support phone number (+1)*866.769.8127*? .!!~~? turbotax help support phone number,@@@#**__ turbotax help support phone number
turbotax helpline phone number (+1)*866.769.8127*? .!!~~? turbotax helpline support phone number,@@@#**__ turbotax helpline phone number
turbotax helpline number (+1)*866.769.8127*? .!!~~? turbotax helpline support number,@@@#**__ turbotax helpline number
turbotax Toll free phone number (+1)*866.769.8127*? .!!~~? turbotax intuit tollfree support phone number, turbotax tollfree support phone number,
turbotax Toll free number (+1)*866.769.8127*? .!!~~? turbotax tollfree number, @@@#**__turbotax tollfree number,
turbotax intuit Toll free number (+1)*866.769.8127*? .!!~~? turbotax intuit tollfree number, @@@#**__turbotax intuit tollfree number,
telephone number for turbotax (+1)*866.769.8127*? .!!~~?, telephone number for turbotax, @@@#**__telephone number for turbotax
telephone number for turbotax customer service (+1)*866.769.8127*? .!!~~?, telephone number for turbotax customer service, @@@#**__telephone number for turbotax customer service
turbotax call center number (+1)*866.769.8127*? .!!~~?, turbotax call center number, @@@#**__turbotax call center number
phone number for turbotax (+1)*866.769.8127*? .!!~~?, phone number for turbotax, phone number for turbotax help, @@@#**__phone number for turbotax help
turbotax technical supportemail (+1)*866.769.8127*? .!!~~?, turbotax technical supportemail, @@@#**__turbotax technical supportemail, @@@#**__turbotax technical supportemail
turbotax customer support email +1)*866.769.8127*? .!!~~?, +turbotax customer support email, @@@#**__turbotax customer support email, turbotax customer support email
(866-769-8127)_turbotax intuit customer phone number, Turbotax customer phone number, turbotax intuit support phone number, turbotax customer support phone number, turbotax intuit phone numebr, turbotax phone numeber, turbotax customer services number, turbotax intuit customer services phone number, turbotax toll free number, turbotax intuit toll free phone number, turbotax toll free service
~ turbotax support phone number [866-769-8127]
turbotax support phone number [866-769-8127]
turbotax intuit support phone number [866-769-8127]
turbotax phone number [866-769-8127], turbotax intuit phone number [866-769-8127],
turbotax [866-769-8127] intuit customer support phone number [866-769-8127], turbotax intuit customer phone number , turbotax intuit customer support number , [866-769-8127]turbotax intuit customer number , [866-769-8127]turbotax customer support phone number
[866-769-8127]turbotax customer support phone number
turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number+[866-769-8127]!~ turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax +[866-769-8127]!~ customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number +[866-769-8127]!~ turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number +[866-769-8127]!~ turbotax customer support phone number turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number turbotax customer support phone numbe
Toll free phone number (+1)*866.769.8127*? .!!~~? turbotax intuit support phone number, turbotax intuit support phone number,
turbotax support phone number (+1)*866.769.8127*? .!!~~? turbotax support phone number,@@@#**__ turbotax support phone number
turbotax phone number (+1)*866.769.8127*? .!!~~? turbotax phone number,@@@#**__ turbotax phone number
turbotax support number (+1)*866.769.8127*? .!!~~? turbotax support number,@@@#**__ turbotax support number
turbotax customer support phone number (+1)*866.769.8127*? .!!~~? turbotax customer support phone number,@@@#**__ turbotax customer support phone number
turbotax customer support number (+1)*866.769.8127*? .!!~~? turbotax customer support number,@@@#**__ turbotax customer support number
turbotax customer phone number (+1)*866.769.8127*? .!!~~? turbotax customer phone number,@@@#**__ turbotax customer phone number
turbotax customer number (+1)*866.769.8127*? .!!~~? turbotax customer number,@@@#**__ turbotax customer number
turbotax customer services number (+1)*866.769.8127*? .!!~~? turbotax customer services number,@@@#**__ turbotax customer services number
turbotax customer services phone number (+1)*866.769.8127*? .!!~~? turbotax customer services phone number,@@@#**__ turbotax customer services phone number
turbotax technical support phone number (+1)*866.769.8127*? .!!~~? turbotax technical support phone number,@@@#**__ turbotax technical support phonenumber
turbotax technical support number (+1)*866.769.8127*? .!!~~? turbotax technical support number,@@@#**__ turbotax technical support number
turbotax technical number (+1)*866.769.8127*? .!!~~? turbotax technical number,@@@#**__ turbotax technical number
turbotax help support phone number (+1)*866.769.8127*? .!!~~? turbotax help support phone number,@@@#**__ turbotax help support phone number
turbotax helpline phone number (+1)*866.769.8127*? .!!~~? turbotax helpline support phone number,@@@#**__ turbotax helpline phone number
turbotax helpline number (+1)*866.769.8127*? .!!~~? turbotax helpline support number,@@@#**__ turbotax helpline number
turbotax Toll free phone number (+1)*866.769.8127*? .!!~~? turbotax intuit tollfree support phone number, turbotax tollfree support phone number,
turbotax Toll free number (+1)*866.769.8127*? .!!~~? turbotax tollfree number, @@@#**__turbotax tollfree number,
turbotax intuit Toll free number (+1)*866.769.8127*? .!!~~? turbotax intuit tollfree number, @@@#**__turbotax intuit tollfree number,
telephone number for turbotax (+1)*866.769.8127*? .!!~~?, telephone number for turbotax, @@@#**__telephone number for turbotax
telephone number for turbotax customer service (+1)*866.769.8127*? .!!~~?, telephone number for turbotax customer service, @@@#**__telephone number for turbotax customer service
turbotax call center number (+1)*866.769.8127*? .!!~~?, turbotax call center number, @@@#**__turbotax call center number
phone number for turbotax (+1)*866.769.8127*? .!!~~?, phone number for turbotax, phone number for turbotax help, @@@#**__phone number for turbotax help
turbotax technical supportemail (+1)*866.769.8127*? .!!~~?, turbotax technical supportemail, @@@#**__turbotax technical supportemail, @@@#**__turbotax technical supportemail
turbotax customer support email +1)*866.769.8127*? .!!~~?, +turbotax customer support email, @@@#**__turbotax customer support email, turbotax customer support email
(866-769-8127)_turbotax intuit customer phone number, Turbotax customer phone number, turbotax intuit support phone number, turbotax customer support phone number, turbotax intuit phone numebr, turbotax phone numeber, turbotax customer services number, turbotax intuit customer services phone number, turbotax toll free number, turbotax intuit toll free phone number, turbotax toll free service
~ turbotax support phone number [866-769-8127]
turbotax support phone number [866-769-8127]
turbotax intuit support phone number [866-769-8127]
turbotax phone number [866-769-8127], turbotax intuit phone number [866-769-8127],
turbotax [866-769-8127] intuit customer support phone number [866-769-8127], turbotax intuit customer phone number , turbotax intuit customer support number , [866-769-8127]turbotax intuit customer number , [866-769-8127]turbotax customer support phone number
[866-769-8127]turbotax customer support phone number
turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number+[866-769-8127]!~ turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax +[866-769-8127]!~ customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number +[866-769-8127]!~ turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number +[866-769-8127]!~ turbotax customer support phone number turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number turbotax customer support phone numbe
Toll free phone number (+1)*866.769.8127*? .!!~~? turbotax intuit support phone number, turbotax intuit support phone number,
turbotax support phone number (+1)*866.769.8127*? .!!~~? turbotax support phone number,@@@#**__ turbotax support phone number
turbotax phone number (+1)*866.769.8127*? .!!~~? turbotax phone number,@@@#**__ turbotax phone number
turbotax support number (+1)*866.769.8127*? .!!~~? turbotax support number,@@@#**__ turbotax support number
turbotax customer support phone number (+1)*866.769.8127*? .!!~~? turbotax customer support phone number,@@@#**__ turbotax customer support phone number
turbotax customer support number (+1)*866.769.8127*? .!!~~? turbotax customer support number,@@@#**__ turbotax customer support number
turbotax customer phone number (+1)*866.769.8127*? .!!~~? turbotax customer phone number,@@@#**__ turbotax customer phone number
turbotax customer number (+1)*866.769.8127*? .!!~~? turbotax customer number,@@@#**__ turbotax customer number
turbotax customer services number (+1)*866.769.8127*? .!!~~? turbotax customer services number,@@@#**__ turbotax customer services number
turbotax customer services phone number (+1)*866.769.8127*? .!!~~? turbotax customer services phone number,@@@#**__ turbotax customer services phone number
turbotax technical support phone number (+1)*866.769.8127*? .!!~~? turbotax technical support phone number,@@@#**__ turbotax technical support phonenumber
turbotax technical support number (+1)*866.769.8127*? .!!~~? turbotax technical support number,@@@#**__ turbotax technical support number
turbotax technical number (+1)*866.769.8127*? .!!~~? turbotax technical number,@@@#**__ turbotax technical number
turbotax help support phone number (+1)*866.769.8127*? .!!~~? turbotax help support phone number,@@@#**__ turbotax help support phone number
turbotax helpline phone number (+1)*866.769.8127*? .!!~~? turbotax helpline support phone number,@@@#**__ turbotax helpline phone number
turbotax helpline number (+1)*866.769.8127*? .!!~~? turbotax helpline support number,@@@#**__ turbotax helpline number
turbotax Toll free phone number (+1)*866.769.8127*? .!!~~? turbotax intuit tollfree support phone number, turbotax tollfree support phone number,
turbotax Toll free number (+1)*866.769.8127*? .!!~~? turbotax tollfree number, @@@#**__turbotax tollfree number,
turbotax intuit Toll free number (+1)*866.769.8127*? .!!~~? turbotax intuit tollfree number, @@@#**__turbotax intuit tollfree number,
telephone number for turbotax (+1)*866.769.8127*? .!!~~?, telephone number for turbotax, @@@#**__telephone number for turbotax
telephone number for turbotax customer service (+1)*866.769.8127*? .!!~~?, telephone number for turbotax customer service, @@@#**__telephone number for turbotax customer service
turbotax call center number (+1)*866.769.8127*? .!!~~?, turbotax call center number, @@@#**__turbotax call center number
phone number for turbotax (+1)*866.769.8127*? .!!~~?, phone number for turbotax, phone number for turbotax help, @@@#**__phone number for turbotax help
turbotax technical supportemail (+1)*866.769.8127*? .!!~~?, turbotax technical supportemail, @@@#**__turbotax technical supportemail, @@@#**__turbotax technical supportemail
turbotax customer support email +1)*866.769.8127*? .!!~~?, +turbotax customer support email, @@@#**__turbotax customer support email, turbotax customer support email
(866-769-8127)_turbotax intuit customer phone number, Turbotax customer phone number, turbotax intuit support phone number, turbotax customer support phone number, turbotax intuit phone numebr, turbotax phone numeber, turbotax customer services number, turbotax intuit customer services phone number, turbotax toll free number, turbotax intuit toll free phone number, turbotax toll free service
~ turbotax support phone number [866-769-8127]
turbotax support phone number [866-769-8127]
turbotax intuit support phone number [866-769-8127]
turbotax phone number [866-769-8127], turbotax intuit phone number [866-769-8127],
turbotax [866-769-8127] intuit customer support phone number [866-769-8127], turbotax intuit customer phone number , turbotax intuit customer support number , [866-769-8127]turbotax intuit customer number , [866-769-8127]turbotax customer support phone number
[866-769-8127]turbotax customer support phone number
turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number+[866-769-8127]!~ turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax +[866-769-8127]!~ customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number +[866-769-8127]!~ turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number +[866-769-8127]!~ turbotax customer support phone number turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number turbotax customer support phone numbe
Toll free phone number (+1)*866.769.8127*? .!!~~? turbotax intuit support phone number, turbotax intuit support phone number,
turbotax support phone number (+1)*866.769.8127*? .!!~~? turbotax support phone number,@@@#**__ turbotax support phone number
turbotax phone number (+1)*866.769.8127*? .!!~~? turbotax phone number,@@@#**__ turbotax phone number
turbotax support number (+1)*866.769.8127*? .!!~~? turbotax support number,@@@#**__ turbotax support number
turbotax customer support phone number (+1)*866.769.8127*? .!!~~? turbotax customer support phone number,@@@#**__ turbotax customer support phone number
turbotax customer support number (+1)*866.769.8127*? .!!~~? turbotax customer support number,@@@#**__ turbotax customer support number
turbotax customer phone number (+1)*866.769.8127*? .!!~~? turbotax customer phone number,@@@#**__ turbotax customer phone number
turbotax customer number (+1)*866.769.8127*? .!!~~? turbotax customer number,@@@#**__ turbotax customer number
turbotax customer services number (+1)*866.769.8127*? .!!~~? turbotax customer services number,@@@#**__ turbotax customer services number
turbotax customer services phone number (+1)*866.769.8127*? .!!~~? turbotax customer services phone number,@@@#**__ turbotax customer services phone number
turbotax technical support phone number (+1)*866.769.8127*? .!!~~? turbotax technical support phone number,@@@#**__ turbotax technical support phonenumber
turbotax technical support number (+1)*866.769.8127*? .!!~~? turbotax technical support number,@@@#**__ turbotax technical support number
turbotax technical number (+1)*866.769.8127*? .!!~~? turbotax technical number,@@@#**__ turbotax technical number
turbotax help support phone number (+1)*866.769.8127*? .!!~~? turbotax help support phone number,@@@#**__ turbotax help support phone number
turbotax helpline phone number (+1)*866.769.8127*? .!!~~? turbotax helpline support phone number,@@@#**__ turbotax helpline phone number
turbotax helpline number (+1)*866.769.8127*? .!!~~? turbotax helpline support number,@@@#**__ turbotax helpline number
turbotax Toll free phone number (+1)*866.769.8127*? .!!~~? turbotax intuit tollfree support phone number, turbotax tollfree support phone number,
turbotax Toll free number (+1)*866.769.8127*? .!!~~? turbotax tollfree number, @@@#**__turbotax tollfree number,
turbotax intuit Toll free number (+1)*866.769.8127*? .!!~~? turbotax intuit tollfree number, @@@#**__turbotax intuit tollfree number,
telephone number for turbotax (+1)*866.769.8127*? .!!~~?, telephone number for turbotax, @@@#**__telephone number for turbotax
telephone number for turbotax customer service (+1)*866.769.8127*? .!!~~?, telephone number for turbotax customer service, @@@#**__telephone number for turbotax customer service
turbotax call center number (+1)*866.769.8127*? .!!~~?, turbotax call center number, @@@#**__turbotax call center number
phone number for turbotax (+1)*866.769.8127*? .!!~~?, phone number for turbotax, phone number for turbotax help, @@@#**__phone number for turbotax help
turbotax technical supportemail (+1)*866.769.8127*? .!!~~?, turbotax technical supportemail, @@@#**__turbotax technical supportemail, @@@#**__turbotax technical supportemail
turbotax customer support email +1)*866.769.8127*? .!!~~?, +turbotax customer support email, @@@#**__turbotax customer support email, turbotax customer support email
(866-769-8127)_turbotax intuit customer phone number, Turbotax customer phone number, turbotax intuit support phone number, turbotax customer support phone number, turbotax intuit phone numebr, turbotax phone numeber, turbotax customer services number, turbotax intuit customer services phone number, turbotax toll free number, turbotax intuit toll free phone number, turbotax toll free service
~ turbotax support phone number [866-769-8127]
turbotax support phone number [866-769-8127]
turbotax intuit support phone number [866-769-8127]
turbotax phone number [866-769-8127], turbotax intuit phone number [866-769-8127],
turbotax [866-769-8127] intuit customer support phone number [866-769-8127], turbotax intuit customer phone number , turbotax intuit customer support number , [866-769-8127]turbotax intuit customer number , [866-769-8127]turbotax customer support phone number
[866-769-8127]turbotax customer support phone number
turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number+[866-769-8127]!~ turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax +[866-769-8127]!~ customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number +[866-769-8127]!~ turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number +[866-769-8127]!~ turbotax customer support phone number turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number turbotax customer support phone numbe
Toll free phone number (+1)*866.769.8127*? .!!~~? turbotax intuit support phone number, turbotax intuit support phone number,
turbotax support phone number (+1)*866.769.8127*? .!!~~? turbotax support phone number,@@@#**__ turbotax support phone number
turbotax phone number (+1)*866.769.8127*? .!!~~? turbotax phone number,@@@#**__ turbotax phone number
turbotax support number (+1)*866.769.8127*? .!!~~? turbotax support number,@@@#**__ turbotax support number
turbotax customer support phone number (+1)*866.769.8127*? .!!~~? turbotax customer support phone number,@@@#**__ turbotax customer support phone number
turbotax customer support number (+1)*866.769.8127*? .!!~~? turbotax customer support number,@@@#**__ turbotax customer support number
turbotax customer phone number (+1)*866.769.8127*? .!!~~? turbotax customer phone number,@@@#**__ turbotax customer phone number
turbotax customer number (+1)*866.769.8127*? .!!~~? turbotax customer number,@@@#**__ turbotax customer number
turbotax customer services number (+1)*866.769.8127*? .!!~~? turbotax customer services number,@@@#**__ turbotax customer services number
turbotax customer services phone number (+1)*866.769.8127*? .!!~~? turbotax customer services phone number,@@@#**__ turbotax customer services phone number
turbotax technical support phone number (+1)*866.769.8127*? .!!~~? turbotax technical support phone number,@@@#**__ turbotax technical support phonenumber
turbotax technical support number (+1)*866.769.8127*? .!!~~? turbotax technical support number,@@@#**__ turbotax technical support number
turbotax technical number (+1)*866.769.8127*? .!!~~? turbotax technical number,@@@#**__ turbotax technical number
turbotax help support phone number (+1)*866.769.8127*? .!!~~? turbotax help support phone number,@@@#**__ turbotax help support phone number
turbotax helpline phone number (+1)*866.769.8127*? .!!~~? turbotax helpline support phone number,@@@#**__ turbotax helpline phone number
turbotax helpline number (+1)*866.769.8127*? .!!~~? turbotax helpline support number,@@@#**__ turbotax helpline number
turbotax Toll free phone number (+1)*866.769.8127*? .!!~~? turbotax intuit tollfree support phone number, turbotax tollfree support phone number,
turbotax Toll free number (+1)*866.769.8127*? .!!~~? turbotax tollfree number, @@@#**__turbotax tollfree number,
turbotax intuit Toll free number (+1)*866.769.8127*? .!!~~? turbotax intuit tollfree number, @@@#**__turbotax intuit tollfree number,
telephone number for turbotax (+1)*866.769.8127*? .!!~~?, telephone number for turbotax, @@@#**__telephone number for turbotax
telephone number for turbotax customer service (+1)*866.769.8127*? .!!~~?, telephone number for turbotax customer service, @@@#**__telephone number for turbotax customer service
turbotax call center number (+1)*866.769.8127*? .!!~~?, turbotax call center number, @@@#**__turbotax call center number
phone number for turbotax (+1)*866.769.8127*? .!!~~?, phone number for turbotax, phone number for turbotax help, @@@#**__phone number for turbotax help
turbotax technical supportemail (+1)*866.769.8127*? .!!~~?, turbotax technical supportemail, @@@#**__turbotax technical supportemail, @@@#**__turbotax technical supportemail
turbotax customer support email +1)*866.769.8127*? .!!~~?, +turbotax customer support email, @@@#**__turbotax customer support email, turbotax customer support email
(866-769-8127)_turbotax intuit customer phone number, Turbotax customer phone number, turbotax intuit support phone number, turbotax customer support phone number, turbotax intuit phone numebr, turbotax phone numeber, turbotax customer services number, turbotax intuit customer services phone number, turbotax toll free number, turbotax intuit toll free phone number, turbotax toll free service
~ turbotax support phone number [866-769-8127]
turbotax support phone number [866-769-8127]
turbotax intuit support phone number [866-769-8127]
turbotax phone number [866-769-8127], turbotax intuit phone number [866-769-8127],
turbotax [866-769-8127] intuit customer support phone number [866-769-8127], turbotax intuit customer phone number , turbotax intuit customer support number , [866-769-8127]turbotax intuit customer number , [866-769-8127]turbotax customer support phone number
[866-769-8127]turbotax customer support phone number
turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number+[866-769-8127]!~ turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax +[866-769-8127]!~ customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number +[866-769-8127]!~ turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number +[866-769-8127]!~ turbotax customer support phone number turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number turbotax customer support phone numbe
Toll free phone number (+1)*866.769.8127*? .!!~~? turbotax intuit support phone number, turbotax intuit support phone number,
turbotax support phone number (+1)*866.769.8127*? .!!~~? turbotax support phone number,@@@#**__ turbotax support phone number
turbotax phone number (+1)*866.769.8127*? .!!~~? turbotax phone number,@@@#**__ turbotax phone number
turbotax support number (+1)*866.769.8127*? .!!~~? turbotax support number,@@@#**__ turbotax support number
turbotax customer support phone number (+1)*866.769.8127*? .!!~~? turbotax customer support phone number,@@@#**__ turbotax customer support phone number
turbotax customer support number (+1)*866.769.8127*? .!!~~? turbotax customer support number,@@@#**__ turbotax customer support number
turbotax customer phone number (+1)*866.769.8127*? .!!~~? turbotax customer phone number,@@@#**__ turbotax customer phone number
turbotax customer number (+1)*866.769.8127*? .!!~~? turbotax customer number,@@@#**__ turbotax customer number
turbotax customer services number (+1)*866.769.8127*? .!!~~? turbotax customer services number,@@@#**__ turbotax customer services number
turbotax customer services phone number (+1)*866.769.8127*? .!!~~? turbotax customer services phone number,@@@#**__ turbotax customer services phone number
turbotax technical support phone number (+1)*866.769.8127*? .!!~~? turbotax technical support phone number,@@@#**__ turbotax technical support phonenumber
turbotax technical support number (+1)*866.769.8127*? .!!~~? turbotax technical support number,@@@#**__ turbotax technical support number
turbotax technical number (+1)*866.769.8127*? .!!~~? turbotax technical number,@@@#**__ turbotax technical number
turbotax help support phone number (+1)*866.769.8127*? .!!~~? turbotax help support phone number,@@@#**__ turbotax help support phone number
turbotax helpline phone number (+1)*866.769.8127*? .!!~~? turbotax helpline support phone number,@@@#**__ turbotax helpline phone number
turbotax helpline number (+1)*866.769.8127*? .!!~~? turbotax helpline support number,@@@#**__ turbotax helpline number
turbotax Toll free phone number (+1)*866.769.8127*? .!!~~? turbotax intuit tollfree support phone number, turbotax tollfree support phone number,
turbotax Toll free number (+1)*866.769.8127*? .!!~~? turbotax tollfree number, @@@#**__turbotax tollfree number,
turbotax intuit Toll free number (+1)*866.769.8127*? .!!~~? turbotax intuit tollfree number, @@@#**__turbotax intuit tollfree number,
telephone number for turbotax (+1)*866.769.8127*? .!!~~?, telephone number for turbotax, @@@#**__telephone number for turbotax
telephone number for turbotax customer service (+1)*866.769.8127*? .!!~~?, telephone number for turbotax customer service, @@@#**__telephone number for turbotax customer service
turbotax call center number (+1)*866.769.8127*? .!!~~?, turbotax call center number, @@@#**__turbotax call center number
phone number for turbotax (+1)*866.769.8127*? .!!~~?, phone number for turbotax, phone number for turbotax help, @@@#**__phone number for turbotax help
turbotax technical supportemail (+1)*866.769.8127*? .!!~~?, turbotax technical supportemail, @@@#**__turbotax technical supportemail, @@@#**__turbotax technical supportemail
turbotax customer support email +1)*866.769.8127*? .!!~~?, +turbotax customer support email, @@@#**__turbotax customer support email, turbotax customer support email
(866-769-8127)_turbotax intuit customer phone number, Turbotax customer phone number, turbotax intuit support phone number, turbotax customer support phone number, turbotax intuit phone numebr, turbotax phone numeber, turbotax customer services number, turbotax intuit customer services phone number, turbotax toll free number, turbotax intuit toll free phone number, turbotax toll free service
~ turbotax support phone number [866-769-8127]
turbotax support phone number [866-769-8127]
turbotax intuit support phone number [866-769-8127]
turbotax phone number [866-769-8127], turbotax intuit phone number [866-769-8127],
turbotax [866-769-8127] intuit customer support phone number [866-769-8127], turbotax intuit customer phone number , turbotax intuit customer support number , [866-769-8127]turbotax intuit customer number , [866-769-8127]turbotax customer support phone number
[866-769-8127]turbotax customer support phone number
turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number+[866-769-8127]!~ turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax +[866-769-8127]!~ customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number +[866-769-8127]!~ turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number +[866-769-8127]!~ turbotax customer support phone number turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number turbotax customer support phone numbe
Toll free phone number (+1)*866.769.8127*? .!!~~? turbotax intuit support phone number, turbotax intuit support phone number,
turbotax support phone number (+1)*866.769.8127*? .!!~~? turbotax support phone number,@@@#**__ turbotax support phone number
turbotax phone number (+1)*866.769.8127*? .!!~~? turbotax phone number,@@@#**__ turbotax phone number
turbotax support number (+1)*866.769.8127*? .!!~~? turbotax support number,@@@#**__ turbotax support number
turbotax customer support phone number (+1)*866.769.8127*? .!!~~? turbotax customer support phone number,@@@#**__ turbotax customer support phone number
turbotax customer support number (+1)*866.769.8127*? .!!~~? turbotax customer support number,@@@#**__ turbotax customer support number
turbotax customer phone number (+1)*866.769.8127*? .!!~~? turbotax customer phone number,@@@#**__ turbotax customer phone number
turbotax customer number (+1)*866.769.8127*? .!!~~? turbotax customer number,@@@#**__ turbotax customer number
turbotax customer services number (+1)*866.769.8127*? .!!~~? turbotax customer services number,@@@#**__ turbotax customer services number
turbotax customer services phone number (+1)*866.769.8127*? .!!~~? turbotax customer services phone number,@@@#**__ turbotax customer services phone number
turbotax technical support phone number (+1)*866.769.8127*? .!!~~? turbotax technical support phone number,@@@#**__ turbotax technical support phonenumber
turbotax technical support number (+1)*866.769.8127*? .!!~~? turbotax technical support number,@@@#**__ turbotax technical support number
turbotax technical number (+1)*866.769.8127*? .!!~~? turbotax technical number,@@@#**__ turbotax technical number
turbotax help support phone number (+1)*866.769.8127*? .!!~~? turbotax help support phone number,@@@#**__ turbotax help support phone number
turbotax helpline phone number (+1)*866.769.8127*? .!!~~? turbotax helpline support phone number,@@@#**__ turbotax helpline phone number
turbotax helpline number (+1)*866.769.8127*? .!!~~? turbotax helpline support number,@@@#**__ turbotax helpline number
turbotax Toll free phone number (+1)*866.769.8127*? .!!~~? turbotax intuit tollfree support phone number, turbotax tollfree support phone number,
turbotax Toll free number (+1)*866.769.8127*? .!!~~? turbotax tollfree number, @@@#**__turbotax tollfree number,
turbotax intuit Toll free number (+1)*866.769.8127*? .!!~~? turbotax intuit tollfree number, @@@#**__turbotax intuit tollfree number,
telephone number for turbotax (+1)*866.769.8127*? .!!~~?, telephone number for turbotax, @@@#**__telephone number for turbotax
telephone number for turbotax customer service (+1)*866.769.8127*? .!!~~?, telephone number for turbotax customer service, @@@#**__telephone number for turbotax customer service
turbotax call center number (+1)*866.769.8127*? .!!~~?, turbotax call center number, @@@#**__turbotax call center number
phone number for turbotax (+1)*866.769.8127*? .!!~~?, phone number for turbotax, phone number for turbotax help, @@@#**__phone number for turbotax help
turbotax technical supportemail (+1)*866.769.8127*? .!!~~?, turbotax technical supportemail, @@@#**__turbotax technical supportemail, @@@#**__turbotax technical supportemail
turbotax customer support email +1)*866.769.8127*? .!!~~?, +turbotax customer support email, @@@#**__turbotax customer support email, turbotax customer support email
(866-769-8127)_turbotax intuit customer phone number, Turbotax customer phone number, turbotax intuit support phone number, turbotax customer support phone number, turbotax intuit phone numebr, turbotax phone numeber, turbotax customer services number, turbotax intuit customer services phone number, turbotax toll free number, turbotax intuit toll free phone number, turbotax toll free service
~ turbotax support phone number [866-769-8127]
turbotax support phone number [866-769-8127]
turbotax intuit support phone number [866-769-8127]
turbotax phone number [866-769-8127], turbotax intuit phone number [866-769-8127],
turbotax [866-769-8127] intuit customer support phone number [866-769-8127], turbotax intuit customer phone number , turbotax intuit customer support number , [866-769-8127]turbotax intuit customer number , [866-769-8127]turbotax customer support phone number
[866-769-8127]turbotax customer support phone number
turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number+[866-769-8127]!~ turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax +[866-769-8127]!~ customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number +[866-769-8127]!~ turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number +[866-769-8127]!~ turbotax customer support phone number turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number turbotax customer support phone numbe
Toll free phone number (+1)*866.769.8127*? .!!~~? turbotax intuit support phone number, turbotax intuit support phone number,
turbotax support phone number (+1)*866.769.8127*? .!!~~? turbotax support phone number,@@@#**__ turbotax support phone number
turbotax phone number (+1)*866.769.8127*? .!!~~? turbotax phone number,@@@#**__ turbotax phone number
turbotax support number (+1)*866.769.8127*? .!!~~? turbotax support number,@@@#**__ turbotax support number
turbotax customer support phone number (+1)*866.769.8127*? .!!~~? turbotax customer support phone number,@@@#**__ turbotax customer support phone number
turbotax customer support number (+1)*866.769.8127*? .!!~~? turbotax customer support number,@@@#**__ turbotax customer support number
turbotax customer phone number (+1)*866.769.8127*? .!!~~? turbotax customer phone number,@@@#**__ turbotax customer phone number
turbotax customer number (+1)*866.769.8127*? .!!~~? turbotax customer number,@@@#**__ turbotax customer number
turbotax customer services number (+1)*866.769.8127*? .!!~~? turbotax customer services number,@@@#**__ turbotax customer services number
turbotax customer services phone number (+1)*866.769.8127*? .!!~~? turbotax customer services phone number,@@@#**__ turbotax customer services phone number
turbotax technical support phone number (+1)*866.769.8127*? .!!~~? turbotax technical support phone number,@@@#**__ turbotax technical support phonenumber
turbotax technical support number (+1)*866.769.8127*? .!!~~? turbotax technical support number,@@@#**__ turbotax technical support number
turbotax technical number (+1)*866.769.8127*? .!!~~? turbotax technical number,@@@#**__ turbotax technical number
turbotax help support phone number (+1)*866.769.8127*? .!!~~? turbotax help support phone number,@@@#**__ turbotax help support phone number
turbotax helpline phone number (+1)*866.769.8127*? .!!~~? turbotax helpline support phone number,@@@#**__ turbotax helpline phone number
turbotax helpline number (+1)*866.769.8127*? .!!~~? turbotax helpline support number,@@@#**__ turbotax helpline number
turbotax Toll free phone number (+1)*866.769.8127*? .!!~~? turbotax intuit tollfree support phone number, turbotax tollfree support phone number,
turbotax Toll free number (+1)*866.769.8127*? .!!~~? turbotax tollfree number, @@@#**__turbotax tollfree number,
turbotax intuit Toll free number (+1)*866.769.8127*? .!!~~? turbotax intuit tollfree number, @@@#**__turbotax intuit tollfree number,
telephone number for turbotax (+1)*866.769.8127*? .!!~~?, telephone number for turbotax, @@@#**__telephone number for turbotax
telephone number for turbotax customer service (+1)*866.769.8127*? .!!~~?, telephone number for turbotax customer service, @@@#**__telephone number for turbotax customer service
turbotax call center number (+1)*866.769.8127*? .!!~~?, turbotax call center number, @@@#**__turbotax call center number
phone number for turbotax (+1)*866.769.8127*? .!!~~?, phone number for turbotax, phone number for turbotax help, @@@#**__phone number for turbotax help
turbotax technical supportemail (+1)*866.769.8127*? .!!~~?, turbotax technical supportemail, @@@#**__turbotax technical supportemail, @@@#**__turbotax technical supportemail
turbotax customer support email +1)*866.769.8127*? .!!~~?, +turbotax customer support email, @@@#**__turbotax customer support email, turbotax customer support email
(866-769-8127)_turbotax intuit customer phone number, Turbotax customer phone number, turbotax intuit support phone number, turbotax customer support phone number, turbotax intuit phone numebr, turbotax phone numeber, turbotax customer services number, turbotax intuit customer services phone number, turbotax toll free number, turbotax intuit toll free phone number, turbotax toll free service
~ turbotax support phone number [866-769-8127]
turbotax support phone number [866-769-8127]
turbotax intuit support phone number [866-769-8127]
turbotax phone number [866-769-8127], turbotax intuit phone number [866-769-8127],
turbotax [866-769-8127] intuit customer support phone number [866-769-8127], turbotax intuit customer phone number , turbotax intuit customer support number , [866-769-8127]turbotax intuit customer number , [866-769-8127]turbotax customer support phone number
[866-769-8127]turbotax customer support phone number
turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number+[866-769-8127]!~ turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax +[866-769-8127]!~ customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number +[866-769-8127]!~ turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number +[866-769-8127]!~ turbotax customer support phone number turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number turbotax customer support phone numbe
Toll free phone number (+1)*866.769.8127*? .!!~~? turbotax intuit support phone number, turbotax intuit support phone number,
turbotax support phone number (+1)*866.769.8127*? .!!~~? turbotax support phone number,@@@#**__ turbotax support phone number
turbotax phone number (+1)*866.769.8127*? .!!~~? turbotax phone number,@@@#**__ turbotax phone number
turbotax support number (+1)*866.769.8127*? .!!~~? turbotax support number,@@@#**__ turbotax support number
turbotax customer support phone number (+1)*866.769.8127*? .!!~~? turbotax customer support phone number,@@@#**__ turbotax customer support phone number
turbotax customer support number (+1)*866.769.8127*? .!!~~? turbotax customer support number,@@@#**__ turbotax customer support number
turbotax customer phone number (+1)*866.769.8127*? .!!~~? turbotax customer phone number,@@@#**__ turbotax customer phone number
turbotax customer number (+1)*866.769.8127*? .!!~~? turbotax customer number,@@@#**__ turbotax customer number
turbotax customer services number (+1)*866.769.8127*? .!!~~? turbotax customer services number,@@@#**__ turbotax customer services number
turbotax customer services phone number (+1)*866.769.8127*? .!!~~? turbotax customer services phone number,@@@#**__ turbotax customer services phone number
turbotax technical support phone number (+1)*866.769.8127*? .!!~~? turbotax technical support phone number,@@@#**__ turbotax technical support phonenumber
turbotax technical support number (+1)*866.769.8127*? .!!~~? turbotax technical support number,@@@#**__ turbotax technical support number
turbotax technical number (+1)*866.769.8127*? .!!~~? turbotax technical number,@@@#**__ turbotax technical number
turbotax help support phone number (+1)*866.769.8127*? .!!~~? turbotax help support phone number,@@@#**__ turbotax help support phone number
turbotax helpline phone number (+1)*866.769.8127*? .!!~~? turbotax helpline support phone number,@@@#**__ turbotax helpline phone number
turbotax helpline number (+1)*866.769.8127*? .!!~~? turbotax helpline support number,@@@#**__ turbotax helpline number
turbotax Toll free phone number (+1)*866.769.8127*? .!!~~? turbotax intuit tollfree support phone number, turbotax tollfree support phone number,
turbotax Toll free number (+1)*866.769.8127*? .!!~~? turbotax tollfree number, @@@#**__turbotax tollfree number,
turbotax intuit Toll free number (+1)*866.769.8127*? .!!~~? turbotax intuit tollfree number, @@@#**__turbotax intuit tollfree number,
telephone number for turbotax (+1)*866.769.8127*? .!!~~?, telephone number for turbotax, @@@#**__telephone number for turbotax
telephone number for turbotax customer service (+1)*866.769.8127*? .!!~~?, telephone number for turbotax customer service, @@@#**__telephone number for turbotax customer service
turbotax call center number (+1)*866.769.8127*? .!!~~?, turbotax call center number, @@@#**__turbotax call center number
phone number for turbotax (+1)*866.769.8127*? .!!~~?, phone number for turbotax, phone number for turbotax help, @@@#**__phone number for turbotax help
turbotax technical supportemail (+1)*866.769.8127*? .!!~~?, turbotax technical supportemail, @@@#**__turbotax technical supportemail, @@@#**__turbotax technical supportemail
turbotax customer support email +1)*866.769.8127*? .!!~~?, +turbotax customer support email, @@@#**__turbotax customer support email, turbotax customer support email
(866-769-8127)_turbotax intuit customer phone number, Turbotax customer phone number, turbotax intuit support phone number, turbotax customer support phone number, turbotax intuit phone numebr, turbotax phone numeber, turbotax customer services number, turbotax intuit customer services phone number, turbotax toll free number, turbotax intuit toll free phone number, turbotax toll free service
~ turbotax support phone number [866-769-8127]
turbotax support phone number [866-769-8127]
turbotax intuit support phone number [866-769-8127]
turbotax phone number [866-769-8127], turbotax intuit phone number [866-769-8127],
turbotax [866-769-8127] intuit customer support phone number [866-769-8127], turbotax intuit customer phone number , turbotax intuit customer support number , [866-769-8127]turbotax intuit customer number , [866-769-8127]turbotax customer support phone number
[866-769-8127]turbotax customer support phone number
turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number+[866-769-8127]!~ turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax +[866-769-8127]!~ customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number +[866-769-8127]!~ turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number +[866-769-8127]!~ turbotax customer support phone number turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number turbotax customer support phone numbe
Toll free phone number (+1)*866.769.8127*? .!!~~? turbotax intuit support phone number, turbotax intuit support phone number,
turbotax support phone number (+1)*866.769.8127*? .!!~~? turbotax support phone number,@@@#**__ turbotax support phone number
turbotax phone number (+1)*866.769.8127*? .!!~~? turbotax phone number,@@@#**__ turbotax phone number
turbotax support number (+1)*866.769.8127*? .!!~~? turbotax support number,@@@#**__ turbotax support number
turbotax customer support phone number (+1)*866.769.8127*? .!!~~? turbotax customer support phone number,@@@#**__ turbotax customer support phone number
turbotax customer support number (+1)*866.769.8127*? .!!~~? turbotax customer support number,@@@#**__ turbotax customer support number
turbotax customer phone number (+1)*866.769.8127*? .!!~~? turbotax customer phone number,@@@#**__ turbotax customer phone number
turbotax customer number (+1)*866.769.8127*? .!!~~? turbotax customer number,@@@#**__ turbotax customer number
turbotax customer services number (+1)*866.769.8127*? .!!~~? turbotax customer services number,@@@#**__ turbotax customer services number
turbotax customer services phone number (+1)*866.769.8127*? .!!~~? turbotax customer services phone number,@@@#**__ turbotax customer services phone number
turbotax technical support phone number (+1)*866.769.8127*? .!!~~? turbotax technical support phone number,@@@#**__ turbotax technical support phonenumber
turbotax technical support number (+1)*866.769.8127*? .!!~~? turbotax technical support number,@@@#**__ turbotax technical support number
turbotax technical number (+1)*866.769.8127*? .!!~~? turbotax technical number,@@@#**__ turbotax technical number
turbotax help support phone number (+1)*866.769.8127*? .!!~~? turbotax help support phone number,@@@#**__ turbotax help support phone number
turbotax helpline phone number (+1)*866.769.8127*? .!!~~? turbotax helpline support phone number,@@@#**__ turbotax helpline phone number
turbotax helpline number (+1)*866.769.8127*? .!!~~? turbotax helpline support number,@@@#**__ turbotax helpline number
turbotax Toll free phone number (+1)*866.769.8127*? .!!~~? turbotax intuit tollfree support phone number, turbotax tollfree support phone number,
turbotax Toll free number (+1)*866.769.8127*? .!!~~? turbotax tollfree number, @@@#**__turbotax tollfree number,
turbotax intuit Toll free number (+1)*866.769.8127*? .!!~~? turbotax intuit tollfree number, @@@#**__turbotax intuit tollfree number,
telephone number for turbotax (+1)*866.769.8127*? .!!~~?, telephone number for turbotax, @@@#**__telephone number for turbotax
telephone number for turbotax customer service (+1)*866.769.8127*? .!!~~?, telephone number for turbotax customer service, @@@#**__telephone number for turbotax customer service
turbotax call center number (+1)*866.769.8127*? .!!~~?, turbotax call center number, @@@#**__turbotax call center number
phone number for turbotax (+1)*866.769.8127*? .!!~~?, phone number for turbotax, phone number for turbotax help, @@@#**__phone number for turbotax help
turbotax technical supportemail (+1)*866.769.8127*? .!!~~?, turbotax technical supportemail, @@@#**__turbotax technical supportemail, @@@#**__turbotax technical supportemail
turbotax customer support email +1)*866.769.8127*? .!!~~?, +turbotax customer support email, @@@#**__turbotax customer support email, turbotax customer support email
(866-769-8127)_turbotax intuit customer phone number, Turbotax customer phone number, turbotax intuit support phone number, turbotax customer support phone number, turbotax intuit phone numebr, turbotax phone numeber, turbotax customer services number, turbotax intuit customer services phone number, turbotax toll free number, turbotax intuit toll free phone number, turbotax toll free service
~ turbotax support phone number [866-769-8127]
turbotax support phone number [866-769-8127]
turbotax intuit support phone number [866-769-8127]
turbotax phone number [866-769-8127], turbotax intuit phone number [866-769-8127],
turbotax [866-769-8127] intuit customer support phone number [866-769-8127], turbotax intuit customer phone number , turbotax intuit customer support number , [866-769-8127]turbotax intuit customer number , [866-769-8127]turbotax customer support phone number
[866-769-8127]turbotax customer support phone number
turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number+[866-769-8127]!~ turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax +[866-769-8127]!~ customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number +[866-769-8127]!~ turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number +[866-769-8127]!~ turbotax customer support phone number turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number turbotax customer support phone numbe
Toll free phone number (+1)*866.769.8127*? .!!~~? turbotax intuit support phone number, turbotax intuit support phone number,
turbotax support phone number (+1)*866.769.8127*? .!!~~? turbotax support phone number,@@@#**__ turbotax support phone number
turbotax phone number (+1)*866.769.8127*? .!!~~? turbotax phone number,@@@#**__ turbotax phone number
turbotax support number (+1)*866.769.8127*? .!!~~? turbotax support number,@@@#**__ turbotax support number
turbotax customer support phone number (+1)*866.769.8127*? .!!~~? turbotax customer support phone number,@@@#**__ turbotax customer support phone number
turbotax customer support number (+1)*866.769.8127*? .!!~~? turbotax customer support number,@@@#**__ turbotax customer support number
turbotax customer phone number (+1)*866.769.8127*? .!!~~? turbotax customer phone number,@@@#**__ turbotax customer phone number
turbotax customer number (+1)*866.769.8127*? .!!~~? turbotax customer number,@@@#**__ turbotax customer number
turbotax customer services number (+1)*866.769.8127*? .!!~~? turbotax customer services number,@@@#**__ turbotax customer services number
turbotax customer services phone number (+1)*866.769.8127*? .!!~~? turbotax customer services phone number,@@@#**__ turbotax customer services phone number
turbotax technical support phone number (+1)*866.769.8127*? .!!~~? turbotax technical support phone number,@@@#**__ turbotax technical support phonenumber
turbotax technical support number (+1)*866.769.8127*? .!!~~? turbotax technical support number,@@@#**__ turbotax technical support number
turbotax technical number (+1)*866.769.8127*? .!!~~? turbotax technical number,@@@#**__ turbotax technical number
turbotax help support phone number (+1)*866.769.8127*? .!!~~? turbotax help support phone number,@@@#**__ turbotax help support phone number
turbotax helpline phone number (+1)*866.769.8127*? .!!~~? turbotax helpline support phone number,@@@#**__ turbotax helpline phone number
turbotax helpline number (+1)*866.769.8127*? .!!~~? turbotax helpline support number,@@@#**__ turbotax helpline number
turbotax Toll free phone number (+1)*866.769.8127*? .!!~~? turbotax intuit tollfree support phone number, turbotax tollfree support phone number,
turbotax Toll free number (+1)*866.769.8127*? .!!~~? turbotax tollfree number, @@@#**__turbotax tollfree number,
turbotax intuit Toll free number (+1)*866.769.8127*? .!!~~? turbotax intuit tollfree number, @@@#**__turbotax intuit tollfree number,
telephone number for turbotax (+1)*866.769.8127*? .!!~~?, telephone number for turbotax, @@@#**__telephone number for turbotax
telephone number for turbotax customer service (+1)*866.769.8127*? .!!~~?, telephone number for turbotax customer service, @@@#**__telephone number for turbotax customer service
turbotax call center number (+1)*866.769.8127*? .!!~~?, turbotax call center number, @@@#**__turbotax call center number
phone number for turbotax (+1)*866.769.8127*? .!!~~?, phone number for turbotax, phone number for turbotax help, @@@#**__phone number for turbotax help
turbotax technical supportemail (+1)*866.769.8127*? .!!~~?, turbotax technical supportemail, @@@#**__turbotax technical supportemail, @@@#**__turbotax technical supportemail
turbotax customer support email +1)*866.769.8127*? .!!~~?, +turbotax customer support email, @@@#**__turbotax customer support email, turbotax customer support email
(866-769-8127)_turbotax intuit customer phone number, Turbotax customer phone number, turbotax intuit support phone number, turbotax customer support phone number, turbotax intuit phone numebr, turbotax phone numeber, turbotax customer services number, turbotax intuit customer services phone number, turbotax toll free number, turbotax intuit toll free phone number, turbotax toll free service
~ turbotax support phone number [866-769-8127]
turbotax support phone number [866-769-8127]
turbotax intuit support phone number [866-769-8127]
turbotax phone number [866-769-8127], turbotax intuit phone number [866-769-8127],
turbotax [866-769-8127] intuit customer support phone number [866-769-8127], turbotax intuit customer phone number , turbotax intuit customer support number , [866-769-8127]turbotax intuit customer number , [866-769-8127]turbotax customer support phone number
[866-769-8127]turbotax customer support phone number
turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number+[866-769-8127]!~ turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax +[866-769-8127]!~ customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number +[866-769-8127]!~ turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number +[866-769-8127]!~ turbotax customer support phone number turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number turbotax customer support phone numbe
Toll free phone number (+1)*866.769.8127*? .!!~~? turbotax intuit support phone number, turbotax intuit support phone number,
turbotax support phone number (+1)*866.769.8127*? .!!~~? turbotax support phone number,@@@#**__ turbotax support phone number
turbotax phone number (+1)*866.769.8127*? .!!~~? turbotax phone number,@@@#**__ turbotax phone number
turbotax support number (+1)*866.769.8127*? .!!~~? turbotax support number,@@@#**__ turbotax support number
turbotax customer support phone number (+1)*866.769.8127*? .!!~~? turbotax customer support phone number,@@@#**__ turbotax customer support phone number
turbotax customer support number (+1)*866.769.8127*? .!!~~? turbotax customer support number,@@@#**__ turbotax customer support number
turbotax customer phone number (+1)*866.769.8127*? .!!~~? turbotax customer phone number,@@@#**__ turbotax customer phone number
turbotax customer number (+1)*866.769.8127*? .!!~~? turbotax customer number,@@@#**__ turbotax customer number
turbotax customer services number (+1)*866.769.8127*? .!!~~? turbotax customer services number,@@@#**__ turbotax customer services number
turbotax customer services phone number (+1)*866.769.8127*? .!!~~? turbotax customer services phone number,@@@#**__ turbotax customer services phone number
turbotax technical support phone number (+1)*866.769.8127*? .!!~~? turbotax technical support phone number,@@@#**__ turbotax technical support phonenumber
turbotax technical support number (+1)*866.769.8127*? .!!~~? turbotax technical support number,@@@#**__ turbotax technical support number
turbotax technical number (+1)*866.769.8127*? .!!~~? turbotax technical number,@@@#**__ turbotax technical number
turbotax help support phone number (+1)*866.769.8127*? .!!~~? turbotax help support phone number,@@@#**__ turbotax help support phone number
turbotax helpline phone number (+1)*866.769.8127*? .!!~~? turbotax helpline support phone number,@@@#**__ turbotax helpline phone number
turbotax helpline number (+1)*866.769.8127*? .!!~~? turbotax helpline support number,@@@#**__ turbotax helpline number
turbotax Toll free phone number (+1)*866.769.8127*? .!!~~? turbotax intuit tollfree support phone number, turbotax tollfree support phone number,
turbotax Toll free number (+1)*866.769.8127*? .!!~~? turbotax tollfree number, @@@#**__turbotax tollfree number,
turbotax intuit Toll free number (+1)*866.769.8127*? .!!~~? turbotax intuit tollfree number, @@@#**__turbotax intuit tollfree number,
telephone number for turbotax (+1)*866.769.8127*? .!!~~?, telephone number for turbotax, @@@#**__telephone number for turbotax
telephone number for turbotax customer service (+1)*866.769.8127*? .!!~~?, telephone number for turbotax customer service, @@@#**__telephone number for turbotax customer service
turbotax call center number (+1)*866.769.8127*? .!!~~?, turbotax call center number, @@@#**__turbotax call center number
phone number for turbotax (+1)*866.769.8127*? .!!~~?, phone number for turbotax, phone number for turbotax help, @@@#**__phone number for turbotax help
turbotax technical supportemail (+1)*866.769.8127*? .!!~~?, turbotax technical supportemail, @@@#**__turbotax technical supportemail, @@@#**__turbotax technical supportemail
turbotax customer support email +1)*866.769.8127*? .!!~~?, +turbotax customer support email, @@@#**__turbotax customer support email, turbotax customer support email
(866-769-8127)_turbotax intuit customer phone number, Turbotax customer phone number, turbotax intuit support phone number, turbotax customer support phone number, turbotax intuit phone numebr, turbotax phone numeber, turbotax customer services number, turbotax intuit customer services phone number, turbotax toll free number, turbotax intuit toll free phone number, turbotax toll free service
~ turbotax support phone number [866-769-8127]
turbotax support phone number [866-769-8127]
turbotax intuit support phone number [866-769-8127]
turbotax phone number [866-769-8127], turbotax intuit phone number [866-769-8127],
turbotax [866-769-8127] intuit customer support phone number [866-769-8127], turbotax intuit customer phone number , turbotax intuit customer support number , [866-769-8127]turbotax intuit customer number , [866-769-8127]turbotax customer support phone number
[866-769-8127]turbotax customer support phone number
turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number+[866-769-8127]!~ turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax +[866-769-8127]!~ customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number +[866-769-8127]!~ turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number +[866-769-8127]!~ turbotax customer support phone number turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number turbotax customer support phone numbe
Toll free phone number (+1)*866.769.8127*? .!!~~? turbotax intuit support phone number, turbotax intuit support phone number,
turbotax support phone number (+1)*866.769.8127*? .!!~~? turbotax support phone number,@@@#**__ turbotax support phone number
turbotax phone number (+1)*866.769.8127*? .!!~~? turbotax phone number,@@@#**__ turbotax phone number
turbotax support number (+1)*866.769.8127*? .!!~~? turbotax support number,@@@#**__ turbotax support number
turbotax customer support phone number (+1)*866.769.8127*? .!!~~? turbotax customer support phone number,@@@#**__ turbotax customer support phone number
turbotax customer support number (+1)*866.769.8127*? .!!~~? turbotax customer support number,@@@#**__ turbotax customer support number
turbotax customer phone number (+1)*866.769.8127*? .!!~~? turbotax customer phone number,@@@#**__ turbotax customer phone number
turbotax customer number (+1)*866.769.8127*? .!!~~? turbotax customer number,@@@#**__ turbotax customer number
turbotax customer services number (+1)*866.769.8127*? .!!~~? turbotax customer services number,@@@#**__ turbotax customer services number
turbotax customer services phone number (+1)*866.769.8127*? .!!~~? turbotax customer services phone number,@@@#**__ turbotax customer services phone number
turbotax technical support phone number (+1)*866.769.8127*? .!!~~? turbotax technical support phone number,@@@#**__ turbotax technical support phonenumber
turbotax technical support number (+1)*866.769.8127*? .!!~~? turbotax technical support number,@@@#**__ turbotax technical support number
turbotax technical number (+1)*866.769.8127*? .!!~~? turbotax technical number,@@@#**__ turbotax technical number
turbotax help support phone number (+1)*866.769.8127*? .!!~~? turbotax help support phone number,@@@#**__ turbotax help support phone number
turbotax helpline phone number (+1)*866.769.8127*? .!!~~? turbotax helpline support phone number,@@@#**__ turbotax helpline phone number
turbotax helpline number (+1)*866.769.8127*? .!!~~? turbotax helpline support number,@@@#**__ turbotax helpline number
turbotax Toll free phone number (+1)*866.769.8127*? .!!~~? turbotax intuit tollfree support phone number, turbotax tollfree support phone number,
turbotax Toll free number (+1)*866.769.8127*? .!!~~? turbotax tollfree number, @@@#**__turbotax tollfree number,
turbotax intuit Toll free number (+1)*866.769.8127*? .!!~~? turbotax intuit tollfree number, @@@#**__turbotax intuit tollfree number,
telephone number for turbotax (+1)*866.769.8127*? .!!~~?, telephone number for turbotax, @@@#**__telephone number for turbotax
telephone number for turbotax customer service (+1)*866.769.8127*? .!!~~?, telephone number for turbotax customer service, @@@#**__telephone number for turbotax customer service
turbotax call center number (+1)*866.769.8127*? .!!~~?, turbotax call center number, @@@#**__turbotax call center number
phone number for turbotax (+1)*866.769.8127*? .!!~~?, phone number for turbotax, phone number for turbotax help, @@@#**__phone number for turbotax help
turbotax technical supportemail (+1)*866.769.8127*? .!!~~?, turbotax technical supportemail, @@@#**__turbotax technical supportemail, @@@#**__turbotax technical supportemail
turbotax customer support email +1)*866.769.8127*? .!!~~?, +turbotax customer support email, @@@#**__turbotax customer support email, turbotax customer support email
(866-769-8127)_turbotax intuit customer phone number, Turbotax customer phone number, turbotax intuit support phone number, turbotax customer support phone number, turbotax intuit phone numebr, turbotax phone numeber, turbotax customer services number, turbotax intuit customer services phone number, turbotax toll free number, turbotax intuit toll free phone number, turbotax toll free service
~ turbotax support phone number [866-769-8127]
turbotax support phone number [866-769-8127]
turbotax intuit support phone number [866-769-8127]
turbotax phone number [866-769-8127], turbotax intuit phone number [866-769-8127],
turbotax [866-769-8127] intuit customer support phone number [866-769-8127], turbotax intuit customer phone number , turbotax intuit customer support number , [866-769-8127]turbotax intuit customer number , [866-769-8127]turbotax customer support phone number
[866-769-8127]turbotax customer support phone number
turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number [866-769-8127]turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number+[866-769-8127]!~ turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax +[866-769-8127]!~ customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number +[866-769-8127]!~ turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number turbotax customer support phone number +[866-769-8127]!~ turbotax customer support phone number turbotax customer support phone number [866-769-8127]turbotax customer support phone number turbotax customer support phone number turbotax customer support phone numbe
39462f76e53abbac577c75ed3e0279f8c25cf648
User:Assetdk
2
617
1761
1760
2020-04-15T13:57:32Z
Assetdk
89
/* =Per Olsen */
wikitext
text/x-wiki
==Per Olsen==
Primarily using Makehuman for UE4, working on a howto and a MakeShapes Blender addon.
916688a417e55a696aee0816b45c8e3afa6e957e
1760
2020-04-15T13:57:13Z
Assetdk
89
Created page with "==Per Olsen= Primarily using Makehuman for UE4, working on a howto and a MakeShapes Blender addon."
wikitext
text/x-wiki
==Per Olsen=
Primarily using Makehuman for UE4, working on a howto and a MakeShapes Blender addon.
9facc48c5899b5847358146d06ee45877c11cf52
User:Ellbict
2
721
2149
2145
2022-12-19T21:50:49Z
Ellbict
94
cialis pills dosage
wikitext
text/x-wiki
She was a lovely lady and gracious every time I talked to her https://nolvadex.one - how long does it take for tamoxifen to start working Laxative Agents
fb1389d93a916fced4bb2acdcf56b02caf574bca
2145
2144
2022-11-10T18:45:06Z
Ellbict
94
cialis v viagra side effects
wikitext
text/x-wiki
Lymphedema volume was defined as the difference between the lymphedematous limb VL and the healthy limb volume VH https://bestcialis20mg.com - generic cialis cost s comforting that heГў
97e4cc0edf6d1cdbec45b9fc055ed88e93b9a2e0
2144
2022-09-19T09:47:37Z
Ellbict
94
chlamydia resistance to doxycycline
wikitext
text/x-wiki
The transfer of genetic cargo into experimental cells requires various chemical or physical strategies, many involving the transient introduction of the genetic material. https://buydoxycyclineon.com - doxycycline and milk 2004 Jul; 114 1 e96- 101.
efb8585c08b8bc0b5d180b7e9687aaacbf49b9ad
User:Fairytail
2
160
399
2015-08-14T23:33:30Z
Fairytail
16
A short bio.
wikitext
text/x-wiki
== Who am I? ==
My name is Fairytail... Well, actually it isn't. It was supposed to be FaerieTail, but force of habit made me mistype it. That, and forums and the average wiki can't copy with CamelCase.
== What am I? ==
A pedant. Seriously annoying, thoroughly persistant, annoyingly serious, and persistantly thorough.
== When am I? ==
When am I going to go somewhere else and leave you all in peace? Heh.
== Where am I? ==
More often than not, sitting in front of a computer screen.
== Why am I? ==
My driving passions are playing with software that doesn't do what I want it to do, messing with code I don't understand, fansubbing anime, scanlating manga, and listening to gothic death metal. I believe in using the right tool for the job (which is NEVER going to be perl or java or emacs or info), every program should have a man page, and that documentation exists primarily to prove the programmers wrong. I firmly believe in reading the manual, and manuals that can be read.
19eb8de08a7c169bbf17433b45c0790b62cc564f
User:Fortuna
2
697
2001
2021-01-26T08:15:19Z
Fortuna
107
Created page with "My interessts are Unreal Engine and tools and workflows that help in development."
wikitext
text/x-wiki
My interessts are Unreal Engine and tools and workflows that help in development.
653a9fa2c11bb0bd618196a7704554cebc1050c1
User:Injinji
2
534
1415
1414
2017-08-05T19:21:46Z
Injinji
44
wikitext
text/x-wiki
I'm Sandra Freed, amateur (more like a noob) animator. I'm working on a Youtube movie, Linnet: Growing Wings ([https://www.youtube.com/watch?v=GLtGf6pDyyc&feature=youtu.be| trailer here])
b9108c6051f5f59e5c724e8ee70920b50c4cb5df
1414
2017-08-05T19:21:10Z
Injinji
44
Created page with "I'm Sandra Freed, amateur (more like a noob) animator. I'm working on a Youtube movie, Linnet: Growing Wings ([https://www.youtube.com/watch?v=GLtGf6pDyyc&feature=youtu.be|tr..."
wikitext
text/x-wiki
I'm Sandra Freed, amateur (more like a noob) animator. I'm working on a Youtube movie, Linnet: Growing Wings ([https://www.youtube.com/watch?v=GLtGf6pDyyc&feature=youtu.be|trailer here])
2057603cb20de42c6465613fc43523015a79a6c9
User:Joepal
2
723
2152
2024-09-22T15:12:36Z
Cheevemix
129
dapoxetine reviews reddit
wikitext
text/x-wiki
Neuroendocrine regulation in depressed postmenopausal women and healthy subjects <a href=https://enhanceyourlife.mom/>walmart priligy</a> Aurobindo Pharma U
8f00a5b5d39b30dceeac3805e518af821cff6014
User:Robbaer
2
97
238
237
2015-07-25T18:19:20Z
Robbaer
12
wikitext
text/x-wiki
Robert Baer, Ph.D. got his doctorate degree in Physiology from Johns Hopkins University in Baltimore, MD, USA. and did a post-doctoral fellowship at the Cardiovascular Research Institute of the University of California, San Francisco USA. His undergraduate degree came from Carleton College, Northfield, MN, USA. with a double major in chemistry and psychology. He is currently Professor of Physiology at A T Still University / Kirksville College of Osteopathic Medicine, where he has been on faculty since 1982.
Rob joined the MakeHuman team in 2014 where her contributes to regression testing, video tutorials, and documentation including the MHCommunity wiki.
5d35e85f6d0e94c27ee2958fa1dd80e41a808152
237
2015-07-25T18:17:52Z
Robbaer
12
Contributing to MakeHuman is a great hobby which nurtures your creative energy!
wikitext
text/x-wiki
Robert Baer, Ph.D. got his doctorate degree in Physiology from Johns Hopkins University in Baltimore, MD, USA. and did a post-doctoral fellowship at the Cardiovascular Research Institute of the University of California, San Francisco California. His undergraduate degree came from Carleton College, Northfield, MN, USA. with a double major in chemistry and psychology. He is currently Professor of Physiology at A T Still University/Kirksville College of Osteopathic Medicine where he has been on faculty since 1982.
Rob joined the MakeHuman team in 2014 where her contributes to regression testing, video tutorials, and documentation including the MHCommunity wiki.
0522c977ee8780c032e33404d4330b6efc0a19cb
User:Turbotax01
2
215
613
2016-03-07T21:45:33Z
Turbotax01
24
Turbotax01 moved page [[User:Turbotax01]] to [[User:866-769-8127))))turbotax customer phone number==turbotax tech support number]]
wikitext
text/x-wiki
#REDIRECT [[User:866-769-8127))))turbotax customer phone number==turbotax tech support number]]
efa6d3061f6e6bd59b20cd0a68932d0ee69e2d2d
User talk:Aranuvir
3
199
522
2015-09-04T18:12:57Z
Aranuvir
17
Created page with "I'm not sure if the cleannpz and compile stuff is really necessary, but you shouldn't omit removing old pyc-files."
wikitext
text/x-wiki
I'm not sure if the cleannpz and compile stuff is really necessary, but you shouldn't omit removing old pyc-files.
422be000775f6deb1d793b5783ab2b81d285c92f
User talk:Ellbict
3
722
2150
2024-02-22T18:00:05Z
Iloxdlpejovum
126
Elective vegetables, solitary, reaction cornea; signified are.
wikitext
text/x-wiki
http://fjksldhyaodh.com/ - Enidexela <a href="http://fjksldhyaodh.com/">Acavaba</a> fgk.hoyv.makehumancommunity.org.knv.rh http://fjksldhyaodh.com/
17ccabf07c625ffa0f23670b21b73f942e23879d
User talk:Fairytail
3
163
409
2015-08-16T23:24:05Z
Robbaer
12
Style guides and glad for the contributions you are making
wikitext
text/x-wiki
Got your message, and I too, am learning as I go. I had already seen your forum post and read a couple of your tips on placing images. Right now I'm still feeling my way along, but I noticed that you have some material and Joel has some material, and I will be using that as model.
What Joel suggested to me when I posed the question to him was to get some content up in usable form to test learn the lay of the land. As we begin to see what works nicely we can begin to converge on some "rules". This seemed to have merit, but we must be careful not to do so much "pilot work" that it becomes enormous to make things consistent.
For now I have been mostly working on the "workflows" section. The other huge job is to take the old documentation and port it to the Wiki. Aiena was starting on that and I didn't want to get too many cooks working on the same thing at the same time, but he has not done too much recently, and I haven't seen him on IRC to ask.
Anyway, glad to see your contributions, and glad to her suggestions.
b3680088ca03ac3bd9fa29825e5b3c0c1efe8baa
User talk:Fortuna
3
696
2000
2021-01-26T07:49:57Z
Fortuna
107
Created page with "You may talk here of try to contact be via discord [https://discord.gg/TvV5vtyYNu] --~~~~"
wikitext
text/x-wiki
You may talk here of try to contact be via discord
[https://discord.gg/TvV5vtyYNu]
--[[User:Fortuna|Fortuna]] ([[User talk:Fortuna|talk]]) 07:49, 26 January 2021 (UTC)
2bee11705576bf848ae11df27f27e90d02354abd
User talk:Robbaer
3
13
406
61
2015-08-15T20:41:43Z
Fairytail
16
wikitext
text/x-wiki
== Look And Feel ==
: A common look and feel will make this a better Wiki!
:: Hi Rob. I asked joepal on the forum if there was a policy page, and he said they hadn't got that far. May I suggest that we use the Documentation_Talk discussion page to coordinate the pages we're working on, and to discuss a common look and feel and create a style guide? I'll also post this to the forum. Please have a look at Help:Talk pages if you're unfamiliar with editing talk pages (I'm still learning as I go along) [[User:Fairytail|Fairytail]] ([[User talk:Fairytail|talk]]) 22:40, 15 August 2015 (CEST)
976a74ade319a277f2b919eb065effefb2ca7c33
61
2015-07-04T16:40:09Z
Robbaer
12
Created page with "A common look and feel will make this a better Wiki!"
wikitext
text/x-wiki
A common look and feel will make this a better Wiki!
337f377c8d434b678c9f6c43b33e6d2c6a2590ed
File:00 create unity project.png
6
497
1241
2016-11-25T09:04:12Z
Joepal
14
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:01 export mh 1.png
6
494
1238
2016-11-25T08:56:52Z
Joepal
14
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:02 export mh 2.PNG
6
495
1239
2016-11-25T09:01:21Z
Joepal
14
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:03 export mh 3.png
6
498
1242
2016-11-25T09:09:18Z
Joepal
14
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:04 export mh 4.png
6
499
1243
2016-11-25T09:11:37Z
Joepal
14
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:05 import unity.png
6
500
1244
2016-11-25T09:17:01Z
Joepal
14
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:06 unity transparency fail.png
6
501
1247
2016-11-25T09:27:15Z
Joepal
14
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:07 fix material.png
6
502
1248
2016-11-25T09:33:03Z
Joepal
14
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:08 transparency fixed.png
6
503
1249
2016-11-25T09:39:51Z
Joepal
14
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:09 humanoid.png
6
504
1251
2016-11-25T09:46:58Z
Joepal
14
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:10 assign bones.png
6
505
1252
2016-11-25T09:52:28Z
Joepal
14
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:11 bones working.png
6
506
1254
2016-11-25T09:58:31Z
Joepal
14
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:12x-assetdownloader.png
6
565
1491
2018-11-14T13:20:11Z
Joepal
14
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:12x-blender-ik.png
6
567
1495
2018-11-14T13:29:44Z
Joepal
14
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:12x-blender-import.png
6
566
1494
2018-11-14T13:27:44Z
Joepal
14
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Age 0.png
6
398
1020
2016-07-04T09:53:14Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Age 1.png
6
455
1077
2016-07-04T10:02:39Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Alphachannel1.png
6
202
543
2015-11-01T11:55:12Z
Joepal
14
Eyes are rendered completely white when alpha channel isn't properly set up
wikitext
text/x-wiki
Eyes are rendered completely white when alpha channel isn't properly set up
49c1ba8720782ae38ad3241d114cf877cd911da2
File:Alphachannel2.png
6
203
544
2015-11-01T12:03:54Z
Joepal
14
Enable alpha in the material
wikitext
text/x-wiki
Enable alpha in the material
7bfd9418bcb8d465ed5bff863834874cecd84a55
File:Alphachannel3.png
6
204
545
2015-11-01T12:05:54Z
Joepal
14
Mark that the texture's alpha value should influence the transparency of the material.
wikitext
text/x-wiki
Mark that the texture's alpha value should influence the transparency of the material.
a116c0c66230e819e958983e0659d5949e6a5d75
File:Alphachannel5.png
6
205
546
2015-11-01T12:10:54Z
Joepal
14
Basic node setup for texture with alpha channel
wikitext
text/x-wiki
Basic node setup for texture with alpha channel
58b9b70d6e815c6388a9bd8fac3ea2697b598a57
File:Alphachannel6.png
6
206
547
2015-11-01T12:13:07Z
Joepal
14
Render with alpha enabled
wikitext
text/x-wiki
Render with alpha enabled
abf5ffd6a3d532c915843a05682dca6f3d15dbb7
File:Asset downloader.png
6
717
2113
2021-05-19T05:31:07Z
Joepal
14
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Au100-load.png
6
334
929
875
2016-05-27T15:49:17Z
Maintenance script
0
Maintenance script uploaded a new version of [[File:Au100-load.png]]
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
875
2016-05-27T15:36:56Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Au110-loaded.png
6
335
930
876
2016-05-27T15:49:22Z
Maintenance script
0
Maintenance script uploaded a new version of [[File:Au110-loaded.png]]
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
876
2016-05-27T15:37:06Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Au115-frame0121.png
6
336
931
877
2016-05-27T15:49:27Z
Maintenance script
0
Maintenance script uploaded a new version of [[File:Au115-frame0121.png]]
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
877
2016-05-27T15:37:16Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Au120-shift-arms.png
6
337
932
878
2016-05-27T15:49:32Z
Maintenance script
0
Maintenance script uploaded a new version of [[File:Au120-shift-arms.png]]
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
878
2016-05-27T15:37:25Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Au125-revfoot.png
6
338
933
879
2016-05-27T15:49:37Z
Maintenance script
0
Maintenance script uploaded a new version of [[File:Au125-revfoot.png]]
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
879
2016-05-27T15:37:35Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Au130-toes.png
6
339
934
880
2016-05-27T15:49:42Z
Maintenance script
0
Maintenance script uploaded a new version of [[File:Au130-toes.png]]
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
880
2016-05-27T15:37:45Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Au140-bend-toes.png
6
340
935
881
2016-05-27T15:49:47Z
Maintenance script
0
Maintenance script uploaded a new version of [[File:Au140-bend-toes.png]]
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
881
2016-05-27T15:37:55Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Au150-shift-down.png
6
341
936
882
2016-05-27T15:49:52Z
Maintenance script
0
Maintenance script uploaded a new version of [[File:Au150-shift-down.png]]
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
882
2016-05-27T15:38:05Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Au160-same-pose.png
6
342
937
883
2016-05-27T15:49:57Z
Maintenance script
0
Maintenance script uploaded a new version of [[File:Au160-same-pose.png]]
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
883
2016-05-27T15:38:15Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Au170-pose-looped.png
6
343
938
884
2016-05-27T15:50:02Z
Maintenance script
0
Maintenance script uploaded a new version of [[File:Au170-pose-looped.png]]
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
884
2016-05-27T15:38:25Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Au180-transfer-ik.png
6
344
939
885
2016-05-27T15:50:07Z
Maintenance script
0
Maintenance script uploaded a new version of [[File:Au180-transfer-ik.png]]
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
885
2016-05-27T15:38:35Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Au190-above-floor.png
6
345
940
886
2016-05-27T15:50:12Z
Maintenance script
0
Maintenance script uploaded a new version of [[File:Au190-above-floor.png]]
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
886
2016-05-27T15:38:45Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Au200-shift-up.png
6
346
941
887
2016-05-27T15:50:17Z
Maintenance script
0
Maintenance script uploaded a new version of [[File:Au200-shift-up.png]]
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
887
2016-05-27T15:38:55Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Au210-camera-action.png
6
347
942
888
2016-05-27T15:50:22Z
Maintenance script
0
Maintenance script uploaded a new version of [[File:Au210-camera-action.png]]
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
888
2016-05-27T15:39:05Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Au220-video.png
6
348
943
889
2016-05-27T15:50:27Z
Maintenance script
0
Maintenance script uploaded a new version of [[File:Au220-video.png]]
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
889
2016-05-27T15:39:15Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Background 0 0.png
6
433
1055
2016-07-04T09:59:01Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Badge-render.png
6
3
11
2015-06-27T18:44:16Z
Joepal1
1
Test
wikitext
text/x-wiki
Test
640ab2bae07bedc4c163f679a746f7ab7fb5d1fa
File:Basemesh1.png
6
654
1864
2020-09-13T12:48:01Z
Punkduck
38
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Basemesh2.png
6
655
1865
2020-09-13T12:49:01Z
Punkduck
38
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Basemesh3.png
6
656
1866
2020-09-13T12:49:35Z
Punkduck
38
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Blender-sword-palm.png
6
489
1222
2016-11-12T18:28:00Z
Joepal
14
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Blender-sword-vertex1.png
6
488
1221
2016-11-12T18:25:33Z
Joepal
14
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Blender-sword-vertex2.png
6
490
1223
2016-11-12T18:29:32Z
Joepal
14
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Blender-sword.png
6
487
1220
2016-11-12T18:22:11Z
Joepal
14
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Blender buckle.png
6
493
1236
2016-11-20T20:17:45Z
Joepal
14
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Btmc01.png
6
184
486
2015-08-29T10:54:56Z
Fairytail
16
MakeClothes v1.1.0
wikitext
text/x-wiki
MakeClothes v1.1.0
dd5e06f0fcb7d221d42fb6dcd8a9ed67126170ee
File:Btmc02.png
6
185
487
2015-08-29T10:56:53Z
Fairytail
16
MakeClothes Loaded Human Mesh
wikitext
text/x-wiki
MakeClothes Loaded Human Mesh
9c8629d14d469b98c5879c813e6156caf00615dd
File:Btmc03.png
6
186
488
2015-08-29T10:58:06Z
Fairytail
16
MakeClothes Loaded Human Mesh With Helpers
wikitext
text/x-wiki
MakeClothes Loaded Human Mesh With Helpers
c9022a6d34df745e8151538a1118cb838b48d58e
File:Btmc04.png
6
187
489
2015-08-29T10:59:36Z
Fairytail
16
MakeClothes Mid Vertices Assigned
wikitext
text/x-wiki
MakeClothes Mid Vertices Assigned
cfe9f8052ef27501901118df6c587c338c3c6638
File:Btmc05.png
6
188
490
2015-08-29T11:00:32Z
Fairytail
16
MakeClothes Left Vertices Assigned
wikitext
text/x-wiki
MakeClothes Left Vertices Assigned
ebc4eec4463b86d13fe6f8661cfbd6acb30f29d5
File:Btmc06.png
6
189
491
2015-08-29T11:01:29Z
Fairytail
16
MakeClothes Show Selection
wikitext
text/x-wiki
MakeClothes Show Selection
ae08edc4ca6f75169265277ffcdb7378fa28b453
File:Btmc07.png
6
190
492
2015-08-29T11:02:41Z
Fairytail
16
MakeClothes Show Materials And UV Projection
wikitext
text/x-wiki
MakeClothes Show Materials And UV Projection
6472c9d53b4d17946d1ed8e21d9095c5fda92bbd
File:Btmc08.png
6
192
494
2015-08-29T11:05:13Z
Fairytail
16
MakeClothes Show Z-Depth
wikitext
text/x-wiki
MakeClothes Show Z-Depth
12b5fe8a3c02419d28422dc7e73ee47812e1b3a4
File:Btmc09.png
6
191
493
2015-08-29T11:04:07Z
Fairytail
16
MakeClothes Show Offset Scaling
wikitext
text/x-wiki
MakeClothes Show Offset Scaling
11f2e0ec7fbf9b63199598f39e122fcca3e09b4d
File:Btmc10.png
6
193
495
2015-08-29T11:06:11Z
Fairytail
16
MakeClothes Show Settings
wikitext
text/x-wiki
MakeClothes Show Settings
08c02471a4d627437436a023c44c6548fcafb1c2
File:Btmc11.png
6
194
496
2015-08-29T11:07:07Z
Fairytail
16
MakeClothes Show License
wikitext
text/x-wiki
MakeClothes Show License
411ed7c5ff2015325068c3f129a78fddae26cf6f
File:Clothes2 0 0.png
6
412
1034
2016-07-04T09:55:33Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Clothes 1 0.png
6
426
1048
2016-07-04T09:57:52Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:CrudeSword-render.png
6
491
1224
2016-11-12T18:31:21Z
Joepal
14
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Customtab 0.png
6
448
1070
2016-07-04T10:01:30Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Dress-example-geometry.png
6
671
1935
2020-11-14T19:57:04Z
Punkduck
38
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Dress-example-gimtex.png
6
674
1938
2020-11-14T19:59:53Z
Punkduck
38
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Dress-example-lose-geom1.png
6
679
1943
2020-11-15T13:09:45Z
Punkduck
38
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Dress-example-lose-geom2.png
6
680
1944
2020-11-15T13:10:21Z
Punkduck
38
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Dress-example-manual-normalmap.png
6
675
1939
2020-11-14T20:00:36Z
Punkduck
38
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Dress-example-poles.png
6
681
1945
2020-11-15T13:10:56Z
Punkduck
38
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Dress-example-save.png
6
673
1937
2020-11-14T19:59:10Z
Punkduck
38
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Dress-example-smooth-mh.jpg
6
678
1942
2020-11-15T13:09:11Z
Punkduck
38
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Dress-example-smoothing.jpg
6
677
1941
2020-11-15T13:08:32Z
Punkduck
38
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Dress-example-texturedchar.png
6
672
1936
2020-11-14T19:57:49Z
Punkduck
38
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Dress-example-vgroups.png
6
670
1934
2020-11-14T19:56:11Z
Punkduck
38
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Edit-action.png
6
397
1019
2016-07-04T09:53:04Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Export labelled.png
6
395
1017
2016-07-04T09:52:44Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Eyes maskedspecular vs translucent.jpg
6
692
1987
2021-01-19T06:40:45Z
Fortuna
107
CC0
wikitext
text/x-wiki
CC0
cfc2c6505d098ccd1d0667c1ebc09ae32b970cc2
File:Face modifier labelled.png
6
425
1047
2016-07-04T09:57:42Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Facebones.png
6
719
2115
2021-05-29T09:03:37Z
Punkduck
38
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Fashion blender inside box.png
6
510
1264
2016-12-11T14:23:52Z
Joepal
14
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Fashion blender sampling.png
6
511
1265
2016-12-11T14:27:06Z
Joepal
14
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Fashion mhx2.png
6
509
1263
2016-12-11T14:20:02Z
Joepal
14
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Fashion upload 1.png
6
512
1267
2016-12-11T14:32:37Z
Joepal
14
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Fashion upload 2.png
6
513
1268
2016-12-11T14:37:09Z
Joepal
14
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Feet-010-copy-files.png
6
349
944
890
2016-05-27T15:50:32Z
Maintenance script
0
Maintenance script uploaded a new version of [[File:Feet-010-copy-files.png]]
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
890
2016-05-27T15:39:25Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Feet-020-enable-addon.png
6
350
945
891
2016-05-27T15:50:37Z
Maintenance script
0
Maintenance script uploaded a new version of [[File:Feet-020-enable-addon.png]]
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
891
2016-05-27T15:39:34Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Feet-030-load-bvh.png
6
351
946
892
2016-05-27T15:50:41Z
Maintenance script
0
Maintenance script uploaded a new version of [[File:Feet-030-load-bvh.png]]
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
892
2016-05-27T15:39:44Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Feet-050-anim-loaded.png
6
352
947
893
2016-05-27T15:50:46Z
Maintenance script
0
Maintenance script uploaded a new version of [[File:Feet-050-anim-loaded.png]]
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
893
2016-05-27T15:39:54Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Feet-110-export-default.png
6
353
948
894
2016-05-27T15:50:51Z
Maintenance script
0
Maintenance script uploaded a new version of [[File:Feet-110-export-default.png]]
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
894
2016-05-27T15:40:04Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Feet-120-import-mhx.png
6
354
949
895
2016-05-27T15:50:56Z
Maintenance script
0
Maintenance script uploaded a new version of [[File:Feet-120-import-mhx.png]]
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
895
2016-05-27T15:40:14Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Feet-130-delete-skin.png
6
355
950
896
2016-05-27T15:51:01Z
Maintenance script
0
Maintenance script uploaded a new version of [[File:Feet-130-delete-skin.png]]
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
896
2016-05-27T15:40:24Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Feet-140-anim-imported.png
6
356
951
897
2016-05-27T15:51:06Z
Maintenance script
0
Maintenance script uploaded a new version of [[File:Feet-140-anim-imported.png]]
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
897
2016-05-27T15:40:34Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Feet-150-intersection.png
6
357
952
898
2016-05-27T15:51:11Z
Maintenance script
0
Maintenance script uploaded a new version of [[File:Feet-150-intersection.png]]
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
898
2016-05-27T15:40:44Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Feet-160-start-edit.png
6
358
953
899
2016-05-27T15:51:16Z
Maintenance script
0
Maintenance script uploaded a new version of [[File:Feet-160-start-edit.png]]
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
899
2016-05-27T15:40:54Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Feet-170-confirm-edit.png
6
359
954
900
2016-05-27T15:51:21Z
Maintenance script
0
Maintenance script uploaded a new version of [[File:Feet-170-confirm-edit.png]]
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
900
2016-05-27T15:41:04Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Feet-180-similar-poses.png
6
360
955
901
2016-05-27T15:51:26Z
Maintenance script
0
Maintenance script uploaded a new version of [[File:Feet-180-similar-poses.png]]
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
901
2016-05-27T15:41:14Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Feet-190-loop-and-repeat.png
6
361
956
902
2016-05-27T15:51:31Z
Maintenance script
0
Maintenance script uploaded a new version of [[File:Feet-190-loop-and-repeat.png]]
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
902
2016-05-27T15:41:24Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Feet-200-long-animation.png
6
362
957
903
2016-05-27T15:51:36Z
Maintenance script
0
Maintenance script uploaded a new version of [[File:Feet-200-long-animation.png]]
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
903
2016-05-27T15:41:34Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Feet-210-add-plane.png
6
363
958
904
2016-05-27T15:51:41Z
Maintenance script
0
Maintenance script uploaded a new version of [[File:Feet-210-add-plane.png]]
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
904
2016-05-27T15:41:43Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Feet-220-below-plane.png
6
364
959
905
2016-05-27T15:51:46Z
Maintenance script
0
Maintenance script uploaded a new version of [[File:Feet-220-below-plane.png]]
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
905
2016-05-27T15:41:53Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Feet-230-keep-above-floor.png
6
365
960
906
2016-05-27T15:51:51Z
Maintenance script
0
Maintenance script uploaded a new version of [[File:Feet-230-keep-above-floor.png]]
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
906
2016-05-27T15:42:03Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Feet-240-transfer-ik.png
6
366
961
907
2016-05-27T15:51:56Z
Maintenance script
0
Maintenance script uploaded a new version of [[File:Feet-240-transfer-ik.png]]
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
907
2016-05-27T15:42:13Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Feet-250-keep-above-ik.png
6
367
962
908
2016-05-27T15:52:01Z
Maintenance script
0
Maintenance script uploaded a new version of [[File:Feet-250-keep-above-ik.png]]
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
908
2016-05-27T15:42:23Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Feet-260-keep-above-better.png
6
368
963
909
2016-05-27T15:52:06Z
Maintenance script
0
Maintenance script uploaded a new version of [[File:Feet-260-keep-above-better.png]]
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
909
2016-05-27T15:42:33Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Feet-310-init-pose.png
6
369
964
910
2016-05-27T15:52:11Z
Maintenance script
0
Maintenance script uploaded a new version of [[File:Feet-310-init-pose.png]]
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
910
2016-05-27T15:42:43Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Feet-320-pose-feet.png
6
370
965
911
2016-05-27T15:52:16Z
Maintenance script
0
Maintenance script uploaded a new version of [[File:Feet-320-pose-feet.png]]
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
911
2016-05-27T15:42:53Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Feet-330-pose-ik.png
6
371
966
912
2016-05-27T15:52:21Z
Maintenance script
0
Maintenance script uploaded a new version of [[File:Feet-330-pose-ik.png]]
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
912
2016-05-27T15:43:03Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Feet-340-current2rest.png
6
372
967
913
2016-05-27T15:52:26Z
Maintenance script
0
Maintenance script uploaded a new version of [[File:Feet-340-current2rest.png]]
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
913
2016-05-27T15:43:13Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Feet-350-new-rest-pose.png
6
373
968
914
2016-05-27T15:52:31Z
Maintenance script
0
Maintenance script uploaded a new version of [[File:Feet-350-new-rest-pose.png]]
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
914
2016-05-27T15:43:23Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Feet-360-markers.png
6
374
969
915
2016-05-27T15:52:36Z
Maintenance script
0
Maintenance script uploaded a new version of [[File:Feet-360-markers.png]]
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
915
2016-05-27T15:43:33Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Feet-370-markers.png
6
375
970
916
2016-05-27T15:52:41Z
Maintenance script
0
Maintenance script uploaded a new version of [[File:Feet-370-markers.png]]
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
916
2016-05-27T15:43:43Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Feet-380-hill.png
6
376
971
917
2016-05-27T15:52:46Z
Maintenance script
0
Maintenance script uploaded a new version of [[File:Feet-380-hill.png]]
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
917
2016-05-27T15:43:52Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Feet-390-multiple-floors.png
6
377
973
918
2016-05-27T15:52:51Z
Maintenance script
0
Maintenance script uploaded a new version of [[File:Feet-390-multiple-floors.png]]
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
918
2016-05-27T15:44:02Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Feet-400-uphill1.png
6
378
974
919
2016-05-27T15:52:55Z
Maintenance script
0
Maintenance script uploaded a new version of [[File:Feet-400-uphill1.png]]
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
919
2016-05-27T15:44:12Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Feet-410-uphill2.png
6
379
975
920
2016-05-27T15:53:00Z
Maintenance script
0
Maintenance script uploaded a new version of [[File:Feet-410-uphill2.png]]
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
920
2016-05-27T15:44:22Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Feet-510-rescale.png
6
380
976
921
2016-05-27T15:53:05Z
Maintenance script
0
Maintenance script uploaded a new version of [[File:Feet-510-rescale.png]]
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
921
2016-05-27T15:44:32Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Feet-520-scaled-1.png
6
381
977
922
2016-05-27T15:53:10Z
Maintenance script
0
Maintenance script uploaded a new version of [[File:Feet-520-scaled-1.png]]
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
922
2016-05-27T15:44:42Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Feet-530-fcurves-1.png
6
382
978
923
2016-05-27T15:53:15Z
Maintenance script
0
Maintenance script uploaded a new version of [[File:Feet-530-fcurves-1.png]]
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
923
2016-05-27T15:44:52Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Feet-540-scaled-2.png
6
383
979
924
2016-05-27T15:53:20Z
Maintenance script
0
Maintenance script uploaded a new version of [[File:Feet-540-scaled-2.png]]
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
924
2016-05-27T15:45:02Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Feet-550-fcurves-2.png
6
384
980
925
2016-05-27T15:53:25Z
Maintenance script
0
Maintenance script uploaded a new version of [[File:Feet-550-fcurves-2.png]]
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
925
2016-05-27T15:45:12Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Feet-610-shift.png
6
385
981
926
2016-05-27T15:53:30Z
Maintenance script
0
Maintenance script uploaded a new version of [[File:Feet-610-shift.png]]
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
926
2016-05-27T15:45:22Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Feet-620-penetration.png
6
386
982
927
2016-05-27T15:53:35Z
Maintenance script
0
Maintenance script uploaded a new version of [[File:Feet-620-penetration.png]]
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
927
2016-05-27T15:45:32Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Feet-630-frame-109.png
6
387
983
928
2016-05-27T15:53:40Z
Maintenance script
0
Maintenance script uploaded a new version of [[File:Feet-630-frame-109.png]]
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
928
2016-05-27T15:45:42Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Fork.jpg
6
447
1069
2016-07-04T10:01:20Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:General.png
6
410
1032
2016-07-04T09:55:13Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Glitter1.png
6
524
1395
2017-06-06T14:20:53Z
Joepal
14
Eyes without "glitter"
wikitext
text/x-wiki
Eyes without "glitter"
591e6e324706c9fcc5c1fefd537c529ef7d41e2f
File:Glitter2.png
6
525
1396
2017-06-06T14:24:24Z
Joepal
14
Eyes with "glitter"
wikitext
text/x-wiki
Eyes with "glitter"
a19ca89455c986176df6deb3963eece68df082e4
File:Glitter3.png
6
526
1397
2017-06-06T14:25:44Z
Joepal
14
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Glitter4.png
6
527
1398
2017-06-06T14:26:39Z
Joepal
14
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Glsettings.png
6
636
1820
2020-07-23T12:53:12Z
Joepal
14
Settings that can be manipulated if the 3d engine seems to struggle.
wikitext
text/x-wiki
Settings that can be manipulated if the 3d engine seems to struggle.
e03a99a49ed3a76640a3b19099a84f9eea2c8d9d
File:Hair2 0 0.png
6
467
1089
2016-07-04T10:04:38Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Hair 1 0 0.png
6
417
1039
2016-07-04T09:56:22Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Heads 0.png
6
470
1092
2016-07-04T10:05:08Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Helper details.png
6
132
363
2015-08-09T18:48:44Z
Fairytail
16
MHBlenderTools: MakeTarget helper_details.png
wikitext
text/x-wiki
MHBlenderTools: MakeTarget helper_details.png
dbfac66dd8f5b432a2e0c9ff1d277991827fbaaf
File:Hm01 0.png
6
474
1096
2016-07-04T10:05:48Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Image00.png
6
430
1052
2016-07-04T09:58:31Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Image01.png
6
452
1074
2016-07-04T10:02:09Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:ImpExp-001.png
6
69
177
2015-07-25T08:00:17Z
Robbaer
12
Workflow export example for use in import workflow comparisons
wikitext
text/x-wiki
Workflow export example for use in import workflow comparisons
fbaca685a3e7ff39e550e0636fec25e9399d3248
File:ImpExp03.png
6
70
181
2015-07-25T12:25:13Z
Robbaer
12
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:ImpExp04.png
6
71
182
2015-07-25T12:26:49Z
Robbaer
12
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:ImpExp05.png
6
72
183
2015-07-25T12:27:43Z
Robbaer
12
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:ImpExp06.png
6
73
184
2015-07-25T12:29:05Z
Robbaer
12
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:ImpExp07.png
6
74
185
2015-07-25T12:30:04Z
Robbaer
12
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:ImpExp08.png
6
75
186
2015-07-25T12:32:17Z
Robbaer
12
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:ImpExp09.png
6
76
187
2015-07-25T12:32:56Z
Robbaer
12
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:ImpExp10.png
6
77
188
2015-07-25T12:33:36Z
Robbaer
12
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:ImpExp11.png
6
78
189
2015-07-25T12:34:22Z
Robbaer
12
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:ImpExp12.png
6
79
192
190
2015-07-25T12:36:38Z
Robbaer
12
Robbaer uploaded a new version of [[File:ImpExp12.png]]
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
190
2015-07-25T12:34:54Z
Robbaer
12
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:ImpExp13.png
6
80
202
191
2015-07-25T14:21:28Z
Robbaer
12
Robbaer uploaded a new version of [[File:ImpExp13.png]]
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
191
2015-07-25T12:35:29Z
Robbaer
12
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:ImpExp14.png
6
81
203
2015-07-25T14:24:07Z
Robbaer
12
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:ImpExp15.png
6
82
204
2015-07-25T14:24:40Z
Robbaer
12
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:ImpExp16.png
6
84
206
2015-07-25T14:29:19Z
Robbaer
12
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:ImpExp17.png
6
83
205
2015-07-25T14:26:32Z
Robbaer
12
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:ImpExp18.png
6
85
207
2015-07-25T14:30:28Z
Robbaer
12
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:ImpExp19.png
6
86
208
2015-07-25T14:31:34Z
Robbaer
12
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:ImpExp20.png
6
87
209
2015-07-25T14:32:19Z
Robbaer
12
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:ImpExp21.png
6
88
211
2015-07-25T14:34:20Z
Robbaer
12
Lower resolution version of ImpExp20
wikitext
text/x-wiki
Lower resolution version of ImpExp20
f922a741313491df5d1c270e9d2db14bde88719f
File:ImpExp22.png
6
90
213
2015-07-25T14:36:07Z
Robbaer
12
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:ImpExp23.png
6
91
214
2015-07-25T14:36:58Z
Robbaer
12
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:ImpExp24.png
6
92
215
2015-07-25T14:37:26Z
Robbaer
12
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:ImpExp25.png
6
93
216
2015-07-25T14:38:08Z
Robbaer
12
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:ImpExp26.png
6
94
217
2015-07-25T14:38:58Z
Robbaer
12
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:ImpExp27.png
6
95
218
2015-07-25T14:40:29Z
Robbaer
12
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:ImpExp28.png
6
96
219
2015-07-25T14:41:17Z
Robbaer
12
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:ImpExp30.png
6
101
269
2015-07-25T21:31:49Z
Robbaer
12
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:ImpExp31.png
6
100
268
2015-07-25T21:30:41Z
Robbaer
12
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:ImpExp32.png
6
102
270
2015-07-25T21:32:38Z
Robbaer
12
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:ImpExp34.png
6
103
271
2015-07-25T21:33:32Z
Robbaer
12
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:ImpExp35.png
6
119
308
2015-07-26T23:56:11Z
Robbaer
12
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:ImpExp36.png
6
105
273
2015-07-25T21:35:32Z
Robbaer
12
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:ImpExp37.png
6
106
282
274
2015-07-26T20:06:23Z
Robbaer
12
Robbaer uploaded a new version of [[File:ImpExp37.png]]
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
274
2015-07-25T21:36:05Z
Robbaer
12
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:ImpExp38.png
6
107
283
275
2015-07-26T20:06:51Z
Robbaer
12
Robbaer uploaded a new version of [[File:ImpExp38.png]]
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
275
2015-07-25T21:36:59Z
Robbaer
12
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:ImpExp39.png
6
108
284
2015-07-26T20:07:30Z
Robbaer
12
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:ImpExp40.png
6
109
285
2015-07-26T20:08:13Z
Robbaer
12
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:ImpExp41.png
6
110
321
290
2015-07-28T21:15:40Z
Robbaer
12
Robbaer uploaded a new version of [[File:ImpExp41.png]]
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
290
289
2015-07-26T20:40:29Z
Robbaer
12
Robbaer uploaded a new version of [[File:ImpExp41.png]]
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
289
2015-07-26T20:39:16Z
Robbaer
12
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:ImpExp42.png
6
111
292
2015-07-26T21:06:12Z
Robbaer
12
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:ImpExp43.png
6
112
293
2015-07-26T22:33:56Z
Robbaer
12
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:ImpExp44.png
6
113
296
2015-07-26T22:53:47Z
Robbaer
12
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:ImpExp45.png
6
114
297
2015-07-26T22:54:19Z
Robbaer
12
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:ImpExp46.png
6
117
301
2015-07-26T23:09:11Z
Robbaer
12
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:ImpExp47.png
6
118
302
2015-07-26T23:21:47Z
Robbaer
12
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:ImpExp48.png
6
120
313
2015-07-28T20:29:42Z
Robbaer
12
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:ImpExp49.png
6
121
314
2015-07-28T20:30:18Z
Robbaer
12
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:ImpExp50.png
6
164
412
2015-08-16T23:37:09Z
Robbaer
12
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:ImpExp50a.png
6
122
316
2015-07-28T20:44:32Z
Robbaer
12
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:ImpExp50b.png
6
123
317
2015-07-28T20:45:32Z
Robbaer
12
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:ImpExp51.png
6
165
413
2015-08-16T23:37:44Z
Robbaer
12
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:ImpExp52.png
6
166
414
2015-08-16T23:38:13Z
Robbaer
12
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:ImpExp53.png
6
182
438
2015-08-17T00:53:34Z
Robbaer
12
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:ImpExp54.png
6
168
440
416
2015-08-17T01:01:34Z
Robbaer
12
Robbaer uploaded a new version of [[File:ImpExp54.png]]
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
416
2015-08-16T23:39:08Z
Robbaer
12
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:ImpExp55.png
6
169
417
2015-08-16T23:39:36Z
Robbaer
12
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:ImpExp55a.png
6
183
443
2015-08-17T13:19:09Z
Robbaer
12
Changing lamp to hemi
wikitext
text/x-wiki
Changing lamp to hemi
5d9c26152bad99e546a01a389541d4d934250cc8
File:ImpExp56.png
6
170
418
2015-08-16T23:44:26Z
Robbaer
12
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:ImpExp57.png
6
171
419
2015-08-16T23:44:55Z
Robbaer
12
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:ImpExp58.png
6
172
420
2015-08-16T23:45:27Z
Robbaer
12
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:ImpExp59.png
6
173
421
2015-08-16T23:47:31Z
Robbaer
12
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:ImpExp60.png
6
174
422
2015-08-16T23:47:56Z
Robbaer
12
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:ImpExp61.png
6
175
454
423
2015-08-17T14:40:02Z
Robbaer
12
Robbaer uploaded a new version of [[File:ImpExp61.png]]
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
423
2015-08-16T23:48:47Z
Robbaer
12
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:ImpExp62.png
6
176
424
2015-08-16T23:49:21Z
Robbaer
12
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:ImpExp63.png
6
177
425
2015-08-16T23:49:49Z
Robbaer
12
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:ImpExp64.png
6
178
426
2015-08-16T23:50:22Z
Robbaer
12
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:ImpExp65.png
6
179
427
2015-08-16T23:51:00Z
Robbaer
12
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:ImpExp66.png
6
181
432
431
2015-08-17T00:17:37Z
Robbaer
12
Robbaer uploaded a new version of [[File:ImpExp66.png]]
wikitext
text/x-wiki
Effect of "cast" shadow in blender internal render for eyebrows, eyelashes, and hair.
92eecc01d81f6aef4c47b5a04aab2609b0e5129c
431
430
2015-08-17T00:16:03Z
Robbaer
12
Robbaer uploaded a new version of [[File:ImpExp66.png]]
wikitext
text/x-wiki
Effect of "cast" shadow in blender internal render for eyebrows, eyelashes, and hair.
92eecc01d81f6aef4c47b5a04aab2609b0e5129c
430
2015-08-17T00:12:58Z
Robbaer
12
Effect of "cast" shadow in blender internal render for eyebrows, eyelashes, and hair.
wikitext
text/x-wiki
Effect of "cast" shadow in blender internal render for eyebrows, eyelashes, and hair.
92eecc01d81f6aef4c47b5a04aab2609b0e5129c
File:Included ccby.jpg
6
536
1422
2017-08-20T08:25:58Z
Joepal
14
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Infographic 110.png
6
218
620
2016-04-15T10:00:56Z
Joepal
14
Release infographic for 1.1.0
wikitext
text/x-wiki
Release infographic for 1.1.0
d4bcf2f18d0b35f632b12575c6fcd5815aac57a5
File:Installclothes1.png
6
58
139
2015-07-18T07:59:53Z
Joepal
14
Create a directory for your clothes.
wikitext
text/x-wiki
Create a directory for your clothes.
25a96dc5264dcc46585ae97fb0766197c4f51f28
File:Installclothes2.png
6
59
140
2015-07-18T08:01:40Z
Joepal
14
Copy the files to the new directory.
wikitext
text/x-wiki
Copy the files to the new directory.
5e27a6b71d08f7b4cb3ea6e6ffc031e7f69992e3
File:Interface-labelled new.png
6
434
1056
2016-07-04T09:59:11Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Languages.png
6
468
1090
2016-07-04T10:04:48Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Legs modelling 2 0.png
6
465
1087
2016-07-04T10:04:18Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Load1.png
6
415
1037
2016-07-04T09:56:02Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Lse quick.png
6
400
1022
2016-07-04T09:53:34Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Lse tabs.png
6
436
1058
2016-07-04T09:59:31Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:MC2 extract helpers.png
6
658
1873
2020-09-13T14:59:09Z
Punkduck
38
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:MH&Purp NQ.jpg
6
6
35
2015-06-30T19:37:51Z
Aiena1
3
MakeHuman and its Purpose main image. (Normal Quality)
wikitext
text/x-wiki
MakeHuman and its Purpose main image. (Normal Quality)
b9d9f31572ff24085e6d6b9ed3f0be330ea78579
File:MH-Anim-Skeleton.png
6
691
1980
2021-01-16T17:36:17Z
Assetdk
89
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:MH-Base-Animation-Retarget.png
6
600
1681
2020-02-19T15:08:42Z
Assetdk
89
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:MH-Base-Blender-setup.png
6
593
1657
2020-02-17T22:22:52Z
Assetdk
89
Blender setup for Collections
wikitext
text/x-wiki
Blender setup for Collections
3467d027b30f554b903fecc0c9b7aa42b573057b
File:MH-Base-Character-Folder-textures.png
6
586
1642
2020-02-17T20:10:01Z
Assetdk
89
Textures
wikitext
text/x-wiki
Textures
5aa8824d5c3096f4df15e810b0938086516cca9b
File:MH-Base-Character-Folder-textures2.png
6
587
1646
1644
2020-02-17T20:25:34Z
Assetdk
89
Assetdk uploaded a new version of [[File:MH-Base-Character-Folder-textures2.png]]
wikitext
text/x-wiki
More textures
77bd79e07e4292921aab3a1b446b06c11a9ba57f
1644
2020-02-17T20:20:51Z
Assetdk
89
More textures
wikitext
text/x-wiki
More textures
77bd79e07e4292921aab3a1b446b06c11a9ba57f
File:MH-Base-Character-Folder.png
6
585
1641
2020-02-17T20:08:09Z
Assetdk
89
Base-Character-Folder
wikitext
text/x-wiki
Base-Character-Folder
0c1f74deca0689d3556ef1e8fccbc8fadf579651
File:MH-Base-FBX-main-root.png
6
597
1670
2020-02-19T14:13:35Z
Assetdk
89
main_root
wikitext
text/x-wiki
main_root
1d6bd5cb7cd66093e991caff29a14240ee11a53d
File:MH-Base-FBX-operator-presets.png
6
598
1674
1672
2020-02-19T14:26:56Z
Assetdk
89
Assetdk uploaded a new version of [[File:MH-Base-FBX-operator-presets.png]]
wikitext
text/x-wiki
FBX export from blender, Operator presets
c51d2f64a0711f7c73acbfa0c22bd9a4fea7a8c5
1672
2020-02-19T14:21:11Z
Assetdk
89
FBX export from blender, Operator presets
wikitext
text/x-wiki
FBX export from blender, Operator presets
c51d2f64a0711f7c73acbfa0c22bd9a4fea7a8c5
File:MH-Base-Skeleton-Retarget.png
6
599
1678
2020-02-19T14:44:46Z
Assetdk
89
Retarget skeleton
wikitext
text/x-wiki
Retarget skeleton
b7759be4b9721ecfc984c70c740a05fd3befcfef
File:MH-Blender-FBX-import-options.png
6
594
1663
1660
2020-02-17T22:44:12Z
Assetdk
89
Assetdk uploaded a new version of [[File:MH-Blender-FBX-import-options.png]]
wikitext
text/x-wiki
Import FBX, std. options!
d1c6cd5754cdc552e48f0f0eba4afb16cf713125
1660
2020-02-17T22:35:35Z
Assetdk
89
Import FBX, std. options!
wikitext
text/x-wiki
Import FBX, std. options!
d1c6cd5754cdc552e48f0f0eba4afb16cf713125
File:MH-Blender-base-imported-icons.png
6
596
1666
2020-02-17T23:01:23Z
Assetdk
89
Blender icons
wikitext
text/x-wiki
Blender icons
367ff56467d7ced3380bfea336a8b0efd1bd8e59
File:MH-Blender-base-imported.png
6
595
1665
2020-02-17T22:54:38Z
Assetdk
89
First import of FBX and MHX2
wikitext
text/x-wiki
First import of FBX and MHX2
d9b52d27e04e4cdb85b3eeb56c907e9063525845
File:MH-Blender-shapekey1.png
6
601
1696
2020-02-27T18:05:47Z
Assetdk
89
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:MH-Blender-shapekey2.png
6
602
1698
2020-02-27T18:12:17Z
Assetdk
89
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:MH-FBX-export-options.png
6
592
1654
2020-02-17T21:47:22Z
Assetdk
89
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:MH-MH-FBX-imported-materials.png
6
589
1649
2020-02-17T21:07:02Z
Assetdk
89
Character with materials, MH-FBX
wikitext
text/x-wiki
Character with materials, MH-FBX
05270de897e720674ec0d21eb729495148ca8218
File:MH-MH-FBX-imported.png
6
588
1647
2020-02-17T21:01:57Z
Assetdk
89
What you get from MH FBX Binary
wikitext
text/x-wiki
What you get from MH FBX Binary
326918d228b4331e9843422c02410e3cf9739723
File:MH-Smooth-option.png
6
584
1637
2020-02-17T19:24:53Z
Assetdk
89
The smooth "button"..
wikitext
text/x-wiki
The smooth "button"..
e1547fca0069ffe292cd7c88d55419b53241ba30
File:MH-UE4-Eye-material.png
6
590
1650
2020-02-17T21:31:19Z
Assetdk
89
Unreal4 Eye material
wikitext
text/x-wiki
Unreal4 Eye material
c8c24660ed44e2d115adcb8ff68b2d9208d14e80
File:MH-UE4-Eyelashes-material.png
6
591
1652
2020-02-17T21:40:10Z
Assetdk
89
Eyelashes and Eyebrows
wikitext
text/x-wiki
Eyelashes and Eyebrows
9372c4b960759b2179deece54827a9dd98b75b23
File:MH2Blender MakeTarget1.png
6
699
2010
2021-01-30T09:40:23Z
Assetdk
89
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:MH2Blender MakeTarget2.png
6
700
2011
2021-01-30T09:50:53Z
Assetdk
89
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:MHC GenericMH BP-V1.png
6
708
2065
2021-03-31T12:50:35Z
Assetdk
89
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:MHC GenericMH BPMT-V1.png
6
711
2074
2021-03-31T16:09:02Z
Assetdk
89
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:MHC GenericMH Comp-V1.png
6
709
2070
2021-03-31T13:10:24Z
Assetdk
89
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:MHC GenericMH Cust-MT.png
6
710
2072
2021-03-31T13:35:42Z
Assetdk
89
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:MHDirectories.png
6
638
1826
2020-07-25T13:25:00Z
Punkduck
38
directory structure of system and user space
wikitext
text/x-wiki
directory structure of system and user space
0fe4028051d1f9a6b5cb5db0f9cfd2c6b44893c0
File:MH UE4 MaterialCustom 1.png
6
704
2033
2021-02-14T13:55:16Z
Assetdk
89
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:MH UE4 MaterialInstance 1.png
6
701
2029
2028
2021-02-14T13:29:06Z
Assetdk
89
Assetdk uploaded a new version of [[File:MH UE4 MaterialInstance 1.png]]
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
2028
2021-02-14T13:26:59Z
Assetdk
89
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:MH UE4 MaterialMaster 1.png
6
702
2030
2021-02-14T13:30:35Z
Assetdk
89
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:MH UE4 MaterialMaster 2.png
6
703
2031
2021-02-14T13:31:16Z
Assetdk
89
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:MH UE Poses.png
6
706
2045
2021-03-14T17:21:52Z
Assetdk
89
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:MPFB2-DeveloperOptions.PNG
6
716
2096
2021-05-11T18:14:55Z
Assetdk
89
MPFB Developer options
wikitext
text/x-wiki
MPFB Developer options
fba736c8af3d476b22b0563275ed8058c557a722
File:MPFB2-Options.PNG
6
715
2095
2021-05-11T18:01:10Z
Assetdk
89
MPFB2 preferences
wikitext
text/x-wiki
MPFB2 preferences
e61e92247796fa327a22b340a4f843e771d2b309
File:MPFB2-VS1.PNG
6
714
2089
2021-05-11T17:45:41Z
Assetdk
89
Thing I noted about running 2.9.2 and VS code.
wikitext
text/x-wiki
Thing I noted about running 2.9.2 and VS code.
fe1412c2cf81a289561d879674194193b6d84d9d
File:MTG CreateTarget.png
6
684
1955
2020-11-29T11:22:11Z
Punkduck
38
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:MTG LoadMesh.png
6
682
1953
2020-11-29T11:18:38Z
Punkduck
38
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:MTG LoadTarget.png
6
687
1958
2020-11-29T11:24:47Z
Punkduck
38
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:MTG SaveTarget.png
6
686
1957
2020-11-29T11:23:52Z
Punkduck
38
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:MTG SymmetrizeTarget.png
6
685
1956
2020-11-29T11:23:07Z
Punkduck
38
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:MTG ToggleHelper.png
6
683
1954
2020-11-29T11:21:09Z
Punkduck
38
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Main labelled.png
6
450
1072
2016-07-04T10:01:50Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Maintab.png
6
419
1041
2016-07-04T09:56:42Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:MakeShapes-buttons.png
6
621
1776
2020-04-18T13:00:05Z
Assetdk
89
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:MakeShapes-custom-targets.png
6
620
1774
2020-04-18T12:43:40Z
Assetdk
89
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:MakeShapes-faceshape base.png
6
619
1771
2020-04-18T12:24:01Z
Assetdk
89
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:MakeShapes-icon.png
6
622
1778
2020-04-18T13:05:13Z
Assetdk
89
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:MakeTarget2-data.png
6
618
1769
2020-04-18T12:12:42Z
Assetdk
89
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:MakeTargetDiscardAndApplyTarget.png
6
138
371
2015-08-09T19:16:20Z
Fairytail
16
MHBlenderTools: MakeTarget MakeTargetDiscardAndApplyTarget.png
wikitext
text/x-wiki
MHBlenderTools: MakeTarget MakeTargetDiscardAndApplyTarget.png
ba4c65455743f31806b2d71e1f0c755b84cc205c
File:MakeTargetFitTargetButton.png
6
141
374
2015-08-09T19:21:19Z
Fairytail
16
MHBlenderTools: MakeTarget MakeTargetFitTargetButton.png
wikitext
text/x-wiki
MHBlenderTools: MakeTarget MakeTargetFitTargetButton.png
0376318035f118e07f6954aea52f047512ec2587
File:MakeTargetLoadSecondaryTarget.png
6
137
370
2015-08-09T19:14:48Z
Fairytail
16
MHBlenderTools: MakeTarget MakeTargetLoadSecondaryTarget.png
wikitext
text/x-wiki
MHBlenderTools: MakeTarget MakeTargetLoadSecondaryTarget.png
b9155bd968d155d92d9b86cd8624aa7070078e6b
File:MakeTargetSaveTargetSection.png
6
140
373
2015-08-09T19:19:55Z
Fairytail
16
MakeTargetSaveTargetSection.png
wikitext
text/x-wiki
MakeTargetSaveTargetSection.png
f104ce4abaf17b25f506c067f60c1eb62df7978e
File:MakeTargetSkirtEditingAffectOnly3.png
6
142
375
2015-08-09T19:22:27Z
Fairytail
16
MHBlenderTools: MakeTarget MakeTargetSkirtEditingAffectOnly3.png
wikitext
text/x-wiki
MHBlenderTools: MakeTarget MakeTargetSkirtEditingAffectOnly3.png
083bebf104e5eccbd2346f173bd91ae5df69bb8f
File:MakeTargetTargetSymmetryButtons.png
6
139
372
2015-08-09T19:18:26Z
Fairytail
16
MHBlenderTools: MakeTarget MakeTargetTargetSymmetryButtons.png
wikitext
text/x-wiki
MHBlenderTools: MakeTarget MakeTargetTargetSymmetryButtons.png
094c279fb900ce2b62329c1b868be68a96950a92
File:MakeTarget load.png
6
134
366
2015-08-09T19:06:20Z
Fairytail
16
MHBlenderTools: MakeTarget MakeTarget_load.png
wikitext
text/x-wiki
MHBlenderTools: MakeTarget MakeTarget_load.png
d8970d8785e21ce53024940718f1784f47dc59aa
File:Makeclothestitle.jpg
6
626
1803
2020-06-21T14:21:39Z
Punkduck
38
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Maketarget-base.png
6
133
364
2015-08-09T18:52:12Z
Fairytail
16
MHBlenderTools: MakeTarget maketarget-base.png
wikitext
text/x-wiki
MHBlenderTools: MakeTarget maketarget-base.png
9b7d27d52f963541e9eec9d4572354f8dd1868ad
File:Maketarget131-area.png
6
130
361
2015-08-09T18:41:31Z
Fairytail
16
MHBlenderTools: MakeTarget maketarget131-area.png
wikitext
text/x-wiki
MHBlenderTools: MakeTarget maketarget131-area.png
f96980f29ab2e658c2404451a63b8b4ff28cafb4
File:Maketarget131-panels.png
6
135
368
2015-08-09T19:10:27Z
Fairytail
16
MHBlenderTools: MakeTarget maketarget131-panels.png
wikitext
text/x-wiki
MHBlenderTools: MakeTarget maketarget131-panels.png
7525a78841f7782d0e056ad50974d1cb608d07e1
File:Maketarget131.png
6
131
362
2015-08-09T18:46:03Z
Fairytail
16
MHBlenderTools: MakeTarget maketarget131.png
wikitext
text/x-wiki
MHBlenderTools: MakeTarget maketarget131.png
611f4b0ff865df7161dc4f022b404f59217e5d8d
File:Maketarget3.png
6
136
369
2015-08-09T19:11:56Z
Fairytail
16
MHBlenderTools: MakeTarget maketarget3.png
wikitext
text/x-wiki
MHBlenderTools: MakeTarget maketarget3.png
7bb39852668915a6e41729b9c243210330a151e1
File:Makewalk-1.png
6
464
1086
2016-07-04T10:04:08Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Makewalk-3.png
6
463
1085
2016-07-04T10:03:58Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Makewalk-4.png
6
437
1059
2016-07-04T09:59:41Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Makewalk-5.png
6
453
1075
2016-07-04T10:02:19Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Makewalk-6.png
6
443
1065
2016-07-04T10:00:40Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Makewalk-7 0.png
6
408
1030
2016-07-04T09:54:53Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Makewalk-8.png
6
444
1066
2016-07-04T10:00:50Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Makewalk 2.png
6
466
1088
2016-07-04T10:04:28Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Materials 0.png
6
435
1057
2016-07-04T09:59:21Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Mc-1010-user-pref.png
6
317
846
2016-05-26T12:44:34Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Mc-1022-load-human.png
6
318
847
2016-05-26T12:44:43Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Mc-1040-hide-hair.png
6
319
848
2016-05-26T12:44:53Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Mc-1110-model.png
6
320
849
2016-05-26T12:45:03Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Mc-1120-human.png
6
321
850
2016-05-26T12:45:13Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Mc-1130-unwrap.png
6
322
851
2016-05-26T12:45:23Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Mc-1240-left.png
6
323
852
2016-05-26T12:45:33Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Mc-1250-delete.png
6
324
853
2016-05-26T12:45:43Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Mc-1412-makeclothes.png
6
325
854
2016-05-26T12:45:53Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Mc-1420-progress.png
6
326
855
2016-05-26T12:46:03Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Mc-1430-mh.png
6
327
856
2016-05-26T12:46:13Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Mc2-520-examine.png
6
293
822
2016-05-26T12:40:35Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Mc2 checkclothes.png
6
630
1807
2020-06-21T14:29:12Z
Punkduck
38
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Mc2 checkhuman.png
6
631
1808
2020-06-21T14:29:54Z
Punkduck
38
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Mc2 customprops.png
6
632
1809
2020-06-21T14:30:37Z
Punkduck
38
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Mc2 heels1.png
6
660
1880
2020-09-26T13:56:18Z
Punkduck
38
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Mc2 heels2.png
6
661
1881
2020-09-26T13:57:07Z
Punkduck
38
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Mc2 heels3.png
6
662
1882
2020-09-26T13:57:39Z
Punkduck
38
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Mc2 heels4.png
6
663
1883
2020-09-26T13:58:15Z
Punkduck
38
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Mc2 importclothes.png
6
639
1828
2020-07-25T16:20:28Z
Punkduck
38
Clothes and material after importing the asset
wikitext
text/x-wiki
Clothes and material after importing the asset
70f821061c45994b65a460d4245e751dc749d02d
File:Mc2 intersections.png
6
652
1858
2020-08-06T18:02:15Z
Punkduck
38
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Mc2 intersections issue.jpg
6
651
1857
2020-08-06T18:01:29Z
Punkduck
38
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Mc2 loadhumanmfb.png
6
637
1874
1824
2020-09-13T15:27:49Z
Punkduck
38
Punkduck uploaded a new version of [[File:Mc2 loadhumanmfb.png]]
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
1824
2020-07-24T19:26:00Z
Punkduck
38
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Mc2 loadpredef.png
6
627
1804
2020-06-21T14:27:50Z
Punkduck
38
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Mc2 makeclothes2.png
6
628
1872
1805
2020-09-13T14:51:01Z
Punkduck
38
Punkduck uploaded a new version of [[File:Mc2 makeclothes2.png]]
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
1805
2020-06-21T14:28:13Z
Punkduck
38
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Mc2 meshes to use.png
6
633
1870
1869
2020-09-13T14:29:31Z
Punkduck
38
Punkduck uploaded a new version of [[File:Mc2 meshes to use.png]]
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
1869
1810
2020-09-13T14:29:14Z
Punkduck
38
Punkduck uploaded a new version of [[File:Mc2 meshes to use.png]]
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
1810
2020-06-21T14:31:06Z
Punkduck
38
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Mc2 tagselector.png
6
629
1806
2020-06-21T14:28:42Z
Punkduck
38
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Mc2 togglehelper.png
6
659
1875
2020-09-13T15:45:35Z
Punkduck
38
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Mc2 vertex groups howto.jpg
6
646
1851
2020-08-03T18:31:29Z
Punkduck
38
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Mc2 vertexgroups1.png
6
647
1852
2020-08-03T18:32:24Z
Punkduck
38
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Mc2 vertexgroups2.png
6
648
1853
2020-08-03T18:33:16Z
Punkduck
38
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Mc2 vertexgroups3.png
6
649
1854
2020-08-03T18:33:48Z
Punkduck
38
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Mc2 zdepth.png
6
634
1816
2020-07-06T13:03:27Z
Punkduck
38
the effects of different z-depth settings
wikitext
text/x-wiki
the effects of different z-depth settings
eec63da5ba9697206983ffa0c1246d8896b90328
File:Mc2a-010-female.png
6
257
786
2016-05-26T12:34:38Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Mc2a-020-model-dress.png
6
258
787
2016-05-26T12:34:48Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Mc2a-030-material.png
6
259
788
2016-05-26T12:34:58Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Mc2a-040-seams.png
6
260
789
2016-05-26T12:35:08Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Mc2a-050-uvs.png
6
261
790
2016-05-26T12:35:18Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Mc2a-060-make-clothes.png
6
262
791
2016-05-26T12:35:28Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Mc2a-070-terminal.png
6
263
792
2016-05-26T12:35:38Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Mc2a-090-files.png
6
264
793
2016-05-26T12:35:48Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Mc2a-100-mh.png
6
265
794
2016-05-26T12:35:58Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Mc2a-110-adjust.png
6
266
795
2016-05-26T12:36:08Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Mc2a-210-separate-skirt.png
6
267
796
2016-05-26T12:36:18Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Mc2a-220-rename.png
6
268
797
2016-05-26T12:36:28Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Mc2a-230-snap-waist.png
6
269
798
2016-05-26T12:36:37Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Mc2a-240-materials.png
6
270
799
2016-05-26T12:36:47Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Mc2a-250-error.png
6
271
800
2016-05-26T12:36:57Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Mc2a-260-auto.png
6
272
801
2016-05-26T12:37:07Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Mc2a-410-texture.png
6
273
802
2016-05-26T12:37:17Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Mc2a-420-assign-texture.png
6
274
803
2016-05-26T12:37:27Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Mc2a-430-tex-in-mh.png
6
275
804
2016-05-26T12:37:37Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Mc2a-510-blotches.png
6
276
805
2016-05-26T12:37:47Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Mc2a-520-delete-group.png
6
277
806
2016-05-26T12:37:57Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Mc2a-530-mh-deleted.png
6
278
807
2016-05-26T12:38:07Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Mc2a-540-behind.png
6
279
808
2016-05-26T12:38:17Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Mc2a-550-better-delete.png
6
280
809
2016-05-26T12:38:27Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Mc2a-560-updating.png
6
281
810
2016-05-26T12:38:36Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Mc2a-610-icon.png
6
282
811
2016-05-26T12:38:46Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Mc2a-620-render.png
6
283
812
2016-05-26T12:38:56Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Mc2a-630-thumb.png
6
284
813
2016-05-26T12:39:06Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Mc2a-640-mh.png
6
285
814
2016-05-26T12:39:16Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Mc2b-010-sel-helpers.png
6
286
815
2016-05-26T12:39:26Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Mc2b-020-non-quad.png
6
287
816
2016-05-26T12:39:36Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Mc2b-030-poles.png
6
288
817
2016-05-26T12:39:46Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Mc2b-040-medallion.png
6
289
818
2016-05-26T12:39:56Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Mc2b-050-mh-med.png
6
290
819
2016-05-26T12:40:06Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Mc2b-060-vgroups.png
6
291
820
2016-05-26T12:40:16Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Mc2b-070-scale.png
6
292
821
2016-05-26T12:40:26Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Mc2b-080-noscale.png
6
294
823
2016-05-26T12:40:45Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Mc2b-090-uniform.png
6
295
824
2016-05-26T12:40:55Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Mc2b-610-teeth.png
6
296
825
2016-05-26T12:41:05Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Mc2b-620-outdir.png
6
297
826
2016-05-26T12:41:15Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Mc2b-630-teeth-mh.png
6
298
827
2016-05-26T12:41:25Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Mc2b-641-auto.png
6
299
828
2016-05-26T12:41:35Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Mc2b-650-mouth-open.png
6
300
829
2016-05-26T12:41:45Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Mc2b-660-vgroups.png
6
301
830
2016-05-26T12:41:55Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Mc2b-670-vgroups.png
6
302
831
2016-05-26T12:42:05Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Mc2b-680-gums.png
6
303
832
2016-05-26T12:42:15Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Mc2b-690-teeth1.png
6
304
833
2016-05-26T12:42:25Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Mc2b-700-asymm.png
6
305
834
2016-05-26T12:42:34Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Mc2b-710-mouth-open.png
6
306
835
2016-05-26T12:42:44Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Mc2b-720-head-jaw.png
6
307
836
2016-05-26T12:42:54Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Mc2b-730-6groups.png
6
308
837
2016-05-26T12:43:04Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Mc2b-740-6groups-result.png
6
309
838
2016-05-26T12:43:14Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Mc2b-750-midline-results.png
6
311
840
2016-05-26T12:43:34Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Mc2b-750-midline.png
6
310
839
2016-05-26T12:43:24Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Mc2b-760-bottom-line.png
6
312
841
2016-05-26T12:43:44Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Mc2b-770-bottom-line-results.png
6
313
842
2016-05-26T12:43:54Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Mc2b-780-shapes.png
6
314
843
2016-05-26T12:44:04Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Mc2b-790-copy-vgroups.png
6
315
844
2016-05-26T12:44:14Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Mc2b-800-vgroups-copied.png
6
316
845
2016-05-26T12:44:24Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Mcp-ret-060-calibrate.png
6
475
1097
2016-07-04T10:05:58Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Measure 1.png
6
424
1046
2016-07-04T09:57:32Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Mh-hg-infographic01.png
6
404
1026
2016-07-04T09:54:13Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Mh-hg-infographic02.png
6
414
1036
2016-07-04T09:55:53Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Mh-hg-infographic03.png
6
421
1043
2016-07-04T09:57:02Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Mh-hg-infographic04.png
6
472
1094
2016-07-04T10:05:28Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Mh-hg-infographic05.png
6
438
1060
2016-07-04T09:59:51Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Mh-uiarchitecture.png
6
420
1042
2016-07-04T09:56:52Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Mh grid interface.png
6
461
1083
2016-07-04T10:03:39Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Mh grid interface2.png
6
396
1018
2016-07-04T09:52:54Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Mh interface cam.png
6
476
1098
2016-07-04T10:06:07Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Mh material editor.png
6
210
589
2016-01-27T16:56:34Z
Duststorm
19
This screenshot shows how the material editor displays shader properties visually.
wikitext
text/x-wiki
This screenshot shows how the material editor displays shader properties visually.
373686aa2bc870c0c700426a325bba3082d5a2d9
File:Mh material editor2.png
6
211
590
2016-01-27T16:57:04Z
Duststorm
19
This screenshot shows how the material editor displays shader properties visually.
wikitext
text/x-wiki
This screenshot shows how the material editor displays shader properties visually.
373686aa2bc870c0c700426a325bba3082d5a2d9
File:Morph1.png
6
129
359
2015-08-09T18:34:46Z
Fairytail
16
MHBlenderTools: MakeTarget morph1.png
wikitext
text/x-wiki
MHBlenderTools: MakeTarget morph1.png
e02b98047fe9e48c0f031f2893d0736c207050c6
File:Mouse 001.png
6
418
1040
2016-07-04T09:56:32Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Mpfbeevee.png
6
667
1900
2020-10-25T12:31:49Z
Joepal
14
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Ms assignmtextures.png
6
643
1838
2020-07-26T09:15:17Z
Punkduck
38
assign textures to materials
wikitext
text/x-wiki
assign textures to materials
ac2d313ce13a0108da663e686100656a75c2111e
File:Ms menu.png
6
644
1839
2020-07-26T09:16:17Z
Punkduck
38
MakeSkin menu
wikitext
text/x-wiki
MakeSkin menu
483c302d4671eee8024386d64cd09ffa7eab3dd5
File:Ms newsetup.png
6
642
1837
2020-07-26T09:14:02Z
Punkduck
38
Setup of a new material
wikitext
text/x-wiki
Setup of a new material
a4ec9779672619ea867e1ff5d501abf5263cf304
File:Mwa-010-armature.png
6
454
1076
2016-07-04T10:02:29Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Mwa-020-myrig.png
6
423
1045
2016-07-04T09:57:22Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Mwa-100-error.png
6
413
1035
2016-07-04T09:55:43Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Mwa-110-reverse-hip.png
6
411
1033
2016-07-04T09:55:23Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Mwa-120-reversehip.png
6
402
1024
2016-07-04T09:53:54Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Mwe-315-local-keys.png
6
473
1095
2016-07-04T10:05:38Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Mws-010-panel.png
6
439
1061
2016-07-04T10:00:00Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Mws-020-auto.png
6
471
1093
2016-07-04T10:05:18Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Mwt-011-panel.png
6
405
1027
2016-07-04T09:54:23Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Mwt-020-metarig.png
6
449
1071
2016-07-04T10:01:40Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Mwu-010-panel.png
6
399
1021
2016-07-04T09:53:24Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Mwu-030-temp-props.png
6
446
1068
2016-07-04T10:01:10Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:NoShaders2.png
6
486
1207
1205
2016-10-21T17:04:29Z
Robbaer
12
Robbaer uploaded a new version of [[File:NoShaders2.png]]
wikitext
text/x-wiki
Replacement version includes quotes as requested by a forum user
32dd5941f9ed698cba8db84ab2b8f493570cbe86
1205
2016-10-21T16:58:48Z
Robbaer
12
Replacement version includes quotes as requested by a forum user
wikitext
text/x-wiki
Replacement version includes quotes as requested by a forum user
32dd5941f9ed698cba8db84ab2b8f493570cbe86
File:Noshaders1.png
6
200
530
2015-10-03T14:21:23Z
Joepal
14
Create a shortcut to makehuman
wikitext
text/x-wiki
Create a shortcut to makehuman
d42c01607092c85ff9c9412af4d71ce92a141599
File:Noshaders2.png
6
201
531
2015-10-03T14:22:14Z
Joepal
14
Add --noshaders to the command line
wikitext
text/x-wiki
Add --noshaders to the command line
075dd4b31109be0d63f73e7c5d6de53df20396ad
File:Nsmooth.png
6
416
1038
2016-07-04T09:56:12Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Obs-flow-chart-scaled.png
6
441
1063
2016-07-04T10:00:20Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Odd colours.png
6
693
1993
2021-01-25T23:25:38Z
Hfugfn65438
108
Quirky rendering of http://www.makehumancommunity.org/clothes/cargo_pants.html_0
wikitext
text/x-wiki
Quirky rendering of http://www.makehumancommunity.org/clothes/cargo_pants.html_0
d8b3f1c1e90c9a0dc65ffdb9b287746aa95855dd
File:Part 1 01.jpg
6
541
1453
2018-05-05T09:54:46Z
Joepal
14
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Part 1 02.jpg
6
542
1454
2018-05-05T09:55:19Z
Joepal
14
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Part 1 03.jpg
6
543
1455
2018-05-05T09:55:36Z
Joepal
14
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Part 1 04.jpg
6
544
1456
2018-05-05T09:56:04Z
Joepal
14
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Part 1 05.jpg
6
545
1457
2018-05-05T09:56:35Z
Joepal
14
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Part 1 06.jpg
6
546
1458
2018-05-05T09:57:04Z
Joepal
14
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Part 1 07.jpg
6
547
1459
2018-05-05T09:57:40Z
Joepal
14
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Part 1 08.jpg
6
548
1460
2018-05-05T09:57:50Z
Joepal
14
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Part 1 09.jpg
6
549
1461
2018-05-05T09:58:00Z
Joepal
14
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Part 1 10.jpg
6
550
1462
2018-05-05T09:58:40Z
Joepal
14
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Part 2 01.jpg
6
551
1463
2018-05-05T10:00:05Z
Joepal
14
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Part 2 02.jpg
6
552
1464
2018-05-05T10:00:15Z
Joepal
14
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Part 2 03.jpg
6
553
1465
2018-05-05T10:00:25Z
Joepal
14
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Part 2 04.jpg
6
554
1466
2018-05-05T10:00:40Z
Joepal
14
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Part 2 05.jpg
6
555
1467
2018-05-05T10:00:50Z
Joepal
14
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Part 2 06.jpg
6
556
1468
2018-05-05T10:01:05Z
Joepal
14
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Part 3 01.jpg
6
557
1469
2018-05-05T10:03:00Z
Joepal
14
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Part 3 02.jpg
6
558
1470
2018-05-05T10:03:10Z
Joepal
14
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Part 3 03.jpg
6
559
1471
2018-05-05T10:03:20Z
Joepal
14
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Plugins-mh 002.png
6
458
1080
2016-07-04T10:03:09Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Proxies1.png
6
409
1031
2016-07-04T09:55:03Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Publisher verified.png
6
212
607
2016-03-06T12:43:07Z
Joepal
14
Error message about unverified publisher
wikitext
text/x-wiki
Error message about unverified publisher
751840041053f9b69520b2f7a08157327ca16325
File:Random2 2 0.png
6
457
1079
2016-07-04T10:02:59Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Refoot.png
6
406
1028
2016-07-04T09:54:33Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Render 0.png
6
460
1082
2016-07-04T10:03:29Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Savetarget.png
6
61
153
2015-07-25T06:36:52Z
Joepal
14
Where to save custom targets
wikitext
text/x-wiki
Where to save custom targets
a153b5b629f411cbc8169e50e7ee477c18f036db
File:Shortcuts-mh 002.jpg
6
469
1091
2016-07-04T10:04:58Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Symm.png
6
459
1081
2016-07-04T10:03:19Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Texpaint01.png
6
147
386
2015-08-14T14:52:59Z
Joepal
14
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Texpaint02.png
6
148
387
2015-08-14T14:55:04Z
Joepal
14
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Texpaint03.png
6
149
388
2015-08-14T14:55:26Z
Joepal
14
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Texpaint04.png
6
150
389
2015-08-14T14:55:53Z
Joepal
14
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Texpaint05.png
6
151
390
2015-08-14T14:57:46Z
Joepal
14
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Texpaint06.png
6
152
391
2015-08-14T14:58:04Z
Joepal
14
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Texpaint07.png
6
153
392
2015-08-14T14:58:28Z
Joepal
14
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Texpaint08.png
6
154
393
2015-08-14T14:58:52Z
Joepal
14
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Texpaint09.png
6
155
394
2015-08-14T14:59:10Z
Joepal
14
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Texpaint10.png
6
156
395
2015-08-14T14:59:33Z
Joepal
14
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Texpaint11.png
6
157
396
2015-08-14T15:00:03Z
Joepal
14
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Texpaint12.png
6
158
397
2015-08-14T15:00:39Z
Joepal
14
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:The toolbar-cameraviews.jpeg
6
428
1050
2016-07-04T09:58:11Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:The toolbar-file.jpeg
6
429
1051
2016-07-04T09:58:21Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:The toolbar-screengrbhelp.jpeg
6
442
1064
2016-07-04T10:00:30Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:The toolbar-smoothandwire.jpeg
6
462
1084
2016-07-04T10:03:49Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:The toolbar-symmetry.jpeg
6
403
1025
2016-07-04T09:54:03Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:The toolbar-undoredo.jpeg
6
427
1049
2016-07-04T09:58:01Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:The toolbar.jpeg
6
422
1044
2016-07-04T09:57:12Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Topologies.png
6
432
1054
2016-07-04T09:58:51Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Topologies 0.png
6
440
1062
2016-07-04T10:00:10Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Torso cropped labelled.png
6
451
1073
2016-07-04T10:01:59Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Transifex.png
6
407
1029
2016-07-04T09:54:43Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:UE4-Truck-Result.png
6
605
1719
2020-03-09T18:27:29Z
Assetdk
89
After...
wikitext
text/x-wiki
After...
06793857d718e5f88896e1a3d451ffe5aabbdfae
File:UE4-Truck-Window1.png
6
607
1723
2020-03-09T19:16:10Z
Assetdk
89
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:UE4-Truck-Window2.png
6
608
1726
1725
2020-03-09T19:31:05Z
Assetdk
89
Assetdk uploaded a new version of [[File:UE4-Truck-Window2.png]]
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
1725
1724
2020-03-09T19:27:51Z
Assetdk
89
Assetdk uploaded a new version of [[File:UE4-Truck-Window2.png]]
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
1724
2020-03-09T19:22:28Z
Assetdk
89
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:UE4-Truck-Window3.png
6
609
1734
1732
2020-03-09T20:02:58Z
Assetdk
89
Assetdk uploaded a new version of [[File:UE4-Truck-Window3.png]]
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
1732
2020-03-09T19:58:32Z
Assetdk
89
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:UE4-Truck-Window4.png
6
610
1737
2020-03-09T20:37:11Z
Assetdk
89
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:UE4-Truck-Window5.png
6
611
1739
2020-03-09T21:15:46Z
Assetdk
89
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:UE4-Truck-Window6.png
6
612
1740
2020-03-09T21:24:13Z
Assetdk
89
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:UE4-Truck-Window7.png
6
613
1744
1742
2020-03-09T21:37:32Z
Assetdk
89
Assetdk uploaded a new version of [[File:UE4-Truck-Window7.png]]
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
1742
2020-03-09T21:32:15Z
Assetdk
89
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:UE4-Truck-Window8.png
6
614
1745
2020-03-09T21:50:16Z
Assetdk
89
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
File:Ue4-26-eye-material.JPG
6
695
1998
1997
2021-01-26T07:44:55Z
Fortuna
107
Fortuna uploaded a new version of [[File:Ue4-26-eye-material.JPG]]
wikitext
text/x-wiki
Sample Configuration of eye material in Unreal Engine 4.26.
CC0
950bc4bff039d8e52ae0b8a2c0c529ab0180e9f9
1997
2021-01-26T07:43:04Z
Fortuna
107
Sample Configuration of eye material in Unreal Engine 4.26.
CC0
wikitext
text/x-wiki
Sample Configuration of eye material in Unreal Engine 4.26.
CC0
950bc4bff039d8e52ae0b8a2c0c529ab0180e9f9
File:Ue4-26-teeth-material.jpg
6
698
2002
2021-01-26T08:43:05Z
Fortuna
107
Teeth material configuration in Unreal Engine 4.26.
CC0
wikitext
text/x-wiki
Teeth material configuration in Unreal Engine 4.26.
CC0
9206fb0fc0b9113d1f9b721e98dda08cf5053c18
File:UtilitiesExampleControls.png
6
401
1023
2016-07-04T09:53:44Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:UtilitiesExampleTab3.png
6
456
1078
2016-07-04T10:02:49Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Viewer 0.png
6
445
1067
2016-07-04T10:01:00Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
File:Weird transparency.png
6
694
1994
2021-01-25T23:26:20Z
Hfugfn65438
108
Funny rendering
wikitext
text/x-wiki
Funny rendering
0fb7e3d9dd742a14d0d43b098e607927b3e30457
File:Wip03 0.png
6
431
1053
2016-07-04T09:58:41Z
Maintenance script
0
Importing file
wikitext
text/x-wiki
Importing file
e4cd7723e5d375272bbfee6a5774f658d7ccdf66
MediaWiki:Common.css
8
127
355
354
2015-08-04T10:16:59Z
Joepal
14
css
text/css
/* CSS placed here will be applied to all skins */
div#mw-panel div.portal div.body ul li a:visited {
color: #0645ad;
}
div#mw-panel div.portal div.body ul li a {
color: #0645ad;
}
a, a:visited
{
color: #0645ad;
}
a.new, a.new:visited
{
color: red;
}
87f803645c6adea02a8931e95dbe9c5b830d2a2b
354
353
2015-08-04T10:15:51Z
Joepal
14
css
text/css
/* CSS placed here will be applied to all skins */
div#mw-panel div.portal div.body ul li a:visited {
color: #0645ad;
}
div#mw-panel div.portal div.body ul li a {
color: #0645ad;
}
a, a:visited
{
color: #0645ad;
}
920ba356eb7f25864010f6565ab7a68760c3fe60
353
2015-08-04T10:13:25Z
Joepal
14
Created page with "/* CSS placed here will be applied to all skins */ a, a:visited { color: #0b0090; }"
css
text/css
/* CSS placed here will be applied to all skins */
a, a:visited
{
color: #0b0090;
}
1c2c6bd2c8570335d387240cd51f3a33b060ccf5
MediaWiki:Sidebar
8
63
382
378
2015-08-13T11:31:55Z
Joepal
14
wikitext
text/x-wiki
* navigation
** mainpage|mainpage-description
** Documentation:Index|Documentation
** FAQ:Index|FAQ
** Video:Index|Video tutorials
** recentchanges-url|recentchanges
** randompage-url|randompage
** helppage|help
* SEARCH
* TOOLBOX
* LANGUAGES
4fb7eff5dcffd094af7c18cb5e95846839cb6c45
378
160
2015-08-13T11:25:09Z
Joepal
14
wikitext
text/x-wiki
* navigation
** mainpage|mainpage-description
** Documentation:Index|Documentation
** Video:Index|Video tutorials
** recentchanges-url|recentchanges
** randompage-url|randompage
** helppage|help
* SEARCH
* TOOLBOX
* LANGUAGES
f9ad2a97c2f82479bf9a799dfc4da07ed9f54add
160
158
2015-07-25T06:44:47Z
Joepal
14
wikitext
text/x-wiki
* navigation
** mainpage|mainpage-description
** Documentation:Index|Documentation
** FAQ:Index|FAQ
** Video:Index|Video tutorials
** recentchanges-url|recentchanges
** randompage-url|randompage
** helppage|help
* SEARCH
* TOOLBOX
* LANGUAGES
4fb7eff5dcffd094af7c18cb5e95846839cb6c45
158
2015-07-25T06:43:30Z
Joepal
14
Created page with " * navigation ** mainpage|mainpage-description ** FAQ:Index|FAQ ** recentchanges-url|recentchanges ** randompage-url|randompage ** helppage|help * SEARCH * TOOLBOX * LANGUAGES"
wikitext
text/x-wiki
* navigation
** mainpage|mainpage-description
** FAQ:Index|FAQ
** recentchanges-url|recentchanges
** randompage-url|randompage
** helppage|help
* SEARCH
* TOOLBOX
* LANGUAGES
c1a496ebb45063d3fe363012500cde82cdc36920
Documentation:Alternative topologies
3000
233
1110
693
2016-07-05T17:21:30Z
Aranuvir
17
wikitext
text/x-wiki
Makehuman provides a group of alternative topologies which replace the base mesh and are designed for special purposes. These are useful for various applications such as simulation (E.g. a car crash computer simulator), games and so on.
[[File:topologies_0.png]]
In order to use the alternative topologies provided by MakeHuman; go to Geometries -> Topologies.
For alternative topologies we follow a specific naming convention having the structureNameVertex-countE.g. proxy741 is a alternative topology named proxy with 741 vertices, female1605 is an alternative topology designed for females with 1605 vertices in the mesh.
For illustration purposes we show the wireframe/mesh view of female1605 with 1605 vertices in the figure below.
[[File:Proxies1.png]]
d9d71cde5e720afc4fc17c2becc48a5bc641698c
693
2016-05-20T09:04:38Z
Joepal
14
Created page with "Makehuman provides a group of alternative topologies which replace the base mesh and are designed for special purposes. These are useful for various applications such as simul..."
wikitext
text/x-wiki
Makehuman provides a group of alternative topologies which replace the base mesh and are designed for special purposes. These are useful for various applications such as simulation (E.g. a car crash computer simulator), games and so on.
!IMAGE!Pictures/topologies_0.png!/IMAGE!
In order to use the alternative topologies provided by MakeHuman; go to Geometries -> Topologies.
For alternative topologies we follow a specific naming convention having the structureNameVertex-countE.g. proxy741 is a alternative topology named proxy with 741 vertices, female1605 is an alternative topology designed for females with 1605 vertices in the mesh.
For illustration purposes we show the wireframe/mesh view of female1605 with 1605 vertices in the figure below.
!IMAGE!Pictures/Proxies1.png!/IMAGE!
3e49c2b911ca453ba4b39dca230d25bd4ce08782
Documentation:Application design and Code overview
3000
249
1119
726
2016-07-05T17:37:08Z
Aranuvir
17
/* The MakeHuman Graphical User Interface (GUI): */
wikitext
text/x-wiki
=== Application design and Code overview ===
==== Structural Organization of MakeHuman ====
MakeHuman is organized hierarchically. There is a root application (type gui3d.Application) that handles rendering of objects (guicommon.Object). These objects can be added/removed to/from the root application. Objects added to root application are always visible in the canvas.[I'm wondering if this is really true? - There are object on hidden tabs and the skeleton or mesh can be visible or not. Am I confusing the distinction between 'canvass' and 'view'? - RWB] Every added object has an openGL counterpart.
mhmain.MHApplication inherits from root application to constructmain application. A view is a visual context. A tab is a view, for example, the main application is a view.[The main application IS a view or the main application HAS a view? "the "main application frame/window is a view?"- RWB]
The Root application[you do meanrootand notmain? - RWB]contains Categories. A Category (gui3d.Category) is a specialised view object which contains multple taskiew objects (gui3d.TaskView). Taskview objects are specialised view objects with a panes and tab. In context of MakeHuman interface, Category objects constitute the upper row of tabs while taskview objects constitute the lower row of tabs.
Objects (guicommon.Object) can be added/removed to/from a taskview. Objects added to a taskview are only visible if the taskview is visible. For example, a skeleton added to the skeleton chooser is only visible when the skeleton chooser taskview is visible. Objects added to root application[root not main? - RWB]are always visible. Thus objects like human and all proxies such as clothes are added to theapplication,because they should always be visible. Visiblilty can be disabled by setting the visibility flag on objects but an object that is not added to a currently visible taskview, or the application, is not visible, even if its visibility flag is set positive. [Wording needs improving -- 'should always be visible' and a 'visibility flag' are mixed message - RWB]
An object can only be added to one context. So an object is either added to one taskview, or the application, not two different taskviews.
Apart from root application, there is another application (type qtui.Application) which implements MH gui structures using Qtlibraries. mhmain.MHApplication inherits from this application too for handling of gui content.e
General structure in MH can be represented as: !IMAGE!Pictures/mh-inheritance.png!/IMAGE!
====
Basics of event handling in Makehuman: ====
Makehuman is a GUI based, interactive, Qt application in which objects interact by sending messages to each other. The Qt class QEvent encapsulates notion of low level events like mouse events, key press events, action events, etc. A Qt application is event loop-based, which is basically a program structure which allows events to be prioritized, queued and dispatched to application objects.
In a Qt based application, there are different sources of events. Some events like key events and mouse events come from window system, while some others originate from within application. When an event occurs, Qt creates an event object to represent it by constructing an instance of the appropriate QEvent subclass, and delivers it to a particular instance of QObject (or one of its subclasses) by calling its event() function. This function does not handle the event itself, but rather, it calls an event handlerbased on the type of event delivered, and sends an acknowlegement based on whether the event was accepted or ignored.
QCoreApplication::exec()method enters the main event loop and waits until exit() is called. It is necessary to call this function to start event handling. In MH, it is done in lib.qtui.Applicationwhich inherits fromQApplicationwhich in turn inherits fromQCoreApplication:
def start(self):
self.OnInit()
self.callAsync(self.started)
self.messages.start()
self.exec_()
In MH, event handling falls in two broad categories.
* Event handling forcontainers(application, categories, taskviews)
* Event handling forwidgets(contained in containers)
==== Event handling for containers: ====
MH is organized hierarchically in the context of containers. At top is the main application (core.mhmain.MHMainApplication). It contains categories (core.gui.Category), which in turn contains taskviews (core.gui.TaskView).
In a Qt-based application, there are five different ways of events processing, as listed below:
* * Reimplementing an event handler function like paintEvent(), mousePressEvent() and so on. This is the most common, easiest, but least powerful approach.
* ReimplementingQCoreApplication::notify( QObject * receiver, QEvent * event ). This is very powerful, providing complete control; but only one subclass can be active at a time. Qt's event loop and sendEvent() calls use this approach to dispatch events.
* Installing an event filter onQCoreApplication::instance(). Such an event filter is able to process all events for all widgets. It's just as powerful as reimplementing notify(); furthermore, it's possible to have more than one application-global event filter. Global event filters even see mouse events for disabled widgets. Note that application event filters are only called for objects that live in the main thread.[I believe that MH is single threaded - implications? RWB]
* ReimplementingQObject::event()(as QWidget does). If you do this you get Tab key presses[<--Explain what is special about TAB and shift-TAB presses ?- RWB], and you get to see the events before any widget-specific event filters.
* Installing an event filter on the object itself. Such an event filter gets all the events, including Tab and Shift+Tab key press events[<--Explain what is special about TAB and shift-TAB presses ?- RWB], as long as they do not change the focus widget.
In MakeHuman, approaches 2 and 4 are used for extensively for event handling. As part of strategy 2,inlib.qtui.Application (which extendsQApplication), notify has been reimplemented:[I don''t understand the implication of this? Expond? -RWB]
def notify(self, object, event):
self.logger_event.debug('notify(%s, %s(%s))', object, event, event.type())
return super(Application, self).notify(object, event)
object is the receiver object. Class implementing notify has to be singleton. [Clarify? - RWB]
In MakeHuman,MHApplicationsubclasseslib.qtui.Application.MHApplicationobject is the main application object. It's notify function receives notification from the event loop in the underlying Qt layer about each[container only or widgets too?]event, which is then relayed to receiver object's event method. Thereceiver object's event method is either inherited from QObject or reimplemented. The Receiver object then either sends TRUE or FALSE, as the case may be, to[WHERE??] - RWB
lib.qtui.Applicationalso implements an event function, which is called if the receiver object isMHApplication objectitself. Then,lib.qtui.Application.event()checks if its a user-defined event or not,and it is so true is returned, else we call super class's event(). In case of true being returned,Qt dispatches event to receiver object's callEvent function which determines which function to be called on object to handle the event. Called function then handles the event or propagate it to its parent(or to current task if its application object), as may seem fit.
==== Event handling for widgets ====
Most of MH widgets are wrappers around Qt widgets. These widgets (defined in module lib.qtgui) inherit from the respective Qt widgets and the Widget class (lib.qtgui.Widget). MH makes use ofsignal and slot mechanismby making the connection between the signal originating from the Qt layer and the corresponding handler function. For example, class TabBase connects the signal 'currentChanged' to its function 'tabChanged' as follows:
class TabsBase(Widget):
def __init__(self):
super(TabsBase, self).__init__()
self.tabBar().setExpanding(False)
self.connect(self, QtCore.SIGNAL('currentChanged(int)'), self.tabChanged)
......................
Any class inheriting from TabsBase(e.g., lib.qtgui.Tabs or lib.qtgui.TabBar) also gets this facility. So now whenever signal 'currentChanged' is emitted from Qt layer function 'tabChanged' is called. The result is that when a user clicks the mouse on a tab, the 'tabChanged' code will be called,
Similarly, MH Slider widget connects various slider operations to its event handling functions as:
...........................
self.connect(self.slider, QtCore.SIGNAL('sliderMoved(int)'), self._changing)
self.connect(self.slider, QtCore.SIGNAL('valueChanged(int)'), self._changed)
self.connect(self.slider, QtCore.SIGNAL('sliderReleased()'), self._released)
self.connect(self.slider, QtCore.SIGNAL('sliderPressed()'), self._pressed)
...........................
[-- EDITING/PROOFING ENDS HERE - RWB --]
==== Overriding vs event decorators: ====
The View, Category and Application classes inherit from events3d.EventHandler, hence they have callEvent() function. The events that apply to this category are usually application-wide. If user make a change that impacts the whole application, and whole application must know about this change, then best way to do so is to call callEvent() for all the taskviews of the application,as follows:
for category in self.categories.itervalues():
for task in category.tasks:
task.callEvent('onMyEvent', params)
A good example is the event of makehuman's scene changing(core.qtui.MHApplication._sceneChanged). So when callEvent is called on a taskview object and it has onMyEvent implemented,it is being called. In core.gui3d.View too one can see that most of the events (onShow, onMouseDown,...) on the taskview are propagated by default to their parents - the categories. The categories also are views, so the events are propagated again to their parent, the application. If, again, the application or any category has an onMyEvent method, it is executed.
There are some events that affect the application, but only a single task at a time,for example onMouseDown event. It only happens to the active taskview
(the others are hidden, so they receive no mouse events). Once the mouse is pressed, an Application.currentTask.callEvent("onMouseDown", event)is issued. This causes the onMouseDown event to be received by the active Taskview, its parent Category, and finally the Application. This call executes any onMouseDown method in these objects.
Apart from the Category events described above, there are events used for local purposes. Such events are handled withevent decorators. Suppose we have a new Taskview, FooTaskView. This Taskview has a 'mybar' member variable, which is of type Bar(events3d.eventHandler). The requirement is that when self.mybar executes code, we may want to communicate with its parent to inform it about an event that just happened. So, inside the code for Bar, is located a 'self.callEvent('onBaz', 42)' command. Thus, in the Bar class, we emit a timely event signal and use the event decorator to let the parent Taskview know about the event. In the FooTaskView class, but below the place where self.mybar is created, we add:
@self.mybar.mhEvent
def onBaz(event):
# code on event.
# guess what, event == 42.
When now the self.mybar Bar reaches that callEvent, the above method, located in FooTaskView, will be executed.
core.mhmain.MHApplication's human is perfect example of this approach.Human has onMouseDown event handler and we need to relay it to application.
In loadMainGui function of MHApplication, we add decorator to human attribute as:
def loadMainGui(self):
..............
@self.selectedHuman.mhEvent
def onMouseDown(event):
if self.tool:
self.selectedGroup = self.getSelectedFaceGroup()
self.tool.callEvent("onMouseDown", event)
else:
self.currentTask.callEvent("onMouseDown", event)
.............
Application.human.onMouseDown event is caught and it starts its trip from the Human; it is captured by the decorated method located in Application.loadMainGui (this is the place where the method is bound with the event), it is sent to the currentTask, propagated through the parent category, and finally reaches its destination, the Application.
A more intense process happens on Human.onChanged. This is emitted when a save/load happpens, so the whole application has to know. So it starts from the human, captured by the decorated method in app, sent to ALL the taskviews in MH, and finally through the categories again to the app.
==== The MakeHuman Graphical User Interface (GUI): ====
The MakeHuman GUI is based on the pyQt library which, in turn, is built on the Qt library. Qt is a development framework for the creation of applications and user interfaces for desktop.
Important GUI classes in MakeHuman are:
lib.qtui.Canvas:This is the class in MakeHuman which takes care of rendering openGL graphics.It inherits from Qt's QGLWidget class which is a widget for rendering OpenGL graphics. QGLWidget provides functionality for displaying OpenGL graphics integrated into a Qt application. It is very simple to use. You inherit from it and use the subclass like any other QWidget, except that you have the choice between using QPainter and standard OpenGL rendering commands.
The Canvas class reimplements three functions from parent class to perform openGL tasks:
* paintGL() - Renders the OpenGL scene. It gets called whenever the widget needs to be updated.
* resizeGL() - Sets up the OpenGL viewport, projection, etc. Gets called whenever the widget has been resized (and also when it is shown for the first time because all newly created widgets get a resize event automatically).
* initializeGL() - Sets up the OpenGL rendering context, defines display lists, etc. Gets called once before the first timeresizeGL() orpaintGL() is called.
lib.qtui.Application: This is the foundation class which manages GUI's control flow and main settings. It inherits fromQtGui.QApplicationandevents3d.EventHandler. QApplicationcontains the main event loop, where all events from the window system and other sources are processed and dispatched. It also handles the application's initialization and finalization.Application class holds gui main window(instance of lib.qtui.Frame). Application class receives event notifications from underlying Qt user intrface framework and dispatches them to appropriateuser intrface elements in MakeHuman.
GUI architecture inMakeHumanMH can be depicted as follows:
[[File:mh-uiarchitecture.png]]
=== Application Design Notes from IRC Chat with Thanassis ===
Thanasis comments on gaining the big picture of MH coding
* [16:12:57] <Thanasis> I would avoid describing the different parts of code as different entities
* [16:13:43] <Thanasis> ie. follow the object-oriented paradigm, and avoid thinking who is inherited by who etc.
* [16:13:48] <Thanasis> more specifically
* [16:15:03] <Thanasis> I mean, treat an object as a single object
* [16:15:08] <Thanasis> I'll show an example
* [16:15:45] <Thanasis> you have the application. Inheritance says it consists of three classes, QApplication, MHApplication, and mhmain.Application (names may differ a bit).
* [16:15:58] <Thanasis> but it is only one object
* [16:16:42] <Thanasis> We don't care if the QApplication activates a function in MH application, because it happens inside the same object
* [16:16:50] <Thanasis> the application
* [16:17:18] <Thanasis> we only pay attention to the interactions the application object has with other objects
* [16:17:43] <Doctor_Hell_> but if you need to find a function, you need to follow the inheritage chain...no?
* [16:18:24] <Thanasis> of course, in the code, yes. but in a diagram it will make it complex
* [16:21:02] <Thanasis> well, let's go top-down
* [16:21:29] <Thanasis> we have: QT, App, Tab, Task
* [16:21:56] <Thanasis> The event starts from QT, and activates a handler in App
* [16:22:22] <Thanasis> The App sends a new event to the current Task
* [16:22:46] <Thanasis> The task handles it, and sends a copy to the parent Tab
* [16:23:13] <Thanasis> And finally the Tab handles it and sends a copy to the App
* [16:23:35] <Thanasis> which handles it, and stops
* [Referring to how distrating it is to describe the big picture of MH, Thanasis comments ...]
* "Distract? no, this does not consume any brain energy"
* We love your help- the more the bettter -- Thanks [RWB]
Comments Regarding MacroTarget slider processing/handling based on naming conventions:
* [16:36:24] <Doctor_Hell_> [23:26] <Doctor_Hell_> another complex part to know is the engine coded by Jonas to automatically handel the targets using their name
* [16:37:58] <Thanasis> uh. yes, that's a tough one too. I think it does, but I don't remember why and how, because it was a long time ago and Jonas changed the human modifier class since then
* [16:38:18] <Thanasis> he simplified it, actually, but I haven't seen the new version yet
* [16:38:34] <Doctor_Hell_> where is the code?
* [16:38:49] <Thanasis> apps/humanmodifier.py, I think
* [16:39:01] <Doctor_Hell_> Jonas should be very busy recently, since I asked him but he didn't reply me yet.
* [16:42:37] <Thanasis> um by the way, reading humanmodifier alone won't help a lot. I would suggest starting from the macro plugin, to trace what happens when a slider is created, and when the user moves a slider. It might be easier this way
Difficulties in understanding relationships between folder names / module names and the object structure
* [16:39:36] <Doctor_Hell_> ANother thing to understand is why we have some code inapps, other incore, other in libs..the logic is not clear for me..
* [16:39:52] <Thanasis> ah, ignore logic in that part. :)
* [16:40:20] <Thanasis> as far as I know it is all because of mh history so far
* [16:40:29] <Thanasis> the way it developed.
* [16:40:56] <Doctor_Hell_> I know some of it
* [16:41:24] <Doctor_Hell_> in the early times,it was planned to have a core folder, with all important main files
* [16:42:03] <Doctor_Hell_> then anapps folder, to contain many application based on the core files: makeHuman, makeANime, MakeToon, etc..
* [16:42:29] <Doctor_Hell_> butsharedandlibswere added later...I don't know why
* [16:43:10] <Thanasis>libs, they are classes imported from c++ directly
* [16:43:48] <Doctor_Hell_> ah ..so only the "shared" folder is the mystery
* [16:44:04] <Thanasis> shared, they are later classes used by many different parts of the code at the same time
* [16:44:15] <Thanasis> classes created later*
* [16:44:28] <Thanasis> ie. material. It's used literally everywhere
* [16:44:32] <Thanasis> progress too
* [16:44:58] <Doctor_Hell_> ok..at least now it make sense, thank you
* Comments on New API project
* [16:45:39] <Doctor_Hell_> now that you have more time, will you look at the API?
* [16:46:55] <Thanasis> 'time' != 'creativity'. I expect it will be easier to me after the start of the semester
* [16:46:27] <Doctor_Hell_> if you are logged to MH site, you can see this:!LINK!http://www.makehuman.org/blog/the_makehuman_api_project_mhapi.html -- http://www.makehuman.org/blog/the_makehuman_api_project_mhapi.html!/LINK!
* [16:47:02] <Doctor_Hell_> Also Joel has already created this:!LINK!https://bitbucket.org/joepal1976/makehuman-api-project/overview -- https://bitbucket.org/joepal1976/makehuman-api-project/overview!/LINK!
* [16:48:52] <Doctor_Hell_> at the moment, you can just post a list of wished api in the issue 534
* [16:49:16] <Doctor_Hell_> we want to start the API in few weeks..they are fundamental, in order to have more contributors...
* [16:51:05] <Thanasis> oh, boy. I want to clean up this code!LINK!https://bitbucket.org/joepal1976/makehuman-api-project/commits/aa5c12953fb2c8a1723b21bb0b7d90667653d615 -- https://bitbucket.org/joepal1976/makehuman-api-project/commits/aa5c12953...!/LINK!* Go for it? [RWB] :)
The Doc_Hell Diagram (green and red arrows that even Glynn couln't understand)
[Summary - concentrate on green arrows not red arrows to get the big picture]
* <Doctor_Hell_> this is an example of bad diagram:!LINK!https://www.dropbox.com/s/v3waacufp9pyx1u/mouse_event.png?dl=0 -- https://www.dropbox.com/s/v3waacufp9pyx1u/mouse_event.png?dl=0!/LINK!
* [16:52:48] <Thanasis> well, in your shape, the actual thing is about the green arrows
* [16:53:19] <Thanasis> the red arrows could have been implemented in hundreds of different ways
* [16:53:44] <Thanasis> but the important is their result, the green arrows
* [16:53:53] <Doctor_Hell_> talking about how to draw the objects?
* [16:54:26] <Thanasis> well, my idea was, do two shapes
* [16:54:36] <Thanasis> the first without code
* [16:55:10] <Thanasis> only showing the 5 steps like I explained above, ie, the green arrows
* [16:55:28] <Thanasis> the second can explain each step in detail using the red arrows
* [16:55:50] <Thanasis> but in any case the definition is the following
* [16:56:04] <Thanasis> an event is, you send the name of a method to someone
* [16:56:14] <Doctor_Hell_> ok...but also we have the description written by Manish. I'll show you it tomorrow
* [16:56:21] <Thanasis> and that someone executes that method of theirs
* [16:56:47] <Thanasis> sure, there are many ways to describe it
* [16:57:00] <Doctor_Hell_> I hope we can find the best one
* [16:57:07] <Thanasis> I think that they all match though in some certain key points
* [16:57:52] <Thanasis> if these are filtered out, the explanation may be more simple
And touching on API ideas ...
* [16:59:09] <Doctor_Hell_> since the core is too complex for average python programmers
* [16:59:36] <Thanasis> yes... perhaps the code could be organized in tiers.
* [17:00:00] <Thanasis> core, classes, plugins, scripts
* [17:00:27] <Doctor_Hell_> ah you are talking of the current code, not the simplified api
* [17:00:54] <Doctor_Hell_> yes, it's a good idea..but what group under "core" ?
* [17:01:25] <Thanasis> theapplication and its interfaces(ie.communication with the system and devices. QT, GL etc.)
* [17:01:59] <Thanasis> classes are abstract, they use the application by calling its methods
* [17:02:35] <Thanasis> the application uses the interfaces (QT, GL.these are actually harder than the application andcould be a sepparate tier)
* [17:02:54] <Thanasis> thepluginsuse the classes to create objects
* [17:03:26] <Doctor_Hell_> I see some possible confusion because:
* [17:04:24] <Doctor_Hell_> - not all core modules are into core folder (for example qtui and qtgui are in libs)
* [17:04:49] <Doctor_Hell_> - Classes are everywhere
* [17:05:07] <Thanasis> yes, libs folder consists of both core and classes... indeed
* [17:05:23] <Thanasis> andinterfacestoo
* [17:06:51] <Thanasis> but in general, this separation exists somehow. I'm not sure how, but the past programmers instinctively created it, perhaps for better manageability
* [17:08:14] <Thanasis> ie. Human is a class, Material too, Armature (probably making name wrong again), and to function I observe that they use callbacks of Application
* [17:08:38] <Thanasis> They never use interfaces directly
* [17:09:46] <Thanasis> Even for drawing the human, it is the Application that will give the Human's object3d to OpenGL, not the Human directly
* [17:10:31] <Thanasis> and plugins use classes ie. they use the callbacks that Human, Material etc. have
* [17:11:08] <Doctor_Hell_> Do you mean abstraction classes?
* [17:13:27] <Doctor_Hell_> Thanasis: about new API:!LINK!http://bugtracker.makehuman.org/issues/534 -- http://bugtracker.makehuman.org/issues/534!/LINK!
* [17:13:42] <Doctor_Hell_> and!LINK!http://bugtracker.makehuman.org/projects/makehuman/wiki/Abstraction_API_for_plugins -- http://bugtracker.makehuman.org/projects/makehuman/wiki/Abstraction_API_...!/LINK!
* [17:13:57] <Doctor_Hell_> Feel free to add wished api calls
=== Q & A with Glynn Clements ===
Question: For an event when user clicks on a tab, Tabs class method tabChanged is called.
QTabWidget documentation.There is no such method.
Response:
The tabChanged method is defined for qtgui.TabsBase (and overridden for qtgui.Tabs).
Both qtgui.Tabs and qtgui.TabBar inherit from qtgui.TabsBase.
Tabs inherits from both TabsBase and QTabWidget while TabBar inherits from both TabsBase and QTabBar.
Both QTabWidget and QTabBar define the currentChanged signal, which is emitted whenever the current tab changes.
The TabsBase initialiser connects this signal to the tabChanged method (lib/qtgui.py:109):
class TabsBase(Widget):
def __init__(self):
...
self.connect(self, QtCore.SIGNAL('currentChanged int)'), self.tabChanged)
==========================================================
Question: is it true that qtui module: low level module, that handles signals directly from QtCore, QtGui and QtOpenGL?
Response:
qtui defines the classes for the application (QApplication subclass), main window QMainWindow subclass), drawing canvas (QGLWidget subclass), and some associated support classes. In other words, it implements the high-level UI, or at least the aspects which are tied to Qt.
Question: is it true that qtgui module: low level module, that define the basic widgets of the GUI as buttons, radiobuttons, etc..
Response:
Yes; qtgui is essentially a compatibility layer between the Qt widget classes and the legacy MH GUI toolkit. The classes provide methods which more closely mimic the behaviour of original gui3d widgets. Qt events are translated to MH events3d events.
Question: Is it true that gui3d module: high level module, that define the principal public classes of MakeHuman: Application, Category, TaskView and View.
Response:
This is what's left of the legacy MH GUI toolkit. Before the move to Qt, everything was a "View". Now it's just the high-level containers (Application, Category, Task) which exist as somewhere to put event handlers.
Question: What is the purpose of the module guicommon.py? Looking at the module name, it appears to be a sort of library for the GUI functions, but it's a completely different thing. What is it really?
Response:
Object used to be part of gui3d. Its primary function is to be the base class for Human. It's the other main subclass of events3d.EventHandler (the first being gui3d.View).
It's not really accurate to call it a "wrapper" around Object3D (although it can have instances of both module3d.Object3D and object3d.Object3D as members).
One of the main differences between guicommon.Object and module3d.Object3D is that the latter is a single mesh, while the former has up to four meshes (all of type module3d.Object3D): the base (or "seed") mesh, a proxy mesh, a subdivided mesh, and a subdivided proxy mesh.
It [guicommon.py or guicommon.Object ??RWB] also contains an object transformation (location, rotattion, scale) [method?], and optionally a display mesh (object3d.Object3D). As a subclass of EventHandler, it [guicommon.Object ??RWB] provides mouse handlers which propagate the event to the object's view (these are overridden for the Human within MHApplication.loadMainGui).
Question: G.app is the singular mhmain.MHApplication instance; the callEvent method (inherited from event3d.EventHandler) will end up calling G.app.onMouseDownCallback. How the function callEvent end up calling G.app.onMouseDownCallback?
Response:
"direction" will be either onMouseDownCallback or onMouseUpCallback. Note the "Callback" suffix.
So typical event flow for clicking on the human model is:
G.app.mainwin.canvas.mouseUpDownEvent ("onMouseDownCallback")
[Canvas.mouseUpDownEvent]
G.app.callEvent("onMouseDownCallback") [EventHandler.callEvent]
G.app.onMouseDownCallback() [gui3d.Application.onMouseDownCallback]
G.app.selectedHuman.callEvent('onMouseDown', event) [EventHandler.callEvent]
G.app.selectedHuman.onMouseDown()
[local function in MHApplication.loadMainGui]
G.app.currentTask.callEvent("onMouseDown", event) [EventHandler.callEvent]
G.app.currentTask.onMouseDown() [View.onMouseDown]
G.app.currentCategory.callEvent("onMouseDown", event) [EventHandler.callEvent]
G.app.currentCategory.onMouseDown()
[View.onMouseDown]
G.app.callEvent("onMouseDown", event) [EventHandler.callEvent]
G.app.onMouseDown() [MHApplication.onMouseDown]
Notes:
G.app.currentTask.parent == G.app.currentCategory
G.app.currentCategory.parent == G.app
Question: is the eventType string (also called 'direction') originated by QT?
Response:
No. "direction" is just so that code which is common to both mouse press and mouse release events can go into a single method (mouseUpDownEvent) rather than duplicating it in mousePressEvent() and mouseReleaseEvent(). Those functions are identical except for the name of the event passed to callEvent.
Bear in mind that self.callEvent("onMouseDown", event) is almost the same as self.onMouseDown(event), except that callEvent forces a redraw after the event has been dealt with, and has some support for logging and profiling. Once you strip that away, the guts of callEvent() is just:
method = getattr(self, eventType)
method(event)
======================================================================
Question: Can the modularization of the code can be improved?
Response:
Modularisation is already quite good. Too much of it can make the code harder to understand.
Currently, we try to avoid importing OpenGL or Qt modules (directly or indirectly) into modules which don't inherently depend upon them (e.g. guicommon.Object imports object3d locally in the attachMesh and detachMesh methods, so it only gets imported if you actually need to render the object).
TODO ACTION. One minor point which I noticed: lib/camera.py imports glmodule solely for the queryDepth() call in convertToWorld2D (the Z coordinate is obtained by retrieving a value from the depth buffer using the X,Y coordinates). This should probably be a local import in that method, so that camera.py could be used in e.g. import/export utilities.
==========================================================================
Question: [Referring to DocHell's red and green diagram (!LINK!https://www.dropbox.com/s/v3waacufp9pyx1u/mouse_event.png?dl=0] -- https://www.dropbox.com/s/v3waacufp9pyx1u/mouse_event.png?dl=0]!/LINK!]
Response:
I have no idea; I can't follow that [diagram]. It would probably help if you simply ignore CallEvent(), and treat object.callEvent('method',event) as just object.method(event).
The two factors which make following the flow slightly complicated are:
Methods aren't always defined within the class used to create an object, but may be inherited from one of its base classes.
Event handlers may be dynamically added to an object with the mhEvent method (which is usually invoked using Python's decorator syntax). This is done for the Human object in MHApplication.loadMainGui():
@self.selectedHuman.mhEvent
def onMouseDown(event):
....
If you aren't familiar with the decorator syntax, the above is equivalent to:
def onMouseDown(event):
...
self.selectedHuman.mhEvent(onMouseDown)
which in turn boils down to:
def onMouseDown(event):
...
self.selectedHuman.onMouseDown = onMouseDown
=================================================================================
Question: Could you provide an explanation of what a weak reference is? How might this impact MakeHuman?
Response:
[Jonas Hauquier ] A weak reference, one that is not accounted for by the garbage collection. Garbage collection removes objects from memory that have no pointers to them anymore. Weakrefs are not counted among those, so if the object has only weakrefs pointing to it, and not real pointers, it will be removed anyway. This is to make sure that object A and B that always point to each other, are not kept in memory just because they keep referencing each other (I believe the garbage collection does not do expensive graph traversals to check what is still referenced by the active context).
[Glynn Clements] Sort of. Python uses both reference-counting (which can't handle circular references) and reachability-based garbage collection (which can). If an object's reference count reaches zero, it will be finalised immediately. But an object with a non-zero reference count can still be finalised if it can be determined that it isn't reachable during a garbage-collection sweep.
However: the garbage collector won't attempt to finalise reference cycles if any of the objects in the cycle have a __del__ method, as it can't determine a safe order in which to execute them. Instead, it adds them to a list, accessible as gc.garbage. Application code can inspect this list, manually finalise the objects (which should break the cycles), then remove them from the list (otherwise their presence in gc.garbage will itself constitute a reference).
It's possible to have the garbage collector report such cases using gc.set_debug(gc.DEBUG_UNCOLLECTABLE).
Only a few MH classes contain __del__ methods. These will only present a problem if the object itself is part of a cycle (i.e. contains references to "complex" objects which themselves contain references which could lead back to the original object).
"Leaf-node" classes such as Texture and Shader shouldn't present a problem unless their creators attach additonal references to them. This may be an issue for e.g. qtgui.Slider and qtgui.RadioButton, as these have __del__ methods and will naturally create circular references. Use of weakref may be advised here. Similarly for queue.Thread. SceneItem in plugins/7_scene_editor.py may also be a problem.
=============================================================================
Question: Could you clarify wherther the following acurately describe the use of decorators?
A basic decorator is a function that:
1) Gets a function "A" as argument
2) Modifies the behavior of "A"
3) Returns a "decorated" version of "A"
Response: Correct.
Question: Topic: Decorators and side-effects. When is a decorator not about generating a function? So, if the above accurately descibes a decorator, consider the code:
@self.selectedHuman.mhEvent
def onMouseDown(event):
This should translate:
onMouseDown = self.selectedHuman.mhEvent(onMouseDown)
One would expect that using mhEvent as decorator, it returns a function, but instead, it returns None:
def mhEvent(self, eventMethod):
self.attachEvent(eventMethod.__name__, eventMethod)
How can it be used as decorator?
Response:
Because the returned "function" isn't actually used anywhere. The definition is local to loadMainGui(), which doesn't reference the functions, so the fact that e.g. onMouseDown is None within loadMainGui() doesn't matter. The mhEvent() method is used for its side-effects, not its return value. It attaches an event to the selectedHuman. It is equivalent to:
self.selectedHuman.attachEvent(onMouseDown.__name__, onMouseDown)
==============================================================================
300a932a8267589872248ca320b1f13353b328de
726
2016-05-20T11:35:21Z
Joepal
14
Created page with " === Application design and Code overview === ==== Structural Organization of MakeHuman ==== MakeHuman is organized hierarchically. There is a root application (type gui3d..."
wikitext
text/x-wiki
=== Application design and Code overview ===
==== Structural Organization of MakeHuman ====
MakeHuman is organized hierarchically. There is a root application (type gui3d.Application) that handles rendering of objects (guicommon.Object). These objects can be added/removed to/from the root application. Objects added to root application are always visible in the canvas.[I'm wondering if this is really true? - There are object on hidden tabs and the skeleton or mesh can be visible or not. Am I confusing the distinction between 'canvass' and 'view'? - RWB] Every added object has an openGL counterpart.
mhmain.MHApplication inherits from root application to constructmain application. A view is a visual context. A tab is a view, for example, the main application is a view.[The main application IS a view or the main application HAS a view? "the "main application frame/window is a view?"- RWB]
The Root application[you do meanrootand notmain? - RWB]contains Categories. A Category (gui3d.Category) is a specialised view object which contains multple taskiew objects (gui3d.TaskView). Taskview objects are specialised view objects with a panes and tab. In context of MakeHuman interface, Category objects constitute the upper row of tabs while taskview objects constitute the lower row of tabs.
Objects (guicommon.Object) can be added/removed to/from a taskview. Objects added to a taskview are only visible if the taskview is visible. For example, a skeleton added to the skeleton chooser is only visible when the skeleton chooser taskview is visible. Objects added to root application[root not main? - RWB]are always visible. Thus objects like human and all proxies such as clothes are added to theapplication,because they should always be visible. Visiblilty can be disabled by setting the visibility flag on objects but an object that is not added to a currently visible taskview, or the application, is not visible, even if its visibility flag is set positive. [Wording needs improving -- 'should always be visible' and a 'visibility flag' are mixed message - RWB]
An object can only be added to one context. So an object is either added to one taskview, or the application, not two different taskviews.
Apart from root application, there is another application (type qtui.Application) which implements MH gui structures using Qtlibraries. mhmain.MHApplication inherits from this application too for handling of gui content.e
General structure in MH can be represented as: !IMAGE!Pictures/mh-inheritance.png!/IMAGE!
====
Basics of event handling in Makehuman: ====
Makehuman is a GUI based, interactive, Qt application in which objects interact by sending messages to each other. The Qt class QEvent encapsulates notion of low level events like mouse events, key press events, action events, etc. A Qt application is event loop-based, which is basically a program structure which allows events to be prioritized, queued and dispatched to application objects.
In a Qt based application, there are different sources of events. Some events like key events and mouse events come from window system, while some others originate from within application. When an event occurs, Qt creates an event object to represent it by constructing an instance of the appropriate QEvent subclass, and delivers it to a particular instance of QObject (or one of its subclasses) by calling its event() function. This function does not handle the event itself, but rather, it calls an event handlerbased on the type of event delivered, and sends an acknowlegement based on whether the event was accepted or ignored.
QCoreApplication::exec()method enters the main event loop and waits until exit() is called. It is necessary to call this function to start event handling. In MH, it is done in lib.qtui.Applicationwhich inherits fromQApplicationwhich in turn inherits fromQCoreApplication:
def start(self):
self.OnInit()
self.callAsync(self.started)
self.messages.start()
self.exec_()
In MH, event handling falls in two broad categories.
* Event handling forcontainers(application, categories, taskviews)
* Event handling forwidgets(contained in containers)
==== Event handling for containers: ====
MH is organized hierarchically in the context of containers. At top is the main application (core.mhmain.MHMainApplication). It contains categories (core.gui.Category), which in turn contains taskviews (core.gui.TaskView).
In a Qt-based application, there are five different ways of events processing, as listed below:
* * Reimplementing an event handler function like paintEvent(), mousePressEvent() and so on. This is the most common, easiest, but least powerful approach.
* ReimplementingQCoreApplication::notify( QObject * receiver, QEvent * event ). This is very powerful, providing complete control; but only one subclass can be active at a time. Qt's event loop and sendEvent() calls use this approach to dispatch events.
* Installing an event filter onQCoreApplication::instance(). Such an event filter is able to process all events for all widgets. It's just as powerful as reimplementing notify(); furthermore, it's possible to have more than one application-global event filter. Global event filters even see mouse events for disabled widgets. Note that application event filters are only called for objects that live in the main thread.[I believe that MH is single threaded - implications? RWB]
* ReimplementingQObject::event()(as QWidget does). If you do this you get Tab key presses[<--Explain what is special about TAB and shift-TAB presses ?- RWB], and you get to see the events before any widget-specific event filters.
* Installing an event filter on the object itself. Such an event filter gets all the events, including Tab and Shift+Tab key press events[<--Explain what is special about TAB and shift-TAB presses ?- RWB], as long as they do not change the focus widget.
In MakeHuman, approaches 2 and 4 are used for extensively for event handling. As part of strategy 2,inlib.qtui.Application (which extendsQApplication), notify has been reimplemented:[I don''t understand the implication of this? Expond? -RWB]
def notify(self, object, event):
self.logger_event.debug('notify(%s, %s(%s))', object, event, event.type())
return super(Application, self).notify(object, event)
object is the receiver object. Class implementing notify has to be singleton. [Clarify? - RWB]
In MakeHuman,MHApplicationsubclasseslib.qtui.Application.MHApplicationobject is the main application object. It's notify function receives notification from the event loop in the underlying Qt layer about each[container only or widgets too?]event, which is then relayed to receiver object's event method. Thereceiver object's event method is either inherited from QObject or reimplemented. The Receiver object then either sends TRUE or FALSE, as the case may be, to[WHERE??] - RWB
lib.qtui.Applicationalso implements an event function, which is called if the receiver object isMHApplication objectitself. Then,lib.qtui.Application.event()checks if its a user-defined event or not,and it is so true is returned, else we call super class's event(). In case of true being returned,Qt dispatches event to receiver object's callEvent function which determines which function to be called on object to handle the event. Called function then handles the event or propagate it to its parent(or to current task if its application object), as may seem fit.
==== Event handling for widgets ====
Most of MH widgets are wrappers around Qt widgets. These widgets (defined in module lib.qtgui) inherit from the respective Qt widgets and the Widget class (lib.qtgui.Widget). MH makes use ofsignal and slot mechanismby making the connection between the signal originating from the Qt layer and the corresponding handler function. For example, class TabBase connects the signal 'currentChanged' to its function 'tabChanged' as follows:
class TabsBase(Widget):
def __init__(self):
super(TabsBase, self).__init__()
self.tabBar().setExpanding(False)
self.connect(self, QtCore.SIGNAL('currentChanged(int)'), self.tabChanged)
......................
Any class inheriting from TabsBase(e.g., lib.qtgui.Tabs or lib.qtgui.TabBar) also gets this facility. So now whenever signal 'currentChanged' is emitted from Qt layer function 'tabChanged' is called. The result is that when a user clicks the mouse on a tab, the 'tabChanged' code will be called,
Similarly, MH Slider widget connects various slider operations to its event handling functions as:
...........................
self.connect(self.slider, QtCore.SIGNAL('sliderMoved(int)'), self._changing)
self.connect(self.slider, QtCore.SIGNAL('valueChanged(int)'), self._changed)
self.connect(self.slider, QtCore.SIGNAL('sliderReleased()'), self._released)
self.connect(self.slider, QtCore.SIGNAL('sliderPressed()'), self._pressed)
...........................
[-- EDITING/PROOFING ENDS HERE - RWB --]
==== Overriding vs event decorators: ====
The View, Category and Application classes inherit from events3d.EventHandler, hence they have callEvent() function. The events that apply to this category are usually application-wide. If user make a change that impacts the whole application, and whole application must know about this change, then best way to do so is to call callEvent() for all the taskviews of the application,as follows:
for category in self.categories.itervalues():
for task in category.tasks:
task.callEvent('onMyEvent', params)
A good example is the event of makehuman's scene changing(core.qtui.MHApplication._sceneChanged). So when callEvent is called on a taskview object and it has onMyEvent implemented,it is being called. In core.gui3d.View too one can see that most of the events (onShow, onMouseDown,...) on the taskview are propagated by default to their parents - the categories. The categories also are views, so the events are propagated again to their parent, the application. If, again, the application or any category has an onMyEvent method, it is executed.
There are some events that affect the application, but only a single task at a time,for example onMouseDown event. It only happens to the active taskview
(the others are hidden, so they receive no mouse events). Once the mouse is pressed, an Application.currentTask.callEvent("onMouseDown", event)is issued. This causes the onMouseDown event to be received by the active Taskview, its parent Category, and finally the Application. This call executes any onMouseDown method in these objects.
Apart from the Category events described above, there are events used for local purposes. Such events are handled withevent decorators. Suppose we have a new Taskview, FooTaskView. This Taskview has a 'mybar' member variable, which is of type Bar(events3d.eventHandler). The requirement is that when self.mybar executes code, we may want to communicate with its parent to inform it about an event that just happened. So, inside the code for Bar, is located a 'self.callEvent('onBaz', 42)' command. Thus, in the Bar class, we emit a timely event signal and use the event decorator to let the parent Taskview know about the event. In the FooTaskView class, but below the place where self.mybar is created, we add:
@self.mybar.mhEvent
def onBaz(event):
# code on event.
# guess what, event == 42.
When now the self.mybar Bar reaches that callEvent, the above method, located in FooTaskView, will be executed.
core.mhmain.MHApplication's human is perfect example of this approach.Human has onMouseDown event handler and we need to relay it to application.
In loadMainGui function of MHApplication, we add decorator to human attribute as:
def loadMainGui(self):
..............
@self.selectedHuman.mhEvent
def onMouseDown(event):
if self.tool:
self.selectedGroup = self.getSelectedFaceGroup()
self.tool.callEvent("onMouseDown", event)
else:
self.currentTask.callEvent("onMouseDown", event)
.............
Application.human.onMouseDown event is caught and it starts its trip from the Human; it is captured by the decorated method located in Application.loadMainGui (this is the place where the method is bound with the event), it is sent to the currentTask, propagated through the parent category, and finally reaches its destination, the Application.
A more intense process happens on Human.onChanged. This is emitted when a save/load happpens, so the whole application has to know. So it starts from the human, captured by the decorated method in app, sent to ALL the taskviews in MH, and finally through the categories again to the app.
==== The MakeHuman Graphical User Interface (GUI): ====
The MakeHuman GUI is based on the pyQt library which, in turn, is built on the Qt library. Qt is a development framework for the creation of applications and user interfaces for desktop.
Important GUI classes in MakeHuman are:
lib.qtui.Canvas:This is the class in MakeHuman which takes care of rendering openGL graphics.It inherits from Qt's QGLWidget class which is a widget for rendering OpenGL graphics. QGLWidget provides functionality for displaying OpenGL graphics integrated into a Qt application. It is very simple to use. You inherit from it and use the subclass like any other QWidget, except that you have the choice between using QPainter and standard OpenGL rendering commands.
The Canvas class reimplements three functions from parent class to perform openGL tasks:
* paintGL() - Renders the OpenGL scene. It gets called whenever the widget needs to be updated.
* resizeGL() - Sets up the OpenGL viewport, projection, etc. Gets called whenever the widget has been resized (and also when it is shown for the first time because all newly created widgets get a resize event automatically).
* initializeGL() - Sets up the OpenGL rendering context, defines display lists, etc. Gets called once before the first timeresizeGL() orpaintGL() is called.
lib.qtui.Application: This is the foundation class which manages GUI's control flow and main settings. It inherits fromQtGui.QApplicationandevents3d.EventHandler. QApplicationcontains the main event loop, where all events from the window system and other sources are processed and dispatched. It also handles the application's initialization and finalization.Application class holds gui main window(instance of lib.qtui.Frame). Application class receives event notifications from underlying Qt user intrface framework and dispatches them to appropriateuser intrface elements in MakeHuman.
GUI architecture inMakeHumanMH can be depicted as follows:
!IMAGE!Pictures/mh-uiarchitecture.png!/IMAGE!
=== Application Design Notes from IRC Chat with Thanassis ===
Thanasis comments on gaining the big picture of MH coding
* [16:12:57] <Thanasis> I would avoid describing the different parts of code as different entities
* [16:13:43] <Thanasis> ie. follow the object-oriented paradigm, and avoid thinking who is inherited by who etc.
* [16:13:48] <Thanasis> more specifically
* [16:15:03] <Thanasis> I mean, treat an object as a single object
* [16:15:08] <Thanasis> I'll show an example
* [16:15:45] <Thanasis> you have the application. Inheritance says it consists of three classes, QApplication, MHApplication, and mhmain.Application (names may differ a bit).
* [16:15:58] <Thanasis> but it is only one object
* [16:16:42] <Thanasis> We don't care if the QApplication activates a function in MH application, because it happens inside the same object
* [16:16:50] <Thanasis> the application
* [16:17:18] <Thanasis> we only pay attention to the interactions the application object has with other objects
* [16:17:43] <Doctor_Hell_> but if you need to find a function, you need to follow the inheritage chain...no?
* [16:18:24] <Thanasis> of course, in the code, yes. but in a diagram it will make it complex
* [16:21:02] <Thanasis> well, let's go top-down
* [16:21:29] <Thanasis> we have: QT, App, Tab, Task
* [16:21:56] <Thanasis> The event starts from QT, and activates a handler in App
* [16:22:22] <Thanasis> The App sends a new event to the current Task
* [16:22:46] <Thanasis> The task handles it, and sends a copy to the parent Tab
* [16:23:13] <Thanasis> And finally the Tab handles it and sends a copy to the App
* [16:23:35] <Thanasis> which handles it, and stops
* [Referring to how distrating it is to describe the big picture of MH, Thanasis comments ...]
* "Distract? no, this does not consume any brain energy"
* We love your help- the more the bettter -- Thanks [RWB]
Comments Regarding MacroTarget slider processing/handling based on naming conventions:
* [16:36:24] <Doctor_Hell_> [23:26] <Doctor_Hell_> another complex part to know is the engine coded by Jonas to automatically handel the targets using their name
* [16:37:58] <Thanasis> uh. yes, that's a tough one too. I think it does, but I don't remember why and how, because it was a long time ago and Jonas changed the human modifier class since then
* [16:38:18] <Thanasis> he simplified it, actually, but I haven't seen the new version yet
* [16:38:34] <Doctor_Hell_> where is the code?
* [16:38:49] <Thanasis> apps/humanmodifier.py, I think
* [16:39:01] <Doctor_Hell_> Jonas should be very busy recently, since I asked him but he didn't reply me yet.
* [16:42:37] <Thanasis> um by the way, reading humanmodifier alone won't help a lot. I would suggest starting from the macro plugin, to trace what happens when a slider is created, and when the user moves a slider. It might be easier this way
Difficulties in understanding relationships between folder names / module names and the object structure
* [16:39:36] <Doctor_Hell_> ANother thing to understand is why we have some code inapps, other incore, other in libs..the logic is not clear for me..
* [16:39:52] <Thanasis> ah, ignore logic in that part. :)
* [16:40:20] <Thanasis> as far as I know it is all because of mh history so far
* [16:40:29] <Thanasis> the way it developed.
* [16:40:56] <Doctor_Hell_> I know some of it
* [16:41:24] <Doctor_Hell_> in the early times,it was planned to have a core folder, with all important main files
* [16:42:03] <Doctor_Hell_> then anapps folder, to contain many application based on the core files: makeHuman, makeANime, MakeToon, etc..
* [16:42:29] <Doctor_Hell_> butsharedandlibswere added later...I don't know why
* [16:43:10] <Thanasis>libs, they are classes imported from c++ directly
* [16:43:48] <Doctor_Hell_> ah ..so only the "shared" folder is the mystery
* [16:44:04] <Thanasis> shared, they are later classes used by many different parts of the code at the same time
* [16:44:15] <Thanasis> classes created later*
* [16:44:28] <Thanasis> ie. material. It's used literally everywhere
* [16:44:32] <Thanasis> progress too
* [16:44:58] <Doctor_Hell_> ok..at least now it make sense, thank you
* Comments on New API project
* [16:45:39] <Doctor_Hell_> now that you have more time, will you look at the API?
* [16:46:55] <Thanasis> 'time' != 'creativity'. I expect it will be easier to me after the start of the semester
* [16:46:27] <Doctor_Hell_> if you are logged to MH site, you can see this:!LINK!http://www.makehuman.org/blog/the_makehuman_api_project_mhapi.html -- http://www.makehuman.org/blog/the_makehuman_api_project_mhapi.html!/LINK!
* [16:47:02] <Doctor_Hell_> Also Joel has already created this:!LINK!https://bitbucket.org/joepal1976/makehuman-api-project/overview -- https://bitbucket.org/joepal1976/makehuman-api-project/overview!/LINK!
* [16:48:52] <Doctor_Hell_> at the moment, you can just post a list of wished api in the issue 534
* [16:49:16] <Doctor_Hell_> we want to start the API in few weeks..they are fundamental, in order to have more contributors...
* [16:51:05] <Thanasis> oh, boy. I want to clean up this code!LINK!https://bitbucket.org/joepal1976/makehuman-api-project/commits/aa5c12953fb2c8a1723b21bb0b7d90667653d615 -- https://bitbucket.org/joepal1976/makehuman-api-project/commits/aa5c12953...!/LINK!* Go for it? [RWB] :)
The Doc_Hell Diagram (green and red arrows that even Glynn couln't understand)
[Summary - concentrate on green arrows not red arrows to get the big picture]
* <Doctor_Hell_> this is an example of bad diagram:!LINK!https://www.dropbox.com/s/v3waacufp9pyx1u/mouse_event.png?dl=0 -- https://www.dropbox.com/s/v3waacufp9pyx1u/mouse_event.png?dl=0!/LINK!
* [16:52:48] <Thanasis> well, in your shape, the actual thing is about the green arrows
* [16:53:19] <Thanasis> the red arrows could have been implemented in hundreds of different ways
* [16:53:44] <Thanasis> but the important is their result, the green arrows
* [16:53:53] <Doctor_Hell_> talking about how to draw the objects?
* [16:54:26] <Thanasis> well, my idea was, do two shapes
* [16:54:36] <Thanasis> the first without code
* [16:55:10] <Thanasis> only showing the 5 steps like I explained above, ie, the green arrows
* [16:55:28] <Thanasis> the second can explain each step in detail using the red arrows
* [16:55:50] <Thanasis> but in any case the definition is the following
* [16:56:04] <Thanasis> an event is, you send the name of a method to someone
* [16:56:14] <Doctor_Hell_> ok...but also we have the description written by Manish. I'll show you it tomorrow
* [16:56:21] <Thanasis> and that someone executes that method of theirs
* [16:56:47] <Thanasis> sure, there are many ways to describe it
* [16:57:00] <Doctor_Hell_> I hope we can find the best one
* [16:57:07] <Thanasis> I think that they all match though in some certain key points
* [16:57:52] <Thanasis> if these are filtered out, the explanation may be more simple
And touching on API ideas ...
* [16:59:09] <Doctor_Hell_> since the core is too complex for average python programmers
* [16:59:36] <Thanasis> yes... perhaps the code could be organized in tiers.
* [17:00:00] <Thanasis> core, classes, plugins, scripts
* [17:00:27] <Doctor_Hell_> ah you are talking of the current code, not the simplified api
* [17:00:54] <Doctor_Hell_> yes, it's a good idea..but what group under "core" ?
* [17:01:25] <Thanasis> theapplication and its interfaces(ie.communication with the system and devices. QT, GL etc.)
* [17:01:59] <Thanasis> classes are abstract, they use the application by calling its methods
* [17:02:35] <Thanasis> the application uses the interfaces (QT, GL.these are actually harder than the application andcould be a sepparate tier)
* [17:02:54] <Thanasis> thepluginsuse the classes to create objects
* [17:03:26] <Doctor_Hell_> I see some possible confusion because:
* [17:04:24] <Doctor_Hell_> - not all core modules are into core folder (for example qtui and qtgui are in libs)
* [17:04:49] <Doctor_Hell_> - Classes are everywhere
* [17:05:07] <Thanasis> yes, libs folder consists of both core and classes... indeed
* [17:05:23] <Thanasis> andinterfacestoo
* [17:06:51] <Thanasis> but in general, this separation exists somehow. I'm not sure how, but the past programmers instinctively created it, perhaps for better manageability
* [17:08:14] <Thanasis> ie. Human is a class, Material too, Armature (probably making name wrong again), and to function I observe that they use callbacks of Application
* [17:08:38] <Thanasis> They never use interfaces directly
* [17:09:46] <Thanasis> Even for drawing the human, it is the Application that will give the Human's object3d to OpenGL, not the Human directly
* [17:10:31] <Thanasis> and plugins use classes ie. they use the callbacks that Human, Material etc. have
* [17:11:08] <Doctor_Hell_> Do you mean abstraction classes?
* [17:13:27] <Doctor_Hell_> Thanasis: about new API:!LINK!http://bugtracker.makehuman.org/issues/534 -- http://bugtracker.makehuman.org/issues/534!/LINK!
* [17:13:42] <Doctor_Hell_> and!LINK!http://bugtracker.makehuman.org/projects/makehuman/wiki/Abstraction_API_for_plugins -- http://bugtracker.makehuman.org/projects/makehuman/wiki/Abstraction_API_...!/LINK!
* [17:13:57] <Doctor_Hell_> Feel free to add wished api calls
=== Q & A with Glynn Clements ===
Question: For an event when user clicks on a tab, Tabs class method tabChanged is called.
QTabWidget documentation.There is no such method.
Response:
The tabChanged method is defined for qtgui.TabsBase (and overridden for qtgui.Tabs).
Both qtgui.Tabs and qtgui.TabBar inherit from qtgui.TabsBase.
Tabs inherits from both TabsBase and QTabWidget while TabBar inherits from both TabsBase and QTabBar.
Both QTabWidget and QTabBar define the currentChanged signal, which is emitted whenever the current tab changes.
The TabsBase initialiser connects this signal to the tabChanged method (lib/qtgui.py:109):
class TabsBase(Widget):
def __init__(self):
...
self.connect(self, QtCore.SIGNAL('currentChanged int)'), self.tabChanged)
==========================================================
Question: is it true that qtui module: low level module, that handles signals directly from QtCore, QtGui and QtOpenGL?
Response:
qtui defines the classes for the application (QApplication subclass), main window QMainWindow subclass), drawing canvas (QGLWidget subclass), and some associated support classes. In other words, it implements the high-level UI, or at least the aspects which are tied to Qt.
Question: is it true that qtgui module: low level module, that define the basic widgets of the GUI as buttons, radiobuttons, etc..
Response:
Yes; qtgui is essentially a compatibility layer between the Qt widget classes and the legacy MH GUI toolkit. The classes provide methods which more closely mimic the behaviour of original gui3d widgets. Qt events are translated to MH events3d events.
Question: Is it true that gui3d module: high level module, that define the principal public classes of MakeHuman: Application, Category, TaskView and View.
Response:
This is what's left of the legacy MH GUI toolkit. Before the move to Qt, everything was a "View". Now it's just the high-level containers (Application, Category, Task) which exist as somewhere to put event handlers.
Question: What is the purpose of the module guicommon.py? Looking at the module name, it appears to be a sort of library for the GUI functions, but it's a completely different thing. What is it really?
Response:
Object used to be part of gui3d. Its primary function is to be the base class for Human. It's the other main subclass of events3d.EventHandler (the first being gui3d.View).
It's not really accurate to call it a "wrapper" around Object3D (although it can have instances of both module3d.Object3D and object3d.Object3D as members).
One of the main differences between guicommon.Object and module3d.Object3D is that the latter is a single mesh, while the former has up to four meshes (all of type module3d.Object3D): the base (or "seed") mesh, a proxy mesh, a subdivided mesh, and a subdivided proxy mesh.
It [guicommon.py or guicommon.Object ??RWB] also contains an object transformation (location, rotattion, scale) [method?], and optionally a display mesh (object3d.Object3D). As a subclass of EventHandler, it [guicommon.Object ??RWB] provides mouse handlers which propagate the event to the object's view (these are overridden for the Human within MHApplication.loadMainGui).
Question: G.app is the singular mhmain.MHApplication instance; the callEvent method (inherited from event3d.EventHandler) will end up calling G.app.onMouseDownCallback. How the function callEvent end up calling G.app.onMouseDownCallback?
Response:
"direction" will be either onMouseDownCallback or onMouseUpCallback. Note the "Callback" suffix.
So typical event flow for clicking on the human model is:
G.app.mainwin.canvas.mouseUpDownEvent ("onMouseDownCallback")
[Canvas.mouseUpDownEvent]
G.app.callEvent("onMouseDownCallback") [EventHandler.callEvent]
G.app.onMouseDownCallback() [gui3d.Application.onMouseDownCallback]
G.app.selectedHuman.callEvent('onMouseDown', event) [EventHandler.callEvent]
G.app.selectedHuman.onMouseDown()
[local function in MHApplication.loadMainGui]
G.app.currentTask.callEvent("onMouseDown", event) [EventHandler.callEvent]
G.app.currentTask.onMouseDown() [View.onMouseDown]
G.app.currentCategory.callEvent("onMouseDown", event) [EventHandler.callEvent]
G.app.currentCategory.onMouseDown()
[View.onMouseDown]
G.app.callEvent("onMouseDown", event) [EventHandler.callEvent]
G.app.onMouseDown() [MHApplication.onMouseDown]
Notes:
G.app.currentTask.parent == G.app.currentCategory
G.app.currentCategory.parent == G.app
Question: is the eventType string (also called 'direction') originated by QT?
Response:
No. "direction" is just so that code which is common to both mouse press and mouse release events can go into a single method (mouseUpDownEvent) rather than duplicating it in mousePressEvent() and mouseReleaseEvent(). Those functions are identical except for the name of the event passed to callEvent.
Bear in mind that self.callEvent("onMouseDown", event) is almost the same as self.onMouseDown(event), except that callEvent forces a redraw after the event has been dealt with, and has some support for logging and profiling. Once you strip that away, the guts of callEvent() is just:
method = getattr(self, eventType)
method(event)
======================================================================
Question: Can the modularization of the code can be improved?
Response:
Modularisation is already quite good. Too much of it can make the code harder to understand.
Currently, we try to avoid importing OpenGL or Qt modules (directly or indirectly) into modules which don't inherently depend upon them (e.g. guicommon.Object imports object3d locally in the attachMesh and detachMesh methods, so it only gets imported if you actually need to render the object).
TODO ACTION. One minor point which I noticed: lib/camera.py imports glmodule solely for the queryDepth() call in convertToWorld2D (the Z coordinate is obtained by retrieving a value from the depth buffer using the X,Y coordinates). This should probably be a local import in that method, so that camera.py could be used in e.g. import/export utilities.
==========================================================================
Question: [Referring to DocHell's red and green diagram (!LINK!https://www.dropbox.com/s/v3waacufp9pyx1u/mouse_event.png?dl=0] -- https://www.dropbox.com/s/v3waacufp9pyx1u/mouse_event.png?dl=0]!/LINK!]
Response:
I have no idea; I can't follow that [diagram]. It would probably help if you simply ignore CallEvent(), and treat object.callEvent('method',event) as just object.method(event).
The two factors which make following the flow slightly complicated are:
Methods aren't always defined within the class used to create an object, but may be inherited from one of its base classes.
Event handlers may be dynamically added to an object with the mhEvent method (which is usually invoked using Python's decorator syntax). This is done for the Human object in MHApplication.loadMainGui():
@self.selectedHuman.mhEvent
def onMouseDown(event):
....
If you aren't familiar with the decorator syntax, the above is equivalent to:
def onMouseDown(event):
...
self.selectedHuman.mhEvent(onMouseDown)
which in turn boils down to:
def onMouseDown(event):
...
self.selectedHuman.onMouseDown = onMouseDown
=================================================================================
Question: Could you provide an explanation of what a weak reference is? How might this impact MakeHuman?
Response:
[Jonas Hauquier ] A weak reference, one that is not accounted for by the garbage collection. Garbage collection removes objects from memory that have no pointers to them anymore. Weakrefs are not counted among those, so if the object has only weakrefs pointing to it, and not real pointers, it will be removed anyway. This is to make sure that object A and B that always point to each other, are not kept in memory just because they keep referencing each other (I believe the garbage collection does not do expensive graph traversals to check what is still referenced by the active context).
[Glynn Clements] Sort of. Python uses both reference-counting (which can't handle circular references) and reachability-based garbage collection (which can). If an object's reference count reaches zero, it will be finalised immediately. But an object with a non-zero reference count can still be finalised if it can be determined that it isn't reachable during a garbage-collection sweep.
However: the garbage collector won't attempt to finalise reference cycles if any of the objects in the cycle have a __del__ method, as it can't determine a safe order in which to execute them. Instead, it adds them to a list, accessible as gc.garbage. Application code can inspect this list, manually finalise the objects (which should break the cycles), then remove them from the list (otherwise their presence in gc.garbage will itself constitute a reference).
It's possible to have the garbage collector report such cases using gc.set_debug(gc.DEBUG_UNCOLLECTABLE).
Only a few MH classes contain __del__ methods. These will only present a problem if the object itself is part of a cycle (i.e. contains references to "complex" objects which themselves contain references which could lead back to the original object).
"Leaf-node" classes such as Texture and Shader shouldn't present a problem unless their creators attach additonal references to them. This may be an issue for e.g. qtgui.Slider and qtgui.RadioButton, as these have __del__ methods and will naturally create circular references. Use of weakref may be advised here. Similarly for queue.Thread. SceneItem in plugins/7_scene_editor.py may also be a problem.
=============================================================================
Question: Could you clarify wherther the following acurately describe the use of decorators?
A basic decorator is a function that:
1) Gets a function "A" as argument
2) Modifies the behavior of "A"
3) Returns a "decorated" version of "A"
Response: Correct.
Question: Topic: Decorators and side-effects. When is a decorator not about generating a function? So, if the above accurately descibes a decorator, consider the code:
@self.selectedHuman.mhEvent
def onMouseDown(event):
This should translate:
onMouseDown = self.selectedHuman.mhEvent(onMouseDown)
One would expect that using mhEvent as decorator, it returns a function, but instead, it returns None:
def mhEvent(self, eventMethod):
self.attachEvent(eventMethod.__name__, eventMethod)
How can it be used as decorator?
Response:
Because the returned "function" isn't actually used anywhere. The definition is local to loadMainGui(), which doesn't reference the functions, so the fact that e.g. onMouseDown is None within loadMainGui() doesn't matter. The mhEvent() method is used for its side-effects, not its return value. It attaches an event to the selectedHuman. It is equivalent to:
self.selectedHuman.attachEvent(onMouseDown.__name__, onMouseDown)
==============================================================================
3446713e9110719ac2dbaa3d155dbf20848b50be
Documentation:Automatic animation
3000
333
874
2016-05-27T15:36:00Z
Joepal
14
Created page with "http://www.youtube.com/embed/HODnmb0WzN8 Design a character in MakeHuman and export him in the MHX format. Import the character into Blender using the MHX importer. Make sure..."
wikitext
text/x-wiki
http://www.youtube.com/embed/HODnmb0WzN8
Design a character in MakeHuman and export him in the MHX format. Import the character into Blender using the MHX importer. Make sure that the MakeWalk plugin is enabled. It is found in the MakeHuman category. Select the character and press the Load And Retarget button in the main MakeWalk panel. Select a bvh file in the file selector.
[[File:au100-load.png]]
The animation is loaded onto the character. In this case the character is running in a figure eight pattern.
[[File:au110-loaded.png]]
However, the animation has many imperfections. This is perfectly normal. Loading and retargeting the animation is only the first step. To obtain an acceptable result, the animation must be tweaked. Doing this manually is a major undertaking, which possibly requires more effort than animating by hand. Fortunately, MakeWalk has several tools for automating this task. The editing tools are found in the MakeWalk: Edit Actions panel. The picture below shows frame 121 before and after editing.
[[File:au115-frame0121.png]]
The first problem is that the arms and hands penetrate the body multiple times. This probably happens because the original actor had a different body shape that the present, quite muscular, character. At some frame where the problem is apparent, select the upper arms and rotate them out so they are safely away from the body. With both upper arms selected, press Shift Animation in the Global Edit section. After some time, the arms have been rotated for the entire animation.
[[File:au120-shift-arms.png]]
We will fix floor penetrations by transfer the FK animation to the IK bones. The MHX rig has a reverse foot setup, which allows the foot to rotate around the toe, ball, and heel. The reverse foot and toe bones are completely fixed by the corresponding FK bones, but the IK effector can be placed arbitrarily, as long as it ends at the toe tip. The transfer tool uses this freedom to make the IK effector perfectly horizontal, provided that the toe is below the ball and heel.
[[File:au125-revfoot.png]]
To use this feature we must ensure that the toe is below the ball of the foot. In the foot section, press the Offset Toes button. This changes the direction of the toe bones so the toe tip is below the ball in global space throughout the animation.
[[File:au130-toes.png]]
The previous step causes some awkward bending of the toes when the heel is the lowest point. The toe should never be bend down in local space. Since the local X axis points to the left, this means that the toe's local X rotation must not be positive. In the graph editor, select all keyframe points with positive X rotation, scale the Y coordinates to zero (S Y 0) and move the points down to the Y axis (G Y).
[[File:au140-bend-toes.png]]
We will employ a tool that lifts the feet to the floor if they are below, but the tool does nothing if the foot is already above the floor. To prevent that the foot ever floats above the floor, select the hip bone, move it slightly down, and press Shift Animation again. The foot should be on or below the floor at every frame that it is supposed to rest on it.
[[File:au150-shift-down.png]]
Before we transfer the animation to the IK bones, we will make it loop seamlessly. Looping takes more time when there are several bones with location F-curves, and it may cause feet to move away from the floor. We find two keyframes where the character is in similar positions; frames 97 and 173 are a good pair. Set timeline markers at these frames, and change the animation range to 97-172; since the poses at 97 and 173 will become identical, we must make sure that it is only included once.
In the Loop And Retarget section, set the Blend Range to 10, enable the Loop in place checkbox, and press Loop F-curves. Loop in place must be enabled, because we want the location to be the same in the beginning and end of the animation.
[[File:au160-same-pose.png]]
The animation in the beginning and end of the selected time range (between the two selected time markers) is blended, and the poses at frames 97 and 173 become identical.
[[File:au170-pose-looped.png]]
Next we transfer the FK animation to the IK bones. With some bone selected, press the Transfer FK => IK button in the Inverse Kinematics section. Make sure that the Legs checkbox is enabled and that Arms is disabled.
[[File:au180-transfer-ik.png]]
In the Feet section, press the Keep Feet Above Floor button. At every keyframe where a leg IK effector is below the floor, it is lifted up to rest on it.
[[File:au190-above-floor.png]]
Since we moved the hips down before, the character will be kneeling slightly. To compensate for that, we can move the hips up slightly and press Shift Animation again. However, make sure to not move them up too much, lest the distance between the hip and the foot becomes longer than the leg length.
[[File:au200-shift-up.png]]
The camera is also animated to keep the character always in sight. Make sure that the camera animation is also periodic.
[[File:au210-camera-action.png]]
Finally the scene was rendered to png files and assembled in the video sequencer. The final clip consists of two copies of the raw animation (directly after Load And Retarget), three copies of the edited animation, and some stills.
[[File:au220-video.png]]
718b604e907840354de6cd79c0e1412bf2832d45
Documentation:Basemesh
3000
657
2116
1950
2021-05-29T09:21:54Z
Punkduck
38
wikitext
text/x-wiki
In this chapter the base mesh is explained. The base mesh is the standard body mesh used in MakeHuman.
MakeHuman displays a visible mesh on the screen but inside it works with additional geometry to allow a better handling of clothes, to have helping geometry for bones etc.
[[File:Basemesh1.png]]
The complete mesh has an exact number of vertices and each vertex has a number, starting with number 0 to 13379 for the body and then continues to 19157 for the helper-geometry.
These are current number ranges:
{|class="wikitable"
!colspan="4"|Vertex numbers
|-
!name !! start !! end || purpose
|-
|body || 0 || 13379 || visible mesh
|-
|helper-tongue || 13380 || 13605 || weighting and deforming the tongue
|-
|joints || 13606 || 14597 || used to connect bones to
|-
|helper-x-eye || 14598 || 14741 || weighting and deforming the eyes
|-
|helper-x-eyelashes-y || 14742 || 14991 || weighting and deforming the eyelashes
|-
|helper-lower-teeth || 14992 || 15059 || weighting and deforming the lower teeth
|-
|helper-upper-teeth || 15060 || 15127 || weighting and deforming the upper teeth
|-
|helper-genital || 15128 || 15327 || weighting and deforming the male genitals
|-
|helper-tights || 15328 || 18001 || weigthing and deforming clothes near the body
|-
|helper-skirt || 18002 || 18721 || weighting and deforming a skirt
|-
|helper-hair || 18722 || 19149 || weighting and deforming the hair
|-
|ground || 19150 || 19157 || calculation of difference between root-bone and ground
|}
Internally that means: when a target e.g. resizes an arm, then also the tight-helper must be deformed. If the arm will be longer, some of the cubes for the joints will also be moved.
For a better overview: these are the components of the helper.
[[File:Basemesh2.png]]
The joints are a special helper. These are tiny cubes placed (mostly) inside the body. Each cube has 8 vertices, the median is used e.g. as a start- or end-point for a bone. This allows to determine the bone position inside the body. The following overview shows the joints of the upper body
[[File:Basemesh3.png]]
Some bones do not end in such a cube. The reason: bones can use each vertex available in helper-geometry or body. For the default skeleton there are two different other methods used:
(1) red dots: for e.g. the lowerarm01 and -02 bone the connecting point in the middle is calculated by simply summarizing the start and the end point of the complete lower arm. So this is a special case where rotation only is allowed in radial direction like in reality (simulating the bones ulna and radius of the lower arm).
(2) blue and yellow dots: The bones end directly on a vertex of the skin. Especially for facial expressions the face-bones (simulating muscles) use vertices on the skin directly. The yellow dots are use for the tongue, they end on the tongue helper.
[[File:Facebones.png]]
A few sentences for the standard skeleton here. For most bones the purpose in MakeHuman is simple to understand. The root bone is used to place character and it does not deform parts of the skin. Most of the other bones do. They can rotate and will influence the skin. A little more complicated is the facial region. Here some bones can be rotated and also translated to another location (painted in yellow in the demo picture). All "helper bones" have no own weight groups, they are only used to guide the other bones. And we have four bones which should be left untouched. These I call constant bones.
So in theory when using this in e.g. Blender, the face could be reduced to less bones, but then the location of the yellow bones must be part of the parameters saved. This could be an optimization when you do an animation later.
0cad688d911a6476732bc08f1b1e267e467e1821
1950
1867
2020-11-29T11:11:07Z
Punkduck
38
wikitext
text/x-wiki
In this chapter the base mesh is explained. The base mesh is the standard body mesh used in MakeHuman.
MakeHuman displays a visible mesh on the screen but inside it works with additional geometry to allow a better handling of clothes, to have helping geometry for bones etc.
[[File:Basemesh1.png]]
The complete mesh has an exact number of vertices and each vertex has a number, starting with number 0 to 13379 for the body and then continues to 19157 for the helper-geometry.
These are current number ranges:
{|class="wikitable"
!colspan="4"|Vertex numbers
|-
!name !! start !! end || purpose
|-
|body || 0 || 13379 || visible mesh
|-
|helper-tongue || 13380 || 13605 || weighting and deforming the tongue
|-
|joints || 13606 || 14597 || used to connect bones to
|-
|helper-x-eye || 14598 || 14741 || weighting and deforming the eyes
|-
|helper-x-eyelashes-y || 14742 || 14991 || weighting and deforming the eyelashes
|-
|helper-lower-teeth || 14992 || 15059 || weighting and deforming the lower teeth
|-
|helper-upper-teeth || 15060 || 15127 || weighting and deforming the upper teeth
|-
|helper-genital || 15128 || 15327 || weighting and deforming the male genitals
|-
|helper-tights || 15328 || 18001 || weigthing and deforming clothes near the body
|-
|helper-skirt || 18002 || 18721 || weighting and deforming a skirt
|-
|helper-hair || 18722 || 19149 || weighting and deforming the hair
|-
|ground || 19150 || 19157 || calculation of difference between root-bone and ground
|}
Internally that means: when a target e.g. resizes an arm, then also the tight-helper must be deformed. If the arm will be longer, some of the cubes for the joints will also be moved.
For a better overview: these are the components of the helper.
[[File:Basemesh2.png]]
The joints are a special helper. These are tiny cubes placed (mostly) inside the body. Each cube has 8 vertices, the median is used e.g. as a start- or end-point for a bone. This allows to determine the bone position inside the body. The following overview shows the joints of the upper body
[[File:Basemesh3.png]]
Some bones do not end in such a cube. The reason: bones can use each vertex available in helper-geometry or body. For the default skeleton there are two different other methods used:
(1) red dots: for e.g. the lowerarm01 and -02 bone the connecting point in the middle is calculated by simply summarizing the start and the end point of the complete lower arm. So this is a special case where rotation only is allowed in radial direction like in reality (simulating the bones ulna and radius of the lower arm).
(2) blue and yellow dots: The bones end directly on a vertex of the skin. Especially for facial expressions the face-bones (simulating muscles) use vertices on the skin directly. The yellow dots are use for the tongue, they end on the tongue helper.
871abf4ec8b889e1890a83b2b09d5063cef54439
1867
2020-09-13T14:06:50Z
Punkduck
38
Created page with " In this chapter the base mesh is explained. The base mesh is the standard body mesh used in MakeHuman. MakeHuman displays a visible mesh on the screen but inside it works wi..."
wikitext
text/x-wiki
In this chapter the base mesh is explained. The base mesh is the standard body mesh used in MakeHuman.
MakeHuman displays a visible mesh on the screen but inside it works with additional geometry to allow a better handling of clothes, to have helping geometry for bones etc.
[[File:Basemesh1.png]]
The complete mesh has an exact number of vertices and each vertex has a number, starting with number 0 to 13379 for the body and then continues to 19157 for the helper-geometry.
These are current number ranges:
{|class="wikitable"
!colspan="4"|Vertex numbers
|-
!name !! start !! end || purpose
|-
|body || 0 || 13379 || visible mesh
|-
|helper-tongue || 13380 || 13605 || weighting and deforming the tongue
|-
|joints || 13606 || 14597 || used to connect bones to
|-
|helper-x-eye || 14598 || 14741 || weighting and deforming the eyes
|-
|helper-x-eyelashes-y || 14742 || 14991 || weighting and deforming the eyelashes
|-
|helper-lower-teeth || 14992 || 15059 || weighting and deforming the lower teeth
|-
|helper-upper-teeth || 15060 || 15127 || weighting and deforming the upper teeth
|-
|helper-genital || 15128 || 15327 || weighting and deforming the male genitals
|-
|helper-tights || 15328 || 18001 || weigthing and deforming clothes near the body
|-
|helper-skirt || 18002 || 18721 || weighting and deforming a skirt
|-
|helper-hair || 18722 || 19149 || weighting and deforming the hair
|-
|ground || 19150 || 19157 || calculation of difference between root-bone and ground
|}
Internally that means: when a target e.g. resizes an arm, then also the tight-helper must be deformed. If the arm will be longer, some of the cubes for the joints will also be moved.
For a better overview: these are the components of the helper.
[[File:Basemesh2.png]]
The joints are a special helper. These are tiny cubes placed (mostly) inside the body. Each cube has 8 vertices, the median is used e.g. as a start- or end-point for a bone. This allows to determine the bone position inside the body. The following overview shows the joints of the upper body
[[File:Basemesh3.png]]
Some bones do not end in such a cube. The reason: bones can use each vertex available in helper-geometry or body. For the default skeleton there are two different other methods used:
(1) red dots: for e.g. the lowerarm01 and -02 bone the connecting point in the middle is calculated buy simply summarizing the start and the end point of the complete lower arm. So this is a special case where rotation only is allowed in radial direction like in reality (simulating the bones ulna and radius of the lower arm).
(2) blue and yellow dots: The bones end directly on a vertex of the skin. Especially for facial expressions the face-bones (simulating muscles) use vertices on the skin directly. The yellow dots are use for the tongue, they end on the tongue helper.
eb7c05032ad0aad7fc7a558710d91e68e78f7e03
Documentation:Big dump from drupal
3000
8
42
2015-07-01T10:03:42Z
Joepal1
1
Semi-processed automated dump from drupal
wikitext
text/x-wiki
== Introduction ==
MakeHuman (MH) is Open Source software (AGPL3.0) for creating lightweight, realistic 3D models of the human form. It is designed to be easy to use and flexible. The models are based upon real data for ethnicity, sex and body type and can produce an almost limitless range of human and human-like forms. The forms can be posed and rendered in the software itself or exported into other softwares for further manipulation.
It is developed by a community of programmers, artists, academics and enthusiasts interested in 3D computer models of human beings.
MakeHuman™ is used to create a 3D mesh with optimized topology representing human beings with a user-controlled mix of characteristics including race, sex, size, muscularity and other features. The models thus created are integrated into one of two typical pipelines or workflows.
In the first one, MakeHuman™ is integrated in a professional pipeline, where the A-posed mesh is exported into a full-featured 3D CGI system such as Blender, Maya, XSI, C4D, Zbrush etc.. in order to be included in complex scenes and renderings, or used for games.
In the second pipeline the mesh is posed and clothed directly in MakeHuman™, then rendered with an external engine, for 2D art or quick demo reel of a character.
This section contains high-level articles that describe the purpose and features of the MakeHuman software.
* Features-- describes the technical features of the program
* Evolution towards a Universal Model Topology: the HoMunculus-- gives an interesting background history of the development of the MakeHuman model
The MakeHuman User Documentation includes articles for installing the software and using it 'out of the box' as well as extending and/or configuring MH for your own purposes. Beginners will want to begin with theInstallationsections for their computer systems and theGUI and Modellingsection for using the program.
=== Legal ===
The MakeHuman License
The MakeHuman license is a split AGPL/CC0 setup.!LINK!/content/license.html -- The full text of the license can be found here!/LINK!. There is also a!LINK!/content/license_explanation.html -- license explanation page!/LINK!.
External Tools Licenses
From time to time the MakeHuman™ Team may release new external tools in various forms. Unless otherwise explicitly stated they are covered by the GNU AGPL 3.
Current tools are:
* MakeTarget scripts for Blenderis distributed under the GNU AGPL 3. The MakeHuman morph target files that it generates are per default not covered by any license, since they are designed by you. However, if you make a morph target based on another pre-existing morph target (or a combination of pre-existing morph targets) you must fulfill the license terms of the pre-existing morph target.
Note that all targets in the MakeHuman base distribution are licensed AGPL and that any target derived from these must also be licensed AGPLunless you get written permission by the author of the target file you derive from.
* MakeClothes script for Blenderis distributed under the GNU AGPL 3. If the user is the original author of the clothes, he is free to choose any license for them.
* MakeWalk script for Blenderis distributed under the GNU GPL 2. The license of output files generated using it is free to determine by the user, except when mocap data was used that enforces a specific license.
* MHX Importer.It is distributed under the GNU GPL 2.
* MakeTarget standaloneis distributed under the GNU AGPL 3. The MakeHuman morph target files that it generates are per default not covered by any license, since they are designed by you. However, if you make a morph target based on another pre-existing morph target (or a combination of pre-existing morph targets) you must fulfill the license terms of the pre-existing morph target.
Note that all targets in the MakeHuman base distribution are licensed AGPL and that any target derived from these must also be licensed AGPLunless you get written permission by the author of the target file you derive from.
See the!LINK!http://www.gnu.org/licenses/agpl-3.0.html -- GNU Affero General Public License!/LINK!and!LINK!http://www.gnu.org/licenses/gpl-2.0.html -- General Public License!/LINK!for more details
=== MakeHuman™ and its Purpose ===
MakeHuman™ is a tool designed to simplify the creation of virtual humans using a Graphical User Interface, also commonly referred to as a GUI. This is a specialized branch of the more general subject of 3D modelling. The MakeHuman Team is focused on this specific branch of the broader subject in order to achieve the best possible level of quality and ease of use in that area. The ultimate goal is to be able to quickly produce a wide array of realistic virtual humans with only a few clicks of the mouse and be able to render or export them for use in other projects.
!IMAGE!Pictures/gui_0.png!/IMAGE!
Humans are created through the manipulation of controls that allow for the blending of different human attributes to create unique 3D human characters. The controls are intended to provide the user with a simple way to create characters that give expression to the widest possible range of human forms.The controllable attributes are broken into two groups: macro and detail. The macro targets deal with overall human characteristics like gender, age, height, weight and ethnicity. The detail targets allow for the character to be further refined by focusing on the low level details ofsuch things as the eye's shape or finger's length.
TheMakeHuman™project strives to provide a complete tool that allows for the management of all things needed to create realistic virtual humans. This includes some tools that have not yet been created or are in the early stages of development for things like poses, animation cycles, managing facial expressions, hair and clothes.With the exception of modelling, most of these tools follow a "point and click" approach by using the MakeHuman™'s Library. Via the MH Library, users preview and load poses, animation cycles, facial expressions, hair, shoes and clothes onto their character. MakeHuman™ also offers tools for exporting virtual humans to other software (such as the Blender 3D modeling suite) where further refinements can be made.
=== Short and Long Pipeline ===
Makehuman was created to provide everyone with specialized software that strives to be the state of the art in a very specific field: the virtual human. The goal is to see it used in two different pipelines or workflows.
==== Short Pipeline ====
The short pipeline is intended for quick character prototyping and for 2D art. The user defines the character, adds clothes, hair, a pose and expressions, by selecting them from our libraries, and running the render to obtain an image of the character (future goal: indistinguishable from a real photo of him).This output can be used as a character preview, fineart, blueprints, storyboards, comics, illustrations, etc.. No special skill is required from the user.
==== Long Pipeline ====
The long pipeline is intended to create a 3D character in rest pose for export to external software (Blender, Maya, Max, C4D, etc..) in order to be tweaked, animated and rendered. Another common usage of the rest-posed character is for games. The long pipeline requires the user to have professional skills and a good working knowledge of the external tools chosen to produce the desired final product.
=== Professional mesh topology ===
==== The Homunculus ====
The principal aim of MakeHuman project is to develop an open source application capable to create realistic tridimensional humans.
Since the early release in 2001, by pursuing this aim the MakeHuman Team have developed a model that can combine different anatomical parameters to transition smoothly from the infant to the elderly, from man to woman and from fat to slim. The vast wealth of potential combinations provides the artist an extraordinarily broad range of possibilities for artistic expression but presents many problems to the development team.
!IMAGE!Pictures/age_1.png!/IMAGE!
In particular it adds to the classical problems of 3D modelling (number of polygons, square or triangular faces, etc.) the problems of constructing a super mesh that can be transformed into any form of human while being sufficiently optimised to be able to be manipulated on desktop machines, yet still producing a professional quality of output. These discussions resulted in agreement that the initial mesh should occupy a middle ground, being neither pronounced masculine, nor pronounced feminine, neither young nor old and having a medium muscular definition. An androgynous form, the HoMunculus.
!IMAGE!Pictures/hm01_0.png!/IMAGE!
The Homunculus 00 (2002). No male, no female, nor young or old. A perfect neutral body.
==== Evolution of the topology ====
The current MakeHuman mesh has evolved through successive iterations of the project, incorporating lessons learned, community feedback and the results of considerable amounts of studies and experimentations.
The current version, known as the ‘Homunculus 08’ comprises a state of the art universal humanoid model, including:
* Light and optimized for subdivision surfaces modelling (14766 faces).
* Quads only. The human mesh is completely triangles free.
* Optimized for animation and sculpting (Zbrush, Mudbox)
* MInimal number of poles
* Max number of edges admitted for a pole: 5
!IMAGE!Pictures/heads_0.png!/IMAGE!
The Homunculus evolution through the heads
=== Homunculus releases ===
* The first prototype of an universal mesh (head only) was done in 1999 in the makeHead script, and then adapted for the early MH (2000),
* The Homunculus00, was realized by Enrico Valenza in 2002.
* The Homunculus01 (or K-Mesh) was modelled by Kaushik Pal in 2005
* The Homunculus02 was modelled by Manuel Bastioni (Z-Mesh);
* The Homunculus03 was modelled by Gianluca Miragoli (aka Yashugan) in 2007 and builds upon the experience gained on the preceding versions (Y-Mesh)
* The Homunculus04 build upon the previous one by Gianluca Miragoli and Manuel Bastioni
* The Homunculus05 build upon the previous one by Gianluca Miragoli.
* The Homunculus06 released in 2010 (artists: Waldemar Perez Jr., André Richard, Manuel Bastioni).
* The Homunculus07 completely remodelled by Manuel Bastioni in 2011
* The Homunculus08 remodelled from scratch by Manuel Bastioni in 2013
!IMAGE!Pictures/wip03_0.png!/IMAGE!
An image from the "Making of" the Homunculus 08
==== Alternative topologies ====
The base mesh is capable to be morphed practically in any human character, but in some cases it is preferred to have a very specialized topology. For this reason, since the version 1.0 alpha 7, MakeHuman includes a function to change the mesh of the character, just selecting it from a simple chooser.
The makeHuman team is studying the requirements needed for different purposes (animation, games, crowd, closeups, etc..) in order to create a database of professional topologies.
!IMAGE!Pictures/topologies.png!/IMAGE!
== General overview ==
Brief description of the various components which makeup the Makehuman Graphical User Interface (GUI).
=== Install MakeHuman™ ===
==== Installable versions of MakeHuman™ are available for Windows, Mac OS X and Linux. ====
The installable versions of the current!LINK!http://www.makehuman.org/content/download_makehuman_102.html -- stable !/LINK!!LINK!http://www.makehuman.org/content/download_makehuman_102.html -- release!/LINK!of MakeHuman are available for downlaod, as are!LINK!http://www.makehuman.org/content/download_nightlybuild.html -- nightly builds!/LINK! representing the latest deveopmental updates (not guaranteed stable) for the same platforms.
==== System Requirements ====
You will need about 250 MB of disk space. In order to use some realtime materials and obtain the best from the internal rendering engine, it's required an average quality graphic card, produced after the year 2006. In general, your graphics card should support OpenGL Shading Language (GLSL) version 1.2 or above. There have been reports that the model colors are corrupted on some older Intel Graphics cards (often appearing blue and black). If you experience this, a possible work-around is to start MakeHuman™ with the "-noshaders" command line switch. On Windows, this switch can be added to your shortcut.
==== Choice of Installation Directory ====
The preferred install location location for MakeHuman is a directory simply named "MakeHuman", but in practice you can use another meaningful name. if it is constructed of ASCII characters. On Windows, C:\Makehuman would make a good choice, and on Linux-alike OS's ~/MakeHuman would make a good choice. Program data is written to the user's home directory by default, and not to the program install directory. Thus, it is not essential that users have write privledges to the program install directory.
One caution on Windows systems is that the installation directory should not contain non-ASCII characters as this has been reported to cause problems for some users. This also implies that if your username includes non-ASCII letters that the desktop and Docuemts folders will not be appropriate places for installation because they would result in a path containing non-ASCII cahracters [e.g., C:\users\Åke\MakeHuman or C:\users\Desktop\Åke\MakeHuman are likely to cause problems).
==== Windows ====
Download the zip file (or the installer, if available) from the from the download page (!LINK!http://makehuman.org/content/download.html -- http://makehuman.org/content/download.html!/LINK!).
* Installer (not available yet): just run it. The application will be accessible from the Start menu.
* Zip arhive: just to unzip it where you prefer, and double click on makehuman.exe to start the application.
==== Mac OS X ====
Download and run the installer (or the zip file) from the from the download page (!LINK!http://makehuman.org/content/download.html -- http://makehuman.org/content/download.html!/LINK!). Once downloaded, mount the disk image and drag the MakeHuman app into your Applications folder. MakeHuman™ supports Snow Leopard and newer.
==== Linux ====
Installers are avaiaible for debian (E.g Ubuntu, Debian etc.) and rpm based distributions (E.g Red-hat, Suse etc.). Please use the appropriate package for your distribution.
If you do not want to use the prebuilt packages or are having trouble with the packages refer to "Installing from source" below.
==== Installing from source ====
If you want to install from source or are having trouble with the prepackaged binaries; Makehuman provides compressed source packages. These will work on all supported platforms provided all dependencies are satisfied. To execute MakeHuman simply run makehuman.py located in your unzipped makehuman source directory.
For dependencies and libraries, please read the section "!LINK!http://www.makehuman.org/doc/node/libraries_and_build_procedures.html -- Libraries and build procedures!/LINK!".
=== The Interface and basic functions. ===
==== An Interface Overview: ====
!IMAGE!Pictures/interface-labelled_new.png!/IMAGE!
The application user interface comprises of the various elements. The core elements are :
1) the toolbar with its various partitions.
2) The tabs and sub-tabs which allow you to navigate the application, and utilise its various features in a coherent easy to understand manner.
3) The 3D view window which allows you to view the human as it is morphed, posed etc.
4) The left and right option panels whose options change depending upon the tab/sub-tab you are in.
5) Finally there is a progress Bar which shows the progress of an operation and the Information Bar providing useful information.
Note:Different views may contain different options. These options are described in more detail in the appropriate heads in the rest of the documentation.
=== The Toolbar ===
The "Main Toolbar" is actually made up of six separate partitions.
!IMAGE!Pictures/the_toolbar.jpeg!/IMAGE!
They are:
1) Files partition 2) The Edit partition 3) The View partition 4) The Symmetry partition 5) The Camera partition
=== Files partition ===
!IMAGE!Pictures/the_toolbar-file.jpeg!/IMAGE!
This partition provides shortcut buttons that deal with saving or loading files (Save, Load, Export).
The save button performs the same action as pressing the Files tab and then the Save tab when there is no filename specified. If the file was given a name earlier and saved once this button performs a quick save over the file specified earlier.
The Load button takes you to the file loading window where you can choose the file to load.
The Export button takes you to the export tab and allows you to export your current MakeHuman project to one of the variety of export formats the MakeHuman program supports. Supported formats include mesh formats such as Filmbox (fbx),Wavefront obj, Sterolithography (stl), rig/rigging related formats such as Biovision Hierarchy and various maps such as Light Maps, and UV maps.
Load, Save and Export options are explained in more detail!LINK!http://www.makehuman.org/doc/node/load_save_and_export.html -- here!/LINK!.
=== The Edit partition ===
!IMAGE!Pictures/the_toolbar-undoredo.jpeg!/IMAGE!
The Edit partitionof the toolbar, provides shortcut buttons that deal with editing actions.
The Undo button is to undo the last action that has been performed. Undo can be pressed to cancel actions until you have undone all of the actions taken during your current MakeHuman session.
The Redo button is related to the Undo button and will restore the last action that has been undone. Redo can be pressed until all undone actions performed during the current MakeHuman session have been restored.
The reset button will cancel all actions within the current MakeHuman session and restore the default settings for all MakeHuman controls. This effectively returns your MakeHuman session to the state shown when the program first opens.
=== The View partition ===
!IMAGE!Pictures/the_toolbar-smoothandwire.jpeg!/IMAGE!
The View partitiontoolbar, provides buttons that manage the display mode of the character (Smooth, Wireframe, Background on/off).
Wireframe mode allows you to view the mesh in Wireframe mode like in many other 3D applications.
The Background option allows you to load a background reference image.
The pose button is used for posing. When a rig and pose is active this button is enabled and allows you to toggle between the selected pose and the default rest pose.
The "smooth" is particularly interesting since it subdivides the mesh. The image below shows the mesh smooth and normal, using the wireframe mode. This usesCatmull–Clarksubdivision to create a much more dense smoother mesh.
!IMAGE!Pictures/nsmooth.png!/IMAGE!
=== The Symmetry partition ===
!IMAGE!Pictures/the_toolbar-symmetry.jpeg!/IMAGE!
The Symmetry partitiontoolbar, provides buttons that manage transferring settings applied to one side of the character to the other side of the character so that the character features become symmetrical.
!IMAGE!Pictures/symm.png!/IMAGE!
There are options for right to left symmetry, left to right symmetry and a general symmetry mode. Left to right symmetry applies all changes made on the left side to the right side of the human/character. Right to left symmetry applies all changes made on the right side to the left side of the human/character.
General symmetry mode behaves differently. When it is active all changes made are symmetrical when it is inactive any changes made to any one side affect that one side only. So this mode therefore allows the user to selectively apply symmetry.
In the above image the Left side of the character is made symmetrical with the right side of the character.
=== The camera partition ===
!IMAGE!Pictures/the_toolbar-cameraviews.jpeg!/IMAGE!
The Camera partitionof the toolbar, manages the Camera placement within the scene so that the character can be viewed from different angles and zoom levels. (Front View, Back View, Left View, Right View, Top View, Bottom View, Global Camera, Face Camera and Reset Camera options are available).
=== The help partition ===
!IMAGE!Pictures/the_toolbar-screengrbhelp.jpeg!/IMAGE!
The Help partition, allows you to save a quick screenshot of the view or to access to the help tab.
By default the toolbars are arranged in the order shown above horizontally next to each other along the top edge of the MakeHuman window. The four partition toolbars can each be moved to any area of your screen in Windows by clicking and holding the left mouse button on the left edge of the toolbar and dragging it to the location you desire.
==== The tabs ====
Most of the user controls of the MakeHuman™ application are accessed through the tabs panel. The tabs are organized intoMainTabsandSubTabs.TheMain Tabsoutline the broad category to which functionality belongs and theSub Tabsallow for more fine grained control over various aspects of the main category.ThereforeSub Tabskeep changing based on whichMain Tabhas been selected.
E.g. When you select the "Files" main tab all file associated functions are made accessible via subtabs such as saving, loading and exporting. In the below image Sub Tabs for the "Modelling" main tab are shown.
!IMAGE!Pictures/maintab.png!/IMAGE!
The Primary Tab groups are shown in the image above and from left to right are:
* Files:The Files Tab options provide access to the controls that manage saving, loading and exporting the MakeHuman™ project to or from files.
* Modelling:The Modelling Tab options provide access to the controls that shape and alter the appearance of the MakeHuman™ project model.
* Geometries:. The Geometries Tab options provide access to controls that add new geometries or change the human geometry within the MakeHuman™ project. E.g. Clothes, Eyes, Hair, Teeth, Genitals.
* Materials:The materials available for the human and the additional geometries.
* Pose/Animate:Options for posing animating and rigging a character.
* Rendering:Rendering options using the MakeHuman internal renderer. Currently external rendering is not supported from within the program.
* Settings:Provide options to configure settings of MakeHuman
* Utilities:Provide some additional more advanced utilities. E.g. Material Editor
* Help: The Help Tab's Help option provides access to controls that access the Help and support resources available for the MakeHuman™ project.
==== The sliders ====
MakeHuman is based on parametric modelling, controlled by sliders.
!IMAGE!Pictures/wMgROK6FRzzyQAAAABJRU5ErkJggg==!/IMAGE!
The meaning of each slider is generally self explanatory. Each slider controls the amount of a feature is expressed in the character from its minimum value to is maximum value.
For example, the slider "Age" will change the character from the minimum age, which is about 2 years old, to the maximum age of about 80. When multiple sliders are moved, the values are mixed to form a character that reflects the user's chosen settings using a special interpolation engine.
Each slider can be reset individually with right click on it.
A slider normally moves in increments of 3 or 4 setting values when dragged with the mouse; however, you can place the mouse cursor over the orange portion of the slider and use the mouse scroll wheel to make adjustments in smaller increments of 1.
=== The Interace and File Formats ===
To be added soon.
=== Load Save and Export ===
==== File Access Overview ====
The leftmost section of the Toolbar includes 3 quick action icons: 1) for loading models from native .mhm files; 2) for saving the model as a native .mhm file; and 3) for exporting the model in various formats used by other 3D programs (e.g., dae, .fbx, .stl, .obj).
!IMAGE!Pictures/lse_quick.png!/IMAGE!
For more complete file access support (Load, Save, Export), the Files Tab options provides access to the controls that manage saving, loading, and exporting the MakeHuman™ project to or from files.
!IMAGE!Pictures/lse_tabs.png!/IMAGE!
==== Loading Files ====
Files are loaded using either the Quick Load icon or by directly choosing the File tab and the Load subtab.
!IMAGE!Pictures/load1.png!/IMAGE!
By default, models that have beem saved in MHM format are retrieved from the user directory%HOMEPATH%/makehuman/v1/models/. In the event that you have stored your MHM files in a different directory/folder, you can navigate to that directory/folder using the ellipsis at the top of the center panel. The right hand panel will be populated with thumbnail images of all the MHM files found in the path specified in the path at the top of the center panel. Simply click on the icon for the model you wish to load in the right panel. The model will load and refresh to its completed state in the center panel. You can load different models sequentially, if you wish. They will simply replace the previous model in the center panel. MakeHuman™ is designed so that all loaded models are loaded without changing the camera location. Thus, you can zoom in on a particular area of the body and compare multiple saved models from a single camera perspective.
==== Saving Files (.mhm format) ====
Files are saved using either the Quick Save icon or by directly choosing the File tab and the Save sub tab.
The native file format for saving MakeHuman™ files is the .mhm format. It is important to understand that this format does not save a pixel by pixel representation of your model nor does it save program objects like the actual clothes or hair. Rather, it saves the necessary information for the program to reconstruct your model from its internally defined assets. This means that if you move a .mhm file to another computer that lacks a piece of custom clothing, custom hair, or other custom object, the MakeHuman™ program on the new computer will be unable to provide a complete representation of your model unless you also move the custom asset(s) to the second computer.
By default, model files (in.mhm format) are saved to the user directory %HOMEPATH%/Documents/makehuman/v1/models/. If you wish to save your files in a different location, you can use the ellipsis at the top of the center panel to navigate to the directory/folder of interest. In addtion to the .mhm file, the save operation will generate a thumbnail image of the model as it appears in the viewport at save time. Thus, you will want to move the camera to a meaningful and unique view of the model before saving so that the thumbnail image will be easy to identify visually.
CAUTIONARY NOTE:On windows OS (and perhaps on other OS's) there is a small gliche with saving to non-standard directories in MH 1.0.1 and MH 1.0.2. If you hit the ellipsis with a blank file name, use the system dialog to navigate to your directory of choice, enter a file name without extension in the system dialog, hit save, and watch the dialog close, the file will have been saved using the directory name rather than the filename you provided in the save box of the system dialog. This directory name will now appear to the right of the ellipsis in the center panel. It seems that you can avoid this problem by providing a full file name to the right of the ellipsis before you begin the save procedure, then using the system dialog to navigate to the desired directory, and supplying the same file name a second time in the filename blank of the save dialog. This irratic behavior has been reported, and when fixed, this cautionary note should be removed. (Refer to bug 506 - RWB)
==== Exporting Files ====
!IMAGE!Pictures/export_labelled.png!/IMAGE!
The above illustration explains the typical user interface components of the Export tab. On the right you get to choose what to export be in the mesh, the rig or the maps. In the center you have the 3D preview to preview your model. On the right you have options which keep changing based on what format you have selected in the left panel. On the top below the tabs panel is the “Ellipsis” button which opens a file dialog, a text box to enter the file name of the file and an “Export” button to do the actual export and save the file in the desired format.
Below we outline the three main options in more detail i.e. Mesh formats, rig formats and Maps.
=== Mesh Formats (.dae, .fbx, obj, Ogre3D, .MD5, .stl) ===
Files are Exported using either the Quick Export icon or by directly choosing the File tab and the Export subtab.
The Export window allows you to export your current MakeHuman project to one of a variety of export formats. Supported formats including Collada (DAE) Filmbox (fbx),Wavefront (obj), Id Software (MD5), and Sterolithography (stl).
By default, exported files (regardless of export format) are saved to the user directory%HOMEPATH%/makehuman/v1/exports/(to know yourHOMEPATHon your platform refer to this!LINK!http://www.makehuman.org/doc/faq/where_are_my_makehuman_files_found_ie_where_is_my_home_directory.html -- faq!/LINK!).
As is true for the load and save tabs, the ellipsis can be used to export to a non-standard directory/folder. After selecting a format and export options, type the name of your project in the input box at the center of the Export window and then click theExportbutton at the right hand side of the input box.
MakeHuman, itself, can not read any of the exported formats, so exporting is a one way transfer of information. If you expect to do further refinement of your model, make sure you also save it in .mhm format.
The various export formats differ in the richness of the assets exported:
* Collada Dae (.dae):COLLADA™ is owned by the not-for-profit, open standards!LINK!http://www.khronos.org/ -- Khronos group!/LINK!. It defines an!LINK!https://www.khronos.org/collada/ -- XML-based schema!/LINK!standard for exporting 3D assets. MakeHuman™ is meant to adhere to version 1.4 of the standard. The resulting ASCII format files can become quite large which occassionally limits the use of this format with other programs. By default, MakeHuman™ exports DAE files with y-up, face-z and the decimeter scale chosen. When importing MakeHuman dae files into Blender, be sure to check "import units" at the bottom of the Blender left tool panel if you have not changed the units to meters.
* Wavefront Obj (.obj):OBJ is a very simple format to export the mesh, with vertices, faces and UV coordinates. Originally invented by Alias/Wavefront, all major 3D packages have OBJ importers, so this format allows you to export to the greatest range of applications. However, the character is not rigged but rather a static prop. Wavefront OBJ is a good choice when you need a simple mesh for an external renderer. It comes with an mtl file defining the material.
* Fbx:The default dialect currently used by the MakeHuman™ FBX exporter is FBX 2013 ASCII. Other FBX dialects exist, and if you need one of those dialects, you can use the AutoDesk™ FBX converter (!LINK!http://www.autodesk.com/products/fbx/overview -- http://www.autodesk.com/products/fbx/overview!/LINK!). For example, the Blender importer requires binary FBX files that can be generated in this fashion.
TheOptionsbox contains several export options for each of the formats.The export options available for each format can be selected or deselected by ticking (displayed in orange) and un-ticking off the box in front of them. You can either use the default options for a format or select and deselect options according to your goals and needs. Once an option is changed, it will remain in the changed state until you restart MakeHuman or change it again. They are unaffected by the reset button on the Toolbar.
A common option that is present for all formats isFeet on ground: the origin of the MakeHuman™ mesh is located in the hip area, but if this option is enabled, exported origin is moved to between the feet instead.
Another common option present in almost all formats is the Scale unit: decimeter, meter, inch, centimeter. The internal MakeHuman™ unit is decimeters (the base mesh is 16.8 dm tall), but this is a rather unique choice not shared by other applications. Setting the unit is not essential if the file is exported to a 3D suit like Maya, 3DSMax or Blender, because the character can be rescaled after import. However, Collada files can also be read by other types of applications, where choosing the right scale may be important. In particular, select meters for export to SecondLife.
=== Rig formats (.bvh) ===
MakeHuman currently only supports one rig format.
* Biovision (.bvh):If BVH is selected, it is anticipated that built in animations will be saved to the export directory. As of the MakeHuman™ 1.0.2, there is no offical support for model animation from within MakeHuman™. Thus, selecting this export type is of limited value. If you are interested in using BVH files created by other programs with the MakeHuman model, you may wish to read the documentation on the!LINK!http://www.makehuman.org/sectionview/975 -- MHBlenderTools MakeWalk!/LINK! Addon. A good place to start is the!LINK!http://www.makehuman.org/doc/node/blendertools_makewalk_basic_workflow.html -- MakeWalk Basic Workflow!/LINK!chapter.
=== Maps ( ligtmaps and UV maps) ===
* Lightmap:IfLightmapis checked, a grayscale image of the unwrapped A8 model is saved in the export directory as a 2048 x 2048 .png image.
* UV Map:IfUV mapis checked, a black and white UV unwrapped image of the model mesh on a black background is saved in the export directory as a 2048 x 2048 .png image.
=== Zoom, pan and rotate using the orbital camera ===
==== Orbital camera ====
Starting with MH 1.0 there is a new orbital camera system that replaces the old still camera. This new camera addresses the issues where the old still camera made it hard to focus on body parts, for example hands. In the new system the human never moves. Rather, the camera travels on an imaginary sphere surrrounding the human. The user "mouse picks" a focal point on the human by right clicking, and zooms in and out by dragging. This allows the user to easily rotate around this point to inspect it from all sides.
==== Right-click zoom picking ====
The default zoom button has been changed to the right mouse button and the use of the mouse wheel is depricated.
!IMAGE!Pictures/mh_interface_cam.png!/IMAGE!
Right clicking now serves two purposes, it picks the center of focus based on the location of the cursor when it is positioned over the human, and it lets you zoom in or out by dragging the mouse. Right clicking on the background and not on the human simply makes it zoom in or out straight ahead.
==== Auto-zoom ====
Another advantage of the orbital camera is that it will adapt the viewing distance based on the height of the human.
!IMAGE!Pictures/mh_grid_interface2.png!/IMAGE!
The camera will attempt to keep the current focus point in the center of the screen and maintain the same amount of visibility, independent of whether you are modeling a 1 year old child or a 2.5 m tall giant.
==== Panning ====
The panning function of the camera has been moved to the middle mouse button (which we suspect is not available to all users) to indicate its reduced importance. Panning will be limited based on camera zoom and will even be completely locked when the camera is zoomed back so that the entire human is visible. The reasoning for this is that panning in the context of MakeHuman is only useful to focus on a feature of the human mesh, not for moving the human around in the scene. In fact we discourage excessive use of the panning feature, and encourage you to use the right click zoom picking instead. Panning is only recommended for small corrections to the framing, as it is quite tricky to position the camera center yourself (you will notice this if you try rotating the camera after having panned over a larger distance, it might not rotate around the center you expected).
==== Grid ====
The grid helps with getting a better idea of the proportions of the human, and it provides a point of reference in the world when the camera is moved around.
!IMAGE!Pictures/mh_grid_interface.png!/IMAGE!
There are two detail levels which are activated when the camera is zoomed close enough. The grid adapts to the 'units' setting, which allows for metric and imperial units. The metric grid has subgrids each 2 cm and a main grid at 10 cm (1 dm) intervals, while the imperial grid has subgrids per inch, and a main grid with 1 foot as size.
== Define Human Characteristics ==
This section illustrates the modeling of the human using theparametric approach.
=== Gender, Random, Measure and Custom ===
The gender plugin comprises sliders used to alter gender specific attributes of your human models.
Currently there are 2 categories under this:
* * Breast - this category, as the name suggests, comprises of sliders used to alter attributes related to the human female breasts such as firmness, size, pointiness etc.
* * Genitals - This category comprises of sliders used to alter attributes pertaining to male/female genitalia. Currently only male genitals are supported. (Note: male genitals have to be enabled under Geometries->Genitals for this to have any effect).
Note:For the upcoming MakeHuman 1.1 these sliders have been disabled and the Geometries->Genitals subpanel no longer exists this is because we no longer have male genitals as a seperate mesh. Seperate male and female!LINK!http://www.makehuman.org/doc/node/makehuman_alternative_topologies.html -- alternate topologies/proxies!/LINK!exists with/without genitalia which are to be used instead.
==== Random modifier ====
!IMAGE!Pictures/random2_2_0.png!/IMAGE!
The random modifier is used to auto generate human beings with randomised parameters.
The interface comprises of 3 checkboxes, 2 sliders and 2 buttons.
* Macro checkbox -This checkbox is used to toggle whether "Macro" attributes such as age, tone/muscle, gender are randomised or not.
* Height checkbox -This checkbox is used to toggle whetherthe height attribute is randomised or not.
* Face checkbox -If this is enabled the facial features of the model are randomised.
* Symmetry slider -THis is used to introduce Assymmetry in the model.
* Amount -THis slider is used to control the amount of randomisation of the character done by the random plugin.
* Replace current -usede to replace current model with a new random model.
* Adjust current -this is used to alter the parameters of the current model.
==== Measure Panel ====
!IMAGE!Pictures/measure_1.png!/IMAGE!
The "Measure" tab facilitates the end user in more precise modelling of the human form. With the measure panel you are able to use the sliders as well as specify the units as sliders for more accurate adjustment of proportions. Various proportions can be edited here such as the proportions of the neck, waist , arms, legs and so on. One example of where this would be useful is in modelling characters like Michael Phelps who has an arm span longer than his height making him a better swimmer.
==== Custom modifier ====
!IMAGE!Pictures/customtab_0.png!/IMAGE!
The custom panel is primarily used for "custom morphs". Cusom morphs can be created by you using blender tools and then used inside makehuman. This tab will remain empty unless you make your own targets using blender scripts and import them for use inside blender. This would be used for instance if you wanted to make an "Elven ears" morph inside makeuman for a humanoid character. This tab is more relevant for advanced makehuman users.
=== Using MakeHuman Hairstyles and Clothes ===
==== Hairstyles ====
The default MakeHuman™ humanoid model has no hair. However, you may want your model to have hair and a particular hairstyle. In MakeHuman™, you can choose from the available character hairstyles by first selecting the tabsGeometries > Hair.
!IMAGE!Pictures/hair_1_0_0.png!/IMAGE!
This opens the Hair library window. The Hair library window, as usual, is arranged in three sections. There is a left hand panel (currently empty, but that will include a tag filter), a center preview window showing your current character model, and a right hand panel containing a list of available hairstyles shown as a thumbnail with a label. For the moment, the default hairstyles within MakeHuman™ are only few types. The library will be expanded release by release.
To be able to see your character with an available hairstyle, you must click on the thumbnail image with your mouse.
=== Changing or Removing Hairstyles and Hair ===
You can change an assigned hairstyle with another one by clicking on another thumbnail. For example, you can change the hairstyle "afro" of your model by clicking on the hairstyle "fhair" from the panel of thumbnails. Note that doing this will not combine the two hairstyles.
If you are unhappy with how the chosen hairstyle looks on your model and want to return to the previous state of your model, you can press the Undo button at the top left of the screen. In case you want to return to the original state of the model prior to applying any hairstyles, just find the thumbnail named "None" from the gallery of hairstyles and click on it. Your model will now revert to the state that it had before applying any hairstyles to it.
==== Clothes ====
The default MakeHuman™ model is barefoot and has no clothing on. However, if you would like to dress your model in MakeHuman™ it is possible by simply clicking and loading clothing and shoes from the library of clothing geometry objects that are fitted to the model automatically.
To dress your model press the tabsGeometries > Clothes.
!IMAGE!Pictures/clothes_1_0.png!/IMAGE!
The clothes interface is very similar to the hair one, with some differences:
* Clicking on more items in the right panel will combine them. To remove an item you have to re-click it.
* There is a tag filter in the left panel, useful to navigate through a big library.
* An option called "Hide Faces Under Clothes" is provided to prevent portions of the body from intersecting the clothing and creating holes during animating.
=== Parametric Modelling ===
!IMAGE!Pictures/main_labelled.png!/IMAGE!
The Main controls are accessed by going to the 'Modelling' tab and selecting the “Main” sub-tab.
These controls define the major characteristics of a human being. controls are used to define the character's macro features. The first six corresponding to Gender, Age, Muscle, Weight, Height, Proportions respectively and the last three ( African, Asian, and Caucasian) correspond to ethnicity.
!IMAGE!Pictures/age_0.png!/IMAGE!
* Gender:The gender tab is used to define what gender the human being poseeses. Male or female or a mixture of both characteristics with either being dorminant.
* Age:The age slider is used to alter the age of the human being as a whole. The above image shows human beings at various ages ranging from young to old.
* Muscle:The muscle sider is used adjust the amount of muscle possesed by the human character.
* Weight:The Weight silder is used to adjust the weight of the character. The default setting is the character with average weight. Used along with "Muscle" it can be used to specify the proportion of muscle and fat contributing to the weight.
* Height:The Height slider is used to adjust the height of the characters.
* Proportions:The proportions slider is used to adjust the the proportions, from "uncommon" to "idealistic".
Ethnicity sliders:THe ethinicity sliders (African, Asian, Caucasian) are used to alter the ethnic traits of the human being. These slidersare dependent on each other such that the sum of all three sliders is always 100 percent or a value on 1. This means that an increase in the value of "African" slider will lead to a decrease in the value of the "Caucasian" and "Asian" sliders. This is rational because if for instance a human being is of pure African origin then he/she is expected to possess only African traits whereas if he/she is of mixed decent the character is expected to have a fusion of ethnic characteristics. A human being cannot be hundred percent African and hundred percent Asian.
==== Face modifiers: ====
!IMAGE!Pictures/face_modifier_labelled.png!/IMAGE!
The makehuman face modifiers in makehuman are organised into several categories(eyes, nose , chine etc.) comprising of the morphs pertaining to varios facial features. The morphs available on the right hand side pertain to the category currently active.
E.g. When the Head category is selected all morphs pertaining to the head such as head shape (oval ,round , triangular etc), angle and age are available. If the category was to be switched to Mouth size however all sliders related to that category would be visible and manipulatable.
==== Adjusting the Torso Shape: ====
!IMAGE!Pictures/torso_cropped_labelled.png!/IMAGE!
In order to alter the torso-related features of the human we have to select the "Torso" sub-tab located under the main "Modeling" tab. In the torso section we are able toalter various attibutes such as stomach (size, pregnancy shape), body height, width and so on.
==== Arms and Legs Shape: ====
!IMAGE!Pictures/legs_modelling_2_0.png!/IMAGE!
The "Arms and Legs" sub-tab is again located under the main "Modeling" tab. Here we can alter the various attributes related to the arms and legs such as hands, arms and feet.
=== Makehuman alternative topologies ===
Makehuman provides a group of alternative topologies which replace the base mesh and are designed for special purposes. These are useful for various applications such as simulation (E.g. a car crash computer simulator), games and so on.
!IMAGE!Pictures/topologies_0.png!/IMAGE!
In order to use the alternative topologies provided by MakeHuman; go to Geometries -> Topologies.
For alternative topologies we follow a specific naming convention having the structureNameVertex-countE.g. proxy741 is a alternative topology named proxy with 741 vertices, female1605 is an alternative topology designed for females with 1605 vertices in the mesh.
For illustration purposes we show the wireframe/mesh view of female1605 with 1605 vertices in the figure below.
!IMAGE!Pictures/Proxies1.png!/IMAGE!
=== Skin and other materials ===
==== Changing Skin Texture ====
By default the human has a texturless skin.
Assigning a new skin material is very easy. Go in Materials Tab. You will now see a radio button option for "Skin" under the Human category choices section on the left side of the window. The right side will display available skin materials that can be applied to replace the default skin. By clicking on one of them your character will be displayed with the chosen material.
!IMAGE!Pictures/materials_0.png!/IMAGE!
==== Changing Hair Textures ====
Same process as the skin, but selecting the "hair" radio button instead. The materials available depend by the type of hair loaded.
!IMAGE!Pictures/hair2_0_0.png!/IMAGE!
==== Changing Clothes Textures ====
Changing clothes texture is exactly as the hair one, selecting the cloth type instead of hair.
!IMAGE!Pictures/clothes2_0_0.png!/IMAGE!
== Rendering Your Work ==
To write
=== Quick rendering and advanced rendering ===
==== Introduction ====
MakeHuman™ has an internal rendering engine based on OpenGL technology: GLSL 1.2 for openGL 2.1 or superior.
For this reason some features will be available only for machine(s) build after semptember 2006.
For the same reasons, the results can vary a bit, depending the video cards.
!IMAGE!Pictures/render_0.png!/IMAGE!
==== Quick render and advanced render ====
MakeHuman™ uses two different rendering approaches, quick and advanced rendering. Both them produce images with transparent background, in order to be eaily mounted in Gimp or Photoshop.
The quick renderingis intended to for a click-and-see render. It uses fixed presets for lights and materials, studied to show the model in an optimal way. There are only ywo available options in that mode:
* Resolution, written in the form widthxheight
* Antialiasing(turn it on for quality rendering): Aliasing happens when model edges look 'jaggy'. Raise this slider to filter these. It also help hair and thin stuff in general look better. However raising the AA level can have an equivalent performance hit.
The advanced renderinguse a different rendering technique. It gets the lights defined in "scene" and make complex calculations. In future it will supports shadows and more options to increase the realism.
In addition to the two existing options, there is the subsurface scattering one. Enabling it will produce a more realistic and impressive skin, to simulate the skin's behaviour when light passes through it.
When you have finished selecting the desired options, press the 'Render' button and see your model become a piece of 3D art!
=== Scene and Viewer ===
==== Makehuman "Scenes": ====
MakeHuman™ provides a library of lighting presets, that will be used in the "advanced rendering" mode. This library is the "Scene" library which currently has only one lighting preset named "default".
==== The "Viewer": ====
The rendering result will be displayed in the "viewer". It's possible to zoom and move the image using the usual mouse buttons, and then save the image as png, using the "Save as" button.
!IMAGE!Pictures/viewer_0.png!/IMAGE!
== Settings ==
Setting the preferences in MakeHuman.
=== Background ===
The Background tab allows you to add background/foreground images to use as a modelling reference or to create a scene within MakeHuman™ for the Short Pipeline.
When you open the Background tab you will see a "None" icon and a list of thumbnails of the files within the backgrounds folder in the!LINK!http://www.makehuman.org/doc/faq/where_is_my_home.html -- MakeHuman home folder!/LINK!, if they are present. The "None" icon is used to remove the background from the MakeHuman™ scene.
!IMAGE!Pictures/background_0_0.png!/IMAGE!
==== Different backgrounds for different sides ====
Prior to selecting an image you should first determine the side of the MakeHuman™ scene where you want the image to appear. You can specify where you would like the background placed relative to your MakeHuman™ character with the Side control choices on the right hand side of the Background tab screen.
The first six (6) options set the background in your scene using the standard Camera view positions. If you choose the last radio button option labeled "Other" you can add the background into the scene with the character and camera position however it was last set, as long as it was not in one of the predfined camera views.
If you are placing an image to act as a reference image for modelling your character, you should select the side that matches your reference facing.
You can insert up to 7 different images into the MakeHuman™ scene by applying a different image to each Side option. As the camera view changes into each side view or other view angle, the image shown will change as match your image side configuration for each of the camera side views shown in the modelling window. The background image, in fact, will only appear while the camera remains in the side view specified. Pressing one of the camera view options is the easiest way to get a background image to reappear if it disappears due to a camera view change.
==== Background opacity and position. ====
The Background Setting options allow you to set the background image's opacity using the Opacity slider control, which determines how transparent or opaque the image will appear in the scene, and to set the image as a background or foreground. These controls are particularly useful when you are using reference images to model your character.
The standard Opacity setting of 100 is equivalent to a 60% transparency level. Setting the control to 0 will make the image invisible (100% transparency) and setting the opacity control to 250 will make the image fully opaque (0% tranparency).
The "Show in Foreground" checkbox option allows you to place the image in front of the character in the scene so that the character will be obscured according to the opacity level setting of the background image. This option should be checked if the image will be used as a reference image for modelling.
The background can be moved and resized to properly fit the character, checking the options in the left side and then clicking and dragging with leftbutton or rightbutton.
=== General ===
==== General Settings ====
The general settings include important features that can make a huge difference in MakeHuman's performance.
!IMAGE!Pictures/general.png!/IMAGE!
=== Slider behaviour ===
* Update realtime. This option recalculates the human shape in real time during the slider movements. This requires more CPU resources.
* Update normals real time. By enabling this option, the normals are updated during the slider movements in order to see a correct shading in real time. Computing the surface normals requires an intensive CPU calculation, so this can slow down old PCs.
* Fit objects in realtime. By enabling it, all objects (eyes, hair, clothes, teeth, etc..) are fitted in real time during the body transformations. This requires more CPU resources.
* Autozoom camera. Enabling it will automatically zoom in the camera to the zone of interest. For example, editing the head, it will zoom in to it, editing the hand, it will automatically zoom in to the hand, etc.. This can be useful in some cases, but it doesn't allow custom point of view, so this option is disabled by default.
* Slider images. Enable the images to illustrate the sliders' effect. Disable it for a more compact list of controls.
=== Units ===
This setting is to choose the measurement system that will be used :
* Metric, to use meters, centimeters, etc
* Imperial, to use inch, feet,etc..
=== Startup ===
* Preload macro targets. This option is very important for perfomance and startup loading time. Using the preload increases a lot the performance, but in the case when the targets are not compiled (for example the raw targets cloned from HG) it will considerably increase the loading time during startup.
* Restore windows size. This option is just to remember the custom windows size used for MakeHuman.
=== Theme and languages. ===
These options areself explanatory. MakeHuman needs to be restarted for a change in the language settings to be effective.
=== Mouse ===
==== Managing mouse configuration: ====
THe "Mouse" tab allows you to configure the behaviour of the mouse in makehuman.
!IMAGE!Pictures/mouse_001.png!/IMAGE!
The first wiidget in the left panel contains one slider labelled "3D viewport Speed". This slider controls the how sensitive the viewport is to mouse movement. As you increase this parameter the viewport become increasingly sensitive to mouse movements, thereby moving faster. Tweak this parameter with care. A value of one is the default speed at which makehuman models rotate and move in response to the mouse. Increase this parameter if you feel that the movements are too slow for your liking.
The second widget inside the left panel is the "Camera" widget this widget allows you to configure the mouse settings used to control the camera. This also allows you to invert the mouse wheel.
Note:With the orbital camera, panning is available only in certain situations. Therefore, the "Move" shortcut has been made available for configuration. If you cannot pan your model it may not a bug.
=== Shortcuts ===
THe "Shortcuts" tab helps us to manage shortcuts in makehuman.
For your convinience shortcuts have been organised into 3 categories. The first category with the largest number of shrrtcuts available for configuration is the "Camera" category whose panel is located on the left hand side. THe other two categories are "Actions" and "Navigation". The "Action" panel helps us to alter shortcuts for actions such as undo and redo. The "Navigation" panel helps us to set shortcuts to quickly navigate between various frequently used tabs in Makehuman.
!IMAGE!Pictures/shortcuts-mh_002.jpg!/IMAGE!
==== How to use the Shortcuts Tab ====
Managing of shortcuts is very easy inside makehuman. Just select the appropriate box with the current shortcut key andf type in thenew shortcut key/key combination. Makehuman will warn you if there are duplicates.
=== Plugins ===
Makehuman is designed using a modular approach. All features within makehuman belong to one module or the other. THese modules are called Plugins. With the help of the "Plugins" tab in makehuman we can enable or disable certain plugins thereby altering the feature set available.
This feature is useful when:
1) A particular feature is uneeded and you want to improve performance of makehuman by disabling it.
2) A particular plugin is giving problems on your machine and you would like to disable it to avoid accidently triggering the fault again.
!IMAGE!Pictures/plugins-mh_002.png!/IMAGE!
By default all plugins are enabled plugins can be disabled by clicking on the option buttons and removing the "x" next to the related plugin.
== Reporting a Bug ==
How to help MakeHuman development reporting a bug.
=== Using the Makehuman log files for error reporting ===
Occassionally, MakeHuman will not behave as expected, or you will note an exception in the status line, You willingness to make a bug report.for such events goes a long way to help imrove MakeHuman. For simple bugs,, it can often be enough to report the version of your operating system, the version of MakeHuman that you are using, and the steps to reproduce the problem. However, the developers often need to know more detail to reproduce your problem in a different environment.
As long as MakeHuman has not "crashed" completely, the easiest way to learn the details is to use thebuilt-in log viewer. This can be accessed by selecting theutilities taband then thelog subtab. On the left, you will see alevel selectorthat is initially set to "default". The center panel will show a very verbose set of all the actions that have happened inside MakeHuman since it was last restarted. This entire set of information is seldom needed.
For bug reporting, you will be most interested in the messages that show when you set the level selector to "error". If severe problems have occurred, the center window will show the errors logged in red. If there are none, it may still be worth reporting the somewhat less severe "warning" level messages which resulted in code exceptions. These messages will show in orange if you set the level selector to "warning". Only seldom will levels of "notice" or "message" be of interest to developers. Supply these only upon request.
When you find "errors" or "warnings" you can highlight the message(s) with the mouse and press the "copy" button in the left panel. The message will be copied to your clipboard. Simply paste these messages at the end of your bug report.
In the event that MakeHuman crashes completely, or in the case of complex problems it may be better or easier to upload more complete log information from the log files. MakeHuman always creates 2 important files called "makehuman-debug.txt" and "makehuman.log" in the user's home directory (under "My Documents/makehuman/v1" in Windows or "~/makehuman/v1" in your linux distribution).
makehuman-debug.txt:This provides some essential information about the system on which you have installed makehuman such as version information, machine architecture type, numpy versions and so on which is useful when reporting a bug as the bug may be applicable to your particular machine configuration.
makehuman.log:The makehuman.log file is another separate file. This file logs all events that take place from the beginning when makehuman is loading till the end when makehuman is closed. ALl regular events and error messages are logged in this file. It is important that you attach either this whole file or the last few signinficant lines indicating where the bug occured. This logs contains backtraces and other useful information like what plugins loaded, what plugins did not at which point did a python script fail and so on.
When reporting a bug in the makehuman bugtracker posting the contents of both these files is useful and will help us to debug and resolve the issue(s) more quickly. This is of course not needed when you are posting a feature request which is not a bug.
=== Using the Makehuman bug tracker ===
Makehuman has introduced a new internal bug tracker based on redmine (!LINK!http://www.redmine.org -- www.redmine.org!/LINK!) this tracker allows us to easily handle bug reports and feature requests reported/requested by you. In order to use this new bug tracker a forum account is compulsory (even if you do not wish to use forums). Your forum ID becomes your makehuman bug tracker ID.
Following are some quick links related to makehuman bug tracker:
* Roadmaps:!LINK!http://bugtracker.makehuman.org/projects/makehuman/roadmap -- http://bugtracker.makehuman.org/projects/makehuman/roadmap!/LINK!
* Add a new issue and see the isues list:!LINK!http://bugtracker.makehuman.org/projects/makehuman/issues -- http://bugtracker.makehuman.org/projects/makehuman/issues!/LINK!
* Graph for a quick overview:!LINK!http://bugtracker.makehuman.org/projects/makehuman/issues/growth -- http://bugtracker.makehuman.org/projects/makehuman/issues/growth!/LINK!
* Activity:!LINK!http://bugtracker.makehuman.org/projects/makehuman/activity -- http://bugtracker.makehuman.org/projects/makehuman/activity!/LINK!
== Tools and contributing methods ==
Blendertools and contributing methods
=== MakeTarget standalone ===
==== Making Wavefront .obj Files MakeHuman™ Compliant ====
The following procedures should be followed to create Wavefront .obj files that comply with the requirements of MakeHuman™ using modelling software programs such as 3dMax, Maya, XSI, etc.
* * Download the 1.x base mesh base.obj file from MakeHuman!LINK!https://bitbucket.org/MakeHuman/makehuman/src/c40af22cebf2d5372b931b485f60588f42f24480/makehuman/data/3dobjs/base.obj?at=default -- HG repository!/LINK!
* Import it into your preferred modelling software
* Modify it in order to create your final character
* Export it as .obj (of course with a different name than base.obj)
During editing of the base mesh be careful about 3 things!You have to pay attention that:
* The import/export does not alter the number of vertices, the faces, does not split the obj, etc. The topology has to be the same as the original one.
* When modifying the base, you do not delete or add vertices, do not add or remove faces, etc. The topology has to be the same as the original one.
* The 3D program used also preserves the exact order of the vertices.
==== There are no other limitations on the .obj files used. ====
==== Making Targets with MakeTarget™ StandAlone ====
==== Using the MakeTarget GUI program ====
To obtain the MakeTarget GUI program, download and install either the Windows version or the Linux version at the bottom of the download page of the MakeHuman website at: !LINK!http://makehuman.org/content/download.html -- http://makehuman.org/content/download.html!/LINK!
Looking at the GUI of MakeTarget, you can notice other elements: the (+) and (-) lists, the possibility to process whole directories and to have .obj as output.
These are batch tools, designed for MakeHuman developers. Let’s go on to describe an usual scenario.
Assuming you have 30 “chin” targets modelled on the young caucasian female. These targets will create artifacts when applied on a young asian female. So our artists have to process 30 targets in order to create an asian version from all of them.
The steps are:
* For each chin target, do: asian-female-young.target + chin.target and save the result as .obj.
* Import each .obj in a modelling software, fix the artifacts by hand and export the corrected .obj.
* For each corrected .obj, subtract the asian-female-young.target and save the rest as asian version of the chin target.
For step (1) we will process an entire directory, choosing “Directory” as “input source” and targets as input type. Then we will “add” the asian-female-young.target, loading it in the (+) section. Then will choose “Obj” as “Output type”.
!IMAGE!Pictures/image01.png!/IMAGE!
Pressing the “Make” button, the entire folder will be processed, and in the same directory of targets we will see the newly created .objs. At this point, we can copy the folder, renaming it as “chin_fixed” and deleting the original targets.
For step (2), we have to import, edit and export each .obj individually, as showed previously for the single target. After completing step (2), all .objs in “chin_fixed” will be fixed and ready to be converted into targets.
So, it’s time for step (3). Again, we will process the entire directory, but this time the input type will be “Obj” and the output “Target”. Also, this time we will subtract the asian target, in order to obtain only the chin morph.
!IMAGE!Pictures/image00.png!/IMAGE!
Pressing the “make” button, this time we will obtain a series of .target, with the same name as the original objs, placed in the “chin_fixed” folder. That’s all!
==== Command Line Usage ====
This tool allows wavefront .obj files to be used that were edited using any 3D program. The only limitations are that the edit stems from the original base.obj file and that no vertices, edges or faces are added or removed. The 3D program used also needs to preserve the exact order of the vertices. There are no other limitations on the obj files used.
Usage:
There are a commandline version and a version with graphic user interface. Both do exactly the same thing.
Here follows the explanation of how to use the commandline version.
Options:
-i --in input obj or target
-o --out output obj or target
-s --sub target to subtract from obj
-a --add target to add to obj
-d --dir input folder to load all objs or targets from
--intype type of file to be input, obj (default) or target only applicable if --dir is used
--outtype type of file that will be output, obj or target (default)
-h --help this info
-v --verbose verbose mode, shows extra information
Usage scenarios:
Load foo.obj as input, compare it with base.obj and output the difference as foo.target.
Load foo.obj, subtract foo1.target from it, and output the difference between the resulting obj and base.obj as foo.target.
Load foo.obj, add foo1.target to it, and output the difference between the resulting obj and base.obj as foo.target.
Load all objs from myfolder, save the difference between the base.obj and each of the input objs to a target file with the same name as the input obj.
Load all objs from myfolder, subtract foo1.target from each of them, and save the difference between base.obj and each of the resulting objs to a target file with the same name as the input obj.
Load all objs from myfolder, add foo1.target to each of them, and save the difference between base.obj and each of the resulting objs to a target file with the same name as the input obj.
Load foo.target, apply it to base.obj and output the resulting obj as foo.obj.
Load all target files from myfolder, apply each of them to base.obj and save the result of each to obj with the same name as the target file.
Load all target files in myfolder, apply each of them to base.obj while also subtracting foo1.target from the result. Save each combination to an obj with the same name as the input target.
Load all target files in myfolder, apply each of them to base.obj while also adding foo1.target to the result. Save each combination to an obj with the same name as the input target.
This is the usage information as can be obtained by running the "maketarget.py --help" command. Some additional scenarios that are not documented are possible with the tool.
The user is protected from issuing commands that make no sense (eg. do nothing) as the tool will warn you about this.
Also note that files are never overwritten. Upon encountering an already existing file this file is backed up as original_filename.bak. Additional backups of the same file are named in order original_filename.bak.0 original_filename.bak.1 etc.
The GUI version of the tool does exactly the same thing. The exact same options (except help and verbose) are available in the GUI. The only difference between commandline and GUI version is that the GUI demands you specify an --in or --dir parameter. With the commandline tool you can do without as long as you specify some --add or --sub targets.
==== Compiling Binaries ====
For the ease of distribution a pyinstaller configuration is supplied to create a self-contained binary executable for both windows and linux. (MAC OS might work but is untested). For running this executable, the user does not need to install python or any other libraries (such as wxwidgets) on his computer. For building the package, however, you need to have those dependencies
installed, and need to build the package on the target OS. There are two build files available:
* compilePyinstaller.bat,for building a windows executable
* compilePyinstaller.sh for building a linux executable (might work for OSX too)
In order to use them you need to create a folder called "pyinstaller" in the makehuman/tools/standalone/maketarget folder. The build configs were tested with pyinstaller 1.5.1, but might work on future or older versions too.
Additionally these dependencies are needed for the respective operating systems:
Windows:
* Python 2.7
!LINK!http://python.org/ -- http://python.org/!/LINK!
I recommend using python 2.7 as I had issues with 2.6 and pyinstaller. The tool works fine with python 2.6, however
* pywin32
!LINK!http://sourceforge.net/projects/pywin32/ -- http://sourceforge.net/projects/pywin32/!/LINK!
Python extensions for windows. Needed for pyinstaller to work.
* wxpython2.8
!LINK!http://www.wxpython.org/ -- http://www.wxpython.org/!/LINK!
WX Widgets libraries and python wrappers for windows. Installable as one singe package.I recommend using the wxPython2.8 win32 unicode package for python 2.7.
* UPX (optional)
!LINK!http://upx.sourceforge.net/ -- http://upx.sourceforge.net/!/LINK!
This is a tool for compressing the executable and reduce its size. Compression will happen automatically if UPX is installed. To install UPX copy upx.exe to C:\WINDOWS\system32
Note: you will need at least UPX 1.92 beta due to incompatibilites with the Visual Studio compiler, with which newer versions of python are compiled on windows.
Linux:
* Python 2.6
!LINK!http://python.org/ -- http://python.org/!/LINK!
Version 2.7 works fine too.
* python-wxgtk2.8
* libwxgtk2.8
!LINK!http://www.wxpython.org/ -- http://www.wxpython.org/!/LINK!
!LINK!http://www.wxwidgets.org/ -- http://www.wxwidgets.org/!/LINK!
WX Widgets libraries and python wrappers for wx
* UPX (optional)
!LINK!http://upx.sourceforge.net/ -- http://upx.sourceforge.net/!/LINK!
This is a tool for compressing the executable and reduce its size. Compression will happen automatically if UPX is installed
The pyinstaller script will create all the files that need to be distributed in a folder called dist/ (this will be an .xrc file, the executable, and a resources/ folder containing images used in the GUI).
You can archive the contents of the dist/ folder and distribute these freely as a standalone application.
=== wxWidgets specific information ===
The GUI of this tool has been made using the python version of wxWidgets. The GUI form itself is not created using application code, but is instead loaded from the maketarget.xrc file that declares the GUI. This file was built using wxFormBuilder (!LINK!http://wxformbuilder.org/ -- http://wxformbuilder.org/!/LINK!). The file maketarget_gui.fbp is the source file that can be opened in formbuilder. The xrc file is output generated using the formbuilder application. However, the xrc could be edited manually too (but this would cause fbp and xrc file to go out of sync).
=== More information ===
For more specific details you can contact the author Jonas Hauquier at the makehuman.org website.
=== MHBlenderTools: MakeTarget ===
==== What is a Target? The MakeHuman Morphing Process. ====
The principle is simple. A target is a modifcation to a base mesh shape that does not alter the mesh itself but that stores information that permits the base mesh to be transformed into the target shape using ‘morphing’. Targets are what allow the slider controls in MakeHuman™ to take a single base mesh for a character and morph the shape of that character based on a variety of different feature target files. The many target files used by MakeHuman™ can alter a single human base form into characters with features as different as those distinguishing male from female to as subtle as varying the shape of a single earlobe.
!IMAGE!Pictures/morph1.png!/IMAGE!
A target contains the offsets by which vertices of the human base model (base.obj) deviate from the original to achieve a specific feature. eg. a long nose could be a target. These targets can be combined and MakeHuman™ uses them by blending targets together and gradually applying them to the base mesh to create a nearly endless variety of human forms. Below are examples of target blending obtained by choosing a target that defined the character as male and combining that target with the extreme settings for other targets that determned the muscle tone or weight of the character.
MakeHuman™ handles morphing with a special file format,.target.
==== Loading the Base Mesh ====
While it is possible to create targets using Blender without using the MakeTarget™ tool for Blender; that tool has many useful features that simplify the target creation process and will be explained by the help that follows. Once the MakeTarget™ add-on has been enabled (see the previous "Get and Install MH Addons for Blender" section), a panel labelled MakeTarget™ version 1.xx appears in theBlender User Interface, to the right of the viewport. The visibility of the Blender User Interface can be toggled on and off with the N-key.
!IMAGE!Pictures/maketarget131-area.png!/IMAGE!
The MakeTarge™ Version 1.31 Panel (Initial Settings)
!IMAGE!Pictures/maketarget131.png!/IMAGE!
Prior to loading any targets, the initial the MakeTarget™ panel consists of three main buttons. The first two buttons load the base human mesh, respectively with and without the special fitting tools. The third button labeled "Set As Base" sets an existing mesh (that must be MakeHuman™compliant and derived from the A8_v74.obj file distributed with the MakeTarget™ release within the maketarget/data/ folder) as a human base mesh. This third option is for users that have done editing of the base mesh in another 3D modelling program and that have saved or exported the model as a Wavefront .obj file
!IMAGE!Pictures/helper_details.png!/IMAGE!
Loading the "Human + Fit Tools" will import the base human +mesh helpers(image below, B). The "helpers" are special geometries, used in MakeHuman™ as a reference to correctly fit clothes, hair and accessories. These helpers can be annoying during the modelling of the character, so usually our artists first work on the pure body, loading the human only with the first button (image below, A), and then, in a successive step, they fit the helpers.
!IMAGE!Pictures/maketarget-base.png!/IMAGE!
==== Basic usage ====
=== The MakeTarget™ Version 1.09 Panel (After Loading The Target Mesh) ===
!IMAGE!Pictures/MakeTarget_load.png!/IMAGE!
After the mesh is loaded into the scene, the MakeTarget™panel layout will change, showing three new buttons that handle setting up the morphing targets. The first button creates a new empty target which will just be the original base mesh loaded in the previous step.
The second button loads the morphing from an existing target file. Do not attempt to load target files from the previous MakeHuman™versions, as these files are not compatible with the current base.
The third button creates a new target from an existing base mesh that is MakeHuman™compliant (derived from the A8_v74.obj file provided with the MakeTarget™release distribution), for example, a character modelled with an external tool (Maya, Max, C4D, etc..) and then saved or exported so that it can be imported into Blender as a wavefront obj file. To correctly use the third button, it is necessary to first select the imported base, then the MakeHuman™base, and then press the Load Target From Mesh button. When the steps have been done correctly and that button is pressed the imported base will disappear and its transformations will be transferred onto the MakeHuman™base.
=== Editing The Target And The "Save Target As" Button ===
After a new empty target is initialized or an existing one is loaded/imported, the MakeTarget™ panel layout will change again, offering a rich set of new options (image below). For the basic use of the MakeTarget™ tool you may ignore all of these options except for the "Save Target As" button.
To create a custom target, the artist has to alter the base mesh, which is done in the usual way within Blender. First start edit mode, and then select one or more vertices, moving them to reshape the mesh. You may use the full power of Blender to create your morphing target design.The only rule, in order to create a valid morphing target, is to never add or delete a vertex, face or edge. The topology must be absolutely preserved.After the modelling process is completed, the MakeHuman™morphing target can be saved by pressing the "Save Target As" button on the MakeTarget™panel. By default this will save all of the offset deviations of every vertice from the base mesh into the target file.
==== Advanced usage ====
=== The MakeTarget™Version 1.09 Panel (After Loading A Target) ===
During the creation or the editing of a target, as mentioned previously, the MakeTarget™panel shows a new layout with a rich set of options. Depending on whether the mesh is loaded without the fit tools (image below, left) or with the fit tools (image below, right), the panel offers different options.
!IMAGE!Pictures/maketarget131-panels.png!/IMAGE!
At the top of the panel there is a numeric slider that determines the amount of morphing to apply from the target. The maximum value is 1.0, which means that the target morphing is fully applied. A value of 0 will show the original base mesh without any target morphing. The minimum value of the slider is -1.0. Using negative values usually creates weird effects as a projected inverse of the target morph is applied, but these settings are useful to subtract unwanted morphing results when multiple targets are combined. The effect is shown in the image below beginning on the left with the full inverse of the morphing target, to the original base mesh in the middle, and finally to the fully applied morph target design on the right.
!IMAGE!Pictures/maketarget3.png!/IMAGE!
=== Load Target Section (After The First Target Is Loaded) ===
!IMAGE!Pictures/MakeTargetLoadSecondaryTarget.png!/IMAGE!
The three buttons that now in the "Load Target" section are used in exactly the same way as they were before any target was loaded, except that any targets that are now created or loaded with these buttons become a secondary target that can be applied to the previously loaded one. These buttons are used to append one or more additional targets to the first target and combine them in various proportions.
=== Discard And Apply Target Section ===
!IMAGE!Pictures/MakeTargetDiscardAndApplyTarget.png!/IMAGE!
The first two buttons under the "Discard And Apply Target" section will either discard all of the targets (returning you to the original base mesh) or only the last target appended (which will either be the last secondary target applied or the primary target if no secondary targets have been applied). The button "Apply targets" under the "Discard And Apply Target" section is used to join all targets into a single unique morphing target combination.
=== Symmetry Section ===
!IMAGE!Pictures/MakeTargetTargetSymmetryButtons.png!/IMAGE!
The two buttons in the "Symmetry" section are modelling tools, and are very useful. They has been designed to produce very reliable target results. Using the symmetry buttons will cause the mesh to become symetrical on either side of the X axis, with the option to apply edits from the left side of the character to the right side (Left->Right), or vice versa (Right->Left). Pressing these buttons will also align center vertices that have been unintentionally moved away from the center back to their center position.
=== Save Target Section ===
!IMAGE!Pictures/MakeTargetSaveTargetSection.png!/IMAGE!
Finally, press the "Save Target As" button to save the .target file once all secondary targets and edits have been completed.
The checkbox labeled "Selected verts only" is a very important option. This option when checked will permit you to select a set of vertices in edit mode and then save only those vertices into the target file. Such targets are useful when you want the target to only morph the selected vertices and leave all other vertices completely unaffected by the morphing target. For example, an artist could design a morphing target that is limited to the hands only, a single hand only, or to the head only, and save a target containing vertices that will only morph those body parts, while having no effect on other parts of the body that were not explicitly chosen by the artist.
The checkbox labeled "Active Target Only" will cause the "Save Target As" button to only save the last target only. This option normally applies when one or more secondary targets have been added using the Load Target section after adding the initial target.
=== Additional Fit Helper Buttons ===
!IMAGE!Pictures/MakeTargetFitTargetButton.png!/IMAGE!
!IMAGE!Pictures/MakeTargetSkirtEditingAffectOnly3.png!/IMAGE!
When the fit helpers have been included as part of the target, the additional options of the MakeTarget™panel shown in the images above appear. These buttons are included to work with the helper objects. When the helpers have been loaded, an additional button labeled "Fit Targets" is available under the Load Target section. This button should be pressed after making alterations to the body that disconnect it from the helper objects, but prior to making modifications to those objects. This button will refit the clothing to the body, and if pressed when the default All option under the "Affect Only: section is selected, all clothing helpers will be refitted to the body. However, the refitting process will cause any modifications previously made to a refitted helper objects to be lost. To limit the Fit Target button behavior to a single helper object, you should specify the object that you want to have refitted under the Affects Only section appearing at the bottom of the panel. This will cause the refitting to only affect the chosen helper (for example the Hair), while leaving all other helper objects unaffected, preserving your edit modifications to those helpers (for example, the Tights and Skirt helpers will not be refitted and your modifications to those helpers will be preserved if the Hair Affects Only option is set).
The additional helper options also include buttons that improve the fit of the skirt specifically by snapping the skirt to the character's waist ("Snap Skirt Waist" button) or straightening the skirt ("Straighten Skirt" button). It is recommended that you still select the Skirt as the Affects Only option prior to pressing either of these buttons.
=== MHBlenderTools: MakeClothes ===
=== Overview ===
MakeClothes, as its name implies, is a Blender addon that is used to construct clothing assets for use in the MakeHuman program. Clothes can be modeled using any technique that is natural. For example, clothing can be modeled from scratch, or by altering either the human mesh or the “clothing helpers” (see below) provided by the MakeClothes tool. When designing and modeling a clothing item, there are two restrictions that should be kept in mind. First, the algorithm for mapping a clothing mesh to the human mesh requires that theclothing mesh consists entirely of quad faces. Second, it is important to know that MakeClothes supports only one material per item of clothing.
Upon completing the MakeClothes workflow, a new folder will be created by the tool within %USER%/makehuman/v1/data/clothes. That folder will assume the unique name that the user provides for the clothing item. This folder will be populated with the assets necessary to make the item available in MakeHuman. The one additional, useful but not essential, item that the user must supply is a thumbnail icon for the clothing. The thumbnail icon can be created with any image editing program as a 128 x128 pixel image in .png format. The file should then be saved in the same folder as the other assets and the extension changed to .thumb.
=== Using MakeClothes addon ===
MakeClothes is controlled by the MakeClothes panel in the N-shelf to the right of the viewport. It consists of the main buttons that are always visible, and several hidden sections that can be displayed by enabling a checkbox.
!IMAGE!Pictures/mc2-010-main.png!/IMAGE!
The main section contains the following:
* Type: Specifies the character to be used as a reference. It can be one of the following:
* Base Mesh: The MakeHuman mesh without any targets applied.
* Average Male: A caucasian young male.
* Average Female: A caucasian young female.
* Average Child: A caucasian young child.
* Average Baby: A caucasian young baby.
* Base Mesh with Helpers: The MakeHuman mesh without any targets applied.
* Average Male with Helpers: A caucasian young male.
* Average Female with Helpers: A caucasian young female.
* Average Childwith Helpers: A caucasian young child.
* Average Baby with Helpers: A caucasian young baby.
* Load Human mesh: the button to load the selected type into the scene.
Note:"helpers" in MakeHuman are a type of special, invisible geometry over the base mesh which can be loaded to help model clothes, for example, a helper sweater, helper tights etc. They have their own materials. It is important to note that no alterations should be made to the base mesh type after it is loaded otherwise the script will fail.
The picture below shows the result of pressing "Load Human Mesh", with type set to Base Mesh.
!IMAGE!Pictures/mc2-011-main_0.png!/IMAGE!
A human mesh is loaded into the viewport, and more tools are enabled:
* Mesh Type: MakeClothes divides meshes into two types: human and clothing. This button displays the mesh type (Human/Clothing) of the active mesh and is greyed out if the active object is not a mesh. (MakeHuman normally detects the items accurately, but in the event of an error, you can click the button to change the mesh type so that it is treated as a clothing item instead of human if it is a clothing item and wrongly detected as a human item)
* Create Vertex Groups From Selection: MakeClothes uses vertex groups to control the fitting.
* Make Clothes. This is the main entry point for the MakeClothes script. With one human and one piece of clothing selected, create an association between clothes vertices and human triangles, i.e. triplets of human vertices. Both meshes must have vertex groups with identical names, and each clothing vertex must belong to exactly one vertex group. The result of the association is saved in the file ObjectName/ObjectName.mhclo, in the default directory. This button is greyed out if the active object is not a mesh.
* Test Clothes. This buttons loads a piece of clothing (an .mhclo file) and fits it to the active mesh, which must be a human. Typically a second human is loaded on a different layer, and the quality of the clothes fitted to that character can immediately be checked in Blender. To test the clothes under the strictest conditions, the human model used for testing should be quite different from the human used for clothes-making. If the original character is an adult, Baby With Helpers is a good choice.
If, instead, the Human With Helpers button is pressed, the full MakeHuman mesh including the helper geometry is loaded. Different materials are assigned to each type of helper geometry. The materials are ordered in the order of the vertex number. This makes it easy to peel off one helper type at a time.
!IMAGE!Pictures/makeclothes03.png!/IMAGE!
=== Glue clothes to the body ===
The clothes are meshes that be done directly in Blender, or in another package and then imported into Blender as an obj file. Note that the mesh type is Clothing, which is the default unless the mesh has been declared to be a human. A simple method to obtain a starting point modelling is to duplicate part of the human mesh and separate it from the human. However, in this case the duplicated mesh will still be a human. To change the mesh type, press the toggle button Human. The status is now changed into Clothing.
After loading the human, next step is to "glue" the clothes to the human, in order that they will automatically fit the body changes. To control this association, MakeClothes uses vertex groups. Each clothing vertex must belong to exactly one vertex group, and a vertex group with thesame namemust exist in the human mesh as well. Only human vertices in the correct vertex group will be considered when making clothes.
Vertex groups speed up the clothes-making process by pruning the search tree, and can be used to control the appearance of clothes as well. However, assigning vertex groups can be quite tedious, and in many cases it is sufficient let MakeClothes create vertex groups automatically. This is done automatically when a human mesh is loaded. If a clothing mesh does not have any vertex groups, it is also done automatically, when the MakeClothes button is pressed.
=== Automatic vertex groups ===
If vertex groups need to be reassigned, e.g. because a piece of clothing has been edited, the automatic vertex groups can be used. When the human is selected, there is a button, visible in the image above, called "Create Vertex Groups From Selection". Selecting a cloth, the button change in "Create Vertex Groups". Both the buttons do the same thing, but there is a little difference: in the human is possible to generate the vertex groups only for a sub set of the vertices (selected in edit mode), while for clothing the vertex groups must include all vertices. This is because we need to associate onlya partof the human vertices withallvertices of the clothing. For example, we need to associate all the vertices of a skirt with the human torso only.
Pressing the button, the following vertex groups are created:
* Mid: Vertices on or very close to the center line (|x| < 0:001).
* Left: Vertices to the left of the center line (x > 0:001). For a human the Mid vertices are also included in the Left group.
* Right. Vertices to the right of the center line (x z 0:001). For a human the Mid vertices are also included in the Right group.
* Delete: An empty group only created for humans. Human vertices hidden by the piece of clothing can be added to this groups. These vertices are then optionally deleted when the clothing is applied in MakeHuman, thus avoiding that blotches of skin poking through the clothes. Note that when a vertex is deleted, so are all faces containing this vertex. Don't assign a vertex to the Delete group unless all faces containing it are hidden by the pieces of clothing.
In the image below, vertices assigned to the Mid and Left groups for a nude human.
!IMAGE!Pictures/auto-vert.png!/IMAGE!
=== Generate the clothes file. ===
When both clothing and human has the vertex groups with same name, just press the MakeClothes button to generate the files.
They will be located in your HOME/makehuman/a8/data/clothes, in order to be inbcluded automatically in MakeHuman.
==== Advanced tools ====
Under the main buttons of Makeclothes, there are seven hidden panels that can be activated clicking the checkbox. Let's see their meaning.
=== Show selection, Show Materials, Show UV projection ===
!IMAGE!Pictures/options-01.png!/IMAGE!
Show selection.This feature is just a shortcut to quickly select some part of the human. So, instead of classic Blender selection (go in edit mode, move the mous on a vert and press Lkey to select the linked vertices), you can just press these buttons.
Show Materials. This will show a button to export the materials only. It's useful in case there are not changes on geometry, but only on the material, in order to avoid to recompute all.
Show UV projection.This section is useful mainly for making proxy meshes.
* Recover seams.Creates a Seam object, which has edges where the selected mesh's UV layout has seams. The Seam object is intended to be reference for marking seams for the clothing.
* Auto seams.
* Project UVs.Automatically create an UV layout for the clothing, compatible with the human's UV coordinates. This is intended for the mask UV layer, which must be compatible with the body mesh for all clothes. The actual texture can use a different UV layer which can be laid out in any desirable manner.
* Reexport Mhclo file.The mhclo file must be resaved when the mask UVs have been defined. This can be done by pressing Make clothes again, but Reexport Mhclo file is faster.
=== Show ZDepth, Show Offset scaling ===
!IMAGE!Pictures/options-02_0.png!/IMAGE!
Show ZDepth.This option is used to assign a depth to the cloth, in order to hide skin and clothes which are covered by clothes on top of it. The Z depth specifies the stacking order, which decides which clothes should hide others. Normally the Z depth ranges between 0 (skin) and 100 (external accessories such as backpacks).
* Depth name. Roughly indicates the preferred Z depth for various clothes types. The choices are: Body, Underwear and lingerie, Socks and stockings, Shirt and trousers, Sweater, Indoor jacket, Shoes and boots, Coat, Backpack.
* Set Z depth.Set the Z depth depending on the selected depth name.
* Z depth.The value of the Z depth. This is changed by the Set Z depth button, but can be dialledmanually for fine-tuning.
Show Offset scaling.The location of a clothing vertex depends on two data: a point on a body triangle, described in barycentric coordinates, and the offset from that point. The offset is scaled in the X, Y and Z directions depending on the size of a certain body part.
* Body part.Set this to the body part which is most affected. The choices are: Custom, Body, Genital, Head, Torso, Arm, Hand, Leg, Foot.
* Examine.Select the boundary vertices with Set boundary is invoked.
* Set boundary.Set the boundary to vertices determined by the selected body part.
* Custom Boundary.To manually set the bounday box.
* X1, X2, Y1, Y2, Z1, Z2.The vertex numbers of the six vertices which define the scaling boundary. The X scale is determined from the distance between vertices X1 and X2, the Y scale by Y1 and Y2, and the Z scale by Z1 and Z2.
=== Show Setting, Show License ===
!IMAGE!Pictures/options-03.png!/IMAGE!
Show Setting.The setting include the author name and the export path. It's possible to save and restore the settings.
Show License.This set of options are to add theauthor name, the type of license and the tags for clothes. Licensing information to be put at the top of the exported mhclo file. It consists of three strings that can contain arbitary text.
* Author. Defaults to: Unknown.
* License. Defaults to: AGPL3
* HomePage. Defaults to:!LINK!http://www.makehuman.org/ -- http://www.makehuman.org/!/LINK!
=== GUI languages and translations. ===
Our GUI is available in many languages, but translations are not yet complete.
Anyway now contributing in order to add a new language is very easy, since the MakeHuman project is now available for translation on!LINK!http://www.transifex.com/organization/makehuman/ -- Transifex!/LINK!.
!IMAGE!Pictures/languages.png!/IMAGE!
Transifex is a web application for localization in an easy and agile way.
!IMAGE!Pictures/transifex.png!/IMAGE!
If you want to help the MakeHuman project by translating the GUI into your language, you first need to create an account on Transifex. Then, when logged in, you can go to!LINK!https://www.transifex.com/projects/p/makehuman/ -- the MakeHuman Transifex page!/LINK!and click on the appropriate language you want to translate. Then click the "Join team" button. Now you can click the current release name (for example "Alpha 8") entry and click "Translate now".
If you want to make a translation in another language that is not yet listed, click "request language" on the!LINK!https://www.transifex.com/projects/p/makehuman/ -- MakeHuman transifex page!/LINK!. We will make sure to accept it as fast as possible, so you can start translating.
Translating is quick and easy. You can select the "Untranslated strings" filter to show only the things left to translate. Click the first word on the left, and in the center of the screen enter your translation in the input box. When done typing, simply press the TAB button on your keyboard, and it automatically goes to the next entry. Repeat this process untill everything is translated.
You can leave things open you are uncertain about, and leave them for later. Perhaps others know a good solution. You can interrupt your work at any time and continue working later, or leave it for others to finish.
If you already have a translated file on your hard disk (for example you made modifications to an already existing language .ini file of MakeHuman, or you have filled in a .missing language file), you can upload it as translation and Transifex will automatically include it in the translation.
You will be also able to download the json file of your language, in order to put it in makehuman/data/languages. On restarting MakeHuman, the new language will be available as an option under "Settings".
=== MHBlenderTools: Download and installation ===
The Blendertools package is available on the download page:!LINK!http://www.makehuman.org/content/download.html -- http://www.makehuman.org/content/download.html!/LINK!
The current version is 1.0.0, designed to work with MakeHuman 1.0.0 and with Blender 2.69. It's a zip package of four folders:
* MakeTarget
* MakeClothes
* MakeWalk
* mhx_importer
To install the addons, these subfolders must first be copied to a location where Blender can find it. Depending on the operating system being used, the addons destination directory where Blender will look for user-defined add-ons, is
* Windows 7: C:\Users\%username%\AppData\Roaming\Blender Foundation\Blender\2.6x\scripts\addons
* Windows XP: C:\Documents and Settings\%username%\Application Data\Blender Foundation\Blender\2.6x\scripts\addons
* Vista: C:\Program Files\Blender Foundation\Blender\%blenderversion%\scripts\addons (this is valid at least for blender 2.69)
* Linux: /home/$user/.blender/$version/scripts/addons
Note that the AppData folder in Windows 7 and the .blender folder in Linux are hidden folders. The location may also be different depending on your choices for setting up your operating system and Blender. For more information see the Blender documentation.
To enable the MH addons, in Blender open the User Preferences window from the File > User Preferences menu, and go to the Addons tab. The Blendertools addons are located in the MakeHuman category. Enable them by checking the box in the upper-right corner, next to the running man symbol. If you want Blendertools to start every time Blender is restarted, press the "Save User Settings" button.
!IMAGE!Pictures/mhx-pref.png!/IMAGE!
=== MHBlenderTools: MakeWalk basic workflow ===
MakeWalk is a Blender add-on for retargeting mocap data (.bvh files) to a given armature.
==== Retargeting: how it works ====
The goal of retargeting is to transfer a motion from a source armature (e.g. from a BVH file) to a given target armature (e.g. the MHX rig). However, it is not straightforward to assign the source action to the target rig, even if the bones have identical names. The motion of each bone is specified in local coordinates, relative to the parent and the bone's own rest pose. If the rest poses of the source and target armatures differ, the source F-curves can not be used directly by the target armature.
!IMAGE!Pictures/makewalk-1.png!/IMAGE!
The picture above shows a transformation in the local coordinate system. Since the parent's local Y points along its axis and its local Z points up, the child bone is rotated around the local X axis. This is not very useful if the target armature has a diffent rest pose. To retarget the pose, we therefore reexpress the transformation in the global coordinate system, as shown below. The local X rotation corresponds to a global Y rotation, and by a different angle. Once the global transformation matrix is known, we can reexpress it in the target bone's local coordinate system.
The retargeting process thus consists of making two coordinate transformations:
Source local => Global => Target local.
This will ensure that the source bone and the target bone will have the same global orientation.
!IMAGE!Pictures/makewalk_2.png!/IMAGE!
Unfortunately, things are a little more complicated. We do not always want the source and target bones to have identical orientation. In particular, the root or pelvis bone may point in entirely different directions in different armatures. E.g. in the CMU armature rest pose the pelvis points forward-down, and in the MHX rig it points straight up.
!IMAGE!Pictures/makewalk-3.png!/IMAGE!
If we insisted that the root bone in the MHX rig would point in the same direction as in the CMU rig, the retargeting would not be very successful, as shown in the figure above. If we instead keep the rotation offset from the rest poses, the target pose becomes much better, as shown below.
To calibrate the source and target armature against each other, MalkWalk introduces extra keyframes at frame 0, where both armatures are posed in T-pose.
!IMAGE!Pictures/mcp-ret-060-calibrate.png!/IMAGE!
In the rest of the animation, bones in the target armature copy the global rotations of the source armature, apart from differences present in the T-poses. In this way we can transfer animations from CMU to the MHX rig, despite the fact that the rest poses are very different.
==== Basic Workflow ====
=== Retargeting ===
The MakeWalk panels appear in the tool shelf whenever an armature is the active object. Select the armature and press the Load And Retarget button. In the file selector, select the .bvh file. We choose the file 90_04.bvh from the CMU database. It is a cartwheel animation.
!IMAGE!Pictures/makewalk-4.png!/IMAGE!
After a short wait, the armature is doing gymnastics.
!IMAGE!Pictures/makewalk-5.png!/IMAGE!
At frame 0 of the animation the armature has been placed in T-pose. This is not part of the originial .bvh file, but inserted by MakeWalk to calibrate the source armature (defined by the bvh file) and the target armature (the selected armature in the viewport) against each other.
=== Supported armatures ===
MakeWalk works with most straightforward biped rigs with FK arms and legs, such as the Rigify meta-rig. There is also built-in support for some more complex rigs: the MHX advanced rig from MakeHuman, the MHX rig from MakeHuman and Rigify.
!IMAGE!Pictures/makewalk-6.png!/IMAGE!
It is often possible to use MakeWalk with other complex rig, but in that case the automatic bone identification may fail. If so, a bone map must be defined manually, see!LINK!http://makehuman.org/doc/node/defining_the_target_rig_manually.html -- Defining a Target Rig Manually!/LINK!.
=== Troubleshooting ===
Retargeting is a rather involved subject, and it can sometimes result in poor motion. The process may even fail completely, usually because MakeWalk failed to automatically identify the bones of a complex rig. If this should happen, see!LINK!http://www.makehuman.org/doc/node/makewalk_errors_and_corrective_actions.html -- Errors and Corrective Actions!/LINK!.
==== Where to find BVH files ====
There are several different formats that mocap files can be stored in. MakeHuman's mocap tool can only deal with files in Biovision BVH format. BVH files can be bought from many commercial sources, but a large range of mocap files are also available for free download. Here are some sites I found useful.
* CMU Graphics Lab Motion Capture Database: Hosted at Carnegie-Mellon University, this is a huge library of mocap files which can be downloaded for free. The web address is!LINK!http://mocap.cs.cmu.edu/ -- http://mocap.cs.cmu.edu!/LINK!. CMU hosts mocap files in three formats: tvd, c3d and amc. However, the mocap tool can only read BVH files, so none of these files can be used directly. Fortunately, B. Hahne at!LINK!http://www.cgspeed.com/ -- www.cgspeed.com!/LINK!has converted the CMU files to BVH. The converted files are located at!LINK!http://sites.google.com/a/cgspeed.com/cgspeed/motion-capture -- http://sites.google.com/a/cgspeed.com/cgspeed/motion-capture!/LINK!.
* Advanced Computing Center for the Arts and Design (ACCAD): Hosted at the Ohio State University, this is another great source of free mocap files. BVH files can be downloaded from!LINK!http://accad.osu.edu/research/mocap/mocap_data.htm -- http://accad.osu.edu/research/mocap/mocap_data.htm!/LINK!
* Eyes Japan (mocapdata.com):This is a Japanese company that sells mocap data commercially, but they also offer a huge number of motions for free. According to their homepage, mocapdata.com provides 744 premium motion data and 4197 free motion data. The only catch is that downloading requires registration. Not surprisingly, the homepage of mocapdata.com has the address!LINK!http://www.mocapdata.com/ -- http://www.mocapdata.com/!/LINK!.
* The Trailer's Park: Free mocap data can also be found at the Trailer's Park,!LINK!http://www.thetrailerspark.com/ -- http://www.thetrailerspark.com!/LINK!. This site does not offer original data, but offer repacks of mocap data from other free sites for download. Free download is limited to some five packs per day, so some patience is required here.
* Hochschule der Medien, Universität Bonn (HDM):!LINK!http://www.mpi-inf.mpg.de/resources/HDM05/ -- http://www.mpi-inf.mpg.de/resources/HDM05!/LINK!
* The Perfume global site project #001:!LINK!http://perfume-dev.github.com/ -- http://perfume-dev.github.com/!/LINK!
=== MHBlenderTools: MakeWalk user interface ===
==== The user interface ====
The user > interface of MakeWalk is located in under the Armature tab, and becomes visible when an armature is selected. It consists of six panels; the first one is open by default and the others are closed.
!IMAGE!Pictures/makewalk-7_0.png!/IMAGE!
* Load And Retarget: Select a BVH file and retarget it to the active armature.
* Start Frame: The first frame in the BVH file to considered.
* Last Frame: The last frame to be considered, unless the animation stops earlier. The difference last_frame - first_frame is the maximal number of frames after retargeting. The number of frames in the BVH file may be larger, if some frames are skipped due to subsampling
* Detailed steps: When this options is selected, further buttons are show below
* Load BVH File (.bvh). Load a BVH file, and create an animated armature from it.
* Rename And Rescale BVH Rig. With the BVH armature active, and a target armature selected, rename and rescale the bones of the active armature to fit the target.
* Load And Rename BVH File (.bvh). A combination of the previous two buttons. With a target armature active, load a BVH file, and create an animated armature with renamed and rescaled bones.
* Retarget Selected To Active. Retarget the animation from a renamed and rescaled BVH armature to the active armature.
* Simplify FCurves. Simplify the F-curves of the active armature.
* Rescale FCurves. Rescale F-curevs of the active armature.What if retargeting fails?
MakeWalk is designed to retarget animations to a given armature with a minimum of user intervention. However, retargeting is a complex process, and entirely automatic retargeting may fail or result in suboptimal motion. Information about how to identify and correct problems is found in!LINK!/doc/node/blendertools_makewalk_troubleshooting.html -- Errors and Corrective Actions!/LINK!.
A common problem is that automatic identification of bones in the target armature fails. A bone map can then be assigned manually, cf.!LINK!/doc/node/blendertools_makewalk_troubleshooting.html -- Defining the Target Rig Manually.!/LINK!
==== Options panel ====
!IMAGE!Pictures/makewalk-8.png!/IMAGE!
* Use Default Subsample. Blender normally plays the animation in 24 fps or 25 fps, but the animation in the BVH file may be recorded at a different speed. In particular, the BVH files from CMU were filmed at 120 fps. Enable this option to have the animation play at natural speed, irrespective of the frame rate in the BVH file. Other subsample options are described below.
* Auto scale. Set the scale automatically based on the size of the left thigh. This choice has two motivations:
* Almost all character do have a left leg.
* The leg size is crucial for making walk cycles look good.
* Scale. The default MakeHuman scale is decimeters - 1 unit = 1 decimeter. Translations in a BVH file are expressed in different units; often the base unit is inches, meters or centimeters, but more obscure units can also occur, e.g. in BVH files from CMU. If the scale is set incorrectly, rotations will still be correctly retargeted, but the character will appear to take giant leaps or miniscule steps.
* Use Limits: If this option is enabled, MakeWalk honors any Limit Rotation constraints, and will not allow excessive rotations. If the animation in the bvh files exceeds some rotation limits, this makes the retargeted animation less faithful. On the other hand, the rig may not be built for excessive rotations, so unchecking this option can lead to other problems.
* Unlock Rotation: If this option is disabled, MakeWalk honors any rotation locks. If the animation in the bvh files bend around locked axes, this makes the retargeted animation less faithful. If Unlock Rotation is enabled, any X or Z rotation locks are disabled. Y rotation locks (bone twisting) are never disabled. The reason for this is that in the MHX and Rigify rigs, forearm rotation is handled by deform bones controlled by hand twisting.
* Auto source rig. The source rig (i.e. the armature defined by the BVH file) is specified in the!LINK!/doc/node/blendertools_makewalk_source_and_target_armature.html -- Source Armature panel!/LINK!. Enable this option if the mocap tool should attempt to automatically identify the source rig, based on the structure of the bone hierarchy.
* Auto target rig. The target rig (i.e. the armature in the blend file) is specified in the!LINK!/doc/node/blendertools_makewalk_source_and_target_armature.html -- Target Armature panel!/LINK!. Enable this option if the mocap tool should attempt to automatically identify the target rig, based on the structure of the bone hierarchy.
* Ignore Hidden Layers. Ignore bones on hidden layers when identifying the target rig.
=== Subsample and Rescale ===
If the Use Default Subsample option is set, the mocap tool will rescale the animation to fit the current frame rate. However, there are at least two reasons why you may want to load an animation at a different frame rate:
* * To obtain a slow-motion or rapid-motion effect.
* To quickly load an animation to see if the gross features will work out.
If the Use Default Subsample option is disabled, the SubSample section becomes visible.
* Subsample. Enable subsampling.
* Subsample Factor. If the value of this property is n, only every n:th frame of the BVH animation is loaded.
* Rescale. Enable rescaling.
* Rescale Factor. If the value of this property is n, the time distance between keyframes is changed to n.
* Rescale FCurves. Apply the settings above to existing F-curves rather than to the loaded animation.
Rescaling differs from simply scaling F-curves in the F-curve editor.
=== Simplification ===
* Simplify FCurves. Remove unnecessary keyframes.
* Max Loc Error. The maximal allowed error for location keyframes, in Blender units. A larger error results in fewer keyframes but less accuracy.
* Max Rot Error. The maximal allowed error for rotation keyframes, in degrees. A larger error results in fewer keyframes but less accuracy.
* Only Visible. Simplification only affect F-curves visible in the Graph editor.
* Only Between Markers. Simplification only affects F-curves between the two outermost selected markers. The timeline must have at least two selected markers.
==== Edit panel ====
Loading and retargeting is normally only the first step in the creation of an animation from mocap data. There are many reasons why a loaded animation does not behave exactly the way you want it to: artifacts in the mocap data, differences in armature structure not compensated for correctly by the retargeting process, differences in body stature between the mocap actor and the target character, or simply that the filmed sequence does not do exactly what you intend.. It is of course possible to edit the action directly in the graph editor, but this is unpractical due to the amount of mocap data. The mocap tool offers several possibilities to edit an action at a higher level. These tools are colleted in the Edit Action panel which is located just below the Options panel.
!IMAGE!Pictures/edit-action.png!/IMAGE!
=== Inverse Kinematics ===
* Transfer FK => IK: The load and retarget steps transfers an animation from a bvh file to the target character. However, only the FK bones are animated. Press this button to transfer the FK animation to the IK bones. Only works for the advanced MHX armature. If two markers are selected, only the animation between the markers is transferred.
* Transfer IK => FK: Transfer the animation back from the IK bones to the FK bones. Useful if the IK animation has been edited,
* Clear IK Animation: Remove all keyframes from all IK bones (arms and legs).
* Clear FK Animation: Remove all keyframes from all FK bones (arms and legs).
=== Global Edit ===
* Shift Animation. Shift the keys for the selected bones at all keyframes.If two markers are selected, only the keyframes between the markers are deleted.
* X,Y,Z: F-curves affected by the next button.
* Fixate Bone Locations:Replace all location keys by their average. Only selected bones and keyframes between selected markers are affected.
* Rescale Factor: Factor used by next button.
* Rescale FCurves: Rescale all F-curves by the factor above. This is similar to scaling F-curves in the curve editor, but jumps are treated correctly. E.g., rotations of +180 degrees and -180 degrees are the same, but if we scale an F-curve with a factor two, the intermedate keyframe will have the average rotation 0 degrees, The Rescale FCurves button handles this case correctly.
=== Local Edit ===
This section could be called "Poor man's animation layers". A loaded mocap animation usually has imperfections that must be edited, but without changing the overall feel of the motion. The Start Edit button creates a new animation layer where differences from the original motion are stored as keys, called delta keys since delta often denotes a difference.
* Start Edit: Start editing F-curves.
* Undo Edit: Quit F-curve editing, without modifying the original F-curves.
* Loc: Set a location delta keyframe.
* Rot: Set a rotation delta keyframe.
* LocRot: Set a location and rotation delta keyframe.
* Delete: Remove all delta keyframes at the current time.
* |<: Move to first delta keyframe
* <: Move to previous delta keyframe.
* >: Move to next delta keyframe.
* >|: Move to last delta keyframe.
* Confirm Edit: Modify the original F-curves and quit F-curve editing.
The delta keys are represented by markers in the timeline.
!IMAGE!Pictures/mwe-315-local-keys.png!/IMAGE!
A delta key can be added with the Loc, Rot and LocRot buttons, and removed with Delete. There is no way to view the delta keys directly. In the viewport and the curve editor, the final pose is shown, which is the sum of the original pose and the delta key.
A common use for delta keys is to correct for intersection with other objects or the character herself. The typical workflow is as follows:
* * Start Edit.
* Set a delta key at a good frame just before the intersection.
* Set a delta key at a good frame just after the intersection.
* Edit the pose a the frame(s) where intersection occurs.
* If the intersection has been removed, Confirm Edit. If not, set new delta keys until it has, or Undo Edit to remove the delta layer.
=== Feet ===
* Left: Affect the left foot.
* Right: Affect the right foot.
* Hips: Affect the characters hip (COM) bone.
* Offset Toes: Ensure that the toe is below the ball of the foot at all keyframes. Primarily useful for rigs with a reverse foot setup as explained below.
* Keep Feet Above Floor: If a mesh object (typically a plane) is selected, shift the keyframes to keep the affected feet above the plane. The plane does not necessarily lie in the XY plane; if the plane is tilted, the feet are kept on the plane's upper side. If no plane is selected, the feet are kept above the XY plane (z = 0). The IK feet are affected if the rig has and uses IK legs, otherwise the FK feet are kept above the floor. If two markers are selected, only the keyframes inbetween are shifted.
In a rig with a reverse foot setup, such as the MHX rig, the foot can rotate around the toe, ball, and heel. The reverse foot and toe bones are completely fixed by the corresponding FK bones, but the IK effector can be placed arbitrarily, as long as it ends at the toe tip. The transfer tool uses this freedom to make the IK effector perfectly horizontal, provided that the toe is below the ball and heel.
!IMAGE!Pictures/refoot.png!/IMAGE!
To use this feature we must ensure that the toe is below the ball of the foot, which is done by the Offset Toes button.
=== Loop And Repeat ===
!LINK! -- Loop Animation!/LINK!
Create a loop of the action between two selected time markers, by blending the keyframes in the beginning and end of the loop. This is useful e.g. to create walk and run cycles for games. For good results, the poses at the beginning and end of the selected region should be similar.
* Blend Range: The number of keyframes used for blending.
* Loop in place: Remove the X and Y components of the root bone's location.
* Loop F-curves: Loop the animation.
!LINK! -- Repeat Animation!/LINK!
Repeat the action between two selected time markers. The actions should preferably be looped before it is repeated, to make the beginning and end match seamlessly.
* Repeat Number: The number of repetitions.
* Repeat F-curves: Repeat the animation.
=== Stitching ===
Create a new action by stitching two actions together seamlessly.
* Update Action List: Update the first and second action drop-down lists.
* First Action: The name of the first action.
* First End Frame: Last frame of the first action
* Set Current Action: Set the first action as the current action.
* Second Action: The name of the second action.
* Second Start Frame: First frame of the second action.
* Set Current Action: Set the second action as the current action.
* Action Target: Choose between creating a new action and prepending the second action.
* Blend Range: The number of keyframes used for blending. Same parameter as in Loop Animations section.
* Output Action Name:
* Stitch Actions: Stitch the actions together.
=== MHBlenderTools: MakeWalk armatures ===
==== Source Armature panel ====
MakeWalk transfers an animation from a source armature, defined in a bvh file, to a given target armature. It uses an intermediate standard rig described in!LINK!http://makehuman.org/doc/node/defining_the_target_rig_manually.html -- Defining the Target Rig Manually!/LINK!. The bone map from the source armature to the target armature hence consists of two parts:
* A map from the source rig to the standard rig. It is defined in the MakeWalk: Source Armature panel.
* A map from the target rig to the standard rig. It is defined in the!LINK!http://makehuman.org/doc/node/makewalk_target_armature_panel.html -- MakeWalk: Target Armature panel!/LINK!.
!IMAGE!Pictures/mws-010-panel.png!/IMAGE!
When a new scene is opened, the panel consists of the single button Initialize Source Panel. Once this button has been pressed, the following content is available:
!IMAGE!Pictures/mws-020-auto.png!/IMAGE!
* Reinit Source Panel: Reinitialization.
* Auto Source Rig: If this option is enabled, MakeWalk will try to identify the source rig automatically. It may happen that MakeWalk fails to identify the source rig automatically, but this is very unusual. If it should nevertheless happen, it is possible to define the bone map manually in analogy with !LINK!http://makehuman.org/doc/node/defining_the_target_rig_manually.html -- how it is done for target rigs!/LINK!.
* Source rig. A list of bvh rigs recognized by the mocap tool. This either defines the expected source rig (if Auto Source Rig is disabled) or to Automatic.
* Bones in the active source rig.
==== Target Armature panel ====
The second part of the mapping from source to target armatures is defined by the panel labelled MH Mocap: Target armature. It is the top-most of the mocap tool panels, and is closed by default.
When a new scene is opened, the panel consists of the single button Initialize Target Panel. Once this button has been pressed, the following content is available:
!IMAGE!Pictures/mwt-011-panel.png!/IMAGE!
* Reinit Target Panel. Reinitialization.
* Target rig. A list of bvh rigs recognized by the mocap tool. This either defines the expected Target rig (if Auto Target rig guessing is disabled), or is set to a matching rig (if automatic target rig identificiation is enabled).
* Auto Target Rig. If this option is enabled, MakeWalk will try to identify the target rig automatically. However, automatic rig identification is not trivial for complex rigs, and it may fail. If so, the bone map may be specified manually, cf!LINK!http://makehuman.org/doc/node/defining_the_target_rig_manually.html -- Defining the Target Rig Manually!/LINK!. If the bone map is defined. The target rigs available by default correspond mostly to the rig presets that can be exported from MakeHuman
* MHX. An advanced rig from MakeHuman alpha 8.
* MH Alpha 7. The MHX rig from MakeHuman alpha 7.
* Rigify.
* Ignore Hidden Layers: Ignore bones on hidden layers during automatic rig identification.
* Reverse Hip. Select this option if the armature has an reverse hip. It is rather common that an armature has a reverse hip. In a normal hip setup, the armature root is the hip or pelvis bone, and the thighs and the rest of the spine are children of this bone. In a reverse hip setup, the first bone in the spine has been reversed. There is a separate root bone, and the two lowest bones in the spine are both children of thise root, whereas the thighs are children of the reversed hip.
* Identify Target Rig: Identify the target rig, i.e. find out how bone names in the active armature correspond to the internal names. This step is performed automatically during retargeting, but the identification can also be done separately for debugging purposes. The bone map appears in the area called FK bones below.
* Set T-pose. Pose the active armature in T-pose.
* Save T-pose. Option used by the next button.
* Save Target File. Save the current bone map as a .trg file. If the Save T-pose option is set, also save a json file defining the T-pose.
* FK bones. The bone map.
The picture below shows automatic rig identification of the Rigify meta-rig (Add > Armature > Advanced Human).
!IMAGE!Pictures/mwt-020-metarig.png!/IMAGE!
=== MHBlenderTools: MakeWalk troubleshooting. ===
==== What if retargeting fails? ====
=== Errors and Corrective Actions ===
This document will describe common errors and corrective actions.
It may happen that MakeWalk fails to retarget an animation to a given armature. In that case an error message is displayed.
!IMAGE!Pictures/mwa-100-error.png!/IMAGE!
The error message consists of the following:
Mocap error
Category
Detailed error message
A link to this page
MakeWalk errors are grouped into the following categories:
* Load Bvh File
* Rename And Rescale
* Identify Target Rig
* Automatic Target Rig
* Manual Target Rig
* Identify Source Rig
* Retarget
* General Error
Load Bvh File
Rename And Rescale
Identify Target Rig
=== Automatic Target Rig ===
The most common problem is probably that MakeWalk fails to identify the target rig automatically. There are several possible reasons for this:
* The character is not oriented correctly. In the rest pose, the character should be standing with up being the positive Z axis and facing -Y.
* The armature is complex with extra bones not corresponding to a standard biped rig.
* The armature only has IK arms or legs. MakeWalk retargets animations to the FK limbs, so if no such bones exist, the program will not work.
!IMAGE!Pictures/mwa-110-reverse-hip.png!/IMAGE!
It is rather common that an armature has a reverse hip. In a normal hip setup, the armature root is the hip or pelvis bone, and the thighs and the rest of the spine are children of this bone. In a reverse hip setup, the first bone in the spine has been reversed. There is a separate root bone, and the two lowest bones in the spine are both children of thise root, whereas the thighs are children of the reversed hip.
!IMAGE!Pictures/mwa-120-reversehip.png!/IMAGE!
The advantage of such a setup is that the upper and lower body can be posed independently. However, MakeWalk failes to identify the bones, unless the Reverse Hip option has been enabled.
If automatic bone identification still fails, bone mapping has to be made manually. How this is done is described in the next section.
=== Defining the Target Rig Manually ===
Internally, MakeWalk retargets animations to an armature with the following bone hierarchy.
Here is a visual illustration of the bone hierarchy:
!IMAGE!Pictures/mwa-010-armature.png!/IMAGE!
In order to retarget to an armature with different bone names, we must define a map between the given bones and the internal names. By default, MakeWalk attempts to do this automatically. However, automatic bone mapping may easily be confused for non-trivial rigs. If this happens, one can define the bone map manually.
A bone map for a target armature is defined by a .trg file located in the target_rigs folder under the makewalk directory. The folder already contains three files, for retargeting the MHX advanced rig, the MakeHuman, and Rigify. These rigs are too complicated to identify the bone map automatically, so MakeWalk recognizes these rigs and use the predefined bone map.
Create a .trg file using an existing file as a template. E.g., a .trg file could look like this:
Note that it is not necessary to define maps to all bones. Bone names must not contain spaces, since whitespace is used as a delimiter in the .trg file. If the bones in your armature do contain spaces, replace them by underscore ( _ ). MakeWalk treats space and underscore as equivalent, so this is not a problem, except for very strange naming convention.
!IMAGE!Pictures/mwa-020-myrig.png!/IMAGE!
Save the .trg file with the name my_rig.trg in the target_rigs folder and press the Reinit Target Panel button. My_Rig should now appear in the Target rig list. Select it. In the FK bones sections, the My_Rig bone names are now listed. Make sure that the Auto Target Rig option is deselected, to override automatic bone mapping. Finally go to the main panel and press Load And Retarget. The animation should now be loaded.
=== MHBlenderTools: MakeWalk utilities ===
==== Utilities panel ====
This panel contains material that does not naturally fit into the other panels.
!IMAGE!Pictures/mwu-010-panel.png!/IMAGE!
=== Default Settings ===
* Save Defaults: Save current settings as the default settings.
* Load Defaults: Load the default settings from file.
=== Manage Actions ===
* Actions: A list of all actions in the scene, at the time when the Update Action List button was last pressed.
* Filter: If selected, only actions belonging to the active character are included in the action list. When the mocap tool creates an action, the first four letters in the action name are taken from the rig name.
* Update Action List:
* Set Current Action: Set the action selected in the Actions list as the active action.
* Delete Action: Permanently delete the action selected in the Actions list. The action must have zero users. It is quite cumbersome to permanently delete actions in Blender. The reason is that creating an action with hand animation takes much work, which should not be lost accidentally. The situation is different with mocap, where it is easy to fill up a blend file with many irrelevant actions. This button makes it easier to clean out such junk motions.
* Delete Temporary Actions: Some tools create temporary actions, whose names start with a hash sign (#). Deletes all such actions.
=== Temporary properties ===
* Delete Temporary Properties. MakeWalk creates some properties for relevant posebones during retargeting. Pressing this button removes these properties. However, be aware that some of the tools in the Edit panel may fail if the temporrary properties are deleted.
The temporary properties for the active posebone can be inspected in the N-panel.
!IMAGE!Pictures/mwu-030-temp-props.png!/IMAGE!
* McpBone: The name of this bone in the internal hierarchy.
* McpParent: The parent of this bone in the internal hierarchy.
* McpQuatW, McpQuatX, McpQuatY, McpQuatZ: The rotation of this bone in T-pose, represented as a quaternion.
=== T-pose ===
* Set T-pose: Set the current pose to T-pose.
* Clear T-pose: Set the current pose to the default pose.
* Load T-pose: Load a T-pose from a .json file to the active armature.
* Save T-pose: Save the current pose as a .json file.
=== Rest Pose ===
* Current Pose => Rest Pose: Set the current pose to rest pose.
=== MHBlenderTools: MHX importer basic usage. ===
MHX (MakeHuman eXchange format) is a custom format used to transfer a rigged character from MakeHuman to Blender. Due to its tight integration with Blender's python API, it supports advanced features like constraints, drivers and properties that general-purpose formats like Collada or FBX do not support.
==== Export From MakeHuman ====
!IMAGE!Pictures/mx010-export.png!/IMAGE!
After the character has been designed in MakeHuman, go to the Files > Export tab and select Blender exchange (mhx) as the Mesh format. Type the character's name in the box at the top and press export. An mhx file has been exported.
==== Import Into Blender ====
Once the mhx importer has been enabled, we can import the mhx file. Select File > Import > MakeHuman (.mhx).
!IMAGE!Pictures/mx070-import.png!/IMAGE!
In the file selector, navigate to the file that we just exported from MakeHuman, i.e. John Doe.mhx in the export directory. After a short while, the character appears in the viewport, ready for posing.
!IMAGE!Pictures/mx080-import.png!/IMAGE!
=== MHBlenderTools: MHX default rigging ===
If pose/animate > skeleton is set to 'None' when the character is exported from MakeHuman in .MHX format, the character is equipped with the default MHX armature. This is a rather complex rig with quite a few features.
The bones are grouped into bone layers. Bone layers can be turn on and off in the MHX Main panel that appears in the user interface pane (N-pane), which is found to the right of the viewport. N-pane visibility can be toggled on and off with N-key.
The Root Layer
!IMAGE!Pictures/mx210-root.png!/IMAGE!
There are two bones on the Root layer:
* master: the big bone located at the foot level. It is the ultimate parent of every other bone in the rig, and can be used to move the entire character, including ik effectors.
* root: the wiggly bone located at the character's center of mass. It also moves the entire character, but IK effectors remain at a fix position.
The Spine Layer
!IMAGE!Pictures/mx220-spine.png!/IMAGE!
The spine is an immedate child of the root bone.
* spine:
* spine-1:
* chest:
* chest-1
* neck
* head
On this layer the two clavicle bones are also found. They are children of chest-1 and also appear on the arm layers.
The Head Layer
!IMAGE!Pictures/mx230-head.png!/IMAGE!
This layers contains the bones of the head (not the Neck and Head bones, however).
* jaw: Jaw bone
* tongue_base: Inner part of tongue.
* tongue_mid: Middle part of tongue.
* tongue_tip: Outer part of tongue.
* eye.L: Left eye.
* uplid.L: Left upper eyelid.
* lolid.L: Left lower eyelid.
* eye.R: Right eye.
* uplid.R: Right upper eyelid.
* lolid.R: Right lower eyelid.
* gaze. Target that the left and right eyes are tracking.
The FK Arm Layers
!IMAGE!Pictures/mx240-fkarm.png!/IMAGE!
The left forward kinematics (FK) arm layer consists of:
* clavicle.L: Left clavicle.
* deltoid.L Left deltoid muscle.
* upper_arm.fk.L: Left FK upper arm (humerus).
* forearm.fk.L: Left FK forearm. Y rotation is locked on this bone. To twist the forearm, rotate the hand bone instead.
* hand.fk.L: Left FK hand.
The bones on the right FK arm layer are analogous.
Note that there are two shoulder bones: clavicle and deltoid. It is not trivial to pose the shoulder, and with two shoulder bones better deformation is possible. The drawback is that an additional bone must be posed. However, in the common case that the arm is well below shoulder level, the deltoid bone can often be ignored.
The FK Leg Layers
!IMAGE!Pictures/mx250-fkleg.png!/IMAGE!
The left FK leg layer consists of:
* thigh.fk.L: Left FK thigh.
* shin.fk.L: Left FK shin.
* foot.fk.L: Left FK foot.
* toe.fk.L: Left FK toes.
THe right FK layer is analogous.
The Finger Layers
!IMAGE!Pictures/mx260-fingers.png!/IMAGE!
The long fingers on the Finger layers give a quick way to pose the fingers; the poses can be fine-tuned with the individual finger links on the Links layer. The bones on the left Finger layer are:
* thumb.L: Left long thumb.
* index.L: Left long index finger.
* middle.L: Left long middle finger.
* ring.L: Left long ring finger.
* pinky.L: Left long pinky.
The bones on the right Finger layer are analogous.
Rotating a long finger around the local X will cause all finger links to curl (rotate around local X). Rotation around local Z only affects the first finger link.
The Finger Link Layers
!IMAGE!Pictures/mx270-links.png!/IMAGE!
Each of the Finger Links layers contains fourteen bones; two for the thumb and three for each other finger. They are used to fine-tune the finger pose, once a rough pose is achieved with the long finger bones.
The Palm Layers
!IMAGE!Pictures/mx280-palm.png!/IMAGE!
The left Palm layer contain the meta-carpal bones:
* thumb.01.L: Parent of the left thumb bones.
* palm_index.L: Parent of the left index finger bones.
* palm_middle.L: Parent of the left middle finger bones.
* palm_ring.L: Parent of the left ring finger bones.
* palm_pinky.L: Parent of the left pinky bones.
The bones on the right Palm layer are analogous.
The IK Arm Layers
!IMAGE!Pictures/mx300-ikarm.png!/IMAGE!
The arms are controlled by FK by default, but inverse kinematics (IK) can also be used. To quickly switch between FK and IK, press the buttons labelled FK or IK in the MHX FK/IK Switch panel, which appears in the N-panel if an MHX armature is the active object.
* clavicle.L: Left clavicle. Same bone as on FK layer.
* deltoid.L: Left deltoid. Same bone as on FK layer.
* hand.ik.L: Left hand IK effector. Positions and rotates the hand. Also controls forearm twist.
* elbow.pt.ik.L: Left elbow pole target. Controls the location of the elbow, which lies in the plane spanned by the arm socket (head of upper arm), wrist (tail of forearm), and elbow pole target.
* elbow.link.L: A rubberband that connects the elbow to the elbow pole target. This bone is merely a visual cue; has no effect and can not be selected.
The bones on the right IK arm layer are analogous.
The IK Leg Layers
!IMAGE!Pictures/mx310-ikleg.png!/IMAGE!
The legs are controlled by FK by default, but IK can also be used. To quickly switch between FK and IK, press the buttons labelled FK or IK in the MHX FK/IK Switch panel, which appears in the N-panel if an MHX armature is the active object.
* foot.ik.L: Left hand IK effector. Positions and rotates the hand.
* toe.rev..L: Left reverse toe.
* foot.rev.L: Left reverse foot.
* knee.pt.ik.L: Left knee pole target. Controls the location of the knee, which lies in the plane spanned by the leg socket (head of thigh), ankle (tail of shin), and knee pole target.
* knee.link.L: A rubberband that connects the knee to the knee pole target. This bone is merely a visual cue; has no effect and can not be selected.
* shin.ik.L: The foot bones and the pole target control the thigh and shin rotation, except for the twist (local Y rotation) of the shin, which is handle by this bone instead. The IK shin bone does not affect the bending of the shin, only the twisting.
The bones on the right IK leg layer are analogous.
!IMAGE!Pictures/mx320-revfoot2.png!/IMAGE!
The IK leg has an reverse foot setup, which allows the foot to rotate around the toe, ball, and heel.
* foot.ik.L: Rotate around heel.
* toe.rev.L: Rotate around toe tip.
* foot.rev.L: Rotate around ball.
FK-IK Snapping
In a rig with both FK and IK, it is useful to be able to switch between the two seamlessly. To this end, the MHX FK/IK Switch panel contains buttons to snap the IK to FK and vice versa, in such a way that the character's pose remains unchanged.
!IMAGE!Pictures/mx330-fkik2.png!/IMAGE!
To snap the IK bones to the FK pose, press the buttons
* Snap L IK Arm
* Snap R IK Arm
* Snap L IK Leg
* Snap R IK Leg
respectively. Note that the FK buttons at the top of the panel change to IK.
!IMAGE!Pictures/mx340-ikfk2.png!/IMAGE!
To snap the FK bones to the IK pose, press the buttons
* Snap L FK Arm
* Snap R FK Arm
* Snap L FK Leg
* Snap R FK Leg
respectively. Note that the IK buttons at the top of the panel change to FK.
The Tweak layer
!IMAGE!Pictures/mx360-tweak2.png!/IMAGE!
This layer contains some rarely used bone that in some cases are useful to tweak a pose.
* breast.L: Controls rotation of left breast. Useful mainly for female characters.
* arm.socket.L: The left arm socket. Allows the left upper arm (FK and IK) to be moved away from the deltoid bone.
* leg.socket.L: The left leg socket. Allows the left thigh (FK and IK) to be moved away from the hip.
The right-side bones (with suffix .R) are defined analogously.
!IMAGE!Pictures/mx370-markers2.png!/IMAGE!
The Tweak layer also contains marker bones. They are used by MakeWalk to determine the location of the toe, ball and heel, so they can be moved up above floor level. Move these bones in Edit mode to fine-tune their locatation. The marker bones on the left side are:
* toe.marker.L: Left toe marker.
* ball.marker.L: Left ball marker.
* heel.marker.L: Left heel marker.
The marker bones on the right side are analogous.
The MHX Control Panel
The default behaviour of the MHX rig can be modified by changing some properties in this panel.
!IMAGE!Pictures/mx410-gaze2.png!/IMAGE!
* GazeFollowsHead: If 1.0, the gaze bone is parented to the head. If 0.0, the gaze bone remains fixed in space (it is parented to the master bone).
* RotationLimits: If 0.0, all Limit Rotation constraint is ignored. If 1.0, they are honored. Default = 0.8.
!IMAGE!Pictures/mx420-hinge2.png!/IMAGE!
* ArmHinge, Left and Right: Determines whether the arm rotates when the shoulder does.
* FingerControl, Left and Right: Determines whether the finger links are parented by the long fingers (the default), or if the long fingers are to be ignored.
!IMAGE!Pictures/mx430-leghinge2.png!/IMAGE!
* LegHinge, Left and Right: Determines whether the leg rotates when the hip does.
!IMAGE!Pictures/mx440-legik2ankle2.png!/IMAGE!
* LegIkToAnkle, Left and Right: If turned on, the reverse foot setup is disabled, and the ankle bones on the Extra layers become the effectors for the IK legs.
=== MHBlenderTools: MHX other rigging systems ===
By default (i.e., if Pose/Animate > Skeleton is set to 'None') a character is exported as an mhx file is rigged with the MHX rig, which is a rather complex rig with many options. Alternatively, the character can be rigged with a simpler and ligher armature by choosing an alternate Rig Preset under Pose/Animate > Skeleton.
!IMAGE!Pictures/mx710-other-rig2.png!/IMAGE!
To this end, select one of the rigs in the Pose/Animate > Skeleton tab. A skeleton is drawn. Export the character from MakeHuman as an mhx file.
To reselect the default mhx rig, press None in the Pose/Animate > Skeleton tab.
!IMAGE!Pictures/mx720-other-blender2.png!/IMAGE!
Import the mhx file into Blender. Note that there are fewer bone layers available in the MHX Main panel.
==== Using the Rigify rig ====
As an alternative to the mhx rig, MakeHuman characters can also be rigged with the popular Rigify add-on by Nathan Vegdahl. Links to documentation about Rigify in general:
!LINK!http://wiki.blender.org/index.php/Extensions:2.6/Py/Scripts/Rigging/Rigify -- Official Rigify documentation!/LINK!
!LINK!http://blenderartists.org/forum/showthread.php?200371-Rigify-Auto-rigging-system-new-and-improved -- Blenderartist thread!/LINK!
!IMAGE!Pictures/mx810-rigify-export2.png!/IMAGE!
To use Rigify, the character must first be prepared in MakeHuman. Select the Export for Rigify checkbox in the Options group and export the file. This checkbox overrides any other rig selected under the Skeleton tab.
!IMAGE!Pictures/mx820-rigify-enable2.png!/IMAGE!
In Blender, enable the Rigify add-on. It is found in the Rigging category. Press Save User Settings to remember the choice.
!IMAGE!Pictures/mx830-rigified2.png!/IMAGE!
Import the mhx file as usual. John Doe is now rigged with Rigify and ready for use.
!IMAGE!Pictures/mx840-norigify2.png!/IMAGE!
If the Rigify add-on is not enabled, an intermediate rig is imported and an error message appears. If this happens, open a new Blender file, enable Rigify, and try again. Alternatively, you may select the armature and press the Rigify MHX Rig button that appears in the N-panel (after you have enabled the Rigify add-on, of course).
Disclaimer: MakeHuman has no control of the Rigify add-on. Rigify support was tested with Blender 2.69. If the specification of Rigify changes in the future, mhx file exported for Rigify may cease to work.
=== MHBlenderTools: MHX Layers and masks ===
The mhx importer creates objects on the first four layers.
!IMAGE!Pictures/mx900-layers2.png!/IMAGE!
* * This layer contains the body, including hair, eyes, etc.
* This layer contains the armature.
* This layer contains any clothes. Empty if the character is nude.
* This layer contains any proxy meshes. Empty if no proxy mesh was exported.
Note that a proxy mesh does not replace the original human mesh, but is added as a separate object. If you only want to use the proxy mesh, the body can be deleted. However, the proxy mesh (perhaps slightly edited) has several uses apart from simply replacing the body, e.g. as a deflection surface for cloth simulation, or to speed up viewport performance when animating. It is therefore up to the user to decide which meshes to delete.
!IMAGE!Pictures/mx920-unmasked2.png!/IMAGE!
Vertices beneath clothes are hidden, to avoid ugly penetration issues. The picture above illustrates what may happen if skin under clothes is not hidden.
!IMAGE!Pictures/mx910-mask2.png!/IMAGE!
However, skin beneath clothes is not removed, only hidden by masks. This becomes evident if in edit mode, where the entire body is visible. To undress the character, deselect the clothes layer (layer 3), and disable all mask modifiers. Don't forget to disable the mask modifier for rendering as well.
With the mask modifiers, it is possible to export a character from MakeHuman with several different outfits, and select the outfit and hidden body vertices in Blender.
If you wish to delete the hidden vertices permanently, e.g. to improve performance or for export to some other application, apply the relevant mask modifiers.
=== MHBlenderTools: MakeClothes rigid fitting ===
The standard clothes fitting algorithm is suitable for flexible clothes, especially clothes that follow the body closely. However, is does not work well for rigid objects like shoes, Therefore, MakeClothes has a variant suitable for rigid shoes. Rigid fitting is used on a vertex group basis, so rigid and flexible fitting can be mixed in the same piece of clothing.
Rigid fitting is used for every vertex group whose name starts with a '*'. Each such vertex group in the human must contain exactly three vertices, that determine the triangle used for fitting in this group.
!IMAGE!Pictures/rf-100-orig.png!/IMAGE!
The use of rigid vertex groups is best explained by an example. Consider a pair of shoes, which is a rigid object. We used the standard MakeClothes settings and an adult human with the original shoe to the left. Then the mhclo file was loaded onto a baby, with the result to the right. The shoe is recognizable but it has been deformed in an undesirable way. However, even though the quality of the fitting is poor, make sure to save the mhclo file, because we will need it at the end of this tutorial.
!IMAGE!Pictures/rf-110-projection.png!/IMAGE!
Each clothing vertex v is associated with a triangle t in the human mesh, i.e. three human vertices v1, v2, v3. Letrdenote the location of v andr1,r2,r3the locations of the corners of the triangle. Further, let d be the perpendicular distance from the clothes vertex to the plane spanned by the triangle. MakeClothes assigns three weights w1, w2, w3, such that
r= w1r1+ w2r2+ w3r3+d,
where the sum of weights w1+ w2+ w3= 1. When the clothing is loaded onto a different character, the new location becomes
r'= w1r'1+ w2r'2+ w3r'3+d',
wherer'1,r'2,r'3are the locations of the three human vertices in the new character, and
d' = Sd= (sxdx, sydy, szdz)
is obtained from the original offsetdby inhomogeneous global scaling with the diagonal scale matrix
S = diag(sx, sy, sz).
The important observation is that the quality of the fitting depends crucially on the chosen triangle, i.e. the triple of human vertices the determines the clothes vertex location. The standard choice is to choose the human triangle closest to to clothing vertex. In rigid fitting the triangle is the same for all vertices, and is defined by the tree vertices in the vertex group.
!IMAGE!Pictures/rf-120-vgroups.png!/IMAGE!
Here we see the vertex groups used to fit the left shoe. The standard vertex group Left consists of all vertices close to the left shoe, in the tights helper. On the other hand, the rigid vertex group *Left only contains three vertices that define the single triangle used for all clothes vertices in this group.
!IMAGE!Pictures/rf-130-triangles.png!/IMAGE!
The next illustration shows the corresponding triangles used for fitting. The Left group uses many triangles obtained by triangulating the corresponding faces. Different shoe vertices are associated with triangles that are transformed differently, and the rigid character of the shoe is lost. The *Left group only has one single triangle, with corners at the three vertices in the vertex group. The same triangle is used by all left shoe vertices.
!IMAGE!Pictures/rf-140-rename-vgroups.png!/IMAGE!
Once the human vertex groups have been defined, we proceed with clothes-making. Rename the shoe vertex groups to *Left and *Right, to make the shoes use rigid fitting. Recall that the human can have several overlapping vertex groups, but in a piece of clothing each vertex must belong to exactly one group.
!IMAGE!Pictures/rf-150-offset-scaling.png!/IMAGE!
Next we open the Offset Scaling section and select Foot as the body part. In flexible fitting, the offsets are usually very small, and selecting the correct body part is not so important. In contrast, this step is very important in rigid fitting, because many vertices are far away from their triangles and the offsets must be scaled correctly. Press Examing Boundary for a visual inspection of which vertices define the global scale matrix..
!IMAGE!Pictures/rf-160-baby-shoes.png!/IMAGE!
This picture shows the shoe loaded on a baby, using flexible fitting (blue) and rigid fitting (red). Rigid fitting clearly maintains the shape of the shoe much better.
However, one problem remains: bone weighting. Start up MakeHuman and load the shoes under the Geometries > Clothes tab. Export the character with a rig in one of the formats that allows that, e.g. mhx, and import the character into Blender. Now try to pose the feet. As we see in the picture below, the shoe does not follow the foot but is squashed or stretched in strange ways.
!IMAGE!Pictures/rf-170-bad-deformation.png!/IMAGE!
The reason is that rigid fitting affects the bone weights as well as the vertex locations. The bone weights are interpolated between the three corners of the triangle, rather than using the information from the entire foot. To correct this we need to use two different associations between clothes and human vertices: rigid fitting for vertex locations, but flexible fitting for bone weights.
Fortunately, MakeHuman can handle this situation, although there is currently no elegant interface for it in MakeClothes. In a text editor, open the mhclo file obtained by standard fitting in the beginning of this tutotial (this is why you needed to save it), and copy everything after the line
verts 0
to the end of the new mhclo file obtained by rigid fitting. Before the copied section, insert the line
weighting_verts
Export the shoes again from MakeHuman and import into Blender. The shoes should now both maintain their rigid shape and deform correctly.
!IMAGE!Pictures/rf-190-good-deformation.png!/IMAGE!
Due to an unfortunate behavior in MakeHuman, it is possible that the updated mhclo file is not loaded after it has replaced the old one. This is because MakeHuman automatically compiles mhclo and obj files when loaded, so they can be loaded faster next time. Although this behavior is convenient for ordinary users, it is very confusing and frustrating for clothes makers. If MakeHuman insists on loading old versions of your clothes, you may need to delete the compiled files (*.mhpxy and *.npz), or restart MakeHuman, or both. After the compiled files are gone, the updated clothes should load without problems.
!IMAGE!Pictures/rf-180-compiled-files.png!/IMAGE!
== Developers' note ==
Some notes about how to obtain the source code, modify it and share it.
=== Makehuman Plugin System ===
==== Plugins ====
Makehuman has a simple plugin framework which makes it easy to add and remove features. At startup, MakeHuman now looks for .py files in the plugins folder which are not starting with an underscore (which makes it easier to disable unwanted plugins). It loads them one by one and calls the load entry point passing a reference to the application. The plugin can use this reference to add the necessary GUI widgets or code to the application.
The rules for plugins are very simple:
* A plugin is a .py file in the plugins folder with a load entry point.
* A plugin only imports core files.
The reason a plugin cannot import other plugins is that it would make it difficult to know which files belong to which plugin. We still need to define a convention for shared files beyond the core MakeHuman files. To get started look at example.py or any of the other plugins to see how you can create your own feature in MakeHuman.
==== GUI ====
The main layout is a two level tab control. The tabs at the top represent categories, like files. modelling, geometries, materials, etc. The ones at the bottom are the tasks in the current category and refine the more broad category in face, torso, gender, saving, loading, exporting etc.
So when creating your plugin, the first thought should be “In which category does it belong?”. From experience we know that it can be a though question to answer. Sometimes the only answer is adding a new category. This is what we initially did for measurement for example
Next you probably want your own task to implement your feature. While it’s possible to attach functionality to an instance of gui3d.Task, it’s often easier to derive your own class.
When you create an instance of your class, you pass the parent of your task, which can either be an existing category
or the new one which you added.
In your derived task you will then add the necessary controls to let the user interact. A good place to see how to use the different controls is the example plugin. You will see that even if you don’t add any controls, the model is already visible. This is because the model is attached to the root of the GUI tree. In the onShow event of your task you might want to reset the camera position, like we do in the save task, or hide the model, like we do in the load task. Just don’t forget to reset the state when your task gets hidden in onHide.
==== Undo-redo ====
It is important that every modification is undoable, since just one undo able modification would leave the user without the possibility to undo anything. So it’s crucial that if you write a plugin which modifies the model, you also make undo work.
The Application class has several methods to work with actions. An action is a class with two methods, do and undo. If the action itself does the modification you can use app.do to add it to the undo stack. If you did the modification yourself already during user interaction, you can add the action using app.did. The application won’t call the do method of the action in that case.
If you want to make your own undoredo buttons, you can use app.undo and app.redo. To illustrate, here is the action we use to change the hair color:
The postAction is a handy way to specify a method to keep your GUI in sync with the changes.
==== Asynchronous Calls and Animation ====
When doing lengthy operations it is important not to block the GUI from redrawing. Since everything runs in one thread, it is easy to block the event loop in your plugin. There are 4 ways to avoid this, depending on the need. If no user interaction is needed, a progressbar can be used. A progressbar uses the redrawNow() method of the application. This redraws the screen outside the event loop. Instead of creating your own progressbar, it is advised to use the progress method, which uses the global progressbar. Calling progress with a value greater than zero shows the progressbar, a value of zero hides it.
If user interaction is desired during the operation, either asynchronous calls, a timer or a thread can be used. Asynchronous calls are used when a lengthy operation can be split in several units. It is used for example in the startup procedure as well as for the plugin loading loop. The mh.callAsync(method) queues the calling of method in the event loop, so it will be called when the event gets processed. In case different methods need to be called after each other, as in the startup procedure, callAsync is used to call the next method.
In case of the plugin loading loop, it calls the same method until it is done.
This is not to be used for animations, as it takes very little time between calling callAsync and the event loop calling the method. Calling time.sleep(dt) to avoid this should not be done as it blocks the main thread. For animations use timers instead. An example of this can be found in the BvhPlayer plugin. The method mh.addTimer(interval, method) adds a timer which calls the given method every interval milliseconds. It returns a value to be used by removeTimer to stop the timer.
If a lengthy operation includes blocking on sockets or pipes, it is advised to use a python thread. However this has been shown to be problematic on Linux. To get around the problems on linux you should not access any makehuman structures from within your thread, but use mh.callAsync to call the methods from the main thread. See the clock plugin example for example code on how to use threads correctly.
==== A template for plugins ====
Looking in the makehuman source folder, in the "plugin" directory, you will notice a file called "7_example.py". This is an "Hello world" plugin. It includes all main controls and some nice example of mesh manipulation. It's designed to be used as template of new plugin.
To see how it works, you need to enable it in the Preferences->Setting. Then it will be located at Utilities-->Example.
!IMAGE!Pictures/UtilitiesExampleTab3.png!/IMAGE!
==== Example Controls ====
!IMAGE!Pictures/UtilitiesExampleControls.png!/IMAGE!
=== OpenGL Notes ===
Most of the 3D mesh handling functionality is delivered using OpenGL embedded within the C application code. OpenGL is a 3D graphics library that enables a 3D world to be defined, with a camera, objects, lights, textures etc. It then enables that 3D world to be visualised as a 2D representation that can be displayed on a computer screen and provides functions to enable an application (in response to user input) to navigate around the scene.
==== Basics ====
OpenGL takes a 3D scene and draws it into a 2D viewing area on your screen known as the viewport. OpenGL can project the scene onto the viewport in a variety of different ways, but the most common are:
* Perspective projection, as you would get if you could place a camera in the scene
* Orthographic projection, as a draftsman may contstruct technical drawings such as plans and elevations.
MakeHuman only uses Perspective projection.
==== Projection Transformation ====
You tell OpenGL how to project 3D objects onto the 2D viewport by defining a projection transformation, which indicates whether you wish to use perspective or orthographic projection (or an alternative projection pattern) and specifies other projection settings. This can be imagined as being comparable to specifying the characteristics of a camera (field of view, aspect ratio etc.) where an orthographic projection is equivalent to a camera at an infinite distance. The main difference being that with OpenGL you can change the settings between drawing different objects, which is a bit like taking a photo, changing the lens and moving the camera, then taking another photo without winding the film on.
MakeHuman sets a perspective projection using the function gluPerspective(fovAngle,aspectRatio,near,far) where:
* fovAngle: is the vertical field of view angle (45 degrees)
* aspectRatio: is the viewport width divided by the viewport height which, by default, is 800/600 (4/3)
* near: is the distance to the centre of the viewing plane (0.1)
* far: is the distance to the centre of the rear clippling plane (100)
==== Modelview Transformation ====
For OpenGL to know what to display in the viewport it also needs to know where the camera is relative to the 3D model. For this you need to define a modelview which defines the position and orientation of the camera and the position and orientation of objects that go to make up the model inside a virtual 3D world. You do this by moving through and around the 3D world and by creating objects relative to your current position. OpenGL keeps track of your current position and orientation in the 3D world by recording the modelview transformation.
Both the projection transformation and the modelview transformation are stored internally in 4x4 transformation matrices. You can modify these matrices by calling functions that apply direct transformations (translations and rotations) or by calling functions that calculate transformations (e.g. the gluPerspective function outlined above).
To apply transformations you need to first make one of these matrices the current matrix. Subsequent transformations are applied cumulatively to the current matrix. The glMatrixMode function is used to set the current matrix mode:
* glMatrixMode(GL_PROJECTION) makes the projection transformation the current matrix so that projection settings can be applied, such as the field of View angle and Aspect Ratio.
* glMatrixMode(GL_MODELVIEW) makes the modelview transformation matrix the current matrix so that subsequent translations and rotations move the current location through the 3D world.
==== Resetting a transformation matrix ====
Matrix transformations that you apply are applied cumulatively. It is therefore often necessary to reset the matrix to its default ‘no transformation’ state so that you can apply a fresh set of transformations. OpenGL uses the transformation and modelview matrices to transform coordinates by performing a matrix multiplication. If you multiply by an identity matrix then the result is the same as the thing you started with, so to reset one of these matrices to an initial state where the transformation has no effect you can simply load the identity matrix using the function glLoadIdentity(). This loads the identity matrix into whichever transformation matrix is currently active, resetting it to the default ‘no transformation’ state.
==== Coordinates ====
OpenGL world space coordinates are unitless, so 2 units can represent milimeters, inches or light years. Interpretation of world space coordinates is up to the application. OpenGL uses a right handed coordinate system, so, if you are looking at the origin with the +X axis stretching away to the right and the +Y axis pointing straight up, the +Z axis will be heading out of the screen straight towards you and the -Z axis will be dissapearing away from you into the distance.
MakeHuman uses the default OpenGL modelview camera settings which are equivalent to invoking gluLookAt(0,0,0, 0,0,-1, 0,1,0). This places the camera at the origin, looking straight into the model along the -Z axis with the +Y axis pointing straight up. This means that a 2 unit wide and 2 unit high object centred at <0,0,-1> will roughly fill the viewport, as will a 4x4 object at twice the distance from the viewpoint.
==== Drawing objects ====
MakeHuman contains multiple objects. The Humanoid object is the main object, but it is surrounded by a set of control objects. Each object is constructed using triangular faces. The position and orientation of each face is defined relative to the object of which it is a part. The positions and orientations of the vertices and normals of the faces are defined relative to the face they’re on. The sequence in which face vertices are defined is significant in OpenGL. If the face is viewed from the front, the sequence of points runs counter clockwise. If the face is viewed from the back the points run clockwise. Faces viewed from behind may be invisible or may have a different color/texture defined to the front face. This order is also called the "winding order" of vertices, and is used by MakeHuman to calculate the normal of each face. If the winding order is reversed, the normal will be flipped. The glPushMatrix and glPopMatrix functions can be used to store away a copy of a matrix that can subsequently restored. MakeHuman uses this before and after drawing each object to store a copy of the modelview matrix and restore it.
=== Directory structure and core modules ===
Overview
There are 10 main source folders with the main MakeHuman folder in the SVN repository:
* apps
* core
* data
* docs
* icons
* lib
* licences
* plugin
* shared
Of these, two folders: (licenses and docs) are associated with the general housekeeping and installation aspects of MakeHuman. Details of the housekeeping folders will be summarized, where relevant, elsewhere in the documentation. The remaining folder are discussed below.
Directory Structure and the Build System
During the pyinstaller build process, only files in the makehuman/data/ directory are included as data files, which means that any other data files will be skipped, causing file not found errors. Thus, the developer should place all data files under the data/ folder. The idea is to be able to cleanly identify what is data to be loaded at run time.and what is code that can be compiled at build time. One exception here is target (data) files that can optionally be precompiled to binary files at build time even though their binaries will reside in the data/ directory. The rational for this is that target files are static data core assets and should therefore naturally reside in makehuman/data/, but by compiling target files at build time, the size of the build distribution can be reduced and program startup times can be minimized
The files in makehuman/plugins/ form a second exception to data is "loaded at runtime" and code is "comiled at build time". Files in the makehuman/plugins/ folder are kept as a "side effect" of the fact that the makehuman/plugins/ path is included as data. It is included as data to make it possible to load plugins at runtime by inspecting the folder. Plugins are compiled as well, though. This does not mean that data may be stored in makehuman/plugins/ as this practice threatens logical organization of code and data, and it is not guaranteed that this will keep working in the future.
Plugins should never be used as imported modules in other plugins or, even worse, in a core module. Currently, the core plugins of MakeHuman all start with a digit (e.g., import 9_export_mhx). This is done intentionally to prevent their improper import into other modules in the program because imports of a module starting with a digit will produce a syntax error. Core plugins that require data, for example those related to .mhx export, should make use of a subfolder in the makehuman/data/ path (makehuman/data/mhx/).
Third-party plugins might have slightly greater lattitude about including data than core assets, but the clean separation of code and data is strongly encouraged. Therefore, third-party plugin developers should place data in makehuman/plugins/pluginName/data to make it easily identifiable.
makehuman/data/ folder
Most operating systems set aside separate storage space for code and data, and programs can generally not write data to their own directory structure. In addition, most OS support the notion of multiuser login, and support separate writable data areas for each user to customize. MakeHuman includes some "fixed data assets" that are intrinsic to the program. These data assets are save in the programs data folder within the program itself. However, MakeHuman also makes provision for third-party and user developed assets like additional clothes, additional hairstyles, etc. These latter assets are not saved in the program area but rather are save in user writable areas under the path userhome/makehuman/. For example, on Windows 7 systems this would be "Docuements/makehuman". In populating asset lists, the library holdings are generated based on the fact that syspath/data/itemtype and userhome/data/itemtype can coexist.
Themakehuman/data/ folderdoes not contain any codeper se. As its name implies this folder contains the basic data resources that ship with MakeHuman. Often, during the development and building of MakeHuman, a given resource may exist in multiple formats. Many if not most resources initially exist as “text-based” files which are stored in the data directory with an appropriate extension (see section of file extensions). When MakeHuman is built for distribution on supported platforms, these text-based data resources are compressed into .npy format to produce a smaller and more rapidly loading distribution package. Typically, the original text-based data files do not ship with standard, downloadable installation builds but instead, the corresponding compressed versions are distributed.
The data folder contains many subfolders which correspond to unique data assets. The details of these assets will not be discussed here, but the reader can get a general idea of asset types just by reviewing the folder names.
3dobjs, animations, bvhs, expressions, eyebrows, eyes, genitals, hair, icons, languages, litspheres, materials, mhx, poses, povray, proxymeshes, rigs, scenes, shaders, skins, targets, textures, themes, uvs, vertesgroups, visemes.
Many of these data subfolders have subfolders themselves, but generally, this organization is easily discovered just by looking.
Four of the data subfolders (eyes, hair, and clothes) are directed at important geometry assets of the MakeHuman model. MakeHuman supplies a special tool that lets developers or even end-users design additional assets using the 3D modeling program Blender. The name for this tool isMakeClotheseven though it supports the development of the other geometries as well.
==== /makehuman/apps/ ====
* catmull_clark_subdivision.py- an implementation of the!LINK!http://en.wikipedia.org/wiki/Catmull%E2%80%93Clark_subdivision_surface -- catmull clark subdivision algorithm.!/LINK!
* devtests.py- testing and development use only, and can safely be ignored.
* human.py- contains the Human class, which is the core data structure for MakeHuman model.
* humanmodifier.py- contains the functions and classes that link the GUI sliders to their respective effects on the MakeHuman mesh.
* metadataengine.py- implements algorithms to handle MakeHuman metadata tags within large files. It makes it possible to quickly and easily associate descriptive adjectives (tags) such as "eye" or "brown" with the complete file path to an object that has these characteristics.
* mh2proxy.py- (unknown)
* posemode.py- contains classes and functions relevant to entering and exiting posemode, and altering a figure's pose. Changing the pose of a figure will deform the mesh and require the vertex warps to be reset.
* warpmodifier.py- contains classes and functions to handle the source and target of a warp.
* which.py- checks to see whether or not a program exists (needed for the GUI controls).
==== /makehuman/core/ ====
* algos3d.py- contains algorithms used to perform high-level 3D transformations on the 3D mesh that is used to represent the human figure in the MakeHuman application.
* aljabr.py- contains the most common 3D algebraic operations used in MakeHuman including vector, matrix, quaternion, and various other operations.
* animation3d.py- contains functions and classes to animate a wide range of objects. Includes support for rotation, scaling, translation, camera movement, and variety of interpolation methods.
* compat.py- (Unknown)
* download.py- contains classes and functions to download media from the web and import it into MakeHuman.
* events3d.py- contains classes to allow an object to handle events resulting from keyboard or mouse input, window resizing, and changes to the human model with MakeHuman.
* export.py- (Not fully implemented) contains classes to export the MakeHuman model.
* files3d.py- contains functions to convert other 3D file formats to and from the internal format used by MakeHuman.
* geometry3d.py- contains classes for commonly used 2D and 3d objects such as rectangles, cubes, and flat meshes.
* gui3d.py- contains classes defined to implement widgets that provide utility functions to the graphical user interface.
* mhmain.py- contains the operations and event handlers that provide the core functionality of MakeHuman.
* module3d.py- contains classes and functions to handle the appearance and behavior of 3D objects such as shading, texturing, visibility, transparency, and creating groups of faces.
* selection3d.py- contains classes and functions that allow users to select elements within a 3D scene by clicking on them with the mouse using a technique called "!LINK!http://www.opengl.org/archives/resources/faq/technical/selection.htm -- Selection Using Unique Color ID's!/LINK!"
* textures3d.py- contains functions to perform standard proccesses on bitmaps and translate UV coordinates to a pixel index in a bitmap.
* transformations.py- A library for calculating 4x4 matrices for translating, rotating, reflecting, scaling, shearing, projecting, orthogonalizing, and superimposing arrays of 3D homogeneous coordinates as well as for converting between rotation matrices, Euler angles, and quaternions. Also includes an Arcball control object and functions to decompose transformation matrices.
* warp.py- contains classes and functions to warp vertex locations from a source character to a target character. This makes it possible to correctly combine several morphs that affect overlapping regions of the body.
==== /makehuman/lib/ ====
* camera.py -handles camera events such as changing focus, camera mode, and field of view.
* core.py -sets default global variables
* debugdump.py -handles creating a debug text file in the user's home directory and writing relevant debug information to that file.
* filechooser.py- a Qt based filechooser widget that allows the user to preview and select files as well as sort them by name, creation date, modification date, and size.
* getpath.py- Utility module for finding the user's home path.
* glmodule.py- contains classes and functions to render 3D objects with openGL in both draw mode and pick mode.
* gui.py -alias from gui.py to qtgui.py
* image.py- handles flipping and resizing images as well as converting between RGB, ARGB, and greyscale.
* imageqt.py- handles loading and saving RGB and ARGB images.
* inifile.py- contains functions for formatting and parsing .ini files.
* language.py- handles language file loading and translation.
* log.py- extends the functionality of Python's logging module. The logging module can be used to create log files of events for debugging, or to display information or warnings within MakeHuman. It is used instead of print statements.
* matrix.py- uses the NumPy package to define standard matrix operations.
* mh.py- Python compatibility layer that replaces the old C functions of MakeHuman.
* object3d.py- defines the object3d class
* profiler.py- defines functions to handle profiling (how long various parts of the program executed).
=== File formats and extensions ===
This section briefly reviews the file accessed or manipulated within MakeHuman. An attempt will be made to explain the function of each file format and where in MakeHuman’s modules it is used. Or external formats links will be provided to more detailed descriptions. Where it can help the developer better understand the overall organization of MakeHuman source code, some information on the module group or modules interaction with the various formats will be provided. This section Is intended to be used with the previous section on directories (folders) to develop an overview of MakeHuman code structure. This structural understanding is essential during the debugging process and is essential to expanding the programs functionality in structurally sound ways.
==== .obj files ====
This extension designates Lightwave object files. These OBJ files store mesh information and metadata needed for rendering in text-readable format. It was originally developed for the Lightwave 3D graphics program, but this file format is now broadly supported by many, if not most, 3D programs. Internally, MakeHuman uses OBJ files (or formats directly based on OBJ files) for the canonical storage of its assets. Many of MakeHuman’s development utilities store newly generated assets in formats related to the Lightwave OBJ specification. Examples of assets canonically stored in Lightwave OBJ format include the base human, and auxiliary geometry assets like eyes, hair, and clothes.
Each OBJ file has a record specifying the object’s name and records specifying one or more mesh objects. Mesh objects, in turn, are composed of record groups specifying: points or vertices (v), vertex normal (vn), faces (f), and vertex textures (vt). In MakeHuman and most general purpose 3D programs (e.g., Blender) OBJ files are exported with an accompanying Wavefront material file having the .mtl extension. These MTL files provide the detailed material attributes necessary to get photorealistic rendering of Wavefront objects. A more complete specification of Wavefront object format can be found at:!LINK!http://www.martinreddy.net/gfx/3d/OBJ.spec -- http://www.martinreddy.net/gfx/3d/OBJ.spec!/LINK!
OBJ files and MTL files have a direct internal analog in MakeHuman in the form of the object class, Object3D. This class, along with its properties and methods, is defined in the object3D.py module(libs folder). Object3D objects are central to the internal workings of MakeHuman. The resemblance of Object3D objects to OBJ files is not coincidental. Many of the core mesh assets in MakeHuman are developed in the open-source project, Blender, and moved to MakeHuman internals using OBJ format. In fact, MakeHuman maintains a separate product [MHTools] designed to support development of new core internal assets
==== .mhpxy files ====
This extension designates compressed binary proxies and clothes.
==== .mtl files ====
This extension designates a Wavefront material file. Wavefront MTL files are referenced from within Wavefront OBJ files to specify the materials used in rendering. More complete information on Wavefront material files is available here:!LINK!http://paulbourke.net/dataformats/mtl/ -- http://paulbourke.net/dataformats/mtl/!/LINK!
MakeHuman’s use of MTL file has been limited, but with the increased support for POV rendering, more modules may access and utilize MTL files. Currently, MTL-related data and files is developmental. Thedata foldercontains a cube.obj (3dobj) and a plane.obj (mitsuba folder) ostensibly associated with materials.
==== .npz files ====
This extension designates compressed binary asset files in MakeHuman [think npz = numPy zip files]. Among the most important assets stored with this extension is target vertex information. These target data determine the motion of each MakeHuman vertices (relative to landmark vertices?) as sliders are moved.
Thefiles3D.pymodule (core folder) tests for verifies existence of OS dependent locations of binary mesh files. The primary purpose of thefiles3D.pymodule is to transpose imported 3D data into a standard internal format for each of the 3D file formats supported by the MakeHuman import. Each importer function is written to return the 3d data in a standard format as a Python list:
[verts, vertsSharedFaces, vertsUV, faceGroups, faceGroupsNames]
Thetargets.pymodule (lib folder) is where system assets stored with the NPZ extension are identified, decompressed, and turned into memory resident structured objects for use by MakeHuman. This
Code related to NPZ files can also be found inalgos3d.pymodule (core folder). This module has been part of MakeHuman for a long time, and is used for morphing related operations. It works with loaded binary translation vectors and applies those translations to morphing targets. It may have some legacy capability to work directly with text-based .target files.
Thecompile_models.pymodule (lib folder) takes all object mesh files (.obj) and compiles them into binary compressed files (NPZ). Similarly, thecompile_targets.pymodule (lib folder) compiles target files (.target) into binary compressed (NPZ) files. The latter module is referenced by Benjamin Lau inMakeHuman.specfile, likely for build purposes.
Important concept. The root folder of MakeHuman contains a batch file calledcleanpz.bat(for Windows) and a corresponding shell script file calledcleanpz.sh(for Linux) whose function is to delete NPZ files between SVN builds. This “garbage collection” assures that each build is not working with out-of-date assets. It also reminds the developer that most of the canonical assets are initially constructed in text readable format. Developers write appropriate constructors to recompile NPZ files during the MakeHuman startup sequence when missing. For distribution versions of MakeHuman, pre-compiled assets in the form of NPZ files are distributed as stable assets. When start up code confirms their existence , no recompile is done, producing a better start-up experience for the user. This design greatly increases boot and runtime performance for stable distributions without hampering rapid testing of SVN versions in interpretative mode.
==== .thumb files ====
This extension designates thumbnail (image preview) files in MakeHuman. Underneath, they are actually images constructed in the .png file format. Thus, they can be edited by standard image editors like GIMP or displayed by most web browsers. The MakeHuman Save Tab code automatically generates a companion .thumb file each time it saves a .mhm file. The .thumb generation is currently done by capturing a rectangular in the center of the viewport window. The MakeHuman Load Tab code uses .thumb images to provide previews of saved models.
The format for .thumb is defined inimage_qt.pymodule (GUI folder). Load and Save use or generation occur inguiload.pyandguisave.pymodules, respectively (lib folder). Numerous plugin modules reference .thumb files (plugins folder) including:2_posing_expression.py,3_libraries_clothes_chooser.py,3_libraries_eye_chooser.py,3_libraries_material_chooser.py,3_libraries_polygon_hair_chooser.py,3_libraries_posing_chooser.py,3_libraries_proxy_chooser.py, 4_rendering_scene.py,7_material_editor.py,
==== .lmk files ====
This MH internal extension designates landmark files. [might be renamed .mhlmk for naming standard reasons.] There is one set of landmarks for the model body (and a second set of landmarks for the model head (data | landmarks folder). These LMK files are written in text readable format. Each line has a single integer which specifies a landmark vertex in the model geometry. Landmark vertices are used for relative (local) spatial reference during model morphing.
Landmark files are used bywarpmodifier.py(apps folder) andwarp.py(utils | tools | warptarget folder).The landmarks in these files are used as references during the complex process of reshaping the human.
==== .mhclo files ====
This MH internal extension designates MakeHuman clothes files. These files define clothing vertexes and remove vertexes from the model to allow fitting of the model without skin showing through. They are created using the MakeHuman Blender toolset, specifically the MakeClothes tool.
A special empty MakeHuman clothes meta-file namedclear.mhclois is used to restore the default UV map that comes with the system. In the lib folder, thefilechooser.pymodule has aMhcloFileLoader.Refresh()method to clear materials when the refresh button is clicked.
In the plugins folder,3_libraries_clothes_chooser.py,3_libraries_eye_chooser.py,and 3_libraries_polygon_hair_chooser.pyall access MHCLO files, but as of this writing, there are some file handling issues related to proxy clothes that means some of this code is commented out. In the shared/export_utils folder, config.py accesses acage.mhclofile. In the tools folder, the tool ‘MakeClothes’ accessws MHCLO files in both the makeclothes.pyandmaterial.pymodules. Similarly, the tool ‘MakeTarget‘ accesses MHCLO files in several of its modules:_init_.py, convert.py,import_obj.py,mt.py, andsettings.py. Finally, two experimental tools in the utils folder, themakeface.pyandhelpers.pymodules access MCHO files.
==== .mhmat files ====
This extension designates MakeHuman material files. Material files are text-readable files that share their syntax structure with Lightwave OBJ and MTL files.
In the app module group,human.pyapplies a default material andmh2proxy.pyhandles materials for proxies and may do some special material handling for MHX Blender export files. In the data folder, the MHCLO files for clothes, eyes, and hair each references an MHMAT files. In the plugins folder,7_material_editor.pyloads, edits, and saves MHMAT files. In the shared folder,material.pyparses MHMAT files and sets material properties. In the tools folder, there is another (independent)material.pymodule for the MakeClothes tool that writes materials to the output file while using that tool within Blender.
=== Description of the file format ===
The entries inside a .mhmat file are of the form:
Comments can be included in c-style line comment format, like
or in python-style line comment format, like
The properties of a makehuman material are numerous so that they can cover the most common needs of exporters and rendering engines, and may vary among the following.
name- The internal name of the material.
Colors- Their value can be in R G B format, like:colorProperty R G B,where R, G, B are floating point numbers between 0 and 1. They control the color of various material properties and effects. To adjust the intensity of an effect, you can simply edit its color value.
ambientColor -The ambient component of the material, which is usually added on the final color regardless of the surrounding lights.
diffuseColor -The diffuse component of the material, which reacts to each light's relative position.
specularColor -The color of the specular shine that is caused by the reflection of a light source on the material.
emissiveColor- The color of the light that the material seems to emit like if it's a glowing light source.
shininess- The sharpness of the shine spots created by the reflection of a light source on the material, which is how glossy its surface is.
==== .mhuv files ====
This MH internal extension designates UV map files in MakeHuman. These text-readable files based on Lightwave OBJ syntax. They contain one or two lines of metadata and alternative UV data for the texture object to be applied to the model.
There does not currently appear to be a development tool for creating UV map files. They can be created by creating and saving an OBJ file and then renaming it. However, files created in this manner should not be considered fit for the SVN or website because they contain way too much redundant information. The OBJ files created in this manner not only contain the alternate UV set but also contain all vertices of the original mesh.
==== .mhp files ====
This MH internal extension designates pose files. These files are used to store coordinates for the run and walk poses on the pose tab. The dance1 pose appears to be implemented as a pose file, but it also includes some additional .target files. The dance1 pose is also associated wih a .bvh file whereas run and walk are not. In A8 development there have been issues with the dance1 file behaving less well than run and walk. Hopefully, these will be long gone during subsequent development.
==== .mht files ====
==== This MH internal extension designates a theme (GUI color scheme) for the GUI as rendered by the pyQt library. ====
==== .target files ====
This MH internal extension [which lacks the mh… prefix] specifies final extreme positions that can be achieved when moving the interface sliders in one direction or the other. By definition sliders have a value of zero on the left end and 1.0 on the right end, but there is a software flag to reverse this behavior as desired. With scripting it may be possible to exceed slider extremes, but this is currently undocumented and should not be built into production code. There is one TARGET file for each extreme of each movement. These files are hand-built by MakeHuman artist-developers, and they are the engine of the programs utility. Typically, rightward movement of a slider should increase size, and leftward movement of a slider should decrease size. When ‘left’ and ‘right’ are used as asset names, they should refer to the left and right body part on the model, regardless of the model’s orientation in the viewport. When slider movement involves asymmetrical change in the x, y, and z direction, it should be programmed so that the sliders operate naturally using the default viewport view for that slider. For example, left movement of the slider need not cause deformation toward the model’s left side. Such behavior would only be sensible if the default viewport view had the model facing the rear of the viewport (model’s back toward user).
Most MakeHuman modules use data from the TARGET files.
· In the apps group, these modules includes: devtests.py, human.py, humanmodifier.py, posemode.py, and warpmodifier.py.
· In the core group, these modules includes: algos3D.py which is the main program that works with .target files after they are compiled into
· In the apps group, these modules includes:
· In the apps group, these modules includes:
=== .proxy files ===
This MH internal extension designates proxy meshes. They are structured text files. Format and attributes include ... TODO
.qrc file
This is a resource file need used when compiling for the MakeHuman GUI which uses the pyQt library.
=== .qss file ===
This is the text-based file fomat used to store widgets associated with the GUI interface as rendered by the pyQt library
Appreciate help from current developers as what needs to go here. Undoubtedly some confusion or mistakes on my part, but some of it might help orient others. -RWB
Glad to do the grunt work, but feedback on needed improvemrnt greatly appreciated :-)
---------------------------
Also in this section could possibly also loading, saving, exporting formats (but these formats should probably be addressed in context below)
The basic work done within MakeHuman is saved as a file with an .mhm extension. The .mhm files can be loaded at the start of a new user session, and return MakeHuman to the state that it was in at the end of the previous session.
=== Libraries and build procedures ===
With each MakeHuman release, packages are created for MS Windows, Mac OS X, and Debian derivatives for linux. At present there is not an operating system independent package (although the raw repository will work on all platforms). Each platform has special considerations that are addressed by the designated mainainter for that platform.
=== Dependencies ===
In order to run makehuman and/or build packages the following need to be installed on the system:
* Python (Python 2.7 (python 3.x will not work).!LINK!http://www.python.org/download/ -- http://www.python.org/download/!/LINK!)
* Python-numpy (!LINK!http://sourceforge.net/projects/numpy/files/NumPy/ -- http://sourceforge.net/projects/numpy/files/NumPy/!/LINK!)
* Python-opengl (!LINK!http://pyopengl.sourceforge.net/ -- http://pyopengl.sourceforge.net/!/LINK!)
* Python-qt4 (!LINK!http://www.riverbankcomputing.com/software/pyqt -- http://www.riverbankcomputing.com/software/pyqt!/LINK!)
* Python-qt4-gl (Package required by some linux distributions only)
For linux there are scripts (buildscripts/deb/install_deb_dependencies.bash and buildscripts/rpm/install_rpm_dependencies.bash) which will install all the necessary dependencies but please note that these scripts may not agree with all debian and rpm based distros so it may be worth reading the bash script contents prior to running them.
=== Assets ===
For obvious reasons, the binary assets (characters, textures, clothes, etc..) are not stored on Mercurial repository, but in two different places:
* * Immutable single archive files of the assets of finished versions of MH are stored (disregarding patch version token) on bitbucket (!LINK!https://bitbucket.org/MakeHuman/makehuman/downloads -- https://bitbucket.org/MakeHuman/makehuman/downloads!/LINK!)
* Assets still under development are store on Tuxfamily ftp:!LINK!http://download.tuxfamily.org/makehuman/assets/ -- http://download.tuxfamily.org/makehuman/assets/!/LINK!
When a new version is released, the current ftp asset tree gets zipped and uploaded to bitbucket. In the tuxfamily asset store, the folder for that version's contents are replaced with an archive_url.txt file that points the download script to the right url.
A new folder gets created on the tuxfamily host containing the assets to be included in the next release. For a released version, assets will usually not change, unless to fix bugs (in which case the previous archive is best kept, and a new one is created alongside it with a slightly different name), and the archive_url.txt file is updated.
To download automatically the assets and place them in the correct folder on a local repository, it's sufficient to run the python script with the command:
=== Other scripts ===
In the makehuman root, there are a few scripts which need to be run:
* cleannpz.sh (cleannpz.bat)
* cleanpyc.sh (cleanpyc.bat)
* compile_targets.py
* compile_models.py
* compile_proxies.py
Note that all these are called automatically in the correct order by the "build_prepare.py" script in "buildscripts" when running one of the pre-existing package building routines below. However, when running makehuman from a source checkout, you will need to run these scripts in the above order.
=== General proceedings for making a package ===
On all platforms the following steps should be taken when making the package:
* Update from HG repository (!LINK!https://bitbucket.org/MakeHuman/makehuman -- https://bitbucket.org/MakeHuman/makehuman!/LINK!)
* Run the scripts in the makehuman root directory. These will for example compile target files to npz files
* Copy all that's relevant to a work directory, excluding at least *.target, the utils directory and the tools directory (strictly speaking there are more that is not necessary, but it will have a minor influence)
* Do platform-dependent stuff to the work directory
* Zip the directory into a suitable installable format for the platform.
==== Linux ====
=== Debian ===
In order for makehuman to work on Debian the following dependencies are needed.
* python
* python-qt4
* python-numpy
* python-opengl
* python-qt4-gl
These can be installed by running the command below:
On Debian/derivatives (Ubuntu kubuntu etc.) the whole package building is automated through the buildDeb.py script found in the "deb" folder.
For Deb script see:!LINK!https://bitbucket.org/MakeHuman/makehuman/src/tip/buildscripts/deb/?at=default -- https://bitbucket.org/MakeHuman/makehuman/src/tip/buildscripts/deb/?at=d...!/LINK!
To build a deb file, create an empty directory (for example /tmp/deb) and run:
When the script has finished, the deb file will be available in /tmp/deb/output.There are some settings in the head of the buildDeb.py script for tweaking the output.
=== Fedora 19 64-biit RPM Packaging ===
These instruction have been written for and tested on Fedora 19 64-bit. You will never be able to run the MakeHuman HG version on distros such as RHEL/CentOS 6.4 or earlier, since they do not support python 2.7, not even if you enable RPMForge. The instructions may or may not work on other RPM-based distros.
* * Install a Mercurial client (Hg) and clone the!LINK!https://bitbucket.org/MakeHuman/makehuman -- Makehuman BitBucket Repository!/LINK!.
* Install required dependencies.
As root, run the bash script for installing the required dependencies.
buildscripts/rpm/install_rpm_dependencies.bash
This script also installs optional but recommended dependencies. If you only want the really required dependencies, run
* Run MakeHuman. Change working directory to the root of the makehuman tree:
Then run:
You will most likely want to do this as your normal desktop user, not as root.
==== Windows ====
* * Install an Mercurial client!LINK!http://tortoisehg.bitbucket.org/download/ -- (Tortoise HG client!/LINK!is a good choice on Windows) and clone the!LINK!https://bitbucket.org/MakeHuman/makehuman -- MakeHuman repository!/LINK!(see!LINK!http://www.makehuman.org/doc/node/development_infrastructure.html -- http://www.makehuman.org/doc/node/development_infrastructure.html!/LINK!)
* Install required dependencies
If you are using a 64bit Windows version (only applies to 64-bit computers), you can choose to use either 32-bit python or 64-bit python. Howver it is important that your library dependencies (NumPy, PyOpenGL, and pyQT4) are 32-bit if you use 32-bit Python and 64-bit if you use 64-bit Python.
* Run MakeHuman.
Start a command console (cmd.exe), change directory to the makehuman folder. Then run:
==== Mac OSX ====
To build MakeHuman for Mac OS X, you should:
* * Download the MakeHuman OSX Builder from: !LINK!https://bitbucket.org/MakeHuman/makehuman-osx-builder -- https://bitbucket.org/MakeHuman/makehuman-osx-builder!/LINK!
* Follow the included instructions (Instructions.rtf)
=== Development infrastructure ===
The development of MakeHuman is based on two fundamental tools:
* Mercurial (HG), a stable and robust platform for distributed revision control, with the main repo hosted on!LINK!https://bitbucket.org/MakeHuman/makehuman -- Bitbucket!/LINK!
* A collaborative software!LINK!http://bugtracker.makehuman.org -- development platform!/LINK!, based on!LINK!http://www.redmine.org/ -- Redmine!/LINK!.
==== Get the code from BitBucket. ====
Obtain the code from BitBucket repository is very simple, but you need to have Mercurial installed on your system.
It's natively present on Linux systems, while for Microsoft Windows, a good software is TortoiseHG (!LINK!http://tortoisehg.bitbucket.org/ -- http://tortoisehg.bitbucket.org/!/LINK!).
To clone the repository to your PC, just use this command:
hg clone!LINK!https://bitbucket.org/MakeHuman/makehuman -- https://bitbucket.org/MakeHuman/makehuman!/LINK!
With tortoiseHG, you can do it visually, with:
right-click --> TortoiseHG --> clone
==== Using Redmine in MakeHuman development ====
Redmine is a very powerful tool.
[To expand with technical information about the roadmap organizations, the subprojects, and how to use it to accept experimental features]
=== Development organization ===
!IMAGE!Pictures/mh-hg-infographic01.png!/IMAGE!
The Unstable branch is where the development happens. This is our working branch, and so we can refer to it as default branch too.
The Stable branch is used for official release only.
It's just for mainteinance of the current official version. It's rarely used, except in the case of very noticeable bugs that will cause a service release. Any bugfix in the Stable must be merged in Unstable.
When the Unstable is ready for the release, it's merged in the Stable and a tag (a sort of bookmark) is created on this exact revision.
!IMAGE!Pictures/mh-hg-infographic02.png!/IMAGE!
Working on experimental clone for new features in early development is a great comfort for the developer.
He doesn't have to keep his code on the local drive since he can commit it immediately.
It doesn't matter if the code does not work yet or breaks the app, it is the private playground of the developer.
!IMAGE!Pictures/mh-hg-infographic03.png!/IMAGE!
To start up a new feature yet unproven or that is unsure how to implement it exactly, or for a big refactor that might make a lot of problems until solved, we will create experimental repos, cloning the main one. One repo for (large) feature.
!IMAGE!Pictures/mh-hg-infographic04.png!/IMAGE!
Once the developer has something to show, he can communicate with other team members so they can:
* clone the experimental repo to a new folder on their local disk
* test it
* give feedback
* perhaps even commit fixes
Once a feature is proven to work well enough and accepted by the rest of the team, it can be merged in official unstable branch, where it can be integrated in nighly build version and further finalized (it can now be tested by a broader audience and we will receive bugs reports from them)
!IMAGE!Pictures/mh-hg-infographic05.png!/IMAGE!
It is also possible that an external programmer, without commit rights on the official repo, make changes on his own personal clone (that he can make public on his own account if he desires).
This is a good way to test new team members, where we can accept changes after verifying them. When we trust a new developer, we can give him direct access to official repo.
=== Getting started ===
The best way to start your experiments with MakeHuman code is to clone our official repository and start to modify it.
In order to procced easily. it is recommended you use the tools available at!LINK!https://bitbucket.org -- https://bitbucket.org!/LINK!.
The general procedure is:
* Go to!LINK!https://bitbucket.org -- https://bitbucket.org!/LINK!and sign up (if you don't already have an account)
* Go to !LINK!https://bitbucket.org/MakeHuman/makehuman -- https://bitbucket.org/MakeHuman/makehuman!/LINK!
* Click "fork" (it's hidden under "..." in the button menu)
!IMAGE!Pictures/fork.jpg!/IMAGE!
* Enter a name and description of your choice (the fork will end up on your account, so it doesn't matter what you call it). Use "fork at tip" and don't check "this is a private repository"
* You should be redirected to the new repository on bitbucket
* clone your new repository to your local harddrive (if you need a primer on how to clone or use bitbucket,!LINK!https://confluence.atlassian.com/display/BITBUCKET/Bitbucket+201+Bitbucket+with+Git+and+Mercurial -- see their tutorial!/LINK!)
* Make your code changes locally. Do not make a feature branch, work directly on the default branch.
* Commit and push the changes to your repository on bitbucket
* Go to your repository on bitbucket and click "pull request" (in the button menu at the top right of the page)
* Write a good description for what your changes concern and click "create pull request"
Once you have done this, the makehuman team will get a notification that there is an incoming code changes. This will be reviewed and either merged or rejected.
If you want to continue working with updates in the future, make sure your fork is up to date with changes in the makehuman repository. Go to your repository, click the "..." button in the button menu and choose "compare", click the compare button on the page you get to. Merge any incoming changes.
If your tree is hopelessly out of sync with the makehuman tree, just delete it and make a new fork. Better that than accidentally getting junk in your pull requests.
Before starting with any of the above, you might want to read up on how to run makehuman from a source checkout rather than from a binary download. The short story is that you need to install a few dependencies. More information can be found here:!LINK!http://www.makehuman.org/doc/node/libraries_and_build_procedures.html -- http://www.makehuman.org/doc/node/libraries_and_build_procedures.html!/LINK!
=== Application design and Code overview ===
==== Structural Organization of MakeHuman ====
MakeHuman is organized hierarchically. There is a root application (type gui3d.Application) that handles rendering of objects (guicommon.Object). These objects can be added/removed to/from the root application. Objects added to root application are always visible in the canvas.[I'm wondering if this is really true? - There are object on hidden tabs and the skeleton or mesh can be visible or not. Am I confusing the distinction between 'canvass' and 'view'? - RWB] Every added object has an openGL counterpart.
mhmain.MHApplication inherits from root application to constructmain application. A view is a visual context. A tab is a view, for example, the main application is a view.[The main application IS a view or the main application HAS a view? "the "main application frame/window is a view?"- RWB]
The Root application[you do meanrootand notmain? - RWB]contains Categories. A Category (gui3d.Category) is a specialised view object which contains multple taskiew objects (gui3d.TaskView). Taskview objects are specialised view objects with a panes and tab. In context of MakeHuman interface, Category objects constitute the upper row of tabs while taskview objects constitute the lower row of tabs.
Objects (guicommon.Object) can be added/removed to/from a taskview. Objects added to a taskview are only visible if the taskview is visible. For example, a skeleton added to the skeleton chooser is only visible when the skeleton chooser taskview is visible. Objects added to root application[root not main? - RWB]are always visible. Thus objects like human and all proxies such as clothes are added to theapplication,because they should always be visible. Visiblilty can be disabled by setting the visibility flag on objects but an object that is not added to a currently visible taskview, or the application, is not visible, even if its visibility flag is set positive. [Wording needs improving -- 'should always be visible' and a 'visibility flag' are mixed message - RWB]
An object can only be added to one context. So an object is either added to one taskview, or the application, not two different taskviews.
Apart from root application, there is another application (type qtui.Application) which implements MH gui structures using Qtlibraries. mhmain.MHApplication inherits from this application too for handling of gui content.e
General structure in MH can be represented as: !IMAGE!Pictures/mh-inheritance.png!/IMAGE!
====
Basics of event handling in Makehuman: ====
Makehuman is a GUI based, interactive, Qt application in which objects interact by sending messages to each other. The Qt class QEvent encapsulates notion of low level events like mouse events, key press events, action events, etc. A Qt application is event loop-based, which is basically a program structure which allows events to be prioritized, queued and dispatched to application objects.
In a Qt based application, there are different sources of events. Some events like key events and mouse events come from window system, while some others originate from within application. When an event occurs, Qt creates an event object to represent it by constructing an instance of the appropriate QEvent subclass, and delivers it to a particular instance of QObject (or one of its subclasses) by calling its event() function. This function does not handle the event itself, but rather, it calls an event handlerbased on the type of event delivered, and sends an acknowlegement based on whether the event was accepted or ignored.
QCoreApplication::exec()method enters the main event loop and waits until exit() is called. It is necessary to call this function to start event handling. In MH, it is done in lib.qtui.Applicationwhich inherits fromQApplicationwhich in turn inherits fromQCoreApplication:
def start(self):
self.OnInit()
self.callAsync(self.started)
self.messages.start()
self.exec_()
In MH, event handling falls in two broad categories.
* Event handling forcontainers(application, categories, taskviews)
* Event handling forwidgets(contained in containers)
==== Event handling for containers: ====
MH is organized hierarchically in the context of containers. At top is the main application (core.mhmain.MHMainApplication). It contains categories (core.gui.Category), which in turn contains taskviews (core.gui.TaskView).
In a Qt-based application, there are five different ways of events processing, as listed below:
* * Reimplementing an event handler function like paintEvent(), mousePressEvent() and so on. This is the most common, easiest, but least powerful approach.
* ReimplementingQCoreApplication::notify( QObject * receiver, QEvent * event ). This is very powerful, providing complete control; but only one subclass can be active at a time. Qt's event loop and sendEvent() calls use this approach to dispatch events.
* Installing an event filter onQCoreApplication::instance(). Such an event filter is able to process all events for all widgets. It's just as powerful as reimplementing notify(); furthermore, it's possible to have more than one application-global event filter. Global event filters even see mouse events for disabled widgets. Note that application event filters are only called for objects that live in the main thread.[I believe that MH is single threaded - implications? RWB]
* ReimplementingQObject::event()(as QWidget does). If you do this you get Tab key presses[<--Explain what is special about TAB and shift-TAB presses ?- RWB], and you get to see the events before any widget-specific event filters.
* Installing an event filter on the object itself. Such an event filter gets all the events, including Tab and Shift+Tab key press events[<--Explain what is special about TAB and shift-TAB presses ?- RWB], as long as they do not change the focus widget.
In MakeHuman, approaches 2 and 4 are used for extensively for event handling. As part of strategy 2,inlib.qtui.Application (which extendsQApplication), notify has been reimplemented:[I don''t understand the implication of this? Expond? -RWB]
def notify(self, object, event):
self.logger_event.debug('notify(%s, %s(%s))', object, event, event.type())
return super(Application, self).notify(object, event)
object is the receiver object. Class implementing notify has to be singleton. [Clarify? - RWB]
In MakeHuman,MHApplicationsubclasseslib.qtui.Application.MHApplicationobject is the main application object. It's notify function receives notification from the event loop in the underlying Qt layer about each[container only or widgets too?]event, which is then relayed to receiver object's event method. Thereceiver object's event method is either inherited from QObject or reimplemented. The Receiver object then either sends TRUE or FALSE, as the case may be, to[WHERE??] - RWB
lib.qtui.Applicationalso implements an event function, which is called if the receiver object isMHApplication objectitself. Then,lib.qtui.Application.event()checks if its a user-defined event or not,and it is so true is returned, else we call super class's event(). In case of true being returned,Qt dispatches event to receiver object's callEvent function which determines which function to be called on object to handle the event. Called function then handles the event or propagate it to its parent(or to current task if its application object), as may seem fit.
==== Event handling for widgets ====
Most of MH widgets are wrappers around Qt widgets. These widgets (defined in module lib.qtgui) inherit from the respective Qt widgets and the Widget class (lib.qtgui.Widget). MH makes use ofsignal and slot mechanismby making the connection between the signal originating from the Qt layer and the corresponding handler function. For example, class TabBase connects the signal 'currentChanged' to its function 'tabChanged' as follows:
class TabsBase(Widget):
def __init__(self):
super(TabsBase, self).__init__()
self.tabBar().setExpanding(False)
self.connect(self, QtCore.SIGNAL('currentChanged(int)'), self.tabChanged)
......................
Any class inheriting from TabsBase(e.g., lib.qtgui.Tabs or lib.qtgui.TabBar) also gets this facility. So now whenever signal 'currentChanged' is emitted from Qt layer function 'tabChanged' is called. The result is that when a user clicks the mouse on a tab, the 'tabChanged' code will be called,
Similarly, MH Slider widget connects various slider operations to its event handling functions as:
...........................
self.connect(self.slider, QtCore.SIGNAL('sliderMoved(int)'), self._changing)
self.connect(self.slider, QtCore.SIGNAL('valueChanged(int)'), self._changed)
self.connect(self.slider, QtCore.SIGNAL('sliderReleased()'), self._released)
self.connect(self.slider, QtCore.SIGNAL('sliderPressed()'), self._pressed)
...........................
[-- EDITING/PROOFING ENDS HERE - RWB --]
==== Overriding vs event decorators: ====
The View, Category and Application classes inherit from events3d.EventHandler, hence they have callEvent() function. The events that apply to this category are usually application-wide. If user make a change that impacts the whole application, and whole application must know about this change, then best way to do so is to call callEvent() for all the taskviews of the application,as follows:
for category in self.categories.itervalues():
for task in category.tasks:
task.callEvent('onMyEvent', params)
A good example is the event of makehuman's scene changing(core.qtui.MHApplication._sceneChanged). So when callEvent is called on a taskview object and it has onMyEvent implemented,it is being called. In core.gui3d.View too one can see that most of the events (onShow, onMouseDown,...) on the taskview are propagated by default to their parents - the categories. The categories also are views, so the events are propagated again to their parent, the application. If, again, the application or any category has an onMyEvent method, it is executed.
There are some events that affect the application, but only a single task at a time,for example onMouseDown event. It only happens to the active taskview
(the others are hidden, so they receive no mouse events). Once the mouse is pressed, an Application.currentTask.callEvent("onMouseDown", event)is issued. This causes the onMouseDown event to be received by the active Taskview, its parent Category, and finally the Application. This call executes any onMouseDown method in these objects.
Apart from the Category events described above, there are events used for local purposes. Such events are handled withevent decorators. Suppose we have a new Taskview, FooTaskView. This Taskview has a 'mybar' member variable, which is of type Bar(events3d.eventHandler). The requirement is that when self.mybar executes code, we may want to communicate with its parent to inform it about an event that just happened. So, inside the code for Bar, is located a 'self.callEvent('onBaz', 42)' command. Thus, in the Bar class, we emit a timely event signal and use the event decorator to let the parent Taskview know about the event. In the FooTaskView class, but below the place where self.mybar is created, we add:
@self.mybar.mhEvent
def onBaz(event):
# code on event.
# guess what, event == 42.
When now the self.mybar Bar reaches that callEvent, the above method, located in FooTaskView, will be executed.
core.mhmain.MHApplication's human is perfect example of this approach.Human has onMouseDown event handler and we need to relay it to application.
In loadMainGui function of MHApplication, we add decorator to human attribute as:
def loadMainGui(self):
..............
@self.selectedHuman.mhEvent
def onMouseDown(event):
if self.tool:
self.selectedGroup = self.getSelectedFaceGroup()
self.tool.callEvent("onMouseDown", event)
else:
self.currentTask.callEvent("onMouseDown", event)
.............
Application.human.onMouseDown event is caught and it starts its trip from the Human; it is captured by the decorated method located in Application.loadMainGui (this is the place where the method is bound with the event), it is sent to the currentTask, propagated through the parent category, and finally reaches its destination, the Application.
A more intense process happens on Human.onChanged. This is emitted when a save/load happpens, so the whole application has to know. So it starts from the human, captured by the decorated method in app, sent to ALL the taskviews in MH, and finally through the categories again to the app.
==== The MakeHuman Graphical User Interface (GUI): ====
The MakeHuman GUI is based on the pyQt library which, in turn, is built on the Qt library. Qt is a development framework for the creation of applications and user interfaces for desktop.
Important GUI classes in MakeHuman are:
lib.qtui.Canvas:This is the class in MakeHuman which takes care of rendering openGL graphics.It inherits from Qt's QGLWidget class which is a widget for rendering OpenGL graphics. QGLWidget provides functionality for displaying OpenGL graphics integrated into a Qt application. It is very simple to use. You inherit from it and use the subclass like any other QWidget, except that you have the choice between using QPainter and standard OpenGL rendering commands.
The Canvas class reimplements three functions from parent class to perform openGL tasks:
* paintGL() - Renders the OpenGL scene. It gets called whenever the widget needs to be updated.
* resizeGL() - Sets up the OpenGL viewport, projection, etc. Gets called whenever the widget has been resized (and also when it is shown for the first time because all newly created widgets get a resize event automatically).
* initializeGL() - Sets up the OpenGL rendering context, defines display lists, etc. Gets called once before the first timeresizeGL() orpaintGL() is called.
lib.qtui.Application: This is the foundation class which manages GUI's control flow and main settings. It inherits fromQtGui.QApplicationandevents3d.EventHandler. QApplicationcontains the main event loop, where all events from the window system and other sources are processed and dispatched. It also handles the application's initialization and finalization.Application class holds gui main window(instance of lib.qtui.Frame). Application class receives event notifications from underlying Qt user intrface framework and dispatches them to appropriateuser intrface elements in MakeHuman.
GUI architecture inMakeHumanMH can be depicted as follows:
!IMAGE!Pictures/mh-uiarchitecture.png!/IMAGE!
=== Application Design Notes from IRC Chat with Thanassis ===
Thanasis comments on gaining the big picture of MH coding
* [16:12:57] <Thanasis> I would avoid describing the different parts of code as different entities
* [16:13:43] <Thanasis> ie. follow the object-oriented paradigm, and avoid thinking who is inherited by who etc.
* [16:13:48] <Thanasis> more specifically
* [16:15:03] <Thanasis> I mean, treat an object as a single object
* [16:15:08] <Thanasis> I'll show an example
* [16:15:45] <Thanasis> you have the application. Inheritance says it consists of three classes, QApplication, MHApplication, and mhmain.Application (names may differ a bit).
* [16:15:58] <Thanasis> but it is only one object
* [16:16:42] <Thanasis> We don't care if the QApplication activates a function in MH application, because it happens inside the same object
* [16:16:50] <Thanasis> the application
* [16:17:18] <Thanasis> we only pay attention to the interactions the application object has with other objects
* [16:17:43] <Doctor_Hell_> but if you need to find a function, you need to follow the inheritage chain...no?
* [16:18:24] <Thanasis> of course, in the code, yes. but in a diagram it will make it complex
* [16:21:02] <Thanasis> well, let's go top-down
* [16:21:29] <Thanasis> we have: QT, App, Tab, Task
* [16:21:56] <Thanasis> The event starts from QT, and activates a handler in App
* [16:22:22] <Thanasis> The App sends a new event to the current Task
* [16:22:46] <Thanasis> The task handles it, and sends a copy to the parent Tab
* [16:23:13] <Thanasis> And finally the Tab handles it and sends a copy to the App
* [16:23:35] <Thanasis> which handles it, and stops
* [Referring to how distrating it is to describe the big picture of MH, Thanasis comments ...]
* "Distract? no, this does not consume any brain energy"
* We love your help- the more the bettter -- Thanks [RWB]
Comments Regarding MacroTarget slider processing/handling based on naming conventions:
* [16:36:24] <Doctor_Hell_> [23:26] <Doctor_Hell_> another complex part to know is the engine coded by Jonas to automatically handel the targets using their name
* [16:37:58] <Thanasis> uh. yes, that's a tough one too. I think it does, but I don't remember why and how, because it was a long time ago and Jonas changed the human modifier class since then
* [16:38:18] <Thanasis> he simplified it, actually, but I haven't seen the new version yet
* [16:38:34] <Doctor_Hell_> where is the code?
* [16:38:49] <Thanasis> apps/humanmodifier.py, I think
* [16:39:01] <Doctor_Hell_> Jonas should be very busy recently, since I asked him but he didn't reply me yet.
* [16:42:37] <Thanasis> um by the way, reading humanmodifier alone won't help a lot. I would suggest starting from the macro plugin, to trace what happens when a slider is created, and when the user moves a slider. It might be easier this way
Difficulties in understanding relationships between folder names / module names and the object structure
* [16:39:36] <Doctor_Hell_> ANother thing to understand is why we have some code inapps, other incore, other in libs..the logic is not clear for me..
* [16:39:52] <Thanasis> ah, ignore logic in that part. :)
* [16:40:20] <Thanasis> as far as I know it is all because of mh history so far
* [16:40:29] <Thanasis> the way it developed.
* [16:40:56] <Doctor_Hell_> I know some of it
* [16:41:24] <Doctor_Hell_> in the early times,it was planned to have a core folder, with all important main files
* [16:42:03] <Doctor_Hell_> then anapps folder, to contain many application based on the core files: makeHuman, makeANime, MakeToon, etc..
* [16:42:29] <Doctor_Hell_> butsharedandlibswere added later...I don't know why
* [16:43:10] <Thanasis>libs, they are classes imported from c++ directly
* [16:43:48] <Doctor_Hell_> ah ..so only the "shared" folder is the mystery
* [16:44:04] <Thanasis> shared, they are later classes used by many different parts of the code at the same time
* [16:44:15] <Thanasis> classes created later*
* [16:44:28] <Thanasis> ie. material. It's used literally everywhere
* [16:44:32] <Thanasis> progress too
* [16:44:58] <Doctor_Hell_> ok..at least now it make sense, thank you
* Comments on New API project
* [16:45:39] <Doctor_Hell_> now that you have more time, will you look at the API?
* [16:46:55] <Thanasis> 'time' != 'creativity'. I expect it will be easier to me after the start of the semester
* [16:46:27] <Doctor_Hell_> if you are logged to MH site, you can see this:!LINK!http://www.makehuman.org/blog/the_makehuman_api_project_mhapi.html -- http://www.makehuman.org/blog/the_makehuman_api_project_mhapi.html!/LINK!
* [16:47:02] <Doctor_Hell_> Also Joel has already created this:!LINK!https://bitbucket.org/joepal1976/makehuman-api-project/overview -- https://bitbucket.org/joepal1976/makehuman-api-project/overview!/LINK!
* [16:48:52] <Doctor_Hell_> at the moment, you can just post a list of wished api in the issue 534
* [16:49:16] <Doctor_Hell_> we want to start the API in few weeks..they are fundamental, in order to have more contributors...
* [16:51:05] <Thanasis> oh, boy. I want to clean up this code!LINK!https://bitbucket.org/joepal1976/makehuman-api-project/commits/aa5c12953fb2c8a1723b21bb0b7d90667653d615 -- https://bitbucket.org/joepal1976/makehuman-api-project/commits/aa5c12953...!/LINK!* Go for it? [RWB] :)
The Doc_Hell Diagram (green and red arrows that even Glynn couln't understand)
[Summary - concentrate on green arrows not red arrows to get the big picture]
* <Doctor_Hell_> this is an example of bad diagram:!LINK!https://www.dropbox.com/s/v3waacufp9pyx1u/mouse_event.png?dl=0 -- https://www.dropbox.com/s/v3waacufp9pyx1u/mouse_event.png?dl=0!/LINK!
* [16:52:48] <Thanasis> well, in your shape, the actual thing is about the green arrows
* [16:53:19] <Thanasis> the red arrows could have been implemented in hundreds of different ways
* [16:53:44] <Thanasis> but the important is their result, the green arrows
* [16:53:53] <Doctor_Hell_> talking about how to draw the objects?
* [16:54:26] <Thanasis> well, my idea was, do two shapes
* [16:54:36] <Thanasis> the first without code
* [16:55:10] <Thanasis> only showing the 5 steps like I explained above, ie, the green arrows
* [16:55:28] <Thanasis> the second can explain each step in detail using the red arrows
* [16:55:50] <Thanasis> but in any case the definition is the following
* [16:56:04] <Thanasis> an event is, you send the name of a method to someone
* [16:56:14] <Doctor_Hell_> ok...but also we have the description written by Manish. I'll show you it tomorrow
* [16:56:21] <Thanasis> and that someone executes that method of theirs
* [16:56:47] <Thanasis> sure, there are many ways to describe it
* [16:57:00] <Doctor_Hell_> I hope we can find the best one
* [16:57:07] <Thanasis> I think that they all match though in some certain key points
* [16:57:52] <Thanasis> if these are filtered out, the explanation may be more simple
And touching on API ideas ...
* [16:59:09] <Doctor_Hell_> since the core is too complex for average python programmers
* [16:59:36] <Thanasis> yes... perhaps the code could be organized in tiers.
* [17:00:00] <Thanasis> core, classes, plugins, scripts
* [17:00:27] <Doctor_Hell_> ah you are talking of the current code, not the simplified api
* [17:00:54] <Doctor_Hell_> yes, it's a good idea..but what group under "core" ?
* [17:01:25] <Thanasis> theapplication and its interfaces(ie.communication with the system and devices. QT, GL etc.)
* [17:01:59] <Thanasis> classes are abstract, they use the application by calling its methods
* [17:02:35] <Thanasis> the application uses the interfaces (QT, GL.these are actually harder than the application andcould be a sepparate tier)
* [17:02:54] <Thanasis> thepluginsuse the classes to create objects
* [17:03:26] <Doctor_Hell_> I see some possible confusion because:
* [17:04:24] <Doctor_Hell_> - not all core modules are into core folder (for example qtui and qtgui are in libs)
* [17:04:49] <Doctor_Hell_> - Classes are everywhere
* [17:05:07] <Thanasis> yes, libs folder consists of both core and classes... indeed
* [17:05:23] <Thanasis> andinterfacestoo
* [17:06:51] <Thanasis> but in general, this separation exists somehow. I'm not sure how, but the past programmers instinctively created it, perhaps for better manageability
* [17:08:14] <Thanasis> ie. Human is a class, Material too, Armature (probably making name wrong again), and to function I observe that they use callbacks of Application
* [17:08:38] <Thanasis> They never use interfaces directly
* [17:09:46] <Thanasis> Even for drawing the human, it is the Application that will give the Human's object3d to OpenGL, not the Human directly
* [17:10:31] <Thanasis> and plugins use classes ie. they use the callbacks that Human, Material etc. have
* [17:11:08] <Doctor_Hell_> Do you mean abstraction classes?
* [17:13:27] <Doctor_Hell_> Thanasis: about new API:!LINK!http://bugtracker.makehuman.org/issues/534 -- http://bugtracker.makehuman.org/issues/534!/LINK!
* [17:13:42] <Doctor_Hell_> and!LINK!http://bugtracker.makehuman.org/projects/makehuman/wiki/Abstraction_API_for_plugins -- http://bugtracker.makehuman.org/projects/makehuman/wiki/Abstraction_API_...!/LINK!
* [17:13:57] <Doctor_Hell_> Feel free to add wished api calls
=== Q & A with Glynn Clements ===
Question: For an event when user clicks on a tab, Tabs class method tabChanged is called.
QTabWidget documentation.There is no such method.
Response:
The tabChanged method is defined for qtgui.TabsBase (and overridden for qtgui.Tabs).
Both qtgui.Tabs and qtgui.TabBar inherit from qtgui.TabsBase.
Tabs inherits from both TabsBase and QTabWidget while TabBar inherits from both TabsBase and QTabBar.
Both QTabWidget and QTabBar define the currentChanged signal, which is emitted whenever the current tab changes.
The TabsBase initialiser connects this signal to the tabChanged method (lib/qtgui.py:109):
class TabsBase(Widget):
def __init__(self):
...
self.connect(self, QtCore.SIGNAL('currentChanged int)'), self.tabChanged)
==========================================================
Question: is it true that qtui module: low level module, that handles signals directly from QtCore, QtGui and QtOpenGL?
Response:
qtui defines the classes for the application (QApplication subclass), main window QMainWindow subclass), drawing canvas (QGLWidget subclass), and some associated support classes. In other words, it implements the high-level UI, or at least the aspects which are tied to Qt.
Question: is it true that qtgui module: low level module, that define the basic widgets of the GUI as buttons, radiobuttons, etc..
Response:
Yes; qtgui is essentially a compatibility layer between the Qt widget classes and the legacy MH GUI toolkit. The classes provide methods which more closely mimic the behaviour of original gui3d widgets. Qt events are translated to MH events3d events.
Question: Is it true that gui3d module: high level module, that define the principal public classes of MakeHuman: Application, Category, TaskView and View.
Response:
This is what's left of the legacy MH GUI toolkit. Before the move to Qt, everything was a "View". Now it's just the high-level containers (Application, Category, Task) which exist as somewhere to put event handlers.
Question: What is the purpose of the module guicommon.py? Looking at the module name, it appears to be a sort of library for the GUI functions, but it's a completely different thing. What is it really?
Response:
Object used to be part of gui3d. Its primary function is to be the base class for Human. It's the other main subclass of events3d.EventHandler (the first being gui3d.View).
It's not really accurate to call it a "wrapper" around Object3D (although it can have instances of both module3d.Object3D and object3d.Object3D as members).
One of the main differences between guicommon.Object and module3d.Object3D is that the latter is a single mesh, while the former has up to four meshes (all of type module3d.Object3D): the base (or "seed") mesh, a proxy mesh, a subdivided mesh, and a subdivided proxy mesh.
It [guicommon.py or guicommon.Object ??RWB] also contains an object transformation (location, rotattion, scale) [method?], and optionally a display mesh (object3d.Object3D). As a subclass of EventHandler, it [guicommon.Object ??RWB] provides mouse handlers which propagate the event to the object's view (these are overridden for the Human within MHApplication.loadMainGui).
Question: G.app is the singular mhmain.MHApplication instance; the callEvent method (inherited from event3d.EventHandler) will end up calling G.app.onMouseDownCallback. How the function callEvent end up calling G.app.onMouseDownCallback?
Response:
"direction" will be either onMouseDownCallback or onMouseUpCallback. Note the "Callback" suffix.
So typical event flow for clicking on the human model is:
G.app.mainwin.canvas.mouseUpDownEvent ("onMouseDownCallback")
[Canvas.mouseUpDownEvent]
G.app.callEvent("onMouseDownCallback") [EventHandler.callEvent]
G.app.onMouseDownCallback() [gui3d.Application.onMouseDownCallback]
G.app.selectedHuman.callEvent('onMouseDown', event) [EventHandler.callEvent]
G.app.selectedHuman.onMouseDown()
[local function in MHApplication.loadMainGui]
G.app.currentTask.callEvent("onMouseDown", event) [EventHandler.callEvent]
G.app.currentTask.onMouseDown() [View.onMouseDown]
G.app.currentCategory.callEvent("onMouseDown", event) [EventHandler.callEvent]
G.app.currentCategory.onMouseDown()
[View.onMouseDown]
G.app.callEvent("onMouseDown", event) [EventHandler.callEvent]
G.app.onMouseDown() [MHApplication.onMouseDown]
Notes:
G.app.currentTask.parent == G.app.currentCategory
G.app.currentCategory.parent == G.app
Question: is the eventType string (also called 'direction') originated by QT?
Response:
No. "direction" is just so that code which is common to both mouse press and mouse release events can go into a single method (mouseUpDownEvent) rather than duplicating it in mousePressEvent() and mouseReleaseEvent(). Those functions are identical except for the name of the event passed to callEvent.
Bear in mind that self.callEvent("onMouseDown", event) is almost the same as self.onMouseDown(event), except that callEvent forces a redraw after the event has been dealt with, and has some support for logging and profiling. Once you strip that away, the guts of callEvent() is just:
method = getattr(self, eventType)
method(event)
======================================================================
Question: Can the modularization of the code can be improved?
Response:
Modularisation is already quite good. Too much of it can make the code harder to understand.
Currently, we try to avoid importing OpenGL or Qt modules (directly or indirectly) into modules which don't inherently depend upon them (e.g. guicommon.Object imports object3d locally in the attachMesh and detachMesh methods, so it only gets imported if you actually need to render the object).
TODO ACTION. One minor point which I noticed: lib/camera.py imports glmodule solely for the queryDepth() call in convertToWorld2D (the Z coordinate is obtained by retrieving a value from the depth buffer using the X,Y coordinates). This should probably be a local import in that method, so that camera.py could be used in e.g. import/export utilities.
==========================================================================
Question: [Referring to DocHell's red and green diagram (!LINK!https://www.dropbox.com/s/v3waacufp9pyx1u/mouse_event.png?dl=0] -- https://www.dropbox.com/s/v3waacufp9pyx1u/mouse_event.png?dl=0]!/LINK!]
Response:
I have no idea; I can't follow that [diagram]. It would probably help if you simply ignore CallEvent(), and treat object.callEvent('method',event) as just object.method(event).
The two factors which make following the flow slightly complicated are:
Methods aren't always defined within the class used to create an object, but may be inherited from one of its base classes.
Event handlers may be dynamically added to an object with the mhEvent method (which is usually invoked using Python's decorator syntax). This is done for the Human object in MHApplication.loadMainGui():
@self.selectedHuman.mhEvent
def onMouseDown(event):
....
If you aren't familiar with the decorator syntax, the above is equivalent to:
def onMouseDown(event):
...
self.selectedHuman.mhEvent(onMouseDown)
which in turn boils down to:
def onMouseDown(event):
...
self.selectedHuman.onMouseDown = onMouseDown
=================================================================================
Question: Could you provide an explanation of what a weak reference is? How might this impact MakeHuman?
Response:
[Jonas Hauquier ] A weak reference, one that is not accounted for by the garbage collection. Garbage collection removes objects from memory that have no pointers to them anymore. Weakrefs are not counted among those, so if the object has only weakrefs pointing to it, and not real pointers, it will be removed anyway. This is to make sure that object A and B that always point to each other, are not kept in memory just because they keep referencing each other (I believe the garbage collection does not do expensive graph traversals to check what is still referenced by the active context).
[Glynn Clements] Sort of. Python uses both reference-counting (which can't handle circular references) and reachability-based garbage collection (which can). If an object's reference count reaches zero, it will be finalised immediately. But an object with a non-zero reference count can still be finalised if it can be determined that it isn't reachable during a garbage-collection sweep.
However: the garbage collector won't attempt to finalise reference cycles if any of the objects in the cycle have a __del__ method, as it can't determine a safe order in which to execute them. Instead, it adds them to a list, accessible as gc.garbage. Application code can inspect this list, manually finalise the objects (which should break the cycles), then remove them from the list (otherwise their presence in gc.garbage will itself constitute a reference).
It's possible to have the garbage collector report such cases using gc.set_debug(gc.DEBUG_UNCOLLECTABLE).
Only a few MH classes contain __del__ methods. These will only present a problem if the object itself is part of a cycle (i.e. contains references to "complex" objects which themselves contain references which could lead back to the original object).
"Leaf-node" classes such as Texture and Shader shouldn't present a problem unless their creators attach additonal references to them. This may be an issue for e.g. qtgui.Slider and qtgui.RadioButton, as these have __del__ methods and will naturally create circular references. Use of weakref may be advised here. Similarly for queue.Thread. SceneItem in plugins/7_scene_editor.py may also be a problem.
=============================================================================
Question: Could you clarify wherther the following acurately describe the use of decorators?
A basic decorator is a function that:
1) Gets a function "A" as argument
2) Modifies the behavior of "A"
3) Returns a "decorated" version of "A"
Response: Correct.
Question: Topic: Decorators and side-effects. When is a decorator not about generating a function? So, if the above accurately descibes a decorator, consider the code:
@self.selectedHuman.mhEvent
def onMouseDown(event):
This should translate:
onMouseDown = self.selectedHuman.mhEvent(onMouseDown)
One would expect that using mhEvent as decorator, it returns a function, but instead, it returns None:
def mhEvent(self, eventMethod):
self.attachEvent(eventMethod.__name__, eventMethod)
How can it be used as decorator?
Response:
Because the returned "function" isn't actually used anywhere. The definition is local to loadMainGui(), which doesn't reference the functions, so the fact that e.g. onMouseDown is None within loadMainGui() doesn't matter. The mhEvent() method is used for its side-effects, not its return value. It attaches an event to the selectedHuman. It is equivalent to:
self.selectedHuman.attachEvent(onMouseDown.__name__, onMouseDown)
==============================================================================
== Packager's notes ==
Notes for packagers of Makehuman stables and nightlies.
=== Packaging RPM's for Suse/Fedora using Open Build Service (OBS) ===
The Open Build Service is a service formerly known as the Opensuse build service. OBS allows packagers to build packages for several targets. Here a target is a particular OS version E.g. Suse 13.1, Suse 12.3, Fedora 20 , Ubuntu 14.04 and so on. OBS being a build system by itself can be hosted anywhere even on local infrastructure. For MakeHuman packages we use the OBS instance hosted by Novell at build.opensuse.org
This document will briefly outline the typical packaging workflow for Suse and Fedora. Both distributions use the RPM format and subsequently adhere to RPM's packaging rules.
!IMAGE!Pictures/obs-flow-chart-scaled.png!/IMAGE!
=== 1) Prepare source tarball: ===
OBS does not allow pulling from the internet once the rpm is being processed into a package so. When creating the source tarball you should assemble it either on your own computer or a server online (even a VPS will do).
There are several Important files and scripts which are of interest to us. One is build_prepare.py this assembles the main folder and all the common data which is needed by all OSes be it Mac or LInux distros or windows. This script is essential to run. Then there is build_rpm.py. We borrow some of the initial code in this and use it on our bash script but we do not build the whole RPM because OBS does that. Another third inportant file is build.conf (this stores the configuration used by build_prepare.py to make the source tarball). Using the above scripts/files I prepared a Bash script which is shown below.
The above script assumes the following:
* You have cloned MakeHuman's Mercurial (Hg) repo into your home directory and it is located at ~/makehuman (cloning into ~/ automatically makes the makehuman folder)
* You have python , numpy and pyQt4 installed (package names may vary from distribution to distribution)
* You are running on a LInux distribution.
* You want to prepare a source tarball from Hg tags.
* $VERS is the latest user specified stable tagged version
* makehuman-$VERS is your destination folder where all files are copied
* the final tarball uses bzip compression. How the tarball is compressed is significant as RPM accepts only certain compression algorithms. The resultant file is makehuman-$VERS.tar.bz2 (E.g. makehuman-1.0.2.tar.bz2)
* You use an FTP server whose file path is located at /var/ftp you can skip this step if the script is run locally by commenting the lines out.
Explanation of the above script:
In the first section we use Hg and extract available tags and ask the user for input on which stable tag he/she wants to build against.
In the second section we automatically create the build.conf file which is used to specify if we want a release or development folder. Here we set isRelease=True
In the third section we use build.conf along with build_prepare.py this creates a basic non-OS specific folder in home (~/).
In the fourth section we copy extra files such as the .desktop file and the makehuman icon file, the shell wrapper for MakeHuman and remove the .bat file which is not needed in linux. Currently there is a bug where command line arguments are not passed by the shell wrapper to the python executable. We fix this by manually editing the file automatically in our bash script before copying it into the target folder to be tarballed. This is moved into the folder created earlier by build_prepare.py . With this we now have have a folder with all the basic requirements needed for packaging.
FInally the folder is then tarballed and it is ready for upload to OBS. If you are not using an FTP server then comment out the “mv” command which moves the tarball to /var/ftp in the shell script above. IN some distributions the FTP directory is /srv/ftp
=== 2) Upload the tarball to OBS ===
The next step is to upload the tarball to OBS. Firstly you need to create a username and password. Then login to build.opensuse.org and create a project. On account creation you get your own home directory.
Two interfaces exist to OBS. One is the command-line interface which is available by installing the package "osc" it is available in most distributions. The other one is the Web User interface. Both are equally useful the command line interface is better for doing certain tasks however.
OBS also has a feature called “ services”. Several services are available such as services to pull from various sources e.g. FTP servers online, services to tarball the version controlled sources directly (tar_scm). You can make use of these _services (they are defined using XML notation in "_service" files). Read!LINK!”http://en.opensuse.org/openSUSE:Build_Service_Concept_SourceService” -- Source Services!/LINK!; or you can manually upload your tarball through the Web UI or use the "osc" command line utility. To learn how to use the "osc" utility use "man osc" or view the manpage online.
I would not recommend using _service files to pull the tarball as they can stop working. It is better to manually push the tarball to OBS. Either by pressing the upload button on the Web UI or placing the tarball in your project home directory created by using the “osc checkout” command. Then typing “osc ar” (add /remove) and finally “ osc commit -m ”put commit description here” “ to push and commit the changes you just made.
You can also automate the above process by adding lines to the shell script but It is better to administer osc separately and manually to allow for more control.
=== 3) Prepare the spec file: ===
A .spec file is a special file which is used to build RPM's. It “contains information required by RPM to build the package, as well as instructions telling RPM to build it. The spec file also dictates exactly what files are a part of the package, and where they should be installed. The RPM specification is very well defined and it is fundamental than any packager develop a strong base in the fundamentals.” (taken from “Maximum RPM”)
A very important book detailing the various capabilities of RPM is!LINK!”http://www.rpm.org/max-rpm/” -- Maximum RPM!/LINK!. This is a must read for any packager and will help in understanding the spec file shown below. If you have not read it please bookmark the page and give the book a read. I cannot stress how important it is.
In OBS we have 2 main OS's which use RPM's as build targets Fedora and Suse. RPM provides macros to make packaging more standardised and easy. Most Macros are common however some are distribution specific. Below is the spec file used by the Makehuman project. For version 1.0.2.
The above .spec file follows the general structure and format of spec files as per the RPM specification. The spec file has been formatted for for OBS by running “osc service localrun format_spec_file” then reading the contents to ensure that nothing went wrong and committing the changes back to OBS. In the above spec file we have split MakeHuman into 2 subpackages and made them depend upon each other to ensure consistency. As you can see there are 2 sources one is the tarball we created with our bash script earlier and there is another file called "makehuman.1" this is a manpage. In the spec file instructions are issued to gzip it and put into the manual directory on install. The manpage (Source101 in the .spec file) is shown below.
How man pages are created is out of scope of this document. Man pages use gtroff. There are however ample resources online which can help with this.
The .spec file has been commented to provide you with a better understanding of what is done at various stages.
Once the .spec file has been updated on OBS it automatically triggers a rebuild duribg that time you can monitor the status of the build process and correct errors in your spec file or sources as they arise.
=== 4)Pushing changes to the official repositories ===
Once you are satisfied that your package is stable you can make a submit request to submit the package from the Web User Interface or run the command below.
In the above command we submit the “makehuman” package to the OpenSuse “graphics” project. After this the package is reviewed by the maintainer of the graphics project and approved or rejected with comments given. You will receive an email after the project has been reviewed.
Notes:
* The .spec file and the manual page will change over time. The above is there for illustration purposes only.
* You can find copies of the most recent stable .spec file and makehuman.1 manpage!LINK!:https://build.opensuse.org/package/show/graphics/makehuman: -- here!/LINK!. This is the stable version after a "submit request" to the official Suse repositories.
b34d1436ac9f65296e2add662b7ed8f2ce35a9cb
Documentation:Clothes
3000
240
1815
1814
2020-06-29T04:20:38Z
Mtknife
35
/* What if automatic vertex groups don't work? */
wikitext
text/x-wiki
MakeClothes, as its name implies, is a Blender addon that is used to construct clothing assets for use in the MakeHuman program. Clothes can be modeled using any technique that is natural. For example, clothing can be modeled from scratch, or by altering either the human mesh or the “clothing helpers” (see below) provided by the MakeClothes tool. When designing and modeling a clothing item, there are two restrictions that should be kept in mind. First, the algorithm for mapping a clothing mesh to the human mesh requires that the clothing mesh consists entirely of quad faces. Second, it is important to know that MakeClothes supports only one material per item of clothing.
Upon completing the MakeClothes workflow, a new folder will be created by the tool within your HOME/makehuman/v1/data/clothes. That folder will assume the unique name that the user provides for the clothing item. This folder will be populated with the assets necessary to make the item available in MakeHuman. The one additional, useful but not essential, item that the user must supply is a thumbnail icon for the clothing. The thumbnail icon can be created with any image editing program as a 128 x128 pixel image in .png format. The file should then be saved in the same folder as the other assets and the extension changed to .thumb.
== Standard Tools ==
=== Using MakeClothes addon ===
[[File:Btmc01.png|left]] MakeClothes is controlled by the MakeClothes panel in the N-shelf to the right of the viewport. It consists of the main buttons that are always visible, and several hidden sections that can be displayed by enabling a checkbox.
<br style="clear:both" />
<hr>
[[File:Btmc02.png|500px|right]]
The main section contains the following:
* Type: Specifies the character to be used as a reference. It can be one of the following:
** Base Mesh: The MakeHuman mesh without any targets applied.
** Average Male: A caucasian young male.
** Average Female: A caucasian young female.
** Average Child: A caucasian young child.
** Average Baby: A caucasian young baby.
** Base Mesh with Helpers: The MakeHuman mesh without any targets applied.
** Average Male with Helpers: A caucasian young male.
** Average Female with Helpers: A caucasian young female.
** Average Childwith Helpers: A caucasian young child.
** Average Baby with Helpers: A caucasian young baby.
*Load Human mesh: the button to load the selected type into the scene.
Note:"helpers" in MakeHuman are a type of special, invisible geometry over the base mesh which can be loaded to help model clothes, for example, a helper sweater, helper tights, etc. They have their own materials. It is important to note that no alterations should be made to the base mesh type after it is loaded otherwise the script will fail. The image (right) shows the result of pressing "Load Human Mesh", with type set to Base Mesh.
<br style="clear:both" />
[[File:Btmc03.png|500px|right]] A human mesh is loaded into the viewport, and more tools are enabled:
* Mesh Type: MakeClothes divides meshes into two types: human and clothing. This button displays the mesh type (Human/Clothing) of the active mesh and is greyed out if the active object is not a mesh. (MakeHuman normally detects the items accurately, but in the event of an error, you can click the button to change the mesh type so that it is treated as a clothing item instead of human if it is a clothing item and incorrectly detected).
* Create Vertex Groups From Selection: MakeClothes uses vertex groups to control the fitting.
* Make Clothes. This is the main entry point for the MakeClothes script. With one human and one piece of clothing selected, create an association between clothes vertices and human triangles, i.e. triplets of human vertices. Both meshes must have vertex groups with identical names, and each clothing vertex must belong to exactly one vertex group. The result of the association is saved in the file ObjectName/ObjectName.mhclo, in the default directory. This button is greyed out if the active object is not a mesh.
* Test Clothes. This buttons loads a piece of clothing (an .mhclo file) and fits it to the active mesh, which must be a human. Typically a second human is loaded on a different layer, and the quality of the clothes fitted to that character can immediately be checked in Blender. To test the clothes under the strictest conditions, the human model used for testing should be quite different from the human used for clothes-making. If the original character is an adult, Baby With Helpers is a good choice.
If, instead, the Human With Helpers button is pressed, the full MakeHuman mesh including the helper geometry is loaded. Different materials are assigned to each type of helper geometry. The materials are ordered in the order of the vertex number. This makes it easy to peel off one helper type at a time.
<br style="clear:both" />
=== Glue clothes to the body ===
The clothes are meshes that can be modelled directly in Blender, or in another package and then imported into Blender as an obj file. Note that the mesh type is Clothing, which is the default unless the mesh has been declared to be a human. A simple method to obtain a starting point modelling is to duplicate part of the human mesh and separate it from the human. However, in this case the duplicated mesh will still be a human. To change the mesh type, press the toggle button Human. The status is now changed into Clothing.
After loading the human, the next step is to "glue" the clothes to the human, in order that they will automatically fit the body changes. To control this association, MakeClothes uses vertex groups. Each clothing vertex must belong to exactly one vertex group, and a vertex group with the same name must exist in the human mesh as well. On the human side you are more liberal with the vertex groups, i.e. you can have vertices that do not belong to any vertex group or to more then one vertex group, so these vertex groups can overlap. Only human vertices in the correct vertex group will be considered when making clothes. There are special vertex groups for teeth (see: [[Documentation:Controlling the result with vertex groups|Controlling the result with vertex groups]]) and rigid vertex groups beginning with '*'.
Vertex groups speed up the clothes-making process by pruning the search tree, and can be used to control the appearance of clothes as well. However, assigning vertex groups can be quite tedious, and in many cases it is sufficient to let MakeClothes create vertex groups automatically. This is done automatically when a human mesh is loaded. If a clothing mesh does not have any vertex groups, it is also done automatically, when the MakeClothes button is pressed.
=== Automatic vertex groups ===
[[File:Btmc04.png|500px|right]] If vertex groups need to be reassigned, for example because a piece of clothing has been edited, the automatic vertex groups can be used. When the human is selected, there is a button, visible in the image (above right), called "Create Vertex Groups From Selection". Selecting a cloth, the button changes to "Create Vertex Groups". Both the buttons do the same thing, but there is a little difference: in the human it is possible to generate the vertex groups only for a sub set of the vertices (selected in edit mode), while for clothing the vertex groups must include all vertices. This is because we need to associate only a part of the human vertices with all vertices of the clothing. For example, we need to associate all the vertices of a skirt with the human torso only.
<br style="clear:both" />
[[File:Btmc05.png|500px|right]] Pressing the button, the following vertex groups are created:
* Mid: Vertices on or very close to the center line (|x| < 0:001).
* Left: Vertices to the left of the center line (x > 0:001). For a human the Mid vertices are also included in the Left group.
* Right. Vertices to the right of the center line (x z 0:001). For a human the Mid vertices are also included in the Right group.
* Delete: An empty group only created for humans. Human vertices hidden by the piece of clothing can be added to this groups. These vertices are then optionally deleted when the clothing is applied in MakeHuman, thus avoiding that blotches of skin poking through the clothes. Note that when a vertex is deleted, so are all faces containing this vertex. Don't assign a vertex to the Delete group unless all faces containing it are hidden by the pieces of clothing.
In the images (right), we can see the vertices assigned to the Mid and Left groups for a nude human.
<br style="clear:both" />
=== What if automatic vertex groups don't work? ===
Sometimes, a piece of clothing made with MakeClothes seems to work just fine—until you try it on a character not shaped exactly life the target used in MakeClothes, at which point all sorts of strange distortions may occur. Why does this happen?
When you use MakeClothes, at some point you have to load a target object ("Load Human Mesh"). These come in two basic varieties, with helpers (e.g., "Average Female With [sic] Helpers") and without (e.g., "Average Female"); the obvious difference is that the "With Helpers" objects include not only the human body, but the "helpers" mentioned briefly in the previous section: they're a bunch of vertices that represent different types of clothing, and hair. Thus, just below the waist, if you examine the human mesh closely, you'll find three layers of vertices: the body itself, a tights "object" that lies just on top of the body, and a skirt "object" that conforms to the body in places, but stretches over it in others (between the legs, to be precise).
For the modeler, the obvious use of these targets ("human meshes") is to fit clothes; if you use the "with Helpers" versions, you can also use the helper "objects" as templates for creating clothes (this works well for skirts or hair, but with shirts, you run into the problem that the edge loops don't coincide with where you'd want to put seams). However, the targets also serve another purpose: when you hit the "Create Vertex Groups" button and then the "Make Clothes" button, the program calculates the distance between each vertex of the item of clothing and the nearest vertices in the human mesh, and then uses these relationships to deform the item of clothing when the body moves.
If the vertices in the clothing are associated with vertices in the human mesh that have a very different shape, bad things tend to happen. To avoid this problem, you have to do three things before you hit "Create Vertex Groups" :
# Select the human mesh, and go into "Edit" mode. Select only the vertices that make up the appropriate helper object (or in some cases, like a long coat or a dress, objects). Doing this will eliminate a lot of the "wedgie" effect, which is due mostly to the skin-tight contours of the body itself and the tights helper in the area around the crotch. (A similar problem occurs between the breasts, with clothes sticking inside the cleavage like a rubber wetsuit, rather than stretching across the gap like most fabrics do.) This procedure can be tricky to do by hand, since some objects cover others (the "Hair" object makes the upper part of the "Tights" object, which is used for shirts, especially hard to work with), and you can't just delete the stuff you don't need, since this fouls up the program. Fortunately, each helper object has a stand-in material with a different color, and there's a handy "Show Selection" button that automatically selects the most commonly used sets of vertices ("Body", "Tights", "Skirt", "Coat", and "Hair"); the hide command ("H") is also useful here ("alt-H" to unhide everything hidden).
# Unselect all the vertices that aren't directly underneath the clothes in question. Thus, if you're making a short skirt, not only will you not select the layers of body and tights vertices beneath the skirt helper object, but you'll make sure that skirt helper vertices that lie below your skirt's hemline (or above its waist) also aren't selected. This step eliminates some distortions (huge wrinkles, mostly) that occur for clothing whose vertices are far away from the body.
# Finally, get rid of vertices in "crevices". For reasons that are not entirely clear (better understanding of the body than of clothes on the part of the sculptor, probably), the shapes of the helper objects don't correspond very well to real clothes in certain places. As mentioned above, the upper tights follow the contour of the skin between the breasts, and the lower part of the tights dips into the "crack" between the buttocks, and clings skin-tight against the area where the legs join—as if it were painted on. The skirt helper at least stretches across the space between the legs, but it, too, dips into the crack between the buttocks, rather than stretching between the buttocks like a real skirt would. Unselect the vertices in question: fortunately, they're easy to find, because they all lie at or near the center line of the human mesh (that is, points whose "X" value is 0, and which lie on the plane that divides the left and right sides of the body). You might want to substitute other points that don't lie directly beneath the clothes, but which don't dip into the crevices. If it works, this procedure should eliminate almost all of the wedgie effect not eliminated by step #1. However, note that this particular step is somewhat hit-or-miss: it will make things better for some pieces of clothing, but worse for others. Experiment to find out what works best for the clothing you're creating,
=== Generate the clothes file ===
When both clothing and human has the vertex groups with same name, just press the MakeClothes button to generate the files.
They will be located in your HOME/makehuman/v1/data/clothes, in order to be inbcluded automatically in MakeHuman.
== Advanced tools ==
Under the main buttons of Makeclothes, there are seven hidden panels that can be activated clicking the checkbox. Let's see their meaning.
=== Show selection, Show Materials, Show UV projection ===
[[File:Btmc06.png|right]]
*Show selection. This feature is just a shortcut to quickly select some part of the human. So, instead of classic Blender selection (go to edit mode, move the mouse on a vertex and press Lkey to select the linked vertices), you can just press these buttons.
<br style="clear:both" />
[[File:Btmc07.png|right]]
* Show Materials. This shows a button to export the materials only. This is useful when there are no changes to the geometry, but only to the material, in order to avoid recalculating everything.
* Show UV projection. This section is useful mainly for making proxy meshes.
** Recover seams. Creates a Seam object, which has edges where the selected mesh's UV layout has seams. The Seam object is intended to be a reference for marking seams for the clothing.
** Auto seams.
** Project UVs. Automatically create a UV layout for the clothing, compatible with the human's UV coordinates. This is intended for the mask UV layer, which must be compatible with the body mesh for all clothes. The actual texture can use a different UV layer which can be laid out in any desirable manner.
** Reexport Mhclo file.The mhclo file must be resaved when the mask UVs have been defined. This can be done by pressing Make clothes again, but Reexport Mhclo file is faster.
<br style="clear:both" />
=== Show ZDepth, Show Offset scaling ===
[[File:Btmc08.png|right]]
* Show ZDepth. This option is used to assign a depth to the cloth, in order to hide skin and clothes which are covered by clothes on top of it. The Z depth specifies the stacking order, which decides which clothes should hide others. Normally the Z depth ranges between 0 (skin) and 100 (external accessories such as backpacks).
** Depth name. Roughly indicates the preferred Z depth for various clothes types. The choices are: Body, Underwear and Lingerie, Socks and Stockings, Shirt and Trousers, Sweater, Indoor Jacket, Shoes and Boots, Coat, Backpack.
** Set Z depth.Set the Z depth depending on the selected depth name.
** Z depth.The value of the Z depth. This is changed by the Set Z depth button, but can be set manually for fine-tuning.
<br style="clear:both" />
[[File:Btmc09.png|right]]
* Show Offset scaling. The location of a clothing vertex depends on two data: a point on a body triangle, described in barycentric coordinates, and the offset from that point. The offset is scaled in the X, Y and Z directions depending on the size of a certain body part.
** Body Part. Set this to the body part which is most affected. The choices are: Custom, Body, Genital, Head, Torso, Arm, Hand, Leg, Foot.
** Examine Boundary. Select the boundary vertices with Set boundary is invoked.
** Set Boundary. Set the boundary to vertices determined by the selected body part.
** Custom Boundary. To manually set the bounday box.
** X1, X2, Y1, Y2, Z1, Z2. The vertex numbers of the six vertices which define the scaling boundary. The X scale is determined from the distance between vertices X1 and X2, the Y scale by Y1 and Y2, and the Z scale by Z1 and Z2.
<br style="clear:both" />
=== Show Settings, Show License ===
[[File:Btmc10.png|right]]
* Show Setting. The settings include the author name and the export path. It's possible to save and restore the settings.
<br style="clear:both" />
[[File:Btmc11.png|right]]7
* Show License.This set of options are to add the author name, the type of license and the tags for clothes. Licensing information to be put at the top of the exported mhclo file. It consists of three strings that can contain arbitary text.
** Author. Defaults to: Unknown.
** License. Defaults to: AGPL3
** HomePage. Defaults to: <NOWIKI>http://www.makehuman.org/ -- http://www.makehuman.org/</NOWIKI>
<br style="clear:both" />
3b97d5d0793eaf0575ad34a1e86eed0dfcff24bf
1814
1684
2020-06-29T04:17:23Z
Mtknife
35
/* What if automatic vertex groups don't work? */
wikitext
text/x-wiki
MakeClothes, as its name implies, is a Blender addon that is used to construct clothing assets for use in the MakeHuman program. Clothes can be modeled using any technique that is natural. For example, clothing can be modeled from scratch, or by altering either the human mesh or the “clothing helpers” (see below) provided by the MakeClothes tool. When designing and modeling a clothing item, there are two restrictions that should be kept in mind. First, the algorithm for mapping a clothing mesh to the human mesh requires that the clothing mesh consists entirely of quad faces. Second, it is important to know that MakeClothes supports only one material per item of clothing.
Upon completing the MakeClothes workflow, a new folder will be created by the tool within your HOME/makehuman/v1/data/clothes. That folder will assume the unique name that the user provides for the clothing item. This folder will be populated with the assets necessary to make the item available in MakeHuman. The one additional, useful but not essential, item that the user must supply is a thumbnail icon for the clothing. The thumbnail icon can be created with any image editing program as a 128 x128 pixel image in .png format. The file should then be saved in the same folder as the other assets and the extension changed to .thumb.
== Standard Tools ==
=== Using MakeClothes addon ===
[[File:Btmc01.png|left]] MakeClothes is controlled by the MakeClothes panel in the N-shelf to the right of the viewport. It consists of the main buttons that are always visible, and several hidden sections that can be displayed by enabling a checkbox.
<br style="clear:both" />
<hr>
[[File:Btmc02.png|500px|right]]
The main section contains the following:
* Type: Specifies the character to be used as a reference. It can be one of the following:
** Base Mesh: The MakeHuman mesh without any targets applied.
** Average Male: A caucasian young male.
** Average Female: A caucasian young female.
** Average Child: A caucasian young child.
** Average Baby: A caucasian young baby.
** Base Mesh with Helpers: The MakeHuman mesh without any targets applied.
** Average Male with Helpers: A caucasian young male.
** Average Female with Helpers: A caucasian young female.
** Average Childwith Helpers: A caucasian young child.
** Average Baby with Helpers: A caucasian young baby.
*Load Human mesh: the button to load the selected type into the scene.
Note:"helpers" in MakeHuman are a type of special, invisible geometry over the base mesh which can be loaded to help model clothes, for example, a helper sweater, helper tights, etc. They have their own materials. It is important to note that no alterations should be made to the base mesh type after it is loaded otherwise the script will fail. The image (right) shows the result of pressing "Load Human Mesh", with type set to Base Mesh.
<br style="clear:both" />
[[File:Btmc03.png|500px|right]] A human mesh is loaded into the viewport, and more tools are enabled:
* Mesh Type: MakeClothes divides meshes into two types: human and clothing. This button displays the mesh type (Human/Clothing) of the active mesh and is greyed out if the active object is not a mesh. (MakeHuman normally detects the items accurately, but in the event of an error, you can click the button to change the mesh type so that it is treated as a clothing item instead of human if it is a clothing item and incorrectly detected).
* Create Vertex Groups From Selection: MakeClothes uses vertex groups to control the fitting.
* Make Clothes. This is the main entry point for the MakeClothes script. With one human and one piece of clothing selected, create an association between clothes vertices and human triangles, i.e. triplets of human vertices. Both meshes must have vertex groups with identical names, and each clothing vertex must belong to exactly one vertex group. The result of the association is saved in the file ObjectName/ObjectName.mhclo, in the default directory. This button is greyed out if the active object is not a mesh.
* Test Clothes. This buttons loads a piece of clothing (an .mhclo file) and fits it to the active mesh, which must be a human. Typically a second human is loaded on a different layer, and the quality of the clothes fitted to that character can immediately be checked in Blender. To test the clothes under the strictest conditions, the human model used for testing should be quite different from the human used for clothes-making. If the original character is an adult, Baby With Helpers is a good choice.
If, instead, the Human With Helpers button is pressed, the full MakeHuman mesh including the helper geometry is loaded. Different materials are assigned to each type of helper geometry. The materials are ordered in the order of the vertex number. This makes it easy to peel off one helper type at a time.
<br style="clear:both" />
=== Glue clothes to the body ===
The clothes are meshes that can be modelled directly in Blender, or in another package and then imported into Blender as an obj file. Note that the mesh type is Clothing, which is the default unless the mesh has been declared to be a human. A simple method to obtain a starting point modelling is to duplicate part of the human mesh and separate it from the human. However, in this case the duplicated mesh will still be a human. To change the mesh type, press the toggle button Human. The status is now changed into Clothing.
After loading the human, the next step is to "glue" the clothes to the human, in order that they will automatically fit the body changes. To control this association, MakeClothes uses vertex groups. Each clothing vertex must belong to exactly one vertex group, and a vertex group with the same name must exist in the human mesh as well. On the human side you are more liberal with the vertex groups, i.e. you can have vertices that do not belong to any vertex group or to more then one vertex group, so these vertex groups can overlap. Only human vertices in the correct vertex group will be considered when making clothes. There are special vertex groups for teeth (see: [[Documentation:Controlling the result with vertex groups|Controlling the result with vertex groups]]) and rigid vertex groups beginning with '*'.
Vertex groups speed up the clothes-making process by pruning the search tree, and can be used to control the appearance of clothes as well. However, assigning vertex groups can be quite tedious, and in many cases it is sufficient to let MakeClothes create vertex groups automatically. This is done automatically when a human mesh is loaded. If a clothing mesh does not have any vertex groups, it is also done automatically, when the MakeClothes button is pressed.
=== Automatic vertex groups ===
[[File:Btmc04.png|500px|right]] If vertex groups need to be reassigned, for example because a piece of clothing has been edited, the automatic vertex groups can be used. When the human is selected, there is a button, visible in the image (above right), called "Create Vertex Groups From Selection". Selecting a cloth, the button changes to "Create Vertex Groups". Both the buttons do the same thing, but there is a little difference: in the human it is possible to generate the vertex groups only for a sub set of the vertices (selected in edit mode), while for clothing the vertex groups must include all vertices. This is because we need to associate only a part of the human vertices with all vertices of the clothing. For example, we need to associate all the vertices of a skirt with the human torso only.
<br style="clear:both" />
[[File:Btmc05.png|500px|right]] Pressing the button, the following vertex groups are created:
* Mid: Vertices on or very close to the center line (|x| < 0:001).
* Left: Vertices to the left of the center line (x > 0:001). For a human the Mid vertices are also included in the Left group.
* Right. Vertices to the right of the center line (x z 0:001). For a human the Mid vertices are also included in the Right group.
* Delete: An empty group only created for humans. Human vertices hidden by the piece of clothing can be added to this groups. These vertices are then optionally deleted when the clothing is applied in MakeHuman, thus avoiding that blotches of skin poking through the clothes. Note that when a vertex is deleted, so are all faces containing this vertex. Don't assign a vertex to the Delete group unless all faces containing it are hidden by the pieces of clothing.
In the images (right), we can see the vertices assigned to the Mid and Left groups for a nude human.
<br style="clear:both" />
=== What if automatic vertex groups don't work? ===
Sometimes, a piece of clothing made with MakeClothes seems to work just fine—until you try it on a character not shaped exactly life the target used in MakeClothes, at which point all sorts of strange distortions may occur. Why does this happen?
When you use MakeClothes, at some point you have to load a target object ("Load Human Mesh"). These come in two basic varieties, with helpers (e.g., "Average Female With [sic] Helpers") and without (e.g., "Average Female"); the obvious difference is that the "With Helpers" objects include not only the human body, but the "helpers" mentioned briefly in the previous section: they're a bunch of vertices that represent different types of clothing, and hair. Thus, just below the waist, if you examine the human mesh closely, you'll find three layers of vertices: the body itself, a tights "object" that lies just on top of the body, and a skirt "object" that conforms to the body in places, but stretches over it in others (between the legs, to be precise).
For the modeler, the obvious use of these targets ("human meshes") is to fit clothes; if you use the "with Helpers" versions, you can also use the helper "objects" as templates for creating clothes (this works well for skirts or hair, but with shirts, you run into the problem that the edge loops don't coincide with where you'd want to put seams). However, the targets also serve another purpose: when you hit the "Create Vertex Groups" button and then the "Make Clothes" button, the program calculates the distance between each vertex of the item of clothing and the nearest vertices in the human mesh, and then uses these relationships to deform the item of clothing when the body moves.
If the vertices in the clothing are associated with vertices in the human mesh that have a very different shape, bad things tend to happen. To avoid this problem, you have to do three things before you hit "Create Vertex Groups" :
# Select the human mesh, and go into "Edit" mode. Select only the vertices that make up the appropriate helper object (or in some cases, like a long coat or a dress, objects). Doing this will eliminate a lot of the "wedgie" effect, which is due mostly to the skin-tight contours of the body itself and the tights helper in the area around the crotch. (A similar problem occurs between the breasts, with clothes sticking inside the cleavage like a rubber wetsuit, rather than stretching across the gap like most fabrics do.) This procedure can be tricky to do by hand, since some objects cover others (the "Hair" object makes the upper part of the "Tights" object, which is used for shirts, especially hard to work with), and you can't just delete the stuff you don't need, since this fouls up the program. Fortunately, each helper object has a stand-in material with a different color, and there's a handy "Show Selection" button that automatically selects the most commonly used sets of vertices ("Body", "Tights", "Skirt", "Coat", and "Hair"); the hide command ("H") is also useful here ("alt-H" to unhide everything hidden).
# Unselect all the vertices that aren't directly underneath the clothes in question. Thus, if you're making a short skirt, not only will you not select the layers of body and tights vertices beneath the skirt helper object, but you'll make sure that skirt helper vertices that lie below your skirt's hemline (or above its waist) also aren't selected. This step eliminates some distortions (huge wrinkles, mostly) that occur for clothing whose vertices are far away from the body.
# Finally, get rid of vertices in "crevices". For reasons that are not entirely clear (better understanding of the body than of clothes on the part of the sculptor, probably), the shapes of the helper objects don't correspond very well to real clothes in certain places. As mentioned above, the upper tights follow the contour of the skin between the breasts, and the lower part of the tights dips into the "crack" between the buttocks, and clings skin-tight against the area where the legs join—as if it were painted on. The skirt helper at least stretches across the space between the legs, but it, too, dips into the crack between the buttocks, rather than stretching between the buttocks like a real skirt would. Unselect the vertices in question: fortunately, they're easy to find, because they all lie at or near the center line of the human mesh (that is, points whose "X" value is 0, and which lie on the plane that divides the left and right sides of the body). You might want to substitute other points that don't lie directly beneath the clothes, but which don't dip into the crevices. This step should eliminate almost all of the wedgie effect not eliminated by step #1. Note that this particular step is somewhat hit-or-miss: it will make things better for some pieces of clothing, but worse for others. Experiment to find out what works best for the clothing you're creating,
=== Generate the clothes file ===
When both clothing and human has the vertex groups with same name, just press the MakeClothes button to generate the files.
They will be located in your HOME/makehuman/v1/data/clothes, in order to be inbcluded automatically in MakeHuman.
== Advanced tools ==
Under the main buttons of Makeclothes, there are seven hidden panels that can be activated clicking the checkbox. Let's see their meaning.
=== Show selection, Show Materials, Show UV projection ===
[[File:Btmc06.png|right]]
*Show selection. This feature is just a shortcut to quickly select some part of the human. So, instead of classic Blender selection (go to edit mode, move the mouse on a vertex and press Lkey to select the linked vertices), you can just press these buttons.
<br style="clear:both" />
[[File:Btmc07.png|right]]
* Show Materials. This shows a button to export the materials only. This is useful when there are no changes to the geometry, but only to the material, in order to avoid recalculating everything.
* Show UV projection. This section is useful mainly for making proxy meshes.
** Recover seams. Creates a Seam object, which has edges where the selected mesh's UV layout has seams. The Seam object is intended to be a reference for marking seams for the clothing.
** Auto seams.
** Project UVs. Automatically create a UV layout for the clothing, compatible with the human's UV coordinates. This is intended for the mask UV layer, which must be compatible with the body mesh for all clothes. The actual texture can use a different UV layer which can be laid out in any desirable manner.
** Reexport Mhclo file.The mhclo file must be resaved when the mask UVs have been defined. This can be done by pressing Make clothes again, but Reexport Mhclo file is faster.
<br style="clear:both" />
=== Show ZDepth, Show Offset scaling ===
[[File:Btmc08.png|right]]
* Show ZDepth. This option is used to assign a depth to the cloth, in order to hide skin and clothes which are covered by clothes on top of it. The Z depth specifies the stacking order, which decides which clothes should hide others. Normally the Z depth ranges between 0 (skin) and 100 (external accessories such as backpacks).
** Depth name. Roughly indicates the preferred Z depth for various clothes types. The choices are: Body, Underwear and Lingerie, Socks and Stockings, Shirt and Trousers, Sweater, Indoor Jacket, Shoes and Boots, Coat, Backpack.
** Set Z depth.Set the Z depth depending on the selected depth name.
** Z depth.The value of the Z depth. This is changed by the Set Z depth button, but can be set manually for fine-tuning.
<br style="clear:both" />
[[File:Btmc09.png|right]]
* Show Offset scaling. The location of a clothing vertex depends on two data: a point on a body triangle, described in barycentric coordinates, and the offset from that point. The offset is scaled in the X, Y and Z directions depending on the size of a certain body part.
** Body Part. Set this to the body part which is most affected. The choices are: Custom, Body, Genital, Head, Torso, Arm, Hand, Leg, Foot.
** Examine Boundary. Select the boundary vertices with Set boundary is invoked.
** Set Boundary. Set the boundary to vertices determined by the selected body part.
** Custom Boundary. To manually set the bounday box.
** X1, X2, Y1, Y2, Z1, Z2. The vertex numbers of the six vertices which define the scaling boundary. The X scale is determined from the distance between vertices X1 and X2, the Y scale by Y1 and Y2, and the Z scale by Z1 and Z2.
<br style="clear:both" />
=== Show Settings, Show License ===
[[File:Btmc10.png|right]]
* Show Setting. The settings include the author name and the export path. It's possible to save and restore the settings.
<br style="clear:both" />
[[File:Btmc11.png|right]]7
* Show License.This set of options are to add the author name, the type of license and the tags for clothes. Licensing information to be put at the top of the exported mhclo file. It consists of three strings that can contain arbitary text.
** Author. Defaults to: Unknown.
** License. Defaults to: AGPL3
** HomePage. Defaults to: <NOWIKI>http://www.makehuman.org/ -- http://www.makehuman.org/</NOWIKI>
<br style="clear:both" />
93237210214373e8a4906219e19ea0d2875e8523
1684
1598
2020-02-23T04:16:55Z
Mtknife
35
/* What if automatic vertex groups don't work? */
wikitext
text/x-wiki
MakeClothes, as its name implies, is a Blender addon that is used to construct clothing assets for use in the MakeHuman program. Clothes can be modeled using any technique that is natural. For example, clothing can be modeled from scratch, or by altering either the human mesh or the “clothing helpers” (see below) provided by the MakeClothes tool. When designing and modeling a clothing item, there are two restrictions that should be kept in mind. First, the algorithm for mapping a clothing mesh to the human mesh requires that the clothing mesh consists entirely of quad faces. Second, it is important to know that MakeClothes supports only one material per item of clothing.
Upon completing the MakeClothes workflow, a new folder will be created by the tool within your HOME/makehuman/v1/data/clothes. That folder will assume the unique name that the user provides for the clothing item. This folder will be populated with the assets necessary to make the item available in MakeHuman. The one additional, useful but not essential, item that the user must supply is a thumbnail icon for the clothing. The thumbnail icon can be created with any image editing program as a 128 x128 pixel image in .png format. The file should then be saved in the same folder as the other assets and the extension changed to .thumb.
== Standard Tools ==
=== Using MakeClothes addon ===
[[File:Btmc01.png|left]] MakeClothes is controlled by the MakeClothes panel in the N-shelf to the right of the viewport. It consists of the main buttons that are always visible, and several hidden sections that can be displayed by enabling a checkbox.
<br style="clear:both" />
<hr>
[[File:Btmc02.png|500px|right]]
The main section contains the following:
* Type: Specifies the character to be used as a reference. It can be one of the following:
** Base Mesh: The MakeHuman mesh without any targets applied.
** Average Male: A caucasian young male.
** Average Female: A caucasian young female.
** Average Child: A caucasian young child.
** Average Baby: A caucasian young baby.
** Base Mesh with Helpers: The MakeHuman mesh without any targets applied.
** Average Male with Helpers: A caucasian young male.
** Average Female with Helpers: A caucasian young female.
** Average Childwith Helpers: A caucasian young child.
** Average Baby with Helpers: A caucasian young baby.
*Load Human mesh: the button to load the selected type into the scene.
Note:"helpers" in MakeHuman are a type of special, invisible geometry over the base mesh which can be loaded to help model clothes, for example, a helper sweater, helper tights, etc. They have their own materials. It is important to note that no alterations should be made to the base mesh type after it is loaded otherwise the script will fail. The image (right) shows the result of pressing "Load Human Mesh", with type set to Base Mesh.
<br style="clear:both" />
[[File:Btmc03.png|500px|right]] A human mesh is loaded into the viewport, and more tools are enabled:
* Mesh Type: MakeClothes divides meshes into two types: human and clothing. This button displays the mesh type (Human/Clothing) of the active mesh and is greyed out if the active object is not a mesh. (MakeHuman normally detects the items accurately, but in the event of an error, you can click the button to change the mesh type so that it is treated as a clothing item instead of human if it is a clothing item and incorrectly detected).
* Create Vertex Groups From Selection: MakeClothes uses vertex groups to control the fitting.
* Make Clothes. This is the main entry point for the MakeClothes script. With one human and one piece of clothing selected, create an association between clothes vertices and human triangles, i.e. triplets of human vertices. Both meshes must have vertex groups with identical names, and each clothing vertex must belong to exactly one vertex group. The result of the association is saved in the file ObjectName/ObjectName.mhclo, in the default directory. This button is greyed out if the active object is not a mesh.
* Test Clothes. This buttons loads a piece of clothing (an .mhclo file) and fits it to the active mesh, which must be a human. Typically a second human is loaded on a different layer, and the quality of the clothes fitted to that character can immediately be checked in Blender. To test the clothes under the strictest conditions, the human model used for testing should be quite different from the human used for clothes-making. If the original character is an adult, Baby With Helpers is a good choice.
If, instead, the Human With Helpers button is pressed, the full MakeHuman mesh including the helper geometry is loaded. Different materials are assigned to each type of helper geometry. The materials are ordered in the order of the vertex number. This makes it easy to peel off one helper type at a time.
<br style="clear:both" />
=== Glue clothes to the body ===
The clothes are meshes that can be modelled directly in Blender, or in another package and then imported into Blender as an obj file. Note that the mesh type is Clothing, which is the default unless the mesh has been declared to be a human. A simple method to obtain a starting point modelling is to duplicate part of the human mesh and separate it from the human. However, in this case the duplicated mesh will still be a human. To change the mesh type, press the toggle button Human. The status is now changed into Clothing.
After loading the human, the next step is to "glue" the clothes to the human, in order that they will automatically fit the body changes. To control this association, MakeClothes uses vertex groups. Each clothing vertex must belong to exactly one vertex group, and a vertex group with the same name must exist in the human mesh as well. On the human side you are more liberal with the vertex groups, i.e. you can have vertices that do not belong to any vertex group or to more then one vertex group, so these vertex groups can overlap. Only human vertices in the correct vertex group will be considered when making clothes. There are special vertex groups for teeth (see: [[Documentation:Controlling the result with vertex groups|Controlling the result with vertex groups]]) and rigid vertex groups beginning with '*'.
Vertex groups speed up the clothes-making process by pruning the search tree, and can be used to control the appearance of clothes as well. However, assigning vertex groups can be quite tedious, and in many cases it is sufficient to let MakeClothes create vertex groups automatically. This is done automatically when a human mesh is loaded. If a clothing mesh does not have any vertex groups, it is also done automatically, when the MakeClothes button is pressed.
=== Automatic vertex groups ===
[[File:Btmc04.png|500px|right]] If vertex groups need to be reassigned, for example because a piece of clothing has been edited, the automatic vertex groups can be used. When the human is selected, there is a button, visible in the image (above right), called "Create Vertex Groups From Selection". Selecting a cloth, the button changes to "Create Vertex Groups". Both the buttons do the same thing, but there is a little difference: in the human it is possible to generate the vertex groups only for a sub set of the vertices (selected in edit mode), while for clothing the vertex groups must include all vertices. This is because we need to associate only a part of the human vertices with all vertices of the clothing. For example, we need to associate all the vertices of a skirt with the human torso only.
<br style="clear:both" />
[[File:Btmc05.png|500px|right]] Pressing the button, the following vertex groups are created:
* Mid: Vertices on or very close to the center line (|x| < 0:001).
* Left: Vertices to the left of the center line (x > 0:001). For a human the Mid vertices are also included in the Left group.
* Right. Vertices to the right of the center line (x z 0:001). For a human the Mid vertices are also included in the Right group.
* Delete: An empty group only created for humans. Human vertices hidden by the piece of clothing can be added to this groups. These vertices are then optionally deleted when the clothing is applied in MakeHuman, thus avoiding that blotches of skin poking through the clothes. Note that when a vertex is deleted, so are all faces containing this vertex. Don't assign a vertex to the Delete group unless all faces containing it are hidden by the pieces of clothing.
In the images (right), we can see the vertices assigned to the Mid and Left groups for a nude human.
<br style="clear:both" />
=== What if automatic vertex groups don't work? ===
Sometimes, a piece of clothing made with MakeClothes seems to work just fine—until you try it on a character not shaped exactly life the target used in MakeClothes, at which point all sorts of strange distortions may occur. Why does this happen?
When you use MakeClothes, at some point you have to load a target object ("Load Human Mesh"). These come in two basic varieties, with helpers (e.g., "Average Female With [sic] Helpers") and without (e.g., "Average Female"); the obvious difference is that the "With Helpers" objects include not only the human body, but the "helpers" mentioned briefly in the previous section: they're a bunch of vertices that represent different types of clothing, and hair. Thus, just below the waist, if you examine the human mesh closely, you'll find three layers of vertices: the body itself, a tights "object" that lies just on top of the body, and a skirt "object" that conforms to the body in places, but stretches over it in others (between the legs, to be precise).
For the modeler, the obvious use of these targets ("human meshes") is to fit clothes; if you use the "with Helpers" versions, you can also use the helper "objects" as templates for creating clothes (this works well for skirts or hair, but with shirts, you run into the problem that the edge loops don't coincide with where you'd want to put seams). However, the targets also serve another purpose: when you hit the "Create Vertex Groups" button and then the "Make Clothes" button, the program calculates the distance between each vertex of the item of clothing and the nearest vertices in the human mesh, and then uses these relationships to deform the item of clothing when the body moves.
If the vertices in the clothing are associated with vertices in the human mesh that have a very different shape, bad things tend to happen. To avoid this problem, you have to do three things before you hit "Create Vertex Groups" :
# Select the human mesh, and go into "Edit" mode. Select only the vertices that make up the appropriate helper object (or in some cases, like a long coat or a dress, objects). This can be tricky to do by hand, since some objects cover others (the "Hair" object makes the upper part of the "Tights" object, which is used for shirts, especially hard to work with), and you can't just delete the stuff you don't need, since this fouls up the program. Fortunately, each helper object has a stand-in material with a different color, and there's a handy "Show Selection" button that automatically selects the most commonly used sets of vertices ("Body", "Tights", "Skirt", "Coat", and "Hair"); the hide command ("H") is also useful here ("alt-H" to unhide everything hidden). Doing this will eliminate a lot of the "wedgie" effect, which is due mostly to the skin-tight contours of the body itself and the tights helper in the area around the crotch. (A similar problem occurs between the breasts, with clothes sticking inside the cleavage like a rubber wetsuit, rather than stretching across the gap like most fabrics do.)
# Unselect all the vertices that aren't directly underneath the clothes in question. Thus, if you're making a short skirt, not only will you not select the layers of body and tights vertices beneath the skirt helper object, but you'll make sure that skirt helper vertices that lie below your skirt's hemline (or above its waist) also aren't selected. This step eliminates some distortions (huge wrinkles, mostly) that occur for clothing whose vertices are far away from the body.
# Finally, get rid of vertices in "crevices". For reasons that are not entirely clear (better understanding of the body than of clothes on the part of the sculptor, probably), the shapes of the helper objects don't correspond very well to real clothes in certain places. As mentioned above, the upper tights follow the contour of the skin between the breasts, and the lower part of the tights dips into the "crack" between the buttocks, and clings skin-tight against the area where the legs join—as if it were painted on. The skirt helper at least stretches across the space between the legs, but it, too, dips into the crack between the buttocks, rather than stretching between the buttocks like a real skirt would. Unselect the vertices in question: fortunately, they're easy to find, because they all lie at or near the center line of the human mesh (that is, points whose "X" value is 0, and which lie on the plane that divides the left and right sides of the body). You might want to substitute other points that don't lie directly beneath the clothes, but which don't dip into the crevices. This step should eliminate almost all of the wedgie effect not eliminated by step #1. Note that this particular step is somewhat hit-or-miss: it will make things better for some pieces of clothing, but worse for others. Experiment to find out what works best for the clothing you're creating,
=== Generate the clothes file ===
When both clothing and human has the vertex groups with same name, just press the MakeClothes button to generate the files.
They will be located in your HOME/makehuman/v1/data/clothes, in order to be inbcluded automatically in MakeHuman.
== Advanced tools ==
Under the main buttons of Makeclothes, there are seven hidden panels that can be activated clicking the checkbox. Let's see their meaning.
=== Show selection, Show Materials, Show UV projection ===
[[File:Btmc06.png|right]]
*Show selection. This feature is just a shortcut to quickly select some part of the human. So, instead of classic Blender selection (go to edit mode, move the mouse on a vertex and press Lkey to select the linked vertices), you can just press these buttons.
<br style="clear:both" />
[[File:Btmc07.png|right]]
* Show Materials. This shows a button to export the materials only. This is useful when there are no changes to the geometry, but only to the material, in order to avoid recalculating everything.
* Show UV projection. This section is useful mainly for making proxy meshes.
** Recover seams. Creates a Seam object, which has edges where the selected mesh's UV layout has seams. The Seam object is intended to be a reference for marking seams for the clothing.
** Auto seams.
** Project UVs. Automatically create a UV layout for the clothing, compatible with the human's UV coordinates. This is intended for the mask UV layer, which must be compatible with the body mesh for all clothes. The actual texture can use a different UV layer which can be laid out in any desirable manner.
** Reexport Mhclo file.The mhclo file must be resaved when the mask UVs have been defined. This can be done by pressing Make clothes again, but Reexport Mhclo file is faster.
<br style="clear:both" />
=== Show ZDepth, Show Offset scaling ===
[[File:Btmc08.png|right]]
* Show ZDepth. This option is used to assign a depth to the cloth, in order to hide skin and clothes which are covered by clothes on top of it. The Z depth specifies the stacking order, which decides which clothes should hide others. Normally the Z depth ranges between 0 (skin) and 100 (external accessories such as backpacks).
** Depth name. Roughly indicates the preferred Z depth for various clothes types. The choices are: Body, Underwear and Lingerie, Socks and Stockings, Shirt and Trousers, Sweater, Indoor Jacket, Shoes and Boots, Coat, Backpack.
** Set Z depth.Set the Z depth depending on the selected depth name.
** Z depth.The value of the Z depth. This is changed by the Set Z depth button, but can be set manually for fine-tuning.
<br style="clear:both" />
[[File:Btmc09.png|right]]
* Show Offset scaling. The location of a clothing vertex depends on two data: a point on a body triangle, described in barycentric coordinates, and the offset from that point. The offset is scaled in the X, Y and Z directions depending on the size of a certain body part.
** Body Part. Set this to the body part which is most affected. The choices are: Custom, Body, Genital, Head, Torso, Arm, Hand, Leg, Foot.
** Examine Boundary. Select the boundary vertices with Set boundary is invoked.
** Set Boundary. Set the boundary to vertices determined by the selected body part.
** Custom Boundary. To manually set the bounday box.
** X1, X2, Y1, Y2, Z1, Z2. The vertex numbers of the six vertices which define the scaling boundary. The X scale is determined from the distance between vertices X1 and X2, the Y scale by Y1 and Y2, and the Z scale by Z1 and Z2.
<br style="clear:both" />
=== Show Settings, Show License ===
[[File:Btmc10.png|right]]
* Show Setting. The settings include the author name and the export path. It's possible to save and restore the settings.
<br style="clear:both" />
[[File:Btmc11.png|right]]7
* Show License.This set of options are to add the author name, the type of license and the tags for clothes. Licensing information to be put at the top of the exported mhclo file. It consists of three strings that can contain arbitary text.
** Author. Defaults to: Unknown.
** License. Defaults to: AGPL3
** HomePage. Defaults to: <NOWIKI>http://www.makehuman.org/ -- http://www.makehuman.org/</NOWIKI>
<br style="clear:both" />
de878e396afb1edb63c088e861e21312c48fce69
1598
1213
2019-07-03T02:36:17Z
Mtknife
35
Added reference to the hide command.
wikitext
text/x-wiki
MakeClothes, as its name implies, is a Blender addon that is used to construct clothing assets for use in the MakeHuman program. Clothes can be modeled using any technique that is natural. For example, clothing can be modeled from scratch, or by altering either the human mesh or the “clothing helpers” (see below) provided by the MakeClothes tool. When designing and modeling a clothing item, there are two restrictions that should be kept in mind. First, the algorithm for mapping a clothing mesh to the human mesh requires that the clothing mesh consists entirely of quad faces. Second, it is important to know that MakeClothes supports only one material per item of clothing.
Upon completing the MakeClothes workflow, a new folder will be created by the tool within your HOME/makehuman/v1/data/clothes. That folder will assume the unique name that the user provides for the clothing item. This folder will be populated with the assets necessary to make the item available in MakeHuman. The one additional, useful but not essential, item that the user must supply is a thumbnail icon for the clothing. The thumbnail icon can be created with any image editing program as a 128 x128 pixel image in .png format. The file should then be saved in the same folder as the other assets and the extension changed to .thumb.
== Standard Tools ==
=== Using MakeClothes addon ===
[[File:Btmc01.png|left]] MakeClothes is controlled by the MakeClothes panel in the N-shelf to the right of the viewport. It consists of the main buttons that are always visible, and several hidden sections that can be displayed by enabling a checkbox.
<br style="clear:both" />
<hr>
[[File:Btmc02.png|500px|right]]
The main section contains the following:
* Type: Specifies the character to be used as a reference. It can be one of the following:
** Base Mesh: The MakeHuman mesh without any targets applied.
** Average Male: A caucasian young male.
** Average Female: A caucasian young female.
** Average Child: A caucasian young child.
** Average Baby: A caucasian young baby.
** Base Mesh with Helpers: The MakeHuman mesh without any targets applied.
** Average Male with Helpers: A caucasian young male.
** Average Female with Helpers: A caucasian young female.
** Average Childwith Helpers: A caucasian young child.
** Average Baby with Helpers: A caucasian young baby.
*Load Human mesh: the button to load the selected type into the scene.
Note:"helpers" in MakeHuman are a type of special, invisible geometry over the base mesh which can be loaded to help model clothes, for example, a helper sweater, helper tights, etc. They have their own materials. It is important to note that no alterations should be made to the base mesh type after it is loaded otherwise the script will fail. The image (right) shows the result of pressing "Load Human Mesh", with type set to Base Mesh.
<br style="clear:both" />
[[File:Btmc03.png|500px|right]] A human mesh is loaded into the viewport, and more tools are enabled:
* Mesh Type: MakeClothes divides meshes into two types: human and clothing. This button displays the mesh type (Human/Clothing) of the active mesh and is greyed out if the active object is not a mesh. (MakeHuman normally detects the items accurately, but in the event of an error, you can click the button to change the mesh type so that it is treated as a clothing item instead of human if it is a clothing item and incorrectly detected).
* Create Vertex Groups From Selection: MakeClothes uses vertex groups to control the fitting.
* Make Clothes. This is the main entry point for the MakeClothes script. With one human and one piece of clothing selected, create an association between clothes vertices and human triangles, i.e. triplets of human vertices. Both meshes must have vertex groups with identical names, and each clothing vertex must belong to exactly one vertex group. The result of the association is saved in the file ObjectName/ObjectName.mhclo, in the default directory. This button is greyed out if the active object is not a mesh.
* Test Clothes. This buttons loads a piece of clothing (an .mhclo file) and fits it to the active mesh, which must be a human. Typically a second human is loaded on a different layer, and the quality of the clothes fitted to that character can immediately be checked in Blender. To test the clothes under the strictest conditions, the human model used for testing should be quite different from the human used for clothes-making. If the original character is an adult, Baby With Helpers is a good choice.
If, instead, the Human With Helpers button is pressed, the full MakeHuman mesh including the helper geometry is loaded. Different materials are assigned to each type of helper geometry. The materials are ordered in the order of the vertex number. This makes it easy to peel off one helper type at a time.
<br style="clear:both" />
=== Glue clothes to the body ===
The clothes are meshes that can be modelled directly in Blender, or in another package and then imported into Blender as an obj file. Note that the mesh type is Clothing, which is the default unless the mesh has been declared to be a human. A simple method to obtain a starting point modelling is to duplicate part of the human mesh and separate it from the human. However, in this case the duplicated mesh will still be a human. To change the mesh type, press the toggle button Human. The status is now changed into Clothing.
After loading the human, the next step is to "glue" the clothes to the human, in order that they will automatically fit the body changes. To control this association, MakeClothes uses vertex groups. Each clothing vertex must belong to exactly one vertex group, and a vertex group with the same name must exist in the human mesh as well. On the human side you are more liberal with the vertex groups, i.e. you can have vertices that do not belong to any vertex group or to more then one vertex group, so these vertex groups can overlap. Only human vertices in the correct vertex group will be considered when making clothes. There are special vertex groups for teeth (see: [[Documentation:Controlling the result with vertex groups|Controlling the result with vertex groups]]) and rigid vertex groups beginning with '*'.
Vertex groups speed up the clothes-making process by pruning the search tree, and can be used to control the appearance of clothes as well. However, assigning vertex groups can be quite tedious, and in many cases it is sufficient to let MakeClothes create vertex groups automatically. This is done automatically when a human mesh is loaded. If a clothing mesh does not have any vertex groups, it is also done automatically, when the MakeClothes button is pressed.
=== Automatic vertex groups ===
[[File:Btmc04.png|500px|right]] If vertex groups need to be reassigned, for example because a piece of clothing has been edited, the automatic vertex groups can be used. When the human is selected, there is a button, visible in the image (above right), called "Create Vertex Groups From Selection". Selecting a cloth, the button changes to "Create Vertex Groups". Both the buttons do the same thing, but there is a little difference: in the human it is possible to generate the vertex groups only for a sub set of the vertices (selected in edit mode), while for clothing the vertex groups must include all vertices. This is because we need to associate only a part of the human vertices with all vertices of the clothing. For example, we need to associate all the vertices of a skirt with the human torso only.
<br style="clear:both" />
[[File:Btmc05.png|500px|right]] Pressing the button, the following vertex groups are created:
* Mid: Vertices on or very close to the center line (|x| < 0:001).
* Left: Vertices to the left of the center line (x > 0:001). For a human the Mid vertices are also included in the Left group.
* Right. Vertices to the right of the center line (x z 0:001). For a human the Mid vertices are also included in the Right group.
* Delete: An empty group only created for humans. Human vertices hidden by the piece of clothing can be added to this groups. These vertices are then optionally deleted when the clothing is applied in MakeHuman, thus avoiding that blotches of skin poking through the clothes. Note that when a vertex is deleted, so are all faces containing this vertex. Don't assign a vertex to the Delete group unless all faces containing it are hidden by the pieces of clothing.
In the images (right), we can see the vertices assigned to the Mid and Left groups for a nude human.
<br style="clear:both" />
=== What if automatic vertex groups don't work? ===
Sometimes, a piece of clothing made with MakeClothes seems to work just fine—until you try it on a character not shaped exactly life the target used in MakeClothes, at which point all sorts of strange distortions may occur. Why does this happen?
When you use MakeClothes, at some point you have to load a target object ("Load Human Mesh"). These come in two basic varieties, with helpers (e.g., "Average Female With [sic] Helpers") and without (e.g., "Average Female"); the obvious difference is that the "With Helpers" objects include not only the human body, but the "helpers" mentioned briefly in the previous section: they're a bunch of vertices that represent different types of clothing, and hair. Thus, just below the waist, if you examine the human mesh closely, you'll find three layers of vertices: the body itself, a tights "object" that lies just on top of the body, and a skirt "object" that conforms to the body in places, but stretches over it in others (between the legs, to be precise).
For the modeler, the obvious use of these targets ("human meshes") is to fit clothes; if you use the "with Helpers" versions, you can also use the helper "objects" as templates for creating clothes (this works well for skirts or hair, but with shirts, you run into the problem that the edge loops don't coincide with where you'd want to put seams). However, the targets also serve another purpose: when you hit the "Create Vertex Groups" button and then the "Make Clothes" button, the program calculates the distance between each vertex of the item of clothing and the nearest vertices in the human mesh, and then uses these relationships to deform the item of clothing when the body moves.
If the vertices in the clothing are associated with vertices in the human mesh that have a very different shape, bad things tend to happen. To avoid this problem, you have to do three things before you hit "Create Vertex Groups" :
# Select the human mesh, and go into "Edit" mode. Select only the vertices that make up the appropriate helper object (or in some cases, like a long coat or a dress, objects). This can be tricky to do by hand, since some objects cover others (the "Hair" object makes the upper part of the "Tights" object, which is used for shirts, especially hard to work with), and you can't just delete the stuff you don't need, since this fouls up the program. Fortunately, each helper object has a stand-in material with a different color, and there's a handy "Show Selection" button that automatically selects the most commonly used sets of vertices ("Body", "Tights", "Skirt", "Coat", and "Hair"); the hide command ("H") is also useful here ("alt-H" to unhide everything hidden). Doing this will eliminate a lot of the "wedgie" effect, which is due mostly to the skin-tight contours of the body itself and the tights helper in the area around the crotch. (A similar problem occurs between the breasts, with clothes sticking inside the cleavage like a rubber wetsuit, rather than stretching across the gap like most fabrics do.)
# Unselect all the vertices that aren't directly underneath the clothes in question. Thus, if you're making a short skirt, not only will you not select the layers of body and tights vertices beneath the skirt helper object, but you'll make sure that skirt helper vertices that lie below your skirt's hemline (or above its waist) also aren't selected. This step eliminates some distortions (huge wrinkles, mostly) that occur for clothing whose vertices are far away from the body.
# Finally, get rid of vertices in "crevices". For reasons that are not entirely clear (better understanding of the body than of clothes on the part of the sculptor, probably), the shapes of the helper objects don't correspond very well to real clothes in certain places. As mentioned above, the upper tights follow the contour of the skin between the breasts, and the lower part of the tights dips into the "crack" between the buttocks, and clings skin-tight against the area where the legs join—as if it were painted on. The skirt helper at least stretches across the space between the legs, but it, too, dips into the crack between the buttocks, rather than stretching between the buttocks like a real skirt would. Unselect the vertices in question: fortunately, they're easy to find, because they all lie at or near the center line of the human mesh (that is, points whose "X" value is 0, and which lie on the plane that divides the left and right sides of the body). You might want to substitute other points that don't lie directly beneath the clothes, but which don't dip into the crevices. This step should eliminate almost all of the wedgie effect not eliminated by step #1.
=== Generate the clothes file ===
When both clothing and human has the vertex groups with same name, just press the MakeClothes button to generate the files.
They will be located in your HOME/makehuman/v1/data/clothes, in order to be inbcluded automatically in MakeHuman.
== Advanced tools ==
Under the main buttons of Makeclothes, there are seven hidden panels that can be activated clicking the checkbox. Let's see their meaning.
=== Show selection, Show Materials, Show UV projection ===
[[File:Btmc06.png|right]]
*Show selection. This feature is just a shortcut to quickly select some part of the human. So, instead of classic Blender selection (go to edit mode, move the mouse on a vertex and press Lkey to select the linked vertices), you can just press these buttons.
<br style="clear:both" />
[[File:Btmc07.png|right]]
* Show Materials. This shows a button to export the materials only. This is useful when there are no changes to the geometry, but only to the material, in order to avoid recalculating everything.
* Show UV projection. This section is useful mainly for making proxy meshes.
** Recover seams. Creates a Seam object, which has edges where the selected mesh's UV layout has seams. The Seam object is intended to be a reference for marking seams for the clothing.
** Auto seams.
** Project UVs. Automatically create a UV layout for the clothing, compatible with the human's UV coordinates. This is intended for the mask UV layer, which must be compatible with the body mesh for all clothes. The actual texture can use a different UV layer which can be laid out in any desirable manner.
** Reexport Mhclo file.The mhclo file must be resaved when the mask UVs have been defined. This can be done by pressing Make clothes again, but Reexport Mhclo file is faster.
<br style="clear:both" />
=== Show ZDepth, Show Offset scaling ===
[[File:Btmc08.png|right]]
* Show ZDepth. This option is used to assign a depth to the cloth, in order to hide skin and clothes which are covered by clothes on top of it. The Z depth specifies the stacking order, which decides which clothes should hide others. Normally the Z depth ranges between 0 (skin) and 100 (external accessories such as backpacks).
** Depth name. Roughly indicates the preferred Z depth for various clothes types. The choices are: Body, Underwear and Lingerie, Socks and Stockings, Shirt and Trousers, Sweater, Indoor Jacket, Shoes and Boots, Coat, Backpack.
** Set Z depth.Set the Z depth depending on the selected depth name.
** Z depth.The value of the Z depth. This is changed by the Set Z depth button, but can be set manually for fine-tuning.
<br style="clear:both" />
[[File:Btmc09.png|right]]
* Show Offset scaling. The location of a clothing vertex depends on two data: a point on a body triangle, described in barycentric coordinates, and the offset from that point. The offset is scaled in the X, Y and Z directions depending on the size of a certain body part.
** Body Part. Set this to the body part which is most affected. The choices are: Custom, Body, Genital, Head, Torso, Arm, Hand, Leg, Foot.
** Examine Boundary. Select the boundary vertices with Set boundary is invoked.
** Set Boundary. Set the boundary to vertices determined by the selected body part.
** Custom Boundary. To manually set the bounday box.
** X1, X2, Y1, Y2, Z1, Z2. The vertex numbers of the six vertices which define the scaling boundary. The X scale is determined from the distance between vertices X1 and X2, the Y scale by Y1 and Y2, and the Z scale by Z1 and Z2.
<br style="clear:both" />
=== Show Settings, Show License ===
[[File:Btmc10.png|right]]
* Show Setting. The settings include the author name and the export path. It's possible to save and restore the settings.
<br style="clear:both" />
[[File:Btmc11.png|right]]7
* Show License.This set of options are to add the author name, the type of license and the tags for clothes. Licensing information to be put at the top of the exported mhclo file. It consists of three strings that can contain arbitary text.
** Author. Defaults to: Unknown.
** License. Defaults to: AGPL3
** HomePage. Defaults to: <NOWIKI>http://www.makehuman.org/ -- http://www.makehuman.org/</NOWIKI>
<br style="clear:both" />
10295997f8ababbdf49af3e7d757443468e8973a
1213
1212
2016-11-04T02:52:05Z
Mtknife
35
wikitext
text/x-wiki
MakeClothes, as its name implies, is a Blender addon that is used to construct clothing assets for use in the MakeHuman program. Clothes can be modeled using any technique that is natural. For example, clothing can be modeled from scratch, or by altering either the human mesh or the “clothing helpers” (see below) provided by the MakeClothes tool. When designing and modeling a clothing item, there are two restrictions that should be kept in mind. First, the algorithm for mapping a clothing mesh to the human mesh requires that the clothing mesh consists entirely of quad faces. Second, it is important to know that MakeClothes supports only one material per item of clothing.
Upon completing the MakeClothes workflow, a new folder will be created by the tool within your HOME/makehuman/v1/data/clothes. That folder will assume the unique name that the user provides for the clothing item. This folder will be populated with the assets necessary to make the item available in MakeHuman. The one additional, useful but not essential, item that the user must supply is a thumbnail icon for the clothing. The thumbnail icon can be created with any image editing program as a 128 x128 pixel image in .png format. The file should then be saved in the same folder as the other assets and the extension changed to .thumb.
== Standard Tools ==
=== Using MakeClothes addon ===
[[File:Btmc01.png|left]] MakeClothes is controlled by the MakeClothes panel in the N-shelf to the right of the viewport. It consists of the main buttons that are always visible, and several hidden sections that can be displayed by enabling a checkbox.
<br style="clear:both" />
<hr>
[[File:Btmc02.png|500px|right]]
The main section contains the following:
* Type: Specifies the character to be used as a reference. It can be one of the following:
** Base Mesh: The MakeHuman mesh without any targets applied.
** Average Male: A caucasian young male.
** Average Female: A caucasian young female.
** Average Child: A caucasian young child.
** Average Baby: A caucasian young baby.
** Base Mesh with Helpers: The MakeHuman mesh without any targets applied.
** Average Male with Helpers: A caucasian young male.
** Average Female with Helpers: A caucasian young female.
** Average Childwith Helpers: A caucasian young child.
** Average Baby with Helpers: A caucasian young baby.
*Load Human mesh: the button to load the selected type into the scene.
Note:"helpers" in MakeHuman are a type of special, invisible geometry over the base mesh which can be loaded to help model clothes, for example, a helper sweater, helper tights, etc. They have their own materials. It is important to note that no alterations should be made to the base mesh type after it is loaded otherwise the script will fail. The image (right) shows the result of pressing "Load Human Mesh", with type set to Base Mesh.
<br style="clear:both" />
[[File:Btmc03.png|500px|right]] A human mesh is loaded into the viewport, and more tools are enabled:
* Mesh Type: MakeClothes divides meshes into two types: human and clothing. This button displays the mesh type (Human/Clothing) of the active mesh and is greyed out if the active object is not a mesh. (MakeHuman normally detects the items accurately, but in the event of an error, you can click the button to change the mesh type so that it is treated as a clothing item instead of human if it is a clothing item and incorrectly detected).
* Create Vertex Groups From Selection: MakeClothes uses vertex groups to control the fitting.
* Make Clothes. This is the main entry point for the MakeClothes script. With one human and one piece of clothing selected, create an association between clothes vertices and human triangles, i.e. triplets of human vertices. Both meshes must have vertex groups with identical names, and each clothing vertex must belong to exactly one vertex group. The result of the association is saved in the file ObjectName/ObjectName.mhclo, in the default directory. This button is greyed out if the active object is not a mesh.
* Test Clothes. This buttons loads a piece of clothing (an .mhclo file) and fits it to the active mesh, which must be a human. Typically a second human is loaded on a different layer, and the quality of the clothes fitted to that character can immediately be checked in Blender. To test the clothes under the strictest conditions, the human model used for testing should be quite different from the human used for clothes-making. If the original character is an adult, Baby With Helpers is a good choice.
If, instead, the Human With Helpers button is pressed, the full MakeHuman mesh including the helper geometry is loaded. Different materials are assigned to each type of helper geometry. The materials are ordered in the order of the vertex number. This makes it easy to peel off one helper type at a time.
<br style="clear:both" />
=== Glue clothes to the body ===
The clothes are meshes that can be modelled directly in Blender, or in another package and then imported into Blender as an obj file. Note that the mesh type is Clothing, which is the default unless the mesh has been declared to be a human. A simple method to obtain a starting point modelling is to duplicate part of the human mesh and separate it from the human. However, in this case the duplicated mesh will still be a human. To change the mesh type, press the toggle button Human. The status is now changed into Clothing.
After loading the human, the next step is to "glue" the clothes to the human, in order that they will automatically fit the body changes. To control this association, MakeClothes uses vertex groups. Each clothing vertex must belong to exactly one vertex group, and a vertex group with the same name must exist in the human mesh as well. On the human side you are more liberal with the vertex groups, i.e. you can have vertices that do not belong to any vertex group or to more then one vertex group, so these vertex groups can overlap. Only human vertices in the correct vertex group will be considered when making clothes. There are special vertex groups for teeth (see: [[Documentation:Controlling the result with vertex groups|Controlling the result with vertex groups]]) and rigid vertex groups beginning with '*'.
Vertex groups speed up the clothes-making process by pruning the search tree, and can be used to control the appearance of clothes as well. However, assigning vertex groups can be quite tedious, and in many cases it is sufficient to let MakeClothes create vertex groups automatically. This is done automatically when a human mesh is loaded. If a clothing mesh does not have any vertex groups, it is also done automatically, when the MakeClothes button is pressed.
=== Automatic vertex groups ===
[[File:Btmc04.png|500px|right]] If vertex groups need to be reassigned, for example because a piece of clothing has been edited, the automatic vertex groups can be used. When the human is selected, there is a button, visible in the image (above right), called "Create Vertex Groups From Selection". Selecting a cloth, the button changes to "Create Vertex Groups". Both the buttons do the same thing, but there is a little difference: in the human it is possible to generate the vertex groups only for a sub set of the vertices (selected in edit mode), while for clothing the vertex groups must include all vertices. This is because we need to associate only a part of the human vertices with all vertices of the clothing. For example, we need to associate all the vertices of a skirt with the human torso only.
<br style="clear:both" />
[[File:Btmc05.png|500px|right]] Pressing the button, the following vertex groups are created:
* Mid: Vertices on or very close to the center line (|x| < 0:001).
* Left: Vertices to the left of the center line (x > 0:001). For a human the Mid vertices are also included in the Left group.
* Right. Vertices to the right of the center line (x z 0:001). For a human the Mid vertices are also included in the Right group.
* Delete: An empty group only created for humans. Human vertices hidden by the piece of clothing can be added to this groups. These vertices are then optionally deleted when the clothing is applied in MakeHuman, thus avoiding that blotches of skin poking through the clothes. Note that when a vertex is deleted, so are all faces containing this vertex. Don't assign a vertex to the Delete group unless all faces containing it are hidden by the pieces of clothing.
In the images (right), we can see the vertices assigned to the Mid and Left groups for a nude human.
<br style="clear:both" />
=== What if automatic vertex groups don't work? ===
Sometimes, a piece of clothing made with MakeClothes seems to work just fine—until you try it on a character not shaped exactly life the target used in MakeClothes, at which point all sorts of strange distortions may occur. Why does this happen?
When you use MakeClothes, at some point you have to load a target object ("Load Human Mesh"). These come in two basic varieties, with helpers (e.g., "Average Female With [sic] Helpers") and without (e.g., "Average Female"); the obvious difference is that the "With Helpers" objects include not only the human body, but the "helpers" mentioned briefly in the previous section: they're a bunch of vertices that represent different types of clothing, and hair. Thus, just below the waist, if you examine the human mesh closely, you'll find three layers of vertices: the body itself, a tights "object" that lies just on top of the body, and a skirt "object" that conforms to the body in places, but stretches over it in others (between the legs, to be precise).
For the modeler, the obvious use of these targets ("human meshes") is to fit clothes; if you use the "with Helpers" versions, you can also use the helper "objects" as templates for creating clothes (this works well for skirts or hair, but with shirts, you run into the problem that the edge loops don't coincide with where you'd want to put seams). However, the targets also serve another purpose: when you hit the "Create Vertex Groups" button and then the "Make Clothes" button, the program calculates the distance between each vertex of the item of clothing and the nearest vertices in the human mesh, and then uses these relationships to deform the item of clothing when the body moves.
If the vertices in the clothing are associated with vertices in the human mesh that have a very different shape, bad things tend to happen. To avoid this problem, you have to do three things before you hit "Create Vertex Groups" :
# Select the human mesh, and go into "Edit" mode. Select only the vertices that make up the appropriate helper object (or in some cases, like a long coat or a dress, objects). This can be tricky to do by hand, since some objects cover others (the "Hair" object makes the upper part of the "Tights" object, which is used for shirts, especially hard to work with), and you can't just delete the stuff you don't need, since this fouls up the program. Fortunately, each helper object has a stand-in material with a different color, and there's a handy "Show Selection" button that automatically selects the most commonly used sets of vertices ("Body", "Tights", "Skirt", "Coat", and "Hair"). Doing this will eliminate a lot of the "wedgie" effect, which is due mostly to the skin-tight contours of the body itself and the tights helper in the area around the crotch. (A similar problem occurs between the breasts, with clothes sticking inside the cleavage like a rubber wetsuit, rather than stretching across the gap like most fabrics do.)
# Unselect all the vertices that aren't directly underneath the clothes in question. Thus, if you're making a short skirt, not only will you not select the layers of body and tights vertices beneath the skirt helper object, but you'll make sure that skirt helper vertices that lie below your skirt's hemline (or above its waist) also aren't selected. This step eliminates some distortions (huge wrinkles, mostly) that occur for clothing whose vertices are far away from the body.
# Finally, get rid of vertices in "crevices". For reasons that are not entirely clear (better understanding of the body than of clothes on the part of the sculptor, probably), the shapes of the helper objects don't correspond very well to real clothes in certain places. As mentioned above, the upper tights follow the contour of the skin between the breasts, and the lower part of the tights dips into the "crack" between the buttocks, and clings skin-tight against the area where the legs join—as if it were painted on. The skirt helper at least stretches across the space between the legs, but it, too, dips into the crack between the buttocks, rather than stretching between the buttocks like a real skirt would. Unselect the vertices in question: fortunately, they're easy to find, because they all lie at or near the center line of the human mesh (that is, points whose "X" value is 0, and which lie on the plane that divides the left and right sides of the body). You might want to substitute other points that don't lie directly beneath the clothes, but which don't dip into the crevices. This step should eliminate almost all of the wedgie effect not eliminated by step #1.
=== Generate the clothes file ===
When both clothing and human has the vertex groups with same name, just press the MakeClothes button to generate the files.
They will be located in your HOME/makehuman/v1/data/clothes, in order to be inbcluded automatically in MakeHuman.
== Advanced tools ==
Under the main buttons of Makeclothes, there are seven hidden panels that can be activated clicking the checkbox. Let's see their meaning.
=== Show selection, Show Materials, Show UV projection ===
[[File:Btmc06.png|right]]
*Show selection. This feature is just a shortcut to quickly select some part of the human. So, instead of classic Blender selection (go to edit mode, move the mouse on a vertex and press Lkey to select the linked vertices), you can just press these buttons.
<br style="clear:both" />
[[File:Btmc07.png|right]]
* Show Materials. This shows a button to export the materials only. This is useful when there are no changes to the geometry, but only to the material, in order to avoid recalculating everything.
* Show UV projection. This section is useful mainly for making proxy meshes.
** Recover seams. Creates a Seam object, which has edges where the selected mesh's UV layout has seams. The Seam object is intended to be a reference for marking seams for the clothing.
** Auto seams.
** Project UVs. Automatically create a UV layout for the clothing, compatible with the human's UV coordinates. This is intended for the mask UV layer, which must be compatible with the body mesh for all clothes. The actual texture can use a different UV layer which can be laid out in any desirable manner.
** Reexport Mhclo file.The mhclo file must be resaved when the mask UVs have been defined. This can be done by pressing Make clothes again, but Reexport Mhclo file is faster.
<br style="clear:both" />
=== Show ZDepth, Show Offset scaling ===
[[File:Btmc08.png|right]]
* Show ZDepth. This option is used to assign a depth to the cloth, in order to hide skin and clothes which are covered by clothes on top of it. The Z depth specifies the stacking order, which decides which clothes should hide others. Normally the Z depth ranges between 0 (skin) and 100 (external accessories such as backpacks).
** Depth name. Roughly indicates the preferred Z depth for various clothes types. The choices are: Body, Underwear and Lingerie, Socks and Stockings, Shirt and Trousers, Sweater, Indoor Jacket, Shoes and Boots, Coat, Backpack.
** Set Z depth.Set the Z depth depending on the selected depth name.
** Z depth.The value of the Z depth. This is changed by the Set Z depth button, but can be set manually for fine-tuning.
<br style="clear:both" />
[[File:Btmc09.png|right]]
* Show Offset scaling. The location of a clothing vertex depends on two data: a point on a body triangle, described in barycentric coordinates, and the offset from that point. The offset is scaled in the X, Y and Z directions depending on the size of a certain body part.
** Body Part. Set this to the body part which is most affected. The choices are: Custom, Body, Genital, Head, Torso, Arm, Hand, Leg, Foot.
** Examine Boundary. Select the boundary vertices with Set boundary is invoked.
** Set Boundary. Set the boundary to vertices determined by the selected body part.
** Custom Boundary. To manually set the bounday box.
** X1, X2, Y1, Y2, Z1, Z2. The vertex numbers of the six vertices which define the scaling boundary. The X scale is determined from the distance between vertices X1 and X2, the Y scale by Y1 and Y2, and the Z scale by Z1 and Z2.
<br style="clear:both" />
=== Show Settings, Show License ===
[[File:Btmc10.png|right]]
* Show Setting. The settings include the author name and the export path. It's possible to save and restore the settings.
<br style="clear:both" />
[[File:Btmc11.png|right]]7
* Show License.This set of options are to add the author name, the type of license and the tags for clothes. Licensing information to be put at the top of the exported mhclo file. It consists of three strings that can contain arbitary text.
** Author. Defaults to: Unknown.
** License. Defaults to: AGPL3
** HomePage. Defaults to: <NOWIKI>http://www.makehuman.org/ -- http://www.makehuman.org/</NOWIKI>
<br style="clear:both" />
e92842448d6b7de55313c839acd107aaf215221f
1212
871
2016-11-04T02:49:31Z
Mtknife
35
Added tips on fixing distortions by using custom vertex groups.
wikitext
text/x-wiki
MakeClothes, as its name implies, is a Blender addon that is used to construct clothing assets for use in the MakeHuman program. Clothes can be modeled using any technique that is natural. For example, clothing can be modeled from scratch, or by altering either the human mesh or the “clothing helpers” (see below) provided by the MakeClothes tool. When designing and modeling a clothing item, there are two restrictions that should be kept in mind. First, the algorithm for mapping a clothing mesh to the human mesh requires that the clothing mesh consists entirely of quad faces. Second, it is important to know that MakeClothes supports only one material per item of clothing.
Upon completing the MakeClothes workflow, a new folder will be created by the tool within your HOME/makehuman/v1/data/clothes. That folder will assume the unique name that the user provides for the clothing item. This folder will be populated with the assets necessary to make the item available in MakeHuman. The one additional, useful but not essential, item that the user must supply is a thumbnail icon for the clothing. The thumbnail icon can be created with any image editing program as a 128 x128 pixel image in .png format. The file should then be saved in the same folder as the other assets and the extension changed to .thumb.
== Standard Tools ==
=== Using MakeClothes addon ===
[[File:Btmc01.png|left]] MakeClothes is controlled by the MakeClothes panel in the N-shelf to the right of the viewport. It consists of the main buttons that are always visible, and several hidden sections that can be displayed by enabling a checkbox.
<br style="clear:both" />
<hr>
[[File:Btmc02.png|500px|right]]
The main section contains the following:
* Type: Specifies the character to be used as a reference. It can be one of the following:
** Base Mesh: The MakeHuman mesh without any targets applied.
** Average Male: A caucasian young male.
** Average Female: A caucasian young female.
** Average Child: A caucasian young child.
** Average Baby: A caucasian young baby.
** Base Mesh with Helpers: The MakeHuman mesh without any targets applied.
** Average Male with Helpers: A caucasian young male.
** Average Female with Helpers: A caucasian young female.
** Average Childwith Helpers: A caucasian young child.
** Average Baby with Helpers: A caucasian young baby.
*Load Human mesh: the button to load the selected type into the scene.
Note:"helpers" in MakeHuman are a type of special, invisible geometry over the base mesh which can be loaded to help model clothes, for example, a helper sweater, helper tights, etc. They have their own materials. It is important to note that no alterations should be made to the base mesh type after it is loaded otherwise the script will fail. The image (right) shows the result of pressing "Load Human Mesh", with type set to Base Mesh.
<br style="clear:both" />
[[File:Btmc03.png|500px|right]] A human mesh is loaded into the viewport, and more tools are enabled:
* Mesh Type: MakeClothes divides meshes into two types: human and clothing. This button displays the mesh type (Human/Clothing) of the active mesh and is greyed out if the active object is not a mesh. (MakeHuman normally detects the items accurately, but in the event of an error, you can click the button to change the mesh type so that it is treated as a clothing item instead of human if it is a clothing item and incorrectly detected).
* Create Vertex Groups From Selection: MakeClothes uses vertex groups to control the fitting.
* Make Clothes. This is the main entry point for the MakeClothes script. With one human and one piece of clothing selected, create an association between clothes vertices and human triangles, i.e. triplets of human vertices. Both meshes must have vertex groups with identical names, and each clothing vertex must belong to exactly one vertex group. The result of the association is saved in the file ObjectName/ObjectName.mhclo, in the default directory. This button is greyed out if the active object is not a mesh.
* Test Clothes. This buttons loads a piece of clothing (an .mhclo file) and fits it to the active mesh, which must be a human. Typically a second human is loaded on a different layer, and the quality of the clothes fitted to that character can immediately be checked in Blender. To test the clothes under the strictest conditions, the human model used for testing should be quite different from the human used for clothes-making. If the original character is an adult, Baby With Helpers is a good choice.
If, instead, the Human With Helpers button is pressed, the full MakeHuman mesh including the helper geometry is loaded. Different materials are assigned to each type of helper geometry. The materials are ordered in the order of the vertex number. This makes it easy to peel off one helper type at a time.
<br style="clear:both" />
=== Glue clothes to the body ===
The clothes are meshes that can be modelled directly in Blender, or in another package and then imported into Blender as an obj file. Note that the mesh type is Clothing, which is the default unless the mesh has been declared to be a human. A simple method to obtain a starting point modelling is to duplicate part of the human mesh and separate it from the human. However, in this case the duplicated mesh will still be a human. To change the mesh type, press the toggle button Human. The status is now changed into Clothing.
After loading the human, the next step is to "glue" the clothes to the human, in order that they will automatically fit the body changes. To control this association, MakeClothes uses vertex groups. Each clothing vertex must belong to exactly one vertex group, and a vertex group with the same name must exist in the human mesh as well. On the human side you are more liberal with the vertex groups, i.e. you can have vertices that do not belong to any vertex group or to more then one vertex group, so these vertex groups can overlap. Only human vertices in the correct vertex group will be considered when making clothes. There are special vertex groups for teeth (see: [[Documentation:Controlling the result with vertex groups|Controlling the result with vertex groups]]) and rigid vertex groups beginning with '*'.
Vertex groups speed up the clothes-making process by pruning the search tree, and can be used to control the appearance of clothes as well. However, assigning vertex groups can be quite tedious, and in many cases it is sufficient to let MakeClothes create vertex groups automatically. This is done automatically when a human mesh is loaded. If a clothing mesh does not have any vertex groups, it is also done automatically, when the MakeClothes button is pressed.
=== Automatic vertex groups ===
[[File:Btmc04.png|500px|right]] If vertex groups need to be reassigned, for example because a piece of clothing has been edited, the automatic vertex groups can be used. When the human is selected, there is a button, visible in the image (above right), called "Create Vertex Groups From Selection". Selecting a cloth, the button changes to "Create Vertex Groups". Both the buttons do the same thing, but there is a little difference: in the human it is possible to generate the vertex groups only for a sub set of the vertices (selected in edit mode), while for clothing the vertex groups must include all vertices. This is because we need to associate only a part of the human vertices with all vertices of the clothing. For example, we need to associate all the vertices of a skirt with the human torso only.
<br style="clear:both" />
[[File:Btmc05.png|500px|right]] Pressing the button, the following vertex groups are created:
* Mid: Vertices on or very close to the center line (|x| < 0:001).
* Left: Vertices to the left of the center line (x > 0:001). For a human the Mid vertices are also included in the Left group.
* Right. Vertices to the right of the center line (x z 0:001). For a human the Mid vertices are also included in the Right group.
* Delete: An empty group only created for humans. Human vertices hidden by the piece of clothing can be added to this groups. These vertices are then optionally deleted when the clothing is applied in MakeHuman, thus avoiding that blotches of skin poking through the clothes. Note that when a vertex is deleted, so are all faces containing this vertex. Don't assign a vertex to the Delete group unless all faces containing it are hidden by the pieces of clothing.
In the images (right), we can see the vertices assigned to the Mid and Left groups for a nude human.
<br style="clear:both" />
=== What if automatic vertex groups don't work? ===
Sometimes, a piece of clothing made with MakeClothes seems to work just fine—until you try it on a character not shaped exactly life the target used in MakeClothes, at which point all sorts of strange distortions may occur. Why does this happen?
When you use MakeClothes, at some point you have to load a target object ("Load Human Mesh"). These come in two basic varieties, with helpers (e.g., "Average Female With [sic] Helpers") and without (e.g., "Average Female"); the obvious difference is that the "With Helpers" objects include not only the human body, but the "helpers" mentioned briefly in the previous section: they're a bunch of vertices that represent different types of clothing, and hair. Thus, just below the waist, if you examine the human mesh closely, you'll find three layers of vertices: the body itself, a tights "object" that lies just on top of the body, and a skirt "object" that conforms to the body in places, but stretches over it in others (between the legs, to be precise).
For the modeler, the obvious use of these targets ("human meshes") is to fit clothes; if you use the "with Helpers" versions, you can also use the helper "objects" as templates for creating clothes (this works well for skirts or hair, but with shirts, you run into the problem that the edge loops don't coincide with where you'd want to put seams). However, the targets also serve another purpose: when you hit the "Create Vertex Groups" button and then the "Make Clothes" button, the program calculates the distance between each vertex of the item of clothing and nearest vertices in the human mesh, and then uses these relationships to deform the item of clothing when the body moves.
If the vertices in the clothing are associated with vertices in the human mesh that have a very different shape, bad things tend to happen. To avoid this problem, you have to do three things before you hit "Create Vertex Groups" :
# Select the human mesh, and go into "Edit" mode. Select only the vertices that make up the appropriate helper object (or in some cases, like a long coat or a dress, objects). This can be tricky to do by hand, since some objects cover others (the "Hair" object makes the upper part of the "Tights" object, which is used for shirts, especially hard to work with), and you can't just delete the stuff you don't need, since this fouls up the program. Fortunately, each helper object has a stand-in material with a different color, and there's a handy "Show Selection" button that automatically selects the most commonly used sets of vertices ("Body", "Tights", "Skirt", "Coat", and "Hair"). Doing this will eliminate a lot of the "wedgie" effect, which is due mostly to the skin-tight contours of the body itself and the tights helper in the area around the crotch. (A similar problem occurs between the breasts, with clothes sticking inside the cleavage like a rubber wetsuit, rather than stretching across the gap like most fabrics do.)
# Unselect all the vertices that aren't directly underneath the clothes in question. Thus, if you're making a short skirt, not only will you not select the layers of body and tights vertices beneath the skirt helper object, but you'll make sure that skirt helper vertices that lie below your skirt's hemline (or above its waist) also aren't selected. This step eliminates some distortions (huge wrinkles, mostly) that occur for clothing whose vertices are far away from the body.
# Finally, get rid of vertices in "crevices". For reasons that are not entirely clear (better understanding of the body than of clothes on the part of the sculptor, probably), the shapes of the helper objects don't correspond very well to real clothes in certain places. As mentioned above, the upper tights follow the contour of the skin between the breasts, and the lower part of the tights dips into the "crack" between the buttocks, and clings skin-tight against the area where the legs join—as if it were painted on. The skirt helper at least stretches across the space between the legs, but it, too, dips into the crack between the buttocks, rather than stretching between the buttocks like a real skirt would. Unselect the vertices in question: fortunately, they're easy to find, because they all lie at or near the center line of the human mesh (that is, points whose "X" value is 0, and which lie on the plane that divides the left and right sides of the body). You might want to substitute other points that don't lie directly beneath the clothes, but which don't dip into the crevices. This step should eliminate almost all of the wedgie effect not eliminated by step #1.
=== Generate the clothes file ===
When both clothing and human has the vertex groups with same name, just press the MakeClothes button to generate the files.
They will be located in your HOME/makehuman/v1/data/clothes, in order to be inbcluded automatically in MakeHuman.
== Advanced tools ==
Under the main buttons of Makeclothes, there are seven hidden panels that can be activated clicking the checkbox. Let's see their meaning.
=== Show selection, Show Materials, Show UV projection ===
[[File:Btmc06.png|right]]
*Show selection. This feature is just a shortcut to quickly select some part of the human. So, instead of classic Blender selection (go to edit mode, move the mouse on a vertex and press Lkey to select the linked vertices), you can just press these buttons.
<br style="clear:both" />
[[File:Btmc07.png|right]]
* Show Materials. This shows a button to export the materials only. This is useful when there are no changes to the geometry, but only to the material, in order to avoid recalculating everything.
* Show UV projection. This section is useful mainly for making proxy meshes.
** Recover seams. Creates a Seam object, which has edges where the selected mesh's UV layout has seams. The Seam object is intended to be a reference for marking seams for the clothing.
** Auto seams.
** Project UVs. Automatically create a UV layout for the clothing, compatible with the human's UV coordinates. This is intended for the mask UV layer, which must be compatible with the body mesh for all clothes. The actual texture can use a different UV layer which can be laid out in any desirable manner.
** Reexport Mhclo file.The mhclo file must be resaved when the mask UVs have been defined. This can be done by pressing Make clothes again, but Reexport Mhclo file is faster.
<br style="clear:both" />
=== Show ZDepth, Show Offset scaling ===
[[File:Btmc08.png|right]]
* Show ZDepth. This option is used to assign a depth to the cloth, in order to hide skin and clothes which are covered by clothes on top of it. The Z depth specifies the stacking order, which decides which clothes should hide others. Normally the Z depth ranges between 0 (skin) and 100 (external accessories such as backpacks).
** Depth name. Roughly indicates the preferred Z depth for various clothes types. The choices are: Body, Underwear and Lingerie, Socks and Stockings, Shirt and Trousers, Sweater, Indoor Jacket, Shoes and Boots, Coat, Backpack.
** Set Z depth.Set the Z depth depending on the selected depth name.
** Z depth.The value of the Z depth. This is changed by the Set Z depth button, but can be set manually for fine-tuning.
<br style="clear:both" />
[[File:Btmc09.png|right]]
* Show Offset scaling. The location of a clothing vertex depends on two data: a point on a body triangle, described in barycentric coordinates, and the offset from that point. The offset is scaled in the X, Y and Z directions depending on the size of a certain body part.
** Body Part. Set this to the body part which is most affected. The choices are: Custom, Body, Genital, Head, Torso, Arm, Hand, Leg, Foot.
** Examine Boundary. Select the boundary vertices with Set boundary is invoked.
** Set Boundary. Set the boundary to vertices determined by the selected body part.
** Custom Boundary. To manually set the bounday box.
** X1, X2, Y1, Y2, Z1, Z2. The vertex numbers of the six vertices which define the scaling boundary. The X scale is determined from the distance between vertices X1 and X2, the Y scale by Y1 and Y2, and the Z scale by Z1 and Z2.
<br style="clear:both" />
=== Show Settings, Show License ===
[[File:Btmc10.png|right]]
* Show Setting. The settings include the author name and the export path. It's possible to save and restore the settings.
<br style="clear:both" />
[[File:Btmc11.png|right]]7
* Show License.This set of options are to add the author name, the type of license and the tags for clothes. Licensing information to be put at the top of the exported mhclo file. It consists of three strings that can contain arbitary text.
** Author. Defaults to: Unknown.
** License. Defaults to: AGPL3
** HomePage. Defaults to: <NOWIKI>http://www.makehuman.org/ -- http://www.makehuman.org/</NOWIKI>
<br style="clear:both" />
fe781d24efe0600db435a871a4a0dc45759086aa
871
731
2016-05-27T12:08:27Z
Aranuvir
17
wikitext
text/x-wiki
MakeClothes, as its name implies, is a Blender addon that is used to construct clothing assets for use in the MakeHuman program. Clothes can be modeled using any technique that is natural. For example, clothing can be modeled from scratch, or by altering either the human mesh or the “clothing helpers” (see below) provided by the MakeClothes tool. When designing and modeling a clothing item, there are two restrictions that should be kept in mind. First, the algorithm for mapping a clothing mesh to the human mesh requires that the clothing mesh consists entirely of quad faces. Second, it is important to know that MakeClothes supports only one material per item of clothing.
Upon completing the MakeClothes workflow, a new folder will be created by the tool within your HOME/makehuman/v1/data/clothes. That folder will assume the unique name that the user provides for the clothing item. This folder will be populated with the assets necessary to make the item available in MakeHuman. The one additional, useful but not essential, item that the user must supply is a thumbnail icon for the clothing. The thumbnail icon can be created with any image editing program as a 128 x128 pixel image in .png format. The file should then be saved in the same folder as the other assets and the extension changed to .thumb.
== Standard Tools ==
=== Using MakeClothes addon ===
[[File:Btmc01.png|left]] MakeClothes is controlled by the MakeClothes panel in the N-shelf to the right of the viewport. It consists of the main buttons that are always visible, and several hidden sections that can be displayed by enabling a checkbox.
<br style="clear:both" />
<hr>
[[File:Btmc02.png|500px|right]]
The main section contains the following:
* Type: Specifies the character to be used as a reference. It can be one of the following:
** Base Mesh: The MakeHuman mesh without any targets applied.
** Average Male: A caucasian young male.
** Average Female: A caucasian young female.
** Average Child: A caucasian young child.
** Average Baby: A caucasian young baby.
** Base Mesh with Helpers: The MakeHuman mesh without any targets applied.
** Average Male with Helpers: A caucasian young male.
** Average Female with Helpers: A caucasian young female.
** Average Childwith Helpers: A caucasian young child.
** Average Baby with Helpers: A caucasian young baby.
*Load Human mesh: the button to load the selected type into the scene.
Note:"helpers" in MakeHuman are a type of special, invisible geometry over the base mesh which can be loaded to help model clothes, for example, a helper sweater, helper tights, etc. They have their own materials. It is important to note that no alterations should be made to the base mesh type after it is loaded otherwise the script will fail. The image (right) shows the result of pressing "Load Human Mesh", with type set to Base Mesh.
<br style="clear:both" />
[[File:Btmc03.png|500px|right]] A human mesh is loaded into the viewport, and more tools are enabled:
* Mesh Type: MakeClothes divides meshes into two types: human and clothing. This button displays the mesh type (Human/Clothing) of the active mesh and is greyed out if the active object is not a mesh. (MakeHuman normally detects the items accurately, but in the event of an error, you can click the button to change the mesh type so that it is treated as a clothing item instead of human if it is a clothing item and incorrectly detected).
* Create Vertex Groups From Selection: MakeClothes uses vertex groups to control the fitting.
* Make Clothes. This is the main entry point for the MakeClothes script. With one human and one piece of clothing selected, create an association between clothes vertices and human triangles, i.e. triplets of human vertices. Both meshes must have vertex groups with identical names, and each clothing vertex must belong to exactly one vertex group. The result of the association is saved in the file ObjectName/ObjectName.mhclo, in the default directory. This button is greyed out if the active object is not a mesh.
* Test Clothes. This buttons loads a piece of clothing (an .mhclo file) and fits it to the active mesh, which must be a human. Typically a second human is loaded on a different layer, and the quality of the clothes fitted to that character can immediately be checked in Blender. To test the clothes under the strictest conditions, the human model used for testing should be quite different from the human used for clothes-making. If the original character is an adult, Baby With Helpers is a good choice.
If, instead, the Human With Helpers button is pressed, the full MakeHuman mesh including the helper geometry is loaded. Different materials are assigned to each type of helper geometry. The materials are ordered in the order of the vertex number. This makes it easy to peel off one helper type at a time.
<br style="clear:both" />
=== Glue clothes to the body ===
The clothes are meshes that can be modelled directly in Blender, or in another package and then imported into Blender as an obj file. Note that the mesh type is Clothing, which is the default unless the mesh has been declared to be a human. A simple method to obtain a starting point modelling is to duplicate part of the human mesh and separate it from the human. However, in this case the duplicated mesh will still be a human. To change the mesh type, press the toggle button Human. The status is now changed into Clothing.
After loading the human, the next step is to "glue" the clothes to the human, in order that they will automatically fit the body changes. To control this association, MakeClothes uses vertex groups. Each clothing vertex must belong to exactly one vertex group, and a vertex group with the same name must exist in the human mesh as well. On the human side you are more liberal with the vertex groups, i.e. you can have vertices that do not belong to any vertex group or to more then one vertex group, so these vertex groups can overlap. Only human vertices in the correct vertex group will be considered when making clothes. There are special vertex groups for teeth (see: [[Documentation:Controlling the result with vertex groups|Controlling the result with vertex groups]]) and rigid vertex groups beginning with '*'.
Vertex groups speed up the clothes-making process by pruning the search tree, and can be used to control the appearance of clothes as well. However, assigning vertex groups can be quite tedious, and in many cases it is sufficient to let MakeClothes create vertex groups automatically. This is done automatically when a human mesh is loaded. If a clothing mesh does not have any vertex groups, it is also done automatically, when the MakeClothes button is pressed.
=== Automatic vertex groups ===
[[File:Btmc04.png|500px|right]] If vertex groups need to be reassigned, for example because a piece of clothing has been edited, the automatic vertex groups can be used. When the human is selected, there is a button, visible in the image (above right), called "Create Vertex Groups From Selection". Selecting a cloth, the button changes to "Create Vertex Groups". Both the buttons do the same thing, but there is a little difference: in the human it is possible to generate the vertex groups only for a sub set of the vertices (selected in edit mode), while for clothing the vertex groups must include all vertices. This is because we need to associate only a part of the human vertices with all vertices of the clothing. For example, we need to associate all the vertices of a skirt with the human torso only.
<br style="clear:both" />
[[File:Btmc05.png|500px|right]] Pressing the button, the following vertex groups are created:
* Mid: Vertices on or very close to the center line (|x| < 0:001).
* Left: Vertices to the left of the center line (x > 0:001). For a human the Mid vertices are also included in the Left group.
* Right. Vertices to the right of the center line (x z 0:001). For a human the Mid vertices are also included in the Right group.
* Delete: An empty group only created for humans. Human vertices hidden by the piece of clothing can be added to this groups. These vertices are then optionally deleted when the clothing is applied in MakeHuman, thus avoiding that blotches of skin poking through the clothes. Note that when a vertex is deleted, so are all faces containing this vertex. Don't assign a vertex to the Delete group unless all faces containing it are hidden by the pieces of clothing.
In the images (right), we can see the vertices assigned to the Mid and Left groups for a nude human.
<br style="clear:both" />
=== Generate the clothes file ===
When both clothing and human has the vertex groups with same name, just press the MakeClothes button to generate the files.
They will be located in your HOME/makehuman/v1/data/clothes, in order to be inbcluded automatically in MakeHuman.
== Advanced tools ==
Under the main buttons of Makeclothes, there are seven hidden panels that can be activated clicking the checkbox. Let's see their meaning.
=== Show selection, Show Materials, Show UV projection ===
[[File:Btmc06.png|right]]
*Show selection. This feature is just a shortcut to quickly select some part of the human. So, instead of classic Blender selection (go to edit mode, move the mouse on a vertex and press Lkey to select the linked vertices), you can just press these buttons.
<br style="clear:both" />
[[File:Btmc07.png|right]]
* Show Materials. This shows a button to export the materials only. This is useful when there are no changes to the geometry, but only to the material, in order to avoid recalculating everything.
* Show UV projection. This section is useful mainly for making proxy meshes.
** Recover seams. Creates a Seam object, which has edges where the selected mesh's UV layout has seams. The Seam object is intended to be a reference for marking seams for the clothing.
** Auto seams.
** Project UVs. Automatically create a UV layout for the clothing, compatible with the human's UV coordinates. This is intended for the mask UV layer, which must be compatible with the body mesh for all clothes. The actual texture can use a different UV layer which can be laid out in any desirable manner.
** Reexport Mhclo file.The mhclo file must be resaved when the mask UVs have been defined. This can be done by pressing Make clothes again, but Reexport Mhclo file is faster.
<br style="clear:both" />
=== Show ZDepth, Show Offset scaling ===
[[File:Btmc08.png|right]]
* Show ZDepth. This option is used to assign a depth to the cloth, in order to hide skin and clothes which are covered by clothes on top of it. The Z depth specifies the stacking order, which decides which clothes should hide others. Normally the Z depth ranges between 0 (skin) and 100 (external accessories such as backpacks).
** Depth name. Roughly indicates the preferred Z depth for various clothes types. The choices are: Body, Underwear and Lingerie, Socks and Stockings, Shirt and Trousers, Sweater, Indoor Jacket, Shoes and Boots, Coat, Backpack.
** Set Z depth.Set the Z depth depending on the selected depth name.
** Z depth.The value of the Z depth. This is changed by the Set Z depth button, but can be set manually for fine-tuning.
<br style="clear:both" />
[[File:Btmc09.png|right]]
* Show Offset scaling. The location of a clothing vertex depends on two data: a point on a body triangle, described in barycentric coordinates, and the offset from that point. The offset is scaled in the X, Y and Z directions depending on the size of a certain body part.
** Body Part. Set this to the body part which is most affected. The choices are: Custom, Body, Genital, Head, Torso, Arm, Hand, Leg, Foot.
** Examine Boundary. Select the boundary vertices with Set boundary is invoked.
** Set Boundary. Set the boundary to vertices determined by the selected body part.
** Custom Boundary. To manually set the bounday box.
** X1, X2, Y1, Y2, Z1, Z2. The vertex numbers of the six vertices which define the scaling boundary. The X scale is determined from the distance between vertices X1 and X2, the Y scale by Y1 and Y2, and the Z scale by Z1 and Z2.
<br style="clear:both" />
=== Show Settings, Show License ===
[[File:Btmc10.png|right]]
* Show Setting. The settings include the author name and the export path. It's possible to save and restore the settings.
<br style="clear:both" />
[[File:Btmc11.png|right]]
* Show License.This set of options are to add the author name, the type of license and the tags for clothes. Licensing information to be put at the top of the exported mhclo file. It consists of three strings that can contain arbitary text.
** Author. Defaults to: Unknown.
** License. Defaults to: AGPL3
** HomePage. Defaults to: <NOWIKI>http://www.makehuman.org/ -- http://www.makehuman.org/</NOWIKI>
<br style="clear:both" />
8d4625040b9d7ee10a6042f631bd76dcdb4811e5
731
730
2016-05-20T11:42:27Z
Joepal
14
wikitext
text/x-wiki
MakeClothes, as its name implies, is a Blender addon that is used to construct clothing assets for use in the MakeHuman program. Clothes can be modeled using any technique that is natural. For example, clothing can be modeled from scratch, or by altering either the human mesh or the “clothing helpers” (see below) provided by the MakeClothes tool. When designing and modeling a clothing item, there are two restrictions that should be kept in mind. First, the algorithm for mapping a clothing mesh to the human mesh requires that the clothing mesh consists entirely of quad faces. Second, it is important to know that MakeClothes supports only one material per item of clothing.
Upon completing the MakeClothes workflow, a new folder will be created by the tool within your HOME/makehuman/v1/data/clothes. That folder will assume the unique name that the user provides for the clothing item. This folder will be populated with the assets necessary to make the item available in MakeHuman. The one additional, useful but not essential, item that the user must supply is a thumbnail icon for the clothing. The thumbnail icon can be created with any image editing program as a 128 x128 pixel image in .png format. The file should then be saved in the same folder as the other assets and the extension changed to .thumb.
== Standard Tools ==
=== Using MakeClothes addon ===
[[File:Btmc01.png|left]] MakeClothes is controlled by the MakeClothes panel in the N-shelf to the right of the viewport. It consists of the main buttons that are always visible, and several hidden sections that can be displayed by enabling a checkbox.
<br style="clear:both" />
<hr>
[[File:Btmc02.png|500px|right]]
The main section contains the following:
* Type: Specifies the character to be used as a reference. It can be one of the following:
** Base Mesh: The MakeHuman mesh without any targets applied.
** Average Male: A caucasian young male.
** Average Female: A caucasian young female.
** Average Child: A caucasian young child.
** Average Baby: A caucasian young baby.
** Base Mesh with Helpers: The MakeHuman mesh without any targets applied.
** Average Male with Helpers: A caucasian young male.
** Average Female with Helpers: A caucasian young female.
** Average Childwith Helpers: A caucasian young child.
** Average Baby with Helpers: A caucasian young baby.
*Load Human mesh: the button to load the selected type into the scene.
Note:"helpers" in MakeHuman are a type of special, invisible geometry over the base mesh which can be loaded to help model clothes, for example, a helper sweater, helper tights, etc. They have their own materials. It is important to note that no alterations should be made to the base mesh type after it is loaded otherwise the script will fail. The image (right) shows the result of pressing "Load Human Mesh", with type set to Base Mesh.
<br style="clear:both" />
[[File:Btmc03.png|500px|right]] A human mesh is loaded into the viewport, and more tools are enabled:
* Mesh Type: MakeClothes divides meshes into two types: human and clothing. This button displays the mesh type (Human/Clothing) of the active mesh and is greyed out if the active object is not a mesh. (MakeHuman normally detects the items accurately, but in the event of an error, you can click the button to change the mesh type so that it is treated as a clothing item instead of human if it is a clothing item and incorrectly detected).
* Create Vertex Groups From Selection: MakeClothes uses vertex groups to control the fitting.
* Make Clothes. This is the main entry point for the MakeClothes script. With one human and one piece of clothing selected, create an association between clothes vertices and human triangles, i.e. triplets of human vertices. Both meshes must have vertex groups with identical names, and each clothing vertex must belong to exactly one vertex group. The result of the association is saved in the file ObjectName/ObjectName.mhclo, in the default directory. This button is greyed out if the active object is not a mesh.
* Test Clothes. This buttons loads a piece of clothing (an .mhclo file) and fits it to the active mesh, which must be a human. Typically a second human is loaded on a different layer, and the quality of the clothes fitted to that character can immediately be checked in Blender. To test the clothes under the strictest conditions, the human model used for testing should be quite different from the human used for clothes-making. If the original character is an adult, Baby With Helpers is a good choice.
If, instead, the Human With Helpers button is pressed, the full MakeHuman mesh including the helper geometry is loaded. Different materials are assigned to each type of helper geometry. The materials are ordered in the order of the vertex number. This makes it easy to peel off one helper type at a time.
<br style="clear:both" />
=== Glue clothes to the body ===
The clothes are meshes that can be modelled directly in Blender, or in another package and then imported into Blender as an obj file. Note that the mesh type is Clothing, which is the default unless the mesh has been declared to be a human. A simple method to obtain a starting point modelling is to duplicate part of the human mesh and separate it from the human. However, in this case the duplicated mesh will still be a human. To change the mesh type, press the toggle button Human. The status is now changed into Clothing.
After loading the human, the next step is to "glue" the clothes to the human, in order that they will automatically fit the body changes. To control this association, MakeClothes uses vertex groups. Each clothing vertex must belong to exactly one vertex group, and a vertex group with the same name must exist in the human mesh as well. Only human vertices in the correct vertex group will be considered when making clothes.
Vertex groups speed up the clothes-making process by pruning the search tree, and can be used to control the appearance of clothes as well. However, assigning vertex groups can be quite tedious, and in many cases it is sufficient to let MakeClothes create vertex groups automatically. This is done automatically when a human mesh is loaded. If a clothing mesh does not have any vertex groups, it is also done automatically, when the MakeClothes button is pressed.
=== Automatic vertex groups ===
[[File:Btmc04.png|500px|right]] If vertex groups need to be reassigned, for example because a piece of clothing has been edited, the automatic vertex groups can be used. When the human is selected, there is a button, visible in the image (above right), called "Create Vertex Groups From Selection". Selecting a cloth, the button changes to "Create Vertex Groups". Both the buttons do the same thing, but there is a little difference: in the human it is possible to generate the vertex groups only for a sub set of the vertices (selected in edit mode), while for clothing the vertex groups must include all vertices. This is because we need to associate only a part of the human vertices with all vertices of the clothing. For example, we need to associate all the vertices of a skirt with the human torso only.
<br style="clear:both" />
[[File:Btmc05.png|500px|right]] Pressing the button, the following vertex groups are created:
* Mid: Vertices on or very close to the center line (|x| < 0:001).
* Left: Vertices to the left of the center line (x > 0:001). For a human the Mid vertices are also included in the Left group.
* Right. Vertices to the right of the center line (x z 0:001). For a human the Mid vertices are also included in the Right group.
* Delete: An empty group only created for humans. Human vertices hidden by the piece of clothing can be added to this groups. These vertices are then optionally deleted when the clothing is applied in MakeHuman, thus avoiding that blotches of skin poking through the clothes. Note that when a vertex is deleted, so are all faces containing this vertex. Don't assign a vertex to the Delete group unless all faces containing it are hidden by the pieces of clothing.
In the images (right), we can see the vertices assigned to the Mid and Left groups for a nude human.
<br style="clear:both" />
=== Generate the clothes file ===
When both clothing and human has the vertex groups with same name, just press the MakeClothes button to generate the files.
They will be located in your HOME/makehuman/v1/data/clothes, in order to be inbcluded automatically in MakeHuman.
== Advanced tools ==
Under the main buttons of Makeclothes, there are seven hidden panels that can be activated clicking the checkbox. Let's see their meaning.
=== Show selection, Show Materials, Show UV projection ===
[[File:Btmc06.png|right]]
*Show selection. This feature is just a shortcut to quickly select some part of the human. So, instead of classic Blender selection (go to edit mode, move the mouse on a vertex and press Lkey to select the linked vertices), you can just press these buttons.
<br style="clear:both" />
[[File:Btmc07.png|right]]
* Show Materials. This shows a button to export the materials only. This is useful when there are no changes to the geometry, but only to the material, in order to avoid recalculating everything.
* Show UV projection. This section is useful mainly for making proxy meshes.
** Recover seams. Creates a Seam object, which has edges where the selected mesh's UV layout has seams. The Seam object is intended to be a reference for marking seams for the clothing.
** Auto seams.
** Project UVs. Automatically create a UV layout for the clothing, compatible with the human's UV coordinates. This is intended for the mask UV layer, which must be compatible with the body mesh for all clothes. The actual texture can use a different UV layer which can be laid out in any desirable manner.
** Reexport Mhclo file.The mhclo file must be resaved when the mask UVs have been defined. This can be done by pressing Make clothes again, but Reexport Mhclo file is faster.
<br style="clear:both" />
=== Show ZDepth, Show Offset scaling ===
[[File:Btmc08.png|right]]
* Show ZDepth. This option is used to assign a depth to the cloth, in order to hide skin and clothes which are covered by clothes on top of it. The Z depth specifies the stacking order, which decides which clothes should hide others. Normally the Z depth ranges between 0 (skin) and 100 (external accessories such as backpacks).
** Depth name. Roughly indicates the preferred Z depth for various clothes types. The choices are: Body, Underwear and Lingerie, Socks and Stockings, Shirt and Trousers, Sweater, Indoor Jacket, Shoes and Boots, Coat, Backpack.
** Set Z depth.Set the Z depth depending on the selected depth name.
** Z depth.The value of the Z depth. This is changed by the Set Z depth button, but can be set manually for fine-tuning.
<br style="clear:both" />
[[File:Btmc09.png|right]]
* Show Offset scaling. The location of a clothing vertex depends on two data: a point on a body triangle, described in barycentric coordinates, and the offset from that point. The offset is scaled in the X, Y and Z directions depending on the size of a certain body part.
** Body Part. Set this to the body part which is most affected. The choices are: Custom, Body, Genital, Head, Torso, Arm, Hand, Leg, Foot.
** Examine Boundary. Select the boundary vertices with Set boundary is invoked.
** Set Boundary. Set the boundary to vertices determined by the selected body part.
** Custom Boundary. To manually set the bounday box.
** X1, X2, Y1, Y2, Z1, Z2. The vertex numbers of the six vertices which define the scaling boundary. The X scale is determined from the distance between vertices X1 and X2, the Y scale by Y1 and Y2, and the Z scale by Z1 and Z2.
<br style="clear:both" />
=== Show Settings, Show License ===
[[File:Btmc10.png|right]]
* Show Setting. The settings include the author name and the export path. It's possible to save and restore the settings.
<br style="clear:both" />
[[File:Btmc11.png|right]]
* Show License.This set of options are to add the author name, the type of license and the tags for clothes. Licensing information to be put at the top of the exported mhclo file. It consists of three strings that can contain arbitary text.
** Author. Defaults to: Unknown.
** License. Defaults to: AGPL3
** HomePage. Defaults to: <NOWIKI>http://www.makehuman.org/ -- http://www.makehuman.org/</NOWIKI>
<br style="clear:both" />
60d8ab20f1fc331341a4c348d49c6fd718624db5
730
710
2016-05-20T11:42:10Z
Joepal
14
wikitext
text/x-wiki
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:0.5em;"|
'''Note:''' This document relates to MakeHuman version 1.1.0, currently only available as a nightly build.
|}
MakeClothes, as its name implies, is a Blender addon that is used to construct clothing assets for use in the MakeHuman program. Clothes can be modeled using any technique that is natural. For example, clothing can be modeled from scratch, or by altering either the human mesh or the “clothing helpers” (see below) provided by the MakeClothes tool. When designing and modeling a clothing item, there are two restrictions that should be kept in mind. First, the algorithm for mapping a clothing mesh to the human mesh requires that the clothing mesh consists entirely of quad faces. Second, it is important to know that MakeClothes supports only one material per item of clothing.
Upon completing the MakeClothes workflow, a new folder will be created by the tool within your HOME/makehuman/v1/data/clothes. That folder will assume the unique name that the user provides for the clothing item. This folder will be populated with the assets necessary to make the item available in MakeHuman. The one additional, useful but not essential, item that the user must supply is a thumbnail icon for the clothing. The thumbnail icon can be created with any image editing program as a 128 x128 pixel image in .png format. The file should then be saved in the same folder as the other assets and the extension changed to .thumb.
== Standard Tools ==
=== Using MakeClothes addon ===
[[File:Btmc01.png|left]] MakeClothes is controlled by the MakeClothes panel in the N-shelf to the right of the viewport. It consists of the main buttons that are always visible, and several hidden sections that can be displayed by enabling a checkbox.
<br style="clear:both" />
<hr>
[[File:Btmc02.png|500px|right]]
The main section contains the following:
* Type: Specifies the character to be used as a reference. It can be one of the following:
** Base Mesh: The MakeHuman mesh without any targets applied.
** Average Male: A caucasian young male.
** Average Female: A caucasian young female.
** Average Child: A caucasian young child.
** Average Baby: A caucasian young baby.
** Base Mesh with Helpers: The MakeHuman mesh without any targets applied.
** Average Male with Helpers: A caucasian young male.
** Average Female with Helpers: A caucasian young female.
** Average Childwith Helpers: A caucasian young child.
** Average Baby with Helpers: A caucasian young baby.
*Load Human mesh: the button to load the selected type into the scene.
Note:"helpers" in MakeHuman are a type of special, invisible geometry over the base mesh which can be loaded to help model clothes, for example, a helper sweater, helper tights, etc. They have their own materials. It is important to note that no alterations should be made to the base mesh type after it is loaded otherwise the script will fail. The image (right) shows the result of pressing "Load Human Mesh", with type set to Base Mesh.
<br style="clear:both" />
[[File:Btmc03.png|500px|right]] A human mesh is loaded into the viewport, and more tools are enabled:
* Mesh Type: MakeClothes divides meshes into two types: human and clothing. This button displays the mesh type (Human/Clothing) of the active mesh and is greyed out if the active object is not a mesh. (MakeHuman normally detects the items accurately, but in the event of an error, you can click the button to change the mesh type so that it is treated as a clothing item instead of human if it is a clothing item and incorrectly detected).
* Create Vertex Groups From Selection: MakeClothes uses vertex groups to control the fitting.
* Make Clothes. This is the main entry point for the MakeClothes script. With one human and one piece of clothing selected, create an association between clothes vertices and human triangles, i.e. triplets of human vertices. Both meshes must have vertex groups with identical names, and each clothing vertex must belong to exactly one vertex group. The result of the association is saved in the file ObjectName/ObjectName.mhclo, in the default directory. This button is greyed out if the active object is not a mesh.
* Test Clothes. This buttons loads a piece of clothing (an .mhclo file) and fits it to the active mesh, which must be a human. Typically a second human is loaded on a different layer, and the quality of the clothes fitted to that character can immediately be checked in Blender. To test the clothes under the strictest conditions, the human model used for testing should be quite different from the human used for clothes-making. If the original character is an adult, Baby With Helpers is a good choice.
If, instead, the Human With Helpers button is pressed, the full MakeHuman mesh including the helper geometry is loaded. Different materials are assigned to each type of helper geometry. The materials are ordered in the order of the vertex number. This makes it easy to peel off one helper type at a time.
<br style="clear:both" />
=== Glue clothes to the body ===
The clothes are meshes that can be modelled directly in Blender, or in another package and then imported into Blender as an obj file. Note that the mesh type is Clothing, which is the default unless the mesh has been declared to be a human. A simple method to obtain a starting point modelling is to duplicate part of the human mesh and separate it from the human. However, in this case the duplicated mesh will still be a human. To change the mesh type, press the toggle button Human. The status is now changed into Clothing.
After loading the human, the next step is to "glue" the clothes to the human, in order that they will automatically fit the body changes. To control this association, MakeClothes uses vertex groups. Each clothing vertex must belong to exactly one vertex group, and a vertex group with the same name must exist in the human mesh as well. Only human vertices in the correct vertex group will be considered when making clothes.
Vertex groups speed up the clothes-making process by pruning the search tree, and can be used to control the appearance of clothes as well. However, assigning vertex groups can be quite tedious, and in many cases it is sufficient to let MakeClothes create vertex groups automatically. This is done automatically when a human mesh is loaded. If a clothing mesh does not have any vertex groups, it is also done automatically, when the MakeClothes button is pressed.
=== Automatic vertex groups ===
[[File:Btmc04.png|500px|right]] If vertex groups need to be reassigned, for example because a piece of clothing has been edited, the automatic vertex groups can be used. When the human is selected, there is a button, visible in the image (above right), called "Create Vertex Groups From Selection". Selecting a cloth, the button changes to "Create Vertex Groups". Both the buttons do the same thing, but there is a little difference: in the human it is possible to generate the vertex groups only for a sub set of the vertices (selected in edit mode), while for clothing the vertex groups must include all vertices. This is because we need to associate only a part of the human vertices with all vertices of the clothing. For example, we need to associate all the vertices of a skirt with the human torso only.
<br style="clear:both" />
[[File:Btmc05.png|500px|right]] Pressing the button, the following vertex groups are created:
* Mid: Vertices on or very close to the center line (|x| < 0:001).
* Left: Vertices to the left of the center line (x > 0:001). For a human the Mid vertices are also included in the Left group.
* Right. Vertices to the right of the center line (x z 0:001). For a human the Mid vertices are also included in the Right group.
* Delete: An empty group only created for humans. Human vertices hidden by the piece of clothing can be added to this groups. These vertices are then optionally deleted when the clothing is applied in MakeHuman, thus avoiding that blotches of skin poking through the clothes. Note that when a vertex is deleted, so are all faces containing this vertex. Don't assign a vertex to the Delete group unless all faces containing it are hidden by the pieces of clothing.
In the images (right), we can see the vertices assigned to the Mid and Left groups for a nude human.
<br style="clear:both" />
=== Generate the clothes file ===
When both clothing and human has the vertex groups with same name, just press the MakeClothes button to generate the files.
They will be located in your HOME/makehuman/v1/data/clothes, in order to be inbcluded automatically in MakeHuman.
== Advanced tools ==
Under the main buttons of Makeclothes, there are seven hidden panels that can be activated clicking the checkbox. Let's see their meaning.
=== Show selection, Show Materials, Show UV projection ===
[[File:Btmc06.png|right]]
*Show selection. This feature is just a shortcut to quickly select some part of the human. So, instead of classic Blender selection (go to edit mode, move the mouse on a vertex and press Lkey to select the linked vertices), you can just press these buttons.
<br style="clear:both" />
[[File:Btmc07.png|right]]
* Show Materials. This shows a button to export the materials only. This is useful when there are no changes to the geometry, but only to the material, in order to avoid recalculating everything.
* Show UV projection. This section is useful mainly for making proxy meshes.
** Recover seams. Creates a Seam object, which has edges where the selected mesh's UV layout has seams. The Seam object is intended to be a reference for marking seams for the clothing.
** Auto seams.
** Project UVs. Automatically create a UV layout for the clothing, compatible with the human's UV coordinates. This is intended for the mask UV layer, which must be compatible with the body mesh for all clothes. The actual texture can use a different UV layer which can be laid out in any desirable manner.
** Reexport Mhclo file.The mhclo file must be resaved when the mask UVs have been defined. This can be done by pressing Make clothes again, but Reexport Mhclo file is faster.
<br style="clear:both" />
=== Show ZDepth, Show Offset scaling ===
[[File:Btmc08.png|right]]
* Show ZDepth. This option is used to assign a depth to the cloth, in order to hide skin and clothes which are covered by clothes on top of it. The Z depth specifies the stacking order, which decides which clothes should hide others. Normally the Z depth ranges between 0 (skin) and 100 (external accessories such as backpacks).
** Depth name. Roughly indicates the preferred Z depth for various clothes types. The choices are: Body, Underwear and Lingerie, Socks and Stockings, Shirt and Trousers, Sweater, Indoor Jacket, Shoes and Boots, Coat, Backpack.
** Set Z depth.Set the Z depth depending on the selected depth name.
** Z depth.The value of the Z depth. This is changed by the Set Z depth button, but can be set manually for fine-tuning.
<br style="clear:both" />
[[File:Btmc09.png|right]]
* Show Offset scaling. The location of a clothing vertex depends on two data: a point on a body triangle, described in barycentric coordinates, and the offset from that point. The offset is scaled in the X, Y and Z directions depending on the size of a certain body part.
** Body Part. Set this to the body part which is most affected. The choices are: Custom, Body, Genital, Head, Torso, Arm, Hand, Leg, Foot.
** Examine Boundary. Select the boundary vertices with Set boundary is invoked.
** Set Boundary. Set the boundary to vertices determined by the selected body part.
** Custom Boundary. To manually set the bounday box.
** X1, X2, Y1, Y2, Z1, Z2. The vertex numbers of the six vertices which define the scaling boundary. The X scale is determined from the distance between vertices X1 and X2, the Y scale by Y1 and Y2, and the Z scale by Z1 and Z2.
<br style="clear:both" />
=== Show Settings, Show License ===
[[File:Btmc10.png|right]]
* Show Setting. The settings include the author name and the export path. It's possible to save and restore the settings.
<br style="clear:both" />
[[File:Btmc11.png|right]]
* Show License.This set of options are to add the author name, the type of license and the tags for clothes. Licensing information to be put at the top of the exported mhclo file. It consists of three strings that can contain arbitary text.
** Author. Defaults to: Unknown.
** License. Defaults to: AGPL3
** HomePage. Defaults to: <NOWIKI>http://www.makehuman.org/ -- http://www.makehuman.org/</NOWIKI>
<br style="clear:both" />
a9666c726150ba13525d7dda6a4cc70afb8428e8
710
704
2016-05-20T11:21:46Z
Joepal
14
wikitext
text/x-wiki
MakeClothes, as its name implies, is a Blender addon that is used to construct clothing assets for use in the MakeHuman program. Clothes can be modeled using any technique that is natural. For example, clothing can be modeled from scratch, or by altering either the human mesh or the “clothing helpers” (see below) provided by the MakeClothes tool. When designing and modeling a clothing item, there are two restrictions that should be kept in mind. First, the algorithm for mapping a clothing mesh to the human mesh requires that theclothing mesh consists entirely of quad faces. Second, it is important to know that MakeClothes supports only one material per item of clothing.
Upon completing the MakeClothes workflow, a new folder will be created by the tool within %USER%/makehuman/v1/data/clothes. That folder will assume the unique name that the user provides for the clothing item. This folder will be populated with the assets necessary to make the item available in MakeHuman. The one additional, useful but not essential, item that the user must supply is a thumbnail icon for the clothing. The thumbnail icon can be created with any image editing program as a 128 x128 pixel image in .png format. The file should then be saved in the same folder as the other assets and the extension changed to .thumb.
=== Using MakeClothes addon ===
MakeClothes is controlled by the MakeClothes panel in the N-shelf to the right of the viewport. It consists of the main buttons that are always visible, and several hidden sections that can be displayed by enabling a checkbox.
!IMAGE!Pictures/mc2-010-main.png!/IMAGE!
The main section contains the following:
* Type: Specifies the character to be used as a reference. It can be one of the following:
* Base Mesh: The MakeHuman mesh without any targets applied.
* Average Male: A caucasian young male.
* Average Female: A caucasian young female.
* Average Child: A caucasian young child.
* Average Baby: A caucasian young baby.
* Base Mesh with Helpers: The MakeHuman mesh without any targets applied.
* Average Male with Helpers: A caucasian young male.
* Average Female with Helpers: A caucasian young female.
* Average Childwith Helpers: A caucasian young child.
* Average Baby with Helpers: A caucasian young baby.
* Load Human mesh: the button to load the selected type into the scene.
Note:"helpers" in MakeHuman are a type of special, invisible geometry over the base mesh which can be loaded to help model clothes, for example, a helper sweater, helper tights etc. They have their own materials. It is important to note that no alterations should be made to the base mesh type after it is loaded otherwise the script will fail.
The picture below shows the result of pressing "Load Human Mesh", with type set to Base Mesh.
!IMAGE!Pictures/mc2-011-main_0.png!/IMAGE!
A human mesh is loaded into the viewport, and more tools are enabled:
* Mesh Type: MakeClothes divides meshes into two types: human and clothing. This button displays the mesh type (Human/Clothing) of the active mesh and is greyed out if the active object is not a mesh. (MakeHuman normally detects the items accurately, but in the event of an error, you can click the button to change the mesh type so that it is treated as a clothing item instead of human if it is a clothing item and wrongly detected as a human item)
* Create Vertex Groups From Selection: MakeClothes uses vertex groups to control the fitting.
* Make Clothes. This is the main entry point for the MakeClothes script. With one human and one piece of clothing selected, create an association between clothes vertices and human triangles, i.e. triplets of human vertices. Both meshes must have vertex groups with identical names, and each clothing vertex must belong to exactly one vertex group. The result of the association is saved in the file ObjectName/ObjectName.mhclo, in the default directory. This button is greyed out if the active object is not a mesh.
* Test Clothes. This buttons loads a piece of clothing (an .mhclo file) and fits it to the active mesh, which must be a human. Typically a second human is loaded on a different layer, and the quality of the clothes fitted to that character can immediately be checked in Blender. To test the clothes under the strictest conditions, the human model used for testing should be quite different from the human used for clothes-making. If the original character is an adult, Baby With Helpers is a good choice.
If, instead, the Human With Helpers button is pressed, the full MakeHuman mesh including the helper geometry is loaded. Different materials are assigned to each type of helper geometry. The materials are ordered in the order of the vertex number. This makes it easy to peel off one helper type at a time.
!IMAGE!Pictures/makeclothes03.png!/IMAGE!
=== Glue clothes to the body ===
The clothes are meshes that be done directly in Blender, or in another package and then imported into Blender as an obj file. Note that the mesh type is Clothing, which is the default unless the mesh has been declared to be a human. A simple method to obtain a starting point modelling is to duplicate part of the human mesh and separate it from the human. However, in this case the duplicated mesh will still be a human. To change the mesh type, press the toggle button Human. The status is now changed into Clothing.
After loading the human, next step is to "glue" the clothes to the human, in order that they will automatically fit the body changes. To control this association, MakeClothes uses vertex groups. Each clothing vertex must belong to exactly one vertex group, and a vertex group with thesame namemust exist in the human mesh as well. Only human vertices in the correct vertex group will be considered when making clothes.
Vertex groups speed up the clothes-making process by pruning the search tree, and can be used to control the appearance of clothes as well. However, assigning vertex groups can be quite tedious, and in many cases it is sufficient let MakeClothes create vertex groups automatically. This is done automatically when a human mesh is loaded. If a clothing mesh does not have any vertex groups, it is also done automatically, when the MakeClothes button is pressed.
=== Automatic vertex groups ===
If vertex groups need to be reassigned, e.g. because a piece of clothing has been edited, the automatic vertex groups can be used. When the human is selected, there is a button, visible in the image above, called "Create Vertex Groups From Selection". Selecting a cloth, the button change in "Create Vertex Groups". Both the buttons do the same thing, but there is a little difference: in the human is possible to generate the vertex groups only for a sub set of the vertices (selected in edit mode), while for clothing the vertex groups must include all vertices. This is because we need to associate onlya partof the human vertices withallvertices of the clothing. For example, we need to associate all the vertices of a skirt with the human torso only.
Pressing the button, the following vertex groups are created:
* Mid: Vertices on or very close to the center line (|x| < 0:001).
* Left: Vertices to the left of the center line (x > 0:001). For a human the Mid vertices are also included in the Left group.
* Right. Vertices to the right of the center line (x z 0:001). For a human the Mid vertices are also included in the Right group.
* Delete: An empty group only created for humans. Human vertices hidden by the piece of clothing can be added to this groups. These vertices are then optionally deleted when the clothing is applied in MakeHuman, thus avoiding that blotches of skin poking through the clothes. Note that when a vertex is deleted, so are all faces containing this vertex. Don't assign a vertex to the Delete group unless all faces containing it are hidden by the pieces of clothing.
In the image below, vertices assigned to the Mid and Left groups for a nude human.
!IMAGE!Pictures/auto-vert.png!/IMAGE!
=== Generate the clothes file. ===
When both clothing and human has the vertex groups with same name, just press the MakeClothes button to generate the files.
They will be located in your HOME/makehuman/a8/data/clothes, in order to be inbcluded automatically in MakeHuman.
==== Advanced tools ====
Under the main buttons of Makeclothes, there are seven hidden panels that can be activated clicking the checkbox. Let's see their meaning.
=== Show selection, Show Materials, Show UV projection ===
!IMAGE!Pictures/options-01.png!/IMAGE!
Show selection.This feature is just a shortcut to quickly select some part of the human. So, instead of classic Blender selection (go in edit mode, move the mous on a vert and press Lkey to select the linked vertices), you can just press these buttons.
Show Materials. This will show a button to export the materials only. It's useful in case there are not changes on geometry, but only on the material, in order to avoid to recompute all.
Show UV projection.This section is useful mainly for making proxy meshes.
* Recover seams.Creates a Seam object, which has edges where the selected mesh's UV layout has seams. The Seam object is intended to be reference for marking seams for the clothing.
* Auto seams.
* Project UVs.Automatically create an UV layout for the clothing, compatible with the human's UV coordinates. This is intended for the mask UV layer, which must be compatible with the body mesh for all clothes. The actual texture can use a different UV layer which can be laid out in any desirable manner.
* Reexport Mhclo file.The mhclo file must be resaved when the mask UVs have been defined. This can be done by pressing Make clothes again, but Reexport Mhclo file is faster.
=== Show ZDepth, Show Offset scaling ===
!IMAGE!Pictures/options-02_0.png!/IMAGE!
Show ZDepth.This option is used to assign a depth to the cloth, in order to hide skin and clothes which are covered by clothes on top of it. The Z depth specifies the stacking order, which decides which clothes should hide others. Normally the Z depth ranges between 0 (skin) and 100 (external accessories such as backpacks).
* Depth name. Roughly indicates the preferred Z depth for various clothes types. The choices are: Body, Underwear and lingerie, Socks and stockings, Shirt and trousers, Sweater, Indoor jacket, Shoes and boots, Coat, Backpack.
* Set Z depth.Set the Z depth depending on the selected depth name.
* Z depth.The value of the Z depth. This is changed by the Set Z depth button, but can be dialledmanually for fine-tuning.
Show Offset scaling.The location of a clothing vertex depends on two data: a point on a body triangle, described in barycentric coordinates, and the offset from that point. The offset is scaled in the X, Y and Z directions depending on the size of a certain body part.
* Body part.Set this to the body part which is most affected. The choices are: Custom, Body, Genital, Head, Torso, Arm, Hand, Leg, Foot.
* Examine.Select the boundary vertices with Set boundary is invoked.
* Set boundary.Set the boundary to vertices determined by the selected body part.
* Custom Boundary.To manually set the bounday box.
* X1, X2, Y1, Y2, Z1, Z2.The vertex numbers of the six vertices which define the scaling boundary. The X scale is determined from the distance between vertices X1 and X2, the Y scale by Y1 and Y2, and the Z scale by Z1 and Z2.
=== Show Setting, Show License ===
!IMAGE!Pictures/options-03.png!/IMAGE!
Show Setting.The setting include the author name and the export path. It's possible to save and restore the settings.
Show License.This set of options are to add theauthor name, the type of license and the tags for clothes. Licensing information to be put at the top of the exported mhclo file. It consists of three strings that can contain arbitary text.
* Author. Defaults to: Unknown.
* License. Defaults to: AGPL3
* HomePage. Defaults to:!LINK!http://www.makehuman.org/ -- http://www.makehuman.org/!/LINK!
=== MHBlenderTools: MakeClothes rigid fitting ===
The standard clothes fitting algorithm is suitable for flexible clothes, especially clothes that follow the body closely. However, is does not work well for rigid objects like shoes, Therefore, MakeClothes has a variant suitable for rigid shoes. Rigid fitting is used on a vertex group basis, so rigid and flexible fitting can be mixed in the same piece of clothing.
Rigid fitting is used for every vertex group whose name starts with a '*'. Each such vertex group in the human must contain exactly three vertices, that determine the triangle used for fitting in this group.
!IMAGE!Pictures/rf-100-orig.png!/IMAGE!
The use of rigid vertex groups is best explained by an example. Consider a pair of shoes, which is a rigid object. We used the standard MakeClothes settings and an adult human with the original shoe to the left. Then the mhclo file was loaded onto a baby, with the result to the right. The shoe is recognizable but it has been deformed in an undesirable way. However, even though the quality of the fitting is poor, make sure to save the mhclo file, because we will need it at the end of this tutorial.
!IMAGE!Pictures/rf-110-projection.png!/IMAGE!
Each clothing vertex v is associated with a triangle t in the human mesh, i.e. three human vertices v1, v2, v3. Letrdenote the location of v andr1,r2,r3the locations of the corners of the triangle. Further, let d be the perpendicular distance from the clothes vertex to the plane spanned by the triangle. MakeClothes assigns three weights w1, w2, w3, such that
r= w1r1+ w2r2+ w3r3+d,
where the sum of weights w1+ w2+ w3= 1. When the clothing is loaded onto a different character, the new location becomes
r'= w1r'1+ w2r'2+ w3r'3+d',
wherer'1,r'2,r'3are the locations of the three human vertices in the new character, and
d' = Sd= (sxdx, sydy, szdz)
is obtained from the original offsetdby inhomogeneous global scaling with the diagonal scale matrix
S = diag(sx, sy, sz).
The important observation is that the quality of the fitting depends crucially on the chosen triangle, i.e. the triple of human vertices the determines the clothes vertex location. The standard choice is to choose the human triangle closest to to clothing vertex. In rigid fitting the triangle is the same for all vertices, and is defined by the tree vertices in the vertex group.
!IMAGE!Pictures/rf-120-vgroups.png!/IMAGE!
Here we see the vertex groups used to fit the left shoe. The standard vertex group Left consists of all vertices close to the left shoe, in the tights helper. On the other hand, the rigid vertex group *Left only contains three vertices that define the single triangle used for all clothes vertices in this group.
!IMAGE!Pictures/rf-130-triangles.png!/IMAGE!
The next illustration shows the corresponding triangles used for fitting. The Left group uses many triangles obtained by triangulating the corresponding faces. Different shoe vertices are associated with triangles that are transformed differently, and the rigid character of the shoe is lost. The *Left group only has one single triangle, with corners at the three vertices in the vertex group. The same triangle is used by all left shoe vertices.
!IMAGE!Pictures/rf-140-rename-vgroups.png!/IMAGE!
Once the human vertex groups have been defined, we proceed with clothes-making. Rename the shoe vertex groups to *Left and *Right, to make the shoes use rigid fitting. Recall that the human can have several overlapping vertex groups, but in a piece of clothing each vertex must belong to exactly one group.
!IMAGE!Pictures/rf-150-offset-scaling.png!/IMAGE!
Next we open the Offset Scaling section and select Foot as the body part. In flexible fitting, the offsets are usually very small, and selecting the correct body part is not so important. In contrast, this step is very important in rigid fitting, because many vertices are far away from their triangles and the offsets must be scaled correctly. Press Examing Boundary for a visual inspection of which vertices define the global scale matrix..
!IMAGE!Pictures/rf-160-baby-shoes.png!/IMAGE!
This picture shows the shoe loaded on a baby, using flexible fitting (blue) and rigid fitting (red). Rigid fitting clearly maintains the shape of the shoe much better.
However, one problem remains: bone weighting. Start up MakeHuman and load the shoes under the Geometries > Clothes tab. Export the character with a rig in one of the formats that allows that, e.g. mhx, and import the character into Blender. Now try to pose the feet. As we see in the picture below, the shoe does not follow the foot but is squashed or stretched in strange ways.
!IMAGE!Pictures/rf-170-bad-deformation.png!/IMAGE!
The reason is that rigid fitting affects the bone weights as well as the vertex locations. The bone weights are interpolated between the three corners of the triangle, rather than using the information from the entire foot. To correct this we need to use two different associations between clothes and human vertices: rigid fitting for vertex locations, but flexible fitting for bone weights.
Fortunately, MakeHuman can handle this situation, although there is currently no elegant interface for it in MakeClothes. In a text editor, open the mhclo file obtained by standard fitting in the beginning of this tutotial (this is why you needed to save it), and copy everything after the line
verts 0
to the end of the new mhclo file obtained by rigid fitting. Before the copied section, insert the line
weighting_verts
Export the shoes again from MakeHuman and import into Blender. The shoes should now both maintain their rigid shape and deform correctly.
!IMAGE!Pictures/rf-190-good-deformation.png!/IMAGE!
Due to an unfortunate behavior in MakeHuman, it is possible that the updated mhclo file is not loaded after it has replaced the old one. This is because MakeHuman automatically compiles mhclo and obj files when loaded, so they can be loaded faster next time. Although this behavior is convenient for ordinary users, it is very confusing and frustrating for clothes makers. If MakeHuman insists on loading old versions of your clothes, you may need to delete the compiled files (*.mhpxy and *.npz), or restart MakeHuman, or both. After the compiled files are gone, the updated clothes should load without problems.
!IMAGE!Pictures/rf-180-compiled-files.png!/IMAGE!
3c6bab42ee488f90f30558cea013c34a897d84e4
704
2016-05-20T11:10:12Z
Joepal
14
Created page with "MakeClothes, as its name implies, is a Blender addon that is used to construct clothing assets for use in the MakeHuman program. Clothes can be modeled using any technique tha..."
wikitext
text/x-wiki
MakeClothes, as its name implies, is a Blender addon that is used to construct clothing assets for use in the MakeHuman program. Clothes can be modeled using any technique that is natural. For example, clothing can be modeled from scratch, or by altering either the human mesh or the “clothing helpers” (see below) provided by the MakeClothes tool. When designing and modeling a clothing item, there are two restrictions that should be kept in mind. First, the algorithm for mapping a clothing mesh to the human mesh requires that theclothing mesh consists entirely of quad faces. Second, it is important to know that MakeClothes supports only one material per item of clothing.
Upon completing the MakeClothes workflow, a new folder will be created by the tool within %USER%/makehuman/v1/data/clothes. That folder will assume the unique name that the user provides for the clothing item. This folder will be populated with the assets necessary to make the item available in MakeHuman. The one additional, useful but not essential, item that the user must supply is a thumbnail icon for the clothing. The thumbnail icon can be created with any image editing program as a 128 x128 pixel image in .png format. The file should then be saved in the same folder as the other assets and the extension changed to .thumb.
=== Using MakeClothes addon ===
MakeClothes is controlled by the MakeClothes panel in the N-shelf to the right of the viewport. It consists of the main buttons that are always visible, and several hidden sections that can be displayed by enabling a checkbox.
!IMAGE!Pictures/mc2-010-main.png!/IMAGE!
The main section contains the following:
* Type: Specifies the character to be used as a reference. It can be one of the following:
* Base Mesh: The MakeHuman mesh without any targets applied.
* Average Male: A caucasian young male.
* Average Female: A caucasian young female.
* Average Child: A caucasian young child.
* Average Baby: A caucasian young baby.
* Base Mesh with Helpers: The MakeHuman mesh without any targets applied.
* Average Male with Helpers: A caucasian young male.
* Average Female with Helpers: A caucasian young female.
* Average Childwith Helpers: A caucasian young child.
* Average Baby with Helpers: A caucasian young baby.
* Load Human mesh: the button to load the selected type into the scene.
Note:"helpers" in MakeHuman are a type of special, invisible geometry over the base mesh which can be loaded to help model clothes, for example, a helper sweater, helper tights etc. They have their own materials. It is important to note that no alterations should be made to the base mesh type after it is loaded otherwise the script will fail.
The picture below shows the result of pressing "Load Human Mesh", with type set to Base Mesh.
!IMAGE!Pictures/mc2-011-main_0.png!/IMAGE!
A human mesh is loaded into the viewport, and more tools are enabled:
* Mesh Type: MakeClothes divides meshes into two types: human and clothing. This button displays the mesh type (Human/Clothing) of the active mesh and is greyed out if the active object is not a mesh. (MakeHuman normally detects the items accurately, but in the event of an error, you can click the button to change the mesh type so that it is treated as a clothing item instead of human if it is a clothing item and wrongly detected as a human item)
* Create Vertex Groups From Selection: MakeClothes uses vertex groups to control the fitting.
* Make Clothes. This is the main entry point for the MakeClothes script. With one human and one piece of clothing selected, create an association between clothes vertices and human triangles, i.e. triplets of human vertices. Both meshes must have vertex groups with identical names, and each clothing vertex must belong to exactly one vertex group. The result of the association is saved in the file ObjectName/ObjectName.mhclo, in the default directory. This button is greyed out if the active object is not a mesh.
* Test Clothes. This buttons loads a piece of clothing (an .mhclo file) and fits it to the active mesh, which must be a human. Typically a second human is loaded on a different layer, and the quality of the clothes fitted to that character can immediately be checked in Blender. To test the clothes under the strictest conditions, the human model used for testing should be quite different from the human used for clothes-making. If the original character is an adult, Baby With Helpers is a good choice.
If, instead, the Human With Helpers button is pressed, the full MakeHuman mesh including the helper geometry is loaded. Different materials are assigned to each type of helper geometry. The materials are ordered in the order of the vertex number. This makes it easy to peel off one helper type at a time.
!IMAGE!Pictures/makeclothes03.png!/IMAGE!
=== Glue clothes to the body ===
The clothes are meshes that be done directly in Blender, or in another package and then imported into Blender as an obj file. Note that the mesh type is Clothing, which is the default unless the mesh has been declared to be a human. A simple method to obtain a starting point modelling is to duplicate part of the human mesh and separate it from the human. However, in this case the duplicated mesh will still be a human. To change the mesh type, press the toggle button Human. The status is now changed into Clothing.
After loading the human, next step is to "glue" the clothes to the human, in order that they will automatically fit the body changes. To control this association, MakeClothes uses vertex groups. Each clothing vertex must belong to exactly one vertex group, and a vertex group with thesame namemust exist in the human mesh as well. Only human vertices in the correct vertex group will be considered when making clothes.
Vertex groups speed up the clothes-making process by pruning the search tree, and can be used to control the appearance of clothes as well. However, assigning vertex groups can be quite tedious, and in many cases it is sufficient let MakeClothes create vertex groups automatically. This is done automatically when a human mesh is loaded. If a clothing mesh does not have any vertex groups, it is also done automatically, when the MakeClothes button is pressed.
=== Automatic vertex groups ===
If vertex groups need to be reassigned, e.g. because a piece of clothing has been edited, the automatic vertex groups can be used. When the human is selected, there is a button, visible in the image above, called "Create Vertex Groups From Selection". Selecting a cloth, the button change in "Create Vertex Groups". Both the buttons do the same thing, but there is a little difference: in the human is possible to generate the vertex groups only for a sub set of the vertices (selected in edit mode), while for clothing the vertex groups must include all vertices. This is because we need to associate onlya partof the human vertices withallvertices of the clothing. For example, we need to associate all the vertices of a skirt with the human torso only.
Pressing the button, the following vertex groups are created:
* Mid: Vertices on or very close to the center line (|x| < 0:001).
* Left: Vertices to the left of the center line (x > 0:001). For a human the Mid vertices are also included in the Left group.
* Right. Vertices to the right of the center line (x z 0:001). For a human the Mid vertices are also included in the Right group.
* Delete: An empty group only created for humans. Human vertices hidden by the piece of clothing can be added to this groups. These vertices are then optionally deleted when the clothing is applied in MakeHuman, thus avoiding that blotches of skin poking through the clothes. Note that when a vertex is deleted, so are all faces containing this vertex. Don't assign a vertex to the Delete group unless all faces containing it are hidden by the pieces of clothing.
In the image below, vertices assigned to the Mid and Left groups for a nude human.
!IMAGE!Pictures/auto-vert.png!/IMAGE!
=== Generate the clothes file. ===
When both clothing and human has the vertex groups with same name, just press the MakeClothes button to generate the files.
They will be located in your HOME/makehuman/a8/data/clothes, in order to be inbcluded automatically in MakeHuman.
==== Advanced tools ====
Under the main buttons of Makeclothes, there are seven hidden panels that can be activated clicking the checkbox. Let's see their meaning.
=== Show selection, Show Materials, Show UV projection ===
!IMAGE!Pictures/options-01.png!/IMAGE!
Show selection.This feature is just a shortcut to quickly select some part of the human. So, instead of classic Blender selection (go in edit mode, move the mous on a vert and press Lkey to select the linked vertices), you can just press these buttons.
Show Materials. This will show a button to export the materials only. It's useful in case there are not changes on geometry, but only on the material, in order to avoid to recompute all.
Show UV projection.This section is useful mainly for making proxy meshes.
* Recover seams.Creates a Seam object, which has edges where the selected mesh's UV layout has seams. The Seam object is intended to be reference for marking seams for the clothing.
* Auto seams.
* Project UVs.Automatically create an UV layout for the clothing, compatible with the human's UV coordinates. This is intended for the mask UV layer, which must be compatible with the body mesh for all clothes. The actual texture can use a different UV layer which can be laid out in any desirable manner.
* Reexport Mhclo file.The mhclo file must be resaved when the mask UVs have been defined. This can be done by pressing Make clothes again, but Reexport Mhclo file is faster.
=== Show ZDepth, Show Offset scaling ===
!IMAGE!Pictures/options-02_0.png!/IMAGE!
Show ZDepth.This option is used to assign a depth to the cloth, in order to hide skin and clothes which are covered by clothes on top of it. The Z depth specifies the stacking order, which decides which clothes should hide others. Normally the Z depth ranges between 0 (skin) and 100 (external accessories such as backpacks).
* Depth name. Roughly indicates the preferred Z depth for various clothes types. The choices are: Body, Underwear and lingerie, Socks and stockings, Shirt and trousers, Sweater, Indoor jacket, Shoes and boots, Coat, Backpack.
* Set Z depth.Set the Z depth depending on the selected depth name.
* Z depth.The value of the Z depth. This is changed by the Set Z depth button, but can be dialledmanually for fine-tuning.
Show Offset scaling.The location of a clothing vertex depends on two data: a point on a body triangle, described in barycentric coordinates, and the offset from that point. The offset is scaled in the X, Y and Z directions depending on the size of a certain body part.
* Body part.Set this to the body part which is most affected. The choices are: Custom, Body, Genital, Head, Torso, Arm, Hand, Leg, Foot.
* Examine.Select the boundary vertices with Set boundary is invoked.
* Set boundary.Set the boundary to vertices determined by the selected body part.
* Custom Boundary.To manually set the bounday box.
* X1, X2, Y1, Y2, Z1, Z2.The vertex numbers of the six vertices which define the scaling boundary. The X scale is determined from the distance between vertices X1 and X2, the Y scale by Y1 and Y2, and the Z scale by Z1 and Z2.
=== Show Setting, Show License ===
!IMAGE!Pictures/options-03.png!/IMAGE!
Show Setting.The setting include the author name and the export path. It's possible to save and restore the settings.
Show License.This set of options are to add theauthor name, the type of license and the tags for clothes. Licensing information to be put at the top of the exported mhclo file. It consists of three strings that can contain arbitary text.
* Author. Defaults to: Unknown.
* License. Defaults to: AGPL3
* HomePage. Defaults to:!LINK!http://www.makehuman.org/ -- http://www.makehuman.org/!/LINK!
0a17229d372d897a679e47d7a13c5323f218b5a1
Documentation:ClothesV2
3000
641
1949
1933
2020-11-15T14:45:32Z
Punkduck
38
wikitext
text/x-wiki
= Makeclothes Version 2 =
[[File:makeclothestitle.jpg]]
MakeClothes2 is used to create clothes for MakeHuman characters. It could be installed as a single plugin, but at least MakeSkin should be used, if the creation of material is also part of your work. Furthermore it is able to work with the human base mesh provided by MPFB.
The term "clothes" is not really correct, the program creates any kind of mesh which can be used for a character generated by MakeHuman. This also includes hair and different tongue or a new topology for the skin. To use MakeClothes in Blender knowledge of Blender itself is needed.
== Notation ==
To understand the process, a short summary of terms used in MakeHuman:
* '''base mesh''' and '''helper mesh''': The base mesh is the standard body mesh including a helper-mesh used in MakeHuman. ([[Documentation:Basemesh|detailed information]])
* '''proxies''': in a way all meshes projected on the body are proxies. Do differentiate between a piece of cloth and an alternative mesh for the skin, the alternative mesh is called a '''topology'''.
* '''topologies''': special case for a proxy used as a mesh for the skin. Typically used for e.g. a different resolution or to add genitals.
* '''smoothing''': MakeHuman may use smoothing on a base mesh. This results in a mesh with 4 times as many vertices. <u>This mesh cannot be used for MakeClothes.</u>
* '''clothes''': clothes will be all meshes MakeClothes is able to create. Hair and body proxies included.
* '''posing''': the standard "unposed" base mesh is presented in an A-Pose. Other poses are T-Pose or a pose which is user generated. Typically these poses are created with the standard skeleton. Shapekeys can be used as a special pose too.
* '''weighting''': when a character is posed the skin but also the clothes should follow the bones. So weights are added to each vertex. These weights determine how much a bone will be followed. MakeClothes uses a similar construction, since the clothes follow vertices on the helper or base mesh.
[[File:Mc2_meshes_to_use.png]]
Only base mesh and helper can be used to create clothes.
== Limits ==
Makeclothes has certain limits according to the internal structure of MakeHuman
* The mesh for the clothes can either be done with quads or with triangles. No mixture allowed. Advantage for quads is a smoother design with a later usage of subdivision surface algorithm (smoothing). Triangles are normally used for e.g. sculpting or when you work with 3rd party meshes.
* only one material for one item of clothing is allowed in MakeHuman
* each vertex of an item of clothing uses 3 vertices on body or helper to find its position according to the human created in MakeHuman
* each vertex of an item of clothing needs to be in one (and only one) vertex group. A group of the same name must be created on the human
* it is possible to create more than one item of clothing with one human
* only one human is allowed when clothes are created. So only one object is "marked as human". However, if you need more than one base mesh, all others can be marked as clothes
[[File:Mc2_makeclothes2.png|right]]
== How to load a human ==
MakeHuman uses a mesh called hm08. Makeclothes is prepared to deal with other meshes as well for future versions. When the mesh is changed it must be changed in MakeHuman as well. So this documentation will only consider the hm08 base mesh.
To create clothes you can create them directly on the body or on the helper mesh. For underwear the nude body is best choice, but for a coat the helper mesh will be used. A good method for e.g. a skirt or coat is to design the piece of cloth on the nude body and then use the helper mesh for weighting in the end.
There are currently a few possibilities to load a human. The simplest way is to load a predefined one or to use MPFB, both have some vertex-groups assigned:
* '''Load a predefined human'''
The easiest way directly supported by MakeClothes is to work with the predefined meshes. MakeClothes contains 2 Blend-files which are placed in the "humans" sub-directory of the plugin (male.blend and female.blend). When MakeClothes starts, these blend-files are scanned once and names of the objects starting with "mh_" are presented in a menu. To work with it, select a mesh and press "Import predefined human" button.
[[File:Mc2_loadpredef.png]]
In case of a helper mesh, the parts of the mesh are assigned to different vertex-groups to allow an easy selection and use different colors.
After the mesh is loaded these buttons disappear, because one human is already loaded. The loaded mesh is automatically marked as a human. To load another human either delete the human or mark your human as clothes.
* '''Load the human via MPFB'''
Makehuman Plugin for Blender also can provide a base mesh. Be aware that the best base is an unmodified male or female mesh, because the clothes will fit most of the characters. Do not use alternative topologies in MakeHuman. If you import an human this is already the base mesh. It can be done easily by doing these steps:
[[File:Mc2_loadhumanmfb.png]]
The default preset of MakeClothes inside MPFB will mask the helper. It is possible, to switch the masking on or off. To do that, press the button marked in the illustration:
[[File:Mc2_togglehelper.png]]
Typically the helper will be switched off, when the clothes are modelled. When you assign the vertex groups you should switch it on, because it makes sense to use groups on the helper for the weighting. It is possible to extract clothes from the helper (even when masked) as long as it is not deleted.
* '''Load normal base.obj file'''
This is the way using the predefined base.obj file which can be downloaded from github. MakeClothes reads the wavefront file. Vertex groups are created according to the .obj file. Disadvantage: this mesh is neither male nor female.
An exported wavefront mesh made by MakeHuman can be used as well (no alternative topology such as male muscled mesh, do not use smoothing and delete the extra eyes). It is possible to export it including the helpers. Unfortunately it has no vertex groups assigned. This must be done in Blender later.
* '''Load an mhx2 file'''
The body (no alternative topology, do not use smoothing and delete the extra eyes) used by mhx2 export can also be used as a base mesh. When you load it you have to select Override Exported Data and the mark Helper Geometry before importing it.
* '''Delete helpers'''
If a mesh is loaded and the helpers are not needed, the helpers can be deleted. In this case a vertex-group "body" is expected, all vertices belonging to other groups are deleted. If body is not available, nothing will be done.
== Tell MakeClothes the type of the object ==
[[File:Mc2_customprops.png|right]]
To create clothes, one object must be marked as human and at least one as clothes. If you work with more than one human, all others must be marked as clothes temporarily. When you mark one object as human a previously marked human will automatically be marked as clothes. The custom properties of the object will hold this information.
== Create simple clothes (extract from helper) ==
If a helper mesh is available it is possible to use this helper as a basis for the clothes. Especially for beginners (but also for the advanced for a good weighting) this could be helpful.
[[File:MC2_extract_helpers.png]]
The normal way would be to extract either "Tights" or "Skirt". Extract means that a copy of a helper part is prepared for your work. The second step would then be to modify this geometry for your own purposes.
== Assign vertex-groups ==
Vertex-groups are a number of vertices of a mesh forming a group with vertex-group name. These groups are used to determine relations between e.g. vertices on the body and vertices on an item of clothing. The simplest way would be:
* create a group "clothing" on the human
* assign all vertices of the human to this group
* create a group "clothing" on your item of clothing
* assign all vertices of the item of clothing to this group
This might work, but it is not a good way. There are many risks.
So here are examples from some of the assets I did: [[Documentation:MakeClothes Vertex-Groups|Create vertex-groups]]
== Test the human mesh ==
The human loaded with one of the methods usually should not have problems. Nevertheless there is a small test available to check the human. This test is also automatically done when clothes are created.
* the number of human objects must be one
* there must be one vertex group on the human
* no vertex belongs to an non-existing group
[[File:Mc2_checkhuman.png]]
== Test the clothes ==
Clothes need a bit more testing.
* clothes should not have stray geometry. These are single vertices or edges. If this problem appears, change into edit mode. The vertices are pre-selected. Simply delete them or change geometry otherwise.
* maximum number of vertices per face is 4. If you have more than this, these faces are selected and must be changed.
* clothes can be quad or triangle meshes. A mixture is not allowed. The process assumes a mesh type and selects the faces to be changed.
* the process tests if at least one vertex group is available
* all vertices must belong to one vertex group. Vertices belonging to no group are selected and can be changed in edit mode.
* all vertices must belong to only one vertex group. Vertices belonging to more than one group are selected and can be changed in edit mode.
* no vertex belongs to an non-existing group
* a test is done, how many edges belong to one vertex. Typically quad meshes with a low pole-count will have better geometric qualities. This is only a warning. The vertices with more than 8 neighbor vertices will be selected and can be changed in edit mode.
[[File:Mc2_checkclothes.png]]
== Common settings ==
The common settings will provide the '''license''' and the name of the '''author''', which will be used for all the clothes generated with this file.
* '''Overwrite existing files''' is switched off. The name of the item of clothing is used as a filename. If it is necessary to overwrite an existing object, the box must be marked.
* '''Modifiers are allowed'''. Typically the mirror modifier may make sense. Be careful with e.g. subdivision surface, because it may produce a huge number of vertices. When the clothes should be designed with subdivision surface but created without, switch off "Allow Modifiers"
== Produce clothes ==
The main features of creating clothes are:
* '''name''': this is the name of the item of clothing, also the filename
* '''comment''': a short optional description
* '''tags''': a list of predefined and own tags as a search criteria for MakeHuman
[[File:Mc2_tagselector.png]]
* '''zdepth''': determines the order of clothes. Lower values are used for clothes near the body, higher values for parts far away. This will be used to hide clothes near the body. A rule of thumb is to start with underwear at 31; normal clothes (pants, t-shirt, shoes) use a default value of 50 and clothes like a coat usually use high values like 63. The following illustration shows the effect for a character equipped with ballet clothes. It also demonstrates what is happening when all values are equal.
[[File:Mc2_zdepth.png]]
* '''scaling''': select the part of the body which is important for the scaling. Most likely torso for a t-shirt, head for a hat etc.
* '''delete-group''': it is a good method to delete vertices on the body if clothes are not transparent. This avoids bleeding through, that is, that vertices that should be "inside" suddenly appear outside of the clothes (see: [[Documentation:MakeClothes Delete-Groups|use delete-groups]]). All vertices not to be displayed should be selected on the body (not helper) and assigned to a vertex on the human. The name of this group must be inserted in the box. If more than one piece of cloth is created, they all can have a different delete-group on the same human.
* '''use MakeSkin''': without MakeSkin a simple material is saved for the piece of cloth (white base color). Otherwise the material file of the plugin [[Documentation:MaterialsMakeSkin|MakeSkin]] is used. See "Materials" below.
* '''subdir''': the directory inside where the clothes will be created.
== Materials ==
Most of the clothes will need a texture. Before the texture can be used the piece of cloth must be unwrapped. The best way is to create seams in Blender where the real seams are.
Unwrap the clothes in any case. The output of this process is a UV-Map, which will be used to determine the coordinates of each vertex on the texture.
If the simple standard material should not be used for export, a material can be attached with [[Documentation:MaterialsMakeSkin|MakeSkin]]
[[Documentation:Modeling Clothes#Texturing the clothes|Some methods to texture clothes you will find here]].
== Create the clothes ==
The last step to create clothes is to select the item of clothing and press produce clothes. The tests "check clothes" and "check human" are processed and also an additional test about matching vertex groups is done. If everything is okay, the clothes can be loaded in MakeHuman.
This is not the documentation of how to model geometries for clothes and not every one will be happy with simple way to copy the helper meshes and create clothes directly.
[[Documentation:Modeling Clothes|Some different methods to create clothes you will find here.]]
== Usage of shape keys and targets, create heels ==
A special female body with shape keys is added as a predefined mesh to allow creation of heels. For advanced users: [[Documentation:CreateHeels|this is the way it works]]
== Importing existing clothes ==
It is possible to load an existing mhclo-file from the data folder of MakeHuman. It's best to load the human mesh before, if you want to change geometry. The clothes will also fit to a different body, but in this case they will not look as good as on the body they were made for. But the advantage is that, e.g., clothes created for males can be used as a base for a female version.
When clothes are imported, most of fields are filled in by the process and the delete-group is marked on the human (in case a human is available).
The material is also loaded, when MakeSkin is available. The illustration shows the result of the import of the "lace_up_blouse". A material called "lace_up_blouse" was created in blender. All available information is imported and displayed. This includes the special parameters only used in MakeHuman (Backface culling, Transparent, LitSphere etc.). So also the material setup could be used for a new item of clothing.
[[File:Mc2_importclothes.png]]
9f7700db55b9ac882d09b47d717d2401119aa4ee
1933
1886
2020-11-14T19:55:28Z
Punkduck
38
wikitext
text/x-wiki
Caution: this file is still under construction :)
= Makeclothes Version 2 =
[[File:makeclothestitle.jpg]]
MakeClothes2 is used to create clothes for MakeHuman characters. It could be installed as a single plugin, but at least MakeSkin should be used, if the creation of material is also part of your work. Furthermore it is able to work with the human base mesh provided by MPFB.
The term "clothes" is not really correct, the program creates any kind of mesh which can be used for a character generated by MakeHuman. This also includes hair and different tongue or a new topology for the skin. To use MakeClothes in Blender knowledge of Blender itself is needed.
== Notation ==
To understand the process, a short summary of terms used in MakeHuman:
* '''base mesh''' and '''helper mesh''': The base mesh is the standard body mesh including a helper-mesh used in MakeHuman. ([[Documentation:Basemesh|detailed information]])
* '''proxies''': in a way all meshes projected on the body are proxies. Do differentiate between a piece of cloth and an alternative mesh for the skin, the alternative mesh is called a '''topology'''.
* '''topologies''': special case for a proxy used as a mesh for the skin. Typically used for e.g. a different resolution or to add genitals.
* '''smoothing''': MakeHuman may use smoothing on a base mesh. This results in a mesh with 4 times as many vertices. <u>This mesh cannot be used for MakeClothes.</u>
* '''clothes''': clothes will be all meshes MakeClothes is able to create. Hair and body proxies included.
* '''posing''': the standard "unposed" base mesh is presented in an A-Pose. Other poses are T-Pose or a pose which is user generated. Typically these poses are created with the standard skeleton. Shapekeys can be used as a special pose too.
* '''weighting''': when a character is posed the skin but also the clothes should follow the bones. So weights are added to each vertex. These weights determine how much a bone will be followed. MakeClothes uses a similar construction, since the clothes follow vertices on the helper or base mesh.
[[File:Mc2_meshes_to_use.png]]
Only base mesh and helper can be used to create clothes.
== Limits ==
Makeclothes has certain limits according to the internal structure of MakeHuman
* The mesh for the clothes can either be done with quads or with triangles. No mixture allowed. Advantage for quads is a smoother design with a later usage of subdivision surface algorithm (smoothing). Triangles are normally used for e.g. sculpting or when you work with 3rd party meshes.
* only one material for one item of clothing is allowed in MakeHuman
* each vertex of an item of clothing uses 3 vertices on body or helper to find its position according to the human created in MakeHuman
* each vertex of an item of clothing needs to be in one (and only one) vertex group. A group of the same name must be created on the human
* it is possible to create more than one item of clothing with one human
* only one human is allowed when clothes are created. So only one object is "marked as human". However, if you need more than one base mesh, all others can be marked as clothes
[[File:Mc2_makeclothes2.png|right]]
== How to load a human ==
MakeHuman uses a mesh called hm08. Makeclothes is prepared to deal with other meshes as well for future versions. When the mesh is changed it must be changed in MakeHuman as well. So this documentation will only consider the hm08 base mesh.
To create clothes you can create them directly on the body or on the helper mesh. For underwear the nude body is best choice, but for a coat the helper mesh will be used. A good method for e.g. a skirt or coat is to design the piece of cloth on the nude body and then use the helper mesh for weighting in the end.
There are currently a few possibilities to load a human. The simplest way is to load a predefined one or to use MPFB, both have some vertex-groups assigned:
* '''Load a predefined human'''
The easiest way directly supported by MakeClothes is to work with the predefined meshes. MakeClothes contains 2 Blend-files which are placed in the "humans" sub-directory of the plugin (male.blend and female.blend). When MakeClothes starts, these blend-files are scanned once and names of the objects starting with "mh_" are presented in a menu. To work with it, select a mesh and press "Import predefined human" button.
[[File:Mc2_loadpredef.png]]
In case of a helper mesh, the parts of the mesh are assigned to different vertex-groups to allow an easy selection and use different colors.
After the mesh is loaded these buttons disappear, because one human is already loaded. The loaded mesh is automatically marked as a human. To load another human either delete the human or mark your human as clothes.
* '''Load the human via MPFB'''
Makehuman Plugin for Blender also can provide a base mesh. Be aware that the best base is an unmodified male or female mesh, because the clothes will fit most of the characters. Do not use alternative topologies in MakeHuman. If you import an human this is already the base mesh. It can be done easily by doing these steps:
[[File:Mc2_loadhumanmfb.png]]
The default preset of MakeClothes inside MPFB will mask the helper. It is possible, to switch the masking on or off. To do that, press the button marked in the illustration:
[[File:Mc2_togglehelper.png]]
Typically the helper will be switched off, when the clothes are modelled. When you assign the vertex groups you should switch it on, because it makes sense to use groups on the helper for the weighting. It is possible to extract clothes from the helper (even when masked) as long as it is not deleted.
* '''Load normal base.obj file'''
This is the way using the predefined base.obj file which can be downloaded from github. MakeClothes reads the wavefront file. Vertex groups are created according to the .obj file. Disadvantage: this mesh is neither male nor female.
An exported wavefront mesh made by MakeHuman can be used as well (no alternative topology such as male muscled mesh, do not use smoothing and delete the extra eyes). It is possible to export it including the helpers. Unfortunately it has no vertex groups assigned. This must be done in Blender later.
* '''Load an mhx2 file'''
The body (no alternative topology, do not use smoothing and delete the extra eyes) used by mhx2 export can also be used as a base mesh. When you load it you have to select Override Exported Data and the mark Helper Geometry before importing it.
* '''Delete helpers'''
If a mesh is loaded and the helpers are not needed, the helpers can be deleted. In this case a vertex-group "body" is expected, all vertices belonging to other groups are deleted. If body is not available, nothing will be done.
== Tell MakeClothes the type of the object ==
[[File:Mc2_customprops.png|right]]
To create clothes, one object must be marked as human and at least one as clothes. If you work with more than one human, all others must be marked as clothes temporarily. When you mark one object as human a previously marked human will automatically be marked as clothes. The custom properties of the object will hold this information.
== Create simple clothes (extract from helper) ==
If a helper mesh is available it is possible to use this helper as a basis for the clothes. Especially for beginners (but also for the advanced for a good weighting) this could be helpful.
[[File:MC2_extract_helpers.png]]
The normal way would be to extract either "Tights" or "Skirt". Extract means that a copy of a helper part is prepared for your work. The second step would then be to modify this geometry for your own purposes.
== Assign vertex-groups ==
Vertex-groups are a number of vertices of a mesh forming a group with vertex-group name. These groups are used to determine relations between e.g. vertices on the body and vertices on an item of clothing. The simplest way would be:
* create a group "clothing" on the human
* assign all vertices of the human to this group
* create a group "clothing" on your item of clothing
* assign all vertices of the item of clothing to this group
This might work, but it is not a good way. There are many risks.
So here are examples from some of the assets I did: [[Documentation:MakeClothes Vertex-Groups|Create vertex-groups]]
== Test the human mesh ==
The human loaded with one of the methods usually should not have problems. Nevertheless there is a small test available to check the human. This test is also automatically done when clothes are created.
* the number of human objects must be one
* there must be one vertex group on the human
* no vertex belongs to an non-existing group
[[File:Mc2_checkhuman.png]]
== Test the clothes ==
Clothes need a bit more testing.
* clothes should not have stray geometry. These are single vertices or edges. If this problem appears, change into edit mode. The vertices are pre-selected. Simply delete them or change geometry otherwise.
* maximum number of vertices per face is 4. If you have more than this, these faces are selected and must be changed.
* clothes can be quad or triangle meshes. A mixture is not allowed. The process assumes a mesh type and selects the faces to be changed.
* the process tests if at least one vertex group is available
* all vertices must belong to one vertex group. Vertices belonging to no group are selected and can be changed in edit mode.
* all vertices must belong to only one vertex group. Vertices belonging to more than one group are selected and can be changed in edit mode.
* no vertex belongs to an non-existing group
* a test is done, how many edges belong to one vertex. Typically quad meshes with a low pole-count will have better geometric qualities. This is only a warning. The vertices with more than 8 neighbor vertices will be selected and can be changed in edit mode.
[[File:Mc2_checkclothes.png]]
== Common settings ==
The common settings will provide the '''license''' and the name of the '''author''', which will be used for all the clothes generated with this file.
* '''Overwrite existing files''' is switched off. The name of the item of clothing is used as a filename. If it is necessary to overwrite an existing object, the box must be marked.
* '''Modifiers are allowed'''. Typically the mirror modifier may make sense. Be careful with e.g. subdivision surface, because it may produce a huge number of vertices. When the clothes should be designed with subdivision surface but created without, switch off "Allow Modifiers"
== Produce clothes ==
The main features of creating clothes are:
* '''name''': this is the name of the item of clothing, also the filename
* '''comment''': a short optional description
* '''tags''': a list of predefined and own tags as a search criteria for MakeHuman
[[File:Mc2_tagselector.png]]
* '''zdepth''': determines the order of clothes. Lower values are used for clothes near the body, higher values for parts far away. This will be used to hide clothes near the body. A rule of thumb is to start with underwear at 31; normal clothes (pants, t-shirt, shoes) use a default value of 50 and clothes like a coat usually use high values like 63. The following illustration shows the effect for a character equipped with ballet clothes. It also demonstrates what is happening when all values are equal.
[[File:Mc2_zdepth.png]]
* '''scaling''': select the part of the body which is important for the scaling. Most likely torso for a t-shirt, head for a hat etc.
* '''delete-group''': it is a good method to delete vertices on the body if clothes are not transparent. This avoids bleeding through, that is, that vertices that should be "inside" suddenly appear outside of the clothes (see: [[Documentation:MakeClothes Delete-Groups|use delete-groups]]). All vertices not to be displayed should be selected on the body (not helper) and assigned to a vertex on the human. The name of this group must be inserted in the box. If more than one piece of cloth is created, they all can have a different delete-group on the same human.
* '''use MakeSkin''': without MakeSkin a simple material is saved for the piece of cloth (white base color). Otherwise the material file of the plugin [[Documentation:MaterialsMakeSkin|MakeSkin]] is used. See "Materials" below.
* '''subdir''': the directory inside where the clothes will be created.
== Materials ==
Most of the clothes will need a texture. Before the texture can be used the piece of cloth must be unwrapped. The best way is to create seams in Blender where the real seams are.
Unwrap the clothes in any case. The output of this process is a UV-Map, which will be used to determine the coordinates of each vertex on the texture.
If the simple standard material should not be used for export, a material can be attached with [[Documentation:MaterialsMakeSkin|MakeSkin]]
<will be changed later with some advice how to do good textures etc.>
== Create the clothes ==
One of simplest ways is to copy the helper meshes and create clothes directly. Of course there are more possibilities to do it, [[Documentation:Modeling Clothes|here are some methods you can use]].
The last step to create clothes is to select the item of clothing and press produce clothes. The tests "check clothes" and "check human" are processed and also an additional test about matching vertex groups is done. If everything is okay, the clothes can be loaded in MakeHuman.
== Usage of shape keys and targets, create heels ==
A special female body with shape keys is added as a predefined mesh to allow creation of heels. For advanced users: [[Documentation:CreateHeels|this is the way it works]]
== Importing existing clothes ==
It is possible to load an existing mhclo-file from the data folder of MakeHuman. It's best to load the human mesh before, if you want to change geometry. The clothes will also fit to a different body, but in this case they will not look as good as on the body they were made for. But the advantage is that, e.g., clothes created for males can be used as a base for a female version.
When clothes are imported, most of fields are filled in by the process and the delete-group is marked on the human (in case a human is available).
The material is also loaded, when MakeSkin is available. The illustration shows the result of the import of the "lace_up_blouse". A material called "lace_up_blouse" was created in blender. All available information is imported and displayed. This includes the special parameters only used in MakeHuman (Backface culling, Transparent, LitSphere etc.). So also the material setup could be used for a new item of clothing.
[[File:Mc2_importclothes.png]]
a087854f981ebb1af864250fa4a3919ff59be9d8
1886
1885
2020-09-28T03:12:43Z
Mtknife
35
/* Limits */
wikitext
text/x-wiki
Caution: this file is still under construction :)
= Makeclothes Version 2 =
[[File:makeclothestitle.jpg]]
MakeClothes2 is used to create clothes for MakeHuman characters. It could be installed as a single plugin, but at least MakeSkin should be used, if the creation of material is also part of your work. Furthermore it is able to work with the human base mesh provided by MPFB.
The term "clothes" is not really correct, the program creates any kind of mesh which can be used for a character generated by MakeHuman. This also includes hair and different tongue or a new topology for the skin. To use MakeClothes in Blender knowledge of Blender itself is needed.
== Notation ==
To understand the process, a short summary of terms used in MakeHuman:
* '''base mesh''' and '''helper mesh''': The base mesh is the standard body mesh including a helper-mesh used in MakeHuman. ([[Documentation:Basemesh|detailed information]])
* '''proxies''': in a way all meshes projected on the body are proxies. Do differentiate between a piece of cloth and an alternative mesh for the skin, the alternative mesh is called a '''topology'''.
* '''topologies''': special case for a proxy used as a mesh for the skin. Typically used for e.g. a different resolution or to add genitals.
* '''smoothing''': MakeHuman may use smoothing on a base mesh. This results in a mesh with 4 times as many vertices. <u>This mesh cannot be used for MakeClothes.</u>
* '''clothes''': clothes will be all meshes MakeClothes is able to create. Hair and body proxies included.
* '''posing''': the standard "unposed" base mesh is presented in an A-Pose. Other poses are T-Pose or a pose which is user generated. Typically these poses are created with the standard skeleton. Shapekeys can be used as a special pose too.
* '''weighting''': when a character is posed the skin but also the clothes should follow the bones. So weights are added to each vertex. These weights determine how much a bone will be followed. MakeClothes uses a similar construction, since the clothes follow vertices on the helper or base mesh.
[[File:Mc2_meshes_to_use.png]]
Only base mesh and helper can be used to create clothes.
== Limits ==
Makeclothes has certain limits according to the internal structure of MakeHuman
* The mesh for the clothes can either be done with quads or with triangles. No mixture allowed. Advantage for quads is a smoother design with a later usage of subdivision surface algorithm (smoothing). Triangles are normally used for e.g. sculpting or when you work with 3rd party meshes.
* only one material for one item of clothing is allowed in MakeHuman
* each vertex of an item of clothing uses 3 vertices on body or helper to find its position according to the human created in MakeHuman
* each vertex of an item of clothing needs to be in one (and only one) vertex group. A group of the same name must be created on the human
* it is possible to create more than one item of clothing with one human
* only one human is allowed when clothes are created. So only one object is "marked as human". However, if you need more than one base mesh, all others can be marked as clothes
[[File:Mc2_makeclothes2.png|right]]
== How to load a human ==
MakeHuman uses a mesh called hm08. Makeclothes is prepared to deal with other meshes as well for future versions. When the mesh is changed it must be changed in MakeHuman as well. So this documentation will only consider the hm08 base mesh.
To create clothes you can create them directly on the body or on the helper mesh. For underwear the nude body is best choice, but for a coat the helper mesh will be used. A good method for e.g. a skirt or coat is to design the piece of cloth on the nude body and then use the helper mesh for weighting in the end.
There are currently a few possibilities to load a human. The simplest way is to load a predefined one or to use MPFB, both have some vertex-groups assigned:
* '''Load a predefined human'''
The easiest way directly supported by MakeClothes is to work with the predefined meshes. MakeClothes contains 2 Blend-files which are placed in the "humans" sub-directory of the plugin (male.blend and female.blend). When MakeClothes starts, these blend-files are scanned once and names of the objects starting with "mh_" are presented in a menu. To work with it, select a mesh and press "Import predefined human" button.
[[File:Mc2_loadpredef.png]]
In case of a helper mesh, the parts of the mesh are assigned to different vertex-groups to allow an easy selection and use different colors.
After the mesh is loaded these buttons disappear, because one human is already loaded. The loaded mesh is automatically marked as a human. To load another human either delete the human or mark your human as clothes.
* '''Load the human via MPFB'''
Makehuman Plugin for Blender also can provide a base mesh. Be aware that the best base is an unmodified male or female mesh, because the clothes will fit most of the characters. Do not use alternative topologies in MakeHuman. If you import an human this is already the base mesh. It can be done easily by doing these steps:
[[File:Mc2_loadhumanmfb.png]]
The default preset of MakeClothes inside MPFB will mask the helper. It is possible, to switch the masking on or off. To do that, press the button marked in the illustration:
[[File:Mc2_togglehelper.png]]
Typically the helper will be switched off, when the clothes are modelled. When you assign the vertex groups you should switch it on, because it makes sense to use groups on the helper for the weighting. It is possible to extract clothes from the helper (even when masked) as long as it is not deleted.
* '''Load normal base.obj file'''
This is the way using the predefined base.obj file which can be downloaded from github. MakeClothes reads the wavefront file. Vertex groups are created according to the .obj file. Disadvantage: this mesh is neither male nor female.
An exported wavefront mesh made by MakeHuman can be used as well (no alternative topology such as male muscled mesh, do not use smoothing and delete the extra eyes). It is possible to export it including the helpers. Unfortunately it has no vertex groups assigned. This must be done in Blender later.
* '''Load an mhx2 file'''
The body (no alternative topology, do not use smoothing and delete the extra eyes) used by mhx2 export can also be used as a base mesh. When you load it you have to select Override Exported Data and the mark Helper Geometry before importing it.
* '''Delete helpers'''
If a mesh is loaded and the helpers are not needed, the helpers can be deleted. In this case a vertex-group "body" is expected, all vertices belonging to other groups are deleted. If body is not available, nothing will be done.
== Tell MakeClothes the type of the object ==
[[File:Mc2_customprops.png|right]]
To create clothes, one object must be marked as human and at least one as clothes. If you work with more than one human, all others must be marked as clothes temporarily. When you mark one object as human a previously marked human will automatically be marked as clothes. The custom properties of the object will hold this information.
== Create simple clothes (extract from helper) ==
If a helper mesh is available it is possible to use this helper as a basis for the clothes. Especially for beginners (but also for the advanced for a good weighting) this could be helpful.
[[File:MC2_extract_helpers.png]]
The normal way would be to extract either "Tights" or "Skirt". Extract means that a copy of a helper part is prepared for your work. The second step would then be to modify this geometry for your own purposes.
== Assign vertex-groups ==
Vertex-groups are a number of vertices of a mesh forming a group with vertex-group name. These groups are used to determine relations between e.g. vertices on the body and vertices on an item of clothing. The simplest way would be:
* create a group "clothing" on the human
* assign all vertices of the human to this group
* create a group "clothing" on your item of clothing
* assign all vertices of the item of clothing to this group
This might work, but it is not a good way. There are many risks.
So here are examples from some of the assets I did: [[Documentation:MakeClothes Vertex-Groups|Create vertex-groups]]
== Test the human mesh ==
The human loaded with one of the methods usually should not have problems. Nevertheless there is a small test available to check the human. This test is also automatically done when clothes are created.
* the number of human objects must be one
* there must be one vertex group on the human
* no vertex belongs to an non-existing group
[[File:Mc2_checkhuman.png]]
== Test the clothes ==
Clothes need a bit more testing.
* clothes should not have stray geometry. These are single vertices or edges. If this problem appears, change into edit mode. The vertices are pre-selected. Simply delete them or change geometry otherwise.
* maximum number of vertices per face is 4. If you have more than this, these faces are selected and must be changed.
* clothes can be quad or triangle meshes. A mixture is not allowed. The process assumes a mesh type and selects the faces to be changed.
* the process tests if at least one vertex group is available
* all vertices must belong to one vertex group. Vertices belonging to no group are selected and can be changed in edit mode.
* all vertices must belong to only one vertex group. Vertices belonging to more than one group are selected and can be changed in edit mode.
* no vertex belongs to an non-existing group
* a test is done, how many edges belong to one vertex. Typically quad meshes with a low pole-count will have better geometric qualities. This is only a warning. The vertices with more than 8 neighbor vertices will be selected and can be changed in edit mode.
[[File:Mc2_checkclothes.png]]
== Common settings ==
The common settings will provide the '''license''' and the name of the '''author''', which will be used for all the clothes generated with this file.
* '''Overwrite existing files''' is switched off. The name of the item of clothing is used as a filename. If it is necessary to overwrite an existing object, the box must be marked.
* '''Modifiers are allowed'''. Typically the mirror modifier may make sense. Be careful with e.g. subdivision surface, because it may produce a huge number of vertices. When the clothes should be designed with subdivision surface but created without, switch off "Allow Modifiers"
== Produce clothes ==
The main features of creating clothes are:
* '''name''': this is the name of the item of clothing, also the filename
* '''comment''': a short optional description
* '''tags''': a list of predefined and own tags as a search criteria for MakeHuman
[[File:Mc2_tagselector.png]]
* '''zdepth''': determines the order of clothes. Lower values are used for clothes near the body, higher values for parts far away. This will be used to hide clothes near the body. A rule of thumb is to start with underwear at 31; normal clothes (pants, t-shirt, shoes) use a default value of 50 and clothes like a coat usually use high values like 63. The following illustration shows the effect for a character equipped with ballet clothes. It also demonstrates what is happening when all values are equal.
[[File:Mc2_zdepth.png]]
* '''scaling''': select the part of the body which is important for the scaling. Most likely torso for a t-shirt, head for a hat etc.
* '''delete-group''': it is a good method to delete vertices on the body if clothes are not transparent. This avoids bleeding through, that is, that vertices that should be "inside" suddenly appear outside of the clothes (see: [[Documentation:MakeClothes Delete-Groups|use delete-groups]]). All vertices not to be displayed should be selected on the body (not helper) and assigned to a vertex on the human. The name of this group must be inserted in the box. If more than one piece of cloth is created, they all can have a different delete-group on the same human.
* '''use MakeSkin''': without MakeSkin a simple material is saved for the piece of cloth (white base color). Otherwise the material file of the plugin [[Documentation:MaterialsMakeSkin|MakeSkin]] is used. See "Materials" below.
* '''subdir''': the directory inside where the clothes will be created.
== Materials ==
Most of the clothes will need a texture. Before the texture can be used the piece of cloth must be unwrapped. The best way is to create seams in Blender where the real seams are.
Unwrap the clothes in any case. The output of this process is a UV-Map, which will be used to determine the coordinates of each vertex on the texture.
If the simple standard material should not be used for export, a material can be attached with [[Documentation:MaterialsMakeSkin|MakeSkin]]
<will be changed later with some advice how to do good textures etc.>
== Creating of own clothes ==
To create clothes select the item of clothing and press produce clothes. The tests "check clothes" and "check human" are processed and also an additional test about matching vertex groups is done. If everything is okay, the clothes can be loaded in MakeHuman.
<will contain a lot of tips & tricks later>
== Usage of shape keys and targets, create heels ==
A special female body with shape keys is added as a predefined mesh to allow creation of heels. For advanced users: [[Documentation:CreateHeels|this is the way it works]]
== Importing existing clothes ==
It is possible to load an existing mhclo-file from the data folder of MakeHuman. It's best to load the human mesh before, if you want to change geometry. The clothes will also fit to a different body, but in this case they will not look as good as on the body they were made for. But the advantage is that, e.g., clothes created for males can be used as a base for a female version.
When clothes are imported, most of fields are filled in by the process and the delete-group is marked on the human (in case a human is available).
The material is also loaded, when MakeSkin is available. The illustration shows the result of the import of the "lace_up_blouse". A material called "lace_up_blouse" was created in blender. All available information is imported and displayed. This includes the special parameters only used in MakeHuman (Backface culling, Transparent, LitSphere etc.). So also the material setup could be used for a new item of clothing.
[[File:Mc2_importclothes.png]]
113d35408935f3776fb5349affc8bcb5fe5e8392
1885
1879
2020-09-28T03:12:11Z
Mtknife
35
Replaced "piece of cloth" with "item of clothing"--one item of clothing can be made of multiple pieces of cloth, and I don't think you want to give the impression that a single piece of clothing can have multiple materials, one for each piece of cloth.
wikitext
text/x-wiki
Caution: this file is still under construction :)
= Makeclothes Version 2 =
[[File:makeclothestitle.jpg]]
MakeClothes2 is used to create clothes for MakeHuman characters. It could be installed as a single plugin, but at least MakeSkin should be used, if the creation of material is also part of your work. Furthermore it is able to work with the human base mesh provided by MPFB.
The term "clothes" is not really correct, the program creates any kind of mesh which can be used for a character generated by MakeHuman. This also includes hair and different tongue or a new topology for the skin. To use MakeClothes in Blender knowledge of Blender itself is needed.
== Notation ==
To understand the process, a short summary of terms used in MakeHuman:
* '''base mesh''' and '''helper mesh''': The base mesh is the standard body mesh including a helper-mesh used in MakeHuman. ([[Documentation:Basemesh|detailed information]])
* '''proxies''': in a way all meshes projected on the body are proxies. Do differentiate between a piece of cloth and an alternative mesh for the skin, the alternative mesh is called a '''topology'''.
* '''topologies''': special case for a proxy used as a mesh for the skin. Typically used for e.g. a different resolution or to add genitals.
* '''smoothing''': MakeHuman may use smoothing on a base mesh. This results in a mesh with 4 times as many vertices. <u>This mesh cannot be used for MakeClothes.</u>
* '''clothes''': clothes will be all meshes MakeClothes is able to create. Hair and body proxies included.
* '''posing''': the standard "unposed" base mesh is presented in an A-Pose. Other poses are T-Pose or a pose which is user generated. Typically these poses are created with the standard skeleton. Shapekeys can be used as a special pose too.
* '''weighting''': when a character is posed the skin but also the clothes should follow the bones. So weights are added to each vertex. These weights determine how much a bone will be followed. MakeClothes uses a similar construction, since the clothes follow vertices on the helper or base mesh.
[[File:Mc2_meshes_to_use.png]]
Only base mesh and helper can be used to create clothes.
== Limits ==
Makeclothes has certain limits according to the internal structure of MakeHuman
* The mesh for the clothes can either be done with quads or with triangles. No mixture allowed. Advantage for quads is a smoother design with a later usage of subdivision surface algorithm (smoothing). Triangles are normally used for e.g. sculpting or when you work with 3rd party meshes.
* only one material for one item of clothing is allowed in MakeHuman
* each vertex of a item of clothing uses 3 vertices on body or helper to find its position according to the human created in MakeHuman
* each vertex of a item of clothing needs to be in one (and only one) vertex group. A group of the same name must be created on the human
* it is possible to create more than one item of clothing with one human
* only one human is allowed when clothes are created. So only one object is "marked as human". However, if you need more than one base mesh, all others can be marked as clothes
[[File:Mc2_makeclothes2.png|right]]
== How to load a human ==
MakeHuman uses a mesh called hm08. Makeclothes is prepared to deal with other meshes as well for future versions. When the mesh is changed it must be changed in MakeHuman as well. So this documentation will only consider the hm08 base mesh.
To create clothes you can create them directly on the body or on the helper mesh. For underwear the nude body is best choice, but for a coat the helper mesh will be used. A good method for e.g. a skirt or coat is to design the piece of cloth on the nude body and then use the helper mesh for weighting in the end.
There are currently a few possibilities to load a human. The simplest way is to load a predefined one or to use MPFB, both have some vertex-groups assigned:
* '''Load a predefined human'''
The easiest way directly supported by MakeClothes is to work with the predefined meshes. MakeClothes contains 2 Blend-files which are placed in the "humans" sub-directory of the plugin (male.blend and female.blend). When MakeClothes starts, these blend-files are scanned once and names of the objects starting with "mh_" are presented in a menu. To work with it, select a mesh and press "Import predefined human" button.
[[File:Mc2_loadpredef.png]]
In case of a helper mesh, the parts of the mesh are assigned to different vertex-groups to allow an easy selection and use different colors.
After the mesh is loaded these buttons disappear, because one human is already loaded. The loaded mesh is automatically marked as a human. To load another human either delete the human or mark your human as clothes.
* '''Load the human via MPFB'''
Makehuman Plugin for Blender also can provide a base mesh. Be aware that the best base is an unmodified male or female mesh, because the clothes will fit most of the characters. Do not use alternative topologies in MakeHuman. If you import an human this is already the base mesh. It can be done easily by doing these steps:
[[File:Mc2_loadhumanmfb.png]]
The default preset of MakeClothes inside MPFB will mask the helper. It is possible, to switch the masking on or off. To do that, press the button marked in the illustration:
[[File:Mc2_togglehelper.png]]
Typically the helper will be switched off, when the clothes are modelled. When you assign the vertex groups you should switch it on, because it makes sense to use groups on the helper for the weighting. It is possible to extract clothes from the helper (even when masked) as long as it is not deleted.
* '''Load normal base.obj file'''
This is the way using the predefined base.obj file which can be downloaded from github. MakeClothes reads the wavefront file. Vertex groups are created according to the .obj file. Disadvantage: this mesh is neither male nor female.
An exported wavefront mesh made by MakeHuman can be used as well (no alternative topology such as male muscled mesh, do not use smoothing and delete the extra eyes). It is possible to export it including the helpers. Unfortunately it has no vertex groups assigned. This must be done in Blender later.
* '''Load an mhx2 file'''
The body (no alternative topology, do not use smoothing and delete the extra eyes) used by mhx2 export can also be used as a base mesh. When you load it you have to select Override Exported Data and the mark Helper Geometry before importing it.
* '''Delete helpers'''
If a mesh is loaded and the helpers are not needed, the helpers can be deleted. In this case a vertex-group "body" is expected, all vertices belonging to other groups are deleted. If body is not available, nothing will be done.
== Tell MakeClothes the type of the object ==
[[File:Mc2_customprops.png|right]]
To create clothes, one object must be marked as human and at least one as clothes. If you work with more than one human, all others must be marked as clothes temporarily. When you mark one object as human a previously marked human will automatically be marked as clothes. The custom properties of the object will hold this information.
== Create simple clothes (extract from helper) ==
If a helper mesh is available it is possible to use this helper as a basis for the clothes. Especially for beginners (but also for the advanced for a good weighting) this could be helpful.
[[File:MC2_extract_helpers.png]]
The normal way would be to extract either "Tights" or "Skirt". Extract means that a copy of a helper part is prepared for your work. The second step would then be to modify this geometry for your own purposes.
== Assign vertex-groups ==
Vertex-groups are a number of vertices of a mesh forming a group with vertex-group name. These groups are used to determine relations between e.g. vertices on the body and vertices on an item of clothing. The simplest way would be:
* create a group "clothing" on the human
* assign all vertices of the human to this group
* create a group "clothing" on your item of clothing
* assign all vertices of the item of clothing to this group
This might work, but it is not a good way. There are many risks.
So here are examples from some of the assets I did: [[Documentation:MakeClothes Vertex-Groups|Create vertex-groups]]
== Test the human mesh ==
The human loaded with one of the methods usually should not have problems. Nevertheless there is a small test available to check the human. This test is also automatically done when clothes are created.
* the number of human objects must be one
* there must be one vertex group on the human
* no vertex belongs to an non-existing group
[[File:Mc2_checkhuman.png]]
== Test the clothes ==
Clothes need a bit more testing.
* clothes should not have stray geometry. These are single vertices or edges. If this problem appears, change into edit mode. The vertices are pre-selected. Simply delete them or change geometry otherwise.
* maximum number of vertices per face is 4. If you have more than this, these faces are selected and must be changed.
* clothes can be quad or triangle meshes. A mixture is not allowed. The process assumes a mesh type and selects the faces to be changed.
* the process tests if at least one vertex group is available
* all vertices must belong to one vertex group. Vertices belonging to no group are selected and can be changed in edit mode.
* all vertices must belong to only one vertex group. Vertices belonging to more than one group are selected and can be changed in edit mode.
* no vertex belongs to an non-existing group
* a test is done, how many edges belong to one vertex. Typically quad meshes with a low pole-count will have better geometric qualities. This is only a warning. The vertices with more than 8 neighbor vertices will be selected and can be changed in edit mode.
[[File:Mc2_checkclothes.png]]
== Common settings ==
The common settings will provide the '''license''' and the name of the '''author''', which will be used for all the clothes generated with this file.
* '''Overwrite existing files''' is switched off. The name of the item of clothing is used as a filename. If it is necessary to overwrite an existing object, the box must be marked.
* '''Modifiers are allowed'''. Typically the mirror modifier may make sense. Be careful with e.g. subdivision surface, because it may produce a huge number of vertices. When the clothes should be designed with subdivision surface but created without, switch off "Allow Modifiers"
== Produce clothes ==
The main features of creating clothes are:
* '''name''': this is the name of the item of clothing, also the filename
* '''comment''': a short optional description
* '''tags''': a list of predefined and own tags as a search criteria for MakeHuman
[[File:Mc2_tagselector.png]]
* '''zdepth''': determines the order of clothes. Lower values are used for clothes near the body, higher values for parts far away. This will be used to hide clothes near the body. A rule of thumb is to start with underwear at 31; normal clothes (pants, t-shirt, shoes) use a default value of 50 and clothes like a coat usually use high values like 63. The following illustration shows the effect for a character equipped with ballet clothes. It also demonstrates what is happening when all values are equal.
[[File:Mc2_zdepth.png]]
* '''scaling''': select the part of the body which is important for the scaling. Most likely torso for a t-shirt, head for a hat etc.
* '''delete-group''': it is a good method to delete vertices on the body if clothes are not transparent. This avoids bleeding through, that is, that vertices that should be "inside" suddenly appear outside of the clothes (see: [[Documentation:MakeClothes Delete-Groups|use delete-groups]]). All vertices not to be displayed should be selected on the body (not helper) and assigned to a vertex on the human. The name of this group must be inserted in the box. If more than one piece of cloth is created, they all can have a different delete-group on the same human.
* '''use MakeSkin''': without MakeSkin a simple material is saved for the piece of cloth (white base color). Otherwise the material file of the plugin [[Documentation:MaterialsMakeSkin|MakeSkin]] is used. See "Materials" below.
* '''subdir''': the directory inside where the clothes will be created.
== Materials ==
Most of the clothes will need a texture. Before the texture can be used the piece of cloth must be unwrapped. The best way is to create seams in Blender where the real seams are.
Unwrap the clothes in any case. The output of this process is a UV-Map, which will be used to determine the coordinates of each vertex on the texture.
If the simple standard material should not be used for export, a material can be attached with [[Documentation:MaterialsMakeSkin|MakeSkin]]
<will be changed later with some advice how to do good textures etc.>
== Creating of own clothes ==
To create clothes select the item of clothing and press produce clothes. The tests "check clothes" and "check human" are processed and also an additional test about matching vertex groups is done. If everything is okay, the clothes can be loaded in MakeHuman.
<will contain a lot of tips & tricks later>
== Usage of shape keys and targets, create heels ==
A special female body with shape keys is added as a predefined mesh to allow creation of heels. For advanced users: [[Documentation:CreateHeels|this is the way it works]]
== Importing existing clothes ==
It is possible to load an existing mhclo-file from the data folder of MakeHuman. It's best to load the human mesh before, if you want to change geometry. The clothes will also fit to a different body, but in this case they will not look as good as on the body they were made for. But the advantage is that, e.g., clothes created for males can be used as a base for a female version.
When clothes are imported, most of fields are filled in by the process and the delete-group is marked on the human (in case a human is available).
The material is also loaded, when MakeSkin is available. The illustration shows the result of the import of the "lace_up_blouse". A material called "lace_up_blouse" was created in blender. All available information is imported and displayed. This includes the special parameters only used in MakeHuman (Backface culling, Transparent, LitSphere etc.). So also the material setup could be used for a new item of clothing.
[[File:Mc2_importclothes.png]]
78fa7c7cf27b1764dd7a349c2223ee4b8d1640b5
1879
1876
2020-09-26T13:55:10Z
Punkduck
38
wikitext
text/x-wiki
Caution: this file is still under construction :)
= Makeclothes Version 2 =
[[File:makeclothestitle.jpg]]
MakeClothes2 is used to create clothes for MakeHuman characters. It could be installed as a single plugin, but at least MakeSkin should be used, if the creation of material is also part of your work. Furthermore it is able to work with the human base mesh provided by MPFB.
The term "clothes" is not really correct, the program creates any kind of mesh which can be used for a character generated by MakeHuman. This also includes hair and different tongue or a new topology for the skin. To use MakeClothes in Blender knowledge of Blender itself is needed.
== Notation ==
To understand the process, a short summary of terms used in MakeHuman:
* '''base mesh''' and '''helper mesh''': The base mesh is the standard body mesh including a helper-mesh used in MakeHuman. ([[Documentation:Basemesh|detailed information]])
* '''proxies''': in a way all meshes projected on the body are proxies. Do differentiate between a piece of cloth and an alternative mesh for the skin, the alternative mesh is called a '''topology'''.
* '''topologies''': special case for a proxy used as a mesh for the skin. Typically used for e.g. a different resolution or to add genitals.
* '''smoothing''': MakeHuman may use smoothing on a base mesh. This results in a mesh with 4 times as many vertices. <u>This mesh cannot be used for MakeClothes.</u>
* '''clothes''': clothes will be all meshes MakeClothes is able to create. Hair and body proxies included.
* '''posing''': the standard "unposed" base mesh is presented in an A-Pose. Other poses are T-Pose or a pose which is user generated. Typically these poses are created with the standard skeleton. Shapekeys can be used as a special pose too.
* '''weighting''': when a character is posed the skin but also the clothes should follow the bones. So weights are added to each vertex. These weights determine how much a bone will be followed. MakeClothes uses a similar construction, since the clothes follow vertices on the helper or base mesh.
[[File:Mc2_meshes_to_use.png]]
Only base mesh and helper can be used to create clothes.
== Limits ==
Makeclothes has certain limits according to the internal structure of MakeHuman
* The mesh for the clothes can either be done with quads or with triangles. No mixture allowed. Advantage for quads is a smoother design with a later usage of subdivision surface algorithm (smoothing). Triangles are normally used for e.g. sculpting or when you work with 3rd party meshes.
* only one material for one piece of cloth is allowed in MakeHuman
* each vertex of a piece of cloth uses 3 vertices on body or helper to find its position according to the human created in MakeHuman
* each vertex of a piece of cloth needs to be in one (and only one) vertex group. A group of the same name must be created on the human
* it is possible to create more than one piece of cloth with one human
* only one human is allowed when clothes are created. So only one object is "marked as human". However, if you need more than one base mesh, all others can be marked as clothes
[[File:Mc2_makeclothes2.png|right]]
== How to load a human ==
MakeHuman uses a mesh called hm08. Makeclothes is prepared to deal with other meshes as well for future versions. When the mesh is changed it must be changed in MakeHuman as well. So this documentation will only consider the hm08 base mesh.
To create clothes you can create them directly on the body or on the helper mesh. For underwear the nude body is best choice, but for a coat the helper mesh will be used. A good method for e.g. a skirt or coat is to design the piece of cloth on the nude body and then use the helper mesh for weighting in the end.
There are currently a few possibilities to load a human. The simplest way is to load a predefined one or to use MPFB, both have some vertex-groups assigned:
* '''Load a predefined human'''
The easiest way directly supported by MakeClothes is to work with the predefined meshes. MakeClothes contains 2 Blend-files which are placed in the "humans" sub-directory of the plugin (male.blend and female.blend). When MakeClothes starts, these blend-files are scanned once and names of the objects starting with "mh_" are presented in a menu. To work with it, select a mesh and press "Import predefined human" button.
[[File:Mc2_loadpredef.png]]
In case of a helper mesh, the parts of the mesh are assigned to different vertex-groups to allow an easy selection and use different colors.
After the mesh is loaded these buttons disappear, because one human is already loaded. The loaded mesh is automatically marked as a human. To load another human either delete the human or mark your human as clothes.
* '''Load the human via MPFB'''
Makehuman Plugin for Blender also can provide a base mesh. Be aware that the best base is an unmodified male or female mesh, because the clothes will fit most of the characters. Do not use alternative topologies in MakeHuman. If you import an human this is already the base mesh. It can be done easily by doing these steps:
[[File:Mc2_loadhumanmfb.png]]
The default preset of MakeClothes inside MPFB will mask the helper. Masking means, that it is possible, to switch the masking on or off. To do that, press the button marked in the illustration:
[[File:Mc2_togglehelper.png]]
Typically the helper will be switched off, when the clothes are modelled. When you assign the vertex groups you should switch it on, because it makes sense to use groups on the helper for the weighting. It is possible to extract clothes from the helper (even when masked) as long as it is not deleted.
* '''Load normal base.obj file'''
This is the way using the predefined base.obj file which can be downloaded from github. MakeClothes reads the wavefront file. Vertex groups are created according to the .obj file. Disadvantage: this mesh is neither male nor female.
An exported wavefront mesh made by MakeHuman can be used as well (no alternative topology such as male muscled mesh, do not use smoothing and delete the extra eyes). It is possible to export it including the helpers. Unfortunately it has no vertex groups assigned. This must be done in Blender later.
* '''Load an mhx2 file'''
The body (no alternative topology, do not use smoothing and delete the extra eyes) used by mhx2 export can also be used as a base mesh. When you load it you have to select Override Exported Data and the mark Helper Geometry before importing it.
* '''Delete helpers'''
If a mesh is loaded and the helpers are not needed, the helpers can be deleted. In this case a vertex-group "body" is expected, all vertices belonging to other groups are deleted. If body is not available, nothing will be done.
== Tell MakeClothes the type of the object ==
[[File:Mc2_customprops.png|right]]
To create clothes, one object must be marked as human and at least one as clothes. If you work with more than one human, all others must be marked as clothes temporarily. When you mark one object as human a previously marked human will automatically be marked as clothes. The custom properties of the object will held this information.
== Create simple clothes (extract from helper) ==
In case a helper mesh is available it is possible to use this helper as a basis for the clothes. Especially for beginners (but also for the advanced for a good weighting) this could be helpful.
[[File:MC2_extract_helpers.png]]
The normal way would be to extract either "Tights" or "Skirt". Extract means, that a copy of a helper part is prepared for your work. The second step would then be to modify this geometry for your own purposes.
== Assign vertex-groups ==
Vertex-groups are a number of vertices of a mesh forming a group with vertex-group name. These groups are used to determine relations between e.g. vertices on the body and vertices on a piece of cloth. The simplest way would be:
* create a group "cloth" on the human
* assign all vertices of the human to this group
* create a group "cloth" on your piece of cloth
* assign all vertices of the piece of cloth to this group
This might work, but it is not a good way. There are many risks.
So here are examples from some of the assets I did: [[Documentation:MakeClothes Vertex-Groups|Create vertex-groups]]
== Test the human mesh ==
The human loaded with one of the methods usually should not have problems. Nevertheless there is a small test available to check the human. This test is also automatically done when clothes are created.
* the number of human objects must be one
* there must be one vertex group on the human
* no vertex belongs to an non-existing group
[[File:Mc2_checkhuman.png]]
== Test the clothes ==
Clothes need a bit more testing.
* clothes should not have stray geometry. These are single vertices or edges. If this problem appears, change into edit mode. The vertices are pre-selected. Simply delete them or change geometry otherwise.
* maximum number of vertices per face is 4. If you have more than this, these faces are selected and must be changed.
* clothes can be quad or triangle meshes. A mixture is not allowed. The process assumes a mesh type and selects the faces to be changed.
* the process tests if at least one vertex group is available
* all vertices must belong to one vertex group. Vertices belonging to no group are selected and can be changed in edit mode.
* all vertices must belong to only one vertex group. Vertices belonging to more than one group are selected and can be changed in edit mode.
* no vertex belongs to an non-existing group
* a test is done, how many edges belong to one vertex. Typically quad meshes with a low pole-count will have better geometric qualities. This is only a warning. The vertices with more than 8 neighbor vertices will be selected and can be changed in edit mode.
[[File:Mc2_checkclothes.png]]
== Common settings ==
The common settings will provide the '''license''' and the name of the '''author''', which will be used for all the clothes generated with this file.
* '''Overwrite existing files''' is switched off. The name of the piece of cloth is used as a filename. If it is necessary to overwrite an existing object, the box must be marked.
* '''Modifiers are allowed'''. Typically the mirror modifier may make sense. Be careful with e.g. subdivision surface, because it may produce a huge number of vertices. When the clothes should be designed with subdivision surface but created without, switch off "Allow Modifiers"
== Produce clothes ==
The main features of creating clothes are:
* '''name''': this is the name of the piece of cloth, also the filename
* '''comment''': a short optional description
* '''tags''': a list of predefined and own tags as a search criteria for MakeHuman
[[File:Mc2_tagselector.png]]
* '''zdepth''': determines the order of clothes. Lower values are used for clothes near the body, higher values for parts far away. This will be used to hide clothes near the body. A rule of thumb is to start with underware at 31, normal clothes (pants, t-shirt, shoes) use a default value of 50 and clothes like a coat usually use high values like 63. The following illustration shows the effect for a character equipped with ballet clothes. It also demonstrates what is happening when all values are equal.
[[File:Mc2_zdepth.png]]
* '''scaling''': select the part of the body which is important for the scaling. Most likely torso for a t-shirt, head for a hat etc.
* '''delete-group''': it is a good method to delete vertices on the body if clothes are not transparent. This avoids bleeding through, that is, that vertices that should be "inside" suddenly appear outside of the clothes (see: [[Documentation:MakeClothes Delete-Groups|use delete-groups]]). All vertices not to be displayed should be selected on the body (not helper) and assigned to a vertex on the human. The name of this group must be inserted in the box. If more than one piece of cloth is created, they all can have a different delete-group on the same human.
* '''use MakeSkin''': without MakeSkin a simple material is saved for the piece of cloth (white base color). Otherwise the material file of the plugin [[Documentation:MaterialsMakeSkin|MakeSkin]] is used. See "Materials" below.
* '''subdir''': the directory inside where the clothes will be created.
== Materials ==
Most of the clothes will need a texture. Before the texture can be used the piece of cloth must be unwrapped. Best way is to create seams in Blender, where the real seams are.
Unwrap the clothes in any case. The output of this process is a UV-Map, which will be used to determine the coordinates of each vertex on the texture.
If the simple standard material should not be used for export, a material can be attached with [[Documentation:MaterialsMakeSkin|MakeSkin]]
<will be changed later with some advice how to do good textures etc.>
== Creating of own clothes ==
To create clothes select the piece of cloth and press produce clothes. The tests "check clothes" and "check human" are processed and also an additional test about matching vertex groups is done. If everything is okay, the clothes can be loaded in MakeHuman.
<will contain a lot of tips & tricks later>
== Usage of shape keys and targets, create heels ==
A special female body with shape keys is added as a predefined mesh to allow creation of heels. For advanced users: [[Documentation:CreateHeels|this is the way it works]]
== Importing existent clothes ==
It is possible to load an existent mhclo-file from the data folder of MakeHuman. Best is to load the human mesh before, if you want to change geometry. The clothes will also fit to a different body, but in this case they will not look as good as on the body, they were made for. But the advantage is, that e.g. clothes created for males can be used as a base for a female version.
When clothes are imported, Most of fields are filled in by the process and the delete-group is marked on the human (in case a humans is available).
The material is also loaded, when MakeSkin is available. The illustration shows the result of the import of the "lace_up_blouse". A material called "lace_up_blouse" was created in blender. All available information is imported and displayed. This includes the special parameters only used in MakeHuman (Backface culling, Transparent, LitSphere etc.). So also the material setup could be used for a new piece of cloth.
[[File:Mc2_importclothes.png]]
bede7194f5d705d313c03445908b28c4818f74dd
1876
1871
2020-09-13T15:53:33Z
Punkduck
38
wikitext
text/x-wiki
Caution: this file is still under construction :)
= Makeclothes Version 2 =
[[File:makeclothestitle.jpg]]
MakeClothes2 is used to create clothes for MakeHuman characters. It could be installed as a single plugin, but at least MakeSkin should be used, if the creation of material is also part of your work. Furthermore it is able to work with the human base mesh provided by MPFB.
The term "clothes" is not really correct, the program creates any kind of mesh which can be used for a character generated by MakeHuman. This also includes hair and different tongue or a new topology for the skin. To use MakeClothes in Blender knowledge of Blender itself is needed.
== Notation ==
To understand the process, a short summary of terms used in MakeHuman:
* '''base mesh''' and '''helper mesh''': The base mesh is the standard body mesh including a helper-mesh used in MakeHuman. ([[Documentation:Basemesh|detailed information]])
* '''proxies''': in a way all meshes projected on the body are proxies. Do differentiate between a piece of cloth and an alternative mesh for the skin, the alternative mesh is called a '''topology'''.
* '''topologies''': special case for a proxy used as a mesh for the skin. Typically used for e.g. a different resolution or to add genitals.
* '''smoothing''': MakeHuman may use smoothing on a base mesh. This results in a mesh with 4 times as many vertices. <u>This mesh cannot be used for MakeClothes.</u>
* '''clothes''': clothes will be all meshes MakeClothes is able to create. Hair and body proxies included.
* '''posing''': the standard "unposed" base mesh is presented in an A-Pose. Other poses are T-Pose or a pose which is user generated. Typically these poses are created with the standard skeleton. Shapekeys can be used as a special pose too.
* '''weighting''': when a character is posed the skin but also the clothes should follow the bones. So weights are added to each vertex. These weights determine how much a bone will be followed. MakeClothes uses a similar construction, since the clothes follow vertices on the helper or base mesh.
[[File:Mc2_meshes_to_use.png]]
Only base mesh and helper can be used to create clothes.
== Limits ==
Makeclothes has certain limits according to the internal structure of MakeHuman
* The mesh for the clothes can either be done with quads or with triangles. No mixture allowed. Advantage for quads is a smoother design with a later usage of subdivision surface algorithm (smoothing). Triangles are normally used for e.g. sculpting or when you work with 3rd party meshes.
* only one material for one piece of cloth is allowed in MakeHuman
* each vertex of a piece of cloth uses 3 vertices on body or helper to find its position according to the human created in MakeHuman
* each vertex of a piece of cloth needs to be in one (and only one) vertex group. A group of the same name must be created on the human
* it is possible to create more than one piece of cloth with one human
* only one human is allowed when clothes are created. So only one object is "marked as human". However, if you need more than one base mesh, all others can be marked as clothes
[[File:Mc2_makeclothes2.png|right]]
== How to load a human ==
MakeHuman uses a mesh called hm08. Makeclothes is prepared to deal with other meshes as well for future versions. When the mesh is changed it must be changed in MakeHuman as well. So this documentation will only consider the hm08 base mesh.
To create clothes you can create them directly on the body or on the helper mesh. For underwear the nude body is best choice, but for a coat the helper mesh will be used. A good method for e.g. a skirt or coat is to design the piece of cloth on the nude body and then use the helper mesh for weighting in the end.
There are currently a few possibilities to load a human. The simplest way is to load a predefined one or to use MPFB, both have some vertex-groups assigned:
* '''Load a predefined human'''
Blend-files which are placed in the "humans" sub-directory of the makeclothes plugin can be used directly. When MakeClothes starts, these blend-files are scanned once and names of the objects starting with "mh_" are presented in a menu. The selected mesh is appended by pressing the "Import predefined human" button.
[[File:Mc2_loadpredef.png]]
In case of a helper mesh, the parts of the mesh are assigned to different vertex-groups to allow an easy selection and use different colors.
After the mesh is loaded these buttons disappear, because one human is already loaded. The loaded mesh is automatically marked as a human. To load another human either delete the human or mark your human as clothes.
{| style="color:green; background-color:#ffffcc;"
|-
|The files of the pre-defined humans are not yet included in the repository, this will happen soon, different meshes will be provided, also t-posed ones. If you want to work with that already:
|-
|create folder humans in Blender directory scripts/addons/makeclothes
|-
|unzip this file [http://www.makehumancommunity.org/forum/download/file.php?id=8095 Zip-File with male and female meshes]
|-
|move both blend files into this folder.
|-
|}
* '''Load the human via MPFB'''
Makehuman Plugin for Blender also can provide a base mesh. Be aware that the best base is an unmodified male or female mesh, because the clothes will fit most of the characters. Do not use alternative topologies in MakeHuman. If you import an human this is already the base mesh. It can be done easily by doing these steps:
[[File:Mc2_loadhumanmfb.png]]
The default preset of MakeClothes inside MPFB will mask the helper. Masking means, that it is possible, to switch the masking on or off. To do that, press the button marked in the illustration:
[[File:Mc2_togglehelper.png]]
Typically the helper will be switched off, when the clothes are modelled. When you assign the vertex groups you should switch it on, because it makes sense to use groups on the helper for the weighting. It is possible to extract clothes from the helper (even when masked) as long as it is not deleted.
* '''Load normal base.obj file'''
This is the way using the predefined base.obj file which can be downloaded from github. MakeClothes reads the wavefront file. Vertex groups are created according to the .obj file. Disadvantage: this mesh is neither male nor female.
An exported wavefront mesh made by MakeHuman can be used as well (no alternative topology such as male muscled mesh, do not use smoothing and delete the extra eyes). It is possible to export it including the helpers. Unfortunately it has no vertex groups assigned. This must be done in Blender later.
* '''Load an mhx2 file'''
The body (no alternative topology, do not use smoothing and delete the extra eyes) used by mhx2 export can also be used as a base mesh. When you load it you have to select Override Exported Data and the mark Helper Geometry before importing it.
* '''Delete helpers'''
If a mesh is loaded and the helpers are not needed, the helpers can be deleted. In this case a vertex-group "body" is expected, all vertices belonging to other groups are deleted. If body is not available, nothing will be done.
== Tell MakeClothes the type of the object ==
[[File:Mc2_customprops.png|right]]
To create clothes, one object must be marked as human and at least one as clothes. If you work with more than one human, all others must be marked as clothes temporarily. When you mark one object as human a previously marked human will automatically be marked as clothes. The custom properties of the object will held this information.
== Create simple clothes (extract from helper) ==
In case a helper mesh is available it is possible to use this helper as a basis for the clothes. Especially for beginners (but also for the advanced for a good weighting) this could be helpful.
[[File:MC2_extract_helpers.png]]
The normal way would be to extract either "Tights" or "Skirt". Extract means, that a copy of a helper part is prepared for your work. The second step would then be to modify this geometry for your own purposes.
== Assign vertex-groups ==
Vertex-groups are a number of vertices of a mesh forming a group with vertex-group name. These groups are used to determine relations between e.g. vertices on the body and vertices on a piece of cloth. The simplest way would be:
* create a group "cloth" on the human
* assign all vertices of the human to this group
* create a group "cloth" on your piece of cloth
* assign all vertices of the piece of cloth to this group
This might work, but it is not a good way. There are many risks.
So here are examples from some of the assets I did: [[Documentation:MakeClothes Vertex-Groups|Create vertex-groups]]
== Test the human mesh ==
The human loaded with one of the methods usually should not have problems. Nevertheless there is a small test available to check the human. This test is also automatically done when clothes are created.
* the number of human objects must be one
* there must be one vertex group on the human
* no vertex belongs to an non-existing group
[[File:Mc2_checkhuman.png]]
== Test the clothes ==
Clothes need a bit more testing.
* clothes should not have stray geometry. These are single vertices or edges. If this problem appears, change into edit mode. The vertices are pre-selected. Simply delete them or change geometry otherwise.
* maximum number of vertices per face is 4. If you have more than this, these faces are selected and must be changed.
* clothes can be quad or triangle meshes. A mixture is not allowed. The process assumes a mesh type and selects the faces to be changed.
* the process tests if at least one vertex group is available
* all vertices must belong to one vertex group. Vertices belonging to no group are selected and can be changed in edit mode.
* all vertices must belong to only one vertex group. Vertices belonging to more than one group are selected and can be changed in edit mode.
* no vertex belongs to an non-existing group
* a test is done, how many edges belong to one vertex. Typically quad meshes with a low pole-count will have better geometric qualities. This is only a warning. The vertices with more than 8 neighbor vertices will be selected and can be changed in edit mode.
[[File:Mc2_checkclothes.png]]
== Common settings ==
The common settings will provide the '''license''' and the name of the '''author''', which will be used for all the clothes generated with this file.
* '''Overwrite existing files''' is switched off. The name of the piece of cloth is used as a filename. If it is necessary to overwrite an existing object, the box must be marked.
* '''Modifiers are allowed'''. Typically the mirror modifier may make sense. Be careful with e.g. subdivision surface, because it may produce a huge number of vertices. When the clothes should be designed with subdivision surface but created without, switch off "Allow Modifiers"
== Produce clothes ==
The main features of creating clothes are:
* '''name''': this is the name of the piece of cloth, also the filename
* '''comment''': a short optional description
* '''tags''': a list of predefined and own tags as a search criteria for MakeHuman
[[File:Mc2_tagselector.png]]
* '''zdepth''': determines the order of clothes. Lower values are used for clothes near the body, higher values for parts far away. This will be used to hide clothes near the body. A rule of thumb is to start with underware at 31, normal clothes (pants, t-shirt, shoes) use a default value of 50 and clothes like a coat usually use high values like 63. The following illustration shows the effect for a character equipped with ballet clothes. It also demonstrates what is happening when all values are equal.
[[File:Mc2_zdepth.png]]
* '''scaling''': select the part of the body which is important for the scaling. Most likely torso for a t-shirt, head for a hat etc.
* '''delete-group''': it is a good method to delete vertices on the body if clothes are not transparent. This avoids bleeding through, that is, that vertices that should be "inside" suddenly appear outside of the clothes (see: [[Documentation:MakeClothes Delete-Groups|use delete-groups]]). All vertices not to be displayed should be selected on the body (not helper) and assigned to a vertex on the human. The name of this group must be inserted in the box. If more than one piece of cloth is created, they all can have a different delete-group on the same human.
* '''use MakeSkin''': without MakeSkin a simple material is saved for the piece of cloth (white base color). Otherwise the material file of the plugin [[Documentation:MaterialsMakeSkin|MakeSkin]] is used. See "Materials" below.
* '''subdir''': the directory inside where the clothes will be created.
== Materials ==
Most of the clothes will need a texture. Before the texture can be used the piece of cloth must be unwrapped. Best way is to create seams in Blender, where the real seams are.
Unwrap the clothes in any case. The output of this process is a UV-Map, which will be used to determine the coordinates of each vertex on the texture.
If the simple standard material should not be used for export, a material can be attached with [[Documentation:MaterialsMakeSkin|MakeSkin]]
<will be changed later with some advice how to do good textures etc.>
== Creating of own clothes ==
To create clothes select the piece of cloth and press produce clothes. The tests "check clothes" and "check human" are processed and also an additional test about matching vertex groups is done. If everything is okay, the clothes can be loaded in MakeHuman.
<will contain a lot of tips & tricks later>
== Special poses, heels etc. ==
<works with a special target in MakeHuman and a pose changed with shape key in MakeClothes>
== Importing existent clothes ==
It is possible to load an existent mhclo-file from the data folder of MakeHuman. Best is to load the human mesh before, if you want to change geometry. The clothes will also fit to a different body, but in this case they will not look as good as on the body, they were made for. But the advantage is, that e.g. clothes created for males can be used as a base for a female version.
When clothes are imported, Most of fields are filled in by the process and the delete-group is marked on the human (in case a humans is available).
The material is also loaded, when MakeSkin is available. The illustration shows the result of the import of the "lace_up_blouse". A material called "lace_up_blouse" was created in blender. All available information is imported and displayed. This includes the special parameters only used in MakeHuman (Backface culling, Transparent, LitSphere etc.). So also the material setup could be used for a new piece of cloth.
[[File:Mc2_importclothes.png]]
84f5cdac70e15c691defe608d2d6cf5053abc5ec
1871
1868
2020-09-13T14:49:56Z
Punkduck
38
wikitext
text/x-wiki
Caution: this file is still under construction :)
= Makeclothes Version 2 =
[[File:makeclothestitle.jpg]]
MakeClothes2 is used to create clothes for MakeHuman characters. It could be installed as a single plugin, but at least MakeSkin should be used, if the creation of material is also part of your work. Furthermore it is able to work with the human base mesh provided by MPFB.
The term "clothes" is not really correct, the program creates any kind of mesh which can be used for a character generated by MakeHuman. This also includes hair and different tongue or a new topology for the skin. To use MakeClothes in Blender knowledge of Blender itself is needed.
== Notation ==
To understand the process, a short summary of terms used in MakeHuman:
* '''base mesh''' and '''helper mesh''': The base mesh is the standard body mesh including a helper-mesh used in MakeHuman. ([[Documentation:Basemesh|detailed information]])
* '''proxies''': in a way all meshes projected on the body are proxies. Do differentiate between a piece of cloth and an alternative mesh for the skin, the alternative mesh is called a '''topology'''.
* '''topologies''': special case for a proxy used as a mesh for the skin. Typically used for e.g. a different resolution or to add genitals.
* '''smoothing''': MakeHuman may use smoothing on a base mesh. This results in a mesh with 4 times as many vertices. <u>This mesh cannot be used for MakeClothes.</u>
* '''clothes''': clothes will be all meshes MakeClothes is able to create. Hair and body proxies included.
* '''posing''': the standard "unposed" base mesh is presented in an A-Pose. Other poses are T-Pose or a pose which is user generated. Typically these poses are created with the standard skeleton. Shapekeys can be used as a special pose too.
* '''weighting''': when a character is posed the skin but also the clothes should follow the bones. So weights are added to each vertex. These weights determine how much a bone will be followed. MakeClothes uses a similar construction, since the clothes follow vertices on the helper or base mesh.
[[File:Mc2_meshes_to_use.png]]
Only base mesh and helper can be used to create clothes.
== Limits ==
Makeclothes has certain limits according to the internal structure of MakeHuman
* The mesh for the clothes can either be done with quads or with triangles. No mixture allowed. Advantage for quads is a smoother design with a later usage of subdivision surface algorithm (smoothing). Triangles are normally used for e.g. sculpting or when you work with 3rd party meshes.
* only one material for one piece of cloth is allowed in MakeHuman
* each vertex of a piece of cloth uses 3 vertices on body or helper to find its position according to the human created in MakeHuman
* each vertex of a piece of cloth needs to be in one (and only one) vertex group. A group of the same name must be created on the human
* it is possible to create more than one piece of cloth with one human
* only one human is allowed when clothes are created. So only one object is "marked as human". However, if you need more than one base mesh, all others can be marked as clothes
[[File:Mc2_makeclothes2.png|right]]
== How to load a human ==
MakeHuman uses a mesh called hm08. Makeclothes is prepared to deal with other meshes as well for future versions. When the mesh is changed it must be changed in MakeHuman as well. So this documentation will only consider the hm08 base mesh.
To create clothes you can create them directly on the body or on the helper mesh. For underwear the nude body is best choice, but for a coat the helper mesh will be used. A good method for e.g. a skirt or coat is to design the piece of cloth on the nude body and then use the helper mesh for weighting in the end.
There are currently a few possibilities to load a human. The simplest way is to load a predefined one or to use MPFB, both have some vertex-groups assigned:
* '''Load a predefined human'''
Blend-files which are placed in the "humans" sub-directory of the makeclothes plugin can be used directly. When MakeClothes starts, these blend-files are scanned once and names of the objects starting with "mh_" are presented in a menu. The selected mesh is appended by pressing the "Import predefined human" button.
[[File:Mc2_loadpredef.png]]
In case of a helper mesh, the parts of the mesh are assigned to different vertex-groups to allow an easy selection and use different colors.
After the mesh is loaded these buttons disappear, because one human is already loaded. The loaded mesh is automatically marked as a human. To load another human either delete the human or mark your human as clothes.
{| style="color:green; background-color:#ffffcc;"
|-
|The files of the pre-defined humans are not yet included in the repository, this will happen soon, different meshes will be provided, also t-posed ones. If you want to work with that already:
|-
|create folder humans in Blender directory scripts/addons/makeclothes
|-
|unzip this file [http://www.makehumancommunity.org/forum/download/file.php?id=8095 Zip-File with male and female meshes]
|-
|move both blend files into this folder.
|-
|}
* '''Load the human via MPFB'''
Makehuman Plugin for Blender also can provide a base mesh. Be aware that the best base is an unmodified male or female mesh, because the clothes will fit most of the characters. Do not use alternative topologies. If you import an human this is already the base mesh. If you need the helpers, change settings according to the illustration and import the mesh. Instead of "don't modify" you can also use "Mask".
[[File:Mc2_loadhumanmfb.png]]
* '''Load normal base.obj file'''
This is the way using the predefined base.obj file which can be downloaded from github. MakeClothes reads the wavefront file. Vertex groups are created according to the .obj file. Disadvantage: this mesh is neither male nor female.
An exported wavefront mesh made by MakeHuman can be used as well (no alternative topology such as male muscled mesh, do not use smoothing and delete the extra eyes). It is possible to export it including the helpers. Unfortunately it has no vertex groups assigned. This must be done in Blender later.
* '''Load an mhx2 file'''
The body (no alternative topology, do not use smoothing and delete the extra eyes) used by mhx2 export can also be used as a base mesh. When you load it you have to select Override Exported Data and the mark Helper Geometry before importing it.
* '''Delete helpers'''
If a mesh is loaded and the helpers are not needed, the helpers can be deleted. In this case a vertex-group "body" is expected, all vertices belonging to other groups are deleted. If body is not available, nothing will be done.
== Tell MakeClothes the type of the object ==
[[File:Mc2_customprops.png|right]]
To create clothes, one object must be marked as human and at least one as clothes. If you work with more than one human, all others must be marked as clothes temporarily. When you mark one object as human a previously marked human will automatically be marked as clothes. The custom properties of the object will held this information.
== Create simple clothes (extract from helper) ==
In case a helper mesh is available it is possible to use the helpers as a first try. Especially for beginners (but also for the advanced for a good weighting) this could be helpful.
<more text to be written>
== Assign vertex-groups ==
Vertex-groups are a number of vertices of a mesh forming a group with vertex-group name. These groups are used to determine relations between e.g. vertices on the body and vertices on a piece of cloth. The simplest way would be:
* create a group "cloth" on the human
* assign all vertices of the human to this group
* create a group "cloth" on your piece of cloth
* assign all vertices of the piece of cloth to this group
This might work, but it is not a good way. There are many risks.
So here are examples from some of the assets I did: [[Documentation:MakeClothes Vertex-Groups|Create vertex-groups]]
== Test the human mesh ==
The human loaded with one of the methods usually should not have problems. Nevertheless there is a small test available to check the human. This test is also automatically done when clothes are created.
* the number of human objects must be one
* there must be one vertex group on the human
* no vertex belongs to an non-existing group
[[File:Mc2_checkhuman.png]]
== Test the clothes ==
Clothes need a bit more testing.
* clothes should not have stray geometry. These are single vertices or edges. If this problem appears, change into edit mode. The vertices are pre-selected. Simply delete them or change geometry otherwise.
* maximum number of vertices per face is 4. If you have more than this, these faces are selected and must be changed.
* clothes can be quad or triangle meshes. A mixture is not allowed. The process assumes a mesh type and selects the faces to be changed.
* the process tests if at least one vertex group is available
* all vertices must belong to one vertex group. Vertices belonging to no group are selected and can be changed in edit mode.
* all vertices must belong to only one vertex group. Vertices belonging to more than one group are selected and can be changed in edit mode.
* no vertex belongs to an non-existing group
* a test is done, how many edges belong to one vertex. Typically quad meshes with a low pole-count will have better geometric qualities. This is only a warning. The vertices with more than 8 neighbor vertices will be selected and can be changed in edit mode.
[[File:Mc2_checkclothes.png]]
== Common settings ==
The common settings will provide the '''license''' and the name of the '''author''', which will be used for all the clothes generated with this file.
* '''Overwrite existing files''' is switched off. The name of the piece of cloth is used as a filename. If it is necessary to overwrite an existing object, the box must be marked.
* '''Modifiers are allowed'''. Typically the mirror modifier may make sense. Be careful with e.g. subdivision surface, because it may produce a huge number of vertices. When the clothes should be designed with subdivision surface but created without, switch off "Allow Modifiers"
== Produce clothes ==
The main features of creating clothes are:
* '''name''': this is the name of the piece of cloth, also the filename
* '''comment''': a short optional description
* '''tags''': a list of predefined and own tags as a search criteria for MakeHuman
[[File:Mc2_tagselector.png]]
* '''zdepth''': determines the order of clothes. Lower values are used for clothes near the body, higher values for parts far away. This will be used to hide clothes near the body. A rule of thumb is to start with underware at 31, normal clothes (pants, t-shirt, shoes) use a default value of 50 and clothes like a coat usually use high values like 63. The following illustration shows the effect for a character equipped with ballet clothes. It also demonstrates what is happening when all values are equal.
[[File:Mc2_zdepth.png]]
* '''scaling''': select the part of the body which is important for the scaling. Most likely torso for a t-shirt, head for a hat etc.
* '''delete-group''': it is a good method to delete vertices on the body if clothes are not transparent. This avoids bleeding through, that is, that vertices that should be "inside" suddenly appear outside of the clothes (see: [[Documentation:MakeClothes Delete-Groups|use delete-groups]]). All vertices not to be displayed should be selected on the body (not helper) and assigned to a vertex on the human. The name of this group must be inserted in the box. If more than one piece of cloth is created, they all can have a different delete-group on the same human.
* '''use MakeSkin''': without MakeSkin a simple material is saved for the piece of cloth (white base color). Otherwise the material file of the plugin [[Documentation:MaterialsMakeSkin|MakeSkin]] is used. See "Materials" below.
* '''subdir''': the directory inside where the clothes will be created.
== Materials ==
Most of the clothes will need a texture. Before the texture can be used the piece of cloth must be unwrapped. Best way is to create seams in Blender, where the real seams are.
Unwrap the clothes in any case. The output of this process is a UV-Map, which will be used to determine the coordinates of each vertex on the texture.
If the simple standard material should not be used for export, a material can be attached with [[Documentation:MaterialsMakeSkin|MakeSkin]]
<will be changed later with some advice how to do good textures etc.>
== Creating of own clothes ==
To create clothes select the piece of cloth and press produce clothes. The tests "check clothes" and "check human" are processed and also an additional test about matching vertex groups is done. If everything is okay, the clothes can be loaded in MakeHuman.
<will contain a lot of tips & tricks later>
== Special poses, heels etc. ==
<works with a special target in MakeHuman and a pose changed with shape key in MakeClothes>
== Importing existent clothes ==
It is possible to load an existent mhclo-file from the data folder of MakeHuman. Best is to load the human mesh before, if you want to change geometry. The clothes will also fit to a different body, but in this case they will not look as good as on the body, they were made for. But the advantage is, that e.g. clothes created for males can be used as a base for a female version.
When clothes are imported, Most of fields are filled in by the process and the delete-group is marked on the human (in case a humans is available).
The material is also loaded, when MakeSkin is available. The illustration shows the result of the import of the "lace_up_blouse". A material called "lace_up_blouse" was created in blender. All available information is imported and displayed. This includes the special parameters only used in MakeHuman (Backface culling, Transparent, LitSphere etc.). So also the material setup could be used for a new piece of cloth.
[[File:Mc2_importclothes.png]]
e627327323ff9abbb0d7931ba46b009454813304
1868
1856
2020-09-13T14:22:50Z
Punkduck
38
/* Notation */
wikitext
text/x-wiki
Caution: this file is still under construction :)
= Makeclothes Version 2 =
[[File:makeclothestitle.jpg]]
MakeClothes2 is used to create clothes for MakeHuman characters. It could be installed as a single plugin, but at least MakeSkin should be used, if the creation of material is also part of your work. Furthermore it is able to work with the human base mesh provided by MPFB.
The term "clothes" is not really correct, the program creates any kind of mesh which can be used for a character generated by MakeHuman. This also includes hair and different tongue or a new proxy. To use MakeClothes in Blender knowledge of Blender itself is needed.
== Notation ==
To understand the process, a short summary of terms used in MakeHuman:
* '''base mesh''' and '''helper mesh''': The base mesh is the standard body mesh including a helper-mesh used in MakeHuman. ([[Documentation:Basemesh|detailed information]])
* '''proxies''': in a way all meshes projected on the body are proxies. Do differentiate between a piece of cloth and an alternative mesh for the skin, the alternative mesh is called a '''topology'''.
* '''topologies''': special case for a proxy used as a mesh for the skin.
* '''smoothing''': MakeHuman may use smoothing on a base mesh. This results in a mesh with 4 times as many vertices. <u>This mesh cannot be used for MakeClothes.</u>
* '''clothes''': clothes will be all meshes MakeClothes is able to create. Hair and body proxies included.
* '''posing''': the standard "unposed" base mesh is presented in an A-Pose. Other poses are T-Pose or a pose which is user generated. Typically these poses are created with the standard skeleton. Shapekeys can be used as a special pose too.
* '''weighting''': when a character is posed the skin but also the clothes should follow the bones. So weights are added to each vertex. These weights determine how much a bone will be followed. MakeClothes uses a similar construction, since the clothes follow vertices on the helper or base mesh.
[[File:Mc2_meshes_to_use.png]]
Only base mesh and helper can be used to create clothes.
== Limits ==
Makeclothes has certain limits according to the internal structure of MakeHuman
* The mesh for the clothes can either be done with quads or with triangles. No mixture allowed. Advantage for quads is a smoother design with a later usage of subdivision surface algorithm (smoothing). Triangles are normally used for e.g. sculpting or when you work with 3rd party meshes.
* only one material for one piece of cloth is allowed in MakeHuman
* each vertex of a piece of cloth uses 3 vertices on body or helper to find its position according to the human created in MakeHuman
* each vertex of a piece of cloth needs to be in one (and only one) vertex group. A group of the same name must be created on the human
* it is possible to create more than one piece of cloth with one human
* only one human is allowed when clothes are created. So only one object is "marked as human". However, if you need more than one base mesh, all others can be marked as clothes
[[File:Mc2_makeclothes2.png|right]]
== How to load a human ==
MakeHuman uses a mesh called hm08. Makeclothes is prepared to deal with other meshes as well for future versions. When the mesh is changed it must be changed in MakeHuman as well. So this documentation will only consider the hm08 base mesh.
To create clothes you can create them directly on the body or on the helper mesh. For underwear the nude body is best choice, but for a coat the helper mesh will be used. A good method for e.g. a skirt or coat is to design the piece of cloth on the nude body and then use the helper mesh for weighting in the end.
There are currently a few possibilities to load a human. The simplest way is to load a predefined one or to use MPFB, both have some vertex-groups assigned:
* '''Load a predefined human'''
Blend-files which are placed in the "humans" sub-directory of the makeclothes plugin can be used directly. When MakeClothes starts, these blend-files are scanned once and names of the objects starting with "mh_" are presented in a menu. The selected mesh is appended by pressing the "Import predefined human" button.
[[File:Mc2_loadpredef.png]]
In case of a helper mesh, the parts of the mesh are assigned to different vertex-groups to allow an easy selection and use different colors.
After the mesh is loaded these buttons disappear, because one human is already loaded. The loaded mesh is automatically marked as a human. To load another human either delete the human or mark your human as clothes.
{| style="color:green; background-color:#ffffcc;"
|-
|The files of the pre-defined humans are not yet included in the repository, this will happen soon, different meshes will be provided, also t-posed ones. If you want to work with that already:
|-
|create folder humans in Blender directory scripts/addons/makeclothes
|-
|unzip this file [http://www.makehumancommunity.org/forum/download/file.php?id=8095 Zip-File with male and female meshes]
|-
|move both blend files into this folder.
|-
|}
* '''Load the human via MPFB'''
Makehuman Plugin for Blender also can provide a base mesh. Be aware that the best base is an unmodified male or female mesh, because the clothes will fit most of the characters. Do not use proxies. If you import an human this is already the base mesh. If you need the helpers, change settings according to the illustration and import the mesh. Instead of "don't modify" you can also use "Mask".
[[File:Mc2_loadhumanmfb.png]]
* '''Load normal base.obj file'''
This is the way using the predefined base.obj file which can be downloaded from github. MakeClothes reads the wavefront file. Vertex groups are created according to the .obj file. Disadvantage: this mesh is neither male nor female.
An exported wavefront mesh made by MakeHuman can be used as well (no proxy, do not use smoothing and delete the extra eyes). It is possible to export it including the helpers. Unfortunately it has no vertex groups assigned. This must be done in Blender later.
* '''Load an mhx2 file'''
The body (no proxy, do not use smoothing and delete the extra eyes) used by mhx2 export can also be used as a base mesh. When you load it you have to select Override Exported Data and the mark Helper Geometry before importing it.
* '''Delete helpers'''
If a mesh is loaded and the helpers are not needed, the helpers can be deleted. In this case a vertex-group "body" is expected, all vertices belonging to other groups are deleted. If body is not available, nothing will be done.
== Tell MakeClothes the type of the object ==
[[File:Mc2_customprops.png|right]]
To create clothes, one object must be marked as human and at least one as clothes. If you work with more than one human, all others must be marked as clothes temporarily. When you mark one object as human a previously marked human will automatically be marked as clothes. The custom properties of the object will held this information.
== Create simple clothes (extract from helper) ==
In case a helper mesh is available it is possible to use the helpers as a first try. Especially for beginners (but also for the advanced for a good weighting) this could be helpful.
<more text to be written>
== Assign vertex-groups ==
Vertex-groups are a number of vertices of a mesh forming a group with vertex-group name. These groups are used to determine relations between e.g. vertices on the body and vertices on a piece of cloth. The simplest way would be:
* create a group "cloth" on the human
* assign all vertices of the human to this group
* create a group "cloth" on your piece of cloth
* assign all vertices of the piece of cloth to this group
This might work, but it is not a good way. There are many risks.
So here are examples from some of the assets I did: [[Documentation:MakeClothes Vertex-Groups|Create vertex-groups]]
== Test the human mesh ==
The human loaded with one of the methods usually should not have problems. Nevertheless there is a small test available to check the human. This test is also automatically done when clothes are created.
* the number of human objects must be one
* there must be one vertex group on the human
* no vertex belongs to an non-existing group
[[File:Mc2_checkhuman.png]]
== Test the clothes ==
Clothes need a bit more testing.
* clothes should not have stray geometry. These are single vertices or edges. If this problem appears, change into edit mode. The vertices are pre-selected. Simply delete them or change geometry otherwise.
* maximum number of vertices per face is 4. If you have more than this, these faces are selected and must be changed.
* clothes can be quad or triangle meshes. A mixture is not allowed. The process assumes a mesh type and selects the faces to be changed.
* the process tests if at least one vertex group is available
* all vertices must belong to one vertex group. Vertices belonging to no group are selected and can be changed in edit mode.
* all vertices must belong to only one vertex group. Vertices belonging to more than one group are selected and can be changed in edit mode.
* no vertex belongs to an non-existing group
* a test is done, how many edges belong to one vertex. Typically quad meshes with a low pole-count will have better geometric qualities. This is only a warning. The vertices with more than 8 neighbor vertices will be selected and can be changed in edit mode.
[[File:Mc2_checkclothes.png]]
== Common settings ==
The common settings will provide the '''license''' and the name of the '''author''', which will be used for all the clothes generated with this file.
* '''Overwrite existing files''' is switched off. The name of the piece of cloth is used as a filename. If it is necessary to overwrite an existing object, the box must be marked.
* '''Modifiers are allowed'''. Typically the mirror modifier may make sense. Be careful with e.g. subdivision surface, because it may produce a huge number of vertices. When the clothes should be designed with subdivision surface but created without, switch off "Allow Modifiers"
== Produce clothes ==
The main features of creating clothes are:
* '''name''': this is the name of the piece of cloth, also the filename
* '''comment''': a short optional description
* '''tags''': a list of predefined and own tags as a search criteria for MakeHuman
[[File:Mc2_tagselector.png]]
* '''zdepth''': determines the order of clothes. Lower values are used for clothes near the body, higher values for parts far away. This will be used to hide clothes near the body. A rule of thumb is to start with underware at 31, normal clothes (pants, t-shirt, shoes) use a default value of 50 and clothes like a coat usually use high values like 63. The following illustration shows the effect for a character equipped with ballet clothes. It also demonstrates what is happening when all values are equal.
[[File:Mc2_zdepth.png]]
* '''scaling''': select the part of the body which is important for the scaling. Most likely torso for a t-shirt, head for a hat etc.
* '''delete-group''': it is a good method to delete vertices on the body if clothes are not transparent. This avoids bleeding through, that is, that vertices that should be "inside" suddenly appear outside of the clothes (see: [[Documentation:MakeClothes Delete-Groups|use delete-groups]]). All vertices not to be displayed should be selected on the body (not helper) and assigned to a vertex on the human. The name of this group must be inserted in the box. If more than one piece of cloth is created, they all can have a different delete-group on the same human.
* '''use MakeSkin''': without MakeSkin a simple material is saved for the piece of cloth (white base color). Otherwise the material file of the plugin [[Documentation:MaterialsMakeSkin|MakeSkin]] is used. See "Materials" below.
* '''subdir''': the directory inside where the clothes will be created.
== Materials ==
Most of the clothes will need a texture. Before the texture can be used the piece of cloth must be unwrapped. Best way is to create seams in Blender, where the real seams are.
Unwrap the clothes in any case. The output of this process is a UV-Map, which will be used to determine the coordinates of each vertex on the texture.
If the simple standard material should not be used for export, a material can be attached with [[Documentation:MaterialsMakeSkin|MakeSkin]]
<will be changed later with some advice how to do good textures etc.>
== Creating of own clothes ==
To create clothes select the piece of cloth and press produce clothes. The tests "check clothes" and "check human" are processed and also an additional test about matching vertex groups is done. If everything is okay, the clothes can be loaded in MakeHuman.
<will contain a lot of tips & tricks later>
== Special poses, heels etc. ==
<works with a special target in MakeHuman and a pose changed with shape key in MakeClothes>
== Importing existent clothes ==
It is possible to load an existent mhclo-file from the data folder of MakeHuman. Best is to load the human mesh before, if you want to change geometry. The clothes will also fit to a different body, but in this case they will not look as good as on the body, they were made for. But the advantage is, that e.g. clothes created for males can be used as a base for a female version.
When clothes are imported, Most of fields are filled in by the process and the delete-group is marked on the human (in case a humans is available).
The material is also loaded, when MakeSkin is available. The illustration shows the result of the import of the "lace_up_blouse". A material called "lace_up_blouse" was created in blender. All available information is imported and displayed. This includes the special parameters only used in MakeHuman (Backface culling, Transparent, LitSphere etc.). So also the material setup could be used for a new piece of cloth.
[[File:Mc2_importclothes.png]]
3b2f1b82a0db7d5d068e6142e57615d4a717220b
1856
1850
2020-08-06T18:00:55Z
Punkduck
38
wikitext
text/x-wiki
Caution: this file is still under construction :)
= Makeclothes Version 2 =
[[File:makeclothestitle.jpg]]
MakeClothes2 is used to create clothes for MakeHuman characters. It could be installed as a single plugin, but at least MakeSkin should be used, if the creation of material is also part of your work. Furthermore it is able to work with the human base mesh provided by MPFB.
The term "clothes" is not really correct, the program creates any kind of mesh which can be used for a character generated by MakeHuman. This also includes hair and different tongue or a new proxy. To use MakeClothes in Blender knowledge of Blender itself is needed.
== Notation ==
To understand the process, a short summary of terms used in MakeHuman:
* '''base mesh''': The base mesh is the standard body mesh used in MakeHuman. It has an exact number of vertices and each vertex has a number, starting with number 0 to 13379.
* '''helper mesh''': The helper mesh is used to create all parts not directly attached to the body. This includes body parts like teeth, tongue and eyes and (male) genital, but also is used for generation of clothes (tights and skirt) and hair. The helper mesh is also deformed invisible in MakeHuman, when you change the character. The helper mesh comes with the base mesh.
* '''proxy''': in a way all meshes projected on the body are proxies. Also the clothes are proxies, but in this case proxies should only be alternative meshes for the skin of the body
* '''smoothing''': MakeHuman may use smoothing on a base mesh. This results in a mesh with 4 times as many vertices. <u>This mesh cannot be used for MakeClothes.</u>
* '''clothes''': clothes will be all meshes MakeClothes is able to create. Hair and body proxies included.
* '''posing''': the standard "unposed" base mesh is presented in an A-Pose. Other poses are T-Pose or a pose which is user generated. Typically these poses are created with the standard skeleton. Shapekeys can be used as a special pose too.
* '''weighting''': when a character is posed the skin but also the clothes should follow the bones. So weights are added to each vertex. These weights determine how much a bone will be followed. MakeClothes uses a similar construction, since the clothes follow vertices on the helper or base mesh.
[[File:Mc2_meshes_to_use.png]]
Only base mesh and helper can be used to create clothes.
== Limits ==
Makeclothes has certain limits according to the internal structure of MakeHuman
* The mesh for the clothes can either be done with quads or with triangles. No mixture allowed. Advantage for quads is a smoother design with a later usage of subdivision surface algorithm (smoothing). Triangles are normally used for e.g. sculpting or when you work with 3rd party meshes.
* only one material for one piece of cloth is allowed in MakeHuman
* each vertex of a piece of cloth uses 3 vertices on body or helper to find its position according to the human created in MakeHuman
* each vertex of a piece of cloth needs to be in one (and only one) vertex group. A group of the same name must be created on the human
* it is possible to create more than one piece of cloth with one human
* only one human is allowed when clothes are created. So only one object is "marked as human". However, if you need more than one base mesh, all others can be marked as clothes
[[File:Mc2_makeclothes2.png|right]]
== How to load a human ==
MakeHuman uses a mesh called hm08. Makeclothes is prepared to deal with other meshes as well for future versions. When the mesh is changed it must be changed in MakeHuman as well. So this documentation will only consider the hm08 base mesh.
To create clothes you can create them directly on the body or on the helper mesh. For underwear the nude body is best choice, but for a coat the helper mesh will be used. A good method for e.g. a skirt or coat is to design the piece of cloth on the nude body and then use the helper mesh for weighting in the end.
There are currently a few possibilities to load a human. The simplest way is to load a predefined one or to use MPFB, both have some vertex-groups assigned:
* '''Load a predefined human'''
Blend-files which are placed in the "humans" sub-directory of the makeclothes plugin can be used directly. When MakeClothes starts, these blend-files are scanned once and names of the objects starting with "mh_" are presented in a menu. The selected mesh is appended by pressing the "Import predefined human" button.
[[File:Mc2_loadpredef.png]]
In case of a helper mesh, the parts of the mesh are assigned to different vertex-groups to allow an easy selection and use different colors.
After the mesh is loaded these buttons disappear, because one human is already loaded. The loaded mesh is automatically marked as a human. To load another human either delete the human or mark your human as clothes.
{| style="color:green; background-color:#ffffcc;"
|-
|The files of the pre-defined humans are not yet included in the repository, this will happen soon, different meshes will be provided, also t-posed ones. If you want to work with that already:
|-
|create folder humans in Blender directory scripts/addons/makeclothes
|-
|unzip this file [http://www.makehumancommunity.org/forum/download/file.php?id=8095 Zip-File with male and female meshes]
|-
|move both blend files into this folder.
|-
|}
* '''Load the human via MPFB'''
Makehuman Plugin for Blender also can provide a base mesh. Be aware that the best base is an unmodified male or female mesh, because the clothes will fit most of the characters. Do not use proxies. If you import an human this is already the base mesh. If you need the helpers, change settings according to the illustration and import the mesh. Instead of "don't modify" you can also use "Mask".
[[File:Mc2_loadhumanmfb.png]]
* '''Load normal base.obj file'''
This is the way using the predefined base.obj file which can be downloaded from github. MakeClothes reads the wavefront file. Vertex groups are created according to the .obj file. Disadvantage: this mesh is neither male nor female.
An exported wavefront mesh made by MakeHuman can be used as well (no proxy, do not use smoothing and delete the extra eyes). It is possible to export it including the helpers. Unfortunately it has no vertex groups assigned. This must be done in Blender later.
* '''Load an mhx2 file'''
The body (no proxy, do not use smoothing and delete the extra eyes) used by mhx2 export can also be used as a base mesh. When you load it you have to select Override Exported Data and the mark Helper Geometry before importing it.
* '''Delete helpers'''
If a mesh is loaded and the helpers are not needed, the helpers can be deleted. In this case a vertex-group "body" is expected, all vertices belonging to other groups are deleted. If body is not available, nothing will be done.
== Tell MakeClothes the type of the object ==
[[File:Mc2_customprops.png|right]]
To create clothes, one object must be marked as human and at least one as clothes. If you work with more than one human, all others must be marked as clothes temporarily. When you mark one object as human a previously marked human will automatically be marked as clothes. The custom properties of the object will held this information.
== Create simple clothes (extract from helper) ==
In case a helper mesh is available it is possible to use the helpers as a first try. Especially for beginners (but also for the advanced for a good weighting) this could be helpful.
<more text to be written>
== Assign vertex-groups ==
Vertex-groups are a number of vertices of a mesh forming a group with vertex-group name. These groups are used to determine relations between e.g. vertices on the body and vertices on a piece of cloth. The simplest way would be:
* create a group "cloth" on the human
* assign all vertices of the human to this group
* create a group "cloth" on your piece of cloth
* assign all vertices of the piece of cloth to this group
This might work, but it is not a good way. There are many risks.
So here are examples from some of the assets I did: [[Documentation:MakeClothes Vertex-Groups|Create vertex-groups]]
== Test the human mesh ==
The human loaded with one of the methods usually should not have problems. Nevertheless there is a small test available to check the human. This test is also automatically done when clothes are created.
* the number of human objects must be one
* there must be one vertex group on the human
* no vertex belongs to an non-existing group
[[File:Mc2_checkhuman.png]]
== Test the clothes ==
Clothes need a bit more testing.
* clothes should not have stray geometry. These are single vertices or edges. If this problem appears, change into edit mode. The vertices are pre-selected. Simply delete them or change geometry otherwise.
* maximum number of vertices per face is 4. If you have more than this, these faces are selected and must be changed.
* clothes can be quad or triangle meshes. A mixture is not allowed. The process assumes a mesh type and selects the faces to be changed.
* the process tests if at least one vertex group is available
* all vertices must belong to one vertex group. Vertices belonging to no group are selected and can be changed in edit mode.
* all vertices must belong to only one vertex group. Vertices belonging to more than one group are selected and can be changed in edit mode.
* no vertex belongs to an non-existing group
* a test is done, how many edges belong to one vertex. Typically quad meshes with a low pole-count will have better geometric qualities. This is only a warning. The vertices with more than 8 neighbor vertices will be selected and can be changed in edit mode.
[[File:Mc2_checkclothes.png]]
== Common settings ==
The common settings will provide the '''license''' and the name of the '''author''', which will be used for all the clothes generated with this file.
* '''Overwrite existing files''' is switched off. The name of the piece of cloth is used as a filename. If it is necessary to overwrite an existing object, the box must be marked.
* '''Modifiers are allowed'''. Typically the mirror modifier may make sense. Be careful with e.g. subdivision surface, because it may produce a huge number of vertices. When the clothes should be designed with subdivision surface but created without, switch off "Allow Modifiers"
== Produce clothes ==
The main features of creating clothes are:
* '''name''': this is the name of the piece of cloth, also the filename
* '''comment''': a short optional description
* '''tags''': a list of predefined and own tags as a search criteria for MakeHuman
[[File:Mc2_tagselector.png]]
* '''zdepth''': determines the order of clothes. Lower values are used for clothes near the body, higher values for parts far away. This will be used to hide clothes near the body. A rule of thumb is to start with underware at 31, normal clothes (pants, t-shirt, shoes) use a default value of 50 and clothes like a coat usually use high values like 63. The following illustration shows the effect for a character equipped with ballet clothes. It also demonstrates what is happening when all values are equal.
[[File:Mc2_zdepth.png]]
* '''scaling''': select the part of the body which is important for the scaling. Most likely torso for a t-shirt, head for a hat etc.
* '''delete-group''': it is a good method to delete vertices on the body if clothes are not transparent. This avoids bleeding through, that is, that vertices that should be "inside" suddenly appear outside of the clothes (see: [[Documentation:MakeClothes Delete-Groups|use delete-groups]]). All vertices not to be displayed should be selected on the body (not helper) and assigned to a vertex on the human. The name of this group must be inserted in the box. If more than one piece of cloth is created, they all can have a different delete-group on the same human.
* '''use MakeSkin''': without MakeSkin a simple material is saved for the piece of cloth (white base color). Otherwise the material file of the plugin [[Documentation:MaterialsMakeSkin|MakeSkin]] is used. See "Materials" below.
* '''subdir''': the directory inside where the clothes will be created.
== Materials ==
Most of the clothes will need a texture. Before the texture can be used the piece of cloth must be unwrapped. Best way is to create seams in Blender, where the real seams are.
Unwrap the clothes in any case. The output of this process is a UV-Map, which will be used to determine the coordinates of each vertex on the texture.
If the simple standard material should not be used for export, a material can be attached with [[Documentation:MaterialsMakeSkin|MakeSkin]]
<will be changed later with some advice how to do good textures etc.>
== Creating of own clothes ==
To create clothes select the piece of cloth and press produce clothes. The tests "check clothes" and "check human" are processed and also an additional test about matching vertex groups is done. If everything is okay, the clothes can be loaded in MakeHuman.
<will contain a lot of tips & tricks later>
== Special poses, heels etc. ==
<works with a special target in MakeHuman and a pose changed with shape key in MakeClothes>
== Importing existent clothes ==
It is possible to load an existent mhclo-file from the data folder of MakeHuman. Best is to load the human mesh before, if you want to change geometry. The clothes will also fit to a different body, but in this case they will not look as good as on the body, they were made for. But the advantage is, that e.g. clothes created for males can be used as a base for a female version.
When clothes are imported, Most of fields are filled in by the process and the delete-group is marked on the human (in case a humans is available).
The material is also loaded, when MakeSkin is available. The illustration shows the result of the import of the "lace_up_blouse". A material called "lace_up_blouse" was created in blender. All available information is imported and displayed. This includes the special parameters only used in MakeHuman (Backface culling, Transparent, LitSphere etc.). So also the material setup could be used for a new piece of cloth.
[[File:Mc2_importclothes.png]]
c53bd2fdfacda68bdaa26b834614243930aae2c8
1850
1841
2020-08-03T18:30:57Z
Punkduck
38
wikitext
text/x-wiki
Caution: this file is still under construction :)
= Makeclothes Version 2 =
[[File:makeclothestitle.jpg]]
MakeClothes2 is used to create clothes for MakeHuman characters. It could be installed as a single plugin, but at least MakeSkin should be used, if the creation of material is also part of your work. Furthermore it is able to work with the human base mesh provided by MPFB.
The term "clothes" is not really correct, the program creates any kind of mesh which can be used for a character generated by MakeHuman. This also includes hair and different tongue or a new proxy. To use MakeClothes in Blender knowledge of Blender itself is needed.
== Notation ==
To understand the process, a short summary of terms used in MakeHuman:
* '''base mesh''': The base mesh is the standard body mesh used in MakeHuman. It has an exact number of vertices and each vertex has a number, starting with number 0 to 13379.
* '''helper mesh''': The helper mesh is used to create all parts not directly attached to the body. This includes body parts like teeth, tongue and eyes and (male) genital, but also is used for generation of clothes (tights and skirt) and hair. The helper mesh is also deformed invisible in MakeHuman, when you change the character. The helper mesh comes with the base mesh.
* '''proxy''': in a way all meshes projected on the body are proxies. Also the clothes are proxies, but in this case proxies should only be alternative meshes for the skin of the body
* '''smoothing''': MakeHuman may use smoothing on a base mesh. This results in a mesh with 4 times as many vertices. <u>This mesh cannot be used for MakeClothes.</u>
* '''clothes''': clothes will be all meshes MakeClothes is able to create. Hair and body proxies included.
* '''posing''': the standard "unposed" base mesh is presented in an A-Pose. Other poses are T-Pose or a pose which is user generated. Typically these poses are created with the standard skeleton. Shapekeys can be used as a special pose too.
* '''weighting''': when a character is posed the skin but also the clothes should follow the bones. So weights are added to each vertex. These weights determine how much a bone will be followed. MakeClothes uses a similar construction, since the clothes follow vertices on the helper or base mesh.
[[File:Mc2_meshes_to_use.png]]
Only base mesh and helper can be used to create clothes.
== Limits ==
Makeclothes has certain limits according to the internal structure of MakeHuman
* The mesh for the clothes can either be done with quads or with triangles. No mixture allowed. Advantage for quads is a smoother design with a later usage of subdivision surface algorithm (smoothing). Triangles are normally used for e.g. sculpting or when you work with 3rd party meshes.
* only one material for one piece of cloth is allowed in MakeHuman
* each vertex of a piece of cloth uses 3 vertices on body or helper to find its position according to the human created in MakeHuman
* each vertex of a piece of cloth needs to be in one (and only one) vertex group. A group of the same name must be created on the human
* it is possible to create more than one piece of cloth with one human
* only one human is allowed when clothes are created. So only one object is "marked as human". However, if you need more than one base mesh, all others can be marked as clothes
[[File:Mc2_makeclothes2.png|right]]
== How to load a human ==
MakeHuman uses a mesh called hm08. Makeclothes is prepared to deal with other meshes as well for future versions. When the mesh is changed it must be changed in MakeHuman as well. So this documentation will only consider the hm08 base mesh.
To create clothes you can create them directly on the body or on the helper mesh. For underwear the nude body is best choice, but for a coat the helper mesh will be used. A good method for e.g. a skirt or coat is to design the piece of cloth on the nude body and then use the helper mesh for weighting in the end.
There are currently a few possibilities to load a human. The simplest way is to load a predefined one or to use MPFB, both have some vertex-groups assigned:
* '''Load a predefined human'''
Blend-files which are placed in the "humans" sub-directory of the makeclothes plugin can be used directly. When MakeClothes starts, these blend-files are scanned once and names of the objects starting with "mh_" are presented in a menu. The selected mesh is appended by pressing the "Import predefined human" button.
[[File:Mc2_loadpredef.png]]
In case of a helper mesh, the parts of the mesh are assigned to different vertex-groups to allow an easy selection and use different colors.
After the mesh is loaded these buttons disappear, because one human is already loaded. The loaded mesh is automatically marked as a human. To load another human either delete the human or mark your human as clothes.
{| style="color:green; background-color:#ffffcc;"
|-
|The files of the pre-defined humans are not yet included in the repository, this will happen soon, different meshes will be provided, also t-posed ones. If you want to work with that already:
|-
|create folder humans in Blender directory scripts/addons/makeclothes
|-
|unzip this file [http://www.makehumancommunity.org/forum/download/file.php?id=8095 Zip-File with male and female meshes]
|-
|move both blend files into this folder.
|-
|}
* '''Load the human via MPFB'''
Makehuman Plugin for Blender also can provide a base mesh. Be aware that the best base is an unmodified male or female mesh, because the clothes will fit most of the characters. Do not use proxies. If you import an human this is already the base mesh. If you need the helpers, change settings according to the illustration and import the mesh. Instead of "don't modify" you can also use "Mask".
[[File:Mc2_loadhumanmfb.png]]
* '''Load normal base.obj file'''
This is the way using the predefined base.obj file which can be downloaded from github. MakeClothes reads the wavefront file. Vertex groups are created according to the .obj file. Disadvantage: this mesh is neither male nor female.
An exported wavefront mesh made by MakeHuman can be used as well (no proxy, do not use smoothing and delete the extra eyes). It is possible to export it including the helpers. Unfortunately it has no vertex groups assigned. This must be done in Blender later.
* '''Load an mhx2 file'''
The body (no proxy, do not use smoothing and delete the extra eyes) used by mhx2 export can also be used as a base mesh. When you load it you have to select Override Exported Data and the mark Helper Geometry before importing it.
* '''Delete helpers'''
If a mesh is loaded and the helpers are not needed, the helpers can be deleted. In this case a vertex-group "body" is expected, all vertices belonging to other groups are deleted. If body is not available, nothing will be done.
== Tell MakeClothes the type of the object ==
[[File:Mc2_customprops.png|right]]
To create clothes, one object must be marked as human and at least one as clothes. If you work with more than one human, all others must be marked as clothes temporarily. When you mark one object as human a previously marked human will automatically be marked as clothes. The custom properties of the object will held this information.
== Create simple clothes (extract from helper) ==
In case a helper mesh is available it is possible to use the helpers as a first try. Especially for beginners (but also for the advanced for a good weighting) this could be helpful.
<more text to be written>
== Assign vertex-groups ==
Vertex-groups are a number of vertices of a mesh forming a group with vertex-group name. These groups are used to determine relations between e.g. vertices on the body and vertices on a piece of cloth. The simplest way would be:
* create a group "cloth" on the human
* assign all vertices of the human to this group
* create a group "cloth" on your piece of cloth
* assign all vertices of the piece of cloth to this group
This might work, but it is not a good way. There are many risks.
So here are examples from some of the assets I did: [[Documentation:MakeClothes Vertex-Groups|Create vertex-groups]]
== Test the human mesh ==
The human loaded with one of the methods usually should not have problems. Nevertheless there is a small test available to check the human. This test is also automatically done when clothes are created.
* the number of human objects must be one
* there must be one vertex group on the human
* no vertex belongs to an non-existing group
[[File:Mc2_checkhuman.png]]
== Test the clothes ==
Clothes need a bit more testing.
* clothes should not have stray geometry. These are single vertices or edges. If this problem appears, change into edit mode. The vertices are pre-selected. Simply delete them or change geometry otherwise.
* maximum number of vertices per face is 4. If you have more than this, these faces are selected and must be changed.
* clothes can be quad or triangle meshes. A mixture is not allowed. The process assumes a mesh type and selects the faces to be changed.
* the process tests if at least one vertex group is available
* all vertices must belong to one vertex group. Vertices belonging to no group are selected and can be changed in edit mode.
* all vertices must belong to only one vertex group. Vertices belonging to more than one group are selected and can be changed in edit mode.
* no vertex belongs to an non-existing group
* a test is done, how many edges belong to one vertex. Typically quad meshes with a low pole-count will have better geometric qualities. This is only a warning. The vertices with more than 8 neighbor vertices will be selected and can be changed in edit mode.
[[File:Mc2_checkclothes.png]]
== Common settings ==
The common settings will provide the '''license''' and the name of the '''author''', which will be used for all the clothes generated with this file.
* '''Overwrite existing files''' is switched off. The name of the piece of cloth is used as a filename. If it is necessary to overwrite an existing object, the box must be marked.
* '''Modifiers are allowed'''. Typically the mirror modifier may make sense. Be careful with e.g. subdivision surface, because it may produce a huge number of vertices. When the clothes should be designed with subdivision surface but created without, switch off "Allow Modifiers"
== Produce clothes ==
The main features of creating clothes are:
* '''name''': this is the name of the piece of cloth, also the filename
* '''comment''': a short optional description
* '''tags''': a list of predefined and own tags as a search criteria for MakeHuman
[[File:Mc2_tagselector.png]]
* '''zdepth''': determines the order of clothes. Lower values are used for clothes near the body, higher values for parts far away. This will be used to hide clothes near the body. A rule of thumb is to start with underware at 31, normal clothes (pants, t-shirt, shoes) use a default value of 50 and clothes like a coat usually use high values like 63. The following illustration shows the effect for a character equipped with ballet clothes. It also demonstrates what is happening when all values are equal.
[[File:Mc2_zdepth.png]]
* '''scaling''': select the part of the body which is important for the scaling. Most likely torso for a t-shirt, head for a hat etc.
* '''delete-group''': it is a good method to delete vertices on the body if clothes are not transparent. This avoids bleeding through, that is, that vertices that should be "inside" suddenly appear outside of the clothes. All vertices not to be displayed should be selected on the body (not helper) and assigned to a vertex on the human. The name of this group must be inserted in the box. If more than one piece of cloth is created, they all can have a different delete-group on the same human.
* '''use MakeSkin''': without MakeSkin a simple material is saved for the piece of cloth (white base color). Otherwise the material file of the plugin [[Documentation:MaterialsMakeSkin|MakeSkin]] is used. See "Materials" below.
* '''subdir''': the directory inside where the clothes will be created.
== Materials ==
Most of the clothes will need a texture. Before the texture can be used the piece of cloth must be unwrapped. Best way is to create seams in Blender, where the real seams are.
Unwrap the clothes in any case. The output of this process is a UV-Map, which will be used to determine the coordinates of each vertex on the texture.
If the simple standard material should not be used for export, a material can be attached with [[Documentation:MaterialsMakeSkin|MakeSkin]]
<will be changed later with some advice how to do good textures etc.>
== Creating of own clothes ==
To create clothes select the piece of cloth and press produce clothes. The tests "check clothes" and "check human" are processed and also an additional test about matching vertex groups is done. If everything is okay, the clothes can be loaded in MakeHuman.
<will contain a lot of tips & tricks later>
== Special poses, heels etc. ==
<works with a special target in MakeHuman and a pose changed with shape key in MakeClothes>
== Importing existent clothes ==
It is possible to load an existent mhclo-file from the data folder of MakeHuman. Best is to load the human mesh before, if you want to change geometry. The clothes will also fit to a different body, but in this case they will not look as good as on the body, they were made for. But the advantage is, that e.g. clothes created for males can be used as a base for a female version.
When clothes are imported, Most of fields are filled in by the process and the delete-group is marked on the human (in case a humans is available).
The material is also loaded, when MakeSkin is available. The illustration shows the result of the import of the "lace_up_blouse". A material called "lace_up_blouse" was created in blender. All available information is imported and displayed. This includes the special parameters only used in MakeHuman (Backface culling, Transparent, LitSphere etc.). So also the material setup could be used for a new piece of cloth.
[[File:Mc2_importclothes.png]]
73746ee5e8a8f7dd3f7a5307f7cac4114f08ea0d
1841
1834
2020-07-26T10:44:41Z
Punkduck
38
wikitext
text/x-wiki
Caution: this file is still under construction :)
= Makeclothes Version 2 =
[[File:makeclothestitle.jpg]]
MakeClothes2 is used to create clothes for MakeHuman characters. It could be installed as a single plugin, but at least MakeSkin should be used, if the creation of material is also part of your work. Furthermore it is able to work with the human base mesh provided by MPFB.
The term "clothes" is not really correct, the program creates any kind of mesh which can be used for a character generated by MakeHuman. This also includes hair and different tongue or a new proxy. To use MakeClothes in Blender knowledge of Blender itself is needed.
== Notation ==
To understand the process, a short summary of terms used in MakeHuman:
* '''base mesh''': The base mesh is the standard body mesh used in MakeHuman. It has an exact number of vertices and each vertex has a number, starting with number 0 to 13379.
* '''helper mesh''': The helper mesh is used to create all parts not directly attached to the body. This includes body parts like teeth, tongue and eyes and (male) genital, but also is used for generation of clothes (tights and skirt) and hair. The helper mesh is also deformed invisible in MakeHuman, when you change the character. The helper mesh comes with the base mesh.
* '''proxy''': in a way all meshes projected on the body are proxies. Also the clothes are proxies, but in this case proxies should only be alternative meshes for the skin of the body
* '''smoothing''': MakeHuman may use smoothing on a base mesh. This results in a mesh with 4 times as many vertices. <u>This mesh cannot be used for MakeClothes.</u>
* '''clothes''': clothes will be all meshes MakeClothes is able to create. Hair and body proxies included.
* '''posing''': the standard "unposed" base mesh is presented in an A-Pose. Other poses are T-Pose or a pose which is user generated. Typically these poses are created with the standard skeleton. Shapekeys can be used as a special pose too.
* '''weighting''': when a character is posed the skin but also the clothes should follow the bones. So weights are added to each vertex. These weights determine how much a bone will be followed. MakeClothes uses a similar construction, since the clothes follow vertices on the helper or base mesh.
[[File:Mc2_meshes_to_use.png]]
Only base mesh and helper can be used to create clothes.
== Limits ==
Makeclothes has certain limits according to the internal structure of MakeHuman
* The mesh for the clothes can either be done with quads or with triangles. No mixture allowed. Advantage for quads is a smoother design with a later usage of subdivision surface algorithm (smoothing). Triangles are normally used for e.g. sculpting or when you work with 3rd party meshes.
* only one material for one piece of cloth is allowed in MakeHuman
* each vertex of a piece of cloth uses 3 vertices on body or helper to find its position according to the human created in MakeHuman
* each vertex of a piece of cloth needs to be in one (and only one) vertex group. A group of the same name must be created on the human
* it is possible to create more than one piece of cloth with one human
* only one human is allowed when clothes are created. So only one object is "marked as human". However, if you need more than one base mesh, all others can be marked as clothes
[[File:Mc2_makeclothes2.png|right]]
== How to load a human ==
MakeHuman uses a mesh called hm08. Makeclothes is prepared to deal with other meshes as well for future versions. When the mesh is changed it must be changed in MakeHuman as well. So this documentation will only consider the hm08 base mesh.
To create clothes you can create them directly on the body or on the helper mesh. For underwear the nude body is best choice, but for a coat the helper mesh will be used. A good method for e.g. a skirt or coat is to design the piece of cloth on the nude body and then use the helper mesh for weighting in the end.
There are currently a few possibilities to load a human. The simplest way is to load a predefined one or to use MPFB, both have some vertex-groups assigned:
* '''Load a predefined human'''
Blend-files which are placed in the "humans" sub-directory of the makeclothes plugin can be used directly. When MakeClothes starts, these blend-files are scanned once and names of the objects starting with "mh_" are presented in a menu. The selected mesh is appended by pressing the "Import predefined human" button.
[[File:Mc2_loadpredef.png]]
In case of a helper mesh, the parts of the mesh are assigned to different vertex-groups to allow an easy selection and use different colors.
After the mesh is loaded these buttons disappear, because one human is already loaded. The loaded mesh is automatically marked as a human. To load another human either delete the human or mark your human as clothes.
{| style="color:green; background-color:#ffffcc;"
|-
|The files of the pre-defined humans are not yet included in the repository, this will happen soon, different meshes will be provided, also t-posed ones. If you want to work with that already:
|-
|create folder humans in Blender directory scripts/addons/makeclothes
|-
|unzip this file [http://www.makehumancommunity.org/forum/download/file.php?id=8095 Zip-File with male and female meshes]
|-
|move both blend files into this folder.
|-
|}
* '''Load the human via MPFB'''
Makehuman Plugin for Blender also can provide a base mesh. Be aware that the best base is an unmodified male or female mesh, because the clothes will fit most of the characters. Do not use proxies. If you import an human this is already the base mesh. If you need the helpers, change settings according to the illustration and import the mesh. Instead of "don't modify" you can also use "Mask".
[[File:Mc2_loadhumanmfb.png]]
* '''Load normal base.obj file'''
This is the way using the predefined base.obj file which can be downloaded from github. MakeClothes reads the wavefront file. Vertex groups are created according to the .obj file. Disadvantage: this mesh is neither male nor female.
An exported wavefront mesh made by MakeHuman can be used as well (no proxy, do not use smoothing and delete the extra eyes). It is possible to export it including the helpers. Unfortunately it has no vertex groups assigned. This must be done in Blender later.
* '''Load an mhx2 file'''
The body (no proxy, do not use smoothing and delete the extra eyes) used by mhx2 export can also be used as a base mesh. When you load it you have to select Override Exported Data and the mark Helper Geometry before importing it.
* '''Delete helpers'''
If a mesh is loaded and the helpers are not needed, the helpers can be deleted. In this case a vertex-group "body" is expected, all vertices belonging to other groups are deleted. If body is not available, nothing will be done.
== Tell MakeClothes the type of the object ==
[[File:Mc2_customprops.png|right]]
To create clothes, one object must be marked as human and at least one as clothes. If you work with more than one human, all others must be marked as clothes temporarily. When you mark one object as human a previously marked human will automatically be marked as clothes. The custom properties of the object will held this information.
== Create simple clothes (extract from helper) ==
In case a helper mesh is available it is possible to use the helpers as a first try. Especially for beginners (but also for the advanced for a good weighting) this could be helpful.
<more text to be written>
== Test the human mesh ==
The human loaded with one of the methods usually should not have problems. Nevertheless there is a small test available to check the human. This test is also automatically done when clothes are created.
* the number of human objects must be one
* there must be one vertex group on the human
* no vertex belongs to an non-existing group
[[File:Mc2_checkhuman.png]]
== Test the clothes ==
Clothes need a bit more testing.
* clothes should not have stray geometry. These are single vertices or edges. If this problem appears, change into edit mode. The vertices are pre-selected. Simply delete them or change geometry otherwise.
* maximum number of vertices per face is 4. If you have more than this, these faces are selected and must be changed.
* clothes can be quad or triangle meshes. A mixture is not allowed. The process assumes a mesh type and selects the faces to be changed.
* the process tests if at least one vertex group is available
* all vertices must belong to one vertex group. Vertices belonging to no group are selected and can be changed in edit mode.
* all vertices must belong to only one vertex group. Vertices belonging to more than one group are selected and can be changed in edit mode.
* no vertex belongs to an non-existing group
* a test is done, how many edges belong to one vertex. Typically quad meshes with a low pole-count will have better geometric qualities. This is only a warning. The vertices with more than 8 neighbor vertices will be selected and can be changed in edit mode.
[[File:Mc2_checkclothes.png]]
== Common settings ==
The common settings will provide the '''license''' and the name of the '''author''', which will be used for all the clothes generated with this file.
* '''Overwrite existing files''' is switched off. The name of the piece of cloth is used as a filename. If it is necessary to overwrite an existing object, the box must be marked.
* '''Modifiers are allowed'''. Typically the mirror modifier may make sense. Be careful with e.g. subdivision surface, because it may produce a huge number of vertices. When the clothes should be designed with subdivision surface but created without, switch off "Allow Modifiers"
== Produce clothes ==
The main features of creating clothes are:
* '''name''': this is the name of the piece of cloth, also the filename
* '''comment''': a short optional description
* '''tags''': a list of predefined and own tags as a search criteria for MakeHuman
[[File:Mc2_tagselector.png]]
* '''zdepth''': determines the order of clothes. Lower values are used for clothes near the body, higher values for parts far away. This will be used to hide clothes near the body. A rule of thumb is to start with underware at 31, normal clothes (pants, t-shirt, shoes) use a default value of 50 and clothes like a coat usually use high values like 63. The following illustration shows the effect for a character equipped with ballet clothes. It also demonstrates what is happening when all values are equal.
[[File:Mc2_zdepth.png]]
* '''scaling''': select the part of the body which is important for the scaling. Most likely torso for a t-shirt, head for a hat etc.
* '''delete-group''': it is a good method to delete vertices on the body if clothes are not transparent. This avoids bleeding through, that is, that vertices that should be "inside" suddenly appear outside of the clothes. All vertices not to be displayed should be selected on the body (not helper) and assigned to a vertex on the human. The name of this group must be inserted in the box. If more than one piece of cloth is created, they all can have a different delete-group on the same human.
* '''use MakeSkin''': without MakeSkin a simple material is saved for the piece of cloth (white base color). Otherwise the material file of the plugin [[Documentation:MaterialsMakeSkin|MakeSkin]] is used. See "Materials" below.
* '''subdir''': the directory inside where the clothes will be created.
== Materials ==
Most of the clothes will need a texture. Before the texture can be used the piece of cloth must be unwrapped. Best way is to create seams in Blender, where the real seams are.
Unwrap the clothes in any case. The output of this process is a UV-Map, which will be used to determine the coordinates of each vertex on the texture.
If the simple standard material should not be used for export, a material can be attached with [[Documentation:MaterialsMakeSkin|MakeSkin]]
<will be changed later with some advice how to do good textures etc.>
== Creating of own clothes ==
To create clothes select the piece of cloth and press produce clothes. The tests "check clothes" and "check human" are processed and also an additional test about matching vertex groups is done. If everything is okay, the clothes can be loaded in MakeHuman.
<will contain a lot of tips & tricks later>
== Special poses, heels etc. ==
<works with a special target in MakeHuman and a pose changed with shape key in MakeClothes>
== Importing existent clothes ==
It is possible to load an existent mhclo-file from the data folder of MakeHuman. Best is to load the human mesh before, if you want to change geometry. The clothes will also fit to a different body, but in this case they will not look as good as on the body, they were made for. But the advantage is, that e.g. clothes created for males can be used as a base for a female version.
When clothes are imported, Most of fields are filled in by the process and the delete-group is marked on the human (in case a humans is available).
The material is also loaded, when MakeSkin is available. The illustration shows the result of the import of the "lace_up_blouse". A material called "lace_up_blouse" was created in blender. All available information is imported and displayed. This includes the special parameters only used in MakeHuman (Backface culling, Transparent, LitSphere etc.). So also the material setup could be used for a new piece of cloth.
[[File:Mc2_importclothes.png]]
c5a2d8f8801a9618bbb0853ea8400a9b517bb914
1834
2020-07-26T08:59:09Z
Punkduck
38
Created page with "Caution: this file is still under construction :) = Makeclothes Version 2 = [[File:makeclothestitle.jpg]] MakeClothes2 is used to create clothes for MakeHuman characters...."
wikitext
text/x-wiki
Caution: this file is still under construction :)
= Makeclothes Version 2 =
[[File:makeclothestitle.jpg]]
MakeClothes2 is used to create clothes for MakeHuman characters. It could be installed as a single plugin, but at least MakeSkin should be used, if the creation of material is also part of your work. Furthermore it is able to work with the human base mesh provided by MPFB.
The term "clothes" is not really correct, the program creates any kind of mesh which can be used for a character generated by MakeHuman. This also includes hair and different tongue or a new proxy. To use MakeClothes in Blender knowledge of Blender itself is needed.
== Notation ==
To understand the process, a short summary of terms used in MakeHuman:
* '''base mesh''': The base mesh is the standard body mesh used in MakeHuman. It has an exact number of vertices and each vertex has a number, starting with number 0 to 13379.
* '''helper mesh''': The helper mesh is used to create all parts not directly attached to the body. This includes body parts like teeth, tongue and eyes and (male) genital, but also is used for generation of clothes (tights and skirt) and hair. The helper mesh is also deformed invisible in MakeHuman, when you change the character. The helper mesh comes with the base mesh.
* '''proxy''': in a way all meshes projected on the body are proxies. Also the clothes are proxies, but in this case proxies should only be alternative meshes for the skin of the body
* '''smoothing''': MakeHuman may use smoothing on a base mesh. This results in a mesh with 4 times as many vertices. <u>This mesh cannot be used for MakeClothes.</u>
* '''clothes''': clothes will be all meshes MakeClothes is able to create. Hair and body proxies included.
* '''posing''': the standard "unposed" base mesh is presented in an A-Pose. Other poses are T-Pose or a pose which is user generated. Typically these poses are created with the standard skeleton. Shapekeys can be used as a special pose too.
* '''weighting''': when a character is posed the skin but also the clothes should follow the bones. So weights are added to each vertex. These weights determine how much a bone will be followed. MakeClothes uses a similar construction, since the clothes follow vertices on the helper or base mesh.
[[File:Mc2_meshes_to_use.png]]
Only base mesh and helper can be used to create clothes.
== Limits ==
Makeclothes has certain limits according to the internal structure of MakeHuman
* The mesh for the clothes can either be done with quads or with triangles. No mixture allowed. Advantage for quads is a smoother design with a later usage of subdivision surface algorithm (smoothing). Triangles are normally used for e.g. sculpting or when you work with 3rd party meshes.
* only one material for one piece of cloth is allowed in MakeHuman
* each vertex of a piece of cloth uses 3 vertices on body or helper to find its position according to the human created in MakeHuman
* each vertex of a piece of cloth needs to be in one (and only one) vertex group. A group of the same name must be created on the human
* it is possible to create more than one piece of cloth with one human
* only one human is allowed when clothes are created. So only one object is "marked as human". However, if you need more than one base mesh, all others can be marked as clothes
[[File:Mc2_makeclothes2.png|right]]
== How to load a human ==
MakeHuman uses a mesh called hm08. Makeclothes is prepared to deal with other meshes as well for future versions. When the mesh is changed it must be changed in MakeHuman as well. So this documentation will only consider the hm08 base mesh.
To create clothes you can create them directly on the body or on the helper mesh. For underwear the nude body is best choice, but for a coat the helper mesh will be used. A good method for e.g. a skirt or coat is to design the piece of cloth on the nude body and then use the helper mesh for weighting in the end.
There are currently a few possibilities to load a human. The simplest way is to load a predefined one or to use MPFB, both have some vertex-groups assigned:
* '''Load a predefined human'''
Blend-files which are placed in the "humans" sub-directory of the makeclothes plugin can be used directly. When MakeClothes starts, these blend-files are scanned once and names of the objects starting with "mh_" are presented in a menu. The selected mesh is appended by pressing the "Import predefined human" button.
[[File:Mc2_loadpredef.png]]
In case of a helper mesh, the parts of the mesh are assigned to different vertex-groups to allow an easy selection and use different colors.
After the mesh is loaded these buttons disappear, because one human is already loaded. The loaded mesh is automatically marked as a human. To load another human either delete the human or mark your human as clothes.
{| style="color:green; background-color:#ffffcc;"
|-
|The files of the pre-defined humans are not yet included in the repository, this will happen soon, different meshes will be provided, also t-posed ones. If you want to work with that already:
|-
|create folder humans in Blender directory scripts/addons/makeclothes
|-
|unzip this file [http://www.makehumancommunity.org/forum/download/file.php?id=8095 Zip-File with male and female meshes]
|-
|move both blend files into this folder.
|-
|}
* '''Load the human via MPFB'''
Makehuman Plugin for Blender also can provide a base mesh. Be aware that the best base is an unmodified male or female mesh, because the clothes will fit most of the characters. Do not use proxies. If you import an human this is already the base mesh. If you need the helpers, change settings according to the illustration and import the mesh. Instead of "don't modify" you can also use "Mask".
[[File:Mc2_loadhumanmfb.png]]
* '''Load normal base.obj file'''
This is the way using the predefined base.obj file which can be downloaded from github. MakeClothes reads the wavefront file. Vertex groups are created according to the .obj file. Disadvantage: this mesh is neither male nor female.
An exported wavefront mesh made by MakeHuman can be used as well (no proxy, do not use smoothing and delete the extra eyes). It is possible to export it including the helpers. Unfortunately it has no vertex groups assigned. This must be done in Blender later.
* '''Load an mhx2 file'''
The body (no proxy, do not use smoothing and delete the extra eyes) used by mhx2 export can also be used as a base mesh. When you load it you have to select Override Exported Data and the mark Helper Geometry before importing it.
* '''Delete helpers'''
If a mesh is loaded and the helpers are not needed, the helpers can be deleted. In this case a vertex-group "body" is expected, all vertices belonging to other groups are deleted. If body is not available, nothing will be done.
== Tell MakeClothes the type of the object ==
[[File:Mc2_customprops.png|right]]
To create clothes, one object must be marked as human and at least one as clothes. If you work with more than one human, all others must be marked as clothes temporarily. When you mark one object as human a previously marked human will automatically be marked as clothes. The custom properties of the object will held this information.
== Create simple clothes (extract from helper) ==
In case a helper mesh is available it is possible to use the helpers as a first try. Especially for beginners (but also for the advanced for a good weighting) this could be helpful.
<more text to be written>
== Test the human mesh ==
The human loaded with one of the methods usually should not have problems. Nevertheless there is a small test available to check the human. This test is also automatically done when clothes are created.
* the number of human objects must be one
* there must be one vertex group on the human
* no vertex belongs to an non-existing group
[[File:Mc2_checkhuman.png]]
== Test the clothes ==
Clothes need a bit more testing.
* clothes should not have stray geometry. These are single vertices or edges. If this problem appears, change into edit mode. The vertices are pre-selected. Simply delete them or change geometry otherwise.
* maximum number of vertices per face is 4. If you have more than this, these faces are selected and must be changed.
* clothes can be quad or triangle meshes. A mixture is not allowed. The process assumes a mesh type and selects the faces to be changed.
* the process tests if at least one vertex group is available
* all vertices must belong to one vertex group. Vertices belonging to no group are selected and can be changed in edit mode.
* all vertices must belong to only one vertex group. Vertices belonging to more than one group are selected and can be changed in edit mode.
* no vertex belongs to an non-existing group
* a test is done, how many edges belong to one vertex. Typically quad meshes with a low pole-count will have better geometric qualities. This is only a warning. The vertices with more than 8 neighbor vertices will be selected and can be changed in edit mode.
[[File:Mc2_checkclothes.png]]
== Common settings ==
The common settings will provide the '''license''' and the name of the '''author''', which will be used for all the clothes generated with this file.
* '''Overwrite existing files''' is switched off. The name of the piece of cloth is used as a filename. If it is necessary to overwrite an existing object, the box must be marked.
* '''Modifiers are allowed'''. Typically the mirror modifier may make sense. Be careful with e.g. subdivision surface, because it may produce a huge number of vertices. When the clothes should be designed with subdivision surface but created without, switch off "Allow Modifiers"
== Produce clothes ==
The main features of creating clothes are:
* '''name''': this is the name of the piece of cloth, also the filename
* '''comment''': a short optional description
* '''tags''': a list of predefined and own tags as a search criteria for MakeHuman
[[File:Mc2_tagselector.png]]
* '''zdepth''': determines the order of clothes. Lower values are used for clothes near the body, higher values for parts far away. This will be used to hide clothes near the body. A rule of thumb is to start with underware at 31, normal clothes (pants, t-shirt, shoes) use a default value of 50 and clothes like a coat usually use high values like 63. The following illustration shows the effect for a character equipped with ballet clothes. It also demonstrates what is happening when all values are equal.
[[File:Mc2_zdepth.png]]
* '''scaling''': select the part of the body which is important for the scaling. Most likely torso for a t-shirt, head for a hat etc.
* '''delete-group''': it is a good method to delete vertices on the body if clothes are not transparent. This avoids bleeding through, that is, that vertices that should be "inside" suddenly appear outside of the clothes. All vertices not to be displayed should be selected on the body (not helper) and assigned to a vertex on the human. The name of this group must be inserted in the box. If more than one piece of cloth is created, they all can have a different delete-group on the same human.
* '''use MakeSkin''': without MakeSkin a simple material is saved for the piece of cloth (white base color). Otherwise the material file of the plugin MakeSkin is used
<more specific text will follow>
* '''subdir''': the directory inside where the clothes will be created.
== Materials ==
Most of the clothes will need a texture. Before the texture can be used the piece of cloth must be unwrapped. Best way is to create seams in Blender, where the real seams are.
Unwrap the clothes in any case. The output of this process is a UV-Map, which will be used to determine the coordinates of each vertex on the texture.
<will be changed later with information about makeskin and some advice how to do good textures etc.>
== Creating of own clothes ==
To create clothes select the piece of cloth and press produce clothes. The tests "check clothes" and "check human" are processed and also an additional test about matching vertex groups is done. If everything is okay, the clothes can be loaded in MakeHuman.
<will contain a lot of tips & tricks later>
== Special poses, heels etc. ==
<works with a special target in MakeHuman and a pose changed with shape key in MakeClothes>
== Importing existent clothes ==
It is possible to load an existent mhclo-file from the data folder of MakeHuman. Best is to load the human mesh before, if you want to change geometry. The clothes will also fit to a different body, but in this case they will not look as good as on the body, they were made for. But the advantage is, that e.g. clothes created for males can be used as a base for a female version.
When clothes are imported, Most of fields are filled in by the process and the delete-group is marked on the human (in case a humans is available).
The material is also loaded, when MakeSkin is available. The illustration shows the result of the import of the "lace_up_blouse". A material called "lace_up_blouse" was created in blender. All available information is imported and displayed. This includes the special parameters only used in MakeHuman (Backface culling, Transparent, LitSphere etc.). So also the material setup could be used for a new piece of cloth.
[[File:Mc2_importclothes.png]]
7baa4dca610246829136715162acd2244d46a0cf
Documentation:Collection of old documents
3000
640
1951
1832
2020-11-29T11:15:09Z
Punkduck
38
wikitext
text/x-wiki
== MakeClothes: old version ==
* [[Documentation:Clothes|MakeClothes V1]] (documentation replaced '''MHBlenderTools: MakeClothes''', see below)
* [[Documentation:Making a simple dress|Making a simple dress]]
* [[Documentation:Making diapers for a baby|Making diapers for a baby]]
* [[Documentation:Controlling the result with vertex groups|Controlling the result with vertex groups]]
* [[Documentation:Modeling a sword|Modeling a sword]]
== MakeTarget: old version ==
* [[Documentation:Targets|MakeTarget V1]]
== Old blender plugins ==
The following have been merged in other pages, but they are left here if something got lost in the translation:
* [[ Documentation:MHBlenderTools: Download and installation|MHBlenderTools: Download and installation ]]: How to download and install the addons for Blender
* [[ Documentation:MHBlenderTools: MakeTarget|MHBlenderTools: MakeTarget ]]: Description of the MakeTarget™ tool, to create custom morphings for MakeHuman.
* [[ Documentation:MHBlenderTools:MakeClothes|MHBlenderTools: MakeClothes ]]: Description of the MakeClothes™ tool, to create custom clothes for MakeHuman.
== Documentation from Drupal ==
[[Documentation:Big dump from drupal]]
(most of this should now have been ported to separate pages as per above)
3f6835c3c47e03e37391a04851aa008864fd0968
1832
1831
2020-07-26T08:32:50Z
Punkduck
38
wikitext
text/x-wiki
== MakeClothes: old version ==
* [[Documentation:Clothes|MakeClothes V1]] (documentation replaced '''MHBlenderTools: MakeClothes''', see below)
* [[Documentation:Making a simple dress|Making a simple dress]]
* [[Documentation:Making diapers for a baby|Making diapers for a baby]]
* [[Documentation:Controlling the result with vertex groups|Controlling the result with vertex groups]]
* [[Documentation:Modeling a sword|Modeling a sword]]
== Old blender plugins ==
The following have been merged in other pages, but they are left here if something got lost in the translation:
* [[ Documentation:MHBlenderTools: Download and installation|MHBlenderTools: Download and installation ]]: How to download and install the addons for Blender
* [[ Documentation:MHBlenderTools: MakeTarget|MHBlenderTools: MakeTarget ]]: Description of the MakeTarget™ tool, to create custom morphings for MakeHuman.
* [[ Documentation:MHBlenderTools:MakeClothes|MHBlenderTools: MakeClothes ]]: Description of the MakeClothes™ tool, to create custom clothes for MakeHuman.
== Documentation from Drupal ==
[[Documentation:Big dump from drupal]]
(most of this should now have been ported to separate pages as per above)
28364bc83ffd7e417bb6b8ee5fbe1df1cf201099
1831
2020-07-26T08:21:24Z
Punkduck
38
Created page with "== MakeClothes: old version == * [[Documentation:Making a simple dress|Making a simple dress]] * [[Documentation:Making diapers for a baby|Making diapers for a baby]] * Do..."
wikitext
text/x-wiki
== MakeClothes: old version ==
* [[Documentation:Making a simple dress|Making a simple dress]]
* [[Documentation:Making diapers for a baby|Making diapers for a baby]]
* [[Documentation:Controlling the result with vertex groups|Controlling the result with vertex groups]]
* [[Documentation:Modeling a sword|Modeling a sword]]
== Old blender plugins ==
The following have been merged in other pages, but they are left here if something got lost in the translation:
* [[ Documentation:MHBlenderTools: Download and installation|MHBlenderTools: Download and installation ]]: How to download and install the addons for Blender
* [[ Documentation:MHBlenderTools: MakeTarget|MHBlenderTools: MakeTarget ]]: Description of the MakeTarget™ tool, to create custom morphings for MakeHuman.
* [[ Documentation:MHBlenderTools:MakeClothes|MHBlenderTools: MakeClothes ]]: Description of the MakeClothes™ tool, to create custom clothes for MakeHuman.
== Documentation from Drupal ==
[[Documentation:Big dump from drupal]]
(most of this should now have been ported to separate pages as per above)
235df369bc4cfbaafb8e467a73b45607da7d33e3
Documentation:Configuration and settings
3000
236
1309
1308
2017-02-11T13:23:31Z
Aranuvir
17
/* The Plugins tab */
wikitext
text/x-wiki
== The General tab ==
The general settings include important features that can make a huge difference in MakeHuman's performance.
[[File:general.png]]
=== Slider behaviour ===
* Update realtime. This option recalculates the human shape in real time during the slider movements. This requires more CPU resources.
* Update normals real time. By enabling this option, the normals are updated during the slider movements in order to see a correct shading in real time. Computing the surface normals requires an intensive CPU calculation, so this can slow down old PCs.
* Fit objects in realtime. By enabling it, all objects (eyes, hair, clothes, teeth, etc..) are fitted in real time during the body transformations. This requires more CPU resources.
* Autozoom camera. Enabling it will automatically zoom in the camera to the zone of interest. For example, editing the head, it will zoom in to it, editing the hand, it will automatically zoom in to the hand, etc.. This can be useful in some cases, but it doesn't allow custom point of view, so this option is disabled by default.
* Slider images. Enable the images to illustrate the sliders' effect. Disable it for a more compact list of controls.
=== Units ===
This setting is to choose the measurement system that will be used :
* Metric, to use meters, centimeters, etc
* Imperial, to use inch, feet,etc..
=== Startup ===
* Preload macro targets. This option is very important for perfomance and startup loading time. Using the preload increases a lot the performance, but in the case when the targets are not compiled (for example the raw targets cloned from HG) it will considerably increase the loading time during startup.
* Restore windows size. This option is just to remember the custom windows size used for MakeHuman.
=== Theme and languages. ===
These options areself explanatory. MakeHuman needs to be restarted for a change in the language settings to be effective.
== The background tab ==
The Background tab allows you to add background/foreground images to use as a modelling reference or to create a scene within MakeHuman™ for the Short Pipeline.
When you open the Background tab you will see a "None" icon and a list of thumbnails of the files within the backgrounds folder in the home folder (see [[FAQ:Where are my MakeHuman files found (where is my HOME directory)?]]), if they are present. The "None" icon is used to remove the background from the MakeHuman™ scene.
[[File:background_0_0.png]]
=== Different backgrounds for different sides ===
Prior to selecting an image you should first determine the side of the MakeHuman™ scene where you want the image to appear. You can specify where you would like the background placed relative to your MakeHuman™ character with the Side control choices on the right hand side of the Background tab screen.
The first six (6) options set the background in your scene using the standard Camera view positions. If you choose the last radio button option labeled "Other" you can add the background into the scene with the character and camera position however it was last set, as long as it was not in one of the predfined camera views.
If you are placing an image to act as a reference image for modelling your character, you should select the side that matches your reference facing.
You can insert up to 7 different images into the MakeHuman™ scene by applying a different image to each Side option. As the camera view changes into each side view or other view angle, the image shown will change as match your image side configuration for each of the camera side views shown in the modelling window. The background image, in fact, will only appear while the camera remains in the side view specified. Pressing one of the camera view options is the easiest way to get a background image to reappear if it disappears due to a camera view change.
=== Background opacity and position. ===
The Background Setting options allow you to set the background image's opacity using the Opacity slider control, which determines how transparent or opaque the image will appear in the scene, and to set the image as a background or foreground. These controls are particularly useful when you are using reference images to model your character.
The standard Opacity setting of 100 is equivalent to a 60% transparency level. Setting the control to 0 will make the image invisible (100% transparency) and setting the opacity control to 250 will make the image fully opaque (0% tranparency).
The "Show in Foreground" checkbox option allows you to place the image in front of the character in the scene so that the character will be obscured according to the opacity level setting of the background image. This option should be checked if the image will be used as a reference image for modelling.
The background can be moved and resized to properly fit the character, checking the options in the left side and then clicking and dragging with leftbutton or rightbutton.
== The Mouse tab ==
THe "Mouse" tab allows you to configure the behaviour of the mouse in makehuman.
[[File:mouse_001.png]]
The first wiidget in the left panel contains one slider labelled "3D viewport Speed". This slider controls the how sensitive the viewport is to mouse movement. As you increase this parameter the viewport become increasingly sensitive to mouse movements, thereby moving faster. Tweak this parameter with care. A value of one is the default speed at which makehuman models rotate and move in response to the mouse. Increase this parameter if you feel that the movements are too slow for your liking.
The second widget inside the left panel is the "Camera" widget this widget allows you to configure the mouse settings used to control the camera. This also allows you to invert the mouse wheel.
Note:With the orbital camera, panning is available only in certain situations. Therefore, the "Move" shortcut has been made available for configuration. If you cannot pan your model it may not a bug.
== The Shortcuts tab ==
THe "Shortcuts" tab helps us to manage shortcuts in makehuman.
For your convinience shortcuts have been organised into 3 categories. The first category with the largest number of shrrtcuts available for configuration is the "Camera" category whose panel is located on the left hand side. THe other two categories are "Actions" and "Navigation". The "Action" panel helps us to alter shortcuts for actions such as undo and redo. The "Navigation" panel helps us to set shortcuts to quickly navigate between various frequently used tabs in Makehuman.
[[File:shortcuts-mh_002.jpg]]
Managing of shortcuts is very easy inside makehuman. Just select the appropriate box with the current shortcut key andf type in thenew shortcut key/key combination. Makehuman will warn you if there are duplicates.
== The Plugins tab ==
Makehuman is designed using a modular approach. All features within makehuman belong to one module or the other. THese modules are called Plugins. With the help of the "Plugins" tab in makehuman we can enable or disable certain plugins thereby altering the feature set available.
This feature is useful when:
* A particular feature is uneeded and you want to improve performance of makehuman by disabling it.
* A particular plugin is giving problems on your machine and you would like to disable it to avoid accidently triggering the fault again.
[[File:plugins-mh_002.png]]
By default all plugins are enabled. Plugins can be disabled by clicking on the option buttons and removing the "x" next to the related plugin.
97c29be5ea9d5c73fe29fba250d5c5ccf583f794
1308
1101
2017-02-11T13:21:47Z
Aranuvir
17
/* The background tab */
wikitext
text/x-wiki
== The General tab ==
The general settings include important features that can make a huge difference in MakeHuman's performance.
[[File:general.png]]
=== Slider behaviour ===
* Update realtime. This option recalculates the human shape in real time during the slider movements. This requires more CPU resources.
* Update normals real time. By enabling this option, the normals are updated during the slider movements in order to see a correct shading in real time. Computing the surface normals requires an intensive CPU calculation, so this can slow down old PCs.
* Fit objects in realtime. By enabling it, all objects (eyes, hair, clothes, teeth, etc..) are fitted in real time during the body transformations. This requires more CPU resources.
* Autozoom camera. Enabling it will automatically zoom in the camera to the zone of interest. For example, editing the head, it will zoom in to it, editing the hand, it will automatically zoom in to the hand, etc.. This can be useful in some cases, but it doesn't allow custom point of view, so this option is disabled by default.
* Slider images. Enable the images to illustrate the sliders' effect. Disable it for a more compact list of controls.
=== Units ===
This setting is to choose the measurement system that will be used :
* Metric, to use meters, centimeters, etc
* Imperial, to use inch, feet,etc..
=== Startup ===
* Preload macro targets. This option is very important for perfomance and startup loading time. Using the preload increases a lot the performance, but in the case when the targets are not compiled (for example the raw targets cloned from HG) it will considerably increase the loading time during startup.
* Restore windows size. This option is just to remember the custom windows size used for MakeHuman.
=== Theme and languages. ===
These options areself explanatory. MakeHuman needs to be restarted for a change in the language settings to be effective.
== The background tab ==
The Background tab allows you to add background/foreground images to use as a modelling reference or to create a scene within MakeHuman™ for the Short Pipeline.
When you open the Background tab you will see a "None" icon and a list of thumbnails of the files within the backgrounds folder in the home folder (see [[FAQ:Where are my MakeHuman files found (where is my HOME directory)?]]), if they are present. The "None" icon is used to remove the background from the MakeHuman™ scene.
[[File:background_0_0.png]]
=== Different backgrounds for different sides ===
Prior to selecting an image you should first determine the side of the MakeHuman™ scene where you want the image to appear. You can specify where you would like the background placed relative to your MakeHuman™ character with the Side control choices on the right hand side of the Background tab screen.
The first six (6) options set the background in your scene using the standard Camera view positions. If you choose the last radio button option labeled "Other" you can add the background into the scene with the character and camera position however it was last set, as long as it was not in one of the predfined camera views.
If you are placing an image to act as a reference image for modelling your character, you should select the side that matches your reference facing.
You can insert up to 7 different images into the MakeHuman™ scene by applying a different image to each Side option. As the camera view changes into each side view or other view angle, the image shown will change as match your image side configuration for each of the camera side views shown in the modelling window. The background image, in fact, will only appear while the camera remains in the side view specified. Pressing one of the camera view options is the easiest way to get a background image to reappear if it disappears due to a camera view change.
=== Background opacity and position. ===
The Background Setting options allow you to set the background image's opacity using the Opacity slider control, which determines how transparent or opaque the image will appear in the scene, and to set the image as a background or foreground. These controls are particularly useful when you are using reference images to model your character.
The standard Opacity setting of 100 is equivalent to a 60% transparency level. Setting the control to 0 will make the image invisible (100% transparency) and setting the opacity control to 250 will make the image fully opaque (0% tranparency).
The "Show in Foreground" checkbox option allows you to place the image in front of the character in the scene so that the character will be obscured according to the opacity level setting of the background image. This option should be checked if the image will be used as a reference image for modelling.
The background can be moved and resized to properly fit the character, checking the options in the left side and then clicking and dragging with leftbutton or rightbutton.
== The Mouse tab ==
THe "Mouse" tab allows you to configure the behaviour of the mouse in makehuman.
[[File:mouse_001.png]]
The first wiidget in the left panel contains one slider labelled "3D viewport Speed". This slider controls the how sensitive the viewport is to mouse movement. As you increase this parameter the viewport become increasingly sensitive to mouse movements, thereby moving faster. Tweak this parameter with care. A value of one is the default speed at which makehuman models rotate and move in response to the mouse. Increase this parameter if you feel that the movements are too slow for your liking.
The second widget inside the left panel is the "Camera" widget this widget allows you to configure the mouse settings used to control the camera. This also allows you to invert the mouse wheel.
Note:With the orbital camera, panning is available only in certain situations. Therefore, the "Move" shortcut has been made available for configuration. If you cannot pan your model it may not a bug.
== The Shortcuts tab ==
THe "Shortcuts" tab helps us to manage shortcuts in makehuman.
For your convinience shortcuts have been organised into 3 categories. The first category with the largest number of shrrtcuts available for configuration is the "Camera" category whose panel is located on the left hand side. THe other two categories are "Actions" and "Navigation". The "Action" panel helps us to alter shortcuts for actions such as undo and redo. The "Navigation" panel helps us to set shortcuts to quickly navigate between various frequently used tabs in Makehuman.
[[File:shortcuts-mh_002.jpg]]
Managing of shortcuts is very easy inside makehuman. Just select the appropriate box with the current shortcut key andf type in thenew shortcut key/key combination. Makehuman will warn you if there are duplicates.
== The Plugins tab ==
Makehuman is designed using a modular approach. All features within makehuman belong to one module or the other. THese modules are called Plugins. With the help of the "Plugins" tab in makehuman we can enable or disable certain plugins thereby altering the feature set available.
This feature is useful when:
* A particular feature is uneeded and you want to improve performance of makehuman by disabling it.
* A particular plugin is giving problems on your machine and you would like to disable it to avoid accidently triggering the fault again.
[[File:plugins-mh_002.png]]
By default all plugins are enabled plugins can be disabled by clicking on the option buttons and removing the "x" next to the related plugin.
343d053ee234454fc48869fec54f8a37e7c09115
1101
777
2016-07-05T17:03:31Z
Aranuvir
17
wikitext
text/x-wiki
== The General tab ==
The general settings include important features that can make a huge difference in MakeHuman's performance.
[[File:general.png]]
=== Slider behaviour ===
* Update realtime. This option recalculates the human shape in real time during the slider movements. This requires more CPU resources.
* Update normals real time. By enabling this option, the normals are updated during the slider movements in order to see a correct shading in real time. Computing the surface normals requires an intensive CPU calculation, so this can slow down old PCs.
* Fit objects in realtime. By enabling it, all objects (eyes, hair, clothes, teeth, etc..) are fitted in real time during the body transformations. This requires more CPU resources.
* Autozoom camera. Enabling it will automatically zoom in the camera to the zone of interest. For example, editing the head, it will zoom in to it, editing the hand, it will automatically zoom in to the hand, etc.. This can be useful in some cases, but it doesn't allow custom point of view, so this option is disabled by default.
* Slider images. Enable the images to illustrate the sliders' effect. Disable it for a more compact list of controls.
=== Units ===
This setting is to choose the measurement system that will be used :
* Metric, to use meters, centimeters, etc
* Imperial, to use inch, feet,etc..
=== Startup ===
* Preload macro targets. This option is very important for perfomance and startup loading time. Using the preload increases a lot the performance, but in the case when the targets are not compiled (for example the raw targets cloned from HG) it will considerably increase the loading time during startup.
* Restore windows size. This option is just to remember the custom windows size used for MakeHuman.
=== Theme and languages. ===
These options areself explanatory. MakeHuman needs to be restarted for a change in the language settings to be effective.
== The background tab ==
The Background tab allows you to add background/foreground images to use as a modelling reference or to create a scene within MakeHuman™ for the Short Pipeline.
When you open the Background tab you will see a "None" icon and a list of thumbnails of the files within the backgrounds folder in the!LINK!http://www.makehuman.org/doc/faq/where_is_my_home.html -- MakeHuman home folder!/LINK!, if they are present. The "None" icon is used to remove the background from the MakeHuman™ scene.
[[File:background_0_0.png]]
=== Different backgrounds for different sides ===
Prior to selecting an image you should first determine the side of the MakeHuman™ scene where you want the image to appear. You can specify where you would like the background placed relative to your MakeHuman™ character with the Side control choices on the right hand side of the Background tab screen.
The first six (6) options set the background in your scene using the standard Camera view positions. If you choose the last radio button option labeled "Other" you can add the background into the scene with the character and camera position however it was last set, as long as it was not in one of the predfined camera views.
If you are placing an image to act as a reference image for modelling your character, you should select the side that matches your reference facing.
You can insert up to 7 different images into the MakeHuman™ scene by applying a different image to each Side option. As the camera view changes into each side view or other view angle, the image shown will change as match your image side configuration for each of the camera side views shown in the modelling window. The background image, in fact, will only appear while the camera remains in the side view specified. Pressing one of the camera view options is the easiest way to get a background image to reappear if it disappears due to a camera view change.
=== Background opacity and position. ===
The Background Setting options allow you to set the background image's opacity using the Opacity slider control, which determines how transparent or opaque the image will appear in the scene, and to set the image as a background or foreground. These controls are particularly useful when you are using reference images to model your character.
The standard Opacity setting of 100 is equivalent to a 60% transparency level. Setting the control to 0 will make the image invisible (100% transparency) and setting the opacity control to 250 will make the image fully opaque (0% tranparency).
The "Show in Foreground" checkbox option allows you to place the image in front of the character in the scene so that the character will be obscured according to the opacity level setting of the background image. This option should be checked if the image will be used as a reference image for modelling.
The background can be moved and resized to properly fit the character, checking the options in the left side and then clicking and dragging with leftbutton or rightbutton.
== The Mouse tab ==
THe "Mouse" tab allows you to configure the behaviour of the mouse in makehuman.
[[File:mouse_001.png]]
The first wiidget in the left panel contains one slider labelled "3D viewport Speed". This slider controls the how sensitive the viewport is to mouse movement. As you increase this parameter the viewport become increasingly sensitive to mouse movements, thereby moving faster. Tweak this parameter with care. A value of one is the default speed at which makehuman models rotate and move in response to the mouse. Increase this parameter if you feel that the movements are too slow for your liking.
The second widget inside the left panel is the "Camera" widget this widget allows you to configure the mouse settings used to control the camera. This also allows you to invert the mouse wheel.
Note:With the orbital camera, panning is available only in certain situations. Therefore, the "Move" shortcut has been made available for configuration. If you cannot pan your model it may not a bug.
== The Shortcuts tab ==
THe "Shortcuts" tab helps us to manage shortcuts in makehuman.
For your convinience shortcuts have been organised into 3 categories. The first category with the largest number of shrrtcuts available for configuration is the "Camera" category whose panel is located on the left hand side. THe other two categories are "Actions" and "Navigation". The "Action" panel helps us to alter shortcuts for actions such as undo and redo. The "Navigation" panel helps us to set shortcuts to quickly navigate between various frequently used tabs in Makehuman.
[[File:shortcuts-mh_002.jpg]]
Managing of shortcuts is very easy inside makehuman. Just select the appropriate box with the current shortcut key andf type in thenew shortcut key/key combination. Makehuman will warn you if there are duplicates.
== The Plugins tab ==
Makehuman is designed using a modular approach. All features within makehuman belong to one module or the other. THese modules are called Plugins. With the help of the "Plugins" tab in makehuman we can enable or disable certain plugins thereby altering the feature set available.
This feature is useful when:
* A particular feature is uneeded and you want to improve performance of makehuman by disabling it.
* A particular plugin is giving problems on your machine and you would like to disable it to avoid accidently triggering the fault again.
[[File:plugins-mh_002.png]]
By default all plugins are enabled plugins can be disabled by clicking on the option buttons and removing the "x" next to the related plugin.
3c8771908e38b4d2f735b5e3dad6f2da5ac4d124
777
776
2016-05-24T12:02:59Z
Joepal
14
wikitext
text/x-wiki
== The General tab ==
The general settings include important features that can make a huge difference in MakeHuman's performance.
!IMAGE!Pictures/general.png!/IMAGE!
=== Slider behaviour ===
* Update realtime. This option recalculates the human shape in real time during the slider movements. This requires more CPU resources.
* Update normals real time. By enabling this option, the normals are updated during the slider movements in order to see a correct shading in real time. Computing the surface normals requires an intensive CPU calculation, so this can slow down old PCs.
* Fit objects in realtime. By enabling it, all objects (eyes, hair, clothes, teeth, etc..) are fitted in real time during the body transformations. This requires more CPU resources.
* Autozoom camera. Enabling it will automatically zoom in the camera to the zone of interest. For example, editing the head, it will zoom in to it, editing the hand, it will automatically zoom in to the hand, etc.. This can be useful in some cases, but it doesn't allow custom point of view, so this option is disabled by default.
* Slider images. Enable the images to illustrate the sliders' effect. Disable it for a more compact list of controls.
=== Units ===
This setting is to choose the measurement system that will be used :
* Metric, to use meters, centimeters, etc
* Imperial, to use inch, feet,etc..
=== Startup ===
* Preload macro targets. This option is very important for perfomance and startup loading time. Using the preload increases a lot the performance, but in the case when the targets are not compiled (for example the raw targets cloned from HG) it will considerably increase the loading time during startup.
* Restore windows size. This option is just to remember the custom windows size used for MakeHuman.
=== Theme and languages. ===
These options areself explanatory. MakeHuman needs to be restarted for a change in the language settings to be effective.
== The background tab ==
The Background tab allows you to add background/foreground images to use as a modelling reference or to create a scene within MakeHuman™ for the Short Pipeline.
When you open the Background tab you will see a "None" icon and a list of thumbnails of the files within the backgrounds folder in the!LINK!http://www.makehuman.org/doc/faq/where_is_my_home.html -- MakeHuman home folder!/LINK!, if they are present. The "None" icon is used to remove the background from the MakeHuman™ scene.
!IMAGE!Pictures/background_0_0.png!/IMAGE!
=== Different backgrounds for different sides ===
Prior to selecting an image you should first determine the side of the MakeHuman™ scene where you want the image to appear. You can specify where you would like the background placed relative to your MakeHuman™ character with the Side control choices on the right hand side of the Background tab screen.
The first six (6) options set the background in your scene using the standard Camera view positions. If you choose the last radio button option labeled "Other" you can add the background into the scene with the character and camera position however it was last set, as long as it was not in one of the predfined camera views.
If you are placing an image to act as a reference image for modelling your character, you should select the side that matches your reference facing.
You can insert up to 7 different images into the MakeHuman™ scene by applying a different image to each Side option. As the camera view changes into each side view or other view angle, the image shown will change as match your image side configuration for each of the camera side views shown in the modelling window. The background image, in fact, will only appear while the camera remains in the side view specified. Pressing one of the camera view options is the easiest way to get a background image to reappear if it disappears due to a camera view change.
=== Background opacity and position. ===
The Background Setting options allow you to set the background image's opacity using the Opacity slider control, which determines how transparent or opaque the image will appear in the scene, and to set the image as a background or foreground. These controls are particularly useful when you are using reference images to model your character.
The standard Opacity setting of 100 is equivalent to a 60% transparency level. Setting the control to 0 will make the image invisible (100% transparency) and setting the opacity control to 250 will make the image fully opaque (0% tranparency).
The "Show in Foreground" checkbox option allows you to place the image in front of the character in the scene so that the character will be obscured according to the opacity level setting of the background image. This option should be checked if the image will be used as a reference image for modelling.
The background can be moved and resized to properly fit the character, checking the options in the left side and then clicking and dragging with leftbutton or rightbutton.
== The Mouse tab ==
THe "Mouse" tab allows you to configure the behaviour of the mouse in makehuman.
!IMAGE!Pictures/mouse_001.png!/IMAGE!
The first wiidget in the left panel contains one slider labelled "3D viewport Speed". This slider controls the how sensitive the viewport is to mouse movement. As you increase this parameter the viewport become increasingly sensitive to mouse movements, thereby moving faster. Tweak this parameter with care. A value of one is the default speed at which makehuman models rotate and move in response to the mouse. Increase this parameter if you feel that the movements are too slow for your liking.
The second widget inside the left panel is the "Camera" widget this widget allows you to configure the mouse settings used to control the camera. This also allows you to invert the mouse wheel.
Note:With the orbital camera, panning is available only in certain situations. Therefore, the "Move" shortcut has been made available for configuration. If you cannot pan your model it may not a bug.
== The Shortcuts tab ==
THe "Shortcuts" tab helps us to manage shortcuts in makehuman.
For your convinience shortcuts have been organised into 3 categories. The first category with the largest number of shrrtcuts available for configuration is the "Camera" category whose panel is located on the left hand side. THe other two categories are "Actions" and "Navigation". The "Action" panel helps us to alter shortcuts for actions such as undo and redo. The "Navigation" panel helps us to set shortcuts to quickly navigate between various frequently used tabs in Makehuman.
!IMAGE!Pictures/shortcuts-mh_002.jpg!/IMAGE!
Managing of shortcuts is very easy inside makehuman. Just select the appropriate box with the current shortcut key andf type in thenew shortcut key/key combination. Makehuman will warn you if there are duplicates.
== The Plugins tab ==
Makehuman is designed using a modular approach. All features within makehuman belong to one module or the other. THese modules are called Plugins. With the help of the "Plugins" tab in makehuman we can enable or disable certain plugins thereby altering the feature set available.
This feature is useful when:
* A particular feature is uneeded and you want to improve performance of makehuman by disabling it.
* A particular plugin is giving problems on your machine and you would like to disable it to avoid accidently triggering the fault again.
!IMAGE!Pictures/plugins-mh_002.png!/IMAGE!
By default all plugins are enabled plugins can be disabled by clicking on the option buttons and removing the "x" next to the related plugin.
e1588fc279254354cb4544b479ff4f844836bfbe
776
775
2016-05-24T12:01:57Z
Joepal
14
wikitext
text/x-wiki
== The General tab ==
The general settings include important features that can make a huge difference in MakeHuman's performance.
!IMAGE!Pictures/general.png!/IMAGE!
=== Slider behaviour ===
* Update realtime. This option recalculates the human shape in real time during the slider movements. This requires more CPU resources.
* Update normals real time. By enabling this option, the normals are updated during the slider movements in order to see a correct shading in real time. Computing the surface normals requires an intensive CPU calculation, so this can slow down old PCs.
* Fit objects in realtime. By enabling it, all objects (eyes, hair, clothes, teeth, etc..) are fitted in real time during the body transformations. This requires more CPU resources.
* Autozoom camera. Enabling it will automatically zoom in the camera to the zone of interest. For example, editing the head, it will zoom in to it, editing the hand, it will automatically zoom in to the hand, etc.. This can be useful in some cases, but it doesn't allow custom point of view, so this option is disabled by default.
* Slider images. Enable the images to illustrate the sliders' effect. Disable it for a more compact list of controls.
=== Units ===
This setting is to choose the measurement system that will be used :
* Metric, to use meters, centimeters, etc
* Imperial, to use inch, feet,etc..
=== Startup ===
* Preload macro targets. This option is very important for perfomance and startup loading time. Using the preload increases a lot the performance, but in the case when the targets are not compiled (for example the raw targets cloned from HG) it will considerably increase the loading time during startup.
* Restore windows size. This option is just to remember the custom windows size used for MakeHuman.
=== Theme and languages. ===
These options areself explanatory. MakeHuman needs to be restarted for a change in the language settings to be effective.
== The background tab ==
The Background tab allows you to add background/foreground images to use as a modelling reference or to create a scene within MakeHuman™ for the Short Pipeline.
When you open the Background tab you will see a "None" icon and a list of thumbnails of the files within the backgrounds folder in the!LINK!http://www.makehuman.org/doc/faq/where_is_my_home.html -- MakeHuman home folder!/LINK!, if they are present. The "None" icon is used to remove the background from the MakeHuman™ scene.
!IMAGE!Pictures/background_0_0.png!/IMAGE!
=== Different backgrounds for different sides ===
Prior to selecting an image you should first determine the side of the MakeHuman™ scene where you want the image to appear. You can specify where you would like the background placed relative to your MakeHuman™ character with the Side control choices on the right hand side of the Background tab screen.
The first six (6) options set the background in your scene using the standard Camera view positions. If you choose the last radio button option labeled "Other" you can add the background into the scene with the character and camera position however it was last set, as long as it was not in one of the predfined camera views.
If you are placing an image to act as a reference image for modelling your character, you should select the side that matches your reference facing.
You can insert up to 7 different images into the MakeHuman™ scene by applying a different image to each Side option. As the camera view changes into each side view or other view angle, the image shown will change as match your image side configuration for each of the camera side views shown in the modelling window. The background image, in fact, will only appear while the camera remains in the side view specified. Pressing one of the camera view options is the easiest way to get a background image to reappear if it disappears due to a camera view change.
=== Background opacity and position. ===
The Background Setting options allow you to set the background image's opacity using the Opacity slider control, which determines how transparent or opaque the image will appear in the scene, and to set the image as a background or foreground. These controls are particularly useful when you are using reference images to model your character.
The standard Opacity setting of 100 is equivalent to a 60% transparency level. Setting the control to 0 will make the image invisible (100% transparency) and setting the opacity control to 250 will make the image fully opaque (0% tranparency).
The "Show in Foreground" checkbox option allows you to place the image in front of the character in the scene so that the character will be obscured according to the opacity level setting of the background image. This option should be checked if the image will be used as a reference image for modelling.
The background can be moved and resized to properly fit the character, checking the options in the left side and then clicking and dragging with leftbutton or rightbutton.
== The Mouse tab ==
THe "Mouse" tab allows you to configure the behaviour of the mouse in makehuman.
!IMAGE!Pictures/mouse_001.png!/IMAGE!
The first wiidget in the left panel contains one slider labelled "3D viewport Speed". This slider controls the how sensitive the viewport is to mouse movement. As you increase this parameter the viewport become increasingly sensitive to mouse movements, thereby moving faster. Tweak this parameter with care. A value of one is the default speed at which makehuman models rotate and move in response to the mouse. Increase this parameter if you feel that the movements are too slow for your liking.
The second widget inside the left panel is the "Camera" widget this widget allows you to configure the mouse settings used to control the camera. This also allows you to invert the mouse wheel.
Note:With the orbital camera, panning is available only in certain situations. Therefore, the "Move" shortcut has been made available for configuration. If you cannot pan your model it may not a bug.
== The Shortcuts tab ==
THe "Shortcuts" tab helps us to manage shortcuts in makehuman.
For your convinience shortcuts have been organised into 3 categories. The first category with the largest number of shrrtcuts available for configuration is the "Camera" category whose panel is located on the left hand side. THe other two categories are "Actions" and "Navigation". The "Action" panel helps us to alter shortcuts for actions such as undo and redo. The "Navigation" panel helps us to set shortcuts to quickly navigate between various frequently used tabs in Makehuman.
!IMAGE!Pictures/shortcuts-mh_002.jpg!/IMAGE!
Managing of shortcuts is very easy inside makehuman. Just select the appropriate box with the current shortcut key andf type in thenew shortcut key/key combination. Makehuman will warn you if there are duplicates.
=== Plugins ===
Makehuman is designed using a modular approach. All features within makehuman belong to one module or the other. THese modules are called Plugins. With the help of the "Plugins" tab in makehuman we can enable or disable certain plugins thereby altering the feature set available.
This feature is useful when:
* A particular feature is uneeded and you want to improve performance of makehuman by disabling it.
* A particular plugin is giving problems on your machine and you would like to disable it to avoid accidently triggering the fault again.
!IMAGE!Pictures/plugins-mh_002.png!/IMAGE!
By default all plugins are enabled plugins can be disabled by clicking on the option buttons and removing the "x" next to the related plugin.
d2449cf5a68127a91408a55c75d3a844e4981b0b
775
698
2016-05-24T12:00:20Z
Joepal
14
wikitext
text/x-wiki
== Background ==
The Background tab allows you to add background/foreground images to use as a modelling reference or to create a scene within MakeHuman™ for the Short Pipeline.
When you open the Background tab you will see a "None" icon and a list of thumbnails of the files within the backgrounds folder in the!LINK!http://www.makehuman.org/doc/faq/where_is_my_home.html -- MakeHuman home folder!/LINK!, if they are present. The "None" icon is used to remove the background from the MakeHuman™ scene.
!IMAGE!Pictures/background_0_0.png!/IMAGE!
=== Different backgrounds for different sides ===
Prior to selecting an image you should first determine the side of the MakeHuman™ scene where you want the image to appear. You can specify where you would like the background placed relative to your MakeHuman™ character with the Side control choices on the right hand side of the Background tab screen.
The first six (6) options set the background in your scene using the standard Camera view positions. If you choose the last radio button option labeled "Other" you can add the background into the scene with the character and camera position however it was last set, as long as it was not in one of the predfined camera views.
If you are placing an image to act as a reference image for modelling your character, you should select the side that matches your reference facing.
You can insert up to 7 different images into the MakeHuman™ scene by applying a different image to each Side option. As the camera view changes into each side view or other view angle, the image shown will change as match your image side configuration for each of the camera side views shown in the modelling window. The background image, in fact, will only appear while the camera remains in the side view specified. Pressing one of the camera view options is the easiest way to get a background image to reappear if it disappears due to a camera view change.
=== Background opacity and position. ===
The Background Setting options allow you to set the background image's opacity using the Opacity slider control, which determines how transparent or opaque the image will appear in the scene, and to set the image as a background or foreground. These controls are particularly useful when you are using reference images to model your character.
The standard Opacity setting of 100 is equivalent to a 60% transparency level. Setting the control to 0 will make the image invisible (100% transparency) and setting the opacity control to 250 will make the image fully opaque (0% tranparency).
The "Show in Foreground" checkbox option allows you to place the image in front of the character in the scene so that the character will be obscured according to the opacity level setting of the background image. This option should be checked if the image will be used as a reference image for modelling.
The background can be moved and resized to properly fit the character, checking the options in the left side and then clicking and dragging with leftbutton or rightbutton.
== General ==
=== General Settings ===
The general settings include important features that can make a huge difference in MakeHuman's performance.
!IMAGE!Pictures/general.png!/IMAGE!
=== Slider behaviour ===
* Update realtime. This option recalculates the human shape in real time during the slider movements. This requires more CPU resources.
* Update normals real time. By enabling this option, the normals are updated during the slider movements in order to see a correct shading in real time. Computing the surface normals requires an intensive CPU calculation, so this can slow down old PCs.
* Fit objects in realtime. By enabling it, all objects (eyes, hair, clothes, teeth, etc..) are fitted in real time during the body transformations. This requires more CPU resources.
* Autozoom camera. Enabling it will automatically zoom in the camera to the zone of interest. For example, editing the head, it will zoom in to it, editing the hand, it will automatically zoom in to the hand, etc.. This can be useful in some cases, but it doesn't allow custom point of view, so this option is disabled by default.
* Slider images. Enable the images to illustrate the sliders' effect. Disable it for a more compact list of controls.
=== Units ===
This setting is to choose the measurement system that will be used :
* Metric, to use meters, centimeters, etc
* Imperial, to use inch, feet,etc..
=== Startup ===
* Preload macro targets. This option is very important for perfomance and startup loading time. Using the preload increases a lot the performance, but in the case when the targets are not compiled (for example the raw targets cloned from HG) it will considerably increase the loading time during startup.
* Restore windows size. This option is just to remember the custom windows size used for MakeHuman.
=== Theme and languages. ===
These options areself explanatory. MakeHuman needs to be restarted for a change in the language settings to be effective.
=== Mouse ===
THe "Mouse" tab allows you to configure the behaviour of the mouse in makehuman.
!IMAGE!Pictures/mouse_001.png!/IMAGE!
The first wiidget in the left panel contains one slider labelled "3D viewport Speed". This slider controls the how sensitive the viewport is to mouse movement. As you increase this parameter the viewport become increasingly sensitive to mouse movements, thereby moving faster. Tweak this parameter with care. A value of one is the default speed at which makehuman models rotate and move in response to the mouse. Increase this parameter if you feel that the movements are too slow for your liking.
The second widget inside the left panel is the "Camera" widget this widget allows you to configure the mouse settings used to control the camera. This also allows you to invert the mouse wheel.
Note:With the orbital camera, panning is available only in certain situations. Therefore, the "Move" shortcut has been made available for configuration. If you cannot pan your model it may not a bug.
=== Shortcuts ===
THe "Shortcuts" tab helps us to manage shortcuts in makehuman.
For your convinience shortcuts have been organised into 3 categories. The first category with the largest number of shrrtcuts available for configuration is the "Camera" category whose panel is located on the left hand side. THe other two categories are "Actions" and "Navigation". The "Action" panel helps us to alter shortcuts for actions such as undo and redo. The "Navigation" panel helps us to set shortcuts to quickly navigate between various frequently used tabs in Makehuman.
!IMAGE!Pictures/shortcuts-mh_002.jpg!/IMAGE!
Managing of shortcuts is very easy inside makehuman. Just select the appropriate box with the current shortcut key andf type in thenew shortcut key/key combination. Makehuman will warn you if there are duplicates.
=== Plugins ===
Makehuman is designed using a modular approach. All features within makehuman belong to one module or the other. THese modules are called Plugins. With the help of the "Plugins" tab in makehuman we can enable or disable certain plugins thereby altering the feature set available.
This feature is useful when:
* A particular feature is uneeded and you want to improve performance of makehuman by disabling it.
* A particular plugin is giving problems on your machine and you would like to disable it to avoid accidently triggering the fault again.
!IMAGE!Pictures/plugins-mh_002.png!/IMAGE!
By default all plugins are enabled plugins can be disabled by clicking on the option buttons and removing the "x" next to the related plugin.
d8e2bf38df0c6843b16f2e130c7a7a736b23543e
698
2016-05-20T09:08:17Z
Joepal
14
Created page with "=== Background === The Background tab allows you to add background/foreground images to use as a modelling reference or to create a scene within MakeHuman™ for the Short Pip..."
wikitext
text/x-wiki
=== Background ===
The Background tab allows you to add background/foreground images to use as a modelling reference or to create a scene within MakeHuman™ for the Short Pipeline.
When you open the Background tab you will see a "None" icon and a list of thumbnails of the files within the backgrounds folder in the!LINK!http://www.makehuman.org/doc/faq/where_is_my_home.html -- MakeHuman home folder!/LINK!, if they are present. The "None" icon is used to remove the background from the MakeHuman™ scene.
!IMAGE!Pictures/background_0_0.png!/IMAGE!
==== Different backgrounds for different sides ====
Prior to selecting an image you should first determine the side of the MakeHuman™ scene where you want the image to appear. You can specify where you would like the background placed relative to your MakeHuman™ character with the Side control choices on the right hand side of the Background tab screen.
The first six (6) options set the background in your scene using the standard Camera view positions. If you choose the last radio button option labeled "Other" you can add the background into the scene with the character and camera position however it was last set, as long as it was not in one of the predfined camera views.
If you are placing an image to act as a reference image for modelling your character, you should select the side that matches your reference facing.
You can insert up to 7 different images into the MakeHuman™ scene by applying a different image to each Side option. As the camera view changes into each side view or other view angle, the image shown will change as match your image side configuration for each of the camera side views shown in the modelling window. The background image, in fact, will only appear while the camera remains in the side view specified. Pressing one of the camera view options is the easiest way to get a background image to reappear if it disappears due to a camera view change.
==== Background opacity and position. ====
The Background Setting options allow you to set the background image's opacity using the Opacity slider control, which determines how transparent or opaque the image will appear in the scene, and to set the image as a background or foreground. These controls are particularly useful when you are using reference images to model your character.
The standard Opacity setting of 100 is equivalent to a 60% transparency level. Setting the control to 0 will make the image invisible (100% transparency) and setting the opacity control to 250 will make the image fully opaque (0% tranparency).
The "Show in Foreground" checkbox option allows you to place the image in front of the character in the scene so that the character will be obscured according to the opacity level setting of the background image. This option should be checked if the image will be used as a reference image for modelling.
The background can be moved and resized to properly fit the character, checking the options in the left side and then clicking and dragging with leftbutton or rightbutton.
=== General ===
==== General Settings ====
The general settings include important features that can make a huge difference in MakeHuman's performance.
!IMAGE!Pictures/general.png!/IMAGE!
=== Slider behaviour ===
* Update realtime. This option recalculates the human shape in real time during the slider movements. This requires more CPU resources.
* Update normals real time. By enabling this option, the normals are updated during the slider movements in order to see a correct shading in real time. Computing the surface normals requires an intensive CPU calculation, so this can slow down old PCs.
* Fit objects in realtime. By enabling it, all objects (eyes, hair, clothes, teeth, etc..) are fitted in real time during the body transformations. This requires more CPU resources.
* Autozoom camera. Enabling it will automatically zoom in the camera to the zone of interest. For example, editing the head, it will zoom in to it, editing the hand, it will automatically zoom in to the hand, etc.. This can be useful in some cases, but it doesn't allow custom point of view, so this option is disabled by default.
* Slider images. Enable the images to illustrate the sliders' effect. Disable it for a more compact list of controls.
=== Units ===
This setting is to choose the measurement system that will be used :
* Metric, to use meters, centimeters, etc
* Imperial, to use inch, feet,etc..
=== Startup ===
* Preload macro targets. This option is very important for perfomance and startup loading time. Using the preload increases a lot the performance, but in the case when the targets are not compiled (for example the raw targets cloned from HG) it will considerably increase the loading time during startup.
* Restore windows size. This option is just to remember the custom windows size used for MakeHuman.
=== Theme and languages. ===
These options areself explanatory. MakeHuman needs to be restarted for a change in the language settings to be effective.
=== Mouse ===
==== Managing mouse configuration: ====
THe "Mouse" tab allows you to configure the behaviour of the mouse in makehuman.
!IMAGE!Pictures/mouse_001.png!/IMAGE!
The first wiidget in the left panel contains one slider labelled "3D viewport Speed". This slider controls the how sensitive the viewport is to mouse movement. As you increase this parameter the viewport become increasingly sensitive to mouse movements, thereby moving faster. Tweak this parameter with care. A value of one is the default speed at which makehuman models rotate and move in response to the mouse. Increase this parameter if you feel that the movements are too slow for your liking.
The second widget inside the left panel is the "Camera" widget this widget allows you to configure the mouse settings used to control the camera. This also allows you to invert the mouse wheel.
Note:With the orbital camera, panning is available only in certain situations. Therefore, the "Move" shortcut has been made available for configuration. If you cannot pan your model it may not a bug.
=== Shortcuts ===
THe "Shortcuts" tab helps us to manage shortcuts in makehuman.
For your convinience shortcuts have been organised into 3 categories. The first category with the largest number of shrrtcuts available for configuration is the "Camera" category whose panel is located on the left hand side. THe other two categories are "Actions" and "Navigation". The "Action" panel helps us to alter shortcuts for actions such as undo and redo. The "Navigation" panel helps us to set shortcuts to quickly navigate between various frequently used tabs in Makehuman.
!IMAGE!Pictures/shortcuts-mh_002.jpg!/IMAGE!
==== How to use the Shortcuts Tab ====
Managing of shortcuts is very easy inside makehuman. Just select the appropriate box with the current shortcut key andf type in thenew shortcut key/key combination. Makehuman will warn you if there are duplicates.
=== Plugins ===
Makehuman is designed using a modular approach. All features within makehuman belong to one module or the other. THese modules are called Plugins. With the help of the "Plugins" tab in makehuman we can enable or disable certain plugins thereby altering the feature set available.
This feature is useful when:
1) A particular feature is uneeded and you want to improve performance of makehuman by disabling it.
2) A particular plugin is giving problems on your machine and you would like to disable it to avoid accidently triggering the fault again.
!IMAGE!Pictures/plugins-mh_002.png!/IMAGE!
By default all plugins are enabled plugins can be disabled by clicking on the option buttons and removing the "x" next to the related plugin.
087c4f868e0708b4e680c1f995300dbc5b23b166
Documentation:Controlling the result with vertex groups
3000
330
861
2016-05-26T12:54:09Z
Joepal
14
Created page with "== Creating a medallion == MakeClothes works best with soft clothes that follow the body shape. However, with some effort it can also be used to create hard objects like a me..."
wikitext
text/x-wiki
== Creating a medallion ==
MakeClothes works best with soft clothes that follow the body shape. However, with some effort it can also be used to create hard objects like a medallion. This section will also illustrate some restrictions on clothes meshes that can be used in MakeHuman.
We will model a medallion that sits on the character's breast. The medallion will be associated with the tights helper, so we need to Load Human With Helpers. However, the hair geometry will be in the way when modelling the medallion, so we want to get rid of that.
[[File:mc2b-010-sel-helpers.png]]
Since the clothes algorithm depends on correct vertex numbers, it is not possible to delete the hair helpers. However, it is admissible to delete all vertices belonging to a certain helper, provided that all helpers with higher vertex numbers are also deleted. In this case we get rid of both the skirt, hair and ground helpers. To do this, select the vertices belonging to the Skirt, Hair and Ground materials. Materials are ordered according to vertex number, which makes it easy to safely select all vertices from a certain point.
[[File:mc2b-020-non-quad.png]]
Model the medallion starting from a cylinder primitive, with the top and bottom covered by a triangle fan. When the Make Clothes button was pressed, and error was reported. The medallion mesh contains triangles, but a MakeHuman mesh must consist of quads only.
[[File:mc2b-030-poles.png]]
The triangles on the front side were joined into quads, and the center vertex of the back side was removed, deleting the back side completely. However, making clothes resulted in another error. A MakeHuman mesh must not have poles with more than eight edges ending at the same vertex, which is not satisfied by the center vertex.
[[File:mc2b-040-medallion.png]]
After some remodelling, a mesh with only quad faces and no poles was obtained, and no errors were reported.
[[File:mc2b-050-mh-med.png]]
However, the result in MakeHuman is not so good. To see the mesh more clearly in MakeHuman, we switch to wireframe view in the top panel. The medallion is stretched like it was a piece of clothing covering the chest. This would of course normally be the desired behaviour, since the purpose of MakeClothes is to make clothes. However, a medallion is a hard piece of metal that should not be deformed. With a careful assignment of vertex groups, we can make the medallion rigid.
[[File:mc2b-060-vgroups.png]]
Remove all vertex groups and assign all medallion vertices to a new group called Medallion. In the human, we also create a Medallion group, and assign a single vertex on the chest to it. The vertex should be located as close as possible to the center of the medallion. With these vertex groups, all medallion vertices will be stored as offsets from the single vertex.
[[File:mc2b-070-scale.png]]
With the new vertex group assignment, press Make Clothes and confirm that we want to overwrite the mhclo file. Update the medallion in MakeHuman by first deselecting it, and the selecting it again. The medallion's round shape is preserved, although the shape of the star in the middle is slightly deformed.
We can control the scaling of the offset between the selected body vertex and the medallion vertices. Select Show Boundary to view the scale control options. By default Scale Offsets is enabled and Uniform Scaling is disabled. We set the Body Part to Torso. This setting is usually not so important, unless some body part is greatly deformed. If the Body Part were set to Head, the medallion would be bigger on the baby, because a baby's head is disproportionally large.
[[File:mc2-520-examine.png]]
The Examine Boundary button displays the six vertices involved in defining the scales.
[[File:mc2b-080-noscale.png]]
This picture shows the result when Scale Offsets is disabled. A medallion made for an adult looks too big for the baby.
[[File:mc2b-090-uniform.png]]
By default offsets are scaled differently along the three coordiate axes. By selectng Uniform Scaling, we can make offsets scaling by the same amount in all directions. The Scale Correction changes the overall scale factor if Uniform Scaling is enabled.
== Making teeth ==
In MakeHuman, body parts such as eyes, hair, genitalia and teeth are separate objects, which are adapted to the character with the same technology as clothes. Such body parts are thus made with MakeClothes. Making teeth is a special challenge which illustrates well how vertex groups can control how clothes look.
[[File:mc2b-610-teeth.png]]
First the teeth mesh is modelled an placed correctly inside the character's mouth.
[[File:mc2b-620-outdir.png]]
Teeth are made with the same techniques as clothes, but they are loaded from a different tab inside MakeHuman. User-made clothes are located in the ~/makehuman/data/teeth folder, rather than ~/makehuman/data/clothes folder where clothes should be placed. To make MakeClothes save the output files at the correct location, select Show Settings and change the Output Directory. Alternatively, you can save in the clothes folder and move the files to the correct directory afterwards.
[[File:mc2b-630-teeth-mh.png]]
Name the teeth object MyTeeth and press Make Clothes. In MakeHuman, select myteeth in the Geometries > Teeth tab. The button is high-lighted and our teeth are loaded. However, since the characters keeps his mouth shut nothing is visible in the viewport.
[[File:mc2b-641-auto.png]]
To examine how well the teeth mesh works, we need to export it from MakeHuman, .e.g as an mhx file, and import it into Blender. The teeth are located on layer 1. Hide all other objects on this layer, as well as all other layers. We can now clearly see the teeth. The mesh looks roughly as it should, but it deformed in a quite ugly way.
[[File:mc2b-650-mouth-open.png]]
There are other problems as well. If we open the mouth, the teeth remain fixed relative to the head.
[[File:mc2b-660-vgroups.png]]
To understand why the lower gum does not move, we look at the vertex groups. Four vertex groups are assigned to the teeth, but the jaw group DEF-jaw is not among them. Hence the teeth are not affected when the jaw bone is moved.
[[File:mc2b-670-vgroups.png]]
The reason for this behaviour becomes clear when we consider how the automatic vertex group assignment works. Three groups Mid, Left and Right are created. All clothes vertices are assigned to one of these groups, but for the human only the tights and skirt helpers are assigned. The teeth are therefore only affected by the same bones as the tights helpers, which does not include the jaw bone.
[[File:mc2b-680-gums.png]]
Clearly, the teeth should not be associated with the tights helpers, but rather with the teeth helpers inside the human mesh. To this end, remove all vertex groups and create a new one called Gums, and assign all vertices in the teeth and teeth helpers to it. This must be done both for the teeth and for the human. Then press Make Clothes. Since the teeth object is still call MyTeeth, the files in the myteeth folder are replaced.
[[File:mc2b-690-teeth1.png]]
In MakeHuman, select some other teeth, or no teeth. Then reselect myteeth to load the updated teeth, and export the character as mhx. In Blender, the result is still not very good.
[[File:mc2b-700-asymm.png]]
One problem is that the symmetry line x = 0 is not preserved.
[[File:mc2b-710-mouth-open.png]]
Another problem becomes obvious when we open the mouth.
[[File:mc2b-720-head-jaw.png]]
The result for this behaviour is that part of the lower teeth have been assigned to the head bone, rather than to the jaw bone as they should.
[[File:mc2b-730-6groups.png]]
We can remedy both problems by removing the Gum vertex group, and adding six new vertex groups as follows:
* Up_M: Upper gum middle.
* Lo_M: Lower gum middle.
* Up_L: Upper gum left.
* Lo_L: Lower gum left.
* Up_R: Upper gum right.
* Lo_R: Lower gum right.
The middle vertices are included in the left and right groups for the human, but not for the teeth where each vertex must be assigned to one and only one group.
The names of the middle groups is important. Any vertex group that starts with Mid or ends with _M is treated in a special way by MakeClothes. Normally, a clothes vertex is associated to a human triangle, i.e. to a triplet of human vertices. However, a vertex in a middle group is only assigned to a human edge, i.e. to a pair of human vertices. If the clothes vertex lies on the symmetry plane x = 0, it will remain on this plane when it is adapted to a new character.
[[File:mc2b-740-6groups-result.png]]
The new teeth do still look quite ugly after they have been exported from MakeHuman and imported back into Blender, but in some ways they are better than before. The symmetry plan x = 0 is preserved, apart from a section at the top of the mouth which probably did not lie in the plane to begin with. Also the mouth can be opened and all vertices know to which bone they belong.
[[File:mc2b-750-midline.png]]
Teeth are rigid objects, so we suspect that their rigidity is not sufficiently preserved. As we learned in the medallion section, we can make a clothes mesh more rigid by assigning fewer human vertices to the vertex groups. The teeth can not be made completely rigid, because the teeth can not fit both a narrow jaw and a square jaw without some deformation, but it can be made more ridig by removing the upper and lower rows of vertices from vertex groups.
[[File:mc2b-750-midline-results.png]]
After a trip to MakeHuman and back into Blender, the teeth now look better, but there are still some problems with jagged teeth.
[[File:mc2b-760-bottom-line.png]]
As a rule, problems increase with distance between clothes and human vertices. Since the top of the upper cheek and the bottom of the lower are hidden by the face, we are mainly concerned about the area where the gums meet. Therefore, reassined the vertices in the upper cheek to the bottom helper row, and the vertices in the lower cheek to the top helper row.
[[File:mc2b-770-bottom-line-results.png]]
The teeth are no longer jagged. The situation at the top of the upper gum has actually deteriorated, but this is not so important because that area is never visible.
[[File:mc2b-780-shapes.png]]
Several different teeth shapes can be selected in MakeHuman. However, all teeth meshes have the same topology. In this situation, we don't have to repeat the task of assigning vertex groups, because there is a button that copies vertex groups between meshes with the same topology.
[[File:mc2b-790-copy-vgroups.png]]
Load all teeth objects into the same .blend file, and name them appropriately. Place them on visible layers, and select all of them in the outliner. Finally select the original teeth object MyTeeth to make it active, and press the button Copy Vertex Groups Active => Selected.
[[File:mc2b-800-vgroups-copied.png]]
Vertex groups have been created for all teeth meshes, and we can immediately go on to create mhclo files.
5a8e8e5a209d2744bb87e0f402f965d213629633
Documentation:Corrective shape keys
3000
560
1475
1474
2018-05-05T10:19:06Z
Joepal
14
wikitext
text/x-wiki
These are instructions for how to set up shape keys on a rigged makehuman model in blender.
== Step by step to make it work. ==
On the character body armature modifier, activate the function "Display modifier in Edit Mode"
[[File:Part_1_01.jpg]]
Create a basis shape key and then a deformation shape key, give it a suitable name. Pin the shape key to always show.
[[File:Part_1_02.jpg]]
Select the bone you want shall control the shape key and pose it to the position where you want full shape key deformation.
Remember the bone name and wich axis you rotate it, in this example bone "lowerarm01.L" local X rotation - press key R then XX.
[[File:Part_1_03.jpg]]
Select the body and edit the mesh until desired shape for that pose. Proportional edit is very useful.
[[File:Part_1_04.jpg]]
Reset the bone to default position - press key ALT and R
Prepare the shape key to be driven by the bone.
[[File:Part_1_05.jpg]]
The Value field color is now purple. Unpin the shape key and you will see the mesh transforms back to the default shape.
[[File:Part_1_06.jpg]]
Open "Graph Editor" - "Edit Drivers"
[[File:Part_1_07.jpg]]
Select the shape key to the left and the tab "Drivers", in the field "Object" select the skeleton and "Bone" in this example "lowerarm01.L" As this example want the bone local X rotation to control this shape key select "X Rotation" and "Local Space".
Finish by setting "Type:" to "Averaged Value".
[[File:Part_1_08.jpg]]
If the shape key shall deform on the negative rotation axis, add the driver modifier "Generator" and value -1.000 as shown here.
[[File:Part_1_09.jpg]]
Rotate the bone on local X axis (key R then XX) and the shape will deform the mesh.
Adjust the shape key until satisfied. The shape will always deform in a strait line.
[[File:Part_1_10.jpg]]
== Mirror shape keys ==
Select the shape key you want to mirror and activate pin.
[[File:Part_2_01.jpg]]
Make a copy of the shape key.
[[File:Part_2_02.jpg]]
Give the new shape key a suitable name.
[[File:Part_2_03.jpg]]
Mirror the new shape key. Choose either "Mirror Shape Key (Topology)" or "Mirror Shape Key"
[[File:Part_2_04.jpg]]
If succed you have a new working shape key on the opposit side, and just need to assign it to be driven by, in this example, the bone "lowerarm01.R".
[[File:Part_2_05.jpg]]
If both alternative generate an error message, the mirror process has failed, that occur when the mesh is non symetric and differs to much. Dont accept any error at all.
[[File:Part_2_06.jpg]]
Instead read part 3 below ("Transfer shape keys to another character"). Import a symetrical MakeHuman character. Transfer the shape key to it, do the mirror, and transfer the shape key back to the original character, and give the shape key a suitable name. It is uncertain if the shape will look exactly the same but it wont generate any error message.
== Transfer shape keys to another character ==
Most important to know, the characters must have exactly the same topology. In some cases character specific adjustments has to be done afterwards. At this moment I only knows it possible to transfer shape key's one at a time.
Select the source character and the shape key to transfer.
[[File:Part_3_01.jpg]]
Shift select the receiving character's body and transfer the shape key.
[[File:Part_3_02.jpg]]
If not exist also a "Basis" shape key will automatically be created.
[[File:Part_3_03.jpg]]
833eea0f573a46927f4c39b11734d8ff8d5155f3
1474
1473
2018-05-05T10:17:59Z
Joepal
14
wikitext
text/x-wiki
These are instructions for how to set up shape keys on a rigged makehuman model in blender.
== Step by step to make it work. ==
On the character body armature modifier, activate the function "Display modifier in Edit Mode"
[[File:Part_1_01.jpg]]
Create a basis shape key and then a deformation shape key, give it a suitable name. Pin the shape key to always show.
[[File:Part_1_02.jpg]]
Select the bone you want shall control the shape key and pose it to the position where you want full shape key deformation.
Remember the bone name and wich axis you rotate it, in this example bone "lowerarm01.L" local X rotation - press key R then XX.
[[File:Part_1_03.jpg]]
Select the body and edit the mesh until desired shape for that pose. Proportional edit is very useful.
[[File:Part_1_04.jpg]]
Reset the bone to default position - press key ALT and R
Prepare the shape key to be driven by the bone.
[[File:Part_1_05.jpg]]
The Value field color is now purple. Unpin the shape key and you will see the mesh transforms back to the default shape.
[[File:Part_1_06.jpg]]
Open "Graph Editor" - "Edit Drivers"
[[File:Part_1_07.jpg]]
Select the shape key to the left and the tab "Drivers", in the field "Object" select the skeleton and "Bone" in this example "lowerarm01.L" As this example want the bone local X rotation to control this shape key select "X Rotation" and "Local Space".
Finish by setting "Type:" to "Averaged Value".
[[File:Part_1_08.jpg]]
If the shape key shall deform on the negative rotation axis, add the driver modifier "Generator" and value -1.000 as shown here.
[[File:Part_1_09.jpg]]
Rotate the bone on local X axis (key R then XX) and the shape will deform the mesh.
Adjust the shape key until satisfied. The shape will always deform in a strait line.
[[File:Part_1_10.jpg]]
== Mirror shape keys ==
Select the shape key you want to mirror and activate pin.
[[File:Part_2_01.jpg]]
Make a copy of the shape key.
[[File:Part_2_02.jpg]]
Give the new shape key a suitable name.
[[File:Part_2_03.jpg]]
Mirror the new shape key. Choose either "Mirror Shape Key (Topology)" or "Mirror Shape Key"
[[File:Part_2_04.jpg]]
If succed you have a new working shape key on the opposit side, and just need to assign it to be driven by, in this example, the bone "lowerarm01.R".
[[File:Part_2_05.jpg]]
If both alternative generate an error message, the mirror process has failed, that occur when the mesh is non symetric and differs to much. Dont accept any error at all.
[[File:Part_2_06.jpg]]
Instead read part 3 below ("Transfer shape keys to another character"). Import a symetrical MakeHuman character. Transfer the shape key to it, do the mirror, and transfer the shape key back to the original character, and give the shape key a suitable name. It is uncertain if the shape will look exactly the same but it wont generate any error message.
d62d5937be5663c71bef1687282d0a0b449f8e99
1473
2018-05-05T10:15:26Z
Joepal
14
Created page with "These are instructions for how to set up shape keys on a rigged makehuman model in blender. == Step by step to make it work. == On the character body armature modifier, act..."
wikitext
text/x-wiki
These are instructions for how to set up shape keys on a rigged makehuman model in blender.
== Step by step to make it work. ==
On the character body armature modifier, activate the function "Display modifier in Edit Mode"
[[File:Part_1_01.jpg]]
Create a basis shape key and then a deformation shape key, give it a suitable name. Pin the shape key to always show.
[[File:Part_1_02.jpg]]
Select the bone you want shall control the shape key and pose it to the position where you want full shape key deformation.
Remember the bone name and wich axis you rotate it, in this example bone "lowerarm01.L" local X rotation - press key R then XX.
[[File:Part_1_03.jpg]]
Select the body and edit the mesh until desired shape for that pose. Proportional edit is very useful.
[[File:Part_1_04.jpg]]
Reset the bone to default position - press key ALT and R
Prepare the shape key to be driven by the bone.
[[File:Part_1_05.jpg]]
The Value field color is now purple. Unpin the shape key and you will see the mesh transforms back to the default shape.
[[File:Part_1_06.jpg]]
Open "Graph Editor" - "Edit Drivers"
[[File:Part_1_07.jpg]]
Select the shape key to the left and the tab "Drivers", in the field "Object" select the skeleton and "Bone" in this example "lowerarm01.L" As this example want the bone local X rotation to control this shape key select "X Rotation" and "Local Space".
Finish by setting "Type:" to "Averaged Value".
[[File:Part_1_08.jpg]]
If the shape key shall deform on the negative rotation axis, add the driver modifier "Generator" and value -1.000 as shown here.
[[File:Part_1_09.jpg]]
Rotate the bone on local X axis (key R then XX) and the shape will deform the mesh.
Adjust the shape key until satisfied. The shape will always deform in a strait line.
[[File:Part_1_10.jpg]]
5acc7f1790ec72033cbc432446628353dd62b1ed
Documentation:CreateHeels
3000
664
1884
2020-09-26T14:58:28Z
Punkduck
38
Created page with " === Methods to create heels === To create heels or especially heel sandals is something what MakeHuman was not really made for. But there are some methods to create rather..."
wikitext
text/x-wiki
=== Methods to create heels ===
To create heels or especially heel sandals is something what MakeHuman was not really made for. But there are some methods to create rather good results, these are:
* for shoes where you can't see the feet (like boots) it is possible to delete the feet and create boots directly. This method is recommended for closed shoes, because it is easier to handle.
* it is also possible to duplicate feet, then change the shape so that they fit inside the heels and use a delete group for the vertices on the body. The problem would be that the skin texture must be part of the shoes and there is a visible small gap when subdivision surface algorithm is used between the feet with the shoes and the rest of the body.
* it is possible to model the shoes slanted and later rotate the feet-bones. These shoes will look a bit clumsy because the toebox has to fit to the normal feet. In reality a narrow toebox is used for heels.
* the method described in this documentation uses a special body with a shape key and needs at least one appropriate target in MakeHuman. It needs no own feet and can be used on heel sandals.
So load '''female-heels_shapekey''' from the predefined meshes and set value of shape key so that it fits to the angle you need for the shoes.
[[File:Mc2_heels1.png]]
=== Model the shoes ===
Now model your shoes. I took the peep toe slingbacks1 from Elvaerwyn as a demonstration. Usually one side is created and then mirrored.
[[File:Mc2_heels2.png]]
=== Usage of vertex groups ===
Shoes (especially heels) have parts which are not flexible. Not to have deformed parts, one should use rigid groups (groups with only 3 vertices) on the body as a base for the clothes.
There are two predefined groups for each side supplied. One can be used directly on sole of foot, the other is placed near the ankle. One should decide for one group (and test what looks better in the end).
''Hint: The group near the ankle is not deformed by the shape key and should be used when one create e.g. a combination of a roman sandal and high heels. For the lower part (foot + ankle) this rigid group would be used, for the upper part a "flexible" group containing the vertices of the lower leg without foot would be a solution.''
So for these shoes the leftAnkleRigid was used for left shoe and rightAnkleRigid for right shoe. That means that corresponding vertex groups with the same names must be created for the shoes and must be assigned.
[[File:Mc2_heels3.png]]
=== Inside MakeHuman ===
After loading the shoes into MakeHuman the shoes don't look correct. In case of the ankle vertex group the character will hover above the shoes and in case of the other one at the sole of feet shoes will be slanted.
There are some custom targets in the assets of MakeHuman to change this. Minimum ist the '''heels angle target'''. All other targets used in the illustration can be used if the shoes do not fit the character a 100%.
''Hint: For the sake of clarity I created a folder called "shoes" inside the custom target folder and moved all targets into this folder. That is the reason that "heels toebox" now is displayed as "Shoes heels toebox".''
[[File:Mc2_heels4.png]]
63fe59ccfeee3b893661f4ac882e1a916df13fe5
Documentation:Development infrastructure
3000
247
1118
721
2016-07-05T17:35:17Z
Aranuvir
17
wikitext
text/x-wiki
The development of MakeHuman is based on two fundamental tools:
* Mercurial (HG), a stable and robust platform for distributed revision control, with the main repo hosted on!LINK!https://bitbucket.org/MakeHuman/makehuman -- Bitbucket!/LINK!
* A collaborative software!LINK!http://bugtracker.makehuman.org -- development platform!/LINK!, based on!LINK!http://www.redmine.org/ -- Redmine!/LINK!.
==== Get the code from BitBucket. ====
Obtain the code from BitBucket repository is very simple, but you need to have Mercurial installed on your system.
It's natively present on Linux systems, while for Microsoft Windows, a good software is TortoiseHG (!LINK!http://tortoisehg.bitbucket.org/ -- http://tortoisehg.bitbucket.org/!/LINK!).
To clone the repository to your PC, just use this command:
hg clone!LINK!https://bitbucket.org/MakeHuman/makehuman -- https://bitbucket.org/MakeHuman/makehuman!/LINK!
With tortoiseHG, you can do it visually, with:
right-click --> TortoiseHG --> clone
==== Using Redmine in MakeHuman development ====
Redmine is a very powerful tool.
[To expand with technical information about the roadmap organizations, the subprojects, and how to use it to accept experimental features]
[[File:mh-hg-infographic01.png]]
==== Branches ====
The Unstable branch is where the development happens. This is our working branch, and so we can refer to it as default branch too.
The Stable branch is used for official release only.
It's just for mainteinance of the current official version. It's rarely used, except in the case of very noticeable bugs that will cause a service release. Any bugfix in the Stable must be merged in Unstable.
When the Unstable is ready for the release, it's merged in the Stable and a tag (a sort of bookmark) is created on this exact revision.
[[File:mh-hg-infographic02.png]]
Working on experimental clone for new features in early development is a great comfort for the developer.
He doesn't have to keep his code on the local drive since he can commit it immediately.
It doesn't matter if the code does not work yet or breaks the app, it is the private playground of the developer.
[[File:mh-hg-infographic03.png]]
To start up a new feature yet unproven or that is unsure how to implement it exactly, or for a big refactor that might make a lot of problems until solved, we will create experimental repos, cloning the main one. One repo for (large) feature.
[[File:mh-hg-infographic04.png]]
Once the developer has something to show, he can communicate with other team members so they can:
* clone the experimental repo to a new folder on their local disk
* test it
* give feedback
* perhaps even commit fixes
Once a feature is proven to work well enough and accepted by the rest of the team, it can be merged in official unstable branch, where it can be integrated in nighly build version and further finalized (it can now be tested by a broader audience and we will receive bugs reports from them)
[[File:mh-hg-infographic05.png]]
It is also possible that an external programmer, without commit rights on the official repo, make changes on his own personal clone (that he can make public on his own account if he desires).
This is a good way to test new team members, where we can accept changes after verifying them. When we trust a new developer, we can give him direct access to official repo.
f04222e5a4a19bb74f918d768288467905923282
721
719
2016-05-20T11:31:01Z
Joepal
14
wikitext
text/x-wiki
The development of MakeHuman is based on two fundamental tools:
* Mercurial (HG), a stable and robust platform for distributed revision control, with the main repo hosted on!LINK!https://bitbucket.org/MakeHuman/makehuman -- Bitbucket!/LINK!
* A collaborative software!LINK!http://bugtracker.makehuman.org -- development platform!/LINK!, based on!LINK!http://www.redmine.org/ -- Redmine!/LINK!.
==== Get the code from BitBucket. ====
Obtain the code from BitBucket repository is very simple, but you need to have Mercurial installed on your system.
It's natively present on Linux systems, while for Microsoft Windows, a good software is TortoiseHG (!LINK!http://tortoisehg.bitbucket.org/ -- http://tortoisehg.bitbucket.org/!/LINK!).
To clone the repository to your PC, just use this command:
hg clone!LINK!https://bitbucket.org/MakeHuman/makehuman -- https://bitbucket.org/MakeHuman/makehuman!/LINK!
With tortoiseHG, you can do it visually, with:
right-click --> TortoiseHG --> clone
==== Using Redmine in MakeHuman development ====
Redmine is a very powerful tool.
[To expand with technical information about the roadmap organizations, the subprojects, and how to use it to accept experimental features]
!IMAGE!Pictures/mh-hg-infographic01.png!/IMAGE!
==== Branches ====
The Unstable branch is where the development happens. This is our working branch, and so we can refer to it as default branch too.
The Stable branch is used for official release only.
It's just for mainteinance of the current official version. It's rarely used, except in the case of very noticeable bugs that will cause a service release. Any bugfix in the Stable must be merged in Unstable.
When the Unstable is ready for the release, it's merged in the Stable and a tag (a sort of bookmark) is created on this exact revision.
!IMAGE!Pictures/mh-hg-infographic02.png!/IMAGE!
Working on experimental clone for new features in early development is a great comfort for the developer.
He doesn't have to keep his code on the local drive since he can commit it immediately.
It doesn't matter if the code does not work yet or breaks the app, it is the private playground of the developer.
!IMAGE!Pictures/mh-hg-infographic03.png!/IMAGE!
To start up a new feature yet unproven or that is unsure how to implement it exactly, or for a big refactor that might make a lot of problems until solved, we will create experimental repos, cloning the main one. One repo for (large) feature.
!IMAGE!Pictures/mh-hg-infographic04.png!/IMAGE!
Once the developer has something to show, he can communicate with other team members so they can:
* clone the experimental repo to a new folder on their local disk
* test it
* give feedback
* perhaps even commit fixes
Once a feature is proven to work well enough and accepted by the rest of the team, it can be merged in official unstable branch, where it can be integrated in nighly build version and further finalized (it can now be tested by a broader audience and we will receive bugs reports from them)
!IMAGE!Pictures/mh-hg-infographic05.png!/IMAGE!
It is also possible that an external programmer, without commit rights on the official repo, make changes on his own personal clone (that he can make public on his own account if he desires).
This is a good way to test new team members, where we can accept changes after verifying them. When we trust a new developer, we can give him direct access to official repo.
30f935d419041e48d81be9ddd19d1c3934d2349b
719
718
2016-05-20T11:29:35Z
Joepal
14
Blanked the page
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
718
2016-05-20T11:28:47Z
Joepal
14
Created page with " !IMAGE!Pictures/mh-hg-infographic01.png!/IMAGE! The Unstable branch is where the development happens. This is our working branch, and so we can refer to it as default branch..."
wikitext
text/x-wiki
!IMAGE!Pictures/mh-hg-infographic01.png!/IMAGE!
The Unstable branch is where the development happens. This is our working branch, and so we can refer to it as default branch too.
The Stable branch is used for official release only.
It's just for mainteinance of the current official version. It's rarely used, except in the case of very noticeable bugs that will cause a service release. Any bugfix in the Stable must be merged in Unstable.
When the Unstable is ready for the release, it's merged in the Stable and a tag (a sort of bookmark) is created on this exact revision.
!IMAGE!Pictures/mh-hg-infographic02.png!/IMAGE!
Working on experimental clone for new features in early development is a great comfort for the developer.
He doesn't have to keep his code on the local drive since he can commit it immediately.
It doesn't matter if the code does not work yet or breaks the app, it is the private playground of the developer.
!IMAGE!Pictures/mh-hg-infographic03.png!/IMAGE!
To start up a new feature yet unproven or that is unsure how to implement it exactly, or for a big refactor that might make a lot of problems until solved, we will create experimental repos, cloning the main one. One repo for (large) feature.
!IMAGE!Pictures/mh-hg-infographic04.png!/IMAGE!
Once the developer has something to show, he can communicate with other team members so they can:
* clone the experimental repo to a new folder on their local disk
* test it
* give feedback
* perhaps even commit fixes
Once a feature is proven to work well enough and accepted by the rest of the team, it can be merged in official unstable branch, where it can be integrated in nighly build version and further finalized (it can now be tested by a broader audience and we will receive bugs reports from them)
!IMAGE!Pictures/mh-hg-infographic05.png!/IMAGE!
It is also possible that an external programmer, without commit rights on the official repo, make changes on his own personal clone (that he can make public on his own account if he desires).
This is a good way to test new team members, where we can accept changes after verifying them. When we trust a new developer, we can give him direct access to official repo.
14b6a5dd7e0fda3d83eea62794ed2d19b39c3ce3
Documentation:Directory structure and core modules
3000
245
1827
713
2020-07-25T14:06:34Z
Punkduck
38
wikitext
text/x-wiki
== Directory Structure of MakeHuman ==
[[File:MHDirectories.png]]
The illustration shows the directory structure of MakeHuman. There are two different places for the directory, one side is the "internal" one, which is normally located in a range where it cannot be overwritten from a normal user, so let's call it system directories. The other side is the user space which can be changed by the user. The GIT repository is used to create the system folders shown above.
The folders '''licenses''' and '''docs''' are associated with the general housekeeping and installation aspects of MakeHuman. Details of the housekeeping folders will be summarized, where relevant, elsewhere in the documentation. The remaining folder are discussed below.
----
During the pyinstaller build process, only files in the '''makehuman/data''' directory are included as data files, which means that any other data files will be skipped, causing file not found errors. Thus, the developer should place all data files under the '''data''' folder. The idea is to be able to cleanly identify what is data to be loaded at run time and what is code that can be compiled at build time.
One exception here is target (data) files that can optionally be precompiled to binary files at build time even though their binaries will reside in the '''data''' directory. The rational for this is that target files are static data core assets and should therefore naturally reside in '''makehuman/data''', but by compiling target files at build time, the size of the build distribution can be reduced and program startup times can be minimized.
----
Files in '''makehuman/plugins''' form a second exception to data is "loaded at runtime" and code is "compiled at build time". Files in the '''makehuman/plugins''' folder are kept as a "side effect" of the fact that the '''makehuman/plugins''' path is included as data. This allows loading plugins at runtime by inspecting the folder. Plugins are compiled as well, though. Additional data which are not code may not be stored in the '''plugins''' folder. It would threaten logical organization of code and data, and it is not guaranteed that this will keep working in the future.
Plugins should never be used as imported modules in other plugins or, even worse, in a core module. Currently, the core plugins of MakeHuman all start with a digit (e.g., import 9_export_mhx). This is done intentionally to prevent their improper import into other modules in the program because imports of a module starting with a digit will produce a syntax error. Core plugins that require data, for example those related to an export, should make use of a subfolder in the '''makehuman/data''' path.
Third-party plugins might have slightly greater lattitude about including data than core assets, but the clean separation of code and data is strongly encouraged. Therefore, third-party plugin developers should place data in '''makehuman/plugins/pluginName/data''' to make it easily identifiable.
----
Most operating systems set aside separate storage space for code and data, and programs can generally not write data to their own directory structure. In addition, most OS support the notion of multiuser login, and support separate writable data areas for each user to customize.
MakeHuman includes some "fixed data assets" that are intrinsic to the program. These data assets are saved in the programs data folder within the program itself.
However, MakeHuman also makes provision for third-party and user developed assets like additional clothes, additional hairstyles, etc. These latter assets are not saved in the program area but rather are saved in users login folder. For example, on Windows 7 systems this would be "Documents/makehuman".
In populating asset lists, the library holdings are generated based on the fact that they scan system and user path always.
----
'''makehuman/data''' folder does not contain any code per se. As its name implies this folder contains the basic data resources that ship with MakeHuman.
Often, during the development and building of MakeHuman, a given resource may exist in multiple formats. Many if not most resources initially exist as “text-based” files which are stored in the data directory with an appropriate extension (see section of file extensions). When MakeHuman is built for distribution on supported platforms, these text-based data resources are compressed into .npz format to produce a smaller and more rapidly loading distribution package.
Typically, the original text-based data files do not ship with standard, downloadable installation builds but instead, the corresponding compressed versions are distributed.
The data folder contains many subfolders which correspond to unique data assets. The details of these assets will not be discussed here, but the reader can get a general idea of asset types just by reviewing the folder names (see illustration).
Some of the data subfolders (e.g. eyes, hair, and clothes) are directed at important geometry assets of the MakeHuman model. MakeHuman supplies a special tool that lets developers or even end-users design additional assets using the 3D modeling program Blender, tools like MakeClothes, MakeSkin, MPFB etc. use these directories.
==== /makehuman/apps/ ====
* catmull_clark_subdivision.py- an implementation of the!LINK!http://en.wikipedia.org/wiki/Catmull%E2%80%93Clark_subdivision_surface -- catmull clark subdivision algorithm.!/LINK!
* devtests.py- testing and development use only, and can safely be ignored.
* human.py- contains the Human class, which is the core data structure for MakeHuman model.
* humanmodifier.py- contains the functions and classes that link the GUI sliders to their respective effects on the MakeHuman mesh.
* metadataengine.py- implements algorithms to handle MakeHuman metadata tags within large files. It makes it possible to quickly and easily associate descriptive adjectives (tags) such as "eye" or "brown" with the complete file path to an object that has these characteristics.
* mh2proxy.py- (unknown)
* posemode.py- contains classes and functions relevant to entering and exiting posemode, and altering a figure's pose. Changing the pose of a figure will deform the mesh and require the vertex warps to be reset.
* warpmodifier.py- contains classes and functions to handle the source and target of a warp.
* which.py- checks to see whether or not a program exists (needed for the GUI controls).
==== /makehuman/core/ ====
* algos3d.py- contains algorithms used to perform high-level 3D transformations on the 3D mesh that is used to represent the human figure in the MakeHuman application.
* aljabr.py- contains the most common 3D algebraic operations used in MakeHuman including vector, matrix, quaternion, and various other operations.
* animation3d.py- contains functions and classes to animate a wide range of objects. Includes support for rotation, scaling, translation, camera movement, and variety of interpolation methods.
* compat.py- (Unknown)
* download.py- contains classes and functions to download media from the web and import it into MakeHuman.
* events3d.py- contains classes to allow an object to handle events resulting from keyboard or mouse input, window resizing, and changes to the human model with MakeHuman.
* export.py- (Not fully implemented) contains classes to export the MakeHuman model.
* files3d.py- contains functions to convert other 3D file formats to and from the internal format used by MakeHuman.
* geometry3d.py- contains classes for commonly used 2D and 3d objects such as rectangles, cubes, and flat meshes.
* gui3d.py- contains classes defined to implement widgets that provide utility functions to the graphical user interface.
* mhmain.py- contains the operations and event handlers that provide the core functionality of MakeHuman.
* module3d.py- contains classes and functions to handle the appearance and behavior of 3D objects such as shading, texturing, visibility, transparency, and creating groups of faces.
* selection3d.py- contains classes and functions that allow users to select elements within a 3D scene by clicking on them with the mouse using a technique called "!LINK!http://www.opengl.org/archives/resources/faq/technical/selection.htm -- Selection Using Unique Color ID's!/LINK!"
* textures3d.py- contains functions to perform standard proccesses on bitmaps and translate UV coordinates to a pixel index in a bitmap.
* transformations.py- A library for calculating 4x4 matrices for translating, rotating, reflecting, scaling, shearing, projecting, orthogonalizing, and superimposing arrays of 3D homogeneous coordinates as well as for converting between rotation matrices, Euler angles, and quaternions. Also includes an Arcball control object and functions to decompose transformation matrices.
* warp.py- contains classes and functions to warp vertex locations from a source character to a target character. This makes it possible to correctly combine several morphs that affect overlapping regions of the body.
==== /makehuman/lib/ ====
* camera.py -handles camera events such as changing focus, camera mode, and field of view.
* core.py -sets default global variables
* debugdump.py -handles creating a debug text file in the user's home directory and writing relevant debug information to that file.
* filechooser.py- a Qt based filechooser widget that allows the user to preview and select files as well as sort them by name, creation date, modification date, and size.
* getpath.py- Utility module for finding the user's home path.
* glmodule.py- contains classes and functions to render 3D objects with openGL in both draw mode and pick mode.
* gui.py -alias from gui.py to qtgui.py
* image.py- handles flipping and resizing images as well as converting between RGB, ARGB, and greyscale.
* imageqt.py- handles loading and saving RGB and ARGB images.
* inifile.py- contains functions for formatting and parsing .ini files.
* language.py- handles language file loading and translation.
* log.py- extends the functionality of Python's logging module. The logging module can be used to create log files of events for debugging, or to display information or warnings within MakeHuman. It is used instead of print statements.
* matrix.py- uses the NumPy package to define standard matrix operations.
* mh.py- Python compatibility layer that replaces the old C functions of MakeHuman.
* object3d.py- defines the object3d class
* profiler.py- defines functions to handle profiling (how long various parts of the program executed).
2ca5d1af81c003a35191babd285d9192dc3b0043
713
2016-05-20T11:24:23Z
Joepal
14
Created page with "Overview There are 10 main source folders with the main MakeHuman folder in the SVN repository: * apps * core * data * docs * icons * lib * licences * plugin * shared Of these..."
wikitext
text/x-wiki
Overview
There are 10 main source folders with the main MakeHuman folder in the SVN repository:
* apps
* core
* data
* docs
* icons
* lib
* licences
* plugin
* shared
Of these, two folders: (licenses and docs) are associated with the general housekeeping and installation aspects of MakeHuman. Details of the housekeeping folders will be summarized, where relevant, elsewhere in the documentation. The remaining folder are discussed below.
Directory Structure and the Build System
During the pyinstaller build process, only files in the makehuman/data/ directory are included as data files, which means that any other data files will be skipped, causing file not found errors. Thus, the developer should place all data files under the data/ folder. The idea is to be able to cleanly identify what is data to be loaded at run time.and what is code that can be compiled at build time. One exception here is target (data) files that can optionally be precompiled to binary files at build time even though their binaries will reside in the data/ directory. The rational for this is that target files are static data core assets and should therefore naturally reside in makehuman/data/, but by compiling target files at build time, the size of the build distribution can be reduced and program startup times can be minimized
The files in makehuman/plugins/ form a second exception to data is "loaded at runtime" and code is "comiled at build time". Files in the makehuman/plugins/ folder are kept as a "side effect" of the fact that the makehuman/plugins/ path is included as data. It is included as data to make it possible to load plugins at runtime by inspecting the folder. Plugins are compiled as well, though. This does not mean that data may be stored in makehuman/plugins/ as this practice threatens logical organization of code and data, and it is not guaranteed that this will keep working in the future.
Plugins should never be used as imported modules in other plugins or, even worse, in a core module. Currently, the core plugins of MakeHuman all start with a digit (e.g., import 9_export_mhx). This is done intentionally to prevent their improper import into other modules in the program because imports of a module starting with a digit will produce a syntax error. Core plugins that require data, for example those related to .mhx export, should make use of a subfolder in the makehuman/data/ path (makehuman/data/mhx/).
Third-party plugins might have slightly greater lattitude about including data than core assets, but the clean separation of code and data is strongly encouraged. Therefore, third-party plugin developers should place data in makehuman/plugins/pluginName/data to make it easily identifiable.
makehuman/data/ folder
Most operating systems set aside separate storage space for code and data, and programs can generally not write data to their own directory structure. In addition, most OS support the notion of multiuser login, and support separate writable data areas for each user to customize. MakeHuman includes some "fixed data assets" that are intrinsic to the program. These data assets are save in the programs data folder within the program itself. However, MakeHuman also makes provision for third-party and user developed assets like additional clothes, additional hairstyles, etc. These latter assets are not saved in the program area but rather are save in user writable areas under the path userhome/makehuman/. For example, on Windows 7 systems this would be "Docuements/makehuman". In populating asset lists, the library holdings are generated based on the fact that syspath/data/itemtype and userhome/data/itemtype can coexist.
Themakehuman/data/ folderdoes not contain any codeper se. As its name implies this folder contains the basic data resources that ship with MakeHuman. Often, during the development and building of MakeHuman, a given resource may exist in multiple formats. Many if not most resources initially exist as “text-based” files which are stored in the data directory with an appropriate extension (see section of file extensions). When MakeHuman is built for distribution on supported platforms, these text-based data resources are compressed into .npy format to produce a smaller and more rapidly loading distribution package. Typically, the original text-based data files do not ship with standard, downloadable installation builds but instead, the corresponding compressed versions are distributed.
The data folder contains many subfolders which correspond to unique data assets. The details of these assets will not be discussed here, but the reader can get a general idea of asset types just by reviewing the folder names.
3dobjs, animations, bvhs, expressions, eyebrows, eyes, genitals, hair, icons, languages, litspheres, materials, mhx, poses, povray, proxymeshes, rigs, scenes, shaders, skins, targets, textures, themes, uvs, vertesgroups, visemes.
Many of these data subfolders have subfolders themselves, but generally, this organization is easily discovered just by looking.
Four of the data subfolders (eyes, hair, and clothes) are directed at important geometry assets of the MakeHuman model. MakeHuman supplies a special tool that lets developers or even end-users design additional assets using the 3D modeling program Blender. The name for this tool isMakeClotheseven though it supports the development of the other geometries as well.
==== /makehuman/apps/ ====
* catmull_clark_subdivision.py- an implementation of the!LINK!http://en.wikipedia.org/wiki/Catmull%E2%80%93Clark_subdivision_surface -- catmull clark subdivision algorithm.!/LINK!
* devtests.py- testing and development use only, and can safely be ignored.
* human.py- contains the Human class, which is the core data structure for MakeHuman model.
* humanmodifier.py- contains the functions and classes that link the GUI sliders to their respective effects on the MakeHuman mesh.
* metadataengine.py- implements algorithms to handle MakeHuman metadata tags within large files. It makes it possible to quickly and easily associate descriptive adjectives (tags) such as "eye" or "brown" with the complete file path to an object that has these characteristics.
* mh2proxy.py- (unknown)
* posemode.py- contains classes and functions relevant to entering and exiting posemode, and altering a figure's pose. Changing the pose of a figure will deform the mesh and require the vertex warps to be reset.
* warpmodifier.py- contains classes and functions to handle the source and target of a warp.
* which.py- checks to see whether or not a program exists (needed for the GUI controls).
==== /makehuman/core/ ====
* algos3d.py- contains algorithms used to perform high-level 3D transformations on the 3D mesh that is used to represent the human figure in the MakeHuman application.
* aljabr.py- contains the most common 3D algebraic operations used in MakeHuman including vector, matrix, quaternion, and various other operations.
* animation3d.py- contains functions and classes to animate a wide range of objects. Includes support for rotation, scaling, translation, camera movement, and variety of interpolation methods.
* compat.py- (Unknown)
* download.py- contains classes and functions to download media from the web and import it into MakeHuman.
* events3d.py- contains classes to allow an object to handle events resulting from keyboard or mouse input, window resizing, and changes to the human model with MakeHuman.
* export.py- (Not fully implemented) contains classes to export the MakeHuman model.
* files3d.py- contains functions to convert other 3D file formats to and from the internal format used by MakeHuman.
* geometry3d.py- contains classes for commonly used 2D and 3d objects such as rectangles, cubes, and flat meshes.
* gui3d.py- contains classes defined to implement widgets that provide utility functions to the graphical user interface.
* mhmain.py- contains the operations and event handlers that provide the core functionality of MakeHuman.
* module3d.py- contains classes and functions to handle the appearance and behavior of 3D objects such as shading, texturing, visibility, transparency, and creating groups of faces.
* selection3d.py- contains classes and functions that allow users to select elements within a 3D scene by clicking on them with the mouse using a technique called "!LINK!http://www.opengl.org/archives/resources/faq/technical/selection.htm -- Selection Using Unique Color ID's!/LINK!"
* textures3d.py- contains functions to perform standard proccesses on bitmaps and translate UV coordinates to a pixel index in a bitmap.
* transformations.py- A library for calculating 4x4 matrices for translating, rotating, reflecting, scaling, shearing, projecting, orthogonalizing, and superimposing arrays of 3D homogeneous coordinates as well as for converting between rotation matrices, Euler angles, and quaternions. Also includes an Arcball control object and functions to decompose transformation matrices.
* warp.py- contains classes and functions to warp vertex locations from a source character to a target character. This makes it possible to correctly combine several morphs that affect overlapping regions of the body.
==== /makehuman/lib/ ====
* camera.py -handles camera events such as changing focus, camera mode, and field of view.
* core.py -sets default global variables
* debugdump.py -handles creating a debug text file in the user's home directory and writing relevant debug information to that file.
* filechooser.py- a Qt based filechooser widget that allows the user to preview and select files as well as sort them by name, creation date, modification date, and size.
* getpath.py- Utility module for finding the user's home path.
* glmodule.py- contains classes and functions to render 3D objects with openGL in both draw mode and pick mode.
* gui.py -alias from gui.py to qtgui.py
* image.py- handles flipping and resizing images as well as converting between RGB, ARGB, and greyscale.
* imageqt.py- handles loading and saving RGB and ARGB images.
* inifile.py- contains functions for formatting and parsing .ini files.
* language.py- handles language file loading and translation.
* log.py- extends the functionality of Python's logging module. The logging module can be used to create log files of events for debugging, or to display information or warnings within MakeHuman. It is used instead of print statements.
* matrix.py- uses the NumPy package to define standard matrix operations.
* mh.py- Python compatibility layer that replaces the old C functions of MakeHuman.
* object3d.py- defines the object3d class
* profiler.py- defines functions to handle profiling (how long various parts of the program executed).
16560600353504a4917b63a75c9333d76e051b47
Documentation:Exports and file formats
3000
252
1615
1113
2019-09-27T08:28:58Z
Joepal
14
wikitext
text/x-wiki
Note that this page is a general overview of the export formats. If you want to export for a specific application, you might want to read one of the specific pages instead. These can be found from the [[Documentation:Index|root of the documentation]].
Further note that if you want to export to Blender, there is a better approach than using file exports, see [[FAQ: What is MPFB (MakeHuman Plugin For Blender)?]]
[[File:export_labelled.png]]
The above illustration explains the typical user interface components of the Export tab. On the right you get to choose what to export be in the mesh, the rig or the maps. In the center you have the 3D preview to preview your model. On the right you have options which keep changing based on what format you have selected in the left panel. On the top below the tabs panel is the “Ellipsis” button which opens a file dialog, a text box to enter the file name of the file and an “Export” button to do the actual export and save the file in the desired format.
Below we outline the three main options in more detail i.e. Mesh formats, rig formats and Maps.
== The special case MHX2 ==
(to be written)
== Mesh Formats (.dae, .fbx, .obj, Ogre3D, .stl) ==
Files are Exported using either the Quick Export icon or by directly choosing the File tab and the Export sub tab.
The Export window allows you to export your current MakeHuman project to one of a variety of export formats. Supported formats including Collada (DAE), Filmbox (FBX), Wavefront (OBJ), Sterolithography (stl) and Ogre3d.
By default, exported files (regardless of export format) are saved to the user directory %HOMEPATH%/makehuman/v1/exports/.
As is true for the load and save tabs, the ellipsis can be used to export to a non-standard directory/folder. After selecting a format and export options, type the name of your project in the input box at the center of the Export window and then click the "Export"
button at the right hand side of the input box. MakeHuman, itself, can not read any of the exported formats, so exporting is a one way transfer of information. If you expect to do further refinement of your model, make sure you also save it in .mhm format.
The various export formats differ in the richness of the assets exported:
=== Collada (.dae) ===
COLLADA™ is owned by the not-for-profit, open standards [http://www.khronos.org/ Khronos group]. It defines an [https://www.khronos.org/collada/ XML-based schema] standard for exporting 3D assets.
MakeHuman™ is meant to adhere to version 1.4 of the standard.
The resulting ASCII format files can become quite large which occasionally limits the use of this format with other programs.
By default, MakeHuman™ exports DAE files with y-up, face-z and the decimeter scale chosen.
When importing MakeHuman dae files into Blender, be sure to check "import units" at the bottom of the Blender left tool panel if you have not changed the units to meters.
=== Wavefront (.obj) ===
OBJ is a very simple format to export the mesh, with vertices, faces and UV coordinates. Originally invented by Alias/Wavefront, all major 3D packages have OBJ importers, so this format allows you to export to the greatest range of applications.
However, the character is not rigged but rather a static prop. Wavefront OBJ is a good choice when you need a simple mesh for an external renderer. It comes with an mtl file defining the material.
=== Filmbox (.fbx) ===
The default dialect currently used by the MakeHuman™ FBX exporter is FBX 2013 ASCII. Other FBX dialects exist, and if you need one of those dialects, you can use the [http://www.autodesk.com/products/fbx/overview AutoDesk FBX converter]For example, the Blender importer requires binary FBX files that can be generated in this fashion.
=== Stereolitography (.stl) ===
(to be written)
=== Ogre3d ===
(to be written)
== Rig formats (.bvh) ==
MakeHuman currently only supports one rig format: BVH.
If BVH is selected, it is anticipated that built in animations will be saved to the export directory. As of the MakeHuman 1.1.0, there is no offical support for model animation from within MakeHuman. Thus, selecting this export type is of limited value.
If you are interested in using BVH files created by other programs with the MakeHuman model, you may wish to read the documentation on the MAKEWALK -- LINK NEEDED Addon.
== Maps ==
You can also export light maps and UV maps
=== Lightmap ===
If Lightmap is checked, a grayscale image of the unwrapped model is saved in the export directory as a 2048 x 2048 .png image.
=== UV map ===
If UV map is checked, a black and white UV unwrapped image of the model mesh on a black background is saved in the export directory as a 2048 x 2048 .png image.
== The options box ==
TheOptionsbox contains several export options for each of the formats.The export options available for each format can be selected or deselected by ticking (displayed in orange) and un-ticking off the box in front of them. You can either use the default options for a format or select and deselect options according to your goals and needs. Once an option is changed, it will remain in the changed state until you restart MakeHuman or change it again. They are unaffected by the reset button on the Toolbar.
A common option that is present for all formats isFeet on ground: the origin of the MakeHuman™ mesh is located in the hip area, but if this option is enabled, exported origin is moved to between the feet instead.
Another common option present in almost all formats is the Scale unit: decimeter, meter, inch, centimeter. The internal MakeHuman™ unit is decimeters (the base mesh is 16.8 dm tall), but this is a rather unique choice not shared by other applications. Setting the unit is not essential if the file is exported to a 3D suit like Maya, 3DSMax or Blender, because the character can be rescaled after import. However, Collada files can also be read by other types of applications, where choosing the right scale may be important. In particular, select meters for export to SecondLife.
b2f49e246374155cdef0abcd7773236837e33fef
1113
762
2016-07-05T17:25:08Z
Aranuvir
17
wikitext
text/x-wiki
Note that this page is a general overview of the export formats. If you want to export for a specific application, you might want to read one of the specific pages instead. These can be found from the [[Documentation:Index|root of the documentation]].
[[File:export_labelled.png]]
The above illustration explains the typical user interface components of the Export tab. On the right you get to choose what to export be in the mesh, the rig or the maps. In the center you have the 3D preview to preview your model. On the right you have options which keep changing based on what format you have selected in the left panel. On the top below the tabs panel is the “Ellipsis” button which opens a file dialog, a text box to enter the file name of the file and an “Export” button to do the actual export and save the file in the desired format.
Below we outline the three main options in more detail i.e. Mesh formats, rig formats and Maps.
== The special case MHX2 ==
(to be written)
== Mesh Formats (.dae, .fbx, .obj, Ogre3D, .stl) ==
Files are Exported using either the Quick Export icon or by directly choosing the File tab and the Export sub tab.
The Export window allows you to export your current MakeHuman project to one of a variety of export formats. Supported formats including Collada (DAE), Filmbox (FBX), Wavefront (OBJ), Sterolithography (stl) and Ogre3d.
By default, exported files (regardless of export format) are saved to the user directory %HOMEPATH%/makehuman/v1/exports/.
As is true for the load and save tabs, the ellipsis can be used to export to a non-standard directory/folder. After selecting a format and export options, type the name of your project in the input box at the center of the Export window and then click the "Export"
button at the right hand side of the input box. MakeHuman, itself, can not read any of the exported formats, so exporting is a one way transfer of information. If you expect to do further refinement of your model, make sure you also save it in .mhm format.
The various export formats differ in the richness of the assets exported:
=== Collada (.dae) ===
COLLADA™ is owned by the not-for-profit, open standards [http://www.khronos.org/ Khronos group]. It defines an [https://www.khronos.org/collada/ XML-based schema] standard for exporting 3D assets.
MakeHuman™ is meant to adhere to version 1.4 of the standard.
The resulting ASCII format files can become quite large which occasionally limits the use of this format with other programs.
By default, MakeHuman™ exports DAE files with y-up, face-z and the decimeter scale chosen.
When importing MakeHuman dae files into Blender, be sure to check "import units" at the bottom of the Blender left tool panel if you have not changed the units to meters.
=== Wavefront (.obj) ===
OBJ is a very simple format to export the mesh, with vertices, faces and UV coordinates. Originally invented by Alias/Wavefront, all major 3D packages have OBJ importers, so this format allows you to export to the greatest range of applications.
However, the character is not rigged but rather a static prop. Wavefront OBJ is a good choice when you need a simple mesh for an external renderer. It comes with an mtl file defining the material.
=== Filmbox (.fbx) ===
The default dialect currently used by the MakeHuman™ FBX exporter is FBX 2013 ASCII. Other FBX dialects exist, and if you need one of those dialects, you can use the [http://www.autodesk.com/products/fbx/overview AutoDesk FBX converter]For example, the Blender importer requires binary FBX files that can be generated in this fashion.
=== Stereolitography (.stl) ===
(to be written)
=== Ogre3d ===
(to be written)
== Rig formats (.bvh) ==
MakeHuman currently only supports one rig format: BVH.
If BVH is selected, it is anticipated that built in animations will be saved to the export directory. As of the MakeHuman 1.1.0, there is no offical support for model animation from within MakeHuman. Thus, selecting this export type is of limited value.
If you are interested in using BVH files created by other programs with the MakeHuman model, you may wish to read the documentation on the MAKEWALK -- LINK NEEDED Addon.
== Maps ==
You can also export light maps and UV maps
=== Lightmap ===
If Lightmap is checked, a grayscale image of the unwrapped model is saved in the export directory as a 2048 x 2048 .png image.
=== UV map ===
If UV map is checked, a black and white UV unwrapped image of the model mesh on a black background is saved in the export directory as a 2048 x 2048 .png image.
== The options box ==
TheOptionsbox contains several export options for each of the formats.The export options available for each format can be selected or deselected by ticking (displayed in orange) and un-ticking off the box in front of them. You can either use the default options for a format or select and deselect options according to your goals and needs. Once an option is changed, it will remain in the changed state until you restart MakeHuman or change it again. They are unaffected by the reset button on the Toolbar.
A common option that is present for all formats isFeet on ground: the origin of the MakeHuman™ mesh is located in the hip area, but if this option is enabled, exported origin is moved to between the feet instead.
Another common option present in almost all formats is the Scale unit: decimeter, meter, inch, centimeter. The internal MakeHuman™ unit is decimeters (the base mesh is 16.8 dm tall), but this is a rather unique choice not shared by other applications. Setting the unit is not essential if the file is exported to a 3D suit like Maya, 3DSMax or Blender, because the character can be rescaled after import. However, Collada files can also be read by other types of applications, where choosing the right scale may be important. In particular, select meters for export to SecondLife.
93ae60e3f62d10238f4304dac2aab5e34417f98e
762
761
2016-05-24T11:24:35Z
Joepal
14
wikitext
text/x-wiki
Note that this page is a general overview of the export formats. If you want to export for a specific application, you might want to read one of the specific pages instead. These can be found from the [[Documentation:Index|root of the documentation]].
!IMAGE!Pictures/export_labelled.png!/IMAGE!
The above illustration explains the typical user interface components of the Export tab. On the right you get to choose what to export be in the mesh, the rig or the maps. In the center you have the 3D preview to preview your model. On the right you have options which keep changing based on what format you have selected in the left panel. On the top below the tabs panel is the “Ellipsis” button which opens a file dialog, a text box to enter the file name of the file and an “Export” button to do the actual export and save the file in the desired format.
Below we outline the three main options in more detail i.e. Mesh formats, rig formats and Maps.
== The special case MHX2 ==
(to be written)
== Mesh Formats (.dae, .fbx, .obj, Ogre3D, .stl) ==
Files are Exported using either the Quick Export icon or by directly choosing the File tab and the Export sub tab.
The Export window allows you to export your current MakeHuman project to one of a variety of export formats. Supported formats including Collada (DAE), Filmbox (FBX), Wavefront (OBJ), Sterolithography (stl) and Ogre3d.
By default, exported files (regardless of export format) are saved to the user directory %HOMEPATH%/makehuman/v1/exports/.
As is true for the load and save tabs, the ellipsis can be used to export to a non-standard directory/folder. After selecting a format and export options, type the name of your project in the input box at the center of the Export window and then click the "Export"
button at the right hand side of the input box. MakeHuman, itself, can not read any of the exported formats, so exporting is a one way transfer of information. If you expect to do further refinement of your model, make sure you also save it in .mhm format.
The various export formats differ in the richness of the assets exported:
=== Collada (.dae) ===
COLLADA™ is owned by the not-for-profit, open standards [http://www.khronos.org/ Khronos group]. It defines an [https://www.khronos.org/collada/ XML-based schema] standard for exporting 3D assets.
MakeHuman™ is meant to adhere to version 1.4 of the standard.
The resulting ASCII format files can become quite large which occasionally limits the use of this format with other programs.
By default, MakeHuman™ exports DAE files with y-up, face-z and the decimeter scale chosen.
When importing MakeHuman dae files into Blender, be sure to check "import units" at the bottom of the Blender left tool panel if you have not changed the units to meters.
=== Wavefront (.obj) ===
OBJ is a very simple format to export the mesh, with vertices, faces and UV coordinates. Originally invented by Alias/Wavefront, all major 3D packages have OBJ importers, so this format allows you to export to the greatest range of applications.
However, the character is not rigged but rather a static prop. Wavefront OBJ is a good choice when you need a simple mesh for an external renderer. It comes with an mtl file defining the material.
=== Filmbox (.fbx) ===
The default dialect currently used by the MakeHuman™ FBX exporter is FBX 2013 ASCII. Other FBX dialects exist, and if you need one of those dialects, you can use the [http://www.autodesk.com/products/fbx/overview AutoDesk FBX converter]For example, the Blender importer requires binary FBX files that can be generated in this fashion.
=== Stereolitography (.stl) ===
(to be written)
=== Ogre3d ===
(to be written)
== Rig formats (.bvh) ==
MakeHuman currently only supports one rig format: BVH.
If BVH is selected, it is anticipated that built in animations will be saved to the export directory. As of the MakeHuman 1.1.0, there is no offical support for model animation from within MakeHuman. Thus, selecting this export type is of limited value.
If you are interested in using BVH files created by other programs with the MakeHuman model, you may wish to read the documentation on the MAKEWALK -- LINK NEEDED Addon.
== Maps ==
You can also export light maps and UV maps
=== Lightmap ===
If Lightmap is checked, a grayscale image of the unwrapped model is saved in the export directory as a 2048 x 2048 .png image.
=== UV map ===
If UV map is checked, a black and white UV unwrapped image of the model mesh on a black background is saved in the export directory as a 2048 x 2048 .png image.
== The options box ==
TheOptionsbox contains several export options for each of the formats.The export options available for each format can be selected or deselected by ticking (displayed in orange) and un-ticking off the box in front of them. You can either use the default options for a format or select and deselect options according to your goals and needs. Once an option is changed, it will remain in the changed state until you restart MakeHuman or change it again. They are unaffected by the reset button on the Toolbar.
A common option that is present for all formats isFeet on ground: the origin of the MakeHuman™ mesh is located in the hip area, but if this option is enabled, exported origin is moved to between the feet instead.
Another common option present in almost all formats is the Scale unit: decimeter, meter, inch, centimeter. The internal MakeHuman™ unit is decimeters (the base mesh is 16.8 dm tall), but this is a rather unique choice not shared by other applications. Setting the unit is not essential if the file is exported to a 3D suit like Maya, 3DSMax or Blender, because the character can be rescaled after import. However, Collada files can also be read by other types of applications, where choosing the right scale may be important. In particular, select meters for export to SecondLife.
c6bfe38070a08affad7f83d683f8c1761e348aa3
761
760
2016-05-24T11:24:03Z
Joepal
14
wikitext
text/x-wiki
Note that this page is a general overview of the export formats. If you want to export for a specific application, you might want to read one of the specific pages instead. These can be found from the [[Documentation:Index root of the documentation]].
!IMAGE!Pictures/export_labelled.png!/IMAGE!
The above illustration explains the typical user interface components of the Export tab. On the right you get to choose what to export be in the mesh, the rig or the maps. In the center you have the 3D preview to preview your model. On the right you have options which keep changing based on what format you have selected in the left panel. On the top below the tabs panel is the “Ellipsis” button which opens a file dialog, a text box to enter the file name of the file and an “Export” button to do the actual export and save the file in the desired format.
Below we outline the three main options in more detail i.e. Mesh formats, rig formats and Maps.
== The special case MHX2 ==
(to be written)
== Mesh Formats (.dae, .fbx, .obj, Ogre3D, .stl) ==
Files are Exported using either the Quick Export icon or by directly choosing the File tab and the Export sub tab.
The Export window allows you to export your current MakeHuman project to one of a variety of export formats. Supported formats including Collada (DAE), Filmbox (FBX), Wavefront (OBJ), Sterolithography (stl) and Ogre3d.
By default, exported files (regardless of export format) are saved to the user directory %HOMEPATH%/makehuman/v1/exports/.
As is true for the load and save tabs, the ellipsis can be used to export to a non-standard directory/folder. After selecting a format and export options, type the name of your project in the input box at the center of the Export window and then click the "Export"
button at the right hand side of the input box. MakeHuman, itself, can not read any of the exported formats, so exporting is a one way transfer of information. If you expect to do further refinement of your model, make sure you also save it in .mhm format.
The various export formats differ in the richness of the assets exported:
=== Collada (.dae) ===
COLLADA™ is owned by the not-for-profit, open standards [http://www.khronos.org/ Khronos group]. It defines an [https://www.khronos.org/collada/ XML-based schema] standard for exporting 3D assets.
MakeHuman™ is meant to adhere to version 1.4 of the standard.
The resulting ASCII format files can become quite large which occasionally limits the use of this format with other programs.
By default, MakeHuman™ exports DAE files with y-up, face-z and the decimeter scale chosen.
When importing MakeHuman dae files into Blender, be sure to check "import units" at the bottom of the Blender left tool panel if you have not changed the units to meters.
=== Wavefront (.obj) ===
OBJ is a very simple format to export the mesh, with vertices, faces and UV coordinates. Originally invented by Alias/Wavefront, all major 3D packages have OBJ importers, so this format allows you to export to the greatest range of applications.
However, the character is not rigged but rather a static prop. Wavefront OBJ is a good choice when you need a simple mesh for an external renderer. It comes with an mtl file defining the material.
=== Filmbox (.fbx) ===
The default dialect currently used by the MakeHuman™ FBX exporter is FBX 2013 ASCII. Other FBX dialects exist, and if you need one of those dialects, you can use the [http://www.autodesk.com/products/fbx/overview AutoDesk FBX converter]For example, the Blender importer requires binary FBX files that can be generated in this fashion.
=== Stereolitography (.stl) ===
(to be written)
=== Ogre3d ===
(to be written)
== Rig formats (.bvh) ==
MakeHuman currently only supports one rig format: BVH.
If BVH is selected, it is anticipated that built in animations will be saved to the export directory. As of the MakeHuman 1.1.0, there is no offical support for model animation from within MakeHuman. Thus, selecting this export type is of limited value.
If you are interested in using BVH files created by other programs with the MakeHuman model, you may wish to read the documentation on the MAKEWALK -- LINK NEEDED Addon.
== Maps ==
You can also export light maps and UV maps
=== Lightmap ===
If Lightmap is checked, a grayscale image of the unwrapped model is saved in the export directory as a 2048 x 2048 .png image.
=== UV map ===
If UV map is checked, a black and white UV unwrapped image of the model mesh on a black background is saved in the export directory as a 2048 x 2048 .png image.
== The options box ==
TheOptionsbox contains several export options for each of the formats.The export options available for each format can be selected or deselected by ticking (displayed in orange) and un-ticking off the box in front of them. You can either use the default options for a format or select and deselect options according to your goals and needs. Once an option is changed, it will remain in the changed state until you restart MakeHuman or change it again. They are unaffected by the reset button on the Toolbar.
A common option that is present for all formats isFeet on ground: the origin of the MakeHuman™ mesh is located in the hip area, but if this option is enabled, exported origin is moved to between the feet instead.
Another common option present in almost all formats is the Scale unit: decimeter, meter, inch, centimeter. The internal MakeHuman™ unit is decimeters (the base mesh is 16.8 dm tall), but this is a rather unique choice not shared by other applications. Setting the unit is not essential if the file is exported to a 3D suit like Maya, 3DSMax or Blender, because the character can be rescaled after import. However, Collada files can also be read by other types of applications, where choosing the right scale may be important. In particular, select meters for export to SecondLife.
58e4b196ee81b10d970aebb92c210e1ca14ca178
760
759
2016-05-24T11:22:31Z
Joepal
14
/* Maps ( ligtmaps and UV maps) */
wikitext
text/x-wiki
!IMAGE!Pictures/export_labelled.png!/IMAGE!
The above illustration explains the typical user interface components of the Export tab. On the right you get to choose what to export be in the mesh, the rig or the maps. In the center you have the 3D preview to preview your model. On the right you have options which keep changing based on what format you have selected in the left panel. On the top below the tabs panel is the “Ellipsis” button which opens a file dialog, a text box to enter the file name of the file and an “Export” button to do the actual export and save the file in the desired format.
Below we outline the three main options in more detail i.e. Mesh formats, rig formats and Maps.
== The special case MHX2 ==
(to be written)
== Mesh Formats (.dae, .fbx, .obj, Ogre3D, .stl) ==
Files are Exported using either the Quick Export icon or by directly choosing the File tab and the Export sub tab.
The Export window allows you to export your current MakeHuman project to one of a variety of export formats. Supported formats including Collada (DAE), Filmbox (FBX), Wavefront (OBJ), Sterolithography (stl) and Ogre3d.
By default, exported files (regardless of export format) are saved to the user directory %HOMEPATH%/makehuman/v1/exports/.
As is true for the load and save tabs, the ellipsis can be used to export to a non-standard directory/folder. After selecting a format and export options, type the name of your project in the input box at the center of the Export window and then click the "Export"
button at the right hand side of the input box. MakeHuman, itself, can not read any of the exported formats, so exporting is a one way transfer of information. If you expect to do further refinement of your model, make sure you also save it in .mhm format.
The various export formats differ in the richness of the assets exported:
=== Collada (.dae) ===
COLLADA™ is owned by the not-for-profit, open standards [http://www.khronos.org/ Khronos group]. It defines an [https://www.khronos.org/collada/ XML-based schema] standard for exporting 3D assets.
MakeHuman™ is meant to adhere to version 1.4 of the standard.
The resulting ASCII format files can become quite large which occasionally limits the use of this format with other programs.
By default, MakeHuman™ exports DAE files with y-up, face-z and the decimeter scale chosen.
When importing MakeHuman dae files into Blender, be sure to check "import units" at the bottom of the Blender left tool panel if you have not changed the units to meters.
=== Wavefront (.obj) ===
OBJ is a very simple format to export the mesh, with vertices, faces and UV coordinates. Originally invented by Alias/Wavefront, all major 3D packages have OBJ importers, so this format allows you to export to the greatest range of applications.
However, the character is not rigged but rather a static prop. Wavefront OBJ is a good choice when you need a simple mesh for an external renderer. It comes with an mtl file defining the material.
=== Filmbox (.fbx) ===
The default dialect currently used by the MakeHuman™ FBX exporter is FBX 2013 ASCII. Other FBX dialects exist, and if you need one of those dialects, you can use the [http://www.autodesk.com/products/fbx/overview AutoDesk FBX converter]For example, the Blender importer requires binary FBX files that can be generated in this fashion.
=== Stereolitography (.stl) ===
(to be written)
=== Ogre3d ===
(to be written)
== Rig formats (.bvh) ==
MakeHuman currently only supports one rig format: BVH.
If BVH is selected, it is anticipated that built in animations will be saved to the export directory. As of the MakeHuman 1.1.0, there is no offical support for model animation from within MakeHuman. Thus, selecting this export type is of limited value.
If you are interested in using BVH files created by other programs with the MakeHuman model, you may wish to read the documentation on the MAKEWALK -- LINK NEEDED Addon.
== Maps ==
You can also export light maps and UV maps
=== Lightmap ===
If Lightmap is checked, a grayscale image of the unwrapped model is saved in the export directory as a 2048 x 2048 .png image.
=== UV map ===
If UV map is checked, a black and white UV unwrapped image of the model mesh on a black background is saved in the export directory as a 2048 x 2048 .png image.
== The options box ==
TheOptionsbox contains several export options for each of the formats.The export options available for each format can be selected or deselected by ticking (displayed in orange) and un-ticking off the box in front of them. You can either use the default options for a format or select and deselect options according to your goals and needs. Once an option is changed, it will remain in the changed state until you restart MakeHuman or change it again. They are unaffected by the reset button on the Toolbar.
A common option that is present for all formats isFeet on ground: the origin of the MakeHuman™ mesh is located in the hip area, but if this option is enabled, exported origin is moved to between the feet instead.
Another common option present in almost all formats is the Scale unit: decimeter, meter, inch, centimeter. The internal MakeHuman™ unit is decimeters (the base mesh is 16.8 dm tall), but this is a rather unique choice not shared by other applications. Setting the unit is not essential if the file is exported to a 3D suit like Maya, 3DSMax or Blender, because the character can be rescaled after import. However, Collada files can also be read by other types of applications, where choosing the right scale may be important. In particular, select meters for export to SecondLife.
76ba3b2fc2e77ff4a6e94924b66890874d2dea34
759
758
2016-05-24T11:21:12Z
Joepal
14
/* Rig formats (.bvh) */
wikitext
text/x-wiki
!IMAGE!Pictures/export_labelled.png!/IMAGE!
The above illustration explains the typical user interface components of the Export tab. On the right you get to choose what to export be in the mesh, the rig or the maps. In the center you have the 3D preview to preview your model. On the right you have options which keep changing based on what format you have selected in the left panel. On the top below the tabs panel is the “Ellipsis” button which opens a file dialog, a text box to enter the file name of the file and an “Export” button to do the actual export and save the file in the desired format.
Below we outline the three main options in more detail i.e. Mesh formats, rig formats and Maps.
== The special case MHX2 ==
(to be written)
== Mesh Formats (.dae, .fbx, .obj, Ogre3D, .stl) ==
Files are Exported using either the Quick Export icon or by directly choosing the File tab and the Export sub tab.
The Export window allows you to export your current MakeHuman project to one of a variety of export formats. Supported formats including Collada (DAE), Filmbox (FBX), Wavefront (OBJ), Sterolithography (stl) and Ogre3d.
By default, exported files (regardless of export format) are saved to the user directory %HOMEPATH%/makehuman/v1/exports/.
As is true for the load and save tabs, the ellipsis can be used to export to a non-standard directory/folder. After selecting a format and export options, type the name of your project in the input box at the center of the Export window and then click the "Export"
button at the right hand side of the input box. MakeHuman, itself, can not read any of the exported formats, so exporting is a one way transfer of information. If you expect to do further refinement of your model, make sure you also save it in .mhm format.
The various export formats differ in the richness of the assets exported:
=== Collada (.dae) ===
COLLADA™ is owned by the not-for-profit, open standards [http://www.khronos.org/ Khronos group]. It defines an [https://www.khronos.org/collada/ XML-based schema] standard for exporting 3D assets.
MakeHuman™ is meant to adhere to version 1.4 of the standard.
The resulting ASCII format files can become quite large which occasionally limits the use of this format with other programs.
By default, MakeHuman™ exports DAE files with y-up, face-z and the decimeter scale chosen.
When importing MakeHuman dae files into Blender, be sure to check "import units" at the bottom of the Blender left tool panel if you have not changed the units to meters.
=== Wavefront (.obj) ===
OBJ is a very simple format to export the mesh, with vertices, faces and UV coordinates. Originally invented by Alias/Wavefront, all major 3D packages have OBJ importers, so this format allows you to export to the greatest range of applications.
However, the character is not rigged but rather a static prop. Wavefront OBJ is a good choice when you need a simple mesh for an external renderer. It comes with an mtl file defining the material.
=== Filmbox (.fbx) ===
The default dialect currently used by the MakeHuman™ FBX exporter is FBX 2013 ASCII. Other FBX dialects exist, and if you need one of those dialects, you can use the [http://www.autodesk.com/products/fbx/overview AutoDesk FBX converter]For example, the Blender importer requires binary FBX files that can be generated in this fashion.
=== Stereolitography (.stl) ===
(to be written)
=== Ogre3d ===
(to be written)
== Rig formats (.bvh) ==
MakeHuman currently only supports one rig format: BVH.
If BVH is selected, it is anticipated that built in animations will be saved to the export directory. As of the MakeHuman 1.1.0, there is no offical support for model animation from within MakeHuman. Thus, selecting this export type is of limited value.
If you are interested in using BVH files created by other programs with the MakeHuman model, you may wish to read the documentation on the MAKEWALK -- LINK NEEDED Addon.
== Maps ( ligtmaps and UV maps) ==
* Lightmap:IfLightmapis checked, a grayscale image of the unwrapped A8 model is saved in the export directory as a 2048 x 2048 .png image.
* UV Map:IfUV mapis checked, a black and white UV unwrapped image of the model mesh on a black background is saved in the export directory as a 2048 x 2048 .png image.
== The options box ==
TheOptionsbox contains several export options for each of the formats.The export options available for each format can be selected or deselected by ticking (displayed in orange) and un-ticking off the box in front of them. You can either use the default options for a format or select and deselect options according to your goals and needs. Once an option is changed, it will remain in the changed state until you restart MakeHuman or change it again. They are unaffected by the reset button on the Toolbar.
A common option that is present for all formats isFeet on ground: the origin of the MakeHuman™ mesh is located in the hip area, but if this option is enabled, exported origin is moved to between the feet instead.
Another common option present in almost all formats is the Scale unit: decimeter, meter, inch, centimeter. The internal MakeHuman™ unit is decimeters (the base mesh is 16.8 dm tall), but this is a rather unique choice not shared by other applications. Setting the unit is not essential if the file is exported to a 3D suit like Maya, 3DSMax or Blender, because the character can be rescaled after import. However, Collada files can also be read by other types of applications, where choosing the right scale may be important. In particular, select meters for export to SecondLife.
2c391b95efdbf396f8ed0381e633b2281e2ef762
758
2016-05-24T11:19:23Z
Joepal
14
Created page with " !IMAGE!Pictures/export_labelled.png!/IMAGE! The above illustration explains the typical user interface components of the Export tab. On the right you get to choose what to..."
wikitext
text/x-wiki
!IMAGE!Pictures/export_labelled.png!/IMAGE!
The above illustration explains the typical user interface components of the Export tab. On the right you get to choose what to export be in the mesh, the rig or the maps. In the center you have the 3D preview to preview your model. On the right you have options which keep changing based on what format you have selected in the left panel. On the top below the tabs panel is the “Ellipsis” button which opens a file dialog, a text box to enter the file name of the file and an “Export” button to do the actual export and save the file in the desired format.
Below we outline the three main options in more detail i.e. Mesh formats, rig formats and Maps.
== The special case MHX2 ==
(to be written)
== Mesh Formats (.dae, .fbx, .obj, Ogre3D, .stl) ==
Files are Exported using either the Quick Export icon or by directly choosing the File tab and the Export sub tab.
The Export window allows you to export your current MakeHuman project to one of a variety of export formats. Supported formats including Collada (DAE), Filmbox (FBX), Wavefront (OBJ), Sterolithography (stl) and Ogre3d.
By default, exported files (regardless of export format) are saved to the user directory %HOMEPATH%/makehuman/v1/exports/.
As is true for the load and save tabs, the ellipsis can be used to export to a non-standard directory/folder. After selecting a format and export options, type the name of your project in the input box at the center of the Export window and then click the "Export"
button at the right hand side of the input box. MakeHuman, itself, can not read any of the exported formats, so exporting is a one way transfer of information. If you expect to do further refinement of your model, make sure you also save it in .mhm format.
The various export formats differ in the richness of the assets exported:
=== Collada (.dae) ===
COLLADA™ is owned by the not-for-profit, open standards [http://www.khronos.org/ Khronos group]. It defines an [https://www.khronos.org/collada/ XML-based schema] standard for exporting 3D assets.
MakeHuman™ is meant to adhere to version 1.4 of the standard.
The resulting ASCII format files can become quite large which occasionally limits the use of this format with other programs.
By default, MakeHuman™ exports DAE files with y-up, face-z and the decimeter scale chosen.
When importing MakeHuman dae files into Blender, be sure to check "import units" at the bottom of the Blender left tool panel if you have not changed the units to meters.
=== Wavefront (.obj) ===
OBJ is a very simple format to export the mesh, with vertices, faces and UV coordinates. Originally invented by Alias/Wavefront, all major 3D packages have OBJ importers, so this format allows you to export to the greatest range of applications.
However, the character is not rigged but rather a static prop. Wavefront OBJ is a good choice when you need a simple mesh for an external renderer. It comes with an mtl file defining the material.
=== Filmbox (.fbx) ===
The default dialect currently used by the MakeHuman™ FBX exporter is FBX 2013 ASCII. Other FBX dialects exist, and if you need one of those dialects, you can use the [http://www.autodesk.com/products/fbx/overview AutoDesk FBX converter]For example, the Blender importer requires binary FBX files that can be generated in this fashion.
=== Stereolitography (.stl) ===
(to be written)
=== Ogre3d ===
(to be written)
== Rig formats (.bvh) ==
MakeHuman currently only supports one rig format: BVH.
If BVH is selected, it is anticipated that built in animations will be saved to the export directory. As of the MakeHuman™ 1.0.2, there is no offical support for model animation from within MakeHuman™. Thus, selecting this export type is of limited value. If you are interested in using BVH files created by other programs with the MakeHuman model, you may wish to read the documentation on the!LINK!http://www.makehuman.org/sectionview/975 -- MHBlenderTools MakeWalk!/LINK! Addon. A good place to start is the!LINK!http://www.makehuman.org/doc/node/blendertools_makewalk_basic_workflow.html -- MakeWalk Basic Workflow!/LINK!chapter.
== Maps ( ligtmaps and UV maps) ==
* Lightmap:IfLightmapis checked, a grayscale image of the unwrapped A8 model is saved in the export directory as a 2048 x 2048 .png image.
* UV Map:IfUV mapis checked, a black and white UV unwrapped image of the model mesh on a black background is saved in the export directory as a 2048 x 2048 .png image.
== The options box ==
TheOptionsbox contains several export options for each of the formats.The export options available for each format can be selected or deselected by ticking (displayed in orange) and un-ticking off the box in front of them. You can either use the default options for a format or select and deselect options according to your goals and needs. Once an option is changed, it will remain in the changed state until you restart MakeHuman or change it again. They are unaffected by the reset button on the Toolbar.
A common option that is present for all formats isFeet on ground: the origin of the MakeHuman™ mesh is located in the hip area, but if this option is enabled, exported origin is moved to between the feet instead.
Another common option present in almost all formats is the Scale unit: decimeter, meter, inch, centimeter. The internal MakeHuman™ unit is decimeters (the base mesh is 16.8 dm tall), but this is a rather unique choice not shared by other applications. Setting the unit is not essential if the file is exported to a 3D suit like Maya, 3DSMax or Blender, because the character can be rescaled after import. However, Collada files can also be read by other types of applications, where choosing the right scale may be important. In particular, select meters for export to SecondLife.
18fcfc546279d0ee8e10206f711f7af380871546
Documentation:Features of new Blender plugin
3000
625
1835
1829
2020-07-26T09:08:39Z
Punkduck
38
Replaced content with "deleted, was not smart enough to find the move button XD ---- where is the delete button ;)"
wikitext
text/x-wiki
deleted, was not smart enough to find the move button XD ---- where is the delete button ;)
ee8f4601fad7f734d2ba71dba50fc0f105bd4775
1829
1825
2020-07-25T17:14:19Z
Punkduck
38
wikitext
text/x-wiki
Caution: this file is under construction :)
= Makeclothes Version 2 =
[[File:makeclothestitle.jpg]]
MakeClothes2 is used to create clothes for MakeHuman characters. It could be installed as a single plugin, but at least MakeSkin should be used, if the creation of material is also part of your work. Furthermore it is able to work with the human base mesh provided by MPFB.
The term "clothes" is not really correct, the program creates any kind of mesh which can be used for a character generated by MakeHuman. This also includes hair and different tongue or a new proxy. To use MakeClothes in Blender knowledge of Blender itself is needed.
== Notation ==
To understand the process, a short summary of terms used in MakeHuman:
* '''base mesh''': The base mesh is the standard body mesh used in MakeHuman. It has an exact number of vertices and each vertex has a number, starting with number 0 to 13379.
* '''helper mesh''': The helper mesh is used to create all parts not directly attached to the body. This includes body parts like teeth, tongue and eyes and (male) genital, but also is used for generation of clothes (tights and skirt) and hair. The helper mesh is also deformed invisible in MakeHuman, when you change the character. The helper mesh comes with the base mesh.
* '''proxy''': in a way all meshes projected on the body are proxies. Also the clothes are proxies, but in this case proxies should only be alternative meshes for the skin of the body
* '''smoothing''': MakeHuman may use smoothing on a base mesh. This results in a mesh with 4 times as many vertices. <u>This mesh cannot be used for MakeClothes.</u>
* '''clothes''': clothes will be all meshes MakeClothes is able to create. Hair and body proxies included.
* '''posing''': the standard "unposed" base mesh is presented in an A-Pose. Other poses are T-Pose or a pose which is user generated. Typically these poses are created with the standard skeleton. Shapekeys can be used as a special pose too.
* '''weighting''': when a character is posed the skin but also the clothes should follow the bones. So weights are added to each vertex. These weights determine how much a bone will be followed. MakeClothes uses a similar construction, since the clothes follow vertices on the helper or base mesh.
[[File:Mc2_meshes_to_use.png]]
Only base mesh and helper can be used to create clothes.
== Limits ==
Makeclothes has certain limits according to the internal structure of MakeHuman
* The mesh for the clothes can either be done with quads or with triangles. No mixture allowed. Advantage for quads is a smoother design with a later usage of subdivision surface algorithm (smoothing). Triangles are normally used for e.g. sculpting or when you work with 3rd party meshes.
* only one material for one piece of cloth is allowed in MakeHuman
* each vertex of a piece of cloth uses 3 vertices on body or helper to find its position according to the human created in MakeHuman
* each vertex of a piece of cloth needs to be in one (and only one) vertex group. A group of the same name must be created on the human
* it is possible to create more than one piece of cloth with one human
* only one human is allowed when clothes are created. So only one object is "marked as human". However, if you need more than one base mesh, all others can be marked as clothes
[[File:Mc2_makeclothes2.png|right]]
== How to load a human ==
MakeHuman uses a mesh called hm08. Makeclothes is prepared to deal with other meshes as well for future versions. When the mesh is changed it must be changed in MakeHuman as well. So this documentation will only consider the hm08 base mesh.
To create clothes you can create them directly on the body or on the helper mesh. For underwear the nude body is best choice, but for a coat the helper mesh will be used. A good method for e.g. a skirt or coat is to design the piece of cloth on the nude body and then use the helper mesh for weighting in the end.
There are currently a few possibilities to load a human:
* '''Load a predefined human'''
Blend-files which are placed in the "humans" sub-directory of the makeclothes plugin can be used directly. When MakeClothes starts, these blend-files are scanned once and names of the objects starting with "mh_" are presented in a menu. The selected mesh is appended by pressing the "Import predefined human" button.
[[File:Mc2_loadpredef.png]]
In case of a helper mesh, the parts of the mesh are assigned to different vertex-groups to allow an easy selection and use different colors.
After the mesh is loaded these buttons disappear, because one human is already loaded. The loaded mesh is automatically marked as a human. To load another human either delete the human or mark your human as clothes.
{| style="color:green; background-color:#ffffcc;"
|-
|The files of the pre-defined humans are not yet included in the repository, this will happen soon, different meshes will be provided, also t-posed ones. If you want to work with that already:
|-
|create folder humans in Blender directory scripts/addons/makeclothes
|-
|unzip this file [http://www.makehumancommunity.org/forum/download/file.php?id=8095 Zip-File with male and female meshes]
|-
|move both blend files into this folder.
|-
|}
* '''Load the human via MPFB'''
Makehuman Plugin for Blender also can provide a base mesh. Be aware that the best base is an unmodified male or female mesh, because the clothes will fit most of the characters. Do not use proxies. If you import an human this is already the base mesh. If you need the helpers, change settings according to the illustration and import the mesh. Instead of "don't modify" you can also use "Mask".
[[File:Mc2_loadhumanmfb.png]]
* '''Load normal base.obj file'''
This is the way using the predefined base.obj file which can be downloaded from github. MakeClothes reads the wavefront file. Vertex groups are created according to the .obj file. Disadvantage: this mesh is neither male nor female.
An exported wavefront mesh made by MakeHuman can be used as well (no proxy, do not use smoothing and delete the extra eyes). It is possible to export it including the helpers. Unfortunately it has no vertex groups assigned. This must be done in Blender later.
* '''Load an mhx2 file'''
The body (no proxy, do not use smoothing and delete the extra eyes) used by mhx2 export can also be used as a base mesh. In this case no helpers are available.
* '''Delete helpers'''
If a mesh is loaded and the helpers are not needed, the helpers can be deleted. In this case a vertex-group "body" is expected, all vertices belonging to other groups are deleted. If body is not available, nothing will be done.
== Tell MakeClothes the type of the object ==
[[File:Mc2_customprops.png|right]]
To create clothes, one object must be marked as human and at least one as clothes. If you work with more than one human, all others must be marked as clothes temporarily. When you mark one object as human a previously marked human will automatically be marked as clothes. The custom properties of the object will held this information.
== Create simple clothes (extract from helper) ==
In case a helper mesh is available it is possible to use the helpers as a first try. Especially for beginners (but also for the advanced for a good weighting) this could be helpful.
<more text to be written>
== Test the human mesh ==
The human loaded with one of the methods usually should not have problems. Nevertheless there is a small test available to check the human. This test is also automatically done when clothes are created.
* the number of human objects must be one
* there must be one vertex group on the human
* no vertex belongs to an non-existing group
[[File:Mc2_checkhuman.png]]
== Test the clothes ==
Clothes need a bit more testing.
* clothes should not have stray geometry. These are single vertices or edges. If this problem appears, change into edit mode. The vertices are pre-selected. Simply delete them or change geometry otherwise.
* maximum number of vertices per face is 4. If you have more than this, these faces are selected and must be changed.
* clothes can be quad or triangle meshes. A mixture is not allowed. The process assumes a mesh type and selects the faces to be changed.
* the process tests if at least one vertex group is available
* all vertices must belong to one vertex group. Vertices belonging to no group are selected and can be changed in edit mode.
* all vertices must belong to only one vertex group. Vertices belonging to more than one group are selected and can be changed in edit mode.
* no vertex belongs to an non-existing group
* a test is done, how many edges belong to one vertex. Typically quad meshes with a low pole-count will have better geometric qualities. This is only a warning. The vertices with more than 8 neighbor vertices will be selected and can be changed in edit mode.
[[File:Mc2_checkclothes.png]]
== Common settings ==
The common settings will provide the '''license''' and the name of the '''author''', which will be used for all the clothes generated with this file.
* '''Overwrite existing files''' is switched off. The name of the piece of cloth is used as a filename. If it is necessary to overwrite an existing object, the box must be marked.
* '''Modifiers are allowed'''. Typically the mirror modifier may make sense. Be careful with e.g. subdivision surface, because it may produce a huge number of vertices. When the clothes should be designed with subdivision surface but created without, switch off "Allow Modifiers"
== Produce clothes ==
The main features of creating clothes are:
* '''name''': this is the name of the piece of cloth, also the filename
* '''comment''': a short optional description
* '''tags''': a list of predefined and own tags as a search criteria for MakeHuman
[[File:Mc2_tagselector.png]]
* '''zdepth''': determines the order of clothes. Lower values are used for clothes near the body, higher values for parts far away. This will be used to hide clothes near the body. A rule of thumb is to start with underware at 31, normal clothes (pants, t-shirt, shoes) use a default value of 50 and clothes like a coat usually use high values like 63. The following illustration shows the effect for a character equipped with ballet clothes. It also demonstrates what is happening when all values are equal.
[[File:Mc2_zdepth.png]]
* '''scaling''': select the part of the body which is important for the scaling. Most likely torso for a t-shirt, head for a hat etc.
* '''delete-group''': it is a good method to delete vertices on the body if clothes are not transparent. This avoids bleeding through, that is, that vertices that should be "inside" suddenly appear outside of the clothes. All vertices not to be displayed should be selected on the body (not helper) and assigned to a vertex on the human. The name of this group must be inserted in the box. If more than one piece of cloth is created, they all can have a different delete-group on the same human.
* '''use MakeSkin''': without MakeSkin a simple material is saved for the piece of cloth (white base color). Otherwise the material file of the plugin MakeSkin is used
<more specific text will follow>
* '''subdir''': the directory inside where the clothes will be created.
== Materials ==
Most of the clothes will need a texture. Before the texture can be used the piece of cloth must be unwrapped. Best way is to create seams in Blender, where the real seams are.
Unwrap the clothes in any case. The output of this process is a UV-Map, which will be used to determine the coordinates of each vertex on the texture.
<will be changed later with information about makeskin and some advice how to do good textures etc.>
== Creating of own clothes ==
To create clothes select the piece of cloth and press produce clothes. The tests "check clothes" and "check human" are processed and also an additional test about matching vertex groups is done. If everything is okay, the clothes can be loaded in MakeHuman.
<will contain a lot of tips & tricks later>
== Special poses, heels etc. ==
<works with a special target in MakeHuman and a pose changed with shape key in MakeClothes>
== Importing existent clothes ==
It is possible to load an existent mhclo-file from the data folder of MakeHuman. Best is to load the human mesh before, if you want to change geometry. The clothes will also fit to a different body, but in this case they will not look as good as on the body, they were made for. But the advantage is, that e.g. clothes created for males can be used as a base for a female version.
When clothes are imported, Most of fields are filled in by the process and the delete-group is marked on the human (in case a humans is available).
The material is also loaded, when MakeSkin is available. The illustration shows the result of the import of the "lace_up_blouse". A material called "lace_up_blouse" was created in blender. All available information is imported and displayed. This includes the special parameters only used in MakeHuman (Backface culling, Transparent, LitSphere etc.). So also the material setup could be used for a new piece of cloth.
[[File:Mc2_importclothes.png]]
~
e678016925519334982de8b141ed34445a3f4322
1825
1817
2020-07-24T19:46:31Z
Punkduck
38
wikitext
text/x-wiki
Caution: this file is under construction :)
= Makeclothes Version 2 =
[[File:makeclothestitle.jpg]]
MakeClothes2 is used to create clothes for MakeHuman characters. The term "clothes" is not really correct, the program creates any kind of mesh which can be used for a character generated by MakeHuman. This also includes hair and different tongue or a new proxy. To use MakeClothes in Blender knowledge of Blender itself is needed.
== Notation ==
To understand the process, a short summary of terms used in MakeHuman:
* '''base mesh''': The base mesh is the standard body mesh used in MakeHuman. It has an exact number of vertices and each vertex has a number, starting with number 0 to 13379.
* '''helper mesh''': The helper mesh is used to create all parts not directly attached to the body. This includes body parts like teeth, tongue and eyes and (male) genital, but also is used for generation of clothes (tights and skirt) and hair. The helper mesh is also deformed invisible in MakeHuman, when you change the character. The helper mesh comes with the base mesh.
* '''proxy''': in a way all meshes projected on the body are proxies. Also the clothes are proxies, but in this case proxies should only be alternative meshes for the skin of the body
* '''smoothing''': MakeHuman may use smoothing on a base mesh. This results in a mesh with 4 times as many vertices. <u>This mesh cannot be used for MakeClothes.</u>
* '''clothes''': clothes will be all meshes MakeClothes is able to create. Hair and body proxies included.
* '''posing''': the standard "unposed" base mesh is presented in an A-Pose. Other poses are T-Pose or a pose which is user generated. Typically these poses are created with the standard skeleton. Shapekeys can be used as a special pose too.
* '''weighting''': when a character is posed the skin but also the clothes should follow the bones. So weights are added to each vertex. These weights determine how much a bone will be followed. MakeClothes uses a similar construction, since the clothes follow vertices on the helper or base mesh.
[[File:Mc2_meshes_to_use.png]]
Only base mesh and helper can be used to create clothes.
== Limits ==
Makeclothes has certain limits according to the internal structure of MakeHuman
* The mesh for the clothes can either be done with quad or with triangles. No mixture allowed. Advantage for quads is a smoother design with a later usage of subdivision surface algorithm (smoothing). Triangles are normally used for e.g. sculpting or when you work with 3rd party meshes.
* only one material for one piece of cloth is allowed in MakeHuman
* each vertex of a piece of cloth uses 3 vertices on body or helper to find its position according to the human created in MakeHuman
* each vertex of a piece of cloth needs to be in one (and only one) vertex group. A group of the same name must be created on the human
* it is possible to create more than one piece of cloth with one human
* only one human is allowed when clothes are created. So only one object is "marked as human". So if you need more than one base mesh, all others can be marked as clothes
[[File:Mc2_makeclothes2.png|right]]
== How to load a human ==
MakeHuman uses a mesh called hm08. Makeclothes is prepared to deal with other meshes as well for future versions. When the mesh is changed it must be changed in MakeHuman as well. So this documentation will only consider the hm08 base mesh.
To create clothes you can create them directly on the body or on the helper mesh. For underwear the nude body is best choice, but for a coat the helper mesh will be used. A good method for e.g. a skirt or coat is to design the piece of cloth on the nude body and then use the helper mesh for weighting in the end.
There are currently a few possibilities to load a human:
* '''Load a predefined human'''
Blend-files which are placed in the "humans" sub-directory of the makeclothes plugin can be used directly. When MakeClothes starts, these blend-files are scanned once and names of the objects starting with "mh_" are presented in a menu. The selected mesh is appended by pressing the "Import predefined human" button.
[[File:Mc2_loadpredef.png]]
In case of a helper mesh, the parts of the mesh are assigned to different vertex-groups to allow an easy selection and use different colors.
After the mesh is loaded these buttons disappear, because one human is already loaded. The loaded mesh is automatically marked as a human. To load another human either delete the human or mark your human as clothes.
(These files are not yet included in the repository, this will happen soon, different meshes will be provided, also t-posed ones).
* '''Load the human via MPFB'''
Makehuman Plugin for Blender also can provide a base mesh. Be aware that the best base is an unmodified male or female mesh, because the clothes will fit most of the characters. Do not use proxies. A you import a human this is already the base mesh. If you need the helpers, change settings according to the illustration and import the mesh. Instead of "don't modify" you can also use "Mask".
[[File:Mc2_loadhumanmfb.png]]
* '''Load normal base.obj file'''
This is the way using the predefined base.obj file which can be downloaded from github. MakeClothes reads the wavefront file. Vertex groups are created according to the .obj file. Disadvantage: this mesh is neither male nor female.
An exported wavefront mesh made by MakeHuman can be used as well (no proxy, do not use smoothing and delete the extra eyes). It is possible to export it including the helpers. Unfortunately it has no vertex groups assigned. This must be done in Blender later.
* '''Load an mhx2 file'''
The body (no proxy, do not use smoothing and delete the extra eyes) used by mhx2 export can also be used as a base mesh. In this case no helpers are available.
* '''Delete helpers'''
If a mesh is loaded and the helpers are not needed, the helpers can be deleted. In this case a vertex-group "body" is expected, all vertices belonging to other groups are deleted. If body is not available, nothing will be done.
== Tell MakeClothes the type of the object ==
[[File:Mc2_customprops.png|right]]
To create clothes, one object must be marked as human and at least one as clothes. If you work with more than one human, all others must be marked as clothes temporarily. When you mark one object as human a previously marked human will automatically be marked as clothes. The custom properties of the object will held this information.
== Create simple clothes (extract from helper) ==
In case a helper mesh is available it is possible to use the helpers as a first try. Especially for beginners (but also for the advanced for a good weighting) this could be helpful.
<more text to be written>
== Test the human mesh ==
The human loaded with one of the methods usually should not have problems. Nevertheless there is a small test available to check the human. This test is also automatically done when clothes are created.
* the number of human objects must be one
* there must be one vertex group on the human
* no vertex belongs to an non-existing group
[[File:Mc2_checkhuman.png]]
== Test the clothes ==
Clothes need a bit more testing.
* clothes should not have stray geometry. These are single vertices or edges. If this problem appears, change into edit mode. The vertices are pre-selected. Simply delete them or change geometry otherwise.
* maximum number of vertices per face is 4. If you have more than this, these faces are selected and must be changed.
* clothes can be quad or triangle meshes. A mixture is not allowed. The process assumes a mesh type and selects the faces to be changed.
* the process tests if at least one vertex group is available
* all vertices must belong to one vertex group. Vertices belonging to no group are selected and can be changed in edit mode.
* all vertices must belong to only one vertex group. Vertices belonging to more than one group are selected and can be changed in edit mode.
* no vertex belongs to an non-existing group
* a test is done, how many edges belong to one vertex. Typically quad meshes with a low pole-count will have better geometric qualities. This is only a warning. The vertices with more than 8 neighbor vertices will be selected and can be changed in edit mode.
[[File:Mc2_checkclothes.png]]
== Common settings ==
The common settings will provide the '''license''' and the name of the '''author''', which will be used for all the clothes generated with this file.
* '''Overwrite existing files''' is switched off. The name of the piece of cloth is used as a filename. If it is necessary to overwrite an existing object, the box must be marked.
* '''Modifiers are allowed'''. Typically the mirror modifier may make sense. Be careful with e.g. subdivision surface, because it may produce a huge number of vertices. When the clothes should be designed with subdivision surface but created without, switch off "Allow Modifiers"
== Produce clothes ==
The main features of creating clothes are:
* '''name''': this is the name of the piece of cloth, also the filename
* '''comment''': a short optional description
* '''tags''': a list of predefined and own tags as a search criteria for MakeHuman
[[File:Mc2_tagselector.png]]
* '''zdepth''': determines the order of clothes. Lower values are used for clothes near the body, higher values for parts far away. This will be used to hide clothes near the body. A rule of thumb is to start with underware at 31, normal clothes (pants, t-shirt, shoes) use a default value of 50 and clothes like a coat usually use high values like 63. The following illustration shows the effect for a character equipped with ballet clothes. It also demonstrates what is happening when all values are equal.
[[File:Mc2_zdepth.png]]
* '''scaling''': select the part of the body which is important for the scaling. Most likely torso for a t-shirt, head for a hat etc.
* '''delete-group''': it is a good method to delete vertices on the body if clothes are not transparent. This avoids bleeding through, that is, that vertices that should be "inside" suddenly appear outside of the clothes. All vertices not to be displayed should be selected on the body (not helper) and assigned to a vertex on the human. The name of this group must be inserted in the box. If more than one piece of cloth is created, they all can have a different delete-group on the same human.
* '''use MakeSkin''': without MakeSkin a simple material is saved for the piece of cloth (white base color). Otherwise the material file of the plugin MakeSkin is used
<more specific text will follow>
* '''subdir''': the directory inside where the clothes will be created.
== Materials ==
Most of the clothes will need a texture. Before the texture can be used the piece of cloth must be unwrapped. Best way is to create seams in Blender, where the real seams are.
Unwrap the clothes in any case. The output of this process is a UV-Map, which will be used to determine the coordinates of each vertex on the texture.
<will be changed later with information about makeskin and some advice how to do good textures etc.>
== Creating of own clothes ==
To create clothes select the piece of cloth and press produce clothes. The tests "check clothes" and "check human" are processed and also an additional test about matching vertex groups is done. If everything is okay, the clothes can be loaded in MakeHuman.
<will contain a lot of tips & tricks later>
== Special poses, heels etc. ==
<works with a special target in MakeHuman and a pose changed with shape key in MakeClothes>
== Importing existent clothes ==
It is possible to load an existent mhclo-file from the data folder of MakeHuman. Best is to load the human mesh before. When clothes are imported, Most of fields are filled in by the process and the delete-group is marked on the human (in case it is loaded).
~
400b9d2120553f15b6cc25f1c5f9d969188ae91c
1817
1811
2020-07-06T13:11:34Z
Punkduck
38
/* Produce clothes */
wikitext
text/x-wiki
Caution: this file is under construction :)
= Makeclothes Version 2 =
[[File:makeclothestitle.jpg]]
MakeClothes2 is used to create clothes for MakeHuman characters. The term "clothes" is not really correct, the program creates any kind of mesh which can be used for a character generated by MakeHuman. This also includes hair and different tongue or a new proxy. To use MakeClothes in Blender knowledge of Blender itself is needed.
== Notation ==
To understand the process, a short summary of terms used in MakeHuman:
* '''base mesh''': The base mesh is the standard body mesh used in MakeHuman. It has an exact number of vertices and each vertex has a number, starting with number 0 to 13379.
* '''helper mesh''': The helper mesh is used to create all parts not directly attached to the body. This includes body parts like teeth, tongue and eyes and (male) genital, but also is used for generation of clothes (tights and skirt) and hair. The helper mesh is also deformed invisible in MakeHuman, when you change the character. The helper mesh comes with the base mesh.
* '''proxy''': in a way all meshes projected on the body are proxies. Also the clothes are proxies, but in this case proxies should only be alternative meshes for the skin of the body
* '''smoothing''': MakeHuman may use smoothing on a base mesh. This results in a mesh with 4 times as many vertices. <u>This mesh cannot be used for MakeClothes.</u>
* '''clothes''': clothes will be all meshes MakeClothes is able to create. Hair and body proxies included.
* '''posing''': the standard "unposed" base mesh is presented in an A-Pose. Other poses are T-Pose or a pose which is user generated. Typically these poses are created with the standard skeleton. Shapekeys can be used as a special pose too.
* '''weighting''': when a character is posed the skin but also the clothes should follow the bones. So weights are added to each vertex. These weights determine how much a bone will be followed. MakeClothes uses a similar construction, since the clothes follow vertices on the helper or base mesh.
[[File:Mc2_meshes_to_use.png]]
Only base mesh and helper can be used to create clothes.
== Limits ==
Makeclothes has certain limits according to the internal structure of MakeHuman
* The mesh for the clothes can either be done with quad or with triangles. No mixture allowed. Advantage for quads is a smoother design with a later usage of subdivision surface algorithm (smoothing). Triangles are normally used for e.g. sculpting or when you work with 3rd party meshes.
* only one material for one piece of cloth is allowed in MakeHuman
* each vertex of a piece of cloth uses 3 vertices on body or helper to find its position according to the human created in MakeHuman
* each vertex of a piece of cloth needs to be in one (and only one) vertex group. A group of the same name must be created on the human
* it is possible to create more than one piece of cloth with one human
* only one human is allowed when clothes are created. So only one object is "marked as human". So if you need more than one base mesh, all others can be marked as clothes
[[File:Mc2_makeclothes2.png|right]]
== How to load a human ==
MakeHuman uses a mesh called hm08. Makeclothes is prepared to deal with other meshes as well for future versions. When the mesh is changed it must be changed in MakeHuman as well. So this documentation will only consider the hm08 base mesh.
To create clothes you can create them directly on the body or on the helper mesh. For underwear the nude body is best choice, but for a coat the helper mesh will be used. A good method for e.g. a skirt or coat is to design the piece of cloth on the nude body and then use the helper mesh for weighting in the end.
There are currently a few possibilities to load a human:
{|style="background-color:#ffffcc;"
|not yet in master
* '''Load a predefined human'''
Blend-files which are in the directory <name> can be used directly. When MakeClothes starts these blend-files are scanned once and names are presented in a menu. The selected mesh is appended by pressing the "Import predefined human" button.
[[File:Mc2_loadpredef.png]]
In case of a helper mesh, the parts of the mesh are assigned to different vertex-groups to allow an easy selection and use different colors.
After the mesh is loaded these buttons disappear, because one human is already loaded. The loaded mesh is automatically marked as a human. To load another human either delete the human or mark your human as clothes.
|}
* '''Load the human via MPFB'''
<to be written>
* '''Load normal base.obj file'''
This is the way using the predefined base.obj file which can be downloaded from github. MakeClothes reads the wavefront file. Vertex groups are created according to the .obj file. Disadvantage: this mesh is neither male nor female.
An exported wavefront mesh made by MakeHuman can be used as well (no proxy, do not use smoothing and delete the extra eyes). It is possible to export it including the helpers. Unfortunately it has no vertex groups assigned. This must be done in Blender later.
* '''Load an mhx2 file'''
The body (no proxy, do not use smoothing and delete the extra eyes) used by mhx2 export can also be used as a base mesh. In this case no helpers are available.
* '''Delete helpers'''
If a mesh is loaded and the helpers are not needed, the helpers can be deleted. In this case a vertex-group "body" is expected, all vertices belonging to other groups are deleted. If body is not available, nothing will be done.
== Tell MakeClothes the type of the object ==
[[File:Mc2_customprops.png|right]]
To create clothes, one object must be marked as human and at least one as clothes. If you work with more than one human, all others must be marked as clothes temporarily. When you mark one object as human a previously marked human will automatically be marked as clothes. The custom properties of the object will held this information.
== Create simple clothes (extract from helper) ==
In case a helper mesh is available it is possible to use the helpers as a first try. Especially for beginners (but also for the advanced for a good weighting) this could be helpful.
<more text to be written>
== Test the human mesh ==
The human loaded with one of the methods usually should not have problems. Nevertheless there is a small test available to check the human. This test is also automatically done when clothes are created.
* the number of human objects must be one
* there must be one vertex group on the human
* no vertex belongs to an non-existing group
[[File:Mc2_checkhuman.png]]
== Test the clothes ==
Clothes need a bit more testing.
* clothes should not have stray geometry. These are single vertices or edges. If this problem appears, change into edit mode. The vertices are pre-selected. Simply delete them or change geometry otherwise.
* maximum number of vertices per face is 4. If you have more than this, these faces are selected and must be changed.
* clothes can be quad or triangle meshes. A mixture is not allowed. The process assumes a mesh type and selects the faces to be changed.
* the process tests if at least one vertex group is available
* all vertices must belong to one vertex group. Vertices belonging to no group are selected and can be changed in edit mode.
* all vertices must belong to only one vertex group. Vertices belonging to more than one group are selected and can be changed in edit mode.
* no vertex belongs to an non-existing group
* a test is done, how many edges belong to one vertex. Typically quad meshes with a low pole-count will have better geometric qualities. This is only a warning. The vertices with more than 8 neighbor vertices will be selected and can be changed in edit mode.
[[File:Mc2_checkclothes.png]]
== Common settings ==
The common settings will provide the '''license''' and the name of the '''author''', which will be used for all the clothes generated with this file.
* '''Overwrite existing files''' is switched off. The name of the piece of cloth is used as a filename. If it is necessary to overwrite an existing object, the box must be marked.
* '''Modifiers are allowed'''. Typically the mirror modifier may make sense. Be careful with e.g. subdivision surface, because it may produce a huge number of vertices. When the clothes should be designed with subdivision surface but created without, switch off "Allow Modifiers"
== Produce clothes ==
The main features of creating clothes are:
* '''name''': this is the name of the piece of cloth, also the filename
* '''comment''': a short optional description
* '''tags''': a list of predefined and own tags as a search criteria for MakeHuman
[[File:Mc2_tagselector.png]]
* '''zdepth''': determines the order of clothes. Lower values are used for clothes near the body, higher values for parts far away. This will be used to hide clothes near the body. A rule of thumb is to start with underware at 31, normal clothes (pants, t-shirt, shoes) use a default value of 50 and clothes like a coat usually use high values like 63. The following illustration shows the effect for a character equipped with ballet clothes. It also demonstrates what is happening when all values are equal.
[[File:Mc2_zdepth.png]]
* '''scaling''': select the part of the body which is important for the scaling. Most likely torso for a t-shirt, head for a hat etc.
* '''delete-group''': it is a good method to delete vertices on the body if clothes are not transparent. This avoids bleeding through, that is, that vertices that should be "inside" suddenly appear outside of the clothes. All vertices not to be displayed should be selected on the body (not helper) and assigned to a vertex on the human. The name of this group must be inserted in the box. If more than one piece of cloth is created, they all can have a different delete-group on the same human.
* '''use MakeSkin''': without MakeSkin a simple material is saved for the piece of cloth (white base color). Otherwise the material file of the plugin MakeSkin is used
<more specific text will follow>
* '''subdir''': the directory inside where the clothes will be created.
== Materials ==
Most of the clothes will need a texture. Before the texture can be used the piece of cloth must be unwrapped. Best way is to create seams in Blender, where the real seams are.
Unwrap the clothes in any case. The output of this process is a UV-Map, which will be used to determine the coordinates of each vertex on the texture.
<will be changed later with information about makeskin and some advice how to do good textures etc.>
== Creating of own clothes ==
To create clothes select the piece of cloth and press produce clothes. The tests "check clothes" and "check human" are processed and also an additional test about matching vertex groups is done. If everything is okay, the clothes can be loaded in MakeHuman.
<will contain a lot of tips & tricks later>
== Special poses, heels etc. ==
<works with a special target in MakeHuman and a pose changed with shape key in MakeClothes>
== Importing existent clothes ==
It is possible to load an existent mhclo-file from the data folder of MakeHuman. Best is to load the human mesh before. When clothes are imported, Most of fields are filled in by the process and the delete-group is marked on the human (in case it is loaded).
~
79d1fe9798c5458bbb062b4804a921ffd453ea4d
1811
1802
2020-06-21T14:56:48Z
Punkduck
38
wikitext
text/x-wiki
Caution: this file is under construction :)
= Makeclothes Version 2 =
[[File:makeclothestitle.jpg]]
MakeClothes2 is used to create clothes for MakeHuman characters. The term "clothes" is not really correct, the program creates any kind of mesh which can be used for a character generated by MakeHuman. This also includes hair and different tongue or a new proxy. To use MakeClothes in Blender knowledge of Blender itself is needed.
== Notation ==
To understand the process, a short summary of terms used in MakeHuman:
* '''base mesh''': The base mesh is the standard body mesh used in MakeHuman. It has an exact number of vertices and each vertex has a number, starting with number 0 to 13379.
* '''helper mesh''': The helper mesh is used to create all parts not directly attached to the body. This includes body parts like teeth, tongue and eyes and (male) genital, but also is used for generation of clothes (tights and skirt) and hair. The helper mesh is also deformed invisible in MakeHuman, when you change the character. The helper mesh comes with the base mesh.
* '''proxy''': in a way all meshes projected on the body are proxies. Also the clothes are proxies, but in this case proxies should only be alternative meshes for the skin of the body
* '''smoothing''': MakeHuman may use smoothing on a base mesh. This results in a mesh with 4 times as many vertices. <u>This mesh cannot be used for MakeClothes.</u>
* '''clothes''': clothes will be all meshes MakeClothes is able to create. Hair and body proxies included.
* '''posing''': the standard "unposed" base mesh is presented in an A-Pose. Other poses are T-Pose or a pose which is user generated. Typically these poses are created with the standard skeleton. Shapekeys can be used as a special pose too.
* '''weighting''': when a character is posed the skin but also the clothes should follow the bones. So weights are added to each vertex. These weights determine how much a bone will be followed. MakeClothes uses a similar construction, since the clothes follow vertices on the helper or base mesh.
[[File:Mc2_meshes_to_use.png]]
Only base mesh and helper can be used to create clothes.
== Limits ==
Makeclothes has certain limits according to the internal structure of MakeHuman
* The mesh for the clothes can either be done with quad or with triangles. No mixture allowed. Advantage for quads is a smoother design with a later usage of subdivision surface algorithm (smoothing). Triangles are normally used for e.g. sculpting or when you work with 3rd party meshes.
* only one material for one piece of cloth is allowed in MakeHuman
* each vertex of a piece of cloth uses 3 vertices on body or helper to find its position according to the human created in MakeHuman
* each vertex of a piece of cloth needs to be in one (and only one) vertex group. A group of the same name must be created on the human
* it is possible to create more than one piece of cloth with one human
* only one human is allowed when clothes are created. So only one object is "marked as human". So if you need more than one base mesh, all others can be marked as clothes
[[File:Mc2_makeclothes2.png|right]]
== How to load a human ==
MakeHuman uses a mesh called hm08. Makeclothes is prepared to deal with other meshes as well for future versions. When the mesh is changed it must be changed in MakeHuman as well. So this documentation will only consider the hm08 base mesh.
To create clothes you can create them directly on the body or on the helper mesh. For underwear the nude body is best choice, but for a coat the helper mesh will be used. A good method for e.g. a skirt or coat is to design the piece of cloth on the nude body and then use the helper mesh for weighting in the end.
There are currently a few possibilities to load a human:
{|style="background-color:#ffffcc;"
|not yet in master
* '''Load a predefined human'''
Blend-files which are in the directory <name> can be used directly. When MakeClothes starts these blend-files are scanned once and names are presented in a menu. The selected mesh is appended by pressing the "Import predefined human" button.
[[File:Mc2_loadpredef.png]]
In case of a helper mesh, the parts of the mesh are assigned to different vertex-groups to allow an easy selection and use different colors.
After the mesh is loaded these buttons disappear, because one human is already loaded. The loaded mesh is automatically marked as a human. To load another human either delete the human or mark your human as clothes.
|}
* '''Load the human via MPFB'''
<to be written>
* '''Load normal base.obj file'''
This is the way using the predefined base.obj file which can be downloaded from github. MakeClothes reads the wavefront file. Vertex groups are created according to the .obj file. Disadvantage: this mesh is neither male nor female.
An exported wavefront mesh made by MakeHuman can be used as well (no proxy, do not use smoothing and delete the extra eyes). It is possible to export it including the helpers. Unfortunately it has no vertex groups assigned. This must be done in Blender later.
* '''Load an mhx2 file'''
The body (no proxy, do not use smoothing and delete the extra eyes) used by mhx2 export can also be used as a base mesh. In this case no helpers are available.
* '''Delete helpers'''
If a mesh is loaded and the helpers are not needed, the helpers can be deleted. In this case a vertex-group "body" is expected, all vertices belonging to other groups are deleted. If body is not available, nothing will be done.
== Tell MakeClothes the type of the object ==
[[File:Mc2_customprops.png|right]]
To create clothes, one object must be marked as human and at least one as clothes. If you work with more than one human, all others must be marked as clothes temporarily. When you mark one object as human a previously marked human will automatically be marked as clothes. The custom properties of the object will held this information.
== Create simple clothes (extract from helper) ==
In case a helper mesh is available it is possible to use the helpers as a first try. Especially for beginners (but also for the advanced for a good weighting) this could be helpful.
<more text to be written>
== Test the human mesh ==
The human loaded with one of the methods usually should not have problems. Nevertheless there is a small test available to check the human. This test is also automatically done when clothes are created.
* the number of human objects must be one
* there must be one vertex group on the human
* no vertex belongs to an non-existing group
[[File:Mc2_checkhuman.png]]
== Test the clothes ==
Clothes need a bit more testing.
* clothes should not have stray geometry. These are single vertices or edges. If this problem appears, change into edit mode. The vertices are pre-selected. Simply delete them or change geometry otherwise.
* maximum number of vertices per face is 4. If you have more than this, these faces are selected and must be changed.
* clothes can be quad or triangle meshes. A mixture is not allowed. The process assumes a mesh type and selects the faces to be changed.
* the process tests if at least one vertex group is available
* all vertices must belong to one vertex group. Vertices belonging to no group are selected and can be changed in edit mode.
* all vertices must belong to only one vertex group. Vertices belonging to more than one group are selected and can be changed in edit mode.
* no vertex belongs to an non-existing group
* a test is done, how many edges belong to one vertex. Typically quad meshes with a low pole-count will have better geometric qualities. This is only a warning. The vertices with more than 8 neighbor vertices will be selected and can be changed in edit mode.
[[File:Mc2_checkclothes.png]]
== Common settings ==
The common settings will provide the '''license''' and the name of the '''author''', which will be used for all the clothes generated with this file.
* '''Overwrite existing files''' is switched off. The name of the piece of cloth is used as a filename. If it is necessary to overwrite an existing object, the box must be marked.
* '''Modifiers are allowed'''. Typically the mirror modifier may make sense. Be careful with e.g. subdivision surface, because it may produce a huge number of vertices. When the clothes should be designed with subdivision surface but created without, switch off "Allow Modifiers"
== Produce clothes ==
The main features of creating clothes are:
* '''name''': this is the name of the piece of cloth, also the filename
* '''comment''': a short optional description
* '''tags''': a list of predefined and own tags as a search criteria for MakeHuman
[[File:Mc2_tagselector.png]]
* '''zdepth''': determines the order of clothes. Lower values are used for clothes near the body, higher values for parts far away. This will be used to hide clothes near the body.
<values have to be explained later>
* '''scaling''': select the part of the body which are important for the scaling. Most likely torso for a t-shirt, head for a hat etc.
* '''delete-grou'''p: it is a good method to delete vertices on the body if clothes are not transparent. This avoids bleeding through, that is, that vertices that should be "inside" suddenly appear outside of the clothes. All vertices not to be displayed should be selected on the body (not helper) and assigned to a vertex on the human. The name of this group must be inserted in the box. If more than one piece of cloth is created, they all can have a different delete-group on the same human.
* '''use MakeSkin''': without MakeSkin a simple material is saved for the piece of cloth (white base color). Otherwise the material file of the plugin MakeSkin is used
<more specific text will follow>
* '''subdir''': the directory inside where the clothes will be created.
== Materials ==
Most of the clothes will need a texture. Before the texture can be used the piece of cloth must be unwrapped. Best way is to create seams in Blender, where the real seams are.
Unwrap the clothes in any case. The output of this process is a UV-Map, which will be used to determine the coordinates of each vertex on the texture.
<will be changed later with information about makeskin and some advice how to do good textures etc.>
== Creating of own clothes ==
To create clothes select the piece of cloth and press produce clothes. The tests "check clothes" and "check human" are processed and also an additional test about matching vertex groups is done. If everything is okay, the clothes can be loaded in MakeHuman.
<will contain a lot of tips & tricks later>
== Special poses, heels etc. ==
<works with a special target in MakeHuman and a pose changed with shape key in MakeClothes>
== Importing existent clothes ==
It is possible to load an existent mhclo-file from the data folder of MakeHuman. Best is to load the human mesh before. When clothes are imported, Most of fields are filled in by the process and the delete-group is marked on the human (in case it is loaded).
~
9f67d3454e48ab767b7a2ac27be89fc29c498687
1802
2020-06-21T14:17:58Z
Punkduck
38
functions of the new Blender plugin MakeClothes V2
wikitext
text/x-wiki
Caution: this file is under construction :)
= Makeclothes Version 2 =
<makeclothestitle.jpg>
MakeClothes2 is used to create clothes for MakeHuman characters. The term "clothes" is not really correct, the program creates any kind of mesh which can be used for a character generated by MakeHuman. This also includes hair and different tongue or a new proxy. To use MakeClothes in Blender knowledge of Blender itself is needed.
== Notation ==
To understand the process, a short summary of terms used in MakeHuman:
* '''base mesh''': The base mesh is the standard body mesh used in MakeHuman. It has an exact number of vertices and each vertex has a number, starting with number 0 to 13379.
* '''helper mesh''': The helper mesh is used to create all parts not directly attached to the body. This includes body parts like teeth, tongue and eyes and (male) genital, but also is used for generation of clothes (tights and skirt) and hair. The helper mesh is also deformed invisible in MakeHuman, when you change the character. The helper mesh comes with the base mesh.
* '''proxy''': in a way all meshes projected on the body are proxies. Also the clothes are proxies, but in this case proxies should only be alternative meshes for the skin of the body
* '''smoothing''': MakeHuman may use smoothing on a base mesh. This results in a mesh with 4 times as many vertices. <u>This mesh cannot be used for MakeClothes.</u>
* '''clothes''': clothes will be all meshes MakeClothes is able to create. Hair and body proxies included.
* '''posing''': the standard "unposed" base mesh is presented in an A-Pose. Other poses are T-Pose or a pose which is user generated. Typically these poses are created with the standard skeleton. Shapekeys can be used as a special pose too.
* '''weighting''': when a character is posed the skin but also the clothes should follow the bones. So weights are added to each vertex. These weights determine how much a bone will be followed. MakeClothes uses a similar construction, since the clothes follow vertices on the helper or base mesh.
<meshes_to_use.png>
Only base mesh and helper can be used to create clothes.
== Limits ==
Makeclothes has certain limits according to the internal structure of MakeHuman
* The mesh for the clothes can either be done with quad or with triangles. No mixture allowed. Advantage for quads is a smoother design with a later usage of subdivision surface algorithm (smoothing). Triangles are normally used for e.g. sculpting or when you work with 3rd party meshes.
* only one material for one piece of cloth is allowed in MakeHuman
* each vertex of a piece of cloth uses 3 vertices on body or helper to find its position according to the human created in MakeHuman
* each vertex of a piece of cloth needs to be in one (and only one) vertex group. A group of the same name must be created on the human
* it is possible to create more than one piece of cloth with one human
* only one human is allowed when clothes are created. So only one object is "marked as human". So if you need more than one base mesh, all others can be marked as clothes
<makeclothes2.png>
== How to load a human ==
MakeHuman uses a mesh called hm08. Makeclothes is prepared to deal with other meshes as well for future versions. When the mesh is changed it must be changed in MakeHuman as well. So this documentation will only consider the hm08 base mesh.
To create clothes you can create them directly on the body or on the helper mesh. For underwear the nude body is best choice, but for a coat the helper mesh will be used. A good method for e.g. a skirt or coat is to design the piece of cloth on the nude body and then use the helper mesh for weighting.
There are currently a few possibilities to load a human:
{|style="background-color:#ffffcc;"
|not yet in master
<loadpredef.png>
* Load a predefined human. Blend-files which are in the directory <name> can be used directly. When MakeClothes starts these blend-files are scanned once and names are presented in a menu. The selected mesh is appended by pressing the "Import predefined human" button.
In case of a helper mesh, the parts of the mesh are assigned to different vertex-groups to allow an easy selection and use different colors.
After the mesh is loaded these buttons disappear, because one human is already loaded. The loaded mesh is automatically marked as a human. To load another human either delete the human or mark your human as clothes.
|}
* Load the human via MPFB
<to be written>
* Load normal base.obj file
This is the way using the predefined base.obj file which can be downloaded from github. MakeClothes reads the wavefront file. Vertex groups are created according to the .obj file. Disadvantage: this mesh is neither male nor female.
An exported wavefront mesh made by MakeHuman can be used as well (no proxy, do not use smoothing and delete the extra eyes). It is possible to export it including the helpers. Unfortunately it has no vertex groups assigned. This must be done in Blender later.
* Load an mhx2 file
The body (no proxy, do not use smoothing and delete the extra eyes) used by mhx2 export can also be used as a base mesh. In this case no helpers are available.
* Delete helpers:
If a mesh is loaded and the helpers are not needed, the helpers can be deleted. In this case a vertex-group "body" is expected, all vertices belonging to other groups are deleted. If body is not available, nothing will be done.
== Tell MakeClothes the type of the object ==
To create clothes, one object must be marked as human and at least one as clothes. If you work with more than one human, all other must be marked as clothes temporarily. When you mark one object as human a previous marked human will automatically marked as clothes.
<customprops.png>
== Create simple clothes (extract from helper) ==
In case a helper mesh is available it is possible to use the helpers as a first try. Especially for beginners (but also for the advanced for a good weighting) this could be helpful.
<more text to be written>
== Test the human mesh ==
The human loaded with one of the methods usually should not have problems. Nevertheless there is a small test available to check the human. This test is also automatically done when clothes are created.
* the number of human objects must be one
* there must be one vertex group on the human
* no vertex belongs to an non-existing group
<checkhuman.png>
== Test the clothes ==
Clothes need a bit more testing.
* clothes should not have stray geometry. These are single vertices or edges. If this problem appears, change into edit mode. The vertices are pre-selected. Simply delete them or change geometry otherwise.
* maximum number of vertices per face is 4. If you have more than this, these faces are selected and must be changed.
* clothes can be quad or triangle meshes. A mixture is not allowed. The process assumes a mesh type and selects the faces to be changed.
* the process tests if at least one vertex group is available
* all vertices must belong to one vertex group. Vertices belonging to no group are selected and can be changed in edit mode.
* all vertices must belong to only one vertex group. Vertices belonging to more than one group are selected and can be changed in edit mode.
* no vertex belongs to an non-existing group
* a test is done, how many edges belong to one vertex. Typically quad meshes with a low pole-count will have better geometric qualities. This is only a warning. The vertices with more than 8 neighbor vertices will be selected and can be changed in edit mode.
<checkclothes.png>
== Common settings ==
The common settings will provide the license and the name of the author, which will be used for all the clothes generated with this file.
* Overwrite existing files is switched off. The name of the piece of cloth is used as a filename. If it is necessary to overwrite an existing object, the box must be marked.
* Modifiers are allowed. Typically the mirror modifier may make sense. Be careful with e.g. subdivision surface, because it may produce a huge number of vertices. When the clothes should be designed with subdivision surface but created without, switch off "Allow Modifiers"
== Produce clothes ==
The main features of creating clothes are:
* name: this is the name of the piece of cloth, also the filename
* comment: a short optional description
* tags: a list of predefined and own tags as a search criteria for MakeHuman
<tagselector.png>
* zdepth: determines the order of clothes. Lower values are used for clothes near the body, higher values for parts far away. This will be used to hide clothes near the body.
<values have to be explained later>
* scaling: select the part of the body which are important for the scaling. Most likely torso for a t-shirt, head for a hat etc.
* delete-group: it is a good method to delete vertices on the body if clothes are not transparent. This avoids bleeding through, that is, that vertices that should be "inside" suddenly appear outside of the clothes. All vertices not to be displayed should be selected on the body (not helper) and assigned to a vertex on the human. The name of this group must be inserted in the box. If more than one piece of cloth is created, they all can have a different delete-group on the same human.
* use MakeSkin: without MakeSkin a simple material is saved for the piece of cloth (white base color). Otherwise the material file of the plugin MakeSkin is used <better explanation will follow>
* subdir: the directory inside where the clothes will be created.
== Materials ==
Most of the clothes will need a texture. Before the texture can be used the piece of cloth must be unwrapped. Best way is to create seams in Blender, where the real seams are.
Unwrap the clothes in any case. The output of this process is a UV-Map, which will be used to determine the coordinates of each vertex on the texture.
<will be changed later with info about makeskin and some advice how to do good textures>
== Creating of own clothes ==
To create clothes select the piece of cloth and press produce clothes. The test from "check clothes" and "check human" are repeated and also an additional test about matching vertex groups is done. If everything is okay, the clothes can be loaded in MakeHuman.
<will contain a lot of tips & tricks later>
== Special poses, heels etc. ==
== Importing existent clothes ==
It is possible to load an existent mhclo file from the data folder of MakeHuman. Best is to load the human mesh before. When clothes are imported, Most of fields are filled in by the process and the delete-group is marked on the human (in case it is loaded).
~
d043c4d4f2768292c65ce8ae1fa83202c858f81b
Documentation:File formats and extensions
3000
208
1375
1374
2017-03-17T20:40:18Z
Grinsegold
39
/* Material files */
wikitext
text/x-wiki
This section briefly reviews the file accessed or manipulated within MakeHuman. An attempt will be made to explain the function of each file format and where in MakeHuman’s modules it is used. Or external formats links will be provided to more detailed descriptions. Where it can help the developer better understand the overall organization of MakeHuman source code, some information on the module group or modules interaction with the various formats will be provided. This section Is intended to be used with the previous section on directories (folders) to develop an overview of MakeHuman code structure. This structural understanding is essential during the debugging process and is essential to expanding the programs functionality in structurally sound ways.
==== .obj files ====
This extension designates Lightwave object files. These OBJ files store mesh information and metadata needed for rendering in text-readable format. It was originally developed for the Lightwave 3D graphics program, but this file format is now broadly supported by many, if not most, 3D programs. Internally, MakeHuman uses OBJ files (or formats directly based on OBJ files) for the canonical storage of its assets. Many of MakeHuman’s development utilities store newly generated assets in formats related to the Lightwave OBJ specification. Examples of assets canonically stored in Lightwave OBJ format include the base human, and auxiliary geometry assets like eyes, hair, and clothes.
Each OBJ file has a record specifying the object’s name and records specifying one or more mesh objects. Mesh objects, in turn, are composed of record groups specifying: points or vertices (v), vertex normal (vn), faces (f), and vertex textures (vt). In MakeHuman and most general purpose 3D programs (e.g., Blender) OBJ files are exported with an accompanying Wavefront material file having the .mtl extension. These MTL files provide the detailed material attributes necessary to get photorealistic rendering of Wavefront objects. A more complete specification of Wavefront object format can be found at:!LINK!http://www.martinreddy.net/gfx/3d/OBJ.spec -- http://www.martinreddy.net/gfx/3d/OBJ.spec!/LINK!
OBJ files and MTL files have a direct internal analog in MakeHuman in the form of the object class, Object3D. This class, along with its properties and methods, is defined in the object3D.py module(libs folder). Object3D objects are central to the internal workings of MakeHuman. The resemblance of Object3D objects to OBJ files is not coincidental. Many of the core mesh assets in MakeHuman are developed in the open-source project, Blender, and moved to MakeHuman internals using OBJ format. In fact, MakeHuman maintains a separate product [MHTools] designed to support development of new core internal assets
==== .mhpxy files ====
This extension designates compressed binary proxies and clothes.
==== .mtl files ====
This extension designates a Wavefront material file. Wavefront MTL files are referenced from within Wavefront OBJ files to specify the materials used in rendering. More complete information on Wavefront material files is available here:!LINK!http://paulbourke.net/dataformats/mtl/ -- http://paulbourke.net/dataformats/mtl/!/LINK!
MakeHuman’s use of MTL file has been limited, but with the increased support for POV rendering, more modules may access and utilize MTL files. Currently, MTL-related data and files is developmental. Thedata foldercontains a cube.obj (3dobj) and a plane.obj (mitsuba folder) ostensibly associated with materials.
==== .npz files ====
This extension designates compressed binary asset files in MakeHuman [think npz = numPy zip files]. Among the most important assets stored with this extension is target vertex information. These target data determine the motion of each MakeHuman vertices (relative to landmark vertices?) as sliders are moved.
Thefiles3D.pymodule (core folder) tests for verifies existence of OS dependent locations of binary mesh files. The primary purpose of thefiles3D.pymodule is to transpose imported 3D data into a standard internal format for each of the 3D file formats supported by the MakeHuman import. Each importer function is written to return the 3d data in a standard format as a Python list:
[verts, vertsSharedFaces, vertsUV, faceGroups, faceGroupsNames]
The targets.pymodule (lib folder) is where system assets stored with the NPZ extension are identified, decompressed, and turned into memory resident structured objects for use by MakeHuman. This Code related to NPZ files can also be found in algos3d.py module (core folder). This module has been part of MakeHuman for a long time, and is used for morphing related operations. It works with loaded binary translation vectors and applies those translations to morphing targets. It may have some legacy capability to work directly with text-based .target files.
The compile_models.py module (lib folder) takes all object mesh files (.obj) and compiles them into binary compressed files (NPZ). Similarly, the compile_targets.py module (lib folder) compiles target files (.target) into binary compressed (NPZ) files. The latter module is referenced by Benjamin Lau in MakeHuman.spec file, likely for build purposes.
Important concept. The root folder of MakeHuman contains a batch file called cleanpz.bat (for Windows) and a corresponding shell script file called cleanpz.sh (for Linux) whose function is to delete NPZ files between repository (Bitbucket or GIT) builds. This “garbage collection” assures that each build is not working with out-of-date assets. It also reminds the developer that most of the canonical assets are initially constructed in text readable format. Developers write appropriate constructors to recompile NPZ files during the MakeHuman startup sequence when missing. For distribution versions of MakeHuman, pre-compiled assets in the form of NPZ files are distributed as stable assets. When start up code confirms their existence , no recompile is done, producing a better start-up experience for the user. This design greatly increases boot and runtime performance for stable distributions without hampering rapid testing of repository versions in interpretative mode.
==== .thumb files ====
This extension designates thumbnail (image preview) files in MakeHuman. Underneath, they are actually images constructed in the .png file format. Thus, they can be edited by standard image editors like GIMP or displayed by most web browsers. The MakeHuman Save Tab code automatically generates a companion .thumb file each time it saves a .mhm file. The .thumb generation is currently done by capturing a rectangular in the center of the viewport window. The MakeHuman Load Tab code uses .thumb images to provide previews of saved models.
The format for .thumb is defined inimage_qt.pymodule (GUI folder). Load and Save use or generation occur inguiload.pyandguisave.pymodules, respectively (lib folder). Numerous plugin modules reference .thumb files (plugins folder) including:2_posing_expression.py,3_libraries_clothes_chooser.py,3_libraries_eye_chooser.py,3_libraries_material_chooser.py,3_libraries_polygon_hair_chooser.py,3_libraries_posing_chooser.py,3_libraries_proxy_chooser.py, 4_rendering_scene.py,7_material_editor.py,
==== .lmk files ====
This MH internal extension designates landmark files. [might be renamed .mhlmk for naming standard reasons.] There is one set of landmarks for the model body (and a second set of landmarks for the model head (data | landmarks folder). These LMK files are written in text readable format. Each line has a single integer which specifies a landmark vertex in the model geometry. Landmark vertices are used for relative (local) spatial reference during model morphing.
Landmark files are used bywarpmodifier.py(apps folder) andwarp.py(utils | tools | warptarget folder).The landmarks in these files are used as references during the complex process of reshaping the human.
==== .mhclo files ====
This MH internal extension designates MakeHuman clothes files. These files define clothing vertexes and remove vertexes from the model to allow fitting of the model without skin showing through. They are created using the MakeHuman Blender toolset, specifically the MakeClothes tool.
A special empty MakeHuman clothes meta-file named clear.mhclo is is used to restore the default UV map that comes with the system. In the lib folder, the filechooser.py module has a MhcloFileLoader.Refresh() method to clear materials when the refresh button is clicked.
In the plugins folder,3_libraries_clothes_chooser.py, 3_libraries_eye_chooser.py, and 3_libraries_polygon_hair_chooser.py all access MHCLO files, but as of this writing, there are some file handling issues related to proxy clothes that means some of this code is commented out. In the shared/export_utils folder, config.py accesses a cage.mhclo file. In the tools folder, the tool ‘MakeClothes’ accesses MHCLO files in both the makeclothes.py and material.py modules. Similarly, the tool ‘MakeTarget‘ accesses MHCLO files in several of its modules:_init_.py, convert.py, import_obj.py, mt.py, ands ettings.py. Finally, two experimental tools in the utils folder, the makeface.py and helpers.py modules access MCHO files.
The mhclo-file structure:
A MH clothing consists of two files, the mhclo file which determines the vertex locations and a standard obj file which defines the rest of the mesh: faces, uv coordinates, uv faces. MH automatically compiles these files the first time it uses them, so these are the binary mhpxy and npz files. The header in a mhclo file looks like this:
# Exported from MakeClothes (TM)
# author Unknown
# license AGPL3 (see also http://www.makehuman.org/doc/node/external_tools_license.html)
# homepage http://www.makehuman.org/
uuid 59985471-ab08-479f-a32d-2d88411714ef
basemesh hm08
name Helmet
version 110
obj_file helmet.obj
x_scale 5399 11998 1.3980
z_scale 962 5320 1.8441
y_scale 791 881 2.2028
z_depth 50
max_pole 4
verts 0
# starts a comment.
The uuid is a unique identifier for this file.
The basemesh is the version of the MH mesh. Today always hm08, but earlier versions of MC supported hm07 and alpha6.
Name of clothing.
Version of MC
The obj file contains all information about the mesh in obj format: original vertex locations, faces, UVs.
x_scale v1 v2 dist: Used for scaling of offsets (see below) in the x direction. dist is the distance between verts v1 and v2 in the character the clothes were made for.
y_scale, z_scale analogous
z_depth determines the render order in MH, I think. It was originally used in a different way by the MHX importer.
max_pole is the maximal pole number of any vertex in this mesh. Affects how large arrays must be allocated in MH.
verts 0. It was some kind of vertex number offset, but the author doesn't quite remember how it worked.
Then comes a bunch of lines which determine the vertex locations.
16563 16602 16605 -2.77529 -3.02614 6.80143 -0.56369 0.10852 -0.06174
The three first are human vertex numbers which define a triangle.
The three in the middle are barycentric coordinates, which define a point in the triangle.
The three last is an offset from this point. However, the offset is scaled with factors determined by the x,y,z_scale lines in the header.
If the n:th line reads
v1 v2 v3 w1 w2 w3 d1 d2 d3
then the location of clothing vertex n is
w1*r1 + w2*r2 + w3 *r3 + (s1*d1, s2*d2, s3*d3)
where r1,r2,r3 are locations of human vertices v1,v2,v3, and s1,s2,s3 are scale factors
==== .mhmat files ====
This extension designates MakeHuman material files. Material files are text-readable files that share their syntax structure with Lightwave OBJ and MTL files.
In the app module group,human.pyapplies a default material andmh2proxy.pyhandles materials for proxies and may do some special material handling for MHX Blender export files. In the data folder, the MHCLO files for clothes, eyes, and hair each references an MHMAT files. In the plugins folder,7_material_editor.pyloads, edits, and saves MHMAT files. In the shared folder,material.pyparses MHMAT files and sets material properties. In the tools folder, there is another (independent)material.pymodule for the MakeClothes tool that writes materials to the output file while using that tool within Blender.
==== .mhmat file format Internals====
The entries inside a .mhmat file are of the form:
Comments can be included in c-style line comment format, like
or in python-style line comment format, like
The properties of a makehuman material are numerous so that they can cover the most common needs of exporters and rendering engines, and may vary among the following.
name- The internal name of the material.
Colors- Their value can be in R G B format, like: colorProperty R G B, where R, G, B are floating point numbers between 0 and 1. They control the color of various material properties and effects.
To adjust the intensity of an effect, you can simply edit its color value.
ambientColor -The ambient component of the material, which is usually added on the final color regardless of the surrounding lights.
diffuseColor -The diffuse component of the material, which reacts to each light's relative position.
specularColor -The color of the specular shine that is caused by the reflection of a light source on the material.
emissiveColor- The color of the light that the material seems to emit as if it's a glowing light source.
shininess- The sharpness of the shine spots created by the reflection of a light source on the material, which is how glossy its surface is.
Here's a list of naming convention for the content of the mhmat-file (floats are between 0.0 and 1.0):
"name": string
"tag": string
"description": string
"ambientColor": 3 x float
"diffuseColor": 3 x float
"specularColor": 3 x float
"shininess": 1 x float
"emissiveColor": 3 x float
"opacity": 1 x float
"translucency": 1 x float
"shadeless": bool
"wireframe": bool
"transparent": bool
"alphaToCoverage": bool
"backfaceCull": bool
"depthless": bool
"castShadows": bool
"receiveShadows": bool
"autoBlendSkin": bool
"diffuseTexture": filename
"bumpmapTexture": filename
"bumpmapIntensity": 1 x float
"normalmapTexture": filename
"normalmapIntensity": 1 x float
"displacementmapTexture": filename
"displacementmapIntensity": 1 x float
"specularmapTexture": filename
"specularmapIntensity": 1 x float
"transparencymapTexture": filename
"transparencymapIntensity": 1 x float
"aomapTexture": filename
"aomapIntensity": 1 x float
"sssEnabled": bool
"sssRScale": 1 x float
"sssGScale": 1 x float
"sssBScale": 1 x float
"shader": filename
"uvMap": filename
"shaderParam":
['diffuse', 'ambient', 'specular', 'emissive', 'diffuseTexture', 'bumpmapTexture', 'bumpmapIntensity', 'normalmapTexture', 'normalmapIntensity', 'displacementmapTexture', 'displacementmapTexture', 'specularmapTexture', 'specularmapIntensity', 'transparencymapTexture', 'transparencymapIntensity', 'aomapTexture', 'aomapIntensity']
"shaderDefine":
['BUMPMAP', 'NORMALMAP', 'DISPLACEMENT', 'SPECULARMAP', 'TRANSPARENCYMAP']
"shaderConfig" "diffuse": bool
"shaderConfig" "bump": bool
"shaderConfig" "normal": bool
"shaderConfig" "displacement": bool
"shaderConfig" "spec": bool
"shaderConfig" "vertexColors": bool
"shaderConfig" "transparency": bool
"shaderConfig" "ambientOcclusion": bool
ambientColor, diffuseColor specularColor, emissiveColor are the standard colors as used in the rendering equation or in standard OpenGL. Their corresponding intensities are simple scalars with a value between 0 and 1 and are multiplied with the colors to dim them. Default these intensities are set to 1.
Colors are described as three floating point numbers, representing R G B, or red-green-blue values. 1 is the maximum, 0 the minimum. For example 1.0 0 0 means fully red, 1 1 1 means full white, 0 0 0 is full black. 0.5 0.5 0.5 will give you a grey middle color.
opacity determines the opaqueness of the object (alpha channel), with 1 being fully opaque, and 0 being fully transparent (invisible)
translucency is something that came from Blender but is unused
shininess or specular hardness is a number between 0 and 1 determining the shininess constant of the phong shading model.
Texture maps
Various standard texture maps can be defined on the material, like diffuseTexture, bumpmapTexture, normalmapTexture, displacementmapTexture, specularmapTexture, transparencymapTexture, aomapTexture. Each of these also has an associated intensity value, which is a scalar from 0 to 1 multiplied with the pixel value of that texture (unless a specific shader implements it differently). These textures only have an effect if their corresponding shaderConfig feature has been defined (see the table in Shaders section).
Render states
When wireframe is set to True, the model is drawn in wireframe mode. In this mode, most material properties have no effect, but you can enable the vertexColors shaderConfig to be able to change the color of the mesh using vertex colors (this requires access to the mesh programatically, obj meshes do not support vertex colors). This feature is used in some parts of MakeHuman, for example viewing bone weights in the skeleton debug plugin.
Set shadeless to True to disable shading, eg. the object is not affected by lights. Configured shader will have no effect
Set transparent to True to enable transparency rendering (usually needed when opacity is < 1) In itself this does not change the visual appearance of the model, but this setting should be enabled if your texture contains (semi-) transparent parts. This setting instructs the renderer to disable depth buffer writes (glDepthMask(false)) and enables alpha testing and blending so that transparent surfaces can overlap and to allow alpha blending.
alphaToCoverage Applies when transparent is set to True (otherwise does nothing). It requires that your GPU supports alpha to coverage (A2C) rendering. It enables the A2C feature which provides face order-independent alpha rendering. This works very well for complex transparent meshes, like hair. At the cost of a slightly dithered look, it solves all the problems with face sorting that are usually involved in rendering semi transparency. (This feature disables anti-aliasing for this object because the multisample buffer is used for alpha blending instead)
Set backfaceCull to False to disable backface culling (render the back side of polygons) By default, and in most cases, this should be set to True, but can be useful in some cases (for example, we disable back-face culling for the eyebrow materials).
Set depthless to True for depthless rendering (object is not occluded and does not occlude other objects). This disables OpenGL depth writes and tests. In practice, this makes object faces that should be occluded shine through others.
castShadows determines whether the object casts shadows on other objects.
receiveShadows determines whether the object receives shadows from other objects. For some features, like eyes, you probably want to disable shadow receiving.
Since MakeHuman does not (yet) implement shadow casting, the shadow settings have no effect in MakeHuman, but they do export to other engines.
Play around with these settings in the Material Editor plugin to see their effect, that's the best advise I can give you. The best way to find out which settings work for an asset, is simply to try them out.
autoBlendSkin
If True MakeHuman will set the diffuse color based on the ethnix mix set for the character. Any diffuseColor set in the material file will be overridden by this. Also the shaderParam litsphereTexture will be automatically set to a dynamically blended litsphere texture, which is a mix of three litsphere materials (afro, asian, caucasian) depending on the ethnic mix of the character. This latter is specifically intended to be used with the litsphere shader, and it is what you see as default material when you start MakeHuman This overrides whatever shaderParam litsphereTexture was set in the material file. This setting is intended only for skin materials.
shaderParam
Define a custom shader parameter (uniform), which might be required for some non-standard shaders. For example, the litsphere shader takes an extra type of texture map as input, a so-called litsphere texture. This generic system of mapping shader uniforms allows you to create specialised shaders that take new and different kind of inputs, and allow configuring the shader from the material file.
shaderParam can be a list of floating point numbers, in which case it will be interpreted as a vector, or it can be a file path, in which case it is assumed to be an image path. Internally in MakeHuman, shaderParams can also be assigned a texture object, which allows for dynamically passing a texture that is in memory, but perhaps not stored on disk.
Another example of a custom shaderParam is the X-ray shader that defines an edgefalloff and intensity uniform parameter. These could be changed from the material file with
shaderParam edgefalloff 0.8
shaderParam intensity 0.77
shaderDefine
shaderDefines allow enabling or disabling custom shading techniques in shaders. These allow to define new shading techniques, apart from the pre-defined ones such as normal mapping, specularity mapping, ... It's a generic system that allows new shaders to be added and configured from the material file, or from the material editor (which nicely auto-detects these features in the shader and shows a set of checkboxes for them).
uvMap
Load custom UV coordinates on the mesh to use this material. This makes the material completely dependent on the mesh it is used with.
Takes a path to a .mhuv file, which is actually just an .obj file, where the vertex positions can be deleted (they can remain in there, but they are ignored). Requirement for it to work is that the vertex order is the same as that of the mesh obj.
An example uv map for the basemesh can be found in data/uvs/a7.mhuv, which is a set of UV coordinates compatible with the old Alpha 7 mesh, allowing you to load A7 textures on the new basemesh used in MakeHuman v1+
SSS properties
These are the so-called sub-surface scattering shading properties, currently only used by the built-in offline renderer. They were decided on while trying to figure out the most generic way to define SSS shading properties, so that they could easily be translated into SSS properties for a different renderer (as no single renderer that I know of has a standard for these). It's uncertain whether the format we have landed on currently is the best, or whether this will remain permanently or is still likely to change. This setting should currently be considered experimental. The properties are sssEnabled, sssRScale, sssGScale and sssBScale.
==== .mhuv files ====
This MH internal extension designates UV map files in MakeHuman. These text-readable files based on Lightwave OBJ syntax. They contain one or two lines of metadata and alternative UV data for the texture object to be applied to the model.
There does not currently appear to be a development tool for creating UV map files. They can be created by creating and saving an OBJ file and then renaming it. However, files created in this manner should not be considered fit for the SVN or website because they contain way too much redundant information. The OBJ files created in this manner not only contain the alternate UV set but also contain all vertices of the original mesh.
==== .mhp files ====
This MH internal extension designates pose files. These files are used to store coordinates for the run and walk poses on the pose tab. The dance1 pose appears to be implemented as a pose file, but it also includes some additional .target files. The dance1 pose is also associated wih a .bvh file whereas run and walk are not. In A8 development there have been issues with the dance1 file behaving less well than run and walk. Hopefully, these will be long gone during subsequent development.
==== .mht files ====
==== This MH internal extension designates a theme (GUI color scheme) for the GUI as rendered by the pyQt library. ====
==== .target files ====
This MH internal extension [which lacks the mh… prefix] specifies final extreme positions that can be achieved when moving the interface sliders in one direction or the other. By definition sliders have a value of zero on the left end and 1.0 on the right end, but there is a software flag to reverse this behavior as desired. With scripting it may be possible to exceed slider extremes, but this is currently undocumented and should not be built into production code. There is one TARGET file for each extreme of each movement. These files are hand-built by MakeHuman artist-developers, and they are the engine of the programs utility. Typically, rightward movement of a slider should increase size, and leftward movement of a slider should decrease size. When ‘left’ and ‘right’ are used as asset names, they should refer to the left and right body part on the model, regardless of the model’s orientation in the viewport. When slider movement involves asymmetrical change in the x, y, and z direction, it should be programmed so that the sliders operate naturally using the default viewport view for that slider. For example, left movement of the slider need not cause deformation toward the model’s left side. Such behavior would only be sensible if the default viewport view had the model facing the rear of the viewport (model’s back toward user).
Most MakeHuman modules use data from the TARGET files.
· In the apps group, these modules includes: devtests.py, human.py, humanmodifier.py, posemode.py, and warpmodifier.py.
· In the core group, these modules includes: algos3D.py which is the main program that works with .target files after they are compiled into
· In the apps group, these modules includes:
· In the apps group, these modules includes:
=== .proxy files ===
This MH internal extension designates proxy meshes. They are structured text files. Format and attributes include ... TODO
.qrc file
This is a resource file need used when compiling for the MakeHuman GUI which uses the pyQt library.
=== .qss file ===
This is the text-based file fomat used to store widgets associated with the GUI interface as rendered by the pyQt library
Appreciate help from current developers as what needs to go here. Undoubtedly some confusion or mistakes on my part, but some of it might help orient others. -RWB
Glad to do the grunt work, but feedback on needed improvemrnt greatly appreciated :-)
---------------------------
Also in this section could possibly also loading, saving, exporting formats (but these formats should probably be addressed in context below)
The basic work done within MakeHuman is saved as a file with an .mhm extension. The .mhm files can be loaded at the start of a new user session, and return MakeHuman to the state that it was in at the end of the previous session.
== Proxy files ==
=== Offset and bounds ===
MakeClothes uses a bounding box for scaling the offsets. It's controlled by the ''Offsets'' option in MakeClothes.
This is how this data is stored in the proxy file, so you can modify by hand if desired.
In the mhclo file at the top, these values appear as
x_scale 5399 11998 1.4340
z_scale 962 5320 2.0001
y_scale 791 881 2.4098
Allowed values are:
x_scale
y_scale
z_scale
shear_x
shear_y
shear_z
l_shear_x
l_shear_y
l_shear_z
r_shear_x
r_shear_y
r_shear_z
scale options follow the format:
x_scale v1 v2 den
with v1, v2 vertex indices on the human basemesh, den a denominator with which the scaling value is reduced
which results in the construction of a scale matrix that is applied to all the offsets of the proxy.
eg.
[xscale 0 0 0]
[0 yscale 0 0]
[0 0 zscale 0]
[0 0 0 1]
where xscale is determined from the option x_scale v1 v2 den as:
xscale = abs(coord_pos(v1).x - coord_pos(v2).x) / den
analog for yscale and zscale (.y or .z components of the position vector will be used instead)
shear options follow the format:
shear_x v1 v2 x1 x2
which result in the creation of a shear matrix instead of a scale matrix (I don't know of any instance where this is used)
uses numpy's affine_matrix_from_points method to calculate a transformation matrix that fits all selected points
didn't go into detail understanding this, because it doesn't seem too relevant. Read the code if interested.
scale overrides shear which overrides l_shear which overrides r_shear, only one of them is used (so you either specify scale, shear, l_shear or r_shear but no combination of them)
If you specify one, it is expected you define the other 2 of the same type as well.
=== max_pole ===
Proxy files can specify the pole count, which is the maximum number of edges that a vertex in the proxy mesh (the OBJ file) can have. If all faces around this vertex share their edges, this number also coincides with the maximum number of faces per vertex. If not specified, MakeHuman assumes this number is 8, which is a reasonable standard (more than 8 edges per vertex is probably a sub-optimal topology).
For example, the MakeHuman basemesh, which was modeled with high consideration of pole count, has a maximum of 5 edges per vertex.
MakeHuman intentionally is conservative about pole count to benefit performance (of the subdivision algorithm for example), for the same performance reasons it will not check the pole count when loading an OBJ, and instead relies on the user, or creation tool (MakeClothes) to set this number appropriately (at the moment MakeClothes does not do this).
Similarly, you can improve performance of MakeHuman by lowering this number if your proxy mesh has lower pole count. Eg for some meshes this can be set to 6 or 7
Proxy files have a property ''max_pole'' to change this number from the default setting of 8 to something else:
max_pole 9
== Meshes ==
MakeHuman stores its meshes in the standard Wavefront OBJ format. It supports quad-only meshes, and by default allows up to 8 edges per vertex. This number can be increased (see proxy format).
== Material files ==
You can store more than one material for an asset. To do so, create a folder named "material" inside of the folder which also contains the mhclo- and mhmat file of that asset. Put your alternative textures and mhmat-files in there.
== Poseunit files ==
TODO
== Target files ==
TODO
== Modifier and slider definitions ==
TODO
99505cd79a2a48fe8cbda8a21339b869a65ab2b6
1374
1373
2017-03-17T20:34:32Z
Grinsegold
39
/* .mhmat file format Internals */
wikitext
text/x-wiki
This section briefly reviews the file accessed or manipulated within MakeHuman. An attempt will be made to explain the function of each file format and where in MakeHuman’s modules it is used. Or external formats links will be provided to more detailed descriptions. Where it can help the developer better understand the overall organization of MakeHuman source code, some information on the module group or modules interaction with the various formats will be provided. This section Is intended to be used with the previous section on directories (folders) to develop an overview of MakeHuman code structure. This structural understanding is essential during the debugging process and is essential to expanding the programs functionality in structurally sound ways.
==== .obj files ====
This extension designates Lightwave object files. These OBJ files store mesh information and metadata needed for rendering in text-readable format. It was originally developed for the Lightwave 3D graphics program, but this file format is now broadly supported by many, if not most, 3D programs. Internally, MakeHuman uses OBJ files (or formats directly based on OBJ files) for the canonical storage of its assets. Many of MakeHuman’s development utilities store newly generated assets in formats related to the Lightwave OBJ specification. Examples of assets canonically stored in Lightwave OBJ format include the base human, and auxiliary geometry assets like eyes, hair, and clothes.
Each OBJ file has a record specifying the object’s name and records specifying one or more mesh objects. Mesh objects, in turn, are composed of record groups specifying: points or vertices (v), vertex normal (vn), faces (f), and vertex textures (vt). In MakeHuman and most general purpose 3D programs (e.g., Blender) OBJ files are exported with an accompanying Wavefront material file having the .mtl extension. These MTL files provide the detailed material attributes necessary to get photorealistic rendering of Wavefront objects. A more complete specification of Wavefront object format can be found at:!LINK!http://www.martinreddy.net/gfx/3d/OBJ.spec -- http://www.martinreddy.net/gfx/3d/OBJ.spec!/LINK!
OBJ files and MTL files have a direct internal analog in MakeHuman in the form of the object class, Object3D. This class, along with its properties and methods, is defined in the object3D.py module(libs folder). Object3D objects are central to the internal workings of MakeHuman. The resemblance of Object3D objects to OBJ files is not coincidental. Many of the core mesh assets in MakeHuman are developed in the open-source project, Blender, and moved to MakeHuman internals using OBJ format. In fact, MakeHuman maintains a separate product [MHTools] designed to support development of new core internal assets
==== .mhpxy files ====
This extension designates compressed binary proxies and clothes.
==== .mtl files ====
This extension designates a Wavefront material file. Wavefront MTL files are referenced from within Wavefront OBJ files to specify the materials used in rendering. More complete information on Wavefront material files is available here:!LINK!http://paulbourke.net/dataformats/mtl/ -- http://paulbourke.net/dataformats/mtl/!/LINK!
MakeHuman’s use of MTL file has been limited, but with the increased support for POV rendering, more modules may access and utilize MTL files. Currently, MTL-related data and files is developmental. Thedata foldercontains a cube.obj (3dobj) and a plane.obj (mitsuba folder) ostensibly associated with materials.
==== .npz files ====
This extension designates compressed binary asset files in MakeHuman [think npz = numPy zip files]. Among the most important assets stored with this extension is target vertex information. These target data determine the motion of each MakeHuman vertices (relative to landmark vertices?) as sliders are moved.
Thefiles3D.pymodule (core folder) tests for verifies existence of OS dependent locations of binary mesh files. The primary purpose of thefiles3D.pymodule is to transpose imported 3D data into a standard internal format for each of the 3D file formats supported by the MakeHuman import. Each importer function is written to return the 3d data in a standard format as a Python list:
[verts, vertsSharedFaces, vertsUV, faceGroups, faceGroupsNames]
The targets.pymodule (lib folder) is where system assets stored with the NPZ extension are identified, decompressed, and turned into memory resident structured objects for use by MakeHuman. This Code related to NPZ files can also be found in algos3d.py module (core folder). This module has been part of MakeHuman for a long time, and is used for morphing related operations. It works with loaded binary translation vectors and applies those translations to morphing targets. It may have some legacy capability to work directly with text-based .target files.
The compile_models.py module (lib folder) takes all object mesh files (.obj) and compiles them into binary compressed files (NPZ). Similarly, the compile_targets.py module (lib folder) compiles target files (.target) into binary compressed (NPZ) files. The latter module is referenced by Benjamin Lau in MakeHuman.spec file, likely for build purposes.
Important concept. The root folder of MakeHuman contains a batch file called cleanpz.bat (for Windows) and a corresponding shell script file called cleanpz.sh (for Linux) whose function is to delete NPZ files between repository (Bitbucket or GIT) builds. This “garbage collection” assures that each build is not working with out-of-date assets. It also reminds the developer that most of the canonical assets are initially constructed in text readable format. Developers write appropriate constructors to recompile NPZ files during the MakeHuman startup sequence when missing. For distribution versions of MakeHuman, pre-compiled assets in the form of NPZ files are distributed as stable assets. When start up code confirms their existence , no recompile is done, producing a better start-up experience for the user. This design greatly increases boot and runtime performance for stable distributions without hampering rapid testing of repository versions in interpretative mode.
==== .thumb files ====
This extension designates thumbnail (image preview) files in MakeHuman. Underneath, they are actually images constructed in the .png file format. Thus, they can be edited by standard image editors like GIMP or displayed by most web browsers. The MakeHuman Save Tab code automatically generates a companion .thumb file each time it saves a .mhm file. The .thumb generation is currently done by capturing a rectangular in the center of the viewport window. The MakeHuman Load Tab code uses .thumb images to provide previews of saved models.
The format for .thumb is defined inimage_qt.pymodule (GUI folder). Load and Save use or generation occur inguiload.pyandguisave.pymodules, respectively (lib folder). Numerous plugin modules reference .thumb files (plugins folder) including:2_posing_expression.py,3_libraries_clothes_chooser.py,3_libraries_eye_chooser.py,3_libraries_material_chooser.py,3_libraries_polygon_hair_chooser.py,3_libraries_posing_chooser.py,3_libraries_proxy_chooser.py, 4_rendering_scene.py,7_material_editor.py,
==== .lmk files ====
This MH internal extension designates landmark files. [might be renamed .mhlmk for naming standard reasons.] There is one set of landmarks for the model body (and a second set of landmarks for the model head (data | landmarks folder). These LMK files are written in text readable format. Each line has a single integer which specifies a landmark vertex in the model geometry. Landmark vertices are used for relative (local) spatial reference during model morphing.
Landmark files are used bywarpmodifier.py(apps folder) andwarp.py(utils | tools | warptarget folder).The landmarks in these files are used as references during the complex process of reshaping the human.
==== .mhclo files ====
This MH internal extension designates MakeHuman clothes files. These files define clothing vertexes and remove vertexes from the model to allow fitting of the model without skin showing through. They are created using the MakeHuman Blender toolset, specifically the MakeClothes tool.
A special empty MakeHuman clothes meta-file named clear.mhclo is is used to restore the default UV map that comes with the system. In the lib folder, the filechooser.py module has a MhcloFileLoader.Refresh() method to clear materials when the refresh button is clicked.
In the plugins folder,3_libraries_clothes_chooser.py, 3_libraries_eye_chooser.py, and 3_libraries_polygon_hair_chooser.py all access MHCLO files, but as of this writing, there are some file handling issues related to proxy clothes that means some of this code is commented out. In the shared/export_utils folder, config.py accesses a cage.mhclo file. In the tools folder, the tool ‘MakeClothes’ accesses MHCLO files in both the makeclothes.py and material.py modules. Similarly, the tool ‘MakeTarget‘ accesses MHCLO files in several of its modules:_init_.py, convert.py, import_obj.py, mt.py, ands ettings.py. Finally, two experimental tools in the utils folder, the makeface.py and helpers.py modules access MCHO files.
The mhclo-file structure:
A MH clothing consists of two files, the mhclo file which determines the vertex locations and a standard obj file which defines the rest of the mesh: faces, uv coordinates, uv faces. MH automatically compiles these files the first time it uses them, so these are the binary mhpxy and npz files. The header in a mhclo file looks like this:
# Exported from MakeClothes (TM)
# author Unknown
# license AGPL3 (see also http://www.makehuman.org/doc/node/external_tools_license.html)
# homepage http://www.makehuman.org/
uuid 59985471-ab08-479f-a32d-2d88411714ef
basemesh hm08
name Helmet
version 110
obj_file helmet.obj
x_scale 5399 11998 1.3980
z_scale 962 5320 1.8441
y_scale 791 881 2.2028
z_depth 50
max_pole 4
verts 0
# starts a comment.
The uuid is a unique identifier for this file.
The basemesh is the version of the MH mesh. Today always hm08, but earlier versions of MC supported hm07 and alpha6.
Name of clothing.
Version of MC
The obj file contains all information about the mesh in obj format: original vertex locations, faces, UVs.
x_scale v1 v2 dist: Used for scaling of offsets (see below) in the x direction. dist is the distance between verts v1 and v2 in the character the clothes were made for.
y_scale, z_scale analogous
z_depth determines the render order in MH, I think. It was originally used in a different way by the MHX importer.
max_pole is the maximal pole number of any vertex in this mesh. Affects how large arrays must be allocated in MH.
verts 0. It was some kind of vertex number offset, but the author doesn't quite remember how it worked.
Then comes a bunch of lines which determine the vertex locations.
16563 16602 16605 -2.77529 -3.02614 6.80143 -0.56369 0.10852 -0.06174
The three first are human vertex numbers which define a triangle.
The three in the middle are barycentric coordinates, which define a point in the triangle.
The three last is an offset from this point. However, the offset is scaled with factors determined by the x,y,z_scale lines in the header.
If the n:th line reads
v1 v2 v3 w1 w2 w3 d1 d2 d3
then the location of clothing vertex n is
w1*r1 + w2*r2 + w3 *r3 + (s1*d1, s2*d2, s3*d3)
where r1,r2,r3 are locations of human vertices v1,v2,v3, and s1,s2,s3 are scale factors
==== .mhmat files ====
This extension designates MakeHuman material files. Material files are text-readable files that share their syntax structure with Lightwave OBJ and MTL files.
In the app module group,human.pyapplies a default material andmh2proxy.pyhandles materials for proxies and may do some special material handling for MHX Blender export files. In the data folder, the MHCLO files for clothes, eyes, and hair each references an MHMAT files. In the plugins folder,7_material_editor.pyloads, edits, and saves MHMAT files. In the shared folder,material.pyparses MHMAT files and sets material properties. In the tools folder, there is another (independent)material.pymodule for the MakeClothes tool that writes materials to the output file while using that tool within Blender.
==== .mhmat file format Internals====
The entries inside a .mhmat file are of the form:
Comments can be included in c-style line comment format, like
or in python-style line comment format, like
The properties of a makehuman material are numerous so that they can cover the most common needs of exporters and rendering engines, and may vary among the following.
name- The internal name of the material.
Colors- Their value can be in R G B format, like: colorProperty R G B, where R, G, B are floating point numbers between 0 and 1. They control the color of various material properties and effects.
To adjust the intensity of an effect, you can simply edit its color value.
ambientColor -The ambient component of the material, which is usually added on the final color regardless of the surrounding lights.
diffuseColor -The diffuse component of the material, which reacts to each light's relative position.
specularColor -The color of the specular shine that is caused by the reflection of a light source on the material.
emissiveColor- The color of the light that the material seems to emit as if it's a glowing light source.
shininess- The sharpness of the shine spots created by the reflection of a light source on the material, which is how glossy its surface is.
Here's a list of naming convention for the content of the mhmat-file (floats are between 0.0 and 1.0):
"name": string
"tag": string
"description": string
"ambientColor": 3 x float
"diffuseColor": 3 x float
"specularColor": 3 x float
"shininess": 1 x float
"emissiveColor": 3 x float
"opacity": 1 x float
"translucency": 1 x float
"shadeless": bool
"wireframe": bool
"transparent": bool
"alphaToCoverage": bool
"backfaceCull": bool
"depthless": bool
"castShadows": bool
"receiveShadows": bool
"autoBlendSkin": bool
"diffuseTexture": filename
"bumpmapTexture": filename
"bumpmapIntensity": 1 x float
"normalmapTexture": filename
"normalmapIntensity": 1 x float
"displacementmapTexture": filename
"displacementmapIntensity": 1 x float
"specularmapTexture": filename
"specularmapIntensity": 1 x float
"transparencymapTexture": filename
"transparencymapIntensity": 1 x float
"aomapTexture": filename
"aomapIntensity": 1 x float
"sssEnabled": bool
"sssRScale": 1 x float
"sssGScale": 1 x float
"sssBScale": 1 x float
"shader": filename
"uvMap": filename
"shaderParam":
['diffuse', 'ambient', 'specular', 'emissive', 'diffuseTexture', 'bumpmapTexture', 'bumpmapIntensity', 'normalmapTexture', 'normalmapIntensity', 'displacementmapTexture', 'displacementmapTexture', 'specularmapTexture', 'specularmapIntensity', 'transparencymapTexture', 'transparencymapIntensity', 'aomapTexture', 'aomapIntensity']
"shaderDefine":
['BUMPMAP', 'NORMALMAP', 'DISPLACEMENT', 'SPECULARMAP', 'TRANSPARENCYMAP']
"shaderConfig" "diffuse": bool
"shaderConfig" "bump": bool
"shaderConfig" "normal": bool
"shaderConfig" "displacement": bool
"shaderConfig" "spec": bool
"shaderConfig" "vertexColors": bool
"shaderConfig" "transparency": bool
"shaderConfig" "ambientOcclusion": bool
ambientColor, diffuseColor specularColor, emissiveColor are the standard colors as used in the rendering equation or in standard OpenGL. Their corresponding intensities are simple scalars with a value between 0 and 1 and are multiplied with the colors to dim them. Default these intensities are set to 1.
Colors are described as three floating point numbers, representing R G B, or red-green-blue values. 1 is the maximum, 0 the minimum. For example 1.0 0 0 means fully red, 1 1 1 means full white, 0 0 0 is full black. 0.5 0.5 0.5 will give you a grey middle color.
opacity determines the opaqueness of the object (alpha channel), with 1 being fully opaque, and 0 being fully transparent (invisible)
translucency is something that came from Blender but is unused
shininess or specular hardness is a number between 0 and 1 determining the shininess constant of the phong shading model.
Texture maps
Various standard texture maps can be defined on the material, like diffuseTexture, bumpmapTexture, normalmapTexture, displacementmapTexture, specularmapTexture, transparencymapTexture, aomapTexture. Each of these also has an associated intensity value, which is a scalar from 0 to 1 multiplied with the pixel value of that texture (unless a specific shader implements it differently). These textures only have an effect if their corresponding shaderConfig feature has been defined (see the table in Shaders section).
Render states
When wireframe is set to True, the model is drawn in wireframe mode. In this mode, most material properties have no effect, but you can enable the vertexColors shaderConfig to be able to change the color of the mesh using vertex colors (this requires access to the mesh programatically, obj meshes do not support vertex colors). This feature is used in some parts of MakeHuman, for example viewing bone weights in the skeleton debug plugin.
Set shadeless to True to disable shading, eg. the object is not affected by lights. Configured shader will have no effect
Set transparent to True to enable transparency rendering (usually needed when opacity is < 1) In itself this does not change the visual appearance of the model, but this setting should be enabled if your texture contains (semi-) transparent parts. This setting instructs the renderer to disable depth buffer writes (glDepthMask(false)) and enables alpha testing and blending so that transparent surfaces can overlap and to allow alpha blending.
alphaToCoverage Applies when transparent is set to True (otherwise does nothing). It requires that your GPU supports alpha to coverage (A2C) rendering. It enables the A2C feature which provides face order-independent alpha rendering. This works very well for complex transparent meshes, like hair. At the cost of a slightly dithered look, it solves all the problems with face sorting that are usually involved in rendering semi transparency. (This feature disables anti-aliasing for this object because the multisample buffer is used for alpha blending instead)
Set backfaceCull to False to disable backface culling (render the back side of polygons) By default, and in most cases, this should be set to True, but can be useful in some cases (for example, we disable back-face culling for the eyebrow materials).
Set depthless to True for depthless rendering (object is not occluded and does not occlude other objects). This disables OpenGL depth writes and tests. In practice, this makes object faces that should be occluded shine through others.
castShadows determines whether the object casts shadows on other objects.
receiveShadows determines whether the object receives shadows from other objects. For some features, like eyes, you probably want to disable shadow receiving.
Since MakeHuman does not (yet) implement shadow casting, the shadow settings have no effect in MakeHuman, but they do export to other engines.
Play around with these settings in the Material Editor plugin to see their effect, that's the best advise I can give you. The best way to find out which settings work for an asset, is simply to try them out.
autoBlendSkin
If True MakeHuman will set the diffuse color based on the ethnix mix set for the character. Any diffuseColor set in the material file will be overridden by this. Also the shaderParam litsphereTexture will be automatically set to a dynamically blended litsphere texture, which is a mix of three litsphere materials (afro, asian, caucasian) depending on the ethnic mix of the character. This latter is specifically intended to be used with the litsphere shader, and it is what you see as default material when you start MakeHuman This overrides whatever shaderParam litsphereTexture was set in the material file. This setting is intended only for skin materials.
shaderParam
Define a custom shader parameter (uniform), which might be required for some non-standard shaders. For example, the litsphere shader takes an extra type of texture map as input, a so-called litsphere texture. This generic system of mapping shader uniforms allows you to create specialised shaders that take new and different kind of inputs, and allow configuring the shader from the material file.
shaderParam can be a list of floating point numbers, in which case it will be interpreted as a vector, or it can be a file path, in which case it is assumed to be an image path. Internally in MakeHuman, shaderParams can also be assigned a texture object, which allows for dynamically passing a texture that is in memory, but perhaps not stored on disk.
Another example of a custom shaderParam is the X-ray shader that defines an edgefalloff and intensity uniform parameter. These could be changed from the material file with
shaderParam edgefalloff 0.8
shaderParam intensity 0.77
shaderDefine
shaderDefines allow enabling or disabling custom shading techniques in shaders. These allow to define new shading techniques, apart from the pre-defined ones such as normal mapping, specularity mapping, ... It's a generic system that allows new shaders to be added and configured from the material file, or from the material editor (which nicely auto-detects these features in the shader and shows a set of checkboxes for them).
uvMap
Load custom UV coordinates on the mesh to use this material. This makes the material completely dependent on the mesh it is used with.
Takes a path to a .mhuv file, which is actually just an .obj file, where the vertex positions can be deleted (they can remain in there, but they are ignored). Requirement for it to work is that the vertex order is the same as that of the mesh obj.
An example uv map for the basemesh can be found in data/uvs/a7.mhuv, which is a set of UV coordinates compatible with the old Alpha 7 mesh, allowing you to load A7 textures on the new basemesh used in MakeHuman v1+
SSS properties
These are the so-called sub-surface scattering shading properties, currently only used by the built-in offline renderer. They were decided on while trying to figure out the most generic way to define SSS shading properties, so that they could easily be translated into SSS properties for a different renderer (as no single renderer that I know of has a standard for these). It's uncertain whether the format we have landed on currently is the best, or whether this will remain permanently or is still likely to change. This setting should currently be considered experimental. The properties are sssEnabled, sssRScale, sssGScale and sssBScale.
==== .mhuv files ====
This MH internal extension designates UV map files in MakeHuman. These text-readable files based on Lightwave OBJ syntax. They contain one or two lines of metadata and alternative UV data for the texture object to be applied to the model.
There does not currently appear to be a development tool for creating UV map files. They can be created by creating and saving an OBJ file and then renaming it. However, files created in this manner should not be considered fit for the SVN or website because they contain way too much redundant information. The OBJ files created in this manner not only contain the alternate UV set but also contain all vertices of the original mesh.
==== .mhp files ====
This MH internal extension designates pose files. These files are used to store coordinates for the run and walk poses on the pose tab. The dance1 pose appears to be implemented as a pose file, but it also includes some additional .target files. The dance1 pose is also associated wih a .bvh file whereas run and walk are not. In A8 development there have been issues with the dance1 file behaving less well than run and walk. Hopefully, these will be long gone during subsequent development.
==== .mht files ====
==== This MH internal extension designates a theme (GUI color scheme) for the GUI as rendered by the pyQt library. ====
==== .target files ====
This MH internal extension [which lacks the mh… prefix] specifies final extreme positions that can be achieved when moving the interface sliders in one direction or the other. By definition sliders have a value of zero on the left end and 1.0 on the right end, but there is a software flag to reverse this behavior as desired. With scripting it may be possible to exceed slider extremes, but this is currently undocumented and should not be built into production code. There is one TARGET file for each extreme of each movement. These files are hand-built by MakeHuman artist-developers, and they are the engine of the programs utility. Typically, rightward movement of a slider should increase size, and leftward movement of a slider should decrease size. When ‘left’ and ‘right’ are used as asset names, they should refer to the left and right body part on the model, regardless of the model’s orientation in the viewport. When slider movement involves asymmetrical change in the x, y, and z direction, it should be programmed so that the sliders operate naturally using the default viewport view for that slider. For example, left movement of the slider need not cause deformation toward the model’s left side. Such behavior would only be sensible if the default viewport view had the model facing the rear of the viewport (model’s back toward user).
Most MakeHuman modules use data from the TARGET files.
· In the apps group, these modules includes: devtests.py, human.py, humanmodifier.py, posemode.py, and warpmodifier.py.
· In the core group, these modules includes: algos3D.py which is the main program that works with .target files after they are compiled into
· In the apps group, these modules includes:
· In the apps group, these modules includes:
=== .proxy files ===
This MH internal extension designates proxy meshes. They are structured text files. Format and attributes include ... TODO
.qrc file
This is a resource file need used when compiling for the MakeHuman GUI which uses the pyQt library.
=== .qss file ===
This is the text-based file fomat used to store widgets associated with the GUI interface as rendered by the pyQt library
Appreciate help from current developers as what needs to go here. Undoubtedly some confusion or mistakes on my part, but some of it might help orient others. -RWB
Glad to do the grunt work, but feedback on needed improvemrnt greatly appreciated :-)
---------------------------
Also in this section could possibly also loading, saving, exporting formats (but these formats should probably be addressed in context below)
The basic work done within MakeHuman is saved as a file with an .mhm extension. The .mhm files can be loaded at the start of a new user session, and return MakeHuman to the state that it was in at the end of the previous session.
== Proxy files ==
=== Offset and bounds ===
MakeClothes uses a bounding box for scaling the offsets. It's controlled by the ''Offsets'' option in MakeClothes.
This is how this data is stored in the proxy file, so you can modify by hand if desired.
In the mhclo file at the top, these values appear as
x_scale 5399 11998 1.4340
z_scale 962 5320 2.0001
y_scale 791 881 2.4098
Allowed values are:
x_scale
y_scale
z_scale
shear_x
shear_y
shear_z
l_shear_x
l_shear_y
l_shear_z
r_shear_x
r_shear_y
r_shear_z
scale options follow the format:
x_scale v1 v2 den
with v1, v2 vertex indices on the human basemesh, den a denominator with which the scaling value is reduced
which results in the construction of a scale matrix that is applied to all the offsets of the proxy.
eg.
[xscale 0 0 0]
[0 yscale 0 0]
[0 0 zscale 0]
[0 0 0 1]
where xscale is determined from the option x_scale v1 v2 den as:
xscale = abs(coord_pos(v1).x - coord_pos(v2).x) / den
analog for yscale and zscale (.y or .z components of the position vector will be used instead)
shear options follow the format:
shear_x v1 v2 x1 x2
which result in the creation of a shear matrix instead of a scale matrix (I don't know of any instance where this is used)
uses numpy's affine_matrix_from_points method to calculate a transformation matrix that fits all selected points
didn't go into detail understanding this, because it doesn't seem too relevant. Read the code if interested.
scale overrides shear which overrides l_shear which overrides r_shear, only one of them is used (so you either specify scale, shear, l_shear or r_shear but no combination of them)
If you specify one, it is expected you define the other 2 of the same type as well.
=== max_pole ===
Proxy files can specify the pole count, which is the maximum number of edges that a vertex in the proxy mesh (the OBJ file) can have. If all faces around this vertex share their edges, this number also coincides with the maximum number of faces per vertex. If not specified, MakeHuman assumes this number is 8, which is a reasonable standard (more than 8 edges per vertex is probably a sub-optimal topology).
For example, the MakeHuman basemesh, which was modeled with high consideration of pole count, has a maximum of 5 edges per vertex.
MakeHuman intentionally is conservative about pole count to benefit performance (of the subdivision algorithm for example), for the same performance reasons it will not check the pole count when loading an OBJ, and instead relies on the user, or creation tool (MakeClothes) to set this number appropriately (at the moment MakeClothes does not do this).
Similarly, you can improve performance of MakeHuman by lowering this number if your proxy mesh has lower pole count. Eg for some meshes this can be set to 6 or 7
Proxy files have a property ''max_pole'' to change this number from the default setting of 8 to something else:
max_pole 9
== Meshes ==
MakeHuman stores its meshes in the standard Wavefront OBJ format. It supports quad-only meshes, and by default allows up to 8 edges per vertex. This number can be increased (see proxy format).
== Material files ==
Here's a list of naming convention for the content of the mhmat-file
(floats are between 0.0 and 1.0):
"name": string
"tag": string
"description": string
"ambientColor": 3 x float
"diffuseColor": 3 x float
"specularColor": 3 x float
"shininess": 1 x float
"emissiveColor": 3 x float
"opacity": 1 x float
"translucency": 1 x float
"shadeless": bool
"wireframe": bool
"transparent": bool
"alphaToCoverage": bool
"backfaceCull": bool
"depthless": bool
"castShadows": bool
"receiveShadows": bool
"autoBlendSkin": bool
"diffuseTexture": filename
"bumpmapTexture": filename
"bumpmapIntensity": 1 x float
"normalmapTexture": filename
"normalmapIntensity": 1 x float
"displacementmapTexture": filename
"displacementmapIntensity": 1 x float
"specularmapTexture": filename
"specularmapIntensity": 1 x float
"transparencymapTexture": filename
"transparencymapIntensity": 1 x float
"aomapTexture": filename
"aomapIntensity": 1 x float
"sssEnabled": bool
"sssRScale": 1 x float
"sssGScale": 1 x float
"sssBScale": 1 x float
"shader": filename
"uvMap": filename
"shaderParam":
['diffuse', 'ambient', 'specular', 'emissive', 'diffuseTexture', 'bumpmapTexture', 'bumpmapIntensity', 'normalmapTexture', 'normalmapIntensity', 'displacementmapTexture', 'displacementmapTexture', 'specularmapTexture', 'specularmapIntensity', 'transparencymapTexture', 'transparencymapIntensity', 'aomapTexture', 'aomapIntensity']
"shaderDefine":
['BUMPMAP', 'NORMALMAP', 'DISPLACEMENT', 'SPECULARMAP', 'TRANSPARENCYMAP']
"shaderConfig" "diffuse": bool
"shaderConfig" "bump": bool
"shaderConfig" "normal": bool
"shaderConfig" "displacement": bool
"shaderConfig" "spec": bool
"shaderConfig" "vertexColors": bool
"shaderConfig" "transparency": bool
"shaderConfig" "ambientOcclusion": bool
== Poseunit files ==
TODO
== Target files ==
TODO
== Modifier and slider definitions ==
TODO
f3fa112eda67c617674b85ded01b7e7c7ecb9409
1373
1372
2017-03-17T20:30:46Z
Grinsegold
39
/* .mhmat file format Internals */
wikitext
text/x-wiki
This section briefly reviews the file accessed or manipulated within MakeHuman. An attempt will be made to explain the function of each file format and where in MakeHuman’s modules it is used. Or external formats links will be provided to more detailed descriptions. Where it can help the developer better understand the overall organization of MakeHuman source code, some information on the module group or modules interaction with the various formats will be provided. This section Is intended to be used with the previous section on directories (folders) to develop an overview of MakeHuman code structure. This structural understanding is essential during the debugging process and is essential to expanding the programs functionality in structurally sound ways.
==== .obj files ====
This extension designates Lightwave object files. These OBJ files store mesh information and metadata needed for rendering in text-readable format. It was originally developed for the Lightwave 3D graphics program, but this file format is now broadly supported by many, if not most, 3D programs. Internally, MakeHuman uses OBJ files (or formats directly based on OBJ files) for the canonical storage of its assets. Many of MakeHuman’s development utilities store newly generated assets in formats related to the Lightwave OBJ specification. Examples of assets canonically stored in Lightwave OBJ format include the base human, and auxiliary geometry assets like eyes, hair, and clothes.
Each OBJ file has a record specifying the object’s name and records specifying one or more mesh objects. Mesh objects, in turn, are composed of record groups specifying: points or vertices (v), vertex normal (vn), faces (f), and vertex textures (vt). In MakeHuman and most general purpose 3D programs (e.g., Blender) OBJ files are exported with an accompanying Wavefront material file having the .mtl extension. These MTL files provide the detailed material attributes necessary to get photorealistic rendering of Wavefront objects. A more complete specification of Wavefront object format can be found at:!LINK!http://www.martinreddy.net/gfx/3d/OBJ.spec -- http://www.martinreddy.net/gfx/3d/OBJ.spec!/LINK!
OBJ files and MTL files have a direct internal analog in MakeHuman in the form of the object class, Object3D. This class, along with its properties and methods, is defined in the object3D.py module(libs folder). Object3D objects are central to the internal workings of MakeHuman. The resemblance of Object3D objects to OBJ files is not coincidental. Many of the core mesh assets in MakeHuman are developed in the open-source project, Blender, and moved to MakeHuman internals using OBJ format. In fact, MakeHuman maintains a separate product [MHTools] designed to support development of new core internal assets
==== .mhpxy files ====
This extension designates compressed binary proxies and clothes.
==== .mtl files ====
This extension designates a Wavefront material file. Wavefront MTL files are referenced from within Wavefront OBJ files to specify the materials used in rendering. More complete information on Wavefront material files is available here:!LINK!http://paulbourke.net/dataformats/mtl/ -- http://paulbourke.net/dataformats/mtl/!/LINK!
MakeHuman’s use of MTL file has been limited, but with the increased support for POV rendering, more modules may access and utilize MTL files. Currently, MTL-related data and files is developmental. Thedata foldercontains a cube.obj (3dobj) and a plane.obj (mitsuba folder) ostensibly associated with materials.
==== .npz files ====
This extension designates compressed binary asset files in MakeHuman [think npz = numPy zip files]. Among the most important assets stored with this extension is target vertex information. These target data determine the motion of each MakeHuman vertices (relative to landmark vertices?) as sliders are moved.
Thefiles3D.pymodule (core folder) tests for verifies existence of OS dependent locations of binary mesh files. The primary purpose of thefiles3D.pymodule is to transpose imported 3D data into a standard internal format for each of the 3D file formats supported by the MakeHuman import. Each importer function is written to return the 3d data in a standard format as a Python list:
[verts, vertsSharedFaces, vertsUV, faceGroups, faceGroupsNames]
The targets.pymodule (lib folder) is where system assets stored with the NPZ extension are identified, decompressed, and turned into memory resident structured objects for use by MakeHuman. This Code related to NPZ files can also be found in algos3d.py module (core folder). This module has been part of MakeHuman for a long time, and is used for morphing related operations. It works with loaded binary translation vectors and applies those translations to morphing targets. It may have some legacy capability to work directly with text-based .target files.
The compile_models.py module (lib folder) takes all object mesh files (.obj) and compiles them into binary compressed files (NPZ). Similarly, the compile_targets.py module (lib folder) compiles target files (.target) into binary compressed (NPZ) files. The latter module is referenced by Benjamin Lau in MakeHuman.spec file, likely for build purposes.
Important concept. The root folder of MakeHuman contains a batch file called cleanpz.bat (for Windows) and a corresponding shell script file called cleanpz.sh (for Linux) whose function is to delete NPZ files between repository (Bitbucket or GIT) builds. This “garbage collection” assures that each build is not working with out-of-date assets. It also reminds the developer that most of the canonical assets are initially constructed in text readable format. Developers write appropriate constructors to recompile NPZ files during the MakeHuman startup sequence when missing. For distribution versions of MakeHuman, pre-compiled assets in the form of NPZ files are distributed as stable assets. When start up code confirms their existence , no recompile is done, producing a better start-up experience for the user. This design greatly increases boot and runtime performance for stable distributions without hampering rapid testing of repository versions in interpretative mode.
==== .thumb files ====
This extension designates thumbnail (image preview) files in MakeHuman. Underneath, they are actually images constructed in the .png file format. Thus, they can be edited by standard image editors like GIMP or displayed by most web browsers. The MakeHuman Save Tab code automatically generates a companion .thumb file each time it saves a .mhm file. The .thumb generation is currently done by capturing a rectangular in the center of the viewport window. The MakeHuman Load Tab code uses .thumb images to provide previews of saved models.
The format for .thumb is defined inimage_qt.pymodule (GUI folder). Load and Save use or generation occur inguiload.pyandguisave.pymodules, respectively (lib folder). Numerous plugin modules reference .thumb files (plugins folder) including:2_posing_expression.py,3_libraries_clothes_chooser.py,3_libraries_eye_chooser.py,3_libraries_material_chooser.py,3_libraries_polygon_hair_chooser.py,3_libraries_posing_chooser.py,3_libraries_proxy_chooser.py, 4_rendering_scene.py,7_material_editor.py,
==== .lmk files ====
This MH internal extension designates landmark files. [might be renamed .mhlmk for naming standard reasons.] There is one set of landmarks for the model body (and a second set of landmarks for the model head (data | landmarks folder). These LMK files are written in text readable format. Each line has a single integer which specifies a landmark vertex in the model geometry. Landmark vertices are used for relative (local) spatial reference during model morphing.
Landmark files are used bywarpmodifier.py(apps folder) andwarp.py(utils | tools | warptarget folder).The landmarks in these files are used as references during the complex process of reshaping the human.
==== .mhclo files ====
This MH internal extension designates MakeHuman clothes files. These files define clothing vertexes and remove vertexes from the model to allow fitting of the model without skin showing through. They are created using the MakeHuman Blender toolset, specifically the MakeClothes tool.
A special empty MakeHuman clothes meta-file named clear.mhclo is is used to restore the default UV map that comes with the system. In the lib folder, the filechooser.py module has a MhcloFileLoader.Refresh() method to clear materials when the refresh button is clicked.
In the plugins folder,3_libraries_clothes_chooser.py, 3_libraries_eye_chooser.py, and 3_libraries_polygon_hair_chooser.py all access MHCLO files, but as of this writing, there are some file handling issues related to proxy clothes that means some of this code is commented out. In the shared/export_utils folder, config.py accesses a cage.mhclo file. In the tools folder, the tool ‘MakeClothes’ accesses MHCLO files in both the makeclothes.py and material.py modules. Similarly, the tool ‘MakeTarget‘ accesses MHCLO files in several of its modules:_init_.py, convert.py, import_obj.py, mt.py, ands ettings.py. Finally, two experimental tools in the utils folder, the makeface.py and helpers.py modules access MCHO files.
The mhclo-file structure:
A MH clothing consists of two files, the mhclo file which determines the vertex locations and a standard obj file which defines the rest of the mesh: faces, uv coordinates, uv faces. MH automatically compiles these files the first time it uses them, so these are the binary mhpxy and npz files. The header in a mhclo file looks like this:
# Exported from MakeClothes (TM)
# author Unknown
# license AGPL3 (see also http://www.makehuman.org/doc/node/external_tools_license.html)
# homepage http://www.makehuman.org/
uuid 59985471-ab08-479f-a32d-2d88411714ef
basemesh hm08
name Helmet
version 110
obj_file helmet.obj
x_scale 5399 11998 1.3980
z_scale 962 5320 1.8441
y_scale 791 881 2.2028
z_depth 50
max_pole 4
verts 0
# starts a comment.
The uuid is a unique identifier for this file.
The basemesh is the version of the MH mesh. Today always hm08, but earlier versions of MC supported hm07 and alpha6.
Name of clothing.
Version of MC
The obj file contains all information about the mesh in obj format: original vertex locations, faces, UVs.
x_scale v1 v2 dist: Used for scaling of offsets (see below) in the x direction. dist is the distance between verts v1 and v2 in the character the clothes were made for.
y_scale, z_scale analogous
z_depth determines the render order in MH, I think. It was originally used in a different way by the MHX importer.
max_pole is the maximal pole number of any vertex in this mesh. Affects how large arrays must be allocated in MH.
verts 0. It was some kind of vertex number offset, but the author doesn't quite remember how it worked.
Then comes a bunch of lines which determine the vertex locations.
16563 16602 16605 -2.77529 -3.02614 6.80143 -0.56369 0.10852 -0.06174
The three first are human vertex numbers which define a triangle.
The three in the middle are barycentric coordinates, which define a point in the triangle.
The three last is an offset from this point. However, the offset is scaled with factors determined by the x,y,z_scale lines in the header.
If the n:th line reads
v1 v2 v3 w1 w2 w3 d1 d2 d3
then the location of clothing vertex n is
w1*r1 + w2*r2 + w3 *r3 + (s1*d1, s2*d2, s3*d3)
where r1,r2,r3 are locations of human vertices v1,v2,v3, and s1,s2,s3 are scale factors
==== .mhmat files ====
This extension designates MakeHuman material files. Material files are text-readable files that share their syntax structure with Lightwave OBJ and MTL files.
In the app module group,human.pyapplies a default material andmh2proxy.pyhandles materials for proxies and may do some special material handling for MHX Blender export files. In the data folder, the MHCLO files for clothes, eyes, and hair each references an MHMAT files. In the plugins folder,7_material_editor.pyloads, edits, and saves MHMAT files. In the shared folder,material.pyparses MHMAT files and sets material properties. In the tools folder, there is another (independent)material.pymodule for the MakeClothes tool that writes materials to the output file while using that tool within Blender.
==== .mhmat file format Internals====
The entries inside a .mhmat file are of the form:
Comments can be included in c-style line comment format, like
or in python-style line comment format, like
The properties of a makehuman material are numerous so that they can cover the most common needs of exporters and rendering engines, and may vary among the following.
name- The internal name of the material.
Colors- Their value can be in R G B format, like: colorProperty R G B, where R, G, B are floating point numbers between 0 and 1. They control the color of various material properties and effects.
To adjust the intensity of an effect, you can simply edit its color value.
ambientColor -The ambient component of the material, which is usually added on the final color regardless of the surrounding lights.
diffuseColor -The diffuse component of the material, which reacts to each light's relative position.
specularColor -The color of the specular shine that is caused by the reflection of a light source on the material.
emissiveColor- The color of the light that the material seems to emit as if it's a glowing light source.
shininess- The sharpness of the shine spots created by the reflection of a light source on the material, which is how glossy its surface is.
Here's a list of naming convention for the content of the mhmat-file (floats are between 0.0 and 1.0):
"name": string
"tag": string
"description": string
"ambientColor": 3 x float
"diffuseColor": 3 x float
"specularColor": 3 x float
"shininess": 1 x float
"emissiveColor": 3 x float
"opacity": 1 x float
"translucency": 1 x float
"shadeless": bool
"wireframe": bool
"transparent": bool
"alphaToCoverage": bool
"backfaceCull": bool
"depthless": bool
"castShadows": bool
"receiveShadows": bool
"autoBlendSkin": bool
"diffuseTexture": filename
"bumpmapTexture": filename
"bumpmapIntensity": 1 x float
"normalmapTexture": filename
"normalmapIntensity": 1 x float
"displacementmapTexture": filename
"displacementmapIntensity": 1 x float
"specularmapTexture": filename
"specularmapIntensity": 1 x float
"transparencymapTexture": filename
"transparencymapIntensity": 1 x float
"aomapTexture": filename
"aomapIntensity": 1 x float
"sssEnabled": bool
"sssRScale": 1 x float
"sssGScale": 1 x float
"sssBScale": 1 x float
"shader": filename
"uvMap": filename
"shaderParam":
['diffuse', 'ambient', 'specular', 'emissive', 'diffuseTexture', 'bumpmapTexture', 'bumpmapIntensity', 'normalmapTexture', 'normalmapIntensity', 'displacementmapTexture', 'displacementmapTexture', 'specularmapTexture', 'specularmapIntensity', 'transparencymapTexture', 'transparencymapIntensity', 'aomapTexture', 'aomapIntensity']
"shaderDefine":
['BUMPMAP', 'NORMALMAP', 'DISPLACEMENT', 'SPECULARMAP', 'TRANSPARENCYMAP']
"shaderConfig" "diffuse": bool
"shaderConfig" "bump": bool
"shaderConfig" "normal": bool
"shaderConfig" "displacement": bool
"shaderConfig" "spec": bool
"shaderConfig" "vertexColors": bool
"shaderConfig" "transparency": bool
"shaderConfig" "ambientOcclusion": bool
==== .mhuv files ====
This MH internal extension designates UV map files in MakeHuman. These text-readable files based on Lightwave OBJ syntax. They contain one or two lines of metadata and alternative UV data for the texture object to be applied to the model.
There does not currently appear to be a development tool for creating UV map files. They can be created by creating and saving an OBJ file and then renaming it. However, files created in this manner should not be considered fit for the SVN or website because they contain way too much redundant information. The OBJ files created in this manner not only contain the alternate UV set but also contain all vertices of the original mesh.
==== .mhp files ====
This MH internal extension designates pose files. These files are used to store coordinates for the run and walk poses on the pose tab. The dance1 pose appears to be implemented as a pose file, but it also includes some additional .target files. The dance1 pose is also associated wih a .bvh file whereas run and walk are not. In A8 development there have been issues with the dance1 file behaving less well than run and walk. Hopefully, these will be long gone during subsequent development.
==== .mht files ====
==== This MH internal extension designates a theme (GUI color scheme) for the GUI as rendered by the pyQt library. ====
==== .target files ====
This MH internal extension [which lacks the mh… prefix] specifies final extreme positions that can be achieved when moving the interface sliders in one direction or the other. By definition sliders have a value of zero on the left end and 1.0 on the right end, but there is a software flag to reverse this behavior as desired. With scripting it may be possible to exceed slider extremes, but this is currently undocumented and should not be built into production code. There is one TARGET file for each extreme of each movement. These files are hand-built by MakeHuman artist-developers, and they are the engine of the programs utility. Typically, rightward movement of a slider should increase size, and leftward movement of a slider should decrease size. When ‘left’ and ‘right’ are used as asset names, they should refer to the left and right body part on the model, regardless of the model’s orientation in the viewport. When slider movement involves asymmetrical change in the x, y, and z direction, it should be programmed so that the sliders operate naturally using the default viewport view for that slider. For example, left movement of the slider need not cause deformation toward the model’s left side. Such behavior would only be sensible if the default viewport view had the model facing the rear of the viewport (model’s back toward user).
Most MakeHuman modules use data from the TARGET files.
· In the apps group, these modules includes: devtests.py, human.py, humanmodifier.py, posemode.py, and warpmodifier.py.
· In the core group, these modules includes: algos3D.py which is the main program that works with .target files after they are compiled into
· In the apps group, these modules includes:
· In the apps group, these modules includes:
=== .proxy files ===
This MH internal extension designates proxy meshes. They are structured text files. Format and attributes include ... TODO
.qrc file
This is a resource file need used when compiling for the MakeHuman GUI which uses the pyQt library.
=== .qss file ===
This is the text-based file fomat used to store widgets associated with the GUI interface as rendered by the pyQt library
Appreciate help from current developers as what needs to go here. Undoubtedly some confusion or mistakes on my part, but some of it might help orient others. -RWB
Glad to do the grunt work, but feedback on needed improvemrnt greatly appreciated :-)
---------------------------
Also in this section could possibly also loading, saving, exporting formats (but these formats should probably be addressed in context below)
The basic work done within MakeHuman is saved as a file with an .mhm extension. The .mhm files can be loaded at the start of a new user session, and return MakeHuman to the state that it was in at the end of the previous session.
== Proxy files ==
=== Offset and bounds ===
MakeClothes uses a bounding box for scaling the offsets. It's controlled by the ''Offsets'' option in MakeClothes.
This is how this data is stored in the proxy file, so you can modify by hand if desired.
In the mhclo file at the top, these values appear as
x_scale 5399 11998 1.4340
z_scale 962 5320 2.0001
y_scale 791 881 2.4098
Allowed values are:
x_scale
y_scale
z_scale
shear_x
shear_y
shear_z
l_shear_x
l_shear_y
l_shear_z
r_shear_x
r_shear_y
r_shear_z
scale options follow the format:
x_scale v1 v2 den
with v1, v2 vertex indices on the human basemesh, den a denominator with which the scaling value is reduced
which results in the construction of a scale matrix that is applied to all the offsets of the proxy.
eg.
[xscale 0 0 0]
[0 yscale 0 0]
[0 0 zscale 0]
[0 0 0 1]
where xscale is determined from the option x_scale v1 v2 den as:
xscale = abs(coord_pos(v1).x - coord_pos(v2).x) / den
analog for yscale and zscale (.y or .z components of the position vector will be used instead)
shear options follow the format:
shear_x v1 v2 x1 x2
which result in the creation of a shear matrix instead of a scale matrix (I don't know of any instance where this is used)
uses numpy's affine_matrix_from_points method to calculate a transformation matrix that fits all selected points
didn't go into detail understanding this, because it doesn't seem too relevant. Read the code if interested.
scale overrides shear which overrides l_shear which overrides r_shear, only one of them is used (so you either specify scale, shear, l_shear or r_shear but no combination of them)
If you specify one, it is expected you define the other 2 of the same type as well.
=== max_pole ===
Proxy files can specify the pole count, which is the maximum number of edges that a vertex in the proxy mesh (the OBJ file) can have. If all faces around this vertex share their edges, this number also coincides with the maximum number of faces per vertex. If not specified, MakeHuman assumes this number is 8, which is a reasonable standard (more than 8 edges per vertex is probably a sub-optimal topology).
For example, the MakeHuman basemesh, which was modeled with high consideration of pole count, has a maximum of 5 edges per vertex.
MakeHuman intentionally is conservative about pole count to benefit performance (of the subdivision algorithm for example), for the same performance reasons it will not check the pole count when loading an OBJ, and instead relies on the user, or creation tool (MakeClothes) to set this number appropriately (at the moment MakeClothes does not do this).
Similarly, you can improve performance of MakeHuman by lowering this number if your proxy mesh has lower pole count. Eg for some meshes this can be set to 6 or 7
Proxy files have a property ''max_pole'' to change this number from the default setting of 8 to something else:
max_pole 9
== Meshes ==
MakeHuman stores its meshes in the standard Wavefront OBJ format. It supports quad-only meshes, and by default allows up to 8 edges per vertex. This number can be increased (see proxy format).
== Material files ==
Here's a list of naming convention for the content of the mhmat-file
(floats are between 0.0 and 1.0):
"name": string
"tag": string
"description": string
"ambientColor": 3 x float
"diffuseColor": 3 x float
"specularColor": 3 x float
"shininess": 1 x float
"emissiveColor": 3 x float
"opacity": 1 x float
"translucency": 1 x float
"shadeless": bool
"wireframe": bool
"transparent": bool
"alphaToCoverage": bool
"backfaceCull": bool
"depthless": bool
"castShadows": bool
"receiveShadows": bool
"autoBlendSkin": bool
"diffuseTexture": filename
"bumpmapTexture": filename
"bumpmapIntensity": 1 x float
"normalmapTexture": filename
"normalmapIntensity": 1 x float
"displacementmapTexture": filename
"displacementmapIntensity": 1 x float
"specularmapTexture": filename
"specularmapIntensity": 1 x float
"transparencymapTexture": filename
"transparencymapIntensity": 1 x float
"aomapTexture": filename
"aomapIntensity": 1 x float
"sssEnabled": bool
"sssRScale": 1 x float
"sssGScale": 1 x float
"sssBScale": 1 x float
"shader": filename
"uvMap": filename
"shaderParam":
['diffuse', 'ambient', 'specular', 'emissive', 'diffuseTexture', 'bumpmapTexture', 'bumpmapIntensity', 'normalmapTexture', 'normalmapIntensity', 'displacementmapTexture', 'displacementmapTexture', 'specularmapTexture', 'specularmapIntensity', 'transparencymapTexture', 'transparencymapIntensity', 'aomapTexture', 'aomapIntensity']
"shaderDefine":
['BUMPMAP', 'NORMALMAP', 'DISPLACEMENT', 'SPECULARMAP', 'TRANSPARENCYMAP']
"shaderConfig" "diffuse": bool
"shaderConfig" "bump": bool
"shaderConfig" "normal": bool
"shaderConfig" "displacement": bool
"shaderConfig" "spec": bool
"shaderConfig" "vertexColors": bool
"shaderConfig" "transparency": bool
"shaderConfig" "ambientOcclusion": bool
== Poseunit files ==
TODO
== Target files ==
TODO
== Modifier and slider definitions ==
TODO
5a507661d8b7de5bab808a0e333a4fcffd26db3d
1372
1371
2017-03-17T20:25:43Z
Grinsegold
39
/* .mhclo files */
wikitext
text/x-wiki
This section briefly reviews the file accessed or manipulated within MakeHuman. An attempt will be made to explain the function of each file format and where in MakeHuman’s modules it is used. Or external formats links will be provided to more detailed descriptions. Where it can help the developer better understand the overall organization of MakeHuman source code, some information on the module group or modules interaction with the various formats will be provided. This section Is intended to be used with the previous section on directories (folders) to develop an overview of MakeHuman code structure. This structural understanding is essential during the debugging process and is essential to expanding the programs functionality in structurally sound ways.
==== .obj files ====
This extension designates Lightwave object files. These OBJ files store mesh information and metadata needed for rendering in text-readable format. It was originally developed for the Lightwave 3D graphics program, but this file format is now broadly supported by many, if not most, 3D programs. Internally, MakeHuman uses OBJ files (or formats directly based on OBJ files) for the canonical storage of its assets. Many of MakeHuman’s development utilities store newly generated assets in formats related to the Lightwave OBJ specification. Examples of assets canonically stored in Lightwave OBJ format include the base human, and auxiliary geometry assets like eyes, hair, and clothes.
Each OBJ file has a record specifying the object’s name and records specifying one or more mesh objects. Mesh objects, in turn, are composed of record groups specifying: points or vertices (v), vertex normal (vn), faces (f), and vertex textures (vt). In MakeHuman and most general purpose 3D programs (e.g., Blender) OBJ files are exported with an accompanying Wavefront material file having the .mtl extension. These MTL files provide the detailed material attributes necessary to get photorealistic rendering of Wavefront objects. A more complete specification of Wavefront object format can be found at:!LINK!http://www.martinreddy.net/gfx/3d/OBJ.spec -- http://www.martinreddy.net/gfx/3d/OBJ.spec!/LINK!
OBJ files and MTL files have a direct internal analog in MakeHuman in the form of the object class, Object3D. This class, along with its properties and methods, is defined in the object3D.py module(libs folder). Object3D objects are central to the internal workings of MakeHuman. The resemblance of Object3D objects to OBJ files is not coincidental. Many of the core mesh assets in MakeHuman are developed in the open-source project, Blender, and moved to MakeHuman internals using OBJ format. In fact, MakeHuman maintains a separate product [MHTools] designed to support development of new core internal assets
==== .mhpxy files ====
This extension designates compressed binary proxies and clothes.
==== .mtl files ====
This extension designates a Wavefront material file. Wavefront MTL files are referenced from within Wavefront OBJ files to specify the materials used in rendering. More complete information on Wavefront material files is available here:!LINK!http://paulbourke.net/dataformats/mtl/ -- http://paulbourke.net/dataformats/mtl/!/LINK!
MakeHuman’s use of MTL file has been limited, but with the increased support for POV rendering, more modules may access and utilize MTL files. Currently, MTL-related data and files is developmental. Thedata foldercontains a cube.obj (3dobj) and a plane.obj (mitsuba folder) ostensibly associated with materials.
==== .npz files ====
This extension designates compressed binary asset files in MakeHuman [think npz = numPy zip files]. Among the most important assets stored with this extension is target vertex information. These target data determine the motion of each MakeHuman vertices (relative to landmark vertices?) as sliders are moved.
Thefiles3D.pymodule (core folder) tests for verifies existence of OS dependent locations of binary mesh files. The primary purpose of thefiles3D.pymodule is to transpose imported 3D data into a standard internal format for each of the 3D file formats supported by the MakeHuman import. Each importer function is written to return the 3d data in a standard format as a Python list:
[verts, vertsSharedFaces, vertsUV, faceGroups, faceGroupsNames]
The targets.pymodule (lib folder) is where system assets stored with the NPZ extension are identified, decompressed, and turned into memory resident structured objects for use by MakeHuman. This Code related to NPZ files can also be found in algos3d.py module (core folder). This module has been part of MakeHuman for a long time, and is used for morphing related operations. It works with loaded binary translation vectors and applies those translations to morphing targets. It may have some legacy capability to work directly with text-based .target files.
The compile_models.py module (lib folder) takes all object mesh files (.obj) and compiles them into binary compressed files (NPZ). Similarly, the compile_targets.py module (lib folder) compiles target files (.target) into binary compressed (NPZ) files. The latter module is referenced by Benjamin Lau in MakeHuman.spec file, likely for build purposes.
Important concept. The root folder of MakeHuman contains a batch file called cleanpz.bat (for Windows) and a corresponding shell script file called cleanpz.sh (for Linux) whose function is to delete NPZ files between repository (Bitbucket or GIT) builds. This “garbage collection” assures that each build is not working with out-of-date assets. It also reminds the developer that most of the canonical assets are initially constructed in text readable format. Developers write appropriate constructors to recompile NPZ files during the MakeHuman startup sequence when missing. For distribution versions of MakeHuman, pre-compiled assets in the form of NPZ files are distributed as stable assets. When start up code confirms their existence , no recompile is done, producing a better start-up experience for the user. This design greatly increases boot and runtime performance for stable distributions without hampering rapid testing of repository versions in interpretative mode.
==== .thumb files ====
This extension designates thumbnail (image preview) files in MakeHuman. Underneath, they are actually images constructed in the .png file format. Thus, they can be edited by standard image editors like GIMP or displayed by most web browsers. The MakeHuman Save Tab code automatically generates a companion .thumb file each time it saves a .mhm file. The .thumb generation is currently done by capturing a rectangular in the center of the viewport window. The MakeHuman Load Tab code uses .thumb images to provide previews of saved models.
The format for .thumb is defined inimage_qt.pymodule (GUI folder). Load and Save use or generation occur inguiload.pyandguisave.pymodules, respectively (lib folder). Numerous plugin modules reference .thumb files (plugins folder) including:2_posing_expression.py,3_libraries_clothes_chooser.py,3_libraries_eye_chooser.py,3_libraries_material_chooser.py,3_libraries_polygon_hair_chooser.py,3_libraries_posing_chooser.py,3_libraries_proxy_chooser.py, 4_rendering_scene.py,7_material_editor.py,
==== .lmk files ====
This MH internal extension designates landmark files. [might be renamed .mhlmk for naming standard reasons.] There is one set of landmarks for the model body (and a second set of landmarks for the model head (data | landmarks folder). These LMK files are written in text readable format. Each line has a single integer which specifies a landmark vertex in the model geometry. Landmark vertices are used for relative (local) spatial reference during model morphing.
Landmark files are used bywarpmodifier.py(apps folder) andwarp.py(utils | tools | warptarget folder).The landmarks in these files are used as references during the complex process of reshaping the human.
==== .mhclo files ====
This MH internal extension designates MakeHuman clothes files. These files define clothing vertexes and remove vertexes from the model to allow fitting of the model without skin showing through. They are created using the MakeHuman Blender toolset, specifically the MakeClothes tool.
A special empty MakeHuman clothes meta-file named clear.mhclo is is used to restore the default UV map that comes with the system. In the lib folder, the filechooser.py module has a MhcloFileLoader.Refresh() method to clear materials when the refresh button is clicked.
In the plugins folder,3_libraries_clothes_chooser.py, 3_libraries_eye_chooser.py, and 3_libraries_polygon_hair_chooser.py all access MHCLO files, but as of this writing, there are some file handling issues related to proxy clothes that means some of this code is commented out. In the shared/export_utils folder, config.py accesses a cage.mhclo file. In the tools folder, the tool ‘MakeClothes’ accesses MHCLO files in both the makeclothes.py and material.py modules. Similarly, the tool ‘MakeTarget‘ accesses MHCLO files in several of its modules:_init_.py, convert.py, import_obj.py, mt.py, ands ettings.py. Finally, two experimental tools in the utils folder, the makeface.py and helpers.py modules access MCHO files.
The mhclo-file structure:
A MH clothing consists of two files, the mhclo file which determines the vertex locations and a standard obj file which defines the rest of the mesh: faces, uv coordinates, uv faces. MH automatically compiles these files the first time it uses them, so these are the binary mhpxy and npz files. The header in a mhclo file looks like this:
# Exported from MakeClothes (TM)
# author Unknown
# license AGPL3 (see also http://www.makehuman.org/doc/node/external_tools_license.html)
# homepage http://www.makehuman.org/
uuid 59985471-ab08-479f-a32d-2d88411714ef
basemesh hm08
name Helmet
version 110
obj_file helmet.obj
x_scale 5399 11998 1.3980
z_scale 962 5320 1.8441
y_scale 791 881 2.2028
z_depth 50
max_pole 4
verts 0
# starts a comment.
The uuid is a unique identifier for this file.
The basemesh is the version of the MH mesh. Today always hm08, but earlier versions of MC supported hm07 and alpha6.
Name of clothing.
Version of MC
The obj file contains all information about the mesh in obj format: original vertex locations, faces, UVs.
x_scale v1 v2 dist: Used for scaling of offsets (see below) in the x direction. dist is the distance between verts v1 and v2 in the character the clothes were made for.
y_scale, z_scale analogous
z_depth determines the render order in MH, I think. It was originally used in a different way by the MHX importer.
max_pole is the maximal pole number of any vertex in this mesh. Affects how large arrays must be allocated in MH.
verts 0. It was some kind of vertex number offset, but the author doesn't quite remember how it worked.
Then comes a bunch of lines which determine the vertex locations.
16563 16602 16605 -2.77529 -3.02614 6.80143 -0.56369 0.10852 -0.06174
The three first are human vertex numbers which define a triangle.
The three in the middle are barycentric coordinates, which define a point in the triangle.
The three last is an offset from this point. However, the offset is scaled with factors determined by the x,y,z_scale lines in the header.
If the n:th line reads
v1 v2 v3 w1 w2 w3 d1 d2 d3
then the location of clothing vertex n is
w1*r1 + w2*r2 + w3 *r3 + (s1*d1, s2*d2, s3*d3)
where r1,r2,r3 are locations of human vertices v1,v2,v3, and s1,s2,s3 are scale factors
==== .mhmat files ====
This extension designates MakeHuman material files. Material files are text-readable files that share their syntax structure with Lightwave OBJ and MTL files.
In the app module group,human.pyapplies a default material andmh2proxy.pyhandles materials for proxies and may do some special material handling for MHX Blender export files. In the data folder, the MHCLO files for clothes, eyes, and hair each references an MHMAT files. In the plugins folder,7_material_editor.pyloads, edits, and saves MHMAT files. In the shared folder,material.pyparses MHMAT files and sets material properties. In the tools folder, there is another (independent)material.pymodule for the MakeClothes tool that writes materials to the output file while using that tool within Blender.
==== .mhmat file format Internals====
The entries inside a .mhmat file are of the form:
Comments can be included in c-style line comment format, like
or in python-style line comment format, like
The properties of a makehuman material are numerous so that they can cover the most common needs of exporters and rendering engines, and may vary among the following.
name- The internal name of the material.
Colors- Their value can be in R G B format, like: colorProperty R G B, where R, G, B are floating point numbers between 0 and 1. They control the color of various material properties and effects.
To adjust the intensity of an effect, you can simply edit its color value.
ambientColor -The ambient component of the material, which is usually added on the final color regardless of the surrounding lights.
diffuseColor -The diffuse component of the material, which reacts to each light's relative position.
specularColor -The color of the specular shine that is caused by the reflection of a light source on the material.
emissiveColor- The color of the light that the material seems to emit as if it's a glowing light source.
shininess- The sharpness of the shine spots created by the reflection of a light source on the material, which is how glossy its surface is.
==== .mhuv files ====
This MH internal extension designates UV map files in MakeHuman. These text-readable files based on Lightwave OBJ syntax. They contain one or two lines of metadata and alternative UV data for the texture object to be applied to the model.
There does not currently appear to be a development tool for creating UV map files. They can be created by creating and saving an OBJ file and then renaming it. However, files created in this manner should not be considered fit for the SVN or website because they contain way too much redundant information. The OBJ files created in this manner not only contain the alternate UV set but also contain all vertices of the original mesh.
==== .mhp files ====
This MH internal extension designates pose files. These files are used to store coordinates for the run and walk poses on the pose tab. The dance1 pose appears to be implemented as a pose file, but it also includes some additional .target files. The dance1 pose is also associated wih a .bvh file whereas run and walk are not. In A8 development there have been issues with the dance1 file behaving less well than run and walk. Hopefully, these will be long gone during subsequent development.
==== .mht files ====
==== This MH internal extension designates a theme (GUI color scheme) for the GUI as rendered by the pyQt library. ====
==== .target files ====
This MH internal extension [which lacks the mh… prefix] specifies final extreme positions that can be achieved when moving the interface sliders in one direction or the other. By definition sliders have a value of zero on the left end and 1.0 on the right end, but there is a software flag to reverse this behavior as desired. With scripting it may be possible to exceed slider extremes, but this is currently undocumented and should not be built into production code. There is one TARGET file for each extreme of each movement. These files are hand-built by MakeHuman artist-developers, and they are the engine of the programs utility. Typically, rightward movement of a slider should increase size, and leftward movement of a slider should decrease size. When ‘left’ and ‘right’ are used as asset names, they should refer to the left and right body part on the model, regardless of the model’s orientation in the viewport. When slider movement involves asymmetrical change in the x, y, and z direction, it should be programmed so that the sliders operate naturally using the default viewport view for that slider. For example, left movement of the slider need not cause deformation toward the model’s left side. Such behavior would only be sensible if the default viewport view had the model facing the rear of the viewport (model’s back toward user).
Most MakeHuman modules use data from the TARGET files.
· In the apps group, these modules includes: devtests.py, human.py, humanmodifier.py, posemode.py, and warpmodifier.py.
· In the core group, these modules includes: algos3D.py which is the main program that works with .target files after they are compiled into
· In the apps group, these modules includes:
· In the apps group, these modules includes:
=== .proxy files ===
This MH internal extension designates proxy meshes. They are structured text files. Format and attributes include ... TODO
.qrc file
This is a resource file need used when compiling for the MakeHuman GUI which uses the pyQt library.
=== .qss file ===
This is the text-based file fomat used to store widgets associated with the GUI interface as rendered by the pyQt library
Appreciate help from current developers as what needs to go here. Undoubtedly some confusion or mistakes on my part, but some of it might help orient others. -RWB
Glad to do the grunt work, but feedback on needed improvemrnt greatly appreciated :-)
---------------------------
Also in this section could possibly also loading, saving, exporting formats (but these formats should probably be addressed in context below)
The basic work done within MakeHuman is saved as a file with an .mhm extension. The .mhm files can be loaded at the start of a new user session, and return MakeHuman to the state that it was in at the end of the previous session.
== Proxy files ==
=== Offset and bounds ===
MakeClothes uses a bounding box for scaling the offsets. It's controlled by the ''Offsets'' option in MakeClothes.
This is how this data is stored in the proxy file, so you can modify by hand if desired.
In the mhclo file at the top, these values appear as
x_scale 5399 11998 1.4340
z_scale 962 5320 2.0001
y_scale 791 881 2.4098
Allowed values are:
x_scale
y_scale
z_scale
shear_x
shear_y
shear_z
l_shear_x
l_shear_y
l_shear_z
r_shear_x
r_shear_y
r_shear_z
scale options follow the format:
x_scale v1 v2 den
with v1, v2 vertex indices on the human basemesh, den a denominator with which the scaling value is reduced
which results in the construction of a scale matrix that is applied to all the offsets of the proxy.
eg.
[xscale 0 0 0]
[0 yscale 0 0]
[0 0 zscale 0]
[0 0 0 1]
where xscale is determined from the option x_scale v1 v2 den as:
xscale = abs(coord_pos(v1).x - coord_pos(v2).x) / den
analog for yscale and zscale (.y or .z components of the position vector will be used instead)
shear options follow the format:
shear_x v1 v2 x1 x2
which result in the creation of a shear matrix instead of a scale matrix (I don't know of any instance where this is used)
uses numpy's affine_matrix_from_points method to calculate a transformation matrix that fits all selected points
didn't go into detail understanding this, because it doesn't seem too relevant. Read the code if interested.
scale overrides shear which overrides l_shear which overrides r_shear, only one of them is used (so you either specify scale, shear, l_shear or r_shear but no combination of them)
If you specify one, it is expected you define the other 2 of the same type as well.
=== max_pole ===
Proxy files can specify the pole count, which is the maximum number of edges that a vertex in the proxy mesh (the OBJ file) can have. If all faces around this vertex share their edges, this number also coincides with the maximum number of faces per vertex. If not specified, MakeHuman assumes this number is 8, which is a reasonable standard (more than 8 edges per vertex is probably a sub-optimal topology).
For example, the MakeHuman basemesh, which was modeled with high consideration of pole count, has a maximum of 5 edges per vertex.
MakeHuman intentionally is conservative about pole count to benefit performance (of the subdivision algorithm for example), for the same performance reasons it will not check the pole count when loading an OBJ, and instead relies on the user, or creation tool (MakeClothes) to set this number appropriately (at the moment MakeClothes does not do this).
Similarly, you can improve performance of MakeHuman by lowering this number if your proxy mesh has lower pole count. Eg for some meshes this can be set to 6 or 7
Proxy files have a property ''max_pole'' to change this number from the default setting of 8 to something else:
max_pole 9
== Meshes ==
MakeHuman stores its meshes in the standard Wavefront OBJ format. It supports quad-only meshes, and by default allows up to 8 edges per vertex. This number can be increased (see proxy format).
== Material files ==
Here's a list of naming convention for the content of the mhmat-file
(floats are between 0.0 and 1.0):
"name": string
"tag": string
"description": string
"ambientColor": 3 x float
"diffuseColor": 3 x float
"specularColor": 3 x float
"shininess": 1 x float
"emissiveColor": 3 x float
"opacity": 1 x float
"translucency": 1 x float
"shadeless": bool
"wireframe": bool
"transparent": bool
"alphaToCoverage": bool
"backfaceCull": bool
"depthless": bool
"castShadows": bool
"receiveShadows": bool
"autoBlendSkin": bool
"diffuseTexture": filename
"bumpmapTexture": filename
"bumpmapIntensity": 1 x float
"normalmapTexture": filename
"normalmapIntensity": 1 x float
"displacementmapTexture": filename
"displacementmapIntensity": 1 x float
"specularmapTexture": filename
"specularmapIntensity": 1 x float
"transparencymapTexture": filename
"transparencymapIntensity": 1 x float
"aomapTexture": filename
"aomapIntensity": 1 x float
"sssEnabled": bool
"sssRScale": 1 x float
"sssGScale": 1 x float
"sssBScale": 1 x float
"shader": filename
"uvMap": filename
"shaderParam":
['diffuse', 'ambient', 'specular', 'emissive', 'diffuseTexture', 'bumpmapTexture', 'bumpmapIntensity', 'normalmapTexture', 'normalmapIntensity', 'displacementmapTexture', 'displacementmapTexture', 'specularmapTexture', 'specularmapIntensity', 'transparencymapTexture', 'transparencymapIntensity', 'aomapTexture', 'aomapIntensity']
"shaderDefine":
['BUMPMAP', 'NORMALMAP', 'DISPLACEMENT', 'SPECULARMAP', 'TRANSPARENCYMAP']
"shaderConfig" "diffuse": bool
"shaderConfig" "bump": bool
"shaderConfig" "normal": bool
"shaderConfig" "displacement": bool
"shaderConfig" "spec": bool
"shaderConfig" "vertexColors": bool
"shaderConfig" "transparency": bool
"shaderConfig" "ambientOcclusion": bool
== Poseunit files ==
TODO
== Target files ==
TODO
== Modifier and slider definitions ==
TODO
8a5ae308d8e5fa67db51000d6ac4fb8918ea1f15
1371
1370
2017-03-17T20:24:51Z
Grinsegold
39
/* .mhclo files */
wikitext
text/x-wiki
This section briefly reviews the file accessed or manipulated within MakeHuman. An attempt will be made to explain the function of each file format and where in MakeHuman’s modules it is used. Or external formats links will be provided to more detailed descriptions. Where it can help the developer better understand the overall organization of MakeHuman source code, some information on the module group or modules interaction with the various formats will be provided. This section Is intended to be used with the previous section on directories (folders) to develop an overview of MakeHuman code structure. This structural understanding is essential during the debugging process and is essential to expanding the programs functionality in structurally sound ways.
==== .obj files ====
This extension designates Lightwave object files. These OBJ files store mesh information and metadata needed for rendering in text-readable format. It was originally developed for the Lightwave 3D graphics program, but this file format is now broadly supported by many, if not most, 3D programs. Internally, MakeHuman uses OBJ files (or formats directly based on OBJ files) for the canonical storage of its assets. Many of MakeHuman’s development utilities store newly generated assets in formats related to the Lightwave OBJ specification. Examples of assets canonically stored in Lightwave OBJ format include the base human, and auxiliary geometry assets like eyes, hair, and clothes.
Each OBJ file has a record specifying the object’s name and records specifying one or more mesh objects. Mesh objects, in turn, are composed of record groups specifying: points or vertices (v), vertex normal (vn), faces (f), and vertex textures (vt). In MakeHuman and most general purpose 3D programs (e.g., Blender) OBJ files are exported with an accompanying Wavefront material file having the .mtl extension. These MTL files provide the detailed material attributes necessary to get photorealistic rendering of Wavefront objects. A more complete specification of Wavefront object format can be found at:!LINK!http://www.martinreddy.net/gfx/3d/OBJ.spec -- http://www.martinreddy.net/gfx/3d/OBJ.spec!/LINK!
OBJ files and MTL files have a direct internal analog in MakeHuman in the form of the object class, Object3D. This class, along with its properties and methods, is defined in the object3D.py module(libs folder). Object3D objects are central to the internal workings of MakeHuman. The resemblance of Object3D objects to OBJ files is not coincidental. Many of the core mesh assets in MakeHuman are developed in the open-source project, Blender, and moved to MakeHuman internals using OBJ format. In fact, MakeHuman maintains a separate product [MHTools] designed to support development of new core internal assets
==== .mhpxy files ====
This extension designates compressed binary proxies and clothes.
==== .mtl files ====
This extension designates a Wavefront material file. Wavefront MTL files are referenced from within Wavefront OBJ files to specify the materials used in rendering. More complete information on Wavefront material files is available here:!LINK!http://paulbourke.net/dataformats/mtl/ -- http://paulbourke.net/dataformats/mtl/!/LINK!
MakeHuman’s use of MTL file has been limited, but with the increased support for POV rendering, more modules may access and utilize MTL files. Currently, MTL-related data and files is developmental. Thedata foldercontains a cube.obj (3dobj) and a plane.obj (mitsuba folder) ostensibly associated with materials.
==== .npz files ====
This extension designates compressed binary asset files in MakeHuman [think npz = numPy zip files]. Among the most important assets stored with this extension is target vertex information. These target data determine the motion of each MakeHuman vertices (relative to landmark vertices?) as sliders are moved.
Thefiles3D.pymodule (core folder) tests for verifies existence of OS dependent locations of binary mesh files. The primary purpose of thefiles3D.pymodule is to transpose imported 3D data into a standard internal format for each of the 3D file formats supported by the MakeHuman import. Each importer function is written to return the 3d data in a standard format as a Python list:
[verts, vertsSharedFaces, vertsUV, faceGroups, faceGroupsNames]
The targets.pymodule (lib folder) is where system assets stored with the NPZ extension are identified, decompressed, and turned into memory resident structured objects for use by MakeHuman. This Code related to NPZ files can also be found in algos3d.py module (core folder). This module has been part of MakeHuman for a long time, and is used for morphing related operations. It works with loaded binary translation vectors and applies those translations to morphing targets. It may have some legacy capability to work directly with text-based .target files.
The compile_models.py module (lib folder) takes all object mesh files (.obj) and compiles them into binary compressed files (NPZ). Similarly, the compile_targets.py module (lib folder) compiles target files (.target) into binary compressed (NPZ) files. The latter module is referenced by Benjamin Lau in MakeHuman.spec file, likely for build purposes.
Important concept. The root folder of MakeHuman contains a batch file called cleanpz.bat (for Windows) and a corresponding shell script file called cleanpz.sh (for Linux) whose function is to delete NPZ files between repository (Bitbucket or GIT) builds. This “garbage collection” assures that each build is not working with out-of-date assets. It also reminds the developer that most of the canonical assets are initially constructed in text readable format. Developers write appropriate constructors to recompile NPZ files during the MakeHuman startup sequence when missing. For distribution versions of MakeHuman, pre-compiled assets in the form of NPZ files are distributed as stable assets. When start up code confirms their existence , no recompile is done, producing a better start-up experience for the user. This design greatly increases boot and runtime performance for stable distributions without hampering rapid testing of repository versions in interpretative mode.
==== .thumb files ====
This extension designates thumbnail (image preview) files in MakeHuman. Underneath, they are actually images constructed in the .png file format. Thus, they can be edited by standard image editors like GIMP or displayed by most web browsers. The MakeHuman Save Tab code automatically generates a companion .thumb file each time it saves a .mhm file. The .thumb generation is currently done by capturing a rectangular in the center of the viewport window. The MakeHuman Load Tab code uses .thumb images to provide previews of saved models.
The format for .thumb is defined inimage_qt.pymodule (GUI folder). Load and Save use or generation occur inguiload.pyandguisave.pymodules, respectively (lib folder). Numerous plugin modules reference .thumb files (plugins folder) including:2_posing_expression.py,3_libraries_clothes_chooser.py,3_libraries_eye_chooser.py,3_libraries_material_chooser.py,3_libraries_polygon_hair_chooser.py,3_libraries_posing_chooser.py,3_libraries_proxy_chooser.py, 4_rendering_scene.py,7_material_editor.py,
==== .lmk files ====
This MH internal extension designates landmark files. [might be renamed .mhlmk for naming standard reasons.] There is one set of landmarks for the model body (and a second set of landmarks for the model head (data | landmarks folder). These LMK files are written in text readable format. Each line has a single integer which specifies a landmark vertex in the model geometry. Landmark vertices are used for relative (local) spatial reference during model morphing.
Landmark files are used bywarpmodifier.py(apps folder) andwarp.py(utils | tools | warptarget folder).The landmarks in these files are used as references during the complex process of reshaping the human.
==== .mhclo files ====
This MH internal extension designates MakeHuman clothes files. These files define clothing vertexes and remove vertexes from the model to allow fitting of the model without skin showing through. They are created using the MakeHuman Blender toolset, specifically the MakeClothes tool.
A special empty MakeHuman clothes meta-file named clear.mhclo is is used to restore the default UV map that comes with the system. In the lib folder, the filechooser.py module has a MhcloFileLoader.Refresh() method to clear materials when the refresh button is clicked.
In the plugins folder,3_libraries_clothes_chooser.py, 3_libraries_eye_chooser.py, and 3_libraries_polygon_hair_chooser.py all access MHCLO files, but as of this writing, there are some file handling issues related to proxy clothes that means some of this code is commented out. In the shared/export_utils folder, config.py accesses a cage.mhclo file. In the tools folder, the tool ‘MakeClothes’ accesses MHCLO files in both the makeclothes.py and material.py modules. Similarly, the tool ‘MakeTarget‘ accesses MHCLO files in several of its modules:_init_.py, convert.py, import_obj.py, mt.py, ands ettings.py. Finally, two experimental tools in the utils folder, the makeface.py and helpers.py modules access MCHO files.
The mhclo-file structure:
A MH clothing consists of two files, the mhclo file which determines the vertex locations and a standard obj file which defines the rest of the mesh: faces, uv coordinates, uv faces. MH automatically compiles these files the first time it uses them, so these are the binary mhpxy and npz files. The header in a mhclo file looks like this:
# Exported from MakeClothes (TM)
# author Unknown
# license AGPL3 (see also http://www.makehuman.org/doc/node/external_tools_license.html)
# homepage http://www.makehuman.org/
uuid 59985471-ab08-479f-a32d-2d88411714ef
basemesh hm08
name Helmet
version 110
obj_file helmet.obj
x_scale 5399 11998 1.3980
z_scale 962 5320 1.8441
y_scale 791 881 2.2028
z_depth 50
max_pole 4
verts 0
# starts a comment.
The uuid is a unique identifier for this file.
The basemesh is the version of the MH mesh. Today always hm08, but earlier versions of MC supported hm07 and alpha6.
Name of clothing.
Version of MC
The obj file contains all information about the mesh in obj format: original vertex locations, faces, UVs.
x_scale v1 v2 dist: Used for scaling of offsets (see below) in the x direction. dist is the distance between verts v1 and v2 in the character the clothes were made for.
y_scale, z_scale analogous
z_depth determines the render order in MH, I think. It was originally used in a different way by the MHX importer.
max_pole is the maximal pole number of any vertex in this mesh. Affects how large arrays must be allocated in MH.
verts 0. It was some kind of vertex number offset, but the author doesn't quite remember how it worked.
Then comes a bunch of lines which determine the vertex locations.
16563 16602 16605 -2.77529 -3.02614 6.80143 -0.56369 0.10852 -0.06174
The three first are human vertex numbers which define a triangle.
The three in the middle are barycentric coordinates, which define a point in the triangle.
The three last is an offset from this point. However, the offset is scaled with factors determined by the x,y,z_scale lines in the header.
If the n:th line reads
v1 v2 v3 w1 w2 w3 d1 d2 d3
then the location of clothing vertex n is
w1*r1 + w2*r2 + w3 *r3 + (s1*d1, s2*d2, s3*d3)
where r1,r2,r3 are locations of human vertices v1,v2,v3, and s1,s2,s3 are scale factors
See also here:
http://www.makehumancommunity.org/wiki/Technical_notes_on_MakeHuman#The_Material_System
==== .mhmat files ====
This extension designates MakeHuman material files. Material files are text-readable files that share their syntax structure with Lightwave OBJ and MTL files.
In the app module group,human.pyapplies a default material andmh2proxy.pyhandles materials for proxies and may do some special material handling for MHX Blender export files. In the data folder, the MHCLO files for clothes, eyes, and hair each references an MHMAT files. In the plugins folder,7_material_editor.pyloads, edits, and saves MHMAT files. In the shared folder,material.pyparses MHMAT files and sets material properties. In the tools folder, there is another (independent)material.pymodule for the MakeClothes tool that writes materials to the output file while using that tool within Blender.
==== .mhmat file format Internals====
The entries inside a .mhmat file are of the form:
Comments can be included in c-style line comment format, like
or in python-style line comment format, like
The properties of a makehuman material are numerous so that they can cover the most common needs of exporters and rendering engines, and may vary among the following.
name- The internal name of the material.
Colors- Their value can be in R G B format, like: colorProperty R G B, where R, G, B are floating point numbers between 0 and 1. They control the color of various material properties and effects.
To adjust the intensity of an effect, you can simply edit its color value.
ambientColor -The ambient component of the material, which is usually added on the final color regardless of the surrounding lights.
diffuseColor -The diffuse component of the material, which reacts to each light's relative position.
specularColor -The color of the specular shine that is caused by the reflection of a light source on the material.
emissiveColor- The color of the light that the material seems to emit as if it's a glowing light source.
shininess- The sharpness of the shine spots created by the reflection of a light source on the material, which is how glossy its surface is.
==== .mhuv files ====
This MH internal extension designates UV map files in MakeHuman. These text-readable files based on Lightwave OBJ syntax. They contain one or two lines of metadata and alternative UV data for the texture object to be applied to the model.
There does not currently appear to be a development tool for creating UV map files. They can be created by creating and saving an OBJ file and then renaming it. However, files created in this manner should not be considered fit for the SVN or website because they contain way too much redundant information. The OBJ files created in this manner not only contain the alternate UV set but also contain all vertices of the original mesh.
==== .mhp files ====
This MH internal extension designates pose files. These files are used to store coordinates for the run and walk poses on the pose tab. The dance1 pose appears to be implemented as a pose file, but it also includes some additional .target files. The dance1 pose is also associated wih a .bvh file whereas run and walk are not. In A8 development there have been issues with the dance1 file behaving less well than run and walk. Hopefully, these will be long gone during subsequent development.
==== .mht files ====
==== This MH internal extension designates a theme (GUI color scheme) for the GUI as rendered by the pyQt library. ====
==== .target files ====
This MH internal extension [which lacks the mh… prefix] specifies final extreme positions that can be achieved when moving the interface sliders in one direction or the other. By definition sliders have a value of zero on the left end and 1.0 on the right end, but there is a software flag to reverse this behavior as desired. With scripting it may be possible to exceed slider extremes, but this is currently undocumented and should not be built into production code. There is one TARGET file for each extreme of each movement. These files are hand-built by MakeHuman artist-developers, and they are the engine of the programs utility. Typically, rightward movement of a slider should increase size, and leftward movement of a slider should decrease size. When ‘left’ and ‘right’ are used as asset names, they should refer to the left and right body part on the model, regardless of the model’s orientation in the viewport. When slider movement involves asymmetrical change in the x, y, and z direction, it should be programmed so that the sliders operate naturally using the default viewport view for that slider. For example, left movement of the slider need not cause deformation toward the model’s left side. Such behavior would only be sensible if the default viewport view had the model facing the rear of the viewport (model’s back toward user).
Most MakeHuman modules use data from the TARGET files.
· In the apps group, these modules includes: devtests.py, human.py, humanmodifier.py, posemode.py, and warpmodifier.py.
· In the core group, these modules includes: algos3D.py which is the main program that works with .target files after they are compiled into
· In the apps group, these modules includes:
· In the apps group, these modules includes:
=== .proxy files ===
This MH internal extension designates proxy meshes. They are structured text files. Format and attributes include ... TODO
.qrc file
This is a resource file need used when compiling for the MakeHuman GUI which uses the pyQt library.
=== .qss file ===
This is the text-based file fomat used to store widgets associated with the GUI interface as rendered by the pyQt library
Appreciate help from current developers as what needs to go here. Undoubtedly some confusion or mistakes on my part, but some of it might help orient others. -RWB
Glad to do the grunt work, but feedback on needed improvemrnt greatly appreciated :-)
---------------------------
Also in this section could possibly also loading, saving, exporting formats (but these formats should probably be addressed in context below)
The basic work done within MakeHuman is saved as a file with an .mhm extension. The .mhm files can be loaded at the start of a new user session, and return MakeHuman to the state that it was in at the end of the previous session.
== Proxy files ==
=== Offset and bounds ===
MakeClothes uses a bounding box for scaling the offsets. It's controlled by the ''Offsets'' option in MakeClothes.
This is how this data is stored in the proxy file, so you can modify by hand if desired.
In the mhclo file at the top, these values appear as
x_scale 5399 11998 1.4340
z_scale 962 5320 2.0001
y_scale 791 881 2.4098
Allowed values are:
x_scale
y_scale
z_scale
shear_x
shear_y
shear_z
l_shear_x
l_shear_y
l_shear_z
r_shear_x
r_shear_y
r_shear_z
scale options follow the format:
x_scale v1 v2 den
with v1, v2 vertex indices on the human basemesh, den a denominator with which the scaling value is reduced
which results in the construction of a scale matrix that is applied to all the offsets of the proxy.
eg.
[xscale 0 0 0]
[0 yscale 0 0]
[0 0 zscale 0]
[0 0 0 1]
where xscale is determined from the option x_scale v1 v2 den as:
xscale = abs(coord_pos(v1).x - coord_pos(v2).x) / den
analog for yscale and zscale (.y or .z components of the position vector will be used instead)
shear options follow the format:
shear_x v1 v2 x1 x2
which result in the creation of a shear matrix instead of a scale matrix (I don't know of any instance where this is used)
uses numpy's affine_matrix_from_points method to calculate a transformation matrix that fits all selected points
didn't go into detail understanding this, because it doesn't seem too relevant. Read the code if interested.
scale overrides shear which overrides l_shear which overrides r_shear, only one of them is used (so you either specify scale, shear, l_shear or r_shear but no combination of them)
If you specify one, it is expected you define the other 2 of the same type as well.
=== max_pole ===
Proxy files can specify the pole count, which is the maximum number of edges that a vertex in the proxy mesh (the OBJ file) can have. If all faces around this vertex share their edges, this number also coincides with the maximum number of faces per vertex. If not specified, MakeHuman assumes this number is 8, which is a reasonable standard (more than 8 edges per vertex is probably a sub-optimal topology).
For example, the MakeHuman basemesh, which was modeled with high consideration of pole count, has a maximum of 5 edges per vertex.
MakeHuman intentionally is conservative about pole count to benefit performance (of the subdivision algorithm for example), for the same performance reasons it will not check the pole count when loading an OBJ, and instead relies on the user, or creation tool (MakeClothes) to set this number appropriately (at the moment MakeClothes does not do this).
Similarly, you can improve performance of MakeHuman by lowering this number if your proxy mesh has lower pole count. Eg for some meshes this can be set to 6 or 7
Proxy files have a property ''max_pole'' to change this number from the default setting of 8 to something else:
max_pole 9
== Meshes ==
MakeHuman stores its meshes in the standard Wavefront OBJ format. It supports quad-only meshes, and by default allows up to 8 edges per vertex. This number can be increased (see proxy format).
== Material files ==
Here's a list of naming convention for the content of the mhmat-file
(floats are between 0.0 and 1.0):
"name": string
"tag": string
"description": string
"ambientColor": 3 x float
"diffuseColor": 3 x float
"specularColor": 3 x float
"shininess": 1 x float
"emissiveColor": 3 x float
"opacity": 1 x float
"translucency": 1 x float
"shadeless": bool
"wireframe": bool
"transparent": bool
"alphaToCoverage": bool
"backfaceCull": bool
"depthless": bool
"castShadows": bool
"receiveShadows": bool
"autoBlendSkin": bool
"diffuseTexture": filename
"bumpmapTexture": filename
"bumpmapIntensity": 1 x float
"normalmapTexture": filename
"normalmapIntensity": 1 x float
"displacementmapTexture": filename
"displacementmapIntensity": 1 x float
"specularmapTexture": filename
"specularmapIntensity": 1 x float
"transparencymapTexture": filename
"transparencymapIntensity": 1 x float
"aomapTexture": filename
"aomapIntensity": 1 x float
"sssEnabled": bool
"sssRScale": 1 x float
"sssGScale": 1 x float
"sssBScale": 1 x float
"shader": filename
"uvMap": filename
"shaderParam":
['diffuse', 'ambient', 'specular', 'emissive', 'diffuseTexture', 'bumpmapTexture', 'bumpmapIntensity', 'normalmapTexture', 'normalmapIntensity', 'displacementmapTexture', 'displacementmapTexture', 'specularmapTexture', 'specularmapIntensity', 'transparencymapTexture', 'transparencymapIntensity', 'aomapTexture', 'aomapIntensity']
"shaderDefine":
['BUMPMAP', 'NORMALMAP', 'DISPLACEMENT', 'SPECULARMAP', 'TRANSPARENCYMAP']
"shaderConfig" "diffuse": bool
"shaderConfig" "bump": bool
"shaderConfig" "normal": bool
"shaderConfig" "displacement": bool
"shaderConfig" "spec": bool
"shaderConfig" "vertexColors": bool
"shaderConfig" "transparency": bool
"shaderConfig" "ambientOcclusion": bool
== Poseunit files ==
TODO
== Target files ==
TODO
== Modifier and slider definitions ==
TODO
88b3579ad37ff4701a4da80ce7f4a2cff546bdcb
1370
1369
2017-03-17T20:09:41Z
Grinsegold
39
/* .mhclo files */
wikitext
text/x-wiki
This section briefly reviews the file accessed or manipulated within MakeHuman. An attempt will be made to explain the function of each file format and where in MakeHuman’s modules it is used. Or external formats links will be provided to more detailed descriptions. Where it can help the developer better understand the overall organization of MakeHuman source code, some information on the module group or modules interaction with the various formats will be provided. This section Is intended to be used with the previous section on directories (folders) to develop an overview of MakeHuman code structure. This structural understanding is essential during the debugging process and is essential to expanding the programs functionality in structurally sound ways.
==== .obj files ====
This extension designates Lightwave object files. These OBJ files store mesh information and metadata needed for rendering in text-readable format. It was originally developed for the Lightwave 3D graphics program, but this file format is now broadly supported by many, if not most, 3D programs. Internally, MakeHuman uses OBJ files (or formats directly based on OBJ files) for the canonical storage of its assets. Many of MakeHuman’s development utilities store newly generated assets in formats related to the Lightwave OBJ specification. Examples of assets canonically stored in Lightwave OBJ format include the base human, and auxiliary geometry assets like eyes, hair, and clothes.
Each OBJ file has a record specifying the object’s name and records specifying one or more mesh objects. Mesh objects, in turn, are composed of record groups specifying: points or vertices (v), vertex normal (vn), faces (f), and vertex textures (vt). In MakeHuman and most general purpose 3D programs (e.g., Blender) OBJ files are exported with an accompanying Wavefront material file having the .mtl extension. These MTL files provide the detailed material attributes necessary to get photorealistic rendering of Wavefront objects. A more complete specification of Wavefront object format can be found at:!LINK!http://www.martinreddy.net/gfx/3d/OBJ.spec -- http://www.martinreddy.net/gfx/3d/OBJ.spec!/LINK!
OBJ files and MTL files have a direct internal analog in MakeHuman in the form of the object class, Object3D. This class, along with its properties and methods, is defined in the object3D.py module(libs folder). Object3D objects are central to the internal workings of MakeHuman. The resemblance of Object3D objects to OBJ files is not coincidental. Many of the core mesh assets in MakeHuman are developed in the open-source project, Blender, and moved to MakeHuman internals using OBJ format. In fact, MakeHuman maintains a separate product [MHTools] designed to support development of new core internal assets
==== .mhpxy files ====
This extension designates compressed binary proxies and clothes.
==== .mtl files ====
This extension designates a Wavefront material file. Wavefront MTL files are referenced from within Wavefront OBJ files to specify the materials used in rendering. More complete information on Wavefront material files is available here:!LINK!http://paulbourke.net/dataformats/mtl/ -- http://paulbourke.net/dataformats/mtl/!/LINK!
MakeHuman’s use of MTL file has been limited, but with the increased support for POV rendering, more modules may access and utilize MTL files. Currently, MTL-related data and files is developmental. Thedata foldercontains a cube.obj (3dobj) and a plane.obj (mitsuba folder) ostensibly associated with materials.
==== .npz files ====
This extension designates compressed binary asset files in MakeHuman [think npz = numPy zip files]. Among the most important assets stored with this extension is target vertex information. These target data determine the motion of each MakeHuman vertices (relative to landmark vertices?) as sliders are moved.
Thefiles3D.pymodule (core folder) tests for verifies existence of OS dependent locations of binary mesh files. The primary purpose of thefiles3D.pymodule is to transpose imported 3D data into a standard internal format for each of the 3D file formats supported by the MakeHuman import. Each importer function is written to return the 3d data in a standard format as a Python list:
[verts, vertsSharedFaces, vertsUV, faceGroups, faceGroupsNames]
The targets.pymodule (lib folder) is where system assets stored with the NPZ extension are identified, decompressed, and turned into memory resident structured objects for use by MakeHuman. This Code related to NPZ files can also be found in algos3d.py module (core folder). This module has been part of MakeHuman for a long time, and is used for morphing related operations. It works with loaded binary translation vectors and applies those translations to morphing targets. It may have some legacy capability to work directly with text-based .target files.
The compile_models.py module (lib folder) takes all object mesh files (.obj) and compiles them into binary compressed files (NPZ). Similarly, the compile_targets.py module (lib folder) compiles target files (.target) into binary compressed (NPZ) files. The latter module is referenced by Benjamin Lau in MakeHuman.spec file, likely for build purposes.
Important concept. The root folder of MakeHuman contains a batch file called cleanpz.bat (for Windows) and a corresponding shell script file called cleanpz.sh (for Linux) whose function is to delete NPZ files between repository (Bitbucket or GIT) builds. This “garbage collection” assures that each build is not working with out-of-date assets. It also reminds the developer that most of the canonical assets are initially constructed in text readable format. Developers write appropriate constructors to recompile NPZ files during the MakeHuman startup sequence when missing. For distribution versions of MakeHuman, pre-compiled assets in the form of NPZ files are distributed as stable assets. When start up code confirms their existence , no recompile is done, producing a better start-up experience for the user. This design greatly increases boot and runtime performance for stable distributions without hampering rapid testing of repository versions in interpretative mode.
==== .thumb files ====
This extension designates thumbnail (image preview) files in MakeHuman. Underneath, they are actually images constructed in the .png file format. Thus, they can be edited by standard image editors like GIMP or displayed by most web browsers. The MakeHuman Save Tab code automatically generates a companion .thumb file each time it saves a .mhm file. The .thumb generation is currently done by capturing a rectangular in the center of the viewport window. The MakeHuman Load Tab code uses .thumb images to provide previews of saved models.
The format for .thumb is defined inimage_qt.pymodule (GUI folder). Load and Save use or generation occur inguiload.pyandguisave.pymodules, respectively (lib folder). Numerous plugin modules reference .thumb files (plugins folder) including:2_posing_expression.py,3_libraries_clothes_chooser.py,3_libraries_eye_chooser.py,3_libraries_material_chooser.py,3_libraries_polygon_hair_chooser.py,3_libraries_posing_chooser.py,3_libraries_proxy_chooser.py, 4_rendering_scene.py,7_material_editor.py,
==== .lmk files ====
This MH internal extension designates landmark files. [might be renamed .mhlmk for naming standard reasons.] There is one set of landmarks for the model body (and a second set of landmarks for the model head (data | landmarks folder). These LMK files are written in text readable format. Each line has a single integer which specifies a landmark vertex in the model geometry. Landmark vertices are used for relative (local) spatial reference during model morphing.
Landmark files are used bywarpmodifier.py(apps folder) andwarp.py(utils | tools | warptarget folder).The landmarks in these files are used as references during the complex process of reshaping the human.
==== .mhclo files ====
This MH internal extension designates MakeHuman clothes files. These files define clothing vertexes and remove vertexes from the model to allow fitting of the model without skin showing through. They are created using the MakeHuman Blender toolset, specifically the MakeClothes tool.
A special empty MakeHuman clothes meta-file named clear.mhclo is is used to restore the default UV map that comes with the system. In the lib folder, the filechooser.py module has a MhcloFileLoader.Refresh() method to clear materials when the refresh button is clicked.
In the plugins folder,3_libraries_clothes_chooser.py, 3_libraries_eye_chooser.py, and 3_libraries_polygon_hair_chooser.py all access MHCLO files, but as of this writing, there are some file handling issues related to proxy clothes that means some of this code is commented out. In the shared/export_utils folder, config.py accesses a cage.mhclo file. In the tools folder, the tool ‘MakeClothes’ accesses MHCLO files in both the makeclothes.py and material.py modules. Similarly, the tool ‘MakeTarget‘ accesses MHCLO files in several of its modules:_init_.py, convert.py, import_obj.py, mt.py, ands ettings.py. Finally, two experimental tools in the utils folder, the makeface.py and helpers.py modules access MCHO files.
The mhclo-file structure:
A MH clothing consists of two files, the mhclo file which determines the vertex locations and a standard obj file which defines the rest of the mesh: faces, uv coordinates, uv faces. MH automatically compiles these files the first time it uses them, so these are the binary mhpxy and npz files. The header in a mhclo file looks like this:
# Exported from MakeClothes (TM)
# author Unknown
# license AGPL3 (see also http://www.makehuman.org/doc/node/external_tools_license.html)
# homepage http://www.makehuman.org/
uuid 59985471-ab08-479f-a32d-2d88411714ef
basemesh hm08
name Helmet
version 110
obj_file helmet.obj
x_scale 5399 11998 1.3980
z_scale 962 5320 1.8441
y_scale 791 881 2.2028
z_depth 50
max_pole 4
verts 0
# starts a comment.
The uuid is a unique identifier for this file.
The basemesh is the version of the MH mesh. Today always hm08, but earlier versions of MC supported hm07 and alpha6.
Name of clothing.
Version of MC
The obj file contains all information about the mesh in obj format: original vertex locations, faces, UVs.
x_scale v1 v2 dist: Used for scaling of offsets (see below) in the x direction. dist is the distance between verts v1 and v2 in the character the clothes were made for.
y_scale, z_scale analogous
z_depth determines the render order in MH, I think. It was originally used in a different way by the MHX importer.
max_pole is the maximal pole number of any vertex in this mesh. Affects how large arrays must be allocated in MH.
verts 0. It was some kind of vertex number offset, but the author doesn't quite remember how it worked.
Then comes a bunch of lines which determine the vertex locations.
16563 16602 16605 -2.77529 -3.02614 6.80143 -0.56369 0.10852 -0.06174
The three first are human vertex numbers which define a triangle.
The three in the middle are barycentric coordinates, which define a point in the triangle.
The three last is an offset from this point. However, the offset is scaled with factors determined by the x,y,z_scale lines in the header.
If the n:th line reads
v1 v2 v3 w1 w2 w3 d1 d2 d3
then the location of clothing vertex n is
w1*r1 + w2*r2 + w3 *r3 + (s1*d1, s2*d2, s3*d3)
where r1,r2,r3 are locations of human vertices v1,v2,v3, and s1,s2,s3 are scale factors
==== .mhmat files ====
This extension designates MakeHuman material files. Material files are text-readable files that share their syntax structure with Lightwave OBJ and MTL files.
In the app module group,human.pyapplies a default material andmh2proxy.pyhandles materials for proxies and may do some special material handling for MHX Blender export files. In the data folder, the MHCLO files for clothes, eyes, and hair each references an MHMAT files. In the plugins folder,7_material_editor.pyloads, edits, and saves MHMAT files. In the shared folder,material.pyparses MHMAT files and sets material properties. In the tools folder, there is another (independent)material.pymodule for the MakeClothes tool that writes materials to the output file while using that tool within Blender.
==== .mhmat file format Internals====
The entries inside a .mhmat file are of the form:
Comments can be included in c-style line comment format, like
or in python-style line comment format, like
The properties of a makehuman material are numerous so that they can cover the most common needs of exporters and rendering engines, and may vary among the following.
name- The internal name of the material.
Colors- Their value can be in R G B format, like: colorProperty R G B, where R, G, B are floating point numbers between 0 and 1. They control the color of various material properties and effects.
To adjust the intensity of an effect, you can simply edit its color value.
ambientColor -The ambient component of the material, which is usually added on the final color regardless of the surrounding lights.
diffuseColor -The diffuse component of the material, which reacts to each light's relative position.
specularColor -The color of the specular shine that is caused by the reflection of a light source on the material.
emissiveColor- The color of the light that the material seems to emit as if it's a glowing light source.
shininess- The sharpness of the shine spots created by the reflection of a light source on the material, which is how glossy its surface is.
==== .mhuv files ====
This MH internal extension designates UV map files in MakeHuman. These text-readable files based on Lightwave OBJ syntax. They contain one or two lines of metadata and alternative UV data for the texture object to be applied to the model.
There does not currently appear to be a development tool for creating UV map files. They can be created by creating and saving an OBJ file and then renaming it. However, files created in this manner should not be considered fit for the SVN or website because they contain way too much redundant information. The OBJ files created in this manner not only contain the alternate UV set but also contain all vertices of the original mesh.
==== .mhp files ====
This MH internal extension designates pose files. These files are used to store coordinates for the run and walk poses on the pose tab. The dance1 pose appears to be implemented as a pose file, but it also includes some additional .target files. The dance1 pose is also associated wih a .bvh file whereas run and walk are not. In A8 development there have been issues with the dance1 file behaving less well than run and walk. Hopefully, these will be long gone during subsequent development.
==== .mht files ====
==== This MH internal extension designates a theme (GUI color scheme) for the GUI as rendered by the pyQt library. ====
==== .target files ====
This MH internal extension [which lacks the mh… prefix] specifies final extreme positions that can be achieved when moving the interface sliders in one direction or the other. By definition sliders have a value of zero on the left end and 1.0 on the right end, but there is a software flag to reverse this behavior as desired. With scripting it may be possible to exceed slider extremes, but this is currently undocumented and should not be built into production code. There is one TARGET file for each extreme of each movement. These files are hand-built by MakeHuman artist-developers, and they are the engine of the programs utility. Typically, rightward movement of a slider should increase size, and leftward movement of a slider should decrease size. When ‘left’ and ‘right’ are used as asset names, they should refer to the left and right body part on the model, regardless of the model’s orientation in the viewport. When slider movement involves asymmetrical change in the x, y, and z direction, it should be programmed so that the sliders operate naturally using the default viewport view for that slider. For example, left movement of the slider need not cause deformation toward the model’s left side. Such behavior would only be sensible if the default viewport view had the model facing the rear of the viewport (model’s back toward user).
Most MakeHuman modules use data from the TARGET files.
· In the apps group, these modules includes: devtests.py, human.py, humanmodifier.py, posemode.py, and warpmodifier.py.
· In the core group, these modules includes: algos3D.py which is the main program that works with .target files after they are compiled into
· In the apps group, these modules includes:
· In the apps group, these modules includes:
=== .proxy files ===
This MH internal extension designates proxy meshes. They are structured text files. Format and attributes include ... TODO
.qrc file
This is a resource file need used when compiling for the MakeHuman GUI which uses the pyQt library.
=== .qss file ===
This is the text-based file fomat used to store widgets associated with the GUI interface as rendered by the pyQt library
Appreciate help from current developers as what needs to go here. Undoubtedly some confusion or mistakes on my part, but some of it might help orient others. -RWB
Glad to do the grunt work, but feedback on needed improvemrnt greatly appreciated :-)
---------------------------
Also in this section could possibly also loading, saving, exporting formats (but these formats should probably be addressed in context below)
The basic work done within MakeHuman is saved as a file with an .mhm extension. The .mhm files can be loaded at the start of a new user session, and return MakeHuman to the state that it was in at the end of the previous session.
== Proxy files ==
=== Offset and bounds ===
MakeClothes uses a bounding box for scaling the offsets. It's controlled by the ''Offsets'' option in MakeClothes.
This is how this data is stored in the proxy file, so you can modify by hand if desired.
In the mhclo file at the top, these values appear as
x_scale 5399 11998 1.4340
z_scale 962 5320 2.0001
y_scale 791 881 2.4098
Allowed values are:
x_scale
y_scale
z_scale
shear_x
shear_y
shear_z
l_shear_x
l_shear_y
l_shear_z
r_shear_x
r_shear_y
r_shear_z
scale options follow the format:
x_scale v1 v2 den
with v1, v2 vertex indices on the human basemesh, den a denominator with which the scaling value is reduced
which results in the construction of a scale matrix that is applied to all the offsets of the proxy.
eg.
[xscale 0 0 0]
[0 yscale 0 0]
[0 0 zscale 0]
[0 0 0 1]
where xscale is determined from the option x_scale v1 v2 den as:
xscale = abs(coord_pos(v1).x - coord_pos(v2).x) / den
analog for yscale and zscale (.y or .z components of the position vector will be used instead)
shear options follow the format:
shear_x v1 v2 x1 x2
which result in the creation of a shear matrix instead of a scale matrix (I don't know of any instance where this is used)
uses numpy's affine_matrix_from_points method to calculate a transformation matrix that fits all selected points
didn't go into detail understanding this, because it doesn't seem too relevant. Read the code if interested.
scale overrides shear which overrides l_shear which overrides r_shear, only one of them is used (so you either specify scale, shear, l_shear or r_shear but no combination of them)
If you specify one, it is expected you define the other 2 of the same type as well.
=== max_pole ===
Proxy files can specify the pole count, which is the maximum number of edges that a vertex in the proxy mesh (the OBJ file) can have. If all faces around this vertex share their edges, this number also coincides with the maximum number of faces per vertex. If not specified, MakeHuman assumes this number is 8, which is a reasonable standard (more than 8 edges per vertex is probably a sub-optimal topology).
For example, the MakeHuman basemesh, which was modeled with high consideration of pole count, has a maximum of 5 edges per vertex.
MakeHuman intentionally is conservative about pole count to benefit performance (of the subdivision algorithm for example), for the same performance reasons it will not check the pole count when loading an OBJ, and instead relies on the user, or creation tool (MakeClothes) to set this number appropriately (at the moment MakeClothes does not do this).
Similarly, you can improve performance of MakeHuman by lowering this number if your proxy mesh has lower pole count. Eg for some meshes this can be set to 6 or 7
Proxy files have a property ''max_pole'' to change this number from the default setting of 8 to something else:
max_pole 9
== Meshes ==
MakeHuman stores its meshes in the standard Wavefront OBJ format. It supports quad-only meshes, and by default allows up to 8 edges per vertex. This number can be increased (see proxy format).
== Material files ==
Here's a list of naming convention for the content of the mhmat-file
(floats are between 0.0 and 1.0):
"name": string
"tag": string
"description": string
"ambientColor": 3 x float
"diffuseColor": 3 x float
"specularColor": 3 x float
"shininess": 1 x float
"emissiveColor": 3 x float
"opacity": 1 x float
"translucency": 1 x float
"shadeless": bool
"wireframe": bool
"transparent": bool
"alphaToCoverage": bool
"backfaceCull": bool
"depthless": bool
"castShadows": bool
"receiveShadows": bool
"autoBlendSkin": bool
"diffuseTexture": filename
"bumpmapTexture": filename
"bumpmapIntensity": 1 x float
"normalmapTexture": filename
"normalmapIntensity": 1 x float
"displacementmapTexture": filename
"displacementmapIntensity": 1 x float
"specularmapTexture": filename
"specularmapIntensity": 1 x float
"transparencymapTexture": filename
"transparencymapIntensity": 1 x float
"aomapTexture": filename
"aomapIntensity": 1 x float
"sssEnabled": bool
"sssRScale": 1 x float
"sssGScale": 1 x float
"sssBScale": 1 x float
"shader": filename
"uvMap": filename
"shaderParam":
['diffuse', 'ambient', 'specular', 'emissive', 'diffuseTexture', 'bumpmapTexture', 'bumpmapIntensity', 'normalmapTexture', 'normalmapIntensity', 'displacementmapTexture', 'displacementmapTexture', 'specularmapTexture', 'specularmapIntensity', 'transparencymapTexture', 'transparencymapIntensity', 'aomapTexture', 'aomapIntensity']
"shaderDefine":
['BUMPMAP', 'NORMALMAP', 'DISPLACEMENT', 'SPECULARMAP', 'TRANSPARENCYMAP']
"shaderConfig" "diffuse": bool
"shaderConfig" "bump": bool
"shaderConfig" "normal": bool
"shaderConfig" "displacement": bool
"shaderConfig" "spec": bool
"shaderConfig" "vertexColors": bool
"shaderConfig" "transparency": bool
"shaderConfig" "ambientOcclusion": bool
== Poseunit files ==
TODO
== Target files ==
TODO
== Modifier and slider definitions ==
TODO
8a5ae308d8e5fa67db51000d6ac4fb8918ea1f15
1369
1368
2017-03-17T20:08:23Z
Grinsegold
39
/* .mhclo files */
wikitext
text/x-wiki
This section briefly reviews the file accessed or manipulated within MakeHuman. An attempt will be made to explain the function of each file format and where in MakeHuman’s modules it is used. Or external formats links will be provided to more detailed descriptions. Where it can help the developer better understand the overall organization of MakeHuman source code, some information on the module group or modules interaction with the various formats will be provided. This section Is intended to be used with the previous section on directories (folders) to develop an overview of MakeHuman code structure. This structural understanding is essential during the debugging process and is essential to expanding the programs functionality in structurally sound ways.
==== .obj files ====
This extension designates Lightwave object files. These OBJ files store mesh information and metadata needed for rendering in text-readable format. It was originally developed for the Lightwave 3D graphics program, but this file format is now broadly supported by many, if not most, 3D programs. Internally, MakeHuman uses OBJ files (or formats directly based on OBJ files) for the canonical storage of its assets. Many of MakeHuman’s development utilities store newly generated assets in formats related to the Lightwave OBJ specification. Examples of assets canonically stored in Lightwave OBJ format include the base human, and auxiliary geometry assets like eyes, hair, and clothes.
Each OBJ file has a record specifying the object’s name and records specifying one or more mesh objects. Mesh objects, in turn, are composed of record groups specifying: points or vertices (v), vertex normal (vn), faces (f), and vertex textures (vt). In MakeHuman and most general purpose 3D programs (e.g., Blender) OBJ files are exported with an accompanying Wavefront material file having the .mtl extension. These MTL files provide the detailed material attributes necessary to get photorealistic rendering of Wavefront objects. A more complete specification of Wavefront object format can be found at:!LINK!http://www.martinreddy.net/gfx/3d/OBJ.spec -- http://www.martinreddy.net/gfx/3d/OBJ.spec!/LINK!
OBJ files and MTL files have a direct internal analog in MakeHuman in the form of the object class, Object3D. This class, along with its properties and methods, is defined in the object3D.py module(libs folder). Object3D objects are central to the internal workings of MakeHuman. The resemblance of Object3D objects to OBJ files is not coincidental. Many of the core mesh assets in MakeHuman are developed in the open-source project, Blender, and moved to MakeHuman internals using OBJ format. In fact, MakeHuman maintains a separate product [MHTools] designed to support development of new core internal assets
==== .mhpxy files ====
This extension designates compressed binary proxies and clothes.
==== .mtl files ====
This extension designates a Wavefront material file. Wavefront MTL files are referenced from within Wavefront OBJ files to specify the materials used in rendering. More complete information on Wavefront material files is available here:!LINK!http://paulbourke.net/dataformats/mtl/ -- http://paulbourke.net/dataformats/mtl/!/LINK!
MakeHuman’s use of MTL file has been limited, but with the increased support for POV rendering, more modules may access and utilize MTL files. Currently, MTL-related data and files is developmental. Thedata foldercontains a cube.obj (3dobj) and a plane.obj (mitsuba folder) ostensibly associated with materials.
==== .npz files ====
This extension designates compressed binary asset files in MakeHuman [think npz = numPy zip files]. Among the most important assets stored with this extension is target vertex information. These target data determine the motion of each MakeHuman vertices (relative to landmark vertices?) as sliders are moved.
Thefiles3D.pymodule (core folder) tests for verifies existence of OS dependent locations of binary mesh files. The primary purpose of thefiles3D.pymodule is to transpose imported 3D data into a standard internal format for each of the 3D file formats supported by the MakeHuman import. Each importer function is written to return the 3d data in a standard format as a Python list:
[verts, vertsSharedFaces, vertsUV, faceGroups, faceGroupsNames]
The targets.pymodule (lib folder) is where system assets stored with the NPZ extension are identified, decompressed, and turned into memory resident structured objects for use by MakeHuman. This Code related to NPZ files can also be found in algos3d.py module (core folder). This module has been part of MakeHuman for a long time, and is used for morphing related operations. It works with loaded binary translation vectors and applies those translations to morphing targets. It may have some legacy capability to work directly with text-based .target files.
The compile_models.py module (lib folder) takes all object mesh files (.obj) and compiles them into binary compressed files (NPZ). Similarly, the compile_targets.py module (lib folder) compiles target files (.target) into binary compressed (NPZ) files. The latter module is referenced by Benjamin Lau in MakeHuman.spec file, likely for build purposes.
Important concept. The root folder of MakeHuman contains a batch file called cleanpz.bat (for Windows) and a corresponding shell script file called cleanpz.sh (for Linux) whose function is to delete NPZ files between repository (Bitbucket or GIT) builds. This “garbage collection” assures that each build is not working with out-of-date assets. It also reminds the developer that most of the canonical assets are initially constructed in text readable format. Developers write appropriate constructors to recompile NPZ files during the MakeHuman startup sequence when missing. For distribution versions of MakeHuman, pre-compiled assets in the form of NPZ files are distributed as stable assets. When start up code confirms their existence , no recompile is done, producing a better start-up experience for the user. This design greatly increases boot and runtime performance for stable distributions without hampering rapid testing of repository versions in interpretative mode.
==== .thumb files ====
This extension designates thumbnail (image preview) files in MakeHuman. Underneath, they are actually images constructed in the .png file format. Thus, they can be edited by standard image editors like GIMP or displayed by most web browsers. The MakeHuman Save Tab code automatically generates a companion .thumb file each time it saves a .mhm file. The .thumb generation is currently done by capturing a rectangular in the center of the viewport window. The MakeHuman Load Tab code uses .thumb images to provide previews of saved models.
The format for .thumb is defined inimage_qt.pymodule (GUI folder). Load and Save use or generation occur inguiload.pyandguisave.pymodules, respectively (lib folder). Numerous plugin modules reference .thumb files (plugins folder) including:2_posing_expression.py,3_libraries_clothes_chooser.py,3_libraries_eye_chooser.py,3_libraries_material_chooser.py,3_libraries_polygon_hair_chooser.py,3_libraries_posing_chooser.py,3_libraries_proxy_chooser.py, 4_rendering_scene.py,7_material_editor.py,
==== .lmk files ====
This MH internal extension designates landmark files. [might be renamed .mhlmk for naming standard reasons.] There is one set of landmarks for the model body (and a second set of landmarks for the model head (data | landmarks folder). These LMK files are written in text readable format. Each line has a single integer which specifies a landmark vertex in the model geometry. Landmark vertices are used for relative (local) spatial reference during model morphing.
Landmark files are used bywarpmodifier.py(apps folder) andwarp.py(utils | tools | warptarget folder).The landmarks in these files are used as references during the complex process of reshaping the human.
==== .mhclo files ====
This MH internal extension designates MakeHuman clothes files. These files define clothing vertexes and remove vertexes from the model to allow fitting of the model without skin showing through. They are created using the MakeHuman Blender toolset, specifically the MakeClothes tool.
A special empty MakeHuman clothes meta-file named clear.mhclo is is used to restore the default UV map that comes with the system. In the lib folder, the filechooser.py module has a MhcloFileLoader.Refresh() method to clear materials when the refresh button is clicked.
In the plugins folder,3_libraries_clothes_chooser.py, 3_libraries_eye_chooser.py, and 3_libraries_polygon_hair_chooser.py all access MHCLO files, but as of this writing, there are some file handling issues related to proxy clothes that means some of this code is commented out. In the shared/export_utils folder, config.py accesses a cage.mhclo file. In the tools folder, the tool ‘MakeClothes’ accesses MHCLO files in both the makeclothes.py and material.py modules. Similarly, the tool ‘MakeTarget‘ accesses MHCLO files in several of its modules:_init_.py, convert.py, import_obj.py, mt.py, ands ettings.py. Finally, two experimental tools in the utils folder, the makeface.py and helpers.py modules access MCHO files.
The mhclo-file structure:
A MH clothing consists of two files, the mhclo file which determines the vertex locations and a standard obj file which defines the rest of the mesh: faces, uv coordinates, uv faces. MH automatically compiles these files the first time it uses them, so these are the binary mhpxy and npz files. The header in a mhclo file looks like this:
# Exported from MakeClothes (TM)
# author Unknown
# license AGPL3 (see also http://www.makehuman.org/doc/node/external_tools_license.html)
# homepage http://www.makehuman.org/
uuid 59985471-ab08-479f-a32d-2d88411714ef
basemesh hm08
name Helmet
version 110
obj_file helmet.obj
x_scale 5399 11998 1.3980
z_scale 962 5320 1.8441
y_scale 791 881 2.2028
z_depth 50
max_pole 4
verts 0
# starts a comment.
The uuid is a unique identifier for this file.
The basemesh is the version of the MH mesh. Today always hm08, but earlier versions of MC supported hm07 and alpha6.
Name of clothing.
Version of MC
The obj file contains all information about the mesh in obj format: original vertex locations, faces, UVs.
x_scale v1 v2 dist: Used for scaling of offsets (see below) in the x direction. dist is the distance between verts v1 and v2 in the character the clothes were made for.
y_scale, z_scale analogous
z_depth determines the render order in MH, I think. It was originally used in a different way by the MHX importer.
max_pole is the maximal pole number of any vertex in this mesh. Affects how large arrays must be allocated in MH.
verts 0. It was some kind of vertex number offset, but the author doesn't quite remember how it worked.
Then comes a bunch of lines which determine the vertex locations.
16563 16602 16605 -2.77529 -3.02614 6.80143 -0.56369 0.10852 -0.06174
The three first a human vertex numbers which define a triangle.
The three in the middle are barycentric coordinates, which defines a point in the triangle.
The three last is an offset from this point. However, the offset is scaled with factors determined by the x,y,z_scale lines in the header.
If the n:th line reads
v1 v2 v3 w1 w2 w3 d1 d2 d3
then the location of clothing vertex n is
w1*r1 + w2*r2 + w3 *r3 + (s1*d1, s2*d2, s3*d3)
where r1,r2,r3 are locations of human vertices v1,v2,v3, and s1,s2,s3 are scale factors
==== .mhmat files ====
This extension designates MakeHuman material files. Material files are text-readable files that share their syntax structure with Lightwave OBJ and MTL files.
In the app module group,human.pyapplies a default material andmh2proxy.pyhandles materials for proxies and may do some special material handling for MHX Blender export files. In the data folder, the MHCLO files for clothes, eyes, and hair each references an MHMAT files. In the plugins folder,7_material_editor.pyloads, edits, and saves MHMAT files. In the shared folder,material.pyparses MHMAT files and sets material properties. In the tools folder, there is another (independent)material.pymodule for the MakeClothes tool that writes materials to the output file while using that tool within Blender.
==== .mhmat file format Internals====
The entries inside a .mhmat file are of the form:
Comments can be included in c-style line comment format, like
or in python-style line comment format, like
The properties of a makehuman material are numerous so that they can cover the most common needs of exporters and rendering engines, and may vary among the following.
name- The internal name of the material.
Colors- Their value can be in R G B format, like: colorProperty R G B, where R, G, B are floating point numbers between 0 and 1. They control the color of various material properties and effects.
To adjust the intensity of an effect, you can simply edit its color value.
ambientColor -The ambient component of the material, which is usually added on the final color regardless of the surrounding lights.
diffuseColor -The diffuse component of the material, which reacts to each light's relative position.
specularColor -The color of the specular shine that is caused by the reflection of a light source on the material.
emissiveColor- The color of the light that the material seems to emit as if it's a glowing light source.
shininess- The sharpness of the shine spots created by the reflection of a light source on the material, which is how glossy its surface is.
==== .mhuv files ====
This MH internal extension designates UV map files in MakeHuman. These text-readable files based on Lightwave OBJ syntax. They contain one or two lines of metadata and alternative UV data for the texture object to be applied to the model.
There does not currently appear to be a development tool for creating UV map files. They can be created by creating and saving an OBJ file and then renaming it. However, files created in this manner should not be considered fit for the SVN or website because they contain way too much redundant information. The OBJ files created in this manner not only contain the alternate UV set but also contain all vertices of the original mesh.
==== .mhp files ====
This MH internal extension designates pose files. These files are used to store coordinates for the run and walk poses on the pose tab. The dance1 pose appears to be implemented as a pose file, but it also includes some additional .target files. The dance1 pose is also associated wih a .bvh file whereas run and walk are not. In A8 development there have been issues with the dance1 file behaving less well than run and walk. Hopefully, these will be long gone during subsequent development.
==== .mht files ====
==== This MH internal extension designates a theme (GUI color scheme) for the GUI as rendered by the pyQt library. ====
==== .target files ====
This MH internal extension [which lacks the mh… prefix] specifies final extreme positions that can be achieved when moving the interface sliders in one direction or the other. By definition sliders have a value of zero on the left end and 1.0 on the right end, but there is a software flag to reverse this behavior as desired. With scripting it may be possible to exceed slider extremes, but this is currently undocumented and should not be built into production code. There is one TARGET file for each extreme of each movement. These files are hand-built by MakeHuman artist-developers, and they are the engine of the programs utility. Typically, rightward movement of a slider should increase size, and leftward movement of a slider should decrease size. When ‘left’ and ‘right’ are used as asset names, they should refer to the left and right body part on the model, regardless of the model’s orientation in the viewport. When slider movement involves asymmetrical change in the x, y, and z direction, it should be programmed so that the sliders operate naturally using the default viewport view for that slider. For example, left movement of the slider need not cause deformation toward the model’s left side. Such behavior would only be sensible if the default viewport view had the model facing the rear of the viewport (model’s back toward user).
Most MakeHuman modules use data from the TARGET files.
· In the apps group, these modules includes: devtests.py, human.py, humanmodifier.py, posemode.py, and warpmodifier.py.
· In the core group, these modules includes: algos3D.py which is the main program that works with .target files after they are compiled into
· In the apps group, these modules includes:
· In the apps group, these modules includes:
=== .proxy files ===
This MH internal extension designates proxy meshes. They are structured text files. Format and attributes include ... TODO
.qrc file
This is a resource file need used when compiling for the MakeHuman GUI which uses the pyQt library.
=== .qss file ===
This is the text-based file fomat used to store widgets associated with the GUI interface as rendered by the pyQt library
Appreciate help from current developers as what needs to go here. Undoubtedly some confusion or mistakes on my part, but some of it might help orient others. -RWB
Glad to do the grunt work, but feedback on needed improvemrnt greatly appreciated :-)
---------------------------
Also in this section could possibly also loading, saving, exporting formats (but these formats should probably be addressed in context below)
The basic work done within MakeHuman is saved as a file with an .mhm extension. The .mhm files can be loaded at the start of a new user session, and return MakeHuman to the state that it was in at the end of the previous session.
== Proxy files ==
=== Offset and bounds ===
MakeClothes uses a bounding box for scaling the offsets. It's controlled by the ''Offsets'' option in MakeClothes.
This is how this data is stored in the proxy file, so you can modify by hand if desired.
In the mhclo file at the top, these values appear as
x_scale 5399 11998 1.4340
z_scale 962 5320 2.0001
y_scale 791 881 2.4098
Allowed values are:
x_scale
y_scale
z_scale
shear_x
shear_y
shear_z
l_shear_x
l_shear_y
l_shear_z
r_shear_x
r_shear_y
r_shear_z
scale options follow the format:
x_scale v1 v2 den
with v1, v2 vertex indices on the human basemesh, den a denominator with which the scaling value is reduced
which results in the construction of a scale matrix that is applied to all the offsets of the proxy.
eg.
[xscale 0 0 0]
[0 yscale 0 0]
[0 0 zscale 0]
[0 0 0 1]
where xscale is determined from the option x_scale v1 v2 den as:
xscale = abs(coord_pos(v1).x - coord_pos(v2).x) / den
analog for yscale and zscale (.y or .z components of the position vector will be used instead)
shear options follow the format:
shear_x v1 v2 x1 x2
which result in the creation of a shear matrix instead of a scale matrix (I don't know of any instance where this is used)
uses numpy's affine_matrix_from_points method to calculate a transformation matrix that fits all selected points
didn't go into detail understanding this, because it doesn't seem too relevant. Read the code if interested.
scale overrides shear which overrides l_shear which overrides r_shear, only one of them is used (so you either specify scale, shear, l_shear or r_shear but no combination of them)
If you specify one, it is expected you define the other 2 of the same type as well.
=== max_pole ===
Proxy files can specify the pole count, which is the maximum number of edges that a vertex in the proxy mesh (the OBJ file) can have. If all faces around this vertex share their edges, this number also coincides with the maximum number of faces per vertex. If not specified, MakeHuman assumes this number is 8, which is a reasonable standard (more than 8 edges per vertex is probably a sub-optimal topology).
For example, the MakeHuman basemesh, which was modeled with high consideration of pole count, has a maximum of 5 edges per vertex.
MakeHuman intentionally is conservative about pole count to benefit performance (of the subdivision algorithm for example), for the same performance reasons it will not check the pole count when loading an OBJ, and instead relies on the user, or creation tool (MakeClothes) to set this number appropriately (at the moment MakeClothes does not do this).
Similarly, you can improve performance of MakeHuman by lowering this number if your proxy mesh has lower pole count. Eg for some meshes this can be set to 6 or 7
Proxy files have a property ''max_pole'' to change this number from the default setting of 8 to something else:
max_pole 9
== Meshes ==
MakeHuman stores its meshes in the standard Wavefront OBJ format. It supports quad-only meshes, and by default allows up to 8 edges per vertex. This number can be increased (see proxy format).
== Material files ==
Here's a list of naming convention for the content of the mhmat-file
(floats are between 0.0 and 1.0):
"name": string
"tag": string
"description": string
"ambientColor": 3 x float
"diffuseColor": 3 x float
"specularColor": 3 x float
"shininess": 1 x float
"emissiveColor": 3 x float
"opacity": 1 x float
"translucency": 1 x float
"shadeless": bool
"wireframe": bool
"transparent": bool
"alphaToCoverage": bool
"backfaceCull": bool
"depthless": bool
"castShadows": bool
"receiveShadows": bool
"autoBlendSkin": bool
"diffuseTexture": filename
"bumpmapTexture": filename
"bumpmapIntensity": 1 x float
"normalmapTexture": filename
"normalmapIntensity": 1 x float
"displacementmapTexture": filename
"displacementmapIntensity": 1 x float
"specularmapTexture": filename
"specularmapIntensity": 1 x float
"transparencymapTexture": filename
"transparencymapIntensity": 1 x float
"aomapTexture": filename
"aomapIntensity": 1 x float
"sssEnabled": bool
"sssRScale": 1 x float
"sssGScale": 1 x float
"sssBScale": 1 x float
"shader": filename
"uvMap": filename
"shaderParam":
['diffuse', 'ambient', 'specular', 'emissive', 'diffuseTexture', 'bumpmapTexture', 'bumpmapIntensity', 'normalmapTexture', 'normalmapIntensity', 'displacementmapTexture', 'displacementmapTexture', 'specularmapTexture', 'specularmapIntensity', 'transparencymapTexture', 'transparencymapIntensity', 'aomapTexture', 'aomapIntensity']
"shaderDefine":
['BUMPMAP', 'NORMALMAP', 'DISPLACEMENT', 'SPECULARMAP', 'TRANSPARENCYMAP']
"shaderConfig" "diffuse": bool
"shaderConfig" "bump": bool
"shaderConfig" "normal": bool
"shaderConfig" "displacement": bool
"shaderConfig" "spec": bool
"shaderConfig" "vertexColors": bool
"shaderConfig" "transparency": bool
"shaderConfig" "ambientOcclusion": bool
== Poseunit files ==
TODO
== Target files ==
TODO
== Modifier and slider definitions ==
TODO
ec10636bbfec3845e0bf2aacdfe5107147b15a33
1368
1367
2017-03-17T20:04:43Z
Grinsegold
39
/* .mhclo files */
wikitext
text/x-wiki
This section briefly reviews the file accessed or manipulated within MakeHuman. An attempt will be made to explain the function of each file format and where in MakeHuman’s modules it is used. Or external formats links will be provided to more detailed descriptions. Where it can help the developer better understand the overall organization of MakeHuman source code, some information on the module group or modules interaction with the various formats will be provided. This section Is intended to be used with the previous section on directories (folders) to develop an overview of MakeHuman code structure. This structural understanding is essential during the debugging process and is essential to expanding the programs functionality in structurally sound ways.
==== .obj files ====
This extension designates Lightwave object files. These OBJ files store mesh information and metadata needed for rendering in text-readable format. It was originally developed for the Lightwave 3D graphics program, but this file format is now broadly supported by many, if not most, 3D programs. Internally, MakeHuman uses OBJ files (or formats directly based on OBJ files) for the canonical storage of its assets. Many of MakeHuman’s development utilities store newly generated assets in formats related to the Lightwave OBJ specification. Examples of assets canonically stored in Lightwave OBJ format include the base human, and auxiliary geometry assets like eyes, hair, and clothes.
Each OBJ file has a record specifying the object’s name and records specifying one or more mesh objects. Mesh objects, in turn, are composed of record groups specifying: points or vertices (v), vertex normal (vn), faces (f), and vertex textures (vt). In MakeHuman and most general purpose 3D programs (e.g., Blender) OBJ files are exported with an accompanying Wavefront material file having the .mtl extension. These MTL files provide the detailed material attributes necessary to get photorealistic rendering of Wavefront objects. A more complete specification of Wavefront object format can be found at:!LINK!http://www.martinreddy.net/gfx/3d/OBJ.spec -- http://www.martinreddy.net/gfx/3d/OBJ.spec!/LINK!
OBJ files and MTL files have a direct internal analog in MakeHuman in the form of the object class, Object3D. This class, along with its properties and methods, is defined in the object3D.py module(libs folder). Object3D objects are central to the internal workings of MakeHuman. The resemblance of Object3D objects to OBJ files is not coincidental. Many of the core mesh assets in MakeHuman are developed in the open-source project, Blender, and moved to MakeHuman internals using OBJ format. In fact, MakeHuman maintains a separate product [MHTools] designed to support development of new core internal assets
==== .mhpxy files ====
This extension designates compressed binary proxies and clothes.
==== .mtl files ====
This extension designates a Wavefront material file. Wavefront MTL files are referenced from within Wavefront OBJ files to specify the materials used in rendering. More complete information on Wavefront material files is available here:!LINK!http://paulbourke.net/dataformats/mtl/ -- http://paulbourke.net/dataformats/mtl/!/LINK!
MakeHuman’s use of MTL file has been limited, but with the increased support for POV rendering, more modules may access and utilize MTL files. Currently, MTL-related data and files is developmental. Thedata foldercontains a cube.obj (3dobj) and a plane.obj (mitsuba folder) ostensibly associated with materials.
==== .npz files ====
This extension designates compressed binary asset files in MakeHuman [think npz = numPy zip files]. Among the most important assets stored with this extension is target vertex information. These target data determine the motion of each MakeHuman vertices (relative to landmark vertices?) as sliders are moved.
Thefiles3D.pymodule (core folder) tests for verifies existence of OS dependent locations of binary mesh files. The primary purpose of thefiles3D.pymodule is to transpose imported 3D data into a standard internal format for each of the 3D file formats supported by the MakeHuman import. Each importer function is written to return the 3d data in a standard format as a Python list:
[verts, vertsSharedFaces, vertsUV, faceGroups, faceGroupsNames]
The targets.pymodule (lib folder) is where system assets stored with the NPZ extension are identified, decompressed, and turned into memory resident structured objects for use by MakeHuman. This Code related to NPZ files can also be found in algos3d.py module (core folder). This module has been part of MakeHuman for a long time, and is used for morphing related operations. It works with loaded binary translation vectors and applies those translations to morphing targets. It may have some legacy capability to work directly with text-based .target files.
The compile_models.py module (lib folder) takes all object mesh files (.obj) and compiles them into binary compressed files (NPZ). Similarly, the compile_targets.py module (lib folder) compiles target files (.target) into binary compressed (NPZ) files. The latter module is referenced by Benjamin Lau in MakeHuman.spec file, likely for build purposes.
Important concept. The root folder of MakeHuman contains a batch file called cleanpz.bat (for Windows) and a corresponding shell script file called cleanpz.sh (for Linux) whose function is to delete NPZ files between repository (Bitbucket or GIT) builds. This “garbage collection” assures that each build is not working with out-of-date assets. It also reminds the developer that most of the canonical assets are initially constructed in text readable format. Developers write appropriate constructors to recompile NPZ files during the MakeHuman startup sequence when missing. For distribution versions of MakeHuman, pre-compiled assets in the form of NPZ files are distributed as stable assets. When start up code confirms their existence , no recompile is done, producing a better start-up experience for the user. This design greatly increases boot and runtime performance for stable distributions without hampering rapid testing of repository versions in interpretative mode.
==== .thumb files ====
This extension designates thumbnail (image preview) files in MakeHuman. Underneath, they are actually images constructed in the .png file format. Thus, they can be edited by standard image editors like GIMP or displayed by most web browsers. The MakeHuman Save Tab code automatically generates a companion .thumb file each time it saves a .mhm file. The .thumb generation is currently done by capturing a rectangular in the center of the viewport window. The MakeHuman Load Tab code uses .thumb images to provide previews of saved models.
The format for .thumb is defined inimage_qt.pymodule (GUI folder). Load and Save use or generation occur inguiload.pyandguisave.pymodules, respectively (lib folder). Numerous plugin modules reference .thumb files (plugins folder) including:2_posing_expression.py,3_libraries_clothes_chooser.py,3_libraries_eye_chooser.py,3_libraries_material_chooser.py,3_libraries_polygon_hair_chooser.py,3_libraries_posing_chooser.py,3_libraries_proxy_chooser.py, 4_rendering_scene.py,7_material_editor.py,
==== .lmk files ====
This MH internal extension designates landmark files. [might be renamed .mhlmk for naming standard reasons.] There is one set of landmarks for the model body (and a second set of landmarks for the model head (data | landmarks folder). These LMK files are written in text readable format. Each line has a single integer which specifies a landmark vertex in the model geometry. Landmark vertices are used for relative (local) spatial reference during model morphing.
Landmark files are used bywarpmodifier.py(apps folder) andwarp.py(utils | tools | warptarget folder).The landmarks in these files are used as references during the complex process of reshaping the human.
==== .mhclo files ====
This MH internal extension designates MakeHuman clothes files. These files define clothing vertexes and remove vertexes from the model to allow fitting of the model without skin showing through. They are created using the MakeHuman Blender toolset, specifically the MakeClothes tool.
A special empty MakeHuman clothes meta-file named clear.mhclo is is used to restore the default UV map that comes with the system. In the lib folder, the filechooser.py module has a MhcloFileLoader.Refresh() method to clear materials when the refresh button is clicked.
In the plugins folder,3_libraries_clothes_chooser.py, 3_libraries_eye_chooser.py, and 3_libraries_polygon_hair_chooser.py all access MHCLO files, but as of this writing, there are some file handling issues related to proxy clothes that means some of this code is commented out. In the shared/export_utils folder, config.py accesses a cage.mhclo file. In the tools folder, the tool ‘MakeClothes’ accesses MHCLO files in both the makeclothes.py and material.py modules. Similarly, the tool ‘MakeTarget‘ accesses MHCLO files in several of its modules:_init_.py, convert.py, import_obj.py, mt.py, ands ettings.py. Finally, two experimental tools in the utils folder, the makeface.py and helpers.py modules access MCHO files.
The mhclo-file structure:
A MH clothing consists of two files, the mhclo file which determines the vertex locations and a standard obj file which defines the rest of the mesh: faces, uv coordinates, uv faces. MH automatically compiles these files the first time it uses them, so these are the binary mhpxy and npz files. The header in a mhclo file looks like this:
# Exported from MakeClothes (TM)
# author Unknown
# license AGPL3 (see also http://www.makehuman.org/doc/node/external_tools_license.html)
# homepage http://www.makehuman.org/
uuid 59985471-ab08-479f-a32d-2d88411714ef
basemesh hm08
name Helmet
version 110
obj_file helmet.obj
x_scale 5399 11998 1.3980
z_scale 962 5320 1.8441
y_scale 791 881 2.2028
z_depth 50
max_pole 4
verts 0
# starts a comment.
The uuid is a unique identifier for this file.
The basemesh is the version of the MH mesh. Today always hm08, but earlier versions of MC supported hm07 and alpha6.
Name of clothing.
Version of MC
The obj file contains all information about the mesh in obj format: original vertex locations, faces, UVs.
x_scale v1 v2 dist: Used for scaling of offsets (see below) in the x direction. dist is the distance between verts v1 and v2 in the character the clothes were made for.
y_scale, z_scale analogous
z_depth determines the render order in MH, I think. It was originally used in a different way by the MHX importer.
max_pole is the maximal pole number of any vertex in this mesh. Affects how large arrays must be allocated in MH.
verts 0. It was some kind of vertex number offset, but I don't quite remember how it worked.
Then comes a bunch of lines which determine the vertex locations.
Code: Select all
16563 16602 16605 -2.77529 -3.02614 6.80143 -0.56369 0.10852 -0.06174
The three first a human vertex numbers which define a triangle.
The three in the middle are barycentric coordinates, which defines a point in the triangle.
The three last is an offset from this point. However, the offset is scaled with factors determined by the x,y,z_scale lines in the header.
If the n:th line reads
Code: Select all
v1 v2 v3 w1 w2 w3 d1 d2 d3
then the location of clothing vertex n is
Code: Select all
w1*r1 + w2*r2 + w3 *r3 + (s1*d1, s2*d2, s3*d3)
where r1,r2,r3 are locations of human vertices v1,v2,v3, and s1,s2,s3 are scale factors
==== .mhmat files ====
This extension designates MakeHuman material files. Material files are text-readable files that share their syntax structure with Lightwave OBJ and MTL files.
In the app module group,human.pyapplies a default material andmh2proxy.pyhandles materials for proxies and may do some special material handling for MHX Blender export files. In the data folder, the MHCLO files for clothes, eyes, and hair each references an MHMAT files. In the plugins folder,7_material_editor.pyloads, edits, and saves MHMAT files. In the shared folder,material.pyparses MHMAT files and sets material properties. In the tools folder, there is another (independent)material.pymodule for the MakeClothes tool that writes materials to the output file while using that tool within Blender.
==== .mhmat file format Internals====
The entries inside a .mhmat file are of the form:
Comments can be included in c-style line comment format, like
or in python-style line comment format, like
The properties of a makehuman material are numerous so that they can cover the most common needs of exporters and rendering engines, and may vary among the following.
name- The internal name of the material.
Colors- Their value can be in R G B format, like: colorProperty R G B, where R, G, B are floating point numbers between 0 and 1. They control the color of various material properties and effects.
To adjust the intensity of an effect, you can simply edit its color value.
ambientColor -The ambient component of the material, which is usually added on the final color regardless of the surrounding lights.
diffuseColor -The diffuse component of the material, which reacts to each light's relative position.
specularColor -The color of the specular shine that is caused by the reflection of a light source on the material.
emissiveColor- The color of the light that the material seems to emit as if it's a glowing light source.
shininess- The sharpness of the shine spots created by the reflection of a light source on the material, which is how glossy its surface is.
==== .mhuv files ====
This MH internal extension designates UV map files in MakeHuman. These text-readable files based on Lightwave OBJ syntax. They contain one or two lines of metadata and alternative UV data for the texture object to be applied to the model.
There does not currently appear to be a development tool for creating UV map files. They can be created by creating and saving an OBJ file and then renaming it. However, files created in this manner should not be considered fit for the SVN or website because they contain way too much redundant information. The OBJ files created in this manner not only contain the alternate UV set but also contain all vertices of the original mesh.
==== .mhp files ====
This MH internal extension designates pose files. These files are used to store coordinates for the run and walk poses on the pose tab. The dance1 pose appears to be implemented as a pose file, but it also includes some additional .target files. The dance1 pose is also associated wih a .bvh file whereas run and walk are not. In A8 development there have been issues with the dance1 file behaving less well than run and walk. Hopefully, these will be long gone during subsequent development.
==== .mht files ====
==== This MH internal extension designates a theme (GUI color scheme) for the GUI as rendered by the pyQt library. ====
==== .target files ====
This MH internal extension [which lacks the mh… prefix] specifies final extreme positions that can be achieved when moving the interface sliders in one direction or the other. By definition sliders have a value of zero on the left end and 1.0 on the right end, but there is a software flag to reverse this behavior as desired. With scripting it may be possible to exceed slider extremes, but this is currently undocumented and should not be built into production code. There is one TARGET file for each extreme of each movement. These files are hand-built by MakeHuman artist-developers, and they are the engine of the programs utility. Typically, rightward movement of a slider should increase size, and leftward movement of a slider should decrease size. When ‘left’ and ‘right’ are used as asset names, they should refer to the left and right body part on the model, regardless of the model’s orientation in the viewport. When slider movement involves asymmetrical change in the x, y, and z direction, it should be programmed so that the sliders operate naturally using the default viewport view for that slider. For example, left movement of the slider need not cause deformation toward the model’s left side. Such behavior would only be sensible if the default viewport view had the model facing the rear of the viewport (model’s back toward user).
Most MakeHuman modules use data from the TARGET files.
· In the apps group, these modules includes: devtests.py, human.py, humanmodifier.py, posemode.py, and warpmodifier.py.
· In the core group, these modules includes: algos3D.py which is the main program that works with .target files after they are compiled into
· In the apps group, these modules includes:
· In the apps group, these modules includes:
=== .proxy files ===
This MH internal extension designates proxy meshes. They are structured text files. Format and attributes include ... TODO
.qrc file
This is a resource file need used when compiling for the MakeHuman GUI which uses the pyQt library.
=== .qss file ===
This is the text-based file fomat used to store widgets associated with the GUI interface as rendered by the pyQt library
Appreciate help from current developers as what needs to go here. Undoubtedly some confusion or mistakes on my part, but some of it might help orient others. -RWB
Glad to do the grunt work, but feedback on needed improvemrnt greatly appreciated :-)
---------------------------
Also in this section could possibly also loading, saving, exporting formats (but these formats should probably be addressed in context below)
The basic work done within MakeHuman is saved as a file with an .mhm extension. The .mhm files can be loaded at the start of a new user session, and return MakeHuman to the state that it was in at the end of the previous session.
== Proxy files ==
=== Offset and bounds ===
MakeClothes uses a bounding box for scaling the offsets. It's controlled by the ''Offsets'' option in MakeClothes.
This is how this data is stored in the proxy file, so you can modify by hand if desired.
In the mhclo file at the top, these values appear as
x_scale 5399 11998 1.4340
z_scale 962 5320 2.0001
y_scale 791 881 2.4098
Allowed values are:
x_scale
y_scale
z_scale
shear_x
shear_y
shear_z
l_shear_x
l_shear_y
l_shear_z
r_shear_x
r_shear_y
r_shear_z
scale options follow the format:
x_scale v1 v2 den
with v1, v2 vertex indices on the human basemesh, den a denominator with which the scaling value is reduced
which results in the construction of a scale matrix that is applied to all the offsets of the proxy.
eg.
[xscale 0 0 0]
[0 yscale 0 0]
[0 0 zscale 0]
[0 0 0 1]
where xscale is determined from the option x_scale v1 v2 den as:
xscale = abs(coord_pos(v1).x - coord_pos(v2).x) / den
analog for yscale and zscale (.y or .z components of the position vector will be used instead)
shear options follow the format:
shear_x v1 v2 x1 x2
which result in the creation of a shear matrix instead of a scale matrix (I don't know of any instance where this is used)
uses numpy's affine_matrix_from_points method to calculate a transformation matrix that fits all selected points
didn't go into detail understanding this, because it doesn't seem too relevant. Read the code if interested.
scale overrides shear which overrides l_shear which overrides r_shear, only one of them is used (so you either specify scale, shear, l_shear or r_shear but no combination of them)
If you specify one, it is expected you define the other 2 of the same type as well.
=== max_pole ===
Proxy files can specify the pole count, which is the maximum number of edges that a vertex in the proxy mesh (the OBJ file) can have. If all faces around this vertex share their edges, this number also coincides with the maximum number of faces per vertex. If not specified, MakeHuman assumes this number is 8, which is a reasonable standard (more than 8 edges per vertex is probably a sub-optimal topology).
For example, the MakeHuman basemesh, which was modeled with high consideration of pole count, has a maximum of 5 edges per vertex.
MakeHuman intentionally is conservative about pole count to benefit performance (of the subdivision algorithm for example), for the same performance reasons it will not check the pole count when loading an OBJ, and instead relies on the user, or creation tool (MakeClothes) to set this number appropriately (at the moment MakeClothes does not do this).
Similarly, you can improve performance of MakeHuman by lowering this number if your proxy mesh has lower pole count. Eg for some meshes this can be set to 6 or 7
Proxy files have a property ''max_pole'' to change this number from the default setting of 8 to something else:
max_pole 9
== Meshes ==
MakeHuman stores its meshes in the standard Wavefront OBJ format. It supports quad-only meshes, and by default allows up to 8 edges per vertex. This number can be increased (see proxy format).
== Material files ==
Here's a list of naming convention for the content of the mhmat-file
(floats are between 0.0 and 1.0):
"name": string
"tag": string
"description": string
"ambientColor": 3 x float
"diffuseColor": 3 x float
"specularColor": 3 x float
"shininess": 1 x float
"emissiveColor": 3 x float
"opacity": 1 x float
"translucency": 1 x float
"shadeless": bool
"wireframe": bool
"transparent": bool
"alphaToCoverage": bool
"backfaceCull": bool
"depthless": bool
"castShadows": bool
"receiveShadows": bool
"autoBlendSkin": bool
"diffuseTexture": filename
"bumpmapTexture": filename
"bumpmapIntensity": 1 x float
"normalmapTexture": filename
"normalmapIntensity": 1 x float
"displacementmapTexture": filename
"displacementmapIntensity": 1 x float
"specularmapTexture": filename
"specularmapIntensity": 1 x float
"transparencymapTexture": filename
"transparencymapIntensity": 1 x float
"aomapTexture": filename
"aomapIntensity": 1 x float
"sssEnabled": bool
"sssRScale": 1 x float
"sssGScale": 1 x float
"sssBScale": 1 x float
"shader": filename
"uvMap": filename
"shaderParam":
['diffuse', 'ambient', 'specular', 'emissive', 'diffuseTexture', 'bumpmapTexture', 'bumpmapIntensity', 'normalmapTexture', 'normalmapIntensity', 'displacementmapTexture', 'displacementmapTexture', 'specularmapTexture', 'specularmapIntensity', 'transparencymapTexture', 'transparencymapIntensity', 'aomapTexture', 'aomapIntensity']
"shaderDefine":
['BUMPMAP', 'NORMALMAP', 'DISPLACEMENT', 'SPECULARMAP', 'TRANSPARENCYMAP']
"shaderConfig" "diffuse": bool
"shaderConfig" "bump": bool
"shaderConfig" "normal": bool
"shaderConfig" "displacement": bool
"shaderConfig" "spec": bool
"shaderConfig" "vertexColors": bool
"shaderConfig" "transparency": bool
"shaderConfig" "ambientOcclusion": bool
== Poseunit files ==
TODO
== Target files ==
TODO
== Modifier and slider definitions ==
TODO
1e036fc9321fdab90700b1e74f6876b033061251
1367
1366
2017-03-17T20:01:37Z
Grinsegold
39
/* .mhclo files */
wikitext
text/x-wiki
This section briefly reviews the file accessed or manipulated within MakeHuman. An attempt will be made to explain the function of each file format and where in MakeHuman’s modules it is used. Or external formats links will be provided to more detailed descriptions. Where it can help the developer better understand the overall organization of MakeHuman source code, some information on the module group or modules interaction with the various formats will be provided. This section Is intended to be used with the previous section on directories (folders) to develop an overview of MakeHuman code structure. This structural understanding is essential during the debugging process and is essential to expanding the programs functionality in structurally sound ways.
==== .obj files ====
This extension designates Lightwave object files. These OBJ files store mesh information and metadata needed for rendering in text-readable format. It was originally developed for the Lightwave 3D graphics program, but this file format is now broadly supported by many, if not most, 3D programs. Internally, MakeHuman uses OBJ files (or formats directly based on OBJ files) for the canonical storage of its assets. Many of MakeHuman’s development utilities store newly generated assets in formats related to the Lightwave OBJ specification. Examples of assets canonically stored in Lightwave OBJ format include the base human, and auxiliary geometry assets like eyes, hair, and clothes.
Each OBJ file has a record specifying the object’s name and records specifying one or more mesh objects. Mesh objects, in turn, are composed of record groups specifying: points or vertices (v), vertex normal (vn), faces (f), and vertex textures (vt). In MakeHuman and most general purpose 3D programs (e.g., Blender) OBJ files are exported with an accompanying Wavefront material file having the .mtl extension. These MTL files provide the detailed material attributes necessary to get photorealistic rendering of Wavefront objects. A more complete specification of Wavefront object format can be found at:!LINK!http://www.martinreddy.net/gfx/3d/OBJ.spec -- http://www.martinreddy.net/gfx/3d/OBJ.spec!/LINK!
OBJ files and MTL files have a direct internal analog in MakeHuman in the form of the object class, Object3D. This class, along with its properties and methods, is defined in the object3D.py module(libs folder). Object3D objects are central to the internal workings of MakeHuman. The resemblance of Object3D objects to OBJ files is not coincidental. Many of the core mesh assets in MakeHuman are developed in the open-source project, Blender, and moved to MakeHuman internals using OBJ format. In fact, MakeHuman maintains a separate product [MHTools] designed to support development of new core internal assets
==== .mhpxy files ====
This extension designates compressed binary proxies and clothes.
==== .mtl files ====
This extension designates a Wavefront material file. Wavefront MTL files are referenced from within Wavefront OBJ files to specify the materials used in rendering. More complete information on Wavefront material files is available here:!LINK!http://paulbourke.net/dataformats/mtl/ -- http://paulbourke.net/dataformats/mtl/!/LINK!
MakeHuman’s use of MTL file has been limited, but with the increased support for POV rendering, more modules may access and utilize MTL files. Currently, MTL-related data and files is developmental. Thedata foldercontains a cube.obj (3dobj) and a plane.obj (mitsuba folder) ostensibly associated with materials.
==== .npz files ====
This extension designates compressed binary asset files in MakeHuman [think npz = numPy zip files]. Among the most important assets stored with this extension is target vertex information. These target data determine the motion of each MakeHuman vertices (relative to landmark vertices?) as sliders are moved.
Thefiles3D.pymodule (core folder) tests for verifies existence of OS dependent locations of binary mesh files. The primary purpose of thefiles3D.pymodule is to transpose imported 3D data into a standard internal format for each of the 3D file formats supported by the MakeHuman import. Each importer function is written to return the 3d data in a standard format as a Python list:
[verts, vertsSharedFaces, vertsUV, faceGroups, faceGroupsNames]
The targets.pymodule (lib folder) is where system assets stored with the NPZ extension are identified, decompressed, and turned into memory resident structured objects for use by MakeHuman. This Code related to NPZ files can also be found in algos3d.py module (core folder). This module has been part of MakeHuman for a long time, and is used for morphing related operations. It works with loaded binary translation vectors and applies those translations to morphing targets. It may have some legacy capability to work directly with text-based .target files.
The compile_models.py module (lib folder) takes all object mesh files (.obj) and compiles them into binary compressed files (NPZ). Similarly, the compile_targets.py module (lib folder) compiles target files (.target) into binary compressed (NPZ) files. The latter module is referenced by Benjamin Lau in MakeHuman.spec file, likely for build purposes.
Important concept. The root folder of MakeHuman contains a batch file called cleanpz.bat (for Windows) and a corresponding shell script file called cleanpz.sh (for Linux) whose function is to delete NPZ files between repository (Bitbucket or GIT) builds. This “garbage collection” assures that each build is not working with out-of-date assets. It also reminds the developer that most of the canonical assets are initially constructed in text readable format. Developers write appropriate constructors to recompile NPZ files during the MakeHuman startup sequence when missing. For distribution versions of MakeHuman, pre-compiled assets in the form of NPZ files are distributed as stable assets. When start up code confirms their existence , no recompile is done, producing a better start-up experience for the user. This design greatly increases boot and runtime performance for stable distributions without hampering rapid testing of repository versions in interpretative mode.
==== .thumb files ====
This extension designates thumbnail (image preview) files in MakeHuman. Underneath, they are actually images constructed in the .png file format. Thus, they can be edited by standard image editors like GIMP or displayed by most web browsers. The MakeHuman Save Tab code automatically generates a companion .thumb file each time it saves a .mhm file. The .thumb generation is currently done by capturing a rectangular in the center of the viewport window. The MakeHuman Load Tab code uses .thumb images to provide previews of saved models.
The format for .thumb is defined inimage_qt.pymodule (GUI folder). Load and Save use or generation occur inguiload.pyandguisave.pymodules, respectively (lib folder). Numerous plugin modules reference .thumb files (plugins folder) including:2_posing_expression.py,3_libraries_clothes_chooser.py,3_libraries_eye_chooser.py,3_libraries_material_chooser.py,3_libraries_polygon_hair_chooser.py,3_libraries_posing_chooser.py,3_libraries_proxy_chooser.py, 4_rendering_scene.py,7_material_editor.py,
==== .lmk files ====
This MH internal extension designates landmark files. [might be renamed .mhlmk for naming standard reasons.] There is one set of landmarks for the model body (and a second set of landmarks for the model head (data | landmarks folder). These LMK files are written in text readable format. Each line has a single integer which specifies a landmark vertex in the model geometry. Landmark vertices are used for relative (local) spatial reference during model morphing.
Landmark files are used bywarpmodifier.py(apps folder) andwarp.py(utils | tools | warptarget folder).The landmarks in these files are used as references during the complex process of reshaping the human.
==== .mhclo files ====
This MH internal extension designates MakeHuman clothes files. These files define clothing vertexes and remove vertexes from the model to allow fitting of the model without skin showing through. They are created using the MakeHuman Blender toolset, specifically the MakeClothes tool.
A special empty MakeHuman clothes meta-file named clear.mhclo is is used to restore the default UV map that comes with the system. In the lib folder, the filechooser.py module has a MhcloFileLoader.Refresh() method to clear materials when the refresh button is clicked.
In the plugins folder,3_libraries_clothes_chooser.py, 3_libraries_eye_chooser.py, and 3_libraries_polygon_hair_chooser.py all access MHCLO files, but as of this writing, there are some file handling issues related to proxy clothes that means some of this code is commented out. In the shared/export_utils folder, config.py accesses a cage.mhclo file. In the tools folder, the tool ‘MakeClothes’ accesses MHCLO files in both the makeclothes.py and material.py modules. Similarly, the tool ‘MakeTarget‘ accesses MHCLO files in several of its modules:_init_.py, convert.py, import_obj.py, mt.py, ands ettings.py. Finally, two experimental tools in the utils folder, the makeface.py and helpers.py modules access MCHO files.
The mhclo-file structure:
A MH clothing consists of two files, the mhclo file which determines the vertex locations and a standard obj file which defines the rest of the mesh: faces, uv coordinates, uv faces. MH automatically compiles these files the first time it uses them, so these are the binary mhpxy and npz files. The header in a mhclo file looks like this:
# Exported from MakeClothes (TM)
# author Unknown
# license AGPL3 (see also http://www.makehuman.org/doc/node/external_tools_license.html)
# homepage http://www.makehuman.org/
uuid 59985471-ab08-479f-a32d-2d88411714ef
basemesh hm08
name Helmet
version 110
obj_file helmet.obj
x_scale 5399 11998 1.3980
z_scale 962 5320 1.8441
y_scale 791 881 2.2028
z_depth 50
max_pole 4
verts 0
# starts a comment.
The uuid is a unique identifier for this file.
The basemesh is the version of the MH mesh. Today always hm08, but earlier versions of MC supported hm07 and alpha6.
Name of clothing.
Version of MC
The obj file contains all information about the mesh in obj format: original vertex locations, faces, UVs.
x_scale v1 v2 dist: Used for scaling of offsets (see below) in the x direction. dist is the distance between verts v1 and v2 in the character the clothes were made for.
y_scale, z_scale analogous
z_depth determines the render order in MH, I think. It was originally used in a different way by the MHX importer.
max_pole is the maximal pole number of any vertex in this mesh. Affects how large arrays must be allocated in MH.
verts 0. It was some kind of vertex number offset, but I don't quite remember how it worked.
Then comes a bunch of lines which determine the vertex locations.
Code: Select all
16563 16602 16605 -2.77529 -3.02614 6.80143 -0.56369 0.10852 -0.06174
The three first a human vertex numbers which define a triangle.
The three in the middle are barycentric coordinates, which defines a point in the triangle.
The three last is an offset from this point. However, the offset is scaled with factors determined by the x,y,z_scale lines in the header.
If the n:th line reads
Code: Select all
v1 v2 v3 w1 w2 w3 d1 d2 d3
then the location of clothing vertex n is
Code: Select all
w1*r1 + w2*r2 + w3 *r3 + (s1*d1, s2*d2, s3*d3)
where r1,r2,r3 are locations of human vertices v1,v2,v3, and s1,s2,s3 are scale factors
==== .mhmat files ====
This extension designates MakeHuman material files. Material files are text-readable files that share their syntax structure with Lightwave OBJ and MTL files.
In the app module group,human.pyapplies a default material andmh2proxy.pyhandles materials for proxies and may do some special material handling for MHX Blender export files. In the data folder, the MHCLO files for clothes, eyes, and hair each references an MHMAT files. In the plugins folder,7_material_editor.pyloads, edits, and saves MHMAT files. In the shared folder,material.pyparses MHMAT files and sets material properties. In the tools folder, there is another (independent)material.pymodule for the MakeClothes tool that writes materials to the output file while using that tool within Blender.
==== .mhmat file format Internals====
The entries inside a .mhmat file are of the form:
Comments can be included in c-style line comment format, like
or in python-style line comment format, like
The properties of a makehuman material are numerous so that they can cover the most common needs of exporters and rendering engines, and may vary among the following.
name- The internal name of the material.
Colors- Their value can be in R G B format, like: colorProperty R G B, where R, G, B are floating point numbers between 0 and 1. They control the color of various material properties and effects.
To adjust the intensity of an effect, you can simply edit its color value.
ambientColor -The ambient component of the material, which is usually added on the final color regardless of the surrounding lights.
diffuseColor -The diffuse component of the material, which reacts to each light's relative position.
specularColor -The color of the specular shine that is caused by the reflection of a light source on the material.
emissiveColor- The color of the light that the material seems to emit as if it's a glowing light source.
shininess- The sharpness of the shine spots created by the reflection of a light source on the material, which is how glossy its surface is.
==== .mhuv files ====
This MH internal extension designates UV map files in MakeHuman. These text-readable files based on Lightwave OBJ syntax. They contain one or two lines of metadata and alternative UV data for the texture object to be applied to the model.
There does not currently appear to be a development tool for creating UV map files. They can be created by creating and saving an OBJ file and then renaming it. However, files created in this manner should not be considered fit for the SVN or website because they contain way too much redundant information. The OBJ files created in this manner not only contain the alternate UV set but also contain all vertices of the original mesh.
==== .mhp files ====
This MH internal extension designates pose files. These files are used to store coordinates for the run and walk poses on the pose tab. The dance1 pose appears to be implemented as a pose file, but it also includes some additional .target files. The dance1 pose is also associated wih a .bvh file whereas run and walk are not. In A8 development there have been issues with the dance1 file behaving less well than run and walk. Hopefully, these will be long gone during subsequent development.
==== .mht files ====
==== This MH internal extension designates a theme (GUI color scheme) for the GUI as rendered by the pyQt library. ====
==== .target files ====
This MH internal extension [which lacks the mh… prefix] specifies final extreme positions that can be achieved when moving the interface sliders in one direction or the other. By definition sliders have a value of zero on the left end and 1.0 on the right end, but there is a software flag to reverse this behavior as desired. With scripting it may be possible to exceed slider extremes, but this is currently undocumented and should not be built into production code. There is one TARGET file for each extreme of each movement. These files are hand-built by MakeHuman artist-developers, and they are the engine of the programs utility. Typically, rightward movement of a slider should increase size, and leftward movement of a slider should decrease size. When ‘left’ and ‘right’ are used as asset names, they should refer to the left and right body part on the model, regardless of the model’s orientation in the viewport. When slider movement involves asymmetrical change in the x, y, and z direction, it should be programmed so that the sliders operate naturally using the default viewport view for that slider. For example, left movement of the slider need not cause deformation toward the model’s left side. Such behavior would only be sensible if the default viewport view had the model facing the rear of the viewport (model’s back toward user).
Most MakeHuman modules use data from the TARGET files.
· In the apps group, these modules includes: devtests.py, human.py, humanmodifier.py, posemode.py, and warpmodifier.py.
· In the core group, these modules includes: algos3D.py which is the main program that works with .target files after they are compiled into
· In the apps group, these modules includes:
· In the apps group, these modules includes:
=== .proxy files ===
This MH internal extension designates proxy meshes. They are structured text files. Format and attributes include ... TODO
.qrc file
This is a resource file need used when compiling for the MakeHuman GUI which uses the pyQt library.
=== .qss file ===
This is the text-based file fomat used to store widgets associated with the GUI interface as rendered by the pyQt library
Appreciate help from current developers as what needs to go here. Undoubtedly some confusion or mistakes on my part, but some of it might help orient others. -RWB
Glad to do the grunt work, but feedback on needed improvemrnt greatly appreciated :-)
---------------------------
Also in this section could possibly also loading, saving, exporting formats (but these formats should probably be addressed in context below)
The basic work done within MakeHuman is saved as a file with an .mhm extension. The .mhm files can be loaded at the start of a new user session, and return MakeHuman to the state that it was in at the end of the previous session.
== Proxy files ==
=== Offset and bounds ===
MakeClothes uses a bounding box for scaling the offsets. It's controlled by the ''Offsets'' option in MakeClothes.
This is how this data is stored in the proxy file, so you can modify by hand if desired.
In the mhclo file at the top, these values appear as
x_scale 5399 11998 1.4340
z_scale 962 5320 2.0001
y_scale 791 881 2.4098
Allowed values are:
x_scale
y_scale
z_scale
shear_x
shear_y
shear_z
l_shear_x
l_shear_y
l_shear_z
r_shear_x
r_shear_y
r_shear_z
scale options follow the format:
x_scale v1 v2 den
with v1, v2 vertex indices on the human basemesh, den a denominator with which the scaling value is reduced
which results in the construction of a scale matrix that is applied to all the offsets of the proxy.
eg.
[xscale 0 0 0]
[0 yscale 0 0]
[0 0 zscale 0]
[0 0 0 1]
where xscale is determined from the option x_scale v1 v2 den as:
xscale = abs(coord_pos(v1).x - coord_pos(v2).x) / den
analog for yscale and zscale (.y or .z components of the position vector will be used instead)
shear options follow the format:
shear_x v1 v2 x1 x2
which result in the creation of a shear matrix instead of a scale matrix (I don't know of any instance where this is used)
uses numpy's affine_matrix_from_points method to calculate a transformation matrix that fits all selected points
didn't go into detail understanding this, because it doesn't seem too relevant. Read the code if interested.
scale overrides shear which overrides l_shear which overrides r_shear, only one of them is used (so you either specify scale, shear, l_shear or r_shear but no combination of them)
If you specify one, it is expected you define the other 2 of the same type as well.
=== max_pole ===
Proxy files can specify the pole count, which is the maximum number of edges that a vertex in the proxy mesh (the OBJ file) can have. If all faces around this vertex share their edges, this number also coincides with the maximum number of faces per vertex. If not specified, MakeHuman assumes this number is 8, which is a reasonable standard (more than 8 edges per vertex is probably a sub-optimal topology).
For example, the MakeHuman basemesh, which was modeled with high consideration of pole count, has a maximum of 5 edges per vertex.
MakeHuman intentionally is conservative about pole count to benefit performance (of the subdivision algorithm for example), for the same performance reasons it will not check the pole count when loading an OBJ, and instead relies on the user, or creation tool (MakeClothes) to set this number appropriately (at the moment MakeClothes does not do this).
Similarly, you can improve performance of MakeHuman by lowering this number if your proxy mesh has lower pole count. Eg for some meshes this can be set to 6 or 7
Proxy files have a property ''max_pole'' to change this number from the default setting of 8 to something else:
max_pole 9
== Meshes ==
MakeHuman stores its meshes in the standard Wavefront OBJ format. It supports quad-only meshes, and by default allows up to 8 edges per vertex. This number can be increased (see proxy format).
== Material files ==
Here's a list of naming convention for the content of the mhmat-file
(floats are between 0.0 and 1.0):
"name": string
"tag": string
"description": string
"ambientColor": 3 x float
"diffuseColor": 3 x float
"specularColor": 3 x float
"shininess": 1 x float
"emissiveColor": 3 x float
"opacity": 1 x float
"translucency": 1 x float
"shadeless": bool
"wireframe": bool
"transparent": bool
"alphaToCoverage": bool
"backfaceCull": bool
"depthless": bool
"castShadows": bool
"receiveShadows": bool
"autoBlendSkin": bool
"diffuseTexture": filename
"bumpmapTexture": filename
"bumpmapIntensity": 1 x float
"normalmapTexture": filename
"normalmapIntensity": 1 x float
"displacementmapTexture": filename
"displacementmapIntensity": 1 x float
"specularmapTexture": filename
"specularmapIntensity": 1 x float
"transparencymapTexture": filename
"transparencymapIntensity": 1 x float
"aomapTexture": filename
"aomapIntensity": 1 x float
"sssEnabled": bool
"sssRScale": 1 x float
"sssGScale": 1 x float
"sssBScale": 1 x float
"shader": filename
"uvMap": filename
"shaderParam":
['diffuse', 'ambient', 'specular', 'emissive', 'diffuseTexture', 'bumpmapTexture', 'bumpmapIntensity', 'normalmapTexture', 'normalmapIntensity', 'displacementmapTexture', 'displacementmapTexture', 'specularmapTexture', 'specularmapIntensity', 'transparencymapTexture', 'transparencymapIntensity', 'aomapTexture', 'aomapIntensity']
"shaderDefine":
['BUMPMAP', 'NORMALMAP', 'DISPLACEMENT', 'SPECULARMAP', 'TRANSPARENCYMAP']
"shaderConfig" "diffuse": bool
"shaderConfig" "bump": bool
"shaderConfig" "normal": bool
"shaderConfig" "displacement": bool
"shaderConfig" "spec": bool
"shaderConfig" "vertexColors": bool
"shaderConfig" "transparency": bool
"shaderConfig" "ambientOcclusion": bool
== Poseunit files ==
TODO
== Target files ==
TODO
== Modifier and slider definitions ==
TODO
f414ae3c073f01ee5d6d280367b308949ecb8b89
1366
1365
2017-03-17T16:19:58Z
Grinsegold
39
/* Material files */
wikitext
text/x-wiki
This section briefly reviews the file accessed or manipulated within MakeHuman. An attempt will be made to explain the function of each file format and where in MakeHuman’s modules it is used. Or external formats links will be provided to more detailed descriptions. Where it can help the developer better understand the overall organization of MakeHuman source code, some information on the module group or modules interaction with the various formats will be provided. This section Is intended to be used with the previous section on directories (folders) to develop an overview of MakeHuman code structure. This structural understanding is essential during the debugging process and is essential to expanding the programs functionality in structurally sound ways.
==== .obj files ====
This extension designates Lightwave object files. These OBJ files store mesh information and metadata needed for rendering in text-readable format. It was originally developed for the Lightwave 3D graphics program, but this file format is now broadly supported by many, if not most, 3D programs. Internally, MakeHuman uses OBJ files (or formats directly based on OBJ files) for the canonical storage of its assets. Many of MakeHuman’s development utilities store newly generated assets in formats related to the Lightwave OBJ specification. Examples of assets canonically stored in Lightwave OBJ format include the base human, and auxiliary geometry assets like eyes, hair, and clothes.
Each OBJ file has a record specifying the object’s name and records specifying one or more mesh objects. Mesh objects, in turn, are composed of record groups specifying: points or vertices (v), vertex normal (vn), faces (f), and vertex textures (vt). In MakeHuman and most general purpose 3D programs (e.g., Blender) OBJ files are exported with an accompanying Wavefront material file having the .mtl extension. These MTL files provide the detailed material attributes necessary to get photorealistic rendering of Wavefront objects. A more complete specification of Wavefront object format can be found at:!LINK!http://www.martinreddy.net/gfx/3d/OBJ.spec -- http://www.martinreddy.net/gfx/3d/OBJ.spec!/LINK!
OBJ files and MTL files have a direct internal analog in MakeHuman in the form of the object class, Object3D. This class, along with its properties and methods, is defined in the object3D.py module(libs folder). Object3D objects are central to the internal workings of MakeHuman. The resemblance of Object3D objects to OBJ files is not coincidental. Many of the core mesh assets in MakeHuman are developed in the open-source project, Blender, and moved to MakeHuman internals using OBJ format. In fact, MakeHuman maintains a separate product [MHTools] designed to support development of new core internal assets
==== .mhpxy files ====
This extension designates compressed binary proxies and clothes.
==== .mtl files ====
This extension designates a Wavefront material file. Wavefront MTL files are referenced from within Wavefront OBJ files to specify the materials used in rendering. More complete information on Wavefront material files is available here:!LINK!http://paulbourke.net/dataformats/mtl/ -- http://paulbourke.net/dataformats/mtl/!/LINK!
MakeHuman’s use of MTL file has been limited, but with the increased support for POV rendering, more modules may access and utilize MTL files. Currently, MTL-related data and files is developmental. Thedata foldercontains a cube.obj (3dobj) and a plane.obj (mitsuba folder) ostensibly associated with materials.
==== .npz files ====
This extension designates compressed binary asset files in MakeHuman [think npz = numPy zip files]. Among the most important assets stored with this extension is target vertex information. These target data determine the motion of each MakeHuman vertices (relative to landmark vertices?) as sliders are moved.
Thefiles3D.pymodule (core folder) tests for verifies existence of OS dependent locations of binary mesh files. The primary purpose of thefiles3D.pymodule is to transpose imported 3D data into a standard internal format for each of the 3D file formats supported by the MakeHuman import. Each importer function is written to return the 3d data in a standard format as a Python list:
[verts, vertsSharedFaces, vertsUV, faceGroups, faceGroupsNames]
The targets.pymodule (lib folder) is where system assets stored with the NPZ extension are identified, decompressed, and turned into memory resident structured objects for use by MakeHuman. This Code related to NPZ files can also be found in algos3d.py module (core folder). This module has been part of MakeHuman for a long time, and is used for morphing related operations. It works with loaded binary translation vectors and applies those translations to morphing targets. It may have some legacy capability to work directly with text-based .target files.
The compile_models.py module (lib folder) takes all object mesh files (.obj) and compiles them into binary compressed files (NPZ). Similarly, the compile_targets.py module (lib folder) compiles target files (.target) into binary compressed (NPZ) files. The latter module is referenced by Benjamin Lau in MakeHuman.spec file, likely for build purposes.
Important concept. The root folder of MakeHuman contains a batch file called cleanpz.bat (for Windows) and a corresponding shell script file called cleanpz.sh (for Linux) whose function is to delete NPZ files between repository (Bitbucket or GIT) builds. This “garbage collection” assures that each build is not working with out-of-date assets. It also reminds the developer that most of the canonical assets are initially constructed in text readable format. Developers write appropriate constructors to recompile NPZ files during the MakeHuman startup sequence when missing. For distribution versions of MakeHuman, pre-compiled assets in the form of NPZ files are distributed as stable assets. When start up code confirms their existence , no recompile is done, producing a better start-up experience for the user. This design greatly increases boot and runtime performance for stable distributions without hampering rapid testing of repository versions in interpretative mode.
==== .thumb files ====
This extension designates thumbnail (image preview) files in MakeHuman. Underneath, they are actually images constructed in the .png file format. Thus, they can be edited by standard image editors like GIMP or displayed by most web browsers. The MakeHuman Save Tab code automatically generates a companion .thumb file each time it saves a .mhm file. The .thumb generation is currently done by capturing a rectangular in the center of the viewport window. The MakeHuman Load Tab code uses .thumb images to provide previews of saved models.
The format for .thumb is defined inimage_qt.pymodule (GUI folder). Load and Save use or generation occur inguiload.pyandguisave.pymodules, respectively (lib folder). Numerous plugin modules reference .thumb files (plugins folder) including:2_posing_expression.py,3_libraries_clothes_chooser.py,3_libraries_eye_chooser.py,3_libraries_material_chooser.py,3_libraries_polygon_hair_chooser.py,3_libraries_posing_chooser.py,3_libraries_proxy_chooser.py, 4_rendering_scene.py,7_material_editor.py,
==== .lmk files ====
This MH internal extension designates landmark files. [might be renamed .mhlmk for naming standard reasons.] There is one set of landmarks for the model body (and a second set of landmarks for the model head (data | landmarks folder). These LMK files are written in text readable format. Each line has a single integer which specifies a landmark vertex in the model geometry. Landmark vertices are used for relative (local) spatial reference during model morphing.
Landmark files are used bywarpmodifier.py(apps folder) andwarp.py(utils | tools | warptarget folder).The landmarks in these files are used as references during the complex process of reshaping the human.
==== .mhclo files ====
This MH internal extension designates MakeHuman clothes files. These files define clothing vertexes and remove vertexes from the model to allow fitting of the model without skin showing through. They are created using the MakeHuman Blender toolset, specifically the MakeClothes tool.
A special empty MakeHuman clothes meta-file named clear.mhclo is is used to restore the default UV map that comes with the system. In the lib folder, the filechooser.py module has a MhcloFileLoader.Refresh() method to clear materials when the refresh button is clicked.
In the plugins folder,3_libraries_clothes_chooser.py, 3_libraries_eye_chooser.py, and 3_libraries_polygon_hair_chooser.py all access MHCLO files, but as of this writing, there are some file handling issues related to proxy clothes that means some of this code is commented out. In the shared/export_utils folder, config.py accesses a cage.mhclo file. In the tools folder, the tool ‘MakeClothes’ accesses MHCLO files in both the makeclothes.py and material.py modules. Similarly, the tool ‘MakeTarget‘ accesses MHCLO files in several of its modules:_init_.py, convert.py, import_obj.py, mt.py, ands ettings.py. Finally, two experimental tools in the utils folder, the makeface.py and helpers.py modules access MCHO files.
==== .mhmat files ====
This extension designates MakeHuman material files. Material files are text-readable files that share their syntax structure with Lightwave OBJ and MTL files.
In the app module group,human.pyapplies a default material andmh2proxy.pyhandles materials for proxies and may do some special material handling for MHX Blender export files. In the data folder, the MHCLO files for clothes, eyes, and hair each references an MHMAT files. In the plugins folder,7_material_editor.pyloads, edits, and saves MHMAT files. In the shared folder,material.pyparses MHMAT files and sets material properties. In the tools folder, there is another (independent)material.pymodule for the MakeClothes tool that writes materials to the output file while using that tool within Blender.
==== .mhmat file format Internals====
The entries inside a .mhmat file are of the form:
Comments can be included in c-style line comment format, like
or in python-style line comment format, like
The properties of a makehuman material are numerous so that they can cover the most common needs of exporters and rendering engines, and may vary among the following.
name- The internal name of the material.
Colors- Their value can be in R G B format, like: colorProperty R G B, where R, G, B are floating point numbers between 0 and 1. They control the color of various material properties and effects.
To adjust the intensity of an effect, you can simply edit its color value.
ambientColor -The ambient component of the material, which is usually added on the final color regardless of the surrounding lights.
diffuseColor -The diffuse component of the material, which reacts to each light's relative position.
specularColor -The color of the specular shine that is caused by the reflection of a light source on the material.
emissiveColor- The color of the light that the material seems to emit as if it's a glowing light source.
shininess- The sharpness of the shine spots created by the reflection of a light source on the material, which is how glossy its surface is.
==== .mhuv files ====
This MH internal extension designates UV map files in MakeHuman. These text-readable files based on Lightwave OBJ syntax. They contain one or two lines of metadata and alternative UV data for the texture object to be applied to the model.
There does not currently appear to be a development tool for creating UV map files. They can be created by creating and saving an OBJ file and then renaming it. However, files created in this manner should not be considered fit for the SVN or website because they contain way too much redundant information. The OBJ files created in this manner not only contain the alternate UV set but also contain all vertices of the original mesh.
==== .mhp files ====
This MH internal extension designates pose files. These files are used to store coordinates for the run and walk poses on the pose tab. The dance1 pose appears to be implemented as a pose file, but it also includes some additional .target files. The dance1 pose is also associated wih a .bvh file whereas run and walk are not. In A8 development there have been issues with the dance1 file behaving less well than run and walk. Hopefully, these will be long gone during subsequent development.
==== .mht files ====
==== This MH internal extension designates a theme (GUI color scheme) for the GUI as rendered by the pyQt library. ====
==== .target files ====
This MH internal extension [which lacks the mh… prefix] specifies final extreme positions that can be achieved when moving the interface sliders in one direction or the other. By definition sliders have a value of zero on the left end and 1.0 on the right end, but there is a software flag to reverse this behavior as desired. With scripting it may be possible to exceed slider extremes, but this is currently undocumented and should not be built into production code. There is one TARGET file for each extreme of each movement. These files are hand-built by MakeHuman artist-developers, and they are the engine of the programs utility. Typically, rightward movement of a slider should increase size, and leftward movement of a slider should decrease size. When ‘left’ and ‘right’ are used as asset names, they should refer to the left and right body part on the model, regardless of the model’s orientation in the viewport. When slider movement involves asymmetrical change in the x, y, and z direction, it should be programmed so that the sliders operate naturally using the default viewport view for that slider. For example, left movement of the slider need not cause deformation toward the model’s left side. Such behavior would only be sensible if the default viewport view had the model facing the rear of the viewport (model’s back toward user).
Most MakeHuman modules use data from the TARGET files.
· In the apps group, these modules includes: devtests.py, human.py, humanmodifier.py, posemode.py, and warpmodifier.py.
· In the core group, these modules includes: algos3D.py which is the main program that works with .target files after they are compiled into
· In the apps group, these modules includes:
· In the apps group, these modules includes:
=== .proxy files ===
This MH internal extension designates proxy meshes. They are structured text files. Format and attributes include ... TODO
.qrc file
This is a resource file need used when compiling for the MakeHuman GUI which uses the pyQt library.
=== .qss file ===
This is the text-based file fomat used to store widgets associated with the GUI interface as rendered by the pyQt library
Appreciate help from current developers as what needs to go here. Undoubtedly some confusion or mistakes on my part, but some of it might help orient others. -RWB
Glad to do the grunt work, but feedback on needed improvemrnt greatly appreciated :-)
---------------------------
Also in this section could possibly also loading, saving, exporting formats (but these formats should probably be addressed in context below)
The basic work done within MakeHuman is saved as a file with an .mhm extension. The .mhm files can be loaded at the start of a new user session, and return MakeHuman to the state that it was in at the end of the previous session.
== Proxy files ==
=== Offset and bounds ===
MakeClothes uses a bounding box for scaling the offsets. It's controlled by the ''Offsets'' option in MakeClothes.
This is how this data is stored in the proxy file, so you can modify by hand if desired.
In the mhclo file at the top, these values appear as
x_scale 5399 11998 1.4340
z_scale 962 5320 2.0001
y_scale 791 881 2.4098
Allowed values are:
x_scale
y_scale
z_scale
shear_x
shear_y
shear_z
l_shear_x
l_shear_y
l_shear_z
r_shear_x
r_shear_y
r_shear_z
scale options follow the format:
x_scale v1 v2 den
with v1, v2 vertex indices on the human basemesh, den a denominator with which the scaling value is reduced
which results in the construction of a scale matrix that is applied to all the offsets of the proxy.
eg.
[xscale 0 0 0]
[0 yscale 0 0]
[0 0 zscale 0]
[0 0 0 1]
where xscale is determined from the option x_scale v1 v2 den as:
xscale = abs(coord_pos(v1).x - coord_pos(v2).x) / den
analog for yscale and zscale (.y or .z components of the position vector will be used instead)
shear options follow the format:
shear_x v1 v2 x1 x2
which result in the creation of a shear matrix instead of a scale matrix (I don't know of any instance where this is used)
uses numpy's affine_matrix_from_points method to calculate a transformation matrix that fits all selected points
didn't go into detail understanding this, because it doesn't seem too relevant. Read the code if interested.
scale overrides shear which overrides l_shear which overrides r_shear, only one of them is used (so you either specify scale, shear, l_shear or r_shear but no combination of them)
If you specify one, it is expected you define the other 2 of the same type as well.
=== max_pole ===
Proxy files can specify the pole count, which is the maximum number of edges that a vertex in the proxy mesh (the OBJ file) can have. If all faces around this vertex share their edges, this number also coincides with the maximum number of faces per vertex. If not specified, MakeHuman assumes this number is 8, which is a reasonable standard (more than 8 edges per vertex is probably a sub-optimal topology).
For example, the MakeHuman basemesh, which was modeled with high consideration of pole count, has a maximum of 5 edges per vertex.
MakeHuman intentionally is conservative about pole count to benefit performance (of the subdivision algorithm for example), for the same performance reasons it will not check the pole count when loading an OBJ, and instead relies on the user, or creation tool (MakeClothes) to set this number appropriately (at the moment MakeClothes does not do this).
Similarly, you can improve performance of MakeHuman by lowering this number if your proxy mesh has lower pole count. Eg for some meshes this can be set to 6 or 7
Proxy files have a property ''max_pole'' to change this number from the default setting of 8 to something else:
max_pole 9
== Meshes ==
MakeHuman stores its meshes in the standard Wavefront OBJ format. It supports quad-only meshes, and by default allows up to 8 edges per vertex. This number can be increased (see proxy format).
== Material files ==
Here's a list of naming convention for the content of the mhmat-file
(floats are between 0.0 and 1.0):
"name": string
"tag": string
"description": string
"ambientColor": 3 x float
"diffuseColor": 3 x float
"specularColor": 3 x float
"shininess": 1 x float
"emissiveColor": 3 x float
"opacity": 1 x float
"translucency": 1 x float
"shadeless": bool
"wireframe": bool
"transparent": bool
"alphaToCoverage": bool
"backfaceCull": bool
"depthless": bool
"castShadows": bool
"receiveShadows": bool
"autoBlendSkin": bool
"diffuseTexture": filename
"bumpmapTexture": filename
"bumpmapIntensity": 1 x float
"normalmapTexture": filename
"normalmapIntensity": 1 x float
"displacementmapTexture": filename
"displacementmapIntensity": 1 x float
"specularmapTexture": filename
"specularmapIntensity": 1 x float
"transparencymapTexture": filename
"transparencymapIntensity": 1 x float
"aomapTexture": filename
"aomapIntensity": 1 x float
"sssEnabled": bool
"sssRScale": 1 x float
"sssGScale": 1 x float
"sssBScale": 1 x float
"shader": filename
"uvMap": filename
"shaderParam":
['diffuse', 'ambient', 'specular', 'emissive', 'diffuseTexture', 'bumpmapTexture', 'bumpmapIntensity', 'normalmapTexture', 'normalmapIntensity', 'displacementmapTexture', 'displacementmapTexture', 'specularmapTexture', 'specularmapIntensity', 'transparencymapTexture', 'transparencymapIntensity', 'aomapTexture', 'aomapIntensity']
"shaderDefine":
['BUMPMAP', 'NORMALMAP', 'DISPLACEMENT', 'SPECULARMAP', 'TRANSPARENCYMAP']
"shaderConfig" "diffuse": bool
"shaderConfig" "bump": bool
"shaderConfig" "normal": bool
"shaderConfig" "displacement": bool
"shaderConfig" "spec": bool
"shaderConfig" "vertexColors": bool
"shaderConfig" "transparency": bool
"shaderConfig" "ambientOcclusion": bool
== Poseunit files ==
TODO
== Target files ==
TODO
== Modifier and slider definitions ==
TODO
2375459310d69d714f93da2dac6ee90201644a33
1365
1364
2017-03-17T16:08:26Z
Grinsegold
39
/* Material files */
wikitext
text/x-wiki
This section briefly reviews the file accessed or manipulated within MakeHuman. An attempt will be made to explain the function of each file format and where in MakeHuman’s modules it is used. Or external formats links will be provided to more detailed descriptions. Where it can help the developer better understand the overall organization of MakeHuman source code, some information on the module group or modules interaction with the various formats will be provided. This section Is intended to be used with the previous section on directories (folders) to develop an overview of MakeHuman code structure. This structural understanding is essential during the debugging process and is essential to expanding the programs functionality in structurally sound ways.
==== .obj files ====
This extension designates Lightwave object files. These OBJ files store mesh information and metadata needed for rendering in text-readable format. It was originally developed for the Lightwave 3D graphics program, but this file format is now broadly supported by many, if not most, 3D programs. Internally, MakeHuman uses OBJ files (or formats directly based on OBJ files) for the canonical storage of its assets. Many of MakeHuman’s development utilities store newly generated assets in formats related to the Lightwave OBJ specification. Examples of assets canonically stored in Lightwave OBJ format include the base human, and auxiliary geometry assets like eyes, hair, and clothes.
Each OBJ file has a record specifying the object’s name and records specifying one or more mesh objects. Mesh objects, in turn, are composed of record groups specifying: points or vertices (v), vertex normal (vn), faces (f), and vertex textures (vt). In MakeHuman and most general purpose 3D programs (e.g., Blender) OBJ files are exported with an accompanying Wavefront material file having the .mtl extension. These MTL files provide the detailed material attributes necessary to get photorealistic rendering of Wavefront objects. A more complete specification of Wavefront object format can be found at:!LINK!http://www.martinreddy.net/gfx/3d/OBJ.spec -- http://www.martinreddy.net/gfx/3d/OBJ.spec!/LINK!
OBJ files and MTL files have a direct internal analog in MakeHuman in the form of the object class, Object3D. This class, along with its properties and methods, is defined in the object3D.py module(libs folder). Object3D objects are central to the internal workings of MakeHuman. The resemblance of Object3D objects to OBJ files is not coincidental. Many of the core mesh assets in MakeHuman are developed in the open-source project, Blender, and moved to MakeHuman internals using OBJ format. In fact, MakeHuman maintains a separate product [MHTools] designed to support development of new core internal assets
==== .mhpxy files ====
This extension designates compressed binary proxies and clothes.
==== .mtl files ====
This extension designates a Wavefront material file. Wavefront MTL files are referenced from within Wavefront OBJ files to specify the materials used in rendering. More complete information on Wavefront material files is available here:!LINK!http://paulbourke.net/dataformats/mtl/ -- http://paulbourke.net/dataformats/mtl/!/LINK!
MakeHuman’s use of MTL file has been limited, but with the increased support for POV rendering, more modules may access and utilize MTL files. Currently, MTL-related data and files is developmental. Thedata foldercontains a cube.obj (3dobj) and a plane.obj (mitsuba folder) ostensibly associated with materials.
==== .npz files ====
This extension designates compressed binary asset files in MakeHuman [think npz = numPy zip files]. Among the most important assets stored with this extension is target vertex information. These target data determine the motion of each MakeHuman vertices (relative to landmark vertices?) as sliders are moved.
Thefiles3D.pymodule (core folder) tests for verifies existence of OS dependent locations of binary mesh files. The primary purpose of thefiles3D.pymodule is to transpose imported 3D data into a standard internal format for each of the 3D file formats supported by the MakeHuman import. Each importer function is written to return the 3d data in a standard format as a Python list:
[verts, vertsSharedFaces, vertsUV, faceGroups, faceGroupsNames]
The targets.pymodule (lib folder) is where system assets stored with the NPZ extension are identified, decompressed, and turned into memory resident structured objects for use by MakeHuman. This Code related to NPZ files can also be found in algos3d.py module (core folder). This module has been part of MakeHuman for a long time, and is used for morphing related operations. It works with loaded binary translation vectors and applies those translations to morphing targets. It may have some legacy capability to work directly with text-based .target files.
The compile_models.py module (lib folder) takes all object mesh files (.obj) and compiles them into binary compressed files (NPZ). Similarly, the compile_targets.py module (lib folder) compiles target files (.target) into binary compressed (NPZ) files. The latter module is referenced by Benjamin Lau in MakeHuman.spec file, likely for build purposes.
Important concept. The root folder of MakeHuman contains a batch file called cleanpz.bat (for Windows) and a corresponding shell script file called cleanpz.sh (for Linux) whose function is to delete NPZ files between repository (Bitbucket or GIT) builds. This “garbage collection” assures that each build is not working with out-of-date assets. It also reminds the developer that most of the canonical assets are initially constructed in text readable format. Developers write appropriate constructors to recompile NPZ files during the MakeHuman startup sequence when missing. For distribution versions of MakeHuman, pre-compiled assets in the form of NPZ files are distributed as stable assets. When start up code confirms their existence , no recompile is done, producing a better start-up experience for the user. This design greatly increases boot and runtime performance for stable distributions without hampering rapid testing of repository versions in interpretative mode.
==== .thumb files ====
This extension designates thumbnail (image preview) files in MakeHuman. Underneath, they are actually images constructed in the .png file format. Thus, they can be edited by standard image editors like GIMP or displayed by most web browsers. The MakeHuman Save Tab code automatically generates a companion .thumb file each time it saves a .mhm file. The .thumb generation is currently done by capturing a rectangular in the center of the viewport window. The MakeHuman Load Tab code uses .thumb images to provide previews of saved models.
The format for .thumb is defined inimage_qt.pymodule (GUI folder). Load and Save use or generation occur inguiload.pyandguisave.pymodules, respectively (lib folder). Numerous plugin modules reference .thumb files (plugins folder) including:2_posing_expression.py,3_libraries_clothes_chooser.py,3_libraries_eye_chooser.py,3_libraries_material_chooser.py,3_libraries_polygon_hair_chooser.py,3_libraries_posing_chooser.py,3_libraries_proxy_chooser.py, 4_rendering_scene.py,7_material_editor.py,
==== .lmk files ====
This MH internal extension designates landmark files. [might be renamed .mhlmk for naming standard reasons.] There is one set of landmarks for the model body (and a second set of landmarks for the model head (data | landmarks folder). These LMK files are written in text readable format. Each line has a single integer which specifies a landmark vertex in the model geometry. Landmark vertices are used for relative (local) spatial reference during model morphing.
Landmark files are used bywarpmodifier.py(apps folder) andwarp.py(utils | tools | warptarget folder).The landmarks in these files are used as references during the complex process of reshaping the human.
==== .mhclo files ====
This MH internal extension designates MakeHuman clothes files. These files define clothing vertexes and remove vertexes from the model to allow fitting of the model without skin showing through. They are created using the MakeHuman Blender toolset, specifically the MakeClothes tool.
A special empty MakeHuman clothes meta-file named clear.mhclo is is used to restore the default UV map that comes with the system. In the lib folder, the filechooser.py module has a MhcloFileLoader.Refresh() method to clear materials when the refresh button is clicked.
In the plugins folder,3_libraries_clothes_chooser.py, 3_libraries_eye_chooser.py, and 3_libraries_polygon_hair_chooser.py all access MHCLO files, but as of this writing, there are some file handling issues related to proxy clothes that means some of this code is commented out. In the shared/export_utils folder, config.py accesses a cage.mhclo file. In the tools folder, the tool ‘MakeClothes’ accesses MHCLO files in both the makeclothes.py and material.py modules. Similarly, the tool ‘MakeTarget‘ accesses MHCLO files in several of its modules:_init_.py, convert.py, import_obj.py, mt.py, ands ettings.py. Finally, two experimental tools in the utils folder, the makeface.py and helpers.py modules access MCHO files.
==== .mhmat files ====
This extension designates MakeHuman material files. Material files are text-readable files that share their syntax structure with Lightwave OBJ and MTL files.
In the app module group,human.pyapplies a default material andmh2proxy.pyhandles materials for proxies and may do some special material handling for MHX Blender export files. In the data folder, the MHCLO files for clothes, eyes, and hair each references an MHMAT files. In the plugins folder,7_material_editor.pyloads, edits, and saves MHMAT files. In the shared folder,material.pyparses MHMAT files and sets material properties. In the tools folder, there is another (independent)material.pymodule for the MakeClothes tool that writes materials to the output file while using that tool within Blender.
==== .mhmat file format Internals====
The entries inside a .mhmat file are of the form:
Comments can be included in c-style line comment format, like
or in python-style line comment format, like
The properties of a makehuman material are numerous so that they can cover the most common needs of exporters and rendering engines, and may vary among the following.
name- The internal name of the material.
Colors- Their value can be in R G B format, like: colorProperty R G B, where R, G, B are floating point numbers between 0 and 1. They control the color of various material properties and effects.
To adjust the intensity of an effect, you can simply edit its color value.
ambientColor -The ambient component of the material, which is usually added on the final color regardless of the surrounding lights.
diffuseColor -The diffuse component of the material, which reacts to each light's relative position.
specularColor -The color of the specular shine that is caused by the reflection of a light source on the material.
emissiveColor- The color of the light that the material seems to emit as if it's a glowing light source.
shininess- The sharpness of the shine spots created by the reflection of a light source on the material, which is how glossy its surface is.
==== .mhuv files ====
This MH internal extension designates UV map files in MakeHuman. These text-readable files based on Lightwave OBJ syntax. They contain one or two lines of metadata and alternative UV data for the texture object to be applied to the model.
There does not currently appear to be a development tool for creating UV map files. They can be created by creating and saving an OBJ file and then renaming it. However, files created in this manner should not be considered fit for the SVN or website because they contain way too much redundant information. The OBJ files created in this manner not only contain the alternate UV set but also contain all vertices of the original mesh.
==== .mhp files ====
This MH internal extension designates pose files. These files are used to store coordinates for the run and walk poses on the pose tab. The dance1 pose appears to be implemented as a pose file, but it also includes some additional .target files. The dance1 pose is also associated wih a .bvh file whereas run and walk are not. In A8 development there have been issues with the dance1 file behaving less well than run and walk. Hopefully, these will be long gone during subsequent development.
==== .mht files ====
==== This MH internal extension designates a theme (GUI color scheme) for the GUI as rendered by the pyQt library. ====
==== .target files ====
This MH internal extension [which lacks the mh… prefix] specifies final extreme positions that can be achieved when moving the interface sliders in one direction or the other. By definition sliders have a value of zero on the left end and 1.0 on the right end, but there is a software flag to reverse this behavior as desired. With scripting it may be possible to exceed slider extremes, but this is currently undocumented and should not be built into production code. There is one TARGET file for each extreme of each movement. These files are hand-built by MakeHuman artist-developers, and they are the engine of the programs utility. Typically, rightward movement of a slider should increase size, and leftward movement of a slider should decrease size. When ‘left’ and ‘right’ are used as asset names, they should refer to the left and right body part on the model, regardless of the model’s orientation in the viewport. When slider movement involves asymmetrical change in the x, y, and z direction, it should be programmed so that the sliders operate naturally using the default viewport view for that slider. For example, left movement of the slider need not cause deformation toward the model’s left side. Such behavior would only be sensible if the default viewport view had the model facing the rear of the viewport (model’s back toward user).
Most MakeHuman modules use data from the TARGET files.
· In the apps group, these modules includes: devtests.py, human.py, humanmodifier.py, posemode.py, and warpmodifier.py.
· In the core group, these modules includes: algos3D.py which is the main program that works with .target files after they are compiled into
· In the apps group, these modules includes:
· In the apps group, these modules includes:
=== .proxy files ===
This MH internal extension designates proxy meshes. They are structured text files. Format and attributes include ... TODO
.qrc file
This is a resource file need used when compiling for the MakeHuman GUI which uses the pyQt library.
=== .qss file ===
This is the text-based file fomat used to store widgets associated with the GUI interface as rendered by the pyQt library
Appreciate help from current developers as what needs to go here. Undoubtedly some confusion or mistakes on my part, but some of it might help orient others. -RWB
Glad to do the grunt work, but feedback on needed improvemrnt greatly appreciated :-)
---------------------------
Also in this section could possibly also loading, saving, exporting formats (but these formats should probably be addressed in context below)
The basic work done within MakeHuman is saved as a file with an .mhm extension. The .mhm files can be loaded at the start of a new user session, and return MakeHuman to the state that it was in at the end of the previous session.
== Proxy files ==
=== Offset and bounds ===
MakeClothes uses a bounding box for scaling the offsets. It's controlled by the ''Offsets'' option in MakeClothes.
This is how this data is stored in the proxy file, so you can modify by hand if desired.
In the mhclo file at the top, these values appear as
x_scale 5399 11998 1.4340
z_scale 962 5320 2.0001
y_scale 791 881 2.4098
Allowed values are:
x_scale
y_scale
z_scale
shear_x
shear_y
shear_z
l_shear_x
l_shear_y
l_shear_z
r_shear_x
r_shear_y
r_shear_z
scale options follow the format:
x_scale v1 v2 den
with v1, v2 vertex indices on the human basemesh, den a denominator with which the scaling value is reduced
which results in the construction of a scale matrix that is applied to all the offsets of the proxy.
eg.
[xscale 0 0 0]
[0 yscale 0 0]
[0 0 zscale 0]
[0 0 0 1]
where xscale is determined from the option x_scale v1 v2 den as:
xscale = abs(coord_pos(v1).x - coord_pos(v2).x) / den
analog for yscale and zscale (.y or .z components of the position vector will be used instead)
shear options follow the format:
shear_x v1 v2 x1 x2
which result in the creation of a shear matrix instead of a scale matrix (I don't know of any instance where this is used)
uses numpy's affine_matrix_from_points method to calculate a transformation matrix that fits all selected points
didn't go into detail understanding this, because it doesn't seem too relevant. Read the code if interested.
scale overrides shear which overrides l_shear which overrides r_shear, only one of them is used (so you either specify scale, shear, l_shear or r_shear but no combination of them)
If you specify one, it is expected you define the other 2 of the same type as well.
=== max_pole ===
Proxy files can specify the pole count, which is the maximum number of edges that a vertex in the proxy mesh (the OBJ file) can have. If all faces around this vertex share their edges, this number also coincides with the maximum number of faces per vertex. If not specified, MakeHuman assumes this number is 8, which is a reasonable standard (more than 8 edges per vertex is probably a sub-optimal topology).
For example, the MakeHuman basemesh, which was modeled with high consideration of pole count, has a maximum of 5 edges per vertex.
MakeHuman intentionally is conservative about pole count to benefit performance (of the subdivision algorithm for example), for the same performance reasons it will not check the pole count when loading an OBJ, and instead relies on the user, or creation tool (MakeClothes) to set this number appropriately (at the moment MakeClothes does not do this).
Similarly, you can improve performance of MakeHuman by lowering this number if your proxy mesh has lower pole count. Eg for some meshes this can be set to 6 or 7
Proxy files have a property ''max_pole'' to change this number from the default setting of 8 to something else:
max_pole 9
== Meshes ==
MakeHuman stores its meshes in the standard Wavefront OBJ format. It supports quad-only meshes, and by default allows up to 8 edges per vertex. This number can be increased (see proxy format).
== Material files ==
Here's a list of naming convention for the content of the mhmat-file:
"name": string
"tag": string
"description": string
"ambientColor": 3 x float
"diffuseColor": 3 x float
"specularColor": 3 x float
"shininess": 1 x float
"emissiveColor": 3 x float
"opacity": 1 x float
"translucency": 1 x float
"shadeless": bool
"wireframe": bool
"transparent": bool
"alphaToCoverage": bool
"backfaceCull": bool
"depthless": bool
"castShadows": bool
"receiveShadows": bool
"autoBlendSkin": bool
"diffuseTexture": filename
"bumpmapTexture": filename
"bumpmapIntensity": 1 x float
"normalmapTexture": filename
"normalmapIntensity": 1 x float
"displacementmapTexture": filename
"displacementmapIntensity": 1 x float
"specularmapTexture": filename
"specularmapIntensity": 1 x float
"transparencymapTexture": filename
"transparencymapIntensity": 1 x float
"aomapTexture": filename
"aomapIntensity": 1 x float
"sssEnabled": bool
"sssRScale": 1 x float
"sssGScale": 1 x float
"sssBScale": 1 x float
"shader": filename
"uvMap": filename
"shaderParam":
['diffuse', 'ambient', 'specular', 'emissive', 'diffuseTexture', 'bumpmapTexture', 'bumpmapIntensity', 'normalmapTexture', 'normalmapIntensity', 'displacementmapTexture', 'displacementmapTexture', 'specularmapTexture', 'specularmapIntensity', 'transparencymapTexture', 'transparencymapIntensity', 'aomapTexture', 'aomapIntensity']
"shaderDefine":
['BUMPMAP', 'NORMALMAP', 'DISPLACEMENT', 'SPECULARMAP', 'TRANSPARENCYMAP']
"shaderConfig" "diffuse": bool
"shaderConfig" "bump": bool
"shaderConfig" "normal": bool
"shaderConfig" "displacement": bool
"shaderConfig" "spec": bool
"shaderConfig" "vertexColors": bool
"shaderConfig" "transparency": bool
"shaderConfig" "ambientOcclusion": bool
Floats are between 0.0 and 1.0
== Poseunit files ==
TODO
== Target files ==
TODO
== Modifier and slider definitions ==
TODO
b6a625d25013a943b395316f535b79026bad3aeb
1364
1363
2017-03-17T16:07:13Z
Grinsegold
39
/* Material files */
wikitext
text/x-wiki
This section briefly reviews the file accessed or manipulated within MakeHuman. An attempt will be made to explain the function of each file format and where in MakeHuman’s modules it is used. Or external formats links will be provided to more detailed descriptions. Where it can help the developer better understand the overall organization of MakeHuman source code, some information on the module group or modules interaction with the various formats will be provided. This section Is intended to be used with the previous section on directories (folders) to develop an overview of MakeHuman code structure. This structural understanding is essential during the debugging process and is essential to expanding the programs functionality in structurally sound ways.
==== .obj files ====
This extension designates Lightwave object files. These OBJ files store mesh information and metadata needed for rendering in text-readable format. It was originally developed for the Lightwave 3D graphics program, but this file format is now broadly supported by many, if not most, 3D programs. Internally, MakeHuman uses OBJ files (or formats directly based on OBJ files) for the canonical storage of its assets. Many of MakeHuman’s development utilities store newly generated assets in formats related to the Lightwave OBJ specification. Examples of assets canonically stored in Lightwave OBJ format include the base human, and auxiliary geometry assets like eyes, hair, and clothes.
Each OBJ file has a record specifying the object’s name and records specifying one or more mesh objects. Mesh objects, in turn, are composed of record groups specifying: points or vertices (v), vertex normal (vn), faces (f), and vertex textures (vt). In MakeHuman and most general purpose 3D programs (e.g., Blender) OBJ files are exported with an accompanying Wavefront material file having the .mtl extension. These MTL files provide the detailed material attributes necessary to get photorealistic rendering of Wavefront objects. A more complete specification of Wavefront object format can be found at:!LINK!http://www.martinreddy.net/gfx/3d/OBJ.spec -- http://www.martinreddy.net/gfx/3d/OBJ.spec!/LINK!
OBJ files and MTL files have a direct internal analog in MakeHuman in the form of the object class, Object3D. This class, along with its properties and methods, is defined in the object3D.py module(libs folder). Object3D objects are central to the internal workings of MakeHuman. The resemblance of Object3D objects to OBJ files is not coincidental. Many of the core mesh assets in MakeHuman are developed in the open-source project, Blender, and moved to MakeHuman internals using OBJ format. In fact, MakeHuman maintains a separate product [MHTools] designed to support development of new core internal assets
==== .mhpxy files ====
This extension designates compressed binary proxies and clothes.
==== .mtl files ====
This extension designates a Wavefront material file. Wavefront MTL files are referenced from within Wavefront OBJ files to specify the materials used in rendering. More complete information on Wavefront material files is available here:!LINK!http://paulbourke.net/dataformats/mtl/ -- http://paulbourke.net/dataformats/mtl/!/LINK!
MakeHuman’s use of MTL file has been limited, but with the increased support for POV rendering, more modules may access and utilize MTL files. Currently, MTL-related data and files is developmental. Thedata foldercontains a cube.obj (3dobj) and a plane.obj (mitsuba folder) ostensibly associated with materials.
==== .npz files ====
This extension designates compressed binary asset files in MakeHuman [think npz = numPy zip files]. Among the most important assets stored with this extension is target vertex information. These target data determine the motion of each MakeHuman vertices (relative to landmark vertices?) as sliders are moved.
Thefiles3D.pymodule (core folder) tests for verifies existence of OS dependent locations of binary mesh files. The primary purpose of thefiles3D.pymodule is to transpose imported 3D data into a standard internal format for each of the 3D file formats supported by the MakeHuman import. Each importer function is written to return the 3d data in a standard format as a Python list:
[verts, vertsSharedFaces, vertsUV, faceGroups, faceGroupsNames]
The targets.pymodule (lib folder) is where system assets stored with the NPZ extension are identified, decompressed, and turned into memory resident structured objects for use by MakeHuman. This Code related to NPZ files can also be found in algos3d.py module (core folder). This module has been part of MakeHuman for a long time, and is used for morphing related operations. It works with loaded binary translation vectors and applies those translations to morphing targets. It may have some legacy capability to work directly with text-based .target files.
The compile_models.py module (lib folder) takes all object mesh files (.obj) and compiles them into binary compressed files (NPZ). Similarly, the compile_targets.py module (lib folder) compiles target files (.target) into binary compressed (NPZ) files. The latter module is referenced by Benjamin Lau in MakeHuman.spec file, likely for build purposes.
Important concept. The root folder of MakeHuman contains a batch file called cleanpz.bat (for Windows) and a corresponding shell script file called cleanpz.sh (for Linux) whose function is to delete NPZ files between repository (Bitbucket or GIT) builds. This “garbage collection” assures that each build is not working with out-of-date assets. It also reminds the developer that most of the canonical assets are initially constructed in text readable format. Developers write appropriate constructors to recompile NPZ files during the MakeHuman startup sequence when missing. For distribution versions of MakeHuman, pre-compiled assets in the form of NPZ files are distributed as stable assets. When start up code confirms their existence , no recompile is done, producing a better start-up experience for the user. This design greatly increases boot and runtime performance for stable distributions without hampering rapid testing of repository versions in interpretative mode.
==== .thumb files ====
This extension designates thumbnail (image preview) files in MakeHuman. Underneath, they are actually images constructed in the .png file format. Thus, they can be edited by standard image editors like GIMP or displayed by most web browsers. The MakeHuman Save Tab code automatically generates a companion .thumb file each time it saves a .mhm file. The .thumb generation is currently done by capturing a rectangular in the center of the viewport window. The MakeHuman Load Tab code uses .thumb images to provide previews of saved models.
The format for .thumb is defined inimage_qt.pymodule (GUI folder). Load and Save use or generation occur inguiload.pyandguisave.pymodules, respectively (lib folder). Numerous plugin modules reference .thumb files (plugins folder) including:2_posing_expression.py,3_libraries_clothes_chooser.py,3_libraries_eye_chooser.py,3_libraries_material_chooser.py,3_libraries_polygon_hair_chooser.py,3_libraries_posing_chooser.py,3_libraries_proxy_chooser.py, 4_rendering_scene.py,7_material_editor.py,
==== .lmk files ====
This MH internal extension designates landmark files. [might be renamed .mhlmk for naming standard reasons.] There is one set of landmarks for the model body (and a second set of landmarks for the model head (data | landmarks folder). These LMK files are written in text readable format. Each line has a single integer which specifies a landmark vertex in the model geometry. Landmark vertices are used for relative (local) spatial reference during model morphing.
Landmark files are used bywarpmodifier.py(apps folder) andwarp.py(utils | tools | warptarget folder).The landmarks in these files are used as references during the complex process of reshaping the human.
==== .mhclo files ====
This MH internal extension designates MakeHuman clothes files. These files define clothing vertexes and remove vertexes from the model to allow fitting of the model without skin showing through. They are created using the MakeHuman Blender toolset, specifically the MakeClothes tool.
A special empty MakeHuman clothes meta-file named clear.mhclo is is used to restore the default UV map that comes with the system. In the lib folder, the filechooser.py module has a MhcloFileLoader.Refresh() method to clear materials when the refresh button is clicked.
In the plugins folder,3_libraries_clothes_chooser.py, 3_libraries_eye_chooser.py, and 3_libraries_polygon_hair_chooser.py all access MHCLO files, but as of this writing, there are some file handling issues related to proxy clothes that means some of this code is commented out. In the shared/export_utils folder, config.py accesses a cage.mhclo file. In the tools folder, the tool ‘MakeClothes’ accesses MHCLO files in both the makeclothes.py and material.py modules. Similarly, the tool ‘MakeTarget‘ accesses MHCLO files in several of its modules:_init_.py, convert.py, import_obj.py, mt.py, ands ettings.py. Finally, two experimental tools in the utils folder, the makeface.py and helpers.py modules access MCHO files.
==== .mhmat files ====
This extension designates MakeHuman material files. Material files are text-readable files that share their syntax structure with Lightwave OBJ and MTL files.
In the app module group,human.pyapplies a default material andmh2proxy.pyhandles materials for proxies and may do some special material handling for MHX Blender export files. In the data folder, the MHCLO files for clothes, eyes, and hair each references an MHMAT files. In the plugins folder,7_material_editor.pyloads, edits, and saves MHMAT files. In the shared folder,material.pyparses MHMAT files and sets material properties. In the tools folder, there is another (independent)material.pymodule for the MakeClothes tool that writes materials to the output file while using that tool within Blender.
==== .mhmat file format Internals====
The entries inside a .mhmat file are of the form:
Comments can be included in c-style line comment format, like
or in python-style line comment format, like
The properties of a makehuman material are numerous so that they can cover the most common needs of exporters and rendering engines, and may vary among the following.
name- The internal name of the material.
Colors- Their value can be in R G B format, like: colorProperty R G B, where R, G, B are floating point numbers between 0 and 1. They control the color of various material properties and effects.
To adjust the intensity of an effect, you can simply edit its color value.
ambientColor -The ambient component of the material, which is usually added on the final color regardless of the surrounding lights.
diffuseColor -The diffuse component of the material, which reacts to each light's relative position.
specularColor -The color of the specular shine that is caused by the reflection of a light source on the material.
emissiveColor- The color of the light that the material seems to emit as if it's a glowing light source.
shininess- The sharpness of the shine spots created by the reflection of a light source on the material, which is how glossy its surface is.
==== .mhuv files ====
This MH internal extension designates UV map files in MakeHuman. These text-readable files based on Lightwave OBJ syntax. They contain one or two lines of metadata and alternative UV data for the texture object to be applied to the model.
There does not currently appear to be a development tool for creating UV map files. They can be created by creating and saving an OBJ file and then renaming it. However, files created in this manner should not be considered fit for the SVN or website because they contain way too much redundant information. The OBJ files created in this manner not only contain the alternate UV set but also contain all vertices of the original mesh.
==== .mhp files ====
This MH internal extension designates pose files. These files are used to store coordinates for the run and walk poses on the pose tab. The dance1 pose appears to be implemented as a pose file, but it also includes some additional .target files. The dance1 pose is also associated wih a .bvh file whereas run and walk are not. In A8 development there have been issues with the dance1 file behaving less well than run and walk. Hopefully, these will be long gone during subsequent development.
==== .mht files ====
==== This MH internal extension designates a theme (GUI color scheme) for the GUI as rendered by the pyQt library. ====
==== .target files ====
This MH internal extension [which lacks the mh… prefix] specifies final extreme positions that can be achieved when moving the interface sliders in one direction or the other. By definition sliders have a value of zero on the left end and 1.0 on the right end, but there is a software flag to reverse this behavior as desired. With scripting it may be possible to exceed slider extremes, but this is currently undocumented and should not be built into production code. There is one TARGET file for each extreme of each movement. These files are hand-built by MakeHuman artist-developers, and they are the engine of the programs utility. Typically, rightward movement of a slider should increase size, and leftward movement of a slider should decrease size. When ‘left’ and ‘right’ are used as asset names, they should refer to the left and right body part on the model, regardless of the model’s orientation in the viewport. When slider movement involves asymmetrical change in the x, y, and z direction, it should be programmed so that the sliders operate naturally using the default viewport view for that slider. For example, left movement of the slider need not cause deformation toward the model’s left side. Such behavior would only be sensible if the default viewport view had the model facing the rear of the viewport (model’s back toward user).
Most MakeHuman modules use data from the TARGET files.
· In the apps group, these modules includes: devtests.py, human.py, humanmodifier.py, posemode.py, and warpmodifier.py.
· In the core group, these modules includes: algos3D.py which is the main program that works with .target files after they are compiled into
· In the apps group, these modules includes:
· In the apps group, these modules includes:
=== .proxy files ===
This MH internal extension designates proxy meshes. They are structured text files. Format and attributes include ... TODO
.qrc file
This is a resource file need used when compiling for the MakeHuman GUI which uses the pyQt library.
=== .qss file ===
This is the text-based file fomat used to store widgets associated with the GUI interface as rendered by the pyQt library
Appreciate help from current developers as what needs to go here. Undoubtedly some confusion or mistakes on my part, but some of it might help orient others. -RWB
Glad to do the grunt work, but feedback on needed improvemrnt greatly appreciated :-)
---------------------------
Also in this section could possibly also loading, saving, exporting formats (but these formats should probably be addressed in context below)
The basic work done within MakeHuman is saved as a file with an .mhm extension. The .mhm files can be loaded at the start of a new user session, and return MakeHuman to the state that it was in at the end of the previous session.
== Proxy files ==
=== Offset and bounds ===
MakeClothes uses a bounding box for scaling the offsets. It's controlled by the ''Offsets'' option in MakeClothes.
This is how this data is stored in the proxy file, so you can modify by hand if desired.
In the mhclo file at the top, these values appear as
x_scale 5399 11998 1.4340
z_scale 962 5320 2.0001
y_scale 791 881 2.4098
Allowed values are:
x_scale
y_scale
z_scale
shear_x
shear_y
shear_z
l_shear_x
l_shear_y
l_shear_z
r_shear_x
r_shear_y
r_shear_z
scale options follow the format:
x_scale v1 v2 den
with v1, v2 vertex indices on the human basemesh, den a denominator with which the scaling value is reduced
which results in the construction of a scale matrix that is applied to all the offsets of the proxy.
eg.
[xscale 0 0 0]
[0 yscale 0 0]
[0 0 zscale 0]
[0 0 0 1]
where xscale is determined from the option x_scale v1 v2 den as:
xscale = abs(coord_pos(v1).x - coord_pos(v2).x) / den
analog for yscale and zscale (.y or .z components of the position vector will be used instead)
shear options follow the format:
shear_x v1 v2 x1 x2
which result in the creation of a shear matrix instead of a scale matrix (I don't know of any instance where this is used)
uses numpy's affine_matrix_from_points method to calculate a transformation matrix that fits all selected points
didn't go into detail understanding this, because it doesn't seem too relevant. Read the code if interested.
scale overrides shear which overrides l_shear which overrides r_shear, only one of them is used (so you either specify scale, shear, l_shear or r_shear but no combination of them)
If you specify one, it is expected you define the other 2 of the same type as well.
=== max_pole ===
Proxy files can specify the pole count, which is the maximum number of edges that a vertex in the proxy mesh (the OBJ file) can have. If all faces around this vertex share their edges, this number also coincides with the maximum number of faces per vertex. If not specified, MakeHuman assumes this number is 8, which is a reasonable standard (more than 8 edges per vertex is probably a sub-optimal topology).
For example, the MakeHuman basemesh, which was modeled with high consideration of pole count, has a maximum of 5 edges per vertex.
MakeHuman intentionally is conservative about pole count to benefit performance (of the subdivision algorithm for example), for the same performance reasons it will not check the pole count when loading an OBJ, and instead relies on the user, or creation tool (MakeClothes) to set this number appropriately (at the moment MakeClothes does not do this).
Similarly, you can improve performance of MakeHuman by lowering this number if your proxy mesh has lower pole count. Eg for some meshes this can be set to 6 or 7
Proxy files have a property ''max_pole'' to change this number from the default setting of 8 to something else:
max_pole 9
== Meshes ==
MakeHuman stores its meshes in the standard Wavefront OBJ format. It supports quad-only meshes, and by default allows up to 8 edges per vertex. This number can be increased (see proxy format).
== Material files ==
Here's a list of naming convention for the content of the mhmat-file:
"name": string
"tag": string
"description": string
"ambientColor": 3 x float
"diffuseColor": 3 x float
"specularColor": 3 x float
"shininess": 1 x float
"emissiveColor": 3 x float
"opacity": 1 x float
"translucency": 1 x float
"shadeless": bool
"wireframe": bool
"transparent": bool
"alphaToCoverage": bool
"backfaceCull": bool
"depthless": bool
"castShadows": bool
"receiveShadows": bool
"autoBlendSkin": bool
"diffuseTexture": filename
"bumpmapTexture": filename
"bumpmapIntensity": 1 x float
"normalmapTexture": filename
"normalmapIntensity": 1 x float
"displacementmapTexture": filename
"displacementmapIntensity": 1 x float
"specularmapTexture": filename
"specularmapIntensity": 1 x float
"transparencymapTexture": filename
"transparencymapIntensity": 1 x float
"aomapTexture": filename
"aomapIntensity": 1 x float
"sssEnabled": bool
"sssRScale": 1 x float
"sssGScale": 1 x float
"sssBScale": 1 x float
"shader": filename
"uvMap": filename
"shaderParam":
['diffuse', 'ambient', 'specular', 'emissive', 'diffuseTexture', 'bumpmapTexture', 'bumpmapIntensity', 'normalmapTexture', 'normalmapIntensity', 'displacementmapTexture', 'displacementmapTexture', 'specularmapTexture', 'specularmapIntensity', 'transparencymapTexture', 'transparencymapIntensity', 'aomapTexture', 'aomapIntensity']
"shaderDefine":
['BUMPMAP', 'NORMALMAP', 'DISPLACEMENT', 'SPECULARMAP', 'TRANSPARENCYMAP']
"shaderConfig" "diffuse": bool
"shaderConfig" "bump": bool
"shaderConfig" "normal": bool
"shaderConfig" "displacement": bool
"shaderConfig" "spec": bool
"shaderConfig" "vertexColors": bool
"shaderConfig" "transparency": bool
"shaderConfig" "ambientOcclusion": bool
Floats are between 0.0 and 1.0
== Poseunit files ==
TODO
== Target files ==
TODO
== Modifier and slider definitions ==
TODO
8de6155a3a54b24cc391f23a1326517aa20d9e91
1363
1362
2017-03-17T16:05:35Z
Grinsegold
39
/* Material files */
wikitext
text/x-wiki
This section briefly reviews the file accessed or manipulated within MakeHuman. An attempt will be made to explain the function of each file format and where in MakeHuman’s modules it is used. Or external formats links will be provided to more detailed descriptions. Where it can help the developer better understand the overall organization of MakeHuman source code, some information on the module group or modules interaction with the various formats will be provided. This section Is intended to be used with the previous section on directories (folders) to develop an overview of MakeHuman code structure. This structural understanding is essential during the debugging process and is essential to expanding the programs functionality in structurally sound ways.
==== .obj files ====
This extension designates Lightwave object files. These OBJ files store mesh information and metadata needed for rendering in text-readable format. It was originally developed for the Lightwave 3D graphics program, but this file format is now broadly supported by many, if not most, 3D programs. Internally, MakeHuman uses OBJ files (or formats directly based on OBJ files) for the canonical storage of its assets. Many of MakeHuman’s development utilities store newly generated assets in formats related to the Lightwave OBJ specification. Examples of assets canonically stored in Lightwave OBJ format include the base human, and auxiliary geometry assets like eyes, hair, and clothes.
Each OBJ file has a record specifying the object’s name and records specifying one or more mesh objects. Mesh objects, in turn, are composed of record groups specifying: points or vertices (v), vertex normal (vn), faces (f), and vertex textures (vt). In MakeHuman and most general purpose 3D programs (e.g., Blender) OBJ files are exported with an accompanying Wavefront material file having the .mtl extension. These MTL files provide the detailed material attributes necessary to get photorealistic rendering of Wavefront objects. A more complete specification of Wavefront object format can be found at:!LINK!http://www.martinreddy.net/gfx/3d/OBJ.spec -- http://www.martinreddy.net/gfx/3d/OBJ.spec!/LINK!
OBJ files and MTL files have a direct internal analog in MakeHuman in the form of the object class, Object3D. This class, along with its properties and methods, is defined in the object3D.py module(libs folder). Object3D objects are central to the internal workings of MakeHuman. The resemblance of Object3D objects to OBJ files is not coincidental. Many of the core mesh assets in MakeHuman are developed in the open-source project, Blender, and moved to MakeHuman internals using OBJ format. In fact, MakeHuman maintains a separate product [MHTools] designed to support development of new core internal assets
==== .mhpxy files ====
This extension designates compressed binary proxies and clothes.
==== .mtl files ====
This extension designates a Wavefront material file. Wavefront MTL files are referenced from within Wavefront OBJ files to specify the materials used in rendering. More complete information on Wavefront material files is available here:!LINK!http://paulbourke.net/dataformats/mtl/ -- http://paulbourke.net/dataformats/mtl/!/LINK!
MakeHuman’s use of MTL file has been limited, but with the increased support for POV rendering, more modules may access and utilize MTL files. Currently, MTL-related data and files is developmental. Thedata foldercontains a cube.obj (3dobj) and a plane.obj (mitsuba folder) ostensibly associated with materials.
==== .npz files ====
This extension designates compressed binary asset files in MakeHuman [think npz = numPy zip files]. Among the most important assets stored with this extension is target vertex information. These target data determine the motion of each MakeHuman vertices (relative to landmark vertices?) as sliders are moved.
Thefiles3D.pymodule (core folder) tests for verifies existence of OS dependent locations of binary mesh files. The primary purpose of thefiles3D.pymodule is to transpose imported 3D data into a standard internal format for each of the 3D file formats supported by the MakeHuman import. Each importer function is written to return the 3d data in a standard format as a Python list:
[verts, vertsSharedFaces, vertsUV, faceGroups, faceGroupsNames]
The targets.pymodule (lib folder) is where system assets stored with the NPZ extension are identified, decompressed, and turned into memory resident structured objects for use by MakeHuman. This Code related to NPZ files can also be found in algos3d.py module (core folder). This module has been part of MakeHuman for a long time, and is used for morphing related operations. It works with loaded binary translation vectors and applies those translations to morphing targets. It may have some legacy capability to work directly with text-based .target files.
The compile_models.py module (lib folder) takes all object mesh files (.obj) and compiles them into binary compressed files (NPZ). Similarly, the compile_targets.py module (lib folder) compiles target files (.target) into binary compressed (NPZ) files. The latter module is referenced by Benjamin Lau in MakeHuman.spec file, likely for build purposes.
Important concept. The root folder of MakeHuman contains a batch file called cleanpz.bat (for Windows) and a corresponding shell script file called cleanpz.sh (for Linux) whose function is to delete NPZ files between repository (Bitbucket or GIT) builds. This “garbage collection” assures that each build is not working with out-of-date assets. It also reminds the developer that most of the canonical assets are initially constructed in text readable format. Developers write appropriate constructors to recompile NPZ files during the MakeHuman startup sequence when missing. For distribution versions of MakeHuman, pre-compiled assets in the form of NPZ files are distributed as stable assets. When start up code confirms their existence , no recompile is done, producing a better start-up experience for the user. This design greatly increases boot and runtime performance for stable distributions without hampering rapid testing of repository versions in interpretative mode.
==== .thumb files ====
This extension designates thumbnail (image preview) files in MakeHuman. Underneath, they are actually images constructed in the .png file format. Thus, they can be edited by standard image editors like GIMP or displayed by most web browsers. The MakeHuman Save Tab code automatically generates a companion .thumb file each time it saves a .mhm file. The .thumb generation is currently done by capturing a rectangular in the center of the viewport window. The MakeHuman Load Tab code uses .thumb images to provide previews of saved models.
The format for .thumb is defined inimage_qt.pymodule (GUI folder). Load and Save use or generation occur inguiload.pyandguisave.pymodules, respectively (lib folder). Numerous plugin modules reference .thumb files (plugins folder) including:2_posing_expression.py,3_libraries_clothes_chooser.py,3_libraries_eye_chooser.py,3_libraries_material_chooser.py,3_libraries_polygon_hair_chooser.py,3_libraries_posing_chooser.py,3_libraries_proxy_chooser.py, 4_rendering_scene.py,7_material_editor.py,
==== .lmk files ====
This MH internal extension designates landmark files. [might be renamed .mhlmk for naming standard reasons.] There is one set of landmarks for the model body (and a second set of landmarks for the model head (data | landmarks folder). These LMK files are written in text readable format. Each line has a single integer which specifies a landmark vertex in the model geometry. Landmark vertices are used for relative (local) spatial reference during model morphing.
Landmark files are used bywarpmodifier.py(apps folder) andwarp.py(utils | tools | warptarget folder).The landmarks in these files are used as references during the complex process of reshaping the human.
==== .mhclo files ====
This MH internal extension designates MakeHuman clothes files. These files define clothing vertexes and remove vertexes from the model to allow fitting of the model without skin showing through. They are created using the MakeHuman Blender toolset, specifically the MakeClothes tool.
A special empty MakeHuman clothes meta-file named clear.mhclo is is used to restore the default UV map that comes with the system. In the lib folder, the filechooser.py module has a MhcloFileLoader.Refresh() method to clear materials when the refresh button is clicked.
In the plugins folder,3_libraries_clothes_chooser.py, 3_libraries_eye_chooser.py, and 3_libraries_polygon_hair_chooser.py all access MHCLO files, but as of this writing, there are some file handling issues related to proxy clothes that means some of this code is commented out. In the shared/export_utils folder, config.py accesses a cage.mhclo file. In the tools folder, the tool ‘MakeClothes’ accesses MHCLO files in both the makeclothes.py and material.py modules. Similarly, the tool ‘MakeTarget‘ accesses MHCLO files in several of its modules:_init_.py, convert.py, import_obj.py, mt.py, ands ettings.py. Finally, two experimental tools in the utils folder, the makeface.py and helpers.py modules access MCHO files.
==== .mhmat files ====
This extension designates MakeHuman material files. Material files are text-readable files that share their syntax structure with Lightwave OBJ and MTL files.
In the app module group,human.pyapplies a default material andmh2proxy.pyhandles materials for proxies and may do some special material handling for MHX Blender export files. In the data folder, the MHCLO files for clothes, eyes, and hair each references an MHMAT files. In the plugins folder,7_material_editor.pyloads, edits, and saves MHMAT files. In the shared folder,material.pyparses MHMAT files and sets material properties. In the tools folder, there is another (independent)material.pymodule for the MakeClothes tool that writes materials to the output file while using that tool within Blender.
==== .mhmat file format Internals====
The entries inside a .mhmat file are of the form:
Comments can be included in c-style line comment format, like
or in python-style line comment format, like
The properties of a makehuman material are numerous so that they can cover the most common needs of exporters and rendering engines, and may vary among the following.
name- The internal name of the material.
Colors- Their value can be in R G B format, like: colorProperty R G B, where R, G, B are floating point numbers between 0 and 1. They control the color of various material properties and effects.
To adjust the intensity of an effect, you can simply edit its color value.
ambientColor -The ambient component of the material, which is usually added on the final color regardless of the surrounding lights.
diffuseColor -The diffuse component of the material, which reacts to each light's relative position.
specularColor -The color of the specular shine that is caused by the reflection of a light source on the material.
emissiveColor- The color of the light that the material seems to emit as if it's a glowing light source.
shininess- The sharpness of the shine spots created by the reflection of a light source on the material, which is how glossy its surface is.
==== .mhuv files ====
This MH internal extension designates UV map files in MakeHuman. These text-readable files based on Lightwave OBJ syntax. They contain one or two lines of metadata and alternative UV data for the texture object to be applied to the model.
There does not currently appear to be a development tool for creating UV map files. They can be created by creating and saving an OBJ file and then renaming it. However, files created in this manner should not be considered fit for the SVN or website because they contain way too much redundant information. The OBJ files created in this manner not only contain the alternate UV set but also contain all vertices of the original mesh.
==== .mhp files ====
This MH internal extension designates pose files. These files are used to store coordinates for the run and walk poses on the pose tab. The dance1 pose appears to be implemented as a pose file, but it also includes some additional .target files. The dance1 pose is also associated wih a .bvh file whereas run and walk are not. In A8 development there have been issues with the dance1 file behaving less well than run and walk. Hopefully, these will be long gone during subsequent development.
==== .mht files ====
==== This MH internal extension designates a theme (GUI color scheme) for the GUI as rendered by the pyQt library. ====
==== .target files ====
This MH internal extension [which lacks the mh… prefix] specifies final extreme positions that can be achieved when moving the interface sliders in one direction or the other. By definition sliders have a value of zero on the left end and 1.0 on the right end, but there is a software flag to reverse this behavior as desired. With scripting it may be possible to exceed slider extremes, but this is currently undocumented and should not be built into production code. There is one TARGET file for each extreme of each movement. These files are hand-built by MakeHuman artist-developers, and they are the engine of the programs utility. Typically, rightward movement of a slider should increase size, and leftward movement of a slider should decrease size. When ‘left’ and ‘right’ are used as asset names, they should refer to the left and right body part on the model, regardless of the model’s orientation in the viewport. When slider movement involves asymmetrical change in the x, y, and z direction, it should be programmed so that the sliders operate naturally using the default viewport view for that slider. For example, left movement of the slider need not cause deformation toward the model’s left side. Such behavior would only be sensible if the default viewport view had the model facing the rear of the viewport (model’s back toward user).
Most MakeHuman modules use data from the TARGET files.
· In the apps group, these modules includes: devtests.py, human.py, humanmodifier.py, posemode.py, and warpmodifier.py.
· In the core group, these modules includes: algos3D.py which is the main program that works with .target files after they are compiled into
· In the apps group, these modules includes:
· In the apps group, these modules includes:
=== .proxy files ===
This MH internal extension designates proxy meshes. They are structured text files. Format and attributes include ... TODO
.qrc file
This is a resource file need used when compiling for the MakeHuman GUI which uses the pyQt library.
=== .qss file ===
This is the text-based file fomat used to store widgets associated with the GUI interface as rendered by the pyQt library
Appreciate help from current developers as what needs to go here. Undoubtedly some confusion or mistakes on my part, but some of it might help orient others. -RWB
Glad to do the grunt work, but feedback on needed improvemrnt greatly appreciated :-)
---------------------------
Also in this section could possibly also loading, saving, exporting formats (but these formats should probably be addressed in context below)
The basic work done within MakeHuman is saved as a file with an .mhm extension. The .mhm files can be loaded at the start of a new user session, and return MakeHuman to the state that it was in at the end of the previous session.
== Proxy files ==
=== Offset and bounds ===
MakeClothes uses a bounding box for scaling the offsets. It's controlled by the ''Offsets'' option in MakeClothes.
This is how this data is stored in the proxy file, so you can modify by hand if desired.
In the mhclo file at the top, these values appear as
x_scale 5399 11998 1.4340
z_scale 962 5320 2.0001
y_scale 791 881 2.4098
Allowed values are:
x_scale
y_scale
z_scale
shear_x
shear_y
shear_z
l_shear_x
l_shear_y
l_shear_z
r_shear_x
r_shear_y
r_shear_z
scale options follow the format:
x_scale v1 v2 den
with v1, v2 vertex indices on the human basemesh, den a denominator with which the scaling value is reduced
which results in the construction of a scale matrix that is applied to all the offsets of the proxy.
eg.
[xscale 0 0 0]
[0 yscale 0 0]
[0 0 zscale 0]
[0 0 0 1]
where xscale is determined from the option x_scale v1 v2 den as:
xscale = abs(coord_pos(v1).x - coord_pos(v2).x) / den
analog for yscale and zscale (.y or .z components of the position vector will be used instead)
shear options follow the format:
shear_x v1 v2 x1 x2
which result in the creation of a shear matrix instead of a scale matrix (I don't know of any instance where this is used)
uses numpy's affine_matrix_from_points method to calculate a transformation matrix that fits all selected points
didn't go into detail understanding this, because it doesn't seem too relevant. Read the code if interested.
scale overrides shear which overrides l_shear which overrides r_shear, only one of them is used (so you either specify scale, shear, l_shear or r_shear but no combination of them)
If you specify one, it is expected you define the other 2 of the same type as well.
=== max_pole ===
Proxy files can specify the pole count, which is the maximum number of edges that a vertex in the proxy mesh (the OBJ file) can have. If all faces around this vertex share their edges, this number also coincides with the maximum number of faces per vertex. If not specified, MakeHuman assumes this number is 8, which is a reasonable standard (more than 8 edges per vertex is probably a sub-optimal topology).
For example, the MakeHuman basemesh, which was modeled with high consideration of pole count, has a maximum of 5 edges per vertex.
MakeHuman intentionally is conservative about pole count to benefit performance (of the subdivision algorithm for example), for the same performance reasons it will not check the pole count when loading an OBJ, and instead relies on the user, or creation tool (MakeClothes) to set this number appropriately (at the moment MakeClothes does not do this).
Similarly, you can improve performance of MakeHuman by lowering this number if your proxy mesh has lower pole count. Eg for some meshes this can be set to 6 or 7
Proxy files have a property ''max_pole'' to change this number from the default setting of 8 to something else:
max_pole 9
== Meshes ==
MakeHuman stores its meshes in the standard Wavefront OBJ format. It supports quad-only meshes, and by default allows up to 8 edges per vertex. This number can be increased (see proxy format).
== Material files ==
Here's a list of naming convention for the content of the mhmat-file:
"name": string
"tag": string
"description": string
"ambientColor": 3 x float
"diffuseColor": 3 x float
"specularColor": 3 x float
"shininess": 1 x float
"emissiveColor": 3 x float
"opacity": 1 x float
"translucency": 1 x float
"shadeless": bool
"wireframe": bool
"transparent": bool
"alphaToCoverage": bool
"backfaceCull": bool
"depthless": bool
"castShadows": bool
"receiveShadows": bool
"autoBlendSkin": bool
"diffuseTexture": filename
"bumpmapTexture": filename
"bumpmapIntensity": 1 x float
"normalmapTexture": filename
"normalmapIntensity": 1 x float
"displacementmapTexture": filename
"displacementmapIntensity": 1 x float
"specularmapTexture": filename
"specularmapIntensity": 1 x float
"transparencymapTexture": filename
"transparencymapIntensity": 1 x float
"aomapTexture": filename
"aomapIntensity": 1 x float
"sssEnabled": bool
"sssRScale": 1 x float
"sssGScale": 1 x float
"sssBScale": 1 x float
"shader": filename
"uvMap": filename
"shaderParam": ['diffuse', 'ambient', 'specular', 'emissive', 'diffuseTexture', 'bumpmapTexture', 'bumpmapIntensity', 'normalmapTexture', 'normalmapIntensity', 'displacementmapTexture', 'displacementmapTexture', 'specularmapTexture', 'specularmapIntensity', 'transparencymapTexture', 'transparencymapIntensity', 'aomapTexture', 'aomapIntensity']
"shaderDefine": ['BUMPMAP', 'NORMALMAP', 'DISPLACEMENT', 'SPECULARMAP', 'TRANSPARENCYMAP']
"shaderConfig" "diffuse": bool
"shaderConfig" "bump": bool
"shaderConfig" "normal": bool
"shaderConfig" "displacement": bool
"shaderConfig" "spec": bool
"shaderConfig" "vertexColors": bool
"shaderConfig" "transparency": bool
"shaderConfig" "ambientOcclusion": bool
Floats are between 0.0 and 1.0
== Poseunit files ==
TODO
== Target files ==
TODO
== Modifier and slider definitions ==
TODO
01dd91ec2f8e86a0d40d62d2a419575f0586837a
1362
1361
2017-03-17T16:04:55Z
Grinsegold
39
/* Material files */
wikitext
text/x-wiki
This section briefly reviews the file accessed or manipulated within MakeHuman. An attempt will be made to explain the function of each file format and where in MakeHuman’s modules it is used. Or external formats links will be provided to more detailed descriptions. Where it can help the developer better understand the overall organization of MakeHuman source code, some information on the module group or modules interaction with the various formats will be provided. This section Is intended to be used with the previous section on directories (folders) to develop an overview of MakeHuman code structure. This structural understanding is essential during the debugging process and is essential to expanding the programs functionality in structurally sound ways.
==== .obj files ====
This extension designates Lightwave object files. These OBJ files store mesh information and metadata needed for rendering in text-readable format. It was originally developed for the Lightwave 3D graphics program, but this file format is now broadly supported by many, if not most, 3D programs. Internally, MakeHuman uses OBJ files (or formats directly based on OBJ files) for the canonical storage of its assets. Many of MakeHuman’s development utilities store newly generated assets in formats related to the Lightwave OBJ specification. Examples of assets canonically stored in Lightwave OBJ format include the base human, and auxiliary geometry assets like eyes, hair, and clothes.
Each OBJ file has a record specifying the object’s name and records specifying one or more mesh objects. Mesh objects, in turn, are composed of record groups specifying: points or vertices (v), vertex normal (vn), faces (f), and vertex textures (vt). In MakeHuman and most general purpose 3D programs (e.g., Blender) OBJ files are exported with an accompanying Wavefront material file having the .mtl extension. These MTL files provide the detailed material attributes necessary to get photorealistic rendering of Wavefront objects. A more complete specification of Wavefront object format can be found at:!LINK!http://www.martinreddy.net/gfx/3d/OBJ.spec -- http://www.martinreddy.net/gfx/3d/OBJ.spec!/LINK!
OBJ files and MTL files have a direct internal analog in MakeHuman in the form of the object class, Object3D. This class, along with its properties and methods, is defined in the object3D.py module(libs folder). Object3D objects are central to the internal workings of MakeHuman. The resemblance of Object3D objects to OBJ files is not coincidental. Many of the core mesh assets in MakeHuman are developed in the open-source project, Blender, and moved to MakeHuman internals using OBJ format. In fact, MakeHuman maintains a separate product [MHTools] designed to support development of new core internal assets
==== .mhpxy files ====
This extension designates compressed binary proxies and clothes.
==== .mtl files ====
This extension designates a Wavefront material file. Wavefront MTL files are referenced from within Wavefront OBJ files to specify the materials used in rendering. More complete information on Wavefront material files is available here:!LINK!http://paulbourke.net/dataformats/mtl/ -- http://paulbourke.net/dataformats/mtl/!/LINK!
MakeHuman’s use of MTL file has been limited, but with the increased support for POV rendering, more modules may access and utilize MTL files. Currently, MTL-related data and files is developmental. Thedata foldercontains a cube.obj (3dobj) and a plane.obj (mitsuba folder) ostensibly associated with materials.
==== .npz files ====
This extension designates compressed binary asset files in MakeHuman [think npz = numPy zip files]. Among the most important assets stored with this extension is target vertex information. These target data determine the motion of each MakeHuman vertices (relative to landmark vertices?) as sliders are moved.
Thefiles3D.pymodule (core folder) tests for verifies existence of OS dependent locations of binary mesh files. The primary purpose of thefiles3D.pymodule is to transpose imported 3D data into a standard internal format for each of the 3D file formats supported by the MakeHuman import. Each importer function is written to return the 3d data in a standard format as a Python list:
[verts, vertsSharedFaces, vertsUV, faceGroups, faceGroupsNames]
The targets.pymodule (lib folder) is where system assets stored with the NPZ extension are identified, decompressed, and turned into memory resident structured objects for use by MakeHuman. This Code related to NPZ files can also be found in algos3d.py module (core folder). This module has been part of MakeHuman for a long time, and is used for morphing related operations. It works with loaded binary translation vectors and applies those translations to morphing targets. It may have some legacy capability to work directly with text-based .target files.
The compile_models.py module (lib folder) takes all object mesh files (.obj) and compiles them into binary compressed files (NPZ). Similarly, the compile_targets.py module (lib folder) compiles target files (.target) into binary compressed (NPZ) files. The latter module is referenced by Benjamin Lau in MakeHuman.spec file, likely for build purposes.
Important concept. The root folder of MakeHuman contains a batch file called cleanpz.bat (for Windows) and a corresponding shell script file called cleanpz.sh (for Linux) whose function is to delete NPZ files between repository (Bitbucket or GIT) builds. This “garbage collection” assures that each build is not working with out-of-date assets. It also reminds the developer that most of the canonical assets are initially constructed in text readable format. Developers write appropriate constructors to recompile NPZ files during the MakeHuman startup sequence when missing. For distribution versions of MakeHuman, pre-compiled assets in the form of NPZ files are distributed as stable assets. When start up code confirms their existence , no recompile is done, producing a better start-up experience for the user. This design greatly increases boot and runtime performance for stable distributions without hampering rapid testing of repository versions in interpretative mode.
==== .thumb files ====
This extension designates thumbnail (image preview) files in MakeHuman. Underneath, they are actually images constructed in the .png file format. Thus, they can be edited by standard image editors like GIMP or displayed by most web browsers. The MakeHuman Save Tab code automatically generates a companion .thumb file each time it saves a .mhm file. The .thumb generation is currently done by capturing a rectangular in the center of the viewport window. The MakeHuman Load Tab code uses .thumb images to provide previews of saved models.
The format for .thumb is defined inimage_qt.pymodule (GUI folder). Load and Save use or generation occur inguiload.pyandguisave.pymodules, respectively (lib folder). Numerous plugin modules reference .thumb files (plugins folder) including:2_posing_expression.py,3_libraries_clothes_chooser.py,3_libraries_eye_chooser.py,3_libraries_material_chooser.py,3_libraries_polygon_hair_chooser.py,3_libraries_posing_chooser.py,3_libraries_proxy_chooser.py, 4_rendering_scene.py,7_material_editor.py,
==== .lmk files ====
This MH internal extension designates landmark files. [might be renamed .mhlmk for naming standard reasons.] There is one set of landmarks for the model body (and a second set of landmarks for the model head (data | landmarks folder). These LMK files are written in text readable format. Each line has a single integer which specifies a landmark vertex in the model geometry. Landmark vertices are used for relative (local) spatial reference during model morphing.
Landmark files are used bywarpmodifier.py(apps folder) andwarp.py(utils | tools | warptarget folder).The landmarks in these files are used as references during the complex process of reshaping the human.
==== .mhclo files ====
This MH internal extension designates MakeHuman clothes files. These files define clothing vertexes and remove vertexes from the model to allow fitting of the model without skin showing through. They are created using the MakeHuman Blender toolset, specifically the MakeClothes tool.
A special empty MakeHuman clothes meta-file named clear.mhclo is is used to restore the default UV map that comes with the system. In the lib folder, the filechooser.py module has a MhcloFileLoader.Refresh() method to clear materials when the refresh button is clicked.
In the plugins folder,3_libraries_clothes_chooser.py, 3_libraries_eye_chooser.py, and 3_libraries_polygon_hair_chooser.py all access MHCLO files, but as of this writing, there are some file handling issues related to proxy clothes that means some of this code is commented out. In the shared/export_utils folder, config.py accesses a cage.mhclo file. In the tools folder, the tool ‘MakeClothes’ accesses MHCLO files in both the makeclothes.py and material.py modules. Similarly, the tool ‘MakeTarget‘ accesses MHCLO files in several of its modules:_init_.py, convert.py, import_obj.py, mt.py, ands ettings.py. Finally, two experimental tools in the utils folder, the makeface.py and helpers.py modules access MCHO files.
==== .mhmat files ====
This extension designates MakeHuman material files. Material files are text-readable files that share their syntax structure with Lightwave OBJ and MTL files.
In the app module group,human.pyapplies a default material andmh2proxy.pyhandles materials for proxies and may do some special material handling for MHX Blender export files. In the data folder, the MHCLO files for clothes, eyes, and hair each references an MHMAT files. In the plugins folder,7_material_editor.pyloads, edits, and saves MHMAT files. In the shared folder,material.pyparses MHMAT files and sets material properties. In the tools folder, there is another (independent)material.pymodule for the MakeClothes tool that writes materials to the output file while using that tool within Blender.
==== .mhmat file format Internals====
The entries inside a .mhmat file are of the form:
Comments can be included in c-style line comment format, like
or in python-style line comment format, like
The properties of a makehuman material are numerous so that they can cover the most common needs of exporters and rendering engines, and may vary among the following.
name- The internal name of the material.
Colors- Their value can be in R G B format, like: colorProperty R G B, where R, G, B are floating point numbers between 0 and 1. They control the color of various material properties and effects.
To adjust the intensity of an effect, you can simply edit its color value.
ambientColor -The ambient component of the material, which is usually added on the final color regardless of the surrounding lights.
diffuseColor -The diffuse component of the material, which reacts to each light's relative position.
specularColor -The color of the specular shine that is caused by the reflection of a light source on the material.
emissiveColor- The color of the light that the material seems to emit as if it's a glowing light source.
shininess- The sharpness of the shine spots created by the reflection of a light source on the material, which is how glossy its surface is.
==== .mhuv files ====
This MH internal extension designates UV map files in MakeHuman. These text-readable files based on Lightwave OBJ syntax. They contain one or two lines of metadata and alternative UV data for the texture object to be applied to the model.
There does not currently appear to be a development tool for creating UV map files. They can be created by creating and saving an OBJ file and then renaming it. However, files created in this manner should not be considered fit for the SVN or website because they contain way too much redundant information. The OBJ files created in this manner not only contain the alternate UV set but also contain all vertices of the original mesh.
==== .mhp files ====
This MH internal extension designates pose files. These files are used to store coordinates for the run and walk poses on the pose tab. The dance1 pose appears to be implemented as a pose file, but it also includes some additional .target files. The dance1 pose is also associated wih a .bvh file whereas run and walk are not. In A8 development there have been issues with the dance1 file behaving less well than run and walk. Hopefully, these will be long gone during subsequent development.
==== .mht files ====
==== This MH internal extension designates a theme (GUI color scheme) for the GUI as rendered by the pyQt library. ====
==== .target files ====
This MH internal extension [which lacks the mh… prefix] specifies final extreme positions that can be achieved when moving the interface sliders in one direction or the other. By definition sliders have a value of zero on the left end and 1.0 on the right end, but there is a software flag to reverse this behavior as desired. With scripting it may be possible to exceed slider extremes, but this is currently undocumented and should not be built into production code. There is one TARGET file for each extreme of each movement. These files are hand-built by MakeHuman artist-developers, and they are the engine of the programs utility. Typically, rightward movement of a slider should increase size, and leftward movement of a slider should decrease size. When ‘left’ and ‘right’ are used as asset names, they should refer to the left and right body part on the model, regardless of the model’s orientation in the viewport. When slider movement involves asymmetrical change in the x, y, and z direction, it should be programmed so that the sliders operate naturally using the default viewport view for that slider. For example, left movement of the slider need not cause deformation toward the model’s left side. Such behavior would only be sensible if the default viewport view had the model facing the rear of the viewport (model’s back toward user).
Most MakeHuman modules use data from the TARGET files.
· In the apps group, these modules includes: devtests.py, human.py, humanmodifier.py, posemode.py, and warpmodifier.py.
· In the core group, these modules includes: algos3D.py which is the main program that works with .target files after they are compiled into
· In the apps group, these modules includes:
· In the apps group, these modules includes:
=== .proxy files ===
This MH internal extension designates proxy meshes. They are structured text files. Format and attributes include ... TODO
.qrc file
This is a resource file need used when compiling for the MakeHuman GUI which uses the pyQt library.
=== .qss file ===
This is the text-based file fomat used to store widgets associated with the GUI interface as rendered by the pyQt library
Appreciate help from current developers as what needs to go here. Undoubtedly some confusion or mistakes on my part, but some of it might help orient others. -RWB
Glad to do the grunt work, but feedback on needed improvemrnt greatly appreciated :-)
---------------------------
Also in this section could possibly also loading, saving, exporting formats (but these formats should probably be addressed in context below)
The basic work done within MakeHuman is saved as a file with an .mhm extension. The .mhm files can be loaded at the start of a new user session, and return MakeHuman to the state that it was in at the end of the previous session.
== Proxy files ==
=== Offset and bounds ===
MakeClothes uses a bounding box for scaling the offsets. It's controlled by the ''Offsets'' option in MakeClothes.
This is how this data is stored in the proxy file, so you can modify by hand if desired.
In the mhclo file at the top, these values appear as
x_scale 5399 11998 1.4340
z_scale 962 5320 2.0001
y_scale 791 881 2.4098
Allowed values are:
x_scale
y_scale
z_scale
shear_x
shear_y
shear_z
l_shear_x
l_shear_y
l_shear_z
r_shear_x
r_shear_y
r_shear_z
scale options follow the format:
x_scale v1 v2 den
with v1, v2 vertex indices on the human basemesh, den a denominator with which the scaling value is reduced
which results in the construction of a scale matrix that is applied to all the offsets of the proxy.
eg.
[xscale 0 0 0]
[0 yscale 0 0]
[0 0 zscale 0]
[0 0 0 1]
where xscale is determined from the option x_scale v1 v2 den as:
xscale = abs(coord_pos(v1).x - coord_pos(v2).x) / den
analog for yscale and zscale (.y or .z components of the position vector will be used instead)
shear options follow the format:
shear_x v1 v2 x1 x2
which result in the creation of a shear matrix instead of a scale matrix (I don't know of any instance where this is used)
uses numpy's affine_matrix_from_points method to calculate a transformation matrix that fits all selected points
didn't go into detail understanding this, because it doesn't seem too relevant. Read the code if interested.
scale overrides shear which overrides l_shear which overrides r_shear, only one of them is used (so you either specify scale, shear, l_shear or r_shear but no combination of them)
If you specify one, it is expected you define the other 2 of the same type as well.
=== max_pole ===
Proxy files can specify the pole count, which is the maximum number of edges that a vertex in the proxy mesh (the OBJ file) can have. If all faces around this vertex share their edges, this number also coincides with the maximum number of faces per vertex. If not specified, MakeHuman assumes this number is 8, which is a reasonable standard (more than 8 edges per vertex is probably a sub-optimal topology).
For example, the MakeHuman basemesh, which was modeled with high consideration of pole count, has a maximum of 5 edges per vertex.
MakeHuman intentionally is conservative about pole count to benefit performance (of the subdivision algorithm for example), for the same performance reasons it will not check the pole count when loading an OBJ, and instead relies on the user, or creation tool (MakeClothes) to set this number appropriately (at the moment MakeClothes does not do this).
Similarly, you can improve performance of MakeHuman by lowering this number if your proxy mesh has lower pole count. Eg for some meshes this can be set to 6 or 7
Proxy files have a property ''max_pole'' to change this number from the default setting of 8 to something else:
max_pole 9
== Meshes ==
MakeHuman stores its meshes in the standard Wavefront OBJ format. It supports quad-only meshes, and by default allows up to 8 edges per vertex. This number can be increased (see proxy format).
== Material files ==
Here's a list of naming convention for the content of the mhmat-file:
"name": string
"tag": string
"description": string
"ambientColor": 3 x float
"diffuseColor": 3 x float
"specularColor": 3 x float
"shininess": 1 x float
"emissiveColor": 3 x float
"opacity": 1 x float
"translucency": 1 x float
"shadeless": bool
"wireframe": bool
"transparent": bool
"alphaToCoverage": bool
"backfaceCull": bool
"depthless": bool
"castShadows": bool
"receiveShadows": bool
"autoBlendSkin": bool
"diffuseTexture": filename
"bumpmapTexture": filename
"bumpmapIntensity": 1 x float
"normalmapTexture": filename
"normalmapIntensity": 1 x float
"displacementmapTexture": filename
"displacementmapIntensity": 1 x float
"specularmapTexture": filename
"specularmapIntensity": 1 x float
"transparencymapTexture": filename
"transparencymapIntensity": 1 x float
"aomapTexture": filename
"aomapIntensity": 1 x float
"sssEnabled": bool
"sssRScale": 1 x float
"sssGScale": 1 x float
"sssBScale": 1 x float
"shader": filename
"uvMap": filename
"shaderParam": ['diffuse', 'ambient', 'specular', 'emissive', 'diffuseTexture', 'bumpmapTexture', 'bumpmapIntensity', 'normalmapTexture', 'normalmapIntensity', 'displacementmapTexture', 'displacementmapTexture', 'specularmapTexture', 'specularmapIntensity', 'transparencymapTexture', 'transparencymapIntensity', 'aomapTexture', 'aomapIntensity']
"shaderDefine": ['BUMPMAP', 'NORMALMAP', 'DISPLACEMENT', 'SPECULARMAP', 'TRANSPARENCYMAP']
"shaderConfig" "diffuse": bool
"shaderConfig" "bump": bool
"shaderConfig" "normal": bool
"shaderConfig" "displacement": bool
"shaderConfig" "spec": bool
"shaderConfig" "vertexColors": bool
"shaderConfig" "transparency": bool
"shaderConfig" "ambientOcclusion": bool
Floats are between 0.0 and 1.0
== Poseunit files ==
TODO
== Target files ==
TODO
== Modifier and slider definitions ==
TODO
3a57f58ae5eaec4f9a0ed8380fde9a6d84510140
1361
1360
2017-03-17T15:59:28Z
Grinsegold
39
/* Material files */
wikitext
text/x-wiki
This section briefly reviews the file accessed or manipulated within MakeHuman. An attempt will be made to explain the function of each file format and where in MakeHuman’s modules it is used. Or external formats links will be provided to more detailed descriptions. Where it can help the developer better understand the overall organization of MakeHuman source code, some information on the module group or modules interaction with the various formats will be provided. This section Is intended to be used with the previous section on directories (folders) to develop an overview of MakeHuman code structure. This structural understanding is essential during the debugging process and is essential to expanding the programs functionality in structurally sound ways.
==== .obj files ====
This extension designates Lightwave object files. These OBJ files store mesh information and metadata needed for rendering in text-readable format. It was originally developed for the Lightwave 3D graphics program, but this file format is now broadly supported by many, if not most, 3D programs. Internally, MakeHuman uses OBJ files (or formats directly based on OBJ files) for the canonical storage of its assets. Many of MakeHuman’s development utilities store newly generated assets in formats related to the Lightwave OBJ specification. Examples of assets canonically stored in Lightwave OBJ format include the base human, and auxiliary geometry assets like eyes, hair, and clothes.
Each OBJ file has a record specifying the object’s name and records specifying one or more mesh objects. Mesh objects, in turn, are composed of record groups specifying: points or vertices (v), vertex normal (vn), faces (f), and vertex textures (vt). In MakeHuman and most general purpose 3D programs (e.g., Blender) OBJ files are exported with an accompanying Wavefront material file having the .mtl extension. These MTL files provide the detailed material attributes necessary to get photorealistic rendering of Wavefront objects. A more complete specification of Wavefront object format can be found at:!LINK!http://www.martinreddy.net/gfx/3d/OBJ.spec -- http://www.martinreddy.net/gfx/3d/OBJ.spec!/LINK!
OBJ files and MTL files have a direct internal analog in MakeHuman in the form of the object class, Object3D. This class, along with its properties and methods, is defined in the object3D.py module(libs folder). Object3D objects are central to the internal workings of MakeHuman. The resemblance of Object3D objects to OBJ files is not coincidental. Many of the core mesh assets in MakeHuman are developed in the open-source project, Blender, and moved to MakeHuman internals using OBJ format. In fact, MakeHuman maintains a separate product [MHTools] designed to support development of new core internal assets
==== .mhpxy files ====
This extension designates compressed binary proxies and clothes.
==== .mtl files ====
This extension designates a Wavefront material file. Wavefront MTL files are referenced from within Wavefront OBJ files to specify the materials used in rendering. More complete information on Wavefront material files is available here:!LINK!http://paulbourke.net/dataformats/mtl/ -- http://paulbourke.net/dataformats/mtl/!/LINK!
MakeHuman’s use of MTL file has been limited, but with the increased support for POV rendering, more modules may access and utilize MTL files. Currently, MTL-related data and files is developmental. Thedata foldercontains a cube.obj (3dobj) and a plane.obj (mitsuba folder) ostensibly associated with materials.
==== .npz files ====
This extension designates compressed binary asset files in MakeHuman [think npz = numPy zip files]. Among the most important assets stored with this extension is target vertex information. These target data determine the motion of each MakeHuman vertices (relative to landmark vertices?) as sliders are moved.
Thefiles3D.pymodule (core folder) tests for verifies existence of OS dependent locations of binary mesh files. The primary purpose of thefiles3D.pymodule is to transpose imported 3D data into a standard internal format for each of the 3D file formats supported by the MakeHuman import. Each importer function is written to return the 3d data in a standard format as a Python list:
[verts, vertsSharedFaces, vertsUV, faceGroups, faceGroupsNames]
The targets.pymodule (lib folder) is where system assets stored with the NPZ extension are identified, decompressed, and turned into memory resident structured objects for use by MakeHuman. This Code related to NPZ files can also be found in algos3d.py module (core folder). This module has been part of MakeHuman for a long time, and is used for morphing related operations. It works with loaded binary translation vectors and applies those translations to morphing targets. It may have some legacy capability to work directly with text-based .target files.
The compile_models.py module (lib folder) takes all object mesh files (.obj) and compiles them into binary compressed files (NPZ). Similarly, the compile_targets.py module (lib folder) compiles target files (.target) into binary compressed (NPZ) files. The latter module is referenced by Benjamin Lau in MakeHuman.spec file, likely for build purposes.
Important concept. The root folder of MakeHuman contains a batch file called cleanpz.bat (for Windows) and a corresponding shell script file called cleanpz.sh (for Linux) whose function is to delete NPZ files between repository (Bitbucket or GIT) builds. This “garbage collection” assures that each build is not working with out-of-date assets. It also reminds the developer that most of the canonical assets are initially constructed in text readable format. Developers write appropriate constructors to recompile NPZ files during the MakeHuman startup sequence when missing. For distribution versions of MakeHuman, pre-compiled assets in the form of NPZ files are distributed as stable assets. When start up code confirms their existence , no recompile is done, producing a better start-up experience for the user. This design greatly increases boot and runtime performance for stable distributions without hampering rapid testing of repository versions in interpretative mode.
==== .thumb files ====
This extension designates thumbnail (image preview) files in MakeHuman. Underneath, they are actually images constructed in the .png file format. Thus, they can be edited by standard image editors like GIMP or displayed by most web browsers. The MakeHuman Save Tab code automatically generates a companion .thumb file each time it saves a .mhm file. The .thumb generation is currently done by capturing a rectangular in the center of the viewport window. The MakeHuman Load Tab code uses .thumb images to provide previews of saved models.
The format for .thumb is defined inimage_qt.pymodule (GUI folder). Load and Save use or generation occur inguiload.pyandguisave.pymodules, respectively (lib folder). Numerous plugin modules reference .thumb files (plugins folder) including:2_posing_expression.py,3_libraries_clothes_chooser.py,3_libraries_eye_chooser.py,3_libraries_material_chooser.py,3_libraries_polygon_hair_chooser.py,3_libraries_posing_chooser.py,3_libraries_proxy_chooser.py, 4_rendering_scene.py,7_material_editor.py,
==== .lmk files ====
This MH internal extension designates landmark files. [might be renamed .mhlmk for naming standard reasons.] There is one set of landmarks for the model body (and a second set of landmarks for the model head (data | landmarks folder). These LMK files are written in text readable format. Each line has a single integer which specifies a landmark vertex in the model geometry. Landmark vertices are used for relative (local) spatial reference during model morphing.
Landmark files are used bywarpmodifier.py(apps folder) andwarp.py(utils | tools | warptarget folder).The landmarks in these files are used as references during the complex process of reshaping the human.
==== .mhclo files ====
This MH internal extension designates MakeHuman clothes files. These files define clothing vertexes and remove vertexes from the model to allow fitting of the model without skin showing through. They are created using the MakeHuman Blender toolset, specifically the MakeClothes tool.
A special empty MakeHuman clothes meta-file named clear.mhclo is is used to restore the default UV map that comes with the system. In the lib folder, the filechooser.py module has a MhcloFileLoader.Refresh() method to clear materials when the refresh button is clicked.
In the plugins folder,3_libraries_clothes_chooser.py, 3_libraries_eye_chooser.py, and 3_libraries_polygon_hair_chooser.py all access MHCLO files, but as of this writing, there are some file handling issues related to proxy clothes that means some of this code is commented out. In the shared/export_utils folder, config.py accesses a cage.mhclo file. In the tools folder, the tool ‘MakeClothes’ accesses MHCLO files in both the makeclothes.py and material.py modules. Similarly, the tool ‘MakeTarget‘ accesses MHCLO files in several of its modules:_init_.py, convert.py, import_obj.py, mt.py, ands ettings.py. Finally, two experimental tools in the utils folder, the makeface.py and helpers.py modules access MCHO files.
==== .mhmat files ====
This extension designates MakeHuman material files. Material files are text-readable files that share their syntax structure with Lightwave OBJ and MTL files.
In the app module group,human.pyapplies a default material andmh2proxy.pyhandles materials for proxies and may do some special material handling for MHX Blender export files. In the data folder, the MHCLO files for clothes, eyes, and hair each references an MHMAT files. In the plugins folder,7_material_editor.pyloads, edits, and saves MHMAT files. In the shared folder,material.pyparses MHMAT files and sets material properties. In the tools folder, there is another (independent)material.pymodule for the MakeClothes tool that writes materials to the output file while using that tool within Blender.
==== .mhmat file format Internals====
The entries inside a .mhmat file are of the form:
Comments can be included in c-style line comment format, like
or in python-style line comment format, like
The properties of a makehuman material are numerous so that they can cover the most common needs of exporters and rendering engines, and may vary among the following.
name- The internal name of the material.
Colors- Their value can be in R G B format, like: colorProperty R G B, where R, G, B are floating point numbers between 0 and 1. They control the color of various material properties and effects.
To adjust the intensity of an effect, you can simply edit its color value.
ambientColor -The ambient component of the material, which is usually added on the final color regardless of the surrounding lights.
diffuseColor -The diffuse component of the material, which reacts to each light's relative position.
specularColor -The color of the specular shine that is caused by the reflection of a light source on the material.
emissiveColor- The color of the light that the material seems to emit as if it's a glowing light source.
shininess- The sharpness of the shine spots created by the reflection of a light source on the material, which is how glossy its surface is.
==== .mhuv files ====
This MH internal extension designates UV map files in MakeHuman. These text-readable files based on Lightwave OBJ syntax. They contain one or two lines of metadata and alternative UV data for the texture object to be applied to the model.
There does not currently appear to be a development tool for creating UV map files. They can be created by creating and saving an OBJ file and then renaming it. However, files created in this manner should not be considered fit for the SVN or website because they contain way too much redundant information. The OBJ files created in this manner not only contain the alternate UV set but also contain all vertices of the original mesh.
==== .mhp files ====
This MH internal extension designates pose files. These files are used to store coordinates for the run and walk poses on the pose tab. The dance1 pose appears to be implemented as a pose file, but it also includes some additional .target files. The dance1 pose is also associated wih a .bvh file whereas run and walk are not. In A8 development there have been issues with the dance1 file behaving less well than run and walk. Hopefully, these will be long gone during subsequent development.
==== .mht files ====
==== This MH internal extension designates a theme (GUI color scheme) for the GUI as rendered by the pyQt library. ====
==== .target files ====
This MH internal extension [which lacks the mh… prefix] specifies final extreme positions that can be achieved when moving the interface sliders in one direction or the other. By definition sliders have a value of zero on the left end and 1.0 on the right end, but there is a software flag to reverse this behavior as desired. With scripting it may be possible to exceed slider extremes, but this is currently undocumented and should not be built into production code. There is one TARGET file for each extreme of each movement. These files are hand-built by MakeHuman artist-developers, and they are the engine of the programs utility. Typically, rightward movement of a slider should increase size, and leftward movement of a slider should decrease size. When ‘left’ and ‘right’ are used as asset names, they should refer to the left and right body part on the model, regardless of the model’s orientation in the viewport. When slider movement involves asymmetrical change in the x, y, and z direction, it should be programmed so that the sliders operate naturally using the default viewport view for that slider. For example, left movement of the slider need not cause deformation toward the model’s left side. Such behavior would only be sensible if the default viewport view had the model facing the rear of the viewport (model’s back toward user).
Most MakeHuman modules use data from the TARGET files.
· In the apps group, these modules includes: devtests.py, human.py, humanmodifier.py, posemode.py, and warpmodifier.py.
· In the core group, these modules includes: algos3D.py which is the main program that works with .target files after they are compiled into
· In the apps group, these modules includes:
· In the apps group, these modules includes:
=== .proxy files ===
This MH internal extension designates proxy meshes. They are structured text files. Format and attributes include ... TODO
.qrc file
This is a resource file need used when compiling for the MakeHuman GUI which uses the pyQt library.
=== .qss file ===
This is the text-based file fomat used to store widgets associated with the GUI interface as rendered by the pyQt library
Appreciate help from current developers as what needs to go here. Undoubtedly some confusion or mistakes on my part, but some of it might help orient others. -RWB
Glad to do the grunt work, but feedback on needed improvemrnt greatly appreciated :-)
---------------------------
Also in this section could possibly also loading, saving, exporting formats (but these formats should probably be addressed in context below)
The basic work done within MakeHuman is saved as a file with an .mhm extension. The .mhm files can be loaded at the start of a new user session, and return MakeHuman to the state that it was in at the end of the previous session.
== Proxy files ==
=== Offset and bounds ===
MakeClothes uses a bounding box for scaling the offsets. It's controlled by the ''Offsets'' option in MakeClothes.
This is how this data is stored in the proxy file, so you can modify by hand if desired.
In the mhclo file at the top, these values appear as
x_scale 5399 11998 1.4340
z_scale 962 5320 2.0001
y_scale 791 881 2.4098
Allowed values are:
x_scale
y_scale
z_scale
shear_x
shear_y
shear_z
l_shear_x
l_shear_y
l_shear_z
r_shear_x
r_shear_y
r_shear_z
scale options follow the format:
x_scale v1 v2 den
with v1, v2 vertex indices on the human basemesh, den a denominator with which the scaling value is reduced
which results in the construction of a scale matrix that is applied to all the offsets of the proxy.
eg.
[xscale 0 0 0]
[0 yscale 0 0]
[0 0 zscale 0]
[0 0 0 1]
where xscale is determined from the option x_scale v1 v2 den as:
xscale = abs(coord_pos(v1).x - coord_pos(v2).x) / den
analog for yscale and zscale (.y or .z components of the position vector will be used instead)
shear options follow the format:
shear_x v1 v2 x1 x2
which result in the creation of a shear matrix instead of a scale matrix (I don't know of any instance where this is used)
uses numpy's affine_matrix_from_points method to calculate a transformation matrix that fits all selected points
didn't go into detail understanding this, because it doesn't seem too relevant. Read the code if interested.
scale overrides shear which overrides l_shear which overrides r_shear, only one of them is used (so you either specify scale, shear, l_shear or r_shear but no combination of them)
If you specify one, it is expected you define the other 2 of the same type as well.
=== max_pole ===
Proxy files can specify the pole count, which is the maximum number of edges that a vertex in the proxy mesh (the OBJ file) can have. If all faces around this vertex share their edges, this number also coincides with the maximum number of faces per vertex. If not specified, MakeHuman assumes this number is 8, which is a reasonable standard (more than 8 edges per vertex is probably a sub-optimal topology).
For example, the MakeHuman basemesh, which was modeled with high consideration of pole count, has a maximum of 5 edges per vertex.
MakeHuman intentionally is conservative about pole count to benefit performance (of the subdivision algorithm for example), for the same performance reasons it will not check the pole count when loading an OBJ, and instead relies on the user, or creation tool (MakeClothes) to set this number appropriately (at the moment MakeClothes does not do this).
Similarly, you can improve performance of MakeHuman by lowering this number if your proxy mesh has lower pole count. Eg for some meshes this can be set to 6 or 7
Proxy files have a property ''max_pole'' to change this number from the default setting of 8 to something else:
max_pole 9
== Meshes ==
MakeHuman stores its meshes in the standard Wavefront OBJ format. It supports quad-only meshes, and by default allows up to 8 edges per vertex. This number can be increased (see proxy format).
== Material files ==
Here's a list of naming convention for the content of the mhmat-file:
"name": string
"tag": string
"description": string
"ambientColor": 3 x float
"diffuseColor": 3 x float
"specularColor": 3 x float
"shininess": 1 x float
"emissiveColor": 3 x float
"opacity": 1 x float
"translucency": 1 x float
"shadeless": bool
"wireframe": bool
"transparent": bool
"alphaToCoverage": bool
"backfaceCull": bool
"depthless": bool
"castShadows": bool
"receiveShadows": bool
"autoBlendSkin": bool
"diffuseTexture": filename
"bumpmapTexture": filename
"bumpmapIntensity": 1 x float
"normalmapTexture": filename
"normalmapIntensity": 1 x float
"displacementmapTexture": filename
"displacementmapIntensity": 1 x float
"specularmapTexture": filename
"specularmapIntensity": 1 x float
"transparencymapTexture": filename
"transparencymapIntensity": 1 x float
"aomapTexture": filename
"aomapIntensity": 1 x float
"sssEnabled": bool
"sssRScale": 1 x float
"sssGScale": 1 x float
"sssBScale": 1 x float
"shader": filename
"uvMap": filename
"shaderParam": ['diffuse', 'ambient', 'specular', 'emissive', 'diffuseTexture', 'bumpmapTexture', 'bumpmapIntensity', 'normalmapTexture', 'normalmapIntensity', 'displacementmapTexture', 'displacementmapTexture', 'specularmapTexture', 'specularmapIntensity', 'transparencymapTexture', 'transparencymapIntensity', 'aomapTexture', 'aomapIntensity']
"shaderDefine": ['BUMPMAP', 'NORMALMAP', 'DISPLACEMENT', 'SPECULARMAP', 'TRANSPARENCYMAP']
"shaderConfig" "diffuse": bool
"bump": bool
"normal": bool
"displacement": bool
"spec": bool
"vertexColors": bool
"transparency": bool
"ambientOcclusion": bool
Floats are between 0.0 and 1.0
== Poseunit files ==
TODO
== Target files ==
TODO
== Modifier and slider definitions ==
TODO
d9b195ab56f2cc440040c1edd890c7b4946654b1
1360
1290
2017-03-17T15:57:25Z
Grinsegold
39
/* Material files */
wikitext
text/x-wiki
This section briefly reviews the file accessed or manipulated within MakeHuman. An attempt will be made to explain the function of each file format and where in MakeHuman’s modules it is used. Or external formats links will be provided to more detailed descriptions. Where it can help the developer better understand the overall organization of MakeHuman source code, some information on the module group or modules interaction with the various formats will be provided. This section Is intended to be used with the previous section on directories (folders) to develop an overview of MakeHuman code structure. This structural understanding is essential during the debugging process and is essential to expanding the programs functionality in structurally sound ways.
==== .obj files ====
This extension designates Lightwave object files. These OBJ files store mesh information and metadata needed for rendering in text-readable format. It was originally developed for the Lightwave 3D graphics program, but this file format is now broadly supported by many, if not most, 3D programs. Internally, MakeHuman uses OBJ files (or formats directly based on OBJ files) for the canonical storage of its assets. Many of MakeHuman’s development utilities store newly generated assets in formats related to the Lightwave OBJ specification. Examples of assets canonically stored in Lightwave OBJ format include the base human, and auxiliary geometry assets like eyes, hair, and clothes.
Each OBJ file has a record specifying the object’s name and records specifying one or more mesh objects. Mesh objects, in turn, are composed of record groups specifying: points or vertices (v), vertex normal (vn), faces (f), and vertex textures (vt). In MakeHuman and most general purpose 3D programs (e.g., Blender) OBJ files are exported with an accompanying Wavefront material file having the .mtl extension. These MTL files provide the detailed material attributes necessary to get photorealistic rendering of Wavefront objects. A more complete specification of Wavefront object format can be found at:!LINK!http://www.martinreddy.net/gfx/3d/OBJ.spec -- http://www.martinreddy.net/gfx/3d/OBJ.spec!/LINK!
OBJ files and MTL files have a direct internal analog in MakeHuman in the form of the object class, Object3D. This class, along with its properties and methods, is defined in the object3D.py module(libs folder). Object3D objects are central to the internal workings of MakeHuman. The resemblance of Object3D objects to OBJ files is not coincidental. Many of the core mesh assets in MakeHuman are developed in the open-source project, Blender, and moved to MakeHuman internals using OBJ format. In fact, MakeHuman maintains a separate product [MHTools] designed to support development of new core internal assets
==== .mhpxy files ====
This extension designates compressed binary proxies and clothes.
==== .mtl files ====
This extension designates a Wavefront material file. Wavefront MTL files are referenced from within Wavefront OBJ files to specify the materials used in rendering. More complete information on Wavefront material files is available here:!LINK!http://paulbourke.net/dataformats/mtl/ -- http://paulbourke.net/dataformats/mtl/!/LINK!
MakeHuman’s use of MTL file has been limited, but with the increased support for POV rendering, more modules may access and utilize MTL files. Currently, MTL-related data and files is developmental. Thedata foldercontains a cube.obj (3dobj) and a plane.obj (mitsuba folder) ostensibly associated with materials.
==== .npz files ====
This extension designates compressed binary asset files in MakeHuman [think npz = numPy zip files]. Among the most important assets stored with this extension is target vertex information. These target data determine the motion of each MakeHuman vertices (relative to landmark vertices?) as sliders are moved.
Thefiles3D.pymodule (core folder) tests for verifies existence of OS dependent locations of binary mesh files. The primary purpose of thefiles3D.pymodule is to transpose imported 3D data into a standard internal format for each of the 3D file formats supported by the MakeHuman import. Each importer function is written to return the 3d data in a standard format as a Python list:
[verts, vertsSharedFaces, vertsUV, faceGroups, faceGroupsNames]
The targets.pymodule (lib folder) is where system assets stored with the NPZ extension are identified, decompressed, and turned into memory resident structured objects for use by MakeHuman. This Code related to NPZ files can also be found in algos3d.py module (core folder). This module has been part of MakeHuman for a long time, and is used for morphing related operations. It works with loaded binary translation vectors and applies those translations to morphing targets. It may have some legacy capability to work directly with text-based .target files.
The compile_models.py module (lib folder) takes all object mesh files (.obj) and compiles them into binary compressed files (NPZ). Similarly, the compile_targets.py module (lib folder) compiles target files (.target) into binary compressed (NPZ) files. The latter module is referenced by Benjamin Lau in MakeHuman.spec file, likely for build purposes.
Important concept. The root folder of MakeHuman contains a batch file called cleanpz.bat (for Windows) and a corresponding shell script file called cleanpz.sh (for Linux) whose function is to delete NPZ files between repository (Bitbucket or GIT) builds. This “garbage collection” assures that each build is not working with out-of-date assets. It also reminds the developer that most of the canonical assets are initially constructed in text readable format. Developers write appropriate constructors to recompile NPZ files during the MakeHuman startup sequence when missing. For distribution versions of MakeHuman, pre-compiled assets in the form of NPZ files are distributed as stable assets. When start up code confirms their existence , no recompile is done, producing a better start-up experience for the user. This design greatly increases boot and runtime performance for stable distributions without hampering rapid testing of repository versions in interpretative mode.
==== .thumb files ====
This extension designates thumbnail (image preview) files in MakeHuman. Underneath, they are actually images constructed in the .png file format. Thus, they can be edited by standard image editors like GIMP or displayed by most web browsers. The MakeHuman Save Tab code automatically generates a companion .thumb file each time it saves a .mhm file. The .thumb generation is currently done by capturing a rectangular in the center of the viewport window. The MakeHuman Load Tab code uses .thumb images to provide previews of saved models.
The format for .thumb is defined inimage_qt.pymodule (GUI folder). Load and Save use or generation occur inguiload.pyandguisave.pymodules, respectively (lib folder). Numerous plugin modules reference .thumb files (plugins folder) including:2_posing_expression.py,3_libraries_clothes_chooser.py,3_libraries_eye_chooser.py,3_libraries_material_chooser.py,3_libraries_polygon_hair_chooser.py,3_libraries_posing_chooser.py,3_libraries_proxy_chooser.py, 4_rendering_scene.py,7_material_editor.py,
==== .lmk files ====
This MH internal extension designates landmark files. [might be renamed .mhlmk for naming standard reasons.] There is one set of landmarks for the model body (and a second set of landmarks for the model head (data | landmarks folder). These LMK files are written in text readable format. Each line has a single integer which specifies a landmark vertex in the model geometry. Landmark vertices are used for relative (local) spatial reference during model morphing.
Landmark files are used bywarpmodifier.py(apps folder) andwarp.py(utils | tools | warptarget folder).The landmarks in these files are used as references during the complex process of reshaping the human.
==== .mhclo files ====
This MH internal extension designates MakeHuman clothes files. These files define clothing vertexes and remove vertexes from the model to allow fitting of the model without skin showing through. They are created using the MakeHuman Blender toolset, specifically the MakeClothes tool.
A special empty MakeHuman clothes meta-file named clear.mhclo is is used to restore the default UV map that comes with the system. In the lib folder, the filechooser.py module has a MhcloFileLoader.Refresh() method to clear materials when the refresh button is clicked.
In the plugins folder,3_libraries_clothes_chooser.py, 3_libraries_eye_chooser.py, and 3_libraries_polygon_hair_chooser.py all access MHCLO files, but as of this writing, there are some file handling issues related to proxy clothes that means some of this code is commented out. In the shared/export_utils folder, config.py accesses a cage.mhclo file. In the tools folder, the tool ‘MakeClothes’ accesses MHCLO files in both the makeclothes.py and material.py modules. Similarly, the tool ‘MakeTarget‘ accesses MHCLO files in several of its modules:_init_.py, convert.py, import_obj.py, mt.py, ands ettings.py. Finally, two experimental tools in the utils folder, the makeface.py and helpers.py modules access MCHO files.
==== .mhmat files ====
This extension designates MakeHuman material files. Material files are text-readable files that share their syntax structure with Lightwave OBJ and MTL files.
In the app module group,human.pyapplies a default material andmh2proxy.pyhandles materials for proxies and may do some special material handling for MHX Blender export files. In the data folder, the MHCLO files for clothes, eyes, and hair each references an MHMAT files. In the plugins folder,7_material_editor.pyloads, edits, and saves MHMAT files. In the shared folder,material.pyparses MHMAT files and sets material properties. In the tools folder, there is another (independent)material.pymodule for the MakeClothes tool that writes materials to the output file while using that tool within Blender.
==== .mhmat file format Internals====
The entries inside a .mhmat file are of the form:
Comments can be included in c-style line comment format, like
or in python-style line comment format, like
The properties of a makehuman material are numerous so that they can cover the most common needs of exporters and rendering engines, and may vary among the following.
name- The internal name of the material.
Colors- Their value can be in R G B format, like: colorProperty R G B, where R, G, B are floating point numbers between 0 and 1. They control the color of various material properties and effects.
To adjust the intensity of an effect, you can simply edit its color value.
ambientColor -The ambient component of the material, which is usually added on the final color regardless of the surrounding lights.
diffuseColor -The diffuse component of the material, which reacts to each light's relative position.
specularColor -The color of the specular shine that is caused by the reflection of a light source on the material.
emissiveColor- The color of the light that the material seems to emit as if it's a glowing light source.
shininess- The sharpness of the shine spots created by the reflection of a light source on the material, which is how glossy its surface is.
==== .mhuv files ====
This MH internal extension designates UV map files in MakeHuman. These text-readable files based on Lightwave OBJ syntax. They contain one or two lines of metadata and alternative UV data for the texture object to be applied to the model.
There does not currently appear to be a development tool for creating UV map files. They can be created by creating and saving an OBJ file and then renaming it. However, files created in this manner should not be considered fit for the SVN or website because they contain way too much redundant information. The OBJ files created in this manner not only contain the alternate UV set but also contain all vertices of the original mesh.
==== .mhp files ====
This MH internal extension designates pose files. These files are used to store coordinates for the run and walk poses on the pose tab. The dance1 pose appears to be implemented as a pose file, but it also includes some additional .target files. The dance1 pose is also associated wih a .bvh file whereas run and walk are not. In A8 development there have been issues with the dance1 file behaving less well than run and walk. Hopefully, these will be long gone during subsequent development.
==== .mht files ====
==== This MH internal extension designates a theme (GUI color scheme) for the GUI as rendered by the pyQt library. ====
==== .target files ====
This MH internal extension [which lacks the mh… prefix] specifies final extreme positions that can be achieved when moving the interface sliders in one direction or the other. By definition sliders have a value of zero on the left end and 1.0 on the right end, but there is a software flag to reverse this behavior as desired. With scripting it may be possible to exceed slider extremes, but this is currently undocumented and should not be built into production code. There is one TARGET file for each extreme of each movement. These files are hand-built by MakeHuman artist-developers, and they are the engine of the programs utility. Typically, rightward movement of a slider should increase size, and leftward movement of a slider should decrease size. When ‘left’ and ‘right’ are used as asset names, they should refer to the left and right body part on the model, regardless of the model’s orientation in the viewport. When slider movement involves asymmetrical change in the x, y, and z direction, it should be programmed so that the sliders operate naturally using the default viewport view for that slider. For example, left movement of the slider need not cause deformation toward the model’s left side. Such behavior would only be sensible if the default viewport view had the model facing the rear of the viewport (model’s back toward user).
Most MakeHuman modules use data from the TARGET files.
· In the apps group, these modules includes: devtests.py, human.py, humanmodifier.py, posemode.py, and warpmodifier.py.
· In the core group, these modules includes: algos3D.py which is the main program that works with .target files after they are compiled into
· In the apps group, these modules includes:
· In the apps group, these modules includes:
=== .proxy files ===
This MH internal extension designates proxy meshes. They are structured text files. Format and attributes include ... TODO
.qrc file
This is a resource file need used when compiling for the MakeHuman GUI which uses the pyQt library.
=== .qss file ===
This is the text-based file fomat used to store widgets associated with the GUI interface as rendered by the pyQt library
Appreciate help from current developers as what needs to go here. Undoubtedly some confusion or mistakes on my part, but some of it might help orient others. -RWB
Glad to do the grunt work, but feedback on needed improvemrnt greatly appreciated :-)
---------------------------
Also in this section could possibly also loading, saving, exporting formats (but these formats should probably be addressed in context below)
The basic work done within MakeHuman is saved as a file with an .mhm extension. The .mhm files can be loaded at the start of a new user session, and return MakeHuman to the state that it was in at the end of the previous session.
== Proxy files ==
=== Offset and bounds ===
MakeClothes uses a bounding box for scaling the offsets. It's controlled by the ''Offsets'' option in MakeClothes.
This is how this data is stored in the proxy file, so you can modify by hand if desired.
In the mhclo file at the top, these values appear as
x_scale 5399 11998 1.4340
z_scale 962 5320 2.0001
y_scale 791 881 2.4098
Allowed values are:
x_scale
y_scale
z_scale
shear_x
shear_y
shear_z
l_shear_x
l_shear_y
l_shear_z
r_shear_x
r_shear_y
r_shear_z
scale options follow the format:
x_scale v1 v2 den
with v1, v2 vertex indices on the human basemesh, den a denominator with which the scaling value is reduced
which results in the construction of a scale matrix that is applied to all the offsets of the proxy.
eg.
[xscale 0 0 0]
[0 yscale 0 0]
[0 0 zscale 0]
[0 0 0 1]
where xscale is determined from the option x_scale v1 v2 den as:
xscale = abs(coord_pos(v1).x - coord_pos(v2).x) / den
analog for yscale and zscale (.y or .z components of the position vector will be used instead)
shear options follow the format:
shear_x v1 v2 x1 x2
which result in the creation of a shear matrix instead of a scale matrix (I don't know of any instance where this is used)
uses numpy's affine_matrix_from_points method to calculate a transformation matrix that fits all selected points
didn't go into detail understanding this, because it doesn't seem too relevant. Read the code if interested.
scale overrides shear which overrides l_shear which overrides r_shear, only one of them is used (so you either specify scale, shear, l_shear or r_shear but no combination of them)
If you specify one, it is expected you define the other 2 of the same type as well.
=== max_pole ===
Proxy files can specify the pole count, which is the maximum number of edges that a vertex in the proxy mesh (the OBJ file) can have. If all faces around this vertex share their edges, this number also coincides with the maximum number of faces per vertex. If not specified, MakeHuman assumes this number is 8, which is a reasonable standard (more than 8 edges per vertex is probably a sub-optimal topology).
For example, the MakeHuman basemesh, which was modeled with high consideration of pole count, has a maximum of 5 edges per vertex.
MakeHuman intentionally is conservative about pole count to benefit performance (of the subdivision algorithm for example), for the same performance reasons it will not check the pole count when loading an OBJ, and instead relies on the user, or creation tool (MakeClothes) to set this number appropriately (at the moment MakeClothes does not do this).
Similarly, you can improve performance of MakeHuman by lowering this number if your proxy mesh has lower pole count. Eg for some meshes this can be set to 6 or 7
Proxy files have a property ''max_pole'' to change this number from the default setting of 8 to something else:
max_pole 9
== Meshes ==
MakeHuman stores its meshes in the standard Wavefront OBJ format. It supports quad-only meshes, and by default allows up to 8 edges per vertex. This number can be increased (see proxy format).
== Material files ==
Here's a list of naming convention for the content of the mhmat-file:
"name": string
"tag": string
"description": string
"ambientColor": 3 x float
"diffuseColor": 3 x float
"specularColor": 3 x float
"shininess": 1 x float
"emissiveColor": 3 x float
"opacity": 1 x float
"translucency": 1 x float
"shadeless": bool
"wireframe": bool
"transparent": bool
"alphaToCoverage": bool
"backfaceCull": bool
"depthless": bool
"castShadows": bool
"receiveShadows": bool
"autoBlendSkin": bool
"diffuseTexture": filename
"bumpmapTexture": filename
"bumpmapIntensity": 1 x float
"normalmapTexture": filename
"normalmapIntensity": 1 x float
"displacementmapTexture": filename
"displacementmapIntensity": 1 x float
"specularmapTexture": filename
"specularmapIntensity": 1 x float
"transparencymapTexture": filename
"transparencymapIntensity": 1 x float
"aomapTexture": filename
"aomapIntensity": 1 x float
"sssEnabled": bool
"sssRScale": 1 x float
"sssGScale": 1 x float
"sssBScale": 1 x float
"shader": filename
"uvMap": filename
"shaderParam": ['diffuse', 'ambient', 'specular', 'emissive', 'diffuseTexture', 'bumpmapTexture', 'bumpmapIntensity', 'normalmapTexture',
'normalmapIntensity', 'displacementmapTexture', 'displacementmapTexture', 'specularmapTexture', 'specularmapIntensity',
'transparencymapTexture', 'transparencymapIntensity', 'aomapTexture', 'aomapIntensity']
"shaderDefine": ['BUMPMAP', 'NORMALMAP', 'DISPLACEMENT', 'SPECULARMAP', 'TRANSPARENCYMAP']
"shaderConfig" "diffuse": bool
"bump": bool
"normal": bool
"displacement": bool
"spec": bool
"vertexColors": bool
"transparency": bool
"ambientOcclusion": bool
Floats are between 0.0 and 1.0
== Poseunit files ==
TODO
== Target files ==
TODO
== Modifier and slider definitions ==
TODO
0ed657ed1230649bf839cf6121cf2de311993205
1290
1289
2017-01-24T15:20:40Z
Robbaer
12
/* .npz files */
wikitext
text/x-wiki
This section briefly reviews the file accessed or manipulated within MakeHuman. An attempt will be made to explain the function of each file format and where in MakeHuman’s modules it is used. Or external formats links will be provided to more detailed descriptions. Where it can help the developer better understand the overall organization of MakeHuman source code, some information on the module group or modules interaction with the various formats will be provided. This section Is intended to be used with the previous section on directories (folders) to develop an overview of MakeHuman code structure. This structural understanding is essential during the debugging process and is essential to expanding the programs functionality in structurally sound ways.
==== .obj files ====
This extension designates Lightwave object files. These OBJ files store mesh information and metadata needed for rendering in text-readable format. It was originally developed for the Lightwave 3D graphics program, but this file format is now broadly supported by many, if not most, 3D programs. Internally, MakeHuman uses OBJ files (or formats directly based on OBJ files) for the canonical storage of its assets. Many of MakeHuman’s development utilities store newly generated assets in formats related to the Lightwave OBJ specification. Examples of assets canonically stored in Lightwave OBJ format include the base human, and auxiliary geometry assets like eyes, hair, and clothes.
Each OBJ file has a record specifying the object’s name and records specifying one or more mesh objects. Mesh objects, in turn, are composed of record groups specifying: points or vertices (v), vertex normal (vn), faces (f), and vertex textures (vt). In MakeHuman and most general purpose 3D programs (e.g., Blender) OBJ files are exported with an accompanying Wavefront material file having the .mtl extension. These MTL files provide the detailed material attributes necessary to get photorealistic rendering of Wavefront objects. A more complete specification of Wavefront object format can be found at:!LINK!http://www.martinreddy.net/gfx/3d/OBJ.spec -- http://www.martinreddy.net/gfx/3d/OBJ.spec!/LINK!
OBJ files and MTL files have a direct internal analog in MakeHuman in the form of the object class, Object3D. This class, along with its properties and methods, is defined in the object3D.py module(libs folder). Object3D objects are central to the internal workings of MakeHuman. The resemblance of Object3D objects to OBJ files is not coincidental. Many of the core mesh assets in MakeHuman are developed in the open-source project, Blender, and moved to MakeHuman internals using OBJ format. In fact, MakeHuman maintains a separate product [MHTools] designed to support development of new core internal assets
==== .mhpxy files ====
This extension designates compressed binary proxies and clothes.
==== .mtl files ====
This extension designates a Wavefront material file. Wavefront MTL files are referenced from within Wavefront OBJ files to specify the materials used in rendering. More complete information on Wavefront material files is available here:!LINK!http://paulbourke.net/dataformats/mtl/ -- http://paulbourke.net/dataformats/mtl/!/LINK!
MakeHuman’s use of MTL file has been limited, but with the increased support for POV rendering, more modules may access and utilize MTL files. Currently, MTL-related data and files is developmental. Thedata foldercontains a cube.obj (3dobj) and a plane.obj (mitsuba folder) ostensibly associated with materials.
==== .npz files ====
This extension designates compressed binary asset files in MakeHuman [think npz = numPy zip files]. Among the most important assets stored with this extension is target vertex information. These target data determine the motion of each MakeHuman vertices (relative to landmark vertices?) as sliders are moved.
Thefiles3D.pymodule (core folder) tests for verifies existence of OS dependent locations of binary mesh files. The primary purpose of thefiles3D.pymodule is to transpose imported 3D data into a standard internal format for each of the 3D file formats supported by the MakeHuman import. Each importer function is written to return the 3d data in a standard format as a Python list:
[verts, vertsSharedFaces, vertsUV, faceGroups, faceGroupsNames]
The targets.pymodule (lib folder) is where system assets stored with the NPZ extension are identified, decompressed, and turned into memory resident structured objects for use by MakeHuman. This Code related to NPZ files can also be found in algos3d.py module (core folder). This module has been part of MakeHuman for a long time, and is used for morphing related operations. It works with loaded binary translation vectors and applies those translations to morphing targets. It may have some legacy capability to work directly with text-based .target files.
The compile_models.py module (lib folder) takes all object mesh files (.obj) and compiles them into binary compressed files (NPZ). Similarly, the compile_targets.py module (lib folder) compiles target files (.target) into binary compressed (NPZ) files. The latter module is referenced by Benjamin Lau in MakeHuman.spec file, likely for build purposes.
Important concept. The root folder of MakeHuman contains a batch file called cleanpz.bat (for Windows) and a corresponding shell script file called cleanpz.sh (for Linux) whose function is to delete NPZ files between repository (Bitbucket or GIT) builds. This “garbage collection” assures that each build is not working with out-of-date assets. It also reminds the developer that most of the canonical assets are initially constructed in text readable format. Developers write appropriate constructors to recompile NPZ files during the MakeHuman startup sequence when missing. For distribution versions of MakeHuman, pre-compiled assets in the form of NPZ files are distributed as stable assets. When start up code confirms their existence , no recompile is done, producing a better start-up experience for the user. This design greatly increases boot and runtime performance for stable distributions without hampering rapid testing of repository versions in interpretative mode.
==== .thumb files ====
This extension designates thumbnail (image preview) files in MakeHuman. Underneath, they are actually images constructed in the .png file format. Thus, they can be edited by standard image editors like GIMP or displayed by most web browsers. The MakeHuman Save Tab code automatically generates a companion .thumb file each time it saves a .mhm file. The .thumb generation is currently done by capturing a rectangular in the center of the viewport window. The MakeHuman Load Tab code uses .thumb images to provide previews of saved models.
The format for .thumb is defined inimage_qt.pymodule (GUI folder). Load and Save use or generation occur inguiload.pyandguisave.pymodules, respectively (lib folder). Numerous plugin modules reference .thumb files (plugins folder) including:2_posing_expression.py,3_libraries_clothes_chooser.py,3_libraries_eye_chooser.py,3_libraries_material_chooser.py,3_libraries_polygon_hair_chooser.py,3_libraries_posing_chooser.py,3_libraries_proxy_chooser.py, 4_rendering_scene.py,7_material_editor.py,
==== .lmk files ====
This MH internal extension designates landmark files. [might be renamed .mhlmk for naming standard reasons.] There is one set of landmarks for the model body (and a second set of landmarks for the model head (data | landmarks folder). These LMK files are written in text readable format. Each line has a single integer which specifies a landmark vertex in the model geometry. Landmark vertices are used for relative (local) spatial reference during model morphing.
Landmark files are used bywarpmodifier.py(apps folder) andwarp.py(utils | tools | warptarget folder).The landmarks in these files are used as references during the complex process of reshaping the human.
==== .mhclo files ====
This MH internal extension designates MakeHuman clothes files. These files define clothing vertexes and remove vertexes from the model to allow fitting of the model without skin showing through. They are created using the MakeHuman Blender toolset, specifically the MakeClothes tool.
A special empty MakeHuman clothes meta-file named clear.mhclo is is used to restore the default UV map that comes with the system. In the lib folder, the filechooser.py module has a MhcloFileLoader.Refresh() method to clear materials when the refresh button is clicked.
In the plugins folder,3_libraries_clothes_chooser.py, 3_libraries_eye_chooser.py, and 3_libraries_polygon_hair_chooser.py all access MHCLO files, but as of this writing, there are some file handling issues related to proxy clothes that means some of this code is commented out. In the shared/export_utils folder, config.py accesses a cage.mhclo file. In the tools folder, the tool ‘MakeClothes’ accesses MHCLO files in both the makeclothes.py and material.py modules. Similarly, the tool ‘MakeTarget‘ accesses MHCLO files in several of its modules:_init_.py, convert.py, import_obj.py, mt.py, ands ettings.py. Finally, two experimental tools in the utils folder, the makeface.py and helpers.py modules access MCHO files.
==== .mhmat files ====
This extension designates MakeHuman material files. Material files are text-readable files that share their syntax structure with Lightwave OBJ and MTL files.
In the app module group,human.pyapplies a default material andmh2proxy.pyhandles materials for proxies and may do some special material handling for MHX Blender export files. In the data folder, the MHCLO files for clothes, eyes, and hair each references an MHMAT files. In the plugins folder,7_material_editor.pyloads, edits, and saves MHMAT files. In the shared folder,material.pyparses MHMAT files and sets material properties. In the tools folder, there is another (independent)material.pymodule for the MakeClothes tool that writes materials to the output file while using that tool within Blender.
==== .mhmat file format Internals====
The entries inside a .mhmat file are of the form:
Comments can be included in c-style line comment format, like
or in python-style line comment format, like
The properties of a makehuman material are numerous so that they can cover the most common needs of exporters and rendering engines, and may vary among the following.
name- The internal name of the material.
Colors- Their value can be in R G B format, like: colorProperty R G B, where R, G, B are floating point numbers between 0 and 1. They control the color of various material properties and effects.
To adjust the intensity of an effect, you can simply edit its color value.
ambientColor -The ambient component of the material, which is usually added on the final color regardless of the surrounding lights.
diffuseColor -The diffuse component of the material, which reacts to each light's relative position.
specularColor -The color of the specular shine that is caused by the reflection of a light source on the material.
emissiveColor- The color of the light that the material seems to emit as if it's a glowing light source.
shininess- The sharpness of the shine spots created by the reflection of a light source on the material, which is how glossy its surface is.
==== .mhuv files ====
This MH internal extension designates UV map files in MakeHuman. These text-readable files based on Lightwave OBJ syntax. They contain one or two lines of metadata and alternative UV data for the texture object to be applied to the model.
There does not currently appear to be a development tool for creating UV map files. They can be created by creating and saving an OBJ file and then renaming it. However, files created in this manner should not be considered fit for the SVN or website because they contain way too much redundant information. The OBJ files created in this manner not only contain the alternate UV set but also contain all vertices of the original mesh.
==== .mhp files ====
This MH internal extension designates pose files. These files are used to store coordinates for the run and walk poses on the pose tab. The dance1 pose appears to be implemented as a pose file, but it also includes some additional .target files. The dance1 pose is also associated wih a .bvh file whereas run and walk are not. In A8 development there have been issues with the dance1 file behaving less well than run and walk. Hopefully, these will be long gone during subsequent development.
==== .mht files ====
==== This MH internal extension designates a theme (GUI color scheme) for the GUI as rendered by the pyQt library. ====
==== .target files ====
This MH internal extension [which lacks the mh… prefix] specifies final extreme positions that can be achieved when moving the interface sliders in one direction or the other. By definition sliders have a value of zero on the left end and 1.0 on the right end, but there is a software flag to reverse this behavior as desired. With scripting it may be possible to exceed slider extremes, but this is currently undocumented and should not be built into production code. There is one TARGET file for each extreme of each movement. These files are hand-built by MakeHuman artist-developers, and they are the engine of the programs utility. Typically, rightward movement of a slider should increase size, and leftward movement of a slider should decrease size. When ‘left’ and ‘right’ are used as asset names, they should refer to the left and right body part on the model, regardless of the model’s orientation in the viewport. When slider movement involves asymmetrical change in the x, y, and z direction, it should be programmed so that the sliders operate naturally using the default viewport view for that slider. For example, left movement of the slider need not cause deformation toward the model’s left side. Such behavior would only be sensible if the default viewport view had the model facing the rear of the viewport (model’s back toward user).
Most MakeHuman modules use data from the TARGET files.
· In the apps group, these modules includes: devtests.py, human.py, humanmodifier.py, posemode.py, and warpmodifier.py.
· In the core group, these modules includes: algos3D.py which is the main program that works with .target files after they are compiled into
· In the apps group, these modules includes:
· In the apps group, these modules includes:
=== .proxy files ===
This MH internal extension designates proxy meshes. They are structured text files. Format and attributes include ... TODO
.qrc file
This is a resource file need used when compiling for the MakeHuman GUI which uses the pyQt library.
=== .qss file ===
This is the text-based file fomat used to store widgets associated with the GUI interface as rendered by the pyQt library
Appreciate help from current developers as what needs to go here. Undoubtedly some confusion or mistakes on my part, but some of it might help orient others. -RWB
Glad to do the grunt work, but feedback on needed improvemrnt greatly appreciated :-)
---------------------------
Also in this section could possibly also loading, saving, exporting formats (but these formats should probably be addressed in context below)
The basic work done within MakeHuman is saved as a file with an .mhm extension. The .mhm files can be loaded at the start of a new user session, and return MakeHuman to the state that it was in at the end of the previous session.
== Proxy files ==
=== Offset and bounds ===
MakeClothes uses a bounding box for scaling the offsets. It's controlled by the ''Offsets'' option in MakeClothes.
This is how this data is stored in the proxy file, so you can modify by hand if desired.
In the mhclo file at the top, these values appear as
x_scale 5399 11998 1.4340
z_scale 962 5320 2.0001
y_scale 791 881 2.4098
Allowed values are:
x_scale
y_scale
z_scale
shear_x
shear_y
shear_z
l_shear_x
l_shear_y
l_shear_z
r_shear_x
r_shear_y
r_shear_z
scale options follow the format:
x_scale v1 v2 den
with v1, v2 vertex indices on the human basemesh, den a denominator with which the scaling value is reduced
which results in the construction of a scale matrix that is applied to all the offsets of the proxy.
eg.
[xscale 0 0 0]
[0 yscale 0 0]
[0 0 zscale 0]
[0 0 0 1]
where xscale is determined from the option x_scale v1 v2 den as:
xscale = abs(coord_pos(v1).x - coord_pos(v2).x) / den
analog for yscale and zscale (.y or .z components of the position vector will be used instead)
shear options follow the format:
shear_x v1 v2 x1 x2
which result in the creation of a shear matrix instead of a scale matrix (I don't know of any instance where this is used)
uses numpy's affine_matrix_from_points method to calculate a transformation matrix that fits all selected points
didn't go into detail understanding this, because it doesn't seem too relevant. Read the code if interested.
scale overrides shear which overrides l_shear which overrides r_shear, only one of them is used (so you either specify scale, shear, l_shear or r_shear but no combination of them)
If you specify one, it is expected you define the other 2 of the same type as well.
=== max_pole ===
Proxy files can specify the pole count, which is the maximum number of edges that a vertex in the proxy mesh (the OBJ file) can have. If all faces around this vertex share their edges, this number also coincides with the maximum number of faces per vertex. If not specified, MakeHuman assumes this number is 8, which is a reasonable standard (more than 8 edges per vertex is probably a sub-optimal topology).
For example, the MakeHuman basemesh, which was modeled with high consideration of pole count, has a maximum of 5 edges per vertex.
MakeHuman intentionally is conservative about pole count to benefit performance (of the subdivision algorithm for example), for the same performance reasons it will not check the pole count when loading an OBJ, and instead relies on the user, or creation tool (MakeClothes) to set this number appropriately (at the moment MakeClothes does not do this).
Similarly, you can improve performance of MakeHuman by lowering this number if your proxy mesh has lower pole count. Eg for some meshes this can be set to 6 or 7
Proxy files have a property ''max_pole'' to change this number from the default setting of 8 to something else:
max_pole 9
== Meshes ==
MakeHuman stores its meshes in the standard Wavefront OBJ format. It supports quad-only meshes, and by default allows up to 8 edges per vertex. This number can be increased (see proxy format).
== Material files ==
TODO
== Poseunit files ==
TODO
== Target files ==
TODO
== Modifier and slider definitions ==
TODO
57a9171f93aed25da0cf8ccd14a79fa9e8c82861
1289
1288
2017-01-24T15:11:52Z
Robbaer
12
/* .mhmat file format Internals */
wikitext
text/x-wiki
This section briefly reviews the file accessed or manipulated within MakeHuman. An attempt will be made to explain the function of each file format and where in MakeHuman’s modules it is used. Or external formats links will be provided to more detailed descriptions. Where it can help the developer better understand the overall organization of MakeHuman source code, some information on the module group or modules interaction with the various formats will be provided. This section Is intended to be used with the previous section on directories (folders) to develop an overview of MakeHuman code structure. This structural understanding is essential during the debugging process and is essential to expanding the programs functionality in structurally sound ways.
==== .obj files ====
This extension designates Lightwave object files. These OBJ files store mesh information and metadata needed for rendering in text-readable format. It was originally developed for the Lightwave 3D graphics program, but this file format is now broadly supported by many, if not most, 3D programs. Internally, MakeHuman uses OBJ files (or formats directly based on OBJ files) for the canonical storage of its assets. Many of MakeHuman’s development utilities store newly generated assets in formats related to the Lightwave OBJ specification. Examples of assets canonically stored in Lightwave OBJ format include the base human, and auxiliary geometry assets like eyes, hair, and clothes.
Each OBJ file has a record specifying the object’s name and records specifying one or more mesh objects. Mesh objects, in turn, are composed of record groups specifying: points or vertices (v), vertex normal (vn), faces (f), and vertex textures (vt). In MakeHuman and most general purpose 3D programs (e.g., Blender) OBJ files are exported with an accompanying Wavefront material file having the .mtl extension. These MTL files provide the detailed material attributes necessary to get photorealistic rendering of Wavefront objects. A more complete specification of Wavefront object format can be found at:!LINK!http://www.martinreddy.net/gfx/3d/OBJ.spec -- http://www.martinreddy.net/gfx/3d/OBJ.spec!/LINK!
OBJ files and MTL files have a direct internal analog in MakeHuman in the form of the object class, Object3D. This class, along with its properties and methods, is defined in the object3D.py module(libs folder). Object3D objects are central to the internal workings of MakeHuman. The resemblance of Object3D objects to OBJ files is not coincidental. Many of the core mesh assets in MakeHuman are developed in the open-source project, Blender, and moved to MakeHuman internals using OBJ format. In fact, MakeHuman maintains a separate product [MHTools] designed to support development of new core internal assets
==== .mhpxy files ====
This extension designates compressed binary proxies and clothes.
==== .mtl files ====
This extension designates a Wavefront material file. Wavefront MTL files are referenced from within Wavefront OBJ files to specify the materials used in rendering. More complete information on Wavefront material files is available here:!LINK!http://paulbourke.net/dataformats/mtl/ -- http://paulbourke.net/dataformats/mtl/!/LINK!
MakeHuman’s use of MTL file has been limited, but with the increased support for POV rendering, more modules may access and utilize MTL files. Currently, MTL-related data and files is developmental. Thedata foldercontains a cube.obj (3dobj) and a plane.obj (mitsuba folder) ostensibly associated with materials.
==== .npz files ====
This extension designates compressed binary asset files in MakeHuman [think npz = numPy zip files]. Among the most important assets stored with this extension is target vertex information. These target data determine the motion of each MakeHuman vertices (relative to landmark vertices?) as sliders are moved.
Thefiles3D.pymodule (core folder) tests for verifies existence of OS dependent locations of binary mesh files. The primary purpose of thefiles3D.pymodule is to transpose imported 3D data into a standard internal format for each of the 3D file formats supported by the MakeHuman import. Each importer function is written to return the 3d data in a standard format as a Python list:
[verts, vertsSharedFaces, vertsUV, faceGroups, faceGroupsNames]
Thetargets.pymodule (lib folder) is where system assets stored with the NPZ extension are identified, decompressed, and turned into memory resident structured objects for use by MakeHuman. This
Code related to NPZ files can also be found inalgos3d.pymodule (core folder). This module has been part of MakeHuman for a long time, and is used for morphing related operations. It works with loaded binary translation vectors and applies those translations to morphing targets. It may have some legacy capability to work directly with text-based .target files.
Thecompile_models.pymodule (lib folder) takes all object mesh files (.obj) and compiles them into binary compressed files (NPZ). Similarly, thecompile_targets.pymodule (lib folder) compiles target files (.target) into binary compressed (NPZ) files. The latter module is referenced by Benjamin Lau inMakeHuman.specfile, likely for build purposes.
Important concept. The root folder of MakeHuman contains a batch file calledcleanpz.bat(for Windows) and a corresponding shell script file calledcleanpz.sh(for Linux) whose function is to delete NPZ files between SVN builds. This “garbage collection” assures that each build is not working with out-of-date assets. It also reminds the developer that most of the canonical assets are initially constructed in text readable format. Developers write appropriate constructors to recompile NPZ files during the MakeHuman startup sequence when missing. For distribution versions of MakeHuman, pre-compiled assets in the form of NPZ files are distributed as stable assets. When start up code confirms their existence , no recompile is done, producing a better start-up experience for the user. This design greatly increases boot and runtime performance for stable distributions without hampering rapid testing of SVN versions in interpretative mode.
==== .thumb files ====
This extension designates thumbnail (image preview) files in MakeHuman. Underneath, they are actually images constructed in the .png file format. Thus, they can be edited by standard image editors like GIMP or displayed by most web browsers. The MakeHuman Save Tab code automatically generates a companion .thumb file each time it saves a .mhm file. The .thumb generation is currently done by capturing a rectangular in the center of the viewport window. The MakeHuman Load Tab code uses .thumb images to provide previews of saved models.
The format for .thumb is defined inimage_qt.pymodule (GUI folder). Load and Save use or generation occur inguiload.pyandguisave.pymodules, respectively (lib folder). Numerous plugin modules reference .thumb files (plugins folder) including:2_posing_expression.py,3_libraries_clothes_chooser.py,3_libraries_eye_chooser.py,3_libraries_material_chooser.py,3_libraries_polygon_hair_chooser.py,3_libraries_posing_chooser.py,3_libraries_proxy_chooser.py, 4_rendering_scene.py,7_material_editor.py,
==== .lmk files ====
This MH internal extension designates landmark files. [might be renamed .mhlmk for naming standard reasons.] There is one set of landmarks for the model body (and a second set of landmarks for the model head (data | landmarks folder). These LMK files are written in text readable format. Each line has a single integer which specifies a landmark vertex in the model geometry. Landmark vertices are used for relative (local) spatial reference during model morphing.
Landmark files are used bywarpmodifier.py(apps folder) andwarp.py(utils | tools | warptarget folder).The landmarks in these files are used as references during the complex process of reshaping the human.
==== .mhclo files ====
This MH internal extension designates MakeHuman clothes files. These files define clothing vertexes and remove vertexes from the model to allow fitting of the model without skin showing through. They are created using the MakeHuman Blender toolset, specifically the MakeClothes tool.
A special empty MakeHuman clothes meta-file named clear.mhclo is is used to restore the default UV map that comes with the system. In the lib folder, the filechooser.py module has a MhcloFileLoader.Refresh() method to clear materials when the refresh button is clicked.
In the plugins folder,3_libraries_clothes_chooser.py, 3_libraries_eye_chooser.py, and 3_libraries_polygon_hair_chooser.py all access MHCLO files, but as of this writing, there are some file handling issues related to proxy clothes that means some of this code is commented out. In the shared/export_utils folder, config.py accesses a cage.mhclo file. In the tools folder, the tool ‘MakeClothes’ accesses MHCLO files in both the makeclothes.py and material.py modules. Similarly, the tool ‘MakeTarget‘ accesses MHCLO files in several of its modules:_init_.py, convert.py, import_obj.py, mt.py, ands ettings.py. Finally, two experimental tools in the utils folder, the makeface.py and helpers.py modules access MCHO files.
==== .mhmat files ====
This extension designates MakeHuman material files. Material files are text-readable files that share their syntax structure with Lightwave OBJ and MTL files.
In the app module group,human.pyapplies a default material andmh2proxy.pyhandles materials for proxies and may do some special material handling for MHX Blender export files. In the data folder, the MHCLO files for clothes, eyes, and hair each references an MHMAT files. In the plugins folder,7_material_editor.pyloads, edits, and saves MHMAT files. In the shared folder,material.pyparses MHMAT files and sets material properties. In the tools folder, there is another (independent)material.pymodule for the MakeClothes tool that writes materials to the output file while using that tool within Blender.
==== .mhmat file format Internals====
The entries inside a .mhmat file are of the form:
Comments can be included in c-style line comment format, like
or in python-style line comment format, like
The properties of a makehuman material are numerous so that they can cover the most common needs of exporters and rendering engines, and may vary among the following.
name- The internal name of the material.
Colors- Their value can be in R G B format, like: colorProperty R G B, where R, G, B are floating point numbers between 0 and 1. They control the color of various material properties and effects.
To adjust the intensity of an effect, you can simply edit its color value.
ambientColor -The ambient component of the material, which is usually added on the final color regardless of the surrounding lights.
diffuseColor -The diffuse component of the material, which reacts to each light's relative position.
specularColor -The color of the specular shine that is caused by the reflection of a light source on the material.
emissiveColor- The color of the light that the material seems to emit as if it's a glowing light source.
shininess- The sharpness of the shine spots created by the reflection of a light source on the material, which is how glossy its surface is.
==== .mhuv files ====
This MH internal extension designates UV map files in MakeHuman. These text-readable files based on Lightwave OBJ syntax. They contain one or two lines of metadata and alternative UV data for the texture object to be applied to the model.
There does not currently appear to be a development tool for creating UV map files. They can be created by creating and saving an OBJ file and then renaming it. However, files created in this manner should not be considered fit for the SVN or website because they contain way too much redundant information. The OBJ files created in this manner not only contain the alternate UV set but also contain all vertices of the original mesh.
==== .mhp files ====
This MH internal extension designates pose files. These files are used to store coordinates for the run and walk poses on the pose tab. The dance1 pose appears to be implemented as a pose file, but it also includes some additional .target files. The dance1 pose is also associated wih a .bvh file whereas run and walk are not. In A8 development there have been issues with the dance1 file behaving less well than run and walk. Hopefully, these will be long gone during subsequent development.
==== .mht files ====
==== This MH internal extension designates a theme (GUI color scheme) for the GUI as rendered by the pyQt library. ====
==== .target files ====
This MH internal extension [which lacks the mh… prefix] specifies final extreme positions that can be achieved when moving the interface sliders in one direction or the other. By definition sliders have a value of zero on the left end and 1.0 on the right end, but there is a software flag to reverse this behavior as desired. With scripting it may be possible to exceed slider extremes, but this is currently undocumented and should not be built into production code. There is one TARGET file for each extreme of each movement. These files are hand-built by MakeHuman artist-developers, and they are the engine of the programs utility. Typically, rightward movement of a slider should increase size, and leftward movement of a slider should decrease size. When ‘left’ and ‘right’ are used as asset names, they should refer to the left and right body part on the model, regardless of the model’s orientation in the viewport. When slider movement involves asymmetrical change in the x, y, and z direction, it should be programmed so that the sliders operate naturally using the default viewport view for that slider. For example, left movement of the slider need not cause deformation toward the model’s left side. Such behavior would only be sensible if the default viewport view had the model facing the rear of the viewport (model’s back toward user).
Most MakeHuman modules use data from the TARGET files.
· In the apps group, these modules includes: devtests.py, human.py, humanmodifier.py, posemode.py, and warpmodifier.py.
· In the core group, these modules includes: algos3D.py which is the main program that works with .target files after they are compiled into
· In the apps group, these modules includes:
· In the apps group, these modules includes:
=== .proxy files ===
This MH internal extension designates proxy meshes. They are structured text files. Format and attributes include ... TODO
.qrc file
This is a resource file need used when compiling for the MakeHuman GUI which uses the pyQt library.
=== .qss file ===
This is the text-based file fomat used to store widgets associated with the GUI interface as rendered by the pyQt library
Appreciate help from current developers as what needs to go here. Undoubtedly some confusion or mistakes on my part, but some of it might help orient others. -RWB
Glad to do the grunt work, but feedback on needed improvemrnt greatly appreciated :-)
---------------------------
Also in this section could possibly also loading, saving, exporting formats (but these formats should probably be addressed in context below)
The basic work done within MakeHuman is saved as a file with an .mhm extension. The .mhm files can be loaded at the start of a new user session, and return MakeHuman to the state that it was in at the end of the previous session.
== Proxy files ==
=== Offset and bounds ===
MakeClothes uses a bounding box for scaling the offsets. It's controlled by the ''Offsets'' option in MakeClothes.
This is how this data is stored in the proxy file, so you can modify by hand if desired.
In the mhclo file at the top, these values appear as
x_scale 5399 11998 1.4340
z_scale 962 5320 2.0001
y_scale 791 881 2.4098
Allowed values are:
x_scale
y_scale
z_scale
shear_x
shear_y
shear_z
l_shear_x
l_shear_y
l_shear_z
r_shear_x
r_shear_y
r_shear_z
scale options follow the format:
x_scale v1 v2 den
with v1, v2 vertex indices on the human basemesh, den a denominator with which the scaling value is reduced
which results in the construction of a scale matrix that is applied to all the offsets of the proxy.
eg.
[xscale 0 0 0]
[0 yscale 0 0]
[0 0 zscale 0]
[0 0 0 1]
where xscale is determined from the option x_scale v1 v2 den as:
xscale = abs(coord_pos(v1).x - coord_pos(v2).x) / den
analog for yscale and zscale (.y or .z components of the position vector will be used instead)
shear options follow the format:
shear_x v1 v2 x1 x2
which result in the creation of a shear matrix instead of a scale matrix (I don't know of any instance where this is used)
uses numpy's affine_matrix_from_points method to calculate a transformation matrix that fits all selected points
didn't go into detail understanding this, because it doesn't seem too relevant. Read the code if interested.
scale overrides shear which overrides l_shear which overrides r_shear, only one of them is used (so you either specify scale, shear, l_shear or r_shear but no combination of them)
If you specify one, it is expected you define the other 2 of the same type as well.
=== max_pole ===
Proxy files can specify the pole count, which is the maximum number of edges that a vertex in the proxy mesh (the OBJ file) can have. If all faces around this vertex share their edges, this number also coincides with the maximum number of faces per vertex. If not specified, MakeHuman assumes this number is 8, which is a reasonable standard (more than 8 edges per vertex is probably a sub-optimal topology).
For example, the MakeHuman basemesh, which was modeled with high consideration of pole count, has a maximum of 5 edges per vertex.
MakeHuman intentionally is conservative about pole count to benefit performance (of the subdivision algorithm for example), for the same performance reasons it will not check the pole count when loading an OBJ, and instead relies on the user, or creation tool (MakeClothes) to set this number appropriately (at the moment MakeClothes does not do this).
Similarly, you can improve performance of MakeHuman by lowering this number if your proxy mesh has lower pole count. Eg for some meshes this can be set to 6 or 7
Proxy files have a property ''max_pole'' to change this number from the default setting of 8 to something else:
max_pole 9
== Meshes ==
MakeHuman stores its meshes in the standard Wavefront OBJ format. It supports quad-only meshes, and by default allows up to 8 edges per vertex. This number can be increased (see proxy format).
== Material files ==
TODO
== Poseunit files ==
TODO
== Target files ==
TODO
== Modifier and slider definitions ==
TODO
2fad62556f9577ddbfaf87dc64fd2c55bbb858f0
1288
1287
2017-01-24T15:10:19Z
Robbaer
12
/* .mhmat file format Internals */
wikitext
text/x-wiki
This section briefly reviews the file accessed or manipulated within MakeHuman. An attempt will be made to explain the function of each file format and where in MakeHuman’s modules it is used. Or external formats links will be provided to more detailed descriptions. Where it can help the developer better understand the overall organization of MakeHuman source code, some information on the module group or modules interaction with the various formats will be provided. This section Is intended to be used with the previous section on directories (folders) to develop an overview of MakeHuman code structure. This structural understanding is essential during the debugging process and is essential to expanding the programs functionality in structurally sound ways.
==== .obj files ====
This extension designates Lightwave object files. These OBJ files store mesh information and metadata needed for rendering in text-readable format. It was originally developed for the Lightwave 3D graphics program, but this file format is now broadly supported by many, if not most, 3D programs. Internally, MakeHuman uses OBJ files (or formats directly based on OBJ files) for the canonical storage of its assets. Many of MakeHuman’s development utilities store newly generated assets in formats related to the Lightwave OBJ specification. Examples of assets canonically stored in Lightwave OBJ format include the base human, and auxiliary geometry assets like eyes, hair, and clothes.
Each OBJ file has a record specifying the object’s name and records specifying one or more mesh objects. Mesh objects, in turn, are composed of record groups specifying: points or vertices (v), vertex normal (vn), faces (f), and vertex textures (vt). In MakeHuman and most general purpose 3D programs (e.g., Blender) OBJ files are exported with an accompanying Wavefront material file having the .mtl extension. These MTL files provide the detailed material attributes necessary to get photorealistic rendering of Wavefront objects. A more complete specification of Wavefront object format can be found at:!LINK!http://www.martinreddy.net/gfx/3d/OBJ.spec -- http://www.martinreddy.net/gfx/3d/OBJ.spec!/LINK!
OBJ files and MTL files have a direct internal analog in MakeHuman in the form of the object class, Object3D. This class, along with its properties and methods, is defined in the object3D.py module(libs folder). Object3D objects are central to the internal workings of MakeHuman. The resemblance of Object3D objects to OBJ files is not coincidental. Many of the core mesh assets in MakeHuman are developed in the open-source project, Blender, and moved to MakeHuman internals using OBJ format. In fact, MakeHuman maintains a separate product [MHTools] designed to support development of new core internal assets
==== .mhpxy files ====
This extension designates compressed binary proxies and clothes.
==== .mtl files ====
This extension designates a Wavefront material file. Wavefront MTL files are referenced from within Wavefront OBJ files to specify the materials used in rendering. More complete information on Wavefront material files is available here:!LINK!http://paulbourke.net/dataformats/mtl/ -- http://paulbourke.net/dataformats/mtl/!/LINK!
MakeHuman’s use of MTL file has been limited, but with the increased support for POV rendering, more modules may access and utilize MTL files. Currently, MTL-related data and files is developmental. Thedata foldercontains a cube.obj (3dobj) and a plane.obj (mitsuba folder) ostensibly associated with materials.
==== .npz files ====
This extension designates compressed binary asset files in MakeHuman [think npz = numPy zip files]. Among the most important assets stored with this extension is target vertex information. These target data determine the motion of each MakeHuman vertices (relative to landmark vertices?) as sliders are moved.
Thefiles3D.pymodule (core folder) tests for verifies existence of OS dependent locations of binary mesh files. The primary purpose of thefiles3D.pymodule is to transpose imported 3D data into a standard internal format for each of the 3D file formats supported by the MakeHuman import. Each importer function is written to return the 3d data in a standard format as a Python list:
[verts, vertsSharedFaces, vertsUV, faceGroups, faceGroupsNames]
Thetargets.pymodule (lib folder) is where system assets stored with the NPZ extension are identified, decompressed, and turned into memory resident structured objects for use by MakeHuman. This
Code related to NPZ files can also be found inalgos3d.pymodule (core folder). This module has been part of MakeHuman for a long time, and is used for morphing related operations. It works with loaded binary translation vectors and applies those translations to morphing targets. It may have some legacy capability to work directly with text-based .target files.
Thecompile_models.pymodule (lib folder) takes all object mesh files (.obj) and compiles them into binary compressed files (NPZ). Similarly, thecompile_targets.pymodule (lib folder) compiles target files (.target) into binary compressed (NPZ) files. The latter module is referenced by Benjamin Lau inMakeHuman.specfile, likely for build purposes.
Important concept. The root folder of MakeHuman contains a batch file calledcleanpz.bat(for Windows) and a corresponding shell script file calledcleanpz.sh(for Linux) whose function is to delete NPZ files between SVN builds. This “garbage collection” assures that each build is not working with out-of-date assets. It also reminds the developer that most of the canonical assets are initially constructed in text readable format. Developers write appropriate constructors to recompile NPZ files during the MakeHuman startup sequence when missing. For distribution versions of MakeHuman, pre-compiled assets in the form of NPZ files are distributed as stable assets. When start up code confirms their existence , no recompile is done, producing a better start-up experience for the user. This design greatly increases boot and runtime performance for stable distributions without hampering rapid testing of SVN versions in interpretative mode.
==== .thumb files ====
This extension designates thumbnail (image preview) files in MakeHuman. Underneath, they are actually images constructed in the .png file format. Thus, they can be edited by standard image editors like GIMP or displayed by most web browsers. The MakeHuman Save Tab code automatically generates a companion .thumb file each time it saves a .mhm file. The .thumb generation is currently done by capturing a rectangular in the center of the viewport window. The MakeHuman Load Tab code uses .thumb images to provide previews of saved models.
The format for .thumb is defined inimage_qt.pymodule (GUI folder). Load and Save use or generation occur inguiload.pyandguisave.pymodules, respectively (lib folder). Numerous plugin modules reference .thumb files (plugins folder) including:2_posing_expression.py,3_libraries_clothes_chooser.py,3_libraries_eye_chooser.py,3_libraries_material_chooser.py,3_libraries_polygon_hair_chooser.py,3_libraries_posing_chooser.py,3_libraries_proxy_chooser.py, 4_rendering_scene.py,7_material_editor.py,
==== .lmk files ====
This MH internal extension designates landmark files. [might be renamed .mhlmk for naming standard reasons.] There is one set of landmarks for the model body (and a second set of landmarks for the model head (data | landmarks folder). These LMK files are written in text readable format. Each line has a single integer which specifies a landmark vertex in the model geometry. Landmark vertices are used for relative (local) spatial reference during model morphing.
Landmark files are used bywarpmodifier.py(apps folder) andwarp.py(utils | tools | warptarget folder).The landmarks in these files are used as references during the complex process of reshaping the human.
==== .mhclo files ====
This MH internal extension designates MakeHuman clothes files. These files define clothing vertexes and remove vertexes from the model to allow fitting of the model without skin showing through. They are created using the MakeHuman Blender toolset, specifically the MakeClothes tool.
A special empty MakeHuman clothes meta-file named clear.mhclo is is used to restore the default UV map that comes with the system. In the lib folder, the filechooser.py module has a MhcloFileLoader.Refresh() method to clear materials when the refresh button is clicked.
In the plugins folder,3_libraries_clothes_chooser.py, 3_libraries_eye_chooser.py, and 3_libraries_polygon_hair_chooser.py all access MHCLO files, but as of this writing, there are some file handling issues related to proxy clothes that means some of this code is commented out. In the shared/export_utils folder, config.py accesses a cage.mhclo file. In the tools folder, the tool ‘MakeClothes’ accesses MHCLO files in both the makeclothes.py and material.py modules. Similarly, the tool ‘MakeTarget‘ accesses MHCLO files in several of its modules:_init_.py, convert.py, import_obj.py, mt.py, ands ettings.py. Finally, two experimental tools in the utils folder, the makeface.py and helpers.py modules access MCHO files.
==== .mhmat files ====
This extension designates MakeHuman material files. Material files are text-readable files that share their syntax structure with Lightwave OBJ and MTL files.
In the app module group,human.pyapplies a default material andmh2proxy.pyhandles materials for proxies and may do some special material handling for MHX Blender export files. In the data folder, the MHCLO files for clothes, eyes, and hair each references an MHMAT files. In the plugins folder,7_material_editor.pyloads, edits, and saves MHMAT files. In the shared folder,material.pyparses MHMAT files and sets material properties. In the tools folder, there is another (independent)material.pymodule for the MakeClothes tool that writes materials to the output file while using that tool within Blender.
==== .mhmat file format Internals====
The entries inside a .mhmat file are of the form:
Comments can be included in c-style line comment format, like
or in python-style line comment format, like
The properties of a makehuman material are numerous so that they can cover the most common needs of exporters and rendering engines, and may vary among the following.
name- The internal name of the material.
Colors- Their value can be in R G B format, like: colorProperty R G B, where R, G, B are floating point numbers between 0 and 1. They control the color of various material properties and effects.
To adjust the intensity of an effect, you can simply edit its color value.
ambientColor -The ambient component of the material, which is usually added on the final color regardless of the surrounding lights.
diffuseColor -The diffuse component of the material, which reacts to each light's relative position.
specularColor -The color of the specular shine that is caused by the reflection of a light source on the material.
emissiveColor- The color of the light that the material seems to emit like if it's a glowing light source.
shininess- The sharpness of the shine spots created by the reflection of a light source on the material, which is how glossy its surface is.
==== .mhuv files ====
This MH internal extension designates UV map files in MakeHuman. These text-readable files based on Lightwave OBJ syntax. They contain one or two lines of metadata and alternative UV data for the texture object to be applied to the model.
There does not currently appear to be a development tool for creating UV map files. They can be created by creating and saving an OBJ file and then renaming it. However, files created in this manner should not be considered fit for the SVN or website because they contain way too much redundant information. The OBJ files created in this manner not only contain the alternate UV set but also contain all vertices of the original mesh.
==== .mhp files ====
This MH internal extension designates pose files. These files are used to store coordinates for the run and walk poses on the pose tab. The dance1 pose appears to be implemented as a pose file, but it also includes some additional .target files. The dance1 pose is also associated wih a .bvh file whereas run and walk are not. In A8 development there have been issues with the dance1 file behaving less well than run and walk. Hopefully, these will be long gone during subsequent development.
==== .mht files ====
==== This MH internal extension designates a theme (GUI color scheme) for the GUI as rendered by the pyQt library. ====
==== .target files ====
This MH internal extension [which lacks the mh… prefix] specifies final extreme positions that can be achieved when moving the interface sliders in one direction or the other. By definition sliders have a value of zero on the left end and 1.0 on the right end, but there is a software flag to reverse this behavior as desired. With scripting it may be possible to exceed slider extremes, but this is currently undocumented and should not be built into production code. There is one TARGET file for each extreme of each movement. These files are hand-built by MakeHuman artist-developers, and they are the engine of the programs utility. Typically, rightward movement of a slider should increase size, and leftward movement of a slider should decrease size. When ‘left’ and ‘right’ are used as asset names, they should refer to the left and right body part on the model, regardless of the model’s orientation in the viewport. When slider movement involves asymmetrical change in the x, y, and z direction, it should be programmed so that the sliders operate naturally using the default viewport view for that slider. For example, left movement of the slider need not cause deformation toward the model’s left side. Such behavior would only be sensible if the default viewport view had the model facing the rear of the viewport (model’s back toward user).
Most MakeHuman modules use data from the TARGET files.
· In the apps group, these modules includes: devtests.py, human.py, humanmodifier.py, posemode.py, and warpmodifier.py.
· In the core group, these modules includes: algos3D.py which is the main program that works with .target files after they are compiled into
· In the apps group, these modules includes:
· In the apps group, these modules includes:
=== .proxy files ===
This MH internal extension designates proxy meshes. They are structured text files. Format and attributes include ... TODO
.qrc file
This is a resource file need used when compiling for the MakeHuman GUI which uses the pyQt library.
=== .qss file ===
This is the text-based file fomat used to store widgets associated with the GUI interface as rendered by the pyQt library
Appreciate help from current developers as what needs to go here. Undoubtedly some confusion or mistakes on my part, but some of it might help orient others. -RWB
Glad to do the grunt work, but feedback on needed improvemrnt greatly appreciated :-)
---------------------------
Also in this section could possibly also loading, saving, exporting formats (but these formats should probably be addressed in context below)
The basic work done within MakeHuman is saved as a file with an .mhm extension. The .mhm files can be loaded at the start of a new user session, and return MakeHuman to the state that it was in at the end of the previous session.
== Proxy files ==
=== Offset and bounds ===
MakeClothes uses a bounding box for scaling the offsets. It's controlled by the ''Offsets'' option in MakeClothes.
This is how this data is stored in the proxy file, so you can modify by hand if desired.
In the mhclo file at the top, these values appear as
x_scale 5399 11998 1.4340
z_scale 962 5320 2.0001
y_scale 791 881 2.4098
Allowed values are:
x_scale
y_scale
z_scale
shear_x
shear_y
shear_z
l_shear_x
l_shear_y
l_shear_z
r_shear_x
r_shear_y
r_shear_z
scale options follow the format:
x_scale v1 v2 den
with v1, v2 vertex indices on the human basemesh, den a denominator with which the scaling value is reduced
which results in the construction of a scale matrix that is applied to all the offsets of the proxy.
eg.
[xscale 0 0 0]
[0 yscale 0 0]
[0 0 zscale 0]
[0 0 0 1]
where xscale is determined from the option x_scale v1 v2 den as:
xscale = abs(coord_pos(v1).x - coord_pos(v2).x) / den
analog for yscale and zscale (.y or .z components of the position vector will be used instead)
shear options follow the format:
shear_x v1 v2 x1 x2
which result in the creation of a shear matrix instead of a scale matrix (I don't know of any instance where this is used)
uses numpy's affine_matrix_from_points method to calculate a transformation matrix that fits all selected points
didn't go into detail understanding this, because it doesn't seem too relevant. Read the code if interested.
scale overrides shear which overrides l_shear which overrides r_shear, only one of them is used (so you either specify scale, shear, l_shear or r_shear but no combination of them)
If you specify one, it is expected you define the other 2 of the same type as well.
=== max_pole ===
Proxy files can specify the pole count, which is the maximum number of edges that a vertex in the proxy mesh (the OBJ file) can have. If all faces around this vertex share their edges, this number also coincides with the maximum number of faces per vertex. If not specified, MakeHuman assumes this number is 8, which is a reasonable standard (more than 8 edges per vertex is probably a sub-optimal topology).
For example, the MakeHuman basemesh, which was modeled with high consideration of pole count, has a maximum of 5 edges per vertex.
MakeHuman intentionally is conservative about pole count to benefit performance (of the subdivision algorithm for example), for the same performance reasons it will not check the pole count when loading an OBJ, and instead relies on the user, or creation tool (MakeClothes) to set this number appropriately (at the moment MakeClothes does not do this).
Similarly, you can improve performance of MakeHuman by lowering this number if your proxy mesh has lower pole count. Eg for some meshes this can be set to 6 or 7
Proxy files have a property ''max_pole'' to change this number from the default setting of 8 to something else:
max_pole 9
== Meshes ==
MakeHuman stores its meshes in the standard Wavefront OBJ format. It supports quad-only meshes, and by default allows up to 8 edges per vertex. This number can be increased (see proxy format).
== Material files ==
TODO
== Poseunit files ==
TODO
== Target files ==
TODO
== Modifier and slider definitions ==
TODO
c44b3335f7d164604bae7af2b23d3f5f229d653f
1287
1286
2017-01-24T15:09:02Z
Robbaer
12
/* .mhmat file format Internals */
wikitext
text/x-wiki
This section briefly reviews the file accessed or manipulated within MakeHuman. An attempt will be made to explain the function of each file format and where in MakeHuman’s modules it is used. Or external formats links will be provided to more detailed descriptions. Where it can help the developer better understand the overall organization of MakeHuman source code, some information on the module group or modules interaction with the various formats will be provided. This section Is intended to be used with the previous section on directories (folders) to develop an overview of MakeHuman code structure. This structural understanding is essential during the debugging process and is essential to expanding the programs functionality in structurally sound ways.
==== .obj files ====
This extension designates Lightwave object files. These OBJ files store mesh information and metadata needed for rendering in text-readable format. It was originally developed for the Lightwave 3D graphics program, but this file format is now broadly supported by many, if not most, 3D programs. Internally, MakeHuman uses OBJ files (or formats directly based on OBJ files) for the canonical storage of its assets. Many of MakeHuman’s development utilities store newly generated assets in formats related to the Lightwave OBJ specification. Examples of assets canonically stored in Lightwave OBJ format include the base human, and auxiliary geometry assets like eyes, hair, and clothes.
Each OBJ file has a record specifying the object’s name and records specifying one or more mesh objects. Mesh objects, in turn, are composed of record groups specifying: points or vertices (v), vertex normal (vn), faces (f), and vertex textures (vt). In MakeHuman and most general purpose 3D programs (e.g., Blender) OBJ files are exported with an accompanying Wavefront material file having the .mtl extension. These MTL files provide the detailed material attributes necessary to get photorealistic rendering of Wavefront objects. A more complete specification of Wavefront object format can be found at:!LINK!http://www.martinreddy.net/gfx/3d/OBJ.spec -- http://www.martinreddy.net/gfx/3d/OBJ.spec!/LINK!
OBJ files and MTL files have a direct internal analog in MakeHuman in the form of the object class, Object3D. This class, along with its properties and methods, is defined in the object3D.py module(libs folder). Object3D objects are central to the internal workings of MakeHuman. The resemblance of Object3D objects to OBJ files is not coincidental. Many of the core mesh assets in MakeHuman are developed in the open-source project, Blender, and moved to MakeHuman internals using OBJ format. In fact, MakeHuman maintains a separate product [MHTools] designed to support development of new core internal assets
==== .mhpxy files ====
This extension designates compressed binary proxies and clothes.
==== .mtl files ====
This extension designates a Wavefront material file. Wavefront MTL files are referenced from within Wavefront OBJ files to specify the materials used in rendering. More complete information on Wavefront material files is available here:!LINK!http://paulbourke.net/dataformats/mtl/ -- http://paulbourke.net/dataformats/mtl/!/LINK!
MakeHuman’s use of MTL file has been limited, but with the increased support for POV rendering, more modules may access and utilize MTL files. Currently, MTL-related data and files is developmental. Thedata foldercontains a cube.obj (3dobj) and a plane.obj (mitsuba folder) ostensibly associated with materials.
==== .npz files ====
This extension designates compressed binary asset files in MakeHuman [think npz = numPy zip files]. Among the most important assets stored with this extension is target vertex information. These target data determine the motion of each MakeHuman vertices (relative to landmark vertices?) as sliders are moved.
Thefiles3D.pymodule (core folder) tests for verifies existence of OS dependent locations of binary mesh files. The primary purpose of thefiles3D.pymodule is to transpose imported 3D data into a standard internal format for each of the 3D file formats supported by the MakeHuman import. Each importer function is written to return the 3d data in a standard format as a Python list:
[verts, vertsSharedFaces, vertsUV, faceGroups, faceGroupsNames]
Thetargets.pymodule (lib folder) is where system assets stored with the NPZ extension are identified, decompressed, and turned into memory resident structured objects for use by MakeHuman. This
Code related to NPZ files can also be found inalgos3d.pymodule (core folder). This module has been part of MakeHuman for a long time, and is used for morphing related operations. It works with loaded binary translation vectors and applies those translations to morphing targets. It may have some legacy capability to work directly with text-based .target files.
Thecompile_models.pymodule (lib folder) takes all object mesh files (.obj) and compiles them into binary compressed files (NPZ). Similarly, thecompile_targets.pymodule (lib folder) compiles target files (.target) into binary compressed (NPZ) files. The latter module is referenced by Benjamin Lau inMakeHuman.specfile, likely for build purposes.
Important concept. The root folder of MakeHuman contains a batch file calledcleanpz.bat(for Windows) and a corresponding shell script file calledcleanpz.sh(for Linux) whose function is to delete NPZ files between SVN builds. This “garbage collection” assures that each build is not working with out-of-date assets. It also reminds the developer that most of the canonical assets are initially constructed in text readable format. Developers write appropriate constructors to recompile NPZ files during the MakeHuman startup sequence when missing. For distribution versions of MakeHuman, pre-compiled assets in the form of NPZ files are distributed as stable assets. When start up code confirms their existence , no recompile is done, producing a better start-up experience for the user. This design greatly increases boot and runtime performance for stable distributions without hampering rapid testing of SVN versions in interpretative mode.
==== .thumb files ====
This extension designates thumbnail (image preview) files in MakeHuman. Underneath, they are actually images constructed in the .png file format. Thus, they can be edited by standard image editors like GIMP or displayed by most web browsers. The MakeHuman Save Tab code automatically generates a companion .thumb file each time it saves a .mhm file. The .thumb generation is currently done by capturing a rectangular in the center of the viewport window. The MakeHuman Load Tab code uses .thumb images to provide previews of saved models.
The format for .thumb is defined inimage_qt.pymodule (GUI folder). Load and Save use or generation occur inguiload.pyandguisave.pymodules, respectively (lib folder). Numerous plugin modules reference .thumb files (plugins folder) including:2_posing_expression.py,3_libraries_clothes_chooser.py,3_libraries_eye_chooser.py,3_libraries_material_chooser.py,3_libraries_polygon_hair_chooser.py,3_libraries_posing_chooser.py,3_libraries_proxy_chooser.py, 4_rendering_scene.py,7_material_editor.py,
==== .lmk files ====
This MH internal extension designates landmark files. [might be renamed .mhlmk for naming standard reasons.] There is one set of landmarks for the model body (and a second set of landmarks for the model head (data | landmarks folder). These LMK files are written in text readable format. Each line has a single integer which specifies a landmark vertex in the model geometry. Landmark vertices are used for relative (local) spatial reference during model morphing.
Landmark files are used bywarpmodifier.py(apps folder) andwarp.py(utils | tools | warptarget folder).The landmarks in these files are used as references during the complex process of reshaping the human.
==== .mhclo files ====
This MH internal extension designates MakeHuman clothes files. These files define clothing vertexes and remove vertexes from the model to allow fitting of the model without skin showing through. They are created using the MakeHuman Blender toolset, specifically the MakeClothes tool.
A special empty MakeHuman clothes meta-file named clear.mhclo is is used to restore the default UV map that comes with the system. In the lib folder, the filechooser.py module has a MhcloFileLoader.Refresh() method to clear materials when the refresh button is clicked.
In the plugins folder,3_libraries_clothes_chooser.py, 3_libraries_eye_chooser.py, and 3_libraries_polygon_hair_chooser.py all access MHCLO files, but as of this writing, there are some file handling issues related to proxy clothes that means some of this code is commented out. In the shared/export_utils folder, config.py accesses a cage.mhclo file. In the tools folder, the tool ‘MakeClothes’ accesses MHCLO files in both the makeclothes.py and material.py modules. Similarly, the tool ‘MakeTarget‘ accesses MHCLO files in several of its modules:_init_.py, convert.py, import_obj.py, mt.py, ands ettings.py. Finally, two experimental tools in the utils folder, the makeface.py and helpers.py modules access MCHO files.
==== .mhmat files ====
This extension designates MakeHuman material files. Material files are text-readable files that share their syntax structure with Lightwave OBJ and MTL files.
In the app module group,human.pyapplies a default material andmh2proxy.pyhandles materials for proxies and may do some special material handling for MHX Blender export files. In the data folder, the MHCLO files for clothes, eyes, and hair each references an MHMAT files. In the plugins folder,7_material_editor.pyloads, edits, and saves MHMAT files. In the shared folder,material.pyparses MHMAT files and sets material properties. In the tools folder, there is another (independent)material.pymodule for the MakeClothes tool that writes materials to the output file while using that tool within Blender.
==== .mhmat file format Internals====
The entries inside a .mhmat file are of the form:
Comments can be included in c-style line comment format, like
or in python-style line comment format, like
The properties of a makehuman material are numerous so that they can cover the most common needs of exporters and rendering engines, and may vary among the following.
name- The internal name of the material.
Colors- Their value can be in R G B format, like: colorProperty R G B, where R, G, B are floating point numbers between 0 and 1. They control the color of various material properties and effects.
To adjust the intensity of an effect, you can simply edit its color value.
ambientColor -The ambient component of the material, which is usually added on the final color regardless of the surrounding lights.
diffuseColor -The diffuse component of the material, which reacts to each light's relative position.
specularColor -The color of the specular shine that is caused by the reflection of a light source on the material.
emissiveColor- The color of the light that the material seems to emit like if it's a glowing light source.
shininess- The sharpness of the shine spots created by the reflection of a light source on the material, which is how glossy its surface is.
==== .mhuv files ====
This MH internal extension designates UV map files in MakeHuman. These text-readable files based on Lightwave OBJ syntax. They contain one or two lines of metadata and alternative UV data for the texture object to be applied to the model.
There does not currently appear to be a development tool for creating UV map files. They can be created by creating and saving an OBJ file and then renaming it. However, files created in this manner should not be considered fit for the SVN or website because they contain way too much redundant information. The OBJ files created in this manner not only contain the alternate UV set but also contain all vertices of the original mesh.
==== .mhp files ====
This MH internal extension designates pose files. These files are used to store coordinates for the run and walk poses on the pose tab. The dance1 pose appears to be implemented as a pose file, but it also includes some additional .target files. The dance1 pose is also associated wih a .bvh file whereas run and walk are not. In A8 development there have been issues with the dance1 file behaving less well than run and walk. Hopefully, these will be long gone during subsequent development.
==== .mht files ====
==== This MH internal extension designates a theme (GUI color scheme) for the GUI as rendered by the pyQt library. ====
==== .target files ====
This MH internal extension [which lacks the mh… prefix] specifies final extreme positions that can be achieved when moving the interface sliders in one direction or the other. By definition sliders have a value of zero on the left end and 1.0 on the right end, but there is a software flag to reverse this behavior as desired. With scripting it may be possible to exceed slider extremes, but this is currently undocumented and should not be built into production code. There is one TARGET file for each extreme of each movement. These files are hand-built by MakeHuman artist-developers, and they are the engine of the programs utility. Typically, rightward movement of a slider should increase size, and leftward movement of a slider should decrease size. When ‘left’ and ‘right’ are used as asset names, they should refer to the left and right body part on the model, regardless of the model’s orientation in the viewport. When slider movement involves asymmetrical change in the x, y, and z direction, it should be programmed so that the sliders operate naturally using the default viewport view for that slider. For example, left movement of the slider need not cause deformation toward the model’s left side. Such behavior would only be sensible if the default viewport view had the model facing the rear of the viewport (model’s back toward user).
Most MakeHuman modules use data from the TARGET files.
· In the apps group, these modules includes: devtests.py, human.py, humanmodifier.py, posemode.py, and warpmodifier.py.
· In the core group, these modules includes: algos3D.py which is the main program that works with .target files after they are compiled into
· In the apps group, these modules includes:
· In the apps group, these modules includes:
=== .proxy files ===
This MH internal extension designates proxy meshes. They are structured text files. Format and attributes include ... TODO
.qrc file
This is a resource file need used when compiling for the MakeHuman GUI which uses the pyQt library.
=== .qss file ===
This is the text-based file fomat used to store widgets associated with the GUI interface as rendered by the pyQt library
Appreciate help from current developers as what needs to go here. Undoubtedly some confusion or mistakes on my part, but some of it might help orient others. -RWB
Glad to do the grunt work, but feedback on needed improvemrnt greatly appreciated :-)
---------------------------
Also in this section could possibly also loading, saving, exporting formats (but these formats should probably be addressed in context below)
The basic work done within MakeHuman is saved as a file with an .mhm extension. The .mhm files can be loaded at the start of a new user session, and return MakeHuman to the state that it was in at the end of the previous session.
== Proxy files ==
=== Offset and bounds ===
MakeClothes uses a bounding box for scaling the offsets. It's controlled by the ''Offsets'' option in MakeClothes.
This is how this data is stored in the proxy file, so you can modify by hand if desired.
In the mhclo file at the top, these values appear as
x_scale 5399 11998 1.4340
z_scale 962 5320 2.0001
y_scale 791 881 2.4098
Allowed values are:
x_scale
y_scale
z_scale
shear_x
shear_y
shear_z
l_shear_x
l_shear_y
l_shear_z
r_shear_x
r_shear_y
r_shear_z
scale options follow the format:
x_scale v1 v2 den
with v1, v2 vertex indices on the human basemesh, den a denominator with which the scaling value is reduced
which results in the construction of a scale matrix that is applied to all the offsets of the proxy.
eg.
[xscale 0 0 0]
[0 yscale 0 0]
[0 0 zscale 0]
[0 0 0 1]
where xscale is determined from the option x_scale v1 v2 den as:
xscale = abs(coord_pos(v1).x - coord_pos(v2).x) / den
analog for yscale and zscale (.y or .z components of the position vector will be used instead)
shear options follow the format:
shear_x v1 v2 x1 x2
which result in the creation of a shear matrix instead of a scale matrix (I don't know of any instance where this is used)
uses numpy's affine_matrix_from_points method to calculate a transformation matrix that fits all selected points
didn't go into detail understanding this, because it doesn't seem too relevant. Read the code if interested.
scale overrides shear which overrides l_shear which overrides r_shear, only one of them is used (so you either specify scale, shear, l_shear or r_shear but no combination of them)
If you specify one, it is expected you define the other 2 of the same type as well.
=== max_pole ===
Proxy files can specify the pole count, which is the maximum number of edges that a vertex in the proxy mesh (the OBJ file) can have. If all faces around this vertex share their edges, this number also coincides with the maximum number of faces per vertex. If not specified, MakeHuman assumes this number is 8, which is a reasonable standard (more than 8 edges per vertex is probably a sub-optimal topology).
For example, the MakeHuman basemesh, which was modeled with high consideration of pole count, has a maximum of 5 edges per vertex.
MakeHuman intentionally is conservative about pole count to benefit performance (of the subdivision algorithm for example), for the same performance reasons it will not check the pole count when loading an OBJ, and instead relies on the user, or creation tool (MakeClothes) to set this number appropriately (at the moment MakeClothes does not do this).
Similarly, you can improve performance of MakeHuman by lowering this number if your proxy mesh has lower pole count. Eg for some meshes this can be set to 6 or 7
Proxy files have a property ''max_pole'' to change this number from the default setting of 8 to something else:
max_pole 9
== Meshes ==
MakeHuman stores its meshes in the standard Wavefront OBJ format. It supports quad-only meshes, and by default allows up to 8 edges per vertex. This number can be increased (see proxy format).
== Material files ==
TODO
== Poseunit files ==
TODO
== Target files ==
TODO
== Modifier and slider definitions ==
TODO
99c161c311e5c335f7b2d9436302dd7018ef03bc
1286
1285
2017-01-24T15:05:41Z
Robbaer
12
/* .mhmat file format Internals */
wikitext
text/x-wiki
This section briefly reviews the file accessed or manipulated within MakeHuman. An attempt will be made to explain the function of each file format and where in MakeHuman’s modules it is used. Or external formats links will be provided to more detailed descriptions. Where it can help the developer better understand the overall organization of MakeHuman source code, some information on the module group or modules interaction with the various formats will be provided. This section Is intended to be used with the previous section on directories (folders) to develop an overview of MakeHuman code structure. This structural understanding is essential during the debugging process and is essential to expanding the programs functionality in structurally sound ways.
==== .obj files ====
This extension designates Lightwave object files. These OBJ files store mesh information and metadata needed for rendering in text-readable format. It was originally developed for the Lightwave 3D graphics program, but this file format is now broadly supported by many, if not most, 3D programs. Internally, MakeHuman uses OBJ files (or formats directly based on OBJ files) for the canonical storage of its assets. Many of MakeHuman’s development utilities store newly generated assets in formats related to the Lightwave OBJ specification. Examples of assets canonically stored in Lightwave OBJ format include the base human, and auxiliary geometry assets like eyes, hair, and clothes.
Each OBJ file has a record specifying the object’s name and records specifying one or more mesh objects. Mesh objects, in turn, are composed of record groups specifying: points or vertices (v), vertex normal (vn), faces (f), and vertex textures (vt). In MakeHuman and most general purpose 3D programs (e.g., Blender) OBJ files are exported with an accompanying Wavefront material file having the .mtl extension. These MTL files provide the detailed material attributes necessary to get photorealistic rendering of Wavefront objects. A more complete specification of Wavefront object format can be found at:!LINK!http://www.martinreddy.net/gfx/3d/OBJ.spec -- http://www.martinreddy.net/gfx/3d/OBJ.spec!/LINK!
OBJ files and MTL files have a direct internal analog in MakeHuman in the form of the object class, Object3D. This class, along with its properties and methods, is defined in the object3D.py module(libs folder). Object3D objects are central to the internal workings of MakeHuman. The resemblance of Object3D objects to OBJ files is not coincidental. Many of the core mesh assets in MakeHuman are developed in the open-source project, Blender, and moved to MakeHuman internals using OBJ format. In fact, MakeHuman maintains a separate product [MHTools] designed to support development of new core internal assets
==== .mhpxy files ====
This extension designates compressed binary proxies and clothes.
==== .mtl files ====
This extension designates a Wavefront material file. Wavefront MTL files are referenced from within Wavefront OBJ files to specify the materials used in rendering. More complete information on Wavefront material files is available here:!LINK!http://paulbourke.net/dataformats/mtl/ -- http://paulbourke.net/dataformats/mtl/!/LINK!
MakeHuman’s use of MTL file has been limited, but with the increased support for POV rendering, more modules may access and utilize MTL files. Currently, MTL-related data and files is developmental. Thedata foldercontains a cube.obj (3dobj) and a plane.obj (mitsuba folder) ostensibly associated with materials.
==== .npz files ====
This extension designates compressed binary asset files in MakeHuman [think npz = numPy zip files]. Among the most important assets stored with this extension is target vertex information. These target data determine the motion of each MakeHuman vertices (relative to landmark vertices?) as sliders are moved.
Thefiles3D.pymodule (core folder) tests for verifies existence of OS dependent locations of binary mesh files. The primary purpose of thefiles3D.pymodule is to transpose imported 3D data into a standard internal format for each of the 3D file formats supported by the MakeHuman import. Each importer function is written to return the 3d data in a standard format as a Python list:
[verts, vertsSharedFaces, vertsUV, faceGroups, faceGroupsNames]
Thetargets.pymodule (lib folder) is where system assets stored with the NPZ extension are identified, decompressed, and turned into memory resident structured objects for use by MakeHuman. This
Code related to NPZ files can also be found inalgos3d.pymodule (core folder). This module has been part of MakeHuman for a long time, and is used for morphing related operations. It works with loaded binary translation vectors and applies those translations to morphing targets. It may have some legacy capability to work directly with text-based .target files.
Thecompile_models.pymodule (lib folder) takes all object mesh files (.obj) and compiles them into binary compressed files (NPZ). Similarly, thecompile_targets.pymodule (lib folder) compiles target files (.target) into binary compressed (NPZ) files. The latter module is referenced by Benjamin Lau inMakeHuman.specfile, likely for build purposes.
Important concept. The root folder of MakeHuman contains a batch file calledcleanpz.bat(for Windows) and a corresponding shell script file calledcleanpz.sh(for Linux) whose function is to delete NPZ files between SVN builds. This “garbage collection” assures that each build is not working with out-of-date assets. It also reminds the developer that most of the canonical assets are initially constructed in text readable format. Developers write appropriate constructors to recompile NPZ files during the MakeHuman startup sequence when missing. For distribution versions of MakeHuman, pre-compiled assets in the form of NPZ files are distributed as stable assets. When start up code confirms their existence , no recompile is done, producing a better start-up experience for the user. This design greatly increases boot and runtime performance for stable distributions without hampering rapid testing of SVN versions in interpretative mode.
==== .thumb files ====
This extension designates thumbnail (image preview) files in MakeHuman. Underneath, they are actually images constructed in the .png file format. Thus, they can be edited by standard image editors like GIMP or displayed by most web browsers. The MakeHuman Save Tab code automatically generates a companion .thumb file each time it saves a .mhm file. The .thumb generation is currently done by capturing a rectangular in the center of the viewport window. The MakeHuman Load Tab code uses .thumb images to provide previews of saved models.
The format for .thumb is defined inimage_qt.pymodule (GUI folder). Load and Save use or generation occur inguiload.pyandguisave.pymodules, respectively (lib folder). Numerous plugin modules reference .thumb files (plugins folder) including:2_posing_expression.py,3_libraries_clothes_chooser.py,3_libraries_eye_chooser.py,3_libraries_material_chooser.py,3_libraries_polygon_hair_chooser.py,3_libraries_posing_chooser.py,3_libraries_proxy_chooser.py, 4_rendering_scene.py,7_material_editor.py,
==== .lmk files ====
This MH internal extension designates landmark files. [might be renamed .mhlmk for naming standard reasons.] There is one set of landmarks for the model body (and a second set of landmarks for the model head (data | landmarks folder). These LMK files are written in text readable format. Each line has a single integer which specifies a landmark vertex in the model geometry. Landmark vertices are used for relative (local) spatial reference during model morphing.
Landmark files are used bywarpmodifier.py(apps folder) andwarp.py(utils | tools | warptarget folder).The landmarks in these files are used as references during the complex process of reshaping the human.
==== .mhclo files ====
This MH internal extension designates MakeHuman clothes files. These files define clothing vertexes and remove vertexes from the model to allow fitting of the model without skin showing through. They are created using the MakeHuman Blender toolset, specifically the MakeClothes tool.
A special empty MakeHuman clothes meta-file named clear.mhclo is is used to restore the default UV map that comes with the system. In the lib folder, the filechooser.py module has a MhcloFileLoader.Refresh() method to clear materials when the refresh button is clicked.
In the plugins folder,3_libraries_clothes_chooser.py, 3_libraries_eye_chooser.py, and 3_libraries_polygon_hair_chooser.py all access MHCLO files, but as of this writing, there are some file handling issues related to proxy clothes that means some of this code is commented out. In the shared/export_utils folder, config.py accesses a cage.mhclo file. In the tools folder, the tool ‘MakeClothes’ accesses MHCLO files in both the makeclothes.py and material.py modules. Similarly, the tool ‘MakeTarget‘ accesses MHCLO files in several of its modules:_init_.py, convert.py, import_obj.py, mt.py, ands ettings.py. Finally, two experimental tools in the utils folder, the makeface.py and helpers.py modules access MCHO files.
==== .mhmat files ====
This extension designates MakeHuman material files. Material files are text-readable files that share their syntax structure with Lightwave OBJ and MTL files.
In the app module group,human.pyapplies a default material andmh2proxy.pyhandles materials for proxies and may do some special material handling for MHX Blender export files. In the data folder, the MHCLO files for clothes, eyes, and hair each references an MHMAT files. In the plugins folder,7_material_editor.pyloads, edits, and saves MHMAT files. In the shared folder,material.pyparses MHMAT files and sets material properties. In the tools folder, there is another (independent)material.pymodule for the MakeClothes tool that writes materials to the output file while using that tool within Blender.
==== .mhmat file format Internals====
The entries inside a .mhmat file are of the form:
Comments can be included in c-style line comment format, like
or in python-style line comment format, like
The properties of a makehuman material are numerous so that they can cover the most common needs of exporters and rendering engines, and may vary among the following.
name- The internal name of the material.
Colors- Their value can be in R G B format, like:colorProperty R G B,where R, G, B are floating point numbers between 0 and 1. They control the color of various material properties and effects. To adjust the intensity of an effect, you can simply edit its color value.
ambientColor -The ambient component of the material, which is usually added on the final color regardless of the surrounding lights.
diffuseColor -The diffuse component of the material, which reacts to each light's relative position.
specularColor -The color of the specular shine that is caused by the reflection of a light source on the material.
emissiveColor- The color of the light that the material seems to emit like if it's a glowing light source.
shininess- The sharpness of the shine spots created by the reflection of a light source on the material, which is how glossy its surface is.
==== .mhuv files ====
This MH internal extension designates UV map files in MakeHuman. These text-readable files based on Lightwave OBJ syntax. They contain one or two lines of metadata and alternative UV data for the texture object to be applied to the model.
There does not currently appear to be a development tool for creating UV map files. They can be created by creating and saving an OBJ file and then renaming it. However, files created in this manner should not be considered fit for the SVN or website because they contain way too much redundant information. The OBJ files created in this manner not only contain the alternate UV set but also contain all vertices of the original mesh.
==== .mhp files ====
This MH internal extension designates pose files. These files are used to store coordinates for the run and walk poses on the pose tab. The dance1 pose appears to be implemented as a pose file, but it also includes some additional .target files. The dance1 pose is also associated wih a .bvh file whereas run and walk are not. In A8 development there have been issues with the dance1 file behaving less well than run and walk. Hopefully, these will be long gone during subsequent development.
==== .mht files ====
==== This MH internal extension designates a theme (GUI color scheme) for the GUI as rendered by the pyQt library. ====
==== .target files ====
This MH internal extension [which lacks the mh… prefix] specifies final extreme positions that can be achieved when moving the interface sliders in one direction or the other. By definition sliders have a value of zero on the left end and 1.0 on the right end, but there is a software flag to reverse this behavior as desired. With scripting it may be possible to exceed slider extremes, but this is currently undocumented and should not be built into production code. There is one TARGET file for each extreme of each movement. These files are hand-built by MakeHuman artist-developers, and they are the engine of the programs utility. Typically, rightward movement of a slider should increase size, and leftward movement of a slider should decrease size. When ‘left’ and ‘right’ are used as asset names, they should refer to the left and right body part on the model, regardless of the model’s orientation in the viewport. When slider movement involves asymmetrical change in the x, y, and z direction, it should be programmed so that the sliders operate naturally using the default viewport view for that slider. For example, left movement of the slider need not cause deformation toward the model’s left side. Such behavior would only be sensible if the default viewport view had the model facing the rear of the viewport (model’s back toward user).
Most MakeHuman modules use data from the TARGET files.
· In the apps group, these modules includes: devtests.py, human.py, humanmodifier.py, posemode.py, and warpmodifier.py.
· In the core group, these modules includes: algos3D.py which is the main program that works with .target files after they are compiled into
· In the apps group, these modules includes:
· In the apps group, these modules includes:
=== .proxy files ===
This MH internal extension designates proxy meshes. They are structured text files. Format and attributes include ... TODO
.qrc file
This is a resource file need used when compiling for the MakeHuman GUI which uses the pyQt library.
=== .qss file ===
This is the text-based file fomat used to store widgets associated with the GUI interface as rendered by the pyQt library
Appreciate help from current developers as what needs to go here. Undoubtedly some confusion or mistakes on my part, but some of it might help orient others. -RWB
Glad to do the grunt work, but feedback on needed improvemrnt greatly appreciated :-)
---------------------------
Also in this section could possibly also loading, saving, exporting formats (but these formats should probably be addressed in context below)
The basic work done within MakeHuman is saved as a file with an .mhm extension. The .mhm files can be loaded at the start of a new user session, and return MakeHuman to the state that it was in at the end of the previous session.
== Proxy files ==
=== Offset and bounds ===
MakeClothes uses a bounding box for scaling the offsets. It's controlled by the ''Offsets'' option in MakeClothes.
This is how this data is stored in the proxy file, so you can modify by hand if desired.
In the mhclo file at the top, these values appear as
x_scale 5399 11998 1.4340
z_scale 962 5320 2.0001
y_scale 791 881 2.4098
Allowed values are:
x_scale
y_scale
z_scale
shear_x
shear_y
shear_z
l_shear_x
l_shear_y
l_shear_z
r_shear_x
r_shear_y
r_shear_z
scale options follow the format:
x_scale v1 v2 den
with v1, v2 vertex indices on the human basemesh, den a denominator with which the scaling value is reduced
which results in the construction of a scale matrix that is applied to all the offsets of the proxy.
eg.
[xscale 0 0 0]
[0 yscale 0 0]
[0 0 zscale 0]
[0 0 0 1]
where xscale is determined from the option x_scale v1 v2 den as:
xscale = abs(coord_pos(v1).x - coord_pos(v2).x) / den
analog for yscale and zscale (.y or .z components of the position vector will be used instead)
shear options follow the format:
shear_x v1 v2 x1 x2
which result in the creation of a shear matrix instead of a scale matrix (I don't know of any instance where this is used)
uses numpy's affine_matrix_from_points method to calculate a transformation matrix that fits all selected points
didn't go into detail understanding this, because it doesn't seem too relevant. Read the code if interested.
scale overrides shear which overrides l_shear which overrides r_shear, only one of them is used (so you either specify scale, shear, l_shear or r_shear but no combination of them)
If you specify one, it is expected you define the other 2 of the same type as well.
=== max_pole ===
Proxy files can specify the pole count, which is the maximum number of edges that a vertex in the proxy mesh (the OBJ file) can have. If all faces around this vertex share their edges, this number also coincides with the maximum number of faces per vertex. If not specified, MakeHuman assumes this number is 8, which is a reasonable standard (more than 8 edges per vertex is probably a sub-optimal topology).
For example, the MakeHuman basemesh, which was modeled with high consideration of pole count, has a maximum of 5 edges per vertex.
MakeHuman intentionally is conservative about pole count to benefit performance (of the subdivision algorithm for example), for the same performance reasons it will not check the pole count when loading an OBJ, and instead relies on the user, or creation tool (MakeClothes) to set this number appropriately (at the moment MakeClothes does not do this).
Similarly, you can improve performance of MakeHuman by lowering this number if your proxy mesh has lower pole count. Eg for some meshes this can be set to 6 or 7
Proxy files have a property ''max_pole'' to change this number from the default setting of 8 to something else:
max_pole 9
== Meshes ==
MakeHuman stores its meshes in the standard Wavefront OBJ format. It supports quad-only meshes, and by default allows up to 8 edges per vertex. This number can be increased (see proxy format).
== Material files ==
TODO
== Poseunit files ==
TODO
== Target files ==
TODO
== Modifier and slider definitions ==
TODO
a24a1619f8dc41be4a93b56cfb59f3fb9292d9cf
1285
1284
2017-01-24T15:04:18Z
Robbaer
12
/* Description of the .mhmat file format */
wikitext
text/x-wiki
This section briefly reviews the file accessed or manipulated within MakeHuman. An attempt will be made to explain the function of each file format and where in MakeHuman’s modules it is used. Or external formats links will be provided to more detailed descriptions. Where it can help the developer better understand the overall organization of MakeHuman source code, some information on the module group or modules interaction with the various formats will be provided. This section Is intended to be used with the previous section on directories (folders) to develop an overview of MakeHuman code structure. This structural understanding is essential during the debugging process and is essential to expanding the programs functionality in structurally sound ways.
==== .obj files ====
This extension designates Lightwave object files. These OBJ files store mesh information and metadata needed for rendering in text-readable format. It was originally developed for the Lightwave 3D graphics program, but this file format is now broadly supported by many, if not most, 3D programs. Internally, MakeHuman uses OBJ files (or formats directly based on OBJ files) for the canonical storage of its assets. Many of MakeHuman’s development utilities store newly generated assets in formats related to the Lightwave OBJ specification. Examples of assets canonically stored in Lightwave OBJ format include the base human, and auxiliary geometry assets like eyes, hair, and clothes.
Each OBJ file has a record specifying the object’s name and records specifying one or more mesh objects. Mesh objects, in turn, are composed of record groups specifying: points or vertices (v), vertex normal (vn), faces (f), and vertex textures (vt). In MakeHuman and most general purpose 3D programs (e.g., Blender) OBJ files are exported with an accompanying Wavefront material file having the .mtl extension. These MTL files provide the detailed material attributes necessary to get photorealistic rendering of Wavefront objects. A more complete specification of Wavefront object format can be found at:!LINK!http://www.martinreddy.net/gfx/3d/OBJ.spec -- http://www.martinreddy.net/gfx/3d/OBJ.spec!/LINK!
OBJ files and MTL files have a direct internal analog in MakeHuman in the form of the object class, Object3D. This class, along with its properties and methods, is defined in the object3D.py module(libs folder). Object3D objects are central to the internal workings of MakeHuman. The resemblance of Object3D objects to OBJ files is not coincidental. Many of the core mesh assets in MakeHuman are developed in the open-source project, Blender, and moved to MakeHuman internals using OBJ format. In fact, MakeHuman maintains a separate product [MHTools] designed to support development of new core internal assets
==== .mhpxy files ====
This extension designates compressed binary proxies and clothes.
==== .mtl files ====
This extension designates a Wavefront material file. Wavefront MTL files are referenced from within Wavefront OBJ files to specify the materials used in rendering. More complete information on Wavefront material files is available here:!LINK!http://paulbourke.net/dataformats/mtl/ -- http://paulbourke.net/dataformats/mtl/!/LINK!
MakeHuman’s use of MTL file has been limited, but with the increased support for POV rendering, more modules may access and utilize MTL files. Currently, MTL-related data and files is developmental. Thedata foldercontains a cube.obj (3dobj) and a plane.obj (mitsuba folder) ostensibly associated with materials.
==== .npz files ====
This extension designates compressed binary asset files in MakeHuman [think npz = numPy zip files]. Among the most important assets stored with this extension is target vertex information. These target data determine the motion of each MakeHuman vertices (relative to landmark vertices?) as sliders are moved.
Thefiles3D.pymodule (core folder) tests for verifies existence of OS dependent locations of binary mesh files. The primary purpose of thefiles3D.pymodule is to transpose imported 3D data into a standard internal format for each of the 3D file formats supported by the MakeHuman import. Each importer function is written to return the 3d data in a standard format as a Python list:
[verts, vertsSharedFaces, vertsUV, faceGroups, faceGroupsNames]
Thetargets.pymodule (lib folder) is where system assets stored with the NPZ extension are identified, decompressed, and turned into memory resident structured objects for use by MakeHuman. This
Code related to NPZ files can also be found inalgos3d.pymodule (core folder). This module has been part of MakeHuman for a long time, and is used for morphing related operations. It works with loaded binary translation vectors and applies those translations to morphing targets. It may have some legacy capability to work directly with text-based .target files.
Thecompile_models.pymodule (lib folder) takes all object mesh files (.obj) and compiles them into binary compressed files (NPZ). Similarly, thecompile_targets.pymodule (lib folder) compiles target files (.target) into binary compressed (NPZ) files. The latter module is referenced by Benjamin Lau inMakeHuman.specfile, likely for build purposes.
Important concept. The root folder of MakeHuman contains a batch file calledcleanpz.bat(for Windows) and a corresponding shell script file calledcleanpz.sh(for Linux) whose function is to delete NPZ files between SVN builds. This “garbage collection” assures that each build is not working with out-of-date assets. It also reminds the developer that most of the canonical assets are initially constructed in text readable format. Developers write appropriate constructors to recompile NPZ files during the MakeHuman startup sequence when missing. For distribution versions of MakeHuman, pre-compiled assets in the form of NPZ files are distributed as stable assets. When start up code confirms their existence , no recompile is done, producing a better start-up experience for the user. This design greatly increases boot and runtime performance for stable distributions without hampering rapid testing of SVN versions in interpretative mode.
==== .thumb files ====
This extension designates thumbnail (image preview) files in MakeHuman. Underneath, they are actually images constructed in the .png file format. Thus, they can be edited by standard image editors like GIMP or displayed by most web browsers. The MakeHuman Save Tab code automatically generates a companion .thumb file each time it saves a .mhm file. The .thumb generation is currently done by capturing a rectangular in the center of the viewport window. The MakeHuman Load Tab code uses .thumb images to provide previews of saved models.
The format for .thumb is defined inimage_qt.pymodule (GUI folder). Load and Save use or generation occur inguiload.pyandguisave.pymodules, respectively (lib folder). Numerous plugin modules reference .thumb files (plugins folder) including:2_posing_expression.py,3_libraries_clothes_chooser.py,3_libraries_eye_chooser.py,3_libraries_material_chooser.py,3_libraries_polygon_hair_chooser.py,3_libraries_posing_chooser.py,3_libraries_proxy_chooser.py, 4_rendering_scene.py,7_material_editor.py,
==== .lmk files ====
This MH internal extension designates landmark files. [might be renamed .mhlmk for naming standard reasons.] There is one set of landmarks for the model body (and a second set of landmarks for the model head (data | landmarks folder). These LMK files are written in text readable format. Each line has a single integer which specifies a landmark vertex in the model geometry. Landmark vertices are used for relative (local) spatial reference during model morphing.
Landmark files are used bywarpmodifier.py(apps folder) andwarp.py(utils | tools | warptarget folder).The landmarks in these files are used as references during the complex process of reshaping the human.
==== .mhclo files ====
This MH internal extension designates MakeHuman clothes files. These files define clothing vertexes and remove vertexes from the model to allow fitting of the model without skin showing through. They are created using the MakeHuman Blender toolset, specifically the MakeClothes tool.
A special empty MakeHuman clothes meta-file named clear.mhclo is is used to restore the default UV map that comes with the system. In the lib folder, the filechooser.py module has a MhcloFileLoader.Refresh() method to clear materials when the refresh button is clicked.
In the plugins folder,3_libraries_clothes_chooser.py, 3_libraries_eye_chooser.py, and 3_libraries_polygon_hair_chooser.py all access MHCLO files, but as of this writing, there are some file handling issues related to proxy clothes that means some of this code is commented out. In the shared/export_utils folder, config.py accesses a cage.mhclo file. In the tools folder, the tool ‘MakeClothes’ accesses MHCLO files in both the makeclothes.py and material.py modules. Similarly, the tool ‘MakeTarget‘ accesses MHCLO files in several of its modules:_init_.py, convert.py, import_obj.py, mt.py, ands ettings.py. Finally, two experimental tools in the utils folder, the makeface.py and helpers.py modules access MCHO files.
==== .mhmat files ====
This extension designates MakeHuman material files. Material files are text-readable files that share their syntax structure with Lightwave OBJ and MTL files.
In the app module group,human.pyapplies a default material andmh2proxy.pyhandles materials for proxies and may do some special material handling for MHX Blender export files. In the data folder, the MHCLO files for clothes, eyes, and hair each references an MHMAT files. In the plugins folder,7_material_editor.pyloads, edits, and saves MHMAT files. In the shared folder,material.pyparses MHMAT files and sets material properties. In the tools folder, there is another (independent)material.pymodule for the MakeClothes tool that writes materials to the output file while using that tool within Blender.
=== .mhmat file format Internals===
The entries inside a .mhmat file are of the form:
Comments can be included in c-style line comment format, like
or in python-style line comment format, like
The properties of a makehuman material are numerous so that they can cover the most common needs of exporters and rendering engines, and may vary among the following.
name- The internal name of the material.
Colors- Their value can be in R G B format, like:colorProperty R G B,where R, G, B are floating point numbers between 0 and 1. They control the color of various material properties and effects. To adjust the intensity of an effect, you can simply edit its color value.
ambientColor -The ambient component of the material, which is usually added on the final color regardless of the surrounding lights.
diffuseColor -The diffuse component of the material, which reacts to each light's relative position.
specularColor -The color of the specular shine that is caused by the reflection of a light source on the material.
emissiveColor- The color of the light that the material seems to emit like if it's a glowing light source.
shininess- The sharpness of the shine spots created by the reflection of a light source on the material, which is how glossy its surface is.
==== .mhuv files ====
This MH internal extension designates UV map files in MakeHuman. These text-readable files based on Lightwave OBJ syntax. They contain one or two lines of metadata and alternative UV data for the texture object to be applied to the model.
There does not currently appear to be a development tool for creating UV map files. They can be created by creating and saving an OBJ file and then renaming it. However, files created in this manner should not be considered fit for the SVN or website because they contain way too much redundant information. The OBJ files created in this manner not only contain the alternate UV set but also contain all vertices of the original mesh.
==== .mhp files ====
This MH internal extension designates pose files. These files are used to store coordinates for the run and walk poses on the pose tab. The dance1 pose appears to be implemented as a pose file, but it also includes some additional .target files. The dance1 pose is also associated wih a .bvh file whereas run and walk are not. In A8 development there have been issues with the dance1 file behaving less well than run and walk. Hopefully, these will be long gone during subsequent development.
==== .mht files ====
==== This MH internal extension designates a theme (GUI color scheme) for the GUI as rendered by the pyQt library. ====
==== .target files ====
This MH internal extension [which lacks the mh… prefix] specifies final extreme positions that can be achieved when moving the interface sliders in one direction or the other. By definition sliders have a value of zero on the left end and 1.0 on the right end, but there is a software flag to reverse this behavior as desired. With scripting it may be possible to exceed slider extremes, but this is currently undocumented and should not be built into production code. There is one TARGET file for each extreme of each movement. These files are hand-built by MakeHuman artist-developers, and they are the engine of the programs utility. Typically, rightward movement of a slider should increase size, and leftward movement of a slider should decrease size. When ‘left’ and ‘right’ are used as asset names, they should refer to the left and right body part on the model, regardless of the model’s orientation in the viewport. When slider movement involves asymmetrical change in the x, y, and z direction, it should be programmed so that the sliders operate naturally using the default viewport view for that slider. For example, left movement of the slider need not cause deformation toward the model’s left side. Such behavior would only be sensible if the default viewport view had the model facing the rear of the viewport (model’s back toward user).
Most MakeHuman modules use data from the TARGET files.
· In the apps group, these modules includes: devtests.py, human.py, humanmodifier.py, posemode.py, and warpmodifier.py.
· In the core group, these modules includes: algos3D.py which is the main program that works with .target files after they are compiled into
· In the apps group, these modules includes:
· In the apps group, these modules includes:
=== .proxy files ===
This MH internal extension designates proxy meshes. They are structured text files. Format and attributes include ... TODO
.qrc file
This is a resource file need used when compiling for the MakeHuman GUI which uses the pyQt library.
=== .qss file ===
This is the text-based file fomat used to store widgets associated with the GUI interface as rendered by the pyQt library
Appreciate help from current developers as what needs to go here. Undoubtedly some confusion or mistakes on my part, but some of it might help orient others. -RWB
Glad to do the grunt work, but feedback on needed improvemrnt greatly appreciated :-)
---------------------------
Also in this section could possibly also loading, saving, exporting formats (but these formats should probably be addressed in context below)
The basic work done within MakeHuman is saved as a file with an .mhm extension. The .mhm files can be loaded at the start of a new user session, and return MakeHuman to the state that it was in at the end of the previous session.
== Proxy files ==
=== Offset and bounds ===
MakeClothes uses a bounding box for scaling the offsets. It's controlled by the ''Offsets'' option in MakeClothes.
This is how this data is stored in the proxy file, so you can modify by hand if desired.
In the mhclo file at the top, these values appear as
x_scale 5399 11998 1.4340
z_scale 962 5320 2.0001
y_scale 791 881 2.4098
Allowed values are:
x_scale
y_scale
z_scale
shear_x
shear_y
shear_z
l_shear_x
l_shear_y
l_shear_z
r_shear_x
r_shear_y
r_shear_z
scale options follow the format:
x_scale v1 v2 den
with v1, v2 vertex indices on the human basemesh, den a denominator with which the scaling value is reduced
which results in the construction of a scale matrix that is applied to all the offsets of the proxy.
eg.
[xscale 0 0 0]
[0 yscale 0 0]
[0 0 zscale 0]
[0 0 0 1]
where xscale is determined from the option x_scale v1 v2 den as:
xscale = abs(coord_pos(v1).x - coord_pos(v2).x) / den
analog for yscale and zscale (.y or .z components of the position vector will be used instead)
shear options follow the format:
shear_x v1 v2 x1 x2
which result in the creation of a shear matrix instead of a scale matrix (I don't know of any instance where this is used)
uses numpy's affine_matrix_from_points method to calculate a transformation matrix that fits all selected points
didn't go into detail understanding this, because it doesn't seem too relevant. Read the code if interested.
scale overrides shear which overrides l_shear which overrides r_shear, only one of them is used (so you either specify scale, shear, l_shear or r_shear but no combination of them)
If you specify one, it is expected you define the other 2 of the same type as well.
=== max_pole ===
Proxy files can specify the pole count, which is the maximum number of edges that a vertex in the proxy mesh (the OBJ file) can have. If all faces around this vertex share their edges, this number also coincides with the maximum number of faces per vertex. If not specified, MakeHuman assumes this number is 8, which is a reasonable standard (more than 8 edges per vertex is probably a sub-optimal topology).
For example, the MakeHuman basemesh, which was modeled with high consideration of pole count, has a maximum of 5 edges per vertex.
MakeHuman intentionally is conservative about pole count to benefit performance (of the subdivision algorithm for example), for the same performance reasons it will not check the pole count when loading an OBJ, and instead relies on the user, or creation tool (MakeClothes) to set this number appropriately (at the moment MakeClothes does not do this).
Similarly, you can improve performance of MakeHuman by lowering this number if your proxy mesh has lower pole count. Eg for some meshes this can be set to 6 or 7
Proxy files have a property ''max_pole'' to change this number from the default setting of 8 to something else:
max_pole 9
== Meshes ==
MakeHuman stores its meshes in the standard Wavefront OBJ format. It supports quad-only meshes, and by default allows up to 8 edges per vertex. This number can be increased (see proxy format).
== Material files ==
TODO
== Poseunit files ==
TODO
== Target files ==
TODO
== Modifier and slider definitions ==
TODO
377f6a58833b3318495871136dfce6f6bdd2ac8b
1284
1283
2017-01-24T15:02:25Z
Robbaer
12
/* Description of the file format */
wikitext
text/x-wiki
This section briefly reviews the file accessed or manipulated within MakeHuman. An attempt will be made to explain the function of each file format and where in MakeHuman’s modules it is used. Or external formats links will be provided to more detailed descriptions. Where it can help the developer better understand the overall organization of MakeHuman source code, some information on the module group or modules interaction with the various formats will be provided. This section Is intended to be used with the previous section on directories (folders) to develop an overview of MakeHuman code structure. This structural understanding is essential during the debugging process and is essential to expanding the programs functionality in structurally sound ways.
==== .obj files ====
This extension designates Lightwave object files. These OBJ files store mesh information and metadata needed for rendering in text-readable format. It was originally developed for the Lightwave 3D graphics program, but this file format is now broadly supported by many, if not most, 3D programs. Internally, MakeHuman uses OBJ files (or formats directly based on OBJ files) for the canonical storage of its assets. Many of MakeHuman’s development utilities store newly generated assets in formats related to the Lightwave OBJ specification. Examples of assets canonically stored in Lightwave OBJ format include the base human, and auxiliary geometry assets like eyes, hair, and clothes.
Each OBJ file has a record specifying the object’s name and records specifying one or more mesh objects. Mesh objects, in turn, are composed of record groups specifying: points or vertices (v), vertex normal (vn), faces (f), and vertex textures (vt). In MakeHuman and most general purpose 3D programs (e.g., Blender) OBJ files are exported with an accompanying Wavefront material file having the .mtl extension. These MTL files provide the detailed material attributes necessary to get photorealistic rendering of Wavefront objects. A more complete specification of Wavefront object format can be found at:!LINK!http://www.martinreddy.net/gfx/3d/OBJ.spec -- http://www.martinreddy.net/gfx/3d/OBJ.spec!/LINK!
OBJ files and MTL files have a direct internal analog in MakeHuman in the form of the object class, Object3D. This class, along with its properties and methods, is defined in the object3D.py module(libs folder). Object3D objects are central to the internal workings of MakeHuman. The resemblance of Object3D objects to OBJ files is not coincidental. Many of the core mesh assets in MakeHuman are developed in the open-source project, Blender, and moved to MakeHuman internals using OBJ format. In fact, MakeHuman maintains a separate product [MHTools] designed to support development of new core internal assets
==== .mhpxy files ====
This extension designates compressed binary proxies and clothes.
==== .mtl files ====
This extension designates a Wavefront material file. Wavefront MTL files are referenced from within Wavefront OBJ files to specify the materials used in rendering. More complete information on Wavefront material files is available here:!LINK!http://paulbourke.net/dataformats/mtl/ -- http://paulbourke.net/dataformats/mtl/!/LINK!
MakeHuman’s use of MTL file has been limited, but with the increased support for POV rendering, more modules may access and utilize MTL files. Currently, MTL-related data and files is developmental. Thedata foldercontains a cube.obj (3dobj) and a plane.obj (mitsuba folder) ostensibly associated with materials.
==== .npz files ====
This extension designates compressed binary asset files in MakeHuman [think npz = numPy zip files]. Among the most important assets stored with this extension is target vertex information. These target data determine the motion of each MakeHuman vertices (relative to landmark vertices?) as sliders are moved.
Thefiles3D.pymodule (core folder) tests for verifies existence of OS dependent locations of binary mesh files. The primary purpose of thefiles3D.pymodule is to transpose imported 3D data into a standard internal format for each of the 3D file formats supported by the MakeHuman import. Each importer function is written to return the 3d data in a standard format as a Python list:
[verts, vertsSharedFaces, vertsUV, faceGroups, faceGroupsNames]
Thetargets.pymodule (lib folder) is where system assets stored with the NPZ extension are identified, decompressed, and turned into memory resident structured objects for use by MakeHuman. This
Code related to NPZ files can also be found inalgos3d.pymodule (core folder). This module has been part of MakeHuman for a long time, and is used for morphing related operations. It works with loaded binary translation vectors and applies those translations to morphing targets. It may have some legacy capability to work directly with text-based .target files.
Thecompile_models.pymodule (lib folder) takes all object mesh files (.obj) and compiles them into binary compressed files (NPZ). Similarly, thecompile_targets.pymodule (lib folder) compiles target files (.target) into binary compressed (NPZ) files. The latter module is referenced by Benjamin Lau inMakeHuman.specfile, likely for build purposes.
Important concept. The root folder of MakeHuman contains a batch file calledcleanpz.bat(for Windows) and a corresponding shell script file calledcleanpz.sh(for Linux) whose function is to delete NPZ files between SVN builds. This “garbage collection” assures that each build is not working with out-of-date assets. It also reminds the developer that most of the canonical assets are initially constructed in text readable format. Developers write appropriate constructors to recompile NPZ files during the MakeHuman startup sequence when missing. For distribution versions of MakeHuman, pre-compiled assets in the form of NPZ files are distributed as stable assets. When start up code confirms their existence , no recompile is done, producing a better start-up experience for the user. This design greatly increases boot and runtime performance for stable distributions without hampering rapid testing of SVN versions in interpretative mode.
==== .thumb files ====
This extension designates thumbnail (image preview) files in MakeHuman. Underneath, they are actually images constructed in the .png file format. Thus, they can be edited by standard image editors like GIMP or displayed by most web browsers. The MakeHuman Save Tab code automatically generates a companion .thumb file each time it saves a .mhm file. The .thumb generation is currently done by capturing a rectangular in the center of the viewport window. The MakeHuman Load Tab code uses .thumb images to provide previews of saved models.
The format for .thumb is defined inimage_qt.pymodule (GUI folder). Load and Save use or generation occur inguiload.pyandguisave.pymodules, respectively (lib folder). Numerous plugin modules reference .thumb files (plugins folder) including:2_posing_expression.py,3_libraries_clothes_chooser.py,3_libraries_eye_chooser.py,3_libraries_material_chooser.py,3_libraries_polygon_hair_chooser.py,3_libraries_posing_chooser.py,3_libraries_proxy_chooser.py, 4_rendering_scene.py,7_material_editor.py,
==== .lmk files ====
This MH internal extension designates landmark files. [might be renamed .mhlmk for naming standard reasons.] There is one set of landmarks for the model body (and a second set of landmarks for the model head (data | landmarks folder). These LMK files are written in text readable format. Each line has a single integer which specifies a landmark vertex in the model geometry. Landmark vertices are used for relative (local) spatial reference during model morphing.
Landmark files are used bywarpmodifier.py(apps folder) andwarp.py(utils | tools | warptarget folder).The landmarks in these files are used as references during the complex process of reshaping the human.
==== .mhclo files ====
This MH internal extension designates MakeHuman clothes files. These files define clothing vertexes and remove vertexes from the model to allow fitting of the model without skin showing through. They are created using the MakeHuman Blender toolset, specifically the MakeClothes tool.
A special empty MakeHuman clothes meta-file named clear.mhclo is is used to restore the default UV map that comes with the system. In the lib folder, the filechooser.py module has a MhcloFileLoader.Refresh() method to clear materials when the refresh button is clicked.
In the plugins folder,3_libraries_clothes_chooser.py, 3_libraries_eye_chooser.py, and 3_libraries_polygon_hair_chooser.py all access MHCLO files, but as of this writing, there are some file handling issues related to proxy clothes that means some of this code is commented out. In the shared/export_utils folder, config.py accesses a cage.mhclo file. In the tools folder, the tool ‘MakeClothes’ accesses MHCLO files in both the makeclothes.py and material.py modules. Similarly, the tool ‘MakeTarget‘ accesses MHCLO files in several of its modules:_init_.py, convert.py, import_obj.py, mt.py, ands ettings.py. Finally, two experimental tools in the utils folder, the makeface.py and helpers.py modules access MCHO files.
==== .mhmat files ====
This extension designates MakeHuman material files. Material files are text-readable files that share their syntax structure with Lightwave OBJ and MTL files.
In the app module group,human.pyapplies a default material andmh2proxy.pyhandles materials for proxies and may do some special material handling for MHX Blender export files. In the data folder, the MHCLO files for clothes, eyes, and hair each references an MHMAT files. In the plugins folder,7_material_editor.pyloads, edits, and saves MHMAT files. In the shared folder,material.pyparses MHMAT files and sets material properties. In the tools folder, there is another (independent)material.pymodule for the MakeClothes tool that writes materials to the output file while using that tool within Blender.
=== Description of the .mhmat file format ===
The entries inside a .mhmat file are of the form:
Comments can be included in c-style line comment format, like
or in python-style line comment format, like
The properties of a makehuman material are numerous so that they can cover the most common needs of exporters and rendering engines, and may vary among the following.
name- The internal name of the material.
Colors- Their value can be in R G B format, like:colorProperty R G B,where R, G, B are floating point numbers between 0 and 1. They control the color of various material properties and effects. To adjust the intensity of an effect, you can simply edit its color value.
ambientColor -The ambient component of the material, which is usually added on the final color regardless of the surrounding lights.
diffuseColor -The diffuse component of the material, which reacts to each light's relative position.
specularColor -The color of the specular shine that is caused by the reflection of a light source on the material.
emissiveColor- The color of the light that the material seems to emit like if it's a glowing light source.
shininess- The sharpness of the shine spots created by the reflection of a light source on the material, which is how glossy its surface is.
==== .mhuv files ====
This MH internal extension designates UV map files in MakeHuman. These text-readable files based on Lightwave OBJ syntax. They contain one or two lines of metadata and alternative UV data for the texture object to be applied to the model.
There does not currently appear to be a development tool for creating UV map files. They can be created by creating and saving an OBJ file and then renaming it. However, files created in this manner should not be considered fit for the SVN or website because they contain way too much redundant information. The OBJ files created in this manner not only contain the alternate UV set but also contain all vertices of the original mesh.
==== .mhp files ====
This MH internal extension designates pose files. These files are used to store coordinates for the run and walk poses on the pose tab. The dance1 pose appears to be implemented as a pose file, but it also includes some additional .target files. The dance1 pose is also associated wih a .bvh file whereas run and walk are not. In A8 development there have been issues with the dance1 file behaving less well than run and walk. Hopefully, these will be long gone during subsequent development.
==== .mht files ====
==== This MH internal extension designates a theme (GUI color scheme) for the GUI as rendered by the pyQt library. ====
==== .target files ====
This MH internal extension [which lacks the mh… prefix] specifies final extreme positions that can be achieved when moving the interface sliders in one direction or the other. By definition sliders have a value of zero on the left end and 1.0 on the right end, but there is a software flag to reverse this behavior as desired. With scripting it may be possible to exceed slider extremes, but this is currently undocumented and should not be built into production code. There is one TARGET file for each extreme of each movement. These files are hand-built by MakeHuman artist-developers, and they are the engine of the programs utility. Typically, rightward movement of a slider should increase size, and leftward movement of a slider should decrease size. When ‘left’ and ‘right’ are used as asset names, they should refer to the left and right body part on the model, regardless of the model’s orientation in the viewport. When slider movement involves asymmetrical change in the x, y, and z direction, it should be programmed so that the sliders operate naturally using the default viewport view for that slider. For example, left movement of the slider need not cause deformation toward the model’s left side. Such behavior would only be sensible if the default viewport view had the model facing the rear of the viewport (model’s back toward user).
Most MakeHuman modules use data from the TARGET files.
· In the apps group, these modules includes: devtests.py, human.py, humanmodifier.py, posemode.py, and warpmodifier.py.
· In the core group, these modules includes: algos3D.py which is the main program that works with .target files after they are compiled into
· In the apps group, these modules includes:
· In the apps group, these modules includes:
=== .proxy files ===
This MH internal extension designates proxy meshes. They are structured text files. Format and attributes include ... TODO
.qrc file
This is a resource file need used when compiling for the MakeHuman GUI which uses the pyQt library.
=== .qss file ===
This is the text-based file fomat used to store widgets associated with the GUI interface as rendered by the pyQt library
Appreciate help from current developers as what needs to go here. Undoubtedly some confusion or mistakes on my part, but some of it might help orient others. -RWB
Glad to do the grunt work, but feedback on needed improvemrnt greatly appreciated :-)
---------------------------
Also in this section could possibly also loading, saving, exporting formats (but these formats should probably be addressed in context below)
The basic work done within MakeHuman is saved as a file with an .mhm extension. The .mhm files can be loaded at the start of a new user session, and return MakeHuman to the state that it was in at the end of the previous session.
== Proxy files ==
=== Offset and bounds ===
MakeClothes uses a bounding box for scaling the offsets. It's controlled by the ''Offsets'' option in MakeClothes.
This is how this data is stored in the proxy file, so you can modify by hand if desired.
In the mhclo file at the top, these values appear as
x_scale 5399 11998 1.4340
z_scale 962 5320 2.0001
y_scale 791 881 2.4098
Allowed values are:
x_scale
y_scale
z_scale
shear_x
shear_y
shear_z
l_shear_x
l_shear_y
l_shear_z
r_shear_x
r_shear_y
r_shear_z
scale options follow the format:
x_scale v1 v2 den
with v1, v2 vertex indices on the human basemesh, den a denominator with which the scaling value is reduced
which results in the construction of a scale matrix that is applied to all the offsets of the proxy.
eg.
[xscale 0 0 0]
[0 yscale 0 0]
[0 0 zscale 0]
[0 0 0 1]
where xscale is determined from the option x_scale v1 v2 den as:
xscale = abs(coord_pos(v1).x - coord_pos(v2).x) / den
analog for yscale and zscale (.y or .z components of the position vector will be used instead)
shear options follow the format:
shear_x v1 v2 x1 x2
which result in the creation of a shear matrix instead of a scale matrix (I don't know of any instance where this is used)
uses numpy's affine_matrix_from_points method to calculate a transformation matrix that fits all selected points
didn't go into detail understanding this, because it doesn't seem too relevant. Read the code if interested.
scale overrides shear which overrides l_shear which overrides r_shear, only one of them is used (so you either specify scale, shear, l_shear or r_shear but no combination of them)
If you specify one, it is expected you define the other 2 of the same type as well.
=== max_pole ===
Proxy files can specify the pole count, which is the maximum number of edges that a vertex in the proxy mesh (the OBJ file) can have. If all faces around this vertex share their edges, this number also coincides with the maximum number of faces per vertex. If not specified, MakeHuman assumes this number is 8, which is a reasonable standard (more than 8 edges per vertex is probably a sub-optimal topology).
For example, the MakeHuman basemesh, which was modeled with high consideration of pole count, has a maximum of 5 edges per vertex.
MakeHuman intentionally is conservative about pole count to benefit performance (of the subdivision algorithm for example), for the same performance reasons it will not check the pole count when loading an OBJ, and instead relies on the user, or creation tool (MakeClothes) to set this number appropriately (at the moment MakeClothes does not do this).
Similarly, you can improve performance of MakeHuman by lowering this number if your proxy mesh has lower pole count. Eg for some meshes this can be set to 6 or 7
Proxy files have a property ''max_pole'' to change this number from the default setting of 8 to something else:
max_pole 9
== Meshes ==
MakeHuman stores its meshes in the standard Wavefront OBJ format. It supports quad-only meshes, and by default allows up to 8 edges per vertex. This number can be increased (see proxy format).
== Material files ==
TODO
== Poseunit files ==
TODO
== Target files ==
TODO
== Modifier and slider definitions ==
TODO
005d38553a087ad952d679a662785afb4ee90d48
1283
714
2017-01-24T15:00:19Z
Robbaer
12
/* .mhclo files */
wikitext
text/x-wiki
This section briefly reviews the file accessed or manipulated within MakeHuman. An attempt will be made to explain the function of each file format and where in MakeHuman’s modules it is used. Or external formats links will be provided to more detailed descriptions. Where it can help the developer better understand the overall organization of MakeHuman source code, some information on the module group or modules interaction with the various formats will be provided. This section Is intended to be used with the previous section on directories (folders) to develop an overview of MakeHuman code structure. This structural understanding is essential during the debugging process and is essential to expanding the programs functionality in structurally sound ways.
==== .obj files ====
This extension designates Lightwave object files. These OBJ files store mesh information and metadata needed for rendering in text-readable format. It was originally developed for the Lightwave 3D graphics program, but this file format is now broadly supported by many, if not most, 3D programs. Internally, MakeHuman uses OBJ files (or formats directly based on OBJ files) for the canonical storage of its assets. Many of MakeHuman’s development utilities store newly generated assets in formats related to the Lightwave OBJ specification. Examples of assets canonically stored in Lightwave OBJ format include the base human, and auxiliary geometry assets like eyes, hair, and clothes.
Each OBJ file has a record specifying the object’s name and records specifying one or more mesh objects. Mesh objects, in turn, are composed of record groups specifying: points or vertices (v), vertex normal (vn), faces (f), and vertex textures (vt). In MakeHuman and most general purpose 3D programs (e.g., Blender) OBJ files are exported with an accompanying Wavefront material file having the .mtl extension. These MTL files provide the detailed material attributes necessary to get photorealistic rendering of Wavefront objects. A more complete specification of Wavefront object format can be found at:!LINK!http://www.martinreddy.net/gfx/3d/OBJ.spec -- http://www.martinreddy.net/gfx/3d/OBJ.spec!/LINK!
OBJ files and MTL files have a direct internal analog in MakeHuman in the form of the object class, Object3D. This class, along with its properties and methods, is defined in the object3D.py module(libs folder). Object3D objects are central to the internal workings of MakeHuman. The resemblance of Object3D objects to OBJ files is not coincidental. Many of the core mesh assets in MakeHuman are developed in the open-source project, Blender, and moved to MakeHuman internals using OBJ format. In fact, MakeHuman maintains a separate product [MHTools] designed to support development of new core internal assets
==== .mhpxy files ====
This extension designates compressed binary proxies and clothes.
==== .mtl files ====
This extension designates a Wavefront material file. Wavefront MTL files are referenced from within Wavefront OBJ files to specify the materials used in rendering. More complete information on Wavefront material files is available here:!LINK!http://paulbourke.net/dataformats/mtl/ -- http://paulbourke.net/dataformats/mtl/!/LINK!
MakeHuman’s use of MTL file has been limited, but with the increased support for POV rendering, more modules may access and utilize MTL files. Currently, MTL-related data and files is developmental. Thedata foldercontains a cube.obj (3dobj) and a plane.obj (mitsuba folder) ostensibly associated with materials.
==== .npz files ====
This extension designates compressed binary asset files in MakeHuman [think npz = numPy zip files]. Among the most important assets stored with this extension is target vertex information. These target data determine the motion of each MakeHuman vertices (relative to landmark vertices?) as sliders are moved.
Thefiles3D.pymodule (core folder) tests for verifies existence of OS dependent locations of binary mesh files. The primary purpose of thefiles3D.pymodule is to transpose imported 3D data into a standard internal format for each of the 3D file formats supported by the MakeHuman import. Each importer function is written to return the 3d data in a standard format as a Python list:
[verts, vertsSharedFaces, vertsUV, faceGroups, faceGroupsNames]
Thetargets.pymodule (lib folder) is where system assets stored with the NPZ extension are identified, decompressed, and turned into memory resident structured objects for use by MakeHuman. This
Code related to NPZ files can also be found inalgos3d.pymodule (core folder). This module has been part of MakeHuman for a long time, and is used for morphing related operations. It works with loaded binary translation vectors and applies those translations to morphing targets. It may have some legacy capability to work directly with text-based .target files.
Thecompile_models.pymodule (lib folder) takes all object mesh files (.obj) and compiles them into binary compressed files (NPZ). Similarly, thecompile_targets.pymodule (lib folder) compiles target files (.target) into binary compressed (NPZ) files. The latter module is referenced by Benjamin Lau inMakeHuman.specfile, likely for build purposes.
Important concept. The root folder of MakeHuman contains a batch file calledcleanpz.bat(for Windows) and a corresponding shell script file calledcleanpz.sh(for Linux) whose function is to delete NPZ files between SVN builds. This “garbage collection” assures that each build is not working with out-of-date assets. It also reminds the developer that most of the canonical assets are initially constructed in text readable format. Developers write appropriate constructors to recompile NPZ files during the MakeHuman startup sequence when missing. For distribution versions of MakeHuman, pre-compiled assets in the form of NPZ files are distributed as stable assets. When start up code confirms their existence , no recompile is done, producing a better start-up experience for the user. This design greatly increases boot and runtime performance for stable distributions without hampering rapid testing of SVN versions in interpretative mode.
==== .thumb files ====
This extension designates thumbnail (image preview) files in MakeHuman. Underneath, they are actually images constructed in the .png file format. Thus, they can be edited by standard image editors like GIMP or displayed by most web browsers. The MakeHuman Save Tab code automatically generates a companion .thumb file each time it saves a .mhm file. The .thumb generation is currently done by capturing a rectangular in the center of the viewport window. The MakeHuman Load Tab code uses .thumb images to provide previews of saved models.
The format for .thumb is defined inimage_qt.pymodule (GUI folder). Load and Save use or generation occur inguiload.pyandguisave.pymodules, respectively (lib folder). Numerous plugin modules reference .thumb files (plugins folder) including:2_posing_expression.py,3_libraries_clothes_chooser.py,3_libraries_eye_chooser.py,3_libraries_material_chooser.py,3_libraries_polygon_hair_chooser.py,3_libraries_posing_chooser.py,3_libraries_proxy_chooser.py, 4_rendering_scene.py,7_material_editor.py,
==== .lmk files ====
This MH internal extension designates landmark files. [might be renamed .mhlmk for naming standard reasons.] There is one set of landmarks for the model body (and a second set of landmarks for the model head (data | landmarks folder). These LMK files are written in text readable format. Each line has a single integer which specifies a landmark vertex in the model geometry. Landmark vertices are used for relative (local) spatial reference during model morphing.
Landmark files are used bywarpmodifier.py(apps folder) andwarp.py(utils | tools | warptarget folder).The landmarks in these files are used as references during the complex process of reshaping the human.
==== .mhclo files ====
This MH internal extension designates MakeHuman clothes files. These files define clothing vertexes and remove vertexes from the model to allow fitting of the model without skin showing through. They are created using the MakeHuman Blender toolset, specifically the MakeClothes tool.
A special empty MakeHuman clothes meta-file named clear.mhclo is is used to restore the default UV map that comes with the system. In the lib folder, the filechooser.py module has a MhcloFileLoader.Refresh() method to clear materials when the refresh button is clicked.
In the plugins folder,3_libraries_clothes_chooser.py, 3_libraries_eye_chooser.py, and 3_libraries_polygon_hair_chooser.py all access MHCLO files, but as of this writing, there are some file handling issues related to proxy clothes that means some of this code is commented out. In the shared/export_utils folder, config.py accesses a cage.mhclo file. In the tools folder, the tool ‘MakeClothes’ accesses MHCLO files in both the makeclothes.py and material.py modules. Similarly, the tool ‘MakeTarget‘ accesses MHCLO files in several of its modules:_init_.py, convert.py, import_obj.py, mt.py, ands ettings.py. Finally, two experimental tools in the utils folder, the makeface.py and helpers.py modules access MCHO files.
==== .mhmat files ====
This extension designates MakeHuman material files. Material files are text-readable files that share their syntax structure with Lightwave OBJ and MTL files.
In the app module group,human.pyapplies a default material andmh2proxy.pyhandles materials for proxies and may do some special material handling for MHX Blender export files. In the data folder, the MHCLO files for clothes, eyes, and hair each references an MHMAT files. In the plugins folder,7_material_editor.pyloads, edits, and saves MHMAT files. In the shared folder,material.pyparses MHMAT files and sets material properties. In the tools folder, there is another (independent)material.pymodule for the MakeClothes tool that writes materials to the output file while using that tool within Blender.
=== Description of the file format ===
The entries inside a .mhmat file are of the form:
Comments can be included in c-style line comment format, like
or in python-style line comment format, like
The properties of a makehuman material are numerous so that they can cover the most common needs of exporters and rendering engines, and may vary among the following.
name- The internal name of the material.
Colors- Their value can be in R G B format, like:colorProperty R G B,where R, G, B are floating point numbers between 0 and 1. They control the color of various material properties and effects. To adjust the intensity of an effect, you can simply edit its color value.
ambientColor -The ambient component of the material, which is usually added on the final color regardless of the surrounding lights.
diffuseColor -The diffuse component of the material, which reacts to each light's relative position.
specularColor -The color of the specular shine that is caused by the reflection of a light source on the material.
emissiveColor- The color of the light that the material seems to emit like if it's a glowing light source.
shininess- The sharpness of the shine spots created by the reflection of a light source on the material, which is how glossy its surface is.
==== .mhuv files ====
This MH internal extension designates UV map files in MakeHuman. These text-readable files based on Lightwave OBJ syntax. They contain one or two lines of metadata and alternative UV data for the texture object to be applied to the model.
There does not currently appear to be a development tool for creating UV map files. They can be created by creating and saving an OBJ file and then renaming it. However, files created in this manner should not be considered fit for the SVN or website because they contain way too much redundant information. The OBJ files created in this manner not only contain the alternate UV set but also contain all vertices of the original mesh.
==== .mhp files ====
This MH internal extension designates pose files. These files are used to store coordinates for the run and walk poses on the pose tab. The dance1 pose appears to be implemented as a pose file, but it also includes some additional .target files. The dance1 pose is also associated wih a .bvh file whereas run and walk are not. In A8 development there have been issues with the dance1 file behaving less well than run and walk. Hopefully, these will be long gone during subsequent development.
==== .mht files ====
==== This MH internal extension designates a theme (GUI color scheme) for the GUI as rendered by the pyQt library. ====
==== .target files ====
This MH internal extension [which lacks the mh… prefix] specifies final extreme positions that can be achieved when moving the interface sliders in one direction or the other. By definition sliders have a value of zero on the left end and 1.0 on the right end, but there is a software flag to reverse this behavior as desired. With scripting it may be possible to exceed slider extremes, but this is currently undocumented and should not be built into production code. There is one TARGET file for each extreme of each movement. These files are hand-built by MakeHuman artist-developers, and they are the engine of the programs utility. Typically, rightward movement of a slider should increase size, and leftward movement of a slider should decrease size. When ‘left’ and ‘right’ are used as asset names, they should refer to the left and right body part on the model, regardless of the model’s orientation in the viewport. When slider movement involves asymmetrical change in the x, y, and z direction, it should be programmed so that the sliders operate naturally using the default viewport view for that slider. For example, left movement of the slider need not cause deformation toward the model’s left side. Such behavior would only be sensible if the default viewport view had the model facing the rear of the viewport (model’s back toward user).
Most MakeHuman modules use data from the TARGET files.
· In the apps group, these modules includes: devtests.py, human.py, humanmodifier.py, posemode.py, and warpmodifier.py.
· In the core group, these modules includes: algos3D.py which is the main program that works with .target files after they are compiled into
· In the apps group, these modules includes:
· In the apps group, these modules includes:
=== .proxy files ===
This MH internal extension designates proxy meshes. They are structured text files. Format and attributes include ... TODO
.qrc file
This is a resource file need used when compiling for the MakeHuman GUI which uses the pyQt library.
=== .qss file ===
This is the text-based file fomat used to store widgets associated with the GUI interface as rendered by the pyQt library
Appreciate help from current developers as what needs to go here. Undoubtedly some confusion or mistakes on my part, but some of it might help orient others. -RWB
Glad to do the grunt work, but feedback on needed improvemrnt greatly appreciated :-)
---------------------------
Also in this section could possibly also loading, saving, exporting formats (but these formats should probably be addressed in context below)
The basic work done within MakeHuman is saved as a file with an .mhm extension. The .mhm files can be loaded at the start of a new user session, and return MakeHuman to the state that it was in at the end of the previous session.
== Proxy files ==
=== Offset and bounds ===
MakeClothes uses a bounding box for scaling the offsets. It's controlled by the ''Offsets'' option in MakeClothes.
This is how this data is stored in the proxy file, so you can modify by hand if desired.
In the mhclo file at the top, these values appear as
x_scale 5399 11998 1.4340
z_scale 962 5320 2.0001
y_scale 791 881 2.4098
Allowed values are:
x_scale
y_scale
z_scale
shear_x
shear_y
shear_z
l_shear_x
l_shear_y
l_shear_z
r_shear_x
r_shear_y
r_shear_z
scale options follow the format:
x_scale v1 v2 den
with v1, v2 vertex indices on the human basemesh, den a denominator with which the scaling value is reduced
which results in the construction of a scale matrix that is applied to all the offsets of the proxy.
eg.
[xscale 0 0 0]
[0 yscale 0 0]
[0 0 zscale 0]
[0 0 0 1]
where xscale is determined from the option x_scale v1 v2 den as:
xscale = abs(coord_pos(v1).x - coord_pos(v2).x) / den
analog for yscale and zscale (.y or .z components of the position vector will be used instead)
shear options follow the format:
shear_x v1 v2 x1 x2
which result in the creation of a shear matrix instead of a scale matrix (I don't know of any instance where this is used)
uses numpy's affine_matrix_from_points method to calculate a transformation matrix that fits all selected points
didn't go into detail understanding this, because it doesn't seem too relevant. Read the code if interested.
scale overrides shear which overrides l_shear which overrides r_shear, only one of them is used (so you either specify scale, shear, l_shear or r_shear but no combination of them)
If you specify one, it is expected you define the other 2 of the same type as well.
=== max_pole ===
Proxy files can specify the pole count, which is the maximum number of edges that a vertex in the proxy mesh (the OBJ file) can have. If all faces around this vertex share their edges, this number also coincides with the maximum number of faces per vertex. If not specified, MakeHuman assumes this number is 8, which is a reasonable standard (more than 8 edges per vertex is probably a sub-optimal topology).
For example, the MakeHuman basemesh, which was modeled with high consideration of pole count, has a maximum of 5 edges per vertex.
MakeHuman intentionally is conservative about pole count to benefit performance (of the subdivision algorithm for example), for the same performance reasons it will not check the pole count when loading an OBJ, and instead relies on the user, or creation tool (MakeClothes) to set this number appropriately (at the moment MakeClothes does not do this).
Similarly, you can improve performance of MakeHuman by lowering this number if your proxy mesh has lower pole count. Eg for some meshes this can be set to 6 or 7
Proxy files have a property ''max_pole'' to change this number from the default setting of 8 to something else:
max_pole 9
== Meshes ==
MakeHuman stores its meshes in the standard Wavefront OBJ format. It supports quad-only meshes, and by default allows up to 8 edges per vertex. This number can be increased (see proxy format).
== Material files ==
TODO
== Poseunit files ==
TODO
== Target files ==
TODO
== Modifier and slider definitions ==
TODO
f8aa5c0d2a85eec6b9495a145313b51c1cef6911
714
549
2016-05-20T11:25:42Z
Joepal
14
wikitext
text/x-wiki
This section briefly reviews the file accessed or manipulated within MakeHuman. An attempt will be made to explain the function of each file format and where in MakeHuman’s modules it is used. Or external formats links will be provided to more detailed descriptions. Where it can help the developer better understand the overall organization of MakeHuman source code, some information on the module group or modules interaction with the various formats will be provided. This section Is intended to be used with the previous section on directories (folders) to develop an overview of MakeHuman code structure. This structural understanding is essential during the debugging process and is essential to expanding the programs functionality in structurally sound ways.
==== .obj files ====
This extension designates Lightwave object files. These OBJ files store mesh information and metadata needed for rendering in text-readable format. It was originally developed for the Lightwave 3D graphics program, but this file format is now broadly supported by many, if not most, 3D programs. Internally, MakeHuman uses OBJ files (or formats directly based on OBJ files) for the canonical storage of its assets. Many of MakeHuman’s development utilities store newly generated assets in formats related to the Lightwave OBJ specification. Examples of assets canonically stored in Lightwave OBJ format include the base human, and auxiliary geometry assets like eyes, hair, and clothes.
Each OBJ file has a record specifying the object’s name and records specifying one or more mesh objects. Mesh objects, in turn, are composed of record groups specifying: points or vertices (v), vertex normal (vn), faces (f), and vertex textures (vt). In MakeHuman and most general purpose 3D programs (e.g., Blender) OBJ files are exported with an accompanying Wavefront material file having the .mtl extension. These MTL files provide the detailed material attributes necessary to get photorealistic rendering of Wavefront objects. A more complete specification of Wavefront object format can be found at:!LINK!http://www.martinreddy.net/gfx/3d/OBJ.spec -- http://www.martinreddy.net/gfx/3d/OBJ.spec!/LINK!
OBJ files and MTL files have a direct internal analog in MakeHuman in the form of the object class, Object3D. This class, along with its properties and methods, is defined in the object3D.py module(libs folder). Object3D objects are central to the internal workings of MakeHuman. The resemblance of Object3D objects to OBJ files is not coincidental. Many of the core mesh assets in MakeHuman are developed in the open-source project, Blender, and moved to MakeHuman internals using OBJ format. In fact, MakeHuman maintains a separate product [MHTools] designed to support development of new core internal assets
==== .mhpxy files ====
This extension designates compressed binary proxies and clothes.
==== .mtl files ====
This extension designates a Wavefront material file. Wavefront MTL files are referenced from within Wavefront OBJ files to specify the materials used in rendering. More complete information on Wavefront material files is available here:!LINK!http://paulbourke.net/dataformats/mtl/ -- http://paulbourke.net/dataformats/mtl/!/LINK!
MakeHuman’s use of MTL file has been limited, but with the increased support for POV rendering, more modules may access and utilize MTL files. Currently, MTL-related data and files is developmental. Thedata foldercontains a cube.obj (3dobj) and a plane.obj (mitsuba folder) ostensibly associated with materials.
==== .npz files ====
This extension designates compressed binary asset files in MakeHuman [think npz = numPy zip files]. Among the most important assets stored with this extension is target vertex information. These target data determine the motion of each MakeHuman vertices (relative to landmark vertices?) as sliders are moved.
Thefiles3D.pymodule (core folder) tests for verifies existence of OS dependent locations of binary mesh files. The primary purpose of thefiles3D.pymodule is to transpose imported 3D data into a standard internal format for each of the 3D file formats supported by the MakeHuman import. Each importer function is written to return the 3d data in a standard format as a Python list:
[verts, vertsSharedFaces, vertsUV, faceGroups, faceGroupsNames]
Thetargets.pymodule (lib folder) is where system assets stored with the NPZ extension are identified, decompressed, and turned into memory resident structured objects for use by MakeHuman. This
Code related to NPZ files can also be found inalgos3d.pymodule (core folder). This module has been part of MakeHuman for a long time, and is used for morphing related operations. It works with loaded binary translation vectors and applies those translations to morphing targets. It may have some legacy capability to work directly with text-based .target files.
Thecompile_models.pymodule (lib folder) takes all object mesh files (.obj) and compiles them into binary compressed files (NPZ). Similarly, thecompile_targets.pymodule (lib folder) compiles target files (.target) into binary compressed (NPZ) files. The latter module is referenced by Benjamin Lau inMakeHuman.specfile, likely for build purposes.
Important concept. The root folder of MakeHuman contains a batch file calledcleanpz.bat(for Windows) and a corresponding shell script file calledcleanpz.sh(for Linux) whose function is to delete NPZ files between SVN builds. This “garbage collection” assures that each build is not working with out-of-date assets. It also reminds the developer that most of the canonical assets are initially constructed in text readable format. Developers write appropriate constructors to recompile NPZ files during the MakeHuman startup sequence when missing. For distribution versions of MakeHuman, pre-compiled assets in the form of NPZ files are distributed as stable assets. When start up code confirms their existence , no recompile is done, producing a better start-up experience for the user. This design greatly increases boot and runtime performance for stable distributions without hampering rapid testing of SVN versions in interpretative mode.
==== .thumb files ====
This extension designates thumbnail (image preview) files in MakeHuman. Underneath, they are actually images constructed in the .png file format. Thus, they can be edited by standard image editors like GIMP or displayed by most web browsers. The MakeHuman Save Tab code automatically generates a companion .thumb file each time it saves a .mhm file. The .thumb generation is currently done by capturing a rectangular in the center of the viewport window. The MakeHuman Load Tab code uses .thumb images to provide previews of saved models.
The format for .thumb is defined inimage_qt.pymodule (GUI folder). Load and Save use or generation occur inguiload.pyandguisave.pymodules, respectively (lib folder). Numerous plugin modules reference .thumb files (plugins folder) including:2_posing_expression.py,3_libraries_clothes_chooser.py,3_libraries_eye_chooser.py,3_libraries_material_chooser.py,3_libraries_polygon_hair_chooser.py,3_libraries_posing_chooser.py,3_libraries_proxy_chooser.py, 4_rendering_scene.py,7_material_editor.py,
==== .lmk files ====
This MH internal extension designates landmark files. [might be renamed .mhlmk for naming standard reasons.] There is one set of landmarks for the model body (and a second set of landmarks for the model head (data | landmarks folder). These LMK files are written in text readable format. Each line has a single integer which specifies a landmark vertex in the model geometry. Landmark vertices are used for relative (local) spatial reference during model morphing.
Landmark files are used bywarpmodifier.py(apps folder) andwarp.py(utils | tools | warptarget folder).The landmarks in these files are used as references during the complex process of reshaping the human.
==== .mhclo files ====
This MH internal extension designates MakeHuman clothes files. These files define clothing vertexes and remove vertexes from the model to allow fitting of the model without skin showing through. They are created using the MakeHuman Blender toolset, specifically the MakeClothes tool.
A special empty MakeHuman clothes meta-file namedclear.mhclois is used to restore the default UV map that comes with the system. In the lib folder, thefilechooser.pymodule has aMhcloFileLoader.Refresh()method to clear materials when the refresh button is clicked.
In the plugins folder,3_libraries_clothes_chooser.py,3_libraries_eye_chooser.py,and 3_libraries_polygon_hair_chooser.pyall access MHCLO files, but as of this writing, there are some file handling issues related to proxy clothes that means some of this code is commented out. In the shared/export_utils folder, config.py accesses acage.mhclofile. In the tools folder, the tool ‘MakeClothes’ accessws MHCLO files in both the makeclothes.pyandmaterial.pymodules. Similarly, the tool ‘MakeTarget‘ accesses MHCLO files in several of its modules:_init_.py, convert.py,import_obj.py,mt.py, andsettings.py. Finally, two experimental tools in the utils folder, themakeface.pyandhelpers.pymodules access MCHO files.
==== .mhmat files ====
This extension designates MakeHuman material files. Material files are text-readable files that share their syntax structure with Lightwave OBJ and MTL files.
In the app module group,human.pyapplies a default material andmh2proxy.pyhandles materials for proxies and may do some special material handling for MHX Blender export files. In the data folder, the MHCLO files for clothes, eyes, and hair each references an MHMAT files. In the plugins folder,7_material_editor.pyloads, edits, and saves MHMAT files. In the shared folder,material.pyparses MHMAT files and sets material properties. In the tools folder, there is another (independent)material.pymodule for the MakeClothes tool that writes materials to the output file while using that tool within Blender.
=== Description of the file format ===
The entries inside a .mhmat file are of the form:
Comments can be included in c-style line comment format, like
or in python-style line comment format, like
The properties of a makehuman material are numerous so that they can cover the most common needs of exporters and rendering engines, and may vary among the following.
name- The internal name of the material.
Colors- Their value can be in R G B format, like:colorProperty R G B,where R, G, B are floating point numbers between 0 and 1. They control the color of various material properties and effects. To adjust the intensity of an effect, you can simply edit its color value.
ambientColor -The ambient component of the material, which is usually added on the final color regardless of the surrounding lights.
diffuseColor -The diffuse component of the material, which reacts to each light's relative position.
specularColor -The color of the specular shine that is caused by the reflection of a light source on the material.
emissiveColor- The color of the light that the material seems to emit like if it's a glowing light source.
shininess- The sharpness of the shine spots created by the reflection of a light source on the material, which is how glossy its surface is.
==== .mhuv files ====
This MH internal extension designates UV map files in MakeHuman. These text-readable files based on Lightwave OBJ syntax. They contain one or two lines of metadata and alternative UV data for the texture object to be applied to the model.
There does not currently appear to be a development tool for creating UV map files. They can be created by creating and saving an OBJ file and then renaming it. However, files created in this manner should not be considered fit for the SVN or website because they contain way too much redundant information. The OBJ files created in this manner not only contain the alternate UV set but also contain all vertices of the original mesh.
==== .mhp files ====
This MH internal extension designates pose files. These files are used to store coordinates for the run and walk poses on the pose tab. The dance1 pose appears to be implemented as a pose file, but it also includes some additional .target files. The dance1 pose is also associated wih a .bvh file whereas run and walk are not. In A8 development there have been issues with the dance1 file behaving less well than run and walk. Hopefully, these will be long gone during subsequent development.
==== .mht files ====
==== This MH internal extension designates a theme (GUI color scheme) for the GUI as rendered by the pyQt library. ====
==== .target files ====
This MH internal extension [which lacks the mh… prefix] specifies final extreme positions that can be achieved when moving the interface sliders in one direction or the other. By definition sliders have a value of zero on the left end and 1.0 on the right end, but there is a software flag to reverse this behavior as desired. With scripting it may be possible to exceed slider extremes, but this is currently undocumented and should not be built into production code. There is one TARGET file for each extreme of each movement. These files are hand-built by MakeHuman artist-developers, and they are the engine of the programs utility. Typically, rightward movement of a slider should increase size, and leftward movement of a slider should decrease size. When ‘left’ and ‘right’ are used as asset names, they should refer to the left and right body part on the model, regardless of the model’s orientation in the viewport. When slider movement involves asymmetrical change in the x, y, and z direction, it should be programmed so that the sliders operate naturally using the default viewport view for that slider. For example, left movement of the slider need not cause deformation toward the model’s left side. Such behavior would only be sensible if the default viewport view had the model facing the rear of the viewport (model’s back toward user).
Most MakeHuman modules use data from the TARGET files.
· In the apps group, these modules includes: devtests.py, human.py, humanmodifier.py, posemode.py, and warpmodifier.py.
· In the core group, these modules includes: algos3D.py which is the main program that works with .target files after they are compiled into
· In the apps group, these modules includes:
· In the apps group, these modules includes:
=== .proxy files ===
This MH internal extension designates proxy meshes. They are structured text files. Format and attributes include ... TODO
.qrc file
This is a resource file need used when compiling for the MakeHuman GUI which uses the pyQt library.
=== .qss file ===
This is the text-based file fomat used to store widgets associated with the GUI interface as rendered by the pyQt library
Appreciate help from current developers as what needs to go here. Undoubtedly some confusion or mistakes on my part, but some of it might help orient others. -RWB
Glad to do the grunt work, but feedback on needed improvemrnt greatly appreciated :-)
---------------------------
Also in this section could possibly also loading, saving, exporting formats (but these formats should probably be addressed in context below)
The basic work done within MakeHuman is saved as a file with an .mhm extension. The .mhm files can be loaded at the start of a new user session, and return MakeHuman to the state that it was in at the end of the previous session.
== Proxy files ==
=== Offset and bounds ===
MakeClothes uses a bounding box for scaling the offsets. It's controlled by the ''Offsets'' option in MakeClothes.
This is how this data is stored in the proxy file, so you can modify by hand if desired.
In the mhclo file at the top, these values appear as
x_scale 5399 11998 1.4340
z_scale 962 5320 2.0001
y_scale 791 881 2.4098
Allowed values are:
x_scale
y_scale
z_scale
shear_x
shear_y
shear_z
l_shear_x
l_shear_y
l_shear_z
r_shear_x
r_shear_y
r_shear_z
scale options follow the format:
x_scale v1 v2 den
with v1, v2 vertex indices on the human basemesh, den a denominator with which the scaling value is reduced
which results in the construction of a scale matrix that is applied to all the offsets of the proxy.
eg.
[xscale 0 0 0]
[0 yscale 0 0]
[0 0 zscale 0]
[0 0 0 1]
where xscale is determined from the option x_scale v1 v2 den as:
xscale = abs(coord_pos(v1).x - coord_pos(v2).x) / den
analog for yscale and zscale (.y or .z components of the position vector will be used instead)
shear options follow the format:
shear_x v1 v2 x1 x2
which result in the creation of a shear matrix instead of a scale matrix (I don't know of any instance where this is used)
uses numpy's affine_matrix_from_points method to calculate a transformation matrix that fits all selected points
didn't go into detail understanding this, because it doesn't seem too relevant. Read the code if interested.
scale overrides shear which overrides l_shear which overrides r_shear, only one of them is used (so you either specify scale, shear, l_shear or r_shear but no combination of them)
If you specify one, it is expected you define the other 2 of the same type as well.
=== max_pole ===
Proxy files can specify the pole count, which is the maximum number of edges that a vertex in the proxy mesh (the OBJ file) can have. If all faces around this vertex share their edges, this number also coincides with the maximum number of faces per vertex. If not specified, MakeHuman assumes this number is 8, which is a reasonable standard (more than 8 edges per vertex is probably a sub-optimal topology).
For example, the MakeHuman basemesh, which was modeled with high consideration of pole count, has a maximum of 5 edges per vertex.
MakeHuman intentionally is conservative about pole count to benefit performance (of the subdivision algorithm for example), for the same performance reasons it will not check the pole count when loading an OBJ, and instead relies on the user, or creation tool (MakeClothes) to set this number appropriately (at the moment MakeClothes does not do this).
Similarly, you can improve performance of MakeHuman by lowering this number if your proxy mesh has lower pole count. Eg for some meshes this can be set to 6 or 7
Proxy files have a property ''max_pole'' to change this number from the default setting of 8 to something else:
max_pole 9
== Meshes ==
MakeHuman stores its meshes in the standard Wavefront OBJ format. It supports quad-only meshes, and by default allows up to 8 edges per vertex. This number can be increased (see proxy format).
== Material files ==
TODO
== Poseunit files ==
TODO
== Target files ==
TODO
== Modifier and slider definitions ==
TODO
fce2c530ce76ca6bacb5536d95044d435134ffaa
549
2015-11-12T09:50:38Z
Duststorm
19
Create first version
wikitext
text/x-wiki
MakeHuman stores some of its art assets and definition files in a custom format. This article contains an overview of these formats
== Proxy files ==
=== Offset and bounds ===
MakeClothes uses a bounding box for scaling the offsets. It's controlled by the ''Offsets'' option in MakeClothes.
This is how this data is stored in the proxy file, so you can modify by hand if desired.
In the mhclo file at the top, these values appear as
x_scale 5399 11998 1.4340
z_scale 962 5320 2.0001
y_scale 791 881 2.4098
Allowed values are:
x_scale
y_scale
z_scale
shear_x
shear_y
shear_z
l_shear_x
l_shear_y
l_shear_z
r_shear_x
r_shear_y
r_shear_z
scale options follow the format:
x_scale v1 v2 den
with v1, v2 vertex indices on the human basemesh, den a denominator with which the scaling value is reduced
which results in the construction of a scale matrix that is applied to all the offsets of the proxy.
eg.
[xscale 0 0 0]
[0 yscale 0 0]
[0 0 zscale 0]
[0 0 0 1]
where xscale is determined from the option x_scale v1 v2 den as:
xscale = abs(coord_pos(v1).x - coord_pos(v2).x) / den
analog for yscale and zscale (.y or .z components of the position vector will be used instead)
shear options follow the format:
shear_x v1 v2 x1 x2
which result in the creation of a shear matrix instead of a scale matrix (I don't know of any instance where this is used)
uses numpy's affine_matrix_from_points method to calculate a transformation matrix that fits all selected points
didn't go into detail understanding this, because it doesn't seem too relevant. Read the code if interested.
scale overrides shear which overrides l_shear which overrides r_shear, only one of them is used (so you either specify scale, shear, l_shear or r_shear but no combination of them)
If you specify one, it is expected you define the other 2 of the same type as well.
=== max_pole ===
Proxy files can specify the pole count, which is the maximum number of edges that a vertex in the proxy mesh (the OBJ file) can have. If all faces around this vertex share their edges, this number also coincides with the maximum number of faces per vertex. If not specified, MakeHuman assumes this number is 8, which is a reasonable standard (more than 8 edges per vertex is probably a sub-optimal topology).
For example, the MakeHuman basemesh, which was modeled with high consideration of pole count, has a maximum of 5 edges per vertex.
MakeHuman intentionally is conservative about pole count to benefit performance (of the subdivision algorithm for example), for the same performance reasons it will not check the pole count when loading an OBJ, and instead relies on the user, or creation tool (MakeClothes) to set this number appropriately (at the moment MakeClothes does not do this).
Similarly, you can improve performance of MakeHuman by lowering this number if your proxy mesh has lower pole count. Eg for some meshes this can be set to 6 or 7
Proxy files have a property ''max_pole'' to change this number from the default setting of 8 to something else:
max_pole 9
== Meshes ==
MakeHuman stores its meshes in the standard Wavefront OBJ format. It supports quad-only meshes, and by default allows up to 8 edges per vertex. This number can be increased (see proxy format).
== Material files ==
TODO
== Poseunit files ==
TODO
== Target files ==
TODO
== Modifier and slider definitions ==
TODO
0e1f5070cfa601c619922b4c3a7d9b541c4012ac
Documentation:Finding and downloading more assets
3000
538
1439
1438
2017-10-24T03:29:57Z
Ercannon
50
added stubs for target, hair, skin
wikitext
text/x-wiki
Many assets are found on the forums and online.
==Adding Poses==
Poses are made of three files: a <code>.bvh</code> file, a <code>.meta</code> file, and (optionally) a <code>.thumb</code> file. The <code>.bvh</code> and <code>.meta</code> files contain the information for the pose, the <code>.thumb</code> file contains an image of the pose that is used in Makehuman.
To add a new pose, download the provided files and copy them to the <code>/data/poses</code> directory. The pose will show up in the poses tab, no need to restart Makehuman. If you were on the poses tab when you copied the files and the pose does not show up, it may be necessary to click on another tab and then click back to the poses tab for the new pose to show up.
==Adding Clothing==
Clothing is made of a number of files: a <code>.mhmat</code> file, a <code>.mhpxy</code> file, a <code>.npz</code> and (optionally) a <code>.thumb</code> file. There may also be one or more image files. The <code>.mhmat</code>, <code>.mhpxy</code>, and <code>.npz</code> files contain the information for the clothing, the <code>.thumb</code> file contains an image of the pose that is used in Makehuman. Any other image files are textures used by the clothes.
To add a new article of clothing, download all the provided files and copy them to a new folder in the copy them to the <code>/data/clothes</code> directory. The clothing will show up in the clothing tab, no need to restart Makehuman. If you were on the clothing tab when you copied the files and the new clothing does not show up, it may be necessary to click on another tab and then click back to the clothing tab for the new pose to show up.
==Adding Targets==
todo
==Adding Hairstyles==
todo
==Adding Skins==
todo
949f1a63f25f509a3979e29609159e3add49b6e2
1438
2017-10-24T03:27:28Z
Ercannon
50
Created file, some basic information.
wikitext
text/x-wiki
Many assets are found on the forums and online.
==Adding Poses==
Poses are made of three files: a <code>.bvh</code> file, a <code>.meta</code> file, and (optionally) a <code>.thumb</code> file. The <code>.bvh</code> and <code>.meta</code> files contain the information for the pose, the <code>.thumb</code> file contains an image of the pose that is used in Makehuman.
To add a new pose, download the provided files and copy them to the <code>/data/poses</code> directory. The pose will show up in the poses tab, no need to restart Makehuman. If you were on the poses tab when you copied the files and the pose does not show up, it may be necessary to click on another tab and then click back to the poses tab for the new pose to show up.
==Adding Clothing==
Clothing is made of a number of files: a <code>.mhmat</code> file, a <code>.mhpxy</code> file, a <code>.npz</code> and (optionally) a <code>.thumb</code> file. There may also be one or more image files. The <code>.mhmat</code>, <code>.mhpxy</code>, and <code>.npz</code> files contain the information for the clothing, the <code>.thumb</code> file contains an image of the pose that is used in Makehuman. Any other image files are textures used by the clothes.
To add a new article of clothing, download all the provided files and copy them to a new folder in the copy them to the <code>/data/clothes</code> directory. The clothing will show up in the clothing tab, no need to restart Makehuman. If you were on the clothing tab when you copied the files and the new clothing does not show up, it may be necessary to click on another tab and then click back to the clothing tab for the new pose to show up.
be7095407b25e3522239155e167aeea923536607
Documentation:Foo
3000
5
16
15
2015-06-29T17:44:40Z
Aiena1
3
wikitext
text/x-wiki
this is a test
GO BACK TO THE INDEX [[Documentation:Index|Index]]
0052af4456d384b705eef759c86fe725dcbd0f3a
15
2015-06-29T17:41:04Z
Aiena1
3
Created page with "this is a test GO BACK TO THE INDEX [[Documentation:Index]]"
wikitext
text/x-wiki
this is a test
GO BACK TO THE INDEX [[Documentation:Index]]
0b8a2fcf31309dfb0766a5254f0851eece839e7a
Documentation:Gender, Random, Measure and Custom
3000
230
1107
782
2016-07-05T17:17:28Z
Aranuvir
17
wikitext
text/x-wiki
== Gender ==
The gender plugin comprises sliders used to alter gender specific attributes of your human models.
Currently this largely consists of "Breast". This category, as the name suggests, comprises of sliders used to alter attributes related to the human female breasts such as firmness, size, pointiness etc.
== Random modifier ==
[[File:random2_2_0.png]]
The random modifier is used to auto generate human beings with randomised parameters.
The interface comprises of 3 checkboxes, 2 sliders and 2 buttons.
* Macro checkbox -This checkbox is used to toggle whether "Macro" attributes such as age, tone/muscle, gender are randomised or not.
* Height checkbox -This checkbox is used to toggle whetherthe height attribute is randomised or not.
* Face checkbox -If this is enabled the facial features of the model are randomised.
* Symmetry slider -THis is used to introduce Assymmetry in the model.
* Amount -THis slider is used to control the amount of randomisation of the character done by the random plugin.
* Replace current -usede to replace current model with a new random model.
* Adjust current -this is used to alter the parameters of the current model.
== Measure Panel ==
[[File:measure_1.png]]
The "Measure" tab facilitates the end user in more precise modelling of the human form. With the measure panel you are able to use the sliders as well as specify the units as sliders for more accurate adjustment of proportions. Various proportions can be edited here such as the proportions of the neck, waist , arms, legs and so on. One example of where this would be useful is in modelling characters like Michael Phelps who has an arm span longer than his height making him a better swimmer.
== Custom modifier ==
[[File:customtab_0.png]]
The custom panel is primarily used for "custom morphs". Cusom morphs can be created by you using blender tools and then used inside makehuman. This tab will remain empty unless you make your own targets using blender scripts and import them for use inside blender. This would be used for instance if you wanted to make an "Elven ears" morph inside makeuman for a humanoid character. This tab is more relevant for advanced makehuman users.
f23c759984f2834995f34ecc12e9d75c2c7d131b
782
689
2016-05-24T12:08:17Z
Joepal
14
wikitext
text/x-wiki
== Gender ==
The gender plugin comprises sliders used to alter gender specific attributes of your human models.
Currently this largely consists of "Breast". This category, as the name suggests, comprises of sliders used to alter attributes related to the human female breasts such as firmness, size, pointiness etc.
== Random modifier ==
!IMAGE!Pictures/random2_2_0.png!/IMAGE!
The random modifier is used to auto generate human beings with randomised parameters.
The interface comprises of 3 checkboxes, 2 sliders and 2 buttons.
* Macro checkbox -This checkbox is used to toggle whether "Macro" attributes such as age, tone/muscle, gender are randomised or not.
* Height checkbox -This checkbox is used to toggle whetherthe height attribute is randomised or not.
* Face checkbox -If this is enabled the facial features of the model are randomised.
* Symmetry slider -THis is used to introduce Assymmetry in the model.
* Amount -THis slider is used to control the amount of randomisation of the character done by the random plugin.
* Replace current -usede to replace current model with a new random model.
* Adjust current -this is used to alter the parameters of the current model.
== Measure Panel ==
!IMAGE!Pictures/measure_1.png!/IMAGE!
The "Measure" tab facilitates the end user in more precise modelling of the human form. With the measure panel you are able to use the sliders as well as specify the units as sliders for more accurate adjustment of proportions. Various proportions can be edited here such as the proportions of the neck, waist , arms, legs and so on. One example of where this would be useful is in modelling characters like Michael Phelps who has an arm span longer than his height making him a better swimmer.
== Custom modifier ==
!IMAGE!Pictures/customtab_0.png!/IMAGE!
The custom panel is primarily used for "custom morphs". Cusom morphs can be created by you using blender tools and then used inside makehuman. This tab will remain empty unless you make your own targets using blender scripts and import them for use inside blender. This would be used for instance if you wanted to make an "Elven ears" morph inside makeuman for a humanoid character. This tab is more relevant for advanced makehuman users.
fa09681a67df82b3eb59b1d7fdf843f2a6966f30
689
2016-05-20T09:01:37Z
Joepal
14
Created page with "==== Gender ==== The gender plugin comprises sliders used to alter gender specific attributes of your human models. Currently this largely consists of "Breast". This category..."
wikitext
text/x-wiki
==== Gender ====
The gender plugin comprises sliders used to alter gender specific attributes of your human models.
Currently this largely consists of "Breast". This category, as the name suggests, comprises of sliders used to alter attributes related to the human female breasts such as firmness, size, pointiness etc.
==== Random modifier ====
!IMAGE!Pictures/random2_2_0.png!/IMAGE!
The random modifier is used to auto generate human beings with randomised parameters.
The interface comprises of 3 checkboxes, 2 sliders and 2 buttons.
* Macro checkbox -This checkbox is used to toggle whether "Macro" attributes such as age, tone/muscle, gender are randomised or not.
* Height checkbox -This checkbox is used to toggle whetherthe height attribute is randomised or not.
* Face checkbox -If this is enabled the facial features of the model are randomised.
* Symmetry slider -THis is used to introduce Assymmetry in the model.
* Amount -THis slider is used to control the amount of randomisation of the character done by the random plugin.
* Replace current -usede to replace current model with a new random model.
* Adjust current -this is used to alter the parameters of the current model.
==== Measure Panel ====
!IMAGE!Pictures/measure_1.png!/IMAGE!
The "Measure" tab facilitates the end user in more precise modelling of the human form. With the measure panel you are able to use the sliders as well as specify the units as sliders for more accurate adjustment of proportions. Various proportions can be edited here such as the proportions of the neck, waist , arms, legs and so on. One example of where this would be useful is in modelling characters like Michael Phelps who has an arm span longer than his height making him a better swimmer.
==== Custom modifier ====
!IMAGE!Pictures/customtab_0.png!/IMAGE!
The custom panel is primarily used for "custom morphs". Cusom morphs can be created by you using blender tools and then used inside makehuman. This tab will remain empty unless you make your own targets using blender scripts and import them for use inside blender. This would be used for instance if you wanted to make an "Elven ears" morph inside makeuman for a humanoid character. This tab is more relevant for advanced makehuman users.
fda6610ebf0aad5e4f4140178b7fd816b416e87c
Documentation:Getting and installing BlenderTools
3000
239
1477
1443
2018-08-22T12:19:33Z
Rib
45
Show where addons are typically found on OSX
wikitext
text/x-wiki
The most up to date BlenderTools package (for 1.1.0) is available here: http://download.tuxfamily.org/makehuman/releases/1.1.0/blendertools-1.1.0-all.zip
BlenderTools roughly follows the releases of MakeHuman. So while it might work to use another version, it is probably better to upgrade BlenderTools whenever you upgrade MakeHuman.
BlenderTools should work with any modern version of Blender.
In practice, BlenderTools is a zip package consisting of three folders:
* MakeTarget (used to create targets)
* MakeClothes (used to create clothes, hair, proxies and other mesh items usable in MH)
* MakeWalk (used for BVH animation)
To install the addons, these '''subfolders''' must first be copied to a location where Blender can find it. Depending on the operating system being used, the addons destination directory where Blender will look for user-defined add-ons, is:
* Windows 7 and later: C:\Users\%username%\AppData\Roaming\Blender Foundation\Blender\%your blender version%\scripts\addons
* Linux: /home/%username%/.blender/%version%/scripts/addons
* OSX: /Users/%username%/Library/Application Support/Blender/%version%/scripts/addons
The directories should look something like:
<nowiki>
/path/to/%version%/scripts/addons/maketarget/
/path/to/%version%/scripts/addons/makeclothes/
/path/to/%version%/scripts/addons/makewalk/
</nowiki>
'''(you might need to create the '%version%/scripts' and '%version%/scripts/addons' directories if they don't already exist)'''
''Note: that the AppData folder in Windows 7 and the .blender folder in Linux are hidden folders. The location may also be different depending on your choices for setting up your operating system and Blender. For more information see the Blender documentation.''
''Note: it won't work to use Blender's <code>Install from File...</code> UI to install these addons directly from the downloaded .zip file because the zip file has a top-level 'blendertools/' directory which shouldn't be kept.''
''Note: similarly on Windows it's not enough to use the <code>Extract all...</code> context menu option to unpack the zip file in the addons directory because that may create a top-level directory like 'blender-tools-1.1.0-all/' and the zip file also has its own top-level 'blendertools/' directory.''
To enable the MH addons, in Blender open the User Preferences window from the File > User Preferences menu, and go to the Addons tab. The Blendertools addons are located in the MakeHuman category. Enable them by checking the box in the upper-right corner, next to the running man symbol. If you want Blendertools to start every time Blender is restarted, press the "Save User Settings" button.
3a798cdfe174ccdef2a3f440cf01f3825fb103cb
1443
1436
2018-02-10T03:23:35Z
Robitron
56
wikitext
text/x-wiki
The most up to date BlenderTools package (for 1.1.0) is available here: http://download.tuxfamily.org/makehuman/releases/1.1.0/blendertools-1.1.0-all.zip
BlenderTools roughly follows the releases of MakeHuman. So while it might work to use another version, it is probably better to upgrade BlenderTools whenever you upgrade MakeHuman.
BlenderTools should work with any modern version of Blender.
In practice, BlenderTools is a zip package consisting of three folders:
* MakeTarget (used to create targets)
* MakeClothes (used to create clothes, hair, proxies and other mesh items usable in MH)
* MakeWalk (used for BVH animation)
To install the addons, these '''subfolders''' must first be copied to a location where Blender can find it. Depending on the operating system being used, the addons destination directory where Blender will look for user-defined add-ons, is:
* Windows 7 and later: C:\Users\%username%\AppData\Roaming\Blender Foundation\Blender\%your blender version%\scripts\addons
* Linux: /home/%username%/.blender/%version%/scripts/addons
The directories should look something like:
<nowiki>
/path/to/%version%/scripts/addons/maketarget/
/path/to/%version%/scripts/addons/makeclothes/
/path/to/%version%/scripts/addons/makewalk/
</nowiki>
'''(you might need to create the '%version%/scripts' and '%version%/scripts/addons' directories if they don't already exist)'''
''Note: that the AppData folder in Windows 7 and the .blender folder in Linux are hidden folders. The location may also be different depending on your choices for setting up your operating system and Blender. For more information see the Blender documentation.''
''Note: it won't work to use Blender's <code>Install from File...</code> UI to install these addons directly from the downloaded .zip file because the zip file has a top-level 'blendertools/' directory which shouldn't be kept.''
''Note: similarly on Windows it's not enough to use the <code>Extract all...</code> context menu option to unpack the zip file in the addons directory because that may create a top-level directory like 'blender-tools-1.1.0-all/' and the zip file also has its own top-level 'blendertools/' directory.''
To enable the MH addons, in Blender open the User Preferences window from the File > User Preferences menu, and go to the Addons tab. The Blendertools addons are located in the MakeHuman category. Enable them by checking the box in the upper-right corner, next to the running man symbol. If you want Blendertools to start every time Blender is restarted, press the "Save User Settings" button.
f6d7bf71febb8d0a5af079616ae43f7cf82a25af
1436
1435
2017-09-04T15:59:14Z
Rib
45
don't use camel case in example of what the directories should look like since the zip file has lowercase directory names
wikitext
text/x-wiki
The most up to date BlenderTools package (for 1.1.0) is available here: http://download.tuxfamily.org/makehuman/releases/1.1.0/blendertools-1.1.0-all.zip
BlenderTools roughly follows the releases of MakeHuman. So while it might work to use another version, it is probably better to upgrade BlenderTools whenever you upgrade MakeHuman.
BlenderTools should work with any modern version of Blender.
In practice, BlenderTools is a zip package consisting of three folders:
* MakeTarget (used to create targets)
* MakeClothes (used to create clothes, hair, proxies and other mesh items usable in MH)
* MakeWalk (used for BVH animation)
To install the addons, these '''subfolders''' must first be copied to a location where Blender can find it. Depending on the operating system being used, the addons destination directory where Blender will look for user-defined add-ons, is:
* Windows 7 and later: C:\Users\%username%\AppData\Roaming\Blender Foundation\Blender\%your blender version%\scripts\addons
* Linux: /home/%username%/.blender/%version%/scripts/addons
The directories should look something like:
<nowiki>
/path/to/%version%/scripts/addons/maketarget/
/path/to/%version%/scripts/addons/makeclothes/
/path/to/%version%/scripts/addons/makewalk/
</nowiki>
(you might need to create the '%version%/scripts' and '%version%/scripts/addons' directories if they don't already exist)
''Note: that the AppData folder in Windows 7 and the .blender folder in Linux are hidden folders. The location may also be different depending on your choices for setting up your operating system and Blender. For more information see the Blender documentation.''
''Note: it won't work to use Blender's <code>Install from File...</code> UI to install these addons directly from the downloaded .zip file because the zip file has a top-level 'blendertools/' directory which shouldn't be kept.''
''Note: similarly on Windows it's not enough to use the <code>Extract all...</code> context menu option to unpack the zip file in the addons directory because that may create a top-level directory like 'blender-tools-1.1.0-all/' and the zip file also has its own top-level 'blendertools/' directory.''
To enable the MH addons, in Blender open the User Preferences window from the File > User Preferences menu, and go to the Addons tab. The Blendertools addons are located in the MakeHuman category. Enable them by checking the box in the upper-right corner, next to the running man symbol. If you want Blendertools to start every time Blender is restarted, press the "Save User Settings" button.
7604877dba94e94b59c2eeb51abb2ee9995319fe
1435
773
2017-09-04T15:43:15Z
Rib
45
Explicitly steer the reader away from using Blender's 'Install from File...' and clarify that only the subdirectories should be kept; after making both these mistakes more than once and seeing reports of other's hitting the same problems on stackexchange
wikitext
text/x-wiki
The most up to date BlenderTools package (for 1.1.0) is available here: http://download.tuxfamily.org/makehuman/releases/1.1.0/blendertools-1.1.0-all.zip
BlenderTools roughly follows the releases of MakeHuman. So while it might work to use another version, it is probably better to upgrade BlenderTools whenever you upgrade MakeHuman.
BlenderTools should work with any modern version of Blender.
In practice, BlenderTools is a zip package consisting of three folders:
* MakeTarget (used to create targets)
* MakeClothes (used to create clothes, hair, proxies and other mesh items usable in MH)
* MakeWalk (used for BVH animation)
To install the addons, these '''subfolders''' must first be copied to a location where Blender can find it. Depending on the operating system being used, the addons destination directory where Blender will look for user-defined add-ons, is:
* Windows 7 and later: C:\Users\%username%\AppData\Roaming\Blender Foundation\Blender\%your blender version%\scripts\addons
* Linux: /home/%username%/.blender/%version%/scripts/addons
The directories should look something like:
<nowiki>
/path/to/%version%/scripts/addons/MakeTarget/
/path/to/%version%/scripts/addons/MakeClothes/
/path/to/%version%/scripts/addons/MakeWalk/
</nowiki>
(you might need to create the '%version%/scripts' and '%version%/scripts/addons' directories if they don't already exist)
''Note: that the AppData folder in Windows 7 and the .blender folder in Linux are hidden folders. The location may also be different depending on your choices for setting up your operating system and Blender. For more information see the Blender documentation.''
''Note: it won't work to use Blender's <code>Install from File...</code> UI to install these addons directly from the downloaded .zip file because the zip file has a top-level 'blendertools/' directory which shouldn't be kept.''
''Note: similarly on Windows it's not enough to use the <code>Extract all...</code> context menu option to unpack the zip file in the addons directory because that may create a top-level directory like 'blender-tools-1.1.0-all/' and the zip file also has its own top-level 'blendertools/' directory.''
To enable the MH addons, in Blender open the User Preferences window from the File > User Preferences menu, and go to the Addons tab. The Blendertools addons are located in the MakeHuman category. Enable them by checking the box in the upper-right corner, next to the running man symbol. If you want Blendertools to start every time Blender is restarted, press the "Save User Settings" button.
6e0d5938a76c7db42bf11501bb1324c461aebcd1
773
772
2016-05-24T11:54:47Z
Joepal
14
wikitext
text/x-wiki
The most up to date BlenderTools package (for 1.1.0) is available here: http://download.tuxfamily.org/makehuman/releases/1.1.0/blendertools-1.1.0-all.zip
BlenderTools roughly follows the releases of MakeHuman. So while it might work to use another version, it is probably better to upgrade BlenderTools whenever you upgrade MakeHuman.
BlenderTools should work with any modern version of Blender.
In practice, BlenderTools is a zip package consisting of three folders:
* MakeTarget (used to create targets)
* MakeClothes (used to create clothes, hair, proxies and other mesh items usable in MH)
* MakeWalk (used for BVH animation)
To install the addons, these subfolders must first be copied to a location where Blender can find it. Depending on the operating system being used, the addons destination directory where Blender will look for user-defined add-ons, is
* Windows 7 and later: C:\Users\%username%\AppData\Roaming\Blender Foundation\Blender\%your blender version%\scripts\addons
* Linux: /home/%username%/.blender/%version%/scripts/addons
Note that the AppData folder in Windows 7 and the .blender folder in Linux are hidden folders. The location may also be different depending on your choices for setting up your operating system and Blender. For more information see the Blender documentation.
To enable the MH addons, in Blender open the User Preferences window from the File > User Preferences menu, and go to the Addons tab. The Blendertools addons are located in the MakeHuman category. Enable them by checking the box in the upper-right corner, next to the running man symbol. If you want Blendertools to start every time Blender is restarted, press the "Save User Settings" button.
3abc5ba26de490f7d2420629d2df44940d5d5825
772
703
2016-05-24T11:53:47Z
Joepal
14
wikitext
text/x-wiki
The most up to date BlenderTools package (for 1.1.0) is available here: http://download.tuxfamily.org/makehuman/releases/1.1.0/blendertools-1.1.0-all.zip
BlenderTools roughly follows the releases of MakeHuman. So while it might work to use another version, it is probably better to upgrade BlenderTools whenever you upgrade MakeHuman.
BlenderTools should work with any modern version of Blender.
In practice, BlenderTools is a zip package consisting of three folders:
* MakeTarget (used to create targets)
* MakeClothes (used to create clothes, hair, proxies and other mesh items usable in MH)
* MakeWalk (used for BVH animation)
To install the addons, these subfolders must first be copied to a location where Blender can find it. Depending on the operating system being used, the addons destination directory where Blender will look for user-defined add-ons, is
* Windows 7 and later: C:\Users\%username%\AppData\Roaming\Blender Foundation\Blender\%your blender version%\scripts\addons
* Linux: /home/%username%/.blender/%version%/scripts/addons
Note that the AppData folder in Windows 7 and the .blender folder in Linux are hidden folders. The location may also be different depending on your choices for setting up your operating system and Blender. For more information see the Blender documentation.
To enable the MH addons, in Blender open the User Preferences window from the File > User Preferences menu, and go to the Addons tab. The Blendertools addons are located in the MakeHuman category. Enable them by checking the box in the upper-right corner, next to the running man symbol. If you want Blendertools to start every time Blender is restarted, press the "Save User Settings" button.
!IMAGE!Pictures/mhx-pref.png!/IMAGE!
9b8a81eb49993b3e9535ecd24a48d455bb9984fd
703
2016-05-20T11:09:16Z
Joepal
14
Created page with "The Blendertools package is available on the download page:!LINK!http://www.makehuman.org/content/download.html -- http://www.makehuman.org/content/download.html!/LINK! The cu..."
wikitext
text/x-wiki
The Blendertools package is available on the download page:!LINK!http://www.makehuman.org/content/download.html -- http://www.makehuman.org/content/download.html!/LINK!
The current version is 1.0.0, designed to work with MakeHuman 1.0.0 and with Blender 2.69. It's a zip package of four folders:
* MakeTarget
* MakeClothes
* MakeWalk
* mhx_importer
To install the addons, these subfolders must first be copied to a location where Blender can find it. Depending on the operating system being used, the addons destination directory where Blender will look for user-defined add-ons, is
* Windows 7: C:\Users\%username%\AppData\Roaming\Blender Foundation\Blender\2.6x\scripts\addons
* Windows XP: C:\Documents and Settings\%username%\Application Data\Blender Foundation\Blender\2.6x\scripts\addons
* Vista: C:\Program Files\Blender Foundation\Blender\%blenderversion%\scripts\addons (this is valid at least for blender 2.69)
* Linux: /home/$user/.blender/$version/scripts/addons
Note that the AppData folder in Windows 7 and the .blender folder in Linux are hidden folders. The location may also be different depending on your choices for setting up your operating system and Blender. For more information see the Blender documentation.
To enable the MH addons, in Blender open the User Preferences window from the File > User Preferences menu, and go to the Addons tab. The Blendertools addons are located in the MakeHuman category. Enable them by checking the box in the upper-right corner, next to the running man symbol. If you want Blendertools to start every time Blender is restarted, press the "Save User Settings" button.
!IMAGE!Pictures/mhx-pref.png!/IMAGE!
63fdd3d2433fa4b4e776795f043ee97fee744e5b
Documentation:Getting started with MakeHuman code
3000
248
1120
723
2016-07-05T17:38:26Z
Aranuvir
17
/* Getting started */
wikitext
text/x-wiki
=== Getting started ===
The best way to start your experiments with MakeHuman code is to clone our official repository and start to modify it.
In order to procced easily. it is recommended you use the tools available at!LINK!https://bitbucket.org -- https://bitbucket.org!/LINK!.
The general procedure is:
* Go to!LINK!https://bitbucket.org -- https://bitbucket.org!/LINK!and sign up (if you don't already have an account)
* Go to !LINK!https://bitbucket.org/MakeHuman/makehuman -- https://bitbucket.org/MakeHuman/makehuman!/LINK!
* Click "fork" (it's hidden under "..." in the button menu)
[[File:fork.jpg]]
* Enter a name and description of your choice (the fork will end up on your account, so it doesn't matter what you call it). Use "fork at tip" and don't check "this is a private repository"
* You should be redirected to the new repository on bitbucket
* clone your new repository to your local harddrive (if you need a primer on how to clone or use bitbucket,!LINK!https://confluence.atlassian.com/display/BITBUCKET/Bitbucket+201+Bitbucket+with+Git+and+Mercurial -- see their tutorial!/LINK!)
* Make your code changes locally. Do not make a feature branch, work directly on the default branch.
* Commit and push the changes to your repository on bitbucket
* Go to your repository on bitbucket and click "pull request" (in the button menu at the top right of the page)
* Write a good description for what your changes concern and click "create pull request"
Once you have done this, the makehuman team will get a notification that there is an incoming code changes. This will be reviewed and either merged or rejected.
If you want to continue working with updates in the future, make sure your fork is up to date with changes in the makehuman repository. Go to your repository, click the "..." button in the button menu and choose "compare", click the compare button on the page you get to. Merge any incoming changes.
If your tree is hopelessly out of sync with the makehuman tree, just delete it and make a new fork. Better that than accidentally getting junk in your pull requests.
Before starting with any of the above, you might want to read up on how to run makehuman from a source checkout rather than from a binary download. The short story is that you need to install a few dependencies. More information can be found here:!LINK!http://www.makehuman.org/doc/node/libraries_and_build_procedures.html -- http://www.makehuman.org/doc/node/libraries_and_build_procedures.html!/LINK!
19d2aff1423151f2a0a72edcc337e2971b978ecf
723
2016-05-20T11:32:47Z
Joepal
14
Created page with "=== Getting started === The best way to start your experiments with MakeHuman code is to clone our official repository and start to modify it. In order to procced easily. i..."
wikitext
text/x-wiki
=== Getting started ===
The best way to start your experiments with MakeHuman code is to clone our official repository and start to modify it.
In order to procced easily. it is recommended you use the tools available at!LINK!https://bitbucket.org -- https://bitbucket.org!/LINK!.
The general procedure is:
* Go to!LINK!https://bitbucket.org -- https://bitbucket.org!/LINK!and sign up (if you don't already have an account)
* Go to !LINK!https://bitbucket.org/MakeHuman/makehuman -- https://bitbucket.org/MakeHuman/makehuman!/LINK!
* Click "fork" (it's hidden under "..." in the button menu)
!IMAGE!Pictures/fork.jpg!/IMAGE!
* Enter a name and description of your choice (the fork will end up on your account, so it doesn't matter what you call it). Use "fork at tip" and don't check "this is a private repository"
* You should be redirected to the new repository on bitbucket
* clone your new repository to your local harddrive (if you need a primer on how to clone or use bitbucket,!LINK!https://confluence.atlassian.com/display/BITBUCKET/Bitbucket+201+Bitbucket+with+Git+and+Mercurial -- see their tutorial!/LINK!)
* Make your code changes locally. Do not make a feature branch, work directly on the default branch.
* Commit and push the changes to your repository on bitbucket
* Go to your repository on bitbucket and click "pull request" (in the button menu at the top right of the page)
* Write a good description for what your changes concern and click "create pull request"
Once you have done this, the makehuman team will get a notification that there is an incoming code changes. This will be reviewed and either merged or rejected.
If you want to continue working with updates in the future, make sure your fork is up to date with changes in the makehuman repository. Go to your repository, click the "..." button in the button menu and choose "compare", click the compare button on the page you get to. Merge any incoming changes.
If your tree is hopelessly out of sync with the makehuman tree, just delete it and make a new fork. Better that than accidentally getting junk in your pull requests.
Before starting with any of the above, you might want to read up on how to run makehuman from a source checkout rather than from a binary download. The short story is that you need to install a few dependencies. More information can be found here:!LINK!http://www.makehuman.org/doc/node/libraries_and_build_procedures.html -- http://www.makehuman.org/doc/node/libraries_and_build_procedures.html!/LINK!
dd48955cf763b2bb99e09905a8afb4a29e53f2c1
Documentation:Hairstyles and Clothes
3000
231
1108
690
2016-07-05T17:19:18Z
Aranuvir
17
wikitext
text/x-wiki
==== Hairstyles ====
The default MakeHuman humanoid model has no hair. However, you may want your model to have hair and a particular hairstyle. In MakeHuman™, you can choose from the available character hairstyles by first selecting the tabsGeometries > Hair.
[[File:hair_1_0_0.png]]
This opens the Hair library window. The Hair library window, as usual, is arranged in three sections. There is a left hand panel (currently empty, but that will include a tag filter), a center preview window showing your current character model, and a right hand panel containing a list of available hairstyles shown as a thumbnail with a label. For the moment, the default hairstyles within MakeHuman™ are only few types. The library will be expanded release by release.
To be able to see your character with an available hairstyle, you must click on the thumbnail image with your mouse.
You can change an assigned hairstyle with another one by clicking on another thumbnail. For example, you can change the hairstyle "afro" of your model by clicking on the hairstyle "fhair" from the panel of thumbnails. Note that doing this will not combine the two hairstyles.
If you are unhappy with how the chosen hairstyle looks on your model and want to return to the previous state of your model, you can press the Undo button at the top left of the screen. In case you want to return to the original state of the model prior to applying any hairstyles, just find the thumbnail named "None" from the gallery of hairstyles and click on it. Your model will now revert to the state that it had before applying any hairstyles to it.
==== Clothes ====
The default MakeHuman model is barefoot and has no clothing on. However, if you would like to dress your model in MakeHuman™ it is possible by simply clicking and loading clothing and shoes from the library of clothing geometry objects that are fitted to the model automatically.
To dress your model press the tabsGeometries > Clothes.
[[File:clothes_1_0.png]]
The clothes interface is very similar to the hair one, with some differences:
* Clicking on more items in the right panel will combine them. To remove an item you have to re-click it.
* There is a tag filter in the left panel, useful to navigate through a big library.
* An option called "Hide Faces Under Clothes" is provided to prevent portions of the body from intersecting the clothing and creating holes during animating.
77b8b086cba0a899be0425bf05a8dc234c5ba44b
690
2016-05-20T09:02:35Z
Joepal
14
Created page with "==== Hairstyles ==== The default MakeHuman humanoid model has no hair. However, you may want your model to have hair and a particular hairstyle. In MakeHuman™, you can choo..."
wikitext
text/x-wiki
==== Hairstyles ====
The default MakeHuman humanoid model has no hair. However, you may want your model to have hair and a particular hairstyle. In MakeHuman™, you can choose from the available character hairstyles by first selecting the tabsGeometries > Hair.
!IMAGE!Pictures/hair_1_0_0.png!/IMAGE!
This opens the Hair library window. The Hair library window, as usual, is arranged in three sections. There is a left hand panel (currently empty, but that will include a tag filter), a center preview window showing your current character model, and a right hand panel containing a list of available hairstyles shown as a thumbnail with a label. For the moment, the default hairstyles within MakeHuman™ are only few types. The library will be expanded release by release.
To be able to see your character with an available hairstyle, you must click on the thumbnail image with your mouse.
You can change an assigned hairstyle with another one by clicking on another thumbnail. For example, you can change the hairstyle "afro" of your model by clicking on the hairstyle "fhair" from the panel of thumbnails. Note that doing this will not combine the two hairstyles.
If you are unhappy with how the chosen hairstyle looks on your model and want to return to the previous state of your model, you can press the Undo button at the top left of the screen. In case you want to return to the original state of the model prior to applying any hairstyles, just find the thumbnail named "None" from the gallery of hairstyles and click on it. Your model will now revert to the state that it had before applying any hairstyles to it.
==== Clothes ====
The default MakeHuman model is barefoot and has no clothing on. However, if you would like to dress your model in MakeHuman™ it is possible by simply clicking and loading clothing and shoes from the library of clothing geometry objects that are fitted to the model automatically.
To dress your model press the tabsGeometries > Clothes.
!IMAGE!Pictures/clothes_1_0.png!/IMAGE!
The clothes interface is very similar to the hair one, with some differences:
* Clicking on more items in the right panel will combine them. To remove an item you have to re-click it.
* There is a tag filter in the left panel, useful to navigate through a big library.
* An option called "Hide Faces Under Clothes" is provided to prevent portions of the body from intersecting the clothing and creating holes during animating.
c11bd1641a4890bf96a2b20c9705324af71a5014
Documentation:Index
3000
2
2117
1972
2021-05-29T09:26:31Z
Punkduck
38
wikitext
text/x-wiki
== Introduction ==
* [[Documentation:What is MakeHuman?|What is MakeHuman?]]: A quick introduction to MakeHuman.
* [[Documentation:Short and Long Pipeline|Short and Long Pipeline ]]: The goal of Makehuman is to see it used in 2 different professional pipelines.
* [[Documentation:Professional mesh topology|Professional mesh topology ]]: An overview of the professional topology provided by MakeHuman
* [[Documentation:Legal|Legal ]]: The various licenses that apply to MakeHuman and External tools
== General overview ==
* [[Documentation:Installing MakeHuman|Installing MakeHuman]]
* [[Documentation:Running MakeHuman from source|Running MakeHuman from source]]
* [[Documentation:Configuration and settings|Configuration and settings]]
* [[Documentation:The interface and its basic functions|The interface and its basic functions]]
* [[Documentation:The toolbar|The toolbar]]
* [[Documentation:The tabs|The tabs]]
* [[Documentation:The sliders|The sliders]]
* [[Documentation:Loading and saving|Loading and saving]]
* [[Documentation:Zoom, pan and rotate using the orbital camera|Zoom, pan and rotate using the orbital camera]]
== Working with the human ==
* [[Documentation:Gender, Random, Measure and Custom|Gender, Random, Measure and Custom]]
* [[Documentation:Hairstyles and Clothes|Hairstyles and Clothes]]
* [[Documentation:Modeling the body|Modeling the body]]
* [[Documentation:Alternative topologies|Alternative topologies]]
* [[Documentation:Skin and other materials|Skin and other materials]]
* [[Documentation:Rendering your work|Rendering your work]]
== Exporting your work to another application ==
* [[Documentation:Exports and file formats|Exports and file formats]]
* [[Documentation:Saving models for Blender and how to import them there|Saving models for Blender and how to import them there]]
* [[Documentation:Saving models for Maya and how to import them there|Saving models for Maya and how to import them there]]
* [[Documentation:Saving models for 3ds MAX and how to import them there|Saving models for 3ds MAX and how to import them there]]
* [[Documentation:Saving models for Unreal Engine and how to import them there|Saving models for Unreal Engine and how to import them there]] / [[Documentation:MH4UE|MH4UE]]
* [[Documentation:Saving models for Unity and how to import them there|Saving models for Unity and how to import them there]]
* [[Documentation:Saving models for OpenSim / Second Life and how to import them there|Saving models for OpenSim / Second Life and how to import them there]]
== Working with MakeHuman models in Blender ==
* [[Documentation:Corrective shape keys|Corrective shape keys]]
* [[Documentation:MHBlenderTools: MakeShapes|MakeShapes a tool for adding more MH shapes in blender]]
== Downloading or creating new assets ==
* [[Documentation:What is an asset?|What is an asset?]]
* [[Documentation:Finding and downloading more assets|Finding and downloading more assets]]
* [[Documentation:Getting and installing BlenderTools|Getting and installing BlenderTools]]
* [[Documentation:TargetsV2|Targets]]
* [[Documentation:ClothesV2|Clothes]]
* [[Documentation:MaterialsMakeSkin|Materials]] (Materials for clothes and other assets)
* [[Documentation:Texture painting a skin in blender|Texture painting a skin in blender]]
== MakeWalk: General Background ==
* [[Documentation:MakeWalk|MakeWalk]]
== MakeWalk: In Depth Tutorials ==
* [[Documentation:Running feet|Running feet]]
* [[Documentation:Automatic animation|Automatic animation]]
== Interacting with the community ==
* [[Documentation:Asking for help|Asking for help]]
* [[Documentation:Reporting a bug|Reporting a bug]]
== MakeHuman for developers ==
* [[Documentation: Plugin System|Plugin System]]
* [[Documentation: OpenGL Notes|OpenGL Notes]]
* [[Documentation: Basemesh|Basemesh and standard skeleton]]
* [[Documentation: Directory structure and core modules|Directory structure and core modules]]
* [[Documentation: File formats and extensions|File formats and extensions]]
* [[Documentation: Libraries and build procedures|Libraries and build procedures]]
* [[Documentation: Development infrastructure|Development infrastructure]]
* [[Documentation: Application design and Code overview|Application design and Code overview]]
* [[Documentation: Getting started with MakeHuman code|Getting started with MakeHuman code]]
* [[Technical notes on MakeHuman]]
== Other / unsorted ==
* [[Documentation:Translation|Translation]]
* [[Documentation:Installing MHX2|Installing MHX2]]
== Meta ==
* [[Documentation:Planning on how to restructure the documentation]]
== Old documentation ==
* [[ Documentation:Collection of old documents|Previous versions of documentation]] are still available.
9bea81270e7b05d6100ad5c600f7e9068f5b4d0d
1972
1971
2021-01-16T07:24:35Z
Assetdk
89
/* Working with MakeHuman models in Blender */
wikitext
text/x-wiki
== Introduction ==
* [[Documentation:What is MakeHuman?|What is MakeHuman?]]: A quick introduction to MakeHuman.
* [[Documentation:Short and Long Pipeline|Short and Long Pipeline ]]: The goal of Makehuman is to see it used in 2 different professional pipelines.
* [[Documentation:Professional mesh topology|Professional mesh topology ]]: An overview of the professional topology provided by MakeHuman
* [[Documentation:Legal|Legal ]]: The various licenses that apply to MakeHuman and External tools
== General overview ==
* [[Documentation:Installing MakeHuman|Installing MakeHuman]]
* [[Documentation:Running MakeHuman from source|Running MakeHuman from source]]
* [[Documentation:Configuration and settings|Configuration and settings]]
* [[Documentation:The interface and its basic functions|The interface and its basic functions]]
* [[Documentation:The toolbar|The toolbar]]
* [[Documentation:The tabs|The tabs]]
* [[Documentation:The sliders|The sliders]]
* [[Documentation:Loading and saving|Loading and saving]]
* [[Documentation:Zoom, pan and rotate using the orbital camera|Zoom, pan and rotate using the orbital camera]]
== Working with the human ==
* [[Documentation:Gender, Random, Measure and Custom|Gender, Random, Measure and Custom]]
* [[Documentation:Hairstyles and Clothes|Hairstyles and Clothes]]
* [[Documentation:Modeling the body|Modeling the body]]
* [[Documentation:Alternative topologies|Alternative topologies]]
* [[Documentation:Skin and other materials|Skin and other materials]]
* [[Documentation:Rendering your work|Rendering your work]]
== Exporting your work to another application ==
* [[Documentation:Exports and file formats|Exports and file formats]]
* [[Documentation:Saving models for Blender and how to import them there|Saving models for Blender and how to import them there]]
* [[Documentation:Saving models for Maya and how to import them there|Saving models for Maya and how to import them there]]
* [[Documentation:Saving models for 3ds MAX and how to import them there|Saving models for 3ds MAX and how to import them there]]
* [[Documentation:Saving models for Unreal Engine and how to import them there|Saving models for Unreal Engine and how to import them there]] / [[Documentation:MH4UE|MH4UE]]
* [[Documentation:Saving models for Unity and how to import them there|Saving models for Unity and how to import them there]]
* [[Documentation:Saving models for OpenSim / Second Life and how to import them there|Saving models for OpenSim / Second Life and how to import them there]]
== Working with MakeHuman models in Blender ==
* [[Documentation:Corrective shape keys|Corrective shape keys]]
* [[Documentation:MHBlenderTools: MakeShapes|MakeShapes a tool for adding more MH shapes in blender]]
== Downloading or creating new assets ==
* [[Documentation:What is an asset?|What is an asset?]]
* [[Documentation:Finding and downloading more assets|Finding and downloading more assets]]
* [[Documentation:Getting and installing BlenderTools|Getting and installing BlenderTools]]
* [[Documentation:TargetsV2|Targets]]
* [[Documentation:ClothesV2|Clothes]]
* [[Documentation:MaterialsMakeSkin|Materials]] (Materials for clothes and other assets)
* [[Documentation:Texture painting a skin in blender|Texture painting a skin in blender]]
== MakeWalk: General Background ==
* [[Documentation:MakeWalk|MakeWalk]]
== MakeWalk: In Depth Tutorials ==
* [[Documentation:Running feet|Running feet]]
* [[Documentation:Automatic animation|Automatic animation]]
== Interacting with the community ==
* [[Documentation:Asking for help|Asking for help]]
* [[Documentation:Reporting a bug|Reporting a bug]]
== MakeHuman for developers ==
* [[Documentation: Plugin System|Plugin System]]
* [[Documentation: OpenGL Notes|OpenGL Notes]]
* [[Documentation: Basemesh|Basemesh]]
* [[Documentation: Directory structure and core modules|Directory structure and core modules]]
* [[Documentation: File formats and extensions|File formats and extensions]]
* [[Documentation: Libraries and build procedures|Libraries and build procedures]]
* [[Documentation: Development infrastructure|Development infrastructure]]
* [[Documentation: Application design and Code overview|Application design and Code overview]]
* [[Documentation: Getting started with MakeHuman code|Getting started with MakeHuman code]]
* [[Technical notes on MakeHuman]]
== Other / unsorted ==
* [[Documentation:Translation|Translation]]
* [[Documentation:Installing MHX2|Installing MHX2]]
== Meta ==
* [[Documentation:Planning on how to restructure the documentation]]
== Old documentation ==
* [[ Documentation:Collection of old documents|Previous versions of documentation]] are still available.
dca5298c6f0df90d13b1e5114b02422444eec88d
1971
1970
2021-01-16T07:08:51Z
Assetdk
89
/* Exporting your work to another application */
wikitext
text/x-wiki
== Introduction ==
* [[Documentation:What is MakeHuman?|What is MakeHuman?]]: A quick introduction to MakeHuman.
* [[Documentation:Short and Long Pipeline|Short and Long Pipeline ]]: The goal of Makehuman is to see it used in 2 different professional pipelines.
* [[Documentation:Professional mesh topology|Professional mesh topology ]]: An overview of the professional topology provided by MakeHuman
* [[Documentation:Legal|Legal ]]: The various licenses that apply to MakeHuman and External tools
== General overview ==
* [[Documentation:Installing MakeHuman|Installing MakeHuman]]
* [[Documentation:Running MakeHuman from source|Running MakeHuman from source]]
* [[Documentation:Configuration and settings|Configuration and settings]]
* [[Documentation:The interface and its basic functions|The interface and its basic functions]]
* [[Documentation:The toolbar|The toolbar]]
* [[Documentation:The tabs|The tabs]]
* [[Documentation:The sliders|The sliders]]
* [[Documentation:Loading and saving|Loading and saving]]
* [[Documentation:Zoom, pan and rotate using the orbital camera|Zoom, pan and rotate using the orbital camera]]
== Working with the human ==
* [[Documentation:Gender, Random, Measure and Custom|Gender, Random, Measure and Custom]]
* [[Documentation:Hairstyles and Clothes|Hairstyles and Clothes]]
* [[Documentation:Modeling the body|Modeling the body]]
* [[Documentation:Alternative topologies|Alternative topologies]]
* [[Documentation:Skin and other materials|Skin and other materials]]
* [[Documentation:Rendering your work|Rendering your work]]
== Exporting your work to another application ==
* [[Documentation:Exports and file formats|Exports and file formats]]
* [[Documentation:Saving models for Blender and how to import them there|Saving models for Blender and how to import them there]]
* [[Documentation:Saving models for Maya and how to import them there|Saving models for Maya and how to import them there]]
* [[Documentation:Saving models for 3ds MAX and how to import them there|Saving models for 3ds MAX and how to import them there]]
* [[Documentation:Saving models for Unreal Engine and how to import them there|Saving models for Unreal Engine and how to import them there]] / [[Documentation:MH4UE|MH4UE]]
* [[Documentation:Saving models for Unity and how to import them there|Saving models for Unity and how to import them there]]
* [[Documentation:Saving models for OpenSim / Second Life and how to import them there|Saving models for OpenSim / Second Life and how to import them there]]
== Working with MakeHuman models in Blender ==
* [[Documentation:Corrective shape keys|Corrective shape keys]]
== Downloading or creating new assets ==
* [[Documentation:What is an asset?|What is an asset?]]
* [[Documentation:Finding and downloading more assets|Finding and downloading more assets]]
* [[Documentation:Getting and installing BlenderTools|Getting and installing BlenderTools]]
* [[Documentation:TargetsV2|Targets]]
* [[Documentation:ClothesV2|Clothes]]
* [[Documentation:MaterialsMakeSkin|Materials]] (Materials for clothes and other assets)
* [[Documentation:Texture painting a skin in blender|Texture painting a skin in blender]]
== MakeWalk: General Background ==
* [[Documentation:MakeWalk|MakeWalk]]
== MakeWalk: In Depth Tutorials ==
* [[Documentation:Running feet|Running feet]]
* [[Documentation:Automatic animation|Automatic animation]]
== Interacting with the community ==
* [[Documentation:Asking for help|Asking for help]]
* [[Documentation:Reporting a bug|Reporting a bug]]
== MakeHuman for developers ==
* [[Documentation: Plugin System|Plugin System]]
* [[Documentation: OpenGL Notes|OpenGL Notes]]
* [[Documentation: Basemesh|Basemesh]]
* [[Documentation: Directory structure and core modules|Directory structure and core modules]]
* [[Documentation: File formats and extensions|File formats and extensions]]
* [[Documentation: Libraries and build procedures|Libraries and build procedures]]
* [[Documentation: Development infrastructure|Development infrastructure]]
* [[Documentation: Application design and Code overview|Application design and Code overview]]
* [[Documentation: Getting started with MakeHuman code|Getting started with MakeHuman code]]
* [[Technical notes on MakeHuman]]
== Other / unsorted ==
* [[Documentation:Translation|Translation]]
* [[Documentation:Installing MHX2|Installing MHX2]]
== Meta ==
* [[Documentation:Planning on how to restructure the documentation]]
== Old documentation ==
* [[ Documentation:Collection of old documents|Previous versions of documentation]] are still available.
9152b8a195fd772e23e68bcec7a0ea3de850fcf7
1970
1952
2021-01-16T07:08:11Z
Assetdk
89
/* Exporting your work to another application */
wikitext
text/x-wiki
== Introduction ==
* [[Documentation:What is MakeHuman?|What is MakeHuman?]]: A quick introduction to MakeHuman.
* [[Documentation:Short and Long Pipeline|Short and Long Pipeline ]]: The goal of Makehuman is to see it used in 2 different professional pipelines.
* [[Documentation:Professional mesh topology|Professional mesh topology ]]: An overview of the professional topology provided by MakeHuman
* [[Documentation:Legal|Legal ]]: The various licenses that apply to MakeHuman and External tools
== General overview ==
* [[Documentation:Installing MakeHuman|Installing MakeHuman]]
* [[Documentation:Running MakeHuman from source|Running MakeHuman from source]]
* [[Documentation:Configuration and settings|Configuration and settings]]
* [[Documentation:The interface and its basic functions|The interface and its basic functions]]
* [[Documentation:The toolbar|The toolbar]]
* [[Documentation:The tabs|The tabs]]
* [[Documentation:The sliders|The sliders]]
* [[Documentation:Loading and saving|Loading and saving]]
* [[Documentation:Zoom, pan and rotate using the orbital camera|Zoom, pan and rotate using the orbital camera]]
== Working with the human ==
* [[Documentation:Gender, Random, Measure and Custom|Gender, Random, Measure and Custom]]
* [[Documentation:Hairstyles and Clothes|Hairstyles and Clothes]]
* [[Documentation:Modeling the body|Modeling the body]]
* [[Documentation:Alternative topologies|Alternative topologies]]
* [[Documentation:Skin and other materials|Skin and other materials]]
* [[Documentation:Rendering your work|Rendering your work]]
== Exporting your work to another application ==
* [[Documentation:Exports and file formats|Exports and file formats]]
* [[Documentation:Saving models for Blender and how to import them there|Saving models for Blender and how to import them there]]
* [[Documentation:Saving models for Maya and how to import them there|Saving models for Maya and how to import them there]]
* [[Documentation:Saving models for 3ds MAX and how to import them there|Saving models for 3ds MAX and how to import them there]]
* [[Documentation:Saving models for Unreal Engine and how to import them there|Saving models for Unreal Engine and how to import them there]] / [[Documentation:MH4UE]]
* [[Documentation:Saving models for Unity and how to import them there|Saving models for Unity and how to import them there]]
* [[Documentation:Saving models for OpenSim / Second Life and how to import them there|Saving models for OpenSim / Second Life and how to import them there]]
== Working with MakeHuman models in Blender ==
* [[Documentation:Corrective shape keys|Corrective shape keys]]
== Downloading or creating new assets ==
* [[Documentation:What is an asset?|What is an asset?]]
* [[Documentation:Finding and downloading more assets|Finding and downloading more assets]]
* [[Documentation:Getting and installing BlenderTools|Getting and installing BlenderTools]]
* [[Documentation:TargetsV2|Targets]]
* [[Documentation:ClothesV2|Clothes]]
* [[Documentation:MaterialsMakeSkin|Materials]] (Materials for clothes and other assets)
* [[Documentation:Texture painting a skin in blender|Texture painting a skin in blender]]
== MakeWalk: General Background ==
* [[Documentation:MakeWalk|MakeWalk]]
== MakeWalk: In Depth Tutorials ==
* [[Documentation:Running feet|Running feet]]
* [[Documentation:Automatic animation|Automatic animation]]
== Interacting with the community ==
* [[Documentation:Asking for help|Asking for help]]
* [[Documentation:Reporting a bug|Reporting a bug]]
== MakeHuman for developers ==
* [[Documentation: Plugin System|Plugin System]]
* [[Documentation: OpenGL Notes|OpenGL Notes]]
* [[Documentation: Basemesh|Basemesh]]
* [[Documentation: Directory structure and core modules|Directory structure and core modules]]
* [[Documentation: File formats and extensions|File formats and extensions]]
* [[Documentation: Libraries and build procedures|Libraries and build procedures]]
* [[Documentation: Development infrastructure|Development infrastructure]]
* [[Documentation: Application design and Code overview|Application design and Code overview]]
* [[Documentation: Getting started with MakeHuman code|Getting started with MakeHuman code]]
* [[Technical notes on MakeHuman]]
== Other / unsorted ==
* [[Documentation:Translation|Translation]]
* [[Documentation:Installing MHX2|Installing MHX2]]
== Meta ==
* [[Documentation:Planning on how to restructure the documentation]]
== Old documentation ==
* [[ Documentation:Collection of old documents|Previous versions of documentation]] are still available.
2e18eea8774e2b8036c9e1d98cbc3b0a975faa5a
1952
1863
2020-11-29T11:17:44Z
Punkduck
38
wikitext
text/x-wiki
== Introduction ==
* [[Documentation:What is MakeHuman?|What is MakeHuman?]]: A quick introduction to MakeHuman.
* [[Documentation:Short and Long Pipeline|Short and Long Pipeline ]]: The goal of Makehuman is to see it used in 2 different professional pipelines.
* [[Documentation:Professional mesh topology|Professional mesh topology ]]: An overview of the professional topology provided by MakeHuman
* [[Documentation:Legal|Legal ]]: The various licenses that apply to MakeHuman and External tools
== General overview ==
* [[Documentation:Installing MakeHuman|Installing MakeHuman]]
* [[Documentation:Running MakeHuman from source|Running MakeHuman from source]]
* [[Documentation:Configuration and settings|Configuration and settings]]
* [[Documentation:The interface and its basic functions|The interface and its basic functions]]
* [[Documentation:The toolbar|The toolbar]]
* [[Documentation:The tabs|The tabs]]
* [[Documentation:The sliders|The sliders]]
* [[Documentation:Loading and saving|Loading and saving]]
* [[Documentation:Zoom, pan and rotate using the orbital camera|Zoom, pan and rotate using the orbital camera]]
== Working with the human ==
* [[Documentation:Gender, Random, Measure and Custom|Gender, Random, Measure and Custom]]
* [[Documentation:Hairstyles and Clothes|Hairstyles and Clothes]]
* [[Documentation:Modeling the body|Modeling the body]]
* [[Documentation:Alternative topologies|Alternative topologies]]
* [[Documentation:Skin and other materials|Skin and other materials]]
* [[Documentation:Rendering your work|Rendering your work]]
== Exporting your work to another application ==
* [[Documentation:Exports and file formats|Exports and file formats]]
* [[Documentation:Saving models for Blender and how to import them there|Saving models for Blender and how to import them there]]
* [[Documentation:Saving models for Maya and how to import them there|Saving models for Maya and how to import them there]]
* [[Documentation:Saving models for 3ds MAX and how to import them there|Saving models for 3ds MAX and how to import them there]]
* [[Documentation:Saving models for Unreal Engine and how to import them there|Saving models for Unreal Engine and how to import them there]]
* [[Documentation:Saving models for Unity and how to import them there|Saving models for Unity and how to import them there]]
* [[Documentation:Saving models for OpenSim / Second Life and how to import them there|Saving models for OpenSim / Second Life and how to import them there]]
== Working with MakeHuman models in Blender ==
* [[Documentation:Corrective shape keys|Corrective shape keys]]
== Downloading or creating new assets ==
* [[Documentation:What is an asset?|What is an asset?]]
* [[Documentation:Finding and downloading more assets|Finding and downloading more assets]]
* [[Documentation:Getting and installing BlenderTools|Getting and installing BlenderTools]]
* [[Documentation:TargetsV2|Targets]]
* [[Documentation:ClothesV2|Clothes]]
* [[Documentation:MaterialsMakeSkin|Materials]] (Materials for clothes and other assets)
* [[Documentation:Texture painting a skin in blender|Texture painting a skin in blender]]
== MakeWalk: General Background ==
* [[Documentation:MakeWalk|MakeWalk]]
== MakeWalk: In Depth Tutorials ==
* [[Documentation:Running feet|Running feet]]
* [[Documentation:Automatic animation|Automatic animation]]
== Interacting with the community ==
* [[Documentation:Asking for help|Asking for help]]
* [[Documentation:Reporting a bug|Reporting a bug]]
== MakeHuman for developers ==
* [[Documentation: Plugin System|Plugin System]]
* [[Documentation: OpenGL Notes|OpenGL Notes]]
* [[Documentation: Basemesh|Basemesh]]
* [[Documentation: Directory structure and core modules|Directory structure and core modules]]
* [[Documentation: File formats and extensions|File formats and extensions]]
* [[Documentation: Libraries and build procedures|Libraries and build procedures]]
* [[Documentation: Development infrastructure|Development infrastructure]]
* [[Documentation: Application design and Code overview|Application design and Code overview]]
* [[Documentation: Getting started with MakeHuman code|Getting started with MakeHuman code]]
* [[Technical notes on MakeHuman]]
== Other / unsorted ==
* [[Documentation:Translation|Translation]]
* [[Documentation:Installing MHX2|Installing MHX2]]
== Meta ==
* [[Documentation:Planning on how to restructure the documentation]]
== Old documentation ==
* [[ Documentation:Collection of old documents|Previous versions of documentation]] are still available.
fe9973e6c456bb5d15a24790acd9fb2075c02f66
1863
1836
2020-09-13T12:47:13Z
Punkduck
38
/* MakeHuman for developers */
wikitext
text/x-wiki
== Introduction ==
* [[Documentation:What is MakeHuman?|What is MakeHuman?]]: A quick introduction to MakeHuman.
* [[Documentation:Short and Long Pipeline|Short and Long Pipeline ]]: The goal of Makehuman is to see it used in 2 different professional pipelines.
* [[Documentation:Professional mesh topology|Professional mesh topology ]]: An overview of the professional topology provided by MakeHuman
* [[Documentation:Legal|Legal ]]: The various licenses that apply to MakeHuman and External tools
== General overview ==
* [[Documentation:Installing MakeHuman|Installing MakeHuman]]
* [[Documentation:Running MakeHuman from source|Running MakeHuman from source]]
* [[Documentation:Configuration and settings|Configuration and settings]]
* [[Documentation:The interface and its basic functions|The interface and its basic functions]]
* [[Documentation:The toolbar|The toolbar]]
* [[Documentation:The tabs|The tabs]]
* [[Documentation:The sliders|The sliders]]
* [[Documentation:Loading and saving|Loading and saving]]
* [[Documentation:Zoom, pan and rotate using the orbital camera|Zoom, pan and rotate using the orbital camera]]
== Working with the human ==
* [[Documentation:Gender, Random, Measure and Custom|Gender, Random, Measure and Custom]]
* [[Documentation:Hairstyles and Clothes|Hairstyles and Clothes]]
* [[Documentation:Modeling the body|Modeling the body]]
* [[Documentation:Alternative topologies|Alternative topologies]]
* [[Documentation:Skin and other materials|Skin and other materials]]
* [[Documentation:Rendering your work|Rendering your work]]
== Exporting your work to another application ==
* [[Documentation:Exports and file formats|Exports and file formats]]
* [[Documentation:Saving models for Blender and how to import them there|Saving models for Blender and how to import them there]]
* [[Documentation:Saving models for Maya and how to import them there|Saving models for Maya and how to import them there]]
* [[Documentation:Saving models for 3ds MAX and how to import them there|Saving models for 3ds MAX and how to import them there]]
* [[Documentation:Saving models for Unreal Engine and how to import them there|Saving models for Unreal Engine and how to import them there]]
* [[Documentation:Saving models for Unity and how to import them there|Saving models for Unity and how to import them there]]
* [[Documentation:Saving models for OpenSim / Second Life and how to import them there|Saving models for OpenSim / Second Life and how to import them there]]
== Working with MakeHuman models in Blender ==
* [[Documentation:Corrective shape keys|Corrective shape keys]]
== Downloading or creating new assets ==
* [[Documentation:What is an asset?|What is an asset?]]
* [[Documentation:Finding and downloading more assets|Finding and downloading more assets]]
* [[Documentation:Getting and installing BlenderTools|Getting and installing BlenderTools]]
* [[Documentation:Targets|Targets]]
* [[Documentation:ClothesV2|Clothes]]
* [[Documentation:MaterialsMakeSkin|Materials]] (Materials for clothes and other assets)
* [[Documentation:Texture painting a skin in blender|Texture painting a skin in blender]]
== MakeWalk: General Background ==
* [[Documentation:MakeWalk|MakeWalk]]
== MakeWalk: In Depth Tutorials ==
* [[Documentation:Running feet|Running feet]]
* [[Documentation:Automatic animation|Automatic animation]]
== Interacting with the community ==
* [[Documentation:Asking for help|Asking for help]]
* [[Documentation:Reporting a bug|Reporting a bug]]
== MakeHuman for developers ==
* [[Documentation: Plugin System|Plugin System]]
* [[Documentation: OpenGL Notes|OpenGL Notes]]
* [[Documentation: Basemesh|Basemesh]]
* [[Documentation: Directory structure and core modules|Directory structure and core modules]]
* [[Documentation: File formats and extensions|File formats and extensions]]
* [[Documentation: Libraries and build procedures|Libraries and build procedures]]
* [[Documentation: Development infrastructure|Development infrastructure]]
* [[Documentation: Application design and Code overview|Application design and Code overview]]
* [[Documentation: Getting started with MakeHuman code|Getting started with MakeHuman code]]
* [[Technical notes on MakeHuman]]
== Other / unsorted ==
* [[Documentation:Translation|Translation]]
* [[Documentation:Installing MHX2|Installing MHX2]]
== Meta ==
* [[Documentation:Planning on how to restructure the documentation]]
== Old documentation ==
* [[ Documentation:Collection of old documents|Previous versions of documentation]] are still available.
d4e2f1e030cc2861b016f881ab25889b9e2b1b68
1836
1833
2020-07-26T09:10:04Z
Punkduck
38
wikitext
text/x-wiki
== Introduction ==
* [[Documentation:What is MakeHuman?|What is MakeHuman?]]: A quick introduction to MakeHuman.
* [[Documentation:Short and Long Pipeline|Short and Long Pipeline ]]: The goal of Makehuman is to see it used in 2 different professional pipelines.
* [[Documentation:Professional mesh topology|Professional mesh topology ]]: An overview of the professional topology provided by MakeHuman
* [[Documentation:Legal|Legal ]]: The various licenses that apply to MakeHuman and External tools
== General overview ==
* [[Documentation:Installing MakeHuman|Installing MakeHuman]]
* [[Documentation:Running MakeHuman from source|Running MakeHuman from source]]
* [[Documentation:Configuration and settings|Configuration and settings]]
* [[Documentation:The interface and its basic functions|The interface and its basic functions]]
* [[Documentation:The toolbar|The toolbar]]
* [[Documentation:The tabs|The tabs]]
* [[Documentation:The sliders|The sliders]]
* [[Documentation:Loading and saving|Loading and saving]]
* [[Documentation:Zoom, pan and rotate using the orbital camera|Zoom, pan and rotate using the orbital camera]]
== Working with the human ==
* [[Documentation:Gender, Random, Measure and Custom|Gender, Random, Measure and Custom]]
* [[Documentation:Hairstyles and Clothes|Hairstyles and Clothes]]
* [[Documentation:Modeling the body|Modeling the body]]
* [[Documentation:Alternative topologies|Alternative topologies]]
* [[Documentation:Skin and other materials|Skin and other materials]]
* [[Documentation:Rendering your work|Rendering your work]]
== Exporting your work to another application ==
* [[Documentation:Exports and file formats|Exports and file formats]]
* [[Documentation:Saving models for Blender and how to import them there|Saving models for Blender and how to import them there]]
* [[Documentation:Saving models for Maya and how to import them there|Saving models for Maya and how to import them there]]
* [[Documentation:Saving models for 3ds MAX and how to import them there|Saving models for 3ds MAX and how to import them there]]
* [[Documentation:Saving models for Unreal Engine and how to import them there|Saving models for Unreal Engine and how to import them there]]
* [[Documentation:Saving models for Unity and how to import them there|Saving models for Unity and how to import them there]]
* [[Documentation:Saving models for OpenSim / Second Life and how to import them there|Saving models for OpenSim / Second Life and how to import them there]]
== Working with MakeHuman models in Blender ==
* [[Documentation:Corrective shape keys|Corrective shape keys]]
== Downloading or creating new assets ==
* [[Documentation:What is an asset?|What is an asset?]]
* [[Documentation:Finding and downloading more assets|Finding and downloading more assets]]
* [[Documentation:Getting and installing BlenderTools|Getting and installing BlenderTools]]
* [[Documentation:Targets|Targets]]
* [[Documentation:ClothesV2|Clothes]]
* [[Documentation:MaterialsMakeSkin|Materials]] (Materials for clothes and other assets)
* [[Documentation:Texture painting a skin in blender|Texture painting a skin in blender]]
== MakeWalk: General Background ==
* [[Documentation:MakeWalk|MakeWalk]]
== MakeWalk: In Depth Tutorials ==
* [[Documentation:Running feet|Running feet]]
* [[Documentation:Automatic animation|Automatic animation]]
== Interacting with the community ==
* [[Documentation:Asking for help|Asking for help]]
* [[Documentation:Reporting a bug|Reporting a bug]]
== MakeHuman for developers ==
* [[Documentation: Plugin System|Plugin System]]
* [[Documentation: OpenGL Notes|OpenGL Notes]]
* [[Documentation: Directory structure and core modules|Directory structure and core modules]]
* [[Documentation: File formats and extensions|File formats and extensions]]
* [[Documentation: Libraries and build procedures|Libraries and build procedures]]
* [[Documentation: Development infrastructure|Development infrastructure]]
* [[Documentation: Application design and Code overview|Application design and Code overview]]
* [[Documentation: Getting started with MakeHuman code|Getting started with MakeHuman code]]
* [[Technical notes on MakeHuman]]
== Other / unsorted ==
* [[Documentation:Translation|Translation]]
* [[Documentation:Installing MHX2|Installing MHX2]]
== Meta ==
* [[Documentation:Planning on how to restructure the documentation]]
== Old documentation ==
* [[ Documentation:Collection of old documents|Previous versions of documentation]] are still available.
7bd3cce9c5b7587407a29a5f3222f521916146c0
1833
1830
2020-07-26T08:41:04Z
Punkduck
38
wikitext
text/x-wiki
== Introduction ==
* [[Documentation:What is MakeHuman?|What is MakeHuman?]]: A quick introduction to MakeHuman.
* [[Documentation:Short and Long Pipeline|Short and Long Pipeline ]]: The goal of Makehuman is to see it used in 2 different professional pipelines.
* [[Documentation:Professional mesh topology|Professional mesh topology ]]: An overview of the professional topology provided by MakeHuman
* [[Documentation:Legal|Legal ]]: The various licenses that apply to MakeHuman and External tools
== General overview ==
* [[Documentation:Installing MakeHuman|Installing MakeHuman]]
* [[Documentation:Running MakeHuman from source|Running MakeHuman from source]]
* [[Documentation:Configuration and settings|Configuration and settings]]
* [[Documentation:The interface and its basic functions|The interface and its basic functions]]
* [[Documentation:The toolbar|The toolbar]]
* [[Documentation:The tabs|The tabs]]
* [[Documentation:The sliders|The sliders]]
* [[Documentation:Loading and saving|Loading and saving]]
* [[Documentation:Zoom, pan and rotate using the orbital camera|Zoom, pan and rotate using the orbital camera]]
== Working with the human ==
* [[Documentation:Gender, Random, Measure and Custom|Gender, Random, Measure and Custom]]
* [[Documentation:Hairstyles and Clothes|Hairstyles and Clothes]]
* [[Documentation:Modeling the body|Modeling the body]]
* [[Documentation:Alternative topologies|Alternative topologies]]
* [[Documentation:Skin and other materials|Skin and other materials]]
* [[Documentation:Rendering your work|Rendering your work]]
== Exporting your work to another application ==
* [[Documentation:Exports and file formats|Exports and file formats]]
* [[Documentation:Saving models for Blender and how to import them there|Saving models for Blender and how to import them there]]
* [[Documentation:Saving models for Maya and how to import them there|Saving models for Maya and how to import them there]]
* [[Documentation:Saving models for 3ds MAX and how to import them there|Saving models for 3ds MAX and how to import them there]]
* [[Documentation:Saving models for Unreal Engine and how to import them there|Saving models for Unreal Engine and how to import them there]]
* [[Documentation:Saving models for Unity and how to import them there|Saving models for Unity and how to import them there]]
* [[Documentation:Saving models for OpenSim / Second Life and how to import them there|Saving models for OpenSim / Second Life and how to import them there]]
== Working with MakeHuman models in Blender ==
* [[Documentation:Corrective shape keys|Corrective shape keys]]
== Downloading or creating new assets ==
* [[Documentation:What is an asset?|What is an asset?]]
* [[Documentation:Finding and downloading more assets|Finding and downloading more assets]]
* [[Documentation:Getting and installing BlenderTools|Getting and installing BlenderTools]]
* [[Documentation:Targets|Targets]]
* [[Documentation:ClothesV2|Clothes]]
* [[Documentation:MaterialsMakeSkin|Materials]] (Materials for clothes and other assets)
* [[Documentation:Texture painting a skin in blender|Texture painting a skin in blender]]
==MakeClothes V2: In-depth tutorials ==
* [[Documentation:Features of new Blender plugin|Features of new Blender plugin]]
== MakeWalk: General Background ==
* [[Documentation:MakeWalk|MakeWalk]]
== MakeWalk: In Depth Tutorials ==
* [[Documentation:Running feet|Running feet]]
* [[Documentation:Automatic animation|Automatic animation]]
== Interacting with the community ==
* [[Documentation:Asking for help|Asking for help]]
* [[Documentation:Reporting a bug|Reporting a bug]]
== MakeHuman for developers ==
* [[Documentation: Plugin System|Plugin System]]
* [[Documentation: OpenGL Notes|OpenGL Notes]]
* [[Documentation: Directory structure and core modules|Directory structure and core modules]]
* [[Documentation: File formats and extensions|File formats and extensions]]
* [[Documentation: Libraries and build procedures|Libraries and build procedures]]
* [[Documentation: Development infrastructure|Development infrastructure]]
* [[Documentation: Application design and Code overview|Application design and Code overview]]
* [[Documentation: Getting started with MakeHuman code|Getting started with MakeHuman code]]
* [[Technical notes on MakeHuman]]
== Other / unsorted ==
* [[Documentation:Translation|Translation]]
* [[Documentation:Installing MHX2|Installing MHX2]]
== Meta ==
* [[Documentation:Planning on how to restructure the documentation]]
== Old documentation ==
* [[ Documentation:Collection of old documents|Previous versions of documentation]] are still available.
458991477e36849ce6391da8f38af7ff3009a5f2
1830
1801
2020-07-26T08:20:26Z
Punkduck
38
wikitext
text/x-wiki
== Introduction ==
* [[Documentation:What is MakeHuman?|What is MakeHuman?]]: A quick introduction to MakeHuman.
* [[Documentation:Short and Long Pipeline|Short and Long Pipeline ]]: The goal of Makehuman is to see it used in 2 different professional pipelines.
* [[Documentation:Professional mesh topology|Professional mesh topology ]]: An overview of the professional topology provided by MakeHuman
* [[Documentation:Legal|Legal ]]: The various licenses that apply to MakeHuman and External tools
== General overview ==
* [[Documentation:Installing MakeHuman|Installing MakeHuman]]
* [[Documentation:Running MakeHuman from source|Running MakeHuman from source]]
* [[Documentation:Configuration and settings|Configuration and settings]]
* [[Documentation:The interface and its basic functions|The interface and its basic functions]]
* [[Documentation:The toolbar|The toolbar]]
* [[Documentation:The tabs|The tabs]]
* [[Documentation:The sliders|The sliders]]
* [[Documentation:Loading and saving|Loading and saving]]
* [[Documentation:Zoom, pan and rotate using the orbital camera|Zoom, pan and rotate using the orbital camera]]
== Working with the human ==
* [[Documentation:Gender, Random, Measure and Custom|Gender, Random, Measure and Custom]]
* [[Documentation:Hairstyles and Clothes|Hairstyles and Clothes]]
* [[Documentation:Modeling the body|Modeling the body]]
* [[Documentation:Alternative topologies|Alternative topologies]]
* [[Documentation:Skin and other materials|Skin and other materials]]
* [[Documentation:Rendering your work|Rendering your work]]
== Exporting your work to another application ==
* [[Documentation:Exports and file formats|Exports and file formats]]
* [[Documentation:Saving models for Blender and how to import them there|Saving models for Blender and how to import them there]]
* [[Documentation:Saving models for Maya and how to import them there|Saving models for Maya and how to import them there]]
* [[Documentation:Saving models for 3ds MAX and how to import them there|Saving models for 3ds MAX and how to import them there]]
* [[Documentation:Saving models for Unreal Engine and how to import them there|Saving models for Unreal Engine and how to import them there]]
* [[Documentation:Saving models for Unity and how to import them there|Saving models for Unity and how to import them there]]
* [[Documentation:Saving models for OpenSim / Second Life and how to import them there|Saving models for OpenSim / Second Life and how to import them there]]
== Working with MakeHuman models in Blender ==
* [[Documentation:Corrective shape keys|Corrective shape keys]]
== Downloading or creating new assets ==
* [[Documentation:What is an asset?|What is an asset?]]
* [[Documentation:Finding and downloading more assets|Finding and downloading more assets]]
* [[Documentation:Getting and installing BlenderTools|Getting and installing BlenderTools]]
* [[Documentation:Targets|Targets]]
* [[Documentation:Clothes|Clothes]]
* [[Documentation:Texture painting a skin in blender|Texture painting a skin in blender]]
==MakeClothes: In-depth tutorials ==
* [[Documentation:Making a simple dress|Making a simple dress]]
* [[Documentation:Making diapers for a baby|Making diapers for a baby]]
* [[Documentation:Controlling the result with vertex groups|Controlling the result with vertex groups]]
* [[Documentation:Modeling a sword|Modeling a sword]]
==MakeClothes V2: In-depth tutorials ==
* [[Documentation:Features of new Blender plugin|Features of new Blender plugin]]
== MakeWalk: General Background ==
* [[Documentation:MakeWalk|MakeWalk]]
== MakeWalk: In Depth Tutorials ==
* [[Documentation:Running feet|Running feet]]
* [[Documentation:Automatic animation|Automatic animation]]
== Interacting with the community ==
* [[Documentation:Asking for help|Asking for help]]
* [[Documentation:Reporting a bug|Reporting a bug]]
== MakeHuman for developers ==
* [[Documentation: Plugin System|Plugin System]]
* [[Documentation: OpenGL Notes|OpenGL Notes]]
* [[Documentation: Directory structure and core modules|Directory structure and core modules]]
* [[Documentation: File formats and extensions|File formats and extensions]]
* [[Documentation: Libraries and build procedures|Libraries and build procedures]]
* [[Documentation: Development infrastructure|Development infrastructure]]
* [[Documentation: Application design and Code overview|Application design and Code overview]]
* [[Documentation: Getting started with MakeHuman code|Getting started with MakeHuman code]]
* [[Technical notes on MakeHuman]]
== Other / unsorted ==
* [[Documentation:Translation|Translation]]
* [[Documentation:Installing MHX2|Installing MHX2]]
== Meta ==
* [[Documentation:Planning on how to restructure the documentation]]
== Old documentation ==
* [[ Documentation:Collection of old documents|Previous versions of documentation]] are still available.
6f5a8035f2aadaea6b64bdf83fd87e158d9d719c
1801
1536
2020-06-21T13:41:14Z
Punkduck
38
wikitext
text/x-wiki
== Introduction ==
* [[Documentation:What is MakeHuman?|What is MakeHuman?]]: A quick introduction to MakeHuman.
* [[Documentation:Short and Long Pipeline|Short and Long Pipeline ]]: The goal of Makehuman is to see it used in 2 different professional pipelines.
* [[Documentation:Professional mesh topology|Professional mesh topology ]]: An overview of the professional topology provided by MakeHuman
* [[Documentation:Legal|Legal ]]: The various licenses that apply to MakeHuman and External tools
== General overview ==
* [[Documentation:Installing MakeHuman|Installing MakeHuman]]
* [[Documentation:Running MakeHuman from source|Running MakeHuman from source]]
* [[Documentation:Configuration and settings|Configuration and settings]]
* [[Documentation:The interface and its basic functions|The interface and its basic functions]]
* [[Documentation:The toolbar|The toolbar]]
* [[Documentation:The tabs|The tabs]]
* [[Documentation:The sliders|The sliders]]
* [[Documentation:Loading and saving|Loading and saving]]
* [[Documentation:Zoom, pan and rotate using the orbital camera|Zoom, pan and rotate using the orbital camera]]
== Working with the human ==
* [[Documentation:Gender, Random, Measure and Custom|Gender, Random, Measure and Custom]]
* [[Documentation:Hairstyles and Clothes|Hairstyles and Clothes]]
* [[Documentation:Modeling the body|Modeling the body]]
* [[Documentation:Alternative topologies|Alternative topologies]]
* [[Documentation:Skin and other materials|Skin and other materials]]
* [[Documentation:Rendering your work|Rendering your work]]
== Exporting your work to another application ==
* [[Documentation:Exports and file formats|Exports and file formats]]
* [[Documentation:Saving models for Blender and how to import them there|Saving models for Blender and how to import them there]]
* [[Documentation:Saving models for Maya and how to import them there|Saving models for Maya and how to import them there]]
* [[Documentation:Saving models for 3ds MAX and how to import them there|Saving models for 3ds MAX and how to import them there]]
* [[Documentation:Saving models for Unreal Engine and how to import them there|Saving models for Unreal Engine and how to import them there]]
* [[Documentation:Saving models for Unity and how to import them there|Saving models for Unity and how to import them there]]
* [[Documentation:Saving models for OpenSim / Second Life and how to import them there|Saving models for OpenSim / Second Life and how to import them there]]
== Working with MakeHuman models in Blender ==
* [[Documentation:Corrective shape keys|Corrective shape keys]]
== Downloading or creating new assets ==
* [[Documentation:What is an asset?|What is an asset?]]
* [[Documentation:Finding and downloading more assets|Finding and downloading more assets]]
* [[Documentation:Getting and installing BlenderTools|Getting and installing BlenderTools]]
* [[Documentation:Targets|Targets]]
* [[Documentation:Clothes|Clothes]]
* [[Documentation:Texture painting a skin in blender|Texture painting a skin in blender]]
==MakeClothes: In-depth tutorials ==
* [[Documentation:Making a simple dress|Making a simple dress]]
* [[Documentation:Making diapers for a baby|Making diapers for a baby]]
* [[Documentation:Controlling the result with vertex groups|Controlling the result with vertex groups]]
* [[Documentation:Modeling a sword|Modeling a sword]]
==MakeClothes V2: In-depth tutorials ==
* [[Documentation:Features of new Blender plugin|Features of new Blender plugin]]
== MakeWalk: General Background ==
* [[Documentation:MakeWalk|MakeWalk]]
== MakeWalk: In Depth Tutorials ==
* [[Documentation:Running feet|Running feet]]
* [[Documentation:Automatic animation|Automatic animation]]
== Interacting with the community ==
* [[Documentation:Asking for help|Asking for help]]
* [[Documentation:Reporting a bug|Reporting a bug]]
== MakeHuman for developers ==
* [[Documentation: Plugin System|Plugin System]]
* [[Documentation: OpenGL Notes|OpenGL Notes]]
* [[Documentation: Directory structure and core modules|Directory structure and core modules]]
* [[Documentation: File formats and extensions|File formats and extensions]]
* [[Documentation: Libraries and build procedures|Libraries and build procedures]]
* [[Documentation: Development infrastructure|Development infrastructure]]
* [[Documentation: Application design and Code overview|Application design and Code overview]]
* [[Documentation: Getting started with MakeHuman code|Getting started with MakeHuman code]]
* [[Technical notes on MakeHuman]]
== Other / unsorted ==
* [[Documentation:Translation|Translation]]
* [[Documentation:Installing MHX2|Installing MHX2]]
== Meta ==
* [[Documentation:Planning on how to restructure the documentation]]
== Old documentation ==
The old documentation is available, but in a largely unformatted state:
[[Documentation:Big dump from drupal]]
(most of this should now have been ported to separate pages as per above)
The following have been merged in other pages, but they are left here if something got lost in the translation:
* [[ Documentation:MHBlenderTools: Download and installation|MHBlenderTools: Download and installation ]]: How to download and install the addons for Blender
* [[ Documentation:MHBlenderTools: MakeTarget|MHBlenderTools: MakeTarget ]]: Description of the MakeTarget™ tool, to create custom morphings for MakeHuman.
* [[ Documentation:MHBlenderTools:MakeClothes|MHBlenderTools: MakeClothes ]]: Description of the MakeClothes™ tool, to create custom clothes for MakeHuman.
a17171127a38d9d2ff46eba6a357e5a31f7c5e19
1536
1472
2018-12-01T15:38:43Z
Robbaer
12
/* MakeHuman for developers */
wikitext
text/x-wiki
== Introduction ==
* [[Documentation:What is MakeHuman?|What is MakeHuman?]]: A quick introduction to MakeHuman.
* [[Documentation:Short and Long Pipeline|Short and Long Pipeline ]]: The goal of Makehuman is to see it used in 2 different professional pipelines.
* [[Documentation:Professional mesh topology|Professional mesh topology ]]: An overview of the professional topology provided by MakeHuman
* [[Documentation:Legal|Legal ]]: The various licenses that apply to MakeHuman and External tools
== General overview ==
* [[Documentation:Installing MakeHuman|Installing MakeHuman]]
* [[Documentation:Running MakeHuman from source|Running MakeHuman from source]]
* [[Documentation:Configuration and settings|Configuration and settings]]
* [[Documentation:The interface and its basic functions|The interface and its basic functions]]
* [[Documentation:The toolbar|The toolbar]]
* [[Documentation:The tabs|The tabs]]
* [[Documentation:The sliders|The sliders]]
* [[Documentation:Loading and saving|Loading and saving]]
* [[Documentation:Zoom, pan and rotate using the orbital camera|Zoom, pan and rotate using the orbital camera]]
== Working with the human ==
* [[Documentation:Gender, Random, Measure and Custom|Gender, Random, Measure and Custom]]
* [[Documentation:Hairstyles and Clothes|Hairstyles and Clothes]]
* [[Documentation:Modeling the body|Modeling the body]]
* [[Documentation:Alternative topologies|Alternative topologies]]
* [[Documentation:Skin and other materials|Skin and other materials]]
* [[Documentation:Rendering your work|Rendering your work]]
== Exporting your work to another application ==
* [[Documentation:Exports and file formats|Exports and file formats]]
* [[Documentation:Saving models for Blender and how to import them there|Saving models for Blender and how to import them there]]
* [[Documentation:Saving models for Maya and how to import them there|Saving models for Maya and how to import them there]]
* [[Documentation:Saving models for 3ds MAX and how to import them there|Saving models for 3ds MAX and how to import them there]]
* [[Documentation:Saving models for Unreal Engine and how to import them there|Saving models for Unreal Engine and how to import them there]]
* [[Documentation:Saving models for Unity and how to import them there|Saving models for Unity and how to import them there]]
* [[Documentation:Saving models for OpenSim / Second Life and how to import them there|Saving models for OpenSim / Second Life and how to import them there]]
== Working with MakeHuman models in Blender ==
* [[Documentation:Corrective shape keys|Corrective shape keys]]
== Downloading or creating new assets ==
* [[Documentation:What is an asset?|What is an asset?]]
* [[Documentation:Finding and downloading more assets|Finding and downloading more assets]]
* [[Documentation:Getting and installing BlenderTools|Getting and installing BlenderTools]]
* [[Documentation:Targets|Targets]]
* [[Documentation:Clothes|Clothes]]
* [[Documentation:Texture painting a skin in blender|Texture painting a skin in blender]]
==MakeClothes: In-depth tutorials ==
* [[Documentation:Making a simple dress|Making a simple dress]]
* [[Documentation:Making diapers for a baby|Making diapers for a baby]]
* [[Documentation:Controlling the result with vertex groups|Controlling the result with vertex groups]]
* [[Documentation:Modeling a sword|Modeling a sword]]
== MakeWalk: General Background ==
* [[Documentation:MakeWalk|MakeWalk]]
== MakeWalk: In Depth Tutorials ==
* [[Documentation:Running feet|Running feet]]
* [[Documentation:Automatic animation|Automatic animation]]
== Interacting with the community ==
* [[Documentation:Asking for help|Asking for help]]
* [[Documentation:Reporting a bug|Reporting a bug]]
== MakeHuman for developers ==
* [[Documentation: Plugin System|Plugin System]]
* [[Documentation: OpenGL Notes|OpenGL Notes]]
* [[Documentation: Directory structure and core modules|Directory structure and core modules]]
* [[Documentation: File formats and extensions|File formats and extensions]]
* [[Documentation: Libraries and build procedures|Libraries and build procedures]]
* [[Documentation: Development infrastructure|Development infrastructure]]
* [[Documentation: Application design and Code overview|Application design and Code overview]]
* [[Documentation: Getting started with MakeHuman code|Getting started with MakeHuman code]]
* [[Technical notes on MakeHuman]]
== Other / unsorted ==
* [[Documentation:Translation|Translation]]
* [[Documentation:Installing MHX2|Installing MHX2]]
== Meta ==
* [[Documentation:Planning on how to restructure the documentation]]
== Old documentation ==
The old documentation is available, but in a largely unformatted state:
[[Documentation:Big dump from drupal]]
(most of this should now have been ported to separate pages as per above)
The following have been merged in other pages, but they are left here if something got lost in the translation:
* [[ Documentation:MHBlenderTools: Download and installation|MHBlenderTools: Download and installation ]]: How to download and install the addons for Blender
* [[ Documentation:MHBlenderTools: MakeTarget|MHBlenderTools: MakeTarget ]]: Description of the MakeTarget™ tool, to create custom morphings for MakeHuman.
* [[ Documentation:MHBlenderTools:MakeClothes|MHBlenderTools: MakeClothes ]]: Description of the MakeClothes™ tool, to create custom clothes for MakeHuman.
3ef6eca0683a3a771b9890eca16046a3779d61c5
1472
1349
2018-05-05T10:11:44Z
Joepal
14
wikitext
text/x-wiki
== Introduction ==
* [[Documentation:What is MakeHuman?|What is MakeHuman?]]: A quick introduction to MakeHuman.
* [[Documentation:Short and Long Pipeline|Short and Long Pipeline ]]: The goal of Makehuman is to see it used in 2 different professional pipelines.
* [[Documentation:Professional mesh topology|Professional mesh topology ]]: An overview of the professional topology provided by MakeHuman
* [[Documentation:Legal|Legal ]]: The various licenses that apply to MakeHuman and External tools
== General overview ==
* [[Documentation:Installing MakeHuman|Installing MakeHuman]]
* [[Documentation:Running MakeHuman from source|Running MakeHuman from source]]
* [[Documentation:Configuration and settings|Configuration and settings]]
* [[Documentation:The interface and its basic functions|The interface and its basic functions]]
* [[Documentation:The toolbar|The toolbar]]
* [[Documentation:The tabs|The tabs]]
* [[Documentation:The sliders|The sliders]]
* [[Documentation:Loading and saving|Loading and saving]]
* [[Documentation:Zoom, pan and rotate using the orbital camera|Zoom, pan and rotate using the orbital camera]]
== Working with the human ==
* [[Documentation:Gender, Random, Measure and Custom|Gender, Random, Measure and Custom]]
* [[Documentation:Hairstyles and Clothes|Hairstyles and Clothes]]
* [[Documentation:Modeling the body|Modeling the body]]
* [[Documentation:Alternative topologies|Alternative topologies]]
* [[Documentation:Skin and other materials|Skin and other materials]]
* [[Documentation:Rendering your work|Rendering your work]]
== Exporting your work to another application ==
* [[Documentation:Exports and file formats|Exports and file formats]]
* [[Documentation:Saving models for Blender and how to import them there|Saving models for Blender and how to import them there]]
* [[Documentation:Saving models for Maya and how to import them there|Saving models for Maya and how to import them there]]
* [[Documentation:Saving models for 3ds MAX and how to import them there|Saving models for 3ds MAX and how to import them there]]
* [[Documentation:Saving models for Unreal Engine and how to import them there|Saving models for Unreal Engine and how to import them there]]
* [[Documentation:Saving models for Unity and how to import them there|Saving models for Unity and how to import them there]]
* [[Documentation:Saving models for OpenSim / Second Life and how to import them there|Saving models for OpenSim / Second Life and how to import them there]]
== Working with MakeHuman models in Blender ==
* [[Documentation:Corrective shape keys|Corrective shape keys]]
== Downloading or creating new assets ==
* [[Documentation:What is an asset?|What is an asset?]]
* [[Documentation:Finding and downloading more assets|Finding and downloading more assets]]
* [[Documentation:Getting and installing BlenderTools|Getting and installing BlenderTools]]
* [[Documentation:Targets|Targets]]
* [[Documentation:Clothes|Clothes]]
* [[Documentation:Texture painting a skin in blender|Texture painting a skin in blender]]
==MakeClothes: In-depth tutorials ==
* [[Documentation:Making a simple dress|Making a simple dress]]
* [[Documentation:Making diapers for a baby|Making diapers for a baby]]
* [[Documentation:Controlling the result with vertex groups|Controlling the result with vertex groups]]
* [[Documentation:Modeling a sword|Modeling a sword]]
== MakeWalk: General Background ==
* [[Documentation:MakeWalk|MakeWalk]]
== MakeWalk: In Depth Tutorials ==
* [[Documentation:Running feet|Running feet]]
* [[Documentation:Automatic animation|Automatic animation]]
== Interacting with the community ==
* [[Documentation:Asking for help|Asking for help]]
* [[Documentation:Reporting a bug|Reporting a bug]]
== MakeHuman for developers ==
* [[Documentation:Plugin System|Plugin System]]
* [[Documentation:OpenGL Notes|OpenGL Notes]]
* [[Documentation:Directory structure and core modules|Directory structure and core modules]]
* [[Documentation:File formats and extensions|File formats and extensions]]
* [[Documentation:Libraries and build procedures|Libraries and build procedures]]
* [[Documentation:Development infrastructure|Development infrastructure]]
* [[Documentation:Application design and Code overview|Application design and Code overview]]
* [[Documentation:Getting started with MakeHuman code|Getting started with MakeHuman code]]
* [[Technical notes on MakeHuman]]
== Other / unsorted ==
* [[Documentation:Translation|Translation]]
* [[Documentation:Installing MHX2|Installing MHX2]]
== Meta ==
* [[Documentation:Planning on how to restructure the documentation]]
== Old documentation ==
The old documentation is available, but in a largely unformatted state:
[[Documentation:Big dump from drupal]]
(most of this should now have been ported to separate pages as per above)
The following have been merged in other pages, but they are left here if something got lost in the translation:
* [[ Documentation:MHBlenderTools: Download and installation|MHBlenderTools: Download and installation ]]: How to download and install the addons for Blender
* [[ Documentation:MHBlenderTools: MakeTarget|MHBlenderTools: MakeTarget ]]: Description of the MakeTarget™ tool, to create custom morphings for MakeHuman.
* [[ Documentation:MHBlenderTools:MakeClothes|MHBlenderTools: MakeClothes ]]: Description of the MakeClothes™ tool, to create custom clothes for MakeHuman.
ad1023aab3fe6ae31ed10830352ac3376ad0d038
1349
1348
2017-03-14T23:53:44Z
Robbaer
12
/* Other / unsorted */
wikitext
text/x-wiki
== Introduction ==
* [[Documentation:What is MakeHuman?|What is MakeHuman?]]: A quick introduction to MakeHuman.
* [[Documentation:Short and Long Pipeline|Short and Long Pipeline ]]: The goal of Makehuman is to see it used in 2 different professional pipelines.
* [[Documentation:Professional mesh topology|Professional mesh topology ]]: An overview of the professional topology provided by MakeHuman
* [[Documentation:Legal|Legal ]]: The various licenses that apply to MakeHuman and External tools
== General overview ==
* [[Documentation:Installing MakeHuman|Installing MakeHuman]]
* [[Documentation:Running MakeHuman from source|Running MakeHuman from source]]
* [[Documentation:Configuration and settings|Configuration and settings]]
* [[Documentation:The interface and its basic functions|The interface and its basic functions]]
* [[Documentation:The toolbar|The toolbar]]
* [[Documentation:The tabs|The tabs]]
* [[Documentation:The sliders|The sliders]]
* [[Documentation:Loading and saving|Loading and saving]]
* [[Documentation:Zoom, pan and rotate using the orbital camera|Zoom, pan and rotate using the orbital camera]]
== Working with the human ==
* [[Documentation:Gender, Random, Measure and Custom|Gender, Random, Measure and Custom]]
* [[Documentation:Hairstyles and Clothes|Hairstyles and Clothes]]
* [[Documentation:Modeling the body|Modeling the body]]
* [[Documentation:Alternative topologies|Alternative topologies]]
* [[Documentation:Skin and other materials|Skin and other materials]]
* [[Documentation:Rendering your work|Rendering your work]]
== Exporting your work to another application ==
* [[Documentation:Exports and file formats|Exports and file formats]]
* [[Documentation:Saving models for Blender and how to import them there|Saving models for Blender and how to import them there]]
* [[Documentation:Saving models for Maya and how to import them there|Saving models for Maya and how to import them there]]
* [[Documentation:Saving models for 3ds MAX and how to import them there|Saving models for 3ds MAX and how to import them there]]
* [[Documentation:Saving models for Unreal Engine and how to import them there|Saving models for Unreal Engine and how to import them there]]
* [[Documentation:Saving models for Unity and how to import them there|Saving models for Unity and how to import them there]]
* [[Documentation:Saving models for OpenSim / Second Life and how to import them there|Saving models for OpenSim / Second Life and how to import them there]]
== Downloading or creating new assets ==
* [[Documentation:What is an asset?|What is an asset?]]
* [[Documentation:Finding and downloading more assets|Finding and downloading more assets]]
* [[Documentation:Getting and installing BlenderTools|Getting and installing BlenderTools]]
* [[Documentation:Targets|Targets]]
* [[Documentation:Clothes|Clothes]]
* [[Documentation:Texture painting a skin in blender|Texture painting a skin in blender]]
==MakeClothes: In-depth tutorials ==
* [[Documentation:Making a simple dress|Making a simple dress]]
* [[Documentation:Making diapers for a baby|Making diapers for a baby]]
* [[Documentation:Controlling the result with vertex groups|Controlling the result with vertex groups]]
* [[Documentation:Modeling a sword|Modeling a sword]]
== MakeWalk: General Background ==
* [[Documentation:MakeWalk|MakeWalk]]
== MakeWalk: In Depth Tutorials ==
* [[Documentation:Running feet|Running feet]]
* [[Documentation:Automatic animation|Automatic animation]]
== Interacting with the community ==
* [[Documentation:Asking for help|Asking for help]]
* [[Documentation:Reporting a bug|Reporting a bug]]
== MakeHuman for developers ==
* [[Documentation:Plugin System|Plugin System]]
* [[Documentation:OpenGL Notes|OpenGL Notes]]
* [[Documentation:Directory structure and core modules|Directory structure and core modules]]
* [[Documentation:File formats and extensions|File formats and extensions]]
* [[Documentation:Libraries and build procedures|Libraries and build procedures]]
* [[Documentation:Development infrastructure|Development infrastructure]]
* [[Documentation:Application design and Code overview|Application design and Code overview]]
* [[Documentation:Getting started with MakeHuman code|Getting started with MakeHuman code]]
* [[Technical notes on MakeHuman]]
== Other / unsorted ==
* [[Documentation:Translation|Translation]]
* [[Documentation:Installing MHX2|Installing MHX2]]
== Meta ==
* [[Documentation:Planning on how to restructure the documentation]]
== Old documentation ==
The old documentation is available, but in a largely unformatted state:
[[Documentation:Big dump from drupal]]
(most of this should now have been ported to separate pages as per above)
The following have been merged in other pages, but they are left here if something got lost in the translation:
* [[ Documentation:MHBlenderTools: Download and installation|MHBlenderTools: Download and installation ]]: How to download and install the addons for Blender
* [[ Documentation:MHBlenderTools: MakeTarget|MHBlenderTools: MakeTarget ]]: Description of the MakeTarget™ tool, to create custom morphings for MakeHuman.
* [[ Documentation:MHBlenderTools:MakeClothes|MHBlenderTools: MakeClothes ]]: Description of the MakeClothes™ tool, to create custom clothes for MakeHuman.
fd5a7945ea46cc7838b510be4155cd49194ae7ea
1348
1219
2017-03-14T23:52:56Z
Robbaer
12
wikitext
text/x-wiki
== Introduction ==
* [[Documentation:What is MakeHuman?|What is MakeHuman?]]: A quick introduction to MakeHuman.
* [[Documentation:Short and Long Pipeline|Short and Long Pipeline ]]: The goal of Makehuman is to see it used in 2 different professional pipelines.
* [[Documentation:Professional mesh topology|Professional mesh topology ]]: An overview of the professional topology provided by MakeHuman
* [[Documentation:Legal|Legal ]]: The various licenses that apply to MakeHuman and External tools
== General overview ==
* [[Documentation:Installing MakeHuman|Installing MakeHuman]]
* [[Documentation:Running MakeHuman from source|Running MakeHuman from source]]
* [[Documentation:Configuration and settings|Configuration and settings]]
* [[Documentation:The interface and its basic functions|The interface and its basic functions]]
* [[Documentation:The toolbar|The toolbar]]
* [[Documentation:The tabs|The tabs]]
* [[Documentation:The sliders|The sliders]]
* [[Documentation:Loading and saving|Loading and saving]]
* [[Documentation:Zoom, pan and rotate using the orbital camera|Zoom, pan and rotate using the orbital camera]]
== Working with the human ==
* [[Documentation:Gender, Random, Measure and Custom|Gender, Random, Measure and Custom]]
* [[Documentation:Hairstyles and Clothes|Hairstyles and Clothes]]
* [[Documentation:Modeling the body|Modeling the body]]
* [[Documentation:Alternative topologies|Alternative topologies]]
* [[Documentation:Skin and other materials|Skin and other materials]]
* [[Documentation:Rendering your work|Rendering your work]]
== Exporting your work to another application ==
* [[Documentation:Exports and file formats|Exports and file formats]]
* [[Documentation:Saving models for Blender and how to import them there|Saving models for Blender and how to import them there]]
* [[Documentation:Saving models for Maya and how to import them there|Saving models for Maya and how to import them there]]
* [[Documentation:Saving models for 3ds MAX and how to import them there|Saving models for 3ds MAX and how to import them there]]
* [[Documentation:Saving models for Unreal Engine and how to import them there|Saving models for Unreal Engine and how to import them there]]
* [[Documentation:Saving models for Unity and how to import them there|Saving models for Unity and how to import them there]]
* [[Documentation:Saving models for OpenSim / Second Life and how to import them there|Saving models for OpenSim / Second Life and how to import them there]]
== Downloading or creating new assets ==
* [[Documentation:What is an asset?|What is an asset?]]
* [[Documentation:Finding and downloading more assets|Finding and downloading more assets]]
* [[Documentation:Getting and installing BlenderTools|Getting and installing BlenderTools]]
* [[Documentation:Targets|Targets]]
* [[Documentation:Clothes|Clothes]]
* [[Documentation:Texture painting a skin in blender|Texture painting a skin in blender]]
==MakeClothes: In-depth tutorials ==
* [[Documentation:Making a simple dress|Making a simple dress]]
* [[Documentation:Making diapers for a baby|Making diapers for a baby]]
* [[Documentation:Controlling the result with vertex groups|Controlling the result with vertex groups]]
* [[Documentation:Modeling a sword|Modeling a sword]]
== MakeWalk: General Background ==
* [[Documentation:MakeWalk|MakeWalk]]
== MakeWalk: In Depth Tutorials ==
* [[Documentation:Running feet|Running feet]]
* [[Documentation:Automatic animation|Automatic animation]]
== Interacting with the community ==
* [[Documentation:Asking for help|Asking for help]]
* [[Documentation:Reporting a bug|Reporting a bug]]
== MakeHuman for developers ==
* [[Documentation:Plugin System|Plugin System]]
* [[Documentation:OpenGL Notes|OpenGL Notes]]
* [[Documentation:Directory structure and core modules|Directory structure and core modules]]
* [[Documentation:File formats and extensions|File formats and extensions]]
* [[Documentation:Libraries and build procedures|Libraries and build procedures]]
* [[Documentation:Development infrastructure|Development infrastructure]]
* [[Documentation:Application design and Code overview|Application design and Code overview]]
* [[Documentation:Getting started with MakeHuman code|Getting started with MakeHuman code]]
* [[Technical notes on MakeHuman]]
== Other / unsorted ==
* [[Documentation:MakeWalk|MakeWalk]]
* [[Documentation:Translation|Translation]]
* [[Documentation:Installing MHX2|Installing MHX2]]
== Meta ==
* [[Documentation:Planning on how to restructure the documentation]]
== Old documentation ==
The old documentation is available, but in a largely unformatted state:
[[Documentation:Big dump from drupal]]
(most of this should now have been ported to separate pages as per above)
The following have been merged in other pages, but they are left here if something got lost in the translation:
* [[ Documentation:MHBlenderTools: Download and installation|MHBlenderTools: Download and installation ]]: How to download and install the addons for Blender
* [[ Documentation:MHBlenderTools: MakeTarget|MHBlenderTools: MakeTarget ]]: Description of the MakeTarget™ tool, to create custom morphings for MakeHuman.
* [[ Documentation:MHBlenderTools:MakeClothes|MHBlenderTools: MakeClothes ]]: Description of the MakeClothes™ tool, to create custom clothes for MakeHuman.
21847667bf2e360822f477063b53481c7bddf14e
1219
985
2016-11-12T18:15:12Z
Joepal
14
/* In-depth tutorials: MakeClothes */
wikitext
text/x-wiki
== Introduction ==
* [[Documentation:What is MakeHuman?|What is MakeHuman?]]: A quick introduction to MakeHuman.
* [[Documentation:Short and Long Pipeline|Short and Long Pipeline ]]: The goal of Makehuman is to see it used in 2 different professional pipelines.
* [[Documentation:Professional mesh topology|Professional mesh topology ]]: An overview of the professional topology provided by MakeHuman
* [[Documentation:Legal|Legal ]]: The various licenses that apply to MakeHuman and External tools
== General overview ==
* [[Documentation:Installing MakeHuman|Installing MakeHuman]]
* [[Documentation:Running MakeHuman from source|Running MakeHuman from source]]
* [[Documentation:Configuration and settings|Configuration and settings]]
* [[Documentation:The interface and its basic functions|The interface and its basic functions]]
* [[Documentation:The toolbar|The toolbar]]
* [[Documentation:The tabs|The tabs]]
* [[Documentation:The sliders|The sliders]]
* [[Documentation:Loading and saving|Loading and saving]]
* [[Documentation:Zoom, pan and rotate using the orbital camera|Zoom, pan and rotate using the orbital camera]]
== Working with the human ==
* [[Documentation:Gender, Random, Measure and Custom|Gender, Random, Measure and Custom]]
* [[Documentation:Hairstyles and Clothes|Hairstyles and Clothes]]
* [[Documentation:Modeling the body|Modeling the body]]
* [[Documentation:Alternative topologies|Alternative topologies]]
* [[Documentation:Skin and other materials|Skin and other materials]]
* [[Documentation:Rendering your work|Rendering your work]]
== Exporting your work to another application ==
* [[Documentation:Exports and file formats|Exports and file formats]]
* [[Documentation:Saving models for Blender and how to import them there|Saving models for Blender and how to import them there]]
* [[Documentation:Saving models for Maya and how to import them there|Saving models for Maya and how to import them there]]
* [[Documentation:Saving models for 3ds MAX and how to import them there|Saving models for 3ds MAX and how to import them there]]
* [[Documentation:Saving models for Unreal Engine and how to import them there|Saving models for Unreal Engine and how to import them there]]
* [[Documentation:Saving models for Unity and how to import them there|Saving models for Unity and how to import them there]]
* [[Documentation:Saving models for OpenSim / Second Life and how to import them there|Saving models for OpenSim / Second Life and how to import them there]]
== Downloading or creating new assets ==
* [[Documentation:What is an asset?|What is an asset?]]
* [[Documentation:Finding and downloading more assets|Finding and downloading more assets]]
* [[Documentation:Getting and installing BlenderTools|Getting and installing BlenderTools]]
* [[Documentation:Targets|Targets]]
* [[Documentation:Clothes|Clothes]]
* [[Documentation:Texture painting a skin in blender|Texture painting a skin in blender]]
== In-depth tutorials: MakeClothes ==
* [[Documentation:Making a simple dress|Making a simple dress]]
* [[Documentation:Making diapers for a baby|Making diapers for a baby]]
* [[Documentation:Controlling the result with vertex groups|Controlling the result with vertex groups]]
* [[Documentation:Modeling a sword|Modeling a sword]]
== In-depth tutorials: MakeWalk ==
* [[Documentation:Running feet|Running feet]]
* [[Documentation:Automatic animation|Automatic animation]]
== Interacting with the community ==
* [[Documentation:Asking for help|Asking for help]]
* [[Documentation:Reporting a bug|Reporting a bug]]
== MakeHuman for developers ==
* [[Documentation:Plugin System|Plugin System]]
* [[Documentation:OpenGL Notes|OpenGL Notes]]
* [[Documentation:Directory structure and core modules|Directory structure and core modules]]
* [[Documentation:File formats and extensions|File formats and extensions]]
* [[Documentation:Libraries and build procedures|Libraries and build procedures]]
* [[Documentation:Development infrastructure|Development infrastructure]]
* [[Documentation:Application design and Code overview|Application design and Code overview]]
* [[Documentation:Getting started with MakeHuman code|Getting started with MakeHuman code]]
* [[Technical notes on MakeHuman]]
== Other / unsorted ==
* [[Documentation:MakeWalk|MakeWalk]]
* [[Documentation:Translation|Translation]]
* [[Documentation:Installing MHX2|Installing MHX2]]
== Meta ==
* [[Documentation:Planning on how to restructure the documentation]]
== Old documentation ==
The old documentation is available, but in a largely unformatted state:
[[Documentation:Big dump from drupal]]
(most of this should now have been ported to separate pages as per above)
The following have been merged in other pages, but they are left here if something got lost in the translation:
* [[ Documentation:MHBlenderTools: Download and installation|MHBlenderTools: Download and installation ]]: How to download and install the addons for Blender
* [[ Documentation:MHBlenderTools: MakeTarget|MHBlenderTools: MakeTarget ]]: Description of the MakeTarget™ tool, to create custom morphings for MakeHuman.
* [[ Documentation:MHBlenderTools:MakeClothes|MHBlenderTools: MakeClothes ]]: Description of the MakeClothes™ tool, to create custom clothes for MakeHuman.
1aa21d4f235b44e5dce31e02120c251cfa96f2fe
985
872
2016-05-31T07:50:13Z
Joepal
14
wikitext
text/x-wiki
== Introduction ==
* [[Documentation:What is MakeHuman?|What is MakeHuman?]]: A quick introduction to MakeHuman.
* [[Documentation:Short and Long Pipeline|Short and Long Pipeline ]]: The goal of Makehuman is to see it used in 2 different professional pipelines.
* [[Documentation:Professional mesh topology|Professional mesh topology ]]: An overview of the professional topology provided by MakeHuman
* [[Documentation:Legal|Legal ]]: The various licenses that apply to MakeHuman and External tools
== General overview ==
* [[Documentation:Installing MakeHuman|Installing MakeHuman]]
* [[Documentation:Running MakeHuman from source|Running MakeHuman from source]]
* [[Documentation:Configuration and settings|Configuration and settings]]
* [[Documentation:The interface and its basic functions|The interface and its basic functions]]
* [[Documentation:The toolbar|The toolbar]]
* [[Documentation:The tabs|The tabs]]
* [[Documentation:The sliders|The sliders]]
* [[Documentation:Loading and saving|Loading and saving]]
* [[Documentation:Zoom, pan and rotate using the orbital camera|Zoom, pan and rotate using the orbital camera]]
== Working with the human ==
* [[Documentation:Gender, Random, Measure and Custom|Gender, Random, Measure and Custom]]
* [[Documentation:Hairstyles and Clothes|Hairstyles and Clothes]]
* [[Documentation:Modeling the body|Modeling the body]]
* [[Documentation:Alternative topologies|Alternative topologies]]
* [[Documentation:Skin and other materials|Skin and other materials]]
* [[Documentation:Rendering your work|Rendering your work]]
== Exporting your work to another application ==
* [[Documentation:Exports and file formats|Exports and file formats]]
* [[Documentation:Saving models for Blender and how to import them there|Saving models for Blender and how to import them there]]
* [[Documentation:Saving models for Maya and how to import them there|Saving models for Maya and how to import them there]]
* [[Documentation:Saving models for 3ds MAX and how to import them there|Saving models for 3ds MAX and how to import them there]]
* [[Documentation:Saving models for Unreal Engine and how to import them there|Saving models for Unreal Engine and how to import them there]]
* [[Documentation:Saving models for Unity and how to import them there|Saving models for Unity and how to import them there]]
* [[Documentation:Saving models for OpenSim / Second Life and how to import them there|Saving models for OpenSim / Second Life and how to import them there]]
== Downloading or creating new assets ==
* [[Documentation:What is an asset?|What is an asset?]]
* [[Documentation:Finding and downloading more assets|Finding and downloading more assets]]
* [[Documentation:Getting and installing BlenderTools|Getting and installing BlenderTools]]
* [[Documentation:Targets|Targets]]
* [[Documentation:Clothes|Clothes]]
* [[Documentation:Texture painting a skin in blender|Texture painting a skin in blender]]
== In-depth tutorials: MakeClothes ==
* [[Documentation:Making a simple dress|Making a simple dress]]
* [[Documentation:Making diapers for a baby|Making diapers for a baby]]
* [[Documentation:Controlling the result with vertex groups|Controlling the result with vertex groups]]
== In-depth tutorials: MakeWalk ==
* [[Documentation:Running feet|Running feet]]
* [[Documentation:Automatic animation|Automatic animation]]
== Interacting with the community ==
* [[Documentation:Asking for help|Asking for help]]
* [[Documentation:Reporting a bug|Reporting a bug]]
== MakeHuman for developers ==
* [[Documentation:Plugin System|Plugin System]]
* [[Documentation:OpenGL Notes|OpenGL Notes]]
* [[Documentation:Directory structure and core modules|Directory structure and core modules]]
* [[Documentation:File formats and extensions|File formats and extensions]]
* [[Documentation:Libraries and build procedures|Libraries and build procedures]]
* [[Documentation:Development infrastructure|Development infrastructure]]
* [[Documentation:Application design and Code overview|Application design and Code overview]]
* [[Documentation:Getting started with MakeHuman code|Getting started with MakeHuman code]]
* [[Technical notes on MakeHuman]]
== Other / unsorted ==
* [[Documentation:MakeWalk|MakeWalk]]
* [[Documentation:Translation|Translation]]
* [[Documentation:Installing MHX2|Installing MHX2]]
== Meta ==
* [[Documentation:Planning on how to restructure the documentation]]
== Old documentation ==
The old documentation is available, but in a largely unformatted state:
[[Documentation:Big dump from drupal]]
(most of this should now have been ported to separate pages as per above)
The following have been merged in other pages, but they are left here if something got lost in the translation:
* [[ Documentation:MHBlenderTools: Download and installation|MHBlenderTools: Download and installation ]]: How to download and install the addons for Blender
* [[ Documentation:MHBlenderTools: MakeTarget|MHBlenderTools: MakeTarget ]]: Description of the MakeTarget™ tool, to create custom morphings for MakeHuman.
* [[ Documentation:MHBlenderTools:MakeClothes|MHBlenderTools: MakeClothes ]]: Description of the MakeClothes™ tool, to create custom clothes for MakeHuman.
fcee1330fa426fde979c09b5bddcd376030be93a
872
857
2016-05-27T15:34:49Z
Joepal
14
wikitext
text/x-wiki
== Introduction ==
* [[Documentation:What is MakeHuman?|What is MakeHuman?]]: A quick introduction to MakeHuman.
* [[Documentation:Short and Long Pipeline|Short and Long Pipeline ]]: The goal of Makehuman is to see it used in 2 different professional pipelines.
* [[Documentation:Professional mesh topology|Professional mesh topology ]]: An overview of the professional topology provided by MakeHuman
* [[Documentation:Legal|Legal ]]: The various licenses that apply to MakeHuman and External tools
== General overview ==
* [[Documentation:Installing MakeHuman|Installing MakeHuman]]
* [[Documentation:Configuration and settings|Configuration and settings]]
* [[Documentation:The interface and its basic functions|The interface and its basic functions]]
* [[Documentation:The toolbar|The toolbar]]
* [[Documentation:The tabs|The tabs]]
* [[Documentation:The sliders|The sliders]]
* [[Documentation:Loading and saving|Loading and saving]]
* [[Documentation:Zoom, pan and rotate using the orbital camera|Zoom, pan and rotate using the orbital camera]]
== Working with the human ==
* [[Documentation:Gender, Random, Measure and Custom|Gender, Random, Measure and Custom]]
* [[Documentation:Hairstyles and Clothes|Hairstyles and Clothes]]
* [[Documentation:Modeling the body|Modeling the body]]
* [[Documentation:Alternative topologies|Alternative topologies]]
* [[Documentation:Skin and other materials|Skin and other materials]]
* [[Documentation:Rendering your work|Rendering your work]]
== Exporting your work to another application ==
* [[Documentation:Exports and file formats|Exports and file formats]]
* [[Documentation:Saving models for Blender and how to import them there|Saving models for Blender and how to import them there]]
* [[Documentation:Saving models for Maya and how to import them there|Saving models for Maya and how to import them there]]
* [[Documentation:Saving models for 3ds MAX and how to import them there|Saving models for 3ds MAX and how to import them there]]
* [[Documentation:Saving models for Unreal Engine and how to import them there|Saving models for Unreal Engine and how to import them there]]
* [[Documentation:Saving models for Unity and how to import them there|Saving models for Unity and how to import them there]]
* [[Documentation:Saving models for OpenSim / Second Life and how to import them there|Saving models for OpenSim / Second Life and how to import them there]]
== Downloading or creating new assets ==
* [[Documentation:What is an asset?|What is an asset?]]
* [[Documentation:Finding and downloading more assets|Finding and downloading more assets]]
* [[Documentation:Getting and installing BlenderTools|Getting and installing BlenderTools]]
* [[Documentation:Targets|Targets]]
* [[Documentation:Clothes|Clothes]]
* [[Documentation:Texture painting a skin in blender|Texture painting a skin in blender]]
== In-depth tutorials: MakeClothes ==
* [[Documentation:Making a simple dress|Making a simple dress]]
* [[Documentation:Making diapers for a baby|Making diapers for a baby]]
* [[Documentation:Controlling the result with vertex groups|Controlling the result with vertex groups]]
== In-depth tutorials: MakeWalk ==
* [[Documentation:Running feet|Running feet]]
* [[Documentation:Automatic animation|Automatic animation]]
== Interacting with the community ==
* [[Documentation:Asking for help|Asking for help]]
* [[Documentation:Reporting a bug|Reporting a bug]]
== MakeHuman for developers ==
* [[Documentation:Plugin System|Plugin System]]
* [[Documentation:OpenGL Notes|OpenGL Notes]]
* [[Documentation:Directory structure and core modules|Directory structure and core modules]]
* [[Documentation:File formats and extensions|File formats and extensions]]
* [[Documentation:Libraries and build procedures|Libraries and build procedures]]
* [[Documentation:Development infrastructure|Development infrastructure]]
* [[Documentation:Application design and Code overview|Application design and Code overview]]
* [[Documentation:Getting started with MakeHuman code|Getting started with MakeHuman code]]
* [[Technical notes on MakeHuman]]
== Other / unsorted ==
* [[Documentation:MakeWalk|MakeWalk]]
* [[Documentation:Translation|Translation]]
* [[Documentation:Installing MHX2|Installing MHX2]]
== Meta ==
* [[Documentation:Planning on how to restructure the documentation]]
== Old documentation ==
The old documentation is available, but in a largely unformatted state:
[[Documentation:Big dump from drupal]]
(most of this should now have been ported to separate pages as per above)
The following have been merged in other pages, but they are left here if something got lost in the translation:
* [[ Documentation:MHBlenderTools: Download and installation|MHBlenderTools: Download and installation ]]: How to download and install the addons for Blender
* [[ Documentation:MHBlenderTools: MakeTarget|MHBlenderTools: MakeTarget ]]: Description of the MakeTarget™ tool, to create custom morphings for MakeHuman.
* [[ Documentation:MHBlenderTools:MakeClothes|MHBlenderTools: MakeClothes ]]: Description of the MakeClothes™ tool, to create custom clothes for MakeHuman.
f728485e739b226be376db0e962d6aefbe0e3d2e
857
785
2016-05-26T12:49:42Z
Joepal
14
/* In-depth tutorials: MakeClothes */
wikitext
text/x-wiki
== Introduction ==
* [[Documentation:What is MakeHuman?|What is MakeHuman?]]: A quick introduction to MakeHuman.
* [[Documentation:Short and Long Pipeline|Short and Long Pipeline ]]: The goal of Makehuman is to see it used in 2 different professional pipelines.
* [[Documentation:Professional mesh topology|Professional mesh topology ]]: An overview of the professional topology provided by MakeHuman
* [[Documentation:Legal|Legal ]]: The various licenses that apply to MakeHuman and External tools
== General overview ==
* [[Documentation:Installing MakeHuman|Installing MakeHuman]]
* [[Documentation:Configuration and settings|Configuration and settings]]
* [[Documentation:The interface and its basic functions|The interface and its basic functions]]
* [[Documentation:The toolbar|The toolbar]]
* [[Documentation:The tabs|The tabs]]
* [[Documentation:The sliders|The sliders]]
* [[Documentation:Loading and saving|Loading and saving]]
* [[Documentation:Zoom, pan and rotate using the orbital camera|Zoom, pan and rotate using the orbital camera]]
== Working with the human ==
* [[Documentation:Gender, Random, Measure and Custom|Gender, Random, Measure and Custom]]
* [[Documentation:Hairstyles and Clothes|Hairstyles and Clothes]]
* [[Documentation:Modeling the body|Modeling the body]]
* [[Documentation:Alternative topologies|Alternative topologies]]
* [[Documentation:Skin and other materials|Skin and other materials]]
* [[Documentation:Rendering your work|Rendering your work]]
== Exporting your work to another application ==
* [[Documentation:Exports and file formats|Exports and file formats]]
* [[Documentation:Saving models for Blender and how to import them there|Saving models for Blender and how to import them there]]
* [[Documentation:Saving models for Maya and how to import them there|Saving models for Maya and how to import them there]]
* [[Documentation:Saving models for 3ds MAX and how to import them there|Saving models for 3ds MAX and how to import them there]]
* [[Documentation:Saving models for Unreal Engine and how to import them there|Saving models for Unreal Engine and how to import them there]]
* [[Documentation:Saving models for Unity and how to import them there|Saving models for Unity and how to import them there]]
* [[Documentation:Saving models for OpenSim / Second Life and how to import them there|Saving models for OpenSim / Second Life and how to import them there]]
== Downloading or creating new assets ==
* [[Documentation:What is an asset?|What is an asset?]]
* [[Documentation:Finding and downloading more assets|Finding and downloading more assets]]
* [[Documentation:Getting and installing BlenderTools|Getting and installing BlenderTools]]
* [[Documentation:Targets|Targets]]
* [[Documentation:Clothes|Clothes]]
* [[Documentation:Texture painting a skin in blender|Texture painting a skin in blender]]
== In-depth tutorials: MakeClothes ==
* [[Documentation:Making a simple dress|Making a simple dress]]
* [[Documentation:Making diapers for a baby|Making diapers for a baby]]
* [[Documentation:Controlling the result with vertex groups|Controlling the result with vertex groups]]
== Interacting with the community ==
* [[Documentation:Asking for help|Asking for help]]
* [[Documentation:Reporting a bug|Reporting a bug]]
== MakeHuman for developers ==
* [[Documentation:Plugin System|Plugin System]]
* [[Documentation:OpenGL Notes|OpenGL Notes]]
* [[Documentation:Directory structure and core modules|Directory structure and core modules]]
* [[Documentation:File formats and extensions|File formats and extensions]]
* [[Documentation:Libraries and build procedures|Libraries and build procedures]]
* [[Documentation:Development infrastructure|Development infrastructure]]
* [[Documentation:Application design and Code overview|Application design and Code overview]]
* [[Documentation:Getting started with MakeHuman code|Getting started with MakeHuman code]]
* [[Technical notes on MakeHuman]]
== Other / unsorted ==
* [[Documentation:MakeWalk|MakeWalk]]
* [[Documentation:Translation|Translation]]
* [[Documentation:Installing MHX2|Installing MHX2]]
== Meta ==
* [[Documentation:Planning on how to restructure the documentation]]
== Old documentation ==
The old documentation is available, but in a largely unformatted state:
[[Documentation:Big dump from drupal]]
(most of this should now have been ported to separate pages as per above)
The following have been merged in other pages, but they are left here if something got lost in the translation:
* [[ Documentation:MHBlenderTools: Download and installation|MHBlenderTools: Download and installation ]]: How to download and install the addons for Blender
* [[ Documentation:MHBlenderTools: MakeTarget|MHBlenderTools: MakeTarget ]]: Description of the MakeTarget™ tool, to create custom morphings for MakeHuman.
* [[ Documentation:MHBlenderTools:MakeClothes|MHBlenderTools: MakeClothes ]]: Description of the MakeClothes™ tool, to create custom clothes for MakeHuman.
f50d38a49ce9e01d3e1da73911accd7203574367
785
770
2016-05-26T11:19:10Z
Joepal
14
wikitext
text/x-wiki
== Introduction ==
* [[Documentation:What is MakeHuman?|What is MakeHuman?]]: A quick introduction to MakeHuman.
* [[Documentation:Short and Long Pipeline|Short and Long Pipeline ]]: The goal of Makehuman is to see it used in 2 different professional pipelines.
* [[Documentation:Professional mesh topology|Professional mesh topology ]]: An overview of the professional topology provided by MakeHuman
* [[Documentation:Legal|Legal ]]: The various licenses that apply to MakeHuman and External tools
== General overview ==
* [[Documentation:Installing MakeHuman|Installing MakeHuman]]
* [[Documentation:Configuration and settings|Configuration and settings]]
* [[Documentation:The interface and its basic functions|The interface and its basic functions]]
* [[Documentation:The toolbar|The toolbar]]
* [[Documentation:The tabs|The tabs]]
* [[Documentation:The sliders|The sliders]]
* [[Documentation:Loading and saving|Loading and saving]]
* [[Documentation:Zoom, pan and rotate using the orbital camera|Zoom, pan and rotate using the orbital camera]]
== Working with the human ==
* [[Documentation:Gender, Random, Measure and Custom|Gender, Random, Measure and Custom]]
* [[Documentation:Hairstyles and Clothes|Hairstyles and Clothes]]
* [[Documentation:Modeling the body|Modeling the body]]
* [[Documentation:Alternative topologies|Alternative topologies]]
* [[Documentation:Skin and other materials|Skin and other materials]]
* [[Documentation:Rendering your work|Rendering your work]]
== Exporting your work to another application ==
* [[Documentation:Exports and file formats|Exports and file formats]]
* [[Documentation:Saving models for Blender and how to import them there|Saving models for Blender and how to import them there]]
* [[Documentation:Saving models for Maya and how to import them there|Saving models for Maya and how to import them there]]
* [[Documentation:Saving models for 3ds MAX and how to import them there|Saving models for 3ds MAX and how to import them there]]
* [[Documentation:Saving models for Unreal Engine and how to import them there|Saving models for Unreal Engine and how to import them there]]
* [[Documentation:Saving models for Unity and how to import them there|Saving models for Unity and how to import them there]]
* [[Documentation:Saving models for OpenSim / Second Life and how to import them there|Saving models for OpenSim / Second Life and how to import them there]]
== Downloading or creating new assets ==
* [[Documentation:What is an asset?|What is an asset?]]
* [[Documentation:Finding and downloading more assets|Finding and downloading more assets]]
* [[Documentation:Getting and installing BlenderTools|Getting and installing BlenderTools]]
* [[Documentation:Targets|Targets]]
* [[Documentation:Clothes|Clothes]]
* [[Documentation:Texture painting a skin in blender|Texture painting a skin in blender]]
== In-depth tutorials: MakeClothes ==
(find stuff that didn't make it in the drupal export)
== Interacting with the community ==
* [[Documentation:Asking for help|Asking for help]]
* [[Documentation:Reporting a bug|Reporting a bug]]
== MakeHuman for developers ==
* [[Documentation:Plugin System|Plugin System]]
* [[Documentation:OpenGL Notes|OpenGL Notes]]
* [[Documentation:Directory structure and core modules|Directory structure and core modules]]
* [[Documentation:File formats and extensions|File formats and extensions]]
* [[Documentation:Libraries and build procedures|Libraries and build procedures]]
* [[Documentation:Development infrastructure|Development infrastructure]]
* [[Documentation:Application design and Code overview|Application design and Code overview]]
* [[Documentation:Getting started with MakeHuman code|Getting started with MakeHuman code]]
* [[Technical notes on MakeHuman]]
== Other / unsorted ==
* [[Documentation:MakeWalk|MakeWalk]]
* [[Documentation:Translation|Translation]]
* [[Documentation:Installing MHX2|Installing MHX2]]
== Meta ==
* [[Documentation:Planning on how to restructure the documentation]]
== Old documentation ==
The old documentation is available, but in a largely unformatted state:
[[Documentation:Big dump from drupal]]
(most of this should now have been ported to separate pages as per above)
The following have been merged in other pages, but they are left here if something got lost in the translation:
* [[ Documentation:MHBlenderTools: Download and installation|MHBlenderTools: Download and installation ]]: How to download and install the addons for Blender
* [[ Documentation:MHBlenderTools: MakeTarget|MHBlenderTools: MakeTarget ]]: Description of the MakeTarget™ tool, to create custom morphings for MakeHuman.
* [[ Documentation:MHBlenderTools:MakeClothes|MHBlenderTools: MakeClothes ]]: Description of the MakeClothes™ tool, to create custom clothes for MakeHuman.
bd9381b65c947552bd777439f26ef7398d717fac
770
769
2016-05-24T11:39:46Z
Joepal
14
wikitext
text/x-wiki
== Introduction ==
* [[Documentation:What is MakeHuman?|What is MakeHuman?]]: A quick introduction to MakeHuman.
* [[Documentation:Short and Long Pipeline|Short and Long Pipeline ]]: The goal of Makehuman is to see it used in 2 different professional pipelines.
* [[Documentation:Professional mesh topology|Professional mesh topology ]]: An overview of the professional topology provided by MakeHuman
* [[Documentation:Legal|Legal ]]: The various licenses that apply to MakeHuman and External tools
== General overview ==
* [[Documentation:Installing MakeHuman|Installing MakeHuman]]
* [[Documentation:Configuration and settings|Configuration and settings]]
* [[Documentation:The interface and its basic functions|The interface and its basic functions]]
* [[Documentation:The toolbar|The toolbar]]
* [[Documentation:The tabs|The tabs]]
* [[Documentation:The sliders|The sliders]]
* [[Documentation:Loading and saving|Loading and saving]]
* [[Documentation:Zoom, pan and rotate using the orbital camera|Zoom, pan and rotate using the orbital camera]]
== Working with the human ==
* [[Documentation:Gender, Random, Measure and Custom|Gender, Random, Measure and Custom]]
* [[Documentation:Hairstyles and Clothes|Hairstyles and Clothes]]
* [[Documentation:Modeling the body|Modeling the body]]
* [[Documentation:Alternative topologies|Alternative topologies]]
* [[Documentation:Skin and other materials|Skin and other materials]]
* [[Documentation:Rendering your work|Rendering your work]]
== Exporting your work to another application ==
* [[Documentation:Exports and file formats|Exports and file formats]]
* [[Documentation:Saving models for Blender and how to import them there|Saving models for Blender and how to import them there]]
* [[Documentation:Saving models for Maya and how to import them there|Saving models for Maya and how to import them there]]
* [[Documentation:Saving models for 3ds MAX and how to import them there|Saving models for 3ds MAX and how to import them there]]
* [[Documentation:Saving models for Unreal Engine and how to import them there|Saving models for Unreal Engine and how to import them there]]
* [[Documentation:Saving models for Unity and how to import them there|Saving models for Unity and how to import them there]]
* [[Documentation:Saving models for OpenSim / Second Life and how to import them there|Saving models for OpenSim / Second Life and how to import them there]]
== Downloading or creating new assets ==
* [[Documentation:What is an asset?|What is an asset?]]
* [[Documentation:Finding and downloading more assets|Finding and downloading more assets]]
* [[Documentation:Getting and installing BlenderTools|Getting and installing BlenderTools]]
* [[Documentation:Targets|Targets]]
* [[Documentation:Clothes|Clothes]]
* [[Documentation:Texture painting a skin in blender|Texture painting a skin in blender]]
== Interacting with the community ==
* [[Documentation:Asking for help|Asking for help]]
* [[Documentation:Reporting a bug|Reporting a bug]]
== MakeHuman for developers ==
* [[Documentation:Plugin System|Plugin System]]
* [[Documentation:OpenGL Notes|OpenGL Notes]]
* [[Documentation:Directory structure and core modules|Directory structure and core modules]]
* [[Documentation:File formats and extensions|File formats and extensions]]
* [[Documentation:Libraries and build procedures|Libraries and build procedures]]
* [[Documentation:Development infrastructure|Development infrastructure]]
* [[Documentation:Application design and Code overview|Application design and Code overview]]
* [[Documentation:Getting started with MakeHuman code|Getting started with MakeHuman code]]
* [[Technical notes on MakeHuman]]
== Other / unsorted ==
* [[Documentation:MakeWalk|MakeWalk]]
* [[Documentation:Translation|Translation]]
* [[Documentation:Installing MHX2|Installing MHX2]]
== Meta ==
* [[Documentation:Planning on how to restructure the documentation]]
== Old documentation ==
The old documentation is available, but in a largely unformatted state:
[[Documentation:Big dump from drupal]]
(most of this should now have been ported to separate pages as per above)
The following have been merged in other pages, but they are left here if something got lost in the translation:
* [[ Documentation:MHBlenderTools: Download and installation|MHBlenderTools: Download and installation ]]: How to download and install the addons for Blender
* [[ Documentation:MHBlenderTools: MakeTarget|MHBlenderTools: MakeTarget ]]: Description of the MakeTarget™ tool, to create custom morphings for MakeHuman.
* [[ Documentation:MHBlenderTools:MakeClothes|MHBlenderTools: MakeClothes ]]: Description of the MakeClothes™ tool, to create custom clothes for MakeHuman.
ab8099b13904e16fe2ba0208cb4b6c1ef6af9728
769
768
2016-05-24T11:37:18Z
Joepal
14
/* Exporting your work to another application */
wikitext
text/x-wiki
== Introduction ==
* [[Documentation:What is MakeHuman?|What is MakeHuman?]]: A quick introduction to MakeHuman.
* [[Documentation:Short and Long Pipeline|Short and Long Pipeline ]]: The goal of Makehuman is to see it used in 2 different professional pipelines.
* [[Documentation:Professional mesh topology|Professional mesh topology ]]: An overview of the professional topology provided by MakeHuman
* [[Documentation:Legal|Legal ]]: The various licenses that apply to MakeHuman and External tools
== General overview ==
* [[Documentation:Installing MakeHuman|Installing MakeHuman]]
* [[Documentation:Configuration and settings|Configuration and settings]]
* [[Documentation:The interface and its basic functions|The interface and its basic functions]]
* [[Documentation:The toolbar|The toolbar]]
* [[Documentation:The tabs|The tabs]]
* [[Documentation:The sliders|The sliders]]
* [[Documentation:Loading and saving|Loading and saving]]
* [[Documentation:Zoom, pan and rotate using the orbital camera|Zoom, pan and rotate using the orbital camera]]
== Working with the human ==
* [[Documentation:Gender, Random, Measure and Custom|Gender, Random, Measure and Custom]]
* [[Documentation:Hairstyles and Clothes|Hairstyles and Clothes]]
* [[Documentation:Modeling the body|Modeling the body]]
* [[Documentation:Alternative topologies|Alternative topologies]]
* [[Documentation:Skin and other materials|Skin and other materials]]
* [[Documentation:Rendering your work|Rendering your work]]
== Exporting your work to another application ==
* [[Documentation:Exports and file formats|Exports and file formats]]
* [[Documentation:Saving models for Blender and how to import them there|Saving models for Blender and how to import them there]]
* [[Documentation:Saving models for Maya and how to import them there|Saving models for Maya and how to import them there]]
* [[Documentation:Saving models for 3ds MAX and how to import them there|Saving models for 3ds MAX and how to import them there]]
* [[Documentation:Saving models for Unreal Engine and how to import them there|Saving models for Unreal Engine and how to import them there]]
* [[Documentation:Saving models for Unity and how to import them there|Saving models for Unity and how to import them there]]
* [[Documentation:Saving models for OpenSim / Second Life and how to import them there|Saving models for OpenSim / Second Life and how to import them there]]
== Getting help and resources from the community ==
* [[Documentation:Asking for help|Asking for help]]
* [[Documentation:Reporting a bug|Reporting a bug]]
* [[Documentation:Finding more assets|Finding more assets]]
== Creating new assets ==
* [[Documentation:Getting and installing BlenderTools|Getting and installing BlenderTools]]
* [[Documentation:Targets|Targets]]
* [[Documentation:Clothes|Clothes]]
* [[Documentation:Texture painting a skin in blender|Texture painting a skin in blender]]
== MakeHuman for developers ==
* [[Documentation:Plugin System|Plugin System]]
* [[Documentation:OpenGL Notes|OpenGL Notes]]
* [[Documentation:Directory structure and core modules|Directory structure and core modules]]
* [[Documentation:File formats and extensions|File formats and extensions]]
* [[Documentation:Libraries and build procedures|Libraries and build procedures]]
* [[Documentation:Development infrastructure|Development infrastructure]]
* [[Documentation:Application design and Code overview|Application design and Code overview]]
* [[Documentation:Getting started with MakeHuman code|Getting started with MakeHuman code]]
* [[Technical notes on MakeHuman]]
== Other / unsorted ==
* [[Documentation:MakeWalk|MakeWalk]]
* [[Documentation:Translation|Translation]]
* [[Documentation:Installing MHX2|Installing MHX2]]
== Meta ==
* [[Documentation:Planning on how to restructure the documentation]]
== Old documentation ==
The old documentation is available, but in a largely unformatted state:
[[Documentation:Big dump from drupal]]
(most of this should now have been ported to separate pages as per above)
The following have been merged in other pages, but they are left here if something got lost in the translation:
* [[ Documentation:MHBlenderTools: Download and installation|MHBlenderTools: Download and installation ]]: How to download and install the addons for Blender
* [[ Documentation:MHBlenderTools: MakeTarget|MHBlenderTools: MakeTarget ]]: Description of the MakeTarget™ tool, to create custom morphings for MakeHuman.
* [[ Documentation:MHBlenderTools:MakeClothes|MHBlenderTools: MakeClothes ]]: Description of the MakeClothes™ tool, to create custom clothes for MakeHuman.
330b731c37eaf4c7789c56641c4cb8cdf98b2624
768
767
2016-05-24T11:36:58Z
Joepal
14
/* Exporting your work to another application */
wikitext
text/x-wiki
== Introduction ==
* [[Documentation:What is MakeHuman?|What is MakeHuman?]]: A quick introduction to MakeHuman.
* [[Documentation:Short and Long Pipeline|Short and Long Pipeline ]]: The goal of Makehuman is to see it used in 2 different professional pipelines.
* [[Documentation:Professional mesh topology|Professional mesh topology ]]: An overview of the professional topology provided by MakeHuman
* [[Documentation:Legal|Legal ]]: The various licenses that apply to MakeHuman and External tools
== General overview ==
* [[Documentation:Installing MakeHuman|Installing MakeHuman]]
* [[Documentation:Configuration and settings|Configuration and settings]]
* [[Documentation:The interface and its basic functions|The interface and its basic functions]]
* [[Documentation:The toolbar|The toolbar]]
* [[Documentation:The tabs|The tabs]]
* [[Documentation:The sliders|The sliders]]
* [[Documentation:Loading and saving|Loading and saving]]
* [[Documentation:Zoom, pan and rotate using the orbital camera|Zoom, pan and rotate using the orbital camera]]
== Working with the human ==
* [[Documentation:Gender, Random, Measure and Custom|Gender, Random, Measure and Custom]]
* [[Documentation:Hairstyles and Clothes|Hairstyles and Clothes]]
* [[Documentation:Modeling the body|Modeling the body]]
* [[Documentation:Alternative topologies|Alternative topologies]]
* [[Documentation:Skin and other materials|Skin and other materials]]
* [[Documentation:Rendering your work|Rendering your work]]
== Exporting your work to another application ==
* [[Documentation:Exports and file formats|Exports and file formats]]
* [[Documentation:Saving models for Blender and how to import them there|Saving models for Blender and how to import them there]]
* [[Documentation:Saving models for Maya and how to import them there|Saving models for Blender and how to import them there]]
* [[Documentation:Saving models for 3ds MAX and how to import them there|Saving models for 3ds MAX and how to import them there]]
* [[Documentation:Saving models for Unreal Engine and how to import them there|Saving models for Unreal Engine and how to import them there]]
* [[Documentation:Saving models for Unity and how to import them there|Saving models for Unity and how to import them there]]
* [[Documentation:Saving models for OpenSim / Second Life and how to import them there|Saving models for OpenSim / Second Life and how to import them there]]
== Getting help and resources from the community ==
* [[Documentation:Asking for help|Asking for help]]
* [[Documentation:Reporting a bug|Reporting a bug]]
* [[Documentation:Finding more assets|Finding more assets]]
== Creating new assets ==
* [[Documentation:Getting and installing BlenderTools|Getting and installing BlenderTools]]
* [[Documentation:Targets|Targets]]
* [[Documentation:Clothes|Clothes]]
* [[Documentation:Texture painting a skin in blender|Texture painting a skin in blender]]
== MakeHuman for developers ==
* [[Documentation:Plugin System|Plugin System]]
* [[Documentation:OpenGL Notes|OpenGL Notes]]
* [[Documentation:Directory structure and core modules|Directory structure and core modules]]
* [[Documentation:File formats and extensions|File formats and extensions]]
* [[Documentation:Libraries and build procedures|Libraries and build procedures]]
* [[Documentation:Development infrastructure|Development infrastructure]]
* [[Documentation:Application design and Code overview|Application design and Code overview]]
* [[Documentation:Getting started with MakeHuman code|Getting started with MakeHuman code]]
* [[Technical notes on MakeHuman]]
== Other / unsorted ==
* [[Documentation:MakeWalk|MakeWalk]]
* [[Documentation:Translation|Translation]]
* [[Documentation:Installing MHX2|Installing MHX2]]
== Meta ==
* [[Documentation:Planning on how to restructure the documentation]]
== Old documentation ==
The old documentation is available, but in a largely unformatted state:
[[Documentation:Big dump from drupal]]
(most of this should now have been ported to separate pages as per above)
The following have been merged in other pages, but they are left here if something got lost in the translation:
* [[ Documentation:MHBlenderTools: Download and installation|MHBlenderTools: Download and installation ]]: How to download and install the addons for Blender
* [[ Documentation:MHBlenderTools: MakeTarget|MHBlenderTools: MakeTarget ]]: Description of the MakeTarget™ tool, to create custom morphings for MakeHuman.
* [[ Documentation:MHBlenderTools:MakeClothes|MHBlenderTools: MakeClothes ]]: Description of the MakeClothes™ tool, to create custom clothes for MakeHuman.
972fd338a334c15b259414f25b6903daa35c8bbb
767
764
2016-05-24T11:35:30Z
Joepal
14
wikitext
text/x-wiki
== Introduction ==
* [[Documentation:What is MakeHuman?|What is MakeHuman?]]: A quick introduction to MakeHuman.
* [[Documentation:Short and Long Pipeline|Short and Long Pipeline ]]: The goal of Makehuman is to see it used in 2 different professional pipelines.
* [[Documentation:Professional mesh topology|Professional mesh topology ]]: An overview of the professional topology provided by MakeHuman
* [[Documentation:Legal|Legal ]]: The various licenses that apply to MakeHuman and External tools
== General overview ==
* [[Documentation:Installing MakeHuman|Installing MakeHuman]]
* [[Documentation:Configuration and settings|Configuration and settings]]
* [[Documentation:The interface and its basic functions|The interface and its basic functions]]
* [[Documentation:The toolbar|The toolbar]]
* [[Documentation:The tabs|The tabs]]
* [[Documentation:The sliders|The sliders]]
* [[Documentation:Loading and saving|Loading and saving]]
* [[Documentation:Zoom, pan and rotate using the orbital camera|Zoom, pan and rotate using the orbital camera]]
== Working with the human ==
* [[Documentation:Gender, Random, Measure and Custom|Gender, Random, Measure and Custom]]
* [[Documentation:Hairstyles and Clothes|Hairstyles and Clothes]]
* [[Documentation:Modeling the body|Modeling the body]]
* [[Documentation:Alternative topologies|Alternative topologies]]
* [[Documentation:Skin and other materials|Skin and other materials]]
* [[Documentation:Rendering your work|Rendering your work]]
== Exporting your work to another application ==
* [[Documentation:Exports and file formats]]
* [[Documentation:Saving models for Blender and how to import them there]]
* [[Documentation:Saving models for Maya and how to import them there]]
* [[Documentation:Saving models for 3ds MAX and how to import them there]]
* [[Documentation:Saving models for Unreal Engine and how to import them there]]
* [[Documentation:Saving models for Unity and how to import them there]]
* [[Documentation:Saving models for OpenSim / Second Life and how to import them there]]
== Getting help and resources from the community ==
* [[Documentation:Asking for help|Asking for help]]
* [[Documentation:Reporting a bug|Reporting a bug]]
* [[Documentation:Finding more assets|Finding more assets]]
== Creating new assets ==
* [[Documentation:Getting and installing BlenderTools|Getting and installing BlenderTools]]
* [[Documentation:Targets|Targets]]
* [[Documentation:Clothes|Clothes]]
* [[Documentation:Texture painting a skin in blender|Texture painting a skin in blender]]
== MakeHuman for developers ==
* [[Documentation:Plugin System|Plugin System]]
* [[Documentation:OpenGL Notes|OpenGL Notes]]
* [[Documentation:Directory structure and core modules|Directory structure and core modules]]
* [[Documentation:File formats and extensions|File formats and extensions]]
* [[Documentation:Libraries and build procedures|Libraries and build procedures]]
* [[Documentation:Development infrastructure|Development infrastructure]]
* [[Documentation:Application design and Code overview|Application design and Code overview]]
* [[Documentation:Getting started with MakeHuman code|Getting started with MakeHuman code]]
* [[Technical notes on MakeHuman]]
== Other / unsorted ==
* [[Documentation:MakeWalk|MakeWalk]]
* [[Documentation:Translation|Translation]]
* [[Documentation:Installing MHX2|Installing MHX2]]
== Meta ==
* [[Documentation:Planning on how to restructure the documentation]]
== Old documentation ==
The old documentation is available, but in a largely unformatted state:
[[Documentation:Big dump from drupal]]
(most of this should now have been ported to separate pages as per above)
The following have been merged in other pages, but they are left here if something got lost in the translation:
* [[ Documentation:MHBlenderTools: Download and installation|MHBlenderTools: Download and installation ]]: How to download and install the addons for Blender
* [[ Documentation:MHBlenderTools: MakeTarget|MHBlenderTools: MakeTarget ]]: Description of the MakeTarget™ tool, to create custom morphings for MakeHuman.
* [[ Documentation:MHBlenderTools:MakeClothes|MHBlenderTools: MakeClothes ]]: Description of the MakeClothes™ tool, to create custom clothes for MakeHuman.
812ae8ca044790242e41df92a1608ad52934b4b3
764
763
2016-05-24T11:28:36Z
Joepal
14
/* Exporting your work to another application */
wikitext
text/x-wiki
== Introduction ==
* [[Documentation:What is MakeHuman?|What is MakeHuman?]]: A quick introduction to MakeHuman.
* [[Documentation:Short and Long Pipeline|Short and Long Pipeline ]]: The goal of Makehuman is to see it used in 2 different professional pipelines.
* [[Documentation:Professional mesh topology|Professional mesh topology ]]: An overview of the professional topology provided by MakeHuman
* [[Documentation:Legal|Legal ]]: The various licenses that apply to MakeHuman and External tools
== General overview ==
* [[Documentation:Installing MakeHuman|Installing MakeHuman]]
* [[Documentation:Configuration and settings|Configuration and settings]]
* [[Documentation:The interface and its basic functions|The interface and its basic functions]]
* [[Documentation:The toolbar|The toolbar]]
* [[Documentation:The tabs|The tabs]]
* [[Documentation:The sliders|The sliders]]
* [[Documentation:Loading and saving|Loading and saving]]
* [[Documentation:Zoom, pan and rotate using the orbital camera|Zoom, pan and rotate using the orbital camera]]
== Working with the human ==
* [[Documentation:Gender, Random, Measure and Custom|Gender, Random, Measure and Custom]]
* [[Documentation:Hairstyles and Clothes|Hairstyles and Clothes]]
* [[Documentation:Modeling the body|Modeling the body]]
* [[Documentation:Alternative topologies|Alternative topologies]]
* [[Documentation:Skin and other materials|Skin and other materials]]
* [[Documentation:Rendering your work|Rendering your work]]
== Exporting your work to another application ==
* [[Documentation:Exports and file formats]]
* [[Documentation:Saving models for Blender and how to import them there]]
* [[Documentation:Saving models for Maya and how to import them there]]
* [[Documentation:Saving models for 3ds MAX and how to import them there]]
* [[Documentation:Saving models for Unreal Engine and how to import them there]]
* [[Documentation:Saving models for Unity and how to import them there]]
* [[Documentation:Saving models for OpenSim / Second Life and how to import them there]]
== Getting help and resources from the community ==
* [[Documentation:Asking for help|Asking for help]]
* [[Documentation:Reporting a bug|Reporting a bug]]
* [[Documentation:Finding more assets|Finding more assets]]
== Creating new assets ==
* [[Documentation:Getting and installing BlenderTools|Getting and installing BlenderTools]]
* [[Documentation:Targets|Targets]]
* [[Documentation:Clothes|Clothes]]
* [[Documentation:Texture painting a skin in blender|Texture painting a skin in blender]]
== MakeHuman for developers ==
* [[Documentation:Plugin System|Plugin System]]
* [[Documentation:OpenGL Notes|OpenGL Notes]]
* [[Documentation:Directory structure and core modules|Directory structure and core modules]]
* [[Documentation:File formats and extensions|File formats and extensions]]
* [[Documentation:Libraries and build procedures|Libraries and build procedures]]
* [[Documentation:Development infrastructure|Development infrastructure]]
* [[Documentation:Application design and Code overview|Application design and Code overview]]
* [[Documentation:Getting started with MakeHuman code|Getting started with MakeHuman code]]
* [[Technical notes on MakeHuman]]
== Other / unsorted ==
* [[Documentation:MakeWalk|MakeWalk]]
* [[Documentation:Translation|Translation]]
== Meta ==
* [[Documentation:Planning on how to restructure the documentation]]
== Old documentation ==
The old documentation is available, but in a largely unformatted state:
[[Documentation:Big dump from drupal]]
(most of this should now have been ported to separate pages as per above)
The following have been merged in other pages, but they are left here if something got lost in the translation:
* [[ Documentation:MHBlenderTools: Download and installation|MHBlenderTools: Download and installation ]]: How to download and install the addons for Blender
* [[ Documentation:MHBlenderTools: MakeTarget|MHBlenderTools: MakeTarget ]]: Description of the MakeTarget™ tool, to create custom morphings for MakeHuman.
* [[ Documentation:MHBlenderTools:MakeClothes|MHBlenderTools: MakeClothes ]]: Description of the MakeClothes™ tool, to create custom clothes for MakeHuman.
522669d77eb7956eeac0180c9056ac110aa21d38
763
756
2016-05-24T11:26:50Z
Joepal
14
/* Exporting your work to another application */
wikitext
text/x-wiki
== Introduction ==
* [[Documentation:What is MakeHuman?|What is MakeHuman?]]: A quick introduction to MakeHuman.
* [[Documentation:Short and Long Pipeline|Short and Long Pipeline ]]: The goal of Makehuman is to see it used in 2 different professional pipelines.
* [[Documentation:Professional mesh topology|Professional mesh topology ]]: An overview of the professional topology provided by MakeHuman
* [[Documentation:Legal|Legal ]]: The various licenses that apply to MakeHuman and External tools
== General overview ==
* [[Documentation:Installing MakeHuman|Installing MakeHuman]]
* [[Documentation:Configuration and settings|Configuration and settings]]
* [[Documentation:The interface and its basic functions|The interface and its basic functions]]
* [[Documentation:The toolbar|The toolbar]]
* [[Documentation:The tabs|The tabs]]
* [[Documentation:The sliders|The sliders]]
* [[Documentation:Loading and saving|Loading and saving]]
* [[Documentation:Zoom, pan and rotate using the orbital camera|Zoom, pan and rotate using the orbital camera]]
== Working with the human ==
* [[Documentation:Gender, Random, Measure and Custom|Gender, Random, Measure and Custom]]
* [[Documentation:Hairstyles and Clothes|Hairstyles and Clothes]]
* [[Documentation:Modeling the body|Modeling the body]]
* [[Documentation:Alternative topologies|Alternative topologies]]
* [[Documentation:Skin and other materials|Skin and other materials]]
* [[Documentation:Rendering your work|Rendering your work]]
== Exporting your work to another application ==
* [[Documentation:Exports and file formats]]
* [[Documentation:Saving models for, and importing them in Blender]]
* [[Documentation:Saving models for, and importing them in Maya]]
* [[Documentation:Saving models for, and importing them in 3ds Max]]
* [[Documentation:Saving models for, and importing them in Unreal Engine]]
* [[Documentation:Saving models for, and importing them in Unity]]
* [[Documentation:Saving models for, and importing them in OpenSim / Second Life]]
== Getting help and resources from the community ==
* [[Documentation:Asking for help|Asking for help]]
* [[Documentation:Reporting a bug|Reporting a bug]]
* [[Documentation:Finding more assets|Finding more assets]]
== Creating new assets ==
* [[Documentation:Getting and installing BlenderTools|Getting and installing BlenderTools]]
* [[Documentation:Targets|Targets]]
* [[Documentation:Clothes|Clothes]]
* [[Documentation:Texture painting a skin in blender|Texture painting a skin in blender]]
== MakeHuman for developers ==
* [[Documentation:Plugin System|Plugin System]]
* [[Documentation:OpenGL Notes|OpenGL Notes]]
* [[Documentation:Directory structure and core modules|Directory structure and core modules]]
* [[Documentation:File formats and extensions|File formats and extensions]]
* [[Documentation:Libraries and build procedures|Libraries and build procedures]]
* [[Documentation:Development infrastructure|Development infrastructure]]
* [[Documentation:Application design and Code overview|Application design and Code overview]]
* [[Documentation:Getting started with MakeHuman code|Getting started with MakeHuman code]]
* [[Technical notes on MakeHuman]]
== Other / unsorted ==
* [[Documentation:MakeWalk|MakeWalk]]
* [[Documentation:Translation|Translation]]
== Meta ==
* [[Documentation:Planning on how to restructure the documentation]]
== Old documentation ==
The old documentation is available, but in a largely unformatted state:
[[Documentation:Big dump from drupal]]
(most of this should now have been ported to separate pages as per above)
The following have been merged in other pages, but they are left here if something got lost in the translation:
* [[ Documentation:MHBlenderTools: Download and installation|MHBlenderTools: Download and installation ]]: How to download and install the addons for Blender
* [[ Documentation:MHBlenderTools: MakeTarget|MHBlenderTools: MakeTarget ]]: Description of the MakeTarget™ tool, to create custom morphings for MakeHuman.
* [[ Documentation:MHBlenderTools:MakeClothes|MHBlenderTools: MakeClothes ]]: Description of the MakeClothes™ tool, to create custom clothes for MakeHuman.
99cd46e679a94df2da14b0fd381e446fd80ae3e9
756
751
2016-05-24T11:08:44Z
Joepal
14
wikitext
text/x-wiki
== Introduction ==
* [[Documentation:What is MakeHuman?|What is MakeHuman?]]: A quick introduction to MakeHuman.
* [[Documentation:Short and Long Pipeline|Short and Long Pipeline ]]: The goal of Makehuman is to see it used in 2 different professional pipelines.
* [[Documentation:Professional mesh topology|Professional mesh topology ]]: An overview of the professional topology provided by MakeHuman
* [[Documentation:Legal|Legal ]]: The various licenses that apply to MakeHuman and External tools
== General overview ==
* [[Documentation:Installing MakeHuman|Installing MakeHuman]]
* [[Documentation:Configuration and settings|Configuration and settings]]
* [[Documentation:The interface and its basic functions|The interface and its basic functions]]
* [[Documentation:The toolbar|The toolbar]]
* [[Documentation:The tabs|The tabs]]
* [[Documentation:The sliders|The sliders]]
* [[Documentation:Loading and saving|Loading and saving]]
* [[Documentation:Zoom, pan and rotate using the orbital camera|Zoom, pan and rotate using the orbital camera]]
== Working with the human ==
* [[Documentation:Gender, Random, Measure and Custom|Gender, Random, Measure and Custom]]
* [[Documentation:Hairstyles and Clothes|Hairstyles and Clothes]]
* [[Documentation:Modeling the body|Modeling the body]]
* [[Documentation:Alternative topologies|Alternative topologies]]
* [[Documentation:Skin and other materials|Skin and other materials]]
* [[Documentation:Rendering your work|Rendering your work]]
== Exporting your work to another application ==
* [[Documentation:Exports and file formats]]
* [[Documentation:Importing in Blender]]
* [[Documentation:Importing in Maya]]
* [[Documentation:Importing in 3ds Max]]
* [[Documentation:Importing in Unreal Engine]]
* [[Documentation:Importing in Unity]]
* [[Documentation:Importing in OpenSim / Second Life]]
== Getting help and resources from the community ==
* [[Documentation:Asking for help|Asking for help]]
* [[Documentation:Reporting a bug|Reporting a bug]]
* [[Documentation:Finding more assets|Finding more assets]]
== Creating new assets ==
* [[Documentation:Getting and installing BlenderTools|Getting and installing BlenderTools]]
* [[Documentation:Targets|Targets]]
* [[Documentation:Clothes|Clothes]]
* [[Documentation:Texture painting a skin in blender|Texture painting a skin in blender]]
== MakeHuman for developers ==
* [[Documentation:Plugin System|Plugin System]]
* [[Documentation:OpenGL Notes|OpenGL Notes]]
* [[Documentation:Directory structure and core modules|Directory structure and core modules]]
* [[Documentation:File formats and extensions|File formats and extensions]]
* [[Documentation:Libraries and build procedures|Libraries and build procedures]]
* [[Documentation:Development infrastructure|Development infrastructure]]
* [[Documentation:Application design and Code overview|Application design and Code overview]]
* [[Documentation:Getting started with MakeHuman code|Getting started with MakeHuman code]]
* [[Technical notes on MakeHuman]]
== Other / unsorted ==
* [[Documentation:MakeWalk|MakeWalk]]
* [[Documentation:Translation|Translation]]
== Meta ==
* [[Documentation:Planning on how to restructure the documentation]]
== Old documentation ==
The old documentation is available, but in a largely unformatted state:
[[Documentation:Big dump from drupal]]
(most of this should now have been ported to separate pages as per above)
The following have been merged in other pages, but they are left here if something got lost in the translation:
* [[ Documentation:MHBlenderTools: Download and installation|MHBlenderTools: Download and installation ]]: How to download and install the addons for Blender
* [[ Documentation:MHBlenderTools: MakeTarget|MHBlenderTools: MakeTarget ]]: Description of the MakeTarget™ tool, to create custom morphings for MakeHuman.
* [[ Documentation:MHBlenderTools:MakeClothes|MHBlenderTools: MakeClothes ]]: Description of the MakeClothes™ tool, to create custom clothes for MakeHuman.
33ee09dc94c104b340779fb82c5b24791f9e7f20
751
738
2016-05-24T07:53:40Z
Joepal
14
wikitext
text/x-wiki
== Introduction ==
* [[Documentation:What is MakeHuman?|What is MakeHuman?]]: A quick introduction to MakeHuman.
* [[Documentation:Short and Long Pipeline|Short and Long Pipeline ]]: The goal of Makehuman is to see it used in 2 different professional pipelines.
* [[Documentation:Professional mesh topology|Professional mesh topology ]]: An overview of the professional topology provided by MakeHuman
* [[Documentation:Legal|Legal ]]: The various licenses that apply to MakeHuman and External tools
== General overview ==
* [[Documentation:Installing MakeHuman|Installing MakeHuman]]
* [[Documentation:Configuration and settings|Configuration and settings]]
* [[Documentation:The interface and its basic functions|The interface and its basic functions]]
* [[Documentation:The toolbar|The toolbar]]
* [[Documentation:The tabs|The tabs]]
* [[Documentation:The sliders|The sliders]]
* [[Documentation:Load, save and export|Load, save and export]]
* [[Documentation:Zoom, pan and rotate using the orbital camera|Zoom, pan and rotate using the orbital camera]]
== Working with the human ==
* [[Documentation:Gender, Random, Measure and Custom|Gender, Random, Measure and Custom]]
* [[Documentation:Hairstyles and Clothes|Hairstyles and Clothes]]
* [[Documentation:Modeling the body|Modeling the body]]
* [[Documentation:Alternative topologies|Alternative topologies]]
* [[Documentation:Skin and other materials|Skin and other materials]]
* [[Documentation:Rendering your work|Rendering your work]]
== Getting help and resources from the community ==
* [[Documentation:Asking for help|Asking for help]]
* [[Documentation:Reporting a bug|Reporting a bug]]
* [[Documentation:Finding more assets|Finding more assets]]
== Creating new assets ==
* [[Documentation:Getting and installing BlenderTools|Getting and installing BlenderTools]]
* [[Documentation:Targets|Targets]]
* [[Documentation:Clothes|Clothes]]
* [[Documentation:Texture painting a skin in blender|Texture painting a skin in blender]]
== MakeHuman for developers ==
* [[Documentation:Plugin System|Plugin System]]
* [[Documentation:OpenGL Notes|OpenGL Notes]]
* [[Documentation:Directory structure and core modules|Directory structure and core modules]]
* [[Documentation:File formats and extensions|File formats and extensions]]
* [[Documentation:Libraries and build procedures|Libraries and build procedures]]
* [[Documentation:Development infrastructure|Development infrastructure]]
* [[Documentation:Application design and Code overview|Application design and Code overview]]
* [[Documentation:Getting started with MakeHuman code|Getting started with MakeHuman code]]
* [[Technical notes on MakeHuman]]
== Other / unsorted ==
* [[Documentation:MakeWalk|MakeWalk]]
* [[Documentation:Translation|Translation]]
== Meta ==
* [[Documentation:Planning on how to restructure the documentation]]
== Old documentation ==
The old documentation is available, but in a largely unformatted state:
[[Documentation:Big dump from drupal]]
(most of this should now have been ported to separate pages as per above)
The following have been merged in other pages, but they are left here if something got lost in the translation:
* [[ Documentation:MHBlenderTools: Download and installation|MHBlenderTools: Download and installation ]]: How to download and install the addons for Blender
* [[ Documentation:MHBlenderTools: MakeTarget|MHBlenderTools: MakeTarget ]]: Description of the MakeTarget™ tool, to create custom morphings for MakeHuman.
* [[ Documentation:MHBlenderTools:MakeClothes|MHBlenderTools: MakeClothes ]]: Description of the MakeClothes™ tool, to create custom clothes for MakeHuman.
01e5f5d4527f738f094e108c71169798390a76a7
738
733
2016-05-20T12:47:00Z
Joepal
14
wikitext
text/x-wiki
== Introduction ==
* [[Documentation:What is MakeHuman?|What is MakeHuman?]]: A quick introduction to MakeHuman.
* [[Documentation:Short and Long Pipeline|Short and Long Pipeline ]]: The goal of Makehuman is to see it used in 2 different professional pipelines.
* [[Documentation:Professional mesh topology|Professional mesh topology ]]: An overview of the professional topology provided by MakeHuman
* [[Documentation:Legal|Legal ]]: The various licenses that apply to MakeHuman and External tools
== General overview ==
* [[Documentation:Installing MakeHuman|Installing MakeHuman]]
* [[Documentation:Configuration and settings|Configuration and settings]]
* [[Documentation:The interface and its basic functions|The interface and its basic functions]]
* [[Documentation:The toolbar|The toolbar]]
* [[Documentation:The tabs|The tabs]]
* [[Documentation:The sliders|The sliders]]
* [[Documentation:Load, save and export|Load, save and export]]
* [[Documentation:Zoom, pan and rotate using the orbital camera|Zoom, pan and rotate using the orbital camera]]
== Working with the human ==
* [[Documentation:Gender, Random, Measure and Custom|Gender, Random, Measure and Custom]]
* [[Documentation:Hairstyles and Clothes|Hairstyles and Clothes]]
* [[Documentation:Modeling the body|Modeling the body]]
* [[Documentation:Alternative topologies|Alternative topologies]]
* [[Documentation:Skin and other materials|Skin and other materials]]
* [[Documentation:Rendering your work|Rendering your work]]
== Getting help and resources from the community ==
* [[Documentation:Asking for help|Asking for help]]
* [[Documentation:Reporting a bug|Reporting a bug]]
* [[Documentation:Finding more assets|Finding more assets]]
== Creating new assets ==
* [[Documentation:Getting and installing BlenderTools|Getting and installing BlenderTools]]
* [[Documentation:Targets|Targets]]
* [[Documentation:Clothes|Clothes]]
* [[Documentation:Texture painting a skin in blender|Texture painting a skin in blender]]
== MakeHuman for developers ==
* [[Documentation:Plugin System|Plugin System]]
* [[Documentation:OpenGL Notes|OpenGL Notes]]
* [[Documentation:Directory structure and core modules|Directory structure and core modules]]
* [[Documentation:File formats and extensions|File formats and extensions]]
* [[Documentation:Libraries and build procedures|Libraries and build procedures]]
* [[Documentation:Development infrastructure|Development infrastructure]]
* [[Documentation:Application design and Code overview|Application design and Code overview]]
* [[Documentation:Getting started with MakeHuman code|Getting started with MakeHuman code]]
* [[Technical notes on MakeHuman]]
== Other / unsorted ==
* [[Documentation:MakeWalk|MakeWalk]]
* [[Documentation:Translation|Translation]]
== Old documentation ==
The old documentation is available, but in a largely unformatted state:
[[Documentation:Big dump from drupal]]
(most of this should now have been ported to separate pages as per above)
The following have been merged in other pages, but they are left here if something got lost in the translation:
* [[ Documentation:MHBlenderTools: Download and installation|MHBlenderTools: Download and installation ]]: How to download and install the addons for Blender
* [[ Documentation:MHBlenderTools: MakeTarget|MHBlenderTools: MakeTarget ]]: Description of the MakeTarget™ tool, to create custom morphings for MakeHuman.
* [[ Documentation:MHBlenderTools:MakeClothes|MHBlenderTools: MakeClothes ]]: Description of the MakeClothes™ tool, to create custom clothes for MakeHuman.
7b2d42c80b80dbde95961f75cdacc7bf4f5d6d59
733
732
2016-05-20T11:45:11Z
Joepal
14
wikitext
text/x-wiki
== Introduction ==
* [[Documentation:What is MakeHuman?|What is MakeHuman?]]: A quick introduction to MakeHuman.
* [[Documentation:MakeHuman™ and its Purpose|MakeHuman™ and its Purpose ]]: MakeHuman definition and vision.
* [[Documentation:Short and Long Pipeline|Short and Long Pipeline ]]: The goal of Makehuman is to see it used in 2 different professional pipelines.
* [[Documentation:Professional mesh topology|Professional mesh topology ]]: An overview of the professional topology provided by MakeHuman
* [[Documentation:Legal|Legal ]]: The various licenses that apply to MakeHuman and External tools
== General overview ==
* [[Documentation:Installing MakeHuman|Installing MakeHuman]]
* [[Documentation:Configuration and settings|Configuration and settings]]
* [[Documentation:The interface and its basic functions|The interface and its basic functions]]
* [[Documentation:The toolbar|The toolbar]]
* [[Documentation:The tabs|The tabs]]
* [[Documentation:The sliders|The sliders]]
* [[Documentation:Load, save and export|Load, save and export]]
* [[Documentation:Zoom, pan and rotate using the orbital camera|Zoom, pan and rotate using the orbital camera]]
== Working with the human ==
* [[Documentation:Gender, Random, Measure and Custom|Gender, Random, Measure and Custom]]
* [[Documentation:Hairstyles and Clothes|Hairstyles and Clothes]]
* [[Documentation:Modeling the body|Modeling the body]]
* [[Documentation:Alternative topologies|Alternative topologies]]
* [[Documentation:Skin and other materials|Skin and other materials]]
* [[Documentation:Rendering your work|Rendering your work]]
== Getting help and resources from the community ==
* [[Documentation:Asking for help|Asking for help]]
* [[Documentation:Reporting a bug|Reporting a bug]]
* [[Documentation:Finding more assets|Finding more assets]]
== Creating new assets ==
* [[Documentation:Getting and installing BlenderTools|Getting and installing BlenderTools]]
* [[Documentation:Targets|Targets]]
* [[Documentation:Clothes|Clothes]]
* [[Documentation:Texture painting a skin in blender|Texture painting a skin in blender]]
== MakeHuman for developers ==
* [[Documentation:Plugin System|Plugin System]]
* [[Documentation:OpenGL Notes|OpenGL Notes]]
* [[Documentation:Directory structure and core modules|Directory structure and core modules]]
* [[Documentation:File formats and extensions|File formats and extensions]]
* [[Documentation:Libraries and build procedures|Libraries and build procedures]]
* [[Documentation:Development infrastructure|Development infrastructure]]
* [[Documentation:Application design and Code overview|Application design and Code overview]]
* [[Documentation:Getting started with MakeHuman code|Getting started with MakeHuman code]]
* [[Technical notes on MakeHuman]]
== Other / unsorted ==
* [[Documentation:MakeWalk|MakeWalk]]
* [[Documentation:Translation|Translation]]
== Old documentation ==
The old documentation is available, but in a largely unformatted state:
[[Documentation:Big dump from drupal]]
(most of this should now have been ported to separate pages as per above)
The following have been merged in other pages, but they are left here if something got lost in the translation:
* [[ Documentation:MHBlenderTools: Download and installation|MHBlenderTools: Download and installation ]]: How to download and install the addons for Blender
* [[ Documentation:MHBlenderTools: MakeTarget|MHBlenderTools: MakeTarget ]]: Description of the MakeTarget™ tool, to create custom morphings for MakeHuman.
* [[ Documentation:MHBlenderTools:MakeClothes|MHBlenderTools: MakeClothes ]]: Description of the MakeClothes™ tool, to create custom clothes for MakeHuman.
4e782fe7c94f49d16321f92d3b6fa36e07268f3a
732
728
2016-05-20T11:44:16Z
Joepal
14
wikitext
text/x-wiki
These are documentation fragments which have been ported. They may still miss some images
== Introduction ==
* [[Documentation:What is MakeHuman?|What is MakeHuman?]]: A quick introduction to MakeHuman.
* [[Documentation:MakeHuman™ and its Purpose|MakeHuman™ and its Purpose ]]: MakeHuman definition and vision.
* [[Documentation:Short and Long Pipeline|Short and Long Pipeline ]]: The goal of Makehuman is to see it used in 2 different professional pipelines.
* [[Documentation:Professional mesh topology|Professional mesh topology ]]: An overview of the professional topology provided by MakeHuman
* [[Documentation:Legal|Legal ]]: The various licenses that apply to MakeHuman and External tools
== General overview ==
* [[Documentation:Installing MakeHuman|Installing MakeHuman]]
* [[Documentation:Configuration and settings|Configuration and settings]]
* [[Documentation:The interface and its basic functions|The interface and its basic functions]]
* [[Documentation:The toolbar|The toolbar]]
* [[Documentation:The tabs|The tabs]]
* [[Documentation:The sliders|The sliders]]
* [[Documentation:Load, save and export|Load, save and export]]
* [[Documentation:Zoom, pan and rotate using the orbital camera|Zoom, pan and rotate using the orbital camera]]
== Working with the human ==
* [[Documentation:Gender, Random, Measure and Custom|Gender, Random, Measure and Custom]]
* [[Documentation:Hairstyles and Clothes|Hairstyles and Clothes]]
* [[Documentation:Modeling the body|Modeling the body]]
* [[Documentation:Alternative topologies|Alternative topologies]]
* [[Documentation:Skin and other materials|Skin and other materials]]
* [[Documentation:Rendering your work|Rendering your work]]
== Getting help and resources from the community ==
* [[Documentation:Asking for help|Asking for help]]
* [[Documentation:Reporting a bug|Reporting a bug]]
* [[Documentation:Finding more assets|Finding more assets]]
== Creating new assets ==
* [[Documentation:Getting and installing BlenderTools|Getting and installing BlenderTools]]
* [[Documentation:Targets|Targets]]
* [[Documentation:Clothes|Clothes]]
* [[Documentation:Texture painting a skin in blender|Texture painting a skin in blender]]
== MakeHuman for developers ==
* [[Documentation:Plugin System|Plugin System]]
* [[Documentation:OpenGL Notes|OpenGL Notes]]
* [[Documentation:Directory structure and core modules|Directory structure and core modules]]
* [[Documentation:File formats and extensions|File formats and extensions]]
* [[Documentation:Libraries and build procedures|Libraries and build procedures]]
* [[Documentation:Development infrastructure|Development infrastructure]]
* [[Documentation:Application design and Code overview|Application design and Code overview]]
* [[Documentation:Getting started with MakeHuman code|Getting started with MakeHuman code]]
* [[Technical notes on MakeHuman]]
== Other / unsorted ==
* [[Documentation:MakeWalk|MakeWalk]]
* [[Documentation:Translation|Translation]]
== Old documentation ==
The old documentation is available, but in a largely unformatted state:
[[Documentation:Big dump from drupal]]
(most of this should now have been ported to separate pages as per above)
The following have been merged in other pages, but they are left here if something got lost in the translation:
* [[ Documentation:MHBlenderTools: Download and installation|MHBlenderTools: Download and installation ]]: How to download and install the addons for Blender
* [[ Documentation:MHBlenderTools: MakeTarget|MHBlenderTools: MakeTarget ]]: Description of the MakeTarget™ tool, to create custom morphings for MakeHuman.
* [[ Documentation:MHBlenderTools:MakeClothes|MHBlenderTools: MakeClothes ]]: Description of the MakeClothes™ tool, to create custom clothes for MakeHuman.
573acdbe11d7a018023534fbdc39e1274b9e02b8
728
727
2016-05-20T11:39:00Z
Joepal
14
wikitext
text/x-wiki
These are documentation fragments which have been ported. They may still miss some images
== Introduction ==
* [[Documentation:What is MakeHuman?|What is MakeHuman?]]: A quick introduction to MakeHuman.
* [[Documentation:MakeHuman™ and its Purpose|MakeHuman™ and its Purpose ]]: MakeHuman definition and vision.
* [[Documentation:Short and Long Pipeline|Short and Long Pipeline ]]: The goal of Makehuman is to see it used in 2 different professional pipelines.
* [[Documentation:Professional mesh topology|Professional mesh topology ]]: An overview of the professional topology provided by MakeHuman
* [[Documentation:Legal|Legal ]]: The various licenses that apply to MakeHuman and External tools
== General overview ==
* [[Documentation:Installing MakeHuman|Installing MakeHuman]]
* [[Documentation:Configuration and settings|Configuration and settings]]
* [[Documentation:The interface and its basic functions|The interface and its basic functions]]
* [[Documentation:The toolbar|The toolbar]]
* [[Documentation:The tabs|The tabs]]
* [[Documentation:The sliders|The sliders]]
* [[Documentation:Load, save and export|Load, save and export]]
* [[Documentation:Zoom, pan and rotate using the orbital camera|Zoom, pan and rotate using the orbital camera]]
== Working with the human ==
* [[Documentation:Gender, Random, Measure and Custom|Gender, Random, Measure and Custom]]
* [[Documentation:Hairstyles and Clothes|Hairstyles and Clothes]]
* [[Documentation:Modeling the body|Modeling the body]]
* [[Documentation:Alternative topologies|Alternative topologies]]
* [[Documentation:Skin and other materials|Skin and other materials]]
* [[Documentation:Rendering your work|Rendering your work]]
== Getting help and resources from the community ==
* [[Documentation:Asking for help|Asking for help]]
* [[Documentation:Reporting a bug|Reporting a bug]]
* [[Documentation:Finding more assets|Finding more assets]]
== Creating new assets ==
* [[Documentation:Getting and installing BlenderTools|Getting and installing BlenderTools]]
* [[Documentation:Targets|Targets]]
* [[Documentation:Clothes|Clothes]]
== MakeHuman for developers ==
* [[Documentation:Plugin System|Plugin System]]
* [[Documentation:OpenGL Notes|OpenGL Notes]]
* [[Documentation:Directory structure and core modules|Directory structure and core modules]]
* [[Documentation:File formats and extensions|File formats and extensions]]
* [[Documentation:Libraries and build procedures|Libraries and build procedures]]
* [[Documentation:Development infrastructure|Development infrastructure]]
* [[Documentation:Application design and Code overview|Application design and Code overview]]
* [[Documentation:Getting started with MakeHuman code|Getting started with MakeHuman code]]
* [[Technical notes on MakeHuman]]
== Tutorials ==
* [[Documentation:Texture painting a skin in blender|Texture painting a skin in blender]]
== Other / unsorted ==
* [[Documentation:MakeWalk|MakeWalk]]
* [[Documentation:Translation|Translation]]
== Old documentation ==
The old documentation is available, but in a largely unformatted state:
[[Documentation:Big dump from drupal]]
(most of this should now have been ported to separate pages as per above)
== Blender tools ==
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Documentation:MHBlenderTools: Download and installation|MHBlenderTools: Download and installation ]]: How to download and install the addons for Blender
* [[ Documentation:MHBlenderTools: MakeTarget|MHBlenderTools: MakeTarget ]]: Description of the MakeTarget™ tool, to create custom morphings for MakeHuman.
* [[ Documentation:MHBlenderTools:MakeClothes|MHBlenderTools: MakeClothes ]]: Description of the MakeClothes™ tool, to create custom clothes for MakeHuman.
|}
4f9a4d1948074bbbfe239df23d81abc05fa5660e
727
722
2016-05-20T11:37:26Z
Joepal
14
wikitext
text/x-wiki
These are documentation fragments which have been ported. They may still miss some images
== Introduction ==
* [[Documentation:What is MakeHuman?|What is MakeHuman?]]: A quick introduction to MakeHuman.
* [[Documentation:MakeHuman™ and its Purpose|MakeHuman™ and its Purpose ]]: MakeHuman definition and vision.
* [[Documentation:Short and Long Pipeline|Short and Long Pipeline ]]: The goal of Makehuman is to see it used in 2 different professional pipelines.
* [[Documentation:Professional mesh topology|Professional mesh topology ]]: An overview of the professional topology provided by MakeHuman
* [[Documentation:Legal|Legal ]]: The various licenses that apply to MakeHuman and External tools
== General overview ==
* [[Documentation:Installing MakeHuman|Installing MakeHuman]]
* [[Documentation:Configuration and settings|Configuration and settings]]
* [[Documentation:The interface and its basic functions|The interface and its basic functions]]
* [[Documentation:The toolbar|The toolbar]]
* [[Documentation:The tabs|The tabs]]
* [[Documentation:The sliders|The sliders]]
* [[Documentation:Load, save and export|Load, save and export]]
* [[Documentation:Zoom, pan and rotate using the orbital camera|Zoom, pan and rotate using the orbital camera]]
== Working with the human ==
* [[Documentation:Gender, Random, Measure and Custom|Gender, Random, Measure and Custom]]
* [[Documentation:Hairstyles and Clothes|Hairstyles and Clothes]]
* [[Documentation:Modeling the body|Modeling the body]]
* [[Documentation:Alternative topologies|Alternative topologies]]
* [[Documentation:Skin and other materials|Skin and other materials]]
* [[Documentation:Rendering your work|Rendering your work]]
== Getting help and resources from the community ==
* [[Documentation:Asking for help|Asking for help]]
* [[Documentation:Reporting a bug|Reporting a bug]]
* [[Documentation:Finding more assets|Finding more assets]]
== Creating new assets ==
* [[Documentation:Getting and installing BlenderTools|Getting and installing BlenderTools]]
* [[Documentation:Targets|Targets]]
* [[Documentation:Clothes|Clothes]]
== MakeHuman for developers ==
* [[Documentation:Plugin System|Plugin System]]
* [[Documentation:OpenGL Notes|OpenGL Notes]]
* [[Documentation:Directory structure and core modules|Directory structure and core modules]]
* [[Documentation:File formats and extensions|File formats and extensions]]
* [[Documentation:Libraries and build procedures|Libraries and build procedures]]
* [[Documentation:Development infrastructure|Development infrastructure]]
* [[Documentation:Application design and Code overview|Application design and Code overview]]
* [[Documentation:Getting started with MakeHuman code|Getting started with MakeHuman code]]
== Tutorials ==
* [[Documentation:Texture painting a skin in blender|Texture painting a skin in blender]]
== Other / unsorted ==
* [[Documentation:MakeWalk|MakeWalk]]
* [[Documentation:Translation|Translation]]
== Old documentation ==
The old documentation is available, but in a largely unformatted state:
[[Documentation:Big dump from drupal]]
(most of this should now have been ported to separate pages as per above)
== Blender tools ==
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Documentation:MHBlenderTools: Download and installation|MHBlenderTools: Download and installation ]]: How to download and install the addons for Blender
* [[ Documentation:MHBlenderTools: MakeTarget|MHBlenderTools: MakeTarget ]]: Description of the MakeTarget™ tool, to create custom morphings for MakeHuman.
* [[ Documentation:MHBlenderTools:MakeClothes|MHBlenderTools: MakeClothes ]]: Description of the MakeClothes™ tool, to create custom clothes for MakeHuman.
|}
== Documentation for developers ==
[[Technical notes on MakeHuman]]
== Tutorials ==
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6EEE6; padding:.5em;"|
* [[Documentation:Texture painting a skin in blender|Tutorial: Texture painting a skin in blender]]
|}
== Unported stuff from Drupal ==
This is stuff which haven't been ported yet.
[[Documentation:Big dump from drupal]]
==== General overview ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Install MakeHuman™|Install MakeHuman™ ]]: <br />How to install MH on Windows, Osx and Linux.
* [[ Documentation:The Interface and basic functions.|The Interface and basic functions. ]]: <br />The MakeHuman GUI: Load, save, undo and redo, reset, view, symmetry, help.
* [[ Documentation:Zoom, pan and rotate using the orbital camera|Zoom, pan and rotate using the orbital camera ]]: <br />Navigating the scene using the orbital camera.
* [[ Documentation:Load Save and Export|Load Save and Export ]]: <br />Describe file actions for MakeHuman
|}
==== Define Human Characteristics ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Parametric Modelling|Parametric Modelling ]]: <br />A quick introduction to the parametric modelling and sliders usage.
* [[ Documentation:Using MakeHuman Hairstyles and Clothes|Using MakeHuman Hairstyles and Clothes ]]: <br />Hair in the MakeHuman Geometries group
* [[ Documentation:Skin and other materials|Skin and other materials ]]: <br />How to change skin and materials for hair and clothes.
* [[ Documentation:Gender, Random, Measure and Custom|Gender, Random, Measure and Custom ]]: <br />Special modifiers.
* [[ Documentation:Makehuman alternative topologies|Makehuman alternative topologies ]]: <br />MakeHuman provides a smart alternative topologies library
|}
==== Rendering Your Work ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Quick rendering and advanced rendering|Quick rendering and advanced rendering ]]: <br />This section explains how render the character in MakeHuman
* [[ Documentation:Scene and Viewer|Scene and Viewer ]]: <br />How to set lights and how to see and save the rendering
|}
==== Settings ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:General|General ]]: <br />How to set the general preferences
* [[ Documentation:Background|Background ]]: <br />How to use backgrounds for reference.
* [[ Documentation:Mouse|Mouse ]]: <br />Explanation of mouse settings
* [[ Documentation:Shortcuts|Shortcuts ]]: <br />Configuration of shortcuts in Makehuman
* [[ Documentation:Plugins|Plugins ]]: <br />Management of Makehuman plugins
|}
==== Tools and contributing methods ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:MHBlenderTools:MakeWalk|MHBlenderTools: MakeWalk ]]:<br />MakeWalk™ is a Blender add-on for retargeting mocap data (.bvh files) to a given armature.
** [[ Documentation:MHBlenderTools:MakeWalk GUI|MHBlenderTools: MakeWalk GUI ]]:<br />An introduction to MakeWalk™ and its user interface.
** [[ Documentation:MHBlenderTools:MakeWalk Armatures|MHBlenderTools: MakeWalk Armatures ]]:<br />An introduction to MakeWalk™ and the use of armatures. Explaining the meaning and use of source and target armature.
** [[ Documentation:MHBlenderTools:MakeWalk Utilities|MHBlenderTools: MakeWalk Utilities ]]:<br />An introduction to the MakeWalk™ utilities panel: save and restore the defaults, manage actions, t-pose, etc.
** [[ Documentation:MHBlenderTools:MakeWalk Retarget|MHBlenderTools: MakeWalk Retarget ]]:<br />An introduction to MakeWalk™ target rigging. This document will describe common errors and corrective actions.
* [[ Documentation:MHBlenderTools:MHX importer basic usage.|MHBlenderTools: MHX importer basic usage. ]]:<br />MHX (MakeHuman eXchange format) is a custom format used to transfer a rigged character from MakeHuman to Blender.
* [[ Documentation:MHBlenderTools:MHX default rigging|MHBlenderTools: MHX default rigging ]]:<br />If pose/animate > skeleton is set to 'None' when the character is exported from MakeHuman in .mhx format, the character is equipped with the default MHX armature. This is a rather complex rig with quite a few features.
* [[ Documentation:MHBlenderTools:MHX other rigging systems|MHBlenderTools: MHX other rigging systems ]]:<br />The character can be rigged with alternatives and ligher armature or the rigify one (The rigging system for Blender developed by Nathan Vegdahl).
* [[ Documentation:MHBlenderTools:MHX Layers and masks|MHBlenderTools: MHX Layers and masks ]]:<br />The mhx importer creates objects on the first four layers.
* [[ Documentation:MakeTarget standalone|MakeTarget standalone ]]:<br />Converting files produced with the most common modelling software, without Blender.
* [[ Documentation:GUI languages and translations.|GUI languages and translations. ]]:<br />MakeHuman support a variety of languages. It's very easy to add translations.
|}
==== Reporting a Bug ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Using the Makehuman bug tracker|Using the Makehuman bug tracker ]]: <br />Introduction to the new Makehuman bug tracker
* [[ Documentation:Using the Makehuman log files for error reporting|Using the Makehuman log files for error reporting ]]: <br />How to report bugs using the log files.
|}
==== Developers' note ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Getting started|Getting started ]]: <br />The best way to start your experiments with MakeHuman code is to clone our official repository and start to modify it.
* [[ Documentation:Development infrastructure|Development infrastructure ]]: <br />A description of the MakeHuman development infrastructure.
* [[ Documentation:OpenGL Notes|OpenGL Notes ]]: <br />Most of the 3D mesh handling functionality is delivered using OpenGL embedded within the C application code.
* [[ Documentation:Development organization|Development organization ]]: <br />The organization of distributed development.
* [[ Documentation:Libraries and build procedures|Libraries and build procedures ]]: <br />Describes the details of creating installable packages on major platforms
* [[ Documentation:Directory structure and core modules|Directory structure and core modules ]]: <br />Summary of the MH API reference.
* [[ Documentation:File formats and extensions|File formats and extensions ]]: <br />Describes the formats used internally for data and object storage. [CRUDE NOTES]
* [[ Documentation:Makehuman Plugin System|Makehuman Plugin System ]]: <br />How to make a new plugin and use it in MakeHuman
|}
==== Packager's notes ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Packaging RPM's for Suse/Fedora using Open Build Service (OBS)|Packaging RPM's for Suse/Fedora using Open Build Service (OBS) ]]: <br />Packaging procedure and setup.
|}
=== Tutorials ===
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:MakeClothes:Making a simple dress|MakeClothes: Making a simple dress ]]: <br />The basic MakeClothes workflow.
* [[ Documentation:MakeClothes:Controlling the result with vertex groups|MakeClothes: Controlling the result with vertex groups ]]: <br />The output of the clothes-making process depends on how vertex groups are assigned.
* [[ Documentation:MakeTarget:Creating a Custom Target with MakeTarget Standalone|Creating a Custom Target with MakeTarget Standalone ]]: <br />A practical example of custom target
* [[ Documentation:MakeWalk:The making of Running feet|MakeWalk: The making of Running feet ]]: <br />MakeWalk tutorial, focusing on the Edit Action panel.
* [[ Documentation:MakeWalk:Running feet scene 1|MakeWalk: Running feet scene 1 ]]: <br />Making an extended run on a plane.
* [[ Documentation:MakeWalk:Running feet scene 2|MakeWalk: Running feet scene 2 ]]: <br />High heels and slopes.
* [[ Documentation:MakeWalk:Running feet scene 3|MakeWalk: Running feet scene 3 ]]: <br />The race.
* [[ Documentation:MakeWalk:Running feet scene 4|MakeWalk: Running feet scene 4 ]]: <br />Rough terrain.
* [[ Documentation:MakeWalk:Automatic animation |MakeWalk: Automatic animation ]]: <br />Tutorial on using the editing tools in MakeWalk.
|}
__NOTOC__
<!--
Author Notes:
== Instructions ==
Please put all documentation nodes in namespace "Documentation", like <nowiki>[[Documentation:Introduction to the interface|Introduction to the interface]]</nowiki> (which would resolve as [[Documentation:Introduction to the interface|Introduction to the interface]])
-->
f7cc1d2006d2e6bb5a97c4bbfd4afff47c813356
722
716
2016-05-20T11:32:01Z
Joepal
14
/* MakeHuman for developers */
wikitext
text/x-wiki
These are documentation fragments which have been ported. They may still miss some images
== Introduction ==
* [[Documentation:What is MakeHuman?|What is MakeHuman?]]: A quick introduction to MakeHuman.
* [[Documentation:MakeHuman™ and its Purpose|MakeHuman™ and its Purpose ]]: MakeHuman definition and vision.
* [[Documentation:Short and Long Pipeline|Short and Long Pipeline ]]: The goal of Makehuman is to see it used in 2 different professional pipelines.
* [[Documentation:Professional mesh topology|Professional mesh topology ]]: An overview of the professional topology provided by MakeHuman
* [[Documentation:Legal|Legal ]]: The various licenses that apply to MakeHuman and External tools
== General overview ==
* [[Documentation:Installing MakeHuman|Installing MakeHuman]]
* [[Documentation:Configuration and settings|Configuration and settings]]
* [[Documentation:The interface and its basic functions|The interface and its basic functions]]
* [[Documentation:The toolbar|The toolbar]]
* [[Documentation:The tabs|The tabs]]
* [[Documentation:The sliders|The sliders]]
* [[Documentation:Load, save and export|Load, save and export]]
* [[Documentation:Zoom, pan and rotate using the orbital camera|Zoom, pan and rotate using the orbital camera]]
== Working with the human ==
* [[Documentation:Gender, Random, Measure and Custom|Gender, Random, Measure and Custom]]
* [[Documentation:Hairstyles and Clothes|Hairstyles and Clothes]]
* [[Documentation:Modeling the body|Modeling the body]]
* [[Documentation:Alternative topologies|Alternative topologies]]
* [[Documentation:Skin and other materials|Skin and other materials]]
* [[Documentation:Rendering your work|Rendering your work]]
== Getting help and resources from the community ==
* [[Documentation:Asking for help|Asking for help]]
* [[Documentation:Reporting a bug|Reporting a bug]]
* [[Documentation:Finding more assets|Finding more assets]]
== Creating new assets ==
* [[Documentation:Getting and installing BlenderTools|Getting and installing BlenderTools]]
* [[Documentation:Targets|Targets]]
* [[Documentation:Clothes|Clothes]]
== MakeHuman for developers ==
* [[Documentation:Plugin System|Plugin System]]
* [[Documentation:OpenGL Notes|OpenGL Notes]]
* [[Documentation:Directory structure and core modules|Directory structure and core modules]]
* [[Documentation:File formats and extensions|File formats and extensions]]
* [[Documentation:Libraries and build procedures|Libraries and build procedures]]
* [[Documentation:Development infrastructure|Development infrastructure]]
* [[Documentation:Application design and Code overview|Application design and Code overview]]
* [[Documentation:Getting started with MakeHuman code|Getting started with MakeHuman code]]
== Other / unsorted ==
* [[Documentation:MakeWalk|MakeWalk]]
* [[Documentation:Translation|Translation]]
== Old documentation ==
The old documentation is available, but in a largely unformatted state:
[[Documentation:Big dump from drupal]]
== General overview ==
None
== Defining human characteristics ==
None
== Rendering your work ==
None
== Settings ==
None
== Blender tools ==
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Documentation:MHBlenderTools: Download and installation|MHBlenderTools: Download and installation ]]: How to download and install the addons for Blender
* [[ Documentation:MHBlenderTools: MakeTarget|MHBlenderTools: MakeTarget ]]: Description of the MakeTarget™ tool, to create custom morphings for MakeHuman.
* [[ Documentation:MHBlenderTools:MakeClothes|MHBlenderTools: MakeClothes ]]: Description of the MakeClothes™ tool, to create custom clothes for MakeHuman.
|}
== Documentation for developers ==
[[Technical notes on MakeHuman]]
== Tutorials ==
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6EEE6; padding:.5em;"|
* [[Documentation:Texture painting a skin in blender|Tutorial: Texture painting a skin in blender]]
|}
== Unported stuff from Drupal ==
This is stuff which haven't been ported yet.
[[Documentation:Big dump from drupal]]
==== General overview ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Install MakeHuman™|Install MakeHuman™ ]]: <br />How to install MH on Windows, Osx and Linux.
* [[ Documentation:The Interface and basic functions.|The Interface and basic functions. ]]: <br />The MakeHuman GUI: Load, save, undo and redo, reset, view, symmetry, help.
* [[ Documentation:Zoom, pan and rotate using the orbital camera|Zoom, pan and rotate using the orbital camera ]]: <br />Navigating the scene using the orbital camera.
* [[ Documentation:Load Save and Export|Load Save and Export ]]: <br />Describe file actions for MakeHuman
|}
==== Define Human Characteristics ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Parametric Modelling|Parametric Modelling ]]: <br />A quick introduction to the parametric modelling and sliders usage.
* [[ Documentation:Using MakeHuman Hairstyles and Clothes|Using MakeHuman Hairstyles and Clothes ]]: <br />Hair in the MakeHuman Geometries group
* [[ Documentation:Skin and other materials|Skin and other materials ]]: <br />How to change skin and materials for hair and clothes.
* [[ Documentation:Gender, Random, Measure and Custom|Gender, Random, Measure and Custom ]]: <br />Special modifiers.
* [[ Documentation:Makehuman alternative topologies|Makehuman alternative topologies ]]: <br />MakeHuman provides a smart alternative topologies library
|}
==== Rendering Your Work ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Quick rendering and advanced rendering|Quick rendering and advanced rendering ]]: <br />This section explains how render the character in MakeHuman
* [[ Documentation:Scene and Viewer|Scene and Viewer ]]: <br />How to set lights and how to see and save the rendering
|}
==== Settings ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:General|General ]]: <br />How to set the general preferences
* [[ Documentation:Background|Background ]]: <br />How to use backgrounds for reference.
* [[ Documentation:Mouse|Mouse ]]: <br />Explanation of mouse settings
* [[ Documentation:Shortcuts|Shortcuts ]]: <br />Configuration of shortcuts in Makehuman
* [[ Documentation:Plugins|Plugins ]]: <br />Management of Makehuman plugins
|}
==== Tools and contributing methods ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:MHBlenderTools:MakeWalk|MHBlenderTools: MakeWalk ]]:<br />MakeWalk™ is a Blender add-on for retargeting mocap data (.bvh files) to a given armature.
** [[ Documentation:MHBlenderTools:MakeWalk GUI|MHBlenderTools: MakeWalk GUI ]]:<br />An introduction to MakeWalk™ and its user interface.
** [[ Documentation:MHBlenderTools:MakeWalk Armatures|MHBlenderTools: MakeWalk Armatures ]]:<br />An introduction to MakeWalk™ and the use of armatures. Explaining the meaning and use of source and target armature.
** [[ Documentation:MHBlenderTools:MakeWalk Utilities|MHBlenderTools: MakeWalk Utilities ]]:<br />An introduction to the MakeWalk™ utilities panel: save and restore the defaults, manage actions, t-pose, etc.
** [[ Documentation:MHBlenderTools:MakeWalk Retarget|MHBlenderTools: MakeWalk Retarget ]]:<br />An introduction to MakeWalk™ target rigging. This document will describe common errors and corrective actions.
* [[ Documentation:MHBlenderTools:MHX importer basic usage.|MHBlenderTools: MHX importer basic usage. ]]:<br />MHX (MakeHuman eXchange format) is a custom format used to transfer a rigged character from MakeHuman to Blender.
* [[ Documentation:MHBlenderTools:MHX default rigging|MHBlenderTools: MHX default rigging ]]:<br />If pose/animate > skeleton is set to 'None' when the character is exported from MakeHuman in .mhx format, the character is equipped with the default MHX armature. This is a rather complex rig with quite a few features.
* [[ Documentation:MHBlenderTools:MHX other rigging systems|MHBlenderTools: MHX other rigging systems ]]:<br />The character can be rigged with alternatives and ligher armature or the rigify one (The rigging system for Blender developed by Nathan Vegdahl).
* [[ Documentation:MHBlenderTools:MHX Layers and masks|MHBlenderTools: MHX Layers and masks ]]:<br />The mhx importer creates objects on the first four layers.
* [[ Documentation:MakeTarget standalone|MakeTarget standalone ]]:<br />Converting files produced with the most common modelling software, without Blender.
* [[ Documentation:GUI languages and translations.|GUI languages and translations. ]]:<br />MakeHuman support a variety of languages. It's very easy to add translations.
|}
==== Reporting a Bug ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Using the Makehuman bug tracker|Using the Makehuman bug tracker ]]: <br />Introduction to the new Makehuman bug tracker
* [[ Documentation:Using the Makehuman log files for error reporting|Using the Makehuman log files for error reporting ]]: <br />How to report bugs using the log files.
|}
==== Developers' note ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Getting started|Getting started ]]: <br />The best way to start your experiments with MakeHuman code is to clone our official repository and start to modify it.
* [[ Documentation:Development infrastructure|Development infrastructure ]]: <br />A description of the MakeHuman development infrastructure.
* [[ Documentation:OpenGL Notes|OpenGL Notes ]]: <br />Most of the 3D mesh handling functionality is delivered using OpenGL embedded within the C application code.
* [[ Documentation:Development organization|Development organization ]]: <br />The organization of distributed development.
* [[ Documentation:Libraries and build procedures|Libraries and build procedures ]]: <br />Describes the details of creating installable packages on major platforms
* [[ Documentation:Directory structure and core modules|Directory structure and core modules ]]: <br />Summary of the MH API reference.
* [[ Documentation:File formats and extensions|File formats and extensions ]]: <br />Describes the formats used internally for data and object storage. [CRUDE NOTES]
* [[ Documentation:Makehuman Plugin System|Makehuman Plugin System ]]: <br />How to make a new plugin and use it in MakeHuman
|}
==== Packager's notes ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Packaging RPM's for Suse/Fedora using Open Build Service (OBS)|Packaging RPM's for Suse/Fedora using Open Build Service (OBS) ]]: <br />Packaging procedure and setup.
|}
=== Tutorials ===
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:MakeClothes:Making a simple dress|MakeClothes: Making a simple dress ]]: <br />The basic MakeClothes workflow.
* [[ Documentation:MakeClothes:Controlling the result with vertex groups|MakeClothes: Controlling the result with vertex groups ]]: <br />The output of the clothes-making process depends on how vertex groups are assigned.
* [[ Documentation:MakeTarget:Creating a Custom Target with MakeTarget Standalone|Creating a Custom Target with MakeTarget Standalone ]]: <br />A practical example of custom target
* [[ Documentation:MakeWalk:The making of Running feet|MakeWalk: The making of Running feet ]]: <br />MakeWalk tutorial, focusing on the Edit Action panel.
* [[ Documentation:MakeWalk:Running feet scene 1|MakeWalk: Running feet scene 1 ]]: <br />Making an extended run on a plane.
* [[ Documentation:MakeWalk:Running feet scene 2|MakeWalk: Running feet scene 2 ]]: <br />High heels and slopes.
* [[ Documentation:MakeWalk:Running feet scene 3|MakeWalk: Running feet scene 3 ]]: <br />The race.
* [[ Documentation:MakeWalk:Running feet scene 4|MakeWalk: Running feet scene 4 ]]: <br />Rough terrain.
* [[ Documentation:MakeWalk:Automatic animation |MakeWalk: Automatic animation ]]: <br />Tutorial on using the editing tools in MakeWalk.
|}
__NOTOC__
<!--
Author Notes:
== Instructions ==
Please put all documentation nodes in namespace "Documentation", like <nowiki>[[Documentation:Introduction to the interface|Introduction to the interface]]</nowiki> (which would resolve as [[Documentation:Introduction to the interface|Introduction to the interface]])
-->
6901af9dd916052d400e635d5f3fe1fc1fce7627
716
715
2016-05-20T11:27:14Z
Joepal
14
/* MakeHuman for developers */
wikitext
text/x-wiki
These are documentation fragments which have been ported. They may still miss some images
== Introduction ==
* [[Documentation:What is MakeHuman?|What is MakeHuman?]]: A quick introduction to MakeHuman.
* [[Documentation:MakeHuman™ and its Purpose|MakeHuman™ and its Purpose ]]: MakeHuman definition and vision.
* [[Documentation:Short and Long Pipeline|Short and Long Pipeline ]]: The goal of Makehuman is to see it used in 2 different professional pipelines.
* [[Documentation:Professional mesh topology|Professional mesh topology ]]: An overview of the professional topology provided by MakeHuman
* [[Documentation:Legal|Legal ]]: The various licenses that apply to MakeHuman and External tools
== General overview ==
* [[Documentation:Installing MakeHuman|Installing MakeHuman]]
* [[Documentation:Configuration and settings|Configuration and settings]]
* [[Documentation:The interface and its basic functions|The interface and its basic functions]]
* [[Documentation:The toolbar|The toolbar]]
* [[Documentation:The tabs|The tabs]]
* [[Documentation:The sliders|The sliders]]
* [[Documentation:Load, save and export|Load, save and export]]
* [[Documentation:Zoom, pan and rotate using the orbital camera|Zoom, pan and rotate using the orbital camera]]
== Working with the human ==
* [[Documentation:Gender, Random, Measure and Custom|Gender, Random, Measure and Custom]]
* [[Documentation:Hairstyles and Clothes|Hairstyles and Clothes]]
* [[Documentation:Modeling the body|Modeling the body]]
* [[Documentation:Alternative topologies|Alternative topologies]]
* [[Documentation:Skin and other materials|Skin and other materials]]
* [[Documentation:Rendering your work|Rendering your work]]
== Getting help and resources from the community ==
* [[Documentation:Asking for help|Asking for help]]
* [[Documentation:Reporting a bug|Reporting a bug]]
* [[Documentation:Finding more assets|Finding more assets]]
== Creating new assets ==
* [[Documentation:Getting and installing BlenderTools|Getting and installing BlenderTools]]
* [[Documentation:Targets|Targets]]
* [[Documentation:Clothes|Clothes]]
== MakeHuman for developers ==
* [[Documentation:Plugin System|Plugin System]]
* [[Documentation:OpenGL Notes|OpenGL Notes]]
* [[Documentation:Directory structure and core modules|Directory structure and core modules]]
* [[Documentation:File formats and extensions|File formats and extensions]]
* [[Documentation:Libraries and build procedures|Libraries and build procedures]]
* [[Documentation:Development infrastructure|Development infrastructure]]
* [[Documentation:Application design and Code overview|Application design and Code overview]]
== Other / unsorted ==
* [[Documentation:MakeWalk|MakeWalk]]
* [[Documentation:Translation|Translation]]
== Old documentation ==
The old documentation is available, but in a largely unformatted state:
[[Documentation:Big dump from drupal]]
== General overview ==
None
== Defining human characteristics ==
None
== Rendering your work ==
None
== Settings ==
None
== Blender tools ==
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Documentation:MHBlenderTools: Download and installation|MHBlenderTools: Download and installation ]]: How to download and install the addons for Blender
* [[ Documentation:MHBlenderTools: MakeTarget|MHBlenderTools: MakeTarget ]]: Description of the MakeTarget™ tool, to create custom morphings for MakeHuman.
* [[ Documentation:MHBlenderTools:MakeClothes|MHBlenderTools: MakeClothes ]]: Description of the MakeClothes™ tool, to create custom clothes for MakeHuman.
|}
== Documentation for developers ==
[[Technical notes on MakeHuman]]
== Tutorials ==
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6EEE6; padding:.5em;"|
* [[Documentation:Texture painting a skin in blender|Tutorial: Texture painting a skin in blender]]
|}
== Unported stuff from Drupal ==
This is stuff which haven't been ported yet.
[[Documentation:Big dump from drupal]]
==== General overview ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Install MakeHuman™|Install MakeHuman™ ]]: <br />How to install MH on Windows, Osx and Linux.
* [[ Documentation:The Interface and basic functions.|The Interface and basic functions. ]]: <br />The MakeHuman GUI: Load, save, undo and redo, reset, view, symmetry, help.
* [[ Documentation:Zoom, pan and rotate using the orbital camera|Zoom, pan and rotate using the orbital camera ]]: <br />Navigating the scene using the orbital camera.
* [[ Documentation:Load Save and Export|Load Save and Export ]]: <br />Describe file actions for MakeHuman
|}
==== Define Human Characteristics ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Parametric Modelling|Parametric Modelling ]]: <br />A quick introduction to the parametric modelling and sliders usage.
* [[ Documentation:Using MakeHuman Hairstyles and Clothes|Using MakeHuman Hairstyles and Clothes ]]: <br />Hair in the MakeHuman Geometries group
* [[ Documentation:Skin and other materials|Skin and other materials ]]: <br />How to change skin and materials for hair and clothes.
* [[ Documentation:Gender, Random, Measure and Custom|Gender, Random, Measure and Custom ]]: <br />Special modifiers.
* [[ Documentation:Makehuman alternative topologies|Makehuman alternative topologies ]]: <br />MakeHuman provides a smart alternative topologies library
|}
==== Rendering Your Work ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Quick rendering and advanced rendering|Quick rendering and advanced rendering ]]: <br />This section explains how render the character in MakeHuman
* [[ Documentation:Scene and Viewer|Scene and Viewer ]]: <br />How to set lights and how to see and save the rendering
|}
==== Settings ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:General|General ]]: <br />How to set the general preferences
* [[ Documentation:Background|Background ]]: <br />How to use backgrounds for reference.
* [[ Documentation:Mouse|Mouse ]]: <br />Explanation of mouse settings
* [[ Documentation:Shortcuts|Shortcuts ]]: <br />Configuration of shortcuts in Makehuman
* [[ Documentation:Plugins|Plugins ]]: <br />Management of Makehuman plugins
|}
==== Tools and contributing methods ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:MHBlenderTools:MakeWalk|MHBlenderTools: MakeWalk ]]:<br />MakeWalk™ is a Blender add-on for retargeting mocap data (.bvh files) to a given armature.
** [[ Documentation:MHBlenderTools:MakeWalk GUI|MHBlenderTools: MakeWalk GUI ]]:<br />An introduction to MakeWalk™ and its user interface.
** [[ Documentation:MHBlenderTools:MakeWalk Armatures|MHBlenderTools: MakeWalk Armatures ]]:<br />An introduction to MakeWalk™ and the use of armatures. Explaining the meaning and use of source and target armature.
** [[ Documentation:MHBlenderTools:MakeWalk Utilities|MHBlenderTools: MakeWalk Utilities ]]:<br />An introduction to the MakeWalk™ utilities panel: save and restore the defaults, manage actions, t-pose, etc.
** [[ Documentation:MHBlenderTools:MakeWalk Retarget|MHBlenderTools: MakeWalk Retarget ]]:<br />An introduction to MakeWalk™ target rigging. This document will describe common errors and corrective actions.
* [[ Documentation:MHBlenderTools:MHX importer basic usage.|MHBlenderTools: MHX importer basic usage. ]]:<br />MHX (MakeHuman eXchange format) is a custom format used to transfer a rigged character from MakeHuman to Blender.
* [[ Documentation:MHBlenderTools:MHX default rigging|MHBlenderTools: MHX default rigging ]]:<br />If pose/animate > skeleton is set to 'None' when the character is exported from MakeHuman in .mhx format, the character is equipped with the default MHX armature. This is a rather complex rig with quite a few features.
* [[ Documentation:MHBlenderTools:MHX other rigging systems|MHBlenderTools: MHX other rigging systems ]]:<br />The character can be rigged with alternatives and ligher armature or the rigify one (The rigging system for Blender developed by Nathan Vegdahl).
* [[ Documentation:MHBlenderTools:MHX Layers and masks|MHBlenderTools: MHX Layers and masks ]]:<br />The mhx importer creates objects on the first four layers.
* [[ Documentation:MakeTarget standalone|MakeTarget standalone ]]:<br />Converting files produced with the most common modelling software, without Blender.
* [[ Documentation:GUI languages and translations.|GUI languages and translations. ]]:<br />MakeHuman support a variety of languages. It's very easy to add translations.
|}
==== Reporting a Bug ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Using the Makehuman bug tracker|Using the Makehuman bug tracker ]]: <br />Introduction to the new Makehuman bug tracker
* [[ Documentation:Using the Makehuman log files for error reporting|Using the Makehuman log files for error reporting ]]: <br />How to report bugs using the log files.
|}
==== Developers' note ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Getting started|Getting started ]]: <br />The best way to start your experiments with MakeHuman code is to clone our official repository and start to modify it.
* [[ Documentation:Development infrastructure|Development infrastructure ]]: <br />A description of the MakeHuman development infrastructure.
* [[ Documentation:OpenGL Notes|OpenGL Notes ]]: <br />Most of the 3D mesh handling functionality is delivered using OpenGL embedded within the C application code.
* [[ Documentation:Development organization|Development organization ]]: <br />The organization of distributed development.
* [[ Documentation:Libraries and build procedures|Libraries and build procedures ]]: <br />Describes the details of creating installable packages on major platforms
* [[ Documentation:Directory structure and core modules|Directory structure and core modules ]]: <br />Summary of the MH API reference.
* [[ Documentation:File formats and extensions|File formats and extensions ]]: <br />Describes the formats used internally for data and object storage. [CRUDE NOTES]
* [[ Documentation:Makehuman Plugin System|Makehuman Plugin System ]]: <br />How to make a new plugin and use it in MakeHuman
|}
==== Packager's notes ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Packaging RPM's for Suse/Fedora using Open Build Service (OBS)|Packaging RPM's for Suse/Fedora using Open Build Service (OBS) ]]: <br />Packaging procedure and setup.
|}
=== Tutorials ===
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:MakeClothes:Making a simple dress|MakeClothes: Making a simple dress ]]: <br />The basic MakeClothes workflow.
* [[ Documentation:MakeClothes:Controlling the result with vertex groups|MakeClothes: Controlling the result with vertex groups ]]: <br />The output of the clothes-making process depends on how vertex groups are assigned.
* [[ Documentation:MakeTarget:Creating a Custom Target with MakeTarget Standalone|Creating a Custom Target with MakeTarget Standalone ]]: <br />A practical example of custom target
* [[ Documentation:MakeWalk:The making of Running feet|MakeWalk: The making of Running feet ]]: <br />MakeWalk tutorial, focusing on the Edit Action panel.
* [[ Documentation:MakeWalk:Running feet scene 1|MakeWalk: Running feet scene 1 ]]: <br />Making an extended run on a plane.
* [[ Documentation:MakeWalk:Running feet scene 2|MakeWalk: Running feet scene 2 ]]: <br />High heels and slopes.
* [[ Documentation:MakeWalk:Running feet scene 3|MakeWalk: Running feet scene 3 ]]: <br />The race.
* [[ Documentation:MakeWalk:Running feet scene 4|MakeWalk: Running feet scene 4 ]]: <br />Rough terrain.
* [[ Documentation:MakeWalk:Automatic animation |MakeWalk: Automatic animation ]]: <br />Tutorial on using the editing tools in MakeWalk.
|}
__NOTOC__
<!--
Author Notes:
== Instructions ==
Please put all documentation nodes in namespace "Documentation", like <nowiki>[[Documentation:Introduction to the interface|Introduction to the interface]]</nowiki> (which would resolve as [[Documentation:Introduction to the interface|Introduction to the interface]])
-->
cb6853dfb83d0ca5b957f346a48d12779e27b0c4
715
708
2016-05-20T11:26:51Z
Joepal
14
/* MakeHuman for developers */
wikitext
text/x-wiki
These are documentation fragments which have been ported. They may still miss some images
== Introduction ==
* [[Documentation:What is MakeHuman?|What is MakeHuman?]]: A quick introduction to MakeHuman.
* [[Documentation:MakeHuman™ and its Purpose|MakeHuman™ and its Purpose ]]: MakeHuman definition and vision.
* [[Documentation:Short and Long Pipeline|Short and Long Pipeline ]]: The goal of Makehuman is to see it used in 2 different professional pipelines.
* [[Documentation:Professional mesh topology|Professional mesh topology ]]: An overview of the professional topology provided by MakeHuman
* [[Documentation:Legal|Legal ]]: The various licenses that apply to MakeHuman and External tools
== General overview ==
* [[Documentation:Installing MakeHuman|Installing MakeHuman]]
* [[Documentation:Configuration and settings|Configuration and settings]]
* [[Documentation:The interface and its basic functions|The interface and its basic functions]]
* [[Documentation:The toolbar|The toolbar]]
* [[Documentation:The tabs|The tabs]]
* [[Documentation:The sliders|The sliders]]
* [[Documentation:Load, save and export|Load, save and export]]
* [[Documentation:Zoom, pan and rotate using the orbital camera|Zoom, pan and rotate using the orbital camera]]
== Working with the human ==
* [[Documentation:Gender, Random, Measure and Custom|Gender, Random, Measure and Custom]]
* [[Documentation:Hairstyles and Clothes|Hairstyles and Clothes]]
* [[Documentation:Modeling the body|Modeling the body]]
* [[Documentation:Alternative topologies|Alternative topologies]]
* [[Documentation:Skin and other materials|Skin and other materials]]
* [[Documentation:Rendering your work|Rendering your work]]
== Getting help and resources from the community ==
* [[Documentation:Asking for help|Asking for help]]
* [[Documentation:Reporting a bug|Reporting a bug]]
* [[Documentation:Finding more assets|Finding more assets]]
== Creating new assets ==
* [[Documentation:Getting and installing BlenderTools|Getting and installing BlenderTools]]
* [[Documentation:Targets|Targets]]
* [[Documentation:Clothes|Clothes]]
== MakeHuman for developers ==
* [[Documentation:Plugin System|Plugin System]]
* [[Documentation:OpenGL Notes|OpenGL Notes]]
* [[Documentation:Directory structure and core modules|Directory structure and core modules]]
* [[Documentation:File formats and extensions|File formats and extensions]]
* [[Documentation:Libraries and build procedures|Libraries and build procedures]]
* [[Documentation:Assets|Assets]]
* [[Documentation:Other scripts|Other scripts]]
* [[Documentation:General proceedings for making a package|General proceedings for making a package]]
* [[Documentation:Development infrastructure|Development infrastructure]]
* [[Documentation:Application design and Code overview|Application design and Code overview]]
== Other / unsorted ==
* [[Documentation:MakeWalk|MakeWalk]]
* [[Documentation:Translation|Translation]]
== Old documentation ==
The old documentation is available, but in a largely unformatted state:
[[Documentation:Big dump from drupal]]
== General overview ==
None
== Defining human characteristics ==
None
== Rendering your work ==
None
== Settings ==
None
== Blender tools ==
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Documentation:MHBlenderTools: Download and installation|MHBlenderTools: Download and installation ]]: How to download and install the addons for Blender
* [[ Documentation:MHBlenderTools: MakeTarget|MHBlenderTools: MakeTarget ]]: Description of the MakeTarget™ tool, to create custom morphings for MakeHuman.
* [[ Documentation:MHBlenderTools:MakeClothes|MHBlenderTools: MakeClothes ]]: Description of the MakeClothes™ tool, to create custom clothes for MakeHuman.
|}
== Documentation for developers ==
[[Technical notes on MakeHuman]]
== Tutorials ==
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6EEE6; padding:.5em;"|
* [[Documentation:Texture painting a skin in blender|Tutorial: Texture painting a skin in blender]]
|}
== Unported stuff from Drupal ==
This is stuff which haven't been ported yet.
[[Documentation:Big dump from drupal]]
==== General overview ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Install MakeHuman™|Install MakeHuman™ ]]: <br />How to install MH on Windows, Osx and Linux.
* [[ Documentation:The Interface and basic functions.|The Interface and basic functions. ]]: <br />The MakeHuman GUI: Load, save, undo and redo, reset, view, symmetry, help.
* [[ Documentation:Zoom, pan and rotate using the orbital camera|Zoom, pan and rotate using the orbital camera ]]: <br />Navigating the scene using the orbital camera.
* [[ Documentation:Load Save and Export|Load Save and Export ]]: <br />Describe file actions for MakeHuman
|}
==== Define Human Characteristics ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Parametric Modelling|Parametric Modelling ]]: <br />A quick introduction to the parametric modelling and sliders usage.
* [[ Documentation:Using MakeHuman Hairstyles and Clothes|Using MakeHuman Hairstyles and Clothes ]]: <br />Hair in the MakeHuman Geometries group
* [[ Documentation:Skin and other materials|Skin and other materials ]]: <br />How to change skin and materials for hair and clothes.
* [[ Documentation:Gender, Random, Measure and Custom|Gender, Random, Measure and Custom ]]: <br />Special modifiers.
* [[ Documentation:Makehuman alternative topologies|Makehuman alternative topologies ]]: <br />MakeHuman provides a smart alternative topologies library
|}
==== Rendering Your Work ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Quick rendering and advanced rendering|Quick rendering and advanced rendering ]]: <br />This section explains how render the character in MakeHuman
* [[ Documentation:Scene and Viewer|Scene and Viewer ]]: <br />How to set lights and how to see and save the rendering
|}
==== Settings ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:General|General ]]: <br />How to set the general preferences
* [[ Documentation:Background|Background ]]: <br />How to use backgrounds for reference.
* [[ Documentation:Mouse|Mouse ]]: <br />Explanation of mouse settings
* [[ Documentation:Shortcuts|Shortcuts ]]: <br />Configuration of shortcuts in Makehuman
* [[ Documentation:Plugins|Plugins ]]: <br />Management of Makehuman plugins
|}
==== Tools and contributing methods ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:MHBlenderTools:MakeWalk|MHBlenderTools: MakeWalk ]]:<br />MakeWalk™ is a Blender add-on for retargeting mocap data (.bvh files) to a given armature.
** [[ Documentation:MHBlenderTools:MakeWalk GUI|MHBlenderTools: MakeWalk GUI ]]:<br />An introduction to MakeWalk™ and its user interface.
** [[ Documentation:MHBlenderTools:MakeWalk Armatures|MHBlenderTools: MakeWalk Armatures ]]:<br />An introduction to MakeWalk™ and the use of armatures. Explaining the meaning and use of source and target armature.
** [[ Documentation:MHBlenderTools:MakeWalk Utilities|MHBlenderTools: MakeWalk Utilities ]]:<br />An introduction to the MakeWalk™ utilities panel: save and restore the defaults, manage actions, t-pose, etc.
** [[ Documentation:MHBlenderTools:MakeWalk Retarget|MHBlenderTools: MakeWalk Retarget ]]:<br />An introduction to MakeWalk™ target rigging. This document will describe common errors and corrective actions.
* [[ Documentation:MHBlenderTools:MHX importer basic usage.|MHBlenderTools: MHX importer basic usage. ]]:<br />MHX (MakeHuman eXchange format) is a custom format used to transfer a rigged character from MakeHuman to Blender.
* [[ Documentation:MHBlenderTools:MHX default rigging|MHBlenderTools: MHX default rigging ]]:<br />If pose/animate > skeleton is set to 'None' when the character is exported from MakeHuman in .mhx format, the character is equipped with the default MHX armature. This is a rather complex rig with quite a few features.
* [[ Documentation:MHBlenderTools:MHX other rigging systems|MHBlenderTools: MHX other rigging systems ]]:<br />The character can be rigged with alternatives and ligher armature or the rigify one (The rigging system for Blender developed by Nathan Vegdahl).
* [[ Documentation:MHBlenderTools:MHX Layers and masks|MHBlenderTools: MHX Layers and masks ]]:<br />The mhx importer creates objects on the first four layers.
* [[ Documentation:MakeTarget standalone|MakeTarget standalone ]]:<br />Converting files produced with the most common modelling software, without Blender.
* [[ Documentation:GUI languages and translations.|GUI languages and translations. ]]:<br />MakeHuman support a variety of languages. It's very easy to add translations.
|}
==== Reporting a Bug ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Using the Makehuman bug tracker|Using the Makehuman bug tracker ]]: <br />Introduction to the new Makehuman bug tracker
* [[ Documentation:Using the Makehuman log files for error reporting|Using the Makehuman log files for error reporting ]]: <br />How to report bugs using the log files.
|}
==== Developers' note ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Getting started|Getting started ]]: <br />The best way to start your experiments with MakeHuman code is to clone our official repository and start to modify it.
* [[ Documentation:Development infrastructure|Development infrastructure ]]: <br />A description of the MakeHuman development infrastructure.
* [[ Documentation:OpenGL Notes|OpenGL Notes ]]: <br />Most of the 3D mesh handling functionality is delivered using OpenGL embedded within the C application code.
* [[ Documentation:Development organization|Development organization ]]: <br />The organization of distributed development.
* [[ Documentation:Libraries and build procedures|Libraries and build procedures ]]: <br />Describes the details of creating installable packages on major platforms
* [[ Documentation:Directory structure and core modules|Directory structure and core modules ]]: <br />Summary of the MH API reference.
* [[ Documentation:File formats and extensions|File formats and extensions ]]: <br />Describes the formats used internally for data and object storage. [CRUDE NOTES]
* [[ Documentation:Makehuman Plugin System|Makehuman Plugin System ]]: <br />How to make a new plugin and use it in MakeHuman
|}
==== Packager's notes ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Packaging RPM's for Suse/Fedora using Open Build Service (OBS)|Packaging RPM's for Suse/Fedora using Open Build Service (OBS) ]]: <br />Packaging procedure and setup.
|}
=== Tutorials ===
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:MakeClothes:Making a simple dress|MakeClothes: Making a simple dress ]]: <br />The basic MakeClothes workflow.
* [[ Documentation:MakeClothes:Controlling the result with vertex groups|MakeClothes: Controlling the result with vertex groups ]]: <br />The output of the clothes-making process depends on how vertex groups are assigned.
* [[ Documentation:MakeTarget:Creating a Custom Target with MakeTarget Standalone|Creating a Custom Target with MakeTarget Standalone ]]: <br />A practical example of custom target
* [[ Documentation:MakeWalk:The making of Running feet|MakeWalk: The making of Running feet ]]: <br />MakeWalk tutorial, focusing on the Edit Action panel.
* [[ Documentation:MakeWalk:Running feet scene 1|MakeWalk: Running feet scene 1 ]]: <br />Making an extended run on a plane.
* [[ Documentation:MakeWalk:Running feet scene 2|MakeWalk: Running feet scene 2 ]]: <br />High heels and slopes.
* [[ Documentation:MakeWalk:Running feet scene 3|MakeWalk: Running feet scene 3 ]]: <br />The race.
* [[ Documentation:MakeWalk:Running feet scene 4|MakeWalk: Running feet scene 4 ]]: <br />Rough terrain.
* [[ Documentation:MakeWalk:Automatic animation |MakeWalk: Automatic animation ]]: <br />Tutorial on using the editing tools in MakeWalk.
|}
__NOTOC__
<!--
Author Notes:
== Instructions ==
Please put all documentation nodes in namespace "Documentation", like <nowiki>[[Documentation:Introduction to the interface|Introduction to the interface]]</nowiki> (which would resolve as [[Documentation:Introduction to the interface|Introduction to the interface]])
-->
2b30c4381d526786a9869efdf63fa90bf9a91777
708
706
2016-05-20T11:20:04Z
Joepal
14
/* Other / unsorted */
wikitext
text/x-wiki
These are documentation fragments which have been ported. They may still miss some images
== Introduction ==
* [[Documentation:What is MakeHuman?|What is MakeHuman?]]: A quick introduction to MakeHuman.
* [[Documentation:MakeHuman™ and its Purpose|MakeHuman™ and its Purpose ]]: MakeHuman definition and vision.
* [[Documentation:Short and Long Pipeline|Short and Long Pipeline ]]: The goal of Makehuman is to see it used in 2 different professional pipelines.
* [[Documentation:Professional mesh topology|Professional mesh topology ]]: An overview of the professional topology provided by MakeHuman
* [[Documentation:Legal|Legal ]]: The various licenses that apply to MakeHuman and External tools
== General overview ==
* [[Documentation:Installing MakeHuman|Installing MakeHuman]]
* [[Documentation:Configuration and settings|Configuration and settings]]
* [[Documentation:The interface and its basic functions|The interface and its basic functions]]
* [[Documentation:The toolbar|The toolbar]]
* [[Documentation:The tabs|The tabs]]
* [[Documentation:The sliders|The sliders]]
* [[Documentation:Load, save and export|Load, save and export]]
* [[Documentation:Zoom, pan and rotate using the orbital camera|Zoom, pan and rotate using the orbital camera]]
== Working with the human ==
* [[Documentation:Gender, Random, Measure and Custom|Gender, Random, Measure and Custom]]
* [[Documentation:Hairstyles and Clothes|Hairstyles and Clothes]]
* [[Documentation:Modeling the body|Modeling the body]]
* [[Documentation:Alternative topologies|Alternative topologies]]
* [[Documentation:Skin and other materials|Skin and other materials]]
* [[Documentation:Rendering your work|Rendering your work]]
== Getting help and resources from the community ==
* [[Documentation:Asking for help|Asking for help]]
* [[Documentation:Reporting a bug|Reporting a bug]]
* [[Documentation:Finding more assets|Finding more assets]]
== Creating new assets ==
* [[Documentation:Getting and installing BlenderTools|Getting and installing BlenderTools]]
* [[Documentation:Targets|Targets]]
* [[Documentation:Clothes|Clothes]]
== MakeHuman for developers ==
* [[Documentation:Plugin System|Plugin System]]
* [[Documentation:OpenGL Notes|OpenGL Notes]]
* [[Documentation:Directory structure and core modules|Directory structure and core modules]]
* [[Documentation:File formats and extensions|File formats and extensions]]
* [[Documentation:Libraries and build procedures|Libraries and build procedures]]
* [[Documentation:Dependencies|Dependencies]]
* [[Documentation:Assets|Assets]]
* [[Documentation:Other scripts|Other scripts]]
* [[Documentation:General proceedings for making a package|General proceedings for making a package]]
* [[Documentation:Development infrastructure|Development infrastructure]]
* [[Documentation:Application design and Code overview|Application design and Code overview]]
== Other / unsorted ==
* [[Documentation:MakeWalk|MakeWalk]]
* [[Documentation:Translation|Translation]]
== Old documentation ==
The old documentation is available, but in a largely unformatted state:
[[Documentation:Big dump from drupal]]
== General overview ==
None
== Defining human characteristics ==
None
== Rendering your work ==
None
== Settings ==
None
== Blender tools ==
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Documentation:MHBlenderTools: Download and installation|MHBlenderTools: Download and installation ]]: How to download and install the addons for Blender
* [[ Documentation:MHBlenderTools: MakeTarget|MHBlenderTools: MakeTarget ]]: Description of the MakeTarget™ tool, to create custom morphings for MakeHuman.
* [[ Documentation:MHBlenderTools:MakeClothes|MHBlenderTools: MakeClothes ]]: Description of the MakeClothes™ tool, to create custom clothes for MakeHuman.
|}
== Documentation for developers ==
[[Technical notes on MakeHuman]]
== Tutorials ==
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6EEE6; padding:.5em;"|
* [[Documentation:Texture painting a skin in blender|Tutorial: Texture painting a skin in blender]]
|}
== Unported stuff from Drupal ==
This is stuff which haven't been ported yet.
[[Documentation:Big dump from drupal]]
==== General overview ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Install MakeHuman™|Install MakeHuman™ ]]: <br />How to install MH on Windows, Osx and Linux.
* [[ Documentation:The Interface and basic functions.|The Interface and basic functions. ]]: <br />The MakeHuman GUI: Load, save, undo and redo, reset, view, symmetry, help.
* [[ Documentation:Zoom, pan and rotate using the orbital camera|Zoom, pan and rotate using the orbital camera ]]: <br />Navigating the scene using the orbital camera.
* [[ Documentation:Load Save and Export|Load Save and Export ]]: <br />Describe file actions for MakeHuman
|}
==== Define Human Characteristics ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Parametric Modelling|Parametric Modelling ]]: <br />A quick introduction to the parametric modelling and sliders usage.
* [[ Documentation:Using MakeHuman Hairstyles and Clothes|Using MakeHuman Hairstyles and Clothes ]]: <br />Hair in the MakeHuman Geometries group
* [[ Documentation:Skin and other materials|Skin and other materials ]]: <br />How to change skin and materials for hair and clothes.
* [[ Documentation:Gender, Random, Measure and Custom|Gender, Random, Measure and Custom ]]: <br />Special modifiers.
* [[ Documentation:Makehuman alternative topologies|Makehuman alternative topologies ]]: <br />MakeHuman provides a smart alternative topologies library
|}
==== Rendering Your Work ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Quick rendering and advanced rendering|Quick rendering and advanced rendering ]]: <br />This section explains how render the character in MakeHuman
* [[ Documentation:Scene and Viewer|Scene and Viewer ]]: <br />How to set lights and how to see and save the rendering
|}
==== Settings ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:General|General ]]: <br />How to set the general preferences
* [[ Documentation:Background|Background ]]: <br />How to use backgrounds for reference.
* [[ Documentation:Mouse|Mouse ]]: <br />Explanation of mouse settings
* [[ Documentation:Shortcuts|Shortcuts ]]: <br />Configuration of shortcuts in Makehuman
* [[ Documentation:Plugins|Plugins ]]: <br />Management of Makehuman plugins
|}
==== Tools and contributing methods ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:MHBlenderTools:MakeWalk|MHBlenderTools: MakeWalk ]]:<br />MakeWalk™ is a Blender add-on for retargeting mocap data (.bvh files) to a given armature.
** [[ Documentation:MHBlenderTools:MakeWalk GUI|MHBlenderTools: MakeWalk GUI ]]:<br />An introduction to MakeWalk™ and its user interface.
** [[ Documentation:MHBlenderTools:MakeWalk Armatures|MHBlenderTools: MakeWalk Armatures ]]:<br />An introduction to MakeWalk™ and the use of armatures. Explaining the meaning and use of source and target armature.
** [[ Documentation:MHBlenderTools:MakeWalk Utilities|MHBlenderTools: MakeWalk Utilities ]]:<br />An introduction to the MakeWalk™ utilities panel: save and restore the defaults, manage actions, t-pose, etc.
** [[ Documentation:MHBlenderTools:MakeWalk Retarget|MHBlenderTools: MakeWalk Retarget ]]:<br />An introduction to MakeWalk™ target rigging. This document will describe common errors and corrective actions.
* [[ Documentation:MHBlenderTools:MHX importer basic usage.|MHBlenderTools: MHX importer basic usage. ]]:<br />MHX (MakeHuman eXchange format) is a custom format used to transfer a rigged character from MakeHuman to Blender.
* [[ Documentation:MHBlenderTools:MHX default rigging|MHBlenderTools: MHX default rigging ]]:<br />If pose/animate > skeleton is set to 'None' when the character is exported from MakeHuman in .mhx format, the character is equipped with the default MHX armature. This is a rather complex rig with quite a few features.
* [[ Documentation:MHBlenderTools:MHX other rigging systems|MHBlenderTools: MHX other rigging systems ]]:<br />The character can be rigged with alternatives and ligher armature or the rigify one (The rigging system for Blender developed by Nathan Vegdahl).
* [[ Documentation:MHBlenderTools:MHX Layers and masks|MHBlenderTools: MHX Layers and masks ]]:<br />The mhx importer creates objects on the first four layers.
* [[ Documentation:MakeTarget standalone|MakeTarget standalone ]]:<br />Converting files produced with the most common modelling software, without Blender.
* [[ Documentation:GUI languages and translations.|GUI languages and translations. ]]:<br />MakeHuman support a variety of languages. It's very easy to add translations.
|}
==== Reporting a Bug ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Using the Makehuman bug tracker|Using the Makehuman bug tracker ]]: <br />Introduction to the new Makehuman bug tracker
* [[ Documentation:Using the Makehuman log files for error reporting|Using the Makehuman log files for error reporting ]]: <br />How to report bugs using the log files.
|}
==== Developers' note ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Getting started|Getting started ]]: <br />The best way to start your experiments with MakeHuman code is to clone our official repository and start to modify it.
* [[ Documentation:Development infrastructure|Development infrastructure ]]: <br />A description of the MakeHuman development infrastructure.
* [[ Documentation:OpenGL Notes|OpenGL Notes ]]: <br />Most of the 3D mesh handling functionality is delivered using OpenGL embedded within the C application code.
* [[ Documentation:Development organization|Development organization ]]: <br />The organization of distributed development.
* [[ Documentation:Libraries and build procedures|Libraries and build procedures ]]: <br />Describes the details of creating installable packages on major platforms
* [[ Documentation:Directory structure and core modules|Directory structure and core modules ]]: <br />Summary of the MH API reference.
* [[ Documentation:File formats and extensions|File formats and extensions ]]: <br />Describes the formats used internally for data and object storage. [CRUDE NOTES]
* [[ Documentation:Makehuman Plugin System|Makehuman Plugin System ]]: <br />How to make a new plugin and use it in MakeHuman
|}
==== Packager's notes ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Packaging RPM's for Suse/Fedora using Open Build Service (OBS)|Packaging RPM's for Suse/Fedora using Open Build Service (OBS) ]]: <br />Packaging procedure and setup.
|}
=== Tutorials ===
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:MakeClothes:Making a simple dress|MakeClothes: Making a simple dress ]]: <br />The basic MakeClothes workflow.
* [[ Documentation:MakeClothes:Controlling the result with vertex groups|MakeClothes: Controlling the result with vertex groups ]]: <br />The output of the clothes-making process depends on how vertex groups are assigned.
* [[ Documentation:MakeTarget:Creating a Custom Target with MakeTarget Standalone|Creating a Custom Target with MakeTarget Standalone ]]: <br />A practical example of custom target
* [[ Documentation:MakeWalk:The making of Running feet|MakeWalk: The making of Running feet ]]: <br />MakeWalk tutorial, focusing on the Edit Action panel.
* [[ Documentation:MakeWalk:Running feet scene 1|MakeWalk: Running feet scene 1 ]]: <br />Making an extended run on a plane.
* [[ Documentation:MakeWalk:Running feet scene 2|MakeWalk: Running feet scene 2 ]]: <br />High heels and slopes.
* [[ Documentation:MakeWalk:Running feet scene 3|MakeWalk: Running feet scene 3 ]]: <br />The race.
* [[ Documentation:MakeWalk:Running feet scene 4|MakeWalk: Running feet scene 4 ]]: <br />Rough terrain.
* [[ Documentation:MakeWalk:Automatic animation |MakeWalk: Automatic animation ]]: <br />Tutorial on using the editing tools in MakeWalk.
|}
__NOTOC__
<!--
Author Notes:
== Instructions ==
Please put all documentation nodes in namespace "Documentation", like <nowiki>[[Documentation:Introduction to the interface|Introduction to the interface]]</nowiki> (which would resolve as [[Documentation:Introduction to the interface|Introduction to the interface]])
-->
fb48daab99d4831a2aee626233140d8a5f7c3628
706
701
2016-05-20T11:17:56Z
Joepal
14
wikitext
text/x-wiki
These are documentation fragments which have been ported. They may still miss some images
== Introduction ==
* [[Documentation:What is MakeHuman?|What is MakeHuman?]]: A quick introduction to MakeHuman.
* [[Documentation:MakeHuman™ and its Purpose|MakeHuman™ and its Purpose ]]: MakeHuman definition and vision.
* [[Documentation:Short and Long Pipeline|Short and Long Pipeline ]]: The goal of Makehuman is to see it used in 2 different professional pipelines.
* [[Documentation:Professional mesh topology|Professional mesh topology ]]: An overview of the professional topology provided by MakeHuman
* [[Documentation:Legal|Legal ]]: The various licenses that apply to MakeHuman and External tools
== General overview ==
* [[Documentation:Installing MakeHuman|Installing MakeHuman]]
* [[Documentation:Configuration and settings|Configuration and settings]]
* [[Documentation:The interface and its basic functions|The interface and its basic functions]]
* [[Documentation:The toolbar|The toolbar]]
* [[Documentation:The tabs|The tabs]]
* [[Documentation:The sliders|The sliders]]
* [[Documentation:Load, save and export|Load, save and export]]
* [[Documentation:Zoom, pan and rotate using the orbital camera|Zoom, pan and rotate using the orbital camera]]
== Working with the human ==
* [[Documentation:Gender, Random, Measure and Custom|Gender, Random, Measure and Custom]]
* [[Documentation:Hairstyles and Clothes|Hairstyles and Clothes]]
* [[Documentation:Modeling the body|Modeling the body]]
* [[Documentation:Alternative topologies|Alternative topologies]]
* [[Documentation:Skin and other materials|Skin and other materials]]
* [[Documentation:Rendering your work|Rendering your work]]
== Getting help and resources from the community ==
* [[Documentation:Asking for help|Asking for help]]
* [[Documentation:Reporting a bug|Reporting a bug]]
* [[Documentation:Finding more assets|Finding more assets]]
== Creating new assets ==
* [[Documentation:Getting and installing BlenderTools|Getting and installing BlenderTools]]
* [[Documentation:Targets|Targets]]
* [[Documentation:Clothes|Clothes]]
== MakeHuman for developers ==
* [[Documentation:Plugin System|Plugin System]]
* [[Documentation:OpenGL Notes|OpenGL Notes]]
* [[Documentation:Directory structure and core modules|Directory structure and core modules]]
* [[Documentation:File formats and extensions|File formats and extensions]]
* [[Documentation:Libraries and build procedures|Libraries and build procedures]]
* [[Documentation:Dependencies|Dependencies]]
* [[Documentation:Assets|Assets]]
* [[Documentation:Other scripts|Other scripts]]
* [[Documentation:General proceedings for making a package|General proceedings for making a package]]
* [[Documentation:Development infrastructure|Development infrastructure]]
* [[Documentation:Application design and Code overview|Application design and Code overview]]
== Other / unsorted ==
* [[Documentation:MakeWalk|MakeWalk]]
== Old documentation ==
The old documentation is available, but in a largely unformatted state:
[[Documentation:Big dump from drupal]]
== General overview ==
None
== Defining human characteristics ==
None
== Rendering your work ==
None
== Settings ==
None
== Blender tools ==
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Documentation:MHBlenderTools: Download and installation|MHBlenderTools: Download and installation ]]: How to download and install the addons for Blender
* [[ Documentation:MHBlenderTools: MakeTarget|MHBlenderTools: MakeTarget ]]: Description of the MakeTarget™ tool, to create custom morphings for MakeHuman.
* [[ Documentation:MHBlenderTools:MakeClothes|MHBlenderTools: MakeClothes ]]: Description of the MakeClothes™ tool, to create custom clothes for MakeHuman.
|}
== Documentation for developers ==
[[Technical notes on MakeHuman]]
== Tutorials ==
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6EEE6; padding:.5em;"|
* [[Documentation:Texture painting a skin in blender|Tutorial: Texture painting a skin in blender]]
|}
== Unported stuff from Drupal ==
This is stuff which haven't been ported yet.
[[Documentation:Big dump from drupal]]
==== General overview ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Install MakeHuman™|Install MakeHuman™ ]]: <br />How to install MH on Windows, Osx and Linux.
* [[ Documentation:The Interface and basic functions.|The Interface and basic functions. ]]: <br />The MakeHuman GUI: Load, save, undo and redo, reset, view, symmetry, help.
* [[ Documentation:Zoom, pan and rotate using the orbital camera|Zoom, pan and rotate using the orbital camera ]]: <br />Navigating the scene using the orbital camera.
* [[ Documentation:Load Save and Export|Load Save and Export ]]: <br />Describe file actions for MakeHuman
|}
==== Define Human Characteristics ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Parametric Modelling|Parametric Modelling ]]: <br />A quick introduction to the parametric modelling and sliders usage.
* [[ Documentation:Using MakeHuman Hairstyles and Clothes|Using MakeHuman Hairstyles and Clothes ]]: <br />Hair in the MakeHuman Geometries group
* [[ Documentation:Skin and other materials|Skin and other materials ]]: <br />How to change skin and materials for hair and clothes.
* [[ Documentation:Gender, Random, Measure and Custom|Gender, Random, Measure and Custom ]]: <br />Special modifiers.
* [[ Documentation:Makehuman alternative topologies|Makehuman alternative topologies ]]: <br />MakeHuman provides a smart alternative topologies library
|}
==== Rendering Your Work ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Quick rendering and advanced rendering|Quick rendering and advanced rendering ]]: <br />This section explains how render the character in MakeHuman
* [[ Documentation:Scene and Viewer|Scene and Viewer ]]: <br />How to set lights and how to see and save the rendering
|}
==== Settings ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:General|General ]]: <br />How to set the general preferences
* [[ Documentation:Background|Background ]]: <br />How to use backgrounds for reference.
* [[ Documentation:Mouse|Mouse ]]: <br />Explanation of mouse settings
* [[ Documentation:Shortcuts|Shortcuts ]]: <br />Configuration of shortcuts in Makehuman
* [[ Documentation:Plugins|Plugins ]]: <br />Management of Makehuman plugins
|}
==== Tools and contributing methods ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:MHBlenderTools:MakeWalk|MHBlenderTools: MakeWalk ]]:<br />MakeWalk™ is a Blender add-on for retargeting mocap data (.bvh files) to a given armature.
** [[ Documentation:MHBlenderTools:MakeWalk GUI|MHBlenderTools: MakeWalk GUI ]]:<br />An introduction to MakeWalk™ and its user interface.
** [[ Documentation:MHBlenderTools:MakeWalk Armatures|MHBlenderTools: MakeWalk Armatures ]]:<br />An introduction to MakeWalk™ and the use of armatures. Explaining the meaning and use of source and target armature.
** [[ Documentation:MHBlenderTools:MakeWalk Utilities|MHBlenderTools: MakeWalk Utilities ]]:<br />An introduction to the MakeWalk™ utilities panel: save and restore the defaults, manage actions, t-pose, etc.
** [[ Documentation:MHBlenderTools:MakeWalk Retarget|MHBlenderTools: MakeWalk Retarget ]]:<br />An introduction to MakeWalk™ target rigging. This document will describe common errors and corrective actions.
* [[ Documentation:MHBlenderTools:MHX importer basic usage.|MHBlenderTools: MHX importer basic usage. ]]:<br />MHX (MakeHuman eXchange format) is a custom format used to transfer a rigged character from MakeHuman to Blender.
* [[ Documentation:MHBlenderTools:MHX default rigging|MHBlenderTools: MHX default rigging ]]:<br />If pose/animate > skeleton is set to 'None' when the character is exported from MakeHuman in .mhx format, the character is equipped with the default MHX armature. This is a rather complex rig with quite a few features.
* [[ Documentation:MHBlenderTools:MHX other rigging systems|MHBlenderTools: MHX other rigging systems ]]:<br />The character can be rigged with alternatives and ligher armature or the rigify one (The rigging system for Blender developed by Nathan Vegdahl).
* [[ Documentation:MHBlenderTools:MHX Layers and masks|MHBlenderTools: MHX Layers and masks ]]:<br />The mhx importer creates objects on the first four layers.
* [[ Documentation:MakeTarget standalone|MakeTarget standalone ]]:<br />Converting files produced with the most common modelling software, without Blender.
* [[ Documentation:GUI languages and translations.|GUI languages and translations. ]]:<br />MakeHuman support a variety of languages. It's very easy to add translations.
|}
==== Reporting a Bug ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Using the Makehuman bug tracker|Using the Makehuman bug tracker ]]: <br />Introduction to the new Makehuman bug tracker
* [[ Documentation:Using the Makehuman log files for error reporting|Using the Makehuman log files for error reporting ]]: <br />How to report bugs using the log files.
|}
==== Developers' note ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Getting started|Getting started ]]: <br />The best way to start your experiments with MakeHuman code is to clone our official repository and start to modify it.
* [[ Documentation:Development infrastructure|Development infrastructure ]]: <br />A description of the MakeHuman development infrastructure.
* [[ Documentation:OpenGL Notes|OpenGL Notes ]]: <br />Most of the 3D mesh handling functionality is delivered using OpenGL embedded within the C application code.
* [[ Documentation:Development organization|Development organization ]]: <br />The organization of distributed development.
* [[ Documentation:Libraries and build procedures|Libraries and build procedures ]]: <br />Describes the details of creating installable packages on major platforms
* [[ Documentation:Directory structure and core modules|Directory structure and core modules ]]: <br />Summary of the MH API reference.
* [[ Documentation:File formats and extensions|File formats and extensions ]]: <br />Describes the formats used internally for data and object storage. [CRUDE NOTES]
* [[ Documentation:Makehuman Plugin System|Makehuman Plugin System ]]: <br />How to make a new plugin and use it in MakeHuman
|}
==== Packager's notes ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Packaging RPM's for Suse/Fedora using Open Build Service (OBS)|Packaging RPM's for Suse/Fedora using Open Build Service (OBS) ]]: <br />Packaging procedure and setup.
|}
=== Tutorials ===
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:MakeClothes:Making a simple dress|MakeClothes: Making a simple dress ]]: <br />The basic MakeClothes workflow.
* [[ Documentation:MakeClothes:Controlling the result with vertex groups|MakeClothes: Controlling the result with vertex groups ]]: <br />The output of the clothes-making process depends on how vertex groups are assigned.
* [[ Documentation:MakeTarget:Creating a Custom Target with MakeTarget Standalone|Creating a Custom Target with MakeTarget Standalone ]]: <br />A practical example of custom target
* [[ Documentation:MakeWalk:The making of Running feet|MakeWalk: The making of Running feet ]]: <br />MakeWalk tutorial, focusing on the Edit Action panel.
* [[ Documentation:MakeWalk:Running feet scene 1|MakeWalk: Running feet scene 1 ]]: <br />Making an extended run on a plane.
* [[ Documentation:MakeWalk:Running feet scene 2|MakeWalk: Running feet scene 2 ]]: <br />High heels and slopes.
* [[ Documentation:MakeWalk:Running feet scene 3|MakeWalk: Running feet scene 3 ]]: <br />The race.
* [[ Documentation:MakeWalk:Running feet scene 4|MakeWalk: Running feet scene 4 ]]: <br />Rough terrain.
* [[ Documentation:MakeWalk:Automatic animation |MakeWalk: Automatic animation ]]: <br />Tutorial on using the editing tools in MakeWalk.
|}
__NOTOC__
<!--
Author Notes:
== Instructions ==
Please put all documentation nodes in namespace "Documentation", like <nowiki>[[Documentation:Introduction to the interface|Introduction to the interface]]</nowiki> (which would resolve as [[Documentation:Introduction to the interface|Introduction to the interface]])
-->
9e8de174c1b8d52b498124f7819a3a0cdfefb3b6
701
699
2016-05-20T11:07:08Z
Joepal
14
wikitext
text/x-wiki
These are documentation fragments which have been ported. They may still miss some images
== Introduction ==
* [[Documentation:What is MakeHuman?|What is MakeHuman?]]: A quick introduction to MakeHuman.
* [[Documentation:MakeHuman™ and its Purpose|MakeHuman™ and its Purpose ]]: MakeHuman definition and vision.
* [[Documentation:Short and Long Pipeline|Short and Long Pipeline ]]: The goal of Makehuman is to see it used in 2 different professional pipelines.
* [[Documentation:Professional mesh topology|Professional mesh topology ]]: An overview of the professional topology provided by MakeHuman
* [[Documentation:Legal|Legal ]]: The various licenses that apply to MakeHuman and External tools
== General overview ==
* [[Documentation:Installing MakeHuman|Installing MakeHuman]]
* [[Documentation:Configuration and settings|Configuration and settings]]
* [[Documentation:The interface and its basic functions|The interface and its basic functions]]
* [[Documentation:The toolbar|The toolbar]]
* [[Documentation:The tabs|The tabs]]
* [[Documentation:The sliders|The sliders]]
* [[Documentation:Load, save and export|Load, save and export]]
* [[Documentation:Zoom, pan and rotate using the orbital camera|Zoom, pan and rotate using the orbital camera]]
== Working with the human ==
* [[Documentation:Gender, Random, Measure and Custom|Gender, Random, Measure and Custom]]
* [[Documentation:Hairstyles and Clothes|Hairstyles and Clothes]]
* [[Documentation:Modeling the body|Modeling the body]]
* [[Documentation:Alternative topologies|Alternative topologies]]
* [[Documentation:Skin and other materials|Skin and other materials]]
* [[Documentation:Rendering your work|Rendering your work]]
== Getting help and resources from the community ==
* [[Documentation:Asking for help|Asking for help]]
* [[Documentation:Reporting a bug|Reporting a bug]]
* [[Documentation:Finding more assets|Finding more assets]]
== Creating new assets ==
* [[Documentation:Getting and installing BlenderTools|Getting and installing BlenderTools]]
* [[Documentation:Targets|Targets]]
* [[Documentation:Clothes|Clothes]]
== Old documentation ==
The old documentation is available, but in a largely unformatted state:
[[Documentation:Big dump from drupal]]
== General overview ==
None
== Defining human characteristics ==
None
== Rendering your work ==
None
== Settings ==
None
== Blender tools ==
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Documentation:MHBlenderTools: Download and installation|MHBlenderTools: Download and installation ]]: How to download and install the addons for Blender
* [[ Documentation:MHBlenderTools: MakeTarget|MHBlenderTools: MakeTarget ]]: Description of the MakeTarget™ tool, to create custom morphings for MakeHuman.
* [[ Documentation:MHBlenderTools:MakeClothes|MHBlenderTools: MakeClothes ]]: Description of the MakeClothes™ tool, to create custom clothes for MakeHuman.
|}
== Documentation for developers ==
[[Technical notes on MakeHuman]]
== Tutorials ==
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6EEE6; padding:.5em;"|
* [[Documentation:Texture painting a skin in blender|Tutorial: Texture painting a skin in blender]]
|}
== Unported stuff from Drupal ==
This is stuff which haven't been ported yet.
[[Documentation:Big dump from drupal]]
==== General overview ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Install MakeHuman™|Install MakeHuman™ ]]: <br />How to install MH on Windows, Osx and Linux.
* [[ Documentation:The Interface and basic functions.|The Interface and basic functions. ]]: <br />The MakeHuman GUI: Load, save, undo and redo, reset, view, symmetry, help.
* [[ Documentation:Zoom, pan and rotate using the orbital camera|Zoom, pan and rotate using the orbital camera ]]: <br />Navigating the scene using the orbital camera.
* [[ Documentation:Load Save and Export|Load Save and Export ]]: <br />Describe file actions for MakeHuman
|}
==== Define Human Characteristics ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Parametric Modelling|Parametric Modelling ]]: <br />A quick introduction to the parametric modelling and sliders usage.
* [[ Documentation:Using MakeHuman Hairstyles and Clothes|Using MakeHuman Hairstyles and Clothes ]]: <br />Hair in the MakeHuman Geometries group
* [[ Documentation:Skin and other materials|Skin and other materials ]]: <br />How to change skin and materials for hair and clothes.
* [[ Documentation:Gender, Random, Measure and Custom|Gender, Random, Measure and Custom ]]: <br />Special modifiers.
* [[ Documentation:Makehuman alternative topologies|Makehuman alternative topologies ]]: <br />MakeHuman provides a smart alternative topologies library
|}
==== Rendering Your Work ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Quick rendering and advanced rendering|Quick rendering and advanced rendering ]]: <br />This section explains how render the character in MakeHuman
* [[ Documentation:Scene and Viewer|Scene and Viewer ]]: <br />How to set lights and how to see and save the rendering
|}
==== Settings ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:General|General ]]: <br />How to set the general preferences
* [[ Documentation:Background|Background ]]: <br />How to use backgrounds for reference.
* [[ Documentation:Mouse|Mouse ]]: <br />Explanation of mouse settings
* [[ Documentation:Shortcuts|Shortcuts ]]: <br />Configuration of shortcuts in Makehuman
* [[ Documentation:Plugins|Plugins ]]: <br />Management of Makehuman plugins
|}
==== Tools and contributing methods ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:MHBlenderTools:MakeWalk|MHBlenderTools: MakeWalk ]]:<br />MakeWalk™ is a Blender add-on for retargeting mocap data (.bvh files) to a given armature.
** [[ Documentation:MHBlenderTools:MakeWalk GUI|MHBlenderTools: MakeWalk GUI ]]:<br />An introduction to MakeWalk™ and its user interface.
** [[ Documentation:MHBlenderTools:MakeWalk Armatures|MHBlenderTools: MakeWalk Armatures ]]:<br />An introduction to MakeWalk™ and the use of armatures. Explaining the meaning and use of source and target armature.
** [[ Documentation:MHBlenderTools:MakeWalk Utilities|MHBlenderTools: MakeWalk Utilities ]]:<br />An introduction to the MakeWalk™ utilities panel: save and restore the defaults, manage actions, t-pose, etc.
** [[ Documentation:MHBlenderTools:MakeWalk Retarget|MHBlenderTools: MakeWalk Retarget ]]:<br />An introduction to MakeWalk™ target rigging. This document will describe common errors and corrective actions.
* [[ Documentation:MHBlenderTools:MHX importer basic usage.|MHBlenderTools: MHX importer basic usage. ]]:<br />MHX (MakeHuman eXchange format) is a custom format used to transfer a rigged character from MakeHuman to Blender.
* [[ Documentation:MHBlenderTools:MHX default rigging|MHBlenderTools: MHX default rigging ]]:<br />If pose/animate > skeleton is set to 'None' when the character is exported from MakeHuman in .mhx format, the character is equipped with the default MHX armature. This is a rather complex rig with quite a few features.
* [[ Documentation:MHBlenderTools:MHX other rigging systems|MHBlenderTools: MHX other rigging systems ]]:<br />The character can be rigged with alternatives and ligher armature or the rigify one (The rigging system for Blender developed by Nathan Vegdahl).
* [[ Documentation:MHBlenderTools:MHX Layers and masks|MHBlenderTools: MHX Layers and masks ]]:<br />The mhx importer creates objects on the first four layers.
* [[ Documentation:MakeTarget standalone|MakeTarget standalone ]]:<br />Converting files produced with the most common modelling software, without Blender.
* [[ Documentation:GUI languages and translations.|GUI languages and translations. ]]:<br />MakeHuman support a variety of languages. It's very easy to add translations.
|}
==== Reporting a Bug ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Using the Makehuman bug tracker|Using the Makehuman bug tracker ]]: <br />Introduction to the new Makehuman bug tracker
* [[ Documentation:Using the Makehuman log files for error reporting|Using the Makehuman log files for error reporting ]]: <br />How to report bugs using the log files.
|}
==== Developers' note ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Getting started|Getting started ]]: <br />The best way to start your experiments with MakeHuman code is to clone our official repository and start to modify it.
* [[ Documentation:Development infrastructure|Development infrastructure ]]: <br />A description of the MakeHuman development infrastructure.
* [[ Documentation:OpenGL Notes|OpenGL Notes ]]: <br />Most of the 3D mesh handling functionality is delivered using OpenGL embedded within the C application code.
* [[ Documentation:Development organization|Development organization ]]: <br />The organization of distributed development.
* [[ Documentation:Libraries and build procedures|Libraries and build procedures ]]: <br />Describes the details of creating installable packages on major platforms
* [[ Documentation:Directory structure and core modules|Directory structure and core modules ]]: <br />Summary of the MH API reference.
* [[ Documentation:File formats and extensions|File formats and extensions ]]: <br />Describes the formats used internally for data and object storage. [CRUDE NOTES]
* [[ Documentation:Makehuman Plugin System|Makehuman Plugin System ]]: <br />How to make a new plugin and use it in MakeHuman
|}
==== Packager's notes ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Packaging RPM's for Suse/Fedora using Open Build Service (OBS)|Packaging RPM's for Suse/Fedora using Open Build Service (OBS) ]]: <br />Packaging procedure and setup.
|}
=== Tutorials ===
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:MakeClothes:Making a simple dress|MakeClothes: Making a simple dress ]]: <br />The basic MakeClothes workflow.
* [[ Documentation:MakeClothes:Controlling the result with vertex groups|MakeClothes: Controlling the result with vertex groups ]]: <br />The output of the clothes-making process depends on how vertex groups are assigned.
* [[ Documentation:MakeTarget:Creating a Custom Target with MakeTarget Standalone|Creating a Custom Target with MakeTarget Standalone ]]: <br />A practical example of custom target
* [[ Documentation:MakeWalk:The making of Running feet|MakeWalk: The making of Running feet ]]: <br />MakeWalk tutorial, focusing on the Edit Action panel.
* [[ Documentation:MakeWalk:Running feet scene 1|MakeWalk: Running feet scene 1 ]]: <br />Making an extended run on a plane.
* [[ Documentation:MakeWalk:Running feet scene 2|MakeWalk: Running feet scene 2 ]]: <br />High heels and slopes.
* [[ Documentation:MakeWalk:Running feet scene 3|MakeWalk: Running feet scene 3 ]]: <br />The race.
* [[ Documentation:MakeWalk:Running feet scene 4|MakeWalk: Running feet scene 4 ]]: <br />Rough terrain.
* [[ Documentation:MakeWalk:Automatic animation |MakeWalk: Automatic animation ]]: <br />Tutorial on using the editing tools in MakeWalk.
|}
__NOTOC__
<!--
Author Notes:
== Instructions ==
Please put all documentation nodes in namespace "Documentation", like <nowiki>[[Documentation:Introduction to the interface|Introduction to the interface]]</nowiki> (which would resolve as [[Documentation:Introduction to the interface|Introduction to the interface]])
-->
ac2269eb87df00fec0cd7ad4d42c8a473080ba47
699
697
2016-05-20T11:04:29Z
Joepal
14
wikitext
text/x-wiki
These are documentation fragments which have been ported. They may still miss some images
== Introduction ==
* [[Documentation:What is MakeHuman?|What is MakeHuman?]]: A quick introduction to MakeHuman.
* [[Documentation:MakeHuman™ and its Purpose|MakeHuman™ and its Purpose ]]: MakeHuman definition and vision.
* [[Documentation:Short and Long Pipeline|Short and Long Pipeline ]]: The goal of Makehuman is to see it used in 2 different professional pipelines.
* [[Documentation:Professional mesh topology|Professional mesh topology ]]: An overview of the professional topology provided by MakeHuman
* [[Documentation:Legal|Legal ]]: The various licenses that apply to MakeHuman and External tools
== General overview ==
* [[Documentation:Installing MakeHuman|Installing MakeHuman]]
* [[Documentation:Configuration and settings|Configuration and settings]]
* [[Documentation:The interface and its basic functions|The interface and its basic functions]]
* [[Documentation:The toolbar|The toolbar]]
* [[Documentation:The tabs|The tabs]]
* [[Documentation:The sliders|The sliders]]
* [[Documentation:Load, save and export|Load, save and export]]
* [[Documentation:Zoom, pan and rotate using the orbital camera|Zoom, pan and rotate using the orbital camera]]
== Working with the human ==
* [[Documentation:Gender, Random, Measure and Custom|Gender, Random, Measure and Custom]]
* [[Documentation:Hairstyles and Clothes|Hairstyles and Clothes]]
* [[Documentation:Modeling the body|Modeling the body]]
* [[Documentation:Alternative topologies|Alternative topologies]]
* [[Documentation:Skin and other materials|Skin and other materials]]
* [[Documentation:Rendering your work|Rendering your work]]
== Getting help and resources from the community ==
* [[Documentation:Asking for help|Asking for help]]
* [[Documentation:Reporting a bug|Reporting a bug]]
* [[Documentation:Finding more assets|Finding more assets]]
== Old documentation ==
The old documentation is available, but in a largely unformatted state:
[[Documentation:Big dump from drupal]]
== General overview ==
None
== Defining human characteristics ==
None
== Rendering your work ==
None
== Settings ==
None
== Blender tools ==
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Documentation:MHBlenderTools: Download and installation|MHBlenderTools: Download and installation ]]: How to download and install the addons for Blender
* [[ Documentation:MHBlenderTools: MakeTarget|MHBlenderTools: MakeTarget ]]: Description of the MakeTarget™ tool, to create custom morphings for MakeHuman.
* [[ Documentation:MHBlenderTools:MakeClothes|MHBlenderTools: MakeClothes ]]: Description of the MakeClothes™ tool, to create custom clothes for MakeHuman.
|}
== Documentation for developers ==
[[Technical notes on MakeHuman]]
== Tutorials ==
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6EEE6; padding:.5em;"|
* [[Documentation:Texture painting a skin in blender|Tutorial: Texture painting a skin in blender]]
|}
== Unported stuff from Drupal ==
This is stuff which haven't been ported yet.
[[Documentation:Big dump from drupal]]
==== General overview ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Install MakeHuman™|Install MakeHuman™ ]]: <br />How to install MH on Windows, Osx and Linux.
* [[ Documentation:The Interface and basic functions.|The Interface and basic functions. ]]: <br />The MakeHuman GUI: Load, save, undo and redo, reset, view, symmetry, help.
* [[ Documentation:Zoom, pan and rotate using the orbital camera|Zoom, pan and rotate using the orbital camera ]]: <br />Navigating the scene using the orbital camera.
* [[ Documentation:Load Save and Export|Load Save and Export ]]: <br />Describe file actions for MakeHuman
|}
==== Define Human Characteristics ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Parametric Modelling|Parametric Modelling ]]: <br />A quick introduction to the parametric modelling and sliders usage.
* [[ Documentation:Using MakeHuman Hairstyles and Clothes|Using MakeHuman Hairstyles and Clothes ]]: <br />Hair in the MakeHuman Geometries group
* [[ Documentation:Skin and other materials|Skin and other materials ]]: <br />How to change skin and materials for hair and clothes.
* [[ Documentation:Gender, Random, Measure and Custom|Gender, Random, Measure and Custom ]]: <br />Special modifiers.
* [[ Documentation:Makehuman alternative topologies|Makehuman alternative topologies ]]: <br />MakeHuman provides a smart alternative topologies library
|}
==== Rendering Your Work ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Quick rendering and advanced rendering|Quick rendering and advanced rendering ]]: <br />This section explains how render the character in MakeHuman
* [[ Documentation:Scene and Viewer|Scene and Viewer ]]: <br />How to set lights and how to see and save the rendering
|}
==== Settings ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:General|General ]]: <br />How to set the general preferences
* [[ Documentation:Background|Background ]]: <br />How to use backgrounds for reference.
* [[ Documentation:Mouse|Mouse ]]: <br />Explanation of mouse settings
* [[ Documentation:Shortcuts|Shortcuts ]]: <br />Configuration of shortcuts in Makehuman
* [[ Documentation:Plugins|Plugins ]]: <br />Management of Makehuman plugins
|}
==== Tools and contributing methods ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:MHBlenderTools:MakeWalk|MHBlenderTools: MakeWalk ]]:<br />MakeWalk™ is a Blender add-on for retargeting mocap data (.bvh files) to a given armature.
** [[ Documentation:MHBlenderTools:MakeWalk GUI|MHBlenderTools: MakeWalk GUI ]]:<br />An introduction to MakeWalk™ and its user interface.
** [[ Documentation:MHBlenderTools:MakeWalk Armatures|MHBlenderTools: MakeWalk Armatures ]]:<br />An introduction to MakeWalk™ and the use of armatures. Explaining the meaning and use of source and target armature.
** [[ Documentation:MHBlenderTools:MakeWalk Utilities|MHBlenderTools: MakeWalk Utilities ]]:<br />An introduction to the MakeWalk™ utilities panel: save and restore the defaults, manage actions, t-pose, etc.
** [[ Documentation:MHBlenderTools:MakeWalk Retarget|MHBlenderTools: MakeWalk Retarget ]]:<br />An introduction to MakeWalk™ target rigging. This document will describe common errors and corrective actions.
* [[ Documentation:MHBlenderTools:MHX importer basic usage.|MHBlenderTools: MHX importer basic usage. ]]:<br />MHX (MakeHuman eXchange format) is a custom format used to transfer a rigged character from MakeHuman to Blender.
* [[ Documentation:MHBlenderTools:MHX default rigging|MHBlenderTools: MHX default rigging ]]:<br />If pose/animate > skeleton is set to 'None' when the character is exported from MakeHuman in .mhx format, the character is equipped with the default MHX armature. This is a rather complex rig with quite a few features.
* [[ Documentation:MHBlenderTools:MHX other rigging systems|MHBlenderTools: MHX other rigging systems ]]:<br />The character can be rigged with alternatives and ligher armature or the rigify one (The rigging system for Blender developed by Nathan Vegdahl).
* [[ Documentation:MHBlenderTools:MHX Layers and masks|MHBlenderTools: MHX Layers and masks ]]:<br />The mhx importer creates objects on the first four layers.
* [[ Documentation:MakeTarget standalone|MakeTarget standalone ]]:<br />Converting files produced with the most common modelling software, without Blender.
* [[ Documentation:GUI languages and translations.|GUI languages and translations. ]]:<br />MakeHuman support a variety of languages. It's very easy to add translations.
|}
==== Reporting a Bug ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Using the Makehuman bug tracker|Using the Makehuman bug tracker ]]: <br />Introduction to the new Makehuman bug tracker
* [[ Documentation:Using the Makehuman log files for error reporting|Using the Makehuman log files for error reporting ]]: <br />How to report bugs using the log files.
|}
==== Developers' note ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Getting started|Getting started ]]: <br />The best way to start your experiments with MakeHuman code is to clone our official repository and start to modify it.
* [[ Documentation:Development infrastructure|Development infrastructure ]]: <br />A description of the MakeHuman development infrastructure.
* [[ Documentation:OpenGL Notes|OpenGL Notes ]]: <br />Most of the 3D mesh handling functionality is delivered using OpenGL embedded within the C application code.
* [[ Documentation:Development organization|Development organization ]]: <br />The organization of distributed development.
* [[ Documentation:Libraries and build procedures|Libraries and build procedures ]]: <br />Describes the details of creating installable packages on major platforms
* [[ Documentation:Directory structure and core modules|Directory structure and core modules ]]: <br />Summary of the MH API reference.
* [[ Documentation:File formats and extensions|File formats and extensions ]]: <br />Describes the formats used internally for data and object storage. [CRUDE NOTES]
* [[ Documentation:Makehuman Plugin System|Makehuman Plugin System ]]: <br />How to make a new plugin and use it in MakeHuman
|}
==== Packager's notes ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Packaging RPM's for Suse/Fedora using Open Build Service (OBS)|Packaging RPM's for Suse/Fedora using Open Build Service (OBS) ]]: <br />Packaging procedure and setup.
|}
=== Tutorials ===
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:MakeClothes:Making a simple dress|MakeClothes: Making a simple dress ]]: <br />The basic MakeClothes workflow.
* [[ Documentation:MakeClothes:Controlling the result with vertex groups|MakeClothes: Controlling the result with vertex groups ]]: <br />The output of the clothes-making process depends on how vertex groups are assigned.
* [[ Documentation:MakeTarget:Creating a Custom Target with MakeTarget Standalone|Creating a Custom Target with MakeTarget Standalone ]]: <br />A practical example of custom target
* [[ Documentation:MakeWalk:The making of Running feet|MakeWalk: The making of Running feet ]]: <br />MakeWalk tutorial, focusing on the Edit Action panel.
* [[ Documentation:MakeWalk:Running feet scene 1|MakeWalk: Running feet scene 1 ]]: <br />Making an extended run on a plane.
* [[ Documentation:MakeWalk:Running feet scene 2|MakeWalk: Running feet scene 2 ]]: <br />High heels and slopes.
* [[ Documentation:MakeWalk:Running feet scene 3|MakeWalk: Running feet scene 3 ]]: <br />The race.
* [[ Documentation:MakeWalk:Running feet scene 4|MakeWalk: Running feet scene 4 ]]: <br />Rough terrain.
* [[ Documentation:MakeWalk:Automatic animation |MakeWalk: Automatic animation ]]: <br />Tutorial on using the editing tools in MakeWalk.
|}
__NOTOC__
<!--
Author Notes:
== Instructions ==
Please put all documentation nodes in namespace "Documentation", like <nowiki>[[Documentation:Introduction to the interface|Introduction to the interface]]</nowiki> (which would resolve as [[Documentation:Introduction to the interface|Introduction to the interface]])
-->
e3e0dcaca3e5616f52b496bfa6ce2efaac9b7b87
697
695
2016-05-20T09:07:24Z
Joepal
14
wikitext
text/x-wiki
These are documentation fragments which have been ported. They may still miss some images
== Introduction ==
* [[Documentation:What is MakeHuman?|What is MakeHuman?]]: A quick introduction to MakeHuman.
* [[Documentation:MakeHuman™ and its Purpose|MakeHuman™ and its Purpose ]]: MakeHuman definition and vision.
* [[Documentation:Short and Long Pipeline|Short and Long Pipeline ]]: The goal of Makehuman is to see it used in 2 different professional pipelines.
* [[Documentation:Professional mesh topology|Professional mesh topology ]]: An overview of the professional topology provided by MakeHuman
* [[Documentation:Legal|Legal ]]: The various licenses that apply to MakeHuman and External tools
== General overview ==
* [[Documentation:Installing MakeHuman|Installing MakeHuman]]
* [[Documentation:Configuration and settings|Configuration and settings]]
* [[Documentation:The interface and its basic functions|The interface and its basic functions]]
* [[Documentation:The toolbar|The toolbar]]
* [[Documentation:The tabs|The tabs]]
* [[Documentation:The sliders|The sliders]]
* [[Documentation:Load, save and export|Load, save and export]]
* [[Documentation:Zoom, pan and rotate using the orbital camera|Zoom, pan and rotate using the orbital camera]]
== Working with the human ==
* [[Documentation:Gender, Random, Measure and Custom|Gender, Random, Measure and Custom]]
* [[Documentation:Hairstyles and Clothes|Hairstyles and Clothes]]
* [[Documentation:Modeling the body|Modeling the body]]
* [[Documentation:Alternative topologies|Alternative topologies]]
* [[Documentation:Skin and other materials|Skin and other materials]]
* [[Documentation:Rendering your work|Rendering your work]]
== Old documentation ==
The old documentation is available, but in a largely unformatted state:
[[Documentation:Big dump from drupal]]
== General overview ==
None
== Defining human characteristics ==
None
== Rendering your work ==
None
== Settings ==
None
== Blender tools ==
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Documentation:MHBlenderTools: Download and installation|MHBlenderTools: Download and installation ]]: How to download and install the addons for Blender
* [[ Documentation:MHBlenderTools: MakeTarget|MHBlenderTools: MakeTarget ]]: Description of the MakeTarget™ tool, to create custom morphings for MakeHuman.
* [[ Documentation:MHBlenderTools:MakeClothes|MHBlenderTools: MakeClothes ]]: Description of the MakeClothes™ tool, to create custom clothes for MakeHuman.
|}
== Documentation for developers ==
[[Technical notes on MakeHuman]]
== Tutorials ==
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6EEE6; padding:.5em;"|
* [[Documentation:Texture painting a skin in blender|Tutorial: Texture painting a skin in blender]]
|}
== Unported stuff from Drupal ==
This is stuff which haven't been ported yet.
[[Documentation:Big dump from drupal]]
==== General overview ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Install MakeHuman™|Install MakeHuman™ ]]: <br />How to install MH on Windows, Osx and Linux.
* [[ Documentation:The Interface and basic functions.|The Interface and basic functions. ]]: <br />The MakeHuman GUI: Load, save, undo and redo, reset, view, symmetry, help.
* [[ Documentation:Zoom, pan and rotate using the orbital camera|Zoom, pan and rotate using the orbital camera ]]: <br />Navigating the scene using the orbital camera.
* [[ Documentation:Load Save and Export|Load Save and Export ]]: <br />Describe file actions for MakeHuman
|}
==== Define Human Characteristics ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Parametric Modelling|Parametric Modelling ]]: <br />A quick introduction to the parametric modelling and sliders usage.
* [[ Documentation:Using MakeHuman Hairstyles and Clothes|Using MakeHuman Hairstyles and Clothes ]]: <br />Hair in the MakeHuman Geometries group
* [[ Documentation:Skin and other materials|Skin and other materials ]]: <br />How to change skin and materials for hair and clothes.
* [[ Documentation:Gender, Random, Measure and Custom|Gender, Random, Measure and Custom ]]: <br />Special modifiers.
* [[ Documentation:Makehuman alternative topologies|Makehuman alternative topologies ]]: <br />MakeHuman provides a smart alternative topologies library
|}
==== Rendering Your Work ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Quick rendering and advanced rendering|Quick rendering and advanced rendering ]]: <br />This section explains how render the character in MakeHuman
* [[ Documentation:Scene and Viewer|Scene and Viewer ]]: <br />How to set lights and how to see and save the rendering
|}
==== Settings ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:General|General ]]: <br />How to set the general preferences
* [[ Documentation:Background|Background ]]: <br />How to use backgrounds for reference.
* [[ Documentation:Mouse|Mouse ]]: <br />Explanation of mouse settings
* [[ Documentation:Shortcuts|Shortcuts ]]: <br />Configuration of shortcuts in Makehuman
* [[ Documentation:Plugins|Plugins ]]: <br />Management of Makehuman plugins
|}
==== Tools and contributing methods ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:MHBlenderTools:MakeWalk|MHBlenderTools: MakeWalk ]]:<br />MakeWalk™ is a Blender add-on for retargeting mocap data (.bvh files) to a given armature.
** [[ Documentation:MHBlenderTools:MakeWalk GUI|MHBlenderTools: MakeWalk GUI ]]:<br />An introduction to MakeWalk™ and its user interface.
** [[ Documentation:MHBlenderTools:MakeWalk Armatures|MHBlenderTools: MakeWalk Armatures ]]:<br />An introduction to MakeWalk™ and the use of armatures. Explaining the meaning and use of source and target armature.
** [[ Documentation:MHBlenderTools:MakeWalk Utilities|MHBlenderTools: MakeWalk Utilities ]]:<br />An introduction to the MakeWalk™ utilities panel: save and restore the defaults, manage actions, t-pose, etc.
** [[ Documentation:MHBlenderTools:MakeWalk Retarget|MHBlenderTools: MakeWalk Retarget ]]:<br />An introduction to MakeWalk™ target rigging. This document will describe common errors and corrective actions.
* [[ Documentation:MHBlenderTools:MHX importer basic usage.|MHBlenderTools: MHX importer basic usage. ]]:<br />MHX (MakeHuman eXchange format) is a custom format used to transfer a rigged character from MakeHuman to Blender.
* [[ Documentation:MHBlenderTools:MHX default rigging|MHBlenderTools: MHX default rigging ]]:<br />If pose/animate > skeleton is set to 'None' when the character is exported from MakeHuman in .mhx format, the character is equipped with the default MHX armature. This is a rather complex rig with quite a few features.
* [[ Documentation:MHBlenderTools:MHX other rigging systems|MHBlenderTools: MHX other rigging systems ]]:<br />The character can be rigged with alternatives and ligher armature or the rigify one (The rigging system for Blender developed by Nathan Vegdahl).
* [[ Documentation:MHBlenderTools:MHX Layers and masks|MHBlenderTools: MHX Layers and masks ]]:<br />The mhx importer creates objects on the first four layers.
* [[ Documentation:MakeTarget standalone|MakeTarget standalone ]]:<br />Converting files produced with the most common modelling software, without Blender.
* [[ Documentation:GUI languages and translations.|GUI languages and translations. ]]:<br />MakeHuman support a variety of languages. It's very easy to add translations.
|}
==== Reporting a Bug ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Using the Makehuman bug tracker|Using the Makehuman bug tracker ]]: <br />Introduction to the new Makehuman bug tracker
* [[ Documentation:Using the Makehuman log files for error reporting|Using the Makehuman log files for error reporting ]]: <br />How to report bugs using the log files.
|}
==== Developers' note ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Getting started|Getting started ]]: <br />The best way to start your experiments with MakeHuman code is to clone our official repository and start to modify it.
* [[ Documentation:Development infrastructure|Development infrastructure ]]: <br />A description of the MakeHuman development infrastructure.
* [[ Documentation:OpenGL Notes|OpenGL Notes ]]: <br />Most of the 3D mesh handling functionality is delivered using OpenGL embedded within the C application code.
* [[ Documentation:Development organization|Development organization ]]: <br />The organization of distributed development.
* [[ Documentation:Libraries and build procedures|Libraries and build procedures ]]: <br />Describes the details of creating installable packages on major platforms
* [[ Documentation:Directory structure and core modules|Directory structure and core modules ]]: <br />Summary of the MH API reference.
* [[ Documentation:File formats and extensions|File formats and extensions ]]: <br />Describes the formats used internally for data and object storage. [CRUDE NOTES]
* [[ Documentation:Makehuman Plugin System|Makehuman Plugin System ]]: <br />How to make a new plugin and use it in MakeHuman
|}
==== Packager's notes ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Packaging RPM's for Suse/Fedora using Open Build Service (OBS)|Packaging RPM's for Suse/Fedora using Open Build Service (OBS) ]]: <br />Packaging procedure and setup.
|}
=== Tutorials ===
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:MakeClothes:Making a simple dress|MakeClothes: Making a simple dress ]]: <br />The basic MakeClothes workflow.
* [[ Documentation:MakeClothes:Controlling the result with vertex groups|MakeClothes: Controlling the result with vertex groups ]]: <br />The output of the clothes-making process depends on how vertex groups are assigned.
* [[ Documentation:MakeTarget:Creating a Custom Target with MakeTarget Standalone|Creating a Custom Target with MakeTarget Standalone ]]: <br />A practical example of custom target
* [[ Documentation:MakeWalk:The making of Running feet|MakeWalk: The making of Running feet ]]: <br />MakeWalk tutorial, focusing on the Edit Action panel.
* [[ Documentation:MakeWalk:Running feet scene 1|MakeWalk: Running feet scene 1 ]]: <br />Making an extended run on a plane.
* [[ Documentation:MakeWalk:Running feet scene 2|MakeWalk: Running feet scene 2 ]]: <br />High heels and slopes.
* [[ Documentation:MakeWalk:Running feet scene 3|MakeWalk: Running feet scene 3 ]]: <br />The race.
* [[ Documentation:MakeWalk:Running feet scene 4|MakeWalk: Running feet scene 4 ]]: <br />Rough terrain.
* [[ Documentation:MakeWalk:Automatic animation |MakeWalk: Automatic animation ]]: <br />Tutorial on using the editing tools in MakeWalk.
|}
__NOTOC__
<!--
Author Notes:
== Instructions ==
Please put all documentation nodes in namespace "Documentation", like <nowiki>[[Documentation:Introduction to the interface|Introduction to the interface]]</nowiki> (which would resolve as [[Documentation:Introduction to the interface|Introduction to the interface]])
-->
b87e1ead27886510f5420f9c4cc1a78d8c70221b
695
692
2016-05-20T09:06:08Z
Joepal
14
wikitext
text/x-wiki
These are documentation fragments which have been ported. They may still miss some images
== Introduction ==
* [[Documentation:What is MakeHuman?|What is MakeHuman?]]: A quick introduction to MakeHuman.
* [[Documentation:MakeHuman™ and its Purpose|MakeHuman™ and its Purpose ]]: MakeHuman definition and vision.
* [[Documentation:Short and Long Pipeline|Short and Long Pipeline ]]: The goal of Makehuman is to see it used in 2 different professional pipelines.
* [[Documentation:Professional mesh topology|Professional mesh topology ]]: An overview of the professional topology provided by MakeHuman
* [[Documentation:Legal|Legal ]]: The various licenses that apply to MakeHuman and External tools
== General overview ==
* [[Documentation:Installing MakeHuman|Installing MakeHuman]]
* [[Documentation:The interface and its basic functions|The interface and its basic functions]]
* [[Documentation:The toolbar|The toolbar]]
* [[Documentation:The tabs|The tabs]]
* [[Documentation:The sliders|The sliders]]
* [[Documentation:Load, save and export|Load, save and export]]
* [[Documentation:Zoom, pan and rotate using the orbital camera|Zoom, pan and rotate using the orbital camera]]
== Working with the human ==
* [[Documentation:Gender, Random, Measure and Custom|Gender, Random, Measure and Custom]]
* [[Documentation:Hairstyles and Clothes|Hairstyles and Clothes]]
* [[Documentation:Modeling the body|Modeling the body]]
* [[Documentation:Alternative topologies|Alternative topologies]]
* [[Documentation:Skin and other materials|Skin and other materials]]
* [[Documentation:Rendering your work|Rendering your work]]
== Old documentation ==
The old documentation is available, but in a largely unformatted state:
[[Documentation:Big dump from drupal]]
== General overview ==
None
== Defining human characteristics ==
None
== Rendering your work ==
None
== Settings ==
None
== Blender tools ==
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Documentation:MHBlenderTools: Download and installation|MHBlenderTools: Download and installation ]]: How to download and install the addons for Blender
* [[ Documentation:MHBlenderTools: MakeTarget|MHBlenderTools: MakeTarget ]]: Description of the MakeTarget™ tool, to create custom morphings for MakeHuman.
* [[ Documentation:MHBlenderTools:MakeClothes|MHBlenderTools: MakeClothes ]]: Description of the MakeClothes™ tool, to create custom clothes for MakeHuman.
|}
== Documentation for developers ==
[[Technical notes on MakeHuman]]
== Tutorials ==
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6EEE6; padding:.5em;"|
* [[Documentation:Texture painting a skin in blender|Tutorial: Texture painting a skin in blender]]
|}
== Unported stuff from Drupal ==
This is stuff which haven't been ported yet.
[[Documentation:Big dump from drupal]]
==== General overview ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Install MakeHuman™|Install MakeHuman™ ]]: <br />How to install MH on Windows, Osx and Linux.
* [[ Documentation:The Interface and basic functions.|The Interface and basic functions. ]]: <br />The MakeHuman GUI: Load, save, undo and redo, reset, view, symmetry, help.
* [[ Documentation:Zoom, pan and rotate using the orbital camera|Zoom, pan and rotate using the orbital camera ]]: <br />Navigating the scene using the orbital camera.
* [[ Documentation:Load Save and Export|Load Save and Export ]]: <br />Describe file actions for MakeHuman
|}
==== Define Human Characteristics ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Parametric Modelling|Parametric Modelling ]]: <br />A quick introduction to the parametric modelling and sliders usage.
* [[ Documentation:Using MakeHuman Hairstyles and Clothes|Using MakeHuman Hairstyles and Clothes ]]: <br />Hair in the MakeHuman Geometries group
* [[ Documentation:Skin and other materials|Skin and other materials ]]: <br />How to change skin and materials for hair and clothes.
* [[ Documentation:Gender, Random, Measure and Custom|Gender, Random, Measure and Custom ]]: <br />Special modifiers.
* [[ Documentation:Makehuman alternative topologies|Makehuman alternative topologies ]]: <br />MakeHuman provides a smart alternative topologies library
|}
==== Rendering Your Work ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Quick rendering and advanced rendering|Quick rendering and advanced rendering ]]: <br />This section explains how render the character in MakeHuman
* [[ Documentation:Scene and Viewer|Scene and Viewer ]]: <br />How to set lights and how to see and save the rendering
|}
==== Settings ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:General|General ]]: <br />How to set the general preferences
* [[ Documentation:Background|Background ]]: <br />How to use backgrounds for reference.
* [[ Documentation:Mouse|Mouse ]]: <br />Explanation of mouse settings
* [[ Documentation:Shortcuts|Shortcuts ]]: <br />Configuration of shortcuts in Makehuman
* [[ Documentation:Plugins|Plugins ]]: <br />Management of Makehuman plugins
|}
==== Tools and contributing methods ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:MHBlenderTools:MakeWalk|MHBlenderTools: MakeWalk ]]:<br />MakeWalk™ is a Blender add-on for retargeting mocap data (.bvh files) to a given armature.
** [[ Documentation:MHBlenderTools:MakeWalk GUI|MHBlenderTools: MakeWalk GUI ]]:<br />An introduction to MakeWalk™ and its user interface.
** [[ Documentation:MHBlenderTools:MakeWalk Armatures|MHBlenderTools: MakeWalk Armatures ]]:<br />An introduction to MakeWalk™ and the use of armatures. Explaining the meaning and use of source and target armature.
** [[ Documentation:MHBlenderTools:MakeWalk Utilities|MHBlenderTools: MakeWalk Utilities ]]:<br />An introduction to the MakeWalk™ utilities panel: save and restore the defaults, manage actions, t-pose, etc.
** [[ Documentation:MHBlenderTools:MakeWalk Retarget|MHBlenderTools: MakeWalk Retarget ]]:<br />An introduction to MakeWalk™ target rigging. This document will describe common errors and corrective actions.
* [[ Documentation:MHBlenderTools:MHX importer basic usage.|MHBlenderTools: MHX importer basic usage. ]]:<br />MHX (MakeHuman eXchange format) is a custom format used to transfer a rigged character from MakeHuman to Blender.
* [[ Documentation:MHBlenderTools:MHX default rigging|MHBlenderTools: MHX default rigging ]]:<br />If pose/animate > skeleton is set to 'None' when the character is exported from MakeHuman in .mhx format, the character is equipped with the default MHX armature. This is a rather complex rig with quite a few features.
* [[ Documentation:MHBlenderTools:MHX other rigging systems|MHBlenderTools: MHX other rigging systems ]]:<br />The character can be rigged with alternatives and ligher armature or the rigify one (The rigging system for Blender developed by Nathan Vegdahl).
* [[ Documentation:MHBlenderTools:MHX Layers and masks|MHBlenderTools: MHX Layers and masks ]]:<br />The mhx importer creates objects on the first four layers.
* [[ Documentation:MakeTarget standalone|MakeTarget standalone ]]:<br />Converting files produced with the most common modelling software, without Blender.
* [[ Documentation:GUI languages and translations.|GUI languages and translations. ]]:<br />MakeHuman support a variety of languages. It's very easy to add translations.
|}
==== Reporting a Bug ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Using the Makehuman bug tracker|Using the Makehuman bug tracker ]]: <br />Introduction to the new Makehuman bug tracker
* [[ Documentation:Using the Makehuman log files for error reporting|Using the Makehuman log files for error reporting ]]: <br />How to report bugs using the log files.
|}
==== Developers' note ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Getting started|Getting started ]]: <br />The best way to start your experiments with MakeHuman code is to clone our official repository and start to modify it.
* [[ Documentation:Development infrastructure|Development infrastructure ]]: <br />A description of the MakeHuman development infrastructure.
* [[ Documentation:OpenGL Notes|OpenGL Notes ]]: <br />Most of the 3D mesh handling functionality is delivered using OpenGL embedded within the C application code.
* [[ Documentation:Development organization|Development organization ]]: <br />The organization of distributed development.
* [[ Documentation:Libraries and build procedures|Libraries and build procedures ]]: <br />Describes the details of creating installable packages on major platforms
* [[ Documentation:Directory structure and core modules|Directory structure and core modules ]]: <br />Summary of the MH API reference.
* [[ Documentation:File formats and extensions|File formats and extensions ]]: <br />Describes the formats used internally for data and object storage. [CRUDE NOTES]
* [[ Documentation:Makehuman Plugin System|Makehuman Plugin System ]]: <br />How to make a new plugin and use it in MakeHuman
|}
==== Packager's notes ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Packaging RPM's for Suse/Fedora using Open Build Service (OBS)|Packaging RPM's for Suse/Fedora using Open Build Service (OBS) ]]: <br />Packaging procedure and setup.
|}
=== Tutorials ===
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:MakeClothes:Making a simple dress|MakeClothes: Making a simple dress ]]: <br />The basic MakeClothes workflow.
* [[ Documentation:MakeClothes:Controlling the result with vertex groups|MakeClothes: Controlling the result with vertex groups ]]: <br />The output of the clothes-making process depends on how vertex groups are assigned.
* [[ Documentation:MakeTarget:Creating a Custom Target with MakeTarget Standalone|Creating a Custom Target with MakeTarget Standalone ]]: <br />A practical example of custom target
* [[ Documentation:MakeWalk:The making of Running feet|MakeWalk: The making of Running feet ]]: <br />MakeWalk tutorial, focusing on the Edit Action panel.
* [[ Documentation:MakeWalk:Running feet scene 1|MakeWalk: Running feet scene 1 ]]: <br />Making an extended run on a plane.
* [[ Documentation:MakeWalk:Running feet scene 2|MakeWalk: Running feet scene 2 ]]: <br />High heels and slopes.
* [[ Documentation:MakeWalk:Running feet scene 3|MakeWalk: Running feet scene 3 ]]: <br />The race.
* [[ Documentation:MakeWalk:Running feet scene 4|MakeWalk: Running feet scene 4 ]]: <br />Rough terrain.
* [[ Documentation:MakeWalk:Automatic animation |MakeWalk: Automatic animation ]]: <br />Tutorial on using the editing tools in MakeWalk.
|}
__NOTOC__
<!--
Author Notes:
== Instructions ==
Please put all documentation nodes in namespace "Documentation", like <nowiki>[[Documentation:Introduction to the interface|Introduction to the interface]]</nowiki> (which would resolve as [[Documentation:Introduction to the interface|Introduction to the interface]])
-->
24520d19cf0783eb5113c9b7fc398a09c72e59a8
692
688
2016-05-20T09:04:14Z
Joepal
14
/* Editing the human */
wikitext
text/x-wiki
These are documentation fragments which have been ported. They may still miss some images
== Introduction ==
* [[Documentation:What is MakeHuman?|What is MakeHuman?]]: A quick introduction to MakeHuman.
* [[Documentation:MakeHuman™ and its Purpose|MakeHuman™ and its Purpose ]]: MakeHuman definition and vision.
* [[Documentation:Short and Long Pipeline|Short and Long Pipeline ]]: The goal of Makehuman is to see it used in 2 different professional pipelines.
* [[Documentation:Professional mesh topology|Professional mesh topology ]]: An overview of the professional topology provided by MakeHuman
* [[Documentation:Legal|Legal ]]: The various licenses that apply to MakeHuman and External tools
== General overview ==
* [[Documentation:Installing MakeHuman|Installing MakeHuman]]
* [[Documentation:The interface and its basic functions|The interface and its basic functions]]
* [[Documentation:The toolbar|The toolbar]]
* [[Documentation:The tabs|The tabs]]
* [[Documentation:The sliders|The sliders]]
* [[Documentation:Load, save and export|Load, save and export]]
* [[Documentation:Zoom, pan and rotate using the orbital camera|Zoom, pan and rotate using the orbital camera]]
== Editing the human ==
* [[Documentation:Gender, Random, Measure and Custom|Gender, Random, Measure and Custom]]
* [[Documentation:Hairstyles and Clothes|Hairstyles and Clothes]]
* [[Documentation:Modeling the body|Modeling the body]]
* [[Documentation:Alternative topologies|Alternative topologies]]
* [[Documentation:Skin and other materials|Skin and other materials]]
== Old documentation ==
The old documentation is available, but in a largely unformatted state:
[[Documentation:Big dump from drupal]]
== General overview ==
None
== Defining human characteristics ==
None
== Rendering your work ==
None
== Settings ==
None
== Blender tools ==
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Documentation:MHBlenderTools: Download and installation|MHBlenderTools: Download and installation ]]: How to download and install the addons for Blender
* [[ Documentation:MHBlenderTools: MakeTarget|MHBlenderTools: MakeTarget ]]: Description of the MakeTarget™ tool, to create custom morphings for MakeHuman.
* [[ Documentation:MHBlenderTools:MakeClothes|MHBlenderTools: MakeClothes ]]: Description of the MakeClothes™ tool, to create custom clothes for MakeHuman.
|}
== Documentation for developers ==
[[Technical notes on MakeHuman]]
== Tutorials ==
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6EEE6; padding:.5em;"|
* [[Documentation:Texture painting a skin in blender|Tutorial: Texture painting a skin in blender]]
|}
== Unported stuff from Drupal ==
This is stuff which haven't been ported yet.
[[Documentation:Big dump from drupal]]
==== General overview ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Install MakeHuman™|Install MakeHuman™ ]]: <br />How to install MH on Windows, Osx and Linux.
* [[ Documentation:The Interface and basic functions.|The Interface and basic functions. ]]: <br />The MakeHuman GUI: Load, save, undo and redo, reset, view, symmetry, help.
* [[ Documentation:Zoom, pan and rotate using the orbital camera|Zoom, pan and rotate using the orbital camera ]]: <br />Navigating the scene using the orbital camera.
* [[ Documentation:Load Save and Export|Load Save and Export ]]: <br />Describe file actions for MakeHuman
|}
==== Define Human Characteristics ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Parametric Modelling|Parametric Modelling ]]: <br />A quick introduction to the parametric modelling and sliders usage.
* [[ Documentation:Using MakeHuman Hairstyles and Clothes|Using MakeHuman Hairstyles and Clothes ]]: <br />Hair in the MakeHuman Geometries group
* [[ Documentation:Skin and other materials|Skin and other materials ]]: <br />How to change skin and materials for hair and clothes.
* [[ Documentation:Gender, Random, Measure and Custom|Gender, Random, Measure and Custom ]]: <br />Special modifiers.
* [[ Documentation:Makehuman alternative topologies|Makehuman alternative topologies ]]: <br />MakeHuman provides a smart alternative topologies library
|}
==== Rendering Your Work ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Quick rendering and advanced rendering|Quick rendering and advanced rendering ]]: <br />This section explains how render the character in MakeHuman
* [[ Documentation:Scene and Viewer|Scene and Viewer ]]: <br />How to set lights and how to see and save the rendering
|}
==== Settings ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:General|General ]]: <br />How to set the general preferences
* [[ Documentation:Background|Background ]]: <br />How to use backgrounds for reference.
* [[ Documentation:Mouse|Mouse ]]: <br />Explanation of mouse settings
* [[ Documentation:Shortcuts|Shortcuts ]]: <br />Configuration of shortcuts in Makehuman
* [[ Documentation:Plugins|Plugins ]]: <br />Management of Makehuman plugins
|}
==== Tools and contributing methods ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:MHBlenderTools:MakeWalk|MHBlenderTools: MakeWalk ]]:<br />MakeWalk™ is a Blender add-on for retargeting mocap data (.bvh files) to a given armature.
** [[ Documentation:MHBlenderTools:MakeWalk GUI|MHBlenderTools: MakeWalk GUI ]]:<br />An introduction to MakeWalk™ and its user interface.
** [[ Documentation:MHBlenderTools:MakeWalk Armatures|MHBlenderTools: MakeWalk Armatures ]]:<br />An introduction to MakeWalk™ and the use of armatures. Explaining the meaning and use of source and target armature.
** [[ Documentation:MHBlenderTools:MakeWalk Utilities|MHBlenderTools: MakeWalk Utilities ]]:<br />An introduction to the MakeWalk™ utilities panel: save and restore the defaults, manage actions, t-pose, etc.
** [[ Documentation:MHBlenderTools:MakeWalk Retarget|MHBlenderTools: MakeWalk Retarget ]]:<br />An introduction to MakeWalk™ target rigging. This document will describe common errors and corrective actions.
* [[ Documentation:MHBlenderTools:MHX importer basic usage.|MHBlenderTools: MHX importer basic usage. ]]:<br />MHX (MakeHuman eXchange format) is a custom format used to transfer a rigged character from MakeHuman to Blender.
* [[ Documentation:MHBlenderTools:MHX default rigging|MHBlenderTools: MHX default rigging ]]:<br />If pose/animate > skeleton is set to 'None' when the character is exported from MakeHuman in .mhx format, the character is equipped with the default MHX armature. This is a rather complex rig with quite a few features.
* [[ Documentation:MHBlenderTools:MHX other rigging systems|MHBlenderTools: MHX other rigging systems ]]:<br />The character can be rigged with alternatives and ligher armature or the rigify one (The rigging system for Blender developed by Nathan Vegdahl).
* [[ Documentation:MHBlenderTools:MHX Layers and masks|MHBlenderTools: MHX Layers and masks ]]:<br />The mhx importer creates objects on the first four layers.
* [[ Documentation:MakeTarget standalone|MakeTarget standalone ]]:<br />Converting files produced with the most common modelling software, without Blender.
* [[ Documentation:GUI languages and translations.|GUI languages and translations. ]]:<br />MakeHuman support a variety of languages. It's very easy to add translations.
|}
==== Reporting a Bug ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Using the Makehuman bug tracker|Using the Makehuman bug tracker ]]: <br />Introduction to the new Makehuman bug tracker
* [[ Documentation:Using the Makehuman log files for error reporting|Using the Makehuman log files for error reporting ]]: <br />How to report bugs using the log files.
|}
==== Developers' note ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Getting started|Getting started ]]: <br />The best way to start your experiments with MakeHuman code is to clone our official repository and start to modify it.
* [[ Documentation:Development infrastructure|Development infrastructure ]]: <br />A description of the MakeHuman development infrastructure.
* [[ Documentation:OpenGL Notes|OpenGL Notes ]]: <br />Most of the 3D mesh handling functionality is delivered using OpenGL embedded within the C application code.
* [[ Documentation:Development organization|Development organization ]]: <br />The organization of distributed development.
* [[ Documentation:Libraries and build procedures|Libraries and build procedures ]]: <br />Describes the details of creating installable packages on major platforms
* [[ Documentation:Directory structure and core modules|Directory structure and core modules ]]: <br />Summary of the MH API reference.
* [[ Documentation:File formats and extensions|File formats and extensions ]]: <br />Describes the formats used internally for data and object storage. [CRUDE NOTES]
* [[ Documentation:Makehuman Plugin System|Makehuman Plugin System ]]: <br />How to make a new plugin and use it in MakeHuman
|}
==== Packager's notes ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Packaging RPM's for Suse/Fedora using Open Build Service (OBS)|Packaging RPM's for Suse/Fedora using Open Build Service (OBS) ]]: <br />Packaging procedure and setup.
|}
=== Tutorials ===
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:MakeClothes:Making a simple dress|MakeClothes: Making a simple dress ]]: <br />The basic MakeClothes workflow.
* [[ Documentation:MakeClothes:Controlling the result with vertex groups|MakeClothes: Controlling the result with vertex groups ]]: <br />The output of the clothes-making process depends on how vertex groups are assigned.
* [[ Documentation:MakeTarget:Creating a Custom Target with MakeTarget Standalone|Creating a Custom Target with MakeTarget Standalone ]]: <br />A practical example of custom target
* [[ Documentation:MakeWalk:The making of Running feet|MakeWalk: The making of Running feet ]]: <br />MakeWalk tutorial, focusing on the Edit Action panel.
* [[ Documentation:MakeWalk:Running feet scene 1|MakeWalk: Running feet scene 1 ]]: <br />Making an extended run on a plane.
* [[ Documentation:MakeWalk:Running feet scene 2|MakeWalk: Running feet scene 2 ]]: <br />High heels and slopes.
* [[ Documentation:MakeWalk:Running feet scene 3|MakeWalk: Running feet scene 3 ]]: <br />The race.
* [[ Documentation:MakeWalk:Running feet scene 4|MakeWalk: Running feet scene 4 ]]: <br />Rough terrain.
* [[ Documentation:MakeWalk:Automatic animation |MakeWalk: Automatic animation ]]: <br />Tutorial on using the editing tools in MakeWalk.
|}
__NOTOC__
<!--
Author Notes:
== Instructions ==
Please put all documentation nodes in namespace "Documentation", like <nowiki>[[Documentation:Introduction to the interface|Introduction to the interface]]</nowiki> (which would resolve as [[Documentation:Introduction to the interface|Introduction to the interface]])
-->
d2da389a20c6503a986f600423e11b26e9b2a6fd
688
685
2016-05-20T08:59:37Z
Joepal
14
wikitext
text/x-wiki
These are documentation fragments which have been ported. They may still miss some images
== Introduction ==
* [[Documentation:What is MakeHuman?|What is MakeHuman?]]: A quick introduction to MakeHuman.
* [[Documentation:MakeHuman™ and its Purpose|MakeHuman™ and its Purpose ]]: MakeHuman definition and vision.
* [[Documentation:Short and Long Pipeline|Short and Long Pipeline ]]: The goal of Makehuman is to see it used in 2 different professional pipelines.
* [[Documentation:Professional mesh topology|Professional mesh topology ]]: An overview of the professional topology provided by MakeHuman
* [[Documentation:Legal|Legal ]]: The various licenses that apply to MakeHuman and External tools
== General overview ==
* [[Documentation:Installing MakeHuman|Installing MakeHuman]]
* [[Documentation:The interface and its basic functions|The interface and its basic functions]]
* [[Documentation:The toolbar|The toolbar]]
* [[Documentation:The tabs|The tabs]]
* [[Documentation:The sliders|The sliders]]
* [[Documentation:Load, save and export|Load, save and export]]
* [[Documentation:Zoom, pan and rotate using the orbital camera|Zoom, pan and rotate using the orbital camera]]
== Editing the human ==
* [[Documentation:Gender, Random, Measure and Custom|Gender, Random, Measure and Custom]]
* [[Documentation:Hairstyles and Clothes|Hairstyles and Clothes]]
* [[Documentation:Modeling the body|Modeling the body]]
* [[Documentation:Alternative topologies]]
* [[Documentation:Skin and other materials|Alternative topologies]]
== Old documentation ==
The old documentation is available, but in a largely unformatted state:
[[Documentation:Big dump from drupal]]
== General overview ==
None
== Defining human characteristics ==
None
== Rendering your work ==
None
== Settings ==
None
== Blender tools ==
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Documentation:MHBlenderTools: Download and installation|MHBlenderTools: Download and installation ]]: How to download and install the addons for Blender
* [[ Documentation:MHBlenderTools: MakeTarget|MHBlenderTools: MakeTarget ]]: Description of the MakeTarget™ tool, to create custom morphings for MakeHuman.
* [[ Documentation:MHBlenderTools:MakeClothes|MHBlenderTools: MakeClothes ]]: Description of the MakeClothes™ tool, to create custom clothes for MakeHuman.
|}
== Documentation for developers ==
[[Technical notes on MakeHuman]]
== Tutorials ==
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6EEE6; padding:.5em;"|
* [[Documentation:Texture painting a skin in blender|Tutorial: Texture painting a skin in blender]]
|}
== Unported stuff from Drupal ==
This is stuff which haven't been ported yet.
[[Documentation:Big dump from drupal]]
==== General overview ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Install MakeHuman™|Install MakeHuman™ ]]: <br />How to install MH on Windows, Osx and Linux.
* [[ Documentation:The Interface and basic functions.|The Interface and basic functions. ]]: <br />The MakeHuman GUI: Load, save, undo and redo, reset, view, symmetry, help.
* [[ Documentation:Zoom, pan and rotate using the orbital camera|Zoom, pan and rotate using the orbital camera ]]: <br />Navigating the scene using the orbital camera.
* [[ Documentation:Load Save and Export|Load Save and Export ]]: <br />Describe file actions for MakeHuman
|}
==== Define Human Characteristics ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Parametric Modelling|Parametric Modelling ]]: <br />A quick introduction to the parametric modelling and sliders usage.
* [[ Documentation:Using MakeHuman Hairstyles and Clothes|Using MakeHuman Hairstyles and Clothes ]]: <br />Hair in the MakeHuman Geometries group
* [[ Documentation:Skin and other materials|Skin and other materials ]]: <br />How to change skin and materials for hair and clothes.
* [[ Documentation:Gender, Random, Measure and Custom|Gender, Random, Measure and Custom ]]: <br />Special modifiers.
* [[ Documentation:Makehuman alternative topologies|Makehuman alternative topologies ]]: <br />MakeHuman provides a smart alternative topologies library
|}
==== Rendering Your Work ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Quick rendering and advanced rendering|Quick rendering and advanced rendering ]]: <br />This section explains how render the character in MakeHuman
* [[ Documentation:Scene and Viewer|Scene and Viewer ]]: <br />How to set lights and how to see and save the rendering
|}
==== Settings ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:General|General ]]: <br />How to set the general preferences
* [[ Documentation:Background|Background ]]: <br />How to use backgrounds for reference.
* [[ Documentation:Mouse|Mouse ]]: <br />Explanation of mouse settings
* [[ Documentation:Shortcuts|Shortcuts ]]: <br />Configuration of shortcuts in Makehuman
* [[ Documentation:Plugins|Plugins ]]: <br />Management of Makehuman plugins
|}
==== Tools and contributing methods ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:MHBlenderTools:MakeWalk|MHBlenderTools: MakeWalk ]]:<br />MakeWalk™ is a Blender add-on for retargeting mocap data (.bvh files) to a given armature.
** [[ Documentation:MHBlenderTools:MakeWalk GUI|MHBlenderTools: MakeWalk GUI ]]:<br />An introduction to MakeWalk™ and its user interface.
** [[ Documentation:MHBlenderTools:MakeWalk Armatures|MHBlenderTools: MakeWalk Armatures ]]:<br />An introduction to MakeWalk™ and the use of armatures. Explaining the meaning and use of source and target armature.
** [[ Documentation:MHBlenderTools:MakeWalk Utilities|MHBlenderTools: MakeWalk Utilities ]]:<br />An introduction to the MakeWalk™ utilities panel: save and restore the defaults, manage actions, t-pose, etc.
** [[ Documentation:MHBlenderTools:MakeWalk Retarget|MHBlenderTools: MakeWalk Retarget ]]:<br />An introduction to MakeWalk™ target rigging. This document will describe common errors and corrective actions.
* [[ Documentation:MHBlenderTools:MHX importer basic usage.|MHBlenderTools: MHX importer basic usage. ]]:<br />MHX (MakeHuman eXchange format) is a custom format used to transfer a rigged character from MakeHuman to Blender.
* [[ Documentation:MHBlenderTools:MHX default rigging|MHBlenderTools: MHX default rigging ]]:<br />If pose/animate > skeleton is set to 'None' when the character is exported from MakeHuman in .mhx format, the character is equipped with the default MHX armature. This is a rather complex rig with quite a few features.
* [[ Documentation:MHBlenderTools:MHX other rigging systems|MHBlenderTools: MHX other rigging systems ]]:<br />The character can be rigged with alternatives and ligher armature or the rigify one (The rigging system for Blender developed by Nathan Vegdahl).
* [[ Documentation:MHBlenderTools:MHX Layers and masks|MHBlenderTools: MHX Layers and masks ]]:<br />The mhx importer creates objects on the first four layers.
* [[ Documentation:MakeTarget standalone|MakeTarget standalone ]]:<br />Converting files produced with the most common modelling software, without Blender.
* [[ Documentation:GUI languages and translations.|GUI languages and translations. ]]:<br />MakeHuman support a variety of languages. It's very easy to add translations.
|}
==== Reporting a Bug ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Using the Makehuman bug tracker|Using the Makehuman bug tracker ]]: <br />Introduction to the new Makehuman bug tracker
* [[ Documentation:Using the Makehuman log files for error reporting|Using the Makehuman log files for error reporting ]]: <br />How to report bugs using the log files.
|}
==== Developers' note ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Getting started|Getting started ]]: <br />The best way to start your experiments with MakeHuman code is to clone our official repository and start to modify it.
* [[ Documentation:Development infrastructure|Development infrastructure ]]: <br />A description of the MakeHuman development infrastructure.
* [[ Documentation:OpenGL Notes|OpenGL Notes ]]: <br />Most of the 3D mesh handling functionality is delivered using OpenGL embedded within the C application code.
* [[ Documentation:Development organization|Development organization ]]: <br />The organization of distributed development.
* [[ Documentation:Libraries and build procedures|Libraries and build procedures ]]: <br />Describes the details of creating installable packages on major platforms
* [[ Documentation:Directory structure and core modules|Directory structure and core modules ]]: <br />Summary of the MH API reference.
* [[ Documentation:File formats and extensions|File formats and extensions ]]: <br />Describes the formats used internally for data and object storage. [CRUDE NOTES]
* [[ Documentation:Makehuman Plugin System|Makehuman Plugin System ]]: <br />How to make a new plugin and use it in MakeHuman
|}
==== Packager's notes ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Packaging RPM's for Suse/Fedora using Open Build Service (OBS)|Packaging RPM's for Suse/Fedora using Open Build Service (OBS) ]]: <br />Packaging procedure and setup.
|}
=== Tutorials ===
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:MakeClothes:Making a simple dress|MakeClothes: Making a simple dress ]]: <br />The basic MakeClothes workflow.
* [[ Documentation:MakeClothes:Controlling the result with vertex groups|MakeClothes: Controlling the result with vertex groups ]]: <br />The output of the clothes-making process depends on how vertex groups are assigned.
* [[ Documentation:MakeTarget:Creating a Custom Target with MakeTarget Standalone|Creating a Custom Target with MakeTarget Standalone ]]: <br />A practical example of custom target
* [[ Documentation:MakeWalk:The making of Running feet|MakeWalk: The making of Running feet ]]: <br />MakeWalk tutorial, focusing on the Edit Action panel.
* [[ Documentation:MakeWalk:Running feet scene 1|MakeWalk: Running feet scene 1 ]]: <br />Making an extended run on a plane.
* [[ Documentation:MakeWalk:Running feet scene 2|MakeWalk: Running feet scene 2 ]]: <br />High heels and slopes.
* [[ Documentation:MakeWalk:Running feet scene 3|MakeWalk: Running feet scene 3 ]]: <br />The race.
* [[ Documentation:MakeWalk:Running feet scene 4|MakeWalk: Running feet scene 4 ]]: <br />Rough terrain.
* [[ Documentation:MakeWalk:Automatic animation |MakeWalk: Automatic animation ]]: <br />Tutorial on using the editing tools in MakeWalk.
|}
__NOTOC__
<!--
Author Notes:
== Instructions ==
Please put all documentation nodes in namespace "Documentation", like <nowiki>[[Documentation:Introduction to the interface|Introduction to the interface]]</nowiki> (which would resolve as [[Documentation:Introduction to the interface|Introduction to the interface]])
-->
a26bdcbd04bdc6d9d0f95ac0ef54207d182c4a1f
685
678
2016-05-20T08:37:00Z
Joepal
14
/* General overview */
wikitext
text/x-wiki
These are documentation fragments which have been ported. They may still miss some images
== Introduction ==
* [[Documentation:What is MakeHuman?|What is MakeHuman?]]: A quick introduction to MakeHuman.
* [[Documentation:MakeHuman™ and its Purpose|MakeHuman™ and its Purpose ]]: MakeHuman definition and vision.
* [[Documentation:Short and Long Pipeline|Short and Long Pipeline ]]: The goal of Makehuman is to see it used in 2 different professional pipelines.
* [[Documentation:Professional mesh topology|Professional mesh topology ]]: An overview of the professional topology provided by MakeHuman
* [[Documentation:Legal|Legal ]]: The various licenses that apply to MakeHuman and External tools
== General overview ==
* [[Documentation:Installing MakeHuman|Installing MakeHuman]]
* [[Documentation:The interface and its basic functions|The interface and its basic functions]]
* [[Documentation:The toolbar|The toolbar]]
* [[Documentation:The tabs|The tabs]]
* [[Documentation:The sliders|The sliders]]
* [[Documentation:Load, save and export|Load, save and export]]
* [[Documentation:Zoom, pan and rotate using the orbital camera|Zoom, pan and rotate using the orbital camera]]
== Old documentation ==
The old documentation is available, but in a largely unformatted state:
[[Documentation:Big dump from drupal]]
== General overview ==
None
== Defining human characteristics ==
None
== Rendering your work ==
None
== Settings ==
None
== Blender tools ==
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Documentation:MHBlenderTools: Download and installation|MHBlenderTools: Download and installation ]]: How to download and install the addons for Blender
* [[ Documentation:MHBlenderTools: MakeTarget|MHBlenderTools: MakeTarget ]]: Description of the MakeTarget™ tool, to create custom morphings for MakeHuman.
* [[ Documentation:MHBlenderTools:MakeClothes|MHBlenderTools: MakeClothes ]]: Description of the MakeClothes™ tool, to create custom clothes for MakeHuman.
|}
== Documentation for developers ==
[[Technical notes on MakeHuman]]
== Tutorials ==
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6EEE6; padding:.5em;"|
* [[Documentation:Texture painting a skin in blender|Tutorial: Texture painting a skin in blender]]
|}
== Unported stuff from Drupal ==
This is stuff which haven't been ported yet.
[[Documentation:Big dump from drupal]]
==== General overview ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Install MakeHuman™|Install MakeHuman™ ]]: <br />How to install MH on Windows, Osx and Linux.
* [[ Documentation:The Interface and basic functions.|The Interface and basic functions. ]]: <br />The MakeHuman GUI: Load, save, undo and redo, reset, view, symmetry, help.
* [[ Documentation:Zoom, pan and rotate using the orbital camera|Zoom, pan and rotate using the orbital camera ]]: <br />Navigating the scene using the orbital camera.
* [[ Documentation:Load Save and Export|Load Save and Export ]]: <br />Describe file actions for MakeHuman
|}
==== Define Human Characteristics ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Parametric Modelling|Parametric Modelling ]]: <br />A quick introduction to the parametric modelling and sliders usage.
* [[ Documentation:Using MakeHuman Hairstyles and Clothes|Using MakeHuman Hairstyles and Clothes ]]: <br />Hair in the MakeHuman Geometries group
* [[ Documentation:Skin and other materials|Skin and other materials ]]: <br />How to change skin and materials for hair and clothes.
* [[ Documentation:Gender, Random, Measure and Custom|Gender, Random, Measure and Custom ]]: <br />Special modifiers.
* [[ Documentation:Makehuman alternative topologies|Makehuman alternative topologies ]]: <br />MakeHuman provides a smart alternative topologies library
|}
==== Rendering Your Work ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Quick rendering and advanced rendering|Quick rendering and advanced rendering ]]: <br />This section explains how render the character in MakeHuman
* [[ Documentation:Scene and Viewer|Scene and Viewer ]]: <br />How to set lights and how to see and save the rendering
|}
==== Settings ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:General|General ]]: <br />How to set the general preferences
* [[ Documentation:Background|Background ]]: <br />How to use backgrounds for reference.
* [[ Documentation:Mouse|Mouse ]]: <br />Explanation of mouse settings
* [[ Documentation:Shortcuts|Shortcuts ]]: <br />Configuration of shortcuts in Makehuman
* [[ Documentation:Plugins|Plugins ]]: <br />Management of Makehuman plugins
|}
==== Tools and contributing methods ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:MHBlenderTools:MakeWalk|MHBlenderTools: MakeWalk ]]:<br />MakeWalk™ is a Blender add-on for retargeting mocap data (.bvh files) to a given armature.
** [[ Documentation:MHBlenderTools:MakeWalk GUI|MHBlenderTools: MakeWalk GUI ]]:<br />An introduction to MakeWalk™ and its user interface.
** [[ Documentation:MHBlenderTools:MakeWalk Armatures|MHBlenderTools: MakeWalk Armatures ]]:<br />An introduction to MakeWalk™ and the use of armatures. Explaining the meaning and use of source and target armature.
** [[ Documentation:MHBlenderTools:MakeWalk Utilities|MHBlenderTools: MakeWalk Utilities ]]:<br />An introduction to the MakeWalk™ utilities panel: save and restore the defaults, manage actions, t-pose, etc.
** [[ Documentation:MHBlenderTools:MakeWalk Retarget|MHBlenderTools: MakeWalk Retarget ]]:<br />An introduction to MakeWalk™ target rigging. This document will describe common errors and corrective actions.
* [[ Documentation:MHBlenderTools:MHX importer basic usage.|MHBlenderTools: MHX importer basic usage. ]]:<br />MHX (MakeHuman eXchange format) is a custom format used to transfer a rigged character from MakeHuman to Blender.
* [[ Documentation:MHBlenderTools:MHX default rigging|MHBlenderTools: MHX default rigging ]]:<br />If pose/animate > skeleton is set to 'None' when the character is exported from MakeHuman in .mhx format, the character is equipped with the default MHX armature. This is a rather complex rig with quite a few features.
* [[ Documentation:MHBlenderTools:MHX other rigging systems|MHBlenderTools: MHX other rigging systems ]]:<br />The character can be rigged with alternatives and ligher armature or the rigify one (The rigging system for Blender developed by Nathan Vegdahl).
* [[ Documentation:MHBlenderTools:MHX Layers and masks|MHBlenderTools: MHX Layers and masks ]]:<br />The mhx importer creates objects on the first four layers.
* [[ Documentation:MakeTarget standalone|MakeTarget standalone ]]:<br />Converting files produced with the most common modelling software, without Blender.
* [[ Documentation:GUI languages and translations.|GUI languages and translations. ]]:<br />MakeHuman support a variety of languages. It's very easy to add translations.
|}
==== Reporting a Bug ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Using the Makehuman bug tracker|Using the Makehuman bug tracker ]]: <br />Introduction to the new Makehuman bug tracker
* [[ Documentation:Using the Makehuman log files for error reporting|Using the Makehuman log files for error reporting ]]: <br />How to report bugs using the log files.
|}
==== Developers' note ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Getting started|Getting started ]]: <br />The best way to start your experiments with MakeHuman code is to clone our official repository and start to modify it.
* [[ Documentation:Development infrastructure|Development infrastructure ]]: <br />A description of the MakeHuman development infrastructure.
* [[ Documentation:OpenGL Notes|OpenGL Notes ]]: <br />Most of the 3D mesh handling functionality is delivered using OpenGL embedded within the C application code.
* [[ Documentation:Development organization|Development organization ]]: <br />The organization of distributed development.
* [[ Documentation:Libraries and build procedures|Libraries and build procedures ]]: <br />Describes the details of creating installable packages on major platforms
* [[ Documentation:Directory structure and core modules|Directory structure and core modules ]]: <br />Summary of the MH API reference.
* [[ Documentation:File formats and extensions|File formats and extensions ]]: <br />Describes the formats used internally for data and object storage. [CRUDE NOTES]
* [[ Documentation:Makehuman Plugin System|Makehuman Plugin System ]]: <br />How to make a new plugin and use it in MakeHuman
|}
==== Packager's notes ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Packaging RPM's for Suse/Fedora using Open Build Service (OBS)|Packaging RPM's for Suse/Fedora using Open Build Service (OBS) ]]: <br />Packaging procedure and setup.
|}
=== Tutorials ===
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:MakeClothes:Making a simple dress|MakeClothes: Making a simple dress ]]: <br />The basic MakeClothes workflow.
* [[ Documentation:MakeClothes:Controlling the result with vertex groups|MakeClothes: Controlling the result with vertex groups ]]: <br />The output of the clothes-making process depends on how vertex groups are assigned.
* [[ Documentation:MakeTarget:Creating a Custom Target with MakeTarget Standalone|Creating a Custom Target with MakeTarget Standalone ]]: <br />A practical example of custom target
* [[ Documentation:MakeWalk:The making of Running feet|MakeWalk: The making of Running feet ]]: <br />MakeWalk tutorial, focusing on the Edit Action panel.
* [[ Documentation:MakeWalk:Running feet scene 1|MakeWalk: Running feet scene 1 ]]: <br />Making an extended run on a plane.
* [[ Documentation:MakeWalk:Running feet scene 2|MakeWalk: Running feet scene 2 ]]: <br />High heels and slopes.
* [[ Documentation:MakeWalk:Running feet scene 3|MakeWalk: Running feet scene 3 ]]: <br />The race.
* [[ Documentation:MakeWalk:Running feet scene 4|MakeWalk: Running feet scene 4 ]]: <br />Rough terrain.
* [[ Documentation:MakeWalk:Automatic animation |MakeWalk: Automatic animation ]]: <br />Tutorial on using the editing tools in MakeWalk.
|}
__NOTOC__
<!--
Author Notes:
== Instructions ==
Please put all documentation nodes in namespace "Documentation", like <nowiki>[[Documentation:Introduction to the interface|Introduction to the interface]]</nowiki> (which would resolve as [[Documentation:Introduction to the interface|Introduction to the interface]])
-->
3e276de24d5d3f43139d352b66dee20eb4a5360f
678
675
2016-05-20T08:27:27Z
Joepal
14
wikitext
text/x-wiki
These are documentation fragments which have been ported. They may still miss some images
== Introduction ==
* [[Documentation:What is MakeHuman?|What is MakeHuman?]]: A quick introduction to MakeHuman.
* [[Documentation:MakeHuman™ and its Purpose|MakeHuman™ and its Purpose ]]: MakeHuman definition and vision.
* [[Documentation:Short and Long Pipeline|Short and Long Pipeline ]]: The goal of Makehuman is to see it used in 2 different professional pipelines.
* [[Documentation:Professional mesh topology|Professional mesh topology ]]: An overview of the professional topology provided by MakeHuman
* [[Documentation:Legal|Legal ]]: The various licenses that apply to MakeHuman and External tools
== General overview ==
* [[Documentation:Installing MakeHuman|Installing MakeHuman]]
* [[Documentation:The interface and its basic functions|The interface and its basic functions]]
* [[Documentation:The toolbar|The toolbar]]
* [[Documentation:The tabs|The tabs]]
* [[Documentation:The sliders|The sliders]]
* [[Documentation:Load, save and export|Load, save and export]]
* [[Documentation:File formats|File formats]]
* [[Documentation:Mesh formats|Mesh formats]]
* [[Documentation:Rig formats|Rig formats]]
* [[Documentation:Light maps and UV maps|Light maps and UV maps]]
* [[Documentation:Zoom, pan and rotate using the orbital camera|Zoom, pan and rotate using the orbital camera]]
== Old documentation ==
The old documentation is available, but in a largely unformatted state:
[[Documentation:Big dump from drupal]]
== General overview ==
None
== Defining human characteristics ==
None
== Rendering your work ==
None
== Settings ==
None
== Blender tools ==
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Documentation:MHBlenderTools: Download and installation|MHBlenderTools: Download and installation ]]: How to download and install the addons for Blender
* [[ Documentation:MHBlenderTools: MakeTarget|MHBlenderTools: MakeTarget ]]: Description of the MakeTarget™ tool, to create custom morphings for MakeHuman.
* [[ Documentation:MHBlenderTools:MakeClothes|MHBlenderTools: MakeClothes ]]: Description of the MakeClothes™ tool, to create custom clothes for MakeHuman.
|}
== Documentation for developers ==
[[Technical notes on MakeHuman]]
== Tutorials ==
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6EEE6; padding:.5em;"|
* [[Documentation:Texture painting a skin in blender|Tutorial: Texture painting a skin in blender]]
|}
== Unported stuff from Drupal ==
This is stuff which haven't been ported yet.
[[Documentation:Big dump from drupal]]
==== General overview ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Install MakeHuman™|Install MakeHuman™ ]]: <br />How to install MH on Windows, Osx and Linux.
* [[ Documentation:The Interface and basic functions.|The Interface and basic functions. ]]: <br />The MakeHuman GUI: Load, save, undo and redo, reset, view, symmetry, help.
* [[ Documentation:Zoom, pan and rotate using the orbital camera|Zoom, pan and rotate using the orbital camera ]]: <br />Navigating the scene using the orbital camera.
* [[ Documentation:Load Save and Export|Load Save and Export ]]: <br />Describe file actions for MakeHuman
|}
==== Define Human Characteristics ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Parametric Modelling|Parametric Modelling ]]: <br />A quick introduction to the parametric modelling and sliders usage.
* [[ Documentation:Using MakeHuman Hairstyles and Clothes|Using MakeHuman Hairstyles and Clothes ]]: <br />Hair in the MakeHuman Geometries group
* [[ Documentation:Skin and other materials|Skin and other materials ]]: <br />How to change skin and materials for hair and clothes.
* [[ Documentation:Gender, Random, Measure and Custom|Gender, Random, Measure and Custom ]]: <br />Special modifiers.
* [[ Documentation:Makehuman alternative topologies|Makehuman alternative topologies ]]: <br />MakeHuman provides a smart alternative topologies library
|}
==== Rendering Your Work ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Quick rendering and advanced rendering|Quick rendering and advanced rendering ]]: <br />This section explains how render the character in MakeHuman
* [[ Documentation:Scene and Viewer|Scene and Viewer ]]: <br />How to set lights and how to see and save the rendering
|}
==== Settings ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:General|General ]]: <br />How to set the general preferences
* [[ Documentation:Background|Background ]]: <br />How to use backgrounds for reference.
* [[ Documentation:Mouse|Mouse ]]: <br />Explanation of mouse settings
* [[ Documentation:Shortcuts|Shortcuts ]]: <br />Configuration of shortcuts in Makehuman
* [[ Documentation:Plugins|Plugins ]]: <br />Management of Makehuman plugins
|}
==== Tools and contributing methods ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:MHBlenderTools:MakeWalk|MHBlenderTools: MakeWalk ]]:<br />MakeWalk™ is a Blender add-on for retargeting mocap data (.bvh files) to a given armature.
** [[ Documentation:MHBlenderTools:MakeWalk GUI|MHBlenderTools: MakeWalk GUI ]]:<br />An introduction to MakeWalk™ and its user interface.
** [[ Documentation:MHBlenderTools:MakeWalk Armatures|MHBlenderTools: MakeWalk Armatures ]]:<br />An introduction to MakeWalk™ and the use of armatures. Explaining the meaning and use of source and target armature.
** [[ Documentation:MHBlenderTools:MakeWalk Utilities|MHBlenderTools: MakeWalk Utilities ]]:<br />An introduction to the MakeWalk™ utilities panel: save and restore the defaults, manage actions, t-pose, etc.
** [[ Documentation:MHBlenderTools:MakeWalk Retarget|MHBlenderTools: MakeWalk Retarget ]]:<br />An introduction to MakeWalk™ target rigging. This document will describe common errors and corrective actions.
* [[ Documentation:MHBlenderTools:MHX importer basic usage.|MHBlenderTools: MHX importer basic usage. ]]:<br />MHX (MakeHuman eXchange format) is a custom format used to transfer a rigged character from MakeHuman to Blender.
* [[ Documentation:MHBlenderTools:MHX default rigging|MHBlenderTools: MHX default rigging ]]:<br />If pose/animate > skeleton is set to 'None' when the character is exported from MakeHuman in .mhx format, the character is equipped with the default MHX armature. This is a rather complex rig with quite a few features.
* [[ Documentation:MHBlenderTools:MHX other rigging systems|MHBlenderTools: MHX other rigging systems ]]:<br />The character can be rigged with alternatives and ligher armature or the rigify one (The rigging system for Blender developed by Nathan Vegdahl).
* [[ Documentation:MHBlenderTools:MHX Layers and masks|MHBlenderTools: MHX Layers and masks ]]:<br />The mhx importer creates objects on the first four layers.
* [[ Documentation:MakeTarget standalone|MakeTarget standalone ]]:<br />Converting files produced with the most common modelling software, without Blender.
* [[ Documentation:GUI languages and translations.|GUI languages and translations. ]]:<br />MakeHuman support a variety of languages. It's very easy to add translations.
|}
==== Reporting a Bug ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Using the Makehuman bug tracker|Using the Makehuman bug tracker ]]: <br />Introduction to the new Makehuman bug tracker
* [[ Documentation:Using the Makehuman log files for error reporting|Using the Makehuman log files for error reporting ]]: <br />How to report bugs using the log files.
|}
==== Developers' note ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Getting started|Getting started ]]: <br />The best way to start your experiments with MakeHuman code is to clone our official repository and start to modify it.
* [[ Documentation:Development infrastructure|Development infrastructure ]]: <br />A description of the MakeHuman development infrastructure.
* [[ Documentation:OpenGL Notes|OpenGL Notes ]]: <br />Most of the 3D mesh handling functionality is delivered using OpenGL embedded within the C application code.
* [[ Documentation:Development organization|Development organization ]]: <br />The organization of distributed development.
* [[ Documentation:Libraries and build procedures|Libraries and build procedures ]]: <br />Describes the details of creating installable packages on major platforms
* [[ Documentation:Directory structure and core modules|Directory structure and core modules ]]: <br />Summary of the MH API reference.
* [[ Documentation:File formats and extensions|File formats and extensions ]]: <br />Describes the formats used internally for data and object storage. [CRUDE NOTES]
* [[ Documentation:Makehuman Plugin System|Makehuman Plugin System ]]: <br />How to make a new plugin and use it in MakeHuman
|}
==== Packager's notes ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Packaging RPM's for Suse/Fedora using Open Build Service (OBS)|Packaging RPM's for Suse/Fedora using Open Build Service (OBS) ]]: <br />Packaging procedure and setup.
|}
=== Tutorials ===
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:MakeClothes:Making a simple dress|MakeClothes: Making a simple dress ]]: <br />The basic MakeClothes workflow.
* [[ Documentation:MakeClothes:Controlling the result with vertex groups|MakeClothes: Controlling the result with vertex groups ]]: <br />The output of the clothes-making process depends on how vertex groups are assigned.
* [[ Documentation:MakeTarget:Creating a Custom Target with MakeTarget Standalone|Creating a Custom Target with MakeTarget Standalone ]]: <br />A practical example of custom target
* [[ Documentation:MakeWalk:The making of Running feet|MakeWalk: The making of Running feet ]]: <br />MakeWalk tutorial, focusing on the Edit Action panel.
* [[ Documentation:MakeWalk:Running feet scene 1|MakeWalk: Running feet scene 1 ]]: <br />Making an extended run on a plane.
* [[ Documentation:MakeWalk:Running feet scene 2|MakeWalk: Running feet scene 2 ]]: <br />High heels and slopes.
* [[ Documentation:MakeWalk:Running feet scene 3|MakeWalk: Running feet scene 3 ]]: <br />The race.
* [[ Documentation:MakeWalk:Running feet scene 4|MakeWalk: Running feet scene 4 ]]: <br />Rough terrain.
* [[ Documentation:MakeWalk:Automatic animation |MakeWalk: Automatic animation ]]: <br />Tutorial on using the editing tools in MakeWalk.
|}
__NOTOC__
<!--
Author Notes:
== Instructions ==
Please put all documentation nodes in namespace "Documentation", like <nowiki>[[Documentation:Introduction to the interface|Introduction to the interface]]</nowiki> (which would resolve as [[Documentation:Introduction to the interface|Introduction to the interface]])
-->
38202f30c6a379e747eaa94eafdbeac23eb22a2a
675
615
2016-05-20T07:59:03Z
Joepal
14
wikitext
text/x-wiki
These are documentation fragments which have been ported. They may still miss some images
== Introduction ==
* [[Documentation:What is MakeHuman?|What is MakeHuman?]]: A quick introduction to MakeHuman.
* [[Documentation:MakeHuman™ and its Purpose|MakeHuman™ and its Purpose ]]: MakeHuman definition and vision.
* [[Documentation:Short and Long Pipeline|Short and Long Pipeline ]]: The goal of Makehuman is to see it used in 2 different professional pipelines.
* [[Documentation:Professional mesh topology|Professional mesh topology ]]: An overview of the professional topology provided by MakeHuman
* [[Documentation:Legal|Legal ]]: The various licenses that apply to MakeHuman and External tools
== Old documentation ==
The old documentation is available, but in a largely unformatted state:
[[Documentation:Big dump from drupal]]
== General overview ==
None
== Defining human characteristics ==
None
== Rendering your work ==
None
== Settings ==
None
== Blender tools ==
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Documentation:MHBlenderTools: Download and installation|MHBlenderTools: Download and installation ]]: How to download and install the addons for Blender
* [[ Documentation:MHBlenderTools: MakeTarget|MHBlenderTools: MakeTarget ]]: Description of the MakeTarget™ tool, to create custom morphings for MakeHuman.
* [[ Documentation:MHBlenderTools:MakeClothes|MHBlenderTools: MakeClothes ]]: Description of the MakeClothes™ tool, to create custom clothes for MakeHuman.
|}
== Documentation for developers ==
[[Technical notes on MakeHuman]]
== Tutorials ==
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6EEE6; padding:.5em;"|
* [[Documentation:Texture painting a skin in blender|Tutorial: Texture painting a skin in blender]]
|}
== Unported stuff from Drupal ==
This is stuff which haven't been ported yet.
[[Documentation:Big dump from drupal]]
==== General overview ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Install MakeHuman™|Install MakeHuman™ ]]: <br />How to install MH on Windows, Osx and Linux.
* [[ Documentation:The Interface and basic functions.|The Interface and basic functions. ]]: <br />The MakeHuman GUI: Load, save, undo and redo, reset, view, symmetry, help.
* [[ Documentation:Zoom, pan and rotate using the orbital camera|Zoom, pan and rotate using the orbital camera ]]: <br />Navigating the scene using the orbital camera.
* [[ Documentation:Load Save and Export|Load Save and Export ]]: <br />Describe file actions for MakeHuman
|}
==== Define Human Characteristics ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Parametric Modelling|Parametric Modelling ]]: <br />A quick introduction to the parametric modelling and sliders usage.
* [[ Documentation:Using MakeHuman Hairstyles and Clothes|Using MakeHuman Hairstyles and Clothes ]]: <br />Hair in the MakeHuman Geometries group
* [[ Documentation:Skin and other materials|Skin and other materials ]]: <br />How to change skin and materials for hair and clothes.
* [[ Documentation:Gender, Random, Measure and Custom|Gender, Random, Measure and Custom ]]: <br />Special modifiers.
* [[ Documentation:Makehuman alternative topologies|Makehuman alternative topologies ]]: <br />MakeHuman provides a smart alternative topologies library
|}
==== Rendering Your Work ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Quick rendering and advanced rendering|Quick rendering and advanced rendering ]]: <br />This section explains how render the character in MakeHuman
* [[ Documentation:Scene and Viewer|Scene and Viewer ]]: <br />How to set lights and how to see and save the rendering
|}
==== Settings ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:General|General ]]: <br />How to set the general preferences
* [[ Documentation:Background|Background ]]: <br />How to use backgrounds for reference.
* [[ Documentation:Mouse|Mouse ]]: <br />Explanation of mouse settings
* [[ Documentation:Shortcuts|Shortcuts ]]: <br />Configuration of shortcuts in Makehuman
* [[ Documentation:Plugins|Plugins ]]: <br />Management of Makehuman plugins
|}
==== Tools and contributing methods ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:MHBlenderTools:MakeWalk|MHBlenderTools: MakeWalk ]]:<br />MakeWalk™ is a Blender add-on for retargeting mocap data (.bvh files) to a given armature.
** [[ Documentation:MHBlenderTools:MakeWalk GUI|MHBlenderTools: MakeWalk GUI ]]:<br />An introduction to MakeWalk™ and its user interface.
** [[ Documentation:MHBlenderTools:MakeWalk Armatures|MHBlenderTools: MakeWalk Armatures ]]:<br />An introduction to MakeWalk™ and the use of armatures. Explaining the meaning and use of source and target armature.
** [[ Documentation:MHBlenderTools:MakeWalk Utilities|MHBlenderTools: MakeWalk Utilities ]]:<br />An introduction to the MakeWalk™ utilities panel: save and restore the defaults, manage actions, t-pose, etc.
** [[ Documentation:MHBlenderTools:MakeWalk Retarget|MHBlenderTools: MakeWalk Retarget ]]:<br />An introduction to MakeWalk™ target rigging. This document will describe common errors and corrective actions.
* [[ Documentation:MHBlenderTools:MHX importer basic usage.|MHBlenderTools: MHX importer basic usage. ]]:<br />MHX (MakeHuman eXchange format) is a custom format used to transfer a rigged character from MakeHuman to Blender.
* [[ Documentation:MHBlenderTools:MHX default rigging|MHBlenderTools: MHX default rigging ]]:<br />If pose/animate > skeleton is set to 'None' when the character is exported from MakeHuman in .mhx format, the character is equipped with the default MHX armature. This is a rather complex rig with quite a few features.
* [[ Documentation:MHBlenderTools:MHX other rigging systems|MHBlenderTools: MHX other rigging systems ]]:<br />The character can be rigged with alternatives and ligher armature or the rigify one (The rigging system for Blender developed by Nathan Vegdahl).
* [[ Documentation:MHBlenderTools:MHX Layers and masks|MHBlenderTools: MHX Layers and masks ]]:<br />The mhx importer creates objects on the first four layers.
* [[ Documentation:MakeTarget standalone|MakeTarget standalone ]]:<br />Converting files produced with the most common modelling software, without Blender.
* [[ Documentation:GUI languages and translations.|GUI languages and translations. ]]:<br />MakeHuman support a variety of languages. It's very easy to add translations.
|}
==== Reporting a Bug ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Using the Makehuman bug tracker|Using the Makehuman bug tracker ]]: <br />Introduction to the new Makehuman bug tracker
* [[ Documentation:Using the Makehuman log files for error reporting|Using the Makehuman log files for error reporting ]]: <br />How to report bugs using the log files.
|}
==== Developers' note ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Getting started|Getting started ]]: <br />The best way to start your experiments with MakeHuman code is to clone our official repository and start to modify it.
* [[ Documentation:Development infrastructure|Development infrastructure ]]: <br />A description of the MakeHuman development infrastructure.
* [[ Documentation:OpenGL Notes|OpenGL Notes ]]: <br />Most of the 3D mesh handling functionality is delivered using OpenGL embedded within the C application code.
* [[ Documentation:Development organization|Development organization ]]: <br />The organization of distributed development.
* [[ Documentation:Libraries and build procedures|Libraries and build procedures ]]: <br />Describes the details of creating installable packages on major platforms
* [[ Documentation:Directory structure and core modules|Directory structure and core modules ]]: <br />Summary of the MH API reference.
* [[ Documentation:File formats and extensions|File formats and extensions ]]: <br />Describes the formats used internally for data and object storage. [CRUDE NOTES]
* [[ Documentation:Makehuman Plugin System|Makehuman Plugin System ]]: <br />How to make a new plugin and use it in MakeHuman
|}
==== Packager's notes ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Packaging RPM's for Suse/Fedora using Open Build Service (OBS)|Packaging RPM's for Suse/Fedora using Open Build Service (OBS) ]]: <br />Packaging procedure and setup.
|}
=== Tutorials ===
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:MakeClothes:Making a simple dress|MakeClothes: Making a simple dress ]]: <br />The basic MakeClothes workflow.
* [[ Documentation:MakeClothes:Controlling the result with vertex groups|MakeClothes: Controlling the result with vertex groups ]]: <br />The output of the clothes-making process depends on how vertex groups are assigned.
* [[ Documentation:MakeTarget:Creating a Custom Target with MakeTarget Standalone|Creating a Custom Target with MakeTarget Standalone ]]: <br />A practical example of custom target
* [[ Documentation:MakeWalk:The making of Running feet|MakeWalk: The making of Running feet ]]: <br />MakeWalk tutorial, focusing on the Edit Action panel.
* [[ Documentation:MakeWalk:Running feet scene 1|MakeWalk: Running feet scene 1 ]]: <br />Making an extended run on a plane.
* [[ Documentation:MakeWalk:Running feet scene 2|MakeWalk: Running feet scene 2 ]]: <br />High heels and slopes.
* [[ Documentation:MakeWalk:Running feet scene 3|MakeWalk: Running feet scene 3 ]]: <br />The race.
* [[ Documentation:MakeWalk:Running feet scene 4|MakeWalk: Running feet scene 4 ]]: <br />Rough terrain.
* [[ Documentation:MakeWalk:Automatic animation |MakeWalk: Automatic animation ]]: <br />Tutorial on using the editing tools in MakeWalk.
|}
__NOTOC__
<!--
Author Notes:
== Instructions ==
Please put all documentation nodes in namespace "Documentation", like <nowiki>[[Documentation:Introduction to the interface|Introduction to the interface]]</nowiki> (which would resolve as [[Documentation:Introduction to the interface|Introduction to the interface]])
-->
ea820f6e2f5137478273be6473622da7232906d5
615
540
2016-04-08T06:32:51Z
Joepal
14
The web archive link doesn't work anymore
wikitext
text/x-wiki
These are documentation fragments which have been ported. They may still miss some images
== Introduction ==
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6EEE6; padding:.5em;"|
* [[Documentation:MakeHuman™ and its Purpose|MakeHuman™ and its Purpose ]]: MakeHuman definition and vision.
* [[ Documentation:Short and Long Pipeline|Short and Long Pipeline ]]: The goal of Makehuman is to see it used in 2 different professional pipelines.
* [[ Documentation:Professional mesh topology|Professional mesh topology ]]: An overview of the professional topology provided by MakeHuman
* [[ Documentation:Legal|Legal ]]: The various licenses that apply to MakeHuman and External tools
|}
== Old documentation ==
The old documentation is available, but in a largely unformatted state:
[[Documentation:Big dump from drupal]]
== General overview ==
None
== Defining human characteristics ==
None
== Rendering your work ==
None
== Settings ==
None
== Blender tools ==
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Documentation:MHBlenderTools: Download and installation|MHBlenderTools: Download and installation ]]: How to download and install the addons for Blender
* [[ Documentation:MHBlenderTools: MakeTarget|MHBlenderTools: MakeTarget ]]: Description of the MakeTarget™ tool, to create custom morphings for MakeHuman.
* [[ Documentation:MHBlenderTools:MakeClothes|MHBlenderTools: MakeClothes ]]: Description of the MakeClothes™ tool, to create custom clothes for MakeHuman.
|}
== Documentation for developers ==
[[Technical notes on MakeHuman]]
== Tutorials ==
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6EEE6; padding:.5em;"|
* [[Documentation:Texture painting a skin in blender|Tutorial: Texture painting a skin in blender]]
|}
== Unported stuff from Drupal ==
This is stuff which haven't been ported yet.
[[Documentation:Big dump from drupal]]
==== General overview ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Install MakeHuman™|Install MakeHuman™ ]]: <br />How to install MH on Windows, Osx and Linux.
* [[ Documentation:The Interface and basic functions.|The Interface and basic functions. ]]: <br />The MakeHuman GUI: Load, save, undo and redo, reset, view, symmetry, help.
* [[ Documentation:Zoom, pan and rotate using the orbital camera|Zoom, pan and rotate using the orbital camera ]]: <br />Navigating the scene using the orbital camera.
* [[ Documentation:Load Save and Export|Load Save and Export ]]: <br />Describe file actions for MakeHuman
|}
==== Define Human Characteristics ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Parametric Modelling|Parametric Modelling ]]: <br />A quick introduction to the parametric modelling and sliders usage.
* [[ Documentation:Using MakeHuman Hairstyles and Clothes|Using MakeHuman Hairstyles and Clothes ]]: <br />Hair in the MakeHuman Geometries group
* [[ Documentation:Skin and other materials|Skin and other materials ]]: <br />How to change skin and materials for hair and clothes.
* [[ Documentation:Gender, Random, Measure and Custom|Gender, Random, Measure and Custom ]]: <br />Special modifiers.
* [[ Documentation:Makehuman alternative topologies|Makehuman alternative topologies ]]: <br />MakeHuman provides a smart alternative topologies library
|}
==== Rendering Your Work ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Quick rendering and advanced rendering|Quick rendering and advanced rendering ]]: <br />This section explains how render the character in MakeHuman
* [[ Documentation:Scene and Viewer|Scene and Viewer ]]: <br />How to set lights and how to see and save the rendering
|}
==== Settings ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:General|General ]]: <br />How to set the general preferences
* [[ Documentation:Background|Background ]]: <br />How to use backgrounds for reference.
* [[ Documentation:Mouse|Mouse ]]: <br />Explanation of mouse settings
* [[ Documentation:Shortcuts|Shortcuts ]]: <br />Configuration of shortcuts in Makehuman
* [[ Documentation:Plugins|Plugins ]]: <br />Management of Makehuman plugins
|}
==== Tools and contributing methods ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:MHBlenderTools:MakeWalk|MHBlenderTools: MakeWalk ]]:<br />MakeWalk™ is a Blender add-on for retargeting mocap data (.bvh files) to a given armature.
** [[ Documentation:MHBlenderTools:MakeWalk GUI|MHBlenderTools: MakeWalk GUI ]]:<br />An introduction to MakeWalk™ and its user interface.
** [[ Documentation:MHBlenderTools:MakeWalk Armatures|MHBlenderTools: MakeWalk Armatures ]]:<br />An introduction to MakeWalk™ and the use of armatures. Explaining the meaning and use of source and target armature.
** [[ Documentation:MHBlenderTools:MakeWalk Utilities|MHBlenderTools: MakeWalk Utilities ]]:<br />An introduction to the MakeWalk™ utilities panel: save and restore the defaults, manage actions, t-pose, etc.
** [[ Documentation:MHBlenderTools:MakeWalk Retarget|MHBlenderTools: MakeWalk Retarget ]]:<br />An introduction to MakeWalk™ target rigging. This document will describe common errors and corrective actions.
* [[ Documentation:MHBlenderTools:MHX importer basic usage.|MHBlenderTools: MHX importer basic usage. ]]:<br />MHX (MakeHuman eXchange format) is a custom format used to transfer a rigged character from MakeHuman to Blender.
* [[ Documentation:MHBlenderTools:MHX default rigging|MHBlenderTools: MHX default rigging ]]:<br />If pose/animate > skeleton is set to 'None' when the character is exported from MakeHuman in .mhx format, the character is equipped with the default MHX armature. This is a rather complex rig with quite a few features.
* [[ Documentation:MHBlenderTools:MHX other rigging systems|MHBlenderTools: MHX other rigging systems ]]:<br />The character can be rigged with alternatives and ligher armature or the rigify one (The rigging system for Blender developed by Nathan Vegdahl).
* [[ Documentation:MHBlenderTools:MHX Layers and masks|MHBlenderTools: MHX Layers and masks ]]:<br />The mhx importer creates objects on the first four layers.
* [[ Documentation:MakeTarget standalone|MakeTarget standalone ]]:<br />Converting files produced with the most common modelling software, without Blender.
* [[ Documentation:GUI languages and translations.|GUI languages and translations. ]]:<br />MakeHuman support a variety of languages. It's very easy to add translations.
|}
==== Reporting a Bug ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Using the Makehuman bug tracker|Using the Makehuman bug tracker ]]: <br />Introduction to the new Makehuman bug tracker
* [[ Documentation:Using the Makehuman log files for error reporting|Using the Makehuman log files for error reporting ]]: <br />How to report bugs using the log files.
|}
==== Developers' note ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Getting started|Getting started ]]: <br />The best way to start your experiments with MakeHuman code is to clone our official repository and start to modify it.
* [[ Documentation:Development infrastructure|Development infrastructure ]]: <br />A description of the MakeHuman development infrastructure.
* [[ Documentation:OpenGL Notes|OpenGL Notes ]]: <br />Most of the 3D mesh handling functionality is delivered using OpenGL embedded within the C application code.
* [[ Documentation:Development organization|Development organization ]]: <br />The organization of distributed development.
* [[ Documentation:Libraries and build procedures|Libraries and build procedures ]]: <br />Describes the details of creating installable packages on major platforms
* [[ Documentation:Directory structure and core modules|Directory structure and core modules ]]: <br />Summary of the MH API reference.
* [[ Documentation:File formats and extensions|File formats and extensions ]]: <br />Describes the formats used internally for data and object storage. [CRUDE NOTES]
* [[ Documentation:Makehuman Plugin System|Makehuman Plugin System ]]: <br />How to make a new plugin and use it in MakeHuman
|}
==== Packager's notes ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Packaging RPM's for Suse/Fedora using Open Build Service (OBS)|Packaging RPM's for Suse/Fedora using Open Build Service (OBS) ]]: <br />Packaging procedure and setup.
|}
=== Tutorials ===
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:MakeClothes:Making a simple dress|MakeClothes: Making a simple dress ]]: <br />The basic MakeClothes workflow.
* [[ Documentation:MakeClothes:Controlling the result with vertex groups|MakeClothes: Controlling the result with vertex groups ]]: <br />The output of the clothes-making process depends on how vertex groups are assigned.
* [[ Documentation:MakeTarget:Creating a Custom Target with MakeTarget Standalone|Creating a Custom Target with MakeTarget Standalone ]]: <br />A practical example of custom target
* [[ Documentation:MakeWalk:The making of Running feet|MakeWalk: The making of Running feet ]]: <br />MakeWalk tutorial, focusing on the Edit Action panel.
* [[ Documentation:MakeWalk:Running feet scene 1|MakeWalk: Running feet scene 1 ]]: <br />Making an extended run on a plane.
* [[ Documentation:MakeWalk:Running feet scene 2|MakeWalk: Running feet scene 2 ]]: <br />High heels and slopes.
* [[ Documentation:MakeWalk:Running feet scene 3|MakeWalk: Running feet scene 3 ]]: <br />The race.
* [[ Documentation:MakeWalk:Running feet scene 4|MakeWalk: Running feet scene 4 ]]: <br />Rough terrain.
* [[ Documentation:MakeWalk:Automatic animation |MakeWalk: Automatic animation ]]: <br />Tutorial on using the editing tools in MakeWalk.
|}
__NOTOC__
<!--
Author Notes:
== Instructions ==
Please put all documentation nodes in namespace "Documentation", like <nowiki>[[Documentation:Introduction to the interface|Introduction to the interface]]</nowiki> (which would resolve as [[Documentation:Introduction to the interface|Introduction to the interface]])
-->
74cbcc175669b6ad3bb0dc6f42fddb1e7aead7b1
540
516
2015-10-16T10:27:52Z
Duststorm
19
wikitext
text/x-wiki
These are documentation fragments which have been ported. They may still miss some images
== Introduction ==
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6EEE6; padding:.5em;"|
* [[Documentation:MakeHuman™ and its Purpose|MakeHuman™ and its Purpose ]]: MakeHuman definition and vision.
* [[ Documentation:Short and Long Pipeline|Short and Long Pipeline ]]: The goal of Makehuman is to see it used in 2 different professional pipelines.
* [[ Documentation:Professional mesh topology|Professional mesh topology ]]: An overview of the professional topology provided by MakeHuman
* [[ Documentation:Legal|Legal ]]: The various licenses that apply to MakeHuman and External tools
|}
== Old documentation ==
The old documentation and blog of makehuman.org is still available archived on http://web.archive.org/web/20150318151114/http://www.makehuman.org/documentation
== General overview ==
None
== Defining human characteristics ==
None
== Rendering your work ==
None
== Settings ==
None
== Blender tools ==
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Documentation:MHBlenderTools: Download and installation|MHBlenderTools: Download and installation ]]: How to download and install the addons for Blender
* [[ Documentation:MHBlenderTools: MakeTarget|MHBlenderTools: MakeTarget ]]: Description of the MakeTarget™ tool, to create custom morphings for MakeHuman.
* [[ Documentation:MHBlenderTools:MakeClothes|MHBlenderTools: MakeClothes ]]: Description of the MakeClothes™ tool, to create custom clothes for MakeHuman.
|}
== Documentation for developers ==
[[Technical notes on MakeHuman]]
== Tutorials ==
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6EEE6; padding:.5em;"|
* [[Documentation:Texture painting a skin in blender|Tutorial: Texture painting a skin in blender]]
|}
== Unported stuff from Drupal ==
This is stuff which haven't been ported yet.
[[Documentation:Big dump from drupal]]
==== General overview ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Install MakeHuman™|Install MakeHuman™ ]]: <br />How to install MH on Windows, Osx and Linux.
* [[ Documentation:The Interface and basic functions.|The Interface and basic functions. ]]: <br />The MakeHuman GUI: Load, save, undo and redo, reset, view, symmetry, help.
* [[ Documentation:Zoom, pan and rotate using the orbital camera|Zoom, pan and rotate using the orbital camera ]]: <br />Navigating the scene using the orbital camera.
* [[ Documentation:Load Save and Export|Load Save and Export ]]: <br />Describe file actions for MakeHuman
|}
==== Define Human Characteristics ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Parametric Modelling|Parametric Modelling ]]: <br />A quick introduction to the parametric modelling and sliders usage.
* [[ Documentation:Using MakeHuman Hairstyles and Clothes|Using MakeHuman Hairstyles and Clothes ]]: <br />Hair in the MakeHuman Geometries group
* [[ Documentation:Skin and other materials|Skin and other materials ]]: <br />How to change skin and materials for hair and clothes.
* [[ Documentation:Gender, Random, Measure and Custom|Gender, Random, Measure and Custom ]]: <br />Special modifiers.
* [[ Documentation:Makehuman alternative topologies|Makehuman alternative topologies ]]: <br />MakeHuman provides a smart alternative topologies library
|}
==== Rendering Your Work ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Quick rendering and advanced rendering|Quick rendering and advanced rendering ]]: <br />This section explains how render the character in MakeHuman
* [[ Documentation:Scene and Viewer|Scene and Viewer ]]: <br />How to set lights and how to see and save the rendering
|}
==== Settings ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:General|General ]]: <br />How to set the general preferences
* [[ Documentation:Background|Background ]]: <br />How to use backgrounds for reference.
* [[ Documentation:Mouse|Mouse ]]: <br />Explanation of mouse settings
* [[ Documentation:Shortcuts|Shortcuts ]]: <br />Configuration of shortcuts in Makehuman
* [[ Documentation:Plugins|Plugins ]]: <br />Management of Makehuman plugins
|}
==== Tools and contributing methods ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:MHBlenderTools:MakeWalk|MHBlenderTools: MakeWalk ]]:<br />MakeWalk™ is a Blender add-on for retargeting mocap data (.bvh files) to a given armature.
** [[ Documentation:MHBlenderTools:MakeWalk GUI|MHBlenderTools: MakeWalk GUI ]]:<br />An introduction to MakeWalk™ and its user interface.
** [[ Documentation:MHBlenderTools:MakeWalk Armatures|MHBlenderTools: MakeWalk Armatures ]]:<br />An introduction to MakeWalk™ and the use of armatures. Explaining the meaning and use of source and target armature.
** [[ Documentation:MHBlenderTools:MakeWalk Utilities|MHBlenderTools: MakeWalk Utilities ]]:<br />An introduction to the MakeWalk™ utilities panel: save and restore the defaults, manage actions, t-pose, etc.
** [[ Documentation:MHBlenderTools:MakeWalk Retarget|MHBlenderTools: MakeWalk Retarget ]]:<br />An introduction to MakeWalk™ target rigging. This document will describe common errors and corrective actions.
* [[ Documentation:MHBlenderTools:MHX importer basic usage.|MHBlenderTools: MHX importer basic usage. ]]:<br />MHX (MakeHuman eXchange format) is a custom format used to transfer a rigged character from MakeHuman to Blender.
* [[ Documentation:MHBlenderTools:MHX default rigging|MHBlenderTools: MHX default rigging ]]:<br />If pose/animate > skeleton is set to 'None' when the character is exported from MakeHuman in .mhx format, the character is equipped with the default MHX armature. This is a rather complex rig with quite a few features.
* [[ Documentation:MHBlenderTools:MHX other rigging systems|MHBlenderTools: MHX other rigging systems ]]:<br />The character can be rigged with alternatives and ligher armature or the rigify one (The rigging system for Blender developed by Nathan Vegdahl).
* [[ Documentation:MHBlenderTools:MHX Layers and masks|MHBlenderTools: MHX Layers and masks ]]:<br />The mhx importer creates objects on the first four layers.
* [[ Documentation:MakeTarget standalone|MakeTarget standalone ]]:<br />Converting files produced with the most common modelling software, without Blender.
* [[ Documentation:GUI languages and translations.|GUI languages and translations. ]]:<br />MakeHuman support a variety of languages. It's very easy to add translations.
|}
==== Reporting a Bug ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Using the Makehuman bug tracker|Using the Makehuman bug tracker ]]: <br />Introduction to the new Makehuman bug tracker
* [[ Documentation:Using the Makehuman log files for error reporting|Using the Makehuman log files for error reporting ]]: <br />How to report bugs using the log files.
|}
==== Developers' note ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Getting started|Getting started ]]: <br />The best way to start your experiments with MakeHuman code is to clone our official repository and start to modify it.
* [[ Documentation:Development infrastructure|Development infrastructure ]]: <br />A description of the MakeHuman development infrastructure.
* [[ Documentation:OpenGL Notes|OpenGL Notes ]]: <br />Most of the 3D mesh handling functionality is delivered using OpenGL embedded within the C application code.
* [[ Documentation:Development organization|Development organization ]]: <br />The organization of distributed development.
* [[ Documentation:Libraries and build procedures|Libraries and build procedures ]]: <br />Describes the details of creating installable packages on major platforms
* [[ Documentation:Directory structure and core modules|Directory structure and core modules ]]: <br />Summary of the MH API reference.
* [[ Documentation:File formats and extensions|File formats and extensions ]]: <br />Describes the formats used internally for data and object storage. [CRUDE NOTES]
* [[ Documentation:Makehuman Plugin System|Makehuman Plugin System ]]: <br />How to make a new plugin and use it in MakeHuman
|}
==== Packager's notes ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Packaging RPM's for Suse/Fedora using Open Build Service (OBS)|Packaging RPM's for Suse/Fedora using Open Build Service (OBS) ]]: <br />Packaging procedure and setup.
|}
=== Tutorials ===
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:MakeClothes:Making a simple dress|MakeClothes: Making a simple dress ]]: <br />The basic MakeClothes workflow.
* [[ Documentation:MakeClothes:Controlling the result with vertex groups|MakeClothes: Controlling the result with vertex groups ]]: <br />The output of the clothes-making process depends on how vertex groups are assigned.
* [[ Documentation:MakeTarget:Creating a Custom Target with MakeTarget Standalone|Creating a Custom Target with MakeTarget Standalone ]]: <br />A practical example of custom target
* [[ Documentation:MakeWalk:The making of Running feet|MakeWalk: The making of Running feet ]]: <br />MakeWalk tutorial, focusing on the Edit Action panel.
* [[ Documentation:MakeWalk:Running feet scene 1|MakeWalk: Running feet scene 1 ]]: <br />Making an extended run on a plane.
* [[ Documentation:MakeWalk:Running feet scene 2|MakeWalk: Running feet scene 2 ]]: <br />High heels and slopes.
* [[ Documentation:MakeWalk:Running feet scene 3|MakeWalk: Running feet scene 3 ]]: <br />The race.
* [[ Documentation:MakeWalk:Running feet scene 4|MakeWalk: Running feet scene 4 ]]: <br />Rough terrain.
* [[ Documentation:MakeWalk:Automatic animation |MakeWalk: Automatic animation ]]: <br />Tutorial on using the editing tools in MakeWalk.
|}
__NOTOC__
<!--
Author Notes:
== Instructions ==
Please put all documentation nodes in namespace "Documentation", like <nowiki>[[Documentation:Introduction to the interface|Introduction to the interface]]</nowiki> (which would resolve as [[Documentation:Introduction to the interface|Introduction to the interface]])
-->
4b6bc25a58de26b91506c09b5069b4d1bc14f149
516
499
2015-09-02T09:54:37Z
Duststorm
19
/* Documentation for developers */
wikitext
text/x-wiki
These are documentation fragments which have been ported. They may still miss some images
== Introduction ==
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6EEE6; padding:.5em;"|
* [[Documentation:MakeHuman™ and its Purpose|MakeHuman™ and its Purpose ]]: MakeHuman definition and vision.
* [[ Documentation:Short and Long Pipeline|Short and Long Pipeline ]]: The goal of Makehuman is to see it used in 2 different professional pipelines.
* [[ Documentation:Professional mesh topology|Professional mesh topology ]]: An overview of the professional topology provided by MakeHuman
* [[ Documentation:Legal|Legal ]]: The various licenses that apply to MakeHuman and External tools
|}
== General overview ==
None
== Defining human characteristics ==
None
== Rendering your work ==
None
== Settings ==
None
== Blender tools ==
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Documentation:MHBlenderTools: Download and installation|MHBlenderTools: Download and installation ]]: How to download and install the addons for Blender
* [[ Documentation:MHBlenderTools: MakeTarget|MHBlenderTools: MakeTarget ]]: Description of the MakeTarget™ tool, to create custom morphings for MakeHuman.
* [[ Documentation:MHBlenderTools:MakeClothes|MHBlenderTools: MakeClothes ]]: Description of the MakeClothes™ tool, to create custom clothes for MakeHuman.
|}
== Documentation for developers ==
[[Technical notes on MakeHuman]]
== Tutorials ==
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6EEE6; padding:.5em;"|
* [[Documentation:Texture painting a skin in blender|Tutorial: Texture painting a skin in blender]]
|}
== Unported stuff from Drupal ==
This is stuff which haven't been ported yet.
[[Documentation:Big dump from drupal]]
==== General overview ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Install MakeHuman™|Install MakeHuman™ ]]: <br />How to install MH on Windows, Osx and Linux.
* [[ Documentation:The Interface and basic functions.|The Interface and basic functions. ]]: <br />The MakeHuman GUI: Load, save, undo and redo, reset, view, symmetry, help.
* [[ Documentation:Zoom, pan and rotate using the orbital camera|Zoom, pan and rotate using the orbital camera ]]: <br />Navigating the scene using the orbital camera.
* [[ Documentation:Load Save and Export|Load Save and Export ]]: <br />Describe file actions for MakeHuman
|}
==== Define Human Characteristics ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Parametric Modelling|Parametric Modelling ]]: <br />A quick introduction to the parametric modelling and sliders usage.
* [[ Documentation:Using MakeHuman Hairstyles and Clothes|Using MakeHuman Hairstyles and Clothes ]]: <br />Hair in the MakeHuman Geometries group
* [[ Documentation:Skin and other materials|Skin and other materials ]]: <br />How to change skin and materials for hair and clothes.
* [[ Documentation:Gender, Random, Measure and Custom|Gender, Random, Measure and Custom ]]: <br />Special modifiers.
* [[ Documentation:Makehuman alternative topologies|Makehuman alternative topologies ]]: <br />MakeHuman provides a smart alternative topologies library
|}
==== Rendering Your Work ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Quick rendering and advanced rendering|Quick rendering and advanced rendering ]]: <br />This section explains how render the character in MakeHuman
* [[ Documentation:Scene and Viewer|Scene and Viewer ]]: <br />How to set lights and how to see and save the rendering
|}
==== Settings ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:General|General ]]: <br />How to set the general preferences
* [[ Documentation:Background|Background ]]: <br />How to use backgrounds for reference.
* [[ Documentation:Mouse|Mouse ]]: <br />Explanation of mouse settings
* [[ Documentation:Shortcuts|Shortcuts ]]: <br />Configuration of shortcuts in Makehuman
* [[ Documentation:Plugins|Plugins ]]: <br />Management of Makehuman plugins
|}
==== Tools and contributing methods ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:MHBlenderTools:MakeWalk|MHBlenderTools: MakeWalk ]]:<br />MakeWalk™ is a Blender add-on for retargeting mocap data (.bvh files) to a given armature.
** [[ Documentation:MHBlenderTools:MakeWalk GUI|MHBlenderTools: MakeWalk GUI ]]:<br />An introduction to MakeWalk™ and its user interface.
** [[ Documentation:MHBlenderTools:MakeWalk Armatures|MHBlenderTools: MakeWalk Armatures ]]:<br />An introduction to MakeWalk™ and the use of armatures. Explaining the meaning and use of source and target armature.
** [[ Documentation:MHBlenderTools:MakeWalk Utilities|MHBlenderTools: MakeWalk Utilities ]]:<br />An introduction to the MakeWalk™ utilities panel: save and restore the defaults, manage actions, t-pose, etc.
** [[ Documentation:MHBlenderTools:MakeWalk Retarget|MHBlenderTools: MakeWalk Retarget ]]:<br />An introduction to MakeWalk™ target rigging. This document will describe common errors and corrective actions.
* [[ Documentation:MHBlenderTools:MHX importer basic usage.|MHBlenderTools: MHX importer basic usage. ]]:<br />MHX (MakeHuman eXchange format) is a custom format used to transfer a rigged character from MakeHuman to Blender.
* [[ Documentation:MHBlenderTools:MHX default rigging|MHBlenderTools: MHX default rigging ]]:<br />If pose/animate > skeleton is set to 'None' when the character is exported from MakeHuman in .mhx format, the character is equipped with the default MHX armature. This is a rather complex rig with quite a few features.
* [[ Documentation:MHBlenderTools:MHX other rigging systems|MHBlenderTools: MHX other rigging systems ]]:<br />The character can be rigged with alternatives and ligher armature or the rigify one (The rigging system for Blender developed by Nathan Vegdahl).
* [[ Documentation:MHBlenderTools:MHX Layers and masks|MHBlenderTools: MHX Layers and masks ]]:<br />The mhx importer creates objects on the first four layers.
* [[ Documentation:MakeTarget standalone|MakeTarget standalone ]]:<br />Converting files produced with the most common modelling software, without Blender.
* [[ Documentation:GUI languages and translations.|GUI languages and translations. ]]:<br />MakeHuman support a variety of languages. It's very easy to add translations.
|}
==== Reporting a Bug ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Using the Makehuman bug tracker|Using the Makehuman bug tracker ]]: <br />Introduction to the new Makehuman bug tracker
* [[ Documentation:Using the Makehuman log files for error reporting|Using the Makehuman log files for error reporting ]]: <br />How to report bugs using the log files.
|}
==== Developers' note ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Getting started|Getting started ]]: <br />The best way to start your experiments with MakeHuman code is to clone our official repository and start to modify it.
* [[ Documentation:Development infrastructure|Development infrastructure ]]: <br />A description of the MakeHuman development infrastructure.
* [[ Documentation:OpenGL Notes|OpenGL Notes ]]: <br />Most of the 3D mesh handling functionality is delivered using OpenGL embedded within the C application code.
* [[ Documentation:Development organization|Development organization ]]: <br />The organization of distributed development.
* [[ Documentation:Libraries and build procedures|Libraries and build procedures ]]: <br />Describes the details of creating installable packages on major platforms
* [[ Documentation:Directory structure and core modules|Directory structure and core modules ]]: <br />Summary of the MH API reference.
* [[ Documentation:File formats and extensions|File formats and extensions ]]: <br />Describes the formats used internally for data and object storage. [CRUDE NOTES]
* [[ Documentation:Makehuman Plugin System|Makehuman Plugin System ]]: <br />How to make a new plugin and use it in MakeHuman
|}
==== Packager's notes ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Packaging RPM's for Suse/Fedora using Open Build Service (OBS)|Packaging RPM's for Suse/Fedora using Open Build Service (OBS) ]]: <br />Packaging procedure and setup.
|}
=== Tutorials ===
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:MakeClothes:Making a simple dress|MakeClothes: Making a simple dress ]]: <br />The basic MakeClothes workflow.
* [[ Documentation:MakeClothes:Controlling the result with vertex groups|MakeClothes: Controlling the result with vertex groups ]]: <br />The output of the clothes-making process depends on how vertex groups are assigned.
* [[ Documentation:MakeTarget:Creating a Custom Target with MakeTarget Standalone|Creating a Custom Target with MakeTarget Standalone ]]: <br />A practical example of custom target
* [[ Documentation:MakeWalk:The making of Running feet|MakeWalk: The making of Running feet ]]: <br />MakeWalk tutorial, focusing on the Edit Action panel.
* [[ Documentation:MakeWalk:Running feet scene 1|MakeWalk: Running feet scene 1 ]]: <br />Making an extended run on a plane.
* [[ Documentation:MakeWalk:Running feet scene 2|MakeWalk: Running feet scene 2 ]]: <br />High heels and slopes.
* [[ Documentation:MakeWalk:Running feet scene 3|MakeWalk: Running feet scene 3 ]]: <br />The race.
* [[ Documentation:MakeWalk:Running feet scene 4|MakeWalk: Running feet scene 4 ]]: <br />Rough terrain.
* [[ Documentation:MakeWalk:Automatic animation |MakeWalk: Automatic animation ]]: <br />Tutorial on using the editing tools in MakeWalk.
|}
__NOTOC__
<!--
Author Notes:
== Instructions ==
Please put all documentation nodes in namespace "Documentation", like <nowiki>[[Documentation:Introduction to the interface|Introduction to the interface]]</nowiki> (which would resolve as [[Documentation:Introduction to the interface|Introduction to the interface]])
-->
996fdd8c1fea720eb76436673782890b990522e8
499
498
2015-08-29T12:16:48Z
Fairytail
16
/* Blender tools */
wikitext
text/x-wiki
These are documentation fragments which have been ported. They may still miss some images
== Introduction ==
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6EEE6; padding:.5em;"|
* [[Documentation:MakeHuman™ and its Purpose|MakeHuman™ and its Purpose ]]: MakeHuman definition and vision.
* [[ Documentation:Short and Long Pipeline|Short and Long Pipeline ]]: The goal of Makehuman is to see it used in 2 different professional pipelines.
* [[ Documentation:Professional mesh topology|Professional mesh topology ]]: An overview of the professional topology provided by MakeHuman
* [[ Documentation:Legal|Legal ]]: The various licenses that apply to MakeHuman and External tools
|}
== General overview ==
None
== Defining human characteristics ==
None
== Rendering your work ==
None
== Settings ==
None
== Blender tools ==
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Documentation:MHBlenderTools: Download and installation|MHBlenderTools: Download and installation ]]: How to download and install the addons for Blender
* [[ Documentation:MHBlenderTools: MakeTarget|MHBlenderTools: MakeTarget ]]: Description of the MakeTarget™ tool, to create custom morphings for MakeHuman.
* [[ Documentation:MHBlenderTools:MakeClothes|MHBlenderTools: MakeClothes ]]: Description of the MakeClothes™ tool, to create custom clothes for MakeHuman.
|}
== Documentation for developers ==
None
== Tutorials ==
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6EEE6; padding:.5em;"|
* [[Documentation:Texture painting a skin in blender|Tutorial: Texture painting a skin in blender]]
|}
== Unported stuff from Drupal ==
This is stuff which haven't been ported yet.
[[Documentation:Big dump from drupal]]
==== General overview ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Install MakeHuman™|Install MakeHuman™ ]]: <br />How to install MH on Windows, Osx and Linux.
* [[ Documentation:The Interface and basic functions.|The Interface and basic functions. ]]: <br />The MakeHuman GUI: Load, save, undo and redo, reset, view, symmetry, help.
* [[ Documentation:Zoom, pan and rotate using the orbital camera|Zoom, pan and rotate using the orbital camera ]]: <br />Navigating the scene using the orbital camera.
* [[ Documentation:Load Save and Export|Load Save and Export ]]: <br />Describe file actions for MakeHuman
|}
==== Define Human Characteristics ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Parametric Modelling|Parametric Modelling ]]: <br />A quick introduction to the parametric modelling and sliders usage.
* [[ Documentation:Using MakeHuman Hairstyles and Clothes|Using MakeHuman Hairstyles and Clothes ]]: <br />Hair in the MakeHuman Geometries group
* [[ Documentation:Skin and other materials|Skin and other materials ]]: <br />How to change skin and materials for hair and clothes.
* [[ Documentation:Gender, Random, Measure and Custom|Gender, Random, Measure and Custom ]]: <br />Special modifiers.
* [[ Documentation:Makehuman alternative topologies|Makehuman alternative topologies ]]: <br />MakeHuman provides a smart alternative topologies library
|}
==== Rendering Your Work ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Quick rendering and advanced rendering|Quick rendering and advanced rendering ]]: <br />This section explains how render the character in MakeHuman
* [[ Documentation:Scene and Viewer|Scene and Viewer ]]: <br />How to set lights and how to see and save the rendering
|}
==== Settings ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:General|General ]]: <br />How to set the general preferences
* [[ Documentation:Background|Background ]]: <br />How to use backgrounds for reference.
* [[ Documentation:Mouse|Mouse ]]: <br />Explanation of mouse settings
* [[ Documentation:Shortcuts|Shortcuts ]]: <br />Configuration of shortcuts in Makehuman
* [[ Documentation:Plugins|Plugins ]]: <br />Management of Makehuman plugins
|}
==== Tools and contributing methods ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:MHBlenderTools:MakeWalk|MHBlenderTools: MakeWalk ]]:<br />MakeWalk™ is a Blender add-on for retargeting mocap data (.bvh files) to a given armature.
** [[ Documentation:MHBlenderTools:MakeWalk GUI|MHBlenderTools: MakeWalk GUI ]]:<br />An introduction to MakeWalk™ and its user interface.
** [[ Documentation:MHBlenderTools:MakeWalk Armatures|MHBlenderTools: MakeWalk Armatures ]]:<br />An introduction to MakeWalk™ and the use of armatures. Explaining the meaning and use of source and target armature.
** [[ Documentation:MHBlenderTools:MakeWalk Utilities|MHBlenderTools: MakeWalk Utilities ]]:<br />An introduction to the MakeWalk™ utilities panel: save and restore the defaults, manage actions, t-pose, etc.
** [[ Documentation:MHBlenderTools:MakeWalk Retarget|MHBlenderTools: MakeWalk Retarget ]]:<br />An introduction to MakeWalk™ target rigging. This document will describe common errors and corrective actions.
* [[ Documentation:MHBlenderTools:MHX importer basic usage.|MHBlenderTools: MHX importer basic usage. ]]:<br />MHX (MakeHuman eXchange format) is a custom format used to transfer a rigged character from MakeHuman to Blender.
* [[ Documentation:MHBlenderTools:MHX default rigging|MHBlenderTools: MHX default rigging ]]:<br />If pose/animate > skeleton is set to 'None' when the character is exported from MakeHuman in .mhx format, the character is equipped with the default MHX armature. This is a rather complex rig with quite a few features.
* [[ Documentation:MHBlenderTools:MHX other rigging systems|MHBlenderTools: MHX other rigging systems ]]:<br />The character can be rigged with alternatives and ligher armature or the rigify one (The rigging system for Blender developed by Nathan Vegdahl).
* [[ Documentation:MHBlenderTools:MHX Layers and masks|MHBlenderTools: MHX Layers and masks ]]:<br />The mhx importer creates objects on the first four layers.
* [[ Documentation:MakeTarget standalone|MakeTarget standalone ]]:<br />Converting files produced with the most common modelling software, without Blender.
* [[ Documentation:GUI languages and translations.|GUI languages and translations. ]]:<br />MakeHuman support a variety of languages. It's very easy to add translations.
|}
==== Reporting a Bug ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Using the Makehuman bug tracker|Using the Makehuman bug tracker ]]: <br />Introduction to the new Makehuman bug tracker
* [[ Documentation:Using the Makehuman log files for error reporting|Using the Makehuman log files for error reporting ]]: <br />How to report bugs using the log files.
|}
==== Developers' note ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Getting started|Getting started ]]: <br />The best way to start your experiments with MakeHuman code is to clone our official repository and start to modify it.
* [[ Documentation:Development infrastructure|Development infrastructure ]]: <br />A description of the MakeHuman development infrastructure.
* [[ Documentation:OpenGL Notes|OpenGL Notes ]]: <br />Most of the 3D mesh handling functionality is delivered using OpenGL embedded within the C application code.
* [[ Documentation:Development organization|Development organization ]]: <br />The organization of distributed development.
* [[ Documentation:Libraries and build procedures|Libraries and build procedures ]]: <br />Describes the details of creating installable packages on major platforms
* [[ Documentation:Directory structure and core modules|Directory structure and core modules ]]: <br />Summary of the MH API reference.
* [[ Documentation:File formats and extensions|File formats and extensions ]]: <br />Describes the formats used internally for data and object storage. [CRUDE NOTES]
* [[ Documentation:Makehuman Plugin System|Makehuman Plugin System ]]: <br />How to make a new plugin and use it in MakeHuman
|}
==== Packager's notes ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Packaging RPM's for Suse/Fedora using Open Build Service (OBS)|Packaging RPM's for Suse/Fedora using Open Build Service (OBS) ]]: <br />Packaging procedure and setup.
|}
=== Tutorials ===
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:MakeClothes:Making a simple dress|MakeClothes: Making a simple dress ]]: <br />The basic MakeClothes workflow.
* [[ Documentation:MakeClothes:Controlling the result with vertex groups|MakeClothes: Controlling the result with vertex groups ]]: <br />The output of the clothes-making process depends on how vertex groups are assigned.
* [[ Documentation:MakeTarget:Creating a Custom Target with MakeTarget Standalone|Creating a Custom Target with MakeTarget Standalone ]]: <br />A practical example of custom target
* [[ Documentation:MakeWalk:The making of Running feet|MakeWalk: The making of Running feet ]]: <br />MakeWalk tutorial, focusing on the Edit Action panel.
* [[ Documentation:MakeWalk:Running feet scene 1|MakeWalk: Running feet scene 1 ]]: <br />Making an extended run on a plane.
* [[ Documentation:MakeWalk:Running feet scene 2|MakeWalk: Running feet scene 2 ]]: <br />High heels and slopes.
* [[ Documentation:MakeWalk:Running feet scene 3|MakeWalk: Running feet scene 3 ]]: <br />The race.
* [[ Documentation:MakeWalk:Running feet scene 4|MakeWalk: Running feet scene 4 ]]: <br />Rough terrain.
* [[ Documentation:MakeWalk:Automatic animation |MakeWalk: Automatic animation ]]: <br />Tutorial on using the editing tools in MakeWalk.
|}
__NOTOC__
<!--
Author Notes:
== Instructions ==
Please put all documentation nodes in namespace "Documentation", like <nowiki>[[Documentation:Introduction to the interface|Introduction to the interface]]</nowiki> (which would resolve as [[Documentation:Introduction to the interface|Introduction to the interface]])
-->
f170539e80229d042b9f71f65af1142d6e98b1d2
498
483
2015-08-29T12:14:18Z
Fairytail
16
wikitext
text/x-wiki
These are documentation fragments which have been ported. They may still miss some images
== Introduction ==
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6EEE6; padding:.5em;"|
* [[Documentation:MakeHuman™ and its Purpose|MakeHuman™ and its Purpose ]]: MakeHuman definition and vision.
* [[ Documentation:Short and Long Pipeline|Short and Long Pipeline ]]: The goal of Makehuman is to see it used in 2 different professional pipelines.
* [[ Documentation:Professional mesh topology|Professional mesh topology ]]: An overview of the professional topology provided by MakeHuman
* [[ Documentation:Legal|Legal ]]: The various licenses that apply to MakeHuman and External tools
|}
== General overview ==
None
== Defining human characteristics ==
None
== Rendering your work ==
None
== Settings ==
None
== Blender tools ==
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Documentation:MHBlenderTools: Download and installation|MHBlenderTools: Download and installation ]]: How to download and install the addons for Blender
* [[ Documentation:MHBlenderTools: MakeTarget|MHBlenderTools: MakeTarget ]]: Description of MakeTarget™ tool, to create custom morphings for MakeHuman.
* [[ Documentation:MHBlenderTools:MakeClothes|MHBlenderTools: MakeClothes ]]:<br />Description of MakeClothes™ and its user interface.
|}
== Documentation for developers ==
None
== Tutorials ==
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6EEE6; padding:.5em;"|
* [[Documentation:Texture painting a skin in blender|Tutorial: Texture painting a skin in blender]]
|}
== Unported stuff from Drupal ==
This is stuff which haven't been ported yet.
[[Documentation:Big dump from drupal]]
==== General overview ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Install MakeHuman™|Install MakeHuman™ ]]: <br />How to install MH on Windows, Osx and Linux.
* [[ Documentation:The Interface and basic functions.|The Interface and basic functions. ]]: <br />The MakeHuman GUI: Load, save, undo and redo, reset, view, symmetry, help.
* [[ Documentation:Zoom, pan and rotate using the orbital camera|Zoom, pan and rotate using the orbital camera ]]: <br />Navigating the scene using the orbital camera.
* [[ Documentation:Load Save and Export|Load Save and Export ]]: <br />Describe file actions for MakeHuman
|}
==== Define Human Characteristics ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Parametric Modelling|Parametric Modelling ]]: <br />A quick introduction to the parametric modelling and sliders usage.
* [[ Documentation:Using MakeHuman Hairstyles and Clothes|Using MakeHuman Hairstyles and Clothes ]]: <br />Hair in the MakeHuman Geometries group
* [[ Documentation:Skin and other materials|Skin and other materials ]]: <br />How to change skin and materials for hair and clothes.
* [[ Documentation:Gender, Random, Measure and Custom|Gender, Random, Measure and Custom ]]: <br />Special modifiers.
* [[ Documentation:Makehuman alternative topologies|Makehuman alternative topologies ]]: <br />MakeHuman provides a smart alternative topologies library
|}
==== Rendering Your Work ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Quick rendering and advanced rendering|Quick rendering and advanced rendering ]]: <br />This section explains how render the character in MakeHuman
* [[ Documentation:Scene and Viewer|Scene and Viewer ]]: <br />How to set lights and how to see and save the rendering
|}
==== Settings ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:General|General ]]: <br />How to set the general preferences
* [[ Documentation:Background|Background ]]: <br />How to use backgrounds for reference.
* [[ Documentation:Mouse|Mouse ]]: <br />Explanation of mouse settings
* [[ Documentation:Shortcuts|Shortcuts ]]: <br />Configuration of shortcuts in Makehuman
* [[ Documentation:Plugins|Plugins ]]: <br />Management of Makehuman plugins
|}
==== Tools and contributing methods ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:MHBlenderTools:MakeWalk|MHBlenderTools: MakeWalk ]]:<br />MakeWalk™ is a Blender add-on for retargeting mocap data (.bvh files) to a given armature.
** [[ Documentation:MHBlenderTools:MakeWalk GUI|MHBlenderTools: MakeWalk GUI ]]:<br />An introduction to MakeWalk™ and its user interface.
** [[ Documentation:MHBlenderTools:MakeWalk Armatures|MHBlenderTools: MakeWalk Armatures ]]:<br />An introduction to MakeWalk™ and the use of armatures. Explaining the meaning and use of source and target armature.
** [[ Documentation:MHBlenderTools:MakeWalk Utilities|MHBlenderTools: MakeWalk Utilities ]]:<br />An introduction to the MakeWalk™ utilities panel: save and restore the defaults, manage actions, t-pose, etc.
** [[ Documentation:MHBlenderTools:MakeWalk Retarget|MHBlenderTools: MakeWalk Retarget ]]:<br />An introduction to MakeWalk™ target rigging. This document will describe common errors and corrective actions.
* [[ Documentation:MHBlenderTools:MHX importer basic usage.|MHBlenderTools: MHX importer basic usage. ]]:<br />MHX (MakeHuman eXchange format) is a custom format used to transfer a rigged character from MakeHuman to Blender.
* [[ Documentation:MHBlenderTools:MHX default rigging|MHBlenderTools: MHX default rigging ]]:<br />If pose/animate > skeleton is set to 'None' when the character is exported from MakeHuman in .mhx format, the character is equipped with the default MHX armature. This is a rather complex rig with quite a few features.
* [[ Documentation:MHBlenderTools:MHX other rigging systems|MHBlenderTools: MHX other rigging systems ]]:<br />The character can be rigged with alternatives and ligher armature or the rigify one (The rigging system for Blender developed by Nathan Vegdahl).
* [[ Documentation:MHBlenderTools:MHX Layers and masks|MHBlenderTools: MHX Layers and masks ]]:<br />The mhx importer creates objects on the first four layers.
* [[ Documentation:MakeTarget standalone|MakeTarget standalone ]]:<br />Converting files produced with the most common modelling software, without Blender.
* [[ Documentation:GUI languages and translations.|GUI languages and translations. ]]:<br />MakeHuman support a variety of languages. It's very easy to add translations.
|}
==== Reporting a Bug ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Using the Makehuman bug tracker|Using the Makehuman bug tracker ]]: <br />Introduction to the new Makehuman bug tracker
* [[ Documentation:Using the Makehuman log files for error reporting|Using the Makehuman log files for error reporting ]]: <br />How to report bugs using the log files.
|}
==== Developers' note ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Getting started|Getting started ]]: <br />The best way to start your experiments with MakeHuman code is to clone our official repository and start to modify it.
* [[ Documentation:Development infrastructure|Development infrastructure ]]: <br />A description of the MakeHuman development infrastructure.
* [[ Documentation:OpenGL Notes|OpenGL Notes ]]: <br />Most of the 3D mesh handling functionality is delivered using OpenGL embedded within the C application code.
* [[ Documentation:Development organization|Development organization ]]: <br />The organization of distributed development.
* [[ Documentation:Libraries and build procedures|Libraries and build procedures ]]: <br />Describes the details of creating installable packages on major platforms
* [[ Documentation:Directory structure and core modules|Directory structure and core modules ]]: <br />Summary of the MH API reference.
* [[ Documentation:File formats and extensions|File formats and extensions ]]: <br />Describes the formats used internally for data and object storage. [CRUDE NOTES]
* [[ Documentation:Makehuman Plugin System|Makehuman Plugin System ]]: <br />How to make a new plugin and use it in MakeHuman
|}
==== Packager's notes ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Packaging RPM's for Suse/Fedora using Open Build Service (OBS)|Packaging RPM's for Suse/Fedora using Open Build Service (OBS) ]]: <br />Packaging procedure and setup.
|}
=== Tutorials ===
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:MakeClothes:Making a simple dress|MakeClothes: Making a simple dress ]]: <br />The basic MakeClothes workflow.
* [[ Documentation:MakeClothes:Controlling the result with vertex groups|MakeClothes: Controlling the result with vertex groups ]]: <br />The output of the clothes-making process depends on how vertex groups are assigned.
* [[ Documentation:MakeTarget:Creating a Custom Target with MakeTarget Standalone|Creating a Custom Target with MakeTarget Standalone ]]: <br />A practical example of custom target
* [[ Documentation:MakeWalk:The making of Running feet|MakeWalk: The making of Running feet ]]: <br />MakeWalk tutorial, focusing on the Edit Action panel.
* [[ Documentation:MakeWalk:Running feet scene 1|MakeWalk: Running feet scene 1 ]]: <br />Making an extended run on a plane.
* [[ Documentation:MakeWalk:Running feet scene 2|MakeWalk: Running feet scene 2 ]]: <br />High heels and slopes.
* [[ Documentation:MakeWalk:Running feet scene 3|MakeWalk: Running feet scene 3 ]]: <br />The race.
* [[ Documentation:MakeWalk:Running feet scene 4|MakeWalk: Running feet scene 4 ]]: <br />Rough terrain.
* [[ Documentation:MakeWalk:Automatic animation |MakeWalk: Automatic animation ]]: <br />Tutorial on using the editing tools in MakeWalk.
|}
__NOTOC__
<!--
Author Notes:
== Instructions ==
Please put all documentation nodes in namespace "Documentation", like <nowiki>[[Documentation:Introduction to the interface|Introduction to the interface]]</nowiki> (which would resolve as [[Documentation:Introduction to the interface|Introduction to the interface]])
-->
9c398872317095083d5af101d783033c1e6c46a8
483
482
2015-08-29T09:20:27Z
Fairytail
16
wikitext
text/x-wiki
These are documentation fragments which have been ported. They may still miss some images
== Introduction ==
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6EEE6; padding:.5em;"|
* [[Documentation:MakeHuman™ and its Purpose|MakeHuman™ and its Purpose ]]: MakeHuman definition and vision.
* [[ Documentation:Short and Long Pipeline|Short and Long Pipeline ]]: The goal of Makehuman is to see it used in 2 different professional pipelines.
* [[ Documentation:Professional mesh topology|Professional mesh topology ]]: An overview of the professional topology provided by MakeHuman
* [[ Documentation:Legal|Legal ]]: The various licenses that apply to MakeHuman and External tools
|}
== General overview ==
None
== Defining human characteristics ==
None
== Rendering your work ==
None
== Settings ==
None
== Blender tools ==
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Documentation:MHBlenderTools: Download and installation|MHBlenderTools: Download and installation ]]: How to download and install the addons for Blender
* [[ Documentation:MHBlenderTools: MakeTarget|MHBlenderTools: MakeTarget ]]: Description of MakeTarget™ tool, to create custom morphings for MakeHuman.
|}
== Documentation for developers ==
None
== Tutorials ==
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6EEE6; padding:.5em;"|
* [[Documentation:Texture painting a skin in blender|Tutorial: Texture painting a skin in blender]]
|}
== Unported stuff from Drupal ==
This is stuff which haven't been ported yet.
[[Documentation:Big dump from drupal]]
==== General overview ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Install MakeHuman™|Install MakeHuman™ ]]: <br />How to install MH on Windows, Osx and Linux.
* [[ Documentation:The Interface and basic functions.|The Interface and basic functions. ]]: <br />The MakeHuman GUI: Load, save, undo and redo, reset, view, symmetry, help.
* [[ Documentation:Zoom, pan and rotate using the orbital camera|Zoom, pan and rotate using the orbital camera ]]: <br />Navigating the scene using the orbital camera.
* [[ Documentation:Load Save and Export|Load Save and Export ]]: <br />Describe file actions for MakeHuman
|}
==== Define Human Characteristics ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Parametric Modelling|Parametric Modelling ]]: <br />A quick introduction to the parametric modelling and sliders usage.
* [[ Documentation:Using MakeHuman Hairstyles and Clothes|Using MakeHuman Hairstyles and Clothes ]]: <br />Hair in the MakeHuman Geometries group
* [[ Documentation:Skin and other materials|Skin and other materials ]]: <br />How to change skin and materials for hair and clothes.
* [[ Documentation:Gender, Random, Measure and Custom|Gender, Random, Measure and Custom ]]: <br />Special modifiers.
* [[ Documentation:Makehuman alternative topologies|Makehuman alternative topologies ]]: <br />MakeHuman provides a smart alternative topologies library
|}
==== Rendering Your Work ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Quick rendering and advanced rendering|Quick rendering and advanced rendering ]]: <br />This section explains how render the character in MakeHuman
* [[ Documentation:Scene and Viewer|Scene and Viewer ]]: <br />How to set lights and how to see and save the rendering
|}
==== Settings ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:General|General ]]: <br />How to set the general preferences
* [[ Documentation:Background|Background ]]: <br />How to use backgrounds for reference.
* [[ Documentation:Mouse|Mouse ]]: <br />Explanation of mouse settings
* [[ Documentation:Shortcuts|Shortcuts ]]: <br />Configuration of shortcuts in Makehuman
* [[ Documentation:Plugins|Plugins ]]: <br />Management of Makehuman plugins
|}
==== Tools and contributing methods ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:MHBlenderTools:MakeClothes|MHBlenderTools: MakeClothes ]]:<br />Description of MakeClothes™ and its user interface.
* [[ Documentation:MHBlenderTools:MakeWalk|MHBlenderTools: MakeWalk ]]:<br />MakeWalk™ is a Blender add-on for retargeting mocap data (.bvh files) to a given armature.
** [[ Documentation:MHBlenderTools:MakeWalk GUI|MHBlenderTools: MakeWalk GUI ]]:<br />An introduction to MakeWalk™ and its user interface.
** [[ Documentation:MHBlenderTools:MakeWalk Armatures|MHBlenderTools: MakeWalk Armatures ]]:<br />An introduction to MakeWalk™ and the use of armatures. Explaining the meaning and use of source and target armature.
** [[ Documentation:MHBlenderTools:MakeWalk Utilities|MHBlenderTools: MakeWalk Utilities ]]:<br />An introduction to the MakeWalk™ utilities panel: save and restore the defaults, manage actions, t-pose, etc.
** [[ Documentation:MHBlenderTools:MakeWalk Retarget|MHBlenderTools: MakeWalk Retarget ]]:<br />An introduction to MakeWalk™ target rigging. This document will describe common errors and corrective actions.
* [[ Documentation:MHBlenderTools:MHX importer basic usage.|MHBlenderTools: MHX importer basic usage. ]]:<br />MHX (MakeHuman eXchange format) is a custom format used to transfer a rigged character from MakeHuman to Blender.
* [[ Documentation:MHBlenderTools:MHX default rigging|MHBlenderTools: MHX default rigging ]]:<br />If pose/animate > skeleton is set to 'None' when the character is exported from MakeHuman in .mhx format, the character is equipped with the default MHX armature. This is a rather complex rig with quite a few features.
* [[ Documentation:MHBlenderTools:MHX other rigging systems|MHBlenderTools: MHX other rigging systems ]]:<br />The character can be rigged with alternatives and ligher armature or the rigify one (The rigging system for Blender developed by Nathan Vegdahl).
* [[ Documentation:MHBlenderTools:MHX Layers and masks|MHBlenderTools: MHX Layers and masks ]]:<br />The mhx importer creates objects on the first four layers.
* [[ Documentation:MakeTarget standalone|MakeTarget standalone ]]:<br />Converting files produced with the most common modelling software, without Blender.
* [[ Documentation:GUI languages and translations.|GUI languages and translations. ]]:<br />MakeHuman support a variety of languages. It's very easy to add translations.
|}
==== Reporting a Bug ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Using the Makehuman bug tracker|Using the Makehuman bug tracker ]]: <br />Introduction to the new Makehuman bug tracker
* [[ Documentation:Using the Makehuman log files for error reporting|Using the Makehuman log files for error reporting ]]: <br />How to report bugs using the log files.
|}
==== Developers' note ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Getting started|Getting started ]]: <br />The best way to start your experiments with MakeHuman code is to clone our official repository and start to modify it.
* [[ Documentation:Development infrastructure|Development infrastructure ]]: <br />A description of the MakeHuman development infrastructure.
* [[ Documentation:OpenGL Notes|OpenGL Notes ]]: <br />Most of the 3D mesh handling functionality is delivered using OpenGL embedded within the C application code.
* [[ Documentation:Development organization|Development organization ]]: <br />The organization of distributed development.
* [[ Documentation:Libraries and build procedures|Libraries and build procedures ]]: <br />Describes the details of creating installable packages on major platforms
* [[ Documentation:Directory structure and core modules|Directory structure and core modules ]]: <br />Summary of the MH API reference.
* [[ Documentation:File formats and extensions|File formats and extensions ]]: <br />Describes the formats used internally for data and object storage. [CRUDE NOTES]
* [[ Documentation:Makehuman Plugin System|Makehuman Plugin System ]]: <br />How to make a new plugin and use it in MakeHuman
|}
==== Packager's notes ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:Packaging RPM's for Suse/Fedora using Open Build Service (OBS)|Packaging RPM's for Suse/Fedora using Open Build Service (OBS) ]]: <br />Packaging procedure and setup.
|}
=== Tutorials ===
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:.5em;"|
* [[ Documentation:MakeClothes:Making a simple dress|MakeClothes: Making a simple dress ]]: <br />The basic MakeClothes workflow.
* [[ Documentation:MakeClothes:Controlling the result with vertex groups|MakeClothes: Controlling the result with vertex groups ]]: <br />The output of the clothes-making process depends on how vertex groups are assigned.
* [[ Documentation:MakeTarget:Creating a Custom Target with MakeTarget Standalone|Creating a Custom Target with MakeTarget Standalone ]]: <br />A practical example of custom target
* [[ Documentation:MakeWalk:The making of Running feet|MakeWalk: The making of Running feet ]]: <br />MakeWalk tutorial, focusing on the Edit Action panel.
* [[ Documentation:MakeWalk:Running feet scene 1|MakeWalk: Running feet scene 1 ]]: <br />Making an extended run on a plane.
* [[ Documentation:MakeWalk:Running feet scene 2|MakeWalk: Running feet scene 2 ]]: <br />High heels and slopes.
* [[ Documentation:MakeWalk:Running feet scene 3|MakeWalk: Running feet scene 3 ]]: <br />The race.
* [[ Documentation:MakeWalk:Running feet scene 4|MakeWalk: Running feet scene 4 ]]: <br />Rough terrain.
* [[ Documentation:MakeWalk:Automatic animation |MakeWalk: Automatic animation ]]: <br />Tutorial on using the editing tools in MakeWalk.
|}
__NOTOC__
<!--
Author Notes:
== Instructions ==
Please put all documentation nodes in namespace "Documentation", like <nowiki>[[Documentation:Introduction to the interface|Introduction to the interface]]</nowiki> (which would resolve as [[Documentation:Introduction to the interface|Introduction to the interface]])
-->
cfc1c3bac8f8e3f51516cd06a2322d715b80193d
482
481
2015-08-29T09:08:41Z
Fairytail
16
/* Tutorials */
wikitext
text/x-wiki
These are documentation fragments which have been ported. They may still miss some images
== Introduction ==
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6EEE6; padding:.5em;"|
* [[Documentation:MakeHuman™ and its Purpose|MakeHuman™ and its Purpose ]]: MakeHuman definition and vision.
* [[ Documentation:Short and Long Pipeline|Short and Long Pipeline ]]: The goal of Makehuman is to see it used in 2 different professional pipelines.
* [[ Documentation:Professional mesh topology|Professional mesh topology ]]: An overview of the professional topology provided by MakeHuman
* [[ Documentation:Legal|Legal ]]: The various licenses that apply to MakeHuman and External tools
|}
== General overview ==
None
== Defining human characteristics ==
None
== Rendering your work ==
None
== Settings ==
None
== Blender tools ==
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6EEE6; padding:.5em;"|
* [[ Documentation:MHBlenderTools: Download and installation|MHBlenderTools: Download and installation ]]: How to download and install the addons for Blender
* [[ Documentation:MHBlenderTools: MakeTarget|MHBlenderTools: MakeTarget ]]: Description of MakeTarget™ tool, to create custom morphings for MakeHuman.
|}
== Documentation for developers ==
None
== Tutorials ==
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6EEE6; padding:.5em;"|
* [[Documentation:Texture painting a skin in blender|Tutorial: Texture painting a skin in blender]]
|}
== Unported stuff from Drupal ==
This is stuff which haven't been ported yet.
[[Documentation:Big dump from drupal]]
==== General overview ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Documentation:Install MakeHuman™|Install MakeHuman™ ]]: <br />How to install MH on Windows, Osx and Linux.
* [[ Documentation:The Interface and basic functions.|The Interface and basic functions. ]]: <br />The MakeHuman GUI: Load, save, undo and redo, reset, view, symmetry, help.
* [[ Documentation:Zoom, pan and rotate using the orbital camera|Zoom, pan and rotate using the orbital camera ]]: <br />Navigating the scene using the orbital camera.
* [[ Documentation:Load Save and Export|Load Save and Export ]]: <br />Describe file actions for MakeHuman
|}
==== Define Human Characteristics ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Documentation:Parametric Modelling|Parametric Modelling ]]: <br />A quick introduction to the parametric modelling and sliders usage.
* [[ Documentation:Using MakeHuman Hairstyles and Clothes|Using MakeHuman Hairstyles and Clothes ]]: <br />Hair in the MakeHuman Geometries group
* [[ Documentation:Skin and other materials|Skin and other materials ]]: <br />How to change skin and materials for hair and clothes.
* [[ Documentation:Gender, Random, Measure and Custom|Gender, Random, Measure and Custom ]]: <br />Special modifiers.
* [[ Documentation:Makehuman alternative topologies|Makehuman alternative topologies ]]: <br />MakeHuman provides a smart alternative topologies library
|}
==== Rendering Your Work ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Documentation:Quick rendering and advanced rendering|Quick rendering and advanced rendering ]]: <br />This section explains how render the character in MakeHuman
* [[ Documentation:Scene and Viewer|Scene and Viewer ]]: <br />How to set lights and how to see and save the rendering
|}
==== Settings ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Documentation:General|General ]]: <br />How to set the general preferences
* [[ Documentation:Background|Background ]]: <br />How to use backgrounds for reference.
* [[ Documentation:Mouse|Mouse ]]: <br />Explanation of mouse settings
* [[ Documentation:Shortcuts|Shortcuts ]]: <br />Configuration of shortcuts in Makehuman
* [[ Documentation:Plugins|Plugins ]]: <br />Management of Makehuman plugins
|}
==== Tools and contributing methods ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Documentation:MHBlenderTools:MakeClothes|MHBlenderTools: MakeClothes ]]:<br />Description of MakeClothes™ and its user interface.
* [[ Documentation:MHBlenderTools:MakeWalk|MHBlenderTools: MakeWalk ]]:<br />MakeWalk™ is a Blender add-on for retargeting mocap data (.bvh files) to a given armature.
** [[ Documentation:MHBlenderTools:MakeWalk GUI|MHBlenderTools: MakeWalk GUI ]]:<br />An introduction to MakeWalk™ and its user interface.
** [[ Documentation:MHBlenderTools:MakeWalk Armatures|MHBlenderTools: MakeWalk Armatures ]]:<br />An introduction to MakeWalk™ and the use of armatures. Explaining the meaning and use of source and target armature.
** [[ Documentation:MHBlenderTools:MakeWalk Utilities|MHBlenderTools: MakeWalk Utilities ]]:<br />An introduction to the MakeWalk™ utilities panel: save and restore the defaults, manage actions, t-pose, etc.
** [[ Documentation:MHBlenderTools:MakeWalk Retarget|MHBlenderTools: MakeWalk Retarget ]]:<br />An introduction to MakeWalk™ target rigging. This document will describe common errors and corrective actions.
* [[ Documentation:MHBlenderTools:MHX importer basic usage.|MHBlenderTools: MHX importer basic usage. ]]:<br />MHX (MakeHuman eXchange format) is a custom format used to transfer a rigged character from MakeHuman to Blender.
* [[ Documentation:MHBlenderTools:MHX default rigging|MHBlenderTools: MHX default rigging ]]:<br />If pose/animate > skeleton is set to 'None' when the character is exported from MakeHuman in .mhx format, the character is equipped with the default MHX armature. This is a rather complex rig with quite a few features.
* [[ Documentation:MHBlenderTools:MHX other rigging systems|MHBlenderTools: MHX other rigging systems ]]:<br />The character can be rigged with alternatives and ligher armature or the rigify one (The rigging system for Blender developed by Nathan Vegdahl).
* [[ Documentation:MHBlenderTools:MHX Layers and masks|MHBlenderTools: MHX Layers and masks ]]:<br />The mhx importer creates objects on the first four layers.
* [[ Documentation:MakeTarget standalone|MakeTarget standalone ]]:<br />Converting files produced with the most common modelling software, without Blender.
* [[ Documentation:GUI languages and translations.|GUI languages and translations. ]]:<br />MakeHuman support a variety of languages. It's very easy to add translations.
|}
==== Reporting a Bug ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Documentation:Using the Makehuman bug tracker|Using the Makehuman bug tracker ]]: <br />Introduction to the new Makehuman bug tracker
* [[ Documentation:Using the Makehuman log files for error reporting|Using the Makehuman log files for error reporting ]]: <br />How to report bugs using the log files.
|}
==== Developers' note ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Documentation:Getting started|Getting started ]]: <br />The best way to start your experiments with MakeHuman code is to clone our official repository and start to modify it.
* [[ Documentation:Development infrastructure|Development infrastructure ]]: <br />A description of the MakeHuman development infrastructure.
* [[ Documentation:OpenGL Notes|OpenGL Notes ]]: <br />Most of the 3D mesh handling functionality is delivered using OpenGL embedded within the C application code.
* [[ Documentation:Development organization|Development organization ]]: <br />The organization of distributed development.
* [[ Documentation:Libraries and build procedures|Libraries and build procedures ]]: <br />Describes the details of creating installable packages on major platforms
* [[ Documentation:Directory structure and core modules|Directory structure and core modules ]]: <br />Summary of the MH API reference.
* [[ Documentation:File formats and extensions|File formats and extensions ]]: <br />Describes the formats used internally for data and object storage. [CRUDE NOTES]
* [[ Documentation:Makehuman Plugin System|Makehuman Plugin System ]]: <br />How to make a new plugin and use it in MakeHuman
|}
==== Packager's notes ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Documentation:Packaging RPM's for Suse/Fedora using Open Build Service (OBS)|Packaging RPM's for Suse/Fedora using Open Build Service (OBS) ]]: <br />Packaging procedure and setup.
|}
=== Tutorials ===
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Documentation:MakeClothes:Making a simple dress|MakeClothes: Making a simple dress ]]: <br />The basic MakeClothes workflow.
* [[ Documentation:MakeClothes:Controlling the result with vertex groups|MakeClothes: Controlling the result with vertex groups ]]: <br />The output of the clothes-making process depends on how vertex groups are assigned.
* [[ Documentation:MakeTarget:Creating a Custom Target with MakeTarget Standalone|Creating a Custom Target with MakeTarget Standalone ]]: <br />A practical example of custom target
* [[ Documentation:MakeWalk:The making of Running feet|MakeWalk: The making of Running feet ]]: <br />MakeWalk tutorial, focusing on the Edit Action panel.
* [[ Documentation:MakeWalk:Running feet scene 1|MakeWalk: Running feet scene 1 ]]: <br />Making an extended run on a plane.
* [[ Documentation:MakeWalk:Running feet scene 2|MakeWalk: Running feet scene 2 ]]: <br />High heels and slopes.
* [[ Documentation:MakeWalk:Running feet scene 3|MakeWalk: Running feet scene 3 ]]: <br />The race.
* [[ Documentation:MakeWalk:Running feet scene 4|MakeWalk: Running feet scene 4 ]]: <br />Rough terrain.
* [[ Documentation:MakeWalk:Automatic animation |MakeWalk: Automatic animation ]]: <br />Tutorial on using the editing tools in MakeWalk.
|}
__NOTOC__
<!--
Author Notes:
== Instructions ==
Please put all documentation nodes in namespace "Documentation", like <nowiki>[[Documentation:Introduction to the interface|Introduction to the interface]]</nowiki> (which would resolve as [[Documentation:Introduction to the interface|Introduction to the interface]])
-->
0902171fff27ad61fb6bd8e80757af8e810dfecc
481
480
2015-08-29T09:08:07Z
Fairytail
16
/* Introduction */
wikitext
text/x-wiki
These are documentation fragments which have been ported. They may still miss some images
== Introduction ==
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6EEE6; padding:.5em;"|
* [[Documentation:MakeHuman™ and its Purpose|MakeHuman™ and its Purpose ]]: MakeHuman definition and vision.
* [[ Documentation:Short and Long Pipeline|Short and Long Pipeline ]]: The goal of Makehuman is to see it used in 2 different professional pipelines.
* [[ Documentation:Professional mesh topology|Professional mesh topology ]]: An overview of the professional topology provided by MakeHuman
* [[ Documentation:Legal|Legal ]]: The various licenses that apply to MakeHuman and External tools
|}
== General overview ==
None
== Defining human characteristics ==
None
== Rendering your work ==
None
== Settings ==
None
== Blender tools ==
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6EEE6; padding:.5em;"|
* [[ Documentation:MHBlenderTools: Download and installation|MHBlenderTools: Download and installation ]]: How to download and install the addons for Blender
* [[ Documentation:MHBlenderTools: MakeTarget|MHBlenderTools: MakeTarget ]]: Description of MakeTarget™ tool, to create custom morphings for MakeHuman.
|}
== Documentation for developers ==
None
== Tutorials ==
* [[Documentation:Texture painting a skin in blender|Tutorial: Texture painting a skin in blender]]
== Unported stuff from Drupal ==
This is stuff which haven't been ported yet.
[[Documentation:Big dump from drupal]]
==== General overview ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Documentation:Install MakeHuman™|Install MakeHuman™ ]]: <br />How to install MH on Windows, Osx and Linux.
* [[ Documentation:The Interface and basic functions.|The Interface and basic functions. ]]: <br />The MakeHuman GUI: Load, save, undo and redo, reset, view, symmetry, help.
* [[ Documentation:Zoom, pan and rotate using the orbital camera|Zoom, pan and rotate using the orbital camera ]]: <br />Navigating the scene using the orbital camera.
* [[ Documentation:Load Save and Export|Load Save and Export ]]: <br />Describe file actions for MakeHuman
|}
==== Define Human Characteristics ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Documentation:Parametric Modelling|Parametric Modelling ]]: <br />A quick introduction to the parametric modelling and sliders usage.
* [[ Documentation:Using MakeHuman Hairstyles and Clothes|Using MakeHuman Hairstyles and Clothes ]]: <br />Hair in the MakeHuman Geometries group
* [[ Documentation:Skin and other materials|Skin and other materials ]]: <br />How to change skin and materials for hair and clothes.
* [[ Documentation:Gender, Random, Measure and Custom|Gender, Random, Measure and Custom ]]: <br />Special modifiers.
* [[ Documentation:Makehuman alternative topologies|Makehuman alternative topologies ]]: <br />MakeHuman provides a smart alternative topologies library
|}
==== Rendering Your Work ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Documentation:Quick rendering and advanced rendering|Quick rendering and advanced rendering ]]: <br />This section explains how render the character in MakeHuman
* [[ Documentation:Scene and Viewer|Scene and Viewer ]]: <br />How to set lights and how to see and save the rendering
|}
==== Settings ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Documentation:General|General ]]: <br />How to set the general preferences
* [[ Documentation:Background|Background ]]: <br />How to use backgrounds for reference.
* [[ Documentation:Mouse|Mouse ]]: <br />Explanation of mouse settings
* [[ Documentation:Shortcuts|Shortcuts ]]: <br />Configuration of shortcuts in Makehuman
* [[ Documentation:Plugins|Plugins ]]: <br />Management of Makehuman plugins
|}
==== Tools and contributing methods ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Documentation:MHBlenderTools:MakeClothes|MHBlenderTools: MakeClothes ]]:<br />Description of MakeClothes™ and its user interface.
* [[ Documentation:MHBlenderTools:MakeWalk|MHBlenderTools: MakeWalk ]]:<br />MakeWalk™ is a Blender add-on for retargeting mocap data (.bvh files) to a given armature.
** [[ Documentation:MHBlenderTools:MakeWalk GUI|MHBlenderTools: MakeWalk GUI ]]:<br />An introduction to MakeWalk™ and its user interface.
** [[ Documentation:MHBlenderTools:MakeWalk Armatures|MHBlenderTools: MakeWalk Armatures ]]:<br />An introduction to MakeWalk™ and the use of armatures. Explaining the meaning and use of source and target armature.
** [[ Documentation:MHBlenderTools:MakeWalk Utilities|MHBlenderTools: MakeWalk Utilities ]]:<br />An introduction to the MakeWalk™ utilities panel: save and restore the defaults, manage actions, t-pose, etc.
** [[ Documentation:MHBlenderTools:MakeWalk Retarget|MHBlenderTools: MakeWalk Retarget ]]:<br />An introduction to MakeWalk™ target rigging. This document will describe common errors and corrective actions.
* [[ Documentation:MHBlenderTools:MHX importer basic usage.|MHBlenderTools: MHX importer basic usage. ]]:<br />MHX (MakeHuman eXchange format) is a custom format used to transfer a rigged character from MakeHuman to Blender.
* [[ Documentation:MHBlenderTools:MHX default rigging|MHBlenderTools: MHX default rigging ]]:<br />If pose/animate > skeleton is set to 'None' when the character is exported from MakeHuman in .mhx format, the character is equipped with the default MHX armature. This is a rather complex rig with quite a few features.
* [[ Documentation:MHBlenderTools:MHX other rigging systems|MHBlenderTools: MHX other rigging systems ]]:<br />The character can be rigged with alternatives and ligher armature or the rigify one (The rigging system for Blender developed by Nathan Vegdahl).
* [[ Documentation:MHBlenderTools:MHX Layers and masks|MHBlenderTools: MHX Layers and masks ]]:<br />The mhx importer creates objects on the first four layers.
* [[ Documentation:MakeTarget standalone|MakeTarget standalone ]]:<br />Converting files produced with the most common modelling software, without Blender.
* [[ Documentation:GUI languages and translations.|GUI languages and translations. ]]:<br />MakeHuman support a variety of languages. It's very easy to add translations.
|}
==== Reporting a Bug ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Documentation:Using the Makehuman bug tracker|Using the Makehuman bug tracker ]]: <br />Introduction to the new Makehuman bug tracker
* [[ Documentation:Using the Makehuman log files for error reporting|Using the Makehuman log files for error reporting ]]: <br />How to report bugs using the log files.
|}
==== Developers' note ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Documentation:Getting started|Getting started ]]: <br />The best way to start your experiments with MakeHuman code is to clone our official repository and start to modify it.
* [[ Documentation:Development infrastructure|Development infrastructure ]]: <br />A description of the MakeHuman development infrastructure.
* [[ Documentation:OpenGL Notes|OpenGL Notes ]]: <br />Most of the 3D mesh handling functionality is delivered using OpenGL embedded within the C application code.
* [[ Documentation:Development organization|Development organization ]]: <br />The organization of distributed development.
* [[ Documentation:Libraries and build procedures|Libraries and build procedures ]]: <br />Describes the details of creating installable packages on major platforms
* [[ Documentation:Directory structure and core modules|Directory structure and core modules ]]: <br />Summary of the MH API reference.
* [[ Documentation:File formats and extensions|File formats and extensions ]]: <br />Describes the formats used internally for data and object storage. [CRUDE NOTES]
* [[ Documentation:Makehuman Plugin System|Makehuman Plugin System ]]: <br />How to make a new plugin and use it in MakeHuman
|}
==== Packager's notes ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Documentation:Packaging RPM's for Suse/Fedora using Open Build Service (OBS)|Packaging RPM's for Suse/Fedora using Open Build Service (OBS) ]]: <br />Packaging procedure and setup.
|}
=== Tutorials ===
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Documentation:MakeClothes:Making a simple dress|MakeClothes: Making a simple dress ]]: <br />The basic MakeClothes workflow.
* [[ Documentation:MakeClothes:Controlling the result with vertex groups|MakeClothes: Controlling the result with vertex groups ]]: <br />The output of the clothes-making process depends on how vertex groups are assigned.
* [[ Documentation:MakeTarget:Creating a Custom Target with MakeTarget Standalone|Creating a Custom Target with MakeTarget Standalone ]]: <br />A practical example of custom target
* [[ Documentation:MakeWalk:The making of Running feet|MakeWalk: The making of Running feet ]]: <br />MakeWalk tutorial, focusing on the Edit Action panel.
* [[ Documentation:MakeWalk:Running feet scene 1|MakeWalk: Running feet scene 1 ]]: <br />Making an extended run on a plane.
* [[ Documentation:MakeWalk:Running feet scene 2|MakeWalk: Running feet scene 2 ]]: <br />High heels and slopes.
* [[ Documentation:MakeWalk:Running feet scene 3|MakeWalk: Running feet scene 3 ]]: <br />The race.
* [[ Documentation:MakeWalk:Running feet scene 4|MakeWalk: Running feet scene 4 ]]: <br />Rough terrain.
* [[ Documentation:MakeWalk:Automatic animation |MakeWalk: Automatic animation ]]: <br />Tutorial on using the editing tools in MakeWalk.
|}
__NOTOC__
<!--
Author Notes:
== Instructions ==
Please put all documentation nodes in namespace "Documentation", like <nowiki>[[Documentation:Introduction to the interface|Introduction to the interface]]</nowiki> (which would resolve as [[Documentation:Introduction to the interface|Introduction to the interface]])
-->
f58998be1419625f5cc1a25879b0fa4d2d79cafd
480
479
2015-08-29T09:07:43Z
Fairytail
16
/* Blender tools */
wikitext
text/x-wiki
These are documentation fragments which have been ported. They may still miss some images
== Introduction ==
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[Documentation:MakeHuman™ and its Purpose|MakeHuman™ and its Purpose ]]: MakeHuman definition and vision.
* [[ Documentation:Short and Long Pipeline|Short and Long Pipeline ]]: The goal of Makehuman is to see it used in 2 different professional pipelines.
* [[ Documentation:Professional mesh topology|Professional mesh topology ]]: An overview of the professional topology provided by MakeHuman
* [[ Documentation:Legal|Legal ]]: The various licenses that apply to MakeHuman and External tools
|}
== General overview ==
None
== Defining human characteristics ==
None
== Rendering your work ==
None
== Settings ==
None
== Blender tools ==
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6EEE6; padding:.5em;"|
* [[ Documentation:MHBlenderTools: Download and installation|MHBlenderTools: Download and installation ]]: How to download and install the addons for Blender
* [[ Documentation:MHBlenderTools: MakeTarget|MHBlenderTools: MakeTarget ]]: Description of MakeTarget™ tool, to create custom morphings for MakeHuman.
|}
== Documentation for developers ==
None
== Tutorials ==
* [[Documentation:Texture painting a skin in blender|Tutorial: Texture painting a skin in blender]]
== Unported stuff from Drupal ==
This is stuff which haven't been ported yet.
[[Documentation:Big dump from drupal]]
==== General overview ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Documentation:Install MakeHuman™|Install MakeHuman™ ]]: <br />How to install MH on Windows, Osx and Linux.
* [[ Documentation:The Interface and basic functions.|The Interface and basic functions. ]]: <br />The MakeHuman GUI: Load, save, undo and redo, reset, view, symmetry, help.
* [[ Documentation:Zoom, pan and rotate using the orbital camera|Zoom, pan and rotate using the orbital camera ]]: <br />Navigating the scene using the orbital camera.
* [[ Documentation:Load Save and Export|Load Save and Export ]]: <br />Describe file actions for MakeHuman
|}
==== Define Human Characteristics ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Documentation:Parametric Modelling|Parametric Modelling ]]: <br />A quick introduction to the parametric modelling and sliders usage.
* [[ Documentation:Using MakeHuman Hairstyles and Clothes|Using MakeHuman Hairstyles and Clothes ]]: <br />Hair in the MakeHuman Geometries group
* [[ Documentation:Skin and other materials|Skin and other materials ]]: <br />How to change skin and materials for hair and clothes.
* [[ Documentation:Gender, Random, Measure and Custom|Gender, Random, Measure and Custom ]]: <br />Special modifiers.
* [[ Documentation:Makehuman alternative topologies|Makehuman alternative topologies ]]: <br />MakeHuman provides a smart alternative topologies library
|}
==== Rendering Your Work ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Documentation:Quick rendering and advanced rendering|Quick rendering and advanced rendering ]]: <br />This section explains how render the character in MakeHuman
* [[ Documentation:Scene and Viewer|Scene and Viewer ]]: <br />How to set lights and how to see and save the rendering
|}
==== Settings ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Documentation:General|General ]]: <br />How to set the general preferences
* [[ Documentation:Background|Background ]]: <br />How to use backgrounds for reference.
* [[ Documentation:Mouse|Mouse ]]: <br />Explanation of mouse settings
* [[ Documentation:Shortcuts|Shortcuts ]]: <br />Configuration of shortcuts in Makehuman
* [[ Documentation:Plugins|Plugins ]]: <br />Management of Makehuman plugins
|}
==== Tools and contributing methods ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Documentation:MHBlenderTools:MakeClothes|MHBlenderTools: MakeClothes ]]:<br />Description of MakeClothes™ and its user interface.
* [[ Documentation:MHBlenderTools:MakeWalk|MHBlenderTools: MakeWalk ]]:<br />MakeWalk™ is a Blender add-on for retargeting mocap data (.bvh files) to a given armature.
** [[ Documentation:MHBlenderTools:MakeWalk GUI|MHBlenderTools: MakeWalk GUI ]]:<br />An introduction to MakeWalk™ and its user interface.
** [[ Documentation:MHBlenderTools:MakeWalk Armatures|MHBlenderTools: MakeWalk Armatures ]]:<br />An introduction to MakeWalk™ and the use of armatures. Explaining the meaning and use of source and target armature.
** [[ Documentation:MHBlenderTools:MakeWalk Utilities|MHBlenderTools: MakeWalk Utilities ]]:<br />An introduction to the MakeWalk™ utilities panel: save and restore the defaults, manage actions, t-pose, etc.
** [[ Documentation:MHBlenderTools:MakeWalk Retarget|MHBlenderTools: MakeWalk Retarget ]]:<br />An introduction to MakeWalk™ target rigging. This document will describe common errors and corrective actions.
* [[ Documentation:MHBlenderTools:MHX importer basic usage.|MHBlenderTools: MHX importer basic usage. ]]:<br />MHX (MakeHuman eXchange format) is a custom format used to transfer a rigged character from MakeHuman to Blender.
* [[ Documentation:MHBlenderTools:MHX default rigging|MHBlenderTools: MHX default rigging ]]:<br />If pose/animate > skeleton is set to 'None' when the character is exported from MakeHuman in .mhx format, the character is equipped with the default MHX armature. This is a rather complex rig with quite a few features.
* [[ Documentation:MHBlenderTools:MHX other rigging systems|MHBlenderTools: MHX other rigging systems ]]:<br />The character can be rigged with alternatives and ligher armature or the rigify one (The rigging system for Blender developed by Nathan Vegdahl).
* [[ Documentation:MHBlenderTools:MHX Layers and masks|MHBlenderTools: MHX Layers and masks ]]:<br />The mhx importer creates objects on the first four layers.
* [[ Documentation:MakeTarget standalone|MakeTarget standalone ]]:<br />Converting files produced with the most common modelling software, without Blender.
* [[ Documentation:GUI languages and translations.|GUI languages and translations. ]]:<br />MakeHuman support a variety of languages. It's very easy to add translations.
|}
==== Reporting a Bug ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Documentation:Using the Makehuman bug tracker|Using the Makehuman bug tracker ]]: <br />Introduction to the new Makehuman bug tracker
* [[ Documentation:Using the Makehuman log files for error reporting|Using the Makehuman log files for error reporting ]]: <br />How to report bugs using the log files.
|}
==== Developers' note ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Documentation:Getting started|Getting started ]]: <br />The best way to start your experiments with MakeHuman code is to clone our official repository and start to modify it.
* [[ Documentation:Development infrastructure|Development infrastructure ]]: <br />A description of the MakeHuman development infrastructure.
* [[ Documentation:OpenGL Notes|OpenGL Notes ]]: <br />Most of the 3D mesh handling functionality is delivered using OpenGL embedded within the C application code.
* [[ Documentation:Development organization|Development organization ]]: <br />The organization of distributed development.
* [[ Documentation:Libraries and build procedures|Libraries and build procedures ]]: <br />Describes the details of creating installable packages on major platforms
* [[ Documentation:Directory structure and core modules|Directory structure and core modules ]]: <br />Summary of the MH API reference.
* [[ Documentation:File formats and extensions|File formats and extensions ]]: <br />Describes the formats used internally for data and object storage. [CRUDE NOTES]
* [[ Documentation:Makehuman Plugin System|Makehuman Plugin System ]]: <br />How to make a new plugin and use it in MakeHuman
|}
==== Packager's notes ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Documentation:Packaging RPM's for Suse/Fedora using Open Build Service (OBS)|Packaging RPM's for Suse/Fedora using Open Build Service (OBS) ]]: <br />Packaging procedure and setup.
|}
=== Tutorials ===
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Documentation:MakeClothes:Making a simple dress|MakeClothes: Making a simple dress ]]: <br />The basic MakeClothes workflow.
* [[ Documentation:MakeClothes:Controlling the result with vertex groups|MakeClothes: Controlling the result with vertex groups ]]: <br />The output of the clothes-making process depends on how vertex groups are assigned.
* [[ Documentation:MakeTarget:Creating a Custom Target with MakeTarget Standalone|Creating a Custom Target with MakeTarget Standalone ]]: <br />A practical example of custom target
* [[ Documentation:MakeWalk:The making of Running feet|MakeWalk: The making of Running feet ]]: <br />MakeWalk tutorial, focusing on the Edit Action panel.
* [[ Documentation:MakeWalk:Running feet scene 1|MakeWalk: Running feet scene 1 ]]: <br />Making an extended run on a plane.
* [[ Documentation:MakeWalk:Running feet scene 2|MakeWalk: Running feet scene 2 ]]: <br />High heels and slopes.
* [[ Documentation:MakeWalk:Running feet scene 3|MakeWalk: Running feet scene 3 ]]: <br />The race.
* [[ Documentation:MakeWalk:Running feet scene 4|MakeWalk: Running feet scene 4 ]]: <br />Rough terrain.
* [[ Documentation:MakeWalk:Automatic animation |MakeWalk: Automatic animation ]]: <br />Tutorial on using the editing tools in MakeWalk.
|}
__NOTOC__
<!--
Author Notes:
== Instructions ==
Please put all documentation nodes in namespace "Documentation", like <nowiki>[[Documentation:Introduction to the interface|Introduction to the interface]]</nowiki> (which would resolve as [[Documentation:Introduction to the interface|Introduction to the interface]])
-->
20a59a159e8e6ed630389afd2ab2089a76f9df67
479
478
2015-08-29T08:57:57Z
Fairytail
16
/* Blender tools */
wikitext
text/x-wiki
These are documentation fragments which have been ported. They may still miss some images
== Introduction ==
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[Documentation:MakeHuman™ and its Purpose|MakeHuman™ and its Purpose ]]: MakeHuman definition and vision.
* [[ Documentation:Short and Long Pipeline|Short and Long Pipeline ]]: The goal of Makehuman is to see it used in 2 different professional pipelines.
* [[ Documentation:Professional mesh topology|Professional mesh topology ]]: An overview of the professional topology provided by MakeHuman
* [[ Documentation:Legal|Legal ]]: The various licenses that apply to MakeHuman and External tools
|}
== General overview ==
None
== Defining human characteristics ==
None
== Rendering your work ==
None
== Settings ==
None
== Blender tools ==
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Documentation:MHBlenderTools: Download and installation|MHBlenderTools: Download and installation ]]: How to download and install the addons for Blender
* [[ Documentation:MHBlenderTools: MakeTarget|MHBlenderTools: MakeTarget ]]: Description of MakeTarget™ tool, to create custom morphings for MakeHuman.
|}
== Documentation for developers ==
None
== Tutorials ==
* [[Documentation:Texture painting a skin in blender|Tutorial: Texture painting a skin in blender]]
== Unported stuff from Drupal ==
This is stuff which haven't been ported yet.
[[Documentation:Big dump from drupal]]
==== General overview ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Documentation:Install MakeHuman™|Install MakeHuman™ ]]: <br />How to install MH on Windows, Osx and Linux.
* [[ Documentation:The Interface and basic functions.|The Interface and basic functions. ]]: <br />The MakeHuman GUI: Load, save, undo and redo, reset, view, symmetry, help.
* [[ Documentation:Zoom, pan and rotate using the orbital camera|Zoom, pan and rotate using the orbital camera ]]: <br />Navigating the scene using the orbital camera.
* [[ Documentation:Load Save and Export|Load Save and Export ]]: <br />Describe file actions for MakeHuman
|}
==== Define Human Characteristics ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Documentation:Parametric Modelling|Parametric Modelling ]]: <br />A quick introduction to the parametric modelling and sliders usage.
* [[ Documentation:Using MakeHuman Hairstyles and Clothes|Using MakeHuman Hairstyles and Clothes ]]: <br />Hair in the MakeHuman Geometries group
* [[ Documentation:Skin and other materials|Skin and other materials ]]: <br />How to change skin and materials for hair and clothes.
* [[ Documentation:Gender, Random, Measure and Custom|Gender, Random, Measure and Custom ]]: <br />Special modifiers.
* [[ Documentation:Makehuman alternative topologies|Makehuman alternative topologies ]]: <br />MakeHuman provides a smart alternative topologies library
|}
==== Rendering Your Work ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Documentation:Quick rendering and advanced rendering|Quick rendering and advanced rendering ]]: <br />This section explains how render the character in MakeHuman
* [[ Documentation:Scene and Viewer|Scene and Viewer ]]: <br />How to set lights and how to see and save the rendering
|}
==== Settings ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Documentation:General|General ]]: <br />How to set the general preferences
* [[ Documentation:Background|Background ]]: <br />How to use backgrounds for reference.
* [[ Documentation:Mouse|Mouse ]]: <br />Explanation of mouse settings
* [[ Documentation:Shortcuts|Shortcuts ]]: <br />Configuration of shortcuts in Makehuman
* [[ Documentation:Plugins|Plugins ]]: <br />Management of Makehuman plugins
|}
==== Tools and contributing methods ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Documentation:MHBlenderTools:MakeClothes|MHBlenderTools: MakeClothes ]]:<br />Description of MakeClothes™ and its user interface.
* [[ Documentation:MHBlenderTools:MakeWalk|MHBlenderTools: MakeWalk ]]:<br />MakeWalk™ is a Blender add-on for retargeting mocap data (.bvh files) to a given armature.
** [[ Documentation:MHBlenderTools:MakeWalk GUI|MHBlenderTools: MakeWalk GUI ]]:<br />An introduction to MakeWalk™ and its user interface.
** [[ Documentation:MHBlenderTools:MakeWalk Armatures|MHBlenderTools: MakeWalk Armatures ]]:<br />An introduction to MakeWalk™ and the use of armatures. Explaining the meaning and use of source and target armature.
** [[ Documentation:MHBlenderTools:MakeWalk Utilities|MHBlenderTools: MakeWalk Utilities ]]:<br />An introduction to the MakeWalk™ utilities panel: save and restore the defaults, manage actions, t-pose, etc.
** [[ Documentation:MHBlenderTools:MakeWalk Retarget|MHBlenderTools: MakeWalk Retarget ]]:<br />An introduction to MakeWalk™ target rigging. This document will describe common errors and corrective actions.
* [[ Documentation:MHBlenderTools:MHX importer basic usage.|MHBlenderTools: MHX importer basic usage. ]]:<br />MHX (MakeHuman eXchange format) is a custom format used to transfer a rigged character from MakeHuman to Blender.
* [[ Documentation:MHBlenderTools:MHX default rigging|MHBlenderTools: MHX default rigging ]]:<br />If pose/animate > skeleton is set to 'None' when the character is exported from MakeHuman in .mhx format, the character is equipped with the default MHX armature. This is a rather complex rig with quite a few features.
* [[ Documentation:MHBlenderTools:MHX other rigging systems|MHBlenderTools: MHX other rigging systems ]]:<br />The character can be rigged with alternatives and ligher armature or the rigify one (The rigging system for Blender developed by Nathan Vegdahl).
* [[ Documentation:MHBlenderTools:MHX Layers and masks|MHBlenderTools: MHX Layers and masks ]]:<br />The mhx importer creates objects on the first four layers.
* [[ Documentation:MakeTarget standalone|MakeTarget standalone ]]:<br />Converting files produced with the most common modelling software, without Blender.
* [[ Documentation:GUI languages and translations.|GUI languages and translations. ]]:<br />MakeHuman support a variety of languages. It's very easy to add translations.
|}
==== Reporting a Bug ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Documentation:Using the Makehuman bug tracker|Using the Makehuman bug tracker ]]: <br />Introduction to the new Makehuman bug tracker
* [[ Documentation:Using the Makehuman log files for error reporting|Using the Makehuman log files for error reporting ]]: <br />How to report bugs using the log files.
|}
==== Developers' note ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Documentation:Getting started|Getting started ]]: <br />The best way to start your experiments with MakeHuman code is to clone our official repository and start to modify it.
* [[ Documentation:Development infrastructure|Development infrastructure ]]: <br />A description of the MakeHuman development infrastructure.
* [[ Documentation:OpenGL Notes|OpenGL Notes ]]: <br />Most of the 3D mesh handling functionality is delivered using OpenGL embedded within the C application code.
* [[ Documentation:Development organization|Development organization ]]: <br />The organization of distributed development.
* [[ Documentation:Libraries and build procedures|Libraries and build procedures ]]: <br />Describes the details of creating installable packages on major platforms
* [[ Documentation:Directory structure and core modules|Directory structure and core modules ]]: <br />Summary of the MH API reference.
* [[ Documentation:File formats and extensions|File formats and extensions ]]: <br />Describes the formats used internally for data and object storage. [CRUDE NOTES]
* [[ Documentation:Makehuman Plugin System|Makehuman Plugin System ]]: <br />How to make a new plugin and use it in MakeHuman
|}
==== Packager's notes ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Documentation:Packaging RPM's for Suse/Fedora using Open Build Service (OBS)|Packaging RPM's for Suse/Fedora using Open Build Service (OBS) ]]: <br />Packaging procedure and setup.
|}
=== Tutorials ===
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Documentation:MakeClothes:Making a simple dress|MakeClothes: Making a simple dress ]]: <br />The basic MakeClothes workflow.
* [[ Documentation:MakeClothes:Controlling the result with vertex groups|MakeClothes: Controlling the result with vertex groups ]]: <br />The output of the clothes-making process depends on how vertex groups are assigned.
* [[ Documentation:MakeTarget:Creating a Custom Target with MakeTarget Standalone|Creating a Custom Target with MakeTarget Standalone ]]: <br />A practical example of custom target
* [[ Documentation:MakeWalk:The making of Running feet|MakeWalk: The making of Running feet ]]: <br />MakeWalk tutorial, focusing on the Edit Action panel.
* [[ Documentation:MakeWalk:Running feet scene 1|MakeWalk: Running feet scene 1 ]]: <br />Making an extended run on a plane.
* [[ Documentation:MakeWalk:Running feet scene 2|MakeWalk: Running feet scene 2 ]]: <br />High heels and slopes.
* [[ Documentation:MakeWalk:Running feet scene 3|MakeWalk: Running feet scene 3 ]]: <br />The race.
* [[ Documentation:MakeWalk:Running feet scene 4|MakeWalk: Running feet scene 4 ]]: <br />Rough terrain.
* [[ Documentation:MakeWalk:Automatic animation |MakeWalk: Automatic animation ]]: <br />Tutorial on using the editing tools in MakeWalk.
|}
__NOTOC__
<!--
Author Notes:
== Instructions ==
Please put all documentation nodes in namespace "Documentation", like <nowiki>[[Documentation:Introduction to the interface|Introduction to the interface]]</nowiki> (which would resolve as [[Documentation:Introduction to the interface|Introduction to the interface]])
-->
8845d639ecafb573c9976409b20eb9a16c327b97
478
477
2015-08-29T08:54:57Z
Fairytail
16
/* Introduction */
wikitext
text/x-wiki
These are documentation fragments which have been ported. They may still miss some images
== Introduction ==
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[Documentation:MakeHuman™ and its Purpose|MakeHuman™ and its Purpose ]]: MakeHuman definition and vision.
* [[ Documentation:Short and Long Pipeline|Short and Long Pipeline ]]: The goal of Makehuman is to see it used in 2 different professional pipelines.
* [[ Documentation:Professional mesh topology|Professional mesh topology ]]: An overview of the professional topology provided by MakeHuman
* [[ Documentation:Legal|Legal ]]: The various licenses that apply to MakeHuman and External tools
|}
== General overview ==
None
== Defining human characteristics ==
None
== Rendering your work ==
None
== Settings ==
None
== Blender tools ==
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Documentation:MHBlenderTools: Download and installation|MHBlenderTools: Download and installation ]]: How to download and install the addons for Blender
* [[ Documentation:MHBlenderTools: MakeTarget|MHBlenderTools: MakeTarget ]]: Description of MakeTarget™ tool, to create custom morphings for MakeHuman.
* [[ Documentation:MHBlenderTools:MakeClothes|MHBlenderTools: MakeClothes ]]: Description of MakeClothes™ and its user interface.
* [[ Documentation:MHBlenderTools:MakeWalk|MHBlenderTools: MakeWalk ]]: MakeWalk™ is a Blender add-on for retargeting mocap data (.bvh files) to a given armature.
** [[ Documentation:MHBlenderTools:MakeWalk GUI|MHBlenderTools: MakeWalk GUI ]]: An introduction to MakeWalk™ and its user interface.
** [[ Documentation:MHBlenderTools:MakeWalk Armatures|MHBlenderTools: MakeWalk Armatures ]]: An introduction to MakeWalk™ and the use of armatures.
** [[ Documentation:MHBlenderTools:MakeWalk Utilities|MHBlenderTools: MakeWalk Utilities ]]: An introduction to the MakeWalk™ utilities panel.
** [[ Documentation:MHBlenderTools:MakeWalk Retarget|MHBlenderTools: MakeWalk Retarget ]]: An introduction to MakeWalk™ target rigging.
|}
== Documentation for developers ==
None
== Tutorials ==
* [[Documentation:Texture painting a skin in blender|Tutorial: Texture painting a skin in blender]]
== Unported stuff from Drupal ==
This is stuff which haven't been ported yet.
[[Documentation:Big dump from drupal]]
==== General overview ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Documentation:Install MakeHuman™|Install MakeHuman™ ]]: <br />How to install MH on Windows, Osx and Linux.
* [[ Documentation:The Interface and basic functions.|The Interface and basic functions. ]]: <br />The MakeHuman GUI: Load, save, undo and redo, reset, view, symmetry, help.
* [[ Documentation:Zoom, pan and rotate using the orbital camera|Zoom, pan and rotate using the orbital camera ]]: <br />Navigating the scene using the orbital camera.
* [[ Documentation:Load Save and Export|Load Save and Export ]]: <br />Describe file actions for MakeHuman
|}
==== Define Human Characteristics ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Documentation:Parametric Modelling|Parametric Modelling ]]: <br />A quick introduction to the parametric modelling and sliders usage.
* [[ Documentation:Using MakeHuman Hairstyles and Clothes|Using MakeHuman Hairstyles and Clothes ]]: <br />Hair in the MakeHuman Geometries group
* [[ Documentation:Skin and other materials|Skin and other materials ]]: <br />How to change skin and materials for hair and clothes.
* [[ Documentation:Gender, Random, Measure and Custom|Gender, Random, Measure and Custom ]]: <br />Special modifiers.
* [[ Documentation:Makehuman alternative topologies|Makehuman alternative topologies ]]: <br />MakeHuman provides a smart alternative topologies library
|}
==== Rendering Your Work ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Documentation:Quick rendering and advanced rendering|Quick rendering and advanced rendering ]]: <br />This section explains how render the character in MakeHuman
* [[ Documentation:Scene and Viewer|Scene and Viewer ]]: <br />How to set lights and how to see and save the rendering
|}
==== Settings ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Documentation:General|General ]]: <br />How to set the general preferences
* [[ Documentation:Background|Background ]]: <br />How to use backgrounds for reference.
* [[ Documentation:Mouse|Mouse ]]: <br />Explanation of mouse settings
* [[ Documentation:Shortcuts|Shortcuts ]]: <br />Configuration of shortcuts in Makehuman
* [[ Documentation:Plugins|Plugins ]]: <br />Management of Makehuman plugins
|}
==== Tools and contributing methods ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Documentation:MHBlenderTools:MakeClothes|MHBlenderTools: MakeClothes ]]:<br />Description of MakeClothes™ and its user interface.
* [[ Documentation:MHBlenderTools:MakeWalk|MHBlenderTools: MakeWalk ]]:<br />MakeWalk™ is a Blender add-on for retargeting mocap data (.bvh files) to a given armature.
** [[ Documentation:MHBlenderTools:MakeWalk GUI|MHBlenderTools: MakeWalk GUI ]]:<br />An introduction to MakeWalk™ and its user interface.
** [[ Documentation:MHBlenderTools:MakeWalk Armatures|MHBlenderTools: MakeWalk Armatures ]]:<br />An introduction to MakeWalk™ and the use of armatures. Explaining the meaning and use of source and target armature.
** [[ Documentation:MHBlenderTools:MakeWalk Utilities|MHBlenderTools: MakeWalk Utilities ]]:<br />An introduction to the MakeWalk™ utilities panel: save and restore the defaults, manage actions, t-pose, etc.
** [[ Documentation:MHBlenderTools:MakeWalk Retarget|MHBlenderTools: MakeWalk Retarget ]]:<br />An introduction to MakeWalk™ target rigging. This document will describe common errors and corrective actions.
* [[ Documentation:MHBlenderTools:MHX importer basic usage.|MHBlenderTools: MHX importer basic usage. ]]:<br />MHX (MakeHuman eXchange format) is a custom format used to transfer a rigged character from MakeHuman to Blender.
* [[ Documentation:MHBlenderTools:MHX default rigging|MHBlenderTools: MHX default rigging ]]:<br />If pose/animate > skeleton is set to 'None' when the character is exported from MakeHuman in .mhx format, the character is equipped with the default MHX armature. This is a rather complex rig with quite a few features.
* [[ Documentation:MHBlenderTools:MHX other rigging systems|MHBlenderTools: MHX other rigging systems ]]:<br />The character can be rigged with alternatives and ligher armature or the rigify one (The rigging system for Blender developed by Nathan Vegdahl).
* [[ Documentation:MHBlenderTools:MHX Layers and masks|MHBlenderTools: MHX Layers and masks ]]:<br />The mhx importer creates objects on the first four layers.
* [[ Documentation:MakeTarget standalone|MakeTarget standalone ]]:<br />Converting files produced with the most common modelling software, without Blender.
* [[ Documentation:GUI languages and translations.|GUI languages and translations. ]]:<br />MakeHuman support a variety of languages. It's very easy to add translations.
|}
==== Reporting a Bug ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Documentation:Using the Makehuman bug tracker|Using the Makehuman bug tracker ]]: <br />Introduction to the new Makehuman bug tracker
* [[ Documentation:Using the Makehuman log files for error reporting|Using the Makehuman log files for error reporting ]]: <br />How to report bugs using the log files.
|}
==== Developers' note ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Documentation:Getting started|Getting started ]]: <br />The best way to start your experiments with MakeHuman code is to clone our official repository and start to modify it.
* [[ Documentation:Development infrastructure|Development infrastructure ]]: <br />A description of the MakeHuman development infrastructure.
* [[ Documentation:OpenGL Notes|OpenGL Notes ]]: <br />Most of the 3D mesh handling functionality is delivered using OpenGL embedded within the C application code.
* [[ Documentation:Development organization|Development organization ]]: <br />The organization of distributed development.
* [[ Documentation:Libraries and build procedures|Libraries and build procedures ]]: <br />Describes the details of creating installable packages on major platforms
* [[ Documentation:Directory structure and core modules|Directory structure and core modules ]]: <br />Summary of the MH API reference.
* [[ Documentation:File formats and extensions|File formats and extensions ]]: <br />Describes the formats used internally for data and object storage. [CRUDE NOTES]
* [[ Documentation:Makehuman Plugin System|Makehuman Plugin System ]]: <br />How to make a new plugin and use it in MakeHuman
|}
==== Packager's notes ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Documentation:Packaging RPM's for Suse/Fedora using Open Build Service (OBS)|Packaging RPM's for Suse/Fedora using Open Build Service (OBS) ]]: <br />Packaging procedure and setup.
|}
=== Tutorials ===
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Documentation:MakeClothes:Making a simple dress|MakeClothes: Making a simple dress ]]: <br />The basic MakeClothes workflow.
* [[ Documentation:MakeClothes:Controlling the result with vertex groups|MakeClothes: Controlling the result with vertex groups ]]: <br />The output of the clothes-making process depends on how vertex groups are assigned.
* [[ Documentation:MakeTarget:Creating a Custom Target with MakeTarget Standalone|Creating a Custom Target with MakeTarget Standalone ]]: <br />A practical example of custom target
* [[ Documentation:MakeWalk:The making of Running feet|MakeWalk: The making of Running feet ]]: <br />MakeWalk tutorial, focusing on the Edit Action panel.
* [[ Documentation:MakeWalk:Running feet scene 1|MakeWalk: Running feet scene 1 ]]: <br />Making an extended run on a plane.
* [[ Documentation:MakeWalk:Running feet scene 2|MakeWalk: Running feet scene 2 ]]: <br />High heels and slopes.
* [[ Documentation:MakeWalk:Running feet scene 3|MakeWalk: Running feet scene 3 ]]: <br />The race.
* [[ Documentation:MakeWalk:Running feet scene 4|MakeWalk: Running feet scene 4 ]]: <br />Rough terrain.
* [[ Documentation:MakeWalk:Automatic animation |MakeWalk: Automatic animation ]]: <br />Tutorial on using the editing tools in MakeWalk.
|}
__NOTOC__
<!--
Author Notes:
== Instructions ==
Please put all documentation nodes in namespace "Documentation", like <nowiki>[[Documentation:Introduction to the interface|Introduction to the interface]]</nowiki> (which would resolve as [[Documentation:Introduction to the interface|Introduction to the interface]])
-->
9aa8e688020518906cf135df18e29a52100c7f5b
477
476
2015-08-29T08:53:27Z
Fairytail
16
/* Blender tools */
wikitext
text/x-wiki
These are documentation fragments which have been ported. They may still miss some images
== Introduction ==
* [[Documentation:MakeHuman™ and its Purpose|MakeHuman™ and its Purpose ]]: MakeHuman definition and vision.
* [[ Documentation:Short and Long Pipeline|Short and Long Pipeline ]]: The goal of Makehuman is to see it used in 2 different professional pipelines.
* [[ Documentation:Professional mesh topology|Professional mesh topology ]]: An overview of the professional topology provided by MakeHuman
* [[ Documentation:Legal|Legal ]]: The various licenses that apply to MakeHuman and External tools
== General overview ==
None
== Defining human characteristics ==
None
== Rendering your work ==
None
== Settings ==
None
== Blender tools ==
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Documentation:MHBlenderTools: Download and installation|MHBlenderTools: Download and installation ]]: How to download and install the addons for Blender
* [[ Documentation:MHBlenderTools: MakeTarget|MHBlenderTools: MakeTarget ]]: Description of MakeTarget™ tool, to create custom morphings for MakeHuman.
* [[ Documentation:MHBlenderTools:MakeClothes|MHBlenderTools: MakeClothes ]]: Description of MakeClothes™ and its user interface.
* [[ Documentation:MHBlenderTools:MakeWalk|MHBlenderTools: MakeWalk ]]: MakeWalk™ is a Blender add-on for retargeting mocap data (.bvh files) to a given armature.
** [[ Documentation:MHBlenderTools:MakeWalk GUI|MHBlenderTools: MakeWalk GUI ]]: An introduction to MakeWalk™ and its user interface.
** [[ Documentation:MHBlenderTools:MakeWalk Armatures|MHBlenderTools: MakeWalk Armatures ]]: An introduction to MakeWalk™ and the use of armatures.
** [[ Documentation:MHBlenderTools:MakeWalk Utilities|MHBlenderTools: MakeWalk Utilities ]]: An introduction to the MakeWalk™ utilities panel.
** [[ Documentation:MHBlenderTools:MakeWalk Retarget|MHBlenderTools: MakeWalk Retarget ]]: An introduction to MakeWalk™ target rigging.
|}
== Documentation for developers ==
None
== Tutorials ==
* [[Documentation:Texture painting a skin in blender|Tutorial: Texture painting a skin in blender]]
== Unported stuff from Drupal ==
This is stuff which haven't been ported yet.
[[Documentation:Big dump from drupal]]
==== General overview ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Documentation:Install MakeHuman™|Install MakeHuman™ ]]: <br />How to install MH on Windows, Osx and Linux.
* [[ Documentation:The Interface and basic functions.|The Interface and basic functions. ]]: <br />The MakeHuman GUI: Load, save, undo and redo, reset, view, symmetry, help.
* [[ Documentation:Zoom, pan and rotate using the orbital camera|Zoom, pan and rotate using the orbital camera ]]: <br />Navigating the scene using the orbital camera.
* [[ Documentation:Load Save and Export|Load Save and Export ]]: <br />Describe file actions for MakeHuman
|}
==== Define Human Characteristics ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Documentation:Parametric Modelling|Parametric Modelling ]]: <br />A quick introduction to the parametric modelling and sliders usage.
* [[ Documentation:Using MakeHuman Hairstyles and Clothes|Using MakeHuman Hairstyles and Clothes ]]: <br />Hair in the MakeHuman Geometries group
* [[ Documentation:Skin and other materials|Skin and other materials ]]: <br />How to change skin and materials for hair and clothes.
* [[ Documentation:Gender, Random, Measure and Custom|Gender, Random, Measure and Custom ]]: <br />Special modifiers.
* [[ Documentation:Makehuman alternative topologies|Makehuman alternative topologies ]]: <br />MakeHuman provides a smart alternative topologies library
|}
==== Rendering Your Work ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Documentation:Quick rendering and advanced rendering|Quick rendering and advanced rendering ]]: <br />This section explains how render the character in MakeHuman
* [[ Documentation:Scene and Viewer|Scene and Viewer ]]: <br />How to set lights and how to see and save the rendering
|}
==== Settings ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Documentation:General|General ]]: <br />How to set the general preferences
* [[ Documentation:Background|Background ]]: <br />How to use backgrounds for reference.
* [[ Documentation:Mouse|Mouse ]]: <br />Explanation of mouse settings
* [[ Documentation:Shortcuts|Shortcuts ]]: <br />Configuration of shortcuts in Makehuman
* [[ Documentation:Plugins|Plugins ]]: <br />Management of Makehuman plugins
|}
==== Tools and contributing methods ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Documentation:MHBlenderTools:MakeClothes|MHBlenderTools: MakeClothes ]]:<br />Description of MakeClothes™ and its user interface.
* [[ Documentation:MHBlenderTools:MakeWalk|MHBlenderTools: MakeWalk ]]:<br />MakeWalk™ is a Blender add-on for retargeting mocap data (.bvh files) to a given armature.
** [[ Documentation:MHBlenderTools:MakeWalk GUI|MHBlenderTools: MakeWalk GUI ]]:<br />An introduction to MakeWalk™ and its user interface.
** [[ Documentation:MHBlenderTools:MakeWalk Armatures|MHBlenderTools: MakeWalk Armatures ]]:<br />An introduction to MakeWalk™ and the use of armatures. Explaining the meaning and use of source and target armature.
** [[ Documentation:MHBlenderTools:MakeWalk Utilities|MHBlenderTools: MakeWalk Utilities ]]:<br />An introduction to the MakeWalk™ utilities panel: save and restore the defaults, manage actions, t-pose, etc.
** [[ Documentation:MHBlenderTools:MakeWalk Retarget|MHBlenderTools: MakeWalk Retarget ]]:<br />An introduction to MakeWalk™ target rigging. This document will describe common errors and corrective actions.
* [[ Documentation:MHBlenderTools:MHX importer basic usage.|MHBlenderTools: MHX importer basic usage. ]]:<br />MHX (MakeHuman eXchange format) is a custom format used to transfer a rigged character from MakeHuman to Blender.
* [[ Documentation:MHBlenderTools:MHX default rigging|MHBlenderTools: MHX default rigging ]]:<br />If pose/animate > skeleton is set to 'None' when the character is exported from MakeHuman in .mhx format, the character is equipped with the default MHX armature. This is a rather complex rig with quite a few features.
* [[ Documentation:MHBlenderTools:MHX other rigging systems|MHBlenderTools: MHX other rigging systems ]]:<br />The character can be rigged with alternatives and ligher armature or the rigify one (The rigging system for Blender developed by Nathan Vegdahl).
* [[ Documentation:MHBlenderTools:MHX Layers and masks|MHBlenderTools: MHX Layers and masks ]]:<br />The mhx importer creates objects on the first four layers.
* [[ Documentation:MakeTarget standalone|MakeTarget standalone ]]:<br />Converting files produced with the most common modelling software, without Blender.
* [[ Documentation:GUI languages and translations.|GUI languages and translations. ]]:<br />MakeHuman support a variety of languages. It's very easy to add translations.
|}
==== Reporting a Bug ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Documentation:Using the Makehuman bug tracker|Using the Makehuman bug tracker ]]: <br />Introduction to the new Makehuman bug tracker
* [[ Documentation:Using the Makehuman log files for error reporting|Using the Makehuman log files for error reporting ]]: <br />How to report bugs using the log files.
|}
==== Developers' note ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Documentation:Getting started|Getting started ]]: <br />The best way to start your experiments with MakeHuman code is to clone our official repository and start to modify it.
* [[ Documentation:Development infrastructure|Development infrastructure ]]: <br />A description of the MakeHuman development infrastructure.
* [[ Documentation:OpenGL Notes|OpenGL Notes ]]: <br />Most of the 3D mesh handling functionality is delivered using OpenGL embedded within the C application code.
* [[ Documentation:Development organization|Development organization ]]: <br />The organization of distributed development.
* [[ Documentation:Libraries and build procedures|Libraries and build procedures ]]: <br />Describes the details of creating installable packages on major platforms
* [[ Documentation:Directory structure and core modules|Directory structure and core modules ]]: <br />Summary of the MH API reference.
* [[ Documentation:File formats and extensions|File formats and extensions ]]: <br />Describes the formats used internally for data and object storage. [CRUDE NOTES]
* [[ Documentation:Makehuman Plugin System|Makehuman Plugin System ]]: <br />How to make a new plugin and use it in MakeHuman
|}
==== Packager's notes ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Documentation:Packaging RPM's for Suse/Fedora using Open Build Service (OBS)|Packaging RPM's for Suse/Fedora using Open Build Service (OBS) ]]: <br />Packaging procedure and setup.
|}
=== Tutorials ===
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Documentation:MakeClothes:Making a simple dress|MakeClothes: Making a simple dress ]]: <br />The basic MakeClothes workflow.
* [[ Documentation:MakeClothes:Controlling the result with vertex groups|MakeClothes: Controlling the result with vertex groups ]]: <br />The output of the clothes-making process depends on how vertex groups are assigned.
* [[ Documentation:MakeTarget:Creating a Custom Target with MakeTarget Standalone|Creating a Custom Target with MakeTarget Standalone ]]: <br />A practical example of custom target
* [[ Documentation:MakeWalk:The making of Running feet|MakeWalk: The making of Running feet ]]: <br />MakeWalk tutorial, focusing on the Edit Action panel.
* [[ Documentation:MakeWalk:Running feet scene 1|MakeWalk: Running feet scene 1 ]]: <br />Making an extended run on a plane.
* [[ Documentation:MakeWalk:Running feet scene 2|MakeWalk: Running feet scene 2 ]]: <br />High heels and slopes.
* [[ Documentation:MakeWalk:Running feet scene 3|MakeWalk: Running feet scene 3 ]]: <br />The race.
* [[ Documentation:MakeWalk:Running feet scene 4|MakeWalk: Running feet scene 4 ]]: <br />Rough terrain.
* [[ Documentation:MakeWalk:Automatic animation |MakeWalk: Automatic animation ]]: <br />Tutorial on using the editing tools in MakeWalk.
|}
__NOTOC__
<!--
Author Notes:
== Instructions ==
Please put all documentation nodes in namespace "Documentation", like <nowiki>[[Documentation:Introduction to the interface|Introduction to the interface]]</nowiki> (which would resolve as [[Documentation:Introduction to the interface|Introduction to the interface]])
-->
cc7948a607f327fcdaf177b4e4694379783f8009
476
475
2015-08-29T08:52:35Z
Fairytail
16
/* Unported stuff from Drupal */
wikitext
text/x-wiki
These are documentation fragments which have been ported. They may still miss some images
== Introduction ==
* [[Documentation:MakeHuman™ and its Purpose|MakeHuman™ and its Purpose ]]: MakeHuman definition and vision.
* [[ Documentation:Short and Long Pipeline|Short and Long Pipeline ]]: The goal of Makehuman is to see it used in 2 different professional pipelines.
* [[ Documentation:Professional mesh topology|Professional mesh topology ]]: An overview of the professional topology provided by MakeHuman
* [[ Documentation:Legal|Legal ]]: The various licenses that apply to MakeHuman and External tools
== General overview ==
None
== Defining human characteristics ==
None
== Rendering your work ==
None
== Settings ==
None
== Blender tools ==
* [[ Documentation:MHBlenderTools: Download and installation|MHBlenderTools: Download and installation ]]: How to download and install the addons for Blender
* [[ Documentation:MHBlenderTools: MakeTarget|MHBlenderTools: MakeTarget ]]: Description of MakeTarget™ tool, to create custom morphings for MakeHuman.
* [[ Documentation:MHBlenderTools:MakeClothes|MHBlenderTools: MakeClothes ]]: Description of MakeClothes™ and its user interface.
* [[ Documentation:MHBlenderTools:MakeWalk|MHBlenderTools: MakeWalk ]]: MakeWalk™ is a Blender add-on for retargeting mocap data (.bvh files) to a given armature.
** [[ Documentation:MHBlenderTools:MakeWalk GUI|MHBlenderTools: MakeWalk GUI ]]: An introduction to MakeWalk™ and its user interface.
** [[ Documentation:MHBlenderTools:MakeWalk Armatures|MHBlenderTools: MakeWalk Armatures ]]: An introduction to MakeWalk™ and the use of armatures.
** [[ Documentation:MHBlenderTools:MakeWalk Utilities|MHBlenderTools: MakeWalk Utilities ]]: An introduction to the MakeWalk™ utilities panel.
** [[ Documentation:MHBlenderTools:MakeWalk Retarget|MHBlenderTools: MakeWalk Retarget ]]: An introduction to MakeWalk™ target rigging.
== Documentation for developers ==
None
== Tutorials ==
* [[Documentation:Texture painting a skin in blender|Tutorial: Texture painting a skin in blender]]
== Unported stuff from Drupal ==
This is stuff which haven't been ported yet.
[[Documentation:Big dump from drupal]]
==== General overview ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Documentation:Install MakeHuman™|Install MakeHuman™ ]]: <br />How to install MH on Windows, Osx and Linux.
* [[ Documentation:The Interface and basic functions.|The Interface and basic functions. ]]: <br />The MakeHuman GUI: Load, save, undo and redo, reset, view, symmetry, help.
* [[ Documentation:Zoom, pan and rotate using the orbital camera|Zoom, pan and rotate using the orbital camera ]]: <br />Navigating the scene using the orbital camera.
* [[ Documentation:Load Save and Export|Load Save and Export ]]: <br />Describe file actions for MakeHuman
|}
==== Define Human Characteristics ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Documentation:Parametric Modelling|Parametric Modelling ]]: <br />A quick introduction to the parametric modelling and sliders usage.
* [[ Documentation:Using MakeHuman Hairstyles and Clothes|Using MakeHuman Hairstyles and Clothes ]]: <br />Hair in the MakeHuman Geometries group
* [[ Documentation:Skin and other materials|Skin and other materials ]]: <br />How to change skin and materials for hair and clothes.
* [[ Documentation:Gender, Random, Measure and Custom|Gender, Random, Measure and Custom ]]: <br />Special modifiers.
* [[ Documentation:Makehuman alternative topologies|Makehuman alternative topologies ]]: <br />MakeHuman provides a smart alternative topologies library
|}
==== Rendering Your Work ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Documentation:Quick rendering and advanced rendering|Quick rendering and advanced rendering ]]: <br />This section explains how render the character in MakeHuman
* [[ Documentation:Scene and Viewer|Scene and Viewer ]]: <br />How to set lights and how to see and save the rendering
|}
==== Settings ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Documentation:General|General ]]: <br />How to set the general preferences
* [[ Documentation:Background|Background ]]: <br />How to use backgrounds for reference.
* [[ Documentation:Mouse|Mouse ]]: <br />Explanation of mouse settings
* [[ Documentation:Shortcuts|Shortcuts ]]: <br />Configuration of shortcuts in Makehuman
* [[ Documentation:Plugins|Plugins ]]: <br />Management of Makehuman plugins
|}
==== Tools and contributing methods ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Documentation:MHBlenderTools:MakeClothes|MHBlenderTools: MakeClothes ]]:<br />Description of MakeClothes™ and its user interface.
* [[ Documentation:MHBlenderTools:MakeWalk|MHBlenderTools: MakeWalk ]]:<br />MakeWalk™ is a Blender add-on for retargeting mocap data (.bvh files) to a given armature.
** [[ Documentation:MHBlenderTools:MakeWalk GUI|MHBlenderTools: MakeWalk GUI ]]:<br />An introduction to MakeWalk™ and its user interface.
** [[ Documentation:MHBlenderTools:MakeWalk Armatures|MHBlenderTools: MakeWalk Armatures ]]:<br />An introduction to MakeWalk™ and the use of armatures. Explaining the meaning and use of source and target armature.
** [[ Documentation:MHBlenderTools:MakeWalk Utilities|MHBlenderTools: MakeWalk Utilities ]]:<br />An introduction to the MakeWalk™ utilities panel: save and restore the defaults, manage actions, t-pose, etc.
** [[ Documentation:MHBlenderTools:MakeWalk Retarget|MHBlenderTools: MakeWalk Retarget ]]:<br />An introduction to MakeWalk™ target rigging. This document will describe common errors and corrective actions.
* [[ Documentation:MHBlenderTools:MHX importer basic usage.|MHBlenderTools: MHX importer basic usage. ]]:<br />MHX (MakeHuman eXchange format) is a custom format used to transfer a rigged character from MakeHuman to Blender.
* [[ Documentation:MHBlenderTools:MHX default rigging|MHBlenderTools: MHX default rigging ]]:<br />If pose/animate > skeleton is set to 'None' when the character is exported from MakeHuman in .mhx format, the character is equipped with the default MHX armature. This is a rather complex rig with quite a few features.
* [[ Documentation:MHBlenderTools:MHX other rigging systems|MHBlenderTools: MHX other rigging systems ]]:<br />The character can be rigged with alternatives and ligher armature or the rigify one (The rigging system for Blender developed by Nathan Vegdahl).
* [[ Documentation:MHBlenderTools:MHX Layers and masks|MHBlenderTools: MHX Layers and masks ]]:<br />The mhx importer creates objects on the first four layers.
* [[ Documentation:MakeTarget standalone|MakeTarget standalone ]]:<br />Converting files produced with the most common modelling software, without Blender.
* [[ Documentation:GUI languages and translations.|GUI languages and translations. ]]:<br />MakeHuman support a variety of languages. It's very easy to add translations.
|}
==== Reporting a Bug ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Documentation:Using the Makehuman bug tracker|Using the Makehuman bug tracker ]]: <br />Introduction to the new Makehuman bug tracker
* [[ Documentation:Using the Makehuman log files for error reporting|Using the Makehuman log files for error reporting ]]: <br />How to report bugs using the log files.
|}
==== Developers' note ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Documentation:Getting started|Getting started ]]: <br />The best way to start your experiments with MakeHuman code is to clone our official repository and start to modify it.
* [[ Documentation:Development infrastructure|Development infrastructure ]]: <br />A description of the MakeHuman development infrastructure.
* [[ Documentation:OpenGL Notes|OpenGL Notes ]]: <br />Most of the 3D mesh handling functionality is delivered using OpenGL embedded within the C application code.
* [[ Documentation:Development organization|Development organization ]]: <br />The organization of distributed development.
* [[ Documentation:Libraries and build procedures|Libraries and build procedures ]]: <br />Describes the details of creating installable packages on major platforms
* [[ Documentation:Directory structure and core modules|Directory structure and core modules ]]: <br />Summary of the MH API reference.
* [[ Documentation:File formats and extensions|File formats and extensions ]]: <br />Describes the formats used internally for data and object storage. [CRUDE NOTES]
* [[ Documentation:Makehuman Plugin System|Makehuman Plugin System ]]: <br />How to make a new plugin and use it in MakeHuman
|}
==== Packager's notes ====
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Documentation:Packaging RPM's for Suse/Fedora using Open Build Service (OBS)|Packaging RPM's for Suse/Fedora using Open Build Service (OBS) ]]: <br />Packaging procedure and setup.
|}
=== Tutorials ===
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Documentation:MakeClothes:Making a simple dress|MakeClothes: Making a simple dress ]]: <br />The basic MakeClothes workflow.
* [[ Documentation:MakeClothes:Controlling the result with vertex groups|MakeClothes: Controlling the result with vertex groups ]]: <br />The output of the clothes-making process depends on how vertex groups are assigned.
* [[ Documentation:MakeTarget:Creating a Custom Target with MakeTarget Standalone|Creating a Custom Target with MakeTarget Standalone ]]: <br />A practical example of custom target
* [[ Documentation:MakeWalk:The making of Running feet|MakeWalk: The making of Running feet ]]: <br />MakeWalk tutorial, focusing on the Edit Action panel.
* [[ Documentation:MakeWalk:Running feet scene 1|MakeWalk: Running feet scene 1 ]]: <br />Making an extended run on a plane.
* [[ Documentation:MakeWalk:Running feet scene 2|MakeWalk: Running feet scene 2 ]]: <br />High heels and slopes.
* [[ Documentation:MakeWalk:Running feet scene 3|MakeWalk: Running feet scene 3 ]]: <br />The race.
* [[ Documentation:MakeWalk:Running feet scene 4|MakeWalk: Running feet scene 4 ]]: <br />Rough terrain.
* [[ Documentation:MakeWalk:Automatic animation |MakeWalk: Automatic animation ]]: <br />Tutorial on using the editing tools in MakeWalk.
|}
__NOTOC__
<!--
Author Notes:
== Instructions ==
Please put all documentation nodes in namespace "Documentation", like <nowiki>[[Documentation:Introduction to the interface|Introduction to the interface]]</nowiki> (which would resolve as [[Documentation:Introduction to the interface|Introduction to the interface]])
-->
aa47a70dcc29ac81e87957f68ff308872164d068
475
473
2015-08-29T08:47:05Z
Fairytail
16
/* Tutorials */
wikitext
text/x-wiki
These are documentation fragments which have been ported. They may still miss some images
== Introduction ==
* [[Documentation:MakeHuman™ and its Purpose|MakeHuman™ and its Purpose ]]: MakeHuman definition and vision.
* [[ Documentation:Short and Long Pipeline|Short and Long Pipeline ]]: The goal of Makehuman is to see it used in 2 different professional pipelines.
* [[ Documentation:Professional mesh topology|Professional mesh topology ]]: An overview of the professional topology provided by MakeHuman
* [[ Documentation:Legal|Legal ]]: The various licenses that apply to MakeHuman and External tools
== General overview ==
None
== Defining human characteristics ==
None
== Rendering your work ==
None
== Settings ==
None
== Blender tools ==
* [[ Documentation:MHBlenderTools: Download and installation|MHBlenderTools: Download and installation ]]: How to download and install the addons for Blender
* [[ Documentation:MHBlenderTools: MakeTarget|MHBlenderTools: MakeTarget ]]: Description of MakeTarget™ tool, to create custom morphings for MakeHuman.
* [[ Documentation:MHBlenderTools:MakeClothes|MHBlenderTools: MakeClothes ]]: Description of MakeClothes™ and its user interface.
* [[ Documentation:MHBlenderTools:MakeWalk|MHBlenderTools: MakeWalk ]]: MakeWalk™ is a Blender add-on for retargeting mocap data (.bvh files) to a given armature.
** [[ Documentation:MHBlenderTools:MakeWalk GUI|MHBlenderTools: MakeWalk GUI ]]: An introduction to MakeWalk™ and its user interface.
** [[ Documentation:MHBlenderTools:MakeWalk Armatures|MHBlenderTools: MakeWalk Armatures ]]: An introduction to MakeWalk™ and the use of armatures.
** [[ Documentation:MHBlenderTools:MakeWalk Utilities|MHBlenderTools: MakeWalk Utilities ]]: An introduction to the MakeWalk™ utilities panel.
** [[ Documentation:MHBlenderTools:MakeWalk Retarget|MHBlenderTools: MakeWalk Retarget ]]: An introduction to MakeWalk™ target rigging.
== Documentation for developers ==
None
== Tutorials ==
* [[Documentation:Texture painting a skin in blender|Tutorial: Texture painting a skin in blender]]
== Unported stuff from Drupal ==
This is stuff which haven't been ported yet.
[[Documentation:Big dump from drupal]]
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
==== General overview ====
* [[ Documentation:Install MakeHuman™|Install MakeHuman™ ]]: <br />How to install MH on Windows, Osx and Linux.
* [[ Documentation:The Interface and basic functions.|The Interface and basic functions. ]]: <br />The MakeHuman GUI: Load, save, undo and redo, reset, view, symmetry, help.
* [[ Documentation:Zoom, pan and rotate using the orbital camera|Zoom, pan and rotate using the orbital camera ]]: <br />Navigating the scene using the orbital camera.
* [[ Documentation:Load Save and Export|Load Save and Export ]]: <br />Describe file actions for MakeHuman
==== Define Human Characteristics ====
* [[ Documentation:Parametric Modelling|Parametric Modelling ]]: <br />A quick introduction to the parametric modelling and sliders usage.
* [[ Documentation:Using MakeHuman Hairstyles and Clothes|Using MakeHuman Hairstyles and Clothes ]]: <br />Hair in the MakeHuman Geometries group
* [[ Documentation:Skin and other materials|Skin and other materials ]]: <br />How to change skin and materials for hair and clothes.
* [[ Documentation:Gender, Random, Measure and Custom|Gender, Random, Measure and Custom ]]: <br />Special modifiers.
* [[ Documentation:Makehuman alternative topologies|Makehuman alternative topologies ]]: <br />MakeHuman provides a smart alternative topologies library
==== Rendering Your Work ====
* [[ Documentation:Quick rendering and advanced rendering|Quick rendering and advanced rendering ]]: <br />This section explains how render the character in MakeHuman
* [[ Documentation:Scene and Viewer|Scene and Viewer ]]: <br />How to set lights and how to see and save the rendering
==== Settings ====
* [[ Documentation:General|General ]]: <br />How to set the general preferences
* [[ Documentation:Background|Background ]]: <br />How to use backgrounds for reference.
* [[ Documentation:Mouse|Mouse ]]: <br />Explanation of mouse settings
* [[ Documentation:Shortcuts|Shortcuts ]]: <br />Configuration of shortcuts in Makehuman
* [[ Documentation:Plugins|Plugins ]]: <br />Management of Makehuman plugins
==== Tools and contributing methods ====
* [[ Documentation:MHBlenderTools:MakeClothes|MHBlenderTools: MakeClothes ]]:<br />Description of MakeClothes™ and its user interface.
* [[ Documentation:MHBlenderTools:MakeWalk|MHBlenderTools: MakeWalk ]]:<br />MakeWalk™ is a Blender add-on for retargeting mocap data (.bvh files) to a given armature.
** [[ Documentation:MHBlenderTools:MakeWalk GUI|MHBlenderTools: MakeWalk GUI ]]:<br />An introduction to MakeWalk™ and its user interface.
** [[ Documentation:MHBlenderTools:MakeWalk Armatures|MHBlenderTools: MakeWalk Armatures ]]:<br />An introduction to MakeWalk™ and the use of armatures. Explaining the meaning and use of source and target armature.
** [[ Documentation:MHBlenderTools:MakeWalk Utilities|MHBlenderTools: MakeWalk Utilities ]]:<br />An introduction to the MakeWalk™ utilities panel: save and restore the defaults, manage actions, t-pose, etc.
** [[ Documentation:MHBlenderTools:MakeWalk Retarget|MHBlenderTools: MakeWalk Retarget ]]:<br />An introduction to MakeWalk™ target rigging. This document will describe common errors and corrective actions.
* [[ Documentation:MHBlenderTools:MHX importer basic usage.|MHBlenderTools: MHX importer basic usage. ]]:<br />MHX (MakeHuman eXchange format) is a custom format used to transfer a rigged character from MakeHuman to Blender.
* [[ Documentation:MHBlenderTools:MHX default rigging|MHBlenderTools: MHX default rigging ]]:<br />If pose/animate > skeleton is set to 'None' when the character is exported from MakeHuman in .mhx format, the character is equipped with the default MHX armature. This is a rather complex rig with quite a few features.
* [[ Documentation:MHBlenderTools:MHX other rigging systems|MHBlenderTools: MHX other rigging systems ]]:<br />The character can be rigged with alternatives and ligher armature or the rigify one (The rigging system for Blender developed by Nathan Vegdahl).
* [[ Documentation:MHBlenderTools:MHX Layers and masks|MHBlenderTools: MHX Layers and masks ]]:<br />The mhx importer creates objects on the first four layers.
* [[ Documentation:MakeTarget standalone|MakeTarget standalone ]]:<br />Converting files produced with the most common modelling software, without Blender.
* [[ Documentation:GUI languages and translations.|GUI languages and translations. ]]:<br />MakeHuman support a variety of languages. It's very easy to add translations.
==== Reporting a Bug ====
* [[ Documentation:Using the Makehuman bug tracker|Using the Makehuman bug tracker ]]: <br />Introduction to the new Makehuman bug tracker
* [[ Documentation:Using the Makehuman log files for error reporting|Using the Makehuman log files for error reporting ]]: <br />How to report bugs using the log files.
==== Developers' note ====
* [[ Documentation:Getting started|Getting started ]]: <br />The best way to start your experiments with MakeHuman code is to clone our official repository and start to modify it.
* [[ Documentation:Development infrastructure|Development infrastructure ]]: <br />A description of the MakeHuman development infrastructure.
* [[ Documentation:OpenGL Notes|OpenGL Notes ]]: <br />Most of the 3D mesh handling functionality is delivered using OpenGL embedded within the C application code.
* [[ Documentation:Development organization|Development organization ]]: <br />The organization of distributed development.
* [[ Documentation:Libraries and build procedures|Libraries and build procedures ]]: <br />Describes the details of creating installable packages on major platforms
* [[ Documentation:Directory structure and core modules|Directory structure and core modules ]]: <br />Summary of the MH API reference.
* [[ Documentation:File formats and extensions|File formats and extensions ]]: <br />Describes the formats used internally for data and object storage. [CRUDE NOTES]
* [[ Documentation:Makehuman Plugin System|Makehuman Plugin System ]]: <br />How to make a new plugin and use it in MakeHuman
==== Packager's notes ====
* [[ Documentation:Packaging RPM's for Suse/Fedora using Open Build Service (OBS)|Packaging RPM's for Suse/Fedora using Open Build Service (OBS) ]]: <br />Packaging procedure and setup.
|}
=== Tutorials ===
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Documentation:MakeClothes:Making a simple dress|MakeClothes: Making a simple dress ]]: <br />The basic MakeClothes workflow.
* [[ Documentation:MakeClothes:Controlling the result with vertex groups|MakeClothes: Controlling the result with vertex groups ]]: <br />The output of the clothes-making process depends on how vertex groups are assigned.
* [[ Documentation:MakeTarget:Creating a Custom Target with MakeTarget Standalone|Creating a Custom Target with MakeTarget Standalone ]]: <br />A practical example of custom target
* [[ Documentation:MakeWalk:The making of Running feet|MakeWalk: The making of Running feet ]]: <br />MakeWalk tutorial, focusing on the Edit Action panel.
* [[ Documentation:MakeWalk:Running feet scene 1|MakeWalk: Running feet scene 1 ]]: <br />Making an extended run on a plane.
* [[ Documentation:MakeWalk:Running feet scene 2|MakeWalk: Running feet scene 2 ]]: <br />High heels and slopes.
* [[ Documentation:MakeWalk:Running feet scene 3|MakeWalk: Running feet scene 3 ]]: <br />The race.
* [[ Documentation:MakeWalk:Running feet scene 4|MakeWalk: Running feet scene 4 ]]: <br />Rough terrain.
* [[ Documentation:MakeWalk:Automatic animation |MakeWalk: Automatic animation ]]: <br />Tutorial on using the editing tools in MakeWalk.
|}
__NOTOC__
<!--
Author Notes:
== Instructions ==
Please put all documentation nodes in namespace "Documentation", like <nowiki>[[Documentation:Introduction to the interface|Introduction to the interface]]</nowiki> (which would resolve as [[Documentation:Introduction to the interface|Introduction to the interface]])
-->
291634d892e69693f65b8f45ce7e12ea9df6e4c4
473
472
2015-08-29T08:32:37Z
Fairytail
16
/* Unported stuff from Drupal */
wikitext
text/x-wiki
These are documentation fragments which have been ported. They may still miss some images
== Introduction ==
* [[Documentation:MakeHuman™ and its Purpose|MakeHuman™ and its Purpose ]]: MakeHuman definition and vision.
* [[ Documentation:Short and Long Pipeline|Short and Long Pipeline ]]: The goal of Makehuman is to see it used in 2 different professional pipelines.
* [[ Documentation:Professional mesh topology|Professional mesh topology ]]: An overview of the professional topology provided by MakeHuman
* [[ Documentation:Legal|Legal ]]: The various licenses that apply to MakeHuman and External tools
== General overview ==
None
== Defining human characteristics ==
None
== Rendering your work ==
None
== Settings ==
None
== Blender tools ==
* [[ Documentation:MHBlenderTools: Download and installation|MHBlenderTools: Download and installation ]]: How to download and install the addons for Blender
* [[ Documentation:MHBlenderTools: MakeTarget|MHBlenderTools: MakeTarget ]]: Description of MakeTarget™ tool, to create custom morphings for MakeHuman.
* [[ Documentation:MHBlenderTools:MakeClothes|MHBlenderTools: MakeClothes ]]: Description of MakeClothes™ and its user interface.
* [[ Documentation:MHBlenderTools:MakeWalk|MHBlenderTools: MakeWalk ]]: MakeWalk™ is a Blender add-on for retargeting mocap data (.bvh files) to a given armature.
** [[ Documentation:MHBlenderTools:MakeWalk GUI|MHBlenderTools: MakeWalk GUI ]]: An introduction to MakeWalk™ and its user interface.
** [[ Documentation:MHBlenderTools:MakeWalk Armatures|MHBlenderTools: MakeWalk Armatures ]]: An introduction to MakeWalk™ and the use of armatures.
** [[ Documentation:MHBlenderTools:MakeWalk Utilities|MHBlenderTools: MakeWalk Utilities ]]: An introduction to the MakeWalk™ utilities panel.
** [[ Documentation:MHBlenderTools:MakeWalk Retarget|MHBlenderTools: MakeWalk Retarget ]]: An introduction to MakeWalk™ target rigging.
== Documentation for developers ==
None
== Tutorials ==
* [[Documentation:Texture painting a skin in blender|Tutorial: Texture painting a skin in blender]]
== Unported stuff from Drupal ==
This is stuff which haven't been ported yet.
[[Documentation:Big dump from drupal]]
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
==== General overview ====
* [[ Documentation:Install MakeHuman™|Install MakeHuman™ ]]: <br />How to install MH on Windows, Osx and Linux.
* [[ Documentation:The Interface and basic functions.|The Interface and basic functions. ]]: <br />The MakeHuman GUI: Load, save, undo and redo, reset, view, symmetry, help.
* [[ Documentation:Zoom, pan and rotate using the orbital camera|Zoom, pan and rotate using the orbital camera ]]: <br />Navigating the scene using the orbital camera.
* [[ Documentation:Load Save and Export|Load Save and Export ]]: <br />Describe file actions for MakeHuman
==== Define Human Characteristics ====
* [[ Documentation:Parametric Modelling|Parametric Modelling ]]: <br />A quick introduction to the parametric modelling and sliders usage.
* [[ Documentation:Using MakeHuman Hairstyles and Clothes|Using MakeHuman Hairstyles and Clothes ]]: <br />Hair in the MakeHuman Geometries group
* [[ Documentation:Skin and other materials|Skin and other materials ]]: <br />How to change skin and materials for hair and clothes.
* [[ Documentation:Gender, Random, Measure and Custom|Gender, Random, Measure and Custom ]]: <br />Special modifiers.
* [[ Documentation:Makehuman alternative topologies|Makehuman alternative topologies ]]: <br />MakeHuman provides a smart alternative topologies library
==== Rendering Your Work ====
* [[ Documentation:Quick rendering and advanced rendering|Quick rendering and advanced rendering ]]: <br />This section explains how render the character in MakeHuman
* [[ Documentation:Scene and Viewer|Scene and Viewer ]]: <br />How to set lights and how to see and save the rendering
==== Settings ====
* [[ Documentation:General|General ]]: <br />How to set the general preferences
* [[ Documentation:Background|Background ]]: <br />How to use backgrounds for reference.
* [[ Documentation:Mouse|Mouse ]]: <br />Explanation of mouse settings
* [[ Documentation:Shortcuts|Shortcuts ]]: <br />Configuration of shortcuts in Makehuman
* [[ Documentation:Plugins|Plugins ]]: <br />Management of Makehuman plugins
==== Tools and contributing methods ====
* [[ Documentation:MHBlenderTools:MakeClothes|MHBlenderTools: MakeClothes ]]:<br />Description of MakeClothes™ and its user interface.
* [[ Documentation:MHBlenderTools:MakeWalk|MHBlenderTools: MakeWalk ]]:<br />MakeWalk™ is a Blender add-on for retargeting mocap data (.bvh files) to a given armature.
** [[ Documentation:MHBlenderTools:MakeWalk GUI|MHBlenderTools: MakeWalk GUI ]]:<br />An introduction to MakeWalk™ and its user interface.
** [[ Documentation:MHBlenderTools:MakeWalk Armatures|MHBlenderTools: MakeWalk Armatures ]]:<br />An introduction to MakeWalk™ and the use of armatures. Explaining the meaning and use of source and target armature.
** [[ Documentation:MHBlenderTools:MakeWalk Utilities|MHBlenderTools: MakeWalk Utilities ]]:<br />An introduction to the MakeWalk™ utilities panel: save and restore the defaults, manage actions, t-pose, etc.
** [[ Documentation:MHBlenderTools:MakeWalk Retarget|MHBlenderTools: MakeWalk Retarget ]]:<br />An introduction to MakeWalk™ target rigging. This document will describe common errors and corrective actions.
* [[ Documentation:MHBlenderTools:MHX importer basic usage.|MHBlenderTools: MHX importer basic usage. ]]:<br />MHX (MakeHuman eXchange format) is a custom format used to transfer a rigged character from MakeHuman to Blender.
* [[ Documentation:MHBlenderTools:MHX default rigging|MHBlenderTools: MHX default rigging ]]:<br />If pose/animate > skeleton is set to 'None' when the character is exported from MakeHuman in .mhx format, the character is equipped with the default MHX armature. This is a rather complex rig with quite a few features.
* [[ Documentation:MHBlenderTools:MHX other rigging systems|MHBlenderTools: MHX other rigging systems ]]:<br />The character can be rigged with alternatives and ligher armature or the rigify one (The rigging system for Blender developed by Nathan Vegdahl).
* [[ Documentation:MHBlenderTools:MHX Layers and masks|MHBlenderTools: MHX Layers and masks ]]:<br />The mhx importer creates objects on the first four layers.
* [[ Documentation:MakeTarget standalone|MakeTarget standalone ]]:<br />Converting files produced with the most common modelling software, without Blender.
* [[ Documentation:GUI languages and translations.|GUI languages and translations. ]]:<br />MakeHuman support a variety of languages. It's very easy to add translations.
==== Reporting a Bug ====
* [[ Documentation:Using the Makehuman bug tracker|Using the Makehuman bug tracker ]]: <br />Introduction to the new Makehuman bug tracker
* [[ Documentation:Using the Makehuman log files for error reporting|Using the Makehuman log files for error reporting ]]: <br />How to report bugs using the log files.
==== Developers' note ====
* [[ Documentation:Getting started|Getting started ]]: <br />The best way to start your experiments with MakeHuman code is to clone our official repository and start to modify it.
* [[ Documentation:Development infrastructure|Development infrastructure ]]: <br />A description of the MakeHuman development infrastructure.
* [[ Documentation:OpenGL Notes|OpenGL Notes ]]: <br />Most of the 3D mesh handling functionality is delivered using OpenGL embedded within the C application code.
* [[ Documentation:Development organization|Development organization ]]: <br />The organization of distributed development.
* [[ Documentation:Libraries and build procedures|Libraries and build procedures ]]: <br />Describes the details of creating installable packages on major platforms
* [[ Documentation:Directory structure and core modules|Directory structure and core modules ]]: <br />Summary of the MH API reference.
* [[ Documentation:File formats and extensions|File formats and extensions ]]: <br />Describes the formats used internally for data and object storage. [CRUDE NOTES]
* [[ Documentation:Makehuman Plugin System|Makehuman Plugin System ]]: <br />How to make a new plugin and use it in MakeHuman
==== Packager's notes ====
* [[ Documentation:Packaging RPM's for Suse/Fedora using Open Build Service (OBS)|Packaging RPM's for Suse/Fedora using Open Build Service (OBS) ]]: <br />Packaging procedure and setup.
|}
=== Tutorials ===
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Docution:Tutorial MH1.0 alpha8:Tutorial MH1.0 alpha8 ]]
* [[ [Alpha8] Making diapers for a baby. ]]: <br />A tutorial illustrating the MakeClothes workflow.
* [[ Documentation:MakeClothes: Making a simple dress|MakeClothes: Making a simple dress ]]: <br />The basic MakeClothes workflow.
* [[ DOcution:MakeClothes: Controlling the result with vertex groups|MakeClothes: Controlling the result with vertex groups ]]: <br />The output of the clothes-making process depends on how vertex groups are assigned.
* [[ Docution:Creating a Custom Target with MakeTarget Standalone|Creating a Custom Target with MakeTarget Standalone ]]: <br />A practical example of custom target
* [[ Docution:MakeWalk: The making of Running feet|MakeWalk: The making of Running feet ]]: <br />MakeWalk tutorial, focusing on the Edit Action panel.
* [[ Docution:MakeWalk: Running feet scene 1|MakeWalk: Running feet scene 1 ]]: <br />Making an extended run on a plane.
* [[ DOcution:MakeWalk: Running feet scene 2|MakeWalk: Running feet scene 2 ]]: <br />High heels and slopes.
* [[ DOcution:MakeWalk: Running feet scene 3|MakeWalk: Running feet scene 3 ]]: <br />The race.
* [[ Docution:MakeWalk: Running feet scene 4|MakeWalk: Running feet scene 4 ]]: <br />Rough terrain.
* [[ Docution:MakeWalk: Automatic animation |MakeWalk: Automatic animation ]]: <br />Tutorial on using the editing tools in MakeWalk.
|}
__NOTOC__
<!--
Author Notes:
== Instructions ==
Please put all documentation nodes in namespace "Documentation", like <nowiki>[[Documentation:Introduction to the interface|Introduction to the interface]]</nowiki> (which would resolve as [[Documentation:Introduction to the interface|Introduction to the interface]])
-->
9ee3121fd270dfc41012154d9feecae0755faf64
472
471
2015-08-29T08:18:43Z
Fairytail
16
/* Tools and contributing methods */
wikitext
text/x-wiki
These are documentation fragments which have been ported. They may still miss some images
== Introduction ==
* [[Documentation:MakeHuman™ and its Purpose|MakeHuman™ and its Purpose ]]: MakeHuman definition and vision.
* [[ Documentation:Short and Long Pipeline|Short and Long Pipeline ]]: The goal of Makehuman is to see it used in 2 different professional pipelines.
* [[ Documentation:Professional mesh topology|Professional mesh topology ]]: An overview of the professional topology provided by MakeHuman
* [[ Documentation:Legal|Legal ]]: The various licenses that apply to MakeHuman and External tools
== General overview ==
None
== Defining human characteristics ==
None
== Rendering your work ==
None
== Settings ==
None
== Blender tools ==
* [[ Documentation:MHBlenderTools: Download and installation|MHBlenderTools: Download and installation ]]: How to download and install the addons for Blender
* [[ Documentation:MHBlenderTools: MakeTarget|MHBlenderTools: MakeTarget ]]: Description of MakeTarget™ tool, to create custom morphings for MakeHuman.
* [[ Documentation:MHBlenderTools:MakeClothes|MHBlenderTools: MakeClothes ]]: Description of MakeClothes™ and its user interface.
* [[ Documentation:MHBlenderTools:MakeWalk|MHBlenderTools: MakeWalk ]]: MakeWalk™ is a Blender add-on for retargeting mocap data (.bvh files) to a given armature.
** [[ Documentation:MHBlenderTools:MakeWalk GUI|MHBlenderTools: MakeWalk GUI ]]: An introduction to MakeWalk™ and its user interface.
** [[ Documentation:MHBlenderTools:MakeWalk Armatures|MHBlenderTools: MakeWalk Armatures ]]: An introduction to MakeWalk™ and the use of armatures.
** [[ Documentation:MHBlenderTools:MakeWalk Utilities|MHBlenderTools: MakeWalk Utilities ]]: An introduction to the MakeWalk™ utilities panel.
** [[ Documentation:MHBlenderTools:MakeWalk Retarget|MHBlenderTools: MakeWalk Retarget ]]: An introduction to MakeWalk™ target rigging.
== Documentation for developers ==
None
== Tutorials ==
* [[Documentation:Texture painting a skin in blender|Tutorial: Texture painting a skin in blender]]
== Unported stuff from Drupal ==
This is stuff which haven't been ported yet.
[[Documentation:Big dump from drupal]]
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
==== General overview ====
* [[ Documentation:Install MakeHuman™|Install MakeHuman™ ]]
How to install MH on Windows, Osx and Linux.
* [[ Documentation:The Interface and basic functions.|The Interface and basic functions. ]]
The MakeHuman GUI: Load, save, undo and redo, reset, view, symmetry, help.
* [[ Documentation:Zoom, pan and rotate using the orbital camera|Zoom, pan and rotate using the orbital camera ]]
Navigating the scene using the orbital camera.
[[ Documentation:Load Save and Export|Load Save and Export ]]
Describe file actions for MakeHuman
==== Define Human Characteristics ====
* [[ Documentation:Parametric Modelling|Parametric Modelling ]]
A quick introduction to the parametric modelling and sliders usage.
* [[ Documentation:Using MakeHuman Hairstyles and Clothes|Using MakeHuman Hairstyles and Clothes ]]
Hair in the MakeHuman Geometries group
* [[ Documentation:Skin and other materials|Skin and other materials ]]
How to change skin and materials for hair and clothes.
* [[ Documentation:Gender, Random, Measure and Custom|Gender, Random, Measure and Custom ]]
Special modifiers.
* [[ Documentation:Makehuman alternative topologies|Makehuman alternative topologies ]]
MakeHuman provides a smart alternative topologies library
==== Rendering Your Work ====
* [[ Documentation:Quick rendering and advanced rendering|Quick rendering and advanced rendering ]]
This section explains how render the character in MakeHuman
* [[ Documentation:Scene and Viewer|Scene and Viewer ]]
How to set lights and how to see and save the rendering
==== Settings ====
* [[ Documentation:General|General ]]
How to set the general preferences
* [[ Documentation:Background|Background ]]
How to use backgrounds for reference.
* [[ Documentation:Mouse|Mouse ]]
Explanation of mouse settings
* [[ Documentation:Shortcuts|Shortcuts ]]
Configuration of shortcuts in Makehuman
* [[ Documentation:Plugins|Plugins ]]
Management of Makehuman plugins
==== Tools and contributing methods ====
* [[ Documentation:MHBlenderTools:MakeClothes|MHBlenderTools: MakeClothes ]]:<br />Description of MakeClothes™ and its user interface.
* [[ Documentation:MHBlenderTools:MakeWalk|MHBlenderTools: MakeWalk ]]:<br />MakeWalk™ is a Blender add-on for retargeting mocap data (.bvh files) to a given armature.
** [[ Documentation:MHBlenderTools:MakeWalk GUI|MHBlenderTools: MakeWalk GUI ]]:<br />An introduction to MakeWalk™ and its user interface.
** [[ Documentation:MHBlenderTools:MakeWalk Armatures|MHBlenderTools: MakeWalk Armatures ]]:<br />An introduction to MakeWalk™ and the use of armatures. Explaining the meaning and use of source and target armature.
** [[ Documentation:MHBlenderTools:MakeWalk Utilities|MHBlenderTools: MakeWalk Utilities ]]:<br />An introduction to the MakeWalk™ utilities panel: save and restore the defaults, manage actions, t-pose, etc.
** [[ Documentation:MHBlenderTools:MakeWalk Retarget|MHBlenderTools: MakeWalk Retarget ]]:<br />An introduction to MakeWalk™ target rigging. This document will describe common errors and corrective actions.
* [[ Documentation:MHBlenderTools:MHX importer basic usage.|MHBlenderTools: MHX importer basic usage. ]]:<br />MHX (MakeHuman eXchange format) is a custom format used to transfer a rigged character from MakeHuman to Blender.
* [[ Documentation:MHBlenderTools:MHX default rigging|MHBlenderTools: MHX default rigging ]]:<br />If pose/animate > skeleton is set to 'None' when the character is exported from MakeHuman in .mhx format, the character is equipped with the default MHX armature. This is a rather complex rig with quite a few features.
* [[ Documentation:MHBlenderTools:MHX other rigging systems|MHBlenderTools: MHX other rigging systems ]]:<br />The character can be rigged with alternatives and ligher armature or the rigify one (The rigging system for Blender developed by Nathan Vegdahl).
* [[ Documentation:MHBlenderTools:MHX Layers and masks|MHBlenderTools: MHX Layers and masks ]]:<br />The mhx importer creates objects on the first four layers.
* [[ Documentation:MakeTarget standalone|MakeTarget standalone ]]:<br />Converting files produced with the most common modelling software, without Blender.
* [[ Documentation:GUI languages and translations.|GUI languages and translations. ]]:<br />MakeHuman support a variety of languages. It's very easy to add translations.
==== Reporting a Bug ====
* [[ Documentation:Using the Makehuman bug tracker|Using the Makehuman bug tracker ]]
Introduction to the new Makehuman bug tracker
* [[ Documentation:Using the Makehuman log files for error reporting|Using the Makehuman log files for error reporting ]]
How to report bugs using the log files.
==== Developers' note ====
* [[ Documentation:Getting started|Getting started ]]
The best way to start your experiments with MakeHuman code is to clone our official repository and start to modify it.
* [[ Documentation:Development infrastructure|Development infrastructure ]]
A description of the MakeHuman development infrastructure.
* [[ Documentation:OpenGL Notes|OpenGL Notes ]]
Most of the 3D mesh handling functionality is delivered using OpenGL embedded within the C application code.
* [[ Documentation:Development organization|Development organization ]]
The organization of distributed development.
* [[ Documentation:Libraries and build procedures|Libraries and build procedures ]]
Describes the details of creating installable packages on major platforms
* [[ Documentation:Directory structure and core modules|Directory structure and core modules ]]
Summary of the MH API reference.
* [[ Documentation:File formats and extensions|File formats and extensions ]]
Describes the formats used internally for data and object storage. [CRUDE NOTES]
* [[ Documentation:Makehuman Plugin System|Makehuman Plugin System ]]
How to make a new plugin and use it in MakeHuman
==== Packager's notes ====
* [[ Documentation:Packaging RPM's for Suse/Fedora using Open Build Service (OBS)|Packaging RPM's for Suse/Fedora using Open Build Service (OBS) ]]
Packaging procedure and setup.
|}
=== Tutorials ===
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Docution:Tutorial MH1.0 alpha8:Tutorial MH1.0 alpha8 ]]
* [[ [Alpha8] Making diapers for a baby. ]]
A tutorial illustrating the MakeClothes workflow.
* [[ Documentation:MakeClothes: Making a simple dress|MakeClothes: Making a simple dress ]]
The basic MakeClothes workflow.
* [[ DOcution:MakeClothes: Controlling the result with vertex groups|MakeClothes: Controlling the result with vertex groups ]]
The output of the clothes-making process depends on how vertex groups are assigned.
* [[ Docution:Creating a Custom Target with MakeTarget Standalone|Creating a Custom Target with MakeTarget Standalone ]]
A practical example of custom target
* [[ Docution:MakeWalk: The making of Running feet|MakeWalk: The making of Running feet ]]
MakeWalk tutorial, focusing on the Edit Action panel.
* [[ Docution:MakeWalk: Running feet scene 1|MakeWalk: Running feet scene 1 ]]
Making an extended run on a plane.
* [[ DOcution:MakeWalk: Running feet scene 2|MakeWalk: Running feet scene 2 ]]
High heels and slopes.
* [[ DOcution:MakeWalk: Running feet scene 3|MakeWalk: Running feet scene 3 ]]
The race.
* [[ Docution:MakeWalk: Running feet scene 4|MakeWalk: Running feet scene 4 ]]
Rough terrain.
* [[ Docution:MakeWalk: Automatic animation |MakeWalk: Automatic animation ]]
Tutorial on using the editing tools in MakeWalk.
|}
__NOTOC__
<!--
Author Notes:
== Instructions ==
Please put all documentation nodes in namespace "Documentation", like <nowiki>[[Documentation:Introduction to the interface|Introduction to the interface]]</nowiki> (which would resolve as [[Documentation:Introduction to the interface|Introduction to the interface]])
-->
9bd64992bdf8feab826b1c84e0f31cbcb45becb9
471
384
2015-08-29T07:44:30Z
Fairytail
16
/* Blender tools */
wikitext
text/x-wiki
These are documentation fragments which have been ported. They may still miss some images
== Introduction ==
* [[Documentation:MakeHuman™ and its Purpose|MakeHuman™ and its Purpose ]]: MakeHuman definition and vision.
* [[ Documentation:Short and Long Pipeline|Short and Long Pipeline ]]: The goal of Makehuman is to see it used in 2 different professional pipelines.
* [[ Documentation:Professional mesh topology|Professional mesh topology ]]: An overview of the professional topology provided by MakeHuman
* [[ Documentation:Legal|Legal ]]: The various licenses that apply to MakeHuman and External tools
== General overview ==
None
== Defining human characteristics ==
None
== Rendering your work ==
None
== Settings ==
None
== Blender tools ==
* [[ Documentation:MHBlenderTools: Download and installation|MHBlenderTools: Download and installation ]]: How to download and install the addons for Blender
* [[ Documentation:MHBlenderTools: MakeTarget|MHBlenderTools: MakeTarget ]]: Description of MakeTarget™ tool, to create custom morphings for MakeHuman.
* [[ Documentation:MHBlenderTools:MakeClothes|MHBlenderTools: MakeClothes ]]: Description of MakeClothes™ and its user interface.
* [[ Documentation:MHBlenderTools:MakeWalk|MHBlenderTools: MakeWalk ]]: MakeWalk™ is a Blender add-on for retargeting mocap data (.bvh files) to a given armature.
** [[ Documentation:MHBlenderTools:MakeWalk GUI|MHBlenderTools: MakeWalk GUI ]]: An introduction to MakeWalk™ and its user interface.
** [[ Documentation:MHBlenderTools:MakeWalk Armatures|MHBlenderTools: MakeWalk Armatures ]]: An introduction to MakeWalk™ and the use of armatures.
** [[ Documentation:MHBlenderTools:MakeWalk Utilities|MHBlenderTools: MakeWalk Utilities ]]: An introduction to the MakeWalk™ utilities panel.
** [[ Documentation:MHBlenderTools:MakeWalk Retarget|MHBlenderTools: MakeWalk Retarget ]]: An introduction to MakeWalk™ target rigging.
== Documentation for developers ==
None
== Tutorials ==
* [[Documentation:Texture painting a skin in blender|Tutorial: Texture painting a skin in blender]]
== Unported stuff from Drupal ==
This is stuff which haven't been ported yet.
[[Documentation:Big dump from drupal]]
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
==== General overview ====
* [[ Documentation:Install MakeHuman™|Install MakeHuman™ ]]
How to install MH on Windows, Osx and Linux.
* [[ Documentation:The Interface and basic functions.|The Interface and basic functions. ]]
The MakeHuman GUI: Load, save, undo and redo, reset, view, symmetry, help.
* [[ Documentation:Zoom, pan and rotate using the orbital camera|Zoom, pan and rotate using the orbital camera ]]
Navigating the scene using the orbital camera.
[[ Documentation:Load Save and Export|Load Save and Export ]]
Describe file actions for MakeHuman
==== Define Human Characteristics ====
* [[ Documentation:Parametric Modelling|Parametric Modelling ]]
A quick introduction to the parametric modelling and sliders usage.
* [[ Documentation:Using MakeHuman Hairstyles and Clothes|Using MakeHuman Hairstyles and Clothes ]]
Hair in the MakeHuman Geometries group
* [[ Documentation:Skin and other materials|Skin and other materials ]]
How to change skin and materials for hair and clothes.
* [[ Documentation:Gender, Random, Measure and Custom|Gender, Random, Measure and Custom ]]
Special modifiers.
* [[ Documentation:Makehuman alternative topologies|Makehuman alternative topologies ]]
MakeHuman provides a smart alternative topologies library
==== Rendering Your Work ====
* [[ Documentation:Quick rendering and advanced rendering|Quick rendering and advanced rendering ]]
This section explains how render the character in MakeHuman
* [[ Documentation:Scene and Viewer|Scene and Viewer ]]
How to set lights and how to see and save the rendering
==== Settings ====
* [[ Documentation:General|General ]]
How to set the general preferences
* [[ Documentation:Background|Background ]]
How to use backgrounds for reference.
* [[ Documentation:Mouse|Mouse ]]
Explanation of mouse settings
* [[ Documentation:Shortcuts|Shortcuts ]]
Configuration of shortcuts in Makehuman
* [[ Documentation:Plugins|Plugins ]]
Management of Makehuman plugins
==== Tools and contributing methods ====
* [[ Documentation:MHBlenderTools: MakeClothes|MHBlenderTools: MakeClothes ]]
Description of MakeClothes and its user interface.
* [[ Documentation:MHBlenderTools: MakeWalk basic workflow|MHBlenderTools: MakeWalk basic workflow ]]
MakeWalk is a Blender add-on for retargeting mocap data (.bvh files) to a given armature.
* [[ Documentation:MHBlenderTools: MakeWalk user interface|MHBlenderTools: MakeWalk user interface ]]
Description of the GUI integrated in Blender.
* [[ Documentation:MHBlenderTools: MakeWalk armatures|MHBlenderTools: MakeWalk armatures ]]
Explain the meaning and use of source and target armature.
* [[ Documentation:MHBlenderTools: MakeWalk utilities|MHBlenderTools: MakeWalk utilities ]]
Utilities: save and restore the defaults, manage actions, t-pose, etc.
* [[ Documentation:MHBlenderTools: MakeWalk troubleshooting.|MHBlenderTools: MakeWalk troubleshooting. ]]
This document will describe common errors and corrective actions.
* [[ Documentation:MHBlenderTools: MHX importer basic usage.|MHBlenderTools: MHX importer basic usage. ]]
MHX (MakeHuman eXchange format) is a custom format used to transfer a rigged character from MakeHuman to Blender.
* [[ Documentation:MHBlenderTools: MHX default rigging|MHBlenderTools: MHX default rigging ]]
If pose/animate > skeleton is set to 'None' when the character is exported from MakeHuman in .mhx format, the character is equipped with the default MHX armature. This is a rather complex rig with quite a few features.
* [[ Documentation:MHBlenderTools: MHX other rigging systems|MHBlenderTools: MHX other rigging systems ]]
The character can be rigged with alternatives and ligher armature or the rigify one (The rigging system for Blender developed by Nathan Vegdahl).
* [[ Documentation:MHBlenderTools: MHX Layers and masks|MHBlenderTools: MHX Layers and masks ]]
The mhx importer creates objects on the first four layers.
* [[ Documentation:MakeTarget standalone|MakeTarget standalone ]]
Converting files produced with the most common modelling software, without Blender.
* [[ Documentation:GUI languages and translations.|GUI languages and translations. ]]
MakeHuman support a variety of languages. It's very easy to add translations.
==== Reporting a Bug ====
* [[ Documentation:Using the Makehuman bug tracker|Using the Makehuman bug tracker ]]
Introduction to the new Makehuman bug tracker
* [[ Documentation:Using the Makehuman log files for error reporting|Using the Makehuman log files for error reporting ]]
How to report bugs using the log files.
==== Developers' note ====
* [[ Documentation:Getting started|Getting started ]]
The best way to start your experiments with MakeHuman code is to clone our official repository and start to modify it.
* [[ Documentation:Development infrastructure|Development infrastructure ]]
A description of the MakeHuman development infrastructure.
* [[ Documentation:OpenGL Notes|OpenGL Notes ]]
Most of the 3D mesh handling functionality is delivered using OpenGL embedded within the C application code.
* [[ Documentation:Development organization|Development organization ]]
The organization of distributed development.
* [[ Documentation:Libraries and build procedures|Libraries and build procedures ]]
Describes the details of creating installable packages on major platforms
* [[ Documentation:Directory structure and core modules|Directory structure and core modules ]]
Summary of the MH API reference.
* [[ Documentation:File formats and extensions|File formats and extensions ]]
Describes the formats used internally for data and object storage. [CRUDE NOTES]
* [[ Documentation:Makehuman Plugin System|Makehuman Plugin System ]]
How to make a new plugin and use it in MakeHuman
==== Packager's notes ====
* [[ Documentation:Packaging RPM's for Suse/Fedora using Open Build Service (OBS)|Packaging RPM's for Suse/Fedora using Open Build Service (OBS) ]]
Packaging procedure and setup.
|}
=== Tutorials ===
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Docution:Tutorial MH1.0 alpha8:Tutorial MH1.0 alpha8 ]]
* [[ [Alpha8] Making diapers for a baby. ]]
A tutorial illustrating the MakeClothes workflow.
* [[ Documentation:MakeClothes: Making a simple dress|MakeClothes: Making a simple dress ]]
The basic MakeClothes workflow.
* [[ DOcution:MakeClothes: Controlling the result with vertex groups|MakeClothes: Controlling the result with vertex groups ]]
The output of the clothes-making process depends on how vertex groups are assigned.
* [[ Docution:Creating a Custom Target with MakeTarget Standalone|Creating a Custom Target with MakeTarget Standalone ]]
A practical example of custom target
* [[ Docution:MakeWalk: The making of Running feet|MakeWalk: The making of Running feet ]]
MakeWalk tutorial, focusing on the Edit Action panel.
* [[ Docution:MakeWalk: Running feet scene 1|MakeWalk: Running feet scene 1 ]]
Making an extended run on a plane.
* [[ DOcution:MakeWalk: Running feet scene 2|MakeWalk: Running feet scene 2 ]]
High heels and slopes.
* [[ DOcution:MakeWalk: Running feet scene 3|MakeWalk: Running feet scene 3 ]]
The race.
* [[ Docution:MakeWalk: Running feet scene 4|MakeWalk: Running feet scene 4 ]]
Rough terrain.
* [[ Docution:MakeWalk: Automatic animation |MakeWalk: Automatic animation ]]
Tutorial on using the editing tools in MakeWalk.
|}
__NOTOC__
<!--
Author Notes:
== Instructions ==
Please put all documentation nodes in namespace "Documentation", like <nowiki>[[Documentation:Introduction to the interface|Introduction to the interface]]</nowiki> (which would resolve as [[Documentation:Introduction to the interface|Introduction to the interface]])
-->
b12980f5d5e6b2798b1e53e2434f62407e9de610
384
383
2015-08-14T14:49:42Z
Joepal
14
/* Tutorials */
wikitext
text/x-wiki
These are documentation fragments which have been ported. They may still miss some images
== Introduction ==
* [[Documentation:MakeHuman™ and its Purpose|MakeHuman™ and its Purpose ]]: MakeHuman definition and vision.
* [[ Documentation:Short and Long Pipeline|Short and Long Pipeline ]]: The goal of Makehuman is to see it used in 2 different professional pipelines.
* [[ Documentation:Professional mesh topology|Professional mesh topology ]]: An overview of the professional topology provided by MakeHuman
* [[ Documentation:Legal|Legal ]]: The various licenses that apply to MakeHuman and External tools
== General overview ==
None
== Defining human characteristics ==
None
== Rendering your work ==
None
== Settings ==
None
== Blender tools ==
* [[ Documentation:MHBlenderTools: Download and installation|MHBlenderTools: Download and installation ]]: How to download and install the addons for Blender
* [[ Documentation:MHBlenderTools: MakeTarget|MHBlenderTools: MakeTarget ]]: Description of MakeTarget™ tool, to create custom morphings for MakeHuman.
== Documentation for developers ==
None
== Tutorials ==
* [[Documentation:Texture painting a skin in blender|Tutorial: Texture painting a skin in blender]]
== Unported stuff from Drupal ==
This is stuff which haven't been ported yet.
[[Documentation:Big dump from drupal]]
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
==== General overview ====
* [[ Documentation:Install MakeHuman™|Install MakeHuman™ ]]
How to install MH on Windows, Osx and Linux.
* [[ Documentation:The Interface and basic functions.|The Interface and basic functions. ]]
The MakeHuman GUI: Load, save, undo and redo, reset, view, symmetry, help.
* [[ Documentation:Zoom, pan and rotate using the orbital camera|Zoom, pan and rotate using the orbital camera ]]
Navigating the scene using the orbital camera.
[[ Documentation:Load Save and Export|Load Save and Export ]]
Describe file actions for MakeHuman
==== Define Human Characteristics ====
* [[ Documentation:Parametric Modelling|Parametric Modelling ]]
A quick introduction to the parametric modelling and sliders usage.
* [[ Documentation:Using MakeHuman Hairstyles and Clothes|Using MakeHuman Hairstyles and Clothes ]]
Hair in the MakeHuman Geometries group
* [[ Documentation:Skin and other materials|Skin and other materials ]]
How to change skin and materials for hair and clothes.
* [[ Documentation:Gender, Random, Measure and Custom|Gender, Random, Measure and Custom ]]
Special modifiers.
* [[ Documentation:Makehuman alternative topologies|Makehuman alternative topologies ]]
MakeHuman provides a smart alternative topologies library
==== Rendering Your Work ====
* [[ Documentation:Quick rendering and advanced rendering|Quick rendering and advanced rendering ]]
This section explains how render the character in MakeHuman
* [[ Documentation:Scene and Viewer|Scene and Viewer ]]
How to set lights and how to see and save the rendering
==== Settings ====
* [[ Documentation:General|General ]]
How to set the general preferences
* [[ Documentation:Background|Background ]]
How to use backgrounds for reference.
* [[ Documentation:Mouse|Mouse ]]
Explanation of mouse settings
* [[ Documentation:Shortcuts|Shortcuts ]]
Configuration of shortcuts in Makehuman
* [[ Documentation:Plugins|Plugins ]]
Management of Makehuman plugins
==== Tools and contributing methods ====
* [[ Documentation:MHBlenderTools: MakeClothes|MHBlenderTools: MakeClothes ]]
Description of MakeClothes and its user interface.
* [[ Documentation:MHBlenderTools: MakeWalk basic workflow|MHBlenderTools: MakeWalk basic workflow ]]
MakeWalk is a Blender add-on for retargeting mocap data (.bvh files) to a given armature.
* [[ Documentation:MHBlenderTools: MakeWalk user interface|MHBlenderTools: MakeWalk user interface ]]
Description of the GUI integrated in Blender.
* [[ Documentation:MHBlenderTools: MakeWalk armatures|MHBlenderTools: MakeWalk armatures ]]
Explain the meaning and use of source and target armature.
* [[ Documentation:MHBlenderTools: MakeWalk utilities|MHBlenderTools: MakeWalk utilities ]]
Utilities: save and restore the defaults, manage actions, t-pose, etc.
* [[ Documentation:MHBlenderTools: MakeWalk troubleshooting.|MHBlenderTools: MakeWalk troubleshooting. ]]
This document will describe common errors and corrective actions.
* [[ Documentation:MHBlenderTools: MHX importer basic usage.|MHBlenderTools: MHX importer basic usage. ]]
MHX (MakeHuman eXchange format) is a custom format used to transfer a rigged character from MakeHuman to Blender.
* [[ Documentation:MHBlenderTools: MHX default rigging|MHBlenderTools: MHX default rigging ]]
If pose/animate > skeleton is set to 'None' when the character is exported from MakeHuman in .mhx format, the character is equipped with the default MHX armature. This is a rather complex rig with quite a few features.
* [[ Documentation:MHBlenderTools: MHX other rigging systems|MHBlenderTools: MHX other rigging systems ]]
The character can be rigged with alternatives and ligher armature or the rigify one (The rigging system for Blender developed by Nathan Vegdahl).
* [[ Documentation:MHBlenderTools: MHX Layers and masks|MHBlenderTools: MHX Layers and masks ]]
The mhx importer creates objects on the first four layers.
* [[ Documentation:MakeTarget standalone|MakeTarget standalone ]]
Converting files produced with the most common modelling software, without Blender.
* [[ Documentation:GUI languages and translations.|GUI languages and translations. ]]
MakeHuman support a variety of languages. It's very easy to add translations.
==== Reporting a Bug ====
* [[ Documentation:Using the Makehuman bug tracker|Using the Makehuman bug tracker ]]
Introduction to the new Makehuman bug tracker
* [[ Documentation:Using the Makehuman log files for error reporting|Using the Makehuman log files for error reporting ]]
How to report bugs using the log files.
==== Developers' note ====
* [[ Documentation:Getting started|Getting started ]]
The best way to start your experiments with MakeHuman code is to clone our official repository and start to modify it.
* [[ Documentation:Development infrastructure|Development infrastructure ]]
A description of the MakeHuman development infrastructure.
* [[ Documentation:OpenGL Notes|OpenGL Notes ]]
Most of the 3D mesh handling functionality is delivered using OpenGL embedded within the C application code.
* [[ Documentation:Development organization|Development organization ]]
The organization of distributed development.
* [[ Documentation:Libraries and build procedures|Libraries and build procedures ]]
Describes the details of creating installable packages on major platforms
* [[ Documentation:Directory structure and core modules|Directory structure and core modules ]]
Summary of the MH API reference.
* [[ Documentation:File formats and extensions|File formats and extensions ]]
Describes the formats used internally for data and object storage. [CRUDE NOTES]
* [[ Documentation:Makehuman Plugin System|Makehuman Plugin System ]]
How to make a new plugin and use it in MakeHuman
==== Packager's notes ====
* [[ Documentation:Packaging RPM's for Suse/Fedora using Open Build Service (OBS)|Packaging RPM's for Suse/Fedora using Open Build Service (OBS) ]]
Packaging procedure and setup.
|}
=== Tutorials ===
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Docution:Tutorial MH1.0 alpha8:Tutorial MH1.0 alpha8 ]]
* [[ [Alpha8] Making diapers for a baby. ]]
A tutorial illustrating the MakeClothes workflow.
* [[ Documentation:MakeClothes: Making a simple dress|MakeClothes: Making a simple dress ]]
The basic MakeClothes workflow.
* [[ DOcution:MakeClothes: Controlling the result with vertex groups|MakeClothes: Controlling the result with vertex groups ]]
The output of the clothes-making process depends on how vertex groups are assigned.
* [[ Docution:Creating a Custom Target with MakeTarget Standalone|Creating a Custom Target with MakeTarget Standalone ]]
A practical example of custom target
* [[ Docution:MakeWalk: The making of Running feet|MakeWalk: The making of Running feet ]]
MakeWalk tutorial, focusing on the Edit Action panel.
* [[ Docution:MakeWalk: Running feet scene 1|MakeWalk: Running feet scene 1 ]]
Making an extended run on a plane.
* [[ DOcution:MakeWalk: Running feet scene 2|MakeWalk: Running feet scene 2 ]]
High heels and slopes.
* [[ DOcution:MakeWalk: Running feet scene 3|MakeWalk: Running feet scene 3 ]]
The race.
* [[ Docution:MakeWalk: Running feet scene 4|MakeWalk: Running feet scene 4 ]]
Rough terrain.
* [[ Docution:MakeWalk: Automatic animation |MakeWalk: Automatic animation ]]
Tutorial on using the editing tools in MakeWalk.
|}
__NOTOC__
<!--
Author Notes:
== Instructions ==
Please put all documentation nodes in namespace "Documentation", like <nowiki>[[Documentation:Introduction to the interface|Introduction to the interface]]</nowiki> (which would resolve as [[Documentation:Introduction to the interface|Introduction to the interface]])
-->
0329ff6f0b9ddd431f92691a521ee930e8e335d4
383
176
2015-08-14T14:49:07Z
Joepal
14
/* Tutorials */
wikitext
text/x-wiki
These are documentation fragments which have been ported. They may still miss some images
== Introduction ==
* [[Documentation:MakeHuman™ and its Purpose|MakeHuman™ and its Purpose ]]: MakeHuman definition and vision.
* [[ Documentation:Short and Long Pipeline|Short and Long Pipeline ]]: The goal of Makehuman is to see it used in 2 different professional pipelines.
* [[ Documentation:Professional mesh topology|Professional mesh topology ]]: An overview of the professional topology provided by MakeHuman
* [[ Documentation:Legal|Legal ]]: The various licenses that apply to MakeHuman and External tools
== General overview ==
None
== Defining human characteristics ==
None
== Rendering your work ==
None
== Settings ==
None
== Blender tools ==
* [[ Documentation:MHBlenderTools: Download and installation|MHBlenderTools: Download and installation ]]: How to download and install the addons for Blender
* [[ Documentation:MHBlenderTools: MakeTarget|MHBlenderTools: MakeTarget ]]: Description of MakeTarget™ tool, to create custom morphings for MakeHuman.
== Documentation for developers ==
None
== Tutorials ==
* [[Documentation:Texture painting a skin in blender]]
== Unported stuff from Drupal ==
This is stuff which haven't been ported yet.
[[Documentation:Big dump from drupal]]
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
==== General overview ====
* [[ Documentation:Install MakeHuman™|Install MakeHuman™ ]]
How to install MH on Windows, Osx and Linux.
* [[ Documentation:The Interface and basic functions.|The Interface and basic functions. ]]
The MakeHuman GUI: Load, save, undo and redo, reset, view, symmetry, help.
* [[ Documentation:Zoom, pan and rotate using the orbital camera|Zoom, pan and rotate using the orbital camera ]]
Navigating the scene using the orbital camera.
[[ Documentation:Load Save and Export|Load Save and Export ]]
Describe file actions for MakeHuman
==== Define Human Characteristics ====
* [[ Documentation:Parametric Modelling|Parametric Modelling ]]
A quick introduction to the parametric modelling and sliders usage.
* [[ Documentation:Using MakeHuman Hairstyles and Clothes|Using MakeHuman Hairstyles and Clothes ]]
Hair in the MakeHuman Geometries group
* [[ Documentation:Skin and other materials|Skin and other materials ]]
How to change skin and materials for hair and clothes.
* [[ Documentation:Gender, Random, Measure and Custom|Gender, Random, Measure and Custom ]]
Special modifiers.
* [[ Documentation:Makehuman alternative topologies|Makehuman alternative topologies ]]
MakeHuman provides a smart alternative topologies library
==== Rendering Your Work ====
* [[ Documentation:Quick rendering and advanced rendering|Quick rendering and advanced rendering ]]
This section explains how render the character in MakeHuman
* [[ Documentation:Scene and Viewer|Scene and Viewer ]]
How to set lights and how to see and save the rendering
==== Settings ====
* [[ Documentation:General|General ]]
How to set the general preferences
* [[ Documentation:Background|Background ]]
How to use backgrounds for reference.
* [[ Documentation:Mouse|Mouse ]]
Explanation of mouse settings
* [[ Documentation:Shortcuts|Shortcuts ]]
Configuration of shortcuts in Makehuman
* [[ Documentation:Plugins|Plugins ]]
Management of Makehuman plugins
==== Tools and contributing methods ====
* [[ Documentation:MHBlenderTools: MakeClothes|MHBlenderTools: MakeClothes ]]
Description of MakeClothes and its user interface.
* [[ Documentation:MHBlenderTools: MakeWalk basic workflow|MHBlenderTools: MakeWalk basic workflow ]]
MakeWalk is a Blender add-on for retargeting mocap data (.bvh files) to a given armature.
* [[ Documentation:MHBlenderTools: MakeWalk user interface|MHBlenderTools: MakeWalk user interface ]]
Description of the GUI integrated in Blender.
* [[ Documentation:MHBlenderTools: MakeWalk armatures|MHBlenderTools: MakeWalk armatures ]]
Explain the meaning and use of source and target armature.
* [[ Documentation:MHBlenderTools: MakeWalk utilities|MHBlenderTools: MakeWalk utilities ]]
Utilities: save and restore the defaults, manage actions, t-pose, etc.
* [[ Documentation:MHBlenderTools: MakeWalk troubleshooting.|MHBlenderTools: MakeWalk troubleshooting. ]]
This document will describe common errors and corrective actions.
* [[ Documentation:MHBlenderTools: MHX importer basic usage.|MHBlenderTools: MHX importer basic usage. ]]
MHX (MakeHuman eXchange format) is a custom format used to transfer a rigged character from MakeHuman to Blender.
* [[ Documentation:MHBlenderTools: MHX default rigging|MHBlenderTools: MHX default rigging ]]
If pose/animate > skeleton is set to 'None' when the character is exported from MakeHuman in .mhx format, the character is equipped with the default MHX armature. This is a rather complex rig with quite a few features.
* [[ Documentation:MHBlenderTools: MHX other rigging systems|MHBlenderTools: MHX other rigging systems ]]
The character can be rigged with alternatives and ligher armature or the rigify one (The rigging system for Blender developed by Nathan Vegdahl).
* [[ Documentation:MHBlenderTools: MHX Layers and masks|MHBlenderTools: MHX Layers and masks ]]
The mhx importer creates objects on the first four layers.
* [[ Documentation:MakeTarget standalone|MakeTarget standalone ]]
Converting files produced with the most common modelling software, without Blender.
* [[ Documentation:GUI languages and translations.|GUI languages and translations. ]]
MakeHuman support a variety of languages. It's very easy to add translations.
==== Reporting a Bug ====
* [[ Documentation:Using the Makehuman bug tracker|Using the Makehuman bug tracker ]]
Introduction to the new Makehuman bug tracker
* [[ Documentation:Using the Makehuman log files for error reporting|Using the Makehuman log files for error reporting ]]
How to report bugs using the log files.
==== Developers' note ====
* [[ Documentation:Getting started|Getting started ]]
The best way to start your experiments with MakeHuman code is to clone our official repository and start to modify it.
* [[ Documentation:Development infrastructure|Development infrastructure ]]
A description of the MakeHuman development infrastructure.
* [[ Documentation:OpenGL Notes|OpenGL Notes ]]
Most of the 3D mesh handling functionality is delivered using OpenGL embedded within the C application code.
* [[ Documentation:Development organization|Development organization ]]
The organization of distributed development.
* [[ Documentation:Libraries and build procedures|Libraries and build procedures ]]
Describes the details of creating installable packages on major platforms
* [[ Documentation:Directory structure and core modules|Directory structure and core modules ]]
Summary of the MH API reference.
* [[ Documentation:File formats and extensions|File formats and extensions ]]
Describes the formats used internally for data and object storage. [CRUDE NOTES]
* [[ Documentation:Makehuman Plugin System|Makehuman Plugin System ]]
How to make a new plugin and use it in MakeHuman
==== Packager's notes ====
* [[ Documentation:Packaging RPM's for Suse/Fedora using Open Build Service (OBS)|Packaging RPM's for Suse/Fedora using Open Build Service (OBS) ]]
Packaging procedure and setup.
|}
=== Tutorials ===
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Docution:Tutorial MH1.0 alpha8:Tutorial MH1.0 alpha8 ]]
* [[ [Alpha8] Making diapers for a baby. ]]
A tutorial illustrating the MakeClothes workflow.
* [[ Documentation:MakeClothes: Making a simple dress|MakeClothes: Making a simple dress ]]
The basic MakeClothes workflow.
* [[ DOcution:MakeClothes: Controlling the result with vertex groups|MakeClothes: Controlling the result with vertex groups ]]
The output of the clothes-making process depends on how vertex groups are assigned.
* [[ Docution:Creating a Custom Target with MakeTarget Standalone|Creating a Custom Target with MakeTarget Standalone ]]
A practical example of custom target
* [[ Docution:MakeWalk: The making of Running feet|MakeWalk: The making of Running feet ]]
MakeWalk tutorial, focusing on the Edit Action panel.
* [[ Docution:MakeWalk: Running feet scene 1|MakeWalk: Running feet scene 1 ]]
Making an extended run on a plane.
* [[ DOcution:MakeWalk: Running feet scene 2|MakeWalk: Running feet scene 2 ]]
High heels and slopes.
* [[ DOcution:MakeWalk: Running feet scene 3|MakeWalk: Running feet scene 3 ]]
The race.
* [[ Docution:MakeWalk: Running feet scene 4|MakeWalk: Running feet scene 4 ]]
Rough terrain.
* [[ Docution:MakeWalk: Automatic animation |MakeWalk: Automatic animation ]]
Tutorial on using the editing tools in MakeWalk.
|}
__NOTOC__
<!--
Author Notes:
== Instructions ==
Please put all documentation nodes in namespace "Documentation", like <nowiki>[[Documentation:Introduction to the interface|Introduction to the interface]]</nowiki> (which would resolve as [[Documentation:Introduction to the interface|Introduction to the interface]])
-->
131817606fa8a24a95b40923b4816ff606082e2f
176
175
2015-07-25T07:10:53Z
Joepal
14
wikitext
text/x-wiki
These are documentation fragments which have been ported. They may still miss some images
== Introduction ==
* [[Documentation:MakeHuman™ and its Purpose|MakeHuman™ and its Purpose ]]: MakeHuman definition and vision.
* [[ Documentation:Short and Long Pipeline|Short and Long Pipeline ]]: The goal of Makehuman is to see it used in 2 different professional pipelines.
* [[ Documentation:Professional mesh topology|Professional mesh topology ]]: An overview of the professional topology provided by MakeHuman
* [[ Documentation:Legal|Legal ]]: The various licenses that apply to MakeHuman and External tools
== General overview ==
None
== Defining human characteristics ==
None
== Rendering your work ==
None
== Settings ==
None
== Blender tools ==
* [[ Documentation:MHBlenderTools: Download and installation|MHBlenderTools: Download and installation ]]: How to download and install the addons for Blender
* [[ Documentation:MHBlenderTools: MakeTarget|MHBlenderTools: MakeTarget ]]: Description of MakeTarget™ tool, to create custom morphings for MakeHuman.
== Documentation for developers ==
None
== Tutorials ==
None
== Unported stuff from Drupal ==
This is stuff which haven't been ported yet.
[[Documentation:Big dump from drupal]]
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
==== General overview ====
* [[ Documentation:Install MakeHuman™|Install MakeHuman™ ]]
How to install MH on Windows, Osx and Linux.
* [[ Documentation:The Interface and basic functions.|The Interface and basic functions. ]]
The MakeHuman GUI: Load, save, undo and redo, reset, view, symmetry, help.
* [[ Documentation:Zoom, pan and rotate using the orbital camera|Zoom, pan and rotate using the orbital camera ]]
Navigating the scene using the orbital camera.
[[ Documentation:Load Save and Export|Load Save and Export ]]
Describe file actions for MakeHuman
==== Define Human Characteristics ====
* [[ Documentation:Parametric Modelling|Parametric Modelling ]]
A quick introduction to the parametric modelling and sliders usage.
* [[ Documentation:Using MakeHuman Hairstyles and Clothes|Using MakeHuman Hairstyles and Clothes ]]
Hair in the MakeHuman Geometries group
* [[ Documentation:Skin and other materials|Skin and other materials ]]
How to change skin and materials for hair and clothes.
* [[ Documentation:Gender, Random, Measure and Custom|Gender, Random, Measure and Custom ]]
Special modifiers.
* [[ Documentation:Makehuman alternative topologies|Makehuman alternative topologies ]]
MakeHuman provides a smart alternative topologies library
==== Rendering Your Work ====
* [[ Documentation:Quick rendering and advanced rendering|Quick rendering and advanced rendering ]]
This section explains how render the character in MakeHuman
* [[ Documentation:Scene and Viewer|Scene and Viewer ]]
How to set lights and how to see and save the rendering
==== Settings ====
* [[ Documentation:General|General ]]
How to set the general preferences
* [[ Documentation:Background|Background ]]
How to use backgrounds for reference.
* [[ Documentation:Mouse|Mouse ]]
Explanation of mouse settings
* [[ Documentation:Shortcuts|Shortcuts ]]
Configuration of shortcuts in Makehuman
* [[ Documentation:Plugins|Plugins ]]
Management of Makehuman plugins
==== Tools and contributing methods ====
* [[ Documentation:MHBlenderTools: MakeClothes|MHBlenderTools: MakeClothes ]]
Description of MakeClothes and its user interface.
* [[ Documentation:MHBlenderTools: MakeWalk basic workflow|MHBlenderTools: MakeWalk basic workflow ]]
MakeWalk is a Blender add-on for retargeting mocap data (.bvh files) to a given armature.
* [[ Documentation:MHBlenderTools: MakeWalk user interface|MHBlenderTools: MakeWalk user interface ]]
Description of the GUI integrated in Blender.
* [[ Documentation:MHBlenderTools: MakeWalk armatures|MHBlenderTools: MakeWalk armatures ]]
Explain the meaning and use of source and target armature.
* [[ Documentation:MHBlenderTools: MakeWalk utilities|MHBlenderTools: MakeWalk utilities ]]
Utilities: save and restore the defaults, manage actions, t-pose, etc.
* [[ Documentation:MHBlenderTools: MakeWalk troubleshooting.|MHBlenderTools: MakeWalk troubleshooting. ]]
This document will describe common errors and corrective actions.
* [[ Documentation:MHBlenderTools: MHX importer basic usage.|MHBlenderTools: MHX importer basic usage. ]]
MHX (MakeHuman eXchange format) is a custom format used to transfer a rigged character from MakeHuman to Blender.
* [[ Documentation:MHBlenderTools: MHX default rigging|MHBlenderTools: MHX default rigging ]]
If pose/animate > skeleton is set to 'None' when the character is exported from MakeHuman in .mhx format, the character is equipped with the default MHX armature. This is a rather complex rig with quite a few features.
* [[ Documentation:MHBlenderTools: MHX other rigging systems|MHBlenderTools: MHX other rigging systems ]]
The character can be rigged with alternatives and ligher armature or the rigify one (The rigging system for Blender developed by Nathan Vegdahl).
* [[ Documentation:MHBlenderTools: MHX Layers and masks|MHBlenderTools: MHX Layers and masks ]]
The mhx importer creates objects on the first four layers.
* [[ Documentation:MakeTarget standalone|MakeTarget standalone ]]
Converting files produced with the most common modelling software, without Blender.
* [[ Documentation:GUI languages and translations.|GUI languages and translations. ]]
MakeHuman support a variety of languages. It's very easy to add translations.
==== Reporting a Bug ====
* [[ Documentation:Using the Makehuman bug tracker|Using the Makehuman bug tracker ]]
Introduction to the new Makehuman bug tracker
* [[ Documentation:Using the Makehuman log files for error reporting|Using the Makehuman log files for error reporting ]]
How to report bugs using the log files.
==== Developers' note ====
* [[ Documentation:Getting started|Getting started ]]
The best way to start your experiments with MakeHuman code is to clone our official repository and start to modify it.
* [[ Documentation:Development infrastructure|Development infrastructure ]]
A description of the MakeHuman development infrastructure.
* [[ Documentation:OpenGL Notes|OpenGL Notes ]]
Most of the 3D mesh handling functionality is delivered using OpenGL embedded within the C application code.
* [[ Documentation:Development organization|Development organization ]]
The organization of distributed development.
* [[ Documentation:Libraries and build procedures|Libraries and build procedures ]]
Describes the details of creating installable packages on major platforms
* [[ Documentation:Directory structure and core modules|Directory structure and core modules ]]
Summary of the MH API reference.
* [[ Documentation:File formats and extensions|File formats and extensions ]]
Describes the formats used internally for data and object storage. [CRUDE NOTES]
* [[ Documentation:Makehuman Plugin System|Makehuman Plugin System ]]
How to make a new plugin and use it in MakeHuman
==== Packager's notes ====
* [[ Documentation:Packaging RPM's for Suse/Fedora using Open Build Service (OBS)|Packaging RPM's for Suse/Fedora using Open Build Service (OBS) ]]
Packaging procedure and setup.
|}
=== Tutorials ===
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Docution:Tutorial MH1.0 alpha8:Tutorial MH1.0 alpha8 ]]
* [[ [Alpha8] Making diapers for a baby. ]]
A tutorial illustrating the MakeClothes workflow.
* [[ Documentation:MakeClothes: Making a simple dress|MakeClothes: Making a simple dress ]]
The basic MakeClothes workflow.
* [[ DOcution:MakeClothes: Controlling the result with vertex groups|MakeClothes: Controlling the result with vertex groups ]]
The output of the clothes-making process depends on how vertex groups are assigned.
* [[ Docution:Creating a Custom Target with MakeTarget Standalone|Creating a Custom Target with MakeTarget Standalone ]]
A practical example of custom target
* [[ Docution:MakeWalk: The making of Running feet|MakeWalk: The making of Running feet ]]
MakeWalk tutorial, focusing on the Edit Action panel.
* [[ Docution:MakeWalk: Running feet scene 1|MakeWalk: Running feet scene 1 ]]
Making an extended run on a plane.
* [[ DOcution:MakeWalk: Running feet scene 2|MakeWalk: Running feet scene 2 ]]
High heels and slopes.
* [[ DOcution:MakeWalk: Running feet scene 3|MakeWalk: Running feet scene 3 ]]
The race.
* [[ Docution:MakeWalk: Running feet scene 4|MakeWalk: Running feet scene 4 ]]
Rough terrain.
* [[ Docution:MakeWalk: Automatic animation |MakeWalk: Automatic animation ]]
Tutorial on using the editing tools in MakeWalk.
|}
__NOTOC__
<!--
Author Notes:
== Instructions ==
Please put all documentation nodes in namespace "Documentation", like <nowiki>[[Documentation:Introduction to the interface|Introduction to the interface]]</nowiki> (which would resolve as [[Documentation:Introduction to the interface|Introduction to the interface]])
-->
80531523f13a0b104d7bb2a1e28cd476a2937a63
175
174
2015-07-25T07:09:49Z
Joepal
14
wikitext
text/x-wiki
These are documentation fragments which have been ported. They may still miss some images
== Introduction ==
* [[Documentation:MakeHuman™ and its Purpose|MakeHuman™ and its Purpose ]]: MakeHuman definition and vision.
* [[ Documentation:Short and Long Pipeline|Short and Long Pipeline ]]: The goal of Makehuman is to see it used in 2 different professional pipelines.
* [[ Documentation:Professional mesh topology|Professional mesh topology ]]: An overview of the professional topology provided by MakeHuman
* [[ Documentation:Legal|Legal ]]: The various licenses that apply to MakeHuman and External tools
== General overview ==
None
== Defining human characteristics ==
None
== Rendering your work ==
None
== Settings ==
None
== Blender tools ==
* [[ Documentation:MHBlenderTools: Download and installation|MHBlenderTools: Download and installation ]]: How to download and install the addons for Blender
* [[ Documentation:MHBlenderTools: MakeTarget|MHBlenderTools: MakeTarget ]]: Description of MakeTarget™ tool, to create custom morphings for MakeHuman.
== Documentation for developers ==
None
== Tutorials ==
None
== Unported stuff from Drupal ==
This is stuff which haven't been ported yet.
[[Documentation:Big dump from drupal]]
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
==== General overview ====
* [[ Documentation:Install MakeHuman™|Install MakeHuman™ ]]
How to install MH on Windows, Osx and Linux.
* [[ Documentation:The Interface and basic functions.|The Interface and basic functions. ]]
The MakeHuman GUI: Load, save, undo and redo, reset, view, symmetry, help.
* [[ Documentation:Zoom, pan and rotate using the orbital camera|Zoom, pan and rotate using the orbital camera ]]
Navigating the scene using the orbital camera.
[[ Documentation:Load Save and Export|Load Save and Export ]]
Describe file actions for MakeHuman
==== Define Human Characteristics ====
* [[ Documentation:Parametric Modelling|Parametric Modelling ]]
A quick introduction to the parametric modelling and sliders usage.
* [[ Documentation:Using MakeHuman Hairstyles and Clothes|Using MakeHuman Hairstyles and Clothes ]]
Hair in the MakeHuman Geometries group
* [[ Documentation:Skin and other materials|Skin and other materials ]]
How to change skin and materials for hair and clothes.
* [[ Documentation:Gender, Random, Measure and Custom|Gender, Random, Measure and Custom ]]
Special modifiers.
* [[ Documentation:Makehuman alternative topologies|Makehuman alternative topologies ]]
MakeHuman provides a smart alternative topologies library
==== Rendering Your Work ====
* [[ Documentation:Quick rendering and advanced rendering|Quick rendering and advanced rendering ]]
This section explains how render the character in MakeHuman
* [[ Documentation:Scene and Viewer|Scene and Viewer ]]
How to set lights and how to see and save the rendering
==== Settings ====
* [[ Documentation:General|General ]]
How to set the general preferences
* [[ Documentation:Background|Background ]]
How to use backgrounds for reference.
* [[ Documentation:Mouse|Mouse ]]
Explanation of mouse settings
* [[ Documentation:Shortcuts|Shortcuts ]]
Configuration of shortcuts in Makehuman
* [[ Documentation:Plugins|Plugins ]]
Management of Makehuman plugins
==== Tools and contributing methods ====
* [[ Documentation:MHBlenderTools: Download and installation|MHBlenderTools: Download and installation ]]
How to download and install the addons for Blender
* [[ Documentation:MHBlenderTools: MakeTarget|MHBlenderTools: MakeTarget ]]
Description of MakeTarget™ tool, to create custom morphings for MakeHuman.
* [[ Documentation:MHBlenderTools: MakeClothes|MHBlenderTools: MakeClothes ]]
Description of MakeClothes and its user interface.
* [[ Documentation:MHBlenderTools: MakeWalk basic workflow|MHBlenderTools: MakeWalk basic workflow ]]
MakeWalk is a Blender add-on for retargeting mocap data (.bvh files) to a given armature.
* [[ Documentation:MHBlenderTools: MakeWalk user interface|MHBlenderTools: MakeWalk user interface ]]
Description of the GUI integrated in Blender.
* [[ Documentation:MHBlenderTools: MakeWalk armatures|MHBlenderTools: MakeWalk armatures ]]
Explain the meaning and use of source and target armature.
* [[ Documentation:MHBlenderTools: MakeWalk utilities|MHBlenderTools: MakeWalk utilities ]]
Utilities: save and restore the defaults, manage actions, t-pose, etc.
* [[ Documentation:MHBlenderTools: MakeWalk troubleshooting.|MHBlenderTools: MakeWalk troubleshooting. ]]
This document will describe common errors and corrective actions.
* [[ Documentation:MHBlenderTools: MHX importer basic usage.|MHBlenderTools: MHX importer basic usage. ]]
MHX (MakeHuman eXchange format) is a custom format used to transfer a rigged character from MakeHuman to Blender.
* [[ Documentation:MHBlenderTools: MHX default rigging|MHBlenderTools: MHX default rigging ]]
If pose/animate > skeleton is set to 'None' when the character is exported from MakeHuman in .mhx format, the character is equipped with the default MHX armature. This is a rather complex rig with quite a few features.
* [[ Documentation:MHBlenderTools: MHX other rigging systems|MHBlenderTools: MHX other rigging systems ]]
The character can be rigged with alternatives and ligher armature or the rigify one (The rigging system for Blender developed by Nathan Vegdahl).
* [[ Documentation:MHBlenderTools: MHX Layers and masks|MHBlenderTools: MHX Layers and masks ]]
The mhx importer creates objects on the first four layers.
* [[ Documentation:MakeTarget standalone|MakeTarget standalone ]]
Converting files produced with the most common modelling software, without Blender.
* [[ Documentation:GUI languages and translations.|GUI languages and translations. ]]
MakeHuman support a variety of languages. It's very easy to add translations.
==== Reporting a Bug ====
* [[ Documentation:Using the Makehuman bug tracker|Using the Makehuman bug tracker ]]
Introduction to the new Makehuman bug tracker
* [[ Documentation:Using the Makehuman log files for error reporting|Using the Makehuman log files for error reporting ]]
How to report bugs using the log files.
==== Developers' note ====
* [[ Documentation:Getting started|Getting started ]]
The best way to start your experiments with MakeHuman code is to clone our official repository and start to modify it.
* [[ Documentation:Development infrastructure|Development infrastructure ]]
A description of the MakeHuman development infrastructure.
* [[ Documentation:OpenGL Notes|OpenGL Notes ]]
Most of the 3D mesh handling functionality is delivered using OpenGL embedded within the C application code.
* [[ Documentation:Development organization|Development organization ]]
The organization of distributed development.
* [[ Documentation:Libraries and build procedures|Libraries and build procedures ]]
Describes the details of creating installable packages on major platforms
* [[ Documentation:Directory structure and core modules|Directory structure and core modules ]]
Summary of the MH API reference.
* [[ Documentation:File formats and extensions|File formats and extensions ]]
Describes the formats used internally for data and object storage. [CRUDE NOTES]
* [[ Documentation:Makehuman Plugin System|Makehuman Plugin System ]]
How to make a new plugin and use it in MakeHuman
==== Packager's notes ====
* [[ Documentation:Packaging RPM's for Suse/Fedora using Open Build Service (OBS)|Packaging RPM's for Suse/Fedora using Open Build Service (OBS) ]]
Packaging procedure and setup.
|}
=== Tutorials ===
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Docution:Tutorial MH1.0 alpha8:Tutorial MH1.0 alpha8 ]]
* [[ [Alpha8] Making diapers for a baby. ]]
A tutorial illustrating the MakeClothes workflow.
* [[ Documentation:MakeClothes: Making a simple dress|MakeClothes: Making a simple dress ]]
The basic MakeClothes workflow.
* [[ DOcution:MakeClothes: Controlling the result with vertex groups|MakeClothes: Controlling the result with vertex groups ]]
The output of the clothes-making process depends on how vertex groups are assigned.
* [[ Docution:Creating a Custom Target with MakeTarget Standalone|Creating a Custom Target with MakeTarget Standalone ]]
A practical example of custom target
* [[ Docution:MakeWalk: The making of Running feet|MakeWalk: The making of Running feet ]]
MakeWalk tutorial, focusing on the Edit Action panel.
* [[ Docution:MakeWalk: Running feet scene 1|MakeWalk: Running feet scene 1 ]]
Making an extended run on a plane.
* [[ DOcution:MakeWalk: Running feet scene 2|MakeWalk: Running feet scene 2 ]]
High heels and slopes.
* [[ DOcution:MakeWalk: Running feet scene 3|MakeWalk: Running feet scene 3 ]]
The race.
* [[ Docution:MakeWalk: Running feet scene 4|MakeWalk: Running feet scene 4 ]]
Rough terrain.
* [[ Docution:MakeWalk: Automatic animation |MakeWalk: Automatic animation ]]
Tutorial on using the editing tools in MakeWalk.
|}
__NOTOC__
<!--
Author Notes:
== Instructions ==
Please put all documentation nodes in namespace "Documentation", like <nowiki>[[Documentation:Introduction to the interface|Introduction to the interface]]</nowiki> (which would resolve as [[Documentation:Introduction to the interface|Introduction to the interface]])
-->
b367e881f5df1418cb4ceffbe51f7bda1c43a5bd
174
173
2015-07-25T07:08:56Z
Joepal
14
wikitext
text/x-wiki
These are documentation fragments which have been ported. They may still miss some images
== Introduction ==
* [[Documentation:MakeHuman™ and its Purpose|MakeHuman™ and its Purpose ]]: MakeHuman definition and vision.
* [[ Documentation:Short and Long Pipeline|Short and Long Pipeline ]]: The goal of Makehuman is to see it used in 2 different professional pipelines.
* [[ Documentation:Professional mesh topology|Professional mesh topology ]]: An overview of the professional topology provided by MakeHuman
* [[ Documentation:Legal|Legal ]]: The various licenses that apply to MakeHuman and External tools
== General overview ==
None
== Defining human characteristics ==
None
== Rendering your work ==
None
== Settings ==
None
== Blender tools ==
* [[ Documentation:MHBlenderTools: Download and installation|MHBlenderTools: Download and installation ]]: How to download and install the addons for Blender
* [[ Documentation:MHBlenderTools: MakeTarget|MHBlenderTools: MakeTarget ]]: Description of MakeTarget™ tool, to create custom morphings for MakeHuman.
== Documentation for developers ==
None
== Tutorials ==
None
== Unported stuff from Drupal ==
This is stuff which haven't been ported yet.
[[Documentation:Big dump from drupal]]
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
==== Introduction ====
* [[Documentation:MakeHuman™ and its Purpose|MakeHuman™ and its Purpose ]]
MakeHuman definition and vision.
* [[ Documentation:Short and Long Pipeline|Short and Long Pipeline ]]
The goal of Makehuman is to see it used in 2 different professional pipelines.
* [[ Documentation:Professional mesh topology|Professional mesh topology ]]
An overview of the professional topology provided by MakeHuman
* [[ Documentation:Legal|Legal ]]
The various licenses that apply to MakeHuman and External tools
==== General overview ====
* [[ Documentation:Install MakeHuman™|Install MakeHuman™ ]]
How to install MH on Windows, Osx and Linux.
* [[ Documentation:The Interface and basic functions.|The Interface and basic functions. ]]
The MakeHuman GUI: Load, save, undo and redo, reset, view, symmetry, help.
* [[ Documentation:Zoom, pan and rotate using the orbital camera|Zoom, pan and rotate using the orbital camera ]]
Navigating the scene using the orbital camera.
[[ Documentation:Load Save and Export|Load Save and Export ]]
Describe file actions for MakeHuman
==== Define Human Characteristics ====
* [[ Documentation:Parametric Modelling|Parametric Modelling ]]
A quick introduction to the parametric modelling and sliders usage.
* [[ Documentation:Using MakeHuman Hairstyles and Clothes|Using MakeHuman Hairstyles and Clothes ]]
Hair in the MakeHuman Geometries group
* [[ Documentation:Skin and other materials|Skin and other materials ]]
How to change skin and materials for hair and clothes.
* [[ Documentation:Gender, Random, Measure and Custom|Gender, Random, Measure and Custom ]]
Special modifiers.
* [[ Documentation:Makehuman alternative topologies|Makehuman alternative topologies ]]
MakeHuman provides a smart alternative topologies library
==== Rendering Your Work ====
* [[ Documentation:Quick rendering and advanced rendering|Quick rendering and advanced rendering ]]
This section explains how render the character in MakeHuman
* [[ Documentation:Scene and Viewer|Scene and Viewer ]]
How to set lights and how to see and save the rendering
==== Settings ====
* [[ Documentation:General|General ]]
How to set the general preferences
* [[ Documentation:Background|Background ]]
How to use backgrounds for reference.
* [[ Documentation:Mouse|Mouse ]]
Explanation of mouse settings
* [[ Documentation:Shortcuts|Shortcuts ]]
Configuration of shortcuts in Makehuman
* [[ Documentation:Plugins|Plugins ]]
Management of Makehuman plugins
==== Tools and contributing methods ====
* [[ Documentation:MHBlenderTools: Download and installation|MHBlenderTools: Download and installation ]]
How to download and install the addons for Blender
* [[ Documentation:MHBlenderTools: MakeTarget|MHBlenderTools: MakeTarget ]]
Description of MakeTarget™ tool, to create custom morphings for MakeHuman.
* [[ Documentation:MHBlenderTools: MakeClothes|MHBlenderTools: MakeClothes ]]
Description of MakeClothes and its user interface.
* [[ Documentation:MHBlenderTools: MakeWalk basic workflow|MHBlenderTools: MakeWalk basic workflow ]]
MakeWalk is a Blender add-on for retargeting mocap data (.bvh files) to a given armature.
* [[ Documentation:MHBlenderTools: MakeWalk user interface|MHBlenderTools: MakeWalk user interface ]]
Description of the GUI integrated in Blender.
* [[ Documentation:MHBlenderTools: MakeWalk armatures|MHBlenderTools: MakeWalk armatures ]]
Explain the meaning and use of source and target armature.
* [[ Documentation:MHBlenderTools: MakeWalk utilities|MHBlenderTools: MakeWalk utilities ]]
Utilities: save and restore the defaults, manage actions, t-pose, etc.
* [[ Documentation:MHBlenderTools: MakeWalk troubleshooting.|MHBlenderTools: MakeWalk troubleshooting. ]]
This document will describe common errors and corrective actions.
* [[ Documentation:MHBlenderTools: MHX importer basic usage.|MHBlenderTools: MHX importer basic usage. ]]
MHX (MakeHuman eXchange format) is a custom format used to transfer a rigged character from MakeHuman to Blender.
* [[ Documentation:MHBlenderTools: MHX default rigging|MHBlenderTools: MHX default rigging ]]
If pose/animate > skeleton is set to 'None' when the character is exported from MakeHuman in .mhx format, the character is equipped with the default MHX armature. This is a rather complex rig with quite a few features.
* [[ Documentation:MHBlenderTools: MHX other rigging systems|MHBlenderTools: MHX other rigging systems ]]
The character can be rigged with alternatives and ligher armature or the rigify one (The rigging system for Blender developed by Nathan Vegdahl).
* [[ Documentation:MHBlenderTools: MHX Layers and masks|MHBlenderTools: MHX Layers and masks ]]
The mhx importer creates objects on the first four layers.
* [[ Documentation:MakeTarget standalone|MakeTarget standalone ]]
Converting files produced with the most common modelling software, without Blender.
* [[ Documentation:GUI languages and translations.|GUI languages and translations. ]]
MakeHuman support a variety of languages. It's very easy to add translations.
==== Reporting a Bug ====
* [[ Documentation:Using the Makehuman bug tracker|Using the Makehuman bug tracker ]]
Introduction to the new Makehuman bug tracker
* [[ Documentation:Using the Makehuman log files for error reporting|Using the Makehuman log files for error reporting ]]
How to report bugs using the log files.
==== Developers' note ====
* [[ Documentation:Getting started|Getting started ]]
The best way to start your experiments with MakeHuman code is to clone our official repository and start to modify it.
* [[ Documentation:Development infrastructure|Development infrastructure ]]
A description of the MakeHuman development infrastructure.
* [[ Documentation:OpenGL Notes|OpenGL Notes ]]
Most of the 3D mesh handling functionality is delivered using OpenGL embedded within the C application code.
* [[ Documentation:Development organization|Development organization ]]
The organization of distributed development.
* [[ Documentation:Libraries and build procedures|Libraries and build procedures ]]
Describes the details of creating installable packages on major platforms
* [[ Documentation:Directory structure and core modules|Directory structure and core modules ]]
Summary of the MH API reference.
* [[ Documentation:File formats and extensions|File formats and extensions ]]
Describes the formats used internally for data and object storage. [CRUDE NOTES]
* [[ Documentation:Makehuman Plugin System|Makehuman Plugin System ]]
How to make a new plugin and use it in MakeHuman
==== Packager's notes ====
* [[ Documentation:Packaging RPM's for Suse/Fedora using Open Build Service (OBS)|Packaging RPM's for Suse/Fedora using Open Build Service (OBS) ]]
Packaging procedure and setup.
|}
=== Tutorials ===
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Docution:Tutorial MH1.0 alpha8:Tutorial MH1.0 alpha8 ]]
* [[ [Alpha8] Making diapers for a baby. ]]
A tutorial illustrating the MakeClothes workflow.
* [[ Documentation:MakeClothes: Making a simple dress|MakeClothes: Making a simple dress ]]
The basic MakeClothes workflow.
* [[ DOcution:MakeClothes: Controlling the result with vertex groups|MakeClothes: Controlling the result with vertex groups ]]
The output of the clothes-making process depends on how vertex groups are assigned.
* [[ Docution:Creating a Custom Target with MakeTarget Standalone|Creating a Custom Target with MakeTarget Standalone ]]
A practical example of custom target
* [[ Docution:MakeWalk: The making of Running feet|MakeWalk: The making of Running feet ]]
MakeWalk tutorial, focusing on the Edit Action panel.
* [[ Docution:MakeWalk: Running feet scene 1|MakeWalk: Running feet scene 1 ]]
Making an extended run on a plane.
* [[ DOcution:MakeWalk: Running feet scene 2|MakeWalk: Running feet scene 2 ]]
High heels and slopes.
* [[ DOcution:MakeWalk: Running feet scene 3|MakeWalk: Running feet scene 3 ]]
The race.
* [[ Docution:MakeWalk: Running feet scene 4|MakeWalk: Running feet scene 4 ]]
Rough terrain.
* [[ Docution:MakeWalk: Automatic animation |MakeWalk: Automatic animation ]]
Tutorial on using the editing tools in MakeWalk.
|}
__NOTOC__
<!--
Author Notes:
== Instructions ==
Please put all documentation nodes in namespace "Documentation", like <nowiki>[[Documentation:Introduction to the interface|Introduction to the interface]]</nowiki> (which would resolve as [[Documentation:Introduction to the interface|Introduction to the interface]])
-->
57ace8e9b3fcf165a05dfd2204f4145bf29e738c
173
41
2015-07-25T07:07:55Z
Joepal
14
wikitext
text/x-wiki
== Documentation which has been mostly ported ==
These are documentation fragments which have been ported. They may still miss some images
=== Introduction ===
* [[Documentation:MakeHuman™ and its Purpose|MakeHuman™ and its Purpose ]]: MakeHuman definition and vision.
* [[ Documentation:Short and Long Pipeline|Short and Long Pipeline ]]: The goal of Makehuman is to see it used in 2 different professional pipelines.
* [[ Documentation:Professional mesh topology|Professional mesh topology ]]: An overview of the professional topology provided by MakeHuman
* [[ Documentation:Legal|Legal ]]: The various licenses that apply to MakeHuman and External tools
=== General overview ===
None
=== Defining human characteristics ===
None
=== Rendering your work ===
None
=== Settings ===
None
=== Blender tools ===
* [[ Documentation:MHBlenderTools: Download and installation|MHBlenderTools: Download and installation ]]: How to download and install the addons for Blender
* [[ Documentation:MHBlenderTools: MakeTarget|MHBlenderTools: MakeTarget ]]: Description of MakeTarget™ tool, to create custom morphings for MakeHuman.
=== Documentation for developers ===
None
=== Tutorials ===
None
== Unported stuff from Drupal ==
[[Documentation:Big dump from drupal]]
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
==== Introduction ====
* [[Documentation:MakeHuman™ and its Purpose|MakeHuman™ and its Purpose ]]
MakeHuman definition and vision.
* [[ Documentation:Short and Long Pipeline|Short and Long Pipeline ]]
The goal of Makehuman is to see it used in 2 different professional pipelines.
* [[ Documentation:Professional mesh topology|Professional mesh topology ]]
An overview of the professional topology provided by MakeHuman
* [[ Documentation:Legal|Legal ]]
The various licenses that apply to MakeHuman and External tools
==== General overview ====
* [[ Documentation:Install MakeHuman™|Install MakeHuman™ ]]
How to install MH on Windows, Osx and Linux.
* [[ Documentation:The Interface and basic functions.|The Interface and basic functions. ]]
The MakeHuman GUI: Load, save, undo and redo, reset, view, symmetry, help.
* [[ Documentation:Zoom, pan and rotate using the orbital camera|Zoom, pan and rotate using the orbital camera ]]
Navigating the scene using the orbital camera.
[[ Documentation:Load Save and Export|Load Save and Export ]]
Describe file actions for MakeHuman
==== Define Human Characteristics ====
* [[ Documentation:Parametric Modelling|Parametric Modelling ]]
A quick introduction to the parametric modelling and sliders usage.
* [[ Documentation:Using MakeHuman Hairstyles and Clothes|Using MakeHuman Hairstyles and Clothes ]]
Hair in the MakeHuman Geometries group
* [[ Documentation:Skin and other materials|Skin and other materials ]]
How to change skin and materials for hair and clothes.
* [[ Documentation:Gender, Random, Measure and Custom|Gender, Random, Measure and Custom ]]
Special modifiers.
* [[ Documentation:Makehuman alternative topologies|Makehuman alternative topologies ]]
MakeHuman provides a smart alternative topologies library
==== Rendering Your Work ====
* [[ Documentation:Quick rendering and advanced rendering|Quick rendering and advanced rendering ]]
This section explains how render the character in MakeHuman
* [[ Documentation:Scene and Viewer|Scene and Viewer ]]
How to set lights and how to see and save the rendering
==== Settings ====
* [[ Documentation:General|General ]]
How to set the general preferences
* [[ Documentation:Background|Background ]]
How to use backgrounds for reference.
* [[ Documentation:Mouse|Mouse ]]
Explanation of mouse settings
* [[ Documentation:Shortcuts|Shortcuts ]]
Configuration of shortcuts in Makehuman
* [[ Documentation:Plugins|Plugins ]]
Management of Makehuman plugins
==== Tools and contributing methods ====
* [[ Documentation:MHBlenderTools: Download and installation|MHBlenderTools: Download and installation ]]
How to download and install the addons for Blender
* [[ Documentation:MHBlenderTools: MakeTarget|MHBlenderTools: MakeTarget ]]
Description of MakeTarget™ tool, to create custom morphings for MakeHuman.
* [[ Documentation:MHBlenderTools: MakeClothes|MHBlenderTools: MakeClothes ]]
Description of MakeClothes and its user interface.
* [[ Documentation:MHBlenderTools: MakeWalk basic workflow|MHBlenderTools: MakeWalk basic workflow ]]
MakeWalk is a Blender add-on for retargeting mocap data (.bvh files) to a given armature.
* [[ Documentation:MHBlenderTools: MakeWalk user interface|MHBlenderTools: MakeWalk user interface ]]
Description of the GUI integrated in Blender.
* [[ Documentation:MHBlenderTools: MakeWalk armatures|MHBlenderTools: MakeWalk armatures ]]
Explain the meaning and use of source and target armature.
* [[ Documentation:MHBlenderTools: MakeWalk utilities|MHBlenderTools: MakeWalk utilities ]]
Utilities: save and restore the defaults, manage actions, t-pose, etc.
* [[ Documentation:MHBlenderTools: MakeWalk troubleshooting.|MHBlenderTools: MakeWalk troubleshooting. ]]
This document will describe common errors and corrective actions.
* [[ Documentation:MHBlenderTools: MHX importer basic usage.|MHBlenderTools: MHX importer basic usage. ]]
MHX (MakeHuman eXchange format) is a custom format used to transfer a rigged character from MakeHuman to Blender.
* [[ Documentation:MHBlenderTools: MHX default rigging|MHBlenderTools: MHX default rigging ]]
If pose/animate > skeleton is set to 'None' when the character is exported from MakeHuman in .mhx format, the character is equipped with the default MHX armature. This is a rather complex rig with quite a few features.
* [[ Documentation:MHBlenderTools: MHX other rigging systems|MHBlenderTools: MHX other rigging systems ]]
The character can be rigged with alternatives and ligher armature or the rigify one (The rigging system for Blender developed by Nathan Vegdahl).
* [[ Documentation:MHBlenderTools: MHX Layers and masks|MHBlenderTools: MHX Layers and masks ]]
The mhx importer creates objects on the first four layers.
* [[ Documentation:MakeTarget standalone|MakeTarget standalone ]]
Converting files produced with the most common modelling software, without Blender.
* [[ Documentation:GUI languages and translations.|GUI languages and translations. ]]
MakeHuman support a variety of languages. It's very easy to add translations.
==== Reporting a Bug ====
* [[ Documentation:Using the Makehuman bug tracker|Using the Makehuman bug tracker ]]
Introduction to the new Makehuman bug tracker
* [[ Documentation:Using the Makehuman log files for error reporting|Using the Makehuman log files for error reporting ]]
How to report bugs using the log files.
==== Developers' note ====
* [[ Documentation:Getting started|Getting started ]]
The best way to start your experiments with MakeHuman code is to clone our official repository and start to modify it.
* [[ Documentation:Development infrastructure|Development infrastructure ]]
A description of the MakeHuman development infrastructure.
* [[ Documentation:OpenGL Notes|OpenGL Notes ]]
Most of the 3D mesh handling functionality is delivered using OpenGL embedded within the C application code.
* [[ Documentation:Development organization|Development organization ]]
The organization of distributed development.
* [[ Documentation:Libraries and build procedures|Libraries and build procedures ]]
Describes the details of creating installable packages on major platforms
* [[ Documentation:Directory structure and core modules|Directory structure and core modules ]]
Summary of the MH API reference.
* [[ Documentation:File formats and extensions|File formats and extensions ]]
Describes the formats used internally for data and object storage. [CRUDE NOTES]
* [[ Documentation:Makehuman Plugin System|Makehuman Plugin System ]]
How to make a new plugin and use it in MakeHuman
==== Packager's notes ====
* [[ Documentation:Packaging RPM's for Suse/Fedora using Open Build Service (OBS)|Packaging RPM's for Suse/Fedora using Open Build Service (OBS) ]]
Packaging procedure and setup.
|}
=== Tutorials ===
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Docution:Tutorial MH1.0 alpha8:Tutorial MH1.0 alpha8 ]]
* [[ [Alpha8] Making diapers for a baby. ]]
A tutorial illustrating the MakeClothes workflow.
* [[ Documentation:MakeClothes: Making a simple dress|MakeClothes: Making a simple dress ]]
The basic MakeClothes workflow.
* [[ DOcution:MakeClothes: Controlling the result with vertex groups|MakeClothes: Controlling the result with vertex groups ]]
The output of the clothes-making process depends on how vertex groups are assigned.
* [[ Docution:Creating a Custom Target with MakeTarget Standalone|Creating a Custom Target with MakeTarget Standalone ]]
A practical example of custom target
* [[ Docution:MakeWalk: The making of Running feet|MakeWalk: The making of Running feet ]]
MakeWalk tutorial, focusing on the Edit Action panel.
* [[ Docution:MakeWalk: Running feet scene 1|MakeWalk: Running feet scene 1 ]]
Making an extended run on a plane.
* [[ DOcution:MakeWalk: Running feet scene 2|MakeWalk: Running feet scene 2 ]]
High heels and slopes.
* [[ DOcution:MakeWalk: Running feet scene 3|MakeWalk: Running feet scene 3 ]]
The race.
* [[ Docution:MakeWalk: Running feet scene 4|MakeWalk: Running feet scene 4 ]]
Rough terrain.
* [[ Docution:MakeWalk: Automatic animation |MakeWalk: Automatic animation ]]
Tutorial on using the editing tools in MakeWalk.
|}
__NOTOC__
<!--
Author Notes:
== Instructions ==
Please put all documentation nodes in namespace "Documentation", like <nowiki>[[Documentation:Introduction to the interface|Introduction to the interface]]</nowiki> (which would resolve as [[Documentation:Introduction to the interface|Introduction to the interface]])
-->
db8ed6d133ab05627bc5e4b007c64eac93ebba1b
41
34
2015-07-01T10:03:16Z
Joepal1
1
/* Makehuman Manual */
wikitext
text/x-wiki
=== Makehuman Manual ===
[[Documentation:Big dump from drupal]]
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
==== Introduction ====
* [[Documentation:MakeHuman™ and its Purpose|MakeHuman™ and its Purpose ]]
MakeHuman definition and vision.
* [[ Documentation:Short and Long Pipeline|Short and Long Pipeline ]]
The goal of Makehuman is to see it used in 2 different professional pipelines.
* [[ Documentation:Professional mesh topology|Professional mesh topology ]]
An overview of the professional topology provided by MakeHuman
* [[ Documentation:Legal|Legal ]]
The various licenses that apply to MakeHuman and External tools
==== General overview ====
* [[ Documentation:Install MakeHuman™|Install MakeHuman™ ]]
How to install MH on Windows, Osx and Linux.
* [[ Documentation:The Interface and basic functions.|The Interface and basic functions. ]]
The MakeHuman GUI: Load, save, undo and redo, reset, view, symmetry, help.
* [[ Documentation:Zoom, pan and rotate using the orbital camera|Zoom, pan and rotate using the orbital camera ]]
Navigating the scene using the orbital camera.
[[ Documentation:Load Save and Export|Load Save and Export ]]
Describe file actions for MakeHuman
==== Define Human Characteristics ====
* [[ Documentation:Parametric Modelling|Parametric Modelling ]]
A quick introduction to the parametric modelling and sliders usage.
* [[ Documentation:Using MakeHuman Hairstyles and Clothes|Using MakeHuman Hairstyles and Clothes ]]
Hair in the MakeHuman Geometries group
* [[ Documentation:Skin and other materials|Skin and other materials ]]
How to change skin and materials for hair and clothes.
* [[ Documentation:Gender, Random, Measure and Custom|Gender, Random, Measure and Custom ]]
Special modifiers.
* [[ Documentation:Makehuman alternative topologies|Makehuman alternative topologies ]]
MakeHuman provides a smart alternative topologies library
==== Rendering Your Work ====
* [[ Documentation:Quick rendering and advanced rendering|Quick rendering and advanced rendering ]]
This section explains how render the character in MakeHuman
* [[ Documentation:Scene and Viewer|Scene and Viewer ]]
How to set lights and how to see and save the rendering
==== Settings ====
* [[ Documentation:General|General ]]
How to set the general preferences
* [[ Documentation:Background|Background ]]
How to use backgrounds for reference.
* [[ Documentation:Mouse|Mouse ]]
Explanation of mouse settings
* [[ Documentation:Shortcuts|Shortcuts ]]
Configuration of shortcuts in Makehuman
* [[ Documentation:Plugins|Plugins ]]
Management of Makehuman plugins
==== Tools and contributing methods ====
* [[ Documentation:MHBlenderTools: Download and installation|MHBlenderTools: Download and installation ]]
How to download and install the addons for Blender
* [[ Documentation:MHBlenderTools: MakeTarget|MHBlenderTools: MakeTarget ]]
Description of MakeTarget™ tool, to create custom morphings for MakeHuman.
* [[ Documentation:MHBlenderTools: MakeClothes|MHBlenderTools: MakeClothes ]]
Description of MakeClothes and its user interface.
* [[ Documentation:MHBlenderTools: MakeWalk basic workflow|MHBlenderTools: MakeWalk basic workflow ]]
MakeWalk is a Blender add-on for retargeting mocap data (.bvh files) to a given armature.
* [[ Documentation:MHBlenderTools: MakeWalk user interface|MHBlenderTools: MakeWalk user interface ]]
Description of the GUI integrated in Blender.
* [[ Documentation:MHBlenderTools: MakeWalk armatures|MHBlenderTools: MakeWalk armatures ]]
Explain the meaning and use of source and target armature.
* [[ Documentation:MHBlenderTools: MakeWalk utilities|MHBlenderTools: MakeWalk utilities ]]
Utilities: save and restore the defaults, manage actions, t-pose, etc.
* [[ Documentation:MHBlenderTools: MakeWalk troubleshooting.|MHBlenderTools: MakeWalk troubleshooting. ]]
This document will describe common errors and corrective actions.
* [[ Documentation:MHBlenderTools: MHX importer basic usage.|MHBlenderTools: MHX importer basic usage. ]]
MHX (MakeHuman eXchange format) is a custom format used to transfer a rigged character from MakeHuman to Blender.
* [[ Documentation:MHBlenderTools: MHX default rigging|MHBlenderTools: MHX default rigging ]]
If pose/animate > skeleton is set to 'None' when the character is exported from MakeHuman in .mhx format, the character is equipped with the default MHX armature. This is a rather complex rig with quite a few features.
* [[ Documentation:MHBlenderTools: MHX other rigging systems|MHBlenderTools: MHX other rigging systems ]]
The character can be rigged with alternatives and ligher armature or the rigify one (The rigging system for Blender developed by Nathan Vegdahl).
* [[ Documentation:MHBlenderTools: MHX Layers and masks|MHBlenderTools: MHX Layers and masks ]]
The mhx importer creates objects on the first four layers.
* [[ Documentation:MakeTarget standalone|MakeTarget standalone ]]
Converting files produced with the most common modelling software, without Blender.
* [[ Documentation:GUI languages and translations.|GUI languages and translations. ]]
MakeHuman support a variety of languages. It's very easy to add translations.
==== Reporting a Bug ====
* [[ Documentation:Using the Makehuman bug tracker|Using the Makehuman bug tracker ]]
Introduction to the new Makehuman bug tracker
* [[ Documentation:Using the Makehuman log files for error reporting|Using the Makehuman log files for error reporting ]]
How to report bugs using the log files.
==== Developers' note ====
* [[ Documentation:Getting started|Getting started ]]
The best way to start your experiments with MakeHuman code is to clone our official repository and start to modify it.
* [[ Documentation:Development infrastructure|Development infrastructure ]]
A description of the MakeHuman development infrastructure.
* [[ Documentation:OpenGL Notes|OpenGL Notes ]]
Most of the 3D mesh handling functionality is delivered using OpenGL embedded within the C application code.
* [[ Documentation:Development organization|Development organization ]]
The organization of distributed development.
* [[ Documentation:Libraries and build procedures|Libraries and build procedures ]]
Describes the details of creating installable packages on major platforms
* [[ Documentation:Directory structure and core modules|Directory structure and core modules ]]
Summary of the MH API reference.
* [[ Documentation:File formats and extensions|File formats and extensions ]]
Describes the formats used internally for data and object storage. [CRUDE NOTES]
* [[ Documentation:Makehuman Plugin System|Makehuman Plugin System ]]
How to make a new plugin and use it in MakeHuman
==== Packager's notes ====
* [[ Documentation:Packaging RPM's for Suse/Fedora using Open Build Service (OBS)|Packaging RPM's for Suse/Fedora using Open Build Service (OBS) ]]
Packaging procedure and setup.
|}
=== Tutorials ===
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Docution:Tutorial MH1.0 alpha8:Tutorial MH1.0 alpha8 ]]
* [[ [Alpha8] Making diapers for a baby. ]]
A tutorial illustrating the MakeClothes workflow.
* [[ Documentation:MakeClothes: Making a simple dress|MakeClothes: Making a simple dress ]]
The basic MakeClothes workflow.
* [[ DOcution:MakeClothes: Controlling the result with vertex groups|MakeClothes: Controlling the result with vertex groups ]]
The output of the clothes-making process depends on how vertex groups are assigned.
* [[ Docution:Creating a Custom Target with MakeTarget Standalone|Creating a Custom Target with MakeTarget Standalone ]]
A practical example of custom target
* [[ Docution:MakeWalk: The making of Running feet|MakeWalk: The making of Running feet ]]
MakeWalk tutorial, focusing on the Edit Action panel.
* [[ Docution:MakeWalk: Running feet scene 1|MakeWalk: Running feet scene 1 ]]
Making an extended run on a plane.
* [[ DOcution:MakeWalk: Running feet scene 2|MakeWalk: Running feet scene 2 ]]
High heels and slopes.
* [[ DOcution:MakeWalk: Running feet scene 3|MakeWalk: Running feet scene 3 ]]
The race.
* [[ Docution:MakeWalk: Running feet scene 4|MakeWalk: Running feet scene 4 ]]
Rough terrain.
* [[ Docution:MakeWalk: Automatic animation |MakeWalk: Automatic animation ]]
Tutorial on using the editing tools in MakeWalk.
|}
__NOTOC__
<!--
Author Notes:
== Instructions ==
Please put all documentation nodes in namespace "Documentation", like <nowiki>[[Documentation:Introduction to the interface|Introduction to the interface]]</nowiki> (which would resolve as [[Documentation:Introduction to the interface|Introduction to the interface]])
-->
540efbdd2ed20afdd870517c34d2d494ba9f193d
34
33
2015-06-30T18:52:25Z
Aiena1
3
wikitext
text/x-wiki
=== Makehuman Manual ===
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
==== Introduction ====
* [[Documentation:MakeHuman™ and its Purpose|MakeHuman™ and its Purpose ]]
MakeHuman definition and vision.
* [[ Documentation:Short and Long Pipeline|Short and Long Pipeline ]]
The goal of Makehuman is to see it used in 2 different professional pipelines.
* [[ Documentation:Professional mesh topology|Professional mesh topology ]]
An overview of the professional topology provided by MakeHuman
* [[ Documentation:Legal|Legal ]]
The various licenses that apply to MakeHuman and External tools
==== General overview ====
* [[ Documentation:Install MakeHuman™|Install MakeHuman™ ]]
How to install MH on Windows, Osx and Linux.
* [[ Documentation:The Interface and basic functions.|The Interface and basic functions. ]]
The MakeHuman GUI: Load, save, undo and redo, reset, view, symmetry, help.
* [[ Documentation:Zoom, pan and rotate using the orbital camera|Zoom, pan and rotate using the orbital camera ]]
Navigating the scene using the orbital camera.
[[ Documentation:Load Save and Export|Load Save and Export ]]
Describe file actions for MakeHuman
==== Define Human Characteristics ====
* [[ Documentation:Parametric Modelling|Parametric Modelling ]]
A quick introduction to the parametric modelling and sliders usage.
* [[ Documentation:Using MakeHuman Hairstyles and Clothes|Using MakeHuman Hairstyles and Clothes ]]
Hair in the MakeHuman Geometries group
* [[ Documentation:Skin and other materials|Skin and other materials ]]
How to change skin and materials for hair and clothes.
* [[ Documentation:Gender, Random, Measure and Custom|Gender, Random, Measure and Custom ]]
Special modifiers.
* [[ Documentation:Makehuman alternative topologies|Makehuman alternative topologies ]]
MakeHuman provides a smart alternative topologies library
==== Rendering Your Work ====
* [[ Documentation:Quick rendering and advanced rendering|Quick rendering and advanced rendering ]]
This section explains how render the character in MakeHuman
* [[ Documentation:Scene and Viewer|Scene and Viewer ]]
How to set lights and how to see and save the rendering
==== Settings ====
* [[ Documentation:General|General ]]
How to set the general preferences
* [[ Documentation:Background|Background ]]
How to use backgrounds for reference.
* [[ Documentation:Mouse|Mouse ]]
Explanation of mouse settings
* [[ Documentation:Shortcuts|Shortcuts ]]
Configuration of shortcuts in Makehuman
* [[ Documentation:Plugins|Plugins ]]
Management of Makehuman plugins
==== Tools and contributing methods ====
* [[ Documentation:MHBlenderTools: Download and installation|MHBlenderTools: Download and installation ]]
How to download and install the addons for Blender
* [[ Documentation:MHBlenderTools: MakeTarget|MHBlenderTools: MakeTarget ]]
Description of MakeTarget™ tool, to create custom morphings for MakeHuman.
* [[ Documentation:MHBlenderTools: MakeClothes|MHBlenderTools: MakeClothes ]]
Description of MakeClothes and its user interface.
* [[ Documentation:MHBlenderTools: MakeWalk basic workflow|MHBlenderTools: MakeWalk basic workflow ]]
MakeWalk is a Blender add-on for retargeting mocap data (.bvh files) to a given armature.
* [[ Documentation:MHBlenderTools: MakeWalk user interface|MHBlenderTools: MakeWalk user interface ]]
Description of the GUI integrated in Blender.
* [[ Documentation:MHBlenderTools: MakeWalk armatures|MHBlenderTools: MakeWalk armatures ]]
Explain the meaning and use of source and target armature.
* [[ Documentation:MHBlenderTools: MakeWalk utilities|MHBlenderTools: MakeWalk utilities ]]
Utilities: save and restore the defaults, manage actions, t-pose, etc.
* [[ Documentation:MHBlenderTools: MakeWalk troubleshooting.|MHBlenderTools: MakeWalk troubleshooting. ]]
This document will describe common errors and corrective actions.
* [[ Documentation:MHBlenderTools: MHX importer basic usage.|MHBlenderTools: MHX importer basic usage. ]]
MHX (MakeHuman eXchange format) is a custom format used to transfer a rigged character from MakeHuman to Blender.
* [[ Documentation:MHBlenderTools: MHX default rigging|MHBlenderTools: MHX default rigging ]]
If pose/animate > skeleton is set to 'None' when the character is exported from MakeHuman in .mhx format, the character is equipped with the default MHX armature. This is a rather complex rig with quite a few features.
* [[ Documentation:MHBlenderTools: MHX other rigging systems|MHBlenderTools: MHX other rigging systems ]]
The character can be rigged with alternatives and ligher armature or the rigify one (The rigging system for Blender developed by Nathan Vegdahl).
* [[ Documentation:MHBlenderTools: MHX Layers and masks|MHBlenderTools: MHX Layers and masks ]]
The mhx importer creates objects on the first four layers.
* [[ Documentation:MakeTarget standalone|MakeTarget standalone ]]
Converting files produced with the most common modelling software, without Blender.
* [[ Documentation:GUI languages and translations.|GUI languages and translations. ]]
MakeHuman support a variety of languages. It's very easy to add translations.
==== Reporting a Bug ====
* [[ Documentation:Using the Makehuman bug tracker|Using the Makehuman bug tracker ]]
Introduction to the new Makehuman bug tracker
* [[ Documentation:Using the Makehuman log files for error reporting|Using the Makehuman log files for error reporting ]]
How to report bugs using the log files.
==== Developers' note ====
* [[ Documentation:Getting started|Getting started ]]
The best way to start your experiments with MakeHuman code is to clone our official repository and start to modify it.
* [[ Documentation:Development infrastructure|Development infrastructure ]]
A description of the MakeHuman development infrastructure.
* [[ Documentation:OpenGL Notes|OpenGL Notes ]]
Most of the 3D mesh handling functionality is delivered using OpenGL embedded within the C application code.
* [[ Documentation:Development organization|Development organization ]]
The organization of distributed development.
* [[ Documentation:Libraries and build procedures|Libraries and build procedures ]]
Describes the details of creating installable packages on major platforms
* [[ Documentation:Directory structure and core modules|Directory structure and core modules ]]
Summary of the MH API reference.
* [[ Documentation:File formats and extensions|File formats and extensions ]]
Describes the formats used internally for data and object storage. [CRUDE NOTES]
* [[ Documentation:Makehuman Plugin System|Makehuman Plugin System ]]
How to make a new plugin and use it in MakeHuman
==== Packager's notes ====
* [[ Documentation:Packaging RPM's for Suse/Fedora using Open Build Service (OBS)|Packaging RPM's for Suse/Fedora using Open Build Service (OBS) ]]
Packaging procedure and setup.
|}
=== Tutorials ===
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Docution:Tutorial MH1.0 alpha8:Tutorial MH1.0 alpha8 ]]
* [[ [Alpha8] Making diapers for a baby. ]]
A tutorial illustrating the MakeClothes workflow.
* [[ Documentation:MakeClothes: Making a simple dress|MakeClothes: Making a simple dress ]]
The basic MakeClothes workflow.
* [[ DOcution:MakeClothes: Controlling the result with vertex groups|MakeClothes: Controlling the result with vertex groups ]]
The output of the clothes-making process depends on how vertex groups are assigned.
* [[ Docution:Creating a Custom Target with MakeTarget Standalone|Creating a Custom Target with MakeTarget Standalone ]]
A practical example of custom target
* [[ Docution:MakeWalk: The making of Running feet|MakeWalk: The making of Running feet ]]
MakeWalk tutorial, focusing on the Edit Action panel.
* [[ Docution:MakeWalk: Running feet scene 1|MakeWalk: Running feet scene 1 ]]
Making an extended run on a plane.
* [[ DOcution:MakeWalk: Running feet scene 2|MakeWalk: Running feet scene 2 ]]
High heels and slopes.
* [[ DOcution:MakeWalk: Running feet scene 3|MakeWalk: Running feet scene 3 ]]
The race.
* [[ Docution:MakeWalk: Running feet scene 4|MakeWalk: Running feet scene 4 ]]
Rough terrain.
* [[ Docution:MakeWalk: Automatic animation |MakeWalk: Automatic animation ]]
Tutorial on using the editing tools in MakeWalk.
|}
__NOTOC__
<!--
Author Notes:
== Instructions ==
Please put all documentation nodes in namespace "Documentation", like <nowiki>[[Documentation:Introduction to the interface|Introduction to the interface]]</nowiki> (which would resolve as [[Documentation:Introduction to the interface|Introduction to the interface]])
-->
e19f92c88b50387e051d0f2f1f17a6202982e768
33
32
2015-06-30T18:13:43Z
Aiena1
3
Update Index to conform to namespace standards, hide instructions for authors
wikitext
text/x-wiki
=== Makehuman Manual ===
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
==== Introduction ====
* [[Documentation:MakeHuman™ and its Purpose|MakeHuman™ and its Purpose ]]
MakeHuman definition and vision.
* [[ Documentation:Short and Long Pipeline|Short and Long Pipeline ]]
The goal of Makehuman is to see it used in 2 different professional pipelines.
* [[ Documentation:Professional mesh topology|Professional mesh topology ]]
An overview of the professional topology provided by MakeHuman
* [[ Documentation:Legal|Legal ]]
The various licenses that apply to MakeHuman and External tools
==== General overview ====
* [[ Documentation:Install MakeHuman™|Install MakeHuman™ ]]
How to install MH on Windows, Osx and Linux.
* [[ Documentation:The Interface and basic functions.|The Interface and basic functions. ]]
The MakeHuman GUI: Load, save, undo and redo, reset, view, symmetry, help.
* [[ Documentation:Zoom, pan and rotate using the orbital camera|Zoom, pan and rotate using the orbital camera ]]
Navigating the scene using the orbital camera.
[[ Documentation:Load Save and Export|Load Save and Export ]]
Describe file actions for MakeHuman
==== Define Human Characteristics ====
* [[ Documentation:Parametric Modelling|Parametric Modelling ]]
A quick introduction to the parametric modelling and sliders usage.
* [[ Documentation:Using MakeHuman Hairstyles and Clothes|Using MakeHuman Hairstyles and Clothes ]]
Hair in the MakeHuman Geometries group
* [[ Documentation:Skin and other materials|Skin and other materials ]]
How to change skin and materials for hair and clothes.
* [[ Documentation:Gender, Random, Measure and Custom|Gender, Random, Measure and Custom ]]
Special modifiers.
* [[ Documentation:Makehuman alternative topologies|Makehuman alternative topologies ]]
MakeHuman provides a smart alternative topologies library
==== Rendering Your Work ====
* [[ Documentation:Quick rendering and advanced rendering|Quick rendering and advanced rendering ]]
This section explains how render the character in MakeHuman
* [[ Documentation:Scene and Viewer|Scene and Viewer ]]
How to set lights and how to see and save the rendering
==== Settings ====
* [[ Documentation:General|General ]]
How to set the general preferences
* [[ Documentation:Background|Background ]]
How to use backgrounds for reference.
* [[ Documentation:Mouse|Mouse ]]
Explanation of mouse settings
* [[ Documentation:Shortcuts|Shortcuts ]]
Configuration of shortcuts in Makehuman
* [[ Documentation:Plugins|Plugins ]]
Management of Makehuman plugins
==== Tools and contributing methods ====
* [[ Documentation:MHBlenderTools: Download and installation|MHBlenderTools: Download and installation ]]
How to download and install the addons for Blender
* [[ Documentation:MHBlenderTools: MakeTarget|MHBlenderTools: MakeTarget ]]
Description of MakeTarget™ tool, to create custom morphings for MakeHuman.
* [[ Documentation:MHBlenderTools: MakeClothes|MHBlenderTools: MakeClothes ]]
Description of MakeClothes and its user interface.
* [[ Documentation:MHBlenderTools: MakeWalk basic workflow|MHBlenderTools: MakeWalk basic workflow ]]
MakeWalk is a Blender add-on for retargeting mocap data (.bvh files) to a given armature.
* [[ Documentation:MHBlenderTools: MakeWalk user interface|MHBlenderTools: MakeWalk user interface ]]
Description of the GUI integrated in Blender.
* [[ Documentation:MHBlenderTools: MakeWalk armatures|MHBlenderTools: MakeWalk armatures ]]
Explain the meaning and use of source and target armature.
* [[ Documentation:MHBlenderTools: MakeWalk utilities|MHBlenderTools: MakeWalk utilities ]]
Utilities: save and restore the defaults, manage actions, t-pose, etc.
* [[ Documentation:MHBlenderTools: MakeWalk troubleshooting.|MHBlenderTools: MakeWalk troubleshooting. ]]
This document will describe common errors and corrective actions.
* [[ Documentation:MHBlenderTools: MHX importer basic usage.|MHBlenderTools: MHX importer basic usage. ]]
MHX (MakeHuman eXchange format) is a custom format used to transfer a rigged character from MakeHuman to Blender.
* [[ Documentation:MHBlenderTools: MHX default rigging|MHBlenderTools: MHX default rigging ]]
If pose/animate > skeleton is set to 'None' when the character is exported from MakeHuman in .mhx format, the character is equipped with the default MHX armature. This is a rather complex rig with quite a few features.
* [[ Documentation:MHBlenderTools: MHX other rigging systems|MHBlenderTools: MHX other rigging systems ]]
The character can be rigged with alternatives and ligher armature or the rigify one (The rigging system for Blender developed by Nathan Vegdahl).
* [[ Documentation:MHBlenderTools: MHX Layers and masks|MHBlenderTools: MHX Layers and masks ]]
The mhx importer creates objects on the first four layers.
* [[ Documentation:MakeTarget standalone|MakeTarget standalone ]]
Converting files produced with the most common modelling software, without Blender.
* [[ Documentation:GUI languages and translations.|GUI languages and translations. ]]
MakeHuman support a variety of languages. It's very easy to add translations.
==== Reporting a Bug ====
* [[ Documentation:Using the Makehuman bug tracker|Using the Makehuman bug tracker ]]
Introduction to the new Makehuman bug tracker
* [[ Documentation:Using the Makehuman log files for error reporting|Using the Makehuman log files for error reporting ]]
How to report bugs using the log files.
==== Developers' note ====
* [[ Documentation:Getting started|Getting started ]]
The best way to start your experiments with MakeHuman code is to clone our official repository and start to modify it.
* [[ Documentation:Development infrastructure|Development infrastructure ]]
A description of the MakeHuman development infrastructure.
* [[ Documentation:OpenGL Notes|OpenGL Notes ]]
Most of the 3D mesh handling functionality is delivered using OpenGL embedded within the C application code.
* [[ Documentation:Development organization|Development organization ]]
The organization of distributed development.
* [[ Documentation:Libraries and build procedures|Libraries and build procedures ]]
Describes the details of creating installable packages on major platforms
* [[ Documentation:Directory structure and core modules|Directory structure and core modules ]]
Summary of the MH API reference.
* [[ Documentation:File formats and extensions|File formats and extensions ]]
Describes the formats used internally for data and object storage. [CRUDE NOTES]
* [[ Documentation:Makehuman Plugin System|Makehuman Plugin System ]]
How to make a new plugin and use it in MakeHuman
==== Packager's notes ====
* [[ Documentation:Packaging RPM's for Suse/Fedora using Open Build Service (OBS)|Packaging RPM's for Suse/Fedora using Open Build Service (OBS) ]]
Packaging procedure and setup.
|}
=== Tutorials ===
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Docution:Tutorial MH1.0 alpha8:Tutorial MH1.0 alpha8 ]]
* [[ [Alpha8] Making diapers for a baby. ]]
A tutorial illustrating the MakeClothes workflow.
* [[ Documentation:MakeClothes: Making a simple dress|MakeClothes: Making a simple dress ]]
The basic MakeClothes workflow.
* [[ DOcution:MakeClothes: Controlling the result with vertex groups|MakeClothes: Controlling the result with vertex groups ]]
The output of the clothes-making process depends on how vertex groups are assigned.
* [[ Docution:Creating a Custom Target with MakeTarget Standalone|Creating a Custom Target with MakeTarget Standalone ]]
A practical example of custom target
* [[ Docution:MakeWalk: The making of Running feet|MakeWalk: The making of Running feet ]]
MakeWalk tutorial, focusing on the Edit Action panel.
* [[ Docution:MakeWalk: Running feet scene 1|MakeWalk: Running feet scene 1 ]]
Making an extended run on a plane.
* [[ DOcution:MakeWalk: Running feet scene 2|MakeWalk: Running feet scene 2 ]]
High heels and slopes.
* [[ DOcution:MakeWalk: Running feet scene 3|MakeWalk: Running feet scene 3 ]]
The race.
* [[ Docution:MakeWalk: Running feet scene 4|MakeWalk: Running feet scene 4 ]]
Rough terrain.
* [[ Docution:MakeWalk: Automatic animation |MakeWalk: Automatic animation ]]
Tutorial on using the editing tools in MakeWalk.
|}
__NOTOC__
<!--
Author Notes:
== Instructions ==
Please put all documentation nodes in namespace "Documentation", like <nowiki>[[Documentation:Introduction to the interface|Introduction to the interface]]</nowiki> (which would resolve as [[Documentation:Introduction to the interface|Introduction to the interface]])
-->
06a788bb099a14ebe1aaf1eddedddbb0153ed189
32
31
2015-06-30T18:10:06Z
Aiena1
3
wikitext
text/x-wiki
=== Makehuman Manual ===
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
==== Introduction ====
* [[Documentation:MakeHuman™ and its Purpose|MakeHuman™ and its Purpose ]]
MakeHuman definition and vision.
* [[ Documentation:Short and Long Pipeline|Short and Long Pipeline ]]
The goal of Makehuman is to see it used in 2 different professional pipelines.
* [[ Documentation:Professional mesh topology|Professional mesh topology ]]
An overview of the professional topology provided by MakeHuman
* [[ Documentation:Legal|Legal ]]
The various licenses that apply to MakeHuman and External tools
==== General overview ====
* [[ Documentation:Install MakeHuman™|Install MakeHuman™ ]]
How to install MH on Windows, Osx and Linux.
* [[ Documentation:The Interface and basic functions.|The Interface and basic functions. ]]
The MakeHuman GUI: Load, save, undo and redo, reset, view, symmetry, help.
* [[ Documentation:Zoom, pan and rotate using the orbital camera|Zoom, pan and rotate using the orbital camera ]]
Navigating the scene using the orbital camera.
[[ Documentation:Load Save and Export|Load Save and Export ]]
Describe file actions for MakeHuman
==== Define Human Characteristics ====
* [[ Documentation:Parametric Modelling|Parametric Modelling ]]
A quick introduction to the parametric modelling and sliders usage.
* [[ Documentation:Using MakeHuman Hairstyles and Clothes|Using MakeHuman Hairstyles and Clothes ]]
Hair in the MakeHuman Geometries group
* [[ Documentation:Skin and other materials|Skin and other materials ]]
How to change skin and materials for hair and clothes.
* [[ Documentation:Gender, Random, Measure and Custom|Gender, Random, Measure and Custom ]]
Special modifiers.
* [[ Documentation:Makehuman alternative topologies|Makehuman alternative topologies ]]
MakeHuman provides a smart alternative topologies library
==== Rendering Your Work ====
* [[ Documentation:Quick rendering and advanced rendering|Quick rendering and advanced rendering ]]
This section explains how render the character in MakeHuman
* [[ Documentation:Scene and Viewer|Scene and Viewer ]]
How to set lights and how to see and save the rendering
==== Settings ====
* [[ Documentation:General|General ]]
How to set the general preferences
* [[ Documentation:Background|Background ]]
How to use backgrounds for reference.
* [[ Documentation:Mouse|Mouse ]]
Explanation of mouse settings
* [[ Documentation:Shortcuts|Shortcuts ]]
Configuration of shortcuts in Makehuman
* [[ Documentation:Plugins|Plugins ]]
Management of Makehuman plugins
==== Tools and contributing methods ====
* [[ Documentation:MHBlenderTools: Download and installation|MHBlenderTools: Download and installation ]]
How to download and install the addons for Blender
* [[ Documentation:MHBlenderTools: MakeTarget|MHBlenderTools: MakeTarget ]]
Description of MakeTarget™ tool, to create custom morphings for MakeHuman.
* [[ Documentation:MHBlenderTools: MakeClothes|MHBlenderTools: MakeClothes ]]
Description of MakeClothes and its user interface.
* [[ Documentation:MHBlenderTools: MakeWalk basic workflow|MHBlenderTools: MakeWalk basic workflow ]]
MakeWalk is a Blender add-on for retargeting mocap data (.bvh files) to a given armature.
* [[ Documentation:MHBlenderTools: MakeWalk user interface|MHBlenderTools: MakeWalk user interface ]]
Description of the GUI integrated in Blender.
* [[ Documentation:MHBlenderTools: MakeWalk armatures|MHBlenderTools: MakeWalk armatures ]]
Explain the meaning and use of source and target armature.
* [[ Documentation:MHBlenderTools: MakeWalk utilities|MHBlenderTools: MakeWalk utilities ]]
Utilities: save and restore the defaults, manage actions, t-pose, etc.
* [[ Documentation:MHBlenderTools: MakeWalk troubleshooting.|MHBlenderTools: MakeWalk troubleshooting. ]]
This document will describe common errors and corrective actions.
* [[ Documentation:MHBlenderTools: MHX importer basic usage.|MHBlenderTools: MHX importer basic usage. ]]
MHX (MakeHuman eXchange format) is a custom format used to transfer a rigged character from MakeHuman to Blender.
* [[ Documentation:MHBlenderTools: MHX default rigging|MHBlenderTools: MHX default rigging ]]
If pose/animate > skeleton is set to 'None' when the character is exported from MakeHuman in .mhx format, the character is equipped with the default MHX armature. This is a rather complex rig with quite a few features.
* [[ Documentation:MHBlenderTools: MHX other rigging systems|MHBlenderTools: MHX other rigging systems ]]
The character can be rigged with alternatives and ligher armature or the rigify one (The rigging system for Blender developed by Nathan Vegdahl).
* [[ Documentation:MHBlenderTools: MHX Layers and masks|MHBlenderTools: MHX Layers and masks ]]
The mhx importer creates objects on the first four layers.
* [[ Documentation:MakeTarget standalone|MakeTarget standalone ]]
Converting files produced with the most common modelling software, without Blender.
* [[ Documentation:GUI languages and translations.|GUI languages and translations. ]]
MakeHuman support a variety of languages. It's very easy to add translations.
==== Reporting a Bug ====
* [[ Documentation:Using the Makehuman bug tracker|Using the Makehuman bug tracker ]]
Introduction to the new Makehuman bug tracker
* [[ Documentation:Using the Makehuman log files for error reporting|Using the Makehuman log files for error reporting ]]
How to report bugs using the log files.
==== Developers' note ====
* [[ Documentation:Getting started|Getting started ]]
The best way to start your experiments with MakeHuman code is to clone our official repository and start to modify it.
* [[ Documentation:Development infrastructure|Development infrastructure ]]
A description of the MakeHuman development infrastructure.
* [[ Documentation:OpenGL Notes|OpenGL Notes ]]
Most of the 3D mesh handling functionality is delivered using OpenGL embedded within the C application code.
* [[ Documentation:Development organization|Development organization ]]
The organization of distributed development.
* [[ Documentation:Libraries and build procedures|Libraries and build procedures ]]
Describes the details of creating installable packages on major platforms
* [[ Documentation:Directory structure and core modules|Directory structure and core modules ]]
Summary of the MH API reference.
* [[ Documentation:File formats and extensions|File formats and extensions ]]
Describes the formats used internally for data and object storage. [CRUDE NOTES]
* [[ Documentation:Makehuman Plugin System|Makehuman Plugin System ]]
How to make a new plugin and use it in MakeHuman
==== Packager's notes ====
* [[ Documentation:Packaging RPM's for Suse/Fedora using Open Build Service (OBS)|Packaging RPM's for Suse/Fedora using Open Build Service (OBS) ]]
Packaging procedure and setup.
|}
=== Tutorials ===
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Docution:Tutorial MH1.0 alpha8:Tutorial MH1.0 alpha8 ]]
* [[ [Alpha8] Making diapers for a baby. ]]
A tutorial illustrating the MakeClothes workflow.
* [[ Documentation:MakeClothes: Making a simple dress|MakeClothes: Making a simple dress ]]
The basic MakeClothes workflow.
* [[ DOcution:MakeClothes: Controlling the result with vertex groups|MakeClothes: Controlling the result with vertex groups ]]
The output of the clothes-making process depends on how vertex groups are assigned.
* [[ Docution:Creating a Custom Target with MakeTarget Standalone|Creating a Custom Target with MakeTarget Standalone ]]
A practical example of custom target
* [[ Docution:MakeWalk: The making of Running feet|MakeWalk: The making of Running feet ]]
MakeWalk tutorial, focusing on the Edit Action panel.
* [[ Docution:MakeWalk: Running feet scene 1|MakeWalk: Running feet scene 1 ]]
Making an extended run on a plane.
* [[ DOcution:MakeWalk: Running feet scene 2|MakeWalk: Running feet scene 2 ]]
High heels and slopes.
* [[ DOcution:MakeWalk: Running feet scene 3|MakeWalk: Running feet scene 3 ]]
The race.
* [[ Docution:MakeWalk: Running feet scene 4|MakeWalk: Running feet scene 4 ]]
Rough terrain.
* [[ Docution:MakeWalk: Automatic animation |MakeWalk: Automatic animation ]]
Tutorial on using the editing tools in MakeWalk.
|}
__NOTOC__
== Instructions ==
Please put all documentation nodes in namespace "Documentation", like <nowiki>[[Documentation:Introduction to the interface|Introduction to the interface]]</nowiki> (which would resolve as [[Documentation:Introduction to the interface|Introduction to the interface]])
119d158797b931ae6f2a949d9688e766ec6752c3
31
30
2015-06-30T18:02:06Z
Aiena1
3
wikitext
text/x-wiki
=== Makehuman Manual ===
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
==== Introduction ====
* [[Documentation:MakeHuman™ and its Purpose|MakeHuman™ and its Purpose ]]
MakeHuman definition and vision.
* [[ Documentation:Short and Long Pipeline|Short and Long Pipeline ]]
The goal of Makehuman is to see it used in 2 different professional pipelines.
* [[ Documentation:Professional mesh topology|Professional mesh topology ]]
An overview of the professional topology provided by MakeHuman
* [[ Documentation:Legal|Legal ]]
The various licenses that apply to MakeHuman and External tools
==== General overview ====
* [[ Documentation:Install MakeHuman™|Install MakeHuman™ ]]
How to install MH on Windows, Osx and Linux.
* [[ Documentation:The Interface and basic functions.|The Interface and basic functions. ]]
The MakeHuman GUI: Load, save, undo and redo, reset, view, symmetry, help.
* [[ Documentation:Zoom, pan and rotate using the orbital camera|Zoom, pan and rotate using the orbital camera ]]
Navigating the scene using the orbital camera.
[[ Documentation:Load Save and Export|Load Save and Export ]]
Describe file actions for MakeHuman
==== Define Human Characteristics ====
* [[ Documentation:Parametric Modelling|Parametric Modelling ]]
A quick introduction to the parametric modelling and sliders usage.
* [[ Documentation:Using MakeHuman Hairstyles and Clothes|Using MakeHuman Hairstyles and Clothes ]]
Hair in the MakeHuman Geometries group
* [[ Documentation:Skin and other materials|Skin and other materials ]]
How to change skin and materials for hair and clothes.
* [[ Documentation:Gender, Random, Measure and Custom|Gender, Random, Measure and Custom ]]
Special modifiers.
* [[ Documentation:Makehuman alternative topologies|Makehuman alternative topologies ]]
MakeHuman provides a smart alternative topologies library
==== Rendering Your Work ====
* [[ Documentation:Quick rendering and advanced rendering|Quick rendering and advanced rendering ]]
This section explains how render the character in MakeHuman
* [[ Documentation:Scene and Viewer|Scene and Viewer ]]
How to set lights and how to see and save the rendering
==== Settings ====
* [[ Documentation:General|General ]]
How to set the general preferences
* [[ Documentation:Background|Background ]]
How to use backgrounds for reference.
* [[ Documentation:Mouse|Mouse ]]
Explanation of mouse settings
* [[ Documentation:Shortcuts|Shortcuts ]]
Configuration of shortcuts in Makehuman
* [[ Documentation:Plugins|Plugins ]]
Management of Makehuman plugins
==== Tools and contributing methods ====
* [[ Documentation:MHBlenderTools: Download and installation|MHBlenderTools: Download and installation ]]
How to download and install the addons for Blender
* [[ Documentation:MHBlenderTools: MakeTarget|MHBlenderTools: MakeTarget ]]
Description of MakeTarget™ tool, to create custom morphings for MakeHuman.
* [[ Documentation:MHBlenderTools: MakeClothes|MHBlenderTools: MakeClothes ]]
Description of MakeClothes and its user interface.
* [[ Documentation:MHBlenderTools: MakeWalk basic workflow|MHBlenderTools: MakeWalk basic workflow ]]
MakeWalk is a Blender add-on for retargeting mocap data (.bvh files) to a given armature.
* [[ Documentation:MHBlenderTools: MakeWalk user interface|MHBlenderTools: MakeWalk user interface ]]
Description of the GUI integrated in Blender.
* [[ Documentation:MHBlenderTools: MakeWalk armatures|MHBlenderTools: MakeWalk armatures ]]
Explain the meaning and use of source and target armature.
* [[ Documentation:MHBlenderTools: MakeWalk utilities|MHBlenderTools: MakeWalk utilities ]]
Utilities: save and restore the defaults, manage actions, t-pose, etc.
* [[ Documentation:MHBlenderTools: MakeWalk troubleshooting.|MHBlenderTools: MakeWalk troubleshooting. ]]
This document will describe common errors and corrective actions.
* [[ Documentation:MHBlenderTools: MHX importer basic usage.|MHBlenderTools: MHX importer basic usage. ]]
MHX (MakeHuman eXchange format) is a custom format used to transfer a rigged character from MakeHuman to Blender.
* [[ Documentation:MHBlenderTools: MHX default rigging|MHBlenderTools: MHX default rigging ]]
If pose/animate > skeleton is set to 'None' when the character is exported from MakeHuman in .mhx format, the character is equipped with the default MHX armature. This is a rather complex rig with quite a few features.
* [[ Documentation:MHBlenderTools: MHX other rigging systems|MHBlenderTools: MHX other rigging systems ]]
The character can be rigged with alternatives and ligher armature or the rigify one (The rigging system for Blender developed by Nathan Vegdahl).
* [[ Documentation:MHBlenderTools: MHX Layers and masks|MHBlenderTools: MHX Layers and masks ]]
The mhx importer creates objects on the first four layers.
* [[ Documentation:MakeTarget standalone|MakeTarget standalone ]]
Converting files produced with the most common modelling software, without Blender.
* [[ Documentation:GUI languages and translations.|GUI languages and translations. ]]
MakeHuman support a variety of languages. It's very easy to add translations.
==== Reporting a Bug ====
* [[ Using the Makehuman bug tracker ]]
Introduction to the new Makehuman bug tracker
* [[ Using the Makehuman log files for error reporting ]]
How to report bugs using the log files.
==== Developers' note ====
* [[ Getting started ]]
The best way to start your experiments with MakeHuman code is to clone our official repository and start to modify it.
* [[ Development infrastructure ]]
A description of the MakeHuman development infrastructure.
* [[ OpenGL Notes ]]
Most of the 3D mesh handling functionality is delivered using OpenGL embedded within the C application code.
* [[ Development organization ]]
The organization of distributed development.
* [[ Libraries and build procedures ]]
Describes the details of creating installable packages on major platforms
* [[ Directory structure and core modules ]]
Summary of the MH API reference.
* [[ File formats and extensions ]]
Describes the formats used internally for data and object storage. [CRUDE NOTES]
* [[ Makehuman Plugin System ]]
How to make a new plugin and use it in MakeHuman
==== Packager's notes ====
* [[ Packaging RPM's for Suse/Fedora using Open Build Service (OBS) ]]
Packaging procedure and setup.
|}
=== Tutorials ===
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Tutorial MH1.0 alpha8 ]]
* [[ [Alpha8] Making diapers for a baby. ]]
A tutorial illustrating the MakeClothes workflow.
* [[ MakeClothes: Making a simple dress ]]
The basic MakeClothes workflow.
* [[ MakeClothes: Controlling the result with vertex groups ]]
The output of the clothes-making process depends on how vertex groups are assigned.
* [[ Creating a Custom Target with MakeTarget Standalone ]]
A practical example of custom target
* [[ MakeWalk: The making of Running feet ]]
MakeWalk tutorial, focusing on the Edit Action panel.
* [[ MakeWalk: Running feet scene 1 ]]
Making an extended run on a plane.
* [[ MakeWalk: Running feet scene 2 ]]
High heels and slopes.
* [[ MakeWalk: Running feet scene 3 ]]
The race.
* [[ MakeWalk: Running feet scene 4 ]]
Rough terrain.
* [[ MakeWalk: Automatic animation ]]
Tutorial on using the editing tools in MakeWalk.
|}
__NOTOC__
== Instructions ==
Please put all documentation nodes in namespace "Documentation", like <nowiki>[[Documentation:Introduction to the interface|Introduction to the interface]]</nowiki> (which would resolve as [[Documentation:Introduction to the interface|Introduction to the interface]])
e9f327e2c4f155a6a8e0731fa808c208697105aa
30
29
2015-06-30T17:35:04Z
Aiena1
3
wikitext
text/x-wiki
=== Makehuman Manual ===
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
==== Introduction ====
* [[Documentation:MakeHuman™ and its Purpose|MakeHuman™ and its Purpose ]]
MakeHuman definition and vision.
* [[ Documentation:Short and Long Pipeline|Short and Long Pipeline ]]
The goal of Makehuman is to see it used in 2 different professional pipelines.
* [[ Documentation:Professional mesh topology|Professional mesh topology ]]
An overview of the professional topology provided by MakeHuman
* [[ Documentation:Legal|Legal ]]
The various licenses that apply to MakeHuman and External tools
==== General overview ====
* [[ Documentation:Install MakeHuman™|Install MakeHuman™ ]]
How to install MH on Windows, Osx and Linux.
* [[ Documentation:The Interface and basic functions.|The Interface and basic functions. ]]
The MakeHuman GUI: Load, save, undo and redo, reset, view, symmetry, help.
* [[ Documentation:Zoom, pan and rotate using the orbital camera|Zoom, pan and rotate using the orbital camera ]]
Navigating the scene using the orbital camera.
[[ Documentation:Load Save and Export|Load Save and Export ]]
Describe file actions for MakeHuman
==== Define Human Characteristics ====
* [[ Documentation:Parametric Modelling|Parametric Modelling ]]
A quick introduction to the parametric modelling and sliders usage.
* [[ Documentation:Using MakeHuman Hairstyles and Clothes|Using MakeHuman Hairstyles and Clothes ]]
Hair in the MakeHuman Geometries group
* [[ Documentation:Skin and other materials|Skin and other materials ]]
How to change skin and materials for hair and clothes.
* [[ Documentation:Gender, Random, Measure and Custom|Gender, Random, Measure and Custom ]]
Special modifiers.
* [[ Documentation:Makehuman alternative topologies|Makehuman alternative topologies ]]
MakeHuman provides a smart alternative topologies library
==== Rendering Your Work ====
* [[ Documtion:Quick rendering and advanced rendering|Quick rendering and advanced rendering ]]
This section explains how render the character in MakeHuman
* [[ Scene and Viewer ]]
How to set lights and how to see and save the rendering
==== Settings ====
* [[ General ]]
How to set the general preferences
* [[ Background ]]
How to use backgrounds for reference.
* [[ Mouse ]]
Explanation of mouse settings
* [[ Shortcuts ]]
Configuration of shortcuts in Makehuman
* [[ Plugins ]]
Management of Makehuman plugins
==== Tools and contributing methods ====
* [[ MHBlenderTools: Download and installation ]]
How to download and install the addons for Blender
* [[MHBlenderTools: MakeTarget ]]
Description of MakeTarget™ tool, to create custom morphings for MakeHuman.
* [[ MHBlenderTools: MakeClothes ]]
Description of MakeClothes and its user interface.
* [[ MHBlenderTools: MakeWalk basic workflow ]]
MakeWalk is a Blender add-on for retargeting mocap data (.bvh files) to a given armature.
* [[ MHBlenderTools: MakeWalk user interface ]]
Description of the GUI integrated in Blender.
* [[ MHBlenderTools: MakeWalk armatures ]]
Explain the meaning and use of source and target armature.
* [[ MHBlenderTools: MakeWalk utilities ]]
Utilities: save and restore the defaults, manage actions, t-pose, etc.
* [[ MHBlenderTools: MakeWalk troubleshooting. ]]
This document will describe common errors and corrective actions.
* [[ MHBlenderTools: MHX importer basic usage. ]]
MHX (MakeHuman eXchange format) is a custom format used to transfer a rigged character from MakeHuman to Blender.
* [[ MHBlenderTools: MHX default rigging ]]
If pose/animate > skeleton is set to 'None' when the character is exported from MakeHuman in .mhx format, the character is equipped with the default MHX armature. This is a rather complex rig with quite a few features.
* [[ MHBlenderTools: MHX other rigging systems ]]
The character can be rigged with alternatives and ligher armature or the rigify one (The rigging system for Blender developed by Nathan Vegdahl).
* [[ MHBlenderTools: MHX Layers and masks ]]
The mhx importer creates objects on the first four layers.
* [[ MakeTarget standalone ]]
Converting files produced with the most common modelling software, without Blender.
* [[ GUI languages and translations. ]]
MakeHuman support a variety of languages. It's very easy to add translations.
==== Reporting a Bug ====
* [[ Using the Makehuman bug tracker ]]
Introduction to the new Makehuman bug tracker
* [[ Using the Makehuman log files for error reporting ]]
How to report bugs using the log files.
==== Developers' note ====
* [[ Getting started ]]
The best way to start your experiments with MakeHuman code is to clone our official repository and start to modify it.
* [[ Development infrastructure ]]
A description of the MakeHuman development infrastructure.
* [[ OpenGL Notes ]]
Most of the 3D mesh handling functionality is delivered using OpenGL embedded within the C application code.
* [[ Development organization ]]
The organization of distributed development.
* [[ Libraries and build procedures ]]
Describes the details of creating installable packages on major platforms
* [[ Directory structure and core modules ]]
Summary of the MH API reference.
* [[ File formats and extensions ]]
Describes the formats used internally for data and object storage. [CRUDE NOTES]
* [[ Makehuman Plugin System ]]
How to make a new plugin and use it in MakeHuman
==== Packager's notes ====
* [[ Packaging RPM's for Suse/Fedora using Open Build Service (OBS) ]]
Packaging procedure and setup.
|}
=== Tutorials ===
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Tutorial MH1.0 alpha8 ]]
* [[ [Alpha8] Making diapers for a baby. ]]
A tutorial illustrating the MakeClothes workflow.
* [[ MakeClothes: Making a simple dress ]]
The basic MakeClothes workflow.
* [[ MakeClothes: Controlling the result with vertex groups ]]
The output of the clothes-making process depends on how vertex groups are assigned.
* [[ Creating a Custom Target with MakeTarget Standalone ]]
A practical example of custom target
* [[ MakeWalk: The making of Running feet ]]
MakeWalk tutorial, focusing on the Edit Action panel.
* [[ MakeWalk: Running feet scene 1 ]]
Making an extended run on a plane.
* [[ MakeWalk: Running feet scene 2 ]]
High heels and slopes.
* [[ MakeWalk: Running feet scene 3 ]]
The race.
* [[ MakeWalk: Running feet scene 4 ]]
Rough terrain.
* [[ MakeWalk: Automatic animation ]]
Tutorial on using the editing tools in MakeWalk.
|}
__NOTOC__
== Instructions ==
Please put all documentation nodes in namespace "Documentation", like <nowiki>[[Documentation:Introduction to the interface|Introduction to the interface]]</nowiki> (which would resolve as [[Documentation:Introduction to the interface|Introduction to the interface]])
62d931f9740ab761dfcfbfbb54fd09fafbbad722
29
28
2015-06-29T22:31:35Z
Aiena1
3
wikitext
text/x-wiki
=== Makehuman Manual ===
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
==== Introduction ====
* [[MakeHuman™ and its Purpose ]]
MakeHuman definition and vision.
* [[ Short and Long Pipeline ]]
The goal of Makehuman is to see it used in 2 different professional pipelines.
* [[ Professional mesh topology ]]
An overview of the professional topology provided by MakeHuman
* [[ Legal ]]
The various licenses that apply to MakeHuman and External tools
==== General overview ====
* [[ Install MakeHuman™ ]]
How to install MH on Windows, Osx and Linux.
* [[ The Interface and basic functions. ]]
The MakeHuman GUI: Load, save, undo and redo, reset, view, symmetry, help.
* [[ Zoom, pan and rotate using the orbital camera ]]
Navigating the scene using the orbital camera.
[[ Load Save and Export ]]
Describe file actions for MakeHuman
==== Define Human Characteristics ====
* [[ Parametric Modelling ]]
A quick introduction to the parametric modelling and sliders usage.
* [[ Using MakeHuman Hairstyles and Clothes ]]
Hair in the MakeHuman Geometries group
* [[ Skin and other materials]]
How to change skin and materials for hair and clothes.
* [[ Gender, Random, Measure and Custom ]]
Special modifiers.
* [[ Makehuman alternative topologies ]]
MakeHuman provides a smart alternative topologies library
==== Rendering Your Work ====
* [[ Quick rendering and advanced rendering ]]
This section explains how render the character in MakeHuman
* [[ Scene and Viewer ]]
How to set lights and how to see and save the rendering
==== Settings ====
* [[ General ]]
How to set the general preferences
* [[ Background ]]
How to use backgrounds for reference.
* [[ Mouse ]]
Explanation of mouse settings
* [[ Shortcuts ]]
Configuration of shortcuts in Makehuman
* [[ Plugins ]]
Management of Makehuman plugins
==== Tools and contributing methods ====
* [[ MHBlenderTools: Download and installation ]]
How to download and install the addons for Blender
* [[MHBlenderTools: MakeTarget ]]
Description of MakeTarget™ tool, to create custom morphings for MakeHuman.
* [[ MHBlenderTools: MakeClothes ]]
Description of MakeClothes and its user interface.
* [[ MHBlenderTools: MakeWalk basic workflow ]]
MakeWalk is a Blender add-on for retargeting mocap data (.bvh files) to a given armature.
* [[ MHBlenderTools: MakeWalk user interface ]]
Description of the GUI integrated in Blender.
* [[ MHBlenderTools: MakeWalk armatures ]]
Explain the meaning and use of source and target armature.
* [[ MHBlenderTools: MakeWalk utilities ]]
Utilities: save and restore the defaults, manage actions, t-pose, etc.
* [[ MHBlenderTools: MakeWalk troubleshooting. ]]
This document will describe common errors and corrective actions.
* [[ MHBlenderTools: MHX importer basic usage. ]]
MHX (MakeHuman eXchange format) is a custom format used to transfer a rigged character from MakeHuman to Blender.
* [[ MHBlenderTools: MHX default rigging ]]
If pose/animate > skeleton is set to 'None' when the character is exported from MakeHuman in .mhx format, the character is equipped with the default MHX armature. This is a rather complex rig with quite a few features.
* [[ MHBlenderTools: MHX other rigging systems ]]
The character can be rigged with alternatives and ligher armature or the rigify one (The rigging system for Blender developed by Nathan Vegdahl).
* [[ MHBlenderTools: MHX Layers and masks ]]
The mhx importer creates objects on the first four layers.
* [[ MakeTarget standalone ]]
Converting files produced with the most common modelling software, without Blender.
* [[ GUI languages and translations. ]]
MakeHuman support a variety of languages. It's very easy to add translations.
==== Reporting a Bug ====
* [[ Using the Makehuman bug tracker ]]
Introduction to the new Makehuman bug tracker
* [[ Using the Makehuman log files for error reporting ]]
How to report bugs using the log files.
==== Developers' note ====
* [[ Getting started ]]
The best way to start your experiments with MakeHuman code is to clone our official repository and start to modify it.
* [[ Development infrastructure ]]
A description of the MakeHuman development infrastructure.
* [[ OpenGL Notes ]]
Most of the 3D mesh handling functionality is delivered using OpenGL embedded within the C application code.
* [[ Development organization ]]
The organization of distributed development.
* [[ Libraries and build procedures ]]
Describes the details of creating installable packages on major platforms
* [[ Directory structure and core modules ]]
Summary of the MH API reference.
* [[ File formats and extensions ]]
Describes the formats used internally for data and object storage. [CRUDE NOTES]
* [[ Makehuman Plugin System ]]
How to make a new plugin and use it in MakeHuman
==== Packager's notes ====
* [[ Packaging RPM's for Suse/Fedora using Open Build Service (OBS) ]]
Packaging procedure and setup.
|}
=== Tutorials ===
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
* [[ Tutorial MH1.0 alpha8 ]]
* [[ [Alpha8] Making diapers for a baby. ]]
A tutorial illustrating the MakeClothes workflow.
* [[ MakeClothes: Making a simple dress ]]
The basic MakeClothes workflow.
* [[ MakeClothes: Controlling the result with vertex groups ]]
The output of the clothes-making process depends on how vertex groups are assigned.
* [[ Creating a Custom Target with MakeTarget Standalone ]]
A practical example of custom target
* [[ MakeWalk: The making of Running feet ]]
MakeWalk tutorial, focusing on the Edit Action panel.
* [[ MakeWalk: Running feet scene 1 ]]
Making an extended run on a plane.
* [[ MakeWalk: Running feet scene 2 ]]
High heels and slopes.
* [[ MakeWalk: Running feet scene 3 ]]
The race.
* [[ MakeWalk: Running feet scene 4 ]]
Rough terrain.
* [[ MakeWalk: Automatic animation ]]
Tutorial on using the editing tools in MakeWalk.
|}
__NOTOC__
== Instructions ==
Please put all documentation nodes in namespace "Documentation", like <nowiki>[[Documentation:Introduction to the interface|Introduction to the interface]]</nowiki> (which would resolve as [[Documentation:Introduction to the interface|Introduction to the interface]])
05de4ce3ed955dcefef4b7c540571e46f45f4b21
28
27
2015-06-29T22:27:04Z
Aiena1
3
/* Tools and contributing methods */
wikitext
text/x-wiki
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
=== Makehuman Manual ===
==== Introduction ====
* [[MakeHuman™ and its Purpose ]]
MakeHuman definition and vision.
* [[ Short and Long Pipeline ]]
The goal of Makehuman is to see it used in 2 different professional pipelines.
* [[ Professional mesh topology ]]
An overview of the professional topology provided by MakeHuman
* [[ Legal ]]
The various licenses that apply to MakeHuman and External tools
==== General overview ====
* [[ Install MakeHuman™ ]]
How to install MH on Windows, Osx and Linux.
* [[ The Interface and basic functions. ]]
The MakeHuman GUI: Load, save, undo and redo, reset, view, symmetry, help.
* [[ Zoom, pan and rotate using the orbital camera ]]
Navigating the scene using the orbital camera.
[[ Load Save and Export ]]
Describe file actions for MakeHuman
==== Define Human Characteristics ====
* [[ Parametric Modelling ]]
A quick introduction to the parametric modelling and sliders usage.
* [[ Using MakeHuman Hairstyles and Clothes ]]
Hair in the MakeHuman Geometries group
* [[ Skin and other materials]]
How to change skin and materials for hair and clothes.
* [[ Gender, Random, Measure and Custom ]]
Special modifiers.
* [[ Makehuman alternative topologies ]]
MakeHuman provides a smart alternative topologies library
==== Rendering Your Work ====
* [[ Quick rendering and advanced rendering ]]
This section explains how render the character in MakeHuman
* [[ Scene and Viewer ]]
How to set lights and how to see and save the rendering
==== Settings ====
* [[ General ]]
How to set the general preferences
* [[ Background ]]
How to use backgrounds for reference.
* [[ Mouse ]]
Explanation of mouse settings
* [[ Shortcuts ]]
Configuration of shortcuts in Makehuman
* [[ Plugins ]]
Management of Makehuman plugins
==== Tools and contributing methods ====
* [[ MHBlenderTools: Download and installation ]]
How to download and install the addons for Blender
* [[MHBlenderTools: MakeTarget ]]
Description of MakeTarget™ tool, to create custom morphings for MakeHuman.
* [[ MHBlenderTools: MakeClothes ]]
Description of MakeClothes and its user interface.
* [[ MHBlenderTools: MakeWalk basic workflow ]]
MakeWalk is a Blender add-on for retargeting mocap data (.bvh files) to a given armature.
* [[ MHBlenderTools: MakeWalk user interface ]]
Description of the GUI integrated in Blender.
* [[ MHBlenderTools: MakeWalk armatures ]]
Explain the meaning and use of source and target armature.
* [[ MHBlenderTools: MakeWalk utilities ]]
Utilities: save and restore the defaults, manage actions, t-pose, etc.
* [[ MHBlenderTools: MakeWalk troubleshooting. ]]
This document will describe common errors and corrective actions.
* [[ MHBlenderTools: MHX importer basic usage. ]]
MHX (MakeHuman eXchange format) is a custom format used to transfer a rigged character from MakeHuman to Blender.
* [[ MHBlenderTools: MHX default rigging ]]
If pose/animate > skeleton is set to 'None' when the character is exported from MakeHuman in .mhx format, the character is equipped with the default MHX armature. This is a rather complex rig with quite a few features.
* [[ MHBlenderTools: MHX other rigging systems ]]
The character can be rigged with alternatives and ligher armature or the rigify one (The rigging system for Blender developed by Nathan Vegdahl).
* [[ MHBlenderTools: MHX Layers and masks ]]
The mhx importer creates objects on the first four layers.
* [[ MakeTarget standalone ]]
Converting files produced with the most common modelling software, without Blender.
* [[ GUI languages and translations. ]]
MakeHuman support a variety of languages. It's very easy to add translations.
==== Reporting a Bug ====
* [[ Using the Makehuman bug tracker ]]
Introduction to the new Makehuman bug tracker
* [[ Using the Makehuman log files for error reporting ]]
How to report bugs using the log files.
==== Developers' note ====
* [[ Getting started ]]
The best way to start your experiments with MakeHuman code is to clone our official repository and start to modify it.
* [[ Development infrastructure ]]
A description of the MakeHuman development infrastructure.
* [[ OpenGL Notes ]]
Most of the 3D mesh handling functionality is delivered using OpenGL embedded within the C application code.
* [[ Development organization ]]
The organization of distributed development.
* [[ Libraries and build procedures ]]
Describes the details of creating installable packages on major platforms
* [[ Directory structure and core modules ]]
Summary of the MH API reference.
* [[ File formats and extensions ]]
Describes the formats used internally for data and object storage. [CRUDE NOTES]
* [[ Makehuman Plugin System ]]
How to make a new plugin and use it in MakeHuman
==== Packager's notes ====
* [[ Packaging RPM's for Suse/Fedora using Open Build Service (OBS) ]]
Packaging procedure and setup.
==== Tutorials ====
* [[ Tutorial MH1.0 alpha8 ]]
* [[ [Alpha8] Making diapers for a baby. ]]
A tutorial illustrating the MakeClothes workflow.
* [[ MakeClothes: Making a simple dress ]]
The basic MakeClothes workflow.
* [[ MakeClothes: Controlling the result with vertex groups ]]
The output of the clothes-making process depends on how vertex groups are assigned.
* [[ Creating a Custom Target with MakeTarget Standalone ]]
A practical example of custom target
* [[ MakeWalk: The making of Running feet ]]
MakeWalk tutorial, focusing on the Edit Action panel.
* [[ MakeWalk: Running feet scene 1 ]]
Making an extended run on a plane.
* [[ MakeWalk: Running feet scene 2 ]]
High heels and slopes.
* [[ MakeWalk: Running feet scene 3 ]]
The race.
* [[ MakeWalk: Running feet scene 4 ]]
Rough terrain.
* [[ MakeWalk: Automatic animation ]]
Tutorial on using the editing tools in MakeWalk.
|}
__NOTOC__
== Instructions ==
Please put all documentation nodes in namespace "Documentation", like <nowiki>[[Documentation:Introduction to the interface|Introduction to the interface]]</nowiki> (which would resolve as [[Documentation:Introduction to the interface|Introduction to the interface]])
f5a61d75eb500187c7a60b5c63f89729f1d0d205
27
26
2015-06-29T22:25:12Z
Aiena1
3
wikitext
text/x-wiki
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
=== Makehuman Manual ===
==== Introduction ====
* [[MakeHuman™ and its Purpose ]]
MakeHuman definition and vision.
* [[ Short and Long Pipeline ]]
The goal of Makehuman is to see it used in 2 different professional pipelines.
* [[ Professional mesh topology ]]
An overview of the professional topology provided by MakeHuman
* [[ Legal ]]
The various licenses that apply to MakeHuman and External tools
==== General overview ====
* [[ Install MakeHuman™ ]]
How to install MH on Windows, Osx and Linux.
* [[ The Interface and basic functions. ]]
The MakeHuman GUI: Load, save, undo and redo, reset, view, symmetry, help.
* [[ Zoom, pan and rotate using the orbital camera ]]
Navigating the scene using the orbital camera.
[[ Load Save and Export ]]
Describe file actions for MakeHuman
==== Define Human Characteristics ====
* [[ Parametric Modelling ]]
A quick introduction to the parametric modelling and sliders usage.
* [[ Using MakeHuman Hairstyles and Clothes ]]
Hair in the MakeHuman Geometries group
* [[ Skin and other materials]]
How to change skin and materials for hair and clothes.
* [[ Gender, Random, Measure and Custom ]]
Special modifiers.
* [[ Makehuman alternative topologies ]]
MakeHuman provides a smart alternative topologies library
==== Rendering Your Work ====
* [[ Quick rendering and advanced rendering ]]
This section explains how render the character in MakeHuman
* [[ Scene and Viewer ]]
How to set lights and how to see and save the rendering
==== Settings ====
* [[ General ]]
How to set the general preferences
* [[ Background ]]
How to use backgrounds for reference.
* [[ Mouse ]]
Explanation of mouse settings
* [[ Shortcuts ]]
Configuration of shortcuts in Makehuman
* [[ Plugins ]]
Management of Makehuman plugins
==== Tools and contributing methods ====
* [[ MHBlenderTools: Download and installation How to download and install the addons for Blender ]]
* [[MHBlenderTools: MakeTarget Description of MakeTarget™ tool, to create custom morphings for MakeHuman. ]]
* [[ MHBlenderTools: MakeClothes Description of MakeClothes and its user interface. ]]
* [[ MHBlenderTools: MakeWalk basic workflow MakeWalk is a Blender add-on for retargeting mocap data (.bvh files) to a given armature. ]]
* [[ MHBlenderTools: MakeWalk user interface Description of the GUI integrated in Blender. ]]
* [[ MHBlenderTools: MakeWalk armatures Explain the meaning and use of source and target armature. ]]
* [[ MHBlenderTools: MakeWalk utilities Utilities: save and restore the defaults, manage actions, t-pose, etc. ]]
* [[ MHBlenderTools: MakeWalk troubleshooting. This document will describe common errors and corrective actions. ]]
* [[ MHBlenderTools: MHX importer basic usage. MHX (MakeHuman eXchange format) is a custom format used to transfer a rigged character from MakeHuman to Blender. ]]
* [[ MHBlenderTools: MHX default rigging If pose/animate > skeleton is set to 'None' when the character is exported from MakeHuman in .mhx format, the character is equipped with the default MHX armature. This is a rather complex rig with quite a few features. ]]
* [[ MHBlenderTools: MHX other rigging systems ]]
The character can be rigged with alternatives and ligher armature or the rigify one (The rigging system for Blender developed by Nathan Vegdahl).
* [[ MHBlenderTools: MHX Layers and masks ]]
The mhx importer creates objects on the first four layers.
* [[ MakeTarget standalone ]]
Converting files produced with the most common modelling software, without Blender.
* [[ GUI languages and translations. ]]
MakeHuman support a variety of languages. It's very easy to add translations.
==== Reporting a Bug ====
* [[ Using the Makehuman bug tracker ]]
Introduction to the new Makehuman bug tracker
* [[ Using the Makehuman log files for error reporting ]]
How to report bugs using the log files.
==== Developers' note ====
* [[ Getting started ]]
The best way to start your experiments with MakeHuman code is to clone our official repository and start to modify it.
* [[ Development infrastructure ]]
A description of the MakeHuman development infrastructure.
* [[ OpenGL Notes ]]
Most of the 3D mesh handling functionality is delivered using OpenGL embedded within the C application code.
* [[ Development organization ]]
The organization of distributed development.
* [[ Libraries and build procedures ]]
Describes the details of creating installable packages on major platforms
* [[ Directory structure and core modules ]]
Summary of the MH API reference.
* [[ File formats and extensions ]]
Describes the formats used internally for data and object storage. [CRUDE NOTES]
* [[ Makehuman Plugin System ]]
How to make a new plugin and use it in MakeHuman
==== Packager's notes ====
* [[ Packaging RPM's for Suse/Fedora using Open Build Service (OBS) ]]
Packaging procedure and setup.
==== Tutorials ====
* [[ Tutorial MH1.0 alpha8 ]]
* [[ [Alpha8] Making diapers for a baby. ]]
A tutorial illustrating the MakeClothes workflow.
* [[ MakeClothes: Making a simple dress ]]
The basic MakeClothes workflow.
* [[ MakeClothes: Controlling the result with vertex groups ]]
The output of the clothes-making process depends on how vertex groups are assigned.
* [[ Creating a Custom Target with MakeTarget Standalone ]]
A practical example of custom target
* [[ MakeWalk: The making of Running feet ]]
MakeWalk tutorial, focusing on the Edit Action panel.
* [[ MakeWalk: Running feet scene 1 ]]
Making an extended run on a plane.
* [[ MakeWalk: Running feet scene 2 ]]
High heels and slopes.
* [[ MakeWalk: Running feet scene 3 ]]
The race.
* [[ MakeWalk: Running feet scene 4 ]]
Rough terrain.
* [[ MakeWalk: Automatic animation ]]
Tutorial on using the editing tools in MakeWalk.
|}
__NOTOC__
== Instructions ==
Please put all documentation nodes in namespace "Documentation", like <nowiki>[[Documentation:Introduction to the interface|Introduction to the interface]]</nowiki> (which would resolve as [[Documentation:Introduction to the interface|Introduction to the interface]])
a79af9744dc1c322adf135ac556f6fa241f52f8d
26
25
2015-06-29T22:18:22Z
Aiena1
3
/* Settings */
wikitext
text/x-wiki
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
=== Makehuman Manual ===
==== Introduction ====
* [[MakeHuman™ and its Purpose ]]
MakeHuman definition and vision.
* [[ Short and Long Pipeline ]]
The goal of Makehuman is to see it used in 2 different professional pipelines.
* [[ Professional mesh topology ]]
An overview of the professional topology provided by MakeHuman
* [[ Legal ]]
The various licenses that apply to MakeHuman and External tools
==== General overview ====
* [[ Install MakeHuman™ ]]
How to install MH on Windows, Osx and Linux.
* [[ The Interface and basic functions. ]]
The MakeHuman GUI: Load, save, undo and redo, reset, view, symmetry, help.
* [[ Zoom, pan and rotate using the orbital camera ]]
Navigating the scene using the orbital camera.
[[ Load Save and Export ]]
Describe file actions for MakeHuman
==== Define Human Characteristics ====
* [[ Parametric Modelling ]]
A quick introduction to the parametric modelling and sliders usage.
* [[ Using MakeHuman Hairstyles and Clothes ]]
Hair in the MakeHuman Geometries group
* [[ Skin and other materials]]
How to change skin and materials for hair and clothes.
* [[ Gender, Random, Measure and Custom ]]
Special modifiers.
* [[ Makehuman alternative topologies ]]
MakeHuman provides a smart alternative topologies library
==== Rendering Your Work ====
* [[ Quick rendering and advanced rendering ]]
This section explains how render the character in MakeHuman
* [[ Scene and Viewer ]]
How to set lights and how to see and save the rendering
==== Settings ====
* [[ General ]]
How to set the general preferences
* [[ Background ]]
How to use backgrounds for reference.
* [[ Mouse ]]
Explanation of mouse settings
* [[ Shortcuts ]]
Configuration of shortcuts in Makehuman
* [[ Plugins ]]
Management of Makehuman plugins
==== Tools and contributing methods ====
[[ MHBlenderTools: Download and installation How to download and install the addons for Blender ]]
[[MHBlenderTools: MakeTarget Description of MakeTarget™ tool, to create custom morphings for MakeHuman. ]]
[[ MHBlenderTools: MakeClothes Description of MakeClothes and its user interface. ]]
[[ MHBlenderTools: MakeWalk basic workflow MakeWalk is a Blender add-on for retargeting mocap data (.bvh files) to a given armature. ]]
[[ MHBlenderTools: MakeWalk user interface Description of the GUI integrated in Blender. ]]
[[ MHBlenderTools: MakeWalk armatures Explain the meaning and use of source and target armature. ]]
[[ MHBlenderTools: MakeWalk utilities Utilities: save and restore the defaults, manage actions, t-pose, etc. ]]
[[ MHBlenderTools: MakeWalk troubleshooting. This document will describe common errors and corrective actions. ]]
[[ MHBlenderTools: MHX importer basic usage. MHX (MakeHuman eXchange format) is a custom format used to transfer a rigged character from MakeHuman to Blender. ]]
[[ MHBlenderTools: MHX default rigging If pose/animate > skeleton is set to 'None' when the character is exported from MakeHuman in .mhx format, the character is equipped with the default MHX armature. This is a rather complex rig with quite a few features. ]]
[[ MHBlenderTools: MHX other rigging systems The character can be rigged with alternatives and ligher armature or the rigify one (The rigging system for Blender devoped by Nathan Vegdahl). ]]
[[ MHBlenderTools: MHX Layers and masks The mhx importer creates objects on the first four layers. ]]
[[ MakeTarget standalone Converting files produced with the most common modelling software, without Blender. ]]
[[ GUI languages and translations. MakeHuman support a variety of languages. It's very easy to add translations. ]]
==== Reporting a Bug ====
[[ Using the Makehuman bug tracker Introduction to the new Makehuman bug tracker ]]
[[ Using the Makehuman log files for error reporting How to report bugs using the log files. ]]
==== Developers' note ====
[[ Getting started The best way to start your experiments with MakeHuman code is to clone our official repository and start to modify it. ]]
[[ Development infrastructure A description of the MakeHuman development infrastructure. ]]
[[ OpenGL Notes Most of the 3D mesh handling functionality is delivered using OpenGL embedded within the C application code. ]]
[[ Development organization The organization of distributed development. ]]
[[ Libraries and build procedures Describes the details of creating installable packages on major platforms ]]
[[ Directory structure and core modules Summary of the MH API reference. ]]
[[ File formats and extensions Describes the formats used internally for data and object storage. [CRUDE NOTES] ]]
[[ Makehuman Plugin System How to make a new plugin and use it in MakeHuman ]]
==== Packager's notes ====
[[ Packaging RPM's for Suse/Fedora using Open Build Service (OBS) Packaging procedure and setup. ]]
==== Tutorials ====
[[ Tutorial MH1.0 alpha8 ]]
[[ [Alpha8] Making diapers for a baby. A tutorial illustrating the MakeClothes workflow. ]]
[[ MakeClothes: Making a simple dress The basic MakeClothes workflow. ]]
[[ MakeClothes: Controlling the result with vertex groups The output of the clothes-making process depends on how vertex groups are assigned. ]]
[[ Creating a Custom Target with MakeTarget Standalone A practical example of custom target ]]
[[ MakeWalk: The making of Running feet MakeWalk tutorial, focusing on the Edit Action panel. ]]
[[ MakeWalk: Running feet scene 1 Making an extended run on a plane. ]]
[[ MakeWalk: Running feet scene 2 High heels and slopes. ]]
[[ MakeWalk: Running feet scene 3 The race. ]]
[[ MakeWalk: Running feet scene 4 Rough terrain. ]]
[[ MakeWalk: Automatic animation Tutorial on using the editing tools in MakeWalk. ]]
[[ Advertisement ]]
|}
__NOTOC__
== Instructions ==
Please put all documentation nodes in namespace "Documentation", like <nowiki>[[Documentation:Introduction to the interface|Introduction to the interface]]</nowiki> (which would resolve as [[Documentation:Introduction to the interface|Introduction to the interface]])
5fdb8ff88498f2519ba2af6649361536ecaee5df
25
24
2015-06-29T22:17:07Z
Aiena1
3
/* Rendering Your Work */
wikitext
text/x-wiki
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
=== Makehuman Manual ===
==== Introduction ====
* [[MakeHuman™ and its Purpose ]]
MakeHuman definition and vision.
* [[ Short and Long Pipeline ]]
The goal of Makehuman is to see it used in 2 different professional pipelines.
* [[ Professional mesh topology ]]
An overview of the professional topology provided by MakeHuman
* [[ Legal ]]
The various licenses that apply to MakeHuman and External tools
==== General overview ====
* [[ Install MakeHuman™ ]]
How to install MH on Windows, Osx and Linux.
* [[ The Interface and basic functions. ]]
The MakeHuman GUI: Load, save, undo and redo, reset, view, symmetry, help.
* [[ Zoom, pan and rotate using the orbital camera ]]
Navigating the scene using the orbital camera.
[[ Load Save and Export ]]
Describe file actions for MakeHuman
==== Define Human Characteristics ====
* [[ Parametric Modelling ]]
A quick introduction to the parametric modelling and sliders usage.
* [[ Using MakeHuman Hairstyles and Clothes ]]
Hair in the MakeHuman Geometries group
* [[ Skin and other materials]]
How to change skin and materials for hair and clothes.
* [[ Gender, Random, Measure and Custom ]]
Special modifiers.
* [[ Makehuman alternative topologies ]]
MakeHuman provides a smart alternative topologies library
==== Rendering Your Work ====
* [[ Quick rendering and advanced rendering ]]
This section explains how render the character in MakeHuman
* [[ Scene and Viewer ]]
How to set lights and how to see and save the rendering
==== Settings ====
[[ General How to set the general preferences ]]
[[ Background How to use backgrounds for reference. ]]
[[ Mouse Explanation of mouse settings ]]
[[ Shortcuts Configuration of shortcuts in Makehuman ]]
[[ Plugins Management of Makehuman plugins ]]
==== Tools and contributing methods ====
[[ MHBlenderTools: Download and installation How to download and install the addons for Blender ]]
[[MHBlenderTools: MakeTarget Description of MakeTarget™ tool, to create custom morphings for MakeHuman. ]]
[[ MHBlenderTools: MakeClothes Description of MakeClothes and its user interface. ]]
[[ MHBlenderTools: MakeWalk basic workflow MakeWalk is a Blender add-on for retargeting mocap data (.bvh files) to a given armature. ]]
[[ MHBlenderTools: MakeWalk user interface Description of the GUI integrated in Blender. ]]
[[ MHBlenderTools: MakeWalk armatures Explain the meaning and use of source and target armature. ]]
[[ MHBlenderTools: MakeWalk utilities Utilities: save and restore the defaults, manage actions, t-pose, etc. ]]
[[ MHBlenderTools: MakeWalk troubleshooting. This document will describe common errors and corrective actions. ]]
[[ MHBlenderTools: MHX importer basic usage. MHX (MakeHuman eXchange format) is a custom format used to transfer a rigged character from MakeHuman to Blender. ]]
[[ MHBlenderTools: MHX default rigging If pose/animate > skeleton is set to 'None' when the character is exported from MakeHuman in .mhx format, the character is equipped with the default MHX armature. This is a rather complex rig with quite a few features. ]]
[[ MHBlenderTools: MHX other rigging systems The character can be rigged with alternatives and ligher armature or the rigify one (The rigging system for Blender devoped by Nathan Vegdahl). ]]
[[ MHBlenderTools: MHX Layers and masks The mhx importer creates objects on the first four layers. ]]
[[ MakeTarget standalone Converting files produced with the most common modelling software, without Blender. ]]
[[ GUI languages and translations. MakeHuman support a variety of languages. It's very easy to add translations. ]]
==== Reporting a Bug ====
[[ Using the Makehuman bug tracker Introduction to the new Makehuman bug tracker ]]
[[ Using the Makehuman log files for error reporting How to report bugs using the log files. ]]
==== Developers' note ====
[[ Getting started The best way to start your experiments with MakeHuman code is to clone our official repository and start to modify it. ]]
[[ Development infrastructure A description of the MakeHuman development infrastructure. ]]
[[ OpenGL Notes Most of the 3D mesh handling functionality is delivered using OpenGL embedded within the C application code. ]]
[[ Development organization The organization of distributed development. ]]
[[ Libraries and build procedures Describes the details of creating installable packages on major platforms ]]
[[ Directory structure and core modules Summary of the MH API reference. ]]
[[ File formats and extensions Describes the formats used internally for data and object storage. [CRUDE NOTES] ]]
[[ Makehuman Plugin System How to make a new plugin and use it in MakeHuman ]]
==== Packager's notes ====
[[ Packaging RPM's for Suse/Fedora using Open Build Service (OBS) Packaging procedure and setup. ]]
==== Tutorials ====
[[ Tutorial MH1.0 alpha8 ]]
[[ [Alpha8] Making diapers for a baby. A tutorial illustrating the MakeClothes workflow. ]]
[[ MakeClothes: Making a simple dress The basic MakeClothes workflow. ]]
[[ MakeClothes: Controlling the result with vertex groups The output of the clothes-making process depends on how vertex groups are assigned. ]]
[[ Creating a Custom Target with MakeTarget Standalone A practical example of custom target ]]
[[ MakeWalk: The making of Running feet MakeWalk tutorial, focusing on the Edit Action panel. ]]
[[ MakeWalk: Running feet scene 1 Making an extended run on a plane. ]]
[[ MakeWalk: Running feet scene 2 High heels and slopes. ]]
[[ MakeWalk: Running feet scene 3 The race. ]]
[[ MakeWalk: Running feet scene 4 Rough terrain. ]]
[[ MakeWalk: Automatic animation Tutorial on using the editing tools in MakeWalk. ]]
[[ Advertisement ]]
|}
__NOTOC__
== Instructions ==
Please put all documentation nodes in namespace "Documentation", like <nowiki>[[Documentation:Introduction to the interface|Introduction to the interface]]</nowiki> (which would resolve as [[Documentation:Introduction to the interface|Introduction to the interface]])
03e4602d73e04aafafae8fb9fe30f3acfe2c6877
24
23
2015-06-29T22:16:21Z
Aiena1
3
/* Define Human Characteristics */
wikitext
text/x-wiki
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
=== Makehuman Manual ===
==== Introduction ====
* [[MakeHuman™ and its Purpose ]]
MakeHuman definition and vision.
* [[ Short and Long Pipeline ]]
The goal of Makehuman is to see it used in 2 different professional pipelines.
* [[ Professional mesh topology ]]
An overview of the professional topology provided by MakeHuman
* [[ Legal ]]
The various licenses that apply to MakeHuman and External tools
==== General overview ====
* [[ Install MakeHuman™ ]]
How to install MH on Windows, Osx and Linux.
* [[ The Interface and basic functions. ]]
The MakeHuman GUI: Load, save, undo and redo, reset, view, symmetry, help.
* [[ Zoom, pan and rotate using the orbital camera ]]
Navigating the scene using the orbital camera.
[[ Load Save and Export ]]
Describe file actions for MakeHuman
==== Define Human Characteristics ====
* [[ Parametric Modelling ]]
A quick introduction to the parametric modelling and sliders usage.
* [[ Using MakeHuman Hairstyles and Clothes ]]
Hair in the MakeHuman Geometries group
* [[ Skin and other materials]]
How to change skin and materials for hair and clothes.
* [[ Gender, Random, Measure and Custom ]]
Special modifiers.
* [[ Makehuman alternative topologies ]]
MakeHuman provides a smart alternative topologies library
==== Rendering Your Work ====
[[ Quick rendering and advanced rendering This section explains how render the character in MakeHuman ]]
[[ Scene and Viewer How to set lights and how to see and save the rendering ]]
==== Settings ====
[[ General How to set the general preferences ]]
[[ Background How to use backgrounds for reference. ]]
[[ Mouse Explanation of mouse settings ]]
[[ Shortcuts Configuration of shortcuts in Makehuman ]]
[[ Plugins Management of Makehuman plugins ]]
==== Tools and contributing methods ====
[[ MHBlenderTools: Download and installation How to download and install the addons for Blender ]]
[[MHBlenderTools: MakeTarget Description of MakeTarget™ tool, to create custom morphings for MakeHuman. ]]
[[ MHBlenderTools: MakeClothes Description of MakeClothes and its user interface. ]]
[[ MHBlenderTools: MakeWalk basic workflow MakeWalk is a Blender add-on for retargeting mocap data (.bvh files) to a given armature. ]]
[[ MHBlenderTools: MakeWalk user interface Description of the GUI integrated in Blender. ]]
[[ MHBlenderTools: MakeWalk armatures Explain the meaning and use of source and target armature. ]]
[[ MHBlenderTools: MakeWalk utilities Utilities: save and restore the defaults, manage actions, t-pose, etc. ]]
[[ MHBlenderTools: MakeWalk troubleshooting. This document will describe common errors and corrective actions. ]]
[[ MHBlenderTools: MHX importer basic usage. MHX (MakeHuman eXchange format) is a custom format used to transfer a rigged character from MakeHuman to Blender. ]]
[[ MHBlenderTools: MHX default rigging If pose/animate > skeleton is set to 'None' when the character is exported from MakeHuman in .mhx format, the character is equipped with the default MHX armature. This is a rather complex rig with quite a few features. ]]
[[ MHBlenderTools: MHX other rigging systems The character can be rigged with alternatives and ligher armature or the rigify one (The rigging system for Blender devoped by Nathan Vegdahl). ]]
[[ MHBlenderTools: MHX Layers and masks The mhx importer creates objects on the first four layers. ]]
[[ MakeTarget standalone Converting files produced with the most common modelling software, without Blender. ]]
[[ GUI languages and translations. MakeHuman support a variety of languages. It's very easy to add translations. ]]
==== Reporting a Bug ====
[[ Using the Makehuman bug tracker Introduction to the new Makehuman bug tracker ]]
[[ Using the Makehuman log files for error reporting How to report bugs using the log files. ]]
==== Developers' note ====
[[ Getting started The best way to start your experiments with MakeHuman code is to clone our official repository and start to modify it. ]]
[[ Development infrastructure A description of the MakeHuman development infrastructure. ]]
[[ OpenGL Notes Most of the 3D mesh handling functionality is delivered using OpenGL embedded within the C application code. ]]
[[ Development organization The organization of distributed development. ]]
[[ Libraries and build procedures Describes the details of creating installable packages on major platforms ]]
[[ Directory structure and core modules Summary of the MH API reference. ]]
[[ File formats and extensions Describes the formats used internally for data and object storage. [CRUDE NOTES] ]]
[[ Makehuman Plugin System How to make a new plugin and use it in MakeHuman ]]
==== Packager's notes ====
[[ Packaging RPM's for Suse/Fedora using Open Build Service (OBS) Packaging procedure and setup. ]]
==== Tutorials ====
[[ Tutorial MH1.0 alpha8 ]]
[[ [Alpha8] Making diapers for a baby. A tutorial illustrating the MakeClothes workflow. ]]
[[ MakeClothes: Making a simple dress The basic MakeClothes workflow. ]]
[[ MakeClothes: Controlling the result with vertex groups The output of the clothes-making process depends on how vertex groups are assigned. ]]
[[ Creating a Custom Target with MakeTarget Standalone A practical example of custom target ]]
[[ MakeWalk: The making of Running feet MakeWalk tutorial, focusing on the Edit Action panel. ]]
[[ MakeWalk: Running feet scene 1 Making an extended run on a plane. ]]
[[ MakeWalk: Running feet scene 2 High heels and slopes. ]]
[[ MakeWalk: Running feet scene 3 The race. ]]
[[ MakeWalk: Running feet scene 4 Rough terrain. ]]
[[ MakeWalk: Automatic animation Tutorial on using the editing tools in MakeWalk. ]]
[[ Advertisement ]]
|}
__NOTOC__
== Instructions ==
Please put all documentation nodes in namespace "Documentation", like <nowiki>[[Documentation:Introduction to the interface|Introduction to the interface]]</nowiki> (which would resolve as [[Documentation:Introduction to the interface|Introduction to the interface]])
0a2a637347d6710175f2390fd077954f4e3e5d9f
23
22
2015-06-29T22:15:50Z
Aiena1
3
/* Define Human Characteristics */
wikitext
text/x-wiki
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
=== Makehuman Manual ===
==== Introduction ====
* [[MakeHuman™ and its Purpose ]]
MakeHuman definition and vision.
* [[ Short and Long Pipeline ]]
The goal of Makehuman is to see it used in 2 different professional pipelines.
* [[ Professional mesh topology ]]
An overview of the professional topology provided by MakeHuman
* [[ Legal ]]
The various licenses that apply to MakeHuman and External tools
==== General overview ====
* [[ Install MakeHuman™ ]]
How to install MH on Windows, Osx and Linux.
* [[ The Interface and basic functions. ]]
The MakeHuman GUI: Load, save, undo and redo, reset, view, symmetry, help.
* [[ Zoom, pan and rotate using the orbital camera ]]
Navigating the scene using the orbital camera.
[[ Load Save and Export ]]
Describe file actions for MakeHuman
==== Define Human Characteristics ====
[[ Parametric Modelling ]]
A quick introduction to the parametric modelling and sliders usage.
[[ Using MakeHuman Hairstyles and Clothes ]]
Hair in the MakeHuman Geometries group
[[ Skin and other materials]]
How to change skin and materials for hair and clothes.
[[ Gender, Random, Measure and Custom ]]
Special modifiers.
[[ Makehuman alternative topologies ]]
MakeHuman provides a smart alternative topologies library
==== Rendering Your Work ====
[[ Quick rendering and advanced rendering This section explains how render the character in MakeHuman ]]
[[ Scene and Viewer How to set lights and how to see and save the rendering ]]
==== Settings ====
[[ General How to set the general preferences ]]
[[ Background How to use backgrounds for reference. ]]
[[ Mouse Explanation of mouse settings ]]
[[ Shortcuts Configuration of shortcuts in Makehuman ]]
[[ Plugins Management of Makehuman plugins ]]
==== Tools and contributing methods ====
[[ MHBlenderTools: Download and installation How to download and install the addons for Blender ]]
[[MHBlenderTools: MakeTarget Description of MakeTarget™ tool, to create custom morphings for MakeHuman. ]]
[[ MHBlenderTools: MakeClothes Description of MakeClothes and its user interface. ]]
[[ MHBlenderTools: MakeWalk basic workflow MakeWalk is a Blender add-on for retargeting mocap data (.bvh files) to a given armature. ]]
[[ MHBlenderTools: MakeWalk user interface Description of the GUI integrated in Blender. ]]
[[ MHBlenderTools: MakeWalk armatures Explain the meaning and use of source and target armature. ]]
[[ MHBlenderTools: MakeWalk utilities Utilities: save and restore the defaults, manage actions, t-pose, etc. ]]
[[ MHBlenderTools: MakeWalk troubleshooting. This document will describe common errors and corrective actions. ]]
[[ MHBlenderTools: MHX importer basic usage. MHX (MakeHuman eXchange format) is a custom format used to transfer a rigged character from MakeHuman to Blender. ]]
[[ MHBlenderTools: MHX default rigging If pose/animate > skeleton is set to 'None' when the character is exported from MakeHuman in .mhx format, the character is equipped with the default MHX armature. This is a rather complex rig with quite a few features. ]]
[[ MHBlenderTools: MHX other rigging systems The character can be rigged with alternatives and ligher armature or the rigify one (The rigging system for Blender devoped by Nathan Vegdahl). ]]
[[ MHBlenderTools: MHX Layers and masks The mhx importer creates objects on the first four layers. ]]
[[ MakeTarget standalone Converting files produced with the most common modelling software, without Blender. ]]
[[ GUI languages and translations. MakeHuman support a variety of languages. It's very easy to add translations. ]]
==== Reporting a Bug ====
[[ Using the Makehuman bug tracker Introduction to the new Makehuman bug tracker ]]
[[ Using the Makehuman log files for error reporting How to report bugs using the log files. ]]
==== Developers' note ====
[[ Getting started The best way to start your experiments with MakeHuman code is to clone our official repository and start to modify it. ]]
[[ Development infrastructure A description of the MakeHuman development infrastructure. ]]
[[ OpenGL Notes Most of the 3D mesh handling functionality is delivered using OpenGL embedded within the C application code. ]]
[[ Development organization The organization of distributed development. ]]
[[ Libraries and build procedures Describes the details of creating installable packages on major platforms ]]
[[ Directory structure and core modules Summary of the MH API reference. ]]
[[ File formats and extensions Describes the formats used internally for data and object storage. [CRUDE NOTES] ]]
[[ Makehuman Plugin System How to make a new plugin and use it in MakeHuman ]]
==== Packager's notes ====
[[ Packaging RPM's for Suse/Fedora using Open Build Service (OBS) Packaging procedure and setup. ]]
==== Tutorials ====
[[ Tutorial MH1.0 alpha8 ]]
[[ [Alpha8] Making diapers for a baby. A tutorial illustrating the MakeClothes workflow. ]]
[[ MakeClothes: Making a simple dress The basic MakeClothes workflow. ]]
[[ MakeClothes: Controlling the result with vertex groups The output of the clothes-making process depends on how vertex groups are assigned. ]]
[[ Creating a Custom Target with MakeTarget Standalone A practical example of custom target ]]
[[ MakeWalk: The making of Running feet MakeWalk tutorial, focusing on the Edit Action panel. ]]
[[ MakeWalk: Running feet scene 1 Making an extended run on a plane. ]]
[[ MakeWalk: Running feet scene 2 High heels and slopes. ]]
[[ MakeWalk: Running feet scene 3 The race. ]]
[[ MakeWalk: Running feet scene 4 Rough terrain. ]]
[[ MakeWalk: Automatic animation Tutorial on using the editing tools in MakeWalk. ]]
[[ Advertisement ]]
|}
__NOTOC__
== Instructions ==
Please put all documentation nodes in namespace "Documentation", like <nowiki>[[Documentation:Introduction to the interface|Introduction to the interface]]</nowiki> (which would resolve as [[Documentation:Introduction to the interface|Introduction to the interface]])
0e45d08668b0834af328c5245ab8c1ade3e36990
22
21
2015-06-29T22:14:23Z
Aiena1
3
/* General overview */
wikitext
text/x-wiki
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
=== Makehuman Manual ===
==== Introduction ====
* [[MakeHuman™ and its Purpose ]]
MakeHuman definition and vision.
* [[ Short and Long Pipeline ]]
The goal of Makehuman is to see it used in 2 different professional pipelines.
* [[ Professional mesh topology ]]
An overview of the professional topology provided by MakeHuman
* [[ Legal ]]
The various licenses that apply to MakeHuman and External tools
==== General overview ====
* [[ Install MakeHuman™ ]]
How to install MH on Windows, Osx and Linux.
* [[ The Interface and basic functions. ]]
The MakeHuman GUI: Load, save, undo and redo, reset, view, symmetry, help.
* [[ Zoom, pan and rotate using the orbital camera ]]
Navigating the scene using the orbital camera.
[[ Load Save and Export ]]
Describe file actions for MakeHuman
==== Define Human Characteristics ====
[[ Parametric Modelling A quick introduction to the parametric modelling and sliders usage. ]]
[[ Using MakeHuman Hairstyles and Clothes Hair in the MakeHuman Geometries group ]]
[[ Skin and other materials How to change skin and materials for hair and clothes. ]]
[[ Gender, Random, Measure and Custom Special modifiers. ]]
[[ Makehuman alternative topologies MakeHuman provides a smart alternative topologies library ]]
==== Rendering Your Work ====
[[ Quick rendering and advanced rendering This section explains how render the character in MakeHuman ]]
[[ Scene and Viewer How to set lights and how to see and save the rendering ]]
==== Settings ====
[[ General How to set the general preferences ]]
[[ Background How to use backgrounds for reference. ]]
[[ Mouse Explanation of mouse settings ]]
[[ Shortcuts Configuration of shortcuts in Makehuman ]]
[[ Plugins Management of Makehuman plugins ]]
==== Tools and contributing methods ====
[[ MHBlenderTools: Download and installation How to download and install the addons for Blender ]]
[[MHBlenderTools: MakeTarget Description of MakeTarget™ tool, to create custom morphings for MakeHuman. ]]
[[ MHBlenderTools: MakeClothes Description of MakeClothes and its user interface. ]]
[[ MHBlenderTools: MakeWalk basic workflow MakeWalk is a Blender add-on for retargeting mocap data (.bvh files) to a given armature. ]]
[[ MHBlenderTools: MakeWalk user interface Description of the GUI integrated in Blender. ]]
[[ MHBlenderTools: MakeWalk armatures Explain the meaning and use of source and target armature. ]]
[[ MHBlenderTools: MakeWalk utilities Utilities: save and restore the defaults, manage actions, t-pose, etc. ]]
[[ MHBlenderTools: MakeWalk troubleshooting. This document will describe common errors and corrective actions. ]]
[[ MHBlenderTools: MHX importer basic usage. MHX (MakeHuman eXchange format) is a custom format used to transfer a rigged character from MakeHuman to Blender. ]]
[[ MHBlenderTools: MHX default rigging If pose/animate > skeleton is set to 'None' when the character is exported from MakeHuman in .mhx format, the character is equipped with the default MHX armature. This is a rather complex rig with quite a few features. ]]
[[ MHBlenderTools: MHX other rigging systems The character can be rigged with alternatives and ligher armature or the rigify one (The rigging system for Blender devoped by Nathan Vegdahl). ]]
[[ MHBlenderTools: MHX Layers and masks The mhx importer creates objects on the first four layers. ]]
[[ MakeTarget standalone Converting files produced with the most common modelling software, without Blender. ]]
[[ GUI languages and translations. MakeHuman support a variety of languages. It's very easy to add translations. ]]
==== Reporting a Bug ====
[[ Using the Makehuman bug tracker Introduction to the new Makehuman bug tracker ]]
[[ Using the Makehuman log files for error reporting How to report bugs using the log files. ]]
==== Developers' note ====
[[ Getting started The best way to start your experiments with MakeHuman code is to clone our official repository and start to modify it. ]]
[[ Development infrastructure A description of the MakeHuman development infrastructure. ]]
[[ OpenGL Notes Most of the 3D mesh handling functionality is delivered using OpenGL embedded within the C application code. ]]
[[ Development organization The organization of distributed development. ]]
[[ Libraries and build procedures Describes the details of creating installable packages on major platforms ]]
[[ Directory structure and core modules Summary of the MH API reference. ]]
[[ File formats and extensions Describes the formats used internally for data and object storage. [CRUDE NOTES] ]]
[[ Makehuman Plugin System How to make a new plugin and use it in MakeHuman ]]
==== Packager's notes ====
[[ Packaging RPM's for Suse/Fedora using Open Build Service (OBS) Packaging procedure and setup. ]]
==== Tutorials ====
[[ Tutorial MH1.0 alpha8 ]]
[[ [Alpha8] Making diapers for a baby. A tutorial illustrating the MakeClothes workflow. ]]
[[ MakeClothes: Making a simple dress The basic MakeClothes workflow. ]]
[[ MakeClothes: Controlling the result with vertex groups The output of the clothes-making process depends on how vertex groups are assigned. ]]
[[ Creating a Custom Target with MakeTarget Standalone A practical example of custom target ]]
[[ MakeWalk: The making of Running feet MakeWalk tutorial, focusing on the Edit Action panel. ]]
[[ MakeWalk: Running feet scene 1 Making an extended run on a plane. ]]
[[ MakeWalk: Running feet scene 2 High heels and slopes. ]]
[[ MakeWalk: Running feet scene 3 The race. ]]
[[ MakeWalk: Running feet scene 4 Rough terrain. ]]
[[ MakeWalk: Automatic animation Tutorial on using the editing tools in MakeWalk. ]]
[[ Advertisement ]]
|}
__NOTOC__
== Instructions ==
Please put all documentation nodes in namespace "Documentation", like <nowiki>[[Documentation:Introduction to the interface|Introduction to the interface]]</nowiki> (which would resolve as [[Documentation:Introduction to the interface|Introduction to the interface]])
1bc7ac8f249b27b154ea9e76291c3f38ba43d1b8
21
20
2015-06-29T22:12:55Z
Aiena1
3
/* Introduction */
wikitext
text/x-wiki
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
=== Makehuman Manual ===
==== Introduction ====
* [[MakeHuman™ and its Purpose ]]
MakeHuman definition and vision.
* [[ Short and Long Pipeline ]]
The goal of Makehuman is to see it used in 2 different professional pipelines.
* [[ Professional mesh topology ]]
An overview of the professional topology provided by MakeHuman
* [[ Legal ]]
The various licenses that apply to MakeHuman and External tools
==== General overview ====
[[ Install MakeHuman™ How to install MH on Windows, Osx and Linux. ]]
[[ The Interface and basic functions. The MakeHuman GUI: Load, save, undo and redo, reset, view, symmetry, help. ]]
[[ Zoom, pan and rotate using the orbital camera Navigating the scene using the orbital camera. ]]
[[ Load Save and Export Describe file actions for MakeHuman ]]
==== Define Human Characteristics ====
[[ Parametric Modelling A quick introduction to the parametric modelling and sliders usage. ]]
[[ Using MakeHuman Hairstyles and Clothes Hair in the MakeHuman Geometries group ]]
[[ Skin and other materials How to change skin and materials for hair and clothes. ]]
[[ Gender, Random, Measure and Custom Special modifiers. ]]
[[ Makehuman alternative topologies MakeHuman provides a smart alternative topologies library ]]
==== Rendering Your Work ====
[[ Quick rendering and advanced rendering This section explains how render the character in MakeHuman ]]
[[ Scene and Viewer How to set lights and how to see and save the rendering ]]
==== Settings ====
[[ General How to set the general preferences ]]
[[ Background How to use backgrounds for reference. ]]
[[ Mouse Explanation of mouse settings ]]
[[ Shortcuts Configuration of shortcuts in Makehuman ]]
[[ Plugins Management of Makehuman plugins ]]
==== Tools and contributing methods ====
[[ MHBlenderTools: Download and installation How to download and install the addons for Blender ]]
[[MHBlenderTools: MakeTarget Description of MakeTarget™ tool, to create custom morphings for MakeHuman. ]]
[[ MHBlenderTools: MakeClothes Description of MakeClothes and its user interface. ]]
[[ MHBlenderTools: MakeWalk basic workflow MakeWalk is a Blender add-on for retargeting mocap data (.bvh files) to a given armature. ]]
[[ MHBlenderTools: MakeWalk user interface Description of the GUI integrated in Blender. ]]
[[ MHBlenderTools: MakeWalk armatures Explain the meaning and use of source and target armature. ]]
[[ MHBlenderTools: MakeWalk utilities Utilities: save and restore the defaults, manage actions, t-pose, etc. ]]
[[ MHBlenderTools: MakeWalk troubleshooting. This document will describe common errors and corrective actions. ]]
[[ MHBlenderTools: MHX importer basic usage. MHX (MakeHuman eXchange format) is a custom format used to transfer a rigged character from MakeHuman to Blender. ]]
[[ MHBlenderTools: MHX default rigging If pose/animate > skeleton is set to 'None' when the character is exported from MakeHuman in .mhx format, the character is equipped with the default MHX armature. This is a rather complex rig with quite a few features. ]]
[[ MHBlenderTools: MHX other rigging systems The character can be rigged with alternatives and ligher armature or the rigify one (The rigging system for Blender devoped by Nathan Vegdahl). ]]
[[ MHBlenderTools: MHX Layers and masks The mhx importer creates objects on the first four layers. ]]
[[ MakeTarget standalone Converting files produced with the most common modelling software, without Blender. ]]
[[ GUI languages and translations. MakeHuman support a variety of languages. It's very easy to add translations. ]]
==== Reporting a Bug ====
[[ Using the Makehuman bug tracker Introduction to the new Makehuman bug tracker ]]
[[ Using the Makehuman log files for error reporting How to report bugs using the log files. ]]
==== Developers' note ====
[[ Getting started The best way to start your experiments with MakeHuman code is to clone our official repository and start to modify it. ]]
[[ Development infrastructure A description of the MakeHuman development infrastructure. ]]
[[ OpenGL Notes Most of the 3D mesh handling functionality is delivered using OpenGL embedded within the C application code. ]]
[[ Development organization The organization of distributed development. ]]
[[ Libraries and build procedures Describes the details of creating installable packages on major platforms ]]
[[ Directory structure and core modules Summary of the MH API reference. ]]
[[ File formats and extensions Describes the formats used internally for data and object storage. [CRUDE NOTES] ]]
[[ Makehuman Plugin System How to make a new plugin and use it in MakeHuman ]]
==== Packager's notes ====
[[ Packaging RPM's for Suse/Fedora using Open Build Service (OBS) Packaging procedure and setup. ]]
==== Tutorials ====
[[ Tutorial MH1.0 alpha8 ]]
[[ [Alpha8] Making diapers for a baby. A tutorial illustrating the MakeClothes workflow. ]]
[[ MakeClothes: Making a simple dress The basic MakeClothes workflow. ]]
[[ MakeClothes: Controlling the result with vertex groups The output of the clothes-making process depends on how vertex groups are assigned. ]]
[[ Creating a Custom Target with MakeTarget Standalone A practical example of custom target ]]
[[ MakeWalk: The making of Running feet MakeWalk tutorial, focusing on the Edit Action panel. ]]
[[ MakeWalk: Running feet scene 1 Making an extended run on a plane. ]]
[[ MakeWalk: Running feet scene 2 High heels and slopes. ]]
[[ MakeWalk: Running feet scene 3 The race. ]]
[[ MakeWalk: Running feet scene 4 Rough terrain. ]]
[[ MakeWalk: Automatic animation Tutorial on using the editing tools in MakeWalk. ]]
[[ Advertisement ]]
|}
__NOTOC__
== Instructions ==
Please put all documentation nodes in namespace "Documentation", like <nowiki>[[Documentation:Introduction to the interface|Introduction to the interface]]</nowiki> (which would resolve as [[Documentation:Introduction to the interface|Introduction to the interface]])
184ba297276a95481cdc8df393234338965e1fb8
20
19
2015-06-29T22:11:22Z
Aiena1
3
wikitext
text/x-wiki
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
=== Makehuman Manual ===
==== Introduction ====
* [[MakeHuman™ and its Purpose ]] MakeHuman definition and vision.
* [[ Short and Long Pipeline ]]
The goal of Makehuman is to see it used in 2 different professional pipelines.
* [[ Professional mesh topology An overview of the professional topology provided by MakeHuman ]]
* [[ Legal The various licenses that apply to MakeHuman and External tools ]]
==== General overview ====
[[ Install MakeHuman™ How to install MH on Windows, Osx and Linux. ]]
[[ The Interface and basic functions. The MakeHuman GUI: Load, save, undo and redo, reset, view, symmetry, help. ]]
[[ Zoom, pan and rotate using the orbital camera Navigating the scene using the orbital camera. ]]
[[ Load Save and Export Describe file actions for MakeHuman ]]
==== Define Human Characteristics ====
[[ Parametric Modelling A quick introduction to the parametric modelling and sliders usage. ]]
[[ Using MakeHuman Hairstyles and Clothes Hair in the MakeHuman Geometries group ]]
[[ Skin and other materials How to change skin and materials for hair and clothes. ]]
[[ Gender, Random, Measure and Custom Special modifiers. ]]
[[ Makehuman alternative topologies MakeHuman provides a smart alternative topologies library ]]
==== Rendering Your Work ====
[[ Quick rendering and advanced rendering This section explains how render the character in MakeHuman ]]
[[ Scene and Viewer How to set lights and how to see and save the rendering ]]
==== Settings ====
[[ General How to set the general preferences ]]
[[ Background How to use backgrounds for reference. ]]
[[ Mouse Explanation of mouse settings ]]
[[ Shortcuts Configuration of shortcuts in Makehuman ]]
[[ Plugins Management of Makehuman plugins ]]
==== Tools and contributing methods ====
[[ MHBlenderTools: Download and installation How to download and install the addons for Blender ]]
[[MHBlenderTools: MakeTarget Description of MakeTarget™ tool, to create custom morphings for MakeHuman. ]]
[[ MHBlenderTools: MakeClothes Description of MakeClothes and its user interface. ]]
[[ MHBlenderTools: MakeWalk basic workflow MakeWalk is a Blender add-on for retargeting mocap data (.bvh files) to a given armature. ]]
[[ MHBlenderTools: MakeWalk user interface Description of the GUI integrated in Blender. ]]
[[ MHBlenderTools: MakeWalk armatures Explain the meaning and use of source and target armature. ]]
[[ MHBlenderTools: MakeWalk utilities Utilities: save and restore the defaults, manage actions, t-pose, etc. ]]
[[ MHBlenderTools: MakeWalk troubleshooting. This document will describe common errors and corrective actions. ]]
[[ MHBlenderTools: MHX importer basic usage. MHX (MakeHuman eXchange format) is a custom format used to transfer a rigged character from MakeHuman to Blender. ]]
[[ MHBlenderTools: MHX default rigging If pose/animate > skeleton is set to 'None' when the character is exported from MakeHuman in .mhx format, the character is equipped with the default MHX armature. This is a rather complex rig with quite a few features. ]]
[[ MHBlenderTools: MHX other rigging systems The character can be rigged with alternatives and ligher armature or the rigify one (The rigging system for Blender devoped by Nathan Vegdahl). ]]
[[ MHBlenderTools: MHX Layers and masks The mhx importer creates objects on the first four layers. ]]
[[ MakeTarget standalone Converting files produced with the most common modelling software, without Blender. ]]
[[ GUI languages and translations. MakeHuman support a variety of languages. It's very easy to add translations. ]]
==== Reporting a Bug ====
[[ Using the Makehuman bug tracker Introduction to the new Makehuman bug tracker ]]
[[ Using the Makehuman log files for error reporting How to report bugs using the log files. ]]
==== Developers' note ====
[[ Getting started The best way to start your experiments with MakeHuman code is to clone our official repository and start to modify it. ]]
[[ Development infrastructure A description of the MakeHuman development infrastructure. ]]
[[ OpenGL Notes Most of the 3D mesh handling functionality is delivered using OpenGL embedded within the C application code. ]]
[[ Development organization The organization of distributed development. ]]
[[ Libraries and build procedures Describes the details of creating installable packages on major platforms ]]
[[ Directory structure and core modules Summary of the MH API reference. ]]
[[ File formats and extensions Describes the formats used internally for data and object storage. [CRUDE NOTES] ]]
[[ Makehuman Plugin System How to make a new plugin and use it in MakeHuman ]]
==== Packager's notes ====
[[ Packaging RPM's for Suse/Fedora using Open Build Service (OBS) Packaging procedure and setup. ]]
==== Tutorials ====
[[ Tutorial MH1.0 alpha8 ]]
[[ [Alpha8] Making diapers for a baby. A tutorial illustrating the MakeClothes workflow. ]]
[[ MakeClothes: Making a simple dress The basic MakeClothes workflow. ]]
[[ MakeClothes: Controlling the result with vertex groups The output of the clothes-making process depends on how vertex groups are assigned. ]]
[[ Creating a Custom Target with MakeTarget Standalone A practical example of custom target ]]
[[ MakeWalk: The making of Running feet MakeWalk tutorial, focusing on the Edit Action panel. ]]
[[ MakeWalk: Running feet scene 1 Making an extended run on a plane. ]]
[[ MakeWalk: Running feet scene 2 High heels and slopes. ]]
[[ MakeWalk: Running feet scene 3 The race. ]]
[[ MakeWalk: Running feet scene 4 Rough terrain. ]]
[[ MakeWalk: Automatic animation Tutorial on using the editing tools in MakeWalk. ]]
[[ Advertisement ]]
|}
__NOTOC__
== Instructions ==
Please put all documentation nodes in namespace "Documentation", like <nowiki>[[Documentation:Introduction to the interface|Introduction to the interface]]</nowiki> (which would resolve as [[Documentation:Introduction to the interface|Introduction to the interface]])
9d3fcc3534cb0a6570343b98c8b44ed5b35e182a
19
18
2015-06-29T22:10:07Z
Aiena1
3
testing index flow
wikitext
text/x-wiki
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
=== Makehuman Manual ===
==== Introduction ====
* [[MakeHuman™ and its Purpose ]]
MakeHuman definition and vision.
* [[ Short and Long Pipeline ]]
The goal of Makehuman is to see it used in 2 different professional pipelines.
* [[ Professional mesh topology An overview of the professional topology provided by MakeHuman ]]
* [[ Legal The various licenses that apply to MakeHuman and External tools ]]
==== General overview ====
[[ Install MakeHuman™ How to install MH on Windows, Osx and Linux. ]]
[[ The Interface and basic functions. The MakeHuman GUI: Load, save, undo and redo, reset, view, symmetry, help. ]]
[[ Zoom, pan and rotate using the orbital camera Navigating the scene using the orbital camera. ]]
[[ Load Save and Export Describe file actions for MakeHuman ]]
==== Define Human Characteristics ====
[[ Parametric Modelling A quick introduction to the parametric modelling and sliders usage. ]]
[[ Using MakeHuman Hairstyles and Clothes Hair in the MakeHuman Geometries group ]]
[[ Skin and other materials How to change skin and materials for hair and clothes. ]]
[[ Gender, Random, Measure and Custom Special modifiers. ]]
[[ Makehuman alternative topologies MakeHuman provides a smart alternative topologies library ]]
==== Rendering Your Work ====
[[ Quick rendering and advanced rendering This section explains how render the character in MakeHuman ]]
[[ Scene and Viewer How to set lights and how to see and save the rendering ]]
==== Settings ====
[[ General How to set the general preferences ]]
[[ Background How to use backgrounds for reference. ]]
[[ Mouse Explanation of mouse settings ]]
[[ Shortcuts Configuration of shortcuts in Makehuman ]]
[[ Plugins Management of Makehuman plugins ]]
==== Tools and contributing methods ====
[[ MHBlenderTools: Download and installation How to download and install the addons for Blender ]]
[[MHBlenderTools: MakeTarget Description of MakeTarget™ tool, to create custom morphings for MakeHuman. ]]
[[ MHBlenderTools: MakeClothes Description of MakeClothes and its user interface. ]]
[[ MHBlenderTools: MakeWalk basic workflow MakeWalk is a Blender add-on for retargeting mocap data (.bvh files) to a given armature. ]]
[[ MHBlenderTools: MakeWalk user interface Description of the GUI integrated in Blender. ]]
[[ MHBlenderTools: MakeWalk armatures Explain the meaning and use of source and target armature. ]]
[[ MHBlenderTools: MakeWalk utilities Utilities: save and restore the defaults, manage actions, t-pose, etc. ]]
[[ MHBlenderTools: MakeWalk troubleshooting. This document will describe common errors and corrective actions. ]]
[[ MHBlenderTools: MHX importer basic usage. MHX (MakeHuman eXchange format) is a custom format used to transfer a rigged character from MakeHuman to Blender. ]]
[[ MHBlenderTools: MHX default rigging If pose/animate > skeleton is set to 'None' when the character is exported from MakeHuman in .mhx format, the character is equipped with the default MHX armature. This is a rather complex rig with quite a few features. ]]
[[ MHBlenderTools: MHX other rigging systems The character can be rigged with alternatives and ligher armature or the rigify one (The rigging system for Blender devoped by Nathan Vegdahl). ]]
[[ MHBlenderTools: MHX Layers and masks The mhx importer creates objects on the first four layers. ]]
[[ MakeTarget standalone Converting files produced with the most common modelling software, without Blender. ]]
[[ GUI languages and translations. MakeHuman support a variety of languages. It's very easy to add translations. ]]
==== Reporting a Bug ====
[[ Using the Makehuman bug tracker Introduction to the new Makehuman bug tracker ]]
[[ Using the Makehuman log files for error reporting How to report bugs using the log files. ]]
==== Developers' note ====
[[ Getting started The best way to start your experiments with MakeHuman code is to clone our official repository and start to modify it. ]]
[[ Development infrastructure A description of the MakeHuman development infrastructure. ]]
[[ OpenGL Notes Most of the 3D mesh handling functionality is delivered using OpenGL embedded within the C application code. ]]
[[ Development organization The organization of distributed development. ]]
[[ Libraries and build procedures Describes the details of creating installable packages on major platforms ]]
[[ Directory structure and core modules Summary of the MH API reference. ]]
[[ File formats and extensions Describes the formats used internally for data and object storage. [CRUDE NOTES] ]]
[[ Makehuman Plugin System How to make a new plugin and use it in MakeHuman ]]
==== Packager's notes ====
[[ Packaging RPM's for Suse/Fedora using Open Build Service (OBS) Packaging procedure and setup. ]]
==== Tutorials ====
[[ Tutorial MH1.0 alpha8 ]]
[[ [Alpha8] Making diapers for a baby. A tutorial illustrating the MakeClothes workflow. ]]
[[ MakeClothes: Making a simple dress The basic MakeClothes workflow. ]]
[[ MakeClothes: Controlling the result with vertex groups The output of the clothes-making process depends on how vertex groups are assigned. ]]
[[ Creating a Custom Target with MakeTarget Standalone A practical example of custom target ]]
[[ MakeWalk: The making of Running feet MakeWalk tutorial, focusing on the Edit Action panel. ]]
[[ MakeWalk: Running feet scene 1 Making an extended run on a plane. ]]
[[ MakeWalk: Running feet scene 2 High heels and slopes. ]]
[[ MakeWalk: Running feet scene 3 The race. ]]
[[ MakeWalk: Running feet scene 4 Rough terrain. ]]
[[ MakeWalk: Automatic animation Tutorial on using the editing tools in MakeWalk. ]]
[[ Advertisement ]]
|}
__NOTOC__
== Instructions ==
Please put all documentation nodes in namespace "Documentation", like <nowiki>[[Documentation:Introduction to the interface|Introduction to the interface]]</nowiki> (which would resolve as [[Documentation:Introduction to the interface|Introduction to the interface]])
fa28af3796ca1ee214d5e84abbe689ef27cee651
18
17
2015-06-29T22:09:14Z
Aiena1
3
wikitext
text/x-wiki
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #E6E6E6; padding:.5em;"|
=== Makehuman Manual ===
==== Introduction ====
[[MakeHuman™ and its Purpose ]]
MakeHuman definition and vision.
[[ Short and Long Pipeline ]]
The goal of Makehuman is to see it used in 2 different professional pipelines.
[[ Professional mesh topology An overview of the professional topology provided by MakeHuman ]]
[[ Legal The various licenses that apply to MakeHuman and External tools ]]
==== General overview ====
[[ Install MakeHuman™ How to install MH on Windows, Osx and Linux. ]]
[[ The Interface and basic functions. The MakeHuman GUI: Load, save, undo and redo, reset, view, symmetry, help. ]]
[[ Zoom, pan and rotate using the orbital camera Navigating the scene using the orbital camera. ]]
[[ Load Save and Export Describe file actions for MakeHuman ]]
==== Define Human Characteristics ====
[[ Parametric Modelling A quick introduction to the parametric modelling and sliders usage. ]]
[[ Using MakeHuman Hairstyles and Clothes Hair in the MakeHuman Geometries group ]]
[[ Skin and other materials How to change skin and materials for hair and clothes. ]]
[[ Gender, Random, Measure and Custom Special modifiers. ]]
[[ Makehuman alternative topologies MakeHuman provides a smart alternative topologies library ]]
==== Rendering Your Work ====
[[ Quick rendering and advanced rendering This section explains how render the character in MakeHuman ]]
[[ Scene and Viewer How to set lights and how to see and save the rendering ]]
==== Settings ====
[[ General How to set the general preferences ]]
[[ Background How to use backgrounds for reference. ]]
[[ Mouse Explanation of mouse settings ]]
[[ Shortcuts Configuration of shortcuts in Makehuman ]]
[[ Plugins Management of Makehuman plugins ]]
==== Tools and contributing methods ====
[[ MHBlenderTools: Download and installation How to download and install the addons for Blender ]]
[[MHBlenderTools: MakeTarget Description of MakeTarget™ tool, to create custom morphings for MakeHuman. ]]
[[ MHBlenderTools: MakeClothes Description of MakeClothes and its user interface. ]]
[[ MHBlenderTools: MakeWalk basic workflow MakeWalk is a Blender add-on for retargeting mocap data (.bvh files) to a given armature. ]]
[[ MHBlenderTools: MakeWalk user interface Description of the GUI integrated in Blender. ]]
[[ MHBlenderTools: MakeWalk armatures Explain the meaning and use of source and target armature. ]]
[[ MHBlenderTools: MakeWalk utilities Utilities: save and restore the defaults, manage actions, t-pose, etc. ]]
[[ MHBlenderTools: MakeWalk troubleshooting. This document will describe common errors and corrective actions. ]]
[[ MHBlenderTools: MHX importer basic usage. MHX (MakeHuman eXchange format) is a custom format used to transfer a rigged character from MakeHuman to Blender. ]]
[[ MHBlenderTools: MHX default rigging If pose/animate > skeleton is set to 'None' when the character is exported from MakeHuman in .mhx format, the character is equipped with the default MHX armature. This is a rather complex rig with quite a few features. ]]
[[ MHBlenderTools: MHX other rigging systems The character can be rigged with alternatives and ligher armature or the rigify one (The rigging system for Blender devoped by Nathan Vegdahl). ]]
[[ MHBlenderTools: MHX Layers and masks The mhx importer creates objects on the first four layers. ]]
[[ MakeTarget standalone Converting files produced with the most common modelling software, without Blender. ]]
[[ GUI languages and translations. MakeHuman support a variety of languages. It's very easy to add translations. ]]
==== Reporting a Bug ====
[[ Using the Makehuman bug tracker Introduction to the new Makehuman bug tracker ]]
[[ Using the Makehuman log files for error reporting How to report bugs using the log files. ]]
==== Developers' note ====
[[ Getting started The best way to start your experiments with MakeHuman code is to clone our official repository and start to modify it. ]]
[[ Development infrastructure A description of the MakeHuman development infrastructure. ]]
[[ OpenGL Notes Most of the 3D mesh handling functionality is delivered using OpenGL embedded within the C application code. ]]
[[ Development organization The organization of distributed development. ]]
[[ Libraries and build procedures Describes the details of creating installable packages on major platforms ]]
[[ Directory structure and core modules Summary of the MH API reference. ]]
[[ File formats and extensions Describes the formats used internally for data and object storage. [CRUDE NOTES] ]]
[[ Makehuman Plugin System How to make a new plugin and use it in MakeHuman ]]
==== Packager's notes ====
[[ Packaging RPM's for Suse/Fedora using Open Build Service (OBS) Packaging procedure and setup. ]]
==== Tutorials ====
[[ Tutorial MH1.0 alpha8 ]]
[[ [Alpha8] Making diapers for a baby. A tutorial illustrating the MakeClothes workflow. ]]
[[ MakeClothes: Making a simple dress The basic MakeClothes workflow. ]]
[[ MakeClothes: Controlling the result with vertex groups The output of the clothes-making process depends on how vertex groups are assigned. ]]
[[ Creating a Custom Target with MakeTarget Standalone A practical example of custom target ]]
[[ MakeWalk: The making of Running feet MakeWalk tutorial, focusing on the Edit Action panel. ]]
[[ MakeWalk: Running feet scene 1 Making an extended run on a plane. ]]
[[ MakeWalk: Running feet scene 2 High heels and slopes. ]]
[[ MakeWalk: Running feet scene 3 The race. ]]
[[ MakeWalk: Running feet scene 4 Rough terrain. ]]
[[ MakeWalk: Automatic animation Tutorial on using the editing tools in MakeWalk. ]]
[[ Advertisement ]]
|}
__NOTOC__
== Instructions ==
Please put all documentation nodes in namespace "Documentation", like <nowiki>[[Documentation:Introduction to the interface|Introduction to the interface]]</nowiki> (which would resolve as [[Documentation:Introduction to the interface|Introduction to the interface]])
248f5f5d3fdfa4a04b4518cadf6575a8311261c1
17
12
2015-06-29T20:16:49Z
Aiena1
3
/* Instructions */
wikitext
text/x-wiki
Start page for documentation
Start page for documentation
== Introduction ==
== MakeHuman™ and its Purpose MakeHuman definition and vision. ==
=== Short and Long Pipeline The goal of Makehuman is to see it used in 2 different professional pipelines. ===
=== Professional mesh topology An overview of the professional topology provided by MakeHuman ===
=== Legal The various licenses that apply to MakeHuman and External tools ===
== General overview ==
=== Install MakeHuman™ How to install MH on Windows, Osx and Linux. ===
The Interface and basic functions. The MakeHuman GUI: Load, save, undo and redo, reset, view, symmetry, help.===
=== Zoom, pan and rotate using the orbital camera Navigating the scene using the orbital camera.===
=== Load Save and Export Describe file actions for MakeHuman===
== Define Human Characteristics ==
Parametric Modelling A quick introduction to the parametric modelling and sliders usage.===
Using MakeHuman Hairstyles and Clothes Hair in the MakeHuman Geometries group ===
Skin and other materials How to change skin and materials for hair and clothes.===
Gender, Random, Measure and Custom Special modifiers.===
Makehuman alternative topologies MakeHuman provides a smart alternative topologies library ===
== Rendering Your Work ==
Quick rendering and advanced rendering This section explains how render the character in MakeHuman ===
Scene and Viewer How to set lights and how to see and save the rendering ===
== Settings ==
General How to set the general preferences ===
Background How to use backgrounds for reference.===
Mouse Explanation of mouse settings ===
Shortcuts Configuration of shortcuts in Makehuman ===
Plugins Management of Makehuman plugins ===
== Tools and contributing methods ==
MHBlenderTools: Download and installation How to download and install the addons for Blender ===
MHBlenderTools: MakeTarget Description of MakeTarget™ tool, to create custom morphings for MakeHuman. ===
MHBlenderTools: MakeClothes Description of MakeClothes and its user interface.===
MHBlenderTools: MakeWalk basic workflow MakeWalk is a Blender add-on for retargeting mocap data (.bvh files) to a given armature. ===
MHBlenderTools: MakeWalk user interface Description of the GUI integrated in Blender. ===
MHBlenderTools: MakeWalk armatures Explain the meaning and use of source and target armature. ===
MHBlenderTools: MakeWalk utilities Utilities: save and restore the defaults, manage actions, t-pose, etc. ===
MHBlenderTools: MakeWalk troubleshooting. This document will describe common errors and corrective actions. ===
MHBlenderTools: MHX importer basic usage. MHX (MakeHuman eXchange format) is a custom format used to transfer a rigged character from MakeHuman to Blender. ===
MHBlenderTools: MHX default rigging If pose/animate > skeleton is set to 'None' when the character is exported from MakeHuman in .mhx format, the character is equipped with the default MHX armature. This is a rather complex rig with quite a few features.
MHBlenderTools: MHX other rigging systems The character can be rigged with alternatives and ligher armature or the rigify one (The rigging system for Blender devoped by Nathan Vegdahl). ===
MHBlenderTools: MHX Layers and masks The mhx importer creates objects on the first four layers. ===
MakeTarget standalone Converting files produced with the most common modelling software, without Blender.===
GUI languages and translations. MakeHuman support a variety of languages. It's very easy to add translations.===
== Reporting a Bug ==
Using the Makehuman bug tracker Introduction to the new Makehuman bug tracker ===
Using the Makehuman log files for error reporting How to report bugs using the log files. ===
== Developers' note ==
Getting started The best way to start your experiments with MakeHuman code is to clone our official repository and start to modify it. ===
Development infrastructure A description of the MakeHuman development infrastructure. ===
OpenGL Notes Most of the 3D mesh handling functionality is delivered using OpenGL embedded within the C application code. ===
Development organization The organization of distributed development. ===
Libraries and build procedures Describes the details of creating installable packages on major platforms ===
Directory structure and core modules Summary of the MH API reference. ===
File formats and extensions Describes the formats used internally for data and object storage. [CRUDE NOTES} ===
Makehuman Plugin System How to make a new plugin and use it in MakeHuman ===
== Packager's notes ==
Packaging RPM's for Suse/Fedora using Open Build Service (OBS) Packaging procedure and setup. ===
== Tutorials ==
Tutorial MH1.0 alpha8 ===
[Alpha8] Making diapers for a baby. A tutorial illustrating the MakeClothes workflow. ===
MakeClothes: Making a simple dress The basic MakeClothes workflow. ===
MakeClothes: Controlling the result with vertex groups The output of the clothes-making process depends on how vertex groups are assigned. ===
Creating a Custom Target with MakeTarget Standalone A practical example of custom target ===
MakeWalk: The making of Running feet MakeWalk tutorial, focusing on the Edit Action panel. ===
MakeWalk: Running feet scene 1 Making an extended run on a plane. ===
MakeWalk: Running feet scene 2 High heels and slopes. ===
MakeWalk: Running feet scene 3 The race. ===
MakeWalk: Running feet scene 4 Rough terrain. ===
MakeWalk: Automatic animation Tutorial on using the editing tools in MakeWalk. ===
== Instructions ==
Please put all documentation nodes in namespace "Documentation", like <nowiki>[[Documentation:Introduction to the interface|Introduction to the interface]]</nowiki> (which would resolve as [[Documentation:Introduction to the interface|Introduction to the interface]])
a7c02ecdeec6cd56f73bd764caf203f077dd7ae2
12
10
2015-06-28T11:46:58Z
Aiena1
3
wikitext
text/x-wiki
Start page for documentation
== Instructions ==
Please put all documentation nodes in namespace "Documentation", like <nowiki>[[Documentation:Introduction to the interface|Introduction to the interface]]</nowiki> (which would resolve as [[Documentation:Introduction to the interface|Introduction to the interface]])
e613bb25d6d4a2767577e9914f0dee12620bdafd
10
9
2015-06-27T18:41:31Z
Joepal1
1
wikitext
text/x-wiki
Start page for documentation
[[:Category:Help]]
== Instructions ==
Please put all documentation nodes in namespace "Documentation", like <nowiki>[[Documentation:Introduction to the interface|Introduction to the interface]]</nowiki> (which would resolve as [[Documentation:Introduction to the interface|Introduction to the interface]])
6e033c236f9d68ee2b305424f55b1eb980472b5c
9
4
2015-06-27T18:41:03Z
Joepal1
1
wikitext
text/x-wiki
Start page for documentation
[[:Category:Documentation]]
== Instructions ==
Please put all documentation nodes in namespace "Documentation", like <nowiki>[[Documentation:Introduction to the interface|Introduction to the interface]]</nowiki> (which would resolve as [[Documentation:Introduction to the interface|Introduction to the interface]])
e585ac76063cfe8e20d27155e9564d5118072744
4
2015-06-27T14:26:57Z
Joepal1
1
Start page for documentation.
wikitext
text/x-wiki
Start page for documentation
== Instructions ==
Please put all documentation nodes in namespace "Documentation", like <nowiki>[[Documentation:Introduction to the interface|Introduction to the interface]]</nowiki> (which would resolve as [[Documentation:Introduction to the interface|Introduction to the interface]])
e613bb25d6d4a2767577e9914f0dee12620bdafd
Documentation:Installing MHX2
3000
254
766
2016-05-24T11:34:34Z
Joepal
14
Created page with "(placeholder, decide if specific instructions should be written here or if we should simply link to Thomas' bitbucket page)"
wikitext
text/x-wiki
(placeholder, decide if specific instructions should be written here or if we should simply link to Thomas' bitbucket page)
5385ac0ee94ea413af7623991342a4e509b5967b
Documentation:Installing MakeHuman
3000
223
2142
2141
2022-04-23T17:02:13Z
Robbaer
12
wikitext
text/x-wiki
MakeHuman can be downloaded here [http://www.makehumancommunity.org/content/downloads.html]. Later in the development life cycle, it might make sense to download nightly builds, which are found here: [http://download.tuxfamily.org/makehuman/nightly/].
Nightly represent the latest developmental updates and are not guaranteed to be stable.
Currently, the latest release is MakeHuman 1.2.0. For version 1.2.0, you can go directly to [http://www.makehumancommunity.org/content/makehuman_120.html] where you can find links for the release notes, the downloads for various platforms, and a list of know issues. If you are also a Blender user, the tools in this MakeHuman version are designed to to work with Blender 2.83 or later.
== System Requirements ==
You will need about half a gigabyte of free disk space.
In order to use some realtime materials and obtain the best from the internal rendering engine, it's required an average quality graphic card, produced after the year 2006. In general, your graphics card should support OpenGL Shading Language (GLSL) version 1.2 or above. There have been reports that the model colors are corrupted on some older Intel Graphics cards (often appearing blue and black). If you experience this, a possible work-around is to start MakeHuman™ with the "--noshaders" command line switch. On Windows, this switch can be added to your shortcut. See also [[FAQ:MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]]
== Windows 10/11 ==
Download the zip file from the from the download page [http://download.tuxfamily.org/makehuman/releases/makehuman-community-1.2.0-windows.zip download page]. From within Windows Explorer, double click the downloaded zip file, and click "Extract All" to extract the compressed files. When the extracted folder opens, double click "makehuman-community-1.2.0-windows.exe" to install the program. Allow installation on the dialog that pops up. Click Next.
Choose "Install for anyone using the computer" if you want all users of your computer to have access to MakeHuman; otherwise, choose "install for just me" and click Next. This choice will affect where MakeHuman assets are saved. If you choose "Install for just me", the default program location is: C:\Users\%USERNAME%\AppData\Local\makehuman-community. If you choose "Install for all users", the default program location is: C:\Program Files\makehuman-community. Click Finish. There should be a shortcut to start MakeHuman on both the desktop and within the startup folder.
In all cases, MakeHuman related assets should by default be found in:
C:\Users\%USERNAME%\Documents\makehuman\v1py3.
Or, if you have OneDrive enabled, this may be"
"C:\Users\%USERNAME%\OneDrive\Documents\makehuman\v1py3", instead.
If you are using Blender 2.83 or beyond, you may also wish to install some helpful plugins for using MakeHuman with Blender. Start Blender and choose, Edit | Preferences | Add-ons and click the Install button at the top. Navigate to the folder where you extracted the downloaded MakeHuman and go into the folder addons_for_blender_28x, click to select makehuman-plugins-for-blender.zip, makeclothes2.zip, makeskin.zip, and maketarget2.zip. Click Install Add-on. Click the check box to make this plugin available from within Blender. As desired, repeat the process for the makeclothes2.zip, the makeskin.zip, and the maketarget2.zip plugins. With the cursor over the Blender 3D viewport, press "N" to reveal tabs on the right side of the viewport for accessing these tools.
== Mac OS X ==
Download the DMG file from the [http://www.makehuman.org/download.php download page]. Once downloaded, mount the disk image and drag the MakeHuman app into your Applications folder. MakeHuman supports Snow Leopard and newer.
== Linux ==
At the point of writing this, the newest stable release is only available via PPA, see [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-11x]. This should work on all debian derivatives.
Other Linux distributions will need to run from source.
== Installing from source ==
If you want to play around with the code, follow the latest development, or are having trouble with the prepackaged binaries you can run from a source clone from [https://github.com/makehumancommunity/makehuman GitHub]. This requires that you have installed python 3. and a set of other dependencies. See [[Documentation:Running_MakeHuman_from_source]] for more information.
0d046ab5c89d879ba48852fecf8b1b0ce89b25aa
2141
2140
2022-04-23T16:53:29Z
Robbaer
12
/* Windows 10/11 */
wikitext
text/x-wiki
MakeHuman can be downloaded here [http://www.makehumancommunity.org/content/downloads.html]. Later in the development life cycle, it might make sense to download nightly builds, which are found here: [http://download.tuxfamily.org/makehuman/nightly/].
Nightly represent the latest developmental updates and are not guaranteed to be stable.
Currently, the latest release is MakeHuman 1.2.0. For version 1.2.0, you can go directly to [http://www.makehumancommunity.org/content/makehuman_120.html] where you can find links for the release notes, the downloads for various platforms, and a list of know issues. If you are also a Blender user, the tools in this MakeHuman version are designed to to work with Blender 2.83 or later.
== System Requirements ==
You will need about half a gigabyte of free disk space.
In order to use some realtime materials and obtain the best from the internal rendering engine, it's required an average quality graphic card, produced after the year 2006. In general, your graphics card should support OpenGL Shading Language (GLSL) version 1.2 or above. There have been reports that the model colors are corrupted on some older Intel Graphics cards (often appearing blue and black). If you experience this, a possible work-around is to start MakeHuman™ with the "--noshaders" command line switch. On Windows, this switch can be added to your shortcut. See also [[FAQ:MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]]
== Windows 10/11 ==
Download the zip file from the from the download page [http://download.tuxfamily.org/makehuman/releases/makehuman-community-1.2.0-windows.zip download page]. From within Windows Explorer, double click the downloaded zip file, and click "Extract All" to extract the compressed files. When the extracted folder opens, double click "makehuman-community-1.2.0-windows.exe" to install the program. Allow installation on the dialog that pops up. Click Next.
Choose "Install for anyone using the computer" if you want all users of your computer to have access to MakeHuman; otherwise, choose "install for just me" and click Next. This choice will affect where MakeHuman assets are saved. If you choose "Install for just me", the default program location is: C:\Users\%USERNAME%\AppData\Local\makehuman-community. If you choose "Install for all users", the default program location is: C:\Program Files\makehuman-community. Click Finish. There should be a shortcut to start MakeHuman on both the desktop and within the startup folder.
In all cases, MakeHuman related assets should by default be found in:
C:\Users\%USERNAME%\Documents\makehuman\v1py3.
Or, if you have OneDrive enabled, this may be"
"C:\Users\%USERNAME%\OneDrive\Documents\makehuman\v1py3", instead.
If you are using Blender 2.83 or beyond, you may also wish to install some helpful plugins for using MakeHuman with Blender. Start Blender and choose, Edit | Preferences | Add Ons and click the Install button at the top. Navigate to the folder where you extracted the downloaded MakeHuman and go into the folder addons_for_blender_28x, click to select makehuman-plugins-for-blender.zip, makeclothes2.zip, makeskin.zip, and maketarget2.zip. Click Install Add-on. Click the check box to make this plugin available from within Blender. As desired, repeat the process for the makeclothes2.zip, makeskin.zip, and maketarget2.zip plugins.
== Mac OS X ==
Download the DMG file from the [http://www.makehuman.org/download.php download page]. Once downloaded, mount the disk image and drag the MakeHuman app into your Applications folder. MakeHuman supports Snow Leopard and newer.
== Linux ==
At the point of writing this, the newest stable release is only available via PPA, see [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-11x]. This should work on all debian derivatives.
Other Linux distributions will need to run from source.
== Installing from source ==
If you want to play around with the code, follow the latest development, or are having trouble with the prepackaged binaries you can run from a source clone from BitBucket. This requires that you have installed python 2.7 and a set of other
dependencies. See [[Documentation:Running_MakeHuman_from_source]] for more information.
87693f57da5ce543c077ebca6a0a4cb8a9edde75
2140
2139
2022-04-23T16:43:31Z
Robbaer
12
/* Windows 10/11 */
wikitext
text/x-wiki
MakeHuman can be downloaded here [http://www.makehumancommunity.org/content/downloads.html]. Later in the development life cycle, it might make sense to download nightly builds, which are found here: [http://download.tuxfamily.org/makehuman/nightly/].
Nightly represent the latest developmental updates and are not guaranteed to be stable.
Currently, the latest release is MakeHuman 1.2.0. For version 1.2.0, you can go directly to [http://www.makehumancommunity.org/content/makehuman_120.html] where you can find links for the release notes, the downloads for various platforms, and a list of know issues. If you are also a Blender user, the tools in this MakeHuman version are designed to to work with Blender 2.83 or later.
== System Requirements ==
You will need about half a gigabyte of free disk space.
In order to use some realtime materials and obtain the best from the internal rendering engine, it's required an average quality graphic card, produced after the year 2006. In general, your graphics card should support OpenGL Shading Language (GLSL) version 1.2 or above. There have been reports that the model colors are corrupted on some older Intel Graphics cards (often appearing blue and black). If you experience this, a possible work-around is to start MakeHuman™ with the "--noshaders" command line switch. On Windows, this switch can be added to your shortcut. See also [[FAQ:MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]]
== Windows 10/11 ==
Download the zip file from the from the download page [http://download.tuxfamily.org/makehuman/releases/makehuman-community-1.2.0-windows.zip download page]. From within Windows Explorer, double click the downloaded zip file, and click "Extract All" to extract the compressed files. When the extracted folder opens, double click "makehuman-community-1.2.0-windows.exe" to install the program. Allow installation on the dialog that pops up. Click Next.
Choose "Install for anyone using the computer" if you want all users of your computer to have access to MakeHuman; otherwise, choose "install for just me" and click Next. This choice will affect where MakeHuman assets are saved. If you choose "Install for just me", the default program location is: C:\Users\%USERNAME%\AppData\Local\makehuman-community. If you choose "Install for all users", the default program location is: C:\Program Files\makehuman-community. Click Finish. There should be a shortcut to start MakeHuman on both the desktop and within the startup folder.
In all cases, MakeHuman related assets should by default be found in:
C:\Users\%USERNAME%\Documents\makehuman\v1py3.
Or, if you have OneDrive enabled, this may be"
"C:\Users\%USERNAME%\OneDrive\Documents\makehuman\v1py3", instead.
== Mac OS X ==
Download the DMG file from the [http://www.makehuman.org/download.php download page]. Once downloaded, mount the disk image and drag the MakeHuman app into your Applications folder. MakeHuman supports Snow Leopard and newer.
== Linux ==
At the point of writing this, the newest stable release is only available via PPA, see [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-11x]. This should work on all debian derivatives.
Other Linux distributions will need to run from source.
== Installing from source ==
If you want to play around with the code, follow the latest development, or are having trouble with the prepackaged binaries you can run from a source clone from BitBucket. This requires that you have installed python 2.7 and a set of other
dependencies. See [[Documentation:Running_MakeHuman_from_source]] for more information.
ece1f32dfb1d69db271d81f3be25b383141ed603
2139
2138
2022-04-23T16:24:25Z
Robbaer
12
wikitext
text/x-wiki
MakeHuman can be downloaded here [http://www.makehumancommunity.org/content/downloads.html]. Later in the development life cycle, it might make sense to download nightly builds, which are found here: [http://download.tuxfamily.org/makehuman/nightly/].
Nightly represent the latest developmental updates and are not guaranteed to be stable.
Currently, the latest release is MakeHuman 1.2.0. For version 1.2.0, you can go directly to [http://www.makehumancommunity.org/content/makehuman_120.html] where you can find links for the release notes, the downloads for various platforms, and a list of know issues. If you are also a Blender user, the tools in this MakeHuman version are designed to to work with Blender 2.83 or later.
== System Requirements ==
You will need about half a gigabyte of free disk space.
In order to use some realtime materials and obtain the best from the internal rendering engine, it's required an average quality graphic card, produced after the year 2006. In general, your graphics card should support OpenGL Shading Language (GLSL) version 1.2 or above. There have been reports that the model colors are corrupted on some older Intel Graphics cards (often appearing blue and black). If you experience this, a possible work-around is to start MakeHuman™ with the "--noshaders" command line switch. On Windows, this switch can be added to your shortcut. See also [[FAQ:MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]]
== Windows 10/11 ==
Download the zip file from the from the download page [http://download.tuxfamily.org/makehuman/releases/makehuman-community-1.2.0-windows.zip download page]. From within Windows Explorer, double click the downloaded zip file, and click "Extract All" to extract the compressed files. When the extracted folder opens, double click "makehuman-community-1.2.0-windows.exe" to install the program. Allow installation on the dialog that pops up. Click Next.
Choose "Install for anyone using the computer" if you want all users of your computer to have access to MakeHuman; otherwise, choose "install for just me" and click Next. This choice will affect where MakeHuman assets are saved. If you choose "Install for just me", the default program location is: C:\Users\%USERNAME%\AppData\Local\makehuman-community. If you choose "Install for all users", the default program location is: C:\Program Files\makehuman-community. Click Finish. There should be a shortcut to start MakeHuman on both the desktop and within the startup folder.
In all cases, MakeHuman related assets should by default be found in:
C:\Users\%USERNAME%\Documents\makehuman\v1py3. [If you have OneDrive enabled, this may be "C:\Users\%USERNAME%\OneDrive\Documents\makehuman\v1py3" instead.]
== Mac OS X ==
Download the DMG file from the [http://www.makehuman.org/download.php download page]. Once downloaded, mount the disk image and drag the MakeHuman app into your Applications folder. MakeHuman supports Snow Leopard and newer.
== Linux ==
At the point of writing this, the newest stable release is only available via PPA, see [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-11x]. This should work on all debian derivatives.
Other Linux distributions will need to run from source.
== Installing from source ==
If you want to play around with the code, follow the latest development, or are having trouble with the prepackaged binaries you can run from a source clone from BitBucket. This requires that you have installed python 2.7 and a set of other
dependencies. See [[Documentation:Running_MakeHuman_from_source]] for more information.
b1c2d4b2905ebfc03d22cd35cc9efe7e5b33cacd
2138
2137
2022-04-23T16:23:55Z
Robbaer
12
wikitext
text/x-wiki
MakeHuman can be downloaded here [http://www.makehumancommunity.org/content/downloads.html]. Later in the development life cycle, it might make sense to download nightly builds, which are found here: [http://download.tuxfamily.org/makehuman/nightly/].
Nightly represent the latest developmental updates and are not guaranteed to be stable.
Currently, the latest release is MakeHuman 1.2.0. For version 1.2.0, you can go directly to [http://www.makehumancommunity.org/content/makehuman_120.html] where you can find links for the release notes, the downloads for various platforms, and a list of know issues. If you are also a Blender user, the tools in this MakeHuman version are designed to to work with Blender 2.83 or later.
== System Requirements ==
You will need about half a gigabyte of free disk space.
In order to use some realtime materials and obtain the best from the internal rendering engine, it's required an average quality graphic card, produced after the year 2006. In general, your graphics card should support OpenGL Shading Language (GLSL) version 1.2 or above. There have been reports that the model colors are corrupted on some older Intel Graphics cards (often appearing blue and black). If you experience this, a possible work-around is to start MakeHuman™ with the "--noshaders" command line switch. On Windows, this switch can be added to your shortcut. See also [[FAQ:MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]]
== Windows 10/11 ==
Download the zip file from the from the download page [http://download.tuxfamily.org/makehuman/releases/makehuman-community-1.2.0-windows.zip download page]. From within Windows Explorer, double click the downloaded zip file, and click "Extract All" to extract the compressed files. When the extracted folder opens, double click "makehuman-community-1.2.0-windows.exe" to install the program. Allow installation on the dialog that pops up. Click Next.
Choose "Install for anyone using the computer" if you want all users of your computer to have access to MakeHuman; otherwise, choose "install for just me" and click Next. This choice will affect where MakeHuman assets are saved. If you choose "Install for just me", the default program location is: C:\Users\%USERNAME%\AppData\Local\makehuman-community. If you choose "Install for all users", the default program location is: C:\Program Files\makehuman-community. Click Finish. There should be a shortcut to MakeHuman on both the desktop and within the startup folder.
In all cases, MakeHuman related assets should by default be found in:
C:\Users\%USERNAME%\Documents\makehuman\v1py3. [If you have OneDrive enabled, this may be "C:\Users\%USERNAME%\OneDrive\Documents\makehuman\v1py3" instead.]
== Mac OS X ==
Download the DMG file from the [http://www.makehuman.org/download.php download page]. Once downloaded, mount the disk image and drag the MakeHuman app into your Applications folder. MakeHuman supports Snow Leopard and newer.
== Linux ==
At the point of writing this, the newest stable release is only available via PPA, see [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-11x]. This should work on all debian derivatives.
Other Linux distributions will need to run from source.
== Installing from source ==
If you want to play around with the code, follow the latest development, or are having trouble with the prepackaged binaries you can run from a source clone from BitBucket. This requires that you have installed python 2.7 and a set of other
dependencies. See [[Documentation:Running_MakeHuman_from_source]] for more information.
3766496212d937b16934a4573fe10cadc44583f3
2137
2136
2022-04-23T16:11:23Z
Robbaer
12
wikitext
text/x-wiki
MakeHuman can be downloaded here [http://www.makehumancommunity.org/content/downloads.html]. Later in the development life cycle, it might make sense to download nightly builds, which are found here: [http://download.tuxfamily.org/makehuman/nightly/].
Nightly represent the latest developmental updates and are not guaranteed to be stable.
Currently, the latest release is MakeHuman 1.2.0. For version 1.2.0, you can go directly to [http://www.makehumancommunity.org/content/makehuman_120.html] where you can find links for the release notes, the downloads for various platforms, and a list of know issues. If you are also a Blender user, the tools in this MakeHuman version are designed to to work with Blender 2.83 or later.
== System Requirements ==
You will need about half a gigabyte of free disk space.
In order to use some realtime materials and obtain the best from the internal rendering engine, it's required an average quality graphic card, produced after the year 2006. In general, your graphics card should support OpenGL Shading Language (GLSL) version 1.2 or above. There have been reports that the model colors are corrupted on some older Intel Graphics cards (often appearing blue and black). If you experience this, a possible work-around is to start MakeHuman™ with the "--noshaders" command line switch. On Windows, this switch can be added to your shortcut. See also [[FAQ:MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]]
== Windows 10/11 ==
Download the zip file from the from the download page [http://download.tuxfamily.org/makehuman/releases/makehuman-community-1.2.0-windows.zip download page]. From within Windows Explorer, double click the downloaded zip file, and click "Extract All" to extract the compressed files. When the extracted folder opens, double click "makehuman-community-1.2.0-windows.exe" to install the program. Allow installation on the dialog that pops up. Click Next.
Choose "Install for anyone using the computer" if you want all users of your computer to have access to MakeHuman; otherwise, choose "install for just me" and click Next. This choice will affect where MakeHuman assets are saved. If you choose "Install for just me", the default program location is: C:\Users\%USERNAME%\AppData\Local\makehuman-community . If you choose "Install for all users", the default program location is: C:\Program Files\makehuman-community.
== Mac OS X ==
Download the DMG file from the [http://www.makehuman.org/download.php download page]. Once downloaded, mount the disk image and drag the MakeHuman app into your Applications folder. MakeHuman supports Snow Leopard and newer.
== Linux ==
At the point of writing this, the newest stable release is only available via PPA, see [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-11x]. This should work on all debian derivatives.
Other Linux distributions will need to run from source.
== Installing from source ==
If you want to play around with the code, follow the latest development, or are having trouble with the prepackaged binaries you can run from a source clone from BitBucket. This requires that you have installed python 2.7 and a set of other
dependencies. See [[Documentation:Running_MakeHuman_from_source]] for more information.
0996b0f2740819de9ba1aedc0ac3be1aca9cac72
2136
2135
2022-04-23T16:06:51Z
Robbaer
12
wikitext
text/x-wiki
MakeHuman can be downloaded here [http://www.makehumancommunity.org/content/downloads.html]. Later in the development life cycle, it might make sense to download nightly builds, which are found here: [http://download.tuxfamily.org/makehuman/nightly/].
Nightly represent the latest developmental updates and are not guaranteed to be stable.
Currently, the latest release is MakeHuman 1.2.0. For version 1.2.0, you can go directly to [http://www.makehumancommunity.org/content/makehuman_120.html] where you can find links for the release notes, the downloads for various platforms, and a list of know issues. If you are also a Blender user, the tools in this MakeHuman version are designed to to work with Blender 2.83 or later.
== System Requirements ==
You will need about half a gigabyte of free disk space.
In order to use some realtime materials and obtain the best from the internal rendering engine, it's required an average quality graphic card, produced after the year 2006. In general, your graphics card should support OpenGL Shading Language (GLSL) version 1.2 or above. There have been reports that the model colors are corrupted on some older Intel Graphics cards (often appearing blue and black). If you experience this, a possible work-around is to start MakeHuman™ with the "--noshaders" command line switch. On Windows, this switch can be added to your shortcut. See also [[FAQ:MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]]
== Windows 10/11 ==
Download the zip file from the from the download page [http://download.tuxfamily.org/makehuman/releases/makehuman-community-1.2.0-windows.zip download page]. From within Windows Explorer, double click the downloaded zip file, and click "Extract All" to extract the compressed files. When the extracted folder opens, double click "makehuman-community-1.2.0-windows.exe" to install the program. Allow installation on the dialog that pops up. Click Next.
Choose "Install for anyone using the computer" if you want all users of your computer to have access to MakeHuman; otherwise, choose "install for just me" and click Next. This choice will affect where MakeHuman assets are saved.
== Mac OS X ==
Download the DMG file from the [http://www.makehuman.org/download.php download page]. Once downloaded, mount the disk image and drag the MakeHuman app into your Applications folder. MakeHuman supports Snow Leopard and newer.
== Linux ==
At the point of writing this, the newest stable release is only available via PPA, see [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-11x]. This should work on all debian derivatives.
Other Linux distributions will need to run from source.
== Installing from source ==
If you want to play around with the code, follow the latest development, or are having trouble with the prepackaged binaries you can run from a source clone from BitBucket. This requires that you have installed python 2.7 and a set of other
dependencies. See [[Documentation:Running_MakeHuman_from_source]] for more information.
9f65acd48610d827b065b6a8c6d68bc9b595d01a
2135
2134
2022-04-23T16:01:19Z
Robbaer
12
/* Windows 10/11 */
wikitext
text/x-wiki
MakeHuman can be downloaded here [http://www.makehumancommunity.org/content/downloads.html]. Later in the development life cycle, it might make sense to download nightly builds, which are found here: [http://download.tuxfamily.org/makehuman/nightly/].
Nightly represent the latest developmental updates and are not guaranteed to be stable.
Currently, the latest release is MakeHuman 1.2.0. For version 1.2.0, you can go directly to [http://www.makehumancommunity.org/content/makehuman_120.html] where you can find links for the release notes, the downloads for various platforms, and a list of know issues. If you are also a Blender user, the tools in this MakeHuman version are designed to to work with Blender 2.83 or later.
== System Requirements ==
You will need about half a gigabyte of free disk space.
In order to use some realtime materials and obtain the best from the internal rendering engine, it's required an average quality graphic card, produced after the year 2006. In general, your graphics card should support OpenGL Shading Language (GLSL) version 1.2 or above. There have been reports that the model colors are corrupted on some older Intel Graphics cards (often appearing blue and black). If you experience this, a possible work-around is to start MakeHuman™ with the "--noshaders" command line switch. On Windows, this switch can be added to your shortcut. See also [[FAQ:MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]]
== Windows 10/11 ==
Download the zip file from the from the download page [http://download.tuxfamily.org/makehuman/releases/makehuman-community-1.2.0-windows.zip download page]. From within Windows Explorer, double click the downloaded zip file, and click "Extract All" to extract the compressed files. When the extracted folder opens, double click "makehuman-community-1.2.0-windows.exe" to install the program.
== Mac OS X ==
Download the DMG file from the [http://www.makehuman.org/download.php download page]. Once downloaded, mount the disk image and drag the MakeHuman app into your Applications folder. MakeHuman supports Snow Leopard and newer.
== Linux ==
At the point of writing this, the newest stable release is only available via PPA, see [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-11x]. This should work on all debian derivatives.
Other Linux distributions will need to run from source.
== Installing from source ==
If you want to play around with the code, follow the latest development, or are having trouble with the prepackaged binaries you can run from a source clone from BitBucket. This requires that you have installed python 2.7 and a set of other
dependencies. See [[Documentation:Running_MakeHuman_from_source]] for more information.
393389b521a731831e90f17f5e1fc119b9cd7bbf
2134
2133
2022-04-23T15:56:49Z
Robbaer
12
/* Mac OS X */
wikitext
text/x-wiki
MakeHuman can be downloaded here [http://www.makehumancommunity.org/content/downloads.html]. Later in the development life cycle, it might make sense to download nightly builds, which are found here: [http://download.tuxfamily.org/makehuman/nightly/].
Nightly represent the latest developmental updates and are not guaranteed to be stable.
Currently, the latest release is MakeHuman 1.2.0. For version 1.2.0, you can go directly to [http://www.makehumancommunity.org/content/makehuman_120.html] where you can find links for the release notes, the downloads for various platforms, and a list of know issues. If you are also a Blender user, the tools in this MakeHuman version are designed to to work with Blender 2.83 or later.
== System Requirements ==
You will need about half a gigabyte of free disk space.
In order to use some realtime materials and obtain the best from the internal rendering engine, it's required an average quality graphic card, produced after the year 2006. In general, your graphics card should support OpenGL Shading Language (GLSL) version 1.2 or above. There have been reports that the model colors are corrupted on some older Intel Graphics cards (often appearing blue and black). If you experience this, a possible work-around is to start MakeHuman™ with the "--noshaders" command line switch. On Windows, this switch can be added to your shortcut. See also [[FAQ:MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]]
== Windows 10/11 ==
Download the zip file from the from the download page [http://download.tuxfamily.org/makehuman/releases/makehuman-community-1.2.0-windows.zip download page]. Then simply unzip it where you prefer, and double click on makehuman.exe to start the application. No installation is needed.
== Mac OS X ==
Download the DMG file from the [http://www.makehuman.org/download.php download page]. Once downloaded, mount the disk image and drag the MakeHuman app into your Applications folder. MakeHuman supports Snow Leopard and newer.
== Linux ==
At the point of writing this, the newest stable release is only available via PPA, see [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-11x]. This should work on all debian derivatives.
Other Linux distributions will need to run from source.
== Installing from source ==
If you want to play around with the code, follow the latest development, or are having trouble with the prepackaged binaries you can run from a source clone from BitBucket. This requires that you have installed python 2.7 and a set of other
dependencies. See [[Documentation:Running_MakeHuman_from_source]] for more information.
cb80d3b3f80798abf244db446fd539a9df1c229c
2133
2132
2022-04-23T15:56:07Z
Robbaer
12
wikitext
text/x-wiki
MakeHuman can be downloaded here [http://www.makehumancommunity.org/content/downloads.html]. Later in the development life cycle, it might make sense to download nightly builds, which are found here: [http://download.tuxfamily.org/makehuman/nightly/].
Nightly represent the latest developmental updates and are not guaranteed to be stable.
Currently, the latest release is MakeHuman 1.2.0. For version 1.2.0, you can go directly to [http://www.makehumancommunity.org/content/makehuman_120.html] where you can find links for the release notes, the downloads for various platforms, and a list of know issues. If you are also a Blender user, the tools in this MakeHuman version are designed to to work with Blender 2.83 or later.
== System Requirements ==
You will need about half a gigabyte of free disk space.
In order to use some realtime materials and obtain the best from the internal rendering engine, it's required an average quality graphic card, produced after the year 2006. In general, your graphics card should support OpenGL Shading Language (GLSL) version 1.2 or above. There have been reports that the model colors are corrupted on some older Intel Graphics cards (often appearing blue and black). If you experience this, a possible work-around is to start MakeHuman™ with the "--noshaders" command line switch. On Windows, this switch can be added to your shortcut. See also [[FAQ:MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]]
== Windows 10/11 ==
Download the zip file from the from the download page [http://download.tuxfamily.org/makehuman/releases/makehuman-community-1.2.0-windows.zip download page]. Then simply unzip it where you prefer, and double click on makehuman.exe to start the application. No installation is needed.
== Mac OS X ==
Download the DMG file from the download page [http://www.makehuman.org/download.php download page]. Once downloaded, mount the disk image and drag the MakeHuman app into your Applications folder. MakeHuman supports Snow Leopard and newer.
== Linux ==
At the point of writing this, the newest stable release is only available via PPA, see [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-11x]. This should work on all debian derivatives.
Other Linux distributions will need to run from source.
== Installing from source ==
If you want to play around with the code, follow the latest development, or are having trouble with the prepackaged binaries you can run from a source clone from BitBucket. This requires that you have installed python 2.7 and a set of other
dependencies. See [[Documentation:Running_MakeHuman_from_source]] for more information.
19af93d2ce3741e2c67bea9ec1efd2bf65500a18
2132
2131
2022-04-23T15:55:25Z
Robbaer
12
wikitext
text/x-wiki
MakeHuman can be downloaded here [http://www.makehumancommunity.org/content/downloads.html]. Later in the development life cycle, it might make sense to download nightly builds, which are found here: [http://download.tuxfamily.org/makehuman/nightly/].
Nightly represent the latest developmental updates and are not guaranteed to be stable.
Currently, the latest release is MakeHuman 1.2.0. For version 1.2.0, you can go directly to [http://www.makehumancommunity.org/content/makehuman_120.html] where you can find links for the release notes, the downloads for various platforms, and a list of know issues. If you are also a Blender user, the tools in this MakeHuman version are designed to to work with Blender 2.83 or later.
== System Requirements ==
You will need about half a gigabyte of free disk space.
In order to use some realtime materials and obtain the best from the internal rendering engine, it's required an average quality graphic card, produced after the year 2006. In general, your graphics card should support OpenGL Shading Language (GLSL) version 1.2 or above. There have been reports that the model colors are corrupted on some older Intel Graphics cards (often appearing blue and black). If you experience this, a possible work-around is to start MakeHuman™ with the "--noshaders" command line switch. On Windows, this switch can be added to your shortcut. See also [[FAQ:MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]]
== Windows 10/11 ==
Download the zip file from the from the download page [http://www.makehuman.org/download.php download page]. Then simply unzip it where you prefer, and double click on makehuman.exe to start the application. No installation is needed.
== Mac OS X ==
Download the DMG file from the download page [http://www.makehuman.org/download.php download page]. Once downloaded, mount the disk image and drag the MakeHuman app into your Applications folder. MakeHuman supports Snow Leopard and newer.
== Linux ==
At the point of writing this, the newest stable release is only available via PPA, see [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-11x]. This should work on all debian derivatives.
Other Linux distributions will need to run from source.
== Installing from source ==
If you want to play around with the code, follow the latest development, or are having trouble with the prepackaged binaries you can run from a source clone from BitBucket. This requires that you have installed python 2.7 and a set of other
dependencies. See [[Documentation:Running_MakeHuman_from_source]] for more information.
411002f44053d7bdbe4f06cf745b51724dfc0843
2131
2130
2022-04-23T15:43:37Z
Robbaer
12
wikitext
text/x-wiki
MakeHuman can be downloaded here [http://www.makehumancommunity.org/content/downloads.html]. Later in the development life cycle, it might make sense to download nightly builds, which are found here: [http://download.tuxfamily.org/makehuman/nightly/].
Nightly represent the latest developmental updates and are not guaranteed to be stable.
Currently, the latest release is MakeHuman 1.2.0. For version 1.2.0, you can go directly to [http://www.makehumancommunity.org/content/makehuman_120.html] where you can find links for the release notes, the downloads for various platforms, and a list of know issues.
== System Requirements ==
You will need about half a gigabyte of free disk space.
In order to use some realtime materials and obtain the best from the internal rendering engine, it's required an average quality graphic card, produced after the year 2006. In general, your graphics card should support OpenGL Shading Language (GLSL) version 1.2 or above. There have been reports that the model colors are corrupted on some older Intel Graphics cards (often appearing blue and black). If you experience this, a possible work-around is to start MakeHuman™ with the "--noshaders" command line switch. On Windows, this switch can be added to your shortcut. See also [[FAQ:MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]]
== Windows 10/11 ==
Download the zip file from the from the download page [http://www.makehuman.org/download.php download page]. Then simply unzip it where you prefer, and double click on makehuman.exe to start the application. No installation is needed.
== Mac OS X ==
Download the DMG file from the download page [http://www.makehuman.org/download.php download page]. Once downloaded, mount the disk image and drag the MakeHuman app into your Applications folder. MakeHuman supports Snow Leopard and newer.
== Linux ==
At the point of writing this, the newest stable release is only available via PPA, see [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-11x]. This should work on all debian derivatives.
Other Linux distributions will need to run from source.
== Installing from source ==
If you want to play around with the code, follow the latest development, or are having trouble with the prepackaged binaries you can run from a source clone from BitBucket. This requires that you have installed python 2.7 and a set of other
dependencies. See [[Documentation:Running_MakeHuman_from_source]] for more information.
528bc08c298ccb9a5826312a3c977e34aad1db42
2130
2129
2022-04-23T15:42:16Z
Robbaer
12
wikitext
text/x-wiki
MakeHuman can be downloaded here [http://www.makehumancommunity.org/content/downloads.html]. Later in the development life cycle, it might make sense to download nightly builds, which are found here: [http://download.tuxfamily.org/makehuman/nightly/].
Nightly represent the latest developmental updates and are not guaranteed to be stable.
Currently, the latest release is MakeHuman 1.2.0. For version 1.2.0, you can go directly to [http://www.makehumancommunity.org/content/makehuman_120.html] where you can find links for the release notes, the downloads for various platforms, and a list of know issues.
== System Requirements ==
You will need about half a gigabyte of free disk space.
In order to use some realtime materials and obtain the best from the internal rendering engine, it's required an average quality graphic card, produced after the year 2006. In general, your graphics card should support OpenGL Shading Language (GLSL) version 1.2 or above. There have been reports that the model colors are corrupted on some older Intel Graphics cards (often appearing blue and black). If you experience this, a possible work-around is to start MakeHuman™ with the "--noshaders" command line switch. On Windows, this switch can be added to your shortcut. See also [[FAQ:MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]]
== Windows ==
Download the zip file from the from the download page [http://www.makehuman.org/download.php download page]. Then simply unzip it where you prefer, and double click on makehuman.exe to start the application. No installation is needed.
== Mac OS X ==
Download the DMG file from the download page [http://www.makehuman.org/download.php download page]. Once downloaded, mount the disk image and drag the MakeHuman app into your Applications folder. MakeHuman supports Snow Leopard and newer.
== Linux ==
At the point of writing this, the newest stable release is only available via PPA, see [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-11x]. This should work on all debian derivatives.
Other Linux distributions will need to run from source.
== Installing from source ==
If you want to play around with the code, follow the latest development, or are having trouble with the prepackaged binaries you can run from a source clone from BitBucket. This requires that you have installed python 2.7 and a set of other
dependencies. See [[Documentation:Running_MakeHuman_from_source]] for more information.
20e5a6016277e4ab4d80bd7497c4cd85d2b5da2b
2129
2128
2022-04-23T15:41:17Z
Robbaer
12
wikitext
text/x-wiki
MakeHuman can be downloaded here [http://www.makehumancommunity.org/content/downloads.html]. Later in the development life cycle, it might make sense to download nightly builds, which are found here: [http://download.tuxfamily.org/makehuman/nightly/].
Nightly represent the latest developmental updates and are not guaranteed to be stable.
Currently, the latest release is MakeHuman 1.2.0. For version 1.2.0, you can go directly to [http://www.makehumancommunity.org/content/makehuman_120.html] where there links for release notes, downloads for various platforms, and a list of know issues.
== System Requirements ==
You will need about half a gigabyte of free disk space.
In order to use some realtime materials and obtain the best from the internal rendering engine, it's required an average quality graphic card, produced after the year 2006. In general, your graphics card should support OpenGL Shading Language (GLSL) version 1.2 or above. There have been reports that the model colors are corrupted on some older Intel Graphics cards (often appearing blue and black). If you experience this, a possible work-around is to start MakeHuman™ with the "--noshaders" command line switch. On Windows, this switch can be added to your shortcut. See also [[FAQ:MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]]
== Windows ==
Download the zip file from the from the download page [http://www.makehuman.org/download.php download page]. Then simply unzip it where you prefer, and double click on makehuman.exe to start the application. No installation is needed.
== Mac OS X ==
Download the DMG file from the download page [http://www.makehuman.org/download.php download page]. Once downloaded, mount the disk image and drag the MakeHuman app into your Applications folder. MakeHuman supports Snow Leopard and newer.
== Linux ==
At the point of writing this, the newest stable release is only available via PPA, see [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-11x]. This should work on all debian derivatives.
Other Linux distributions will need to run from source.
== Installing from source ==
If you want to play around with the code, follow the latest development, or are having trouble with the prepackaged binaries you can run from a source clone from BitBucket. This requires that you have installed python 2.7 and a set of other
dependencies. See [[Documentation:Running_MakeHuman_from_source]] for more information.
f75730f1584ec83e5c2020304f6a9234aeefe1b2
2128
2127
2022-04-23T15:39:17Z
Robbaer
12
/* Windows */
wikitext
text/x-wiki
MakeHuman can be downloaded here [http://www.makehumancommunity.org/content/downloads.html]. Later in the development life cycle, it might make sense to download nightly builds, which are found here: [http://download.tuxfamily.org/makehuman/nightly/].
Nightly represent the latest developmental updates and are not guaranteed to be stable.
== System Requirements ==
You will need about half a gigabyte of free disk space.
In order to use some realtime materials and obtain the best from the internal rendering engine, it's required an average quality graphic card, produced after the year 2006. In general, your graphics card should support OpenGL Shading Language (GLSL) version 1.2 or above. There have been reports that the model colors are corrupted on some older Intel Graphics cards (often appearing blue and black). If you experience this, a possible work-around is to start MakeHuman™ with the "--noshaders" command line switch. On Windows, this switch can be added to your shortcut. See also [[FAQ:MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]]
== Windows ==
Download the zip file from the from the download page [http://www.makehuman.org/download.php download page]. Then simply unzip it where you prefer, and double click on makehuman.exe to start the application. No installation is needed.
== Mac OS X ==
Download the DMG file from the download page [http://www.makehuman.org/download.php download page]. Once downloaded, mount the disk image and drag the MakeHuman app into your Applications folder. MakeHuman supports Snow Leopard and newer.
== Linux ==
At the point of writing this, the newest stable release is only available via PPA, see [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-11x]. This should work on all debian derivatives.
Other Linux distributions will need to run from source.
== Installing from source ==
If you want to play around with the code, follow the latest development, or are having trouble with the prepackaged binaries you can run from a source clone from BitBucket. This requires that you have installed python 2.7 and a set of other
dependencies. See [[Documentation:Running_MakeHuman_from_source]] for more information.
32944c8fe812d4522130e7aea71c4dbe6164ecf2
2127
2126
2022-04-23T15:29:12Z
Robbaer
12
wikitext
text/x-wiki
MakeHuman can be downloaded here [http://www.makehumancommunity.org/content/downloads.html]. Later in the development life cycle, it might make sense to download nightly builds, which are found here: [http://download.tuxfamily.org/makehuman/nightly/].
Nightly represent the latest developmental updates and are not guaranteed to be stable.
== System Requirements ==
You will need about half a gigabyte of free disk space.
In order to use some realtime materials and obtain the best from the internal rendering engine, it's required an average quality graphic card, produced after the year 2006. In general, your graphics card should support OpenGL Shading Language (GLSL) version 1.2 or above. There have been reports that the model colors are corrupted on some older Intel Graphics cards (often appearing blue and black). If you experience this, a possible work-around is to start MakeHuman™ with the "--noshaders" command line switch. On Windows, this switch can be added to your shortcut. See also [[FAQ:MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]]
== Windows ==
Download the zip file from the from the download page [http://www.makehuman.org/download.php download page]. For version 1.2.0, you can go directly to [http://www.makehumancommunity.org/content/makehuman_120.html]. Then simply unzip it where you prefer, and double click on makehuman.exe to start the application. No installation is needed.
== Mac OS X ==
Download the DMG file from the download page [http://www.makehuman.org/download.php download page]. Once downloaded, mount the disk image and drag the MakeHuman app into your Applications folder. MakeHuman supports Snow Leopard and newer.
== Linux ==
At the point of writing this, the newest stable release is only available via PPA, see [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-11x]. This should work on all debian derivatives.
Other Linux distributions will need to run from source.
== Installing from source ==
If you want to play around with the code, follow the latest development, or are having trouble with the prepackaged binaries you can run from a source clone from BitBucket. This requires that you have installed python 2.7 and a set of other
dependencies. See [[Documentation:Running_MakeHuman_from_source]] for more information.
f7a3a71bc6f9d39b9429f57b34dba6f5829977a8
2126
1126
2022-04-23T15:19:46Z
Robbaer
12
wikitext
text/x-wiki
MakeHuman can be downloaded here [http://www.makehumancommunity.org/content/downloads.html]. Later in the development life cycle, it might make sense to download nightly builds, which are found here: [http://download.tuxfamily.org/makehuman/nightly/].
Nightly represent the latest developmental updates and are not guaranteed to be stable.
== System Requirements ==
You will need about half a gigabyte of free disk space.
In order to use some realtime materials and obtain the best from the internal rendering engine, it's required an average quality graphic card, produced after the year 2006. In general, your graphics card should support OpenGL Shading Language (GLSL) version 1.2 or above. There have been reports that the model colors are corrupted on some older Intel Graphics cards (often appearing blue and black). If you experience this, a possible work-around is to start MakeHuman™ with the "--noshaders" command line switch. On Windows, this switch can be added to your shortcut. See also [[FAQ:MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]]
== Windows ==
Download the zip file from the from the download page [http://www.makehuman.org/download.php download page]. Then simply unzip it where you prefer, and double click on makehuman.exe to start the application. No installation is needed.
== Mac OS X ==
Download the DMG file from the download page [http://www.makehuman.org/download.php download page]. Once downloaded, mount the disk image and drag the MakeHuman app into your Applications folder. MakeHuman supports Snow Leopard and newer.
== Linux ==
At the point of writing this, the newest stable release is only available via PPA, see [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-11x]. This should work on all debian derivatives.
Other Linux distributions will need to run from source.
== Installing from source ==
If you want to play around with the code, follow the latest development, or are having trouble with the prepackaged binaries you can run from a source clone from BitBucket. This requires that you have installed python 2.7 and a set of other
dependencies. See [[Documentation:Running_MakeHuman_from_source]] for more information.
32944c8fe812d4522130e7aea71c4dbe6164ecf2
1126
1125
2016-07-11T10:12:19Z
Sobbayi
32
wikitext
text/x-wiki
MakeHuman can be downloaded here [http://www.makehuman.org/download.php]. Later in the development life cycle, it might make sense to download nightly builds, which are found here: [http://download.tuxfamily.org/makehuman/nightly/].
Nightly represent the latest deveopmental updates and are not guaranteed to be stable.
== System Requirements ==
You will need about half a gigabyte of free disk space.
In order to use some realtime materials and obtain the best from the internal rendering engine, it's required an average quality graphic card, produced after the year 2006. In general, your graphics card should support OpenGL Shading Language (GLSL) version 1.2 or above. There have been reports that the model colors are corrupted on some older Intel Graphics cards (often appearing blue and black). If you experience this, a possible work-around is to start MakeHuman™ with the "--noshaders" command line switch. On Windows, this switch can be added to your shortcut. See also [[FAQ:MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]]
== Windows ==
Download the zip file from the from the download page [http://www.makehuman.org/download.php download page]. Then simply unzip it where you prefer, and double click on makehuman.exe to start the application. No installation is needed.
== Mac OS X ==
Download the DMG file from the download page [http://www.makehuman.org/download.php download page]. Once downloaded, mount the disk image and drag the MakeHuman app into your Applications folder. MakeHuman supports Snow Leopard and newer.
== Linux ==
At the point of writing this, the newest stable release is only available via PPA, see [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-11x]. This should work on all debian derivatives.
Other Linux distributions will need to run from source.
== Installing from source ==
If you want to play around with the code, follow the latest development, or are having trouble with the prepackaged binaries you can run from a source clone from BitBucket. This requires that you have installed python 2.7 and a set of other
dependencies. See [[Documentation:Running_MakeHuman_from_source]] for more information.
c031ff40dd6101d875e04a2a0895ebd690f22779
1125
1124
2016-07-11T10:11:27Z
Sobbayi
32
wikitext
text/x-wiki
MakeHuman can be downloaded here [http://www.makehuman.org/download.php]. Later in the developent life cycle, it might make sense to download nightly builds, which are found here: [http://download.tuxfamily.org/makehuman/nightly/].
Nightly represent the latest deveopmental updates and are not guaranteed to be stable.
== System Requirements ==
You will need about half a gigabyte of free disk space.
In order to use some realtime materials and obtain the best from the internal rendering engine, it's required an average quality graphic card, produced after the year 2006. In general, your graphics card should support OpenGL Shading Language (GLSL) version 1.2 or above. There have been reports that the model colors are corrupted on some older Intel Graphics cards (often appearing blue and black). If you experience this, a possible work-around is to start MakeHuman™ with the "--noshaders" command line switch. On Windows, this switch can be added to your shortcut. See also [[FAQ:MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]]
== Windows ==
Download the zip file from the from the download page [http://www.makehuman.org/download.php download page]. Then simply unzip it where you prefer, and double click on makehuman.exe to start the application. No installation is needed.
== Mac OS X ==
Download the DMG file from the download page [http://www.makehuman.org/download.php download page]. Once downloaded, mount the disk image and drag the MakeHuman app into your Applications folder. MakeHuman supports Snow Leopard and newer.
== Linux ==
At the point of writing this, the newest stable release is only available via PPA, see [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-11x]. This should work on all debian derivates.
Other linux distributions will need to run from source.
== Installing from source ==
If you want to play around with the code, follow the latest development, or are having trouble with the prepackaged binaries you can run from a source clone from BitBucket. This requires that you have installed python 2.7 and a set of other
dependencies. See [[Documentation:Running_MakeHuman_from_source]] for more information.
351a49d1de7670bfe303a94855a5dbefeddb7d1b
1124
1123
2016-07-11T10:10:25Z
Sobbayi
32
/* Mac OS X */
wikitext
text/x-wiki
MakeHuman can be downloaded here [http://http://www.makehuman.org/download.php]. Later in the developent life cycle, it might make sense to download nightly builds, which are found here: [http://download.tuxfamily.org/makehuman/nightly/].
Nightly represent the latest deveopmental updates and are not guaranteed to be stable.
== System Requirements ==
You will need about half a gigabyte of free disk space.
In order to use some realtime materials and obtain the best from the internal rendering engine, it's required an average quality graphic card, produced after the year 2006. In general, your graphics card should support OpenGL Shading Language (GLSL) version 1.2 or above. There have been reports that the model colors are corrupted on some older Intel Graphics cards (often appearing blue and black). If you experience this, a possible work-around is to start MakeHuman™ with the "--noshaders" command line switch. On Windows, this switch can be added to your shortcut. See also [[FAQ:MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]]
== Windows ==
Download the zip file from the from the download page [http://www.makehuman.org/download.php download page]. Then simply unzip it where you prefer, and double click on makehuman.exe to start the application. No installation is needed.
== Mac OS X ==
Download the DMG file from the download page [http://www.makehuman.org/download.php download page]. Once downloaded, mount the disk image and drag the MakeHuman app into your Applications folder. MakeHuman supports Snow Leopard and newer.
== Linux ==
At the point of writing this, the newest stable release is only available via PPA, see [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-11x]. This should work on all debian derivates.
Other linux distributions will need to run from source.
== Installing from source ==
If you want to play around with the code, follow the latest development, or are having trouble with the prepackaged binaries you can run from a source clone from BitBucket. This requires that you have installed python 2.7 and a set of other
dependencies. See [[Documentation:Running_MakeHuman_from_source]] for more information.
58fc31508a1b027967381b7d2e0effd1fdb3a4d2
1123
992
2016-07-11T10:09:50Z
Sobbayi
32
/* Windows */
wikitext
text/x-wiki
MakeHuman can be downloaded here [http://http://www.makehuman.org/download.php]. Later in the developent life cycle, it might make sense to download nightly builds, which are found here: [http://download.tuxfamily.org/makehuman/nightly/].
Nightly represent the latest deveopmental updates and are not guaranteed to be stable.
== System Requirements ==
You will need about half a gigabyte of free disk space.
In order to use some realtime materials and obtain the best from the internal rendering engine, it's required an average quality graphic card, produced after the year 2006. In general, your graphics card should support OpenGL Shading Language (GLSL) version 1.2 or above. There have been reports that the model colors are corrupted on some older Intel Graphics cards (often appearing blue and black). If you experience this, a possible work-around is to start MakeHuman™ with the "--noshaders" command line switch. On Windows, this switch can be added to your shortcut. See also [[FAQ:MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]]
== Windows ==
Download the zip file from the from the download page [http://www.makehuman.org/download.php download page]. Then simply unzip it where you prefer, and double click on makehuman.exe to start the application. No installation is needed.
== Mac OS X ==
Download the DMG file from the download page [http://http://www.makehuman.org/download.php download page]. Once downloaded, mount the disk image and drag the MakeHuman app into your Applications folder. MakeHuman supports Snow Leopard and newer.
== Linux ==
At the point of writing this, the newest stable release is only available via PPA, see [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-11x]. This should work on all debian derivates.
Other linux distributions will need to run from source.
== Installing from source ==
If you want to play around with the code, follow the latest development, or are having trouble with the prepackaged binaries you can run from a source clone from BitBucket. This requires that you have installed python 2.7 and a set of other
dependencies. See [[Documentation:Running_MakeHuman_from_source]] for more information.
6c7909b9e7c94e4992716148e613f63eedc13a5a
992
774
2016-05-31T08:38:38Z
Joepal
14
/* Installing from source */
wikitext
text/x-wiki
MakeHuman can be downloaded here [http://http://www.makehuman.org/download.php]. Later in the developent life cycle, it might make sense to download nightly builds, which are found here: [http://download.tuxfamily.org/makehuman/nightly/].
Nightly represent the latest deveopmental updates and are not guaranteed to be stable.
== System Requirements ==
You will need about half a gigabyte of free disk space.
In order to use some realtime materials and obtain the best from the internal rendering engine, it's required an average quality graphic card, produced after the year 2006. In general, your graphics card should support OpenGL Shading Language (GLSL) version 1.2 or above. There have been reports that the model colors are corrupted on some older Intel Graphics cards (often appearing blue and black). If you experience this, a possible work-around is to start MakeHuman™ with the "--noshaders" command line switch. On Windows, this switch can be added to your shortcut. See also [[FAQ:MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]]
== Windows ==
Download the zip file from the from the download page [http://http://www.makehuman.org/download.php download page]. Then simply unzip it where you prefer, and double click on makehuman.exe to start the application. No installation is needed.
== Mac OS X ==
Download the DMG file from the download page [http://http://www.makehuman.org/download.php download page]. Once downloaded, mount the disk image and drag the MakeHuman app into your Applications folder. MakeHuman supports Snow Leopard and newer.
== Linux ==
At the point of writing this, the newest stable release is only available via PPA, see [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-11x]. This should work on all debian derivates.
Other linux distributions will need to run from source.
== Installing from source ==
If you want to play around with the code, follow the latest development, or are having trouble with the prepackaged binaries you can run from a source clone from BitBucket. This requires that you have installed python 2.7 and a set of other
dependencies. See [[Documentation:Running_MakeHuman_from_source]] for more information.
faa765f67b6c53b937cfcc6f48c7bbd399b7d2ca
774
745
2016-05-24T11:58:06Z
Joepal
14
wikitext
text/x-wiki
MakeHuman can be downloaded here [http://http://www.makehuman.org/download.php]. Later in the developent life cycle, it might make sense to download nightly builds, which are found here: [http://download.tuxfamily.org/makehuman/nightly/].
Nightly represent the latest deveopmental updates and are not guaranteed to be stable.
== System Requirements ==
You will need about half a gigabyte of free disk space.
In order to use some realtime materials and obtain the best from the internal rendering engine, it's required an average quality graphic card, produced after the year 2006. In general, your graphics card should support OpenGL Shading Language (GLSL) version 1.2 or above. There have been reports that the model colors are corrupted on some older Intel Graphics cards (often appearing blue and black). If you experience this, a possible work-around is to start MakeHuman™ with the "--noshaders" command line switch. On Windows, this switch can be added to your shortcut. See also [[FAQ:MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]]
== Windows ==
Download the zip file from the from the download page [http://http://www.makehuman.org/download.php download page]. Then simply unzip it where you prefer, and double click on makehuman.exe to start the application. No installation is needed.
== Mac OS X ==
Download the DMG file from the download page [http://http://www.makehuman.org/download.php download page]. Once downloaded, mount the disk image and drag the MakeHuman app into your Applications folder. MakeHuman supports Snow Leopard and newer.
== Linux ==
At the point of writing this, the newest stable release is only available via PPA, see [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-11x]. This should work on all debian derivates.
Other linux distributions will need to run from source.
== Installing from source ==
If you want to play around with the code, follow the latest development, or are having trouble with the prepackaged binaries you can run from a source clone from BitBucket. This requires that you have installed python 2.7 and a set of other
dependencies. See [[Documentation:Libraries and build procedures]] for more information.
7648c5a59799606ad69f0a9085e17e61bea988b9
745
744
2016-05-20T13:11:17Z
Joepal
14
wikitext
text/x-wiki
MakeHuman can be downloaded here [http://http://www.makehuman.org/download.php]. Later in the developent life cycle, it might make sense to download nightly builds, which are found here: [http://download.tuxfamily.org/makehuman/nightly/].
Nightly represent the latest deveopmental updates and are not guaranteed to be stable.
==== System Requirements ====
You will need about half a gigabyte of free disk space.
In order to use some realtime materials and obtain the best from the internal rendering engine, it's required an average quality graphic card, produced after the year 2006. In general, your graphics card should support OpenGL Shading Language (GLSL) version 1.2 or above. There have been reports that the model colors are corrupted on some older Intel Graphics cards (often appearing blue and black). If you experience this, a possible work-around is to start MakeHuman™ with the "--noshaders" command line switch. On Windows, this switch can be added to your shortcut. See also [[FAQ:MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]]
==== Windows ====
Download the zip file from the from the download page [http://http://www.makehuman.org/download.php download page]. Then simply unzip it where you prefer, and double click on makehuman.exe to start the application. No installation is needed.
==== Mac OS X ====
Download the DMG file from the download page [http://http://www.makehuman.org/download.php download page]. Once downloaded, mount the disk image and drag the MakeHuman app into your Applications folder. MakeHuman supports Snow Leopard and newer.
==== Linux ====
At the point of writing this, the newest stable release is only available via PPA, see [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-11x]. This should work on all debian derivates.
Other linux distributions will need to run from source.
==== Installing from source ====
If you want to play around with the code, follow the latest development, or are having trouble with the prepackaged binaries you can run from a source clone from BitBucket. This requires that you have installed python 2.7 and a set of other
dependencies. See [[Documentation:Libraries and build procedures]] for more information.
3ab137f716992cdbff945b9e710ec93c7a6b72f8
744
679
2016-05-20T13:09:53Z
Joepal
14
wikitext
text/x-wiki
MakeHuman can be downloaded here [http://http://www.makehuman.org/download.php]. Later in the developent life cycle, it might make sense to download nightly builds, which are found here: [http://download.tuxfamily.org/makehuman/nightly/].
Nightly represent the latest deveopmental updates and are not guaranteed to be stable.
==== System Requirements ====
You will need about half a gigabyte of free disk space.
In order to use some realtime materials and obtain the best from the internal rendering engine, it's required an average quality graphic card, produced after the year 2006. In general, your graphics card should support OpenGL Shading Language (GLSL) version 1.2 or above. There have been reports that the model colors are corrupted on some older Intel Graphics cards (often appearing blue and black). If you experience this, a possible work-around is to start MakeHuman™ with the "--noshaders" command line switch. On Windows, this switch can be added to your shortcut. See also [[FAQ:MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]]
==== Windows ====
Download the zip file from the from the download page [http://http://www.makehuman.org/download.php download page]. Then simply unzip it where you prefer, and double click on makehuman.exe to start the application. No installation is needed.
==== Mac OS X ====
Download the DMG file from the download page [http://http://www.makehuman.org/download.php download page]. Once downloaded, mount the disk image and drag the MakeHuman app into your Applications folder. MakeHuman supports Snow Leopard and newer.
==== Linux ====
At the point of writing this, the newest stable release is only available via PPA, see [https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-11x]. This should work on all debian derivates.
Other linux distributions will need to run from source.
==== Installing from source ====
If you want to install from source or are having trouble with the prepackaged binaries you can run from a source clone from BitBucket. This requires that you have installed python 2.7 and a set of other
dependencies. See [[Documentation:Libraries and build procedures]] for more information.
e3dd537a6554ceefe6f79db948a513239da59dd4
679
2016-05-20T08:28:04Z
Joepal
14
Created page with "==== Installable versions of MakeHuman™ are available for Windows, Mac OS X and Linux. ==== The installable versions of the current!LINK!http://www.makehuman.org/content/do..."
wikitext
text/x-wiki
==== Installable versions of MakeHuman™ are available for Windows, Mac OS X and Linux. ====
The installable versions of the current!LINK!http://www.makehuman.org/content/download_makehuman_102.html -- stable !/LINK!!LINK!http://www.makehuman.org/content/download_makehuman_102.html -- release!/LINK!of MakeHuman are available for downlaod, as are!LINK!http://www.makehuman.org/content/download_nightlybuild.html -- nightly builds!/LINK! representing the latest deveopmental updates (not guaranteed stable) for the same platforms.
==== System Requirements ====
You will need about 250 MB of disk space. In order to use some realtime materials and obtain the best from the internal rendering engine, it's required an average quality graphic card, produced after the year 2006. In general, your graphics card should support OpenGL Shading Language (GLSL) version 1.2 or above. There have been reports that the model colors are corrupted on some older Intel Graphics cards (often appearing blue and black). If you experience this, a possible work-around is to start MakeHuman™ with the "-noshaders" command line switch. On Windows, this switch can be added to your shortcut.
==== Choice of Installation Directory ====
The preferred install location location for MakeHuman is a directory simply named "MakeHuman", but in practice you can use another meaningful name. if it is constructed of ASCII characters. On Windows, C:\Makehuman would make a good choice, and on Linux-alike OS's ~/MakeHuman would make a good choice. Program data is written to the user's home directory by default, and not to the program install directory. Thus, it is not essential that users have write privledges to the program install directory.
One caution on Windows systems is that the installation directory should not contain non-ASCII characters as this has been reported to cause problems for some users. This also implies that if your username includes non-ASCII letters that the desktop and Docuemts folders will not be appropriate places for installation because they would result in a path containing non-ASCII cahracters [e.g., C:\users\Åke\MakeHuman or C:\users\Desktop\Åke\MakeHuman are likely to cause problems).
==== Windows ====
Download the zip file (or the installer, if available) from the from the download page (!LINK!http://makehuman.org/content/download.html -- http://makehuman.org/content/download.html!/LINK!).
* Installer (not available yet): just run it. The application will be accessible from the Start menu.
* Zip arhive: just to unzip it where you prefer, and double click on makehuman.exe to start the application.
==== Mac OS X ====
Download and run the installer (or the zip file) from the from the download page (!LINK!http://makehuman.org/content/download.html -- http://makehuman.org/content/download.html!/LINK!). Once downloaded, mount the disk image and drag the MakeHuman app into your Applications folder. MakeHuman™ supports Snow Leopard and newer.
==== Linux ====
Installers are avaiaible for debian (E.g Ubuntu, Debian etc.) and rpm based distributions (E.g Red-hat, Suse etc.). Please use the appropriate package for your distribution.
If you do not want to use the prebuilt packages or are having trouble with the packages refer to "Installing from source" below.
==== Installing from source ====
If you want to install from source or are having trouble with the prepackaged binaries; Makehuman provides compressed source packages. These will work on all supported platforms provided all dependencies are satisfied. To execute MakeHuman simply run makehuman.py located in your unzipped makehuman source directory.
For dependencies and libraries, please read the section "!LINK!http://www.makehuman.org/doc/node/libraries_and_build_procedures.html -- Libraries and build procedures!/LINK!".
9513ea89c904c95ba0a33da8a08a4f3e6762165c
Documentation:Legal
3000
50
2151
743
2024-07-04T17:15:21Z
Stefano.ferrari
128
The urls to the license where out-of-date. I put the url of the github repository and the new site page with the explanation.
wikitext
text/x-wiki
=== The MakeHuman License ===
The MakeHuman license is a split AGPL/CC0 setup.[https://github.com/makehumancommunity/makehuman/blob/master/LICENSE.md The full text of the license can be found here]. There is also a [http://www.makehumancommunity.org/content/license_explanation.html license explanation page.]
=== External Tools Licenses ===
From time to time the MakeHuman™ Team may release new external tools in various forms. Unless otherwise explicitly stated they are covered by the GNU AGPL 3.
===== Current tools are: =====
* The MakeTarget addon for Blender is distributed under the GNU AGPL 3.
* The MakeTarget standalone application is distributed under the GNU AGPL 3.
* The MakeClothes addon for Blender is distributed under the GNU AGPL 3.
* The MakeWalk addon for Blender is distributed under the GNU GPL 2. Its primary copyright holder is Thomas Larsson.
See the [http://www.gnu.org/licenses/agpl-3.0.html GNU Affero General Public License] and [http://www.gnu.org/licenses/gpl-2.0.html General Public License] for more details
=== Copyright and primary legal contact ===
In spring 2016, the copyright of the code files and the assets were consolidated and standardized. Some members of the core dev team explicitly asked to ''not'' be assigned any copyright or responsibility for the code. After this, most of what now constitutes MakeHuman is jointly copyrighted by the remaining members of the team. See the headers of the individual code or asset files for more details.
While doing this, copyright was also assigned to [https://www.datacollection.se Data Collection AB] (which is a limited liability company owned by Joel Palmius), and this company was given the responsibility of working
as primary legal contact for MakeHuman.
d49cec35f5e7ef5253da738e497fbfc457b2779c
743
742
2016-05-20T13:00:45Z
Joepal
14
wikitext
text/x-wiki
=== The MakeHuman License ===
The MakeHuman license is a split AGPL/CC0 setup.[http://www.makehuman.org/license.php The full text of the license can be found here]. There is also a [http://www.makehuman.org/license_explanation.php license explanation page.]
=== External Tools Licenses ===
From time to time the MakeHuman™ Team may release new external tools in various forms. Unless otherwise explicitly stated they are covered by the GNU AGPL 3.
===== Current tools are: =====
* The MakeTarget addon for Blender is distributed under the GNU AGPL 3.
* The MakeTarget standalone application is distributed under the GNU AGPL 3.
* The MakeClothes addon for Blender is distributed under the GNU AGPL 3.
* The MakeWalk addon for Blender is distributed under the GNU GPL 2. Its primary copyright holder is Thomas Larsson.
See the [http://www.gnu.org/licenses/agpl-3.0.html GNU Affero General Public License] and [http://www.gnu.org/licenses/gpl-2.0.html General Public License] for more details
=== Copyright and primary legal contact ===
In spring 2016, the copyright of the code files and the assets were consolidated and standardized. Some members of the core dev team explicitly asked to ''not'' be assigned any copyright or responsibility for the code. After this, most of what now constitutes MakeHuman is jointly copyrighted by the remaining members of the team. See the headers of the individual code or asset files for more details.
While doing this, copyright was also assigned to [https://www.datacollection.se Data Collection AB] (which is a limited liability company owned by Joel Palmius), and this company was given the responsibility of working
as primary legal contact for MakeHuman.
292c148fd1ac8fa835dc10fb14748c6a5a4692a5
742
741
2016-05-20T12:59:54Z
Joepal
14
wikitext
text/x-wiki
=== The MakeHuman License ===
The MakeHuman license is a split AGPL/CC0 setup.[http://www.makehuman.org/license.php The full text of the license can be found here]. There is also a [http://www.makehuman.org/license_explanation.php license explanation page.]
=== External Tools Licenses ===
From time to time the MakeHuman™ Team may release new external tools in various forms. Unless otherwise explicitly stated they are covered by the GNU AGPL 3.
===== Current tools are: =====
* The MakeTarget addon for Blender is distributed under the GNU AGPL 3.
* The MakeTarget standalone application is distributed under the GNU AGPL 3.
* The MakeClothes addon for Blender is distributed under the GNU AGPL 3.
* The MakeWalk addon for Blender is distributed under the GNU GPL 2. Its primary copyright holder is Thomas Larsson.
See the [http://www.gnu.org/licenses/agpl-3.0.html GNU Affero General Public License] and [http://www.gnu.org/licenses/gpl-2.0.html General Public License] for more details
=== Copyright and primary legal contact ===
In spring 2016, the copyright of the code files and the assets were consolidated and standardized. Some members of the core dev team explicitly asked to ''not'' be assigned any copyright or responsibility for the code. After this, most of what now constitutes MakeHuman is jointly copyrighted by the remaining members of the team.
While doing this, copyright was also assigned to [https://www.datacollection.se Data Collection AB] (which is a limited liability company owned by Joel Palmius), and this company was given the responsibility of working
as primary legal contact for MakeHuman.
8f93f59b13af6b021c5b2e98abdc42330a865682
741
740
2016-05-20T12:59:07Z
Joepal
14
wikitext
text/x-wiki
=== The MakeHuman License ===
The MakeHuman license is a split AGPL/CC0 setup.[http://www.makehuman.org/license.php The full text of the license can be found here]. There is also a [http://www.makehuman.org/license_explanation.php license explanation page.]
=== External Tools Licenses ===
From time to time the MakeHuman™ Team may release new external tools in various forms. Unless otherwise explicitly stated they are covered by the GNU AGPL 3.
===== Current tools are: =====
* The MakeTarget addon for Blender is distributed under the GNU AGPL 3.
* The MakeTarget standalone application is distributed under the GNU AGPL 3.
* The MakeClothes addon for Blender is distributed under the GNU AGPL 3.
* The MakeWalk addon for Blender is distributed under the GNU GPL 2. Its primary copyright holder is Thomas Larsson.
See the [http://www.gnu.org/licenses/agpl-3.0.html GNU Affero General Public License] and [http://www.gnu.org/licenses/gpl-2.0.html General Public License] for more details
=== Copyright and primary legal contact ===
In spring 2016, the copyright of the code files and the assets were consolidated and standardized. Some members of the core dev team explicitly asked to ''not'' be assigned any copyright or responsibility for the code. Most of what now constitutes MakeHuman is thus now jointly copyrighted by the other members of the team.
While doing this, copyright was also assigned to [https://www.datacollection.se Data Collection AB] (which is a limited liability company owned by Joel Palmius), and this company was given the responsibility of working
as primary legal contact for MakeHuman.
c0f8e7864d110a5caeda1a1f5ce6679a632a75ff
740
739
2016-05-20T12:58:38Z
Joepal
14
wikitext
text/x-wiki
=== The MakeHuman License ===
The MakeHuman license is a split AGPL/CC0 setup.[http://www.makehuman.org/license.php The full text of the license can be found here]. There is also a [http://www.makehuman.org/license_explanation.php license explanation page.]
=== External Tools Licenses ===
From time to time the MakeHuman™ Team may release new external tools in various forms. Unless otherwise explicitly stated they are covered by the GNU AGPL 3.
===== Current tools are: =====
* The MakeTarget addon for Blender is distributed under the GNU AGPL 3.
* The MakeTarget standalone application is distributed under the GNU AGPL 3.
* The MakeClothes addon for Blender is distributed under the GNU AGPL 3.
* The MakeWalk addon for Blender is distributed under the GNU GPL 2. It's primary copyright holder is Thomas Larsson.
See the [http://www.gnu.org/licenses/agpl-3.0.html GNU Affero General Public License] and [http://www.gnu.org/licenses/gpl-2.0.html General Public License] for more details
=== Copyright and primary legal contact ===
In spring 2016, the copyright of the code files and the assets were consolidated and standardized. Some members of the core dev team explicitly asked to ''not'' be assigned any copyright or responsibility for the code. Most of what now constitutes MakeHuman is thus now jointly copyrighted by the other members of the team.
While doing this, copyright was also assigned to [https://www.datacollection.se Data Collection AB] (which is a limited liability company owned by Joel Palmius), and this company was given the responsibility of working
as primary legal contact for MakeHuman.
04a246bf51f28b25107d40cdedc2a5fe1a0ef312
739
117
2016-05-20T12:57:00Z
Joepal
14
wikitext
text/x-wiki
=== The MakeHuman License ===
The MakeHuman license is a split AGPL/CC0 setup.[http://www.makehuman.org/license.php The full text of the license can be found here]. There is also a [http://www.makehuman.org/license_explanation.php license explanation page.]
=== External Tools Licenses ===
From time to time the MakeHuman™ Team may release new external tools in various forms. Unless otherwise explicitly stated they are covered by the GNU AGPL 3.
===== Current tools are: =====
* MakeTarget scripts for Blender is distributed under the GNU AGPL 3. The MakeHuman morph target files that it generates are by default is not covered by any license, since they are designed by you. However, if you make a morph target based on another pre-existing morph target (or a combination of pre-existing morph targets) you must fulfill the license terms of the pre-existing morph target.
Note: All targets in the MakeHuman base distribution are licensed AGPL. Also that any target derived from these must also be licensed AGPL unless you get written permission by the author of the target file you derive from.
* MakeClothes script for Blender is distributed under the GNU AGPL 3. If the user is the original author of the clothes, he is free to choose any license for them.
* MakeWalk script for Blender is distributed under the GNU GPL 2. The license of output files generated using it is free to determine by the user, except when mocap data was used that enforces a specific license.
* MakeTarget standalone is distributed under the GNU AGPL 3. The MakeHuman morph target files that it generates are by default not covered by any license, since they are designed by you. However, if you make a morph target based on another pre-existing morph target (or a combination of pre-existing morph targets) you must fulfill the license terms of the pre-existing morph target.
Note: All targets in the MakeHuman base distribution are licensed AGPL. Also that any target derived from these must also be licensed AGPL unless you get written permission by the author of the target file you derive from.
See the [http://www.gnu.org/licenses/agpl-3.0.html GNU Affero General Public License] and [http://www.gnu.org/licenses/gpl-2.0.html General Public License] for more details
=== Copyright and primary legal contact ===
In spring 2016, the copyright of the code files and the assets were consolidated and standardized. Some members of the core dev team explicitly asked to ''not'' be assigned any copyright or responsibility for the code. Most of what now constitutes MakeHuman is thus now jointly copyrighted by the other members of the team.
While doing this, copyright was also assigned to [https://www.datacollection.se Data Collection AB] (which is a limited liability company owned by Joel Palmius), and this company was given the responsibility of working
as primary legal contact for MakeHuman.
63776744a6d9c84e44d69210f3ffc05ce0ae947d
117
116
2015-07-10T15:23:09Z
Aiena
15
fixed licensing TODO
wikitext
text/x-wiki
==== Legal ====
The MakeHuman License
The MakeHuman license is a split AGPL/CC0 setup.[http://www.makehuman.org/license.php The full text of the license can be found here]. There is also a [http://www.makehuman.org/license_explanation.php license explanation page.]
==== External Tools Licenses ====
From time to time the MakeHuman™ Team may release new external tools in various forms. Unless otherwise explicitly stated they are covered by the GNU AGPL 3.
===== Current tools are: =====
* MakeTarget scripts for Blender is distributed under the GNU AGPL 3. The MakeHuman morph target files that it generates are by default is not covered by any license, since they are designed by you. However, if you make a morph target based on another pre-existing morph target (or a combination of pre-existing morph targets) you must fulfill the license terms of the pre-existing morph target.
Note: All targets in the MakeHuman base distribution are licensed AGPL. Also that any target derived from these must also be licensed AGPL unless you get written permission by the author of the target file you derive from.
* MakeClothes script for Blender is distributed under the GNU AGPL 3. If the user is the original author of the clothes, he is free to choose any license for them.
* MakeWalk script for Blender is distributed under the GNU GPL 2. The license of output files generated using it is free to determine by the user, except when mocap data was used that enforces a specific license.
* MHX Importer.It is distributed under the GNU GPL 2.
* MakeTarget standalone is distributed under the GNU AGPL 3. The MakeHuman morph target files that it generates are by default not covered by any license, since they are designed by you. However, if you make a morph target based on another pre-existing morph target (or a combination of pre-existing morph targets) you must fulfill the license terms of the pre-existing morph target.
Note: All targets in the MakeHuman base distribution are licensed AGPL. Also that any target derived from these must also be licensed AGPL unless you get written permission by the author of the target file you derive from.
See the [http://www.gnu.org/licenses/agpl-3.0.html GNU Affero General Public License!]and [http://www.gnu.org/licenses/gpl-2.0.html General Public License!] for more details
e7a439bc07f218008f370cd086bde78a86bcfa4b
116
115
2015-07-10T14:27:16Z
Aiena
15
/* Legal */
wikitext
text/x-wiki
==== Legal ====
The MakeHuman License
The MakeHuman license is a split AGPL/CC0 setup.[/content/license.html The full text of the license can be found here]. There is also a [/content/license_explanation.html license explanation page.]
==== External Tools Licenses ====
From time to time the MakeHuman™ Team may release new external tools in various forms. Unless otherwise explicitly stated they are covered by the GNU AGPL 3.
===== Current tools are: =====
* MakeTarget scripts for Blender is distributed under the GNU AGPL 3. The MakeHuman morph target files that it generates are by default is not covered by any license, since they are designed by you. However, if you make a morph target based on another pre-existing morph target (or a combination of pre-existing morph targets) you must fulfill the license terms of the pre-existing morph target.
Note: All targets in the MakeHuman base distribution are licensed AGPL. Also that any target derived from these must also be licensed AGPL unless you get written permission by the author of the target file you derive from.
* MakeClothes script for Blender is distributed under the GNU AGPL 3. If the user is the original author of the clothes, he is free to choose any license for them.
* MakeWalk script for Blender is distributed under the GNU GPL 2. The license of output files generated using it is free to determine by the user, except when mocap data was used that enforces a specific license.
* MHX Importer.It is distributed under the GNU GPL 2.
* MakeTarget standalone is distributed under the GNU AGPL 3. The MakeHuman morph target files that it generates are by default not covered by any license, since they are designed by you. However, if you make a morph target based on another pre-existing morph target (or a combination of pre-existing morph targets) you must fulfill the license terms of the pre-existing morph target.
Note: All targets in the MakeHuman base distribution are licensed AGPL. Also that any target derived from these must also be licensed AGPL unless you get written permission by the author of the target file you derive from.
See the [http://www.gnu.org/licenses/agpl-3.0.html GNU Affero General Public License!]and [http://www.gnu.org/licenses/gpl-2.0.html General Public License!] for more details
f05f9a253f324c42d6a6776dcff4b4a08cdf6e37
115
2015-07-10T14:10:47Z
Aiena
15
Add initial updated Legal page (TODO: make a local /content/license.html)
wikitext
text/x-wiki
==== Legal ====
The MakeHuman License
The MakeHuman license is a split AGPL/CC0 setup.[/content/license.html The full text of the license can be found here]. There is also a [/content/license_explanation.html license explanation page.
==== External Tools Licenses ====
From time to time the MakeHuman™ Team may release new external tools in various forms. Unless otherwise explicitly stated they are covered by the GNU AGPL 3.
===== Current tools are: =====
* MakeTarget scripts for Blender is distributed under the GNU AGPL 3. The MakeHuman morph target files that it generates are by default is not covered by any license, since they are designed by you. However, if you make a morph target based on another pre-existing morph target (or a combination of pre-existing morph targets) you must fulfill the license terms of the pre-existing morph target.
Note: All targets in the MakeHuman base distribution are licensed AGPL. Also that any target derived from these must also be licensed AGPL unless you get written permission by the author of the target file you derive from.
* MakeClothes script for Blender is distributed under the GNU AGPL 3. If the user is the original author of the clothes, he is free to choose any license for them.
* MakeWalk script for Blender is distributed under the GNU GPL 2. The license of output files generated using it is free to determine by the user, except when mocap data was used that enforces a specific license.
* MHX Importer.It is distributed under the GNU GPL 2.
* MakeTarget standalone is distributed under the GNU AGPL 3. The MakeHuman morph target files that it generates are by default not covered by any license, since they are designed by you. However, if you make a morph target based on another pre-existing morph target (or a combination of pre-existing morph targets) you must fulfill the license terms of the pre-existing morph target.
Note: All targets in the MakeHuman base distribution are licensed AGPL. Also that any target derived from these must also be licensed AGPL unless you get written permission by the author of the target file you derive from.
See the [http://www.gnu.org/licenses/agpl-3.0.html GNU Affero General Public License!]and [http://www.gnu.org/licenses/gpl-2.0.html General Public License!] for more details
1e196583f3d5c3a92a24b5b93326b495c2feab05
Documentation:Libraries and build procedures
3000
246
1149
1117
2016-08-29T14:10:00Z
Aranuvir
17
wikitext
text/x-wiki
With each MakeHuman release, packages are created for MS Windows, Mac OS X, and Debian derivatives for linux. At present there is not an operating system independent package (although the raw repository will work on all platforms). Each platform has special considerations that are addressed by the designated mainainter for that platform.
=== Dependencies ===
In order to run makehuman and/or build packages the following need to be installed on the system:
* Python (Python 2.7 (python 3.x will not work).!LINK!http://www.python.org/download/ -- http://www.python.org/download/!/LINK!)
* Python-numpy (!LINK!http://sourceforge.net/projects/numpy/files/NumPy/ -- http://sourceforge.net/projects/numpy/files/NumPy/!/LINK!)
* Python-opengl (!LINK!http://pyopengl.sourceforge.net/ -- http://pyopengl.sourceforge.net/!/LINK!)
* Python-qt4 (!LINK!http://www.riverbankcomputing.com/software/pyqt -- http://www.riverbankcomputing.com/software/pyqt!/LINK!)
* Python-qt4-gl (Package required by some linux distributions only)
For linux there are scripts (buildscripts/deb/install_deb_dependencies.bash and buildscripts/rpm/install_rpm_dependencies.bash) which will install all the necessary dependencies but please note that these scripts may not agree with all debian and rpm based distros so it may be worth reading the bash script contents prior to running them.
=== Assets ===
For obvious reasons, the binary assets (characters, textures, clothes, etc..) are not stored on Mercurial repository, but in two different places:
* * Immutable single archive files of the assets of finished versions of MH are stored (disregarding patch version token) on bitbucket (!LINK!https://bitbucket.org/MakeHuman/makehuman/downloads -- https://bitbucket.org/MakeHuman/makehuman/downloads!/LINK!)
* Assets still under development are store on Tuxfamily ftp:!LINK!http://download.tuxfamily.org/makehuman/assets/ -- http://download.tuxfamily.org/makehuman/assets/!/LINK!
When a new version is released, the current ftp asset tree gets zipped and uploaded to bitbucket. In the tuxfamily asset store, the folder for that version's contents are replaced with an archive_url.txt file that points the download script to the right url.
A new folder gets created on the tuxfamily host containing the assets to be included in the next release. For a released version, assets will usually not change, unless to fix bugs (in which case the previous archive is best kept, and a new one is created alongside it with a slightly different name), and the archive_url.txt file is updated.
To download automatically the assets and place them in the correct folder on a local repository, it's sufficient to run the python script with the command:
=== Other scripts ===
In the makehuman root, there are a few scripts which need to be run:
* cleannpz.sh (cleannpz.bat)
* cleanpyc.sh (cleanpyc.bat)
* compile_targets.py
* compile_models.py
* compile_proxies.py
Note that all these are called automatically in the correct order by the "build_prepare.py" script in "buildscripts" when running one of the pre-existing package building routines below. However, when running makehuman from a source checkout, you will need to run these scripts in the above order.
=== General proceedings for making a package ===
On all platforms the following steps should be taken when making the package:
* Update from HG repository (!LINK!https://bitbucket.org/MakeHuman/makehuman -- https://bitbucket.org/MakeHuman/makehuman!/LINK!)
* Run the scripts in the makehuman root directory. These will for example compile target files to npz files
* Copy all that's relevant to a work directory, excluding at least *.target, the utils directory and the tools directory (strictly speaking there are more that is not necessary, but it will have a minor influence)
* Do platform-dependent stuff to the work directory
* Zip the directory into a suitable installable format for the platform.
==== Linux ====
=== Debian ===
In order for makehuman to work on Debian the following dependencies are needed.
* python
* python-qt4
* python-numpy
* python-opengl
* python-qt4-gl
These can be installed by running the command below:
On Debian/derivatives (Ubuntu kubuntu etc.) the whole package building is automated through the buildDeb.py script found in the "deb" folder.
For Deb script see:!LINK!https://bitbucket.org/MakeHuman/makehuman/src/tip/buildscripts/deb/?at=default -- https://bitbucket.org/MakeHuman/makehuman/src/tip/buildscripts/deb/?at=d...!/LINK!
To build a deb file, create an empty directory (for example /tmp/deb) and run:
When the script has finished, the deb file will be available in /tmp/deb/output.There are some settings in the head of the buildDeb.py script for tweaking the output.
=== Fedora 19 64-biit RPM Packaging ===
These instruction have been written for and tested on Fedora 19 64-bit. You will never be able to run the MakeHuman HG version on distros such as RHEL/CentOS 6.4 or earlier, since they do not support python 2.7, not even if you enable RPMForge. The instructions may or may not work on other RPM-based distros.
* * Install a Mercurial client (Hg) and clone the!LINK!https://bitbucket.org/MakeHuman/makehuman -- Makehuman BitBucket Repository!/LINK!.
* Install required dependencies.
As root, run the bash script for installing the required dependencies.
buildscripts/rpm/install_rpm_dependencies.bash
This script also installs optional but recommended dependencies. If you only want the really required dependencies, run
* Run MakeHuman. Change working directory to the root of the makehuman tree:
Then run:
You will most likely want to do this as your normal desktop user, not as root.
==== Windows ====
* * Install an Mercurial client!LINK!http://tortoisehg.bitbucket.org/download/ -- (Tortoise HG client!/LINK!is a good choice on Windows) and clone the!LINK!https://bitbucket.org/MakeHuman/makehuman -- MakeHuman repository!/LINK!(see!LINK!http://www.makehuman.org/doc/node/development_infrastructure.html -- http://www.makehuman.org/doc/node/development_infrastructure.html!/LINK!)
* Install required dependencies
If you are using a 64bit Windows version (only applies to 64-bit computers), you can choose to use either 32-bit python or
64-bit python. Howver it is important that your library dependencies (NumPy, PyOpenGL, and pyQT4) are 32-bit if you use 32-bit
Python and 64-bit if you use 64-bit Python.
* Run MakeHuman.
Start a command console (cmd.exe), change directory to the makehuman folder. Then run:
==== Mac OSX ====
To build MakeHuman for Mac OS X, you should:
* * Download the MakeHuman OSX Builder from: !LINK!https://bitbucket.org/MakeHuman/makehuman-osx-builder -- https://bitbucket.org/MakeHuman/makehuman-osx-builder!/LINK!
* Follow the included instructions (Instructions.rtf)
== Packager's notes ==
Notes for packagers of Makehuman stables and nightlies.
=== Packaging RPM's for Suse/Fedora using Open Build Service (OBS) ===
The Open Build Service is a service formerly known as the Opensuse build service. OBS allows packagers to build packages for several targets. Here a target is a particular OS version E.g. Suse 13.1, Suse 12.3, Fedora 20 , Ubuntu 14.04 and so on. OBS being a build system by itself can be hosted anywhere even on local infrastructure. For MakeHuman packages we use the OBS instance hosted by Novell at build.opensuse.org
This document will briefly outline the typical packaging workflow for Suse and Fedora. Both distributions use the RPM format and subsequently adhere to RPM's packaging rules.
[[File:obs-flow-chart-scaled.png]]
=== 1) Prepare source tarball: ===
OBS does not allow pulling from the internet once the rpm is being processed into a package so. When creating the source tarball you should assemble it either on your own computer or a server online (even a VPS will do).
There are several Important files and scripts which are of interest to us. One is build_prepare.py this assembles the main folder and all the common data which is needed by all OSes be it Mac or LInux distros or windows. This script is essential to run. Then there is build_rpm.py. We borrow some of the initial code in this and use it on our bash script but we do not build the whole RPM because OBS does that. Another third inportant file is build.conf (this stores the configuration used by build_prepare.py to make the source tarball). Using the above scripts/files I prepared a Bash script which is shown below.
The above script assumes the following:
* You have cloned MakeHuman's Mercurial (Hg) repo into your home directory and it is located at ~/makehuman (cloning into ~/ automatically makes the makehuman folder)
* You have python , numpy and pyQt4 installed (package names may vary from distribution to distribution)
* You are running on a LInux distribution.
* You want to prepare a source tarball from Hg tags.
* $VERS is the latest user specified stable tagged version
* makehuman-$VERS is your destination folder where all files are copied
* the final tarball uses bzip compression. How the tarball is compressed is significant as RPM accepts only certain compression algorithms. The resultant file is makehuman-$VERS.tar.bz2 (E.g. makehuman-1.0.2.tar.bz2)
* You use an FTP server whose file path is located at /var/ftp you can skip this step if the script is run locally by commenting the lines out.
Explanation of the above script:
In the first section we use Hg and extract available tags and ask the user for input on which stable tag he/she wants to build against.
In the second section we automatically create the build.conf file which is used to specify if we want a release or development folder. Here we set isRelease=True
In the third section we use build.conf along with build_prepare.py this creates a basic non-OS specific folder in home (~/).
In the fourth section we copy extra files such as the .desktop file and the makehuman icon file, the shell wrapper for MakeHuman and remove the .bat file which is not needed in linux. Currently there is a bug where command line arguments are not passed by the shell wrapper to the python executable. We fix this by manually editing the file automatically in our bash script before copying it into the target folder to be tarballed. This is moved into the folder created earlier by build_prepare.py . With this we now have have a folder with all the basic requirements needed for packaging.
FInally the folder is then tarballed and it is ready for upload to OBS. If you are not using an FTP server then comment out the “mv” command which moves the tarball to /var/ftp in the shell script above. IN some distributions the FTP directory is /srv/ftp
=== 2) Upload the tarball to OBS ===
The next step is to upload the tarball to OBS. Firstly you need to create a username and password. Then login to build.opensuse.org and create a project. On account creation you get your own home directory.
Two interfaces exist to OBS. One is the command-line interface which is available by installing the package "osc" it is available in most distributions. The other one is the Web User interface. Both are equally useful the command line interface is better for doing certain tasks however.
OBS also has a feature called “ services”. Several services are available such as services to pull from various sources e.g. FTP servers online, services to tarball the version controlled sources directly (tar_scm). You can make use of these _services (they are defined using XML notation in "_service" files). Read!LINK!”http://en.opensuse.org/openSUSE:Build_Service_Concept_SourceService” -- Source Services!/LINK!; or you can manually upload your tarball through the Web UI or use the "osc" command line utility. To learn how to use the "osc" utility use "man osc" or view the manpage online.
I would not recommend using _service files to pull the tarball as they can stop working. It is better to manually push the tarball to OBS. Either by pressing the upload button on the Web UI or placing the tarball in your project home directory created by using the “osc checkout” command. Then typing “osc ar” (add /remove) and finally “ osc commit -m ”put commit description here” “ to push and commit the changes you just made.
You can also automate the above process by adding lines to the shell script but It is better to administer osc separately and manually to allow for more control.
=== 3) Prepare the spec file: ===
A .spec file is a special file which is used to build RPM's. It “contains information required by RPM to build the package, as well as instructions telling RPM to build it. The spec file also dictates exactly what files are a part of the package, and where they should be installed. The RPM specification is very well defined and it is fundamental than any packager develop a strong base in the fundamentals.” (taken from “Maximum RPM”)
A very important book detailing the various capabilities of RPM is!LINK!”http://www.rpm.org/max-rpm/” -- Maximum RPM!/LINK!. This is a must read for any packager and will help in understanding the spec file shown below. If you have not read it please bookmark the page and give the book a read. I cannot stress how important it is.
In OBS we have 2 main OS's which use RPM's as build targets Fedora and Suse. RPM provides macros to make packaging more standardised and easy. Most Macros are common however some are distribution specific. Below is the spec file used by the Makehuman project. For version 1.0.2.
The above .spec file follows the general structure and format of spec files as per the RPM specification. The spec file has been formatted for for OBS by running “osc service localrun format_spec_file” then reading the contents to ensure that nothing went wrong and committing the changes back to OBS. In the above spec file we have split MakeHuman into 2 subpackages and made them depend upon each other to ensure consistency. As you can see there are 2 sources one is the tarball we created with our bash script earlier and there is another file called "makehuman.1" this is a manpage. In the spec file instructions are issued to gzip it and put into the manual directory on install. The manpage (Source101 in the .spec file) is shown below.
How man pages are created is out of scope of this document. Man pages use gtroff. There are however ample resources online which can help with this.
The .spec file has been commented to provide you with a better understanding of what is done at various stages.
Once the .spec file has been updated on OBS it automatically triggers a rebuild duribg that time you can monitor the status of the build process and correct errors in your spec file or sources as they arise.
=== 4)Pushing changes to the official repositories ===
Once you are satisfied that your package is stable you can make a submit request to submit the package from the Web User Interface or run the command below.
In the above command we submit the “makehuman” package to the OpenSuse “graphics” project. After this the package is reviewed by the maintainer of the graphics project and approved or rejected with comments given. You will receive an email after the project has been reviewed.
Notes:
* The .spec file and the manual page will change over time. The above is there for illustration purposes only.
* You can find copies of the most recent stable .spec file and makehuman.1 manpage!LINK!:https://build.opensuse.org/package/show/graphics/makehuman: -- here!/LINK!. This is the stable version after a "submit request" to the official Suse repositories.
35483da1d8520de3ec1c07587885ca5bbb25f653
1117
725
2016-07-05T17:32:37Z
Aranuvir
17
/* Packaging RPM's for Suse/Fedora using Open Build Service (OBS) */
wikitext
text/x-wiki
With each MakeHuman release, packages are created for MS Windows, Mac OS X, and Debian derivatives for linux. At present there is not an operating system independent package (although the raw repository will work on all platforms). Each platform has special considerations that are addressed by the designated mainainter for that platform.
=== Dependencies ===
In order to run makehuman and/or build packages the following need to be installed on the system:
* Python (Python 2.7 (python 3.x will not work).!LINK!http://www.python.org/download/ -- http://www.python.org/download/!/LINK!)
* Python-numpy (!LINK!http://sourceforge.net/projects/numpy/files/NumPy/ -- http://sourceforge.net/projects/numpy/files/NumPy/!/LINK!)
* Python-opengl (!LINK!http://pyopengl.sourceforge.net/ -- http://pyopengl.sourceforge.net/!/LINK!)
* Python-qt4 (!LINK!http://www.riverbankcomputing.com/software/pyqt -- http://www.riverbankcomputing.com/software/pyqt!/LINK!)
* Python-qt4-gl (Package required by some linux distributions only)
For linux there are scripts (buildscripts/deb/install_deb_dependencies.bash and buildscripts/rpm/install_rpm_dependencies.bash) which will install all the necessary dependencies but please note that these scripts may not agree with all debian and rpm based distros so it may be worth reading the bash script contents prior to running them.
=== Assets ===
For obvious reasons, the binary assets (characters, textures, clothes, etc..) are not stored on Mercurial repository, but in two different places:
* * Immutable single archive files of the assets of finished versions of MH are stored (disregarding patch version token) on bitbucket (!LINK!https://bitbucket.org/MakeHuman/makehuman/downloads -- https://bitbucket.org/MakeHuman/makehuman/downloads!/LINK!)
* Assets still under development are store on Tuxfamily ftp:!LINK!http://download.tuxfamily.org/makehuman/assets/ -- http://download.tuxfamily.org/makehuman/assets/!/LINK!
When a new version is released, the current ftp asset tree gets zipped and uploaded to bitbucket. In the tuxfamily asset store, the folder for that version's contents are replaced with an archive_url.txt file that points the download script to the right url.
A new folder gets created on the tuxfamily host containing the assets to be included in the next release. For a released version, assets will usually not change, unless to fix bugs (in which case the previous archive is best kept, and a new one is created alongside it with a slightly different name), and the archive_url.txt file is updated.
To download automatically the assets and place them in the correct folder on a local repository, it's sufficient to run the python script with the command:
=== Other scripts ===
In the makehuman root, there are a few scripts which need to be run:
* cleannpz.sh (cleannpz.bat)
* cleanpyc.sh (cleanpyc.bat)
* compile_targets.py
* compile_models.py
* compile_proxies.py
Note that all these are called automatically in the correct order by the "build_prepare.py" script in "buildscripts" when running one of the pre-existing package building routines below. However, when running makehuman from a source checkout, you will need to run these scripts in the above order.
=== General proceedings for making a package ===
On all platforms the following steps should be taken when making the package:
* Update from HG repository (!LINK!https://bitbucket.org/MakeHuman/makehuman -- https://bitbucket.org/MakeHuman/makehuman!/LINK!)
* Run the scripts in the makehuman root directory. These will for example compile target files to npz files
* Copy all that's relevant to a work directory, excluding at least *.target, the utils directory and the tools directory (strictly speaking there are more that is not necessary, but it will have a minor influence)
* Do platform-dependent stuff to the work directory
* Zip the directory into a suitable installable format for the platform.
==== Linux ====
=== Debian ===
In order for makehuman to work on Debian the following dependencies are needed.
* python
* python-qt4
* python-numpy
* python-opengl
* python-qt4-gl
These can be installed by running the command below:
On Debian/derivatives (Ubuntu kubuntu etc.) the whole package building is automated through the buildDeb.py script found in the "deb" folder.
For Deb script see:!LINK!https://bitbucket.org/MakeHuman/makehuman/src/tip/buildscripts/deb/?at=default -- https://bitbucket.org/MakeHuman/makehuman/src/tip/buildscripts/deb/?at=d...!/LINK!
To build a deb file, create an empty directory (for example /tmp/deb) and run:
When the script has finished, the deb file will be available in /tmp/deb/output.There are some settings in the head of the buildDeb.py script for tweaking the output.
=== Fedora 19 64-biit RPM Packaging ===
These instruction have been written for and tested on Fedora 19 64-bit. You will never be able to run the MakeHuman HG version on distros such as RHEL/CentOS 6.4 or earlier, since they do not support python 2.7, not even if you enable RPMForge. The instructions may or may not work on other RPM-based distros.
* * Install a Mercurial client (Hg) and clone the!LINK!https://bitbucket.org/MakeHuman/makehuman -- Makehuman BitBucket Repository!/LINK!.
* Install required dependencies.
As root, run the bash script for installing the required dependencies.
buildscripts/rpm/install_rpm_dependencies.bash
This script also installs optional but recommended dependencies. If you only want the really required dependencies, run
* Run MakeHuman. Change working directory to the root of the makehuman tree:
Then run:
You will most likely want to do this as your normal desktop user, not as root.
==== Windows ====
* * Install an Mercurial client!LINK!http://tortoisehg.bitbucket.org/download/ -- (Tortoise HG client!/LINK!is a good choice on Windows) and clone the!LINK!https://bitbucket.org/MakeHuman/makehuman -- MakeHuman repository!/LINK!(see!LINK!http://www.makehuman.org/doc/node/development_infrastructure.html -- http://www.makehuman.org/doc/node/development_infrastructure.html!/LINK!)
* Install required dependencies
If you are using a 64bit Windows version (only applies to 64-bit computers), you can choose to use either 32-bit python or 64-bit python. Howver it is important that your library dependencies (NumPy, PyOpenGL, and pyQT4) are 32-bit if you use 32-bit Python and 64-bit if you use 64-bit Python.
* Run MakeHuman.
Start a command console (cmd.exe), change directory to the makehuman folder. Then run:
==== Mac OSX ====
To build MakeHuman for Mac OS X, you should:
* * Download the MakeHuman OSX Builder from: !LINK!https://bitbucket.org/MakeHuman/makehuman-osx-builder -- https://bitbucket.org/MakeHuman/makehuman-osx-builder!/LINK!
* Follow the included instructions (Instructions.rtf)
== Packager's notes ==
Notes for packagers of Makehuman stables and nightlies.
=== Packaging RPM's for Suse/Fedora using Open Build Service (OBS) ===
The Open Build Service is a service formerly known as the Opensuse build service. OBS allows packagers to build packages for several targets. Here a target is a particular OS version E.g. Suse 13.1, Suse 12.3, Fedora 20 , Ubuntu 14.04 and so on. OBS being a build system by itself can be hosted anywhere even on local infrastructure. For MakeHuman packages we use the OBS instance hosted by Novell at build.opensuse.org
This document will briefly outline the typical packaging workflow for Suse and Fedora. Both distributions use the RPM format and subsequently adhere to RPM's packaging rules.
[[File:obs-flow-chart-scaled.png]]
=== 1) Prepare source tarball: ===
OBS does not allow pulling from the internet once the rpm is being processed into a package so. When creating the source tarball you should assemble it either on your own computer or a server online (even a VPS will do).
There are several Important files and scripts which are of interest to us. One is build_prepare.py this assembles the main folder and all the common data which is needed by all OSes be it Mac or LInux distros or windows. This script is essential to run. Then there is build_rpm.py. We borrow some of the initial code in this and use it on our bash script but we do not build the whole RPM because OBS does that. Another third inportant file is build.conf (this stores the configuration used by build_prepare.py to make the source tarball). Using the above scripts/files I prepared a Bash script which is shown below.
The above script assumes the following:
* You have cloned MakeHuman's Mercurial (Hg) repo into your home directory and it is located at ~/makehuman (cloning into ~/ automatically makes the makehuman folder)
* You have python , numpy and pyQt4 installed (package names may vary from distribution to distribution)
* You are running on a LInux distribution.
* You want to prepare a source tarball from Hg tags.
* $VERS is the latest user specified stable tagged version
* makehuman-$VERS is your destination folder where all files are copied
* the final tarball uses bzip compression. How the tarball is compressed is significant as RPM accepts only certain compression algorithms. The resultant file is makehuman-$VERS.tar.bz2 (E.g. makehuman-1.0.2.tar.bz2)
* You use an FTP server whose file path is located at /var/ftp you can skip this step if the script is run locally by commenting the lines out.
Explanation of the above script:
In the first section we use Hg and extract available tags and ask the user for input on which stable tag he/she wants to build against.
In the second section we automatically create the build.conf file which is used to specify if we want a release or development folder. Here we set isRelease=True
In the third section we use build.conf along with build_prepare.py this creates a basic non-OS specific folder in home (~/).
In the fourth section we copy extra files such as the .desktop file and the makehuman icon file, the shell wrapper for MakeHuman and remove the .bat file which is not needed in linux. Currently there is a bug where command line arguments are not passed by the shell wrapper to the python executable. We fix this by manually editing the file automatically in our bash script before copying it into the target folder to be tarballed. This is moved into the folder created earlier by build_prepare.py . With this we now have have a folder with all the basic requirements needed for packaging.
FInally the folder is then tarballed and it is ready for upload to OBS. If you are not using an FTP server then comment out the “mv” command which moves the tarball to /var/ftp in the shell script above. IN some distributions the FTP directory is /srv/ftp
=== 2) Upload the tarball to OBS ===
The next step is to upload the tarball to OBS. Firstly you need to create a username and password. Then login to build.opensuse.org and create a project. On account creation you get your own home directory.
Two interfaces exist to OBS. One is the command-line interface which is available by installing the package "osc" it is available in most distributions. The other one is the Web User interface. Both are equally useful the command line interface is better for doing certain tasks however.
OBS also has a feature called “ services”. Several services are available such as services to pull from various sources e.g. FTP servers online, services to tarball the version controlled sources directly (tar_scm). You can make use of these _services (they are defined using XML notation in "_service" files). Read!LINK!”http://en.opensuse.org/openSUSE:Build_Service_Concept_SourceService” -- Source Services!/LINK!; or you can manually upload your tarball through the Web UI or use the "osc" command line utility. To learn how to use the "osc" utility use "man osc" or view the manpage online.
I would not recommend using _service files to pull the tarball as they can stop working. It is better to manually push the tarball to OBS. Either by pressing the upload button on the Web UI or placing the tarball in your project home directory created by using the “osc checkout” command. Then typing “osc ar” (add /remove) and finally “ osc commit -m ”put commit description here” “ to push and commit the changes you just made.
You can also automate the above process by adding lines to the shell script but It is better to administer osc separately and manually to allow for more control.
=== 3) Prepare the spec file: ===
A .spec file is a special file which is used to build RPM's. It “contains information required by RPM to build the package, as well as instructions telling RPM to build it. The spec file also dictates exactly what files are a part of the package, and where they should be installed. The RPM specification is very well defined and it is fundamental than any packager develop a strong base in the fundamentals.” (taken from “Maximum RPM”)
A very important book detailing the various capabilities of RPM is!LINK!”http://www.rpm.org/max-rpm/” -- Maximum RPM!/LINK!. This is a must read for any packager and will help in understanding the spec file shown below. If you have not read it please bookmark the page and give the book a read. I cannot stress how important it is.
In OBS we have 2 main OS's which use RPM's as build targets Fedora and Suse. RPM provides macros to make packaging more standardised and easy. Most Macros are common however some are distribution specific. Below is the spec file used by the Makehuman project. For version 1.0.2.
The above .spec file follows the general structure and format of spec files as per the RPM specification. The spec file has been formatted for for OBS by running “osc service localrun format_spec_file” then reading the contents to ensure that nothing went wrong and committing the changes back to OBS. In the above spec file we have split MakeHuman into 2 subpackages and made them depend upon each other to ensure consistency. As you can see there are 2 sources one is the tarball we created with our bash script earlier and there is another file called "makehuman.1" this is a manpage. In the spec file instructions are issued to gzip it and put into the manual directory on install. The manpage (Source101 in the .spec file) is shown below.
How man pages are created is out of scope of this document. Man pages use gtroff. There are however ample resources online which can help with this.
The .spec file has been commented to provide you with a better understanding of what is done at various stages.
Once the .spec file has been updated on OBS it automatically triggers a rebuild duribg that time you can monitor the status of the build process and correct errors in your spec file or sources as they arise.
=== 4)Pushing changes to the official repositories ===
Once you are satisfied that your package is stable you can make a submit request to submit the package from the Web User Interface or run the command below.
In the above command we submit the “makehuman” package to the OpenSuse “graphics” project. After this the package is reviewed by the maintainer of the graphics project and approved or rejected with comments given. You will receive an email after the project has been reviewed.
Notes:
* The .spec file and the manual page will change over time. The above is there for illustration purposes only.
* You can find copies of the most recent stable .spec file and makehuman.1 manpage!LINK!:https://build.opensuse.org/package/show/graphics/makehuman: -- here!/LINK!. This is the stable version after a "submit request" to the official Suse repositories.
ad4790b486d3ec2ce837f6236d7188a4406143bb
725
720
2016-05-20T11:34:44Z
Joepal
14
wikitext
text/x-wiki
With each MakeHuman release, packages are created for MS Windows, Mac OS X, and Debian derivatives for linux. At present there is not an operating system independent package (although the raw repository will work on all platforms). Each platform has special considerations that are addressed by the designated mainainter for that platform.
=== Dependencies ===
In order to run makehuman and/or build packages the following need to be installed on the system:
* Python (Python 2.7 (python 3.x will not work).!LINK!http://www.python.org/download/ -- http://www.python.org/download/!/LINK!)
* Python-numpy (!LINK!http://sourceforge.net/projects/numpy/files/NumPy/ -- http://sourceforge.net/projects/numpy/files/NumPy/!/LINK!)
* Python-opengl (!LINK!http://pyopengl.sourceforge.net/ -- http://pyopengl.sourceforge.net/!/LINK!)
* Python-qt4 (!LINK!http://www.riverbankcomputing.com/software/pyqt -- http://www.riverbankcomputing.com/software/pyqt!/LINK!)
* Python-qt4-gl (Package required by some linux distributions only)
For linux there are scripts (buildscripts/deb/install_deb_dependencies.bash and buildscripts/rpm/install_rpm_dependencies.bash) which will install all the necessary dependencies but please note that these scripts may not agree with all debian and rpm based distros so it may be worth reading the bash script contents prior to running them.
=== Assets ===
For obvious reasons, the binary assets (characters, textures, clothes, etc..) are not stored on Mercurial repository, but in two different places:
* * Immutable single archive files of the assets of finished versions of MH are stored (disregarding patch version token) on bitbucket (!LINK!https://bitbucket.org/MakeHuman/makehuman/downloads -- https://bitbucket.org/MakeHuman/makehuman/downloads!/LINK!)
* Assets still under development are store on Tuxfamily ftp:!LINK!http://download.tuxfamily.org/makehuman/assets/ -- http://download.tuxfamily.org/makehuman/assets/!/LINK!
When a new version is released, the current ftp asset tree gets zipped and uploaded to bitbucket. In the tuxfamily asset store, the folder for that version's contents are replaced with an archive_url.txt file that points the download script to the right url.
A new folder gets created on the tuxfamily host containing the assets to be included in the next release. For a released version, assets will usually not change, unless to fix bugs (in which case the previous archive is best kept, and a new one is created alongside it with a slightly different name), and the archive_url.txt file is updated.
To download automatically the assets and place them in the correct folder on a local repository, it's sufficient to run the python script with the command:
=== Other scripts ===
In the makehuman root, there are a few scripts which need to be run:
* cleannpz.sh (cleannpz.bat)
* cleanpyc.sh (cleanpyc.bat)
* compile_targets.py
* compile_models.py
* compile_proxies.py
Note that all these are called automatically in the correct order by the "build_prepare.py" script in "buildscripts" when running one of the pre-existing package building routines below. However, when running makehuman from a source checkout, you will need to run these scripts in the above order.
=== General proceedings for making a package ===
On all platforms the following steps should be taken when making the package:
* Update from HG repository (!LINK!https://bitbucket.org/MakeHuman/makehuman -- https://bitbucket.org/MakeHuman/makehuman!/LINK!)
* Run the scripts in the makehuman root directory. These will for example compile target files to npz files
* Copy all that's relevant to a work directory, excluding at least *.target, the utils directory and the tools directory (strictly speaking there are more that is not necessary, but it will have a minor influence)
* Do platform-dependent stuff to the work directory
* Zip the directory into a suitable installable format for the platform.
==== Linux ====
=== Debian ===
In order for makehuman to work on Debian the following dependencies are needed.
* python
* python-qt4
* python-numpy
* python-opengl
* python-qt4-gl
These can be installed by running the command below:
On Debian/derivatives (Ubuntu kubuntu etc.) the whole package building is automated through the buildDeb.py script found in the "deb" folder.
For Deb script see:!LINK!https://bitbucket.org/MakeHuman/makehuman/src/tip/buildscripts/deb/?at=default -- https://bitbucket.org/MakeHuman/makehuman/src/tip/buildscripts/deb/?at=d...!/LINK!
To build a deb file, create an empty directory (for example /tmp/deb) and run:
When the script has finished, the deb file will be available in /tmp/deb/output.There are some settings in the head of the buildDeb.py script for tweaking the output.
=== Fedora 19 64-biit RPM Packaging ===
These instruction have been written for and tested on Fedora 19 64-bit. You will never be able to run the MakeHuman HG version on distros such as RHEL/CentOS 6.4 or earlier, since they do not support python 2.7, not even if you enable RPMForge. The instructions may or may not work on other RPM-based distros.
* * Install a Mercurial client (Hg) and clone the!LINK!https://bitbucket.org/MakeHuman/makehuman -- Makehuman BitBucket Repository!/LINK!.
* Install required dependencies.
As root, run the bash script for installing the required dependencies.
buildscripts/rpm/install_rpm_dependencies.bash
This script also installs optional but recommended dependencies. If you only want the really required dependencies, run
* Run MakeHuman. Change working directory to the root of the makehuman tree:
Then run:
You will most likely want to do this as your normal desktop user, not as root.
==== Windows ====
* * Install an Mercurial client!LINK!http://tortoisehg.bitbucket.org/download/ -- (Tortoise HG client!/LINK!is a good choice on Windows) and clone the!LINK!https://bitbucket.org/MakeHuman/makehuman -- MakeHuman repository!/LINK!(see!LINK!http://www.makehuman.org/doc/node/development_infrastructure.html -- http://www.makehuman.org/doc/node/development_infrastructure.html!/LINK!)
* Install required dependencies
If you are using a 64bit Windows version (only applies to 64-bit computers), you can choose to use either 32-bit python or 64-bit python. Howver it is important that your library dependencies (NumPy, PyOpenGL, and pyQT4) are 32-bit if you use 32-bit Python and 64-bit if you use 64-bit Python.
* Run MakeHuman.
Start a command console (cmd.exe), change directory to the makehuman folder. Then run:
==== Mac OSX ====
To build MakeHuman for Mac OS X, you should:
* * Download the MakeHuman OSX Builder from: !LINK!https://bitbucket.org/MakeHuman/makehuman-osx-builder -- https://bitbucket.org/MakeHuman/makehuman-osx-builder!/LINK!
* Follow the included instructions (Instructions.rtf)
== Packager's notes ==
Notes for packagers of Makehuman stables and nightlies.
=== Packaging RPM's for Suse/Fedora using Open Build Service (OBS) ===
The Open Build Service is a service formerly known as the Opensuse build service. OBS allows packagers to build packages for several targets. Here a target is a particular OS version E.g. Suse 13.1, Suse 12.3, Fedora 20 , Ubuntu 14.04 and so on. OBS being a build system by itself can be hosted anywhere even on local infrastructure. For MakeHuman packages we use the OBS instance hosted by Novell at build.opensuse.org
This document will briefly outline the typical packaging workflow for Suse and Fedora. Both distributions use the RPM format and subsequently adhere to RPM's packaging rules.
!IMAGE!Pictures/obs-flow-chart-scaled.png!/IMAGE!
=== 1) Prepare source tarball: ===
OBS does not allow pulling from the internet once the rpm is being processed into a package so. When creating the source tarball you should assemble it either on your own computer or a server online (even a VPS will do).
There are several Important files and scripts which are of interest to us. One is build_prepare.py this assembles the main folder and all the common data which is needed by all OSes be it Mac or LInux distros or windows. This script is essential to run. Then there is build_rpm.py. We borrow some of the initial code in this and use it on our bash script but we do not build the whole RPM because OBS does that. Another third inportant file is build.conf (this stores the configuration used by build_prepare.py to make the source tarball). Using the above scripts/files I prepared a Bash script which is shown below.
The above script assumes the following:
* You have cloned MakeHuman's Mercurial (Hg) repo into your home directory and it is located at ~/makehuman (cloning into ~/ automatically makes the makehuman folder)
* You have python , numpy and pyQt4 installed (package names may vary from distribution to distribution)
* You are running on a LInux distribution.
* You want to prepare a source tarball from Hg tags.
* $VERS is the latest user specified stable tagged version
* makehuman-$VERS is your destination folder where all files are copied
* the final tarball uses bzip compression. How the tarball is compressed is significant as RPM accepts only certain compression algorithms. The resultant file is makehuman-$VERS.tar.bz2 (E.g. makehuman-1.0.2.tar.bz2)
* You use an FTP server whose file path is located at /var/ftp you can skip this step if the script is run locally by commenting the lines out.
Explanation of the above script:
In the first section we use Hg and extract available tags and ask the user for input on which stable tag he/she wants to build against.
In the second section we automatically create the build.conf file which is used to specify if we want a release or development folder. Here we set isRelease=True
In the third section we use build.conf along with build_prepare.py this creates a basic non-OS specific folder in home (~/).
In the fourth section we copy extra files such as the .desktop file and the makehuman icon file, the shell wrapper for MakeHuman and remove the .bat file which is not needed in linux. Currently there is a bug where command line arguments are not passed by the shell wrapper to the python executable. We fix this by manually editing the file automatically in our bash script before copying it into the target folder to be tarballed. This is moved into the folder created earlier by build_prepare.py . With this we now have have a folder with all the basic requirements needed for packaging.
FInally the folder is then tarballed and it is ready for upload to OBS. If you are not using an FTP server then comment out the “mv” command which moves the tarball to /var/ftp in the shell script above. IN some distributions the FTP directory is /srv/ftp
=== 2) Upload the tarball to OBS ===
The next step is to upload the tarball to OBS. Firstly you need to create a username and password. Then login to build.opensuse.org and create a project. On account creation you get your own home directory.
Two interfaces exist to OBS. One is the command-line interface which is available by installing the package "osc" it is available in most distributions. The other one is the Web User interface. Both are equally useful the command line interface is better for doing certain tasks however.
OBS also has a feature called “ services”. Several services are available such as services to pull from various sources e.g. FTP servers online, services to tarball the version controlled sources directly (tar_scm). You can make use of these _services (they are defined using XML notation in "_service" files). Read!LINK!”http://en.opensuse.org/openSUSE:Build_Service_Concept_SourceService” -- Source Services!/LINK!; or you can manually upload your tarball through the Web UI or use the "osc" command line utility. To learn how to use the "osc" utility use "man osc" or view the manpage online.
I would not recommend using _service files to pull the tarball as they can stop working. It is better to manually push the tarball to OBS. Either by pressing the upload button on the Web UI or placing the tarball in your project home directory created by using the “osc checkout” command. Then typing “osc ar” (add /remove) and finally “ osc commit -m ”put commit description here” “ to push and commit the changes you just made.
You can also automate the above process by adding lines to the shell script but It is better to administer osc separately and manually to allow for more control.
=== 3) Prepare the spec file: ===
A .spec file is a special file which is used to build RPM's. It “contains information required by RPM to build the package, as well as instructions telling RPM to build it. The spec file also dictates exactly what files are a part of the package, and where they should be installed. The RPM specification is very well defined and it is fundamental than any packager develop a strong base in the fundamentals.” (taken from “Maximum RPM”)
A very important book detailing the various capabilities of RPM is!LINK!”http://www.rpm.org/max-rpm/” -- Maximum RPM!/LINK!. This is a must read for any packager and will help in understanding the spec file shown below. If you have not read it please bookmark the page and give the book a read. I cannot stress how important it is.
In OBS we have 2 main OS's which use RPM's as build targets Fedora and Suse. RPM provides macros to make packaging more standardised and easy. Most Macros are common however some are distribution specific. Below is the spec file used by the Makehuman project. For version 1.0.2.
The above .spec file follows the general structure and format of spec files as per the RPM specification. The spec file has been formatted for for OBS by running “osc service localrun format_spec_file” then reading the contents to ensure that nothing went wrong and committing the changes back to OBS. In the above spec file we have split MakeHuman into 2 subpackages and made them depend upon each other to ensure consistency. As you can see there are 2 sources one is the tarball we created with our bash script earlier and there is another file called "makehuman.1" this is a manpage. In the spec file instructions are issued to gzip it and put into the manual directory on install. The manpage (Source101 in the .spec file) is shown below.
How man pages are created is out of scope of this document. Man pages use gtroff. There are however ample resources online which can help with this.
The .spec file has been commented to provide you with a better understanding of what is done at various stages.
Once the .spec file has been updated on OBS it automatically triggers a rebuild duribg that time you can monitor the status of the build process and correct errors in your spec file or sources as they arise.
=== 4)Pushing changes to the official repositories ===
Once you are satisfied that your package is stable you can make a submit request to submit the package from the Web User Interface or run the command below.
In the above command we submit the “makehuman” package to the OpenSuse “graphics” project. After this the package is reviewed by the maintainer of the graphics project and approved or rejected with comments given. You will receive an email after the project has been reviewed.
Notes:
* The .spec file and the manual page will change over time. The above is there for illustration purposes only.
* You can find copies of the most recent stable .spec file and makehuman.1 manpage!LINK!:https://build.opensuse.org/package/show/graphics/makehuman: -- here!/LINK!. This is the stable version after a "submit request" to the official Suse repositories.
c96f9936280ede1025ea839be9a381f7528d863c
720
717
2016-05-20T11:30:46Z
Joepal
14
wikitext
text/x-wiki
With each MakeHuman release, packages are created for MS Windows, Mac OS X, and Debian derivatives for linux. At present there is not an operating system independent package (although the raw repository will work on all platforms). Each platform has special considerations that are addressed by the designated mainainter for that platform.
=== Dependencies ===
In order to run makehuman and/or build packages the following need to be installed on the system:
* Python (Python 2.7 (python 3.x will not work).!LINK!http://www.python.org/download/ -- http://www.python.org/download/!/LINK!)
* Python-numpy (!LINK!http://sourceforge.net/projects/numpy/files/NumPy/ -- http://sourceforge.net/projects/numpy/files/NumPy/!/LINK!)
* Python-opengl (!LINK!http://pyopengl.sourceforge.net/ -- http://pyopengl.sourceforge.net/!/LINK!)
* Python-qt4 (!LINK!http://www.riverbankcomputing.com/software/pyqt -- http://www.riverbankcomputing.com/software/pyqt!/LINK!)
* Python-qt4-gl (Package required by some linux distributions only)
For linux there are scripts (buildscripts/deb/install_deb_dependencies.bash and buildscripts/rpm/install_rpm_dependencies.bash) which will install all the necessary dependencies but please note that these scripts may not agree with all debian and rpm based distros so it may be worth reading the bash script contents prior to running them.
=== Assets ===
For obvious reasons, the binary assets (characters, textures, clothes, etc..) are not stored on Mercurial repository, but in two different places:
* * Immutable single archive files of the assets of finished versions of MH are stored (disregarding patch version token) on bitbucket (!LINK!https://bitbucket.org/MakeHuman/makehuman/downloads -- https://bitbucket.org/MakeHuman/makehuman/downloads!/LINK!)
* Assets still under development are store on Tuxfamily ftp:!LINK!http://download.tuxfamily.org/makehuman/assets/ -- http://download.tuxfamily.org/makehuman/assets/!/LINK!
When a new version is released, the current ftp asset tree gets zipped and uploaded to bitbucket. In the tuxfamily asset store, the folder for that version's contents are replaced with an archive_url.txt file that points the download script to the right url.
A new folder gets created on the tuxfamily host containing the assets to be included in the next release. For a released version, assets will usually not change, unless to fix bugs (in which case the previous archive is best kept, and a new one is created alongside it with a slightly different name), and the archive_url.txt file is updated.
To download automatically the assets and place them in the correct folder on a local repository, it's sufficient to run the python script with the command:
=== Other scripts ===
In the makehuman root, there are a few scripts which need to be run:
* cleannpz.sh (cleannpz.bat)
* cleanpyc.sh (cleanpyc.bat)
* compile_targets.py
* compile_models.py
* compile_proxies.py
Note that all these are called automatically in the correct order by the "build_prepare.py" script in "buildscripts" when running one of the pre-existing package building routines below. However, when running makehuman from a source checkout, you will need to run these scripts in the above order.
=== General proceedings for making a package ===
On all platforms the following steps should be taken when making the package:
* Update from HG repository (!LINK!https://bitbucket.org/MakeHuman/makehuman -- https://bitbucket.org/MakeHuman/makehuman!/LINK!)
* Run the scripts in the makehuman root directory. These will for example compile target files to npz files
* Copy all that's relevant to a work directory, excluding at least *.target, the utils directory and the tools directory (strictly speaking there are more that is not necessary, but it will have a minor influence)
* Do platform-dependent stuff to the work directory
* Zip the directory into a suitable installable format for the platform.
==== Linux ====
=== Debian ===
In order for makehuman to work on Debian the following dependencies are needed.
* python
* python-qt4
* python-numpy
* python-opengl
* python-qt4-gl
These can be installed by running the command below:
On Debian/derivatives (Ubuntu kubuntu etc.) the whole package building is automated through the buildDeb.py script found in the "deb" folder.
For Deb script see:!LINK!https://bitbucket.org/MakeHuman/makehuman/src/tip/buildscripts/deb/?at=default -- https://bitbucket.org/MakeHuman/makehuman/src/tip/buildscripts/deb/?at=d...!/LINK!
To build a deb file, create an empty directory (for example /tmp/deb) and run:
When the script has finished, the deb file will be available in /tmp/deb/output.There are some settings in the head of the buildDeb.py script for tweaking the output.
=== Fedora 19 64-biit RPM Packaging ===
These instruction have been written for and tested on Fedora 19 64-bit. You will never be able to run the MakeHuman HG version on distros such as RHEL/CentOS 6.4 or earlier, since they do not support python 2.7, not even if you enable RPMForge. The instructions may or may not work on other RPM-based distros.
* * Install a Mercurial client (Hg) and clone the!LINK!https://bitbucket.org/MakeHuman/makehuman -- Makehuman BitBucket Repository!/LINK!.
* Install required dependencies.
As root, run the bash script for installing the required dependencies.
buildscripts/rpm/install_rpm_dependencies.bash
This script also installs optional but recommended dependencies. If you only want the really required dependencies, run
* Run MakeHuman. Change working directory to the root of the makehuman tree:
Then run:
You will most likely want to do this as your normal desktop user, not as root.
==== Windows ====
* * Install an Mercurial client!LINK!http://tortoisehg.bitbucket.org/download/ -- (Tortoise HG client!/LINK!is a good choice on Windows) and clone the!LINK!https://bitbucket.org/MakeHuman/makehuman -- MakeHuman repository!/LINK!(see!LINK!http://www.makehuman.org/doc/node/development_infrastructure.html -- http://www.makehuman.org/doc/node/development_infrastructure.html!/LINK!)
* Install required dependencies
If you are using a 64bit Windows version (only applies to 64-bit computers), you can choose to use either 32-bit python or 64-bit python. Howver it is important that your library dependencies (NumPy, PyOpenGL, and pyQT4) are 32-bit if you use 32-bit Python and 64-bit if you use 64-bit Python.
* Run MakeHuman.
Start a command console (cmd.exe), change directory to the makehuman folder. Then run:
==== Mac OSX ====
To build MakeHuman for Mac OS X, you should:
* * Download the MakeHuman OSX Builder from: !LINK!https://bitbucket.org/MakeHuman/makehuman-osx-builder -- https://bitbucket.org/MakeHuman/makehuman-osx-builder!/LINK!
* Follow the included instructions (Instructions.rtf)
f544f6a09458ee54c57ac82d4c8c1d05a1f08889
717
2016-05-20T11:27:48Z
Joepal
14
Created page with "With each MakeHuman release, packages are created for MS Windows, Mac OS X, and Debian derivatives for linux. At present there is not an operating system independent package (..."
wikitext
text/x-wiki
With each MakeHuman release, packages are created for MS Windows, Mac OS X, and Debian derivatives for linux. At present there is not an operating system independent package (although the raw repository will work on all platforms). Each platform has special considerations that are addressed by the designated mainainter for that platform.
=== Dependencies ===
In order to run makehuman and/or build packages the following need to be installed on the system:
* Python (Python 2.7 (python 3.x will not work).!LINK!http://www.python.org/download/ -- http://www.python.org/download/!/LINK!)
* Python-numpy (!LINK!http://sourceforge.net/projects/numpy/files/NumPy/ -- http://sourceforge.net/projects/numpy/files/NumPy/!/LINK!)
* Python-opengl (!LINK!http://pyopengl.sourceforge.net/ -- http://pyopengl.sourceforge.net/!/LINK!)
* Python-qt4 (!LINK!http://www.riverbankcomputing.com/software/pyqt -- http://www.riverbankcomputing.com/software/pyqt!/LINK!)
* Python-qt4-gl (Package required by some linux distributions only)
For linux there are scripts (buildscripts/deb/install_deb_dependencies.bash and buildscripts/rpm/install_rpm_dependencies.bash) which will install all the necessary dependencies but please note that these scripts may not agree with all debian and rpm based distros so it may be worth reading the bash script contents prior to running them.
=== Assets ===
For obvious reasons, the binary assets (characters, textures, clothes, etc..) are not stored on Mercurial repository, but in two different places:
* * Immutable single archive files of the assets of finished versions of MH are stored (disregarding patch version token) on bitbucket (!LINK!https://bitbucket.org/MakeHuman/makehuman/downloads -- https://bitbucket.org/MakeHuman/makehuman/downloads!/LINK!)
* Assets still under development are store on Tuxfamily ftp:!LINK!http://download.tuxfamily.org/makehuman/assets/ -- http://download.tuxfamily.org/makehuman/assets/!/LINK!
When a new version is released, the current ftp asset tree gets zipped and uploaded to bitbucket. In the tuxfamily asset store, the folder for that version's contents are replaced with an archive_url.txt file that points the download script to the right url.
A new folder gets created on the tuxfamily host containing the assets to be included in the next release. For a released version, assets will usually not change, unless to fix bugs (in which case the previous archive is best kept, and a new one is created alongside it with a slightly different name), and the archive_url.txt file is updated.
To download automatically the assets and place them in the correct folder on a local repository, it's sufficient to run the python script with the command:
=== Other scripts ===
In the makehuman root, there are a few scripts which need to be run:
* cleannpz.sh (cleannpz.bat)
* cleanpyc.sh (cleanpyc.bat)
* compile_targets.py
* compile_models.py
* compile_proxies.py
Note that all these are called automatically in the correct order by the "build_prepare.py" script in "buildscripts" when running one of the pre-existing package building routines below. However, when running makehuman from a source checkout, you will need to run these scripts in the above order.
=== General proceedings for making a package ===
On all platforms the following steps should be taken when making the package:
* Update from HG repository (!LINK!https://bitbucket.org/MakeHuman/makehuman -- https://bitbucket.org/MakeHuman/makehuman!/LINK!)
* Run the scripts in the makehuman root directory. These will for example compile target files to npz files
* Copy all that's relevant to a work directory, excluding at least *.target, the utils directory and the tools directory (strictly speaking there are more that is not necessary, but it will have a minor influence)
* Do platform-dependent stuff to the work directory
* Zip the directory into a suitable installable format for the platform.
==== Linux ====
=== Debian ===
In order for makehuman to work on Debian the following dependencies are needed.
* python
* python-qt4
* python-numpy
* python-opengl
* python-qt4-gl
These can be installed by running the command below:
On Debian/derivatives (Ubuntu kubuntu etc.) the whole package building is automated through the buildDeb.py script found in the "deb" folder.
For Deb script see:!LINK!https://bitbucket.org/MakeHuman/makehuman/src/tip/buildscripts/deb/?at=default -- https://bitbucket.org/MakeHuman/makehuman/src/tip/buildscripts/deb/?at=d...!/LINK!
To build a deb file, create an empty directory (for example /tmp/deb) and run:
When the script has finished, the deb file will be available in /tmp/deb/output.There are some settings in the head of the buildDeb.py script for tweaking the output.
=== Fedora 19 64-biit RPM Packaging ===
These instruction have been written for and tested on Fedora 19 64-bit. You will never be able to run the MakeHuman HG version on distros such as RHEL/CentOS 6.4 or earlier, since they do not support python 2.7, not even if you enable RPMForge. The instructions may or may not work on other RPM-based distros.
* * Install a Mercurial client (Hg) and clone the!LINK!https://bitbucket.org/MakeHuman/makehuman -- Makehuman BitBucket Repository!/LINK!.
* Install required dependencies.
As root, run the bash script for installing the required dependencies.
buildscripts/rpm/install_rpm_dependencies.bash
This script also installs optional but recommended dependencies. If you only want the really required dependencies, run
* Run MakeHuman. Change working directory to the root of the makehuman tree:
Then run:
You will most likely want to do this as your normal desktop user, not as root.
==== Windows ====
* * Install an Mercurial client!LINK!http://tortoisehg.bitbucket.org/download/ -- (Tortoise HG client!/LINK!is a good choice on Windows) and clone the!LINK!https://bitbucket.org/MakeHuman/makehuman -- MakeHuman repository!/LINK!(see!LINK!http://www.makehuman.org/doc/node/development_infrastructure.html -- http://www.makehuman.org/doc/node/development_infrastructure.html!/LINK!)
* Install required dependencies
If you are using a 64bit Windows version (only applies to 64-bit computers), you can choose to use either 32-bit python or 64-bit python. Howver it is important that your library dependencies (NumPy, PyOpenGL, and pyQT4) are 32-bit if you use 32-bit Python and 64-bit if you use 64-bit Python.
* Run MakeHuman.
Start a command console (cmd.exe), change directory to the makehuman folder. Then run:
==== Mac OSX ====
To build MakeHuman for Mac OS X, you should:
* * Download the MakeHuman OSX Builder from: !LINK!https://bitbucket.org/MakeHuman/makehuman-osx-builder -- https://bitbucket.org/MakeHuman/makehuman-osx-builder!/LINK!
* Follow the included instructions (Instructions.rtf)
=== Development infrastructure ===
The development of MakeHuman is based on two fundamental tools:
* Mercurial (HG), a stable and robust platform for distributed revision control, with the main repo hosted on!LINK!https://bitbucket.org/MakeHuman/makehuman -- Bitbucket!/LINK!
* A collaborative software!LINK!http://bugtracker.makehuman.org -- development platform!/LINK!, based on!LINK!http://www.redmine.org/ -- Redmine!/LINK!.
==== Get the code from BitBucket. ====
Obtain the code from BitBucket repository is very simple, but you need to have Mercurial installed on your system.
It's natively present on Linux systems, while for Microsoft Windows, a good software is TortoiseHG (!LINK!http://tortoisehg.bitbucket.org/ -- http://tortoisehg.bitbucket.org/!/LINK!).
To clone the repository to your PC, just use this command:
hg clone!LINK!https://bitbucket.org/MakeHuman/makehuman -- https://bitbucket.org/MakeHuman/makehuman!/LINK!
With tortoiseHG, you can do it visually, with:
right-click --> TortoiseHG --> clone
==== Using Redmine in MakeHuman development ====
Redmine is a very powerful tool.
[To expand with technical information about the roadmap organizations, the subprojects, and how to use it to accept experimental features]
321b5bbe39cb0bfaecf7c3146b7f05c4e53150cb
Documentation:Load, save and export
3000
251
755
2016-05-24T11:05:43Z
Joepal
14
Joepal moved page [[Documentation:Load, save and export]] to [[Documentation:Loading and saving]]: Breaking out export stuff
wikitext
text/x-wiki
#REDIRECT [[Documentation:Loading and saving]]
1b8962daf3aaecdfb4873e483b672682e2ab3cb6
Documentation:Loading and saving
3000
228
1310
1105
2017-02-11T13:38:52Z
Aranuvir
17
/* Loading Files */
wikitext
text/x-wiki
The leftmost section of the Toolbar includes 3 quick action icons: 1) for loading models from native .mhm files; 2) for saving the model as a native .mhm file; and 3) for exporting the model in various formats used by other 3D programs (this is discussed on another page).
[[File:lse_quick.png]]
For more complete file access support (Load, Save, Export), the Files Tab options provides access to the controls that manage saving, loading, and exporting the MakeHuman project to or from files.
[[File:lse_tabs.png]]
== Loading Files ==
Files are loaded using either the Quick Load icon or by directly choosing the File tab and the Load subtab.
[[File:load1.png]]
By default, models that have beem saved in MHM format are retrieved from the user directory %HOMEPATH%/makehuman/v1/models/. ([[FAQ:Where are my MakeHuman files found (where is my HOME directory)?]]) In the event that you have stored your MHM files in a different directory/folder, you can navigate to that directory/folder using the ellipsis at the top of the center panel. The right hand panel will be populated with thumbnail images of all the MHM files found in the path specified in the path at the top of the center panel. Simply click on the icon for the model you wish to load in the right panel. The model will load and refresh to its completed state in the center panel. You can load different models sequentially, if you wish. They will simply replace the previous model in the center panel. MakeHuman™ is designed so that all loaded models are loaded without changing the camera location. Thus, you can zoom in on a particular area of the body and compare multiple saved models from a single camera perspective.
== Saving Files (.mhm format) ==
Files are saved using either the Quick Save icon or by directly choosing the File tab and the Save sub tab.
The native file format for saving MakeHuman™ files is the .mhm format. It is important to understand that this format does not save a pixel by pixel representation of your model nor does it save program objects like the actual clothes or hair. Rather, it saves the necessary information for the program to reconstruct your model from its internally defined assets. This means that if you move a .mhm file to another computer that lacks a piece of custom clothing, custom hair, or other custom object, the MakeHuman™ program on the new computer will be unable to provide a complete representation of your model unless you also move the custom asset(s) to the second computer.
By default, model files (in.mhm format) are saved to the user directory %HOMEPATH%/Documents/makehuman/v1/models/. If you wish to save your files in a different location, you can use the ellipsis at the top of the center panel to navigate to the directory/folder of interest. In addtion to the .mhm file, the save operation will generate a thumbnail image of the model as it appears in the viewport at save time. Thus, you will want to move the camera to a meaningful and unique view of the model before saving so that the thumbnail image will be easy to identify visually.
CAUTIONARY NOTE:On windows OS (and perhaps on other OS's) there is a small gliche with saving to non-standard directories in MH 1.0.1 and MH 1.0.2. If you hit the ellipsis with a blank file name, use the system dialog to navigate to your directory of choice, enter a file name without extension in the system dialog, hit save, and watch the dialog close, the file will have been saved using the directory name rather than the filename you provided in the save box of the system dialog. This directory name will now appear to the right of the ellipsis in the center panel. It seems that you can avoid this problem by providing a full file name to the right of the ellipsis before you begin the save procedure, then using the system dialog to navigate to the desired directory, and supplying the same file name a second time in the filename blank of the save dialog. This irratic behavior has been reported, and when fixed, this cautionary note should be removed. (Refer to bug 506 - RWB)
881185e9576d38c58e5d56502a4a62ed28403931
1105
757
2016-07-05T17:13:51Z
Aranuvir
17
wikitext
text/x-wiki
The leftmost section of the Toolbar includes 3 quick action icons: 1) for loading models from native .mhm files; 2) for saving the model as a native .mhm file; and 3) for exporting the model in various formats used by other 3D programs (this is discussed on another page).
[[File:lse_quick.png]]
For more complete file access support (Load, Save, Export), the Files Tab options provides access to the controls that manage saving, loading, and exporting the MakeHuman project to or from files.
[[File:lse_tabs.png]]
== Loading Files ==
Files are loaded using either the Quick Load icon or by directly choosing the File tab and the Load subtab.
[[File:load1.png]]
By default, models that have beem saved in MHM format are retrieved from the user directory%HOMEPATH%/makehuman/v1/models/. In the event that you have stored your MHM files in a different directory/folder, you can navigate to that directory/folder using the ellipsis at the top of the center panel. The right hand panel will be populated with thumbnail images of all the MHM files found in the path specified in the path at the top of the center panel. Simply click on the icon for the model you wish to load in the right panel. The model will load and refresh to its completed state in the center panel. You can load different models sequentially, if you wish. They will simply replace the previous model in the center panel. MakeHuman™ is designed so that all loaded models are loaded without changing the camera location. Thus, you can zoom in on a particular area of the body and compare multiple saved models from a single camera perspective.
== Saving Files (.mhm format) ==
Files are saved using either the Quick Save icon or by directly choosing the File tab and the Save sub tab.
The native file format for saving MakeHuman™ files is the .mhm format. It is important to understand that this format does not save a pixel by pixel representation of your model nor does it save program objects like the actual clothes or hair. Rather, it saves the necessary information for the program to reconstruct your model from its internally defined assets. This means that if you move a .mhm file to another computer that lacks a piece of custom clothing, custom hair, or other custom object, the MakeHuman™ program on the new computer will be unable to provide a complete representation of your model unless you also move the custom asset(s) to the second computer.
By default, model files (in.mhm format) are saved to the user directory %HOMEPATH%/Documents/makehuman/v1/models/. If you wish to save your files in a different location, you can use the ellipsis at the top of the center panel to navigate to the directory/folder of interest. In addtion to the .mhm file, the save operation will generate a thumbnail image of the model as it appears in the viewport at save time. Thus, you will want to move the camera to a meaningful and unique view of the model before saving so that the thumbnail image will be easy to identify visually.
CAUTIONARY NOTE:On windows OS (and perhaps on other OS's) there is a small gliche with saving to non-standard directories in MH 1.0.1 and MH 1.0.2. If you hit the ellipsis with a blank file name, use the system dialog to navigate to your directory of choice, enter a file name without extension in the system dialog, hit save, and watch the dialog close, the file will have been saved using the directory name rather than the filename you provided in the save box of the system dialog. This directory name will now appear to the right of the ellipsis in the center panel. It seems that you can avoid this problem by providing a full file name to the right of the ellipsis before you begin the save procedure, then using the system dialog to navigate to the desired directory, and supplying the same file name a second time in the filename blank of the save dialog. This irratic behavior has been reported, and when fixed, this cautionary note should be removed. (Refer to bug 506 - RWB)
35f75a46e2f32996e56e9af47b28b5d9bd65b12f
757
754
2016-05-24T11:10:46Z
Joepal
14
wikitext
text/x-wiki
The leftmost section of the Toolbar includes 3 quick action icons: 1) for loading models from native .mhm files; 2) for saving the model as a native .mhm file; and 3) for exporting the model in various formats used by other 3D programs (this is discussed on another page).
!IMAGE!Pictures/lse_quick.png!/IMAGE!
For more complete file access support (Load, Save, Export), the Files Tab options provides access to the controls that manage saving, loading, and exporting the MakeHuman project to or from files.
!IMAGE!Pictures/lse_tabs.png!/IMAGE!
== Loading Files ==
Files are loaded using either the Quick Load icon or by directly choosing the File tab and the Load subtab.
!IMAGE!Pictures/load1.png!/IMAGE!
By default, models that have beem saved in MHM format are retrieved from the user directory%HOMEPATH%/makehuman/v1/models/. In the event that you have stored your MHM files in a different directory/folder, you can navigate to that directory/folder using the ellipsis at the top of the center panel. The right hand panel will be populated with thumbnail images of all the MHM files found in the path specified in the path at the top of the center panel. Simply click on the icon for the model you wish to load in the right panel. The model will load and refresh to its completed state in the center panel. You can load different models sequentially, if you wish. They will simply replace the previous model in the center panel. MakeHuman™ is designed so that all loaded models are loaded without changing the camera location. Thus, you can zoom in on a particular area of the body and compare multiple saved models from a single camera perspective.
== Saving Files (.mhm format) ==
Files are saved using either the Quick Save icon or by directly choosing the File tab and the Save sub tab.
The native file format for saving MakeHuman™ files is the .mhm format. It is important to understand that this format does not save a pixel by pixel representation of your model nor does it save program objects like the actual clothes or hair. Rather, it saves the necessary information for the program to reconstruct your model from its internally defined assets. This means that if you move a .mhm file to another computer that lacks a piece of custom clothing, custom hair, or other custom object, the MakeHuman™ program on the new computer will be unable to provide a complete representation of your model unless you also move the custom asset(s) to the second computer.
By default, model files (in.mhm format) are saved to the user directory %HOMEPATH%/Documents/makehuman/v1/models/. If you wish to save your files in a different location, you can use the ellipsis at the top of the center panel to navigate to the directory/folder of interest. In addtion to the .mhm file, the save operation will generate a thumbnail image of the model as it appears in the viewport at save time. Thus, you will want to move the camera to a meaningful and unique view of the model before saving so that the thumbnail image will be easy to identify visually.
CAUTIONARY NOTE:On windows OS (and perhaps on other OS's) there is a small gliche with saving to non-standard directories in MH 1.0.1 and MH 1.0.2. If you hit the ellipsis with a blank file name, use the system dialog to navigate to your directory of choice, enter a file name without extension in the system dialog, hit save, and watch the dialog close, the file will have been saved using the directory name rather than the filename you provided in the save box of the system dialog. This directory name will now appear to the right of the ellipsis in the center panel. It seems that you can avoid this problem by providing a full file name to the right of the ellipsis before you begin the save procedure, then using the system dialog to navigate to the desired directory, and supplying the same file name a second time in the filename blank of the save dialog. This irratic behavior has been reported, and when fixed, this cautionary note should be removed. (Refer to bug 506 - RWB)
091ff025c5a8c4193858776b553e921e595d9215
754
684
2016-05-24T11:05:33Z
Joepal
14
Joepal moved page [[Documentation:Load, save and export]] to [[Documentation:Loading and saving]]: Breaking out export stuff
wikitext
text/x-wiki
The leftmost section of the Toolbar includes 3 quick action icons: 1) for loading models from native .mhm files; 2) for saving the model as a native .mhm file; and 3) for exporting the model in various formats used by other 3D programs (e.g., dae, .fbx, .stl, .obj).
!IMAGE!Pictures/lse_quick.png!/IMAGE!
For more complete file access support (Load, Save, Export), the Files Tab options provides access to the controls that manage saving, loading, and exporting the MakeHuman™ project to or from files.
!IMAGE!Pictures/lse_tabs.png!/IMAGE!
==== Loading Files ====
Files are loaded using either the Quick Load icon or by directly choosing the File tab and the Load subtab.
!IMAGE!Pictures/load1.png!/IMAGE!
By default, models that have beem saved in MHM format are retrieved from the user directory%HOMEPATH%/makehuman/v1/models/. In the event that you have stored your MHM files in a different directory/folder, you can navigate to that directory/folder using the ellipsis at the top of the center panel. The right hand panel will be populated with thumbnail images of all the MHM files found in the path specified in the path at the top of the center panel. Simply click on the icon for the model you wish to load in the right panel. The model will load and refresh to its completed state in the center panel. You can load different models sequentially, if you wish. They will simply replace the previous model in the center panel. MakeHuman™ is designed so that all loaded models are loaded without changing the camera location. Thus, you can zoom in on a particular area of the body and compare multiple saved models from a single camera perspective.
==== Saving Files (.mhm format) ====
Files are saved using either the Quick Save icon or by directly choosing the File tab and the Save sub tab.
The native file format for saving MakeHuman™ files is the .mhm format. It is important to understand that this format does not save a pixel by pixel representation of your model nor does it save program objects like the actual clothes or hair. Rather, it saves the necessary information for the program to reconstruct your model from its internally defined assets. This means that if you move a .mhm file to another computer that lacks a piece of custom clothing, custom hair, or other custom object, the MakeHuman™ program on the new computer will be unable to provide a complete representation of your model unless you also move the custom asset(s) to the second computer.
By default, model files (in.mhm format) are saved to the user directory %HOMEPATH%/Documents/makehuman/v1/models/. If you wish to save your files in a different location, you can use the ellipsis at the top of the center panel to navigate to the directory/folder of interest. In addtion to the .mhm file, the save operation will generate a thumbnail image of the model as it appears in the viewport at save time. Thus, you will want to move the camera to a meaningful and unique view of the model before saving so that the thumbnail image will be easy to identify visually.
CAUTIONARY NOTE:On windows OS (and perhaps on other OS's) there is a small gliche with saving to non-standard directories in MH 1.0.1 and MH 1.0.2. If you hit the ellipsis with a blank file name, use the system dialog to navigate to your directory of choice, enter a file name without extension in the system dialog, hit save, and watch the dialog close, the file will have been saved using the directory name rather than the filename you provided in the save box of the system dialog. This directory name will now appear to the right of the ellipsis in the center panel. It seems that you can avoid this problem by providing a full file name to the right of the ellipsis before you begin the save procedure, then using the system dialog to navigate to the desired directory, and supplying the same file name a second time in the filename blank of the save dialog. This irratic behavior has been reported, and when fixed, this cautionary note should be removed. (Refer to bug 506 - RWB)
==== Exporting Files ====
!IMAGE!Pictures/export_labelled.png!/IMAGE!
The above illustration explains the typical user interface components of the Export tab. On the right you get to choose what to export be in the mesh, the rig or the maps. In the center you have the 3D preview to preview your model. On the right you have options which keep changing based on what format you have selected in the left panel. On the top below the tabs panel is the “Ellipsis” button which opens a file dialog, a text box to enter the file name of the file and an “Export” button to do the actual export and save the file in the desired format.
Below we outline the three main options in more detail i.e. Mesh formats, rig formats and Maps.
=== Mesh Formats (.dae, .fbx, obj, Ogre3D, .MD5, .stl) ===
Files are Exported using either the Quick Export icon or by directly choosing the File tab and the Export subtab.
The Export window allows you to export your current MakeHuman project to one of a variety of export formats. Supported formats including Collada (DAE) Filmbox (fbx),Wavefront (obj), Id Software (MD5), and Sterolithography (stl).
By default, exported files (regardless of export format) are saved to the user directory%HOMEPATH%/makehuman/v1/exports/(to know yourHOMEPATHon your platform refer to this!LINK!http://www.makehuman.org/doc/faq/where_are_my_makehuman_files_found_ie_where_is_my_home_directory.html -- faq!/LINK!).
As is true for the load and save tabs, the ellipsis can be used to export to a non-standard directory/folder. After selecting a format and export options, type the name of your project in the input box at the center of the Export window and then click theExportbutton at the right hand side of the input box.
MakeHuman, itself, can not read any of the exported formats, so exporting is a one way transfer of information. If you expect to do further refinement of your model, make sure you also save it in .mhm format.
The various export formats differ in the richness of the assets exported:
* Collada Dae (.dae):COLLADA™ is owned by the not-for-profit, open standards!LINK!http://www.khronos.org/ -- Khronos group!/LINK!. It defines an!LINK!https://www.khronos.org/collada/ -- XML-based schema!/LINK!standard for exporting 3D assets. MakeHuman™ is meant to adhere to version 1.4 of the standard. The resulting ASCII format files can become quite large which occassionally limits the use of this format with other programs. By default, MakeHuman™ exports DAE files with y-up, face-z and the decimeter scale chosen. When importing MakeHuman dae files into Blender, be sure to check "import units" at the bottom of the Blender left tool panel if you have not changed the units to meters.
* Wavefront Obj (.obj):OBJ is a very simple format to export the mesh, with vertices, faces and UV coordinates. Originally invented by Alias/Wavefront, all major 3D packages have OBJ importers, so this format allows you to export to the greatest range of applications. However, the character is not rigged but rather a static prop. Wavefront OBJ is a good choice when you need a simple mesh for an external renderer. It comes with an mtl file defining the material.
* Fbx:The default dialect currently used by the MakeHuman™ FBX exporter is FBX 2013 ASCII. Other FBX dialects exist, and if you need one of those dialects, you can use the AutoDesk™ FBX converter (!LINK!http://www.autodesk.com/products/fbx/overview -- http://www.autodesk.com/products/fbx/overview!/LINK!). For example, the Blender importer requires binary FBX files that can be generated in this fashion.
TheOptionsbox contains several export options for each of the formats.The export options available for each format can be selected or deselected by ticking (displayed in orange) and un-ticking off the box in front of them. You can either use the default options for a format or select and deselect options according to your goals and needs. Once an option is changed, it will remain in the changed state until you restart MakeHuman or change it again. They are unaffected by the reset button on the Toolbar.
A common option that is present for all formats isFeet on ground: the origin of the MakeHuman™ mesh is located in the hip area, but if this option is enabled, exported origin is moved to between the feet instead.
Another common option present in almost all formats is the Scale unit: decimeter, meter, inch, centimeter. The internal MakeHuman™ unit is decimeters (the base mesh is 16.8 dm tall), but this is a rather unique choice not shared by other applications. Setting the unit is not essential if the file is exported to a 3D suit like Maya, 3DSMax or Blender, because the character can be rescaled after import. However, Collada files can also be read by other types of applications, where choosing the right scale may be important. In particular, select meters for export to SecondLife.
=== Rig formats (.bvh) ===
MakeHuman currently only supports one rig format.
* Biovision (.bvh):If BVH is selected, it is anticipated that built in animations will be saved to the export directory. As of the MakeHuman™ 1.0.2, there is no offical support for model animation from within MakeHuman™. Thus, selecting this export type is of limited value. If you are interested in using BVH files created by other programs with the MakeHuman model, you may wish to read the documentation on the!LINK!http://www.makehuman.org/sectionview/975 -- MHBlenderTools MakeWalk!/LINK! Addon. A good place to start is the!LINK!http://www.makehuman.org/doc/node/blendertools_makewalk_basic_workflow.html -- MakeWalk Basic Workflow!/LINK!chapter.
=== Maps ( ligtmaps and UV maps) ===
* Lightmap:IfLightmapis checked, a grayscale image of the unwrapped A8 model is saved in the export directory as a 2048 x 2048 .png image.
* UV Map:IfUV mapis checked, a black and white UV unwrapped image of the model mesh on a black background is saved in the export directory as a 2048 x 2048 .png image.
a50e9b8b76ef0709700fb955b4dd2e4bd4bc3c11
684
2016-05-20T08:36:05Z
Joepal
14
Created page with "The leftmost section of the Toolbar includes 3 quick action icons: 1) for loading models from native .mhm files; 2) for saving the model as a native .mhm file; and 3) for exp..."
wikitext
text/x-wiki
The leftmost section of the Toolbar includes 3 quick action icons: 1) for loading models from native .mhm files; 2) for saving the model as a native .mhm file; and 3) for exporting the model in various formats used by other 3D programs (e.g., dae, .fbx, .stl, .obj).
!IMAGE!Pictures/lse_quick.png!/IMAGE!
For more complete file access support (Load, Save, Export), the Files Tab options provides access to the controls that manage saving, loading, and exporting the MakeHuman™ project to or from files.
!IMAGE!Pictures/lse_tabs.png!/IMAGE!
==== Loading Files ====
Files are loaded using either the Quick Load icon or by directly choosing the File tab and the Load subtab.
!IMAGE!Pictures/load1.png!/IMAGE!
By default, models that have beem saved in MHM format are retrieved from the user directory%HOMEPATH%/makehuman/v1/models/. In the event that you have stored your MHM files in a different directory/folder, you can navigate to that directory/folder using the ellipsis at the top of the center panel. The right hand panel will be populated with thumbnail images of all the MHM files found in the path specified in the path at the top of the center panel. Simply click on the icon for the model you wish to load in the right panel. The model will load and refresh to its completed state in the center panel. You can load different models sequentially, if you wish. They will simply replace the previous model in the center panel. MakeHuman™ is designed so that all loaded models are loaded without changing the camera location. Thus, you can zoom in on a particular area of the body and compare multiple saved models from a single camera perspective.
==== Saving Files (.mhm format) ====
Files are saved using either the Quick Save icon or by directly choosing the File tab and the Save sub tab.
The native file format for saving MakeHuman™ files is the .mhm format. It is important to understand that this format does not save a pixel by pixel representation of your model nor does it save program objects like the actual clothes or hair. Rather, it saves the necessary information for the program to reconstruct your model from its internally defined assets. This means that if you move a .mhm file to another computer that lacks a piece of custom clothing, custom hair, or other custom object, the MakeHuman™ program on the new computer will be unable to provide a complete representation of your model unless you also move the custom asset(s) to the second computer.
By default, model files (in.mhm format) are saved to the user directory %HOMEPATH%/Documents/makehuman/v1/models/. If you wish to save your files in a different location, you can use the ellipsis at the top of the center panel to navigate to the directory/folder of interest. In addtion to the .mhm file, the save operation will generate a thumbnail image of the model as it appears in the viewport at save time. Thus, you will want to move the camera to a meaningful and unique view of the model before saving so that the thumbnail image will be easy to identify visually.
CAUTIONARY NOTE:On windows OS (and perhaps on other OS's) there is a small gliche with saving to non-standard directories in MH 1.0.1 and MH 1.0.2. If you hit the ellipsis with a blank file name, use the system dialog to navigate to your directory of choice, enter a file name without extension in the system dialog, hit save, and watch the dialog close, the file will have been saved using the directory name rather than the filename you provided in the save box of the system dialog. This directory name will now appear to the right of the ellipsis in the center panel. It seems that you can avoid this problem by providing a full file name to the right of the ellipsis before you begin the save procedure, then using the system dialog to navigate to the desired directory, and supplying the same file name a second time in the filename blank of the save dialog. This irratic behavior has been reported, and when fixed, this cautionary note should be removed. (Refer to bug 506 - RWB)
==== Exporting Files ====
!IMAGE!Pictures/export_labelled.png!/IMAGE!
The above illustration explains the typical user interface components of the Export tab. On the right you get to choose what to export be in the mesh, the rig or the maps. In the center you have the 3D preview to preview your model. On the right you have options which keep changing based on what format you have selected in the left panel. On the top below the tabs panel is the “Ellipsis” button which opens a file dialog, a text box to enter the file name of the file and an “Export” button to do the actual export and save the file in the desired format.
Below we outline the three main options in more detail i.e. Mesh formats, rig formats and Maps.
=== Mesh Formats (.dae, .fbx, obj, Ogre3D, .MD5, .stl) ===
Files are Exported using either the Quick Export icon or by directly choosing the File tab and the Export subtab.
The Export window allows you to export your current MakeHuman project to one of a variety of export formats. Supported formats including Collada (DAE) Filmbox (fbx),Wavefront (obj), Id Software (MD5), and Sterolithography (stl).
By default, exported files (regardless of export format) are saved to the user directory%HOMEPATH%/makehuman/v1/exports/(to know yourHOMEPATHon your platform refer to this!LINK!http://www.makehuman.org/doc/faq/where_are_my_makehuman_files_found_ie_where_is_my_home_directory.html -- faq!/LINK!).
As is true for the load and save tabs, the ellipsis can be used to export to a non-standard directory/folder. After selecting a format and export options, type the name of your project in the input box at the center of the Export window and then click theExportbutton at the right hand side of the input box.
MakeHuman, itself, can not read any of the exported formats, so exporting is a one way transfer of information. If you expect to do further refinement of your model, make sure you also save it in .mhm format.
The various export formats differ in the richness of the assets exported:
* Collada Dae (.dae):COLLADA™ is owned by the not-for-profit, open standards!LINK!http://www.khronos.org/ -- Khronos group!/LINK!. It defines an!LINK!https://www.khronos.org/collada/ -- XML-based schema!/LINK!standard for exporting 3D assets. MakeHuman™ is meant to adhere to version 1.4 of the standard. The resulting ASCII format files can become quite large which occassionally limits the use of this format with other programs. By default, MakeHuman™ exports DAE files with y-up, face-z and the decimeter scale chosen. When importing MakeHuman dae files into Blender, be sure to check "import units" at the bottom of the Blender left tool panel if you have not changed the units to meters.
* Wavefront Obj (.obj):OBJ is a very simple format to export the mesh, with vertices, faces and UV coordinates. Originally invented by Alias/Wavefront, all major 3D packages have OBJ importers, so this format allows you to export to the greatest range of applications. However, the character is not rigged but rather a static prop. Wavefront OBJ is a good choice when you need a simple mesh for an external renderer. It comes with an mtl file defining the material.
* Fbx:The default dialect currently used by the MakeHuman™ FBX exporter is FBX 2013 ASCII. Other FBX dialects exist, and if you need one of those dialects, you can use the AutoDesk™ FBX converter (!LINK!http://www.autodesk.com/products/fbx/overview -- http://www.autodesk.com/products/fbx/overview!/LINK!). For example, the Blender importer requires binary FBX files that can be generated in this fashion.
TheOptionsbox contains several export options for each of the formats.The export options available for each format can be selected or deselected by ticking (displayed in orange) and un-ticking off the box in front of them. You can either use the default options for a format or select and deselect options according to your goals and needs. Once an option is changed, it will remain in the changed state until you restart MakeHuman or change it again. They are unaffected by the reset button on the Toolbar.
A common option that is present for all formats isFeet on ground: the origin of the MakeHuman™ mesh is located in the hip area, but if this option is enabled, exported origin is moved to between the feet instead.
Another common option present in almost all formats is the Scale unit: decimeter, meter, inch, centimeter. The internal MakeHuman™ unit is decimeters (the base mesh is 16.8 dm tall), but this is a rather unique choice not shared by other applications. Setting the unit is not essential if the file is exported to a 3D suit like Maya, 3DSMax or Blender, because the character can be rescaled after import. However, Collada files can also be read by other types of applications, where choosing the right scale may be important. In particular, select meters for export to SecondLife.
=== Rig formats (.bvh) ===
MakeHuman currently only supports one rig format.
* Biovision (.bvh):If BVH is selected, it is anticipated that built in animations will be saved to the export directory. As of the MakeHuman™ 1.0.2, there is no offical support for model animation from within MakeHuman™. Thus, selecting this export type is of limited value. If you are interested in using BVH files created by other programs with the MakeHuman model, you may wish to read the documentation on the!LINK!http://www.makehuman.org/sectionview/975 -- MHBlenderTools MakeWalk!/LINK! Addon. A good place to start is the!LINK!http://www.makehuman.org/doc/node/blendertools_makewalk_basic_workflow.html -- MakeWalk Basic Workflow!/LINK!chapter.
=== Maps ( ligtmaps and UV maps) ===
* Lightmap:IfLightmapis checked, a grayscale image of the unwrapped A8 model is saved in the export directory as a 2048 x 2048 .png image.
* UV Map:IfUV mapis checked, a black and white UV unwrapped image of the model mesh on a black background is saved in the export directory as a 2048 x 2048 .png image.
a50e9b8b76ef0709700fb955b4dd2e4bd4bc3c11
Documentation:MH4UE
3000
690
2052
2038
2021-03-14T18:24:47Z
Assetdk
89
/* Into Blender and Unreal */
wikitext
text/x-wiki
On this page you will find links to various things you will need when you want to use Makehuman characters in Unreal engine!
Please add your own pages, comments and tips where ever you find it is needed!
==Introduction==
When working with MakeHuman in Blender you will have some high quality characters to play with and you will see that the community addons can help you a lot. There are a few primary '''[http://www.makehumancommunity.org/content/plugins.html must have Blender addons]''' please use '''Blender 2.8''' (or higher?) - these are the tree you will need to have and initially know about to full use of blender:
* Makehuman the community addon, that will allow you to fetch your character from MakeHuman to Blender directly!
* MHX2 Runtime, that will allow you to the import MHX2 files you made in MakeHuman
* [[Documentation:MHBlenderTools:_MakeTarget|MakeTarget]] that will help you to make new Targets to be used from within MakeHuman.
===Into Blender and Unreal===
When you want to use your characters in Blender, or when you want to export them to a game engine - UE4 or Unity - you even get some shape keys, also called morph targets. These are however not always "included" in the files exported from MakeHuman - specifically the shape keys are added by the MHX2 runtime addon. ( Also the community Blender addon contains some kind of shape key/pose functionality, but I have not been able to find any explanations for what they are doing! )
You can also take a look at this page for more on how to work with Blender: [[Moving Assets into Blender]].
Rather than making your characters in MakeHuman with one fixed expression/shape/pose, you would probably want to have the same options available in Blender. So I investigated the above addons and made MakeShapes as a small extension to MakeTartarget2. The general idea is have been to to transfer the Targets, expressions and the expression builder "sliders"... as-is, so they can be used as shape keys.
There are, currently, two pages for this, one describing the process of getting MH to Blender and then into Unreal. And one describing the addon that will add more "shape keys" to your characters (while in blender).
* [[Documentation:Saving_models_for_Unreal_Engine_and_how_to_import_them_there|Saving models for Unreal Engine and how to import them there]].
* [[Documentation:Saving_models_for_Unreal_Engine_Materials|How to setup Unreal materials]].
* [[Documentation:Unreal_MHC|Unreal MakeCustomization]].
* [[Documentation:MHBlenderTools: MakeShapes|MakeShapes - getting more shape keys/morph targets]]
===Inside Unreal===
When your character(s) are inside Unreal you want to take full advantage of all the options. For this I am working on some character customize tools that will allow you to set up your characters either as "hand customized" or randomized.
==Additional resources==
And I also made these pages:
* [[Documentation:Unreal Engine ALS V4]]
* [[Documentation:Unreal Engine Vehicle Variety Pack]]
ec81d232218fd8e80dfe4a345c756a917e336a82
2038
1975
2021-02-21T10:22:24Z
Assetdk
89
/* Introduction */
wikitext
text/x-wiki
On this page you will find links to various things you will need when you want to use Makehuman characters in Unreal engine!
Please add your own pages, comments and tips where ever you find it is needed!
==Introduction==
When working with MakeHuman in Blender you will have some high quality characters to play with and you will see that the community addons can help you a lot. There are a few primary '''[http://www.makehumancommunity.org/content/plugins.html must have Blender addons]''' please use '''Blender 2.8''' (or higher?) - these are the tree you will need to have and initially know about to full use of blender:
* Makehuman the community addon, that will allow you to fetch your character from MakeHuman to Blender directly!
* MHX2 Runtime, that will allow you to the import MHX2 files you made in MakeHuman
* [[Documentation:MHBlenderTools:_MakeTarget|MakeTarget]] that will help you to make new Targets to be used from within MakeHuman.
===Into Blender and Unreal===
When you want to use your characters in Blender, or when you want to export them to a game engine - UE4 or Unity - you even get some shape keys, also called morph targets. These are however not always "included" in the files exported from MakeHuman - specifically the shape keys are added by the MHX2 runtime addon. ( Also the community Blender addon contains some kind of shape key/pose functionality, but I have not been able to find any explanations for what they are doing! )
You can also take a look at this page for more on how to work with Blender: [[Moving Assets into Blender]].
Rather than making your characters in MakeHuman with one fixed expression/shape/pose, you would probably want to have the same options available in Blender. So I investigated the above addons and made MakeShapes as a small extension to MakeTartarget2. The general idea is have been to to transfer the Targets, expressions and the expression builder "sliders"... as-is, so they can be used as shape keys.
There are, currently, two pages for this, one describing the process of getting MH to Blender and then into Unreal. And one describing the addon that will add more "shape keys" to your characters (while in blender).
* [[Documentation:Saving_models_for_Unreal_Engine_and_how_to_import_them_there|Saving models for Unreal Engine and how to import them there]].
* [[Documentation:Unreal_MHC|Unreal MakeCustomization]].
* [[Documentation:MHBlenderTools: MakeShapes|MakeShapes - getting more shape keys/morph targetss]]
===Inside Unreal===
When your character(s) are inside Unreal you want to take full advantage of all the options. For this I am working on some character customize tools that will allow you to set up your characters either as "hand customized" or randomized.
==Additional resources==
And I also made these pages:
* [[Documentation:Unreal Engine ALS V4]]
* [[Documentation:Unreal Engine Vehicle Variety Pack]]
8a2736ce10532efc7fdecc717043db47b76c15dd
1975
1974
2021-01-16T07:56:30Z
Assetdk
89
/* Into Blender and Unreal */
wikitext
text/x-wiki
On this page you will find links to various things you will need when you want to use Makehuman characters in Unreal engine!
Please add your own pages, comments and tips where ever you find it is needed!
==Introduction==
When working with MakeHuman in Blender you will have some high quality characters to play with and you will see that the community addons can help you a lot. There are a few primary '''[http://www.makehumancommunity.org/content/plugins.html must have Blender addons]''' please use '''Blender 2.8''' (or higher?) - these are the tree you will need to have and initially know about to full use of blender:
* Makehuman the community addon, that will allow you to fetch your character from MakeHuman to Blender directly!
* MHX2 Runtime, that will allow you to the import MHX2 files you made in MakeHuman
* [[Documentation:MHBlenderTools:_MakeTarget|MakeTarget]] that will help you to make new Targets to be used from within MakeHuman.
===Into Blender and Unreal===
When you want to use your characters in Blender, or when you want to export them to a game engine - UE4 or Unity - you even get some shape keys, also called morph targets. These are however not always "included" in the files exported from MakeHuman - specifically the shape keys are added by the MHX2 runtime addon. ( Also the community Blender addon contains some kind of shape key/pose functionality, but I have not been able to find any explanations for what they are doing! )
You can also take a look at this page for more on how to work with Blender: [[Moving Assets into Blender]].
Rather than making your characters in MakeHuman with one fixed expression/shape/pose, you would probably want to have the same options available in Blender. So I investigated the above addons and made MakeShapes as a small extension to MakeTartarget2. The general idea is have been to to transfer the Targets, expressions and the expression builder "sliders"... as-is, so they can be used as shape keys.
There are, currently, two pages for this, one describing the process of getting MH to Blender and then into Unreal. And one describing the addon that will add more "shape keys" to your characters (while in blender).
* [[Documentation:Saving_models_for_Unreal_Engine_and_how_to_import_them_there|Saving models for Unreal Engine and how to import them there]].
* [[Documentation:MHBlenderTools: MakeShapes|MakeShapes - getting more shape keys/morph targetss]]
===Inside Unreal===
When your character(s) are inside Unreal you want to take full advantage of all the options. For this I am working on some character customize tools that will allow you to set up your characters either as "hand customized" or randomized.
==Additional resources==
And I also made these pages:
* [[Documentation:Unreal Engine ALS V4]]
* [[Documentation:Unreal Engine Vehicle Variety Pack]]
55fd7fc953f4af2176389b14766e639b8e8bebb3
1974
1973
2021-01-16T07:55:59Z
Assetdk
89
/* Into Blender and Unreal */
wikitext
text/x-wiki
On this page you will find links to various things you will need when you want to use Makehuman characters in Unreal engine!
Please add your own pages, comments and tips where ever you find it is needed!
==Introduction==
When working with MakeHuman in Blender you will have some high quality characters to play with and you will see that the community addons can help you a lot. There are a few primary '''[http://www.makehumancommunity.org/content/plugins.html must have Blender addons]''' please use '''Blender 2.8''' (or higher?) - these are the tree you will need to have and initially know about to full use of blender:
* Makehuman the community addon, that will allow you to fetch your character from MakeHuman to Blender directly!
* MHX2 Runtime, that will allow you to the import MHX2 files you made in MakeHuman
* [[Documentation:MHBlenderTools:_MakeTarget|MakeTarget]] that will help you to make new Targets to be used from within MakeHuman.
===Into Blender and Unreal===
When you want to use your characters in Blender, or when you want to export them to a game engine - UE4 or Unity - you even get some shape keys, also called morph targets. These are however not always "included" in the files exported from MakeHuman - specifically the shape keys are added by the MHX2 runtime addon. ( Also the community Blender addon contains some kind of shape key/pose functionality, but I have not been able to find any explanations for what they are doing! )
You can also take a look at this page for more on how to work with Blender: [[Moving Assets into Blender]].
Rather than making your characters in MakeHuman with one fixed expression/shape/pose, you would probably want to have the same options available in Blender. So I investigated the above addons and made MakeShapes as a small extension to MakeTartarget2. The general idea is have been to to transfer the Targets, expressions and the expression builder "sliders"... as-is, so they can be used as shape keys.
There are, currently, two pages for this, one describing the process of getting MH to Blender and then into Unreal. And one describing the addon that will add more "shape keys" to your characters (while in blender).
* [[Documentation:Saving_models_for_Unreal_Engine_and_how_to_import_them_there|Saving models for Unreal Engine and how to import them there]].
* [[Documentation:MHBlenderTools: MakeShapes|MakeShapes getting more shape keys/morph targetss]]
===Inside Unreal===
When your character(s) are inside Unreal you want to take full advantage of all the options. For this I am working on some character customize tools that will allow you to set up your characters either as "hand customized" or randomized.
==Additional resources==
And I also made these pages:
* [[Documentation:Unreal Engine ALS V4]]
* [[Documentation:Unreal Engine Vehicle Variety Pack]]
9ab345d511213347d9fcb938d1b7c710a938fee1
1973
1969
2021-01-16T07:27:36Z
Assetdk
89
/* Introduction */
wikitext
text/x-wiki
On this page you will find links to various things you will need when you want to use Makehuman characters in Unreal engine!
Please add your own pages, comments and tips where ever you find it is needed!
==Introduction==
When working with MakeHuman in Blender you will have some high quality characters to play with and you will see that the community addons can help you a lot. There are a few primary '''[http://www.makehumancommunity.org/content/plugins.html must have Blender addons]''' please use '''Blender 2.8''' (or higher?) - these are the tree you will need to have and initially know about to full use of blender:
* Makehuman the community addon, that will allow you to fetch your character from MakeHuman to Blender directly!
* MHX2 Runtime, that will allow you to the import MHX2 files you made in MakeHuman
* [[Documentation:MHBlenderTools:_MakeTarget|MakeTarget]] that will help you to make new Targets to be used from within MakeHuman.
===Into Blender and Unreal===
When you want to use your characters in Blender, or when you want to export them to a game engine - UE4 or Unity - you even get some shape keys, also called morph targets. These are however not always "included" in the files exported from MakeHuman - specifically the shape keys are added by the MHX2 runtime addon. ( Also the community Blender addon contains some kind of shape key/pose functionality, but I have not been able to find any explanations for what they are doing! )
You can also take a look at this page for more on how to work with Blender: [[Moving Assets into Blender]].
Rather than making your characters in MakeHuman with one fixed expression/shape/pose, you would probably want to have the same options available in Blender. So I investigated the above addons and made MakeShapes as a small extension to MakeTartarget2. The general idea is have been to to transfer the Targets, expressions and the expression builder "sliders"... as-is, so they can be used as shape keys.
There are, currently, two pages for this, one describing the process of getting MH to Blender and then into Unreal. And one describing the addon that will add more "shape keys" to your characters (while in blender).
* [[Documentation:Saving_models_for_Unreal_Engine_and_how_to_import_them_there]].
* [[Documentation:MHBlenderTools: MakeShapes]]
===Inside Unreal===
When your character(s) are inside Unreal you want to take full advantage of all the options. For this I am working on some character customize tools that will allow you to set up your characters either as "hand customized" or randomized.
==Additional resources==
And I also made these pages:
* [[Documentation:Unreal Engine ALS V4]]
* [[Documentation:Unreal Engine Vehicle Variety Pack]]
e309c4885f9384c7619f3335dd903077da4d6c36
1969
1968
2021-01-16T07:07:13Z
Assetdk
89
/* Introduction */
wikitext
text/x-wiki
On this page you will find links to various things you will need when you want to use Makehuman characters in Unreal engine!
Please add your own pages, comments and tips where ever you find it is needed!
==Introduction==
When working with MakeHuman in Blender you will have some high quality characters to play with and you will see that the community addons can help you a lot. There are a few primary '''[http://www.makehumancommunity.org/content/plugins.html must have Blender addons]''' please use '''Blender 2.8''' (or higher?) - these are the tree you will need to have and know about to use '''MakeShapes''':
* Makehuman the community addon, that will allow you to fetch your character from MakeHuman to Blender directly!
* MHX2 Runtime, that will allow you to the import MHX2 files you made in MakeHuman
* [[Documentation:MHBlenderTools:_MakeTarget]] that will help you to make new Targets to be used from within MakeHuman.
===Into Blender and Unreal===
When you want to use your characters in Blender, or when you want to export them to a game engine - UE4 or Unity - you even get some shape keys, also called morph targets. These are however not always "included" in the files exported from MakeHuman - specifically the shape keys are added by the MHX2 runtime addon. ( Also the community Blender addon contains some kind of shape key/pose functionality, but I have not been able to find any explanations for what they are doing! )
You can also take a look at this page for more on how to work with Blender: [[Moving Assets into Blender]].
Rather than making your characters in MakeHuman with one fixed expression/shape/pose, you would probably want to have the same options available in Blender. So I investigated the above addons and made MakeShapes as a small extension to MakeTartarget2. The general idea is have been to to transfer the Targets, expressions and the expression builder "sliders"... as-is, so they can be used as shape keys.
There are, currently, two pages for this, one describing the process of getting MH to Blender and then into Unreal. And one describing the addon that will add more "shape keys" to your characters (while in blender).
* [[Documentation:Saving_models_for_Unreal_Engine_and_how_to_import_them_there]].
* [[Documentation:MHBlenderTools: MakeShapes]]
===Inside Unreal===
When your character(s) are inside Unreal you want to take full advantage of all the options. For this I am working on some character customize tools that will allow you to set up your characters either as "hand customized" or randomized.
==Additional resources==
And I also made these pages:
* [[Documentation:Unreal Engine ALS V4]]
* [[Documentation:Unreal Engine Vehicle Variety Pack]]
2a359f6c85f993ae9d67f21459d7e37a8a1ae41f
1968
1967
2021-01-16T06:54:34Z
Assetdk
89
wikitext
text/x-wiki
On this page you will find links to various things you will need when you want to use Makehuman characters in Unreal engine!
Please add your own pages, comments and tips where ever you find it is needed!
==Introduction==
When working with MakeHuman in Blender you will have some high quality characters to play with and you will see that the community addons can help you a lot. There are a few primary '''[http://www.makehumancommunity.org/content/plugins.html must have Blender addons]''' please use '''Blender 2.8''' - these are the tree you will need to have and know about to use '''MakeShapes''':
* Makehuman the community addon, that will allow you to fetch your character from MakeHuman to Blender directly!
* MHX2 Runtime, that will allow you to the import MHX2 files you made in MakeHuman
* [[Documentation:MHBlenderTools:_MakeTarget]] that will help you to make new Targets to be used from within MakeHuman.
When you want to use your characters in Blender, or when you want to export them to a game engine - UE4 or Unity - you even get some shape keys, also called morph targets. These are however not always "included" in the files exported from MakeHuman - specifically the shape keys are added by the MHX2 runtime addon. ( Also the community Blender addon contains some kind of shape key/pose functionality, but I have not been able to find any explanations for what they are doing! )
Rather than making your characters in MakeHuman with one fixed expression/shape/pose, you would probably want to have the same options available in Blender. So I investigated the above addons and made MakeShapes as a small extension to MakeTartarget2. The general idea is have been to to transfer the Targets, expressions and the expression builder "sliders"... as-is, so they can be used as shape keys.
You can also take a look at this page for more on how to work with Blender: [[Moving Assets into Blender]].
And I also made these pages:
* [[Documentation:Saving_models_for_Unreal_Engine_and_how_to_import_them_there]].
* [[Documentation:MHBlenderTools: MakeShapes]]
* [[Documentation:Unreal Engine ALS V4]]
* [[Documentation:Unreal Engine Vehicle Variety Pack]]
e3aabd242f49600b08ab33ff2fa6489fe7ef1429
1967
2021-01-16T06:50:07Z
Assetdk
89
Created page with "==Introduction== When working with MakeHuman in Blender you will have some high quality characters to play with and you will see that the community addons can help you a lot...."
wikitext
text/x-wiki
==Introduction==
When working with MakeHuman in Blender you will have some high quality characters to play with and you will see that the community addons can help you a lot. There are a few primary '''[http://www.makehumancommunity.org/content/plugins.html must have Blender addons]''' please use '''Blender 2.8''' - these are the tree you will need to have and know about to use '''MakeShapes''':
* Makehuman the community addon, that will allow you to fetch your character from MakeHuman to Blender directly!
* MHX2 Runtime, that will allow you to the import MHX2 files you made in MakeHuman
* [[Documentation:MHBlenderTools:_MakeTarget]] that will help you to make new Targets to be used from within MakeHuman.
When you want to use your characters in Blender, or when you want to export them to a game engine - UE4 or Unity - you even get some shape keys, also called morph targets. These are however not always "included" in the files exported from MakeHuman - specifically the shape keys are added by the MHX2 runtime addon. ( Also the community Blender addon contains some kind of shape key/pose functionality, but I have not been able to find any explanations for what they are doing! )
Rather than making your characters in MakeHuman with one fixed expression/shape/pose, you would probably want to have the same options available in Blender. So I investigated the above addons and made MakeShapes as a small extension to MakeTartarget2. The general idea is have been to to transfer the Targets, expressions and the expression builder "sliders"... as-is, so they can be used as shape keys.
You can also take a look at this page for more on how to work with Blender: [[Moving Assets into Blender]].
And I also made these pages:
* [[Documentation:Saving_models_for_Unreal_Engine_and_how_to_import_them_there]].
* [[Documentation:MHBlenderTools: MakeShapes]]
* [[Documentation:Unreal Engine ALS V4]]
* [[Documentation:Unreal Engine Vehicle Variety Pack]]
ed9c9a11f436e478f08a501c17a545429f5e79b7
Documentation:MHBlenderTools:MakeClothes
3000
195
1214
501
2016-11-04T08:27:37Z
Robbaer
12
wikitext
text/x-wiki
== Introduction ==
MakeClothes, as its name implies, is a Blender addon that is used to construct clothing assets for use in the MakeHuman program. Clothes can be modeled using any technique that is natural. For example, clothing can be modeled from scratch, or by altering either the human mesh or the “clothing helpers” (see below) provided by the MakeClothes tool. When designing and modeling a clothing item, there are two restrictions that should be kept in mind. First, the algorithm for mapping a clothing mesh to the human mesh requires that the clothing mesh consists entirely of quad faces. Second, it is important to know that MakeClothes supports only one material per item of clothing.
Upon completing the MakeClothes workflow, a new folder will be created by the tool within your HOME/makehuman/v1/data/clothes. That folder will assume the unique name that the user provides for the clothing item. This folder will be populated with the assets necessary to make the item available in MakeHuman. The one additional, useful but not essential, item that the user must supply is a thumbnail icon for the clothing. The thumbnail icon can be created with any image editing program as a 128 x128 pixel image in .png format. The file should then be saved in the same folder as the other assets and the extension changed to .thumb.
== Standard Tools ==
=== Using MakeClothes addon ===
[[File:Btmc01.png|left]] MakeClothes is controlled by the MakeClothes panel in the N-shelf to the right of the viewport. It consists of the main buttons that are always visible, and several hidden sections that can be displayed by enabling a checkbox.
<br style="clear:both" />
<hr>
[[File:Btmc02.png|500px|right]]
The main section contains the following:
* Type: Specifies the character to be used as a reference. It can be one of the following:
** Base Mesh: The MakeHuman mesh without any targets applied.
** Average Male: A caucasian young male.
** Average Female: A caucasian young female.
** Average Child: A caucasian young child.
** Average Baby: A caucasian young baby.
** Base Mesh with Helpers: The MakeHuman mesh without any targets applied.
** Average Male with Helpers: A caucasian young male.
** Average Female with Helpers: A caucasian young female.
** Average Childwith Helpers: A caucasian young child.
** Average Baby with Helpers: A caucasian young baby.
*Load Human mesh: the button to load the selected type into the scene.
Note:"helpers" in MakeHuman are a type of special, invisible geometry over the base mesh which can be loaded to help model clothes, for example, a helper sweater, helper tights, etc. They have their own materials. It is important to note that no alterations should be made to the base mesh type after it is loaded otherwise the script will fail. The image (right) shows the result of pressing "Load Human Mesh", with type set to Base Mesh.
<br style="clear:both" />
[[File:Btmc03.png|500px|right]] A human mesh is loaded into the viewport, and more tools are enabled:
* Mesh Type: MakeClothes divides meshes into two types: human and clothing. This button displays the mesh type (Human/Clothing) of the active mesh and is greyed out if the active object is not a mesh. (MakeHuman normally detects the items accurately, but in the event of an error, you can click the button to change the mesh type so that it is treated as a clothing item instead of human if it is a clothing item and incorrectly detected).
* Create Vertex Groups From Selection: MakeClothes uses vertex groups to control the fitting.
* Make Clothes. This is the main entry point for the MakeClothes script. With one human and one piece of clothing selected, create an association between clothes vertices and human triangles, i.e. triplets of human vertices. Both meshes must have vertex groups with identical names, and each clothing vertex must belong to exactly one vertex group. The result of the association is saved in the file ObjectName/ObjectName.mhclo, in the default directory. This button is greyed out if the active object is not a mesh.
* Test Clothes. This buttons loads a piece of clothing (an .mhclo file) and fits it to the active mesh, which must be a human. Typically a second human is loaded on a different layer, and the quality of the clothes fitted to that character can immediately be checked in Blender. To test the clothes under the strictest conditions, the human model used for testing should be quite different from the human used for clothes-making. If the original character is an adult, Baby With Helpers is a good choice.
If, instead, the Human With Helpers button is pressed, the full MakeHuman mesh including the helper geometry is loaded. Different materials are assigned to each type of helper geometry. The materials are ordered in the order of the vertex number. This makes it easy to peel off one helper type at a time.
<br style="clear:both" />
=== Glue clothes to the body ===
The clothes are meshes that can be modelled directly in Blender, or in another package and then imported into Blender as an obj file. Note that the mesh type is Clothing, which is the default unless the mesh has been declared to be a human. A simple method to obtain a starting point modelling is to duplicate part of the human mesh and separate it from the human. However, in this case the duplicated mesh will still be a human. To change the mesh type, press the toggle button Human. The status is now changed into Clothing.
After loading the human, the next step is to "glue" the clothes to the human, in order that they will automatically fit the body changes. To control this association, MakeClothes uses vertex groups. Each clothing vertex must belong to exactly one vertex group, and a vertex group with the same name must exist in the human mesh as well. Only human vertices in the correct vertex group will be considered when making clothes.
Vertex groups speed up the clothes-making process by pruning the search tree, and can be used to control the appearance of clothes as well. However, assigning vertex groups can be quite tedious, and in many cases it is sufficient to let MakeClothes create vertex groups automatically. This is done automatically when a human mesh is loaded. If a clothing mesh does not have any vertex groups, it is also done automatically, when the MakeClothes button is pressed.
=== Automatic vertex groups ===
[[File:Btmc04.png|500px|right]] If vertex groups need to be reassigned, for example because a piece of clothing has been edited, the automatic vertex groups can be used. When the human is selected, there is a button, visible in the image (above right), called "Create Vertex Groups From Selection". Selecting a cloth, the button changes to "Create Vertex Groups". Both the buttons do the same thing, but there is a little difference: in the human it is possible to generate the vertex groups only for a sub set of the vertices (selected in edit mode), while for clothing the vertex groups must include all vertices. This is because we need to associate only a part of the human vertices with all vertices of the clothing. For example, we need to associate all the vertices of a skirt with the human torso only.
<br style="clear:both" />
[[File:Btmc05.png|500px|right]] Pressing the button, the following vertex groups are created:
* Mid: Vertices on or very close to the center line (|x| < 0:001).
* Left: Vertices to the left of the center line (x > 0:001). For a human the Mid vertices are also included in the Left group.
* Right. Vertices to the right of the center line (x z 0:001). For a human the Mid vertices are also included in the Right group.
* Delete: An empty group only created for humans. Human vertices hidden by the piece of clothing can be added to this groups. These vertices are then optionally deleted when the clothing is applied in MakeHuman, thus avoiding that blotches of skin poking through the clothes. Note that when a vertex is deleted, so are all faces containing this vertex. Don't assign a vertex to the Delete group unless all faces containing it are hidden by the pieces of clothing.
In the images (right), we can see the vertices assigned to the Mid and Left groups for a nude human.
<br style="clear:both" />
=== Generate the clothes file ===
When both clothing and human has the vertex groups with same name, just press the MakeClothes button to generate the files.
They will be located in your HOME/makehuman/v1/data/clothes, in order to be inbcluded automatically in MakeHuman.
== Advanced tools ==
Under the main buttons of Makeclothes, there are seven hidden panels that can be activated clicking the checkbox. Let's see their meaning.
=== Show selection, Show Materials, Show UV projection ===
[[File:Btmc06.png|right]]
*Show selection. This feature is just a shortcut to quickly select some part of the human. So, instead of classic Blender selection (go to edit mode, move the mouse on a vertex and press Lkey to select the linked vertices), you can just press these buttons.
<br style="clear:both" />
[[File:Btmc07.png|right]]
* Show Materials. This shows a button to export the materials only. This is useful when there are no changes to the geometry, but only to the material, in order to avoid recalculating everything.
* Show UV projection. This section is useful mainly for making proxy meshes.
** Recover seams. Creates a Seam object, which has edges where the selected mesh's UV layout has seams. The Seam object is intended to be a reference for marking seams for the clothing.
** Auto seams.
** Project UVs. Automatically create a UV layout for the clothing, compatible with the human's UV coordinates. This is intended for the mask UV layer, which must be compatible with the body mesh for all clothes. The actual texture can use a different UV layer which can be laid out in any desirable manner.
** Reexport Mhclo file.The mhclo file must be resaved when the mask UVs have been defined. This can be done by pressing Make clothes again, but Reexport Mhclo file is faster.
<br style="clear:both" />
=== Show ZDepth, Show Offset scaling ===
[[File:Btmc08.png|right]]
* Show ZDepth. This option is used to assign a depth to the cloth, in order to hide skin and clothes which are covered by clothes on top of it. The Z depth specifies the stacking order, which decides which clothes should hide others. Normally the Z depth ranges between 0 (skin) and 100 (external accessories such as backpacks).
** Depth name. Roughly indicates the preferred Z depth for various clothes types. The choices are: Body, Underwear and Lingerie, Socks and Stockings, Shirt and Trousers, Sweater, Indoor Jacket, Shoes and Boots, Coat, Backpack.
** Set Z depth.Set the Z depth depending on the selected depth name.
** Z depth.The value of the Z depth. This is changed by the Set Z depth button, but can be set manually for fine-tuning.
<br style="clear:both" />
[[File:Btmc09.png|right]]
* Show Offset scaling. The location of a clothing vertex depends on two data: a point on a body triangle, described in barycentric coordinates, and the offset from that point. The offset is scaled in the X, Y and Z directions depending on the size of a certain body part.
** Body Part. Set this to the body part which is most affected. The choices are: Custom, Body, Genital, Head, Torso, Arm, Hand, Leg, Foot.
** Examine Boundary. Select the boundary vertices with Set boundary is invoked.
** Set Boundary. Set the boundary to vertices determined by the selected body part.
** Custom Boundary. To manually set the bounday box.
** X1, X2, Y1, Y2, Z1, Z2. The vertex numbers of the six vertices which define the scaling boundary. The X scale is determined from the distance between vertices X1 and X2, the Y scale by Y1 and Y2, and the Z scale by Z1 and Z2.
<br style="clear:both" />
=== Show Settings, Show License ===
[[File:Btmc10.png|right]]
* Show Setting. The settings include the author name and the export path. It's possible to save and restore the settings.
<br style="clear:both" />
[[File:Btmc11.png|right]]
* Show License.This set of options are to add the author name, the type of license and the tags for clothes. Licensing information to be put at the top of the exported mhclo file. It consists of three strings that can contain arbitary text.
** Author. Defaults to: Unknown.
** License. Defaults to: AGPL3
** HomePage. Defaults to: <NOWIKI>http://www.makehuman.org/ -- http://www.makehuman.org/</NOWIKI>
<br style="clear:both" />
7f06cdb74c4f09b6a982d229083ac488cba3e2be
501
500
2015-08-29T14:37:15Z
Fairytail
16
wikitext
text/x-wiki
{| cellspacing="11" style="width:100%;"
|-style="vertical-align:top;"
| style="width:33%;background-color: #EEE6E6; padding:0.5em;"|
'''Note:''' This document relates to MakeHuman version 1.1.0, currently only available as a nightly build.
|}
MakeClothes, as its name implies, is a Blender addon that is used to construct clothing assets for use in the MakeHuman program. Clothes can be modeled using any technique that is natural. For example, clothing can be modeled from scratch, or by altering either the human mesh or the “clothing helpers” (see below) provided by the MakeClothes tool. When designing and modeling a clothing item, there are two restrictions that should be kept in mind. First, the algorithm for mapping a clothing mesh to the human mesh requires that the clothing mesh consists entirely of quad faces. Second, it is important to know that MakeClothes supports only one material per item of clothing.
Upon completing the MakeClothes workflow, a new folder will be created by the tool within your HOME/makehuman/v1/data/clothes. That folder will assume the unique name that the user provides for the clothing item. This folder will be populated with the assets necessary to make the item available in MakeHuman. The one additional, useful but not essential, item that the user must supply is a thumbnail icon for the clothing. The thumbnail icon can be created with any image editing program as a 128 x128 pixel image in .png format. The file should then be saved in the same folder as the other assets and the extension changed to .thumb.
== Standard Tools ==
=== Using MakeClothes addon ===
[[File:Btmc01.png|left]] MakeClothes is controlled by the MakeClothes panel in the N-shelf to the right of the viewport. It consists of the main buttons that are always visible, and several hidden sections that can be displayed by enabling a checkbox.
<br style="clear:both" />
<hr>
[[File:Btmc02.png|500px|right]]
The main section contains the following:
* Type: Specifies the character to be used as a reference. It can be one of the following:
** Base Mesh: The MakeHuman mesh without any targets applied.
** Average Male: A caucasian young male.
** Average Female: A caucasian young female.
** Average Child: A caucasian young child.
** Average Baby: A caucasian young baby.
** Base Mesh with Helpers: The MakeHuman mesh without any targets applied.
** Average Male with Helpers: A caucasian young male.
** Average Female with Helpers: A caucasian young female.
** Average Childwith Helpers: A caucasian young child.
** Average Baby with Helpers: A caucasian young baby.
*Load Human mesh: the button to load the selected type into the scene.
Note:"helpers" in MakeHuman are a type of special, invisible geometry over the base mesh which can be loaded to help model clothes, for example, a helper sweater, helper tights, etc. They have their own materials. It is important to note that no alterations should be made to the base mesh type after it is loaded otherwise the script will fail. The image (right) shows the result of pressing "Load Human Mesh", with type set to Base Mesh.
<br style="clear:both" />
[[File:Btmc03.png|500px|right]] A human mesh is loaded into the viewport, and more tools are enabled:
* Mesh Type: MakeClothes divides meshes into two types: human and clothing. This button displays the mesh type (Human/Clothing) of the active mesh and is greyed out if the active object is not a mesh. (MakeHuman normally detects the items accurately, but in the event of an error, you can click the button to change the mesh type so that it is treated as a clothing item instead of human if it is a clothing item and incorrectly detected).
* Create Vertex Groups From Selection: MakeClothes uses vertex groups to control the fitting.
* Make Clothes. This is the main entry point for the MakeClothes script. With one human and one piece of clothing selected, create an association between clothes vertices and human triangles, i.e. triplets of human vertices. Both meshes must have vertex groups with identical names, and each clothing vertex must belong to exactly one vertex group. The result of the association is saved in the file ObjectName/ObjectName.mhclo, in the default directory. This button is greyed out if the active object is not a mesh.
* Test Clothes. This buttons loads a piece of clothing (an .mhclo file) and fits it to the active mesh, which must be a human. Typically a second human is loaded on a different layer, and the quality of the clothes fitted to that character can immediately be checked in Blender. To test the clothes under the strictest conditions, the human model used for testing should be quite different from the human used for clothes-making. If the original character is an adult, Baby With Helpers is a good choice.
If, instead, the Human With Helpers button is pressed, the full MakeHuman mesh including the helper geometry is loaded. Different materials are assigned to each type of helper geometry. The materials are ordered in the order of the vertex number. This makes it easy to peel off one helper type at a time.
<br style="clear:both" />
=== Glue clothes to the body ===
The clothes are meshes that can be modelled directly in Blender, or in another package and then imported into Blender as an obj file. Note that the mesh type is Clothing, which is the default unless the mesh has been declared to be a human. A simple method to obtain a starting point modelling is to duplicate part of the human mesh and separate it from the human. However, in this case the duplicated mesh will still be a human. To change the mesh type, press the toggle button Human. The status is now changed into Clothing.
After loading the human, the next step is to "glue" the clothes to the human, in order that they will automatically fit the body changes. To control this association, MakeClothes uses vertex groups. Each clothing vertex must belong to exactly one vertex group, and a vertex group with the same name must exist in the human mesh as well. Only human vertices in the correct vertex group will be considered when making clothes.
Vertex groups speed up the clothes-making process by pruning the search tree, and can be used to control the appearance of clothes as well. However, assigning vertex groups can be quite tedious, and in many cases it is sufficient to let MakeClothes create vertex groups automatically. This is done automatically when a human mesh is loaded. If a clothing mesh does not have any vertex groups, it is also done automatically, when the MakeClothes button is pressed.
=== Automatic vertex groups ===
[[File:Btmc04.png|500px|right]] If vertex groups need to be reassigned, for example because a piece of clothing has been edited, the automatic vertex groups can be used. When the human is selected, there is a button, visible in the image (above right), called "Create Vertex Groups From Selection". Selecting a cloth, the button changes to "Create Vertex Groups". Both the buttons do the same thing, but there is a little difference: in the human it is possible to generate the vertex groups only for a sub set of the vertices (selected in edit mode), while for clothing the vertex groups must include all vertices. This is because we need to associate only a part of the human vertices with all vertices of the clothing. For example, we need to associate all the vertices of a skirt with the human torso only.
<br style="clear:both" />
[[File:Btmc05.png|500px|right]] Pressing the button, the following vertex groups are created:
* Mid: Vertices on or very close to the center line (|x| < 0:001).
* Left: Vertices to the left of the center line (x > 0:001). For a human the Mid vertices are also included in the Left group.
* Right. Vertices to the right of the center line (x z 0:001). For a human the Mid vertices are also included in the Right group.
* Delete: An empty group only created for humans. Human vertices hidden by the piece of clothing can be added to this groups. These vertices are then optionally deleted when the clothing is applied in MakeHuman, thus avoiding that blotches of skin poking through the clothes. Note that when a vertex is deleted, so are all faces containing this vertex. Don't assign a vertex to the Delete group unless all faces containing it are hidden by the pieces of clothing.
In the images (right), we can see the vertices assigned to the Mid and Left groups for a nude human.
<br style="clear:both" />
=== Generate the clothes file ===
When both clothing and human has the vertex groups with same name, just press the MakeClothes button to generate the files.
They will be located in your HOME/makehuman/v1/data/clothes, in order to be inbcluded automatically in MakeHuman.
== Advanced tools ==
Under the main buttons of Makeclothes, there are seven hidden panels that can be activated clicking the checkbox. Let's see their meaning.
=== Show selection, Show Materials, Show UV projection ===
[[File:Btmc06.png|right]]
*Show selection. This feature is just a shortcut to quickly select some part of the human. So, instead of classic Blender selection (go to edit mode, move the mouse on a vertex and press Lkey to select the linked vertices), you can just press these buttons.
<br style="clear:both" />
[[File:Btmc07.png|right]]
* Show Materials. This shows a button to export the materials only. This is useful when there are no changes to the geometry, but only to the material, in order to avoid recalculating everything.
* Show UV projection. This section is useful mainly for making proxy meshes.
** Recover seams. Creates a Seam object, which has edges where the selected mesh's UV layout has seams. The Seam object is intended to be a reference for marking seams for the clothing.
** Auto seams.
** Project UVs. Automatically create a UV layout for the clothing, compatible with the human's UV coordinates. This is intended for the mask UV layer, which must be compatible with the body mesh for all clothes. The actual texture can use a different UV layer which can be laid out in any desirable manner.
** Reexport Mhclo file.The mhclo file must be resaved when the mask UVs have been defined. This can be done by pressing Make clothes again, but Reexport Mhclo file is faster.
<br style="clear:both" />
=== Show ZDepth, Show Offset scaling ===
[[File:Btmc08.png|right]]
* Show ZDepth. This option is used to assign a depth to the cloth, in order to hide skin and clothes which are covered by clothes on top of it. The Z depth specifies the stacking order, which decides which clothes should hide others. Normally the Z depth ranges between 0 (skin) and 100 (external accessories such as backpacks).
** Depth name. Roughly indicates the preferred Z depth for various clothes types. The choices are: Body, Underwear and Lingerie, Socks and Stockings, Shirt and Trousers, Sweater, Indoor Jacket, Shoes and Boots, Coat, Backpack.
** Set Z depth.Set the Z depth depending on the selected depth name.
** Z depth.The value of the Z depth. This is changed by the Set Z depth button, but can be set manually for fine-tuning.
<br style="clear:both" />
[[File:Btmc09.png|right]]
* Show Offset scaling. The location of a clothing vertex depends on two data: a point on a body triangle, described in barycentric coordinates, and the offset from that point. The offset is scaled in the X, Y and Z directions depending on the size of a certain body part.
** Body Part. Set this to the body part which is most affected. The choices are: Custom, Body, Genital, Head, Torso, Arm, Hand, Leg, Foot.
** Examine Boundary. Select the boundary vertices with Set boundary is invoked.
** Set Boundary. Set the boundary to vertices determined by the selected body part.
** Custom Boundary. To manually set the bounday box.
** X1, X2, Y1, Y2, Z1, Z2. The vertex numbers of the six vertices which define the scaling boundary. The X scale is determined from the distance between vertices X1 and X2, the Y scale by Y1 and Y2, and the Z scale by Z1 and Z2.
<br style="clear:both" />
=== Show Settings, Show License ===
[[File:Btmc10.png|right]]
* Show Setting. The settings include the author name and the export path. It's possible to save and restore the settings.
<br style="clear:both" />
[[File:Btmc11.png|right]]
* Show License.This set of options are to add the author name, the type of license and the tags for clothes. Licensing information to be put at the top of the exported mhclo file. It consists of three strings that can contain arbitary text.
** Author. Defaults to: Unknown.
** License. Defaults to: AGPL3
** HomePage. Defaults to: <NOWIKI>http://www.makehuman.org/ -- http://www.makehuman.org/</NOWIKI>
<br style="clear:both" />
a9666c726150ba13525d7dda6a4cc70afb8428e8
500
497
2015-08-29T14:18:52Z
Fairytail
16
MHBlender Tools: MakeClothes
wikitext
text/x-wiki
MakeClothes, as its name implies, is a Blender addon that is used to construct clothing assets for use in the MakeHuman program. Clothes can be modeled using any technique that is natural. For example, clothing can be modeled from scratch, or by altering either the human mesh or the “clothing helpers” (see below) provided by the MakeClothes tool. When designing and modeling a clothing item, there are two restrictions that should be kept in mind. First, the algorithm for mapping a clothing mesh to the human mesh requires that the clothing mesh consists entirely of quad faces. Second, it is important to know that MakeClothes supports only one material per item of clothing.
Upon completing the MakeClothes workflow, a new folder will be created by the tool within %USER%/makehuman/v1/data/clothes. That folder will assume the unique name that the user provides for the clothing item. This folder will be populated with the assets necessary to make the item available in MakeHuman. The one additional, useful but not essential, item that the user must supply is a thumbnail icon for the clothing. The thumbnail icon can be created with any image editing program as a 128 x128 pixel image in .png format. The file should then be saved in the same folder as the other assets and the extension changed to .thumb.
== Standard Tools ==
=== Using MakeClothes addon ===
[[File:Btmc01.png|left]] MakeClothes is controlled by the MakeClothes panel in the N-shelf to the right of the viewport. It consists of the main buttons that are always visible, and several hidden sections that can be displayed by enabling a checkbox.
<br style="clear:both" />
<hr>
[[File:Btmc02.png|500px|right]]
The main section contains the following:
* Type: Specifies the character to be used as a reference. It can be one of the following:
** Base Mesh: The MakeHuman mesh without any targets applied.
** Average Male: A caucasian young male.
** Average Female: A caucasian young female.
** Average Child: A caucasian young child.
** Average Baby: A caucasian young baby.
** Base Mesh with Helpers: The MakeHuman mesh without any targets applied.
** Average Male with Helpers: A caucasian young male.
** Average Female with Helpers: A caucasian young female.
** Average Childwith Helpers: A caucasian young child.
** Average Baby with Helpers: A caucasian young baby.
*Load Human mesh: the button to load the selected type into the scene.
Note:"helpers" in MakeHuman are a type of special, invisible geometry over the base mesh which can be loaded to help model clothes, for example, a helper sweater, helper tights, etc. They have their own materials. It is important to note that no alterations should be made to the base mesh type after it is loaded otherwise the script will fail. The image (right) shows the result of pressing "Load Human Mesh", with type set to Base Mesh.
<br style="clear:both" />
[[File:Btmc03.png|500px|right]] A human mesh is loaded into the viewport, and more tools are enabled:
* Mesh Type: MakeClothes divides meshes into two types: human and clothing. This button displays the mesh type (Human/Clothing) of the active mesh and is greyed out if the active object is not a mesh. (MakeHuman normally detects the items accurately, but in the event of an error, you can click the button to change the mesh type so that it is treated as a clothing item instead of human if it is a clothing item and incorrectly detected).
* Create Vertex Groups From Selection: MakeClothes uses vertex groups to control the fitting.
* Make Clothes. This is the main entry point for the MakeClothes script. With one human and one piece of clothing selected, create an association between clothes vertices and human triangles, i.e. triplets of human vertices. Both meshes must have vertex groups with identical names, and each clothing vertex must belong to exactly one vertex group. The result of the association is saved in the file ObjectName/ObjectName.mhclo, in the default directory. This button is greyed out if the active object is not a mesh.
* Test Clothes. This buttons loads a piece of clothing (an .mhclo file) and fits it to the active mesh, which must be a human. Typically a second human is loaded on a different layer, and the quality of the clothes fitted to that character can immediately be checked in Blender. To test the clothes under the strictest conditions, the human model used for testing should be quite different from the human used for clothes-making. If the original character is an adult, Baby With Helpers is a good choice.
If, instead, the Human With Helpers button is pressed, the full MakeHuman mesh including the helper geometry is loaded. Different materials are assigned to each type of helper geometry. The materials are ordered in the order of the vertex number. This makes it easy to peel off one helper type at a time.
<br style="clear:both" />
=== Glue clothes to the body ===
The clothes are meshes that can be modelled directly in Blender, or in another package and then imported into Blender as an obj file. Note that the mesh type is Clothing, which is the default unless the mesh has been declared to be a human. A simple method to obtain a starting point modelling is to duplicate part of the human mesh and separate it from the human. However, in this case the duplicated mesh will still be a human. To change the mesh type, press the toggle button Human. The status is now changed into Clothing.
After loading the human, the next step is to "glue" the clothes to the human, in order that they will automatically fit the body changes. To control this association, MakeClothes uses vertex groups. Each clothing vertex must belong to exactly one vertex group, and a vertex group with the same name must exist in the human mesh as well. Only human vertices in the correct vertex group will be considered when making clothes.
Vertex groups speed up the clothes-making process by pruning the search tree, and can be used to control the appearance of clothes as well. However, assigning vertex groups can be quite tedious, and in many cases it is sufficient to let MakeClothes create vertex groups automatically. This is done automatically when a human mesh is loaded. If a clothing mesh does not have any vertex groups, it is also done automatically, when the MakeClothes button is pressed.
=== Automatic vertex groups ===
[[File:Btmc04.png|500px|right]] If vertex groups need to be reassigned, for example because a piece of clothing has been edited, the automatic vertex groups can be used. When the human is selected, there is a button, visible in the image (above right), called "Create Vertex Groups From Selection". Selecting a cloth, the button changes to "Create Vertex Groups". Both the buttons do the same thing, but there is a little difference: in the human it is possible to generate the vertex groups only for a sub set of the vertices (selected in edit mode), while for clothing the vertex groups must include all vertices. This is because we need to associate only a part of the human vertices with all vertices of the clothing. For example, we need to associate all the vertices of a skirt with the human torso only.
<br style="clear:both" />
[[File:Btmc05.png|500px|right]] Pressing the button, the following vertex groups are created:
* Mid: Vertices on or very close to the center line (|x| < 0:001).
* Left: Vertices to the left of the center line (x > 0:001). For a human the Mid vertices are also included in the Left group.
* Right. Vertices to the right of the center line (x z 0:001). For a human the Mid vertices are also included in the Right group.
* Delete: An empty group only created for humans. Human vertices hidden by the piece of clothing can be added to this groups. These vertices are then optionally deleted when the clothing is applied in MakeHuman, thus avoiding that blotches of skin poking through the clothes. Note that when a vertex is deleted, so are all faces containing this vertex. Don't assign a vertex to the Delete group unless all faces containing it are hidden by the pieces of clothing.
In the images (right), we can see the vertices assigned to the Mid and Left groups for a nude human.
<br style="clear:both" />
=== Generate the clothes file ===
When both clothing and human has the vertex groups with same name, just press the MakeClothes button to generate the files.
They will be located in your HOME/makehuman/v1/data/clothes, in order to be inbcluded automatically in MakeHuman.
== Advanced tools ==
Under the main buttons of Makeclothes, there are seven hidden panels that can be activated clicking the checkbox. Let's see their meaning.
=== Show selection, Show Materials, Show UV projection ===
[[File:Btmc06.png|right]]
*Show selection. This feature is just a shortcut to quickly select some part of the human. So, instead of classic Blender selection (go to edit mode, move the mouse on a vertex and press Lkey to select the linked vertices), you can just press these buttons.
<br style="clear:both" />
[[File:Btmc07.png|right]]
* Show Materials. This shows a button to export the materials only. This is useful when there are no changes to the geometry, but only to the material, in order to avoid recalculating everything.
* Show UV projection. This section is useful mainly for making proxy meshes.
** Recover seams. Creates a Seam object, which has edges where the selected mesh's UV layout has seams. The Seam object is intended to be a reference for marking seams for the clothing.
** Auto seams.
** Project UVs. Automatically create a UV layout for the clothing, compatible with the human's UV coordinates. This is intended for the mask UV layer, which must be compatible with the body mesh for all clothes. The actual texture can use a different UV layer which can be laid out in any desirable manner.
** Reexport Mhclo file.The mhclo file must be resaved when the mask UVs have been defined. This can be done by pressing Make clothes again, but Reexport Mhclo file is faster.
<br style="clear:both" />
=== Show ZDepth, Show Offset scaling ===
[[File:Btmc08.png|right]]
* Show ZDepth. This option is used to assign a depth to the cloth, in order to hide skin and clothes which are covered by clothes on top of it. The Z depth specifies the stacking order, which decides which clothes should hide others. Normally the Z depth ranges between 0 (skin) and 100 (external accessories such as backpacks).
** Depth name. Roughly indicates the preferred Z depth for various clothes types. The choices are: Body, Underwear and Lingerie, Socks and Stockings, Shirt and Trousers, Sweater, Indoor Jacket, Shoes and Boots, Coat, Backpack.
** Set Z depth.Set the Z depth depending on the selected depth name.
** Z depth.The value of the Z depth. This is changed by the Set Z depth button, but can be set manually for fine-tuning.
<br style="clear:both" />
[[File:Btmc09.png|right]]
* Show Offset scaling. The location of a clothing vertex depends on two data: a point on a body triangle, described in barycentric coordinates, and the offset from that point. The offset is scaled in the X, Y and Z directions depending on the size of a certain body part.
** Body Part. Set this to the body part which is most affected. The choices are: Custom, Body, Genital, Head, Torso, Arm, Hand, Leg, Foot.
** Examine Boundary. Select the boundary vertices with Set boundary is invoked.
** Set Boundary. Set the boundary to vertices determined by the selected body part.
** Custom Boundary. To manually set the bounday box.
** X1, X2, Y1, Y2, Z1, Z2. The vertex numbers of the six vertices which define the scaling boundary. The X scale is determined from the distance between vertices X1 and X2, the Y scale by Y1 and Y2, and the Z scale by Z1 and Z2.
<br style="clear:both" />
=== Show Settings, Show License ===
[[File:Btmc10.png|right]]
* Show Setting. The settings include the author name and the export path. It's possible to save and restore the settings.
<br style="clear:both" />
[[File:Btmc11.png|right]]
* Show License.This set of options are to add the author name, the type of license and the tags for clothes. Licensing information to be put at the top of the exported mhclo file. It consists of three strings that can contain arbitary text.
** Author. Defaults to: Unknown.
** License. Defaults to: AGPL3
** HomePage. Defaults to: <NOWIKI>http://www.makehuman.org/ -- http://www.makehuman.org/</NOWIKI>
<br style="clear:both" />
a057f75ad2415054f4e7c6a3f73876c54f33cabb
497
2015-08-29T12:12:05Z
Fairytail
16
Created page with "MakeClothes, as its name implies, is a Blender addon that is used to construct clothing assets for use in the MakeHuman program. Clothes can be modeled using any technique tha..."
wikitext
text/x-wiki
MakeClothes, as its name implies, is a Blender addon that is used to construct clothing assets for use in the MakeHuman program. Clothes can be modeled using any technique that is natural. For example, clothing can be modeled from scratch, or by altering either the human mesh or the “clothing helpers” (see below) provided by the MakeClothes tool. When designing and modeling a clothing item, there are two restrictions that should be kept in mind. First, the algorithm for mapping a clothing mesh to the human mesh requires that theclothing mesh consists entirely of quad faces. Second, it is important to know that MakeClothes supports only one material per item of clothing.
Upon completing the MakeClothes workflow, a new folder will be created by the tool within %USER%/makehuman/v1/data/clothes. That folder will assume the unique name that the user provides for the clothing item. This folder will be populated with the assets necessary to make the item available in MakeHuman. The one additional, useful but not essential, item that the user must supply is a thumbnail icon for the clothing. The thumbnail icon can be created with any image editing program as a 128 x128 pixel image in .png format. The file should then be saved in the same folder as the other assets and the extension changed to .thumb.
== Standard Tools ==
=== Using MakeClothes addon ===
[[File:Btmc01.png|left]] MakeClothes is controlled by the MakeClothes panel in the N-shelf to the right of the viewport. It consists of the main buttons that are always visible, and several hidden sections that can be displayed by enabling a checkbox.
<br style="clear:both" />
[[File:Btmc02.png|right]]
The main section contains the following:
* Type: Specifies the character to be used as a reference. It can be one of the following:
** Base Mesh: The MakeHuman mesh without any targets applied.
** Average Male: A caucasian young male.
** Average Female: A caucasian young female.
** Average Child: A caucasian young child.
** Average Baby: A caucasian young baby.
** Base Mesh with Helpers: The MakeHuman mesh without any targets applied.
** Average Male with Helpers: A caucasian young male.
** Average Female with Helpers: A caucasian young female.
** Average Childwith Helpers: A caucasian young child.
** Average Baby with Helpers: A caucasian young baby.
*Load Human mesh: the button to load the selected type into the scene.
Note:"helpers" in MakeHuman are a type of special, invisible geometry over the base mesh which can be loaded to help model clothes, for example, a helper sweater, helper tights etc. They have their own materials. It is important to note that no alterations should be made to the base mesh type after it is loaded otherwise the script will fail. The picture left shows the result of pressing "Load Human Mesh", with type set to Base Mesh.
<br style="clear:both" />
[[File:Btmc03.png|right]] A human mesh is loaded into the viewport, and more tools are enabled:
* Mesh Type: MakeClothes divides meshes into two types: human and clothing. This button displays the mesh type (Human/Clothing) of the active mesh and is greyed out if the active object is not a mesh. (MakeHuman normally detects the items accurately, but in the event of an error, you can click the button to change the mesh type so that it is treated as a clothing item instead of human if it is a clothing item and wrongly detected as a human item)
* Create Vertex Groups From Selection: MakeClothes uses vertex groups to control the fitting.
* Make Clothes. This is the main entry point for the MakeClothes script. With one human and one piece of clothing selected, create an association between clothes vertices and human triangles, i.e. triplets of human vertices. Both meshes must have vertex groups with identical names, and each clothing vertex must belong to exactly one vertex group. The result of the association is saved in the file ObjectName/ObjectName.mhclo, in the default directory. This button is greyed out if the active object is not a mesh.
* Test Clothes. This buttons loads a piece of clothing (an .mhclo file) and fits it to the active mesh, which must be a human. Typically a second human is loaded on a different layer, and the quality of the clothes fitted to that character can immediately be checked in Blender. To test the clothes under the strictest conditions, the human model used for testing should be quite different from the human used for clothes-making. If the original character is an adult, Baby With Helpers is a good choice.
If, instead, the Human With Helpers button is pressed, the full MakeHuman mesh including the helper geometry is loaded. Different materials are assigned to each type of helper geometry. The materials are ordered in the order of the vertex number. This makes it easy to peel off one helper type at a time.
<br style="clear:both" />
=== Glue clothes to the body ===
The clothes are meshes that be done directly in Blender, or in another package and then imported into Blender as an obj file. Note that the mesh type is Clothing, which is the default unless the mesh has been declared to be a human. A simple method to obtain a starting point modelling is to duplicate part of the human mesh and separate it from the human. However, in this case the duplicated mesh will still be a human. To change the mesh type, press the toggle button Human. The status is now changed into Clothing.
After loading the human, next step is to "glue" the clothes to the human, in order that they will automatically fit the body changes. To control this association, MakeClothes uses vertex groups. Each clothing vertex must belong to exactly one vertex group, and a vertex group with thesame namemust exist in the human mesh as well. Only human vertices in the correct vertex group will be considered when making clothes.
Vertex groups speed up the clothes-making process by pruning the search tree, and can be used to control the appearance of clothes as well. However, assigning vertex groups can be quite tedious, and in many cases it is sufficient let MakeClothes create vertex groups automatically. This is done automatically when a human mesh is loaded. If a clothing mesh does not have any vertex groups, it is also done automatically, when the MakeClothes button is pressed.
=== Automatic vertex groups ===
[[File:Btmc04.png|right]] If vertex groups need to be reassigned, e.g. because a piece of clothing has been edited, the automatic vertex groups can be used. When the human is selected, there is a button, visible in the image above, called "Create Vertex Groups From Selection". Selecting a cloth, the button change in "Create Vertex Groups". Both the buttons do the same thing, but there is a little difference: in the human is possible to generate the vertex groups only for a sub set of the vertices (selected in edit mode), while for clothing the vertex groups must include all vertices. This is because we need to associate onlya partof the human vertices withallvertices of the clothing. For example, we need to associate all the vertices of a skirt with the human torso only.
<br style="clear:both" />
[[File:Btmc05.png|right]] Pressing the button, the following vertex groups are created:
* Mid: Vertices on or very close to the center line (|x| < 0:001).
* Left: Vertices to the left of the center line (x > 0:001). For a human the Mid vertices are also included in the Left group.
* Right. Vertices to the right of the center line (x z 0:001). For a human the Mid vertices are also included in the Right group.
* Delete: An empty group only created for humans. Human vertices hidden by the piece of clothing can be added to this groups. These vertices are then optionally deleted when the clothing is applied in MakeHuman, thus avoiding that blotches of skin poking through the clothes. Note that when a vertex is deleted, so are all faces containing this vertex. Don't assign a vertex to the Delete group unless all faces containing it are hidden by the pieces of clothing.
In the images right, vertices assigned to the Mid and Left groups for a nude human.
<br style="clear:both" />
=== Generate the clothes file ===
When both clothing and human has the vertex groups with same name, just press the MakeClothes button to generate the files.
They will be located in your HOME/makehuman/a8/data/clothes, in order to be inbcluded automatically in MakeHuman.
== Advanced tools ==
Under the main buttons of Makeclothes, there are seven hidden panels that can be activated clicking the checkbox. Let's see their meaning.
=== Show selection, Show Materials, Show UV projection ===
[[File:Btmc06.png|right]]
*Show selection. This feature is just a shortcut to quickly select some part of the human. So, instead of classic Blender selection (go in edit mode, move the mous on a vert and press Lkey to select the linked vertices), you can just press these buttons.
<br style="clear:both" />
[[File:Btmc07.png|right]]
* Show Materials. This will show a button to export the materials only. It's useful in case there are not changes on geometry, but only on the material, in order to avoid to recompute all.
* Show UV projection.This section is useful mainly for making proxy meshes.
* Recover seams. Creates a Seam object, which has edges where the selected mesh's UV layout has seams. The Seam object is intended to be reference for marking seams for the clothing.
* Auto seams.
* Project UVs. Automatically create an UV layout for the clothing, compatible with the human's UV coordinates. This is intended for the mask UV layer, which must be compatible with the body mesh for all clothes. The actual texture can use a different UV layer which can be laid out in any desirable manner.
* Reexport Mhclo file.The mhclo file must be resaved when the mask UVs have been defined. This can be done by pressing Make clothes again, but Reexport Mhclo file is faster.
<br style="clear:both" />
=== Show ZDepth, Show Offset scaling ===
[[File:Btmc08.png|right]] Show ZDepth.
This option is used to assign a depth to the cloth, in order to hide skin and clothes which are covered by clothes on top of it. The Z depth specifies the stacking order, which decides which clothes should hide others. Normally the Z depth ranges between 0 (skin) and 100 (external accessories such as backpacks).
* Depth name. Roughly indicates the preferred Z depth for various clothes types. The choices are: Body, Underwear and lingerie, Socks and stockings, Shirt and trousers, Sweater, Indoor jacket, Shoes and boots, Coat, Backpack.
* Set Z depth.Set the Z depth depending on the selected depth name.
* Z depth.The value of the Z depth. This is changed by the Set Z depth button, but can be dialledmanually for fine-tuning.
<br style="clear:both" />
[[File:Btmc09.png|right]] Show Offset scaling.
The location of a clothing vertex depends on two data: a point on a body triangle, described in barycentric coordinates, and the offset from that point. The offset is scaled in the X, Y and Z directions depending on the size of a certain body part.
* Body part.Set this to the body part which is most affected. The choices are: Custom, Body, Genital, Head, Torso, Arm, Hand, Leg, Foot.
* Examine.Select the boundary vertices with Set boundary is invoked.
* Set boundary.Set the boundary to vertices determined by the selected body part.
* Custom Boundary.To manually set the bounday box.
* X1, X2, Y1, Y2, Z1, Z2.The vertex numbers of the six vertices which define the scaling boundary. The X scale is determined from the distance between vertices X1 and X2, the Y scale by Y1 and Y2, and the Z scale by Z1 and Z2.
<br style="clear:both" />
=== Show Setting, Show License ===
[[File:Btmc10.png|right]] Show Setting.The setting include the author name and the export path. It's possible to save and restore the settings.
<br style="clear:both" />
[[File:Btmc11.png|right]] Show License.This set of options are to add theauthor name, the type of license and the tags for clothes. Licensing information to be put at the top of the exported mhclo file. It consists of three strings that can contain arbitary text.
* Author. Defaults to: Unknown.
* License. Defaults to: AGPL3
* HomePage. Defaults to: <NOWIKI>http://www.makehuman.org/ -- http://www.makehuman.org/</NOWIKI>
<br style="clear:both" />
63043aef69c518d694aa2c9f05a82472e14a873b
Documentation:MHBlenderTools: Download and installation
3000
19
72
71
2015-07-08T07:42:02Z
Joepal
14
wikitext
text/x-wiki
'''THIS PAGE IS OUTDATED'''
The Blendertools package is available on the download page: http://www.makehuman.org/content/download.html
The current version is 1.0.0, designed to work with MakeHuman 1.0.0 and with Blender 2.69. It's a zip package of four folders:
* MakeTarget
* MakeClothes
* MakeWalk
* mhx_importer
To install the addons, these subfolders must first be copied to a location where Blender can find it. Depending on the operating system being used, the addons destination directory where Blender will look for user-defined add-ons, is
* Windows 7: C:\Users\%username%\AppData\Roaming\Blender Foundation\Blender\2.6x\scripts\addons
* Windows XP: C:\Documents and Settings\%username%\Application Data\Blender Foundation\Blender\2.6x\scripts\addons
* Vista: C:\Program Files\Blender Foundation\Blender\%blenderversion%\scripts\addons (this is valid at least for blender 2.69)
* Linux: /home/$user/.blender/$version/scripts/addons
Note that the AppData folder in Windows 7 and the .blender folder in Linux are hidden folders. The location may also be different depending on your choices for setting up your operating system and Blender. For more information see the Blender documentation.
To enable the MH addons, in Blender open the User Preferences window from the File > User Preferences menu, and go to the Addons tab. The Blendertools addons are located in the MakeHuman category. Enable them by checking the box in the upper-right corner, next to the running man symbol. If you want Blendertools to start every time Blender is restarted, press the "Save User Settings" button.
!IMAGE!Pictures/mhx-pref.png!/IMAGE!
f1d56e91671508ad5f277d70f2a4655a63d883c4
71
2015-07-08T07:41:05Z
Joepal
14
Created page with "The Blendertools package is available on the download page: http://www.makehuman.org/content/download.html The current version is 1.0.0, designed to work with MakeHuman 1.0.0..."
wikitext
text/x-wiki
The Blendertools package is available on the download page: http://www.makehuman.org/content/download.html
The current version is 1.0.0, designed to work with MakeHuman 1.0.0 and with Blender 2.69. It's a zip package of four folders:
* MakeTarget
* MakeClothes
* MakeWalk
* mhx_importer
To install the addons, these subfolders must first be copied to a location where Blender can find it. Depending on the operating system being used, the addons destination directory where Blender will look for user-defined add-ons, is
* Windows 7: C:\Users\%username%\AppData\Roaming\Blender Foundation\Blender\2.6x\scripts\addons
* Windows XP: C:\Documents and Settings\%username%\Application Data\Blender Foundation\Blender\2.6x\scripts\addons
* Vista: C:\Program Files\Blender Foundation\Blender\%blenderversion%\scripts\addons (this is valid at least for blender 2.69)
* Linux: /home/$user/.blender/$version/scripts/addons
Note that the AppData folder in Windows 7 and the .blender folder in Linux are hidden folders. The location may also be different depending on your choices for setting up your operating system and Blender. For more information see the Blender documentation.
To enable the MH addons, in Blender open the User Preferences window from the File > User Preferences menu, and go to the Addons tab. The Blendertools addons are located in the MakeHuman category. Enable them by checking the box in the upper-right corner, next to the running man symbol. If you want Blendertools to start every time Blender is restarted, press the "Save User Settings" button.
!IMAGE!Pictures/mhx-pref.png!/IMAGE!
f8192a8d3ee27df93beffd11bd3863c96b83c4c1
Documentation:MHBlenderTools: MakeShapes
3000
616
2026
2025
2021-01-31T13:36:58Z
Assetdk
89
/* MakeShapes todo */
wikitext
text/x-wiki
Please take a look at this page: [[Documentation:MH4UE|MH4UE]] - to get an overview of things you can use to get your Makehuman characters into Unreal Engine!
* I am currently updating this page and the addon - to make it useful. --[[User:Assetdk|Assetdk]] ([[User talk:Assetdk|talk]]) 08:09, 30 January 2021 (UTC)
=MakeShapes for Blender=
This is a new tool for importing MakeHuman Targets as Shape Keys in Blender.
Please read the instructions below carefully and be sure to make a backup of any addons you change etc.
==Find the addon on GitHub==
This is the link for the addon master: [https://github.com/AssetDK/makeshapes]
You need to add the addon to Blender and you need to know about two other addons, as described below.
Currently this addon have been tested on Blender 2.80 only, but it should work on any Blender version that works for the two addons.
===Current status===
Thus far, in version 0.1.0 of the tool all of the Targets can be imported to Blender and the targets can be added to MHX2.
=Getting started with MakeTarget2=
'''It makes good sense to learn how to use MakeTarget2 first.'''
In general this addon was made by ''Joel Palmius'', and it builds upon the fact that you can directly transfer the characters you have loaded in MakeHuman. So start up MakeHuman and set it up to communicate with the Blender addon (This is done in the community/Socket tab, and the setting in the Blender addon must be the same. As they are by default).
===BaseMesh - this paragraph is for later===
Now make your Basemesh human. The first time you used MH you probably made some very fancy model, as you can. However you now want a 'base' character, with as little customization as possible. You will want to be able to transfer parameters/attribures between characters when they are in Unreal, and for that reason they must share the same basic definitions.
===MakeTarget import===
The process is very simple, you load your basecharacter to MakeHuman, without any targets, but as you would like to see it in Blender/UE4/Unity. And then you go to Blender/MakeHuman and run 'Import human'! You should probably use the MakeTarget preset for this. This could look something like this, remember to use the preset Load button.
[[File:MH2Blender MakeTarget1.png|800px]]
In the current version of MakeTarget2 you will have two options - when you select the 'Body' or 'BaseMesh' you imported. This all happens in Blender/Object mode. Select to view the shape keys:
[[File:MH2Blender MakeTarget2.png|1000px]]
When you press the 'Load target' button you must locate an existing .target file. These can be found in a directory: C:\Users\<user>\Documents\makehuman\v1py3\data\custom (this may change depending on how you set up MH!). These are accessed in Makehuman via the Modelling/community "menu" - make sure to check out that you can find even more community targets!
Try this now, selecting elf-ears.target and load this. Two new entries are made under shape keys: Basis, PrimaryTarget. And your character should now have elf ears! You can change the size of the ears, in 'Object mode'. The general scope of MakeTarget2 is that you can make a new target, or you can load one and change it - when you are satisfied with that you can save you new target file, import and use it in MakeHuman....:
* Go to 'edit mode',
* edit the elf-ears
* Press 'Save target'
* Name your target elf-ears2.target and save it
If you did this in the correct folder, your new target should appear in Makehuman and you can use it there!
When you made one target you can not make one more, so you need to delete the Shape keys, in blender, to load/make a new one. Be sure to make a backup if your work was brilliant!
You may also notice that not all targets will get loaded correctly to Blender using MakeTarget2, I do not know why...
You can now import your character from Makehuman make a new community Target and you can get it to work in Makehuman. Using two of the must have Blender addons.
::However you also may have noticed that MakeTarget2 do not work on your entire base character it will "only" import the mesh and the shape keys can not be used as such if you moved it to Unreal.
=Using '''MHX2 import'''=
Now try to EXPORT your MakeHuman character in '''MHX2''' format - from the MakeHuman application. You probably already know that you can load and save characters, and you can not "transfer" them to Blender. But some of the data appears to be lost, left out or missing when you look at the character in Blender.
However when you make use of the 'MHX2 runtime' import you will notice that it imports shape keys - however these shape keys are not visible when you look for them in MakeHuman! There are similar to targets, but they are not the same! MHX2 runtime simply can add some predefined 'Face shape and face shape drivers' to your character, when you thick the box before you import. (You can also chose to import the Base mesh, the Proxy or both..!)
You should try to play around with the MHX2 import options. I ended up with some very specific settings, as I want to import the character in UE4 - you may find that you need different settings depending on what your needs are.
In case you think you now know enough about MakeTarget2 and MHX2 import, you can now take a look at what can be done with MakeShapes.
::Now lets get started!!
=Using MakeShapes=
You should be familiar with Makehuman, MakeTargert2, MHX2 import - that is you should be able to perform the following tasks:
* 'Import human' for the base human character from Makehuman to Blender. (do this now)
* You should have installed MakeTarget2 to blender and you can now install MakeShapes - notice that it will install with MakeTarget2.
MakeShapes works exploits the fact that MHX2 import imports shape keys, so MakeShape will simply merge these shape keys with the targets. In order to not mess this up please follow the instructions.
There is two manual steps to do before you can use MakeShapes:
* find the faceshapes.mxa file, make a backup and make your faceshapes_BASE.mxa file
* Find the community target files, that are used by Makehuman
===Initial setup for faceshapes.mxa===
You don't need to use MakeTarget2, but you will now need to locate some '''.target''' files, and the faceshapes.mxa that you will use soon!
With your file explorer try to locate this directory, on your computer (The version ext may be difrent for your installation):
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons <--- '''where all addons are when installed'''
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm8\faceshapes <-- '''the files you need, soon'''
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm8\faceshapes\raw <-- '''the files you add to, soon'''
This is how my directory shows up:
[[File:MakeTarget2-data.png]]
You will notice that my faceshapes.mxa file is not looking like yours. I recommend that you make two copies of that file and call them faceshapes_BASE.mxa and faceshapes-original.mxa. (- do not change or delete the original!)
Now make a new folder, anywhere where ever you want, and '''move''' the new file faceshapes_BASE.mxa there, then edit this file and add one line <faceshape> at the bottom of the file, but above the two } } lines, like this:
[[File:MakeShapes-faceshape_base.png]]
Please note that you will not need to do this again, unless there is a new version of the MHX2 addon.
===Initial setup for target files===
Before you do this you should add all the targets you want to use to Makehuman. you find these under modelling/custom! And you can download even more from 'Community'/'Download assets'
[[File:MakeShapes-custom-targets.png]]
The '''.target''' files are located in the Makehuman directory, your setup may be different, but on my computer this looks like this:
C:\Users\<user>\Documents\makehuman\v1py3\data\custom
You take a copy of all the files (or you may prefer to do this with a few .target files at first) - add the selected files to the MHX2 raw folder:
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm8\raw
You can simply add more .target files to the directory, as you need! To be on the safe side make a backup copy of the .target files!
After this you should be good to go!
==Using MakeShapes==
'''Disclaimer - sadly I have found that the lager part of the .targets does not work properly. They seem to work, somewhat, inside Makehuman, but they do not work in Blender and they definitely do not work in Unreal. The problem seems to be that the shape keys only affect the body mesh, so shaping the face will not have any effect on the eyes (or indeed bones).
'''
[[File:MakeShapes-buttons.png]]
===How to, make shapes===
MakeShapes installed, you should see the above.
* You imported the standard character from the running Makehuman. Using the MakeTarget settings!
* You locate the shape keys, under "object data", this icon: [[File:MakeShapes-icon.png]].
* You can now press the 'Load shapes from targets' button (if you want to you can load a single target, this happens when you uncheck the corresponding checkbox).
The target files you want to load are those you found before:
C:\Users\<user>\Documents\makehuman\v1py3\data\custom
If you do not uncheck the checkbox all .target files will be processed - now the targets should appear in Blender, as shape keys, and they should be active and working!
::'''WARNING!!''' You should not use the 'Save Targets' buttons, it will save all of the .target files, but I think they are useless.
Next step is to press 'Save your faceshapes.mxa file' button, select the same folder where you placed the faceshapes_BASE.mxa file.
This will produce a new and bigger faceshapes.mxa file.
Your final task will be to copy this file to the MHX2 directory:
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm
Now when you import any Makehuman MHX2 file and check on the 'Face shapes' and 'Face shape drivers', all of the targets will be added to the character!
You do not need to do anything else..
===Getting errors===
Some of the larger targets will probably give you errors. Remove the .target files from the import folder.
===Limitations to shape keys and morph targets===
While working with Blender and Shape keys you will find that while they are just fine for Usage in Blender and rendering, but they are often useless for animations. That is shape keys will only work on the mesh and bones will not follow the shape of the mesh. The same apply to morph targets.
Quite many of the Makehuman targets will work just fine for you in Blender. Most of them may also work fine even with animations, but a few of them can not be used in UE4.
=Use in Unreal 4=
Please view this page: [[Documentation:Saving_models_for_Unreal_Engine_and_how_to_import_them_there|Saving models for Unreal Engine and how to import them there]]. - your base character should be working fine and you probably already have the basic shape keys working in Unreal as-is?
Your next step is to MHX2 import the proxy version of your base character and export it as FBX. You may want to re-import the FBX or perhaps you should first try to import the FBX as a new file?
When you follow the prescription you should now have a solid character that have more morph targets than you can handle!
Lucky for you I am working on the next version of MakeShapes, that version will enable you to export the morph target information in a format that can be used in '''a character customization widget.'''
===Different versions of faceshape.mxa file!!===
The MHX2 import can only use one faceshape.mxa file, but you can now start working with several versions. Primarily you would want the have a male and a female version, and perhaps even some variations.
===Skeletons===
When importing your characters you will find that you only need one skeleton, or perhaps a male and a female skeleton. Whit these you will only need to retarget these two - and your various characters will all be using the exact same animations.
=MakeShapes progress=
===MakeShapes, done.... ===
While MakeTargt2 can help you modify existing target it will not help you much when you what to "transfer" shape keys. My very first attempt on learning Python and making a new Blender addon involved using VSCode and and extension called 'Blender code' - whit that you can run Blender and the load and debug an existing addon... this was what I did with MakeTaget2.
Messing around with the code I found out how to change the names of the shape keys, name to the "file name". After that it was easy to read all .target files from a directory and add them all as shape keys! This took me only half the way though... as I wanted the shape keys to merge with the character, any character, that I made in MakeHuman. I did try several tools for transfer shape keys, but some did not work at all and some would transfer only party or with some issues. So I finally looked into how the original set of shape keys came to Blender. And I found that the 'MHX2 import' added "face shapes".. that were not part of the original export!
Using the MakeTarget2 print/save functions enabled me to "dump" the raw 'Shape key' data to print/files and I am now able to cut/paste the "printed" version. Say, the elf-ears, can now be add to the file that 'MHX2 import' works with, and the shape keys will be added to the imported Blender characters... for both Base/proxy mesh. Right now MakeShapes will export the selected shape key only.
===MakeShapes todo===
* The addon must be packaged and put on Github (done, but thre is a "new" version)
* I need to output all of the shape keys, in one "faceshape" file.
* I want to be able to process expressions.
* C:\Users\<user>\AppData\Local\makehuman-community\makehuman\data\expressions
* I what to be able to process all expression builder targets
2b5fd587e76a10c3043a5b66506356b9f074d99a
2025
2024
2021-01-31T13:32:22Z
Assetdk
89
/* MakeShapes progress */
wikitext
text/x-wiki
Please take a look at this page: [[Documentation:MH4UE|MH4UE]] - to get an overview of things you can use to get your Makehuman characters into Unreal Engine!
* I am currently updating this page and the addon - to make it useful. --[[User:Assetdk|Assetdk]] ([[User talk:Assetdk|talk]]) 08:09, 30 January 2021 (UTC)
=MakeShapes for Blender=
This is a new tool for importing MakeHuman Targets as Shape Keys in Blender.
Please read the instructions below carefully and be sure to make a backup of any addons you change etc.
==Find the addon on GitHub==
This is the link for the addon master: [https://github.com/AssetDK/makeshapes]
You need to add the addon to Blender and you need to know about two other addons, as described below.
Currently this addon have been tested on Blender 2.80 only, but it should work on any Blender version that works for the two addons.
===Current status===
Thus far, in version 0.1.0 of the tool all of the Targets can be imported to Blender and the targets can be added to MHX2.
=Getting started with MakeTarget2=
'''It makes good sense to learn how to use MakeTarget2 first.'''
In general this addon was made by ''Joel Palmius'', and it builds upon the fact that you can directly transfer the characters you have loaded in MakeHuman. So start up MakeHuman and set it up to communicate with the Blender addon (This is done in the community/Socket tab, and the setting in the Blender addon must be the same. As they are by default).
===BaseMesh - this paragraph is for later===
Now make your Basemesh human. The first time you used MH you probably made some very fancy model, as you can. However you now want a 'base' character, with as little customization as possible. You will want to be able to transfer parameters/attribures between characters when they are in Unreal, and for that reason they must share the same basic definitions.
===MakeTarget import===
The process is very simple, you load your basecharacter to MakeHuman, without any targets, but as you would like to see it in Blender/UE4/Unity. And then you go to Blender/MakeHuman and run 'Import human'! You should probably use the MakeTarget preset for this. This could look something like this, remember to use the preset Load button.
[[File:MH2Blender MakeTarget1.png|800px]]
In the current version of MakeTarget2 you will have two options - when you select the 'Body' or 'BaseMesh' you imported. This all happens in Blender/Object mode. Select to view the shape keys:
[[File:MH2Blender MakeTarget2.png|1000px]]
When you press the 'Load target' button you must locate an existing .target file. These can be found in a directory: C:\Users\<user>\Documents\makehuman\v1py3\data\custom (this may change depending on how you set up MH!). These are accessed in Makehuman via the Modelling/community "menu" - make sure to check out that you can find even more community targets!
Try this now, selecting elf-ears.target and load this. Two new entries are made under shape keys: Basis, PrimaryTarget. And your character should now have elf ears! You can change the size of the ears, in 'Object mode'. The general scope of MakeTarget2 is that you can make a new target, or you can load one and change it - when you are satisfied with that you can save you new target file, import and use it in MakeHuman....:
* Go to 'edit mode',
* edit the elf-ears
* Press 'Save target'
* Name your target elf-ears2.target and save it
If you did this in the correct folder, your new target should appear in Makehuman and you can use it there!
When you made one target you can not make one more, so you need to delete the Shape keys, in blender, to load/make a new one. Be sure to make a backup if your work was brilliant!
You may also notice that not all targets will get loaded correctly to Blender using MakeTarget2, I do not know why...
You can now import your character from Makehuman make a new community Target and you can get it to work in Makehuman. Using two of the must have Blender addons.
::However you also may have noticed that MakeTarget2 do not work on your entire base character it will "only" import the mesh and the shape keys can not be used as such if you moved it to Unreal.
=Using '''MHX2 import'''=
Now try to EXPORT your MakeHuman character in '''MHX2''' format - from the MakeHuman application. You probably already know that you can load and save characters, and you can not "transfer" them to Blender. But some of the data appears to be lost, left out or missing when you look at the character in Blender.
However when you make use of the 'MHX2 runtime' import you will notice that it imports shape keys - however these shape keys are not visible when you look for them in MakeHuman! There are similar to targets, but they are not the same! MHX2 runtime simply can add some predefined 'Face shape and face shape drivers' to your character, when you thick the box before you import. (You can also chose to import the Base mesh, the Proxy or both..!)
You should try to play around with the MHX2 import options. I ended up with some very specific settings, as I want to import the character in UE4 - you may find that you need different settings depending on what your needs are.
In case you think you now know enough about MakeTarget2 and MHX2 import, you can now take a look at what can be done with MakeShapes.
::Now lets get started!!
=Using MakeShapes=
You should be familiar with Makehuman, MakeTargert2, MHX2 import - that is you should be able to perform the following tasks:
* 'Import human' for the base human character from Makehuman to Blender. (do this now)
* You should have installed MakeTarget2 to blender and you can now install MakeShapes - notice that it will install with MakeTarget2.
MakeShapes works exploits the fact that MHX2 import imports shape keys, so MakeShape will simply merge these shape keys with the targets. In order to not mess this up please follow the instructions.
There is two manual steps to do before you can use MakeShapes:
* find the faceshapes.mxa file, make a backup and make your faceshapes_BASE.mxa file
* Find the community target files, that are used by Makehuman
===Initial setup for faceshapes.mxa===
You don't need to use MakeTarget2, but you will now need to locate some '''.target''' files, and the faceshapes.mxa that you will use soon!
With your file explorer try to locate this directory, on your computer (The version ext may be difrent for your installation):
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons <--- '''where all addons are when installed'''
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm8\faceshapes <-- '''the files you need, soon'''
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm8\faceshapes\raw <-- '''the files you add to, soon'''
This is how my directory shows up:
[[File:MakeTarget2-data.png]]
You will notice that my faceshapes.mxa file is not looking like yours. I recommend that you make two copies of that file and call them faceshapes_BASE.mxa and faceshapes-original.mxa. (- do not change or delete the original!)
Now make a new folder, anywhere where ever you want, and '''move''' the new file faceshapes_BASE.mxa there, then edit this file and add one line <faceshape> at the bottom of the file, but above the two } } lines, like this:
[[File:MakeShapes-faceshape_base.png]]
Please note that you will not need to do this again, unless there is a new version of the MHX2 addon.
===Initial setup for target files===
Before you do this you should add all the targets you want to use to Makehuman. you find these under modelling/custom! And you can download even more from 'Community'/'Download assets'
[[File:MakeShapes-custom-targets.png]]
The '''.target''' files are located in the Makehuman directory, your setup may be different, but on my computer this looks like this:
C:\Users\<user>\Documents\makehuman\v1py3\data\custom
You take a copy of all the files (or you may prefer to do this with a few .target files at first) - add the selected files to the MHX2 raw folder:
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm8\raw
You can simply add more .target files to the directory, as you need! To be on the safe side make a backup copy of the .target files!
After this you should be good to go!
==Using MakeShapes==
'''Disclaimer - sadly I have found that the lager part of the .targets does not work properly. They seem to work, somewhat, inside Makehuman, but they do not work in Blender and they definitely do not work in Unreal. The problem seems to be that the shape keys only affect the body mesh, so shaping the face will not have any effect on the eyes (or indeed bones).
'''
[[File:MakeShapes-buttons.png]]
===How to, make shapes===
MakeShapes installed, you should see the above.
* You imported the standard character from the running Makehuman. Using the MakeTarget settings!
* You locate the shape keys, under "object data", this icon: [[File:MakeShapes-icon.png]].
* You can now press the 'Load shapes from targets' button (if you want to you can load a single target, this happens when you uncheck the corresponding checkbox).
The target files you want to load are those you found before:
C:\Users\<user>\Documents\makehuman\v1py3\data\custom
If you do not uncheck the checkbox all .target files will be processed - now the targets should appear in Blender, as shape keys, and they should be active and working!
::'''WARNING!!''' You should not use the 'Save Targets' buttons, it will save all of the .target files, but I think they are useless.
Next step is to press 'Save your faceshapes.mxa file' button, select the same folder where you placed the faceshapes_BASE.mxa file.
This will produce a new and bigger faceshapes.mxa file.
Your final task will be to copy this file to the MHX2 directory:
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm
Now when you import any Makehuman MHX2 file and check on the 'Face shapes' and 'Face shape drivers', all of the targets will be added to the character!
You do not need to do anything else..
===Getting errors===
Some of the larger targets will probably give you errors. Remove the .target files from the import folder.
===Limitations to shape keys and morph targets===
While working with Blender and Shape keys you will find that while they are just fine for Usage in Blender and rendering, but they are often useless for animations. That is shape keys will only work on the mesh and bones will not follow the shape of the mesh. The same apply to morph targets.
Quite many of the Makehuman targets will work just fine for you in Blender. Most of them may also work fine even with animations, but a few of them can not be used in UE4.
=Use in Unreal 4=
Please view this page: [[Documentation:Saving_models_for_Unreal_Engine_and_how_to_import_them_there|Saving models for Unreal Engine and how to import them there]]. - your base character should be working fine and you probably already have the basic shape keys working in Unreal as-is?
Your next step is to MHX2 import the proxy version of your base character and export it as FBX. You may want to re-import the FBX or perhaps you should first try to import the FBX as a new file?
When you follow the prescription you should now have a solid character that have more morph targets than you can handle!
Lucky for you I am working on the next version of MakeShapes, that version will enable you to export the morph target information in a format that can be used in '''a character customization widget.'''
===Different versions of faceshape.mxa file!!===
The MHX2 import can only use one faceshape.mxa file, but you can now start working with several versions. Primarily you would want the have a male and a female version, and perhaps even some variations.
===Skeletons===
When importing your characters you will find that you only need one skeleton, or perhaps a male and a female skeleton. Whit these you will only need to retarget these two - and your various characters will all be using the exact same animations.
=MakeShapes progress=
===MakeShapes, done.... ===
While MakeTargt2 can help you modify existing target it will not help you much when you what to "transfer" shape keys. My very first attempt on learning Python and making a new Blender addon involved using VSCode and and extension called 'Blender code' - whit that you can run Blender and the load and debug an existing addon... this was what I did with MakeTaget2.
Messing around with the code I found out how to change the names of the shape keys, name to the "file name". After that it was easy to read all .target files from a directory and add them all as shape keys! This took me only half the way though... as I wanted the shape keys to merge with the character, any character, that I made in MakeHuman. I did try several tools for transfer shape keys, but some did not work at all and some would transfer only party or with some issues. So I finally looked into how the original set of shape keys came to Blender. And I found that the 'MHX2 import' added "face shapes".. that were not part of the original export!
Using the MakeTarget2 print/save functions enabled me to "dump" the raw 'Shape key' data to print/files and I am now able to cut/paste the "printed" version. Say, the elf-ears, can now be add to the file that 'MHX2 import' works with, and the shape keys will be added to the imported Blender characters... for both Base/proxy mesh. Right now MakeShapes will export the selected shape key only.
===MakeShapes todo===
* The addon must be packaged and put on Github
* I need to output all of the shape keys, in one "faceshape" file.
* I want to be able to process expressions.
* C:\Users\<user>\AppData\Local\makehuman-community\makehuman\data\expressions
* I what to be able to process all expression builder targets
dc674de93e8f0fe8c69462fae1d90287dc6fc433
2024
2023
2021-01-31T13:15:57Z
Assetdk
89
/* =How to */
wikitext
text/x-wiki
Please take a look at this page: [[Documentation:MH4UE|MH4UE]] - to get an overview of things you can use to get your Makehuman characters into Unreal Engine!
* I am currently updating this page and the addon - to make it useful. --[[User:Assetdk|Assetdk]] ([[User talk:Assetdk|talk]]) 08:09, 30 January 2021 (UTC)
=MakeShapes for Blender=
This is a new tool for importing MakeHuman Targets as Shape Keys in Blender.
Please read the instructions below carefully and be sure to make a backup of any addons you change etc.
==Find the addon on GitHub==
This is the link for the addon master: [https://github.com/AssetDK/makeshapes]
You need to add the addon to Blender and you need to know about two other addons, as described below.
Currently this addon have been tested on Blender 2.80 only, but it should work on any Blender version that works for the two addons.
===Current status===
Thus far, in version 0.1.0 of the tool all of the Targets can be imported to Blender and the targets can be added to MHX2.
=Getting started with MakeTarget2=
'''It makes good sense to learn how to use MakeTarget2 first.'''
In general this addon was made by ''Joel Palmius'', and it builds upon the fact that you can directly transfer the characters you have loaded in MakeHuman. So start up MakeHuman and set it up to communicate with the Blender addon (This is done in the community/Socket tab, and the setting in the Blender addon must be the same. As they are by default).
===BaseMesh - this paragraph is for later===
Now make your Basemesh human. The first time you used MH you probably made some very fancy model, as you can. However you now want a 'base' character, with as little customization as possible. You will want to be able to transfer parameters/attribures between characters when they are in Unreal, and for that reason they must share the same basic definitions.
===MakeTarget import===
The process is very simple, you load your basecharacter to MakeHuman, without any targets, but as you would like to see it in Blender/UE4/Unity. And then you go to Blender/MakeHuman and run 'Import human'! You should probably use the MakeTarget preset for this. This could look something like this, remember to use the preset Load button.
[[File:MH2Blender MakeTarget1.png|800px]]
In the current version of MakeTarget2 you will have two options - when you select the 'Body' or 'BaseMesh' you imported. This all happens in Blender/Object mode. Select to view the shape keys:
[[File:MH2Blender MakeTarget2.png|1000px]]
When you press the 'Load target' button you must locate an existing .target file. These can be found in a directory: C:\Users\<user>\Documents\makehuman\v1py3\data\custom (this may change depending on how you set up MH!). These are accessed in Makehuman via the Modelling/community "menu" - make sure to check out that you can find even more community targets!
Try this now, selecting elf-ears.target and load this. Two new entries are made under shape keys: Basis, PrimaryTarget. And your character should now have elf ears! You can change the size of the ears, in 'Object mode'. The general scope of MakeTarget2 is that you can make a new target, or you can load one and change it - when you are satisfied with that you can save you new target file, import and use it in MakeHuman....:
* Go to 'edit mode',
* edit the elf-ears
* Press 'Save target'
* Name your target elf-ears2.target and save it
If you did this in the correct folder, your new target should appear in Makehuman and you can use it there!
When you made one target you can not make one more, so you need to delete the Shape keys, in blender, to load/make a new one. Be sure to make a backup if your work was brilliant!
You may also notice that not all targets will get loaded correctly to Blender using MakeTarget2, I do not know why...
You can now import your character from Makehuman make a new community Target and you can get it to work in Makehuman. Using two of the must have Blender addons.
::However you also may have noticed that MakeTarget2 do not work on your entire base character it will "only" import the mesh and the shape keys can not be used as such if you moved it to Unreal.
=Using '''MHX2 import'''=
Now try to EXPORT your MakeHuman character in '''MHX2''' format - from the MakeHuman application. You probably already know that you can load and save characters, and you can not "transfer" them to Blender. But some of the data appears to be lost, left out or missing when you look at the character in Blender.
However when you make use of the 'MHX2 runtime' import you will notice that it imports shape keys - however these shape keys are not visible when you look for them in MakeHuman! There are similar to targets, but they are not the same! MHX2 runtime simply can add some predefined 'Face shape and face shape drivers' to your character, when you thick the box before you import. (You can also chose to import the Base mesh, the Proxy or both..!)
You should try to play around with the MHX2 import options. I ended up with some very specific settings, as I want to import the character in UE4 - you may find that you need different settings depending on what your needs are.
In case you think you now know enough about MakeTarget2 and MHX2 import, you can now take a look at what can be done with MakeShapes.
::Now lets get started!!
=Using MakeShapes=
You should be familiar with Makehuman, MakeTargert2, MHX2 import - that is you should be able to perform the following tasks:
* 'Import human' for the base human character from Makehuman to Blender. (do this now)
* You should have installed MakeTarget2 to blender and you can now install MakeShapes - notice that it will install with MakeTarget2.
MakeShapes works exploits the fact that MHX2 import imports shape keys, so MakeShape will simply merge these shape keys with the targets. In order to not mess this up please follow the instructions.
There is two manual steps to do before you can use MakeShapes:
* find the faceshapes.mxa file, make a backup and make your faceshapes_BASE.mxa file
* Find the community target files, that are used by Makehuman
===Initial setup for faceshapes.mxa===
You don't need to use MakeTarget2, but you will now need to locate some '''.target''' files, and the faceshapes.mxa that you will use soon!
With your file explorer try to locate this directory, on your computer (The version ext may be difrent for your installation):
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons <--- '''where all addons are when installed'''
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm8\faceshapes <-- '''the files you need, soon'''
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm8\faceshapes\raw <-- '''the files you add to, soon'''
This is how my directory shows up:
[[File:MakeTarget2-data.png]]
You will notice that my faceshapes.mxa file is not looking like yours. I recommend that you make two copies of that file and call them faceshapes_BASE.mxa and faceshapes-original.mxa. (- do not change or delete the original!)
Now make a new folder, anywhere where ever you want, and '''move''' the new file faceshapes_BASE.mxa there, then edit this file and add one line <faceshape> at the bottom of the file, but above the two } } lines, like this:
[[File:MakeShapes-faceshape_base.png]]
Please note that you will not need to do this again, unless there is a new version of the MHX2 addon.
===Initial setup for target files===
Before you do this you should add all the targets you want to use to Makehuman. you find these under modelling/custom! And you can download even more from 'Community'/'Download assets'
[[File:MakeShapes-custom-targets.png]]
The '''.target''' files are located in the Makehuman directory, your setup may be different, but on my computer this looks like this:
C:\Users\<user>\Documents\makehuman\v1py3\data\custom
You take a copy of all the files (or you may prefer to do this with a few .target files at first) - add the selected files to the MHX2 raw folder:
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm8\raw
You can simply add more .target files to the directory, as you need! To be on the safe side make a backup copy of the .target files!
After this you should be good to go!
==Using MakeShapes==
'''Disclaimer - sadly I have found that the lager part of the .targets does not work properly. They seem to work, somewhat, inside Makehuman, but they do not work in Blender and they definitely do not work in Unreal. The problem seems to be that the shape keys only affect the body mesh, so shaping the face will not have any effect on the eyes (or indeed bones).
'''
[[File:MakeShapes-buttons.png]]
===How to, make shapes===
MakeShapes installed, you should see the above.
* You imported the standard character from the running Makehuman. Using the MakeTarget settings!
* You locate the shape keys, under "object data", this icon: [[File:MakeShapes-icon.png]].
* You can now press the 'Load shapes from targets' button (if you want to you can load a single target, this happens when you uncheck the corresponding checkbox).
The target files you want to load are those you found before:
C:\Users\<user>\Documents\makehuman\v1py3\data\custom
If you do not uncheck the checkbox all .target files will be processed - now the targets should appear in Blender, as shape keys, and they should be active and working!
::'''WARNING!!''' You should not use the 'Save Targets' buttons, it will save all of the .target files, but I think they are useless.
Next step is to press 'Save your faceshapes.mxa file' button, select the same folder where you placed the faceshapes_BASE.mxa file.
This will produce a new and bigger faceshapes.mxa file.
Your final task will be to copy this file to the MHX2 directory:
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm
Now when you import any Makehuman MHX2 file and check on the 'Face shapes' and 'Face shape drivers', all of the targets will be added to the character!
You do not need to do anything else..
===Getting errors===
Some of the larger targets will probably give you errors. Remove the .target files from the import folder.
===Limitations to shape keys and morph targets===
While working with Blender and Shape keys you will find that while they are just fine for Usage in Blender and rendering, but they are often useless for animations. That is shape keys will only work on the mesh and bones will not follow the shape of the mesh. The same apply to morph targets.
Quite many of the Makehuman targets will work just fine for you in Blender. Most of them may also work fine even with animations, but a few of them can not be used in UE4.
=MakeShapes progress=
===MakeShapes, done.... ===
While MakeTargt2 can help you modify existing target it will not help you much when you what to "transfer" shape keys. My very first attempt on learning Python and making a new Blender addon involved using VSCode and and extension called 'Blender code' - whit that you can run Blender and the load and debug an existing addon... this was what I did with MakeTaget2.
Messing around with the code I found out how to change the names of the shape keys, name to the "file name". After that it was easy to read all .target files from a directory and add them all as shape keys! This took me only half the way though... as I wanted the shape keys to merge with the character, any character, that I made in MakeHuman. I did try several tools for transfer shape keys, but some did not work at all and some would transfer only party or with some issues. So I finally looked into how the original set of shape keys came to Blender. And I found that the 'MHX2 import' added "face shapes".. that were not part of the original export!
Using the MakeTarget2 print/save functions enabled me to "dump" the raw 'Shape key' data to print/files and I am now able to cut/paste the "printed" version. Say, the elf-ears, can now be add to the file that 'MHX2 import' works with, and the shape keys will be added to the imported Blender characters... for both Base/proxy mesh. Right now MakeShapes will export the selected shape key only.
===MakeShapes todo===
* The addon must be packaged and put on Github
* I need to output all of the shape keys, in one "faceshape" file.
* I want to be able to process expressions.
* C:\Users\<user>\AppData\Local\makehuman-community\makehuman\data\expressions
* I what to be able to process all expression builder targets
fa2fc7d106c586ef59d692ea8e0bc2312c7f97ad
2023
2022
2021-01-31T13:15:31Z
Assetdk
89
/* Using MakeShapes */
wikitext
text/x-wiki
Please take a look at this page: [[Documentation:MH4UE|MH4UE]] - to get an overview of things you can use to get your Makehuman characters into Unreal Engine!
* I am currently updating this page and the addon - to make it useful. --[[User:Assetdk|Assetdk]] ([[User talk:Assetdk|talk]]) 08:09, 30 January 2021 (UTC)
=MakeShapes for Blender=
This is a new tool for importing MakeHuman Targets as Shape Keys in Blender.
Please read the instructions below carefully and be sure to make a backup of any addons you change etc.
==Find the addon on GitHub==
This is the link for the addon master: [https://github.com/AssetDK/makeshapes]
You need to add the addon to Blender and you need to know about two other addons, as described below.
Currently this addon have been tested on Blender 2.80 only, but it should work on any Blender version that works for the two addons.
===Current status===
Thus far, in version 0.1.0 of the tool all of the Targets can be imported to Blender and the targets can be added to MHX2.
=Getting started with MakeTarget2=
'''It makes good sense to learn how to use MakeTarget2 first.'''
In general this addon was made by ''Joel Palmius'', and it builds upon the fact that you can directly transfer the characters you have loaded in MakeHuman. So start up MakeHuman and set it up to communicate with the Blender addon (This is done in the community/Socket tab, and the setting in the Blender addon must be the same. As they are by default).
===BaseMesh - this paragraph is for later===
Now make your Basemesh human. The first time you used MH you probably made some very fancy model, as you can. However you now want a 'base' character, with as little customization as possible. You will want to be able to transfer parameters/attribures between characters when they are in Unreal, and for that reason they must share the same basic definitions.
===MakeTarget import===
The process is very simple, you load your basecharacter to MakeHuman, without any targets, but as you would like to see it in Blender/UE4/Unity. And then you go to Blender/MakeHuman and run 'Import human'! You should probably use the MakeTarget preset for this. This could look something like this, remember to use the preset Load button.
[[File:MH2Blender MakeTarget1.png|800px]]
In the current version of MakeTarget2 you will have two options - when you select the 'Body' or 'BaseMesh' you imported. This all happens in Blender/Object mode. Select to view the shape keys:
[[File:MH2Blender MakeTarget2.png|1000px]]
When you press the 'Load target' button you must locate an existing .target file. These can be found in a directory: C:\Users\<user>\Documents\makehuman\v1py3\data\custom (this may change depending on how you set up MH!). These are accessed in Makehuman via the Modelling/community "menu" - make sure to check out that you can find even more community targets!
Try this now, selecting elf-ears.target and load this. Two new entries are made under shape keys: Basis, PrimaryTarget. And your character should now have elf ears! You can change the size of the ears, in 'Object mode'. The general scope of MakeTarget2 is that you can make a new target, or you can load one and change it - when you are satisfied with that you can save you new target file, import and use it in MakeHuman....:
* Go to 'edit mode',
* edit the elf-ears
* Press 'Save target'
* Name your target elf-ears2.target and save it
If you did this in the correct folder, your new target should appear in Makehuman and you can use it there!
When you made one target you can not make one more, so you need to delete the Shape keys, in blender, to load/make a new one. Be sure to make a backup if your work was brilliant!
You may also notice that not all targets will get loaded correctly to Blender using MakeTarget2, I do not know why...
You can now import your character from Makehuman make a new community Target and you can get it to work in Makehuman. Using two of the must have Blender addons.
::However you also may have noticed that MakeTarget2 do not work on your entire base character it will "only" import the mesh and the shape keys can not be used as such if you moved it to Unreal.
=Using '''MHX2 import'''=
Now try to EXPORT your MakeHuman character in '''MHX2''' format - from the MakeHuman application. You probably already know that you can load and save characters, and you can not "transfer" them to Blender. But some of the data appears to be lost, left out or missing when you look at the character in Blender.
However when you make use of the 'MHX2 runtime' import you will notice that it imports shape keys - however these shape keys are not visible when you look for them in MakeHuman! There are similar to targets, but they are not the same! MHX2 runtime simply can add some predefined 'Face shape and face shape drivers' to your character, when you thick the box before you import. (You can also chose to import the Base mesh, the Proxy or both..!)
You should try to play around with the MHX2 import options. I ended up with some very specific settings, as I want to import the character in UE4 - you may find that you need different settings depending on what your needs are.
In case you think you now know enough about MakeTarget2 and MHX2 import, you can now take a look at what can be done with MakeShapes.
::Now lets get started!!
=Using MakeShapes=
You should be familiar with Makehuman, MakeTargert2, MHX2 import - that is you should be able to perform the following tasks:
* 'Import human' for the base human character from Makehuman to Blender. (do this now)
* You should have installed MakeTarget2 to blender and you can now install MakeShapes - notice that it will install with MakeTarget2.
MakeShapes works exploits the fact that MHX2 import imports shape keys, so MakeShape will simply merge these shape keys with the targets. In order to not mess this up please follow the instructions.
There is two manual steps to do before you can use MakeShapes:
* find the faceshapes.mxa file, make a backup and make your faceshapes_BASE.mxa file
* Find the community target files, that are used by Makehuman
===Initial setup for faceshapes.mxa===
You don't need to use MakeTarget2, but you will now need to locate some '''.target''' files, and the faceshapes.mxa that you will use soon!
With your file explorer try to locate this directory, on your computer (The version ext may be difrent for your installation):
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons <--- '''where all addons are when installed'''
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm8\faceshapes <-- '''the files you need, soon'''
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm8\faceshapes\raw <-- '''the files you add to, soon'''
This is how my directory shows up:
[[File:MakeTarget2-data.png]]
You will notice that my faceshapes.mxa file is not looking like yours. I recommend that you make two copies of that file and call them faceshapes_BASE.mxa and faceshapes-original.mxa. (- do not change or delete the original!)
Now make a new folder, anywhere where ever you want, and '''move''' the new file faceshapes_BASE.mxa there, then edit this file and add one line <faceshape> at the bottom of the file, but above the two } } lines, like this:
[[File:MakeShapes-faceshape_base.png]]
Please note that you will not need to do this again, unless there is a new version of the MHX2 addon.
===Initial setup for target files===
Before you do this you should add all the targets you want to use to Makehuman. you find these under modelling/custom! And you can download even more from 'Community'/'Download assets'
[[File:MakeShapes-custom-targets.png]]
The '''.target''' files are located in the Makehuman directory, your setup may be different, but on my computer this looks like this:
C:\Users\<user>\Documents\makehuman\v1py3\data\custom
You take a copy of all the files (or you may prefer to do this with a few .target files at first) - add the selected files to the MHX2 raw folder:
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm8\raw
You can simply add more .target files to the directory, as you need! To be on the safe side make a backup copy of the .target files!
After this you should be good to go!
==Using MakeShapes==
'''Disclaimer - sadly I have found that the lager part of the .targets does not work properly. They seem to work, somewhat, inside Makehuman, but they do not work in Blender and they definitely do not work in Unreal. The problem seems to be that the shape keys only affect the body mesh, so shaping the face will not have any effect on the eyes (or indeed bones).
'''
[[File:MakeShapes-buttons.png]]
===How to==
MakeShapes installed, you should see the above.
* You imported the standard character from the running Makehuman. Using the MakeTarget settings!
* You locate the shape keys, under "object data", this icon: [[File:MakeShapes-icon.png]].
* You can now press the 'Load shapes from targets' button (if you want to you can load a single target, this happens when you uncheck the corresponding checkbox).
The target files you want to load are those you found before:
C:\Users\<user>\Documents\makehuman\v1py3\data\custom
If you do not uncheck the checkbox all .target files will be processed - now the targets should appear in Blender, as shape keys, and they should be active and working!
::'''WARNING!!''' You should not use the 'Save Targets' buttons, it will save all of the .target files, but I think they are useless.
Next step is to press 'Save your faceshapes.mxa file' button, select the same folder where you placed the faceshapes_BASE.mxa file.
This will produce a new and bigger faceshapes.mxa file.
Your final task will be to copy this file to the MHX2 directory:
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm
Now when you import any Makehuman MHX2 file and check on the 'Face shapes' and 'Face shape drivers', all of the targets will be added to the character!
You do not need to do anything else..
===Getting errors===
Some of the larger targets will probably give you errors. Remove the .target files from the import folder.
===Limitations to shape keys and morph targets===
While working with Blender and Shape keys you will find that while they are just fine for Usage in Blender and rendering, but they are often useless for animations. That is shape keys will only work on the mesh and bones will not follow the shape of the mesh. The same apply to morph targets.
Quite many of the Makehuman targets will work just fine for you in Blender. Most of them may also work fine even with animations, but a few of them can not be used in UE4.
=MakeShapes progress=
===MakeShapes, done.... ===
While MakeTargt2 can help you modify existing target it will not help you much when you what to "transfer" shape keys. My very first attempt on learning Python and making a new Blender addon involved using VSCode and and extension called 'Blender code' - whit that you can run Blender and the load and debug an existing addon... this was what I did with MakeTaget2.
Messing around with the code I found out how to change the names of the shape keys, name to the "file name". After that it was easy to read all .target files from a directory and add them all as shape keys! This took me only half the way though... as I wanted the shape keys to merge with the character, any character, that I made in MakeHuman. I did try several tools for transfer shape keys, but some did not work at all and some would transfer only party or with some issues. So I finally looked into how the original set of shape keys came to Blender. And I found that the 'MHX2 import' added "face shapes".. that were not part of the original export!
Using the MakeTarget2 print/save functions enabled me to "dump" the raw 'Shape key' data to print/files and I am now able to cut/paste the "printed" version. Say, the elf-ears, can now be add to the file that 'MHX2 import' works with, and the shape keys will be added to the imported Blender characters... for both Base/proxy mesh. Right now MakeShapes will export the selected shape key only.
===MakeShapes todo===
* The addon must be packaged and put on Github
* I need to output all of the shape keys, in one "faceshape" file.
* I want to be able to process expressions.
* C:\Users\<user>\AppData\Local\makehuman-community\makehuman\data\expressions
* I what to be able to process all expression builder targets
65eb5300868aef69da749ff9e273105c754efa1e
2022
2021
2021-01-31T11:39:35Z
Assetdk
89
/* MakeShapes todo */
wikitext
text/x-wiki
Please take a look at this page: [[Documentation:MH4UE|MH4UE]] - to get an overview of things you can use to get your Makehuman characters into Unreal Engine!
* I am currently updating this page and the addon - to make it useful. --[[User:Assetdk|Assetdk]] ([[User talk:Assetdk|talk]]) 08:09, 30 January 2021 (UTC)
=MakeShapes for Blender=
This is a new tool for importing MakeHuman Targets as Shape Keys in Blender.
Please read the instructions below carefully and be sure to make a backup of any addons you change etc.
==Find the addon on GitHub==
This is the link for the addon master: [https://github.com/AssetDK/makeshapes]
You need to add the addon to Blender and you need to know about two other addons, as described below.
Currently this addon have been tested on Blender 2.80 only, but it should work on any Blender version that works for the two addons.
===Current status===
Thus far, in version 0.1.0 of the tool all of the Targets can be imported to Blender and the targets can be added to MHX2.
=Getting started with MakeTarget2=
'''It makes good sense to learn how to use MakeTarget2 first.'''
In general this addon was made by ''Joel Palmius'', and it builds upon the fact that you can directly transfer the characters you have loaded in MakeHuman. So start up MakeHuman and set it up to communicate with the Blender addon (This is done in the community/Socket tab, and the setting in the Blender addon must be the same. As they are by default).
===BaseMesh - this paragraph is for later===
Now make your Basemesh human. The first time you used MH you probably made some very fancy model, as you can. However you now want a 'base' character, with as little customization as possible. You will want to be able to transfer parameters/attribures between characters when they are in Unreal, and for that reason they must share the same basic definitions.
===MakeTarget import===
The process is very simple, you load your basecharacter to MakeHuman, without any targets, but as you would like to see it in Blender/UE4/Unity. And then you go to Blender/MakeHuman and run 'Import human'! You should probably use the MakeTarget preset for this. This could look something like this, remember to use the preset Load button.
[[File:MH2Blender MakeTarget1.png|800px]]
In the current version of MakeTarget2 you will have two options - when you select the 'Body' or 'BaseMesh' you imported. This all happens in Blender/Object mode. Select to view the shape keys:
[[File:MH2Blender MakeTarget2.png|1000px]]
When you press the 'Load target' button you must locate an existing .target file. These can be found in a directory: C:\Users\<user>\Documents\makehuman\v1py3\data\custom (this may change depending on how you set up MH!). These are accessed in Makehuman via the Modelling/community "menu" - make sure to check out that you can find even more community targets!
Try this now, selecting elf-ears.target and load this. Two new entries are made under shape keys: Basis, PrimaryTarget. And your character should now have elf ears! You can change the size of the ears, in 'Object mode'. The general scope of MakeTarget2 is that you can make a new target, or you can load one and change it - when you are satisfied with that you can save you new target file, import and use it in MakeHuman....:
* Go to 'edit mode',
* edit the elf-ears
* Press 'Save target'
* Name your target elf-ears2.target and save it
If you did this in the correct folder, your new target should appear in Makehuman and you can use it there!
When you made one target you can not make one more, so you need to delete the Shape keys, in blender, to load/make a new one. Be sure to make a backup if your work was brilliant!
You may also notice that not all targets will get loaded correctly to Blender using MakeTarget2, I do not know why...
You can now import your character from Makehuman make a new community Target and you can get it to work in Makehuman. Using two of the must have Blender addons.
::However you also may have noticed that MakeTarget2 do not work on your entire base character it will "only" import the mesh and the shape keys can not be used as such if you moved it to Unreal.
=Using '''MHX2 import'''=
Now try to EXPORT your MakeHuman character in '''MHX2''' format - from the MakeHuman application. You probably already know that you can load and save characters, and you can not "transfer" them to Blender. But some of the data appears to be lost, left out or missing when you look at the character in Blender.
However when you make use of the 'MHX2 runtime' import you will notice that it imports shape keys - however these shape keys are not visible when you look for them in MakeHuman! There are similar to targets, but they are not the same! MHX2 runtime simply can add some predefined 'Face shape and face shape drivers' to your character, when you thick the box before you import. (You can also chose to import the Base mesh, the Proxy or both..!)
You should try to play around with the MHX2 import options. I ended up with some very specific settings, as I want to import the character in UE4 - you may find that you need different settings depending on what your needs are.
In case you think you now know enough about MakeTarget2 and MHX2 import, you can now take a look at what can be done with MakeShapes.
::Now lets get started!!
=Using MakeShapes=
You should be familiar with Makehuman, MakeTargert2, MHX2 import - that is you should be able to perform the following tasks:
* 'Import human' for the base human character from Makehuman to Blender. (do this now)
* You should have installed MakeTarget2 to blender and you can now install MakeShapes - notice that it will install with MakeTarget2.
MakeShapes works exploits the fact that MHX2 import imports shape keys, so MakeShape will simply merge these shape keys with the targets. In order to not mess this up please follow the instructions.
There is two manual steps to do before you can use MakeShapes:
* find the faceshapes.mxa file, make a backup and make your faceshapes_BASE.mxa file
* Find the community target files, that are used by Makehuman
===Initial setup for faceshapes.mxa===
You don't need to use MakeTarget2, but you will now need to locate some '''.target''' files, and the faceshapes.mxa that you will use soon!
With your file explorer try to locate this directory, on your computer (The version ext may be difrent for your installation):
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons <--- '''where all addons are when installed'''
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm8\faceshapes <-- '''the files you need, soon'''
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm8\faceshapes\raw <-- '''the files you add to, soon'''
This is how my directory shows up:
[[File:MakeTarget2-data.png]]
You will notice that my faceshapes.mxa file is not looking like yours. I recommend that you make two copies of that file and call them faceshapes_BASE.mxa and faceshapes-original.mxa. (- do not change or delete the original!)
Now make a new folder, anywhere where ever you want, and '''move''' the new file faceshapes_BASE.mxa there, then edit this file and add one line <faceshape> at the bottom of the file, but above the two } } lines, like this:
[[File:MakeShapes-faceshape_base.png]]
Please note that you will not need to do this again, unless there is a new version of the MHX2 addon.
===Initial setup for target files===
Before you do this you should add all the targets you want to use to Makehuman. you find these under modelling/custom! And you can download even more from 'Community'/'Download assets'
[[File:MakeShapes-custom-targets.png]]
The '''.target''' files are located in the Makehuman directory, your setup may be different, but on my computer this looks like this:
C:\Users\<user>\Documents\makehuman\v1py3\data\custom
You take a copy of all the files (or you may prefer to do this with a few .target files at first) - add the selected files to the MHX2 raw folder:
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm8\raw
You can simply add more .target files to the directory, as you need! To be on the safe side make a backup copy of the .target files!
After this you should be good to go!
==Using MakeShapes==
'''Disclaimer - sadly I have found that the lager part of the .targets does not work properly. They seem to work, somewhat, inside Makehuman, but they do not work in Blender and they definitely do not work in Unreal. The problem seems to be that the shape keys only affect the body mesh, so shaping the face will not have any effect on the eyes (or indeed bones).
'''
[[File:MakeShapes-buttons.png]]
MakeShapes installed, you should see the above. After you have imported a character from the running Makehuman, you can now locate the shape keys, under "object data", this icon: [[File:MakeShapes-icon.png]]. You can now press the 'Load shapes from targets' button (if you want to you can load a single target, this happens when you uncheck the corresponding checkbox).
The target files you want to load are those you found before:
C:\Users\<user>\Documents\makehuman\v1py3\data\custom
If you do not uncheck the checkbox all .target files will be processed - now the targets should appear in Blender, as shape keys, and they should be active and working!
'''WARNING!!''' You should not use the 'Save Targets' buttons, it will save all of the .target files, but I think they are useless.
Next step is to press 'Save your faceshapes.mxa file' button, select the folder where you placed the faceshapes_BASE.mxa file.
This will produce a new and bigger faceshapes.mxa file. Your final task will be to copy this file to the MHX2 directory:
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm
Now when you import any Makehuman MHX2 file and check on the 'Face shapes' and 'Face shape drivers', all of the targets will be added to the character!
You do not need to do anything else..
===Getting errors===
Some of the targets will probably give you errors. Remove the files from the import folder.
===Limitations to shape keys and morph targets===
While working with Blender and Shape keys you will find that while they are just fine for Usage in Blender and rendering, but they are often useless for animations. That is shape keys will only work on the mesh and bones will not follow the shape of the mesh. The same apply to morph targets.
Quite many of the Makehuman targets will work just fine for you in Blender. Most of them may also work fine even with animations, but a few of them can not be used in UE4.
=MakeShapes progress=
===MakeShapes, done.... ===
While MakeTargt2 can help you modify existing target it will not help you much when you what to "transfer" shape keys. My very first attempt on learning Python and making a new Blender addon involved using VSCode and and extension called 'Blender code' - whit that you can run Blender and the load and debug an existing addon... this was what I did with MakeTaget2.
Messing around with the code I found out how to change the names of the shape keys, name to the "file name". After that it was easy to read all .target files from a directory and add them all as shape keys! This took me only half the way though... as I wanted the shape keys to merge with the character, any character, that I made in MakeHuman. I did try several tools for transfer shape keys, but some did not work at all and some would transfer only party or with some issues. So I finally looked into how the original set of shape keys came to Blender. And I found that the 'MHX2 import' added "face shapes".. that were not part of the original export!
Using the MakeTarget2 print/save functions enabled me to "dump" the raw 'Shape key' data to print/files and I am now able to cut/paste the "printed" version. Say, the elf-ears, can now be add to the file that 'MHX2 import' works with, and the shape keys will be added to the imported Blender characters... for both Base/proxy mesh. Right now MakeShapes will export the selected shape key only.
===MakeShapes todo===
* The addon must be packaged and put on Github
* I need to output all of the shape keys, in one "faceshape" file.
* I want to be able to process expressions.
* C:\Users\<user>\AppData\Local\makehuman-community\makehuman\data\expressions
* I what to be able to process all expression builder targets
1b521aa55120ab6e4cba5ceffad904ebc8c5b726
2021
2020
2021-01-31T09:20:58Z
Assetdk
89
/* Using MakeShapes */
wikitext
text/x-wiki
Please take a look at this page: [[Documentation:MH4UE|MH4UE]] - to get an overview of things you can use to get your Makehuman characters into Unreal Engine!
* I am currently updating this page and the addon - to make it useful. --[[User:Assetdk|Assetdk]] ([[User talk:Assetdk|talk]]) 08:09, 30 January 2021 (UTC)
=MakeShapes for Blender=
This is a new tool for importing MakeHuman Targets as Shape Keys in Blender.
Please read the instructions below carefully and be sure to make a backup of any addons you change etc.
==Find the addon on GitHub==
This is the link for the addon master: [https://github.com/AssetDK/makeshapes]
You need to add the addon to Blender and you need to know about two other addons, as described below.
Currently this addon have been tested on Blender 2.80 only, but it should work on any Blender version that works for the two addons.
===Current status===
Thus far, in version 0.1.0 of the tool all of the Targets can be imported to Blender and the targets can be added to MHX2.
=Getting started with MakeTarget2=
'''It makes good sense to learn how to use MakeTarget2 first.'''
In general this addon was made by ''Joel Palmius'', and it builds upon the fact that you can directly transfer the characters you have loaded in MakeHuman. So start up MakeHuman and set it up to communicate with the Blender addon (This is done in the community/Socket tab, and the setting in the Blender addon must be the same. As they are by default).
===BaseMesh - this paragraph is for later===
Now make your Basemesh human. The first time you used MH you probably made some very fancy model, as you can. However you now want a 'base' character, with as little customization as possible. You will want to be able to transfer parameters/attribures between characters when they are in Unreal, and for that reason they must share the same basic definitions.
===MakeTarget import===
The process is very simple, you load your basecharacter to MakeHuman, without any targets, but as you would like to see it in Blender/UE4/Unity. And then you go to Blender/MakeHuman and run 'Import human'! You should probably use the MakeTarget preset for this. This could look something like this, remember to use the preset Load button.
[[File:MH2Blender MakeTarget1.png|800px]]
In the current version of MakeTarget2 you will have two options - when you select the 'Body' or 'BaseMesh' you imported. This all happens in Blender/Object mode. Select to view the shape keys:
[[File:MH2Blender MakeTarget2.png|1000px]]
When you press the 'Load target' button you must locate an existing .target file. These can be found in a directory: C:\Users\<user>\Documents\makehuman\v1py3\data\custom (this may change depending on how you set up MH!). These are accessed in Makehuman via the Modelling/community "menu" - make sure to check out that you can find even more community targets!
Try this now, selecting elf-ears.target and load this. Two new entries are made under shape keys: Basis, PrimaryTarget. And your character should now have elf ears! You can change the size of the ears, in 'Object mode'. The general scope of MakeTarget2 is that you can make a new target, or you can load one and change it - when you are satisfied with that you can save you new target file, import and use it in MakeHuman....:
* Go to 'edit mode',
* edit the elf-ears
* Press 'Save target'
* Name your target elf-ears2.target and save it
If you did this in the correct folder, your new target should appear in Makehuman and you can use it there!
When you made one target you can not make one more, so you need to delete the Shape keys, in blender, to load/make a new one. Be sure to make a backup if your work was brilliant!
You may also notice that not all targets will get loaded correctly to Blender using MakeTarget2, I do not know why...
You can now import your character from Makehuman make a new community Target and you can get it to work in Makehuman. Using two of the must have Blender addons.
::However you also may have noticed that MakeTarget2 do not work on your entire base character it will "only" import the mesh and the shape keys can not be used as such if you moved it to Unreal.
=Using '''MHX2 import'''=
Now try to EXPORT your MakeHuman character in '''MHX2''' format - from the MakeHuman application. You probably already know that you can load and save characters, and you can not "transfer" them to Blender. But some of the data appears to be lost, left out or missing when you look at the character in Blender.
However when you make use of the 'MHX2 runtime' import you will notice that it imports shape keys - however these shape keys are not visible when you look for them in MakeHuman! There are similar to targets, but they are not the same! MHX2 runtime simply can add some predefined 'Face shape and face shape drivers' to your character, when you thick the box before you import. (You can also chose to import the Base mesh, the Proxy or both..!)
You should try to play around with the MHX2 import options. I ended up with some very specific settings, as I want to import the character in UE4 - you may find that you need different settings depending on what your needs are.
In case you think you now know enough about MakeTarget2 and MHX2 import, you can now take a look at what can be done with MakeShapes.
::Now lets get started!!
=Using MakeShapes=
You should be familiar with Makehuman, MakeTargert2, MHX2 import - that is you should be able to perform the following tasks:
* 'Import human' for the base human character from Makehuman to Blender. (do this now)
* You should have installed MakeTarget2 to blender and you can now install MakeShapes - notice that it will install with MakeTarget2.
MakeShapes works exploits the fact that MHX2 import imports shape keys, so MakeShape will simply merge these shape keys with the targets. In order to not mess this up please follow the instructions.
There is two manual steps to do before you can use MakeShapes:
* find the faceshapes.mxa file, make a backup and make your faceshapes_BASE.mxa file
* Find the community target files, that are used by Makehuman
===Initial setup for faceshapes.mxa===
You don't need to use MakeTarget2, but you will now need to locate some '''.target''' files, and the faceshapes.mxa that you will use soon!
With your file explorer try to locate this directory, on your computer (The version ext may be difrent for your installation):
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons <--- '''where all addons are when installed'''
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm8\faceshapes <-- '''the files you need, soon'''
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm8\faceshapes\raw <-- '''the files you add to, soon'''
This is how my directory shows up:
[[File:MakeTarget2-data.png]]
You will notice that my faceshapes.mxa file is not looking like yours. I recommend that you make two copies of that file and call them faceshapes_BASE.mxa and faceshapes-original.mxa. (- do not change or delete the original!)
Now make a new folder, anywhere where ever you want, and '''move''' the new file faceshapes_BASE.mxa there, then edit this file and add one line <faceshape> at the bottom of the file, but above the two } } lines, like this:
[[File:MakeShapes-faceshape_base.png]]
Please note that you will not need to do this again, unless there is a new version of the MHX2 addon.
===Initial setup for target files===
Before you do this you should add all the targets you want to use to Makehuman. you find these under modelling/custom! And you can download even more from 'Community'/'Download assets'
[[File:MakeShapes-custom-targets.png]]
The '''.target''' files are located in the Makehuman directory, your setup may be different, but on my computer this looks like this:
C:\Users\<user>\Documents\makehuman\v1py3\data\custom
You take a copy of all the files (or you may prefer to do this with a few .target files at first) - add the selected files to the MHX2 raw folder:
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm8\raw
You can simply add more .target files to the directory, as you need! To be on the safe side make a backup copy of the .target files!
After this you should be good to go!
==Using MakeShapes==
'''Disclaimer - sadly I have found that the lager part of the .targets does not work properly. They seem to work, somewhat, inside Makehuman, but they do not work in Blender and they definitely do not work in Unreal. The problem seems to be that the shape keys only affect the body mesh, so shaping the face will not have any effect on the eyes (or indeed bones).
'''
[[File:MakeShapes-buttons.png]]
MakeShapes installed, you should see the above. After you have imported a character from the running Makehuman, you can now locate the shape keys, under "object data", this icon: [[File:MakeShapes-icon.png]]. You can now press the 'Load shapes from targets' button (if you want to you can load a single target, this happens when you uncheck the corresponding checkbox).
The target files you want to load are those you found before:
C:\Users\<user>\Documents\makehuman\v1py3\data\custom
If you do not uncheck the checkbox all .target files will be processed - now the targets should appear in Blender, as shape keys, and they should be active and working!
'''WARNING!!''' You should not use the 'Save Targets' buttons, it will save all of the .target files, but I think they are useless.
Next step is to press 'Save your faceshapes.mxa file' button, select the folder where you placed the faceshapes_BASE.mxa file.
This will produce a new and bigger faceshapes.mxa file. Your final task will be to copy this file to the MHX2 directory:
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm
Now when you import any Makehuman MHX2 file and check on the 'Face shapes' and 'Face shape drivers', all of the targets will be added to the character!
You do not need to do anything else..
===Getting errors===
Some of the targets will probably give you errors. Remove the files from the import folder.
===Limitations to shape keys and morph targets===
While working with Blender and Shape keys you will find that while they are just fine for Usage in Blender and rendering, but they are often useless for animations. That is shape keys will only work on the mesh and bones will not follow the shape of the mesh. The same apply to morph targets.
Quite many of the Makehuman targets will work just fine for you in Blender. Most of them may also work fine even with animations, but a few of them can not be used in UE4.
=MakeShapes progress=
===MakeShapes, done.... ===
While MakeTargt2 can help you modify existing target it will not help you much when you what to "transfer" shape keys. My very first attempt on learning Python and making a new Blender addon involved using VSCode and and extension called 'Blender code' - whit that you can run Blender and the load and debug an existing addon... this was what I did with MakeTaget2.
Messing around with the code I found out how to change the names of the shape keys, name to the "file name". After that it was easy to read all .target files from a directory and add them all as shape keys! This took me only half the way though... as I wanted the shape keys to merge with the character, any character, that I made in MakeHuman. I did try several tools for transfer shape keys, but some did not work at all and some would transfer only party or with some issues. So I finally looked into how the original set of shape keys came to Blender. And I found that the 'MHX2 import' added "face shapes".. that were not part of the original export!
Using the MakeTarget2 print/save functions enabled me to "dump" the raw 'Shape key' data to print/files and I am now able to cut/paste the "printed" version. Say, the elf-ears, can now be add to the file that 'MHX2 import' works with, and the shape keys will be added to the imported Blender characters... for both Base/proxy mesh. Right now MakeShapes will export the selected shape key only.
===MakeShapes todo===
* The addon must be packaged and put on Github
* I need to output all of the shape keys, in one "faceshape" file.
* I want to be able to process expressions.
* I I what to be able to process all expression builder targets
dc8c03d39cd3fb461be0137e6f86cc3dfc3c4ea5
2020
2019
2021-01-30T13:19:21Z
Assetdk
89
/* Using MakeShapes */
wikitext
text/x-wiki
Please take a look at this page: [[Documentation:MH4UE|MH4UE]] - to get an overview of things you can use to get your Makehuman characters into Unreal Engine!
* I am currently updating this page and the addon - to make it useful. --[[User:Assetdk|Assetdk]] ([[User talk:Assetdk|talk]]) 08:09, 30 January 2021 (UTC)
=MakeShapes for Blender=
This is a new tool for importing MakeHuman Targets as Shape Keys in Blender.
Please read the instructions below carefully and be sure to make a backup of any addons you change etc.
==Find the addon on GitHub==
This is the link for the addon master: [https://github.com/AssetDK/makeshapes]
You need to add the addon to Blender and you need to know about two other addons, as described below.
Currently this addon have been tested on Blender 2.80 only, but it should work on any Blender version that works for the two addons.
===Current status===
Thus far, in version 0.1.0 of the tool all of the Targets can be imported to Blender and the targets can be added to MHX2.
=Getting started with MakeTarget2=
'''It makes good sense to learn how to use MakeTarget2 first.'''
In general this addon was made by ''Joel Palmius'', and it builds upon the fact that you can directly transfer the characters you have loaded in MakeHuman. So start up MakeHuman and set it up to communicate with the Blender addon (This is done in the community/Socket tab, and the setting in the Blender addon must be the same. As they are by default).
===BaseMesh - this paragraph is for later===
Now make your Basemesh human. The first time you used MH you probably made some very fancy model, as you can. However you now want a 'base' character, with as little customization as possible. You will want to be able to transfer parameters/attribures between characters when they are in Unreal, and for that reason they must share the same basic definitions.
===MakeTarget import===
The process is very simple, you load your basecharacter to MakeHuman, without any targets, but as you would like to see it in Blender/UE4/Unity. And then you go to Blender/MakeHuman and run 'Import human'! You should probably use the MakeTarget preset for this. This could look something like this, remember to use the preset Load button.
[[File:MH2Blender MakeTarget1.png|800px]]
In the current version of MakeTarget2 you will have two options - when you select the 'Body' or 'BaseMesh' you imported. This all happens in Blender/Object mode. Select to view the shape keys:
[[File:MH2Blender MakeTarget2.png|1000px]]
When you press the 'Load target' button you must locate an existing .target file. These can be found in a directory: C:\Users\<user>\Documents\makehuman\v1py3\data\custom (this may change depending on how you set up MH!). These are accessed in Makehuman via the Modelling/community "menu" - make sure to check out that you can find even more community targets!
Try this now, selecting elf-ears.target and load this. Two new entries are made under shape keys: Basis, PrimaryTarget. And your character should now have elf ears! You can change the size of the ears, in 'Object mode'. The general scope of MakeTarget2 is that you can make a new target, or you can load one and change it - when you are satisfied with that you can save you new target file, import and use it in MakeHuman....:
* Go to 'edit mode',
* edit the elf-ears
* Press 'Save target'
* Name your target elf-ears2.target and save it
If you did this in the correct folder, your new target should appear in Makehuman and you can use it there!
When you made one target you can not make one more, so you need to delete the Shape keys, in blender, to load/make a new one. Be sure to make a backup if your work was brilliant!
You may also notice that not all targets will get loaded correctly to Blender using MakeTarget2, I do not know why...
You can now import your character from Makehuman make a new community Target and you can get it to work in Makehuman. Using two of the must have Blender addons.
::However you also may have noticed that MakeTarget2 do not work on your entire base character it will "only" import the mesh and the shape keys can not be used as such if you moved it to Unreal.
=Using '''MHX2 import'''=
Now try to EXPORT your MakeHuman character in '''MHX2''' format - from the MakeHuman application. You probably already know that you can load and save characters, and you can not "transfer" them to Blender. But some of the data appears to be lost, left out or missing when you look at the character in Blender.
However when you make use of the 'MHX2 runtime' import you will notice that it imports shape keys - however these shape keys are not visible when you look for them in MakeHuman! There are similar to targets, but they are not the same! MHX2 runtime simply can add some predefined 'Face shape and face shape drivers' to your character, when you thick the box before you import. (You can also chose to import the Base mesh, the Proxy or both..!)
You should try to play around with the MHX2 import options. I ended up with some very specific settings, as I want to import the character in UE4 - you may find that you need different settings depending on what your needs are.
In case you think you now know enough about MakeTarget2 and MHX2 import, you can now take a look at what can be done with MakeShapes.
::Now lets get started!!
=Using MakeShapes=
You should be familiar with Makehuman, MakeTargert2, MHX2 import - that is you should be able to perform the following tasks:
* 'Import human' for the base human character from Makehuman to Blender. (do this now)
* You should have installed MakeTarget2 to blender and you can now install MakeShapes - notice that it will install with MakeTarget2.
MakeShapes works exploits the fact that MHX2 import imports shape keys, so MakeShape will simply merge these shape keys with the targets. In order to not mess this up please follow the instructions.
There is two manual steps to do before you can use MakeShapes:
* find the faceshapes.mxa file, make a backup and make your faceshapes_BASE.mxa file
* Find the community target files, that are used by Makehuman
===Initial setup for faceshapes.mxa===
You don't need to use MakeTarget2, but you will now need to locate some '''.target''' files, and the faceshapes.mxa that you will use soon!
With your file explorer try to locate this directory, on your computer (The version ext may be difrent for your installation):
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons <--- '''where all addons are when installed'''
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm8\faceshapes <-- '''the files you need, soon'''
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm8\faceshapes\raw <-- '''the files you add to, soon'''
This is how my directory shows up:
[[File:MakeTarget2-data.png]]
You will notice that my faceshapes.mxa file is not looking like yours. I recommend that you make two copies of that file and call them faceshapes_BASE.mxa and faceshapes-original.mxa. (- do not change or delete the original!)
Now make a new folder, anywhere where ever you want, and '''move''' the new file faceshapes_BASE.mxa there, then edit this file and add one line <faceshape> at the bottom of the file, but above the two } } lines, like this:
[[File:MakeShapes-faceshape_base.png]]
Please note that you will not need to do this again, unless there is a new version of the MHX2 addon.
===Initial setup for target files===
Before you do this you should add all the targets you want to use to Makehuman. you find these under modelling/custom! And you can download even more from 'Community'/'Download assets'
[[File:MakeShapes-custom-targets.png]]
The '''.target''' files are located in the Makehuman directory, your setup may be different, but on my computer this looks like this:
C:\Users\<user>\Documents\makehuman\v1py3\data\custom
You take a copy of all the files (or you may prefer to do this with a few .target files at first) - add the selected files to the MHX2 raw folder:
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm8\raw
You can simply add more .target files to the directory, as you need! To be on the safe side make a backup copy of the .target files!
After this you should be good to go!
==Using MakeShapes==
[[File:MakeShapes-buttons.png]]
MakeShapes installed, you should see the above. After you have imported a character from the running Makehuman, you can now locate the shape keys, under "object data", this icon: [[File:MakeShapes-icon.png]]. You can now press the 'Load shapes from targets' button (if you want to you can load a single target, this happens when you uncheck the corresponding checkbox).
The target files you want to load are those you found before:
C:\Users\<user>\Documents\makehuman\v1py3\data\custom
If you do not uncheck the checkbox all .target files will be processed - now the targets should appear in Blender, as shape keys, and they should be active and working!
'''WARNING!!''' You should not use the 'Save Targets' buttons, it will save all of the .target files, but I think they are useless.
Next step is to press 'Save your faceshapes.mxa file' button, select the folder where you placed the faceshapes_BASE.mxa file.
This will produce a new and bigger faceshapes.mxa file. Your final task will be to copy this file to the MHX2 directory:
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm
Now when you import any Makehuman MHX2 file and check on the 'Face shapes' and 'Face shape drivers', all of the targets will be added to the character!
You do not need to do anything else..
===Getting errors===
Some of the targets will probably give you errors. Remove the files from the import folder.
===Limitations to shape keys and morph targets===
While working with Blender and Shape keys you will find that while they are just fine for Usage in Blender and rendering, but they are often useless for animations. That is shape keys will only work on the mesh and bones will not follow the shape of the mesh. The same apply to morph targets.
Quite many of the Makehuman targets will work just fine for you in Blender. Most of them may also work fine even with animations, but a few of them can not be used in UE4.
=MakeShapes progress=
===MakeShapes, done.... ===
While MakeTargt2 can help you modify existing target it will not help you much when you what to "transfer" shape keys. My very first attempt on learning Python and making a new Blender addon involved using VSCode and and extension called 'Blender code' - whit that you can run Blender and the load and debug an existing addon... this was what I did with MakeTaget2.
Messing around with the code I found out how to change the names of the shape keys, name to the "file name". After that it was easy to read all .target files from a directory and add them all as shape keys! This took me only half the way though... as I wanted the shape keys to merge with the character, any character, that I made in MakeHuman. I did try several tools for transfer shape keys, but some did not work at all and some would transfer only party or with some issues. So I finally looked into how the original set of shape keys came to Blender. And I found that the 'MHX2 import' added "face shapes".. that were not part of the original export!
Using the MakeTarget2 print/save functions enabled me to "dump" the raw 'Shape key' data to print/files and I am now able to cut/paste the "printed" version. Say, the elf-ears, can now be add to the file that 'MHX2 import' works with, and the shape keys will be added to the imported Blender characters... for both Base/proxy mesh. Right now MakeShapes will export the selected shape key only.
===MakeShapes todo===
* The addon must be packaged and put on Github
* I need to output all of the shape keys, in one "faceshape" file.
* I want to be able to process expressions.
* I I what to be able to process all expression builder targets
fb270e8ccd34a805f4828f02c6bfcc15620fae26
2019
2018
2021-01-30T10:41:21Z
Assetdk
89
/* Using MakeShapes */
wikitext
text/x-wiki
Please take a look at this page: [[Documentation:MH4UE|MH4UE]] - to get an overview of things you can use to get your Makehuman characters into Unreal Engine!
* I am currently updating this page and the addon - to make it useful. --[[User:Assetdk|Assetdk]] ([[User talk:Assetdk|talk]]) 08:09, 30 January 2021 (UTC)
=MakeShapes for Blender=
This is a new tool for importing MakeHuman Targets as Shape Keys in Blender.
Please read the instructions below carefully and be sure to make a backup of any addons you change etc.
==Find the addon on GitHub==
This is the link for the addon master: [https://github.com/AssetDK/makeshapes]
You need to add the addon to Blender and you need to know about two other addons, as described below.
Currently this addon have been tested on Blender 2.80 only, but it should work on any Blender version that works for the two addons.
===Current status===
Thus far, in version 0.1.0 of the tool all of the Targets can be imported to Blender and the targets can be added to MHX2.
=Getting started with MakeTarget2=
'''It makes good sense to learn how to use MakeTarget2 first.'''
In general this addon was made by ''Joel Palmius'', and it builds upon the fact that you can directly transfer the characters you have loaded in MakeHuman. So start up MakeHuman and set it up to communicate with the Blender addon (This is done in the community/Socket tab, and the setting in the Blender addon must be the same. As they are by default).
===BaseMesh - this paragraph is for later===
Now make your Basemesh human. The first time you used MH you probably made some very fancy model, as you can. However you now want a 'base' character, with as little customization as possible. You will want to be able to transfer parameters/attribures between characters when they are in Unreal, and for that reason they must share the same basic definitions.
===MakeTarget import===
The process is very simple, you load your basecharacter to MakeHuman, without any targets, but as you would like to see it in Blender/UE4/Unity. And then you go to Blender/MakeHuman and run 'Import human'! You should probably use the MakeTarget preset for this. This could look something like this, remember to use the preset Load button.
[[File:MH2Blender MakeTarget1.png|800px]]
In the current version of MakeTarget2 you will have two options - when you select the 'Body' or 'BaseMesh' you imported. This all happens in Blender/Object mode. Select to view the shape keys:
[[File:MH2Blender MakeTarget2.png|1000px]]
When you press the 'Load target' button you must locate an existing .target file. These can be found in a directory: C:\Users\<user>\Documents\makehuman\v1py3\data\custom (this may change depending on how you set up MH!). These are accessed in Makehuman via the Modelling/community "menu" - make sure to check out that you can find even more community targets!
Try this now, selecting elf-ears.target and load this. Two new entries are made under shape keys: Basis, PrimaryTarget. And your character should now have elf ears! You can change the size of the ears, in 'Object mode'. The general scope of MakeTarget2 is that you can make a new target, or you can load one and change it - when you are satisfied with that you can save you new target file, import and use it in MakeHuman....:
* Go to 'edit mode',
* edit the elf-ears
* Press 'Save target'
* Name your target elf-ears2.target and save it
If you did this in the correct folder, your new target should appear in Makehuman and you can use it there!
When you made one target you can not make one more, so you need to delete the Shape keys, in blender, to load/make a new one. Be sure to make a backup if your work was brilliant!
You may also notice that not all targets will get loaded correctly to Blender using MakeTarget2, I do not know why...
You can now import your character from Makehuman make a new community Target and you can get it to work in Makehuman. Using two of the must have Blender addons.
::However you also may have noticed that MakeTarget2 do not work on your entire base character it will "only" import the mesh and the shape keys can not be used as such if you moved it to Unreal.
=Using '''MHX2 import'''=
Now try to EXPORT your MakeHuman character in '''MHX2''' format - from the MakeHuman application. You probably already know that you can load and save characters, and you can not "transfer" them to Blender. But some of the data appears to be lost, left out or missing when you look at the character in Blender.
However when you make use of the 'MHX2 runtime' import you will notice that it imports shape keys - however these shape keys are not visible when you look for them in MakeHuman! There are similar to targets, but they are not the same! MHX2 runtime simply can add some predefined 'Face shape and face shape drivers' to your character, when you thick the box before you import. (You can also chose to import the Base mesh, the Proxy or both..!)
You should try to play around with the MHX2 import options. I ended up with some very specific settings, as I want to import the character in UE4 - you may find that you need different settings depending on what your needs are.
In case you think you now know enough about MakeTarget2 and MHX2 import, you can now take a look at what can be done with MakeShapes.
::Now lets get started!!
=Using MakeShapes=
You should be familiar with Makehuman, MakeTargert2, MHX2 import - that is you should be able to perform the following tasks:
* 'Import human' for the base human character from Makehuman to Blender. (do this now)
* You should have installed MakeTarget2 to blender and you can now install MakeShapes - notice that it will install with MakeTarget2.
MakeShapes works exploits the fact that MHX2 import imports shape keys, so MakeShape will simply merge these shape keys with the targets. In order to not mess this up please follow the instructions.
There is two manual steps to do before you can use MakeShapes:
* find the faceshapes.mxa file, make a backup and make your faceshapes_BASE.mxa file
* Find the community target files, that are used by Makehuman
===Initial setup for faceshapes.mxa===
You don't need to use MakeTarget2, but you will now need to locate some '''.target''' files, and the faceshapes.mxa that you will use soon!
With your file explorer try to locate this directory, on your computer (The version ext may be difrent for your installation):
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons <--- '''where all addons are when installed'''
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm8\faceshapes <-- '''the files you need, soon'''
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm8\faceshapes\raw <-- '''the files you add to, soon'''
This is how my directory shows up:
[[File:MakeTarget2-data.png]]
You will notice that my faceshapes.mxa file is not looking like yours. I recommend that you make two copies of that file and call them faceshapes_BASE.mxa and faceshapes-original.mxa. (- do not change or delete the original!)
Now make a new folder, anywhere where ever you want, and '''move''' the new file faceshapes_BASE.mxa there, then edit this file and add one line <faceshape> at the bottom of the file, but above the two } } lines, like this:
[[File:MakeShapes-faceshape_base.png]]
Please note that you will not need to do this again, unless there is a new version of the MHX2 addon.
===Initial setup for target files===
Before you do this you should add all the targets you want to use to Makehuman. you find these under modelling/custom! And you can download even more from 'Community'/'Download assets'
[[File:MakeShapes-custom-targets.png]]
The '''.target''' files are located in the Makehuman directory, your setup may be different, but on my computer this looks like this:
C:\Users\<user>\Documents\makehuman\v1py3\data\custom
You take a copy of all the files (or you may prefer to do this with a few .target files at first) - add the selected files to the MHX2 raw folder:
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm8\raw
You can simply add more .target files to the directory, as you need! To be on the safe side make a backup copy of the .target files!
After this you should be good to go!
==Using MakeShapes==
[[File:MakeShapes-buttons.png]]
MakeShapes installed, you should see the above. After you have imported a character from the running Makehuman, you can now locate the shape keys, under "object data", this icon: [[File:MakeShapes-icon.png]]. You can now press the 'Load shapes from targets' button (if you want to you can load a single target, this happens when you uncheck the corresponding checkbox).
The target files you want to load are those you found before:
C:\Users\<user>\Documents\makehuman\v1py3\data\custom
If you do not uncheck the checkbox all .target files will be processed - now the targets should appear in Blender, as shape keys, and they should be active and working!
'''WARNING!!''' You should not use the 'Save Targets' buttons, it will save all of the .target files, but I think they are useless.
Next step is to press 'Save your faceshapes.mxa file' button, select the folder where you placed the faceshapes_BASE.mxa file.
This will produce a new and bigger faceshapes.mxa file. Your final task will be to copy this file to the MHX2 directory:
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm
Now when you import any Makehuman MHX2 file and check on the 'Face shapes' and 'Face shape drivers', all of the targets will be added to the character!
You do not need to do anything else..
===Limitations to shape keys and morph targets===
While working with Blender and Shape keys you will find that while they are just fine for Usage in Blender and rendering, but they are often useless for animations. That is shape keys will only work on the mesh and bones will not follow the shape of the mesh. The same apply to morph targets.
Quite many of the Makehuman targets will work just fine for you in Blender. Most of them may also work fine even with animations, but a few of them can not be used in UE4.
=MakeShapes progress=
===MakeShapes, done.... ===
While MakeTargt2 can help you modify existing target it will not help you much when you what to "transfer" shape keys. My very first attempt on learning Python and making a new Blender addon involved using VSCode and and extension called 'Blender code' - whit that you can run Blender and the load and debug an existing addon... this was what I did with MakeTaget2.
Messing around with the code I found out how to change the names of the shape keys, name to the "file name". After that it was easy to read all .target files from a directory and add them all as shape keys! This took me only half the way though... as I wanted the shape keys to merge with the character, any character, that I made in MakeHuman. I did try several tools for transfer shape keys, but some did not work at all and some would transfer only party or with some issues. So I finally looked into how the original set of shape keys came to Blender. And I found that the 'MHX2 import' added "face shapes".. that were not part of the original export!
Using the MakeTarget2 print/save functions enabled me to "dump" the raw 'Shape key' data to print/files and I am now able to cut/paste the "printed" version. Say, the elf-ears, can now be add to the file that 'MHX2 import' works with, and the shape keys will be added to the imported Blender characters... for both Base/proxy mesh. Right now MakeShapes will export the selected shape key only.
===MakeShapes todo===
* The addon must be packaged and put on Github
* I need to output all of the shape keys, in one "faceshape" file.
* I want to be able to process expressions.
* I I what to be able to process all expression builder targets
b67e454af302adc57383f78b12a41a171633823d
2018
2017
2021-01-30T10:21:56Z
Assetdk
89
/* Using MHX2 import */
wikitext
text/x-wiki
Please take a look at this page: [[Documentation:MH4UE|MH4UE]] - to get an overview of things you can use to get your Makehuman characters into Unreal Engine!
* I am currently updating this page and the addon - to make it useful. --[[User:Assetdk|Assetdk]] ([[User talk:Assetdk|talk]]) 08:09, 30 January 2021 (UTC)
=MakeShapes for Blender=
This is a new tool for importing MakeHuman Targets as Shape Keys in Blender.
Please read the instructions below carefully and be sure to make a backup of any addons you change etc.
==Find the addon on GitHub==
This is the link for the addon master: [https://github.com/AssetDK/makeshapes]
You need to add the addon to Blender and you need to know about two other addons, as described below.
Currently this addon have been tested on Blender 2.80 only, but it should work on any Blender version that works for the two addons.
===Current status===
Thus far, in version 0.1.0 of the tool all of the Targets can be imported to Blender and the targets can be added to MHX2.
=Getting started with MakeTarget2=
'''It makes good sense to learn how to use MakeTarget2 first.'''
In general this addon was made by ''Joel Palmius'', and it builds upon the fact that you can directly transfer the characters you have loaded in MakeHuman. So start up MakeHuman and set it up to communicate with the Blender addon (This is done in the community/Socket tab, and the setting in the Blender addon must be the same. As they are by default).
===BaseMesh - this paragraph is for later===
Now make your Basemesh human. The first time you used MH you probably made some very fancy model, as you can. However you now want a 'base' character, with as little customization as possible. You will want to be able to transfer parameters/attribures between characters when they are in Unreal, and for that reason they must share the same basic definitions.
===MakeTarget import===
The process is very simple, you load your basecharacter to MakeHuman, without any targets, but as you would like to see it in Blender/UE4/Unity. And then you go to Blender/MakeHuman and run 'Import human'! You should probably use the MakeTarget preset for this. This could look something like this, remember to use the preset Load button.
[[File:MH2Blender MakeTarget1.png|800px]]
In the current version of MakeTarget2 you will have two options - when you select the 'Body' or 'BaseMesh' you imported. This all happens in Blender/Object mode. Select to view the shape keys:
[[File:MH2Blender MakeTarget2.png|1000px]]
When you press the 'Load target' button you must locate an existing .target file. These can be found in a directory: C:\Users\<user>\Documents\makehuman\v1py3\data\custom (this may change depending on how you set up MH!). These are accessed in Makehuman via the Modelling/community "menu" - make sure to check out that you can find even more community targets!
Try this now, selecting elf-ears.target and load this. Two new entries are made under shape keys: Basis, PrimaryTarget. And your character should now have elf ears! You can change the size of the ears, in 'Object mode'. The general scope of MakeTarget2 is that you can make a new target, or you can load one and change it - when you are satisfied with that you can save you new target file, import and use it in MakeHuman....:
* Go to 'edit mode',
* edit the elf-ears
* Press 'Save target'
* Name your target elf-ears2.target and save it
If you did this in the correct folder, your new target should appear in Makehuman and you can use it there!
When you made one target you can not make one more, so you need to delete the Shape keys, in blender, to load/make a new one. Be sure to make a backup if your work was brilliant!
You may also notice that not all targets will get loaded correctly to Blender using MakeTarget2, I do not know why...
You can now import your character from Makehuman make a new community Target and you can get it to work in Makehuman. Using two of the must have Blender addons.
::However you also may have noticed that MakeTarget2 do not work on your entire base character it will "only" import the mesh and the shape keys can not be used as such if you moved it to Unreal.
=Using '''MHX2 import'''=
Now try to EXPORT your MakeHuman character in '''MHX2''' format - from the MakeHuman application. You probably already know that you can load and save characters, and you can not "transfer" them to Blender. But some of the data appears to be lost, left out or missing when you look at the character in Blender.
However when you make use of the 'MHX2 runtime' import you will notice that it imports shape keys - however these shape keys are not visible when you look for them in MakeHuman! There are similar to targets, but they are not the same! MHX2 runtime simply can add some predefined 'Face shape and face shape drivers' to your character, when you thick the box before you import. (You can also chose to import the Base mesh, the Proxy or both..!)
You should try to play around with the MHX2 import options. I ended up with some very specific settings, as I want to import the character in UE4 - you may find that you need different settings depending on what your needs are.
In case you think you now know enough about MakeTarget2 and MHX2 import, you can now take a look at what can be done with MakeShapes.
::Now lets get started!!
=Using MakeShapes=
You should be familiar with Makehuman, MakeTargert2, MHX2 import - that is you should be able to perform the following tasks:
* 'Import human' for the base human character from Makehuman to Blender. (do this now)
* You should have installed MakeTarget2 to blender and you can now install MakeShapes - notice that it will install with MakeTarget2
Now there is two manual steps to do before you can use MakeShapes:
* find the faceshapes.mxa file, make a backup and make your faceshapes_BASE.mxa file
* Find the community target files, that are used by Makehuman
===Initial setup for faceshapes.mxa===
You don't need to use MakeTarget2, but you will now need to locate some '''.target''' files, and the faceshapes.mxa that you will use soon!
With your file explorer try to locate this directory, on your computer (Thh version ext may be difrent for your installation):
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons <--- '''where all addons are when installed'''
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm8 <-- '''the files you need, soon'''
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm8\raw <-- '''the files you add to, soon'''
This is how my directory shows up:
[[File:MakeTarget2-data.png]]
You will notice that the faceshapes.mxa file is not looking like yours. I recommend that you make two copies of that file and call them faceshapes_BASE.mxa and faceshapes-original.mxa. (- do not change or delete the original!)
Now make a new folder, anywhere where you want, and '''move''' the new file faceshapes_BASE.mxa, then edit this file and add one line <faceshape> at the bottom of the file, but above the two } } lines, like this:
[[File:MakeShapes-faceshape_base.png]]
Please note that you will not need to do this again, unless there is a new version of the MHX2 addon.
===Initial setup for target files===
Before you do this you should add all the targets you want to use to Makehuman. you find these under modelling/custom! And you can download even more from 'Community'/'Download assets'
[[File:MakeShapes-custom-targets.png]]
The '''.target''' files are located in the Makehuman directory, your setup may be different, but on my computer this looks like this:
C:\Users\<user>\Documents\makehuman\v1py3\data\custom
You take a copy of all the files, and add them to the MHX2 raw folder:
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm8\raw
You can simply add more .target files to the directory, as you need! To be on the safe side make a backup copy of the .target files!
After this you should be good to go!
==Using MakeShapes==
[[File:MakeShapes-buttons.png]]
MakeShapes installed, you should see the above. After you have imported a character from the running Makehuman, you can now locate the shape keys, under "object data", this icon: [[File:MakeShapes-icon.png]]. You can now press the 'Load shapes from targets' button (if you want to you can load a single target, this happens when you uncheck the corresponding checkbox).
The target files you want to load are those you found before:
C:\Users\<user>\Documents\makehuman\v1py3\data\custom
If you do not uncheck the checkbox all .target files will be processed - now the targets should appear in Blender, as shape keys, and they should be active and working!
'''WARNING!!''' You should not use the 'Save Targets' buttons, it will save all of the .target files, but I think they are useless.
Next step is to press 'Save your faceshapes.mxa file' button, select the folder where you placed the faceshapes_BASE.mxa file.
This will produce a new and bigger faceshapes.mxa file. Your final task will be to copy this file to the MHX2 directory:
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm
Now when you import any Makehuman MHX2 file and check on the 'Face shapes' and 'Face shape drivers', all of the targets will be added to the character!
You do not need to do anything else..
===Limitations to shape keys and morph targets===
While working with Blender and Shape keys you will find that while they are just fine for Usage in Blender and rendering, but they are often useless for animations. That is shape keys will only work on the mesh and bones will not follow the shape of the mesh. The same apply to morph targets.
Quite many of the Makehuman targets will work just fine for you in Blender. Most of them may also work fine even with animations, but a few of them can not be used in UE4.
=MakeShapes progress=
===MakeShapes, done.... ===
While MakeTargt2 can help you modify existing target it will not help you much when you what to "transfer" shape keys. My very first attempt on learning Python and making a new Blender addon involved using VSCode and and extension called 'Blender code' - whit that you can run Blender and the load and debug an existing addon... this was what I did with MakeTaget2.
Messing around with the code I found out how to change the names of the shape keys, name to the "file name". After that it was easy to read all .target files from a directory and add them all as shape keys! This took me only half the way though... as I wanted the shape keys to merge with the character, any character, that I made in MakeHuman. I did try several tools for transfer shape keys, but some did not work at all and some would transfer only party or with some issues. So I finally looked into how the original set of shape keys came to Blender. And I found that the 'MHX2 import' added "face shapes".. that were not part of the original export!
Using the MakeTarget2 print/save functions enabled me to "dump" the raw 'Shape key' data to print/files and I am now able to cut/paste the "printed" version. Say, the elf-ears, can now be add to the file that 'MHX2 import' works with, and the shape keys will be added to the imported Blender characters... for both Base/proxy mesh. Right now MakeShapes will export the selected shape key only.
===MakeShapes todo===
* The addon must be packaged and put on Github
* I need to output all of the shape keys, in one "faceshape" file.
* I want to be able to process expressions.
* I I what to be able to process all expression builder targets
4687a0131cc1f02c6c2efffca0924fc30c249184
2017
2016
2021-01-30T10:15:22Z
Assetdk
89
/* Using MHX2 import */
wikitext
text/x-wiki
Please take a look at this page: [[Documentation:MH4UE|MH4UE]] - to get an overview of things you can use to get your Makehuman characters into Unreal Engine!
* I am currently updating this page and the addon - to make it useful. --[[User:Assetdk|Assetdk]] ([[User talk:Assetdk|talk]]) 08:09, 30 January 2021 (UTC)
=MakeShapes for Blender=
This is a new tool for importing MakeHuman Targets as Shape Keys in Blender.
Please read the instructions below carefully and be sure to make a backup of any addons you change etc.
==Find the addon on GitHub==
This is the link for the addon master: [https://github.com/AssetDK/makeshapes]
You need to add the addon to Blender and you need to know about two other addons, as described below.
Currently this addon have been tested on Blender 2.80 only, but it should work on any Blender version that works for the two addons.
===Current status===
Thus far, in version 0.1.0 of the tool all of the Targets can be imported to Blender and the targets can be added to MHX2.
=Getting started with MakeTarget2=
'''It makes good sense to learn how to use MakeTarget2 first.'''
In general this addon was made by ''Joel Palmius'', and it builds upon the fact that you can directly transfer the characters you have loaded in MakeHuman. So start up MakeHuman and set it up to communicate with the Blender addon (This is done in the community/Socket tab, and the setting in the Blender addon must be the same. As they are by default).
===BaseMesh - this paragraph is for later===
Now make your Basemesh human. The first time you used MH you probably made some very fancy model, as you can. However you now want a 'base' character, with as little customization as possible. You will want to be able to transfer parameters/attribures between characters when they are in Unreal, and for that reason they must share the same basic definitions.
===MakeTarget import===
The process is very simple, you load your basecharacter to MakeHuman, without any targets, but as you would like to see it in Blender/UE4/Unity. And then you go to Blender/MakeHuman and run 'Import human'! You should probably use the MakeTarget preset for this. This could look something like this, remember to use the preset Load button.
[[File:MH2Blender MakeTarget1.png|800px]]
In the current version of MakeTarget2 you will have two options - when you select the 'Body' or 'BaseMesh' you imported. This all happens in Blender/Object mode. Select to view the shape keys:
[[File:MH2Blender MakeTarget2.png|1000px]]
When you press the 'Load target' button you must locate an existing .target file. These can be found in a directory: C:\Users\<user>\Documents\makehuman\v1py3\data\custom (this may change depending on how you set up MH!). These are accessed in Makehuman via the Modelling/community "menu" - make sure to check out that you can find even more community targets!
Try this now, selecting elf-ears.target and load this. Two new entries are made under shape keys: Basis, PrimaryTarget. And your character should now have elf ears! You can change the size of the ears, in 'Object mode'. The general scope of MakeTarget2 is that you can make a new target, or you can load one and change it - when you are satisfied with that you can save you new target file, import and use it in MakeHuman....:
* Go to 'edit mode',
* edit the elf-ears
* Press 'Save target'
* Name your target elf-ears2.target and save it
If you did this in the correct folder, your new target should appear in Makehuman and you can use it there!
When you made one target you can not make one more, so you need to delete the Shape keys, in blender, to load/make a new one. Be sure to make a backup if your work was brilliant!
You may also notice that not all targets will get loaded correctly to Blender using MakeTarget2, I do not know why...
You can now import your character from Makehuman make a new community Target and you can get it to work in Makehuman. Using two of the must have Blender addons.
::However you also may have noticed that MakeTarget2 do not work on your entire base character it will "only" import the mesh and the shape keys can not be used as such if you moved it to Unreal.
=Using '''MHX2 import'''=
Now try to EXPORT your MakeHuman character in '''MHX2''' format - from the MakeHuman application. You probably already know that you can load and save characters, and you can not "transfer" them to Blender. But some of the data appears to be lost, left out or missing when you look at the character in Blender.
However when you make use of the 'MHX2 runtime' import you will notice that it imports shape keys - however these shape keys are not visible when you look for them in MakeHuman! There are similar to targets, but they are not the same! MHX2 runtime simply can add some predefined 'Face shape and face shape drivers' to your character, when you thick the box before you import. (You can also chose to import the Base mesh, the Proxy or both..!)
You should try to play around with the MHX2 import options. I ended up with some very specific settings, as I want to import the character in UE4 - you may find that you need different settings depending on what your needs are.
In case you think you now know enough about MakeTarget2 and MHX2 import, you can now take a look at what can be done with MakeShapes.
=Using MakeShapes=
You should be familiar with Makehuman, MakeTargert2, MHX2 import - that is you should be able to perform the following tasks:
* 'Import human' for the base human character from Makehuman to Blender. (do this now)
* You should have installed MakeTarget2 to blender and you can now install MakeShapes - notice that it will install with MakeTarget2
Now there is two manual steps to do before you can use MakeShapes:
* find the faceshapes.mxa file, make a backup and make your faceshapes_BASE.mxa file
* Find the community target files, that are used by Makehuman
===Initial setup for faceshapes.mxa===
You don't need to use MakeTarget2, but you will now need to locate some '''.target''' files, and the faceshapes.mxa that you will use soon!
With your file explorer try to locate this directory, on your computer (Thh version ext may be difrent for your installation):
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons <--- '''where all addons are when installed'''
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm8 <-- '''the files you need, soon'''
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm8\raw <-- '''the files you add to, soon'''
This is how my directory shows up:
[[File:MakeTarget2-data.png]]
You will notice that the faceshapes.mxa file is not looking like yours. I recommend that you make two copies of that file and call them faceshapes_BASE.mxa and faceshapes-original.mxa. (- do not change or delete the original!)
Now make a new folder, anywhere where you want, and '''move''' the new file faceshapes_BASE.mxa, then edit this file and add one line <faceshape> at the bottom of the file, but above the two } } lines, like this:
[[File:MakeShapes-faceshape_base.png]]
Please note that you will not need to do this again, unless there is a new version of the MHX2 addon.
===Initial setup for target files===
Before you do this you should add all the targets you want to use to Makehuman. you find these under modelling/custom! And you can download even more from 'Community'/'Download assets'
[[File:MakeShapes-custom-targets.png]]
The '''.target''' files are located in the Makehuman directory, your setup may be different, but on my computer this looks like this:
C:\Users\<user>\Documents\makehuman\v1py3\data\custom
You take a copy of all the files, and add them to the MHX2 raw folder:
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm8\raw
You can simply add more .target files to the directory, as you need! To be on the safe side make a backup copy of the .target files!
After this you should be good to go!
==Using MakeShapes==
[[File:MakeShapes-buttons.png]]
MakeShapes installed, you should see the above. After you have imported a character from the running Makehuman, you can now locate the shape keys, under "object data", this icon: [[File:MakeShapes-icon.png]]. You can now press the 'Load shapes from targets' button (if you want to you can load a single target, this happens when you uncheck the corresponding checkbox).
The target files you want to load are those you found before:
C:\Users\<user>\Documents\makehuman\v1py3\data\custom
If you do not uncheck the checkbox all .target files will be processed - now the targets should appear in Blender, as shape keys, and they should be active and working!
'''WARNING!!''' You should not use the 'Save Targets' buttons, it will save all of the .target files, but I think they are useless.
Next step is to press 'Save your faceshapes.mxa file' button, select the folder where you placed the faceshapes_BASE.mxa file.
This will produce a new and bigger faceshapes.mxa file. Your final task will be to copy this file to the MHX2 directory:
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm
Now when you import any Makehuman MHX2 file and check on the 'Face shapes' and 'Face shape drivers', all of the targets will be added to the character!
You do not need to do anything else..
===Limitations to shape keys and morph targets===
While working with Blender and Shape keys you will find that while they are just fine for Usage in Blender and rendering, but they are often useless for animations. That is shape keys will only work on the mesh and bones will not follow the shape of the mesh. The same apply to morph targets.
Quite many of the Makehuman targets will work just fine for you in Blender. Most of them may also work fine even with animations, but a few of them can not be used in UE4.
=MakeShapes progress=
===MakeShapes, done.... ===
While MakeTargt2 can help you modify existing target it will not help you much when you what to "transfer" shape keys. My very first attempt on learning Python and making a new Blender addon involved using VSCode and and extension called 'Blender code' - whit that you can run Blender and the load and debug an existing addon... this was what I did with MakeTaget2.
Messing around with the code I found out how to change the names of the shape keys, name to the "file name". After that it was easy to read all .target files from a directory and add them all as shape keys! This took me only half the way though... as I wanted the shape keys to merge with the character, any character, that I made in MakeHuman. I did try several tools for transfer shape keys, but some did not work at all and some would transfer only party or with some issues. So I finally looked into how the original set of shape keys came to Blender. And I found that the 'MHX2 import' added "face shapes".. that were not part of the original export!
Using the MakeTarget2 print/save functions enabled me to "dump" the raw 'Shape key' data to print/files and I am now able to cut/paste the "printed" version. Say, the elf-ears, can now be add to the file that 'MHX2 import' works with, and the shape keys will be added to the imported Blender characters... for both Base/proxy mesh. Right now MakeShapes will export the selected shape key only.
===MakeShapes todo===
* The addon must be packaged and put on Github
* I need to output all of the shape keys, in one "faceshape" file.
* I want to be able to process expressions.
* I I what to be able to process all expression builder targets
5e9f2bd70556139dbc0570c6671921228b1e62d2
2016
2015
2021-01-30T10:08:51Z
Assetdk
89
/* Using MHX2 import */
wikitext
text/x-wiki
Please take a look at this page: [[Documentation:MH4UE|MH4UE]] - to get an overview of things you can use to get your Makehuman characters into Unreal Engine!
* I am currently updating this page and the addon - to make it useful. --[[User:Assetdk|Assetdk]] ([[User talk:Assetdk|talk]]) 08:09, 30 January 2021 (UTC)
=MakeShapes for Blender=
This is a new tool for importing MakeHuman Targets as Shape Keys in Blender.
Please read the instructions below carefully and be sure to make a backup of any addons you change etc.
==Find the addon on GitHub==
This is the link for the addon master: [https://github.com/AssetDK/makeshapes]
You need to add the addon to Blender and you need to know about two other addons, as described below.
Currently this addon have been tested on Blender 2.80 only, but it should work on any Blender version that works for the two addons.
===Current status===
Thus far, in version 0.1.0 of the tool all of the Targets can be imported to Blender and the targets can be added to MHX2.
=Getting started with MakeTarget2=
'''It makes good sense to learn how to use MakeTarget2 first.'''
In general this addon was made by ''Joel Palmius'', and it builds upon the fact that you can directly transfer the characters you have loaded in MakeHuman. So start up MakeHuman and set it up to communicate with the Blender addon (This is done in the community/Socket tab, and the setting in the Blender addon must be the same. As they are by default).
===BaseMesh - this paragraph is for later===
Now make your Basemesh human. The first time you used MH you probably made some very fancy model, as you can. However you now want a 'base' character, with as little customization as possible. You will want to be able to transfer parameters/attribures between characters when they are in Unreal, and for that reason they must share the same basic definitions.
===MakeTarget import===
The process is very simple, you load your basecharacter to MakeHuman, without any targets, but as you would like to see it in Blender/UE4/Unity. And then you go to Blender/MakeHuman and run 'Import human'! You should probably use the MakeTarget preset for this. This could look something like this, remember to use the preset Load button.
[[File:MH2Blender MakeTarget1.png|800px]]
In the current version of MakeTarget2 you will have two options - when you select the 'Body' or 'BaseMesh' you imported. This all happens in Blender/Object mode. Select to view the shape keys:
[[File:MH2Blender MakeTarget2.png|1000px]]
When you press the 'Load target' button you must locate an existing .target file. These can be found in a directory: C:\Users\<user>\Documents\makehuman\v1py3\data\custom (this may change depending on how you set up MH!). These are accessed in Makehuman via the Modelling/community "menu" - make sure to check out that you can find even more community targets!
Try this now, selecting elf-ears.target and load this. Two new entries are made under shape keys: Basis, PrimaryTarget. And your character should now have elf ears! You can change the size of the ears, in 'Object mode'. The general scope of MakeTarget2 is that you can make a new target, or you can load one and change it - when you are satisfied with that you can save you new target file, import and use it in MakeHuman....:
* Go to 'edit mode',
* edit the elf-ears
* Press 'Save target'
* Name your target elf-ears2.target and save it
If you did this in the correct folder, your new target should appear in Makehuman and you can use it there!
When you made one target you can not make one more, so you need to delete the Shape keys, in blender, to load/make a new one. Be sure to make a backup if your work was brilliant!
You may also notice that not all targets will get loaded correctly to Blender using MakeTarget2, I do not know why...
You can now import your character from Makehuman make a new community Target and you can get it to work in Makehuman. Using two of the must have Blender addons.
::However you also may have noticed that MakeTarget2 do not work on your entire base character it will "only" import the mesh and the shape keys can not be used as such if you moved it to Unreal.
==Using '''MHX2 import'''==
Now try to EXPORT your MakeHuman character in '''MHX2''' format - from the MakeHuman application. You probably already know that you can load and save characters, and you can not "transfer" them to Blender. But some of the data appears to be lost, left out or missing when you look at the character in Blender.
However when you make use of the 'MHX2 runtime' import you will notice that it imports shape keys - however these shape keys are not visible when you look for them in MakeHuman! There are similar to targets, but they are not the same! MHX2 runtime simply can add some predefined 'Face shape and face shape drivers' to your character, when you thick the box before you import. (You can also chose to import the Base mesh, the Proxy or both..!)
You should try to play around with the MHX2 import options. I ended up with some very specific settings, as I want to import the character in UE4 - you may find that you need different settings depending on what your needs are.
In case you think you now know enough about MakeTarget2 and MHX2 import, you can now take a look at what can be done with MakeShapes.
=Using MakeShapes=
You should be familiar with Makehuman, MakeTargert2, MHX2 import - that is you should be able to perform the following tasks:
* 'Import human' for the base human character from Makehuman to Blender. (do this now)
* You should have installed MakeTarget2 to blender and you can now install MakeShapes - notice that it will install with MakeTarget2
Now there is two manual steps to do before you can use MakeShapes:
* find the faceshapes.mxa file, make a backup and make your faceshapes_BASE.mxa file
* Find the community target files, that are used by Makehuman
===Initial setup for faceshapes.mxa===
You don't need to use MakeTarget2, but you will now need to locate some '''.target''' files, and the faceshapes.mxa that you will use soon!
With your file explorer try to locate this directory, on your computer (Thh version ext may be difrent for your installation):
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons <--- '''where all addons are when installed'''
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm8 <-- '''the files you need, soon'''
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm8\raw <-- '''the files you add to, soon'''
This is how my directory shows up:
[[File:MakeTarget2-data.png]]
You will notice that the faceshapes.mxa file is not looking like yours. I recommend that you make two copies of that file and call them faceshapes_BASE.mxa and faceshapes-original.mxa. (- do not change or delete the original!)
Now make a new folder, anywhere where you want, and '''move''' the new file faceshapes_BASE.mxa, then edit this file and add one line <faceshape> at the bottom of the file, but above the two } } lines, like this:
[[File:MakeShapes-faceshape_base.png]]
Please note that you will not need to do this again, unless there is a new version of the MHX2 addon.
===Initial setup for target files===
Before you do this you should add all the targets you want to use to Makehuman. you find these under modelling/custom! And you can download even more from 'Community'/'Download assets'
[[File:MakeShapes-custom-targets.png]]
The '''.target''' files are located in the Makehuman directory, your setup may be different, but on my computer this looks like this:
C:\Users\<user>\Documents\makehuman\v1py3\data\custom
You take a copy of all the files, and add them to the MHX2 raw folder:
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm8\raw
You can simply add more .target files to the directory, as you need! To be on the safe side make a backup copy of the .target files!
After this you should be good to go!
==Using MakeShapes==
[[File:MakeShapes-buttons.png]]
MakeShapes installed, you should see the above. After you have imported a character from the running Makehuman, you can now locate the shape keys, under "object data", this icon: [[File:MakeShapes-icon.png]]. You can now press the 'Load shapes from targets' button (if you want to you can load a single target, this happens when you uncheck the corresponding checkbox).
The target files you want to load are those you found before:
C:\Users\<user>\Documents\makehuman\v1py3\data\custom
If you do not uncheck the checkbox all .target files will be processed - now the targets should appear in Blender, as shape keys, and they should be active and working!
'''WARNING!!''' You should not use the 'Save Targets' buttons, it will save all of the .target files, but I think they are useless.
Next step is to press 'Save your faceshapes.mxa file' button, select the folder where you placed the faceshapes_BASE.mxa file.
This will produce a new and bigger faceshapes.mxa file. Your final task will be to copy this file to the MHX2 directory:
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm
Now when you import any Makehuman MHX2 file and check on the 'Face shapes' and 'Face shape drivers', all of the targets will be added to the character!
You do not need to do anything else..
===Limitations to shape keys and morph targets===
While working with Blender and Shape keys you will find that while they are just fine for Usage in Blender and rendering, but they are often useless for animations. That is shape keys will only work on the mesh and bones will not follow the shape of the mesh. The same apply to morph targets.
Quite many of the Makehuman targets will work just fine for you in Blender. Most of them may also work fine even with animations, but a few of them can not be used in UE4.
=MakeShapes progress=
===MakeShapes, done.... ===
While MakeTargt2 can help you modify existing target it will not help you much when you what to "transfer" shape keys. My very first attempt on learning Python and making a new Blender addon involved using VSCode and and extension called 'Blender code' - whit that you can run Blender and the load and debug an existing addon... this was what I did with MakeTaget2.
Messing around with the code I found out how to change the names of the shape keys, name to the "file name". After that it was easy to read all .target files from a directory and add them all as shape keys! This took me only half the way though... as I wanted the shape keys to merge with the character, any character, that I made in MakeHuman. I did try several tools for transfer shape keys, but some did not work at all and some would transfer only party or with some issues. So I finally looked into how the original set of shape keys came to Blender. And I found that the 'MHX2 import' added "face shapes".. that were not part of the original export!
Using the MakeTarget2 print/save functions enabled me to "dump" the raw 'Shape key' data to print/files and I am now able to cut/paste the "printed" version. Say, the elf-ears, can now be add to the file that 'MHX2 import' works with, and the shape keys will be added to the imported Blender characters... for both Base/proxy mesh. Right now MakeShapes will export the selected shape key only.
===MakeShapes todo===
* The addon must be packaged and put on Github
* I need to output all of the shape keys, in one "faceshape" file.
* I want to be able to process expressions.
* I I what to be able to process all expression builder targets
1ee61288e6ffaa766cc0acb5e49c1718e8393252
2015
2014
2021-01-30T10:07:05Z
Assetdk
89
/* MakeTarget import */
wikitext
text/x-wiki
Please take a look at this page: [[Documentation:MH4UE|MH4UE]] - to get an overview of things you can use to get your Makehuman characters into Unreal Engine!
* I am currently updating this page and the addon - to make it useful. --[[User:Assetdk|Assetdk]] ([[User talk:Assetdk|talk]]) 08:09, 30 January 2021 (UTC)
=MakeShapes for Blender=
This is a new tool for importing MakeHuman Targets as Shape Keys in Blender.
Please read the instructions below carefully and be sure to make a backup of any addons you change etc.
==Find the addon on GitHub==
This is the link for the addon master: [https://github.com/AssetDK/makeshapes]
You need to add the addon to Blender and you need to know about two other addons, as described below.
Currently this addon have been tested on Blender 2.80 only, but it should work on any Blender version that works for the two addons.
===Current status===
Thus far, in version 0.1.0 of the tool all of the Targets can be imported to Blender and the targets can be added to MHX2.
=Getting started with MakeTarget2=
'''It makes good sense to learn how to use MakeTarget2 first.'''
In general this addon was made by ''Joel Palmius'', and it builds upon the fact that you can directly transfer the characters you have loaded in MakeHuman. So start up MakeHuman and set it up to communicate with the Blender addon (This is done in the community/Socket tab, and the setting in the Blender addon must be the same. As they are by default).
===BaseMesh - this paragraph is for later===
Now make your Basemesh human. The first time you used MH you probably made some very fancy model, as you can. However you now want a 'base' character, with as little customization as possible. You will want to be able to transfer parameters/attribures between characters when they are in Unreal, and for that reason they must share the same basic definitions.
===MakeTarget import===
The process is very simple, you load your basecharacter to MakeHuman, without any targets, but as you would like to see it in Blender/UE4/Unity. And then you go to Blender/MakeHuman and run 'Import human'! You should probably use the MakeTarget preset for this. This could look something like this, remember to use the preset Load button.
[[File:MH2Blender MakeTarget1.png|800px]]
In the current version of MakeTarget2 you will have two options - when you select the 'Body' or 'BaseMesh' you imported. This all happens in Blender/Object mode. Select to view the shape keys:
[[File:MH2Blender MakeTarget2.png|1000px]]
When you press the 'Load target' button you must locate an existing .target file. These can be found in a directory: C:\Users\<user>\Documents\makehuman\v1py3\data\custom (this may change depending on how you set up MH!). These are accessed in Makehuman via the Modelling/community "menu" - make sure to check out that you can find even more community targets!
Try this now, selecting elf-ears.target and load this. Two new entries are made under shape keys: Basis, PrimaryTarget. And your character should now have elf ears! You can change the size of the ears, in 'Object mode'. The general scope of MakeTarget2 is that you can make a new target, or you can load one and change it - when you are satisfied with that you can save you new target file, import and use it in MakeHuman....:
* Go to 'edit mode',
* edit the elf-ears
* Press 'Save target'
* Name your target elf-ears2.target and save it
If you did this in the correct folder, your new target should appear in Makehuman and you can use it there!
When you made one target you can not make one more, so you need to delete the Shape keys, in blender, to load/make a new one. Be sure to make a backup if your work was brilliant!
You may also notice that not all targets will get loaded correctly to Blender using MakeTarget2, I do not know why...
You can now import your character from Makehuman make a new community Target and you can get it to work in Makehuman. Using two of the must have Blender addons.
::However you also may have noticed that MakeTarget2 do not work on your entire base character it will "only" import the mesh and the shape keys can not be used as such if you moved it to Unreal.
==Using '''MHX2 import'''==
Now try to EXPORT your MakeHuman character in '''MHX2''' format - from the MakeHuman application. You probably already know that you can load and save characters, and you can not "transfer" them to Blender. But some of the data appears to be lost, left out or missing when you look at the character in Blender.
However when you make use of the 'MHX2 runtime' import you will notice that it imports shape keys - however these shape keys are not visible when you look for them in MakeHuman! There are similar to targets, but they are not the same! MHX2 runtime simply can add some predefined 'Face shape and face shape drivers' to your character, when you thick the box in before you import. (You can also chose to import the Base mesh, the Proxy or both..!)
You should try to play around with the MHX2 import options. I ended up with some very specific settings, as I want to import the character in UE4 - you may find that you need different settings depending on what your need are.
In case you think you now know enough about MakeTarget2 and MHX2 import, you can now take a look at what can be done with MakeShapes.
=Using MakeShapes=
You should be familiar with Makehuman, MakeTargert2, MHX2 import - that is you should be able to perform the following tasks:
* 'Import human' for the base human character from Makehuman to Blender. (do this now)
* You should have installed MakeTarget2 to blender and you can now install MakeShapes - notice that it will install with MakeTarget2
Now there is two manual steps to do before you can use MakeShapes:
* find the faceshapes.mxa file, make a backup and make your faceshapes_BASE.mxa file
* Find the community target files, that are used by Makehuman
===Initial setup for faceshapes.mxa===
You don't need to use MakeTarget2, but you will now need to locate some '''.target''' files, and the faceshapes.mxa that you will use soon!
With your file explorer try to locate this directory, on your computer (Thh version ext may be difrent for your installation):
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons <--- '''where all addons are when installed'''
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm8 <-- '''the files you need, soon'''
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm8\raw <-- '''the files you add to, soon'''
This is how my directory shows up:
[[File:MakeTarget2-data.png]]
You will notice that the faceshapes.mxa file is not looking like yours. I recommend that you make two copies of that file and call them faceshapes_BASE.mxa and faceshapes-original.mxa. (- do not change or delete the original!)
Now make a new folder, anywhere where you want, and '''move''' the new file faceshapes_BASE.mxa, then edit this file and add one line <faceshape> at the bottom of the file, but above the two } } lines, like this:
[[File:MakeShapes-faceshape_base.png]]
Please note that you will not need to do this again, unless there is a new version of the MHX2 addon.
===Initial setup for target files===
Before you do this you should add all the targets you want to use to Makehuman. you find these under modelling/custom! And you can download even more from 'Community'/'Download assets'
[[File:MakeShapes-custom-targets.png]]
The '''.target''' files are located in the Makehuman directory, your setup may be different, but on my computer this looks like this:
C:\Users\<user>\Documents\makehuman\v1py3\data\custom
You take a copy of all the files, and add them to the MHX2 raw folder:
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm8\raw
You can simply add more .target files to the directory, as you need! To be on the safe side make a backup copy of the .target files!
After this you should be good to go!
==Using MakeShapes==
[[File:MakeShapes-buttons.png]]
MakeShapes installed, you should see the above. After you have imported a character from the running Makehuman, you can now locate the shape keys, under "object data", this icon: [[File:MakeShapes-icon.png]]. You can now press the 'Load shapes from targets' button (if you want to you can load a single target, this happens when you uncheck the corresponding checkbox).
The target files you want to load are those you found before:
C:\Users\<user>\Documents\makehuman\v1py3\data\custom
If you do not uncheck the checkbox all .target files will be processed - now the targets should appear in Blender, as shape keys, and they should be active and working!
'''WARNING!!''' You should not use the 'Save Targets' buttons, it will save all of the .target files, but I think they are useless.
Next step is to press 'Save your faceshapes.mxa file' button, select the folder where you placed the faceshapes_BASE.mxa file.
This will produce a new and bigger faceshapes.mxa file. Your final task will be to copy this file to the MHX2 directory:
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm
Now when you import any Makehuman MHX2 file and check on the 'Face shapes' and 'Face shape drivers', all of the targets will be added to the character!
You do not need to do anything else..
===Limitations to shape keys and morph targets===
While working with Blender and Shape keys you will find that while they are just fine for Usage in Blender and rendering, but they are often useless for animations. That is shape keys will only work on the mesh and bones will not follow the shape of the mesh. The same apply to morph targets.
Quite many of the Makehuman targets will work just fine for you in Blender. Most of them may also work fine even with animations, but a few of them can not be used in UE4.
=MakeShapes progress=
===MakeShapes, done.... ===
While MakeTargt2 can help you modify existing target it will not help you much when you what to "transfer" shape keys. My very first attempt on learning Python and making a new Blender addon involved using VSCode and and extension called 'Blender code' - whit that you can run Blender and the load and debug an existing addon... this was what I did with MakeTaget2.
Messing around with the code I found out how to change the names of the shape keys, name to the "file name". After that it was easy to read all .target files from a directory and add them all as shape keys! This took me only half the way though... as I wanted the shape keys to merge with the character, any character, that I made in MakeHuman. I did try several tools for transfer shape keys, but some did not work at all and some would transfer only party or with some issues. So I finally looked into how the original set of shape keys came to Blender. And I found that the 'MHX2 import' added "face shapes".. that were not part of the original export!
Using the MakeTarget2 print/save functions enabled me to "dump" the raw 'Shape key' data to print/files and I am now able to cut/paste the "printed" version. Say, the elf-ears, can now be add to the file that 'MHX2 import' works with, and the shape keys will be added to the imported Blender characters... for both Base/proxy mesh. Right now MakeShapes will export the selected shape key only.
===MakeShapes todo===
* The addon must be packaged and put on Github
* I need to output all of the shape keys, in one "faceshape" file.
* I want to be able to process expressions.
* I I what to be able to process all expression builder targets
1ec2060297ded902f188b8876460cf0baf5991d0
2014
2013
2021-01-30T10:03:50Z
Assetdk
89
/* MakeTarget import */
wikitext
text/x-wiki
Please take a look at this page: [[Documentation:MH4UE|MH4UE]] - to get an overview of things you can use to get your Makehuman characters into Unreal Engine!
* I am currently updating this page and the addon - to make it useful. --[[User:Assetdk|Assetdk]] ([[User talk:Assetdk|talk]]) 08:09, 30 January 2021 (UTC)
=MakeShapes for Blender=
This is a new tool for importing MakeHuman Targets as Shape Keys in Blender.
Please read the instructions below carefully and be sure to make a backup of any addons you change etc.
==Find the addon on GitHub==
This is the link for the addon master: [https://github.com/AssetDK/makeshapes]
You need to add the addon to Blender and you need to know about two other addons, as described below.
Currently this addon have been tested on Blender 2.80 only, but it should work on any Blender version that works for the two addons.
===Current status===
Thus far, in version 0.1.0 of the tool all of the Targets can be imported to Blender and the targets can be added to MHX2.
=Getting started with MakeTarget2=
'''It makes good sense to learn how to use MakeTarget2 first.'''
In general this addon was made by ''Joel Palmius'', and it builds upon the fact that you can directly transfer the characters you have loaded in MakeHuman. So start up MakeHuman and set it up to communicate with the Blender addon (This is done in the community/Socket tab, and the setting in the Blender addon must be the same. As they are by default).
===BaseMesh - this paragraph is for later===
Now make your Basemesh human. The first time you used MH you probably made some very fancy model, as you can. However you now want a 'base' character, with as little customization as possible. You will want to be able to transfer parameters/attribures between characters when they are in Unreal, and for that reason they must share the same basic definitions.
===MakeTarget import===
The process is very simple, you load your basecharacter to MakeHuman, without any targets, but as you would like to see it in Blender/UE4/Unity. And then you go to Blender/MakeHuman and run 'Import human'! You should probably use the MakeTarget preset for this. This could look something like this, remember to use the preset Load button.
[[File:MH2Blender MakeTarget1.png|800px]]
In the current version of MakeTarget2 you will have two options - when you select the 'Body' or 'BaseMesh' you imported. This all happens in Blender/Object mode. Select to view the shape keys:
[[File:MH2Blender MakeTarget2.png|1000px]]
When you press the 'Load target' button you must locate an existing .target file. These can be found in a directory: C:\Users\<user>\Documents\makehuman\v1py3\data\custom (this may change depending on how you set up MH!). These are accessed in Makehuman via the Modelling/community "menu" - make sure to check out that you can find even more community targets!
Try this now, selecting elf-ears.target and load this. Two new entries are made under shape keys: Basis, PrimaryTarget. And your character should now have elf ears! You can change the size of the ears, in 'Object mode'. The general scope of MakeTarget2 is that you can make a new target, or you can load one and change it - when you are satisfied with that you can save you new target file, import and use it in MakeHuman....:
* Go to 'edit mode',
* edit the elf-ears
* Press 'Save target'
* Name your target elf-ears2.target and save it
If you did this in the correct folder, your new target should appear in Makehuman and you can use it there!
When you made one target you can not make one more, so you need to delete the Shape keys, in blender, to load/make a new one. Be sure to make a backup if your work was brilliant!
You may also notice that not all targets will get loaded correctly to Blender using MakeTarget2, I do not know why...
You can now import your character from Makehuman make a new community Target and you can get it to work in Makehuman. Using two of the must have Blender addons.
==Using '''MHX2 import'''==
Now try to EXPORT your MakeHuman character in '''MHX2''' format - from the MakeHuman application. You probably already know that you can load and save characters, and you can not "transfer" them to Blender. But some of the data appears to be lost, left out or missing when you look at the character in Blender.
However when you make use of the 'MHX2 runtime' import you will notice that it imports shape keys - however these shape keys are not visible when you look for them in MakeHuman! There are similar to targets, but they are not the same! MHX2 runtime simply can add some predefined 'Face shape and face shape drivers' to your character, when you thick the box in before you import. (You can also chose to import the Base mesh, the Proxy or both..!)
You should try to play around with the MHX2 import options. I ended up with some very specific settings, as I want to import the character in UE4 - you may find that you need different settings depending on what your need are.
In case you think you now know enough about MakeTarget2 and MHX2 import, you can now take a look at what can be done with MakeShapes.
=Using MakeShapes=
You should be familiar with Makehuman, MakeTargert2, MHX2 import - that is you should be able to perform the following tasks:
* 'Import human' for the base human character from Makehuman to Blender. (do this now)
* You should have installed MakeTarget2 to blender and you can now install MakeShapes - notice that it will install with MakeTarget2
Now there is two manual steps to do before you can use MakeShapes:
* find the faceshapes.mxa file, make a backup and make your faceshapes_BASE.mxa file
* Find the community target files, that are used by Makehuman
===Initial setup for faceshapes.mxa===
You don't need to use MakeTarget2, but you will now need to locate some '''.target''' files, and the faceshapes.mxa that you will use soon!
With your file explorer try to locate this directory, on your computer (Thh version ext may be difrent for your installation):
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons <--- '''where all addons are when installed'''
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm8 <-- '''the files you need, soon'''
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm8\raw <-- '''the files you add to, soon'''
This is how my directory shows up:
[[File:MakeTarget2-data.png]]
You will notice that the faceshapes.mxa file is not looking like yours. I recommend that you make two copies of that file and call them faceshapes_BASE.mxa and faceshapes-original.mxa. (- do not change or delete the original!)
Now make a new folder, anywhere where you want, and '''move''' the new file faceshapes_BASE.mxa, then edit this file and add one line <faceshape> at the bottom of the file, but above the two } } lines, like this:
[[File:MakeShapes-faceshape_base.png]]
Please note that you will not need to do this again, unless there is a new version of the MHX2 addon.
===Initial setup for target files===
Before you do this you should add all the targets you want to use to Makehuman. you find these under modelling/custom! And you can download even more from 'Community'/'Download assets'
[[File:MakeShapes-custom-targets.png]]
The '''.target''' files are located in the Makehuman directory, your setup may be different, but on my computer this looks like this:
C:\Users\<user>\Documents\makehuman\v1py3\data\custom
You take a copy of all the files, and add them to the MHX2 raw folder:
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm8\raw
You can simply add more .target files to the directory, as you need! To be on the safe side make a backup copy of the .target files!
After this you should be good to go!
==Using MakeShapes==
[[File:MakeShapes-buttons.png]]
MakeShapes installed, you should see the above. After you have imported a character from the running Makehuman, you can now locate the shape keys, under "object data", this icon: [[File:MakeShapes-icon.png]]. You can now press the 'Load shapes from targets' button (if you want to you can load a single target, this happens when you uncheck the corresponding checkbox).
The target files you want to load are those you found before:
C:\Users\<user>\Documents\makehuman\v1py3\data\custom
If you do not uncheck the checkbox all .target files will be processed - now the targets should appear in Blender, as shape keys, and they should be active and working!
'''WARNING!!''' You should not use the 'Save Targets' buttons, it will save all of the .target files, but I think they are useless.
Next step is to press 'Save your faceshapes.mxa file' button, select the folder where you placed the faceshapes_BASE.mxa file.
This will produce a new and bigger faceshapes.mxa file. Your final task will be to copy this file to the MHX2 directory:
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm
Now when you import any Makehuman MHX2 file and check on the 'Face shapes' and 'Face shape drivers', all of the targets will be added to the character!
You do not need to do anything else..
===Limitations to shape keys and morph targets===
While working with Blender and Shape keys you will find that while they are just fine for Usage in Blender and rendering, but they are often useless for animations. That is shape keys will only work on the mesh and bones will not follow the shape of the mesh. The same apply to morph targets.
Quite many of the Makehuman targets will work just fine for you in Blender. Most of them may also work fine even with animations, but a few of them can not be used in UE4.
=MakeShapes progress=
===MakeShapes, done.... ===
While MakeTargt2 can help you modify existing target it will not help you much when you what to "transfer" shape keys. My very first attempt on learning Python and making a new Blender addon involved using VSCode and and extension called 'Blender code' - whit that you can run Blender and the load and debug an existing addon... this was what I did with MakeTaget2.
Messing around with the code I found out how to change the names of the shape keys, name to the "file name". After that it was easy to read all .target files from a directory and add them all as shape keys! This took me only half the way though... as I wanted the shape keys to merge with the character, any character, that I made in MakeHuman. I did try several tools for transfer shape keys, but some did not work at all and some would transfer only party or with some issues. So I finally looked into how the original set of shape keys came to Blender. And I found that the 'MHX2 import' added "face shapes".. that were not part of the original export!
Using the MakeTarget2 print/save functions enabled me to "dump" the raw 'Shape key' data to print/files and I am now able to cut/paste the "printed" version. Say, the elf-ears, can now be add to the file that 'MHX2 import' works with, and the shape keys will be added to the imported Blender characters... for both Base/proxy mesh. Right now MakeShapes will export the selected shape key only.
===MakeShapes todo===
* The addon must be packaged and put on Github
* I need to output all of the shape keys, in one "faceshape" file.
* I want to be able to process expressions.
* I I what to be able to process all expression builder targets
dfd2c413633f4a4795fbe554a1713ff010b1c7ef
2013
2012
2021-01-30T09:56:22Z
Assetdk
89
/* MakeTarget import */
wikitext
text/x-wiki
Please take a look at this page: [[Documentation:MH4UE|MH4UE]] - to get an overview of things you can use to get your Makehuman characters into Unreal Engine!
* I am currently updating this page and the addon - to make it useful. --[[User:Assetdk|Assetdk]] ([[User talk:Assetdk|talk]]) 08:09, 30 January 2021 (UTC)
=MakeShapes for Blender=
This is a new tool for importing MakeHuman Targets as Shape Keys in Blender.
Please read the instructions below carefully and be sure to make a backup of any addons you change etc.
==Find the addon on GitHub==
This is the link for the addon master: [https://github.com/AssetDK/makeshapes]
You need to add the addon to Blender and you need to know about two other addons, as described below.
Currently this addon have been tested on Blender 2.80 only, but it should work on any Blender version that works for the two addons.
===Current status===
Thus far, in version 0.1.0 of the tool all of the Targets can be imported to Blender and the targets can be added to MHX2.
=Getting started with MakeTarget2=
'''It makes good sense to learn how to use MakeTarget2 first.'''
In general this addon was made by ''Joel Palmius'', and it builds upon the fact that you can directly transfer the characters you have loaded in MakeHuman. So start up MakeHuman and set it up to communicate with the Blender addon (This is done in the community/Socket tab, and the setting in the Blender addon must be the same. As they are by default).
===BaseMesh - this paragraph is for later===
Now make your Basemesh human. The first time you used MH you probably made some very fancy model, as you can. However you now want a 'base' character, with as little customization as possible. You will want to be able to transfer parameters/attribures between characters when they are in Unreal, and for that reason they must share the same basic definitions.
===MakeTarget import===
The process is very simple, you load your basecharacter to MakeHuman, without any targets, but as you would like to see it in Blender/UE4/Unity. And then you go to Blender/MakeHuman and run 'Import human'! You should probably use the MakeTarget preset for this. This could look something like this, remember to use the preset Load button.
[[File:MH2Blender MakeTarget1.png]]
In the current version of MakeTarget2 you will have two options - when you select the 'Body' or 'BaseMesh' you imported. This all happens in Blender/Object mode. Select to view the shape keys:
[[File:MH2Blender MakeTarget2.png]]
When you press the 'Load target' button you must locate an existing .target file. These can be found in a directory: C:\Users\<user>\Documents\makehuman\v1py3\data\custom (this may change depending on how you set up MH!). These are accessed in Makehuman via the Modelling/community "menu" - make sure to check out that you can find even more community targets!
Try this now, selecting elf-ears.target and load this. Two new entries are made under shape keys: Basis, PrimaryTarget. And your character should now have elf ears! You can change the size of the ears, in 'Object mode'. The general scope of MakeTarget2 is that you can make a new target, or you can load one and change it - when you are satisfied with that you can save you new target file, import and use it in MakeHuman....:
* Go to 'edit mode',
* edit the elf-ears
* Press 'Save target'
* Name your target elf-ears2.target and save it
If you did this in the correct folder, your new target should appear in Makehuman and you can use it there!
When you made one target you can not make one more, so you need to delete the Shape keys, in blender, to load/make a new one. Be sure to make a backup if your work was brilliant!
You may also notice that not all targets will get loaded correctly to Blender using MakeTarget2, I do not know why...
You can now import your character from Makehuman make a new community Target and you can get it to work in Makehuman. Using two of the must have Blender addons.
==Using '''MHX2 import'''==
Now try to EXPORT your MakeHuman character in '''MHX2''' format - from the MakeHuman application. You probably already know that you can load and save characters, and you can not "transfer" them to Blender. But some of the data appears to be lost, left out or missing when you look at the character in Blender.
However when you make use of the 'MHX2 runtime' import you will notice that it imports shape keys - however these shape keys are not visible when you look for them in MakeHuman! There are similar to targets, but they are not the same! MHX2 runtime simply can add some predefined 'Face shape and face shape drivers' to your character, when you thick the box in before you import. (You can also chose to import the Base mesh, the Proxy or both..!)
You should try to play around with the MHX2 import options. I ended up with some very specific settings, as I want to import the character in UE4 - you may find that you need different settings depending on what your need are.
In case you think you now know enough about MakeTarget2 and MHX2 import, you can now take a look at what can be done with MakeShapes.
=Using MakeShapes=
You should be familiar with Makehuman, MakeTargert2, MHX2 import - that is you should be able to perform the following tasks:
* 'Import human' for the base human character from Makehuman to Blender. (do this now)
* You should have installed MakeTarget2 to blender and you can now install MakeShapes - notice that it will install with MakeTarget2
Now there is two manual steps to do before you can use MakeShapes:
* find the faceshapes.mxa file, make a backup and make your faceshapes_BASE.mxa file
* Find the community target files, that are used by Makehuman
===Initial setup for faceshapes.mxa===
You don't need to use MakeTarget2, but you will now need to locate some '''.target''' files, and the faceshapes.mxa that you will use soon!
With your file explorer try to locate this directory, on your computer (Thh version ext may be difrent for your installation):
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons <--- '''where all addons are when installed'''
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm8 <-- '''the files you need, soon'''
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm8\raw <-- '''the files you add to, soon'''
This is how my directory shows up:
[[File:MakeTarget2-data.png]]
You will notice that the faceshapes.mxa file is not looking like yours. I recommend that you make two copies of that file and call them faceshapes_BASE.mxa and faceshapes-original.mxa. (- do not change or delete the original!)
Now make a new folder, anywhere where you want, and '''move''' the new file faceshapes_BASE.mxa, then edit this file and add one line <faceshape> at the bottom of the file, but above the two } } lines, like this:
[[File:MakeShapes-faceshape_base.png]]
Please note that you will not need to do this again, unless there is a new version of the MHX2 addon.
===Initial setup for target files===
Before you do this you should add all the targets you want to use to Makehuman. you find these under modelling/custom! And you can download even more from 'Community'/'Download assets'
[[File:MakeShapes-custom-targets.png]]
The '''.target''' files are located in the Makehuman directory, your setup may be different, but on my computer this looks like this:
C:\Users\<user>\Documents\makehuman\v1py3\data\custom
You take a copy of all the files, and add them to the MHX2 raw folder:
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm8\raw
You can simply add more .target files to the directory, as you need! To be on the safe side make a backup copy of the .target files!
After this you should be good to go!
==Using MakeShapes==
[[File:MakeShapes-buttons.png]]
MakeShapes installed, you should see the above. After you have imported a character from the running Makehuman, you can now locate the shape keys, under "object data", this icon: [[File:MakeShapes-icon.png]]. You can now press the 'Load shapes from targets' button (if you want to you can load a single target, this happens when you uncheck the corresponding checkbox).
The target files you want to load are those you found before:
C:\Users\<user>\Documents\makehuman\v1py3\data\custom
If you do not uncheck the checkbox all .target files will be processed - now the targets should appear in Blender, as shape keys, and they should be active and working!
'''WARNING!!''' You should not use the 'Save Targets' buttons, it will save all of the .target files, but I think they are useless.
Next step is to press 'Save your faceshapes.mxa file' button, select the folder where you placed the faceshapes_BASE.mxa file.
This will produce a new and bigger faceshapes.mxa file. Your final task will be to copy this file to the MHX2 directory:
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm
Now when you import any Makehuman MHX2 file and check on the 'Face shapes' and 'Face shape drivers', all of the targets will be added to the character!
You do not need to do anything else..
===Limitations to shape keys and morph targets===
While working with Blender and Shape keys you will find that while they are just fine for Usage in Blender and rendering, but they are often useless for animations. That is shape keys will only work on the mesh and bones will not follow the shape of the mesh. The same apply to morph targets.
Quite many of the Makehuman targets will work just fine for you in Blender. Most of them may also work fine even with animations, but a few of them can not be used in UE4.
=MakeShapes progress=
===MakeShapes, done.... ===
While MakeTargt2 can help you modify existing target it will not help you much when you what to "transfer" shape keys. My very first attempt on learning Python and making a new Blender addon involved using VSCode and and extension called 'Blender code' - whit that you can run Blender and the load and debug an existing addon... this was what I did with MakeTaget2.
Messing around with the code I found out how to change the names of the shape keys, name to the "file name". After that it was easy to read all .target files from a directory and add them all as shape keys! This took me only half the way though... as I wanted the shape keys to merge with the character, any character, that I made in MakeHuman. I did try several tools for transfer shape keys, but some did not work at all and some would transfer only party or with some issues. So I finally looked into how the original set of shape keys came to Blender. And I found that the 'MHX2 import' added "face shapes".. that were not part of the original export!
Using the MakeTarget2 print/save functions enabled me to "dump" the raw 'Shape key' data to print/files and I am now able to cut/paste the "printed" version. Say, the elf-ears, can now be add to the file that 'MHX2 import' works with, and the shape keys will be added to the imported Blender characters... for both Base/proxy mesh. Right now MakeShapes will export the selected shape key only.
===MakeShapes todo===
* The addon must be packaged and put on Github
* I need to output all of the shape keys, in one "faceshape" file.
* I want to be able to process expressions.
* I I what to be able to process all expression builder targets
36322297d0be8a530ce079fe8f628bac19b049ae
2012
2009
2021-01-30T09:55:31Z
Assetdk
89
/* BaseMesh */
wikitext
text/x-wiki
Please take a look at this page: [[Documentation:MH4UE|MH4UE]] - to get an overview of things you can use to get your Makehuman characters into Unreal Engine!
* I am currently updating this page and the addon - to make it useful. --[[User:Assetdk|Assetdk]] ([[User talk:Assetdk|talk]]) 08:09, 30 January 2021 (UTC)
=MakeShapes for Blender=
This is a new tool for importing MakeHuman Targets as Shape Keys in Blender.
Please read the instructions below carefully and be sure to make a backup of any addons you change etc.
==Find the addon on GitHub==
This is the link for the addon master: [https://github.com/AssetDK/makeshapes]
You need to add the addon to Blender and you need to know about two other addons, as described below.
Currently this addon have been tested on Blender 2.80 only, but it should work on any Blender version that works for the two addons.
===Current status===
Thus far, in version 0.1.0 of the tool all of the Targets can be imported to Blender and the targets can be added to MHX2.
=Getting started with MakeTarget2=
'''It makes good sense to learn how to use MakeTarget2 first.'''
In general this addon was made by ''Joel Palmius'', and it builds upon the fact that you can directly transfer the characters you have loaded in MakeHuman. So start up MakeHuman and set it up to communicate with the Blender addon (This is done in the community/Socket tab, and the setting in the Blender addon must be the same. As they are by default).
===BaseMesh - this paragraph is for later===
Now make your Basemesh human. The first time you used MH you probably made some very fancy model, as you can. However you now want a 'base' character, with as little customization as possible. You will want to be able to transfer parameters/attribures between characters when they are in Unreal, and for that reason they must share the same basic definitions.
===MakeTarget import===
The process is very simple, you load your basecharacter to MakeHuman, without any targets, but as you would like to see it in Blender/UE4/Unity. And then you go to Blender/MakeHuman and run 'Import human'! You should probably use the MakeTarget preset for this. This could look something like this, remember to use the preset Load button.
[[File:MH2Blender MakeTarget1.png]]
In the current version of MakeTarget2 you will have two options - when you select the 'Body' or 'BaseMesh' you imported. This all happens in Blender/Object mode. Select to view the shape keys:
[[File:MH2Blender MakeTarget1.png]]
When you press the 'Load target' button you must locate an existing .target file. These can be found in a directory: C:\Users\<user>\Documents\makehuman\v1py3\data\custom (this may change depending on how you set up MH!). These are accessed in Makehuman via the Modelling/community "menu" - make sure to check out that you can find even more community targets!
Try this now, selecting elf-ears.target and load this. Two new entries are made under shape keys: Basis, PrimaryTarget. And your character should now have elf ears! You can change the size of the ears, in 'Object mode'. The general scope of MakeTarget2 is that you can make a new target, or you can load one and change it - when you are satisfied with that you can save you new target file, import and use it in MakeHuman....:
* Go to 'edit mode',
* edit the elf-ears
* Press 'Save target'
* Name your target elf-ears2.target and save it
If you did this in the correct folder, your new target should appear in Makehuman and you can use it there!
When you made one target you can not make one more, so you need to delete the Shape keys, in blender, to load/make a new one. Be sure to make a backup if your work was brilliant!
You may also notice that not all targets will get loaded correctly to Blender using MakeTarget2, I do not know why...
You can now import your character from Makehuman make a new community Target and you can get it to work in Makehuman. Using two of the must have Blender addons.
==Using '''MHX2 import'''==
Now try to EXPORT your MakeHuman character in '''MHX2''' format - from the MakeHuman application. You probably already know that you can load and save characters, and you can not "transfer" them to Blender. But some of the data appears to be lost, left out or missing when you look at the character in Blender.
However when you make use of the 'MHX2 runtime' import you will notice that it imports shape keys - however these shape keys are not visible when you look for them in MakeHuman! There are similar to targets, but they are not the same! MHX2 runtime simply can add some predefined 'Face shape and face shape drivers' to your character, when you thick the box in before you import. (You can also chose to import the Base mesh, the Proxy or both..!)
You should try to play around with the MHX2 import options. I ended up with some very specific settings, as I want to import the character in UE4 - you may find that you need different settings depending on what your need are.
In case you think you now know enough about MakeTarget2 and MHX2 import, you can now take a look at what can be done with MakeShapes.
=Using MakeShapes=
You should be familiar with Makehuman, MakeTargert2, MHX2 import - that is you should be able to perform the following tasks:
* 'Import human' for the base human character from Makehuman to Blender. (do this now)
* You should have installed MakeTarget2 to blender and you can now install MakeShapes - notice that it will install with MakeTarget2
Now there is two manual steps to do before you can use MakeShapes:
* find the faceshapes.mxa file, make a backup and make your faceshapes_BASE.mxa file
* Find the community target files, that are used by Makehuman
===Initial setup for faceshapes.mxa===
You don't need to use MakeTarget2, but you will now need to locate some '''.target''' files, and the faceshapes.mxa that you will use soon!
With your file explorer try to locate this directory, on your computer (Thh version ext may be difrent for your installation):
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons <--- '''where all addons are when installed'''
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm8 <-- '''the files you need, soon'''
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm8\raw <-- '''the files you add to, soon'''
This is how my directory shows up:
[[File:MakeTarget2-data.png]]
You will notice that the faceshapes.mxa file is not looking like yours. I recommend that you make two copies of that file and call them faceshapes_BASE.mxa and faceshapes-original.mxa. (- do not change or delete the original!)
Now make a new folder, anywhere where you want, and '''move''' the new file faceshapes_BASE.mxa, then edit this file and add one line <faceshape> at the bottom of the file, but above the two } } lines, like this:
[[File:MakeShapes-faceshape_base.png]]
Please note that you will not need to do this again, unless there is a new version of the MHX2 addon.
===Initial setup for target files===
Before you do this you should add all the targets you want to use to Makehuman. you find these under modelling/custom! And you can download even more from 'Community'/'Download assets'
[[File:MakeShapes-custom-targets.png]]
The '''.target''' files are located in the Makehuman directory, your setup may be different, but on my computer this looks like this:
C:\Users\<user>\Documents\makehuman\v1py3\data\custom
You take a copy of all the files, and add them to the MHX2 raw folder:
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm8\raw
You can simply add more .target files to the directory, as you need! To be on the safe side make a backup copy of the .target files!
After this you should be good to go!
==Using MakeShapes==
[[File:MakeShapes-buttons.png]]
MakeShapes installed, you should see the above. After you have imported a character from the running Makehuman, you can now locate the shape keys, under "object data", this icon: [[File:MakeShapes-icon.png]]. You can now press the 'Load shapes from targets' button (if you want to you can load a single target, this happens when you uncheck the corresponding checkbox).
The target files you want to load are those you found before:
C:\Users\<user>\Documents\makehuman\v1py3\data\custom
If you do not uncheck the checkbox all .target files will be processed - now the targets should appear in Blender, as shape keys, and they should be active and working!
'''WARNING!!''' You should not use the 'Save Targets' buttons, it will save all of the .target files, but I think they are useless.
Next step is to press 'Save your faceshapes.mxa file' button, select the folder where you placed the faceshapes_BASE.mxa file.
This will produce a new and bigger faceshapes.mxa file. Your final task will be to copy this file to the MHX2 directory:
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm
Now when you import any Makehuman MHX2 file and check on the 'Face shapes' and 'Face shape drivers', all of the targets will be added to the character!
You do not need to do anything else..
===Limitations to shape keys and morph targets===
While working with Blender and Shape keys you will find that while they are just fine for Usage in Blender and rendering, but they are often useless for animations. That is shape keys will only work on the mesh and bones will not follow the shape of the mesh. The same apply to morph targets.
Quite many of the Makehuman targets will work just fine for you in Blender. Most of them may also work fine even with animations, but a few of them can not be used in UE4.
=MakeShapes progress=
===MakeShapes, done.... ===
While MakeTargt2 can help you modify existing target it will not help you much when you what to "transfer" shape keys. My very first attempt on learning Python and making a new Blender addon involved using VSCode and and extension called 'Blender code' - whit that you can run Blender and the load and debug an existing addon... this was what I did with MakeTaget2.
Messing around with the code I found out how to change the names of the shape keys, name to the "file name". After that it was easy to read all .target files from a directory and add them all as shape keys! This took me only half the way though... as I wanted the shape keys to merge with the character, any character, that I made in MakeHuman. I did try several tools for transfer shape keys, but some did not work at all and some would transfer only party or with some issues. So I finally looked into how the original set of shape keys came to Blender. And I found that the 'MHX2 import' added "face shapes".. that were not part of the original export!
Using the MakeTarget2 print/save functions enabled me to "dump" the raw 'Shape key' data to print/files and I am now able to cut/paste the "printed" version. Say, the elf-ears, can now be add to the file that 'MHX2 import' works with, and the shape keys will be added to the imported Blender characters... for both Base/proxy mesh. Right now MakeShapes will export the selected shape key only.
===MakeShapes todo===
* The addon must be packaged and put on Github
* I need to output all of the shape keys, in one "faceshape" file.
* I want to be able to process expressions.
* I I what to be able to process all expression builder targets
aa6b01e3bd1fd819ae770fb97edb2797feb01454
2009
2008
2021-01-30T09:26:53Z
Assetdk
89
/* Getting started with MakeTarget2 */
wikitext
text/x-wiki
Please take a look at this page: [[Documentation:MH4UE|MH4UE]] - to get an overview of things you can use to get your Makehuman characters into Unreal Engine!
* I am currently updating this page and the addon - to make it useful. --[[User:Assetdk|Assetdk]] ([[User talk:Assetdk|talk]]) 08:09, 30 January 2021 (UTC)
=MakeShapes for Blender=
This is a new tool for importing MakeHuman Targets as Shape Keys in Blender.
Please read the instructions below carefully and be sure to make a backup of any addons you change etc.
==Find the addon on GitHub==
This is the link for the addon master: [https://github.com/AssetDK/makeshapes]
You need to add the addon to Blender and you need to know about two other addons, as described below.
Currently this addon have been tested on Blender 2.80 only, but it should work on any Blender version that works for the two addons.
===Current status===
Thus far, in version 0.1.0 of the tool all of the Targets can be imported to Blender and the targets can be added to MHX2.
=Getting started with MakeTarget2=
'''It makes good sense to learn how to use MakeTarget2 first.'''
In general this addon was made by ''Joel Palmius'', and it builds upon the fact that you can directly transfer the characters you have loaded in MakeHuman. So start up MakeHuman and set it up to communicate with the Blender addon (This is done in the community/Socket tab, and the setting in the Blender addon must be the same. As they are by default).
===BaseMesh===
Now make your Basemesh human. The first time you used MH you probably made some very fancy model, as you can. However you now want a 'base' character, with as little customization as possible. You will want to be able to transfer parameters/attribures between characters when they are in Unreal, and for that reason they must share the same basic definitions.
The process is very simple, you load your basecharacter to MakeHuman, without any targets, but as you would like to see it in Blender/UE4/Unity. And then you go to Blender/MakeHuman and run 'Import human'! You should probably use the MakeTarget preset for this.
In the current version of MakeTarget2 you will have two options - when you select the 'Body' or 'BaseMesh' you imported.
When you press the 'Load target' button you must locate an existing .target file. These can be found in a directory: C:\Users\<user>\Documents\makehuman\v1py3\data\custom (this may change depending on how you set up MH!). These are accessed in Makehuman via Modelling/community - make sure to check out that you can find even more community targets!
Try this now, selecting elf-ears.target and load this. Two new entries are made under shape keys: Basis, PrimaryTarget. And your character should now have elf ears! You can change the size of the ears, in 'Object mode'. The general scope of MakeTarget2 is that you can make a new target, or you can load one and change it - when you are satisfied with that you can save you new target file, import and use it in MakeHuman....:
* Go to 'edit mode',
* edit the elf-ears
* Press 'Save target'
* Name your target elf-ears2.target and save it
If you did this in the correct folder, your new target should appear in Makehuman and you can use it there!
When you made one target you can not make one more, so you need to delete the Shape keys, in blender, to load/make a new one. Be sure to make a backup if your work was brilliant!
You may also notice that not all targets will get loaded correctly to Blender using MakeTarget2, I do not know why...
You can now import your character from Makehuman make a new community Target and you can get it to work in Makehuman. Using two of the must have Blender addons.
==Using '''MHX2 import'''==
Now try to EXPORT your MakeHuman character in '''MHX2''' format - from the MakeHuman application. You probably already know that you can load and save characters, and you can not "transfer" them to Blender. But some of the data appears to be lost, left out or missing when you look at the character in Blender.
However when you make use of the 'MHX2 runtime' import you will notice that it imports shape keys - however these shape keys are not visible when you look for them in MakeHuman! There are similar to targets, but they are not the same! MHX2 runtime simply can add some predefined 'Face shape and face shape drivers' to your character, when you thick the box in before you import. (You can also chose to import the Base mesh, the Proxy or both..!)
You should try to play around with the MHX2 import options. I ended up with some very specific settings, as I want to import the character in UE4 - you may find that you need different settings depending on what your need are.
In case you think you now know enough about MakeTarget2 and MHX2 import, you can now take a look at what can be done with MakeShapes.
=Using MakeShapes=
You should be familiar with Makehuman, MakeTargert2, MHX2 import - that is you should be able to perform the following tasks:
* 'Import human' for the base human character from Makehuman to Blender. (do this now)
* You should have installed MakeTarget2 to blender and you can now install MakeShapes - notice that it will install with MakeTarget2
Now there is two manual steps to do before you can use MakeShapes:
* find the faceshapes.mxa file, make a backup and make your faceshapes_BASE.mxa file
* Find the community target files, that are used by Makehuman
===Initial setup for faceshapes.mxa===
You don't need to use MakeTarget2, but you will now need to locate some '''.target''' files, and the faceshapes.mxa that you will use soon!
With your file explorer try to locate this directory, on your computer (Thh version ext may be difrent for your installation):
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons <--- '''where all addons are when installed'''
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm8 <-- '''the files you need, soon'''
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm8\raw <-- '''the files you add to, soon'''
This is how my directory shows up:
[[File:MakeTarget2-data.png]]
You will notice that the faceshapes.mxa file is not looking like yours. I recommend that you make two copies of that file and call them faceshapes_BASE.mxa and faceshapes-original.mxa. (- do not change or delete the original!)
Now make a new folder, anywhere where you want, and '''move''' the new file faceshapes_BASE.mxa, then edit this file and add one line <faceshape> at the bottom of the file, but above the two } } lines, like this:
[[File:MakeShapes-faceshape_base.png]]
Please note that you will not need to do this again, unless there is a new version of the MHX2 addon.
===Initial setup for target files===
Before you do this you should add all the targets you want to use to Makehuman. you find these under modelling/custom! And you can download even more from 'Community'/'Download assets'
[[File:MakeShapes-custom-targets.png]]
The '''.target''' files are located in the Makehuman directory, your setup may be different, but on my computer this looks like this:
C:\Users\<user>\Documents\makehuman\v1py3\data\custom
You take a copy of all the files, and add them to the MHX2 raw folder:
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm8\raw
You can simply add more .target files to the directory, as you need! To be on the safe side make a backup copy of the .target files!
After this you should be good to go!
==Using MakeShapes==
[[File:MakeShapes-buttons.png]]
MakeShapes installed, you should see the above. After you have imported a character from the running Makehuman, you can now locate the shape keys, under "object data", this icon: [[File:MakeShapes-icon.png]]. You can now press the 'Load shapes from targets' button (if you want to you can load a single target, this happens when you uncheck the corresponding checkbox).
The target files you want to load are those you found before:
C:\Users\<user>\Documents\makehuman\v1py3\data\custom
If you do not uncheck the checkbox all .target files will be processed - now the targets should appear in Blender, as shape keys, and they should be active and working!
'''WARNING!!''' You should not use the 'Save Targets' buttons, it will save all of the .target files, but I think they are useless.
Next step is to press 'Save your faceshapes.mxa file' button, select the folder where you placed the faceshapes_BASE.mxa file.
This will produce a new and bigger faceshapes.mxa file. Your final task will be to copy this file to the MHX2 directory:
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm
Now when you import any Makehuman MHX2 file and check on the 'Face shapes' and 'Face shape drivers', all of the targets will be added to the character!
You do not need to do anything else..
===Limitations to shape keys and morph targets===
While working with Blender and Shape keys you will find that while they are just fine for Usage in Blender and rendering, but they are often useless for animations. That is shape keys will only work on the mesh and bones will not follow the shape of the mesh. The same apply to morph targets.
Quite many of the Makehuman targets will work just fine for you in Blender. Most of them may also work fine even with animations, but a few of them can not be used in UE4.
=MakeShapes progress=
===MakeShapes, done.... ===
While MakeTargt2 can help you modify existing target it will not help you much when you what to "transfer" shape keys. My very first attempt on learning Python and making a new Blender addon involved using VSCode and and extension called 'Blender code' - whit that you can run Blender and the load and debug an existing addon... this was what I did with MakeTaget2.
Messing around with the code I found out how to change the names of the shape keys, name to the "file name". After that it was easy to read all .target files from a directory and add them all as shape keys! This took me only half the way though... as I wanted the shape keys to merge with the character, any character, that I made in MakeHuman. I did try several tools for transfer shape keys, but some did not work at all and some would transfer only party or with some issues. So I finally looked into how the original set of shape keys came to Blender. And I found that the 'MHX2 import' added "face shapes".. that were not part of the original export!
Using the MakeTarget2 print/save functions enabled me to "dump" the raw 'Shape key' data to print/files and I am now able to cut/paste the "printed" version. Say, the elf-ears, can now be add to the file that 'MHX2 import' works with, and the shape keys will be added to the imported Blender characters... for both Base/proxy mesh. Right now MakeShapes will export the selected shape key only.
===MakeShapes todo===
* The addon must be packaged and put on Github
* I need to output all of the shape keys, in one "faceshape" file.
* I want to be able to process expressions.
* I I what to be able to process all expression builder targets
e36f4633158bcdf8ebbc2f8f00b6dfd8aae9091e
2008
2007
2021-01-30T09:13:14Z
Assetdk
89
/* Getting started with MakeTarget2 */
wikitext
text/x-wiki
Please take a look at this page: [[Documentation:MH4UE|MH4UE]] - to get an overview of things you can use to get your Makehuman characters into Unreal Engine!
* I am currently updating this page and the addon - to make it useful. --[[User:Assetdk|Assetdk]] ([[User talk:Assetdk|talk]]) 08:09, 30 January 2021 (UTC)
=MakeShapes for Blender=
This is a new tool for importing MakeHuman Targets as Shape Keys in Blender.
Please read the instructions below carefully and be sure to make a backup of any addons you change etc.
==Find the addon on GitHub==
This is the link for the addon master: [https://github.com/AssetDK/makeshapes]
You need to add the addon to Blender and you need to know about two other addons, as described below.
Currently this addon have been tested on Blender 2.80 only, but it should work on any Blender version that works for the two addons.
===Current status===
Thus far, in version 0.1.0 of the tool all of the Targets can be imported to Blender and the targets can be added to MHX2.
=Getting started with MakeTarget2=
'''It makes good sense to learn how to use MakeTarget2 first.'''
In general this addon was made by ''Joel Palmius'', and it builds upon the fact that you can directly transfer the characters you have loaded in MakeHuman. So start up MakeHuman and set it up to communicate with the Blender addon (This is done in the community/Socket tab, and the setting in the Blender addon must be the same. As they are by default).
The process is very simple, you load your character to MakeHuman, without any targets, but as you would like to see it in Blender/UE4/Unity. And then you go to Blender and run 'Import human'!
In the current version of MakeTarget2 you will have two options, when you select the 'Body' or 'BaseMesh' you imported.
When you press the 'Load target' button you must locate an existing .target file. These can be found in a directory: C:\Users\<user>\Documents\makehuman\v1py3\data\custom (this may change depending on how you set up MH!). These are accessed in Makehuman via Modelling/community - make sure to check out that you can find even more community targets!
Try this now, selecting elf-ears.target and load this. Two new entries are made under shape keys: Basis, PrimaryTarget. And your character should now have elf ears! You can change the size of the ears, in 'Object mode'. The general scope of MakeTarget2 is that you can make a new target, or you can load one and change it - when you are satisfied with that you can save you new target file, import and use it in MakeHuman....:
* Go to 'edit mode',
* edit the elf-ears
* Press 'Save target'
* Name your target elf-ears2.target and save it
If you did this in the correct folder, your new target should appear in Makehuman and you can use it there!
When you made one target you can not make one more, so you need to delete the Shape keys, in blender, to load/make a new one. Be sure to make a backup if your work was brilliant!
You may also notice that not all targets will get loaded correctly to Blender using MakeTarget2, I do not know why...
You can now import your character from Makehuman make a new community Target and you can get it to work in Makehuman. Using two of the must have Blender addons.
==Using '''MHX2 import'''==
Now try to EXPORT your MakeHuman character in '''MHX2''' format - from the MakeHuman application. You probably already know that you can load and save characters, and you can not "transfer" them to Blender. But some of the data appears to be lost, left out or missing when you look at the character in Blender.
However when you make use of the 'MHX2 runtime' import you will notice that it imports shape keys - however these shape keys are not visible when you look for them in MakeHuman! There are similar to targets, but they are not the same! MHX2 runtime simply can add some predefined 'Face shape and face shape drivers' to your character, when you thick the box in before you import. (You can also chose to import the Base mesh, the Proxy or both..!)
You should try to play around with the MHX2 import options. I ended up with some very specific settings, as I want to import the character in UE4 - you may find that you need different settings depending on what your need are.
In case you think you now know enough about MakeTarget2 and MHX2 import, you can now take a look at what can be done with MakeShapes.
=Using MakeShapes=
You should be familiar with Makehuman, MakeTargert2, MHX2 import - that is you should be able to perform the following tasks:
* 'Import human' for the base human character from Makehuman to Blender. (do this now)
* You should have installed MakeTarget2 to blender and you can now install MakeShapes - notice that it will install with MakeTarget2
Now there is two manual steps to do before you can use MakeShapes:
* find the faceshapes.mxa file, make a backup and make your faceshapes_BASE.mxa file
* Find the community target files, that are used by Makehuman
===Initial setup for faceshapes.mxa===
You don't need to use MakeTarget2, but you will now need to locate some '''.target''' files, and the faceshapes.mxa that you will use soon!
With your file explorer try to locate this directory, on your computer (Thh version ext may be difrent for your installation):
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons <--- '''where all addons are when installed'''
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm8 <-- '''the files you need, soon'''
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm8\raw <-- '''the files you add to, soon'''
This is how my directory shows up:
[[File:MakeTarget2-data.png]]
You will notice that the faceshapes.mxa file is not looking like yours. I recommend that you make two copies of that file and call them faceshapes_BASE.mxa and faceshapes-original.mxa. (- do not change or delete the original!)
Now make a new folder, anywhere where you want, and '''move''' the new file faceshapes_BASE.mxa, then edit this file and add one line <faceshape> at the bottom of the file, but above the two } } lines, like this:
[[File:MakeShapes-faceshape_base.png]]
Please note that you will not need to do this again, unless there is a new version of the MHX2 addon.
===Initial setup for target files===
Before you do this you should add all the targets you want to use to Makehuman. you find these under modelling/custom! And you can download even more from 'Community'/'Download assets'
[[File:MakeShapes-custom-targets.png]]
The '''.target''' files are located in the Makehuman directory, your setup may be different, but on my computer this looks like this:
C:\Users\<user>\Documents\makehuman\v1py3\data\custom
You take a copy of all the files, and add them to the MHX2 raw folder:
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm8\raw
You can simply add more .target files to the directory, as you need! To be on the safe side make a backup copy of the .target files!
After this you should be good to go!
==Using MakeShapes==
[[File:MakeShapes-buttons.png]]
MakeShapes installed, you should see the above. After you have imported a character from the running Makehuman, you can now locate the shape keys, under "object data", this icon: [[File:MakeShapes-icon.png]]. You can now press the 'Load shapes from targets' button (if you want to you can load a single target, this happens when you uncheck the corresponding checkbox).
The target files you want to load are those you found before:
C:\Users\<user>\Documents\makehuman\v1py3\data\custom
If you do not uncheck the checkbox all .target files will be processed - now the targets should appear in Blender, as shape keys, and they should be active and working!
'''WARNING!!''' You should not use the 'Save Targets' buttons, it will save all of the .target files, but I think they are useless.
Next step is to press 'Save your faceshapes.mxa file' button, select the folder where you placed the faceshapes_BASE.mxa file.
This will produce a new and bigger faceshapes.mxa file. Your final task will be to copy this file to the MHX2 directory:
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm
Now when you import any Makehuman MHX2 file and check on the 'Face shapes' and 'Face shape drivers', all of the targets will be added to the character!
You do not need to do anything else..
===Limitations to shape keys and morph targets===
While working with Blender and Shape keys you will find that while they are just fine for Usage in Blender and rendering, but they are often useless for animations. That is shape keys will only work on the mesh and bones will not follow the shape of the mesh. The same apply to morph targets.
Quite many of the Makehuman targets will work just fine for you in Blender. Most of them may also work fine even with animations, but a few of them can not be used in UE4.
=MakeShapes progress=
===MakeShapes, done.... ===
While MakeTargt2 can help you modify existing target it will not help you much when you what to "transfer" shape keys. My very first attempt on learning Python and making a new Blender addon involved using VSCode and and extension called 'Blender code' - whit that you can run Blender and the load and debug an existing addon... this was what I did with MakeTaget2.
Messing around with the code I found out how to change the names of the shape keys, name to the "file name". After that it was easy to read all .target files from a directory and add them all as shape keys! This took me only half the way though... as I wanted the shape keys to merge with the character, any character, that I made in MakeHuman. I did try several tools for transfer shape keys, but some did not work at all and some would transfer only party or with some issues. So I finally looked into how the original set of shape keys came to Blender. And I found that the 'MHX2 import' added "face shapes".. that were not part of the original export!
Using the MakeTarget2 print/save functions enabled me to "dump" the raw 'Shape key' data to print/files and I am now able to cut/paste the "printed" version. Say, the elf-ears, can now be add to the file that 'MHX2 import' works with, and the shape keys will be added to the imported Blender characters... for both Base/proxy mesh. Right now MakeShapes will export the selected shape key only.
===MakeShapes todo===
* The addon must be packaged and put on Github
* I need to output all of the shape keys, in one "faceshape" file.
* I want to be able to process expressions.
* I I what to be able to process all expression builder targets
0f798da37b6e6953e62321bee6b57929d34d81e6
2007
1985
2021-01-30T08:09:57Z
Assetdk
89
wikitext
text/x-wiki
Please take a look at this page: [[Documentation:MH4UE|MH4UE]] - to get an overview of things you can use to get your Makehuman characters into Unreal Engine!
* I am currently updating this page and the addon - to make it useful. --[[User:Assetdk|Assetdk]] ([[User talk:Assetdk|talk]]) 08:09, 30 January 2021 (UTC)
=MakeShapes for Blender=
This is a new tool for importing MakeHuman Targets as Shape Keys in Blender.
Please read the instructions below carefully and be sure to make a backup of any addons you change etc.
==Find the addon on GitHub==
This is the link for the addon master: [https://github.com/AssetDK/makeshapes]
You need to add the addon to Blender and you need to know about two other addons, as described below.
Currently this addon have been tested on Blender 2.80 only, but it should work on any Blender version that works for the two addons.
===Current status===
Thus far, in version 0.1.0 of the tool all of the Targets can be imported to Blender and the targets can be added to MHX2.
=Getting started with MakeTarget2=
It makes good sense to learn how to use MankeTarget2 first. In general this addon was made by Joel Palmius, and it builds upon the fact that you can directly transfer the characters you have loaded in MakeHuman. So start up MakeHuman and set it up to communicate with the Blender addon (This is done in the community/Socket tab, and the setting in the Blender addon must be the same. As they are by default).
The process is very simple, you load your character to MakeHuman, without any targets, but as you would like to see it in Blender/UE4/Unity. And then you go to Blender and run 'Import human'!
In the current version of MakeTarget2 you will have two options, when you select the 'Body' or 'BaseMesh' you imported.
When you press the 'Load target' button you must locate an existing .target file. These can be found in a directory: C:\Users\<user>\Documents\makehuman\v1py3\data\custom (this may change depending on how you set up MH!). These are accessed in Makehuman via Modelling/community - make sure to check out that you can find even more community targets!
Try this now, selecting elf-ears.target and load this. Two new entries are made under shape keys: Basis, PrimaryTarget. And your character should now have elf ears! You can change the size of the ears, in 'Object mode'. The general scope of MakeTarget2 is that you can make a new target, or you can load one and change it - when you are satisfied with that you can save you new target file, import and use it in MakeHuman....:
* Go to 'edit mode',
* edit the elf-ears
* Press 'Save target'
* Name your target elf-ears2.target and save it
If you did this in the correct folder, your new target should appear in Makehuman and you can use it there!
When you made one target you can not make one more, so you need to delete the Shape keys, in blender, to load/make a new one. Be sure to make a backup if your work was brilliant!
You may also notice that not all targets will get loaded correctly to Blender using MakeTarget2, I do not know why...
You can now import your character from Makehuman make a new community Target and you can get it to work in Makehuman. Using two of the must have Blender addons.
==Using '''MHX2 import'''==
Now try to EXPORT your MakeHuman character in '''MHX2''' format - from the MakeHuman application. You probably already know that you can load and save characters, and you can not "transfer" them to Blender. But some of the data appears to be lost, left out or missing when you look at the character in Blender.
However when you make use of the 'MHX2 runtime' import you will notice that it imports shape keys - however these shape keys are not visible when you look for them in MakeHuman! There are similar to targets, but they are not the same! MHX2 runtime simply can add some predefined 'Face shape and face shape drivers' to your character, when you thick the box in before you import. (You can also chose to import the Base mesh, the Proxy or both..!)
You should try to play around with the MHX2 import options. I ended up with some very specific settings, as I want to import the character in UE4 - you may find that you need different settings depending on what your need are.
In case you think you now know enough about MakeTarget2 and MHX2 import, you can now take a look at what can be done with MakeShapes.
=Using MakeShapes=
You should be familiar with Makehuman, MakeTargert2, MHX2 import - that is you should be able to perform the following tasks:
* 'Import human' for the base human character from Makehuman to Blender. (do this now)
* You should have installed MakeTarget2 to blender and you can now install MakeShapes - notice that it will install with MakeTarget2
Now there is two manual steps to do before you can use MakeShapes:
* find the faceshapes.mxa file, make a backup and make your faceshapes_BASE.mxa file
* Find the community target files, that are used by Makehuman
===Initial setup for faceshapes.mxa===
You don't need to use MakeTarget2, but you will now need to locate some '''.target''' files, and the faceshapes.mxa that you will use soon!
With your file explorer try to locate this directory, on your computer (Thh version ext may be difrent for your installation):
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons <--- '''where all addons are when installed'''
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm8 <-- '''the files you need, soon'''
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm8\raw <-- '''the files you add to, soon'''
This is how my directory shows up:
[[File:MakeTarget2-data.png]]
You will notice that the faceshapes.mxa file is not looking like yours. I recommend that you make two copies of that file and call them faceshapes_BASE.mxa and faceshapes-original.mxa. (- do not change or delete the original!)
Now make a new folder, anywhere where you want, and '''move''' the new file faceshapes_BASE.mxa, then edit this file and add one line <faceshape> at the bottom of the file, but above the two } } lines, like this:
[[File:MakeShapes-faceshape_base.png]]
Please note that you will not need to do this again, unless there is a new version of the MHX2 addon.
===Initial setup for target files===
Before you do this you should add all the targets you want to use to Makehuman. you find these under modelling/custom! And you can download even more from 'Community'/'Download assets'
[[File:MakeShapes-custom-targets.png]]
The '''.target''' files are located in the Makehuman directory, your setup may be different, but on my computer this looks like this:
C:\Users\<user>\Documents\makehuman\v1py3\data\custom
You take a copy of all the files, and add them to the MHX2 raw folder:
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm8\raw
You can simply add more .target files to the directory, as you need! To be on the safe side make a backup copy of the .target files!
After this you should be good to go!
==Using MakeShapes==
[[File:MakeShapes-buttons.png]]
MakeShapes installed, you should see the above. After you have imported a character from the running Makehuman, you can now locate the shape keys, under "object data", this icon: [[File:MakeShapes-icon.png]]. You can now press the 'Load shapes from targets' button (if you want to you can load a single target, this happens when you uncheck the corresponding checkbox).
The target files you want to load are those you found before:
C:\Users\<user>\Documents\makehuman\v1py3\data\custom
If you do not uncheck the checkbox all .target files will be processed - now the targets should appear in Blender, as shape keys, and they should be active and working!
'''WARNING!!''' You should not use the 'Save Targets' buttons, it will save all of the .target files, but I think they are useless.
Next step is to press 'Save your faceshapes.mxa file' button, select the folder where you placed the faceshapes_BASE.mxa file.
This will produce a new and bigger faceshapes.mxa file. Your final task will be to copy this file to the MHX2 directory:
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm
Now when you import any Makehuman MHX2 file and check on the 'Face shapes' and 'Face shape drivers', all of the targets will be added to the character!
You do not need to do anything else..
===Limitations to shape keys and morph targets===
While working with Blender and Shape keys you will find that while they are just fine for Usage in Blender and rendering, but they are often useless for animations. That is shape keys will only work on the mesh and bones will not follow the shape of the mesh. The same apply to morph targets.
Quite many of the Makehuman targets will work just fine for you in Blender. Most of them may also work fine even with animations, but a few of them can not be used in UE4.
=MakeShapes progress=
===MakeShapes, done.... ===
While MakeTargt2 can help you modify existing target it will not help you much when you what to "transfer" shape keys. My very first attempt on learning Python and making a new Blender addon involved using VSCode and and extension called 'Blender code' - whit that you can run Blender and the load and debug an existing addon... this was what I did with MakeTaget2.
Messing around with the code I found out how to change the names of the shape keys, name to the "file name". After that it was easy to read all .target files from a directory and add them all as shape keys! This took me only half the way though... as I wanted the shape keys to merge with the character, any character, that I made in MakeHuman. I did try several tools for transfer shape keys, but some did not work at all and some would transfer only party or with some issues. So I finally looked into how the original set of shape keys came to Blender. And I found that the 'MHX2 import' added "face shapes".. that were not part of the original export!
Using the MakeTarget2 print/save functions enabled me to "dump" the raw 'Shape key' data to print/files and I am now able to cut/paste the "printed" version. Say, the elf-ears, can now be add to the file that 'MHX2 import' works with, and the shape keys will be added to the imported Blender characters... for both Base/proxy mesh. Right now MakeShapes will export the selected shape key only.
===MakeShapes todo===
* The addon must be packaged and put on Github
* I need to output all of the shape keys, in one "faceshape" file.
* I want to be able to process expressions.
* I I what to be able to process all expression builder targets
65fb4bf13fff1ac967477e9b0c2f0e159d53b62a
1985
1984
2021-01-17T11:19:40Z
Assetdk
89
/* Using MHX2 import */
wikitext
text/x-wiki
Please take a look at this page: [[Documentation:MH4UE|MH4UE]] - to get an overview of things you can use to get your Makehuman characters into Unreal Engine!
*
=MakeShapes for Blender=
This is a new tool for importing MakeHuman Targets as Shape Keys in Blender.
Please read the instructions below carefully and be sure to make a backup of any addons you change etc.
==Find the addon on GitHub==
This is the link for the addon master: [https://github.com/AssetDK/makeshapes]
You need to add the addon to Blender and you need to know about two other addons, as described below.
Currently this addon have been tested on Blender 2.80 only, but it should work on any Blender version that works for the two addons.
===Current status===
Thus far, in version 0.1.0 of the tool all of the Targets can be imported to Blender and the targets can be added to MHX2.
=Getting started with MakeTarget2=
It makes good sense to learn how to use MankeTarget2 first. In general this addon was made by Joel Palmius, and it builds upon the fact that you can directly transfer the characters you have loaded in MakeHuman. So start up MakeHuman and set it up to communicate with the Blender addon (This is done in the community/Socket tab, and the setting in the Blender addon must be the same. As they are by default).
The process is very simple, you load your character to MakeHuman, without any targets, but as you would like to see it in Blender/UE4/Unity. And then you go to Blender and run 'Import human'!
In the current version of MakeTarget2 you will have two options, when you select the 'Body' or 'BaseMesh' you imported.
When you press the 'Load target' button you must locate an existing .target file. These can be found in a directory: C:\Users\<user>\Documents\makehuman\v1py3\data\custom (this may change depending on how you set up MH!). These are accessed in Makehuman via Modelling/community - make sure to check out that you can find even more community targets!
Try this now, selecting elf-ears.target and load this. Two new entries are made under shape keys: Basis, PrimaryTarget. And your character should now have elf ears! You can change the size of the ears, in 'Object mode'. The general scope of MakeTarget2 is that you can make a new target, or you can load one and change it - when you are satisfied with that you can save you new target file, import and use it in MakeHuman....:
* Go to 'edit mode',
* edit the elf-ears
* Press 'Save target'
* Name your target elf-ears2.target and save it
If you did this in the correct folder, your new target should appear in Makehuman and you can use it there!
When you made one target you can not make one more, so you need to delete the Shape keys, in blender, to load/make a new one. Be sure to make a backup if your work was brilliant!
You may also notice that not all targets will get loaded correctly to Blender using MakeTarget2, I do not know why...
You can now import your character from Makehuman make a new community Target and you can get it to work in Makehuman. Using two of the must have Blender addons.
==Using '''MHX2 import'''==
Now try to EXPORT your MakeHuman character in '''MHX2''' format - from the MakeHuman application. You probably already know that you can load and save characters, and you can not "transfer" them to Blender. But some of the data appears to be lost, left out or missing when you look at the character in Blender.
However when you make use of the 'MHX2 runtime' import you will notice that it imports shape keys - however these shape keys are not visible when you look for them in MakeHuman! There are similar to targets, but they are not the same! MHX2 runtime simply can add some predefined 'Face shape and face shape drivers' to your character, when you thick the box in before you import. (You can also chose to import the Base mesh, the Proxy or both..!)
You should try to play around with the MHX2 import options. I ended up with some very specific settings, as I want to import the character in UE4 - you may find that you need different settings depending on what your need are.
In case you think you now know enough about MakeTarget2 and MHX2 import, you can now take a look at what can be done with MakeShapes.
=Using MakeShapes=
You should be familiar with Makehuman, MakeTargert2, MHX2 import - that is you should be able to perform the following tasks:
* 'Import human' for the base human character from Makehuman to Blender. (do this now)
* You should have installed MakeTarget2 to blender and you can now install MakeShapes - notice that it will install with MakeTarget2
Now there is two manual steps to do before you can use MakeShapes:
* find the faceshapes.mxa file, make a backup and make your faceshapes_BASE.mxa file
* Find the community target files, that are used by Makehuman
===Initial setup for faceshapes.mxa===
You don't need to use MakeTarget2, but you will now need to locate some '''.target''' files, and the faceshapes.mxa that you will use soon!
With your file explorer try to locate this directory, on your computer (Thh version ext may be difrent for your installation):
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons <--- '''where all addons are when installed'''
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm8 <-- '''the files you need, soon'''
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm8\raw <-- '''the files you add to, soon'''
This is how my directory shows up:
[[File:MakeTarget2-data.png]]
You will notice that the faceshapes.mxa file is not looking like yours. I recommend that you make two copies of that file and call them faceshapes_BASE.mxa and faceshapes-original.mxa. (- do not change or delete the original!)
Now make a new folder, anywhere where you want, and '''move''' the new file faceshapes_BASE.mxa, then edit this file and add one line <faceshape> at the bottom of the file, but above the two } } lines, like this:
[[File:MakeShapes-faceshape_base.png]]
Please note that you will not need to do this again, unless there is a new version of the MHX2 addon.
===Initial setup for target files===
Before you do this you should add all the targets you want to use to Makehuman. you find these under modelling/custom! And you can download even more from 'Community'/'Download assets'
[[File:MakeShapes-custom-targets.png]]
The '''.target''' files are located in the Makehuman directory, your setup may be different, but on my computer this looks like this:
C:\Users\<user>\Documents\makehuman\v1py3\data\custom
You take a copy of all the files, and add them to the MHX2 raw folder:
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm8\raw
You can simply add more .target files to the directory, as you need! To be on the safe side make a backup copy of the .target files!
After this you should be good to go!
==Using MakeShapes==
[[File:MakeShapes-buttons.png]]
MakeShapes installed, you should see the above. After you have imported a character from the running Makehuman, you can now locate the shape keys, under "object data", this icon: [[File:MakeShapes-icon.png]]. You can now press the 'Load shapes from targets' button (if you want to you can load a single target, this happens when you uncheck the corresponding checkbox).
The target files you want to load are those you found before:
C:\Users\<user>\Documents\makehuman\v1py3\data\custom
If you do not uncheck the checkbox all .target files will be processed - now the targets should appear in Blender, as shape keys, and they should be active and working!
'''WARNING!!''' You should not use the 'Save Targets' buttons, it will save all of the .target files, but I think they are useless.
Next step is to press 'Save your faceshapes.mxa file' button, select the folder where you placed the faceshapes_BASE.mxa file.
This will produce a new and bigger faceshapes.mxa file. Your final task will be to copy this file to the MHX2 directory:
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm
Now when you import any Makehuman MHX2 file and check on the 'Face shapes' and 'Face shape drivers', all of the targets will be added to the character!
You do not need to do anything else..
===Limitations to shape keys and morph targets===
While working with Blender and Shape keys you will find that while they are just fine for Usage in Blender and rendering, but they are often useless for animations. That is shape keys will only work on the mesh and bones will not follow the shape of the mesh. The same apply to morph targets.
Quite many of the Makehuman targets will work just fine for you in Blender. Most of them may also work fine even with animations, but a few of them can not be used in UE4.
=MakeShapes progress=
===MakeShapes, done.... ===
While MakeTargt2 can help you modify existing target it will not help you much when you what to "transfer" shape keys. My very first attempt on learning Python and making a new Blender addon involved using VSCode and and extension called 'Blender code' - whit that you can run Blender and the load and debug an existing addon... this was what I did with MakeTaget2.
Messing around with the code I found out how to change the names of the shape keys, name to the "file name". After that it was easy to read all .target files from a directory and add them all as shape keys! This took me only half the way though... as I wanted the shape keys to merge with the character, any character, that I made in MakeHuman. I did try several tools for transfer shape keys, but some did not work at all and some would transfer only party or with some issues. So I finally looked into how the original set of shape keys came to Blender. And I found that the 'MHX2 import' added "face shapes".. that were not part of the original export!
Using the MakeTarget2 print/save functions enabled me to "dump" the raw 'Shape key' data to print/files and I am now able to cut/paste the "printed" version. Say, the elf-ears, can now be add to the file that 'MHX2 import' works with, and the shape keys will be added to the imported Blender characters... for both Base/proxy mesh. Right now MakeShapes will export the selected shape key only.
===MakeShapes todo===
* The addon must be packaged and put on Github
* I need to output all of the shape keys, in one "faceshape" file.
* I want to be able to process expressions.
* I I what to be able to process all expression builder targets
e901a333da51c0805afee83387df820692fb86a3
1984
1983
2021-01-16T18:48:03Z
Assetdk
89
/* Initial setup for faceshapes.mxa */
wikitext
text/x-wiki
Please take a look at this page: [[Documentation:MH4UE|MH4UE]] - to get an overview of things you can use to get your Makehuman characters into Unreal Engine!
*
=MakeShapes for Blender=
This is a new tool for importing MakeHuman Targets as Shape Keys in Blender.
Please read the instructions below carefully and be sure to make a backup of any addons you change etc.
==Find the addon on GitHub==
This is the link for the addon master: [https://github.com/AssetDK/makeshapes]
You need to add the addon to Blender and you need to know about two other addons, as described below.
Currently this addon have been tested on Blender 2.80 only, but it should work on any Blender version that works for the two addons.
===Current status===
Thus far, in version 0.1.0 of the tool all of the Targets can be imported to Blender and the targets can be added to MHX2.
=Getting started with MakeTarget2=
It makes good sense to learn how to use MankeTarget2 first. In general this addon was made by Joel Palmius, and it builds upon the fact that you can directly transfer the characters you have loaded in MakeHuman. So start up MakeHuman and set it up to communicate with the Blender addon (This is done in the community/Socket tab, and the setting in the Blender addon must be the same. As they are by default).
The process is very simple, you load your character to MakeHuman, without any targets, but as you would like to see it in Blender/UE4/Unity. And then you go to Blender and run 'Import human'!
In the current version of MakeTarget2 you will have two options, when you select the 'Body' or 'BaseMesh' you imported.
When you press the 'Load target' button you must locate an existing .target file. These can be found in a directory: C:\Users\<user>\Documents\makehuman\v1py3\data\custom (this may change depending on how you set up MH!). These are accessed in Makehuman via Modelling/community - make sure to check out that you can find even more community targets!
Try this now, selecting elf-ears.target and load this. Two new entries are made under shape keys: Basis, PrimaryTarget. And your character should now have elf ears! You can change the size of the ears, in 'Object mode'. The general scope of MakeTarget2 is that you can make a new target, or you can load one and change it - when you are satisfied with that you can save you new target file, import and use it in MakeHuman....:
* Go to 'edit mode',
* edit the elf-ears
* Press 'Save target'
* Name your target elf-ears2.target and save it
If you did this in the correct folder, your new target should appear in Makehuman and you can use it there!
When you made one target you can not make one more, so you need to delete the Shape keys, in blender, to load/make a new one. Be sure to make a backup if your work was brilliant!
You may also notice that not all targets will get loaded correctly to Blender using MakeTarget2, I do not know why...
You can now import your character from Makehuman make a new community Target and you can get it to work in Makehuman. Using two of the must have Blender addons.
==Using '''MHX2 import'''==
Now try to EXPORT your MakeHuman character in '''MHX2''' format. You probably already know that you can load and save characters, and you can not "transfer" them to Blender. But some of the data appears to be lost, left out or missing when you look at the character in Blender.
However when you make use of the 'MHX2 runtime' import you will notice that it imports shape keys - however these shape keys are not "know" when you look for them in MakeHuman! There are some similar targets, but they are not the same! MHX2 runtime simply can add some predefined 'Face shape and face shape drivers' to your character, when you thick the box in before you import. (You can also chose to import the Base mesh, the Proxy or both..!)
You should try to play around with the MHX2 import options. I ended up with some very specific settings, as I want to import the character in UE4 - you may find that you need different settings depending on what your need are.
In case you think you now know enough about MakeTarget2 and MHX2 import, you can now take a look at what can be done with MakeShapes.
=Using MakeShapes=
You should be familiar with Makehuman, MakeTargert2, MHX2 import - that is you should be able to perform the following tasks:
* 'Import human' for the base human character from Makehuman to Blender. (do this now)
* You should have installed MakeTarget2 to blender and you can now install MakeShapes - notice that it will install with MakeTarget2
Now there is two manual steps to do before you can use MakeShapes:
* find the faceshapes.mxa file, make a backup and make your faceshapes_BASE.mxa file
* Find the community target files, that are used by Makehuman
===Initial setup for faceshapes.mxa===
You don't need to use MakeTarget2, but you will now need to locate some '''.target''' files, and the faceshapes.mxa that you will use soon!
With your file explorer try to locate this directory, on your computer (Thh version ext may be difrent for your installation):
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons <--- '''where all addons are when installed'''
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm8 <-- '''the files you need, soon'''
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm8\raw <-- '''the files you add to, soon'''
This is how my directory shows up:
[[File:MakeTarget2-data.png]]
You will notice that the faceshapes.mxa file is not looking like yours. I recommend that you make two copies of that file and call them faceshapes_BASE.mxa and faceshapes-original.mxa. (- do not change or delete the original!)
Now make a new folder, anywhere where you want, and '''move''' the new file faceshapes_BASE.mxa, then edit this file and add one line <faceshape> at the bottom of the file, but above the two } } lines, like this:
[[File:MakeShapes-faceshape_base.png]]
Please note that you will not need to do this again, unless there is a new version of the MHX2 addon.
===Initial setup for target files===
Before you do this you should add all the targets you want to use to Makehuman. you find these under modelling/custom! And you can download even more from 'Community'/'Download assets'
[[File:MakeShapes-custom-targets.png]]
The '''.target''' files are located in the Makehuman directory, your setup may be different, but on my computer this looks like this:
C:\Users\<user>\Documents\makehuman\v1py3\data\custom
You take a copy of all the files, and add them to the MHX2 raw folder:
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm8\raw
You can simply add more .target files to the directory, as you need! To be on the safe side make a backup copy of the .target files!
After this you should be good to go!
==Using MakeShapes==
[[File:MakeShapes-buttons.png]]
MakeShapes installed, you should see the above. After you have imported a character from the running Makehuman, you can now locate the shape keys, under "object data", this icon: [[File:MakeShapes-icon.png]]. You can now press the 'Load shapes from targets' button (if you want to you can load a single target, this happens when you uncheck the corresponding checkbox).
The target files you want to load are those you found before:
C:\Users\<user>\Documents\makehuman\v1py3\data\custom
If you do not uncheck the checkbox all .target files will be processed - now the targets should appear in Blender, as shape keys, and they should be active and working!
'''WARNING!!''' You should not use the 'Save Targets' buttons, it will save all of the .target files, but I think they are useless.
Next step is to press 'Save your faceshapes.mxa file' button, select the folder where you placed the faceshapes_BASE.mxa file.
This will produce a new and bigger faceshapes.mxa file. Your final task will be to copy this file to the MHX2 directory:
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm
Now when you import any Makehuman MHX2 file and check on the 'Face shapes' and 'Face shape drivers', all of the targets will be added to the character!
You do not need to do anything else..
===Limitations to shape keys and morph targets===
While working with Blender and Shape keys you will find that while they are just fine for Usage in Blender and rendering, but they are often useless for animations. That is shape keys will only work on the mesh and bones will not follow the shape of the mesh. The same apply to morph targets.
Quite many of the Makehuman targets will work just fine for you in Blender. Most of them may also work fine even with animations, but a few of them can not be used in UE4.
=MakeShapes progress=
===MakeShapes, done.... ===
While MakeTargt2 can help you modify existing target it will not help you much when you what to "transfer" shape keys. My very first attempt on learning Python and making a new Blender addon involved using VSCode and and extension called 'Blender code' - whit that you can run Blender and the load and debug an existing addon... this was what I did with MakeTaget2.
Messing around with the code I found out how to change the names of the shape keys, name to the "file name". After that it was easy to read all .target files from a directory and add them all as shape keys! This took me only half the way though... as I wanted the shape keys to merge with the character, any character, that I made in MakeHuman. I did try several tools for transfer shape keys, but some did not work at all and some would transfer only party or with some issues. So I finally looked into how the original set of shape keys came to Blender. And I found that the 'MHX2 import' added "face shapes".. that were not part of the original export!
Using the MakeTarget2 print/save functions enabled me to "dump" the raw 'Shape key' data to print/files and I am now able to cut/paste the "printed" version. Say, the elf-ears, can now be add to the file that 'MHX2 import' works with, and the shape keys will be added to the imported Blender characters... for both Base/proxy mesh. Right now MakeShapes will export the selected shape key only.
===MakeShapes todo===
* The addon must be packaged and put on Github
* I need to output all of the shape keys, in one "faceshape" file.
* I want to be able to process expressions.
* I I what to be able to process all expression builder targets
3599bad1bdc63beb5b383e0478131181870a2293
1983
1978
2021-01-16T18:27:53Z
Assetdk
89
/* Introduction */
wikitext
text/x-wiki
Please take a look at this page: [[Documentation:MH4UE|MH4UE]] - to get an overview of things you can use to get your Makehuman characters into Unreal Engine!
*
=MakeShapes for Blender=
This is a new tool for importing MakeHuman Targets as Shape Keys in Blender.
Please read the instructions below carefully and be sure to make a backup of any addons you change etc.
==Find the addon on GitHub==
This is the link for the addon master: [https://github.com/AssetDK/makeshapes]
You need to add the addon to Blender and you need to know about two other addons, as described below.
Currently this addon have been tested on Blender 2.80 only, but it should work on any Blender version that works for the two addons.
===Current status===
Thus far, in version 0.1.0 of the tool all of the Targets can be imported to Blender and the targets can be added to MHX2.
=Getting started with MakeTarget2=
It makes good sense to learn how to use MankeTarget2 first. In general this addon was made by Joel Palmius, and it builds upon the fact that you can directly transfer the characters you have loaded in MakeHuman. So start up MakeHuman and set it up to communicate with the Blender addon (This is done in the community/Socket tab, and the setting in the Blender addon must be the same. As they are by default).
The process is very simple, you load your character to MakeHuman, without any targets, but as you would like to see it in Blender/UE4/Unity. And then you go to Blender and run 'Import human'!
In the current version of MakeTarget2 you will have two options, when you select the 'Body' or 'BaseMesh' you imported.
When you press the 'Load target' button you must locate an existing .target file. These can be found in a directory: C:\Users\<user>\Documents\makehuman\v1py3\data\custom (this may change depending on how you set up MH!). These are accessed in Makehuman via Modelling/community - make sure to check out that you can find even more community targets!
Try this now, selecting elf-ears.target and load this. Two new entries are made under shape keys: Basis, PrimaryTarget. And your character should now have elf ears! You can change the size of the ears, in 'Object mode'. The general scope of MakeTarget2 is that you can make a new target, or you can load one and change it - when you are satisfied with that you can save you new target file, import and use it in MakeHuman....:
* Go to 'edit mode',
* edit the elf-ears
* Press 'Save target'
* Name your target elf-ears2.target and save it
If you did this in the correct folder, your new target should appear in Makehuman and you can use it there!
When you made one target you can not make one more, so you need to delete the Shape keys, in blender, to load/make a new one. Be sure to make a backup if your work was brilliant!
You may also notice that not all targets will get loaded correctly to Blender using MakeTarget2, I do not know why...
You can now import your character from Makehuman make a new community Target and you can get it to work in Makehuman. Using two of the must have Blender addons.
==Using '''MHX2 import'''==
Now try to EXPORT your MakeHuman character in '''MHX2''' format. You probably already know that you can load and save characters, and you can not "transfer" them to Blender. But some of the data appears to be lost, left out or missing when you look at the character in Blender.
However when you make use of the 'MHX2 runtime' import you will notice that it imports shape keys - however these shape keys are not "know" when you look for them in MakeHuman! There are some similar targets, but they are not the same! MHX2 runtime simply can add some predefined 'Face shape and face shape drivers' to your character, when you thick the box in before you import. (You can also chose to import the Base mesh, the Proxy or both..!)
You should try to play around with the MHX2 import options. I ended up with some very specific settings, as I want to import the character in UE4 - you may find that you need different settings depending on what your need are.
In case you think you now know enough about MakeTarget2 and MHX2 import, you can now take a look at what can be done with MakeShapes.
=Using MakeShapes=
You should be familiar with Makehuman, MakeTargert2, MHX2 import - that is you should be able to perform the following tasks:
* 'Import human' for the base human character from Makehuman to Blender. (do this now)
* You should have installed MakeTarget2 to blender and you can now install MakeShapes - notice that it will install with MakeTarget2
Now there is two manual steps to do before you can use MakeShapes:
* find the faceshapes.mxa file, make a backup and make your faceshapes_BASE.mxa file
* Find the community target files, that are used by Makehuman
===Initial setup for faceshapes.mxa===
You don't need to use MakeTarget2, but you will now need to locate some '''.target''' files, and the faceshapes.mxa that you will use soon!
With your file explorer try to locate this directory, on your computer (Thh version ext may be difrent for your installation):
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons <--- '''where all addons are when installed'''
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm8 <-- '''the files you need, soon'''
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm8\raw <-- '''the files you add to, soon'''
This is how my directory shows up:
[[File:MakeTarget2-data.png]]
You will notice that the faceshapes.mxa file is not looking like yours. I recommend that you make two copies of that file and call them faceshapes_BASE.mxa and faceshapes-original.mxa.
Now make a new folder, anywhere where you want, and '''move''' the new file faceshapes_BASE.mxa, then edit this file and add one line <faceshape> at the bottom of the file, but above the two } } lines, like this:
[[File:MakeShapes-faceshape_base.png]]
Please note that you will not need to do this again, unless there is a new version of the MHX2 addon.
===Initial setup for target files===
Before you do this you should add all the targets you want to use to Makehuman. you find these under modelling/custom! And you can download even more from 'Community'/'Download assets'
[[File:MakeShapes-custom-targets.png]]
The '''.target''' files are located in the Makehuman directory, your setup may be different, but on my computer this looks like this:
C:\Users\<user>\Documents\makehuman\v1py3\data\custom
You take a copy of all the files, and add them to the MHX2 raw folder:
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm8\raw
You can simply add more .target files to the directory, as you need! To be on the safe side make a backup copy of the .target files!
After this you should be good to go!
==Using MakeShapes==
[[File:MakeShapes-buttons.png]]
MakeShapes installed, you should see the above. After you have imported a character from the running Makehuman, you can now locate the shape keys, under "object data", this icon: [[File:MakeShapes-icon.png]]. You can now press the 'Load shapes from targets' button (if you want to you can load a single target, this happens when you uncheck the corresponding checkbox).
The target files you want to load are those you found before:
C:\Users\<user>\Documents\makehuman\v1py3\data\custom
If you do not uncheck the checkbox all .target files will be processed - now the targets should appear in Blender, as shape keys, and they should be active and working!
'''WARNING!!''' You should not use the 'Save Targets' buttons, it will save all of the .target files, but I think they are useless.
Next step is to press 'Save your faceshapes.mxa file' button, select the folder where you placed the faceshapes_BASE.mxa file.
This will produce a new and bigger faceshapes.mxa file. Your final task will be to copy this file to the MHX2 directory:
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm
Now when you import any Makehuman MHX2 file and check on the 'Face shapes' and 'Face shape drivers', all of the targets will be added to the character!
You do not need to do anything else..
===Limitations to shape keys and morph targets===
While working with Blender and Shape keys you will find that while they are just fine for Usage in Blender and rendering, but they are often useless for animations. That is shape keys will only work on the mesh and bones will not follow the shape of the mesh. The same apply to morph targets.
Quite many of the Makehuman targets will work just fine for you in Blender. Most of them may also work fine even with animations, but a few of them can not be used in UE4.
=MakeShapes progress=
===MakeShapes, done.... ===
While MakeTargt2 can help you modify existing target it will not help you much when you what to "transfer" shape keys. My very first attempt on learning Python and making a new Blender addon involved using VSCode and and extension called 'Blender code' - whit that you can run Blender and the load and debug an existing addon... this was what I did with MakeTaget2.
Messing around with the code I found out how to change the names of the shape keys, name to the "file name". After that it was easy to read all .target files from a directory and add them all as shape keys! This took me only half the way though... as I wanted the shape keys to merge with the character, any character, that I made in MakeHuman. I did try several tools for transfer shape keys, but some did not work at all and some would transfer only party or with some issues. So I finally looked into how the original set of shape keys came to Blender. And I found that the 'MHX2 import' added "face shapes".. that were not part of the original export!
Using the MakeTarget2 print/save functions enabled me to "dump" the raw 'Shape key' data to print/files and I am now able to cut/paste the "printed" version. Say, the elf-ears, can now be add to the file that 'MHX2 import' works with, and the shape keys will be added to the imported Blender characters... for both Base/proxy mesh. Right now MakeShapes will export the selected shape key only.
===MakeShapes todo===
* The addon must be packaged and put on Github
* I need to output all of the shape keys, in one "faceshape" file.
* I want to be able to process expressions.
* I I what to be able to process all expression builder targets
4fc15f33a98998fa5f5709540cf5f3d115c61497
1978
1785
2021-01-16T11:19:08Z
Assetdk
89
wikitext
text/x-wiki
Please take a look at this page: [[Documentation:MH4UE|MH4UE]] - to get an overview of things you can use to get your Makehuman characters into Unreal Engine!
*
=MakeShapes for Blender=
This is a new tool for importing MakeHuman Targets as Shape Keys in Blender.
Please read the instructions below carefully and be sure to make a backup of any addons you change etc.
==Introduction==
When working with MakeHuman in Blender you will have some high quality characters to play with and you will see that the community addons can help you a lot. There are a few primary '''[http://www.makehumancommunity.org/content/plugins.html must have Blender addons]''' please use '''Blender 2.8''' - these are the tree you will need to have and know about to use '''MakeShapes''':
* Makehuman the community addon, that will allow you to fetch your character from MakeHuman to Blender directly!
* MHX2 Runtime, that will allow you to the import MHX2 files you made in MakeHuman
* [[Documentation:MHBlenderTools:_MakeTarget]] that will help you to make new Targets to be used from within MakeHuman.
When you want to use your characters in Blender, or when you want to export them to a game engine - UE4 or Unity - you even get some shape keys, also called morph targets. These are however not always "included" in the files exported from MakeHuman - specifically the shape keys are added by the MHX2 runtime addon. ( Also the community Blender addon contains some kind of shape key/pose functionality, but I have not been able to find any explanations for what they are doing! )
Rather than making your characters in MakeHuman with one fixed expression/shape/pose, you would probably want to have the same options available in Blender. So I investigated the above addons and made MakeShapes as a small extension to MakeTartarget2. The general idea is have been to to transfer the Targets, expressions and the expression builder "sliders"... as-is, so they can be used as shape keys.
You can also take a look at this page for more on how to work with Blender: [[Moving Assets into Blender]].
And I also made these pages:
* [[Documentation:Saving_models_for_Unreal_Engine_and_how_to_import_them_there]].
* [[Documentation:Unreal Engine ALS V4]]
* [[Documentation:Unreal Engine Vehicle Variety Pack]]
==Find the addon on GitHub==
This is the link for the addon master: [https://github.com/AssetDK/makeshapes]
You need to add the addon to Blender and you need to know about two other addons, as described below.
Currently this addon have been tested on Blender 2.80 only, but it should work on any Blender version that works for the two addons.
===Current status===
Thus far, in version 0.1.0 of the tool all of the Targets can be imported to Blender and the targets can be added to MHX2.
=Getting started with MakeTarget2=
It makes good sense to learn how to use MankeTarget2 first. In general this addon was made by Joel Palmius, and it builds upon the fact that you can directly transfer the characters you have loaded in MakeHuman. So start up MakeHuman and set it up to communicate with the Blender addon (This is done in the community/Socket tab, and the setting in the Blender addon must be the same. As they are by default).
The process is very simple, you load your character to MakeHuman, without any targets, but as you would like to see it in Blender/UE4/Unity. And then you go to Blender and run 'Import human'!
In the current version of MakeTarget2 you will have two options, when you select the 'Body' or 'BaseMesh' you imported.
When you press the 'Load target' button you must locate an existing .target file. These can be found in a directory: C:\Users\<user>\Documents\makehuman\v1py3\data\custom (this may change depending on how you set up MH!). These are accessed in Makehuman via Modelling/community - make sure to check out that you can find even more community targets!
Try this now, selecting elf-ears.target and load this. Two new entries are made under shape keys: Basis, PrimaryTarget. And your character should now have elf ears! You can change the size of the ears, in 'Object mode'. The general scope of MakeTarget2 is that you can make a new target, or you can load one and change it - when you are satisfied with that you can save you new target file, import and use it in MakeHuman....:
* Go to 'edit mode',
* edit the elf-ears
* Press 'Save target'
* Name your target elf-ears2.target and save it
If you did this in the correct folder, your new target should appear in Makehuman and you can use it there!
When you made one target you can not make one more, so you need to delete the Shape keys, in blender, to load/make a new one. Be sure to make a backup if your work was brilliant!
You may also notice that not all targets will get loaded correctly to Blender using MakeTarget2, I do not know why...
You can now import your character from Makehuman make a new community Target and you can get it to work in Makehuman. Using two of the must have Blender addons.
==Using '''MHX2 import'''==
Now try to EXPORT your MakeHuman character in '''MHX2''' format. You probably already know that you can load and save characters, and you can not "transfer" them to Blender. But some of the data appears to be lost, left out or missing when you look at the character in Blender.
However when you make use of the 'MHX2 runtime' import you will notice that it imports shape keys - however these shape keys are not "know" when you look for them in MakeHuman! There are some similar targets, but they are not the same! MHX2 runtime simply can add some predefined 'Face shape and face shape drivers' to your character, when you thick the box in before you import. (You can also chose to import the Base mesh, the Proxy or both..!)
You should try to play around with the MHX2 import options. I ended up with some very specific settings, as I want to import the character in UE4 - you may find that you need different settings depending on what your need are.
In case you think you now know enough about MakeTarget2 and MHX2 import, you can now take a look at what can be done with MakeShapes.
=Using MakeShapes=
You should be familiar with Makehuman, MakeTargert2, MHX2 import - that is you should be able to perform the following tasks:
* 'Import human' for the base human character from Makehuman to Blender. (do this now)
* You should have installed MakeTarget2 to blender and you can now install MakeShapes - notice that it will install with MakeTarget2
Now there is two manual steps to do before you can use MakeShapes:
* find the faceshapes.mxa file, make a backup and make your faceshapes_BASE.mxa file
* Find the community target files, that are used by Makehuman
===Initial setup for faceshapes.mxa===
You don't need to use MakeTarget2, but you will now need to locate some '''.target''' files, and the faceshapes.mxa that you will use soon!
With your file explorer try to locate this directory, on your computer (Thh version ext may be difrent for your installation):
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons <--- '''where all addons are when installed'''
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm8 <-- '''the files you need, soon'''
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm8\raw <-- '''the files you add to, soon'''
This is how my directory shows up:
[[File:MakeTarget2-data.png]]
You will notice that the faceshapes.mxa file is not looking like yours. I recommend that you make two copies of that file and call them faceshapes_BASE.mxa and faceshapes-original.mxa.
Now make a new folder, anywhere where you want, and '''move''' the new file faceshapes_BASE.mxa, then edit this file and add one line <faceshape> at the bottom of the file, but above the two } } lines, like this:
[[File:MakeShapes-faceshape_base.png]]
Please note that you will not need to do this again, unless there is a new version of the MHX2 addon.
===Initial setup for target files===
Before you do this you should add all the targets you want to use to Makehuman. you find these under modelling/custom! And you can download even more from 'Community'/'Download assets'
[[File:MakeShapes-custom-targets.png]]
The '''.target''' files are located in the Makehuman directory, your setup may be different, but on my computer this looks like this:
C:\Users\<user>\Documents\makehuman\v1py3\data\custom
You take a copy of all the files, and add them to the MHX2 raw folder:
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm8\raw
You can simply add more .target files to the directory, as you need! To be on the safe side make a backup copy of the .target files!
After this you should be good to go!
==Using MakeShapes==
[[File:MakeShapes-buttons.png]]
MakeShapes installed, you should see the above. After you have imported a character from the running Makehuman, you can now locate the shape keys, under "object data", this icon: [[File:MakeShapes-icon.png]]. You can now press the 'Load shapes from targets' button (if you want to you can load a single target, this happens when you uncheck the corresponding checkbox).
The target files you want to load are those you found before:
C:\Users\<user>\Documents\makehuman\v1py3\data\custom
If you do not uncheck the checkbox all .target files will be processed - now the targets should appear in Blender, as shape keys, and they should be active and working!
'''WARNING!!''' You should not use the 'Save Targets' buttons, it will save all of the .target files, but I think they are useless.
Next step is to press 'Save your faceshapes.mxa file' button, select the folder where you placed the faceshapes_BASE.mxa file.
This will produce a new and bigger faceshapes.mxa file. Your final task will be to copy this file to the MHX2 directory:
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm
Now when you import any Makehuman MHX2 file and check on the 'Face shapes' and 'Face shape drivers', all of the targets will be added to the character!
You do not need to do anything else..
===Limitations to shape keys and morph targets===
While working with Blender and Shape keys you will find that while they are just fine for Usage in Blender and rendering, but they are often useless for animations. That is shape keys will only work on the mesh and bones will not follow the shape of the mesh. The same apply to morph targets.
Quite many of the Makehuman targets will work just fine for you in Blender. Most of them may also work fine even with animations, but a few of them can not be used in UE4.
=MakeShapes progress=
===MakeShapes, done.... ===
While MakeTargt2 can help you modify existing target it will not help you much when you what to "transfer" shape keys. My very first attempt on learning Python and making a new Blender addon involved using VSCode and and extension called 'Blender code' - whit that you can run Blender and the load and debug an existing addon... this was what I did with MakeTaget2.
Messing around with the code I found out how to change the names of the shape keys, name to the "file name". After that it was easy to read all .target files from a directory and add them all as shape keys! This took me only half the way though... as I wanted the shape keys to merge with the character, any character, that I made in MakeHuman. I did try several tools for transfer shape keys, but some did not work at all and some would transfer only party or with some issues. So I finally looked into how the original set of shape keys came to Blender. And I found that the 'MHX2 import' added "face shapes".. that were not part of the original export!
Using the MakeTarget2 print/save functions enabled me to "dump" the raw 'Shape key' data to print/files and I am now able to cut/paste the "printed" version. Say, the elf-ears, can now be add to the file that 'MHX2 import' works with, and the shape keys will be added to the imported Blender characters... for both Base/proxy mesh. Right now MakeShapes will export the selected shape key only.
===MakeShapes todo===
* The addon must be packaged and put on Github
* I need to output all of the shape keys, in one "faceshape" file.
* I want to be able to process expressions.
* I I what to be able to process all expression builder targets
c9c2ab83d6fbc2be3f43463bd6f639c53a8280c9
1785
1783
2020-04-18T15:06:50Z
Assetdk
89
/* Using MakeShapes */
wikitext
text/x-wiki
=MakeShapes for Blender=
This is a new tool for importing MakeHuman Targets as Shape Keys in Blender.
Please read the instructions below carefully and be sure to make a backup of any addons you change etc.
==Introduction==
When working with MakeHuman in Blender you will have some high quality characters to play with and you will see that the community addons can help you a lot. There are a few primary '''[http://www.makehumancommunity.org/content/plugins.html must have Blender addons]''' please use '''Blender 2.8''' - these are the tree you will need to have and know about to use '''MakeShapes''':
* Makehuman the community addon, that will allow you to fetch your character from MakeHuman to Blender directly!
* MHX2 Runtime, that will allow you to the import MHX2 files you made in MakeHuman
* [[Documentation:MHBlenderTools:_MakeTarget]] that will help you to make new Targets to be used from within MakeHuman.
When you want to use your characters in Blender, or when you want to export them to a game engine - UE4 or Unity - you even get some shape keys, also called morph targets. These are however not always "included" in the files exported from MakeHuman - specifically the shape keys are added by the MHX2 runtime addon. ( Also the community Blender addon contains some kind of shape key/pose functionality, but I have not been able to find any explanations for what they are doing! )
Rather than making your characters in MakeHuman with one fixed expression/shape/pose, you would probably want to have the same options available in Blender. So I investigated the above addons and made MakeShapes as a small extension to MakeTartarget2. The general idea is have been to to transfer the Targets, expressions and the expression builder "sliders"... as-is, so they can be used as shape keys.
You can also take a look at this page for more on how to work with Blender: [[Moving Assets into Blender]].
And I also made these pages:
* [[Documentation:Saving_models_for_Unreal_Engine_and_how_to_import_them_there]].
* [[Documentation:Unreal Engine ALS V4]]
* [[Documentation:Unreal Engine Vehicle Variety Pack]]
==Find the addon on GitHub==
This is the link for the addon master: [https://github.com/AssetDK/makeshapes]
You need to add the addon to Blender and you need to know about two other addons, as described below.
Currently this addon have been tested on Blender 2.80 only, but it should work on any Blender version that works for the two addons.
===Current status===
Thus far, in version 0.1.0 of the tool all of the Targets can be imported to Blender and the targets can be added to MHX2.
=Getting started with MakeTarget2=
It makes good sense to learn how to use MankeTarget2 first. In general this addon was made by Joel Palmius, and it builds upon the fact that you can directly transfer the characters you have loaded in MakeHuman. So start up MakeHuman and set it up to communicate with the Blender addon (This is done in the community/Socket tab, and the setting in the Blender addon must be the same. As they are by default).
The process is very simple, you load your character to MakeHuman, without any targets, but as you would like to see it in Blender/UE4/Unity. And then you go to Blender and run 'Import human'!
In the current version of MakeTarget2 you will have two options, when you select the 'Body' or 'BaseMesh' you imported.
When you press the 'Load target' button you must locate an existing .target file. These can be found in a directory: C:\Users\<user>\Documents\makehuman\v1py3\data\custom (this may change depending on how you set up MH!). These are accessed in Makehuman via Modelling/community - make sure to check out that you can find even more community targets!
Try this now, selecting elf-ears.target and load this. Two new entries are made under shape keys: Basis, PrimaryTarget. And your character should now have elf ears! You can change the size of the ears, in 'Object mode'. The general scope of MakeTarget2 is that you can make a new target, or you can load one and change it - when you are satisfied with that you can save you new target file, import and use it in MakeHuman....:
* Go to 'edit mode',
* edit the elf-ears
* Press 'Save target'
* Name your target elf-ears2.target and save it
If you did this in the correct folder, your new target should appear in Makehuman and you can use it there!
When you made one target you can not make one more, so you need to delete the Shape keys, in blender, to load/make a new one. Be sure to make a backup if your work was brilliant!
You may also notice that not all targets will get loaded correctly to Blender using MakeTarget2, I do not know why...
You can now import your character from Makehuman make a new community Target and you can get it to work in Makehuman. Using two of the must have Blender addons.
==Using '''MHX2 import'''==
Now try to EXPORT your MakeHuman character in '''MHX2''' format. You probably already know that you can load and save characters, and you can not "transfer" them to Blender. But some of the data appears to be lost, left out or missing when you look at the character in Blender.
However when you make use of the 'MHX2 runtime' import you will notice that it imports shape keys - however these shape keys are not "know" when you look for them in MakeHuman! There are some similar targets, but they are not the same! MHX2 runtime simply can add some predefined 'Face shape and face shape drivers' to your character, when you thick the box in before you import. (You can also chose to import the Base mesh, the Proxy or both..!)
You should try to play around with the MHX2 import options. I ended up with some very specific settings, as I want to import the character in UE4 - you may find that you need different settings depending on what your need are.
In case you think you now know enough about MakeTarget2 and MHX2 import, you can now take a look at what can be done with MakeShapes.
=Using MakeShapes=
You should be familiar with Makehuman, MakeTargert2, MHX2 import - that is you should be able to perform the following tasks:
* 'Import human' for the base human character from Makehuman to Blender. (do this now)
* You should have installed MakeTarget2 to blender and you can now install MakeShapes - notice that it will install with MakeTarget2
Now there is two manual steps to do before you can use MakeShapes:
* find the faceshapes.mxa file, make a backup and make your faceshapes_BASE.mxa file
* Find the community target files, that are used by Makehuman
===Initial setup for faceshapes.mxa===
You don't need to use MakeTarget2, but you will now need to locate some '''.target''' files, and the faceshapes.mxa that you will use soon!
With your file explorer try to locate this directory, on your computer (Thh version ext may be difrent for your installation):
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons <--- '''where all addons are when installed'''
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm8 <-- '''the files you need, soon'''
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm8\raw <-- '''the files you add to, soon'''
This is how my directory shows up:
[[File:MakeTarget2-data.png]]
You will notice that the faceshapes.mxa file is not looking like yours. I recommend that you make two copies of that file and call them faceshapes_BASE.mxa and faceshapes-original.mxa.
Now make a new folder, anywhere where you want, and '''move''' the new file faceshapes_BASE.mxa, then edit this file and add one line <faceshape> at the bottom of the file, but above the two } } lines, like this:
[[File:MakeShapes-faceshape_base.png]]
Please note that you will not need to do this again, unless there is a new version of the MHX2 addon.
===Initial setup for target files===
Before you do this you should add all the targets you want to use to Makehuman. you find these under modelling/custom! And you can download even more from 'Community'/'Download assets'
[[File:MakeShapes-custom-targets.png]]
The '''.target''' files are located in the Makehuman directory, your setup may be different, but on my computer this looks like this:
C:\Users\<user>\Documents\makehuman\v1py3\data\custom
You take a copy of all the files, and add them to the MHX2 raw folder:
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm8\raw
You can simply add more .target files to the directory, as you need! To be on the safe side make a backup copy of the .target files!
After this you should be good to go!
==Using MakeShapes==
[[File:MakeShapes-buttons.png]]
MakeShapes installed, you should see the above. After you have imported a character from the running Makehuman, you can now locate the shape keys, under "object data", this icon: [[File:MakeShapes-icon.png]]. You can now press the 'Load shapes from targets' button (if you want to you can load a single target, this happens when you uncheck the corresponding checkbox).
The target files you want to load are those you found before:
C:\Users\<user>\Documents\makehuman\v1py3\data\custom
If you do not uncheck the checkbox all .target files will be processed - now the targets should appear in Blender, as shape keys, and they should be active and working!
'''WARNING!!''' You should not use the 'Save Targets' buttons, it will save all of the .target files, but I think they are useless.
Next step is to press 'Save your faceshapes.mxa file' button, select the folder where you placed the faceshapes_BASE.mxa file.
This will produce a new and bigger faceshapes.mxa file. Your final task will be to copy this file to the MHX2 directory:
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm
Now when you import any Makehuman MHX2 file and check on the 'Face shapes' and 'Face shape drivers', all of the targets will be added to the character!
You do not need to do anything else..
===Limitations to shape keys and morph targets===
While working with Blender and Shape keys you will find that while they are just fine for Usage in Blender and rendering, but they are often useless for animations. That is shape keys will only work on the mesh and bones will not follow the shape of the mesh. The same apply to morph targets.
Quite many of the Makehuman targets will work just fine for you in Blender. Most of them may also work fine even with animations, but a few of them can not be used in UE4.
=MakeShapes progress=
===MakeShapes, done.... ===
While MakeTargt2 can help you modify existing target it will not help you much when you what to "transfer" shape keys. My very first attempt on learning Python and making a new Blender addon involved using VSCode and and extension called 'Blender code' - whit that you can run Blender and the load and debug an existing addon... this was what I did with MakeTaget2.
Messing around with the code I found out how to change the names of the shape keys, name to the "file name". After that it was easy to read all .target files from a directory and add them all as shape keys! This took me only half the way though... as I wanted the shape keys to merge with the character, any character, that I made in MakeHuman. I did try several tools for transfer shape keys, but some did not work at all and some would transfer only party or with some issues. So I finally looked into how the original set of shape keys came to Blender. And I found that the 'MHX2 import' added "face shapes".. that were not part of the original export!
Using the MakeTarget2 print/save functions enabled me to "dump" the raw 'Shape key' data to print/files and I am now able to cut/paste the "printed" version. Say, the elf-ears, can now be add to the file that 'MHX2 import' works with, and the shape keys will be added to the imported Blender characters... for both Base/proxy mesh. Right now MakeShapes will export the selected shape key only.
===MakeShapes todo===
* The addon must be packaged and put on Github
* I need to output all of the shape keys, in one "faceshape" file.
* I want to be able to process expressions.
* I I what to be able to process all expression builder targets
f701f6e49220f39a597f024f9d0aad353a9d5ba0
1783
1782
2020-04-18T14:36:05Z
Assetdk
89
/* Using MakeShapes */
wikitext
text/x-wiki
=MakeShapes for Blender=
This is a new tool for importing MakeHuman Targets as Shape Keys in Blender.
Please read the instructions below carefully and be sure to make a backup of any addons you change etc.
==Introduction==
When working with MakeHuman in Blender you will have some high quality characters to play with and you will see that the community addons can help you a lot. There are a few primary '''[http://www.makehumancommunity.org/content/plugins.html must have Blender addons]''' please use '''Blender 2.8''' - these are the tree you will need to have and know about to use '''MakeShapes''':
* Makehuman the community addon, that will allow you to fetch your character from MakeHuman to Blender directly!
* MHX2 Runtime, that will allow you to the import MHX2 files you made in MakeHuman
* [[Documentation:MHBlenderTools:_MakeTarget]] that will help you to make new Targets to be used from within MakeHuman.
When you want to use your characters in Blender, or when you want to export them to a game engine - UE4 or Unity - you even get some shape keys, also called morph targets. These are however not always "included" in the files exported from MakeHuman - specifically the shape keys are added by the MHX2 runtime addon. ( Also the community Blender addon contains some kind of shape key/pose functionality, but I have not been able to find any explanations for what they are doing! )
Rather than making your characters in MakeHuman with one fixed expression/shape/pose, you would probably want to have the same options available in Blender. So I investigated the above addons and made MakeShapes as a small extension to MakeTartarget2. The general idea is have been to to transfer the Targets, expressions and the expression builder "sliders"... as-is, so they can be used as shape keys.
You can also take a look at this page for more on how to work with Blender: [[Moving Assets into Blender]].
And I also made these pages:
* [[Documentation:Saving_models_for_Unreal_Engine_and_how_to_import_them_there]].
* [[Documentation:Unreal Engine ALS V4]]
* [[Documentation:Unreal Engine Vehicle Variety Pack]]
==Find the addon on GitHub==
This is the link for the addon master: [https://github.com/AssetDK/makeshapes]
You need to add the addon to Blender and you need to know about two other addons, as described below.
Currently this addon have been tested on Blender 2.80 only, but it should work on any Blender version that works for the two addons.
===Current status===
Thus far, in version 0.1.0 of the tool all of the Targets can be imported to Blender and the targets can be added to MHX2.
=Getting started with MakeTarget2=
It makes good sense to learn how to use MankeTarget2 first. In general this addon was made by Joel Palmius, and it builds upon the fact that you can directly transfer the characters you have loaded in MakeHuman. So start up MakeHuman and set it up to communicate with the Blender addon (This is done in the community/Socket tab, and the setting in the Blender addon must be the same. As they are by default).
The process is very simple, you load your character to MakeHuman, without any targets, but as you would like to see it in Blender/UE4/Unity. And then you go to Blender and run 'Import human'!
In the current version of MakeTarget2 you will have two options, when you select the 'Body' or 'BaseMesh' you imported.
When you press the 'Load target' button you must locate an existing .target file. These can be found in a directory: C:\Users\<user>\Documents\makehuman\v1py3\data\custom (this may change depending on how you set up MH!). These are accessed in Makehuman via Modelling/community - make sure to check out that you can find even more community targets!
Try this now, selecting elf-ears.target and load this. Two new entries are made under shape keys: Basis, PrimaryTarget. And your character should now have elf ears! You can change the size of the ears, in 'Object mode'. The general scope of MakeTarget2 is that you can make a new target, or you can load one and change it - when you are satisfied with that you can save you new target file, import and use it in MakeHuman....:
* Go to 'edit mode',
* edit the elf-ears
* Press 'Save target'
* Name your target elf-ears2.target and save it
If you did this in the correct folder, your new target should appear in Makehuman and you can use it there!
When you made one target you can not make one more, so you need to delete the Shape keys, in blender, to load/make a new one. Be sure to make a backup if your work was brilliant!
You may also notice that not all targets will get loaded correctly to Blender using MakeTarget2, I do not know why...
You can now import your character from Makehuman make a new community Target and you can get it to work in Makehuman. Using two of the must have Blender addons.
==Using '''MHX2 import'''==
Now try to EXPORT your MakeHuman character in '''MHX2''' format. You probably already know that you can load and save characters, and you can not "transfer" them to Blender. But some of the data appears to be lost, left out or missing when you look at the character in Blender.
However when you make use of the 'MHX2 runtime' import you will notice that it imports shape keys - however these shape keys are not "know" when you look for them in MakeHuman! There are some similar targets, but they are not the same! MHX2 runtime simply can add some predefined 'Face shape and face shape drivers' to your character, when you thick the box in before you import. (You can also chose to import the Base mesh, the Proxy or both..!)
You should try to play around with the MHX2 import options. I ended up with some very specific settings, as I want to import the character in UE4 - you may find that you need different settings depending on what your need are.
In case you think you now know enough about MakeTarget2 and MHX2 import, you can now take a look at what can be done with MakeShapes.
=Using MakeShapes=
You should be familiar with Makehuman, MakeTargert2, MHX2 import - that is you should be able to perform the following tasks:
* 'Import human' for the base human character from Makehuman to Blender. (do this now)
* You should have installed MakeTarget2 to blender and you can now install MakeShapes - notice that it will install with MakeTarget2
Now there is two manual steps to do before you can use MakeShapes:
* find the faceshapes.mxa file, make a backup and make your faceshapes_BASE.mxa file
* Find the community target files, that are used by Makehuman
===Initial setup for faceshapes.mxa===
You don't need to use MakeTarget2, but you will now need to locate some '''.target''' files, and the faceshapes.mxa that you will use soon!
With your file explorer try to locate this directory, on your computer (Thh version ext may be difrent for your installation):
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons <--- '''where all addons are when installed'''
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm8 <-- '''the files you need, soon'''
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm8\raw <-- '''the files you add to, soon'''
This is how my directory shows up:
[[File:MakeTarget2-data.png]]
You will notice that the faceshapes.mxa file is not looking like yours. I recommend that you make two copies of that file and call them faceshapes_BASE.mxa and faceshapes-original.mxa.
Now make a new folder, anywhere where you want, and '''move''' the new file faceshapes_BASE.mxa, then edit this file and add one line <faceshape> at the bottom of the file, but above the two } } lines, like this:
[[File:MakeShapes-faceshape_base.png]]
Please note that you will not need to do this again, unless there is a new version of the MHX2 addon.
===Initial setup for target files===
Before you do this you should add all the targets you want to use to Makehuman. you find these under modelling/custom! And you can download even more from 'Community'/'Download assets'
[[File:MakeShapes-custom-targets.png]]
The '''.target''' files are located in the Makehuman directory, your setup may be different, but on my computer this looks like this:
C:\Users\<user>\Documents\makehuman\v1py3\data\custom
You take a copy of all the files, and add them to the MHX2 raw folder:
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm8\raw
You can simply add more .target files to the directory, as you need! To be on the safe side make a backup copy of the .target files!
After this you should be good to go!
==Using MakeShapes==
[[File:MakeShapes-buttons.png]]
MakeShapes installed, you should see the above. After you have imported a character from the running Makehuman, you can now locate the shape keys, under "object data", this icon: [[File:MakeShapes-icon.png]]. You can now press the 'Load shapes from targets' button (if you want to you can load a single target, this happens when you uncheck the corresponding checkbox).
The target files you want to load are those you found before:
C:\Users\<user>\Documents\makehuman\v1py3\data\custom
If you do not uncheck the checkbox all .target files will be processed - now the targets should appear in Blender, as shape keys, and they should be active and working!
'''WARNING!!''' You should not use the 'Save Targets' buttons, it will save all of the .target files, but I think they are useless.
Next step is to press 'Save your faceshapes.mxa file' button, select the folder where you placed the faceshapes_BASE.mxa file.
This will produce a new and bigger faceshapes.mxa file. Your final task will be to copy this file to the MHX2 directory:
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm
Now when you import any Makehuman MHX2 file and check on the 'Face shapes' and 'Face shape drivers', all of the targets will be added to the character!
You do not need to do anything else..
=MakeShapes progress=
===MakeShapes, done.... ===
While MakeTargt2 can help you modify existing target it will not help you much when you what to "transfer" shape keys. My very first attempt on learning Python and making a new Blender addon involved using VSCode and and extension called 'Blender code' - whit that you can run Blender and the load and debug an existing addon... this was what I did with MakeTaget2.
Messing around with the code I found out how to change the names of the shape keys, name to the "file name". After that it was easy to read all .target files from a directory and add them all as shape keys! This took me only half the way though... as I wanted the shape keys to merge with the character, any character, that I made in MakeHuman. I did try several tools for transfer shape keys, but some did not work at all and some would transfer only party or with some issues. So I finally looked into how the original set of shape keys came to Blender. And I found that the 'MHX2 import' added "face shapes".. that were not part of the original export!
Using the MakeTarget2 print/save functions enabled me to "dump" the raw 'Shape key' data to print/files and I am now able to cut/paste the "printed" version. Say, the elf-ears, can now be add to the file that 'MHX2 import' works with, and the shape keys will be added to the imported Blender characters... for both Base/proxy mesh. Right now MakeShapes will export the selected shape key only.
===MakeShapes todo===
* The addon must be packaged and put on Github
* I need to output all of the shape keys, in one "faceshape" file.
* I want to be able to process expressions.
* I I what to be able to process all expression builder targets
391cf8a2d76704650164169caa468a9d322d0c00
1782
1781
2020-04-18T14:33:00Z
Assetdk
89
/* Using MakeShapes */
wikitext
text/x-wiki
=MakeShapes for Blender=
This is a new tool for importing MakeHuman Targets as Shape Keys in Blender.
Please read the instructions below carefully and be sure to make a backup of any addons you change etc.
==Introduction==
When working with MakeHuman in Blender you will have some high quality characters to play with and you will see that the community addons can help you a lot. There are a few primary '''[http://www.makehumancommunity.org/content/plugins.html must have Blender addons]''' please use '''Blender 2.8''' - these are the tree you will need to have and know about to use '''MakeShapes''':
* Makehuman the community addon, that will allow you to fetch your character from MakeHuman to Blender directly!
* MHX2 Runtime, that will allow you to the import MHX2 files you made in MakeHuman
* [[Documentation:MHBlenderTools:_MakeTarget]] that will help you to make new Targets to be used from within MakeHuman.
When you want to use your characters in Blender, or when you want to export them to a game engine - UE4 or Unity - you even get some shape keys, also called morph targets. These are however not always "included" in the files exported from MakeHuman - specifically the shape keys are added by the MHX2 runtime addon. ( Also the community Blender addon contains some kind of shape key/pose functionality, but I have not been able to find any explanations for what they are doing! )
Rather than making your characters in MakeHuman with one fixed expression/shape/pose, you would probably want to have the same options available in Blender. So I investigated the above addons and made MakeShapes as a small extension to MakeTartarget2. The general idea is have been to to transfer the Targets, expressions and the expression builder "sliders"... as-is, so they can be used as shape keys.
You can also take a look at this page for more on how to work with Blender: [[Moving Assets into Blender]].
And I also made these pages:
* [[Documentation:Saving_models_for_Unreal_Engine_and_how_to_import_them_there]].
* [[Documentation:Unreal Engine ALS V4]]
* [[Documentation:Unreal Engine Vehicle Variety Pack]]
==Find the addon on GitHub==
This is the link for the addon master: [https://github.com/AssetDK/makeshapes]
You need to add the addon to Blender and you need to know about two other addons, as described below.
Currently this addon have been tested on Blender 2.80 only, but it should work on any Blender version that works for the two addons.
===Current status===
Thus far, in version 0.1.0 of the tool all of the Targets can be imported to Blender and the targets can be added to MHX2.
=Getting started with MakeTarget2=
It makes good sense to learn how to use MankeTarget2 first. In general this addon was made by Joel Palmius, and it builds upon the fact that you can directly transfer the characters you have loaded in MakeHuman. So start up MakeHuman and set it up to communicate with the Blender addon (This is done in the community/Socket tab, and the setting in the Blender addon must be the same. As they are by default).
The process is very simple, you load your character to MakeHuman, without any targets, but as you would like to see it in Blender/UE4/Unity. And then you go to Blender and run 'Import human'!
In the current version of MakeTarget2 you will have two options, when you select the 'Body' or 'BaseMesh' you imported.
When you press the 'Load target' button you must locate an existing .target file. These can be found in a directory: C:\Users\<user>\Documents\makehuman\v1py3\data\custom (this may change depending on how you set up MH!). These are accessed in Makehuman via Modelling/community - make sure to check out that you can find even more community targets!
Try this now, selecting elf-ears.target and load this. Two new entries are made under shape keys: Basis, PrimaryTarget. And your character should now have elf ears! You can change the size of the ears, in 'Object mode'. The general scope of MakeTarget2 is that you can make a new target, or you can load one and change it - when you are satisfied with that you can save you new target file, import and use it in MakeHuman....:
* Go to 'edit mode',
* edit the elf-ears
* Press 'Save target'
* Name your target elf-ears2.target and save it
If you did this in the correct folder, your new target should appear in Makehuman and you can use it there!
When you made one target you can not make one more, so you need to delete the Shape keys, in blender, to load/make a new one. Be sure to make a backup if your work was brilliant!
You may also notice that not all targets will get loaded correctly to Blender using MakeTarget2, I do not know why...
You can now import your character from Makehuman make a new community Target and you can get it to work in Makehuman. Using two of the must have Blender addons.
==Using '''MHX2 import'''==
Now try to EXPORT your MakeHuman character in '''MHX2''' format. You probably already know that you can load and save characters, and you can not "transfer" them to Blender. But some of the data appears to be lost, left out or missing when you look at the character in Blender.
However when you make use of the 'MHX2 runtime' import you will notice that it imports shape keys - however these shape keys are not "know" when you look for them in MakeHuman! There are some similar targets, but they are not the same! MHX2 runtime simply can add some predefined 'Face shape and face shape drivers' to your character, when you thick the box in before you import. (You can also chose to import the Base mesh, the Proxy or both..!)
You should try to play around with the MHX2 import options. I ended up with some very specific settings, as I want to import the character in UE4 - you may find that you need different settings depending on what your need are.
In case you think you now know enough about MakeTarget2 and MHX2 import, you can now take a look at what can be done with MakeShapes.
=Using MakeShapes=
You should be familiar with Makehuman, MakeTargert2, MHX2 import - that is you should be able to perform the following tasks:
* 'Import human' for the base human character from Makehuman to Blender. (do this now)
* You should have installed MakeTarget2 to blender and you can now install MakeShapes - notice that it will install with MakeTarget2
Now there is two manual steps to do before you can use MakeShapes:
* find the faceshapes.mxa file, make a backup and make your faceshapes_BASE.mxa file
* Find the community target files, that are used by Makehuman
===Initial setup for faceshapes.mxa===
You don't need to use MakeTarget2, but you will now need to locate some '''.target''' files, and the faceshapes.mxa that you will use soon!
With your file explorer try to locate this directory, on your computer (Thh version ext may be difrent for your installation):
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons <--- '''where all addons are when installed'''
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm8 <-- '''the files you need, soon'''
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm8\raw <-- '''the files you add to, soon'''
This is how my directory shows up:
[[File:MakeTarget2-data.png]]
You will notice that the faceshapes.mxa file is not looking like yours. I recommend that you make two copies of that file and call them faceshapes_BASE.mxa and faceshapes-original.mxa.
Now make a new folder, anywhere where you want, and '''move''' the new file faceshapes_BASE.mxa, then edit this file and add one line <faceshape> at the bottom of the file, but above the two } } lines, like this:
[[File:MakeShapes-faceshape_base.png]]
Please note that you will not need to do this again, unless there is a new version of the MHX2 addon.
===Initial setup for target files===
Before you do this you should add all the targets you want to use to Makehuman. you find these under modelling/custom! And you can download even more from 'Community'/'Download assets'
[[File:MakeShapes-custom-targets.png]]
The '''.target''' files are located in the Makehuman directory, your setup may be different, but on my computer this looks like this:
C:\Users\<user>\Documents\makehuman\v1py3\data\custom
You take a copy of all the files, and add them to the MHX2 raw folder:
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm8\raw
You can simply add more .target files to the directory, as you need! To be on the safe side make a backup copy of the .target files!
After this you should be good to go!
==Using MakeShapes==
[[File:MakeShapes-buttons.png]]
MakeShapes installed, you should see the above. After you have imported a character from the running Makehuman, you can now locate the shape keys, under "object data", this icon: [[File:MakeShapes-icon.png]]. You can now press the 'Load shapes from targets' button (if you want to you can load a single target, this happens when you uncheck the corresponding checkbox).
The target files you want to load are those you found before:
C:\Users\<user>\Documents\makehuman\v1py3\data\custom
If you do not uncheck the checkbox all .target files will be processed - now the targets should appear in Blender, as shape keys, and they should be active and working!
'''WARNING!!''' You should not use the 'Save Targets' buttons, it will save all of the .target files, but I think they are useless.
Next step is to press 'Save your faceshapes.mxa file' button, select the folder where you placed the faceshapes_BASE.mxa file.
This will produce a new and bigger faceshapes.mxa file. Your final task will be to copy this file to the MHX2 directory:
=MakeShapes progress=
===MakeShapes, done.... ===
While MakeTargt2 can help you modify existing target it will not help you much when you what to "transfer" shape keys. My very first attempt on learning Python and making a new Blender addon involved using VSCode and and extension called 'Blender code' - whit that you can run Blender and the load and debug an existing addon... this was what I did with MakeTaget2.
Messing around with the code I found out how to change the names of the shape keys, name to the "file name". After that it was easy to read all .target files from a directory and add them all as shape keys! This took me only half the way though... as I wanted the shape keys to merge with the character, any character, that I made in MakeHuman. I did try several tools for transfer shape keys, but some did not work at all and some would transfer only party or with some issues. So I finally looked into how the original set of shape keys came to Blender. And I found that the 'MHX2 import' added "face shapes".. that were not part of the original export!
Using the MakeTarget2 print/save functions enabled me to "dump" the raw 'Shape key' data to print/files and I am now able to cut/paste the "printed" version. Say, the elf-ears, can now be add to the file that 'MHX2 import' works with, and the shape keys will be added to the imported Blender characters... for both Base/proxy mesh. Right now MakeShapes will export the selected shape key only.
===MakeShapes todo===
* The addon must be packaged and put on Github
* I need to output all of the shape keys, in one "faceshape" file.
* I want to be able to process expressions.
* I I what to be able to process all expression builder targets
0a1ff0fbe98393a28e1f086702334c1573a15cba
1781
1780
2020-04-18T13:14:42Z
Assetdk
89
/* Using MakeShapes */
wikitext
text/x-wiki
=MakeShapes for Blender=
This is a new tool for importing MakeHuman Targets as Shape Keys in Blender.
Please read the instructions below carefully and be sure to make a backup of any addons you change etc.
==Introduction==
When working with MakeHuman in Blender you will have some high quality characters to play with and you will see that the community addons can help you a lot. There are a few primary '''[http://www.makehumancommunity.org/content/plugins.html must have Blender addons]''' please use '''Blender 2.8''' - these are the tree you will need to have and know about to use '''MakeShapes''':
* Makehuman the community addon, that will allow you to fetch your character from MakeHuman to Blender directly!
* MHX2 Runtime, that will allow you to the import MHX2 files you made in MakeHuman
* [[Documentation:MHBlenderTools:_MakeTarget]] that will help you to make new Targets to be used from within MakeHuman.
When you want to use your characters in Blender, or when you want to export them to a game engine - UE4 or Unity - you even get some shape keys, also called morph targets. These are however not always "included" in the files exported from MakeHuman - specifically the shape keys are added by the MHX2 runtime addon. ( Also the community Blender addon contains some kind of shape key/pose functionality, but I have not been able to find any explanations for what they are doing! )
Rather than making your characters in MakeHuman with one fixed expression/shape/pose, you would probably want to have the same options available in Blender. So I investigated the above addons and made MakeShapes as a small extension to MakeTartarget2. The general idea is have been to to transfer the Targets, expressions and the expression builder "sliders"... as-is, so they can be used as shape keys.
You can also take a look at this page for more on how to work with Blender: [[Moving Assets into Blender]].
And I also made these pages:
* [[Documentation:Saving_models_for_Unreal_Engine_and_how_to_import_them_there]].
* [[Documentation:Unreal Engine ALS V4]]
* [[Documentation:Unreal Engine Vehicle Variety Pack]]
==Find the addon on GitHub==
This is the link for the addon master: [https://github.com/AssetDK/makeshapes]
You need to add the addon to Blender and you need to know about two other addons, as described below.
Currently this addon have been tested on Blender 2.80 only, but it should work on any Blender version that works for the two addons.
===Current status===
Thus far, in version 0.1.0 of the tool all of the Targets can be imported to Blender and the targets can be added to MHX2.
=Getting started with MakeTarget2=
It makes good sense to learn how to use MankeTarget2 first. In general this addon was made by Joel Palmius, and it builds upon the fact that you can directly transfer the characters you have loaded in MakeHuman. So start up MakeHuman and set it up to communicate with the Blender addon (This is done in the community/Socket tab, and the setting in the Blender addon must be the same. As they are by default).
The process is very simple, you load your character to MakeHuman, without any targets, but as you would like to see it in Blender/UE4/Unity. And then you go to Blender and run 'Import human'!
In the current version of MakeTarget2 you will have two options, when you select the 'Body' or 'BaseMesh' you imported.
When you press the 'Load target' button you must locate an existing .target file. These can be found in a directory: C:\Users\<user>\Documents\makehuman\v1py3\data\custom (this may change depending on how you set up MH!). These are accessed in Makehuman via Modelling/community - make sure to check out that you can find even more community targets!
Try this now, selecting elf-ears.target and load this. Two new entries are made under shape keys: Basis, PrimaryTarget. And your character should now have elf ears! You can change the size of the ears, in 'Object mode'. The general scope of MakeTarget2 is that you can make a new target, or you can load one and change it - when you are satisfied with that you can save you new target file, import and use it in MakeHuman....:
* Go to 'edit mode',
* edit the elf-ears
* Press 'Save target'
* Name your target elf-ears2.target and save it
If you did this in the correct folder, your new target should appear in Makehuman and you can use it there!
When you made one target you can not make one more, so you need to delete the Shape keys, in blender, to load/make a new one. Be sure to make a backup if your work was brilliant!
You may also notice that not all targets will get loaded correctly to Blender using MakeTarget2, I do not know why...
You can now import your character from Makehuman make a new community Target and you can get it to work in Makehuman. Using two of the must have Blender addons.
==Using '''MHX2 import'''==
Now try to EXPORT your MakeHuman character in '''MHX2''' format. You probably already know that you can load and save characters, and you can not "transfer" them to Blender. But some of the data appears to be lost, left out or missing when you look at the character in Blender.
However when you make use of the 'MHX2 runtime' import you will notice that it imports shape keys - however these shape keys are not "know" when you look for them in MakeHuman! There are some similar targets, but they are not the same! MHX2 runtime simply can add some predefined 'Face shape and face shape drivers' to your character, when you thick the box in before you import. (You can also chose to import the Base mesh, the Proxy or both..!)
You should try to play around with the MHX2 import options. I ended up with some very specific settings, as I want to import the character in UE4 - you may find that you need different settings depending on what your need are.
In case you think you now know enough about MakeTarget2 and MHX2 import, you can now take a look at what can be done with MakeShapes.
=Using MakeShapes=
You should be familiar with Makehuman, MakeTargert2, MHX2 import - that is you should be able to perform the following tasks:
* 'Import human' for the base human character from Makehuman to Blender. (do this now)
* You should have installed MakeTarget2 to blender and you can now install MakeShapes - notice that it will install with MakeTarget2
Now there is two manual steps to do before you can use MakeShapes:
* find the faceshapes.mxa file, make a backup and make your faceshapes_BASE.mxa file
* Find the community target files, that are used by Makehuman
===Initial setup for faceshapes.mxa===
You don't need to use MakeTarget2, but you will now need to locate some '''.target''' files, and the faceshapes.mxa that you will use soon!
With your file explorer try to locate this directory, on your computer (Thh version ext may be difrent for your installation):
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons <--- '''where all addons are when installed'''
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm8 <-- '''the files you need, soon'''
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm8\raw <-- '''the files you add to, soon'''
This is how my directory shows up:
[[File:MakeTarget2-data.png]]
You will notice that the faceshapes.mxa file is not looking like yours. I recommend that you make two copies of that file and call them faceshapes_BASE.mxa and faceshapes-original.mxa.
Now make a new folder, anywhere where you want, and '''move''' the new file faceshapes_BASE.mxa, then edit this file and add one line <faceshape> at the bottom of the file, but above the two } } lines, like this:
[[File:MakeShapes-faceshape_base.png]]
Please note that you will not need to do this again, unless there is a new version of the MHX2 addon.
===Initial setup for target files===
Before you do this you should add all the targets you want to use to Makehuman. you find these under modelling/custom! And you can download even more from 'Community'/'Download assets'
[[File:MakeShapes-custom-targets.png]]
The '''.target''' files are located in the Makehuman directory, your setup may be different, but on my computer this looks like this:
C:\Users\<user>\Documents\makehuman\v1py3\data\custom
You take a copy of all the files, and add them to the MHX2 raw folder:
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm8\raw
You can simply add more .target files to the directory, as you need! To be on the safe side make a backup copy of the .target files!
After this you should be good to go!
==Using MakeShapes==
[[File:MakeShapes-buttons.png]]
MakeShapes installed, you should see the above. After you have imported a character from the running Makehuman, you can now locate the shape keys, under "object data", this icon: [[File:MakeShapes-icon.png]]. You can now press the 'Load shapes from targets' button (if you want to you can load a single target, this happens when you uncheck the corresponding checkbox).
The target files you want to load are those you found before:
C:\Users\<user>\Documents\makehuman\v1py3\data\custom
Now the targets should appear in Blender, as shape keys, and they should be active and working!
'''WARNING!!''' You should not use the 'Save Targets' buttons, it will save all of the .target files, but I think they are useless.
=MakeShapes progress=
===MakeShapes, done.... ===
While MakeTargt2 can help you modify existing target it will not help you much when you what to "transfer" shape keys. My very first attempt on learning Python and making a new Blender addon involved using VSCode and and extension called 'Blender code' - whit that you can run Blender and the load and debug an existing addon... this was what I did with MakeTaget2.
Messing around with the code I found out how to change the names of the shape keys, name to the "file name". After that it was easy to read all .target files from a directory and add them all as shape keys! This took me only half the way though... as I wanted the shape keys to merge with the character, any character, that I made in MakeHuman. I did try several tools for transfer shape keys, but some did not work at all and some would transfer only party or with some issues. So I finally looked into how the original set of shape keys came to Blender. And I found that the 'MHX2 import' added "face shapes".. that were not part of the original export!
Using the MakeTarget2 print/save functions enabled me to "dump" the raw 'Shape key' data to print/files and I am now able to cut/paste the "printed" version. Say, the elf-ears, can now be add to the file that 'MHX2 import' works with, and the shape keys will be added to the imported Blender characters... for both Base/proxy mesh. Right now MakeShapes will export the selected shape key only.
===MakeShapes todo===
* The addon must be packaged and put on Github
* I need to output all of the shape keys, in one "faceshape" file.
* I want to be able to process expressions.
* I I what to be able to process all expression builder targets
d206cac8a52375c2e486640eb66007bc322097e6
1780
1779
2020-04-18T13:12:17Z
Assetdk
89
/* Using MakeShapes */
wikitext
text/x-wiki
=MakeShapes for Blender=
This is a new tool for importing MakeHuman Targets as Shape Keys in Blender.
Please read the instructions below carefully and be sure to make a backup of any addons you change etc.
==Introduction==
When working with MakeHuman in Blender you will have some high quality characters to play with and you will see that the community addons can help you a lot. There are a few primary '''[http://www.makehumancommunity.org/content/plugins.html must have Blender addons]''' please use '''Blender 2.8''' - these are the tree you will need to have and know about to use '''MakeShapes''':
* Makehuman the community addon, that will allow you to fetch your character from MakeHuman to Blender directly!
* MHX2 Runtime, that will allow you to the import MHX2 files you made in MakeHuman
* [[Documentation:MHBlenderTools:_MakeTarget]] that will help you to make new Targets to be used from within MakeHuman.
When you want to use your characters in Blender, or when you want to export them to a game engine - UE4 or Unity - you even get some shape keys, also called morph targets. These are however not always "included" in the files exported from MakeHuman - specifically the shape keys are added by the MHX2 runtime addon. ( Also the community Blender addon contains some kind of shape key/pose functionality, but I have not been able to find any explanations for what they are doing! )
Rather than making your characters in MakeHuman with one fixed expression/shape/pose, you would probably want to have the same options available in Blender. So I investigated the above addons and made MakeShapes as a small extension to MakeTartarget2. The general idea is have been to to transfer the Targets, expressions and the expression builder "sliders"... as-is, so they can be used as shape keys.
You can also take a look at this page for more on how to work with Blender: [[Moving Assets into Blender]].
And I also made these pages:
* [[Documentation:Saving_models_for_Unreal_Engine_and_how_to_import_them_there]].
* [[Documentation:Unreal Engine ALS V4]]
* [[Documentation:Unreal Engine Vehicle Variety Pack]]
==Find the addon on GitHub==
This is the link for the addon master: [https://github.com/AssetDK/makeshapes]
You need to add the addon to Blender and you need to know about two other addons, as described below.
Currently this addon have been tested on Blender 2.80 only, but it should work on any Blender version that works for the two addons.
===Current status===
Thus far, in version 0.1.0 of the tool all of the Targets can be imported to Blender and the targets can be added to MHX2.
=Getting started with MakeTarget2=
It makes good sense to learn how to use MankeTarget2 first. In general this addon was made by Joel Palmius, and it builds upon the fact that you can directly transfer the characters you have loaded in MakeHuman. So start up MakeHuman and set it up to communicate with the Blender addon (This is done in the community/Socket tab, and the setting in the Blender addon must be the same. As they are by default).
The process is very simple, you load your character to MakeHuman, without any targets, but as you would like to see it in Blender/UE4/Unity. And then you go to Blender and run 'Import human'!
In the current version of MakeTarget2 you will have two options, when you select the 'Body' or 'BaseMesh' you imported.
When you press the 'Load target' button you must locate an existing .target file. These can be found in a directory: C:\Users\<user>\Documents\makehuman\v1py3\data\custom (this may change depending on how you set up MH!). These are accessed in Makehuman via Modelling/community - make sure to check out that you can find even more community targets!
Try this now, selecting elf-ears.target and load this. Two new entries are made under shape keys: Basis, PrimaryTarget. And your character should now have elf ears! You can change the size of the ears, in 'Object mode'. The general scope of MakeTarget2 is that you can make a new target, or you can load one and change it - when you are satisfied with that you can save you new target file, import and use it in MakeHuman....:
* Go to 'edit mode',
* edit the elf-ears
* Press 'Save target'
* Name your target elf-ears2.target and save it
If you did this in the correct folder, your new target should appear in Makehuman and you can use it there!
When you made one target you can not make one more, so you need to delete the Shape keys, in blender, to load/make a new one. Be sure to make a backup if your work was brilliant!
You may also notice that not all targets will get loaded correctly to Blender using MakeTarget2, I do not know why...
You can now import your character from Makehuman make a new community Target and you can get it to work in Makehuman. Using two of the must have Blender addons.
==Using '''MHX2 import'''==
Now try to EXPORT your MakeHuman character in '''MHX2''' format. You probably already know that you can load and save characters, and you can not "transfer" them to Blender. But some of the data appears to be lost, left out or missing when you look at the character in Blender.
However when you make use of the 'MHX2 runtime' import you will notice that it imports shape keys - however these shape keys are not "know" when you look for them in MakeHuman! There are some similar targets, but they are not the same! MHX2 runtime simply can add some predefined 'Face shape and face shape drivers' to your character, when you thick the box in before you import. (You can also chose to import the Base mesh, the Proxy or both..!)
You should try to play around with the MHX2 import options. I ended up with some very specific settings, as I want to import the character in UE4 - you may find that you need different settings depending on what your need are.
In case you think you now know enough about MakeTarget2 and MHX2 import, you can now take a look at what can be done with MakeShapes.
=Using MakeShapes=
You should be familiar with Makehuman, MakeTargert2, MHX2 import - that is you should be able to perform the following tasks:
* 'Import human' for the base human character from Makehuman to Blender. (do this now)
* You should have installed MakeTarget2 to blender and you can now install MakeShapes - notice that it will install with MakeTarget2
Now there is two manual steps to do before you can use MakeShapes:
* find the faceshapes.mxa file, make a backup and make your faceshapes_BASE.mxa file
* Find the community target files, that are used by Makehuman
===Initial setup for faceshapes.mxa===
You don't need to use MakeTarget2, but you will now need to locate some '''.target''' files, and the faceshapes.mxa that you will use soon!
With your file explorer try to locate this directory, on your computer (Thh version ext may be difrent for your installation):
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons <--- '''where all addons are when installed'''
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm8 <-- '''the files you need, soon'''
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm8\raw <-- '''the files you add to, soon'''
This is how my directory shows up:
[[File:MakeTarget2-data.png]]
You will notice that the faceshapes.mxa file is not looking like yours. I recommend that you make two copies of that file and call them faceshapes_BASE.mxa and faceshapes-original.mxa.
Now make a new folder, anywhere where you want, and '''move''' the new file faceshapes_BASE.mxa, then edit this file and add one line <faceshape> at the bottom of the file, but above the two } } lines, like this:
[[File:MakeShapes-faceshape_base.png]]
Please note that you will not need to do this again, unless there is a new version of the MHX2 addon.
===Initial setup for target files===
Before you do this you should add all the targets you want to use to Makehuman. you find these under modelling/custom! And you can download even more from 'Community'/'Download assets'
[[File:MakeShapes-custom-targets.png]]
The '''.target''' files are located in the Makehuman directory, your setup may be different, but on my computer this looks like this:
C:\Users\<user>\Documents\makehuman\v1py3\data\custom
You take a copy of all the files, and add them to the MHX2 raw folder:
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm8\raw
You can simply add more .target files to the directory, as you need! To be on the safe side make a backup copy of the .target files!
After this you should be good to go!
==Using MakeShapes==
[[File:MakeShapes-buttons.png]]
MakeShapes installed, you should see the above. After you have imported a character from the running Makehuman, you can now locate the shape keys, under "object data", this icon: [[File:MakeShapes-icon.png]]. You can now press the 'Load shapes from targets' button (if you want to you can load a single target, this happens when you uncheck the corresponding checkbox).
The target files you want to load are those you found before:
C:\Users\<user>\Documents\makehuman\v1py3\data\custom
Now the targets should appear in Blender, as shape keys, and they should be active and working!
=MakeShapes progress=
===MakeShapes, done.... ===
While MakeTargt2 can help you modify existing target it will not help you much when you what to "transfer" shape keys. My very first attempt on learning Python and making a new Blender addon involved using VSCode and and extension called 'Blender code' - whit that you can run Blender and the load and debug an existing addon... this was what I did with MakeTaget2.
Messing around with the code I found out how to change the names of the shape keys, name to the "file name". After that it was easy to read all .target files from a directory and add them all as shape keys! This took me only half the way though... as I wanted the shape keys to merge with the character, any character, that I made in MakeHuman. I did try several tools for transfer shape keys, but some did not work at all and some would transfer only party or with some issues. So I finally looked into how the original set of shape keys came to Blender. And I found that the 'MHX2 import' added "face shapes".. that were not part of the original export!
Using the MakeTarget2 print/save functions enabled me to "dump" the raw 'Shape key' data to print/files and I am now able to cut/paste the "printed" version. Say, the elf-ears, can now be add to the file that 'MHX2 import' works with, and the shape keys will be added to the imported Blender characters... for both Base/proxy mesh. Right now MakeShapes will export the selected shape key only.
===MakeShapes todo===
* The addon must be packaged and put on Github
* I need to output all of the shape keys, in one "faceshape" file.
* I want to be able to process expressions.
* I I what to be able to process all expression builder targets
2b6e20cb55e44c24ba205c0cf2d8530fe8fd7d86
1779
1777
2020-04-18T13:09:37Z
Assetdk
89
/* Using MakeShapes */
wikitext
text/x-wiki
=MakeShapes for Blender=
This is a new tool for importing MakeHuman Targets as Shape Keys in Blender.
Please read the instructions below carefully and be sure to make a backup of any addons you change etc.
==Introduction==
When working with MakeHuman in Blender you will have some high quality characters to play with and you will see that the community addons can help you a lot. There are a few primary '''[http://www.makehumancommunity.org/content/plugins.html must have Blender addons]''' please use '''Blender 2.8''' - these are the tree you will need to have and know about to use '''MakeShapes''':
* Makehuman the community addon, that will allow you to fetch your character from MakeHuman to Blender directly!
* MHX2 Runtime, that will allow you to the import MHX2 files you made in MakeHuman
* [[Documentation:MHBlenderTools:_MakeTarget]] that will help you to make new Targets to be used from within MakeHuman.
When you want to use your characters in Blender, or when you want to export them to a game engine - UE4 or Unity - you even get some shape keys, also called morph targets. These are however not always "included" in the files exported from MakeHuman - specifically the shape keys are added by the MHX2 runtime addon. ( Also the community Blender addon contains some kind of shape key/pose functionality, but I have not been able to find any explanations for what they are doing! )
Rather than making your characters in MakeHuman with one fixed expression/shape/pose, you would probably want to have the same options available in Blender. So I investigated the above addons and made MakeShapes as a small extension to MakeTartarget2. The general idea is have been to to transfer the Targets, expressions and the expression builder "sliders"... as-is, so they can be used as shape keys.
You can also take a look at this page for more on how to work with Blender: [[Moving Assets into Blender]].
And I also made these pages:
* [[Documentation:Saving_models_for_Unreal_Engine_and_how_to_import_them_there]].
* [[Documentation:Unreal Engine ALS V4]]
* [[Documentation:Unreal Engine Vehicle Variety Pack]]
==Find the addon on GitHub==
This is the link for the addon master: [https://github.com/AssetDK/makeshapes]
You need to add the addon to Blender and you need to know about two other addons, as described below.
Currently this addon have been tested on Blender 2.80 only, but it should work on any Blender version that works for the two addons.
===Current status===
Thus far, in version 0.1.0 of the tool all of the Targets can be imported to Blender and the targets can be added to MHX2.
=Getting started with MakeTarget2=
It makes good sense to learn how to use MankeTarget2 first. In general this addon was made by Joel Palmius, and it builds upon the fact that you can directly transfer the characters you have loaded in MakeHuman. So start up MakeHuman and set it up to communicate with the Blender addon (This is done in the community/Socket tab, and the setting in the Blender addon must be the same. As they are by default).
The process is very simple, you load your character to MakeHuman, without any targets, but as you would like to see it in Blender/UE4/Unity. And then you go to Blender and run 'Import human'!
In the current version of MakeTarget2 you will have two options, when you select the 'Body' or 'BaseMesh' you imported.
When you press the 'Load target' button you must locate an existing .target file. These can be found in a directory: C:\Users\<user>\Documents\makehuman\v1py3\data\custom (this may change depending on how you set up MH!). These are accessed in Makehuman via Modelling/community - make sure to check out that you can find even more community targets!
Try this now, selecting elf-ears.target and load this. Two new entries are made under shape keys: Basis, PrimaryTarget. And your character should now have elf ears! You can change the size of the ears, in 'Object mode'. The general scope of MakeTarget2 is that you can make a new target, or you can load one and change it - when you are satisfied with that you can save you new target file, import and use it in MakeHuman....:
* Go to 'edit mode',
* edit the elf-ears
* Press 'Save target'
* Name your target elf-ears2.target and save it
If you did this in the correct folder, your new target should appear in Makehuman and you can use it there!
When you made one target you can not make one more, so you need to delete the Shape keys, in blender, to load/make a new one. Be sure to make a backup if your work was brilliant!
You may also notice that not all targets will get loaded correctly to Blender using MakeTarget2, I do not know why...
You can now import your character from Makehuman make a new community Target and you can get it to work in Makehuman. Using two of the must have Blender addons.
==Using '''MHX2 import'''==
Now try to EXPORT your MakeHuman character in '''MHX2''' format. You probably already know that you can load and save characters, and you can not "transfer" them to Blender. But some of the data appears to be lost, left out or missing when you look at the character in Blender.
However when you make use of the 'MHX2 runtime' import you will notice that it imports shape keys - however these shape keys are not "know" when you look for them in MakeHuman! There are some similar targets, but they are not the same! MHX2 runtime simply can add some predefined 'Face shape and face shape drivers' to your character, when you thick the box in before you import. (You can also chose to import the Base mesh, the Proxy or both..!)
You should try to play around with the MHX2 import options. I ended up with some very specific settings, as I want to import the character in UE4 - you may find that you need different settings depending on what your need are.
In case you think you now know enough about MakeTarget2 and MHX2 import, you can now take a look at what can be done with MakeShapes.
=Using MakeShapes=
You should be familiar with Makehuman, MakeTargert2, MHX2 import - that is you should be able to perform the following tasks:
* 'Import human' for the base human character from Makehuman to Blender. (do this now)
* You should have installed MakeTarget2 to blender and you can now install MakeShapes - notice that it will install with MakeTarget2
Now there is two manual steps to do before you can use MakeShapes:
* find the faceshapes.mxa file, make a backup and make your faceshapes_BASE.mxa file
* Find the community target files, that are used by Makehuman
===Initial setup for faceshapes.mxa===
You don't need to use MakeTarget2, but you will now need to locate some '''.target''' files, and the faceshapes.mxa that you will use soon!
With your file explorer try to locate this directory, on your computer (Thh version ext may be difrent for your installation):
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons <--- '''where all addons are when installed'''
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm8 <-- '''the files you need, soon'''
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm8\raw <-- '''the files you add to, soon'''
This is how my directory shows up:
[[File:MakeTarget2-data.png]]
You will notice that the faceshapes.mxa file is not looking like yours. I recommend that you make two copies of that file and call them faceshapes_BASE.mxa and faceshapes-original.mxa.
Now make a new folder, anywhere where you want, and '''move''' the new file faceshapes_BASE.mxa, then edit this file and add one line <faceshape> at the bottom of the file, but above the two } } lines, like this:
[[File:MakeShapes-faceshape_base.png]]
Please note that you will not need to do this again, unless there is a new version of the MHX2 addon.
===Initial setup for target files===
Before you do this you should add all the targets you want to use to Makehuman. you find these under modelling/custom! And you can download even more from 'Community'/'Download assets'
[[File:MakeShapes-custom-targets.png]]
The '''.target''' files are located in the Makehuman directory, your setup may be different, but on my computer this looks like this:
C:\Users\<user>\Documents\makehuman\v1py3\data\custom
You take a copy of all the files, and add them to the MHX2 raw folder:
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm8\raw
You can simply add more .target files to the directory, as you need! To be on the safe side make a backup copy of the .target files!
After this you should be good to go!
==Using MakeShapes==
[[File:MakeShapes-buttons.png]]
MakeShapes installed, you should see the above. After you have imported a character from the running Makehuman, you can now locate the shape keys, under "object data", this icon: [[File:MakeShapes-icon.png]]. You can now press the 'Load shapes from targets' button (if you want to you can load a single target, this happens when you uncheck the corresponding checkbox).
The target files you want to load are those you found before:
=MakeShapes progress=
===MakeShapes, done.... ===
While MakeTargt2 can help you modify existing target it will not help you much when you what to "transfer" shape keys. My very first attempt on learning Python and making a new Blender addon involved using VSCode and and extension called 'Blender code' - whit that you can run Blender and the load and debug an existing addon... this was what I did with MakeTaget2.
Messing around with the code I found out how to change the names of the shape keys, name to the "file name". After that it was easy to read all .target files from a directory and add them all as shape keys! This took me only half the way though... as I wanted the shape keys to merge with the character, any character, that I made in MakeHuman. I did try several tools for transfer shape keys, but some did not work at all and some would transfer only party or with some issues. So I finally looked into how the original set of shape keys came to Blender. And I found that the 'MHX2 import' added "face shapes".. that were not part of the original export!
Using the MakeTarget2 print/save functions enabled me to "dump" the raw 'Shape key' data to print/files and I am now able to cut/paste the "printed" version. Say, the elf-ears, can now be add to the file that 'MHX2 import' works with, and the shape keys will be added to the imported Blender characters... for both Base/proxy mesh. Right now MakeShapes will export the selected shape key only.
===MakeShapes todo===
* The addon must be packaged and put on Github
* I need to output all of the shape keys, in one "faceshape" file.
* I want to be able to process expressions.
* I I what to be able to process all expression builder targets
579709ba14659e362b2964385224cae979ff1b5b
1777
1775
2020-04-18T13:01:19Z
Assetdk
89
/* MakeShapes progress */
wikitext
text/x-wiki
=MakeShapes for Blender=
This is a new tool for importing MakeHuman Targets as Shape Keys in Blender.
Please read the instructions below carefully and be sure to make a backup of any addons you change etc.
==Introduction==
When working with MakeHuman in Blender you will have some high quality characters to play with and you will see that the community addons can help you a lot. There are a few primary '''[http://www.makehumancommunity.org/content/plugins.html must have Blender addons]''' please use '''Blender 2.8''' - these are the tree you will need to have and know about to use '''MakeShapes''':
* Makehuman the community addon, that will allow you to fetch your character from MakeHuman to Blender directly!
* MHX2 Runtime, that will allow you to the import MHX2 files you made in MakeHuman
* [[Documentation:MHBlenderTools:_MakeTarget]] that will help you to make new Targets to be used from within MakeHuman.
When you want to use your characters in Blender, or when you want to export them to a game engine - UE4 or Unity - you even get some shape keys, also called morph targets. These are however not always "included" in the files exported from MakeHuman - specifically the shape keys are added by the MHX2 runtime addon. ( Also the community Blender addon contains some kind of shape key/pose functionality, but I have not been able to find any explanations for what they are doing! )
Rather than making your characters in MakeHuman with one fixed expression/shape/pose, you would probably want to have the same options available in Blender. So I investigated the above addons and made MakeShapes as a small extension to MakeTartarget2. The general idea is have been to to transfer the Targets, expressions and the expression builder "sliders"... as-is, so they can be used as shape keys.
You can also take a look at this page for more on how to work with Blender: [[Moving Assets into Blender]].
And I also made these pages:
* [[Documentation:Saving_models_for_Unreal_Engine_and_how_to_import_them_there]].
* [[Documentation:Unreal Engine ALS V4]]
* [[Documentation:Unreal Engine Vehicle Variety Pack]]
==Find the addon on GitHub==
This is the link for the addon master: [https://github.com/AssetDK/makeshapes]
You need to add the addon to Blender and you need to know about two other addons, as described below.
Currently this addon have been tested on Blender 2.80 only, but it should work on any Blender version that works for the two addons.
===Current status===
Thus far, in version 0.1.0 of the tool all of the Targets can be imported to Blender and the targets can be added to MHX2.
=Getting started with MakeTarget2=
It makes good sense to learn how to use MankeTarget2 first. In general this addon was made by Joel Palmius, and it builds upon the fact that you can directly transfer the characters you have loaded in MakeHuman. So start up MakeHuman and set it up to communicate with the Blender addon (This is done in the community/Socket tab, and the setting in the Blender addon must be the same. As they are by default).
The process is very simple, you load your character to MakeHuman, without any targets, but as you would like to see it in Blender/UE4/Unity. And then you go to Blender and run 'Import human'!
In the current version of MakeTarget2 you will have two options, when you select the 'Body' or 'BaseMesh' you imported.
When you press the 'Load target' button you must locate an existing .target file. These can be found in a directory: C:\Users\<user>\Documents\makehuman\v1py3\data\custom (this may change depending on how you set up MH!). These are accessed in Makehuman via Modelling/community - make sure to check out that you can find even more community targets!
Try this now, selecting elf-ears.target and load this. Two new entries are made under shape keys: Basis, PrimaryTarget. And your character should now have elf ears! You can change the size of the ears, in 'Object mode'. The general scope of MakeTarget2 is that you can make a new target, or you can load one and change it - when you are satisfied with that you can save you new target file, import and use it in MakeHuman....:
* Go to 'edit mode',
* edit the elf-ears
* Press 'Save target'
* Name your target elf-ears2.target and save it
If you did this in the correct folder, your new target should appear in Makehuman and you can use it there!
When you made one target you can not make one more, so you need to delete the Shape keys, in blender, to load/make a new one. Be sure to make a backup if your work was brilliant!
You may also notice that not all targets will get loaded correctly to Blender using MakeTarget2, I do not know why...
You can now import your character from Makehuman make a new community Target and you can get it to work in Makehuman. Using two of the must have Blender addons.
==Using '''MHX2 import'''==
Now try to EXPORT your MakeHuman character in '''MHX2''' format. You probably already know that you can load and save characters, and you can not "transfer" them to Blender. But some of the data appears to be lost, left out or missing when you look at the character in Blender.
However when you make use of the 'MHX2 runtime' import you will notice that it imports shape keys - however these shape keys are not "know" when you look for them in MakeHuman! There are some similar targets, but they are not the same! MHX2 runtime simply can add some predefined 'Face shape and face shape drivers' to your character, when you thick the box in before you import. (You can also chose to import the Base mesh, the Proxy or both..!)
You should try to play around with the MHX2 import options. I ended up with some very specific settings, as I want to import the character in UE4 - you may find that you need different settings depending on what your need are.
In case you think you now know enough about MakeTarget2 and MHX2 import, you can now take a look at what can be done with MakeShapes.
=Using MakeShapes=
You should be familiar with Makehuman, MakeTargert2, MHX2 import - that is you should be able to perform the following tasks:
* 'Import human' for the base human character from Makehuman to Blender. (do this now)
* You should have installed MakeTarget2 to blender and you can now install MakeShapes - notice that it will install with MakeTarget2
Now there is two manual steps to do before you can use MakeShapes:
* find the faceshapes.mxa file, make a backup and make your faceshapes_BASE.mxa file
* Find the community target files, that are used by Makehuman
===Initial setup for faceshapes.mxa===
You don't need to use MakeTarget2, but you will now need to locate some '''.target''' files, and the faceshapes.mxa that you will use soon!
With your file explorer try to locate this directory, on your computer (Thh version ext may be difrent for your installation):
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons <--- '''where all addons are when installed'''
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm8 <-- '''the files you need, soon'''
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm8\raw <-- '''the files you add to, soon'''
This is how my directory shows up:
[[File:MakeTarget2-data.png]]
You will notice that the faceshapes.mxa file is not looking like yours. I recommend that you make two copies of that file and call them faceshapes_BASE.mxa and faceshapes-original.mxa.
Now make a new folder, anywhere where you want, and '''move''' the new file faceshapes_BASE.mxa, then edit this file and add one line <faceshape> at the bottom of the file, but above the two } } lines, like this:
[[File:MakeShapes-faceshape_base.png]]
Please note that you will not need to do this again, unless there is a new version of the MHX2 addon.
===Initial setup for target files===
Before you do this you should add all the targets you want to use to Makehuman. you find these under modelling/custom! And you can download even more from 'Community'/'Download assets'
[[File:MakeShapes-custom-targets.png]]
The '''.target''' files are located in the Makehuman directory, your setup may be different, but on my computer this looks like this:
C:\Users\<user>\Documents\makehuman\v1py3\data\custom
You take a copy of all the files, and add them to the MHX2 raw folder:
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm8\raw
You can simply add more .target files to the directory, as you need! To be on the safe side make a backup copy of the .target files!
After this you should be good to go!
==Using MakeShapes==
[[File:MakeShapes-buttons.png]]
=MakeShapes progress=
===MakeShapes, done.... ===
While MakeTargt2 can help you modify existing target it will not help you much when you what to "transfer" shape keys. My very first attempt on learning Python and making a new Blender addon involved using VSCode and and extension called 'Blender code' - whit that you can run Blender and the load and debug an existing addon... this was what I did with MakeTaget2.
Messing around with the code I found out how to change the names of the shape keys, name to the "file name". After that it was easy to read all .target files from a directory and add them all as shape keys! This took me only half the way though... as I wanted the shape keys to merge with the character, any character, that I made in MakeHuman. I did try several tools for transfer shape keys, but some did not work at all and some would transfer only party or with some issues. So I finally looked into how the original set of shape keys came to Blender. And I found that the 'MHX2 import' added "face shapes".. that were not part of the original export!
Using the MakeTarget2 print/save functions enabled me to "dump" the raw 'Shape key' data to print/files and I am now able to cut/paste the "printed" version. Say, the elf-ears, can now be add to the file that 'MHX2 import' works with, and the shape keys will be added to the imported Blender characters... for both Base/proxy mesh. Right now MakeShapes will export the selected shape key only.
===MakeShapes todo===
* The addon must be packaged and put on Github
* I need to output all of the shape keys, in one "faceshape" file.
* I want to be able to process expressions.
* I I what to be able to process all expression builder targets
9b376a8dcae6c0614e1d9d1e77cab30f552a9380
1775
1773
2020-04-18T12:56:25Z
Assetdk
89
/* Using MakeShapes */
wikitext
text/x-wiki
=MakeShapes for Blender=
This is a new tool for importing MakeHuman Targets as Shape Keys in Blender.
Please read the instructions below carefully and be sure to make a backup of any addons you change etc.
==Introduction==
When working with MakeHuman in Blender you will have some high quality characters to play with and you will see that the community addons can help you a lot. There are a few primary '''[http://www.makehumancommunity.org/content/plugins.html must have Blender addons]''' please use '''Blender 2.8''' - these are the tree you will need to have and know about to use '''MakeShapes''':
* Makehuman the community addon, that will allow you to fetch your character from MakeHuman to Blender directly!
* MHX2 Runtime, that will allow you to the import MHX2 files you made in MakeHuman
* [[Documentation:MHBlenderTools:_MakeTarget]] that will help you to make new Targets to be used from within MakeHuman.
When you want to use your characters in Blender, or when you want to export them to a game engine - UE4 or Unity - you even get some shape keys, also called morph targets. These are however not always "included" in the files exported from MakeHuman - specifically the shape keys are added by the MHX2 runtime addon. ( Also the community Blender addon contains some kind of shape key/pose functionality, but I have not been able to find any explanations for what they are doing! )
Rather than making your characters in MakeHuman with one fixed expression/shape/pose, you would probably want to have the same options available in Blender. So I investigated the above addons and made MakeShapes as a small extension to MakeTartarget2. The general idea is have been to to transfer the Targets, expressions and the expression builder "sliders"... as-is, so they can be used as shape keys.
You can also take a look at this page for more on how to work with Blender: [[Moving Assets into Blender]].
And I also made these pages:
* [[Documentation:Saving_models_for_Unreal_Engine_and_how_to_import_them_there]].
* [[Documentation:Unreal Engine ALS V4]]
* [[Documentation:Unreal Engine Vehicle Variety Pack]]
==Find the addon on GitHub==
This is the link for the addon master: [https://github.com/AssetDK/makeshapes]
You need to add the addon to Blender and you need to know about two other addons, as described below.
Currently this addon have been tested on Blender 2.80 only, but it should work on any Blender version that works for the two addons.
===Current status===
Thus far, in version 0.1.0 of the tool all of the Targets can be imported to Blender and the targets can be added to MHX2.
=Getting started with MakeTarget2=
It makes good sense to learn how to use MankeTarget2 first. In general this addon was made by Joel Palmius, and it builds upon the fact that you can directly transfer the characters you have loaded in MakeHuman. So start up MakeHuman and set it up to communicate with the Blender addon (This is done in the community/Socket tab, and the setting in the Blender addon must be the same. As they are by default).
The process is very simple, you load your character to MakeHuman, without any targets, but as you would like to see it in Blender/UE4/Unity. And then you go to Blender and run 'Import human'!
In the current version of MakeTarget2 you will have two options, when you select the 'Body' or 'BaseMesh' you imported.
When you press the 'Load target' button you must locate an existing .target file. These can be found in a directory: C:\Users\<user>\Documents\makehuman\v1py3\data\custom (this may change depending on how you set up MH!). These are accessed in Makehuman via Modelling/community - make sure to check out that you can find even more community targets!
Try this now, selecting elf-ears.target and load this. Two new entries are made under shape keys: Basis, PrimaryTarget. And your character should now have elf ears! You can change the size of the ears, in 'Object mode'. The general scope of MakeTarget2 is that you can make a new target, or you can load one and change it - when you are satisfied with that you can save you new target file, import and use it in MakeHuman....:
* Go to 'edit mode',
* edit the elf-ears
* Press 'Save target'
* Name your target elf-ears2.target and save it
If you did this in the correct folder, your new target should appear in Makehuman and you can use it there!
When you made one target you can not make one more, so you need to delete the Shape keys, in blender, to load/make a new one. Be sure to make a backup if your work was brilliant!
You may also notice that not all targets will get loaded correctly to Blender using MakeTarget2, I do not know why...
You can now import your character from Makehuman make a new community Target and you can get it to work in Makehuman. Using two of the must have Blender addons.
==Using '''MHX2 import'''==
Now try to EXPORT your MakeHuman character in '''MHX2''' format. You probably already know that you can load and save characters, and you can not "transfer" them to Blender. But some of the data appears to be lost, left out or missing when you look at the character in Blender.
However when you make use of the 'MHX2 runtime' import you will notice that it imports shape keys - however these shape keys are not "know" when you look for them in MakeHuman! There are some similar targets, but they are not the same! MHX2 runtime simply can add some predefined 'Face shape and face shape drivers' to your character, when you thick the box in before you import. (You can also chose to import the Base mesh, the Proxy or both..!)
You should try to play around with the MHX2 import options. I ended up with some very specific settings, as I want to import the character in UE4 - you may find that you need different settings depending on what your need are.
In case you think you now know enough about MakeTarget2 and MHX2 import, you can now take a look at what can be done with MakeShapes.
=Using MakeShapes=
You should be familiar with Makehuman, MakeTargert2, MHX2 import - that is you should be able to perform the following tasks:
* 'Import human' for the base human character from Makehuman to Blender. (do this now)
* You should have installed MakeTarget2 to blender and you can now install MakeShapes - notice that it will install with MakeTarget2
Now there is two manual steps to do before you can use MakeShapes:
* find the faceshapes.mxa file, make a backup and make your faceshapes_BASE.mxa file
* Find the community target files, that are used by Makehuman
===Initial setup for faceshapes.mxa===
You don't need to use MakeTarget2, but you will now need to locate some '''.target''' files, and the faceshapes.mxa that you will use soon!
With your file explorer try to locate this directory, on your computer (Thh version ext may be difrent for your installation):
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons <--- '''where all addons are when installed'''
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm8 <-- '''the files you need, soon'''
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm8\raw <-- '''the files you add to, soon'''
This is how my directory shows up:
[[File:MakeTarget2-data.png]]
You will notice that the faceshapes.mxa file is not looking like yours. I recommend that you make two copies of that file and call them faceshapes_BASE.mxa and faceshapes-original.mxa.
Now make a new folder, anywhere where you want, and '''move''' the new file faceshapes_BASE.mxa, then edit this file and add one line <faceshape> at the bottom of the file, but above the two } } lines, like this:
[[File:MakeShapes-faceshape_base.png]]
Please note that you will not need to do this again, unless there is a new version of the MHX2 addon.
===Initial setup for target files===
Before you do this you should add all the targets you want to use to Makehuman. you find these under modelling/custom! And you can download even more from 'Community'/'Download assets'
[[File:MakeShapes-custom-targets.png]]
The '''.target''' files are located in the Makehuman directory, your setup may be different, but on my computer this looks like this:
C:\Users\<user>\Documents\makehuman\v1py3\data\custom
You take a copy of all the files, and add them to the MHX2 raw folder:
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm8\raw
You can simply add more .target files to the directory, as you need! To be on the safe side make a backup copy of the .target files!
After this you should be good to go!
=MakeShapes progress=
===MakeShapes, done.... ===
While MakeTargt2 can help you modify existing target it will not help you much when you what to "transfer" shape keys. My very first attempt on learning Python and making a new Blender addon involved using VSCode and and extension called 'Blender code' - whit that you can run Blender and the load and debug an existing addon... this was what I did with MakeTaget2.
Messing around with the code I found out how to change the names of the shape keys, name to the "file name". After that it was easy to read all .target files from a directory and add them all as shape keys! This took me only half the way though... as I wanted the shape keys to merge with the character, any character, that I made in MakeHuman. I did try several tools for transfer shape keys, but some did not work at all and some would transfer only party or with some issues. So I finally looked into how the original set of shape keys came to Blender. And I found that the 'MHX2 import' added "face shapes".. that were not part of the original export!
Using the MakeTarget2 print/save functions enabled me to "dump" the raw 'Shape key' data to print/files and I am now able to cut/paste the "printed" version. Say, the elf-ears, can now be add to the file that 'MHX2 import' works with, and the shape keys will be added to the imported Blender characters... for both Base/proxy mesh. Right now MakeShapes will export the selected shape key only.
===MakeShapes todo===
* The addon must be packaged and put on Github
* I need to output all of the shape keys, in one "faceshape" file.
* I want to be able to process expressions.
* I I what to be able to process all expression builder targets
3935cde68ee6dc673ca8353d283d05aa8238834e
1773
1772
2020-04-18T12:27:01Z
Assetdk
89
/* Initial setup for faceshapes.mxa */
wikitext
text/x-wiki
=MakeShapes for Blender=
This is a new tool for importing MakeHuman Targets as Shape Keys in Blender.
Please read the instructions below carefully and be sure to make a backup of any addons you change etc.
==Introduction==
When working with MakeHuman in Blender you will have some high quality characters to play with and you will see that the community addons can help you a lot. There are a few primary '''[http://www.makehumancommunity.org/content/plugins.html must have Blender addons]''' please use '''Blender 2.8''' - these are the tree you will need to have and know about to use '''MakeShapes''':
* Makehuman the community addon, that will allow you to fetch your character from MakeHuman to Blender directly!
* MHX2 Runtime, that will allow you to the import MHX2 files you made in MakeHuman
* [[Documentation:MHBlenderTools:_MakeTarget]] that will help you to make new Targets to be used from within MakeHuman.
When you want to use your characters in Blender, or when you want to export them to a game engine - UE4 or Unity - you even get some shape keys, also called morph targets. These are however not always "included" in the files exported from MakeHuman - specifically the shape keys are added by the MHX2 runtime addon. ( Also the community Blender addon contains some kind of shape key/pose functionality, but I have not been able to find any explanations for what they are doing! )
Rather than making your characters in MakeHuman with one fixed expression/shape/pose, you would probably want to have the same options available in Blender. So I investigated the above addons and made MakeShapes as a small extension to MakeTartarget2. The general idea is have been to to transfer the Targets, expressions and the expression builder "sliders"... as-is, so they can be used as shape keys.
You can also take a look at this page for more on how to work with Blender: [[Moving Assets into Blender]].
And I also made these pages:
* [[Documentation:Saving_models_for_Unreal_Engine_and_how_to_import_them_there]].
* [[Documentation:Unreal Engine ALS V4]]
* [[Documentation:Unreal Engine Vehicle Variety Pack]]
==Find the addon on GitHub==
This is the link for the addon master: [https://github.com/AssetDK/makeshapes]
You need to add the addon to Blender and you need to know about two other addons, as described below.
Currently this addon have been tested on Blender 2.80 only, but it should work on any Blender version that works for the two addons.
===Current status===
Thus far, in version 0.1.0 of the tool all of the Targets can be imported to Blender and the targets can be added to MHX2.
=Getting started with MakeTarget2=
It makes good sense to learn how to use MankeTarget2 first. In general this addon was made by Joel Palmius, and it builds upon the fact that you can directly transfer the characters you have loaded in MakeHuman. So start up MakeHuman and set it up to communicate with the Blender addon (This is done in the community/Socket tab, and the setting in the Blender addon must be the same. As they are by default).
The process is very simple, you load your character to MakeHuman, without any targets, but as you would like to see it in Blender/UE4/Unity. And then you go to Blender and run 'Import human'!
In the current version of MakeTarget2 you will have two options, when you select the 'Body' or 'BaseMesh' you imported.
When you press the 'Load target' button you must locate an existing .target file. These can be found in a directory: C:\Users\<user>\Documents\makehuman\v1py3\data\custom (this may change depending on how you set up MH!). These are accessed in Makehuman via Modelling/community - make sure to check out that you can find even more community targets!
Try this now, selecting elf-ears.target and load this. Two new entries are made under shape keys: Basis, PrimaryTarget. And your character should now have elf ears! You can change the size of the ears, in 'Object mode'. The general scope of MakeTarget2 is that you can make a new target, or you can load one and change it - when you are satisfied with that you can save you new target file, import and use it in MakeHuman....:
* Go to 'edit mode',
* edit the elf-ears
* Press 'Save target'
* Name your target elf-ears2.target and save it
If you did this in the correct folder, your new target should appear in Makehuman and you can use it there!
When you made one target you can not make one more, so you need to delete the Shape keys, in blender, to load/make a new one. Be sure to make a backup if your work was brilliant!
You may also notice that not all targets will get loaded correctly to Blender using MakeTarget2, I do not know why...
You can now import your character from Makehuman make a new community Target and you can get it to work in Makehuman. Using two of the must have Blender addons.
==Using '''MHX2 import'''==
Now try to EXPORT your MakeHuman character in '''MHX2''' format. You probably already know that you can load and save characters, and you can not "transfer" them to Blender. But some of the data appears to be lost, left out or missing when you look at the character in Blender.
However when you make use of the 'MHX2 runtime' import you will notice that it imports shape keys - however these shape keys are not "know" when you look for them in MakeHuman! There are some similar targets, but they are not the same! MHX2 runtime simply can add some predefined 'Face shape and face shape drivers' to your character, when you thick the box in before you import. (You can also chose to import the Base mesh, the Proxy or both..!)
You should try to play around with the MHX2 import options. I ended up with some very specific settings, as I want to import the character in UE4 - you may find that you need different settings depending on what your need are.
In case you think you now know enough about MakeTarget2 and MHX2 import, you can now take a look at what can be done with MakeShapes.
=Using MakeShapes=
You should be familiar with Makehuman, MakeTargert2, MHX2 import - that is you should be able to perform the following tasks:
* 'Import human' for the base human character from Makehuman to Blender. (do this now)
* You should have installed MakeTarget2 to blender and you can now install MakeShapes - notice that it will install with MakeTarget2
===Initial setup for faceshapes.mxa===
You don't need to use MakeTarget2, but you will now need to locate some '''.target''' files, and the faceshapes.mxa that you will use soon!
With your file explorer try to locate this directory, on your computer (Thh version ext may be difrent for your installation):
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons <--- '''where all addons are when installed'''
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm8 <-- '''the files you need, soon'''
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm8\raw <-- '''the files you add to, soon'''
This is how my directory shows up:
[[File:MakeTarget2-data.png]]
You will notice that the faceshapes.mxa file is not looking like yours. I recommend that you make two copies of that file and call them faceshapes_BASE.mxa and faceshapes-original.mxa.
Now make a new folder, anywhere where you want, and '''move''' the new file faceshapes_BASE.mxa, then edit this file and add one line <faceshape> at the bottom above the two } } lines, like this:
[[File:MakeShapes-faceshape_base.png]]
=MakeShapes progress=
===MakeShapes, done.... ===
While MakeTargt2 can help you modify existing target it will not help you much when you what to "transfer" shape keys. My very first attempt on learning Python and making a new Blender addon involved using VSCode and and extension called 'Blender code' - whit that you can run Blender and the load and debug an existing addon... this was what I did with MakeTaget2.
Messing around with the code I found out how to change the names of the shape keys, name to the "file name". After that it was easy to read all .target files from a directory and add them all as shape keys! This took me only half the way though... as I wanted the shape keys to merge with the character, any character, that I made in MakeHuman. I did try several tools for transfer shape keys, but some did not work at all and some would transfer only party or with some issues. So I finally looked into how the original set of shape keys came to Blender. And I found that the 'MHX2 import' added "face shapes".. that were not part of the original export!
Using the MakeTarget2 print/save functions enabled me to "dump" the raw 'Shape key' data to print/files and I am now able to cut/paste the "printed" version. Say, the elf-ears, can now be add to the file that 'MHX2 import' works with, and the shape keys will be added to the imported Blender characters... for both Base/proxy mesh. Right now MakeShapes will export the selected shape key only.
===MakeShapes todo===
* The addon must be packaged and put on Github
* I need to output all of the shape keys, in one "faceshape" file.
* I want to be able to process expressions.
* I I what to be able to process all expression builder targets
0950aecd3b9129c8f1825f6a25b991c7be96b115
1772
1770
2020-04-18T12:25:31Z
Assetdk
89
/* Using MakeShapes */
wikitext
text/x-wiki
=MakeShapes for Blender=
This is a new tool for importing MakeHuman Targets as Shape Keys in Blender.
Please read the instructions below carefully and be sure to make a backup of any addons you change etc.
==Introduction==
When working with MakeHuman in Blender you will have some high quality characters to play with and you will see that the community addons can help you a lot. There are a few primary '''[http://www.makehumancommunity.org/content/plugins.html must have Blender addons]''' please use '''Blender 2.8''' - these are the tree you will need to have and know about to use '''MakeShapes''':
* Makehuman the community addon, that will allow you to fetch your character from MakeHuman to Blender directly!
* MHX2 Runtime, that will allow you to the import MHX2 files you made in MakeHuman
* [[Documentation:MHBlenderTools:_MakeTarget]] that will help you to make new Targets to be used from within MakeHuman.
When you want to use your characters in Blender, or when you want to export them to a game engine - UE4 or Unity - you even get some shape keys, also called morph targets. These are however not always "included" in the files exported from MakeHuman - specifically the shape keys are added by the MHX2 runtime addon. ( Also the community Blender addon contains some kind of shape key/pose functionality, but I have not been able to find any explanations for what they are doing! )
Rather than making your characters in MakeHuman with one fixed expression/shape/pose, you would probably want to have the same options available in Blender. So I investigated the above addons and made MakeShapes as a small extension to MakeTartarget2. The general idea is have been to to transfer the Targets, expressions and the expression builder "sliders"... as-is, so they can be used as shape keys.
You can also take a look at this page for more on how to work with Blender: [[Moving Assets into Blender]].
And I also made these pages:
* [[Documentation:Saving_models_for_Unreal_Engine_and_how_to_import_them_there]].
* [[Documentation:Unreal Engine ALS V4]]
* [[Documentation:Unreal Engine Vehicle Variety Pack]]
==Find the addon on GitHub==
This is the link for the addon master: [https://github.com/AssetDK/makeshapes]
You need to add the addon to Blender and you need to know about two other addons, as described below.
Currently this addon have been tested on Blender 2.80 only, but it should work on any Blender version that works for the two addons.
===Current status===
Thus far, in version 0.1.0 of the tool all of the Targets can be imported to Blender and the targets can be added to MHX2.
=Getting started with MakeTarget2=
It makes good sense to learn how to use MankeTarget2 first. In general this addon was made by Joel Palmius, and it builds upon the fact that you can directly transfer the characters you have loaded in MakeHuman. So start up MakeHuman and set it up to communicate with the Blender addon (This is done in the community/Socket tab, and the setting in the Blender addon must be the same. As they are by default).
The process is very simple, you load your character to MakeHuman, without any targets, but as you would like to see it in Blender/UE4/Unity. And then you go to Blender and run 'Import human'!
In the current version of MakeTarget2 you will have two options, when you select the 'Body' or 'BaseMesh' you imported.
When you press the 'Load target' button you must locate an existing .target file. These can be found in a directory: C:\Users\<user>\Documents\makehuman\v1py3\data\custom (this may change depending on how you set up MH!). These are accessed in Makehuman via Modelling/community - make sure to check out that you can find even more community targets!
Try this now, selecting elf-ears.target and load this. Two new entries are made under shape keys: Basis, PrimaryTarget. And your character should now have elf ears! You can change the size of the ears, in 'Object mode'. The general scope of MakeTarget2 is that you can make a new target, or you can load one and change it - when you are satisfied with that you can save you new target file, import and use it in MakeHuman....:
* Go to 'edit mode',
* edit the elf-ears
* Press 'Save target'
* Name your target elf-ears2.target and save it
If you did this in the correct folder, your new target should appear in Makehuman and you can use it there!
When you made one target you can not make one more, so you need to delete the Shape keys, in blender, to load/make a new one. Be sure to make a backup if your work was brilliant!
You may also notice that not all targets will get loaded correctly to Blender using MakeTarget2, I do not know why...
You can now import your character from Makehuman make a new community Target and you can get it to work in Makehuman. Using two of the must have Blender addons.
==Using '''MHX2 import'''==
Now try to EXPORT your MakeHuman character in '''MHX2''' format. You probably already know that you can load and save characters, and you can not "transfer" them to Blender. But some of the data appears to be lost, left out or missing when you look at the character in Blender.
However when you make use of the 'MHX2 runtime' import you will notice that it imports shape keys - however these shape keys are not "know" when you look for them in MakeHuman! There are some similar targets, but they are not the same! MHX2 runtime simply can add some predefined 'Face shape and face shape drivers' to your character, when you thick the box in before you import. (You can also chose to import the Base mesh, the Proxy or both..!)
You should try to play around with the MHX2 import options. I ended up with some very specific settings, as I want to import the character in UE4 - you may find that you need different settings depending on what your need are.
In case you think you now know enough about MakeTarget2 and MHX2 import, you can now take a look at what can be done with MakeShapes.
=Using MakeShapes=
You should be familiar with Makehuman, MakeTargert2, MHX2 import - that is you should be able to perform the following tasks:
* 'Import human' for the base human character from Makehuman to Blender. (do this now)
* You should have installed MakeTarget2 to blender and you can now install MakeShapes - notice that it will install with MakeTarget2
===Initial setup for faceshapes.mxa===
You don't need to use MakeTarget2, but you will now need to locate some '''.target''' files, and the faceshapes.mxa that you will use soon!
With your file explorer try to locate this directory, on your computer (Thh version ext may be difrent for your installation):
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons <--- '''where all addons are when installed'''
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm8 <-- '''the files you need, soon'''
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm8\raw <-- '''the files you add to, soon'''
This is how my directory shows up:
[[File:MakeTarget2-data.png]]
You will notice that the faceshapes.mxa file is not looking like yours. I recommend that you make two copies of that file and call them faceshapes_BASE.mxa and faceshapes-original.mxa.
Now make a new folder, anywhere where you want, and '''move''' the new file faceshapes_BASE.mxa, then edit this file and add one line <faceshape> at the bottom above the two } } lines, like this:
[[File:MakeShapes-faceshape_base.png]]
=MakeShapes progress=
===MakeShapes, done.... ===
While MakeTargt2 can help you modify existing target it will not help you much when you what to "transfer" shape keys. My very first attempt on learning Python and making a new Blender addon involved using VSCode and and extension called 'Blender code' - whit that you can run Blender and the load and debug an existing addon... this was what I did with MakeTaget2.
Messing around with the code I found out how to change the names of the shape keys, name to the "file name". After that it was easy to read all .target files from a directory and add them all as shape keys! This took me only half the way though... as I wanted the shape keys to merge with the character, any character, that I made in MakeHuman. I did try several tools for transfer shape keys, but some did not work at all and some would transfer only party or with some issues. So I finally looked into how the original set of shape keys came to Blender. And I found that the 'MHX2 import' added "face shapes".. that were not part of the original export!
Using the MakeTarget2 print/save functions enabled me to "dump" the raw 'Shape key' data to print/files and I am now able to cut/paste the "printed" version. Say, the elf-ears, can now be add to the file that 'MHX2 import' works with, and the shape keys will be added to the imported Blender characters... for both Base/proxy mesh. Right now MakeShapes will export the selected shape key only.
===MakeShapes todo===
* The addon must be packaged and put on Github
* I need to output all of the shape keys, in one "faceshape" file.
* I want to be able to process expressions.
* I I what to be able to process all expression builder targets
ed62f0148b1f335e4012362314f65272aa7f7bbc
1770
1768
2020-04-18T12:13:34Z
Assetdk
89
/* Using MakeShapes */
wikitext
text/x-wiki
=MakeShapes for Blender=
This is a new tool for importing MakeHuman Targets as Shape Keys in Blender.
Please read the instructions below carefully and be sure to make a backup of any addons you change etc.
==Introduction==
When working with MakeHuman in Blender you will have some high quality characters to play with and you will see that the community addons can help you a lot. There are a few primary '''[http://www.makehumancommunity.org/content/plugins.html must have Blender addons]''' please use '''Blender 2.8''' - these are the tree you will need to have and know about to use '''MakeShapes''':
* Makehuman the community addon, that will allow you to fetch your character from MakeHuman to Blender directly!
* MHX2 Runtime, that will allow you to the import MHX2 files you made in MakeHuman
* [[Documentation:MHBlenderTools:_MakeTarget]] that will help you to make new Targets to be used from within MakeHuman.
When you want to use your characters in Blender, or when you want to export them to a game engine - UE4 or Unity - you even get some shape keys, also called morph targets. These are however not always "included" in the files exported from MakeHuman - specifically the shape keys are added by the MHX2 runtime addon. ( Also the community Blender addon contains some kind of shape key/pose functionality, but I have not been able to find any explanations for what they are doing! )
Rather than making your characters in MakeHuman with one fixed expression/shape/pose, you would probably want to have the same options available in Blender. So I investigated the above addons and made MakeShapes as a small extension to MakeTartarget2. The general idea is have been to to transfer the Targets, expressions and the expression builder "sliders"... as-is, so they can be used as shape keys.
You can also take a look at this page for more on how to work with Blender: [[Moving Assets into Blender]].
And I also made these pages:
* [[Documentation:Saving_models_for_Unreal_Engine_and_how_to_import_them_there]].
* [[Documentation:Unreal Engine ALS V4]]
* [[Documentation:Unreal Engine Vehicle Variety Pack]]
==Find the addon on GitHub==
This is the link for the addon master: [https://github.com/AssetDK/makeshapes]
You need to add the addon to Blender and you need to know about two other addons, as described below.
Currently this addon have been tested on Blender 2.80 only, but it should work on any Blender version that works for the two addons.
===Current status===
Thus far, in version 0.1.0 of the tool all of the Targets can be imported to Blender and the targets can be added to MHX2.
=Getting started with MakeTarget2=
It makes good sense to learn how to use MankeTarget2 first. In general this addon was made by Joel Palmius, and it builds upon the fact that you can directly transfer the characters you have loaded in MakeHuman. So start up MakeHuman and set it up to communicate with the Blender addon (This is done in the community/Socket tab, and the setting in the Blender addon must be the same. As they are by default).
The process is very simple, you load your character to MakeHuman, without any targets, but as you would like to see it in Blender/UE4/Unity. And then you go to Blender and run 'Import human'!
In the current version of MakeTarget2 you will have two options, when you select the 'Body' or 'BaseMesh' you imported.
When you press the 'Load target' button you must locate an existing .target file. These can be found in a directory: C:\Users\<user>\Documents\makehuman\v1py3\data\custom (this may change depending on how you set up MH!). These are accessed in Makehuman via Modelling/community - make sure to check out that you can find even more community targets!
Try this now, selecting elf-ears.target and load this. Two new entries are made under shape keys: Basis, PrimaryTarget. And your character should now have elf ears! You can change the size of the ears, in 'Object mode'. The general scope of MakeTarget2 is that you can make a new target, or you can load one and change it - when you are satisfied with that you can save you new target file, import and use it in MakeHuman....:
* Go to 'edit mode',
* edit the elf-ears
* Press 'Save target'
* Name your target elf-ears2.target and save it
If you did this in the correct folder, your new target should appear in Makehuman and you can use it there!
When you made one target you can not make one more, so you need to delete the Shape keys, in blender, to load/make a new one. Be sure to make a backup if your work was brilliant!
You may also notice that not all targets will get loaded correctly to Blender using MakeTarget2, I do not know why...
You can now import your character from Makehuman make a new community Target and you can get it to work in Makehuman. Using two of the must have Blender addons.
==Using '''MHX2 import'''==
Now try to EXPORT your MakeHuman character in '''MHX2''' format. You probably already know that you can load and save characters, and you can not "transfer" them to Blender. But some of the data appears to be lost, left out or missing when you look at the character in Blender.
However when you make use of the 'MHX2 runtime' import you will notice that it imports shape keys - however these shape keys are not "know" when you look for them in MakeHuman! There are some similar targets, but they are not the same! MHX2 runtime simply can add some predefined 'Face shape and face shape drivers' to your character, when you thick the box in before you import. (You can also chose to import the Base mesh, the Proxy or both..!)
You should try to play around with the MHX2 import options. I ended up with some very specific settings, as I want to import the character in UE4 - you may find that you need different settings depending on what your need are.
In case you think you now know enough about MakeTarget2 and MHX2 import, you can now take a look at what can be done with MakeShapes.
=Using MakeShapes=
You should be familiar with Makehuman, MakeTargert2, MHX2 import - that is you should be able to perform the following tasks:
* 'Import human' for the base human character from Makehuman to Blender. (do this now)
* You should have installed MakeTarget2 to blender and you can now install MakeShapes - notice that it will install with MakeTarget2
You don't need to use MakeTarget2, but you will now need to locate some '''.target''' files, and the faceshape.mxa that you will use soon!
With your file explorer try to locate this directory, on your computer (Thh version ext may be difrent for your installation):
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons <--- '''where all addons are when installed'''
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm8 <-- '''the files you need, soon'''
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\import_runtime_mhx2\data\hm8\raw <-- '''the files you add to, soon'''
This is how my directory shows up:
[[File:MakeTarget2-data.png]]
=MakeShapes progress=
===MakeShapes, done.... ===
While MakeTargt2 can help you modify existing target it will not help you much when you what to "transfer" shape keys. My very first attempt on learning Python and making a new Blender addon involved using VSCode and and extension called 'Blender code' - whit that you can run Blender and the load and debug an existing addon... this was what I did with MakeTaget2.
Messing around with the code I found out how to change the names of the shape keys, name to the "file name". After that it was easy to read all .target files from a directory and add them all as shape keys! This took me only half the way though... as I wanted the shape keys to merge with the character, any character, that I made in MakeHuman. I did try several tools for transfer shape keys, but some did not work at all and some would transfer only party or with some issues. So I finally looked into how the original set of shape keys came to Blender. And I found that the 'MHX2 import' added "face shapes".. that were not part of the original export!
Using the MakeTarget2 print/save functions enabled me to "dump" the raw 'Shape key' data to print/files and I am now able to cut/paste the "printed" version. Say, the elf-ears, can now be add to the file that 'MHX2 import' works with, and the shape keys will be added to the imported Blender characters... for both Base/proxy mesh. Right now MakeShapes will export the selected shape key only.
===MakeShapes todo===
* The addon must be packaged and put on Github
* I need to output all of the shape keys, in one "faceshape" file.
* I want to be able to process expressions.
* I I what to be able to process all expression builder targets
dce23c41c68acd8a030ac52c1c31a53f9d52ee2b
1768
1767
2020-04-18T12:06:00Z
Assetdk
89
/* Using MakeShapes */
wikitext
text/x-wiki
=MakeShapes for Blender=
This is a new tool for importing MakeHuman Targets as Shape Keys in Blender.
Please read the instructions below carefully and be sure to make a backup of any addons you change etc.
==Introduction==
When working with MakeHuman in Blender you will have some high quality characters to play with and you will see that the community addons can help you a lot. There are a few primary '''[http://www.makehumancommunity.org/content/plugins.html must have Blender addons]''' please use '''Blender 2.8''' - these are the tree you will need to have and know about to use '''MakeShapes''':
* Makehuman the community addon, that will allow you to fetch your character from MakeHuman to Blender directly!
* MHX2 Runtime, that will allow you to the import MHX2 files you made in MakeHuman
* [[Documentation:MHBlenderTools:_MakeTarget]] that will help you to make new Targets to be used from within MakeHuman.
When you want to use your characters in Blender, or when you want to export them to a game engine - UE4 or Unity - you even get some shape keys, also called morph targets. These are however not always "included" in the files exported from MakeHuman - specifically the shape keys are added by the MHX2 runtime addon. ( Also the community Blender addon contains some kind of shape key/pose functionality, but I have not been able to find any explanations for what they are doing! )
Rather than making your characters in MakeHuman with one fixed expression/shape/pose, you would probably want to have the same options available in Blender. So I investigated the above addons and made MakeShapes as a small extension to MakeTartarget2. The general idea is have been to to transfer the Targets, expressions and the expression builder "sliders"... as-is, so they can be used as shape keys.
You can also take a look at this page for more on how to work with Blender: [[Moving Assets into Blender]].
And I also made these pages:
* [[Documentation:Saving_models_for_Unreal_Engine_and_how_to_import_them_there]].
* [[Documentation:Unreal Engine ALS V4]]
* [[Documentation:Unreal Engine Vehicle Variety Pack]]
==Find the addon on GitHub==
This is the link for the addon master: [https://github.com/AssetDK/makeshapes]
You need to add the addon to Blender and you need to know about two other addons, as described below.
Currently this addon have been tested on Blender 2.80 only, but it should work on any Blender version that works for the two addons.
===Current status===
Thus far, in version 0.1.0 of the tool all of the Targets can be imported to Blender and the targets can be added to MHX2.
=Getting started with MakeTarget2=
It makes good sense to learn how to use MankeTarget2 first. In general this addon was made by Joel Palmius, and it builds upon the fact that you can directly transfer the characters you have loaded in MakeHuman. So start up MakeHuman and set it up to communicate with the Blender addon (This is done in the community/Socket tab, and the setting in the Blender addon must be the same. As they are by default).
The process is very simple, you load your character to MakeHuman, without any targets, but as you would like to see it in Blender/UE4/Unity. And then you go to Blender and run 'Import human'!
In the current version of MakeTarget2 you will have two options, when you select the 'Body' or 'BaseMesh' you imported.
When you press the 'Load target' button you must locate an existing .target file. These can be found in a directory: C:\Users\<user>\Documents\makehuman\v1py3\data\custom (this may change depending on how you set up MH!). These are accessed in Makehuman via Modelling/community - make sure to check out that you can find even more community targets!
Try this now, selecting elf-ears.target and load this. Two new entries are made under shape keys: Basis, PrimaryTarget. And your character should now have elf ears! You can change the size of the ears, in 'Object mode'. The general scope of MakeTarget2 is that you can make a new target, or you can load one and change it - when you are satisfied with that you can save you new target file, import and use it in MakeHuman....:
* Go to 'edit mode',
* edit the elf-ears
* Press 'Save target'
* Name your target elf-ears2.target and save it
If you did this in the correct folder, your new target should appear in Makehuman and you can use it there!
When you made one target you can not make one more, so you need to delete the Shape keys, in blender, to load/make a new one. Be sure to make a backup if your work was brilliant!
You may also notice that not all targets will get loaded correctly to Blender using MakeTarget2, I do not know why...
You can now import your character from Makehuman make a new community Target and you can get it to work in Makehuman. Using two of the must have Blender addons.
==Using '''MHX2 import'''==
Now try to EXPORT your MakeHuman character in '''MHX2''' format. You probably already know that you can load and save characters, and you can not "transfer" them to Blender. But some of the data appears to be lost, left out or missing when you look at the character in Blender.
However when you make use of the 'MHX2 runtime' import you will notice that it imports shape keys - however these shape keys are not "know" when you look for them in MakeHuman! There are some similar targets, but they are not the same! MHX2 runtime simply can add some predefined 'Face shape and face shape drivers' to your character, when you thick the box in before you import. (You can also chose to import the Base mesh, the Proxy or both..!)
You should try to play around with the MHX2 import options. I ended up with some very specific settings, as I want to import the character in UE4 - you may find that you need different settings depending on what your need are.
In case you think you now know enough about MakeTarget2 and MHX2 import, you can now take a look at what can be done with MakeShapes.
=Using MakeShapes=
You should be familiar with Makehuman, MakeTargert2, MHX2 import - that is you should be able to perform the following tasks:
* 'Import human' for the base human character from Makehuman to Blender. (do this now)
* You should have installed MakeTarget2 to blender and you can now install MakeShapes - notice that it will install with MakeTarget2
You don't need to use MakeTarget2, but you will now need to locate some '''.target''' files, and the faceshape.mxa that you will use soon!
With your file explorer try to locate this directory, on your computer:
C:\users\<your user>\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons
=MakeShapes progress=
===MakeShapes, done.... ===
While MakeTargt2 can help you modify existing target it will not help you much when you what to "transfer" shape keys. My very first attempt on learning Python and making a new Blender addon involved using VSCode and and extension called 'Blender code' - whit that you can run Blender and the load and debug an existing addon... this was what I did with MakeTaget2.
Messing around with the code I found out how to change the names of the shape keys, name to the "file name". After that it was easy to read all .target files from a directory and add them all as shape keys! This took me only half the way though... as I wanted the shape keys to merge with the character, any character, that I made in MakeHuman. I did try several tools for transfer shape keys, but some did not work at all and some would transfer only party or with some issues. So I finally looked into how the original set of shape keys came to Blender. And I found that the 'MHX2 import' added "face shapes".. that were not part of the original export!
Using the MakeTarget2 print/save functions enabled me to "dump" the raw 'Shape key' data to print/files and I am now able to cut/paste the "printed" version. Say, the elf-ears, can now be add to the file that 'MHX2 import' works with, and the shape keys will be added to the imported Blender characters... for both Base/proxy mesh. Right now MakeShapes will export the selected shape key only.
===MakeShapes todo===
* The addon must be packaged and put on Github
* I need to output all of the shape keys, in one "faceshape" file.
* I want to be able to process expressions.
* I I what to be able to process all expression builder targets
97c165d5c5a3a3ac3c8dc4d3306e350ceda3b510
1767
1766
2020-04-18T11:56:15Z
Assetdk
89
/* MakeShapes progress */
wikitext
text/x-wiki
=MakeShapes for Blender=
This is a new tool for importing MakeHuman Targets as Shape Keys in Blender.
Please read the instructions below carefully and be sure to make a backup of any addons you change etc.
==Introduction==
When working with MakeHuman in Blender you will have some high quality characters to play with and you will see that the community addons can help you a lot. There are a few primary '''[http://www.makehumancommunity.org/content/plugins.html must have Blender addons]''' please use '''Blender 2.8''' - these are the tree you will need to have and know about to use '''MakeShapes''':
* Makehuman the community addon, that will allow you to fetch your character from MakeHuman to Blender directly!
* MHX2 Runtime, that will allow you to the import MHX2 files you made in MakeHuman
* [[Documentation:MHBlenderTools:_MakeTarget]] that will help you to make new Targets to be used from within MakeHuman.
When you want to use your characters in Blender, or when you want to export them to a game engine - UE4 or Unity - you even get some shape keys, also called morph targets. These are however not always "included" in the files exported from MakeHuman - specifically the shape keys are added by the MHX2 runtime addon. ( Also the community Blender addon contains some kind of shape key/pose functionality, but I have not been able to find any explanations for what they are doing! )
Rather than making your characters in MakeHuman with one fixed expression/shape/pose, you would probably want to have the same options available in Blender. So I investigated the above addons and made MakeShapes as a small extension to MakeTartarget2. The general idea is have been to to transfer the Targets, expressions and the expression builder "sliders"... as-is, so they can be used as shape keys.
You can also take a look at this page for more on how to work with Blender: [[Moving Assets into Blender]].
And I also made these pages:
* [[Documentation:Saving_models_for_Unreal_Engine_and_how_to_import_them_there]].
* [[Documentation:Unreal Engine ALS V4]]
* [[Documentation:Unreal Engine Vehicle Variety Pack]]
==Find the addon on GitHub==
This is the link for the addon master: [https://github.com/AssetDK/makeshapes]
You need to add the addon to Blender and you need to know about two other addons, as described below.
Currently this addon have been tested on Blender 2.80 only, but it should work on any Blender version that works for the two addons.
===Current status===
Thus far, in version 0.1.0 of the tool all of the Targets can be imported to Blender and the targets can be added to MHX2.
=Getting started with MakeTarget2=
It makes good sense to learn how to use MankeTarget2 first. In general this addon was made by Joel Palmius, and it builds upon the fact that you can directly transfer the characters you have loaded in MakeHuman. So start up MakeHuman and set it up to communicate with the Blender addon (This is done in the community/Socket tab, and the setting in the Blender addon must be the same. As they are by default).
The process is very simple, you load your character to MakeHuman, without any targets, but as you would like to see it in Blender/UE4/Unity. And then you go to Blender and run 'Import human'!
In the current version of MakeTarget2 you will have two options, when you select the 'Body' or 'BaseMesh' you imported.
When you press the 'Load target' button you must locate an existing .target file. These can be found in a directory: C:\Users\<user>\Documents\makehuman\v1py3\data\custom (this may change depending on how you set up MH!). These are accessed in Makehuman via Modelling/community - make sure to check out that you can find even more community targets!
Try this now, selecting elf-ears.target and load this. Two new entries are made under shape keys: Basis, PrimaryTarget. And your character should now have elf ears! You can change the size of the ears, in 'Object mode'. The general scope of MakeTarget2 is that you can make a new target, or you can load one and change it - when you are satisfied with that you can save you new target file, import and use it in MakeHuman....:
* Go to 'edit mode',
* edit the elf-ears
* Press 'Save target'
* Name your target elf-ears2.target and save it
If you did this in the correct folder, your new target should appear in Makehuman and you can use it there!
When you made one target you can not make one more, so you need to delete the Shape keys, in blender, to load/make a new one. Be sure to make a backup if your work was brilliant!
You may also notice that not all targets will get loaded correctly to Blender using MakeTarget2, I do not know why...
You can now import your character from Makehuman make a new community Target and you can get it to work in Makehuman. Using two of the must have Blender addons.
==Using '''MHX2 import'''==
Now try to EXPORT your MakeHuman character in '''MHX2''' format. You probably already know that you can load and save characters, and you can not "transfer" them to Blender. But some of the data appears to be lost, left out or missing when you look at the character in Blender.
However when you make use of the 'MHX2 runtime' import you will notice that it imports shape keys - however these shape keys are not "know" when you look for them in MakeHuman! There are some similar targets, but they are not the same! MHX2 runtime simply can add some predefined 'Face shape and face shape drivers' to your character, when you thick the box in before you import. (You can also chose to import the Base mesh, the Proxy or both..!)
You should try to play around with the MHX2 import options. I ended up with some very specific settings, as I want to import the character in UE4 - you may find that you need different settings depending on what your need are.
In case you think you now know enough about MakeTarget2 and MHX2 import, you can now take a look at what can be done with MakeShapes.
=Using MakeShapes=
=MakeShapes progress=
===MakeShapes, done.... ===
While MakeTargt2 can help you modify existing target it will not help you much when you what to "transfer" shape keys. My very first attempt on learning Python and making a new Blender addon involved using VSCode and and extension called 'Blender code' - whit that you can run Blender and the load and debug an existing addon... this was what I did with MakeTaget2.
Messing around with the code I found out how to change the names of the shape keys, name to the "file name". After that it was easy to read all .target files from a directory and add them all as shape keys! This took me only half the way though... as I wanted the shape keys to merge with the character, any character, that I made in MakeHuman. I did try several tools for transfer shape keys, but some did not work at all and some would transfer only party or with some issues. So I finally looked into how the original set of shape keys came to Blender. And I found that the 'MHX2 import' added "face shapes".. that were not part of the original export!
Using the MakeTarget2 print/save functions enabled me to "dump" the raw 'Shape key' data to print/files and I am now able to cut/paste the "printed" version. Say, the elf-ears, can now be add to the file that 'MHX2 import' works with, and the shape keys will be added to the imported Blender characters... for both Base/proxy mesh. Right now MakeShapes will export the selected shape key only.
===MakeShapes todo===
* The addon must be packaged and put on Github
* I need to output all of the shape keys, in one "faceshape" file.
* I want to be able to process expressions.
* I I what to be able to process all expression builder targets
edc8da27c0178fa69b74fe53901f6196ad6d4304
1766
1765
2020-04-18T11:55:14Z
Assetdk
89
/* Getting started with MakeTarget2 */
wikitext
text/x-wiki
=MakeShapes for Blender=
This is a new tool for importing MakeHuman Targets as Shape Keys in Blender.
Please read the instructions below carefully and be sure to make a backup of any addons you change etc.
==Introduction==
When working with MakeHuman in Blender you will have some high quality characters to play with and you will see that the community addons can help you a lot. There are a few primary '''[http://www.makehumancommunity.org/content/plugins.html must have Blender addons]''' please use '''Blender 2.8''' - these are the tree you will need to have and know about to use '''MakeShapes''':
* Makehuman the community addon, that will allow you to fetch your character from MakeHuman to Blender directly!
* MHX2 Runtime, that will allow you to the import MHX2 files you made in MakeHuman
* [[Documentation:MHBlenderTools:_MakeTarget]] that will help you to make new Targets to be used from within MakeHuman.
When you want to use your characters in Blender, or when you want to export them to a game engine - UE4 or Unity - you even get some shape keys, also called morph targets. These are however not always "included" in the files exported from MakeHuman - specifically the shape keys are added by the MHX2 runtime addon. ( Also the community Blender addon contains some kind of shape key/pose functionality, but I have not been able to find any explanations for what they are doing! )
Rather than making your characters in MakeHuman with one fixed expression/shape/pose, you would probably want to have the same options available in Blender. So I investigated the above addons and made MakeShapes as a small extension to MakeTartarget2. The general idea is have been to to transfer the Targets, expressions and the expression builder "sliders"... as-is, so they can be used as shape keys.
You can also take a look at this page for more on how to work with Blender: [[Moving Assets into Blender]].
And I also made these pages:
* [[Documentation:Saving_models_for_Unreal_Engine_and_how_to_import_them_there]].
* [[Documentation:Unreal Engine ALS V4]]
* [[Documentation:Unreal Engine Vehicle Variety Pack]]
==Find the addon on GitHub==
This is the link for the addon master: [https://github.com/AssetDK/makeshapes]
You need to add the addon to Blender and you need to know about two other addons, as described below.
Currently this addon have been tested on Blender 2.80 only, but it should work on any Blender version that works for the two addons.
===Current status===
Thus far, in version 0.1.0 of the tool all of the Targets can be imported to Blender and the targets can be added to MHX2.
=Getting started with MakeTarget2=
It makes good sense to learn how to use MankeTarget2 first. In general this addon was made by Joel Palmius, and it builds upon the fact that you can directly transfer the characters you have loaded in MakeHuman. So start up MakeHuman and set it up to communicate with the Blender addon (This is done in the community/Socket tab, and the setting in the Blender addon must be the same. As they are by default).
The process is very simple, you load your character to MakeHuman, without any targets, but as you would like to see it in Blender/UE4/Unity. And then you go to Blender and run 'Import human'!
In the current version of MakeTarget2 you will have two options, when you select the 'Body' or 'BaseMesh' you imported.
When you press the 'Load target' button you must locate an existing .target file. These can be found in a directory: C:\Users\<user>\Documents\makehuman\v1py3\data\custom (this may change depending on how you set up MH!). These are accessed in Makehuman via Modelling/community - make sure to check out that you can find even more community targets!
Try this now, selecting elf-ears.target and load this. Two new entries are made under shape keys: Basis, PrimaryTarget. And your character should now have elf ears! You can change the size of the ears, in 'Object mode'. The general scope of MakeTarget2 is that you can make a new target, or you can load one and change it - when you are satisfied with that you can save you new target file, import and use it in MakeHuman....:
* Go to 'edit mode',
* edit the elf-ears
* Press 'Save target'
* Name your target elf-ears2.target and save it
If you did this in the correct folder, your new target should appear in Makehuman and you can use it there!
When you made one target you can not make one more, so you need to delete the Shape keys, in blender, to load/make a new one. Be sure to make a backup if your work was brilliant!
You may also notice that not all targets will get loaded correctly to Blender using MakeTarget2, I do not know why...
You can now import your character from Makehuman make a new community Target and you can get it to work in Makehuman. Using two of the must have Blender addons.
==Using '''MHX2 import'''==
Now try to EXPORT your MakeHuman character in '''MHX2''' format. You probably already know that you can load and save characters, and you can not "transfer" them to Blender. But some of the data appears to be lost, left out or missing when you look at the character in Blender.
However when you make use of the 'MHX2 runtime' import you will notice that it imports shape keys - however these shape keys are not "know" when you look for them in MakeHuman! There are some similar targets, but they are not the same! MHX2 runtime simply can add some predefined 'Face shape and face shape drivers' to your character, when you thick the box in before you import. (You can also chose to import the Base mesh, the Proxy or both..!)
You should try to play around with the MHX2 import options. I ended up with some very specific settings, as I want to import the character in UE4 - you may find that you need different settings depending on what your need are.
In case you think you now know enough about MakeTarget2 and MHX2 import, you can now take a look at what can be done with MakeShapes.
=MakeShapes progress=
===MakeShapes, done.... ===
While MakeTargt2 can help you modify existing target it will not help you much when you what to "transfer" shape keys. My very first attempt on learning Python and making a new Blender addon involved using VSCode and and extension called 'Blender code' - whit that you can run Blender and the load and debug an existing addon... this was what I did with MakeTaget2.
Messing around with the code I found out how to change the names of the shape keys, name to the "file name". After that it was easy to read all .target files from a directory and add them all as shape keys! This took me only half the way though... as I wanted the shape keys to merge with the character, any character, that I made in MakeHuman. I did try several tools for transfer shape keys, but some did not work at all and some would transfer only party or with some issues. So I finally looked into how the original set of shape keys came to Blender. And I found that the 'MHX2 import' added "face shapes".. that were not part of the original export!
Using the MakeTarget2 print/save functions enabled me to "dump" the raw 'Shape key' data to print/files and I am now able to cut/paste the "printed" version. Say, the elf-ears, can now be add to the file that 'MHX2 import' works with, and the shape keys will be added to the imported Blender characters... for both Base/proxy mesh. Right now MakeShapes will export the selected shape key only.
===MakeShapes todo===
* The addon must be packaged and put on Github
* I need to output all of the shape keys, in one "faceshape" file.
* I want to be able to process expressions.
* I I what to be able to process all expression builder targets
627d45234bbc1f9643b44fb7a01b92b7e5c5273f
1765
1764
2020-04-18T11:50:36Z
Assetdk
89
/* Introduction */
wikitext
text/x-wiki
=MakeShapes for Blender=
This is a new tool for importing MakeHuman Targets as Shape Keys in Blender.
Please read the instructions below carefully and be sure to make a backup of any addons you change etc.
==Introduction==
When working with MakeHuman in Blender you will have some high quality characters to play with and you will see that the community addons can help you a lot. There are a few primary '''[http://www.makehumancommunity.org/content/plugins.html must have Blender addons]''' please use '''Blender 2.8''' - these are the tree you will need to have and know about to use '''MakeShapes''':
* Makehuman the community addon, that will allow you to fetch your character from MakeHuman to Blender directly!
* MHX2 Runtime, that will allow you to the import MHX2 files you made in MakeHuman
* [[Documentation:MHBlenderTools:_MakeTarget]] that will help you to make new Targets to be used from within MakeHuman.
When you want to use your characters in Blender, or when you want to export them to a game engine - UE4 or Unity - you even get some shape keys, also called morph targets. These are however not always "included" in the files exported from MakeHuman - specifically the shape keys are added by the MHX2 runtime addon. ( Also the community Blender addon contains some kind of shape key/pose functionality, but I have not been able to find any explanations for what they are doing! )
Rather than making your characters in MakeHuman with one fixed expression/shape/pose, you would probably want to have the same options available in Blender. So I investigated the above addons and made MakeShapes as a small extension to MakeTartarget2. The general idea is have been to to transfer the Targets, expressions and the expression builder "sliders"... as-is, so they can be used as shape keys.
You can also take a look at this page for more on how to work with Blender: [[Moving Assets into Blender]].
And I also made these pages:
* [[Documentation:Saving_models_for_Unreal_Engine_and_how_to_import_them_there]].
* [[Documentation:Unreal Engine ALS V4]]
* [[Documentation:Unreal Engine Vehicle Variety Pack]]
==Find the addon on GitHub==
This is the link for the addon master: [https://github.com/AssetDK/makeshapes]
You need to add the addon to Blender and you need to know about two other addons, as described below.
Currently this addon have been tested on Blender 2.80 only, but it should work on any Blender version that works for the two addons.
===Current status===
Thus far, in version 0.1.0 of the tool all of the Targets can be imported to Blender and the targets can be added to MHX2.
==Getting started with MakeTarget2==
It makes good sense to learn how to use MankeTarget2 first. In general this addon was made by Joel Palmius, and it builds upon the fact that you can directly transfer the characters you have loaded in MakeHuman. So start up MakeHuman and set it up to communicate with the Blender addon (This is done in the community/Socket tab, and the setting in the Blender addon must be the same. As they are by default).
The process is very simple, you load your character to MakeHuman, without any targets, but as you would like to see it in Blender/UE4/Unity. And then you go to Blender and run 'Import human'!
In the current version of MakeTarget2 you will have two options, when you select the 'Body' or 'BaseMesh' you imported.
When you press the 'Load target' button you must locate an existing .target file. These can be found in a directory: C:\Users\<user>\Documents\makehuman\v1py3\data\custom (this may change depending on how you set up MH!). These are accessed in Makehuman via Modelling/community - make sure to check out that you can find even more community targets!
Try this now, selecting elf-ears.target and load this. Two new entries are made under shape keys: Basis, PrimaryTarget. And your character should now have elf ears! You can change the size of the ears, in 'Object mode'. The general scope of MakeTarget2 is that you can make a new target, or you can load one and change it - when you are satisfied with that you can save you new target file, import and use it in MakeHuman....:
* Go to 'edit mode',
* edit the elf-ears
* Press 'Save target'
* Name your target elf-ears2.target and save it
If you did this in the correct folder, your new target should appear in Makehuman and you can use it there!
When you made one target you can not make one more, so you need to delete the Shape keys, in blender, to load/make a new one. Be sure to make a backup if your work was brilliant!
You may also notice that not all targets will get loaded correctly to Blender using MakeTarget2, I do not know why...
You can now import your character from Makehuman make a new community Target and you can get it to work in Makehuman. Using two of the must have Blender addons.
==Using '''MHX2 import'''==
Now try to EXPORT your MakeHuman character in '''MHX2''' format. You probably already know that you can load and save characters, and you can not "transfer" them to Blender. But some of the data appears to be lost, left out or missing when you look at the character in Blender.
However when you make use of the 'MHX2 runtime' import you will notice that it imports shape keys - however these shape keys are not "know" when you look for them in MakeHuman! There are some similar targets, but they are not the same! MHX2 runtime simply can add some predefined 'Face shape and face shape drivers' to your character, when you thick the box in before you import. (You can also chose to import the Base mesh, the Proxy or both..!)
You should try to play around with the MHX2 import options. I ended up with some very specific settings, as I want to import the character in UE4 - you may find that you need different settings depending on what your need are.
In case you think you now know enough about MakeTarget2 and MHX2 import, you can now take a look at what can be done with MakeShapes.
=MakeShapes progress=
===MakeShapes, done.... ===
While MakeTargt2 can help you modify existing target it will not help you much when you what to "transfer" shape keys. My very first attempt on learning Python and making a new Blender addon involved using VSCode and and extension called 'Blender code' - whit that you can run Blender and the load and debug an existing addon... this was what I did with MakeTaget2.
Messing around with the code I found out how to change the names of the shape keys, name to the "file name". After that it was easy to read all .target files from a directory and add them all as shape keys! This took me only half the way though... as I wanted the shape keys to merge with the character, any character, that I made in MakeHuman. I did try several tools for transfer shape keys, but some did not work at all and some would transfer only party or with some issues. So I finally looked into how the original set of shape keys came to Blender. And I found that the 'MHX2 import' added "face shapes".. that were not part of the original export!
Using the MakeTarget2 print/save functions enabled me to "dump" the raw 'Shape key' data to print/files and I am now able to cut/paste the "printed" version. Say, the elf-ears, can now be add to the file that 'MHX2 import' works with, and the shape keys will be added to the imported Blender characters... for both Base/proxy mesh. Right now MakeShapes will export the selected shape key only.
===MakeShapes todo===
* The addon must be packaged and put on Github
* I need to output all of the shape keys, in one "faceshape" file.
* I want to be able to process expressions.
* I I what to be able to process all expression builder targets
57b35f91bd2224a9740af2324c3b71fc4c56b8dd
1764
1763
2020-04-15T14:10:12Z
Assetdk
89
/* Introduction */
wikitext
text/x-wiki
=MakeShapes for Blender=
This is a new tool for importing MakeHuman Targets as Shape Keys in Blender.
Please read the instructions below carefully and be sure to make a backup of any addons you change etc.
==Introduction==
When working with MakeHuman in Blender you will have some high quality characters to play with and you will see that the community addons can help you a lot. There are a few primary '''[http://www.makehumancommunity.org/content/plugins.html must have Blender addons]''' please use '''Blender 2.8''' - these are the tree you will need to have and know about to use '''MakeShapes''':
* Makehuman the community addon, that will allow you to fetch your character from MakeHuman to Blender directly!
* MHX2 Runtime, that will allow you to the import MHX2 files you made in MakeHuman
* [[Documentation:MHBlenderTools:_MakeTarget]] that will help you to make new Targets to be used from within MakeHuman.
When you want to use your characters in Blender, or when you want to export them to a game engine - UE4 or Unity - you even get some shape keys, also called morph targets. These are however not always "included" in the files exported from MakeHuman - specifically the shape keys are added by the MHX2 runtime addon. ( Also the community Blender addon contains some kind of shape key/pose functionality, but I have not been able to find any explanations for what they are doing! )
Rather than making your characters in MakeHuman with one fixed expression/shape/pose, you would probably want to have the same options available in Blender. So I investigated the above addons and made MakeShapes as a small extension to MakeTartarget2. The general idea is have been to to transfer the Targets, expressions and the expression builder "sliders"... as-is, so they can be used as shape keys.
You can also take a look at this page for more on how to work with Blender: [[Moving Assets into Blender]].
And I also made these pages:
* [[Documentation:Saving_models_for_Unreal_Engine_and_how_to_import_them_there]].
* [[Documentation:Unreal Engine ALS V4]]
* [[Documentation:Unreal Engine Vehicle Variety Pack]]
===Current status===
Thus far, in version 0.1.0 of the tool all of the Targets can be imported to Blender and the targets can be added to MHX2 (but only one by one!).
==Getting started with MakeTarget2==
It makes good sense to learn how to use MankeTarget2 first. In general this addon was made by Joel Palmius, and it builds upon the fact that you can directly transfer the characters you have loaded in MakeHuman. So start up MakeHuman and set it up to communicate with the Blender addon (This is done in the community/Socket tab, and the setting in the Blender addon must be the same. As they are by default).
The process is very simple, you load your character to MakeHuman, without any targets, but as you would like to see it in Blender/UE4/Unity. And then you go to Blender and run 'Import human'!
In the current version of MakeTarget2 you will have two options, when you select the 'Body' or 'BaseMesh' you imported.
When you press the 'Load target' button you must locate an existing .target file. These can be found in a directory: C:\Users\<user>\Documents\makehuman\v1py3\data\custom (this may change depending on how you set up MH!). These are accessed in Makehuman via Modelling/community - make sure to check out that you can find even more community targets!
Try this now, selecting elf-ears.target and load this. Two new entries are made under shape keys: Basis, PrimaryTarget. And your character should now have elf ears! You can change the size of the ears, in 'Object mode'. The general scope of MakeTarget2 is that you can make a new target, or you can load one and change it - when you are satisfied with that you can save you new target file, import and use it in MakeHuman....:
* Go to 'edit mode',
* edit the elf-ears
* Press 'Save target'
* Name your target elf-ears2.target and save it
If you did this in the correct folder, your new target should appear in Makehuman and you can use it there!
When you made one target you can not make one more, so you need to delete the Shape keys, in blender, to load/make a new one. Be sure to make a backup if your work was brilliant!
You may also notice that not all targets will get loaded correctly to Blender using MakeTarget2, I do not know why...
You can now import your character from Makehuman make a new community Target and you can get it to work in Makehuman. Using two of the must have Blender addons.
==Using '''MHX2 import'''==
Now try to EXPORT your MakeHuman character in '''MHX2''' format. You probably already know that you can load and save characters, and you can not "transfer" them to Blender. But some of the data appears to be lost, left out or missing when you look at the character in Blender.
However when you make use of the 'MHX2 runtime' import you will notice that it imports shape keys - however these shape keys are not "know" when you look for them in MakeHuman! There are some similar targets, but they are not the same! MHX2 runtime simply can add some predefined 'Face shape and face shape drivers' to your character, when you thick the box in before you import. (You can also chose to import the Base mesh, the Proxy or both..!)
You should try to play around with the MHX2 import options. I ended up with some very specific settings, as I want to import the character in UE4 - you may find that you need different settings depending on what your need are.
In case you think you now know enough about MakeTarget2 and MHX2 import, you can now take a look at what can be done with MakeShapes.
=MakeShapes progress=
===MakeShapes, done.... ===
While MakeTargt2 can help you modify existing target it will not help you much when you what to "transfer" shape keys. My very first attempt on learning Python and making a new Blender addon involved using VSCode and and extension called 'Blender code' - whit that you can run Blender and the load and debug an existing addon... this was what I did with MakeTaget2.
Messing around with the code I found out how to change the names of the shape keys, name to the "file name". After that it was easy to read all .target files from a directory and add them all as shape keys! This took me only half the way though... as I wanted the shape keys to merge with the character, any character, that I made in MakeHuman. I did try several tools for transfer shape keys, but some did not work at all and some would transfer only party or with some issues. So I finally looked into how the original set of shape keys came to Blender. And I found that the 'MHX2 import' added "face shapes".. that were not part of the original export!
Using the MakeTarget2 print/save functions enabled me to "dump" the raw 'Shape key' data to print/files and I am now able to cut/paste the "printed" version. Say, the elf-ears, can now be add to the file that 'MHX2 import' works with, and the shape keys will be added to the imported Blender characters... for both Base/proxy mesh. Right now MakeShapes will export the selected shape key only.
===MakeShapes todo===
* The addon must be packaged and put on Github
* I need to output all of the shape keys, in one "faceshape" file.
* I want to be able to process expressions.
* I I what to be able to process all expression builder targets
8df6b708f2fe94acdf2d3667d92ac46374482d31
1763
1762
2020-04-15T14:07:09Z
Assetdk
89
/* Introduction */
wikitext
text/x-wiki
=MakeShapes for Blender=
This is a new tool for importing MakeHuman Targets as Shape Keys in Blender.
Please read the instructions below carefully and be sure to make a backup of any addons you change etc.
==Introduction==
When working with MakeHuman in Blender you will have some high quality characters to play with and you will see that the community addons can help you a lot. There are a few primary '''[http://www.makehumancommunity.org/content/plugins.html must have Blender addons]''' - these are the tree you will need to have and know about to use '''MakeShapes''':
* Makehuman the community addon, that will allow you to fetch your character from MakeHuman to Blender directly!
* MHX2 Runtime, that will allow you to the import MHX2 files you made in MakeHuman
* [[Documentation:MHBlenderTools:_MakeTarget]] that will help you to make new Targets to be used from within MakeHuman.
When you want to use your characters in Blender, or when you want to export them to a game engine - UE4 or Unity - you even get some shape keys, also called morph targets. These are however not always "included" in the files exported from MakeHuman - specifically the shape keys are added by the MHX2 runtime addon. ( Also the community Blender addon contains some kind of shape key/pose functionality, but I have not been able to find any explanations for what they are doing! )
Rather than making your characters in MakeHuman with one fixed expression/shape/pose, you would probably want to have the same options available in Blender. So I investigated the above addons and made MakeShapes as a small extension to MakeTartarget2. The general idea is have been to to transfer the Targets, expressions and the expression builder "sliders"... as-is, so they can be used as shape keys.
You can also take a look at this page for more on how to work with Blender: [[Moving Assets into Blender]].
And I also made these pages:
* [[Documentation:Saving_models_for_Unreal_Engine_and_how_to_import_them_there]].
* [[Documentation:Unreal Engine ALS V4]]
* [[Documentation:Unreal Engine Vehicle Variety Pack]]
===Current status===
Thus far, in version 0.1.0 of the tool all of the Targets can be imported to Blender and the targets can be added to MHX2 (but only one by one!).
==Getting started with MakeTarget2==
It makes good sense to learn how to use MankeTarget2 first. In general this addon was made by Joel Palmius, and it builds upon the fact that you can directly transfer the characters you have loaded in MakeHuman. So start up MakeHuman and set it up to communicate with the Blender addon (This is done in the community/Socket tab, and the setting in the Blender addon must be the same. As they are by default).
The process is very simple, you load your character to MakeHuman, without any targets, but as you would like to see it in Blender/UE4/Unity. And then you go to Blender and run 'Import human'!
In the current version of MakeTarget2 you will have two options, when you select the 'Body' or 'BaseMesh' you imported.
When you press the 'Load target' button you must locate an existing .target file. These can be found in a directory: C:\Users\<user>\Documents\makehuman\v1py3\data\custom (this may change depending on how you set up MH!). These are accessed in Makehuman via Modelling/community - make sure to check out that you can find even more community targets!
Try this now, selecting elf-ears.target and load this. Two new entries are made under shape keys: Basis, PrimaryTarget. And your character should now have elf ears! You can change the size of the ears, in 'Object mode'. The general scope of MakeTarget2 is that you can make a new target, or you can load one and change it - when you are satisfied with that you can save you new target file, import and use it in MakeHuman....:
* Go to 'edit mode',
* edit the elf-ears
* Press 'Save target'
* Name your target elf-ears2.target and save it
If you did this in the correct folder, your new target should appear in Makehuman and you can use it there!
When you made one target you can not make one more, so you need to delete the Shape keys, in blender, to load/make a new one. Be sure to make a backup if your work was brilliant!
You may also notice that not all targets will get loaded correctly to Blender using MakeTarget2, I do not know why...
You can now import your character from Makehuman make a new community Target and you can get it to work in Makehuman. Using two of the must have Blender addons.
==Using '''MHX2 import'''==
Now try to EXPORT your MakeHuman character in '''MHX2''' format. You probably already know that you can load and save characters, and you can not "transfer" them to Blender. But some of the data appears to be lost, left out or missing when you look at the character in Blender.
However when you make use of the 'MHX2 runtime' import you will notice that it imports shape keys - however these shape keys are not "know" when you look for them in MakeHuman! There are some similar targets, but they are not the same! MHX2 runtime simply can add some predefined 'Face shape and face shape drivers' to your character, when you thick the box in before you import. (You can also chose to import the Base mesh, the Proxy or both..!)
You should try to play around with the MHX2 import options. I ended up with some very specific settings, as I want to import the character in UE4 - you may find that you need different settings depending on what your need are.
In case you think you now know enough about MakeTarget2 and MHX2 import, you can now take a look at what can be done with MakeShapes.
=MakeShapes progress=
===MakeShapes, done.... ===
While MakeTargt2 can help you modify existing target it will not help you much when you what to "transfer" shape keys. My very first attempt on learning Python and making a new Blender addon involved using VSCode and and extension called 'Blender code' - whit that you can run Blender and the load and debug an existing addon... this was what I did with MakeTaget2.
Messing around with the code I found out how to change the names of the shape keys, name to the "file name". After that it was easy to read all .target files from a directory and add them all as shape keys! This took me only half the way though... as I wanted the shape keys to merge with the character, any character, that I made in MakeHuman. I did try several tools for transfer shape keys, but some did not work at all and some would transfer only party or with some issues. So I finally looked into how the original set of shape keys came to Blender. And I found that the 'MHX2 import' added "face shapes".. that were not part of the original export!
Using the MakeTarget2 print/save functions enabled me to "dump" the raw 'Shape key' data to print/files and I am now able to cut/paste the "printed" version. Say, the elf-ears, can now be add to the file that 'MHX2 import' works with, and the shape keys will be added to the imported Blender characters... for both Base/proxy mesh. Right now MakeShapes will export the selected shape key only.
===MakeShapes todo===
* The addon must be packaged and put on Github
* I need to output all of the shape keys, in one "faceshape" file.
* I want to be able to process expressions.
* I I what to be able to process all expression builder targets
d2a40a5a40cbbdb2bd7a4c2e085a3aa349e32ff7
1762
1759
2020-04-15T14:02:57Z
Assetdk
89
/* MakeShapes, done.... */
wikitext
text/x-wiki
=MakeShapes for Blender=
This is a new tool for importing MakeHuman Targets as Shape Keys in Blender.
Please read the instructions below carefully and be sure to make a backup of any addons you change etc.
==Introduction==
When working with MakeHuman in Blender you will have some high quality characters to play with and you will see that the community addons can help you a lot. There are a few primary must have Blender addons - these are the tree you will need to have and know about to use '''MakeShapes''':
* Makehuman the community addon, that will allow you to fetch your character from MakeHuman to Blender directly!
* MHX2 Runtime, that will allow you to the import MHX2 files you made in MakeHuman
* [[Documentation:MHBlenderTools:_MakeTarget]] that will help you to make new Targets to be used from within MakeHuman.
When you want to use your characters in Blender, or when you want to export them to a game engine - UE4 or Unity - you even get some shape keys, also called morph targets. These are however not always "included" in the files exported from MakeHuman - specifically the shape keys are added by the MHX2 runtime addon. ( Also the community Blender addon contains some kind of shape key/pose functionality, but I have not been able to find any explanations for what they are doing! )
Rather than making your characters in MakeHuman with one fixed expression/shape/pose, you would probably want to have the same options available in Blender. So I investigated the above addons and made MakeShapes as a small extension to MakeTartarget2. The general idea is have been to to transfer the Targets, expressions and the expression builder "sliders"... as-is, so they can be used as shape keys.
You can also take a look at this page for more on how to work with Blender: [[Moving Assets into Blender]].
And I also made these pages:
* [[Documentation:Saving_models_for_Unreal_Engine_and_how_to_import_them_there]].
* [[Documentation:Unreal Engine ALS V4]]
* [[Documentation:Unreal Engine Vehicle Variety Pack]]
===Current status===
Thus far, in version 0.1.0 of the tool all of the Targets can be imported to Blender and the targets can be added to MHX2 (but only one by one!).
==Getting started with MakeTarget2==
It makes good sense to learn how to use MankeTarget2 first. In general this addon was made by Joel Palmius, and it builds upon the fact that you can directly transfer the characters you have loaded in MakeHuman. So start up MakeHuman and set it up to communicate with the Blender addon (This is done in the community/Socket tab, and the setting in the Blender addon must be the same. As they are by default).
The process is very simple, you load your character to MakeHuman, without any targets, but as you would like to see it in Blender/UE4/Unity. And then you go to Blender and run 'Import human'!
In the current version of MakeTarget2 you will have two options, when you select the 'Body' or 'BaseMesh' you imported.
When you press the 'Load target' button you must locate an existing .target file. These can be found in a directory: C:\Users\<user>\Documents\makehuman\v1py3\data\custom (this may change depending on how you set up MH!). These are accessed in Makehuman via Modelling/community - make sure to check out that you can find even more community targets!
Try this now, selecting elf-ears.target and load this. Two new entries are made under shape keys: Basis, PrimaryTarget. And your character should now have elf ears! You can change the size of the ears, in 'Object mode'. The general scope of MakeTarget2 is that you can make a new target, or you can load one and change it - when you are satisfied with that you can save you new target file, import and use it in MakeHuman....:
* Go to 'edit mode',
* edit the elf-ears
* Press 'Save target'
* Name your target elf-ears2.target and save it
If you did this in the correct folder, your new target should appear in Makehuman and you can use it there!
When you made one target you can not make one more, so you need to delete the Shape keys, in blender, to load/make a new one. Be sure to make a backup if your work was brilliant!
You may also notice that not all targets will get loaded correctly to Blender using MakeTarget2, I do not know why...
You can now import your character from Makehuman make a new community Target and you can get it to work in Makehuman. Using two of the must have Blender addons.
==Using '''MHX2 import'''==
Now try to EXPORT your MakeHuman character in '''MHX2''' format. You probably already know that you can load and save characters, and you can not "transfer" them to Blender. But some of the data appears to be lost, left out or missing when you look at the character in Blender.
However when you make use of the 'MHX2 runtime' import you will notice that it imports shape keys - however these shape keys are not "know" when you look for them in MakeHuman! There are some similar targets, but they are not the same! MHX2 runtime simply can add some predefined 'Face shape and face shape drivers' to your character, when you thick the box in before you import. (You can also chose to import the Base mesh, the Proxy or both..!)
You should try to play around with the MHX2 import options. I ended up with some very specific settings, as I want to import the character in UE4 - you may find that you need different settings depending on what your need are.
In case you think you now know enough about MakeTarget2 and MHX2 import, you can now take a look at what can be done with MakeShapes.
=MakeShapes progress=
===MakeShapes, done.... ===
While MakeTargt2 can help you modify existing target it will not help you much when you what to "transfer" shape keys. My very first attempt on learning Python and making a new Blender addon involved using VSCode and and extension called 'Blender code' - whit that you can run Blender and the load and debug an existing addon... this was what I did with MakeTaget2.
Messing around with the code I found out how to change the names of the shape keys, name to the "file name". After that it was easy to read all .target files from a directory and add them all as shape keys! This took me only half the way though... as I wanted the shape keys to merge with the character, any character, that I made in MakeHuman. I did try several tools for transfer shape keys, but some did not work at all and some would transfer only party or with some issues. So I finally looked into how the original set of shape keys came to Blender. And I found that the 'MHX2 import' added "face shapes".. that were not part of the original export!
Using the MakeTarget2 print/save functions enabled me to "dump" the raw 'Shape key' data to print/files and I am now able to cut/paste the "printed" version. Say, the elf-ears, can now be add to the file that 'MHX2 import' works with, and the shape keys will be added to the imported Blender characters... for both Base/proxy mesh. Right now MakeShapes will export the selected shape key only.
===MakeShapes todo===
* The addon must be packaged and put on Github
* I need to output all of the shape keys, in one "faceshape" file.
* I want to be able to process expressions.
* I I what to be able to process all expression builder targets
4dc462fc020f13cfc470ddd9348f274573bd25a9
1759
1758
2020-04-15T13:46:50Z
Assetdk
89
/* Introduction */
wikitext
text/x-wiki
=MakeShapes for Blender=
This is a new tool for importing MakeHuman Targets as Shape Keys in Blender.
Please read the instructions below carefully and be sure to make a backup of any addons you change etc.
==Introduction==
When working with MakeHuman in Blender you will have some high quality characters to play with and you will see that the community addons can help you a lot. There are a few primary must have Blender addons - these are the tree you will need to have and know about to use '''MakeShapes''':
* Makehuman the community addon, that will allow you to fetch your character from MakeHuman to Blender directly!
* MHX2 Runtime, that will allow you to the import MHX2 files you made in MakeHuman
* [[Documentation:MHBlenderTools:_MakeTarget]] that will help you to make new Targets to be used from within MakeHuman.
When you want to use your characters in Blender, or when you want to export them to a game engine - UE4 or Unity - you even get some shape keys, also called morph targets. These are however not always "included" in the files exported from MakeHuman - specifically the shape keys are added by the MHX2 runtime addon. ( Also the community Blender addon contains some kind of shape key/pose functionality, but I have not been able to find any explanations for what they are doing! )
Rather than making your characters in MakeHuman with one fixed expression/shape/pose, you would probably want to have the same options available in Blender. So I investigated the above addons and made MakeShapes as a small extension to MakeTartarget2. The general idea is have been to to transfer the Targets, expressions and the expression builder "sliders"... as-is, so they can be used as shape keys.
You can also take a look at this page for more on how to work with Blender: [[Moving Assets into Blender]].
And I also made these pages:
* [[Documentation:Saving_models_for_Unreal_Engine_and_how_to_import_them_there]].
* [[Documentation:Unreal Engine ALS V4]]
* [[Documentation:Unreal Engine Vehicle Variety Pack]]
===Current status===
Thus far, in version 0.1.0 of the tool all of the Targets can be imported to Blender and the targets can be added to MHX2 (but only one by one!).
==Getting started with MakeTarget2==
It makes good sense to learn how to use MankeTarget2 first. In general this addon was made by Joel Palmius, and it builds upon the fact that you can directly transfer the characters you have loaded in MakeHuman. So start up MakeHuman and set it up to communicate with the Blender addon (This is done in the community/Socket tab, and the setting in the Blender addon must be the same. As they are by default).
The process is very simple, you load your character to MakeHuman, without any targets, but as you would like to see it in Blender/UE4/Unity. And then you go to Blender and run 'Import human'!
In the current version of MakeTarget2 you will have two options, when you select the 'Body' or 'BaseMesh' you imported.
When you press the 'Load target' button you must locate an existing .target file. These can be found in a directory: C:\Users\<user>\Documents\makehuman\v1py3\data\custom (this may change depending on how you set up MH!). These are accessed in Makehuman via Modelling/community - make sure to check out that you can find even more community targets!
Try this now, selecting elf-ears.target and load this. Two new entries are made under shape keys: Basis, PrimaryTarget. And your character should now have elf ears! You can change the size of the ears, in 'Object mode'. The general scope of MakeTarget2 is that you can make a new target, or you can load one and change it - when you are satisfied with that you can save you new target file, import and use it in MakeHuman....:
* Go to 'edit mode',
* edit the elf-ears
* Press 'Save target'
* Name your target elf-ears2.target and save it
If you did this in the correct folder, your new target should appear in Makehuman and you can use it there!
When you made one target you can not make one more, so you need to delete the Shape keys, in blender, to load/make a new one. Be sure to make a backup if your work was brilliant!
You may also notice that not all targets will get loaded correctly to Blender using MakeTarget2, I do not know why...
You can now import your character from Makehuman make a new community Target and you can get it to work in Makehuman. Using two of the must have Blender addons.
==Using '''MHX2 import'''==
Now try to EXPORT your MakeHuman character in '''MHX2''' format. You probably already know that you can load and save characters, and you can not "transfer" them to Blender. But some of the data appears to be lost, left out or missing when you look at the character in Blender.
However when you make use of the 'MHX2 runtime' import you will notice that it imports shape keys - however these shape keys are not "know" when you look for them in MakeHuman! There are some similar targets, but they are not the same! MHX2 runtime simply can add some predefined 'Face shape and face shape drivers' to your character, when you thick the box in before you import. (You can also chose to import the Base mesh, the Proxy or both..!)
You should try to play around with the MHX2 import options. I ended up with some very specific settings, as I want to import the character in UE4 - you may find that you need different settings depending on what your need are.
In case you think you now know enough about MakeTarget2 and MHX2 import, you can now take a look at what can be done with MakeShapes.
=MakeShapes, done.... =
While MakeTargt2 can help you modify existing target it will not help you much when you what to "transfer" shape keys. My very first attempt on learning Python and making a new Blender addon involved using VSCode and and extension called 'Blender code' - whit that you can run Blender and the load and debug an existing addon... this was what I did with MakeTaget2.
Messing around with the code I found out how to change the names of the shape keys, name to the "file name". After that it was easy to read all .target files from a directory and add them all as shape keys! This took me only half the way though... as I wanted the shape keys to merge with the character, any character, that I made in MakeHuman. I did try several tools for transfer shape keys, but some did not work at all and some would transfer only party or with some issues. So I finally looked into how the original set of shape keys came to Blender. And I found that the 'MHX2 import' added "face shapes".. that were not part of the original export!
Using the MakeTarget2 print/save functions enabled me to "dump" the raw 'Shape key' data to print/files and I am now able to cut/paste the "printed" version. Say, the elf-ears, can now be add to the file that 'MHX2 import' works with, and the shape keys will be added to the imported Blender characters... for both Base/proxy mesh. Right now MakeShapes will export the selected shape key only.
==MakeShapes todo==
* The addon must be packaged and put on Github
* I need to output all of the shape keys, in one "faceshape" file.
* I want to be able to process expressions.
* I I what to be able to process all expression builder targets
da5bdc5d561eba78a6b91782d2ebd182f35e8a7f
1758
1757
2020-04-15T13:28:21Z
Assetdk
89
/* Introduction */
wikitext
text/x-wiki
=MakeShapes for Blender=
This is a new tool for importing MakeHuman Targets as Shape Keys in Blender.
Please read the instructions below carefully and be sure to make a backup of any addons you change etc.
==Introduction==
When working with MakeHuman in Blender you will have some high quality characters to play with and you will see that the community addons can help you a lot. There are a few primary must have Blender addons - these are the tree you will need to have and know about to use '''MakeShapes''':
* Makehuman the community addon, that will allow you to fetch your character from MakeHuman to Blender directly!
* MHX2 Runtime, that will allow you to the import MHX2 files you made in MakeHuman
* [[Documentation:MHBlenderTools:_MakeTarget]] that will help you to make new Targets to be used from within MakeHuman.
When you want to use your characters in Blender, or when you want to export them to a game engine - UE4 or Unity - you even get some shape keys, also called morph targets. These are however not always "included" in the files exported from MakeHuman - specifically the shape keys are added by the MHX2 runtime addon. ( Also the community Blender addon contains some kind of shape key/pose functionality, but I have not been able to find any explanations for what they are doing! )
Rather than making your characters in MakeHuman with one fixed expression/shape/pose, you would probably want to have the same options available in Blender. So I investigated the above addons and made MakeShapes as a small extension to MakeTartarget2. The general idea is have been to to transfer the Targets, expressions and the expression builder "sliders"... as-is, so they can be used as shape keys.
===Current status===
Thus far, in version 0.1.0 of the tool all of the Targets can be imported to Blender and the targets can be added to MHX2 (but only one by one!).
==Getting started with MakeTarget2==
It makes good sense to learn how to use MankeTarget2 first. In general this addon was made by Joel Palmius, and it builds upon the fact that you can directly transfer the characters you have loaded in MakeHuman. So start up MakeHuman and set it up to communicate with the Blender addon (This is done in the community/Socket tab, and the setting in the Blender addon must be the same. As they are by default).
The process is very simple, you load your character to MakeHuman, without any targets, but as you would like to see it in Blender/UE4/Unity. And then you go to Blender and run 'Import human'!
In the current version of MakeTarget2 you will have two options, when you select the 'Body' or 'BaseMesh' you imported.
When you press the 'Load target' button you must locate an existing .target file. These can be found in a directory: C:\Users\<user>\Documents\makehuman\v1py3\data\custom (this may change depending on how you set up MH!). These are accessed in Makehuman via Modelling/community - make sure to check out that you can find even more community targets!
Try this now, selecting elf-ears.target and load this. Two new entries are made under shape keys: Basis, PrimaryTarget. And your character should now have elf ears! You can change the size of the ears, in 'Object mode'. The general scope of MakeTarget2 is that you can make a new target, or you can load one and change it - when you are satisfied with that you can save you new target file, import and use it in MakeHuman....:
* Go to 'edit mode',
* edit the elf-ears
* Press 'Save target'
* Name your target elf-ears2.target and save it
If you did this in the correct folder, your new target should appear in Makehuman and you can use it there!
When you made one target you can not make one more, so you need to delete the Shape keys, in blender, to load/make a new one. Be sure to make a backup if your work was brilliant!
You may also notice that not all targets will get loaded correctly to Blender using MakeTarget2, I do not know why...
You can now import your character from Makehuman make a new community Target and you can get it to work in Makehuman. Using two of the must have Blender addons.
==Using '''MHX2 import'''==
Now try to EXPORT your MakeHuman character in '''MHX2''' format. You probably already know that you can load and save characters, and you can not "transfer" them to Blender. But some of the data appears to be lost, left out or missing when you look at the character in Blender.
However when you make use of the 'MHX2 runtime' import you will notice that it imports shape keys - however these shape keys are not "know" when you look for them in MakeHuman! There are some similar targets, but they are not the same! MHX2 runtime simply can add some predefined 'Face shape and face shape drivers' to your character, when you thick the box in before you import. (You can also chose to import the Base mesh, the Proxy or both..!)
You should try to play around with the MHX2 import options. I ended up with some very specific settings, as I want to import the character in UE4 - you may find that you need different settings depending on what your need are.
In case you think you now know enough about MakeTarget2 and MHX2 import, you can now take a look at what can be done with MakeShapes.
=MakeShapes, done.... =
While MakeTargt2 can help you modify existing target it will not help you much when you what to "transfer" shape keys. My very first attempt on learning Python and making a new Blender addon involved using VSCode and and extension called 'Blender code' - whit that you can run Blender and the load and debug an existing addon... this was what I did with MakeTaget2.
Messing around with the code I found out how to change the names of the shape keys, name to the "file name". After that it was easy to read all .target files from a directory and add them all as shape keys! This took me only half the way though... as I wanted the shape keys to merge with the character, any character, that I made in MakeHuman. I did try several tools for transfer shape keys, but some did not work at all and some would transfer only party or with some issues. So I finally looked into how the original set of shape keys came to Blender. And I found that the 'MHX2 import' added "face shapes".. that were not part of the original export!
Using the MakeTarget2 print/save functions enabled me to "dump" the raw 'Shape key' data to print/files and I am now able to cut/paste the "printed" version. Say, the elf-ears, can now be add to the file that 'MHX2 import' works with, and the shape keys will be added to the imported Blender characters... for both Base/proxy mesh. Right now MakeShapes will export the selected shape key only.
==MakeShapes todo==
* The addon must be packaged and put on Github
* I need to output all of the shape keys, in one "faceshape" file.
* I want to be able to process expressions.
* I I what to be able to process all expression builder targets
c380f95d54aa87f119d2be7aa3347ffe07969126
1757
1756
2020-04-15T11:43:56Z
Assetdk
89
/* Introduction */
wikitext
text/x-wiki
=MakeShapes for Blender=
This is a new tool for importing MakeHuman Targets as Shape Keys in Blender.
Please read the instructions below carefully and be sure to make a backup of any addons you change etc.
==Introduction==
When working with MakeHuman in Blender you will have some high quality characters to play with and you will see that the community addons can help you a lot. There are a few primary must have Blender addons - these are the tree you will need to have and know about to use '''MakeShapes''':
* Makehuman the community addon, that will allow you to fetch your character from MakeHuman to Blender directly!
* MHX2 Runtime, that will allow you to the import MHX2 files you made in MakeHuman
* [[Documentation:MHBlenderTools:_MakeTarget]] that will help you to make new Targets to be used from within MakeHuman.
When you want to use your characters in Blender, or when you want to export them to a game engine - UE4 or Unity - you even get some shape keys, also called morph targets. These are however not always "included" in the files exported from MakeHuman - specifically the shape keys are added by the MHX2 runtime addon. ( Also the community Blender addon contains some kind of shape key/pose functionality, but I have not been able to find any explanations for what they are doing! )
Rather than making your characters in MakeHuman with one fixed expression/shape/pose, you would probably want to have the same options available in Blender. So I investigated the above addons and made MakeShapes as a small extension to MakeTartarget2. The general idea is have been to to transfer the Targets, expressions and the expression builder "sliders"... as-is, so they can be used as shape keys.
===Current status===
Thus far, in version 0.1.0 of the tool all of the Targets can be imported to Blender and the targets can be added to MHX2 (but only one by one!).
3962e34d3e34632519b53930fa892da3aa1ba2b7
1756
1755
2020-04-15T11:39:59Z
Assetdk
89
/* Introduction */
wikitext
text/x-wiki
=MakeShapes for Blender=
This is a new tool for importing MakeHuman Targets as Shape Keys in Blender.
Please read the instructions below carefully and be sure to make a backup of any addons you change etc.
==Introduction==
When working with MakeHuman in Blender you will have some high quality characters to play with and you will see that the community addons can help you a lot. There are a few primary must have Blender addons - these are the tree you will need to have and know about to use '''MakeShapes''':
* Makehuman the community addon, that will allow you to fetch your character from MakeHuman to Blender directly!
* MHX2 Runtime, that will allow you to the import MHX2 files you made in MakeHuman
* [[Documentation:MHBlenderTools:_MakeTarget]] that will help you to make new Targets to be used from within MakeHuman.
When you want to use your characters in Blender, or when you want to export them to a game engine - UE4 or Unity - you even get some shape keys, also called morph targets. These are however not always "included" in the files exported from MakeHuman - specifically the shape keys are added by the MHX2 runtime addon. ( Also the community contains some kind of shape key/pose functionality, but I have not been able to find any explanations for what they are doing. )
Rather than making your characters in MakeHuman with one fixed expression/shape/pose, you would probably want to have the same options available in Blender. So I investigated the above addons and made MakeShapes as a small extension to MakeTartarget2. The general idea is have been to to transfer the Targets, expressions and the expression builder "sliders"... as-is, so they can be used as shape keys.
===Current status===
Thus far, in version 0.1.0 of the tool all of the Targets can be imported to Blender and the targets can be added to MHX2 (but only one by one!).
acfeaa4235ea19bae22e9b5708d16e9a2e248d82
1755
1754
2020-04-15T11:33:08Z
Assetdk
89
/* Introduction */
wikitext
text/x-wiki
=MakeShapes for Blender=
This is a new tool for importing MakeHuman Targets as Shape Keys in Blender.
Please read the instructions below carefully and be sure to make a backup of any addons you change etc.
==Introduction==
When working with MakeHuman in Blender you will have some high quality characters to play with and you will see that the community addons can help you a lot. There are a few primary must have Blender addons - these are the tree you will need to have and know about to use '''MakeShapes''':
* Makehuman the community addon, that will allow you to fetch your character from MakeHuman to Blender directly!
* MHX2 Runtime, that will allow you to the import MHX2 files you made in MakeHuman
* MakeTarget2 that will help you to make new Targets to be used from within MakeHuman.
When you want to use your characters in Blender, or when you want to export them to a game engine - UE4 or Unity - you even get some shape keys, also called morph targets. These are however not always "included" in the files exported from MakeHuman - specifically the shape keys are added by the MHX2 runtime addon. ( Also the community contains some kind of shape key/pose functionality, but I have not been able to find any explanations for what they are doing. )
Rather than making your characters in MakeHuman with one fixed expression/shape/pose, you would probably want to have the same options available in Blender. So I investigated the above addons and made MakeShapes as a small extension to MakeTartarget2. The general idea is have been to to transfer the Targets, expressions and the expression builder "sliders"... as-is, so they can be used as shape keys.
===Current status===
Thus far, in version 0.1.0 of the tool all of the Targets can be imported to Blender and the targets can be added to MHX2 (but only one by one!).
7b28acb269dbcc92ef94beb4ef85e543b0107553
1754
2020-04-15T10:52:28Z
Assetdk
89
Created page with "=MakeShapes for Blender= This is a new tool for importing MakeHuman Targets as Shape Keys in Blender. Please read the instructions below carefully and be sure to make a back..."
wikitext
text/x-wiki
=MakeShapes for Blender=
This is a new tool for importing MakeHuman Targets as Shape Keys in Blender.
Please read the instructions below carefully and be sure to make a backup of any addons you change etc.
==Introduction==
When working with MakeHuman in Blender you will have some high quality characters to play with and you will see that the community addons can help you a lot. There are some primary must have Blender addons - these are the tree you will need to have and know about to use '''MakeShapes''':
* Makehuman the community addon, that will allow you to fetch your character from MakeHuman to Blender directly!
* MHX2 Runtime, that will allow you to the import MHX2 files you made in MakeHuman
* MakeTarget2 that will allow you to make new Targets to be used from within MakeHuman....
a8e5819e537442d1381706dde3b08dc33794f44d
Documentation:MHBlenderTools: MakeTarget
3000
18
511
510
2015-08-30T08:58:56Z
Joepal
14
/* Introductory video */
wikitext
text/x-wiki
This section describes the blender version of MakeTarget. There is also a standalone version of MakeTarget.
For the information below to make sense and be useful, you will need to first install BlenderTools, see [[ Documentation:MHBlenderTools: Download and installation|MHBlenderTools: Download and installation ]]
== Introductory videos ==
If you find this page, this is a youtube video which might be useful:
{{#ev:youtube|X13k7H3dNHo}}
A longer and somewhat more gentle intro is provided by VScorpianC. If you're new to the subject, it will probably make sense to watch this:
{{#ev:youtube|CqH_Ec5NKNE}}
== What is a Target? The MakeHuman Morphing Process. ==
[[File:Morph1.png|left]] The principle is simple. A target is a modifcation to a base mesh shape that does not alter the mesh itself but that stores information that permits the base mesh to be transformed into the target shape using ‘morphing’. Targets are what allow the slider controls in MakeHuman™ to take a single base mesh for a character and morph the shape of that character based on a variety of different feature target files. The many target files used by MakeHuman™ can alter a single human base form into characters with features as different as those distinguishing male from female to as subtle as varying the shape of a single earlobe.
A target contains the offsets by which vertices of the human base model (base.obj) deviate from the original to achieve a specific feature. eg. a long nose could be a target. These targets can be combined and MakeHuman™ uses them by blending targets together and gradually applying them to the base mesh to create a nearly endless variety of human forms. Below are examples of target blending obtained by choosing a target that defined the character as male and combining that target with the extreme settings for other targets that determned the muscle tone or weight of the character.
MakeHuman™ handles morphing with a special file format, ".target".
<br style="clear:both" />
== Loading the Base Mesh ==
[[File:maketarget131-area.png|left]] While it is possible to create targets using Blender without using the MakeTarget™ tool for Blender; that tool has many useful features that simplify the target creation process and will be explained by the help that follows. Once the MakeTarget™ add-on has been enabled (see the previous "Get and Install MH Addons for Blender" section), a panel labelled MakeTarget™ version 1.xx appears in theBlender User Interface, to the right of the viewport. The visibility of the Blender User Interface can be toggled on and off with the N-key.
<br style="clear:both" />
== MakeTarget 1.31 ==
[[File:maketarget131.png|left]] Prior to loading any targets, the initial the MakeTarget™ panel consists of three main buttons. The first two buttons load the base human mesh, respectively with and without the special fitting tools. The third button labeled "Set As Base" sets an existing mesh (that must be MakeHuman™compliant and derived from the A8_v74.obj file distributed with the MakeTarget™ release within the maketarget/data/ folder) as a human base mesh. This third option is for users that have done editing of the base mesh in another 3D modelling program and that have saved or exported the model as a Wavefront .obj file.
Loading the "Human + Fit Tools" will import the base human +mesh helpers(image below, B). The "helpers" are special geometries, used in MakeHuman™ as a reference to correctly fit clothes, hair and accessories. These helpers can be annoying during the modelling of the character, so usually our artists first work on the pure body, loading the human only with the first button (image below, A), and then, in a successive step, they fit the helpers.
<br style="clear:both" />
[[File:helper_details.png|left]]
[[File:maketarget-base.png|right]]
<br style="clear:both" />
== Basic usage ==
=== The MakeTarget™ Version 1.09 Panel (After Loading The Target Mesh) ===
[[File:MakeTarget_load.png|left]]
After the mesh is loaded into the scene, the MakeTarget™panel layout will change, showing three new buttons that handle setting up the morphing targets. The first button creates a new empty target which will just be the original base mesh loaded in the previous step.
The second button loads the morphing from an existing target file. Do not attempt to load target files from the previous MakeHuman™versions, as these files are not compatible with the current base.
The third button creates a new target from an existing base mesh that is MakeHuman™compliant (derived from the A8_v74.obj file provided with the MakeTarget™release distribution), for example, a character modelled with an external tool (Maya, Max, C4D, etc..) and then saved or exported so that it can be imported into Blender as a wavefront obj file. To correctly use the third button, it is necessary to first select the imported base, then the MakeHuman™ base, and then press the Load Target From Mesh button. When the steps have been done correctly and that button is pressed the imported base will disappear and its transformations will be transferred onto the MakeHuman™ base.
<br style="clear:both" />
=== Editing The Target And The "Save Target As" Button ===
After a new empty target is initialized or an existing one is loaded/imported, the MakeTarget™ panel layout will change again, offering a rich set of new options (image below). For the basic use of the MakeTarget™ tool you may ignore all of these options except for the "Save Target As" button.
To create a custom target, the artist has to alter the base mesh, which is done in the usual way within Blender. First start edit mode, and then select one or more vertices, moving them to reshape the mesh. You may use the full power of Blender to create your morphing target design.The only rule, in order to create a valid morphing target, is to never add or delete a vertex, face or edge. The topology must be absolutely preserved.After the modelling process is completed, the MakeHuman™morphing target can be saved by pressing the "Save Target As" button on the MakeTarget™panel. By default this will save all of the offset deviations of every vertice from the base mesh into the target file.
== Advanced usage ==
=== The MakeTarget™Version 1.09 Panel (After Loading A Target) ===
During the creation or the editing of a target, as mentioned previously, the MakeTarget™panel shows a new layout with a rich set of options. Depending on whether the mesh is loaded without the fit tools (image below, left) or with the fit tools (image below, right), the panel offers different options.
[[File:maketarget131-panels.png]]
[[File:maketarget3.png|right]] At the top of the panel there is a numeric slider that determines the amount of morphing to apply from the target. The maximum value is 1.0, which means that the target morphing is fully applied. A value of 0 will show the original base mesh without any target morphing. The minimum value of the slider is -1.0. Using negative values usually creates weird effects as a projected inverse of the target morph is applied, but these settings are useful to subtract unwanted morphing results when multiple targets are combined. The effect is shown in the image beginning on the left with the full inverse of the morphing target, to the original base mesh in the middle, and finally to the fully applied morph target design on the right.
<br style="clear:both" />
=== Load Target Section (After The First Target Is Loaded) ===
[[File:MakeTargetLoadSecondaryTarget.png|left]]
The three buttons now in the "Load Target" section are used in exactly the same way as they were before any target was loaded, except that any targets that are now created or loaded with these buttons become a secondary target that can be applied to the previously loaded one. These buttons are used to append one or more additional targets to the first target and combine them in various proportions.
<br style="clear:both" />
=== Discard And Apply Target Section ===
[[File:MakeTargetDiscardAndApplyTarget.png|left]]
The first two buttons under the "Discard And Apply Target" section will either discard all of the targets (returning you to the original base mesh) or only the last target appended (which will either be the last secondary target applied or the primary target if no secondary targets have been applied). The button "Apply targets" under the "Discard And Apply Target" section is used to join all targets into a single unique morphing target combination.
<br style="clear:both" />
=== Symmetry Section ===
[[File:MakeTargetTargetSymmetryButtons.png|left]]
The two buttons in the "Symmetry" section are modelling tools, and are very useful. They have been designed to produce very reliable target results. Using the symmetry buttons will cause the mesh to become symetrical on either side of the X axis, with the option to apply edits from the left side of the character to the right side (Left->Right), or vice versa (Right->Left). Pressing these buttons will also align center vertices that have been unintentionally moved away from the center back to their center position.
<br style="clear:both" />
=== Save Target Section ===
[[File:MakeTargetSaveTargetSection.png|left]]
Finally, press the "Save Target As" button to save the .target file once all secondary targets and edits have been completed.
The checkbox labeled "Selected verts only" is a very important option. This option when checked will permit you to select a set of vertices in edit mode and then save only those vertices into the target file. Such targets are useful when you want the target to only morph the selected vertices and leave all other vertices completely unaffected by the morphing target. For example, an artist could design a morphing target that is limited to the hands only, a single hand only, or to the head only, and save a target containing vertices that will only morph those body parts, while having no effect on other parts of the body that were not explicitly chosen by the artist.
The checkbox labeled "Active Target Only" will cause the "Save Target As" button to only save the last target only. This option normally applies when one or more secondary targets have been added using the Load Target section after adding the initial target.
<br style="clear:both" />
=== Additional Fit Helper Buttons ===
[[File:MakeTargetFitTargetButton.png|left]]
[[File:MakeTargetSkirtEditingAffectOnly3.png|left]]
When the fit helpers have been included as part of the target, the additional options of the MakeTarget™ panel shown in the images above appear. These buttons are included to work with the helper objects. When the helpers have been loaded, an additional button labeled "Fit Targets" is available under the Load Target section. This button should be pressed after making alterations to the body that disconnect it from the helper objects, but prior to making modifications to those objects. This button will refit the clothing to the body, and if pressed when the default All option under the "Affect Only: section is selected, all clothing helpers will be refitted to the body. However, the refitting process will cause any modifications previously made to a refitted helper objects to be lost. To limit the Fit Target button behavior to a single helper object, you should specify the object that you want to have refitted under the Affects Only section appearing at the bottom of the panel. This will cause the refitting to only affect the chosen helper (for example the Hair), while leaving all other helper objects unaffected, preserving your edit modifications to those helpers (for example, the Tights and Skirt helpers will not be refitted and your modifications to those helpers will be preserved if the Hair Affects Only option is set).
The additional helper options also include buttons that improve the fit of the skirt specifically by snapping the skirt to the character's waist ("Snap Skirt Waist" button) or straightening the skirt ("Straighten Skirt" button). It is recommended that you still select the Skirt as the Affects Only option prior to pressing either of these buttons.
<br style="clear:both" />
ea753de9f660a383b4e9a6c3ba84143407497af3
510
469
2015-08-30T08:57:40Z
Joepal
14
/* Introductory video */
wikitext
text/x-wiki
This section describes the blender version of MakeTarget. There is also a standalone version of MakeTarget.
For the information below to make sense and be useful, you will need to first install BlenderTools, see [[ Documentation:MHBlenderTools: Download and installation|MHBlenderTools: Download and installation ]]
== Introductory video ==
If you find this page, this is a youtube video which might be useful:
{{#ev:youtube|X13k7H3dNHo}}
A longer and somewhat more gentle intro is provided by VScorpianC. If you're new to the subject, it will probably make sense to watch this:
{{#ev:youtube|CqH_Ec5NKNE}}
== What is a Target? The MakeHuman Morphing Process. ==
[[File:Morph1.png|left]] The principle is simple. A target is a modifcation to a base mesh shape that does not alter the mesh itself but that stores information that permits the base mesh to be transformed into the target shape using ‘morphing’. Targets are what allow the slider controls in MakeHuman™ to take a single base mesh for a character and morph the shape of that character based on a variety of different feature target files. The many target files used by MakeHuman™ can alter a single human base form into characters with features as different as those distinguishing male from female to as subtle as varying the shape of a single earlobe.
A target contains the offsets by which vertices of the human base model (base.obj) deviate from the original to achieve a specific feature. eg. a long nose could be a target. These targets can be combined and MakeHuman™ uses them by blending targets together and gradually applying them to the base mesh to create a nearly endless variety of human forms. Below are examples of target blending obtained by choosing a target that defined the character as male and combining that target with the extreme settings for other targets that determned the muscle tone or weight of the character.
MakeHuman™ handles morphing with a special file format, ".target".
<br style="clear:both" />
== Loading the Base Mesh ==
[[File:maketarget131-area.png|left]] While it is possible to create targets using Blender without using the MakeTarget™ tool for Blender; that tool has many useful features that simplify the target creation process and will be explained by the help that follows. Once the MakeTarget™ add-on has been enabled (see the previous "Get and Install MH Addons for Blender" section), a panel labelled MakeTarget™ version 1.xx appears in theBlender User Interface, to the right of the viewport. The visibility of the Blender User Interface can be toggled on and off with the N-key.
<br style="clear:both" />
== MakeTarget 1.31 ==
[[File:maketarget131.png|left]] Prior to loading any targets, the initial the MakeTarget™ panel consists of three main buttons. The first two buttons load the base human mesh, respectively with and without the special fitting tools. The third button labeled "Set As Base" sets an existing mesh (that must be MakeHuman™compliant and derived from the A8_v74.obj file distributed with the MakeTarget™ release within the maketarget/data/ folder) as a human base mesh. This third option is for users that have done editing of the base mesh in another 3D modelling program and that have saved or exported the model as a Wavefront .obj file.
Loading the "Human + Fit Tools" will import the base human +mesh helpers(image below, B). The "helpers" are special geometries, used in MakeHuman™ as a reference to correctly fit clothes, hair and accessories. These helpers can be annoying during the modelling of the character, so usually our artists first work on the pure body, loading the human only with the first button (image below, A), and then, in a successive step, they fit the helpers.
<br style="clear:both" />
[[File:helper_details.png|left]]
[[File:maketarget-base.png|right]]
<br style="clear:both" />
== Basic usage ==
=== The MakeTarget™ Version 1.09 Panel (After Loading The Target Mesh) ===
[[File:MakeTarget_load.png|left]]
After the mesh is loaded into the scene, the MakeTarget™panel layout will change, showing three new buttons that handle setting up the morphing targets. The first button creates a new empty target which will just be the original base mesh loaded in the previous step.
The second button loads the morphing from an existing target file. Do not attempt to load target files from the previous MakeHuman™versions, as these files are not compatible with the current base.
The third button creates a new target from an existing base mesh that is MakeHuman™compliant (derived from the A8_v74.obj file provided with the MakeTarget™release distribution), for example, a character modelled with an external tool (Maya, Max, C4D, etc..) and then saved or exported so that it can be imported into Blender as a wavefront obj file. To correctly use the third button, it is necessary to first select the imported base, then the MakeHuman™ base, and then press the Load Target From Mesh button. When the steps have been done correctly and that button is pressed the imported base will disappear and its transformations will be transferred onto the MakeHuman™ base.
<br style="clear:both" />
=== Editing The Target And The "Save Target As" Button ===
After a new empty target is initialized or an existing one is loaded/imported, the MakeTarget™ panel layout will change again, offering a rich set of new options (image below). For the basic use of the MakeTarget™ tool you may ignore all of these options except for the "Save Target As" button.
To create a custom target, the artist has to alter the base mesh, which is done in the usual way within Blender. First start edit mode, and then select one or more vertices, moving them to reshape the mesh. You may use the full power of Blender to create your morphing target design.The only rule, in order to create a valid morphing target, is to never add or delete a vertex, face or edge. The topology must be absolutely preserved.After the modelling process is completed, the MakeHuman™morphing target can be saved by pressing the "Save Target As" button on the MakeTarget™panel. By default this will save all of the offset deviations of every vertice from the base mesh into the target file.
== Advanced usage ==
=== The MakeTarget™Version 1.09 Panel (After Loading A Target) ===
During the creation or the editing of a target, as mentioned previously, the MakeTarget™panel shows a new layout with a rich set of options. Depending on whether the mesh is loaded without the fit tools (image below, left) or with the fit tools (image below, right), the panel offers different options.
[[File:maketarget131-panels.png]]
[[File:maketarget3.png|right]] At the top of the panel there is a numeric slider that determines the amount of morphing to apply from the target. The maximum value is 1.0, which means that the target morphing is fully applied. A value of 0 will show the original base mesh without any target morphing. The minimum value of the slider is -1.0. Using negative values usually creates weird effects as a projected inverse of the target morph is applied, but these settings are useful to subtract unwanted morphing results when multiple targets are combined. The effect is shown in the image beginning on the left with the full inverse of the morphing target, to the original base mesh in the middle, and finally to the fully applied morph target design on the right.
<br style="clear:both" />
=== Load Target Section (After The First Target Is Loaded) ===
[[File:MakeTargetLoadSecondaryTarget.png|left]]
The three buttons now in the "Load Target" section are used in exactly the same way as they were before any target was loaded, except that any targets that are now created or loaded with these buttons become a secondary target that can be applied to the previously loaded one. These buttons are used to append one or more additional targets to the first target and combine them in various proportions.
<br style="clear:both" />
=== Discard And Apply Target Section ===
[[File:MakeTargetDiscardAndApplyTarget.png|left]]
The first two buttons under the "Discard And Apply Target" section will either discard all of the targets (returning you to the original base mesh) or only the last target appended (which will either be the last secondary target applied or the primary target if no secondary targets have been applied). The button "Apply targets" under the "Discard And Apply Target" section is used to join all targets into a single unique morphing target combination.
<br style="clear:both" />
=== Symmetry Section ===
[[File:MakeTargetTargetSymmetryButtons.png|left]]
The two buttons in the "Symmetry" section are modelling tools, and are very useful. They have been designed to produce very reliable target results. Using the symmetry buttons will cause the mesh to become symetrical on either side of the X axis, with the option to apply edits from the left side of the character to the right side (Left->Right), or vice versa (Right->Left). Pressing these buttons will also align center vertices that have been unintentionally moved away from the center back to their center position.
<br style="clear:both" />
=== Save Target Section ===
[[File:MakeTargetSaveTargetSection.png|left]]
Finally, press the "Save Target As" button to save the .target file once all secondary targets and edits have been completed.
The checkbox labeled "Selected verts only" is a very important option. This option when checked will permit you to select a set of vertices in edit mode and then save only those vertices into the target file. Such targets are useful when you want the target to only morph the selected vertices and leave all other vertices completely unaffected by the morphing target. For example, an artist could design a morphing target that is limited to the hands only, a single hand only, or to the head only, and save a target containing vertices that will only morph those body parts, while having no effect on other parts of the body that were not explicitly chosen by the artist.
The checkbox labeled "Active Target Only" will cause the "Save Target As" button to only save the last target only. This option normally applies when one or more secondary targets have been added using the Load Target section after adding the initial target.
<br style="clear:both" />
=== Additional Fit Helper Buttons ===
[[File:MakeTargetFitTargetButton.png|left]]
[[File:MakeTargetSkirtEditingAffectOnly3.png|left]]
When the fit helpers have been included as part of the target, the additional options of the MakeTarget™ panel shown in the images above appear. These buttons are included to work with the helper objects. When the helpers have been loaded, an additional button labeled "Fit Targets" is available under the Load Target section. This button should be pressed after making alterations to the body that disconnect it from the helper objects, but prior to making modifications to those objects. This button will refit the clothing to the body, and if pressed when the default All option under the "Affect Only: section is selected, all clothing helpers will be refitted to the body. However, the refitting process will cause any modifications previously made to a refitted helper objects to be lost. To limit the Fit Target button behavior to a single helper object, you should specify the object that you want to have refitted under the Affects Only section appearing at the bottom of the panel. This will cause the refitting to only affect the chosen helper (for example the Hair), while leaving all other helper objects unaffected, preserving your edit modifications to those helpers (for example, the Tights and Skirt helpers will not be refitted and your modifications to those helpers will be preserved if the Hair Affects Only option is set).
The additional helper options also include buttons that improve the fit of the skirt specifically by snapping the skirt to the character's waist ("Snap Skirt Waist" button) or straightening the skirt ("Straighten Skirt" button). It is recommended that you still select the Skirt as the Affects Only option prior to pressing either of these buttons.
<br style="clear:both" />
3b21c54bb179d1f6bdcf8c5bdb3b4065f023ba8d
469
468
2015-08-19T07:22:21Z
Fairytail
16
/* Loading the Base Mesh */
wikitext
text/x-wiki
This section describes the blender version of MakeTarget. There is also a standalone version of MakeTarget.
For the information below to make sense and be useful, you will need to first install BlenderTools, see [[ Documentation:MHBlenderTools: Download and installation|MHBlenderTools: Download and installation ]]
== Introductory video ==
If you find this page, this is a youtube video which might be useful:
{{#ev:youtube|X13k7H3dNHo}}
== What is a Target? The MakeHuman Morphing Process. ==
[[File:Morph1.png|left]] The principle is simple. A target is a modifcation to a base mesh shape that does not alter the mesh itself but that stores information that permits the base mesh to be transformed into the target shape using ‘morphing’. Targets are what allow the slider controls in MakeHuman™ to take a single base mesh for a character and morph the shape of that character based on a variety of different feature target files. The many target files used by MakeHuman™ can alter a single human base form into characters with features as different as those distinguishing male from female to as subtle as varying the shape of a single earlobe.
A target contains the offsets by which vertices of the human base model (base.obj) deviate from the original to achieve a specific feature. eg. a long nose could be a target. These targets can be combined and MakeHuman™ uses them by blending targets together and gradually applying them to the base mesh to create a nearly endless variety of human forms. Below are examples of target blending obtained by choosing a target that defined the character as male and combining that target with the extreme settings for other targets that determned the muscle tone or weight of the character.
MakeHuman™ handles morphing with a special file format, ".target".
<br style="clear:both" />
== Loading the Base Mesh ==
[[File:maketarget131-area.png|left]] While it is possible to create targets using Blender without using the MakeTarget™ tool for Blender; that tool has many useful features that simplify the target creation process and will be explained by the help that follows. Once the MakeTarget™ add-on has been enabled (see the previous "Get and Install MH Addons for Blender" section), a panel labelled MakeTarget™ version 1.xx appears in theBlender User Interface, to the right of the viewport. The visibility of the Blender User Interface can be toggled on and off with the N-key.
<br style="clear:both" />
== MakeTarget 1.31 ==
[[File:maketarget131.png|left]] Prior to loading any targets, the initial the MakeTarget™ panel consists of three main buttons. The first two buttons load the base human mesh, respectively with and without the special fitting tools. The third button labeled "Set As Base" sets an existing mesh (that must be MakeHuman™compliant and derived from the A8_v74.obj file distributed with the MakeTarget™ release within the maketarget/data/ folder) as a human base mesh. This third option is for users that have done editing of the base mesh in another 3D modelling program and that have saved or exported the model as a Wavefront .obj file.
Loading the "Human + Fit Tools" will import the base human +mesh helpers(image below, B). The "helpers" are special geometries, used in MakeHuman™ as a reference to correctly fit clothes, hair and accessories. These helpers can be annoying during the modelling of the character, so usually our artists first work on the pure body, loading the human only with the first button (image below, A), and then, in a successive step, they fit the helpers.
<br style="clear:both" />
[[File:helper_details.png|left]]
[[File:maketarget-base.png|right]]
<br style="clear:both" />
== Basic usage ==
=== The MakeTarget™ Version 1.09 Panel (After Loading The Target Mesh) ===
[[File:MakeTarget_load.png|left]]
After the mesh is loaded into the scene, the MakeTarget™panel layout will change, showing three new buttons that handle setting up the morphing targets. The first button creates a new empty target which will just be the original base mesh loaded in the previous step.
The second button loads the morphing from an existing target file. Do not attempt to load target files from the previous MakeHuman™versions, as these files are not compatible with the current base.
The third button creates a new target from an existing base mesh that is MakeHuman™compliant (derived from the A8_v74.obj file provided with the MakeTarget™release distribution), for example, a character modelled with an external tool (Maya, Max, C4D, etc..) and then saved or exported so that it can be imported into Blender as a wavefront obj file. To correctly use the third button, it is necessary to first select the imported base, then the MakeHuman™ base, and then press the Load Target From Mesh button. When the steps have been done correctly and that button is pressed the imported base will disappear and its transformations will be transferred onto the MakeHuman™ base.
<br style="clear:both" />
=== Editing The Target And The "Save Target As" Button ===
After a new empty target is initialized or an existing one is loaded/imported, the MakeTarget™ panel layout will change again, offering a rich set of new options (image below). For the basic use of the MakeTarget™ tool you may ignore all of these options except for the "Save Target As" button.
To create a custom target, the artist has to alter the base mesh, which is done in the usual way within Blender. First start edit mode, and then select one or more vertices, moving them to reshape the mesh. You may use the full power of Blender to create your morphing target design.The only rule, in order to create a valid morphing target, is to never add or delete a vertex, face or edge. The topology must be absolutely preserved.After the modelling process is completed, the MakeHuman™morphing target can be saved by pressing the "Save Target As" button on the MakeTarget™panel. By default this will save all of the offset deviations of every vertice from the base mesh into the target file.
== Advanced usage ==
=== The MakeTarget™Version 1.09 Panel (After Loading A Target) ===
During the creation or the editing of a target, as mentioned previously, the MakeTarget™panel shows a new layout with a rich set of options. Depending on whether the mesh is loaded without the fit tools (image below, left) or with the fit tools (image below, right), the panel offers different options.
[[File:maketarget131-panels.png]]
[[File:maketarget3.png|right]] At the top of the panel there is a numeric slider that determines the amount of morphing to apply from the target. The maximum value is 1.0, which means that the target morphing is fully applied. A value of 0 will show the original base mesh without any target morphing. The minimum value of the slider is -1.0. Using negative values usually creates weird effects as a projected inverse of the target morph is applied, but these settings are useful to subtract unwanted morphing results when multiple targets are combined. The effect is shown in the image beginning on the left with the full inverse of the morphing target, to the original base mesh in the middle, and finally to the fully applied morph target design on the right.
<br style="clear:both" />
=== Load Target Section (After The First Target Is Loaded) ===
[[File:MakeTargetLoadSecondaryTarget.png|left]]
The three buttons now in the "Load Target" section are used in exactly the same way as they were before any target was loaded, except that any targets that are now created or loaded with these buttons become a secondary target that can be applied to the previously loaded one. These buttons are used to append one or more additional targets to the first target and combine them in various proportions.
<br style="clear:both" />
=== Discard And Apply Target Section ===
[[File:MakeTargetDiscardAndApplyTarget.png|left]]
The first two buttons under the "Discard And Apply Target" section will either discard all of the targets (returning you to the original base mesh) or only the last target appended (which will either be the last secondary target applied or the primary target if no secondary targets have been applied). The button "Apply targets" under the "Discard And Apply Target" section is used to join all targets into a single unique morphing target combination.
<br style="clear:both" />
=== Symmetry Section ===
[[File:MakeTargetTargetSymmetryButtons.png|left]]
The two buttons in the "Symmetry" section are modelling tools, and are very useful. They have been designed to produce very reliable target results. Using the symmetry buttons will cause the mesh to become symetrical on either side of the X axis, with the option to apply edits from the left side of the character to the right side (Left->Right), or vice versa (Right->Left). Pressing these buttons will also align center vertices that have been unintentionally moved away from the center back to their center position.
<br style="clear:both" />
=== Save Target Section ===
[[File:MakeTargetSaveTargetSection.png|left]]
Finally, press the "Save Target As" button to save the .target file once all secondary targets and edits have been completed.
The checkbox labeled "Selected verts only" is a very important option. This option when checked will permit you to select a set of vertices in edit mode and then save only those vertices into the target file. Such targets are useful when you want the target to only morph the selected vertices and leave all other vertices completely unaffected by the morphing target. For example, an artist could design a morphing target that is limited to the hands only, a single hand only, or to the head only, and save a target containing vertices that will only morph those body parts, while having no effect on other parts of the body that were not explicitly chosen by the artist.
The checkbox labeled "Active Target Only" will cause the "Save Target As" button to only save the last target only. This option normally applies when one or more secondary targets have been added using the Load Target section after adding the initial target.
<br style="clear:both" />
=== Additional Fit Helper Buttons ===
[[File:MakeTargetFitTargetButton.png|left]]
[[File:MakeTargetSkirtEditingAffectOnly3.png|left]]
When the fit helpers have been included as part of the target, the additional options of the MakeTarget™ panel shown in the images above appear. These buttons are included to work with the helper objects. When the helpers have been loaded, an additional button labeled "Fit Targets" is available under the Load Target section. This button should be pressed after making alterations to the body that disconnect it from the helper objects, but prior to making modifications to those objects. This button will refit the clothing to the body, and if pressed when the default All option under the "Affect Only: section is selected, all clothing helpers will be refitted to the body. However, the refitting process will cause any modifications previously made to a refitted helper objects to be lost. To limit the Fit Target button behavior to a single helper object, you should specify the object that you want to have refitted under the Affects Only section appearing at the bottom of the panel. This will cause the refitting to only affect the chosen helper (for example the Hair), while leaving all other helper objects unaffected, preserving your edit modifications to those helpers (for example, the Tights and Skirt helpers will not be refitted and your modifications to those helpers will be preserved if the Hair Affects Only option is set).
The additional helper options also include buttons that improve the fit of the skirt specifically by snapping the skirt to the character's waist ("Snap Skirt Waist" button) or straightening the skirt ("Straighten Skirt" button). It is recommended that you still select the Skirt as the Affects Only option prior to pressing either of these buttons.
<br style="clear:both" />
44e9632ef96d89d5cdd98a8d0057144dcd83ba2e
468
467
2015-08-19T07:17:42Z
Fairytail
16
/* Additional Fit Helper Buttons */
wikitext
text/x-wiki
This section describes the blender version of MakeTarget. There is also a standalone version of MakeTarget.
For the information below to make sense and be useful, you will need to first install BlenderTools, see [[ Documentation:MHBlenderTools: Download and installation|MHBlenderTools: Download and installation ]]
== Introductory video ==
If you find this page, this is a youtube video which might be useful:
{{#ev:youtube|X13k7H3dNHo}}
== What is a Target? The MakeHuman Morphing Process. ==
[[File:Morph1.png|left]] The principle is simple. A target is a modifcation to a base mesh shape that does not alter the mesh itself but that stores information that permits the base mesh to be transformed into the target shape using ‘morphing’. Targets are what allow the slider controls in MakeHuman™ to take a single base mesh for a character and morph the shape of that character based on a variety of different feature target files. The many target files used by MakeHuman™ can alter a single human base form into characters with features as different as those distinguishing male from female to as subtle as varying the shape of a single earlobe.
A target contains the offsets by which vertices of the human base model (base.obj) deviate from the original to achieve a specific feature. eg. a long nose could be a target. These targets can be combined and MakeHuman™ uses them by blending targets together and gradually applying them to the base mesh to create a nearly endless variety of human forms. Below are examples of target blending obtained by choosing a target that defined the character as male and combining that target with the extreme settings for other targets that determned the muscle tone or weight of the character.
MakeHuman™ handles morphing with a special file format, ".target".
<br style="clear:both" />
== Loading the Base Mesh ==
[[File:maketarget131-area.png|right]] While it is possible to create targets using Blender without using the MakeTarget™ tool for Blender; that tool has many useful features that simplify the target creation process and will be explained by the help that follows. Once the MakeTarget™ add-on has been enabled (see the previous "Get and Install MH Addons for Blender" section), a panel labelled MakeTarget™ version 1.xx appears in theBlender User Interface, to the right of the viewport. The visibility of the Blender User Interface can be toggled on and off with the N-key.
<br style="clear:both" />
[[File:maketarget131.png|left]] Prior to loading any targets, the initial the MakeTarget™ panel consists of three main buttons. The first two buttons load the base human mesh, respectively with and without the special fitting tools. The third button labeled "Set As Base" sets an existing mesh (that must be MakeHuman™compliant and derived from the A8_v74.obj file distributed with the MakeTarget™ release within the maketarget/data/ folder) as a human base mesh. This third option is for users that have done editing of the base mesh in another 3D modelling program and that have saved or exported the model as a Wavefront .obj file.
Loading the "Human + Fit Tools" will import the base human +mesh helpers(image below, B). The "helpers" are special geometries, used in MakeHuman™ as a reference to correctly fit clothes, hair and accessories. These helpers can be annoying during the modelling of the character, so usually our artists first work on the pure body, loading the human only with the first button (image below, A), and then, in a successive step, they fit the helpers.
<br style="clear:both" />
[[File:helper_details.png|left]]
[[File:maketarget-base.png|right]]
<br style="clear:both" />
== Basic usage ==
=== The MakeTarget™ Version 1.09 Panel (After Loading The Target Mesh) ===
[[File:MakeTarget_load.png|left]]
After the mesh is loaded into the scene, the MakeTarget™panel layout will change, showing three new buttons that handle setting up the morphing targets. The first button creates a new empty target which will just be the original base mesh loaded in the previous step.
The second button loads the morphing from an existing target file. Do not attempt to load target files from the previous MakeHuman™versions, as these files are not compatible with the current base.
The third button creates a new target from an existing base mesh that is MakeHuman™compliant (derived from the A8_v74.obj file provided with the MakeTarget™release distribution), for example, a character modelled with an external tool (Maya, Max, C4D, etc..) and then saved or exported so that it can be imported into Blender as a wavefront obj file. To correctly use the third button, it is necessary to first select the imported base, then the MakeHuman™ base, and then press the Load Target From Mesh button. When the steps have been done correctly and that button is pressed the imported base will disappear and its transformations will be transferred onto the MakeHuman™ base.
<br style="clear:both" />
=== Editing The Target And The "Save Target As" Button ===
After a new empty target is initialized or an existing one is loaded/imported, the MakeTarget™ panel layout will change again, offering a rich set of new options (image below). For the basic use of the MakeTarget™ tool you may ignore all of these options except for the "Save Target As" button.
To create a custom target, the artist has to alter the base mesh, which is done in the usual way within Blender. First start edit mode, and then select one or more vertices, moving them to reshape the mesh. You may use the full power of Blender to create your morphing target design.The only rule, in order to create a valid morphing target, is to never add or delete a vertex, face or edge. The topology must be absolutely preserved.After the modelling process is completed, the MakeHuman™morphing target can be saved by pressing the "Save Target As" button on the MakeTarget™panel. By default this will save all of the offset deviations of every vertice from the base mesh into the target file.
== Advanced usage ==
=== The MakeTarget™Version 1.09 Panel (After Loading A Target) ===
During the creation or the editing of a target, as mentioned previously, the MakeTarget™panel shows a new layout with a rich set of options. Depending on whether the mesh is loaded without the fit tools (image below, left) or with the fit tools (image below, right), the panel offers different options.
[[File:maketarget131-panels.png]]
[[File:maketarget3.png|right]] At the top of the panel there is a numeric slider that determines the amount of morphing to apply from the target. The maximum value is 1.0, which means that the target morphing is fully applied. A value of 0 will show the original base mesh without any target morphing. The minimum value of the slider is -1.0. Using negative values usually creates weird effects as a projected inverse of the target morph is applied, but these settings are useful to subtract unwanted morphing results when multiple targets are combined. The effect is shown in the image beginning on the left with the full inverse of the morphing target, to the original base mesh in the middle, and finally to the fully applied morph target design on the right.
<br style="clear:both" />
=== Load Target Section (After The First Target Is Loaded) ===
[[File:MakeTargetLoadSecondaryTarget.png|left]]
The three buttons now in the "Load Target" section are used in exactly the same way as they were before any target was loaded, except that any targets that are now created or loaded with these buttons become a secondary target that can be applied to the previously loaded one. These buttons are used to append one or more additional targets to the first target and combine them in various proportions.
<br style="clear:both" />
=== Discard And Apply Target Section ===
[[File:MakeTargetDiscardAndApplyTarget.png|left]]
The first two buttons under the "Discard And Apply Target" section will either discard all of the targets (returning you to the original base mesh) or only the last target appended (which will either be the last secondary target applied or the primary target if no secondary targets have been applied). The button "Apply targets" under the "Discard And Apply Target" section is used to join all targets into a single unique morphing target combination.
<br style="clear:both" />
=== Symmetry Section ===
[[File:MakeTargetTargetSymmetryButtons.png|left]]
The two buttons in the "Symmetry" section are modelling tools, and are very useful. They have been designed to produce very reliable target results. Using the symmetry buttons will cause the mesh to become symetrical on either side of the X axis, with the option to apply edits from the left side of the character to the right side (Left->Right), or vice versa (Right->Left). Pressing these buttons will also align center vertices that have been unintentionally moved away from the center back to their center position.
<br style="clear:both" />
=== Save Target Section ===
[[File:MakeTargetSaveTargetSection.png|left]]
Finally, press the "Save Target As" button to save the .target file once all secondary targets and edits have been completed.
The checkbox labeled "Selected verts only" is a very important option. This option when checked will permit you to select a set of vertices in edit mode and then save only those vertices into the target file. Such targets are useful when you want the target to only morph the selected vertices and leave all other vertices completely unaffected by the morphing target. For example, an artist could design a morphing target that is limited to the hands only, a single hand only, or to the head only, and save a target containing vertices that will only morph those body parts, while having no effect on other parts of the body that were not explicitly chosen by the artist.
The checkbox labeled "Active Target Only" will cause the "Save Target As" button to only save the last target only. This option normally applies when one or more secondary targets have been added using the Load Target section after adding the initial target.
<br style="clear:both" />
=== Additional Fit Helper Buttons ===
[[File:MakeTargetFitTargetButton.png|left]]
[[File:MakeTargetSkirtEditingAffectOnly3.png|left]]
When the fit helpers have been included as part of the target, the additional options of the MakeTarget™ panel shown in the images above appear. These buttons are included to work with the helper objects. When the helpers have been loaded, an additional button labeled "Fit Targets" is available under the Load Target section. This button should be pressed after making alterations to the body that disconnect it from the helper objects, but prior to making modifications to those objects. This button will refit the clothing to the body, and if pressed when the default All option under the "Affect Only: section is selected, all clothing helpers will be refitted to the body. However, the refitting process will cause any modifications previously made to a refitted helper objects to be lost. To limit the Fit Target button behavior to a single helper object, you should specify the object that you want to have refitted under the Affects Only section appearing at the bottom of the panel. This will cause the refitting to only affect the chosen helper (for example the Hair), while leaving all other helper objects unaffected, preserving your edit modifications to those helpers (for example, the Tights and Skirt helpers will not be refitted and your modifications to those helpers will be preserved if the Hair Affects Only option is set).
The additional helper options also include buttons that improve the fit of the skirt specifically by snapping the skirt to the character's waist ("Snap Skirt Waist" button) or straightening the skirt ("Straighten Skirt" button). It is recommended that you still select the Skirt as the Affects Only option prior to pressing either of these buttons.
<br style="clear:both" />
bba8f244fdeb79c5f0f1487f24c314caf4cb5c36
467
466
2015-08-19T07:15:31Z
Fairytail
16
/* Save Target Section */
wikitext
text/x-wiki
This section describes the blender version of MakeTarget. There is also a standalone version of MakeTarget.
For the information below to make sense and be useful, you will need to first install BlenderTools, see [[ Documentation:MHBlenderTools: Download and installation|MHBlenderTools: Download and installation ]]
== Introductory video ==
If you find this page, this is a youtube video which might be useful:
{{#ev:youtube|X13k7H3dNHo}}
== What is a Target? The MakeHuman Morphing Process. ==
[[File:Morph1.png|left]] The principle is simple. A target is a modifcation to a base mesh shape that does not alter the mesh itself but that stores information that permits the base mesh to be transformed into the target shape using ‘morphing’. Targets are what allow the slider controls in MakeHuman™ to take a single base mesh for a character and morph the shape of that character based on a variety of different feature target files. The many target files used by MakeHuman™ can alter a single human base form into characters with features as different as those distinguishing male from female to as subtle as varying the shape of a single earlobe.
A target contains the offsets by which vertices of the human base model (base.obj) deviate from the original to achieve a specific feature. eg. a long nose could be a target. These targets can be combined and MakeHuman™ uses them by blending targets together and gradually applying them to the base mesh to create a nearly endless variety of human forms. Below are examples of target blending obtained by choosing a target that defined the character as male and combining that target with the extreme settings for other targets that determned the muscle tone or weight of the character.
MakeHuman™ handles morphing with a special file format, ".target".
<br style="clear:both" />
== Loading the Base Mesh ==
[[File:maketarget131-area.png|right]] While it is possible to create targets using Blender without using the MakeTarget™ tool for Blender; that tool has many useful features that simplify the target creation process and will be explained by the help that follows. Once the MakeTarget™ add-on has been enabled (see the previous "Get and Install MH Addons for Blender" section), a panel labelled MakeTarget™ version 1.xx appears in theBlender User Interface, to the right of the viewport. The visibility of the Blender User Interface can be toggled on and off with the N-key.
<br style="clear:both" />
[[File:maketarget131.png|left]] Prior to loading any targets, the initial the MakeTarget™ panel consists of three main buttons. The first two buttons load the base human mesh, respectively with and without the special fitting tools. The third button labeled "Set As Base" sets an existing mesh (that must be MakeHuman™compliant and derived from the A8_v74.obj file distributed with the MakeTarget™ release within the maketarget/data/ folder) as a human base mesh. This third option is for users that have done editing of the base mesh in another 3D modelling program and that have saved or exported the model as a Wavefront .obj file.
Loading the "Human + Fit Tools" will import the base human +mesh helpers(image below, B). The "helpers" are special geometries, used in MakeHuman™ as a reference to correctly fit clothes, hair and accessories. These helpers can be annoying during the modelling of the character, so usually our artists first work on the pure body, loading the human only with the first button (image below, A), and then, in a successive step, they fit the helpers.
<br style="clear:both" />
[[File:helper_details.png|left]]
[[File:maketarget-base.png|right]]
<br style="clear:both" />
== Basic usage ==
=== The MakeTarget™ Version 1.09 Panel (After Loading The Target Mesh) ===
[[File:MakeTarget_load.png|left]]
After the mesh is loaded into the scene, the MakeTarget™panel layout will change, showing three new buttons that handle setting up the morphing targets. The first button creates a new empty target which will just be the original base mesh loaded in the previous step.
The second button loads the morphing from an existing target file. Do not attempt to load target files from the previous MakeHuman™versions, as these files are not compatible with the current base.
The third button creates a new target from an existing base mesh that is MakeHuman™compliant (derived from the A8_v74.obj file provided with the MakeTarget™release distribution), for example, a character modelled with an external tool (Maya, Max, C4D, etc..) and then saved or exported so that it can be imported into Blender as a wavefront obj file. To correctly use the third button, it is necessary to first select the imported base, then the MakeHuman™ base, and then press the Load Target From Mesh button. When the steps have been done correctly and that button is pressed the imported base will disappear and its transformations will be transferred onto the MakeHuman™ base.
<br style="clear:both" />
=== Editing The Target And The "Save Target As" Button ===
After a new empty target is initialized or an existing one is loaded/imported, the MakeTarget™ panel layout will change again, offering a rich set of new options (image below). For the basic use of the MakeTarget™ tool you may ignore all of these options except for the "Save Target As" button.
To create a custom target, the artist has to alter the base mesh, which is done in the usual way within Blender. First start edit mode, and then select one or more vertices, moving them to reshape the mesh. You may use the full power of Blender to create your morphing target design.The only rule, in order to create a valid morphing target, is to never add or delete a vertex, face or edge. The topology must be absolutely preserved.After the modelling process is completed, the MakeHuman™morphing target can be saved by pressing the "Save Target As" button on the MakeTarget™panel. By default this will save all of the offset deviations of every vertice from the base mesh into the target file.
== Advanced usage ==
=== The MakeTarget™Version 1.09 Panel (After Loading A Target) ===
During the creation or the editing of a target, as mentioned previously, the MakeTarget™panel shows a new layout with a rich set of options. Depending on whether the mesh is loaded without the fit tools (image below, left) or with the fit tools (image below, right), the panel offers different options.
[[File:maketarget131-panels.png]]
[[File:maketarget3.png|right]] At the top of the panel there is a numeric slider that determines the amount of morphing to apply from the target. The maximum value is 1.0, which means that the target morphing is fully applied. A value of 0 will show the original base mesh without any target morphing. The minimum value of the slider is -1.0. Using negative values usually creates weird effects as a projected inverse of the target morph is applied, but these settings are useful to subtract unwanted morphing results when multiple targets are combined. The effect is shown in the image beginning on the left with the full inverse of the morphing target, to the original base mesh in the middle, and finally to the fully applied morph target design on the right.
<br style="clear:both" />
=== Load Target Section (After The First Target Is Loaded) ===
[[File:MakeTargetLoadSecondaryTarget.png|left]]
The three buttons now in the "Load Target" section are used in exactly the same way as they were before any target was loaded, except that any targets that are now created or loaded with these buttons become a secondary target that can be applied to the previously loaded one. These buttons are used to append one or more additional targets to the first target and combine them in various proportions.
<br style="clear:both" />
=== Discard And Apply Target Section ===
[[File:MakeTargetDiscardAndApplyTarget.png|left]]
The first two buttons under the "Discard And Apply Target" section will either discard all of the targets (returning you to the original base mesh) or only the last target appended (which will either be the last secondary target applied or the primary target if no secondary targets have been applied). The button "Apply targets" under the "Discard And Apply Target" section is used to join all targets into a single unique morphing target combination.
<br style="clear:both" />
=== Symmetry Section ===
[[File:MakeTargetTargetSymmetryButtons.png|left]]
The two buttons in the "Symmetry" section are modelling tools, and are very useful. They have been designed to produce very reliable target results. Using the symmetry buttons will cause the mesh to become symetrical on either side of the X axis, with the option to apply edits from the left side of the character to the right side (Left->Right), or vice versa (Right->Left). Pressing these buttons will also align center vertices that have been unintentionally moved away from the center back to their center position.
<br style="clear:both" />
=== Save Target Section ===
[[File:MakeTargetSaveTargetSection.png|left]]
Finally, press the "Save Target As" button to save the .target file once all secondary targets and edits have been completed.
The checkbox labeled "Selected verts only" is a very important option. This option when checked will permit you to select a set of vertices in edit mode and then save only those vertices into the target file. Such targets are useful when you want the target to only morph the selected vertices and leave all other vertices completely unaffected by the morphing target. For example, an artist could design a morphing target that is limited to the hands only, a single hand only, or to the head only, and save a target containing vertices that will only morph those body parts, while having no effect on other parts of the body that were not explicitly chosen by the artist.
The checkbox labeled "Active Target Only" will cause the "Save Target As" button to only save the last target only. This option normally applies when one or more secondary targets have been added using the Load Target section after adding the initial target.
<br style="clear:both" />
=== Additional Fit Helper Buttons ===
[[File:MakeTargetFitTargetButton.png]]
[[File:MakeTargetSkirtEditingAffectOnly3.png]]
When the fit helpers have been included as part of the target, the additional options of the MakeTarget™ panel shown in the images above appear. These buttons are included to work with the helper objects. When the helpers have been loaded, an additional button labeled "Fit Targets" is available under the Load Target section. This button should be pressed after making alterations to the body that disconnect it from the helper objects, but prior to making modifications to those objects. This button will refit the clothing to the body, and if pressed when the default All option under the "Affect Only: section is selected, all clothing helpers will be refitted to the body. However, the refitting process will cause any modifications previously made to a refitted helper objects to be lost. To limit the Fit Target button behavior to a single helper object, you should specify the object that you want to have refitted under the Affects Only section appearing at the bottom of the panel. This will cause the refitting to only affect the chosen helper (for example the Hair), while leaving all other helper objects unaffected, preserving your edit modifications to those helpers (for example, the Tights and Skirt helpers will not be refitted and your modifications to those helpers will be preserved if the Hair Affects Only option is set).
The additional helper options also include buttons that improve the fit of the skirt specifically by snapping the skirt to the character's waist ("Snap Skirt Waist" button) or straightening the skirt ("Straighten Skirt" button). It is recommended that you still select the Skirt as the Affects Only option prior to pressing either of these buttons.
0bf76d5edc472235ebe6d0fb79b016751d79640c
466
465
2015-08-19T07:13:49Z
Fairytail
16
/* Symmetry Section */
wikitext
text/x-wiki
This section describes the blender version of MakeTarget. There is also a standalone version of MakeTarget.
For the information below to make sense and be useful, you will need to first install BlenderTools, see [[ Documentation:MHBlenderTools: Download and installation|MHBlenderTools: Download and installation ]]
== Introductory video ==
If you find this page, this is a youtube video which might be useful:
{{#ev:youtube|X13k7H3dNHo}}
== What is a Target? The MakeHuman Morphing Process. ==
[[File:Morph1.png|left]] The principle is simple. A target is a modifcation to a base mesh shape that does not alter the mesh itself but that stores information that permits the base mesh to be transformed into the target shape using ‘morphing’. Targets are what allow the slider controls in MakeHuman™ to take a single base mesh for a character and morph the shape of that character based on a variety of different feature target files. The many target files used by MakeHuman™ can alter a single human base form into characters with features as different as those distinguishing male from female to as subtle as varying the shape of a single earlobe.
A target contains the offsets by which vertices of the human base model (base.obj) deviate from the original to achieve a specific feature. eg. a long nose could be a target. These targets can be combined and MakeHuman™ uses them by blending targets together and gradually applying them to the base mesh to create a nearly endless variety of human forms. Below are examples of target blending obtained by choosing a target that defined the character as male and combining that target with the extreme settings for other targets that determned the muscle tone or weight of the character.
MakeHuman™ handles morphing with a special file format, ".target".
<br style="clear:both" />
== Loading the Base Mesh ==
[[File:maketarget131-area.png|right]] While it is possible to create targets using Blender without using the MakeTarget™ tool for Blender; that tool has many useful features that simplify the target creation process and will be explained by the help that follows. Once the MakeTarget™ add-on has been enabled (see the previous "Get and Install MH Addons for Blender" section), a panel labelled MakeTarget™ version 1.xx appears in theBlender User Interface, to the right of the viewport. The visibility of the Blender User Interface can be toggled on and off with the N-key.
<br style="clear:both" />
[[File:maketarget131.png|left]] Prior to loading any targets, the initial the MakeTarget™ panel consists of three main buttons. The first two buttons load the base human mesh, respectively with and without the special fitting tools. The third button labeled "Set As Base" sets an existing mesh (that must be MakeHuman™compliant and derived from the A8_v74.obj file distributed with the MakeTarget™ release within the maketarget/data/ folder) as a human base mesh. This third option is for users that have done editing of the base mesh in another 3D modelling program and that have saved or exported the model as a Wavefront .obj file.
Loading the "Human + Fit Tools" will import the base human +mesh helpers(image below, B). The "helpers" are special geometries, used in MakeHuman™ as a reference to correctly fit clothes, hair and accessories. These helpers can be annoying during the modelling of the character, so usually our artists first work on the pure body, loading the human only with the first button (image below, A), and then, in a successive step, they fit the helpers.
<br style="clear:both" />
[[File:helper_details.png|left]]
[[File:maketarget-base.png|right]]
<br style="clear:both" />
== Basic usage ==
=== The MakeTarget™ Version 1.09 Panel (After Loading The Target Mesh) ===
[[File:MakeTarget_load.png|left]]
After the mesh is loaded into the scene, the MakeTarget™panel layout will change, showing three new buttons that handle setting up the morphing targets. The first button creates a new empty target which will just be the original base mesh loaded in the previous step.
The second button loads the morphing from an existing target file. Do not attempt to load target files from the previous MakeHuman™versions, as these files are not compatible with the current base.
The third button creates a new target from an existing base mesh that is MakeHuman™compliant (derived from the A8_v74.obj file provided with the MakeTarget™release distribution), for example, a character modelled with an external tool (Maya, Max, C4D, etc..) and then saved or exported so that it can be imported into Blender as a wavefront obj file. To correctly use the third button, it is necessary to first select the imported base, then the MakeHuman™ base, and then press the Load Target From Mesh button. When the steps have been done correctly and that button is pressed the imported base will disappear and its transformations will be transferred onto the MakeHuman™ base.
<br style="clear:both" />
=== Editing The Target And The "Save Target As" Button ===
After a new empty target is initialized or an existing one is loaded/imported, the MakeTarget™ panel layout will change again, offering a rich set of new options (image below). For the basic use of the MakeTarget™ tool you may ignore all of these options except for the "Save Target As" button.
To create a custom target, the artist has to alter the base mesh, which is done in the usual way within Blender. First start edit mode, and then select one or more vertices, moving them to reshape the mesh. You may use the full power of Blender to create your morphing target design.The only rule, in order to create a valid morphing target, is to never add or delete a vertex, face or edge. The topology must be absolutely preserved.After the modelling process is completed, the MakeHuman™morphing target can be saved by pressing the "Save Target As" button on the MakeTarget™panel. By default this will save all of the offset deviations of every vertice from the base mesh into the target file.
== Advanced usage ==
=== The MakeTarget™Version 1.09 Panel (After Loading A Target) ===
During the creation or the editing of a target, as mentioned previously, the MakeTarget™panel shows a new layout with a rich set of options. Depending on whether the mesh is loaded without the fit tools (image below, left) or with the fit tools (image below, right), the panel offers different options.
[[File:maketarget131-panels.png]]
[[File:maketarget3.png|right]] At the top of the panel there is a numeric slider that determines the amount of morphing to apply from the target. The maximum value is 1.0, which means that the target morphing is fully applied. A value of 0 will show the original base mesh without any target morphing. The minimum value of the slider is -1.0. Using negative values usually creates weird effects as a projected inverse of the target morph is applied, but these settings are useful to subtract unwanted morphing results when multiple targets are combined. The effect is shown in the image beginning on the left with the full inverse of the morphing target, to the original base mesh in the middle, and finally to the fully applied morph target design on the right.
<br style="clear:both" />
=== Load Target Section (After The First Target Is Loaded) ===
[[File:MakeTargetLoadSecondaryTarget.png|left]]
The three buttons now in the "Load Target" section are used in exactly the same way as they were before any target was loaded, except that any targets that are now created or loaded with these buttons become a secondary target that can be applied to the previously loaded one. These buttons are used to append one or more additional targets to the first target and combine them in various proportions.
<br style="clear:both" />
=== Discard And Apply Target Section ===
[[File:MakeTargetDiscardAndApplyTarget.png|left]]
The first two buttons under the "Discard And Apply Target" section will either discard all of the targets (returning you to the original base mesh) or only the last target appended (which will either be the last secondary target applied or the primary target if no secondary targets have been applied). The button "Apply targets" under the "Discard And Apply Target" section is used to join all targets into a single unique morphing target combination.
<br style="clear:both" />
=== Symmetry Section ===
[[File:MakeTargetTargetSymmetryButtons.png|left]]
The two buttons in the "Symmetry" section are modelling tools, and are very useful. They have been designed to produce very reliable target results. Using the symmetry buttons will cause the mesh to become symetrical on either side of the X axis, with the option to apply edits from the left side of the character to the right side (Left->Right), or vice versa (Right->Left). Pressing these buttons will also align center vertices that have been unintentionally moved away from the center back to their center position.
<br style="clear:both" />
=== Save Target Section ===
[[File:MakeTargetSaveTargetSection.png]]
Finally, press the "Save Target As" button to save the .target file once all secondary targets and edits have been completed.
The checkbox labeled "Selected verts only" is a very important option. This option when checked will permit you to select a set of vertices in edit mode and then save only those vertices into the target file. Such targets are useful when you want the target to only morph the selected vertices and leave all other vertices completely unaffected by the morphing target. For example, an artist could design a morphing target that is limited to the hands only, a single hand only, or to the head only, and save a target containing vertices that will only morph those body parts, while having no effect on other parts of the body that were not explicitly chosen by the artist.
The checkbox labeled "Active Target Only" will cause the "Save Target As" button to only save the last target only. This option normally applies when one or more secondary targets have been added using the Load Target section after adding the initial target.
=== Additional Fit Helper Buttons ===
[[File:MakeTargetFitTargetButton.png]]
[[File:MakeTargetSkirtEditingAffectOnly3.png]]
When the fit helpers have been included as part of the target, the additional options of the MakeTarget™ panel shown in the images above appear. These buttons are included to work with the helper objects. When the helpers have been loaded, an additional button labeled "Fit Targets" is available under the Load Target section. This button should be pressed after making alterations to the body that disconnect it from the helper objects, but prior to making modifications to those objects. This button will refit the clothing to the body, and if pressed when the default All option under the "Affect Only: section is selected, all clothing helpers will be refitted to the body. However, the refitting process will cause any modifications previously made to a refitted helper objects to be lost. To limit the Fit Target button behavior to a single helper object, you should specify the object that you want to have refitted under the Affects Only section appearing at the bottom of the panel. This will cause the refitting to only affect the chosen helper (for example the Hair), while leaving all other helper objects unaffected, preserving your edit modifications to those helpers (for example, the Tights and Skirt helpers will not be refitted and your modifications to those helpers will be preserved if the Hair Affects Only option is set).
The additional helper options also include buttons that improve the fit of the skirt specifically by snapping the skirt to the character's waist ("Snap Skirt Waist" button) or straightening the skirt ("Straighten Skirt" button). It is recommended that you still select the Skirt as the Affects Only option prior to pressing either of these buttons.
d749ec6849973b5679699ef33a6bb05e56c94b0a
465
464
2015-08-19T07:12:42Z
Fairytail
16
/* Discard And Apply Target Section */
wikitext
text/x-wiki
This section describes the blender version of MakeTarget. There is also a standalone version of MakeTarget.
For the information below to make sense and be useful, you will need to first install BlenderTools, see [[ Documentation:MHBlenderTools: Download and installation|MHBlenderTools: Download and installation ]]
== Introductory video ==
If you find this page, this is a youtube video which might be useful:
{{#ev:youtube|X13k7H3dNHo}}
== What is a Target? The MakeHuman Morphing Process. ==
[[File:Morph1.png|left]] The principle is simple. A target is a modifcation to a base mesh shape that does not alter the mesh itself but that stores information that permits the base mesh to be transformed into the target shape using ‘morphing’. Targets are what allow the slider controls in MakeHuman™ to take a single base mesh for a character and morph the shape of that character based on a variety of different feature target files. The many target files used by MakeHuman™ can alter a single human base form into characters with features as different as those distinguishing male from female to as subtle as varying the shape of a single earlobe.
A target contains the offsets by which vertices of the human base model (base.obj) deviate from the original to achieve a specific feature. eg. a long nose could be a target. These targets can be combined and MakeHuman™ uses them by blending targets together and gradually applying them to the base mesh to create a nearly endless variety of human forms. Below are examples of target blending obtained by choosing a target that defined the character as male and combining that target with the extreme settings for other targets that determned the muscle tone or weight of the character.
MakeHuman™ handles morphing with a special file format, ".target".
<br style="clear:both" />
== Loading the Base Mesh ==
[[File:maketarget131-area.png|right]] While it is possible to create targets using Blender without using the MakeTarget™ tool for Blender; that tool has many useful features that simplify the target creation process and will be explained by the help that follows. Once the MakeTarget™ add-on has been enabled (see the previous "Get and Install MH Addons for Blender" section), a panel labelled MakeTarget™ version 1.xx appears in theBlender User Interface, to the right of the viewport. The visibility of the Blender User Interface can be toggled on and off with the N-key.
<br style="clear:both" />
[[File:maketarget131.png|left]] Prior to loading any targets, the initial the MakeTarget™ panel consists of three main buttons. The first two buttons load the base human mesh, respectively with and without the special fitting tools. The third button labeled "Set As Base" sets an existing mesh (that must be MakeHuman™compliant and derived from the A8_v74.obj file distributed with the MakeTarget™ release within the maketarget/data/ folder) as a human base mesh. This third option is for users that have done editing of the base mesh in another 3D modelling program and that have saved or exported the model as a Wavefront .obj file.
Loading the "Human + Fit Tools" will import the base human +mesh helpers(image below, B). The "helpers" are special geometries, used in MakeHuman™ as a reference to correctly fit clothes, hair and accessories. These helpers can be annoying during the modelling of the character, so usually our artists first work on the pure body, loading the human only with the first button (image below, A), and then, in a successive step, they fit the helpers.
<br style="clear:both" />
[[File:helper_details.png|left]]
[[File:maketarget-base.png|right]]
<br style="clear:both" />
== Basic usage ==
=== The MakeTarget™ Version 1.09 Panel (After Loading The Target Mesh) ===
[[File:MakeTarget_load.png|left]]
After the mesh is loaded into the scene, the MakeTarget™panel layout will change, showing three new buttons that handle setting up the morphing targets. The first button creates a new empty target which will just be the original base mesh loaded in the previous step.
The second button loads the morphing from an existing target file. Do not attempt to load target files from the previous MakeHuman™versions, as these files are not compatible with the current base.
The third button creates a new target from an existing base mesh that is MakeHuman™compliant (derived from the A8_v74.obj file provided with the MakeTarget™release distribution), for example, a character modelled with an external tool (Maya, Max, C4D, etc..) and then saved or exported so that it can be imported into Blender as a wavefront obj file. To correctly use the third button, it is necessary to first select the imported base, then the MakeHuman™ base, and then press the Load Target From Mesh button. When the steps have been done correctly and that button is pressed the imported base will disappear and its transformations will be transferred onto the MakeHuman™ base.
<br style="clear:both" />
=== Editing The Target And The "Save Target As" Button ===
After a new empty target is initialized or an existing one is loaded/imported, the MakeTarget™ panel layout will change again, offering a rich set of new options (image below). For the basic use of the MakeTarget™ tool you may ignore all of these options except for the "Save Target As" button.
To create a custom target, the artist has to alter the base mesh, which is done in the usual way within Blender. First start edit mode, and then select one or more vertices, moving them to reshape the mesh. You may use the full power of Blender to create your morphing target design.The only rule, in order to create a valid morphing target, is to never add or delete a vertex, face or edge. The topology must be absolutely preserved.After the modelling process is completed, the MakeHuman™morphing target can be saved by pressing the "Save Target As" button on the MakeTarget™panel. By default this will save all of the offset deviations of every vertice from the base mesh into the target file.
== Advanced usage ==
=== The MakeTarget™Version 1.09 Panel (After Loading A Target) ===
During the creation or the editing of a target, as mentioned previously, the MakeTarget™panel shows a new layout with a rich set of options. Depending on whether the mesh is loaded without the fit tools (image below, left) or with the fit tools (image below, right), the panel offers different options.
[[File:maketarget131-panels.png]]
[[File:maketarget3.png|right]] At the top of the panel there is a numeric slider that determines the amount of morphing to apply from the target. The maximum value is 1.0, which means that the target morphing is fully applied. A value of 0 will show the original base mesh without any target morphing. The minimum value of the slider is -1.0. Using negative values usually creates weird effects as a projected inverse of the target morph is applied, but these settings are useful to subtract unwanted morphing results when multiple targets are combined. The effect is shown in the image beginning on the left with the full inverse of the morphing target, to the original base mesh in the middle, and finally to the fully applied morph target design on the right.
<br style="clear:both" />
=== Load Target Section (After The First Target Is Loaded) ===
[[File:MakeTargetLoadSecondaryTarget.png|left]]
The three buttons now in the "Load Target" section are used in exactly the same way as they were before any target was loaded, except that any targets that are now created or loaded with these buttons become a secondary target that can be applied to the previously loaded one. These buttons are used to append one or more additional targets to the first target and combine them in various proportions.
<br style="clear:both" />
=== Discard And Apply Target Section ===
[[File:MakeTargetDiscardAndApplyTarget.png|left]]
The first two buttons under the "Discard And Apply Target" section will either discard all of the targets (returning you to the original base mesh) or only the last target appended (which will either be the last secondary target applied or the primary target if no secondary targets have been applied). The button "Apply targets" under the "Discard And Apply Target" section is used to join all targets into a single unique morphing target combination.
<br style="clear:both" />
=== Symmetry Section ===
[[File:MakeTargetTargetSymmetryButtons.png]]
The two buttons in the "Symmetry" section are modelling tools, and are very useful. They has been designed to produce very reliable target results. Using the symmetry buttons will cause the mesh to become symetrical on either side of the X axis, with the option to apply edits from the left side of the character to the right side (Left->Right), or vice versa (Right->Left). Pressing these buttons will also align center vertices that have been unintentionally moved away from the center back to their center position.
=== Save Target Section ===
[[File:MakeTargetSaveTargetSection.png]]
Finally, press the "Save Target As" button to save the .target file once all secondary targets and edits have been completed.
The checkbox labeled "Selected verts only" is a very important option. This option when checked will permit you to select a set of vertices in edit mode and then save only those vertices into the target file. Such targets are useful when you want the target to only morph the selected vertices and leave all other vertices completely unaffected by the morphing target. For example, an artist could design a morphing target that is limited to the hands only, a single hand only, or to the head only, and save a target containing vertices that will only morph those body parts, while having no effect on other parts of the body that were not explicitly chosen by the artist.
The checkbox labeled "Active Target Only" will cause the "Save Target As" button to only save the last target only. This option normally applies when one or more secondary targets have been added using the Load Target section after adding the initial target.
=== Additional Fit Helper Buttons ===
[[File:MakeTargetFitTargetButton.png]]
[[File:MakeTargetSkirtEditingAffectOnly3.png]]
When the fit helpers have been included as part of the target, the additional options of the MakeTarget™ panel shown in the images above appear. These buttons are included to work with the helper objects. When the helpers have been loaded, an additional button labeled "Fit Targets" is available under the Load Target section. This button should be pressed after making alterations to the body that disconnect it from the helper objects, but prior to making modifications to those objects. This button will refit the clothing to the body, and if pressed when the default All option under the "Affect Only: section is selected, all clothing helpers will be refitted to the body. However, the refitting process will cause any modifications previously made to a refitted helper objects to be lost. To limit the Fit Target button behavior to a single helper object, you should specify the object that you want to have refitted under the Affects Only section appearing at the bottom of the panel. This will cause the refitting to only affect the chosen helper (for example the Hair), while leaving all other helper objects unaffected, preserving your edit modifications to those helpers (for example, the Tights and Skirt helpers will not be refitted and your modifications to those helpers will be preserved if the Hair Affects Only option is set).
The additional helper options also include buttons that improve the fit of the skirt specifically by snapping the skirt to the character's waist ("Snap Skirt Waist" button) or straightening the skirt ("Straighten Skirt" button). It is recommended that you still select the Skirt as the Affects Only option prior to pressing either of these buttons.
886f0f504a9e1a3a4e66b62452033314f69f5998
464
463
2015-08-19T07:11:44Z
Fairytail
16
/* Load Target Section (After The First Target Is Loaded) */
wikitext
text/x-wiki
This section describes the blender version of MakeTarget. There is also a standalone version of MakeTarget.
For the information below to make sense and be useful, you will need to first install BlenderTools, see [[ Documentation:MHBlenderTools: Download and installation|MHBlenderTools: Download and installation ]]
== Introductory video ==
If you find this page, this is a youtube video which might be useful:
{{#ev:youtube|X13k7H3dNHo}}
== What is a Target? The MakeHuman Morphing Process. ==
[[File:Morph1.png|left]] The principle is simple. A target is a modifcation to a base mesh shape that does not alter the mesh itself but that stores information that permits the base mesh to be transformed into the target shape using ‘morphing’. Targets are what allow the slider controls in MakeHuman™ to take a single base mesh for a character and morph the shape of that character based on a variety of different feature target files. The many target files used by MakeHuman™ can alter a single human base form into characters with features as different as those distinguishing male from female to as subtle as varying the shape of a single earlobe.
A target contains the offsets by which vertices of the human base model (base.obj) deviate from the original to achieve a specific feature. eg. a long nose could be a target. These targets can be combined and MakeHuman™ uses them by blending targets together and gradually applying them to the base mesh to create a nearly endless variety of human forms. Below are examples of target blending obtained by choosing a target that defined the character as male and combining that target with the extreme settings for other targets that determned the muscle tone or weight of the character.
MakeHuman™ handles morphing with a special file format, ".target".
<br style="clear:both" />
== Loading the Base Mesh ==
[[File:maketarget131-area.png|right]] While it is possible to create targets using Blender without using the MakeTarget™ tool for Blender; that tool has many useful features that simplify the target creation process and will be explained by the help that follows. Once the MakeTarget™ add-on has been enabled (see the previous "Get and Install MH Addons for Blender" section), a panel labelled MakeTarget™ version 1.xx appears in theBlender User Interface, to the right of the viewport. The visibility of the Blender User Interface can be toggled on and off with the N-key.
<br style="clear:both" />
[[File:maketarget131.png|left]] Prior to loading any targets, the initial the MakeTarget™ panel consists of three main buttons. The first two buttons load the base human mesh, respectively with and without the special fitting tools. The third button labeled "Set As Base" sets an existing mesh (that must be MakeHuman™compliant and derived from the A8_v74.obj file distributed with the MakeTarget™ release within the maketarget/data/ folder) as a human base mesh. This third option is for users that have done editing of the base mesh in another 3D modelling program and that have saved or exported the model as a Wavefront .obj file.
Loading the "Human + Fit Tools" will import the base human +mesh helpers(image below, B). The "helpers" are special geometries, used in MakeHuman™ as a reference to correctly fit clothes, hair and accessories. These helpers can be annoying during the modelling of the character, so usually our artists first work on the pure body, loading the human only with the first button (image below, A), and then, in a successive step, they fit the helpers.
<br style="clear:both" />
[[File:helper_details.png|left]]
[[File:maketarget-base.png|right]]
<br style="clear:both" />
== Basic usage ==
=== The MakeTarget™ Version 1.09 Panel (After Loading The Target Mesh) ===
[[File:MakeTarget_load.png|left]]
After the mesh is loaded into the scene, the MakeTarget™panel layout will change, showing three new buttons that handle setting up the morphing targets. The first button creates a new empty target which will just be the original base mesh loaded in the previous step.
The second button loads the morphing from an existing target file. Do not attempt to load target files from the previous MakeHuman™versions, as these files are not compatible with the current base.
The third button creates a new target from an existing base mesh that is MakeHuman™compliant (derived from the A8_v74.obj file provided with the MakeTarget™release distribution), for example, a character modelled with an external tool (Maya, Max, C4D, etc..) and then saved or exported so that it can be imported into Blender as a wavefront obj file. To correctly use the third button, it is necessary to first select the imported base, then the MakeHuman™ base, and then press the Load Target From Mesh button. When the steps have been done correctly and that button is pressed the imported base will disappear and its transformations will be transferred onto the MakeHuman™ base.
<br style="clear:both" />
=== Editing The Target And The "Save Target As" Button ===
After a new empty target is initialized or an existing one is loaded/imported, the MakeTarget™ panel layout will change again, offering a rich set of new options (image below). For the basic use of the MakeTarget™ tool you may ignore all of these options except for the "Save Target As" button.
To create a custom target, the artist has to alter the base mesh, which is done in the usual way within Blender. First start edit mode, and then select one or more vertices, moving them to reshape the mesh. You may use the full power of Blender to create your morphing target design.The only rule, in order to create a valid morphing target, is to never add or delete a vertex, face or edge. The topology must be absolutely preserved.After the modelling process is completed, the MakeHuman™morphing target can be saved by pressing the "Save Target As" button on the MakeTarget™panel. By default this will save all of the offset deviations of every vertice from the base mesh into the target file.
== Advanced usage ==
=== The MakeTarget™Version 1.09 Panel (After Loading A Target) ===
During the creation or the editing of a target, as mentioned previously, the MakeTarget™panel shows a new layout with a rich set of options. Depending on whether the mesh is loaded without the fit tools (image below, left) or with the fit tools (image below, right), the panel offers different options.
[[File:maketarget131-panels.png]]
[[File:maketarget3.png|right]] At the top of the panel there is a numeric slider that determines the amount of morphing to apply from the target. The maximum value is 1.0, which means that the target morphing is fully applied. A value of 0 will show the original base mesh without any target morphing. The minimum value of the slider is -1.0. Using negative values usually creates weird effects as a projected inverse of the target morph is applied, but these settings are useful to subtract unwanted morphing results when multiple targets are combined. The effect is shown in the image beginning on the left with the full inverse of the morphing target, to the original base mesh in the middle, and finally to the fully applied morph target design on the right.
<br style="clear:both" />
=== Load Target Section (After The First Target Is Loaded) ===
[[File:MakeTargetLoadSecondaryTarget.png|left]]
The three buttons now in the "Load Target" section are used in exactly the same way as they were before any target was loaded, except that any targets that are now created or loaded with these buttons become a secondary target that can be applied to the previously loaded one. These buttons are used to append one or more additional targets to the first target and combine them in various proportions.
<br style="clear:both" />
=== Discard And Apply Target Section ===
[[File:MakeTargetDiscardAndApplyTarget.png]]
The first two buttons under the "Discard And Apply Target" section will either discard all of the targets (returning you to the original base mesh) or only the last target appended (which will either be the last secondary target applied or the primary target if no secondary targets have been applied). The button "Apply targets" under the "Discard And Apply Target" section is used to join all targets into a single unique morphing target combination.
=== Symmetry Section ===
[[File:MakeTargetTargetSymmetryButtons.png]]
The two buttons in the "Symmetry" section are modelling tools, and are very useful. They has been designed to produce very reliable target results. Using the symmetry buttons will cause the mesh to become symetrical on either side of the X axis, with the option to apply edits from the left side of the character to the right side (Left->Right), or vice versa (Right->Left). Pressing these buttons will also align center vertices that have been unintentionally moved away from the center back to their center position.
=== Save Target Section ===
[[File:MakeTargetSaveTargetSection.png]]
Finally, press the "Save Target As" button to save the .target file once all secondary targets and edits have been completed.
The checkbox labeled "Selected verts only" is a very important option. This option when checked will permit you to select a set of vertices in edit mode and then save only those vertices into the target file. Such targets are useful when you want the target to only morph the selected vertices and leave all other vertices completely unaffected by the morphing target. For example, an artist could design a morphing target that is limited to the hands only, a single hand only, or to the head only, and save a target containing vertices that will only morph those body parts, while having no effect on other parts of the body that were not explicitly chosen by the artist.
The checkbox labeled "Active Target Only" will cause the "Save Target As" button to only save the last target only. This option normally applies when one or more secondary targets have been added using the Load Target section after adding the initial target.
=== Additional Fit Helper Buttons ===
[[File:MakeTargetFitTargetButton.png]]
[[File:MakeTargetSkirtEditingAffectOnly3.png]]
When the fit helpers have been included as part of the target, the additional options of the MakeTarget™ panel shown in the images above appear. These buttons are included to work with the helper objects. When the helpers have been loaded, an additional button labeled "Fit Targets" is available under the Load Target section. This button should be pressed after making alterations to the body that disconnect it from the helper objects, but prior to making modifications to those objects. This button will refit the clothing to the body, and if pressed when the default All option under the "Affect Only: section is selected, all clothing helpers will be refitted to the body. However, the refitting process will cause any modifications previously made to a refitted helper objects to be lost. To limit the Fit Target button behavior to a single helper object, you should specify the object that you want to have refitted under the Affects Only section appearing at the bottom of the panel. This will cause the refitting to only affect the chosen helper (for example the Hair), while leaving all other helper objects unaffected, preserving your edit modifications to those helpers (for example, the Tights and Skirt helpers will not be refitted and your modifications to those helpers will be preserved if the Hair Affects Only option is set).
The additional helper options also include buttons that improve the fit of the skirt specifically by snapping the skirt to the character's waist ("Snap Skirt Waist" button) or straightening the skirt ("Straighten Skirt" button). It is recommended that you still select the Skirt as the Affects Only option prior to pressing either of these buttons.
b4a4d2325ca587627c4875209eb42eaaa6087b8d
463
403
2015-08-19T07:09:41Z
Fairytail
16
/* The MakeTarget™Version 1.09 Panel (After Loading A Target) */
wikitext
text/x-wiki
This section describes the blender version of MakeTarget. There is also a standalone version of MakeTarget.
For the information below to make sense and be useful, you will need to first install BlenderTools, see [[ Documentation:MHBlenderTools: Download and installation|MHBlenderTools: Download and installation ]]
== Introductory video ==
If you find this page, this is a youtube video which might be useful:
{{#ev:youtube|X13k7H3dNHo}}
== What is a Target? The MakeHuman Morphing Process. ==
[[File:Morph1.png|left]] The principle is simple. A target is a modifcation to a base mesh shape that does not alter the mesh itself but that stores information that permits the base mesh to be transformed into the target shape using ‘morphing’. Targets are what allow the slider controls in MakeHuman™ to take a single base mesh for a character and morph the shape of that character based on a variety of different feature target files. The many target files used by MakeHuman™ can alter a single human base form into characters with features as different as those distinguishing male from female to as subtle as varying the shape of a single earlobe.
A target contains the offsets by which vertices of the human base model (base.obj) deviate from the original to achieve a specific feature. eg. a long nose could be a target. These targets can be combined and MakeHuman™ uses them by blending targets together and gradually applying them to the base mesh to create a nearly endless variety of human forms. Below are examples of target blending obtained by choosing a target that defined the character as male and combining that target with the extreme settings for other targets that determned the muscle tone or weight of the character.
MakeHuman™ handles morphing with a special file format, ".target".
<br style="clear:both" />
== Loading the Base Mesh ==
[[File:maketarget131-area.png|right]] While it is possible to create targets using Blender without using the MakeTarget™ tool for Blender; that tool has many useful features that simplify the target creation process and will be explained by the help that follows. Once the MakeTarget™ add-on has been enabled (see the previous "Get and Install MH Addons for Blender" section), a panel labelled MakeTarget™ version 1.xx appears in theBlender User Interface, to the right of the viewport. The visibility of the Blender User Interface can be toggled on and off with the N-key.
<br style="clear:both" />
[[File:maketarget131.png|left]] Prior to loading any targets, the initial the MakeTarget™ panel consists of three main buttons. The first two buttons load the base human mesh, respectively with and without the special fitting tools. The third button labeled "Set As Base" sets an existing mesh (that must be MakeHuman™compliant and derived from the A8_v74.obj file distributed with the MakeTarget™ release within the maketarget/data/ folder) as a human base mesh. This third option is for users that have done editing of the base mesh in another 3D modelling program and that have saved or exported the model as a Wavefront .obj file.
Loading the "Human + Fit Tools" will import the base human +mesh helpers(image below, B). The "helpers" are special geometries, used in MakeHuman™ as a reference to correctly fit clothes, hair and accessories. These helpers can be annoying during the modelling of the character, so usually our artists first work on the pure body, loading the human only with the first button (image below, A), and then, in a successive step, they fit the helpers.
<br style="clear:both" />
[[File:helper_details.png|left]]
[[File:maketarget-base.png|right]]
<br style="clear:both" />
== Basic usage ==
=== The MakeTarget™ Version 1.09 Panel (After Loading The Target Mesh) ===
[[File:MakeTarget_load.png|left]]
After the mesh is loaded into the scene, the MakeTarget™panel layout will change, showing three new buttons that handle setting up the morphing targets. The first button creates a new empty target which will just be the original base mesh loaded in the previous step.
The second button loads the morphing from an existing target file. Do not attempt to load target files from the previous MakeHuman™versions, as these files are not compatible with the current base.
The third button creates a new target from an existing base mesh that is MakeHuman™compliant (derived from the A8_v74.obj file provided with the MakeTarget™release distribution), for example, a character modelled with an external tool (Maya, Max, C4D, etc..) and then saved or exported so that it can be imported into Blender as a wavefront obj file. To correctly use the third button, it is necessary to first select the imported base, then the MakeHuman™ base, and then press the Load Target From Mesh button. When the steps have been done correctly and that button is pressed the imported base will disappear and its transformations will be transferred onto the MakeHuman™ base.
<br style="clear:both" />
=== Editing The Target And The "Save Target As" Button ===
After a new empty target is initialized or an existing one is loaded/imported, the MakeTarget™ panel layout will change again, offering a rich set of new options (image below). For the basic use of the MakeTarget™ tool you may ignore all of these options except for the "Save Target As" button.
To create a custom target, the artist has to alter the base mesh, which is done in the usual way within Blender. First start edit mode, and then select one or more vertices, moving them to reshape the mesh. You may use the full power of Blender to create your morphing target design.The only rule, in order to create a valid morphing target, is to never add or delete a vertex, face or edge. The topology must be absolutely preserved.After the modelling process is completed, the MakeHuman™morphing target can be saved by pressing the "Save Target As" button on the MakeTarget™panel. By default this will save all of the offset deviations of every vertice from the base mesh into the target file.
== Advanced usage ==
=== The MakeTarget™Version 1.09 Panel (After Loading A Target) ===
During the creation or the editing of a target, as mentioned previously, the MakeTarget™panel shows a new layout with a rich set of options. Depending on whether the mesh is loaded without the fit tools (image below, left) or with the fit tools (image below, right), the panel offers different options.
[[File:maketarget131-panels.png]]
[[File:maketarget3.png|right]] At the top of the panel there is a numeric slider that determines the amount of morphing to apply from the target. The maximum value is 1.0, which means that the target morphing is fully applied. A value of 0 will show the original base mesh without any target morphing. The minimum value of the slider is -1.0. Using negative values usually creates weird effects as a projected inverse of the target morph is applied, but these settings are useful to subtract unwanted morphing results when multiple targets are combined. The effect is shown in the image beginning on the left with the full inverse of the morphing target, to the original base mesh in the middle, and finally to the fully applied morph target design on the right.
<br style="clear:both" />
=== Load Target Section (After The First Target Is Loaded) ===
[[File:MakeTargetLoadSecondaryTarget.png]]
The three buttons that now in the "Load Target" section are used in exactly the same way as they were before any target was loaded, except that any targets that are now created or loaded with these buttons become a secondary target that can be applied to the previously loaded one. These buttons are used to append one or more additional targets to the first target and combine them in various proportions.
=== Discard And Apply Target Section ===
[[File:MakeTargetDiscardAndApplyTarget.png]]
The first two buttons under the "Discard And Apply Target" section will either discard all of the targets (returning you to the original base mesh) or only the last target appended (which will either be the last secondary target applied or the primary target if no secondary targets have been applied). The button "Apply targets" under the "Discard And Apply Target" section is used to join all targets into a single unique morphing target combination.
=== Symmetry Section ===
[[File:MakeTargetTargetSymmetryButtons.png]]
The two buttons in the "Symmetry" section are modelling tools, and are very useful. They has been designed to produce very reliable target results. Using the symmetry buttons will cause the mesh to become symetrical on either side of the X axis, with the option to apply edits from the left side of the character to the right side (Left->Right), or vice versa (Right->Left). Pressing these buttons will also align center vertices that have been unintentionally moved away from the center back to their center position.
=== Save Target Section ===
[[File:MakeTargetSaveTargetSection.png]]
Finally, press the "Save Target As" button to save the .target file once all secondary targets and edits have been completed.
The checkbox labeled "Selected verts only" is a very important option. This option when checked will permit you to select a set of vertices in edit mode and then save only those vertices into the target file. Such targets are useful when you want the target to only morph the selected vertices and leave all other vertices completely unaffected by the morphing target. For example, an artist could design a morphing target that is limited to the hands only, a single hand only, or to the head only, and save a target containing vertices that will only morph those body parts, while having no effect on other parts of the body that were not explicitly chosen by the artist.
The checkbox labeled "Active Target Only" will cause the "Save Target As" button to only save the last target only. This option normally applies when one or more secondary targets have been added using the Load Target section after adding the initial target.
=== Additional Fit Helper Buttons ===
[[File:MakeTargetFitTargetButton.png]]
[[File:MakeTargetSkirtEditingAffectOnly3.png]]
When the fit helpers have been included as part of the target, the additional options of the MakeTarget™ panel shown in the images above appear. These buttons are included to work with the helper objects. When the helpers have been loaded, an additional button labeled "Fit Targets" is available under the Load Target section. This button should be pressed after making alterations to the body that disconnect it from the helper objects, but prior to making modifications to those objects. This button will refit the clothing to the body, and if pressed when the default All option under the "Affect Only: section is selected, all clothing helpers will be refitted to the body. However, the refitting process will cause any modifications previously made to a refitted helper objects to be lost. To limit the Fit Target button behavior to a single helper object, you should specify the object that you want to have refitted under the Affects Only section appearing at the bottom of the panel. This will cause the refitting to only affect the chosen helper (for example the Hair), while leaving all other helper objects unaffected, preserving your edit modifications to those helpers (for example, the Tights and Skirt helpers will not be refitted and your modifications to those helpers will be preserved if the Hair Affects Only option is set).
The additional helper options also include buttons that improve the fit of the skirt specifically by snapping the skirt to the character's waist ("Snap Skirt Waist" button) or straightening the skirt ("Straighten Skirt" button). It is recommended that you still select the Skirt as the Affects Only option prior to pressing either of these buttons.
da61d8a7cfc299a2d3caf86aa1f67cb5587750b2
403
377
2015-08-15T16:24:20Z
Robbaer
12
wikitext
text/x-wiki
This section describes the blender version of MakeTarget. There is also a standalone version of MakeTarget.
For the information below to make sense and be useful, you will need to first install BlenderTools, see [[ Documentation:MHBlenderTools: Download and installation|MHBlenderTools: Download and installation ]]
== Introductory video ==
If you find this page, this is a youtube video which might be useful:
{{#ev:youtube|X13k7H3dNHo}}
== What is a Target? The MakeHuman Morphing Process. ==
[[File:Morph1.png|left]] The principle is simple. A target is a modifcation to a base mesh shape that does not alter the mesh itself but that stores information that permits the base mesh to be transformed into the target shape using ‘morphing’. Targets are what allow the slider controls in MakeHuman™ to take a single base mesh for a character and morph the shape of that character based on a variety of different feature target files. The many target files used by MakeHuman™ can alter a single human base form into characters with features as different as those distinguishing male from female to as subtle as varying the shape of a single earlobe.
A target contains the offsets by which vertices of the human base model (base.obj) deviate from the original to achieve a specific feature. eg. a long nose could be a target. These targets can be combined and MakeHuman™ uses them by blending targets together and gradually applying them to the base mesh to create a nearly endless variety of human forms. Below are examples of target blending obtained by choosing a target that defined the character as male and combining that target with the extreme settings for other targets that determned the muscle tone or weight of the character.
MakeHuman™ handles morphing with a special file format, ".target".
<br style="clear:both" />
== Loading the Base Mesh ==
[[File:maketarget131-area.png|right]] While it is possible to create targets using Blender without using the MakeTarget™ tool for Blender; that tool has many useful features that simplify the target creation process and will be explained by the help that follows. Once the MakeTarget™ add-on has been enabled (see the previous "Get and Install MH Addons for Blender" section), a panel labelled MakeTarget™ version 1.xx appears in theBlender User Interface, to the right of the viewport. The visibility of the Blender User Interface can be toggled on and off with the N-key.
<br style="clear:both" />
[[File:maketarget131.png|left]] Prior to loading any targets, the initial the MakeTarget™ panel consists of three main buttons. The first two buttons load the base human mesh, respectively with and without the special fitting tools. The third button labeled "Set As Base" sets an existing mesh (that must be MakeHuman™compliant and derived from the A8_v74.obj file distributed with the MakeTarget™ release within the maketarget/data/ folder) as a human base mesh. This third option is for users that have done editing of the base mesh in another 3D modelling program and that have saved or exported the model as a Wavefront .obj file.
Loading the "Human + Fit Tools" will import the base human +mesh helpers(image below, B). The "helpers" are special geometries, used in MakeHuman™ as a reference to correctly fit clothes, hair and accessories. These helpers can be annoying during the modelling of the character, so usually our artists first work on the pure body, loading the human only with the first button (image below, A), and then, in a successive step, they fit the helpers.
<br style="clear:both" />
[[File:helper_details.png|left]]
[[File:maketarget-base.png|right]]
<br style="clear:both" />
== Basic usage ==
=== The MakeTarget™ Version 1.09 Panel (After Loading The Target Mesh) ===
[[File:MakeTarget_load.png|left]]
After the mesh is loaded into the scene, the MakeTarget™panel layout will change, showing three new buttons that handle setting up the morphing targets. The first button creates a new empty target which will just be the original base mesh loaded in the previous step.
The second button loads the morphing from an existing target file. Do not attempt to load target files from the previous MakeHuman™versions, as these files are not compatible with the current base.
The third button creates a new target from an existing base mesh that is MakeHuman™compliant (derived from the A8_v74.obj file provided with the MakeTarget™release distribution), for example, a character modelled with an external tool (Maya, Max, C4D, etc..) and then saved or exported so that it can be imported into Blender as a wavefront obj file. To correctly use the third button, it is necessary to first select the imported base, then the MakeHuman™ base, and then press the Load Target From Mesh button. When the steps have been done correctly and that button is pressed the imported base will disappear and its transformations will be transferred onto the MakeHuman™ base.
<br style="clear:both" />
=== Editing The Target And The "Save Target As" Button ===
After a new empty target is initialized or an existing one is loaded/imported, the MakeTarget™ panel layout will change again, offering a rich set of new options (image below). For the basic use of the MakeTarget™ tool you may ignore all of these options except for the "Save Target As" button.
To create a custom target, the artist has to alter the base mesh, which is done in the usual way within Blender. First start edit mode, and then select one or more vertices, moving them to reshape the mesh. You may use the full power of Blender to create your morphing target design.The only rule, in order to create a valid morphing target, is to never add or delete a vertex, face or edge. The topology must be absolutely preserved.After the modelling process is completed, the MakeHuman™morphing target can be saved by pressing the "Save Target As" button on the MakeTarget™panel. By default this will save all of the offset deviations of every vertice from the base mesh into the target file.
== Advanced usage ==
=== The MakeTarget™Version 1.09 Panel (After Loading A Target) ===
During the creation or the editing of a target, as mentioned previously, the MakeTarget™panel shows a new layout with a rich set of options. Depending on whether the mesh is loaded without the fit tools (image below, left) or with the fit tools (image below, right), the panel offers different options.
[[File:maketarget131-panels.png]]
At the top of the panel there is a numeric slider that determines the amount of morphing to apply from the target. The maximum value is 1.0, which means that the target morphing is fully applied. A value of 0 will show the original base mesh without any target morphing. The minimum value of the slider is -1.0. Using negative values usually creates weird effects as a projected inverse of the target morph is applied, but these settings are useful to subtract unwanted morphing results when multiple targets are combined. The effect is shown in the image below beginning on the left with the full inverse of the morphing target, to the original base mesh in the middle, and finally to the fully applied morph target design on the right.
[[File:maketarget3.png]]
=== Load Target Section (After The First Target Is Loaded) ===
[[File:MakeTargetLoadSecondaryTarget.png]]
The three buttons that now in the "Load Target" section are used in exactly the same way as they were before any target was loaded, except that any targets that are now created or loaded with these buttons become a secondary target that can be applied to the previously loaded one. These buttons are used to append one or more additional targets to the first target and combine them in various proportions.
=== Discard And Apply Target Section ===
[[File:MakeTargetDiscardAndApplyTarget.png]]
The first two buttons under the "Discard And Apply Target" section will either discard all of the targets (returning you to the original base mesh) or only the last target appended (which will either be the last secondary target applied or the primary target if no secondary targets have been applied). The button "Apply targets" under the "Discard And Apply Target" section is used to join all targets into a single unique morphing target combination.
=== Symmetry Section ===
[[File:MakeTargetTargetSymmetryButtons.png]]
The two buttons in the "Symmetry" section are modelling tools, and are very useful. They has been designed to produce very reliable target results. Using the symmetry buttons will cause the mesh to become symetrical on either side of the X axis, with the option to apply edits from the left side of the character to the right side (Left->Right), or vice versa (Right->Left). Pressing these buttons will also align center vertices that have been unintentionally moved away from the center back to their center position.
=== Save Target Section ===
[[File:MakeTargetSaveTargetSection.png]]
Finally, press the "Save Target As" button to save the .target file once all secondary targets and edits have been completed.
The checkbox labeled "Selected verts only" is a very important option. This option when checked will permit you to select a set of vertices in edit mode and then save only those vertices into the target file. Such targets are useful when you want the target to only morph the selected vertices and leave all other vertices completely unaffected by the morphing target. For example, an artist could design a morphing target that is limited to the hands only, a single hand only, or to the head only, and save a target containing vertices that will only morph those body parts, while having no effect on other parts of the body that were not explicitly chosen by the artist.
The checkbox labeled "Active Target Only" will cause the "Save Target As" button to only save the last target only. This option normally applies when one or more secondary targets have been added using the Load Target section after adding the initial target.
=== Additional Fit Helper Buttons ===
[[File:MakeTargetFitTargetButton.png]]
[[File:MakeTargetSkirtEditingAffectOnly3.png]]
When the fit helpers have been included as part of the target, the additional options of the MakeTarget™ panel shown in the images above appear. These buttons are included to work with the helper objects. When the helpers have been loaded, an additional button labeled "Fit Targets" is available under the Load Target section. This button should be pressed after making alterations to the body that disconnect it from the helper objects, but prior to making modifications to those objects. This button will refit the clothing to the body, and if pressed when the default All option under the "Affect Only: section is selected, all clothing helpers will be refitted to the body. However, the refitting process will cause any modifications previously made to a refitted helper objects to be lost. To limit the Fit Target button behavior to a single helper object, you should specify the object that you want to have refitted under the Affects Only section appearing at the bottom of the panel. This will cause the refitting to only affect the chosen helper (for example the Hair), while leaving all other helper objects unaffected, preserving your edit modifications to those helpers (for example, the Tights and Skirt helpers will not be refitted and your modifications to those helpers will be preserved if the Hair Affects Only option is set).
The additional helper options also include buttons that improve the fit of the skirt specifically by snapping the skirt to the character's waist ("Snap Skirt Waist" button) or straightening the skirt ("Straighten Skirt" button). It is recommended that you still select the Skirt as the Affects Only option prior to pressing either of these buttons.
6ee8d3f093fc0721a868ae5b5a48089d4634ff39
377
376
2015-08-11T18:42:30Z
Fairytail
16
wikitext
text/x-wiki
This section describes the blender version of MakeTarget. There is also a standalone version of MakeTarget.
For the information below to make sense and be useful, you will need to first install BlenderTools, see [[ Documentation:MHBlenderTools: Download and installation|MHBlenderTools: Download and installation ]]
== Introductory video ==
If you find this page TL;DR, this is a youtube video which might be useful:
{{#ev:youtube|X13k7H3dNHo}}
== What is a Target? The MakeHuman Morphing Process. ==
[[File:Morph1.png|left]] The principle is simple. A target is a modifcation to a base mesh shape that does not alter the mesh itself but that stores information that permits the base mesh to be transformed into the target shape using ‘morphing’. Targets are what allow the slider controls in MakeHuman™ to take a single base mesh for a character and morph the shape of that character based on a variety of different feature target files. The many target files used by MakeHuman™ can alter a single human base form into characters with features as different as those distinguishing male from female to as subtle as varying the shape of a single earlobe.
A target contains the offsets by which vertices of the human base model (base.obj) deviate from the original to achieve a specific feature. eg. a long nose could be a target. These targets can be combined and MakeHuman™ uses them by blending targets together and gradually applying them to the base mesh to create a nearly endless variety of human forms. Below are examples of target blending obtained by choosing a target that defined the character as male and combining that target with the extreme settings for other targets that determned the muscle tone or weight of the character.
MakeHuman™ handles morphing with a special file format, ".target".
<br style="clear:both" />
== Loading the Base Mesh ==
[[File:maketarget131-area.png|right]] While it is possible to create targets using Blender without using the MakeTarget™ tool for Blender; that tool has many useful features that simplify the target creation process and will be explained by the help that follows. Once the MakeTarget™ add-on has been enabled (see the previous "Get and Install MH Addons for Blender" section), a panel labelled MakeTarget™ version 1.xx appears in theBlender User Interface, to the right of the viewport. The visibility of the Blender User Interface can be toggled on and off with the N-key.
<br style="clear:both" />
[[File:maketarget131.png|left]] Prior to loading any targets, the initial the MakeTarget™ panel consists of three main buttons. The first two buttons load the base human mesh, respectively with and without the special fitting tools. The third button labeled "Set As Base" sets an existing mesh (that must be MakeHuman™compliant and derived from the A8_v74.obj file distributed with the MakeTarget™ release within the maketarget/data/ folder) as a human base mesh. This third option is for users that have done editing of the base mesh in another 3D modelling program and that have saved or exported the model as a Wavefront .obj file.
Loading the "Human + Fit Tools" will import the base human +mesh helpers(image below, B). The "helpers" are special geometries, used in MakeHuman™ as a reference to correctly fit clothes, hair and accessories. These helpers can be annoying during the modelling of the character, so usually our artists first work on the pure body, loading the human only with the first button (image below, A), and then, in a successive step, they fit the helpers.
<br style="clear:both" />
[[File:helper_details.png|left]]
[[File:maketarget-base.png|right]]
<br style="clear:both" />
== Basic usage ==
=== The MakeTarget™ Version 1.09 Panel (After Loading The Target Mesh) ===
[[File:MakeTarget_load.png|left]]
After the mesh is loaded into the scene, the MakeTarget™panel layout will change, showing three new buttons that handle setting up the morphing targets. The first button creates a new empty target which will just be the original base mesh loaded in the previous step.
The second button loads the morphing from an existing target file. Do not attempt to load target files from the previous MakeHuman™versions, as these files are not compatible with the current base.
The third button creates a new target from an existing base mesh that is MakeHuman™compliant (derived from the A8_v74.obj file provided with the MakeTarget™release distribution), for example, a character modelled with an external tool (Maya, Max, C4D, etc..) and then saved or exported so that it can be imported into Blender as a wavefront obj file. To correctly use the third button, it is necessary to first select the imported base, then the MakeHuman™ base, and then press the Load Target From Mesh button. When the steps have been done correctly and that button is pressed the imported base will disappear and its transformations will be transferred onto the MakeHuman™ base.
<br style="clear:both" />
=== Editing The Target And The "Save Target As" Button ===
After a new empty target is initialized or an existing one is loaded/imported, the MakeTarget™ panel layout will change again, offering a rich set of new options (image below). For the basic use of the MakeTarget™ tool you may ignore all of these options except for the "Save Target As" button.
To create a custom target, the artist has to alter the base mesh, which is done in the usual way within Blender. First start edit mode, and then select one or more vertices, moving them to reshape the mesh. You may use the full power of Blender to create your morphing target design.The only rule, in order to create a valid morphing target, is to never add or delete a vertex, face or edge. The topology must be absolutely preserved.After the modelling process is completed, the MakeHuman™morphing target can be saved by pressing the "Save Target As" button on the MakeTarget™panel. By default this will save all of the offset deviations of every vertice from the base mesh into the target file.
== Advanced usage ==
=== The MakeTarget™Version 1.09 Panel (After Loading A Target) ===
During the creation or the editing of a target, as mentioned previously, the MakeTarget™panel shows a new layout with a rich set of options. Depending on whether the mesh is loaded without the fit tools (image below, left) or with the fit tools (image below, right), the panel offers different options.
[[File:maketarget131-panels.png]]
At the top of the panel there is a numeric slider that determines the amount of morphing to apply from the target. The maximum value is 1.0, which means that the target morphing is fully applied. A value of 0 will show the original base mesh without any target morphing. The minimum value of the slider is -1.0. Using negative values usually creates weird effects as a projected inverse of the target morph is applied, but these settings are useful to subtract unwanted morphing results when multiple targets are combined. The effect is shown in the image below beginning on the left with the full inverse of the morphing target, to the original base mesh in the middle, and finally to the fully applied morph target design on the right.
[[File:maketarget3.png]]
=== Load Target Section (After The First Target Is Loaded) ===
[[File:MakeTargetLoadSecondaryTarget.png]]
The three buttons that now in the "Load Target" section are used in exactly the same way as they were before any target was loaded, except that any targets that are now created or loaded with these buttons become a secondary target that can be applied to the previously loaded one. These buttons are used to append one or more additional targets to the first target and combine them in various proportions.
=== Discard And Apply Target Section ===
[[File:MakeTargetDiscardAndApplyTarget.png]]
The first two buttons under the "Discard And Apply Target" section will either discard all of the targets (returning you to the original base mesh) or only the last target appended (which will either be the last secondary target applied or the primary target if no secondary targets have been applied). The button "Apply targets" under the "Discard And Apply Target" section is used to join all targets into a single unique morphing target combination.
=== Symmetry Section ===
[[File:MakeTargetTargetSymmetryButtons.png]]
The two buttons in the "Symmetry" section are modelling tools, and are very useful. They has been designed to produce very reliable target results. Using the symmetry buttons will cause the mesh to become symetrical on either side of the X axis, with the option to apply edits from the left side of the character to the right side (Left->Right), or vice versa (Right->Left). Pressing these buttons will also align center vertices that have been unintentionally moved away from the center back to their center position.
=== Save Target Section ===
[[File:MakeTargetSaveTargetSection.png]]
Finally, press the "Save Target As" button to save the .target file once all secondary targets and edits have been completed.
The checkbox labeled "Selected verts only" is a very important option. This option when checked will permit you to select a set of vertices in edit mode and then save only those vertices into the target file. Such targets are useful when you want the target to only morph the selected vertices and leave all other vertices completely unaffected by the morphing target. For example, an artist could design a morphing target that is limited to the hands only, a single hand only, or to the head only, and save a target containing vertices that will only morph those body parts, while having no effect on other parts of the body that were not explicitly chosen by the artist.
The checkbox labeled "Active Target Only" will cause the "Save Target As" button to only save the last target only. This option normally applies when one or more secondary targets have been added using the Load Target section after adding the initial target.
=== Additional Fit Helper Buttons ===
[[File:MakeTargetFitTargetButton.png]]
[[File:MakeTargetSkirtEditingAffectOnly3.png]]
When the fit helpers have been included as part of the target, the additional options of the MakeTarget™ panel shown in the images above appear. These buttons are included to work with the helper objects. When the helpers have been loaded, an additional button labeled "Fit Targets" is available under the Load Target section. This button should be pressed after making alterations to the body that disconnect it from the helper objects, but prior to making modifications to those objects. This button will refit the clothing to the body, and if pressed when the default All option under the "Affect Only: section is selected, all clothing helpers will be refitted to the body. However, the refitting process will cause any modifications previously made to a refitted helper objects to be lost. To limit the Fit Target button behavior to a single helper object, you should specify the object that you want to have refitted under the Affects Only section appearing at the bottom of the panel. This will cause the refitting to only affect the chosen helper (for example the Hair), while leaving all other helper objects unaffected, preserving your edit modifications to those helpers (for example, the Tights and Skirt helpers will not be refitted and your modifications to those helpers will be preserved if the Hair Affects Only option is set).
The additional helper options also include buttons that improve the fit of the skirt specifically by snapping the skirt to the character's waist ("Snap Skirt Waist" button) or straightening the skirt ("Straighten Skirt" button). It is recommended that you still select the Skirt as the Affects Only option prior to pressing either of these buttons.
e36b80d049c6f1f792df7413487c8ffd89d7f4cb
376
367
2015-08-09T19:23:25Z
Fairytail
16
/* Advanced usage */
wikitext
text/x-wiki
This section describes the blender version of MakeTarget. There is also a standalone version of MakeTarget.
For the information below to make sense and be useful, you will need to first install BlenderTools, see [[ Documentation:MHBlenderTools: Download and installation|MHBlenderTools: Download and installation ]]
== Introductory video ==
If you find this page TL;DR, this is a youtube video which might be useful:
{{#ev:youtube|X13k7H3dNHo}}
== What is a Target? The MakeHuman Morphing Process. ==
The principle is simple. A target is a modifcation to a base mesh shape that does not alter the mesh itself but that stores information that permits the base mesh to be transformed into the target shape using ‘morphing’. Targets are what allow the slider controls in MakeHuman™ to take a single base mesh for a character and morph the shape of that character based on a variety of different feature target files. The many target files used by MakeHuman™ can alter a single human base form into characters with features as different as those distinguishing male from female to as subtle as varying the shape of a single earlobe.
[[File:Morph1.png]]
A target contains the offsets by which vertices of the human base model (base.obj) deviate from the original to achieve a specific feature. eg. a long nose could be a target. These targets can be combined and MakeHuman™ uses them by blending targets together and gradually applying them to the base mesh to create a nearly endless variety of human forms. Below are examples of target blending obtained by choosing a target that defined the character as male and combining that target with the extreme settings for other targets that determned the muscle tone or weight of the character.
MakeHuman™ handles morphing with a special file format, ".target".
== Loading the Base Mesh ==
While it is possible to create targets using Blender without using the MakeTarget™ tool for Blender; that tool has many useful features that simplify the target creation process and will be explained by the help that follows. Once the MakeTarget™ add-on has been enabled (see the previous "Get and Install MH Addons for Blender" section), a panel labelled MakeTarget™ version 1.xx appears in theBlender User Interface, to the right of the viewport. The visibility of the Blender User Interface can be toggled on and off with the N-key.
[[File:maketarget131-area.png]]
The MakeTarget Version 1.31 Panel (Initial Settings)
[[File:maketarget131.png]]
Prior to loading any targets, the initial the MakeTarget™ panel consists of three main buttons. The first two buttons load the base human mesh, respectively with and without the special fitting tools. The third button labeled "Set As Base" sets an existing mesh (that must be MakeHuman™compliant and derived from the A8_v74.obj file distributed with the MakeTarget™ release within the maketarget/data/ folder) as a human base mesh. This third option is for users that have done editing of the base mesh in another 3D modelling program and that have saved or exported the model as a Wavefront .obj file
[[File:helper_details.png]]
Loading the "Human + Fit Tools" will import the base human +mesh helpers(image below, B). The "helpers" are special geometries, used in MakeHuman™ as a reference to correctly fit clothes, hair and accessories. These helpers can be annoying during the modelling of the character, so usually our artists first work on the pure body, loading the human only with the first button (image below, A), and then, in a successive step, they fit the helpers.
[[File:maketarget-base.png]]
== Basic usage ==
=== The MakeTarget™ Version 1.09 Panel (After Loading The Target Mesh) ===
[[File:MakeTarget_load.png]]
After the mesh is loaded into the scene, the MakeTarget™panel layout will change, showing three new buttons that handle setting up the morphing targets. The first button creates a new empty target which will just be the original base mesh loaded in the previous step.
The second button loads the morphing from an existing target file. Do not attempt to load target files from the previous MakeHuman™versions, as these files are not compatible with the current base.
The third button creates a new target from an existing base mesh that is MakeHuman™compliant (derived from the A8_v74.obj file provided with the MakeTarget™release distribution), for example, a character modelled with an external tool (Maya, Max, C4D, etc..) and then saved or exported so that it can be imported into Blender as a wavefront obj file. To correctly use the third button, it is necessary to first select the imported base, then the MakeHuman™ base, and then press the Load Target From Mesh button. When the steps have been done correctly and that button is pressed the imported base will disappear and its transformations will be transferred onto the MakeHuman™ base.
=== Editing The Target And The "Save Target As" Button ===
After a new empty target is initialized or an existing one is loaded/imported, the MakeTarget™ panel layout will change again, offering a rich set of new options (image below). For the basic use of the MakeTarget™ tool you may ignore all of these options except for the "Save Target As" button.
To create a custom target, the artist has to alter the base mesh, which is done in the usual way within Blender. First start edit mode, and then select one or more vertices, moving them to reshape the mesh. You may use the full power of Blender to create your morphing target design.The only rule, in order to create a valid morphing target, is to never add or delete a vertex, face or edge. The topology must be absolutely preserved.After the modelling process is completed, the MakeHuman™morphing target can be saved by pressing the "Save Target As" button on the MakeTarget™panel. By default this will save all of the offset deviations of every vertice from the base mesh into the target file.
== Advanced usage ==
=== The MakeTarget™Version 1.09 Panel (After Loading A Target) ===
During the creation or the editing of a target, as mentioned previously, the MakeTarget™panel shows a new layout with a rich set of options. Depending on whether the mesh is loaded without the fit tools (image below, left) or with the fit tools (image below, right), the panel offers different options.
[[File:maketarget131-panels.png]]
At the top of the panel there is a numeric slider that determines the amount of morphing to apply from the target. The maximum value is 1.0, which means that the target morphing is fully applied. A value of 0 will show the original base mesh without any target morphing. The minimum value of the slider is -1.0. Using negative values usually creates weird effects as a projected inverse of the target morph is applied, but these settings are useful to subtract unwanted morphing results when multiple targets are combined. The effect is shown in the image below beginning on the left with the full inverse of the morphing target, to the original base mesh in the middle, and finally to the fully applied morph target design on the right.
[[File:maketarget3.png]]
=== Load Target Section (After The First Target Is Loaded) ===
[[File:MakeTargetLoadSecondaryTarget.png]]
The three buttons that now in the "Load Target" section are used in exactly the same way as they were before any target was loaded, except that any targets that are now created or loaded with these buttons become a secondary target that can be applied to the previously loaded one. These buttons are used to append one or more additional targets to the first target and combine them in various proportions.
=== Discard And Apply Target Section ===
[[File:MakeTargetDiscardAndApplyTarget.png]]
The first two buttons under the "Discard And Apply Target" section will either discard all of the targets (returning you to the original base mesh) or only the last target appended (which will either be the last secondary target applied or the primary target if no secondary targets have been applied). The button "Apply targets" under the "Discard And Apply Target" section is used to join all targets into a single unique morphing target combination.
=== Symmetry Section ===
[[File:MakeTargetTargetSymmetryButtons.png]]
The two buttons in the "Symmetry" section are modelling tools, and are very useful. They has been designed to produce very reliable target results. Using the symmetry buttons will cause the mesh to become symetrical on either side of the X axis, with the option to apply edits from the left side of the character to the right side (Left->Right), or vice versa (Right->Left). Pressing these buttons will also align center vertices that have been unintentionally moved away from the center back to their center position.
=== Save Target Section ===
[[File:MakeTargetSaveTargetSection.png]]
Finally, press the "Save Target As" button to save the .target file once all secondary targets and edits have been completed.
The checkbox labeled "Selected verts only" is a very important option. This option when checked will permit you to select a set of vertices in edit mode and then save only those vertices into the target file. Such targets are useful when you want the target to only morph the selected vertices and leave all other vertices completely unaffected by the morphing target. For example, an artist could design a morphing target that is limited to the hands only, a single hand only, or to the head only, and save a target containing vertices that will only morph those body parts, while having no effect on other parts of the body that were not explicitly chosen by the artist.
The checkbox labeled "Active Target Only" will cause the "Save Target As" button to only save the last target only. This option normally applies when one or more secondary targets have been added using the Load Target section after adding the initial target.
=== Additional Fit Helper Buttons ===
[[File:MakeTargetFitTargetButton.png]]
[[File:MakeTargetSkirtEditingAffectOnly3.png]]
When the fit helpers have been included as part of the target, the additional options of the MakeTarget™ panel shown in the images above appear. These buttons are included to work with the helper objects. When the helpers have been loaded, an additional button labeled "Fit Targets" is available under the Load Target section. This button should be pressed after making alterations to the body that disconnect it from the helper objects, but prior to making modifications to those objects. This button will refit the clothing to the body, and if pressed when the default All option under the "Affect Only: section is selected, all clothing helpers will be refitted to the body. However, the refitting process will cause any modifications previously made to a refitted helper objects to be lost. To limit the Fit Target button behavior to a single helper object, you should specify the object that you want to have refitted under the Affects Only section appearing at the bottom of the panel. This will cause the refitting to only affect the chosen helper (for example the Hair), while leaving all other helper objects unaffected, preserving your edit modifications to those helpers (for example, the Tights and Skirt helpers will not be refitted and your modifications to those helpers will be preserved if the Hair Affects Only option is set).
The additional helper options also include buttons that improve the fit of the skirt specifically by snapping the skirt to the character's waist ("Snap Skirt Waist" button) or straightening the skirt ("Straighten Skirt" button). It is recommended that you still select the Skirt as the Affects Only option prior to pressing either of these buttons.
ec5cb227e309a79c34b5c6b11bedbda653d626c2
367
365
2015-08-09T19:08:09Z
Fairytail
16
/* Basic usage */
wikitext
text/x-wiki
This section describes the blender version of MakeTarget. There is also a standalone version of MakeTarget.
For the information below to make sense and be useful, you will need to first install BlenderTools, see [[ Documentation:MHBlenderTools: Download and installation|MHBlenderTools: Download and installation ]]
== Introductory video ==
If you find this page TL;DR, this is a youtube video which might be useful:
{{#ev:youtube|X13k7H3dNHo}}
== What is a Target? The MakeHuman Morphing Process. ==
The principle is simple. A target is a modifcation to a base mesh shape that does not alter the mesh itself but that stores information that permits the base mesh to be transformed into the target shape using ‘morphing’. Targets are what allow the slider controls in MakeHuman™ to take a single base mesh for a character and morph the shape of that character based on a variety of different feature target files. The many target files used by MakeHuman™ can alter a single human base form into characters with features as different as those distinguishing male from female to as subtle as varying the shape of a single earlobe.
[[File:Morph1.png]]
A target contains the offsets by which vertices of the human base model (base.obj) deviate from the original to achieve a specific feature. eg. a long nose could be a target. These targets can be combined and MakeHuman™ uses them by blending targets together and gradually applying them to the base mesh to create a nearly endless variety of human forms. Below are examples of target blending obtained by choosing a target that defined the character as male and combining that target with the extreme settings for other targets that determned the muscle tone or weight of the character.
MakeHuman™ handles morphing with a special file format, ".target".
== Loading the Base Mesh ==
While it is possible to create targets using Blender without using the MakeTarget™ tool for Blender; that tool has many useful features that simplify the target creation process and will be explained by the help that follows. Once the MakeTarget™ add-on has been enabled (see the previous "Get and Install MH Addons for Blender" section), a panel labelled MakeTarget™ version 1.xx appears in theBlender User Interface, to the right of the viewport. The visibility of the Blender User Interface can be toggled on and off with the N-key.
[[File:maketarget131-area.png]]
The MakeTarget Version 1.31 Panel (Initial Settings)
[[File:maketarget131.png]]
Prior to loading any targets, the initial the MakeTarget™ panel consists of three main buttons. The first two buttons load the base human mesh, respectively with and without the special fitting tools. The third button labeled "Set As Base" sets an existing mesh (that must be MakeHuman™compliant and derived from the A8_v74.obj file distributed with the MakeTarget™ release within the maketarget/data/ folder) as a human base mesh. This third option is for users that have done editing of the base mesh in another 3D modelling program and that have saved or exported the model as a Wavefront .obj file
[[File:helper_details.png]]
Loading the "Human + Fit Tools" will import the base human +mesh helpers(image below, B). The "helpers" are special geometries, used in MakeHuman™ as a reference to correctly fit clothes, hair and accessories. These helpers can be annoying during the modelling of the character, so usually our artists first work on the pure body, loading the human only with the first button (image below, A), and then, in a successive step, they fit the helpers.
[[File:maketarget-base.png]]
== Basic usage ==
=== The MakeTarget™ Version 1.09 Panel (After Loading The Target Mesh) ===
[[File:MakeTarget_load.png]]
After the mesh is loaded into the scene, the MakeTarget™panel layout will change, showing three new buttons that handle setting up the morphing targets. The first button creates a new empty target which will just be the original base mesh loaded in the previous step.
The second button loads the morphing from an existing target file. Do not attempt to load target files from the previous MakeHuman™versions, as these files are not compatible with the current base.
The third button creates a new target from an existing base mesh that is MakeHuman™compliant (derived from the A8_v74.obj file provided with the MakeTarget™release distribution), for example, a character modelled with an external tool (Maya, Max, C4D, etc..) and then saved or exported so that it can be imported into Blender as a wavefront obj file. To correctly use the third button, it is necessary to first select the imported base, then the MakeHuman™ base, and then press the Load Target From Mesh button. When the steps have been done correctly and that button is pressed the imported base will disappear and its transformations will be transferred onto the MakeHuman™ base.
=== Editing The Target And The "Save Target As" Button ===
After a new empty target is initialized or an existing one is loaded/imported, the MakeTarget™ panel layout will change again, offering a rich set of new options (image below). For the basic use of the MakeTarget™ tool you may ignore all of these options except for the "Save Target As" button.
To create a custom target, the artist has to alter the base mesh, which is done in the usual way within Blender. First start edit mode, and then select one or more vertices, moving them to reshape the mesh. You may use the full power of Blender to create your morphing target design.The only rule, in order to create a valid morphing target, is to never add or delete a vertex, face or edge. The topology must be absolutely preserved.After the modelling process is completed, the MakeHuman™morphing target can be saved by pressing the "Save Target As" button on the MakeTarget™panel. By default this will save all of the offset deviations of every vertice from the base mesh into the target file.
== Advanced usage ==
=== The MakeTarget™Version 1.09 Panel (After Loading A Target) ===
During the creation or the editing of a target, as mentioned previously, the MakeTarget™panel shows a new layout with a rich set of options. Depending on whether the mesh is loaded without the fit tools (image below, left) or with the fit tools (image below, right), the panel offers different options.
!IMAGE!Pictures/maketarget131-panels.png!/IMAGE!
At the top of the panel there is a numeric slider that determines the amount of morphing to apply from the target. The maximum value is 1.0, which means that the target morphing is fully applied. A value of 0 will show the original base mesh without any target morphing. The minimum value of the slider is -1.0. Using negative values usually creates weird effects as a projected inverse of the target morph is applied, but these settings are useful to subtract unwanted morphing results when multiple targets are combined. The effect is shown in the image below beginning on the left with the full inverse of the morphing target, to the original base mesh in the middle, and finally to the fully applied morph target design on the right.
!IMAGE!Pictures/maketarget3.png!/IMAGE!
=== Load Target Section (After The First Target Is Loaded) ===
!IMAGE!Pictures/MakeTargetLoadSecondaryTarget.png!/IMAGE!
The three buttons that now in the "Load Target" section are used in exactly the same way as they were before any target was loaded, except that any targets that are now created or loaded with these buttons become a secondary target that can be applied to the previously loaded one. These buttons are used to append one or more additional targets to the first target and combine them in various proportions.
=== Discard And Apply Target Section ===
!IMAGE!Pictures/MakeTargetDiscardAndApplyTarget.png!/IMAGE!
The first two buttons under the "Discard And Apply Target" section will either discard all of the targets (returning you to the original base mesh) or only the last target appended (which will either be the last secondary target applied or the primary target if no secondary targets have been applied). The button "Apply targets" under the "Discard And Apply Target" section is used to join all targets into a single unique morphing target combination.
=== Symmetry Section ===
!IMAGE!Pictures/MakeTargetTargetSymmetryButtons.png!/IMAGE!
The two buttons in the "Symmetry" section are modelling tools, and are very useful. They has been designed to produce very reliable target results. Using the symmetry buttons will cause the mesh to become symetrical on either side of the X axis, with the option to apply edits from the left side of the character to the right side (Left->Right), or vice versa (Right->Left). Pressing these buttons will also align center vertices that have been unintentionally moved away from the center back to their center position.
=== Save Target Section ===
!IMAGE!Pictures/MakeTargetSaveTargetSection.png!/IMAGE!
Finally, press the "Save Target As" button to save the .target file once all secondary targets and edits have been completed.
The checkbox labeled "Selected verts only" is a very important option. This option when checked will permit you to select a set of vertices in edit mode and then save only those vertices into the target file. Such targets are useful when you want the target to only morph the selected vertices and leave all other vertices completely unaffected by the morphing target. For example, an artist could design a morphing target that is limited to the hands only, a single hand only, or to the head only, and save a target containing vertices that will only morph those body parts, while having no effect on other parts of the body that were not explicitly chosen by the artist.
The checkbox labeled "Active Target Only" will cause the "Save Target As" button to only save the last target only. This option normally applies when one or more secondary targets have been added using the Load Target section after adding the initial target.
=== Additional Fit Helper Buttons ===
!IMAGE!Pictures/MakeTargetFitTargetButton.png!/IMAGE!
!IMAGE!Pictures/MakeTargetSkirtEditingAffectOnly3.png!/IMAGE!
When the fit helpers have been included as part of the target, the additional options of the MakeTarget™ panel shown in the images above appear. These buttons are included to work with the helper objects. When the helpers have been loaded, an additional button labeled "Fit Targets" is available under the Load Target section. This button should be pressed after making alterations to the body that disconnect it from the helper objects, but prior to making modifications to those objects. This button will refit the clothing to the body, and if pressed when the default All option under the "Affect Only: section is selected, all clothing helpers will be refitted to the body. However, the refitting process will cause any modifications previously made to a refitted helper objects to be lost. To limit the Fit Target button behavior to a single helper object, you should specify the object that you want to have refitted under the Affects Only section appearing at the bottom of the panel. This will cause the refitting to only affect the chosen helper (for example the Hair), while leaving all other helper objects unaffected, preserving your edit modifications to those helpers (for example, the Tights and Skirt helpers will not be refitted and your modifications to those helpers will be preserved if the Hair Affects Only option is set).
The additional helper options also include buttons that improve the fit of the skirt specifically by snapping the skirt to the character's waist ("Snap Skirt Waist" button) or straightening the skirt ("Straighten Skirt" button). It is recommended that you still select the Skirt as the Affects Only option prior to pressing either of these buttons.
3a27c2744cbc517cedb20f46feb6e5c1630e5051
365
360
2015-08-09T18:53:44Z
Fairytail
16
/* Loading the Base Mesh */
wikitext
text/x-wiki
This section describes the blender version of MakeTarget. There is also a standalone version of MakeTarget.
For the information below to make sense and be useful, you will need to first install BlenderTools, see [[ Documentation:MHBlenderTools: Download and installation|MHBlenderTools: Download and installation ]]
== Introductory video ==
If you find this page TL;DR, this is a youtube video which might be useful:
{{#ev:youtube|X13k7H3dNHo}}
== What is a Target? The MakeHuman Morphing Process. ==
The principle is simple. A target is a modifcation to a base mesh shape that does not alter the mesh itself but that stores information that permits the base mesh to be transformed into the target shape using ‘morphing’. Targets are what allow the slider controls in MakeHuman™ to take a single base mesh for a character and morph the shape of that character based on a variety of different feature target files. The many target files used by MakeHuman™ can alter a single human base form into characters with features as different as those distinguishing male from female to as subtle as varying the shape of a single earlobe.
[[File:Morph1.png]]
A target contains the offsets by which vertices of the human base model (base.obj) deviate from the original to achieve a specific feature. eg. a long nose could be a target. These targets can be combined and MakeHuman™ uses them by blending targets together and gradually applying them to the base mesh to create a nearly endless variety of human forms. Below are examples of target blending obtained by choosing a target that defined the character as male and combining that target with the extreme settings for other targets that determned the muscle tone or weight of the character.
MakeHuman™ handles morphing with a special file format, ".target".
== Loading the Base Mesh ==
While it is possible to create targets using Blender without using the MakeTarget™ tool for Blender; that tool has many useful features that simplify the target creation process and will be explained by the help that follows. Once the MakeTarget™ add-on has been enabled (see the previous "Get and Install MH Addons for Blender" section), a panel labelled MakeTarget™ version 1.xx appears in theBlender User Interface, to the right of the viewport. The visibility of the Blender User Interface can be toggled on and off with the N-key.
[[File:maketarget131-area.png]]
The MakeTarget Version 1.31 Panel (Initial Settings)
[[File:maketarget131.png]]
Prior to loading any targets, the initial the MakeTarget™ panel consists of three main buttons. The first two buttons load the base human mesh, respectively with and without the special fitting tools. The third button labeled "Set As Base" sets an existing mesh (that must be MakeHuman™compliant and derived from the A8_v74.obj file distributed with the MakeTarget™ release within the maketarget/data/ folder) as a human base mesh. This third option is for users that have done editing of the base mesh in another 3D modelling program and that have saved or exported the model as a Wavefront .obj file
[[File:helper_details.png]]
Loading the "Human + Fit Tools" will import the base human +mesh helpers(image below, B). The "helpers" are special geometries, used in MakeHuman™ as a reference to correctly fit clothes, hair and accessories. These helpers can be annoying during the modelling of the character, so usually our artists first work on the pure body, loading the human only with the first button (image below, A), and then, in a successive step, they fit the helpers.
[[File:maketarget-base.png]]
== Basic usage ==
=== The MakeTarget™ Version 1.09 Panel (After Loading The Target Mesh) ===
!IMAGE!Pictures/MakeTarget_load.png!/IMAGE!
After the mesh is loaded into the scene, the MakeTarget™panel layout will change, showing three new buttons that handle setting up the morphing targets. The first button creates a new empty target which will just be the original base mesh loaded in the previous step.
The second button loads the morphing from an existing target file. Do not attempt to load target files from the previous MakeHuman™versions, as these files are not compatible with the current base.
The third button creates a new target from an existing base mesh that is MakeHuman™compliant (derived from the A8_v74.obj file provided with the MakeTarget™release distribution), for example, a character modelled with an external tool (Maya, Max, C4D, etc..) and then saved or exported so that it can be imported into Blender as a wavefront obj file. To correctly use the third button, it is necessary to first select the imported base, then the MakeHuman™ base, and then press the Load Target From Mesh button. When the steps have been done correctly and that button is pressed the imported base will disappear and its transformations will be transferred onto the MakeHuman™ base.
=== Editing The Target And The "Save Target As" Button ===
After a new empty target is initialized or an existing one is loaded/imported, the MakeTarget™ panel layout will change again, offering a rich set of new options (image below). For the basic use of the MakeTarget™ tool you may ignore all of these options except for the "Save Target As" button.
To create a custom target, the artist has to alter the base mesh, which is done in the usual way within Blender. First start edit mode, and then select one or more vertices, moving them to reshape the mesh. You may use the full power of Blender to create your morphing target design.The only rule, in order to create a valid morphing target, is to never add or delete a vertex, face or edge. The topology must be absolutely preserved.After the modelling process is completed, the MakeHuman™morphing target can be saved by pressing the "Save Target As" button on the MakeTarget™panel. By default this will save all of the offset deviations of every vertice from the base mesh into the target file.
== Advanced usage ==
=== The MakeTarget™Version 1.09 Panel (After Loading A Target) ===
During the creation or the editing of a target, as mentioned previously, the MakeTarget™panel shows a new layout with a rich set of options. Depending on whether the mesh is loaded without the fit tools (image below, left) or with the fit tools (image below, right), the panel offers different options.
!IMAGE!Pictures/maketarget131-panels.png!/IMAGE!
At the top of the panel there is a numeric slider that determines the amount of morphing to apply from the target. The maximum value is 1.0, which means that the target morphing is fully applied. A value of 0 will show the original base mesh without any target morphing. The minimum value of the slider is -1.0. Using negative values usually creates weird effects as a projected inverse of the target morph is applied, but these settings are useful to subtract unwanted morphing results when multiple targets are combined. The effect is shown in the image below beginning on the left with the full inverse of the morphing target, to the original base mesh in the middle, and finally to the fully applied morph target design on the right.
!IMAGE!Pictures/maketarget3.png!/IMAGE!
=== Load Target Section (After The First Target Is Loaded) ===
!IMAGE!Pictures/MakeTargetLoadSecondaryTarget.png!/IMAGE!
The three buttons that now in the "Load Target" section are used in exactly the same way as they were before any target was loaded, except that any targets that are now created or loaded with these buttons become a secondary target that can be applied to the previously loaded one. These buttons are used to append one or more additional targets to the first target and combine them in various proportions.
=== Discard And Apply Target Section ===
!IMAGE!Pictures/MakeTargetDiscardAndApplyTarget.png!/IMAGE!
The first two buttons under the "Discard And Apply Target" section will either discard all of the targets (returning you to the original base mesh) or only the last target appended (which will either be the last secondary target applied or the primary target if no secondary targets have been applied). The button "Apply targets" under the "Discard And Apply Target" section is used to join all targets into a single unique morphing target combination.
=== Symmetry Section ===
!IMAGE!Pictures/MakeTargetTargetSymmetryButtons.png!/IMAGE!
The two buttons in the "Symmetry" section are modelling tools, and are very useful. They has been designed to produce very reliable target results. Using the symmetry buttons will cause the mesh to become symetrical on either side of the X axis, with the option to apply edits from the left side of the character to the right side (Left->Right), or vice versa (Right->Left). Pressing these buttons will also align center vertices that have been unintentionally moved away from the center back to their center position.
=== Save Target Section ===
!IMAGE!Pictures/MakeTargetSaveTargetSection.png!/IMAGE!
Finally, press the "Save Target As" button to save the .target file once all secondary targets and edits have been completed.
The checkbox labeled "Selected verts only" is a very important option. This option when checked will permit you to select a set of vertices in edit mode and then save only those vertices into the target file. Such targets are useful when you want the target to only morph the selected vertices and leave all other vertices completely unaffected by the morphing target. For example, an artist could design a morphing target that is limited to the hands only, a single hand only, or to the head only, and save a target containing vertices that will only morph those body parts, while having no effect on other parts of the body that were not explicitly chosen by the artist.
The checkbox labeled "Active Target Only" will cause the "Save Target As" button to only save the last target only. This option normally applies when one or more secondary targets have been added using the Load Target section after adding the initial target.
=== Additional Fit Helper Buttons ===
!IMAGE!Pictures/MakeTargetFitTargetButton.png!/IMAGE!
!IMAGE!Pictures/MakeTargetSkirtEditingAffectOnly3.png!/IMAGE!
When the fit helpers have been included as part of the target, the additional options of the MakeTarget™ panel shown in the images above appear. These buttons are included to work with the helper objects. When the helpers have been loaded, an additional button labeled "Fit Targets" is available under the Load Target section. This button should be pressed after making alterations to the body that disconnect it from the helper objects, but prior to making modifications to those objects. This button will refit the clothing to the body, and if pressed when the default All option under the "Affect Only: section is selected, all clothing helpers will be refitted to the body. However, the refitting process will cause any modifications previously made to a refitted helper objects to be lost. To limit the Fit Target button behavior to a single helper object, you should specify the object that you want to have refitted under the Affects Only section appearing at the bottom of the panel. This will cause the refitting to only affect the chosen helper (for example the Hair), while leaving all other helper objects unaffected, preserving your edit modifications to those helpers (for example, the Tights and Skirt helpers will not be refitted and your modifications to those helpers will be preserved if the Hair Affects Only option is set).
The additional helper options also include buttons that improve the fit of the skirt specifically by snapping the skirt to the character's waist ("Snap Skirt Waist" button) or straightening the skirt ("Straighten Skirt" button). It is recommended that you still select the Skirt as the Affects Only option prior to pressing either of these buttons.
5c963083829aa0594b1b798aa7bc29f1f6d45788
360
75
2015-08-09T18:38:58Z
Fairytail
16
/* What is a Target? The MakeHuman Morphing Process. */
wikitext
text/x-wiki
This section describes the blender version of MakeTarget. There is also a standalone version of MakeTarget.
For the information below to make sense and be useful, you will need to first install BlenderTools, see [[ Documentation:MHBlenderTools: Download and installation|MHBlenderTools: Download and installation ]]
== Introductory video ==
If you find this page TL;DR, this is a youtube video which might be useful:
{{#ev:youtube|X13k7H3dNHo}}
== What is a Target? The MakeHuman Morphing Process. ==
The principle is simple. A target is a modifcation to a base mesh shape that does not alter the mesh itself but that stores information that permits the base mesh to be transformed into the target shape using ‘morphing’. Targets are what allow the slider controls in MakeHuman™ to take a single base mesh for a character and morph the shape of that character based on a variety of different feature target files. The many target files used by MakeHuman™ can alter a single human base form into characters with features as different as those distinguishing male from female to as subtle as varying the shape of a single earlobe.
[[File:Morph1.png]]
A target contains the offsets by which vertices of the human base model (base.obj) deviate from the original to achieve a specific feature. eg. a long nose could be a target. These targets can be combined and MakeHuman™ uses them by blending targets together and gradually applying them to the base mesh to create a nearly endless variety of human forms. Below are examples of target blending obtained by choosing a target that defined the character as male and combining that target with the extreme settings for other targets that determned the muscle tone or weight of the character.
MakeHuman™ handles morphing with a special file format, ".target".
== Loading the Base Mesh ==
While it is possible to create targets using Blender without using the MakeTarget™ tool for Blender; that tool has many useful features that simplify the target creation process and will be explained by the help that follows. Once the MakeTarget™ add-on has been enabled (see the previous "Get and Install MH Addons for Blender" section), a panel labelled MakeTarget™ version 1.xx appears in theBlender User Interface, to the right of the viewport. The visibility of the Blender User Interface can be toggled on and off with the N-key.
!IMAGE!Pictures/maketarget131-area.png!/IMAGE!
The MakeTarget Version 1.31 Panel (Initial Settings)
!IMAGE!Pictures/maketarget131.png!/IMAGE!
Prior to loading any targets, the initial the MakeTarget™ panel consists of three main buttons. The first two buttons load the base human mesh, respectively with and without the special fitting tools. The third button labeled "Set As Base" sets an existing mesh (that must be MakeHuman™compliant and derived from the A8_v74.obj file distributed with the MakeTarget™ release within the maketarget/data/ folder) as a human base mesh. This third option is for users that have done editing of the base mesh in another 3D modelling program and that have saved or exported the model as a Wavefront .obj file
!IMAGE!Pictures/helper_details.png!/IMAGE!
Loading the "Human + Fit Tools" will import the base human +mesh helpers(image below, B). The "helpers" are special geometries, used in MakeHuman™ as a reference to correctly fit clothes, hair and accessories. These helpers can be annoying during the modelling of the character, so usually our artists first work on the pure body, loading the human only with the first button (image below, A), and then, in a successive step, they fit the helpers.
!IMAGE!Pictures/maketarget-base.png!/IMAGE!
== Basic usage ==
=== The MakeTarget™ Version 1.09 Panel (After Loading The Target Mesh) ===
!IMAGE!Pictures/MakeTarget_load.png!/IMAGE!
After the mesh is loaded into the scene, the MakeTarget™panel layout will change, showing three new buttons that handle setting up the morphing targets. The first button creates a new empty target which will just be the original base mesh loaded in the previous step.
The second button loads the morphing from an existing target file. Do not attempt to load target files from the previous MakeHuman™versions, as these files are not compatible with the current base.
The third button creates a new target from an existing base mesh that is MakeHuman™compliant (derived from the A8_v74.obj file provided with the MakeTarget™release distribution), for example, a character modelled with an external tool (Maya, Max, C4D, etc..) and then saved or exported so that it can be imported into Blender as a wavefront obj file. To correctly use the third button, it is necessary to first select the imported base, then the MakeHuman™ base, and then press the Load Target From Mesh button. When the steps have been done correctly and that button is pressed the imported base will disappear and its transformations will be transferred onto the MakeHuman™ base.
=== Editing The Target And The "Save Target As" Button ===
After a new empty target is initialized or an existing one is loaded/imported, the MakeTarget™ panel layout will change again, offering a rich set of new options (image below). For the basic use of the MakeTarget™ tool you may ignore all of these options except for the "Save Target As" button.
To create a custom target, the artist has to alter the base mesh, which is done in the usual way within Blender. First start edit mode, and then select one or more vertices, moving them to reshape the mesh. You may use the full power of Blender to create your morphing target design.The only rule, in order to create a valid morphing target, is to never add or delete a vertex, face or edge. The topology must be absolutely preserved.After the modelling process is completed, the MakeHuman™morphing target can be saved by pressing the "Save Target As" button on the MakeTarget™panel. By default this will save all of the offset deviations of every vertice from the base mesh into the target file.
== Advanced usage ==
=== The MakeTarget™Version 1.09 Panel (After Loading A Target) ===
During the creation or the editing of a target, as mentioned previously, the MakeTarget™panel shows a new layout with a rich set of options. Depending on whether the mesh is loaded without the fit tools (image below, left) or with the fit tools (image below, right), the panel offers different options.
!IMAGE!Pictures/maketarget131-panels.png!/IMAGE!
At the top of the panel there is a numeric slider that determines the amount of morphing to apply from the target. The maximum value is 1.0, which means that the target morphing is fully applied. A value of 0 will show the original base mesh without any target morphing. The minimum value of the slider is -1.0. Using negative values usually creates weird effects as a projected inverse of the target morph is applied, but these settings are useful to subtract unwanted morphing results when multiple targets are combined. The effect is shown in the image below beginning on the left with the full inverse of the morphing target, to the original base mesh in the middle, and finally to the fully applied morph target design on the right.
!IMAGE!Pictures/maketarget3.png!/IMAGE!
=== Load Target Section (After The First Target Is Loaded) ===
!IMAGE!Pictures/MakeTargetLoadSecondaryTarget.png!/IMAGE!
The three buttons that now in the "Load Target" section are used in exactly the same way as they were before any target was loaded, except that any targets that are now created or loaded with these buttons become a secondary target that can be applied to the previously loaded one. These buttons are used to append one or more additional targets to the first target and combine them in various proportions.
=== Discard And Apply Target Section ===
!IMAGE!Pictures/MakeTargetDiscardAndApplyTarget.png!/IMAGE!
The first two buttons under the "Discard And Apply Target" section will either discard all of the targets (returning you to the original base mesh) or only the last target appended (which will either be the last secondary target applied or the primary target if no secondary targets have been applied). The button "Apply targets" under the "Discard And Apply Target" section is used to join all targets into a single unique morphing target combination.
=== Symmetry Section ===
!IMAGE!Pictures/MakeTargetTargetSymmetryButtons.png!/IMAGE!
The two buttons in the "Symmetry" section are modelling tools, and are very useful. They has been designed to produce very reliable target results. Using the symmetry buttons will cause the mesh to become symetrical on either side of the X axis, with the option to apply edits from the left side of the character to the right side (Left->Right), or vice versa (Right->Left). Pressing these buttons will also align center vertices that have been unintentionally moved away from the center back to their center position.
=== Save Target Section ===
!IMAGE!Pictures/MakeTargetSaveTargetSection.png!/IMAGE!
Finally, press the "Save Target As" button to save the .target file once all secondary targets and edits have been completed.
The checkbox labeled "Selected verts only" is a very important option. This option when checked will permit you to select a set of vertices in edit mode and then save only those vertices into the target file. Such targets are useful when you want the target to only morph the selected vertices and leave all other vertices completely unaffected by the morphing target. For example, an artist could design a morphing target that is limited to the hands only, a single hand only, or to the head only, and save a target containing vertices that will only morph those body parts, while having no effect on other parts of the body that were not explicitly chosen by the artist.
The checkbox labeled "Active Target Only" will cause the "Save Target As" button to only save the last target only. This option normally applies when one or more secondary targets have been added using the Load Target section after adding the initial target.
=== Additional Fit Helper Buttons ===
!IMAGE!Pictures/MakeTargetFitTargetButton.png!/IMAGE!
!IMAGE!Pictures/MakeTargetSkirtEditingAffectOnly3.png!/IMAGE!
When the fit helpers have been included as part of the target, the additional options of the MakeTarget™ panel shown in the images above appear. These buttons are included to work with the helper objects. When the helpers have been loaded, an additional button labeled "Fit Targets" is available under the Load Target section. This button should be pressed after making alterations to the body that disconnect it from the helper objects, but prior to making modifications to those objects. This button will refit the clothing to the body, and if pressed when the default All option under the "Affect Only: section is selected, all clothing helpers will be refitted to the body. However, the refitting process will cause any modifications previously made to a refitted helper objects to be lost. To limit the Fit Target button behavior to a single helper object, you should specify the object that you want to have refitted under the Affects Only section appearing at the bottom of the panel. This will cause the refitting to only affect the chosen helper (for example the Hair), while leaving all other helper objects unaffected, preserving your edit modifications to those helpers (for example, the Tights and Skirt helpers will not be refitted and your modifications to those helpers will be preserved if the Hair Affects Only option is set).
The additional helper options also include buttons that improve the fit of the skirt specifically by snapping the skirt to the character's waist ("Snap Skirt Waist" button) or straightening the skirt ("Straighten Skirt" button). It is recommended that you still select the Skirt as the Affects Only option prior to pressing either of these buttons.
3ca147255bcfc311a6d58c2046015438d8132fe7
75
73
2015-07-08T07:53:39Z
Joepal
14
wikitext
text/x-wiki
This section describes the blender version of MakeTarget. There is also a standalone version of MakeTarget.
For the information below to make sense and be useful, you will need to first install BlenderTools, see [[ Documentation:MHBlenderTools: Download and installation|MHBlenderTools: Download and installation ]]
== Introductory video ==
If you find this page TL;DR, this is a youtube video which might be useful:
{{#ev:youtube|X13k7H3dNHo}}
== What is a Target? The MakeHuman Morphing Process. ==
The principle is simple. A target is a modifcation to a base mesh shape that does not alter the mesh itself but that stores information that permits the base mesh to be transformed into the target shape using ‘morphing’. Targets are what allow the slider controls in MakeHuman™ to take a single base mesh for a character and morph the shape of that character based on a variety of different feature target files. The many target files used by MakeHuman™ can alter a single human base form into characters with features as different as those distinguishing male from female to as subtle as varying the shape of a single earlobe.
!IMAGE!Pictures/morph1.png!/IMAGE!
A target contains the offsets by which vertices of the human base model (base.obj) deviate from the original to achieve a specific feature. eg. a long nose could be a target. These targets can be combined and MakeHuman™ uses them by blending targets together and gradually applying them to the base mesh to create a nearly endless variety of human forms. Below are examples of target blending obtained by choosing a target that defined the character as male and combining that target with the extreme settings for other targets that determned the muscle tone or weight of the character.
MakeHuman™ handles morphing with a special file format, ".target".
== Loading the Base Mesh ==
While it is possible to create targets using Blender without using the MakeTarget™ tool for Blender; that tool has many useful features that simplify the target creation process and will be explained by the help that follows. Once the MakeTarget™ add-on has been enabled (see the previous "Get and Install MH Addons for Blender" section), a panel labelled MakeTarget™ version 1.xx appears in theBlender User Interface, to the right of the viewport. The visibility of the Blender User Interface can be toggled on and off with the N-key.
!IMAGE!Pictures/maketarget131-area.png!/IMAGE!
The MakeTarget Version 1.31 Panel (Initial Settings)
!IMAGE!Pictures/maketarget131.png!/IMAGE!
Prior to loading any targets, the initial the MakeTarget™ panel consists of three main buttons. The first two buttons load the base human mesh, respectively with and without the special fitting tools. The third button labeled "Set As Base" sets an existing mesh (that must be MakeHuman™compliant and derived from the A8_v74.obj file distributed with the MakeTarget™ release within the maketarget/data/ folder) as a human base mesh. This third option is for users that have done editing of the base mesh in another 3D modelling program and that have saved or exported the model as a Wavefront .obj file
!IMAGE!Pictures/helper_details.png!/IMAGE!
Loading the "Human + Fit Tools" will import the base human +mesh helpers(image below, B). The "helpers" are special geometries, used in MakeHuman™ as a reference to correctly fit clothes, hair and accessories. These helpers can be annoying during the modelling of the character, so usually our artists first work on the pure body, loading the human only with the first button (image below, A), and then, in a successive step, they fit the helpers.
!IMAGE!Pictures/maketarget-base.png!/IMAGE!
== Basic usage ==
=== The MakeTarget™ Version 1.09 Panel (After Loading The Target Mesh) ===
!IMAGE!Pictures/MakeTarget_load.png!/IMAGE!
After the mesh is loaded into the scene, the MakeTarget™panel layout will change, showing three new buttons that handle setting up the morphing targets. The first button creates a new empty target which will just be the original base mesh loaded in the previous step.
The second button loads the morphing from an existing target file. Do not attempt to load target files from the previous MakeHuman™versions, as these files are not compatible with the current base.
The third button creates a new target from an existing base mesh that is MakeHuman™compliant (derived from the A8_v74.obj file provided with the MakeTarget™release distribution), for example, a character modelled with an external tool (Maya, Max, C4D, etc..) and then saved or exported so that it can be imported into Blender as a wavefront obj file. To correctly use the third button, it is necessary to first select the imported base, then the MakeHuman™ base, and then press the Load Target From Mesh button. When the steps have been done correctly and that button is pressed the imported base will disappear and its transformations will be transferred onto the MakeHuman™ base.
=== Editing The Target And The "Save Target As" Button ===
After a new empty target is initialized or an existing one is loaded/imported, the MakeTarget™ panel layout will change again, offering a rich set of new options (image below). For the basic use of the MakeTarget™ tool you may ignore all of these options except for the "Save Target As" button.
To create a custom target, the artist has to alter the base mesh, which is done in the usual way within Blender. First start edit mode, and then select one or more vertices, moving them to reshape the mesh. You may use the full power of Blender to create your morphing target design.The only rule, in order to create a valid morphing target, is to never add or delete a vertex, face or edge. The topology must be absolutely preserved.After the modelling process is completed, the MakeHuman™morphing target can be saved by pressing the "Save Target As" button on the MakeTarget™panel. By default this will save all of the offset deviations of every vertice from the base mesh into the target file.
== Advanced usage ==
=== The MakeTarget™Version 1.09 Panel (After Loading A Target) ===
During the creation or the editing of a target, as mentioned previously, the MakeTarget™panel shows a new layout with a rich set of options. Depending on whether the mesh is loaded without the fit tools (image below, left) or with the fit tools (image below, right), the panel offers different options.
!IMAGE!Pictures/maketarget131-panels.png!/IMAGE!
At the top of the panel there is a numeric slider that determines the amount of morphing to apply from the target. The maximum value is 1.0, which means that the target morphing is fully applied. A value of 0 will show the original base mesh without any target morphing. The minimum value of the slider is -1.0. Using negative values usually creates weird effects as a projected inverse of the target morph is applied, but these settings are useful to subtract unwanted morphing results when multiple targets are combined. The effect is shown in the image below beginning on the left with the full inverse of the morphing target, to the original base mesh in the middle, and finally to the fully applied morph target design on the right.
!IMAGE!Pictures/maketarget3.png!/IMAGE!
=== Load Target Section (After The First Target Is Loaded) ===
!IMAGE!Pictures/MakeTargetLoadSecondaryTarget.png!/IMAGE!
The three buttons that now in the "Load Target" section are used in exactly the same way as they were before any target was loaded, except that any targets that are now created or loaded with these buttons become a secondary target that can be applied to the previously loaded one. These buttons are used to append one or more additional targets to the first target and combine them in various proportions.
=== Discard And Apply Target Section ===
!IMAGE!Pictures/MakeTargetDiscardAndApplyTarget.png!/IMAGE!
The first two buttons under the "Discard And Apply Target" section will either discard all of the targets (returning you to the original base mesh) or only the last target appended (which will either be the last secondary target applied or the primary target if no secondary targets have been applied). The button "Apply targets" under the "Discard And Apply Target" section is used to join all targets into a single unique morphing target combination.
=== Symmetry Section ===
!IMAGE!Pictures/MakeTargetTargetSymmetryButtons.png!/IMAGE!
The two buttons in the "Symmetry" section are modelling tools, and are very useful. They has been designed to produce very reliable target results. Using the symmetry buttons will cause the mesh to become symetrical on either side of the X axis, with the option to apply edits from the left side of the character to the right side (Left->Right), or vice versa (Right->Left). Pressing these buttons will also align center vertices that have been unintentionally moved away from the center back to their center position.
=== Save Target Section ===
!IMAGE!Pictures/MakeTargetSaveTargetSection.png!/IMAGE!
Finally, press the "Save Target As" button to save the .target file once all secondary targets and edits have been completed.
The checkbox labeled "Selected verts only" is a very important option. This option when checked will permit you to select a set of vertices in edit mode and then save only those vertices into the target file. Such targets are useful when you want the target to only morph the selected vertices and leave all other vertices completely unaffected by the morphing target. For example, an artist could design a morphing target that is limited to the hands only, a single hand only, or to the head only, and save a target containing vertices that will only morph those body parts, while having no effect on other parts of the body that were not explicitly chosen by the artist.
The checkbox labeled "Active Target Only" will cause the "Save Target As" button to only save the last target only. This option normally applies when one or more secondary targets have been added using the Load Target section after adding the initial target.
=== Additional Fit Helper Buttons ===
!IMAGE!Pictures/MakeTargetFitTargetButton.png!/IMAGE!
!IMAGE!Pictures/MakeTargetSkirtEditingAffectOnly3.png!/IMAGE!
When the fit helpers have been included as part of the target, the additional options of the MakeTarget™ panel shown in the images above appear. These buttons are included to work with the helper objects. When the helpers have been loaded, an additional button labeled "Fit Targets" is available under the Load Target section. This button should be pressed after making alterations to the body that disconnect it from the helper objects, but prior to making modifications to those objects. This button will refit the clothing to the body, and if pressed when the default All option under the "Affect Only: section is selected, all clothing helpers will be refitted to the body. However, the refitting process will cause any modifications previously made to a refitted helper objects to be lost. To limit the Fit Target button behavior to a single helper object, you should specify the object that you want to have refitted under the Affects Only section appearing at the bottom of the panel. This will cause the refitting to only affect the chosen helper (for example the Hair), while leaving all other helper objects unaffected, preserving your edit modifications to those helpers (for example, the Tights and Skirt helpers will not be refitted and your modifications to those helpers will be preserved if the Hair Affects Only option is set).
The additional helper options also include buttons that improve the fit of the skirt specifically by snapping the skirt to the character's waist ("Snap Skirt Waist" button) or straightening the skirt ("Straighten Skirt" button). It is recommended that you still select the Skirt as the Affects Only option prior to pressing either of these buttons.
e73e0cc6b96f5502262915948ca339debdf251cb
73
70
2015-07-08T07:43:53Z
Joepal
14
wikitext
text/x-wiki
This section describes the blender version of MakeTarget. There is also a standalone version of MakeTarget.
For the information below to make sense and be useful, you will need to first install BlenderTools, see [[ Documentation:MHBlenderTools: Download and installation|MHBlenderTools: Download and installation ]]
== What is a Target? The MakeHuman Morphing Process. ==
The principle is simple. A target is a modifcation to a base mesh shape that does not alter the mesh itself but that stores information that permits the base mesh to be transformed into the target shape using ‘morphing’. Targets are what allow the slider controls in MakeHuman™ to take a single base mesh for a character and morph the shape of that character based on a variety of different feature target files. The many target files used by MakeHuman™ can alter a single human base form into characters with features as different as those distinguishing male from female to as subtle as varying the shape of a single earlobe.
!IMAGE!Pictures/morph1.png!/IMAGE!
A target contains the offsets by which vertices of the human base model (base.obj) deviate from the original to achieve a specific feature. eg. a long nose could be a target. These targets can be combined and MakeHuman™ uses them by blending targets together and gradually applying them to the base mesh to create a nearly endless variety of human forms. Below are examples of target blending obtained by choosing a target that defined the character as male and combining that target with the extreme settings for other targets that determned the muscle tone or weight of the character.
MakeHuman™ handles morphing with a special file format, ".target".
== Loading the Base Mesh ==
While it is possible to create targets using Blender without using the MakeTarget™ tool for Blender; that tool has many useful features that simplify the target creation process and will be explained by the help that follows. Once the MakeTarget™ add-on has been enabled (see the previous "Get and Install MH Addons for Blender" section), a panel labelled MakeTarget™ version 1.xx appears in theBlender User Interface, to the right of the viewport. The visibility of the Blender User Interface can be toggled on and off with the N-key.
!IMAGE!Pictures/maketarget131-area.png!/IMAGE!
The MakeTarget Version 1.31 Panel (Initial Settings)
!IMAGE!Pictures/maketarget131.png!/IMAGE!
Prior to loading any targets, the initial the MakeTarget™ panel consists of three main buttons. The first two buttons load the base human mesh, respectively with and without the special fitting tools. The third button labeled "Set As Base" sets an existing mesh (that must be MakeHuman™compliant and derived from the A8_v74.obj file distributed with the MakeTarget™ release within the maketarget/data/ folder) as a human base mesh. This third option is for users that have done editing of the base mesh in another 3D modelling program and that have saved or exported the model as a Wavefront .obj file
!IMAGE!Pictures/helper_details.png!/IMAGE!
Loading the "Human + Fit Tools" will import the base human +mesh helpers(image below, B). The "helpers" are special geometries, used in MakeHuman™ as a reference to correctly fit clothes, hair and accessories. These helpers can be annoying during the modelling of the character, so usually our artists first work on the pure body, loading the human only with the first button (image below, A), and then, in a successive step, they fit the helpers.
!IMAGE!Pictures/maketarget-base.png!/IMAGE!
== Basic usage ==
=== The MakeTarget™ Version 1.09 Panel (After Loading The Target Mesh) ===
!IMAGE!Pictures/MakeTarget_load.png!/IMAGE!
After the mesh is loaded into the scene, the MakeTarget™panel layout will change, showing three new buttons that handle setting up the morphing targets. The first button creates a new empty target which will just be the original base mesh loaded in the previous step.
The second button loads the morphing from an existing target file. Do not attempt to load target files from the previous MakeHuman™versions, as these files are not compatible with the current base.
The third button creates a new target from an existing base mesh that is MakeHuman™compliant (derived from the A8_v74.obj file provided with the MakeTarget™release distribution), for example, a character modelled with an external tool (Maya, Max, C4D, etc..) and then saved or exported so that it can be imported into Blender as a wavefront obj file. To correctly use the third button, it is necessary to first select the imported base, then the MakeHuman™ base, and then press the Load Target From Mesh button. When the steps have been done correctly and that button is pressed the imported base will disappear and its transformations will be transferred onto the MakeHuman™ base.
=== Editing The Target And The "Save Target As" Button ===
After a new empty target is initialized or an existing one is loaded/imported, the MakeTarget™ panel layout will change again, offering a rich set of new options (image below). For the basic use of the MakeTarget™ tool you may ignore all of these options except for the "Save Target As" button.
To create a custom target, the artist has to alter the base mesh, which is done in the usual way within Blender. First start edit mode, and then select one or more vertices, moving them to reshape the mesh. You may use the full power of Blender to create your morphing target design.The only rule, in order to create a valid morphing target, is to never add or delete a vertex, face or edge. The topology must be absolutely preserved.After the modelling process is completed, the MakeHuman™morphing target can be saved by pressing the "Save Target As" button on the MakeTarget™panel. By default this will save all of the offset deviations of every vertice from the base mesh into the target file.
== Advanced usage ==
=== The MakeTarget™Version 1.09 Panel (After Loading A Target) ===
During the creation or the editing of a target, as mentioned previously, the MakeTarget™panel shows a new layout with a rich set of options. Depending on whether the mesh is loaded without the fit tools (image below, left) or with the fit tools (image below, right), the panel offers different options.
!IMAGE!Pictures/maketarget131-panels.png!/IMAGE!
At the top of the panel there is a numeric slider that determines the amount of morphing to apply from the target. The maximum value is 1.0, which means that the target morphing is fully applied. A value of 0 will show the original base mesh without any target morphing. The minimum value of the slider is -1.0. Using negative values usually creates weird effects as a projected inverse of the target morph is applied, but these settings are useful to subtract unwanted morphing results when multiple targets are combined. The effect is shown in the image below beginning on the left with the full inverse of the morphing target, to the original base mesh in the middle, and finally to the fully applied morph target design on the right.
!IMAGE!Pictures/maketarget3.png!/IMAGE!
=== Load Target Section (After The First Target Is Loaded) ===
!IMAGE!Pictures/MakeTargetLoadSecondaryTarget.png!/IMAGE!
The three buttons that now in the "Load Target" section are used in exactly the same way as they were before any target was loaded, except that any targets that are now created or loaded with these buttons become a secondary target that can be applied to the previously loaded one. These buttons are used to append one or more additional targets to the first target and combine them in various proportions.
=== Discard And Apply Target Section ===
!IMAGE!Pictures/MakeTargetDiscardAndApplyTarget.png!/IMAGE!
The first two buttons under the "Discard And Apply Target" section will either discard all of the targets (returning you to the original base mesh) or only the last target appended (which will either be the last secondary target applied or the primary target if no secondary targets have been applied). The button "Apply targets" under the "Discard And Apply Target" section is used to join all targets into a single unique morphing target combination.
=== Symmetry Section ===
!IMAGE!Pictures/MakeTargetTargetSymmetryButtons.png!/IMAGE!
The two buttons in the "Symmetry" section are modelling tools, and are very useful. They has been designed to produce very reliable target results. Using the symmetry buttons will cause the mesh to become symetrical on either side of the X axis, with the option to apply edits from the left side of the character to the right side (Left->Right), or vice versa (Right->Left). Pressing these buttons will also align center vertices that have been unintentionally moved away from the center back to their center position.
=== Save Target Section ===
!IMAGE!Pictures/MakeTargetSaveTargetSection.png!/IMAGE!
Finally, press the "Save Target As" button to save the .target file once all secondary targets and edits have been completed.
The checkbox labeled "Selected verts only" is a very important option. This option when checked will permit you to select a set of vertices in edit mode and then save only those vertices into the target file. Such targets are useful when you want the target to only morph the selected vertices and leave all other vertices completely unaffected by the morphing target. For example, an artist could design a morphing target that is limited to the hands only, a single hand only, or to the head only, and save a target containing vertices that will only morph those body parts, while having no effect on other parts of the body that were not explicitly chosen by the artist.
The checkbox labeled "Active Target Only" will cause the "Save Target As" button to only save the last target only. This option normally applies when one or more secondary targets have been added using the Load Target section after adding the initial target.
=== Additional Fit Helper Buttons ===
!IMAGE!Pictures/MakeTargetFitTargetButton.png!/IMAGE!
!IMAGE!Pictures/MakeTargetSkirtEditingAffectOnly3.png!/IMAGE!
When the fit helpers have been included as part of the target, the additional options of the MakeTarget™ panel shown in the images above appear. These buttons are included to work with the helper objects. When the helpers have been loaded, an additional button labeled "Fit Targets" is available under the Load Target section. This button should be pressed after making alterations to the body that disconnect it from the helper objects, but prior to making modifications to those objects. This button will refit the clothing to the body, and if pressed when the default All option under the "Affect Only: section is selected, all clothing helpers will be refitted to the body. However, the refitting process will cause any modifications previously made to a refitted helper objects to be lost. To limit the Fit Target button behavior to a single helper object, you should specify the object that you want to have refitted under the Affects Only section appearing at the bottom of the panel. This will cause the refitting to only affect the chosen helper (for example the Hair), while leaving all other helper objects unaffected, preserving your edit modifications to those helpers (for example, the Tights and Skirt helpers will not be refitted and your modifications to those helpers will be preserved if the Hair Affects Only option is set).
The additional helper options also include buttons that improve the fit of the skirt specifically by snapping the skirt to the character's waist ("Snap Skirt Waist" button) or straightening the skirt ("Straighten Skirt" button). It is recommended that you still select the Skirt as the Affects Only option prior to pressing either of these buttons.
6a7e539ce356d18d9bb0eab130c17ca63e963900
70
2015-07-08T07:37:25Z
Joepal
14
Created page with "This section describes the blender version of MakeTarget. There is also a standalone version of MakeTarget. == What is a Target? The MakeHuman Morphing Process. == The prin..."
wikitext
text/x-wiki
This section describes the blender version of MakeTarget. There is also a standalone version of MakeTarget.
== What is a Target? The MakeHuman Morphing Process. ==
The principle is simple. A target is a modifcation to a base mesh shape that does not alter the mesh itself but that stores information that permits the base mesh to be transformed into the target shape using ‘morphing’. Targets are what allow the slider controls in MakeHuman™ to take a single base mesh for a character and morph the shape of that character based on a variety of different feature target files. The many target files used by MakeHuman™ can alter a single human base form into characters with features as different as those distinguishing male from female to as subtle as varying the shape of a single earlobe.
!IMAGE!Pictures/morph1.png!/IMAGE!
A target contains the offsets by which vertices of the human base model (base.obj) deviate from the original to achieve a specific feature. eg. a long nose could be a target. These targets can be combined and MakeHuman™ uses them by blending targets together and gradually applying them to the base mesh to create a nearly endless variety of human forms. Below are examples of target blending obtained by choosing a target that defined the character as male and combining that target with the extreme settings for other targets that determned the muscle tone or weight of the character.
MakeHuman™ handles morphing with a special file format, ".target".
== Loading the Base Mesh ==
While it is possible to create targets using Blender without using the MakeTarget™ tool for Blender; that tool has many useful features that simplify the target creation process and will be explained by the help that follows. Once the MakeTarget™ add-on has been enabled (see the previous "Get and Install MH Addons for Blender" section), a panel labelled MakeTarget™ version 1.xx appears in theBlender User Interface, to the right of the viewport. The visibility of the Blender User Interface can be toggled on and off with the N-key.
!IMAGE!Pictures/maketarget131-area.png!/IMAGE!
The MakeTarget Version 1.31 Panel (Initial Settings)
!IMAGE!Pictures/maketarget131.png!/IMAGE!
Prior to loading any targets, the initial the MakeTarget™ panel consists of three main buttons. The first two buttons load the base human mesh, respectively with and without the special fitting tools. The third button labeled "Set As Base" sets an existing mesh (that must be MakeHuman™compliant and derived from the A8_v74.obj file distributed with the MakeTarget™ release within the maketarget/data/ folder) as a human base mesh. This third option is for users that have done editing of the base mesh in another 3D modelling program and that have saved or exported the model as a Wavefront .obj file
!IMAGE!Pictures/helper_details.png!/IMAGE!
Loading the "Human + Fit Tools" will import the base human +mesh helpers(image below, B). The "helpers" are special geometries, used in MakeHuman™ as a reference to correctly fit clothes, hair and accessories. These helpers can be annoying during the modelling of the character, so usually our artists first work on the pure body, loading the human only with the first button (image below, A), and then, in a successive step, they fit the helpers.
!IMAGE!Pictures/maketarget-base.png!/IMAGE!
== Basic usage ==
=== The MakeTarget™ Version 1.09 Panel (After Loading The Target Mesh) ===
!IMAGE!Pictures/MakeTarget_load.png!/IMAGE!
After the mesh is loaded into the scene, the MakeTarget™panel layout will change, showing three new buttons that handle setting up the morphing targets. The first button creates a new empty target which will just be the original base mesh loaded in the previous step.
The second button loads the morphing from an existing target file. Do not attempt to load target files from the previous MakeHuman™versions, as these files are not compatible with the current base.
The third button creates a new target from an existing base mesh that is MakeHuman™compliant (derived from the A8_v74.obj file provided with the MakeTarget™release distribution), for example, a character modelled with an external tool (Maya, Max, C4D, etc..) and then saved or exported so that it can be imported into Blender as a wavefront obj file. To correctly use the third button, it is necessary to first select the imported base, then the MakeHuman™ base, and then press the Load Target From Mesh button. When the steps have been done correctly and that button is pressed the imported base will disappear and its transformations will be transferred onto the MakeHuman™ base.
=== Editing The Target And The "Save Target As" Button ===
After a new empty target is initialized or an existing one is loaded/imported, the MakeTarget™ panel layout will change again, offering a rich set of new options (image below). For the basic use of the MakeTarget™ tool you may ignore all of these options except for the "Save Target As" button.
To create a custom target, the artist has to alter the base mesh, which is done in the usual way within Blender. First start edit mode, and then select one or more vertices, moving them to reshape the mesh. You may use the full power of Blender to create your morphing target design.The only rule, in order to create a valid morphing target, is to never add or delete a vertex, face or edge. The topology must be absolutely preserved.After the modelling process is completed, the MakeHuman™morphing target can be saved by pressing the "Save Target As" button on the MakeTarget™panel. By default this will save all of the offset deviations of every vertice from the base mesh into the target file.
== Advanced usage ==
=== The MakeTarget™Version 1.09 Panel (After Loading A Target) ===
During the creation or the editing of a target, as mentioned previously, the MakeTarget™panel shows a new layout with a rich set of options. Depending on whether the mesh is loaded without the fit tools (image below, left) or with the fit tools (image below, right), the panel offers different options.
!IMAGE!Pictures/maketarget131-panels.png!/IMAGE!
At the top of the panel there is a numeric slider that determines the amount of morphing to apply from the target. The maximum value is 1.0, which means that the target morphing is fully applied. A value of 0 will show the original base mesh without any target morphing. The minimum value of the slider is -1.0. Using negative values usually creates weird effects as a projected inverse of the target morph is applied, but these settings are useful to subtract unwanted morphing results when multiple targets are combined. The effect is shown in the image below beginning on the left with the full inverse of the morphing target, to the original base mesh in the middle, and finally to the fully applied morph target design on the right.
!IMAGE!Pictures/maketarget3.png!/IMAGE!
=== Load Target Section (After The First Target Is Loaded) ===
!IMAGE!Pictures/MakeTargetLoadSecondaryTarget.png!/IMAGE!
The three buttons that now in the "Load Target" section are used in exactly the same way as they were before any target was loaded, except that any targets that are now created or loaded with these buttons become a secondary target that can be applied to the previously loaded one. These buttons are used to append one or more additional targets to the first target and combine them in various proportions.
=== Discard And Apply Target Section ===
!IMAGE!Pictures/MakeTargetDiscardAndApplyTarget.png!/IMAGE!
The first two buttons under the "Discard And Apply Target" section will either discard all of the targets (returning you to the original base mesh) or only the last target appended (which will either be the last secondary target applied or the primary target if no secondary targets have been applied). The button "Apply targets" under the "Discard And Apply Target" section is used to join all targets into a single unique morphing target combination.
=== Symmetry Section ===
!IMAGE!Pictures/MakeTargetTargetSymmetryButtons.png!/IMAGE!
The two buttons in the "Symmetry" section are modelling tools, and are very useful. They has been designed to produce very reliable target results. Using the symmetry buttons will cause the mesh to become symetrical on either side of the X axis, with the option to apply edits from the left side of the character to the right side (Left->Right), or vice versa (Right->Left). Pressing these buttons will also align center vertices that have been unintentionally moved away from the center back to their center position.
=== Save Target Section ===
!IMAGE!Pictures/MakeTargetSaveTargetSection.png!/IMAGE!
Finally, press the "Save Target As" button to save the .target file once all secondary targets and edits have been completed.
The checkbox labeled "Selected verts only" is a very important option. This option when checked will permit you to select a set of vertices in edit mode and then save only those vertices into the target file. Such targets are useful when you want the target to only morph the selected vertices and leave all other vertices completely unaffected by the morphing target. For example, an artist could design a morphing target that is limited to the hands only, a single hand only, or to the head only, and save a target containing vertices that will only morph those body parts, while having no effect on other parts of the body that were not explicitly chosen by the artist.
The checkbox labeled "Active Target Only" will cause the "Save Target As" button to only save the last target only. This option normally applies when one or more secondary targets have been added using the Load Target section after adding the initial target.
=== Additional Fit Helper Buttons ===
!IMAGE!Pictures/MakeTargetFitTargetButton.png!/IMAGE!
!IMAGE!Pictures/MakeTargetSkirtEditingAffectOnly3.png!/IMAGE!
When the fit helpers have been included as part of the target, the additional options of the MakeTarget™ panel shown in the images above appear. These buttons are included to work with the helper objects. When the helpers have been loaded, an additional button labeled "Fit Targets" is available under the Load Target section. This button should be pressed after making alterations to the body that disconnect it from the helper objects, but prior to making modifications to those objects. This button will refit the clothing to the body, and if pressed when the default All option under the "Affect Only: section is selected, all clothing helpers will be refitted to the body. However, the refitting process will cause any modifications previously made to a refitted helper objects to be lost. To limit the Fit Target button behavior to a single helper object, you should specify the object that you want to have refitted under the Affects Only section appearing at the bottom of the panel. This will cause the refitting to only affect the chosen helper (for example the Hair), while leaving all other helper objects unaffected, preserving your edit modifications to those helpers (for example, the Tights and Skirt helpers will not be refitted and your modifications to those helpers will be preserved if the Hair Affects Only option is set).
The additional helper options also include buttons that improve the fit of the skirt specifically by snapping the skirt to the character's waist ("Snap Skirt Waist" button) or straightening the skirt ("Straighten Skirt" button). It is recommended that you still select the Skirt as the Affects Only option prior to pressing either of these buttons.
33bbcbb6938c5c24b3b06796028ea1b6b6065050
Documentation:MPFB
3000
712
2111
2110
2021-05-15T09:45:14Z
Assetdk
89
/* Tutorials for using MPFB2 */
wikitext
text/x-wiki
=MakeHuman Plugin For Blender=
This page is the "main" page for the Blender plugin - in effect an "index" for documentation and tutorials regarding MPFB2.
::{{#ev:youtube|ANnn8qKJMpc}} AfyEbJnB1rs
About loading assets to your character.
::{{#ev:youtube|AfyEbJnB1rs}}
This page will internally hold links for MPFB2 tutorials and development.
==Get MPFB2 here==
:: * '''[http://www.makehumancommunity.org/forum/viewtopic.php?f=18&t=19356&hilit=MPFB#p53411 Makehuman forum about MHFB2 ]'''
:: * '''[https://github.com/makehumancommunity/mpfb2 MPFB2 on github]
:: * '''[https://github.com/makehumancommunity/mpfb2/blob/master/docs/general/status.md MPFB2 status om github]
:: * '''[http://download.tuxfamily.org/makehuman/plugins/ MPFB2 download the addon]
====Full announcement from Joel, made on the forum:====
::I have today opened up the git repo of MPFB 2, https://github.com/makehumancommunity/mpfb2, for public access.
::This is a complete rewrite of MPFB 1 with added features (rigify support, procedural eyes, rig helpers...) and much improved code structure and performance (imports are 3x faster for example). A list of changes can be found at https://github.com/makehumancommunity/mpfb2/blob/master/docs/general/changes.md
::While some parts of MPFB 1 has not been ported yet (see https://github.com/makehumancommunity/mpfb2/blob/master/docs/general/status.md) and the official status is pre-alpha, I have used MPFB 2 a lot myself lately, and found it to be reasonably stable.
::MPFB 2 should be able to co-exist alongside MPFB 1, but it requires at least Blender 2.90.
::Nightly builds of MPFB 2 can be found at: http://download.tuxfamily.org/makehuman/plugins/. Builds made when something relevant has changed can be found in the dist directory of the git repository. Most of the time the dist dir build and the nightly build will be exactly the same code.
==Tutorials for using MPFB2==
There are a few things you need know and do to get this running. Most importantly the current version of MPFB is depending on that you are running the MakeHuman program and Blender side by side. That is the blender version will try to reuse the assets and resources that are "provided" by the MakeHuman program. Also, at the time of writing, you must still use MakeHuman to download assets, that and other functionality is not yet ported to Blender.
==Developers resources==
I will start this by making some developers notes that could eventually compile into one or more tutorials.
I will keep adding more notes to this page, but I urge you to:
* Add comments
* Add tips and links to other tutorials
* Add your own code
* Request topics that you think would need to covered
* Add links to other addons that is useful for VSC and MBFP2
===Using VSCode===
I would recommend that you use VS Code since there is a very handy Blender Extension. This will help you as an experienced developer - and as a novice that wants to learn about Python and Blender.
Take a look at this tutorial to get a quick overview - and follow this link to install blender/ and VSCode. [https://www.youtube.com/watch?v=77mMpeoh3OI&t tutorial on installing blender/ and VSCode.]
::::{{#ev:youtube|q06-hER7Y1Q}}
Now - If that did not seem too bad, you can move on to the next pages dedicated to actually running MPFB2 from VS Code:
'''Go here >>>''' '''[[Documentation:MPFB2 getting started with VS code]]'''
f2c775ff14eda0cc56247b9818d125509fb9174a
2110
2109
2021-05-15T08:45:55Z
Assetdk
89
/* MakeHuman Plugin For Blender */
wikitext
text/x-wiki
=MakeHuman Plugin For Blender=
This page is the "main" page for the Blender plugin - in effect an "index" for documentation and tutorials regarding MPFB2.
::{{#ev:youtube|ANnn8qKJMpc}} AfyEbJnB1rs
About loading assets to your character.
::{{#ev:youtube|AfyEbJnB1rs}}
This page will internally hold links for MPFB2 tutorials and development.
==Get MPFB2 here==
:: * '''[http://www.makehumancommunity.org/forum/viewtopic.php?f=18&t=19356&hilit=MPFB#p53411 Makehuman forum about MHFB2 ]'''
:: * '''[https://github.com/makehumancommunity/mpfb2 MPFB2 on github]
:: * '''[https://github.com/makehumancommunity/mpfb2/blob/master/docs/general/status.md MPFB2 status om github]
:: * '''[http://download.tuxfamily.org/makehuman/plugins/ MPFB2 download the addon]
====Full announcement from Joel, made on the forum:====
::I have today opened up the git repo of MPFB 2, https://github.com/makehumancommunity/mpfb2, for public access.
::This is a complete rewrite of MPFB 1 with added features (rigify support, procedural eyes, rig helpers...) and much improved code structure and performance (imports are 3x faster for example). A list of changes can be found at https://github.com/makehumancommunity/mpfb2/blob/master/docs/general/changes.md
::While some parts of MPFB 1 has not been ported yet (see https://github.com/makehumancommunity/mpfb2/blob/master/docs/general/status.md) and the official status is pre-alpha, I have used MPFB 2 a lot myself lately, and found it to be reasonably stable.
::MPFB 2 should be able to co-exist alongside MPFB 1, but it requires at least Blender 2.90.
::Nightly builds of MPFB 2 can be found at: http://download.tuxfamily.org/makehuman/plugins/. Builds made when something relevant has changed can be found in the dist directory of the git repository. Most of the time the dist dir build and the nightly build will be exactly the same code.
==Tutorials for using MPFB2==
There are a few things you need know and do to get this running. Most importantly the current version of MPFB is depending on that you are running the MakeHuman program and Blender side by side. That is the blender version will try to reuse the assets and resources that are "provided" by the MakeHuman program. Also, at the time of writing, you must still use MakeHuman to download assets, that and functionality is not yet ported to Blender.
==Developers resources==
I will start this by making some developers notes that could eventually compile into one or more tutorials.
I will keep adding more notes to this page, but I urge you to:
* Add comments
* Add tips and links to other tutorials
* Add your own code
* Request topics that you think would need to covered
* Add links to other addons that is useful for VSC and MBFP2
===Using VSCode===
I would recommend that you use VS Code since there is a very handy Blender Extension. This will help you as an experienced developer - and as a novice that wants to learn about Python and Blender.
Take a look at this tutorial to get a quick overview - and follow this link to install blender/ and VSCode. [https://www.youtube.com/watch?v=77mMpeoh3OI&t tutorial on installing blender/ and VSCode.]
::::{{#ev:youtube|q06-hER7Y1Q}}
Now - If that did not seem too bad, you can move on to the next pages dedicated to actually running MPFB2 from VS Code:
'''Go here >>>''' '''[[Documentation:MPFB2 getting started with VS code]]'''
4f4f9a8e492e3bb8795dbc9aff84ff73357f79e4
2109
2105
2021-05-15T08:43:46Z
Assetdk
89
/* Tutorials for using MPFB2 */
wikitext
text/x-wiki
=MakeHuman Plugin For Blender=
This page is the "main" page for the Blender plugin - in effect an "index" for documentation and tutorials regarding MPFB2.
::{{#ev:youtube|ANnn8qKJMpc}}
This page will internally hold links for MPFB2 tutorials and development.
==Get MPFB2 here==
:: * '''[http://www.makehumancommunity.org/forum/viewtopic.php?f=18&t=19356&hilit=MPFB#p53411 Makehuman forum about MHFB2 ]'''
:: * '''[https://github.com/makehumancommunity/mpfb2 MPFB2 on github]
:: * '''[https://github.com/makehumancommunity/mpfb2/blob/master/docs/general/status.md MPFB2 status om github]
:: * '''[http://download.tuxfamily.org/makehuman/plugins/ MPFB2 download the addon]
====Full announcement from Joel, made on the forum:====
::I have today opened up the git repo of MPFB 2, https://github.com/makehumancommunity/mpfb2, for public access.
::This is a complete rewrite of MPFB 1 with added features (rigify support, procedural eyes, rig helpers...) and much improved code structure and performance (imports are 3x faster for example). A list of changes can be found at https://github.com/makehumancommunity/mpfb2/blob/master/docs/general/changes.md
::While some parts of MPFB 1 has not been ported yet (see https://github.com/makehumancommunity/mpfb2/blob/master/docs/general/status.md) and the official status is pre-alpha, I have used MPFB 2 a lot myself lately, and found it to be reasonably stable.
::MPFB 2 should be able to co-exist alongside MPFB 1, but it requires at least Blender 2.90.
::Nightly builds of MPFB 2 can be found at: http://download.tuxfamily.org/makehuman/plugins/. Builds made when something relevant has changed can be found in the dist directory of the git repository. Most of the time the dist dir build and the nightly build will be exactly the same code.
==Tutorials for using MPFB2==
There are a few things you need know and do to get this running. Most importantly the current version of MPFB is depending on that you are running the MakeHuman program and Blender side by side. That is the blender version will try to reuse the assets and resources that are "provided" by the MakeHuman program. Also, at the time of writing, you must still use MakeHuman to download assets, that and functionality is not yet ported to Blender.
==Developers resources==
I will start this by making some developers notes that could eventually compile into one or more tutorials.
I will keep adding more notes to this page, but I urge you to:
* Add comments
* Add tips and links to other tutorials
* Add your own code
* Request topics that you think would need to covered
* Add links to other addons that is useful for VSC and MBFP2
===Using VSCode===
I would recommend that you use VS Code since there is a very handy Blender Extension. This will help you as an experienced developer - and as a novice that wants to learn about Python and Blender.
Take a look at this tutorial to get a quick overview - and follow this link to install blender/ and VSCode. [https://www.youtube.com/watch?v=77mMpeoh3OI&t tutorial on installing blender/ and VSCode.]
::::{{#ev:youtube|q06-hER7Y1Q}}
Now - If that did not seem too bad, you can move on to the next pages dedicated to actually running MPFB2 from VS Code:
'''Go here >>>''' '''[[Documentation:MPFB2 getting started with VS code]]'''
c95df29e43bd96de14ef9c7a0d5c83e239d77afc
2105
2102
2021-05-13T09:03:38Z
Assetdk
89
/* Using VSCode */
wikitext
text/x-wiki
=MakeHuman Plugin For Blender=
This page is the "main" page for the Blender plugin - in effect an "index" for documentation and tutorials regarding MPFB2.
::{{#ev:youtube|ANnn8qKJMpc}}
This page will internally hold links for MPFB2 tutorials and development.
==Get MPFB2 here==
:: * '''[http://www.makehumancommunity.org/forum/viewtopic.php?f=18&t=19356&hilit=MPFB#p53411 Makehuman forum about MHFB2 ]'''
:: * '''[https://github.com/makehumancommunity/mpfb2 MPFB2 on github]
:: * '''[https://github.com/makehumancommunity/mpfb2/blob/master/docs/general/status.md MPFB2 status om github]
:: * '''[http://download.tuxfamily.org/makehuman/plugins/ MPFB2 download the addon]
====Full announcement from Joel, made on the forum:====
::I have today opened up the git repo of MPFB 2, https://github.com/makehumancommunity/mpfb2, for public access.
::This is a complete rewrite of MPFB 1 with added features (rigify support, procedural eyes, rig helpers...) and much improved code structure and performance (imports are 3x faster for example). A list of changes can be found at https://github.com/makehumancommunity/mpfb2/blob/master/docs/general/changes.md
::While some parts of MPFB 1 has not been ported yet (see https://github.com/makehumancommunity/mpfb2/blob/master/docs/general/status.md) and the official status is pre-alpha, I have used MPFB 2 a lot myself lately, and found it to be reasonably stable.
::MPFB 2 should be able to co-exist alongside MPFB 1, but it requires at least Blender 2.90.
::Nightly builds of MPFB 2 can be found at: http://download.tuxfamily.org/makehuman/plugins/. Builds made when something relevant has changed can be found in the dist directory of the git repository. Most of the time the dist dir build and the nightly build will be exactly the same code.
==Tutorials for using MPFB2==
==Developers resources==
I will start this by making some developers notes that could eventually compile into one or more tutorials.
I will keep adding more notes to this page, but I urge you to:
* Add comments
* Add tips and links to other tutorials
* Add your own code
* Request topics that you think would need to covered
* Add links to other addons that is useful for VSC and MBFP2
===Using VSCode===
I would recommend that you use VS Code since there is a very handy Blender Extension. This will help you as an experienced developer - and as a novice that wants to learn about Python and Blender.
Take a look at this tutorial to get a quick overview - and follow this link to install blender/ and VSCode. [https://www.youtube.com/watch?v=77mMpeoh3OI&t tutorial on installing blender/ and VSCode.]
::::{{#ev:youtube|q06-hER7Y1Q}}
Now - If that did not seem too bad, you can move on to the next pages dedicated to actually running MPFB2 from VS Code:
'''Go here >>>''' '''[[Documentation:MPFB2 getting started with VS code]]'''
9d65dece23bd2984825e06df84e890edc2269bcb
2102
2101
2021-05-11T19:10:25Z
Assetdk
89
/* MakeHuman Plugin For Blender */
wikitext
text/x-wiki
=MakeHuman Plugin For Blender=
This page is the "main" page for the Blender plugin - in effect an "index" for documentation and tutorials regarding MPFB2.
::{{#ev:youtube|ANnn8qKJMpc}}
This page will internally hold links for MPFB2 tutorials and development.
==Get MPFB2 here==
:: * '''[http://www.makehumancommunity.org/forum/viewtopic.php?f=18&t=19356&hilit=MPFB#p53411 Makehuman forum about MHFB2 ]'''
:: * '''[https://github.com/makehumancommunity/mpfb2 MPFB2 on github]
:: * '''[https://github.com/makehumancommunity/mpfb2/blob/master/docs/general/status.md MPFB2 status om github]
:: * '''[http://download.tuxfamily.org/makehuman/plugins/ MPFB2 download the addon]
====Full announcement from Joel, made on the forum:====
::I have today opened up the git repo of MPFB 2, https://github.com/makehumancommunity/mpfb2, for public access.
::This is a complete rewrite of MPFB 1 with added features (rigify support, procedural eyes, rig helpers...) and much improved code structure and performance (imports are 3x faster for example). A list of changes can be found at https://github.com/makehumancommunity/mpfb2/blob/master/docs/general/changes.md
::While some parts of MPFB 1 has not been ported yet (see https://github.com/makehumancommunity/mpfb2/blob/master/docs/general/status.md) and the official status is pre-alpha, I have used MPFB 2 a lot myself lately, and found it to be reasonably stable.
::MPFB 2 should be able to co-exist alongside MPFB 1, but it requires at least Blender 2.90.
::Nightly builds of MPFB 2 can be found at: http://download.tuxfamily.org/makehuman/plugins/. Builds made when something relevant has changed can be found in the dist directory of the git repository. Most of the time the dist dir build and the nightly build will be exactly the same code.
==Tutorials for using MPFB2==
==Developers resources==
I will start this by making some developers notes that could eventually compile into one or more tutorials.
I will keep adding more notes to this page, but I urge you to:
* Add comments
* Add tips and links to other tutorials
* Add your own code
* Request topics that you think would need to covered
* Add links to other addons that is useful for VSC and MBFP2
===Using VSCode===
I would recommend that you use VS Code since there is a very handy Blender Extension. This will help you as an experienced developer - and as a novice that wants to learn about Python and Blender.
Take a look at this tutorial to get a quick overview - and follow this link to install blender/ and VSCode. [https://www.youtube.com/watch?v=77mMpeoh3OI&t tutorial on installing blender/ and VSCode.]
::::{{#ev:youtube|q06-hER7Y1Q}}
Now - If that did not seem too bad, you can move on to the next pages dedicated to actually running MPFB2 from VS Code: '''[[Documentation:MPFB2 getting started with VS code]]'''
581bf0d0b0531d86cc0e4dd62722645da15fe882
2101
2100
2021-05-11T18:54:37Z
Assetdk
89
/* Full announcement from Joe, made on the forum: */
wikitext
text/x-wiki
=MakeHuman Plugin For Blender=
This page is the "main" page for the Blender plugin - in effect an "index" for documentation and tutorials regarding MPFB2.
This page will internally hold links for MPFB2 development and tutorials.
==Get MPFB2 here==
:: * '''[http://www.makehumancommunity.org/forum/viewtopic.php?f=18&t=19356&hilit=MPFB#p53411 Makehuman forum about MHFB2 ]'''
:: * '''[https://github.com/makehumancommunity/mpfb2 MPFB2 on github]
:: * '''[https://github.com/makehumancommunity/mpfb2/blob/master/docs/general/status.md MPFB2 status om github]
:: * '''[http://download.tuxfamily.org/makehuman/plugins/ MPFB2 download the addon]
====Full announcement from Joel, made on the forum:====
::I have today opened up the git repo of MPFB 2, https://github.com/makehumancommunity/mpfb2, for public access.
::This is a complete rewrite of MPFB 1 with added features (rigify support, procedural eyes, rig helpers...) and much improved code structure and performance (imports are 3x faster for example). A list of changes can be found at https://github.com/makehumancommunity/mpfb2/blob/master/docs/general/changes.md
::While some parts of MPFB 1 has not been ported yet (see https://github.com/makehumancommunity/mpfb2/blob/master/docs/general/status.md) and the official status is pre-alpha, I have used MPFB 2 a lot myself lately, and found it to be reasonably stable.
::MPFB 2 should be able to co-exist alongside MPFB 1, but it requires at least Blender 2.90.
::Nightly builds of MPFB 2 can be found at: http://download.tuxfamily.org/makehuman/plugins/. Builds made when something relevant has changed can be found in the dist directory of the git repository. Most of the time the dist dir build and the nightly build will be exactly the same code.
==Tutorials for using MPFB2==
==Developers resources==
I will start this by making some developers notes that could eventually compile into one or more tutorials.
I will keep adding more notes to this page, but I urge you to:
* Add comments
* Add tips and links to other tutorials
* Add your own code
* Request topics that you think would need to covered
* Add links to other addons that is useful for VSC and MBFP2
===Using VSCode===
I would recommend that you use VS Code since there is a very handy Blender Extension. This will help you as an experienced developer - and as a novice that wants to learn about Python and Blender.
Take a look at this tutorial to get a quick overview - and follow this link to install blender/ and VSCode. [https://www.youtube.com/watch?v=77mMpeoh3OI&t tutorial on installing blender/ and VSCode.]
::::{{#ev:youtube|q06-hER7Y1Q}}
Now - If that did not seem too bad, you can move on to the next pages dedicated to actually running MPFB2 from VS Code: '''[[Documentation:MPFB2 getting started with VS code]]'''
2e76b1d15973b8d5e97036ab96aeabdf72732b1d
2100
2099
2021-05-11T18:54:13Z
Assetdk
89
/* Get MPFB2 here */
wikitext
text/x-wiki
=MakeHuman Plugin For Blender=
This page is the "main" page for the Blender plugin - in effect an "index" for documentation and tutorials regarding MPFB2.
This page will internally hold links for MPFB2 development and tutorials.
==Get MPFB2 here==
:: * '''[http://www.makehumancommunity.org/forum/viewtopic.php?f=18&t=19356&hilit=MPFB#p53411 Makehuman forum about MHFB2 ]'''
:: * '''[https://github.com/makehumancommunity/mpfb2 MPFB2 on github]
:: * '''[https://github.com/makehumancommunity/mpfb2/blob/master/docs/general/status.md MPFB2 status om github]
:: * '''[http://download.tuxfamily.org/makehuman/plugins/ MPFB2 download the addon]
====Full announcement from Joe, made on the forum:====
::I have today opened up the git repo of MPFB 2, https://github.com/makehumancommunity/mpfb2, for public access.
::This is a complete rewrite of MPFB 1 with added features (rigify support, procedural eyes, rig helpers...) and much improved code structure and performance (imports are 3x faster for example). A list of changes can be found at https://github.com/makehumancommunity/mpfb2/blob/master/docs/general/changes.md
::While some parts of MPFB 1 has not been ported yet (see https://github.com/makehumancommunity/mpfb2/blob/master/docs/general/status.md) and the official status is pre-alpha, I have used MPFB 2 a lot myself lately, and found it to be reasonably stable.
::MPFB 2 should be able to co-exist alongside MPFB 1, but it requires at least Blender 2.90.
::Nightly builds of MPFB 2 can be found at: http://download.tuxfamily.org/makehuman/plugins/. Builds made when something relevant has changed can be found in the dist directory of the git repository. Most of the time the dist dir build and the nightly build will be exactly the same code.
==Tutorials for using MPFB2==
==Developers resources==
I will start this by making some developers notes that could eventually compile into one or more tutorials.
I will keep adding more notes to this page, but I urge you to:
* Add comments
* Add tips and links to other tutorials
* Add your own code
* Request topics that you think would need to covered
* Add links to other addons that is useful for VSC and MBFP2
===Using VSCode===
I would recommend that you use VS Code since there is a very handy Blender Extension. This will help you as an experienced developer - and as a novice that wants to learn about Python and Blender.
Take a look at this tutorial to get a quick overview - and follow this link to install blender/ and VSCode. [https://www.youtube.com/watch?v=77mMpeoh3OI&t tutorial on installing blender/ and VSCode.]
::::{{#ev:youtube|q06-hER7Y1Q}}
Now - If that did not seem too bad, you can move on to the next pages dedicated to actually running MPFB2 from VS Code: '''[[Documentation:MPFB2 getting started with VS code]]'''
92ba3ad81df6d3e83b3bf8b8e78bfa57772d00e5
2099
2098
2021-05-11T18:49:30Z
Assetdk
89
/* MakeHuman Plugin For Blender */
wikitext
text/x-wiki
=MakeHuman Plugin For Blender=
This page is the "main" page for the Blender plugin - in effect an "index" for documentation and tutorials regarding MPFB2.
This page will internally hold links for MPFB2 development and tutorials.
==Get MPFB2 here==
:: * '''[http://www.makehumancommunity.org/forum/viewtopic.php?f=18&t=19356&hilit=MPFB#p53411 Makehuman forum about MHFB2 ]'''
:: * '''[https://github.com/makehumancommunity/mpfb2 MPFB2 on github]
:: * '''[https://github.com/makehumancommunity/mpfb2/blob/master/docs/general/status.md MPFB2 status om github]
:: * '''[http://download.tuxfamily.org/makehuman/plugins/ MPFB2 download the addon]
==Tutorials for using MPFB2==
==Developers resources==
I will start this by making some developers notes that could eventually compile into one or more tutorials.
I will keep adding more notes to this page, but I urge you to:
* Add comments
* Add tips and links to other tutorials
* Add your own code
* Request topics that you think would need to covered
* Add links to other addons that is useful for VSC and MBFP2
===Using VSCode===
I would recommend that you use VS Code since there is a very handy Blender Extension. This will help you as an experienced developer - and as a novice that wants to learn about Python and Blender.
Take a look at this tutorial to get a quick overview - and follow this link to install blender/ and VSCode. [https://www.youtube.com/watch?v=77mMpeoh3OI&t tutorial on installing blender/ and VSCode.]
::::{{#ev:youtube|q06-hER7Y1Q}}
Now - If that did not seem too bad, you can move on to the next pages dedicated to actually running MPFB2 from VS Code: '''[[Documentation:MPFB2 getting started with VS code]]'''
069f11c4badf618d3d0c02c2066f88c4ebe8ea09
2098
2085
2021-05-11T18:37:02Z
Assetdk
89
/* MakeHuman Plugin For Blender */
wikitext
text/x-wiki
=MakeHuman Plugin For Blender=
This page is the "main" page for the Blender plugin - in effect an "index" for documentation and tutorials regarding MPFB2.
This page will internally hold links for MPFB2 development and tutorials.
::'''[http://www.makehumancommunity.org/forum/viewtopic.php?f=18&t=19356&hilit=MPFB#p53411 Makehuman forum about MHFB2 ]'''
==Tutorials for using MPFB2==
==Developers resources==
I will start this by making some developers notes that could eventually compile into one or more tutorials.
I will keep adding more notes to this page, but I urge you to:
* Add comments
* Add tips and links to other tutorials
* Add your own code
* Request topics that you think would need to covered
* Add links to other addons that is useful for VSC and MBFP2
===Using VSCode===
I would recommend that you use VS Code since there is a very handy Blender Extension. This will help you as an experienced developer - and as a novice that wants to learn about Python and Blender.
Take a look at this tutorial to get a quick overview - and follow this link to install blender/ and VSCode. [https://www.youtube.com/watch?v=77mMpeoh3OI&t tutorial on installing blender/ and VSCode.]
::::{{#ev:youtube|q06-hER7Y1Q}}
Now - If that did not seem too bad, you can move on to the next pages dedicated to actually running MPFB2 from VS Code: '''[[Documentation:MPFB2 getting started with VS code]]'''
7e0118fe88a44e5da82abf6660a3546bf7da1b50
2085
2084
2021-05-11T17:30:12Z
Assetdk
89
/* Using VSCode */
wikitext
text/x-wiki
=MakeHuman Plugin For Blender=
This page is the "main" page for the Blender plugin - in effect an "index" for documentation and tutorials regarding MPFB2.
This page will internally hold links for MPFB2 development and tutorials.
==Tutorials for using MPFB2==
==Developers resources==
I will start this by making some developers notes that could eventually compile into one or more tutorials.
I will keep adding more notes to this page, but I urge you to:
* Add comments
* Add tips and links to other tutorials
* Add your own code
* Request topics that you think would need to covered
* Add links to other addons that is useful for VSC and MBFP2
===Using VSCode===
I would recommend that you use VS Code since there is a very handy Blender Extension. This will help you as an experienced developer - and as a novice that wants to learn about Python and Blender.
Take a look at this tutorial to get a quick overview - and follow this link to install blender/ and VSCode. [https://www.youtube.com/watch?v=77mMpeoh3OI&t tutorial on installing blender/ and VSCode.]
::::{{#ev:youtube|q06-hER7Y1Q}}
Now - If that did not seem too bad, you can move on to the next pages dedicated to actually running MPFB2 from VS Code: '''[[Documentation:MPFB2 getting started with VS code]]'''
0449ba992dc6da9c74b3c8b4fcc2106e0af6648b
2084
2021-05-11T17:26:50Z
Assetdk
89
Created page with "=MakeHuman Plugin For Blender= This page is the "main" page for the Blender plugin - in effect an "index" for documentation and tutorials regarding MPFB2. This page will int..."
wikitext
text/x-wiki
=MakeHuman Plugin For Blender=
This page is the "main" page for the Blender plugin - in effect an "index" for documentation and tutorials regarding MPFB2.
This page will internally hold links for MPFB2 development and tutorials.
==Tutorials for using MPFB2==
==Developers resources==
I will start this by making some developers notes that could eventually compile into one or more tutorials.
I will keep adding more notes to this page, but I urge you to:
* Add comments
* Add tips and links to other tutorials
* Add your own code
* Request topics that you think would need to covered
* Add links to other addons that is useful for VSC and MBFP2
===Using VSCode===
I would recommend that you use VS Code since there is a very handy Blender Extension. This will help you as an experienced developer - and as a novice that wants to learn about Python and Blender.
Take a look at this tutorial to get a quick overview - and follow this link to install blender/ and VSCode. [https://www.youtube.com/watch?v=77mMpeoh3OI&t tutorial on installing blender/ and VSCode.]
{{#ev:youtube|q06-hER7Y1Q}}
* [[Documentation:MPFB2 getting started with VS code]]
22f9f4db86d94223a23402c082a709595bb58e78
Documentation:MPFB2 getting started with VS code
3000
713
2108
2107
2021-05-13T09:52:04Z
Assetdk
89
/* Getting started */
wikitext
text/x-wiki
Go back to [[Documentation:MPFB|MakeHuman Plugin For Blender - main page]]
=MPFB2 getting started with VS code=
On this page you will find notes, tips and hints - in general I intend to make notes on how MPFB2 was implemented as I learn and hopefully this can help others to understand the addon, debut it, make extensions/suggestions and perhaps you can even learn how to make your own addon?
==Getting started==
As of now VS code - actually Visual Studio Code - will be refereed to as VSC. For your information VSC is a free version of the professional tool called Visual Studio, Both are provided by Microsoft. Visual Studio is used by companies that have a portfolio of software and it is often used as a front end for different repository systems, this is needed when you have complex systems and a need for keeping track of software versions. If you use VSC you will learn a bit... but never mind, lets get to the first issue you may run into.
===Running the addon, startup to-do===
I found that the addon currently depends on that you have MetaHuman (1.2.0?) running already. The addon will try to connect with this and "reuse" some of the setup...
===The very first issue!!===
Getting Blender running from VSC, you need to open the folder in VSC and ctrl-shift-p and select the runtime - in my case D:\Blender\stable\blender-2.92.0-windows64\blender.exe - but if you do this like I did you will just see Blender start up and then pass-away. if you are new to VSC you may not notice that there is a message about this on the console - the operative part is: PermissionError:. This rather meaningless, however but what happen is that did already install the addon with this Blender version 2.92.0... and in short you need to unload and uninstall the addon you want to run/debug in VSC.
This is what Blender should look like when running from VSC - I highlighted tree things:
* It looks like 2.9.2 (or perhaps MBPF2) adds collections to the Scene: Mesh/Rig/Collision/Extras.
* When running from VSC you will get a extra DEV tool-tab, this is good to know i you are running Blender both ways.
* When running from VSC the add on gets installed - and it will '''remain installed as is,''' when you run (the same) Blender stand alone without VSC.
::[[File:MPFB2-VS1.PNG|800px]]
:
===The 2nd issue - upgrade the addon!===
Well perhaps not, but you may well run into this - as did I.
You can not (always) simply install the latest version of the addon on top of a older version. I ran into this and was happy that I made a backup. To install the first version I downloaded mpfb2-latest.zip, unpacked the files directly in a folder called Blender/addon/mpfb2-latest and ran VSCode from that folder. These are the steps you need to follow, to go to the new version:
* Open blender 2.9, disable the MPFB2 addon and close Blender
* Move the old zip file to Blender/addon/mpfb2-latest
* Rename the old folder Blender/addon/mpfb2-latest to say * Move the old zip file to Blender/addon/mpfb2-latest-1
* Download a new version of the mpfb2-latest.zip MPFB file.
Now you should be able to run the new version from VSCode as it were. You will get a message:
::Could not read preference mpfb_user_data
If you set the preferences they are now "lost", I don't know where it is saved...
===Blender preferences===
This is what the MPFB preferences look like in the current version.
::[[File:MPFB2-Options.PNG]]
Please note that the auto discover appears to depend on the running MetaHuman program.
===Developer options===
These are the developer option:
::[[File:MPFB2-DeveloperOptions.PNG]]
===Using GitHub?!===
Placeholder for how to get the addon.
===Inspect an error===
Placeholder for looking at the console and reporting errors.
===Debug the code===
Placeholder for "digging in" and inspecting the code.
===Adding your own code===
Placeholder for - how to "sample" the existing code, adding your own menus/buttons and functions.
===MFB2 in Blender===
Placeholder for "how are the MPFB2 components organized in Blender".
===Useful Blender things===
Placeholder for learning to use Blender via MPFB2!
===Useful VSC things and extensions===
Placeholder for VSC specific tips.
===Useful Blender addons===
Placeholder for addon specific tips.
93eee6fdade531295934bc5226facfc62b772b4c
2107
2106
2021-05-13T09:48:29Z
Assetdk
89
/* Blender preferences */
wikitext
text/x-wiki
Go back to [[Documentation:MPFB|MakeHuman Plugin For Blender - main page]]
=MPFB2 getting started with VS code=
On this page you will find notes, tips and hints - in general I intend to make notes on how MPFB2 was implemented as I learn and hopefully this can help others to understand the addon, debut it, make extensions/suggestions and perhaps you can even learn how to make your own addon?
==Getting started==
As of now VS code - actually Visual Studio Code - will be refereed to as VSC. For your information VSC is a free version of the professional tool called Visual Studio, Both are provided by Microsoft. Visual Studio is used by companies that have a portfolio of software and it is often used as a front end for different repository systems, this is needed when you have complex systems and a need for keeping track of software versions. If you use VSC you will learn a bit... but never mind, lets get to the first issue you may run into.
===The very first issue!!===
Getting Blender running from VSC, you need to open the folder in VSC and ctrl-shift-p and select the runtime - in my case D:\Blender\stable\blender-2.92.0-windows64\blender.exe - but if you do this like I did you will just see Blender start up and then pass-away. if you are new to VSC you may not notice that there is a message about this on the console - the operative part is: PermissionError:. This rather meaningless, however but what happen is that did already install the addon with this Blender version 2.92.0... and in short you need to unload and uninstall the addon you want to run/debug in VSC.
This is what Blender should look like when running from VSC - I highlighted tree things:
* It looks like 2.9.2 (or perhaps MBPF2) adds collections to the Scene: Mesh/Rig/Collision/Extras.
* When running from VSC you will get a extra DEV tool-tab, this is good to know i you are running Blender both ways.
* When running from VSC the add on gets installed - and it will '''remain installed as is,''' when you run (the same) Blender stand alone without VSC.
::[[File:MPFB2-VS1.PNG|800px]]
:
===The 2nd issue - upgrade the addon!===
Well perhaps not, but you may well run into this - as did I.
You can not (always) simply install the latest version of the addon on top of a older version. I ran into this and was happy that I made a backup. To install the first version I downloaded mpfb2-latest.zip, unpacked the files directly in a folder called Blender/addon/mpfb2-latest and ran VSCode from that folder. These are the steps you need to follow, to go to the new version:
* Open blender 2.9, disable the MPFB2 addon and close Blender
* Move the old zip file to Blender/addon/mpfb2-latest
* Rename the old folder Blender/addon/mpfb2-latest to say * Move the old zip file to Blender/addon/mpfb2-latest-1
* Download a new version of the mpfb2-latest.zip MPFB file.
Now you should be able to run the new version from VSCode as it were. You will get a message:
::Could not read preference mpfb_user_data
If you set the preferences they are now "lost", I don't know where it is saved...
===Blender preferences===
This is what the MPFB preferences look like in the current version.
::[[File:MPFB2-Options.PNG]]
Please note that the auto discover appears to depend on the running MetaHuman program.
===Developer options===
These are the developer option:
::[[File:MPFB2-DeveloperOptions.PNG]]
===Using GitHub?!===
Placeholder for how to get the addon.
===Inspect an error===
Placeholder for looking at the console and reporting errors.
===Debug the code===
Placeholder for "digging in" and inspecting the code.
===Adding your own code===
Placeholder for - how to "sample" the existing code, adding your own menus/buttons and functions.
===MFB2 in Blender===
Placeholder for "how are the MPFB2 components organized in Blender".
===Useful Blender things===
Placeholder for learning to use Blender via MPFB2!
===Useful VSC things and extensions===
Placeholder for VSC specific tips.
===Useful Blender addons===
Placeholder for addon specific tips.
9a1d979764c0fa314195f95cfe8254d314e7152f
2106
2097
2021-05-13T09:28:04Z
Assetdk
89
/* The very first issue!! */
wikitext
text/x-wiki
Go back to [[Documentation:MPFB|MakeHuman Plugin For Blender - main page]]
=MPFB2 getting started with VS code=
On this page you will find notes, tips and hints - in general I intend to make notes on how MPFB2 was implemented as I learn and hopefully this can help others to understand the addon, debut it, make extensions/suggestions and perhaps you can even learn how to make your own addon?
==Getting started==
As of now VS code - actually Visual Studio Code - will be refereed to as VSC. For your information VSC is a free version of the professional tool called Visual Studio, Both are provided by Microsoft. Visual Studio is used by companies that have a portfolio of software and it is often used as a front end for different repository systems, this is needed when you have complex systems and a need for keeping track of software versions. If you use VSC you will learn a bit... but never mind, lets get to the first issue you may run into.
===The very first issue!!===
Getting Blender running from VSC, you need to open the folder in VSC and ctrl-shift-p and select the runtime - in my case D:\Blender\stable\blender-2.92.0-windows64\blender.exe - but if you do this like I did you will just see Blender start up and then pass-away. if you are new to VSC you may not notice that there is a message about this on the console - the operative part is: PermissionError:. This rather meaningless, however but what happen is that did already install the addon with this Blender version 2.92.0... and in short you need to unload and uninstall the addon you want to run/debug in VSC.
This is what Blender should look like when running from VSC - I highlighted tree things:
* It looks like 2.9.2 (or perhaps MBPF2) adds collections to the Scene: Mesh/Rig/Collision/Extras.
* When running from VSC you will get a extra DEV tool-tab, this is good to know i you are running Blender both ways.
* When running from VSC the add on gets installed - and it will '''remain installed as is,''' when you run (the same) Blender stand alone without VSC.
::[[File:MPFB2-VS1.PNG|800px]]
:
===The 2nd issue - upgrade the addon!===
Well perhaps not, but you may well run into this - as did I.
You can not (always) simply install the latest version of the addon on top of a older version. I ran into this and was happy that I made a backup. To install the first version I downloaded mpfb2-latest.zip, unpacked the files directly in a folder called Blender/addon/mpfb2-latest and ran VSCode from that folder. These are the steps you need to follow, to go to the new version:
* Open blender 2.9, disable the MPFB2 addon and close Blender
* Move the old zip file to Blender/addon/mpfb2-latest
* Rename the old folder Blender/addon/mpfb2-latest to say * Move the old zip file to Blender/addon/mpfb2-latest-1
* Download a new version of the mpfb2-latest.zip MPFB file.
Now you should be able to run the new version from VSCode as it were. You will get a message:
::Could not read preference mpfb_user_data
If you set the preferences they are now "lost", I don't know where it is saved...
===Blender preferences===
This is what the MPFB preferences look like in the current version.
::[[File:MPFB2-Options.PNG]]
===Developer options===
These are the developer option:
::[[File:MPFB2-DeveloperOptions.PNG]]
===Using GitHub?!===
Placeholder for how to get the addon.
===Inspect an error===
Placeholder for looking at the console and reporting errors.
===Debug the code===
Placeholder for "digging in" and inspecting the code.
===Adding your own code===
Placeholder for - how to "sample" the existing code, adding your own menus/buttons and functions.
===MFB2 in Blender===
Placeholder for "how are the MPFB2 components organized in Blender".
===Useful Blender things===
Placeholder for learning to use Blender via MPFB2!
===Useful VSC things and extensions===
Placeholder for VSC specific tips.
===Useful Blender addons===
Placeholder for addon specific tips.
cbf2a1592fe8d7d0184d20eb9c8cea9e891d8b53
2097
2094
2021-05-11T18:16:28Z
Assetdk
89
/* Using GitHub?! */
wikitext
text/x-wiki
Go back to [[Documentation:MPFB|MakeHuman Plugin For Blender - main page]]
=MPFB2 getting started with VS code=
On this page you will find notes, tips and hints - in general I intend to make notes on how MPFB2 was implemented as I learn and hopefully this can help others to understand the addon, debut it, make extensions/suggestions and perhaps you can even learn how to make your own addon?
==Getting started==
As of now VS code - actually Visual Studio Code - will be refereed to as VSC. For your information VSC is a free version of the professional tool called Visual Studio, Both are provided by Microsoft. Visual Studio is used by companies that have a portfolio of software and it is often used as a front end for different repository systems, this is needed when you have complex systems and a need for keeping track of software versions. If you use VSC you will learn a bit... but never mind, lets get to the first issue you may run into.
===The very first issue!!===
Getting Blender running from VSC, you need to open the folder in VSC and ctrl-shift-p and select the runtime - in my case D:\Blender\stable\blender-2.92.0-windows64\blender.exe - but if you do this like I did you will just see Blender start up and then pass-away. if you are new to VSC you may not notice that there is a message about this on the console - the operative part is: PermissionError:. This rather meaningless, however but what happen is that did already install the addon with this Blender version 2.92.0... and in short you need to unload and uninstall the addon you want to run/debug in VSC.
This is what Blender should look like when running from VSC - I highlighted tree things:
* It looks like 2.9.2 (or perhaps MBPF2) adds collections to the Scene: Mesh/Rig/Collision/Extras.
* When running from VSC you will get a extra DEV tool-tab, this is good to know i you are running Blender both ways.
* When running from VSC the add on gets installed - and it will '''remain installed as is,''' when you run (the same) Blender stand alone without VSC.
::[[File:MPFB2-VS1.PNG|800px]]
:
===Blender preferences===
This is what the MPFB preferences look like in the current version.
::[[File:MPFB2-Options.PNG]]
===Developer options===
These are the developer option:
::[[File:MPFB2-DeveloperOptions.PNG]]
===Using GitHub?!===
Placeholder for how to get the addon.
===Inspect an error===
Placeholder for looking at the console and reporting errors.
===Debug the code===
Placeholder for "digging in" and inspecting the code.
===Adding your own code===
Placeholder for - how to "sample" the existing code, adding your own menus/buttons and functions.
===MFB2 in Blender===
Placeholder for "how are the MPFB2 components organized in Blender".
===Useful Blender things===
Placeholder for learning to use Blender via MPFB2!
===Useful VSC things and extensions===
Placeholder for VSC specific tips.
===Useful Blender addons===
Placeholder for addon specific tips.
979deffc7251562fe2270f3f2051df9f46619097
2094
2093
2021-05-11T17:55:28Z
Assetdk
89
wikitext
text/x-wiki
Go back to [[Documentation:MPFB|MakeHuman Plugin For Blender - main page]]
=MPFB2 getting started with VS code=
On this page you will find notes, tips and hints - in general I intend to make notes on how MPFB2 was implemented as I learn and hopefully this can help others to understand the addon, debut it, make extensions/suggestions and perhaps you can even learn how to make your own addon?
==Getting started==
As of now VS code - actually Visual Studio Code - will be refereed to as VSC. For your information VSC is a free version of the professional tool called Visual Studio, Both are provided by Microsoft. Visual Studio is used by companies that have a portfolio of software and it is often used as a front end for different repository systems, this is needed when you have complex systems and a need for keeping track of software versions. If you use VSC you will learn a bit... but never mind, lets get to the first issue you may run into.
===The very first issue!!===
Getting Blender running from VSC, you need to open the folder in VSC and ctrl-shift-p and select the runtime - in my case D:\Blender\stable\blender-2.92.0-windows64\blender.exe - but if you do this like I did you will just see Blender start up and then pass-away. if you are new to VSC you may not notice that there is a message about this on the console - the operative part is: PermissionError:. This rather meaningless, however but what happen is that did already install the addon with this Blender version 2.92.0... and in short you need to unload and uninstall the addon you want to run/debug in VSC.
This is what Blender should look like when running from VSC - I highlighted tree things:
* It looks like 2.9.2 (or perhaps MBPF2) adds collections to the Scene: Mesh/Rig/Collision/Extras.
* When running from VSC you will get a extra DEV tool-tab, this is good to know i you are running Blender both ways.
* When running from VSC the add on gets installed - and it will '''remain installed as is,''' when you run (the same) Blender stand alone without VSC.
::[[File:MPFB2-VS1.PNG|800px]]
:
===Using GitHub?!===
Placeholder for how to get the addon.
===Inspect an error===
Placeholder for looking at the console and reporting errors.
===Debug the code===
Placeholder for "digging in" and inspecting the code.
===Adding your own code===
Placeholder for - how to "sample" the existing code, adding your own menus/buttons and functions.
===MFB2 in Blender===
Placeholder for "how are the MPFB2 components organized in Blender".
===Useful Blender things===
Placeholder for learning to use Blender via MPFB2!
===Useful VSC things and extensions===
Placeholder for VSC specific tips.
===Useful Blender addons===
Placeholder for addon specific tips.
13125d487c4bb49484c31950da589e1debc1990b
2093
2092
2021-05-11T17:52:22Z
Assetdk
89
/* The very first issue!! */
wikitext
text/x-wiki
=MPFB2 getting started with VS code=
On this page you will find notes, tips and hints - in general I intend to make notes on how MPFB2 was implemented as I learn and hopefully this can help others to understand the addon, debut it, make extensions/suggestions and perhaps you can even learn how to make your own addon?
==Getting started==
As of now VS code - actually Visual Studio Code - will be refereed to as VSC. For your information VSC is a free version of the professional tool called Visual Studio, Both are provided by Microsoft. Visual Studio is used by companies that have a portfolio of software and it is often used as a front end for different repository systems, this is needed when you have complex systems and a need for keeping track of software versions. If you use VSC you will learn a bit... but never mind, lets get to the first issue you may run into.
===The very first issue!!===
Getting Blender running from VSC, you need to open the folder in VSC and ctrl-shift-p and select the runtime - in my case D:\Blender\stable\blender-2.92.0-windows64\blender.exe - but if you do this like I did you will just see Blender start up and then pass-away. if you are new to VSC you may not notice that there is a message about this on the console - the operative part is: PermissionError:. This rather meaningless, however but what happen is that did already install the addon with this Blender version 2.92.0... and in short you need to unload and uninstall the addon you want to run/debug in VSC.
This is what Blender should look like when running from VSC - I highlighted tree things:
* It looks like 2.9.2 (or perhaps MBPF2) adds collections to the Scene: Mesh/Rig/Collision/Extras.
* When running from VSC you will get a extra DEV tool-tab, this is good to know i you are running Blender both ways.
* When running from VSC the add on gets installed - and it will '''remain installed as is,''' when you run (the same) Blender stand alone without VSC.
::[[File:MPFB2-VS1.PNG|800px]]
:
===Using GitHub?!===
Placeholder for how to get the addon.
===Inspect an error===
Placeholder for looking at the console and reporting errors.
===Debug the code===
Placeholder for "digging in" and inspecting the code.
===Adding your own code===
Placeholder for - how to "sample" the existing code, adding your own menus/buttons and functions.
===MFB2 in Blender===
Placeholder for "how are the MPFB2 components organized in Blender".
===Useful Blender things===
Placeholder for learning to use Blender via MPFB2!
===Useful VSC things and extensions===
Placeholder for VSC specific tips.
===Useful Blender addons===
Placeholder for addon specific tips.
809456129af5b1d1d5f010d1d608371cb0f3dd12
2092
2091
2021-05-11T17:52:00Z
Assetdk
89
/* The very first issue!! */
wikitext
text/x-wiki
=MPFB2 getting started with VS code=
On this page you will find notes, tips and hints - in general I intend to make notes on how MPFB2 was implemented as I learn and hopefully this can help others to understand the addon, debut it, make extensions/suggestions and perhaps you can even learn how to make your own addon?
==Getting started==
As of now VS code - actually Visual Studio Code - will be refereed to as VSC. For your information VSC is a free version of the professional tool called Visual Studio, Both are provided by Microsoft. Visual Studio is used by companies that have a portfolio of software and it is often used as a front end for different repository systems, this is needed when you have complex systems and a need for keeping track of software versions. If you use VSC you will learn a bit... but never mind, lets get to the first issue you may run into.
===The very first issue!!===
Getting Blender running from VSC, you need to open the folder in VSC and ctrl-shift-p and select the runtime - in my case D:\Blender\stable\blender-2.92.0-windows64\blender.exe - but if you do this like I did you will just see Blender start up and then pass-away. if you are new to VSC you may not notice that there is a message about this on the console - the operative part is: PermissionError:. This rather meaningless, however but what happen is that did already install the addon with this Blender version 2.92.0... and in short you need to unload and uninstall the addon you want to run/debug in VSC.
This is what Blender should look like when running from VSC - I highlighted tree things:
* It looks like 2.9.2 (or perhaps MBPF2) adds collections to the Scene: Mesh/Rig/Collision/Extras.
* When running from VSC you will get a extra DEV tool-tab, this is good to know i you are running Blender both ways.
* When running from VSC the add on gets installed - and it will '''remain installed as is,''' when you run (the same) Blender stand alone without VSC.
::[[File:MPFB2-VS1.PNG|800px|left]]
:
===Using GitHub?!===
Placeholder for how to get the addon.
===Inspect an error===
Placeholder for looking at the console and reporting errors.
===Debug the code===
Placeholder for "digging in" and inspecting the code.
===Adding your own code===
Placeholder for - how to "sample" the existing code, adding your own menus/buttons and functions.
===MFB2 in Blender===
Placeholder for "how are the MPFB2 components organized in Blender".
===Useful Blender things===
Placeholder for learning to use Blender via MPFB2!
===Useful VSC things and extensions===
Placeholder for VSC specific tips.
===Useful Blender addons===
Placeholder for addon specific tips.
7cf1cc52efcefee5e9450f9abe972017d93bb45c
2091
2090
2021-05-11T17:50:32Z
Assetdk
89
/* =Useful Blender addons */
wikitext
text/x-wiki
=MPFB2 getting started with VS code=
On this page you will find notes, tips and hints - in general I intend to make notes on how MPFB2 was implemented as I learn and hopefully this can help others to understand the addon, debut it, make extensions/suggestions and perhaps you can even learn how to make your own addon?
==Getting started==
As of now VS code - actually Visual Studio Code - will be refereed to as VSC. For your information VSC is a free version of the professional tool called Visual Studio, Both are provided by Microsoft. Visual Studio is used by companies that have a portfolio of software and it is often used as a front end for different repository systems, this is needed when you have complex systems and a need for keeping track of software versions. If you use VSC you will learn a bit... but never mind, lets get to the first issue you may run into.
===The very first issue!!===
Getting Blender running from VSC, you need to open the folder in VSC and ctrl-shift-p and select the runtime - in my case D:\Blender\stable\blender-2.92.0-windows64\blender.exe - but if you do this like I did you will just see Blender start up and then pass-away. if you are new to VSC you may not notice that there is a message about this on the console - the operative part is: PermissionError:. This rather meaningless, however but what happen is that did already install the addon with this Blender version 2.92.0... and in short you need to unload and uninstall the addon you want to run/debug in VSC.
This is what Blender should look like when running from VSC - I highlighted tree things:
* It looks like 2.9.2 (or perhaps MBPF2) adds collections to the Scene: Mesh/Rig/Collision/Extras.
* When running from VSC you will get a extra DEV tool-tab, this is good to know i you are running Blender both ways.
* When running from VSC the add on gets installed - and it will '''remain installed as is,''' when you run (the same) Blender stand alone without VSC.
::[[File:MPFB2-VS1.PNG|800px|left]]
===Using GitHub?!===
Placeholder for how to get the addon.
===Inspect an error===
Placeholder for looking at the console and reporting errors.
===Debug the code===
Placeholder for "digging in" and inspecting the code.
===Adding your own code===
Placeholder for - how to "sample" the existing code, adding your own menus/buttons and functions.
===MFB2 in Blender===
Placeholder for "how are the MPFB2 components organized in Blender".
===Useful Blender things===
Placeholder for learning to use Blender via MPFB2!
===Useful VSC things and extensions===
Placeholder for VSC specific tips.
===Useful Blender addons===
Placeholder for addon specific tips.
cba4668afd7845fdedf9032baebf9452b511ecf6
2090
2088
2021-05-11T17:50:16Z
Assetdk
89
/* The very first issue!! */
wikitext
text/x-wiki
=MPFB2 getting started with VS code=
On this page you will find notes, tips and hints - in general I intend to make notes on how MPFB2 was implemented as I learn and hopefully this can help others to understand the addon, debut it, make extensions/suggestions and perhaps you can even learn how to make your own addon?
==Getting started==
As of now VS code - actually Visual Studio Code - will be refereed to as VSC. For your information VSC is a free version of the professional tool called Visual Studio, Both are provided by Microsoft. Visual Studio is used by companies that have a portfolio of software and it is often used as a front end for different repository systems, this is needed when you have complex systems and a need for keeping track of software versions. If you use VSC you will learn a bit... but never mind, lets get to the first issue you may run into.
===The very first issue!!===
Getting Blender running from VSC, you need to open the folder in VSC and ctrl-shift-p and select the runtime - in my case D:\Blender\stable\blender-2.92.0-windows64\blender.exe - but if you do this like I did you will just see Blender start up and then pass-away. if you are new to VSC you may not notice that there is a message about this on the console - the operative part is: PermissionError:. This rather meaningless, however but what happen is that did already install the addon with this Blender version 2.92.0... and in short you need to unload and uninstall the addon you want to run/debug in VSC.
This is what Blender should look like when running from VSC - I highlighted tree things:
* It looks like 2.9.2 (or perhaps MBPF2) adds collections to the Scene: Mesh/Rig/Collision/Extras.
* When running from VSC you will get a extra DEV tool-tab, this is good to know i you are running Blender both ways.
* When running from VSC the add on gets installed - and it will '''remain installed as is,''' when you run (the same) Blender stand alone without VSC.
::[[File:MPFB2-VS1.PNG|800px|left]]
===Using GitHub?!===
Placeholder for how to get the addon.
===Inspect an error===
Placeholder for looking at the console and reporting errors.
===Debug the code===
Placeholder for "digging in" and inspecting the code.
===Adding your own code===
Placeholder for - how to "sample" the existing code, adding your own menus/buttons and functions.
===MFB2 in Blender===
Placeholder for "how are the MPFB2 components organized in Blender".
===Useful Blender things===
Placeholder for learning to use Blender via MPFB2!
===Useful VSC things and extensions===
Placeholder for VSC specific tips.
===Useful Blender addons==
Placeholder for addon specific tips.
c4a0c7e3d8e475c51eb276fa45f88c1bb043e00c
2088
2087
2021-05-11T17:44:36Z
Assetdk
89
/* The very first issue!! */
wikitext
text/x-wiki
=MPFB2 getting started with VS code=
On this page you will find notes, tips and hints - in general I intend to make notes on how MPFB2 was implemented as I learn and hopefully this can help others to understand the addon, debut it, make extensions/suggestions and perhaps you can even learn how to make your own addon?
==Getting started==
As of now VS code - actually Visual Studio Code - will be refereed to as VSC. For your information VSC is a free version of the professional tool called Visual Studio, Both are provided by Microsoft. Visual Studio is used by companies that have a portfolio of software and it is often used as a front end for different repository systems, this is needed when you have complex systems and a need for keeping track of software versions. If you use VSC you will learn a bit... but never mind, lets get to the first issue you may run into.
===The very first issue!!===
Getting Blender running from VSC, you need to open the folder in VSC and ctrl-shift-p and select the runtime - in my case D:\Blender\stable\blender-2.92.0-windows64\blender.exe - but if you do this like I did you will just see Blender start up and then pass-away. if you are new to VSC you may not notice that there is a message about this on the console - the operative part is: PermissionError:. This rather meaningless, however but what happen is that did already install the addon with this Blender version 2.92.0... and in short you need to unload and uninstall the addon you want to run/debug in VSC.
This is what Blender should look like when running from VSC - I highlighted tree things:
* It looks like 2.9.2 (or perhaps MBPF2) adds collections to the Scene: Mesh/Rig/Collision/Extras.
* When running from VSC you will get a extra DEV tool-tab, this is good to know i you are running Blender both ways.
* When running from VSC the add on gets installed - and it will '''remain installed as is,''' when you run (the same) Blender stand alone without VSC.
325a9872f5b24c01e162e544aeab93bb01c68d50
2087
2086
2021-05-11T17:43:42Z
Assetdk
89
/* The very first issue!! */
wikitext
text/x-wiki
=MPFB2 getting started with VS code=
On this page you will find notes, tips and hints - in general I intend to make notes on how MPFB2 was implemented as I learn and hopefully this can help others to understand the addon, debut it, make extensions/suggestions and perhaps you can even learn how to make your own addon?
==Getting started==
As of now VS code - actually Visual Studio Code - will be refereed to as VSC. For your information VSC is a free version of the professional tool called Visual Studio, Both are provided by Microsoft. Visual Studio is used by companies that have a portfolio of software and it is often used as a front end for different repository systems, this is needed when you have complex systems and a need for keeping track of software versions. If you use VSC you will learn a bit... but never mind, lets get to the first issue you may run into.
===The very first issue!!===
Getting Blender running from VSC, you need to open the folder in VSC and ctrl-shift-p and select the runtime - in my case D:\Blender\stable\blender-2.92.0-windows64\blender.exe - but if you do this like I did you will just see Blender start up and then pass-away. if you are new to VSC you may not notice that there is a message about this on the console - the operative part is: PermissionError:. This rather meaningless, however but what happen is that did already install the addon with this Blender version 2.92.0... and in short you need to unload and uninstall the addon you want to run/debug in VSC.
This is what Blender should look like when running from VSC - I highlighted tree things:
* It looks like 2.9.2 (or perhaps MBPF2) adds collections to the Scene: Mesh/Rig/Collision/Extras.
* When running from VSC you will get a extra DEV tool-tab, this is good to know i you are running Blender both ways.
* When running from VSC the add on gets installed and it will be installed as is, when you run (the same) Blender without VSC.
de65a87bd7f81e29cecc3660e96eb8110d9cad3c
2086
2021-05-11T17:42:59Z
Assetdk
89
Created page with "=MPFB2 getting started with VS code= On this page you will find notes, tips and hints - in general I intend to make notes on how MPFB2 was implemented as I learn and hopefully..."
wikitext
text/x-wiki
=MPFB2 getting started with VS code=
On this page you will find notes, tips and hints - in general I intend to make notes on how MPFB2 was implemented as I learn and hopefully this can help others to understand the addon, debut it, make extensions/suggestions and perhaps you can even learn how to make your own addon?
==Getting started==
As of now VS code - actually Visual Studio Code - will be refereed to as VSC. For your information VSC is a free version of the professional tool called Visual Studio, Both are provided by Microsoft. Visual Studio is used by companies that have a portfolio of software and it is often used as a front end for different repository systems, this is needed when you have complex systems and a need for keeping track of software versions. If you use VSC you will learn a bit... but never mind, lets get to the first issue you may run into.
===The very first issue!!===
Getting Blender running from VSC, you need to open the folder in VSC and ctrl-shift-p and select the runtime - in my case D:\Blender\stable\blender-2.92.0-windows64\blender.exe - but if you do this like I did you will just see Blender start up and then pass-away. if you are new to VSC you may not notice that there is a message about this on the console - the operative part is: PermissionError:. This rather meaningless, however but what happen is that did already install the addon with this Blender version 2.92.0... and in short you need to unload and uninstall the addon you want to run/debug in VSC.
This is what Blender should look like when running from VSC - I highlighted tree things:
It looks like 2.9.2 (or perhaps MBPF2) adds collections to the Scene: Mesh/Rig/Collision/Extras.
When running from VSC you will get a extra DEV tool-tab, this is good to know i you are running Blender both ways.
When running from VSC the add on gets installed and it will be installed as is, when you run (the same) Blender without VSC.
249bca8b3daffe3ce7a03ead422b7ea3cc183165
Documentation:MakeClothes Delete-Groups
3000
653
1859
2020-08-06T18:12:21Z
Punkduck
38
Created page with " [[File:Mc2_intersections_issue.jpg]] == Issue with intersecting Faces == A problem which may occur when clothes are designed, is that they fit the character when the char..."
wikitext
text/x-wiki
[[File:Mc2_intersections_issue.jpg]]
== Issue with intersecting Faces ==
A problem which may occur when clothes are designed, is that they fit the character when the character uses a rest pose or isnot changed at all in makehuman. But when the character is morphed (changed in geometry or size) or posed, faces of the skin intersect with faces of the clothes like in the demo illustration above.
There are some limits, which have a mathematical background. The following picture demonstrates what is happening, to make it easier a simple 2d illustration is added on the left side of the next illustration. We start with what is maybe an arm, the elbow is not bent. The unchanged line with the red vertices should be the skin, the green ones the piece of cloth.
In this case the skin has a higher resolution than the cloth. d1 and d2 are the distances between the vertices on the piece of cloth and the vertices of the skin. For a 2d representation 2 vertices as a reference are needed, for 3d we need 3. The relation between d1 and d2 will be identical after the skin is stretched or bent. Because of lower geometry an intersection cannot be avoided.
[[File:Mc2_intersections.png]]
There are some methods however, to reach better results:
* the clothes should not be low-poly, where you expect to have large movements, use geometry similar like the skin. But as you can see in the first illustration, the problem is not only appearing with low-poly meshes.
* the problem may decrease when there is more space between cloth and skin. But it is not a guarantee for very low poly clothes. Be aware of what will work on the outside of the elbow will create self-intersecting cloth-faces on the inside.
* be always aware that each vertex on the piece of cloth needs 3 references vertices. Especially if you design a skirt, always use the helper-mesh. Otherwise the algorithm will e.g. find one vertex on one leg to follow and two on the other leg.
* use delete-groups if you create non-transparent tight clothes. This has two advantages. No skin will intersect with clothes then and unnecessary vertices had not to be calculated. Be aware that these vertices are not lost. They are still there and can be used when you e.g. need the body as collision object in cloth simulation in e.g. Blender.
* for very sophisticated clothes to be used with a cloth simulation later, do a version which fits to the rest pose, you can also create a delete-group, this will help people not using cloth-simulation.
74a7769c3ff285008ee53ea9b8846be9feae1f86
Documentation:MakeClothes Vertex-Groups
3000
650
1861
1860
2020-08-06T18:17:20Z
Punkduck
38
wikitext
text/x-wiki
[[File:Mc2_vertex_groups_howto.jpg|right]]
Vertex-groups are used to create relations between the human (or helper) and the piece of cloth. Three different assets will show us, how it works. You can download these assets for comparison, but it should be only an example, because all other authors had to do it similar.
A special vertex-group is the [[Documentation:MakeClothes_Delete-Groups|delete-group]].
All assets can be created in one file, if you want.
== The boots, a single vertex-group and a delete group ==
The simplest asset of the clothed character are the boots.
* the boots only have one vertex-group called "boots"
* the same vertex group is created on the helper where the boots will be
* to erase the feet of the character (because they are not visible), a group called "DeleteBoots" is created on the human
* the name of this delete group must be inserted in the DeleteGroup box of the mesh as illustrated.
That's simple. But be aware of the following characteristics:
* use enough vertices to cover the boots on the helper. Otherwise they can intersect, when your character moves. If you use too much, only the time to calculate will grow ...
* do not mix body and helper here. Since the body has a higher resolution than the helper the cloth-mesh will sometimes move like the helper and sometimes like the body, this will give unpredictable results
* do not select the cubes on the helper ... so be careful with circle or block-selection in blender. You can e.g. hide the cubes by using the joints-group (if available) or by color. Do not delete them!
* for shoes using the helper is better in this case. The small toes can completely distort the shoes, when you resize the character
* be careful with the delete-group. If you use too many vertices, holes will be the result.
[[File:Mc2_vertexgroups2.png]]
== The dress, two vertex-groups and a delete group ==
Because of the trumpet sleeves there is a problem. Some parts of the sleeves will stay near the torso, because the torso vertices are nearer to the sleeves than the arm,
* so create two vertex groups at least (Dress, arms), or use 3 like torso, leftarm, rightarm. For some of the helper meshes there are some groups added to be used as a help, if you want to use them, simply add the same vertex group names for your piece of cloth. The vertices of the piece of cloth are only allowed to be in one group.
* create the same groups on the helper (if not provided). The may overlap, but better avoid that.
* be careful, the boundaries of the piece of cloth and the human or helper should match.
* for a dress always use the helper.
* do not select the legs, select only the skirt
* add a delete group. It is up to you if you delete more of the legs. But in this case don't turn her upside down, not to get a shock ;-)
[[File:Mc2_vertexgroups1.png]]
== The crown, use of the smallest possible vertex-groups and no delete group ==
The next example is a crown. The geometry of the crown should be oval and the height should not change. To reach this, we use only 3 vertices which form a triangle. It is possible to deform the triangle, but all movements are linear in this case. So the crown should not deform, if you move e.g. one ear down.
* since all the vertices of the crown should be in relation with these vertices, assign all vertices of the crown to the vertex group "crown".
* assign 3 vertices on the head (hair helper would also work) to a group of the same name for the human
* use 3 vertices, where you believe it will nearly always work, so best not 3 neighbouring vertices, this would not be exact enough
* a delete-group is not needed
* hint: in old versions of MakeClothes this was called a rigid group and the name had to start with an '*'. Since all other groups with 3 vertices do the same effect, we do not use a different naming.
[[File:Mc2_vertexgroups3.png]]
Features and problems:
* buckles and buttons, especially with a lot of geometry should stay in relation with a vertex group with only 3 vertices.
* however it is not possible to e.g. create a perfect round button, when the character is stretched or e.g. bigger cup-sized female breasts "squeeze" the button to ovals. It could happen that the button hovers above the fabric or disappears in the fabric. With this technique better results cannot be reached
* delete groups can avoid intersections
08a7982cbbd9f5f43bb03f5fb16954645c0ca899
1860
1855
2020-08-06T18:16:25Z
Punkduck
38
wikitext
text/x-wiki
[[File:Mc2_vertex_groups_howto.jpg|right]]
Vertex-groups are used to create relations between the human (or helper) and the piece of cloth. Three different assets will show us, how it works. You can download these assets for comparison, but it should be only an example, because all other authors had to do it similar.
A special vertex-group is the [[Documentation:MakeClothes_Delete-Groups|delete-group]].
All assets can be created in one file, if you want.
== The boots, a single vertex-group and a delete group ==
The simplest asset of the clothed character are the boots.
* the boots only have one vertex-group called "boots"
* the same vertex group is created on the helper where the boots will be
* to erase the feet of the character (because they are not visible), a group called "DeleteBoots" is created on the human
* the name of this delete group must be inserted in the DeleteGroup box of the mesh as illustrated.
That's simple. But be aware of the following characteristics:
* use enough vertices to cover the boots on the helper. Otherwise they can intersect, when your character moves. If you use too much, only the time to calculate will grow ...
* do not mix body and helper here. Since the body has a higher resolution than the helper the cloth-mesh will sometimes move like the helper and sometimes like the body, this will give unpredictable results
* do not select the cubes on the helper ... so be careful with circle or block-selection in blender. You can e.g. hide the cubes by using the joints-group (if available) or by color. Do not delete them!
* for shoes using the helper is better in this case. The small toes can completely distort the shoes, when you resize the character
* be careful with the delete-group. If you use too many vertices, holes will be the result.
[[File:Mc2_vertexgroups2.png]]
== The dress, two vertex-groups and a delete group ==
Because of the trumpet sleeves there is a problem. Some parts of the sleeves will stay near the torso, because the torso vertices are nearer to the sleeves than the arm,
* so create two vertex groups at least (Dress, arms), or use 3 like torso, leftarm, rightarm. For some of the helper meshes there are some groups added to be used as a help, if you want to use them, simply add the same vertex group names for your piece of cloth. The vertices of the piece of cloth are only allowed to be in one group.
* create the same groups on the helper (if not provided). The may overlap, but better avoid that.
* be careful, the boundaries of the piece of cloth and the human or helper should match.
* for a dress always use the helper.
* do not select the legs, select only the skirt
* add a delete group. It is up to you if you delete more of the legs. But in this case don't turn her upside down, not to get a shock ;-)
[[File:Mc2_vertexgroups1.png]]
== The crown, use of the smallest possible vertex-groups and no delete group ==
The next example is a crown. The geometry of the crown should be oval and the height should not change. To reach this, we use only 3 vertices which form a triangle. It is possible to deform the triangle, but all movements are linear in this case. So the crown should not deform, if you move e.g. one ear down.
* since all the vertices of the crown should be in relation with these vertices, assign all vertices of the crown to the vertex group "crown".
* assign 3 vertices on the head (hair helper would also work) to a group of the same name for the human
* use 3 vertices, where you believe it will nearly always work, so best not 3 neighbouring vertices, this would not be exact enough
* a delete-group is not needed
* hint: in old versions of MakeClothes this was called a rigid group and the name had to start with an '*'. Since all other groups with 3 vertices do the same effect, we do not use a different naming.
[[File:Mc2_vertexgroups3.png]]
Features and problems:
* buckles and buttons, especially with a lot of geometry should stay in relation with a vertex group with only 3 vertices.
* however it is not possible to e.g. create a perfect round button, when the character is stretched or e.g. bigger cup-sized female breasts "squeeze" the button to ovals. It could happen that the button hovers above the fabric or disappears in the fabric. With this technique better results cannot be reached
* delete groups can avoid intersections
<explanation of bleeding/intersections will follow, also certain limits>
1451416b8ec62164ad37d03ba9df72ec727c158c
1855
2020-08-03T19:47:15Z
Punkduck
38
Created page with "[[File:Mc2_vertex_groups_howto.jpg|right]] Vertex-groups are used to create relations between the human (or helper) and the piece of cloth. Three different assets will show u..."
wikitext
text/x-wiki
[[File:Mc2_vertex_groups_howto.jpg|right]]
Vertex-groups are used to create relations between the human (or helper) and the piece of cloth. Three different assets will show us, how it works. You can download these assets for comparison, but it should be only an example, because all other authors had to do it similar.
All assets can be created in one file, if you want.
== The boots, a single vertex-group and a delete group ==
The simplest asset of the clothed character are the boots.
* the boots only have one vertex-group called "boots"
* the same vertex group is created on the helper where the boots will be
* to erase the feet of the character (because they are not visible), a group called "DeleteBoots" is created on the human
* the name of this delete group must be inserted in the DeleteGroup box of the mesh as illustrated.
That's simple. But be aware of the following characteristics:
* use enough vertices to cover the boots on the helper. Otherwise they can intersect, when your character moves. If you use too much, only the time to calculate will grow ...
* do not mix body and helper here. Since the body has a higher resolution than the helper the cloth-mesh will sometimes move like the helper and sometimes like the body, this will give unpredictable results
* do not select the cubes on the helper ... so be careful with circle or block-selection in blender. You can e.g. hide the cubes by using the joints-group (if available) or by color. Do not delete them!
* for shoes using the helper is better in this case. The small toes can completely distort the shoes, when you resize the character
* be careful with the delete-group. If you use too many vertices, holes will be the result.
[[File:Mc2_vertexgroups2.png]]
== The dress, two vertex-groups and a delete group ==
Because of the trumpet sleeves there is a problem. Some parts of the sleeves will stay near the torso, because the torso vertices are nearer to the sleeves than the arm,
* so create two vertex groups at least (Dress, arms), or use 3 like torso, leftarm, rightarm. For some of the helper meshes there are some groups added to be used as a help, if you want to use them, simply add the same vertex group names for your piece of cloth. The vertices of the piece of cloth are only allowed to be in one group.
* create the same groups on the helper (if not provided). The may overlap, but better avoid that.
* be careful, the boundaries of the piece of cloth and the human or helper should match.
* for a dress always use the helper.
* do not select the legs, select only the skirt
* add a delete group. It is up to you if you delete more of the legs. But in this case don't turn her upside down, not to get a shock ;-)
[[File:Mc2_vertexgroups1.png]]
== The crown, use of the smallest possible vertex-groups and no delete group ==
The next example is a crown. The geometry of the crown should be oval and the height should not change. To reach this, we use only 3 vertices which form a triangle. It is possible to deform the triangle, but all movements are linear in this case. So the crown should not deform, if you move e.g. one ear down.
* since all the vertices of the crown should be in relation with these vertices, assign all vertices of the crown to the vertex group "crown".
* assign 3 vertices on the head (hair helper would also work) to a group of the same name for the human
* use 3 vertices, where you believe it will nearly always work, so best not 3 neighbouring vertices, this would not be exact enough
* a delete-group is not needed
* hint: in old versions of MakeClothes this was called a rigid group and the name had to start with an '*'. Since all other groups with 3 vertices do the same effect, we do not use a different naming.
[[File:Mc2_vertexgroups3.png]]
Features and problems:
* buckles and buttons, especially with a lot of geometry should stay in relation with a vertex group with only 3 vertices.
* however it is not possible to e.g. create a perfect round button, when the character is stretched or e.g. bigger cup-sized female breasts "squeeze" the button to ovals. It could happen that the button hovers above the fabric or disappears in the fabric. With this technique better results cannot be reached
* delete groups can avoid intersections
<explanation of bleeding/intersections will follow, also certain limits>
680eca311ec5808c6aa41fe79b831f36d6c0dfdf
Documentation:MakeHuman™ and its Purpose
3000
7
40
39
2015-06-30T19:43:57Z
Aiena1
3
wikitext
text/x-wiki
MakeHuman™ is a tool designed to simplify the creation of virtual humans using a Graphical User Interface, also commonly referred to as a GUI. This is a specialized branch of the more general subject of 3D modelling. The MakeHuman Team is focused on this specific branch of the broader subject in order to achieve the best possible level of quality and ease of use in that area. The ultimate goal is to be able to quickly produce a wide array of realistic virtual humans with only a few clicks of the mouse and be able to render or export them for use in other projects.
[[File:MH&Purp NQ.jpg|center]]
Humans are created through the manipulation of controls that allow for the blending of different human attributes to create unique 3D human characters. The controls are intended to provide the user with a simple way to create characters that give expression to the widest possible range of human forms. The controllable attributes are broken into two groups: macro and detail. The macro targets deal with overall human characteristics like gender, age, height, weight and ethnicity. The detail targets allow for the character to be further refined by focusing on the low level details of such things as the eye's shape or finger's length.
The MakeHuman™ project strives to provide a complete tool that allows for the management of all things needed to create realistic virtual humans. This includes some tools that have not yet been created or are in the early stages of development for things like poses, animation cycles, managing facial expressions, hair and clothes. With the exception of modelling, most of these tools follow a "point and click" approach by using the MakeHuman™'s Library. Via the MakeHuman™ Library, users preview and load poses, animation cycles, facial expressions, hair, shoes and clothes onto their character. MakeHuman™ also offers tools for exporting virtual humans to other software (such as the Blender 3D modeling suite) where further refinements can be made.
0d0576d5fc7a8ac0f0c1a1a7a12551522910d964
39
38
2015-06-30T19:42:32Z
Aiena1
3
align image center
wikitext
text/x-wiki
MakeHuman™ is a tool designed to simplify the creation of virtual humans using a Graphical User Interface, also commonly referred to as a GUI. This is a specialized branch of the more general subject of 3D modelling. The MakeHuman Team is focused on this specific branch of the broader subject in order to achieve the best possible level of quality and ease of use in that area. The ultimate goal is to be able to quickly produce a wide array of realistic virtual humans with only a few clicks of the mouse and be able to render or export them for use in other projects.
[[File:MH&Purp NQ.jpg|center]]
Humans are created through the manipulation of controls that allow for the blending of different human attributes to create unique 3D human characters. The controls are intended to provide the user with a simple way to create characters that give expression to the widest possible range of human forms. The controllable attributes are broken into two groups: macro and detail. The macro targets deal with overall human characteristics like gender, age, height, weight and ethnicity. The detail targets allow for the character to be further refined by focusing on the low level details of such things as the eye's shape or finger's length.
The MakeHuman™ project strives to provide a complete tool that allows for the management of all things needed to create realistic virtual humans. This includes some tools that have not yet been created or are in the early stages of development for things like poses, animation cycles, managing facial expressions, hair and clothes. With the exception of modelling, most of these tools follow a "point and click" approach by using the MakeHuman™'s Library. Via the MH Library, users preview and load poses, animation cycles, facial expressions, hair, shoes and clothes onto their character. MakeHuman™ also offers tools for exporting virtual humans to other software (such as the Blender 3D modeling suite) where further refinements can be made.
2c116577af2a32181043c6ee761db649e706ea1c
38
37
2015-06-30T19:40:18Z
Aiena1
3
Fix layout of MakeHuman™ and its Purpose
wikitext
text/x-wiki
MakeHuman™ is a tool designed to simplify the creation of virtual humans using a Graphical User Interface, also commonly referred to as a GUI. This is a specialized branch of the more general subject of 3D modelling. The MakeHuman Team is focused on this specific branch of the broader subject in order to achieve the best possible level of quality and ease of use in that area. The ultimate goal is to be able to quickly produce a wide array of realistic virtual humans with only a few clicks of the mouse and be able to render or export them for use in other projects.
[[File:MH&Purp NQ.jpg]]
Humans are created through the manipulation of controls that allow for the blending of different human attributes to create unique 3D human characters. The controls are intended to provide the user with a simple way to create characters that give expression to the widest possible range of human forms. The controllable attributes are broken into two groups: macro and detail. The macro targets deal with overall human characteristics like gender, age, height, weight and ethnicity. The detail targets allow for the character to be further refined by focusing on the low level details of such things as the eye's shape or finger's length.
The MakeHuman™ project strives to provide a complete tool that allows for the management of all things needed to create realistic virtual humans. This includes some tools that have not yet been created or are in the early stages of development for things like poses, animation cycles, managing facial expressions, hair and clothes. With the exception of modelling, most of these tools follow a "point and click" approach by using the MakeHuman™'s Library. Via the MH Library, users preview and load poses, animation cycles, facial expressions, hair, shoes and clothes onto their character. MakeHuman™ also offers tools for exporting virtual humans to other software (such as the Blender 3D modeling suite) where further refinements can be made.
cf89b200ff71acee253d02a09ef1a7bfba43f8f9
37
36
2015-06-30T19:39:29Z
Aiena1
3
wikitext
text/x-wiki
MakeHuman™ is a tool designed to simplify the creation of virtual humans using a Graphical User Interface, also commonly referred to as a GUI. This is a specialized branch of the more general subject of 3D modelling. The MakeHuman Team is focused on this specific branch of the broader subject in order to achieve the best possible level of quality and ease of use in that area. The ultimate goal is to be able to quickly produce a wide array of realistic virtual humans with only a few clicks of the mouse and be able to render or export them for use in other projects.
[[File:MH&Purp NQ.jpg]]
Humans are created through the manipulation of controls that allow for the blending of different human attributes to create unique 3D human characters. The controls are intended to provide the user with a simple way to create characters that give expression to the widest possible range of human forms. The controllable attributes are broken into two groups: macro and detail. The macro targets deal with overall human characteristics like gender, age, height, weight and ethnicity. The detail targets allow for the character to be further refined by focusing on the low level details of such things as the eye's shape or finger's length.
The MakeHuman™ project strives to provide a complete tool that allows for the management of all things needed to create realistic virtual humans. This includes some tools that have not yet been created or are in the early stages of development for things like poses, animation cycles, managing facial expressions, hair and clothes. With the exception of modelling, most of these tools follow a "point and click" approach by using the MakeHuman™'s Library. Via the MH Library, users preview and load poses, animation cycles, facial expressions, hair, shoes and clothes onto their character. MakeHuman™ also offers tools for exporting virtual humans to other software (such as the Blender 3D modeling suite) where further refinements can be made.
5c81ff62df2016f691d948d8d30b94e258f8fd82
36
2015-06-30T19:39:05Z
Aiena1
3
Created page with "MakeHuman™ is a tool designed to simplify the creation of virtual humans using a Graphical User Interface, also commonly referred to as a GUI. This is a specialized branch o..."
wikitext
text/x-wiki
MakeHuman™ is a tool designed to simplify the creation of virtual humans using a Graphical User Interface, also commonly referred to as a GUI. This is a specialized branch of the more general subject of 3D modelling. The MakeHuman Team is focused on this specific branch of the broader subject in order to achieve the best possible level of quality and ease of use in that area. The ultimate goal is to be able to quickly produce a wide array of realistic virtual humans with only a few clicks of the mouse and be able to render or export them for use in other projects.
[[File:File:MH&Purp NQ.jpg]]
Humans are created through the manipulation of controls that allow for the blending of different human attributes to create unique 3D human characters. The controls are intended to provide the user with a simple way to create characters that give expression to the widest possible range of human forms. The controllable attributes are broken into two groups: macro and detail. The macro targets deal with overall human characteristics like gender, age, height, weight and ethnicity. The detail targets allow for the character to be further refined by focusing on the low level details of such things as the eye's shape or finger's length.
The MakeHuman™ project strives to provide a complete tool that allows for the management of all things needed to create realistic virtual humans. This includes some tools that have not yet been created or are in the early stages of development for things like poses, animation cycles, managing facial expressions, hair and clothes. With the exception of modelling, most of these tools follow a "point and click" approach by using the MakeHuman™'s Library. Via the MH Library, users preview and load poses, animation cycles, facial expressions, hair, shoes and clothes onto their character. MakeHuman™ also offers tools for exporting virtual humans to other software (such as the Blender 3D modeling suite) where further refinements can be made.
3b3b32bbf8f155456c509955b6e91c75a0bad2ba
Documentation:MakeWalk
3000
241
2148
2147
2022-11-13T19:24:21Z
Coz
122
Removed www from mocapdata.com to links are not broken anymore
wikitext
text/x-wiki
====== NOTE ======
There is a wealth of important information in this document, but some of the detail is badly out of date. Most of the fundamental information is quite usable, nevertheless. Things that need repairing:
* Broken links
* Reference to armatures in older version of MakeHuman
* The MakeWalk tool is now found as a tab on the T-side-panel in Blender
------------------------------------
MakeWalk is a Blender add-on for retargeting mocap data (.bvh files) to a given armature.
==== Retargeting: how it works ====
The goal of retargeting is to transfer a motion from a source armature (e.g. from a BVH file) to a given target armature (e.g. the MHX rig). However, it is not straightforward to assign the source action to the target rig, even if the bones have identical names. The motion of each bone is specified in local coordinates, relative to the parent and the bone's own rest pose. If the rest poses of the source and target armatures differ, the source F-curves can not be used directly by the target armature.
[[File:makewalk-1.png]]
The picture above shows a transformation in the local coordinate system. Since the parent's local Y points along its axis and its local Z points up, the child bone is rotated around the local X axis. This is not very useful if the target armature has a diffent rest pose. To retarget the pose, we therefore reexpress the transformation in the global coordinate system, as shown below. The local X rotation corresponds to a global Y rotation, and by a different angle. Once the global transformation matrix is known, we can reexpress it in the target bone's local coordinate system.
The retargeting process thus consists of making two coordinate transformations:
Source local => Global => Target local.
This will ensure that the source bone and the target bone will have the same global orientation.
[[File:makewalk_2.png]]
Unfortunately, things are a little more complicated. We do not always want the source and target bones to have identical orientation. In particular, the root or pelvis bone may point in entirely different directions in different armatures. E.g. in the CMU armature rest pose the pelvis points forward-down, and in the MHX rig it points straight up.
[[File:makewalk-3.png]]
If we insisted that the root bone in the MHX rig would point in the same direction as in the CMU rig, the retargeting would not be very successful, as shown in the figure above. If we instead keep the rotation offset from the rest poses, the target pose becomes much better, as shown below.
To calibrate the source and target armature against each other, MalkWalk introduces extra keyframes at frame 0, where both armatures are posed in T-pose.
[[File:mcp-ret-060-calibrate.png]]
In the rest of the animation, bones in the target armature copy the global rotations of the source armature, apart from differences present in the T-poses. In this way we can transfer animations from CMU to the MHX rig, despite the fact that the rest poses are very different.
==== Basic Workflow ====
=== Retargeting ===
The MakeWalk panels appear in the tool shelf whenever an armature is the active object. Select the armature and press the Load And Retarget button. In the file selector, select the .bvh file. We choose the file 90_04.bvh from the CMU database. It is a cartwheel animation.
[[File:makewalk-4.png]]
After a short wait, the armature is doing gymnastics.
[[File:makewalk-5.png]]
At frame 0 of the animation the armature has been placed in T-pose. This is not part of the originial .bvh file, but inserted by MakeWalk to calibrate the source armature (defined by the bvh file) and the target armature (the selected armature in the viewport) against each other.
=== Supported armatures ===
MakeWalk works with most straightforward biped rigs with FK arms and legs, such as the Rigify meta-rig. There is also built-in support for some more complex rigs: the MHX advanced rig from MakeHuman, the MHX rig from MakeHuman and Rigify.
[[File:makewalk-6.png]]
It is often possible to use MakeWalk with other complex rig, but in that case the automatic bone identification may fail. If so, a bone map must be defined manually, see -- [[Defining a Target Rig Manually]].
=== Troubleshooting ===
Retargeting is a rather involved subject, and it can sometimes result in poor motion. The process may even fail completely, usually because MakeWalk failed to automatically identify the bones of a complex rig. If this should happen, see!LINK!http://www.makehumancommunity.org/wiki/Documentation:MakeWalk#Errors_and_Corrective_Actions -- Errors and Corrective Actions!/LINK!.
==== Where to find BVH files ====
There are several different formats that mocap files can be stored in. MakeHuman's mocap tool can only deal with files in Biovision BVH format. BVH files can be bought from many commercial sources, but a large range of mocap files are also available for free download. Here are some sites I found useful.
* CMU Graphics Lab Motion Capture Database: Hosted at Carnegie-Mellon University, this is a huge library of mocap files which can be downloaded for free. The web address is!LINK!http://mocap.cs.cmu.edu/ -- http://mocap.cs.cmu.edu!/LINK!. CMU hosts mocap files in three formats: tvd, c3d and amc. However, the mocap tool can only read BVH files, so none of these files can be used directly. Fortunately, B. Hahne at!LINK!http://www.cgspeed.com/ -- www.cgspeed.com!/LINK!has converted the CMU files to BVH. The converted files are located at!LINK!http://sites.google.com/a/cgspeed.com/cgspeed/motion-capture -- http://sites.google.com/a/cgspeed.com/cgspeed/motion-capture!/LINK!.
* Advanced Computing Center for the Arts and Design (ACCAD): Hosted at the Ohio State University, this is another great source of free mocap files. BVH files can be downloaded from!LINK!https://accad.osu.edu/research/motion-lab/mocap-system-and-data -- https://accad.osu.edu/research/motion-lab/mocap-system-and-data!/LINK!
* Eyes Japan (mocapdata.com):This is a Japanese company that sells mocap data commercially, but they also offer a huge number of motions for free. According to their homepage, mocapdata.com provides 744 premium motion data and 4197 free motion data. The only catch is that downloading requires registration. Not surprisingly, the homepage of mocapdata.com has the address!LINK!http://mocapdata.com/ -- http://mocapdata.com/!/LINK!.
* The Trailer's Park: Free mocap data can also be found at the Trailer's Park,!LINK!http://www.thetrailerspark.com/ -- http://www.thetrailerspark.com!/LINK!. This site does not offer original data, but offer repacks of mocap data from other free sites for download. Free download is limited to some five packs per day, so some patience is required here.
* Hochschule der Medien, Universität Bonn (HDM):!LINK!http://www.mpi-inf.mpg.de/resources/HDM05/ -- http://www.mpi-inf.mpg.de/resources/HDM05!/LINK!
* The Perfume global site project #001:!LINK!http://perfume-dev.github.com/ -- http://perfume-dev.github.com/!/LINK!
=== MHBlenderTools: MakeWalk user interface ===
==== The user interface ====
The user > interface of MakeWalk is located in under the Armature tab, and becomes visible when an armature is selected. It consists of six panels; the first one is open by default and the others are closed.
[[File:makewalk-7_0.png]]
* Load And Retarget: Select a BVH file and retarget it to the active armature.
* Start Frame: The first frame in the BVH file to considered.
* Last Frame: The last frame to be considered, unless the animation stops earlier. The difference last_frame - first_frame is the maximal number of frames after retargeting. The number of frames in the BVH file may be larger, if some frames are skipped due to subsampling
* Detailed steps: When this options is selected, further buttons are show below
* Load BVH File (.bvh). Load a BVH file, and create an animated armature from it.
* Rename And Rescale BVH Rig. With the BVH armature active, and a target armature selected, rename and rescale the bones of the active armature to fit the target.
* Load And Rename BVH File (.bvh). A combination of the previous two buttons. With a target armature active, load a BVH file, and create an animated armature with renamed and rescaled bones.
* Retarget Selected To Active. Retarget the animation from a renamed and rescaled BVH armature to the active armature.
* Simplify FCurves. Simplify the F-curves of the active armature.
* Rescale FCurves. Rescale F-curevs of the active armature.What if retargeting fails?
MakeWalk is designed to retarget animations to a given armature with a minimum of user intervention. However, retargeting is a complex process, and entirely automatic retargeting may fail or result in suboptimal motion. Information about how to identify and correct problems is found in!LINK!/doc/node/blendertools_makewalk_troubleshooting.html -- Errors and Corrective Actions!/LINK!.
A common problem is that automatic identification of bones in the target armature fails. A bone map can then be assigned manually, cf.!LINK!/doc/node/blendertools_makewalk_troubleshooting.html -- Defining the Target Rig Manually.!/LINK!
==== Options panel ====
[[File:makewalk-8.png]]
* Use Default Subsample. Blender normally plays the animation in 24 fps or 25 fps, but the animation in the BVH file may be recorded at a different speed. In particular, the BVH files from CMU were filmed at 120 fps. Enable this option to have the animation play at natural speed, irrespective of the frame rate in the BVH file. Other subsample options are described below.
* Auto scale. Set the scale automatically based on the size of the left thigh. This choice has two motivations:
* Almost all character do have a left leg.
* The leg size is crucial for making walk cycles look good.
* Scale. The default MakeHuman scale is decimeters - 1 unit = 1 decimeter. Translations in a BVH file are expressed in different units; often the base unit is inches, meters or centimeters, but more obscure units can also occur, e.g. in BVH files from CMU. If the scale is set incorrectly, rotations will still be correctly retargeted, but the character will appear to take giant leaps or miniscule steps.
* Use Limits: If this option is enabled, MakeWalk honors any Limit Rotation constraints, and will not allow excessive rotations. If the animation in the bvh files exceeds some rotation limits, this makes the retargeted animation less faithful. On the other hand, the rig may not be built for excessive rotations, so unchecking this option can lead to other problems.
* Unlock Rotation: If this option is disabled, MakeWalk honors any rotation locks. If the animation in the bvh files bend around locked axes, this makes the retargeted animation less faithful. If Unlock Rotation is enabled, any X or Z rotation locks are disabled. Y rotation locks (bone twisting) are never disabled. The reason for this is that in the MHX and Rigify rigs, forearm rotation is handled by deform bones controlled by hand twisting.
* Auto source rig. The source rig (i.e. the armature defined by the BVH file) is specified in the!LINK!/doc/node/blendertools_makewalk_source_and_target_armature.html -- Source Armature panel!/LINK!. Enable this option if the mocap tool should attempt to automatically identify the source rig, based on the structure of the bone hierarchy.
* Auto target rig. The target rig (i.e. the armature in the blend file) is specified in the!LINK!/doc/node/blendertools_makewalk_source_and_target_armature.html -- Target Armature panel!/LINK!. Enable this option if the mocap tool should attempt to automatically identify the target rig, based on the structure of the bone hierarchy.
* Ignore Hidden Layers. Ignore bones on hidden layers when identifying the target rig.
=== Subsample and Rescale ===
If the Use Default Subsample option is set, the mocap tool will rescale the animation to fit the current frame rate. However, there are at least two reasons why you may want to load an animation at a different frame rate:
* * To obtain a slow-motion or rapid-motion effect.
* To quickly load an animation to see if the gross features will work out.
If the Use Default Subsample option is disabled, the SubSample section becomes visible.
* Subsample. Enable subsampling.
* Subsample Factor. If the value of this property is n, only every n:th frame of the BVH animation is loaded.
* Rescale. Enable rescaling.
* Rescale Factor. If the value of this property is n, the time distance between keyframes is changed to n.
* Rescale FCurves. Apply the settings above to existing F-curves rather than to the loaded animation.
Rescaling differs from simply scaling F-curves in the F-curve editor.
=== Simplification ===
* Simplify FCurves. Remove unnecessary keyframes.
* Max Loc Error. The maximal allowed error for location keyframes, in Blender units. A larger error results in fewer keyframes but less accuracy.
* Max Rot Error. The maximal allowed error for rotation keyframes, in degrees. A larger error results in fewer keyframes but less accuracy.
* Only Visible. Simplification only affect F-curves visible in the Graph editor.
* Only Between Markers. Simplification only affects F-curves between the two outermost selected markers. The timeline must have at least two selected markers.
==== Edit panel ====
Loading and retargeting is normally only the first step in the creation of an animation from mocap data. There are many reasons why a loaded animation does not behave exactly the way you want it to: artifacts in the mocap data, differences in armature structure not compensated for correctly by the retargeting process, differences in body stature between the mocap actor and the target character, or simply that the filmed sequence does not do exactly what you intend.. It is of course possible to edit the action directly in the graph editor, but this is unpractical due to the amount of mocap data. The mocap tool offers several possibilities to edit an action at a higher level. These tools are colleted in the Edit Action panel which is located just below the Options panel.
[[File:edit-action.png]]
=== Inverse Kinematics ===
* Transfer FK => IK: The load and retarget steps transfers an animation from a bvh file to the target character. However, only the FK bones are animated. Press this button to transfer the FK animation to the IK bones. Only works for the advanced MHX armature. If two markers are selected, only the animation between the markers is transferred.
* Transfer IK => FK: Transfer the animation back from the IK bones to the FK bones. Useful if the IK animation has been edited,
* Clear IK Animation: Remove all keyframes from all IK bones (arms and legs).
* Clear FK Animation: Remove all keyframes from all FK bones (arms and legs).
=== Global Edit ===
* Shift Animation. Shift the keys for the selected bones at all keyframes.If two markers are selected, only the keyframes between the markers are deleted.
* X,Y,Z: F-curves affected by the next button.
* Fixate Bone Locations:Replace all location keys by their average. Only selected bones and keyframes between selected markers are affected.
* Rescale Factor: Factor used by next button.
* Rescale FCurves: Rescale all F-curves by the factor above. This is similar to scaling F-curves in the curve editor, but jumps are treated correctly. E.g., rotations of +180 degrees and -180 degrees are the same, but if we scale an F-curve with a factor two, the intermedate keyframe will have the average rotation 0 degrees, The Rescale FCurves button handles this case correctly.
=== Local Edit ===
This section could be called "Poor man's animation layers". A loaded mocap animation usually has imperfections that must be edited, but without changing the overall feel of the motion. The Start Edit button creates a new animation layer where differences from the original motion are stored as keys, called delta keys since delta often denotes a difference.
* Start Edit: Start editing F-curves.
* Undo Edit: Quit F-curve editing, without modifying the original F-curves.
* Loc: Set a location delta keyframe.
* Rot: Set a rotation delta keyframe.
* LocRot: Set a location and rotation delta keyframe.
* Delete: Remove all delta keyframes at the current time.
* |<: Move to first delta keyframe
* <: Move to previous delta keyframe.
* >: Move to next delta keyframe.
* >|: Move to last delta keyframe.
* Confirm Edit: Modify the original F-curves and quit F-curve editing.
The delta keys are represented by markers in the timeline.
[[File:mwe-315-local-keys.png]]
A delta key can be added with the Loc, Rot and LocRot buttons, and removed with Delete. There is no way to view the delta keys directly. In the viewport and the curve editor, the final pose is shown, which is the sum of the original pose and the delta key.
A common use for delta keys is to correct for intersection with other objects or the character herself. The typical workflow is as follows:
* * Start Edit.
* Set a delta key at a good frame just before the intersection.
* Set a delta key at a good frame just after the intersection.
* Edit the pose a the frame(s) where intersection occurs.
* If the intersection has been removed, Confirm Edit. If not, set new delta keys until it has, or Undo Edit to remove the delta layer.
=== Feet ===
* Left: Affect the left foot.
* Right: Affect the right foot.
* Hips: Affect the characters hip (COM) bone.
* Offset Toes: Ensure that the toe is below the ball of the foot at all keyframes. Primarily useful for rigs with a reverse foot setup as explained below.
* Keep Feet Above Floor: If a mesh object (typically a plane) is selected, shift the keyframes to keep the affected feet above the plane. The plane does not necessarily lie in the XY plane; if the plane is tilted, the feet are kept on the plane's upper side. If no plane is selected, the feet are kept above the XY plane (z = 0). The IK feet are affected if the rig has and uses IK legs, otherwise the FK feet are kept above the floor. If two markers are selected, only the keyframes inbetween are shifted.
In a rig with a reverse foot setup, such as the MHX rig, the foot can rotate around the toe, ball, and heel. The reverse foot and toe bones are completely fixed by the corresponding FK bones, but the IK effector can be placed arbitrarily, as long as it ends at the toe tip. The transfer tool uses this freedom to make the IK effector perfectly horizontal, provided that the toe is below the ball and heel.
[[File:refoot.png]]
To use this feature we must ensure that the toe is below the ball of the foot, which is done by the Offset Toes button.
=== Loop And Repeat ===
!LINK! -- Loop Animation!/LINK!
Create a loop of the action between two selected time markers, by blending the keyframes in the beginning and end of the loop. This is useful e.g. to create walk and run cycles for games. For good results, the poses at the beginning and end of the selected region should be similar.
* Blend Range: The number of keyframes used for blending.
* Loop in place: Remove the X and Y components of the root bone's location.
* Loop F-curves: Loop the animation.
!LINK! -- Repeat Animation!/LINK!
Repeat the action between two selected time markers. The actions should preferably be looped before it is repeated, to make the beginning and end match seamlessly.
* Repeat Number: The number of repetitions.
* Repeat F-curves: Repeat the animation.
=== Stitching ===
Create a new action by stitching two actions together seamlessly.
* Update Action List: Update the first and second action drop-down lists.
* First Action: The name of the first action.
* First End Frame: Last frame of the first action
* Set Current Action: Set the first action as the current action.
* Second Action: The name of the second action.
* Second Start Frame: First frame of the second action.
* Set Current Action: Set the second action as the current action.
* Action Target: Choose between creating a new action and prepending the second action.
* Blend Range: The number of keyframes used for blending. Same parameter as in Loop Animations section.
* Output Action Name:
* Stitch Actions: Stitch the actions together.
=== MHBlenderTools: MakeWalk armatures ===
==== Source Armature panel ====
MakeWalk transfers an animation from a source armature, defined in a bvh file, to a given target armature. It uses an intermediate standard rig described in!LINK!http://makehuman.org/doc/node/defining_the_target_rig_manually.html -- Defining the Target Rig Manually!/LINK!. The bone map from the source armature to the target armature hence consists of two parts:
* A map from the source rig to the standard rig. It is defined in the MakeWalk: Source Armature panel.
* A map from the target rig to the standard rig. It is defined in the!LINK!http://makehuman.org/doc/node/makewalk_target_armature_panel.html -- MakeWalk: Target Armature panel!/LINK!.
[[File:mws-010-panel.png]]
When a new scene is opened, the panel consists of the single button Initialize Source Panel. Once this button has been pressed, the following content is available:
[[File:mws-020-auto.png]]
* Reinit Source Panel: Reinitialization.
* Auto Source Rig: If this option is enabled, MakeWalk will try to identify the source rig automatically. It may happen that MakeWalk fails to identify the source rig automatically, but this is very unusual. If it should nevertheless happen, it is possible to define the bone map manually in analogy with !LINK!http://makehuman.org/doc/node/defining_the_target_rig_manually.html -- how it is done for target rigs!/LINK!.
* Source rig. A list of bvh rigs recognized by the mocap tool. This either defines the expected source rig (if Auto Source Rig is disabled) or to Automatic.
* Bones in the active source rig.
==== Target Armature panel ====
The second part of the mapping from source to target armatures is defined by the panel labelled MH Mocap: Target armature. It is the top-most of the mocap tool panels, and is closed by default.
When a new scene is opened, the panel consists of the single button Initialize Target Panel. Once this button has been pressed, the following content is available:
[[File:mwt-011-panel.png]]
* Reinit Target Panel. Reinitialization.
* Target rig. A list of bvh rigs recognized by the mocap tool. This either defines the expected Target rig (if Auto Target rig guessing is disabled), or is set to a matching rig (if automatic target rig identificiation is enabled).
* Auto Target Rig. If this option is enabled, MakeWalk will try to identify the target rig automatically. However, automatic rig identification is not trivial for complex rigs, and it may fail. If so, the bone map may be specified manually, cf!LINK!http://makehuman.org/doc/node/defining_the_target_rig_manually.html -- Defining the Target Rig Manually!/LINK!. If the bone map is defined. The target rigs available by default correspond mostly to the rig presets that can be exported from MakeHuman
* MHX. An advanced rig from MakeHuman alpha 8.
* MH Alpha 7. The MHX rig from MakeHuman alpha 7.
* Rigify.
* Ignore Hidden Layers: Ignore bones on hidden layers during automatic rig identification.
* Reverse Hip. Select this option if the armature has an reverse hip. It is rather common that an armature has a reverse hip. In a normal hip setup, the armature root is the hip or pelvis bone, and the thighs and the rest of the spine are children of this bone. In a reverse hip setup, the first bone in the spine has been reversed. There is a separate root bone, and the two lowest bones in the spine are both children of thise root, whereas the thighs are children of the reversed hip.
* Identify Target Rig: Identify the target rig, i.e. find out how bone names in the active armature correspond to the internal names. This step is performed automatically during retargeting, but the identification can also be done separately for debugging purposes. The bone map appears in the area called FK bones below.
* Set T-pose. Pose the active armature in T-pose.
* Save T-pose. Option used by the next button.
* Save Target File. Save the current bone map as a .trg file. If the Save T-pose option is set, also save a json file defining the T-pose.
* FK bones. The bone map.
The picture below shows automatic rig identification of the Rigify meta-rig (Add > Armature > Advanced Human).
[[File:mwt-020-metarig.png]]
=== MHBlenderTools: MakeWalk troubleshooting. ===
==== What if retargeting fails? ====
=== Errors and Corrective Actions ===
This document will describe common errors and corrective actions.
It may happen that MakeWalk fails to retarget an animation to a given armature. In that case an error message is displayed.
[[File:mwa-100-error.png]]
The error message consists of the following:
Mocap error
Category
Detailed error message
A link to this page
MakeWalk errors are grouped into the following categories:
* Load Bvh File
* Rename And Rescale
* Identify Target Rig
* Automatic Target Rig
* Manual Target Rig
* Identify Source Rig
* Retarget
* General Error
Load Bvh File
Rename And Rescale
Identify Target Rig
=== Automatic Target Rig ===
The most common problem is probably that MakeWalk fails to identify the target rig automatically. There are several possible reasons for this:
* The character is not oriented correctly. In the rest pose, the character should be standing with up being the positive Z axis and facing -Y.
* The armature is complex with extra bones not corresponding to a standard biped rig.
* The armature only has IK arms or legs. MakeWalk retargets animations to the FK limbs, so if no such bones exist, the program will not work.
[[File:mwa-110-reverse-hip.png]]
It is rather common that an armature has a reverse hip. In a normal hip setup, the armature root is the hip or pelvis bone, and the thighs and the rest of the spine are children of this bone. In a reverse hip setup, the first bone in the spine has been reversed. There is a separate root bone, and the two lowest bones in the spine are both children of thise root, whereas the thighs are children of the reversed hip.
[[File:mwa-120-reversehip.png]]
The advantage of such a setup is that the upper and lower body can be posed independently. However, MakeWalk failes to identify the bones, unless the Reverse Hip option has been enabled.
If automatic bone identification still fails, bone mapping has to be made manually. How this is done is described in the next section.
=== Defining the Target Rig Manually ===
Internally, MakeWalk retargets animations to an armature with the following bone hierarchy.
Here is a visual illustration of the bone hierarchy:
[[File:mwa-010-armature.png]]
In order to retarget to an armature with different bone names, we must define a map between the given bones and the internal names. By default, MakeWalk attempts to do this automatically. However, automatic bone mapping may easily be confused for non-trivial rigs. If this happens, one can define the bone map manually.
A bone map for a target armature is defined by a .trg file located in the target_rigs folder under the makewalk directory. The folder already contains three files, for retargeting the MHX advanced rig, the MakeHuman, and Rigify. These rigs are too complicated to identify the bone map automatically, so MakeWalk recognizes these rigs and use the predefined bone map.
Create a .trg file using an existing file as a template. E.g., a .trg file could look like this:
Note that it is not necessary to define maps to all bones. Bone names must not contain spaces, since whitespace is used as a delimiter in the .trg file. If the bones in your armature do contain spaces, replace them by underscore ( _ ). MakeWalk treats space and underscore as equivalent, so this is not a problem, except for very strange naming convention.
[[File:mwa-020-myrig.png]]
Save the .trg file with the name my_rig.trg in the target_rigs folder and press the Reinit Target Panel button. My_Rig should now appear in the Target rig list. Select it. In the FK bones sections, the My_Rig bone names are now listed. Make sure that the Auto Target Rig option is deselected, to override automatic bone mapping. Finally go to the main panel and press Load And Retarget. The animation should now be loaded.
=== MHBlenderTools: MakeWalk utilities ===
==== Utilities panel ====
This panel contains material that does not naturally fit into the other panels.
[[File:mwu-010-panel.png]]
=== Default Settings ===
* Save Defaults: Save current settings as the default settings.
* Load Defaults: Load the default settings from file.
=== Manage Actions ===
* Actions: A list of all actions in the scene, at the time when the Update Action List button was last pressed.
* Filter: If selected, only actions belonging to the active character are included in the action list. When the mocap tool creates an action, the first four letters in the action name are taken from the rig name.
* Update Action List:
* Set Current Action: Set the action selected in the Actions list as the active action.
* Delete Action: Permanently delete the action selected in the Actions list. The action must have zero users. It is quite cumbersome to permanently delete actions in Blender. The reason is that creating an action with hand animation takes much work, which should not be lost accidentally. The situation is different with mocap, where it is easy to fill up a blend file with many irrelevant actions. This button makes it easier to clean out such junk motions.
* Delete Temporary Actions: Some tools create temporary actions, whose names start with a hash sign (#). Deletes all such actions.
=== Temporary properties ===
* Delete Temporary Properties. MakeWalk creates some properties for relevant posebones during retargeting. Pressing this button removes these properties. However, be aware that some of the tools in the Edit panel may fail if the temporrary properties are deleted.
The temporary properties for the active posebone can be inspected in the N-panel.
[[File:mwu-030-temp-props.png]]
* McpBone: The name of this bone in the internal hierarchy.
* McpParent: The parent of this bone in the internal hierarchy.
* McpQuatW, McpQuatX, McpQuatY, McpQuatZ: The rotation of this bone in T-pose, represented as a quaternion.
=== T-pose ===
* Set T-pose: Set the current pose to T-pose.
* Clear T-pose: Set the current pose to the default pose.
* Load T-pose: Load a T-pose from a .json file to the active armature.
* Save T-pose: Save the current pose as a .json file.
=== Rest Pose ===
* Current Pose => Rest Pose: Set the current pose to rest pose.
4852916263127615d4917c928f5d51ff741feb9c
2147
1354
2022-11-13T19:18:37Z
Coz
122
Fixed broken ACCAD-BHV link
wikitext
text/x-wiki
====== NOTE ======
There is a wealth of important information in this document, but some of the detail is badly out of date. Most of the fundamental information is quite usable, nevertheless. Things that need repairing:
* Broken links
* Reference to armatures in older version of MakeHuman
* The MakeWalk tool is now found as a tab on the T-side-panel in Blender
------------------------------------
MakeWalk is a Blender add-on for retargeting mocap data (.bvh files) to a given armature.
==== Retargeting: how it works ====
The goal of retargeting is to transfer a motion from a source armature (e.g. from a BVH file) to a given target armature (e.g. the MHX rig). However, it is not straightforward to assign the source action to the target rig, even if the bones have identical names. The motion of each bone is specified in local coordinates, relative to the parent and the bone's own rest pose. If the rest poses of the source and target armatures differ, the source F-curves can not be used directly by the target armature.
[[File:makewalk-1.png]]
The picture above shows a transformation in the local coordinate system. Since the parent's local Y points along its axis and its local Z points up, the child bone is rotated around the local X axis. This is not very useful if the target armature has a diffent rest pose. To retarget the pose, we therefore reexpress the transformation in the global coordinate system, as shown below. The local X rotation corresponds to a global Y rotation, and by a different angle. Once the global transformation matrix is known, we can reexpress it in the target bone's local coordinate system.
The retargeting process thus consists of making two coordinate transformations:
Source local => Global => Target local.
This will ensure that the source bone and the target bone will have the same global orientation.
[[File:makewalk_2.png]]
Unfortunately, things are a little more complicated. We do not always want the source and target bones to have identical orientation. In particular, the root or pelvis bone may point in entirely different directions in different armatures. E.g. in the CMU armature rest pose the pelvis points forward-down, and in the MHX rig it points straight up.
[[File:makewalk-3.png]]
If we insisted that the root bone in the MHX rig would point in the same direction as in the CMU rig, the retargeting would not be very successful, as shown in the figure above. If we instead keep the rotation offset from the rest poses, the target pose becomes much better, as shown below.
To calibrate the source and target armature against each other, MalkWalk introduces extra keyframes at frame 0, where both armatures are posed in T-pose.
[[File:mcp-ret-060-calibrate.png]]
In the rest of the animation, bones in the target armature copy the global rotations of the source armature, apart from differences present in the T-poses. In this way we can transfer animations from CMU to the MHX rig, despite the fact that the rest poses are very different.
==== Basic Workflow ====
=== Retargeting ===
The MakeWalk panels appear in the tool shelf whenever an armature is the active object. Select the armature and press the Load And Retarget button. In the file selector, select the .bvh file. We choose the file 90_04.bvh from the CMU database. It is a cartwheel animation.
[[File:makewalk-4.png]]
After a short wait, the armature is doing gymnastics.
[[File:makewalk-5.png]]
At frame 0 of the animation the armature has been placed in T-pose. This is not part of the originial .bvh file, but inserted by MakeWalk to calibrate the source armature (defined by the bvh file) and the target armature (the selected armature in the viewport) against each other.
=== Supported armatures ===
MakeWalk works with most straightforward biped rigs with FK arms and legs, such as the Rigify meta-rig. There is also built-in support for some more complex rigs: the MHX advanced rig from MakeHuman, the MHX rig from MakeHuman and Rigify.
[[File:makewalk-6.png]]
It is often possible to use MakeWalk with other complex rig, but in that case the automatic bone identification may fail. If so, a bone map must be defined manually, see -- [[Defining a Target Rig Manually]].
=== Troubleshooting ===
Retargeting is a rather involved subject, and it can sometimes result in poor motion. The process may even fail completely, usually because MakeWalk failed to automatically identify the bones of a complex rig. If this should happen, see!LINK!http://www.makehumancommunity.org/wiki/Documentation:MakeWalk#Errors_and_Corrective_Actions -- Errors and Corrective Actions!/LINK!.
==== Where to find BVH files ====
There are several different formats that mocap files can be stored in. MakeHuman's mocap tool can only deal with files in Biovision BVH format. BVH files can be bought from many commercial sources, but a large range of mocap files are also available for free download. Here are some sites I found useful.
* CMU Graphics Lab Motion Capture Database: Hosted at Carnegie-Mellon University, this is a huge library of mocap files which can be downloaded for free. The web address is!LINK!http://mocap.cs.cmu.edu/ -- http://mocap.cs.cmu.edu!/LINK!. CMU hosts mocap files in three formats: tvd, c3d and amc. However, the mocap tool can only read BVH files, so none of these files can be used directly. Fortunately, B. Hahne at!LINK!http://www.cgspeed.com/ -- www.cgspeed.com!/LINK!has converted the CMU files to BVH. The converted files are located at!LINK!http://sites.google.com/a/cgspeed.com/cgspeed/motion-capture -- http://sites.google.com/a/cgspeed.com/cgspeed/motion-capture!/LINK!.
* Advanced Computing Center for the Arts and Design (ACCAD): Hosted at the Ohio State University, this is another great source of free mocap files. BVH files can be downloaded from!LINK!https://accad.osu.edu/research/motion-lab/mocap-system-and-data -- https://accad.osu.edu/research/motion-lab/mocap-system-and-data!/LINK!
* Eyes Japan (mocapdata.com):This is a Japanese company that sells mocap data commercially, but they also offer a huge number of motions for free. According to their homepage, mocapdata.com provides 744 premium motion data and 4197 free motion data. The only catch is that downloading requires registration. Not surprisingly, the homepage of mocapdata.com has the address!LINK!http://www.mocapdata.com/ -- http://www.mocapdata.com/!/LINK!.
* The Trailer's Park: Free mocap data can also be found at the Trailer's Park,!LINK!http://www.thetrailerspark.com/ -- http://www.thetrailerspark.com!/LINK!. This site does not offer original data, but offer repacks of mocap data from other free sites for download. Free download is limited to some five packs per day, so some patience is required here.
* Hochschule der Medien, Universität Bonn (HDM):!LINK!http://www.mpi-inf.mpg.de/resources/HDM05/ -- http://www.mpi-inf.mpg.de/resources/HDM05!/LINK!
* The Perfume global site project #001:!LINK!http://perfume-dev.github.com/ -- http://perfume-dev.github.com/!/LINK!
=== MHBlenderTools: MakeWalk user interface ===
==== The user interface ====
The user > interface of MakeWalk is located in under the Armature tab, and becomes visible when an armature is selected. It consists of six panels; the first one is open by default and the others are closed.
[[File:makewalk-7_0.png]]
* Load And Retarget: Select a BVH file and retarget it to the active armature.
* Start Frame: The first frame in the BVH file to considered.
* Last Frame: The last frame to be considered, unless the animation stops earlier. The difference last_frame - first_frame is the maximal number of frames after retargeting. The number of frames in the BVH file may be larger, if some frames are skipped due to subsampling
* Detailed steps: When this options is selected, further buttons are show below
* Load BVH File (.bvh). Load a BVH file, and create an animated armature from it.
* Rename And Rescale BVH Rig. With the BVH armature active, and a target armature selected, rename and rescale the bones of the active armature to fit the target.
* Load And Rename BVH File (.bvh). A combination of the previous two buttons. With a target armature active, load a BVH file, and create an animated armature with renamed and rescaled bones.
* Retarget Selected To Active. Retarget the animation from a renamed and rescaled BVH armature to the active armature.
* Simplify FCurves. Simplify the F-curves of the active armature.
* Rescale FCurves. Rescale F-curevs of the active armature.What if retargeting fails?
MakeWalk is designed to retarget animations to a given armature with a minimum of user intervention. However, retargeting is a complex process, and entirely automatic retargeting may fail or result in suboptimal motion. Information about how to identify and correct problems is found in!LINK!/doc/node/blendertools_makewalk_troubleshooting.html -- Errors and Corrective Actions!/LINK!.
A common problem is that automatic identification of bones in the target armature fails. A bone map can then be assigned manually, cf.!LINK!/doc/node/blendertools_makewalk_troubleshooting.html -- Defining the Target Rig Manually.!/LINK!
==== Options panel ====
[[File:makewalk-8.png]]
* Use Default Subsample. Blender normally plays the animation in 24 fps or 25 fps, but the animation in the BVH file may be recorded at a different speed. In particular, the BVH files from CMU were filmed at 120 fps. Enable this option to have the animation play at natural speed, irrespective of the frame rate in the BVH file. Other subsample options are described below.
* Auto scale. Set the scale automatically based on the size of the left thigh. This choice has two motivations:
* Almost all character do have a left leg.
* The leg size is crucial for making walk cycles look good.
* Scale. The default MakeHuman scale is decimeters - 1 unit = 1 decimeter. Translations in a BVH file are expressed in different units; often the base unit is inches, meters or centimeters, but more obscure units can also occur, e.g. in BVH files from CMU. If the scale is set incorrectly, rotations will still be correctly retargeted, but the character will appear to take giant leaps or miniscule steps.
* Use Limits: If this option is enabled, MakeWalk honors any Limit Rotation constraints, and will not allow excessive rotations. If the animation in the bvh files exceeds some rotation limits, this makes the retargeted animation less faithful. On the other hand, the rig may not be built for excessive rotations, so unchecking this option can lead to other problems.
* Unlock Rotation: If this option is disabled, MakeWalk honors any rotation locks. If the animation in the bvh files bend around locked axes, this makes the retargeted animation less faithful. If Unlock Rotation is enabled, any X or Z rotation locks are disabled. Y rotation locks (bone twisting) are never disabled. The reason for this is that in the MHX and Rigify rigs, forearm rotation is handled by deform bones controlled by hand twisting.
* Auto source rig. The source rig (i.e. the armature defined by the BVH file) is specified in the!LINK!/doc/node/blendertools_makewalk_source_and_target_armature.html -- Source Armature panel!/LINK!. Enable this option if the mocap tool should attempt to automatically identify the source rig, based on the structure of the bone hierarchy.
* Auto target rig. The target rig (i.e. the armature in the blend file) is specified in the!LINK!/doc/node/blendertools_makewalk_source_and_target_armature.html -- Target Armature panel!/LINK!. Enable this option if the mocap tool should attempt to automatically identify the target rig, based on the structure of the bone hierarchy.
* Ignore Hidden Layers. Ignore bones on hidden layers when identifying the target rig.
=== Subsample and Rescale ===
If the Use Default Subsample option is set, the mocap tool will rescale the animation to fit the current frame rate. However, there are at least two reasons why you may want to load an animation at a different frame rate:
* * To obtain a slow-motion or rapid-motion effect.
* To quickly load an animation to see if the gross features will work out.
If the Use Default Subsample option is disabled, the SubSample section becomes visible.
* Subsample. Enable subsampling.
* Subsample Factor. If the value of this property is n, only every n:th frame of the BVH animation is loaded.
* Rescale. Enable rescaling.
* Rescale Factor. If the value of this property is n, the time distance between keyframes is changed to n.
* Rescale FCurves. Apply the settings above to existing F-curves rather than to the loaded animation.
Rescaling differs from simply scaling F-curves in the F-curve editor.
=== Simplification ===
* Simplify FCurves. Remove unnecessary keyframes.
* Max Loc Error. The maximal allowed error for location keyframes, in Blender units. A larger error results in fewer keyframes but less accuracy.
* Max Rot Error. The maximal allowed error for rotation keyframes, in degrees. A larger error results in fewer keyframes but less accuracy.
* Only Visible. Simplification only affect F-curves visible in the Graph editor.
* Only Between Markers. Simplification only affects F-curves between the two outermost selected markers. The timeline must have at least two selected markers.
==== Edit panel ====
Loading and retargeting is normally only the first step in the creation of an animation from mocap data. There are many reasons why a loaded animation does not behave exactly the way you want it to: artifacts in the mocap data, differences in armature structure not compensated for correctly by the retargeting process, differences in body stature between the mocap actor and the target character, or simply that the filmed sequence does not do exactly what you intend.. It is of course possible to edit the action directly in the graph editor, but this is unpractical due to the amount of mocap data. The mocap tool offers several possibilities to edit an action at a higher level. These tools are colleted in the Edit Action panel which is located just below the Options panel.
[[File:edit-action.png]]
=== Inverse Kinematics ===
* Transfer FK => IK: The load and retarget steps transfers an animation from a bvh file to the target character. However, only the FK bones are animated. Press this button to transfer the FK animation to the IK bones. Only works for the advanced MHX armature. If two markers are selected, only the animation between the markers is transferred.
* Transfer IK => FK: Transfer the animation back from the IK bones to the FK bones. Useful if the IK animation has been edited,
* Clear IK Animation: Remove all keyframes from all IK bones (arms and legs).
* Clear FK Animation: Remove all keyframes from all FK bones (arms and legs).
=== Global Edit ===
* Shift Animation. Shift the keys for the selected bones at all keyframes.If two markers are selected, only the keyframes between the markers are deleted.
* X,Y,Z: F-curves affected by the next button.
* Fixate Bone Locations:Replace all location keys by their average. Only selected bones and keyframes between selected markers are affected.
* Rescale Factor: Factor used by next button.
* Rescale FCurves: Rescale all F-curves by the factor above. This is similar to scaling F-curves in the curve editor, but jumps are treated correctly. E.g., rotations of +180 degrees and -180 degrees are the same, but if we scale an F-curve with a factor two, the intermedate keyframe will have the average rotation 0 degrees, The Rescale FCurves button handles this case correctly.
=== Local Edit ===
This section could be called "Poor man's animation layers". A loaded mocap animation usually has imperfections that must be edited, but without changing the overall feel of the motion. The Start Edit button creates a new animation layer where differences from the original motion are stored as keys, called delta keys since delta often denotes a difference.
* Start Edit: Start editing F-curves.
* Undo Edit: Quit F-curve editing, without modifying the original F-curves.
* Loc: Set a location delta keyframe.
* Rot: Set a rotation delta keyframe.
* LocRot: Set a location and rotation delta keyframe.
* Delete: Remove all delta keyframes at the current time.
* |<: Move to first delta keyframe
* <: Move to previous delta keyframe.
* >: Move to next delta keyframe.
* >|: Move to last delta keyframe.
* Confirm Edit: Modify the original F-curves and quit F-curve editing.
The delta keys are represented by markers in the timeline.
[[File:mwe-315-local-keys.png]]
A delta key can be added with the Loc, Rot and LocRot buttons, and removed with Delete. There is no way to view the delta keys directly. In the viewport and the curve editor, the final pose is shown, which is the sum of the original pose and the delta key.
A common use for delta keys is to correct for intersection with other objects or the character herself. The typical workflow is as follows:
* * Start Edit.
* Set a delta key at a good frame just before the intersection.
* Set a delta key at a good frame just after the intersection.
* Edit the pose a the frame(s) where intersection occurs.
* If the intersection has been removed, Confirm Edit. If not, set new delta keys until it has, or Undo Edit to remove the delta layer.
=== Feet ===
* Left: Affect the left foot.
* Right: Affect the right foot.
* Hips: Affect the characters hip (COM) bone.
* Offset Toes: Ensure that the toe is below the ball of the foot at all keyframes. Primarily useful for rigs with a reverse foot setup as explained below.
* Keep Feet Above Floor: If a mesh object (typically a plane) is selected, shift the keyframes to keep the affected feet above the plane. The plane does not necessarily lie in the XY plane; if the plane is tilted, the feet are kept on the plane's upper side. If no plane is selected, the feet are kept above the XY plane (z = 0). The IK feet are affected if the rig has and uses IK legs, otherwise the FK feet are kept above the floor. If two markers are selected, only the keyframes inbetween are shifted.
In a rig with a reverse foot setup, such as the MHX rig, the foot can rotate around the toe, ball, and heel. The reverse foot and toe bones are completely fixed by the corresponding FK bones, but the IK effector can be placed arbitrarily, as long as it ends at the toe tip. The transfer tool uses this freedom to make the IK effector perfectly horizontal, provided that the toe is below the ball and heel.
[[File:refoot.png]]
To use this feature we must ensure that the toe is below the ball of the foot, which is done by the Offset Toes button.
=== Loop And Repeat ===
!LINK! -- Loop Animation!/LINK!
Create a loop of the action between two selected time markers, by blending the keyframes in the beginning and end of the loop. This is useful e.g. to create walk and run cycles for games. For good results, the poses at the beginning and end of the selected region should be similar.
* Blend Range: The number of keyframes used for blending.
* Loop in place: Remove the X and Y components of the root bone's location.
* Loop F-curves: Loop the animation.
!LINK! -- Repeat Animation!/LINK!
Repeat the action between two selected time markers. The actions should preferably be looped before it is repeated, to make the beginning and end match seamlessly.
* Repeat Number: The number of repetitions.
* Repeat F-curves: Repeat the animation.
=== Stitching ===
Create a new action by stitching two actions together seamlessly.
* Update Action List: Update the first and second action drop-down lists.
* First Action: The name of the first action.
* First End Frame: Last frame of the first action
* Set Current Action: Set the first action as the current action.
* Second Action: The name of the second action.
* Second Start Frame: First frame of the second action.
* Set Current Action: Set the second action as the current action.
* Action Target: Choose between creating a new action and prepending the second action.
* Blend Range: The number of keyframes used for blending. Same parameter as in Loop Animations section.
* Output Action Name:
* Stitch Actions: Stitch the actions together.
=== MHBlenderTools: MakeWalk armatures ===
==== Source Armature panel ====
MakeWalk transfers an animation from a source armature, defined in a bvh file, to a given target armature. It uses an intermediate standard rig described in!LINK!http://makehuman.org/doc/node/defining_the_target_rig_manually.html -- Defining the Target Rig Manually!/LINK!. The bone map from the source armature to the target armature hence consists of two parts:
* A map from the source rig to the standard rig. It is defined in the MakeWalk: Source Armature panel.
* A map from the target rig to the standard rig. It is defined in the!LINK!http://makehuman.org/doc/node/makewalk_target_armature_panel.html -- MakeWalk: Target Armature panel!/LINK!.
[[File:mws-010-panel.png]]
When a new scene is opened, the panel consists of the single button Initialize Source Panel. Once this button has been pressed, the following content is available:
[[File:mws-020-auto.png]]
* Reinit Source Panel: Reinitialization.
* Auto Source Rig: If this option is enabled, MakeWalk will try to identify the source rig automatically. It may happen that MakeWalk fails to identify the source rig automatically, but this is very unusual. If it should nevertheless happen, it is possible to define the bone map manually in analogy with !LINK!http://makehuman.org/doc/node/defining_the_target_rig_manually.html -- how it is done for target rigs!/LINK!.
* Source rig. A list of bvh rigs recognized by the mocap tool. This either defines the expected source rig (if Auto Source Rig is disabled) or to Automatic.
* Bones in the active source rig.
==== Target Armature panel ====
The second part of the mapping from source to target armatures is defined by the panel labelled MH Mocap: Target armature. It is the top-most of the mocap tool panels, and is closed by default.
When a new scene is opened, the panel consists of the single button Initialize Target Panel. Once this button has been pressed, the following content is available:
[[File:mwt-011-panel.png]]
* Reinit Target Panel. Reinitialization.
* Target rig. A list of bvh rigs recognized by the mocap tool. This either defines the expected Target rig (if Auto Target rig guessing is disabled), or is set to a matching rig (if automatic target rig identificiation is enabled).
* Auto Target Rig. If this option is enabled, MakeWalk will try to identify the target rig automatically. However, automatic rig identification is not trivial for complex rigs, and it may fail. If so, the bone map may be specified manually, cf!LINK!http://makehuman.org/doc/node/defining_the_target_rig_manually.html -- Defining the Target Rig Manually!/LINK!. If the bone map is defined. The target rigs available by default correspond mostly to the rig presets that can be exported from MakeHuman
* MHX. An advanced rig from MakeHuman alpha 8.
* MH Alpha 7. The MHX rig from MakeHuman alpha 7.
* Rigify.
* Ignore Hidden Layers: Ignore bones on hidden layers during automatic rig identification.
* Reverse Hip. Select this option if the armature has an reverse hip. It is rather common that an armature has a reverse hip. In a normal hip setup, the armature root is the hip or pelvis bone, and the thighs and the rest of the spine are children of this bone. In a reverse hip setup, the first bone in the spine has been reversed. There is a separate root bone, and the two lowest bones in the spine are both children of thise root, whereas the thighs are children of the reversed hip.
* Identify Target Rig: Identify the target rig, i.e. find out how bone names in the active armature correspond to the internal names. This step is performed automatically during retargeting, but the identification can also be done separately for debugging purposes. The bone map appears in the area called FK bones below.
* Set T-pose. Pose the active armature in T-pose.
* Save T-pose. Option used by the next button.
* Save Target File. Save the current bone map as a .trg file. If the Save T-pose option is set, also save a json file defining the T-pose.
* FK bones. The bone map.
The picture below shows automatic rig identification of the Rigify meta-rig (Add > Armature > Advanced Human).
[[File:mwt-020-metarig.png]]
=== MHBlenderTools: MakeWalk troubleshooting. ===
==== What if retargeting fails? ====
=== Errors and Corrective Actions ===
This document will describe common errors and corrective actions.
It may happen that MakeWalk fails to retarget an animation to a given armature. In that case an error message is displayed.
[[File:mwa-100-error.png]]
The error message consists of the following:
Mocap error
Category
Detailed error message
A link to this page
MakeWalk errors are grouped into the following categories:
* Load Bvh File
* Rename And Rescale
* Identify Target Rig
* Automatic Target Rig
* Manual Target Rig
* Identify Source Rig
* Retarget
* General Error
Load Bvh File
Rename And Rescale
Identify Target Rig
=== Automatic Target Rig ===
The most common problem is probably that MakeWalk fails to identify the target rig automatically. There are several possible reasons for this:
* The character is not oriented correctly. In the rest pose, the character should be standing with up being the positive Z axis and facing -Y.
* The armature is complex with extra bones not corresponding to a standard biped rig.
* The armature only has IK arms or legs. MakeWalk retargets animations to the FK limbs, so if no such bones exist, the program will not work.
[[File:mwa-110-reverse-hip.png]]
It is rather common that an armature has a reverse hip. In a normal hip setup, the armature root is the hip or pelvis bone, and the thighs and the rest of the spine are children of this bone. In a reverse hip setup, the first bone in the spine has been reversed. There is a separate root bone, and the two lowest bones in the spine are both children of thise root, whereas the thighs are children of the reversed hip.
[[File:mwa-120-reversehip.png]]
The advantage of such a setup is that the upper and lower body can be posed independently. However, MakeWalk failes to identify the bones, unless the Reverse Hip option has been enabled.
If automatic bone identification still fails, bone mapping has to be made manually. How this is done is described in the next section.
=== Defining the Target Rig Manually ===
Internally, MakeWalk retargets animations to an armature with the following bone hierarchy.
Here is a visual illustration of the bone hierarchy:
[[File:mwa-010-armature.png]]
In order to retarget to an armature with different bone names, we must define a map between the given bones and the internal names. By default, MakeWalk attempts to do this automatically. However, automatic bone mapping may easily be confused for non-trivial rigs. If this happens, one can define the bone map manually.
A bone map for a target armature is defined by a .trg file located in the target_rigs folder under the makewalk directory. The folder already contains three files, for retargeting the MHX advanced rig, the MakeHuman, and Rigify. These rigs are too complicated to identify the bone map automatically, so MakeWalk recognizes these rigs and use the predefined bone map.
Create a .trg file using an existing file as a template. E.g., a .trg file could look like this:
Note that it is not necessary to define maps to all bones. Bone names must not contain spaces, since whitespace is used as a delimiter in the .trg file. If the bones in your armature do contain spaces, replace them by underscore ( _ ). MakeWalk treats space and underscore as equivalent, so this is not a problem, except for very strange naming convention.
[[File:mwa-020-myrig.png]]
Save the .trg file with the name my_rig.trg in the target_rigs folder and press the Reinit Target Panel button. My_Rig should now appear in the Target rig list. Select it. In the FK bones sections, the My_Rig bone names are now listed. Make sure that the Auto Target Rig option is deselected, to override automatic bone mapping. Finally go to the main panel and press Load And Retarget. The animation should now be loaded.
=== MHBlenderTools: MakeWalk utilities ===
==== Utilities panel ====
This panel contains material that does not naturally fit into the other panels.
[[File:mwu-010-panel.png]]
=== Default Settings ===
* Save Defaults: Save current settings as the default settings.
* Load Defaults: Load the default settings from file.
=== Manage Actions ===
* Actions: A list of all actions in the scene, at the time when the Update Action List button was last pressed.
* Filter: If selected, only actions belonging to the active character are included in the action list. When the mocap tool creates an action, the first four letters in the action name are taken from the rig name.
* Update Action List:
* Set Current Action: Set the action selected in the Actions list as the active action.
* Delete Action: Permanently delete the action selected in the Actions list. The action must have zero users. It is quite cumbersome to permanently delete actions in Blender. The reason is that creating an action with hand animation takes much work, which should not be lost accidentally. The situation is different with mocap, where it is easy to fill up a blend file with many irrelevant actions. This button makes it easier to clean out such junk motions.
* Delete Temporary Actions: Some tools create temporary actions, whose names start with a hash sign (#). Deletes all such actions.
=== Temporary properties ===
* Delete Temporary Properties. MakeWalk creates some properties for relevant posebones during retargeting. Pressing this button removes these properties. However, be aware that some of the tools in the Edit panel may fail if the temporrary properties are deleted.
The temporary properties for the active posebone can be inspected in the N-panel.
[[File:mwu-030-temp-props.png]]
* McpBone: The name of this bone in the internal hierarchy.
* McpParent: The parent of this bone in the internal hierarchy.
* McpQuatW, McpQuatX, McpQuatY, McpQuatZ: The rotation of this bone in T-pose, represented as a quaternion.
=== T-pose ===
* Set T-pose: Set the current pose to T-pose.
* Clear T-pose: Set the current pose to the default pose.
* Load T-pose: Load a T-pose from a .json file to the active armature.
* Save T-pose: Save the current pose as a .json file.
=== Rest Pose ===
* Current Pose => Rest Pose: Set the current pose to rest pose.
071447dae1a852bdd4ff8fcb58de53506e782a2d
1354
1353
2017-03-15T01:55:10Z
Robbaer
12
/* NOTE */
wikitext
text/x-wiki
====== NOTE ======
There is a wealth of important information in this document, but some of the detail is badly out of date. Most of the fundamental information is quite usable, nevertheless. Things that need repairing:
* Broken links
* Reference to armatures in older version of MakeHuman
* The MakeWalk tool is now found as a tab on the T-side-panel in Blender
------------------------------------
MakeWalk is a Blender add-on for retargeting mocap data (.bvh files) to a given armature.
==== Retargeting: how it works ====
The goal of retargeting is to transfer a motion from a source armature (e.g. from a BVH file) to a given target armature (e.g. the MHX rig). However, it is not straightforward to assign the source action to the target rig, even if the bones have identical names. The motion of each bone is specified in local coordinates, relative to the parent and the bone's own rest pose. If the rest poses of the source and target armatures differ, the source F-curves can not be used directly by the target armature.
[[File:makewalk-1.png]]
The picture above shows a transformation in the local coordinate system. Since the parent's local Y points along its axis and its local Z points up, the child bone is rotated around the local X axis. This is not very useful if the target armature has a diffent rest pose. To retarget the pose, we therefore reexpress the transformation in the global coordinate system, as shown below. The local X rotation corresponds to a global Y rotation, and by a different angle. Once the global transformation matrix is known, we can reexpress it in the target bone's local coordinate system.
The retargeting process thus consists of making two coordinate transformations:
Source local => Global => Target local.
This will ensure that the source bone and the target bone will have the same global orientation.
[[File:makewalk_2.png]]
Unfortunately, things are a little more complicated. We do not always want the source and target bones to have identical orientation. In particular, the root or pelvis bone may point in entirely different directions in different armatures. E.g. in the CMU armature rest pose the pelvis points forward-down, and in the MHX rig it points straight up.
[[File:makewalk-3.png]]
If we insisted that the root bone in the MHX rig would point in the same direction as in the CMU rig, the retargeting would not be very successful, as shown in the figure above. If we instead keep the rotation offset from the rest poses, the target pose becomes much better, as shown below.
To calibrate the source and target armature against each other, MalkWalk introduces extra keyframes at frame 0, where both armatures are posed in T-pose.
[[File:mcp-ret-060-calibrate.png]]
In the rest of the animation, bones in the target armature copy the global rotations of the source armature, apart from differences present in the T-poses. In this way we can transfer animations from CMU to the MHX rig, despite the fact that the rest poses are very different.
==== Basic Workflow ====
=== Retargeting ===
The MakeWalk panels appear in the tool shelf whenever an armature is the active object. Select the armature and press the Load And Retarget button. In the file selector, select the .bvh file. We choose the file 90_04.bvh from the CMU database. It is a cartwheel animation.
[[File:makewalk-4.png]]
After a short wait, the armature is doing gymnastics.
[[File:makewalk-5.png]]
At frame 0 of the animation the armature has been placed in T-pose. This is not part of the originial .bvh file, but inserted by MakeWalk to calibrate the source armature (defined by the bvh file) and the target armature (the selected armature in the viewport) against each other.
=== Supported armatures ===
MakeWalk works with most straightforward biped rigs with FK arms and legs, such as the Rigify meta-rig. There is also built-in support for some more complex rigs: the MHX advanced rig from MakeHuman, the MHX rig from MakeHuman and Rigify.
[[File:makewalk-6.png]]
It is often possible to use MakeWalk with other complex rig, but in that case the automatic bone identification may fail. If so, a bone map must be defined manually, see -- [[Defining a Target Rig Manually]].
=== Troubleshooting ===
Retargeting is a rather involved subject, and it can sometimes result in poor motion. The process may even fail completely, usually because MakeWalk failed to automatically identify the bones of a complex rig. If this should happen, see!LINK!http://www.makehumancommunity.org/wiki/Documentation:MakeWalk#Errors_and_Corrective_Actions -- Errors and Corrective Actions!/LINK!.
==== Where to find BVH files ====
There are several different formats that mocap files can be stored in. MakeHuman's mocap tool can only deal with files in Biovision BVH format. BVH files can be bought from many commercial sources, but a large range of mocap files are also available for free download. Here are some sites I found useful.
* CMU Graphics Lab Motion Capture Database: Hosted at Carnegie-Mellon University, this is a huge library of mocap files which can be downloaded for free. The web address is!LINK!http://mocap.cs.cmu.edu/ -- http://mocap.cs.cmu.edu!/LINK!. CMU hosts mocap files in three formats: tvd, c3d and amc. However, the mocap tool can only read BVH files, so none of these files can be used directly. Fortunately, B. Hahne at!LINK!http://www.cgspeed.com/ -- www.cgspeed.com!/LINK!has converted the CMU files to BVH. The converted files are located at!LINK!http://sites.google.com/a/cgspeed.com/cgspeed/motion-capture -- http://sites.google.com/a/cgspeed.com/cgspeed/motion-capture!/LINK!.
* Advanced Computing Center for the Arts and Design (ACCAD): Hosted at the Ohio State University, this is another great source of free mocap files. BVH files can be downloaded from!LINK!http://accad.osu.edu/research/mocap/mocap_data.htm -- http://accad.osu.edu/research/mocap/mocap_data.htm!/LINK!
* Eyes Japan (mocapdata.com):This is a Japanese company that sells mocap data commercially, but they also offer a huge number of motions for free. According to their homepage, mocapdata.com provides 744 premium motion data and 4197 free motion data. The only catch is that downloading requires registration. Not surprisingly, the homepage of mocapdata.com has the address!LINK!http://www.mocapdata.com/ -- http://www.mocapdata.com/!/LINK!.
* The Trailer's Park: Free mocap data can also be found at the Trailer's Park,!LINK!http://www.thetrailerspark.com/ -- http://www.thetrailerspark.com!/LINK!. This site does not offer original data, but offer repacks of mocap data from other free sites for download. Free download is limited to some five packs per day, so some patience is required here.
* Hochschule der Medien, Universität Bonn (HDM):!LINK!http://www.mpi-inf.mpg.de/resources/HDM05/ -- http://www.mpi-inf.mpg.de/resources/HDM05!/LINK!
* The Perfume global site project #001:!LINK!http://perfume-dev.github.com/ -- http://perfume-dev.github.com/!/LINK!
=== MHBlenderTools: MakeWalk user interface ===
==== The user interface ====
The user > interface of MakeWalk is located in under the Armature tab, and becomes visible when an armature is selected. It consists of six panels; the first one is open by default and the others are closed.
[[File:makewalk-7_0.png]]
* Load And Retarget: Select a BVH file and retarget it to the active armature.
* Start Frame: The first frame in the BVH file to considered.
* Last Frame: The last frame to be considered, unless the animation stops earlier. The difference last_frame - first_frame is the maximal number of frames after retargeting. The number of frames in the BVH file may be larger, if some frames are skipped due to subsampling
* Detailed steps: When this options is selected, further buttons are show below
* Load BVH File (.bvh). Load a BVH file, and create an animated armature from it.
* Rename And Rescale BVH Rig. With the BVH armature active, and a target armature selected, rename and rescale the bones of the active armature to fit the target.
* Load And Rename BVH File (.bvh). A combination of the previous two buttons. With a target armature active, load a BVH file, and create an animated armature with renamed and rescaled bones.
* Retarget Selected To Active. Retarget the animation from a renamed and rescaled BVH armature to the active armature.
* Simplify FCurves. Simplify the F-curves of the active armature.
* Rescale FCurves. Rescale F-curevs of the active armature.What if retargeting fails?
MakeWalk is designed to retarget animations to a given armature with a minimum of user intervention. However, retargeting is a complex process, and entirely automatic retargeting may fail or result in suboptimal motion. Information about how to identify and correct problems is found in!LINK!/doc/node/blendertools_makewalk_troubleshooting.html -- Errors and Corrective Actions!/LINK!.
A common problem is that automatic identification of bones in the target armature fails. A bone map can then be assigned manually, cf.!LINK!/doc/node/blendertools_makewalk_troubleshooting.html -- Defining the Target Rig Manually.!/LINK!
==== Options panel ====
[[File:makewalk-8.png]]
* Use Default Subsample. Blender normally plays the animation in 24 fps or 25 fps, but the animation in the BVH file may be recorded at a different speed. In particular, the BVH files from CMU were filmed at 120 fps. Enable this option to have the animation play at natural speed, irrespective of the frame rate in the BVH file. Other subsample options are described below.
* Auto scale. Set the scale automatically based on the size of the left thigh. This choice has two motivations:
* Almost all character do have a left leg.
* The leg size is crucial for making walk cycles look good.
* Scale. The default MakeHuman scale is decimeters - 1 unit = 1 decimeter. Translations in a BVH file are expressed in different units; often the base unit is inches, meters or centimeters, but more obscure units can also occur, e.g. in BVH files from CMU. If the scale is set incorrectly, rotations will still be correctly retargeted, but the character will appear to take giant leaps or miniscule steps.
* Use Limits: If this option is enabled, MakeWalk honors any Limit Rotation constraints, and will not allow excessive rotations. If the animation in the bvh files exceeds some rotation limits, this makes the retargeted animation less faithful. On the other hand, the rig may not be built for excessive rotations, so unchecking this option can lead to other problems.
* Unlock Rotation: If this option is disabled, MakeWalk honors any rotation locks. If the animation in the bvh files bend around locked axes, this makes the retargeted animation less faithful. If Unlock Rotation is enabled, any X or Z rotation locks are disabled. Y rotation locks (bone twisting) are never disabled. The reason for this is that in the MHX and Rigify rigs, forearm rotation is handled by deform bones controlled by hand twisting.
* Auto source rig. The source rig (i.e. the armature defined by the BVH file) is specified in the!LINK!/doc/node/blendertools_makewalk_source_and_target_armature.html -- Source Armature panel!/LINK!. Enable this option if the mocap tool should attempt to automatically identify the source rig, based on the structure of the bone hierarchy.
* Auto target rig. The target rig (i.e. the armature in the blend file) is specified in the!LINK!/doc/node/blendertools_makewalk_source_and_target_armature.html -- Target Armature panel!/LINK!. Enable this option if the mocap tool should attempt to automatically identify the target rig, based on the structure of the bone hierarchy.
* Ignore Hidden Layers. Ignore bones on hidden layers when identifying the target rig.
=== Subsample and Rescale ===
If the Use Default Subsample option is set, the mocap tool will rescale the animation to fit the current frame rate. However, there are at least two reasons why you may want to load an animation at a different frame rate:
* * To obtain a slow-motion or rapid-motion effect.
* To quickly load an animation to see if the gross features will work out.
If the Use Default Subsample option is disabled, the SubSample section becomes visible.
* Subsample. Enable subsampling.
* Subsample Factor. If the value of this property is n, only every n:th frame of the BVH animation is loaded.
* Rescale. Enable rescaling.
* Rescale Factor. If the value of this property is n, the time distance between keyframes is changed to n.
* Rescale FCurves. Apply the settings above to existing F-curves rather than to the loaded animation.
Rescaling differs from simply scaling F-curves in the F-curve editor.
=== Simplification ===
* Simplify FCurves. Remove unnecessary keyframes.
* Max Loc Error. The maximal allowed error for location keyframes, in Blender units. A larger error results in fewer keyframes but less accuracy.
* Max Rot Error. The maximal allowed error for rotation keyframes, in degrees. A larger error results in fewer keyframes but less accuracy.
* Only Visible. Simplification only affect F-curves visible in the Graph editor.
* Only Between Markers. Simplification only affects F-curves between the two outermost selected markers. The timeline must have at least two selected markers.
==== Edit panel ====
Loading and retargeting is normally only the first step in the creation of an animation from mocap data. There are many reasons why a loaded animation does not behave exactly the way you want it to: artifacts in the mocap data, differences in armature structure not compensated for correctly by the retargeting process, differences in body stature between the mocap actor and the target character, or simply that the filmed sequence does not do exactly what you intend.. It is of course possible to edit the action directly in the graph editor, but this is unpractical due to the amount of mocap data. The mocap tool offers several possibilities to edit an action at a higher level. These tools are colleted in the Edit Action panel which is located just below the Options panel.
[[File:edit-action.png]]
=== Inverse Kinematics ===
* Transfer FK => IK: The load and retarget steps transfers an animation from a bvh file to the target character. However, only the FK bones are animated. Press this button to transfer the FK animation to the IK bones. Only works for the advanced MHX armature. If two markers are selected, only the animation between the markers is transferred.
* Transfer IK => FK: Transfer the animation back from the IK bones to the FK bones. Useful if the IK animation has been edited,
* Clear IK Animation: Remove all keyframes from all IK bones (arms and legs).
* Clear FK Animation: Remove all keyframes from all FK bones (arms and legs).
=== Global Edit ===
* Shift Animation. Shift the keys for the selected bones at all keyframes.If two markers are selected, only the keyframes between the markers are deleted.
* X,Y,Z: F-curves affected by the next button.
* Fixate Bone Locations:Replace all location keys by their average. Only selected bones and keyframes between selected markers are affected.
* Rescale Factor: Factor used by next button.
* Rescale FCurves: Rescale all F-curves by the factor above. This is similar to scaling F-curves in the curve editor, but jumps are treated correctly. E.g., rotations of +180 degrees and -180 degrees are the same, but if we scale an F-curve with a factor two, the intermedate keyframe will have the average rotation 0 degrees, The Rescale FCurves button handles this case correctly.
=== Local Edit ===
This section could be called "Poor man's animation layers". A loaded mocap animation usually has imperfections that must be edited, but without changing the overall feel of the motion. The Start Edit button creates a new animation layer where differences from the original motion are stored as keys, called delta keys since delta often denotes a difference.
* Start Edit: Start editing F-curves.
* Undo Edit: Quit F-curve editing, without modifying the original F-curves.
* Loc: Set a location delta keyframe.
* Rot: Set a rotation delta keyframe.
* LocRot: Set a location and rotation delta keyframe.
* Delete: Remove all delta keyframes at the current time.
* |<: Move to first delta keyframe
* <: Move to previous delta keyframe.
* >: Move to next delta keyframe.
* >|: Move to last delta keyframe.
* Confirm Edit: Modify the original F-curves and quit F-curve editing.
The delta keys are represented by markers in the timeline.
[[File:mwe-315-local-keys.png]]
A delta key can be added with the Loc, Rot and LocRot buttons, and removed with Delete. There is no way to view the delta keys directly. In the viewport and the curve editor, the final pose is shown, which is the sum of the original pose and the delta key.
A common use for delta keys is to correct for intersection with other objects or the character herself. The typical workflow is as follows:
* * Start Edit.
* Set a delta key at a good frame just before the intersection.
* Set a delta key at a good frame just after the intersection.
* Edit the pose a the frame(s) where intersection occurs.
* If the intersection has been removed, Confirm Edit. If not, set new delta keys until it has, or Undo Edit to remove the delta layer.
=== Feet ===
* Left: Affect the left foot.
* Right: Affect the right foot.
* Hips: Affect the characters hip (COM) bone.
* Offset Toes: Ensure that the toe is below the ball of the foot at all keyframes. Primarily useful for rigs with a reverse foot setup as explained below.
* Keep Feet Above Floor: If a mesh object (typically a plane) is selected, shift the keyframes to keep the affected feet above the plane. The plane does not necessarily lie in the XY plane; if the plane is tilted, the feet are kept on the plane's upper side. If no plane is selected, the feet are kept above the XY plane (z = 0). The IK feet are affected if the rig has and uses IK legs, otherwise the FK feet are kept above the floor. If two markers are selected, only the keyframes inbetween are shifted.
In a rig with a reverse foot setup, such as the MHX rig, the foot can rotate around the toe, ball, and heel. The reverse foot and toe bones are completely fixed by the corresponding FK bones, but the IK effector can be placed arbitrarily, as long as it ends at the toe tip. The transfer tool uses this freedom to make the IK effector perfectly horizontal, provided that the toe is below the ball and heel.
[[File:refoot.png]]
To use this feature we must ensure that the toe is below the ball of the foot, which is done by the Offset Toes button.
=== Loop And Repeat ===
!LINK! -- Loop Animation!/LINK!
Create a loop of the action between two selected time markers, by blending the keyframes in the beginning and end of the loop. This is useful e.g. to create walk and run cycles for games. For good results, the poses at the beginning and end of the selected region should be similar.
* Blend Range: The number of keyframes used for blending.
* Loop in place: Remove the X and Y components of the root bone's location.
* Loop F-curves: Loop the animation.
!LINK! -- Repeat Animation!/LINK!
Repeat the action between two selected time markers. The actions should preferably be looped before it is repeated, to make the beginning and end match seamlessly.
* Repeat Number: The number of repetitions.
* Repeat F-curves: Repeat the animation.
=== Stitching ===
Create a new action by stitching two actions together seamlessly.
* Update Action List: Update the first and second action drop-down lists.
* First Action: The name of the first action.
* First End Frame: Last frame of the first action
* Set Current Action: Set the first action as the current action.
* Second Action: The name of the second action.
* Second Start Frame: First frame of the second action.
* Set Current Action: Set the second action as the current action.
* Action Target: Choose between creating a new action and prepending the second action.
* Blend Range: The number of keyframes used for blending. Same parameter as in Loop Animations section.
* Output Action Name:
* Stitch Actions: Stitch the actions together.
=== MHBlenderTools: MakeWalk armatures ===
==== Source Armature panel ====
MakeWalk transfers an animation from a source armature, defined in a bvh file, to a given target armature. It uses an intermediate standard rig described in!LINK!http://makehuman.org/doc/node/defining_the_target_rig_manually.html -- Defining the Target Rig Manually!/LINK!. The bone map from the source armature to the target armature hence consists of two parts:
* A map from the source rig to the standard rig. It is defined in the MakeWalk: Source Armature panel.
* A map from the target rig to the standard rig. It is defined in the!LINK!http://makehuman.org/doc/node/makewalk_target_armature_panel.html -- MakeWalk: Target Armature panel!/LINK!.
[[File:mws-010-panel.png]]
When a new scene is opened, the panel consists of the single button Initialize Source Panel. Once this button has been pressed, the following content is available:
[[File:mws-020-auto.png]]
* Reinit Source Panel: Reinitialization.
* Auto Source Rig: If this option is enabled, MakeWalk will try to identify the source rig automatically. It may happen that MakeWalk fails to identify the source rig automatically, but this is very unusual. If it should nevertheless happen, it is possible to define the bone map manually in analogy with !LINK!http://makehuman.org/doc/node/defining_the_target_rig_manually.html -- how it is done for target rigs!/LINK!.
* Source rig. A list of bvh rigs recognized by the mocap tool. This either defines the expected source rig (if Auto Source Rig is disabled) or to Automatic.
* Bones in the active source rig.
==== Target Armature panel ====
The second part of the mapping from source to target armatures is defined by the panel labelled MH Mocap: Target armature. It is the top-most of the mocap tool panels, and is closed by default.
When a new scene is opened, the panel consists of the single button Initialize Target Panel. Once this button has been pressed, the following content is available:
[[File:mwt-011-panel.png]]
* Reinit Target Panel. Reinitialization.
* Target rig. A list of bvh rigs recognized by the mocap tool. This either defines the expected Target rig (if Auto Target rig guessing is disabled), or is set to a matching rig (if automatic target rig identificiation is enabled).
* Auto Target Rig. If this option is enabled, MakeWalk will try to identify the target rig automatically. However, automatic rig identification is not trivial for complex rigs, and it may fail. If so, the bone map may be specified manually, cf!LINK!http://makehuman.org/doc/node/defining_the_target_rig_manually.html -- Defining the Target Rig Manually!/LINK!. If the bone map is defined. The target rigs available by default correspond mostly to the rig presets that can be exported from MakeHuman
* MHX. An advanced rig from MakeHuman alpha 8.
* MH Alpha 7. The MHX rig from MakeHuman alpha 7.
* Rigify.
* Ignore Hidden Layers: Ignore bones on hidden layers during automatic rig identification.
* Reverse Hip. Select this option if the armature has an reverse hip. It is rather common that an armature has a reverse hip. In a normal hip setup, the armature root is the hip or pelvis bone, and the thighs and the rest of the spine are children of this bone. In a reverse hip setup, the first bone in the spine has been reversed. There is a separate root bone, and the two lowest bones in the spine are both children of thise root, whereas the thighs are children of the reversed hip.
* Identify Target Rig: Identify the target rig, i.e. find out how bone names in the active armature correspond to the internal names. This step is performed automatically during retargeting, but the identification can also be done separately for debugging purposes. The bone map appears in the area called FK bones below.
* Set T-pose. Pose the active armature in T-pose.
* Save T-pose. Option used by the next button.
* Save Target File. Save the current bone map as a .trg file. If the Save T-pose option is set, also save a json file defining the T-pose.
* FK bones. The bone map.
The picture below shows automatic rig identification of the Rigify meta-rig (Add > Armature > Advanced Human).
[[File:mwt-020-metarig.png]]
=== MHBlenderTools: MakeWalk troubleshooting. ===
==== What if retargeting fails? ====
=== Errors and Corrective Actions ===
This document will describe common errors and corrective actions.
It may happen that MakeWalk fails to retarget an animation to a given armature. In that case an error message is displayed.
[[File:mwa-100-error.png]]
The error message consists of the following:
Mocap error
Category
Detailed error message
A link to this page
MakeWalk errors are grouped into the following categories:
* Load Bvh File
* Rename And Rescale
* Identify Target Rig
* Automatic Target Rig
* Manual Target Rig
* Identify Source Rig
* Retarget
* General Error
Load Bvh File
Rename And Rescale
Identify Target Rig
=== Automatic Target Rig ===
The most common problem is probably that MakeWalk fails to identify the target rig automatically. There are several possible reasons for this:
* The character is not oriented correctly. In the rest pose, the character should be standing with up being the positive Z axis and facing -Y.
* The armature is complex with extra bones not corresponding to a standard biped rig.
* The armature only has IK arms or legs. MakeWalk retargets animations to the FK limbs, so if no such bones exist, the program will not work.
[[File:mwa-110-reverse-hip.png]]
It is rather common that an armature has a reverse hip. In a normal hip setup, the armature root is the hip or pelvis bone, and the thighs and the rest of the spine are children of this bone. In a reverse hip setup, the first bone in the spine has been reversed. There is a separate root bone, and the two lowest bones in the spine are both children of thise root, whereas the thighs are children of the reversed hip.
[[File:mwa-120-reversehip.png]]
The advantage of such a setup is that the upper and lower body can be posed independently. However, MakeWalk failes to identify the bones, unless the Reverse Hip option has been enabled.
If automatic bone identification still fails, bone mapping has to be made manually. How this is done is described in the next section.
=== Defining the Target Rig Manually ===
Internally, MakeWalk retargets animations to an armature with the following bone hierarchy.
Here is a visual illustration of the bone hierarchy:
[[File:mwa-010-armature.png]]
In order to retarget to an armature with different bone names, we must define a map between the given bones and the internal names. By default, MakeWalk attempts to do this automatically. However, automatic bone mapping may easily be confused for non-trivial rigs. If this happens, one can define the bone map manually.
A bone map for a target armature is defined by a .trg file located in the target_rigs folder under the makewalk directory. The folder already contains three files, for retargeting the MHX advanced rig, the MakeHuman, and Rigify. These rigs are too complicated to identify the bone map automatically, so MakeWalk recognizes these rigs and use the predefined bone map.
Create a .trg file using an existing file as a template. E.g., a .trg file could look like this:
Note that it is not necessary to define maps to all bones. Bone names must not contain spaces, since whitespace is used as a delimiter in the .trg file. If the bones in your armature do contain spaces, replace them by underscore ( _ ). MakeWalk treats space and underscore as equivalent, so this is not a problem, except for very strange naming convention.
[[File:mwa-020-myrig.png]]
Save the .trg file with the name my_rig.trg in the target_rigs folder and press the Reinit Target Panel button. My_Rig should now appear in the Target rig list. Select it. In the FK bones sections, the My_Rig bone names are now listed. Make sure that the Auto Target Rig option is deselected, to override automatic bone mapping. Finally go to the main panel and press Load And Retarget. The animation should now be loaded.
=== MHBlenderTools: MakeWalk utilities ===
==== Utilities panel ====
This panel contains material that does not naturally fit into the other panels.
[[File:mwu-010-panel.png]]
=== Default Settings ===
* Save Defaults: Save current settings as the default settings.
* Load Defaults: Load the default settings from file.
=== Manage Actions ===
* Actions: A list of all actions in the scene, at the time when the Update Action List button was last pressed.
* Filter: If selected, only actions belonging to the active character are included in the action list. When the mocap tool creates an action, the first four letters in the action name are taken from the rig name.
* Update Action List:
* Set Current Action: Set the action selected in the Actions list as the active action.
* Delete Action: Permanently delete the action selected in the Actions list. The action must have zero users. It is quite cumbersome to permanently delete actions in Blender. The reason is that creating an action with hand animation takes much work, which should not be lost accidentally. The situation is different with mocap, where it is easy to fill up a blend file with many irrelevant actions. This button makes it easier to clean out such junk motions.
* Delete Temporary Actions: Some tools create temporary actions, whose names start with a hash sign (#). Deletes all such actions.
=== Temporary properties ===
* Delete Temporary Properties. MakeWalk creates some properties for relevant posebones during retargeting. Pressing this button removes these properties. However, be aware that some of the tools in the Edit panel may fail if the temporrary properties are deleted.
The temporary properties for the active posebone can be inspected in the N-panel.
[[File:mwu-030-temp-props.png]]
* McpBone: The name of this bone in the internal hierarchy.
* McpParent: The parent of this bone in the internal hierarchy.
* McpQuatW, McpQuatX, McpQuatY, McpQuatZ: The rotation of this bone in T-pose, represented as a quaternion.
=== T-pose ===
* Set T-pose: Set the current pose to T-pose.
* Clear T-pose: Set the current pose to the default pose.
* Load T-pose: Load a T-pose from a .json file to the active armature.
* Save T-pose: Save the current pose as a .json file.
=== Rest Pose ===
* Current Pose => Rest Pose: Set the current pose to rest pose.
6204da1566d7e0de4fe6601c740934c386dd4f8c
1353
1352
2017-03-15T01:48:19Z
Robbaer
12
/* Supported armatures */
wikitext
text/x-wiki
=== NOTE ===
There is a wealth of important information in this document, but some of the detail is badly out of date. Most of the fundamental information is quite usable, nevertheless. Things that need repairing:
* Broken links
* Reference to armatures in older version of MakeHuman
* The MakeWalk tool is now found as a tab on the T-side-panel in Blender
------------------------------------
MakeWalk is a Blender add-on for retargeting mocap data (.bvh files) to a given armature.
==== Retargeting: how it works ====
The goal of retargeting is to transfer a motion from a source armature (e.g. from a BVH file) to a given target armature (e.g. the MHX rig). However, it is not straightforward to assign the source action to the target rig, even if the bones have identical names. The motion of each bone is specified in local coordinates, relative to the parent and the bone's own rest pose. If the rest poses of the source and target armatures differ, the source F-curves can not be used directly by the target armature.
[[File:makewalk-1.png]]
The picture above shows a transformation in the local coordinate system. Since the parent's local Y points along its axis and its local Z points up, the child bone is rotated around the local X axis. This is not very useful if the target armature has a diffent rest pose. To retarget the pose, we therefore reexpress the transformation in the global coordinate system, as shown below. The local X rotation corresponds to a global Y rotation, and by a different angle. Once the global transformation matrix is known, we can reexpress it in the target bone's local coordinate system.
The retargeting process thus consists of making two coordinate transformations:
Source local => Global => Target local.
This will ensure that the source bone and the target bone will have the same global orientation.
[[File:makewalk_2.png]]
Unfortunately, things are a little more complicated. We do not always want the source and target bones to have identical orientation. In particular, the root or pelvis bone may point in entirely different directions in different armatures. E.g. in the CMU armature rest pose the pelvis points forward-down, and in the MHX rig it points straight up.
[[File:makewalk-3.png]]
If we insisted that the root bone in the MHX rig would point in the same direction as in the CMU rig, the retargeting would not be very successful, as shown in the figure above. If we instead keep the rotation offset from the rest poses, the target pose becomes much better, as shown below.
To calibrate the source and target armature against each other, MalkWalk introduces extra keyframes at frame 0, where both armatures are posed in T-pose.
[[File:mcp-ret-060-calibrate.png]]
In the rest of the animation, bones in the target armature copy the global rotations of the source armature, apart from differences present in the T-poses. In this way we can transfer animations from CMU to the MHX rig, despite the fact that the rest poses are very different.
==== Basic Workflow ====
=== Retargeting ===
The MakeWalk panels appear in the tool shelf whenever an armature is the active object. Select the armature and press the Load And Retarget button. In the file selector, select the .bvh file. We choose the file 90_04.bvh from the CMU database. It is a cartwheel animation.
[[File:makewalk-4.png]]
After a short wait, the armature is doing gymnastics.
[[File:makewalk-5.png]]
At frame 0 of the animation the armature has been placed in T-pose. This is not part of the originial .bvh file, but inserted by MakeWalk to calibrate the source armature (defined by the bvh file) and the target armature (the selected armature in the viewport) against each other.
=== Supported armatures ===
MakeWalk works with most straightforward biped rigs with FK arms and legs, such as the Rigify meta-rig. There is also built-in support for some more complex rigs: the MHX advanced rig from MakeHuman, the MHX rig from MakeHuman and Rigify.
[[File:makewalk-6.png]]
It is often possible to use MakeWalk with other complex rig, but in that case the automatic bone identification may fail. If so, a bone map must be defined manually, see -- [[Defining a Target Rig Manually]].
=== Troubleshooting ===
Retargeting is a rather involved subject, and it can sometimes result in poor motion. The process may even fail completely, usually because MakeWalk failed to automatically identify the bones of a complex rig. If this should happen, see!LINK!http://www.makehumancommunity.org/wiki/Documentation:MakeWalk#Errors_and_Corrective_Actions -- Errors and Corrective Actions!/LINK!.
==== Where to find BVH files ====
There are several different formats that mocap files can be stored in. MakeHuman's mocap tool can only deal with files in Biovision BVH format. BVH files can be bought from many commercial sources, but a large range of mocap files are also available for free download. Here are some sites I found useful.
* CMU Graphics Lab Motion Capture Database: Hosted at Carnegie-Mellon University, this is a huge library of mocap files which can be downloaded for free. The web address is!LINK!http://mocap.cs.cmu.edu/ -- http://mocap.cs.cmu.edu!/LINK!. CMU hosts mocap files in three formats: tvd, c3d and amc. However, the mocap tool can only read BVH files, so none of these files can be used directly. Fortunately, B. Hahne at!LINK!http://www.cgspeed.com/ -- www.cgspeed.com!/LINK!has converted the CMU files to BVH. The converted files are located at!LINK!http://sites.google.com/a/cgspeed.com/cgspeed/motion-capture -- http://sites.google.com/a/cgspeed.com/cgspeed/motion-capture!/LINK!.
* Advanced Computing Center for the Arts and Design (ACCAD): Hosted at the Ohio State University, this is another great source of free mocap files. BVH files can be downloaded from!LINK!http://accad.osu.edu/research/mocap/mocap_data.htm -- http://accad.osu.edu/research/mocap/mocap_data.htm!/LINK!
* Eyes Japan (mocapdata.com):This is a Japanese company that sells mocap data commercially, but they also offer a huge number of motions for free. According to their homepage, mocapdata.com provides 744 premium motion data and 4197 free motion data. The only catch is that downloading requires registration. Not surprisingly, the homepage of mocapdata.com has the address!LINK!http://www.mocapdata.com/ -- http://www.mocapdata.com/!/LINK!.
* The Trailer's Park: Free mocap data can also be found at the Trailer's Park,!LINK!http://www.thetrailerspark.com/ -- http://www.thetrailerspark.com!/LINK!. This site does not offer original data, but offer repacks of mocap data from other free sites for download. Free download is limited to some five packs per day, so some patience is required here.
* Hochschule der Medien, Universität Bonn (HDM):!LINK!http://www.mpi-inf.mpg.de/resources/HDM05/ -- http://www.mpi-inf.mpg.de/resources/HDM05!/LINK!
* The Perfume global site project #001:!LINK!http://perfume-dev.github.com/ -- http://perfume-dev.github.com/!/LINK!
=== MHBlenderTools: MakeWalk user interface ===
==== The user interface ====
The user > interface of MakeWalk is located in under the Armature tab, and becomes visible when an armature is selected. It consists of six panels; the first one is open by default and the others are closed.
[[File:makewalk-7_0.png]]
* Load And Retarget: Select a BVH file and retarget it to the active armature.
* Start Frame: The first frame in the BVH file to considered.
* Last Frame: The last frame to be considered, unless the animation stops earlier. The difference last_frame - first_frame is the maximal number of frames after retargeting. The number of frames in the BVH file may be larger, if some frames are skipped due to subsampling
* Detailed steps: When this options is selected, further buttons are show below
* Load BVH File (.bvh). Load a BVH file, and create an animated armature from it.
* Rename And Rescale BVH Rig. With the BVH armature active, and a target armature selected, rename and rescale the bones of the active armature to fit the target.
* Load And Rename BVH File (.bvh). A combination of the previous two buttons. With a target armature active, load a BVH file, and create an animated armature with renamed and rescaled bones.
* Retarget Selected To Active. Retarget the animation from a renamed and rescaled BVH armature to the active armature.
* Simplify FCurves. Simplify the F-curves of the active armature.
* Rescale FCurves. Rescale F-curevs of the active armature.What if retargeting fails?
MakeWalk is designed to retarget animations to a given armature with a minimum of user intervention. However, retargeting is a complex process, and entirely automatic retargeting may fail or result in suboptimal motion. Information about how to identify and correct problems is found in!LINK!/doc/node/blendertools_makewalk_troubleshooting.html -- Errors and Corrective Actions!/LINK!.
A common problem is that automatic identification of bones in the target armature fails. A bone map can then be assigned manually, cf.!LINK!/doc/node/blendertools_makewalk_troubleshooting.html -- Defining the Target Rig Manually.!/LINK!
==== Options panel ====
[[File:makewalk-8.png]]
* Use Default Subsample. Blender normally plays the animation in 24 fps or 25 fps, but the animation in the BVH file may be recorded at a different speed. In particular, the BVH files from CMU were filmed at 120 fps. Enable this option to have the animation play at natural speed, irrespective of the frame rate in the BVH file. Other subsample options are described below.
* Auto scale. Set the scale automatically based on the size of the left thigh. This choice has two motivations:
* Almost all character do have a left leg.
* The leg size is crucial for making walk cycles look good.
* Scale. The default MakeHuman scale is decimeters - 1 unit = 1 decimeter. Translations in a BVH file are expressed in different units; often the base unit is inches, meters or centimeters, but more obscure units can also occur, e.g. in BVH files from CMU. If the scale is set incorrectly, rotations will still be correctly retargeted, but the character will appear to take giant leaps or miniscule steps.
* Use Limits: If this option is enabled, MakeWalk honors any Limit Rotation constraints, and will not allow excessive rotations. If the animation in the bvh files exceeds some rotation limits, this makes the retargeted animation less faithful. On the other hand, the rig may not be built for excessive rotations, so unchecking this option can lead to other problems.
* Unlock Rotation: If this option is disabled, MakeWalk honors any rotation locks. If the animation in the bvh files bend around locked axes, this makes the retargeted animation less faithful. If Unlock Rotation is enabled, any X or Z rotation locks are disabled. Y rotation locks (bone twisting) are never disabled. The reason for this is that in the MHX and Rigify rigs, forearm rotation is handled by deform bones controlled by hand twisting.
* Auto source rig. The source rig (i.e. the armature defined by the BVH file) is specified in the!LINK!/doc/node/blendertools_makewalk_source_and_target_armature.html -- Source Armature panel!/LINK!. Enable this option if the mocap tool should attempt to automatically identify the source rig, based on the structure of the bone hierarchy.
* Auto target rig. The target rig (i.e. the armature in the blend file) is specified in the!LINK!/doc/node/blendertools_makewalk_source_and_target_armature.html -- Target Armature panel!/LINK!. Enable this option if the mocap tool should attempt to automatically identify the target rig, based on the structure of the bone hierarchy.
* Ignore Hidden Layers. Ignore bones on hidden layers when identifying the target rig.
=== Subsample and Rescale ===
If the Use Default Subsample option is set, the mocap tool will rescale the animation to fit the current frame rate. However, there are at least two reasons why you may want to load an animation at a different frame rate:
* * To obtain a slow-motion or rapid-motion effect.
* To quickly load an animation to see if the gross features will work out.
If the Use Default Subsample option is disabled, the SubSample section becomes visible.
* Subsample. Enable subsampling.
* Subsample Factor. If the value of this property is n, only every n:th frame of the BVH animation is loaded.
* Rescale. Enable rescaling.
* Rescale Factor. If the value of this property is n, the time distance between keyframes is changed to n.
* Rescale FCurves. Apply the settings above to existing F-curves rather than to the loaded animation.
Rescaling differs from simply scaling F-curves in the F-curve editor.
=== Simplification ===
* Simplify FCurves. Remove unnecessary keyframes.
* Max Loc Error. The maximal allowed error for location keyframes, in Blender units. A larger error results in fewer keyframes but less accuracy.
* Max Rot Error. The maximal allowed error for rotation keyframes, in degrees. A larger error results in fewer keyframes but less accuracy.
* Only Visible. Simplification only affect F-curves visible in the Graph editor.
* Only Between Markers. Simplification only affects F-curves between the two outermost selected markers. The timeline must have at least two selected markers.
==== Edit panel ====
Loading and retargeting is normally only the first step in the creation of an animation from mocap data. There are many reasons why a loaded animation does not behave exactly the way you want it to: artifacts in the mocap data, differences in armature structure not compensated for correctly by the retargeting process, differences in body stature between the mocap actor and the target character, or simply that the filmed sequence does not do exactly what you intend.. It is of course possible to edit the action directly in the graph editor, but this is unpractical due to the amount of mocap data. The mocap tool offers several possibilities to edit an action at a higher level. These tools are colleted in the Edit Action panel which is located just below the Options panel.
[[File:edit-action.png]]
=== Inverse Kinematics ===
* Transfer FK => IK: The load and retarget steps transfers an animation from a bvh file to the target character. However, only the FK bones are animated. Press this button to transfer the FK animation to the IK bones. Only works for the advanced MHX armature. If two markers are selected, only the animation between the markers is transferred.
* Transfer IK => FK: Transfer the animation back from the IK bones to the FK bones. Useful if the IK animation has been edited,
* Clear IK Animation: Remove all keyframes from all IK bones (arms and legs).
* Clear FK Animation: Remove all keyframes from all FK bones (arms and legs).
=== Global Edit ===
* Shift Animation. Shift the keys for the selected bones at all keyframes.If two markers are selected, only the keyframes between the markers are deleted.
* X,Y,Z: F-curves affected by the next button.
* Fixate Bone Locations:Replace all location keys by their average. Only selected bones and keyframes between selected markers are affected.
* Rescale Factor: Factor used by next button.
* Rescale FCurves: Rescale all F-curves by the factor above. This is similar to scaling F-curves in the curve editor, but jumps are treated correctly. E.g., rotations of +180 degrees and -180 degrees are the same, but if we scale an F-curve with a factor two, the intermedate keyframe will have the average rotation 0 degrees, The Rescale FCurves button handles this case correctly.
=== Local Edit ===
This section could be called "Poor man's animation layers". A loaded mocap animation usually has imperfections that must be edited, but without changing the overall feel of the motion. The Start Edit button creates a new animation layer where differences from the original motion are stored as keys, called delta keys since delta often denotes a difference.
* Start Edit: Start editing F-curves.
* Undo Edit: Quit F-curve editing, without modifying the original F-curves.
* Loc: Set a location delta keyframe.
* Rot: Set a rotation delta keyframe.
* LocRot: Set a location and rotation delta keyframe.
* Delete: Remove all delta keyframes at the current time.
* |<: Move to first delta keyframe
* <: Move to previous delta keyframe.
* >: Move to next delta keyframe.
* >|: Move to last delta keyframe.
* Confirm Edit: Modify the original F-curves and quit F-curve editing.
The delta keys are represented by markers in the timeline.
[[File:mwe-315-local-keys.png]]
A delta key can be added with the Loc, Rot and LocRot buttons, and removed with Delete. There is no way to view the delta keys directly. In the viewport and the curve editor, the final pose is shown, which is the sum of the original pose and the delta key.
A common use for delta keys is to correct for intersection with other objects or the character herself. The typical workflow is as follows:
* * Start Edit.
* Set a delta key at a good frame just before the intersection.
* Set a delta key at a good frame just after the intersection.
* Edit the pose a the frame(s) where intersection occurs.
* If the intersection has been removed, Confirm Edit. If not, set new delta keys until it has, or Undo Edit to remove the delta layer.
=== Feet ===
* Left: Affect the left foot.
* Right: Affect the right foot.
* Hips: Affect the characters hip (COM) bone.
* Offset Toes: Ensure that the toe is below the ball of the foot at all keyframes. Primarily useful for rigs with a reverse foot setup as explained below.
* Keep Feet Above Floor: If a mesh object (typically a plane) is selected, shift the keyframes to keep the affected feet above the plane. The plane does not necessarily lie in the XY plane; if the plane is tilted, the feet are kept on the plane's upper side. If no plane is selected, the feet are kept above the XY plane (z = 0). The IK feet are affected if the rig has and uses IK legs, otherwise the FK feet are kept above the floor. If two markers are selected, only the keyframes inbetween are shifted.
In a rig with a reverse foot setup, such as the MHX rig, the foot can rotate around the toe, ball, and heel. The reverse foot and toe bones are completely fixed by the corresponding FK bones, but the IK effector can be placed arbitrarily, as long as it ends at the toe tip. The transfer tool uses this freedom to make the IK effector perfectly horizontal, provided that the toe is below the ball and heel.
[[File:refoot.png]]
To use this feature we must ensure that the toe is below the ball of the foot, which is done by the Offset Toes button.
=== Loop And Repeat ===
!LINK! -- Loop Animation!/LINK!
Create a loop of the action between two selected time markers, by blending the keyframes in the beginning and end of the loop. This is useful e.g. to create walk and run cycles for games. For good results, the poses at the beginning and end of the selected region should be similar.
* Blend Range: The number of keyframes used for blending.
* Loop in place: Remove the X and Y components of the root bone's location.
* Loop F-curves: Loop the animation.
!LINK! -- Repeat Animation!/LINK!
Repeat the action between two selected time markers. The actions should preferably be looped before it is repeated, to make the beginning and end match seamlessly.
* Repeat Number: The number of repetitions.
* Repeat F-curves: Repeat the animation.
=== Stitching ===
Create a new action by stitching two actions together seamlessly.
* Update Action List: Update the first and second action drop-down lists.
* First Action: The name of the first action.
* First End Frame: Last frame of the first action
* Set Current Action: Set the first action as the current action.
* Second Action: The name of the second action.
* Second Start Frame: First frame of the second action.
* Set Current Action: Set the second action as the current action.
* Action Target: Choose between creating a new action and prepending the second action.
* Blend Range: The number of keyframes used for blending. Same parameter as in Loop Animations section.
* Output Action Name:
* Stitch Actions: Stitch the actions together.
=== MHBlenderTools: MakeWalk armatures ===
==== Source Armature panel ====
MakeWalk transfers an animation from a source armature, defined in a bvh file, to a given target armature. It uses an intermediate standard rig described in!LINK!http://makehuman.org/doc/node/defining_the_target_rig_manually.html -- Defining the Target Rig Manually!/LINK!. The bone map from the source armature to the target armature hence consists of two parts:
* A map from the source rig to the standard rig. It is defined in the MakeWalk: Source Armature panel.
* A map from the target rig to the standard rig. It is defined in the!LINK!http://makehuman.org/doc/node/makewalk_target_armature_panel.html -- MakeWalk: Target Armature panel!/LINK!.
[[File:mws-010-panel.png]]
When a new scene is opened, the panel consists of the single button Initialize Source Panel. Once this button has been pressed, the following content is available:
[[File:mws-020-auto.png]]
* Reinit Source Panel: Reinitialization.
* Auto Source Rig: If this option is enabled, MakeWalk will try to identify the source rig automatically. It may happen that MakeWalk fails to identify the source rig automatically, but this is very unusual. If it should nevertheless happen, it is possible to define the bone map manually in analogy with !LINK!http://makehuman.org/doc/node/defining_the_target_rig_manually.html -- how it is done for target rigs!/LINK!.
* Source rig. A list of bvh rigs recognized by the mocap tool. This either defines the expected source rig (if Auto Source Rig is disabled) or to Automatic.
* Bones in the active source rig.
==== Target Armature panel ====
The second part of the mapping from source to target armatures is defined by the panel labelled MH Mocap: Target armature. It is the top-most of the mocap tool panels, and is closed by default.
When a new scene is opened, the panel consists of the single button Initialize Target Panel. Once this button has been pressed, the following content is available:
[[File:mwt-011-panel.png]]
* Reinit Target Panel. Reinitialization.
* Target rig. A list of bvh rigs recognized by the mocap tool. This either defines the expected Target rig (if Auto Target rig guessing is disabled), or is set to a matching rig (if automatic target rig identificiation is enabled).
* Auto Target Rig. If this option is enabled, MakeWalk will try to identify the target rig automatically. However, automatic rig identification is not trivial for complex rigs, and it may fail. If so, the bone map may be specified manually, cf!LINK!http://makehuman.org/doc/node/defining_the_target_rig_manually.html -- Defining the Target Rig Manually!/LINK!. If the bone map is defined. The target rigs available by default correspond mostly to the rig presets that can be exported from MakeHuman
* MHX. An advanced rig from MakeHuman alpha 8.
* MH Alpha 7. The MHX rig from MakeHuman alpha 7.
* Rigify.
* Ignore Hidden Layers: Ignore bones on hidden layers during automatic rig identification.
* Reverse Hip. Select this option if the armature has an reverse hip. It is rather common that an armature has a reverse hip. In a normal hip setup, the armature root is the hip or pelvis bone, and the thighs and the rest of the spine are children of this bone. In a reverse hip setup, the first bone in the spine has been reversed. There is a separate root bone, and the two lowest bones in the spine are both children of thise root, whereas the thighs are children of the reversed hip.
* Identify Target Rig: Identify the target rig, i.e. find out how bone names in the active armature correspond to the internal names. This step is performed automatically during retargeting, but the identification can also be done separately for debugging purposes. The bone map appears in the area called FK bones below.
* Set T-pose. Pose the active armature in T-pose.
* Save T-pose. Option used by the next button.
* Save Target File. Save the current bone map as a .trg file. If the Save T-pose option is set, also save a json file defining the T-pose.
* FK bones. The bone map.
The picture below shows automatic rig identification of the Rigify meta-rig (Add > Armature > Advanced Human).
[[File:mwt-020-metarig.png]]
=== MHBlenderTools: MakeWalk troubleshooting. ===
==== What if retargeting fails? ====
=== Errors and Corrective Actions ===
This document will describe common errors and corrective actions.
It may happen that MakeWalk fails to retarget an animation to a given armature. In that case an error message is displayed.
[[File:mwa-100-error.png]]
The error message consists of the following:
Mocap error
Category
Detailed error message
A link to this page
MakeWalk errors are grouped into the following categories:
* Load Bvh File
* Rename And Rescale
* Identify Target Rig
* Automatic Target Rig
* Manual Target Rig
* Identify Source Rig
* Retarget
* General Error
Load Bvh File
Rename And Rescale
Identify Target Rig
=== Automatic Target Rig ===
The most common problem is probably that MakeWalk fails to identify the target rig automatically. There are several possible reasons for this:
* The character is not oriented correctly. In the rest pose, the character should be standing with up being the positive Z axis and facing -Y.
* The armature is complex with extra bones not corresponding to a standard biped rig.
* The armature only has IK arms or legs. MakeWalk retargets animations to the FK limbs, so if no such bones exist, the program will not work.
[[File:mwa-110-reverse-hip.png]]
It is rather common that an armature has a reverse hip. In a normal hip setup, the armature root is the hip or pelvis bone, and the thighs and the rest of the spine are children of this bone. In a reverse hip setup, the first bone in the spine has been reversed. There is a separate root bone, and the two lowest bones in the spine are both children of thise root, whereas the thighs are children of the reversed hip.
[[File:mwa-120-reversehip.png]]
The advantage of such a setup is that the upper and lower body can be posed independently. However, MakeWalk failes to identify the bones, unless the Reverse Hip option has been enabled.
If automatic bone identification still fails, bone mapping has to be made manually. How this is done is described in the next section.
=== Defining the Target Rig Manually ===
Internally, MakeWalk retargets animations to an armature with the following bone hierarchy.
Here is a visual illustration of the bone hierarchy:
[[File:mwa-010-armature.png]]
In order to retarget to an armature with different bone names, we must define a map between the given bones and the internal names. By default, MakeWalk attempts to do this automatically. However, automatic bone mapping may easily be confused for non-trivial rigs. If this happens, one can define the bone map manually.
A bone map for a target armature is defined by a .trg file located in the target_rigs folder under the makewalk directory. The folder already contains three files, for retargeting the MHX advanced rig, the MakeHuman, and Rigify. These rigs are too complicated to identify the bone map automatically, so MakeWalk recognizes these rigs and use the predefined bone map.
Create a .trg file using an existing file as a template. E.g., a .trg file could look like this:
Note that it is not necessary to define maps to all bones. Bone names must not contain spaces, since whitespace is used as a delimiter in the .trg file. If the bones in your armature do contain spaces, replace them by underscore ( _ ). MakeWalk treats space and underscore as equivalent, so this is not a problem, except for very strange naming convention.
[[File:mwa-020-myrig.png]]
Save the .trg file with the name my_rig.trg in the target_rigs folder and press the Reinit Target Panel button. My_Rig should now appear in the Target rig list. Select it. In the FK bones sections, the My_Rig bone names are now listed. Make sure that the Auto Target Rig option is deselected, to override automatic bone mapping. Finally go to the main panel and press Load And Retarget. The animation should now be loaded.
=== MHBlenderTools: MakeWalk utilities ===
==== Utilities panel ====
This panel contains material that does not naturally fit into the other panels.
[[File:mwu-010-panel.png]]
=== Default Settings ===
* Save Defaults: Save current settings as the default settings.
* Load Defaults: Load the default settings from file.
=== Manage Actions ===
* Actions: A list of all actions in the scene, at the time when the Update Action List button was last pressed.
* Filter: If selected, only actions belonging to the active character are included in the action list. When the mocap tool creates an action, the first four letters in the action name are taken from the rig name.
* Update Action List:
* Set Current Action: Set the action selected in the Actions list as the active action.
* Delete Action: Permanently delete the action selected in the Actions list. The action must have zero users. It is quite cumbersome to permanently delete actions in Blender. The reason is that creating an action with hand animation takes much work, which should not be lost accidentally. The situation is different with mocap, where it is easy to fill up a blend file with many irrelevant actions. This button makes it easier to clean out such junk motions.
* Delete Temporary Actions: Some tools create temporary actions, whose names start with a hash sign (#). Deletes all such actions.
=== Temporary properties ===
* Delete Temporary Properties. MakeWalk creates some properties for relevant posebones during retargeting. Pressing this button removes these properties. However, be aware that some of the tools in the Edit panel may fail if the temporrary properties are deleted.
The temporary properties for the active posebone can be inspected in the N-panel.
[[File:mwu-030-temp-props.png]]
* McpBone: The name of this bone in the internal hierarchy.
* McpParent: The parent of this bone in the internal hierarchy.
* McpQuatW, McpQuatX, McpQuatY, McpQuatZ: The rotation of this bone in T-pose, represented as a quaternion.
=== T-pose ===
* Set T-pose: Set the current pose to T-pose.
* Clear T-pose: Set the current pose to the default pose.
* Load T-pose: Load a T-pose from a .json file to the active armature.
* Save T-pose: Save the current pose as a .json file.
=== Rest Pose ===
* Current Pose => Rest Pose: Set the current pose to rest pose.
808ed583a73c26825cc22345664faa20a94a0b94
1352
1351
2017-03-15T01:36:24Z
Robbaer
12
/* Troubleshooting */
wikitext
text/x-wiki
=== NOTE ===
There is a wealth of important information in this document, but some of the detail is badly out of date. Most of the fundamental information is quite usable, nevertheless. Things that need repairing:
* Broken links
* Reference to armatures in older version of MakeHuman
* The MakeWalk tool is now found as a tab on the T-side-panel in Blender
------------------------------------
MakeWalk is a Blender add-on for retargeting mocap data (.bvh files) to a given armature.
==== Retargeting: how it works ====
The goal of retargeting is to transfer a motion from a source armature (e.g. from a BVH file) to a given target armature (e.g. the MHX rig). However, it is not straightforward to assign the source action to the target rig, even if the bones have identical names. The motion of each bone is specified in local coordinates, relative to the parent and the bone's own rest pose. If the rest poses of the source and target armatures differ, the source F-curves can not be used directly by the target armature.
[[File:makewalk-1.png]]
The picture above shows a transformation in the local coordinate system. Since the parent's local Y points along its axis and its local Z points up, the child bone is rotated around the local X axis. This is not very useful if the target armature has a diffent rest pose. To retarget the pose, we therefore reexpress the transformation in the global coordinate system, as shown below. The local X rotation corresponds to a global Y rotation, and by a different angle. Once the global transformation matrix is known, we can reexpress it in the target bone's local coordinate system.
The retargeting process thus consists of making two coordinate transformations:
Source local => Global => Target local.
This will ensure that the source bone and the target bone will have the same global orientation.
[[File:makewalk_2.png]]
Unfortunately, things are a little more complicated. We do not always want the source and target bones to have identical orientation. In particular, the root or pelvis bone may point in entirely different directions in different armatures. E.g. in the CMU armature rest pose the pelvis points forward-down, and in the MHX rig it points straight up.
[[File:makewalk-3.png]]
If we insisted that the root bone in the MHX rig would point in the same direction as in the CMU rig, the retargeting would not be very successful, as shown in the figure above. If we instead keep the rotation offset from the rest poses, the target pose becomes much better, as shown below.
To calibrate the source and target armature against each other, MalkWalk introduces extra keyframes at frame 0, where both armatures are posed in T-pose.
[[File:mcp-ret-060-calibrate.png]]
In the rest of the animation, bones in the target armature copy the global rotations of the source armature, apart from differences present in the T-poses. In this way we can transfer animations from CMU to the MHX rig, despite the fact that the rest poses are very different.
==== Basic Workflow ====
=== Retargeting ===
The MakeWalk panels appear in the tool shelf whenever an armature is the active object. Select the armature and press the Load And Retarget button. In the file selector, select the .bvh file. We choose the file 90_04.bvh from the CMU database. It is a cartwheel animation.
[[File:makewalk-4.png]]
After a short wait, the armature is doing gymnastics.
[[File:makewalk-5.png]]
At frame 0 of the animation the armature has been placed in T-pose. This is not part of the originial .bvh file, but inserted by MakeWalk to calibrate the source armature (defined by the bvh file) and the target armature (the selected armature in the viewport) against each other.
=== Supported armatures ===
MakeWalk works with most straightforward biped rigs with FK arms and legs, such as the Rigify meta-rig. There is also built-in support for some more complex rigs: the MHX advanced rig from MakeHuman, the MHX rig from MakeHuman and Rigify.
[[File:makewalk-6.png]]
It is often possible to use MakeWalk with other complex rig, but in that case the automatic bone identification may fail. If so, a bone map must be defined manually, see!LINK!http://makehuman.org/doc/node/defining_the_target_rig_manually.html -- Defining a Target Rig Manually!/LINK!.
=== Troubleshooting ===
Retargeting is a rather involved subject, and it can sometimes result in poor motion. The process may even fail completely, usually because MakeWalk failed to automatically identify the bones of a complex rig. If this should happen, see!LINK!http://www.makehumancommunity.org/wiki/Documentation:MakeWalk#Errors_and_Corrective_Actions -- Errors and Corrective Actions!/LINK!.
==== Where to find BVH files ====
There are several different formats that mocap files can be stored in. MakeHuman's mocap tool can only deal with files in Biovision BVH format. BVH files can be bought from many commercial sources, but a large range of mocap files are also available for free download. Here are some sites I found useful.
* CMU Graphics Lab Motion Capture Database: Hosted at Carnegie-Mellon University, this is a huge library of mocap files which can be downloaded for free. The web address is!LINK!http://mocap.cs.cmu.edu/ -- http://mocap.cs.cmu.edu!/LINK!. CMU hosts mocap files in three formats: tvd, c3d and amc. However, the mocap tool can only read BVH files, so none of these files can be used directly. Fortunately, B. Hahne at!LINK!http://www.cgspeed.com/ -- www.cgspeed.com!/LINK!has converted the CMU files to BVH. The converted files are located at!LINK!http://sites.google.com/a/cgspeed.com/cgspeed/motion-capture -- http://sites.google.com/a/cgspeed.com/cgspeed/motion-capture!/LINK!.
* Advanced Computing Center for the Arts and Design (ACCAD): Hosted at the Ohio State University, this is another great source of free mocap files. BVH files can be downloaded from!LINK!http://accad.osu.edu/research/mocap/mocap_data.htm -- http://accad.osu.edu/research/mocap/mocap_data.htm!/LINK!
* Eyes Japan (mocapdata.com):This is a Japanese company that sells mocap data commercially, but they also offer a huge number of motions for free. According to their homepage, mocapdata.com provides 744 premium motion data and 4197 free motion data. The only catch is that downloading requires registration. Not surprisingly, the homepage of mocapdata.com has the address!LINK!http://www.mocapdata.com/ -- http://www.mocapdata.com/!/LINK!.
* The Trailer's Park: Free mocap data can also be found at the Trailer's Park,!LINK!http://www.thetrailerspark.com/ -- http://www.thetrailerspark.com!/LINK!. This site does not offer original data, but offer repacks of mocap data from other free sites for download. Free download is limited to some five packs per day, so some patience is required here.
* Hochschule der Medien, Universität Bonn (HDM):!LINK!http://www.mpi-inf.mpg.de/resources/HDM05/ -- http://www.mpi-inf.mpg.de/resources/HDM05!/LINK!
* The Perfume global site project #001:!LINK!http://perfume-dev.github.com/ -- http://perfume-dev.github.com/!/LINK!
=== MHBlenderTools: MakeWalk user interface ===
==== The user interface ====
The user > interface of MakeWalk is located in under the Armature tab, and becomes visible when an armature is selected. It consists of six panels; the first one is open by default and the others are closed.
[[File:makewalk-7_0.png]]
* Load And Retarget: Select a BVH file and retarget it to the active armature.
* Start Frame: The first frame in the BVH file to considered.
* Last Frame: The last frame to be considered, unless the animation stops earlier. The difference last_frame - first_frame is the maximal number of frames after retargeting. The number of frames in the BVH file may be larger, if some frames are skipped due to subsampling
* Detailed steps: When this options is selected, further buttons are show below
* Load BVH File (.bvh). Load a BVH file, and create an animated armature from it.
* Rename And Rescale BVH Rig. With the BVH armature active, and a target armature selected, rename and rescale the bones of the active armature to fit the target.
* Load And Rename BVH File (.bvh). A combination of the previous two buttons. With a target armature active, load a BVH file, and create an animated armature with renamed and rescaled bones.
* Retarget Selected To Active. Retarget the animation from a renamed and rescaled BVH armature to the active armature.
* Simplify FCurves. Simplify the F-curves of the active armature.
* Rescale FCurves. Rescale F-curevs of the active armature.What if retargeting fails?
MakeWalk is designed to retarget animations to a given armature with a minimum of user intervention. However, retargeting is a complex process, and entirely automatic retargeting may fail or result in suboptimal motion. Information about how to identify and correct problems is found in!LINK!/doc/node/blendertools_makewalk_troubleshooting.html -- Errors and Corrective Actions!/LINK!.
A common problem is that automatic identification of bones in the target armature fails. A bone map can then be assigned manually, cf.!LINK!/doc/node/blendertools_makewalk_troubleshooting.html -- Defining the Target Rig Manually.!/LINK!
==== Options panel ====
[[File:makewalk-8.png]]
* Use Default Subsample. Blender normally plays the animation in 24 fps or 25 fps, but the animation in the BVH file may be recorded at a different speed. In particular, the BVH files from CMU were filmed at 120 fps. Enable this option to have the animation play at natural speed, irrespective of the frame rate in the BVH file. Other subsample options are described below.
* Auto scale. Set the scale automatically based on the size of the left thigh. This choice has two motivations:
* Almost all character do have a left leg.
* The leg size is crucial for making walk cycles look good.
* Scale. The default MakeHuman scale is decimeters - 1 unit = 1 decimeter. Translations in a BVH file are expressed in different units; often the base unit is inches, meters or centimeters, but more obscure units can also occur, e.g. in BVH files from CMU. If the scale is set incorrectly, rotations will still be correctly retargeted, but the character will appear to take giant leaps or miniscule steps.
* Use Limits: If this option is enabled, MakeWalk honors any Limit Rotation constraints, and will not allow excessive rotations. If the animation in the bvh files exceeds some rotation limits, this makes the retargeted animation less faithful. On the other hand, the rig may not be built for excessive rotations, so unchecking this option can lead to other problems.
* Unlock Rotation: If this option is disabled, MakeWalk honors any rotation locks. If the animation in the bvh files bend around locked axes, this makes the retargeted animation less faithful. If Unlock Rotation is enabled, any X or Z rotation locks are disabled. Y rotation locks (bone twisting) are never disabled. The reason for this is that in the MHX and Rigify rigs, forearm rotation is handled by deform bones controlled by hand twisting.
* Auto source rig. The source rig (i.e. the armature defined by the BVH file) is specified in the!LINK!/doc/node/blendertools_makewalk_source_and_target_armature.html -- Source Armature panel!/LINK!. Enable this option if the mocap tool should attempt to automatically identify the source rig, based on the structure of the bone hierarchy.
* Auto target rig. The target rig (i.e. the armature in the blend file) is specified in the!LINK!/doc/node/blendertools_makewalk_source_and_target_armature.html -- Target Armature panel!/LINK!. Enable this option if the mocap tool should attempt to automatically identify the target rig, based on the structure of the bone hierarchy.
* Ignore Hidden Layers. Ignore bones on hidden layers when identifying the target rig.
=== Subsample and Rescale ===
If the Use Default Subsample option is set, the mocap tool will rescale the animation to fit the current frame rate. However, there are at least two reasons why you may want to load an animation at a different frame rate:
* * To obtain a slow-motion or rapid-motion effect.
* To quickly load an animation to see if the gross features will work out.
If the Use Default Subsample option is disabled, the SubSample section becomes visible.
* Subsample. Enable subsampling.
* Subsample Factor. If the value of this property is n, only every n:th frame of the BVH animation is loaded.
* Rescale. Enable rescaling.
* Rescale Factor. If the value of this property is n, the time distance between keyframes is changed to n.
* Rescale FCurves. Apply the settings above to existing F-curves rather than to the loaded animation.
Rescaling differs from simply scaling F-curves in the F-curve editor.
=== Simplification ===
* Simplify FCurves. Remove unnecessary keyframes.
* Max Loc Error. The maximal allowed error for location keyframes, in Blender units. A larger error results in fewer keyframes but less accuracy.
* Max Rot Error. The maximal allowed error for rotation keyframes, in degrees. A larger error results in fewer keyframes but less accuracy.
* Only Visible. Simplification only affect F-curves visible in the Graph editor.
* Only Between Markers. Simplification only affects F-curves between the two outermost selected markers. The timeline must have at least two selected markers.
==== Edit panel ====
Loading and retargeting is normally only the first step in the creation of an animation from mocap data. There are many reasons why a loaded animation does not behave exactly the way you want it to: artifacts in the mocap data, differences in armature structure not compensated for correctly by the retargeting process, differences in body stature between the mocap actor and the target character, or simply that the filmed sequence does not do exactly what you intend.. It is of course possible to edit the action directly in the graph editor, but this is unpractical due to the amount of mocap data. The mocap tool offers several possibilities to edit an action at a higher level. These tools are colleted in the Edit Action panel which is located just below the Options panel.
[[File:edit-action.png]]
=== Inverse Kinematics ===
* Transfer FK => IK: The load and retarget steps transfers an animation from a bvh file to the target character. However, only the FK bones are animated. Press this button to transfer the FK animation to the IK bones. Only works for the advanced MHX armature. If two markers are selected, only the animation between the markers is transferred.
* Transfer IK => FK: Transfer the animation back from the IK bones to the FK bones. Useful if the IK animation has been edited,
* Clear IK Animation: Remove all keyframes from all IK bones (arms and legs).
* Clear FK Animation: Remove all keyframes from all FK bones (arms and legs).
=== Global Edit ===
* Shift Animation. Shift the keys for the selected bones at all keyframes.If two markers are selected, only the keyframes between the markers are deleted.
* X,Y,Z: F-curves affected by the next button.
* Fixate Bone Locations:Replace all location keys by their average. Only selected bones and keyframes between selected markers are affected.
* Rescale Factor: Factor used by next button.
* Rescale FCurves: Rescale all F-curves by the factor above. This is similar to scaling F-curves in the curve editor, but jumps are treated correctly. E.g., rotations of +180 degrees and -180 degrees are the same, but if we scale an F-curve with a factor two, the intermedate keyframe will have the average rotation 0 degrees, The Rescale FCurves button handles this case correctly.
=== Local Edit ===
This section could be called "Poor man's animation layers". A loaded mocap animation usually has imperfections that must be edited, but without changing the overall feel of the motion. The Start Edit button creates a new animation layer where differences from the original motion are stored as keys, called delta keys since delta often denotes a difference.
* Start Edit: Start editing F-curves.
* Undo Edit: Quit F-curve editing, without modifying the original F-curves.
* Loc: Set a location delta keyframe.
* Rot: Set a rotation delta keyframe.
* LocRot: Set a location and rotation delta keyframe.
* Delete: Remove all delta keyframes at the current time.
* |<: Move to first delta keyframe
* <: Move to previous delta keyframe.
* >: Move to next delta keyframe.
* >|: Move to last delta keyframe.
* Confirm Edit: Modify the original F-curves and quit F-curve editing.
The delta keys are represented by markers in the timeline.
[[File:mwe-315-local-keys.png]]
A delta key can be added with the Loc, Rot and LocRot buttons, and removed with Delete. There is no way to view the delta keys directly. In the viewport and the curve editor, the final pose is shown, which is the sum of the original pose and the delta key.
A common use for delta keys is to correct for intersection with other objects or the character herself. The typical workflow is as follows:
* * Start Edit.
* Set a delta key at a good frame just before the intersection.
* Set a delta key at a good frame just after the intersection.
* Edit the pose a the frame(s) where intersection occurs.
* If the intersection has been removed, Confirm Edit. If not, set new delta keys until it has, or Undo Edit to remove the delta layer.
=== Feet ===
* Left: Affect the left foot.
* Right: Affect the right foot.
* Hips: Affect the characters hip (COM) bone.
* Offset Toes: Ensure that the toe is below the ball of the foot at all keyframes. Primarily useful for rigs with a reverse foot setup as explained below.
* Keep Feet Above Floor: If a mesh object (typically a plane) is selected, shift the keyframes to keep the affected feet above the plane. The plane does not necessarily lie in the XY plane; if the plane is tilted, the feet are kept on the plane's upper side. If no plane is selected, the feet are kept above the XY plane (z = 0). The IK feet are affected if the rig has and uses IK legs, otherwise the FK feet are kept above the floor. If two markers are selected, only the keyframes inbetween are shifted.
In a rig with a reverse foot setup, such as the MHX rig, the foot can rotate around the toe, ball, and heel. The reverse foot and toe bones are completely fixed by the corresponding FK bones, but the IK effector can be placed arbitrarily, as long as it ends at the toe tip. The transfer tool uses this freedom to make the IK effector perfectly horizontal, provided that the toe is below the ball and heel.
[[File:refoot.png]]
To use this feature we must ensure that the toe is below the ball of the foot, which is done by the Offset Toes button.
=== Loop And Repeat ===
!LINK! -- Loop Animation!/LINK!
Create a loop of the action between two selected time markers, by blending the keyframes in the beginning and end of the loop. This is useful e.g. to create walk and run cycles for games. For good results, the poses at the beginning and end of the selected region should be similar.
* Blend Range: The number of keyframes used for blending.
* Loop in place: Remove the X and Y components of the root bone's location.
* Loop F-curves: Loop the animation.
!LINK! -- Repeat Animation!/LINK!
Repeat the action between two selected time markers. The actions should preferably be looped before it is repeated, to make the beginning and end match seamlessly.
* Repeat Number: The number of repetitions.
* Repeat F-curves: Repeat the animation.
=== Stitching ===
Create a new action by stitching two actions together seamlessly.
* Update Action List: Update the first and second action drop-down lists.
* First Action: The name of the first action.
* First End Frame: Last frame of the first action
* Set Current Action: Set the first action as the current action.
* Second Action: The name of the second action.
* Second Start Frame: First frame of the second action.
* Set Current Action: Set the second action as the current action.
* Action Target: Choose between creating a new action and prepending the second action.
* Blend Range: The number of keyframes used for blending. Same parameter as in Loop Animations section.
* Output Action Name:
* Stitch Actions: Stitch the actions together.
=== MHBlenderTools: MakeWalk armatures ===
==== Source Armature panel ====
MakeWalk transfers an animation from a source armature, defined in a bvh file, to a given target armature. It uses an intermediate standard rig described in!LINK!http://makehuman.org/doc/node/defining_the_target_rig_manually.html -- Defining the Target Rig Manually!/LINK!. The bone map from the source armature to the target armature hence consists of two parts:
* A map from the source rig to the standard rig. It is defined in the MakeWalk: Source Armature panel.
* A map from the target rig to the standard rig. It is defined in the!LINK!http://makehuman.org/doc/node/makewalk_target_armature_panel.html -- MakeWalk: Target Armature panel!/LINK!.
[[File:mws-010-panel.png]]
When a new scene is opened, the panel consists of the single button Initialize Source Panel. Once this button has been pressed, the following content is available:
[[File:mws-020-auto.png]]
* Reinit Source Panel: Reinitialization.
* Auto Source Rig: If this option is enabled, MakeWalk will try to identify the source rig automatically. It may happen that MakeWalk fails to identify the source rig automatically, but this is very unusual. If it should nevertheless happen, it is possible to define the bone map manually in analogy with !LINK!http://makehuman.org/doc/node/defining_the_target_rig_manually.html -- how it is done for target rigs!/LINK!.
* Source rig. A list of bvh rigs recognized by the mocap tool. This either defines the expected source rig (if Auto Source Rig is disabled) or to Automatic.
* Bones in the active source rig.
==== Target Armature panel ====
The second part of the mapping from source to target armatures is defined by the panel labelled MH Mocap: Target armature. It is the top-most of the mocap tool panels, and is closed by default.
When a new scene is opened, the panel consists of the single button Initialize Target Panel. Once this button has been pressed, the following content is available:
[[File:mwt-011-panel.png]]
* Reinit Target Panel. Reinitialization.
* Target rig. A list of bvh rigs recognized by the mocap tool. This either defines the expected Target rig (if Auto Target rig guessing is disabled), or is set to a matching rig (if automatic target rig identificiation is enabled).
* Auto Target Rig. If this option is enabled, MakeWalk will try to identify the target rig automatically. However, automatic rig identification is not trivial for complex rigs, and it may fail. If so, the bone map may be specified manually, cf!LINK!http://makehuman.org/doc/node/defining_the_target_rig_manually.html -- Defining the Target Rig Manually!/LINK!. If the bone map is defined. The target rigs available by default correspond mostly to the rig presets that can be exported from MakeHuman
* MHX. An advanced rig from MakeHuman alpha 8.
* MH Alpha 7. The MHX rig from MakeHuman alpha 7.
* Rigify.
* Ignore Hidden Layers: Ignore bones on hidden layers during automatic rig identification.
* Reverse Hip. Select this option if the armature has an reverse hip. It is rather common that an armature has a reverse hip. In a normal hip setup, the armature root is the hip or pelvis bone, and the thighs and the rest of the spine are children of this bone. In a reverse hip setup, the first bone in the spine has been reversed. There is a separate root bone, and the two lowest bones in the spine are both children of thise root, whereas the thighs are children of the reversed hip.
* Identify Target Rig: Identify the target rig, i.e. find out how bone names in the active armature correspond to the internal names. This step is performed automatically during retargeting, but the identification can also be done separately for debugging purposes. The bone map appears in the area called FK bones below.
* Set T-pose. Pose the active armature in T-pose.
* Save T-pose. Option used by the next button.
* Save Target File. Save the current bone map as a .trg file. If the Save T-pose option is set, also save a json file defining the T-pose.
* FK bones. The bone map.
The picture below shows automatic rig identification of the Rigify meta-rig (Add > Armature > Advanced Human).
[[File:mwt-020-metarig.png]]
=== MHBlenderTools: MakeWalk troubleshooting. ===
==== What if retargeting fails? ====
=== Errors and Corrective Actions ===
This document will describe common errors and corrective actions.
It may happen that MakeWalk fails to retarget an animation to a given armature. In that case an error message is displayed.
[[File:mwa-100-error.png]]
The error message consists of the following:
Mocap error
Category
Detailed error message
A link to this page
MakeWalk errors are grouped into the following categories:
* Load Bvh File
* Rename And Rescale
* Identify Target Rig
* Automatic Target Rig
* Manual Target Rig
* Identify Source Rig
* Retarget
* General Error
Load Bvh File
Rename And Rescale
Identify Target Rig
=== Automatic Target Rig ===
The most common problem is probably that MakeWalk fails to identify the target rig automatically. There are several possible reasons for this:
* The character is not oriented correctly. In the rest pose, the character should be standing with up being the positive Z axis and facing -Y.
* The armature is complex with extra bones not corresponding to a standard biped rig.
* The armature only has IK arms or legs. MakeWalk retargets animations to the FK limbs, so if no such bones exist, the program will not work.
[[File:mwa-110-reverse-hip.png]]
It is rather common that an armature has a reverse hip. In a normal hip setup, the armature root is the hip or pelvis bone, and the thighs and the rest of the spine are children of this bone. In a reverse hip setup, the first bone in the spine has been reversed. There is a separate root bone, and the two lowest bones in the spine are both children of thise root, whereas the thighs are children of the reversed hip.
[[File:mwa-120-reversehip.png]]
The advantage of such a setup is that the upper and lower body can be posed independently. However, MakeWalk failes to identify the bones, unless the Reverse Hip option has been enabled.
If automatic bone identification still fails, bone mapping has to be made manually. How this is done is described in the next section.
=== Defining the Target Rig Manually ===
Internally, MakeWalk retargets animations to an armature with the following bone hierarchy.
Here is a visual illustration of the bone hierarchy:
[[File:mwa-010-armature.png]]
In order to retarget to an armature with different bone names, we must define a map between the given bones and the internal names. By default, MakeWalk attempts to do this automatically. However, automatic bone mapping may easily be confused for non-trivial rigs. If this happens, one can define the bone map manually.
A bone map for a target armature is defined by a .trg file located in the target_rigs folder under the makewalk directory. The folder already contains three files, for retargeting the MHX advanced rig, the MakeHuman, and Rigify. These rigs are too complicated to identify the bone map automatically, so MakeWalk recognizes these rigs and use the predefined bone map.
Create a .trg file using an existing file as a template. E.g., a .trg file could look like this:
Note that it is not necessary to define maps to all bones. Bone names must not contain spaces, since whitespace is used as a delimiter in the .trg file. If the bones in your armature do contain spaces, replace them by underscore ( _ ). MakeWalk treats space and underscore as equivalent, so this is not a problem, except for very strange naming convention.
[[File:mwa-020-myrig.png]]
Save the .trg file with the name my_rig.trg in the target_rigs folder and press the Reinit Target Panel button. My_Rig should now appear in the Target rig list. Select it. In the FK bones sections, the My_Rig bone names are now listed. Make sure that the Auto Target Rig option is deselected, to override automatic bone mapping. Finally go to the main panel and press Load And Retarget. The animation should now be loaded.
=== MHBlenderTools: MakeWalk utilities ===
==== Utilities panel ====
This panel contains material that does not naturally fit into the other panels.
[[File:mwu-010-panel.png]]
=== Default Settings ===
* Save Defaults: Save current settings as the default settings.
* Load Defaults: Load the default settings from file.
=== Manage Actions ===
* Actions: A list of all actions in the scene, at the time when the Update Action List button was last pressed.
* Filter: If selected, only actions belonging to the active character are included in the action list. When the mocap tool creates an action, the first four letters in the action name are taken from the rig name.
* Update Action List:
* Set Current Action: Set the action selected in the Actions list as the active action.
* Delete Action: Permanently delete the action selected in the Actions list. The action must have zero users. It is quite cumbersome to permanently delete actions in Blender. The reason is that creating an action with hand animation takes much work, which should not be lost accidentally. The situation is different with mocap, where it is easy to fill up a blend file with many irrelevant actions. This button makes it easier to clean out such junk motions.
* Delete Temporary Actions: Some tools create temporary actions, whose names start with a hash sign (#). Deletes all such actions.
=== Temporary properties ===
* Delete Temporary Properties. MakeWalk creates some properties for relevant posebones during retargeting. Pressing this button removes these properties. However, be aware that some of the tools in the Edit panel may fail if the temporrary properties are deleted.
The temporary properties for the active posebone can be inspected in the N-panel.
[[File:mwu-030-temp-props.png]]
* McpBone: The name of this bone in the internal hierarchy.
* McpParent: The parent of this bone in the internal hierarchy.
* McpQuatW, McpQuatX, McpQuatY, McpQuatZ: The rotation of this bone in T-pose, represented as a quaternion.
=== T-pose ===
* Set T-pose: Set the current pose to T-pose.
* Clear T-pose: Set the current pose to the default pose.
* Load T-pose: Load a T-pose from a .json file to the active armature.
* Save T-pose: Save the current pose as a .json file.
=== Rest Pose ===
* Current Pose => Rest Pose: Set the current pose to rest pose.
596261c49bb16ffce4d19e4c9195ff4153d7b958
1351
1350
2017-03-15T01:08:24Z
Robbaer
12
/* NOTE */
wikitext
text/x-wiki
=== NOTE ===
There is a wealth of important information in this document, but some of the detail is badly out of date. Most of the fundamental information is quite usable, nevertheless. Things that need repairing:
* Broken links
* Reference to armatures in older version of MakeHuman
* The MakeWalk tool is now found as a tab on the T-side-panel in Blender
------------------------------------
MakeWalk is a Blender add-on for retargeting mocap data (.bvh files) to a given armature.
==== Retargeting: how it works ====
The goal of retargeting is to transfer a motion from a source armature (e.g. from a BVH file) to a given target armature (e.g. the MHX rig). However, it is not straightforward to assign the source action to the target rig, even if the bones have identical names. The motion of each bone is specified in local coordinates, relative to the parent and the bone's own rest pose. If the rest poses of the source and target armatures differ, the source F-curves can not be used directly by the target armature.
[[File:makewalk-1.png]]
The picture above shows a transformation in the local coordinate system. Since the parent's local Y points along its axis and its local Z points up, the child bone is rotated around the local X axis. This is not very useful if the target armature has a diffent rest pose. To retarget the pose, we therefore reexpress the transformation in the global coordinate system, as shown below. The local X rotation corresponds to a global Y rotation, and by a different angle. Once the global transformation matrix is known, we can reexpress it in the target bone's local coordinate system.
The retargeting process thus consists of making two coordinate transformations:
Source local => Global => Target local.
This will ensure that the source bone and the target bone will have the same global orientation.
[[File:makewalk_2.png]]
Unfortunately, things are a little more complicated. We do not always want the source and target bones to have identical orientation. In particular, the root or pelvis bone may point in entirely different directions in different armatures. E.g. in the CMU armature rest pose the pelvis points forward-down, and in the MHX rig it points straight up.
[[File:makewalk-3.png]]
If we insisted that the root bone in the MHX rig would point in the same direction as in the CMU rig, the retargeting would not be very successful, as shown in the figure above. If we instead keep the rotation offset from the rest poses, the target pose becomes much better, as shown below.
To calibrate the source and target armature against each other, MalkWalk introduces extra keyframes at frame 0, where both armatures are posed in T-pose.
[[File:mcp-ret-060-calibrate.png]]
In the rest of the animation, bones in the target armature copy the global rotations of the source armature, apart from differences present in the T-poses. In this way we can transfer animations from CMU to the MHX rig, despite the fact that the rest poses are very different.
==== Basic Workflow ====
=== Retargeting ===
The MakeWalk panels appear in the tool shelf whenever an armature is the active object. Select the armature and press the Load And Retarget button. In the file selector, select the .bvh file. We choose the file 90_04.bvh from the CMU database. It is a cartwheel animation.
[[File:makewalk-4.png]]
After a short wait, the armature is doing gymnastics.
[[File:makewalk-5.png]]
At frame 0 of the animation the armature has been placed in T-pose. This is not part of the originial .bvh file, but inserted by MakeWalk to calibrate the source armature (defined by the bvh file) and the target armature (the selected armature in the viewport) against each other.
=== Supported armatures ===
MakeWalk works with most straightforward biped rigs with FK arms and legs, such as the Rigify meta-rig. There is also built-in support for some more complex rigs: the MHX advanced rig from MakeHuman, the MHX rig from MakeHuman and Rigify.
[[File:makewalk-6.png]]
It is often possible to use MakeWalk with other complex rig, but in that case the automatic bone identification may fail. If so, a bone map must be defined manually, see!LINK!http://makehuman.org/doc/node/defining_the_target_rig_manually.html -- Defining a Target Rig Manually!/LINK!.
=== Troubleshooting ===
Retargeting is a rather involved subject, and it can sometimes result in poor motion. The process may even fail completely, usually because MakeWalk failed to automatically identify the bones of a complex rig. If this should happen, see!LINK!http://www.makehuman.org/doc/node/makewalk_errors_and_corrective_actions.html -- Errors and Corrective Actions!/LINK!.
==== Where to find BVH files ====
There are several different formats that mocap files can be stored in. MakeHuman's mocap tool can only deal with files in Biovision BVH format. BVH files can be bought from many commercial sources, but a large range of mocap files are also available for free download. Here are some sites I found useful.
* CMU Graphics Lab Motion Capture Database: Hosted at Carnegie-Mellon University, this is a huge library of mocap files which can be downloaded for free. The web address is!LINK!http://mocap.cs.cmu.edu/ -- http://mocap.cs.cmu.edu!/LINK!. CMU hosts mocap files in three formats: tvd, c3d and amc. However, the mocap tool can only read BVH files, so none of these files can be used directly. Fortunately, B. Hahne at!LINK!http://www.cgspeed.com/ -- www.cgspeed.com!/LINK!has converted the CMU files to BVH. The converted files are located at!LINK!http://sites.google.com/a/cgspeed.com/cgspeed/motion-capture -- http://sites.google.com/a/cgspeed.com/cgspeed/motion-capture!/LINK!.
* Advanced Computing Center for the Arts and Design (ACCAD): Hosted at the Ohio State University, this is another great source of free mocap files. BVH files can be downloaded from!LINK!http://accad.osu.edu/research/mocap/mocap_data.htm -- http://accad.osu.edu/research/mocap/mocap_data.htm!/LINK!
* Eyes Japan (mocapdata.com):This is a Japanese company that sells mocap data commercially, but they also offer a huge number of motions for free. According to their homepage, mocapdata.com provides 744 premium motion data and 4197 free motion data. The only catch is that downloading requires registration. Not surprisingly, the homepage of mocapdata.com has the address!LINK!http://www.mocapdata.com/ -- http://www.mocapdata.com/!/LINK!.
* The Trailer's Park: Free mocap data can also be found at the Trailer's Park,!LINK!http://www.thetrailerspark.com/ -- http://www.thetrailerspark.com!/LINK!. This site does not offer original data, but offer repacks of mocap data from other free sites for download. Free download is limited to some five packs per day, so some patience is required here.
* Hochschule der Medien, Universität Bonn (HDM):!LINK!http://www.mpi-inf.mpg.de/resources/HDM05/ -- http://www.mpi-inf.mpg.de/resources/HDM05!/LINK!
* The Perfume global site project #001:!LINK!http://perfume-dev.github.com/ -- http://perfume-dev.github.com/!/LINK!
=== MHBlenderTools: MakeWalk user interface ===
==== The user interface ====
The user > interface of MakeWalk is located in under the Armature tab, and becomes visible when an armature is selected. It consists of six panels; the first one is open by default and the others are closed.
[[File:makewalk-7_0.png]]
* Load And Retarget: Select a BVH file and retarget it to the active armature.
* Start Frame: The first frame in the BVH file to considered.
* Last Frame: The last frame to be considered, unless the animation stops earlier. The difference last_frame - first_frame is the maximal number of frames after retargeting. The number of frames in the BVH file may be larger, if some frames are skipped due to subsampling
* Detailed steps: When this options is selected, further buttons are show below
* Load BVH File (.bvh). Load a BVH file, and create an animated armature from it.
* Rename And Rescale BVH Rig. With the BVH armature active, and a target armature selected, rename and rescale the bones of the active armature to fit the target.
* Load And Rename BVH File (.bvh). A combination of the previous two buttons. With a target armature active, load a BVH file, and create an animated armature with renamed and rescaled bones.
* Retarget Selected To Active. Retarget the animation from a renamed and rescaled BVH armature to the active armature.
* Simplify FCurves. Simplify the F-curves of the active armature.
* Rescale FCurves. Rescale F-curevs of the active armature.What if retargeting fails?
MakeWalk is designed to retarget animations to a given armature with a minimum of user intervention. However, retargeting is a complex process, and entirely automatic retargeting may fail or result in suboptimal motion. Information about how to identify and correct problems is found in!LINK!/doc/node/blendertools_makewalk_troubleshooting.html -- Errors and Corrective Actions!/LINK!.
A common problem is that automatic identification of bones in the target armature fails. A bone map can then be assigned manually, cf.!LINK!/doc/node/blendertools_makewalk_troubleshooting.html -- Defining the Target Rig Manually.!/LINK!
==== Options panel ====
[[File:makewalk-8.png]]
* Use Default Subsample. Blender normally plays the animation in 24 fps or 25 fps, but the animation in the BVH file may be recorded at a different speed. In particular, the BVH files from CMU were filmed at 120 fps. Enable this option to have the animation play at natural speed, irrespective of the frame rate in the BVH file. Other subsample options are described below.
* Auto scale. Set the scale automatically based on the size of the left thigh. This choice has two motivations:
* Almost all character do have a left leg.
* The leg size is crucial for making walk cycles look good.
* Scale. The default MakeHuman scale is decimeters - 1 unit = 1 decimeter. Translations in a BVH file are expressed in different units; often the base unit is inches, meters or centimeters, but more obscure units can also occur, e.g. in BVH files from CMU. If the scale is set incorrectly, rotations will still be correctly retargeted, but the character will appear to take giant leaps or miniscule steps.
* Use Limits: If this option is enabled, MakeWalk honors any Limit Rotation constraints, and will not allow excessive rotations. If the animation in the bvh files exceeds some rotation limits, this makes the retargeted animation less faithful. On the other hand, the rig may not be built for excessive rotations, so unchecking this option can lead to other problems.
* Unlock Rotation: If this option is disabled, MakeWalk honors any rotation locks. If the animation in the bvh files bend around locked axes, this makes the retargeted animation less faithful. If Unlock Rotation is enabled, any X or Z rotation locks are disabled. Y rotation locks (bone twisting) are never disabled. The reason for this is that in the MHX and Rigify rigs, forearm rotation is handled by deform bones controlled by hand twisting.
* Auto source rig. The source rig (i.e. the armature defined by the BVH file) is specified in the!LINK!/doc/node/blendertools_makewalk_source_and_target_armature.html -- Source Armature panel!/LINK!. Enable this option if the mocap tool should attempt to automatically identify the source rig, based on the structure of the bone hierarchy.
* Auto target rig. The target rig (i.e. the armature in the blend file) is specified in the!LINK!/doc/node/blendertools_makewalk_source_and_target_armature.html -- Target Armature panel!/LINK!. Enable this option if the mocap tool should attempt to automatically identify the target rig, based on the structure of the bone hierarchy.
* Ignore Hidden Layers. Ignore bones on hidden layers when identifying the target rig.
=== Subsample and Rescale ===
If the Use Default Subsample option is set, the mocap tool will rescale the animation to fit the current frame rate. However, there are at least two reasons why you may want to load an animation at a different frame rate:
* * To obtain a slow-motion or rapid-motion effect.
* To quickly load an animation to see if the gross features will work out.
If the Use Default Subsample option is disabled, the SubSample section becomes visible.
* Subsample. Enable subsampling.
* Subsample Factor. If the value of this property is n, only every n:th frame of the BVH animation is loaded.
* Rescale. Enable rescaling.
* Rescale Factor. If the value of this property is n, the time distance between keyframes is changed to n.
* Rescale FCurves. Apply the settings above to existing F-curves rather than to the loaded animation.
Rescaling differs from simply scaling F-curves in the F-curve editor.
=== Simplification ===
* Simplify FCurves. Remove unnecessary keyframes.
* Max Loc Error. The maximal allowed error for location keyframes, in Blender units. A larger error results in fewer keyframes but less accuracy.
* Max Rot Error. The maximal allowed error for rotation keyframes, in degrees. A larger error results in fewer keyframes but less accuracy.
* Only Visible. Simplification only affect F-curves visible in the Graph editor.
* Only Between Markers. Simplification only affects F-curves between the two outermost selected markers. The timeline must have at least two selected markers.
==== Edit panel ====
Loading and retargeting is normally only the first step in the creation of an animation from mocap data. There are many reasons why a loaded animation does not behave exactly the way you want it to: artifacts in the mocap data, differences in armature structure not compensated for correctly by the retargeting process, differences in body stature between the mocap actor and the target character, or simply that the filmed sequence does not do exactly what you intend.. It is of course possible to edit the action directly in the graph editor, but this is unpractical due to the amount of mocap data. The mocap tool offers several possibilities to edit an action at a higher level. These tools are colleted in the Edit Action panel which is located just below the Options panel.
[[File:edit-action.png]]
=== Inverse Kinematics ===
* Transfer FK => IK: The load and retarget steps transfers an animation from a bvh file to the target character. However, only the FK bones are animated. Press this button to transfer the FK animation to the IK bones. Only works for the advanced MHX armature. If two markers are selected, only the animation between the markers is transferred.
* Transfer IK => FK: Transfer the animation back from the IK bones to the FK bones. Useful if the IK animation has been edited,
* Clear IK Animation: Remove all keyframes from all IK bones (arms and legs).
* Clear FK Animation: Remove all keyframes from all FK bones (arms and legs).
=== Global Edit ===
* Shift Animation. Shift the keys for the selected bones at all keyframes.If two markers are selected, only the keyframes between the markers are deleted.
* X,Y,Z: F-curves affected by the next button.
* Fixate Bone Locations:Replace all location keys by their average. Only selected bones and keyframes between selected markers are affected.
* Rescale Factor: Factor used by next button.
* Rescale FCurves: Rescale all F-curves by the factor above. This is similar to scaling F-curves in the curve editor, but jumps are treated correctly. E.g., rotations of +180 degrees and -180 degrees are the same, but if we scale an F-curve with a factor two, the intermedate keyframe will have the average rotation 0 degrees, The Rescale FCurves button handles this case correctly.
=== Local Edit ===
This section could be called "Poor man's animation layers". A loaded mocap animation usually has imperfections that must be edited, but without changing the overall feel of the motion. The Start Edit button creates a new animation layer where differences from the original motion are stored as keys, called delta keys since delta often denotes a difference.
* Start Edit: Start editing F-curves.
* Undo Edit: Quit F-curve editing, without modifying the original F-curves.
* Loc: Set a location delta keyframe.
* Rot: Set a rotation delta keyframe.
* LocRot: Set a location and rotation delta keyframe.
* Delete: Remove all delta keyframes at the current time.
* |<: Move to first delta keyframe
* <: Move to previous delta keyframe.
* >: Move to next delta keyframe.
* >|: Move to last delta keyframe.
* Confirm Edit: Modify the original F-curves and quit F-curve editing.
The delta keys are represented by markers in the timeline.
[[File:mwe-315-local-keys.png]]
A delta key can be added with the Loc, Rot and LocRot buttons, and removed with Delete. There is no way to view the delta keys directly. In the viewport and the curve editor, the final pose is shown, which is the sum of the original pose and the delta key.
A common use for delta keys is to correct for intersection with other objects or the character herself. The typical workflow is as follows:
* * Start Edit.
* Set a delta key at a good frame just before the intersection.
* Set a delta key at a good frame just after the intersection.
* Edit the pose a the frame(s) where intersection occurs.
* If the intersection has been removed, Confirm Edit. If not, set new delta keys until it has, or Undo Edit to remove the delta layer.
=== Feet ===
* Left: Affect the left foot.
* Right: Affect the right foot.
* Hips: Affect the characters hip (COM) bone.
* Offset Toes: Ensure that the toe is below the ball of the foot at all keyframes. Primarily useful for rigs with a reverse foot setup as explained below.
* Keep Feet Above Floor: If a mesh object (typically a plane) is selected, shift the keyframes to keep the affected feet above the plane. The plane does not necessarily lie in the XY plane; if the plane is tilted, the feet are kept on the plane's upper side. If no plane is selected, the feet are kept above the XY plane (z = 0). The IK feet are affected if the rig has and uses IK legs, otherwise the FK feet are kept above the floor. If two markers are selected, only the keyframes inbetween are shifted.
In a rig with a reverse foot setup, such as the MHX rig, the foot can rotate around the toe, ball, and heel. The reverse foot and toe bones are completely fixed by the corresponding FK bones, but the IK effector can be placed arbitrarily, as long as it ends at the toe tip. The transfer tool uses this freedom to make the IK effector perfectly horizontal, provided that the toe is below the ball and heel.
[[File:refoot.png]]
To use this feature we must ensure that the toe is below the ball of the foot, which is done by the Offset Toes button.
=== Loop And Repeat ===
!LINK! -- Loop Animation!/LINK!
Create a loop of the action between two selected time markers, by blending the keyframes in the beginning and end of the loop. This is useful e.g. to create walk and run cycles for games. For good results, the poses at the beginning and end of the selected region should be similar.
* Blend Range: The number of keyframes used for blending.
* Loop in place: Remove the X and Y components of the root bone's location.
* Loop F-curves: Loop the animation.
!LINK! -- Repeat Animation!/LINK!
Repeat the action between two selected time markers. The actions should preferably be looped before it is repeated, to make the beginning and end match seamlessly.
* Repeat Number: The number of repetitions.
* Repeat F-curves: Repeat the animation.
=== Stitching ===
Create a new action by stitching two actions together seamlessly.
* Update Action List: Update the first and second action drop-down lists.
* First Action: The name of the first action.
* First End Frame: Last frame of the first action
* Set Current Action: Set the first action as the current action.
* Second Action: The name of the second action.
* Second Start Frame: First frame of the second action.
* Set Current Action: Set the second action as the current action.
* Action Target: Choose between creating a new action and prepending the second action.
* Blend Range: The number of keyframes used for blending. Same parameter as in Loop Animations section.
* Output Action Name:
* Stitch Actions: Stitch the actions together.
=== MHBlenderTools: MakeWalk armatures ===
==== Source Armature panel ====
MakeWalk transfers an animation from a source armature, defined in a bvh file, to a given target armature. It uses an intermediate standard rig described in!LINK!http://makehuman.org/doc/node/defining_the_target_rig_manually.html -- Defining the Target Rig Manually!/LINK!. The bone map from the source armature to the target armature hence consists of two parts:
* A map from the source rig to the standard rig. It is defined in the MakeWalk: Source Armature panel.
* A map from the target rig to the standard rig. It is defined in the!LINK!http://makehuman.org/doc/node/makewalk_target_armature_panel.html -- MakeWalk: Target Armature panel!/LINK!.
[[File:mws-010-panel.png]]
When a new scene is opened, the panel consists of the single button Initialize Source Panel. Once this button has been pressed, the following content is available:
[[File:mws-020-auto.png]]
* Reinit Source Panel: Reinitialization.
* Auto Source Rig: If this option is enabled, MakeWalk will try to identify the source rig automatically. It may happen that MakeWalk fails to identify the source rig automatically, but this is very unusual. If it should nevertheless happen, it is possible to define the bone map manually in analogy with !LINK!http://makehuman.org/doc/node/defining_the_target_rig_manually.html -- how it is done for target rigs!/LINK!.
* Source rig. A list of bvh rigs recognized by the mocap tool. This either defines the expected source rig (if Auto Source Rig is disabled) or to Automatic.
* Bones in the active source rig.
==== Target Armature panel ====
The second part of the mapping from source to target armatures is defined by the panel labelled MH Mocap: Target armature. It is the top-most of the mocap tool panels, and is closed by default.
When a new scene is opened, the panel consists of the single button Initialize Target Panel. Once this button has been pressed, the following content is available:
[[File:mwt-011-panel.png]]
* Reinit Target Panel. Reinitialization.
* Target rig. A list of bvh rigs recognized by the mocap tool. This either defines the expected Target rig (if Auto Target rig guessing is disabled), or is set to a matching rig (if automatic target rig identificiation is enabled).
* Auto Target Rig. If this option is enabled, MakeWalk will try to identify the target rig automatically. However, automatic rig identification is not trivial for complex rigs, and it may fail. If so, the bone map may be specified manually, cf!LINK!http://makehuman.org/doc/node/defining_the_target_rig_manually.html -- Defining the Target Rig Manually!/LINK!. If the bone map is defined. The target rigs available by default correspond mostly to the rig presets that can be exported from MakeHuman
* MHX. An advanced rig from MakeHuman alpha 8.
* MH Alpha 7. The MHX rig from MakeHuman alpha 7.
* Rigify.
* Ignore Hidden Layers: Ignore bones on hidden layers during automatic rig identification.
* Reverse Hip. Select this option if the armature has an reverse hip. It is rather common that an armature has a reverse hip. In a normal hip setup, the armature root is the hip or pelvis bone, and the thighs and the rest of the spine are children of this bone. In a reverse hip setup, the first bone in the spine has been reversed. There is a separate root bone, and the two lowest bones in the spine are both children of thise root, whereas the thighs are children of the reversed hip.
* Identify Target Rig: Identify the target rig, i.e. find out how bone names in the active armature correspond to the internal names. This step is performed automatically during retargeting, but the identification can also be done separately for debugging purposes. The bone map appears in the area called FK bones below.
* Set T-pose. Pose the active armature in T-pose.
* Save T-pose. Option used by the next button.
* Save Target File. Save the current bone map as a .trg file. If the Save T-pose option is set, also save a json file defining the T-pose.
* FK bones. The bone map.
The picture below shows automatic rig identification of the Rigify meta-rig (Add > Armature > Advanced Human).
[[File:mwt-020-metarig.png]]
=== MHBlenderTools: MakeWalk troubleshooting. ===
==== What if retargeting fails? ====
=== Errors and Corrective Actions ===
This document will describe common errors and corrective actions.
It may happen that MakeWalk fails to retarget an animation to a given armature. In that case an error message is displayed.
[[File:mwa-100-error.png]]
The error message consists of the following:
Mocap error
Category
Detailed error message
A link to this page
MakeWalk errors are grouped into the following categories:
* Load Bvh File
* Rename And Rescale
* Identify Target Rig
* Automatic Target Rig
* Manual Target Rig
* Identify Source Rig
* Retarget
* General Error
Load Bvh File
Rename And Rescale
Identify Target Rig
=== Automatic Target Rig ===
The most common problem is probably that MakeWalk fails to identify the target rig automatically. There are several possible reasons for this:
* The character is not oriented correctly. In the rest pose, the character should be standing with up being the positive Z axis and facing -Y.
* The armature is complex with extra bones not corresponding to a standard biped rig.
* The armature only has IK arms or legs. MakeWalk retargets animations to the FK limbs, so if no such bones exist, the program will not work.
[[File:mwa-110-reverse-hip.png]]
It is rather common that an armature has a reverse hip. In a normal hip setup, the armature root is the hip or pelvis bone, and the thighs and the rest of the spine are children of this bone. In a reverse hip setup, the first bone in the spine has been reversed. There is a separate root bone, and the two lowest bones in the spine are both children of thise root, whereas the thighs are children of the reversed hip.
[[File:mwa-120-reversehip.png]]
The advantage of such a setup is that the upper and lower body can be posed independently. However, MakeWalk failes to identify the bones, unless the Reverse Hip option has been enabled.
If automatic bone identification still fails, bone mapping has to be made manually. How this is done is described in the next section.
=== Defining the Target Rig Manually ===
Internally, MakeWalk retargets animations to an armature with the following bone hierarchy.
Here is a visual illustration of the bone hierarchy:
[[File:mwa-010-armature.png]]
In order to retarget to an armature with different bone names, we must define a map between the given bones and the internal names. By default, MakeWalk attempts to do this automatically. However, automatic bone mapping may easily be confused for non-trivial rigs. If this happens, one can define the bone map manually.
A bone map for a target armature is defined by a .trg file located in the target_rigs folder under the makewalk directory. The folder already contains three files, for retargeting the MHX advanced rig, the MakeHuman, and Rigify. These rigs are too complicated to identify the bone map automatically, so MakeWalk recognizes these rigs and use the predefined bone map.
Create a .trg file using an existing file as a template. E.g., a .trg file could look like this:
Note that it is not necessary to define maps to all bones. Bone names must not contain spaces, since whitespace is used as a delimiter in the .trg file. If the bones in your armature do contain spaces, replace them by underscore ( _ ). MakeWalk treats space and underscore as equivalent, so this is not a problem, except for very strange naming convention.
[[File:mwa-020-myrig.png]]
Save the .trg file with the name my_rig.trg in the target_rigs folder and press the Reinit Target Panel button. My_Rig should now appear in the Target rig list. Select it. In the FK bones sections, the My_Rig bone names are now listed. Make sure that the Auto Target Rig option is deselected, to override automatic bone mapping. Finally go to the main panel and press Load And Retarget. The animation should now be loaded.
=== MHBlenderTools: MakeWalk utilities ===
==== Utilities panel ====
This panel contains material that does not naturally fit into the other panels.
[[File:mwu-010-panel.png]]
=== Default Settings ===
* Save Defaults: Save current settings as the default settings.
* Load Defaults: Load the default settings from file.
=== Manage Actions ===
* Actions: A list of all actions in the scene, at the time when the Update Action List button was last pressed.
* Filter: If selected, only actions belonging to the active character are included in the action list. When the mocap tool creates an action, the first four letters in the action name are taken from the rig name.
* Update Action List:
* Set Current Action: Set the action selected in the Actions list as the active action.
* Delete Action: Permanently delete the action selected in the Actions list. The action must have zero users. It is quite cumbersome to permanently delete actions in Blender. The reason is that creating an action with hand animation takes much work, which should not be lost accidentally. The situation is different with mocap, where it is easy to fill up a blend file with many irrelevant actions. This button makes it easier to clean out such junk motions.
* Delete Temporary Actions: Some tools create temporary actions, whose names start with a hash sign (#). Deletes all such actions.
=== Temporary properties ===
* Delete Temporary Properties. MakeWalk creates some properties for relevant posebones during retargeting. Pressing this button removes these properties. However, be aware that some of the tools in the Edit panel may fail if the temporrary properties are deleted.
The temporary properties for the active posebone can be inspected in the N-panel.
[[File:mwu-030-temp-props.png]]
* McpBone: The name of this bone in the internal hierarchy.
* McpParent: The parent of this bone in the internal hierarchy.
* McpQuatW, McpQuatX, McpQuatY, McpQuatZ: The rotation of this bone in T-pose, represented as a quaternion.
=== T-pose ===
* Set T-pose: Set the current pose to T-pose.
* Clear T-pose: Set the current pose to the default pose.
* Load T-pose: Load a T-pose from a .json file to the active armature.
* Save T-pose: Save the current pose as a .json file.
=== Rest Pose ===
* Current Pose => Rest Pose: Set the current pose to rest pose.
43cdd3b03d9ee230311a6cd0063b5a2d2cb7b2a0
1350
1121
2017-03-15T01:04:50Z
Robbaer
12
wikitext
text/x-wiki
=== NOTE ===
There is a wealth of important information in this document, but some of the detail is badly out of date. Things that need repairing:
* Broken links
* Reference to armatures in older version of MakeHuman
* The MakeWalk tool is now found as a tab on the T-side-panel in Blender
------------------------------------
MakeWalk is a Blender add-on for retargeting mocap data (.bvh files) to a given armature.
==== Retargeting: how it works ====
The goal of retargeting is to transfer a motion from a source armature (e.g. from a BVH file) to a given target armature (e.g. the MHX rig). However, it is not straightforward to assign the source action to the target rig, even if the bones have identical names. The motion of each bone is specified in local coordinates, relative to the parent and the bone's own rest pose. If the rest poses of the source and target armatures differ, the source F-curves can not be used directly by the target armature.
[[File:makewalk-1.png]]
The picture above shows a transformation in the local coordinate system. Since the parent's local Y points along its axis and its local Z points up, the child bone is rotated around the local X axis. This is not very useful if the target armature has a diffent rest pose. To retarget the pose, we therefore reexpress the transformation in the global coordinate system, as shown below. The local X rotation corresponds to a global Y rotation, and by a different angle. Once the global transformation matrix is known, we can reexpress it in the target bone's local coordinate system.
The retargeting process thus consists of making two coordinate transformations:
Source local => Global => Target local.
This will ensure that the source bone and the target bone will have the same global orientation.
[[File:makewalk_2.png]]
Unfortunately, things are a little more complicated. We do not always want the source and target bones to have identical orientation. In particular, the root or pelvis bone may point in entirely different directions in different armatures. E.g. in the CMU armature rest pose the pelvis points forward-down, and in the MHX rig it points straight up.
[[File:makewalk-3.png]]
If we insisted that the root bone in the MHX rig would point in the same direction as in the CMU rig, the retargeting would not be very successful, as shown in the figure above. If we instead keep the rotation offset from the rest poses, the target pose becomes much better, as shown below.
To calibrate the source and target armature against each other, MalkWalk introduces extra keyframes at frame 0, where both armatures are posed in T-pose.
[[File:mcp-ret-060-calibrate.png]]
In the rest of the animation, bones in the target armature copy the global rotations of the source armature, apart from differences present in the T-poses. In this way we can transfer animations from CMU to the MHX rig, despite the fact that the rest poses are very different.
==== Basic Workflow ====
=== Retargeting ===
The MakeWalk panels appear in the tool shelf whenever an armature is the active object. Select the armature and press the Load And Retarget button. In the file selector, select the .bvh file. We choose the file 90_04.bvh from the CMU database. It is a cartwheel animation.
[[File:makewalk-4.png]]
After a short wait, the armature is doing gymnastics.
[[File:makewalk-5.png]]
At frame 0 of the animation the armature has been placed in T-pose. This is not part of the originial .bvh file, but inserted by MakeWalk to calibrate the source armature (defined by the bvh file) and the target armature (the selected armature in the viewport) against each other.
=== Supported armatures ===
MakeWalk works with most straightforward biped rigs with FK arms and legs, such as the Rigify meta-rig. There is also built-in support for some more complex rigs: the MHX advanced rig from MakeHuman, the MHX rig from MakeHuman and Rigify.
[[File:makewalk-6.png]]
It is often possible to use MakeWalk with other complex rig, but in that case the automatic bone identification may fail. If so, a bone map must be defined manually, see!LINK!http://makehuman.org/doc/node/defining_the_target_rig_manually.html -- Defining a Target Rig Manually!/LINK!.
=== Troubleshooting ===
Retargeting is a rather involved subject, and it can sometimes result in poor motion. The process may even fail completely, usually because MakeWalk failed to automatically identify the bones of a complex rig. If this should happen, see!LINK!http://www.makehuman.org/doc/node/makewalk_errors_and_corrective_actions.html -- Errors and Corrective Actions!/LINK!.
==== Where to find BVH files ====
There are several different formats that mocap files can be stored in. MakeHuman's mocap tool can only deal with files in Biovision BVH format. BVH files can be bought from many commercial sources, but a large range of mocap files are also available for free download. Here are some sites I found useful.
* CMU Graphics Lab Motion Capture Database: Hosted at Carnegie-Mellon University, this is a huge library of mocap files which can be downloaded for free. The web address is!LINK!http://mocap.cs.cmu.edu/ -- http://mocap.cs.cmu.edu!/LINK!. CMU hosts mocap files in three formats: tvd, c3d and amc. However, the mocap tool can only read BVH files, so none of these files can be used directly. Fortunately, B. Hahne at!LINK!http://www.cgspeed.com/ -- www.cgspeed.com!/LINK!has converted the CMU files to BVH. The converted files are located at!LINK!http://sites.google.com/a/cgspeed.com/cgspeed/motion-capture -- http://sites.google.com/a/cgspeed.com/cgspeed/motion-capture!/LINK!.
* Advanced Computing Center for the Arts and Design (ACCAD): Hosted at the Ohio State University, this is another great source of free mocap files. BVH files can be downloaded from!LINK!http://accad.osu.edu/research/mocap/mocap_data.htm -- http://accad.osu.edu/research/mocap/mocap_data.htm!/LINK!
* Eyes Japan (mocapdata.com):This is a Japanese company that sells mocap data commercially, but they also offer a huge number of motions for free. According to their homepage, mocapdata.com provides 744 premium motion data and 4197 free motion data. The only catch is that downloading requires registration. Not surprisingly, the homepage of mocapdata.com has the address!LINK!http://www.mocapdata.com/ -- http://www.mocapdata.com/!/LINK!.
* The Trailer's Park: Free mocap data can also be found at the Trailer's Park,!LINK!http://www.thetrailerspark.com/ -- http://www.thetrailerspark.com!/LINK!. This site does not offer original data, but offer repacks of mocap data from other free sites for download. Free download is limited to some five packs per day, so some patience is required here.
* Hochschule der Medien, Universität Bonn (HDM):!LINK!http://www.mpi-inf.mpg.de/resources/HDM05/ -- http://www.mpi-inf.mpg.de/resources/HDM05!/LINK!
* The Perfume global site project #001:!LINK!http://perfume-dev.github.com/ -- http://perfume-dev.github.com/!/LINK!
=== MHBlenderTools: MakeWalk user interface ===
==== The user interface ====
The user > interface of MakeWalk is located in under the Armature tab, and becomes visible when an armature is selected. It consists of six panels; the first one is open by default and the others are closed.
[[File:makewalk-7_0.png]]
* Load And Retarget: Select a BVH file and retarget it to the active armature.
* Start Frame: The first frame in the BVH file to considered.
* Last Frame: The last frame to be considered, unless the animation stops earlier. The difference last_frame - first_frame is the maximal number of frames after retargeting. The number of frames in the BVH file may be larger, if some frames are skipped due to subsampling
* Detailed steps: When this options is selected, further buttons are show below
* Load BVH File (.bvh). Load a BVH file, and create an animated armature from it.
* Rename And Rescale BVH Rig. With the BVH armature active, and a target armature selected, rename and rescale the bones of the active armature to fit the target.
* Load And Rename BVH File (.bvh). A combination of the previous two buttons. With a target armature active, load a BVH file, and create an animated armature with renamed and rescaled bones.
* Retarget Selected To Active. Retarget the animation from a renamed and rescaled BVH armature to the active armature.
* Simplify FCurves. Simplify the F-curves of the active armature.
* Rescale FCurves. Rescale F-curevs of the active armature.What if retargeting fails?
MakeWalk is designed to retarget animations to a given armature with a minimum of user intervention. However, retargeting is a complex process, and entirely automatic retargeting may fail or result in suboptimal motion. Information about how to identify and correct problems is found in!LINK!/doc/node/blendertools_makewalk_troubleshooting.html -- Errors and Corrective Actions!/LINK!.
A common problem is that automatic identification of bones in the target armature fails. A bone map can then be assigned manually, cf.!LINK!/doc/node/blendertools_makewalk_troubleshooting.html -- Defining the Target Rig Manually.!/LINK!
==== Options panel ====
[[File:makewalk-8.png]]
* Use Default Subsample. Blender normally plays the animation in 24 fps or 25 fps, but the animation in the BVH file may be recorded at a different speed. In particular, the BVH files from CMU were filmed at 120 fps. Enable this option to have the animation play at natural speed, irrespective of the frame rate in the BVH file. Other subsample options are described below.
* Auto scale. Set the scale automatically based on the size of the left thigh. This choice has two motivations:
* Almost all character do have a left leg.
* The leg size is crucial for making walk cycles look good.
* Scale. The default MakeHuman scale is decimeters - 1 unit = 1 decimeter. Translations in a BVH file are expressed in different units; often the base unit is inches, meters or centimeters, but more obscure units can also occur, e.g. in BVH files from CMU. If the scale is set incorrectly, rotations will still be correctly retargeted, but the character will appear to take giant leaps or miniscule steps.
* Use Limits: If this option is enabled, MakeWalk honors any Limit Rotation constraints, and will not allow excessive rotations. If the animation in the bvh files exceeds some rotation limits, this makes the retargeted animation less faithful. On the other hand, the rig may not be built for excessive rotations, so unchecking this option can lead to other problems.
* Unlock Rotation: If this option is disabled, MakeWalk honors any rotation locks. If the animation in the bvh files bend around locked axes, this makes the retargeted animation less faithful. If Unlock Rotation is enabled, any X or Z rotation locks are disabled. Y rotation locks (bone twisting) are never disabled. The reason for this is that in the MHX and Rigify rigs, forearm rotation is handled by deform bones controlled by hand twisting.
* Auto source rig. The source rig (i.e. the armature defined by the BVH file) is specified in the!LINK!/doc/node/blendertools_makewalk_source_and_target_armature.html -- Source Armature panel!/LINK!. Enable this option if the mocap tool should attempt to automatically identify the source rig, based on the structure of the bone hierarchy.
* Auto target rig. The target rig (i.e. the armature in the blend file) is specified in the!LINK!/doc/node/blendertools_makewalk_source_and_target_armature.html -- Target Armature panel!/LINK!. Enable this option if the mocap tool should attempt to automatically identify the target rig, based on the structure of the bone hierarchy.
* Ignore Hidden Layers. Ignore bones on hidden layers when identifying the target rig.
=== Subsample and Rescale ===
If the Use Default Subsample option is set, the mocap tool will rescale the animation to fit the current frame rate. However, there are at least two reasons why you may want to load an animation at a different frame rate:
* * To obtain a slow-motion or rapid-motion effect.
* To quickly load an animation to see if the gross features will work out.
If the Use Default Subsample option is disabled, the SubSample section becomes visible.
* Subsample. Enable subsampling.
* Subsample Factor. If the value of this property is n, only every n:th frame of the BVH animation is loaded.
* Rescale. Enable rescaling.
* Rescale Factor. If the value of this property is n, the time distance between keyframes is changed to n.
* Rescale FCurves. Apply the settings above to existing F-curves rather than to the loaded animation.
Rescaling differs from simply scaling F-curves in the F-curve editor.
=== Simplification ===
* Simplify FCurves. Remove unnecessary keyframes.
* Max Loc Error. The maximal allowed error for location keyframes, in Blender units. A larger error results in fewer keyframes but less accuracy.
* Max Rot Error. The maximal allowed error for rotation keyframes, in degrees. A larger error results in fewer keyframes but less accuracy.
* Only Visible. Simplification only affect F-curves visible in the Graph editor.
* Only Between Markers. Simplification only affects F-curves between the two outermost selected markers. The timeline must have at least two selected markers.
==== Edit panel ====
Loading and retargeting is normally only the first step in the creation of an animation from mocap data. There are many reasons why a loaded animation does not behave exactly the way you want it to: artifacts in the mocap data, differences in armature structure not compensated for correctly by the retargeting process, differences in body stature between the mocap actor and the target character, or simply that the filmed sequence does not do exactly what you intend.. It is of course possible to edit the action directly in the graph editor, but this is unpractical due to the amount of mocap data. The mocap tool offers several possibilities to edit an action at a higher level. These tools are colleted in the Edit Action panel which is located just below the Options panel.
[[File:edit-action.png]]
=== Inverse Kinematics ===
* Transfer FK => IK: The load and retarget steps transfers an animation from a bvh file to the target character. However, only the FK bones are animated. Press this button to transfer the FK animation to the IK bones. Only works for the advanced MHX armature. If two markers are selected, only the animation between the markers is transferred.
* Transfer IK => FK: Transfer the animation back from the IK bones to the FK bones. Useful if the IK animation has been edited,
* Clear IK Animation: Remove all keyframes from all IK bones (arms and legs).
* Clear FK Animation: Remove all keyframes from all FK bones (arms and legs).
=== Global Edit ===
* Shift Animation. Shift the keys for the selected bones at all keyframes.If two markers are selected, only the keyframes between the markers are deleted.
* X,Y,Z: F-curves affected by the next button.
* Fixate Bone Locations:Replace all location keys by their average. Only selected bones and keyframes between selected markers are affected.
* Rescale Factor: Factor used by next button.
* Rescale FCurves: Rescale all F-curves by the factor above. This is similar to scaling F-curves in the curve editor, but jumps are treated correctly. E.g., rotations of +180 degrees and -180 degrees are the same, but if we scale an F-curve with a factor two, the intermedate keyframe will have the average rotation 0 degrees, The Rescale FCurves button handles this case correctly.
=== Local Edit ===
This section could be called "Poor man's animation layers". A loaded mocap animation usually has imperfections that must be edited, but without changing the overall feel of the motion. The Start Edit button creates a new animation layer where differences from the original motion are stored as keys, called delta keys since delta often denotes a difference.
* Start Edit: Start editing F-curves.
* Undo Edit: Quit F-curve editing, without modifying the original F-curves.
* Loc: Set a location delta keyframe.
* Rot: Set a rotation delta keyframe.
* LocRot: Set a location and rotation delta keyframe.
* Delete: Remove all delta keyframes at the current time.
* |<: Move to first delta keyframe
* <: Move to previous delta keyframe.
* >: Move to next delta keyframe.
* >|: Move to last delta keyframe.
* Confirm Edit: Modify the original F-curves and quit F-curve editing.
The delta keys are represented by markers in the timeline.
[[File:mwe-315-local-keys.png]]
A delta key can be added with the Loc, Rot and LocRot buttons, and removed with Delete. There is no way to view the delta keys directly. In the viewport and the curve editor, the final pose is shown, which is the sum of the original pose and the delta key.
A common use for delta keys is to correct for intersection with other objects or the character herself. The typical workflow is as follows:
* * Start Edit.
* Set a delta key at a good frame just before the intersection.
* Set a delta key at a good frame just after the intersection.
* Edit the pose a the frame(s) where intersection occurs.
* If the intersection has been removed, Confirm Edit. If not, set new delta keys until it has, or Undo Edit to remove the delta layer.
=== Feet ===
* Left: Affect the left foot.
* Right: Affect the right foot.
* Hips: Affect the characters hip (COM) bone.
* Offset Toes: Ensure that the toe is below the ball of the foot at all keyframes. Primarily useful for rigs with a reverse foot setup as explained below.
* Keep Feet Above Floor: If a mesh object (typically a plane) is selected, shift the keyframes to keep the affected feet above the plane. The plane does not necessarily lie in the XY plane; if the plane is tilted, the feet are kept on the plane's upper side. If no plane is selected, the feet are kept above the XY plane (z = 0). The IK feet are affected if the rig has and uses IK legs, otherwise the FK feet are kept above the floor. If two markers are selected, only the keyframes inbetween are shifted.
In a rig with a reverse foot setup, such as the MHX rig, the foot can rotate around the toe, ball, and heel. The reverse foot and toe bones are completely fixed by the corresponding FK bones, but the IK effector can be placed arbitrarily, as long as it ends at the toe tip. The transfer tool uses this freedom to make the IK effector perfectly horizontal, provided that the toe is below the ball and heel.
[[File:refoot.png]]
To use this feature we must ensure that the toe is below the ball of the foot, which is done by the Offset Toes button.
=== Loop And Repeat ===
!LINK! -- Loop Animation!/LINK!
Create a loop of the action between two selected time markers, by blending the keyframes in the beginning and end of the loop. This is useful e.g. to create walk and run cycles for games. For good results, the poses at the beginning and end of the selected region should be similar.
* Blend Range: The number of keyframes used for blending.
* Loop in place: Remove the X and Y components of the root bone's location.
* Loop F-curves: Loop the animation.
!LINK! -- Repeat Animation!/LINK!
Repeat the action between two selected time markers. The actions should preferably be looped before it is repeated, to make the beginning and end match seamlessly.
* Repeat Number: The number of repetitions.
* Repeat F-curves: Repeat the animation.
=== Stitching ===
Create a new action by stitching two actions together seamlessly.
* Update Action List: Update the first and second action drop-down lists.
* First Action: The name of the first action.
* First End Frame: Last frame of the first action
* Set Current Action: Set the first action as the current action.
* Second Action: The name of the second action.
* Second Start Frame: First frame of the second action.
* Set Current Action: Set the second action as the current action.
* Action Target: Choose between creating a new action and prepending the second action.
* Blend Range: The number of keyframes used for blending. Same parameter as in Loop Animations section.
* Output Action Name:
* Stitch Actions: Stitch the actions together.
=== MHBlenderTools: MakeWalk armatures ===
==== Source Armature panel ====
MakeWalk transfers an animation from a source armature, defined in a bvh file, to a given target armature. It uses an intermediate standard rig described in!LINK!http://makehuman.org/doc/node/defining_the_target_rig_manually.html -- Defining the Target Rig Manually!/LINK!. The bone map from the source armature to the target armature hence consists of two parts:
* A map from the source rig to the standard rig. It is defined in the MakeWalk: Source Armature panel.
* A map from the target rig to the standard rig. It is defined in the!LINK!http://makehuman.org/doc/node/makewalk_target_armature_panel.html -- MakeWalk: Target Armature panel!/LINK!.
[[File:mws-010-panel.png]]
When a new scene is opened, the panel consists of the single button Initialize Source Panel. Once this button has been pressed, the following content is available:
[[File:mws-020-auto.png]]
* Reinit Source Panel: Reinitialization.
* Auto Source Rig: If this option is enabled, MakeWalk will try to identify the source rig automatically. It may happen that MakeWalk fails to identify the source rig automatically, but this is very unusual. If it should nevertheless happen, it is possible to define the bone map manually in analogy with !LINK!http://makehuman.org/doc/node/defining_the_target_rig_manually.html -- how it is done for target rigs!/LINK!.
* Source rig. A list of bvh rigs recognized by the mocap tool. This either defines the expected source rig (if Auto Source Rig is disabled) or to Automatic.
* Bones in the active source rig.
==== Target Armature panel ====
The second part of the mapping from source to target armatures is defined by the panel labelled MH Mocap: Target armature. It is the top-most of the mocap tool panels, and is closed by default.
When a new scene is opened, the panel consists of the single button Initialize Target Panel. Once this button has been pressed, the following content is available:
[[File:mwt-011-panel.png]]
* Reinit Target Panel. Reinitialization.
* Target rig. A list of bvh rigs recognized by the mocap tool. This either defines the expected Target rig (if Auto Target rig guessing is disabled), or is set to a matching rig (if automatic target rig identificiation is enabled).
* Auto Target Rig. If this option is enabled, MakeWalk will try to identify the target rig automatically. However, automatic rig identification is not trivial for complex rigs, and it may fail. If so, the bone map may be specified manually, cf!LINK!http://makehuman.org/doc/node/defining_the_target_rig_manually.html -- Defining the Target Rig Manually!/LINK!. If the bone map is defined. The target rigs available by default correspond mostly to the rig presets that can be exported from MakeHuman
* MHX. An advanced rig from MakeHuman alpha 8.
* MH Alpha 7. The MHX rig from MakeHuman alpha 7.
* Rigify.
* Ignore Hidden Layers: Ignore bones on hidden layers during automatic rig identification.
* Reverse Hip. Select this option if the armature has an reverse hip. It is rather common that an armature has a reverse hip. In a normal hip setup, the armature root is the hip or pelvis bone, and the thighs and the rest of the spine are children of this bone. In a reverse hip setup, the first bone in the spine has been reversed. There is a separate root bone, and the two lowest bones in the spine are both children of thise root, whereas the thighs are children of the reversed hip.
* Identify Target Rig: Identify the target rig, i.e. find out how bone names in the active armature correspond to the internal names. This step is performed automatically during retargeting, but the identification can also be done separately for debugging purposes. The bone map appears in the area called FK bones below.
* Set T-pose. Pose the active armature in T-pose.
* Save T-pose. Option used by the next button.
* Save Target File. Save the current bone map as a .trg file. If the Save T-pose option is set, also save a json file defining the T-pose.
* FK bones. The bone map.
The picture below shows automatic rig identification of the Rigify meta-rig (Add > Armature > Advanced Human).
[[File:mwt-020-metarig.png]]
=== MHBlenderTools: MakeWalk troubleshooting. ===
==== What if retargeting fails? ====
=== Errors and Corrective Actions ===
This document will describe common errors and corrective actions.
It may happen that MakeWalk fails to retarget an animation to a given armature. In that case an error message is displayed.
[[File:mwa-100-error.png]]
The error message consists of the following:
Mocap error
Category
Detailed error message
A link to this page
MakeWalk errors are grouped into the following categories:
* Load Bvh File
* Rename And Rescale
* Identify Target Rig
* Automatic Target Rig
* Manual Target Rig
* Identify Source Rig
* Retarget
* General Error
Load Bvh File
Rename And Rescale
Identify Target Rig
=== Automatic Target Rig ===
The most common problem is probably that MakeWalk fails to identify the target rig automatically. There are several possible reasons for this:
* The character is not oriented correctly. In the rest pose, the character should be standing with up being the positive Z axis and facing -Y.
* The armature is complex with extra bones not corresponding to a standard biped rig.
* The armature only has IK arms or legs. MakeWalk retargets animations to the FK limbs, so if no such bones exist, the program will not work.
[[File:mwa-110-reverse-hip.png]]
It is rather common that an armature has a reverse hip. In a normal hip setup, the armature root is the hip or pelvis bone, and the thighs and the rest of the spine are children of this bone. In a reverse hip setup, the first bone in the spine has been reversed. There is a separate root bone, and the two lowest bones in the spine are both children of thise root, whereas the thighs are children of the reversed hip.
[[File:mwa-120-reversehip.png]]
The advantage of such a setup is that the upper and lower body can be posed independently. However, MakeWalk failes to identify the bones, unless the Reverse Hip option has been enabled.
If automatic bone identification still fails, bone mapping has to be made manually. How this is done is described in the next section.
=== Defining the Target Rig Manually ===
Internally, MakeWalk retargets animations to an armature with the following bone hierarchy.
Here is a visual illustration of the bone hierarchy:
[[File:mwa-010-armature.png]]
In order to retarget to an armature with different bone names, we must define a map between the given bones and the internal names. By default, MakeWalk attempts to do this automatically. However, automatic bone mapping may easily be confused for non-trivial rigs. If this happens, one can define the bone map manually.
A bone map for a target armature is defined by a .trg file located in the target_rigs folder under the makewalk directory. The folder already contains three files, for retargeting the MHX advanced rig, the MakeHuman, and Rigify. These rigs are too complicated to identify the bone map automatically, so MakeWalk recognizes these rigs and use the predefined bone map.
Create a .trg file using an existing file as a template. E.g., a .trg file could look like this:
Note that it is not necessary to define maps to all bones. Bone names must not contain spaces, since whitespace is used as a delimiter in the .trg file. If the bones in your armature do contain spaces, replace them by underscore ( _ ). MakeWalk treats space and underscore as equivalent, so this is not a problem, except for very strange naming convention.
[[File:mwa-020-myrig.png]]
Save the .trg file with the name my_rig.trg in the target_rigs folder and press the Reinit Target Panel button. My_Rig should now appear in the Target rig list. Select it. In the FK bones sections, the My_Rig bone names are now listed. Make sure that the Auto Target Rig option is deselected, to override automatic bone mapping. Finally go to the main panel and press Load And Retarget. The animation should now be loaded.
=== MHBlenderTools: MakeWalk utilities ===
==== Utilities panel ====
This panel contains material that does not naturally fit into the other panels.
[[File:mwu-010-panel.png]]
=== Default Settings ===
* Save Defaults: Save current settings as the default settings.
* Load Defaults: Load the default settings from file.
=== Manage Actions ===
* Actions: A list of all actions in the scene, at the time when the Update Action List button was last pressed.
* Filter: If selected, only actions belonging to the active character are included in the action list. When the mocap tool creates an action, the first four letters in the action name are taken from the rig name.
* Update Action List:
* Set Current Action: Set the action selected in the Actions list as the active action.
* Delete Action: Permanently delete the action selected in the Actions list. The action must have zero users. It is quite cumbersome to permanently delete actions in Blender. The reason is that creating an action with hand animation takes much work, which should not be lost accidentally. The situation is different with mocap, where it is easy to fill up a blend file with many irrelevant actions. This button makes it easier to clean out such junk motions.
* Delete Temporary Actions: Some tools create temporary actions, whose names start with a hash sign (#). Deletes all such actions.
=== Temporary properties ===
* Delete Temporary Properties. MakeWalk creates some properties for relevant posebones during retargeting. Pressing this button removes these properties. However, be aware that some of the tools in the Edit panel may fail if the temporrary properties are deleted.
The temporary properties for the active posebone can be inspected in the N-panel.
[[File:mwu-030-temp-props.png]]
* McpBone: The name of this bone in the internal hierarchy.
* McpParent: The parent of this bone in the internal hierarchy.
* McpQuatW, McpQuatX, McpQuatY, McpQuatZ: The rotation of this bone in T-pose, represented as a quaternion.
=== T-pose ===
* Set T-pose: Set the current pose to T-pose.
* Clear T-pose: Set the current pose to the default pose.
* Load T-pose: Load a T-pose from a .json file to the active armature.
* Save T-pose: Save the current pose as a .json file.
=== Rest Pose ===
* Current Pose => Rest Pose: Set the current pose to rest pose.
acc20ec85dd4b36c8c67a5b169cabf5c87d4aa79
1121
707
2016-07-05T17:40:41Z
Aranuvir
17
wikitext
text/x-wiki
MakeWalk is a Blender add-on for retargeting mocap data (.bvh files) to a given armature.
==== Retargeting: how it works ====
The goal of retargeting is to transfer a motion from a source armature (e.g. from a BVH file) to a given target armature (e.g. the MHX rig). However, it is not straightforward to assign the source action to the target rig, even if the bones have identical names. The motion of each bone is specified in local coordinates, relative to the parent and the bone's own rest pose. If the rest poses of the source and target armatures differ, the source F-curves can not be used directly by the target armature.
[[File:makewalk-1.png]]
The picture above shows a transformation in the local coordinate system. Since the parent's local Y points along its axis and its local Z points up, the child bone is rotated around the local X axis. This is not very useful if the target armature has a diffent rest pose. To retarget the pose, we therefore reexpress the transformation in the global coordinate system, as shown below. The local X rotation corresponds to a global Y rotation, and by a different angle. Once the global transformation matrix is known, we can reexpress it in the target bone's local coordinate system.
The retargeting process thus consists of making two coordinate transformations:
Source local => Global => Target local.
This will ensure that the source bone and the target bone will have the same global orientation.
[[File:makewalk_2.png]]
Unfortunately, things are a little more complicated. We do not always want the source and target bones to have identical orientation. In particular, the root or pelvis bone may point in entirely different directions in different armatures. E.g. in the CMU armature rest pose the pelvis points forward-down, and in the MHX rig it points straight up.
[[File:makewalk-3.png]]
If we insisted that the root bone in the MHX rig would point in the same direction as in the CMU rig, the retargeting would not be very successful, as shown in the figure above. If we instead keep the rotation offset from the rest poses, the target pose becomes much better, as shown below.
To calibrate the source and target armature against each other, MalkWalk introduces extra keyframes at frame 0, where both armatures are posed in T-pose.
[[File:mcp-ret-060-calibrate.png]]
In the rest of the animation, bones in the target armature copy the global rotations of the source armature, apart from differences present in the T-poses. In this way we can transfer animations from CMU to the MHX rig, despite the fact that the rest poses are very different.
==== Basic Workflow ====
=== Retargeting ===
The MakeWalk panels appear in the tool shelf whenever an armature is the active object. Select the armature and press the Load And Retarget button. In the file selector, select the .bvh file. We choose the file 90_04.bvh from the CMU database. It is a cartwheel animation.
[[File:makewalk-4.png]]
After a short wait, the armature is doing gymnastics.
[[File:makewalk-5.png]]
At frame 0 of the animation the armature has been placed in T-pose. This is not part of the originial .bvh file, but inserted by MakeWalk to calibrate the source armature (defined by the bvh file) and the target armature (the selected armature in the viewport) against each other.
=== Supported armatures ===
MakeWalk works with most straightforward biped rigs with FK arms and legs, such as the Rigify meta-rig. There is also built-in support for some more complex rigs: the MHX advanced rig from MakeHuman, the MHX rig from MakeHuman and Rigify.
[[File:makewalk-6.png]]
It is often possible to use MakeWalk with other complex rig, but in that case the automatic bone identification may fail. If so, a bone map must be defined manually, see!LINK!http://makehuman.org/doc/node/defining_the_target_rig_manually.html -- Defining a Target Rig Manually!/LINK!.
=== Troubleshooting ===
Retargeting is a rather involved subject, and it can sometimes result in poor motion. The process may even fail completely, usually because MakeWalk failed to automatically identify the bones of a complex rig. If this should happen, see!LINK!http://www.makehuman.org/doc/node/makewalk_errors_and_corrective_actions.html -- Errors and Corrective Actions!/LINK!.
==== Where to find BVH files ====
There are several different formats that mocap files can be stored in. MakeHuman's mocap tool can only deal with files in Biovision BVH format. BVH files can be bought from many commercial sources, but a large range of mocap files are also available for free download. Here are some sites I found useful.
* CMU Graphics Lab Motion Capture Database: Hosted at Carnegie-Mellon University, this is a huge library of mocap files which can be downloaded for free. The web address is!LINK!http://mocap.cs.cmu.edu/ -- http://mocap.cs.cmu.edu!/LINK!. CMU hosts mocap files in three formats: tvd, c3d and amc. However, the mocap tool can only read BVH files, so none of these files can be used directly. Fortunately, B. Hahne at!LINK!http://www.cgspeed.com/ -- www.cgspeed.com!/LINK!has converted the CMU files to BVH. The converted files are located at!LINK!http://sites.google.com/a/cgspeed.com/cgspeed/motion-capture -- http://sites.google.com/a/cgspeed.com/cgspeed/motion-capture!/LINK!.
* Advanced Computing Center for the Arts and Design (ACCAD): Hosted at the Ohio State University, this is another great source of free mocap files. BVH files can be downloaded from!LINK!http://accad.osu.edu/research/mocap/mocap_data.htm -- http://accad.osu.edu/research/mocap/mocap_data.htm!/LINK!
* Eyes Japan (mocapdata.com):This is a Japanese company that sells mocap data commercially, but they also offer a huge number of motions for free. According to their homepage, mocapdata.com provides 744 premium motion data and 4197 free motion data. The only catch is that downloading requires registration. Not surprisingly, the homepage of mocapdata.com has the address!LINK!http://www.mocapdata.com/ -- http://www.mocapdata.com/!/LINK!.
* The Trailer's Park: Free mocap data can also be found at the Trailer's Park,!LINK!http://www.thetrailerspark.com/ -- http://www.thetrailerspark.com!/LINK!. This site does not offer original data, but offer repacks of mocap data from other free sites for download. Free download is limited to some five packs per day, so some patience is required here.
* Hochschule der Medien, Universität Bonn (HDM):!LINK!http://www.mpi-inf.mpg.de/resources/HDM05/ -- http://www.mpi-inf.mpg.de/resources/HDM05!/LINK!
* The Perfume global site project #001:!LINK!http://perfume-dev.github.com/ -- http://perfume-dev.github.com/!/LINK!
=== MHBlenderTools: MakeWalk user interface ===
==== The user interface ====
The user > interface of MakeWalk is located in under the Armature tab, and becomes visible when an armature is selected. It consists of six panels; the first one is open by default and the others are closed.
[[File:makewalk-7_0.png]]
* Load And Retarget: Select a BVH file and retarget it to the active armature.
* Start Frame: The first frame in the BVH file to considered.
* Last Frame: The last frame to be considered, unless the animation stops earlier. The difference last_frame - first_frame is the maximal number of frames after retargeting. The number of frames in the BVH file may be larger, if some frames are skipped due to subsampling
* Detailed steps: When this options is selected, further buttons are show below
* Load BVH File (.bvh). Load a BVH file, and create an animated armature from it.
* Rename And Rescale BVH Rig. With the BVH armature active, and a target armature selected, rename and rescale the bones of the active armature to fit the target.
* Load And Rename BVH File (.bvh). A combination of the previous two buttons. With a target armature active, load a BVH file, and create an animated armature with renamed and rescaled bones.
* Retarget Selected To Active. Retarget the animation from a renamed and rescaled BVH armature to the active armature.
* Simplify FCurves. Simplify the F-curves of the active armature.
* Rescale FCurves. Rescale F-curevs of the active armature.What if retargeting fails?
MakeWalk is designed to retarget animations to a given armature with a minimum of user intervention. However, retargeting is a complex process, and entirely automatic retargeting may fail or result in suboptimal motion. Information about how to identify and correct problems is found in!LINK!/doc/node/blendertools_makewalk_troubleshooting.html -- Errors and Corrective Actions!/LINK!.
A common problem is that automatic identification of bones in the target armature fails. A bone map can then be assigned manually, cf.!LINK!/doc/node/blendertools_makewalk_troubleshooting.html -- Defining the Target Rig Manually.!/LINK!
==== Options panel ====
[[File:makewalk-8.png]]
* Use Default Subsample. Blender normally plays the animation in 24 fps or 25 fps, but the animation in the BVH file may be recorded at a different speed. In particular, the BVH files from CMU were filmed at 120 fps. Enable this option to have the animation play at natural speed, irrespective of the frame rate in the BVH file. Other subsample options are described below.
* Auto scale. Set the scale automatically based on the size of the left thigh. This choice has two motivations:
* Almost all character do have a left leg.
* The leg size is crucial for making walk cycles look good.
* Scale. The default MakeHuman scale is decimeters - 1 unit = 1 decimeter. Translations in a BVH file are expressed in different units; often the base unit is inches, meters or centimeters, but more obscure units can also occur, e.g. in BVH files from CMU. If the scale is set incorrectly, rotations will still be correctly retargeted, but the character will appear to take giant leaps or miniscule steps.
* Use Limits: If this option is enabled, MakeWalk honors any Limit Rotation constraints, and will not allow excessive rotations. If the animation in the bvh files exceeds some rotation limits, this makes the retargeted animation less faithful. On the other hand, the rig may not be built for excessive rotations, so unchecking this option can lead to other problems.
* Unlock Rotation: If this option is disabled, MakeWalk honors any rotation locks. If the animation in the bvh files bend around locked axes, this makes the retargeted animation less faithful. If Unlock Rotation is enabled, any X or Z rotation locks are disabled. Y rotation locks (bone twisting) are never disabled. The reason for this is that in the MHX and Rigify rigs, forearm rotation is handled by deform bones controlled by hand twisting.
* Auto source rig. The source rig (i.e. the armature defined by the BVH file) is specified in the!LINK!/doc/node/blendertools_makewalk_source_and_target_armature.html -- Source Armature panel!/LINK!. Enable this option if the mocap tool should attempt to automatically identify the source rig, based on the structure of the bone hierarchy.
* Auto target rig. The target rig (i.e. the armature in the blend file) is specified in the!LINK!/doc/node/blendertools_makewalk_source_and_target_armature.html -- Target Armature panel!/LINK!. Enable this option if the mocap tool should attempt to automatically identify the target rig, based on the structure of the bone hierarchy.
* Ignore Hidden Layers. Ignore bones on hidden layers when identifying the target rig.
=== Subsample and Rescale ===
If the Use Default Subsample option is set, the mocap tool will rescale the animation to fit the current frame rate. However, there are at least two reasons why you may want to load an animation at a different frame rate:
* * To obtain a slow-motion or rapid-motion effect.
* To quickly load an animation to see if the gross features will work out.
If the Use Default Subsample option is disabled, the SubSample section becomes visible.
* Subsample. Enable subsampling.
* Subsample Factor. If the value of this property is n, only every n:th frame of the BVH animation is loaded.
* Rescale. Enable rescaling.
* Rescale Factor. If the value of this property is n, the time distance between keyframes is changed to n.
* Rescale FCurves. Apply the settings above to existing F-curves rather than to the loaded animation.
Rescaling differs from simply scaling F-curves in the F-curve editor.
=== Simplification ===
* Simplify FCurves. Remove unnecessary keyframes.
* Max Loc Error. The maximal allowed error for location keyframes, in Blender units. A larger error results in fewer keyframes but less accuracy.
* Max Rot Error. The maximal allowed error for rotation keyframes, in degrees. A larger error results in fewer keyframes but less accuracy.
* Only Visible. Simplification only affect F-curves visible in the Graph editor.
* Only Between Markers. Simplification only affects F-curves between the two outermost selected markers. The timeline must have at least two selected markers.
==== Edit panel ====
Loading and retargeting is normally only the first step in the creation of an animation from mocap data. There are many reasons why a loaded animation does not behave exactly the way you want it to: artifacts in the mocap data, differences in armature structure not compensated for correctly by the retargeting process, differences in body stature between the mocap actor and the target character, or simply that the filmed sequence does not do exactly what you intend.. It is of course possible to edit the action directly in the graph editor, but this is unpractical due to the amount of mocap data. The mocap tool offers several possibilities to edit an action at a higher level. These tools are colleted in the Edit Action panel which is located just below the Options panel.
[[File:edit-action.png]]
=== Inverse Kinematics ===
* Transfer FK => IK: The load and retarget steps transfers an animation from a bvh file to the target character. However, only the FK bones are animated. Press this button to transfer the FK animation to the IK bones. Only works for the advanced MHX armature. If two markers are selected, only the animation between the markers is transferred.
* Transfer IK => FK: Transfer the animation back from the IK bones to the FK bones. Useful if the IK animation has been edited,
* Clear IK Animation: Remove all keyframes from all IK bones (arms and legs).
* Clear FK Animation: Remove all keyframes from all FK bones (arms and legs).
=== Global Edit ===
* Shift Animation. Shift the keys for the selected bones at all keyframes.If two markers are selected, only the keyframes between the markers are deleted.
* X,Y,Z: F-curves affected by the next button.
* Fixate Bone Locations:Replace all location keys by their average. Only selected bones and keyframes between selected markers are affected.
* Rescale Factor: Factor used by next button.
* Rescale FCurves: Rescale all F-curves by the factor above. This is similar to scaling F-curves in the curve editor, but jumps are treated correctly. E.g., rotations of +180 degrees and -180 degrees are the same, but if we scale an F-curve with a factor two, the intermedate keyframe will have the average rotation 0 degrees, The Rescale FCurves button handles this case correctly.
=== Local Edit ===
This section could be called "Poor man's animation layers". A loaded mocap animation usually has imperfections that must be edited, but without changing the overall feel of the motion. The Start Edit button creates a new animation layer where differences from the original motion are stored as keys, called delta keys since delta often denotes a difference.
* Start Edit: Start editing F-curves.
* Undo Edit: Quit F-curve editing, without modifying the original F-curves.
* Loc: Set a location delta keyframe.
* Rot: Set a rotation delta keyframe.
* LocRot: Set a location and rotation delta keyframe.
* Delete: Remove all delta keyframes at the current time.
* |<: Move to first delta keyframe
* <: Move to previous delta keyframe.
* >: Move to next delta keyframe.
* >|: Move to last delta keyframe.
* Confirm Edit: Modify the original F-curves and quit F-curve editing.
The delta keys are represented by markers in the timeline.
[[File:mwe-315-local-keys.png]]
A delta key can be added with the Loc, Rot and LocRot buttons, and removed with Delete. There is no way to view the delta keys directly. In the viewport and the curve editor, the final pose is shown, which is the sum of the original pose and the delta key.
A common use for delta keys is to correct for intersection with other objects or the character herself. The typical workflow is as follows:
* * Start Edit.
* Set a delta key at a good frame just before the intersection.
* Set a delta key at a good frame just after the intersection.
* Edit the pose a the frame(s) where intersection occurs.
* If the intersection has been removed, Confirm Edit. If not, set new delta keys until it has, or Undo Edit to remove the delta layer.
=== Feet ===
* Left: Affect the left foot.
* Right: Affect the right foot.
* Hips: Affect the characters hip (COM) bone.
* Offset Toes: Ensure that the toe is below the ball of the foot at all keyframes. Primarily useful for rigs with a reverse foot setup as explained below.
* Keep Feet Above Floor: If a mesh object (typically a plane) is selected, shift the keyframes to keep the affected feet above the plane. The plane does not necessarily lie in the XY plane; if the plane is tilted, the feet are kept on the plane's upper side. If no plane is selected, the feet are kept above the XY plane (z = 0). The IK feet are affected if the rig has and uses IK legs, otherwise the FK feet are kept above the floor. If two markers are selected, only the keyframes inbetween are shifted.
In a rig with a reverse foot setup, such as the MHX rig, the foot can rotate around the toe, ball, and heel. The reverse foot and toe bones are completely fixed by the corresponding FK bones, but the IK effector can be placed arbitrarily, as long as it ends at the toe tip. The transfer tool uses this freedom to make the IK effector perfectly horizontal, provided that the toe is below the ball and heel.
[[File:refoot.png]]
To use this feature we must ensure that the toe is below the ball of the foot, which is done by the Offset Toes button.
=== Loop And Repeat ===
!LINK! -- Loop Animation!/LINK!
Create a loop of the action between two selected time markers, by blending the keyframes in the beginning and end of the loop. This is useful e.g. to create walk and run cycles for games. For good results, the poses at the beginning and end of the selected region should be similar.
* Blend Range: The number of keyframes used for blending.
* Loop in place: Remove the X and Y components of the root bone's location.
* Loop F-curves: Loop the animation.
!LINK! -- Repeat Animation!/LINK!
Repeat the action between two selected time markers. The actions should preferably be looped before it is repeated, to make the beginning and end match seamlessly.
* Repeat Number: The number of repetitions.
* Repeat F-curves: Repeat the animation.
=== Stitching ===
Create a new action by stitching two actions together seamlessly.
* Update Action List: Update the first and second action drop-down lists.
* First Action: The name of the first action.
* First End Frame: Last frame of the first action
* Set Current Action: Set the first action as the current action.
* Second Action: The name of the second action.
* Second Start Frame: First frame of the second action.
* Set Current Action: Set the second action as the current action.
* Action Target: Choose between creating a new action and prepending the second action.
* Blend Range: The number of keyframes used for blending. Same parameter as in Loop Animations section.
* Output Action Name:
* Stitch Actions: Stitch the actions together.
=== MHBlenderTools: MakeWalk armatures ===
==== Source Armature panel ====
MakeWalk transfers an animation from a source armature, defined in a bvh file, to a given target armature. It uses an intermediate standard rig described in!LINK!http://makehuman.org/doc/node/defining_the_target_rig_manually.html -- Defining the Target Rig Manually!/LINK!. The bone map from the source armature to the target armature hence consists of two parts:
* A map from the source rig to the standard rig. It is defined in the MakeWalk: Source Armature panel.
* A map from the target rig to the standard rig. It is defined in the!LINK!http://makehuman.org/doc/node/makewalk_target_armature_panel.html -- MakeWalk: Target Armature panel!/LINK!.
[[File:mws-010-panel.png]]
When a new scene is opened, the panel consists of the single button Initialize Source Panel. Once this button has been pressed, the following content is available:
[[File:mws-020-auto.png]]
* Reinit Source Panel: Reinitialization.
* Auto Source Rig: If this option is enabled, MakeWalk will try to identify the source rig automatically. It may happen that MakeWalk fails to identify the source rig automatically, but this is very unusual. If it should nevertheless happen, it is possible to define the bone map manually in analogy with !LINK!http://makehuman.org/doc/node/defining_the_target_rig_manually.html -- how it is done for target rigs!/LINK!.
* Source rig. A list of bvh rigs recognized by the mocap tool. This either defines the expected source rig (if Auto Source Rig is disabled) or to Automatic.
* Bones in the active source rig.
==== Target Armature panel ====
The second part of the mapping from source to target armatures is defined by the panel labelled MH Mocap: Target armature. It is the top-most of the mocap tool panels, and is closed by default.
When a new scene is opened, the panel consists of the single button Initialize Target Panel. Once this button has been pressed, the following content is available:
[[File:mwt-011-panel.png]]
* Reinit Target Panel. Reinitialization.
* Target rig. A list of bvh rigs recognized by the mocap tool. This either defines the expected Target rig (if Auto Target rig guessing is disabled), or is set to a matching rig (if automatic target rig identificiation is enabled).
* Auto Target Rig. If this option is enabled, MakeWalk will try to identify the target rig automatically. However, automatic rig identification is not trivial for complex rigs, and it may fail. If so, the bone map may be specified manually, cf!LINK!http://makehuman.org/doc/node/defining_the_target_rig_manually.html -- Defining the Target Rig Manually!/LINK!. If the bone map is defined. The target rigs available by default correspond mostly to the rig presets that can be exported from MakeHuman
* MHX. An advanced rig from MakeHuman alpha 8.
* MH Alpha 7. The MHX rig from MakeHuman alpha 7.
* Rigify.
* Ignore Hidden Layers: Ignore bones on hidden layers during automatic rig identification.
* Reverse Hip. Select this option if the armature has an reverse hip. It is rather common that an armature has a reverse hip. In a normal hip setup, the armature root is the hip or pelvis bone, and the thighs and the rest of the spine are children of this bone. In a reverse hip setup, the first bone in the spine has been reversed. There is a separate root bone, and the two lowest bones in the spine are both children of thise root, whereas the thighs are children of the reversed hip.
* Identify Target Rig: Identify the target rig, i.e. find out how bone names in the active armature correspond to the internal names. This step is performed automatically during retargeting, but the identification can also be done separately for debugging purposes. The bone map appears in the area called FK bones below.
* Set T-pose. Pose the active armature in T-pose.
* Save T-pose. Option used by the next button.
* Save Target File. Save the current bone map as a .trg file. If the Save T-pose option is set, also save a json file defining the T-pose.
* FK bones. The bone map.
The picture below shows automatic rig identification of the Rigify meta-rig (Add > Armature > Advanced Human).
[[File:mwt-020-metarig.png]]
=== MHBlenderTools: MakeWalk troubleshooting. ===
==== What if retargeting fails? ====
=== Errors and Corrective Actions ===
This document will describe common errors and corrective actions.
It may happen that MakeWalk fails to retarget an animation to a given armature. In that case an error message is displayed.
[[File:mwa-100-error.png]]
The error message consists of the following:
Mocap error
Category
Detailed error message
A link to this page
MakeWalk errors are grouped into the following categories:
* Load Bvh File
* Rename And Rescale
* Identify Target Rig
* Automatic Target Rig
* Manual Target Rig
* Identify Source Rig
* Retarget
* General Error
Load Bvh File
Rename And Rescale
Identify Target Rig
=== Automatic Target Rig ===
The most common problem is probably that MakeWalk fails to identify the target rig automatically. There are several possible reasons for this:
* The character is not oriented correctly. In the rest pose, the character should be standing with up being the positive Z axis and facing -Y.
* The armature is complex with extra bones not corresponding to a standard biped rig.
* The armature only has IK arms or legs. MakeWalk retargets animations to the FK limbs, so if no such bones exist, the program will not work.
[[File:mwa-110-reverse-hip.png]]
It is rather common that an armature has a reverse hip. In a normal hip setup, the armature root is the hip or pelvis bone, and the thighs and the rest of the spine are children of this bone. In a reverse hip setup, the first bone in the spine has been reversed. There is a separate root bone, and the two lowest bones in the spine are both children of thise root, whereas the thighs are children of the reversed hip.
[[File:mwa-120-reversehip.png]]
The advantage of such a setup is that the upper and lower body can be posed independently. However, MakeWalk failes to identify the bones, unless the Reverse Hip option has been enabled.
If automatic bone identification still fails, bone mapping has to be made manually. How this is done is described in the next section.
=== Defining the Target Rig Manually ===
Internally, MakeWalk retargets animations to an armature with the following bone hierarchy.
Here is a visual illustration of the bone hierarchy:
[[File:mwa-010-armature.png]]
In order to retarget to an armature with different bone names, we must define a map between the given bones and the internal names. By default, MakeWalk attempts to do this automatically. However, automatic bone mapping may easily be confused for non-trivial rigs. If this happens, one can define the bone map manually.
A bone map for a target armature is defined by a .trg file located in the target_rigs folder under the makewalk directory. The folder already contains three files, for retargeting the MHX advanced rig, the MakeHuman, and Rigify. These rigs are too complicated to identify the bone map automatically, so MakeWalk recognizes these rigs and use the predefined bone map.
Create a .trg file using an existing file as a template. E.g., a .trg file could look like this:
Note that it is not necessary to define maps to all bones. Bone names must not contain spaces, since whitespace is used as a delimiter in the .trg file. If the bones in your armature do contain spaces, replace them by underscore ( _ ). MakeWalk treats space and underscore as equivalent, so this is not a problem, except for very strange naming convention.
[[File:mwa-020-myrig.png]]
Save the .trg file with the name my_rig.trg in the target_rigs folder and press the Reinit Target Panel button. My_Rig should now appear in the Target rig list. Select it. In the FK bones sections, the My_Rig bone names are now listed. Make sure that the Auto Target Rig option is deselected, to override automatic bone mapping. Finally go to the main panel and press Load And Retarget. The animation should now be loaded.
=== MHBlenderTools: MakeWalk utilities ===
==== Utilities panel ====
This panel contains material that does not naturally fit into the other panels.
[[File:mwu-010-panel.png]]
=== Default Settings ===
* Save Defaults: Save current settings as the default settings.
* Load Defaults: Load the default settings from file.
=== Manage Actions ===
* Actions: A list of all actions in the scene, at the time when the Update Action List button was last pressed.
* Filter: If selected, only actions belonging to the active character are included in the action list. When the mocap tool creates an action, the first four letters in the action name are taken from the rig name.
* Update Action List:
* Set Current Action: Set the action selected in the Actions list as the active action.
* Delete Action: Permanently delete the action selected in the Actions list. The action must have zero users. It is quite cumbersome to permanently delete actions in Blender. The reason is that creating an action with hand animation takes much work, which should not be lost accidentally. The situation is different with mocap, where it is easy to fill up a blend file with many irrelevant actions. This button makes it easier to clean out such junk motions.
* Delete Temporary Actions: Some tools create temporary actions, whose names start with a hash sign (#). Deletes all such actions.
=== Temporary properties ===
* Delete Temporary Properties. MakeWalk creates some properties for relevant posebones during retargeting. Pressing this button removes these properties. However, be aware that some of the tools in the Edit panel may fail if the temporrary properties are deleted.
The temporary properties for the active posebone can be inspected in the N-panel.
[[File:mwu-030-temp-props.png]]
* McpBone: The name of this bone in the internal hierarchy.
* McpParent: The parent of this bone in the internal hierarchy.
* McpQuatW, McpQuatX, McpQuatY, McpQuatZ: The rotation of this bone in T-pose, represented as a quaternion.
=== T-pose ===
* Set T-pose: Set the current pose to T-pose.
* Clear T-pose: Set the current pose to the default pose.
* Load T-pose: Load a T-pose from a .json file to the active armature.
* Save T-pose: Save the current pose as a .json file.
=== Rest Pose ===
* Current Pose => Rest Pose: Set the current pose to rest pose.
ce77f281b262489ed8b8db5f0cbe7cc1e1a375ad
707
2016-05-20T11:19:08Z
Joepal
14
Created page with "MakeWalk is a Blender add-on for retargeting mocap data (.bvh files) to a given armature. ==== Retargeting: how it works ==== The goal of retargeting is to transfer a motion..."
wikitext
text/x-wiki
MakeWalk is a Blender add-on for retargeting mocap data (.bvh files) to a given armature.
==== Retargeting: how it works ====
The goal of retargeting is to transfer a motion from a source armature (e.g. from a BVH file) to a given target armature (e.g. the MHX rig). However, it is not straightforward to assign the source action to the target rig, even if the bones have identical names. The motion of each bone is specified in local coordinates, relative to the parent and the bone's own rest pose. If the rest poses of the source and target armatures differ, the source F-curves can not be used directly by the target armature.
!IMAGE!Pictures/makewalk-1.png!/IMAGE!
The picture above shows a transformation in the local coordinate system. Since the parent's local Y points along its axis and its local Z points up, the child bone is rotated around the local X axis. This is not very useful if the target armature has a diffent rest pose. To retarget the pose, we therefore reexpress the transformation in the global coordinate system, as shown below. The local X rotation corresponds to a global Y rotation, and by a different angle. Once the global transformation matrix is known, we can reexpress it in the target bone's local coordinate system.
The retargeting process thus consists of making two coordinate transformations:
Source local => Global => Target local.
This will ensure that the source bone and the target bone will have the same global orientation.
!IMAGE!Pictures/makewalk_2.png!/IMAGE!
Unfortunately, things are a little more complicated. We do not always want the source and target bones to have identical orientation. In particular, the root or pelvis bone may point in entirely different directions in different armatures. E.g. in the CMU armature rest pose the pelvis points forward-down, and in the MHX rig it points straight up.
!IMAGE!Pictures/makewalk-3.png!/IMAGE!
If we insisted that the root bone in the MHX rig would point in the same direction as in the CMU rig, the retargeting would not be very successful, as shown in the figure above. If we instead keep the rotation offset from the rest poses, the target pose becomes much better, as shown below.
To calibrate the source and target armature against each other, MalkWalk introduces extra keyframes at frame 0, where both armatures are posed in T-pose.
!IMAGE!Pictures/mcp-ret-060-calibrate.png!/IMAGE!
In the rest of the animation, bones in the target armature copy the global rotations of the source armature, apart from differences present in the T-poses. In this way we can transfer animations from CMU to the MHX rig, despite the fact that the rest poses are very different.
==== Basic Workflow ====
=== Retargeting ===
The MakeWalk panels appear in the tool shelf whenever an armature is the active object. Select the armature and press the Load And Retarget button. In the file selector, select the .bvh file. We choose the file 90_04.bvh from the CMU database. It is a cartwheel animation.
!IMAGE!Pictures/makewalk-4.png!/IMAGE!
After a short wait, the armature is doing gymnastics.
!IMAGE!Pictures/makewalk-5.png!/IMAGE!
At frame 0 of the animation the armature has been placed in T-pose. This is not part of the originial .bvh file, but inserted by MakeWalk to calibrate the source armature (defined by the bvh file) and the target armature (the selected armature in the viewport) against each other.
=== Supported armatures ===
MakeWalk works with most straightforward biped rigs with FK arms and legs, such as the Rigify meta-rig. There is also built-in support for some more complex rigs: the MHX advanced rig from MakeHuman, the MHX rig from MakeHuman and Rigify.
!IMAGE!Pictures/makewalk-6.png!/IMAGE!
It is often possible to use MakeWalk with other complex rig, but in that case the automatic bone identification may fail. If so, a bone map must be defined manually, see!LINK!http://makehuman.org/doc/node/defining_the_target_rig_manually.html -- Defining a Target Rig Manually!/LINK!.
=== Troubleshooting ===
Retargeting is a rather involved subject, and it can sometimes result in poor motion. The process may even fail completely, usually because MakeWalk failed to automatically identify the bones of a complex rig. If this should happen, see!LINK!http://www.makehuman.org/doc/node/makewalk_errors_and_corrective_actions.html -- Errors and Corrective Actions!/LINK!.
==== Where to find BVH files ====
There are several different formats that mocap files can be stored in. MakeHuman's mocap tool can only deal with files in Biovision BVH format. BVH files can be bought from many commercial sources, but a large range of mocap files are also available for free download. Here are some sites I found useful.
* CMU Graphics Lab Motion Capture Database: Hosted at Carnegie-Mellon University, this is a huge library of mocap files which can be downloaded for free. The web address is!LINK!http://mocap.cs.cmu.edu/ -- http://mocap.cs.cmu.edu!/LINK!. CMU hosts mocap files in three formats: tvd, c3d and amc. However, the mocap tool can only read BVH files, so none of these files can be used directly. Fortunately, B. Hahne at!LINK!http://www.cgspeed.com/ -- www.cgspeed.com!/LINK!has converted the CMU files to BVH. The converted files are located at!LINK!http://sites.google.com/a/cgspeed.com/cgspeed/motion-capture -- http://sites.google.com/a/cgspeed.com/cgspeed/motion-capture!/LINK!.
* Advanced Computing Center for the Arts and Design (ACCAD): Hosted at the Ohio State University, this is another great source of free mocap files. BVH files can be downloaded from!LINK!http://accad.osu.edu/research/mocap/mocap_data.htm -- http://accad.osu.edu/research/mocap/mocap_data.htm!/LINK!
* Eyes Japan (mocapdata.com):This is a Japanese company that sells mocap data commercially, but they also offer a huge number of motions for free. According to their homepage, mocapdata.com provides 744 premium motion data and 4197 free motion data. The only catch is that downloading requires registration. Not surprisingly, the homepage of mocapdata.com has the address!LINK!http://www.mocapdata.com/ -- http://www.mocapdata.com/!/LINK!.
* The Trailer's Park: Free mocap data can also be found at the Trailer's Park,!LINK!http://www.thetrailerspark.com/ -- http://www.thetrailerspark.com!/LINK!. This site does not offer original data, but offer repacks of mocap data from other free sites for download. Free download is limited to some five packs per day, so some patience is required here.
* Hochschule der Medien, Universität Bonn (HDM):!LINK!http://www.mpi-inf.mpg.de/resources/HDM05/ -- http://www.mpi-inf.mpg.de/resources/HDM05!/LINK!
* The Perfume global site project #001:!LINK!http://perfume-dev.github.com/ -- http://perfume-dev.github.com/!/LINK!
=== MHBlenderTools: MakeWalk user interface ===
==== The user interface ====
The user > interface of MakeWalk is located in under the Armature tab, and becomes visible when an armature is selected. It consists of six panels; the first one is open by default and the others are closed.
!IMAGE!Pictures/makewalk-7_0.png!/IMAGE!
* Load And Retarget: Select a BVH file and retarget it to the active armature.
* Start Frame: The first frame in the BVH file to considered.
* Last Frame: The last frame to be considered, unless the animation stops earlier. The difference last_frame - first_frame is the maximal number of frames after retargeting. The number of frames in the BVH file may be larger, if some frames are skipped due to subsampling
* Detailed steps: When this options is selected, further buttons are show below
* Load BVH File (.bvh). Load a BVH file, and create an animated armature from it.
* Rename And Rescale BVH Rig. With the BVH armature active, and a target armature selected, rename and rescale the bones of the active armature to fit the target.
* Load And Rename BVH File (.bvh). A combination of the previous two buttons. With a target armature active, load a BVH file, and create an animated armature with renamed and rescaled bones.
* Retarget Selected To Active. Retarget the animation from a renamed and rescaled BVH armature to the active armature.
* Simplify FCurves. Simplify the F-curves of the active armature.
* Rescale FCurves. Rescale F-curevs of the active armature.What if retargeting fails?
MakeWalk is designed to retarget animations to a given armature with a minimum of user intervention. However, retargeting is a complex process, and entirely automatic retargeting may fail or result in suboptimal motion. Information about how to identify and correct problems is found in!LINK!/doc/node/blendertools_makewalk_troubleshooting.html -- Errors and Corrective Actions!/LINK!.
A common problem is that automatic identification of bones in the target armature fails. A bone map can then be assigned manually, cf.!LINK!/doc/node/blendertools_makewalk_troubleshooting.html -- Defining the Target Rig Manually.!/LINK!
==== Options panel ====
!IMAGE!Pictures/makewalk-8.png!/IMAGE!
* Use Default Subsample. Blender normally plays the animation in 24 fps or 25 fps, but the animation in the BVH file may be recorded at a different speed. In particular, the BVH files from CMU were filmed at 120 fps. Enable this option to have the animation play at natural speed, irrespective of the frame rate in the BVH file. Other subsample options are described below.
* Auto scale. Set the scale automatically based on the size of the left thigh. This choice has two motivations:
* Almost all character do have a left leg.
* The leg size is crucial for making walk cycles look good.
* Scale. The default MakeHuman scale is decimeters - 1 unit = 1 decimeter. Translations in a BVH file are expressed in different units; often the base unit is inches, meters or centimeters, but more obscure units can also occur, e.g. in BVH files from CMU. If the scale is set incorrectly, rotations will still be correctly retargeted, but the character will appear to take giant leaps or miniscule steps.
* Use Limits: If this option is enabled, MakeWalk honors any Limit Rotation constraints, and will not allow excessive rotations. If the animation in the bvh files exceeds some rotation limits, this makes the retargeted animation less faithful. On the other hand, the rig may not be built for excessive rotations, so unchecking this option can lead to other problems.
* Unlock Rotation: If this option is disabled, MakeWalk honors any rotation locks. If the animation in the bvh files bend around locked axes, this makes the retargeted animation less faithful. If Unlock Rotation is enabled, any X or Z rotation locks are disabled. Y rotation locks (bone twisting) are never disabled. The reason for this is that in the MHX and Rigify rigs, forearm rotation is handled by deform bones controlled by hand twisting.
* Auto source rig. The source rig (i.e. the armature defined by the BVH file) is specified in the!LINK!/doc/node/blendertools_makewalk_source_and_target_armature.html -- Source Armature panel!/LINK!. Enable this option if the mocap tool should attempt to automatically identify the source rig, based on the structure of the bone hierarchy.
* Auto target rig. The target rig (i.e. the armature in the blend file) is specified in the!LINK!/doc/node/blendertools_makewalk_source_and_target_armature.html -- Target Armature panel!/LINK!. Enable this option if the mocap tool should attempt to automatically identify the target rig, based on the structure of the bone hierarchy.
* Ignore Hidden Layers. Ignore bones on hidden layers when identifying the target rig.
=== Subsample and Rescale ===
If the Use Default Subsample option is set, the mocap tool will rescale the animation to fit the current frame rate. However, there are at least two reasons why you may want to load an animation at a different frame rate:
* * To obtain a slow-motion or rapid-motion effect.
* To quickly load an animation to see if the gross features will work out.
If the Use Default Subsample option is disabled, the SubSample section becomes visible.
* Subsample. Enable subsampling.
* Subsample Factor. If the value of this property is n, only every n:th frame of the BVH animation is loaded.
* Rescale. Enable rescaling.
* Rescale Factor. If the value of this property is n, the time distance between keyframes is changed to n.
* Rescale FCurves. Apply the settings above to existing F-curves rather than to the loaded animation.
Rescaling differs from simply scaling F-curves in the F-curve editor.
=== Simplification ===
* Simplify FCurves. Remove unnecessary keyframes.
* Max Loc Error. The maximal allowed error for location keyframes, in Blender units. A larger error results in fewer keyframes but less accuracy.
* Max Rot Error. The maximal allowed error for rotation keyframes, in degrees. A larger error results in fewer keyframes but less accuracy.
* Only Visible. Simplification only affect F-curves visible in the Graph editor.
* Only Between Markers. Simplification only affects F-curves between the two outermost selected markers. The timeline must have at least two selected markers.
==== Edit panel ====
Loading and retargeting is normally only the first step in the creation of an animation from mocap data. There are many reasons why a loaded animation does not behave exactly the way you want it to: artifacts in the mocap data, differences in armature structure not compensated for correctly by the retargeting process, differences in body stature between the mocap actor and the target character, or simply that the filmed sequence does not do exactly what you intend.. It is of course possible to edit the action directly in the graph editor, but this is unpractical due to the amount of mocap data. The mocap tool offers several possibilities to edit an action at a higher level. These tools are colleted in the Edit Action panel which is located just below the Options panel.
!IMAGE!Pictures/edit-action.png!/IMAGE!
=== Inverse Kinematics ===
* Transfer FK => IK: The load and retarget steps transfers an animation from a bvh file to the target character. However, only the FK bones are animated. Press this button to transfer the FK animation to the IK bones. Only works for the advanced MHX armature. If two markers are selected, only the animation between the markers is transferred.
* Transfer IK => FK: Transfer the animation back from the IK bones to the FK bones. Useful if the IK animation has been edited,
* Clear IK Animation: Remove all keyframes from all IK bones (arms and legs).
* Clear FK Animation: Remove all keyframes from all FK bones (arms and legs).
=== Global Edit ===
* Shift Animation. Shift the keys for the selected bones at all keyframes.If two markers are selected, only the keyframes between the markers are deleted.
* X,Y,Z: F-curves affected by the next button.
* Fixate Bone Locations:Replace all location keys by their average. Only selected bones and keyframes between selected markers are affected.
* Rescale Factor: Factor used by next button.
* Rescale FCurves: Rescale all F-curves by the factor above. This is similar to scaling F-curves in the curve editor, but jumps are treated correctly. E.g., rotations of +180 degrees and -180 degrees are the same, but if we scale an F-curve with a factor two, the intermedate keyframe will have the average rotation 0 degrees, The Rescale FCurves button handles this case correctly.
=== Local Edit ===
This section could be called "Poor man's animation layers". A loaded mocap animation usually has imperfections that must be edited, but without changing the overall feel of the motion. The Start Edit button creates a new animation layer where differences from the original motion are stored as keys, called delta keys since delta often denotes a difference.
* Start Edit: Start editing F-curves.
* Undo Edit: Quit F-curve editing, without modifying the original F-curves.
* Loc: Set a location delta keyframe.
* Rot: Set a rotation delta keyframe.
* LocRot: Set a location and rotation delta keyframe.
* Delete: Remove all delta keyframes at the current time.
* |<: Move to first delta keyframe
* <: Move to previous delta keyframe.
* >: Move to next delta keyframe.
* >|: Move to last delta keyframe.
* Confirm Edit: Modify the original F-curves and quit F-curve editing.
The delta keys are represented by markers in the timeline.
!IMAGE!Pictures/mwe-315-local-keys.png!/IMAGE!
A delta key can be added with the Loc, Rot and LocRot buttons, and removed with Delete. There is no way to view the delta keys directly. In the viewport and the curve editor, the final pose is shown, which is the sum of the original pose and the delta key.
A common use for delta keys is to correct for intersection with other objects or the character herself. The typical workflow is as follows:
* * Start Edit.
* Set a delta key at a good frame just before the intersection.
* Set a delta key at a good frame just after the intersection.
* Edit the pose a the frame(s) where intersection occurs.
* If the intersection has been removed, Confirm Edit. If not, set new delta keys until it has, or Undo Edit to remove the delta layer.
=== Feet ===
* Left: Affect the left foot.
* Right: Affect the right foot.
* Hips: Affect the characters hip (COM) bone.
* Offset Toes: Ensure that the toe is below the ball of the foot at all keyframes. Primarily useful for rigs with a reverse foot setup as explained below.
* Keep Feet Above Floor: If a mesh object (typically a plane) is selected, shift the keyframes to keep the affected feet above the plane. The plane does not necessarily lie in the XY plane; if the plane is tilted, the feet are kept on the plane's upper side. If no plane is selected, the feet are kept above the XY plane (z = 0). The IK feet are affected if the rig has and uses IK legs, otherwise the FK feet are kept above the floor. If two markers are selected, only the keyframes inbetween are shifted.
In a rig with a reverse foot setup, such as the MHX rig, the foot can rotate around the toe, ball, and heel. The reverse foot and toe bones are completely fixed by the corresponding FK bones, but the IK effector can be placed arbitrarily, as long as it ends at the toe tip. The transfer tool uses this freedom to make the IK effector perfectly horizontal, provided that the toe is below the ball and heel.
!IMAGE!Pictures/refoot.png!/IMAGE!
To use this feature we must ensure that the toe is below the ball of the foot, which is done by the Offset Toes button.
=== Loop And Repeat ===
!LINK! -- Loop Animation!/LINK!
Create a loop of the action between two selected time markers, by blending the keyframes in the beginning and end of the loop. This is useful e.g. to create walk and run cycles for games. For good results, the poses at the beginning and end of the selected region should be similar.
* Blend Range: The number of keyframes used for blending.
* Loop in place: Remove the X and Y components of the root bone's location.
* Loop F-curves: Loop the animation.
!LINK! -- Repeat Animation!/LINK!
Repeat the action between two selected time markers. The actions should preferably be looped before it is repeated, to make the beginning and end match seamlessly.
* Repeat Number: The number of repetitions.
* Repeat F-curves: Repeat the animation.
=== Stitching ===
Create a new action by stitching two actions together seamlessly.
* Update Action List: Update the first and second action drop-down lists.
* First Action: The name of the first action.
* First End Frame: Last frame of the first action
* Set Current Action: Set the first action as the current action.
* Second Action: The name of the second action.
* Second Start Frame: First frame of the second action.
* Set Current Action: Set the second action as the current action.
* Action Target: Choose between creating a new action and prepending the second action.
* Blend Range: The number of keyframes used for blending. Same parameter as in Loop Animations section.
* Output Action Name:
* Stitch Actions: Stitch the actions together.
=== MHBlenderTools: MakeWalk armatures ===
==== Source Armature panel ====
MakeWalk transfers an animation from a source armature, defined in a bvh file, to a given target armature. It uses an intermediate standard rig described in!LINK!http://makehuman.org/doc/node/defining_the_target_rig_manually.html -- Defining the Target Rig Manually!/LINK!. The bone map from the source armature to the target armature hence consists of two parts:
* A map from the source rig to the standard rig. It is defined in the MakeWalk: Source Armature panel.
* A map from the target rig to the standard rig. It is defined in the!LINK!http://makehuman.org/doc/node/makewalk_target_armature_panel.html -- MakeWalk: Target Armature panel!/LINK!.
!IMAGE!Pictures/mws-010-panel.png!/IMAGE!
When a new scene is opened, the panel consists of the single button Initialize Source Panel. Once this button has been pressed, the following content is available:
!IMAGE!Pictures/mws-020-auto.png!/IMAGE!
* Reinit Source Panel: Reinitialization.
* Auto Source Rig: If this option is enabled, MakeWalk will try to identify the source rig automatically. It may happen that MakeWalk fails to identify the source rig automatically, but this is very unusual. If it should nevertheless happen, it is possible to define the bone map manually in analogy with !LINK!http://makehuman.org/doc/node/defining_the_target_rig_manually.html -- how it is done for target rigs!/LINK!.
* Source rig. A list of bvh rigs recognized by the mocap tool. This either defines the expected source rig (if Auto Source Rig is disabled) or to Automatic.
* Bones in the active source rig.
==== Target Armature panel ====
The second part of the mapping from source to target armatures is defined by the panel labelled MH Mocap: Target armature. It is the top-most of the mocap tool panels, and is closed by default.
When a new scene is opened, the panel consists of the single button Initialize Target Panel. Once this button has been pressed, the following content is available:
!IMAGE!Pictures/mwt-011-panel.png!/IMAGE!
* Reinit Target Panel. Reinitialization.
* Target rig. A list of bvh rigs recognized by the mocap tool. This either defines the expected Target rig (if Auto Target rig guessing is disabled), or is set to a matching rig (if automatic target rig identificiation is enabled).
* Auto Target Rig. If this option is enabled, MakeWalk will try to identify the target rig automatically. However, automatic rig identification is not trivial for complex rigs, and it may fail. If so, the bone map may be specified manually, cf!LINK!http://makehuman.org/doc/node/defining_the_target_rig_manually.html -- Defining the Target Rig Manually!/LINK!. If the bone map is defined. The target rigs available by default correspond mostly to the rig presets that can be exported from MakeHuman
* MHX. An advanced rig from MakeHuman alpha 8.
* MH Alpha 7. The MHX rig from MakeHuman alpha 7.
* Rigify.
* Ignore Hidden Layers: Ignore bones on hidden layers during automatic rig identification.
* Reverse Hip. Select this option if the armature has an reverse hip. It is rather common that an armature has a reverse hip. In a normal hip setup, the armature root is the hip or pelvis bone, and the thighs and the rest of the spine are children of this bone. In a reverse hip setup, the first bone in the spine has been reversed. There is a separate root bone, and the two lowest bones in the spine are both children of thise root, whereas the thighs are children of the reversed hip.
* Identify Target Rig: Identify the target rig, i.e. find out how bone names in the active armature correspond to the internal names. This step is performed automatically during retargeting, but the identification can also be done separately for debugging purposes. The bone map appears in the area called FK bones below.
* Set T-pose. Pose the active armature in T-pose.
* Save T-pose. Option used by the next button.
* Save Target File. Save the current bone map as a .trg file. If the Save T-pose option is set, also save a json file defining the T-pose.
* FK bones. The bone map.
The picture below shows automatic rig identification of the Rigify meta-rig (Add > Armature > Advanced Human).
!IMAGE!Pictures/mwt-020-metarig.png!/IMAGE!
=== MHBlenderTools: MakeWalk troubleshooting. ===
==== What if retargeting fails? ====
=== Errors and Corrective Actions ===
This document will describe common errors and corrective actions.
It may happen that MakeWalk fails to retarget an animation to a given armature. In that case an error message is displayed.
!IMAGE!Pictures/mwa-100-error.png!/IMAGE!
The error message consists of the following:
Mocap error
Category
Detailed error message
A link to this page
MakeWalk errors are grouped into the following categories:
* Load Bvh File
* Rename And Rescale
* Identify Target Rig
* Automatic Target Rig
* Manual Target Rig
* Identify Source Rig
* Retarget
* General Error
Load Bvh File
Rename And Rescale
Identify Target Rig
=== Automatic Target Rig ===
The most common problem is probably that MakeWalk fails to identify the target rig automatically. There are several possible reasons for this:
* The character is not oriented correctly. In the rest pose, the character should be standing with up being the positive Z axis and facing -Y.
* The armature is complex with extra bones not corresponding to a standard biped rig.
* The armature only has IK arms or legs. MakeWalk retargets animations to the FK limbs, so if no such bones exist, the program will not work.
!IMAGE!Pictures/mwa-110-reverse-hip.png!/IMAGE!
It is rather common that an armature has a reverse hip. In a normal hip setup, the armature root is the hip or pelvis bone, and the thighs and the rest of the spine are children of this bone. In a reverse hip setup, the first bone in the spine has been reversed. There is a separate root bone, and the two lowest bones in the spine are both children of thise root, whereas the thighs are children of the reversed hip.
!IMAGE!Pictures/mwa-120-reversehip.png!/IMAGE!
The advantage of such a setup is that the upper and lower body can be posed independently. However, MakeWalk failes to identify the bones, unless the Reverse Hip option has been enabled.
If automatic bone identification still fails, bone mapping has to be made manually. How this is done is described in the next section.
=== Defining the Target Rig Manually ===
Internally, MakeWalk retargets animations to an armature with the following bone hierarchy.
Here is a visual illustration of the bone hierarchy:
!IMAGE!Pictures/mwa-010-armature.png!/IMAGE!
In order to retarget to an armature with different bone names, we must define a map between the given bones and the internal names. By default, MakeWalk attempts to do this automatically. However, automatic bone mapping may easily be confused for non-trivial rigs. If this happens, one can define the bone map manually.
A bone map for a target armature is defined by a .trg file located in the target_rigs folder under the makewalk directory. The folder already contains three files, for retargeting the MHX advanced rig, the MakeHuman, and Rigify. These rigs are too complicated to identify the bone map automatically, so MakeWalk recognizes these rigs and use the predefined bone map.
Create a .trg file using an existing file as a template. E.g., a .trg file could look like this:
Note that it is not necessary to define maps to all bones. Bone names must not contain spaces, since whitespace is used as a delimiter in the .trg file. If the bones in your armature do contain spaces, replace them by underscore ( _ ). MakeWalk treats space and underscore as equivalent, so this is not a problem, except for very strange naming convention.
!IMAGE!Pictures/mwa-020-myrig.png!/IMAGE!
Save the .trg file with the name my_rig.trg in the target_rigs folder and press the Reinit Target Panel button. My_Rig should now appear in the Target rig list. Select it. In the FK bones sections, the My_Rig bone names are now listed. Make sure that the Auto Target Rig option is deselected, to override automatic bone mapping. Finally go to the main panel and press Load And Retarget. The animation should now be loaded.
=== MHBlenderTools: MakeWalk utilities ===
==== Utilities panel ====
This panel contains material that does not naturally fit into the other panels.
!IMAGE!Pictures/mwu-010-panel.png!/IMAGE!
=== Default Settings ===
* Save Defaults: Save current settings as the default settings.
* Load Defaults: Load the default settings from file.
=== Manage Actions ===
* Actions: A list of all actions in the scene, at the time when the Update Action List button was last pressed.
* Filter: If selected, only actions belonging to the active character are included in the action list. When the mocap tool creates an action, the first four letters in the action name are taken from the rig name.
* Update Action List:
* Set Current Action: Set the action selected in the Actions list as the active action.
* Delete Action: Permanently delete the action selected in the Actions list. The action must have zero users. It is quite cumbersome to permanently delete actions in Blender. The reason is that creating an action with hand animation takes much work, which should not be lost accidentally. The situation is different with mocap, where it is easy to fill up a blend file with many irrelevant actions. This button makes it easier to clean out such junk motions.
* Delete Temporary Actions: Some tools create temporary actions, whose names start with a hash sign (#). Deletes all such actions.
=== Temporary properties ===
* Delete Temporary Properties. MakeWalk creates some properties for relevant posebones during retargeting. Pressing this button removes these properties. However, be aware that some of the tools in the Edit panel may fail if the temporrary properties are deleted.
The temporary properties for the active posebone can be inspected in the N-panel.
!IMAGE!Pictures/mwu-030-temp-props.png!/IMAGE!
* McpBone: The name of this bone in the internal hierarchy.
* McpParent: The parent of this bone in the internal hierarchy.
* McpQuatW, McpQuatX, McpQuatY, McpQuatZ: The rotation of this bone in T-pose, represented as a quaternion.
=== T-pose ===
* Set T-pose: Set the current pose to T-pose.
* Clear T-pose: Set the current pose to the default pose.
* Load T-pose: Load a T-pose from a .json file to the active armature.
* Save T-pose: Save the current pose as a .json file.
=== Rest Pose ===
* Current Pose => Rest Pose: Set the current pose to rest pose.
b649bc868cb2c461265fee893615e06385591290
Documentation:Making a simple dress
3000
328
859
858
2016-05-26T12:50:51Z
Joepal
14
wikitext
text/x-wiki
[[File:mc2a-010-female.png]]
Start with an empty scene and add a character. Since dresses are mainly worn by women, we select the character type Average Female. A dress is typically attached to the tights and skirt helpers, so we need to load a Human With Helpers. A human mesh appears in the viewport.
[[File:mc2a-020-model-dress.png]]
Now model the dress using the human mesh as a reference. Give the dress mesh the object name Dress. This is important, because the object name will determine the file paths as well as the clothing's name in MakeHuman.
[[File:mc2a-030-material.png]]
Assign a material to the dress. We will go for a simple, monochromatic material without textures. Again we must choose a name for the material. The name will appear in the mhmat file that describes the clothing's material properties.
Note that the render engine must be set to Blender Internal to create the material. MakeClothes does not work with the Cycles renderer.
[[File:mc2a-040-seams.png]]
Before we can associate the dress mesh with the human mesh, it must first be UV unwrapped. To this end, create seams at suitable edges.
[[File:mc2a-050-uvs.png]]
UV unwrap the mesh. At this point we could paint a texture for the dress, but for our simple monochromatic material this is not necessary.
[[File:mc2a-060-make-clothes.png]]
Finally, we are ready to create the clothes. Press the Make Clothes button.
[[File:mc2a-070-terminal.png]]
Since the program can take quite a while to complete, we can monitor progress in the terminal/dos window. For every tenth vertex, the following information is printed in the terminal:
* Clothing vertex number
* Closest human vertex in same vertex group.
* Distance between clothes vertex and human mesh face.
* Vertex group
* Clothes vertex group index
* Human vertex group index
The output files are also listed in the terminal window.
[[File:mc2a-090-files.png]]
MakeClothes creates a new folder named like the clothing name (in this case, Dress), with three files in it:
* <em>dress.mhclo</em>: Describes the associate between clothing and human vertices.
* <em>dress.obj</em>: Describes the clothes mesh. This is a standard .obj file which can be imported into most packages.
* <em>dress.mhmat</em>: Describes the material properties.
By default, the dress folder is created in the following directory:
* On Windows: Documents\makehuman\data\clothes
* On Linux: ~\makehuman\data\clothes
[[File:mc2a-100-mh.png]]
If the new clothing is saved in the default directory, MakeHuman should find it automatically. Open MakeHuman and go to the Geometries > Clothes tab. A new button named Dress should appear in the right-hand panel. Press it, and the character is wearing the dress you just created.
[[File:mc2a-110-adjust.png]]
The size and shape of the dress adjusts itself automatically when the character sliders are moved.
== Modelling clothes starting from helper geometry ==
It is sometimes convenient to use the helper geometry as a starting point for modelling; in fact, this is how the dress in this tutorial was modelled. However, there are some pitfalls.
[[File:mc2a-210-separate-skirt.png]]
Enter edit mode and select the tights and skirt helpers. This is most easily done in the Materials tab. Press Shift-D to duplicate the selection, and P to separate the duplicated geometry into a separate object.
[[File:mc2a-220-rename.png]]
Rename the new mesh to Dress and move it to a separate layer. The mesh type is still Human, so change that to Clothing.
[[File:mc2a-230-snap-waist.png]]
Delete the tights vertices below the waist, and snap the tights waist to the skirt waist. The waist now consists of pairs of vertices at identical locations. Remove doubles to join the upper and lower parts.
[[File:mc2a-240-materials.png]]
The dress now consists of a contiguous mesh, but the materials are still those of the human. Unlink the human materials and create the bluish Dress material, as we did in the first part above.
[[File:mc2a-250-error.png]]
We now proceed to press the Make Clothes button, but there is a surprise. MakeClothes displays an error message, saying that some vertex belongs to three groups. This happens because automatic vertex group assignment works differently for humans and clothes. In a piece of clothing, each vertex must belong to exactly on group, but in a human model there is no such restriction. In particular, the vertices along the symmetry plane x = 0 are assigned to all three groups, Mid, Left, Right.
[[File:mc2a-260-auto.png]]
To fix this, Show Automatic Vertex Groups and press Auto Vertex Groups. Since the mesh type is now set to Clothing, vertex groups are assigned in the correct fashion, and in particular each vertex belongs to exactly one group.
== Adding a texture ==
In this section we replace the simple monochromatic material with a texture.
[[File:mc2a-410-texture.png]]
First create the image, e.g. using Blender's texture paint mode. Save the image in the same folder as the blend file.
[[File:mc2a-420-assign-texture.png]]
Assign the texture as an image texture in Blender's texture tab. Note that MakeClothes expects that the old Blender Internal renderer is used, not Cycles.
MakeClothes automatically recognizes that the material has a texture, and the image is copied to the dress folder in the data/clothes directory. Next time you enable the dress, it has a non-trivial texture.
[[File:mc2a-430-tex-in-mh.png]]
Sometimes it is necessary to restart MakeHuman after clothes have been edited to make the changes stick.
Other types of textures, such as normal and specular maps, are created in an analogous fashion. Add them to the Blender material, and the corresponding textures are used in MakeHuman, to the extent that a feature has been implemented.
== Hiding faces ==
Clothes adapt to the character, but sometimes blotches of skin can be visible through clothes. The problem is particularly severe for tight and low-poly clothes, and is further aggravated by posing.
[[File:mc2a-510-blotches.png]]
Here we see that the dress does not quite cover a fat womans' belly on the sides.
[[File:mc2a-520-delete-group.png]]
Our solution to this problem is to hide faces in the human mesh that are hidden by clothes. This is not a perfact solution, for several reasons:
* It does not work for multiple clothes stacked upon each other.
* Hidden faces may in fact be visible from other camera angles.
* It makes it impossible to undress an exported character in another application, since the underlying body is not there.
Imperfact as it is, removing hidden faces does fix some of the most blatant problems.
In Blender, select the human vertices that are covered by the dress, and assign them to the Delete vertex groups that was automatically created. Note that when a vertex is removed, so are all faces that it belongs to. We must therefore be careful not to assign to many vertices close to the clothes' boundary to the Delete group.
[[File:mc2a-530-mh-deleted.png]]
With hidden vertices assigned to the Delete group, press Make Clothes. In MakeHuman, the blotch of skin poking through the skirt is gone.
[[File:mc2a-540-behind.png]]
The option Hide faces under clothes controls the visibility of hidden faces. We see that it greatly improves the view from behind, but there are still some problems at the top of the thighs.
[[File:mc2a-550-better-delete.png]]
The situation can be improved by tweaking the Delete vertex group. The picture above shows the best I could do. There are still some problems at the bottom of the dress, both with skin poking through the skirt, and with visible faces being deleted. In situations like this, it is probably necessary to edit the mesh, moving the bottom of the skirt away from the body.
[[File:mc2a-560-updating.png]]
The clothes do not update while a slider is being dragged, but only when it is released. We can then see how hidden surface removal works.
== Creating an thumbnail ==
So far the dress has appeared with the default thumbnail in the clothes file browser, i.e. as a face with a question mark.
[[File:mc2a-610-icon.png]]
Move the human to a hidden layer and arrange the camera and lights. Set the render resolution to 128 x 128 and 100%. Change the camera to orthographic and adjust the scale so that the dress fills the camera view.
[[File:mc2a-620-render.png]]
Render and save the image as a png file with the name dress.thumb in the same folder as the other files. When I wrote this document, Blender automatically changed the file name to dress.thumb.png in the file selector, but the extra .png suffix was not actually included in the file name. Note that the thumbnail suffix is .thumb; the file Dress.png is the diffuse texture.
[[File:mc2a-630-thumb.png]]
Here is the content of the dress folder. dress.npz is a compiled .obj file. MakeClothes automatically deletes .npz files after saving .obj files, to prevent update problems.
[[File:mc2a-640-mh.png]]
a8d24ad978b96d578e30bedaf173e24454fe5243
858
2016-05-26T12:50:03Z
Joepal
14
Created page with " [[File:mc2a-010-female.png|left]] Start with an empty scene and add a character. Since dresses are mainly worn by women, we select the character type Average Female. A dress..."
wikitext
text/x-wiki
[[File:mc2a-010-female.png|left]]
Start with an empty scene and add a character. Since dresses are mainly worn by women, we select the character type Average Female. A dress is typically attached to the tights and skirt helpers, so we need to load a Human With Helpers. A human mesh appears in the viewport.
[[File:mc2a-020-model-dress.png|left]]
Now model the dress using the human mesh as a reference. Give the dress mesh the object name Dress. This is important, because the object name will determine the file paths as well as the clothing's name in MakeHuman.
[[File:mc2a-030-material.png|left]]
Assign a material to the dress. We will go for a simple, monochromatic material without textures. Again we must choose a name for the material. The name will appear in the mhmat file that describes the clothing's material properties.
Note that the render engine must be set to Blender Internal to create the material. MakeClothes does not work with the Cycles renderer.
[[File:mc2a-040-seams.png|left]]
Before we can associate the dress mesh with the human mesh, it must first be UV unwrapped. To this end, create seams at suitable edges.
[[File:mc2a-050-uvs.png|left]]
UV unwrap the mesh. At this point we could paint a texture for the dress, but for our simple monochromatic material this is not necessary.
[[File:mc2a-060-make-clothes.png|left]]
Finally, we are ready to create the clothes. Press the Make Clothes button.
[[File:mc2a-070-terminal.png|left]]
Since the program can take quite a while to complete, we can monitor progress in the terminal/dos window. For every tenth vertex, the following information is printed in the terminal:
* Clothing vertex number
* Closest human vertex in same vertex group.
* Distance between clothes vertex and human mesh face.
* Vertex group
* Clothes vertex group index
* Human vertex group index
The output files are also listed in the terminal window.
[[File:mc2a-090-files.png|left]]
MakeClothes creates a new folder named like the clothing name (in this case, Dress), with three files in it:
* <em>dress.mhclo</em>: Describes the associate between clothing and human vertices.
* <em>dress.obj</em>: Describes the clothes mesh. This is a standard .obj file which can be imported into most packages.
* <em>dress.mhmat</em>: Describes the material properties.
By default, the dress folder is created in the following directory:
* On Windows: Documents\makehuman\data\clothes
* On Linux: ~\makehuman\data\clothes
[[File:mc2a-100-mh.png|left]]
If the new clothing is saved in the default directory, MakeHuman should find it automatically. Open MakeHuman and go to the Geometries > Clothes tab. A new button named Dress should appear in the right-hand panel. Press it, and the character is wearing the dress you just created.
[[File:mc2a-110-adjust.png|left]]
The size and shape of the dress adjusts itself automatically when the character sliders are moved.
== Modelling clothes starting from helper geometry ==
It is sometimes convenient to use the helper geometry as a starting point for modelling; in fact, this is how the dress in this tutorial was modelled. However, there are some pitfalls.
[[File:mc2a-210-separate-skirt.png|left]]
Enter edit mode and select the tights and skirt helpers. This is most easily done in the Materials tab. Press Shift-D to duplicate the selection, and P to separate the duplicated geometry into a separate object.
[[File:mc2a-220-rename.png|left]]
Rename the new mesh to Dress and move it to a separate layer. The mesh type is still Human, so change that to Clothing.
[[File:mc2a-230-snap-waist.png|left]]
Delete the tights vertices below the waist, and snap the tights waist to the skirt waist. The waist now consists of pairs of vertices at identical locations. Remove doubles to join the upper and lower parts.
[[File:mc2a-240-materials.png|left]]
The dress now consists of a contiguous mesh, but the materials are still those of the human. Unlink the human materials and create the bluish Dress material, as we did in the first part above.
[[File:mc2a-250-error.png|left]]
We now proceed to press the Make Clothes button, but there is a surprise. MakeClothes displays an error message, saying that some vertex belongs to three groups. This happens because automatic vertex group assignment works differently for humans and clothes. In a piece of clothing, each vertex must belong to exactly on group, but in a human model there is no such restriction. In particular, the vertices along the symmetry plane x = 0 are assigned to all three groups, Mid, Left, Right.
[[File:mc2a-260-auto.png|left]]
To fix this, Show Automatic Vertex Groups and press Auto Vertex Groups. Since the mesh type is now set to Clothing, vertex groups are assigned in the correct fashion, and in particular each vertex belongs to exactly one group.
== Adding a texture ==
In this section we replace the simple monochromatic material with a texture.
[[File:mc2a-410-texture.png|left]]
First create the image, e.g. using Blender's texture paint mode. Save the image in the same folder as the blend file.
[[File:mc2a-420-assign-texture.png|left]]
Assign the texture as an image texture in Blender's texture tab. Note that MakeClothes expects that the old Blender Internal renderer is used, not Cycles.
MakeClothes automatically recognizes that the material has a texture, and the image is copied to the dress folder in the data/clothes directory. Next time you enable the dress, it has a non-trivial texture.
[[File:mc2a-430-tex-in-mh.png|left]]
Sometimes it is necessary to restart MakeHuman after clothes have been edited to make the changes stick.
Other types of textures, such as normal and specular maps, are created in an analogous fashion. Add them to the Blender material, and the corresponding textures are used in MakeHuman, to the extent that a feature has been implemented.
== Hiding faces ==
Clothes adapt to the character, but sometimes blotches of skin can be visible through clothes. The problem is particularly severe for tight and low-poly clothes, and is further aggravated by posing.
[[File:mc2a-510-blotches.png|left]]
Here we see that the dress does not quite cover a fat womans' belly on the sides.
[[File:mc2a-520-delete-group.png|left]]
Our solution to this problem is to hide faces in the human mesh that are hidden by clothes. This is not a perfact solution, for several reasons:
* It does not work for multiple clothes stacked upon each other.
* Hidden faces may in fact be visible from other camera angles.
* It makes it impossible to undress an exported character in another application, since the underlying body is not there.
Imperfact as it is, removing hidden faces does fix some of the most blatant problems.
In Blender, select the human vertices that are covered by the dress, and assign them to the Delete vertex groups that was automatically created. Note that when a vertex is removed, so are all faces that it belongs to. We must therefore be careful not to assign to many vertices close to the clothes' boundary to the Delete group.
[[File:mc2a-530-mh-deleted.png|left]]
With hidden vertices assigned to the Delete group, press Make Clothes. In MakeHuman, the blotch of skin poking through the skirt is gone.
[[File:mc2a-540-behind.png|left]]
The option Hide faces under clothes controls the visibility of hidden faces. We see that it greatly improves the view from behind, but there are still some problems at the top of the thighs.
[[File:mc2a-550-better-delete.png|left]]
The situation can be improved by tweaking the Delete vertex group. The picture above shows the best I could do. There are still some problems at the bottom of the dress, both with skin poking through the skirt, and with visible faces being deleted. In situations like this, it is probably necessary to edit the mesh, moving the bottom of the skirt away from the body.
[[File:mc2a-560-updating.png|left]]
The clothes do not update while a slider is being dragged, but only when it is released. We can then see how hidden surface removal works.
== Creating an thumbnail ==
So far the dress has appeared with the default thumbnail in the clothes file browser, i.e. as a face with a question mark.
[[File:mc2a-610-icon.png|left]]
Move the human to a hidden layer and arrange the camera and lights. Set the render resolution to 128 x 128 and 100%. Change the camera to orthographic and adjust the scale so that the dress fills the camera view.
[[File:mc2a-620-render.png|left]]
Render and save the image as a png file with the name dress.thumb in the same folder as the other files. When I wrote this document, Blender automatically changed the file name to dress.thumb.png in the file selector, but the extra .png suffix was not actually included in the file name. Note that the thumbnail suffix is .thumb; the file Dress.png is the diffuse texture.
[[File:mc2a-630-thumb.png|left]]
Here is the content of the dress folder. dress.npz is a compiled .obj file. MakeClothes automatically deletes .npz files after saving .obj files, to prevent update problems.
[[File:mc2a-640-mh.png|left]]
f678fb4b6978593020a211c7e938ec3c119adaac
Documentation:Making diapers for a baby
3000
329
860
2016-05-26T12:52:49Z
Joepal
14
Created page with "== Enable add-ons == MakeClothes is a Blender add-on. In order to use it, the add-on must first be enabled. Select User Preferences from the File menu, and open the add-ons t..."
wikitext
text/x-wiki
== Enable add-ons ==
MakeClothes is a Blender add-on. In order to use it, the add-on must first be enabled. Select User Preferences from the File menu, and open the add-ons tab. In the MakeHuman category, enable the MakeClothes add-on by checking the little box to the right, next to the running man. To make MakeClothes load every time you start Blender, press the Save User Settings button.
[[File:mc-1010-user-pref.png]]
MakeClothes depends on MakeTarget, so you must enable this add-on as well, even if you do not intend to use MakeTarget itself.
== Loading a human ==
The simplest way to load a human into MakeClothes is to use the buttons in the middle of the Make Clothes panel, which is located in the N-pane to the left of the viewport. If the pane is not there, it can be made visible by hitting N-key. Select the type of human (currently the average male, female, child and baby are available, as well as the MakeHuman base mesh. Then press either Nude Human or Human with Helpers, depending on whether you intend to associate your clothes with the body itself or with the helper geometry. A human character is loaded into the viewport.
[[File:mc-1022-load-human.png]]
The helper geometry can be obtrusive, and there are several ways to get rid of it. We could simply delete annoying helpers, but since MakeClothes relies on vertex numbers being correct, that will only work if for helpers with higher vertex numbers than the part of the human that we will use. A better way is to scale down unused helpers and then hide them somewhere, e.g. inside the body. They must be far away from the surface of the body.
To hide hair and penis, select them from the materials tab, and scale down by a factor 10. They are now safely hidden inside the body.
[[File:mc-1040-hide-hair.png]]
== Preparing a piece of clothing ==
Once the human is in place, we proceed to model his clothes. The best practise is to place the human on one layer (e.g. layer 1) and the piece of clothing on another (e.g. layer 2). This makes it easy to quickly show or hide the human. If we make an entire outfit, the individual clothes can be put on different layers.
The clothing object should be given a descriptive name. This is important, because this will be the name of the exported file, and the name that is shown in MakeHuman. The clothes mesh must also consist of quad faces only, due to internal limitations in MakeHuman.,
[[File:mc-1110-model.png]]
It is good practise to also give the human name a descriptive name, e.g. Human. This name is not important because it is not used for anything, but it is helpful to immediately see whether the human is selected.
[[File:mc-1120-human.png]]
A common problem is that the body mesh may penetrate clothes, causing strange blotches of skin to shine through. This can mostly be avoided by making sure that the clothes mesh is everywhere on or outside the red tights helper, and that it is at least as dense as the body mesh. The baggier the clothes, the smaller the risk that skin will be visible through it.
== UV unwrapping ==
The mesh must be UV unwrapped. MakeClothes supports multiple UV layers, but every piece of clothing must have at least one UV layer.
[[File:mc-1130-unwrap.png]]
== Assign vertex groups ==
Vertex groups must be assigned to both the human and the clothing to guide the vertex association process. It is often sufficient to let MakeClothes do that automatically.
[[File:mc-1240-left.png]]
The association of clothes mesh vertices to human mesh triangles is restricted to vertex groups with the same name. Therefore each clothes vertex must belong to exactly one vertex group, and the human and clothing must have the same vertex group names. The pictures above show the Left vertex groups, when Helpers and Tights were selected.
The Mid group (and any vertex group that starts with "Mid" or ends with "_M") plays a special role. Instead of associating a clothes vertex with a triangle (a triplet of human vertices), it associates it with a line (a pair of human vertices). If all vertices of the Mid group lie in the x = 0 plane, this plane will be preserved as long the targets do so.
[[File:mc-1250-delete.png]]
Finally, the Delete vertex groups plays a special role. It is only created for the human mesh, and it is empty by default. The intention is that human vertices that will be hidden by the clothing should be added to this group, so MakeHuman can delete them and thus reduce the risk for penetration.
== Assign material and textures ==
Materials and textures are specified by creating them in Blender, using the old-fashion material editor; nodes materials are not supported. Since MakeHuman only supports one single material, the settings of the first material in the clothing's material stack are exported.
If the mesh has no material, it will be displayed as white in MakeHuman. This may be useful for debugging purposes, and it is what we will do here. However, if the mesh has a material, it must at least contain a diffuse texture, because otherwise the clothing will be invisible in MakeHuman. Therefore MakeClothes reports an error if the mesh has a material without diffuse texture.
== Making clothes ==
[[File:mc-1412-makeclothes.png]]
Once the clothes have been modelled and UV-unwrapped and all settings have been filled in, it is time to create the mhclo file. Select both the clothing and the human. The order is not important, because one mesh must be declared to be human (and to have the correct number of vertices), and the other must be a clothing.
Vertex coordinates must correspond exactly to what is shown in the viewport. This means that translation, rotation and scale transforms must be applied, all shapekeys must be applied, any parent relation or armature modifier must be applied, etc.This is done automatically by MakeClothes itself, to the extent that this is possible.
[[File:mc-1420-progress.png]]
The vertex association is now made. This is a quite time-consuming process. You can follow the progress in the console window. For every tenth vertex, MakeClothes prints a line with the following content:
Clothes vertex - Human vertex - Offset - Vertex group name - Clothes vertex group number - Human vertex group number.
If you used the default settings for the output directory, the diapers should now show up in MakeHuman, under the Geometries > Clothes tab.
[[File:mc-1430-mh.png]]
MakeClothes creates a folder named diapers, containing the two files diapers.obj and diapers.mhclo which describe the clothes mesh and vertex association to the human mesh, respectively. If a material had been created for the diapers, the file diapers.mhmat, describing the material properties, is also created. Moreover, all relevant textures are copied to this folder as well.
The diapers show up as a head with a question mark in the clothes selector. To avoid this, a thumbnail file must be created manually and placed in the diapers folder. The thumbnail should be a 128x128 pixel png image of the piece of clothing.
5ff61d4b17f418900cefc56db6583f23ff69d7d9
Documentation:MaterialsMakeSkin
3000
645
1840
2020-07-26T10:32:36Z
Punkduck
38
Created page with "(documentation is under construction) [[File:Ms_menu.png|right]] = MakeSkin = MakeSkin is part of the new blender tools and was created to have a better way to create mater..."
wikitext
text/x-wiki
(documentation is under construction)
[[File:Ms_menu.png|right]]
= MakeSkin =
MakeSkin is part of the new blender tools and was created to have a better way to create materials for MakeHuman. Especially after geometry is created in MakeClothes, MakeSkin is designed to create a material which can be used in MakeHuman.
When MakeSkin is installed, it is detected and used by MakeClothes and Makehuman Plugin For Blender to get support for the full material model.
In the longer run, it is intended that the full MHMAT model should be supported, with both import and export to/from blender node setups. However, at this point, there are areas which do not map.
There are two ways to create a material:
* '''create a new material'''
* '''modify an existent material'''
== Create a new material ==
After a mesh for a piece of cloth was created and it was unwrapped to get an UV map, it is ready to export with MakeClothes to MakeHuman. However without a material, only a simple white default material is attached. It is possible to change this in MakeHuman using the '''Material Editor''' (Utilities).
But in many cases it makes more sense to see the result in Blender before export, so it is also possible to create a material in Blender for MakeHuman.
First step is to decide which texture maps are needed. Typically a diffuse texture (containing the colors of the material) is a minimum. For clothes a normal map can be used to simulate the structure of the fabric.
There are 7 maps/textures available:
* '''diffuse texture'''
* '''normal map'''
* '''bump map'''
* '''transmission map'''
* '''roughness map'''
* '''metallic map'''
* '''displacement map'''
Select the ones needed. The blender material currently assigned to the mesh must be replaced. To allow this, select "Replace object materials". If you want a representation of the MakeHuman internal variables as Blender nodes, select "Extended node visualization". This is still an experimental feature and only shows a few additional nodes in node map.
----
For a makehuman material, the following parameters can also be changed, but they have no effect in blender. For most of the parameters the default settings are the best way, but there are some cases were they should be changed:
* '''Backface culling''' - set this to "off", when you are able to see the backfaces, typical for hair or skirt
* '''Cast shadows'''
* '''Receive shadows'''
* '''AlphaToCoverage'''
* '''Shadeless'''
* '''Wireframe'''
* '''Transparent''' - set this to "on" for a material, where more than one transparent layer will be visible, typical for hair
* '''Enable SSS'''
* '''Litsphere''' - typically leather is used. for hair and shiny assets some of the aniso-litspheres produce a better result
For the example the transparency effect is needed and it is also possible to see the backfaces.
----
After editing these parameters press '''Create material'''.
A node map is created with some empty texture nodes. The material name would be the same like the object name (if it does not already exist).
[[File:Ms_newsetup.png]]
Assuming that the textures are already existent (e.g. created inside Blender or with a program like GIMP), now the texture names must be inserted into the nodes. After opening the file browser, select the filenames to insert.
If you are not 100% sure, what filename is used in the properties of the node, press "n" to see the properties. There should be an absolute path (starting from filesystem root like in the illustration) or a relative one of the file you selected.
When filenames are added, the piece of cloth will be shown with texture like in the illustration.
[[File:Ms_assignmtextures.png]]
Last step is to save the material. Before a few additional parameters can be added:
* '''description'''
* '''tags'''
* '''license'''
* '''author'''
<additional information about some parameters is still missing>
----
When you press '''Save material''', file requester is opened and you have to search for the correct path and save material. All textures are copied to the destination as well.
If a material was created with MakeSkin, MakeClothes saves the material as well.
----
<import material must be explained>
38d551e398d4d327c56772699ac3e1cb2d353c59
Documentation:Modeling Clothes
3000
676
1948
1947
2020-11-15T14:22:59Z
Punkduck
38
wikitext
text/x-wiki
== Creating a dress from the scratch ==
There are a lot of ways to model a piece of cloth. There is also 3rd party software available, where it is possible to model clothes like a tailor does. Here is one way to create it with simple elements and then use Blender cloth simulation.
To show an easy way, the work is done with a t-pose female mesh (with and without helper), so this time not the standard MakeHuman pose is used. These t-posed meshes are included in MakeClothes.
We only use cylinders, inset faces, extruding, loop cuts and edge bridging. Therefore we will have quads in the end. Furthermore this dress is made without lose geometry (all vertices are connected). So it can be used in a cloth simulation directly. This is not necessarily needed, at the end of this document I added an example with a mesh using lose geometry
[[File:Dress-example-geometry.png|none]]
Now the mesh must be UV-unwrapped. For some tips and tricks just read the next chapter about texturing.
After modeling the dress the vertex groups must be assigned. Therefore the female mesh without helper is deleted and the predefined one with helpers is loaded with MakeClothes.
[[File:Dress-example-vgroups.png|none]]
Then all missing parameters are supplied and the dress is ready to go, but without texture.
[[File:Dress-example-save.png|none]]
=== Maximum number of poles ===
The newest version of MakeHuman is able to handle also bigger number of poles. But especially quad-meshes with a high number of poles are not very good for subdivision. A high number of poles often appears, when a disc (with even number of vertices) must be filled.
This can be easily avoided. The example shows 3 methods of a 32 vertices circle to do it:
# left: select the yellow circle, use checker deselect to select every second vertex, extrude to center and press CTRL m to connect all vertices. This results is a pole of 16, which is not good.
# middle: do it manually by connecting some of them according to the pattern. This results in a regular pattern of only 8 poles in the middle
# right: use grid fill, the easiest method which will not have more then 4 poles. Only one tiny disadvantage: if you need the middle (e.g. to be elevated) this might be less accurate
[[File:Dress-example-poles.png|none]]
=== Sharp edges ===
MakeHuman normally saves files with smooth faces for import in Blender. When smoothing in MakeHuman or Blender is switched on, all geometry is smoothed. For most of the geometry (for clothes) this works as desired. But there are some exceptions where a sharp edge is needed. The demo-picture shows one example for a smooth surface (the button) and one for a sharp edge. For the sharp edge tiny faces at the edges are needed. Further information: be aware that both geometries in this example should have an own vertex group made from 3 vertices on body or helper not to be distorted. Very small geometry will be distorted when two vertices, which are very near, correspond to different vertex-combinations on the base mesh.
[[File:Dress-example-smoothing.jpg|none]]
Further hint: MakeHuman's algorithm for subdivision-surface does not work correctly for textures. The geometry is smoothed but the texture coordinates are also distributed in the same ratio. This results in a wrong representation of the texture especially when small and large faces join a common edge. Blender is able to use a mode with correct UV representation.
[[File:Dress-example-smooth-mh.jpg|none]]
== Texturing the clothes ==
For the example we use a texture which is not created inside Blender with e.g. perspective painting. We use GIMP (or any other paint program) to create png-Files.
When the dress appears in MakeHuman it looked like the one on the left side. Result should be the one of the right side.
[[File:Dress-example-texturedchar.png|frame|none|hair CC-BY Elvaerwyn]]
To have a base for a paint program the layout of the UV-Map must be exported. Depending on the details and to get a visible structure a minimum size of 2048x2048 is chosen.
When you create parts which are used multiple times (like buttons), you should UV-unwrap this geometry before you copy it. The copy of the texture will then be on the same position.
Sometimes it makes sense to align some of the unwrapped geometry, in the example we do that for the edges and sleeves. There are Blender tools to support this in the UV-map.
In the paint program we need a seamless texture (which can be repeated without visible seams). This can be created by a function inside the paint program or by mirroring.
In the example mirroring was used. The texture is inserted in an extra layer. The plane was simply filled with the pattern, the black mask is added in a third layer for clarification. Side effect of the black mask is that the file becomes a little shorter.
[[File:Dress-example-gimtex.png|none]]
In the end we will supply a normalmap, which is created by the paint program and not in Blender. In this case we need to do a height map first. If we use a black and white image white means low and black means high. If the software works the other way round, just the inverted image is needed. This following steps are done for the edges of the dress.
[[File:Dress-example-manual-normalmap.png|none]]
=== Lose geometry and transparent textures ===
Finally I will add an example how a simple mesh (657 vertices) will create a rather realistic looking piece of cloth. This mesh stays close to the body and because of lose geometry cannot be used for a cloth simulation directly (it will fall apart). Furthermode the rims intersect with the body to simulate a close fit. For a cloth simulation with the body as a collision object this will give unpredictable results.
I marked the elements of the lingerie with 3 colors:
# blue for the main part
# orange for the rims
# green for the bow tie
The blue part was modeled directly on the body (one half) and then mirrored. The rims were separated and then extruded in z direction. Second extrude was made so that the resulting vertices are inside the body. The bow tie was "painted" with a single vertex by extruding a "curve" in x-z plane. Then this was extruded in y direction and changed to a u-shape.
All 3 elements use different parts of the texture. It makes sense to align the rim and put the texture on a special part which then is repeated. Same for the bow tie. The rest is a normal UV-unwrap. Seams are at the sides and in crotch area (identical to reality). To get the very fine structure I manually created a hexagon mesh, used it as a fill pattern and combined that with the rest of the texture.
[[File:Dress-example-lose-geom1.png|none]]
This is the result (using a diffuse and normal map):
[[File:Dress-example-lose-geom2.png|none]]
1d5e6c4ce63297f76233c414f2f750eea08857b9
1947
1946
2020-11-15T13:49:22Z
Punkduck
38
wikitext
text/x-wiki
== Creating a dress from the scratch ==
There are a lot of ways to model a piece of cloth. There is also 3rd party software available, where it is possible to model clothes like a tailor does. Here is one way to create it with simple elements and then use Blender cloth simulation.
To show an easy way, the work is done with a t-pose female mesh (with and without helper), so this time not the standard MakeHuman pose is used. These t-posed meshes are included in MakeClothes.
We only use cylinders, inset faces, extruding, loop cuts and edge bridging. Therefore we will have quads in the end.
[[File:Dress-example-geometry.png|none]]
Now the mesh must be UV-unwrapped. For some tips and tricks just read the next chapter about texturing.
After modeling the dress the vertex groups must be assigned. Therefore the female mesh without helper is deleted and the predefined one with helpers is loaded with MakeClothes.
[[File:Dress-example-vgroups.png|none]]
Then all missing parameters are supplied and the dress is ready to go, but without texture.
[[File:Dress-example-save.png|none]]
=== Maximum number of poles ===
The newest version of MakeHuman is able to handle also bigger number of poles. But especially quad-meshes with a high number of poles are not very good for subdivision. A high number of poles often appears, when a disc (with even number of vertices) must be filled.
This can be easily avoided. The example shows 3 methods of a 32 vertices circle to do it:
# left: select the yellow circle, use checker deselect to select every second vertex, extrude to center and press CTRL m to connect all vertices. This results is a pole of 16, which is not good.
# middle: do it manually by connecting some of them according to the pattern. This results in a regular pattern of only 8 poles in the middle
# right: use grid fill, the easiest method which will not have more then 4 poles. Only one tiny disadvantage: if you need the middle (e.g. to be elevated) this might be less accurate
[[File:Dress-example-poles.png|none]]
=== Sharp edges ===
MakeHuman normally saves files with smooth faces for import in Blender. When smoothing in MakeHuman or Blender is switched on, all geometry is smoothed. For most of the geometry (for clothes) this works as desired. But there are some exceptions where a sharp edge is needed. The demo-picture shows one example for a smooth surface (the button) and one for a sharp edge. For the sharp edge tiny faces at the edges are needed. Further information: be aware that both geometries in this example should have an own vertex group made from 3 vertices on body or helper not to be distorted. Very small geometry will be distorted when two vertices, which are very near correspond with different vertex-combinations on the base mesh.
[[File:Dress-example-smoothing.jpg|none]]
Further hint: MakeHuman's algorithm for subdivision-surface does not work correctly for textures. The geometry is smoothed but the texture coordinates are also distributed in the same ration. This results in a wrong representation of the texture especially when small and large faces join a common edge.
[[File:Dress-example-smooth-mh.jpg|none]]
== Texturing the clothes ==
For the example we use a texture which is not created inside Blender with e.g. perspective painting. We use GIMP (or any other paint program) to create png-Files.
When the dress appears in MakeHuman it looked like the one on the left side. Result should be the one of the right side.
[[File:Dress-example-texturedchar.png|frame|none|hair CC-BY Elvaerwyn]]
To have a base for a paint program the layout of the UV-Map must be exported. Depending on the details and to get a visible structure a minimum size of 2048x2048 is chosen.
When you create parts which are used multiple times (like buttons), you should UV-unwrap this geometry before you copy it. The copy of the texture will then be on the same position.
Sometimes it makes sense to align some of the unwrapped geometry, in the example we do that for the edges and sleeves. There are Blender tools to support this in the UV-map.
In the paint program we need a seamless texture (which can be repeated without visible seams). This can be created by a function inside the paint program or by mirroring.
In the example mirroring was used. The texture is inserted in an extra layer. The plane was simply filled with the pattern, the black mask is added in a third layer for clarification. Side effect of the black mask is that the file becomes a little shorter.
[[File:Dress-example-gimtex.png|none]]
In the end we will supply a normalmap, which is created by the paint program and not in Blender. In this case we need to do a height map first. If we use a black and white image white means low and black means high. If the software works the other way round, just the inverted image is needed. This following steps are done for the edges of the dress.
[[File:Dress-example-manual-normalmap.png|none]]
(do be continued and improved :) )
fe60ec04341cfd52adc8959d2a0438c0416daf5c
1946
1940
2020-11-15T13:29:55Z
Punkduck
38
wikitext
text/x-wiki
== Creating a dress from the scratch ==
There are a lot of ways to model a piece of cloth. There is also 3rd party software available, where it is possible to model clothes like a tailor does. Here is one way to create it with simple elements and then use Blender cloth simulation.
To show an easy way, the work is done with a t-pose female mesh (with and without helper), so this time not the standard MakeHuman pose is used. These t-posed meshes are included in MakeClothes.
We only use cylinders, inset faces, extruding, loop cuts and edge bridging. Therefore we will have quads in the end.
[[File:Dress-example-geometry.png|none]]
Now the mesh must be UV-unwrapped. For some tips and tricks just read the next chapter about texturing.
After modeling the dress the vertex groups must be assigned. Therefore the female mesh without helper is deleted and the predefined one with helpers is loaded with MakeClothes.
[[File:Dress-example-vgroups.png|none]]
Then all missing parameters are supplied and the dress is ready to go, but without texture.
[[File:Dress-example-save.png|none]]
=== Maximum number of poles ===
The newest version of MakeHuman is able to handle also bigger number of poles. But especially quad-meshes with a high number of poles are not very good for subdivision. A high number of poles often appears, when a disc (with even number of vertices) must be filled.
This can be easily avoided. The example shows 3 methods of a 32 vertices circle to do it:
# left: select the yellow circle, use checker deselect to select every second vertex, extrude to center and press CTRL m to connect all vertices. This results is a pole of 16, which is not good.
# middle: do it manually by connecting some of them according to the pattern. This results in a regular pattern of only 8 poles in the middle
# right: use grid fill, the easiest method which will not have more then 4 poles. Only one tiny disadvantage: if you need the middle (e.g. to be elevated) this might be less accurate
[[File:Dress-example-poles.png|none]]
== Texturing the clothes ==
For the example we use a texture which is not created inside Blender with e.g. perspective painting. We use GIMP (or any other paint program) to create png-Files.
When the dress appears in MakeHuman it looked like the one on the left side. Result should be the one of the right side.
[[File:Dress-example-texturedchar.png|frame|none|hair CC-BY Elvaerwyn]]
To have a base for a paint program the layout of the UV-Map must be exported. Depending on the details and to get a visible structure a minimum size of 2048x2048 is chosen.
When you create parts which are used multiple times (like buttons), you should UV-unwrap this geometry before you copy it. The copy of the texture will then be on the same position.
Sometimes it makes sense to align some of the unwrapped geometry, in the example we do that for the edges and sleeves. There are Blender tools to support this in the UV-map.
In the paint program we need a seamless texture (which can be repeated without visible seams). This can be created by a function inside the paint program or by mirroring.
In the example mirroring was used. The texture is inserted in an extra layer. The plane was simply filled with the pattern, the black mask is added in a third layer for clarification. Side effect of the black mask is that the file becomes a little shorter.
[[File:Dress-example-gimtex.png|none]]
In the end we will supply a normalmap, which is created by the paint program and not in Blender. In this case we need to do a height map first. If we use a black and white image white means low and black means high. If the software works the other way round, just the inverted image is needed. This following steps are done for the edges of the dress.
[[File:Dress-example-manual-normalmap.png|none]]
(do be continued and improved :) )
19d56ace6967edce86c7a5ef59954c786ff53bc3
1940
2020-11-14T21:16:18Z
Punkduck
38
Created page with " == Creating a dress from the scratch == There are a lot of ways to model a piece of cloth. There is also 3rd party software available, where it is possible to model clothes..."
wikitext
text/x-wiki
== Creating a dress from the scratch ==
There are a lot of ways to model a piece of cloth. There is also 3rd party software available, where it is possible to model clothes like a tailor does. Here is one way to create it with simple elements and then use Blender cloth simulation.
To show an easy way, the work is done with a t-pose female mesh (with and without helper), so this time not the standard MakeHuman pose is used. These t-posed meshes are included in MakeClothes.
We only use cylinders, inset faces, extruding, loop cuts and edge bridging. Therefore we will have quads in the end.
[[File:Dress-example-geometry.png|center]]
Now the mesh must be UV-unwrapped. For some tips and tricks just read the next chapter about texturing.
After modeling the dress the vertex groups must be assigned. Therefore the female mesh without helper is deleted and the predefined one with helpers is loaded with MakeClothes.
[[File:Dress-example-vgroups.png|center]]
Then all missing parameters are supplied and the dress is ready to go, but without texture.
[[File:Dress-example-save.png|center]]
== Texturing the clothes ==
For the example we use a texture which is not created inside Blender with e.g. perspective painting. We use GIMP (or any other paint program) to create png-Files.
When the dress appears in MakeHuman it looked like the one on the left side. Result should be the one of the right side.
[[File:Dress-example-texturedchar.png|frame|center|hair CC-BY Elvaerwyn]]
To have a base for a paint program the layout of the UV-Map must be exported. Depending on the details and to get a visible structure a minimum size of 2048x2048 is chosen.
When you create parts which are used multiple times (like buttons), you should UV-unwrap this geometry before you copy it. The copy of the texture will then be on the same position.
Sometimes it makes sense to align some of the unwrapped geometry, in the example we do that for the edges and sleeves. There are Blender tools to support this in the UV-map.
In the paint program we need a seamless texture (which can be repeated without visible seams). This can be created by a function inside the paint program or by mirroring.
In the example mirroring was used. The texture is inserted in an extra layer. The plane was simply filled with the pattern, the black mask is added in a third layer for clarification. Side effect of the black mask is that the file becomes a little shorter.
[[File:Dress-example-gimtex.png|center]]
In the end we will supply a normalmap, which is created by the paint program and not in Blender. In this case we need to do a height map first. If we use a black and white image white means low and black means high. If the software works the other way round, just the inverted image is needed. This following steps are done for the edges of the dress.
[[File:Dress-example-manual-normalmap.png|center]]
(do be continued and improved :) )
7e96d696083bd9b2cee9a1fa93a01fec0db4b137
Documentation:Modeling a sword
3000
492
1294
1237
2017-01-28T12:03:54Z
Robbaer
12
/* Other hints for hard items */
wikitext
text/x-wiki
A common problem with creating "hard" items is that they tend to look very strange in MakeHuman. As the character changes (for example between male and female), items deform to fit the new shape. This is what you want with soft items (for example clothes), but is undesirable in the case of hard items (for example tools, buttons, glasses and similar).
== The "*" group ==
Fortunately, it is possible to tell MakeClothes that a set of vertices should scale linearly instead of deform. This is done by creating a vertex group with an asterisk. When doing so, the vertext group will scale only in size, but the relative distance between all the vertices in the group will remain the same.
== Case in point: a sword ==
A sword would look strange if it got all bent just because a female toon held it (even disregarding the misogynist implications).
It's entirely possible to make a sword that looks good with most toons, even babies.
First start with making a sword. Here's quick draft of how it could look. The thing to note is that it has depth, it's just not a single 2d plane.
[[File:Blender-sword.png]]
Mark seams, UV-unwrap and set a material as noted elsewhere in the MakeClothes docs.
Assign all vertices of the sword object to a new vertex group called "*sword"
[[File:Blender-sword-vertex1.png]]
Mark exactly three vertices on the palm of the human toon. These are what will control the size of the sword
[[File:Blender-sword-palm.png]]
Assign these to a new vertex group (on the human) called "*sword"
[[File:Blender-sword-vertex2.png]]
Set license, author, homepage and so on and so forth and click "MakeClothes". You now have a non-deforming sword in MakeHuman
[[File:CrudeSword-render.png]]
The item used to create this tutorial is available at http://www.makehumancommunity.org/clothes/crude_sword.html
== Other hints for hard items ==
For clothes, it will usually makes the most sense to select the "*" group on the "clothes helper" layer of the human rather than on the body itself. Particularly in the breast are for female toons, the scaling
might become problematic otherwise.
[[File:Blender_buckle.png]]
694422e7c40be8c0dcdbf3584f1b2245a9be5b20
1237
1226
2016-11-20T20:18:39Z
Joepal
14
wikitext
text/x-wiki
A common problem with creating "hard" items is that they tend to look very strange in MakeHuman. As the character changes (for example between male and female), items deform to fit the new shape. This is what you want with soft items (for example clothes), but is undesirable in the case of hard items (for example tools, buttons, glasses and similar).
== The "*" group ==
Fortunately, it is possible to tell MakeClothes that a set of vertices should scale linearly instead of deform. This is done by creating a vertex group with an asterisk. When doing so, the vertext group will scale only in size, but the relative distance between all the vertices in the group will remain the same.
== Case in point: a sword ==
A sword would look strange if it got all bent just because a female toon held it (even disregarding the misogynist implications).
It's entirely possible to make a sword that looks good with most toons, even babies.
First start with making a sword. Here's quick draft of how it could look. The thing to note is that it has depth, it's just not a single 2d plane.
[[File:Blender-sword.png]]
Mark seams, UV-unwrap and set a material as noted elsewhere in the MakeClothes docs.
Assign all vertices of the sword object to a new vertex group called "*sword"
[[File:Blender-sword-vertex1.png]]
Mark exactly three vertices on the palm of the human toon. These are what will control the size of the sword
[[File:Blender-sword-palm.png]]
Assign these to a new vertex group (on the human) called "*sword"
[[File:Blender-sword-vertex2.png]]
Set license, author, homepage and so on and so forth and click "MakeClothes". You now have a non-deforming sword in MakeHuman
[[File:CrudeSword-render.png]]
The item used to create this tutorial is available at http://www.makehumancommunity.org/clothes/crude_sword.html
== Other hints for hard items ==
For clothes, it will usually makes the most sense to select the "*" group on the clothes layer rather than on the body of the human. Particularly in the breast are for female toons, the scaling
might become problematic otherwise.
[[File:Blender_buckle.png]]
bdb176cab2b53658f6f6970493e7a2734722b4b0
1226
1225
2016-11-12T18:34:21Z
Joepal
14
wikitext
text/x-wiki
A common problem with creating "hard" items is that they tend to look very strange in MakeHuman. As the character changes (for example between male and female), items deform to fit the new shape. This is what you want with soft items (for example clothes), but is undesirable in the case of hard items (for example tools, buttons, glasses and similar).
== The "*" group ==
Fortunately, it is possible to tell MakeClothes that a set of vertices should scale linearly instead of deform. This is done by creating a vertex group with an asterisk. When doing so, the vertext group will scale only in size, but the relative distance between all the vertices in the group will remain the same.
== Case in point: a sword ==
A sword would look strange if it got all bent just because a female toon held it (even disregarding the misogynist implications).
It's entirely possible to make a sword that looks good with most toons, even babies.
First start with making a sword. Here's quick draft of how it could look. The thing to note is that it has depth, it's just not a single 2d plane.
[[File:Blender-sword.png]]
Mark seams, UV-unwrap and set a material as noted elsewhere in the MakeClothes docs.
Assign all vertices of the sword object to a new vertex group called "*sword"
[[File:Blender-sword-vertex1.png]]
Mark exactly three vertices on the palm of the human toon. These are what will control the size of the sword
[[File:Blender-sword-palm.png]]
Assign these to a new vertex group (on the human) called "*sword"
[[File:Blender-sword-vertex2.png]]
Set license, author, homepage and so on and so forth and click "MakeClothes". You now have a non-deforming sword in MakeHuman
[[File:CrudeSword-render.png]]
The item used to create this tutorial is available at http://www.makehumancommunity.org/clothes/crude_sword.html
16ff176fb5cf7c20bbcea55f421c729ecd493f7a
1225
2016-11-12T18:32:32Z
Joepal
14
Created page with "A common problem with creating "hard" items is that they tend to look very strange in MakeHuman. As the character changes (for example between male and female), items deform t..."
wikitext
text/x-wiki
A common problem with creating "hard" items is that they tend to look very strange in MakeHuman. As the character changes (for example between male and female), items deform to fit the new shape. This is what you want with soft items (for example clothes), but is undesirable in the case of hard items (for example tools, buttons, glasses and similar).
== The "*" group ==
Fortunately, it is possible to tell MakeClothes that a set of vertices should scale linearly instead of deform. This is done by creating a vertex group with an asterisk. When doing so, the vertext group will scale only in size, but the relative distance between all the vertices in the group will remain the same.
== Case in point: a sword ==
A sword would look strange if it got all bent just because a female toon held it (even disregarding the misogynistic implications).
It's entirely possible to make a sword that looks good with most toons, even babies.
First start with making a sword. Here's quick draft of how it could look. The thing to note is that it has depth, it's just not a single 2d plane.
[[File:Blender-sword.png]]
Mark seams, UV-unwrap and set a material as noted elsewhere in the MakeClothes docs.
Assign all vertices of the sword object to a new vertex group called "*sword"
[[File:Blender-sword-vertex1.png]]
Mark exactly three vertices on the palm of the human toon. These are what will control the size of the sword
[[File:Blender-sword-palm.png]]
Assign these to a new vertex group (on the human) called "*sword"
[[File:Blender-sword-vertex2.png]]
Set license, author, homepage and so on and so forth and click "MakeClothes". You now have a non-deforming sword in MakeHuman
[[File:CrudeSword-render.png]]
The item used to create this tutorial is available at http://www.makehumancommunity.org/clothes/crude_sword.html
9f7dcb67513024e2126c3502001687b587ad5f22
Documentation:Modeling the body
3000
232
1109
691
2016-07-05T17:20:34Z
Aranuvir
17
wikitext
text/x-wiki
[[File:main_labelled.png]]
The Main controls are accessed by going to the 'Modelling' tab and selecting the “Main” sub-tab.
These controls define the major characteristics of a human being. controls are used to define the character's macro features. The first six corresponding to Gender, Age, Muscle, Weight, Height, Proportions respectively and the last three ( African, Asian, and Caucasian) correspond to ethnicity.
[[File:age_0.png]]
* Gender:The gender tab is used to define what gender the human being poseeses. Male or female or a mixture of both characteristics with either being dorminant.
* Age:The age slider is used to alter the age of the human being as a whole. The above image shows human beings at various ages ranging from young to old.
* Muscle:The muscle sider is used adjust the amount of muscle possesed by the human character.
* Weight:The Weight silder is used to adjust the weight of the character. The default setting is the character with average weight. Used along with "Muscle" it can be used to specify the proportion of muscle and fat contributing to the weight.
* Height:The Height slider is used to adjust the height of the characters.
* Proportions:The proportions slider is used to adjust the the proportions, from "uncommon" to "idealistic".
Ethnicity sliders:THe ethinicity sliders (African, Asian, Caucasian) are used to alter the ethnic traits of the human being. These slidersare dependent on each other such that the sum of all three sliders is always 100 percent or a value on 1. This means that an increase in the value of "African" slider will lead to a decrease in the value of the "Caucasian" and "Asian" sliders. This is rational because if for instance a human being is of pure African origin then he/she is expected to possess only African traits whereas if he/she is of mixed decent the character is expected to have a fusion of ethnic characteristics. A human being cannot be hundred percent African and hundred percent Asian.
==== Face modifiers: ====
[[File:face_modifier_labelled.png]]
The makehuman face modifiers in makehuman are organised into several categories(eyes, nose , chine etc.) comprising of the morphs pertaining to varios facial features. The morphs available on the right hand side pertain to the category currently active.
E.g. When the Head category is selected all morphs pertaining to the head such as head shape (oval ,round , triangular etc), angle and age are available. If the category was to be switched to Mouth size however all sliders related to that category would be visible and manipulatable.
==== Adjusting the Torso Shape: ====
[[File:torso_cropped_labelled.png]]
In order to alter the torso-related features of the human we have to select the "Torso" sub-tab located under the main "Modeling" tab. In the torso section we are able toalter various attibutes such as stomach (size, pregnancy shape), body height, width and so on.
==== Arms and Legs Shape: ====
[[File:legs_modelling_2_0.png]]
The "Arms and Legs" sub-tab is again located under the main "Modeling" tab. Here we can alter the various attributes related to the arms and legs such as hands, arms and feet.
1e33ec36778ca50e7c71be7df4f2f50de0f2bd4e
691
2016-05-20T09:03:33Z
Joepal
14
Created page with " !IMAGE!Pictures/main_labelled.png!/IMAGE! The Main controls are accessed by going to the 'Modelling' tab and selecting the “Main” sub-tab. These controls define the..."
wikitext
text/x-wiki
!IMAGE!Pictures/main_labelled.png!/IMAGE!
The Main controls are accessed by going to the 'Modelling' tab and selecting the “Main” sub-tab.
These controls define the major characteristics of a human being. controls are used to define the character's macro features. The first six corresponding to Gender, Age, Muscle, Weight, Height, Proportions respectively and the last three ( African, Asian, and Caucasian) correspond to ethnicity.
!IMAGE!Pictures/age_0.png!/IMAGE!
* Gender:The gender tab is used to define what gender the human being poseeses. Male or female or a mixture of both characteristics with either being dorminant.
* Age:The age slider is used to alter the age of the human being as a whole. The above image shows human beings at various ages ranging from young to old.
* Muscle:The muscle sider is used adjust the amount of muscle possesed by the human character.
* Weight:The Weight silder is used to adjust the weight of the character. The default setting is the character with average weight. Used along with "Muscle" it can be used to specify the proportion of muscle and fat contributing to the weight.
* Height:The Height slider is used to adjust the height of the characters.
* Proportions:The proportions slider is used to adjust the the proportions, from "uncommon" to "idealistic".
Ethnicity sliders:THe ethinicity sliders (African, Asian, Caucasian) are used to alter the ethnic traits of the human being. These slidersare dependent on each other such that the sum of all three sliders is always 100 percent or a value on 1. This means that an increase in the value of "African" slider will lead to a decrease in the value of the "Caucasian" and "Asian" sliders. This is rational because if for instance a human being is of pure African origin then he/she is expected to possess only African traits whereas if he/she is of mixed decent the character is expected to have a fusion of ethnic characteristics. A human being cannot be hundred percent African and hundred percent Asian.
==== Face modifiers: ====
!IMAGE!Pictures/face_modifier_labelled.png!/IMAGE!
The makehuman face modifiers in makehuman are organised into several categories(eyes, nose , chine etc.) comprising of the morphs pertaining to varios facial features. The morphs available on the right hand side pertain to the category currently active.
E.g. When the Head category is selected all morphs pertaining to the head such as head shape (oval ,round , triangular etc), angle and age are available. If the category was to be switched to Mouth size however all sliders related to that category would be visible and manipulatable.
==== Adjusting the Torso Shape: ====
!IMAGE!Pictures/torso_cropped_labelled.png!/IMAGE!
In order to alter the torso-related features of the human we have to select the "Torso" sub-tab located under the main "Modeling" tab. In the torso section we are able toalter various attibutes such as stomach (size, pregnancy shape), body height, width and so on.
==== Arms and Legs Shape: ====
!IMAGE!Pictures/legs_modelling_2_0.png!/IMAGE!
The "Arms and Legs" sub-tab is again located under the main "Modeling" tab. Here we can alter the various attributes related to the arms and legs such as hands, arms and feet.
6f5a638528ddf18570bd5c5245fa35f0d38b27ef
Documentation:OpenGL Notes
3000
244
1534
712
2018-12-01T09:47:40Z
Robbaer
12
/* Basics */
wikitext
text/x-wiki
Most of the 3D mesh handling functionality is delivered using OpenGL embedded within the C application code. OpenGL is a 3D graphics library that enables a 3D world to be defined, with a camera, objects, lights, textures etc. It then enables that 3D world to be visualised as a 2D representation that can be displayed on a computer screen and provides functions to enable an application (in response to user input) to navigate around the scene.
==== Basics ====
OpenGL takes a 3D scene and draws it into a 2D viewing area on your screen known as the viewport. OpenGL can project the scene onto the viewport in a variety of different ways, but the most common are:
* Perspective projection, as you would get if you could place a camera in the scene
* Orthographic projection, as a draftsman may contstruct technical drawings such as plans and elevations.
MakeHuman only uses Orthographic projection.
==== Projection Transformation ====
You tell OpenGL how to project 3D objects onto the 2D viewport by defining a projection transformation, which indicates whether you wish to use perspective or orthographic projection (or an alternative projection pattern) and specifies other projection settings. This can be imagined as being comparable to specifying the characteristics of a camera (field of view, aspect ratio etc.) where an orthographic projection is equivalent to a camera at an infinite distance. The main difference being that with OpenGL you can change the settings between drawing different objects, which is a bit like taking a photo, changing the lens and moving the camera, then taking another photo without winding the film on.
MakeHuman sets a perspective projection using the function gluPerspective(fovAngle,aspectRatio,near,far) where:
* fovAngle: is the vertical field of view angle (45 degrees)
* aspectRatio: is the viewport width divided by the viewport height which, by default, is 800/600 (4/3)
* near: is the distance to the centre of the viewing plane (0.1)
* far: is the distance to the centre of the rear clippling plane (100)
==== Modelview Transformation ====
For OpenGL to know what to display in the viewport it also needs to know where the camera is relative to the 3D model. For this you need to define a modelview which defines the position and orientation of the camera and the position and orientation of objects that go to make up the model inside a virtual 3D world. You do this by moving through and around the 3D world and by creating objects relative to your current position. OpenGL keeps track of your current position and orientation in the 3D world by recording the modelview transformation.
Both the projection transformation and the modelview transformation are stored internally in 4x4 transformation matrices. You can modify these matrices by calling functions that apply direct transformations (translations and rotations) or by calling functions that calculate transformations (e.g. the gluPerspective function outlined above).
To apply transformations you need to first make one of these matrices the current matrix. Subsequent transformations are applied cumulatively to the current matrix. The glMatrixMode function is used to set the current matrix mode:
* glMatrixMode(GL_PROJECTION) makes the projection transformation the current matrix so that projection settings can be applied, such as the field of View angle and Aspect Ratio.
* glMatrixMode(GL_MODELVIEW) makes the modelview transformation matrix the current matrix so that subsequent translations and rotations move the current location through the 3D world.
==== Resetting a transformation matrix ====
Matrix transformations that you apply are applied cumulatively. It is therefore often necessary to reset the matrix to its default ‘no transformation’ state so that you can apply a fresh set of transformations. OpenGL uses the transformation and modelview matrices to transform coordinates by performing a matrix multiplication. If you multiply by an identity matrix then the result is the same as the thing you started with, so to reset one of these matrices to an initial state where the transformation has no effect you can simply load the identity matrix using the function glLoadIdentity(). This loads the identity matrix into whichever transformation matrix is currently active, resetting it to the default ‘no transformation’ state.
==== Coordinates ====
OpenGL world space coordinates are unitless, so 2 units can represent milimeters, inches or light years. Interpretation of world space coordinates is up to the application. OpenGL uses a right handed coordinate system, so, if you are looking at the origin with the +X axis stretching away to the right and the +Y axis pointing straight up, the +Z axis will be heading out of the screen straight towards you and the -Z axis will be dissapearing away from you into the distance.
MakeHuman uses the default OpenGL modelview camera settings which are equivalent to invoking gluLookAt(0,0,0, 0,0,-1, 0,1,0). This places the camera at the origin, looking straight into the model along the -Z axis with the +Y axis pointing straight up. This means that a 2 unit wide and 2 unit high object centred at <0,0,-1> will roughly fill the viewport, as will a 4x4 object at twice the distance from the viewpoint.
==== Drawing objects ====
MakeHuman contains multiple objects. The Humanoid object is the main object, but it is surrounded by a set of control objects. Each object is constructed using triangular faces. The position and orientation of each face is defined relative to the object of which it is a part. The positions and orientations of the vertices and normals of the faces are defined relative to the face they’re on. The sequence in which face vertices are defined is significant in OpenGL. If the face is viewed from the front, the sequence of points runs counter clockwise. If the face is viewed from the back the points run clockwise. Faces viewed from behind may be invisible or may have a different color/texture defined to the front face. This order is also called the "winding order" of vertices, and is used by MakeHuman to calculate the normal of each face. If the winding order is reversed, the normal will be flipped. The glPushMatrix and glPopMatrix functions can be used to store away a copy of a matrix that can subsequently restored. MakeHuman uses this before and after drawing each object to store a copy of the modelview matrix and restore it.
4441213da84e1332a13d81055176d419230a9d3f
712
2016-05-20T11:23:29Z
Joepal
14
Created page with "Most of the 3D mesh handling functionality is delivered using OpenGL embedded within the C application code. OpenGL is a 3D graphics library that enables a 3D world to be defi..."
wikitext
text/x-wiki
Most of the 3D mesh handling functionality is delivered using OpenGL embedded within the C application code. OpenGL is a 3D graphics library that enables a 3D world to be defined, with a camera, objects, lights, textures etc. It then enables that 3D world to be visualised as a 2D representation that can be displayed on a computer screen and provides functions to enable an application (in response to user input) to navigate around the scene.
==== Basics ====
OpenGL takes a 3D scene and draws it into a 2D viewing area on your screen known as the viewport. OpenGL can project the scene onto the viewport in a variety of different ways, but the most common are:
* Perspective projection, as you would get if you could place a camera in the scene
* Orthographic projection, as a draftsman may contstruct technical drawings such as plans and elevations.
MakeHuman only uses Perspective projection.
==== Projection Transformation ====
You tell OpenGL how to project 3D objects onto the 2D viewport by defining a projection transformation, which indicates whether you wish to use perspective or orthographic projection (or an alternative projection pattern) and specifies other projection settings. This can be imagined as being comparable to specifying the characteristics of a camera (field of view, aspect ratio etc.) where an orthographic projection is equivalent to a camera at an infinite distance. The main difference being that with OpenGL you can change the settings between drawing different objects, which is a bit like taking a photo, changing the lens and moving the camera, then taking another photo without winding the film on.
MakeHuman sets a perspective projection using the function gluPerspective(fovAngle,aspectRatio,near,far) where:
* fovAngle: is the vertical field of view angle (45 degrees)
* aspectRatio: is the viewport width divided by the viewport height which, by default, is 800/600 (4/3)
* near: is the distance to the centre of the viewing plane (0.1)
* far: is the distance to the centre of the rear clippling plane (100)
==== Modelview Transformation ====
For OpenGL to know what to display in the viewport it also needs to know where the camera is relative to the 3D model. For this you need to define a modelview which defines the position and orientation of the camera and the position and orientation of objects that go to make up the model inside a virtual 3D world. You do this by moving through and around the 3D world and by creating objects relative to your current position. OpenGL keeps track of your current position and orientation in the 3D world by recording the modelview transformation.
Both the projection transformation and the modelview transformation are stored internally in 4x4 transformation matrices. You can modify these matrices by calling functions that apply direct transformations (translations and rotations) or by calling functions that calculate transformations (e.g. the gluPerspective function outlined above).
To apply transformations you need to first make one of these matrices the current matrix. Subsequent transformations are applied cumulatively to the current matrix. The glMatrixMode function is used to set the current matrix mode:
* glMatrixMode(GL_PROJECTION) makes the projection transformation the current matrix so that projection settings can be applied, such as the field of View angle and Aspect Ratio.
* glMatrixMode(GL_MODELVIEW) makes the modelview transformation matrix the current matrix so that subsequent translations and rotations move the current location through the 3D world.
==== Resetting a transformation matrix ====
Matrix transformations that you apply are applied cumulatively. It is therefore often necessary to reset the matrix to its default ‘no transformation’ state so that you can apply a fresh set of transformations. OpenGL uses the transformation and modelview matrices to transform coordinates by performing a matrix multiplication. If you multiply by an identity matrix then the result is the same as the thing you started with, so to reset one of these matrices to an initial state where the transformation has no effect you can simply load the identity matrix using the function glLoadIdentity(). This loads the identity matrix into whichever transformation matrix is currently active, resetting it to the default ‘no transformation’ state.
==== Coordinates ====
OpenGL world space coordinates are unitless, so 2 units can represent milimeters, inches or light years. Interpretation of world space coordinates is up to the application. OpenGL uses a right handed coordinate system, so, if you are looking at the origin with the +X axis stretching away to the right and the +Y axis pointing straight up, the +Z axis will be heading out of the screen straight towards you and the -Z axis will be dissapearing away from you into the distance.
MakeHuman uses the default OpenGL modelview camera settings which are equivalent to invoking gluLookAt(0,0,0, 0,0,-1, 0,1,0). This places the camera at the origin, looking straight into the model along the -Z axis with the +Y axis pointing straight up. This means that a 2 unit wide and 2 unit high object centred at <0,0,-1> will roughly fill the viewport, as will a 4x4 object at twice the distance from the viewpoint.
==== Drawing objects ====
MakeHuman contains multiple objects. The Humanoid object is the main object, but it is surrounded by a set of control objects. Each object is constructed using triangular faces. The position and orientation of each face is defined relative to the object of which it is a part. The positions and orientations of the vertices and normals of the faces are defined relative to the face they’re on. The sequence in which face vertices are defined is significant in OpenGL. If the face is viewed from the front, the sequence of points runs counter clockwise. If the face is viewed from the back the points run clockwise. Faces viewed from behind may be invisible or may have a different color/texture defined to the front face. This order is also called the "winding order" of vertices, and is used by MakeHuman to calculate the normal of each face. If the winding order is reversed, the normal will be flipped. The glPushMatrix and glPopMatrix functions can be used to store away a copy of a matrix that can subsequently restored. MakeHuman uses this before and after drawing each object to store a copy of the modelview matrix and restore it.
1920a5205a332b2d27f63bd86f83721fb0a530ff
Documentation:Planning on how to restructure the documentation
3000
250
753
752
2016-05-24T08:14:49Z
Joepal
14
wikitext
text/x-wiki
These are random ideas on what should be done with the docs as and when someone has the time and energy
== General outline ==
As it stands now, the first major sections as such (Introduction, general overview and working with the human) looks reasonable, although some content of the section looks pretty malplaced and is probably incomprehensible for someone reading it the first time (for example "professional mesh topology", which is more a kind of reference / technical notes than something that should be in introduction).
After the three first major sections, the following major sections make slightly less sense, and seem to be there in a bit of random order.
A user would probably expect the general flow of the docs to be something rather along the lines of:
* Introduction
* General usage (now "General overview")
* Working with the human
* Getting and creating more assets
** Downloading more assets
** Installing blendertools
** Creating targets
** Creating clothes
** Creating skins
** .. (etc) ..
* Continuing your work in another application
** Short notes on exporting to blender
** Short notes on exporting to 3dsmax
** Short notes on exporting to maya
** Short notes on exporting to unity
** Short notes on exporting to UE4
* MakeHuman for developers
* All notes about MH vs blender, with pertinent subsections
* All notes about MH vs 3dsmax, with pertinent subsections
* All notes about MH vs maya, with pertinent subsections
* All notes about MH vs unity, with pertinent subsections
* All notes about MH vs UE4, with pertinent subsections
== Other sections ==
I'd like to move some of the stuff from the root of the wiki into the doc structure.
* The "workflows" pages
* The terminology page
== Style ==
Much of the text is written from a tech viewpoint rather than a usage viewpoint. Most users are interested how to use things rather than how things are built. Also, the language is occasionally completely incomprehensible for someone who is not informed about the internals of MakeHuman even if they are techies per se.
The docs should be written for the intended target audience.
(in practice, doc articles should be read through and reformulated when they deviate from this... mostly it's not needed to write completely new docs)
== Outdated content ==
Particularly the images could benefit from being redone vs 1.1.0. But in many places there are old information which might not be entirely correct anymore.
4ed04ad33176ada023e9665e555c52b80fe1083f
752
2016-05-24T08:08:07Z
Joepal
14
Created page with "These are random ideas on what should be done with the docs as and when someone has the time and energy == General outline == As it stands now, the first major sections as..."
wikitext
text/x-wiki
These are random ideas on what should be done with the docs as and when someone has the time and energy
== General outline ==
As it stands now, the first major sections as such (Introduction, general overview and working with the human) looks reasonable, although some content of the section looks pretty malplaced and is probably incomprehensible for someone reading it the first time (for example "professional mesh topology", which is more a kind of reference / technical notes than something that should be in introduction).
After the three first major sections, the following major sections make slightly less sense, and seem to be there in a bit of random order.
A user would probably expect the general flow of the docs to be something rather along the lines of:
* Introduction
* General usage (now "General overview")
* Working with the human
* Getting and creating more assets
** Downloading more assets
** Installing blendertools
** Creating targets
** Creating clothes
** Creating skins
** .. (etc) ..
* Continuing your work in another application
** Short notes on exporting to blender
** Short notes on exporting to 3dsmax
** Short notes on exporting to maya
** Short notes on exporting to unity
** Short notes on exporting to UE4
* MakeHuman for developers
* All notes about MH vs blender, with pertinent subsections
* All notes about MH vs 3dsmax, with pertinent subsections
* All notes about MH vs maya, with pertinent subsections
* All notes about MH vs unity, with pertinent subsections
* All notes about MH vs UE4, with pertinent subsections
== Style ==
Much of the text is written from a tech viewpoint rather than a usage viewpoint. Most users are interested how to use things rather than how things are built. Also, the language is occasionally completely incomprehensible for someone who is not informed about the internals of MakeHuman even if they are techies per se.
The docs should be written for the intended target audience.
(in practice, doc articles should be read through and reformulated when they deviate from this... mostly it's not needed to write completely new docs)
== Outdated content ==
Particularly the images could benefit from being redone vs 1.1.0. But in many places there are old information which might not be entirely correct anymore.
a3aba5162355c21e77f3fad0d0c8b2659bfa634e
Documentation:Plugin System
3000
243
1116
1115
2016-07-05T17:30:12Z
Aranuvir
17
/* Example Controls */
wikitext
text/x-wiki
==== Plugins ====
Makehuman has a simple plugin framework which makes it easy to add and remove features. At startup, MakeHuman now looks for .py files in the plugins folder which are not starting with an underscore (which makes it easier to disable unwanted plugins). It loads them one by one and calls the load entry point passing a reference to the application. The plugin can use this reference to add the necessary GUI widgets or code to the application.
The rules for plugins are very simple:
* A plugin is a .py file in the plugins folder with a load entry point.
* A plugin only imports core files.
The reason a plugin cannot import other plugins is that it would make it difficult to know which files belong to which plugin. We still need to define a convention for shared files beyond the core MakeHuman files. To get started look at example.py or any of the other plugins to see how you can create your own feature in MakeHuman.
==== GUI ====
The main layout is a two level tab control. The tabs at the top represent categories, like files. modelling, geometries, materials, etc. The ones at the bottom are the tasks in the current category and refine the more broad category in face, torso, gender, saving, loading, exporting etc.
So when creating your plugin, the first thought should be “In which category does it belong?”. From experience we know that it can be a though question to answer. Sometimes the only answer is adding a new category. This is what we initially did for measurement for example
Next you probably want your own task to implement your feature. While it’s possible to attach functionality to an instance of gui3d.Task, it’s often easier to derive your own class.
When you create an instance of your class, you pass the parent of your task, which can either be an existing category
or the new one which you added.
In your derived task you will then add the necessary controls to let the user interact. A good place to see how to use the different controls is the example plugin. You will see that even if you don’t add any controls, the model is already visible. This is because the model is attached to the root of the GUI tree. In the onShow event of your task you might want to reset the camera position, like we do in the save task, or hide the model, like we do in the load task. Just don’t forget to reset the state when your task gets hidden in onHide.
==== Undo-redo ====
It is important that every modification is undoable, since just one undo able modification would leave the user without the possibility to undo anything. So it’s crucial that if you write a plugin which modifies the model, you also make undo work.
The Application class has several methods to work with actions. An action is a class with two methods, do and undo. If the action itself does the modification you can use app.do to add it to the undo stack. If you did the modification yourself already during user interaction, you can add the action using app.did. The application won’t call the do method of the action in that case.
If you want to make your own undoredo buttons, you can use app.undo and app.redo. To illustrate, here is the action we use to change the hair color:
The postAction is a handy way to specify a method to keep your GUI in sync with the changes.
==== Asynchronous Calls and Animation ====
When doing lengthy operations it is important not to block the GUI from redrawing. Since everything runs in one thread, it is easy to block the event loop in your plugin. There are 4 ways to avoid this, depending on the need. If no user interaction is needed, a progressbar can be used. A progressbar uses the redrawNow() method of the application. This redraws the screen outside the event loop. Instead of creating your own progressbar, it is advised to use the progress method, which uses the global progressbar. Calling progress with a value greater than zero shows the progressbar, a value of zero hides it.
If user interaction is desired during the operation, either asynchronous calls, a timer or a thread can be used. Asynchronous calls are used when a lengthy operation can be split in several units. It is used for example in the startup procedure as well as for the plugin loading loop. The mh.callAsync(method) queues the calling of method in the event loop, so it will be called when the event gets processed. In case different methods need to be called after each other, as in the startup procedure, callAsync is used to call the next method.
In case of the plugin loading loop, it calls the same method until it is done.
This is not to be used for animations, as it takes very little time between calling callAsync and the event loop calling the method. Calling time.sleep(dt) to avoid this should not be done as it blocks the main thread. For animations use timers instead. An example of this can be found in the BvhPlayer plugin. The method mh.addTimer(interval, method) adds a timer which calls the given method every interval milliseconds. It returns a value to be used by removeTimer to stop the timer.
If a lengthy operation includes blocking on sockets or pipes, it is advised to use a python thread. However this has been shown to be problematic on Linux. To get around the problems on linux you should not access any makehuman structures from within your thread, but use mh.callAsync to call the methods from the main thread. See the clock plugin example for example code on how to use threads correctly.
==== A template for plugins ====
Looking in the makehuman source folder, in the "plugin" directory, you will notice a file called "7_example.py". This is an "Hello world" plugin. It includes all main controls and some nice example of mesh manipulation. It's designed to be used as template of new plugin.
To see how it works, you need to enable it in the Preferences->Setting. Then it will be located at Utilities-->Example.
[[File:UtilitiesExampleTab3.png]]
==== Example Controls ====
[[File:UtilitiesExampleControls.png]]
0bee235a33d656864724ee510e91acd03c02c66a
1115
711
2016-07-05T17:29:46Z
Aranuvir
17
/* A template for plugins */
wikitext
text/x-wiki
==== Plugins ====
Makehuman has a simple plugin framework which makes it easy to add and remove features. At startup, MakeHuman now looks for .py files in the plugins folder which are not starting with an underscore (which makes it easier to disable unwanted plugins). It loads them one by one and calls the load entry point passing a reference to the application. The plugin can use this reference to add the necessary GUI widgets or code to the application.
The rules for plugins are very simple:
* A plugin is a .py file in the plugins folder with a load entry point.
* A plugin only imports core files.
The reason a plugin cannot import other plugins is that it would make it difficult to know which files belong to which plugin. We still need to define a convention for shared files beyond the core MakeHuman files. To get started look at example.py or any of the other plugins to see how you can create your own feature in MakeHuman.
==== GUI ====
The main layout is a two level tab control. The tabs at the top represent categories, like files. modelling, geometries, materials, etc. The ones at the bottom are the tasks in the current category and refine the more broad category in face, torso, gender, saving, loading, exporting etc.
So when creating your plugin, the first thought should be “In which category does it belong?”. From experience we know that it can be a though question to answer. Sometimes the only answer is adding a new category. This is what we initially did for measurement for example
Next you probably want your own task to implement your feature. While it’s possible to attach functionality to an instance of gui3d.Task, it’s often easier to derive your own class.
When you create an instance of your class, you pass the parent of your task, which can either be an existing category
or the new one which you added.
In your derived task you will then add the necessary controls to let the user interact. A good place to see how to use the different controls is the example plugin. You will see that even if you don’t add any controls, the model is already visible. This is because the model is attached to the root of the GUI tree. In the onShow event of your task you might want to reset the camera position, like we do in the save task, or hide the model, like we do in the load task. Just don’t forget to reset the state when your task gets hidden in onHide.
==== Undo-redo ====
It is important that every modification is undoable, since just one undo able modification would leave the user without the possibility to undo anything. So it’s crucial that if you write a plugin which modifies the model, you also make undo work.
The Application class has several methods to work with actions. An action is a class with two methods, do and undo. If the action itself does the modification you can use app.do to add it to the undo stack. If you did the modification yourself already during user interaction, you can add the action using app.did. The application won’t call the do method of the action in that case.
If you want to make your own undoredo buttons, you can use app.undo and app.redo. To illustrate, here is the action we use to change the hair color:
The postAction is a handy way to specify a method to keep your GUI in sync with the changes.
==== Asynchronous Calls and Animation ====
When doing lengthy operations it is important not to block the GUI from redrawing. Since everything runs in one thread, it is easy to block the event loop in your plugin. There are 4 ways to avoid this, depending on the need. If no user interaction is needed, a progressbar can be used. A progressbar uses the redrawNow() method of the application. This redraws the screen outside the event loop. Instead of creating your own progressbar, it is advised to use the progress method, which uses the global progressbar. Calling progress with a value greater than zero shows the progressbar, a value of zero hides it.
If user interaction is desired during the operation, either asynchronous calls, a timer or a thread can be used. Asynchronous calls are used when a lengthy operation can be split in several units. It is used for example in the startup procedure as well as for the plugin loading loop. The mh.callAsync(method) queues the calling of method in the event loop, so it will be called when the event gets processed. In case different methods need to be called after each other, as in the startup procedure, callAsync is used to call the next method.
In case of the plugin loading loop, it calls the same method until it is done.
This is not to be used for animations, as it takes very little time between calling callAsync and the event loop calling the method. Calling time.sleep(dt) to avoid this should not be done as it blocks the main thread. For animations use timers instead. An example of this can be found in the BvhPlayer plugin. The method mh.addTimer(interval, method) adds a timer which calls the given method every interval milliseconds. It returns a value to be used by removeTimer to stop the timer.
If a lengthy operation includes blocking on sockets or pipes, it is advised to use a python thread. However this has been shown to be problematic on Linux. To get around the problems on linux you should not access any makehuman structures from within your thread, but use mh.callAsync to call the methods from the main thread. See the clock plugin example for example code on how to use threads correctly.
==== A template for plugins ====
Looking in the makehuman source folder, in the "plugin" directory, you will notice a file called "7_example.py". This is an "Hello world" plugin. It includes all main controls and some nice example of mesh manipulation. It's designed to be used as template of new plugin.
To see how it works, you need to enable it in the Preferences->Setting. Then it will be located at Utilities-->Example.
[[File:UtilitiesExampleTab3.png]]
==== Example Controls ====
!IMAGE!Pictures/UtilitiesExampleControls.png!/IMAGE!
128b8fcd8d86547bc25e31046edbdebe54d81f73
711
2016-05-20T11:22:36Z
Joepal
14
Created page with "==== Plugins ==== Makehuman has a simple plugin framework which makes it easy to add and remove features. At startup, MakeHuman now looks for .py files in the plugins folder..."
wikitext
text/x-wiki
==== Plugins ====
Makehuman has a simple plugin framework which makes it easy to add and remove features. At startup, MakeHuman now looks for .py files in the plugins folder which are not starting with an underscore (which makes it easier to disable unwanted plugins). It loads them one by one and calls the load entry point passing a reference to the application. The plugin can use this reference to add the necessary GUI widgets or code to the application.
The rules for plugins are very simple:
* A plugin is a .py file in the plugins folder with a load entry point.
* A plugin only imports core files.
The reason a plugin cannot import other plugins is that it would make it difficult to know which files belong to which plugin. We still need to define a convention for shared files beyond the core MakeHuman files. To get started look at example.py or any of the other plugins to see how you can create your own feature in MakeHuman.
==== GUI ====
The main layout is a two level tab control. The tabs at the top represent categories, like files. modelling, geometries, materials, etc. The ones at the bottom are the tasks in the current category and refine the more broad category in face, torso, gender, saving, loading, exporting etc.
So when creating your plugin, the first thought should be “In which category does it belong?”. From experience we know that it can be a though question to answer. Sometimes the only answer is adding a new category. This is what we initially did for measurement for example
Next you probably want your own task to implement your feature. While it’s possible to attach functionality to an instance of gui3d.Task, it’s often easier to derive your own class.
When you create an instance of your class, you pass the parent of your task, which can either be an existing category
or the new one which you added.
In your derived task you will then add the necessary controls to let the user interact. A good place to see how to use the different controls is the example plugin. You will see that even if you don’t add any controls, the model is already visible. This is because the model is attached to the root of the GUI tree. In the onShow event of your task you might want to reset the camera position, like we do in the save task, or hide the model, like we do in the load task. Just don’t forget to reset the state when your task gets hidden in onHide.
==== Undo-redo ====
It is important that every modification is undoable, since just one undo able modification would leave the user without the possibility to undo anything. So it’s crucial that if you write a plugin which modifies the model, you also make undo work.
The Application class has several methods to work with actions. An action is a class with two methods, do and undo. If the action itself does the modification you can use app.do to add it to the undo stack. If you did the modification yourself already during user interaction, you can add the action using app.did. The application won’t call the do method of the action in that case.
If you want to make your own undoredo buttons, you can use app.undo and app.redo. To illustrate, here is the action we use to change the hair color:
The postAction is a handy way to specify a method to keep your GUI in sync with the changes.
==== Asynchronous Calls and Animation ====
When doing lengthy operations it is important not to block the GUI from redrawing. Since everything runs in one thread, it is easy to block the event loop in your plugin. There are 4 ways to avoid this, depending on the need. If no user interaction is needed, a progressbar can be used. A progressbar uses the redrawNow() method of the application. This redraws the screen outside the event loop. Instead of creating your own progressbar, it is advised to use the progress method, which uses the global progressbar. Calling progress with a value greater than zero shows the progressbar, a value of zero hides it.
If user interaction is desired during the operation, either asynchronous calls, a timer or a thread can be used. Asynchronous calls are used when a lengthy operation can be split in several units. It is used for example in the startup procedure as well as for the plugin loading loop. The mh.callAsync(method) queues the calling of method in the event loop, so it will be called when the event gets processed. In case different methods need to be called after each other, as in the startup procedure, callAsync is used to call the next method.
In case of the plugin loading loop, it calls the same method until it is done.
This is not to be used for animations, as it takes very little time between calling callAsync and the event loop calling the method. Calling time.sleep(dt) to avoid this should not be done as it blocks the main thread. For animations use timers instead. An example of this can be found in the BvhPlayer plugin. The method mh.addTimer(interval, method) adds a timer which calls the given method every interval milliseconds. It returns a value to be used by removeTimer to stop the timer.
If a lengthy operation includes blocking on sockets or pipes, it is advised to use a python thread. However this has been shown to be problematic on Linux. To get around the problems on linux you should not access any makehuman structures from within your thread, but use mh.callAsync to call the methods from the main thread. See the clock plugin example for example code on how to use threads correctly.
==== A template for plugins ====
Looking in the makehuman source folder, in the "plugin" directory, you will notice a file called "7_example.py". This is an "Hello world" plugin. It includes all main controls and some nice example of mesh manipulation. It's designed to be used as template of new plugin.
To see how it works, you need to enable it in the Preferences->Setting. Then it will be located at Utilities-->Example.
!IMAGE!Pictures/UtilitiesExampleTab3.png!/IMAGE!
==== Example Controls ====
!IMAGE!Pictures/UtilitiesExampleControls.png!/IMAGE!
3c72ec093991f2910dccfbeabe11da4850c5030a
Documentation:Professional mesh topology
3000
49
1100
1099
2016-07-04T12:08:39Z
Joepal
14
wikitext
text/x-wiki
==== The Homunculus ====
The principal aim of MakeHuman project is to develop an open source application capable to create realistic tridimensional humans.
Since the early release in 2001, by pursuing this aim the MakeHuman Team have developed a model that can combine different anatomical parameters to transition smoothly from the infant to the elderly, from man to woman and from fat to slim. The vast wealth of potential combinations provides the artist an extraordinarily broad range of possibilities for artistic expression but presents many problems to the development team.
[[File:age_1.png]]
In particular it adds to the classical problems of 3D modelling (number of polygons, square or triangular faces, etc.) the problems of constructing a super mesh that can be transformed into any form of human while being sufficiently optimised to be able to be manipulated on desktop machines, yet still producing a professional quality of output. These discussions resulted in agreement that the initial mesh should occupy a middle ground, being neither pronounced masculine, nor pronounced feminine, neither young nor old and having a medium muscular definition. An androgynous form, the HoMunculus.
[[File:hm01_0.png]]
The Homunculus 00 (2002). No male, no female, nor young or old. A perfect neutral body.
==== Evolution of the topology ====
The current MakeHuman mesh has evolved through successive iterations of the project, incorporating lessons learned, community feedback and the results of considerable amounts of studies and experimentations.
The current version, known as the ‘Homunculus 08’ comprises a state of the art universal humanoid model, including:
* Light and optimized for subdivision surfaces modelling (14766 faces).
* Quads only. The human mesh is completely triangles free.
* Optimized for animation and sculpting (Zbrush, Mudbox)
* MInimal number of poles
* Max number of edges admitted for a pole: 5
[[File:heads_0.png]]
The Homunculus evolution through the heads
=== Homunculus releases ===
* The first prototype of an universal mesh (head only) was done in 1999 in the makeHead script, and then adapted for the early MH (2000),
* The Homunculus00, was realized by Enrico Valenza in 2002.
* The Homunculus01 (or K-Mesh) was modelled by Kaushik Pal in 2005
* The Homunculus02 was modelled by Manuel Bastioni (Z-Mesh);
* The Homunculus03 was modelled by Gianluca Miragoli (aka Yashugan) in 2007 and builds upon the experience gained on the preceding versions (Y-Mesh)
* The Homunculus04 build upon the previous one by Gianluca Miragoli and Manuel Bastioni
* The Homunculus05 build upon the previous one by Gianluca Miragoli.
* The Homunculus06 released in 2010 (artists: Waldemar Perez Jr., André Richard, Manuel Bastioni).
* The Homunculus07 completely remodelled by Manuel Bastioni in 2011
* The Homunculus08 remodelled from scratch by Manuel Bastioni in 2013
[[File:wip03_0.png]]
An image from the "Making of" the Homunculus 08
==== Alternative topologies ====
The base mesh is capable to be morphed practically in any human character, but in some cases it is preferred to have a very specialized topology. For this reason, since the version 1.0 alpha 7, MakeHuman includes a function to change the mesh of the character, just selecting it from a simple chooser.
The makeHuman team is studying the requirements needed for different purposes (animation, games, crowd, closeups, etc..) in order to create a database of professional topologies.
[[File:topologies.png]]
86bda7cbabcfd3d65528208c75fd824f81acfa57
1099
677
2016-07-04T12:05:48Z
Joepal
14
wikitext
text/x-wiki
==== The Homunculus ====
The principal aim of MakeHuman project is to develop an open source application capable to create realistic tridimensional humans.
Since the early release in 2001, by pursuing this aim the MakeHuman Team have developed a model that can combine different anatomical parameters to transition smoothly from the infant to the elderly, from man to woman and from fat to slim. The vast wealth of potential combinations provides the artist an extraordinarily broad range of possibilities for artistic expression but presents many problems to the development team.
[[File:age_1.png]]
In particular it adds to the classical problems of 3D modelling (number of polygons, square or triangular faces, etc.) the problems of constructing a super mesh that can be transformed into any form of human while being sufficiently optimised to be able to be manipulated on desktop machines, yet still producing a professional quality of output. These discussions resulted in agreement that the initial mesh should occupy a middle ground, being neither pronounced masculine, nor pronounced feminine, neither young nor old and having a medium muscular definition. An androgynous form, the HoMunculus.
!IMAGE!Pictures/hm01_0.png!/IMAGE!
The Homunculus 00 (2002). No male, no female, nor young or old. A perfect neutral body.
==== Evolution of the topology ====
The current MakeHuman mesh has evolved through successive iterations of the project, incorporating lessons learned, community feedback and the results of considerable amounts of studies and experimentations.
The current version, known as the ‘Homunculus 08’ comprises a state of the art universal humanoid model, including:
* Light and optimized for subdivision surfaces modelling (14766 faces).
* Quads only. The human mesh is completely triangles free.
* Optimized for animation and sculpting (Zbrush, Mudbox)
* MInimal number of poles
* Max number of edges admitted for a pole: 5
!IMAGE!Pictures/heads_0.png!/IMAGE!
The Homunculus evolution through the heads
=== Homunculus releases ===
* The first prototype of an universal mesh (head only) was done in 1999 in the makeHead script, and then adapted for the early MH (2000),
* The Homunculus00, was realized by Enrico Valenza in 2002.
* The Homunculus01 (or K-Mesh) was modelled by Kaushik Pal in 2005
* The Homunculus02 was modelled by Manuel Bastioni (Z-Mesh);
* The Homunculus03 was modelled by Gianluca Miragoli (aka Yashugan) in 2007 and builds upon the experience gained on the preceding versions (Y-Mesh)
* The Homunculus04 build upon the previous one by Gianluca Miragoli and Manuel Bastioni
* The Homunculus05 build upon the previous one by Gianluca Miragoli.
* The Homunculus06 released in 2010 (artists: Waldemar Perez Jr., André Richard, Manuel Bastioni).
* The Homunculus07 completely remodelled by Manuel Bastioni in 2011
* The Homunculus08 remodelled from scratch by Manuel Bastioni in 2013
!IMAGE!Pictures/wip03_0.png!/IMAGE!
An image from the "Making of" the Homunculus 08
==== Alternative topologies ====
The base mesh is capable to be morphed practically in any human character, but in some cases it is preferred to have a very specialized topology. For this reason, since the version 1.0 alpha 7, MakeHuman includes a function to change the mesh of the character, just selecting it from a simple chooser.
The makeHuman team is studying the requirements needed for different purposes (animation, games, crowd, closeups, etc..) in order to create a database of professional topologies.
!IMAGE!Pictures/topologies.png!/IMAGE!
2ca9292a27f148c0b9303d993feea09a34d57aad
677
114
2016-05-20T08:21:24Z
Joepal
14
wikitext
text/x-wiki
==== The Homunculus ====
The principal aim of MakeHuman project is to develop an open source application capable to create realistic tridimensional humans.
Since the early release in 2001, by pursuing this aim the MakeHuman Team have developed a model that can combine different anatomical parameters to transition smoothly from the infant to the elderly, from man to woman and from fat to slim. The vast wealth of potential combinations provides the artist an extraordinarily broad range of possibilities for artistic expression but presents many problems to the development team.
!IMAGE!Pictures/age_1.png!/IMAGE!
In particular it adds to the classical problems of 3D modelling (number of polygons, square or triangular faces, etc.) the problems of constructing a super mesh that can be transformed into any form of human while being sufficiently optimised to be able to be manipulated on desktop machines, yet still producing a professional quality of output. These discussions resulted in agreement that the initial mesh should occupy a middle ground, being neither pronounced masculine, nor pronounced feminine, neither young nor old and having a medium muscular definition. An androgynous form, the HoMunculus.
!IMAGE!Pictures/hm01_0.png!/IMAGE!
The Homunculus 00 (2002). No male, no female, nor young or old. A perfect neutral body.
==== Evolution of the topology ====
The current MakeHuman mesh has evolved through successive iterations of the project, incorporating lessons learned, community feedback and the results of considerable amounts of studies and experimentations.
The current version, known as the ‘Homunculus 08’ comprises a state of the art universal humanoid model, including:
* Light and optimized for subdivision surfaces modelling (14766 faces).
* Quads only. The human mesh is completely triangles free.
* Optimized for animation and sculpting (Zbrush, Mudbox)
* MInimal number of poles
* Max number of edges admitted for a pole: 5
!IMAGE!Pictures/heads_0.png!/IMAGE!
The Homunculus evolution through the heads
=== Homunculus releases ===
* The first prototype of an universal mesh (head only) was done in 1999 in the makeHead script, and then adapted for the early MH (2000),
* The Homunculus00, was realized by Enrico Valenza in 2002.
* The Homunculus01 (or K-Mesh) was modelled by Kaushik Pal in 2005
* The Homunculus02 was modelled by Manuel Bastioni (Z-Mesh);
* The Homunculus03 was modelled by Gianluca Miragoli (aka Yashugan) in 2007 and builds upon the experience gained on the preceding versions (Y-Mesh)
* The Homunculus04 build upon the previous one by Gianluca Miragoli and Manuel Bastioni
* The Homunculus05 build upon the previous one by Gianluca Miragoli.
* The Homunculus06 released in 2010 (artists: Waldemar Perez Jr., André Richard, Manuel Bastioni).
* The Homunculus07 completely remodelled by Manuel Bastioni in 2011
* The Homunculus08 remodelled from scratch by Manuel Bastioni in 2013
!IMAGE!Pictures/wip03_0.png!/IMAGE!
An image from the "Making of" the Homunculus 08
==== Alternative topologies ====
The base mesh is capable to be morphed practically in any human character, but in some cases it is preferred to have a very specialized topology. For this reason, since the version 1.0 alpha 7, MakeHuman includes a function to change the mesh of the character, just selecting it from a simple chooser.
The makeHuman team is studying the requirements needed for different purposes (animation, games, crowd, closeups, etc..) in order to create a database of professional topologies.
!IMAGE!Pictures/topologies.png!/IMAGE!
3ea62ed1e6e1d68f489db7680029927c56df6b0c
114
113
2015-07-10T13:24:50Z
Aiena
15
update heading markup
wikitext
text/x-wiki
=== The Homunculus ===
The principal aim of MakeHuman project is to develop an open source application capable to create realistic tridimensional humans. Since the early release in 2001, by pursuing this aim the MakeHuman Team have developed a model that can combine different anatomical parameters to transition smoothly from the infant to the elderly, from man to woman and from fat to slim. The vast wealth of potential combinations provides the artist an extraordinarily broad range of possibilities for artistic expression but presents many problems to the development team.
[[File:Example.jpg]]
In particular it adds to the classical problems of 3D modelling (number of polygons, square or triangular faces, etc.) the problems of constructing a super mesh that can be transformed into any form of human while being sufficiently optimised to be able to be manipulated on desktop machines, yet still producing a professional quality of output. These discussions resulted in agreement that the initial mesh should occupy a middle ground, being neither pronounced masculine, nor pronounced feminine, neither young nor old and having a medium muscular definition. An androgynous form, the HoMunculus.
[[File:Example.jpg]]
The Homunculus 00 (2002). No male, no female, nor young or old. A perfect neutral body.
c156737c18a821b9e455ff6f72b7aaf089b52a6b
113
2015-07-10T13:23:15Z
Aiena
15
Added skeleton text and dumy placeholders for images
wikitext
text/x-wiki
The Homunculus
The principal aim of MakeHuman project is to develop an open source application capable to create realistic tridimensional humans. Since the early release in 2001, by pursuing this aim the MakeHuman Team have developed a model that can combine different anatomical parameters to transition smoothly from the infant to the elderly, from man to woman and from fat to slim. The vast wealth of potential combinations provides the artist an extraordinarily broad range of possibilities for artistic expression but presents many problems to the development team.
[[File:Example.jpg]]
In particular it adds to the classical problems of 3D modelling (number of polygons, square or triangular faces, etc.) the problems of constructing a super mesh that can be transformed into any form of human while being sufficiently optimised to be able to be manipulated on desktop machines, yet still producing a professional quality of output. These discussions resulted in agreement that the initial mesh should occupy a middle ground, being neither pronounced masculine, nor pronounced feminine, neither young nor old and having a medium muscular definition. An androgynous form, the HoMunculus.
[[File:Example.jpg]]
The Homunculus 00 (2002). No male, no female, nor young or old. A perfect neutral body.
84448af6a57a0dcc092458fbc0724df37ff50271
Documentation:Rendering your work
3000
235
1112
780
2016-07-05T17:23:42Z
Aranuvir
17
wikitext
text/x-wiki
MakeHuman has an internal rendering engine based on OpenGL technology: GLSL 1.2 for openGL 2.1 or higher.
For this reason some features will be available only for machine(s) build after semptember 2006.
For the same reasons, the results can vary a bit, depending the video cards.
[[File:render_0.png]]
== Quick render and advanced render ==
MakeHuman™ uses two different rendering approaches, quick and advanced rendering. Both them produce images with transparent background, in order to be eaily mounted in Gimp or Photoshop.
The quick renderingis intended to for a click-and-see render. It uses fixed presets for lights and materials, studied to show the model in an optimal way. There are only ywo available options in that mode:
* Resolution, written in the form widthxheight
* Antialiasing(turn it on for quality rendering): Aliasing happens when model edges look 'jaggy'. Raise this slider to filter these. It also help hair and thin stuff in general look better. However raising the AA level can have an equivalent performance hit.
The advanced renderinguse a different rendering technique. It gets the lights defined in "scene" and make complex calculations. In future it will supports shadows and more options to increase the realism.
In addition to the two existing options, there is the subsurface scattering one. Enabling it will produce a more realistic and impressive skin, to simulate the skin's behaviour when light passes through it.
When you have finished selecting the desired options, press the 'Render' button and see your model become a piece of 3D art!
== Scene and Viewer ==
=== Makehuman "Scenes" ===
MakeHuman™ provides a library of lighting presets, that will be used in the "advanced rendering" mode. This library is the "Scene" library which currently has only one lighting preset named "default".
=== The "Viewer" ===
The rendering result will be displayed in the "viewer". It's possible to zoom and move the image using the usual mouse buttons, and then save the image as png, using the "Save as" button.
[[File:viewer_0.png]]
cdd884e6f6b7754344830034e07717ca815cf8b7
780
696
2016-05-24T12:06:12Z
Joepal
14
wikitext
text/x-wiki
MakeHuman has an internal rendering engine based on OpenGL technology: GLSL 1.2 for openGL 2.1 or higher.
For this reason some features will be available only for machine(s) build after semptember 2006.
For the same reasons, the results can vary a bit, depending the video cards.
!IMAGE!Pictures/render_0.png!/IMAGE!
== Quick render and advanced render ==
MakeHuman™ uses two different rendering approaches, quick and advanced rendering. Both them produce images with transparent background, in order to be eaily mounted in Gimp or Photoshop.
The quick renderingis intended to for a click-and-see render. It uses fixed presets for lights and materials, studied to show the model in an optimal way. There are only ywo available options in that mode:
* Resolution, written in the form widthxheight
* Antialiasing(turn it on for quality rendering): Aliasing happens when model edges look 'jaggy'. Raise this slider to filter these. It also help hair and thin stuff in general look better. However raising the AA level can have an equivalent performance hit.
The advanced renderinguse a different rendering technique. It gets the lights defined in "scene" and make complex calculations. In future it will supports shadows and more options to increase the realism.
In addition to the two existing options, there is the subsurface scattering one. Enabling it will produce a more realistic and impressive skin, to simulate the skin's behaviour when light passes through it.
When you have finished selecting the desired options, press the 'Render' button and see your model become a piece of 3D art!
== Scene and Viewer ==
=== Makehuman "Scenes" ===
MakeHuman™ provides a library of lighting presets, that will be used in the "advanced rendering" mode. This library is the "Scene" library which currently has only one lighting preset named "default".
=== The "Viewer" ===
The rendering result will be displayed in the "viewer". It's possible to zoom and move the image using the usual mouse buttons, and then save the image as png, using the "Save as" button.
!IMAGE!Pictures/viewer_0.png!/IMAGE!
3eb592b6a04c08c42ede162f357b2f34e3ef77b5
696
2016-05-20T09:06:40Z
Joepal
14
Created page with "MakeHuman™ has an internal rendering engine based on OpenGL technology: GLSL 1.2 for openGL 2.1 or superior. For this reason some features will be available only for machine..."
wikitext
text/x-wiki
MakeHuman™ has an internal rendering engine based on OpenGL technology: GLSL 1.2 for openGL 2.1 or superior.
For this reason some features will be available only for machine(s) build after semptember 2006.
For the same reasons, the results can vary a bit, depending the video cards.
!IMAGE!Pictures/render_0.png!/IMAGE!
==== Quick render and advanced render ====
MakeHuman™ uses two different rendering approaches, quick and advanced rendering. Both them produce images with transparent background, in order to be eaily mounted in Gimp or Photoshop.
The quick renderingis intended to for a click-and-see render. It uses fixed presets for lights and materials, studied to show the model in an optimal way. There are only ywo available options in that mode:
* Resolution, written in the form widthxheight
* Antialiasing(turn it on for quality rendering): Aliasing happens when model edges look 'jaggy'. Raise this slider to filter these. It also help hair and thin stuff in general look better. However raising the AA level can have an equivalent performance hit.
The advanced renderinguse a different rendering technique. It gets the lights defined in "scene" and make complex calculations. In future it will supports shadows and more options to increase the realism.
In addition to the two existing options, there is the subsurface scattering one. Enabling it will produce a more realistic and impressive skin, to simulate the skin's behaviour when light passes through it.
When you have finished selecting the desired options, press the 'Render' button and see your model become a piece of 3D art!
=== Scene and Viewer ===
==== Makehuman "Scenes": ====
MakeHuman™ provides a library of lighting presets, that will be used in the "advanced rendering" mode. This library is the "Scene" library which currently has only one lighting preset named "default".
==== The "Viewer": ====
The rendering result will be displayed in the "viewer". It's possible to zoom and move the image using the usual mouse buttons, and then save the image as png, using the "Save as" button.
!IMAGE!Pictures/viewer_0.png!/IMAGE!
30b7db415823e011ee33aa076771205139e03eb6
Documentation:Reporting a bug
3000
237
700
2016-05-20T11:05:01Z
Joepal
14
Created page with "=== Using the Makehuman log files for error reporting === Occassionally, MakeHuman will not behave as expected, or you will note an exception in the status line, You willingne..."
wikitext
text/x-wiki
=== Using the Makehuman log files for error reporting ===
Occassionally, MakeHuman will not behave as expected, or you will note an exception in the status line, You willingness to make a bug report.for such events goes a long way to help imrove MakeHuman. For simple bugs,, it can often be enough to report the version of your operating system, the version of MakeHuman that you are using, and the steps to reproduce the problem. However, the developers often need to know more detail to reproduce your problem in a different environment.
As long as MakeHuman has not "crashed" completely, the easiest way to learn the details is to use thebuilt-in log viewer. This can be accessed by selecting theutilities taband then thelog subtab. On the left, you will see alevel selectorthat is initially set to "default". The center panel will show a very verbose set of all the actions that have happened inside MakeHuman since it was last restarted. This entire set of information is seldom needed.
For bug reporting, you will be most interested in the messages that show when you set the level selector to "error". If severe problems have occurred, the center window will show the errors logged in red. If there are none, it may still be worth reporting the somewhat less severe "warning" level messages which resulted in code exceptions. These messages will show in orange if you set the level selector to "warning". Only seldom will levels of "notice" or "message" be of interest to developers. Supply these only upon request.
When you find "errors" or "warnings" you can highlight the message(s) with the mouse and press the "copy" button in the left panel. The message will be copied to your clipboard. Simply paste these messages at the end of your bug report.
In the event that MakeHuman crashes completely, or in the case of complex problems it may be better or easier to upload more complete log information from the log files. MakeHuman always creates 2 important files called "makehuman-debug.txt" and "makehuman.log" in the user's home directory (under "My Documents/makehuman/v1" in Windows or "~/makehuman/v1" in your linux distribution).
makehuman-debug.txt:This provides some essential information about the system on which you have installed makehuman such as version information, machine architecture type, numpy versions and so on which is useful when reporting a bug as the bug may be applicable to your particular machine configuration.
makehuman.log:The makehuman.log file is another separate file. This file logs all events that take place from the beginning when makehuman is loading till the end when makehuman is closed. ALl regular events and error messages are logged in this file. It is important that you attach either this whole file or the last few signinficant lines indicating where the bug occured. This logs contains backtraces and other useful information like what plugins loaded, what plugins did not at which point did a python script fail and so on.
When reporting a bug in the makehuman bugtracker posting the contents of both these files is useful and will help us to debug and resolve the issue(s) more quickly. This is of course not needed when you are posting a feature request which is not a bug.
=== Using the Makehuman bug tracker ===
Makehuman has introduced a new internal bug tracker based on redmine (!LINK!http://www.redmine.org -- www.redmine.org!/LINK!) this tracker allows us to easily handle bug reports and feature requests reported/requested by you. In order to use this new bug tracker a forum account is compulsory (even if you do not wish to use forums). Your forum ID becomes your makehuman bug tracker ID.
Following are some quick links related to makehuman bug tracker:
* Roadmaps:!LINK!http://bugtracker.makehuman.org/projects/makehuman/roadmap -- http://bugtracker.makehuman.org/projects/makehuman/roadmap!/LINK!
* Add a new issue and see the isues list:!LINK!http://bugtracker.makehuman.org/projects/makehuman/issues -- http://bugtracker.makehuman.org/projects/makehuman/issues!/LINK!
* Graph for a quick overview:!LINK!http://bugtracker.makehuman.org/projects/makehuman/issues/growth -- http://bugtracker.makehuman.org/projects/makehuman/issues/growth!/LINK!
* Activity:!LINK!http://bugtracker.makehuman.org/projects/makehuman/activity -- http://bugtracker.makehuman.org/projects/makehuman/activity!/LINK!
08245ca9e3b74db8efad98b315601c78ba596019
Documentation:Running MakeHuman from source
3000
388
1597
1232
2019-05-10T10:56:13Z
Wolgade
26
wikitext
text/x-wiki
== Before you start ==
This page describes running MakeHuman 1.1 running from source code hosted on Bitbucket. If you're looking for the upcoming MakeHuman 1.2 go to [https://github.com/makehumancommunity/makehuman https://github.com/makehumancommunity/makehuman]. You'll also find basic instructions on how to get started on this page.
== Overview ==
There are several reasons why you might want to run MakeHuman from a source snapshot from BitBucket rather than use one of the pre-built packages:
* This makes it easy to update and get the latest features
* You get full access to all assets (in the builds the assets are only available in compiled archives)
* It's possible there is no functional pre-built package for your platform.
In order to run from source, you need the following:
* Get a source snapshot from BitBucket
* Install/setup a python environment with [http://www.python.org python 2.7] (python later than 2.7 will not work) and the following dependencies installed:
** [http://sourceforge.net/projects/numpy/files/NumPy/ NumPy]
** [http://pyopengl.sourceforge.net/ PyOpenGL]
** [http://www.riverbankcomputing.com/software/pyqt PyQT] (the required version is pyqt for qt4, qt5 is not supported)
* Run the script for downloading assets (this is described in a section at the bottom of the page, after the platform specific notes)
* (optionally) run the scripts for compiling assets
== Getting the source from Bitbucket ==
At this point in time it's recommended you run from the "stable" branch. If you're feeling adventurous, you can run "default", but in more cases than not this will crash for you.
The quickest way to get the source is to download is as a zip at https://bitbucket.org/MakeHuman/makehuman/get/stable.zip
However, if you plan to update in the future, you will want to install a [https://www.mercurial-scm.org/ mercurial] client and check out a source clone. This looks different depending on platform.
== Setting up the environment on Windows ==
Setting up the environment on Windows is normally somewhat cumbersome.
There is a tutorial video on how to do this, but the links in the video are outdated. Rather than downloading all the dependencies in a big zip file, you will need to download them
separately from the links above. However, in the video you can see what they should be named approximately.
{{#ev:youtube|3CCHGX-6Mtk}}
'''IMPORTANT:''' You ''must'' install the same architecture (32-bit or 64-bit) for all packages. While it's possible that you can find 64-bit packages for everything, it's probably easier to go for 32-bit packages even on a 64-bit system.
There are several mercurial clients for windows, but one of the more popular ones is [http://tortoisehg.bitbucket.org/ TortoiseHG].
== Setting up the environment on Linux ==
Running from source on Linux is generally trivial since all the dependencies are available via the package management.
For Ubuntu and Debian, there is [https://bitbucket.org/MakeHuman/makehuman/src/179e10c2b9440f73f6d154839e8720e1dccf39cd/buildscripts/deb/install_deb_dependencies.bash?at=stable&fileviewer=file-view-default a script] for installing all the required dependencies.
If you are not using a debian derivate, you will need to figure out that the dependencies are called on your platform. You will probably want at least:
* python 2.7
* python-numpy
* python-opengl
* qt4
* python-qt4
* python-qt4-gl
For example on ubuntu:
sudo apt-get install python-numpy python-opengl python-qt4 python-qt4-gl
Usually it is not necessary to install python, since most Linux distributions have python preinstalled. Currently MakeHuman depends on python2.7 (a port to python3 has been started). In the future python2 might not be pre-installed anymore, so make sure python2 is on your system:
python2 --version
The mercurial client is also available in most linux distributions. In ubuntu it's called "mercurial". For example:
sudo apt-get install mercurial
To get a source snapshot from bitbucket run:
hg clone https://bitbucket.org/MakeHuman/makehuman
cd makehuman
hg update -C stable
== Setting up the environment on MacOSX ==
To get the sources you need to either install hg or grab the very useful mercurial/git gui [https://www.sourcetreeapp.com SourceTree].
After you install the SourceTree app just go to the [https://bitbucket.org/MakeHuman/makehuman MakeHuman project on BitBucket] and click on the download icon in the upper right corner who's mouseover says 'Clone in SourceTree'
Now that you have the source you need to get a python that supports the libraries/modules listed above. The easiest way to get a working python and needed libraries installed on your mac is via [http://brew.sh Brew].
After you install and/or update brew with the instructions on that site do the following:
brew install python
brew search qt
On my system that showed the a list of different things to install, what you are looking for is qt4 and pyqt4. The entries that matched that for me were:
brew install cartr/qt4/qt
brew install cartr/qt4/pyqt
This will install dependencies like sip, etc as well if needed. If it says it's missing dependencies ( say sip ) do a search on those dependencies and install the right versions. Note that you do not run brew as root, it's files are all owned by you.
Once that is complete you should be able to follow the instructions to complete downloading, compiling the assets and pulling new versions from the repository ( via SourceTree if that is what you used ).
== Download and compilation scripts ==
Once you have an environment with the dependencies installed, and a source snapshot, there are a few scripts that should normally be run. They are available in the "makehuman" directory and
should probably be run in this order:
* download_assets.py (this is required, and will dowload all clothes etc)
* compile_targets.py (these three are optional but will make starting makehuman faster)
* compile_models.py
* compile_proxies.py
== Starting makehuman ==
With all the above, simply run the "makehuman.py" script either by double-clicking on it or by executing it from a console prompt.
104fb76a1f94daeb46168f26f660a3c1f20ee013
1232
1231
2016-11-17T19:38:06Z
Tenuki
36
/* Setting up the environment on MacOSX */
wikitext
text/x-wiki
== Overview ==
There are several reasons why you might want to run MakeHuman from a source snapshot from BitBucket rather than use one of the pre-built packages:
* This makes it easy to update and get the latest features
* You get full access to all assets (in the builds the assets are only available in compiled archives)
* It's possible there is no functional pre-built package for your platform.
In order to run from source, you need the following:
* Get a source snapshot from BitBucket
* Install/setup a python environment with [http://www.python.org python 2.7] (python later than 2.7 will not work) and the following dependencies installed:
** [http://sourceforge.net/projects/numpy/files/NumPy/ NumPy]
** [http://pyopengl.sourceforge.net/ PyOpenGL]
** [http://www.riverbankcomputing.com/software/pyqt PyQT] (the required version is pyqt for qt4, qt5 is not supported)
* Run the script for downloading assets (this is described in a section at the bottom of the page, after the platform specific notes)
* (optionally) run the scripts for compiling assets
== Getting the source from Bitbucket ==
At this point in time it's recommended you run from the "stable" branch. If you're feeling adventurous, you can run "default", but in more cases than not this will crash for you.
The quickest way to get the source is to download is as a zip at https://bitbucket.org/MakeHuman/makehuman/get/stable.zip
However, if you plan to update in the future, you will want to install a [https://www.mercurial-scm.org/ mercurial] client and check out a source clone. This looks different depending on platform.
== Setting up the environment on Windows ==
Setting up the environment on Windows is normally somewhat cumbersome.
There is a tutorial video on how to do this, but the links in the video are outdated. Rather than downloading all the dependencies in a big zip file, you will need to download them
separately from the links above. However, in the video you can see what they should be named approximately.
{{#ev:youtube|3CCHGX-6Mtk}}
'''IMPORTANT:''' You ''must'' install the same architecture (32-bit or 64-bit) for all packages. While it's possible that you can find 64-bit packages for everything, it's probably easier to go for 32-bit packages even on a 64-bit system.
There are several mercurial clients for windows, but one of the more popular ones is [http://tortoisehg.bitbucket.org/ TortoiseHG].
== Setting up the environment on Linux ==
Running from source on Linux is generally trivial since all the dependencies are available via the package management.
For Ubuntu and Debian, there is [https://bitbucket.org/MakeHuman/makehuman/src/179e10c2b9440f73f6d154839e8720e1dccf39cd/buildscripts/deb/install_deb_dependencies.bash?at=stable&fileviewer=file-view-default a script] for installing all the required dependencies.
If you are not using a debian derivate, you will need to figure out that the dependencies are called on your platform. You will probably want at least:
* python 2.7
* python-numpy
* python-opengl
* qt4
* python-qt4
* python-qt4-gl
For example on ubuntu:
sudo apt-get install python-numpy python-opengl python-qt4 python-qt4-gl
Usually it is not necessary to install python, since most Linux distributions have python preinstalled. Currently MakeHuman depends on python2.7 (a port to python3 has been started). In the future python2 might not be pre-installed anymore, so make sure python2 is on your system:
python2 --version
The mercurial client is also available in most linux distributions. In ubuntu it's called "mercurial". For example:
sudo apt-get install mercurial
To get a source snapshot from bitbucket run:
hg clone https://bitbucket.org/MakeHuman/makehuman
cd makehuman
hg update -C stable
== Setting up the environment on MacOSX ==
To get the sources you need to either install hg or grab the very useful mercurial/git gui [https://www.sourcetreeapp.com SourceTree].
After you install the SourceTree app just go to the [https://bitbucket.org/MakeHuman/makehuman MakeHuman project on BitBucket] and click on the download icon in the upper right corner who's mouseover says 'Clone in SourceTree'
Now that you have the source you need to get a python that supports the libraries/modules listed above. The easiest way to get a working python and needed libraries installed on your mac is via [http://brew.sh Brew].
After you install and/or update brew with the instructions on that site do the following:
brew install python
brew search qt
On my system that showed the a list of different things to install, what you are looking for is qt4 and pyqt4. The entries that matched that for me were:
brew install cartr/qt4/qt
brew install cartr/qt4/pyqt
This will install dependencies like sip, etc as well if needed. If it says it's missing dependencies ( say sip ) do a search on those dependencies and install the right versions. Note that you do not run brew as root, it's files are all owned by you.
Once that is complete you should be able to follow the instructions to complete downloading, compiling the assets and pulling new versions from the repository ( via SourceTree if that is what you used ).
== Download and compilation scripts ==
Once you have an environment with the dependencies installed, and a source snapshot, there are a few scripts that should normally be run. They are available in the "makehuman" directory and
should probably be run in this order:
* download_assets.py (this is required, and will dowload all clothes etc)
* compile_targets.py (these three are optional but will make starting makehuman faster)
* compile_models.py
* compile_proxies.py
== Starting makehuman ==
With all the above, simply run the "makehuman.py" script either by double-clicking on it or by executing it from a console prompt.
d55db5e5f44304f4f82f0420961d24c663e2582f
1231
1230
2016-11-17T19:36:26Z
Tenuki
36
/* Setting up the environment on MacOSX */
wikitext
text/x-wiki
== Overview ==
There are several reasons why you might want to run MakeHuman from a source snapshot from BitBucket rather than use one of the pre-built packages:
* This makes it easy to update and get the latest features
* You get full access to all assets (in the builds the assets are only available in compiled archives)
* It's possible there is no functional pre-built package for your platform.
In order to run from source, you need the following:
* Get a source snapshot from BitBucket
* Install/setup a python environment with [http://www.python.org python 2.7] (python later than 2.7 will not work) and the following dependencies installed:
** [http://sourceforge.net/projects/numpy/files/NumPy/ NumPy]
** [http://pyopengl.sourceforge.net/ PyOpenGL]
** [http://www.riverbankcomputing.com/software/pyqt PyQT] (the required version is pyqt for qt4, qt5 is not supported)
* Run the script for downloading assets (this is described in a section at the bottom of the page, after the platform specific notes)
* (optionally) run the scripts for compiling assets
== Getting the source from Bitbucket ==
At this point in time it's recommended you run from the "stable" branch. If you're feeling adventurous, you can run "default", but in more cases than not this will crash for you.
The quickest way to get the source is to download is as a zip at https://bitbucket.org/MakeHuman/makehuman/get/stable.zip
However, if you plan to update in the future, you will want to install a [https://www.mercurial-scm.org/ mercurial] client and check out a source clone. This looks different depending on platform.
== Setting up the environment on Windows ==
Setting up the environment on Windows is normally somewhat cumbersome.
There is a tutorial video on how to do this, but the links in the video are outdated. Rather than downloading all the dependencies in a big zip file, you will need to download them
separately from the links above. However, in the video you can see what they should be named approximately.
{{#ev:youtube|3CCHGX-6Mtk}}
'''IMPORTANT:''' You ''must'' install the same architecture (32-bit or 64-bit) for all packages. While it's possible that you can find 64-bit packages for everything, it's probably easier to go for 32-bit packages even on a 64-bit system.
There are several mercurial clients for windows, but one of the more popular ones is [http://tortoisehg.bitbucket.org/ TortoiseHG].
== Setting up the environment on Linux ==
Running from source on Linux is generally trivial since all the dependencies are available via the package management.
For Ubuntu and Debian, there is [https://bitbucket.org/MakeHuman/makehuman/src/179e10c2b9440f73f6d154839e8720e1dccf39cd/buildscripts/deb/install_deb_dependencies.bash?at=stable&fileviewer=file-view-default a script] for installing all the required dependencies.
If you are not using a debian derivate, you will need to figure out that the dependencies are called on your platform. You will probably want at least:
* python 2.7
* python-numpy
* python-opengl
* qt4
* python-qt4
* python-qt4-gl
For example on ubuntu:
sudo apt-get install python-numpy python-opengl python-qt4 python-qt4-gl
Usually it is not necessary to install python, since most Linux distributions have python preinstalled. Currently MakeHuman depends on python2.7 (a port to python3 has been started). In the future python2 might not be pre-installed anymore, so make sure python2 is on your system:
python2 --version
The mercurial client is also available in most linux distributions. In ubuntu it's called "mercurial". For example:
sudo apt-get install mercurial
To get a source snapshot from bitbucket run:
hg clone https://bitbucket.org/MakeHuman/makehuman
cd makehuman
hg update -C stable
== Setting up the environment on MacOSX ==
To get the sources you need to either install hg or grab the very useful mercurial/git gui [https://www.sourcetreeapp.com SourceTree].
After you install the SourceTree app just go to the [https://bitbucket.org/MakeHuman/makehuman MakeHuman project on BitBucket] and click on the download icon in the upper right corner who's mouseover says 'Clone in SourceTree'
Now that you have the source you need to get a python that supports the libraries/modules listed above. The easiest way to get a working python and needed libraries installed on your mac is via [http://brew.sh Brew].
After you install and/or update brew with the instructions on that site do the following:
brew search qt
On my system that showed the a list of different things to install, what you are looking for is qt4 and pyqt4. The entries that matched that for me were:
brew install cartr/qt4/qt
brew install cartr/qt4/pyqt
This will install dependencies like sip, etc as well if needed. If it says it's missing dependencies ( say sip ) do a search on those dependencies and install the right versions. Note that you do not run brew as root, it's files are all owned by you.
Once that is complete you should be able to follow the instructions to complete downloading, compiling the assets and pulling new versions from the repository ( via SourceTree if that is what you used ).
== Download and compilation scripts ==
Once you have an environment with the dependencies installed, and a source snapshot, there are a few scripts that should normally be run. They are available in the "makehuman" directory and
should probably be run in this order:
* download_assets.py (this is required, and will dowload all clothes etc)
* compile_targets.py (these three are optional but will make starting makehuman faster)
* compile_models.py
* compile_proxies.py
== Starting makehuman ==
With all the above, simply run the "makehuman.py" script either by double-clicking on it or by executing it from a console prompt.
ac91e22c4f0b612b3cc311492745b489d7616325
1230
1229
2016-11-17T19:17:55Z
Tenuki
36
/* Setting up the environment on MacOSX */
wikitext
text/x-wiki
== Overview ==
There are several reasons why you might want to run MakeHuman from a source snapshot from BitBucket rather than use one of the pre-built packages:
* This makes it easy to update and get the latest features
* You get full access to all assets (in the builds the assets are only available in compiled archives)
* It's possible there is no functional pre-built package for your platform.
In order to run from source, you need the following:
* Get a source snapshot from BitBucket
* Install/setup a python environment with [http://www.python.org python 2.7] (python later than 2.7 will not work) and the following dependencies installed:
** [http://sourceforge.net/projects/numpy/files/NumPy/ NumPy]
** [http://pyopengl.sourceforge.net/ PyOpenGL]
** [http://www.riverbankcomputing.com/software/pyqt PyQT] (the required version is pyqt for qt4, qt5 is not supported)
* Run the script for downloading assets (this is described in a section at the bottom of the page, after the platform specific notes)
* (optionally) run the scripts for compiling assets
== Getting the source from Bitbucket ==
At this point in time it's recommended you run from the "stable" branch. If you're feeling adventurous, you can run "default", but in more cases than not this will crash for you.
The quickest way to get the source is to download is as a zip at https://bitbucket.org/MakeHuman/makehuman/get/stable.zip
However, if you plan to update in the future, you will want to install a [https://www.mercurial-scm.org/ mercurial] client and check out a source clone. This looks different depending on platform.
== Setting up the environment on Windows ==
Setting up the environment on Windows is normally somewhat cumbersome.
There is a tutorial video on how to do this, but the links in the video are outdated. Rather than downloading all the dependencies in a big zip file, you will need to download them
separately from the links above. However, in the video you can see what they should be named approximately.
{{#ev:youtube|3CCHGX-6Mtk}}
'''IMPORTANT:''' You ''must'' install the same architecture (32-bit or 64-bit) for all packages. While it's possible that you can find 64-bit packages for everything, it's probably easier to go for 32-bit packages even on a 64-bit system.
There are several mercurial clients for windows, but one of the more popular ones is [http://tortoisehg.bitbucket.org/ TortoiseHG].
== Setting up the environment on Linux ==
Running from source on Linux is generally trivial since all the dependencies are available via the package management.
For Ubuntu and Debian, there is [https://bitbucket.org/MakeHuman/makehuman/src/179e10c2b9440f73f6d154839e8720e1dccf39cd/buildscripts/deb/install_deb_dependencies.bash?at=stable&fileviewer=file-view-default a script] for installing all the required dependencies.
If you are not using a debian derivate, you will need to figure out that the dependencies are called on your platform. You will probably want at least:
* python 2.7
* python-numpy
* python-opengl
* qt4
* python-qt4
* python-qt4-gl
For example on ubuntu:
sudo apt-get install python-numpy python-opengl python-qt4 python-qt4-gl
Usually it is not necessary to install python, since most Linux distributions have python preinstalled. Currently MakeHuman depends on python2.7 (a port to python3 has been started). In the future python2 might not be pre-installed anymore, so make sure python2 is on your system:
python2 --version
The mercurial client is also available in most linux distributions. In ubuntu it's called "mercurial". For example:
sudo apt-get install mercurial
To get a source snapshot from bitbucket run:
hg clone https://bitbucket.org/MakeHuman/makehuman
cd makehuman
hg update -C stable
== Setting up the environment on MacOSX ==
To get the sources you need to either install hg or grab the very useful mercurial/git gui [https://www.sourcetreeapp.com SourceTree].
After you install the app just go to the [https://bitbucket.org/MakeHuman/makehuman MakeHuman project on BitBucket] and click on the download icon in the upper right corner who's mouseover says 'Clone in SourceTree'
Now that you have the source you need to get a python that supports the libraries/modules listed above. The easiest way to get a working python and needed libraries installed on your mac is via [http://brew.sh Brew].
After you install and/or update brew with the instructions on that site do the following:
brew search qt
On my system that showed the a list of different things to install, what you are looking for is qt4 and pyqt4. The entries that matched that for me were:
brew install cartr/qt4/qt
brew install cartr/qt4/pyqt
This will install dependencies like sip, etc as well if needed. If it says it's missing dependencies ( say sip ) do a search on those dependencies and install the right versions. Note that you do not run brew as root, it's files are all owned by you.
Once that is complete you should be able to follow the instructions to complete downloading, compiling the assets and pulling new versions from the repository ( via SourceTree if that is what you used ).
== Download and compilation scripts ==
Once you have an environment with the dependencies installed, and a source snapshot, there are a few scripts that should normally be run. They are available in the "makehuman" directory and
should probably be run in this order:
* download_assets.py (this is required, and will dowload all clothes etc)
* compile_targets.py (these three are optional but will make starting makehuman faster)
* compile_models.py
* compile_proxies.py
== Starting makehuman ==
With all the above, simply run the "makehuman.py" script either by double-clicking on it or by executing it from a console prompt.
15b048baba21aba825b7c010f0bad462ed65afc6
1229
1228
2016-11-17T19:17:07Z
Tenuki
36
/* Setting up the environment on MacOSX */
wikitext
text/x-wiki
== Overview ==
There are several reasons why you might want to run MakeHuman from a source snapshot from BitBucket rather than use one of the pre-built packages:
* This makes it easy to update and get the latest features
* You get full access to all assets (in the builds the assets are only available in compiled archives)
* It's possible there is no functional pre-built package for your platform.
In order to run from source, you need the following:
* Get a source snapshot from BitBucket
* Install/setup a python environment with [http://www.python.org python 2.7] (python later than 2.7 will not work) and the following dependencies installed:
** [http://sourceforge.net/projects/numpy/files/NumPy/ NumPy]
** [http://pyopengl.sourceforge.net/ PyOpenGL]
** [http://www.riverbankcomputing.com/software/pyqt PyQT] (the required version is pyqt for qt4, qt5 is not supported)
* Run the script for downloading assets (this is described in a section at the bottom of the page, after the platform specific notes)
* (optionally) run the scripts for compiling assets
== Getting the source from Bitbucket ==
At this point in time it's recommended you run from the "stable" branch. If you're feeling adventurous, you can run "default", but in more cases than not this will crash for you.
The quickest way to get the source is to download is as a zip at https://bitbucket.org/MakeHuman/makehuman/get/stable.zip
However, if you plan to update in the future, you will want to install a [https://www.mercurial-scm.org/ mercurial] client and check out a source clone. This looks different depending on platform.
== Setting up the environment on Windows ==
Setting up the environment on Windows is normally somewhat cumbersome.
There is a tutorial video on how to do this, but the links in the video are outdated. Rather than downloading all the dependencies in a big zip file, you will need to download them
separately from the links above. However, in the video you can see what they should be named approximately.
{{#ev:youtube|3CCHGX-6Mtk}}
'''IMPORTANT:''' You ''must'' install the same architecture (32-bit or 64-bit) for all packages. While it's possible that you can find 64-bit packages for everything, it's probably easier to go for 32-bit packages even on a 64-bit system.
There are several mercurial clients for windows, but one of the more popular ones is [http://tortoisehg.bitbucket.org/ TortoiseHG].
== Setting up the environment on Linux ==
Running from source on Linux is generally trivial since all the dependencies are available via the package management.
For Ubuntu and Debian, there is [https://bitbucket.org/MakeHuman/makehuman/src/179e10c2b9440f73f6d154839e8720e1dccf39cd/buildscripts/deb/install_deb_dependencies.bash?at=stable&fileviewer=file-view-default a script] for installing all the required dependencies.
If you are not using a debian derivate, you will need to figure out that the dependencies are called on your platform. You will probably want at least:
* python 2.7
* python-numpy
* python-opengl
* qt4
* python-qt4
* python-qt4-gl
For example on ubuntu:
sudo apt-get install python-numpy python-opengl python-qt4 python-qt4-gl
Usually it is not necessary to install python, since most Linux distributions have python preinstalled. Currently MakeHuman depends on python2.7 (a port to python3 has been started). In the future python2 might not be pre-installed anymore, so make sure python2 is on your system:
python2 --version
The mercurial client is also available in most linux distributions. In ubuntu it's called "mercurial". For example:
sudo apt-get install mercurial
To get a source snapshot from bitbucket run:
hg clone https://bitbucket.org/MakeHuman/makehuman
cd makehuman
hg update -C stable
== Setting up the environment on MacOSX ==
To get the sources you need to either install hg or grab the very useful mercurial/git gui [https://www.sourcetreeapp.com SourceTree].
After you install the app just go to the [https://bitbucket.org/MakeHuman/makehuman MakeHuman project on BitBucket] and click on the download icon in the upper right corner who's mouseover says 'Clone in SourceTree'
Now that you have the source you need to get a python that supports the libraries/modules listed above. The easiest way to get a working python and needed libraries installed on your mac is via [http://brew.sh Brew].
After you install and/or update brew with the instructions on that site do the following:
brew search qt
On my system that showed the a list of different things to install, what you are looking for is qt4 and pyqt4. The entries that matched that for me were:
brew install cartr/qt4/qt
brew install cartr/qt4/pyqt
This will install dependencies like sip, etc as well. If it says it's missing dependencies ( say sip ) do a search on those dependencies and install the right versions. Note that you do not run brew as root, it's files are all owned by you.
Once that is complete you should be able to follow the instructions to complete downloading, compiling the assets and pulling new versions from the repository ( via SourceTree if that is what you used ).
== Download and compilation scripts ==
Once you have an environment with the dependencies installed, and a source snapshot, there are a few scripts that should normally be run. They are available in the "makehuman" directory and
should probably be run in this order:
* download_assets.py (this is required, and will dowload all clothes etc)
* compile_targets.py (these three are optional but will make starting makehuman faster)
* compile_models.py
* compile_proxies.py
== Starting makehuman ==
With all the above, simply run the "makehuman.py" script either by double-clicking on it or by executing it from a console prompt.
1bec07c96197c3f8fba31eb50c6f2a4fd81969a9
1228
1227
2016-11-17T19:14:26Z
Tenuki
36
/* Setting up the environment on MacOSX */
wikitext
text/x-wiki
== Overview ==
There are several reasons why you might want to run MakeHuman from a source snapshot from BitBucket rather than use one of the pre-built packages:
* This makes it easy to update and get the latest features
* You get full access to all assets (in the builds the assets are only available in compiled archives)
* It's possible there is no functional pre-built package for your platform.
In order to run from source, you need the following:
* Get a source snapshot from BitBucket
* Install/setup a python environment with [http://www.python.org python 2.7] (python later than 2.7 will not work) and the following dependencies installed:
** [http://sourceforge.net/projects/numpy/files/NumPy/ NumPy]
** [http://pyopengl.sourceforge.net/ PyOpenGL]
** [http://www.riverbankcomputing.com/software/pyqt PyQT] (the required version is pyqt for qt4, qt5 is not supported)
* Run the script for downloading assets (this is described in a section at the bottom of the page, after the platform specific notes)
* (optionally) run the scripts for compiling assets
== Getting the source from Bitbucket ==
At this point in time it's recommended you run from the "stable" branch. If you're feeling adventurous, you can run "default", but in more cases than not this will crash for you.
The quickest way to get the source is to download is as a zip at https://bitbucket.org/MakeHuman/makehuman/get/stable.zip
However, if you plan to update in the future, you will want to install a [https://www.mercurial-scm.org/ mercurial] client and check out a source clone. This looks different depending on platform.
== Setting up the environment on Windows ==
Setting up the environment on Windows is normally somewhat cumbersome.
There is a tutorial video on how to do this, but the links in the video are outdated. Rather than downloading all the dependencies in a big zip file, you will need to download them
separately from the links above. However, in the video you can see what they should be named approximately.
{{#ev:youtube|3CCHGX-6Mtk}}
'''IMPORTANT:''' You ''must'' install the same architecture (32-bit or 64-bit) for all packages. While it's possible that you can find 64-bit packages for everything, it's probably easier to go for 32-bit packages even on a 64-bit system.
There are several mercurial clients for windows, but one of the more popular ones is [http://tortoisehg.bitbucket.org/ TortoiseHG].
== Setting up the environment on Linux ==
Running from source on Linux is generally trivial since all the dependencies are available via the package management.
For Ubuntu and Debian, there is [https://bitbucket.org/MakeHuman/makehuman/src/179e10c2b9440f73f6d154839e8720e1dccf39cd/buildscripts/deb/install_deb_dependencies.bash?at=stable&fileviewer=file-view-default a script] for installing all the required dependencies.
If you are not using a debian derivate, you will need to figure out that the dependencies are called on your platform. You will probably want at least:
* python 2.7
* python-numpy
* python-opengl
* qt4
* python-qt4
* python-qt4-gl
For example on ubuntu:
sudo apt-get install python-numpy python-opengl python-qt4 python-qt4-gl
Usually it is not necessary to install python, since most Linux distributions have python preinstalled. Currently MakeHuman depends on python2.7 (a port to python3 has been started). In the future python2 might not be pre-installed anymore, so make sure python2 is on your system:
python2 --version
The mercurial client is also available in most linux distributions. In ubuntu it's called "mercurial". For example:
sudo apt-get install mercurial
To get a source snapshot from bitbucket run:
hg clone https://bitbucket.org/MakeHuman/makehuman
cd makehuman
hg update -C stable
== Setting up the environment on MacOSX ==
To get the sources you need to either install hg or grab the very useful gui [https://www.sourcetreeapp.com SourceTree]. After you install the app just go to the [https://bitbucket.org/MakeHuman/makehuman MakeHuman project on BitBucket] and click on the download icon in the upper right corner who's mouseover says 'Clone in SourceTree'
Now that you have the source you need to get a python that supports the libraries/modules listed above.
The easiest way to get a working python and needed libraries installed on your mac is via [brew][http://brew.sh].
After you install and/or update brew with the instructions on that site do the following:
brew search qt
On my system that showed the a list of different things to install, what you are looking for is qt4 and pyqt4. The entries that matched that for me were:
brew install cartr/qt4/qt
brew install cartr/qt4/pyqt
This will install dependencies like sip, etc as well. If it says it's missing dependencies ( say sip ) do a search on those dependencies and install the right versions. Note that you do not run brew as root, it's files are all owned by you.
Once that is complete you should be able to follow the instructions to complete downloading, compiling the assets and pulling new versions from the repository ( via SourceTree if that is what you used ).
== Download and compilation scripts ==
Once you have an environment with the dependencies installed, and a source snapshot, there are a few scripts that should normally be run. They are available in the "makehuman" directory and
should probably be run in this order:
* download_assets.py (this is required, and will dowload all clothes etc)
* compile_targets.py (these three are optional but will make starting makehuman faster)
* compile_models.py
* compile_proxies.py
== Starting makehuman ==
With all the above, simply run the "makehuman.py" script either by double-clicking on it or by executing it from a console prompt.
4866c375acbf632b14bbf087132ed212f72566ca
1227
1208
2016-11-17T19:11:22Z
Tenuki
36
/* Setting up the environment on MacOSX */
wikitext
text/x-wiki
== Overview ==
There are several reasons why you might want to run MakeHuman from a source snapshot from BitBucket rather than use one of the pre-built packages:
* This makes it easy to update and get the latest features
* You get full access to all assets (in the builds the assets are only available in compiled archives)
* It's possible there is no functional pre-built package for your platform.
In order to run from source, you need the following:
* Get a source snapshot from BitBucket
* Install/setup a python environment with [http://www.python.org python 2.7] (python later than 2.7 will not work) and the following dependencies installed:
** [http://sourceforge.net/projects/numpy/files/NumPy/ NumPy]
** [http://pyopengl.sourceforge.net/ PyOpenGL]
** [http://www.riverbankcomputing.com/software/pyqt PyQT] (the required version is pyqt for qt4, qt5 is not supported)
* Run the script for downloading assets (this is described in a section at the bottom of the page, after the platform specific notes)
* (optionally) run the scripts for compiling assets
== Getting the source from Bitbucket ==
At this point in time it's recommended you run from the "stable" branch. If you're feeling adventurous, you can run "default", but in more cases than not this will crash for you.
The quickest way to get the source is to download is as a zip at https://bitbucket.org/MakeHuman/makehuman/get/stable.zip
However, if you plan to update in the future, you will want to install a [https://www.mercurial-scm.org/ mercurial] client and check out a source clone. This looks different depending on platform.
== Setting up the environment on Windows ==
Setting up the environment on Windows is normally somewhat cumbersome.
There is a tutorial video on how to do this, but the links in the video are outdated. Rather than downloading all the dependencies in a big zip file, you will need to download them
separately from the links above. However, in the video you can see what they should be named approximately.
{{#ev:youtube|3CCHGX-6Mtk}}
'''IMPORTANT:''' You ''must'' install the same architecture (32-bit or 64-bit) for all packages. While it's possible that you can find 64-bit packages for everything, it's probably easier to go for 32-bit packages even on a 64-bit system.
There are several mercurial clients for windows, but one of the more popular ones is [http://tortoisehg.bitbucket.org/ TortoiseHG].
== Setting up the environment on Linux ==
Running from source on Linux is generally trivial since all the dependencies are available via the package management.
For Ubuntu and Debian, there is [https://bitbucket.org/MakeHuman/makehuman/src/179e10c2b9440f73f6d154839e8720e1dccf39cd/buildscripts/deb/install_deb_dependencies.bash?at=stable&fileviewer=file-view-default a script] for installing all the required dependencies.
If you are not using a debian derivate, you will need to figure out that the dependencies are called on your platform. You will probably want at least:
* python 2.7
* python-numpy
* python-opengl
* qt4
* python-qt4
* python-qt4-gl
For example on ubuntu:
sudo apt-get install python-numpy python-opengl python-qt4 python-qt4-gl
Usually it is not necessary to install python, since most Linux distributions have python preinstalled. Currently MakeHuman depends on python2.7 (a port to python3 has been started). In the future python2 might not be pre-installed anymore, so make sure python2 is on your system:
python2 --version
The mercurial client is also available in most linux distributions. In ubuntu it's called "mercurial". For example:
sudo apt-get install mercurial
To get a source snapshot from bitbucket run:
hg clone https://bitbucket.org/MakeHuman/makehuman
cd makehuman
hg update -C stable
== Setting up the environment on MacOSX ==
To get the sources you need to either install hg or grab the very useful gui [Source Tree][https://www.sourcetreeapp.com]. After you install the app just go to the [bitbucket project][https://bitbucket.org/MakeHuman/makehuman] and click on the download icon in the upper right corner who's mouseover says 'Clone in SourceTree'
Now that you have the source you need to get a python that supports the libraries/modules listed above.
The easiest way to get a working python and needed libraries installed on your mac is via [brew][http://brew.sh].
After you install and/or update brew with the instructions on that site do the following:
'brew search qt'
On my system that showed the a list of different things to install, what you are looking for is qt4 and pyqt4. The entries that matched that for me were:
brew install cartr/qt4/qt
brew install cartr/qt4/pyqt
This will install dependencies like sip, etc as well. If it says it's missing dependencies ( say sip ) do a search on those dependencies and install the right versions. Note that you do not run brew as root, it's files are all owned by you.
Once that is complete you should be able to follow the instructions to complete downloading, compiling the assets and pulling new versions from the repository ( via SourceTree if that is what you used ).
== Download and compilation scripts ==
Once you have an environment with the dependencies installed, and a source snapshot, there are a few scripts that should normally be run. They are available in the "makehuman" directory and
should probably be run in this order:
* download_assets.py (this is required, and will dowload all clothes etc)
* compile_targets.py (these three are optional but will make starting makehuman faster)
* compile_models.py
* compile_proxies.py
== Starting makehuman ==
With all the above, simply run the "makehuman.py" script either by double-clicking on it or by executing it from a console prompt.
0bb4bbf6b347502baa6913390cd2d8ac27a2d52b
1208
997
2016-10-22T13:16:19Z
Aranuvir
17
wikitext
text/x-wiki
== Overview ==
There are several reasons why you might want to run MakeHuman from a source snapshot from BitBucket rather than use one of the pre-built packages:
* This makes it easy to update and get the latest features
* You get full access to all assets (in the builds the assets are only available in compiled archives)
* It's possible there is no functional pre-built package for your platform.
In order to run from source, you need the following:
* Get a source snapshot from BitBucket
* Install/setup a python environment with [http://www.python.org python 2.7] (python later than 2.7 will not work) and the following dependencies installed:
** [http://sourceforge.net/projects/numpy/files/NumPy/ NumPy]
** [http://pyopengl.sourceforge.net/ PyOpenGL]
** [http://www.riverbankcomputing.com/software/pyqt PyQT] (the required version is pyqt for qt4, qt5 is not supported)
* Run the script for downloading assets (this is described in a section at the bottom of the page, after the platform specific notes)
* (optionally) run the scripts for compiling assets
== Getting the source from Bitbucket ==
At this point in time it's recommended you run from the "stable" branch. If you're feeling adventurous, you can run "default", but in more cases than not this will crash for you.
The quickest way to get the source is to download is as a zip at https://bitbucket.org/MakeHuman/makehuman/get/stable.zip
However, if you plan to update in the future, you will want to install a [https://www.mercurial-scm.org/ mercurial] client and check out a source clone. This looks different depending on platform.
== Setting up the environment on Windows ==
Setting up the environment on Windows is normally somewhat cumbersome.
There is a tutorial video on how to do this, but the links in the video are outdated. Rather than downloading all the dependencies in a big zip file, you will need to download them
separately from the links above. However, in the video you can see what they should be named approximately.
{{#ev:youtube|3CCHGX-6Mtk}}
'''IMPORTANT:''' You ''must'' install the same architecture (32-bit or 64-bit) for all packages. While it's possible that you can find 64-bit packages for everything, it's probably easier to go for 32-bit packages even on a 64-bit system.
There are several mercurial clients for windows, but one of the more popular ones is [http://tortoisehg.bitbucket.org/ TortoiseHG].
== Setting up the environment on Linux ==
Running from source on Linux is generally trivial since all the dependencies are available via the package management.
For Ubuntu and Debian, there is [https://bitbucket.org/MakeHuman/makehuman/src/179e10c2b9440f73f6d154839e8720e1dccf39cd/buildscripts/deb/install_deb_dependencies.bash?at=stable&fileviewer=file-view-default a script] for installing all the required dependencies.
If you are not using a debian derivate, you will need to figure out that the dependencies are called on your platform. You will probably want at least:
* python 2.7
* python-numpy
* python-opengl
* qt4
* python-qt4
* python-qt4-gl
For example on ubuntu:
sudo apt-get install python-numpy python-opengl python-qt4 python-qt4-gl
Usually it is not necessary to install python, since most Linux distributions have python preinstalled. Currently MakeHuman depends on python2.7 (a port to python3 has been started). In the future python2 might not be pre-installed anymore, so make sure python2 is on your system:
python2 --version
The mercurial client is also available in most linux distributions. In ubuntu it's called "mercurial". For example:
sudo apt-get install mercurial
To get a source snapshot from bitbucket run:
hg clone https://bitbucket.org/MakeHuman/makehuman
cd makehuman
hg update -C stable
== Setting up the environment on MacOSX ==
(to be written)
== Download and compilation scripts ==
Once you have an environment with the dependencies installed, and a source snapshot, there are a few scripts that should normally be run. They are available in the "makehuman" directory and
should probably be run in this order:
* download_assets.py (this is required, and will dowload all clothes etc)
* compile_targets.py (these three are optional but will make starting makehuman faster)
* compile_models.py
* compile_proxies.py
== Starting makehuman ==
With all the above, simply run the "makehuman.py" script either by double-clicking on it or by executing it from a console prompt.
ad6a71d9afe93ce83d35408c74b218b8ae5ebe5b
997
995
2016-05-31T10:30:32Z
Aranuvir
17
wikitext
text/x-wiki
== Overview ==
There are several reasons why you might want to run MakeHuman from a source snapshot from BitBucket rather than use one of the pre-built packages:
* This makes it easy to update and get the latest features
* You get full access to all assets (in the builds the assets are only available in compiled archives)
* It's possible there is no functional pre-built package for your platform.
In order to run from source, you need the following:
* Get a source snapshot from BitBucket
* Install/setup a python environment with [http://www.python.org python 2.7] (python later than 2.7 will not work) and the following dependencies installed:
** [http://sourceforge.net/projects/numpy/files/NumPy/ NumPy]
** [http://pyopengl.sourceforge.net/ PyOpenGL]
** [http://www.riverbankcomputing.com/software/pyqt PyQT] (the required version is pyqt for qt4, qt5 is not supported)
* Run the script for downloading assets (this is described in a section at the bottom of the page, after the platform specific notes)
* (optionally) run the scripts for compiling assets
== Getting the source from Bitbucket ==
At this point in time it's recommended you run from the "stable" branch. If you're feeling adventurous, you can run "default", but in more cases than not this will crash for you.
The quickest way to get the source is to download is as a zip at https://bitbucket.org/MakeHuman/makehuman/get/stable.zip
However, if you plan to update in the future, you will want to install a [https://www.mercurial-scm.org/ mercurial] client and check out a source clone. This looks different depending on platform.
== Setting up the environment on Windows ==
Setting up the environment on Windows is normally somewhat cumbersome.
There is a tutorial video on how to do this, but the links in the video are outdated. Rather than downloading all the dependencies in a big zip file, you will need to download them
separately from the links above. However, in the video you can see what they should be named approximately.
{{#ev:youtube|3CCHGX-6Mtk}}
'''IMPORTANT:''' You ''must'' install the same architecture (32-bit or 64-bit) for all packages. While it's possible that you can find 64-bit packages for everything, it's probably easier to go for 32-bit packages even on a 64-bit system.
There are several mercurial clients for windows, but one of the more popular ones is [http://tortoisehg.bitbucket.org/ TortoiseHG].
== Setting up the environment on Linux ==
Running from source on Linux is generally trivial since all the dependencies are available via the package management.
For Ubuntu and Debian, there is [https://bitbucket.org/MakeHuman/makehuman/src/179e10c2b9440f73f6d154839e8720e1dccf39cd/buildscripts/deb/install_deb_dependencies.bash?at=stable&fileviewer=file-view-default a script] for installing all the required dependencies.
If you are not using a debian derivate, you will need to figure out that the dependencies are called on your platform. You will probably want at least:
* python 2.7
* python-numpy
* python-opengl
* qt4
* python-qt4
* python-qt4-gl
For example on ubuntu:
sudo apt-get install python python-numpy python-opengl qt4 python-qt4 python-qt4-gl
The mercurial client is also available in most linux distributions. In ubuntu it's called "mercurial". For example:
sudo apt-get install mercurial
To get a source snapshot from bitbucket run:
hg clone https://bitbucket.org/MakeHuman/makehuman
cd makehuman
hg update -C stable
== Setting up the environment on MacOSX ==
(to be written)
== Download and compilation scripts ==
Once you have an environment with the dependencies installed, and a source snapshot, there are a few scripts that should normally be run. They are available in the "makehuman" directory and
should probably be run in this order:
* download_assets.py (this is required, and will dowload all clothes etc)
* compile_targets.py (these three are optional but will make starting makehuman faster)
* compile_models.py
* compile_proxies.py
== Starting makehuman ==
With all the above, simply run the "makehuman.py" script either by double-clicking on it or by executing it from a console prompt.
d6ab4cd6042834104c37044de7875b8fa195740e
995
991
2016-05-31T08:48:27Z
Joepal
14
/* Setting up the environment on Windows */
wikitext
text/x-wiki
== Overview ==
There are several reasons why you might want to run MakeHuman from a source snapshot from BitBucket rather than use one of the pre-built packages:
* This makes it easy to update and get the latest features
* You get full access to all assets (in the builds the assets are only available in compiled archives)
* It's possible there is no functional pre-built package for your platform.
In order to run from source, you need the following:
* Get a source snapshot from BitBucket
* Install/setup a python environment with [http://www.python.org python 2.7] (python later than 2.7 will not work) and the following dependencies installed:
** [http://sourceforge.net/projects/numpy/files/NumPy/ NumPy]
** [http://pyopengl.sourceforge.net/ PyOpenGL]
** [http://www.riverbankcomputing.com/software/pyqt PyQT] (the required version is pyqt for qt4, qt5 is not supported)
* Run the script for downloading assets (this is described in a section at the bottom of the page, after the platform specific notes)
* (optionally) run the scripts for compiling assets
== Getting the source from Bitbucket ==
At this point in time it's recommended you run from the "stable" branch. If you're feeling adventurous, you can run "default", but in more cases than not this will crash for you.
The quickest way to get the source is to download is as a zip at https://bitbucket.org/MakeHuman/makehuman/get/stable.zip
However, if you plan to update in the future, you will want to install a [https://www.mercurial-scm.org/ mercurial] client and check out a source clone. This looks different depending on platform.
== Setting up the environment on Windows ==
Setting up the environment on Windows is normally somewhat cumbersome.
There is a tutorial video on how to do this, but the links in the video are outdated. Rather than downloading all the dependencies in a big zip file, you will need to download them
separately from the links above. However, in the video you can see what they should be named approximately.
{{#ev:youtube|3CCHGX-6Mtk}}
'''IMPORTANT:''' You ''must'' install the same "bittiness" (32-bit or 64-bit) för all packages. While it's possible that you can find 64-bit packages for everything, it's probably easier to go for 32-bit packages even on a 64-bit system.
There are several mercurial clients for windows, but one of the more popular ones is [http://tortoisehg.bitbucket.org/ TortoiseHG].
== Setting up the environment on Linux ==
Running from source on Linux is generally trivial since all the dependencies are available via the package management.
For Ubuntu and Debian, there is [https://bitbucket.org/MakeHuman/makehuman/src/179e10c2b9440f73f6d154839e8720e1dccf39cd/buildscripts/deb/install_deb_dependencies.bash?at=stable&fileviewer=file-view-default a script] for installing all the required dependencies.
If you are not using a debian derivate, you will need to figure out that the dependencies are called on your platform. You will probably want at least:
* python 2.7
* python-numpy
* python-opengl
* qt4
* python-qt4
* python-qt4-gl
For example on ubuntu:
sudo apt-get install python python-numpy python-opengl qt4 python-qt4 python-qt4-gl
The mercurial client is also available in most linux distributions. In ubuntu it's called "mercurial". For example:
sudo apt-get install mercurial
To get a source snapshot from bitbucket run:
hg clone https://bitbucket.org/MakeHuman/makehuman
cd makehuman
hg update -C stable
== Setting up the environment on MacOSX ==
(to be written)
== Download and compilation scripts ==
Once you have an environment with the dependencies installed, and a source snapshot, there are a few scripts that should normally be run. They are available in the "makehuman" directory and
should probably be run in this order:
* download_assets.py (this is required, and will dowload all clothes etc)
* compile_targets.py (these three are optional but will make starting makehuman faster)
* compile_models.py
* compile_proxies.py
== Starting makehuman ==
With all the above, simply run the "makehuman.py" script either by double-clicking on it or by executing it from a console prompt.
20506a8dbb02fb67df9d207bf9ace5aba5b5e564
991
990
2016-05-31T08:34:34Z
Joepal
14
wikitext
text/x-wiki
== Overview ==
There are several reasons why you might want to run MakeHuman from a source snapshot from BitBucket rather than use one of the pre-built packages:
* This makes it easy to update and get the latest features
* You get full access to all assets (in the builds the assets are only available in compiled archives)
* It's possible there is no functional pre-built package for your platform.
In order to run from source, you need the following:
* Get a source snapshot from BitBucket
* Install/setup a python environment with [http://www.python.org python 2.7] (python later than 2.7 will not work) and the following dependencies installed:
** [http://sourceforge.net/projects/numpy/files/NumPy/ NumPy]
** [http://pyopengl.sourceforge.net/ PyOpenGL]
** [http://www.riverbankcomputing.com/software/pyqt PyQT] (the required version is pyqt for qt4, qt5 is not supported)
* Run the script for downloading assets (this is described in a section at the bottom of the page, after the platform specific notes)
* (optionally) run the scripts for compiling assets
== Getting the source from Bitbucket ==
At this point in time it's recommended you run from the "stable" branch. If you're feeling adventurous, you can run "default", but in more cases than not this will crash for you.
The quickest way to get the source is to download is as a zip at https://bitbucket.org/MakeHuman/makehuman/get/stable.zip
However, if you plan to update in the future, you will want to install a [https://www.mercurial-scm.org/ mercurial] client and check out a source clone. This looks different depending on platform.
== Setting up the environment on Windows ==
Setting up the environment on Windows is normally somewhat cumbersome. However, there is a tutorial video on how to do this:
{{#ev:youtube|3CCHGX-6Mtk}}
In general you will need to manually download the installation packages for all the dependencies listed above.
'''IMPORTANT:''' You ''must'' install the same "bittiness" (32-bit or 64-bit) för all packages. While it's possible that you can find 64-bit packages for everything, it's probably easier to go for 32-bit packages even on a 64-bit system.
There are several mercurial clients for windows, but one of the more popular ones is [http://tortoisehg.bitbucket.org/ TortoiseHG].
== Setting up the environment on Linux ==
Running from source on Linux is generally trivial since all the dependencies are available via the package management.
For Ubuntu and Debian, there is [https://bitbucket.org/MakeHuman/makehuman/src/179e10c2b9440f73f6d154839e8720e1dccf39cd/buildscripts/deb/install_deb_dependencies.bash?at=stable&fileviewer=file-view-default a script] for installing all the required dependencies.
If you are not using a debian derivate, you will need to figure out that the dependencies are called on your platform. You will probably want at least:
* python 2.7
* python-numpy
* python-opengl
* qt4
* python-qt4
* python-qt4-gl
For example on ubuntu:
sudo apt-get install python python-numpy python-opengl qt4 python-qt4 python-qt4-gl
The mercurial client is also available in most linux distributions. In ubuntu it's called "mercurial". For example:
sudo apt-get install mercurial
To get a source snapshot from bitbucket run:
hg clone https://bitbucket.org/MakeHuman/makehuman
cd makehuman
hg update -C stable
== Setting up the environment on MacOSX ==
(to be written)
== Download and compilation scripts ==
Once you have an environment with the dependencies installed, and a source snapshot, there are a few scripts that should normally be run. They are available in the "makehuman" directory and
should probably be run in this order:
* download_assets.py (this is required, and will dowload all clothes etc)
* compile_targets.py (these three are optional but will make starting makehuman faster)
* compile_models.py
* compile_proxies.py
== Starting makehuman ==
With all the above, simply run the "makehuman.py" script either by double-clicking on it or by executing it from a console prompt.
fc5a05f7496fd2e341c4cfba1b865bc5f0168375
990
989
2016-05-31T08:32:25Z
Joepal
14
/* Setting up the environment on Linux */
wikitext
text/x-wiki
== Overview ==
There are several reasons why you might want to run MakeHuman from a source snapshot from BitBucket rather than use one of the pre-built packages:
* This makes it easy to update and get the latest features
* You get full access to all assets (in the builds the assets are only available in compiled archives)
* It's possible there is no functional pre-built package for your platform.
In order to run from source, you need the following:
* Get a source snapshot from BitBucket
* Install/setup a python environment with [http://www.python.org python 2.7] (python later than 2.7 will not work) and the following dependencies installed:
** [http://sourceforge.net/projects/numpy/files/NumPy/ NumPy]
** [http://pyopengl.sourceforge.net/ PyOpenGL]
** [http://www.riverbankcomputing.com/software/pyqt PyQT] (the required version is pyqt for qt4, qt5 is not supported)
* Run the script for downloading assets (this is described in a section at the bottom of the page, after the platform specific notes)
* (optionally) run the scripts for compiling assets
== Getting the source from Bitbucket ==
At this point in time it's recommended you run from the "stable" branch. If you're feeling adventurous, you can run "default", but in more cases than not this will crash for you.
The quickest way to get the source is to download is as a zip at https://bitbucket.org/MakeHuman/makehuman/get/stable.zip
However, if you plan to update in the future, you will want to install a [https://www.mercurial-scm.org/ mercurial] client and check out a source clone. This looks different depending on platform.
== Setting up the environment on Windows ==
Setting up the environment on Windows is normally somewhat cumbersome. However, there is a tutorial video on how to do this:
{{#ev:youtube|3CCHGX-6Mtk}}
In general you will need to manually download the installation packages for all the dependencies listed above.
'''IMPORTANT:''' You ''must'' install the same "bittiness" (32-bit or 64-bit) för all packages. While it's possible that you can find 64-bit packages for everything, it's probably easier to go for 32-bit packages even on a 64-bit system.
There are several mercurial clients for windows, but one of the more popular ones is [http://tortoisehg.bitbucket.org/ TortoiseHG].
== Setting up the environment on Linux ==
Running from source on Linux is generally trivial since all the dependencies are available via the package management.
For Ubuntu and Debian, there is [https://bitbucket.org/MakeHuman/makehuman/src/179e10c2b9440f73f6d154839e8720e1dccf39cd/buildscripts/deb/install_deb_dependencies.bash?at=stable&fileviewer=file-view-default a script] for installing all the required dependencies.
If you are not using a debian derivate, you will need to figure out that the dependencies are called on your platform. You will probably want at least:
* python 2.7
* python-numpy
* python-opengl
* qt4
* python-qt4
* python-qt4-gl
For example on ubuntu:
sudo apt-get install python python-numpy python-opengl qt4 python-qt4 python-qt4-gl
The mercurial client is also available in most linux distributions. In ubuntu it's called "mercurial". For example:
sudo apt-get install mercurial
To get a source snapshot from bitbucket run:
hg clone https://bitbucket.org/MakeHuman/makehuman
cd makehuman
hg update -C stable
== Download and compilation scripts ==
Once you have an environment with the dependencies installed, and a source snapshot, there are a few scripts that should normally be run. They are available in the "makehuman" directory and
should probably be run in this order:
* download_assets.py (this is required, and will dowload all clothes etc)
* compile_targets.py (these three are optional but will make starting makehuman faster)
* compile_models.py
* compile_proxies.py
== Starting makehuman ==
With all the above, simply run the "makehuman.py" script either by double-clicking on it or by executing it from a console prompt.
ac963f28f6dd31534e0eb223b9081411db4fc179
989
988
2016-05-31T08:29:52Z
Joepal
14
wikitext
text/x-wiki
== Overview ==
There are several reasons why you might want to run MakeHuman from a source snapshot from BitBucket rather than use one of the pre-built packages:
* This makes it easy to update and get the latest features
* You get full access to all assets (in the builds the assets are only available in compiled archives)
* It's possible there is no functional pre-built package for your platform.
In order to run from source, you need the following:
* Get a source snapshot from BitBucket
* Install/setup a python environment with [http://www.python.org python 2.7] (python later than 2.7 will not work) and the following dependencies installed:
** [http://sourceforge.net/projects/numpy/files/NumPy/ NumPy]
** [http://pyopengl.sourceforge.net/ PyOpenGL]
** [http://www.riverbankcomputing.com/software/pyqt PyQT] (the required version is pyqt for qt4, qt5 is not supported)
* Run the script for downloading assets (this is described in a section at the bottom of the page, after the platform specific notes)
* (optionally) run the scripts for compiling assets
== Getting the source from Bitbucket ==
At this point in time it's recommended you run from the "stable" branch. If you're feeling adventurous, you can run "default", but in more cases than not this will crash for you.
The quickest way to get the source is to download is as a zip at https://bitbucket.org/MakeHuman/makehuman/get/stable.zip
However, if you plan to update in the future, you will want to install a [https://www.mercurial-scm.org/ mercurial] client and check out a source clone. This looks different depending on platform.
== Setting up the environment on Windows ==
Setting up the environment on Windows is normally somewhat cumbersome. However, there is a tutorial video on how to do this:
{{#ev:youtube|3CCHGX-6Mtk}}
In general you will need to manually download the installation packages for all the dependencies listed above.
'''IMPORTANT:''' You ''must'' install the same "bittiness" (32-bit or 64-bit) för all packages. While it's possible that you can find 64-bit packages for everything, it's probably easier to go for 32-bit packages even on a 64-bit system.
There are several mercurial clients for windows, but one of the more popular ones is [http://tortoisehg.bitbucket.org/ TortoiseHG].
== Setting up the environment on Linux ==
Running from source on Linux is generally trivial since all the dependencies are available via the package management.
For Ubuntu and Debian, there is [https://bitbucket.org/MakeHuman/makehuman/src/179e10c2b9440f73f6d154839e8720e1dccf39cd/buildscripts/deb/install_deb_dependencies.bash?at=stable&fileviewer=file-view-default a script] for installing all the required dependencies.
If you are not using a debian derivate, you will need to figure out that the dependencies are called on your platform. You will probably want at least:
* python 2.7
* python-numpy
* python-opengl
* qt4
* python-qt4
* python-qt4-gl
For example on ubuntu:
sudo apt-get install python python-numpy python-opengl qt4 python-qt4 python-qt4-gl
The mercurial client is also available in most linux distributions. In ubuntu it's called "mercurial". For example:
sudo apt-get install mercurial
To get a source snapshot from bitbucket run:
hg clone https://joepal1976@bitbucket.org/MakeHuman/makehuman
cd makehuman
hg update -C stable
== Download and compilation scripts ==
Once you have an environment with the dependencies installed, and a source snapshot, there are a few scripts that should normally be run. They are available in the "makehuman" directory and
should probably be run in this order:
* download_assets.py (this is required, and will dowload all clothes etc)
* compile_targets.py (these three are optional but will make starting makehuman faster)
* compile_models.py
* compile_proxies.py
== Starting makehuman ==
With all the above, simply run the "makehuman.py" script either by double-clicking on it or by executing it from a console prompt.
c2fb53d9f26c3c5818c31ae18ec63dcf337ec207
988
987
2016-05-31T08:29:23Z
Joepal
14
wikitext
text/x-wiki
There are several reasons why you might want to run MakeHuman from a source snapshot from BitBucket rather than use one of the pre-built packages:
* This makes it easy to update and get the latest features
* You get full access to all assets (in the builds the assets are only available in compiled archives)
* It's possible there is no functional pre-built package for your platform.
== Overview ==
In order to run from source, you need the following:
* Get a source snapshot from BitBucket
* Install/setup a python environment with [http://www.python.org python 2.7] (python later than 2.7 will not work) and the following dependencies installed:
** [http://sourceforge.net/projects/numpy/files/NumPy/ NumPy]
** [http://pyopengl.sourceforge.net/ PyOpenGL]
** [http://www.riverbankcomputing.com/software/pyqt PyQT] (the required version is pyqt for qt4, qt5 is not supported)
* Run the script for downloading assets (this is described in a section at the bottom of the page, after the platform specific notes)
* (optionally) run the scripts for compiling assets
== Getting the source from Bitbucket ==
At this point in time it's recommended you run from the "stable" branch. If you're feeling adventurous, you can run "default", but in more cases than not this will crash for you.
The quickest way to get the source is to download is as a zip at https://bitbucket.org/MakeHuman/makehuman/get/stable.zip
However, if you plan to update in the future, you will want to install a [https://www.mercurial-scm.org/ mercurial] client and check out a source clone. This looks different depending on platform.
== Setting up the environment on Windows ==
Setting up the environment on Windows is normally somewhat cumbersome. However, there is a tutorial video on how to do this:
{{#ev:youtube|3CCHGX-6Mtk}}
In general you will need to manually download the installation packages for all the dependencies listed above.
'''IMPORTANT:''' You ''must'' install the same "bittiness" (32-bit or 64-bit) för all packages. While it's possible that you can find 64-bit packages for everything, it's probably easier to go for 32-bit packages even on a 64-bit system.
There are several mercurial clients for windows, but one of the more popular ones is [http://tortoisehg.bitbucket.org/ TortoiseHG].
== Setting up the environment on Linux ==
Running from source on Linux is generally trivial since all the dependencies are available via the package management.
For Ubuntu and Debian, there is [https://bitbucket.org/MakeHuman/makehuman/src/179e10c2b9440f73f6d154839e8720e1dccf39cd/buildscripts/deb/install_deb_dependencies.bash?at=stable&fileviewer=file-view-default a script] for installing all the required dependencies.
If you are not using a debian derivate, you will need to figure out that the dependencies are called on your platform. You will probably want at least:
* python 2.7
* python-numpy
* python-opengl
* qt4
* python-qt4
* python-qt4-gl
For example on ubuntu:
sudo apt-get install python python-numpy python-opengl qt4 python-qt4 python-qt4-gl
The mercurial client is also available in most linux distributions. In ubuntu it's called "mercurial". For example:
sudo apt-get install mercurial
To get a source snapshot from bitbucket run:
hg clone https://joepal1976@bitbucket.org/MakeHuman/makehuman
cd makehuman
hg update -C stable
== Download and compilation scripts ==
Once you have an environment with the dependencies installed, and a source snapshot, there are a few scripts that should normally be run. They are available in the "makehuman" directory and
should probably be run in this order:
* download_assets.py (this is required, and will dowload all clothes etc)
* compile_targets.py (these three are optional but will make starting makehuman faster)
* compile_models.py
* compile_proxies.py
== Starting makehuman ==
With all the above, simply run the "makehuman.py" script either by double-clicking on it or by executing it from a console prompt.
bdcab7fdac721dbdb7b58dbd9841c78e399fd3c1
987
986
2016-05-31T08:28:50Z
Joepal
14
wikitext
text/x-wiki
There are several reasons why you might want to run MakeHuman from a source snapshot from BitBucket rather than use one of the pre-built packages:
* This makes it easy to update and get the latest features
* You get full access to all assets (in the builds the assets are only available in compiled archives)
* It's possible there is no functional pre-built package for your platform.
== Overview ==
In order to run from source, you need the following:
* Get a source snapshot from BitBucket
* Install/setup a python environment with [http://www.python.org python 2.7] (python later than 2.7 will not work) and the following dependencies installed:
** [http://sourceforge.net/projects/numpy/files/NumPy/ NumPy]
** [http://pyopengl.sourceforge.net/ PyOpenGL]
** [http://www.riverbankcomputing.com/software/pyqt PyQT] (the required version is pyqt for qt4, qt5 is not supported)
* Run the script for downloading assets (this is described in a section at the bottom of the page, after the platform specific notes)
* (optionally) run the scripts for compiling assets
== Getting the source from Bitbucket ==
At this point in time it's recommended you run from the "stable" branch. If you're feeling adventurous, you can run "default", but in more cases than not this will crash for you.
The quickest way to get the source is to download is as a zip at https://bitbucket.org/MakeHuman/makehuman/get/stable.zip
However, if you plan to update in the future, you will want to install a [https://www.mercurial-scm.org/ mercurial] client and check out a source clone. This looks different depending on platform.
== Running from source on Windows ==
Setting up the environment on Windows is normally somewhat cumbersome. However, there is a tutorial video on how to do this:
{{#ev:youtube|3CCHGX-6Mtk}}
In general you will need to manually download the installation packages for all the dependencies listed above.
'''IMPORTANT:''' You ''must'' install the same "bittiness" (32-bit or 64-bit) för all packages. While it's possible that you can find 64-bit packages for everything, it's probably easier to go for 32-bit packages even on a 64-bit system.
There are several mercurial clients for windows, but one of the more popular ones is [http://tortoisehg.bitbucket.org/ TortoiseHG].
== Running from source on Linux ==
Running from source on Linux is generally trivial since all the dependencies are available via the package management.
For Ubuntu and Debian, there is [https://bitbucket.org/MakeHuman/makehuman/src/179e10c2b9440f73f6d154839e8720e1dccf39cd/buildscripts/deb/install_deb_dependencies.bash?at=stable&fileviewer=file-view-default a script] for installing all the required dependencies.
If you are not using a debian derivate, you will need to figure out that the dependencies are called on your platform. You will probably want at least:
* python 2.7
* python-numpy
* python-opengl
* qt4
* python-qt4
* python-qt4-gl
For example on ubuntu:
sudo apt-get install python python-numpy python-opengl qt4 python-qt4 python-qt4-gl
The mercurial client is also available in most linux distributions. In ubuntu it's called "mercurial". For example:
sudo apt-get install mercurial
To get a source snapshot from bitbucket run:
hg clone https://joepal1976@bitbucket.org/MakeHuman/makehuman
cd makehuman
hg update -C stable
== Download and compilation scripts ==
Once you have an environment with the dependencies installed, and a source snapshot, there are a few scripts that should normally be run. They are available in the "makehuman" directory and
should probably be run in this order:
* download_assets.py (this is required, and will dowload all clothes etc)
* compile_targets.py (these three are optional but will make starting makehuman faster)
* compile_models.py
* compile_proxies.py
== Starting makehuman ==
With all the above, simply run the "makehuman.py" script either by double-clicking on it or by executing it from a console prompt.
d33e5b2393d96484ceac5c991fcecd84e9392959
986
2016-05-31T08:14:13Z
Joepal
14
Created page with "There are several reasons why you might want to run MakeHuman from a source snapshot from BitBucket rather than use one of the pre-built packages: * This makes it easy to upd..."
wikitext
text/x-wiki
There are several reasons why you might want to run MakeHuman from a source snapshot from BitBucket rather than use one of the pre-built packages:
* This makes it easy to update and get the latest features
* You get full access to all assets (in the builds the assets are only available in compiled archives)
* It's possible there is no functional pre-built package for your platform.
== Overview ==
In order to run from source, you need the following:
* Get a source snapshot from BitBucket
* Install/setup a python environment with [http://www.python.org python 2.7] and the following dependencies installed:
** [http://sourceforge.net/projects/numpy/files/NumPy/ NumPy]
** [http://pyopengl.sourceforge.net/ PyOpenGL]
** [http://www.riverbankcomputing.com/software/pyqt PyQT]
* Run the script for downloading assets
* (optionally) run the scripts for compiling assets
== Getting the source from Bitbucket ==
At this point in time it's recommended you run from the "stable" branch. If you're feeling adventurous, you can run "default", but in more cases than not this will crash for you.
The quickest way to get the source is to download is as a zip at https://bitbucket.org/MakeHuman/makehuman/get/stable.zip
However, if you plan to update in the future, you will want to install a [https://www.mercurial-scm.org/ mercurial] client and check out a source clone. This looks different depending on platform.
== Running from source on Windows ==
Setting up the environment on Windows is normally somewhat cumbersome. However, there is a tutorial video on how to do this:
{{#ev:youtube|3CCHGX-6Mtk}}
a6d60de073ec515c533a3f6ce23ac4492899a80f
Documentation:Running feet
3000
332
984
873
2016-05-27T16:07:29Z
Joepal
14
wikitext
text/x-wiki
This tutorial describes the making of the short film Running Feet with MakeHuman and MakeWalk, the mocap tool for MakeHuman characters.
The focus is on how to use the tools in the MakeWalk: Edit Actions panel to edit an animation.
<iframe frameborder="0" height="315" src="//www.youtube.com/embed/_dbKDVd68Vg" width="420"></iframe>
The film consists of the prelude and four scenes.
== Prelude: The raw animation. ==
The short film starts with the original motion defined by the bvh file. This could be loaded with Blender's default, but we will use MakeWalk instead. Since MakeWalk is not part of the Blender distribution, we must first copy the makewalk folder from MakeHuman's tools/blender folder to the folder that Blender keeps its add-ons.
[[File:feet-010-copy-files.png]]
In Blender, enable the MakeWalk add-on from File > User Preferences. In the User Preferences window, MakeWalk is found under the Addons tab, in the MakeHuman category. Enable the checkbox in the upper-right corner, next to the running man symbol. Press Save User Settings to have MakeWalk loaded every time you restart Blender.
[[File:feet-020-enable-addon.png]]
The MakeWalk panels appear in the tool shelf whenever an armature is the active object. To load the animation, we must first enable the Detailed Steps option. A number of new buttons appear below it. Press the button at the top, Load BVH File (.bvh), and navigate to the desired bvh file in the file selector. The animation that will be used throughout this tutorial is Female1_C03_Run.bvh which is freely downloadable from ACCAD.
[[File:feet-030-load-bvh.png]]
After a brief wait a running armature appears in the viewport. The viewport was rendered and then repeated three times in the video editor.
[[File:feet-050-anim-loaded.png]]
Scene 1
In the first scene the default MakeHuman character is running on a plane. The first step is to design the character in MakeHuman. Here we simple take the default character and add some simple clothes. It is imortant in MakeHuman 1.0.2 that Pose/Animate > Skeleton be set to 'None'. This provides <span style="font-size:12.6666688919067px"> the rather advanced armature which is well suited for mocap. </span>Name and export the character as an mhx (MakeHuman eXchange format) with the default settings.
[[File:feet-110-export-default.png]]
The mhx importer is bundled with Blender but not enabled by default. Enable it in the same way as you enabled MakeWalk in the previous chapter. Import the mhx file with File > Import > MakeHuman. The rigged character appears in the viewport.
[[File:feet-120-import-mhx.png]]
The skin pokes through the clothes at places. The simplest way to solve this problem is to delete vertices below the clothes, since the body itself will not be visible. This will also speed up performance a little.
[[File:feet-130-delete-skin.png]]
== Load and retarget ==
The MakeWalk user interface is located in six panels in the Tools shelf. In the Main panel, we find a single button labelled Load And Retarget. Press this button, select the same bvh file as in the previous chapter, and wait until the animation is loaded.
[[File:feet-140-anim-imported.png]]
The first frame in the loaded animation is frame 1. At frame 0 the character is in T-pose. This pose is used for reference and as a part of the retargeting process.
== Fixing defects ==
Retargeting is never perfect, because the target armature and the original actor may have different body proportions and bone locations, or because we want the character to do something slightly different than the original bvh file. Tools for editing the action are found under the third MakeWalk panel, labelled Edit Actions. This panel is closed by default.
[[File:feet-150-intersection.png]]
The first editing we will do is to correct a glaring defect: in frames 10 and 11 the right thumb and index finger penetrate the left thigh. We will fix this problem by adding a local shift to the right upper arm animation. This is done in the Displace Animation section.
[[File:feet-160-start-edit.png]]
<ol>
* Press Start Edit. The button becomes inactive and the other buttons in this section become active instead.
* Select the right upper arm, upper_arm.fk.R (the bone may have other names if you don't use the mhx advanced rig).
* Go to frame 7, where the pose is fine. Press the Rot button to insert a rotation key.
* Go forward to frame 14, where the pose is also fine. Press Rot.
* Go back to frame 10, and rotation the upper arm so there is no penetration. Press Rot.
* Scrub the timeline back and forth between frames 7 and 14, to verify that the animation looks fine.
* If the result is good, press Confirm Edit. Otherwise, continue to modify the keys. If the animation has been messed up, you can cancel the edit by pressing Undo Edit.
</ol>
[[File:feet-170-confirm-edit.png]]
== <br />
Looping and repeating the animation ==
The original animation only lasts about 1.5 run cycle, but we want the character to run longer than that. Identify two frames where the character is posed similarly. There will never be a perfect match, but the poses in frames 7 and 29 are similar enough. Go to frame 7 and insert a marker on the timeline, and then go to frame 29 and do the same. The part of the animation between the markers will be repeated.
[[File:feet-180-similar-poses.png]]
The process consists of two steps. In the Loop Animation section, the beginning and end of the specified time range are blended together. Blend Range is the number of frames used for blending, whereas the Loc and Rot options specify whether location and rotation F-curves are affected by blending. If the Loop in Place option is enabled, the average velocity is subtraced from location F-curves, making the character run in space. This is not what we want, so we leave this option unchecked.
In the Repeat Animation section, the button Repeat F-curves copies the F-curves between the two outermost selected markers. All keyframes after the second marker is lost, so make sure that you are not interested in this data.
[[File:feet-190-loop-and-repeat.png]]
Enable the markers at frame 7 and 29 to specify the time-range to be repeated. Press Loop F-curves to smoothly blend the animation from frame 29 to frame 7. Finally set the repeat number to 8, and press Repeat F-curves. The running animation now continues until 182.
[[File:feet-200-long-animation.png]]
== Running on a floor ==
Our next goal is to give the character a floor to run on. This can be quite tricky, because when the a foot rests on the floor, it must neither sink into the floor nor float above it. Shadows give the viewer a clear visual cue where the feet are relative to the floor, so it is difficult to cheat. MakeWalk has a tool to adjust the animation to make feet stick to the floor without penetrating it.
[[File:feet-210-add-plane.png]]
First add a plane that acts as the floor, and scale it up so the character has something to run on. The character floats a small distance above the floor. The MakeWalk tool lifts up the character when some part of a foot is below the floor, but it does nothing when both feet are above it. We must therefore first move the animation down a bit.
Move to a frame where one foot is supposed to rest on the floor. Select the root bone in the hip area, and move the character down so the foot is below the floor. Then press Shift Bone F-curves in the Global Edit section, to make the shift affect the entire animation. Make sure that the markers on the timeline are deselected, because otherwise the global shift will only affect the specified time range. This is easy to forget, but fortunately easy to detect and fix. If you find that a tool only affect part of the animation, press Ctrl-Z a few times and repeat the steps with the time markers deselected.
[[File:feet-220-below-plane.png]]
With both the plane and the root bone selected, press Keey Feet Above Floor in the Floor section. The options above this button specify which foot must stay above the ground, and whether the hips should be moved correspondingly. The Hips option should always be selected when the legs are using FK, and normally we want both the left and right foot to stay above ground. Again make sure that all time markers are deselected, because we want the feet to stay above the floor during the entire animation.
[[File:feet-230-keep-above-floor.png]]
The character now runs on top of the floor, but the animation is somewhat strutty. This often happens when the hips are moved. A better result can be achieved if only the feet are moved above the floor, without affecting the hips movement. To this end, we must first transfer the animation of the FK bones to the corresponding IK bones. In the Inverse Kinematics section at the top of the Edit Actions panel, press Transfer FK => IK. The transfer process takes quite a bit of time, and you can follow the progress in the terminal window if Blender was started from there. Again make sure that no time markers are selected, because then only the animation in the specified time range is transferred.
[[File:feet-240-transfer-ik.png]]
The legs are now in IK mode. Deselect the Hips option in the Floor section, and press Keep Feet Above Floor. This time the feet stay above ground, but the hips animation is unaffected.
[[File:feet-250-keep-above-ik.png]]
However, the result is still not what we wanted, because now the character is kneeling when he runs. We could fix that by making a global shift to the root bone F-curves. Alternatively, we can undo the last step, and move the root bone and the IK feet up before keeping the feet above floor.
[[File:feet-260-keep-above-better.png]]
Prelude Scene 2
In this scene a woman in high heels runs across a stylized hill.
Export the woman from MakeHuman as an mhx file and import her into Blender. We immediately notice that the boots look weird.
[[File:feet-310-init-pose.png]]
The reason is that the foot is in rest position. However, a foot inside a high-heel boot is not resting; rather, the woman should be standing on her toes inside the boot. Pose the feet correctly.
[[File:feet-320-pose-feet.png]]
If we intend to use inverse kinematics, the IK feet must also be posed. The easiest way is to use the snapping tools available under the MHX FK/IK Switch panel in the UI shelf to the right of the viewport. The MHX panels are available when the MHX importer add-on is enabled.
[[File:feet-330-pose-ik.png]]
Press the Snap L IK and Snap R IK buttons at the bottom of this panel. The legs are now controlled by IK, as indicated by the buttons at the top. The IK bones become visible and the FK bones are hidden.
[[File:feet-340-current2rest.png]]
We now want to apply the current pose as rest pose. There is a standard tool to do this, but that tool will not modify the meshes using this armature properly. Instead we open the MakeWalk: Utilities panel (this is the last MakeWalk panel in the tools shelf) and press Current Pose => Rest Pose. The rest pose has now been changed.
[[File:feet-350-new-rest-pose.png]]
In the MHX Layers panel in the UI shelf, enable the Tweak layer (bone layer 10) and disable all other bone layers.Each foot has three marker bones which inform MakeWalk about the location of toe tip, the ball and the heel. The marker bones are placed roughly correctly by default, but since the rest pose has been changed they are now in incorrect positions.
[[File:feet-360-markers.png]]
Tab into edit mode and place the marker bones correctly. Only the location of the bone heads matter; The marker bones are used for keeping the feet above a floor. The Keep Feet Above Floor will work even if the armature does not have marker bones, but not so well.
[[File:feet-370-markers.png]]
Now we are ready to create the animation. The first steps are the same as in the previous chapter. Load and retarget the bvh file, loop the animation between frames 7 and 29, and repeat the animation 10 times.
The woman will run across a stylized hill. The hill mesh can be used to keep her feet above the first, flat part of the ground, but it is of no help when it comes to the slope. This is because the MakeWalk tool keeps feet above the object location. Moreover, "above" means that the z coordinate in the object's local coordinate system is positive. Since the object center is located on global z = 0, and the local z axis coincides with the global z axis, the woman will keep running above global z = 0.
[[File:feet-380-hill.png]]
We can still use MakeWalk to keep her feet above the slope. Add a new helper plane and rotate it in object space so it coincides with the up-slope of the ground mesh. The local coordinate system is centered on the plane and the local z axis is perpendicular to it, which are the necessary requirements (error in picture).
[[File:feet-390-multiple-floors.png]]
Goto the first frame where a foot should rest on the slope, namely frame 25. Delete all old time markers and create a new one here. The scrub the time slider until the character is some distance past the end of the slope and create another tíme marker. Since it takes more time to run uphill, the character should be well past the projection of the slope end at this point. More exactly, the line from the slope end to the foot should form a right angle with the slope.
[[File:feet-400-uphill1.png]]
With the helper plane and a bone selected, press Keep Feet Above Floor. The woman starts running upwards, keeping her feet on the slope. Repeat the procedure for the other parts of the hill by adding addional helper planes. In the final animation, all helper planes are placed on a disabled layer and the original ground mesh is made visible.
[[File:feet-410-uphill2.png]]
In this case it turned out that keeping the FK feet above the planes was better than the IK feet. It also matters how far below the plane the feet are initially, because it affects whether the hips are lifted when both feet are in the air. It is usually best to start with the feet as little below the floor as possible, while they must not float above the plane anywhere where they should be planted.
Scene 1 Scene 3
The third scene shows a race between a baby and a fat man.
There is not so much news here. Import the two characters, load and retarget the bvh file, fix self-intersections, loop and repeat the animations, and keep feet on floor.
An adult will rapidly outpace a baby, because the location F-curves are scaled with the size of the left thigh, which is bigger for an adult than for a child. Since we want the race to be even, we need to scale the F-curves in the time direction. This is done in the Global Edit section. Select any bone in the adult character, set the rescale factor, and press Rescale FCurves. The adult now runs slower. Repeat the process with the baby, but this time choose a rescale factor greater than one. The baby runs faster.
[[File:feet-510-rescale.png]]
Instead of using the button in the Edit Action panel, we could simply have scaled the F-curves in the F-curve editor. This would work equally well for this animation. However, consider what happens with the cartwheel animation from ACCAD. Load and retarget the bvh file, and then scale up the F-curves with a factor two in the time direction. Between frames 140 and 142, something strange happens.
[[File:feet-520-scaled-1.png]]
The reason is that the Y quaternion jumps from +1 to -1. There are two ways to represent the same rotation with quaternions (mathematically, SU(2) is the double cover of the rotation group SO(3)), and the rotations at frame 140 and 142 are almost the same, even though the quaternions are very different. However, the interpolated value at frame 141 is a completely different rotation, which is our problem.
[[File:feet-530-fcurves-1.png]]
If we instead use the Rescale FCurves button with a rescale factor 2, an extra keyframe is inserted for the Y component at frame 141, making the interpolation better.
[[File:feet-540-scaled-2.png]]
Note that the Z component does not receive an extra keyframe. This is a bug, and it is visible in the picture above.
[[File:feet-550-fcurves-2.png]]
Scene 2 Scene 4
The fourth scene shows a body-builder running in a rough terrain.
The terrain was created by subdiving a plane and giving it a displace modifier with a noise texture.
Unfortunately, it is not possible to use the Keep Feet Above Floor tool, because it only acts on the object location and rotation. Instead a second animation layer was created with the Start Edit button. For multiple keyframes, the root (hips) bone was moved in the Z direction to make the foot rest on the ground, and a keyframe was inserted with the Loc button. The animation was baked several times with the Confirm Edit button, and the process was repeated until an acceptable result was achieved.
[[File:feet-610-shift.png]]
It is a good idea to often bake the animation layer with Confirm Edit, and to create a new one with Start Edit again. Blender can become unstable if one works with an animation layer for a long time, and a crash would mean that much work is lost.
[[File:feet-620-penetration.png]]
I did not have the energy to perfect the animation. E.g. at frame 109 the right foot penetrates the ground, which is most easily seen from below (although it is only what can be seen from the camera view counts). Although the problem is apparent in a still photo, it is not so easy to notice in an animation.
[[File:feet-630-frame-109.png]]
6769223cb81bded9836c23bd180a1b552b1d6d81
873
2016-05-27T15:35:13Z
Joepal
14
Created page with "This tutorial describes the making of the short film Running Feet with MakeHuman and MakeWalk, the mocap tool for MakeHuman characters. The tutorial is organized in four part..."
wikitext
text/x-wiki
This tutorial describes the making of the short film Running Feet with MakeHuman and MakeWalk, the mocap tool for MakeHuman characters.
The tutorial is organized in four parts:
* Prelude (this page)
* Scene 1
* Scene 2
* Scene 3
* Scene 4
The focus is on how to use the tools in the MakeWalk: Edit Actions panel to edit an animation.
<iframe frameborder="0" height="315" src="//www.youtube.com/embed/_dbKDVd68Vg" width="420"></iframe>
The film consists of the prelude and four scenes.
== Prelude: The raw animation. ==
The short film starts with the original motion defined by the bvh file. This could be loaded with Blender's default, but we will use MakeWalk instead. Since MakeWalk is not part of the Blender distribution, we must first copy the makewalk folder from MakeHuman's tools/blender folder to the folder that Blender keeps its add-ons.
[[File:feet-010-copy-files.png]]
In Blender, enable the MakeWalk add-on from File > User Preferences. In the User Preferences window, MakeWalk is found under the Addons tab, in the MakeHuman category. Enable the checkbox in the upper-right corner, next to the running man symbol. Press Save User Settings to have MakeWalk loaded every time you restart Blender.
[[File:feet-020-enable-addon.png]]
The MakeWalk panels appear in the tool shelf whenever an armature is the active object. To load the animation, we must first enable the Detailed Steps option. A number of new buttons appear below it. Press the button at the top, Load BVH File (.bvh), and navigate to the desired bvh file in the file selector. The animation that will be used throughout this tutorial is Female1_C03_Run.bvh which is freely downloadable from ACCAD.
[[File:feet-030-load-bvh.png]]
After a brief wait a running armature appears in the viewport. The viewport was rendered and then repeated three times in the video editor.
[[File:feet-050-anim-loaded.png]]
Scene 1
In the first scene the default MakeHuman character is running on a plane. The first step is to design the character in MakeHuman. Here we simple take the default character and add some simple clothes. It is imortant in MakeHuman 1.0.2 that Pose/Animate > Skeleton be set to 'None'. This provides <span style="font-size:12.6666688919067px"> the rather advanced armature which is well suited for mocap. </span>Name and export the character as an mhx (MakeHuman eXchange format) with the default settings.
[[File:feet-110-export-default.png]]
The mhx importer is bundled with Blender but not enabled by default. Enable it in the same way as you enabled MakeWalk in the previous chapter. Import the mhx file with File > Import > MakeHuman. The rigged character appears in the viewport.
[[File:feet-120-import-mhx.png]]
The skin pokes through the clothes at places. The simplest way to solve this problem is to delete vertices below the clothes, since the body itself will not be visible. This will also speed up performance a little.
[[File:feet-130-delete-skin.png]]
== Load and retarget ==
The MakeWalk user interface is located in six panels in the Tools shelf. In the Main panel, we find a single button labelled Load And Retarget. Press this button, select the same bvh file as in the previous chapter, and wait until the animation is loaded.
[[File:feet-140-anim-imported.png]]
The first frame in the loaded animation is frame 1. At frame 0 the character is in T-pose. This pose is used for reference and as a part of the retargeting process.
== Fixing defects ==
Retargeting is never perfect, because the target armature and the original actor may have different body proportions and bone locations, or because we want the character to do something slightly different than the original bvh file. Tools for editing the action are found under the third MakeWalk panel, labelled Edit Actions. This panel is closed by default.
[[File:feet-150-intersection.png]]
The first editing we will do is to correct a glaring defect: in frames 10 and 11 the right thumb and index finger penetrate the left thigh. We will fix this problem by adding a local shift to the right upper arm animation. This is done in the Displace Animation section.
[[File:feet-160-start-edit.png]]
<ol>
* Press Start Edit. The button becomes inactive and the other buttons in this section become active instead.
* Select the right upper arm, upper_arm.fk.R (the bone may have other names if you don't use the mhx advanced rig).
* Go to frame 7, where the pose is fine. Press the Rot button to insert a rotation key.
* Go forward to frame 14, where the pose is also fine. Press Rot.
* Go back to frame 10, and rotation the upper arm so there is no penetration. Press Rot.
* Scrub the timeline back and forth between frames 7 and 14, to verify that the animation looks fine.
* If the result is good, press Confirm Edit. Otherwise, continue to modify the keys. If the animation has been messed up, you can cancel the edit by pressing Undo Edit.
</ol>
[[File:feet-170-confirm-edit.png]]
== <br />
Looping and repeating the animation ==
The original animation only lasts about 1.5 run cycle, but we want the character to run longer than that. Identify two frames where the character is posed similarly. There will never be a perfect match, but the poses in frames 7 and 29 are similar enough. Go to frame 7 and insert a marker on the timeline, and then go to frame 29 and do the same. The part of the animation between the markers will be repeated.
[[File:feet-180-similar-poses.png]]
The process consists of two steps. In the Loop Animation section, the beginning and end of the specified time range are blended together. Blend Range is the number of frames used for blending, whereas the Loc and Rot options specify whether location and rotation F-curves are affected by blending. If the Loop in Place option is enabled, the average velocity is subtraced from location F-curves, making the character run in space. This is not what we want, so we leave this option unchecked.
In the Repeat Animation section, the button Repeat F-curves copies the F-curves between the two outermost selected markers. All keyframes after the second marker is lost, so make sure that you are not interested in this data.
[[File:feet-190-loop-and-repeat.png]]
Enable the markers at frame 7 and 29 to specify the time-range to be repeated. Press Loop F-curves to smoothly blend the animation from frame 29 to frame 7. Finally set the repeat number to 8, and press Repeat F-curves. The running animation now continues until 182.
[[File:feet-200-long-animation.png]]
== Running on a floor ==
Our next goal is to give the character a floor to run on. This can be quite tricky, because when the a foot rests on the floor, it must neither sink into the floor nor float above it. Shadows give the viewer a clear visual cue where the feet are relative to the floor, so it is difficult to cheat. MakeWalk has a tool to adjust the animation to make feet stick to the floor without penetrating it.
[[File:feet-210-add-plane.png]]
First add a plane that acts as the floor, and scale it up so the character has something to run on. The character floats a small distance above the floor. The MakeWalk tool lifts up the character when some part of a foot is below the floor, but it does nothing when both feet are above it. We must therefore first move the animation down a bit.
Move to a frame where one foot is supposed to rest on the floor. Select the root bone in the hip area, and move the character down so the foot is below the floor. Then press Shift Bone F-curves in the Global Edit section, to make the shift affect the entire animation. Make sure that the markers on the timeline are deselected, because otherwise the global shift will only affect the specified time range. This is easy to forget, but fortunately easy to detect and fix. If you find that a tool only affect part of the animation, press Ctrl-Z a few times and repeat the steps with the time markers deselected.
[[File:feet-220-below-plane.png]]
With both the plane and the root bone selected, press Keey Feet Above Floor in the Floor section. The options above this button specify which foot must stay above the ground, and whether the hips should be moved correspondingly. The Hips option should always be selected when the legs are using FK, and normally we want both the left and right foot to stay above ground. Again make sure that all time markers are deselected, because we want the feet to stay above the floor during the entire animation.
[[File:feet-230-keep-above-floor.png]]
The character now runs on top of the floor, but the animation is somewhat strutty. This often happens when the hips are moved. A better result can be achieved if only the feet are moved above the floor, without affecting the hips movement. To this end, we must first transfer the animation of the FK bones to the corresponding IK bones. In the Inverse Kinematics section at the top of the Edit Actions panel, press Transfer FK => IK. The transfer process takes quite a bit of time, and you can follow the progress in the terminal window if Blender was started from there. Again make sure that no time markers are selected, because then only the animation in the specified time range is transferred.
[[File:feet-240-transfer-ik.png]]
The legs are now in IK mode. Deselect the Hips option in the Floor section, and press Keep Feet Above Floor. This time the feet stay above ground, but the hips animation is unaffected.
[[File:feet-250-keep-above-ik.png]]
However, the result is still not what we wanted, because now the character is kneeling when he runs. We could fix that by making a global shift to the root bone F-curves. Alternatively, we can undo the last step, and move the root bone and the IK feet up before keeping the feet above floor.
[[File:feet-260-keep-above-better.png]]
Prelude Scene 2
In this scene a woman in high heels runs across a stylized hill.
Export the woman from MakeHuman as an mhx file and import her into Blender. We immediately notice that the boots look weird.
[[File:feet-310-init-pose.png]]
The reason is that the foot is in rest position. However, a foot inside a high-heel boot is not resting; rather, the woman should be standing on her toes inside the boot. Pose the feet correctly.
[[File:feet-320-pose-feet.png]]
If we intend to use inverse kinematics, the IK feet must also be posed. The easiest way is to use the snapping tools available under the MHX FK/IK Switch panel in the UI shelf to the right of the viewport. The MHX panels are available when the MHX importer add-on is enabled.
[[File:feet-330-pose-ik.png]]
Press the Snap L IK and Snap R IK buttons at the bottom of this panel. The legs are now controlled by IK, as indicated by the buttons at the top. The IK bones become visible and the FK bones are hidden.
[[File:feet-340-current2rest.png]]
We now want to apply the current pose as rest pose. There is a standard tool to do this, but that tool will not modify the meshes using this armature properly. Instead we open the MakeWalk: Utilities panel (this is the last MakeWalk panel in the tools shelf) and press Current Pose => Rest Pose. The rest pose has now been changed.
[[File:feet-350-new-rest-pose.png]]
In the MHX Layers panel in the UI shelf, enable the Tweak layer (bone layer 10) and disable all other bone layers.Each foot has three marker bones which inform MakeWalk about the location of toe tip, the ball and the heel. The marker bones are placed roughly correctly by default, but since the rest pose has been changed they are now in incorrect positions.
[[File:feet-360-markers.png]]
Tab into edit mode and place the marker bones correctly. Only the location of the bone heads matter; The marker bones are used for keeping the feet above a floor. The Keep Feet Above Floor will work even if the armature does not have marker bones, but not so well.
[[File:feet-370-markers.png]]
Now we are ready to create the animation. The first steps are the same as in the previous chapter. Load and retarget the bvh file, loop the animation between frames 7 and 29, and repeat the animation 10 times.
The woman will run across a stylized hill. The hill mesh can be used to keep her feet above the first, flat part of the ground, but it is of no help when it comes to the slope. This is because the MakeWalk tool keeps feet above the object location. Moreover, "above" means that the z coordinate in the object's local coordinate system is positive. Since the object center is located on global z = 0, and the local z axis coincides with the global z axis, the woman will keep running above global z = 0.
[[File:feet-380-hill.png]]
We can still use MakeWalk to keep her feet above the slope. Add a new helper plane and rotate it in object space so it coincides with the up-slope of the ground mesh. The local coordinate system is centered on the plane and the local z axis is perpendicular to it, which are the necessary requirements (error in picture).
[[File:feet-390-multiple-floors.png]]
Goto the first frame where a foot should rest on the slope, namely frame 25. Delete all old time markers and create a new one here. The scrub the time slider until the character is some distance past the end of the slope and create another tíme marker. Since it takes more time to run uphill, the character should be well past the projection of the slope end at this point. More exactly, the line from the slope end to the foot should form a right angle with the slope.
[[File:feet-400-uphill1.png]]
With the helper plane and a bone selected, press Keep Feet Above Floor. The woman starts running upwards, keeping her feet on the slope. Repeat the procedure for the other parts of the hill by adding addional helper planes. In the final animation, all helper planes are placed on a disabled layer and the original ground mesh is made visible.
[[File:feet-410-uphill2.png]]
In this case it turned out that keeping the FK feet above the planes was better than the IK feet. It also matters how far below the plane the feet are initially, because it affects whether the hips are lifted when both feet are in the air. It is usually best to start with the feet as little below the floor as possible, while they must not float above the plane anywhere where they should be planted.
Scene 1 Scene 3
The third scene shows a race between a baby and a fat man.
There is not so much news here. Import the two characters, load and retarget the bvh file, fix self-intersections, loop and repeat the animations, and keep feet on floor.
An adult will rapidly outpace a baby, because the location F-curves are scaled with the size of the left thigh, which is bigger for an adult than for a child. Since we want the race to be even, we need to scale the F-curves in the time direction. This is done in the Global Edit section. Select any bone in the adult character, set the rescale factor, and press Rescale FCurves. The adult now runs slower. Repeat the process with the baby, but this time choose a rescale factor greater than one. The baby runs faster.
[[File:feet-510-rescale.png]]
Instead of using the button in the Edit Action panel, we could simply have scaled the F-curves in the F-curve editor. This would work equally well for this animation. However, consider what happens with the cartwheel animation from ACCAD. Load and retarget the bvh file, and then scale up the F-curves with a factor two in the time direction. Between frames 140 and 142, something strange happens.
[[File:feet-520-scaled-1.png]]
The reason is that the Y quaternion jumps from +1 to -1. There are two ways to represent the same rotation with quaternions (mathematically, SU(2) is the double cover of the rotation group SO(3)), and the rotations at frame 140 and 142 are almost the same, even though the quaternions are very different. However, the interpolated value at frame 141 is a completely different rotation, which is our problem.
[[File:feet-530-fcurves-1.png]]
If we instead use the Rescale FCurves button with a rescale factor 2, an extra keyframe is inserted for the Y component at frame 141, making the interpolation better.
[[File:feet-540-scaled-2.png]]
Note that the Z component does not receive an extra keyframe. This is a bug, and it is visible in the picture above.
[[File:feet-550-fcurves-2.png]]
Scene 2 Scene 4
The fourth scene shows a body-builder running in a rough terrain.
The terrain was created by subdiving a plane and giving it a displace modifier with a noise texture.
Unfortunately, it is not possible to use the Keep Feet Above Floor tool, because it only acts on the object location and rotation. Instead a second animation layer was created with the Start Edit button. For multiple keyframes, the root (hips) bone was moved in the Z direction to make the foot rest on the ground, and a keyframe was inserted with the Loc button. The animation was baked several times with the Confirm Edit button, and the process was repeated until an acceptable result was achieved.
[[File:feet-610-shift.png]]
It is a good idea to often bake the animation layer with Confirm Edit, and to create a new one with Start Edit again. Blender can become unstable if one works with an animation layer for a long time, and a crash would mean that much work is lost.
[[File:feet-620-penetration.png]]
I did not have the energy to perfect the animation. E.g. at frame 109 the right foot penetrates the ground, which is most easily seen from below (although it is only what can be seen from the camera view counts). Although the problem is apparent in a still photo, it is not so easy to notice in an animation.
[[File:feet-630-frame-109.png]]
425c952f93034236780cab9c274247fab8638586
Documentation:Saving models for Blender and how to import them there
3000
253
1614
1013
2019-09-27T08:27:49Z
Joepal
14
wikitext
text/x-wiki
MakeHuman have for historical reasons always had a strong relation with Blender, and Blender support is in general good.
= 1.2.0 and Blender 2.80 =
With MakeHuman 1.2.0 and Blender 2.80, the general recommendation is to use MPFB (see [[FAQ: What is MPFB (MakeHuman Plugin For Blender)?]]).
= 1.1.0, older Blender versions =
As of 1.1.0 there are two approaches for getting assets from MakeHuman into blender: with or without MHX2.
== Using MHX2 ==
Prior to MakeHuman 1.1.0, the ancestor of MHX2 was integrated with MakeHuman. But in MakeHuman 1.1.0 and later MHX2 is an addon which needs to be installed separately. For a discussion
on the change, see [[FAQ:What happened to the MHX export in MH 1.1.x and later?]].
For a detailed documentation about installing the MHX-2 plug-ins in MakeHuman and Blender, exporting from MakeHuman and the various advanced import options in Blender please refer to the official documentation by Thomas Larrson: https://thomasmakehuman.wordpress.com/mhx2-documentation/
== Using Collada or FBX ==
(to be written)
0d71be60f1973bf30da92ebcda657aedb406432d
1013
765
2016-06-11T09:02:27Z
Aranuvir
17
wikitext
text/x-wiki
MakeHuman have for historical reasons always had a strong relation with Blender, and Blender support is in general good.
As of 1.1.0 there are two approaches for getting assets from MakeHuman into blender: with or without MHX2.
== Using MHX2 ==
Prior to MakeHuman 1.1.0, the ancestor of MHX2 was integrated with MakeHuman. But in MakeHuman 1.1.0 and later MHX2 is an addon which needs to be installed separately. For a discussion
on the change, see [[FAQ:What happened to the MHX export in MH 1.1.x and later?]].
For a detailed documentation about installing the MHX-2 plug-ins in MakeHuman and Blender, exporting from MakeHuman and the various advanced import options in Blender please refer to the official documentation by Thomas Larrson: https://thomasmakehuman.wordpress.com/mhx2-documentation/
== Using Collada or FBX ==
(to be written)
e567869ae2c8084b7a617bf3f93a8184c7efe575
765
2016-05-24T11:33:13Z
Joepal
14
Created page with "MakeHuman have for historical reasons always had a strong relation with Blender, and Blender support is in general good. As of 1.1.0 there are two approaches for getting ass..."
wikitext
text/x-wiki
MakeHuman have for historical reasons always had a strong relation with Blender, and Blender support is in general good.
As of 1.1.0 there are two approaches for getting assets from MakeHuman into blender: with or without MHX2.
== Using MHX2 ==
Prior to MakeHuman 1.1.0, the ancestor of MHX2 was integrated with MakeHuman. But in MakeHuman 1.1.0 and later MHX2 is an addon which needs to be installed separately. For a discussion
on the change, see [[FAQ:What happened to the MHX export in MH 1.1.x and later?]]. The following assumes that you have already installed MHX2, see [[Documentation:Installing MHX2]].
=== Exporting using MHX2 ===
(to be written)
=== Importing an MHX2 model in Blender ===
(to be written)
== Using Collada or FBX ==
(to be written)
472d934d483b3086a080cbddfa445ad27081db05
Documentation:Saving models for Unity and how to import them there
3000
496
1386
1385
2017-03-29T09:08:44Z
Robbaer
12
/* Making the toon ready for animation */
wikitext
text/x-wiki
Getting toons to work in Unity may seem a bit intimidating at first, but in practice it only requires relatively few mouse clicks.
== Preparations ==
If you don't have a unity project already, create one. Things will be a lot easier for you if you export directly to the Assets directory, so before exporting from MH the Assets directory should exist.
For this documentation, let's create a new empty Unity project:
[[File:00_create_unity_project.png|400px|link={{filepath:00_create_unity_project.png}}]]
== Exporting from MakeHuman ==
Let's start with modeling a toon. We will here select some clothes/hair pieces with transparent areas so that we can see that we get those things right inside unity.
[[File:01_export_mh_1.png|400px|link={{filepath:01_export_mh_1.png}}]]
An important step is selecting an appropriate rig. Unless you know what you are doing, you will most likely want to use the game rig one here (there are cases where the other ones may be appropriate).
[[File:02_export_mh_2.PNG|400px|link={{filepath:02_export_mh_2.PNG}}]]
You are now ready to export. You will want to use FBX, and the default settings are fine.
[[File:03_export_mh_3.png|400px|link={{filepath:03_export_mh_3.png}}]]
However, before exporting, click the three-dots-button and browse to your Assets folder, so that the toon is exported there:
[[File:04_export_mh_4.png|400px|link={{filepath:04_export_mh_4.png}}]]
You can now click export, and the toon will be exported to Unity.
In Unity you will now see that the toon is available. By exporting directly to the Assets directory, you also got "materials" and "textures" autocreated. Otherwise you would have had to configure these manually.
[[File:05_import_unity.png|400px|link={{filepath:05_import_unity.png}}]]
== Fixing materials ==
If we now drag the toon into the scene, and move around the camera a bit so we can see it in the game view, we can see that it looks a bit odd.
[[File:06_unity_transparency_fail.png|400px|link={{filepath:06_unity_transparency_fail.png}}]]
The reason for this is that Unity fails to take into account that textures may have an alpha channel (or maybe thinks that the user needs to know what he's doing before enabling such). We will thus need to fix
the materials. For each material that has a transparent component, you will need to set the material type to "legacy shaders" -> "transparent" -> "diffuse". If the piece has a normalmap too, you will instead want "legacy shaders" -> "transparent" -> "bumped diffuse". With Unity 5, an alternative shader approach is to use is "Standard (Specular setup)" -> Rendering Mode: "Fade / Transparent" -> Specular: Black color -> Smoothness: 0.1 or below. You can add a normal image and assign a value (1 by default).
[[File:07_fix_material.png|400px|link={{filepath:07_fix_material.png}}]]
Do this for each material that should have a transparent component. In all likelihood you will want to do it for all materials except the skin (which would look odd if it was transparent).
Having done this, the toon should now look more pleasing.
[[File:08_transparency_fixed.png|400px|link={{filepath:08_transparency_fixed.png}}]]
== Making the toon ready for animation ==
As you remember, we assigned a skeleton to the toon in MakeHuman before exporting it. However, we also need to tell Unity how to use it.
Select the toon in the asset list (IMPORTANT! In the ''asset list'', not in the scene hierarchy). Click the rig tab. Set animation type to "humanoid". Click "configure".
[[File:09_humanoid.png|400px|link={{filepath:09_humanoid.png}}]]
Unity will now ask you to save the scene and apply changes. Do so. You will get to a panel where you can match the toon's bones with Unity's idea of bones. If you are using the game rig, everything should have been matched perfectly from start.
[[File:10_assign_bones.png|x400px|link={{filepath:10_assign_bones.png}}]]
The above is the most important step where things are likely to get messy if you are using another type of rig. If, for example, you use the MHX rig or Rigify, you might have to tinker a bit with the bone-to-bone mappings in the above dialog to get it all right.
To test if things look as if they are working, switch to the "muscles and settings" tab and drag the handles around. If the toon follows, things are working correctly.
[[File:11_bones_working.png|x400px|link={{filepath:11_bones_working.png}}]]
3c26232a94e02150bd4fbda2656b9364ebca6ed3
1385
1384
2017-03-29T09:07:01Z
Robbaer
12
/* Fixing materials */
wikitext
text/x-wiki
Getting toons to work in Unity may seem a bit intimidating at first, but in practice it only requires relatively few mouse clicks.
== Preparations ==
If you don't have a unity project already, create one. Things will be a lot easier for you if you export directly to the Assets directory, so before exporting from MH the Assets directory should exist.
For this documentation, let's create a new empty Unity project:
[[File:00_create_unity_project.png|400px|link={{filepath:00_create_unity_project.png}}]]
== Exporting from MakeHuman ==
Let's start with modeling a toon. We will here select some clothes/hair pieces with transparent areas so that we can see that we get those things right inside unity.
[[File:01_export_mh_1.png|400px|link={{filepath:01_export_mh_1.png}}]]
An important step is selecting an appropriate rig. Unless you know what you are doing, you will most likely want to use the game rig one here (there are cases where the other ones may be appropriate).
[[File:02_export_mh_2.PNG|400px|link={{filepath:02_export_mh_2.PNG}}]]
You are now ready to export. You will want to use FBX, and the default settings are fine.
[[File:03_export_mh_3.png|400px|link={{filepath:03_export_mh_3.png}}]]
However, before exporting, click the three-dots-button and browse to your Assets folder, so that the toon is exported there:
[[File:04_export_mh_4.png|400px|link={{filepath:04_export_mh_4.png}}]]
You can now click export, and the toon will be exported to Unity.
In Unity you will now see that the toon is available. By exporting directly to the Assets directory, you also got "materials" and "textures" autocreated. Otherwise you would have had to configure these manually.
[[File:05_import_unity.png|400px|link={{filepath:05_import_unity.png}}]]
== Fixing materials ==
If we now drag the toon into the scene, and move around the camera a bit so we can see it in the game view, we can see that it looks a bit odd.
[[File:06_unity_transparency_fail.png|400px|link={{filepath:06_unity_transparency_fail.png}}]]
The reason for this is that Unity fails to take into account that textures may have an alpha channel (or maybe thinks that the user needs to know what he's doing before enabling such). We will thus need to fix
the materials. For each material that has a transparent component, you will need to set the material type to "legacy shaders" -> "transparent" -> "diffuse". If the piece has a normalmap too, you will instead want "legacy shaders" -> "transparent" -> "bumped diffuse". With Unity 5, an alternative shader approach is to use is "Standard (Specular setup)" -> Rendering Mode: "Fade / Transparent" -> Specular: Black color -> Smoothness: 0.1 or below. You can add a normal image and assign a value (1 by default).
[[File:07_fix_material.png|400px|link={{filepath:07_fix_material.png}}]]
Do this for each material that should have a transparent component. In all likelihood you will want to do it for all materials except the skin (which would look odd if it was transparent).
Having done this, the toon should now look more pleasing.
[[File:08_transparency_fixed.png|400px|link={{filepath:08_transparency_fixed.png}}]]
== Making the toon ready for animation ==
As you remember, we assigned a rig to the toon in MakeHuman before exporting it. However, we also need to tell Unity how to use it.
Select the toon in the asset list (IMPORTANT! In the ''asset list'', not in the scene hierarchy). Click the rig tab. Set animation type to "humanoid". Click "configure".
[[File:09_humanoid.png|400px|link={{filepath:09_humanoid.png}}]]
Unity will now ask you to save the scene and apply changes. Do so. You will get to a panel where you can match the toon's bones with Unity's idea of bones. If you are using the game rig, everything should have been matched perfectly from start.
[[File:10_assign_bones.png|x400px|link={{filepath:10_assign_bones.png}}]]
The above is the most important step where things are likely to get messy if you are using another type of rig. If, for example, you use the MHX rig or Rigify, you might have to tinker a bit with the bone-to-bone mappings in the above dialog to get it all right.
To test if things look as if they are working, switch to the "muscles and settings" tab and drag the handles around. If the toon follows, things are working correctly.
[[File:11_bones_working.png|x400px|link={{filepath:11_bones_working.png}}]]
5b37f1ac651b08531254dd2d496dc16c447cae92
1384
1256
2017-03-29T09:01:03Z
Robbaer
12
/* Fixing materials */
wikitext
text/x-wiki
Getting toons to work in Unity may seem a bit intimidating at first, but in practice it only requires relatively few mouse clicks.
== Preparations ==
If you don't have a unity project already, create one. Things will be a lot easier for you if you export directly to the Assets directory, so before exporting from MH the Assets directory should exist.
For this documentation, let's create a new empty Unity project:
[[File:00_create_unity_project.png|400px|link={{filepath:00_create_unity_project.png}}]]
== Exporting from MakeHuman ==
Let's start with modeling a toon. We will here select some clothes/hair pieces with transparent areas so that we can see that we get those things right inside unity.
[[File:01_export_mh_1.png|400px|link={{filepath:01_export_mh_1.png}}]]
An important step is selecting an appropriate rig. Unless you know what you are doing, you will most likely want to use the game rig one here (there are cases where the other ones may be appropriate).
[[File:02_export_mh_2.PNG|400px|link={{filepath:02_export_mh_2.PNG}}]]
You are now ready to export. You will want to use FBX, and the default settings are fine.
[[File:03_export_mh_3.png|400px|link={{filepath:03_export_mh_3.png}}]]
However, before exporting, click the three-dots-button and browse to your Assets folder, so that the toon is exported there:
[[File:04_export_mh_4.png|400px|link={{filepath:04_export_mh_4.png}}]]
You can now click export, and the toon will be exported to Unity.
In Unity you will now see that the toon is available. By exporting directly to the Assets directory, you also got "materials" and "textures" autocreated. Otherwise you would have had to configure these manually.
[[File:05_import_unity.png|400px|link={{filepath:05_import_unity.png}}]]
== Fixing materials ==
If we now drag the toon into the scene, and move around the camera a bit so we can see it in the game view, we can see that it looks a bit odd.
[[File:06_unity_transparency_fail.png|400px|link={{filepath:06_unity_transparency_fail.png}}]]
The reason for this is that Unity fails to take into account that textures may have an alpha channel (or maybe thinks that the user needs to know what he's doing before enabling such). We will thus need to fix
the materials. For each material that has a transparent component, you will need to set the material type to "legacy shaders" -> "transparent" -> "diffuse". If the piece has a normalmap too, you will instead want
"legacy shaders" -> "transparent" -> "bumped diffuse". With Unity 5, an alternative is "Standard (Specular setup)" -> Rendering Mode: "Fade / Transparent" -> Specular: Black color -> Smoothness: 0.1 or below
[[File:07_fix_material.png|400px|link={{filepath:07_fix_material.png}}]]
Do this for each material that should have a transparent component. In all likelihood you will want to do it for all materials except the skin (which would look odd if it was transparent).
Having done this, the toon should now look more pleasing.
[[File:08_transparency_fixed.png|400px|link={{filepath:08_transparency_fixed.png}}]]
== Making the toon ready for animation ==
As you remember, we assigned a rig to the toon in MakeHuman before exporting it. However, we also need to tell Unity how to use it.
Select the toon in the asset list (IMPORTANT! In the ''asset list'', not in the scene hierarchy). Click the rig tab. Set animation type to "humanoid". Click "configure".
[[File:09_humanoid.png|400px|link={{filepath:09_humanoid.png}}]]
Unity will now ask you to save the scene and apply changes. Do so. You will get to a panel where you can match the toon's bones with Unity's idea of bones. If you are using the game rig, everything should have been matched perfectly from start.
[[File:10_assign_bones.png|x400px|link={{filepath:10_assign_bones.png}}]]
The above is the most important step where things are likely to get messy if you are using another type of rig. If, for example, you use the MHX rig or Rigify, you might have to tinker a bit with the bone-to-bone mappings in the above dialog to get it all right.
To test if things look as if they are working, switch to the "muscles and settings" tab and drag the handles around. If the toon follows, things are working correctly.
[[File:11_bones_working.png|x400px|link={{filepath:11_bones_working.png}}]]
ca4392be5bc346d6648b2911b163d2e12e1e9a42
1256
1255
2016-11-25T10:00:35Z
Joepal
14
wikitext
text/x-wiki
Getting toons to work in Unity may seem a bit intimidating at first, but in practice it only requires relatively few mouse clicks.
== Preparations ==
If you don't have a unity project already, create one. Things will be a lot easier for you if you export directly to the Assets directory, so before exporting from MH the Assets directory should exist.
For this documentation, let's create a new empty Unity project:
[[File:00_create_unity_project.png|400px|link={{filepath:00_create_unity_project.png}}]]
== Exporting from MakeHuman ==
Let's start with modeling a toon. We will here select some clothes/hair pieces with transparent areas so that we can see that we get those things right inside unity.
[[File:01_export_mh_1.png|400px|link={{filepath:01_export_mh_1.png}}]]
An important step is selecting an appropriate rig. Unless you know what you are doing, you will most likely want to use the game rig one here (there are cases where the other ones may be appropriate).
[[File:02_export_mh_2.PNG|400px|link={{filepath:02_export_mh_2.PNG}}]]
You are now ready to export. You will want to use FBX, and the default settings are fine.
[[File:03_export_mh_3.png|400px|link={{filepath:03_export_mh_3.png}}]]
However, before exporting, click the three-dots-button and browse to your Assets folder, so that the toon is exported there:
[[File:04_export_mh_4.png|400px|link={{filepath:04_export_mh_4.png}}]]
You can now click export, and the toon will be exported to Unity.
In Unity you will now see that the toon is available. By exporting directly to the Assets directory, you also got "materials" and "textures" autocreated. Otherwise you would have had to configure these manually.
[[File:05_import_unity.png|400px|link={{filepath:05_import_unity.png}}]]
== Fixing materials ==
If we now drag the toon into the scene, and move around the camera a bit so we can see it in the game view, we can see that it looks a bit odd.
[[File:06_unity_transparency_fail.png|400px|link={{filepath:06_unity_transparency_fail.png}}]]
The reason for this is that Unity fails to take into account that textures may have an alpha channel (or maybe thinks that the user needs to know what he's doing before enabling such). We will thus need to fix
the materials. For each material that has a transparent component, you will need to set the material type to "legacy shaders" -> "transparent" -> "diffuse". If the piece has a normalmap too, you will instead want
"legacy shaders" -> "transparent" -> "bumped diffuse".
[[File:07_fix_material.png|400px|link={{filepath:07_fix_material.png}}]]
Do this for each material that should have a transparent component. In all likelihood you will want to do it for all materials except the skin (which would look odd if it was transparent).
Having done this, the toon should now look more pleasing.
[[File:08_transparency_fixed.png|400px|link={{filepath:08_transparency_fixed.png}}]]
== Making the toon ready for animation ==
As you remember, we assigned a rig to the toon in MakeHuman before exporting it. However, we also need to tell Unity how to use it.
Select the toon in the asset list (IMPORTANT! In the ''asset list'', not in the scene hierarchy). Click the rig tab. Set animation type to "humanoid". Click "configure".
[[File:09_humanoid.png|400px|link={{filepath:09_humanoid.png}}]]
Unity will now ask you to save the scene and apply changes. Do so. You will get to a panel where you can match the toon's bones with Unity's idea of bones. If you are using the game rig, everything should have been matched perfectly from start.
[[File:10_assign_bones.png|x400px|link={{filepath:10_assign_bones.png}}]]
The above is the most important step where things are likely to get messy if you are using another type of rig. If, for example, you use the MHX rig or Rigify, you might have to tinker a bit with the bone-to-bone mappings in the above dialog to get it all right.
To test if things look as if they are working, switch to the "muscles and settings" tab and drag the handles around. If the toon follows, things are working correctly.
[[File:11_bones_working.png|x400px|link={{filepath:11_bones_working.png}}]]
522bcba725b8cd58ae3e6932d3c3b30bd942887d
1255
1253
2016-11-25T09:59:13Z
Joepal
14
wikitext
text/x-wiki
Getting toons to work in Unity may seem a bit intimidating at first, but in practice it only requires relatively few mouse clicks.
== Preparations ==
If you don't have a unity project already, create one. Things will be a lot easier for you if you export directly to the Assets directory, so before exporting from MH the Assets directory should exist.
For this documentation, let's create a new empty Unity project:
[[File:00_create_unity_project.png|400px|link={{filepath:00_create_unity_project.png}}]]
== Exporting from MakeHuman ==
Let's start with modeling a toon. We will here select some clothes/hair pieces with transparent areas so that we can see that we get those things right inside unity.
[[File:01_export_mh_1.png|400px|link={{filepath:01_export_mh_1.png}}]]
An important step is selecting an appropriate rig. Unless you know what you are doing, you will most likely want to use the game rig one here (there are cases where the other ones may be appropriate).
[[File:02_export_mh_2.PNG|400px|link={{filepath:02_export_mh_2.PNG}}]]
You are now ready to export. You will want to use FBX, and the default settings are fine.
[[File:03_export_mh_3.png|400px|link={{filepath:03_export_mh_3.png}}]]
However, before exporting, click the three-dots-button and browse to your Assets folder, so that the toon is exported there:
[[File:04_export_mh_4.png|400px|link={{filepath:04_export_mh_4.png}}]]
You can now click export, and the toon will be exported to Unity.
In Unity you will now see that the toon is available. By exporting directly to the Assets directory, you also got "materials" and "textures" autocreated. Otherwise you would have had to configure these manually.
[[File:05_import_unity.png|400px|link={{filepath:05_import_unity.png}}]]
== Fixing materials ==
If we now drag the toon into the scene, and move around the camera a bit so we can see it in the game view, we can see that it looks a bit odd.
[[File:06_unity_transparency_fail.png|400px|link={{filepath:06_unity_transparency_fail.png}}]]
The reason for this is that Unity fails to take into account that textures may have an alpha channel (or maybe thinks that the user needs to know what he's doing before enabling such). We will thus need to fix
the materials. For each material that has a transparent component, you will need to set the material type to "legacy shaders" -> "transparent" -> "diffuse". If the piece has a normalmap too, you will instead want
"legacy shaders" -> "transparent" -> "bumped diffuse".
[[File:07_fix_material.png|400px|link={{filepath:07_fix_material.png}}]]
Do this for each material that should have a transparent component. In all likelihood you will want to do it for all materials except the skin (which would look odd if it was transparent).
Having done this, the toon should now look more pleasing.
[[File:08_transparency_fixed.png|400px|link={{filepath:08_transparency_fixed.png}}]]
== Making the toon ready for animation ==
As you remember, we assigned a rig to the toon in MakeHuman before exporting it. However, we also need to tell Unity how to use it.
Select the toon in the asset list (IMPORTANT! In the ''asset list'', not in the scene hierarchy). Click the rig tab. Set animation type to "humanoid". Click "configure".
[[File:09_humanoid.png|400px|link={{filepath:09_humanoid.png}}]]
Unity will now ask you to save the scene and apply changes. Do so. You will get to a panel where you can match the toon's bones with Unity's idea of bones. If you are using the game rig, everything should have been matched perfectly from start.
[[File:10_assign_bones.png|x400px|link={{filepath:10_assign_bones.png}}]]
The above is the most important step where things are likely to get messy if you are using another type of rig. If, for example, you use the MHX rig or rigigy, you might have to tinker a bit with the bone-to-bone mappings in the above dialog to get it all right.
To test if things look as if they are working, switch to the "muscles and settings" tab and drag the handles around. If the toon follows, things are working correctly.
[[File:11_bones_working.png|x400px|link={{filepath:11_bones_working.png}}]]
ca4061976d378ed0ca0cbeef0a221810e0a0b7d3
1253
1250
2016-11-25T09:53:01Z
Joepal
14
wikitext
text/x-wiki
Getting toons to work in Unity may seem a bit intimidating at first, but in practice it only requires relatively few mouse clicks.
== Preparations ==
If you don't have a unity project already, create one. Things will be a lot easier for you if you export directly to the Assets directory, so before exporting from MH the Assets directory should exist.
For this documentation, let's create a new empty Unity project:
[[File:00_create_unity_project.png|400px|link={{filepath:00_create_unity_project.png}}]]
== Exporting from MakeHuman ==
Let's start with modeling a toon. We will here select some clothes/hair pieces with transparent areas so that we can see that we get those things right inside unity.
[[File:01_export_mh_1.png|400px|link={{filepath:01_export_mh_1.png}}]]
An important step is selecting an appropriate rig. Unless you know what you are doing, you will most likely want to use the game rig one here (there are cases where the other ones may be appropriate).
[[File:02_export_mh_2.PNG|400px|link={{filepath:02_export_mh_2.PNG}}]]
You are now ready to export. You will want to use FBX, and the default settings are fine.
[[File:03_export_mh_3.png|400px|link={{filepath:03_export_mh_3.png}}]]
However, before exporting, click the three-dots-button and browse to your Assets folder, so that the toon is exported there:
[[File:04_export_mh_4.png|400px|link={{filepath:04_export_mh_4.png}}]]
You can now click export, and the toon will be exported to Unity.
In Unity you will now see that the toon is available. By exporting directly to the Assets directory, you also got "materials" and "textures" autocreated. Otherwise you would have had to configure these manually.
[[File:05_import_unity.png|400px|link={{filepath:05_import_unity.png}}]]
== Fixing materials ==
If we now drag the toon into the scene, and move around the camera a bit so we can see it in the game view, we can see that it looks a bit odd.
[[File:06_unity_transparency_fail.png|400px|link={{filepath:06_unity_transparency_fail.png}}]]
The reason for this is that Unity fails to take into account that textures may have an alpha channel (or maybe thinks that the user needs to know what he's doing before enabling such). We will thus need to fix
the materials. For each material that has a transparent component, you will need to set the material type to "legacy shaders" -> "transparent" -> "diffuse". If the piece has a normalmap too, you will instead want
"legacy shaders" -> "transparent" -> "bumped diffuse".
[[File:07_fix_material.png|400px|link={{filepath:07_fix_material.png}}]]
Do this for each material that should have a transparent component. In all likelihood you will want to do it for all materials except the skin (which would look odd if it was transparent).
Having done this, the toon should now look more pleasing.
[[File:08_transparency_fixed.png|400px|link={{filepath:08_transparency_fixed.png}}]]
== Making the toon ready for animation ==
As you remember, we assigned a rig to the toon in MakeHuman before exporting it. However, we also need to tell Unity how to use it.
Select the toon in the asset list (IMPORTANT! In the ''asset list'', not in the scene hierarchy). Click the rig tab. Set animation type to "humanoid". Click "configure".
[[File:09_humanoid.png|400px|link={{filepath:09_humanoid.png}}]]
Unity will now ask you to save the scene and apply changes. Do so. You will get to a panel where you can match the toon's bones with Unity's idea of bones. If you are using the game rig, everything should have been matched perfectly from start.
[[File:10_assign_bones.png|400px|link={{filepath:10_assign_bones.png}}]]
01737e5a22a328e011201f1a65916b1d3dc46cbb
1250
1246
2016-11-25T09:40:10Z
Joepal
14
wikitext
text/x-wiki
Getting toons to work in Unity may seem a bit intimidating at first, but in practice it only requires relatively few mouse clicks.
== Preparations ==
If you don't have a unity project already, create one. Things will be a lot easier for you if you export directly to the Assets directory, so before exporting from MH the Assets directory should exist.
For this documentation, let's create a new empty Unity project:
[[File:00_create_unity_project.png|400px|link={{filepath:00_create_unity_project.png}}]]
== Exporting from MakeHuman ==
Let's start with modeling a toon. We will here select some clothes/hair pieces with transparent areas so that we can see that we get those things right inside unity.
[[File:01_export_mh_1.png|400px|link={{filepath:01_export_mh_1.png}}]]
An important step is selecting an appropriate rig. Unless you know what you are doing, you will most likely want to use the game rig one here (there are cases where the other ones may be appropriate).
[[File:02_export_mh_2.PNG|400px|link={{filepath:02_export_mh_2.PNG}}]]
You are now ready to export. You will want to use FBX, and the default settings are fine.
[[File:03_export_mh_3.png|400px|link={{filepath:03_export_mh_3.png}}]]
However, before exporting, click the three-dots-button and browse to your Assets folder, so that the toon is exported there:
[[File:04_export_mh_4.png|400px|link={{filepath:04_export_mh_4.png}}]]
You can now click export, and the toon will be exported to Unity.
In Unity you will now see that the toon is available. By exporting directly to the Assets directory, you also got "materials" and "textures" autocreated. Otherwise you would have had to configure these manually.
[[File:05_import_unity.png|400px|link={{filepath:05_import_unity.png}}]]
== Fixing materials ==
If we now drag the toon into the scene, and move around the camera a bit so we can see it in the game view, we can see that it looks a bit odd.
[[File:06_unity_transparency_fail.png|400px|link={{filepath:06_unity_transparency_fail.png}}]]
The reason for this is that Unity fails to take into account that textures may have an alpha channel (or maybe thinks that the user needs to know what he's doing before enabling such). We will thus need to fix
the materials. For each material that has a transparent component, you will need to set the material type to "legacy shaders" -> "transparent" -> "diffuse". If the piece has a normalmap too, you will instead want
"legacy shaders" -> "transparent" -> "bumped diffuse".
[[File:07_fix_material.png|400px|link={{filepath:07_fix_material.png}}]]
Do this for each material that should have a transparent component. In all likelihood you will want to do it for all materials except the skin (which would look odd if it was transparent).
Having done this, the toon should now look more pleasing.
[[File:08_transparency_fixed.png|400px|link={{filepath:08_transparency_fixed.png}}]]
5322125ce278bdbed1d438088ef126e075cfb495
1246
1245
2016-11-25T09:23:17Z
Joepal
14
wikitext
text/x-wiki
Getting toons to work in Unity may seem a bit intimidating at first, but in practice it only requires relatively few mouse clicks.
== Preparations ==
If you don't have a unity project already, create one. Things will be a lot easier for you if you export directly to the Assets directory, so before exporting from MH the Assets directory should exist.
For this documentation, let's create a new empty Unity project:
[[File:00_create_unity_project.png|400px|link={{filepath:00_create_unity_project.png}}]]
== Exporting from MakeHuman ==
Let's start with modeling a toon. We will here select some clothes/hair pieces with transparent areas so that we can see that we get those things right inside unity.
[[File:01_export_mh_1.png|400px]]
An important step is selecting an appropriate rig. Unless you know what you are doing, you will most likely want to use the game rig one here (there are cases where the other ones may be appropriate).
[[File:02_export_mh_2.PNG|400px]]
You are now ready to export. You will want to use FBX, and the default settings are fine.
[[File:03_export_mh_3.png|400px]]
However, before exporting, click the three-dots-button and browse to your Assets folder, so that the toon is exported there:
[[File:04_export_mh_4.png|400px]]
You can now click export, and the toon will be exported to Unity.
In Unity you will now see that the toon is available. By exporting directly to the Assets directory, you also got "materials" and "textures" autocreated. Otherwise you would have had to configure these manually.
[[File:05_import_unity.png|400px]]
== Fixing materials ==
8ccc991eeccd944111c5925274d2ba8e797297ca
1245
1240
2016-11-25T09:18:09Z
Joepal
14
wikitext
text/x-wiki
Getting toons to work in Unity may seem a bit intimidating at first, but in practice it only requires relatively few mouse clicks.
== Preparations ==
If you don't have a unity project already, create one. Things will be a lot easier for you if you export directly to the Assets directory, so before exporting from MH the Assets directory should exist.
For this documentation, let's create a new empty Unity project:
[[File:00_create_unity_project.png|400px]]
== Exporting from MakeHuman ==
Let's start with modeling a toon. We will here select some clothes/hair pieces with transparent areas so that we can see that we get those things right inside unity.
[[File:01_export_mh_1.png|400px]]
An important step is selecting an appropriate rig. Unless you know what you are doing, you will most likely want to use the game rig one here (there are cases where the other ones may be appropriate).
[[File:02_export_mh_2.PNG|400px]]
You are now ready to export. You will want to use FBX, and the default settings are fine.
[[File:03_export_mh_3.png|400px]]
However, before exporting, click the three-dots-button and browse to your Assets folder, so that the toon is exported there:
[[File:04_export_mh_4.png|400px]]
You can now click export, and the toon will be exported to Unity.
In Unity you will now see that the toon is available. By exporting directly to the Assets directory, you also got "materials" and "textures" autocreated. Otherwise you would have had to configure these manually.
[[File:05_import_unity.png|400px]]
== Fixing materials ==
77ce5a3741707f9a3cb0ceaf493d74b2f5f7713d
1240
2016-11-25T09:02:27Z
Joepal
14
Created page with "Getting toons to work in Unity may seem a bit intimidating at first, but in practice it only requires relatively few mouse clicks. == Exporting from MakeHuman Let's start w..."
wikitext
text/x-wiki
Getting toons to work in Unity may seem a bit intimidating at first, but in practice it only requires relatively few mouse clicks.
== Exporting from MakeHuman
Let's start with modeling a toon. We will here select some clothes/hair pieces with transparent areas so that we can see that we get those things right inside unity.
[[File:01_export_mh_1.png|400px]]
An important step is selecting an appropriate rig. Unless you know what you are doing, you will most likely want to use the game rig one here (there are cases where the other ones may be appropriate).
[[File:02_export_mh_2.PNG|400px]]
bfbdf46a9df9342ff3311e023279a210c9904c55
Documentation:Saving models for Unreal Engine Materials
3000
707
2061
2060
2021-03-14T18:51:32Z
Assetdk
89
/* Experimental Skin material */
wikitext
text/x-wiki
When you import the FBX made you exported from Makehuman, both textures and materials are made. You will also notice that UE4 will try to match the materials correctly to the material slots, as seen above in the 'Asset Details' of, in my case, averagedude-base (do not worry about the physics and the skeleton yet!).
To get you started, we need to take a look at the Eye, Eyelashes and Eyebrow materials...
==Getting started==
You will notice that when you import the original FBX file and Import it into Unreal, the "correct" materials are created. You can thus, in principle, export/import all the skin variations to Unreal in this way. BUT, you can also go to the '''makehuman\v1py3\Data\skins''' folder and locate the texture files needed there, and then import them directly to Unreal. For the "upcoming" [[Documentation:Unreal MHC|Unreal MH Character customization]] tool you will have options register the texture files and use then from there.
==Specifics for the individual Materials==
===Eye and teeth materials===
First you can rename the '''high-poly''' material '''high-poly-''blue-eye''''' - or to whatever color you chose! You will probably make more eye materials.
Next you can double-click the material, to open the material-editor and change it to look something like this:
[[File:Ue4-26-eye-material.JPG|800px]]
Your teeth material should look like this:
[[File:Ue4-26-teeth-material.jpg|800px]]
Other parts of the materials my need to be setup like this also. Please add more suggestions, and feel free to edit this page!
===Eyelashes and Eyebrow materials===
Likewise you can set up the eyelashes, and the eyebrows are the same only you do not need ''two sided'' for the bows:
[[File:MH-UE4-Eyelashes-material.png]]
!?You may want to play with the shading model.
===Normal and Experimental Skin material===
I wanted to have a very diverse skin material, that can be used for making a wide range of NPC characters. After experimenting a lot, I found that you can setup parameters and still keep the skin material quite simple. I ended up with a master material, that can be used as an instance... from where I can manipulate ink color and age!
Please note! These are not working all that good! There are some obvious errors. The skin appears to mismatch especially on the back and on the back of the head.
If you know how to correct this please make comments or post the correct solution.
In case you need your characters to be better than this you should '''not''' use the lerp functions as seen in this example?
The problems mentioned here stems from the top part of the materials, you can thus simplify this and simply use specific materials for all the variations old/young/light/dark etc. (Still trying to figure out how to do this with "advanced" materials.)
[[File:MH UE4 MaterialInstance 1.png|1200px]]
====Old/young and age!====
The "master material" looks like this in details - in the first part you can combine young/old+light/dark skin with age.. the textures are all from make human.
[[File:MH_UE4_MaterialMaster_1.png]]
====Old/young and color!====
In the 2nd part you have all the other material parameters. I made the various textures for this using at normal map generator.
[[File:MH_UE4_MaterialMaster_2.png]]
====Customization====
The skin can now be modified using a simple interface in the game. The prototype for this can be seen here: [[Documentation:Unreal_MHC|Unreal MakeCustomization]].
===More materials?===
You can simply drag and drop more textures from the the base-character/textures folder, then duplicate and rename the materials, and apply different textures to the renamed materials. At some point I want to be able to customize/randomize (NPC) characters, but I have not yet done that.
Also you can make materials instances with parameters... I will show you howto, but first we need to turn shape-keys into morph-targets.
122e9b14d796214d0605e70692e526a7c3093eb8
2060
2059
2021-03-14T18:46:26Z
Assetdk
89
/* Experimental Skin material */
wikitext
text/x-wiki
When you import the FBX made you exported from Makehuman, both textures and materials are made. You will also notice that UE4 will try to match the materials correctly to the material slots, as seen above in the 'Asset Details' of, in my case, averagedude-base (do not worry about the physics and the skeleton yet!).
To get you started, we need to take a look at the Eye, Eyelashes and Eyebrow materials...
==Getting started==
You will notice that when you import the original FBX file and Import it into Unreal, the "correct" materials are created. You can thus, in principle, export/import all the skin variations to Unreal in this way. BUT, you can also go to the '''makehuman\v1py3\Data\skins''' folder and locate the texture files needed there, and then import them directly to Unreal. For the "upcoming" [[Documentation:Unreal MHC|Unreal MH Character customization]] tool you will have options register the texture files and use then from there.
==Specifics for the individual Materials==
===Eye and teeth materials===
First you can rename the '''high-poly''' material '''high-poly-''blue-eye''''' - or to whatever color you chose! You will probably make more eye materials.
Next you can double-click the material, to open the material-editor and change it to look something like this:
[[File:Ue4-26-eye-material.JPG|800px]]
Your teeth material should look like this:
[[File:Ue4-26-teeth-material.jpg|800px]]
Other parts of the materials my need to be setup like this also. Please add more suggestions, and feel free to edit this page!
===Eyelashes and Eyebrow materials===
Likewise you can set up the eyelashes, and the eyebrows are the same only you do not need ''two sided'' for the bows:
[[File:MH-UE4-Eyelashes-material.png]]
!?You may want to play with the shading model.
===Experimental Skin material===
I wanted to have a very diverse skin material, that can be used for making a wide range of NPC characters. After experimenting a lot, I found that you can setup parameters and still keep the skin material quite simple. I ended up with a master material, that can be used as an instance... from where I can manipulate ink color and age!
Please note! These are not working all that good! There are some obvious errors. The skin appears to mismatch especially on the back and on the back of the head.
If you know how to correct this please make comments or post the correct solution.
In case you need your characters to be better than this you should '''not''' use the lerp functions as seen in this example?
[[File:MH UE4 MaterialInstance 1.png|1600px]]
====Old/young and age!====
The "master material" looks like this in details - in the first part you can combine young/old+light/dark skin with age.. the textures are all from make human.
[[File:MH_UE4_MaterialMaster_1.png]]
====Old/young and age!====
In the 2nd part you have all the other material parameters. I made the various textures for this using at normal map generator.
[[File:MH_UE4_MaterialMaster_2.png]]
====Customization====
The skin can now be modified using a simple interface in the game. The prototype for this can be seen here: [[Documentation:Unreal_MHC|Unreal MakeCustomization]].
===More materials?===
You can simply drag and drop more textures from the the base-character/textures folder, then duplicate and rename the materials, and apply different textures to the renamed materials. At some point I want to be able to customize/randomize (NPC) characters, but I have not yet done that.
Also you can make materials instances with parameters... I will show you howto, but first we need to turn shape-keys into morph-targets.
fcad8fa2e3ef4ddbd6ce4bc5e3a541ff9f49dc73
2059
2058
2021-03-14T18:44:43Z
Assetdk
89
/* Eye and teeth materials */
wikitext
text/x-wiki
When you import the FBX made you exported from Makehuman, both textures and materials are made. You will also notice that UE4 will try to match the materials correctly to the material slots, as seen above in the 'Asset Details' of, in my case, averagedude-base (do not worry about the physics and the skeleton yet!).
To get you started, we need to take a look at the Eye, Eyelashes and Eyebrow materials...
==Getting started==
You will notice that when you import the original FBX file and Import it into Unreal, the "correct" materials are created. You can thus, in principle, export/import all the skin variations to Unreal in this way. BUT, you can also go to the '''makehuman\v1py3\Data\skins''' folder and locate the texture files needed there, and then import them directly to Unreal. For the "upcoming" [[Documentation:Unreal MHC|Unreal MH Character customization]] tool you will have options register the texture files and use then from there.
==Specifics for the individual Materials==
===Eye and teeth materials===
First you can rename the '''high-poly''' material '''high-poly-''blue-eye''''' - or to whatever color you chose! You will probably make more eye materials.
Next you can double-click the material, to open the material-editor and change it to look something like this:
[[File:Ue4-26-eye-material.JPG|800px]]
Your teeth material should look like this:
[[File:Ue4-26-teeth-material.jpg|800px]]
Other parts of the materials my need to be setup like this also. Please add more suggestions, and feel free to edit this page!
===Eyelashes and Eyebrow materials===
Likewise you can set up the eyelashes, and the eyebrows are the same only you do not need ''two sided'' for the bows:
[[File:MH-UE4-Eyelashes-material.png]]
!?You may want to play with the shading model.
===Experimental Skin material===
I wanted to have a very diverse skin material, that can be used for making a wide range of NPC characters. After experimenting a lot, I found that you can setup parameters and still keep the skin material quite simple. I ended up with a master material, that can be used as an instance... from where I can manipulate ink color and age!
Please note! These are not working all that good! There are some obvious errors. The skin appears to mismatch especially on the back and on the back of the head.
If you know how to correct this please make comments or post the correct solution.
In case you need your characters to be better than this you should '''not''' use the lerp functions as seen in this example?
[[File:MH UE4 MaterialInstance 1.png]]
====Old/young and age!====
The "master material" looks like this in details - in the first part you can combine young/old+light/dark skin with age.. the textures are all from make human.
[[File:MH_UE4_MaterialMaster_1.png]]
====Old/young and age!====
In the 2nd part you have all the other material parameters. I made the various textures for this using at normal map generator.
[[File:MH_UE4_MaterialMaster_2.png]]
====Customization====
The skin can now be modified using a simple interface in the game. The prototype for this can be seen here: [[Documentation:Unreal_MHC|Unreal MakeCustomization]].
===More materials?===
You can simply drag and drop more textures from the the base-character/textures folder, then duplicate and rename the materials, and apply different textures to the renamed materials. At some point I want to be able to customize/randomize (NPC) characters, but I have not yet done that.
Also you can make materials instances with parameters... I will show you howto, but first we need to turn shape-keys into morph-targets.
7207107eaeffc3994146ddd14a2ce78ad16b51f8
2058
2057
2021-03-14T18:43:46Z
Assetdk
89
/* Skin materials */
wikitext
text/x-wiki
When you import the FBX made you exported from Makehuman, both textures and materials are made. You will also notice that UE4 will try to match the materials correctly to the material slots, as seen above in the 'Asset Details' of, in my case, averagedude-base (do not worry about the physics and the skeleton yet!).
To get you started, we need to take a look at the Eye, Eyelashes and Eyebrow materials...
==Getting started==
You will notice that when you import the original FBX file and Import it into Unreal, the "correct" materials are created. You can thus, in principle, export/import all the skin variations to Unreal in this way. BUT, you can also go to the '''makehuman\v1py3\Data\skins''' folder and locate the texture files needed there, and then import them directly to Unreal. For the "upcoming" [[Documentation:Unreal MHC|Unreal MH Character customization]] tool you will have options register the texture files and use then from there.
==Specifics for the individual Materials==
===Eye and teeth materials===
First you can rename the '''high-poly''' material '''high-poly-''blue-eye''''' - or to whatever color you chose! You will probably make more eye materials.
Next you can double-click the material, to open the material-editor and change it to look something like this:
[[File:Ue4-26-eye-material.JPG]]
Your teeth material should look like this:
[[File:Ue4-26-teeth-material.jpg]]
Other parts of the materials my need to be setup like this also. Please add more suggestions, and feel free to edit this page!
===Eyelashes and Eyebrow materials===
Likewise you can set up the eyelashes, and the eyebrows are the same only you do not need ''two sided'' for the bows:
[[File:MH-UE4-Eyelashes-material.png]]
!?You may want to play with the shading model.
===Experimental Skin material===
I wanted to have a very diverse skin material, that can be used for making a wide range of NPC characters. After experimenting a lot, I found that you can setup parameters and still keep the skin material quite simple. I ended up with a master material, that can be used as an instance... from where I can manipulate ink color and age!
Please note! These are not working all that good! There are some obvious errors. The skin appears to mismatch especially on the back and on the back of the head.
If you know how to correct this please make comments or post the correct solution.
In case you need your characters to be better than this you should '''not''' use the lerp functions as seen in this example?
[[File:MH UE4 MaterialInstance 1.png]]
====Old/young and age!====
The "master material" looks like this in details - in the first part you can combine young/old+light/dark skin with age.. the textures are all from make human.
[[File:MH_UE4_MaterialMaster_1.png]]
====Old/young and age!====
In the 2nd part you have all the other material parameters. I made the various textures for this using at normal map generator.
[[File:MH_UE4_MaterialMaster_2.png]]
====Customization====
The skin can now be modified using a simple interface in the game. The prototype for this can be seen here: [[Documentation:Unreal_MHC|Unreal MakeCustomization]].
===More materials?===
You can simply drag and drop more textures from the the base-character/textures folder, then duplicate and rename the materials, and apply different textures to the renamed materials. At some point I want to be able to customize/randomize (NPC) characters, but I have not yet done that.
Also you can make materials instances with parameters... I will show you howto, but first we need to turn shape-keys into morph-targets.
06c874092afcd1775875005935670eab00caab85
2057
2055
2021-03-14T18:42:47Z
Assetdk
89
/* Eye and teeth materials */
wikitext
text/x-wiki
When you import the FBX made you exported from Makehuman, both textures and materials are made. You will also notice that UE4 will try to match the materials correctly to the material slots, as seen above in the 'Asset Details' of, in my case, averagedude-base (do not worry about the physics and the skeleton yet!).
To get you started, we need to take a look at the Eye, Eyelashes and Eyebrow materials...
==Getting started==
You will notice that when you import the original FBX file and Import it into Unreal, the "correct" materials are created. You can thus, in principle, export/import all the skin variations to Unreal in this way. BUT, you can also go to the '''makehuman\v1py3\Data\skins''' folder and locate the texture files needed there, and then import them directly to Unreal. For the "upcoming" [[Documentation:Unreal MHC|Unreal MH Character customization]] tool you will have options register the texture files and use then from there.
==Specifics for the individual Materials==
===Eye and teeth materials===
First you can rename the '''high-poly''' material '''high-poly-''blue-eye''''' - or to whatever color you chose! You will probably make more eye materials.
Next you can double-click the material, to open the material-editor and change it to look something like this:
[[File:Ue4-26-eye-material.JPG]]
Your teeth material should look like this:
[[File:Ue4-26-teeth-material.jpg]]
Other parts of the materials my need to be setup like this also. Please add more suggestions, and feel free to edit this page!
===Eyelashes and Eyebrow materials===
Likewise you can set up the eyelashes, and the eyebrows are the same only you do not need ''two sided'' for the bows:
[[File:MH-UE4-Eyelashes-material.png]]
!?You may want to play with the shading model.
===Skin materials===
I wanted to have a very diverse skin material, that can be used for making a wide range of NPC characters. After experimenting a lot, I found that you can setup parameters and still keep the skin material quite simple. I ended up with a master material, that can be used as an instance... from where I can manipulate ink color and age!
Please note! These are not working all that good! There are some obvious errors. The skin appears to mismatch especially on the back and on the back of the head.
If you know how to correct this please make comments or post the correct solution.
In case you need your characters to be better than this you should '''not''' use the lerp functions as seen in this example?
[[File:MH UE4 MaterialInstance 1.png]]
====Old/young and age!====
The "master material" looks like this in details - in the first part you can combine young/old+light/dark skin with age.. the textures are all from make human.
[[File:MH_UE4_MaterialMaster_1.png]]
====Old/young and age!====
In the 2nd part you have all the other material parameters. I made the various textures for this using at normal map generator.
[[File:MH_UE4_MaterialMaster_2.png]]
====Customization====
The skin can now be modified using a simple interface in the game. The prototype for this can be seen here: [[Documentation:Unreal_MHC|Unreal MakeCustomization]].
===More materials?===
You can simply drag and drop more textures from the the base-character/textures folder, then duplicate and rename the materials, and apply different textures to the renamed materials. At some point I want to be able to customize/randomize (NPC) characters, but I have not yet done that.
Also you can make materials instances with parameters... I will show you howto, but first we need to turn shape-keys into morph-targets.
3efb1759d879553f2dddc7d2e6eb001524b81126
2055
2054
2021-03-14T18:27:41Z
Assetdk
89
/* Skin materials */
wikitext
text/x-wiki
When you import the FBX made you exported from Makehuman, both textures and materials are made. You will also notice that UE4 will try to match the materials correctly to the material slots, as seen above in the 'Asset Details' of, in my case, averagedude-base (do not worry about the physics and the skeleton yet!).
To get you started, we need to take a look at the Eye, Eyelashes and Eyebrow materials...
===Eye and teeth materials===
First you can rename the '''high-poly''' material '''high-poly-''blue-eye''''' - or to whatever color you chose! You will probably make more eye materials.
Next you can double-click the material, to open the material-editor and change it to look something like this:
[[File:Ue4-26-eye-material.JPG]]
Your teeth material should look like this:
[[File:Ue4-26-teeth-material.jpg]]
Other parts of the materials my need to be setup like this also. Please add more suggestions, and feel free to edit this page!
===Eyelashes and Eyebrow materials===
Likewise you can set up the eyelashes, and the eyebrows are the same only you do not need ''two sided'' for the bows:
[[File:MH-UE4-Eyelashes-material.png]]
!?You may want to play with the shading model.
===Skin materials===
I wanted to have a very diverse skin material, that can be used for making a wide range of NPC characters. After experimenting a lot, I found that you can setup parameters and still keep the skin material quite simple. I ended up with a master material, that can be used as an instance... from where I can manipulate ink color and age!
Please note! These are not working all that good! There are some obvious errors. The skin appears to mismatch especially on the back and on the back of the head.
If you know how to correct this please make comments or post the correct solution.
In case you need your characters to be better than this you should '''not''' use the lerp functions as seen in this example?
[[File:MH UE4 MaterialInstance 1.png]]
====Old/young and age!====
The "master material" looks like this in details - in the first part you can combine young/old+light/dark skin with age.. the textures are all from make human.
[[File:MH_UE4_MaterialMaster_1.png]]
====Old/young and age!====
In the 2nd part you have all the other material parameters. I made the various textures for this using at normal map generator.
[[File:MH_UE4_MaterialMaster_2.png]]
====Customization====
The skin can now be modified using a simple interface in the game. The prototype for this can be seen here: [[Documentation:Unreal_MHC|Unreal MakeCustomization]].
===More materials?===
You can simply drag and drop more textures from the the base-character/textures folder, then duplicate and rename the materials, and apply different textures to the renamed materials. At some point I want to be able to customize/randomize (NPC) characters, but I have not yet done that.
Also you can make materials instances with parameters... I will show you howto, but first we need to turn shape-keys into morph-targets.
1280ff567e0a03563714dc51a18c5420c3285b49
2054
2053
2021-03-14T18:26:45Z
Assetdk
89
/* Makehuman UE4 materials */
wikitext
text/x-wiki
When you import the FBX made you exported from Makehuman, both textures and materials are made. You will also notice that UE4 will try to match the materials correctly to the material slots, as seen above in the 'Asset Details' of, in my case, averagedude-base (do not worry about the physics and the skeleton yet!).
To get you started, we need to take a look at the Eye, Eyelashes and Eyebrow materials...
===Eye and teeth materials===
First you can rename the '''high-poly''' material '''high-poly-''blue-eye''''' - or to whatever color you chose! You will probably make more eye materials.
Next you can double-click the material, to open the material-editor and change it to look something like this:
[[File:Ue4-26-eye-material.JPG]]
Your teeth material should look like this:
[[File:Ue4-26-teeth-material.jpg]]
Other parts of the materials my need to be setup like this also. Please add more suggestions, and feel free to edit this page!
===Eyelashes and Eyebrow materials===
Likewise you can set up the eyelashes, and the eyebrows are the same only you do not need ''two sided'' for the bows:
[[File:MH-UE4-Eyelashes-material.png]]
!?You may want to play with the shading model.
===Skin materials===
I wanted to have a very diverse skin material, that can be used for making a wide range of NPC characters. After experimenting a lot, I found that you can setup parameters and still keep the skin material quite simple. I ended up with a master material, that can be used as an instance... from where I can manipulate ink color and age!
Please note! These are not working all that good! There are some obvious errors. The skin appears to mismatch especially on the back and on the back of the head. I you know how to correct this please make comments or post the correct solution.
In case you need your characters to be better than this you should not use the lerp functions as seen in this example?
[[File:MH UE4 MaterialInstance 1.png]]
====Old/young and age!====
The "master material" looks like this in details - in the first part you can combine young/old+light/dark skin with age.. the textures are all from make human.
[[File:MH_UE4_MaterialMaster_1.png]]
====Old/young and age!====
In the 2nd part you have all the other material parameters. I made the various textures for this using at normal map generator.
[[File:MH_UE4_MaterialMaster_2.png]]
====Customization====
The skin can now be modified using a simple interface in the game. The prototype for this can be seen here: [[Documentation:Unreal_MHC|Unreal MakeCustomization]].
===More materials?===
You can simply drag and drop more textures from the the base-character/textures folder, then duplicate and rename the materials, and apply different textures to the renamed materials. At some point I want to be able to customize/randomize (NPC) characters, but I have not yet done that.
Also you can make materials instances with parameters... I will show you howto, but first we need to turn shape-keys into morph-targets.
60e0e7a1230664b80396d5ce01b8e4db77b75593
2053
2021-03-14T18:26:00Z
Assetdk
89
Created page with "==Makehuman UE4 materials== When you import the FBX made you exported from Makehuman, both textures and materials are made. You will also notice that UE4 will try to match the..."
wikitext
text/x-wiki
==Makehuman UE4 materials==
When you import the FBX made you exported from Makehuman, both textures and materials are made. You will also notice that UE4 will try to match the materials correctly to the material slots, as seen above in the 'Asset Details' of, in my case, averagedude-base (do not worry about the physics and the skeleton yet!).
To get you started, we need to take a look at the Eye, Eyelashes and Eyebrow materials...
===Eye and teeth materials===
First you can rename the '''high-poly''' material '''high-poly-''blue-eye''''' - or to whatever color you chose! You will probably make more eye materials.
Next you can double-click the material, to open the material-editor and change it to look something like this:
[[File:Ue4-26-eye-material.JPG]]
Your teeth material should look like this:
[[File:Ue4-26-teeth-material.jpg]]
Other parts of the materials my need to be setup like this also. Please add more suggestions, and feel free to edit this page!
===Eyelashes and Eyebrow materials===
Likewise you can set up the eyelashes, and the eyebrows are the same only you do not need ''two sided'' for the bows:
[[File:MH-UE4-Eyelashes-material.png]]
!?You may want to play with the shading model.
===Skin materials===
I wanted to have a very diverse skin material, that can be used for making a wide range of NPC characters. After experimenting a lot, I found that you can setup parameters and still keep the skin material quite simple. I ended up with a master material, that can be used as an instance... from where I can manipulate ink color and age!
Please note! These are not working all that good! There are some obvious errors. The skin appears to mismatch especially on the back and on the back of the head. I you know how to correct this please make comments or post the correct solution.
In case you need your characters to be better than this you should not use the lerp functions as seen in this example?
[[File:MH UE4 MaterialInstance 1.png]]
====Old/young and age!====
The "master material" looks like this in details - in the first part you can combine young/old+light/dark skin with age.. the textures are all from make human.
[[File:MH_UE4_MaterialMaster_1.png]]
====Old/young and age!====
In the 2nd part you have all the other material parameters. I made the various textures for this using at normal map generator.
[[File:MH_UE4_MaterialMaster_2.png]]
====Customization====
The skin can now be modified using a simple interface in the game. The prototype for this can be seen here: [[Documentation:Unreal_MHC|Unreal MakeCustomization]].
===More materials?===
You can simply drag and drop more textures from the the base-character/textures folder, then duplicate and rename the materials, and apply different textures to the renamed materials. At some point I want to be able to customize/randomize (NPC) characters, but I have not yet done that.
Also you can make materials instances with parameters... I will show you howto, but first we need to turn shape-keys into morph-targets.
84f01e95c41d90f09ce0a689363fa3ca8ca0a0f0
Documentation:Saving models for Unreal Engine and how to import them there
3000
582
2104
2103
2021-05-11T20:00:29Z
Assetdk
89
/* UE4 import, and retarget */
wikitext
text/x-wiki
::'''Please take a look at this page: [[Documentation:MH4UE|MH4UE]] - to get an overview of things you can use to get your Makehuman characters into Unreal Engine!'''
Also look at the Forum here for more tips [http://www.makehumancommunity.org/forum/viewtopic.php?f=14&t=18462&p=52859&hilit=MH4UE#p52859 MH4UE].
There are, currently, several pages for this, describing the process of getting MH to Blender and then into Unreal. And one describing the addon that will add more "shape keys" to your characters (while in blender).
* [[Documentation:Saving_models_for_Unreal_Engine_and_how_to_import_them_there|Saving models for Unreal Engine and how to import them there]].
* [[Documentation:Saving_models_for_Unreal_Engine_Materials|How to setup Unreal materials]].
* [[Documentation:Unreal_MHC|Unreal MakeCustomization]].
* [[Documentation:MHBlenderTools: MakeShapes|MakeShapes - getting more shape keys/morph targets]]
* [[Documentation:MPFB|MakeHuman Plugin For Blender]].
=What can and can't be done?=
I have been working on getting different characters into UE4 for some time, and this have been a real hassle!
On this page I want to summarize what I managed to get done using a workflow that involves Blender. I have had a focus on not going into much details regarding any of the tools, but you will need to know a few things. Even though this looks like a trivial task there are some pitfalls and also there are some things that can not be done, or I have just not found out how to. I will eventually also add links to all the YT tutorials I found helpful.
I found that working with Makehuman very easy, so focus will be very UE4 how to specific.
This is what I will cover thus far:
* Create and save any MH character in Makehuman. Basic stuff, and important things to avoid.
* Getting the character into Blender - import or link?
* Setup Blender for Export, shape keys and morph targets
* First import into UE4
* Introduction to more shape keys
* Mixamo animations
This is the stuff that I did not cover - yet:
* Animations for talking (other tutorials may help)
* Making custom cloth
* Hair
This is the stuff I can not get to work:
* Retargeting to Advanced Locomotion System V3/4
* ALS got something to work! [[Documentation:Saving models for Unreal Engine and how to import them there/ALS]]
* [[Documentation:Unreal Engine ALS V4]]
Since I am using/learning Blender 2.8, I want to share a bit of bonus info. I managed to make one of the free UE4 packages work a bit "better". That is your characters should have some transportation. This is how:
* [[Documentation:Unreal Engine Vehicle Variety Pack]]
=Getting started=
I wanted a quick way to populate a UE4 game, preferably with an unlimited number of varied characters of high quality. This has proven to be a bit harder than expected. The workflow for making characters is not as trivial as one would want but this guide should make it a bit more easy to do. I will focus on describing the "straight" path from Makehuman and into UE4 - so you will not find too much details about Blender. Please refer to Blender specific pages for more on that.
==Need to know==
There are a few terms that you need to know, say you need to know that you will import FBX, textures and other files into UE4. Also you will need to know that a Character consists of a '''Mesh''', a '''Skeleton''' and '''''materials''''' (that refers to textures). I will try to elaborate on these subjects as we go along...
==Making a base-character==
'''IMPORTANT new comment:'''
There is now tree different custom A-poses that you can use - i currently recommend the one highlighted in the list.
Please read more in the [[http://www.makehumancommunity.org/forum/viewtopic.php?f=14&t=18462&p=53368#p53368 forum]], for more information.
===Set up Base-Character(s)===
Makehuman provides a range of predefined characters that is supposed to work as-is. You can just load a character, export it to FBX and import that into UE4 - and after a bit of work you can have a working player character! There are however a few pitfalls, so I suggest you make one (or more) base-character(s) that you can elaborate on as you go along. I will be working with ''''''averagedude'''''' as my base-character.
These are the steps to make the base characters:
* Open Makehuman
* Select the files tab and load the character
'''Under 'Geometries''''
* Remove cloth - (uncheck Hide faces under cloth)!
* Remove hair
* Add Teeth
* Choose Topology - '''I have no advice on this - but see comment below!'''
* Chose Eyebrows/Eyelashes, these can be changed as you go along - as can eye colors!
* Add Tongue01 (again I have no advice/recommendation on that, yet)
'''Under 'Materials'''' - I will show you how to work with UE4 "advanced" materials:
* Chose any skin that you like,
* Chose any eyes that you like
'''Under 'Pose/Animate''''
* Chose Skeleton: Uengine - if you do not have this already you my get it via the community tab?
* Chose Expressions: none
* For the POSE chose the Apose_ue
* [[File:MH_UE_Poses.png]]
* Finally, from one of the poses documentations I found this comment: This pose is a near drop in fit for the Unreal mannequin using a generic male with standard proportions and 187.5 cm height.
(You should probably use this, I have been using a height of 168-190, where the better result came from 190)
And this is it! But there is one 'important' option you need know about - you need to '''uncheck''' the Smooth button!
The smooth button/option: [[File:MH-Smooth-option.png]] should be unchecked... that will make your character a bit less attractive, but this will preserve the shape-keys!
Makehuman comes with some 50-60 '''shape-keys''' and these will all be available as '''morph-targets''' in UE4. I will show you how to make more shape-keys, using makehuman+blender!
Now it is time to save your base-character - even though you have made very few changes to the file you should save this file under the save tab and name it
<your-name>-base (say averagedude-base), you can even add your very own tag 'base' to this.
When you save the file like this you will be able to reload it, and we need that later!
====Choose Topology/Shape keys====
When you make your base character without smoothing you get shape keys, and you want to share these between different characters. Specifically you would probably want to share face morphs between male and female characters - and there may be other base character variations, say old/young/child etc.
Later I will focus on how to make new shape keys, using blender - depending on how you want to do this you may want to '''chose Topology that is compatible between the different characters!''' That is you may be able to transfer one "shape" from a male character to a female character, but the result will depend on ''topology compatibility''. I will/may thus update this section to make sure
'''Shape key names''' will be the same for all of the base characters, as they come from - however you will be able to make new keys. You must name these keys the same for all MH characters, like these share the same skeleton (MH_Skelton) they must hold all the same shape keys names. If they don't your game may "break"....
===Export your base-character===
You can now take a break - or you can export your work. There are really tree options for you to look at:
* Save the FBX file directly - make sure to chose the binary file format, if you want to import this file to UE.
* Save a MHX2 file (you may need to install this as a option/utility, find our elsewhere!)
* Load the character to '''Blender''' directly via the link (I will get back to what can be done using that!)
I suggest that you save your base-character now, in both formats - FBX and MHX2! Make a specific 'Base-Characters' folder, because you will need it!
When you export the FBX use these options:
[[File:MH-FBX-export-options.png]]
This is the result for me, you should see something like this also:
[[File:MH-Base-Character-Folder.png]]
You should also see that there is a sub-folder, called Textures - this is where the different textures are saved and it should now look like this:
[[File:MH-Base-Character-Folder-textures.png]]
You can now go over all of the different textures, so you will have a wide selection to chose from. Textures are saved every time you save a FBX file!
Say, I change the base-characters textures, saved the FBX - and this is what I got:
[[File:MH-Base-Character-Folder-textures2.png]]
===Import your base-character to UE4 - FBX===
The FBX file will actually import directly to UE4, but there are a few problems! You should export your FBX file as Binary FBX, and you will get the most out of it. After this you can get to this result (after adjusting the materials, as seen below):
[[File:MH-MH-FBX-imported.png]]
Your character can look like this (after adjusting materials) - pretty good:
[[File:MH-MH-FBX-imported-materials.png]]
'''HOWEVER, you have lost the morph-targets! And as you probably noticed, the UE4 standard FBX import do import them!'''
I will get back to what to do about the shape-keys... but let make the materials first?
==Makehuman UE4 materials==
The details for setting up materials was moved to this section: '''[[Documentation:Saving models for Unreal Engine Materials|Materials]]'''
====Customization====
The skin can now be modified using a simple interface in the game. The prototype for this can be seen here: [[Documentation:Unreal_MHC|Unreal MakeCustomization]].
===More materials?===
You can simply drag and drop more textures from the the base-character/textures folder, then duplicate and rename the materials, and apply different textures to the renamed materials. At some point I want to be able to customize/randomize (NPC) characters, but I have not yet done that.
Also you can make materials instances with parameters... I will show you howto, but first we need to turn shape-keys into morph-targets.
=Use Blender v 2.80 to get more!!=
For some reason the exported FBX file is not organized in a way so you will get the shape-keys imported directly to UE4. However when you follow the next steps, you will not get the correct materials imported, so I recommend that you run FBX import as shown above, and save the textures/materials in a separate folder.
If you are new to Blender please run a few tutorials specifically on on how to import/export, and also get to know about collections - you can do a lot in Blender and you can get confused!
==What will be done here?==
I will show you how to:
* Import your MHX2 files, to preserve the shape-keys
* Export FBX files, so UE4 will import correctly with morph-targets
* Apply expressions etc. to your base character
* Import these to your Blender file and apply the expressions as '''new shape keys'''
==But, first import and inspect FBX and MHX2!==
As you may remember you exported two files, the FBX file and the MHX2 file. You want to import both of these files into Blender, so you need two Collections, called FBX and MHX2. You right-click on the 'Scene collection' select 'New' and rename the collections to 'FBX' and 'MHX2'... I also added Scene collection and dragged the Camera and Light there (as I deleted the box). After this you should see something link this (the small Icons may be different):
[[File:MH-Base-Blender-setup.png]]
When you import your FBX file select/highlight the FBX collection, so the FBX data get imported into that collection. You can use the standard import options. For MHX2 you need to change the setting to match those you see below - when you find they are correct you can click the + sign, marked with a yellow arrow, and save the setting with your own setting-name.
(You may notice that the character you imported is out of proportions, some 17-18 meters high, we will correct that when we export to UE4!)
[[File:MH-Blender-FBX-import-options.png]]
===Inspect the results, in Blender===
Now is a good time to save the Blender file. You should save this in the same folder as the FBX and MHX2. I call this file averagedude-base.blend.
If you did this approximately as described the result should be munch like below. And you will probably notice that there is some structural differences. You can see that by looking at the small icons [[File:MH-Blender-base-imported-icons.png]], that represent where modifiers, vertex groups and Object data is stored! Specifically the Object data holds the shape-keys and those were not imported. (perhaps because I did not use the correct FBX import options - but the same happens in UE4!).
[[File:MH-Blender-base-imported.png]]
You will notice that the MHX2 version of your character holds the Object data (the triangle) and that shape-keys can be seen there!
==Export the FBX for your base character, and import to UE4==
The next step is crucial for getting things to work in UE4, it is not very complicated but you need to have a plan.
When you did this correctly you should be able to get the following results:
* Import your base character into UE4
* Create retargeting for your common skeleton - called MH_Skeleton
* Retarget the Maniqin animations to your base character(s)
* Get additional Mixamo animations
===FBX export settings===
'''Important!''' Before you go any further you should rename your base character to '''main_root''', like this:
[[File:MH-Base-FBX-main-root.png]]
.... you should do this for all base characters! main_root will be the root bone in your skeleton. When you do it like this, all of your base characters will be able to share the same skeleton!
Now select the MHX2 collection where you have the character, and go to Export FBX.
I have made a 'Operator preset' for the FBX export, this is the options you need to set:
[[File:MH-Base-FBX-operator-presets.png]]
Place the FBX file in the same folder as where you placed the original FBX and the MHX2. You probably do not need the FBX that you made with Makehuman, and you can always make it again?
(You may however want to export more FBX files from Makehuman, simply to get all of the textures. We will look more into how you can use the skin textures!)
==UE4 import, and retarget ==
Go to your UE4 project and make a MH folder containing a new avaragedude folder, and import your base character there!
During the import of the FBX file from Blender into UE4 you must enable the '''Import Morp Targets''' checkbox manually (expand the Mesh section)!
Observe that this character looks very much like the one you did already import from the original FBX, there are little difference - yet you want to set up this as your real base character.
Also you want to rename the skeleton to '''MH_Skeleton'''! And you want to open the skeleton, and retarget it to the humanoid rig... this should look like this:
[[File:MH-Base-Skeleton-Retarget.png]]
Make sure that your character is in T-Pose, as you want to retarget the Mannequin animations to your characters MH_Skeleton!
Make a animation folder in your MH, perhaps even Mannequin folder?
You go to the UE4 folder: Content/Mannequin/Animations and right-click on this animation: '''ThirdPerson_AnimBP'''
Select retarget and choose MH_Skeleton as your target - also select the animation folder you made before, something like this:
[[File:MH-Base-Animation-Retarget.png]]
'''Important update:''' You want to use the Pose called '''"UE4 A-Pose for generic male"''' - that can be downloaded from the Community/Download assets/pose.
You may want to rename your new ThirdPerson_AnimBP to '''''MH''_ThirdPerson_AnimBP''' - or perhaps simply MH_AnimBP?
===Translation Retargeting===
After the retargeting the animations will still look odd. You go to the skeleton tree, then check off the "Show Retargeting Options" and set those at and below the spline to Skeleton (recursively) - that looks something like this:
:(Make sure to set the translation to skeleton for ALL bones, but the two first ones)
[[File:MH-Anim-Skeleton.png]]
=More shape keys, made in Blender 2.8=
I have not yet made any target in MH, also I have not had much luck in using the two blender addons. Frankly I don't really understand what the different buttons does, most of them are not active... perhaps they make sens if you use Blender a lot?
But I will show you different ways to get expressions, targets and skeleton animations(!) to shape keys, so then will be new morph targets in UE4!
Before you get started you should probably look at a few Blender tutorials regarding this - these are good:
===Tutorials===
General introduction to MHX2 import and animation. However '''do not''' import the resulting characters into UE4?
{{#ev:youtube|2P1t_nogbGs}}
Short general introduction to using shape keys in Blender 2.8:
{{#ev:youtube|e675Ulc7QL4}}
==Expressions and targets==
Make sure that you have your original base character saved and load it into Makehuman. Remember to check that your base character is in the T-Pose, do not change that!
'''Just in case:''' I recommend that you keep a copy of this file as well as all the blender file etc.
You should also have Blender open and load the .blender file where you saved both your FBX and the MHX2.
Before you go on do as follows: move the MHX2 character to x 10m, so the entire character moves to the left (right to your front view) - this will make it more easy for you to work with! (Save the blender file!)
'''This is the general workflow for transfer of expressions:'''
Makehuman:
* Go to the Pose/Animate tab and select Expressions. From the list select the first expression, Anger01.
* Save the character as .mhx2 - but to a different file name: averagedude-base-expression.mhx2.
Blender:
* In blender, deselect all the collections
* Import the file you made, using the same operator presets as yo saved them.
* Activate your Base character collection and you will have two characters side by side - one base character and a very angry one!
* Go to object mode
* '''Left-click-select''' the angry guy first, then '''shift-left-click''' your base character.
* Go to the vertex tab/shape key, and click on the little down arrow, and select the ''Join as shapes'' - like this:
[[File:MH-Blender-shapekey1.png]]
This will make a brand new shape key: Averagedude_base_expression:Proxy
* You rename the shape key by a double-click and call it '''Exp_Anger01'''..
* ... and assign the Vertex group to head
[[File:MH-Blender-shapekey2.png]]
In case you can not select ''Join as shapes'' the two characters were not selected in the right order, or perhaps the topology is not the same. Blender will show this as a message some where at the bottom of the screen. I this happens try the blender workflow, in this paragraph only , again!
You can now try to change the value for the shape key, and you should see that your base character can get angry!
When this worked for you you can save the blender file! And you should now do your very first re-import of the FBX. You save your base character in a FBX and Import it to UE4. To be 100% safe you can save and import to different names and folders, but in the end you will re-import the base character each time you do one or more new shape keys.
When you see this working in UE4, you can go on to the next expressions - I simply delete the Averagedude_base_expression collection and save the next expression in the same file. You can naturally do as many expressions as you want. leave some out etc... as you like!
==Observations about Blender 2.8==
You may notice that you can mess this up, so please save your blender file and back up! Say you can easily merge your base character with the expression MHX2 or do something else to corrupt your work!
Please also note that the Vertex Group/relative to, '''head''' and '''Basis''', are rather important! The shape key will change the entire body, to the T-Pose, if head is not set. Likewise you can make some shape keys relative to an other shape key - this will be important a bit later, when we do more "advanced" stuff!
=Blender 2.8 - a bit more advanced?=
This is very fine - we can make your base character use all the expressions, and they can be combined! Also you can tamper with them in UE4, say you can combine them and you can even set minus values, or extreme values not "allowed" in Blender. But you obviously want more than that?
Perhaps you can find some special "targets" you want to use?
5f5a1001e218403153b3c3c486bac90c1f9d4278
2103
2083
2021-05-11T19:54:01Z
Assetdk
89
/* Translation Retargeting */
wikitext
text/x-wiki
::'''Please take a look at this page: [[Documentation:MH4UE|MH4UE]] - to get an overview of things you can use to get your Makehuman characters into Unreal Engine!'''
Also look at the Forum here for more tips [http://www.makehumancommunity.org/forum/viewtopic.php?f=14&t=18462&p=52859&hilit=MH4UE#p52859 MH4UE].
There are, currently, several pages for this, describing the process of getting MH to Blender and then into Unreal. And one describing the addon that will add more "shape keys" to your characters (while in blender).
* [[Documentation:Saving_models_for_Unreal_Engine_and_how_to_import_them_there|Saving models for Unreal Engine and how to import them there]].
* [[Documentation:Saving_models_for_Unreal_Engine_Materials|How to setup Unreal materials]].
* [[Documentation:Unreal_MHC|Unreal MakeCustomization]].
* [[Documentation:MHBlenderTools: MakeShapes|MakeShapes - getting more shape keys/morph targets]]
* [[Documentation:MPFB|MakeHuman Plugin For Blender]].
=What can and can't be done?=
I have been working on getting different characters into UE4 for some time, and this have been a real hassle!
On this page I want to summarize what I managed to get done using a workflow that involves Blender. I have had a focus on not going into much details regarding any of the tools, but you will need to know a few things. Even though this looks like a trivial task there are some pitfalls and also there are some things that can not be done, or I have just not found out how to. I will eventually also add links to all the YT tutorials I found helpful.
I found that working with Makehuman very easy, so focus will be very UE4 how to specific.
This is what I will cover thus far:
* Create and save any MH character in Makehuman. Basic stuff, and important things to avoid.
* Getting the character into Blender - import or link?
* Setup Blender for Export, shape keys and morph targets
* First import into UE4
* Introduction to more shape keys
* Mixamo animations
This is the stuff that I did not cover - yet:
* Animations for talking (other tutorials may help)
* Making custom cloth
* Hair
This is the stuff I can not get to work:
* Retargeting to Advanced Locomotion System V3/4
* ALS got something to work! [[Documentation:Saving models for Unreal Engine and how to import them there/ALS]]
* [[Documentation:Unreal Engine ALS V4]]
Since I am using/learning Blender 2.8, I want to share a bit of bonus info. I managed to make one of the free UE4 packages work a bit "better". That is your characters should have some transportation. This is how:
* [[Documentation:Unreal Engine Vehicle Variety Pack]]
=Getting started=
I wanted a quick way to populate a UE4 game, preferably with an unlimited number of varied characters of high quality. This has proven to be a bit harder than expected. The workflow for making characters is not as trivial as one would want but this guide should make it a bit more easy to do. I will focus on describing the "straight" path from Makehuman and into UE4 - so you will not find too much details about Blender. Please refer to Blender specific pages for more on that.
==Need to know==
There are a few terms that you need to know, say you need to know that you will import FBX, textures and other files into UE4. Also you will need to know that a Character consists of a '''Mesh''', a '''Skeleton''' and '''''materials''''' (that refers to textures). I will try to elaborate on these subjects as we go along...
==Making a base-character==
'''IMPORTANT new comment:'''
There is now tree different custom A-poses that you can use - i currently recommend the one highlighted in the list.
Please read more in the [[http://www.makehumancommunity.org/forum/viewtopic.php?f=14&t=18462&p=53368#p53368 forum]], for more information.
===Set up Base-Character(s)===
Makehuman provides a range of predefined characters that is supposed to work as-is. You can just load a character, export it to FBX and import that into UE4 - and after a bit of work you can have a working player character! There are however a few pitfalls, so I suggest you make one (or more) base-character(s) that you can elaborate on as you go along. I will be working with ''''''averagedude'''''' as my base-character.
These are the steps to make the base characters:
* Open Makehuman
* Select the files tab and load the character
'''Under 'Geometries''''
* Remove cloth - (uncheck Hide faces under cloth)!
* Remove hair
* Add Teeth
* Choose Topology - '''I have no advice on this - but see comment below!'''
* Chose Eyebrows/Eyelashes, these can be changed as you go along - as can eye colors!
* Add Tongue01 (again I have no advice/recommendation on that, yet)
'''Under 'Materials'''' - I will show you how to work with UE4 "advanced" materials:
* Chose any skin that you like,
* Chose any eyes that you like
'''Under 'Pose/Animate''''
* Chose Skeleton: Uengine - if you do not have this already you my get it via the community tab?
* Chose Expressions: none
* For the POSE chose the Apose_ue
* [[File:MH_UE_Poses.png]]
* Finally, from one of the poses documentations I found this comment: This pose is a near drop in fit for the Unreal mannequin using a generic male with standard proportions and 187.5 cm height.
(You should probably use this, I have been using a height of 168-190, where the better result came from 190)
And this is it! But there is one 'important' option you need know about - you need to '''uncheck''' the Smooth button!
The smooth button/option: [[File:MH-Smooth-option.png]] should be unchecked... that will make your character a bit less attractive, but this will preserve the shape-keys!
Makehuman comes with some 50-60 '''shape-keys''' and these will all be available as '''morph-targets''' in UE4. I will show you how to make more shape-keys, using makehuman+blender!
Now it is time to save your base-character - even though you have made very few changes to the file you should save this file under the save tab and name it
<your-name>-base (say averagedude-base), you can even add your very own tag 'base' to this.
When you save the file like this you will be able to reload it, and we need that later!
====Choose Topology/Shape keys====
When you make your base character without smoothing you get shape keys, and you want to share these between different characters. Specifically you would probably want to share face morphs between male and female characters - and there may be other base character variations, say old/young/child etc.
Later I will focus on how to make new shape keys, using blender - depending on how you want to do this you may want to '''chose Topology that is compatible between the different characters!''' That is you may be able to transfer one "shape" from a male character to a female character, but the result will depend on ''topology compatibility''. I will/may thus update this section to make sure
'''Shape key names''' will be the same for all of the base characters, as they come from - however you will be able to make new keys. You must name these keys the same for all MH characters, like these share the same skeleton (MH_Skelton) they must hold all the same shape keys names. If they don't your game may "break"....
===Export your base-character===
You can now take a break - or you can export your work. There are really tree options for you to look at:
* Save the FBX file directly - make sure to chose the binary file format, if you want to import this file to UE.
* Save a MHX2 file (you may need to install this as a option/utility, find our elsewhere!)
* Load the character to '''Blender''' directly via the link (I will get back to what can be done using that!)
I suggest that you save your base-character now, in both formats - FBX and MHX2! Make a specific 'Base-Characters' folder, because you will need it!
When you export the FBX use these options:
[[File:MH-FBX-export-options.png]]
This is the result for me, you should see something like this also:
[[File:MH-Base-Character-Folder.png]]
You should also see that there is a sub-folder, called Textures - this is where the different textures are saved and it should now look like this:
[[File:MH-Base-Character-Folder-textures.png]]
You can now go over all of the different textures, so you will have a wide selection to chose from. Textures are saved every time you save a FBX file!
Say, I change the base-characters textures, saved the FBX - and this is what I got:
[[File:MH-Base-Character-Folder-textures2.png]]
===Import your base-character to UE4 - FBX===
The FBX file will actually import directly to UE4, but there are a few problems! You should export your FBX file as Binary FBX, and you will get the most out of it. After this you can get to this result (after adjusting the materials, as seen below):
[[File:MH-MH-FBX-imported.png]]
Your character can look like this (after adjusting materials) - pretty good:
[[File:MH-MH-FBX-imported-materials.png]]
'''HOWEVER, you have lost the morph-targets! And as you probably noticed, the UE4 standard FBX import do import them!'''
I will get back to what to do about the shape-keys... but let make the materials first?
==Makehuman UE4 materials==
The details for setting up materials was moved to this section: '''[[Documentation:Saving models for Unreal Engine Materials|Materials]]'''
====Customization====
The skin can now be modified using a simple interface in the game. The prototype for this can be seen here: [[Documentation:Unreal_MHC|Unreal MakeCustomization]].
===More materials?===
You can simply drag and drop more textures from the the base-character/textures folder, then duplicate and rename the materials, and apply different textures to the renamed materials. At some point I want to be able to customize/randomize (NPC) characters, but I have not yet done that.
Also you can make materials instances with parameters... I will show you howto, but first we need to turn shape-keys into morph-targets.
=Use Blender v 2.80 to get more!!=
For some reason the exported FBX file is not organized in a way so you will get the shape-keys imported directly to UE4. However when you follow the next steps, you will not get the correct materials imported, so I recommend that you run FBX import as shown above, and save the textures/materials in a separate folder.
If you are new to Blender please run a few tutorials specifically on on how to import/export, and also get to know about collections - you can do a lot in Blender and you can get confused!
==What will be done here?==
I will show you how to:
* Import your MHX2 files, to preserve the shape-keys
* Export FBX files, so UE4 will import correctly with morph-targets
* Apply expressions etc. to your base character
* Import these to your Blender file and apply the expressions as '''new shape keys'''
==But, first import and inspect FBX and MHX2!==
As you may remember you exported two files, the FBX file and the MHX2 file. You want to import both of these files into Blender, so you need two Collections, called FBX and MHX2. You right-click on the 'Scene collection' select 'New' and rename the collections to 'FBX' and 'MHX2'... I also added Scene collection and dragged the Camera and Light there (as I deleted the box). After this you should see something link this (the small Icons may be different):
[[File:MH-Base-Blender-setup.png]]
When you import your FBX file select/highlight the FBX collection, so the FBX data get imported into that collection. You can use the standard import options. For MHX2 you need to change the setting to match those you see below - when you find they are correct you can click the + sign, marked with a yellow arrow, and save the setting with your own setting-name.
(You may notice that the character you imported is out of proportions, some 17-18 meters high, we will correct that when we export to UE4!)
[[File:MH-Blender-FBX-import-options.png]]
===Inspect the results, in Blender===
Now is a good time to save the Blender file. You should save this in the same folder as the FBX and MHX2. I call this file averagedude-base.blend.
If you did this approximately as described the result should be munch like below. And you will probably notice that there is some structural differences. You can see that by looking at the small icons [[File:MH-Blender-base-imported-icons.png]], that represent where modifiers, vertex groups and Object data is stored! Specifically the Object data holds the shape-keys and those were not imported. (perhaps because I did not use the correct FBX import options - but the same happens in UE4!).
[[File:MH-Blender-base-imported.png]]
You will notice that the MHX2 version of your character holds the Object data (the triangle) and that shape-keys can be seen there!
==Export the FBX for your base character, and import to UE4==
The next step is crucial for getting things to work in UE4, it is not very complicated but you need to have a plan.
When you did this correctly you should be able to get the following results:
* Import your base character into UE4
* Create retargeting for your common skeleton - called MH_Skeleton
* Retarget the Maniqin animations to your base character(s)
* Get additional Mixamo animations
===FBX export settings===
'''Important!''' Before you go any further you should rename your base character to '''main_root''', like this:
[[File:MH-Base-FBX-main-root.png]]
.... you should do this for all base characters! main_root will be the root bone in your skeleton. When you do it like this, all of your base characters will be able to share the same skeleton!
Now select the MHX2 collection where you have the character, and go to Export FBX.
I have made a 'Operator preset' for the FBX export, this is the options you need to set:
[[File:MH-Base-FBX-operator-presets.png]]
Place the FBX file in the same folder as where you placed the original FBX and the MHX2. You probably do not need the FBX that you made with Makehuman, and you can always make it again?
(You may however want to export more FBX files from Makehuman, simply to get all of the textures. We will look more into how you can use the skin textures!)
==UE4 import, and retarget ==
Go to your UE4 project and make a MH folder containing a new avaragedude folder, and import your base character there!
During the import of the FBX file from Blender into UE4 you must enable the '''Import Morp Targets''' checkbox manually (expand the Mesh section)!
Observe that this character looks very much like the one you did already import from the original FBX, there are little difference - yet you want to set up this as your real base character.
Also you want to rename the skeleton to '''MH_Skeleton'''! And you want to open the skeleton, and retarget it to the humanoid rig... this should look like this:
[[File:MH-Base-Skeleton-Retarget.png]]
Make sure that your character is in T-Pose, as you want to retarget the Mannequin animations to your characters MH_Skeleton!
Make a animation folder in your MH, perhaps even Mannequin folder?
You go to the UE4 folder: Content/Mannequin/Animations and right-click on this animation: '''ThirdPerson_AnimBP'''
Select retarget and choose MH_Skeleton as your target - also select the animation folder you made before, something like this:
[[File:MH-Base-Animation-Retarget.png]]
You may want to rename your new ThirdPerson_AnimBP to '''''MH''_ThirdPerson_AnimBP''' - or perhaps simply MH_AnimBP?
===Translation Retargeting===
After the retargeting the animations will still look odd. You go to the skeleton tree, then check off the "Show Retargeting Options" and set those at and below the spline to Skeleton (recursively) - that looks something like this:
:(Make sure to set the translation to skeleton for ALL bones, but the two first ones)
[[File:MH-Anim-Skeleton.png]]
=More shape keys, made in Blender 2.8=
I have not yet made any target in MH, also I have not had much luck in using the two blender addons. Frankly I don't really understand what the different buttons does, most of them are not active... perhaps they make sens if you use Blender a lot?
But I will show you different ways to get expressions, targets and skeleton animations(!) to shape keys, so then will be new morph targets in UE4!
Before you get started you should probably look at a few Blender tutorials regarding this - these are good:
===Tutorials===
General introduction to MHX2 import and animation. However '''do not''' import the resulting characters into UE4?
{{#ev:youtube|2P1t_nogbGs}}
Short general introduction to using shape keys in Blender 2.8:
{{#ev:youtube|e675Ulc7QL4}}
==Expressions and targets==
Make sure that you have your original base character saved and load it into Makehuman. Remember to check that your base character is in the T-Pose, do not change that!
'''Just in case:''' I recommend that you keep a copy of this file as well as all the blender file etc.
You should also have Blender open and load the .blender file where you saved both your FBX and the MHX2.
Before you go on do as follows: move the MHX2 character to x 10m, so the entire character moves to the left (right to your front view) - this will make it more easy for you to work with! (Save the blender file!)
'''This is the general workflow for transfer of expressions:'''
Makehuman:
* Go to the Pose/Animate tab and select Expressions. From the list select the first expression, Anger01.
* Save the character as .mhx2 - but to a different file name: averagedude-base-expression.mhx2.
Blender:
* In blender, deselect all the collections
* Import the file you made, using the same operator presets as yo saved them.
* Activate your Base character collection and you will have two characters side by side - one base character and a very angry one!
* Go to object mode
* '''Left-click-select''' the angry guy first, then '''shift-left-click''' your base character.
* Go to the vertex tab/shape key, and click on the little down arrow, and select the ''Join as shapes'' - like this:
[[File:MH-Blender-shapekey1.png]]
This will make a brand new shape key: Averagedude_base_expression:Proxy
* You rename the shape key by a double-click and call it '''Exp_Anger01'''..
* ... and assign the Vertex group to head
[[File:MH-Blender-shapekey2.png]]
In case you can not select ''Join as shapes'' the two characters were not selected in the right order, or perhaps the topology is not the same. Blender will show this as a message some where at the bottom of the screen. I this happens try the blender workflow, in this paragraph only , again!
You can now try to change the value for the shape key, and you should see that your base character can get angry!
When this worked for you you can save the blender file! And you should now do your very first re-import of the FBX. You save your base character in a FBX and Import it to UE4. To be 100% safe you can save and import to different names and folders, but in the end you will re-import the base character each time you do one or more new shape keys.
When you see this working in UE4, you can go on to the next expressions - I simply delete the Averagedude_base_expression collection and save the next expression in the same file. You can naturally do as many expressions as you want. leave some out etc... as you like!
==Observations about Blender 2.8==
You may notice that you can mess this up, so please save your blender file and back up! Say you can easily merge your base character with the expression MHX2 or do something else to corrupt your work!
Please also note that the Vertex Group/relative to, '''head''' and '''Basis''', are rather important! The shape key will change the entire body, to the T-Pose, if head is not set. Likewise you can make some shape keys relative to an other shape key - this will be important a bit later, when we do more "advanced" stuff!
=Blender 2.8 - a bit more advanced?=
This is very fine - we can make your base character use all the expressions, and they can be combined! Also you can tamper with them in UE4, say you can combine them and you can even set minus values, or extreme values not "allowed" in Blender. But you obviously want more than that?
Perhaps you can find some special "targets" you want to use?
d273639bd612e707444946c50c58b680aa1a1d37
2083
2082
2021-05-11T17:06:38Z
Assetdk
89
wikitext
text/x-wiki
::'''Please take a look at this page: [[Documentation:MH4UE|MH4UE]] - to get an overview of things you can use to get your Makehuman characters into Unreal Engine!'''
Also look at the Forum here for more tips [http://www.makehumancommunity.org/forum/viewtopic.php?f=14&t=18462&p=52859&hilit=MH4UE#p52859 MH4UE].
There are, currently, several pages for this, describing the process of getting MH to Blender and then into Unreal. And one describing the addon that will add more "shape keys" to your characters (while in blender).
* [[Documentation:Saving_models_for_Unreal_Engine_and_how_to_import_them_there|Saving models for Unreal Engine and how to import them there]].
* [[Documentation:Saving_models_for_Unreal_Engine_Materials|How to setup Unreal materials]].
* [[Documentation:Unreal_MHC|Unreal MakeCustomization]].
* [[Documentation:MHBlenderTools: MakeShapes|MakeShapes - getting more shape keys/morph targets]]
* [[Documentation:MPFB|MakeHuman Plugin For Blender]].
=What can and can't be done?=
I have been working on getting different characters into UE4 for some time, and this have been a real hassle!
On this page I want to summarize what I managed to get done using a workflow that involves Blender. I have had a focus on not going into much details regarding any of the tools, but you will need to know a few things. Even though this looks like a trivial task there are some pitfalls and also there are some things that can not be done, or I have just not found out how to. I will eventually also add links to all the YT tutorials I found helpful.
I found that working with Makehuman very easy, so focus will be very UE4 how to specific.
This is what I will cover thus far:
* Create and save any MH character in Makehuman. Basic stuff, and important things to avoid.
* Getting the character into Blender - import or link?
* Setup Blender for Export, shape keys and morph targets
* First import into UE4
* Introduction to more shape keys
* Mixamo animations
This is the stuff that I did not cover - yet:
* Animations for talking (other tutorials may help)
* Making custom cloth
* Hair
This is the stuff I can not get to work:
* Retargeting to Advanced Locomotion System V3/4
* ALS got something to work! [[Documentation:Saving models for Unreal Engine and how to import them there/ALS]]
* [[Documentation:Unreal Engine ALS V4]]
Since I am using/learning Blender 2.8, I want to share a bit of bonus info. I managed to make one of the free UE4 packages work a bit "better". That is your characters should have some transportation. This is how:
* [[Documentation:Unreal Engine Vehicle Variety Pack]]
=Getting started=
I wanted a quick way to populate a UE4 game, preferably with an unlimited number of varied characters of high quality. This has proven to be a bit harder than expected. The workflow for making characters is not as trivial as one would want but this guide should make it a bit more easy to do. I will focus on describing the "straight" path from Makehuman and into UE4 - so you will not find too much details about Blender. Please refer to Blender specific pages for more on that.
==Need to know==
There are a few terms that you need to know, say you need to know that you will import FBX, textures and other files into UE4. Also you will need to know that a Character consists of a '''Mesh''', a '''Skeleton''' and '''''materials''''' (that refers to textures). I will try to elaborate on these subjects as we go along...
==Making a base-character==
'''IMPORTANT new comment:'''
There is now tree different custom A-poses that you can use - i currently recommend the one highlighted in the list.
Please read more in the [[http://www.makehumancommunity.org/forum/viewtopic.php?f=14&t=18462&p=53368#p53368 forum]], for more information.
===Set up Base-Character(s)===
Makehuman provides a range of predefined characters that is supposed to work as-is. You can just load a character, export it to FBX and import that into UE4 - and after a bit of work you can have a working player character! There are however a few pitfalls, so I suggest you make one (or more) base-character(s) that you can elaborate on as you go along. I will be working with ''''''averagedude'''''' as my base-character.
These are the steps to make the base characters:
* Open Makehuman
* Select the files tab and load the character
'''Under 'Geometries''''
* Remove cloth - (uncheck Hide faces under cloth)!
* Remove hair
* Add Teeth
* Choose Topology - '''I have no advice on this - but see comment below!'''
* Chose Eyebrows/Eyelashes, these can be changed as you go along - as can eye colors!
* Add Tongue01 (again I have no advice/recommendation on that, yet)
'''Under 'Materials'''' - I will show you how to work with UE4 "advanced" materials:
* Chose any skin that you like,
* Chose any eyes that you like
'''Under 'Pose/Animate''''
* Chose Skeleton: Uengine - if you do not have this already you my get it via the community tab?
* Chose Expressions: none
* For the POSE chose the Apose_ue
* [[File:MH_UE_Poses.png]]
* Finally, from one of the poses documentations I found this comment: This pose is a near drop in fit for the Unreal mannequin using a generic male with standard proportions and 187.5 cm height.
(You should probably use this, I have been using a height of 168-190, where the better result came from 190)
And this is it! But there is one 'important' option you need know about - you need to '''uncheck''' the Smooth button!
The smooth button/option: [[File:MH-Smooth-option.png]] should be unchecked... that will make your character a bit less attractive, but this will preserve the shape-keys!
Makehuman comes with some 50-60 '''shape-keys''' and these will all be available as '''morph-targets''' in UE4. I will show you how to make more shape-keys, using makehuman+blender!
Now it is time to save your base-character - even though you have made very few changes to the file you should save this file under the save tab and name it
<your-name>-base (say averagedude-base), you can even add your very own tag 'base' to this.
When you save the file like this you will be able to reload it, and we need that later!
====Choose Topology/Shape keys====
When you make your base character without smoothing you get shape keys, and you want to share these between different characters. Specifically you would probably want to share face morphs between male and female characters - and there may be other base character variations, say old/young/child etc.
Later I will focus on how to make new shape keys, using blender - depending on how you want to do this you may want to '''chose Topology that is compatible between the different characters!''' That is you may be able to transfer one "shape" from a male character to a female character, but the result will depend on ''topology compatibility''. I will/may thus update this section to make sure
'''Shape key names''' will be the same for all of the base characters, as they come from - however you will be able to make new keys. You must name these keys the same for all MH characters, like these share the same skeleton (MH_Skelton) they must hold all the same shape keys names. If they don't your game may "break"....
===Export your base-character===
You can now take a break - or you can export your work. There are really tree options for you to look at:
* Save the FBX file directly - make sure to chose the binary file format, if you want to import this file to UE.
* Save a MHX2 file (you may need to install this as a option/utility, find our elsewhere!)
* Load the character to '''Blender''' directly via the link (I will get back to what can be done using that!)
I suggest that you save your base-character now, in both formats - FBX and MHX2! Make a specific 'Base-Characters' folder, because you will need it!
When you export the FBX use these options:
[[File:MH-FBX-export-options.png]]
This is the result for me, you should see something like this also:
[[File:MH-Base-Character-Folder.png]]
You should also see that there is a sub-folder, called Textures - this is where the different textures are saved and it should now look like this:
[[File:MH-Base-Character-Folder-textures.png]]
You can now go over all of the different textures, so you will have a wide selection to chose from. Textures are saved every time you save a FBX file!
Say, I change the base-characters textures, saved the FBX - and this is what I got:
[[File:MH-Base-Character-Folder-textures2.png]]
===Import your base-character to UE4 - FBX===
The FBX file will actually import directly to UE4, but there are a few problems! You should export your FBX file as Binary FBX, and you will get the most out of it. After this you can get to this result (after adjusting the materials, as seen below):
[[File:MH-MH-FBX-imported.png]]
Your character can look like this (after adjusting materials) - pretty good:
[[File:MH-MH-FBX-imported-materials.png]]
'''HOWEVER, you have lost the morph-targets! And as you probably noticed, the UE4 standard FBX import do import them!'''
I will get back to what to do about the shape-keys... but let make the materials first?
==Makehuman UE4 materials==
The details for setting up materials was moved to this section: '''[[Documentation:Saving models for Unreal Engine Materials|Materials]]'''
====Customization====
The skin can now be modified using a simple interface in the game. The prototype for this can be seen here: [[Documentation:Unreal_MHC|Unreal MakeCustomization]].
===More materials?===
You can simply drag and drop more textures from the the base-character/textures folder, then duplicate and rename the materials, and apply different textures to the renamed materials. At some point I want to be able to customize/randomize (NPC) characters, but I have not yet done that.
Also you can make materials instances with parameters... I will show you howto, but first we need to turn shape-keys into morph-targets.
=Use Blender v 2.80 to get more!!=
For some reason the exported FBX file is not organized in a way so you will get the shape-keys imported directly to UE4. However when you follow the next steps, you will not get the correct materials imported, so I recommend that you run FBX import as shown above, and save the textures/materials in a separate folder.
If you are new to Blender please run a few tutorials specifically on on how to import/export, and also get to know about collections - you can do a lot in Blender and you can get confused!
==What will be done here?==
I will show you how to:
* Import your MHX2 files, to preserve the shape-keys
* Export FBX files, so UE4 will import correctly with morph-targets
* Apply expressions etc. to your base character
* Import these to your Blender file and apply the expressions as '''new shape keys'''
==But, first import and inspect FBX and MHX2!==
As you may remember you exported two files, the FBX file and the MHX2 file. You want to import both of these files into Blender, so you need two Collections, called FBX and MHX2. You right-click on the 'Scene collection' select 'New' and rename the collections to 'FBX' and 'MHX2'... I also added Scene collection and dragged the Camera and Light there (as I deleted the box). After this you should see something link this (the small Icons may be different):
[[File:MH-Base-Blender-setup.png]]
When you import your FBX file select/highlight the FBX collection, so the FBX data get imported into that collection. You can use the standard import options. For MHX2 you need to change the setting to match those you see below - when you find they are correct you can click the + sign, marked with a yellow arrow, and save the setting with your own setting-name.
(You may notice that the character you imported is out of proportions, some 17-18 meters high, we will correct that when we export to UE4!)
[[File:MH-Blender-FBX-import-options.png]]
===Inspect the results, in Blender===
Now is a good time to save the Blender file. You should save this in the same folder as the FBX and MHX2. I call this file averagedude-base.blend.
If you did this approximately as described the result should be munch like below. And you will probably notice that there is some structural differences. You can see that by looking at the small icons [[File:MH-Blender-base-imported-icons.png]], that represent where modifiers, vertex groups and Object data is stored! Specifically the Object data holds the shape-keys and those were not imported. (perhaps because I did not use the correct FBX import options - but the same happens in UE4!).
[[File:MH-Blender-base-imported.png]]
You will notice that the MHX2 version of your character holds the Object data (the triangle) and that shape-keys can be seen there!
==Export the FBX for your base character, and import to UE4==
The next step is crucial for getting things to work in UE4, it is not very complicated but you need to have a plan.
When you did this correctly you should be able to get the following results:
* Import your base character into UE4
* Create retargeting for your common skeleton - called MH_Skeleton
* Retarget the Maniqin animations to your base character(s)
* Get additional Mixamo animations
===FBX export settings===
'''Important!''' Before you go any further you should rename your base character to '''main_root''', like this:
[[File:MH-Base-FBX-main-root.png]]
.... you should do this for all base characters! main_root will be the root bone in your skeleton. When you do it like this, all of your base characters will be able to share the same skeleton!
Now select the MHX2 collection where you have the character, and go to Export FBX.
I have made a 'Operator preset' for the FBX export, this is the options you need to set:
[[File:MH-Base-FBX-operator-presets.png]]
Place the FBX file in the same folder as where you placed the original FBX and the MHX2. You probably do not need the FBX that you made with Makehuman, and you can always make it again?
(You may however want to export more FBX files from Makehuman, simply to get all of the textures. We will look more into how you can use the skin textures!)
==UE4 import, and retarget ==
Go to your UE4 project and make a MH folder containing a new avaragedude folder, and import your base character there!
During the import of the FBX file from Blender into UE4 you must enable the '''Import Morp Targets''' checkbox manually (expand the Mesh section)!
Observe that this character looks very much like the one you did already import from the original FBX, there are little difference - yet you want to set up this as your real base character.
Also you want to rename the skeleton to '''MH_Skeleton'''! And you want to open the skeleton, and retarget it to the humanoid rig... this should look like this:
[[File:MH-Base-Skeleton-Retarget.png]]
Make sure that your character is in T-Pose, as you want to retarget the Mannequin animations to your characters MH_Skeleton!
Make a animation folder in your MH, perhaps even Mannequin folder?
You go to the UE4 folder: Content/Mannequin/Animations and right-click on this animation: '''ThirdPerson_AnimBP'''
Select retarget and choose MH_Skeleton as your target - also select the animation folder you made before, something like this:
[[File:MH-Base-Animation-Retarget.png]]
You may want to rename your new ThirdPerson_AnimBP to '''''MH''_ThirdPerson_AnimBP''' - or perhaps simply MH_AnimBP?
===Translation Retargeting===
After the retargeting the animations will still look odd. You go to the skeleton tree, then check off the "Show Retargeting Options" and set those at and below the spline to Skeleton (recursively) - that looks something like this:
[[File:MH-Anim-Skeleton.png]]
=More shape keys, made in Blender 2.8=
I have not yet made any target in MH, also I have not had much luck in using the two blender addons. Frankly I don't really understand what the different buttons does, most of them are not active... perhaps they make sens if you use Blender a lot?
But I will show you different ways to get expressions, targets and skeleton animations(!) to shape keys, so then will be new morph targets in UE4!
Before you get started you should probably look at a few Blender tutorials regarding this - these are good:
===Tutorials===
General introduction to MHX2 import and animation. However '''do not''' import the resulting characters into UE4?
{{#ev:youtube|2P1t_nogbGs}}
Short general introduction to using shape keys in Blender 2.8:
{{#ev:youtube|e675Ulc7QL4}}
==Expressions and targets==
Make sure that you have your original base character saved and load it into Makehuman. Remember to check that your base character is in the T-Pose, do not change that!
'''Just in case:''' I recommend that you keep a copy of this file as well as all the blender file etc.
You should also have Blender open and load the .blender file where you saved both your FBX and the MHX2.
Before you go on do as follows: move the MHX2 character to x 10m, so the entire character moves to the left (right to your front view) - this will make it more easy for you to work with! (Save the blender file!)
'''This is the general workflow for transfer of expressions:'''
Makehuman:
* Go to the Pose/Animate tab and select Expressions. From the list select the first expression, Anger01.
* Save the character as .mhx2 - but to a different file name: averagedude-base-expression.mhx2.
Blender:
* In blender, deselect all the collections
* Import the file you made, using the same operator presets as yo saved them.
* Activate your Base character collection and you will have two characters side by side - one base character and a very angry one!
* Go to object mode
* '''Left-click-select''' the angry guy first, then '''shift-left-click''' your base character.
* Go to the vertex tab/shape key, and click on the little down arrow, and select the ''Join as shapes'' - like this:
[[File:MH-Blender-shapekey1.png]]
This will make a brand new shape key: Averagedude_base_expression:Proxy
* You rename the shape key by a double-click and call it '''Exp_Anger01'''..
* ... and assign the Vertex group to head
[[File:MH-Blender-shapekey2.png]]
In case you can not select ''Join as shapes'' the two characters were not selected in the right order, or perhaps the topology is not the same. Blender will show this as a message some where at the bottom of the screen. I this happens try the blender workflow, in this paragraph only , again!
You can now try to change the value for the shape key, and you should see that your base character can get angry!
When this worked for you you can save the blender file! And you should now do your very first re-import of the FBX. You save your base character in a FBX and Import it to UE4. To be 100% safe you can save and import to different names and folders, but in the end you will re-import the base character each time you do one or more new shape keys.
When you see this working in UE4, you can go on to the next expressions - I simply delete the Averagedude_base_expression collection and save the next expression in the same file. You can naturally do as many expressions as you want. leave some out etc... as you like!
==Observations about Blender 2.8==
You may notice that you can mess this up, so please save your blender file and back up! Say you can easily merge your base character with the expression MHX2 or do something else to corrupt your work!
Please also note that the Vertex Group/relative to, '''head''' and '''Basis''', are rather important! The shape key will change the entire body, to the T-Pose, if head is not set. Likewise you can make some shape keys relative to an other shape key - this will be important a bit later, when we do more "advanced" stuff!
=Blender 2.8 - a bit more advanced?=
This is very fine - we can make your base character use all the expressions, and they can be combined! Also you can tamper with them in UE4, say you can combine them and you can even set minus values, or extreme values not "allowed" in Blender. But you obviously want more than that?
Perhaps you can find some special "targets" you want to use?
0f50727ee381a8f1ad1a16f21f3434e5ad69bb34
2082
2081
2021-05-11T17:06:02Z
Assetdk
89
wikitext
text/x-wiki
::'''Please take a look at this page: [[Documentation:MH4UE|MH4UE]] - to get an overview of things you can use to get your Makehuman characters into Unreal Engine!'''
Also look at the Forum here for more tips [http://www.makehumancommunity.org/forum/viewtopic.php?f=14&t=18462&p=52859&hilit=MH4UE#p52859 MH4UE].
There are, currently, several pages for this, describing the process of getting MH to Blender and then into Unreal. And one describing the addon that will add more "shape keys" to your characters (while in blender).
* [[Documentation:Saving_models_for_Unreal_Engine_and_how_to_import_them_there|Saving models for Unreal Engine and how to import them there]].
* [[Documentation:Saving_models_for_Unreal_Engine_Materials|How to setup Unreal materials]].
* [[Documentation:Unreal_MHC|Unreal MakeCustomization]].
* [[Documentation:MHBlenderTools: MakeShapes|MakeShapes - getting more shape keys/morph targets]]
* [[Documentation:MPFB 2|MakeHuman Plugin For Blender]].
=What can and can't be done?=
I have been working on getting different characters into UE4 for some time, and this have been a real hassle!
On this page I want to summarize what I managed to get done using a workflow that involves Blender. I have had a focus on not going into much details regarding any of the tools, but you will need to know a few things. Even though this looks like a trivial task there are some pitfalls and also there are some things that can not be done, or I have just not found out how to. I will eventually also add links to all the YT tutorials I found helpful.
I found that working with Makehuman very easy, so focus will be very UE4 how to specific.
This is what I will cover thus far:
* Create and save any MH character in Makehuman. Basic stuff, and important things to avoid.
* Getting the character into Blender - import or link?
* Setup Blender for Export, shape keys and morph targets
* First import into UE4
* Introduction to more shape keys
* Mixamo animations
This is the stuff that I did not cover - yet:
* Animations for talking (other tutorials may help)
* Making custom cloth
* Hair
This is the stuff I can not get to work:
* Retargeting to Advanced Locomotion System V3/4
* ALS got something to work! [[Documentation:Saving models for Unreal Engine and how to import them there/ALS]]
* [[Documentation:Unreal Engine ALS V4]]
Since I am using/learning Blender 2.8, I want to share a bit of bonus info. I managed to make one of the free UE4 packages work a bit "better". That is your characters should have some transportation. This is how:
* [[Documentation:Unreal Engine Vehicle Variety Pack]]
=Getting started=
I wanted a quick way to populate a UE4 game, preferably with an unlimited number of varied characters of high quality. This has proven to be a bit harder than expected. The workflow for making characters is not as trivial as one would want but this guide should make it a bit more easy to do. I will focus on describing the "straight" path from Makehuman and into UE4 - so you will not find too much details about Blender. Please refer to Blender specific pages for more on that.
==Need to know==
There are a few terms that you need to know, say you need to know that you will import FBX, textures and other files into UE4. Also you will need to know that a Character consists of a '''Mesh''', a '''Skeleton''' and '''''materials''''' (that refers to textures). I will try to elaborate on these subjects as we go along...
==Making a base-character==
'''IMPORTANT new comment:'''
There is now tree different custom A-poses that you can use - i currently recommend the one highlighted in the list.
Please read more in the [[http://www.makehumancommunity.org/forum/viewtopic.php?f=14&t=18462&p=53368#p53368 forum]], for more information.
===Set up Base-Character(s)===
Makehuman provides a range of predefined characters that is supposed to work as-is. You can just load a character, export it to FBX and import that into UE4 - and after a bit of work you can have a working player character! There are however a few pitfalls, so I suggest you make one (or more) base-character(s) that you can elaborate on as you go along. I will be working with ''''''averagedude'''''' as my base-character.
These are the steps to make the base characters:
* Open Makehuman
* Select the files tab and load the character
'''Under 'Geometries''''
* Remove cloth - (uncheck Hide faces under cloth)!
* Remove hair
* Add Teeth
* Choose Topology - '''I have no advice on this - but see comment below!'''
* Chose Eyebrows/Eyelashes, these can be changed as you go along - as can eye colors!
* Add Tongue01 (again I have no advice/recommendation on that, yet)
'''Under 'Materials'''' - I will show you how to work with UE4 "advanced" materials:
* Chose any skin that you like,
* Chose any eyes that you like
'''Under 'Pose/Animate''''
* Chose Skeleton: Uengine - if you do not have this already you my get it via the community tab?
* Chose Expressions: none
* For the POSE chose the Apose_ue
* [[File:MH_UE_Poses.png]]
* Finally, from one of the poses documentations I found this comment: This pose is a near drop in fit for the Unreal mannequin using a generic male with standard proportions and 187.5 cm height.
(You should probably use this, I have been using a height of 168-190, where the better result came from 190)
And this is it! But there is one 'important' option you need know about - you need to '''uncheck''' the Smooth button!
The smooth button/option: [[File:MH-Smooth-option.png]] should be unchecked... that will make your character a bit less attractive, but this will preserve the shape-keys!
Makehuman comes with some 50-60 '''shape-keys''' and these will all be available as '''morph-targets''' in UE4. I will show you how to make more shape-keys, using makehuman+blender!
Now it is time to save your base-character - even though you have made very few changes to the file you should save this file under the save tab and name it
<your-name>-base (say averagedude-base), you can even add your very own tag 'base' to this.
When you save the file like this you will be able to reload it, and we need that later!
====Choose Topology/Shape keys====
When you make your base character without smoothing you get shape keys, and you want to share these between different characters. Specifically you would probably want to share face morphs between male and female characters - and there may be other base character variations, say old/young/child etc.
Later I will focus on how to make new shape keys, using blender - depending on how you want to do this you may want to '''chose Topology that is compatible between the different characters!''' That is you may be able to transfer one "shape" from a male character to a female character, but the result will depend on ''topology compatibility''. I will/may thus update this section to make sure
'''Shape key names''' will be the same for all of the base characters, as they come from - however you will be able to make new keys. You must name these keys the same for all MH characters, like these share the same skeleton (MH_Skelton) they must hold all the same shape keys names. If they don't your game may "break"....
===Export your base-character===
You can now take a break - or you can export your work. There are really tree options for you to look at:
* Save the FBX file directly - make sure to chose the binary file format, if you want to import this file to UE.
* Save a MHX2 file (you may need to install this as a option/utility, find our elsewhere!)
* Load the character to '''Blender''' directly via the link (I will get back to what can be done using that!)
I suggest that you save your base-character now, in both formats - FBX and MHX2! Make a specific 'Base-Characters' folder, because you will need it!
When you export the FBX use these options:
[[File:MH-FBX-export-options.png]]
This is the result for me, you should see something like this also:
[[File:MH-Base-Character-Folder.png]]
You should also see that there is a sub-folder, called Textures - this is where the different textures are saved and it should now look like this:
[[File:MH-Base-Character-Folder-textures.png]]
You can now go over all of the different textures, so you will have a wide selection to chose from. Textures are saved every time you save a FBX file!
Say, I change the base-characters textures, saved the FBX - and this is what I got:
[[File:MH-Base-Character-Folder-textures2.png]]
===Import your base-character to UE4 - FBX===
The FBX file will actually import directly to UE4, but there are a few problems! You should export your FBX file as Binary FBX, and you will get the most out of it. After this you can get to this result (after adjusting the materials, as seen below):
[[File:MH-MH-FBX-imported.png]]
Your character can look like this (after adjusting materials) - pretty good:
[[File:MH-MH-FBX-imported-materials.png]]
'''HOWEVER, you have lost the morph-targets! And as you probably noticed, the UE4 standard FBX import do import them!'''
I will get back to what to do about the shape-keys... but let make the materials first?
==Makehuman UE4 materials==
The details for setting up materials was moved to this section: '''[[Documentation:Saving models for Unreal Engine Materials|Materials]]'''
====Customization====
The skin can now be modified using a simple interface in the game. The prototype for this can be seen here: [[Documentation:Unreal_MHC|Unreal MakeCustomization]].
===More materials?===
You can simply drag and drop more textures from the the base-character/textures folder, then duplicate and rename the materials, and apply different textures to the renamed materials. At some point I want to be able to customize/randomize (NPC) characters, but I have not yet done that.
Also you can make materials instances with parameters... I will show you howto, but first we need to turn shape-keys into morph-targets.
=Use Blender v 2.80 to get more!!=
For some reason the exported FBX file is not organized in a way so you will get the shape-keys imported directly to UE4. However when you follow the next steps, you will not get the correct materials imported, so I recommend that you run FBX import as shown above, and save the textures/materials in a separate folder.
If you are new to Blender please run a few tutorials specifically on on how to import/export, and also get to know about collections - you can do a lot in Blender and you can get confused!
==What will be done here?==
I will show you how to:
* Import your MHX2 files, to preserve the shape-keys
* Export FBX files, so UE4 will import correctly with morph-targets
* Apply expressions etc. to your base character
* Import these to your Blender file and apply the expressions as '''new shape keys'''
==But, first import and inspect FBX and MHX2!==
As you may remember you exported two files, the FBX file and the MHX2 file. You want to import both of these files into Blender, so you need two Collections, called FBX and MHX2. You right-click on the 'Scene collection' select 'New' and rename the collections to 'FBX' and 'MHX2'... I also added Scene collection and dragged the Camera and Light there (as I deleted the box). After this you should see something link this (the small Icons may be different):
[[File:MH-Base-Blender-setup.png]]
When you import your FBX file select/highlight the FBX collection, so the FBX data get imported into that collection. You can use the standard import options. For MHX2 you need to change the setting to match those you see below - when you find they are correct you can click the + sign, marked with a yellow arrow, and save the setting with your own setting-name.
(You may notice that the character you imported is out of proportions, some 17-18 meters high, we will correct that when we export to UE4!)
[[File:MH-Blender-FBX-import-options.png]]
===Inspect the results, in Blender===
Now is a good time to save the Blender file. You should save this in the same folder as the FBX and MHX2. I call this file averagedude-base.blend.
If you did this approximately as described the result should be munch like below. And you will probably notice that there is some structural differences. You can see that by looking at the small icons [[File:MH-Blender-base-imported-icons.png]], that represent where modifiers, vertex groups and Object data is stored! Specifically the Object data holds the shape-keys and those were not imported. (perhaps because I did not use the correct FBX import options - but the same happens in UE4!).
[[File:MH-Blender-base-imported.png]]
You will notice that the MHX2 version of your character holds the Object data (the triangle) and that shape-keys can be seen there!
==Export the FBX for your base character, and import to UE4==
The next step is crucial for getting things to work in UE4, it is not very complicated but you need to have a plan.
When you did this correctly you should be able to get the following results:
* Import your base character into UE4
* Create retargeting for your common skeleton - called MH_Skeleton
* Retarget the Maniqin animations to your base character(s)
* Get additional Mixamo animations
===FBX export settings===
'''Important!''' Before you go any further you should rename your base character to '''main_root''', like this:
[[File:MH-Base-FBX-main-root.png]]
.... you should do this for all base characters! main_root will be the root bone in your skeleton. When you do it like this, all of your base characters will be able to share the same skeleton!
Now select the MHX2 collection where you have the character, and go to Export FBX.
I have made a 'Operator preset' for the FBX export, this is the options you need to set:
[[File:MH-Base-FBX-operator-presets.png]]
Place the FBX file in the same folder as where you placed the original FBX and the MHX2. You probably do not need the FBX that you made with Makehuman, and you can always make it again?
(You may however want to export more FBX files from Makehuman, simply to get all of the textures. We will look more into how you can use the skin textures!)
==UE4 import, and retarget ==
Go to your UE4 project and make a MH folder containing a new avaragedude folder, and import your base character there!
During the import of the FBX file from Blender into UE4 you must enable the '''Import Morp Targets''' checkbox manually (expand the Mesh section)!
Observe that this character looks very much like the one you did already import from the original FBX, there are little difference - yet you want to set up this as your real base character.
Also you want to rename the skeleton to '''MH_Skeleton'''! And you want to open the skeleton, and retarget it to the humanoid rig... this should look like this:
[[File:MH-Base-Skeleton-Retarget.png]]
Make sure that your character is in T-Pose, as you want to retarget the Mannequin animations to your characters MH_Skeleton!
Make a animation folder in your MH, perhaps even Mannequin folder?
You go to the UE4 folder: Content/Mannequin/Animations and right-click on this animation: '''ThirdPerson_AnimBP'''
Select retarget and choose MH_Skeleton as your target - also select the animation folder you made before, something like this:
[[File:MH-Base-Animation-Retarget.png]]
You may want to rename your new ThirdPerson_AnimBP to '''''MH''_ThirdPerson_AnimBP''' - or perhaps simply MH_AnimBP?
===Translation Retargeting===
After the retargeting the animations will still look odd. You go to the skeleton tree, then check off the "Show Retargeting Options" and set those at and below the spline to Skeleton (recursively) - that looks something like this:
[[File:MH-Anim-Skeleton.png]]
=More shape keys, made in Blender 2.8=
I have not yet made any target in MH, also I have not had much luck in using the two blender addons. Frankly I don't really understand what the different buttons does, most of them are not active... perhaps they make sens if you use Blender a lot?
But I will show you different ways to get expressions, targets and skeleton animations(!) to shape keys, so then will be new morph targets in UE4!
Before you get started you should probably look at a few Blender tutorials regarding this - these are good:
===Tutorials===
General introduction to MHX2 import and animation. However '''do not''' import the resulting characters into UE4?
{{#ev:youtube|2P1t_nogbGs}}
Short general introduction to using shape keys in Blender 2.8:
{{#ev:youtube|e675Ulc7QL4}}
==Expressions and targets==
Make sure that you have your original base character saved and load it into Makehuman. Remember to check that your base character is in the T-Pose, do not change that!
'''Just in case:''' I recommend that you keep a copy of this file as well as all the blender file etc.
You should also have Blender open and load the .blender file where you saved both your FBX and the MHX2.
Before you go on do as follows: move the MHX2 character to x 10m, so the entire character moves to the left (right to your front view) - this will make it more easy for you to work with! (Save the blender file!)
'''This is the general workflow for transfer of expressions:'''
Makehuman:
* Go to the Pose/Animate tab and select Expressions. From the list select the first expression, Anger01.
* Save the character as .mhx2 - but to a different file name: averagedude-base-expression.mhx2.
Blender:
* In blender, deselect all the collections
* Import the file you made, using the same operator presets as yo saved them.
* Activate your Base character collection and you will have two characters side by side - one base character and a very angry one!
* Go to object mode
* '''Left-click-select''' the angry guy first, then '''shift-left-click''' your base character.
* Go to the vertex tab/shape key, and click on the little down arrow, and select the ''Join as shapes'' - like this:
[[File:MH-Blender-shapekey1.png]]
This will make a brand new shape key: Averagedude_base_expression:Proxy
* You rename the shape key by a double-click and call it '''Exp_Anger01'''..
* ... and assign the Vertex group to head
[[File:MH-Blender-shapekey2.png]]
In case you can not select ''Join as shapes'' the two characters were not selected in the right order, or perhaps the topology is not the same. Blender will show this as a message some where at the bottom of the screen. I this happens try the blender workflow, in this paragraph only , again!
You can now try to change the value for the shape key, and you should see that your base character can get angry!
When this worked for you you can save the blender file! And you should now do your very first re-import of the FBX. You save your base character in a FBX and Import it to UE4. To be 100% safe you can save and import to different names and folders, but in the end you will re-import the base character each time you do one or more new shape keys.
When you see this working in UE4, you can go on to the next expressions - I simply delete the Averagedude_base_expression collection and save the next expression in the same file. You can naturally do as many expressions as you want. leave some out etc... as you like!
==Observations about Blender 2.8==
You may notice that you can mess this up, so please save your blender file and back up! Say you can easily merge your base character with the expression MHX2 or do something else to corrupt your work!
Please also note that the Vertex Group/relative to, '''head''' and '''Basis''', are rather important! The shape key will change the entire body, to the T-Pose, if head is not set. Likewise you can make some shape keys relative to an other shape key - this will be important a bit later, when we do more "advanced" stuff!
=Blender 2.8 - a bit more advanced?=
This is very fine - we can make your base character use all the expressions, and they can be combined! Also you can tamper with them in UE4, say you can combine them and you can even set minus values, or extreme values not "allowed" in Blender. But you obviously want more than that?
Perhaps you can find some special "targets" you want to use?
b56f545d5af62915275db6adec0ebe97124d78cf
2081
2064
2021-05-11T09:16:39Z
Assetdk
89
wikitext
text/x-wiki
::'''Please take a look at this page: [[Documentation:MH4UE|MH4UE]] - to get an overview of things you can use to get your Makehuman characters into Unreal Engine!'''
Also look at the Forum here for more tips [http://www.makehumancommunity.org/forum/viewtopic.php?f=14&t=18462&p=52859&hilit=MH4UE#p52859 MH4UE].
There are, currently, several pages for this, describing the process of getting MH to Blender and then into Unreal. And one describing the addon that will add more "shape keys" to your characters (while in blender).
* [[Documentation:Saving_models_for_Unreal_Engine_and_how_to_import_them_there|Saving models for Unreal Engine and how to import them there]].
* [[Documentation:Saving_models_for_Unreal_Engine_Materials|How to setup Unreal materials]].
* [[Documentation:Unreal_MHC|Unreal MakeCustomization]].
* [[Documentation:MHBlenderTools: MakeShapes|MakeShapes - getting more shape keys/morph targets]]
=What can and can't be done?=
I have been working on getting different characters into UE4 for some time, and this have been a real hassle!
On this page I want to summarize what I managed to get done using a workflow that involves Blender. I have had a focus on not going into much details regarding any of the tools, but you will need to know a few things. Even though this looks like a trivial task there are some pitfalls and also there are some things that can not be done, or I have just not found out how to. I will eventually also add links to all the YT tutorials I found helpful.
I found that working with Makehuman very easy, so focus will be very UE4 how to specific.
This is what I will cover thus far:
* Create and save any MH character in Makehuman. Basic stuff, and important things to avoid.
* Getting the character into Blender - import or link?
* Setup Blender for Export, shape keys and morph targets
* First import into UE4
* Introduction to more shape keys
* Mixamo animations
This is the stuff that I did not cover - yet:
* Animations for talking (other tutorials may help)
* Making custom cloth
* Hair
This is the stuff I can not get to work:
* Retargeting to Advanced Locomotion System V3/4
* ALS got something to work! [[Documentation:Saving models for Unreal Engine and how to import them there/ALS]]
* [[Documentation:Unreal Engine ALS V4]]
Since I am using/learning Blender 2.8, I want to share a bit of bonus info. I managed to make one of the free UE4 packages work a bit "better". That is your characters should have some transportation. This is how:
* [[Documentation:Unreal Engine Vehicle Variety Pack]]
=Getting started=
I wanted a quick way to populate a UE4 game, preferably with an unlimited number of varied characters of high quality. This has proven to be a bit harder than expected. The workflow for making characters is not as trivial as one would want but this guide should make it a bit more easy to do. I will focus on describing the "straight" path from Makehuman and into UE4 - so you will not find too much details about Blender. Please refer to Blender specific pages for more on that.
==Need to know==
There are a few terms that you need to know, say you need to know that you will import FBX, textures and other files into UE4. Also you will need to know that a Character consists of a '''Mesh''', a '''Skeleton''' and '''''materials''''' (that refers to textures). I will try to elaborate on these subjects as we go along...
==Making a base-character==
'''IMPORTANT new comment:'''
There is now tree different custom A-poses that you can use - i currently recommend the one highlighted in the list.
Please read more in the [[http://www.makehumancommunity.org/forum/viewtopic.php?f=14&t=18462&p=53368#p53368 forum]], for more information.
===Set up Base-Character(s)===
Makehuman provides a range of predefined characters that is supposed to work as-is. You can just load a character, export it to FBX and import that into UE4 - and after a bit of work you can have a working player character! There are however a few pitfalls, so I suggest you make one (or more) base-character(s) that you can elaborate on as you go along. I will be working with ''''''averagedude'''''' as my base-character.
These are the steps to make the base characters:
* Open Makehuman
* Select the files tab and load the character
'''Under 'Geometries''''
* Remove cloth - (uncheck Hide faces under cloth)!
* Remove hair
* Add Teeth
* Choose Topology - '''I have no advice on this - but see comment below!'''
* Chose Eyebrows/Eyelashes, these can be changed as you go along - as can eye colors!
* Add Tongue01 (again I have no advice/recommendation on that, yet)
'''Under 'Materials'''' - I will show you how to work with UE4 "advanced" materials:
* Chose any skin that you like,
* Chose any eyes that you like
'''Under 'Pose/Animate''''
* Chose Skeleton: Uengine - if you do not have this already you my get it via the community tab?
* Chose Expressions: none
* For the POSE chose the Apose_ue
* [[File:MH_UE_Poses.png]]
* Finally, from one of the poses documentations I found this comment: This pose is a near drop in fit for the Unreal mannequin using a generic male with standard proportions and 187.5 cm height.
(You should probably use this, I have been using a height of 168-190, where the better result came from 190)
And this is it! But there is one 'important' option you need know about - you need to '''uncheck''' the Smooth button!
The smooth button/option: [[File:MH-Smooth-option.png]] should be unchecked... that will make your character a bit less attractive, but this will preserve the shape-keys!
Makehuman comes with some 50-60 '''shape-keys''' and these will all be available as '''morph-targets''' in UE4. I will show you how to make more shape-keys, using makehuman+blender!
Now it is time to save your base-character - even though you have made very few changes to the file you should save this file under the save tab and name it
<your-name>-base (say averagedude-base), you can even add your very own tag 'base' to this.
When you save the file like this you will be able to reload it, and we need that later!
====Choose Topology/Shape keys====
When you make your base character without smoothing you get shape keys, and you want to share these between different characters. Specifically you would probably want to share face morphs between male and female characters - and there may be other base character variations, say old/young/child etc.
Later I will focus on how to make new shape keys, using blender - depending on how you want to do this you may want to '''chose Topology that is compatible between the different characters!''' That is you may be able to transfer one "shape" from a male character to a female character, but the result will depend on ''topology compatibility''. I will/may thus update this section to make sure
'''Shape key names''' will be the same for all of the base characters, as they come from - however you will be able to make new keys. You must name these keys the same for all MH characters, like these share the same skeleton (MH_Skelton) they must hold all the same shape keys names. If they don't your game may "break"....
===Export your base-character===
You can now take a break - or you can export your work. There are really tree options for you to look at:
* Save the FBX file directly - make sure to chose the binary file format, if you want to import this file to UE.
* Save a MHX2 file (you may need to install this as a option/utility, find our elsewhere!)
* Load the character to '''Blender''' directly via the link (I will get back to what can be done using that!)
I suggest that you save your base-character now, in both formats - FBX and MHX2! Make a specific 'Base-Characters' folder, because you will need it!
When you export the FBX use these options:
[[File:MH-FBX-export-options.png]]
This is the result for me, you should see something like this also:
[[File:MH-Base-Character-Folder.png]]
You should also see that there is a sub-folder, called Textures - this is where the different textures are saved and it should now look like this:
[[File:MH-Base-Character-Folder-textures.png]]
You can now go over all of the different textures, so you will have a wide selection to chose from. Textures are saved every time you save a FBX file!
Say, I change the base-characters textures, saved the FBX - and this is what I got:
[[File:MH-Base-Character-Folder-textures2.png]]
===Import your base-character to UE4 - FBX===
The FBX file will actually import directly to UE4, but there are a few problems! You should export your FBX file as Binary FBX, and you will get the most out of it. After this you can get to this result (after adjusting the materials, as seen below):
[[File:MH-MH-FBX-imported.png]]
Your character can look like this (after adjusting materials) - pretty good:
[[File:MH-MH-FBX-imported-materials.png]]
'''HOWEVER, you have lost the morph-targets! And as you probably noticed, the UE4 standard FBX import do import them!'''
I will get back to what to do about the shape-keys... but let make the materials first?
==Makehuman UE4 materials==
The details for setting up materials was moved to this section: '''[[Documentation:Saving models for Unreal Engine Materials|Materials]]'''
====Customization====
The skin can now be modified using a simple interface in the game. The prototype for this can be seen here: [[Documentation:Unreal_MHC|Unreal MakeCustomization]].
===More materials?===
You can simply drag and drop more textures from the the base-character/textures folder, then duplicate and rename the materials, and apply different textures to the renamed materials. At some point I want to be able to customize/randomize (NPC) characters, but I have not yet done that.
Also you can make materials instances with parameters... I will show you howto, but first we need to turn shape-keys into morph-targets.
=Use Blender v 2.80 to get more!!=
For some reason the exported FBX file is not organized in a way so you will get the shape-keys imported directly to UE4. However when you follow the next steps, you will not get the correct materials imported, so I recommend that you run FBX import as shown above, and save the textures/materials in a separate folder.
If you are new to Blender please run a few tutorials specifically on on how to import/export, and also get to know about collections - you can do a lot in Blender and you can get confused!
==What will be done here?==
I will show you how to:
* Import your MHX2 files, to preserve the shape-keys
* Export FBX files, so UE4 will import correctly with morph-targets
* Apply expressions etc. to your base character
* Import these to your Blender file and apply the expressions as '''new shape keys'''
==But, first import and inspect FBX and MHX2!==
As you may remember you exported two files, the FBX file and the MHX2 file. You want to import both of these files into Blender, so you need two Collections, called FBX and MHX2. You right-click on the 'Scene collection' select 'New' and rename the collections to 'FBX' and 'MHX2'... I also added Scene collection and dragged the Camera and Light there (as I deleted the box). After this you should see something link this (the small Icons may be different):
[[File:MH-Base-Blender-setup.png]]
When you import your FBX file select/highlight the FBX collection, so the FBX data get imported into that collection. You can use the standard import options. For MHX2 you need to change the setting to match those you see below - when you find they are correct you can click the + sign, marked with a yellow arrow, and save the setting with your own setting-name.
(You may notice that the character you imported is out of proportions, some 17-18 meters high, we will correct that when we export to UE4!)
[[File:MH-Blender-FBX-import-options.png]]
===Inspect the results, in Blender===
Now is a good time to save the Blender file. You should save this in the same folder as the FBX and MHX2. I call this file averagedude-base.blend.
If you did this approximately as described the result should be munch like below. And you will probably notice that there is some structural differences. You can see that by looking at the small icons [[File:MH-Blender-base-imported-icons.png]], that represent where modifiers, vertex groups and Object data is stored! Specifically the Object data holds the shape-keys and those were not imported. (perhaps because I did not use the correct FBX import options - but the same happens in UE4!).
[[File:MH-Blender-base-imported.png]]
You will notice that the MHX2 version of your character holds the Object data (the triangle) and that shape-keys can be seen there!
==Export the FBX for your base character, and import to UE4==
The next step is crucial for getting things to work in UE4, it is not very complicated but you need to have a plan.
When you did this correctly you should be able to get the following results:
* Import your base character into UE4
* Create retargeting for your common skeleton - called MH_Skeleton
* Retarget the Maniqin animations to your base character(s)
* Get additional Mixamo animations
===FBX export settings===
'''Important!''' Before you go any further you should rename your base character to '''main_root''', like this:
[[File:MH-Base-FBX-main-root.png]]
.... you should do this for all base characters! main_root will be the root bone in your skeleton. When you do it like this, all of your base characters will be able to share the same skeleton!
Now select the MHX2 collection where you have the character, and go to Export FBX.
I have made a 'Operator preset' for the FBX export, this is the options you need to set:
[[File:MH-Base-FBX-operator-presets.png]]
Place the FBX file in the same folder as where you placed the original FBX and the MHX2. You probably do not need the FBX that you made with Makehuman, and you can always make it again?
(You may however want to export more FBX files from Makehuman, simply to get all of the textures. We will look more into how you can use the skin textures!)
==UE4 import, and retarget ==
Go to your UE4 project and make a MH folder containing a new avaragedude folder, and import your base character there!
During the import of the FBX file from Blender into UE4 you must enable the '''Import Morp Targets''' checkbox manually (expand the Mesh section)!
Observe that this character looks very much like the one you did already import from the original FBX, there are little difference - yet you want to set up this as your real base character.
Also you want to rename the skeleton to '''MH_Skeleton'''! And you want to open the skeleton, and retarget it to the humanoid rig... this should look like this:
[[File:MH-Base-Skeleton-Retarget.png]]
Make sure that your character is in T-Pose, as you want to retarget the Mannequin animations to your characters MH_Skeleton!
Make a animation folder in your MH, perhaps even Mannequin folder?
You go to the UE4 folder: Content/Mannequin/Animations and right-click on this animation: '''ThirdPerson_AnimBP'''
Select retarget and choose MH_Skeleton as your target - also select the animation folder you made before, something like this:
[[File:MH-Base-Animation-Retarget.png]]
You may want to rename your new ThirdPerson_AnimBP to '''''MH''_ThirdPerson_AnimBP''' - or perhaps simply MH_AnimBP?
===Translation Retargeting===
After the retargeting the animations will still look odd. You go to the skeleton tree, then check off the "Show Retargeting Options" and set those at and below the spline to Skeleton (recursively) - that looks something like this:
[[File:MH-Anim-Skeleton.png]]
=More shape keys, made in Blender 2.8=
I have not yet made any target in MH, also I have not had much luck in using the two blender addons. Frankly I don't really understand what the different buttons does, most of them are not active... perhaps they make sens if you use Blender a lot?
But I will show you different ways to get expressions, targets and skeleton animations(!) to shape keys, so then will be new morph targets in UE4!
Before you get started you should probably look at a few Blender tutorials regarding this - these are good:
===Tutorials===
General introduction to MHX2 import and animation. However '''do not''' import the resulting characters into UE4?
{{#ev:youtube|2P1t_nogbGs}}
Short general introduction to using shape keys in Blender 2.8:
{{#ev:youtube|e675Ulc7QL4}}
==Expressions and targets==
Make sure that you have your original base character saved and load it into Makehuman. Remember to check that your base character is in the T-Pose, do not change that!
'''Just in case:''' I recommend that you keep a copy of this file as well as all the blender file etc.
You should also have Blender open and load the .blender file where you saved both your FBX and the MHX2.
Before you go on do as follows: move the MHX2 character to x 10m, so the entire character moves to the left (right to your front view) - this will make it more easy for you to work with! (Save the blender file!)
'''This is the general workflow for transfer of expressions:'''
Makehuman:
* Go to the Pose/Animate tab and select Expressions. From the list select the first expression, Anger01.
* Save the character as .mhx2 - but to a different file name: averagedude-base-expression.mhx2.
Blender:
* In blender, deselect all the collections
* Import the file you made, using the same operator presets as yo saved them.
* Activate your Base character collection and you will have two characters side by side - one base character and a very angry one!
* Go to object mode
* '''Left-click-select''' the angry guy first, then '''shift-left-click''' your base character.
* Go to the vertex tab/shape key, and click on the little down arrow, and select the ''Join as shapes'' - like this:
[[File:MH-Blender-shapekey1.png]]
This will make a brand new shape key: Averagedude_base_expression:Proxy
* You rename the shape key by a double-click and call it '''Exp_Anger01'''..
* ... and assign the Vertex group to head
[[File:MH-Blender-shapekey2.png]]
In case you can not select ''Join as shapes'' the two characters were not selected in the right order, or perhaps the topology is not the same. Blender will show this as a message some where at the bottom of the screen. I this happens try the blender workflow, in this paragraph only , again!
You can now try to change the value for the shape key, and you should see that your base character can get angry!
When this worked for you you can save the blender file! And you should now do your very first re-import of the FBX. You save your base character in a FBX and Import it to UE4. To be 100% safe you can save and import to different names and folders, but in the end you will re-import the base character each time you do one or more new shape keys.
When you see this working in UE4, you can go on to the next expressions - I simply delete the Averagedude_base_expression collection and save the next expression in the same file. You can naturally do as many expressions as you want. leave some out etc... as you like!
==Observations about Blender 2.8==
You may notice that you can mess this up, so please save your blender file and back up! Say you can easily merge your base character with the expression MHX2 or do something else to corrupt your work!
Please also note that the Vertex Group/relative to, '''head''' and '''Basis''', are rather important! The shape key will change the entire body, to the T-Pose, if head is not set. Likewise you can make some shape keys relative to an other shape key - this will be important a bit later, when we do more "advanced" stuff!
=Blender 2.8 - a bit more advanced?=
This is very fine - we can make your base character use all the expressions, and they can be combined! Also you can tamper with them in UE4, say you can combine them and you can even set minus values, or extreme values not "allowed" in Blender. But you obviously want more than that?
Perhaps you can find some special "targets" you want to use?
f07e75b521637c24dd02761ad4d578fb9291730e
2064
2062
2021-03-14T19:34:21Z
Assetdk
89
wikitext
text/x-wiki
Please take a look at this page: [[Documentation:MH4UE|MH4UE]] - to get an overview of things you can use to get your Makehuman characters into Unreal Engine!
Also look at the Forum here for more tips [http://www.makehumancommunity.org/forum/viewtopic.php?f=14&t=18462&p=52859&hilit=MH4UE#p52859 MH4UE].
There are, currently, several pages for this, describing the process of getting MH to Blender and then into Unreal. And one describing the addon that will add more "shape keys" to your characters (while in blender).
* [[Documentation:Saving_models_for_Unreal_Engine_and_how_to_import_them_there|Saving models for Unreal Engine and how to import them there]].
* [[Documentation:Saving_models_for_Unreal_Engine_Materials|How to setup Unreal materials]].
* [[Documentation:Unreal_MHC|Unreal MakeCustomization]].
* [[Documentation:MHBlenderTools: MakeShapes|MakeShapes - getting more shape keys/morph targets]]
=What can and can't be done?=
I have been working on getting different characters into UE4 for some time, and this have been a real hassle!
On this page I want to summarize what I managed to get done using a workflow that involves Blender. I have had a focus on not going into much details regarding any of the tools, but you will need to know a few things. Even though this looks like a trivial task there are some pitfalls and also there are some things that can not be done, or I have just not found out how to. I will eventually also add links to all the YT tutorials I found helpful.
I found that working with Makehuman very easy, so focus will be very UE4 how to specific.
This is what I will cover thus far:
* Create and save any MH character in Makehuman. Basic stuff, and important things to avoid.
* Getting the character into Blender - import or link?
* Setup Blender for Export, shape keys and morph targets
* First import into UE4
* Introduction to more shape keys
* Mixamo animations
This is the stuff that I did not cover - yet:
* Animations for talking (other tutorials may help)
* Making custom cloth
* Hair
This is the stuff I can not get to work:
* Retargeting to Advanced Locomotion System V3/4
* ALS got something to work! [[Documentation:Saving models for Unreal Engine and how to import them there/ALS]]
* [[Documentation:Unreal Engine ALS V4]]
Since I am using/learning Blender 2.8, I want to share a bit of bonus info. I managed to make one of the free UE4 packages work a bit "better". That is your characters should have some transportation. This is how:
* [[Documentation:Unreal Engine Vehicle Variety Pack]]
=Getting started=
I wanted a quick way to populate a UE4 game, preferably with an unlimited number of varied characters of high quality. This has proven to be a bit harder than expected. The workflow for making characters is not as trivial as one would want but this guide should make it a bit more easy to do. I will focus on describing the "straight" path from Makehuman and into UE4 - so you will not find too much details about Blender. Please refer to Blender specific pages for more on that.
==Need to know==
There are a few terms that you need to know, say you need to know that you will import FBX, textures and other files into UE4. Also you will need to know that a Character consists of a '''Mesh''', a '''Skeleton''' and '''''materials''''' (that refers to textures). I will try to elaborate on these subjects as we go along...
==Making a base-character==
'''IMPORTANT new comment:'''
There is now tree different custom A-poses that you can use - i currently recommend the one highlighted in the list.
Please read more in the [[http://www.makehumancommunity.org/forum/viewtopic.php?f=14&t=18462&p=53368#p53368 forum]], for more information.
===Set up Base-Character(s)===
Makehuman provides a range of predefined characters that is supposed to work as-is. You can just load a character, export it to FBX and import that into UE4 - and after a bit of work you can have a working player character! There are however a few pitfalls, so I suggest you make one (or more) base-character(s) that you can elaborate on as you go along. I will be working with ''''''averagedude'''''' as my base-character.
These are the steps to make the base characters:
* Open Makehuman
* Select the files tab and load the character
'''Under 'Geometries''''
* Remove cloth - (uncheck Hide faces under cloth)!
* Remove hair
* Add Teeth
* Choose Topology - '''I have no advice on this - but see comment below!'''
* Chose Eyebrows/Eyelashes, these can be changed as you go along - as can eye colors!
* Add Tongue01 (again I have no advice/recommendation on that, yet)
'''Under 'Materials'''' - I will show you how to work with UE4 "advanced" materials:
* Chose any skin that you like,
* Chose any eyes that you like
'''Under 'Pose/Animate''''
* Chose Skeleton: Uengine - if you do not have this already you my get it via the community tab?
* Chose Expressions: none
* For the POSE chose the Apose_ue
* [[File:MH_UE_Poses.png]]
* Finally, from one of the poses documentations I found this comment: This pose is a near drop in fit for the Unreal mannequin using a generic male with standard proportions and 187.5 cm height.
(You should probably use this, I have been using a height of 168-190, where the better result came from 190)
And this is it! But there is one 'important' option you need know about - you need to '''uncheck''' the Smooth button!
The smooth button/option: [[File:MH-Smooth-option.png]] should be unchecked... that will make your character a bit less attractive, but this will preserve the shape-keys!
Makehuman comes with some 50-60 '''shape-keys''' and these will all be available as '''morph-targets''' in UE4. I will show you how to make more shape-keys, using makehuman+blender!
Now it is time to save your base-character - even though you have made very few changes to the file you should save this file under the save tab and name it
<your-name>-base (say averagedude-base), you can even add your very own tag 'base' to this.
When you save the file like this you will be able to reload it, and we need that later!
====Choose Topology/Shape keys====
When you make your base character without smoothing you get shape keys, and you want to share these between different characters. Specifically you would probably want to share face morphs between male and female characters - and there may be other base character variations, say old/young/child etc.
Later I will focus on how to make new shape keys, using blender - depending on how you want to do this you may want to '''chose Topology that is compatible between the different characters!''' That is you may be able to transfer one "shape" from a male character to a female character, but the result will depend on ''topology compatibility''. I will/may thus update this section to make sure
'''Shape key names''' will be the same for all of the base characters, as they come from - however you will be able to make new keys. You must name these keys the same for all MH characters, like these share the same skeleton (MH_Skelton) they must hold all the same shape keys names. If they don't your game may "break"....
===Export your base-character===
You can now take a break - or you can export your work. There are really tree options for you to look at:
* Save the FBX file directly - make sure to chose the binary file format, if you want to import this file to UE.
* Save a MHX2 file (you may need to install this as a option/utility, find our elsewhere!)
* Load the character to '''Blender''' directly via the link (I will get back to what can be done using that!)
I suggest that you save your base-character now, in both formats - FBX and MHX2! Make a specific 'Base-Characters' folder, because you will need it!
When you export the FBX use these options:
[[File:MH-FBX-export-options.png]]
This is the result for me, you should see something like this also:
[[File:MH-Base-Character-Folder.png]]
You should also see that there is a sub-folder, called Textures - this is where the different textures are saved and it should now look like this:
[[File:MH-Base-Character-Folder-textures.png]]
You can now go over all of the different textures, so you will have a wide selection to chose from. Textures are saved every time you save a FBX file!
Say, I change the base-characters textures, saved the FBX - and this is what I got:
[[File:MH-Base-Character-Folder-textures2.png]]
===Import your base-character to UE4 - FBX===
The FBX file will actually import directly to UE4, but there are a few problems! You should export your FBX file as Binary FBX, and you will get the most out of it. After this you can get to this result (after adjusting the materials, as seen below):
[[File:MH-MH-FBX-imported.png]]
Your character can look like this (after adjusting materials) - pretty good:
[[File:MH-MH-FBX-imported-materials.png]]
'''HOWEVER, you have lost the morph-targets! And as you probably noticed, the UE4 standard FBX import do import them!'''
I will get back to what to do about the shape-keys... but let make the materials first?
==Makehuman UE4 materials==
The details for setting up materials was moved to this section: '''[[Documentation:Saving models for Unreal Engine Materials|Materials]]'''
====Customization====
The skin can now be modified using a simple interface in the game. The prototype for this can be seen here: [[Documentation:Unreal_MHC|Unreal MakeCustomization]].
===More materials?===
You can simply drag and drop more textures from the the base-character/textures folder, then duplicate and rename the materials, and apply different textures to the renamed materials. At some point I want to be able to customize/randomize (NPC) characters, but I have not yet done that.
Also you can make materials instances with parameters... I will show you howto, but first we need to turn shape-keys into morph-targets.
=Use Blender v 2.80 to get more!!=
For some reason the exported FBX file is not organized in a way so you will get the shape-keys imported directly to UE4. However when you follow the next steps, you will not get the correct materials imported, so I recommend that you run FBX import as shown above, and save the textures/materials in a separate folder.
If you are new to Blender please run a few tutorials specifically on on how to import/export, and also get to know about collections - you can do a lot in Blender and you can get confused!
==What will be done here?==
I will show you how to:
* Import your MHX2 files, to preserve the shape-keys
* Export FBX files, so UE4 will import correctly with morph-targets
* Apply expressions etc. to your base character
* Import these to your Blender file and apply the expressions as '''new shape keys'''
==But, first import and inspect FBX and MHX2!==
As you may remember you exported two files, the FBX file and the MHX2 file. You want to import both of these files into Blender, so you need two Collections, called FBX and MHX2. You right-click on the 'Scene collection' select 'New' and rename the collections to 'FBX' and 'MHX2'... I also added Scene collection and dragged the Camera and Light there (as I deleted the box). After this you should see something link this (the small Icons may be different):
[[File:MH-Base-Blender-setup.png]]
When you import your FBX file select/highlight the FBX collection, so the FBX data get imported into that collection. You can use the standard import options. For MHX2 you need to change the setting to match those you see below - when you find they are correct you can click the + sign, marked with a yellow arrow, and save the setting with your own setting-name.
(You may notice that the character you imported is out of proportions, some 17-18 meters high, we will correct that when we export to UE4!)
[[File:MH-Blender-FBX-import-options.png]]
===Inspect the results, in Blender===
Now is a good time to save the Blender file. You should save this in the same folder as the FBX and MHX2. I call this file averagedude-base.blend.
If you did this approximately as described the result should be munch like below. And you will probably notice that there is some structural differences. You can see that by looking at the small icons [[File:MH-Blender-base-imported-icons.png]], that represent where modifiers, vertex groups and Object data is stored! Specifically the Object data holds the shape-keys and those were not imported. (perhaps because I did not use the correct FBX import options - but the same happens in UE4!).
[[File:MH-Blender-base-imported.png]]
You will notice that the MHX2 version of your character holds the Object data (the triangle) and that shape-keys can be seen there!
==Export the FBX for your base character, and import to UE4==
The next step is crucial for getting things to work in UE4, it is not very complicated but you need to have a plan.
When you did this correctly you should be able to get the following results:
* Import your base character into UE4
* Create retargeting for your common skeleton - called MH_Skeleton
* Retarget the Maniqin animations to your base character(s)
* Get additional Mixamo animations
===FBX export settings===
'''Important!''' Before you go any further you should rename your base character to '''main_root''', like this:
[[File:MH-Base-FBX-main-root.png]]
.... you should do this for all base characters! main_root will be the root bone in your skeleton. When you do it like this, all of your base characters will be able to share the same skeleton!
Now select the MHX2 collection where you have the character, and go to Export FBX.
I have made a 'Operator preset' for the FBX export, this is the options you need to set:
[[File:MH-Base-FBX-operator-presets.png]]
Place the FBX file in the same folder as where you placed the original FBX and the MHX2. You probably do not need the FBX that you made with Makehuman, and you can always make it again?
(You may however want to export more FBX files from Makehuman, simply to get all of the textures. We will look more into how you can use the skin textures!)
==UE4 import, and retarget ==
Go to your UE4 project and make a MH folder containing a new avaragedude folder, and import your base character there!
During the import of the FBX file from Blender into UE4 you must enable the '''Import Morp Targets''' checkbox manually (expand the Mesh section)!
Observe that this character looks very much like the one you did already import from the original FBX, there are little difference - yet you want to set up this as your real base character.
Also you want to rename the skeleton to '''MH_Skeleton'''! And you want to open the skeleton, and retarget it to the humanoid rig... this should look like this:
[[File:MH-Base-Skeleton-Retarget.png]]
Make sure that your character is in T-Pose, as you want to retarget the Mannequin animations to your characters MH_Skeleton!
Make a animation folder in your MH, perhaps even Mannequin folder?
You go to the UE4 folder: Content/Mannequin/Animations and right-click on this animation: '''ThirdPerson_AnimBP'''
Select retarget and choose MH_Skeleton as your target - also select the animation folder you made before, something like this:
[[File:MH-Base-Animation-Retarget.png]]
You may want to rename your new ThirdPerson_AnimBP to '''''MH''_ThirdPerson_AnimBP''' - or perhaps simply MH_AnimBP?
===Translation Retargeting===
After the retargeting the animations will still look odd. You go to the skeleton tree, then check off the "Show Retargeting Options" and set those at and below the spline to Skeleton (recursively) - that looks something like this:
[[File:MH-Anim-Skeleton.png]]
=More shape keys, made in Blender 2.8=
I have not yet made any target in MH, also I have not had much luck in using the two blender addons. Frankly I don't really understand what the different buttons does, most of them are not active... perhaps they make sens if you use Blender a lot?
But I will show you different ways to get expressions, targets and skeleton animations(!) to shape keys, so then will be new morph targets in UE4!
Before you get started you should probably look at a few Blender tutorials regarding this - these are good:
===Tutorials===
General introduction to MHX2 import and animation. However '''do not''' import the resulting characters into UE4?
{{#ev:youtube|2P1t_nogbGs}}
Short general introduction to using shape keys in Blender 2.8:
{{#ev:youtube|e675Ulc7QL4}}
==Expressions and targets==
Make sure that you have your original base character saved and load it into Makehuman. Remember to check that your base character is in the T-Pose, do not change that!
'''Just in case:''' I recommend that you keep a copy of this file as well as all the blender file etc.
You should also have Blender open and load the .blender file where you saved both your FBX and the MHX2.
Before you go on do as follows: move the MHX2 character to x 10m, so the entire character moves to the left (right to your front view) - this will make it more easy for you to work with! (Save the blender file!)
'''This is the general workflow for transfer of expressions:'''
Makehuman:
* Go to the Pose/Animate tab and select Expressions. From the list select the first expression, Anger01.
* Save the character as .mhx2 - but to a different file name: averagedude-base-expression.mhx2.
Blender:
* In blender, deselect all the collections
* Import the file you made, using the same operator presets as yo saved them.
* Activate your Base character collection and you will have two characters side by side - one base character and a very angry one!
* Go to object mode
* '''Left-click-select''' the angry guy first, then '''shift-left-click''' your base character.
* Go to the vertex tab/shape key, and click on the little down arrow, and select the ''Join as shapes'' - like this:
[[File:MH-Blender-shapekey1.png]]
This will make a brand new shape key: Averagedude_base_expression:Proxy
* You rename the shape key by a double-click and call it '''Exp_Anger01'''..
* ... and assign the Vertex group to head
[[File:MH-Blender-shapekey2.png]]
In case you can not select ''Join as shapes'' the two characters were not selected in the right order, or perhaps the topology is not the same. Blender will show this as a message some where at the bottom of the screen. I this happens try the blender workflow, in this paragraph only , again!
You can now try to change the value for the shape key, and you should see that your base character can get angry!
When this worked for you you can save the blender file! And you should now do your very first re-import of the FBX. You save your base character in a FBX and Import it to UE4. To be 100% safe you can save and import to different names and folders, but in the end you will re-import the base character each time you do one or more new shape keys.
When you see this working in UE4, you can go on to the next expressions - I simply delete the Averagedude_base_expression collection and save the next expression in the same file. You can naturally do as many expressions as you want. leave some out etc... as you like!
==Observations about Blender 2.8==
You may notice that you can mess this up, so please save your blender file and back up! Say you can easily merge your base character with the expression MHX2 or do something else to corrupt your work!
Please also note that the Vertex Group/relative to, '''head''' and '''Basis''', are rather important! The shape key will change the entire body, to the T-Pose, if head is not set. Likewise you can make some shape keys relative to an other shape key - this will be important a bit later, when we do more "advanced" stuff!
=Blender 2.8 - a bit more advanced?=
This is very fine - we can make your base character use all the expressions, and they can be combined! Also you can tamper with them in UE4, say you can combine them and you can even set minus values, or extreme values not "allowed" in Blender. But you obviously want more than that?
Perhaps you can find some special "targets" you want to use?
f91f870b4d927646a08598c2748a15a33d2ec8b1
2062
2056
2021-03-14T19:08:11Z
Assetdk
89
/* Set up Base-Character(s) */
wikitext
text/x-wiki
Please take a look at this page: [[Documentation:MH4UE|MH4UE]] - to get an overview of things you can use to get your Makehuman characters into Unreal Engine!
Also look at the Forum here for more tips [http://www.makehumancommunity.org/forum/viewtopic.php?f=14&t=18462&p=52859&hilit=MH4UE#p52859 MH4UE].
*
=What can and can't be done?=
I have been working on getting different characters into UE4 for some time, and this have been a real hassle!
On this page I want to summarize what I managed to get done using a workflow that involves Blender. I have had a focus on not going into much details regarding any of the tools, but you will need to know a few things. Even though this looks like a trivial task there are some pitfalls and also there are some things that can not be done, or I have just not found out how to. I will eventually also add links to all the YT tutorials I found helpful.
I found that working with Makehuman very easy, so focus will be very UE4 how to specific.
This is what I will cover thus far:
* Create and save any MH character in Makehuman. Basic stuff, and important things to avoid.
* Getting the character into Blender - import or link?
* Setup Blender for Export, shape keys and morph targets
* First import into UE4
* Introduction to more shape keys
* Mixamo animations
This is the stuff that I did not cover - yet:
* Animations for talking (other tutorials may help)
* Making custom cloth
* Hair
This is the stuff I can not get to work:
* Retargeting to Advanced Locomotion System V3/4
* ALS got something to work! [[Documentation:Saving models for Unreal Engine and how to import them there/ALS]]
* [[Documentation:Unreal Engine ALS V4]]
Since I am using/learning Blender 2.8, I want to share a bit of bonus info. I managed to make one of the free UE4 packages work a bit "better". That is your characters should have some transportation. This is how:
* [[Documentation:Unreal Engine Vehicle Variety Pack]]
=Getting started=
I wanted a quick way to populate a UE4 game, preferably with an unlimited number of varied characters of high quality. This has proven to be a bit harder than expected. The workflow for making characters is not as trivial as one would want but this guide should make it a bit more easy to do. I will focus on describing the "straight" path from Makehuman and into UE4 - so you will not find too much details about Blender. Please refer to Blender specific pages for more on that.
==Need to know==
There are a few terms that you need to know, say you need to know that you will import FBX, textures and other files into UE4. Also you will need to know that a Character consists of a '''Mesh''', a '''Skeleton''' and '''''materials''''' (that refers to textures). I will try to elaborate on these subjects as we go along...
==Making a base-character==
'''IMPORTANT new comment:'''
There is now tree different custom A-poses that you can use - i currently recommend the one highlighted in the list.
Please read more in the [[http://www.makehumancommunity.org/forum/viewtopic.php?f=14&t=18462&p=53368#p53368 forum]], for more information.
===Set up Base-Character(s)===
Makehuman provides a range of predefined characters that is supposed to work as-is. You can just load a character, export it to FBX and import that into UE4 - and after a bit of work you can have a working player character! There are however a few pitfalls, so I suggest you make one (or more) base-character(s) that you can elaborate on as you go along. I will be working with ''''''averagedude'''''' as my base-character.
These are the steps to make the base characters:
* Open Makehuman
* Select the files tab and load the character
'''Under 'Geometries''''
* Remove cloth - (uncheck Hide faces under cloth)!
* Remove hair
* Add Teeth
* Choose Topology - '''I have no advice on this - but see comment below!'''
* Chose Eyebrows/Eyelashes, these can be changed as you go along - as can eye colors!
* Add Tongue01 (again I have no advice/recommendation on that, yet)
'''Under 'Materials'''' - I will show you how to work with UE4 "advanced" materials:
* Chose any skin that you like,
* Chose any eyes that you like
'''Under 'Pose/Animate''''
* Chose Skeleton: Uengine - if you do not have this already you my get it via the community tab?
* Chose Expressions: none
* For the POSE chose the Apose_ue
* [[File:MH_UE_Poses.png]]
* Finally, from one of the poses documentations I found this comment: This pose is a near drop in fit for the Unreal mannequin using a generic male with standard proportions and 187.5 cm height.
(You should probably use this, I have been using a height of 168-190, where the better result came from 190)
And this is it! But there is one 'important' option you need know about - you need to '''uncheck''' the Smooth button!
The smooth button/option: [[File:MH-Smooth-option.png]] should be unchecked... that will make your character a bit less attractive, but this will preserve the shape-keys!
Makehuman comes with some 50-60 '''shape-keys''' and these will all be available as '''morph-targets''' in UE4. I will show you how to make more shape-keys, using makehuman+blender!
Now it is time to save your base-character - even though you have made very few changes to the file you should save this file under the save tab and name it
<your-name>-base (say averagedude-base), you can even add your very own tag 'base' to this.
When you save the file like this you will be able to reload it, and we need that later!
====Choose Topology/Shape keys====
When you make your base character without smoothing you get shape keys, and you want to share these between different characters. Specifically you would probably want to share face morphs between male and female characters - and there may be other base character variations, say old/young/child etc.
Later I will focus on how to make new shape keys, using blender - depending on how you want to do this you may want to '''chose Topology that is compatible between the different characters!''' That is you may be able to transfer one "shape" from a male character to a female character, but the result will depend on ''topology compatibility''. I will/may thus update this section to make sure
'''Shape key names''' will be the same for all of the base characters, as they come from - however you will be able to make new keys. You must name these keys the same for all MH characters, like these share the same skeleton (MH_Skelton) they must hold all the same shape keys names. If they don't your game may "break"....
===Export your base-character===
You can now take a break - or you can export your work. There are really tree options for you to look at:
* Save the FBX file directly - make sure to chose the binary file format, if you want to import this file to UE.
* Save a MHX2 file (you may need to install this as a option/utility, find our elsewhere!)
* Load the character to '''Blender''' directly via the link (I will get back to what can be done using that!)
I suggest that you save your base-character now, in both formats - FBX and MHX2! Make a specific 'Base-Characters' folder, because you will need it!
When you export the FBX use these options:
[[File:MH-FBX-export-options.png]]
This is the result for me, you should see something like this also:
[[File:MH-Base-Character-Folder.png]]
You should also see that there is a sub-folder, called Textures - this is where the different textures are saved and it should now look like this:
[[File:MH-Base-Character-Folder-textures.png]]
You can now go over all of the different textures, so you will have a wide selection to chose from. Textures are saved every time you save a FBX file!
Say, I change the base-characters textures, saved the FBX - and this is what I got:
[[File:MH-Base-Character-Folder-textures2.png]]
===Import your base-character to UE4 - FBX===
The FBX file will actually import directly to UE4, but there are a few problems! You should export your FBX file as Binary FBX, and you will get the most out of it. After this you can get to this result (after adjusting the materials, as seen below):
[[File:MH-MH-FBX-imported.png]]
Your character can look like this (after adjusting materials) - pretty good:
[[File:MH-MH-FBX-imported-materials.png]]
'''HOWEVER, you have lost the morph-targets! And as you probably noticed, the UE4 standard FBX import do import them!'''
I will get back to what to do about the shape-keys... but let make the materials first?
==Makehuman UE4 materials==
The details for setting up materials was moved to this section: '''[[Documentation:Saving models for Unreal Engine Materials|Materials]]'''
====Customization====
The skin can now be modified using a simple interface in the game. The prototype for this can be seen here: [[Documentation:Unreal_MHC|Unreal MakeCustomization]].
===More materials?===
You can simply drag and drop more textures from the the base-character/textures folder, then duplicate and rename the materials, and apply different textures to the renamed materials. At some point I want to be able to customize/randomize (NPC) characters, but I have not yet done that.
Also you can make materials instances with parameters... I will show you howto, but first we need to turn shape-keys into morph-targets.
=Use Blender v 2.80 to get more!!=
For some reason the exported FBX file is not organized in a way so you will get the shape-keys imported directly to UE4. However when you follow the next steps, you will not get the correct materials imported, so I recommend that you run FBX import as shown above, and save the textures/materials in a separate folder.
If you are new to Blender please run a few tutorials specifically on on how to import/export, and also get to know about collections - you can do a lot in Blender and you can get confused!
==What will be done here?==
I will show you how to:
* Import your MHX2 files, to preserve the shape-keys
* Export FBX files, so UE4 will import correctly with morph-targets
* Apply expressions etc. to your base character
* Import these to your Blender file and apply the expressions as '''new shape keys'''
==But, first import and inspect FBX and MHX2!==
As you may remember you exported two files, the FBX file and the MHX2 file. You want to import both of these files into Blender, so you need two Collections, called FBX and MHX2. You right-click on the 'Scene collection' select 'New' and rename the collections to 'FBX' and 'MHX2'... I also added Scene collection and dragged the Camera and Light there (as I deleted the box). After this you should see something link this (the small Icons may be different):
[[File:MH-Base-Blender-setup.png]]
When you import your FBX file select/highlight the FBX collection, so the FBX data get imported into that collection. You can use the standard import options. For MHX2 you need to change the setting to match those you see below - when you find they are correct you can click the + sign, marked with a yellow arrow, and save the setting with your own setting-name.
(You may notice that the character you imported is out of proportions, some 17-18 meters high, we will correct that when we export to UE4!)
[[File:MH-Blender-FBX-import-options.png]]
===Inspect the results, in Blender===
Now is a good time to save the Blender file. You should save this in the same folder as the FBX and MHX2. I call this file averagedude-base.blend.
If you did this approximately as described the result should be munch like below. And you will probably notice that there is some structural differences. You can see that by looking at the small icons [[File:MH-Blender-base-imported-icons.png]], that represent where modifiers, vertex groups and Object data is stored! Specifically the Object data holds the shape-keys and those were not imported. (perhaps because I did not use the correct FBX import options - but the same happens in UE4!).
[[File:MH-Blender-base-imported.png]]
You will notice that the MHX2 version of your character holds the Object data (the triangle) and that shape-keys can be seen there!
==Export the FBX for your base character, and import to UE4==
The next step is crucial for getting things to work in UE4, it is not very complicated but you need to have a plan.
When you did this correctly you should be able to get the following results:
* Import your base character into UE4
* Create retargeting for your common skeleton - called MH_Skeleton
* Retarget the Maniqin animations to your base character(s)
* Get additional Mixamo animations
===FBX export settings===
'''Important!''' Before you go any further you should rename your base character to '''main_root''', like this:
[[File:MH-Base-FBX-main-root.png]]
.... you should do this for all base characters! main_root will be the root bone in your skeleton. When you do it like this, all of your base characters will be able to share the same skeleton!
Now select the MHX2 collection where you have the character, and go to Export FBX.
I have made a 'Operator preset' for the FBX export, this is the options you need to set:
[[File:MH-Base-FBX-operator-presets.png]]
Place the FBX file in the same folder as where you placed the original FBX and the MHX2. You probably do not need the FBX that you made with Makehuman, and you can always make it again?
(You may however want to export more FBX files from Makehuman, simply to get all of the textures. We will look more into how you can use the skin textures!)
==UE4 import, and retarget ==
Go to your UE4 project and make a MH folder containing a new avaragedude folder, and import your base character there!
During the import of the FBX file from Blender into UE4 you must enable the '''Import Morp Targets''' checkbox manually (expand the Mesh section)!
Observe that this character looks very much like the one you did already import from the original FBX, there are little difference - yet you want to set up this as your real base character.
Also you want to rename the skeleton to '''MH_Skeleton'''! And you want to open the skeleton, and retarget it to the humanoid rig... this should look like this:
[[File:MH-Base-Skeleton-Retarget.png]]
Make sure that your character is in T-Pose, as you want to retarget the Mannequin animations to your characters MH_Skeleton!
Make a animation folder in your MH, perhaps even Mannequin folder?
You go to the UE4 folder: Content/Mannequin/Animations and right-click on this animation: '''ThirdPerson_AnimBP'''
Select retarget and choose MH_Skeleton as your target - also select the animation folder you made before, something like this:
[[File:MH-Base-Animation-Retarget.png]]
You may want to rename your new ThirdPerson_AnimBP to '''''MH''_ThirdPerson_AnimBP''' - or perhaps simply MH_AnimBP?
===Translation Retargeting===
After the retargeting the animations will still look odd. You go to the skeleton tree, then check off the "Show Retargeting Options" and set those at and below the spline to Skeleton (recursively) - that looks something like this:
[[File:MH-Anim-Skeleton.png]]
=More shape keys, made in Blender 2.8=
I have not yet made any target in MH, also I have not had much luck in using the two blender addons. Frankly I don't really understand what the different buttons does, most of them are not active... perhaps they make sens if you use Blender a lot?
But I will show you different ways to get expressions, targets and skeleton animations(!) to shape keys, so then will be new morph targets in UE4!
Before you get started you should probably look at a few Blender tutorials regarding this - these are good:
===Tutorials===
General introduction to MHX2 import and animation. However '''do not''' import the resulting characters into UE4?
{{#ev:youtube|2P1t_nogbGs}}
Short general introduction to using shape keys in Blender 2.8:
{{#ev:youtube|e675Ulc7QL4}}
==Expressions and targets==
Make sure that you have your original base character saved and load it into Makehuman. Remember to check that your base character is in the T-Pose, do not change that!
'''Just in case:''' I recommend that you keep a copy of this file as well as all the blender file etc.
You should also have Blender open and load the .blender file where you saved both your FBX and the MHX2.
Before you go on do as follows: move the MHX2 character to x 10m, so the entire character moves to the left (right to your front view) - this will make it more easy for you to work with! (Save the blender file!)
'''This is the general workflow for transfer of expressions:'''
Makehuman:
* Go to the Pose/Animate tab and select Expressions. From the list select the first expression, Anger01.
* Save the character as .mhx2 - but to a different file name: averagedude-base-expression.mhx2.
Blender:
* In blender, deselect all the collections
* Import the file you made, using the same operator presets as yo saved them.
* Activate your Base character collection and you will have two characters side by side - one base character and a very angry one!
* Go to object mode
* '''Left-click-select''' the angry guy first, then '''shift-left-click''' your base character.
* Go to the vertex tab/shape key, and click on the little down arrow, and select the ''Join as shapes'' - like this:
[[File:MH-Blender-shapekey1.png]]
This will make a brand new shape key: Averagedude_base_expression:Proxy
* You rename the shape key by a double-click and call it '''Exp_Anger01'''..
* ... and assign the Vertex group to head
[[File:MH-Blender-shapekey2.png]]
In case you can not select ''Join as shapes'' the two characters were not selected in the right order, or perhaps the topology is not the same. Blender will show this as a message some where at the bottom of the screen. I this happens try the blender workflow, in this paragraph only , again!
You can now try to change the value for the shape key, and you should see that your base character can get angry!
When this worked for you you can save the blender file! And you should now do your very first re-import of the FBX. You save your base character in a FBX and Import it to UE4. To be 100% safe you can save and import to different names and folders, but in the end you will re-import the base character each time you do one or more new shape keys.
When you see this working in UE4, you can go on to the next expressions - I simply delete the Averagedude_base_expression collection and save the next expression in the same file. You can naturally do as many expressions as you want. leave some out etc... as you like!
==Observations about Blender 2.8==
You may notice that you can mess this up, so please save your blender file and back up! Say you can easily merge your base character with the expression MHX2 or do something else to corrupt your work!
Please also note that the Vertex Group/relative to, '''head''' and '''Basis''', are rather important! The shape key will change the entire body, to the T-Pose, if head is not set. Likewise you can make some shape keys relative to an other shape key - this will be important a bit later, when we do more "advanced" stuff!
=Blender 2.8 - a bit more advanced?=
This is very fine - we can make your base character use all the expressions, and they can be combined! Also you can tamper with them in UE4, say you can combine them and you can even set minus values, or extreme values not "allowed" in Blender. But you obviously want more than that?
Perhaps you can find some special "targets" you want to use?
95c395f47b365e0e405b845815769c155bce4b14
2056
2051
2021-03-14T18:31:18Z
Assetdk
89
/* Makehuman UE4 materials */
wikitext
text/x-wiki
Please take a look at this page: [[Documentation:MH4UE|MH4UE]] - to get an overview of things you can use to get your Makehuman characters into Unreal Engine!
Also look at the Forum here for more tips [http://www.makehumancommunity.org/forum/viewtopic.php?f=14&t=18462&p=52859&hilit=MH4UE#p52859 MH4UE].
*
=What can and can't be done?=
I have been working on getting different characters into UE4 for some time, and this have been a real hassle!
On this page I want to summarize what I managed to get done using a workflow that involves Blender. I have had a focus on not going into much details regarding any of the tools, but you will need to know a few things. Even though this looks like a trivial task there are some pitfalls and also there are some things that can not be done, or I have just not found out how to. I will eventually also add links to all the YT tutorials I found helpful.
I found that working with Makehuman very easy, so focus will be very UE4 how to specific.
This is what I will cover thus far:
* Create and save any MH character in Makehuman. Basic stuff, and important things to avoid.
* Getting the character into Blender - import or link?
* Setup Blender for Export, shape keys and morph targets
* First import into UE4
* Introduction to more shape keys
* Mixamo animations
This is the stuff that I did not cover - yet:
* Animations for talking (other tutorials may help)
* Making custom cloth
* Hair
This is the stuff I can not get to work:
* Retargeting to Advanced Locomotion System V3/4
* ALS got something to work! [[Documentation:Saving models for Unreal Engine and how to import them there/ALS]]
* [[Documentation:Unreal Engine ALS V4]]
Since I am using/learning Blender 2.8, I want to share a bit of bonus info. I managed to make one of the free UE4 packages work a bit "better". That is your characters should have some transportation. This is how:
* [[Documentation:Unreal Engine Vehicle Variety Pack]]
=Getting started=
I wanted a quick way to populate a UE4 game, preferably with an unlimited number of varied characters of high quality. This has proven to be a bit harder than expected. The workflow for making characters is not as trivial as one would want but this guide should make it a bit more easy to do. I will focus on describing the "straight" path from Makehuman and into UE4 - so you will not find too much details about Blender. Please refer to Blender specific pages for more on that.
==Need to know==
There are a few terms that you need to know, say you need to know that you will import FBX, textures and other files into UE4. Also you will need to know that a Character consists of a '''Mesh''', a '''Skeleton''' and '''''materials''''' (that refers to textures). I will try to elaborate on these subjects as we go along...
==Making a base-character==
'''IMPORTANT new comment:'''
There is now tree different custom A-poses that you can use - i currently recommend the one highlighted in the list.
Please read more in the [[http://www.makehumancommunity.org/forum/viewtopic.php?f=14&t=18462&p=53368#p53368 forum]], for more information.
===Set up Base-Character(s)===
Makehuman provides a range of predefined characters that is supposed to work as-is. You can just load a character, export it to FBX and import that into UE4 - and after a bit of work you can have a working player character! There are however a few pitfalls, so I suggest you make one (or more) base-character(s) that you can elaborate on as you go along. I will be working with ''''''averagedude'''''' as my base-character.
These are the steps to make the base characters:
* Open Makehuman
* Select the files tab and load the character
'''Under 'Geometries''''
* Remove cloth - (uncheck Hide faces under cloth)!
* Remove hair
* Add Teeth
* Choose Topology - '''I have no advice on this - but see comment below!'''
* Chose Eyebrows/Eyelashes, these can be changed as you go along - as can eye colors!
* Add Tongue01 (again I have no advice/recommendation on that, yet)
'''Under 'Materials'''' - I will show you how to work with UE4 "advanced" materials:
* Chose any skin that you like,
* Chose any eyes that you like
'''Under 'Pose/Animate''''
* Chose Skeleton: Uengine - if you do not have this already you my get it via the community tab?
* Chose Expressions: none
* For the POSE chose the Apose_ue
* [[File:MH_UE_Poses.png]]
And this is it! But there is one 'important' option you need know about - you need to '''uncheck''' the Smooth button!
The smooth button/option: [[File:MH-Smooth-option.png]] should be unchecked... that will make your character a bit less attractive, but this will preserve the shape-keys!
Makehuman comes with some 50-60 '''shape-keys''' and these will all be available as '''morph-targets''' in UE4. I will show you how to make more shape-keys, using makehuman+blender!
Now it is time to save your base-character - even though you have made very few changes to the file you should save this file under the save tab and name it
<your-name>-base (say averagedude-base), you can even add your very own tag 'base' to this.
When you save the file like this you will be able to reload it, and we need that later!
====Choose Topology/Shape keys====
When you make your base character without smoothing you get shape keys, and you want to share these between different characters. Specifically you would probably want to share face morphs between male and female characters - and there may be other base character variations, say old/young/child etc.
Later I will focus on how to make new shape keys, using blender - depending on how you want to do this you may want to '''chose Topology that is compatible between the different characters!''' That is you may be able to transfer one "shape" from a male character to a female character, but the result will depend on ''topology compatibility''. I will/may thus update this section to make sure
'''Shape key names''' will be the same for all of the base characters, as they come from - however you will be able to make new keys. You must name these keys the same for all MH characters, like these share the same skeleton (MH_Skelton) they must hold all the same shape keys names. If they don't your game may "break"....
===Export your base-character===
You can now take a break - or you can export your work. There are really tree options for you to look at:
* Save the FBX file directly - make sure to chose the binary file format, if you want to import this file to UE.
* Save a MHX2 file (you may need to install this as a option/utility, find our elsewhere!)
* Load the character to '''Blender''' directly via the link (I will get back to what can be done using that!)
I suggest that you save your base-character now, in both formats - FBX and MHX2! Make a specific 'Base-Characters' folder, because you will need it!
When you export the FBX use these options:
[[File:MH-FBX-export-options.png]]
This is the result for me, you should see something like this also:
[[File:MH-Base-Character-Folder.png]]
You should also see that there is a sub-folder, called Textures - this is where the different textures are saved and it should now look like this:
[[File:MH-Base-Character-Folder-textures.png]]
You can now go over all of the different textures, so you will have a wide selection to chose from. Textures are saved every time you save a FBX file!
Say, I change the base-characters textures, saved the FBX - and this is what I got:
[[File:MH-Base-Character-Folder-textures2.png]]
===Import your base-character to UE4 - FBX===
The FBX file will actually import directly to UE4, but there are a few problems! You should export your FBX file as Binary FBX, and you will get the most out of it. After this you can get to this result (after adjusting the materials, as seen below):
[[File:MH-MH-FBX-imported.png]]
Your character can look like this (after adjusting materials) - pretty good:
[[File:MH-MH-FBX-imported-materials.png]]
'''HOWEVER, you have lost the morph-targets! And as you probably noticed, the UE4 standard FBX import do import them!'''
I will get back to what to do about the shape-keys... but let make the materials first?
==Makehuman UE4 materials==
The details for setting up materials was moved to this section: '''[[Documentation:Saving models for Unreal Engine Materials|Materials]]'''
====Customization====
The skin can now be modified using a simple interface in the game. The prototype for this can be seen here: [[Documentation:Unreal_MHC|Unreal MakeCustomization]].
===More materials?===
You can simply drag and drop more textures from the the base-character/textures folder, then duplicate and rename the materials, and apply different textures to the renamed materials. At some point I want to be able to customize/randomize (NPC) characters, but I have not yet done that.
Also you can make materials instances with parameters... I will show you howto, but first we need to turn shape-keys into morph-targets.
=Use Blender v 2.80 to get more!!=
For some reason the exported FBX file is not organized in a way so you will get the shape-keys imported directly to UE4. However when you follow the next steps, you will not get the correct materials imported, so I recommend that you run FBX import as shown above, and save the textures/materials in a separate folder.
If you are new to Blender please run a few tutorials specifically on on how to import/export, and also get to know about collections - you can do a lot in Blender and you can get confused!
==What will be done here?==
I will show you how to:
* Import your MHX2 files, to preserve the shape-keys
* Export FBX files, so UE4 will import correctly with morph-targets
* Apply expressions etc. to your base character
* Import these to your Blender file and apply the expressions as '''new shape keys'''
==But, first import and inspect FBX and MHX2!==
As you may remember you exported two files, the FBX file and the MHX2 file. You want to import both of these files into Blender, so you need two Collections, called FBX and MHX2. You right-click on the 'Scene collection' select 'New' and rename the collections to 'FBX' and 'MHX2'... I also added Scene collection and dragged the Camera and Light there (as I deleted the box). After this you should see something link this (the small Icons may be different):
[[File:MH-Base-Blender-setup.png]]
When you import your FBX file select/highlight the FBX collection, so the FBX data get imported into that collection. You can use the standard import options. For MHX2 you need to change the setting to match those you see below - when you find they are correct you can click the + sign, marked with a yellow arrow, and save the setting with your own setting-name.
(You may notice that the character you imported is out of proportions, some 17-18 meters high, we will correct that when we export to UE4!)
[[File:MH-Blender-FBX-import-options.png]]
===Inspect the results, in Blender===
Now is a good time to save the Blender file. You should save this in the same folder as the FBX and MHX2. I call this file averagedude-base.blend.
If you did this approximately as described the result should be munch like below. And you will probably notice that there is some structural differences. You can see that by looking at the small icons [[File:MH-Blender-base-imported-icons.png]], that represent where modifiers, vertex groups and Object data is stored! Specifically the Object data holds the shape-keys and those were not imported. (perhaps because I did not use the correct FBX import options - but the same happens in UE4!).
[[File:MH-Blender-base-imported.png]]
You will notice that the MHX2 version of your character holds the Object data (the triangle) and that shape-keys can be seen there!
==Export the FBX for your base character, and import to UE4==
The next step is crucial for getting things to work in UE4, it is not very complicated but you need to have a plan.
When you did this correctly you should be able to get the following results:
* Import your base character into UE4
* Create retargeting for your common skeleton - called MH_Skeleton
* Retarget the Maniqin animations to your base character(s)
* Get additional Mixamo animations
===FBX export settings===
'''Important!''' Before you go any further you should rename your base character to '''main_root''', like this:
[[File:MH-Base-FBX-main-root.png]]
.... you should do this for all base characters! main_root will be the root bone in your skeleton. When you do it like this, all of your base characters will be able to share the same skeleton!
Now select the MHX2 collection where you have the character, and go to Export FBX.
I have made a 'Operator preset' for the FBX export, this is the options you need to set:
[[File:MH-Base-FBX-operator-presets.png]]
Place the FBX file in the same folder as where you placed the original FBX and the MHX2. You probably do not need the FBX that you made with Makehuman, and you can always make it again?
(You may however want to export more FBX files from Makehuman, simply to get all of the textures. We will look more into how you can use the skin textures!)
==UE4 import, and retarget ==
Go to your UE4 project and make a MH folder containing a new avaragedude folder, and import your base character there!
During the import of the FBX file from Blender into UE4 you must enable the '''Import Morp Targets''' checkbox manually (expand the Mesh section)!
Observe that this character looks very much like the one you did already import from the original FBX, there are little difference - yet you want to set up this as your real base character.
Also you want to rename the skeleton to '''MH_Skeleton'''! And you want to open the skeleton, and retarget it to the humanoid rig... this should look like this:
[[File:MH-Base-Skeleton-Retarget.png]]
Make sure that your character is in T-Pose, as you want to retarget the Mannequin animations to your characters MH_Skeleton!
Make a animation folder in your MH, perhaps even Mannequin folder?
You go to the UE4 folder: Content/Mannequin/Animations and right-click on this animation: '''ThirdPerson_AnimBP'''
Select retarget and choose MH_Skeleton as your target - also select the animation folder you made before, something like this:
[[File:MH-Base-Animation-Retarget.png]]
You may want to rename your new ThirdPerson_AnimBP to '''''MH''_ThirdPerson_AnimBP''' - or perhaps simply MH_AnimBP?
===Translation Retargeting===
After the retargeting the animations will still look odd. You go to the skeleton tree, then check off the "Show Retargeting Options" and set those at and below the spline to Skeleton (recursively) - that looks something like this:
[[File:MH-Anim-Skeleton.png]]
=More shape keys, made in Blender 2.8=
I have not yet made any target in MH, also I have not had much luck in using the two blender addons. Frankly I don't really understand what the different buttons does, most of them are not active... perhaps they make sens if you use Blender a lot?
But I will show you different ways to get expressions, targets and skeleton animations(!) to shape keys, so then will be new morph targets in UE4!
Before you get started you should probably look at a few Blender tutorials regarding this - these are good:
===Tutorials===
General introduction to MHX2 import and animation. However '''do not''' import the resulting characters into UE4?
{{#ev:youtube|2P1t_nogbGs}}
Short general introduction to using shape keys in Blender 2.8:
{{#ev:youtube|e675Ulc7QL4}}
==Expressions and targets==
Make sure that you have your original base character saved and load it into Makehuman. Remember to check that your base character is in the T-Pose, do not change that!
'''Just in case:''' I recommend that you keep a copy of this file as well as all the blender file etc.
You should also have Blender open and load the .blender file where you saved both your FBX and the MHX2.
Before you go on do as follows: move the MHX2 character to x 10m, so the entire character moves to the left (right to your front view) - this will make it more easy for you to work with! (Save the blender file!)
'''This is the general workflow for transfer of expressions:'''
Makehuman:
* Go to the Pose/Animate tab and select Expressions. From the list select the first expression, Anger01.
* Save the character as .mhx2 - but to a different file name: averagedude-base-expression.mhx2.
Blender:
* In blender, deselect all the collections
* Import the file you made, using the same operator presets as yo saved them.
* Activate your Base character collection and you will have two characters side by side - one base character and a very angry one!
* Go to object mode
* '''Left-click-select''' the angry guy first, then '''shift-left-click''' your base character.
* Go to the vertex tab/shape key, and click on the little down arrow, and select the ''Join as shapes'' - like this:
[[File:MH-Blender-shapekey1.png]]
This will make a brand new shape key: Averagedude_base_expression:Proxy
* You rename the shape key by a double-click and call it '''Exp_Anger01'''..
* ... and assign the Vertex group to head
[[File:MH-Blender-shapekey2.png]]
In case you can not select ''Join as shapes'' the two characters were not selected in the right order, or perhaps the topology is not the same. Blender will show this as a message some where at the bottom of the screen. I this happens try the blender workflow, in this paragraph only , again!
You can now try to change the value for the shape key, and you should see that your base character can get angry!
When this worked for you you can save the blender file! And you should now do your very first re-import of the FBX. You save your base character in a FBX and Import it to UE4. To be 100% safe you can save and import to different names and folders, but in the end you will re-import the base character each time you do one or more new shape keys.
When you see this working in UE4, you can go on to the next expressions - I simply delete the Averagedude_base_expression collection and save the next expression in the same file. You can naturally do as many expressions as you want. leave some out etc... as you like!
==Observations about Blender 2.8==
You may notice that you can mess this up, so please save your blender file and back up! Say you can easily merge your base character with the expression MHX2 or do something else to corrupt your work!
Please also note that the Vertex Group/relative to, '''head''' and '''Basis''', are rather important! The shape key will change the entire body, to the T-Pose, if head is not set. Likewise you can make some shape keys relative to an other shape key - this will be important a bit later, when we do more "advanced" stuff!
=Blender 2.8 - a bit more advanced?=
This is very fine - we can make your base character use all the expressions, and they can be combined! Also you can tamper with them in UE4, say you can combine them and you can even set minus values, or extreme values not "allowed" in Blender. But you obviously want more than that?
Perhaps you can find some special "targets" you want to use?
f12de5618e35e5b8d3f43aad1a349eb3684cd98c
2051
2050
2021-03-14T18:21:46Z
Assetdk
89
/* Base-Character(s) */
wikitext
text/x-wiki
Please take a look at this page: [[Documentation:MH4UE|MH4UE]] - to get an overview of things you can use to get your Makehuman characters into Unreal Engine!
Also look at the Forum here for more tips [http://www.makehumancommunity.org/forum/viewtopic.php?f=14&t=18462&p=52859&hilit=MH4UE#p52859 MH4UE].
*
=What can and can't be done?=
I have been working on getting different characters into UE4 for some time, and this have been a real hassle!
On this page I want to summarize what I managed to get done using a workflow that involves Blender. I have had a focus on not going into much details regarding any of the tools, but you will need to know a few things. Even though this looks like a trivial task there are some pitfalls and also there are some things that can not be done, or I have just not found out how to. I will eventually also add links to all the YT tutorials I found helpful.
I found that working with Makehuman very easy, so focus will be very UE4 how to specific.
This is what I will cover thus far:
* Create and save any MH character in Makehuman. Basic stuff, and important things to avoid.
* Getting the character into Blender - import or link?
* Setup Blender for Export, shape keys and morph targets
* First import into UE4
* Introduction to more shape keys
* Mixamo animations
This is the stuff that I did not cover - yet:
* Animations for talking (other tutorials may help)
* Making custom cloth
* Hair
This is the stuff I can not get to work:
* Retargeting to Advanced Locomotion System V3/4
* ALS got something to work! [[Documentation:Saving models for Unreal Engine and how to import them there/ALS]]
* [[Documentation:Unreal Engine ALS V4]]
Since I am using/learning Blender 2.8, I want to share a bit of bonus info. I managed to make one of the free UE4 packages work a bit "better". That is your characters should have some transportation. This is how:
* [[Documentation:Unreal Engine Vehicle Variety Pack]]
=Getting started=
I wanted a quick way to populate a UE4 game, preferably with an unlimited number of varied characters of high quality. This has proven to be a bit harder than expected. The workflow for making characters is not as trivial as one would want but this guide should make it a bit more easy to do. I will focus on describing the "straight" path from Makehuman and into UE4 - so you will not find too much details about Blender. Please refer to Blender specific pages for more on that.
==Need to know==
There are a few terms that you need to know, say you need to know that you will import FBX, textures and other files into UE4. Also you will need to know that a Character consists of a '''Mesh''', a '''Skeleton''' and '''''materials''''' (that refers to textures). I will try to elaborate on these subjects as we go along...
==Making a base-character==
'''IMPORTANT new comment:'''
There is now tree different custom A-poses that you can use - i currently recommend the one highlighted in the list.
Please read more in the [[http://www.makehumancommunity.org/forum/viewtopic.php?f=14&t=18462&p=53368#p53368 forum]], for more information.
===Set up Base-Character(s)===
Makehuman provides a range of predefined characters that is supposed to work as-is. You can just load a character, export it to FBX and import that into UE4 - and after a bit of work you can have a working player character! There are however a few pitfalls, so I suggest you make one (or more) base-character(s) that you can elaborate on as you go along. I will be working with ''''''averagedude'''''' as my base-character.
These are the steps to make the base characters:
* Open Makehuman
* Select the files tab and load the character
'''Under 'Geometries''''
* Remove cloth - (uncheck Hide faces under cloth)!
* Remove hair
* Add Teeth
* Choose Topology - '''I have no advice on this - but see comment below!'''
* Chose Eyebrows/Eyelashes, these can be changed as you go along - as can eye colors!
* Add Tongue01 (again I have no advice/recommendation on that, yet)
'''Under 'Materials'''' - I will show you how to work with UE4 "advanced" materials:
* Chose any skin that you like,
* Chose any eyes that you like
'''Under 'Pose/Animate''''
* Chose Skeleton: Uengine - if you do not have this already you my get it via the community tab?
* Chose Expressions: none
* For the POSE chose the Apose_ue
* [[File:MH_UE_Poses.png]]
And this is it! But there is one 'important' option you need know about - you need to '''uncheck''' the Smooth button!
The smooth button/option: [[File:MH-Smooth-option.png]] should be unchecked... that will make your character a bit less attractive, but this will preserve the shape-keys!
Makehuman comes with some 50-60 '''shape-keys''' and these will all be available as '''morph-targets''' in UE4. I will show you how to make more shape-keys, using makehuman+blender!
Now it is time to save your base-character - even though you have made very few changes to the file you should save this file under the save tab and name it
<your-name>-base (say averagedude-base), you can even add your very own tag 'base' to this.
When you save the file like this you will be able to reload it, and we need that later!
====Choose Topology/Shape keys====
When you make your base character without smoothing you get shape keys, and you want to share these between different characters. Specifically you would probably want to share face morphs between male and female characters - and there may be other base character variations, say old/young/child etc.
Later I will focus on how to make new shape keys, using blender - depending on how you want to do this you may want to '''chose Topology that is compatible between the different characters!''' That is you may be able to transfer one "shape" from a male character to a female character, but the result will depend on ''topology compatibility''. I will/may thus update this section to make sure
'''Shape key names''' will be the same for all of the base characters, as they come from - however you will be able to make new keys. You must name these keys the same for all MH characters, like these share the same skeleton (MH_Skelton) they must hold all the same shape keys names. If they don't your game may "break"....
===Export your base-character===
You can now take a break - or you can export your work. There are really tree options for you to look at:
* Save the FBX file directly - make sure to chose the binary file format, if you want to import this file to UE.
* Save a MHX2 file (you may need to install this as a option/utility, find our elsewhere!)
* Load the character to '''Blender''' directly via the link (I will get back to what can be done using that!)
I suggest that you save your base-character now, in both formats - FBX and MHX2! Make a specific 'Base-Characters' folder, because you will need it!
When you export the FBX use these options:
[[File:MH-FBX-export-options.png]]
This is the result for me, you should see something like this also:
[[File:MH-Base-Character-Folder.png]]
You should also see that there is a sub-folder, called Textures - this is where the different textures are saved and it should now look like this:
[[File:MH-Base-Character-Folder-textures.png]]
You can now go over all of the different textures, so you will have a wide selection to chose from. Textures are saved every time you save a FBX file!
Say, I change the base-characters textures, saved the FBX - and this is what I got:
[[File:MH-Base-Character-Folder-textures2.png]]
===Import your base-character to UE4 - FBX===
The FBX file will actually import directly to UE4, but there are a few problems! You should export your FBX file as Binary FBX, and you will get the most out of it. After this you can get to this result (after adjusting the materials, as seen below):
[[File:MH-MH-FBX-imported.png]]
Your character can look like this (after adjusting materials) - pretty good:
[[File:MH-MH-FBX-imported-materials.png]]
'''HOWEVER, you have lost the morph-targets! And as you probably noticed, the UE4 standard FBX import do import them!'''
I will get back to what to do about the shape-keys... but let make the materials first?
==Makehuman UE4 materials==
When you import the FBX made you exported from Makehuman, both textures and materials are made. You will also notice that UE4 will try to match the materials correctly to the material slots, as seen above in the 'Asset Details' of, in my case, averagedude-base (do not worry about the physics and the skeleton yet!).
To get you started, we need to take a look at the Eye, Eyelashes and Eyebrow materials...
===Eye and teeth materials===
First you can rename the '''high-poly''' material '''high-poly-''blue-eye''''' - or to whatever color you chose! You will probably make more eye materials.
Next you can double-click the material, to open the material-editor and change it to look something like this:
[[File:Ue4-26-eye-material.JPG]]
Your teeth material should look like this:
[[File:Ue4-26-teeth-material.jpg]]
Other parts of the materials my need to be setup like this also. Please add more suggestions, and feel free to edit this page!
===Eyelashes and Eyebrow materials===
Likewise you can set up the eyelashes, and the eyebrows are the same only you do not need ''two sided'' for the bows:
[[File:MH-UE4-Eyelashes-material.png]]
!?You may want to play with the shading model.
===Skin materials===
I wanted to have a very diverse skin material, that can be used for making a wide range of NPC characters. After experimenting a lot, I found that you can setup parameters and still keep the skin material quite simple. I ended up with a master material, that can be used as an instance... from where I can manipulate ink color and age!
Please note! These are not working all that good! There are some obvious errors. The skin appears to mismatch especially on the back and on the back of the head. I you know how to correct this please make comments or post the correct solution.
In case you need your characters to be better than this you should not use the lerp functions as seen in this example?
[[File:MH UE4 MaterialInstance 1.png]]
====Old/young and age!====
The "master material" looks like this in details - in the first part you can combine young/old+light/dark skin with age.. the textures are all from make human.
[[File:MH_UE4_MaterialMaster_1.png]]
====Old/young and age!====
In the 2nd part you have all the other material parameters. I made the various textures for this using at normal map generator.
[[File:MH_UE4_MaterialMaster_2.png]]
====Customization====
The skin can now be modified using a simple interface in the game. The prototype for this can be seen here: [[Documentation:Unreal_MHC|Unreal MakeCustomization]].
===More materials?===
You can simply drag and drop more textures from the the base-character/textures folder, then duplicate and rename the materials, and apply different textures to the renamed materials. At some point I want to be able to customize/randomize (NPC) characters, but I have not yet done that.
Also you can make materials instances with parameters... I will show you howto, but first we need to turn shape-keys into morph-targets.
=Use Blender v 2.80 to get more!!=
For some reason the exported FBX file is not organized in a way so you will get the shape-keys imported directly to UE4. However when you follow the next steps, you will not get the correct materials imported, so I recommend that you run FBX import as shown above, and save the textures/materials in a separate folder.
If you are new to Blender please run a few tutorials specifically on on how to import/export, and also get to know about collections - you can do a lot in Blender and you can get confused!
==What will be done here?==
I will show you how to:
* Import your MHX2 files, to preserve the shape-keys
* Export FBX files, so UE4 will import correctly with morph-targets
* Apply expressions etc. to your base character
* Import these to your Blender file and apply the expressions as '''new shape keys'''
==But, first import and inspect FBX and MHX2!==
As you may remember you exported two files, the FBX file and the MHX2 file. You want to import both of these files into Blender, so you need two Collections, called FBX and MHX2. You right-click on the 'Scene collection' select 'New' and rename the collections to 'FBX' and 'MHX2'... I also added Scene collection and dragged the Camera and Light there (as I deleted the box). After this you should see something link this (the small Icons may be different):
[[File:MH-Base-Blender-setup.png]]
When you import your FBX file select/highlight the FBX collection, so the FBX data get imported into that collection. You can use the standard import options. For MHX2 you need to change the setting to match those you see below - when you find they are correct you can click the + sign, marked with a yellow arrow, and save the setting with your own setting-name.
(You may notice that the character you imported is out of proportions, some 17-18 meters high, we will correct that when we export to UE4!)
[[File:MH-Blender-FBX-import-options.png]]
===Inspect the results, in Blender===
Now is a good time to save the Blender file. You should save this in the same folder as the FBX and MHX2. I call this file averagedude-base.blend.
If you did this approximately as described the result should be munch like below. And you will probably notice that there is some structural differences. You can see that by looking at the small icons [[File:MH-Blender-base-imported-icons.png]], that represent where modifiers, vertex groups and Object data is stored! Specifically the Object data holds the shape-keys and those were not imported. (perhaps because I did not use the correct FBX import options - but the same happens in UE4!).
[[File:MH-Blender-base-imported.png]]
You will notice that the MHX2 version of your character holds the Object data (the triangle) and that shape-keys can be seen there!
==Export the FBX for your base character, and import to UE4==
The next step is crucial for getting things to work in UE4, it is not very complicated but you need to have a plan.
When you did this correctly you should be able to get the following results:
* Import your base character into UE4
* Create retargeting for your common skeleton - called MH_Skeleton
* Retarget the Maniqin animations to your base character(s)
* Get additional Mixamo animations
===FBX export settings===
'''Important!''' Before you go any further you should rename your base character to '''main_root''', like this:
[[File:MH-Base-FBX-main-root.png]]
.... you should do this for all base characters! main_root will be the root bone in your skeleton. When you do it like this, all of your base characters will be able to share the same skeleton!
Now select the MHX2 collection where you have the character, and go to Export FBX.
I have made a 'Operator preset' for the FBX export, this is the options you need to set:
[[File:MH-Base-FBX-operator-presets.png]]
Place the FBX file in the same folder as where you placed the original FBX and the MHX2. You probably do not need the FBX that you made with Makehuman, and you can always make it again?
(You may however want to export more FBX files from Makehuman, simply to get all of the textures. We will look more into how you can use the skin textures!)
==UE4 import, and retarget ==
Go to your UE4 project and make a MH folder containing a new avaragedude folder, and import your base character there!
During the import of the FBX file from Blender into UE4 you must enable the '''Import Morp Targets''' checkbox manually (expand the Mesh section)!
Observe that this character looks very much like the one you did already import from the original FBX, there are little difference - yet you want to set up this as your real base character.
Also you want to rename the skeleton to '''MH_Skeleton'''! And you want to open the skeleton, and retarget it to the humanoid rig... this should look like this:
[[File:MH-Base-Skeleton-Retarget.png]]
Make sure that your character is in T-Pose, as you want to retarget the Mannequin animations to your characters MH_Skeleton!
Make a animation folder in your MH, perhaps even Mannequin folder?
You go to the UE4 folder: Content/Mannequin/Animations and right-click on this animation: '''ThirdPerson_AnimBP'''
Select retarget and choose MH_Skeleton as your target - also select the animation folder you made before, something like this:
[[File:MH-Base-Animation-Retarget.png]]
You may want to rename your new ThirdPerson_AnimBP to '''''MH''_ThirdPerson_AnimBP''' - or perhaps simply MH_AnimBP?
===Translation Retargeting===
After the retargeting the animations will still look odd. You go to the skeleton tree, then check off the "Show Retargeting Options" and set those at and below the spline to Skeleton (recursively) - that looks something like this:
[[File:MH-Anim-Skeleton.png]]
=More shape keys, made in Blender 2.8=
I have not yet made any target in MH, also I have not had much luck in using the two blender addons. Frankly I don't really understand what the different buttons does, most of them are not active... perhaps they make sens if you use Blender a lot?
But I will show you different ways to get expressions, targets and skeleton animations(!) to shape keys, so then will be new morph targets in UE4!
Before you get started you should probably look at a few Blender tutorials regarding this - these are good:
===Tutorials===
General introduction to MHX2 import and animation. However '''do not''' import the resulting characters into UE4?
{{#ev:youtube|2P1t_nogbGs}}
Short general introduction to using shape keys in Blender 2.8:
{{#ev:youtube|e675Ulc7QL4}}
==Expressions and targets==
Make sure that you have your original base character saved and load it into Makehuman. Remember to check that your base character is in the T-Pose, do not change that!
'''Just in case:''' I recommend that you keep a copy of this file as well as all the blender file etc.
You should also have Blender open and load the .blender file where you saved both your FBX and the MHX2.
Before you go on do as follows: move the MHX2 character to x 10m, so the entire character moves to the left (right to your front view) - this will make it more easy for you to work with! (Save the blender file!)
'''This is the general workflow for transfer of expressions:'''
Makehuman:
* Go to the Pose/Animate tab and select Expressions. From the list select the first expression, Anger01.
* Save the character as .mhx2 - but to a different file name: averagedude-base-expression.mhx2.
Blender:
* In blender, deselect all the collections
* Import the file you made, using the same operator presets as yo saved them.
* Activate your Base character collection and you will have two characters side by side - one base character and a very angry one!
* Go to object mode
* '''Left-click-select''' the angry guy first, then '''shift-left-click''' your base character.
* Go to the vertex tab/shape key, and click on the little down arrow, and select the ''Join as shapes'' - like this:
[[File:MH-Blender-shapekey1.png]]
This will make a brand new shape key: Averagedude_base_expression:Proxy
* You rename the shape key by a double-click and call it '''Exp_Anger01'''..
* ... and assign the Vertex group to head
[[File:MH-Blender-shapekey2.png]]
In case you can not select ''Join as shapes'' the two characters were not selected in the right order, or perhaps the topology is not the same. Blender will show this as a message some where at the bottom of the screen. I this happens try the blender workflow, in this paragraph only , again!
You can now try to change the value for the shape key, and you should see that your base character can get angry!
When this worked for you you can save the blender file! And you should now do your very first re-import of the FBX. You save your base character in a FBX and Import it to UE4. To be 100% safe you can save and import to different names and folders, but in the end you will re-import the base character each time you do one or more new shape keys.
When you see this working in UE4, you can go on to the next expressions - I simply delete the Averagedude_base_expression collection and save the next expression in the same file. You can naturally do as many expressions as you want. leave some out etc... as you like!
==Observations about Blender 2.8==
You may notice that you can mess this up, so please save your blender file and back up! Say you can easily merge your base character with the expression MHX2 or do something else to corrupt your work!
Please also note that the Vertex Group/relative to, '''head''' and '''Basis''', are rather important! The shape key will change the entire body, to the T-Pose, if head is not set. Likewise you can make some shape keys relative to an other shape key - this will be important a bit later, when we do more "advanced" stuff!
=Blender 2.8 - a bit more advanced?=
This is very fine - we can make your base character use all the expressions, and they can be combined! Also you can tamper with them in UE4, say you can combine them and you can even set minus values, or extreme values not "allowed" in Blender. But you obviously want more than that?
Perhaps you can find some special "targets" you want to use?
4c7ecf3c711564b4b3a1349122a5ed2fa430ac0b
2050
2049
2021-03-14T18:20:30Z
Assetdk
89
/* Export your base-character */
wikitext
text/x-wiki
Please take a look at this page: [[Documentation:MH4UE|MH4UE]] - to get an overview of things you can use to get your Makehuman characters into Unreal Engine!
Also look at the Forum here for more tips [http://www.makehumancommunity.org/forum/viewtopic.php?f=14&t=18462&p=52859&hilit=MH4UE#p52859 MH4UE].
*
=What can and can't be done?=
I have been working on getting different characters into UE4 for some time, and this have been a real hassle!
On this page I want to summarize what I managed to get done using a workflow that involves Blender. I have had a focus on not going into much details regarding any of the tools, but you will need to know a few things. Even though this looks like a trivial task there are some pitfalls and also there are some things that can not be done, or I have just not found out how to. I will eventually also add links to all the YT tutorials I found helpful.
I found that working with Makehuman very easy, so focus will be very UE4 how to specific.
This is what I will cover thus far:
* Create and save any MH character in Makehuman. Basic stuff, and important things to avoid.
* Getting the character into Blender - import or link?
* Setup Blender for Export, shape keys and morph targets
* First import into UE4
* Introduction to more shape keys
* Mixamo animations
This is the stuff that I did not cover - yet:
* Animations for talking (other tutorials may help)
* Making custom cloth
* Hair
This is the stuff I can not get to work:
* Retargeting to Advanced Locomotion System V3/4
* ALS got something to work! [[Documentation:Saving models for Unreal Engine and how to import them there/ALS]]
* [[Documentation:Unreal Engine ALS V4]]
Since I am using/learning Blender 2.8, I want to share a bit of bonus info. I managed to make one of the free UE4 packages work a bit "better". That is your characters should have some transportation. This is how:
* [[Documentation:Unreal Engine Vehicle Variety Pack]]
=Getting started=
I wanted a quick way to populate a UE4 game, preferably with an unlimited number of varied characters of high quality. This has proven to be a bit harder than expected. The workflow for making characters is not as trivial as one would want but this guide should make it a bit more easy to do. I will focus on describing the "straight" path from Makehuman and into UE4 - so you will not find too much details about Blender. Please refer to Blender specific pages for more on that.
==Need to know==
There are a few terms that you need to know, say you need to know that you will import FBX, textures and other files into UE4. Also you will need to know that a Character consists of a '''Mesh''', a '''Skeleton''' and '''''materials''''' (that refers to textures). I will try to elaborate on these subjects as we go along...
==Making a base-character==
'''IMPORTANT new comment:'''
There is now tree different custom A-poses that you can use - i currently recommend the one highlighted in the list.
Please read more in the [[http://www.makehumancommunity.org/forum/viewtopic.php?f=14&t=18462&p=53368#p53368 forum]], for more information.
===Base-Character(s)===
Makehuman provides a range of predefined characters that is supposed to work as-is. You can just load a character, export it to FBX and import that into UE4 - and after a bit of work you can have a working player character! There are however a few pitfalls, so I suggest you make one (or more) base-character(s) that you can elaborate on as you go along. I will be working with ''''''averagedude'''''' as my base-character.
These are the steps to make the base characters:
* Open Makehuman
* Select the files tab and load the character
'''Under 'Geometries''''
* Remove cloth - (uncheck Hide faces under cloth)!
* Remove hair
* Add Teeth
* Choose Topology - '''I have no advice on this - but see comment below!'''
* Chose Eyebrows/Eyelashes, these can be changed as you go along - as can eye colors!
* Add Tongue01 (again I have no advice/recommendation on that, yet)
'''Under 'Materials'''' - I will show you how to work with UE4 "advanced" materials:
* Chose any skin that you like,
* Chose any eyes that you like
'''Under 'Pose/Animate''''
* Chose Skeleton: Uengine - if you do not have this already you my get it via the community tab?
* Chose Expressions: none
* For the POSE chose the Apose_ue
* [[File:MH_UE_Poses.png]]
And this is it! But there is one 'important' option you need know about - you need to '''uncheck''' the Smooth button!
The smooth button/option: [[File:MH-Smooth-option.png]] should be unchecked... that will make your character a bit less attractive, but this will preserve the shape-keys!
Makehuman comes with some 50-60 '''shape-keys''' and these will all be available as '''morph-targets''' in UE4. I will show you how to make more shape-keys, using makehuman+blender!
Now it is time to save your base-character - even though you have made very few changes to the file you should save this file under the save tab and name it
<your-name>-base (say averagedude-base), you can even add your very own tag 'base' to this.
When you save the file like this you will be able to reload it, and we need that later!
====Choose Topology/Shape keys====
When you make your base character without smoothing you get shape keys, and you want to share these between different characters. Specifically you would probably want to share face morphs between male and female characters - and there may be other base character variations, say old/young/child etc.
Later I will focus on how to make new shape keys, using blender - depending on how you want to do this you may want to '''chose Topology that is compatible between the different characters!''' That is you may be able to transfer one "shape" from a male character to a female character, but the result will depend on ''topology compatibility''. I will/may thus update this section to make sure
'''Shape key names''' will be the same for all of the base characters, as they come from - however you will be able to make new keys. You must name these keys the same for all MH characters, like these share the same skeleton (MH_Skelton) they must hold all the same shape keys names. If they don't your game may "break"....
===Export your base-character===
You can now take a break - or you can export your work. There are really tree options for you to look at:
* Save the FBX file directly - make sure to chose the binary file format, if you want to import this file to UE.
* Save a MHX2 file (you may need to install this as a option/utility, find our elsewhere!)
* Load the character to '''Blender''' directly via the link (I will get back to what can be done using that!)
I suggest that you save your base-character now, in both formats - FBX and MHX2! Make a specific 'Base-Characters' folder, because you will need it!
When you export the FBX use these options:
[[File:MH-FBX-export-options.png]]
This is the result for me, you should see something like this also:
[[File:MH-Base-Character-Folder.png]]
You should also see that there is a sub-folder, called Textures - this is where the different textures are saved and it should now look like this:
[[File:MH-Base-Character-Folder-textures.png]]
You can now go over all of the different textures, so you will have a wide selection to chose from. Textures are saved every time you save a FBX file!
Say, I change the base-characters textures, saved the FBX - and this is what I got:
[[File:MH-Base-Character-Folder-textures2.png]]
===Import your base-character to UE4 - FBX===
The FBX file will actually import directly to UE4, but there are a few problems! You should export your FBX file as Binary FBX, and you will get the most out of it. After this you can get to this result (after adjusting the materials, as seen below):
[[File:MH-MH-FBX-imported.png]]
Your character can look like this (after adjusting materials) - pretty good:
[[File:MH-MH-FBX-imported-materials.png]]
'''HOWEVER, you have lost the morph-targets! And as you probably noticed, the UE4 standard FBX import do import them!'''
I will get back to what to do about the shape-keys... but let make the materials first?
==Makehuman UE4 materials==
When you import the FBX made you exported from Makehuman, both textures and materials are made. You will also notice that UE4 will try to match the materials correctly to the material slots, as seen above in the 'Asset Details' of, in my case, averagedude-base (do not worry about the physics and the skeleton yet!).
To get you started, we need to take a look at the Eye, Eyelashes and Eyebrow materials...
===Eye and teeth materials===
First you can rename the '''high-poly''' material '''high-poly-''blue-eye''''' - or to whatever color you chose! You will probably make more eye materials.
Next you can double-click the material, to open the material-editor and change it to look something like this:
[[File:Ue4-26-eye-material.JPG]]
Your teeth material should look like this:
[[File:Ue4-26-teeth-material.jpg]]
Other parts of the materials my need to be setup like this also. Please add more suggestions, and feel free to edit this page!
===Eyelashes and Eyebrow materials===
Likewise you can set up the eyelashes, and the eyebrows are the same only you do not need ''two sided'' for the bows:
[[File:MH-UE4-Eyelashes-material.png]]
!?You may want to play with the shading model.
===Skin materials===
I wanted to have a very diverse skin material, that can be used for making a wide range of NPC characters. After experimenting a lot, I found that you can setup parameters and still keep the skin material quite simple. I ended up with a master material, that can be used as an instance... from where I can manipulate ink color and age!
Please note! These are not working all that good! There are some obvious errors. The skin appears to mismatch especially on the back and on the back of the head. I you know how to correct this please make comments or post the correct solution.
In case you need your characters to be better than this you should not use the lerp functions as seen in this example?
[[File:MH UE4 MaterialInstance 1.png]]
====Old/young and age!====
The "master material" looks like this in details - in the first part you can combine young/old+light/dark skin with age.. the textures are all from make human.
[[File:MH_UE4_MaterialMaster_1.png]]
====Old/young and age!====
In the 2nd part you have all the other material parameters. I made the various textures for this using at normal map generator.
[[File:MH_UE4_MaterialMaster_2.png]]
====Customization====
The skin can now be modified using a simple interface in the game. The prototype for this can be seen here: [[Documentation:Unreal_MHC|Unreal MakeCustomization]].
===More materials?===
You can simply drag and drop more textures from the the base-character/textures folder, then duplicate and rename the materials, and apply different textures to the renamed materials. At some point I want to be able to customize/randomize (NPC) characters, but I have not yet done that.
Also you can make materials instances with parameters... I will show you howto, but first we need to turn shape-keys into morph-targets.
=Use Blender v 2.80 to get more!!=
For some reason the exported FBX file is not organized in a way so you will get the shape-keys imported directly to UE4. However when you follow the next steps, you will not get the correct materials imported, so I recommend that you run FBX import as shown above, and save the textures/materials in a separate folder.
If you are new to Blender please run a few tutorials specifically on on how to import/export, and also get to know about collections - you can do a lot in Blender and you can get confused!
==What will be done here?==
I will show you how to:
* Import your MHX2 files, to preserve the shape-keys
* Export FBX files, so UE4 will import correctly with morph-targets
* Apply expressions etc. to your base character
* Import these to your Blender file and apply the expressions as '''new shape keys'''
==But, first import and inspect FBX and MHX2!==
As you may remember you exported two files, the FBX file and the MHX2 file. You want to import both of these files into Blender, so you need two Collections, called FBX and MHX2. You right-click on the 'Scene collection' select 'New' and rename the collections to 'FBX' and 'MHX2'... I also added Scene collection and dragged the Camera and Light there (as I deleted the box). After this you should see something link this (the small Icons may be different):
[[File:MH-Base-Blender-setup.png]]
When you import your FBX file select/highlight the FBX collection, so the FBX data get imported into that collection. You can use the standard import options. For MHX2 you need to change the setting to match those you see below - when you find they are correct you can click the + sign, marked with a yellow arrow, and save the setting with your own setting-name.
(You may notice that the character you imported is out of proportions, some 17-18 meters high, we will correct that when we export to UE4!)
[[File:MH-Blender-FBX-import-options.png]]
===Inspect the results, in Blender===
Now is a good time to save the Blender file. You should save this in the same folder as the FBX and MHX2. I call this file averagedude-base.blend.
If you did this approximately as described the result should be munch like below. And you will probably notice that there is some structural differences. You can see that by looking at the small icons [[File:MH-Blender-base-imported-icons.png]], that represent where modifiers, vertex groups and Object data is stored! Specifically the Object data holds the shape-keys and those were not imported. (perhaps because I did not use the correct FBX import options - but the same happens in UE4!).
[[File:MH-Blender-base-imported.png]]
You will notice that the MHX2 version of your character holds the Object data (the triangle) and that shape-keys can be seen there!
==Export the FBX for your base character, and import to UE4==
The next step is crucial for getting things to work in UE4, it is not very complicated but you need to have a plan.
When you did this correctly you should be able to get the following results:
* Import your base character into UE4
* Create retargeting for your common skeleton - called MH_Skeleton
* Retarget the Maniqin animations to your base character(s)
* Get additional Mixamo animations
===FBX export settings===
'''Important!''' Before you go any further you should rename your base character to '''main_root''', like this:
[[File:MH-Base-FBX-main-root.png]]
.... you should do this for all base characters! main_root will be the root bone in your skeleton. When you do it like this, all of your base characters will be able to share the same skeleton!
Now select the MHX2 collection where you have the character, and go to Export FBX.
I have made a 'Operator preset' for the FBX export, this is the options you need to set:
[[File:MH-Base-FBX-operator-presets.png]]
Place the FBX file in the same folder as where you placed the original FBX and the MHX2. You probably do not need the FBX that you made with Makehuman, and you can always make it again?
(You may however want to export more FBX files from Makehuman, simply to get all of the textures. We will look more into how you can use the skin textures!)
==UE4 import, and retarget ==
Go to your UE4 project and make a MH folder containing a new avaragedude folder, and import your base character there!
During the import of the FBX file from Blender into UE4 you must enable the '''Import Morp Targets''' checkbox manually (expand the Mesh section)!
Observe that this character looks very much like the one you did already import from the original FBX, there are little difference - yet you want to set up this as your real base character.
Also you want to rename the skeleton to '''MH_Skeleton'''! And you want to open the skeleton, and retarget it to the humanoid rig... this should look like this:
[[File:MH-Base-Skeleton-Retarget.png]]
Make sure that your character is in T-Pose, as you want to retarget the Mannequin animations to your characters MH_Skeleton!
Make a animation folder in your MH, perhaps even Mannequin folder?
You go to the UE4 folder: Content/Mannequin/Animations and right-click on this animation: '''ThirdPerson_AnimBP'''
Select retarget and choose MH_Skeleton as your target - also select the animation folder you made before, something like this:
[[File:MH-Base-Animation-Retarget.png]]
You may want to rename your new ThirdPerson_AnimBP to '''''MH''_ThirdPerson_AnimBP''' - or perhaps simply MH_AnimBP?
===Translation Retargeting===
After the retargeting the animations will still look odd. You go to the skeleton tree, then check off the "Show Retargeting Options" and set those at and below the spline to Skeleton (recursively) - that looks something like this:
[[File:MH-Anim-Skeleton.png]]
=More shape keys, made in Blender 2.8=
I have not yet made any target in MH, also I have not had much luck in using the two blender addons. Frankly I don't really understand what the different buttons does, most of them are not active... perhaps they make sens if you use Blender a lot?
But I will show you different ways to get expressions, targets and skeleton animations(!) to shape keys, so then will be new morph targets in UE4!
Before you get started you should probably look at a few Blender tutorials regarding this - these are good:
===Tutorials===
General introduction to MHX2 import and animation. However '''do not''' import the resulting characters into UE4?
{{#ev:youtube|2P1t_nogbGs}}
Short general introduction to using shape keys in Blender 2.8:
{{#ev:youtube|e675Ulc7QL4}}
==Expressions and targets==
Make sure that you have your original base character saved and load it into Makehuman. Remember to check that your base character is in the T-Pose, do not change that!
'''Just in case:''' I recommend that you keep a copy of this file as well as all the blender file etc.
You should also have Blender open and load the .blender file where you saved both your FBX and the MHX2.
Before you go on do as follows: move the MHX2 character to x 10m, so the entire character moves to the left (right to your front view) - this will make it more easy for you to work with! (Save the blender file!)
'''This is the general workflow for transfer of expressions:'''
Makehuman:
* Go to the Pose/Animate tab and select Expressions. From the list select the first expression, Anger01.
* Save the character as .mhx2 - but to a different file name: averagedude-base-expression.mhx2.
Blender:
* In blender, deselect all the collections
* Import the file you made, using the same operator presets as yo saved them.
* Activate your Base character collection and you will have two characters side by side - one base character and a very angry one!
* Go to object mode
* '''Left-click-select''' the angry guy first, then '''shift-left-click''' your base character.
* Go to the vertex tab/shape key, and click on the little down arrow, and select the ''Join as shapes'' - like this:
[[File:MH-Blender-shapekey1.png]]
This will make a brand new shape key: Averagedude_base_expression:Proxy
* You rename the shape key by a double-click and call it '''Exp_Anger01'''..
* ... and assign the Vertex group to head
[[File:MH-Blender-shapekey2.png]]
In case you can not select ''Join as shapes'' the two characters were not selected in the right order, or perhaps the topology is not the same. Blender will show this as a message some where at the bottom of the screen. I this happens try the blender workflow, in this paragraph only , again!
You can now try to change the value for the shape key, and you should see that your base character can get angry!
When this worked for you you can save the blender file! And you should now do your very first re-import of the FBX. You save your base character in a FBX and Import it to UE4. To be 100% safe you can save and import to different names and folders, but in the end you will re-import the base character each time you do one or more new shape keys.
When you see this working in UE4, you can go on to the next expressions - I simply delete the Averagedude_base_expression collection and save the next expression in the same file. You can naturally do as many expressions as you want. leave some out etc... as you like!
==Observations about Blender 2.8==
You may notice that you can mess this up, so please save your blender file and back up! Say you can easily merge your base character with the expression MHX2 or do something else to corrupt your work!
Please also note that the Vertex Group/relative to, '''head''' and '''Basis''', are rather important! The shape key will change the entire body, to the T-Pose, if head is not set. Likewise you can make some shape keys relative to an other shape key - this will be important a bit later, when we do more "advanced" stuff!
=Blender 2.8 - a bit more advanced?=
This is very fine - we can make your base character use all the expressions, and they can be combined! Also you can tamper with them in UE4, say you can combine them and you can even set minus values, or extreme values not "allowed" in Blender. But you obviously want more than that?
Perhaps you can find some special "targets" you want to use?
69d7089f951c306e463022d9b61447091ab1765d
2049
2048
2021-03-14T18:18:03Z
Assetdk
89
/* Making a base-character */
wikitext
text/x-wiki
Please take a look at this page: [[Documentation:MH4UE|MH4UE]] - to get an overview of things you can use to get your Makehuman characters into Unreal Engine!
Also look at the Forum here for more tips [http://www.makehumancommunity.org/forum/viewtopic.php?f=14&t=18462&p=52859&hilit=MH4UE#p52859 MH4UE].
*
=What can and can't be done?=
I have been working on getting different characters into UE4 for some time, and this have been a real hassle!
On this page I want to summarize what I managed to get done using a workflow that involves Blender. I have had a focus on not going into much details regarding any of the tools, but you will need to know a few things. Even though this looks like a trivial task there are some pitfalls and also there are some things that can not be done, or I have just not found out how to. I will eventually also add links to all the YT tutorials I found helpful.
I found that working with Makehuman very easy, so focus will be very UE4 how to specific.
This is what I will cover thus far:
* Create and save any MH character in Makehuman. Basic stuff, and important things to avoid.
* Getting the character into Blender - import or link?
* Setup Blender for Export, shape keys and morph targets
* First import into UE4
* Introduction to more shape keys
* Mixamo animations
This is the stuff that I did not cover - yet:
* Animations for talking (other tutorials may help)
* Making custom cloth
* Hair
This is the stuff I can not get to work:
* Retargeting to Advanced Locomotion System V3/4
* ALS got something to work! [[Documentation:Saving models for Unreal Engine and how to import them there/ALS]]
* [[Documentation:Unreal Engine ALS V4]]
Since I am using/learning Blender 2.8, I want to share a bit of bonus info. I managed to make one of the free UE4 packages work a bit "better". That is your characters should have some transportation. This is how:
* [[Documentation:Unreal Engine Vehicle Variety Pack]]
=Getting started=
I wanted a quick way to populate a UE4 game, preferably with an unlimited number of varied characters of high quality. This has proven to be a bit harder than expected. The workflow for making characters is not as trivial as one would want but this guide should make it a bit more easy to do. I will focus on describing the "straight" path from Makehuman and into UE4 - so you will not find too much details about Blender. Please refer to Blender specific pages for more on that.
==Need to know==
There are a few terms that you need to know, say you need to know that you will import FBX, textures and other files into UE4. Also you will need to know that a Character consists of a '''Mesh''', a '''Skeleton''' and '''''materials''''' (that refers to textures). I will try to elaborate on these subjects as we go along...
==Making a base-character==
'''IMPORTANT new comment:'''
There is now tree different custom A-poses that you can use - i currently recommend the one highlighted in the list.
Please read more in the [[http://www.makehumancommunity.org/forum/viewtopic.php?f=14&t=18462&p=53368#p53368 forum]], for more information.
===Base-Character(s)===
Makehuman provides a range of predefined characters that is supposed to work as-is. You can just load a character, export it to FBX and import that into UE4 - and after a bit of work you can have a working player character! There are however a few pitfalls, so I suggest you make one (or more) base-character(s) that you can elaborate on as you go along. I will be working with ''''''averagedude'''''' as my base-character.
These are the steps to make the base characters:
* Open Makehuman
* Select the files tab and load the character
'''Under 'Geometries''''
* Remove cloth - (uncheck Hide faces under cloth)!
* Remove hair
* Add Teeth
* Choose Topology - '''I have no advice on this - but see comment below!'''
* Chose Eyebrows/Eyelashes, these can be changed as you go along - as can eye colors!
* Add Tongue01 (again I have no advice/recommendation on that, yet)
'''Under 'Materials'''' - I will show you how to work with UE4 "advanced" materials:
* Chose any skin that you like,
* Chose any eyes that you like
'''Under 'Pose/Animate''''
* Chose Skeleton: Uengine - if you do not have this already you my get it via the community tab?
* Chose Expressions: none
* For the POSE chose the Apose_ue
* [[File:MH_UE_Poses.png]]
And this is it! But there is one 'important' option you need know about - you need to '''uncheck''' the Smooth button!
The smooth button/option: [[File:MH-Smooth-option.png]] should be unchecked... that will make your character a bit less attractive, but this will preserve the shape-keys!
Makehuman comes with some 50-60 '''shape-keys''' and these will all be available as '''morph-targets''' in UE4. I will show you how to make more shape-keys, using makehuman+blender!
Now it is time to save your base-character - even though you have made very few changes to the file you should save this file under the save tab and name it
<your-name>-base (say averagedude-base), you can even add your very own tag 'base' to this.
When you save the file like this you will be able to reload it, and we need that later!
====Choose Topology/Shape keys====
When you make your base character without smoothing you get shape keys, and you want to share these between different characters. Specifically you would probably want to share face morphs between male and female characters - and there may be other base character variations, say old/young/child etc.
Later I will focus on how to make new shape keys, using blender - depending on how you want to do this you may want to '''chose Topology that is compatible between the different characters!''' That is you may be able to transfer one "shape" from a male character to a female character, but the result will depend on ''topology compatibility''. I will/may thus update this section to make sure
'''Shape key names''' will be the same for all of the base characters, as they come from - however you will be able to make new keys. You must name these keys the same for all MH characters, like these share the same skeleton (MH_Skelton) they must hold all the same shape keys names. If they don't your game may "break"....
===Export your base-character===
You can now take a break - or you can export your work. There are really tree options for you to look at:
* Save the FBX file directly
* Save a MHX2 file (you may need to install this as a option/utility, find our elsewhere!)
* Load the character to '''Blender''' directly via the link (I will get back to what can be done using that!)
I suggest that you save your base-character now, in both formats - FBX and MHX2! Make a specific 'Base-Characters' folder, because you will need it!
When you export the FBX use these options:
[[File:MH-FBX-export-options.png]]
This is the result for me, you should see something like this also:
[[File:MH-Base-Character-Folder.png]]
You should also see that there is a sub-folder, called Textures - this is where the different textures are saved and it should now look like this:
[[File:MH-Base-Character-Folder-textures.png]]
You can now go over all of the different textures, so you will have a wide selection to chose from. Textures are saved every time you save a FBX file!
Say, I change the base-characters textures, saved the FBX - and this is what I got:
[[File:MH-Base-Character-Folder-textures2.png]]
===Import your base-character to UE4 - FBX===
The FBX file will actually import directly to UE4, but there are a few problems! You should export your FBX file as Binary FBX, and you will get the most out of it. After this you can get to this result (after adjusting the materials, as seen below):
[[File:MH-MH-FBX-imported.png]]
Your character can look like this (after adjusting materials) - pretty good:
[[File:MH-MH-FBX-imported-materials.png]]
'''HOWEVER, you have lost the morph-targets! And as you probably noticed, the UE4 standard FBX import do import them!'''
I will get back to what to do about the shape-keys... but let make the materials first?
==Makehuman UE4 materials==
When you import the FBX made you exported from Makehuman, both textures and materials are made. You will also notice that UE4 will try to match the materials correctly to the material slots, as seen above in the 'Asset Details' of, in my case, averagedude-base (do not worry about the physics and the skeleton yet!).
To get you started, we need to take a look at the Eye, Eyelashes and Eyebrow materials...
===Eye and teeth materials===
First you can rename the '''high-poly''' material '''high-poly-''blue-eye''''' - or to whatever color you chose! You will probably make more eye materials.
Next you can double-click the material, to open the material-editor and change it to look something like this:
[[File:Ue4-26-eye-material.JPG]]
Your teeth material should look like this:
[[File:Ue4-26-teeth-material.jpg]]
Other parts of the materials my need to be setup like this also. Please add more suggestions, and feel free to edit this page!
===Eyelashes and Eyebrow materials===
Likewise you can set up the eyelashes, and the eyebrows are the same only you do not need ''two sided'' for the bows:
[[File:MH-UE4-Eyelashes-material.png]]
!?You may want to play with the shading model.
===Skin materials===
I wanted to have a very diverse skin material, that can be used for making a wide range of NPC characters. After experimenting a lot, I found that you can setup parameters and still keep the skin material quite simple. I ended up with a master material, that can be used as an instance... from where I can manipulate ink color and age!
Please note! These are not working all that good! There are some obvious errors. The skin appears to mismatch especially on the back and on the back of the head. I you know how to correct this please make comments or post the correct solution.
In case you need your characters to be better than this you should not use the lerp functions as seen in this example?
[[File:MH UE4 MaterialInstance 1.png]]
====Old/young and age!====
The "master material" looks like this in details - in the first part you can combine young/old+light/dark skin with age.. the textures are all from make human.
[[File:MH_UE4_MaterialMaster_1.png]]
====Old/young and age!====
In the 2nd part you have all the other material parameters. I made the various textures for this using at normal map generator.
[[File:MH_UE4_MaterialMaster_2.png]]
====Customization====
The skin can now be modified using a simple interface in the game. The prototype for this can be seen here: [[Documentation:Unreal_MHC|Unreal MakeCustomization]].
===More materials?===
You can simply drag and drop more textures from the the base-character/textures folder, then duplicate and rename the materials, and apply different textures to the renamed materials. At some point I want to be able to customize/randomize (NPC) characters, but I have not yet done that.
Also you can make materials instances with parameters... I will show you howto, but first we need to turn shape-keys into morph-targets.
=Use Blender v 2.80 to get more!!=
For some reason the exported FBX file is not organized in a way so you will get the shape-keys imported directly to UE4. However when you follow the next steps, you will not get the correct materials imported, so I recommend that you run FBX import as shown above, and save the textures/materials in a separate folder.
If you are new to Blender please run a few tutorials specifically on on how to import/export, and also get to know about collections - you can do a lot in Blender and you can get confused!
==What will be done here?==
I will show you how to:
* Import your MHX2 files, to preserve the shape-keys
* Export FBX files, so UE4 will import correctly with morph-targets
* Apply expressions etc. to your base character
* Import these to your Blender file and apply the expressions as '''new shape keys'''
==But, first import and inspect FBX and MHX2!==
As you may remember you exported two files, the FBX file and the MHX2 file. You want to import both of these files into Blender, so you need two Collections, called FBX and MHX2. You right-click on the 'Scene collection' select 'New' and rename the collections to 'FBX' and 'MHX2'... I also added Scene collection and dragged the Camera and Light there (as I deleted the box). After this you should see something link this (the small Icons may be different):
[[File:MH-Base-Blender-setup.png]]
When you import your FBX file select/highlight the FBX collection, so the FBX data get imported into that collection. You can use the standard import options. For MHX2 you need to change the setting to match those you see below - when you find they are correct you can click the + sign, marked with a yellow arrow, and save the setting with your own setting-name.
(You may notice that the character you imported is out of proportions, some 17-18 meters high, we will correct that when we export to UE4!)
[[File:MH-Blender-FBX-import-options.png]]
===Inspect the results, in Blender===
Now is a good time to save the Blender file. You should save this in the same folder as the FBX and MHX2. I call this file averagedude-base.blend.
If you did this approximately as described the result should be munch like below. And you will probably notice that there is some structural differences. You can see that by looking at the small icons [[File:MH-Blender-base-imported-icons.png]], that represent where modifiers, vertex groups and Object data is stored! Specifically the Object data holds the shape-keys and those were not imported. (perhaps because I did not use the correct FBX import options - but the same happens in UE4!).
[[File:MH-Blender-base-imported.png]]
You will notice that the MHX2 version of your character holds the Object data (the triangle) and that shape-keys can be seen there!
==Export the FBX for your base character, and import to UE4==
The next step is crucial for getting things to work in UE4, it is not very complicated but you need to have a plan.
When you did this correctly you should be able to get the following results:
* Import your base character into UE4
* Create retargeting for your common skeleton - called MH_Skeleton
* Retarget the Maniqin animations to your base character(s)
* Get additional Mixamo animations
===FBX export settings===
'''Important!''' Before you go any further you should rename your base character to '''main_root''', like this:
[[File:MH-Base-FBX-main-root.png]]
.... you should do this for all base characters! main_root will be the root bone in your skeleton. When you do it like this, all of your base characters will be able to share the same skeleton!
Now select the MHX2 collection where you have the character, and go to Export FBX.
I have made a 'Operator preset' for the FBX export, this is the options you need to set:
[[File:MH-Base-FBX-operator-presets.png]]
Place the FBX file in the same folder as where you placed the original FBX and the MHX2. You probably do not need the FBX that you made with Makehuman, and you can always make it again?
(You may however want to export more FBX files from Makehuman, simply to get all of the textures. We will look more into how you can use the skin textures!)
==UE4 import, and retarget ==
Go to your UE4 project and make a MH folder containing a new avaragedude folder, and import your base character there!
During the import of the FBX file from Blender into UE4 you must enable the '''Import Morp Targets''' checkbox manually (expand the Mesh section)!
Observe that this character looks very much like the one you did already import from the original FBX, there are little difference - yet you want to set up this as your real base character.
Also you want to rename the skeleton to '''MH_Skeleton'''! And you want to open the skeleton, and retarget it to the humanoid rig... this should look like this:
[[File:MH-Base-Skeleton-Retarget.png]]
Make sure that your character is in T-Pose, as you want to retarget the Mannequin animations to your characters MH_Skeleton!
Make a animation folder in your MH, perhaps even Mannequin folder?
You go to the UE4 folder: Content/Mannequin/Animations and right-click on this animation: '''ThirdPerson_AnimBP'''
Select retarget and choose MH_Skeleton as your target - also select the animation folder you made before, something like this:
[[File:MH-Base-Animation-Retarget.png]]
You may want to rename your new ThirdPerson_AnimBP to '''''MH''_ThirdPerson_AnimBP''' - or perhaps simply MH_AnimBP?
===Translation Retargeting===
After the retargeting the animations will still look odd. You go to the skeleton tree, then check off the "Show Retargeting Options" and set those at and below the spline to Skeleton (recursively) - that looks something like this:
[[File:MH-Anim-Skeleton.png]]
=More shape keys, made in Blender 2.8=
I have not yet made any target in MH, also I have not had much luck in using the two blender addons. Frankly I don't really understand what the different buttons does, most of them are not active... perhaps they make sens if you use Blender a lot?
But I will show you different ways to get expressions, targets and skeleton animations(!) to shape keys, so then will be new morph targets in UE4!
Before you get started you should probably look at a few Blender tutorials regarding this - these are good:
===Tutorials===
General introduction to MHX2 import and animation. However '''do not''' import the resulting characters into UE4?
{{#ev:youtube|2P1t_nogbGs}}
Short general introduction to using shape keys in Blender 2.8:
{{#ev:youtube|e675Ulc7QL4}}
==Expressions and targets==
Make sure that you have your original base character saved and load it into Makehuman. Remember to check that your base character is in the T-Pose, do not change that!
'''Just in case:''' I recommend that you keep a copy of this file as well as all the blender file etc.
You should also have Blender open and load the .blender file where you saved both your FBX and the MHX2.
Before you go on do as follows: move the MHX2 character to x 10m, so the entire character moves to the left (right to your front view) - this will make it more easy for you to work with! (Save the blender file!)
'''This is the general workflow for transfer of expressions:'''
Makehuman:
* Go to the Pose/Animate tab and select Expressions. From the list select the first expression, Anger01.
* Save the character as .mhx2 - but to a different file name: averagedude-base-expression.mhx2.
Blender:
* In blender, deselect all the collections
* Import the file you made, using the same operator presets as yo saved them.
* Activate your Base character collection and you will have two characters side by side - one base character and a very angry one!
* Go to object mode
* '''Left-click-select''' the angry guy first, then '''shift-left-click''' your base character.
* Go to the vertex tab/shape key, and click on the little down arrow, and select the ''Join as shapes'' - like this:
[[File:MH-Blender-shapekey1.png]]
This will make a brand new shape key: Averagedude_base_expression:Proxy
* You rename the shape key by a double-click and call it '''Exp_Anger01'''..
* ... and assign the Vertex group to head
[[File:MH-Blender-shapekey2.png]]
In case you can not select ''Join as shapes'' the two characters were not selected in the right order, or perhaps the topology is not the same. Blender will show this as a message some where at the bottom of the screen. I this happens try the blender workflow, in this paragraph only , again!
You can now try to change the value for the shape key, and you should see that your base character can get angry!
When this worked for you you can save the blender file! And you should now do your very first re-import of the FBX. You save your base character in a FBX and Import it to UE4. To be 100% safe you can save and import to different names and folders, but in the end you will re-import the base character each time you do one or more new shape keys.
When you see this working in UE4, you can go on to the next expressions - I simply delete the Averagedude_base_expression collection and save the next expression in the same file. You can naturally do as many expressions as you want. leave some out etc... as you like!
==Observations about Blender 2.8==
You may notice that you can mess this up, so please save your blender file and back up! Say you can easily merge your base character with the expression MHX2 or do something else to corrupt your work!
Please also note that the Vertex Group/relative to, '''head''' and '''Basis''', are rather important! The shape key will change the entire body, to the T-Pose, if head is not set. Likewise you can make some shape keys relative to an other shape key - this will be important a bit later, when we do more "advanced" stuff!
=Blender 2.8 - a bit more advanced?=
This is very fine - we can make your base character use all the expressions, and they can be combined! Also you can tamper with them in UE4, say you can combine them and you can even set minus values, or extreme values not "allowed" in Blender. But you obviously want more than that?
Perhaps you can find some special "targets" you want to use?
ff7a4433863c537068002adf20806f85c13fdcbd
2048
2047
2021-03-14T18:16:22Z
Assetdk
89
/* Making a base-character */
wikitext
text/x-wiki
Please take a look at this page: [[Documentation:MH4UE|MH4UE]] - to get an overview of things you can use to get your Makehuman characters into Unreal Engine!
Also look at the Forum here for more tips [http://www.makehumancommunity.org/forum/viewtopic.php?f=14&t=18462&p=52859&hilit=MH4UE#p52859 MH4UE].
*
=What can and can't be done?=
I have been working on getting different characters into UE4 for some time, and this have been a real hassle!
On this page I want to summarize what I managed to get done using a workflow that involves Blender. I have had a focus on not going into much details regarding any of the tools, but you will need to know a few things. Even though this looks like a trivial task there are some pitfalls and also there are some things that can not be done, or I have just not found out how to. I will eventually also add links to all the YT tutorials I found helpful.
I found that working with Makehuman very easy, so focus will be very UE4 how to specific.
This is what I will cover thus far:
* Create and save any MH character in Makehuman. Basic stuff, and important things to avoid.
* Getting the character into Blender - import or link?
* Setup Blender for Export, shape keys and morph targets
* First import into UE4
* Introduction to more shape keys
* Mixamo animations
This is the stuff that I did not cover - yet:
* Animations for talking (other tutorials may help)
* Making custom cloth
* Hair
This is the stuff I can not get to work:
* Retargeting to Advanced Locomotion System V3/4
* ALS got something to work! [[Documentation:Saving models for Unreal Engine and how to import them there/ALS]]
* [[Documentation:Unreal Engine ALS V4]]
Since I am using/learning Blender 2.8, I want to share a bit of bonus info. I managed to make one of the free UE4 packages work a bit "better". That is your characters should have some transportation. This is how:
* [[Documentation:Unreal Engine Vehicle Variety Pack]]
=Getting started=
I wanted a quick way to populate a UE4 game, preferably with an unlimited number of varied characters of high quality. This has proven to be a bit harder than expected. The workflow for making characters is not as trivial as one would want but this guide should make it a bit more easy to do. I will focus on describing the "straight" path from Makehuman and into UE4 - so you will not find too much details about Blender. Please refer to Blender specific pages for more on that.
==Need to know==
There are a few terms that you need to know, say you need to know that you will import FBX, textures and other files into UE4. Also you will need to know that a Character consists of a '''Mesh''', a '''Skeleton''' and '''''materials''''' (that refers to textures). I will try to elaborate on these subjects as we go along...
==Making a base-character==
'''IMPORTANT new comment:'''
There is now tree different custom A-poses that you can use - i currently recommend the one highlighted in the list.
Please read more in the [[http://www.makehumancommunity.org/forum/viewtopic.php?f=14&t=18462&p=53368#p53368 forum]], for more information.
[[File:MH_UE_Poses.png]]
Makehuman provides a range of predefined characters that is supposed to work as-is. You can just load a character, export it to FBX and import that into UE4 - and after a bit of work you can have a working player character! There are however a few pitfalls, so I suggest you make one (or more) base-character(s) that you can elaborate on as you go along. I will be working with ''''''averagedude'''''' as my base-character.
These are the steps to make the base characters:
* Open Makehuman
* Select the files tab and load the character
'''Under 'Geometries''''
* Remove cloth - (uncheck Hide faces under cloth)!
* Remove hair
* Add Teeth
* Choose Topology - '''I have no advice on this - but see comment below!'''
* Chose Eyebrows/Eyelashes, these can be changed as you go along - as can eye colors!
* Add Tongue01 (again I have no advice/recommendation on that, yet)
'''Under 'Materials'''' - I will show you how to work with UE4 "advanced" materials:
* Chose any skin that you like,
* Chose any eyes that you like
'''Under 'Pose/Animate''''
* Chose Skeleton: Uengine - if you do not have this already you my get it via the community tab?
* Chose Expressions: none
* For the POSE chose the Apose_ue
And this is it! But there is one 'important' option you need know about - you need to '''uncheck''' the Smooth button!
The smooth button/option: [[File:MH-Smooth-option.png]] should be unchecked... that will make your character a bit less attractive, but this will preserve the shape-keys!
Makehuman comes with some 50-60 '''shape-keys''' and these will all be available as '''morph-targets''' in UE4. I will show you how to make more shape-keys, using makehuman+blender!
Now it is time to save your base-character - even though you have made very few changes to the file you should save this file under the save tab and name it
<your-name>-base (say averagedude-base), you can even add your very own tag 'base' to this.
When you save the file like this you will be able to reload it, and we need that later!
====Choose Topology/Shape keys====
When you make your base character without smoothing you get shape keys, and you want to share these between different characters. Specifically you would probably want to share face morphs between male and female characters - and there may be other base character variations, say old/young/child etc.
Later I will focus on how to make new shape keys, using blender - depending on how you want to do this you may want to '''chose Topology that is compatible between the different characters!''' That is you may be able to transfer one "shape" from a male character to a female character, but the result will depend on ''topology compatibility''. I will/may thus update this section to make sure
'''Shape key names''' will be the same for all of the base characters, as they come from - however you will be able to make new keys. You must name these keys the same for all MH characters, like these share the same skeleton (MH_Skelton) they must hold all the same shape keys names. If they don't your game may "break"....
===Export your base-character===
You can now take a break - or you can export your work. There are really tree options for you to look at:
* Save the FBX file directly
* Save a MHX2 file (you may need to install this as a option/utility, find our elsewhere!)
* Load the character to '''Blender''' directly via the link (I will get back to what can be done using that!)
I suggest that you save your base-character now, in both formats - FBX and MHX2! Make a specific 'Base-Characters' folder, because you will need it!
When you export the FBX use these options:
[[File:MH-FBX-export-options.png]]
This is the result for me, you should see something like this also:
[[File:MH-Base-Character-Folder.png]]
You should also see that there is a sub-folder, called Textures - this is where the different textures are saved and it should now look like this:
[[File:MH-Base-Character-Folder-textures.png]]
You can now go over all of the different textures, so you will have a wide selection to chose from. Textures are saved every time you save a FBX file!
Say, I change the base-characters textures, saved the FBX - and this is what I got:
[[File:MH-Base-Character-Folder-textures2.png]]
===Import your base-character to UE4 - FBX===
The FBX file will actually import directly to UE4, but there are a few problems! You should export your FBX file as Binary FBX, and you will get the most out of it. After this you can get to this result (after adjusting the materials, as seen below):
[[File:MH-MH-FBX-imported.png]]
Your character can look like this (after adjusting materials) - pretty good:
[[File:MH-MH-FBX-imported-materials.png]]
'''HOWEVER, you have lost the morph-targets! And as you probably noticed, the UE4 standard FBX import do import them!'''
I will get back to what to do about the shape-keys... but let make the materials first?
==Makehuman UE4 materials==
When you import the FBX made you exported from Makehuman, both textures and materials are made. You will also notice that UE4 will try to match the materials correctly to the material slots, as seen above in the 'Asset Details' of, in my case, averagedude-base (do not worry about the physics and the skeleton yet!).
To get you started, we need to take a look at the Eye, Eyelashes and Eyebrow materials...
===Eye and teeth materials===
First you can rename the '''high-poly''' material '''high-poly-''blue-eye''''' - or to whatever color you chose! You will probably make more eye materials.
Next you can double-click the material, to open the material-editor and change it to look something like this:
[[File:Ue4-26-eye-material.JPG]]
Your teeth material should look like this:
[[File:Ue4-26-teeth-material.jpg]]
Other parts of the materials my need to be setup like this also. Please add more suggestions, and feel free to edit this page!
===Eyelashes and Eyebrow materials===
Likewise you can set up the eyelashes, and the eyebrows are the same only you do not need ''two sided'' for the bows:
[[File:MH-UE4-Eyelashes-material.png]]
!?You may want to play with the shading model.
===Skin materials===
I wanted to have a very diverse skin material, that can be used for making a wide range of NPC characters. After experimenting a lot, I found that you can setup parameters and still keep the skin material quite simple. I ended up with a master material, that can be used as an instance... from where I can manipulate ink color and age!
Please note! These are not working all that good! There are some obvious errors. The skin appears to mismatch especially on the back and on the back of the head. I you know how to correct this please make comments or post the correct solution.
In case you need your characters to be better than this you should not use the lerp functions as seen in this example?
[[File:MH UE4 MaterialInstance 1.png]]
====Old/young and age!====
The "master material" looks like this in details - in the first part you can combine young/old+light/dark skin with age.. the textures are all from make human.
[[File:MH_UE4_MaterialMaster_1.png]]
====Old/young and age!====
In the 2nd part you have all the other material parameters. I made the various textures for this using at normal map generator.
[[File:MH_UE4_MaterialMaster_2.png]]
====Customization====
The skin can now be modified using a simple interface in the game. The prototype for this can be seen here: [[Documentation:Unreal_MHC|Unreal MakeCustomization]].
===More materials?===
You can simply drag and drop more textures from the the base-character/textures folder, then duplicate and rename the materials, and apply different textures to the renamed materials. At some point I want to be able to customize/randomize (NPC) characters, but I have not yet done that.
Also you can make materials instances with parameters... I will show you howto, but first we need to turn shape-keys into morph-targets.
=Use Blender v 2.80 to get more!!=
For some reason the exported FBX file is not organized in a way so you will get the shape-keys imported directly to UE4. However when you follow the next steps, you will not get the correct materials imported, so I recommend that you run FBX import as shown above, and save the textures/materials in a separate folder.
If you are new to Blender please run a few tutorials specifically on on how to import/export, and also get to know about collections - you can do a lot in Blender and you can get confused!
==What will be done here?==
I will show you how to:
* Import your MHX2 files, to preserve the shape-keys
* Export FBX files, so UE4 will import correctly with morph-targets
* Apply expressions etc. to your base character
* Import these to your Blender file and apply the expressions as '''new shape keys'''
==But, first import and inspect FBX and MHX2!==
As you may remember you exported two files, the FBX file and the MHX2 file. You want to import both of these files into Blender, so you need two Collections, called FBX and MHX2. You right-click on the 'Scene collection' select 'New' and rename the collections to 'FBX' and 'MHX2'... I also added Scene collection and dragged the Camera and Light there (as I deleted the box). After this you should see something link this (the small Icons may be different):
[[File:MH-Base-Blender-setup.png]]
When you import your FBX file select/highlight the FBX collection, so the FBX data get imported into that collection. You can use the standard import options. For MHX2 you need to change the setting to match those you see below - when you find they are correct you can click the + sign, marked with a yellow arrow, and save the setting with your own setting-name.
(You may notice that the character you imported is out of proportions, some 17-18 meters high, we will correct that when we export to UE4!)
[[File:MH-Blender-FBX-import-options.png]]
===Inspect the results, in Blender===
Now is a good time to save the Blender file. You should save this in the same folder as the FBX and MHX2. I call this file averagedude-base.blend.
If you did this approximately as described the result should be munch like below. And you will probably notice that there is some structural differences. You can see that by looking at the small icons [[File:MH-Blender-base-imported-icons.png]], that represent where modifiers, vertex groups and Object data is stored! Specifically the Object data holds the shape-keys and those were not imported. (perhaps because I did not use the correct FBX import options - but the same happens in UE4!).
[[File:MH-Blender-base-imported.png]]
You will notice that the MHX2 version of your character holds the Object data (the triangle) and that shape-keys can be seen there!
==Export the FBX for your base character, and import to UE4==
The next step is crucial for getting things to work in UE4, it is not very complicated but you need to have a plan.
When you did this correctly you should be able to get the following results:
* Import your base character into UE4
* Create retargeting for your common skeleton - called MH_Skeleton
* Retarget the Maniqin animations to your base character(s)
* Get additional Mixamo animations
===FBX export settings===
'''Important!''' Before you go any further you should rename your base character to '''main_root''', like this:
[[File:MH-Base-FBX-main-root.png]]
.... you should do this for all base characters! main_root will be the root bone in your skeleton. When you do it like this, all of your base characters will be able to share the same skeleton!
Now select the MHX2 collection where you have the character, and go to Export FBX.
I have made a 'Operator preset' for the FBX export, this is the options you need to set:
[[File:MH-Base-FBX-operator-presets.png]]
Place the FBX file in the same folder as where you placed the original FBX and the MHX2. You probably do not need the FBX that you made with Makehuman, and you can always make it again?
(You may however want to export more FBX files from Makehuman, simply to get all of the textures. We will look more into how you can use the skin textures!)
==UE4 import, and retarget ==
Go to your UE4 project and make a MH folder containing a new avaragedude folder, and import your base character there!
During the import of the FBX file from Blender into UE4 you must enable the '''Import Morp Targets''' checkbox manually (expand the Mesh section)!
Observe that this character looks very much like the one you did already import from the original FBX, there are little difference - yet you want to set up this as your real base character.
Also you want to rename the skeleton to '''MH_Skeleton'''! And you want to open the skeleton, and retarget it to the humanoid rig... this should look like this:
[[File:MH-Base-Skeleton-Retarget.png]]
Make sure that your character is in T-Pose, as you want to retarget the Mannequin animations to your characters MH_Skeleton!
Make a animation folder in your MH, perhaps even Mannequin folder?
You go to the UE4 folder: Content/Mannequin/Animations and right-click on this animation: '''ThirdPerson_AnimBP'''
Select retarget and choose MH_Skeleton as your target - also select the animation folder you made before, something like this:
[[File:MH-Base-Animation-Retarget.png]]
You may want to rename your new ThirdPerson_AnimBP to '''''MH''_ThirdPerson_AnimBP''' - or perhaps simply MH_AnimBP?
===Translation Retargeting===
After the retargeting the animations will still look odd. You go to the skeleton tree, then check off the "Show Retargeting Options" and set those at and below the spline to Skeleton (recursively) - that looks something like this:
[[File:MH-Anim-Skeleton.png]]
=More shape keys, made in Blender 2.8=
I have not yet made any target in MH, also I have not had much luck in using the two blender addons. Frankly I don't really understand what the different buttons does, most of them are not active... perhaps they make sens if you use Blender a lot?
But I will show you different ways to get expressions, targets and skeleton animations(!) to shape keys, so then will be new morph targets in UE4!
Before you get started you should probably look at a few Blender tutorials regarding this - these are good:
===Tutorials===
General introduction to MHX2 import and animation. However '''do not''' import the resulting characters into UE4?
{{#ev:youtube|2P1t_nogbGs}}
Short general introduction to using shape keys in Blender 2.8:
{{#ev:youtube|e675Ulc7QL4}}
==Expressions and targets==
Make sure that you have your original base character saved and load it into Makehuman. Remember to check that your base character is in the T-Pose, do not change that!
'''Just in case:''' I recommend that you keep a copy of this file as well as all the blender file etc.
You should also have Blender open and load the .blender file where you saved both your FBX and the MHX2.
Before you go on do as follows: move the MHX2 character to x 10m, so the entire character moves to the left (right to your front view) - this will make it more easy for you to work with! (Save the blender file!)
'''This is the general workflow for transfer of expressions:'''
Makehuman:
* Go to the Pose/Animate tab and select Expressions. From the list select the first expression, Anger01.
* Save the character as .mhx2 - but to a different file name: averagedude-base-expression.mhx2.
Blender:
* In blender, deselect all the collections
* Import the file you made, using the same operator presets as yo saved them.
* Activate your Base character collection and you will have two characters side by side - one base character and a very angry one!
* Go to object mode
* '''Left-click-select''' the angry guy first, then '''shift-left-click''' your base character.
* Go to the vertex tab/shape key, and click on the little down arrow, and select the ''Join as shapes'' - like this:
[[File:MH-Blender-shapekey1.png]]
This will make a brand new shape key: Averagedude_base_expression:Proxy
* You rename the shape key by a double-click and call it '''Exp_Anger01'''..
* ... and assign the Vertex group to head
[[File:MH-Blender-shapekey2.png]]
In case you can not select ''Join as shapes'' the two characters were not selected in the right order, or perhaps the topology is not the same. Blender will show this as a message some where at the bottom of the screen. I this happens try the blender workflow, in this paragraph only , again!
You can now try to change the value for the shape key, and you should see that your base character can get angry!
When this worked for you you can save the blender file! And you should now do your very first re-import of the FBX. You save your base character in a FBX and Import it to UE4. To be 100% safe you can save and import to different names and folders, but in the end you will re-import the base character each time you do one or more new shape keys.
When you see this working in UE4, you can go on to the next expressions - I simply delete the Averagedude_base_expression collection and save the next expression in the same file. You can naturally do as many expressions as you want. leave some out etc... as you like!
==Observations about Blender 2.8==
You may notice that you can mess this up, so please save your blender file and back up! Say you can easily merge your base character with the expression MHX2 or do something else to corrupt your work!
Please also note that the Vertex Group/relative to, '''head''' and '''Basis''', are rather important! The shape key will change the entire body, to the T-Pose, if head is not set. Likewise you can make some shape keys relative to an other shape key - this will be important a bit later, when we do more "advanced" stuff!
=Blender 2.8 - a bit more advanced?=
This is very fine - we can make your base character use all the expressions, and they can be combined! Also you can tamper with them in UE4, say you can combine them and you can even set minus values, or extreme values not "allowed" in Blender. But you obviously want more than that?
Perhaps you can find some special "targets" you want to use?
ebdd6767d1afda3917713bce81dcb0a994fa3e09
2047
2046
2021-03-14T17:25:28Z
Assetdk
89
/* Making a base-character */
wikitext
text/x-wiki
Please take a look at this page: [[Documentation:MH4UE|MH4UE]] - to get an overview of things you can use to get your Makehuman characters into Unreal Engine!
Also look at the Forum here for more tips [http://www.makehumancommunity.org/forum/viewtopic.php?f=14&t=18462&p=52859&hilit=MH4UE#p52859 MH4UE].
*
=What can and can't be done?=
I have been working on getting different characters into UE4 for some time, and this have been a real hassle!
On this page I want to summarize what I managed to get done using a workflow that involves Blender. I have had a focus on not going into much details regarding any of the tools, but you will need to know a few things. Even though this looks like a trivial task there are some pitfalls and also there are some things that can not be done, or I have just not found out how to. I will eventually also add links to all the YT tutorials I found helpful.
I found that working with Makehuman very easy, so focus will be very UE4 how to specific.
This is what I will cover thus far:
* Create and save any MH character in Makehuman. Basic stuff, and important things to avoid.
* Getting the character into Blender - import or link?
* Setup Blender for Export, shape keys and morph targets
* First import into UE4
* Introduction to more shape keys
* Mixamo animations
This is the stuff that I did not cover - yet:
* Animations for talking (other tutorials may help)
* Making custom cloth
* Hair
This is the stuff I can not get to work:
* Retargeting to Advanced Locomotion System V3/4
* ALS got something to work! [[Documentation:Saving models for Unreal Engine and how to import them there/ALS]]
* [[Documentation:Unreal Engine ALS V4]]
Since I am using/learning Blender 2.8, I want to share a bit of bonus info. I managed to make one of the free UE4 packages work a bit "better". That is your characters should have some transportation. This is how:
* [[Documentation:Unreal Engine Vehicle Variety Pack]]
=Getting started=
I wanted a quick way to populate a UE4 game, preferably with an unlimited number of varied characters of high quality. This has proven to be a bit harder than expected. The workflow for making characters is not as trivial as one would want but this guide should make it a bit more easy to do. I will focus on describing the "straight" path from Makehuman and into UE4 - so you will not find too much details about Blender. Please refer to Blender specific pages for more on that.
==Need to know==
There are a few terms that you need to know, say you need to know that you will import FBX, textures and other files into UE4. Also you will need to know that a Character consists of a '''Mesh''', a '''Skeleton''' and '''''materials''''' (that refers to textures). I will try to elaborate on these subjects as we go along...
==Making a base-character==
'''IMPORTANT new comment:'''
There is now tree different custom A-poses that you can use - i currently recommend the one highlighted in the list.
Please read more in the [[http://www.makehumancommunity.org/forum/viewtopic.php?f=14&t=18462&p=53368#p53368 forum]], for more information.
[[File:MH_UE_Poses.png]]
Makehuman provides a range of predefined characters that is supposed to work as-is. You can just load a character, export it to FBX and import that into UE4 - and after a bit of work you can have a working player character! There are however a few pitfalls, so I suggest you make one (or more) base-character(s) that you can elaborate on as you go along. I will be working with ''''''averagedude'''''' as my base-character.
These are the steps to make the base characters:
* Open Makehuman
* Select the files tab and load the character
'''Under 'Geometries''''
* Remove cloth - (uncheck Hide faces under cloth)!
* Remove hair
* Add Teeth
* Choose Topology - '''I have no advice on this - but see comment below!'''
* Chose Eyebrows/Eyelashes, these can be changed as you go along - as can eye colors!
* Add Tongue01 (again I have no advice/recommendation on that, yet)
'''Under 'Materials'''' - I will show you how to work with UE4 "advanced" materials:
* Chose any skin that you like,
* Chose any eyes that you like
'''Under 'Pose/Animate''''
* Chose Skeleton: Uengine - if you do not have this already you my get it via the community tab?
* Chose Expressions: none
* DO NOT Chose Pose: T-pose (the last one on the list) - see note above
And this is it! But there is one 'important' option you need know about - you need to '''uncheck''' the Smooth button!
The smooth button/option: [[File:MH-Smooth-option.png]] should be unchecked... that will make your character a bit less attractive, but this will preserve the shape-keys!
Makehuman comes with some 50-60 '''shape-keys''' and these will all be available as '''morph-targets''' in UE4. I will show you how to make more shape-keys, using makehuman+blender!
Now it is time to save your base-character - even though you have made very few changes to the file you should save this file under the save tab and name it
<your-name>-base (say averagedude-base), you can even add your very own tag 'base' to this.
When you save the file like this you will be able to reload it, and we need that later!
====Choose Topology/Shape keys====
When you make your base character without smoothing you get shape keys, and you want to share these between different characters. Specifically you would probably want to share face morphs between male and female characters - and there may be other base character variations, say old/young/child etc.
Later I will focus on how to make new shape keys, using blender - depending on how you want to do this you may want to '''chose Topology that is compatible between the different characters!''' That is you may be able to transfer one "shape" from a male character to a female character, but the result will depend on ''topology compatibility''. I will/may thus update this section to make sure
'''Shape key names''' will be the same for all of the base characters, as they come from - however you will be able to make new keys. You must name these keys the same for all MH characters, like these share the same skeleton (MH_Skelton) they must hold all the same shape keys names. If they don't your game may "break"....
===Export your base-character===
You can now take a break - or you can export your work. There are really tree options for you to look at:
* Save the FBX file directly
* Save a MHX2 file (you may need to install this as a option/utility, find our elsewhere!)
* Load the character to '''Blender''' directly via the link (I will get back to what can be done using that!)
I suggest that you save your base-character now, in both formats - FBX and MHX2! Make a specific 'Base-Characters' folder, because you will need it!
When you export the FBX use these options:
[[File:MH-FBX-export-options.png]]
This is the result for me, you should see something like this also:
[[File:MH-Base-Character-Folder.png]]
You should also see that there is a sub-folder, called Textures - this is where the different textures are saved and it should now look like this:
[[File:MH-Base-Character-Folder-textures.png]]
You can now go over all of the different textures, so you will have a wide selection to chose from. Textures are saved every time you save a FBX file!
Say, I change the base-characters textures, saved the FBX - and this is what I got:
[[File:MH-Base-Character-Folder-textures2.png]]
===Import your base-character to UE4 - FBX===
The FBX file will actually import directly to UE4, but there are a few problems! You should export your FBX file as Binary FBX, and you will get the most out of it. After this you can get to this result (after adjusting the materials, as seen below):
[[File:MH-MH-FBX-imported.png]]
Your character can look like this (after adjusting materials) - pretty good:
[[File:MH-MH-FBX-imported-materials.png]]
'''HOWEVER, you have lost the morph-targets! And as you probably noticed, the UE4 standard FBX import do import them!'''
I will get back to what to do about the shape-keys... but let make the materials first?
==Makehuman UE4 materials==
When you import the FBX made you exported from Makehuman, both textures and materials are made. You will also notice that UE4 will try to match the materials correctly to the material slots, as seen above in the 'Asset Details' of, in my case, averagedude-base (do not worry about the physics and the skeleton yet!).
To get you started, we need to take a look at the Eye, Eyelashes and Eyebrow materials...
===Eye and teeth materials===
First you can rename the '''high-poly''' material '''high-poly-''blue-eye''''' - or to whatever color you chose! You will probably make more eye materials.
Next you can double-click the material, to open the material-editor and change it to look something like this:
[[File:Ue4-26-eye-material.JPG]]
Your teeth material should look like this:
[[File:Ue4-26-teeth-material.jpg]]
Other parts of the materials my need to be setup like this also. Please add more suggestions, and feel free to edit this page!
===Eyelashes and Eyebrow materials===
Likewise you can set up the eyelashes, and the eyebrows are the same only you do not need ''two sided'' for the bows:
[[File:MH-UE4-Eyelashes-material.png]]
!?You may want to play with the shading model.
===Skin materials===
I wanted to have a very diverse skin material, that can be used for making a wide range of NPC characters. After experimenting a lot, I found that you can setup parameters and still keep the skin material quite simple. I ended up with a master material, that can be used as an instance... from where I can manipulate ink color and age!
Please note! These are not working all that good! There are some obvious errors. The skin appears to mismatch especially on the back and on the back of the head. I you know how to correct this please make comments or post the correct solution.
In case you need your characters to be better than this you should not use the lerp functions as seen in this example?
[[File:MH UE4 MaterialInstance 1.png]]
====Old/young and age!====
The "master material" looks like this in details - in the first part you can combine young/old+light/dark skin with age.. the textures are all from make human.
[[File:MH_UE4_MaterialMaster_1.png]]
====Old/young and age!====
In the 2nd part you have all the other material parameters. I made the various textures for this using at normal map generator.
[[File:MH_UE4_MaterialMaster_2.png]]
====Customization====
The skin can now be modified using a simple interface in the game. The prototype for this can be seen here: [[Documentation:Unreal_MHC|Unreal MakeCustomization]].
===More materials?===
You can simply drag and drop more textures from the the base-character/textures folder, then duplicate and rename the materials, and apply different textures to the renamed materials. At some point I want to be able to customize/randomize (NPC) characters, but I have not yet done that.
Also you can make materials instances with parameters... I will show you howto, but first we need to turn shape-keys into morph-targets.
=Use Blender v 2.80 to get more!!=
For some reason the exported FBX file is not organized in a way so you will get the shape-keys imported directly to UE4. However when you follow the next steps, you will not get the correct materials imported, so I recommend that you run FBX import as shown above, and save the textures/materials in a separate folder.
If you are new to Blender please run a few tutorials specifically on on how to import/export, and also get to know about collections - you can do a lot in Blender and you can get confused!
==What will be done here?==
I will show you how to:
* Import your MHX2 files, to preserve the shape-keys
* Export FBX files, so UE4 will import correctly with morph-targets
* Apply expressions etc. to your base character
* Import these to your Blender file and apply the expressions as '''new shape keys'''
==But, first import and inspect FBX and MHX2!==
As you may remember you exported two files, the FBX file and the MHX2 file. You want to import both of these files into Blender, so you need two Collections, called FBX and MHX2. You right-click on the 'Scene collection' select 'New' and rename the collections to 'FBX' and 'MHX2'... I also added Scene collection and dragged the Camera and Light there (as I deleted the box). After this you should see something link this (the small Icons may be different):
[[File:MH-Base-Blender-setup.png]]
When you import your FBX file select/highlight the FBX collection, so the FBX data get imported into that collection. You can use the standard import options. For MHX2 you need to change the setting to match those you see below - when you find they are correct you can click the + sign, marked with a yellow arrow, and save the setting with your own setting-name.
(You may notice that the character you imported is out of proportions, some 17-18 meters high, we will correct that when we export to UE4!)
[[File:MH-Blender-FBX-import-options.png]]
===Inspect the results, in Blender===
Now is a good time to save the Blender file. You should save this in the same folder as the FBX and MHX2. I call this file averagedude-base.blend.
If you did this approximately as described the result should be munch like below. And you will probably notice that there is some structural differences. You can see that by looking at the small icons [[File:MH-Blender-base-imported-icons.png]], that represent where modifiers, vertex groups and Object data is stored! Specifically the Object data holds the shape-keys and those were not imported. (perhaps because I did not use the correct FBX import options - but the same happens in UE4!).
[[File:MH-Blender-base-imported.png]]
You will notice that the MHX2 version of your character holds the Object data (the triangle) and that shape-keys can be seen there!
==Export the FBX for your base character, and import to UE4==
The next step is crucial for getting things to work in UE4, it is not very complicated but you need to have a plan.
When you did this correctly you should be able to get the following results:
* Import your base character into UE4
* Create retargeting for your common skeleton - called MH_Skeleton
* Retarget the Maniqin animations to your base character(s)
* Get additional Mixamo animations
===FBX export settings===
'''Important!''' Before you go any further you should rename your base character to '''main_root''', like this:
[[File:MH-Base-FBX-main-root.png]]
.... you should do this for all base characters! main_root will be the root bone in your skeleton. When you do it like this, all of your base characters will be able to share the same skeleton!
Now select the MHX2 collection where you have the character, and go to Export FBX.
I have made a 'Operator preset' for the FBX export, this is the options you need to set:
[[File:MH-Base-FBX-operator-presets.png]]
Place the FBX file in the same folder as where you placed the original FBX and the MHX2. You probably do not need the FBX that you made with Makehuman, and you can always make it again?
(You may however want to export more FBX files from Makehuman, simply to get all of the textures. We will look more into how you can use the skin textures!)
==UE4 import, and retarget ==
Go to your UE4 project and make a MH folder containing a new avaragedude folder, and import your base character there!
During the import of the FBX file from Blender into UE4 you must enable the '''Import Morp Targets''' checkbox manually (expand the Mesh section)!
Observe that this character looks very much like the one you did already import from the original FBX, there are little difference - yet you want to set up this as your real base character.
Also you want to rename the skeleton to '''MH_Skeleton'''! And you want to open the skeleton, and retarget it to the humanoid rig... this should look like this:
[[File:MH-Base-Skeleton-Retarget.png]]
Make sure that your character is in T-Pose, as you want to retarget the Mannequin animations to your characters MH_Skeleton!
Make a animation folder in your MH, perhaps even Mannequin folder?
You go to the UE4 folder: Content/Mannequin/Animations and right-click on this animation: '''ThirdPerson_AnimBP'''
Select retarget and choose MH_Skeleton as your target - also select the animation folder you made before, something like this:
[[File:MH-Base-Animation-Retarget.png]]
You may want to rename your new ThirdPerson_AnimBP to '''''MH''_ThirdPerson_AnimBP''' - or perhaps simply MH_AnimBP?
===Translation Retargeting===
After the retargeting the animations will still look odd. You go to the skeleton tree, then check off the "Show Retargeting Options" and set those at and below the spline to Skeleton (recursively) - that looks something like this:
[[File:MH-Anim-Skeleton.png]]
=More shape keys, made in Blender 2.8=
I have not yet made any target in MH, also I have not had much luck in using the two blender addons. Frankly I don't really understand what the different buttons does, most of them are not active... perhaps they make sens if you use Blender a lot?
But I will show you different ways to get expressions, targets and skeleton animations(!) to shape keys, so then will be new morph targets in UE4!
Before you get started you should probably look at a few Blender tutorials regarding this - these are good:
===Tutorials===
General introduction to MHX2 import and animation. However '''do not''' import the resulting characters into UE4?
{{#ev:youtube|2P1t_nogbGs}}
Short general introduction to using shape keys in Blender 2.8:
{{#ev:youtube|e675Ulc7QL4}}
==Expressions and targets==
Make sure that you have your original base character saved and load it into Makehuman. Remember to check that your base character is in the T-Pose, do not change that!
'''Just in case:''' I recommend that you keep a copy of this file as well as all the blender file etc.
You should also have Blender open and load the .blender file where you saved both your FBX and the MHX2.
Before you go on do as follows: move the MHX2 character to x 10m, so the entire character moves to the left (right to your front view) - this will make it more easy for you to work with! (Save the blender file!)
'''This is the general workflow for transfer of expressions:'''
Makehuman:
* Go to the Pose/Animate tab and select Expressions. From the list select the first expression, Anger01.
* Save the character as .mhx2 - but to a different file name: averagedude-base-expression.mhx2.
Blender:
* In blender, deselect all the collections
* Import the file you made, using the same operator presets as yo saved them.
* Activate your Base character collection and you will have two characters side by side - one base character and a very angry one!
* Go to object mode
* '''Left-click-select''' the angry guy first, then '''shift-left-click''' your base character.
* Go to the vertex tab/shape key, and click on the little down arrow, and select the ''Join as shapes'' - like this:
[[File:MH-Blender-shapekey1.png]]
This will make a brand new shape key: Averagedude_base_expression:Proxy
* You rename the shape key by a double-click and call it '''Exp_Anger01'''..
* ... and assign the Vertex group to head
[[File:MH-Blender-shapekey2.png]]
In case you can not select ''Join as shapes'' the two characters were not selected in the right order, or perhaps the topology is not the same. Blender will show this as a message some where at the bottom of the screen. I this happens try the blender workflow, in this paragraph only , again!
You can now try to change the value for the shape key, and you should see that your base character can get angry!
When this worked for you you can save the blender file! And you should now do your very first re-import of the FBX. You save your base character in a FBX and Import it to UE4. To be 100% safe you can save and import to different names and folders, but in the end you will re-import the base character each time you do one or more new shape keys.
When you see this working in UE4, you can go on to the next expressions - I simply delete the Averagedude_base_expression collection and save the next expression in the same file. You can naturally do as many expressions as you want. leave some out etc... as you like!
==Observations about Blender 2.8==
You may notice that you can mess this up, so please save your blender file and back up! Say you can easily merge your base character with the expression MHX2 or do something else to corrupt your work!
Please also note that the Vertex Group/relative to, '''head''' and '''Basis''', are rather important! The shape key will change the entire body, to the T-Pose, if head is not set. Likewise you can make some shape keys relative to an other shape key - this will be important a bit later, when we do more "advanced" stuff!
=Blender 2.8 - a bit more advanced?=
This is very fine - we can make your base character use all the expressions, and they can be combined! Also you can tamper with them in UE4, say you can combine them and you can even set minus values, or extreme values not "allowed" in Blender. But you obviously want more than that?
Perhaps you can find some special "targets" you want to use?
a27c090126e6e89d9d346d1a7e8d57a1225651e7
2046
2044
2021-03-14T17:24:42Z
Assetdk
89
/* Making a base-character */
wikitext
text/x-wiki
Please take a look at this page: [[Documentation:MH4UE|MH4UE]] - to get an overview of things you can use to get your Makehuman characters into Unreal Engine!
Also look at the Forum here for more tips [http://www.makehumancommunity.org/forum/viewtopic.php?f=14&t=18462&p=52859&hilit=MH4UE#p52859 MH4UE].
*
=What can and can't be done?=
I have been working on getting different characters into UE4 for some time, and this have been a real hassle!
On this page I want to summarize what I managed to get done using a workflow that involves Blender. I have had a focus on not going into much details regarding any of the tools, but you will need to know a few things. Even though this looks like a trivial task there are some pitfalls and also there are some things that can not be done, or I have just not found out how to. I will eventually also add links to all the YT tutorials I found helpful.
I found that working with Makehuman very easy, so focus will be very UE4 how to specific.
This is what I will cover thus far:
* Create and save any MH character in Makehuman. Basic stuff, and important things to avoid.
* Getting the character into Blender - import or link?
* Setup Blender for Export, shape keys and morph targets
* First import into UE4
* Introduction to more shape keys
* Mixamo animations
This is the stuff that I did not cover - yet:
* Animations for talking (other tutorials may help)
* Making custom cloth
* Hair
This is the stuff I can not get to work:
* Retargeting to Advanced Locomotion System V3/4
* ALS got something to work! [[Documentation:Saving models for Unreal Engine and how to import them there/ALS]]
* [[Documentation:Unreal Engine ALS V4]]
Since I am using/learning Blender 2.8, I want to share a bit of bonus info. I managed to make one of the free UE4 packages work a bit "better". That is your characters should have some transportation. This is how:
* [[Documentation:Unreal Engine Vehicle Variety Pack]]
=Getting started=
I wanted a quick way to populate a UE4 game, preferably with an unlimited number of varied characters of high quality. This has proven to be a bit harder than expected. The workflow for making characters is not as trivial as one would want but this guide should make it a bit more easy to do. I will focus on describing the "straight" path from Makehuman and into UE4 - so you will not find too much details about Blender. Please refer to Blender specific pages for more on that.
==Need to know==
There are a few terms that you need to know, say you need to know that you will import FBX, textures and other files into UE4. Also you will need to know that a Character consists of a '''Mesh''', a '''Skeleton''' and '''''materials''''' (that refers to textures). I will try to elaborate on these subjects as we go along...
==Making a base-character==
'''IMPORTANT new comment:'''
There is now tree different custom A-poses that you can use [[File:MH_UE_Poses.png]] - i currently recommend the one highlighted in the list. Please read more in the [[http://www.makehumancommunity.org/forum/viewtopic.php?f=14&t=18462&p=53368#p53368 forum]], for more information.
Makehuman provides a range of predefined characters that is supposed to work as-is. You can just load a character, export it to FBX and import that into UE4 - and after a bit of work you can have a working player character! There are however a few pitfalls, so I suggest you make one (or more) base-character(s) that you can elaborate on as you go along. I will be working with ''''''averagedude'''''' as my base-character.
These are the steps to make the base characters:
* Open Makehuman
* Select the files tab and load the character
'''Under 'Geometries''''
* Remove cloth - (uncheck Hide faces under cloth)!
* Remove hair
* Add Teeth
* Choose Topology - '''I have no advice on this - but see comment below!'''
* Chose Eyebrows/Eyelashes, these can be changed as you go along - as can eye colors!
* Add Tongue01 (again I have no advice/recommendation on that, yet)
'''Under 'Materials'''' - I will show you how to work with UE4 "advanced" materials:
* Chose any skin that you like,
* Chose any eyes that you like
'''Under 'Pose/Animate''''
* Chose Skeleton: Uengine - if you do not have this already you my get it via the community tab?
* Chose Expressions: none
* DO NOT Chose Pose: T-pose (the last one on the list) - see note above
And this is it! But there is one 'important' option you need know about - you need to '''uncheck''' the Smooth button!
The smooth button/option: [[File:MH-Smooth-option.png]] should be unchecked... that will make your character a bit less attractive, but this will preserve the shape-keys!
Makehuman comes with some 50-60 '''shape-keys''' and these will all be available as '''morph-targets''' in UE4. I will show you how to make more shape-keys, using makehuman+blender!
Now it is time to save your base-character - even though you have made very few changes to the file you should save this file under the save tab and name it
<your-name>-base (say averagedude-base), you can even add your very own tag 'base' to this.
When you save the file like this you will be able to reload it, and we need that later!
====Choose Topology/Shape keys====
When you make your base character without smoothing you get shape keys, and you want to share these between different characters. Specifically you would probably want to share face morphs between male and female characters - and there may be other base character variations, say old/young/child etc.
Later I will focus on how to make new shape keys, using blender - depending on how you want to do this you may want to '''chose Topology that is compatible between the different characters!''' That is you may be able to transfer one "shape" from a male character to a female character, but the result will depend on ''topology compatibility''. I will/may thus update this section to make sure
'''Shape key names''' will be the same for all of the base characters, as they come from - however you will be able to make new keys. You must name these keys the same for all MH characters, like these share the same skeleton (MH_Skelton) they must hold all the same shape keys names. If they don't your game may "break"....
===Export your base-character===
You can now take a break - or you can export your work. There are really tree options for you to look at:
* Save the FBX file directly
* Save a MHX2 file (you may need to install this as a option/utility, find our elsewhere!)
* Load the character to '''Blender''' directly via the link (I will get back to what can be done using that!)
I suggest that you save your base-character now, in both formats - FBX and MHX2! Make a specific 'Base-Characters' folder, because you will need it!
When you export the FBX use these options:
[[File:MH-FBX-export-options.png]]
This is the result for me, you should see something like this also:
[[File:MH-Base-Character-Folder.png]]
You should also see that there is a sub-folder, called Textures - this is where the different textures are saved and it should now look like this:
[[File:MH-Base-Character-Folder-textures.png]]
You can now go over all of the different textures, so you will have a wide selection to chose from. Textures are saved every time you save a FBX file!
Say, I change the base-characters textures, saved the FBX - and this is what I got:
[[File:MH-Base-Character-Folder-textures2.png]]
===Import your base-character to UE4 - FBX===
The FBX file will actually import directly to UE4, but there are a few problems! You should export your FBX file as Binary FBX, and you will get the most out of it. After this you can get to this result (after adjusting the materials, as seen below):
[[File:MH-MH-FBX-imported.png]]
Your character can look like this (after adjusting materials) - pretty good:
[[File:MH-MH-FBX-imported-materials.png]]
'''HOWEVER, you have lost the morph-targets! And as you probably noticed, the UE4 standard FBX import do import them!'''
I will get back to what to do about the shape-keys... but let make the materials first?
==Makehuman UE4 materials==
When you import the FBX made you exported from Makehuman, both textures and materials are made. You will also notice that UE4 will try to match the materials correctly to the material slots, as seen above in the 'Asset Details' of, in my case, averagedude-base (do not worry about the physics and the skeleton yet!).
To get you started, we need to take a look at the Eye, Eyelashes and Eyebrow materials...
===Eye and teeth materials===
First you can rename the '''high-poly''' material '''high-poly-''blue-eye''''' - or to whatever color you chose! You will probably make more eye materials.
Next you can double-click the material, to open the material-editor and change it to look something like this:
[[File:Ue4-26-eye-material.JPG]]
Your teeth material should look like this:
[[File:Ue4-26-teeth-material.jpg]]
Other parts of the materials my need to be setup like this also. Please add more suggestions, and feel free to edit this page!
===Eyelashes and Eyebrow materials===
Likewise you can set up the eyelashes, and the eyebrows are the same only you do not need ''two sided'' for the bows:
[[File:MH-UE4-Eyelashes-material.png]]
!?You may want to play with the shading model.
===Skin materials===
I wanted to have a very diverse skin material, that can be used for making a wide range of NPC characters. After experimenting a lot, I found that you can setup parameters and still keep the skin material quite simple. I ended up with a master material, that can be used as an instance... from where I can manipulate ink color and age!
Please note! These are not working all that good! There are some obvious errors. The skin appears to mismatch especially on the back and on the back of the head. I you know how to correct this please make comments or post the correct solution.
In case you need your characters to be better than this you should not use the lerp functions as seen in this example?
[[File:MH UE4 MaterialInstance 1.png]]
====Old/young and age!====
The "master material" looks like this in details - in the first part you can combine young/old+light/dark skin with age.. the textures are all from make human.
[[File:MH_UE4_MaterialMaster_1.png]]
====Old/young and age!====
In the 2nd part you have all the other material parameters. I made the various textures for this using at normal map generator.
[[File:MH_UE4_MaterialMaster_2.png]]
====Customization====
The skin can now be modified using a simple interface in the game. The prototype for this can be seen here: [[Documentation:Unreal_MHC|Unreal MakeCustomization]].
===More materials?===
You can simply drag and drop more textures from the the base-character/textures folder, then duplicate and rename the materials, and apply different textures to the renamed materials. At some point I want to be able to customize/randomize (NPC) characters, but I have not yet done that.
Also you can make materials instances with parameters... I will show you howto, but first we need to turn shape-keys into morph-targets.
=Use Blender v 2.80 to get more!!=
For some reason the exported FBX file is not organized in a way so you will get the shape-keys imported directly to UE4. However when you follow the next steps, you will not get the correct materials imported, so I recommend that you run FBX import as shown above, and save the textures/materials in a separate folder.
If you are new to Blender please run a few tutorials specifically on on how to import/export, and also get to know about collections - you can do a lot in Blender and you can get confused!
==What will be done here?==
I will show you how to:
* Import your MHX2 files, to preserve the shape-keys
* Export FBX files, so UE4 will import correctly with morph-targets
* Apply expressions etc. to your base character
* Import these to your Blender file and apply the expressions as '''new shape keys'''
==But, first import and inspect FBX and MHX2!==
As you may remember you exported two files, the FBX file and the MHX2 file. You want to import both of these files into Blender, so you need two Collections, called FBX and MHX2. You right-click on the 'Scene collection' select 'New' and rename the collections to 'FBX' and 'MHX2'... I also added Scene collection and dragged the Camera and Light there (as I deleted the box). After this you should see something link this (the small Icons may be different):
[[File:MH-Base-Blender-setup.png]]
When you import your FBX file select/highlight the FBX collection, so the FBX data get imported into that collection. You can use the standard import options. For MHX2 you need to change the setting to match those you see below - when you find they are correct you can click the + sign, marked with a yellow arrow, and save the setting with your own setting-name.
(You may notice that the character you imported is out of proportions, some 17-18 meters high, we will correct that when we export to UE4!)
[[File:MH-Blender-FBX-import-options.png]]
===Inspect the results, in Blender===
Now is a good time to save the Blender file. You should save this in the same folder as the FBX and MHX2. I call this file averagedude-base.blend.
If you did this approximately as described the result should be munch like below. And you will probably notice that there is some structural differences. You can see that by looking at the small icons [[File:MH-Blender-base-imported-icons.png]], that represent where modifiers, vertex groups and Object data is stored! Specifically the Object data holds the shape-keys and those were not imported. (perhaps because I did not use the correct FBX import options - but the same happens in UE4!).
[[File:MH-Blender-base-imported.png]]
You will notice that the MHX2 version of your character holds the Object data (the triangle) and that shape-keys can be seen there!
==Export the FBX for your base character, and import to UE4==
The next step is crucial for getting things to work in UE4, it is not very complicated but you need to have a plan.
When you did this correctly you should be able to get the following results:
* Import your base character into UE4
* Create retargeting for your common skeleton - called MH_Skeleton
* Retarget the Maniqin animations to your base character(s)
* Get additional Mixamo animations
===FBX export settings===
'''Important!''' Before you go any further you should rename your base character to '''main_root''', like this:
[[File:MH-Base-FBX-main-root.png]]
.... you should do this for all base characters! main_root will be the root bone in your skeleton. When you do it like this, all of your base characters will be able to share the same skeleton!
Now select the MHX2 collection where you have the character, and go to Export FBX.
I have made a 'Operator preset' for the FBX export, this is the options you need to set:
[[File:MH-Base-FBX-operator-presets.png]]
Place the FBX file in the same folder as where you placed the original FBX and the MHX2. You probably do not need the FBX that you made with Makehuman, and you can always make it again?
(You may however want to export more FBX files from Makehuman, simply to get all of the textures. We will look more into how you can use the skin textures!)
==UE4 import, and retarget ==
Go to your UE4 project and make a MH folder containing a new avaragedude folder, and import your base character there!
During the import of the FBX file from Blender into UE4 you must enable the '''Import Morp Targets''' checkbox manually (expand the Mesh section)!
Observe that this character looks very much like the one you did already import from the original FBX, there are little difference - yet you want to set up this as your real base character.
Also you want to rename the skeleton to '''MH_Skeleton'''! And you want to open the skeleton, and retarget it to the humanoid rig... this should look like this:
[[File:MH-Base-Skeleton-Retarget.png]]
Make sure that your character is in T-Pose, as you want to retarget the Mannequin animations to your characters MH_Skeleton!
Make a animation folder in your MH, perhaps even Mannequin folder?
You go to the UE4 folder: Content/Mannequin/Animations and right-click on this animation: '''ThirdPerson_AnimBP'''
Select retarget and choose MH_Skeleton as your target - also select the animation folder you made before, something like this:
[[File:MH-Base-Animation-Retarget.png]]
You may want to rename your new ThirdPerson_AnimBP to '''''MH''_ThirdPerson_AnimBP''' - or perhaps simply MH_AnimBP?
===Translation Retargeting===
After the retargeting the animations will still look odd. You go to the skeleton tree, then check off the "Show Retargeting Options" and set those at and below the spline to Skeleton (recursively) - that looks something like this:
[[File:MH-Anim-Skeleton.png]]
=More shape keys, made in Blender 2.8=
I have not yet made any target in MH, also I have not had much luck in using the two blender addons. Frankly I don't really understand what the different buttons does, most of them are not active... perhaps they make sens if you use Blender a lot?
But I will show you different ways to get expressions, targets and skeleton animations(!) to shape keys, so then will be new morph targets in UE4!
Before you get started you should probably look at a few Blender tutorials regarding this - these are good:
===Tutorials===
General introduction to MHX2 import and animation. However '''do not''' import the resulting characters into UE4?
{{#ev:youtube|2P1t_nogbGs}}
Short general introduction to using shape keys in Blender 2.8:
{{#ev:youtube|e675Ulc7QL4}}
==Expressions and targets==
Make sure that you have your original base character saved and load it into Makehuman. Remember to check that your base character is in the T-Pose, do not change that!
'''Just in case:''' I recommend that you keep a copy of this file as well as all the blender file etc.
You should also have Blender open and load the .blender file where you saved both your FBX and the MHX2.
Before you go on do as follows: move the MHX2 character to x 10m, so the entire character moves to the left (right to your front view) - this will make it more easy for you to work with! (Save the blender file!)
'''This is the general workflow for transfer of expressions:'''
Makehuman:
* Go to the Pose/Animate tab and select Expressions. From the list select the first expression, Anger01.
* Save the character as .mhx2 - but to a different file name: averagedude-base-expression.mhx2.
Blender:
* In blender, deselect all the collections
* Import the file you made, using the same operator presets as yo saved them.
* Activate your Base character collection and you will have two characters side by side - one base character and a very angry one!
* Go to object mode
* '''Left-click-select''' the angry guy first, then '''shift-left-click''' your base character.
* Go to the vertex tab/shape key, and click on the little down arrow, and select the ''Join as shapes'' - like this:
[[File:MH-Blender-shapekey1.png]]
This will make a brand new shape key: Averagedude_base_expression:Proxy
* You rename the shape key by a double-click and call it '''Exp_Anger01'''..
* ... and assign the Vertex group to head
[[File:MH-Blender-shapekey2.png]]
In case you can not select ''Join as shapes'' the two characters were not selected in the right order, or perhaps the topology is not the same. Blender will show this as a message some where at the bottom of the screen. I this happens try the blender workflow, in this paragraph only , again!
You can now try to change the value for the shape key, and you should see that your base character can get angry!
When this worked for you you can save the blender file! And you should now do your very first re-import of the FBX. You save your base character in a FBX and Import it to UE4. To be 100% safe you can save and import to different names and folders, but in the end you will re-import the base character each time you do one or more new shape keys.
When you see this working in UE4, you can go on to the next expressions - I simply delete the Averagedude_base_expression collection and save the next expression in the same file. You can naturally do as many expressions as you want. leave some out etc... as you like!
==Observations about Blender 2.8==
You may notice that you can mess this up, so please save your blender file and back up! Say you can easily merge your base character with the expression MHX2 or do something else to corrupt your work!
Please also note that the Vertex Group/relative to, '''head''' and '''Basis''', are rather important! The shape key will change the entire body, to the T-Pose, if head is not set. Likewise you can make some shape keys relative to an other shape key - this will be important a bit later, when we do more "advanced" stuff!
=Blender 2.8 - a bit more advanced?=
This is very fine - we can make your base character use all the expressions, and they can be combined! Also you can tamper with them in UE4, say you can combine them and you can even set minus values, or extreme values not "allowed" in Blender. But you obviously want more than that?
Perhaps you can find some special "targets" you want to use?
64287a869f66f4b6511ac8099612eb21a411e491
2044
2043
2021-03-13T11:47:06Z
Assetdk
89
wikitext
text/x-wiki
Please take a look at this page: [[Documentation:MH4UE|MH4UE]] - to get an overview of things you can use to get your Makehuman characters into Unreal Engine!
Also look at the Forum here for more tips [http://www.makehumancommunity.org/forum/viewtopic.php?f=14&t=18462&p=52859&hilit=MH4UE#p52859 MH4UE].
*
=What can and can't be done?=
I have been working on getting different characters into UE4 for some time, and this have been a real hassle!
On this page I want to summarize what I managed to get done using a workflow that involves Blender. I have had a focus on not going into much details regarding any of the tools, but you will need to know a few things. Even though this looks like a trivial task there are some pitfalls and also there are some things that can not be done, or I have just not found out how to. I will eventually also add links to all the YT tutorials I found helpful.
I found that working with Makehuman very easy, so focus will be very UE4 how to specific.
This is what I will cover thus far:
* Create and save any MH character in Makehuman. Basic stuff, and important things to avoid.
* Getting the character into Blender - import or link?
* Setup Blender for Export, shape keys and morph targets
* First import into UE4
* Introduction to more shape keys
* Mixamo animations
This is the stuff that I did not cover - yet:
* Animations for talking (other tutorials may help)
* Making custom cloth
* Hair
This is the stuff I can not get to work:
* Retargeting to Advanced Locomotion System V3/4
* ALS got something to work! [[Documentation:Saving models for Unreal Engine and how to import them there/ALS]]
* [[Documentation:Unreal Engine ALS V4]]
Since I am using/learning Blender 2.8, I want to share a bit of bonus info. I managed to make one of the free UE4 packages work a bit "better". That is your characters should have some transportation. This is how:
* [[Documentation:Unreal Engine Vehicle Variety Pack]]
=Getting started=
I wanted a quick way to populate a UE4 game, preferably with an unlimited number of varied characters of high quality. This has proven to be a bit harder than expected. The workflow for making characters is not as trivial as one would want but this guide should make it a bit more easy to do. I will focus on describing the "straight" path from Makehuman and into UE4 - so you will not find too much details about Blender. Please refer to Blender specific pages for more on that.
==Need to know==
There are a few terms that you need to know, say you need to know that you will import FBX, textures and other files into UE4. Also you will need to know that a Character consists of a '''Mesh''', a '''Skeleton''' and '''''materials''''' (that refers to textures). I will try to elaborate on these subjects as we go along...
==Making a base-character==
'''IMPORTANT new comment:'''
I have been working with these base-characters on and off for some time now, and I realized that:
'''You should not change the pose before creating the base character.'''
The reason for this is that the T-Pose will not be kept/maintained throughout using makehuman, specifically when you use the utility/
expression mixer. And that will, in time, mess up the option to set expressions as shape keys in Blender.
Blender will, when you set the shape key set the entire body as a "shape", say your base character is in T-Pose then the A-pose will be set
as part of the shape key.
Makehuman provides a range of predefined characters that is supposed to work as-is. You can just load a character, export it to FBX and import that into UE4 - and after a bit of work you can have a working player character! There are however a few pitfalls, so I suggest you make one (or more) base-character(s) that you can elaborate on as you go along. I will be working with ''''''averagedude'''''' as my base-character.
These are the steps to make the base characters:
* Open Makehuman
* Select the files tab and load the character
'''Under 'Geometries''''
* Remove cloth - (uncheck Hide faces under cloth)!
* Remove hair
* Add Teeth
* Choose Topology - '''I have no advice on this - but see comment below!'''
* Chose Eyebrows/Eyelashes, these can be changed as you go along - as can eye colors!
* Add Tongue01 (again I have no advice/recommendation on that, yet)
'''Under 'Materials'''' - I will show you how to work with UE4 "advanced" materials:
* Chose any skin that you like,
* Chose any eyes that you like
'''Under 'Pose/Animate''''
* Chose Skeleton: Uengine - if you do not have this already you my get it via the community tab?
* Chose Expressions: none
* DO NOT Chose Pose: T-pose (the last one on the list) - see note above
And this is it! But there is one 'important' option you need know about - you need to '''uncheck''' the Smooth button!
The smooth button/option: [[File:MH-Smooth-option.png]] should be unchecked... that will make your character a bit less attractive, but this will preserve the shape-keys!
Makehuman comes with some 50-60 '''shape-keys''' and these will all be available as '''morph-targets''' in UE4. I will show you how to make more shape-keys, using makehuman+blender!
Now it is time to save your base-character - even though you have made very few changes to the file you should save this file under the save tab and name it
<your-name>-base (say averagedude-base), you can even add your very own tag 'base' to this.
When you save the file like this you will be able to reload it, and we need that later!
====Choose Topology/Shape keys====
When you make your base character without smoothing you get shape keys, and you want to share these between different characters. Specifically you would probably want to share face morphs between male and female characters - and there may be other base character variations, say old/young/child etc.
Later I will focus on how to make new shape keys, using blender - depending on how you want to do this you may want to '''chose Topology that is compatible between the different characters!''' That is you may be able to transfer one "shape" from a male character to a female character, but the result will depend on ''topology compatibility''. I will/may thus update this section to make sure
'''Shape key names''' will be the same for all of the base characters, as they come from - however you will be able to make new keys. You must name these keys the same for all MH characters, like these share the same skeleton (MH_Skelton) they must hold all the same shape keys names. If they don't your game may "break"....
===Export your base-character===
You can now take a break - or you can export your work. There are really tree options for you to look at:
* Save the FBX file directly
* Save a MHX2 file (you may need to install this as a option/utility, find our elsewhere!)
* Load the character to '''Blender''' directly via the link (I will get back to what can be done using that!)
I suggest that you save your base-character now, in both formats - FBX and MHX2! Make a specific 'Base-Characters' folder, because you will need it!
When you export the FBX use these options:
[[File:MH-FBX-export-options.png]]
This is the result for me, you should see something like this also:
[[File:MH-Base-Character-Folder.png]]
You should also see that there is a sub-folder, called Textures - this is where the different textures are saved and it should now look like this:
[[File:MH-Base-Character-Folder-textures.png]]
You can now go over all of the different textures, so you will have a wide selection to chose from. Textures are saved every time you save a FBX file!
Say, I change the base-characters textures, saved the FBX - and this is what I got:
[[File:MH-Base-Character-Folder-textures2.png]]
===Import your base-character to UE4 - FBX===
The FBX file will actually import directly to UE4, but there are a few problems! You should export your FBX file as Binary FBX, and you will get the most out of it. After this you can get to this result (after adjusting the materials, as seen below):
[[File:MH-MH-FBX-imported.png]]
Your character can look like this (after adjusting materials) - pretty good:
[[File:MH-MH-FBX-imported-materials.png]]
'''HOWEVER, you have lost the morph-targets! And as you probably noticed, the UE4 standard FBX import do import them!'''
I will get back to what to do about the shape-keys... but let make the materials first?
==Makehuman UE4 materials==
When you import the FBX made you exported from Makehuman, both textures and materials are made. You will also notice that UE4 will try to match the materials correctly to the material slots, as seen above in the 'Asset Details' of, in my case, averagedude-base (do not worry about the physics and the skeleton yet!).
To get you started, we need to take a look at the Eye, Eyelashes and Eyebrow materials...
===Eye and teeth materials===
First you can rename the '''high-poly''' material '''high-poly-''blue-eye''''' - or to whatever color you chose! You will probably make more eye materials.
Next you can double-click the material, to open the material-editor and change it to look something like this:
[[File:Ue4-26-eye-material.JPG]]
Your teeth material should look like this:
[[File:Ue4-26-teeth-material.jpg]]
Other parts of the materials my need to be setup like this also. Please add more suggestions, and feel free to edit this page!
===Eyelashes and Eyebrow materials===
Likewise you can set up the eyelashes, and the eyebrows are the same only you do not need ''two sided'' for the bows:
[[File:MH-UE4-Eyelashes-material.png]]
!?You may want to play with the shading model.
===Skin materials===
I wanted to have a very diverse skin material, that can be used for making a wide range of NPC characters. After experimenting a lot, I found that you can setup parameters and still keep the skin material quite simple. I ended up with a master material, that can be used as an instance... from where I can manipulate ink color and age!
Please note! These are not working all that good! There are some obvious errors. The skin appears to mismatch especially on the back and on the back of the head. I you know how to correct this please make comments or post the correct solution.
In case you need your characters to be better than this you should not use the lerp functions as seen in this example?
[[File:MH UE4 MaterialInstance 1.png]]
====Old/young and age!====
The "master material" looks like this in details - in the first part you can combine young/old+light/dark skin with age.. the textures are all from make human.
[[File:MH_UE4_MaterialMaster_1.png]]
====Old/young and age!====
In the 2nd part you have all the other material parameters. I made the various textures for this using at normal map generator.
[[File:MH_UE4_MaterialMaster_2.png]]
====Customization====
The skin can now be modified using a simple interface in the game. The prototype for this can be seen here: [[Documentation:Unreal_MHC|Unreal MakeCustomization]].
===More materials?===
You can simply drag and drop more textures from the the base-character/textures folder, then duplicate and rename the materials, and apply different textures to the renamed materials. At some point I want to be able to customize/randomize (NPC) characters, but I have not yet done that.
Also you can make materials instances with parameters... I will show you howto, but first we need to turn shape-keys into morph-targets.
=Use Blender v 2.80 to get more!!=
For some reason the exported FBX file is not organized in a way so you will get the shape-keys imported directly to UE4. However when you follow the next steps, you will not get the correct materials imported, so I recommend that you run FBX import as shown above, and save the textures/materials in a separate folder.
If you are new to Blender please run a few tutorials specifically on on how to import/export, and also get to know about collections - you can do a lot in Blender and you can get confused!
==What will be done here?==
I will show you how to:
* Import your MHX2 files, to preserve the shape-keys
* Export FBX files, so UE4 will import correctly with morph-targets
* Apply expressions etc. to your base character
* Import these to your Blender file and apply the expressions as '''new shape keys'''
==But, first import and inspect FBX and MHX2!==
As you may remember you exported two files, the FBX file and the MHX2 file. You want to import both of these files into Blender, so you need two Collections, called FBX and MHX2. You right-click on the 'Scene collection' select 'New' and rename the collections to 'FBX' and 'MHX2'... I also added Scene collection and dragged the Camera and Light there (as I deleted the box). After this you should see something link this (the small Icons may be different):
[[File:MH-Base-Blender-setup.png]]
When you import your FBX file select/highlight the FBX collection, so the FBX data get imported into that collection. You can use the standard import options. For MHX2 you need to change the setting to match those you see below - when you find they are correct you can click the + sign, marked with a yellow arrow, and save the setting with your own setting-name.
(You may notice that the character you imported is out of proportions, some 17-18 meters high, we will correct that when we export to UE4!)
[[File:MH-Blender-FBX-import-options.png]]
===Inspect the results, in Blender===
Now is a good time to save the Blender file. You should save this in the same folder as the FBX and MHX2. I call this file averagedude-base.blend.
If you did this approximately as described the result should be munch like below. And you will probably notice that there is some structural differences. You can see that by looking at the small icons [[File:MH-Blender-base-imported-icons.png]], that represent where modifiers, vertex groups and Object data is stored! Specifically the Object data holds the shape-keys and those were not imported. (perhaps because I did not use the correct FBX import options - but the same happens in UE4!).
[[File:MH-Blender-base-imported.png]]
You will notice that the MHX2 version of your character holds the Object data (the triangle) and that shape-keys can be seen there!
==Export the FBX for your base character, and import to UE4==
The next step is crucial for getting things to work in UE4, it is not very complicated but you need to have a plan.
When you did this correctly you should be able to get the following results:
* Import your base character into UE4
* Create retargeting for your common skeleton - called MH_Skeleton
* Retarget the Maniqin animations to your base character(s)
* Get additional Mixamo animations
===FBX export settings===
'''Important!''' Before you go any further you should rename your base character to '''main_root''', like this:
[[File:MH-Base-FBX-main-root.png]]
.... you should do this for all base characters! main_root will be the root bone in your skeleton. When you do it like this, all of your base characters will be able to share the same skeleton!
Now select the MHX2 collection where you have the character, and go to Export FBX.
I have made a 'Operator preset' for the FBX export, this is the options you need to set:
[[File:MH-Base-FBX-operator-presets.png]]
Place the FBX file in the same folder as where you placed the original FBX and the MHX2. You probably do not need the FBX that you made with Makehuman, and you can always make it again?
(You may however want to export more FBX files from Makehuman, simply to get all of the textures. We will look more into how you can use the skin textures!)
==UE4 import, and retarget ==
Go to your UE4 project and make a MH folder containing a new avaragedude folder, and import your base character there!
During the import of the FBX file from Blender into UE4 you must enable the '''Import Morp Targets''' checkbox manually (expand the Mesh section)!
Observe that this character looks very much like the one you did already import from the original FBX, there are little difference - yet you want to set up this as your real base character.
Also you want to rename the skeleton to '''MH_Skeleton'''! And you want to open the skeleton, and retarget it to the humanoid rig... this should look like this:
[[File:MH-Base-Skeleton-Retarget.png]]
Make sure that your character is in T-Pose, as you want to retarget the Mannequin animations to your characters MH_Skeleton!
Make a animation folder in your MH, perhaps even Mannequin folder?
You go to the UE4 folder: Content/Mannequin/Animations and right-click on this animation: '''ThirdPerson_AnimBP'''
Select retarget and choose MH_Skeleton as your target - also select the animation folder you made before, something like this:
[[File:MH-Base-Animation-Retarget.png]]
You may want to rename your new ThirdPerson_AnimBP to '''''MH''_ThirdPerson_AnimBP''' - or perhaps simply MH_AnimBP?
===Translation Retargeting===
After the retargeting the animations will still look odd. You go to the skeleton tree, then check off the "Show Retargeting Options" and set those at and below the spline to Skeleton (recursively) - that looks something like this:
[[File:MH-Anim-Skeleton.png]]
=More shape keys, made in Blender 2.8=
I have not yet made any target in MH, also I have not had much luck in using the two blender addons. Frankly I don't really understand what the different buttons does, most of them are not active... perhaps they make sens if you use Blender a lot?
But I will show you different ways to get expressions, targets and skeleton animations(!) to shape keys, so then will be new morph targets in UE4!
Before you get started you should probably look at a few Blender tutorials regarding this - these are good:
===Tutorials===
General introduction to MHX2 import and animation. However '''do not''' import the resulting characters into UE4?
{{#ev:youtube|2P1t_nogbGs}}
Short general introduction to using shape keys in Blender 2.8:
{{#ev:youtube|e675Ulc7QL4}}
==Expressions and targets==
Make sure that you have your original base character saved and load it into Makehuman. Remember to check that your base character is in the T-Pose, do not change that!
'''Just in case:''' I recommend that you keep a copy of this file as well as all the blender file etc.
You should also have Blender open and load the .blender file where you saved both your FBX and the MHX2.
Before you go on do as follows: move the MHX2 character to x 10m, so the entire character moves to the left (right to your front view) - this will make it more easy for you to work with! (Save the blender file!)
'''This is the general workflow for transfer of expressions:'''
Makehuman:
* Go to the Pose/Animate tab and select Expressions. From the list select the first expression, Anger01.
* Save the character as .mhx2 - but to a different file name: averagedude-base-expression.mhx2.
Blender:
* In blender, deselect all the collections
* Import the file you made, using the same operator presets as yo saved them.
* Activate your Base character collection and you will have two characters side by side - one base character and a very angry one!
* Go to object mode
* '''Left-click-select''' the angry guy first, then '''shift-left-click''' your base character.
* Go to the vertex tab/shape key, and click on the little down arrow, and select the ''Join as shapes'' - like this:
[[File:MH-Blender-shapekey1.png]]
This will make a brand new shape key: Averagedude_base_expression:Proxy
* You rename the shape key by a double-click and call it '''Exp_Anger01'''..
* ... and assign the Vertex group to head
[[File:MH-Blender-shapekey2.png]]
In case you can not select ''Join as shapes'' the two characters were not selected in the right order, or perhaps the topology is not the same. Blender will show this as a message some where at the bottom of the screen. I this happens try the blender workflow, in this paragraph only , again!
You can now try to change the value for the shape key, and you should see that your base character can get angry!
When this worked for you you can save the blender file! And you should now do your very first re-import of the FBX. You save your base character in a FBX and Import it to UE4. To be 100% safe you can save and import to different names and folders, but in the end you will re-import the base character each time you do one or more new shape keys.
When you see this working in UE4, you can go on to the next expressions - I simply delete the Averagedude_base_expression collection and save the next expression in the same file. You can naturally do as many expressions as you want. leave some out etc... as you like!
==Observations about Blender 2.8==
You may notice that you can mess this up, so please save your blender file and back up! Say you can easily merge your base character with the expression MHX2 or do something else to corrupt your work!
Please also note that the Vertex Group/relative to, '''head''' and '''Basis''', are rather important! The shape key will change the entire body, to the T-Pose, if head is not set. Likewise you can make some shape keys relative to an other shape key - this will be important a bit later, when we do more "advanced" stuff!
=Blender 2.8 - a bit more advanced?=
This is very fine - we can make your base character use all the expressions, and they can be combined! Also you can tamper with them in UE4, say you can combine them and you can even set minus values, or extreme values not "allowed" in Blender. But you obviously want more than that?
Perhaps you can find some special "targets" you want to use?
8eeecf844276982608a8cb3bccebcd641638a1af
2043
2040
2021-03-13T11:29:51Z
Assetdk
89
/* Making a base-character */
wikitext
text/x-wiki
Please take a look at this page: [[Documentation:MH4UE|MH4UE]] - to get an overview of things you can use to get your Makehuman characters into Unreal Engine!
*
=What can and can't be done?=
I have been working on getting different characters into UE4 for some time, and this have been a real hassle!
On this page I want to summarize what I managed to get done using a workflow that involves Blender. I have had a focus on not going into much details regarding any of the tools, but you will need to know a few things. Even though this looks like a trivial task there are some pitfalls and also there are some things that can not be done, or I have just not found out how to. I will eventually also add links to all the YT tutorials I found helpful.
I found that working with Makehuman very easy, so focus will be very UE4 how to specific.
This is what I will cover thus far:
* Create and save any MH character in Makehuman. Basic stuff, and important things to avoid.
* Getting the character into Blender - import or link?
* Setup Blender for Export, shape keys and morph targets
* First import into UE4
* Introduction to more shape keys
* Mixamo animations
This is the stuff that I did not cover - yet:
* Animations for talking (other tutorials may help)
* Making custom cloth
* Hair
This is the stuff I can not get to work:
* Retargeting to Advanced Locomotion System V3/4
* ALS got something to work! [[Documentation:Saving models for Unreal Engine and how to import them there/ALS]]
* [[Documentation:Unreal Engine ALS V4]]
Since I am using/learning Blender 2.8, I want to share a bit of bonus info. I managed to make one of the free UE4 packages work a bit "better". That is your characters should have some transportation. This is how:
* [[Documentation:Unreal Engine Vehicle Variety Pack]]
=Getting started=
I wanted a quick way to populate a UE4 game, preferably with an unlimited number of varied characters of high quality. This has proven to be a bit harder than expected. The workflow for making characters is not as trivial as one would want but this guide should make it a bit more easy to do. I will focus on describing the "straight" path from Makehuman and into UE4 - so you will not find too much details about Blender. Please refer to Blender specific pages for more on that.
==Need to know==
There are a few terms that you need to know, say you need to know that you will import FBX, textures and other files into UE4. Also you will need to know that a Character consists of a '''Mesh''', a '''Skeleton''' and '''''materials''''' (that refers to textures). I will try to elaborate on these subjects as we go along...
==Making a base-character==
'''IMPORTANT new comment:'''
I have been working with these base-characters on and off for some time now, and I realized that:
'''You should not change the pose before creating the base character.'''
The reason for this is that the T-Pose will not be kept/maintained throughout using makehuman, specifically when you use the utility/
expression mixer. And that will, in time, mess up the option to set expressions as shape keys in Blender.
Blender will, when you set the shape key set the entire body as a "shape", say your base character is in T-Pose then the A-pose will be set
as part of the shape key.
Makehuman provides a range of predefined characters that is supposed to work as-is. You can just load a character, export it to FBX and import that into UE4 - and after a bit of work you can have a working player character! There are however a few pitfalls, so I suggest you make one (or more) base-character(s) that you can elaborate on as you go along. I will be working with ''''''averagedude'''''' as my base-character.
These are the steps to make the base characters:
* Open Makehuman
* Select the files tab and load the character
'''Under 'Geometries''''
* Remove cloth - (uncheck Hide faces under cloth)!
* Remove hair
* Add Teeth
* Choose Topology - '''I have no advice on this - but see comment below!'''
* Chose Eyebrows/Eyelashes, these can be changed as you go along - as can eye colors!
* Add Tongue01 (again I have no advice/recommendation on that, yet)
'''Under 'Materials'''' - I will show you how to work with UE4 "advanced" materials:
* Chose any skin that you like,
* Chose any eyes that you like
'''Under 'Pose/Animate''''
* Chose Skeleton: Uengine - if you do not have this already you my get it via the community tab?
* Chose Expressions: none
* DO NOT Chose Pose: T-pose (the last one on the list) - see note above
And this is it! But there is one 'important' option you need know about - you need to '''uncheck''' the Smooth button!
The smooth button/option: [[File:MH-Smooth-option.png]] should be unchecked... that will make your character a bit less attractive, but this will preserve the shape-keys!
Makehuman comes with some 50-60 '''shape-keys''' and these will all be available as '''morph-targets''' in UE4. I will show you how to make more shape-keys, using makehuman+blender!
Now it is time to save your base-character - even though you have made very few changes to the file you should save this file under the save tab and name it
<your-name>-base (say averagedude-base), you can even add your very own tag 'base' to this.
When you save the file like this you will be able to reload it, and we need that later!
====Choose Topology/Shape keys====
When you make your base character without smoothing you get shape keys, and you want to share these between different characters. Specifically you would probably want to share face morphs between male and female characters - and there may be other base character variations, say old/young/child etc.
Later I will focus on how to make new shape keys, using blender - depending on how you want to do this you may want to '''chose Topology that is compatible between the different characters!''' That is you may be able to transfer one "shape" from a male character to a female character, but the result will depend on ''topology compatibility''. I will/may thus update this section to make sure
'''Shape key names''' will be the same for all of the base characters, as they come from - however you will be able to make new keys. You must name these keys the same for all MH characters, like these share the same skeleton (MH_Skelton) they must hold all the same shape keys names. If they don't your game may "break"....
===Export your base-character===
You can now take a break - or you can export your work. There are really tree options for you to look at:
* Save the FBX file directly
* Save a MHX2 file (you may need to install this as a option/utility, find our elsewhere!)
* Load the character to '''Blender''' directly via the link (I will get back to what can be done using that!)
I suggest that you save your base-character now, in both formats - FBX and MHX2! Make a specific 'Base-Characters' folder, because you will need it!
When you export the FBX use these options:
[[File:MH-FBX-export-options.png]]
This is the result for me, you should see something like this also:
[[File:MH-Base-Character-Folder.png]]
You should also see that there is a sub-folder, called Textures - this is where the different textures are saved and it should now look like this:
[[File:MH-Base-Character-Folder-textures.png]]
You can now go over all of the different textures, so you will have a wide selection to chose from. Textures are saved every time you save a FBX file!
Say, I change the base-characters textures, saved the FBX - and this is what I got:
[[File:MH-Base-Character-Folder-textures2.png]]
===Import your base-character to UE4 - FBX===
The FBX file will actually import directly to UE4, but there are a few problems! You should export your FBX file as Binary FBX, and you will get the most out of it. After this you can get to this result (after adjusting the materials, as seen below):
[[File:MH-MH-FBX-imported.png]]
Your character can look like this (after adjusting materials) - pretty good:
[[File:MH-MH-FBX-imported-materials.png]]
'''HOWEVER, you have lost the morph-targets! And as you probably noticed, the UE4 standard FBX import do import them!'''
I will get back to what to do about the shape-keys... but let make the materials first?
==Makehuman UE4 materials==
When you import the FBX made you exported from Makehuman, both textures and materials are made. You will also notice that UE4 will try to match the materials correctly to the material slots, as seen above in the 'Asset Details' of, in my case, averagedude-base (do not worry about the physics and the skeleton yet!).
To get you started, we need to take a look at the Eye, Eyelashes and Eyebrow materials...
===Eye and teeth materials===
First you can rename the '''high-poly''' material '''high-poly-''blue-eye''''' - or to whatever color you chose! You will probably make more eye materials.
Next you can double-click the material, to open the material-editor and change it to look something like this:
[[File:Ue4-26-eye-material.JPG]]
Your teeth material should look like this:
[[File:Ue4-26-teeth-material.jpg]]
Other parts of the materials my need to be setup like this also. Please add more suggestions, and feel free to edit this page!
===Eyelashes and Eyebrow materials===
Likewise you can set up the eyelashes, and the eyebrows are the same only you do not need ''two sided'' for the bows:
[[File:MH-UE4-Eyelashes-material.png]]
!?You may want to play with the shading model.
===Skin materials===
I wanted to have a very diverse skin material, that can be used for making a wide range of NPC characters. After experimenting a lot, I found that you can setup parameters and still keep the skin material quite simple. I ended up with a master material, that can be used as an instance... from where I can manipulate ink color and age!
Please note! These are not working all that good! There are some obvious errors. The skin appears to mismatch especially on the back and on the back of the head. I you know how to correct this please make comments or post the correct solution.
In case you need your characters to be better than this you should not use the lerp functions as seen in this example?
[[File:MH UE4 MaterialInstance 1.png]]
====Old/young and age!====
The "master material" looks like this in details - in the first part you can combine young/old+light/dark skin with age.. the textures are all from make human.
[[File:MH_UE4_MaterialMaster_1.png]]
====Old/young and age!====
In the 2nd part you have all the other material parameters. I made the various textures for this using at normal map generator.
[[File:MH_UE4_MaterialMaster_2.png]]
====Customization====
The skin can now be modified using a simple interface in the game. The prototype for this can be seen here: [[Documentation:Unreal_MHC|Unreal MakeCustomization]].
===More materials?===
You can simply drag and drop more textures from the the base-character/textures folder, then duplicate and rename the materials, and apply different textures to the renamed materials. At some point I want to be able to customize/randomize (NPC) characters, but I have not yet done that.
Also you can make materials instances with parameters... I will show you howto, but first we need to turn shape-keys into morph-targets.
=Use Blender v 2.80 to get more!!=
For some reason the exported FBX file is not organized in a way so you will get the shape-keys imported directly to UE4. However when you follow the next steps, you will not get the correct materials imported, so I recommend that you run FBX import as shown above, and save the textures/materials in a separate folder.
If you are new to Blender please run a few tutorials specifically on on how to import/export, and also get to know about collections - you can do a lot in Blender and you can get confused!
==What will be done here?==
I will show you how to:
* Import your MHX2 files, to preserve the shape-keys
* Export FBX files, so UE4 will import correctly with morph-targets
* Apply expressions etc. to your base character
* Import these to your Blender file and apply the expressions as '''new shape keys'''
==But, first import and inspect FBX and MHX2!==
As you may remember you exported two files, the FBX file and the MHX2 file. You want to import both of these files into Blender, so you need two Collections, called FBX and MHX2. You right-click on the 'Scene collection' select 'New' and rename the collections to 'FBX' and 'MHX2'... I also added Scene collection and dragged the Camera and Light there (as I deleted the box). After this you should see something link this (the small Icons may be different):
[[File:MH-Base-Blender-setup.png]]
When you import your FBX file select/highlight the FBX collection, so the FBX data get imported into that collection. You can use the standard import options. For MHX2 you need to change the setting to match those you see below - when you find they are correct you can click the + sign, marked with a yellow arrow, and save the setting with your own setting-name.
(You may notice that the character you imported is out of proportions, some 17-18 meters high, we will correct that when we export to UE4!)
[[File:MH-Blender-FBX-import-options.png]]
===Inspect the results, in Blender===
Now is a good time to save the Blender file. You should save this in the same folder as the FBX and MHX2. I call this file averagedude-base.blend.
If you did this approximately as described the result should be munch like below. And you will probably notice that there is some structural differences. You can see that by looking at the small icons [[File:MH-Blender-base-imported-icons.png]], that represent where modifiers, vertex groups and Object data is stored! Specifically the Object data holds the shape-keys and those were not imported. (perhaps because I did not use the correct FBX import options - but the same happens in UE4!).
[[File:MH-Blender-base-imported.png]]
You will notice that the MHX2 version of your character holds the Object data (the triangle) and that shape-keys can be seen there!
==Export the FBX for your base character, and import to UE4==
The next step is crucial for getting things to work in UE4, it is not very complicated but you need to have a plan.
When you did this correctly you should be able to get the following results:
* Import your base character into UE4
* Create retargeting for your common skeleton - called MH_Skeleton
* Retarget the Maniqin animations to your base character(s)
* Get additional Mixamo animations
===FBX export settings===
'''Important!''' Before you go any further you should rename your base character to '''main_root''', like this:
[[File:MH-Base-FBX-main-root.png]]
.... you should do this for all base characters! main_root will be the root bone in your skeleton. When you do it like this, all of your base characters will be able to share the same skeleton!
Now select the MHX2 collection where you have the character, and go to Export FBX.
I have made a 'Operator preset' for the FBX export, this is the options you need to set:
[[File:MH-Base-FBX-operator-presets.png]]
Place the FBX file in the same folder as where you placed the original FBX and the MHX2. You probably do not need the FBX that you made with Makehuman, and you can always make it again?
(You may however want to export more FBX files from Makehuman, simply to get all of the textures. We will look more into how you can use the skin textures!)
==UE4 import, and retarget ==
Go to your UE4 project and make a MH folder containing a new avaragedude folder, and import your base character there!
During the import of the FBX file from Blender into UE4 you must enable the '''Import Morp Targets''' checkbox manually (expand the Mesh section)!
Observe that this character looks very much like the one you did already import from the original FBX, there are little difference - yet you want to set up this as your real base character.
Also you want to rename the skeleton to '''MH_Skeleton'''! And you want to open the skeleton, and retarget it to the humanoid rig... this should look like this:
[[File:MH-Base-Skeleton-Retarget.png]]
Make sure that your character is in T-Pose, as you want to retarget the Mannequin animations to your characters MH_Skeleton!
Make a animation folder in your MH, perhaps even Mannequin folder?
You go to the UE4 folder: Content/Mannequin/Animations and right-click on this animation: '''ThirdPerson_AnimBP'''
Select retarget and choose MH_Skeleton as your target - also select the animation folder you made before, something like this:
[[File:MH-Base-Animation-Retarget.png]]
You may want to rename your new ThirdPerson_AnimBP to '''''MH''_ThirdPerson_AnimBP''' - or perhaps simply MH_AnimBP?
===Translation Retargeting===
After the retargeting the animations will still look odd. You go to the skeleton tree, then check off the "Show Retargeting Options" and set those at and below the spline to Skeleton (recursively) - that looks something like this:
[[File:MH-Anim-Skeleton.png]]
=More shape keys, made in Blender 2.8=
I have not yet made any target in MH, also I have not had much luck in using the two blender addons. Frankly I don't really understand what the different buttons does, most of them are not active... perhaps they make sens if you use Blender a lot?
But I will show you different ways to get expressions, targets and skeleton animations(!) to shape keys, so then will be new morph targets in UE4!
Before you get started you should probably look at a few Blender tutorials regarding this - these are good:
===Tutorials===
General introduction to MHX2 import and animation. However '''do not''' import the resulting characters into UE4?
{{#ev:youtube|2P1t_nogbGs}}
Short general introduction to using shape keys in Blender 2.8:
{{#ev:youtube|e675Ulc7QL4}}
==Expressions and targets==
Make sure that you have your original base character saved and load it into Makehuman. Remember to check that your base character is in the T-Pose, do not change that!
'''Just in case:''' I recommend that you keep a copy of this file as well as all the blender file etc.
You should also have Blender open and load the .blender file where you saved both your FBX and the MHX2.
Before you go on do as follows: move the MHX2 character to x 10m, so the entire character moves to the left (right to your front view) - this will make it more easy for you to work with! (Save the blender file!)
'''This is the general workflow for transfer of expressions:'''
Makehuman:
* Go to the Pose/Animate tab and select Expressions. From the list select the first expression, Anger01.
* Save the character as .mhx2 - but to a different file name: averagedude-base-expression.mhx2.
Blender:
* In blender, deselect all the collections
* Import the file you made, using the same operator presets as yo saved them.
* Activate your Base character collection and you will have two characters side by side - one base character and a very angry one!
* Go to object mode
* '''Left-click-select''' the angry guy first, then '''shift-left-click''' your base character.
* Go to the vertex tab/shape key, and click on the little down arrow, and select the ''Join as shapes'' - like this:
[[File:MH-Blender-shapekey1.png]]
This will make a brand new shape key: Averagedude_base_expression:Proxy
* You rename the shape key by a double-click and call it '''Exp_Anger01'''..
* ... and assign the Vertex group to head
[[File:MH-Blender-shapekey2.png]]
In case you can not select ''Join as shapes'' the two characters were not selected in the right order, or perhaps the topology is not the same. Blender will show this as a message some where at the bottom of the screen. I this happens try the blender workflow, in this paragraph only , again!
You can now try to change the value for the shape key, and you should see that your base character can get angry!
When this worked for you you can save the blender file! And you should now do your very first re-import of the FBX. You save your base character in a FBX and Import it to UE4. To be 100% safe you can save and import to different names and folders, but in the end you will re-import the base character each time you do one or more new shape keys.
When you see this working in UE4, you can go on to the next expressions - I simply delete the Averagedude_base_expression collection and save the next expression in the same file. You can naturally do as many expressions as you want. leave some out etc... as you like!
==Observations about Blender 2.8==
You may notice that you can mess this up, so please save your blender file and back up! Say you can easily merge your base character with the expression MHX2 or do something else to corrupt your work!
Please also note that the Vertex Group/relative to, '''head''' and '''Basis''', are rather important! The shape key will change the entire body, to the T-Pose, if head is not set. Likewise you can make some shape keys relative to an other shape key - this will be important a bit later, when we do more "advanced" stuff!
=Blender 2.8 - a bit more advanced?=
This is very fine - we can make your base character use all the expressions, and they can be combined! Also you can tamper with them in UE4, say you can combine them and you can even set minus values, or extreme values not "allowed" in Blender. But you obviously want more than that?
Perhaps you can find some special "targets" you want to use?
1e1ecf41c185b2deab3f2b0b93071849ae8cda04
2040
2037
2021-02-21T10:29:59Z
Assetdk
89
/* Customization */
wikitext
text/x-wiki
Please take a look at this page: [[Documentation:MH4UE|MH4UE]] - to get an overview of things you can use to get your Makehuman characters into Unreal Engine!
*
=What can and can't be done?=
I have been working on getting different characters into UE4 for some time, and this have been a real hassle!
On this page I want to summarize what I managed to get done using a workflow that involves Blender. I have had a focus on not going into much details regarding any of the tools, but you will need to know a few things. Even though this looks like a trivial task there are some pitfalls and also there are some things that can not be done, or I have just not found out how to. I will eventually also add links to all the YT tutorials I found helpful.
I found that working with Makehuman very easy, so focus will be very UE4 how to specific.
This is what I will cover thus far:
* Create and save any MH character in Makehuman. Basic stuff, and important things to avoid.
* Getting the character into Blender - import or link?
* Setup Blender for Export, shape keys and morph targets
* First import into UE4
* Introduction to more shape keys
* Mixamo animations
This is the stuff that I did not cover - yet:
* Animations for talking (other tutorials may help)
* Making custom cloth
* Hair
This is the stuff I can not get to work:
* Retargeting to Advanced Locomotion System V3/4
* ALS got something to work! [[Documentation:Saving models for Unreal Engine and how to import them there/ALS]]
* [[Documentation:Unreal Engine ALS V4]]
Since I am using/learning Blender 2.8, I want to share a bit of bonus info. I managed to make one of the free UE4 packages work a bit "better". That is your characters should have some transportation. This is how:
* [[Documentation:Unreal Engine Vehicle Variety Pack]]
=Getting started=
I wanted a quick way to populate a UE4 game, preferably with an unlimited number of varied characters of high quality. This has proven to be a bit harder than expected. The workflow for making characters is not as trivial as one would want but this guide should make it a bit more easy to do. I will focus on describing the "straight" path from Makehuman and into UE4 - so you will not find too much details about Blender. Please refer to Blender specific pages for more on that.
==Need to know==
There are a few terms that you need to know, say you need to know that you will import FBX, textures and other files into UE4. Also you will need to know that a Character consists of a '''Mesh''', a '''Skeleton''' and '''''materials''''' (that refers to textures). I will try to elaborate on these subjects as we go along...
==Making a base-character==
'''IMPORTANT new comment:'''
I have been working with these base-characters on and off for some time now, and I realized that:
'''You should not change the pose before creating the base character.'''
The reason for this is that the T-Pose will not be kept/maintained throughout using makehuman, specifically when you use the utility/
expression mixer. And that will, in time, mess up the option to set expressions as shape keys in Blender.
Blender will, when you set the shape key set the entire body as a "shape", say your base character is in T-Pose then the A-pose will be set
as part of the shape key.
Makehuman provides a range of predefined characters that is supposed to work as-is. You can just load a character, export it to FBX and import that into UE4 - and after a bit of work you can have a working player character! There are however a few pitfalls, so I suggest you make one (or more) base-character(s) that you can elaborate on as you go along. I will be working with ''''''averagedude'''''' as my base-character.
These are the steps to make the base characters:
* Open Makehuman
* Select the files tab and load the character
'''Under 'Geometries''''
* Remove cloth - (uncheck Hide faces under cloth)!
* Remove hair
* Add Teeth
* Choose Topology - '''I have no advice on this - but see comment below!'''
* Chose Eyebrows/Eyelashes, these can be changed as you go along - as can eye colors!
* Add Tongue01 (again I have no advice/recommendation on that, yet)
'''Under 'Materials'''' - I will show you how to work with UE4 "advanced" materials:
* Chose any skin that you like,
* Chose any eyes that you like
'''Under 'Pose/Animate''''
* Chose Skeleton: Uengine - if you do not have this already you my get it via the community tab?
* Chose Pose: Tpose (the last one on the list)
* Chose Expressions: none
And this is it! But there is one 'important' option you need know about - you need to '''uncheck''' the Smooth button!
The smooth button/option: [[File:MH-Smooth-option.png]] should be unchecked... that will make your character a bit less attractive, but this will preserve the shape-keys!
Makehuman comes with some 50-60 '''shape-keys''' and these will all be available as '''morph-targets''' in UE4. I will show you how to make more shape-keys, using makehuman+blender!
Now it is time to save your base-character - even though you have made very few changes to the file you should save this file under the save tab and name it
<your-name>-base (say averagedude-base), you can even add your very own tag 'base' to this.
When you save the file like this you will be able to reload it, and we need that later!
====Choose Topology/Shape keys====
When you make your base character without smoothing you get shape keys, and you want to share these between different characters. Specifically you would probably want to share face morphs between male and female characters - and there may be other base character variations, say old/young/child etc.
Later I will focus on how to make new shape keys, using blender - depending on how you want to do this you may want to '''chose Topology that is compatible between the different characters!''' That is you may be able to transfer one "shape" from a male character to a female character, but the result will depend on ''topology compatibility''. I will/may thus update this section to make sure
'''Shape key names''' will be the same for all of the base characters, as they come from - however you will be able to make new keys. You must name these keys the same for all MH characters, like these share the same skeleton (MH_Skelton) they must hold all the same shape keys names. If they don't your game may "break"....
===Export your base-character===
You can now take a break - or you can export your work. There are really tree options for you to look at:
* Save the FBX file directly
* Save a MHX2 file (you may need to install this as a option/utility, find our elsewhere!)
* Load the character to '''Blender''' directly via the link (I will get back to what can be done using that!)
I suggest that you save your base-character now, in both formats - FBX and MHX2! Make a specific 'Base-Characters' folder, because you will need it!
When you export the FBX use these options:
[[File:MH-FBX-export-options.png]]
This is the result for me, you should see something like this also:
[[File:MH-Base-Character-Folder.png]]
You should also see that there is a sub-folder, called Textures - this is where the different textures are saved and it should now look like this:
[[File:MH-Base-Character-Folder-textures.png]]
You can now go over all of the different textures, so you will have a wide selection to chose from. Textures are saved every time you save a FBX file!
Say, I change the base-characters textures, saved the FBX - and this is what I got:
[[File:MH-Base-Character-Folder-textures2.png]]
===Import your base-character to UE4 - FBX===
The FBX file will actually import directly to UE4, but there are a few problems! You should export your FBX file as Binary FBX, and you will get the most out of it. After this you can get to this result (after adjusting the materials, as seen below):
[[File:MH-MH-FBX-imported.png]]
Your character can look like this (after adjusting materials) - pretty good:
[[File:MH-MH-FBX-imported-materials.png]]
'''HOWEVER, you have lost the morph-targets! And as you probably noticed, the UE4 standard FBX import do import them!'''
I will get back to what to do about the shape-keys... but let make the materials first?
==Makehuman UE4 materials==
When you import the FBX made you exported from Makehuman, both textures and materials are made. You will also notice that UE4 will try to match the materials correctly to the material slots, as seen above in the 'Asset Details' of, in my case, averagedude-base (do not worry about the physics and the skeleton yet!).
To get you started, we need to take a look at the Eye, Eyelashes and Eyebrow materials...
===Eye and teeth materials===
First you can rename the '''high-poly''' material '''high-poly-''blue-eye''''' - or to whatever color you chose! You will probably make more eye materials.
Next you can double-click the material, to open the material-editor and change it to look something like this:
[[File:Ue4-26-eye-material.JPG]]
Your teeth material should look like this:
[[File:Ue4-26-teeth-material.jpg]]
Other parts of the materials my need to be setup like this also. Please add more suggestions, and feel free to edit this page!
===Eyelashes and Eyebrow materials===
Likewise you can set up the eyelashes, and the eyebrows are the same only you do not need ''two sided'' for the bows:
[[File:MH-UE4-Eyelashes-material.png]]
!?You may want to play with the shading model.
===Skin materials===
I wanted to have a very diverse skin material, that can be used for making a wide range of NPC characters. After experimenting a lot, I found that you can setup parameters and still keep the skin material quite simple. I ended up with a master material, that can be used as an instance... from where I can manipulate ink color and age!
Please note! These are not working all that good! There are some obvious errors. The skin appears to mismatch especially on the back and on the back of the head. I you know how to correct this please make comments or post the correct solution.
In case you need your characters to be better than this you should not use the lerp functions as seen in this example?
[[File:MH UE4 MaterialInstance 1.png]]
====Old/young and age!====
The "master material" looks like this in details - in the first part you can combine young/old+light/dark skin with age.. the textures are all from make human.
[[File:MH_UE4_MaterialMaster_1.png]]
====Old/young and age!====
In the 2nd part you have all the other material parameters. I made the various textures for this using at normal map generator.
[[File:MH_UE4_MaterialMaster_2.png]]
====Customization====
The skin can now be modified using a simple interface in the game. The prototype for this can be seen here: [[Documentation:Unreal_MHC|Unreal MakeCustomization]].
===More materials?===
You can simply drag and drop more textures from the the base-character/textures folder, then duplicate and rename the materials, and apply different textures to the renamed materials. At some point I want to be able to customize/randomize (NPC) characters, but I have not yet done that.
Also you can make materials instances with parameters... I will show you howto, but first we need to turn shape-keys into morph-targets.
=Use Blender v 2.80 to get more!!=
For some reason the exported FBX file is not organized in a way so you will get the shape-keys imported directly to UE4. However when you follow the next steps, you will not get the correct materials imported, so I recommend that you run FBX import as shown above, and save the textures/materials in a separate folder.
If you are new to Blender please run a few tutorials specifically on on how to import/export, and also get to know about collections - you can do a lot in Blender and you can get confused!
==What will be done here?==
I will show you how to:
* Import your MHX2 files, to preserve the shape-keys
* Export FBX files, so UE4 will import correctly with morph-targets
* Apply expressions etc. to your base character
* Import these to your Blender file and apply the expressions as '''new shape keys'''
==But, first import and inspect FBX and MHX2!==
As you may remember you exported two files, the FBX file and the MHX2 file. You want to import both of these files into Blender, so you need two Collections, called FBX and MHX2. You right-click on the 'Scene collection' select 'New' and rename the collections to 'FBX' and 'MHX2'... I also added Scene collection and dragged the Camera and Light there (as I deleted the box). After this you should see something link this (the small Icons may be different):
[[File:MH-Base-Blender-setup.png]]
When you import your FBX file select/highlight the FBX collection, so the FBX data get imported into that collection. You can use the standard import options. For MHX2 you need to change the setting to match those you see below - when you find they are correct you can click the + sign, marked with a yellow arrow, and save the setting with your own setting-name.
(You may notice that the character you imported is out of proportions, some 17-18 meters high, we will correct that when we export to UE4!)
[[File:MH-Blender-FBX-import-options.png]]
===Inspect the results, in Blender===
Now is a good time to save the Blender file. You should save this in the same folder as the FBX and MHX2. I call this file averagedude-base.blend.
If you did this approximately as described the result should be munch like below. And you will probably notice that there is some structural differences. You can see that by looking at the small icons [[File:MH-Blender-base-imported-icons.png]], that represent where modifiers, vertex groups and Object data is stored! Specifically the Object data holds the shape-keys and those were not imported. (perhaps because I did not use the correct FBX import options - but the same happens in UE4!).
[[File:MH-Blender-base-imported.png]]
You will notice that the MHX2 version of your character holds the Object data (the triangle) and that shape-keys can be seen there!
==Export the FBX for your base character, and import to UE4==
The next step is crucial for getting things to work in UE4, it is not very complicated but you need to have a plan.
When you did this correctly you should be able to get the following results:
* Import your base character into UE4
* Create retargeting for your common skeleton - called MH_Skeleton
* Retarget the Maniqin animations to your base character(s)
* Get additional Mixamo animations
===FBX export settings===
'''Important!''' Before you go any further you should rename your base character to '''main_root''', like this:
[[File:MH-Base-FBX-main-root.png]]
.... you should do this for all base characters! main_root will be the root bone in your skeleton. When you do it like this, all of your base characters will be able to share the same skeleton!
Now select the MHX2 collection where you have the character, and go to Export FBX.
I have made a 'Operator preset' for the FBX export, this is the options you need to set:
[[File:MH-Base-FBX-operator-presets.png]]
Place the FBX file in the same folder as where you placed the original FBX and the MHX2. You probably do not need the FBX that you made with Makehuman, and you can always make it again?
(You may however want to export more FBX files from Makehuman, simply to get all of the textures. We will look more into how you can use the skin textures!)
==UE4 import, and retarget ==
Go to your UE4 project and make a MH folder containing a new avaragedude folder, and import your base character there!
During the import of the FBX file from Blender into UE4 you must enable the '''Import Morp Targets''' checkbox manually (expand the Mesh section)!
Observe that this character looks very much like the one you did already import from the original FBX, there are little difference - yet you want to set up this as your real base character.
Also you want to rename the skeleton to '''MH_Skeleton'''! And you want to open the skeleton, and retarget it to the humanoid rig... this should look like this:
[[File:MH-Base-Skeleton-Retarget.png]]
Make sure that your character is in T-Pose, as you want to retarget the Mannequin animations to your characters MH_Skeleton!
Make a animation folder in your MH, perhaps even Mannequin folder?
You go to the UE4 folder: Content/Mannequin/Animations and right-click on this animation: '''ThirdPerson_AnimBP'''
Select retarget and choose MH_Skeleton as your target - also select the animation folder you made before, something like this:
[[File:MH-Base-Animation-Retarget.png]]
You may want to rename your new ThirdPerson_AnimBP to '''''MH''_ThirdPerson_AnimBP''' - or perhaps simply MH_AnimBP?
===Translation Retargeting===
After the retargeting the animations will still look odd. You go to the skeleton tree, then check off the "Show Retargeting Options" and set those at and below the spline to Skeleton (recursively) - that looks something like this:
[[File:MH-Anim-Skeleton.png]]
=More shape keys, made in Blender 2.8=
I have not yet made any target in MH, also I have not had much luck in using the two blender addons. Frankly I don't really understand what the different buttons does, most of them are not active... perhaps they make sens if you use Blender a lot?
But I will show you different ways to get expressions, targets and skeleton animations(!) to shape keys, so then will be new morph targets in UE4!
Before you get started you should probably look at a few Blender tutorials regarding this - these are good:
===Tutorials===
General introduction to MHX2 import and animation. However '''do not''' import the resulting characters into UE4?
{{#ev:youtube|2P1t_nogbGs}}
Short general introduction to using shape keys in Blender 2.8:
{{#ev:youtube|e675Ulc7QL4}}
==Expressions and targets==
Make sure that you have your original base character saved and load it into Makehuman. Remember to check that your base character is in the T-Pose, do not change that!
'''Just in case:''' I recommend that you keep a copy of this file as well as all the blender file etc.
You should also have Blender open and load the .blender file where you saved both your FBX and the MHX2.
Before you go on do as follows: move the MHX2 character to x 10m, so the entire character moves to the left (right to your front view) - this will make it more easy for you to work with! (Save the blender file!)
'''This is the general workflow for transfer of expressions:'''
Makehuman:
* Go to the Pose/Animate tab and select Expressions. From the list select the first expression, Anger01.
* Save the character as .mhx2 - but to a different file name: averagedude-base-expression.mhx2.
Blender:
* In blender, deselect all the collections
* Import the file you made, using the same operator presets as yo saved them.
* Activate your Base character collection and you will have two characters side by side - one base character and a very angry one!
* Go to object mode
* '''Left-click-select''' the angry guy first, then '''shift-left-click''' your base character.
* Go to the vertex tab/shape key, and click on the little down arrow, and select the ''Join as shapes'' - like this:
[[File:MH-Blender-shapekey1.png]]
This will make a brand new shape key: Averagedude_base_expression:Proxy
* You rename the shape key by a double-click and call it '''Exp_Anger01'''..
* ... and assign the Vertex group to head
[[File:MH-Blender-shapekey2.png]]
In case you can not select ''Join as shapes'' the two characters were not selected in the right order, or perhaps the topology is not the same. Blender will show this as a message some where at the bottom of the screen. I this happens try the blender workflow, in this paragraph only , again!
You can now try to change the value for the shape key, and you should see that your base character can get angry!
When this worked for you you can save the blender file! And you should now do your very first re-import of the FBX. You save your base character in a FBX and Import it to UE4. To be 100% safe you can save and import to different names and folders, but in the end you will re-import the base character each time you do one or more new shape keys.
When you see this working in UE4, you can go on to the next expressions - I simply delete the Averagedude_base_expression collection and save the next expression in the same file. You can naturally do as many expressions as you want. leave some out etc... as you like!
==Observations about Blender 2.8==
You may notice that you can mess this up, so please save your blender file and back up! Say you can easily merge your base character with the expression MHX2 or do something else to corrupt your work!
Please also note that the Vertex Group/relative to, '''head''' and '''Basis''', are rather important! The shape key will change the entire body, to the T-Pose, if head is not set. Likewise you can make some shape keys relative to an other shape key - this will be important a bit later, when we do more "advanced" stuff!
=Blender 2.8 - a bit more advanced?=
This is very fine - we can make your base character use all the expressions, and they can be combined! Also you can tamper with them in UE4, say you can combine them and you can even set minus values, or extreme values not "allowed" in Blender. But you obviously want more than that?
Perhaps you can find some special "targets" you want to use?
658cc4c864970016d32e425fa2711ca7465cb6c9
2037
2036
2021-02-21T10:19:43Z
Assetdk
89
/* Skin materials */
wikitext
text/x-wiki
Please take a look at this page: [[Documentation:MH4UE|MH4UE]] - to get an overview of things you can use to get your Makehuman characters into Unreal Engine!
*
=What can and can't be done?=
I have been working on getting different characters into UE4 for some time, and this have been a real hassle!
On this page I want to summarize what I managed to get done using a workflow that involves Blender. I have had a focus on not going into much details regarding any of the tools, but you will need to know a few things. Even though this looks like a trivial task there are some pitfalls and also there are some things that can not be done, or I have just not found out how to. I will eventually also add links to all the YT tutorials I found helpful.
I found that working with Makehuman very easy, so focus will be very UE4 how to specific.
This is what I will cover thus far:
* Create and save any MH character in Makehuman. Basic stuff, and important things to avoid.
* Getting the character into Blender - import or link?
* Setup Blender for Export, shape keys and morph targets
* First import into UE4
* Introduction to more shape keys
* Mixamo animations
This is the stuff that I did not cover - yet:
* Animations for talking (other tutorials may help)
* Making custom cloth
* Hair
This is the stuff I can not get to work:
* Retargeting to Advanced Locomotion System V3/4
* ALS got something to work! [[Documentation:Saving models for Unreal Engine and how to import them there/ALS]]
* [[Documentation:Unreal Engine ALS V4]]
Since I am using/learning Blender 2.8, I want to share a bit of bonus info. I managed to make one of the free UE4 packages work a bit "better". That is your characters should have some transportation. This is how:
* [[Documentation:Unreal Engine Vehicle Variety Pack]]
=Getting started=
I wanted a quick way to populate a UE4 game, preferably with an unlimited number of varied characters of high quality. This has proven to be a bit harder than expected. The workflow for making characters is not as trivial as one would want but this guide should make it a bit more easy to do. I will focus on describing the "straight" path from Makehuman and into UE4 - so you will not find too much details about Blender. Please refer to Blender specific pages for more on that.
==Need to know==
There are a few terms that you need to know, say you need to know that you will import FBX, textures and other files into UE4. Also you will need to know that a Character consists of a '''Mesh''', a '''Skeleton''' and '''''materials''''' (that refers to textures). I will try to elaborate on these subjects as we go along...
==Making a base-character==
'''IMPORTANT new comment:'''
I have been working with these base-characters on and off for some time now, and I realized that:
'''You should not change the pose before creating the base character.'''
The reason for this is that the T-Pose will not be kept/maintained throughout using makehuman, specifically when you use the utility/
expression mixer. And that will, in time, mess up the option to set expressions as shape keys in Blender.
Blender will, when you set the shape key set the entire body as a "shape", say your base character is in T-Pose then the A-pose will be set
as part of the shape key.
Makehuman provides a range of predefined characters that is supposed to work as-is. You can just load a character, export it to FBX and import that into UE4 - and after a bit of work you can have a working player character! There are however a few pitfalls, so I suggest you make one (or more) base-character(s) that you can elaborate on as you go along. I will be working with ''''''averagedude'''''' as my base-character.
These are the steps to make the base characters:
* Open Makehuman
* Select the files tab and load the character
'''Under 'Geometries''''
* Remove cloth - (uncheck Hide faces under cloth)!
* Remove hair
* Add Teeth
* Choose Topology - '''I have no advice on this - but see comment below!'''
* Chose Eyebrows/Eyelashes, these can be changed as you go along - as can eye colors!
* Add Tongue01 (again I have no advice/recommendation on that, yet)
'''Under 'Materials'''' - I will show you how to work with UE4 "advanced" materials:
* Chose any skin that you like,
* Chose any eyes that you like
'''Under 'Pose/Animate''''
* Chose Skeleton: Uengine - if you do not have this already you my get it via the community tab?
* Chose Pose: Tpose (the last one on the list)
* Chose Expressions: none
And this is it! But there is one 'important' option you need know about - you need to '''uncheck''' the Smooth button!
The smooth button/option: [[File:MH-Smooth-option.png]] should be unchecked... that will make your character a bit less attractive, but this will preserve the shape-keys!
Makehuman comes with some 50-60 '''shape-keys''' and these will all be available as '''morph-targets''' in UE4. I will show you how to make more shape-keys, using makehuman+blender!
Now it is time to save your base-character - even though you have made very few changes to the file you should save this file under the save tab and name it
<your-name>-base (say averagedude-base), you can even add your very own tag 'base' to this.
When you save the file like this you will be able to reload it, and we need that later!
====Choose Topology/Shape keys====
When you make your base character without smoothing you get shape keys, and you want to share these between different characters. Specifically you would probably want to share face morphs between male and female characters - and there may be other base character variations, say old/young/child etc.
Later I will focus on how to make new shape keys, using blender - depending on how you want to do this you may want to '''chose Topology that is compatible between the different characters!''' That is you may be able to transfer one "shape" from a male character to a female character, but the result will depend on ''topology compatibility''. I will/may thus update this section to make sure
'''Shape key names''' will be the same for all of the base characters, as they come from - however you will be able to make new keys. You must name these keys the same for all MH characters, like these share the same skeleton (MH_Skelton) they must hold all the same shape keys names. If they don't your game may "break"....
===Export your base-character===
You can now take a break - or you can export your work. There are really tree options for you to look at:
* Save the FBX file directly
* Save a MHX2 file (you may need to install this as a option/utility, find our elsewhere!)
* Load the character to '''Blender''' directly via the link (I will get back to what can be done using that!)
I suggest that you save your base-character now, in both formats - FBX and MHX2! Make a specific 'Base-Characters' folder, because you will need it!
When you export the FBX use these options:
[[File:MH-FBX-export-options.png]]
This is the result for me, you should see something like this also:
[[File:MH-Base-Character-Folder.png]]
You should also see that there is a sub-folder, called Textures - this is where the different textures are saved and it should now look like this:
[[File:MH-Base-Character-Folder-textures.png]]
You can now go over all of the different textures, so you will have a wide selection to chose from. Textures are saved every time you save a FBX file!
Say, I change the base-characters textures, saved the FBX - and this is what I got:
[[File:MH-Base-Character-Folder-textures2.png]]
===Import your base-character to UE4 - FBX===
The FBX file will actually import directly to UE4, but there are a few problems! You should export your FBX file as Binary FBX, and you will get the most out of it. After this you can get to this result (after adjusting the materials, as seen below):
[[File:MH-MH-FBX-imported.png]]
Your character can look like this (after adjusting materials) - pretty good:
[[File:MH-MH-FBX-imported-materials.png]]
'''HOWEVER, you have lost the morph-targets! And as you probably noticed, the UE4 standard FBX import do import them!'''
I will get back to what to do about the shape-keys... but let make the materials first?
==Makehuman UE4 materials==
When you import the FBX made you exported from Makehuman, both textures and materials are made. You will also notice that UE4 will try to match the materials correctly to the material slots, as seen above in the 'Asset Details' of, in my case, averagedude-base (do not worry about the physics and the skeleton yet!).
To get you started, we need to take a look at the Eye, Eyelashes and Eyebrow materials...
===Eye and teeth materials===
First you can rename the '''high-poly''' material '''high-poly-''blue-eye''''' - or to whatever color you chose! You will probably make more eye materials.
Next you can double-click the material, to open the material-editor and change it to look something like this:
[[File:Ue4-26-eye-material.JPG]]
Your teeth material should look like this:
[[File:Ue4-26-teeth-material.jpg]]
Other parts of the materials my need to be setup like this also. Please add more suggestions, and feel free to edit this page!
===Eyelashes and Eyebrow materials===
Likewise you can set up the eyelashes, and the eyebrows are the same only you do not need ''two sided'' for the bows:
[[File:MH-UE4-Eyelashes-material.png]]
!?You may want to play with the shading model.
===Skin materials===
I wanted to have a very diverse skin material, that can be used for making a wide range of NPC characters. After experimenting a lot, I found that you can setup parameters and still keep the skin material quite simple. I ended up with a master material, that can be used as an instance... from where I can manipulate ink color and age!
Please note! These are not working all that good! There are some obvious errors. The skin appears to mismatch especially on the back and on the back of the head. I you know how to correct this please make comments or post the correct solution.
In case you need your characters to be better than this you should not use the lerp functions as seen in this example?
[[File:MH UE4 MaterialInstance 1.png]]
====Old/young and age!====
The "master material" looks like this in details - in the first part you can combine young/old+light/dark skin with age.. the textures are all from make human.
[[File:MH_UE4_MaterialMaster_1.png]]
====Old/young and age!====
In the 2nd part you have all the other material parameters. I made the various textures for this using at normal map generator.
[[File:MH_UE4_MaterialMaster_2.png]]
====Customization====
The skin can now be modified using a simple interface in the game. The prototype for this can be seen below, in this you can see the shape keys as well as the buttons where you can change the base-tint parameter.
[[File:MH UE4 MaterialCustom 1.png]]
===More materials?===
You can simply drag and drop more textures from the the base-character/textures folder, then duplicate and rename the materials, and apply different textures to the renamed materials. At some point I want to be able to customize/randomize (NPC) characters, but I have not yet done that.
Also you can make materials instances with parameters... I will show you howto, but first we need to turn shape-keys into morph-targets.
=Use Blender v 2.80 to get more!!=
For some reason the exported FBX file is not organized in a way so you will get the shape-keys imported directly to UE4. However when you follow the next steps, you will not get the correct materials imported, so I recommend that you run FBX import as shown above, and save the textures/materials in a separate folder.
If you are new to Blender please run a few tutorials specifically on on how to import/export, and also get to know about collections - you can do a lot in Blender and you can get confused!
==What will be done here?==
I will show you how to:
* Import your MHX2 files, to preserve the shape-keys
* Export FBX files, so UE4 will import correctly with morph-targets
* Apply expressions etc. to your base character
* Import these to your Blender file and apply the expressions as '''new shape keys'''
==But, first import and inspect FBX and MHX2!==
As you may remember you exported two files, the FBX file and the MHX2 file. You want to import both of these files into Blender, so you need two Collections, called FBX and MHX2. You right-click on the 'Scene collection' select 'New' and rename the collections to 'FBX' and 'MHX2'... I also added Scene collection and dragged the Camera and Light there (as I deleted the box). After this you should see something link this (the small Icons may be different):
[[File:MH-Base-Blender-setup.png]]
When you import your FBX file select/highlight the FBX collection, so the FBX data get imported into that collection. You can use the standard import options. For MHX2 you need to change the setting to match those you see below - when you find they are correct you can click the + sign, marked with a yellow arrow, and save the setting with your own setting-name.
(You may notice that the character you imported is out of proportions, some 17-18 meters high, we will correct that when we export to UE4!)
[[File:MH-Blender-FBX-import-options.png]]
===Inspect the results, in Blender===
Now is a good time to save the Blender file. You should save this in the same folder as the FBX and MHX2. I call this file averagedude-base.blend.
If you did this approximately as described the result should be munch like below. And you will probably notice that there is some structural differences. You can see that by looking at the small icons [[File:MH-Blender-base-imported-icons.png]], that represent where modifiers, vertex groups and Object data is stored! Specifically the Object data holds the shape-keys and those were not imported. (perhaps because I did not use the correct FBX import options - but the same happens in UE4!).
[[File:MH-Blender-base-imported.png]]
You will notice that the MHX2 version of your character holds the Object data (the triangle) and that shape-keys can be seen there!
==Export the FBX for your base character, and import to UE4==
The next step is crucial for getting things to work in UE4, it is not very complicated but you need to have a plan.
When you did this correctly you should be able to get the following results:
* Import your base character into UE4
* Create retargeting for your common skeleton - called MH_Skeleton
* Retarget the Maniqin animations to your base character(s)
* Get additional Mixamo animations
===FBX export settings===
'''Important!''' Before you go any further you should rename your base character to '''main_root''', like this:
[[File:MH-Base-FBX-main-root.png]]
.... you should do this for all base characters! main_root will be the root bone in your skeleton. When you do it like this, all of your base characters will be able to share the same skeleton!
Now select the MHX2 collection where you have the character, and go to Export FBX.
I have made a 'Operator preset' for the FBX export, this is the options you need to set:
[[File:MH-Base-FBX-operator-presets.png]]
Place the FBX file in the same folder as where you placed the original FBX and the MHX2. You probably do not need the FBX that you made with Makehuman, and you can always make it again?
(You may however want to export more FBX files from Makehuman, simply to get all of the textures. We will look more into how you can use the skin textures!)
==UE4 import, and retarget ==
Go to your UE4 project and make a MH folder containing a new avaragedude folder, and import your base character there!
During the import of the FBX file from Blender into UE4 you must enable the '''Import Morp Targets''' checkbox manually (expand the Mesh section)!
Observe that this character looks very much like the one you did already import from the original FBX, there are little difference - yet you want to set up this as your real base character.
Also you want to rename the skeleton to '''MH_Skeleton'''! And you want to open the skeleton, and retarget it to the humanoid rig... this should look like this:
[[File:MH-Base-Skeleton-Retarget.png]]
Make sure that your character is in T-Pose, as you want to retarget the Mannequin animations to your characters MH_Skeleton!
Make a animation folder in your MH, perhaps even Mannequin folder?
You go to the UE4 folder: Content/Mannequin/Animations and right-click on this animation: '''ThirdPerson_AnimBP'''
Select retarget and choose MH_Skeleton as your target - also select the animation folder you made before, something like this:
[[File:MH-Base-Animation-Retarget.png]]
You may want to rename your new ThirdPerson_AnimBP to '''''MH''_ThirdPerson_AnimBP''' - or perhaps simply MH_AnimBP?
===Translation Retargeting===
After the retargeting the animations will still look odd. You go to the skeleton tree, then check off the "Show Retargeting Options" and set those at and below the spline to Skeleton (recursively) - that looks something like this:
[[File:MH-Anim-Skeleton.png]]
=More shape keys, made in Blender 2.8=
I have not yet made any target in MH, also I have not had much luck in using the two blender addons. Frankly I don't really understand what the different buttons does, most of them are not active... perhaps they make sens if you use Blender a lot?
But I will show you different ways to get expressions, targets and skeleton animations(!) to shape keys, so then will be new morph targets in UE4!
Before you get started you should probably look at a few Blender tutorials regarding this - these are good:
===Tutorials===
General introduction to MHX2 import and animation. However '''do not''' import the resulting characters into UE4?
{{#ev:youtube|2P1t_nogbGs}}
Short general introduction to using shape keys in Blender 2.8:
{{#ev:youtube|e675Ulc7QL4}}
==Expressions and targets==
Make sure that you have your original base character saved and load it into Makehuman. Remember to check that your base character is in the T-Pose, do not change that!
'''Just in case:''' I recommend that you keep a copy of this file as well as all the blender file etc.
You should also have Blender open and load the .blender file where you saved both your FBX and the MHX2.
Before you go on do as follows: move the MHX2 character to x 10m, so the entire character moves to the left (right to your front view) - this will make it more easy for you to work with! (Save the blender file!)
'''This is the general workflow for transfer of expressions:'''
Makehuman:
* Go to the Pose/Animate tab and select Expressions. From the list select the first expression, Anger01.
* Save the character as .mhx2 - but to a different file name: averagedude-base-expression.mhx2.
Blender:
* In blender, deselect all the collections
* Import the file you made, using the same operator presets as yo saved them.
* Activate your Base character collection and you will have two characters side by side - one base character and a very angry one!
* Go to object mode
* '''Left-click-select''' the angry guy first, then '''shift-left-click''' your base character.
* Go to the vertex tab/shape key, and click on the little down arrow, and select the ''Join as shapes'' - like this:
[[File:MH-Blender-shapekey1.png]]
This will make a brand new shape key: Averagedude_base_expression:Proxy
* You rename the shape key by a double-click and call it '''Exp_Anger01'''..
* ... and assign the Vertex group to head
[[File:MH-Blender-shapekey2.png]]
In case you can not select ''Join as shapes'' the two characters were not selected in the right order, or perhaps the topology is not the same. Blender will show this as a message some where at the bottom of the screen. I this happens try the blender workflow, in this paragraph only , again!
You can now try to change the value for the shape key, and you should see that your base character can get angry!
When this worked for you you can save the blender file! And you should now do your very first re-import of the FBX. You save your base character in a FBX and Import it to UE4. To be 100% safe you can save and import to different names and folders, but in the end you will re-import the base character each time you do one or more new shape keys.
When you see this working in UE4, you can go on to the next expressions - I simply delete the Averagedude_base_expression collection and save the next expression in the same file. You can naturally do as many expressions as you want. leave some out etc... as you like!
==Observations about Blender 2.8==
You may notice that you can mess this up, so please save your blender file and back up! Say you can easily merge your base character with the expression MHX2 or do something else to corrupt your work!
Please also note that the Vertex Group/relative to, '''head''' and '''Basis''', are rather important! The shape key will change the entire body, to the T-Pose, if head is not set. Likewise you can make some shape keys relative to an other shape key - this will be important a bit later, when we do more "advanced" stuff!
=Blender 2.8 - a bit more advanced?=
This is very fine - we can make your base character use all the expressions, and they can be combined! Also you can tamper with them in UE4, say you can combine them and you can even set minus values, or extreme values not "allowed" in Blender. But you obviously want more than that?
Perhaps you can find some special "targets" you want to use?
4d3ac77232a685fb4dbc40e4dc05d3607ee09a43
2036
2034
2021-02-20T16:56:35Z
Assetdk
89
/* What can and can't be done? */
wikitext
text/x-wiki
Please take a look at this page: [[Documentation:MH4UE|MH4UE]] - to get an overview of things you can use to get your Makehuman characters into Unreal Engine!
*
=What can and can't be done?=
I have been working on getting different characters into UE4 for some time, and this have been a real hassle!
On this page I want to summarize what I managed to get done using a workflow that involves Blender. I have had a focus on not going into much details regarding any of the tools, but you will need to know a few things. Even though this looks like a trivial task there are some pitfalls and also there are some things that can not be done, or I have just not found out how to. I will eventually also add links to all the YT tutorials I found helpful.
I found that working with Makehuman very easy, so focus will be very UE4 how to specific.
This is what I will cover thus far:
* Create and save any MH character in Makehuman. Basic stuff, and important things to avoid.
* Getting the character into Blender - import or link?
* Setup Blender for Export, shape keys and morph targets
* First import into UE4
* Introduction to more shape keys
* Mixamo animations
This is the stuff that I did not cover - yet:
* Animations for talking (other tutorials may help)
* Making custom cloth
* Hair
This is the stuff I can not get to work:
* Retargeting to Advanced Locomotion System V3/4
* ALS got something to work! [[Documentation:Saving models for Unreal Engine and how to import them there/ALS]]
* [[Documentation:Unreal Engine ALS V4]]
Since I am using/learning Blender 2.8, I want to share a bit of bonus info. I managed to make one of the free UE4 packages work a bit "better". That is your characters should have some transportation. This is how:
* [[Documentation:Unreal Engine Vehicle Variety Pack]]
=Getting started=
I wanted a quick way to populate a UE4 game, preferably with an unlimited number of varied characters of high quality. This has proven to be a bit harder than expected. The workflow for making characters is not as trivial as one would want but this guide should make it a bit more easy to do. I will focus on describing the "straight" path from Makehuman and into UE4 - so you will not find too much details about Blender. Please refer to Blender specific pages for more on that.
==Need to know==
There are a few terms that you need to know, say you need to know that you will import FBX, textures and other files into UE4. Also you will need to know that a Character consists of a '''Mesh''', a '''Skeleton''' and '''''materials''''' (that refers to textures). I will try to elaborate on these subjects as we go along...
==Making a base-character==
'''IMPORTANT new comment:'''
I have been working with these base-characters on and off for some time now, and I realized that:
'''You should not change the pose before creating the base character.'''
The reason for this is that the T-Pose will not be kept/maintained throughout using makehuman, specifically when you use the utility/
expression mixer. And that will, in time, mess up the option to set expressions as shape keys in Blender.
Blender will, when you set the shape key set the entire body as a "shape", say your base character is in T-Pose then the A-pose will be set
as part of the shape key.
Makehuman provides a range of predefined characters that is supposed to work as-is. You can just load a character, export it to FBX and import that into UE4 - and after a bit of work you can have a working player character! There are however a few pitfalls, so I suggest you make one (or more) base-character(s) that you can elaborate on as you go along. I will be working with ''''''averagedude'''''' as my base-character.
These are the steps to make the base characters:
* Open Makehuman
* Select the files tab and load the character
'''Under 'Geometries''''
* Remove cloth - (uncheck Hide faces under cloth)!
* Remove hair
* Add Teeth
* Choose Topology - '''I have no advice on this - but see comment below!'''
* Chose Eyebrows/Eyelashes, these can be changed as you go along - as can eye colors!
* Add Tongue01 (again I have no advice/recommendation on that, yet)
'''Under 'Materials'''' - I will show you how to work with UE4 "advanced" materials:
* Chose any skin that you like,
* Chose any eyes that you like
'''Under 'Pose/Animate''''
* Chose Skeleton: Uengine - if you do not have this already you my get it via the community tab?
* Chose Pose: Tpose (the last one on the list)
* Chose Expressions: none
And this is it! But there is one 'important' option you need know about - you need to '''uncheck''' the Smooth button!
The smooth button/option: [[File:MH-Smooth-option.png]] should be unchecked... that will make your character a bit less attractive, but this will preserve the shape-keys!
Makehuman comes with some 50-60 '''shape-keys''' and these will all be available as '''morph-targets''' in UE4. I will show you how to make more shape-keys, using makehuman+blender!
Now it is time to save your base-character - even though you have made very few changes to the file you should save this file under the save tab and name it
<your-name>-base (say averagedude-base), you can even add your very own tag 'base' to this.
When you save the file like this you will be able to reload it, and we need that later!
====Choose Topology/Shape keys====
When you make your base character without smoothing you get shape keys, and you want to share these between different characters. Specifically you would probably want to share face morphs between male and female characters - and there may be other base character variations, say old/young/child etc.
Later I will focus on how to make new shape keys, using blender - depending on how you want to do this you may want to '''chose Topology that is compatible between the different characters!''' That is you may be able to transfer one "shape" from a male character to a female character, but the result will depend on ''topology compatibility''. I will/may thus update this section to make sure
'''Shape key names''' will be the same for all of the base characters, as they come from - however you will be able to make new keys. You must name these keys the same for all MH characters, like these share the same skeleton (MH_Skelton) they must hold all the same shape keys names. If they don't your game may "break"....
===Export your base-character===
You can now take a break - or you can export your work. There are really tree options for you to look at:
* Save the FBX file directly
* Save a MHX2 file (you may need to install this as a option/utility, find our elsewhere!)
* Load the character to '''Blender''' directly via the link (I will get back to what can be done using that!)
I suggest that you save your base-character now, in both formats - FBX and MHX2! Make a specific 'Base-Characters' folder, because you will need it!
When you export the FBX use these options:
[[File:MH-FBX-export-options.png]]
This is the result for me, you should see something like this also:
[[File:MH-Base-Character-Folder.png]]
You should also see that there is a sub-folder, called Textures - this is where the different textures are saved and it should now look like this:
[[File:MH-Base-Character-Folder-textures.png]]
You can now go over all of the different textures, so you will have a wide selection to chose from. Textures are saved every time you save a FBX file!
Say, I change the base-characters textures, saved the FBX - and this is what I got:
[[File:MH-Base-Character-Folder-textures2.png]]
===Import your base-character to UE4 - FBX===
The FBX file will actually import directly to UE4, but there are a few problems! You should export your FBX file as Binary FBX, and you will get the most out of it. After this you can get to this result (after adjusting the materials, as seen below):
[[File:MH-MH-FBX-imported.png]]
Your character can look like this (after adjusting materials) - pretty good:
[[File:MH-MH-FBX-imported-materials.png]]
'''HOWEVER, you have lost the morph-targets! And as you probably noticed, the UE4 standard FBX import do import them!'''
I will get back to what to do about the shape-keys... but let make the materials first?
==Makehuman UE4 materials==
When you import the FBX made you exported from Makehuman, both textures and materials are made. You will also notice that UE4 will try to match the materials correctly to the material slots, as seen above in the 'Asset Details' of, in my case, averagedude-base (do not worry about the physics and the skeleton yet!).
To get you started, we need to take a look at the Eye, Eyelashes and Eyebrow materials...
===Eye and teeth materials===
First you can rename the '''high-poly''' material '''high-poly-''blue-eye''''' - or to whatever color you chose! You will probably make more eye materials.
Next you can double-click the material, to open the material-editor and change it to look something like this:
[[File:Ue4-26-eye-material.JPG]]
Your teeth material should look like this:
[[File:Ue4-26-teeth-material.jpg]]
Other parts of the materials my need to be setup like this also. Please add more suggestions, and feel free to edit this page!
===Eyelashes and Eyebrow materials===
Likewise you can set up the eyelashes, and the eyebrows are the same only you do not need ''two sided'' for the bows:
[[File:MH-UE4-Eyelashes-material.png]]
!?You may want to play with the shading model.
===Skin materials===
I wanted to have a very diverse skin material, that can be used for making a wide range of NPC characters. After experimenting a lot, I found that you can setup parameters and still keep the skin material quite simple. I endend up with a master material, that can be used as an instance... from where I can manipulate sink color and age!
[[File:MH UE4 MaterialInstance 1.png]]
====Old/young and age!====
The "master material" looks like this in details - in the first part you can combine young/old+light/dark skin with age.. the textures are all from make human.
[[File:MH_UE4_MaterialMaster_1.png]]
====Old/young and age!====
In the 2nd part you have all the other material parameters. I made the various textures for this using at normal map generator.
[[File:MH_UE4_MaterialMaster_2.png]]
====Customization====
The skin can now be modified using a simple interface in the game. The prototype for this can be seen below, in this you can see the shape keys as well as the buttons where you can change the base-tint parameter.
[[File:MH UE4 MaterialCustom 1.png]]
===More materials?===
You can simply drag and drop more textures from the the base-character/textures folder, then duplicate and rename the materials, and apply different textures to the renamed materials. At some point I want to be able to customize/randomize (NPC) characters, but I have not yet done that.
Also you can make materials instances with parameters... I will show you howto, but first we need to turn shape-keys into morph-targets.
=Use Blender v 2.80 to get more!!=
For some reason the exported FBX file is not organized in a way so you will get the shape-keys imported directly to UE4. However when you follow the next steps, you will not get the correct materials imported, so I recommend that you run FBX import as shown above, and save the textures/materials in a separate folder.
If you are new to Blender please run a few tutorials specifically on on how to import/export, and also get to know about collections - you can do a lot in Blender and you can get confused!
==What will be done here?==
I will show you how to:
* Import your MHX2 files, to preserve the shape-keys
* Export FBX files, so UE4 will import correctly with morph-targets
* Apply expressions etc. to your base character
* Import these to your Blender file and apply the expressions as '''new shape keys'''
==But, first import and inspect FBX and MHX2!==
As you may remember you exported two files, the FBX file and the MHX2 file. You want to import both of these files into Blender, so you need two Collections, called FBX and MHX2. You right-click on the 'Scene collection' select 'New' and rename the collections to 'FBX' and 'MHX2'... I also added Scene collection and dragged the Camera and Light there (as I deleted the box). After this you should see something link this (the small Icons may be different):
[[File:MH-Base-Blender-setup.png]]
When you import your FBX file select/highlight the FBX collection, so the FBX data get imported into that collection. You can use the standard import options. For MHX2 you need to change the setting to match those you see below - when you find they are correct you can click the + sign, marked with a yellow arrow, and save the setting with your own setting-name.
(You may notice that the character you imported is out of proportions, some 17-18 meters high, we will correct that when we export to UE4!)
[[File:MH-Blender-FBX-import-options.png]]
===Inspect the results, in Blender===
Now is a good time to save the Blender file. You should save this in the same folder as the FBX and MHX2. I call this file averagedude-base.blend.
If you did this approximately as described the result should be munch like below. And you will probably notice that there is some structural differences. You can see that by looking at the small icons [[File:MH-Blender-base-imported-icons.png]], that represent where modifiers, vertex groups and Object data is stored! Specifically the Object data holds the shape-keys and those were not imported. (perhaps because I did not use the correct FBX import options - but the same happens in UE4!).
[[File:MH-Blender-base-imported.png]]
You will notice that the MHX2 version of your character holds the Object data (the triangle) and that shape-keys can be seen there!
==Export the FBX for your base character, and import to UE4==
The next step is crucial for getting things to work in UE4, it is not very complicated but you need to have a plan.
When you did this correctly you should be able to get the following results:
* Import your base character into UE4
* Create retargeting for your common skeleton - called MH_Skeleton
* Retarget the Maniqin animations to your base character(s)
* Get additional Mixamo animations
===FBX export settings===
'''Important!''' Before you go any further you should rename your base character to '''main_root''', like this:
[[File:MH-Base-FBX-main-root.png]]
.... you should do this for all base characters! main_root will be the root bone in your skeleton. When you do it like this, all of your base characters will be able to share the same skeleton!
Now select the MHX2 collection where you have the character, and go to Export FBX.
I have made a 'Operator preset' for the FBX export, this is the options you need to set:
[[File:MH-Base-FBX-operator-presets.png]]
Place the FBX file in the same folder as where you placed the original FBX and the MHX2. You probably do not need the FBX that you made with Makehuman, and you can always make it again?
(You may however want to export more FBX files from Makehuman, simply to get all of the textures. We will look more into how you can use the skin textures!)
==UE4 import, and retarget ==
Go to your UE4 project and make a MH folder containing a new avaragedude folder, and import your base character there!
During the import of the FBX file from Blender into UE4 you must enable the '''Import Morp Targets''' checkbox manually (expand the Mesh section)!
Observe that this character looks very much like the one you did already import from the original FBX, there are little difference - yet you want to set up this as your real base character.
Also you want to rename the skeleton to '''MH_Skeleton'''! And you want to open the skeleton, and retarget it to the humanoid rig... this should look like this:
[[File:MH-Base-Skeleton-Retarget.png]]
Make sure that your character is in T-Pose, as you want to retarget the Mannequin animations to your characters MH_Skeleton!
Make a animation folder in your MH, perhaps even Mannequin folder?
You go to the UE4 folder: Content/Mannequin/Animations and right-click on this animation: '''ThirdPerson_AnimBP'''
Select retarget and choose MH_Skeleton as your target - also select the animation folder you made before, something like this:
[[File:MH-Base-Animation-Retarget.png]]
You may want to rename your new ThirdPerson_AnimBP to '''''MH''_ThirdPerson_AnimBP''' - or perhaps simply MH_AnimBP?
===Translation Retargeting===
After the retargeting the animations will still look odd. You go to the skeleton tree, then check off the "Show Retargeting Options" and set those at and below the spline to Skeleton (recursively) - that looks something like this:
[[File:MH-Anim-Skeleton.png]]
=More shape keys, made in Blender 2.8=
I have not yet made any target in MH, also I have not had much luck in using the two blender addons. Frankly I don't really understand what the different buttons does, most of them are not active... perhaps they make sens if you use Blender a lot?
But I will show you different ways to get expressions, targets and skeleton animations(!) to shape keys, so then will be new morph targets in UE4!
Before you get started you should probably look at a few Blender tutorials regarding this - these are good:
===Tutorials===
General introduction to MHX2 import and animation. However '''do not''' import the resulting characters into UE4?
{{#ev:youtube|2P1t_nogbGs}}
Short general introduction to using shape keys in Blender 2.8:
{{#ev:youtube|e675Ulc7QL4}}
==Expressions and targets==
Make sure that you have your original base character saved and load it into Makehuman. Remember to check that your base character is in the T-Pose, do not change that!
'''Just in case:''' I recommend that you keep a copy of this file as well as all the blender file etc.
You should also have Blender open and load the .blender file where you saved both your FBX and the MHX2.
Before you go on do as follows: move the MHX2 character to x 10m, so the entire character moves to the left (right to your front view) - this will make it more easy for you to work with! (Save the blender file!)
'''This is the general workflow for transfer of expressions:'''
Makehuman:
* Go to the Pose/Animate tab and select Expressions. From the list select the first expression, Anger01.
* Save the character as .mhx2 - but to a different file name: averagedude-base-expression.mhx2.
Blender:
* In blender, deselect all the collections
* Import the file you made, using the same operator presets as yo saved them.
* Activate your Base character collection and you will have two characters side by side - one base character and a very angry one!
* Go to object mode
* '''Left-click-select''' the angry guy first, then '''shift-left-click''' your base character.
* Go to the vertex tab/shape key, and click on the little down arrow, and select the ''Join as shapes'' - like this:
[[File:MH-Blender-shapekey1.png]]
This will make a brand new shape key: Averagedude_base_expression:Proxy
* You rename the shape key by a double-click and call it '''Exp_Anger01'''..
* ... and assign the Vertex group to head
[[File:MH-Blender-shapekey2.png]]
In case you can not select ''Join as shapes'' the two characters were not selected in the right order, or perhaps the topology is not the same. Blender will show this as a message some where at the bottom of the screen. I this happens try the blender workflow, in this paragraph only , again!
You can now try to change the value for the shape key, and you should see that your base character can get angry!
When this worked for you you can save the blender file! And you should now do your very first re-import of the FBX. You save your base character in a FBX and Import it to UE4. To be 100% safe you can save and import to different names and folders, but in the end you will re-import the base character each time you do one or more new shape keys.
When you see this working in UE4, you can go on to the next expressions - I simply delete the Averagedude_base_expression collection and save the next expression in the same file. You can naturally do as many expressions as you want. leave some out etc... as you like!
==Observations about Blender 2.8==
You may notice that you can mess this up, so please save your blender file and back up! Say you can easily merge your base character with the expression MHX2 or do something else to corrupt your work!
Please also note that the Vertex Group/relative to, '''head''' and '''Basis''', are rather important! The shape key will change the entire body, to the T-Pose, if head is not set. Likewise you can make some shape keys relative to an other shape key - this will be important a bit later, when we do more "advanced" stuff!
=Blender 2.8 - a bit more advanced?=
This is very fine - we can make your base character use all the expressions, and they can be combined! Also you can tamper with them in UE4, say you can combine them and you can even set minus values, or extreme values not "allowed" in Blender. But you obviously want more than that?
Perhaps you can find some special "targets" you want to use?
e01bb3e9b5bb5a2b25723c83cde36e018417e906
2034
2032
2021-02-14T14:00:08Z
Assetdk
89
/* Skin materials */
wikitext
text/x-wiki
Please take a look at this page: [[Documentation:MH4UE|MH4UE]] - to get an overview of things you can use to get your Makehuman characters into Unreal Engine!
*
=What can and can't be done?=
I have been working on getting different characters into UE4 for some time, and this have been a real hassle!
On this page I want to summarize what I managed to get done using a workflow that involves Blender. I have had a focus on not going into much details regarding any of the tools, but you will need to know a few things. Even though this looks like a trivial task there are some pitfalls and also there are some things that can not be done, or I have just not found out how to. I will eventually also add links to all the YT tutorials I found helpful.
I found that working with Makehuman very easy, so focus will be very UE4 how to specific.
This is what I will cover thus far:
* Create and save any MH character in Makehuman. Basic stuff, and important things to avoid.
* Getting the character into Blender - import or link?
* Setup Blender for Export, shape keys and morph targets
* First import into UE4
* Introduction to more shape keys
* Get the Cloth working
* Mixamo animations
This is the stuff that I did not cover - yet:
* Animations for talking (other tutorials may help)
* Making custom cloth
* Hair
This is the stuff I can not get to work:
* Retargeting to Advanced Locomotion System V3/4
* ALS got something to work! [[Documentation:Saving models for Unreal Engine and how to import them there/ALS]]
* [[Documentation:Unreal Engine ALS V4]]
Since I am using/learning Blender 2.8, I want to share a bit of bonus info. I managed to make one of the free UE4 packages work a bit "better". That is your characters should have some transportation. This is how:
* [[Documentation:Unreal Engine Vehicle Variety Pack]]
=Getting started=
I wanted a quick way to populate a UE4 game, preferably with an unlimited number of varied characters of high quality. This has proven to be a bit harder than expected. The workflow for making characters is not as trivial as one would want but this guide should make it a bit more easy to do. I will focus on describing the "straight" path from Makehuman and into UE4 - so you will not find too much details about Blender. Please refer to Blender specific pages for more on that.
==Need to know==
There are a few terms that you need to know, say you need to know that you will import FBX, textures and other files into UE4. Also you will need to know that a Character consists of a '''Mesh''', a '''Skeleton''' and '''''materials''''' (that refers to textures). I will try to elaborate on these subjects as we go along...
==Making a base-character==
'''IMPORTANT new comment:'''
I have been working with these base-characters on and off for some time now, and I realized that:
'''You should not change the pose before creating the base character.'''
The reason for this is that the T-Pose will not be kept/maintained throughout using makehuman, specifically when you use the utility/
expression mixer. And that will, in time, mess up the option to set expressions as shape keys in Blender.
Blender will, when you set the shape key set the entire body as a "shape", say your base character is in T-Pose then the A-pose will be set
as part of the shape key.
Makehuman provides a range of predefined characters that is supposed to work as-is. You can just load a character, export it to FBX and import that into UE4 - and after a bit of work you can have a working player character! There are however a few pitfalls, so I suggest you make one (or more) base-character(s) that you can elaborate on as you go along. I will be working with ''''''averagedude'''''' as my base-character.
These are the steps to make the base characters:
* Open Makehuman
* Select the files tab and load the character
'''Under 'Geometries''''
* Remove cloth - (uncheck Hide faces under cloth)!
* Remove hair
* Add Teeth
* Choose Topology - '''I have no advice on this - but see comment below!'''
* Chose Eyebrows/Eyelashes, these can be changed as you go along - as can eye colors!
* Add Tongue01 (again I have no advice/recommendation on that, yet)
'''Under 'Materials'''' - I will show you how to work with UE4 "advanced" materials:
* Chose any skin that you like,
* Chose any eyes that you like
'''Under 'Pose/Animate''''
* Chose Skeleton: Uengine - if you do not have this already you my get it via the community tab?
* Chose Pose: Tpose (the last one on the list)
* Chose Expressions: none
And this is it! But there is one 'important' option you need know about - you need to '''uncheck''' the Smooth button!
The smooth button/option: [[File:MH-Smooth-option.png]] should be unchecked... that will make your character a bit less attractive, but this will preserve the shape-keys!
Makehuman comes with some 50-60 '''shape-keys''' and these will all be available as '''morph-targets''' in UE4. I will show you how to make more shape-keys, using makehuman+blender!
Now it is time to save your base-character - even though you have made very few changes to the file you should save this file under the save tab and name it
<your-name>-base (say averagedude-base), you can even add your very own tag 'base' to this.
When you save the file like this you will be able to reload it, and we need that later!
====Choose Topology/Shape keys====
When you make your base character without smoothing you get shape keys, and you want to share these between different characters. Specifically you would probably want to share face morphs between male and female characters - and there may be other base character variations, say old/young/child etc.
Later I will focus on how to make new shape keys, using blender - depending on how you want to do this you may want to '''chose Topology that is compatible between the different characters!''' That is you may be able to transfer one "shape" from a male character to a female character, but the result will depend on ''topology compatibility''. I will/may thus update this section to make sure
'''Shape key names''' will be the same for all of the base characters, as they come from - however you will be able to make new keys. You must name these keys the same for all MH characters, like these share the same skeleton (MH_Skelton) they must hold all the same shape keys names. If they don't your game may "break"....
===Export your base-character===
You can now take a break - or you can export your work. There are really tree options for you to look at:
* Save the FBX file directly
* Save a MHX2 file (you may need to install this as a option/utility, find our elsewhere!)
* Load the character to '''Blender''' directly via the link (I will get back to what can be done using that!)
I suggest that you save your base-character now, in both formats - FBX and MHX2! Make a specific 'Base-Characters' folder, because you will need it!
When you export the FBX use these options:
[[File:MH-FBX-export-options.png]]
This is the result for me, you should see something like this also:
[[File:MH-Base-Character-Folder.png]]
You should also see that there is a sub-folder, called Textures - this is where the different textures are saved and it should now look like this:
[[File:MH-Base-Character-Folder-textures.png]]
You can now go over all of the different textures, so you will have a wide selection to chose from. Textures are saved every time you save a FBX file!
Say, I change the base-characters textures, saved the FBX - and this is what I got:
[[File:MH-Base-Character-Folder-textures2.png]]
===Import your base-character to UE4 - FBX===
The FBX file will actually import directly to UE4, but there are a few problems! You should export your FBX file as Binary FBX, and you will get the most out of it. After this you can get to this result (after adjusting the materials, as seen below):
[[File:MH-MH-FBX-imported.png]]
Your character can look like this (after adjusting materials) - pretty good:
[[File:MH-MH-FBX-imported-materials.png]]
'''HOWEVER, you have lost the morph-targets! And as you probably noticed, the UE4 standard FBX import do import them!'''
I will get back to what to do about the shape-keys... but let make the materials first?
==Makehuman UE4 materials==
When you import the FBX made you exported from Makehuman, both textures and materials are made. You will also notice that UE4 will try to match the materials correctly to the material slots, as seen above in the 'Asset Details' of, in my case, averagedude-base (do not worry about the physics and the skeleton yet!).
To get you started, we need to take a look at the Eye, Eyelashes and Eyebrow materials...
===Eye and teeth materials===
First you can rename the '''high-poly''' material '''high-poly-''blue-eye''''' - or to whatever color you chose! You will probably make more eye materials.
Next you can double-click the material, to open the material-editor and change it to look something like this:
[[File:Ue4-26-eye-material.JPG]]
Your teeth material should look like this:
[[File:Ue4-26-teeth-material.jpg]]
Other parts of the materials my need to be setup like this also. Please add more suggestions, and feel free to edit this page!
===Eyelashes and Eyebrow materials===
Likewise you can set up the eyelashes, and the eyebrows are the same only you do not need ''two sided'' for the bows:
[[File:MH-UE4-Eyelashes-material.png]]
!?You may want to play with the shading model.
===Skin materials===
I wanted to have a very diverse skin material, that can be used for making a wide range of NPC characters. After experimenting a lot, I found that you can setup parameters and still keep the skin material quite simple. I endend up with a master material, that can be used as an instance... from where I can manipulate sink color and age!
[[File:MH UE4 MaterialInstance 1.png]]
====Old/young and age!====
The "master material" looks like this in details - in the first part you can combine young/old+light/dark skin with age.. the textures are all from make human.
[[File:MH_UE4_MaterialMaster_1.png]]
====Old/young and age!====
In the 2nd part you have all the other material parameters. I made the various textures for this using at normal map generator.
[[File:MH_UE4_MaterialMaster_2.png]]
====Customization====
The skin can now be modified using a simple interface in the game. The prototype for this can be seen below, in this you can see the shape keys as well as the buttons where you can change the base-tint parameter.
[[File:MH UE4 MaterialCustom 1.png]]
===More materials?===
You can simply drag and drop more textures from the the base-character/textures folder, then duplicate and rename the materials, and apply different textures to the renamed materials. At some point I want to be able to customize/randomize (NPC) characters, but I have not yet done that.
Also you can make materials instances with parameters... I will show you howto, but first we need to turn shape-keys into morph-targets.
=Use Blender v 2.80 to get more!!=
For some reason the exported FBX file is not organized in a way so you will get the shape-keys imported directly to UE4. However when you follow the next steps, you will not get the correct materials imported, so I recommend that you run FBX import as shown above, and save the textures/materials in a separate folder.
If you are new to Blender please run a few tutorials specifically on on how to import/export, and also get to know about collections - you can do a lot in Blender and you can get confused!
==What will be done here?==
I will show you how to:
* Import your MHX2 files, to preserve the shape-keys
* Export FBX files, so UE4 will import correctly with morph-targets
* Apply expressions etc. to your base character
* Import these to your Blender file and apply the expressions as '''new shape keys'''
==But, first import and inspect FBX and MHX2!==
As you may remember you exported two files, the FBX file and the MHX2 file. You want to import both of these files into Blender, so you need two Collections, called FBX and MHX2. You right-click on the 'Scene collection' select 'New' and rename the collections to 'FBX' and 'MHX2'... I also added Scene collection and dragged the Camera and Light there (as I deleted the box). After this you should see something link this (the small Icons may be different):
[[File:MH-Base-Blender-setup.png]]
When you import your FBX file select/highlight the FBX collection, so the FBX data get imported into that collection. You can use the standard import options. For MHX2 you need to change the setting to match those you see below - when you find they are correct you can click the + sign, marked with a yellow arrow, and save the setting with your own setting-name.
(You may notice that the character you imported is out of proportions, some 17-18 meters high, we will correct that when we export to UE4!)
[[File:MH-Blender-FBX-import-options.png]]
===Inspect the results, in Blender===
Now is a good time to save the Blender file. You should save this in the same folder as the FBX and MHX2. I call this file averagedude-base.blend.
If you did this approximately as described the result should be munch like below. And you will probably notice that there is some structural differences. You can see that by looking at the small icons [[File:MH-Blender-base-imported-icons.png]], that represent where modifiers, vertex groups and Object data is stored! Specifically the Object data holds the shape-keys and those were not imported. (perhaps because I did not use the correct FBX import options - but the same happens in UE4!).
[[File:MH-Blender-base-imported.png]]
You will notice that the MHX2 version of your character holds the Object data (the triangle) and that shape-keys can be seen there!
==Export the FBX for your base character, and import to UE4==
The next step is crucial for getting things to work in UE4, it is not very complicated but you need to have a plan.
When you did this correctly you should be able to get the following results:
* Import your base character into UE4
* Create retargeting for your common skeleton - called MH_Skeleton
* Retarget the Maniqin animations to your base character(s)
* Get additional Mixamo animations
===FBX export settings===
'''Important!''' Before you go any further you should rename your base character to '''main_root''', like this:
[[File:MH-Base-FBX-main-root.png]]
.... you should do this for all base characters! main_root will be the root bone in your skeleton. When you do it like this, all of your base characters will be able to share the same skeleton!
Now select the MHX2 collection where you have the character, and go to Export FBX.
I have made a 'Operator preset' for the FBX export, this is the options you need to set:
[[File:MH-Base-FBX-operator-presets.png]]
Place the FBX file in the same folder as where you placed the original FBX and the MHX2. You probably do not need the FBX that you made with Makehuman, and you can always make it again?
(You may however want to export more FBX files from Makehuman, simply to get all of the textures. We will look more into how you can use the skin textures!)
==UE4 import, and retarget ==
Go to your UE4 project and make a MH folder containing a new avaragedude folder, and import your base character there!
During the import of the FBX file from Blender into UE4 you must enable the '''Import Morp Targets''' checkbox manually (expand the Mesh section)!
Observe that this character looks very much like the one you did already import from the original FBX, there are little difference - yet you want to set up this as your real base character.
Also you want to rename the skeleton to '''MH_Skeleton'''! And you want to open the skeleton, and retarget it to the humanoid rig... this should look like this:
[[File:MH-Base-Skeleton-Retarget.png]]
Make sure that your character is in T-Pose, as you want to retarget the Mannequin animations to your characters MH_Skeleton!
Make a animation folder in your MH, perhaps even Mannequin folder?
You go to the UE4 folder: Content/Mannequin/Animations and right-click on this animation: '''ThirdPerson_AnimBP'''
Select retarget and choose MH_Skeleton as your target - also select the animation folder you made before, something like this:
[[File:MH-Base-Animation-Retarget.png]]
You may want to rename your new ThirdPerson_AnimBP to '''''MH''_ThirdPerson_AnimBP''' - or perhaps simply MH_AnimBP?
===Translation Retargeting===
After the retargeting the animations will still look odd. You go to the skeleton tree, then check off the "Show Retargeting Options" and set those at and below the spline to Skeleton (recursively) - that looks something like this:
[[File:MH-Anim-Skeleton.png]]
=More shape keys, made in Blender 2.8=
I have not yet made any target in MH, also I have not had much luck in using the two blender addons. Frankly I don't really understand what the different buttons does, most of them are not active... perhaps they make sens if you use Blender a lot?
But I will show you different ways to get expressions, targets and skeleton animations(!) to shape keys, so then will be new morph targets in UE4!
Before you get started you should probably look at a few Blender tutorials regarding this - these are good:
===Tutorials===
General introduction to MHX2 import and animation. However '''do not''' import the resulting characters into UE4?
{{#ev:youtube|2P1t_nogbGs}}
Short general introduction to using shape keys in Blender 2.8:
{{#ev:youtube|e675Ulc7QL4}}
==Expressions and targets==
Make sure that you have your original base character saved and load it into Makehuman. Remember to check that your base character is in the T-Pose, do not change that!
'''Just in case:''' I recommend that you keep a copy of this file as well as all the blender file etc.
You should also have Blender open and load the .blender file where you saved both your FBX and the MHX2.
Before you go on do as follows: move the MHX2 character to x 10m, so the entire character moves to the left (right to your front view) - this will make it more easy for you to work with! (Save the blender file!)
'''This is the general workflow for transfer of expressions:'''
Makehuman:
* Go to the Pose/Animate tab and select Expressions. From the list select the first expression, Anger01.
* Save the character as .mhx2 - but to a different file name: averagedude-base-expression.mhx2.
Blender:
* In blender, deselect all the collections
* Import the file you made, using the same operator presets as yo saved them.
* Activate your Base character collection and you will have two characters side by side - one base character and a very angry one!
* Go to object mode
* '''Left-click-select''' the angry guy first, then '''shift-left-click''' your base character.
* Go to the vertex tab/shape key, and click on the little down arrow, and select the ''Join as shapes'' - like this:
[[File:MH-Blender-shapekey1.png]]
This will make a brand new shape key: Averagedude_base_expression:Proxy
* You rename the shape key by a double-click and call it '''Exp_Anger01'''..
* ... and assign the Vertex group to head
[[File:MH-Blender-shapekey2.png]]
In case you can not select ''Join as shapes'' the two characters were not selected in the right order, or perhaps the topology is not the same. Blender will show this as a message some where at the bottom of the screen. I this happens try the blender workflow, in this paragraph only , again!
You can now try to change the value for the shape key, and you should see that your base character can get angry!
When this worked for you you can save the blender file! And you should now do your very first re-import of the FBX. You save your base character in a FBX and Import it to UE4. To be 100% safe you can save and import to different names and folders, but in the end you will re-import the base character each time you do one or more new shape keys.
When you see this working in UE4, you can go on to the next expressions - I simply delete the Averagedude_base_expression collection and save the next expression in the same file. You can naturally do as many expressions as you want. leave some out etc... as you like!
==Observations about Blender 2.8==
You may notice that you can mess this up, so please save your blender file and back up! Say you can easily merge your base character with the expression MHX2 or do something else to corrupt your work!
Please also note that the Vertex Group/relative to, '''head''' and '''Basis''', are rather important! The shape key will change the entire body, to the T-Pose, if head is not set. Likewise you can make some shape keys relative to an other shape key - this will be important a bit later, when we do more "advanced" stuff!
=Blender 2.8 - a bit more advanced?=
This is very fine - we can make your base character use all the expressions, and they can be combined! Also you can tamper with them in UE4, say you can combine them and you can even set minus values, or extreme values not "allowed" in Blender. But you obviously want more than that?
Perhaps you can find some special "targets" you want to use?
3f43b6eccf80c690e20ce7262a4fc45651fb63f7
2032
2027
2021-02-14T13:31:47Z
Assetdk
89
/* More materials? */
wikitext
text/x-wiki
Please take a look at this page: [[Documentation:MH4UE|MH4UE]] - to get an overview of things you can use to get your Makehuman characters into Unreal Engine!
*
=What can and can't be done?=
I have been working on getting different characters into UE4 for some time, and this have been a real hassle!
On this page I want to summarize what I managed to get done using a workflow that involves Blender. I have had a focus on not going into much details regarding any of the tools, but you will need to know a few things. Even though this looks like a trivial task there are some pitfalls and also there are some things that can not be done, or I have just not found out how to. I will eventually also add links to all the YT tutorials I found helpful.
I found that working with Makehuman very easy, so focus will be very UE4 how to specific.
This is what I will cover thus far:
* Create and save any MH character in Makehuman. Basic stuff, and important things to avoid.
* Getting the character into Blender - import or link?
* Setup Blender for Export, shape keys and morph targets
* First import into UE4
* Introduction to more shape keys
* Get the Cloth working
* Mixamo animations
This is the stuff that I did not cover - yet:
* Animations for talking (other tutorials may help)
* Making custom cloth
* Hair
This is the stuff I can not get to work:
* Retargeting to Advanced Locomotion System V3/4
* ALS got something to work! [[Documentation:Saving models for Unreal Engine and how to import them there/ALS]]
* [[Documentation:Unreal Engine ALS V4]]
Since I am using/learning Blender 2.8, I want to share a bit of bonus info. I managed to make one of the free UE4 packages work a bit "better". That is your characters should have some transportation. This is how:
* [[Documentation:Unreal Engine Vehicle Variety Pack]]
=Getting started=
I wanted a quick way to populate a UE4 game, preferably with an unlimited number of varied characters of high quality. This has proven to be a bit harder than expected. The workflow for making characters is not as trivial as one would want but this guide should make it a bit more easy to do. I will focus on describing the "straight" path from Makehuman and into UE4 - so you will not find too much details about Blender. Please refer to Blender specific pages for more on that.
==Need to know==
There are a few terms that you need to know, say you need to know that you will import FBX, textures and other files into UE4. Also you will need to know that a Character consists of a '''Mesh''', a '''Skeleton''' and '''''materials''''' (that refers to textures). I will try to elaborate on these subjects as we go along...
==Making a base-character==
'''IMPORTANT new comment:'''
I have been working with these base-characters on and off for some time now, and I realized that:
'''You should not change the pose before creating the base character.'''
The reason for this is that the T-Pose will not be kept/maintained throughout using makehuman, specifically when you use the utility/
expression mixer. And that will, in time, mess up the option to set expressions as shape keys in Blender.
Blender will, when you set the shape key set the entire body as a "shape", say your base character is in T-Pose then the A-pose will be set
as part of the shape key.
Makehuman provides a range of predefined characters that is supposed to work as-is. You can just load a character, export it to FBX and import that into UE4 - and after a bit of work you can have a working player character! There are however a few pitfalls, so I suggest you make one (or more) base-character(s) that you can elaborate on as you go along. I will be working with ''''''averagedude'''''' as my base-character.
These are the steps to make the base characters:
* Open Makehuman
* Select the files tab and load the character
'''Under 'Geometries''''
* Remove cloth - (uncheck Hide faces under cloth)!
* Remove hair
* Add Teeth
* Choose Topology - '''I have no advice on this - but see comment below!'''
* Chose Eyebrows/Eyelashes, these can be changed as you go along - as can eye colors!
* Add Tongue01 (again I have no advice/recommendation on that, yet)
'''Under 'Materials'''' - I will show you how to work with UE4 "advanced" materials:
* Chose any skin that you like,
* Chose any eyes that you like
'''Under 'Pose/Animate''''
* Chose Skeleton: Uengine - if you do not have this already you my get it via the community tab?
* Chose Pose: Tpose (the last one on the list)
* Chose Expressions: none
And this is it! But there is one 'important' option you need know about - you need to '''uncheck''' the Smooth button!
The smooth button/option: [[File:MH-Smooth-option.png]] should be unchecked... that will make your character a bit less attractive, but this will preserve the shape-keys!
Makehuman comes with some 50-60 '''shape-keys''' and these will all be available as '''morph-targets''' in UE4. I will show you how to make more shape-keys, using makehuman+blender!
Now it is time to save your base-character - even though you have made very few changes to the file you should save this file under the save tab and name it
<your-name>-base (say averagedude-base), you can even add your very own tag 'base' to this.
When you save the file like this you will be able to reload it, and we need that later!
====Choose Topology/Shape keys====
When you make your base character without smoothing you get shape keys, and you want to share these between different characters. Specifically you would probably want to share face morphs between male and female characters - and there may be other base character variations, say old/young/child etc.
Later I will focus on how to make new shape keys, using blender - depending on how you want to do this you may want to '''chose Topology that is compatible between the different characters!''' That is you may be able to transfer one "shape" from a male character to a female character, but the result will depend on ''topology compatibility''. I will/may thus update this section to make sure
'''Shape key names''' will be the same for all of the base characters, as they come from - however you will be able to make new keys. You must name these keys the same for all MH characters, like these share the same skeleton (MH_Skelton) they must hold all the same shape keys names. If they don't your game may "break"....
===Export your base-character===
You can now take a break - or you can export your work. There are really tree options for you to look at:
* Save the FBX file directly
* Save a MHX2 file (you may need to install this as a option/utility, find our elsewhere!)
* Load the character to '''Blender''' directly via the link (I will get back to what can be done using that!)
I suggest that you save your base-character now, in both formats - FBX and MHX2! Make a specific 'Base-Characters' folder, because you will need it!
When you export the FBX use these options:
[[File:MH-FBX-export-options.png]]
This is the result for me, you should see something like this also:
[[File:MH-Base-Character-Folder.png]]
You should also see that there is a sub-folder, called Textures - this is where the different textures are saved and it should now look like this:
[[File:MH-Base-Character-Folder-textures.png]]
You can now go over all of the different textures, so you will have a wide selection to chose from. Textures are saved every time you save a FBX file!
Say, I change the base-characters textures, saved the FBX - and this is what I got:
[[File:MH-Base-Character-Folder-textures2.png]]
===Import your base-character to UE4 - FBX===
The FBX file will actually import directly to UE4, but there are a few problems! You should export your FBX file as Binary FBX, and you will get the most out of it. After this you can get to this result (after adjusting the materials, as seen below):
[[File:MH-MH-FBX-imported.png]]
Your character can look like this (after adjusting materials) - pretty good:
[[File:MH-MH-FBX-imported-materials.png]]
'''HOWEVER, you have lost the morph-targets! And as you probably noticed, the UE4 standard FBX import do import them!'''
I will get back to what to do about the shape-keys... but let make the materials first?
==Makehuman UE4 materials==
When you import the FBX made you exported from Makehuman, both textures and materials are made. You will also notice that UE4 will try to match the materials correctly to the material slots, as seen above in the 'Asset Details' of, in my case, averagedude-base (do not worry about the physics and the skeleton yet!).
To get you started, we need to take a look at the Eye, Eyelashes and Eyebrow materials...
===Eye and teeth materials===
First you can rename the '''high-poly''' material '''high-poly-''blue-eye''''' - or to whatever color you chose! You will probably make more eye materials.
Next you can double-click the material, to open the material-editor and change it to look something like this:
[[File:Ue4-26-eye-material.JPG]]
Your teeth material should look like this:
[[File:Ue4-26-teeth-material.jpg]]
Other parts of the materials my need to be setup like this also. Please add more suggestions, and feel free to edit this page!
===Eyelashes and Eyebrow materials===
Likewise you can set up the eyelashes, and the eyebrows are the same only you do not need ''two sided'' for the bows:
[[File:MH-UE4-Eyelashes-material.png]]
!?You may want to play with the shading model.
===Skin materials===
I wanted to have a very diverse skin material, that can be used for making a wide range of NPC characters. After experimneting a lot, I found that you can setup parameters and still keep the skin material quite simple. I endend up with a master material, that can be used as an instance... from where I can manipulate sink color and age!
This is the current setup:
[[File:MH UE4 MaterialInstance 1.png]]
The "master material" looks like this in details:
[[File:MH_UE4_MaterialMaster_1.png]]
[[File:MH_UE4_MaterialMaster_2.png]]
===More materials?===
You can simply drag and drop more textures from the the base-character/textures folder, then duplicate and rename the materials, and apply different textures to the renamed materials. At some point I want to be able to customize/randomize (NPC) characters, but I have not yet done that.
Also you can make materials instances with parameters... I will show you howto, but first we need to turn shape-keys into morph-targets.
=Use Blender v 2.80 to get more!!=
For some reason the exported FBX file is not organized in a way so you will get the shape-keys imported directly to UE4. However when you follow the next steps, you will not get the correct materials imported, so I recommend that you run FBX import as shown above, and save the textures/materials in a separate folder.
If you are new to Blender please run a few tutorials specifically on on how to import/export, and also get to know about collections - you can do a lot in Blender and you can get confused!
==What will be done here?==
I will show you how to:
* Import your MHX2 files, to preserve the shape-keys
* Export FBX files, so UE4 will import correctly with morph-targets
* Apply expressions etc. to your base character
* Import these to your Blender file and apply the expressions as '''new shape keys'''
==But, first import and inspect FBX and MHX2!==
As you may remember you exported two files, the FBX file and the MHX2 file. You want to import both of these files into Blender, so you need two Collections, called FBX and MHX2. You right-click on the 'Scene collection' select 'New' and rename the collections to 'FBX' and 'MHX2'... I also added Scene collection and dragged the Camera and Light there (as I deleted the box). After this you should see something link this (the small Icons may be different):
[[File:MH-Base-Blender-setup.png]]
When you import your FBX file select/highlight the FBX collection, so the FBX data get imported into that collection. You can use the standard import options. For MHX2 you need to change the setting to match those you see below - when you find they are correct you can click the + sign, marked with a yellow arrow, and save the setting with your own setting-name.
(You may notice that the character you imported is out of proportions, some 17-18 meters high, we will correct that when we export to UE4!)
[[File:MH-Blender-FBX-import-options.png]]
===Inspect the results, in Blender===
Now is a good time to save the Blender file. You should save this in the same folder as the FBX and MHX2. I call this file averagedude-base.blend.
If you did this approximately as described the result should be munch like below. And you will probably notice that there is some structural differences. You can see that by looking at the small icons [[File:MH-Blender-base-imported-icons.png]], that represent where modifiers, vertex groups and Object data is stored! Specifically the Object data holds the shape-keys and those were not imported. (perhaps because I did not use the correct FBX import options - but the same happens in UE4!).
[[File:MH-Blender-base-imported.png]]
You will notice that the MHX2 version of your character holds the Object data (the triangle) and that shape-keys can be seen there!
==Export the FBX for your base character, and import to UE4==
The next step is crucial for getting things to work in UE4, it is not very complicated but you need to have a plan.
When you did this correctly you should be able to get the following results:
* Import your base character into UE4
* Create retargeting for your common skeleton - called MH_Skeleton
* Retarget the Maniqin animations to your base character(s)
* Get additional Mixamo animations
===FBX export settings===
'''Important!''' Before you go any further you should rename your base character to '''main_root''', like this:
[[File:MH-Base-FBX-main-root.png]]
.... you should do this for all base characters! main_root will be the root bone in your skeleton. When you do it like this, all of your base characters will be able to share the same skeleton!
Now select the MHX2 collection where you have the character, and go to Export FBX.
I have made a 'Operator preset' for the FBX export, this is the options you need to set:
[[File:MH-Base-FBX-operator-presets.png]]
Place the FBX file in the same folder as where you placed the original FBX and the MHX2. You probably do not need the FBX that you made with Makehuman, and you can always make it again?
(You may however want to export more FBX files from Makehuman, simply to get all of the textures. We will look more into how you can use the skin textures!)
==UE4 import, and retarget ==
Go to your UE4 project and make a MH folder containing a new avaragedude folder, and import your base character there!
During the import of the FBX file from Blender into UE4 you must enable the '''Import Morp Targets''' checkbox manually (expand the Mesh section)!
Observe that this character looks very much like the one you did already import from the original FBX, there are little difference - yet you want to set up this as your real base character.
Also you want to rename the skeleton to '''MH_Skeleton'''! And you want to open the skeleton, and retarget it to the humanoid rig... this should look like this:
[[File:MH-Base-Skeleton-Retarget.png]]
Make sure that your character is in T-Pose, as you want to retarget the Mannequin animations to your characters MH_Skeleton!
Make a animation folder in your MH, perhaps even Mannequin folder?
You go to the UE4 folder: Content/Mannequin/Animations and right-click on this animation: '''ThirdPerson_AnimBP'''
Select retarget and choose MH_Skeleton as your target - also select the animation folder you made before, something like this:
[[File:MH-Base-Animation-Retarget.png]]
You may want to rename your new ThirdPerson_AnimBP to '''''MH''_ThirdPerson_AnimBP''' - or perhaps simply MH_AnimBP?
===Translation Retargeting===
After the retargeting the animations will still look odd. You go to the skeleton tree, then check off the "Show Retargeting Options" and set those at and below the spline to Skeleton (recursively) - that looks something like this:
[[File:MH-Anim-Skeleton.png]]
=More shape keys, made in Blender 2.8=
I have not yet made any target in MH, also I have not had much luck in using the two blender addons. Frankly I don't really understand what the different buttons does, most of them are not active... perhaps they make sens if you use Blender a lot?
But I will show you different ways to get expressions, targets and skeleton animations(!) to shape keys, so then will be new morph targets in UE4!
Before you get started you should probably look at a few Blender tutorials regarding this - these are good:
===Tutorials===
General introduction to MHX2 import and animation. However '''do not''' import the resulting characters into UE4?
{{#ev:youtube|2P1t_nogbGs}}
Short general introduction to using shape keys in Blender 2.8:
{{#ev:youtube|e675Ulc7QL4}}
==Expressions and targets==
Make sure that you have your original base character saved and load it into Makehuman. Remember to check that your base character is in the T-Pose, do not change that!
'''Just in case:''' I recommend that you keep a copy of this file as well as all the blender file etc.
You should also have Blender open and load the .blender file where you saved both your FBX and the MHX2.
Before you go on do as follows: move the MHX2 character to x 10m, so the entire character moves to the left (right to your front view) - this will make it more easy for you to work with! (Save the blender file!)
'''This is the general workflow for transfer of expressions:'''
Makehuman:
* Go to the Pose/Animate tab and select Expressions. From the list select the first expression, Anger01.
* Save the character as .mhx2 - but to a different file name: averagedude-base-expression.mhx2.
Blender:
* In blender, deselect all the collections
* Import the file you made, using the same operator presets as yo saved them.
* Activate your Base character collection and you will have two characters side by side - one base character and a very angry one!
* Go to object mode
* '''Left-click-select''' the angry guy first, then '''shift-left-click''' your base character.
* Go to the vertex tab/shape key, and click on the little down arrow, and select the ''Join as shapes'' - like this:
[[File:MH-Blender-shapekey1.png]]
This will make a brand new shape key: Averagedude_base_expression:Proxy
* You rename the shape key by a double-click and call it '''Exp_Anger01'''..
* ... and assign the Vertex group to head
[[File:MH-Blender-shapekey2.png]]
In case you can not select ''Join as shapes'' the two characters were not selected in the right order, or perhaps the topology is not the same. Blender will show this as a message some where at the bottom of the screen. I this happens try the blender workflow, in this paragraph only , again!
You can now try to change the value for the shape key, and you should see that your base character can get angry!
When this worked for you you can save the blender file! And you should now do your very first re-import of the FBX. You save your base character in a FBX and Import it to UE4. To be 100% safe you can save and import to different names and folders, but in the end you will re-import the base character each time you do one or more new shape keys.
When you see this working in UE4, you can go on to the next expressions - I simply delete the Averagedude_base_expression collection and save the next expression in the same file. You can naturally do as many expressions as you want. leave some out etc... as you like!
==Observations about Blender 2.8==
You may notice that you can mess this up, so please save your blender file and back up! Say you can easily merge your base character with the expression MHX2 or do something else to corrupt your work!
Please also note that the Vertex Group/relative to, '''head''' and '''Basis''', are rather important! The shape key will change the entire body, to the T-Pose, if head is not set. Likewise you can make some shape keys relative to an other shape key - this will be important a bit later, when we do more "advanced" stuff!
=Blender 2.8 - a bit more advanced?=
This is very fine - we can make your base character use all the expressions, and they can be combined! Also you can tamper with them in UE4, say you can combine them and you can even set minus values, or extreme values not "allowed" in Blender. But you obviously want more than that?
Perhaps you can find some special "targets" you want to use?
6395e7a99996e5c8eb2e1892b096266bc8b9ffa1
2027
1992
2021-02-14T13:10:42Z
Assetdk
89
/* Eye materials */
wikitext
text/x-wiki
Please take a look at this page: [[Documentation:MH4UE|MH4UE]] - to get an overview of things you can use to get your Makehuman characters into Unreal Engine!
*
=What can and can't be done?=
I have been working on getting different characters into UE4 for some time, and this have been a real hassle!
On this page I want to summarize what I managed to get done using a workflow that involves Blender. I have had a focus on not going into much details regarding any of the tools, but you will need to know a few things. Even though this looks like a trivial task there are some pitfalls and also there are some things that can not be done, or I have just not found out how to. I will eventually also add links to all the YT tutorials I found helpful.
I found that working with Makehuman very easy, so focus will be very UE4 how to specific.
This is what I will cover thus far:
* Create and save any MH character in Makehuman. Basic stuff, and important things to avoid.
* Getting the character into Blender - import or link?
* Setup Blender for Export, shape keys and morph targets
* First import into UE4
* Introduction to more shape keys
* Get the Cloth working
* Mixamo animations
This is the stuff that I did not cover - yet:
* Animations for talking (other tutorials may help)
* Making custom cloth
* Hair
This is the stuff I can not get to work:
* Retargeting to Advanced Locomotion System V3/4
* ALS got something to work! [[Documentation:Saving models for Unreal Engine and how to import them there/ALS]]
* [[Documentation:Unreal Engine ALS V4]]
Since I am using/learning Blender 2.8, I want to share a bit of bonus info. I managed to make one of the free UE4 packages work a bit "better". That is your characters should have some transportation. This is how:
* [[Documentation:Unreal Engine Vehicle Variety Pack]]
=Getting started=
I wanted a quick way to populate a UE4 game, preferably with an unlimited number of varied characters of high quality. This has proven to be a bit harder than expected. The workflow for making characters is not as trivial as one would want but this guide should make it a bit more easy to do. I will focus on describing the "straight" path from Makehuman and into UE4 - so you will not find too much details about Blender. Please refer to Blender specific pages for more on that.
==Need to know==
There are a few terms that you need to know, say you need to know that you will import FBX, textures and other files into UE4. Also you will need to know that a Character consists of a '''Mesh''', a '''Skeleton''' and '''''materials''''' (that refers to textures). I will try to elaborate on these subjects as we go along...
==Making a base-character==
'''IMPORTANT new comment:'''
I have been working with these base-characters on and off for some time now, and I realized that:
'''You should not change the pose before creating the base character.'''
The reason for this is that the T-Pose will not be kept/maintained throughout using makehuman, specifically when you use the utility/
expression mixer. And that will, in time, mess up the option to set expressions as shape keys in Blender.
Blender will, when you set the shape key set the entire body as a "shape", say your base character is in T-Pose then the A-pose will be set
as part of the shape key.
Makehuman provides a range of predefined characters that is supposed to work as-is. You can just load a character, export it to FBX and import that into UE4 - and after a bit of work you can have a working player character! There are however a few pitfalls, so I suggest you make one (or more) base-character(s) that you can elaborate on as you go along. I will be working with ''''''averagedude'''''' as my base-character.
These are the steps to make the base characters:
* Open Makehuman
* Select the files tab and load the character
'''Under 'Geometries''''
* Remove cloth - (uncheck Hide faces under cloth)!
* Remove hair
* Add Teeth
* Choose Topology - '''I have no advice on this - but see comment below!'''
* Chose Eyebrows/Eyelashes, these can be changed as you go along - as can eye colors!
* Add Tongue01 (again I have no advice/recommendation on that, yet)
'''Under 'Materials'''' - I will show you how to work with UE4 "advanced" materials:
* Chose any skin that you like,
* Chose any eyes that you like
'''Under 'Pose/Animate''''
* Chose Skeleton: Uengine - if you do not have this already you my get it via the community tab?
* Chose Pose: Tpose (the last one on the list)
* Chose Expressions: none
And this is it! But there is one 'important' option you need know about - you need to '''uncheck''' the Smooth button!
The smooth button/option: [[File:MH-Smooth-option.png]] should be unchecked... that will make your character a bit less attractive, but this will preserve the shape-keys!
Makehuman comes with some 50-60 '''shape-keys''' and these will all be available as '''morph-targets''' in UE4. I will show you how to make more shape-keys, using makehuman+blender!
Now it is time to save your base-character - even though you have made very few changes to the file you should save this file under the save tab and name it
<your-name>-base (say averagedude-base), you can even add your very own tag 'base' to this.
When you save the file like this you will be able to reload it, and we need that later!
====Choose Topology/Shape keys====
When you make your base character without smoothing you get shape keys, and you want to share these between different characters. Specifically you would probably want to share face morphs between male and female characters - and there may be other base character variations, say old/young/child etc.
Later I will focus on how to make new shape keys, using blender - depending on how you want to do this you may want to '''chose Topology that is compatible between the different characters!''' That is you may be able to transfer one "shape" from a male character to a female character, but the result will depend on ''topology compatibility''. I will/may thus update this section to make sure
'''Shape key names''' will be the same for all of the base characters, as they come from - however you will be able to make new keys. You must name these keys the same for all MH characters, like these share the same skeleton (MH_Skelton) they must hold all the same shape keys names. If they don't your game may "break"....
===Export your base-character===
You can now take a break - or you can export your work. There are really tree options for you to look at:
* Save the FBX file directly
* Save a MHX2 file (you may need to install this as a option/utility, find our elsewhere!)
* Load the character to '''Blender''' directly via the link (I will get back to what can be done using that!)
I suggest that you save your base-character now, in both formats - FBX and MHX2! Make a specific 'Base-Characters' folder, because you will need it!
When you export the FBX use these options:
[[File:MH-FBX-export-options.png]]
This is the result for me, you should see something like this also:
[[File:MH-Base-Character-Folder.png]]
You should also see that there is a sub-folder, called Textures - this is where the different textures are saved and it should now look like this:
[[File:MH-Base-Character-Folder-textures.png]]
You can now go over all of the different textures, so you will have a wide selection to chose from. Textures are saved every time you save a FBX file!
Say, I change the base-characters textures, saved the FBX - and this is what I got:
[[File:MH-Base-Character-Folder-textures2.png]]
===Import your base-character to UE4 - FBX===
The FBX file will actually import directly to UE4, but there are a few problems! You should export your FBX file as Binary FBX, and you will get the most out of it. After this you can get to this result (after adjusting the materials, as seen below):
[[File:MH-MH-FBX-imported.png]]
Your character can look like this (after adjusting materials) - pretty good:
[[File:MH-MH-FBX-imported-materials.png]]
'''HOWEVER, you have lost the morph-targets! And as you probably noticed, the UE4 standard FBX import do import them!'''
I will get back to what to do about the shape-keys... but let make the materials first?
==Makehuman UE4 materials==
When you import the FBX made you exported from Makehuman, both textures and materials are made. You will also notice that UE4 will try to match the materials correctly to the material slots, as seen above in the 'Asset Details' of, in my case, averagedude-base (do not worry about the physics and the skeleton yet!).
To get you started, we need to take a look at the Eye, Eyelashes and Eyebrow materials...
===Eye and teeth materials===
First you can rename the '''high-poly''' material '''high-poly-''blue-eye''''' - or to whatever color you chose! You will probably make more eye materials.
Next you can double-click the material, to open the material-editor and change it to look something like this:
[[File:Ue4-26-eye-material.JPG]]
Your teeth material should look like this:
[[File:Ue4-26-teeth-material.jpg]]
Other parts of the materials my need to be setup like this also. Please add more suggestions, and feel free to edit this page!
===Eyelashes and Eyebrow materials===
Likewise you can set up the eyelashes, and the eyebrows are the same only you do not need ''two sided'' for the bows:
[[File:MH-UE4-Eyelashes-material.png]]
!?You may want to play with the shading model.
===More materials?===
You can simply drag and drop more textures from the the base-character/textures folder, then duplicate and rename the materials, and apply different textures to the renamed materials. At some point I want to be able to customize/randomize (NPC) characters, but I have not yet done that.
Also you can make materials instances with parameters... I will show you howto, but first we need to turn shape-keys into morph-targets.
=Use Blender v 2.80 to get more!!=
For some reason the exported FBX file is not organized in a way so you will get the shape-keys imported directly to UE4. However when you follow the next steps, you will not get the correct materials imported, so I recommend that you run FBX import as shown above, and save the textures/materials in a separate folder.
If you are new to Blender please run a few tutorials specifically on on how to import/export, and also get to know about collections - you can do a lot in Blender and you can get confused!
==What will be done here?==
I will show you how to:
* Import your MHX2 files, to preserve the shape-keys
* Export FBX files, so UE4 will import correctly with morph-targets
* Apply expressions etc. to your base character
* Import these to your Blender file and apply the expressions as '''new shape keys'''
==But, first import and inspect FBX and MHX2!==
As you may remember you exported two files, the FBX file and the MHX2 file. You want to import both of these files into Blender, so you need two Collections, called FBX and MHX2. You right-click on the 'Scene collection' select 'New' and rename the collections to 'FBX' and 'MHX2'... I also added Scene collection and dragged the Camera and Light there (as I deleted the box). After this you should see something link this (the small Icons may be different):
[[File:MH-Base-Blender-setup.png]]
When you import your FBX file select/highlight the FBX collection, so the FBX data get imported into that collection. You can use the standard import options. For MHX2 you need to change the setting to match those you see below - when you find they are correct you can click the + sign, marked with a yellow arrow, and save the setting with your own setting-name.
(You may notice that the character you imported is out of proportions, some 17-18 meters high, we will correct that when we export to UE4!)
[[File:MH-Blender-FBX-import-options.png]]
===Inspect the results, in Blender===
Now is a good time to save the Blender file. You should save this in the same folder as the FBX and MHX2. I call this file averagedude-base.blend.
If you did this approximately as described the result should be munch like below. And you will probably notice that there is some structural differences. You can see that by looking at the small icons [[File:MH-Blender-base-imported-icons.png]], that represent where modifiers, vertex groups and Object data is stored! Specifically the Object data holds the shape-keys and those were not imported. (perhaps because I did not use the correct FBX import options - but the same happens in UE4!).
[[File:MH-Blender-base-imported.png]]
You will notice that the MHX2 version of your character holds the Object data (the triangle) and that shape-keys can be seen there!
==Export the FBX for your base character, and import to UE4==
The next step is crucial for getting things to work in UE4, it is not very complicated but you need to have a plan.
When you did this correctly you should be able to get the following results:
* Import your base character into UE4
* Create retargeting for your common skeleton - called MH_Skeleton
* Retarget the Maniqin animations to your base character(s)
* Get additional Mixamo animations
===FBX export settings===
'''Important!''' Before you go any further you should rename your base character to '''main_root''', like this:
[[File:MH-Base-FBX-main-root.png]]
.... you should do this for all base characters! main_root will be the root bone in your skeleton. When you do it like this, all of your base characters will be able to share the same skeleton!
Now select the MHX2 collection where you have the character, and go to Export FBX.
I have made a 'Operator preset' for the FBX export, this is the options you need to set:
[[File:MH-Base-FBX-operator-presets.png]]
Place the FBX file in the same folder as where you placed the original FBX and the MHX2. You probably do not need the FBX that you made with Makehuman, and you can always make it again?
(You may however want to export more FBX files from Makehuman, simply to get all of the textures. We will look more into how you can use the skin textures!)
==UE4 import, and retarget ==
Go to your UE4 project and make a MH folder containing a new avaragedude folder, and import your base character there!
During the import of the FBX file from Blender into UE4 you must enable the '''Import Morp Targets''' checkbox manually (expand the Mesh section)!
Observe that this character looks very much like the one you did already import from the original FBX, there are little difference - yet you want to set up this as your real base character.
Also you want to rename the skeleton to '''MH_Skeleton'''! And you want to open the skeleton, and retarget it to the humanoid rig... this should look like this:
[[File:MH-Base-Skeleton-Retarget.png]]
Make sure that your character is in T-Pose, as you want to retarget the Mannequin animations to your characters MH_Skeleton!
Make a animation folder in your MH, perhaps even Mannequin folder?
You go to the UE4 folder: Content/Mannequin/Animations and right-click on this animation: '''ThirdPerson_AnimBP'''
Select retarget and choose MH_Skeleton as your target - also select the animation folder you made before, something like this:
[[File:MH-Base-Animation-Retarget.png]]
You may want to rename your new ThirdPerson_AnimBP to '''''MH''_ThirdPerson_AnimBP''' - or perhaps simply MH_AnimBP?
===Translation Retargeting===
After the retargeting the animations will still look odd. You go to the skeleton tree, then check off the "Show Retargeting Options" and set those at and below the spline to Skeleton (recursively) - that looks something like this:
[[File:MH-Anim-Skeleton.png]]
=More shape keys, made in Blender 2.8=
I have not yet made any target in MH, also I have not had much luck in using the two blender addons. Frankly I don't really understand what the different buttons does, most of them are not active... perhaps they make sens if you use Blender a lot?
But I will show you different ways to get expressions, targets and skeleton animations(!) to shape keys, so then will be new morph targets in UE4!
Before you get started you should probably look at a few Blender tutorials regarding this - these are good:
===Tutorials===
General introduction to MHX2 import and animation. However '''do not''' import the resulting characters into UE4?
{{#ev:youtube|2P1t_nogbGs}}
Short general introduction to using shape keys in Blender 2.8:
{{#ev:youtube|e675Ulc7QL4}}
==Expressions and targets==
Make sure that you have your original base character saved and load it into Makehuman. Remember to check that your base character is in the T-Pose, do not change that!
'''Just in case:''' I recommend that you keep a copy of this file as well as all the blender file etc.
You should also have Blender open and load the .blender file where you saved both your FBX and the MHX2.
Before you go on do as follows: move the MHX2 character to x 10m, so the entire character moves to the left (right to your front view) - this will make it more easy for you to work with! (Save the blender file!)
'''This is the general workflow for transfer of expressions:'''
Makehuman:
* Go to the Pose/Animate tab and select Expressions. From the list select the first expression, Anger01.
* Save the character as .mhx2 - but to a different file name: averagedude-base-expression.mhx2.
Blender:
* In blender, deselect all the collections
* Import the file you made, using the same operator presets as yo saved them.
* Activate your Base character collection and you will have two characters side by side - one base character and a very angry one!
* Go to object mode
* '''Left-click-select''' the angry guy first, then '''shift-left-click''' your base character.
* Go to the vertex tab/shape key, and click on the little down arrow, and select the ''Join as shapes'' - like this:
[[File:MH-Blender-shapekey1.png]]
This will make a brand new shape key: Averagedude_base_expression:Proxy
* You rename the shape key by a double-click and call it '''Exp_Anger01'''..
* ... and assign the Vertex group to head
[[File:MH-Blender-shapekey2.png]]
In case you can not select ''Join as shapes'' the two characters were not selected in the right order, or perhaps the topology is not the same. Blender will show this as a message some where at the bottom of the screen. I this happens try the blender workflow, in this paragraph only , again!
You can now try to change the value for the shape key, and you should see that your base character can get angry!
When this worked for you you can save the blender file! And you should now do your very first re-import of the FBX. You save your base character in a FBX and Import it to UE4. To be 100% safe you can save and import to different names and folders, but in the end you will re-import the base character each time you do one or more new shape keys.
When you see this working in UE4, you can go on to the next expressions - I simply delete the Averagedude_base_expression collection and save the next expression in the same file. You can naturally do as many expressions as you want. leave some out etc... as you like!
==Observations about Blender 2.8==
You may notice that you can mess this up, so please save your blender file and back up! Say you can easily merge your base character with the expression MHX2 or do something else to corrupt your work!
Please also note that the Vertex Group/relative to, '''head''' and '''Basis''', are rather important! The shape key will change the entire body, to the T-Pose, if head is not set. Likewise you can make some shape keys relative to an other shape key - this will be important a bit later, when we do more "advanced" stuff!
=Blender 2.8 - a bit more advanced?=
This is very fine - we can make your base character use all the expressions, and they can be combined! Also you can tamper with them in UE4, say you can combine them and you can even set minus values, or extreme values not "allowed" in Blender. But you obviously want more than that?
Perhaps you can find some special "targets" you want to use?
5af77600984a5b5934946b5ef49f6649c891598f
1992
1982
2021-01-25T16:39:12Z
Fortuna
107
Important missing step at UE4 Import tested with UE4.26 and Blender 2.90.1
wikitext
text/x-wiki
Please take a look at this page: [[Documentation:MH4UE|MH4UE]] - to get an overview of things you can use to get your Makehuman characters into Unreal Engine!
*
=What can and can't be done?=
I have been working on getting different characters into UE4 for some time, and this have been a real hassle!
On this page I want to summarize what I managed to get done using a workflow that involves Blender. I have had a focus on not going into much details regarding any of the tools, but you will need to know a few things. Even though this looks like a trivial task there are some pitfalls and also there are some things that can not be done, or I have just not found out how to. I will eventually also add links to all the YT tutorials I found helpful.
I found that working with Makehuman very easy, so focus will be very UE4 how to specific.
This is what I will cover thus far:
* Create and save any MH character in Makehuman. Basic stuff, and important things to avoid.
* Getting the character into Blender - import or link?
* Setup Blender for Export, shape keys and morph targets
* First import into UE4
* Introduction to more shape keys
* Get the Cloth working
* Mixamo animations
This is the stuff that I did not cover - yet:
* Animations for talking (other tutorials may help)
* Making custom cloth
* Hair
This is the stuff I can not get to work:
* Retargeting to Advanced Locomotion System V3/4
* ALS got something to work! [[Documentation:Saving models for Unreal Engine and how to import them there/ALS]]
* [[Documentation:Unreal Engine ALS V4]]
Since I am using/learning Blender 2.8, I want to share a bit of bonus info. I managed to make one of the free UE4 packages work a bit "better". That is your characters should have some transportation. This is how:
* [[Documentation:Unreal Engine Vehicle Variety Pack]]
=Getting started=
I wanted a quick way to populate a UE4 game, preferably with an unlimited number of varied characters of high quality. This has proven to be a bit harder than expected. The workflow for making characters is not as trivial as one would want but this guide should make it a bit more easy to do. I will focus on describing the "straight" path from Makehuman and into UE4 - so you will not find too much details about Blender. Please refer to Blender specific pages for more on that.
==Need to know==
There are a few terms that you need to know, say you need to know that you will import FBX, textures and other files into UE4. Also you will need to know that a Character consists of a '''Mesh''', a '''Skeleton''' and '''''materials''''' (that refers to textures). I will try to elaborate on these subjects as we go along...
==Making a base-character==
'''IMPORTANT new comment:'''
I have been working with these base-characters on and off for some time now, and I realized that:
'''You should not change the pose before creating the base character.'''
The reason for this is that the T-Pose will not be kept/maintained throughout using makehuman, specifically when you use the utility/
expression mixer. And that will, in time, mess up the option to set expressions as shape keys in Blender.
Blender will, when you set the shape key set the entire body as a "shape", say your base character is in T-Pose then the A-pose will be set
as part of the shape key.
Makehuman provides a range of predefined characters that is supposed to work as-is. You can just load a character, export it to FBX and import that into UE4 - and after a bit of work you can have a working player character! There are however a few pitfalls, so I suggest you make one (or more) base-character(s) that you can elaborate on as you go along. I will be working with ''''''averagedude'''''' as my base-character.
These are the steps to make the base characters:
* Open Makehuman
* Select the files tab and load the character
'''Under 'Geometries''''
* Remove cloth - (uncheck Hide faces under cloth)!
* Remove hair
* Add Teeth
* Choose Topology - '''I have no advice on this - but see comment below!'''
* Chose Eyebrows/Eyelashes, these can be changed as you go along - as can eye colors!
* Add Tongue01 (again I have no advice/recommendation on that, yet)
'''Under 'Materials'''' - I will show you how to work with UE4 "advanced" materials:
* Chose any skin that you like,
* Chose any eyes that you like
'''Under 'Pose/Animate''''
* Chose Skeleton: Uengine - if you do not have this already you my get it via the community tab?
* Chose Pose: Tpose (the last one on the list)
* Chose Expressions: none
And this is it! But there is one 'important' option you need know about - you need to '''uncheck''' the Smooth button!
The smooth button/option: [[File:MH-Smooth-option.png]] should be unchecked... that will make your character a bit less attractive, but this will preserve the shape-keys!
Makehuman comes with some 50-60 '''shape-keys''' and these will all be available as '''morph-targets''' in UE4. I will show you how to make more shape-keys, using makehuman+blender!
Now it is time to save your base-character - even though you have made very few changes to the file you should save this file under the save tab and name it
<your-name>-base (say averagedude-base), you can even add your very own tag 'base' to this.
When you save the file like this you will be able to reload it, and we need that later!
====Choose Topology/Shape keys====
When you make your base character without smoothing you get shape keys, and you want to share these between different characters. Specifically you would probably want to share face morphs between male and female characters - and there may be other base character variations, say old/young/child etc.
Later I will focus on how to make new shape keys, using blender - depending on how you want to do this you may want to '''chose Topology that is compatible between the different characters!''' That is you may be able to transfer one "shape" from a male character to a female character, but the result will depend on ''topology compatibility''. I will/may thus update this section to make sure
'''Shape key names''' will be the same for all of the base characters, as they come from - however you will be able to make new keys. You must name these keys the same for all MH characters, like these share the same skeleton (MH_Skelton) they must hold all the same shape keys names. If they don't your game may "break"....
===Export your base-character===
You can now take a break - or you can export your work. There are really tree options for you to look at:
* Save the FBX file directly
* Save a MHX2 file (you may need to install this as a option/utility, find our elsewhere!)
* Load the character to '''Blender''' directly via the link (I will get back to what can be done using that!)
I suggest that you save your base-character now, in both formats - FBX and MHX2! Make a specific 'Base-Characters' folder, because you will need it!
When you export the FBX use these options:
[[File:MH-FBX-export-options.png]]
This is the result for me, you should see something like this also:
[[File:MH-Base-Character-Folder.png]]
You should also see that there is a sub-folder, called Textures - this is where the different textures are saved and it should now look like this:
[[File:MH-Base-Character-Folder-textures.png]]
You can now go over all of the different textures, so you will have a wide selection to chose from. Textures are saved every time you save a FBX file!
Say, I change the base-characters textures, saved the FBX - and this is what I got:
[[File:MH-Base-Character-Folder-textures2.png]]
===Import your base-character to UE4 - FBX===
The FBX file will actually import directly to UE4, but there are a few problems! You should export your FBX file as Binary FBX, and you will get the most out of it. After this you can get to this result (after adjusting the materials, as seen below):
[[File:MH-MH-FBX-imported.png]]
Your character can look like this (after adjusting materials) - pretty good:
[[File:MH-MH-FBX-imported-materials.png]]
'''HOWEVER, you have lost the morph-targets! And as you probably noticed, the UE4 standard FBX import do import them!'''
I will get back to what to do about the shape-keys... but let make the materials first?
==Makehuman UE4 materials==
When you import the FBX made you exported from Makehuman, both textures and materials are made. You will also notice that UE4 will try to match the materials correctly to the material slots, as seen above in the 'Asset Details' of, in my case, averagedude-base (do not worry about the physics and the skeleton yet!).
To get you started, we need to take a look at the Eye, Eyelashes and Eyebrow materials...
===Eye materials===
First you can rename the '''high-poly''' material '''high-poly-''blue-eye''''' - or to whatever color you chose! You will probably make more eye materials.
Next you can double-click the material, to open the material-editor and change it to look something like this:
[[File:MH-UE4-Eye-material.png]]
===Eyelashes and Eyebrow materials===
Likewise you can set up the eyelashes, and the eyebrows are the same only you do not need ''two sided'' for the bows:
[[File:MH-UE4-Eyelashes-material.png]]
!?You may want to play with the shading model.
===More materials?===
You can simply drag and drop more textures from the the base-character/textures folder, then duplicate and rename the materials, and apply different textures to the renamed materials. At some point I want to be able to customize/randomize (NPC) characters, but I have not yet done that.
Also you can make materials instances with parameters... I will show you howto, but first we need to turn shape-keys into morph-targets.
=Use Blender v 2.80 to get more!!=
For some reason the exported FBX file is not organized in a way so you will get the shape-keys imported directly to UE4. However when you follow the next steps, you will not get the correct materials imported, so I recommend that you run FBX import as shown above, and save the textures/materials in a separate folder.
If you are new to Blender please run a few tutorials specifically on on how to import/export, and also get to know about collections - you can do a lot in Blender and you can get confused!
==What will be done here?==
I will show you how to:
* Import your MHX2 files, to preserve the shape-keys
* Export FBX files, so UE4 will import correctly with morph-targets
* Apply expressions etc. to your base character
* Import these to your Blender file and apply the expressions as '''new shape keys'''
==But, first import and inspect FBX and MHX2!==
As you may remember you exported two files, the FBX file and the MHX2 file. You want to import both of these files into Blender, so you need two Collections, called FBX and MHX2. You right-click on the 'Scene collection' select 'New' and rename the collections to 'FBX' and 'MHX2'... I also added Scene collection and dragged the Camera and Light there (as I deleted the box). After this you should see something link this (the small Icons may be different):
[[File:MH-Base-Blender-setup.png]]
When you import your FBX file select/highlight the FBX collection, so the FBX data get imported into that collection. You can use the standard import options. For MHX2 you need to change the setting to match those you see below - when you find they are correct you can click the + sign, marked with a yellow arrow, and save the setting with your own setting-name.
(You may notice that the character you imported is out of proportions, some 17-18 meters high, we will correct that when we export to UE4!)
[[File:MH-Blender-FBX-import-options.png]]
===Inspect the results, in Blender===
Now is a good time to save the Blender file. You should save this in the same folder as the FBX and MHX2. I call this file averagedude-base.blend.
If you did this approximately as described the result should be munch like below. And you will probably notice that there is some structural differences. You can see that by looking at the small icons [[File:MH-Blender-base-imported-icons.png]], that represent where modifiers, vertex groups and Object data is stored! Specifically the Object data holds the shape-keys and those were not imported. (perhaps because I did not use the correct FBX import options - but the same happens in UE4!).
[[File:MH-Blender-base-imported.png]]
You will notice that the MHX2 version of your character holds the Object data (the triangle) and that shape-keys can be seen there!
==Export the FBX for your base character, and import to UE4==
The next step is crucial for getting things to work in UE4, it is not very complicated but you need to have a plan.
When you did this correctly you should be able to get the following results:
* Import your base character into UE4
* Create retargeting for your common skeleton - called MH_Skeleton
* Retarget the Maniqin animations to your base character(s)
* Get additional Mixamo animations
===FBX export settings===
'''Important!''' Before you go any further you should rename your base character to '''main_root''', like this:
[[File:MH-Base-FBX-main-root.png]]
.... you should do this for all base characters! main_root will be the root bone in your skeleton. When you do it like this, all of your base characters will be able to share the same skeleton!
Now select the MHX2 collection where you have the character, and go to Export FBX.
I have made a 'Operator preset' for the FBX export, this is the options you need to set:
[[File:MH-Base-FBX-operator-presets.png]]
Place the FBX file in the same folder as where you placed the original FBX and the MHX2. You probably do not need the FBX that you made with Makehuman, and you can always make it again?
(You may however want to export more FBX files from Makehuman, simply to get all of the textures. We will look more into how you can use the skin textures!)
==UE4 import, and retarget ==
Go to your UE4 project and make a MH folder containing a new avaragedude folder, and import your base character there!
During the import of the FBX file from Blender into UE4 you must enable the '''Import Morp Targets''' checkbox manually (expand the Mesh section)!
Observe that this character looks very much like the one you did already import from the original FBX, there are little difference - yet you want to set up this as your real base character.
Also you want to rename the skeleton to '''MH_Skeleton'''! And you want to open the skeleton, and retarget it to the humanoid rig... this should look like this:
[[File:MH-Base-Skeleton-Retarget.png]]
Make sure that your character is in T-Pose, as you want to retarget the Mannequin animations to your characters MH_Skeleton!
Make a animation folder in your MH, perhaps even Mannequin folder?
You go to the UE4 folder: Content/Mannequin/Animations and right-click on this animation: '''ThirdPerson_AnimBP'''
Select retarget and choose MH_Skeleton as your target - also select the animation folder you made before, something like this:
[[File:MH-Base-Animation-Retarget.png]]
You may want to rename your new ThirdPerson_AnimBP to '''''MH''_ThirdPerson_AnimBP''' - or perhaps simply MH_AnimBP?
===Translation Retargeting===
After the retargeting the animations will still look odd. You go to the skeleton tree, then check off the "Show Retargeting Options" and set those at and below the spline to Skeleton (recursively) - that looks something like this:
[[File:MH-Anim-Skeleton.png]]
=More shape keys, made in Blender 2.8=
I have not yet made any target in MH, also I have not had much luck in using the two blender addons. Frankly I don't really understand what the different buttons does, most of them are not active... perhaps they make sens if you use Blender a lot?
But I will show you different ways to get expressions, targets and skeleton animations(!) to shape keys, so then will be new morph targets in UE4!
Before you get started you should probably look at a few Blender tutorials regarding this - these are good:
===Tutorials===
General introduction to MHX2 import and animation. However '''do not''' import the resulting characters into UE4?
{{#ev:youtube|2P1t_nogbGs}}
Short general introduction to using shape keys in Blender 2.8:
{{#ev:youtube|e675Ulc7QL4}}
==Expressions and targets==
Make sure that you have your original base character saved and load it into Makehuman. Remember to check that your base character is in the T-Pose, do not change that!
'''Just in case:''' I recommend that you keep a copy of this file as well as all the blender file etc.
You should also have Blender open and load the .blender file where you saved both your FBX and the MHX2.
Before you go on do as follows: move the MHX2 character to x 10m, so the entire character moves to the left (right to your front view) - this will make it more easy for you to work with! (Save the blender file!)
'''This is the general workflow for transfer of expressions:'''
Makehuman:
* Go to the Pose/Animate tab and select Expressions. From the list select the first expression, Anger01.
* Save the character as .mhx2 - but to a different file name: averagedude-base-expression.mhx2.
Blender:
* In blender, deselect all the collections
* Import the file you made, using the same operator presets as yo saved them.
* Activate your Base character collection and you will have two characters side by side - one base character and a very angry one!
* Go to object mode
* '''Left-click-select''' the angry guy first, then '''shift-left-click''' your base character.
* Go to the vertex tab/shape key, and click on the little down arrow, and select the ''Join as shapes'' - like this:
[[File:MH-Blender-shapekey1.png]]
This will make a brand new shape key: Averagedude_base_expression:Proxy
* You rename the shape key by a double-click and call it '''Exp_Anger01'''..
* ... and assign the Vertex group to head
[[File:MH-Blender-shapekey2.png]]
In case you can not select ''Join as shapes'' the two characters were not selected in the right order, or perhaps the topology is not the same. Blender will show this as a message some where at the bottom of the screen. I this happens try the blender workflow, in this paragraph only , again!
You can now try to change the value for the shape key, and you should see that your base character can get angry!
When this worked for you you can save the blender file! And you should now do your very first re-import of the FBX. You save your base character in a FBX and Import it to UE4. To be 100% safe you can save and import to different names and folders, but in the end you will re-import the base character each time you do one or more new shape keys.
When you see this working in UE4, you can go on to the next expressions - I simply delete the Averagedude_base_expression collection and save the next expression in the same file. You can naturally do as many expressions as you want. leave some out etc... as you like!
==Observations about Blender 2.8==
You may notice that you can mess this up, so please save your blender file and back up! Say you can easily merge your base character with the expression MHX2 or do something else to corrupt your work!
Please also note that the Vertex Group/relative to, '''head''' and '''Basis''', are rather important! The shape key will change the entire body, to the T-Pose, if head is not set. Likewise you can make some shape keys relative to an other shape key - this will be important a bit later, when we do more "advanced" stuff!
=Blender 2.8 - a bit more advanced?=
This is very fine - we can make your base character use all the expressions, and they can be combined! Also you can tamper with them in UE4, say you can combine them and you can even set minus values, or extreme values not "allowed" in Blender. But you obviously want more than that?
Perhaps you can find some special "targets" you want to use?
22940cbebd65a26a93ae70f4ec2ea069db2249cd
1982
1981
2021-01-16T17:47:00Z
Assetdk
89
/* Translation Retargeting!! */
wikitext
text/x-wiki
Please take a look at this page: [[Documentation:MH4UE|MH4UE]] - to get an overview of things you can use to get your Makehuman characters into Unreal Engine!
*
=What can and can't be done?=
I have been working on getting different characters into UE4 for some time, and this have been a real hassle!
On this page I want to summarize what I managed to get done using a workflow that involves Blender. I have had a focus on not going into much details regarding any of the tools, but you will need to know a few things. Even though this looks like a trivial task there are some pitfalls and also there are some things that can not be done, or I have just not found out how to. I will eventually also add links to all the YT tutorials I found helpful.
I found that working with Makehuman very easy, so focus will be very UE4 how to specific.
This is what I will cover thus far:
* Create and save any MH character in Makehuman. Basic stuff, and important things to avoid.
* Getting the character into Blender - import or link?
* Setup Blender for Export, shape keys and morph targets
* First import into UE4
* Introduction to more shape keys
* Get the Cloth working
* Mixamo animations
This is the stuff that I did not cover - yet:
* Animations for talking (other tutorials may help)
* Making custom cloth
* Hair
This is the stuff I can not get to work:
* Retargeting to Advanced Locomotion System V3/4
* ALS got something to work! [[Documentation:Saving models for Unreal Engine and how to import them there/ALS]]
* [[Documentation:Unreal Engine ALS V4]]
Since I am using/learning Blender 2.8, I want to share a bit of bonus info. I managed to make one of the free UE4 packages work a bit "better". That is your characters should have some transportation. This is how:
* [[Documentation:Unreal Engine Vehicle Variety Pack]]
=Getting started=
I wanted a quick way to populate a UE4 game, preferably with an unlimited number of varied characters of high quality. This has proven to be a bit harder than expected. The workflow for making characters is not as trivial as one would want but this guide should make it a bit more easy to do. I will focus on describing the "straight" path from Makehuman and into UE4 - so you will not find too much details about Blender. Please refer to Blender specific pages for more on that.
==Need to know==
There are a few terms that you need to know, say you need to know that you will import FBX, textures and other files into UE4. Also you will need to know that a Character consists of a '''Mesh''', a '''Skeleton''' and '''''materials''''' (that refers to textures). I will try to elaborate on these subjects as we go along...
==Making a base-character==
'''IMPORTANT new comment:'''
I have been working with these base-characters on and off for some time now, and I realized that:
'''You should not change the pose before creating the base character.'''
The reason for this is that the T-Pose will not be kept/maintained throughout using makehuman, specifically when you use the utility/
expression mixer. And that will, in time, mess up the option to set expressions as shape keys in Blender.
Blender will, when you set the shape key set the entire body as a "shape", say your base character is in T-Pose then the A-pose will be set
as part of the shape key.
Makehuman provides a range of predefined characters that is supposed to work as-is. You can just load a character, export it to FBX and import that into UE4 - and after a bit of work you can have a working player character! There are however a few pitfalls, so I suggest you make one (or more) base-character(s) that you can elaborate on as you go along. I will be working with ''''''averagedude'''''' as my base-character.
These are the steps to make the base characters:
* Open Makehuman
* Select the files tab and load the character
'''Under 'Geometries''''
* Remove cloth - (uncheck Hide faces under cloth)!
* Remove hair
* Add Teeth
* Choose Topology - '''I have no advice on this - but see comment below!'''
* Chose Eyebrows/Eyelashes, these can be changed as you go along - as can eye colors!
* Add Tongue01 (again I have no advice/recommendation on that, yet)
'''Under 'Materials'''' - I will show you how to work with UE4 "advanced" materials:
* Chose any skin that you like,
* Chose any eyes that you like
'''Under 'Pose/Animate''''
* Chose Skeleton: Uengine - if you do not have this already you my get it via the community tab?
* Chose Pose: Tpose (the last one on the list)
* Chose Expressions: none
And this is it! But there is one 'important' option you need know about - you need to '''uncheck''' the Smooth button!
The smooth button/option: [[File:MH-Smooth-option.png]] should be unchecked... that will make your character a bit less attractive, but this will preserve the shape-keys!
Makehuman comes with some 50-60 '''shape-keys''' and these will all be available as '''morph-targets''' in UE4. I will show you how to make more shape-keys, using makehuman+blender!
Now it is time to save your base-character - even though you have made very few changes to the file you should save this file under the save tab and name it
<your-name>-base (say averagedude-base), you can even add your very own tag 'base' to this.
When you save the file like this you will be able to reload it, and we need that later!
====Choose Topology/Shape keys====
When you make your base character without smoothing you get shape keys, and you want to share these between different characters. Specifically you would probably want to share face morphs between male and female characters - and there may be other base character variations, say old/young/child etc.
Later I will focus on how to make new shape keys, using blender - depending on how you want to do this you may want to '''chose Topology that is compatible between the different characters!''' That is you may be able to transfer one "shape" from a male character to a female character, but the result will depend on ''topology compatibility''. I will/may thus update this section to make sure
'''Shape key names''' will be the same for all of the base characters, as they come from - however you will be able to make new keys. You must name these keys the same for all MH characters, like these share the same skeleton (MH_Skelton) they must hold all the same shape keys names. If they don't your game may "break"....
===Export your base-character===
You can now take a break - or you can export your work. There are really tree options for you to look at:
* Save the FBX file directly
* Save a MHX2 file (you may need to install this as a option/utility, find our elsewhere!)
* Load the character to '''Blender''' directly via the link (I will get back to what can be done using that!)
I suggest that you save your base-character now, in both formats - FBX and MHX2! Make a specific 'Base-Characters' folder, because you will need it!
When you export the FBX use these options:
[[File:MH-FBX-export-options.png]]
This is the result for me, you should see something like this also:
[[File:MH-Base-Character-Folder.png]]
You should also see that there is a sub-folder, called Textures - this is where the different textures are saved and it should now look like this:
[[File:MH-Base-Character-Folder-textures.png]]
You can now go over all of the different textures, so you will have a wide selection to chose from. Textures are saved every time you save a FBX file!
Say, I change the base-characters textures, saved the FBX - and this is what I got:
[[File:MH-Base-Character-Folder-textures2.png]]
===Import your base-character to UE4 - FBX===
The FBX file will actually import directly to UE4, but there are a few problems! You should export your FBX file as Binary FBX, and you will get the most out of it. After this you can get to this result (after adjusting the materials, as seen below):
[[File:MH-MH-FBX-imported.png]]
Your character can look like this (after adjusting materials) - pretty good:
[[File:MH-MH-FBX-imported-materials.png]]
'''HOWEVER, you have lost the morph-targets! And as you probably noticed, the UE4 standard FBX import do import them!'''
I will get back to what to do about the shape-keys... but let make the materials first?
==Makehuman UE4 materials==
When you import the FBX made you exported from Makehuman, both textures and materials are made. You will also notice that UE4 will try to match the materials correctly to the material slots, as seen above in the 'Asset Details' of, in my case, averagedude-base (do not worry about the physics and the skeleton yet!).
To get you started, we need to take a look at the Eye, Eyelashes and Eyebrow materials...
===Eye materials===
First you can rename the '''high-poly''' material '''high-poly-''blue-eye''''' - or to whatever color you chose! You will probably make more eye materials.
Next you can double-click the material, to open the material-editor and change it to look something like this:
[[File:MH-UE4-Eye-material.png]]
===Eyelashes and Eyebrow materials===
Likewise you can set up the eyelashes, and the eyebrows are the same only you do not need ''two sided'' for the bows:
[[File:MH-UE4-Eyelashes-material.png]]
!?You may want to play with the shading model.
===More materials?===
You can simply drag and drop more textures from the the base-character/textures folder, then duplicate and rename the materials, and apply different textures to the renamed materials. At some point I want to be able to customize/randomize (NPC) characters, but I have not yet done that.
Also you can make materials instances with parameters... I will show you howto, but first we need to turn shape-keys into morph-targets.
=Use Blender v 2.80 to get more!!=
For some reason the exported FBX file is not organized in a way so you will get the shape-keys imported directly to UE4. However when you follow the next steps, you will not get the correct materials imported, so I recommend that you run FBX import as shown above, and save the textures/materials in a separate folder.
If you are new to Blender please run a few tutorials specifically on on how to import/export, and also get to know about collections - you can do a lot in Blender and you can get confused!
==What will be done here?==
I will show you how to:
* Import your MHX2 files, to preserve the shape-keys
* Export FBX files, so UE4 will import correctly with morph-targets
* Apply expressions etc. to your base character
* Import these to your Blender file and apply the expressions as '''new shape keys'''
==But, first import and inspect FBX and MHX2!==
As you may remember you exported two files, the FBX file and the MHX2 file. You want to import both of these files into Blender, so you need two Collections, called FBX and MHX2. You right-click on the 'Scene collection' select 'New' and rename the collections to 'FBX' and 'MHX2'... I also added Scene collection and dragged the Camera and Light there (as I deleted the box). After this you should see something link this (the small Icons may be different):
[[File:MH-Base-Blender-setup.png]]
When you import your FBX file select/highlight the FBX collection, so the FBX data get imported into that collection. You can use the standard import options. For MHX2 you need to change the setting to match those you see below - when you find they are correct you can click the + sign, marked with a yellow arrow, and save the setting with your own setting-name.
(You may notice that the character you imported is out of proportions, some 17-18 meters high, we will correct that when we export to UE4!)
[[File:MH-Blender-FBX-import-options.png]]
===Inspect the results, in Blender===
Now is a good time to save the Blender file. You should save this in the same folder as the FBX and MHX2. I call this file averagedude-base.blend.
If you did this approximately as described the result should be munch like below. And you will probably notice that there is some structural differences. You can see that by looking at the small icons [[File:MH-Blender-base-imported-icons.png]], that represent where modifiers, vertex groups and Object data is stored! Specifically the Object data holds the shape-keys and those were not imported. (perhaps because I did not use the correct FBX import options - but the same happens in UE4!).
[[File:MH-Blender-base-imported.png]]
You will notice that the MHX2 version of your character holds the Object data (the triangle) and that shape-keys can be seen there!
==Export the FBX for your base character, and import to UE4==
The next step is crucial for getting things to work in UE4, it is not very complicated but you need to have a plan.
When you did this correctly you should be able to get the following results:
* Import your base character into UE4
* Create retargeting for your common skeleton - called MH_Skeleton
* Retarget the Maniqin animations to your base character(s)
* Get additional Mixamo animations
===FBX export settings===
'''Important!''' Before you go any further you should rename your base character to '''main_root''', like this:
[[File:MH-Base-FBX-main-root.png]]
.... you should do this for all base characters! main_root will be the root bone in your skeleton. When you do it like this, all of your base characters will be able to share the same skeleton!
Now select the MHX2 collection where you have the character, and go to Export FBX.
I have made a 'Operator preset' for the FBX export, this is the options you need to set:
[[File:MH-Base-FBX-operator-presets.png]]
Place the FBX file in the same folder as where you placed the original FBX and the MHX2. You probably do not need the FBX that you made with Makehuman, and you can always make it again?
(You may however want to export more FBX files from Makehuman, simply to get all of the textures. We will look more into how you can use the skin textures!)
==UE4 import, and retarget ==
Go to your UE4 project and make a MH folder containing a new avaragedude folder, and import your base character there!
Observe that this character looks very much like the one you did already import from the original FBX, there are little difference - yet you want to set up this as your real base character.
Also you want to rename the skeleton to '''MH_Skeleton'''! And you want to open the skeleton, and retarget it to the humanoid rig... this should look like this:
[[File:MH-Base-Skeleton-Retarget.png]]
Make sure that your character is in T-Pose, as you want to retarget the Mannequin animations to your characters MH_Skeleton!
Make a animation folder in your MH, perhaps even Mannequin folder?
You go to the UE4 folder: Content/Mannequin/Animations and right-click on this animation: '''ThirdPerson_AnimBP'''
Select retarget and choose MH_Skeleton as your target - also select the animation folder you made before, something like this:
[[File:MH-Base-Animation-Retarget.png]]
You may want to rename your new ThirdPerson_AnimBP to '''''MH''_ThirdPerson_AnimBP''' - or perhaps simply MH_AnimBP?
===Translation Retargeting===
After the retargeting the animations will still look odd. You go to the skeleton tree, then check off the "Show Retargeting Options" and set those at and below the spline to Skeleton (recursively) - that looks something like this:
[[File:MH-Anim-Skeleton.png]]
=More shape keys, made in Blender 2.8=
I have not yet made any target in MH, also I have not had much luck in using the two blender addons. Frankly I don't really understand what the different buttons does, most of them are not active... perhaps they make sens if you use Blender a lot?
But I will show you different ways to get expressions, targets and skeleton animations(!) to shape keys, so then will be new morph targets in UE4!
Before you get started you should probably look at a few Blender tutorials regarding this - these are good:
===Tutorials===
General introduction to MHX2 import and animation. However '''do not''' import the resulting characters into UE4?
{{#ev:youtube|2P1t_nogbGs}}
Short general introduction to using shape keys in Blender 2.8:
{{#ev:youtube|e675Ulc7QL4}}
==Expressions and targets==
Make sure that you have your original base character saved and load it into Makehuman. Remember to check that your base character is in the T-Pose, do not change that!
'''Just in case:''' I recommend that you keep a copy of this file as well as all the blender file etc.
You should also have Blender open and load the .blender file where you saved both your FBX and the MHX2.
Before you go on do as follows: move the MHX2 character to x 10m, so the entire character moves to the left (right to your front view) - this will make it more easy for you to work with! (Save the blender file!)
'''This is the general workflow for transfer of expressions:'''
Makehuman:
* Go to the Pose/Animate tab and select Expressions. From the list select the first expression, Anger01.
* Save the character as .mhx2 - but to a different file name: averagedude-base-expression.mhx2.
Blender:
* In blender, deselect all the collections
* Import the file you made, using the same operator presets as yo saved them.
* Activate your Base character collection and you will have two characters side by side - one base character and a very angry one!
* Go to object mode
* '''Left-click-select''' the angry guy first, then '''shift-left-click''' your base character.
* Go to the vertex tab/shape key, and click on the little down arrow, and select the ''Join as shapes'' - like this:
[[File:MH-Blender-shapekey1.png]]
This will make a brand new shape key: Averagedude_base_expression:Proxy
* You rename the shape key by a double-click and call it '''Exp_Anger01'''..
* ... and assign the Vertex group to head
[[File:MH-Blender-shapekey2.png]]
In case you can not select ''Join as shapes'' the two characters were not selected in the right order, or perhaps the topology is not the same. Blender will show this as a message some where at the bottom of the screen. I this happens try the blender workflow, in this paragraph only , again!
You can now try to change the value for the shape key, and you should see that your base character can get angry!
When this worked for you you can save the blender file! And you should now do your very first re-import of the FBX. You save your base character in a FBX and Import it to UE4. To be 100% safe you can save and import to different names and folders, but in the end you will re-import the base character each time you do one or more new shape keys.
When you see this working in UE4, you can go on to the next expressions - I simply delete the Averagedude_base_expression collection and save the next expression in the same file. You can naturally do as many expressions as you want. leave some out etc... as you like!
==Observations about Blender 2.8==
You may notice that you can mess this up, so please save your blender file and back up! Say you can easily merge your base character with the expression MHX2 or do something else to corrupt your work!
Please also note that the Vertex Group/relative to, '''head''' and '''Basis''', are rather important! The shape key will change the entire body, to the T-Pose, if head is not set. Likewise you can make some shape keys relative to an other shape key - this will be important a bit later, when we do more "advanced" stuff!
=Blender 2.8 - a bit more advanced?=
This is very fine - we can make your base character use all the expressions, and they can be combined! Also you can tamper with them in UE4, say you can combine them and you can even set minus values, or extreme values not "allowed" in Blender. But you obviously want more than that?
Perhaps you can find some special "targets" you want to use?
96732a68b1a64cfd4ad01878dc9f1b4d0ce9c28d
1981
1979
2021-01-16T17:37:00Z
Assetdk
89
/* UE4 import, and retarget */
wikitext
text/x-wiki
Please take a look at this page: [[Documentation:MH4UE|MH4UE]] - to get an overview of things you can use to get your Makehuman characters into Unreal Engine!
*
=What can and can't be done?=
I have been working on getting different characters into UE4 for some time, and this have been a real hassle!
On this page I want to summarize what I managed to get done using a workflow that involves Blender. I have had a focus on not going into much details regarding any of the tools, but you will need to know a few things. Even though this looks like a trivial task there are some pitfalls and also there are some things that can not be done, or I have just not found out how to. I will eventually also add links to all the YT tutorials I found helpful.
I found that working with Makehuman very easy, so focus will be very UE4 how to specific.
This is what I will cover thus far:
* Create and save any MH character in Makehuman. Basic stuff, and important things to avoid.
* Getting the character into Blender - import or link?
* Setup Blender for Export, shape keys and morph targets
* First import into UE4
* Introduction to more shape keys
* Get the Cloth working
* Mixamo animations
This is the stuff that I did not cover - yet:
* Animations for talking (other tutorials may help)
* Making custom cloth
* Hair
This is the stuff I can not get to work:
* Retargeting to Advanced Locomotion System V3/4
* ALS got something to work! [[Documentation:Saving models for Unreal Engine and how to import them there/ALS]]
* [[Documentation:Unreal Engine ALS V4]]
Since I am using/learning Blender 2.8, I want to share a bit of bonus info. I managed to make one of the free UE4 packages work a bit "better". That is your characters should have some transportation. This is how:
* [[Documentation:Unreal Engine Vehicle Variety Pack]]
=Getting started=
I wanted a quick way to populate a UE4 game, preferably with an unlimited number of varied characters of high quality. This has proven to be a bit harder than expected. The workflow for making characters is not as trivial as one would want but this guide should make it a bit more easy to do. I will focus on describing the "straight" path from Makehuman and into UE4 - so you will not find too much details about Blender. Please refer to Blender specific pages for more on that.
==Need to know==
There are a few terms that you need to know, say you need to know that you will import FBX, textures and other files into UE4. Also you will need to know that a Character consists of a '''Mesh''', a '''Skeleton''' and '''''materials''''' (that refers to textures). I will try to elaborate on these subjects as we go along...
==Making a base-character==
'''IMPORTANT new comment:'''
I have been working with these base-characters on and off for some time now, and I realized that:
'''You should not change the pose before creating the base character.'''
The reason for this is that the T-Pose will not be kept/maintained throughout using makehuman, specifically when you use the utility/
expression mixer. And that will, in time, mess up the option to set expressions as shape keys in Blender.
Blender will, when you set the shape key set the entire body as a "shape", say your base character is in T-Pose then the A-pose will be set
as part of the shape key.
Makehuman provides a range of predefined characters that is supposed to work as-is. You can just load a character, export it to FBX and import that into UE4 - and after a bit of work you can have a working player character! There are however a few pitfalls, so I suggest you make one (or more) base-character(s) that you can elaborate on as you go along. I will be working with ''''''averagedude'''''' as my base-character.
These are the steps to make the base characters:
* Open Makehuman
* Select the files tab and load the character
'''Under 'Geometries''''
* Remove cloth - (uncheck Hide faces under cloth)!
* Remove hair
* Add Teeth
* Choose Topology - '''I have no advice on this - but see comment below!'''
* Chose Eyebrows/Eyelashes, these can be changed as you go along - as can eye colors!
* Add Tongue01 (again I have no advice/recommendation on that, yet)
'''Under 'Materials'''' - I will show you how to work with UE4 "advanced" materials:
* Chose any skin that you like,
* Chose any eyes that you like
'''Under 'Pose/Animate''''
* Chose Skeleton: Uengine - if you do not have this already you my get it via the community tab?
* Chose Pose: Tpose (the last one on the list)
* Chose Expressions: none
And this is it! But there is one 'important' option you need know about - you need to '''uncheck''' the Smooth button!
The smooth button/option: [[File:MH-Smooth-option.png]] should be unchecked... that will make your character a bit less attractive, but this will preserve the shape-keys!
Makehuman comes with some 50-60 '''shape-keys''' and these will all be available as '''morph-targets''' in UE4. I will show you how to make more shape-keys, using makehuman+blender!
Now it is time to save your base-character - even though you have made very few changes to the file you should save this file under the save tab and name it
<your-name>-base (say averagedude-base), you can even add your very own tag 'base' to this.
When you save the file like this you will be able to reload it, and we need that later!
====Choose Topology/Shape keys====
When you make your base character without smoothing you get shape keys, and you want to share these between different characters. Specifically you would probably want to share face morphs between male and female characters - and there may be other base character variations, say old/young/child etc.
Later I will focus on how to make new shape keys, using blender - depending on how you want to do this you may want to '''chose Topology that is compatible between the different characters!''' That is you may be able to transfer one "shape" from a male character to a female character, but the result will depend on ''topology compatibility''. I will/may thus update this section to make sure
'''Shape key names''' will be the same for all of the base characters, as they come from - however you will be able to make new keys. You must name these keys the same for all MH characters, like these share the same skeleton (MH_Skelton) they must hold all the same shape keys names. If they don't your game may "break"....
===Export your base-character===
You can now take a break - or you can export your work. There are really tree options for you to look at:
* Save the FBX file directly
* Save a MHX2 file (you may need to install this as a option/utility, find our elsewhere!)
* Load the character to '''Blender''' directly via the link (I will get back to what can be done using that!)
I suggest that you save your base-character now, in both formats - FBX and MHX2! Make a specific 'Base-Characters' folder, because you will need it!
When you export the FBX use these options:
[[File:MH-FBX-export-options.png]]
This is the result for me, you should see something like this also:
[[File:MH-Base-Character-Folder.png]]
You should also see that there is a sub-folder, called Textures - this is where the different textures are saved and it should now look like this:
[[File:MH-Base-Character-Folder-textures.png]]
You can now go over all of the different textures, so you will have a wide selection to chose from. Textures are saved every time you save a FBX file!
Say, I change the base-characters textures, saved the FBX - and this is what I got:
[[File:MH-Base-Character-Folder-textures2.png]]
===Import your base-character to UE4 - FBX===
The FBX file will actually import directly to UE4, but there are a few problems! You should export your FBX file as Binary FBX, and you will get the most out of it. After this you can get to this result (after adjusting the materials, as seen below):
[[File:MH-MH-FBX-imported.png]]
Your character can look like this (after adjusting materials) - pretty good:
[[File:MH-MH-FBX-imported-materials.png]]
'''HOWEVER, you have lost the morph-targets! And as you probably noticed, the UE4 standard FBX import do import them!'''
I will get back to what to do about the shape-keys... but let make the materials first?
==Makehuman UE4 materials==
When you import the FBX made you exported from Makehuman, both textures and materials are made. You will also notice that UE4 will try to match the materials correctly to the material slots, as seen above in the 'Asset Details' of, in my case, averagedude-base (do not worry about the physics and the skeleton yet!).
To get you started, we need to take a look at the Eye, Eyelashes and Eyebrow materials...
===Eye materials===
First you can rename the '''high-poly''' material '''high-poly-''blue-eye''''' - or to whatever color you chose! You will probably make more eye materials.
Next you can double-click the material, to open the material-editor and change it to look something like this:
[[File:MH-UE4-Eye-material.png]]
===Eyelashes and Eyebrow materials===
Likewise you can set up the eyelashes, and the eyebrows are the same only you do not need ''two sided'' for the bows:
[[File:MH-UE4-Eyelashes-material.png]]
!?You may want to play with the shading model.
===More materials?===
You can simply drag and drop more textures from the the base-character/textures folder, then duplicate and rename the materials, and apply different textures to the renamed materials. At some point I want to be able to customize/randomize (NPC) characters, but I have not yet done that.
Also you can make materials instances with parameters... I will show you howto, but first we need to turn shape-keys into morph-targets.
=Use Blender v 2.80 to get more!!=
For some reason the exported FBX file is not organized in a way so you will get the shape-keys imported directly to UE4. However when you follow the next steps, you will not get the correct materials imported, so I recommend that you run FBX import as shown above, and save the textures/materials in a separate folder.
If you are new to Blender please run a few tutorials specifically on on how to import/export, and also get to know about collections - you can do a lot in Blender and you can get confused!
==What will be done here?==
I will show you how to:
* Import your MHX2 files, to preserve the shape-keys
* Export FBX files, so UE4 will import correctly with morph-targets
* Apply expressions etc. to your base character
* Import these to your Blender file and apply the expressions as '''new shape keys'''
==But, first import and inspect FBX and MHX2!==
As you may remember you exported two files, the FBX file and the MHX2 file. You want to import both of these files into Blender, so you need two Collections, called FBX and MHX2. You right-click on the 'Scene collection' select 'New' and rename the collections to 'FBX' and 'MHX2'... I also added Scene collection and dragged the Camera and Light there (as I deleted the box). After this you should see something link this (the small Icons may be different):
[[File:MH-Base-Blender-setup.png]]
When you import your FBX file select/highlight the FBX collection, so the FBX data get imported into that collection. You can use the standard import options. For MHX2 you need to change the setting to match those you see below - when you find they are correct you can click the + sign, marked with a yellow arrow, and save the setting with your own setting-name.
(You may notice that the character you imported is out of proportions, some 17-18 meters high, we will correct that when we export to UE4!)
[[File:MH-Blender-FBX-import-options.png]]
===Inspect the results, in Blender===
Now is a good time to save the Blender file. You should save this in the same folder as the FBX and MHX2. I call this file averagedude-base.blend.
If you did this approximately as described the result should be munch like below. And you will probably notice that there is some structural differences. You can see that by looking at the small icons [[File:MH-Blender-base-imported-icons.png]], that represent where modifiers, vertex groups and Object data is stored! Specifically the Object data holds the shape-keys and those were not imported. (perhaps because I did not use the correct FBX import options - but the same happens in UE4!).
[[File:MH-Blender-base-imported.png]]
You will notice that the MHX2 version of your character holds the Object data (the triangle) and that shape-keys can be seen there!
==Export the FBX for your base character, and import to UE4==
The next step is crucial for getting things to work in UE4, it is not very complicated but you need to have a plan.
When you did this correctly you should be able to get the following results:
* Import your base character into UE4
* Create retargeting for your common skeleton - called MH_Skeleton
* Retarget the Maniqin animations to your base character(s)
* Get additional Mixamo animations
===FBX export settings===
'''Important!''' Before you go any further you should rename your base character to '''main_root''', like this:
[[File:MH-Base-FBX-main-root.png]]
.... you should do this for all base characters! main_root will be the root bone in your skeleton. When you do it like this, all of your base characters will be able to share the same skeleton!
Now select the MHX2 collection where you have the character, and go to Export FBX.
I have made a 'Operator preset' for the FBX export, this is the options you need to set:
[[File:MH-Base-FBX-operator-presets.png]]
Place the FBX file in the same folder as where you placed the original FBX and the MHX2. You probably do not need the FBX that you made with Makehuman, and you can always make it again?
(You may however want to export more FBX files from Makehuman, simply to get all of the textures. We will look more into how you can use the skin textures!)
==UE4 import, and retarget ==
Go to your UE4 project and make a MH folder containing a new avaragedude folder, and import your base character there!
Observe that this character looks very much like the one you did already import from the original FBX, there are little difference - yet you want to set up this as your real base character.
Also you want to rename the skeleton to '''MH_Skeleton'''! And you want to open the skeleton, and retarget it to the humanoid rig... this should look like this:
[[File:MH-Base-Skeleton-Retarget.png]]
Make sure that your character is in T-Pose, as you want to retarget the Mannequin animations to your characters MH_Skeleton!
Make a animation folder in your MH, perhaps even Mannequin folder?
You go to the UE4 folder: Content/Mannequin/Animations and right-click on this animation: '''ThirdPerson_AnimBP'''
Select retarget and choose MH_Skeleton as your target - also select the animation folder you made before, something like this:
[[File:MH-Base-Animation-Retarget.png]]
You may want to rename your new ThirdPerson_AnimBP to '''''MH''_ThirdPerson_AnimBP''' - or perhaps simply MH_AnimBP?
===Translation Retargeting!!===
After the retargeting the animations will still look odd. You go to the skeleton tree, then check off the "Show Retargeting Options" and set those at and below the spline to Skeleton (recursively) - that looks something like this:
[[File:MH-Anim-Skeleton.png]]
=More shape keys, made in Blender 2.8=
I have not yet made any target in MH, also I have not had much luck in using the two blender addons. Frankly I don't really understand what the different buttons does, most of them are not active... perhaps they make sens if you use Blender a lot?
But I will show you different ways to get expressions, targets and skeleton animations(!) to shape keys, so then will be new morph targets in UE4!
Before you get started you should probably look at a few Blender tutorials regarding this - these are good:
===Tutorials===
General introduction to MHX2 import and animation. However '''do not''' import the resulting characters into UE4?
{{#ev:youtube|2P1t_nogbGs}}
Short general introduction to using shape keys in Blender 2.8:
{{#ev:youtube|e675Ulc7QL4}}
==Expressions and targets==
Make sure that you have your original base character saved and load it into Makehuman. Remember to check that your base character is in the T-Pose, do not change that!
'''Just in case:''' I recommend that you keep a copy of this file as well as all the blender file etc.
You should also have Blender open and load the .blender file where you saved both your FBX and the MHX2.
Before you go on do as follows: move the MHX2 character to x 10m, so the entire character moves to the left (right to your front view) - this will make it more easy for you to work with! (Save the blender file!)
'''This is the general workflow for transfer of expressions:'''
Makehuman:
* Go to the Pose/Animate tab and select Expressions. From the list select the first expression, Anger01.
* Save the character as .mhx2 - but to a different file name: averagedude-base-expression.mhx2.
Blender:
* In blender, deselect all the collections
* Import the file you made, using the same operator presets as yo saved them.
* Activate your Base character collection and you will have two characters side by side - one base character and a very angry one!
* Go to object mode
* '''Left-click-select''' the angry guy first, then '''shift-left-click''' your base character.
* Go to the vertex tab/shape key, and click on the little down arrow, and select the ''Join as shapes'' - like this:
[[File:MH-Blender-shapekey1.png]]
This will make a brand new shape key: Averagedude_base_expression:Proxy
* You rename the shape key by a double-click and call it '''Exp_Anger01'''..
* ... and assign the Vertex group to head
[[File:MH-Blender-shapekey2.png]]
In case you can not select ''Join as shapes'' the two characters were not selected in the right order, or perhaps the topology is not the same. Blender will show this as a message some where at the bottom of the screen. I this happens try the blender workflow, in this paragraph only , again!
You can now try to change the value for the shape key, and you should see that your base character can get angry!
When this worked for you you can save the blender file! And you should now do your very first re-import of the FBX. You save your base character in a FBX and Import it to UE4. To be 100% safe you can save and import to different names and folders, but in the end you will re-import the base character each time you do one or more new shape keys.
When you see this working in UE4, you can go on to the next expressions - I simply delete the Averagedude_base_expression collection and save the next expression in the same file. You can naturally do as many expressions as you want. leave some out etc... as you like!
==Observations about Blender 2.8==
You may notice that you can mess this up, so please save your blender file and back up! Say you can easily merge your base character with the expression MHX2 or do something else to corrupt your work!
Please also note that the Vertex Group/relative to, '''head''' and '''Basis''', are rather important! The shape key will change the entire body, to the T-Pose, if head is not set. Likewise you can make some shape keys relative to an other shape key - this will be important a bit later, when we do more "advanced" stuff!
=Blender 2.8 - a bit more advanced?=
This is very fine - we can make your base character use all the expressions, and they can be combined! Also you can tamper with them in UE4, say you can combine them and you can even set minus values, or extreme values not "allowed" in Blender. But you obviously want more than that?
Perhaps you can find some special "targets" you want to use?
6dea5d50a737ce20f9d9eca9edfc9dc0abf4e038
1979
1977
2021-01-16T17:35:44Z
Assetdk
89
/* UE4 import, and retarget */
wikitext
text/x-wiki
Please take a look at this page: [[Documentation:MH4UE|MH4UE]] - to get an overview of things you can use to get your Makehuman characters into Unreal Engine!
*
=What can and can't be done?=
I have been working on getting different characters into UE4 for some time, and this have been a real hassle!
On this page I want to summarize what I managed to get done using a workflow that involves Blender. I have had a focus on not going into much details regarding any of the tools, but you will need to know a few things. Even though this looks like a trivial task there are some pitfalls and also there are some things that can not be done, or I have just not found out how to. I will eventually also add links to all the YT tutorials I found helpful.
I found that working with Makehuman very easy, so focus will be very UE4 how to specific.
This is what I will cover thus far:
* Create and save any MH character in Makehuman. Basic stuff, and important things to avoid.
* Getting the character into Blender - import or link?
* Setup Blender for Export, shape keys and morph targets
* First import into UE4
* Introduction to more shape keys
* Get the Cloth working
* Mixamo animations
This is the stuff that I did not cover - yet:
* Animations for talking (other tutorials may help)
* Making custom cloth
* Hair
This is the stuff I can not get to work:
* Retargeting to Advanced Locomotion System V3/4
* ALS got something to work! [[Documentation:Saving models for Unreal Engine and how to import them there/ALS]]
* [[Documentation:Unreal Engine ALS V4]]
Since I am using/learning Blender 2.8, I want to share a bit of bonus info. I managed to make one of the free UE4 packages work a bit "better". That is your characters should have some transportation. This is how:
* [[Documentation:Unreal Engine Vehicle Variety Pack]]
=Getting started=
I wanted a quick way to populate a UE4 game, preferably with an unlimited number of varied characters of high quality. This has proven to be a bit harder than expected. The workflow for making characters is not as trivial as one would want but this guide should make it a bit more easy to do. I will focus on describing the "straight" path from Makehuman and into UE4 - so you will not find too much details about Blender. Please refer to Blender specific pages for more on that.
==Need to know==
There are a few terms that you need to know, say you need to know that you will import FBX, textures and other files into UE4. Also you will need to know that a Character consists of a '''Mesh''', a '''Skeleton''' and '''''materials''''' (that refers to textures). I will try to elaborate on these subjects as we go along...
==Making a base-character==
'''IMPORTANT new comment:'''
I have been working with these base-characters on and off for some time now, and I realized that:
'''You should not change the pose before creating the base character.'''
The reason for this is that the T-Pose will not be kept/maintained throughout using makehuman, specifically when you use the utility/
expression mixer. And that will, in time, mess up the option to set expressions as shape keys in Blender.
Blender will, when you set the shape key set the entire body as a "shape", say your base character is in T-Pose then the A-pose will be set
as part of the shape key.
Makehuman provides a range of predefined characters that is supposed to work as-is. You can just load a character, export it to FBX and import that into UE4 - and after a bit of work you can have a working player character! There are however a few pitfalls, so I suggest you make one (or more) base-character(s) that you can elaborate on as you go along. I will be working with ''''''averagedude'''''' as my base-character.
These are the steps to make the base characters:
* Open Makehuman
* Select the files tab and load the character
'''Under 'Geometries''''
* Remove cloth - (uncheck Hide faces under cloth)!
* Remove hair
* Add Teeth
* Choose Topology - '''I have no advice on this - but see comment below!'''
* Chose Eyebrows/Eyelashes, these can be changed as you go along - as can eye colors!
* Add Tongue01 (again I have no advice/recommendation on that, yet)
'''Under 'Materials'''' - I will show you how to work with UE4 "advanced" materials:
* Chose any skin that you like,
* Chose any eyes that you like
'''Under 'Pose/Animate''''
* Chose Skeleton: Uengine - if you do not have this already you my get it via the community tab?
* Chose Pose: Tpose (the last one on the list)
* Chose Expressions: none
And this is it! But there is one 'important' option you need know about - you need to '''uncheck''' the Smooth button!
The smooth button/option: [[File:MH-Smooth-option.png]] should be unchecked... that will make your character a bit less attractive, but this will preserve the shape-keys!
Makehuman comes with some 50-60 '''shape-keys''' and these will all be available as '''morph-targets''' in UE4. I will show you how to make more shape-keys, using makehuman+blender!
Now it is time to save your base-character - even though you have made very few changes to the file you should save this file under the save tab and name it
<your-name>-base (say averagedude-base), you can even add your very own tag 'base' to this.
When you save the file like this you will be able to reload it, and we need that later!
====Choose Topology/Shape keys====
When you make your base character without smoothing you get shape keys, and you want to share these between different characters. Specifically you would probably want to share face morphs between male and female characters - and there may be other base character variations, say old/young/child etc.
Later I will focus on how to make new shape keys, using blender - depending on how you want to do this you may want to '''chose Topology that is compatible between the different characters!''' That is you may be able to transfer one "shape" from a male character to a female character, but the result will depend on ''topology compatibility''. I will/may thus update this section to make sure
'''Shape key names''' will be the same for all of the base characters, as they come from - however you will be able to make new keys. You must name these keys the same for all MH characters, like these share the same skeleton (MH_Skelton) they must hold all the same shape keys names. If they don't your game may "break"....
===Export your base-character===
You can now take a break - or you can export your work. There are really tree options for you to look at:
* Save the FBX file directly
* Save a MHX2 file (you may need to install this as a option/utility, find our elsewhere!)
* Load the character to '''Blender''' directly via the link (I will get back to what can be done using that!)
I suggest that you save your base-character now, in both formats - FBX and MHX2! Make a specific 'Base-Characters' folder, because you will need it!
When you export the FBX use these options:
[[File:MH-FBX-export-options.png]]
This is the result for me, you should see something like this also:
[[File:MH-Base-Character-Folder.png]]
You should also see that there is a sub-folder, called Textures - this is where the different textures are saved and it should now look like this:
[[File:MH-Base-Character-Folder-textures.png]]
You can now go over all of the different textures, so you will have a wide selection to chose from. Textures are saved every time you save a FBX file!
Say, I change the base-characters textures, saved the FBX - and this is what I got:
[[File:MH-Base-Character-Folder-textures2.png]]
===Import your base-character to UE4 - FBX===
The FBX file will actually import directly to UE4, but there are a few problems! You should export your FBX file as Binary FBX, and you will get the most out of it. After this you can get to this result (after adjusting the materials, as seen below):
[[File:MH-MH-FBX-imported.png]]
Your character can look like this (after adjusting materials) - pretty good:
[[File:MH-MH-FBX-imported-materials.png]]
'''HOWEVER, you have lost the morph-targets! And as you probably noticed, the UE4 standard FBX import do import them!'''
I will get back to what to do about the shape-keys... but let make the materials first?
==Makehuman UE4 materials==
When you import the FBX made you exported from Makehuman, both textures and materials are made. You will also notice that UE4 will try to match the materials correctly to the material slots, as seen above in the 'Asset Details' of, in my case, averagedude-base (do not worry about the physics and the skeleton yet!).
To get you started, we need to take a look at the Eye, Eyelashes and Eyebrow materials...
===Eye materials===
First you can rename the '''high-poly''' material '''high-poly-''blue-eye''''' - or to whatever color you chose! You will probably make more eye materials.
Next you can double-click the material, to open the material-editor and change it to look something like this:
[[File:MH-UE4-Eye-material.png]]
===Eyelashes and Eyebrow materials===
Likewise you can set up the eyelashes, and the eyebrows are the same only you do not need ''two sided'' for the bows:
[[File:MH-UE4-Eyelashes-material.png]]
!?You may want to play with the shading model.
===More materials?===
You can simply drag and drop more textures from the the base-character/textures folder, then duplicate and rename the materials, and apply different textures to the renamed materials. At some point I want to be able to customize/randomize (NPC) characters, but I have not yet done that.
Also you can make materials instances with parameters... I will show you howto, but first we need to turn shape-keys into morph-targets.
=Use Blender v 2.80 to get more!!=
For some reason the exported FBX file is not organized in a way so you will get the shape-keys imported directly to UE4. However when you follow the next steps, you will not get the correct materials imported, so I recommend that you run FBX import as shown above, and save the textures/materials in a separate folder.
If you are new to Blender please run a few tutorials specifically on on how to import/export, and also get to know about collections - you can do a lot in Blender and you can get confused!
==What will be done here?==
I will show you how to:
* Import your MHX2 files, to preserve the shape-keys
* Export FBX files, so UE4 will import correctly with morph-targets
* Apply expressions etc. to your base character
* Import these to your Blender file and apply the expressions as '''new shape keys'''
==But, first import and inspect FBX and MHX2!==
As you may remember you exported two files, the FBX file and the MHX2 file. You want to import both of these files into Blender, so you need two Collections, called FBX and MHX2. You right-click on the 'Scene collection' select 'New' and rename the collections to 'FBX' and 'MHX2'... I also added Scene collection and dragged the Camera and Light there (as I deleted the box). After this you should see something link this (the small Icons may be different):
[[File:MH-Base-Blender-setup.png]]
When you import your FBX file select/highlight the FBX collection, so the FBX data get imported into that collection. You can use the standard import options. For MHX2 you need to change the setting to match those you see below - when you find they are correct you can click the + sign, marked with a yellow arrow, and save the setting with your own setting-name.
(You may notice that the character you imported is out of proportions, some 17-18 meters high, we will correct that when we export to UE4!)
[[File:MH-Blender-FBX-import-options.png]]
===Inspect the results, in Blender===
Now is a good time to save the Blender file. You should save this in the same folder as the FBX and MHX2. I call this file averagedude-base.blend.
If you did this approximately as described the result should be munch like below. And you will probably notice that there is some structural differences. You can see that by looking at the small icons [[File:MH-Blender-base-imported-icons.png]], that represent where modifiers, vertex groups and Object data is stored! Specifically the Object data holds the shape-keys and those were not imported. (perhaps because I did not use the correct FBX import options - but the same happens in UE4!).
[[File:MH-Blender-base-imported.png]]
You will notice that the MHX2 version of your character holds the Object data (the triangle) and that shape-keys can be seen there!
==Export the FBX for your base character, and import to UE4==
The next step is crucial for getting things to work in UE4, it is not very complicated but you need to have a plan.
When you did this correctly you should be able to get the following results:
* Import your base character into UE4
* Create retargeting for your common skeleton - called MH_Skeleton
* Retarget the Maniqin animations to your base character(s)
* Get additional Mixamo animations
===FBX export settings===
'''Important!''' Before you go any further you should rename your base character to '''main_root''', like this:
[[File:MH-Base-FBX-main-root.png]]
.... you should do this for all base characters! main_root will be the root bone in your skeleton. When you do it like this, all of your base characters will be able to share the same skeleton!
Now select the MHX2 collection where you have the character, and go to Export FBX.
I have made a 'Operator preset' for the FBX export, this is the options you need to set:
[[File:MH-Base-FBX-operator-presets.png]]
Place the FBX file in the same folder as where you placed the original FBX and the MHX2. You probably do not need the FBX that you made with Makehuman, and you can always make it again?
(You may however want to export more FBX files from Makehuman, simply to get all of the textures. We will look more into how you can use the skin textures!)
==UE4 import, and retarget ==
Go to your UE4 project and make a MH folder containing a new avaragedude folder, and import your base character there!
Observe that this character looks very much like the one you did already import from the original FBX, there are little difference - yet you want to set up this as your real base character.
Also you want to rename the skeleton to '''MH_Skeleton'''! And you want to open the skeleton, and retarget it to the humanoid rig... this should look like this:
[[File:MH-Base-Skeleton-Retarget.png]]
Make sure that your character is in T-Pose, as you want to retarget the Mannequin animations to your characters MH_Skeleton!
Make a animation folder in your MH, perhaps even Mannequin folder?
You go to the UE4 folder: Content/Mannequin/Animations and right-click on this animation: '''ThirdPerson_AnimBP'''
Select retarget and choose MH_Skeleton as your target - also select the animation folder you made before, something like this:
[[File:MH-Base-Animation-Retarget.png]]
You may want to rename your new ThirdPerson_AnimBP to '''''MH''_ThirdPerson_AnimBP''' - or perhaps simply MH_AnimBP?
==Translation Retargeting!!"
After the retargeting the animations will still look odd. You go to the skeleton tree, then check off the "Show Retargeting Options" and set those at and below the spline to Skeleton (recursively) - that looks something like this:
[[File:MH-Anim-Skeleton.png]]
=More shape keys, made in Blender 2.8=
I have not yet made any target in MH, also I have not had much luck in using the two blender addons. Frankly I don't really understand what the different buttons does, most of them are not active... perhaps they make sens if you use Blender a lot?
But I will show you different ways to get expressions, targets and skeleton animations(!) to shape keys, so then will be new morph targets in UE4!
Before you get started you should probably look at a few Blender tutorials regarding this - these are good:
===Tutorials===
General introduction to MHX2 import and animation. However '''do not''' import the resulting characters into UE4?
{{#ev:youtube|2P1t_nogbGs}}
Short general introduction to using shape keys in Blender 2.8:
{{#ev:youtube|e675Ulc7QL4}}
==Expressions and targets==
Make sure that you have your original base character saved and load it into Makehuman. Remember to check that your base character is in the T-Pose, do not change that!
'''Just in case:''' I recommend that you keep a copy of this file as well as all the blender file etc.
You should also have Blender open and load the .blender file where you saved both your FBX and the MHX2.
Before you go on do as follows: move the MHX2 character to x 10m, so the entire character moves to the left (right to your front view) - this will make it more easy for you to work with! (Save the blender file!)
'''This is the general workflow for transfer of expressions:'''
Makehuman:
* Go to the Pose/Animate tab and select Expressions. From the list select the first expression, Anger01.
* Save the character as .mhx2 - but to a different file name: averagedude-base-expression.mhx2.
Blender:
* In blender, deselect all the collections
* Import the file you made, using the same operator presets as yo saved them.
* Activate your Base character collection and you will have two characters side by side - one base character and a very angry one!
* Go to object mode
* '''Left-click-select''' the angry guy first, then '''shift-left-click''' your base character.
* Go to the vertex tab/shape key, and click on the little down arrow, and select the ''Join as shapes'' - like this:
[[File:MH-Blender-shapekey1.png]]
This will make a brand new shape key: Averagedude_base_expression:Proxy
* You rename the shape key by a double-click and call it '''Exp_Anger01'''..
* ... and assign the Vertex group to head
[[File:MH-Blender-shapekey2.png]]
In case you can not select ''Join as shapes'' the two characters were not selected in the right order, or perhaps the topology is not the same. Blender will show this as a message some where at the bottom of the screen. I this happens try the blender workflow, in this paragraph only , again!
You can now try to change the value for the shape key, and you should see that your base character can get angry!
When this worked for you you can save the blender file! And you should now do your very first re-import of the FBX. You save your base character in a FBX and Import it to UE4. To be 100% safe you can save and import to different names and folders, but in the end you will re-import the base character each time you do one or more new shape keys.
When you see this working in UE4, you can go on to the next expressions - I simply delete the Averagedude_base_expression collection and save the next expression in the same file. You can naturally do as many expressions as you want. leave some out etc... as you like!
==Observations about Blender 2.8==
You may notice that you can mess this up, so please save your blender file and back up! Say you can easily merge your base character with the expression MHX2 or do something else to corrupt your work!
Please also note that the Vertex Group/relative to, '''head''' and '''Basis''', are rather important! The shape key will change the entire body, to the T-Pose, if head is not set. Likewise you can make some shape keys relative to an other shape key - this will be important a bit later, when we do more "advanced" stuff!
=Blender 2.8 - a bit more advanced?=
This is very fine - we can make your base character use all the expressions, and they can be combined! Also you can tamper with them in UE4, say you can combine them and you can even set minus values, or extreme values not "allowed" in Blender. But you obviously want more than that?
Perhaps you can find some special "targets" you want to use?
e671cb7b5a7909dde344077e0da7cba71872dcc2
1977
1976
2021-01-16T10:25:41Z
Assetdk
89
wikitext
text/x-wiki
Please take a look at this page: [[Documentation:MH4UE|MH4UE]] - to get an overview of things you can use to get your Makehuman characters into Unreal Engine!
*
=What can and can't be done?=
I have been working on getting different characters into UE4 for some time, and this have been a real hassle!
On this page I want to summarize what I managed to get done using a workflow that involves Blender. I have had a focus on not going into much details regarding any of the tools, but you will need to know a few things. Even though this looks like a trivial task there are some pitfalls and also there are some things that can not be done, or I have just not found out how to. I will eventually also add links to all the YT tutorials I found helpful.
I found that working with Makehuman very easy, so focus will be very UE4 how to specific.
This is what I will cover thus far:
* Create and save any MH character in Makehuman. Basic stuff, and important things to avoid.
* Getting the character into Blender - import or link?
* Setup Blender for Export, shape keys and morph targets
* First import into UE4
* Introduction to more shape keys
* Get the Cloth working
* Mixamo animations
This is the stuff that I did not cover - yet:
* Animations for talking (other tutorials may help)
* Making custom cloth
* Hair
This is the stuff I can not get to work:
* Retargeting to Advanced Locomotion System V3/4
* ALS got something to work! [[Documentation:Saving models for Unreal Engine and how to import them there/ALS]]
* [[Documentation:Unreal Engine ALS V4]]
Since I am using/learning Blender 2.8, I want to share a bit of bonus info. I managed to make one of the free UE4 packages work a bit "better". That is your characters should have some transportation. This is how:
* [[Documentation:Unreal Engine Vehicle Variety Pack]]
=Getting started=
I wanted a quick way to populate a UE4 game, preferably with an unlimited number of varied characters of high quality. This has proven to be a bit harder than expected. The workflow for making characters is not as trivial as one would want but this guide should make it a bit more easy to do. I will focus on describing the "straight" path from Makehuman and into UE4 - so you will not find too much details about Blender. Please refer to Blender specific pages for more on that.
==Need to know==
There are a few terms that you need to know, say you need to know that you will import FBX, textures and other files into UE4. Also you will need to know that a Character consists of a '''Mesh''', a '''Skeleton''' and '''''materials''''' (that refers to textures). I will try to elaborate on these subjects as we go along...
==Making a base-character==
'''IMPORTANT new comment:'''
I have been working with these base-characters on and off for some time now, and I realized that:
'''You should not change the pose before creating the base character.'''
The reason for this is that the T-Pose will not be kept/maintained throughout using makehuman, specifically when you use the utility/
expression mixer. And that will, in time, mess up the option to set expressions as shape keys in Blender.
Blender will, when you set the shape key set the entire body as a "shape", say your base character is in T-Pose then the A-pose will be set
as part of the shape key.
Makehuman provides a range of predefined characters that is supposed to work as-is. You can just load a character, export it to FBX and import that into UE4 - and after a bit of work you can have a working player character! There are however a few pitfalls, so I suggest you make one (or more) base-character(s) that you can elaborate on as you go along. I will be working with ''''''averagedude'''''' as my base-character.
These are the steps to make the base characters:
* Open Makehuman
* Select the files tab and load the character
'''Under 'Geometries''''
* Remove cloth - (uncheck Hide faces under cloth)!
* Remove hair
* Add Teeth
* Choose Topology - '''I have no advice on this - but see comment below!'''
* Chose Eyebrows/Eyelashes, these can be changed as you go along - as can eye colors!
* Add Tongue01 (again I have no advice/recommendation on that, yet)
'''Under 'Materials'''' - I will show you how to work with UE4 "advanced" materials:
* Chose any skin that you like,
* Chose any eyes that you like
'''Under 'Pose/Animate''''
* Chose Skeleton: Uengine - if you do not have this already you my get it via the community tab?
* Chose Pose: Tpose (the last one on the list)
* Chose Expressions: none
And this is it! But there is one 'important' option you need know about - you need to '''uncheck''' the Smooth button!
The smooth button/option: [[File:MH-Smooth-option.png]] should be unchecked... that will make your character a bit less attractive, but this will preserve the shape-keys!
Makehuman comes with some 50-60 '''shape-keys''' and these will all be available as '''morph-targets''' in UE4. I will show you how to make more shape-keys, using makehuman+blender!
Now it is time to save your base-character - even though you have made very few changes to the file you should save this file under the save tab and name it
<your-name>-base (say averagedude-base), you can even add your very own tag 'base' to this.
When you save the file like this you will be able to reload it, and we need that later!
====Choose Topology/Shape keys====
When you make your base character without smoothing you get shape keys, and you want to share these between different characters. Specifically you would probably want to share face morphs between male and female characters - and there may be other base character variations, say old/young/child etc.
Later I will focus on how to make new shape keys, using blender - depending on how you want to do this you may want to '''chose Topology that is compatible between the different characters!''' That is you may be able to transfer one "shape" from a male character to a female character, but the result will depend on ''topology compatibility''. I will/may thus update this section to make sure
'''Shape key names''' will be the same for all of the base characters, as they come from - however you will be able to make new keys. You must name these keys the same for all MH characters, like these share the same skeleton (MH_Skelton) they must hold all the same shape keys names. If they don't your game may "break"....
===Export your base-character===
You can now take a break - or you can export your work. There are really tree options for you to look at:
* Save the FBX file directly
* Save a MHX2 file (you may need to install this as a option/utility, find our elsewhere!)
* Load the character to '''Blender''' directly via the link (I will get back to what can be done using that!)
I suggest that you save your base-character now, in both formats - FBX and MHX2! Make a specific 'Base-Characters' folder, because you will need it!
When you export the FBX use these options:
[[File:MH-FBX-export-options.png]]
This is the result for me, you should see something like this also:
[[File:MH-Base-Character-Folder.png]]
You should also see that there is a sub-folder, called Textures - this is where the different textures are saved and it should now look like this:
[[File:MH-Base-Character-Folder-textures.png]]
You can now go over all of the different textures, so you will have a wide selection to chose from. Textures are saved every time you save a FBX file!
Say, I change the base-characters textures, saved the FBX - and this is what I got:
[[File:MH-Base-Character-Folder-textures2.png]]
===Import your base-character to UE4 - FBX===
The FBX file will actually import directly to UE4, but there are a few problems! You should export your FBX file as Binary FBX, and you will get the most out of it. After this you can get to this result (after adjusting the materials, as seen below):
[[File:MH-MH-FBX-imported.png]]
Your character can look like this (after adjusting materials) - pretty good:
[[File:MH-MH-FBX-imported-materials.png]]
'''HOWEVER, you have lost the morph-targets! And as you probably noticed, the UE4 standard FBX import do import them!'''
I will get back to what to do about the shape-keys... but let make the materials first?
==Makehuman UE4 materials==
When you import the FBX made you exported from Makehuman, both textures and materials are made. You will also notice that UE4 will try to match the materials correctly to the material slots, as seen above in the 'Asset Details' of, in my case, averagedude-base (do not worry about the physics and the skeleton yet!).
To get you started, we need to take a look at the Eye, Eyelashes and Eyebrow materials...
===Eye materials===
First you can rename the '''high-poly''' material '''high-poly-''blue-eye''''' - or to whatever color you chose! You will probably make more eye materials.
Next you can double-click the material, to open the material-editor and change it to look something like this:
[[File:MH-UE4-Eye-material.png]]
===Eyelashes and Eyebrow materials===
Likewise you can set up the eyelashes, and the eyebrows are the same only you do not need ''two sided'' for the bows:
[[File:MH-UE4-Eyelashes-material.png]]
!?You may want to play with the shading model.
===More materials?===
You can simply drag and drop more textures from the the base-character/textures folder, then duplicate and rename the materials, and apply different textures to the renamed materials. At some point I want to be able to customize/randomize (NPC) characters, but I have not yet done that.
Also you can make materials instances with parameters... I will show you howto, but first we need to turn shape-keys into morph-targets.
=Use Blender v 2.80 to get more!!=
For some reason the exported FBX file is not organized in a way so you will get the shape-keys imported directly to UE4. However when you follow the next steps, you will not get the correct materials imported, so I recommend that you run FBX import as shown above, and save the textures/materials in a separate folder.
If you are new to Blender please run a few tutorials specifically on on how to import/export, and also get to know about collections - you can do a lot in Blender and you can get confused!
==What will be done here?==
I will show you how to:
* Import your MHX2 files, to preserve the shape-keys
* Export FBX files, so UE4 will import correctly with morph-targets
* Apply expressions etc. to your base character
* Import these to your Blender file and apply the expressions as '''new shape keys'''
==But, first import and inspect FBX and MHX2!==
As you may remember you exported two files, the FBX file and the MHX2 file. You want to import both of these files into Blender, so you need two Collections, called FBX and MHX2. You right-click on the 'Scene collection' select 'New' and rename the collections to 'FBX' and 'MHX2'... I also added Scene collection and dragged the Camera and Light there (as I deleted the box). After this you should see something link this (the small Icons may be different):
[[File:MH-Base-Blender-setup.png]]
When you import your FBX file select/highlight the FBX collection, so the FBX data get imported into that collection. You can use the standard import options. For MHX2 you need to change the setting to match those you see below - when you find they are correct you can click the + sign, marked with a yellow arrow, and save the setting with your own setting-name.
(You may notice that the character you imported is out of proportions, some 17-18 meters high, we will correct that when we export to UE4!)
[[File:MH-Blender-FBX-import-options.png]]
===Inspect the results, in Blender===
Now is a good time to save the Blender file. You should save this in the same folder as the FBX and MHX2. I call this file averagedude-base.blend.
If you did this approximately as described the result should be munch like below. And you will probably notice that there is some structural differences. You can see that by looking at the small icons [[File:MH-Blender-base-imported-icons.png]], that represent where modifiers, vertex groups and Object data is stored! Specifically the Object data holds the shape-keys and those were not imported. (perhaps because I did not use the correct FBX import options - but the same happens in UE4!).
[[File:MH-Blender-base-imported.png]]
You will notice that the MHX2 version of your character holds the Object data (the triangle) and that shape-keys can be seen there!
==Export the FBX for your base character, and import to UE4==
The next step is crucial for getting things to work in UE4, it is not very complicated but you need to have a plan.
When you did this correctly you should be able to get the following results:
* Import your base character into UE4
* Create retargeting for your common skeleton - called MH_Skeleton
* Retarget the Maniqin animations to your base character(s)
* Get additional Mixamo animations
===FBX export settings===
'''Important!''' Before you go any further you should rename your base character to '''main_root''', like this:
[[File:MH-Base-FBX-main-root.png]]
.... you should do this for all base characters! main_root will be the root bone in your skeleton. When you do it like this, all of your base characters will be able to share the same skeleton!
Now select the MHX2 collection where you have the character, and go to Export FBX.
I have made a 'Operator preset' for the FBX export, this is the options you need to set:
[[File:MH-Base-FBX-operator-presets.png]]
Place the FBX file in the same folder as where you placed the original FBX and the MHX2. You probably do not need the FBX that you made with Makehuman, and you can always make it again?
(You may however want to export more FBX files from Makehuman, simply to get all of the textures. We will look more into how you can use the skin textures!)
==UE4 import, and retarget ==
Go to your UE4 project and make a MH folder containing a new avaragedude folder, and import your base character there!
Observe that this character looks very much like the one you did already import from the original FBX, there are little difference - yet you want to set up this as your real base character.
Also you want to rename the skeleton to '''MH_Skeleton'''! And you want to open the skeleton, and retarget it to the humanoid rig... this should look like this:
[[File:MH-Base-Skeleton-Retarget.png]]
Make sure that your character is in T-Pose, as you want to retarget the Mannequin animations to your characters MH_Skeleton!
Make a animation folder in your MH, perhaps even Mannequin folder?
You go to the UE4 folder: Content/Mannequin/Animations and right-click on this animation: '''ThirdPerson_AnimBP'''
Select retarget and choose MH_Skeleton as your target - also select the animation folder you made before, something like this:
[[File:MH-Base-Animation-Retarget.png]]
You may want to rename your new ThirdPerson_AnimBP to '''''MH''_ThirdPerson_AnimBP''' - or perhaps simply MH_AnimBP?
=More shape keys, made in Blender 2.8=
I have not yet made any target in MH, also I have not had much luck in using the two blender addons. Frankly I don't really understand what the different buttons does, most of them are not active... perhaps they make sens if you use Blender a lot?
But I will show you different ways to get expressions, targets and skeleton animations(!) to shape keys, so then will be new morph targets in UE4!
Before you get started you should probably look at a few Blender tutorials regarding this - these are good:
===Tutorials===
General introduction to MHX2 import and animation. However '''do not''' import the resulting characters into UE4?
{{#ev:youtube|2P1t_nogbGs}}
Short general introduction to using shape keys in Blender 2.8:
{{#ev:youtube|e675Ulc7QL4}}
==Expressions and targets==
Make sure that you have your original base character saved and load it into Makehuman. Remember to check that your base character is in the T-Pose, do not change that!
'''Just in case:''' I recommend that you keep a copy of this file as well as all the blender file etc.
You should also have Blender open and load the .blender file where you saved both your FBX and the MHX2.
Before you go on do as follows: move the MHX2 character to x 10m, so the entire character moves to the left (right to your front view) - this will make it more easy for you to work with! (Save the blender file!)
'''This is the general workflow for transfer of expressions:'''
Makehuman:
* Go to the Pose/Animate tab and select Expressions. From the list select the first expression, Anger01.
* Save the character as .mhx2 - but to a different file name: averagedude-base-expression.mhx2.
Blender:
* In blender, deselect all the collections
* Import the file you made, using the same operator presets as yo saved them.
* Activate your Base character collection and you will have two characters side by side - one base character and a very angry one!
* Go to object mode
* '''Left-click-select''' the angry guy first, then '''shift-left-click''' your base character.
* Go to the vertex tab/shape key, and click on the little down arrow, and select the ''Join as shapes'' - like this:
[[File:MH-Blender-shapekey1.png]]
This will make a brand new shape key: Averagedude_base_expression:Proxy
* You rename the shape key by a double-click and call it '''Exp_Anger01'''..
* ... and assign the Vertex group to head
[[File:MH-Blender-shapekey2.png]]
In case you can not select ''Join as shapes'' the two characters were not selected in the right order, or perhaps the topology is not the same. Blender will show this as a message some where at the bottom of the screen. I this happens try the blender workflow, in this paragraph only , again!
You can now try to change the value for the shape key, and you should see that your base character can get angry!
When this worked for you you can save the blender file! And you should now do your very first re-import of the FBX. You save your base character in a FBX and Import it to UE4. To be 100% safe you can save and import to different names and folders, but in the end you will re-import the base character each time you do one or more new shape keys.
When you see this working in UE4, you can go on to the next expressions - I simply delete the Averagedude_base_expression collection and save the next expression in the same file. You can naturally do as many expressions as you want. leave some out etc... as you like!
==Observations about Blender 2.8==
You may notice that you can mess this up, so please save your blender file and back up! Say you can easily merge your base character with the expression MHX2 or do something else to corrupt your work!
Please also note that the Vertex Group/relative to, '''head''' and '''Basis''', are rather important! The shape key will change the entire body, to the T-Pose, if head is not set. Likewise you can make some shape keys relative to an other shape key - this will be important a bit later, when we do more "advanced" stuff!
=Blender 2.8 - a bit more advanced?=
This is very fine - we can make your base character use all the expressions, and they can be combined! Also you can tamper with them in UE4, say you can combine them and you can even set minus values, or extreme values not "allowed" in Blender. But you obviously want more than that?
Perhaps you can find some special "targets" you want to use?
307881338947ea8d09c2a5083bff8c6202a318e1
1976
1966
2021-01-16T07:57:58Z
Assetdk
89
/* MH4UE - get Makehuman to Unreal4 */
wikitext
text/x-wiki
Please take a look at this page to get an overview of things you can use to get your Makehuman characters into Unreal Engine!
* [[Documentation:MH4UE]]
=What can and can't be done?=
I have been working on getting different characters into UE4 for some time, and this have been a real hassle!
On this page I want to summarize what I managed to get done using a workflow that involves Blender. I have had a focus on not going into much details regarding any of the tools, but you will need to know a few things. Even though this looks like a trivial task there are some pitfalls and also there are some things that can not be done, or I have just not found out how to. I will eventually also add links to all the YT tutorials I found helpful.
I found that working with Makehuman very easy, so focus will be very UE4 how to specific.
This is what I will cover thus far:
* Create and save any MH character in Makehuman. Basic stuff, and important things to avoid.
* Getting the character into Blender - import or link?
* Setup Blender for Export, shape keys and morph targets
* First import into UE4
* Introduction to more shape keys
* Get the Cloth working
* Mixamo animations
This is the stuff that I did not cover - yet:
* Animations for talking (other tutorials may help)
* Making custom cloth
* Hair
This is the stuff I can not get to work:
* Retargeting to Advanced Locomotion System V3/4
* ALS got something to work! [[Documentation:Saving models for Unreal Engine and how to import them there/ALS]]
* [[Documentation:Unreal Engine ALS V4]]
Since I am using/learning Blender 2.8, I want to share a bit of bonus info. I managed to make one of the free UE4 packages work a bit "better". That is your characters should have some transportation. This is how:
* [[Documentation:Unreal Engine Vehicle Variety Pack]]
=Getting started=
I wanted a quick way to populate a UE4 game, preferably with an unlimited number of varied characters of high quality. This has proven to be a bit harder than expected. The workflow for making characters is not as trivial as one would want but this guide should make it a bit more easy to do. I will focus on describing the "straight" path from Makehuman and into UE4 - so you will not find too much details about Blender. Please refer to Blender specific pages for more on that.
==Need to know==
There are a few terms that you need to know, say you need to know that you will import FBX, textures and other files into UE4. Also you will need to know that a Character consists of a '''Mesh''', a '''Skeleton''' and '''''materials''''' (that refers to textures). I will try to elaborate on these subjects as we go along...
==Making a base-character==
'''IMPORTANT new comment:'''
I have been working with these base-characters on and off for some time now, and I realized that:
'''You should not change the pose before creating the base character.'''
The reason for this is that the T-Pose will not be kept/maintained throughout using makehuman, specifically when you use the utility/
expression mixer. And that will, in time, mess up the option to set expressions as shape keys in Blender.
Blender will, when you set the shape key set the entire body as a "shape", say your base character is in T-Pose then the A-pose will be set
as part of the shape key.
Makehuman provides a range of predefined characters that is supposed to work as-is. You can just load a character, export it to FBX and import that into UE4 - and after a bit of work you can have a working player character! There are however a few pitfalls, so I suggest you make one (or more) base-character(s) that you can elaborate on as you go along. I will be working with ''''''averagedude'''''' as my base-character.
These are the steps to make the base characters:
* Open Makehuman
* Select the files tab and load the character
'''Under 'Geometries''''
* Remove cloth - (uncheck Hide faces under cloth)!
* Remove hair
* Add Teeth
* Choose Topology - '''I have no advice on this - but see comment below!'''
* Chose Eyebrows/Eyelashes, these can be changed as you go along - as can eye colors!
* Add Tongue01 (again I have no advice/recommendation on that, yet)
'''Under 'Materials'''' - I will show you how to work with UE4 "advanced" materials:
* Chose any skin that you like,
* Chose any eyes that you like
'''Under 'Pose/Animate''''
* Chose Skeleton: Uengine - if you do not have this already you my get it via the community tab?
* Chose Pose: Tpose (the last one on the list)
* Chose Expressions: none
And this is it! But there is one 'important' option you need know about - you need to '''uncheck''' the Smooth button!
The smooth button/option: [[File:MH-Smooth-option.png]] should be unchecked... that will make your character a bit less attractive, but this will preserve the shape-keys!
Makehuman comes with some 50-60 '''shape-keys''' and these will all be available as '''morph-targets''' in UE4. I will show you how to make more shape-keys, using makehuman+blender!
Now it is time to save your base-character - even though you have made very few changes to the file you should save this file under the save tab and name it
<your-name>-base (say averagedude-base), you can even add your very own tag 'base' to this.
When you save the file like this you will be able to reload it, and we need that later!
====Choose Topology/Shape keys====
When you make your base character without smoothing you get shape keys, and you want to share these between different characters. Specifically you would probably want to share face morphs between male and female characters - and there may be other base character variations, say old/young/child etc.
Later I will focus on how to make new shape keys, using blender - depending on how you want to do this you may want to '''chose Topology that is compatible between the different characters!''' That is you may be able to transfer one "shape" from a male character to a female character, but the result will depend on ''topology compatibility''. I will/may thus update this section to make sure
'''Shape key names''' will be the same for all of the base characters, as they come from - however you will be able to make new keys. You must name these keys the same for all MH characters, like these share the same skeleton (MH_Skelton) they must hold all the same shape keys names. If they don't your game may "break"....
===Export your base-character===
You can now take a break - or you can export your work. There are really tree options for you to look at:
* Save the FBX file directly
* Save a MHX2 file (you may need to install this as a option/utility, find our elsewhere!)
* Load the character to '''Blender''' directly via the link (I will get back to what can be done using that!)
I suggest that you save your base-character now, in both formats - FBX and MHX2! Make a specific 'Base-Characters' folder, because you will need it!
When you export the FBX use these options:
[[File:MH-FBX-export-options.png]]
This is the result for me, you should see something like this also:
[[File:MH-Base-Character-Folder.png]]
You should also see that there is a sub-folder, called Textures - this is where the different textures are saved and it should now look like this:
[[File:MH-Base-Character-Folder-textures.png]]
You can now go over all of the different textures, so you will have a wide selection to chose from. Textures are saved every time you save a FBX file!
Say, I change the base-characters textures, saved the FBX - and this is what I got:
[[File:MH-Base-Character-Folder-textures2.png]]
===Import your base-character to UE4 - FBX===
The FBX file will actually import directly to UE4, but there are a few problems! You should export your FBX file as Binary FBX, and you will get the most out of it. After this you can get to this result (after adjusting the materials, as seen below):
[[File:MH-MH-FBX-imported.png]]
Your character can look like this (after adjusting materials) - pretty good:
[[File:MH-MH-FBX-imported-materials.png]]
'''HOWEVER, you have lost the morph-targets! And as you probably noticed, the UE4 standard FBX import do import them!'''
I will get back to what to do about the shape-keys... but let make the materials first?
==Makehuman UE4 materials==
When you import the FBX made you exported from Makehuman, both textures and materials are made. You will also notice that UE4 will try to match the materials correctly to the material slots, as seen above in the 'Asset Details' of, in my case, averagedude-base (do not worry about the physics and the skeleton yet!).
To get you started, we need to take a look at the Eye, Eyelashes and Eyebrow materials...
===Eye materials===
First you can rename the '''high-poly''' material '''high-poly-''blue-eye''''' - or to whatever color you chose! You will probably make more eye materials.
Next you can double-click the material, to open the material-editor and change it to look something like this:
[[File:MH-UE4-Eye-material.png]]
===Eyelashes and Eyebrow materials===
Likewise you can set up the eyelashes, and the eyebrows are the same only you do not need ''two sided'' for the bows:
[[File:MH-UE4-Eyelashes-material.png]]
!?You may want to play with the shading model.
===More materials?===
You can simply drag and drop more textures from the the base-character/textures folder, then duplicate and rename the materials, and apply different textures to the renamed materials. At some point I want to be able to customize/randomize (NPC) characters, but I have not yet done that.
Also you can make materials instances with parameters... I will show you howto, but first we need to turn shape-keys into morph-targets.
=Use Blender v 2.80 to get more!!=
For some reason the exported FBX file is not organized in a way so you will get the shape-keys imported directly to UE4. However when you follow the next steps, you will not get the correct materials imported, so I recommend that you run FBX import as shown above, and save the textures/materials in a separate folder.
If you are new to Blender please run a few tutorials specifically on on how to import/export, and also get to know about collections - you can do a lot in Blender and you can get confused!
==What will be done here?==
I will show you how to:
* Import your MHX2 files, to preserve the shape-keys
* Export FBX files, so UE4 will import correctly with morph-targets
* Apply expressions etc. to your base character
* Import these to your Blender file and apply the expressions as '''new shape keys'''
==But, first import and inspect FBX and MHX2!==
As you may remember you exported two files, the FBX file and the MHX2 file. You want to import both of these files into Blender, so you need two Collections, called FBX and MHX2. You right-click on the 'Scene collection' select 'New' and rename the collections to 'FBX' and 'MHX2'... I also added Scene collection and dragged the Camera and Light there (as I deleted the box). After this you should see something link this (the small Icons may be different):
[[File:MH-Base-Blender-setup.png]]
When you import your FBX file select/highlight the FBX collection, so the FBX data get imported into that collection. You can use the standard import options. For MHX2 you need to change the setting to match those you see below - when you find they are correct you can click the + sign, marked with a yellow arrow, and save the setting with your own setting-name.
(You may notice that the character you imported is out of proportions, some 17-18 meters high, we will correct that when we export to UE4!)
[[File:MH-Blender-FBX-import-options.png]]
===Inspect the results, in Blender===
Now is a good time to save the Blender file. You should save this in the same folder as the FBX and MHX2. I call this file averagedude-base.blend.
If you did this approximately as described the result should be munch like below. And you will probably notice that there is some structural differences. You can see that by looking at the small icons [[File:MH-Blender-base-imported-icons.png]], that represent where modifiers, vertex groups and Object data is stored! Specifically the Object data holds the shape-keys and those were not imported. (perhaps because I did not use the correct FBX import options - but the same happens in UE4!).
[[File:MH-Blender-base-imported.png]]
You will notice that the MHX2 version of your character holds the Object data (the triangle) and that shape-keys can be seen there!
==Export the FBX for your base character, and import to UE4==
The next step is crucial for getting things to work in UE4, it is not very complicated but you need to have a plan.
When you did this correctly you should be able to get the following results:
* Import your base character into UE4
* Create retargeting for your common skeleton - called MH_Skeleton
* Retarget the Maniqin animations to your base character(s)
* Get additional Mixamo animations
===FBX export settings===
'''Important!''' Before you go any further you should rename your base character to '''main_root''', like this:
[[File:MH-Base-FBX-main-root.png]]
.... you should do this for all base characters! main_root will be the root bone in your skeleton. When you do it like this, all of your base characters will be able to share the same skeleton!
Now select the MHX2 collection where you have the character, and go to Export FBX.
I have made a 'Operator preset' for the FBX export, this is the options you need to set:
[[File:MH-Base-FBX-operator-presets.png]]
Place the FBX file in the same folder as where you placed the original FBX and the MHX2. You probably do not need the FBX that you made with Makehuman, and you can always make it again?
(You may however want to export more FBX files from Makehuman, simply to get all of the textures. We will look more into how you can use the skin textures!)
==UE4 import, and retarget ==
Go to your UE4 project and make a MH folder containing a new avaragedude folder, and import your base character there!
Observe that this character looks very much like the one you did already import from the original FBX, there are little difference - yet you want to set up this as your real base character.
Also you want to rename the skeleton to '''MH_Skeleton'''! And you want to open the skeleton, and retarget it to the humanoid rig... this should look like this:
[[File:MH-Base-Skeleton-Retarget.png]]
Make sure that your character is in T-Pose, as you want to retarget the Mannequin animations to your characters MH_Skeleton!
Make a animation folder in your MH, perhaps even Mannequin folder?
You go to the UE4 folder: Content/Mannequin/Animations and right-click on this animation: '''ThirdPerson_AnimBP'''
Select retarget and choose MH_Skeleton as your target - also select the animation folder you made before, something like this:
[[File:MH-Base-Animation-Retarget.png]]
You may want to rename your new ThirdPerson_AnimBP to '''''MH''_ThirdPerson_AnimBP''' - or perhaps simply MH_AnimBP?
=More shape keys, made in Blender 2.8=
I have not yet made any target in MH, also I have not had much luck in using the two blender addons. Frankly I don't really understand what the different buttons does, most of them are not active... perhaps they make sens if you use Blender a lot?
But I will show you different ways to get expressions, targets and skeleton animations(!) to shape keys, so then will be new morph targets in UE4!
Before you get started you should probably look at a few Blender tutorials regarding this - these are good:
===Tutorials===
General introduction to MHX2 import and animation. However '''do not''' import the resulting characters into UE4?
{{#ev:youtube|2P1t_nogbGs}}
Short general introduction to using shape keys in Blender 2.8:
{{#ev:youtube|e675Ulc7QL4}}
==Expressions and targets==
Make sure that you have your original base character saved and load it into Makehuman. Remember to check that your base character is in the T-Pose, do not change that!
'''Just in case:''' I recommend that you keep a copy of this file as well as all the blender file etc.
You should also have Blender open and load the .blender file where you saved both your FBX and the MHX2.
Before you go on do as follows: move the MHX2 character to x 10m, so the entire character moves to the left (right to your front view) - this will make it more easy for you to work with! (Save the blender file!)
'''This is the general workflow for transfer of expressions:'''
Makehuman:
* Go to the Pose/Animate tab and select Expressions. From the list select the first expression, Anger01.
* Save the character as .mhx2 - but to a different file name: averagedude-base-expression.mhx2.
Blender:
* In blender, deselect all the collections
* Import the file you made, using the same operator presets as yo saved them.
* Activate your Base character collection and you will have two characters side by side - one base character and a very angry one!
* Go to object mode
* '''Left-click-select''' the angry guy first, then '''shift-left-click''' your base character.
* Go to the vertex tab/shape key, and click on the little down arrow, and select the ''Join as shapes'' - like this:
[[File:MH-Blender-shapekey1.png]]
This will make a brand new shape key: Averagedude_base_expression:Proxy
* You rename the shape key by a double-click and call it '''Exp_Anger01'''..
* ... and assign the Vertex group to head
[[File:MH-Blender-shapekey2.png]]
In case you can not select ''Join as shapes'' the two characters were not selected in the right order, or perhaps the topology is not the same. Blender will show this as a message some where at the bottom of the screen. I this happens try the blender workflow, in this paragraph only , again!
You can now try to change the value for the shape key, and you should see that your base character can get angry!
When this worked for you you can save the blender file! And you should now do your very first re-import of the FBX. You save your base character in a FBX and Import it to UE4. To be 100% safe you can save and import to different names and folders, but in the end you will re-import the base character each time you do one or more new shape keys.
When you see this working in UE4, you can go on to the next expressions - I simply delete the Averagedude_base_expression collection and save the next expression in the same file. You can naturally do as many expressions as you want. leave some out etc... as you like!
==Observations about Blender 2.8==
You may notice that you can mess this up, so please save your blender file and back up! Say you can easily merge your base character with the expression MHX2 or do something else to corrupt your work!
Please also note that the Vertex Group/relative to, '''head''' and '''Basis''', are rather important! The shape key will change the entire body, to the T-Pose, if head is not set. Likewise you can make some shape keys relative to an other shape key - this will be important a bit later, when we do more "advanced" stuff!
=Blender 2.8 - a bit more advanced?=
This is very fine - we can make your base character use all the expressions, and they can be combined! Also you can tamper with them in UE4, say you can combine them and you can even set minus values, or extreme values not "allowed" in Blender. But you obviously want more than that?
Perhaps you can find some special "targets" you want to use?
2cde89ed77f5c62459ddc5fae45e1e387225594b
1966
1748
2021-01-16T06:48:44Z
Assetdk
89
wikitext
text/x-wiki
=MH4UE - get Makehuman to Unreal4 =
Please take a look at this page to get an overview of things you can use to get your Makehuman characters into Unreal Engine!
* [[Documentation:MH4UE]]
=What can and can't be done?=
I have been working on getting different characters into UE4 for some time, and this have been a real hassle!
On this page I want to summarize what I managed to get done using a workflow that involves Blender. I have had a focus on not going into much details regarding any of the tools, but you will need to know a few things. Even though this looks like a trivial task there are some pitfalls and also there are some things that can not be done, or I have just not found out how to. I will eventually also add links to all the YT tutorials I found helpful.
I found that working with Makehuman very easy, so focus will be very UE4 how to specific.
This is what I will cover thus far:
* Create and save any MH character in Makehuman. Basic stuff, and important things to avoid.
* Getting the character into Blender - import or link?
* Setup Blender for Export, shape keys and morph targets
* First import into UE4
* Introduction to more shape keys
* Get the Cloth working
* Mixamo animations
This is the stuff that I did not cover - yet:
* Animations for talking (other tutorials may help)
* Making custom cloth
* Hair
This is the stuff I can not get to work:
* Retargeting to Advanced Locomotion System V3/4
* ALS got something to work! [[Documentation:Saving models for Unreal Engine and how to import them there/ALS]]
* [[Documentation:Unreal Engine ALS V4]]
Since I am using/learning Blender 2.8, I want to share a bit of bonus info. I managed to make one of the free UE4 packages work a bit "better". That is your characters should have some transportation. This is how:
* [[Documentation:Unreal Engine Vehicle Variety Pack]]
=Getting started=
I wanted a quick way to populate a UE4 game, preferably with an unlimited number of varied characters of high quality. This has proven to be a bit harder than expected. The workflow for making characters is not as trivial as one would want but this guide should make it a bit more easy to do. I will focus on describing the "straight" path from Makehuman and into UE4 - so you will not find too much details about Blender. Please refer to Blender specific pages for more on that.
==Need to know==
There are a few terms that you need to know, say you need to know that you will import FBX, textures and other files into UE4. Also you will need to know that a Character consists of a '''Mesh''', a '''Skeleton''' and '''''materials''''' (that refers to textures). I will try to elaborate on these subjects as we go along...
==Making a base-character==
'''IMPORTANT new comment:'''
I have been working with these base-characters on and off for some time now, and I realized that:
'''You should not change the pose before creating the base character.'''
The reason for this is that the T-Pose will not be kept/maintained throughout using makehuman, specifically when you use the utility/
expression mixer. And that will, in time, mess up the option to set expressions as shape keys in Blender.
Blender will, when you set the shape key set the entire body as a "shape", say your base character is in T-Pose then the A-pose will be set
as part of the shape key.
Makehuman provides a range of predefined characters that is supposed to work as-is. You can just load a character, export it to FBX and import that into UE4 - and after a bit of work you can have a working player character! There are however a few pitfalls, so I suggest you make one (or more) base-character(s) that you can elaborate on as you go along. I will be working with ''''''averagedude'''''' as my base-character.
These are the steps to make the base characters:
* Open Makehuman
* Select the files tab and load the character
'''Under 'Geometries''''
* Remove cloth - (uncheck Hide faces under cloth)!
* Remove hair
* Add Teeth
* Choose Topology - '''I have no advice on this - but see comment below!'''
* Chose Eyebrows/Eyelashes, these can be changed as you go along - as can eye colors!
* Add Tongue01 (again I have no advice/recommendation on that, yet)
'''Under 'Materials'''' - I will show you how to work with UE4 "advanced" materials:
* Chose any skin that you like,
* Chose any eyes that you like
'''Under 'Pose/Animate''''
* Chose Skeleton: Uengine - if you do not have this already you my get it via the community tab?
* Chose Pose: Tpose (the last one on the list)
* Chose Expressions: none
And this is it! But there is one 'important' option you need know about - you need to '''uncheck''' the Smooth button!
The smooth button/option: [[File:MH-Smooth-option.png]] should be unchecked... that will make your character a bit less attractive, but this will preserve the shape-keys!
Makehuman comes with some 50-60 '''shape-keys''' and these will all be available as '''morph-targets''' in UE4. I will show you how to make more shape-keys, using makehuman+blender!
Now it is time to save your base-character - even though you have made very few changes to the file you should save this file under the save tab and name it
<your-name>-base (say averagedude-base), you can even add your very own tag 'base' to this.
When you save the file like this you will be able to reload it, and we need that later!
====Choose Topology/Shape keys====
When you make your base character without smoothing you get shape keys, and you want to share these between different characters. Specifically you would probably want to share face morphs between male and female characters - and there may be other base character variations, say old/young/child etc.
Later I will focus on how to make new shape keys, using blender - depending on how you want to do this you may want to '''chose Topology that is compatible between the different characters!''' That is you may be able to transfer one "shape" from a male character to a female character, but the result will depend on ''topology compatibility''. I will/may thus update this section to make sure
'''Shape key names''' will be the same for all of the base characters, as they come from - however you will be able to make new keys. You must name these keys the same for all MH characters, like these share the same skeleton (MH_Skelton) they must hold all the same shape keys names. If they don't your game may "break"....
===Export your base-character===
You can now take a break - or you can export your work. There are really tree options for you to look at:
* Save the FBX file directly
* Save a MHX2 file (you may need to install this as a option/utility, find our elsewhere!)
* Load the character to '''Blender''' directly via the link (I will get back to what can be done using that!)
I suggest that you save your base-character now, in both formats - FBX and MHX2! Make a specific 'Base-Characters' folder, because you will need it!
When you export the FBX use these options:
[[File:MH-FBX-export-options.png]]
This is the result for me, you should see something like this also:
[[File:MH-Base-Character-Folder.png]]
You should also see that there is a sub-folder, called Textures - this is where the different textures are saved and it should now look like this:
[[File:MH-Base-Character-Folder-textures.png]]
You can now go over all of the different textures, so you will have a wide selection to chose from. Textures are saved every time you save a FBX file!
Say, I change the base-characters textures, saved the FBX - and this is what I got:
[[File:MH-Base-Character-Folder-textures2.png]]
===Import your base-character to UE4 - FBX===
The FBX file will actually import directly to UE4, but there are a few problems! You should export your FBX file as Binary FBX, and you will get the most out of it. After this you can get to this result (after adjusting the materials, as seen below):
[[File:MH-MH-FBX-imported.png]]
Your character can look like this (after adjusting materials) - pretty good:
[[File:MH-MH-FBX-imported-materials.png]]
'''HOWEVER, you have lost the morph-targets! And as you probably noticed, the UE4 standard FBX import do import them!'''
I will get back to what to do about the shape-keys... but let make the materials first?
==Makehuman UE4 materials==
When you import the FBX made you exported from Makehuman, both textures and materials are made. You will also notice that UE4 will try to match the materials correctly to the material slots, as seen above in the 'Asset Details' of, in my case, averagedude-base (do not worry about the physics and the skeleton yet!).
To get you started, we need to take a look at the Eye, Eyelashes and Eyebrow materials...
===Eye materials===
First you can rename the '''high-poly''' material '''high-poly-''blue-eye''''' - or to whatever color you chose! You will probably make more eye materials.
Next you can double-click the material, to open the material-editor and change it to look something like this:
[[File:MH-UE4-Eye-material.png]]
===Eyelashes and Eyebrow materials===
Likewise you can set up the eyelashes, and the eyebrows are the same only you do not need ''two sided'' for the bows:
[[File:MH-UE4-Eyelashes-material.png]]
!?You may want to play with the shading model.
===More materials?===
You can simply drag and drop more textures from the the base-character/textures folder, then duplicate and rename the materials, and apply different textures to the renamed materials. At some point I want to be able to customize/randomize (NPC) characters, but I have not yet done that.
Also you can make materials instances with parameters... I will show you howto, but first we need to turn shape-keys into morph-targets.
=Use Blender v 2.80 to get more!!=
For some reason the exported FBX file is not organized in a way so you will get the shape-keys imported directly to UE4. However when you follow the next steps, you will not get the correct materials imported, so I recommend that you run FBX import as shown above, and save the textures/materials in a separate folder.
If you are new to Blender please run a few tutorials specifically on on how to import/export, and also get to know about collections - you can do a lot in Blender and you can get confused!
==What will be done here?==
I will show you how to:
* Import your MHX2 files, to preserve the shape-keys
* Export FBX files, so UE4 will import correctly with morph-targets
* Apply expressions etc. to your base character
* Import these to your Blender file and apply the expressions as '''new shape keys'''
==But, first import and inspect FBX and MHX2!==
As you may remember you exported two files, the FBX file and the MHX2 file. You want to import both of these files into Blender, so you need two Collections, called FBX and MHX2. You right-click on the 'Scene collection' select 'New' and rename the collections to 'FBX' and 'MHX2'... I also added Scene collection and dragged the Camera and Light there (as I deleted the box). After this you should see something link this (the small Icons may be different):
[[File:MH-Base-Blender-setup.png]]
When you import your FBX file select/highlight the FBX collection, so the FBX data get imported into that collection. You can use the standard import options. For MHX2 you need to change the setting to match those you see below - when you find they are correct you can click the + sign, marked with a yellow arrow, and save the setting with your own setting-name.
(You may notice that the character you imported is out of proportions, some 17-18 meters high, we will correct that when we export to UE4!)
[[File:MH-Blender-FBX-import-options.png]]
===Inspect the results, in Blender===
Now is a good time to save the Blender file. You should save this in the same folder as the FBX and MHX2. I call this file averagedude-base.blend.
If you did this approximately as described the result should be munch like below. And you will probably notice that there is some structural differences. You can see that by looking at the small icons [[File:MH-Blender-base-imported-icons.png]], that represent where modifiers, vertex groups and Object data is stored! Specifically the Object data holds the shape-keys and those were not imported. (perhaps because I did not use the correct FBX import options - but the same happens in UE4!).
[[File:MH-Blender-base-imported.png]]
You will notice that the MHX2 version of your character holds the Object data (the triangle) and that shape-keys can be seen there!
==Export the FBX for your base character, and import to UE4==
The next step is crucial for getting things to work in UE4, it is not very complicated but you need to have a plan.
When you did this correctly you should be able to get the following results:
* Import your base character into UE4
* Create retargeting for your common skeleton - called MH_Skeleton
* Retarget the Maniqin animations to your base character(s)
* Get additional Mixamo animations
===FBX export settings===
'''Important!''' Before you go any further you should rename your base character to '''main_root''', like this:
[[File:MH-Base-FBX-main-root.png]]
.... you should do this for all base characters! main_root will be the root bone in your skeleton. When you do it like this, all of your base characters will be able to share the same skeleton!
Now select the MHX2 collection where you have the character, and go to Export FBX.
I have made a 'Operator preset' for the FBX export, this is the options you need to set:
[[File:MH-Base-FBX-operator-presets.png]]
Place the FBX file in the same folder as where you placed the original FBX and the MHX2. You probably do not need the FBX that you made with Makehuman, and you can always make it again?
(You may however want to export more FBX files from Makehuman, simply to get all of the textures. We will look more into how you can use the skin textures!)
==UE4 import, and retarget ==
Go to your UE4 project and make a MH folder containing a new avaragedude folder, and import your base character there!
Observe that this character looks very much like the one you did already import from the original FBX, there are little difference - yet you want to set up this as your real base character.
Also you want to rename the skeleton to '''MH_Skeleton'''! And you want to open the skeleton, and retarget it to the humanoid rig... this should look like this:
[[File:MH-Base-Skeleton-Retarget.png]]
Make sure that your character is in T-Pose, as you want to retarget the Mannequin animations to your characters MH_Skeleton!
Make a animation folder in your MH, perhaps even Mannequin folder?
You go to the UE4 folder: Content/Mannequin/Animations and right-click on this animation: '''ThirdPerson_AnimBP'''
Select retarget and choose MH_Skeleton as your target - also select the animation folder you made before, something like this:
[[File:MH-Base-Animation-Retarget.png]]
You may want to rename your new ThirdPerson_AnimBP to '''''MH''_ThirdPerson_AnimBP''' - or perhaps simply MH_AnimBP?
=More shape keys, made in Blender 2.8=
I have not yet made any target in MH, also I have not had much luck in using the two blender addons. Frankly I don't really understand what the different buttons does, most of them are not active... perhaps they make sens if you use Blender a lot?
But I will show you different ways to get expressions, targets and skeleton animations(!) to shape keys, so then will be new morph targets in UE4!
Before you get started you should probably look at a few Blender tutorials regarding this - these are good:
===Tutorials===
General introduction to MHX2 import and animation. However '''do not''' import the resulting characters into UE4?
{{#ev:youtube|2P1t_nogbGs}}
Short general introduction to using shape keys in Blender 2.8:
{{#ev:youtube|e675Ulc7QL4}}
==Expressions and targets==
Make sure that you have your original base character saved and load it into Makehuman. Remember to check that your base character is in the T-Pose, do not change that!
'''Just in case:''' I recommend that you keep a copy of this file as well as all the blender file etc.
You should also have Blender open and load the .blender file where you saved both your FBX and the MHX2.
Before you go on do as follows: move the MHX2 character to x 10m, so the entire character moves to the left (right to your front view) - this will make it more easy for you to work with! (Save the blender file!)
'''This is the general workflow for transfer of expressions:'''
Makehuman:
* Go to the Pose/Animate tab and select Expressions. From the list select the first expression, Anger01.
* Save the character as .mhx2 - but to a different file name: averagedude-base-expression.mhx2.
Blender:
* In blender, deselect all the collections
* Import the file you made, using the same operator presets as yo saved them.
* Activate your Base character collection and you will have two characters side by side - one base character and a very angry one!
* Go to object mode
* '''Left-click-select''' the angry guy first, then '''shift-left-click''' your base character.
* Go to the vertex tab/shape key, and click on the little down arrow, and select the ''Join as shapes'' - like this:
[[File:MH-Blender-shapekey1.png]]
This will make a brand new shape key: Averagedude_base_expression:Proxy
* You rename the shape key by a double-click and call it '''Exp_Anger01'''..
* ... and assign the Vertex group to head
[[File:MH-Blender-shapekey2.png]]
In case you can not select ''Join as shapes'' the two characters were not selected in the right order, or perhaps the topology is not the same. Blender will show this as a message some where at the bottom of the screen. I this happens try the blender workflow, in this paragraph only , again!
You can now try to change the value for the shape key, and you should see that your base character can get angry!
When this worked for you you can save the blender file! And you should now do your very first re-import of the FBX. You save your base character in a FBX and Import it to UE4. To be 100% safe you can save and import to different names and folders, but in the end you will re-import the base character each time you do one or more new shape keys.
When you see this working in UE4, you can go on to the next expressions - I simply delete the Averagedude_base_expression collection and save the next expression in the same file. You can naturally do as many expressions as you want. leave some out etc... as you like!
==Observations about Blender 2.8==
You may notice that you can mess this up, so please save your blender file and back up! Say you can easily merge your base character with the expression MHX2 or do something else to corrupt your work!
Please also note that the Vertex Group/relative to, '''head''' and '''Basis''', are rather important! The shape key will change the entire body, to the T-Pose, if head is not set. Likewise you can make some shape keys relative to an other shape key - this will be important a bit later, when we do more "advanced" stuff!
=Blender 2.8 - a bit more advanced?=
This is very fine - we can make your base character use all the expressions, and they can be combined! Also you can tamper with them in UE4, say you can combine them and you can even set minus values, or extreme values not "allowed" in Blender. But you obviously want more than that?
Perhaps you can find some special "targets" you want to use?
46ea6712481e8e80781be78b179a5861885b13cc
1748
1718
2020-03-25T13:12:40Z
Assetdk
89
/* Making a base-character */
wikitext
text/x-wiki
=What can and can't be done?=
I have been working on getting different characters into UE4 for some time, and this have been a real hassle!
On this page I want to summarize what I managed to get done using a workflow that involves Blender. I have had a focus on not going into much details regarding any of the tools, but you will need to know a few things. Even though this looks like a trivial task there are some pitfalls and also there are some things that can not be done, or I have just not found out how to. I will eventually also add links to all the YT tutorials I found helpful.
I found that working with Makehuman very easy, so focus will be very UE4 how to specific.
This is what I will cover thus far:
* Create and save any MH character in Makehuman. Basic stuff, and important things to avoid.
* Getting the character into Blender - import or link?
* Setup Blender for Export, shape keys and morph targets
* First import into UE4
* Introduction to more shape keys
* Get the Cloth working
* Mixamo animations
This is the stuff that I did not cover - yet:
* Animations for talking (other tutorials may help)
* Making custom cloth
* Hair
This is the stuff I can not get to work:
* Retargeting to Advanced Locomotion System V3/4
* ALS got something to work! [[Documentation:Saving models for Unreal Engine and how to import them there/ALS]]
* [[Documentation:Unreal Engine ALS V4]]
Since I am using/learning Blender 2.8, I want to share a bit of bonus info. I managed to make one of the free UE4 packages work a bit "better". That is your characters should have some transportation. This is how:
* [[Documentation:Unreal Engine Vehicle Variety Pack]]
=Getting started=
I wanted a quick way to populate a UE4 game, preferably with an unlimited number of varied characters of high quality. This has proven to be a bit harder than expected. The workflow for making characters is not as trivial as one would want but this guide should make it a bit more easy to do. I will focus on describing the "straight" path from Makehuman and into UE4 - so you will not find too much details about Blender. Please refer to Blender specific pages for more on that.
==Need to know==
There are a few terms that you need to know, say you need to know that you will import FBX, textures and other files into UE4. Also you will need to know that a Character consists of a '''Mesh''', a '''Skeleton''' and '''''materials''''' (that refers to textures). I will try to elaborate on these subjects as we go along...
==Making a base-character==
'''IMPORTANT new comment:'''
I have been working with these base-characters on and off for some time now, and I realized that:
'''You should not change the pose before creating the base character.'''
The reason for this is that the T-Pose will not be kept/maintained throughout using makehuman, specifically when you use the utility/
expression mixer. And that will, in time, mess up the option to set expressions as shape keys in Blender.
Blender will, when you set the shape key set the entire body as a "shape", say your base character is in T-Pose then the A-pose will be set
as part of the shape key.
Makehuman provides a range of predefined characters that is supposed to work as-is. You can just load a character, export it to FBX and import that into UE4 - and after a bit of work you can have a working player character! There are however a few pitfalls, so I suggest you make one (or more) base-character(s) that you can elaborate on as you go along. I will be working with ''''''averagedude'''''' as my base-character.
These are the steps to make the base characters:
* Open Makehuman
* Select the files tab and load the character
'''Under 'Geometries''''
* Remove cloth - (uncheck Hide faces under cloth)!
* Remove hair
* Add Teeth
* Choose Topology - '''I have no advice on this - but see comment below!'''
* Chose Eyebrows/Eyelashes, these can be changed as you go along - as can eye colors!
* Add Tongue01 (again I have no advice/recommendation on that, yet)
'''Under 'Materials'''' - I will show you how to work with UE4 "advanced" materials:
* Chose any skin that you like,
* Chose any eyes that you like
'''Under 'Pose/Animate''''
* Chose Skeleton: Uengine - if you do not have this already you my get it via the community tab?
* Chose Pose: Tpose (the last one on the list)
* Chose Expressions: none
And this is it! But there is one 'important' option you need know about - you need to '''uncheck''' the Smooth button!
The smooth button/option: [[File:MH-Smooth-option.png]] should be unchecked... that will make your character a bit less attractive, but this will preserve the shape-keys!
Makehuman comes with some 50-60 '''shape-keys''' and these will all be available as '''morph-targets''' in UE4. I will show you how to make more shape-keys, using makehuman+blender!
Now it is time to save your base-character - even though you have made very few changes to the file you should save this file under the save tab and name it
<your-name>-base (say averagedude-base), you can even add your very own tag 'base' to this.
When you save the file like this you will be able to reload it, and we need that later!
====Choose Topology/Shape keys====
When you make your base character without smoothing you get shape keys, and you want to share these between different characters. Specifically you would probably want to share face morphs between male and female characters - and there may be other base character variations, say old/young/child etc.
Later I will focus on how to make new shape keys, using blender - depending on how you want to do this you may want to '''chose Topology that is compatible between the different characters!''' That is you may be able to transfer one "shape" from a male character to a female character, but the result will depend on ''topology compatibility''. I will/may thus update this section to make sure
'''Shape key names''' will be the same for all of the base characters, as they come from - however you will be able to make new keys. You must name these keys the same for all MH characters, like these share the same skeleton (MH_Skelton) they must hold all the same shape keys names. If they don't your game may "break"....
===Export your base-character===
You can now take a break - or you can export your work. There are really tree options for you to look at:
* Save the FBX file directly
* Save a MHX2 file (you may need to install this as a option/utility, find our elsewhere!)
* Load the character to '''Blender''' directly via the link (I will get back to what can be done using that!)
I suggest that you save your base-character now, in both formats - FBX and MHX2! Make a specific 'Base-Characters' folder, because you will need it!
When you export the FBX use these options:
[[File:MH-FBX-export-options.png]]
This is the result for me, you should see something like this also:
[[File:MH-Base-Character-Folder.png]]
You should also see that there is a sub-folder, called Textures - this is where the different textures are saved and it should now look like this:
[[File:MH-Base-Character-Folder-textures.png]]
You can now go over all of the different textures, so you will have a wide selection to chose from. Textures are saved every time you save a FBX file!
Say, I change the base-characters textures, saved the FBX - and this is what I got:
[[File:MH-Base-Character-Folder-textures2.png]]
===Import your base-character to UE4 - FBX===
The FBX file will actually import directly to UE4, but there are a few problems! You should export your FBX file as Binary FBX, and you will get the most out of it. After this you can get to this result (after adjusting the materials, as seen below):
[[File:MH-MH-FBX-imported.png]]
Your character can look like this (after adjusting materials) - pretty good:
[[File:MH-MH-FBX-imported-materials.png]]
'''HOWEVER, you have lost the morph-targets! And as you probably noticed, the UE4 standard FBX import do import them!'''
I will get back to what to do about the shape-keys... but let make the materials first?
==Makehuman UE4 materials==
When you import the FBX made you exported from Makehuman, both textures and materials are made. You will also notice that UE4 will try to match the materials correctly to the material slots, as seen above in the 'Asset Details' of, in my case, averagedude-base (do not worry about the physics and the skeleton yet!).
To get you started, we need to take a look at the Eye, Eyelashes and Eyebrow materials...
===Eye materials===
First you can rename the '''high-poly''' material '''high-poly-''blue-eye''''' - or to whatever color you chose! You will probably make more eye materials.
Next you can double-click the material, to open the material-editor and change it to look something like this:
[[File:MH-UE4-Eye-material.png]]
===Eyelashes and Eyebrow materials===
Likewise you can set up the eyelashes, and the eyebrows are the same only you do not need ''two sided'' for the bows:
[[File:MH-UE4-Eyelashes-material.png]]
!?You may want to play with the shading model.
===More materials?===
You can simply drag and drop more textures from the the base-character/textures folder, then duplicate and rename the materials, and apply different textures to the renamed materials. At some point I want to be able to customize/randomize (NPC) characters, but I have not yet done that.
Also you can make materials instances with parameters... I will show you howto, but first we need to turn shape-keys into morph-targets.
=Use Blender v 2.80 to get more!!=
For some reason the exported FBX file is not organized in a way so you will get the shape-keys imported directly to UE4. However when you follow the next steps, you will not get the correct materials imported, so I recommend that you run FBX import as shown above, and save the textures/materials in a separate folder.
If you are new to Blender please run a few tutorials specifically on on how to import/export, and also get to know about collections - you can do a lot in Blender and you can get confused!
==What will be done here?==
I will show you how to:
* Import your MHX2 files, to preserve the shape-keys
* Export FBX files, so UE4 will import correctly with morph-targets
* Apply expressions etc. to your base character
* Import these to your Blender file and apply the expressions as '''new shape keys'''
==But, first import and inspect FBX and MHX2!==
As you may remember you exported two files, the FBX file and the MHX2 file. You want to import both of these files into Blender, so you need two Collections, called FBX and MHX2. You right-click on the 'Scene collection' select 'New' and rename the collections to 'FBX' and 'MHX2'... I also added Scene collection and dragged the Camera and Light there (as I deleted the box). After this you should see something link this (the small Icons may be different):
[[File:MH-Base-Blender-setup.png]]
When you import your FBX file select/highlight the FBX collection, so the FBX data get imported into that collection. You can use the standard import options. For MHX2 you need to change the setting to match those you see below - when you find they are correct you can click the + sign, marked with a yellow arrow, and save the setting with your own setting-name.
(You may notice that the character you imported is out of proportions, some 17-18 meters high, we will correct that when we export to UE4!)
[[File:MH-Blender-FBX-import-options.png]]
===Inspect the results, in Blender===
Now is a good time to save the Blender file. You should save this in the same folder as the FBX and MHX2. I call this file averagedude-base.blend.
If you did this approximately as described the result should be munch like below. And you will probably notice that there is some structural differences. You can see that by looking at the small icons [[File:MH-Blender-base-imported-icons.png]], that represent where modifiers, vertex groups and Object data is stored! Specifically the Object data holds the shape-keys and those were not imported. (perhaps because I did not use the correct FBX import options - but the same happens in UE4!).
[[File:MH-Blender-base-imported.png]]
You will notice that the MHX2 version of your character holds the Object data (the triangle) and that shape-keys can be seen there!
==Export the FBX for your base character, and import to UE4==
The next step is crucial for getting things to work in UE4, it is not very complicated but you need to have a plan.
When you did this correctly you should be able to get the following results:
* Import your base character into UE4
* Create retargeting for your common skeleton - called MH_Skeleton
* Retarget the Maniqin animations to your base character(s)
* Get additional Mixamo animations
===FBX export settings===
'''Important!''' Before you go any further you should rename your base character to '''main_root''', like this:
[[File:MH-Base-FBX-main-root.png]]
.... you should do this for all base characters! main_root will be the root bone in your skeleton. When you do it like this, all of your base characters will be able to share the same skeleton!
Now select the MHX2 collection where you have the character, and go to Export FBX.
I have made a 'Operator preset' for the FBX export, this is the options you need to set:
[[File:MH-Base-FBX-operator-presets.png]]
Place the FBX file in the same folder as where you placed the original FBX and the MHX2. You probably do not need the FBX that you made with Makehuman, and you can always make it again?
(You may however want to export more FBX files from Makehuman, simply to get all of the textures. We will look more into how you can use the skin textures!)
==UE4 import, and retarget ==
Go to your UE4 project and make a MH folder containing a new avaragedude folder, and import your base character there!
Observe that this character looks very much like the one you did already import from the original FBX, there are little difference - yet you want to set up this as your real base character.
Also you want to rename the skeleton to '''MH_Skeleton'''! And you want to open the skeleton, and retarget it to the humanoid rig... this should look like this:
[[File:MH-Base-Skeleton-Retarget.png]]
Make sure that your character is in T-Pose, as you want to retarget the Mannequin animations to your characters MH_Skeleton!
Make a animation folder in your MH, perhaps even Mannequin folder?
You go to the UE4 folder: Content/Mannequin/Animations and right-click on this animation: '''ThirdPerson_AnimBP'''
Select retarget and choose MH_Skeleton as your target - also select the animation folder you made before, something like this:
[[File:MH-Base-Animation-Retarget.png]]
You may want to rename your new ThirdPerson_AnimBP to '''''MH''_ThirdPerson_AnimBP''' - or perhaps simply MH_AnimBP?
=More shape keys, made in Blender 2.8=
I have not yet made any target in MH, also I have not had much luck in using the two blender addons. Frankly I don't really understand what the different buttons does, most of them are not active... perhaps they make sens if you use Blender a lot?
But I will show you different ways to get expressions, targets and skeleton animations(!) to shape keys, so then will be new morph targets in UE4!
Before you get started you should probably look at a few Blender tutorials regarding this - these are good:
===Tutorials===
General introduction to MHX2 import and animation. However '''do not''' import the resulting characters into UE4?
{{#ev:youtube|2P1t_nogbGs}}
Short general introduction to using shape keys in Blender 2.8:
{{#ev:youtube|e675Ulc7QL4}}
==Expressions and targets==
Make sure that you have your original base character saved and load it into Makehuman. Remember to check that your base character is in the T-Pose, do not change that!
'''Just in case:''' I recommend that you keep a copy of this file as well as all the blender file etc.
You should also have Blender open and load the .blender file where you saved both your FBX and the MHX2.
Before you go on do as follows: move the MHX2 character to x 10m, so the entire character moves to the left (right to your front view) - this will make it more easy for you to work with! (Save the blender file!)
'''This is the general workflow for transfer of expressions:'''
Makehuman:
* Go to the Pose/Animate tab and select Expressions. From the list select the first expression, Anger01.
* Save the character as .mhx2 - but to a different file name: averagedude-base-expression.mhx2.
Blender:
* In blender, deselect all the collections
* Import the file you made, using the same operator presets as yo saved them.
* Activate your Base character collection and you will have two characters side by side - one base character and a very angry one!
* Go to object mode
* '''Left-click-select''' the angry guy first, then '''shift-left-click''' your base character.
* Go to the vertex tab/shape key, and click on the little down arrow, and select the ''Join as shapes'' - like this:
[[File:MH-Blender-shapekey1.png]]
This will make a brand new shape key: Averagedude_base_expression:Proxy
* You rename the shape key by a double-click and call it '''Exp_Anger01'''..
* ... and assign the Vertex group to head
[[File:MH-Blender-shapekey2.png]]
In case you can not select ''Join as shapes'' the two characters were not selected in the right order, or perhaps the topology is not the same. Blender will show this as a message some where at the bottom of the screen. I this happens try the blender workflow, in this paragraph only , again!
You can now try to change the value for the shape key, and you should see that your base character can get angry!
When this worked for you you can save the blender file! And you should now do your very first re-import of the FBX. You save your base character in a FBX and Import it to UE4. To be 100% safe you can save and import to different names and folders, but in the end you will re-import the base character each time you do one or more new shape keys.
When you see this working in UE4, you can go on to the next expressions - I simply delete the Averagedude_base_expression collection and save the next expression in the same file. You can naturally do as many expressions as you want. leave some out etc... as you like!
==Observations about Blender 2.8==
You may notice that you can mess this up, so please save your blender file and back up! Say you can easily merge your base character with the expression MHX2 or do something else to corrupt your work!
Please also note that the Vertex Group/relative to, '''head''' and '''Basis''', are rather important! The shape key will change the entire body, to the T-Pose, if head is not set. Likewise you can make some shape keys relative to an other shape key - this will be important a bit later, when we do more "advanced" stuff!
=Blender 2.8 - a bit more advanced?=
This is very fine - we can make your base character use all the expressions, and they can be combined! Also you can tamper with them in UE4, say you can combine them and you can even set minus values, or extreme values not "allowed" in Blender. But you obviously want more than that?
Perhaps you can find some special "targets" you want to use?
24701606c632caa45ef8effa33cc602a90b73421
1718
1709
2020-03-09T18:09:48Z
Assetdk
89
/* What can and can't be done? */
wikitext
text/x-wiki
=What can and can't be done?=
I have been working on getting different characters into UE4 for some time, and this have been a real hassle!
On this page I want to summarize what I managed to get done using a workflow that involves Blender. I have had a focus on not going into much details regarding any of the tools, but you will need to know a few things. Even though this looks like a trivial task there are some pitfalls and also there are some things that can not be done, or I have just not found out how to. I will eventually also add links to all the YT tutorials I found helpful.
I found that working with Makehuman very easy, so focus will be very UE4 how to specific.
This is what I will cover thus far:
* Create and save any MH character in Makehuman. Basic stuff, and important things to avoid.
* Getting the character into Blender - import or link?
* Setup Blender for Export, shape keys and morph targets
* First import into UE4
* Introduction to more shape keys
* Get the Cloth working
* Mixamo animations
This is the stuff that I did not cover - yet:
* Animations for talking (other tutorials may help)
* Making custom cloth
* Hair
This is the stuff I can not get to work:
* Retargeting to Advanced Locomotion System V3/4
* ALS got something to work! [[Documentation:Saving models for Unreal Engine and how to import them there/ALS]]
* [[Documentation:Unreal Engine ALS V4]]
Since I am using/learning Blender 2.8, I want to share a bit of bonus info. I managed to make one of the free UE4 packages work a bit "better". That is your characters should have some transportation. This is how:
* [[Documentation:Unreal Engine Vehicle Variety Pack]]
=Getting started=
I wanted a quick way to populate a UE4 game, preferably with an unlimited number of varied characters of high quality. This has proven to be a bit harder than expected. The workflow for making characters is not as trivial as one would want but this guide should make it a bit more easy to do. I will focus on describing the "straight" path from Makehuman and into UE4 - so you will not find too much details about Blender. Please refer to Blender specific pages for more on that.
==Need to know==
There are a few terms that you need to know, say you need to know that you will import FBX, textures and other files into UE4. Also you will need to know that a Character consists of a '''Mesh''', a '''Skeleton''' and '''''materials''''' (that refers to textures). I will try to elaborate on these subjects as we go along...
==Making a base-character==
Makehuman provides a range of predefined characters that is supposed to work as-is. You can just load a character, export it to FBX and import that into UE4 - and after a bit of work you can have a working player character! There are however a few pitfalls, so I suggest you make one (or more) base-character(s) that you can elaborate on as you go along. I will be working with ''''''averagedude'''''' as my base-character.
These are the steps to make the base characters:
* Open Makehuman
* Select the files tab and load the character
'''Under 'Geometries''''
* Remove cloth - (uncheck Hide faces under cloth)!
* Remove hair
* Add Teeth
* Choose Topology - '''I have no advice on this - but see comment below!'''
* Chose Eyebrows/Eyelashes, these can be changed as you go along - as can eye colors!
* Add Tongue01 (again I have no advice/recommendation on that, yet)
'''Under 'Materials'''' - I will show you how to work with UE4 "advanced" materials:
* Chose any skin that you like,
* Chose any eyes that you like
'''Under 'Pose/Animate''''
* Chose Skeleton: Uengine - if you do not have this already you my get it via the community tab?
* Chose Pose: Tpose (the last one on the list)
* Chose Expressions: none
And this is it! But there is one 'important' option you need know about - you need to '''uncheck''' the Smooth button!
The smooth button/option: [[File:MH-Smooth-option.png]] should be unchecked... that will make your character a bit less attractive, but this will preserve the shape-keys!
Makehuman comes with some 50-60 '''shape-keys''' and these will all be available as '''morph-targets''' in UE4. I will show you how to make more shape-keys, using makehuman+blender!
Now it is time to save your base-character - even though you have made very few changes to the file you should save this file under the save tab and name it
<your-name>-base (say averagedude-base), you can even add your very own tag 'base' to this.
When you save the file like this you will be able to reload it, and we need that later!
====Choose Topology/Shape keys====
When you make your base character without smoothing you get shape keys, and you want to share these between different characters. Specifically you would probably want to share face morphs between male and female characters - and there may be other base character variations, say old/young/child etc.
Later I will focus on how to make new shape keys, using blender - depending on how you want to do this you may want to '''chose Topology that is compatible between the different characters!''' That is you may be able to transfer one "shape" from a male character to a female character, but the result will depend on ''topology compatibility''. I will/may thus update this section to make sure
'''Shape key names''' will be the same for all of the base characters, as they come from - however you will be able to make new keys. You must name these keys the same for all MH characters, like these share the same skeleton (MH_Skelton) they must hold all the same shape keys names. If they don't your game may "break"....
===Export your base-character===
You can now take a break - or you can export your work. There are really tree options for you to look at:
* Save the FBX file directly
* Save a MHX2 file (you may need to install this as a option/utility, find our elsewhere!)
* Load the character to '''Blender''' directly via the link (I will get back to what can be done using that!)
I suggest that you save your base-character now, in both formats - FBX and MHX2! Make a specific 'Base-Characters' folder, because you will need it!
When you export the FBX use these options:
[[File:MH-FBX-export-options.png]]
This is the result for me, you should see something like this also:
[[File:MH-Base-Character-Folder.png]]
You should also see that there is a sub-folder, called Textures - this is where the different textures are saved and it should now look like this:
[[File:MH-Base-Character-Folder-textures.png]]
You can now go over all of the different textures, so you will have a wide selection to chose from. Textures are saved every time you save a FBX file!
Say, I change the base-characters textures, saved the FBX - and this is what I got:
[[File:MH-Base-Character-Folder-textures2.png]]
===Import your base-character to UE4 - FBX===
The FBX file will actually import directly to UE4, but there are a few problems! You should export your FBX file as Binary FBX, and you will get the most out of it. After this you can get to this result (after adjusting the materials, as seen below):
[[File:MH-MH-FBX-imported.png]]
Your character can look like this (after adjusting materials) - pretty good:
[[File:MH-MH-FBX-imported-materials.png]]
'''HOWEVER, you have lost the morph-targets! And as you probably noticed, the UE4 standard FBX import do import them!'''
I will get back to what to do about the shape-keys... but let make the materials first?
==Makehuman UE4 materials==
When you import the FBX made you exported from Makehuman, both textures and materials are made. You will also notice that UE4 will try to match the materials correctly to the material slots, as seen above in the 'Asset Details' of, in my case, averagedude-base (do not worry about the physics and the skeleton yet!).
To get you started, we need to take a look at the Eye, Eyelashes and Eyebrow materials...
===Eye materials===
First you can rename the '''high-poly''' material '''high-poly-''blue-eye''''' - or to whatever color you chose! You will probably make more eye materials.
Next you can double-click the material, to open the material-editor and change it to look something like this:
[[File:MH-UE4-Eye-material.png]]
===Eyelashes and Eyebrow materials===
Likewise you can set up the eyelashes, and the eyebrows are the same only you do not need ''two sided'' for the bows:
[[File:MH-UE4-Eyelashes-material.png]]
!?You may want to play with the shading model.
===More materials?===
You can simply drag and drop more textures from the the base-character/textures folder, then duplicate and rename the materials, and apply different textures to the renamed materials. At some point I want to be able to customize/randomize (NPC) characters, but I have not yet done that.
Also you can make materials instances with parameters... I will show you howto, but first we need to turn shape-keys into morph-targets.
=Use Blender v 2.80 to get more!!=
For some reason the exported FBX file is not organized in a way so you will get the shape-keys imported directly to UE4. However when you follow the next steps, you will not get the correct materials imported, so I recommend that you run FBX import as shown above, and save the textures/materials in a separate folder.
If you are new to Blender please run a few tutorials specifically on on how to import/export, and also get to know about collections - you can do a lot in Blender and you can get confused!
==What will be done here?==
I will show you how to:
* Import your MHX2 files, to preserve the shape-keys
* Export FBX files, so UE4 will import correctly with morph-targets
* Apply expressions etc. to your base character
* Import these to your Blender file and apply the expressions as '''new shape keys'''
==But, first import and inspect FBX and MHX2!==
As you may remember you exported two files, the FBX file and the MHX2 file. You want to import both of these files into Blender, so you need two Collections, called FBX and MHX2. You right-click on the 'Scene collection' select 'New' and rename the collections to 'FBX' and 'MHX2'... I also added Scene collection and dragged the Camera and Light there (as I deleted the box). After this you should see something link this (the small Icons may be different):
[[File:MH-Base-Blender-setup.png]]
When you import your FBX file select/highlight the FBX collection, so the FBX data get imported into that collection. You can use the standard import options. For MHX2 you need to change the setting to match those you see below - when you find they are correct you can click the + sign, marked with a yellow arrow, and save the setting with your own setting-name.
(You may notice that the character you imported is out of proportions, some 17-18 meters high, we will correct that when we export to UE4!)
[[File:MH-Blender-FBX-import-options.png]]
===Inspect the results, in Blender===
Now is a good time to save the Blender file. You should save this in the same folder as the FBX and MHX2. I call this file averagedude-base.blend.
If you did this approximately as described the result should be munch like below. And you will probably notice that there is some structural differences. You can see that by looking at the small icons [[File:MH-Blender-base-imported-icons.png]], that represent where modifiers, vertex groups and Object data is stored! Specifically the Object data holds the shape-keys and those were not imported. (perhaps because I did not use the correct FBX import options - but the same happens in UE4!).
[[File:MH-Blender-base-imported.png]]
You will notice that the MHX2 version of your character holds the Object data (the triangle) and that shape-keys can be seen there!
==Export the FBX for your base character, and import to UE4==
The next step is crucial for getting things to work in UE4, it is not very complicated but you need to have a plan.
When you did this correctly you should be able to get the following results:
* Import your base character into UE4
* Create retargeting for your common skeleton - called MH_Skeleton
* Retarget the Maniqin animations to your base character(s)
* Get additional Mixamo animations
===FBX export settings===
'''Important!''' Before you go any further you should rename your base character to '''main_root''', like this:
[[File:MH-Base-FBX-main-root.png]]
.... you should do this for all base characters! main_root will be the root bone in your skeleton. When you do it like this, all of your base characters will be able to share the same skeleton!
Now select the MHX2 collection where you have the character, and go to Export FBX.
I have made a 'Operator preset' for the FBX export, this is the options you need to set:
[[File:MH-Base-FBX-operator-presets.png]]
Place the FBX file in the same folder as where you placed the original FBX and the MHX2. You probably do not need the FBX that you made with Makehuman, and you can always make it again?
(You may however want to export more FBX files from Makehuman, simply to get all of the textures. We will look more into how you can use the skin textures!)
==UE4 import, and retarget ==
Go to your UE4 project and make a MH folder containing a new avaragedude folder, and import your base character there!
Observe that this character looks very much like the one you did already import from the original FBX, there are little difference - yet you want to set up this as your real base character.
Also you want to rename the skeleton to '''MH_Skeleton'''! And you want to open the skeleton, and retarget it to the humanoid rig... this should look like this:
[[File:MH-Base-Skeleton-Retarget.png]]
Make sure that your character is in T-Pose, as you want to retarget the Mannequin animations to your characters MH_Skeleton!
Make a animation folder in your MH, perhaps even Mannequin folder?
You go to the UE4 folder: Content/Mannequin/Animations and right-click on this animation: '''ThirdPerson_AnimBP'''
Select retarget and choose MH_Skeleton as your target - also select the animation folder you made before, something like this:
[[File:MH-Base-Animation-Retarget.png]]
You may want to rename your new ThirdPerson_AnimBP to '''''MH''_ThirdPerson_AnimBP''' - or perhaps simply MH_AnimBP?
=More shape keys, made in Blender 2.8=
I have not yet made any target in MH, also I have not had much luck in using the two blender addons. Frankly I don't really understand what the different buttons does, most of them are not active... perhaps they make sens if you use Blender a lot?
But I will show you different ways to get expressions, targets and skeleton animations(!) to shape keys, so then will be new morph targets in UE4!
Before you get started you should probably look at a few Blender tutorials regarding this - these are good:
===Tutorials===
General introduction to MHX2 import and animation. However '''do not''' import the resulting characters into UE4?
{{#ev:youtube|2P1t_nogbGs}}
Short general introduction to using shape keys in Blender 2.8:
{{#ev:youtube|e675Ulc7QL4}}
==Expressions and targets==
Make sure that you have your original base character saved and load it into Makehuman. Remember to check that your base character is in the T-Pose, do not change that!
'''Just in case:''' I recommend that you keep a copy of this file as well as all the blender file etc.
You should also have Blender open and load the .blender file where you saved both your FBX and the MHX2.
Before you go on do as follows: move the MHX2 character to x 10m, so the entire character moves to the left (right to your front view) - this will make it more easy for you to work with! (Save the blender file!)
'''This is the general workflow for transfer of expressions:'''
Makehuman:
* Go to the Pose/Animate tab and select Expressions. From the list select the first expression, Anger01.
* Save the character as .mhx2 - but to a different file name: averagedude-base-expression.mhx2.
Blender:
* In blender, deselect all the collections
* Import the file you made, using the same operator presets as yo saved them.
* Activate your Base character collection and you will have two characters side by side - one base character and a very angry one!
* Go to object mode
* '''Left-click-select''' the angry guy first, then '''shift-left-click''' your base character.
* Go to the vertex tab/shape key, and click on the little down arrow, and select the ''Join as shapes'' - like this:
[[File:MH-Blender-shapekey1.png]]
This will make a brand new shape key: Averagedude_base_expression:Proxy
* You rename the shape key by a double-click and call it '''Exp_Anger01'''..
* ... and assign the Vertex group to head
[[File:MH-Blender-shapekey2.png]]
In case you can not select ''Join as shapes'' the two characters were not selected in the right order, or perhaps the topology is not the same. Blender will show this as a message some where at the bottom of the screen. I this happens try the blender workflow, in this paragraph only , again!
You can now try to change the value for the shape key, and you should see that your base character can get angry!
When this worked for you you can save the blender file! And you should now do your very first re-import of the FBX. You save your base character in a FBX and Import it to UE4. To be 100% safe you can save and import to different names and folders, but in the end you will re-import the base character each time you do one or more new shape keys.
When you see this working in UE4, you can go on to the next expressions - I simply delete the Averagedude_base_expression collection and save the next expression in the same file. You can naturally do as many expressions as you want. leave some out etc... as you like!
==Observations about Blender 2.8==
You may notice that you can mess this up, so please save your blender file and back up! Say you can easily merge your base character with the expression MHX2 or do something else to corrupt your work!
Please also note that the Vertex Group/relative to, '''head''' and '''Basis''', are rather important! The shape key will change the entire body, to the T-Pose, if head is not set. Likewise you can make some shape keys relative to an other shape key - this will be important a bit later, when we do more "advanced" stuff!
=Blender 2.8 - a bit more advanced?=
This is very fine - we can make your base character use all the expressions, and they can be combined! Also you can tamper with them in UE4, say you can combine them and you can even set minus values, or extreme values not "allowed" in Blender. But you obviously want more than that?
Perhaps you can find some special "targets" you want to use?
b873bb3740275bc53a1bdc3bea69190af7a0ad54
1709
1708
2020-03-01T17:09:43Z
Assetdk
89
/* What can and can't be done? */
wikitext
text/x-wiki
=What can and can't be done?=
I have been working on getting different characters into UE4 for some time, and this have been a real hassle!
On this page I want to summarize what I managed to get done using a workflow that involves Blender. I have had a focus on not going into much details regarding any of the tools, but you will need to know a few things. Even though this looks like a trivial task there are some pitfalls and also there are some things that can not be done, or I have just not found out how to. I will eventually also add links to all the YT tutorials I found helpful.
I found that working with Makehuman very easy, so focus will be very UE4 how to specific.
This is what I will cover thus far:
* Create and save any MH character in Makehuman. Basic stuff, and important things to avoid.
* Getting the character into Blender - import or link?
* Setup Blender for Export, shape keys and morph targets
* First import into UE4
* Introduction to more shape keys
* Get the Cloth working
* Mixamo animations
This is the stuff that I did not cover - yet:
* Animations for talking (other tutorials may help)
* Making custom cloth
* Hair
This is the stuff I can not get to work:
* Retargeting to Advanced Locomotion System V3/4
* ALS got something to work! [[Documentation:Saving models for Unreal Engine and how to import them there/ALS]]
* [[Documentation:Unreal Engine ALS V4]]
=Getting started=
I wanted a quick way to populate a UE4 game, preferably with an unlimited number of varied characters of high quality. This has proven to be a bit harder than expected. The workflow for making characters is not as trivial as one would want but this guide should make it a bit more easy to do. I will focus on describing the "straight" path from Makehuman and into UE4 - so you will not find too much details about Blender. Please refer to Blender specific pages for more on that.
==Need to know==
There are a few terms that you need to know, say you need to know that you will import FBX, textures and other files into UE4. Also you will need to know that a Character consists of a '''Mesh''', a '''Skeleton''' and '''''materials''''' (that refers to textures). I will try to elaborate on these subjects as we go along...
==Making a base-character==
Makehuman provides a range of predefined characters that is supposed to work as-is. You can just load a character, export it to FBX and import that into UE4 - and after a bit of work you can have a working player character! There are however a few pitfalls, so I suggest you make one (or more) base-character(s) that you can elaborate on as you go along. I will be working with ''''''averagedude'''''' as my base-character.
These are the steps to make the base characters:
* Open Makehuman
* Select the files tab and load the character
'''Under 'Geometries''''
* Remove cloth - (uncheck Hide faces under cloth)!
* Remove hair
* Add Teeth
* Choose Topology - '''I have no advice on this - but see comment below!'''
* Chose Eyebrows/Eyelashes, these can be changed as you go along - as can eye colors!
* Add Tongue01 (again I have no advice/recommendation on that, yet)
'''Under 'Materials'''' - I will show you how to work with UE4 "advanced" materials:
* Chose any skin that you like,
* Chose any eyes that you like
'''Under 'Pose/Animate''''
* Chose Skeleton: Uengine - if you do not have this already you my get it via the community tab?
* Chose Pose: Tpose (the last one on the list)
* Chose Expressions: none
And this is it! But there is one 'important' option you need know about - you need to '''uncheck''' the Smooth button!
The smooth button/option: [[File:MH-Smooth-option.png]] should be unchecked... that will make your character a bit less attractive, but this will preserve the shape-keys!
Makehuman comes with some 50-60 '''shape-keys''' and these will all be available as '''morph-targets''' in UE4. I will show you how to make more shape-keys, using makehuman+blender!
Now it is time to save your base-character - even though you have made very few changes to the file you should save this file under the save tab and name it
<your-name>-base (say averagedude-base), you can even add your very own tag 'base' to this.
When you save the file like this you will be able to reload it, and we need that later!
====Choose Topology/Shape keys====
When you make your base character without smoothing you get shape keys, and you want to share these between different characters. Specifically you would probably want to share face morphs between male and female characters - and there may be other base character variations, say old/young/child etc.
Later I will focus on how to make new shape keys, using blender - depending on how you want to do this you may want to '''chose Topology that is compatible between the different characters!''' That is you may be able to transfer one "shape" from a male character to a female character, but the result will depend on ''topology compatibility''. I will/may thus update this section to make sure
'''Shape key names''' will be the same for all of the base characters, as they come from - however you will be able to make new keys. You must name these keys the same for all MH characters, like these share the same skeleton (MH_Skelton) they must hold all the same shape keys names. If they don't your game may "break"....
===Export your base-character===
You can now take a break - or you can export your work. There are really tree options for you to look at:
* Save the FBX file directly
* Save a MHX2 file (you may need to install this as a option/utility, find our elsewhere!)
* Load the character to '''Blender''' directly via the link (I will get back to what can be done using that!)
I suggest that you save your base-character now, in both formats - FBX and MHX2! Make a specific 'Base-Characters' folder, because you will need it!
When you export the FBX use these options:
[[File:MH-FBX-export-options.png]]
This is the result for me, you should see something like this also:
[[File:MH-Base-Character-Folder.png]]
You should also see that there is a sub-folder, called Textures - this is where the different textures are saved and it should now look like this:
[[File:MH-Base-Character-Folder-textures.png]]
You can now go over all of the different textures, so you will have a wide selection to chose from. Textures are saved every time you save a FBX file!
Say, I change the base-characters textures, saved the FBX - and this is what I got:
[[File:MH-Base-Character-Folder-textures2.png]]
===Import your base-character to UE4 - FBX===
The FBX file will actually import directly to UE4, but there are a few problems! You should export your FBX file as Binary FBX, and you will get the most out of it. After this you can get to this result (after adjusting the materials, as seen below):
[[File:MH-MH-FBX-imported.png]]
Your character can look like this (after adjusting materials) - pretty good:
[[File:MH-MH-FBX-imported-materials.png]]
'''HOWEVER, you have lost the morph-targets! And as you probably noticed, the UE4 standard FBX import do import them!'''
I will get back to what to do about the shape-keys... but let make the materials first?
==Makehuman UE4 materials==
When you import the FBX made you exported from Makehuman, both textures and materials are made. You will also notice that UE4 will try to match the materials correctly to the material slots, as seen above in the 'Asset Details' of, in my case, averagedude-base (do not worry about the physics and the skeleton yet!).
To get you started, we need to take a look at the Eye, Eyelashes and Eyebrow materials...
===Eye materials===
First you can rename the '''high-poly''' material '''high-poly-''blue-eye''''' - or to whatever color you chose! You will probably make more eye materials.
Next you can double-click the material, to open the material-editor and change it to look something like this:
[[File:MH-UE4-Eye-material.png]]
===Eyelashes and Eyebrow materials===
Likewise you can set up the eyelashes, and the eyebrows are the same only you do not need ''two sided'' for the bows:
[[File:MH-UE4-Eyelashes-material.png]]
!?You may want to play with the shading model.
===More materials?===
You can simply drag and drop more textures from the the base-character/textures folder, then duplicate and rename the materials, and apply different textures to the renamed materials. At some point I want to be able to customize/randomize (NPC) characters, but I have not yet done that.
Also you can make materials instances with parameters... I will show you howto, but first we need to turn shape-keys into morph-targets.
=Use Blender v 2.80 to get more!!=
For some reason the exported FBX file is not organized in a way so you will get the shape-keys imported directly to UE4. However when you follow the next steps, you will not get the correct materials imported, so I recommend that you run FBX import as shown above, and save the textures/materials in a separate folder.
If you are new to Blender please run a few tutorials specifically on on how to import/export, and also get to know about collections - you can do a lot in Blender and you can get confused!
==What will be done here?==
I will show you how to:
* Import your MHX2 files, to preserve the shape-keys
* Export FBX files, so UE4 will import correctly with morph-targets
* Apply expressions etc. to your base character
* Import these to your Blender file and apply the expressions as '''new shape keys'''
==But, first import and inspect FBX and MHX2!==
As you may remember you exported two files, the FBX file and the MHX2 file. You want to import both of these files into Blender, so you need two Collections, called FBX and MHX2. You right-click on the 'Scene collection' select 'New' and rename the collections to 'FBX' and 'MHX2'... I also added Scene collection and dragged the Camera and Light there (as I deleted the box). After this you should see something link this (the small Icons may be different):
[[File:MH-Base-Blender-setup.png]]
When you import your FBX file select/highlight the FBX collection, so the FBX data get imported into that collection. You can use the standard import options. For MHX2 you need to change the setting to match those you see below - when you find they are correct you can click the + sign, marked with a yellow arrow, and save the setting with your own setting-name.
(You may notice that the character you imported is out of proportions, some 17-18 meters high, we will correct that when we export to UE4!)
[[File:MH-Blender-FBX-import-options.png]]
===Inspect the results, in Blender===
Now is a good time to save the Blender file. You should save this in the same folder as the FBX and MHX2. I call this file averagedude-base.blend.
If you did this approximately as described the result should be munch like below. And you will probably notice that there is some structural differences. You can see that by looking at the small icons [[File:MH-Blender-base-imported-icons.png]], that represent where modifiers, vertex groups and Object data is stored! Specifically the Object data holds the shape-keys and those were not imported. (perhaps because I did not use the correct FBX import options - but the same happens in UE4!).
[[File:MH-Blender-base-imported.png]]
You will notice that the MHX2 version of your character holds the Object data (the triangle) and that shape-keys can be seen there!
==Export the FBX for your base character, and import to UE4==
The next step is crucial for getting things to work in UE4, it is not very complicated but you need to have a plan.
When you did this correctly you should be able to get the following results:
* Import your base character into UE4
* Create retargeting for your common skeleton - called MH_Skeleton
* Retarget the Maniqin animations to your base character(s)
* Get additional Mixamo animations
===FBX export settings===
'''Important!''' Before you go any further you should rename your base character to '''main_root''', like this:
[[File:MH-Base-FBX-main-root.png]]
.... you should do this for all base characters! main_root will be the root bone in your skeleton. When you do it like this, all of your base characters will be able to share the same skeleton!
Now select the MHX2 collection where you have the character, and go to Export FBX.
I have made a 'Operator preset' for the FBX export, this is the options you need to set:
[[File:MH-Base-FBX-operator-presets.png]]
Place the FBX file in the same folder as where you placed the original FBX and the MHX2. You probably do not need the FBX that you made with Makehuman, and you can always make it again?
(You may however want to export more FBX files from Makehuman, simply to get all of the textures. We will look more into how you can use the skin textures!)
==UE4 import, and retarget ==
Go to your UE4 project and make a MH folder containing a new avaragedude folder, and import your base character there!
Observe that this character looks very much like the one you did already import from the original FBX, there are little difference - yet you want to set up this as your real base character.
Also you want to rename the skeleton to '''MH_Skeleton'''! And you want to open the skeleton, and retarget it to the humanoid rig... this should look like this:
[[File:MH-Base-Skeleton-Retarget.png]]
Make sure that your character is in T-Pose, as you want to retarget the Mannequin animations to your characters MH_Skeleton!
Make a animation folder in your MH, perhaps even Mannequin folder?
You go to the UE4 folder: Content/Mannequin/Animations and right-click on this animation: '''ThirdPerson_AnimBP'''
Select retarget and choose MH_Skeleton as your target - also select the animation folder you made before, something like this:
[[File:MH-Base-Animation-Retarget.png]]
You may want to rename your new ThirdPerson_AnimBP to '''''MH''_ThirdPerson_AnimBP''' - or perhaps simply MH_AnimBP?
=More shape keys, made in Blender 2.8=
I have not yet made any target in MH, also I have not had much luck in using the two blender addons. Frankly I don't really understand what the different buttons does, most of them are not active... perhaps they make sens if you use Blender a lot?
But I will show you different ways to get expressions, targets and skeleton animations(!) to shape keys, so then will be new morph targets in UE4!
Before you get started you should probably look at a few Blender tutorials regarding this - these are good:
===Tutorials===
General introduction to MHX2 import and animation. However '''do not''' import the resulting characters into UE4?
{{#ev:youtube|2P1t_nogbGs}}
Short general introduction to using shape keys in Blender 2.8:
{{#ev:youtube|e675Ulc7QL4}}
==Expressions and targets==
Make sure that you have your original base character saved and load it into Makehuman. Remember to check that your base character is in the T-Pose, do not change that!
'''Just in case:''' I recommend that you keep a copy of this file as well as all the blender file etc.
You should also have Blender open and load the .blender file where you saved both your FBX and the MHX2.
Before you go on do as follows: move the MHX2 character to x 10m, so the entire character moves to the left (right to your front view) - this will make it more easy for you to work with! (Save the blender file!)
'''This is the general workflow for transfer of expressions:'''
Makehuman:
* Go to the Pose/Animate tab and select Expressions. From the list select the first expression, Anger01.
* Save the character as .mhx2 - but to a different file name: averagedude-base-expression.mhx2.
Blender:
* In blender, deselect all the collections
* Import the file you made, using the same operator presets as yo saved them.
* Activate your Base character collection and you will have two characters side by side - one base character and a very angry one!
* Go to object mode
* '''Left-click-select''' the angry guy first, then '''shift-left-click''' your base character.
* Go to the vertex tab/shape key, and click on the little down arrow, and select the ''Join as shapes'' - like this:
[[File:MH-Blender-shapekey1.png]]
This will make a brand new shape key: Averagedude_base_expression:Proxy
* You rename the shape key by a double-click and call it '''Exp_Anger01'''..
* ... and assign the Vertex group to head
[[File:MH-Blender-shapekey2.png]]
In case you can not select ''Join as shapes'' the two characters were not selected in the right order, or perhaps the topology is not the same. Blender will show this as a message some where at the bottom of the screen. I this happens try the blender workflow, in this paragraph only , again!
You can now try to change the value for the shape key, and you should see that your base character can get angry!
When this worked for you you can save the blender file! And you should now do your very first re-import of the FBX. You save your base character in a FBX and Import it to UE4. To be 100% safe you can save and import to different names and folders, but in the end you will re-import the base character each time you do one or more new shape keys.
When you see this working in UE4, you can go on to the next expressions - I simply delete the Averagedude_base_expression collection and save the next expression in the same file. You can naturally do as many expressions as you want. leave some out etc... as you like!
==Observations about Blender 2.8==
You may notice that you can mess this up, so please save your blender file and back up! Say you can easily merge your base character with the expression MHX2 or do something else to corrupt your work!
Please also note that the Vertex Group/relative to, '''head''' and '''Basis''', are rather important! The shape key will change the entire body, to the T-Pose, if head is not set. Likewise you can make some shape keys relative to an other shape key - this will be important a bit later, when we do more "advanced" stuff!
=Blender 2.8 - a bit more advanced?=
This is very fine - we can make your base character use all the expressions, and they can be combined! Also you can tamper with them in UE4, say you can combine them and you can even set minus values, or extreme values not "allowed" in Blender. But you obviously want more than that?
Perhaps you can find some special "targets" you want to use?
467b24888231e5c1aacfbf1aa49f584771d14d20
1708
1706
2020-03-01T17:08:10Z
Assetdk
89
/* More shape keys, made in Blender 2.8 */
wikitext
text/x-wiki
=What can and can't be done?=
I have been working on getting different characters into UE4 for some time, and this have been a real hassle!
On this page I want to summarize what I managed to get done using a workflow that involves Blender. I have had a focus on not going into much details regarding any of the tools, but you will need to know a few things. Even though this looks like a trivial task there are some pitfalls and also there are some things that can not be done, or I have just not found out how to. I will eventually also add links to all the YT tutorials I found helpful.
I found that working with Makehuman very easy, so focus will be very UE4 how to specific.
This is what I will cover thus far:
* Create and save any MH character in Makehuman. Basic stuff, and important things to avoid.
* Getting the character into Blender - import or link?
* Setup Blender for Export, shape keys and morph targets
* First import into UE4
* Introduction to more shape keys
* Get the Cloth working
* Mixamo animations
This is the stuff that I did not cover - yet:
* Animations for talking (other tutorials may help)
* Making custom cloth
* Hair
This is the stuff I can not get to work:
* Retargeting to Advanced Locomotion System V3/4
* ALS got something to work! [[Documentation:Saving models for Unreal Engine and how to import them there/ALS]]
=Getting started=
I wanted a quick way to populate a UE4 game, preferably with an unlimited number of varied characters of high quality. This has proven to be a bit harder than expected. The workflow for making characters is not as trivial as one would want but this guide should make it a bit more easy to do. I will focus on describing the "straight" path from Makehuman and into UE4 - so you will not find too much details about Blender. Please refer to Blender specific pages for more on that.
==Need to know==
There are a few terms that you need to know, say you need to know that you will import FBX, textures and other files into UE4. Also you will need to know that a Character consists of a '''Mesh''', a '''Skeleton''' and '''''materials''''' (that refers to textures). I will try to elaborate on these subjects as we go along...
==Making a base-character==
Makehuman provides a range of predefined characters that is supposed to work as-is. You can just load a character, export it to FBX and import that into UE4 - and after a bit of work you can have a working player character! There are however a few pitfalls, so I suggest you make one (or more) base-character(s) that you can elaborate on as you go along. I will be working with ''''''averagedude'''''' as my base-character.
These are the steps to make the base characters:
* Open Makehuman
* Select the files tab and load the character
'''Under 'Geometries''''
* Remove cloth - (uncheck Hide faces under cloth)!
* Remove hair
* Add Teeth
* Choose Topology - '''I have no advice on this - but see comment below!'''
* Chose Eyebrows/Eyelashes, these can be changed as you go along - as can eye colors!
* Add Tongue01 (again I have no advice/recommendation on that, yet)
'''Under 'Materials'''' - I will show you how to work with UE4 "advanced" materials:
* Chose any skin that you like,
* Chose any eyes that you like
'''Under 'Pose/Animate''''
* Chose Skeleton: Uengine - if you do not have this already you my get it via the community tab?
* Chose Pose: Tpose (the last one on the list)
* Chose Expressions: none
And this is it! But there is one 'important' option you need know about - you need to '''uncheck''' the Smooth button!
The smooth button/option: [[File:MH-Smooth-option.png]] should be unchecked... that will make your character a bit less attractive, but this will preserve the shape-keys!
Makehuman comes with some 50-60 '''shape-keys''' and these will all be available as '''morph-targets''' in UE4. I will show you how to make more shape-keys, using makehuman+blender!
Now it is time to save your base-character - even though you have made very few changes to the file you should save this file under the save tab and name it
<your-name>-base (say averagedude-base), you can even add your very own tag 'base' to this.
When you save the file like this you will be able to reload it, and we need that later!
====Choose Topology/Shape keys====
When you make your base character without smoothing you get shape keys, and you want to share these between different characters. Specifically you would probably want to share face morphs between male and female characters - and there may be other base character variations, say old/young/child etc.
Later I will focus on how to make new shape keys, using blender - depending on how you want to do this you may want to '''chose Topology that is compatible between the different characters!''' That is you may be able to transfer one "shape" from a male character to a female character, but the result will depend on ''topology compatibility''. I will/may thus update this section to make sure
'''Shape key names''' will be the same for all of the base characters, as they come from - however you will be able to make new keys. You must name these keys the same for all MH characters, like these share the same skeleton (MH_Skelton) they must hold all the same shape keys names. If they don't your game may "break"....
===Export your base-character===
You can now take a break - or you can export your work. There are really tree options for you to look at:
* Save the FBX file directly
* Save a MHX2 file (you may need to install this as a option/utility, find our elsewhere!)
* Load the character to '''Blender''' directly via the link (I will get back to what can be done using that!)
I suggest that you save your base-character now, in both formats - FBX and MHX2! Make a specific 'Base-Characters' folder, because you will need it!
When you export the FBX use these options:
[[File:MH-FBX-export-options.png]]
This is the result for me, you should see something like this also:
[[File:MH-Base-Character-Folder.png]]
You should also see that there is a sub-folder, called Textures - this is where the different textures are saved and it should now look like this:
[[File:MH-Base-Character-Folder-textures.png]]
You can now go over all of the different textures, so you will have a wide selection to chose from. Textures are saved every time you save a FBX file!
Say, I change the base-characters textures, saved the FBX - and this is what I got:
[[File:MH-Base-Character-Folder-textures2.png]]
===Import your base-character to UE4 - FBX===
The FBX file will actually import directly to UE4, but there are a few problems! You should export your FBX file as Binary FBX, and you will get the most out of it. After this you can get to this result (after adjusting the materials, as seen below):
[[File:MH-MH-FBX-imported.png]]
Your character can look like this (after adjusting materials) - pretty good:
[[File:MH-MH-FBX-imported-materials.png]]
'''HOWEVER, you have lost the morph-targets! And as you probably noticed, the UE4 standard FBX import do import them!'''
I will get back to what to do about the shape-keys... but let make the materials first?
==Makehuman UE4 materials==
When you import the FBX made you exported from Makehuman, both textures and materials are made. You will also notice that UE4 will try to match the materials correctly to the material slots, as seen above in the 'Asset Details' of, in my case, averagedude-base (do not worry about the physics and the skeleton yet!).
To get you started, we need to take a look at the Eye, Eyelashes and Eyebrow materials...
===Eye materials===
First you can rename the '''high-poly''' material '''high-poly-''blue-eye''''' - or to whatever color you chose! You will probably make more eye materials.
Next you can double-click the material, to open the material-editor and change it to look something like this:
[[File:MH-UE4-Eye-material.png]]
===Eyelashes and Eyebrow materials===
Likewise you can set up the eyelashes, and the eyebrows are the same only you do not need ''two sided'' for the bows:
[[File:MH-UE4-Eyelashes-material.png]]
!?You may want to play with the shading model.
===More materials?===
You can simply drag and drop more textures from the the base-character/textures folder, then duplicate and rename the materials, and apply different textures to the renamed materials. At some point I want to be able to customize/randomize (NPC) characters, but I have not yet done that.
Also you can make materials instances with parameters... I will show you howto, but first we need to turn shape-keys into morph-targets.
=Use Blender v 2.80 to get more!!=
For some reason the exported FBX file is not organized in a way so you will get the shape-keys imported directly to UE4. However when you follow the next steps, you will not get the correct materials imported, so I recommend that you run FBX import as shown above, and save the textures/materials in a separate folder.
If you are new to Blender please run a few tutorials specifically on on how to import/export, and also get to know about collections - you can do a lot in Blender and you can get confused!
==What will be done here?==
I will show you how to:
* Import your MHX2 files, to preserve the shape-keys
* Export FBX files, so UE4 will import correctly with morph-targets
* Apply expressions etc. to your base character
* Import these to your Blender file and apply the expressions as '''new shape keys'''
==But, first import and inspect FBX and MHX2!==
As you may remember you exported two files, the FBX file and the MHX2 file. You want to import both of these files into Blender, so you need two Collections, called FBX and MHX2. You right-click on the 'Scene collection' select 'New' and rename the collections to 'FBX' and 'MHX2'... I also added Scene collection and dragged the Camera and Light there (as I deleted the box). After this you should see something link this (the small Icons may be different):
[[File:MH-Base-Blender-setup.png]]
When you import your FBX file select/highlight the FBX collection, so the FBX data get imported into that collection. You can use the standard import options. For MHX2 you need to change the setting to match those you see below - when you find they are correct you can click the + sign, marked with a yellow arrow, and save the setting with your own setting-name.
(You may notice that the character you imported is out of proportions, some 17-18 meters high, we will correct that when we export to UE4!)
[[File:MH-Blender-FBX-import-options.png]]
===Inspect the results, in Blender===
Now is a good time to save the Blender file. You should save this in the same folder as the FBX and MHX2. I call this file averagedude-base.blend.
If you did this approximately as described the result should be munch like below. And you will probably notice that there is some structural differences. You can see that by looking at the small icons [[File:MH-Blender-base-imported-icons.png]], that represent where modifiers, vertex groups and Object data is stored! Specifically the Object data holds the shape-keys and those were not imported. (perhaps because I did not use the correct FBX import options - but the same happens in UE4!).
[[File:MH-Blender-base-imported.png]]
You will notice that the MHX2 version of your character holds the Object data (the triangle) and that shape-keys can be seen there!
==Export the FBX for your base character, and import to UE4==
The next step is crucial for getting things to work in UE4, it is not very complicated but you need to have a plan.
When you did this correctly you should be able to get the following results:
* Import your base character into UE4
* Create retargeting for your common skeleton - called MH_Skeleton
* Retarget the Maniqin animations to your base character(s)
* Get additional Mixamo animations
===FBX export settings===
'''Important!''' Before you go any further you should rename your base character to '''main_root''', like this:
[[File:MH-Base-FBX-main-root.png]]
.... you should do this for all base characters! main_root will be the root bone in your skeleton. When you do it like this, all of your base characters will be able to share the same skeleton!
Now select the MHX2 collection where you have the character, and go to Export FBX.
I have made a 'Operator preset' for the FBX export, this is the options you need to set:
[[File:MH-Base-FBX-operator-presets.png]]
Place the FBX file in the same folder as where you placed the original FBX and the MHX2. You probably do not need the FBX that you made with Makehuman, and you can always make it again?
(You may however want to export more FBX files from Makehuman, simply to get all of the textures. We will look more into how you can use the skin textures!)
==UE4 import, and retarget ==
Go to your UE4 project and make a MH folder containing a new avaragedude folder, and import your base character there!
Observe that this character looks very much like the one you did already import from the original FBX, there are little difference - yet you want to set up this as your real base character.
Also you want to rename the skeleton to '''MH_Skeleton'''! And you want to open the skeleton, and retarget it to the humanoid rig... this should look like this:
[[File:MH-Base-Skeleton-Retarget.png]]
Make sure that your character is in T-Pose, as you want to retarget the Mannequin animations to your characters MH_Skeleton!
Make a animation folder in your MH, perhaps even Mannequin folder?
You go to the UE4 folder: Content/Mannequin/Animations and right-click on this animation: '''ThirdPerson_AnimBP'''
Select retarget and choose MH_Skeleton as your target - also select the animation folder you made before, something like this:
[[File:MH-Base-Animation-Retarget.png]]
You may want to rename your new ThirdPerson_AnimBP to '''''MH''_ThirdPerson_AnimBP''' - or perhaps simply MH_AnimBP?
=More shape keys, made in Blender 2.8=
I have not yet made any target in MH, also I have not had much luck in using the two blender addons. Frankly I don't really understand what the different buttons does, most of them are not active... perhaps they make sens if you use Blender a lot?
But I will show you different ways to get expressions, targets and skeleton animations(!) to shape keys, so then will be new morph targets in UE4!
Before you get started you should probably look at a few Blender tutorials regarding this - these are good:
===Tutorials===
General introduction to MHX2 import and animation. However '''do not''' import the resulting characters into UE4?
{{#ev:youtube|2P1t_nogbGs}}
Short general introduction to using shape keys in Blender 2.8:
{{#ev:youtube|e675Ulc7QL4}}
==Expressions and targets==
Make sure that you have your original base character saved and load it into Makehuman. Remember to check that your base character is in the T-Pose, do not change that!
'''Just in case:''' I recommend that you keep a copy of this file as well as all the blender file etc.
You should also have Blender open and load the .blender file where you saved both your FBX and the MHX2.
Before you go on do as follows: move the MHX2 character to x 10m, so the entire character moves to the left (right to your front view) - this will make it more easy for you to work with! (Save the blender file!)
'''This is the general workflow for transfer of expressions:'''
Makehuman:
* Go to the Pose/Animate tab and select Expressions. From the list select the first expression, Anger01.
* Save the character as .mhx2 - but to a different file name: averagedude-base-expression.mhx2.
Blender:
* In blender, deselect all the collections
* Import the file you made, using the same operator presets as yo saved them.
* Activate your Base character collection and you will have two characters side by side - one base character and a very angry one!
* Go to object mode
* '''Left-click-select''' the angry guy first, then '''shift-left-click''' your base character.
* Go to the vertex tab/shape key, and click on the little down arrow, and select the ''Join as shapes'' - like this:
[[File:MH-Blender-shapekey1.png]]
This will make a brand new shape key: Averagedude_base_expression:Proxy
* You rename the shape key by a double-click and call it '''Exp_Anger01'''..
* ... and assign the Vertex group to head
[[File:MH-Blender-shapekey2.png]]
In case you can not select ''Join as shapes'' the two characters were not selected in the right order, or perhaps the topology is not the same. Blender will show this as a message some where at the bottom of the screen. I this happens try the blender workflow, in this paragraph only , again!
You can now try to change the value for the shape key, and you should see that your base character can get angry!
When this worked for you you can save the blender file! And you should now do your very first re-import of the FBX. You save your base character in a FBX and Import it to UE4. To be 100% safe you can save and import to different names and folders, but in the end you will re-import the base character each time you do one or more new shape keys.
When you see this working in UE4, you can go on to the next expressions - I simply delete the Averagedude_base_expression collection and save the next expression in the same file. You can naturally do as many expressions as you want. leave some out etc... as you like!
==Observations about Blender 2.8==
You may notice that you can mess this up, so please save your blender file and back up! Say you can easily merge your base character with the expression MHX2 or do something else to corrupt your work!
Please also note that the Vertex Group/relative to, '''head''' and '''Basis''', are rather important! The shape key will change the entire body, to the T-Pose, if head is not set. Likewise you can make some shape keys relative to an other shape key - this will be important a bit later, when we do more "advanced" stuff!
=Blender 2.8 - a bit more advanced?=
This is very fine - we can make your base character use all the expressions, and they can be combined! Also you can tamper with them in UE4, say you can combine them and you can even set minus values, or extreme values not "allowed" in Blender. But you obviously want more than that?
Perhaps you can find some special "targets" you want to use?
f0b62888305bbe39909957508a688fba218ea30c
1706
1705
2020-03-01T16:36:10Z
Assetdk
89
/* What can and can't be done? */
wikitext
text/x-wiki
=What can and can't be done?=
I have been working on getting different characters into UE4 for some time, and this have been a real hassle!
On this page I want to summarize what I managed to get done using a workflow that involves Blender. I have had a focus on not going into much details regarding any of the tools, but you will need to know a few things. Even though this looks like a trivial task there are some pitfalls and also there are some things that can not be done, or I have just not found out how to. I will eventually also add links to all the YT tutorials I found helpful.
I found that working with Makehuman very easy, so focus will be very UE4 how to specific.
This is what I will cover thus far:
* Create and save any MH character in Makehuman. Basic stuff, and important things to avoid.
* Getting the character into Blender - import or link?
* Setup Blender for Export, shape keys and morph targets
* First import into UE4
* Introduction to more shape keys
* Get the Cloth working
* Mixamo animations
This is the stuff that I did not cover - yet:
* Animations for talking (other tutorials may help)
* Making custom cloth
* Hair
This is the stuff I can not get to work:
* Retargeting to Advanced Locomotion System V3/4
* ALS got something to work! [[Documentation:Saving models for Unreal Engine and how to import them there/ALS]]
=Getting started=
I wanted a quick way to populate a UE4 game, preferably with an unlimited number of varied characters of high quality. This has proven to be a bit harder than expected. The workflow for making characters is not as trivial as one would want but this guide should make it a bit more easy to do. I will focus on describing the "straight" path from Makehuman and into UE4 - so you will not find too much details about Blender. Please refer to Blender specific pages for more on that.
==Need to know==
There are a few terms that you need to know, say you need to know that you will import FBX, textures and other files into UE4. Also you will need to know that a Character consists of a '''Mesh''', a '''Skeleton''' and '''''materials''''' (that refers to textures). I will try to elaborate on these subjects as we go along...
==Making a base-character==
Makehuman provides a range of predefined characters that is supposed to work as-is. You can just load a character, export it to FBX and import that into UE4 - and after a bit of work you can have a working player character! There are however a few pitfalls, so I suggest you make one (or more) base-character(s) that you can elaborate on as you go along. I will be working with ''''''averagedude'''''' as my base-character.
These are the steps to make the base characters:
* Open Makehuman
* Select the files tab and load the character
'''Under 'Geometries''''
* Remove cloth - (uncheck Hide faces under cloth)!
* Remove hair
* Add Teeth
* Choose Topology - '''I have no advice on this - but see comment below!'''
* Chose Eyebrows/Eyelashes, these can be changed as you go along - as can eye colors!
* Add Tongue01 (again I have no advice/recommendation on that, yet)
'''Under 'Materials'''' - I will show you how to work with UE4 "advanced" materials:
* Chose any skin that you like,
* Chose any eyes that you like
'''Under 'Pose/Animate''''
* Chose Skeleton: Uengine - if you do not have this already you my get it via the community tab?
* Chose Pose: Tpose (the last one on the list)
* Chose Expressions: none
And this is it! But there is one 'important' option you need know about - you need to '''uncheck''' the Smooth button!
The smooth button/option: [[File:MH-Smooth-option.png]] should be unchecked... that will make your character a bit less attractive, but this will preserve the shape-keys!
Makehuman comes with some 50-60 '''shape-keys''' and these will all be available as '''morph-targets''' in UE4. I will show you how to make more shape-keys, using makehuman+blender!
Now it is time to save your base-character - even though you have made very few changes to the file you should save this file under the save tab and name it
<your-name>-base (say averagedude-base), you can even add your very own tag 'base' to this.
When you save the file like this you will be able to reload it, and we need that later!
====Choose Topology/Shape keys====
When you make your base character without smoothing you get shape keys, and you want to share these between different characters. Specifically you would probably want to share face morphs between male and female characters - and there may be other base character variations, say old/young/child etc.
Later I will focus on how to make new shape keys, using blender - depending on how you want to do this you may want to '''chose Topology that is compatible between the different characters!''' That is you may be able to transfer one "shape" from a male character to a female character, but the result will depend on ''topology compatibility''. I will/may thus update this section to make sure
'''Shape key names''' will be the same for all of the base characters, as they come from - however you will be able to make new keys. You must name these keys the same for all MH characters, like these share the same skeleton (MH_Skelton) they must hold all the same shape keys names. If they don't your game may "break"....
===Export your base-character===
You can now take a break - or you can export your work. There are really tree options for you to look at:
* Save the FBX file directly
* Save a MHX2 file (you may need to install this as a option/utility, find our elsewhere!)
* Load the character to '''Blender''' directly via the link (I will get back to what can be done using that!)
I suggest that you save your base-character now, in both formats - FBX and MHX2! Make a specific 'Base-Characters' folder, because you will need it!
When you export the FBX use these options:
[[File:MH-FBX-export-options.png]]
This is the result for me, you should see something like this also:
[[File:MH-Base-Character-Folder.png]]
You should also see that there is a sub-folder, called Textures - this is where the different textures are saved and it should now look like this:
[[File:MH-Base-Character-Folder-textures.png]]
You can now go over all of the different textures, so you will have a wide selection to chose from. Textures are saved every time you save a FBX file!
Say, I change the base-characters textures, saved the FBX - and this is what I got:
[[File:MH-Base-Character-Folder-textures2.png]]
===Import your base-character to UE4 - FBX===
The FBX file will actually import directly to UE4, but there are a few problems! You should export your FBX file as Binary FBX, and you will get the most out of it. After this you can get to this result (after adjusting the materials, as seen below):
[[File:MH-MH-FBX-imported.png]]
Your character can look like this (after adjusting materials) - pretty good:
[[File:MH-MH-FBX-imported-materials.png]]
'''HOWEVER, you have lost the morph-targets! And as you probably noticed, the UE4 standard FBX import do import them!'''
I will get back to what to do about the shape-keys... but let make the materials first?
==Makehuman UE4 materials==
When you import the FBX made you exported from Makehuman, both textures and materials are made. You will also notice that UE4 will try to match the materials correctly to the material slots, as seen above in the 'Asset Details' of, in my case, averagedude-base (do not worry about the physics and the skeleton yet!).
To get you started, we need to take a look at the Eye, Eyelashes and Eyebrow materials...
===Eye materials===
First you can rename the '''high-poly''' material '''high-poly-''blue-eye''''' - or to whatever color you chose! You will probably make more eye materials.
Next you can double-click the material, to open the material-editor and change it to look something like this:
[[File:MH-UE4-Eye-material.png]]
===Eyelashes and Eyebrow materials===
Likewise you can set up the eyelashes, and the eyebrows are the same only you do not need ''two sided'' for the bows:
[[File:MH-UE4-Eyelashes-material.png]]
!?You may want to play with the shading model.
===More materials?===
You can simply drag and drop more textures from the the base-character/textures folder, then duplicate and rename the materials, and apply different textures to the renamed materials. At some point I want to be able to customize/randomize (NPC) characters, but I have not yet done that.
Also you can make materials instances with parameters... I will show you howto, but first we need to turn shape-keys into morph-targets.
=Use Blender v 2.80 to get more!!=
For some reason the exported FBX file is not organized in a way so you will get the shape-keys imported directly to UE4. However when you follow the next steps, you will not get the correct materials imported, so I recommend that you run FBX import as shown above, and save the textures/materials in a separate folder.
If you are new to Blender please run a few tutorials specifically on on how to import/export, and also get to know about collections - you can do a lot in Blender and you can get confused!
==What will be done here?==
I will show you how to:
* Import your MHX2 files, to preserve the shape-keys
* Export FBX files, so UE4 will import correctly with morph-targets
* Apply expressions etc. to your base character
* Import these to your Blender file and apply the expressions as '''new shape keys'''
==But, first import and inspect FBX and MHX2!==
As you may remember you exported two files, the FBX file and the MHX2 file. You want to import both of these files into Blender, so you need two Collections, called FBX and MHX2. You right-click on the 'Scene collection' select 'New' and rename the collections to 'FBX' and 'MHX2'... I also added Scene collection and dragged the Camera and Light there (as I deleted the box). After this you should see something link this (the small Icons may be different):
[[File:MH-Base-Blender-setup.png]]
When you import your FBX file select/highlight the FBX collection, so the FBX data get imported into that collection. You can use the standard import options. For MHX2 you need to change the setting to match those you see below - when you find they are correct you can click the + sign, marked with a yellow arrow, and save the setting with your own setting-name.
(You may notice that the character you imported is out of proportions, some 17-18 meters high, we will correct that when we export to UE4!)
[[File:MH-Blender-FBX-import-options.png]]
===Inspect the results, in Blender===
Now is a good time to save the Blender file. You should save this in the same folder as the FBX and MHX2. I call this file averagedude-base.blend.
If you did this approximately as described the result should be munch like below. And you will probably notice that there is some structural differences. You can see that by looking at the small icons [[File:MH-Blender-base-imported-icons.png]], that represent where modifiers, vertex groups and Object data is stored! Specifically the Object data holds the shape-keys and those were not imported. (perhaps because I did not use the correct FBX import options - but the same happens in UE4!).
[[File:MH-Blender-base-imported.png]]
You will notice that the MHX2 version of your character holds the Object data (the triangle) and that shape-keys can be seen there!
==Export the FBX for your base character, and import to UE4==
The next step is crucial for getting things to work in UE4, it is not very complicated but you need to have a plan.
When you did this correctly you should be able to get the following results:
* Import your base character into UE4
* Create retargeting for your common skeleton - called MH_Skeleton
* Retarget the Maniqin animations to your base character(s)
* Get additional Mixamo animations
===FBX export settings===
'''Important!''' Before you go any further you should rename your base character to '''main_root''', like this:
[[File:MH-Base-FBX-main-root.png]]
.... you should do this for all base characters! main_root will be the root bone in your skeleton. When you do it like this, all of your base characters will be able to share the same skeleton!
Now select the MHX2 collection where you have the character, and go to Export FBX.
I have made a 'Operator preset' for the FBX export, this is the options you need to set:
[[File:MH-Base-FBX-operator-presets.png]]
Place the FBX file in the same folder as where you placed the original FBX and the MHX2. You probably do not need the FBX that you made with Makehuman, and you can always make it again?
(You may however want to export more FBX files from Makehuman, simply to get all of the textures. We will look more into how you can use the skin textures!)
==UE4 import, and retarget ==
Go to your UE4 project and make a MH folder containing a new avaragedude folder, and import your base character there!
Observe that this character looks very much like the one you did already import from the original FBX, there are little difference - yet you want to set up this as your real base character.
Also you want to rename the skeleton to '''MH_Skeleton'''! And you want to open the skeleton, and retarget it to the humanoid rig... this should look like this:
[[File:MH-Base-Skeleton-Retarget.png]]
Make sure that your character is in T-Pose, as you want to retarget the Mannequin animations to your characters MH_Skeleton!
Make a animation folder in your MH, perhaps even Mannequin folder?
You go to the UE4 folder: Content/Mannequin/Animations and right-click on this animation: '''ThirdPerson_AnimBP'''
Select retarget and choose MH_Skeleton as your target - also select the animation folder you made before, something like this:
[[File:MH-Base-Animation-Retarget.png]]
You may want to rename your new ThirdPerson_AnimBP to '''''MH''_ThirdPerson_AnimBP''' - or perhaps simply MH_AnimBP?
=More shape keys, made in Blender 2.8=
I have not yet made any target in MH, also I have not had much luck in using the two blender addons. Frankly I don't really understand what the different buttons does, most of them are not active... perhaps they make sens if you use Blender a lot?
But I will show you different ways to get expressions, targets and skeleton animations(!) to shape keys, so then will be new morph targets in UE4!
Before you get started you should probably look at a few Blender tutorials regarding this - these are good:
===Tutorials===
General introduction to MHX2 import and animation. However '''do not''' import the resulting characters into UE4?
{{#ev:youtube|2P1t_nogbGs}}
Short general introduction to using shape keys in Blender 2.8:
{{#ev:youtube|e675Ulc7QL4}}
==Expressions and targets==
Make sure that you have your original base character saved and load it into Makehuman. Remember to check that your base character is in the T-Pose, do not change that!
'''Just in case:''' I recommend that you keep a copy of this file as well as all the blender file etc.
You should also have Blender open and load the .blender file where you saved both your FBX and the MHX2.
Before you go on do as follows: move the MHX2 character to x 10m, so the entire character moves to the left (right to your front view) - this will make it more easy for you to work with! (Save the blender file!)
'''This is the general workflow for transfer of expressions:'''
Makehuman:
* Go to the Pose/Animate tab and select Expressions. From the list select the first expression, Anger01.
* Save the character as .mhx2 - but to a different file name: averagedude-base-expression.mhx2.
Blender:
* In blender, deselect all the collections
* Import the file you made, using the same operator presets as yo saved them.
* Activate your Base character collection and you will have two characters side by side - one base character and a very angry one!
* Go to object mode
* '''Left-click-select''' the angry guy first, then '''shift-left-click''' your base character.
* Go to the vertex tab/shape key, and click on the little down arrow, and select the ''Join as shapes'' - like this:
[[File:MH-Blender-shapekey1.png]]
This will make a brand new shape key: Averagedude_base_expression:Proxy
* You rename the shape key by a double-click and call it '''Exp_Anger01'''..
* ... and assign the Vertex group to head
[[File:MH-Blender-shapekey2.png]]
In case you can not select ''Join as shapes'' the two characters were not selected in the right order, or perhaps the topology is not the same. Blender will show this as a message some where at the bottom of the screen. I this happens try the blender workflow, in this paragraph only , again!
You can now try to change the value for the shape key, and you should see that your base character can get angry!
When this worked for you you can save the blender file! And you should now do your very first re-import of the FBX. You save your base character in a FBX and Import it to UE4. To be 100% safe you can save and import to different names and folders, but in the end you will re-import the base character each time you do one or more new shape keys.
When you see this working in UE4, you can go on to the next expressions - I simply delete the Averagedude_base_expression collection and save the next expression in the same file. You can naturally do as many expressions as you want. leave some out etc... as you like!
==Observations about Blender 2.8==
You may notice that you can mess this up, so please save your blender file and back up! Say you can easily merge your base character with the expression MHX2 or do something else to corrupt your work!
Please also note that the Vertex Group/relative to, '''head''' and '''Basis''', are rather important! The shape key will change the entire body, to the T-Pose, if head is not set. Likewise you can make some shape keys relative to an other shape key - this will be important a bit later, when we do more "advanced" stuff!
=Blender 2.8 - a bit more advanced?=
This is very fine - we can make your base character use all the expressions, and they can be combined! Also you can tamper with them in UE4, say you can combine them and you can even set minus values, or extreme values not "allowed" in Blender. But you obviously want more than that?
Perhaps you can find some special "targets" you want to use?
ff568dd7c3542c358483677f6a9d200c188a69a8
1705
1704
2020-02-27T22:09:13Z
Assetdk
89
/* Observations about Blender 2.8 */
wikitext
text/x-wiki
=What can and can't be done?=
I have been working on getting different characters into UE4 for some time, and this have been a real hassle!
On this page I want to summarize what I managed to get done using a workflow that involves Blender. I have had a focus on not going into much details regarding any of the tools, but you will need to know a few things. Even though this looks like a trivial task there are some pitfalls and also there are some things that can not be done, or I have just not found out how to. I will eventually also add links to all the YT tutorials I found helpful.
I found that working with Makehuman very easy, so focus will be very UE4 how to specific.
This is what I will cover thus far:
* Create and save any MH character in Makehuman. Basic stuff, and important things to avoid.
* Getting the character into Blender - import or link?
* Setup Blender for Export, shape keys and morph targets
* First import into UE4
* Introduction to more shape keys
* Get the Cloth working
* Mixamo animations
This is the stuff that I did not cover - yet:
* Animations for talking (other tutorials may help)
* Making custom cloth
* Hair
This is the stuff I can not get to work:
* Retargeting to Advanced Locomotion System V3/4
=Getting started=
I wanted a quick way to populate a UE4 game, preferably with an unlimited number of varied characters of high quality. This has proven to be a bit harder than expected. The workflow for making characters is not as trivial as one would want but this guide should make it a bit more easy to do. I will focus on describing the "straight" path from Makehuman and into UE4 - so you will not find too much details about Blender. Please refer to Blender specific pages for more on that.
==Need to know==
There are a few terms that you need to know, say you need to know that you will import FBX, textures and other files into UE4. Also you will need to know that a Character consists of a '''Mesh''', a '''Skeleton''' and '''''materials''''' (that refers to textures). I will try to elaborate on these subjects as we go along...
==Making a base-character==
Makehuman provides a range of predefined characters that is supposed to work as-is. You can just load a character, export it to FBX and import that into UE4 - and after a bit of work you can have a working player character! There are however a few pitfalls, so I suggest you make one (or more) base-character(s) that you can elaborate on as you go along. I will be working with ''''''averagedude'''''' as my base-character.
These are the steps to make the base characters:
* Open Makehuman
* Select the files tab and load the character
'''Under 'Geometries''''
* Remove cloth - (uncheck Hide faces under cloth)!
* Remove hair
* Add Teeth
* Choose Topology - '''I have no advice on this - but see comment below!'''
* Chose Eyebrows/Eyelashes, these can be changed as you go along - as can eye colors!
* Add Tongue01 (again I have no advice/recommendation on that, yet)
'''Under 'Materials'''' - I will show you how to work with UE4 "advanced" materials:
* Chose any skin that you like,
* Chose any eyes that you like
'''Under 'Pose/Animate''''
* Chose Skeleton: Uengine - if you do not have this already you my get it via the community tab?
* Chose Pose: Tpose (the last one on the list)
* Chose Expressions: none
And this is it! But there is one 'important' option you need know about - you need to '''uncheck''' the Smooth button!
The smooth button/option: [[File:MH-Smooth-option.png]] should be unchecked... that will make your character a bit less attractive, but this will preserve the shape-keys!
Makehuman comes with some 50-60 '''shape-keys''' and these will all be available as '''morph-targets''' in UE4. I will show you how to make more shape-keys, using makehuman+blender!
Now it is time to save your base-character - even though you have made very few changes to the file you should save this file under the save tab and name it
<your-name>-base (say averagedude-base), you can even add your very own tag 'base' to this.
When you save the file like this you will be able to reload it, and we need that later!
====Choose Topology/Shape keys====
When you make your base character without smoothing you get shape keys, and you want to share these between different characters. Specifically you would probably want to share face morphs between male and female characters - and there may be other base character variations, say old/young/child etc.
Later I will focus on how to make new shape keys, using blender - depending on how you want to do this you may want to '''chose Topology that is compatible between the different characters!''' That is you may be able to transfer one "shape" from a male character to a female character, but the result will depend on ''topology compatibility''. I will/may thus update this section to make sure
'''Shape key names''' will be the same for all of the base characters, as they come from - however you will be able to make new keys. You must name these keys the same for all MH characters, like these share the same skeleton (MH_Skelton) they must hold all the same shape keys names. If they don't your game may "break"....
===Export your base-character===
You can now take a break - or you can export your work. There are really tree options for you to look at:
* Save the FBX file directly
* Save a MHX2 file (you may need to install this as a option/utility, find our elsewhere!)
* Load the character to '''Blender''' directly via the link (I will get back to what can be done using that!)
I suggest that you save your base-character now, in both formats - FBX and MHX2! Make a specific 'Base-Characters' folder, because you will need it!
When you export the FBX use these options:
[[File:MH-FBX-export-options.png]]
This is the result for me, you should see something like this also:
[[File:MH-Base-Character-Folder.png]]
You should also see that there is a sub-folder, called Textures - this is where the different textures are saved and it should now look like this:
[[File:MH-Base-Character-Folder-textures.png]]
You can now go over all of the different textures, so you will have a wide selection to chose from. Textures are saved every time you save a FBX file!
Say, I change the base-characters textures, saved the FBX - and this is what I got:
[[File:MH-Base-Character-Folder-textures2.png]]
===Import your base-character to UE4 - FBX===
The FBX file will actually import directly to UE4, but there are a few problems! You should export your FBX file as Binary FBX, and you will get the most out of it. After this you can get to this result (after adjusting the materials, as seen below):
[[File:MH-MH-FBX-imported.png]]
Your character can look like this (after adjusting materials) - pretty good:
[[File:MH-MH-FBX-imported-materials.png]]
'''HOWEVER, you have lost the morph-targets! And as you probably noticed, the UE4 standard FBX import do import them!'''
I will get back to what to do about the shape-keys... but let make the materials first?
==Makehuman UE4 materials==
When you import the FBX made you exported from Makehuman, both textures and materials are made. You will also notice that UE4 will try to match the materials correctly to the material slots, as seen above in the 'Asset Details' of, in my case, averagedude-base (do not worry about the physics and the skeleton yet!).
To get you started, we need to take a look at the Eye, Eyelashes and Eyebrow materials...
===Eye materials===
First you can rename the '''high-poly''' material '''high-poly-''blue-eye''''' - or to whatever color you chose! You will probably make more eye materials.
Next you can double-click the material, to open the material-editor and change it to look something like this:
[[File:MH-UE4-Eye-material.png]]
===Eyelashes and Eyebrow materials===
Likewise you can set up the eyelashes, and the eyebrows are the same only you do not need ''two sided'' for the bows:
[[File:MH-UE4-Eyelashes-material.png]]
!?You may want to play with the shading model.
===More materials?===
You can simply drag and drop more textures from the the base-character/textures folder, then duplicate and rename the materials, and apply different textures to the renamed materials. At some point I want to be able to customize/randomize (NPC) characters, but I have not yet done that.
Also you can make materials instances with parameters... I will show you howto, but first we need to turn shape-keys into morph-targets.
=Use Blender v 2.80 to get more!!=
For some reason the exported FBX file is not organized in a way so you will get the shape-keys imported directly to UE4. However when you follow the next steps, you will not get the correct materials imported, so I recommend that you run FBX import as shown above, and save the textures/materials in a separate folder.
If you are new to Blender please run a few tutorials specifically on on how to import/export, and also get to know about collections - you can do a lot in Blender and you can get confused!
==What will be done here?==
I will show you how to:
* Import your MHX2 files, to preserve the shape-keys
* Export FBX files, so UE4 will import correctly with morph-targets
* Apply expressions etc. to your base character
* Import these to your Blender file and apply the expressions as '''new shape keys'''
==But, first import and inspect FBX and MHX2!==
As you may remember you exported two files, the FBX file and the MHX2 file. You want to import both of these files into Blender, so you need two Collections, called FBX and MHX2. You right-click on the 'Scene collection' select 'New' and rename the collections to 'FBX' and 'MHX2'... I also added Scene collection and dragged the Camera and Light there (as I deleted the box). After this you should see something link this (the small Icons may be different):
[[File:MH-Base-Blender-setup.png]]
When you import your FBX file select/highlight the FBX collection, so the FBX data get imported into that collection. You can use the standard import options. For MHX2 you need to change the setting to match those you see below - when you find they are correct you can click the + sign, marked with a yellow arrow, and save the setting with your own setting-name.
(You may notice that the character you imported is out of proportions, some 17-18 meters high, we will correct that when we export to UE4!)
[[File:MH-Blender-FBX-import-options.png]]
===Inspect the results, in Blender===
Now is a good time to save the Blender file. You should save this in the same folder as the FBX and MHX2. I call this file averagedude-base.blend.
If you did this approximately as described the result should be munch like below. And you will probably notice that there is some structural differences. You can see that by looking at the small icons [[File:MH-Blender-base-imported-icons.png]], that represent where modifiers, vertex groups and Object data is stored! Specifically the Object data holds the shape-keys and those were not imported. (perhaps because I did not use the correct FBX import options - but the same happens in UE4!).
[[File:MH-Blender-base-imported.png]]
You will notice that the MHX2 version of your character holds the Object data (the triangle) and that shape-keys can be seen there!
==Export the FBX for your base character, and import to UE4==
The next step is crucial for getting things to work in UE4, it is not very complicated but you need to have a plan.
When you did this correctly you should be able to get the following results:
* Import your base character into UE4
* Create retargeting for your common skeleton - called MH_Skeleton
* Retarget the Maniqin animations to your base character(s)
* Get additional Mixamo animations
===FBX export settings===
'''Important!''' Before you go any further you should rename your base character to '''main_root''', like this:
[[File:MH-Base-FBX-main-root.png]]
.... you should do this for all base characters! main_root will be the root bone in your skeleton. When you do it like this, all of your base characters will be able to share the same skeleton!
Now select the MHX2 collection where you have the character, and go to Export FBX.
I have made a 'Operator preset' for the FBX export, this is the options you need to set:
[[File:MH-Base-FBX-operator-presets.png]]
Place the FBX file in the same folder as where you placed the original FBX and the MHX2. You probably do not need the FBX that you made with Makehuman, and you can always make it again?
(You may however want to export more FBX files from Makehuman, simply to get all of the textures. We will look more into how you can use the skin textures!)
==UE4 import, and retarget ==
Go to your UE4 project and make a MH folder containing a new avaragedude folder, and import your base character there!
Observe that this character looks very much like the one you did already import from the original FBX, there are little difference - yet you want to set up this as your real base character.
Also you want to rename the skeleton to '''MH_Skeleton'''! And you want to open the skeleton, and retarget it to the humanoid rig... this should look like this:
[[File:MH-Base-Skeleton-Retarget.png]]
Make sure that your character is in T-Pose, as you want to retarget the Mannequin animations to your characters MH_Skeleton!
Make a animation folder in your MH, perhaps even Mannequin folder?
You go to the UE4 folder: Content/Mannequin/Animations and right-click on this animation: '''ThirdPerson_AnimBP'''
Select retarget and choose MH_Skeleton as your target - also select the animation folder you made before, something like this:
[[File:MH-Base-Animation-Retarget.png]]
You may want to rename your new ThirdPerson_AnimBP to '''''MH''_ThirdPerson_AnimBP''' - or perhaps simply MH_AnimBP?
=More shape keys, made in Blender 2.8=
I have not yet made any target in MH, also I have not had much luck in using the two blender addons. Frankly I don't really understand what the different buttons does, most of them are not active... perhaps they make sens if you use Blender a lot?
But I will show you different ways to get expressions, targets and skeleton animations(!) to shape keys, so then will be new morph targets in UE4!
Before you get started you should probably look at a few Blender tutorials regarding this - these are good:
===Tutorials===
General introduction to MHX2 import and animation. However '''do not''' import the resulting characters into UE4?
{{#ev:youtube|2P1t_nogbGs}}
Short general introduction to using shape keys in Blender 2.8:
{{#ev:youtube|e675Ulc7QL4}}
==Expressions and targets==
Make sure that you have your original base character saved and load it into Makehuman. Remember to check that your base character is in the T-Pose, do not change that!
'''Just in case:''' I recommend that you keep a copy of this file as well as all the blender file etc.
You should also have Blender open and load the .blender file where you saved both your FBX and the MHX2.
Before you go on do as follows: move the MHX2 character to x 10m, so the entire character moves to the left (right to your front view) - this will make it more easy for you to work with! (Save the blender file!)
'''This is the general workflow for transfer of expressions:'''
Makehuman:
* Go to the Pose/Animate tab and select Expressions. From the list select the first expression, Anger01.
* Save the character as .mhx2 - but to a different file name: averagedude-base-expression.mhx2.
Blender:
* In blender, deselect all the collections
* Import the file you made, using the same operator presets as yo saved them.
* Activate your Base character collection and you will have two characters side by side - one base character and a very angry one!
* Go to object mode
* '''Left-click-select''' the angry guy first, then '''shift-left-click''' your base character.
* Go to the vertex tab/shape key, and click on the little down arrow, and select the ''Join as shapes'' - like this:
[[File:MH-Blender-shapekey1.png]]
This will make a brand new shape key: Averagedude_base_expression:Proxy
* You rename the shape key by a double-click and call it '''Exp_Anger01'''..
* ... and assign the Vertex group to head
[[File:MH-Blender-shapekey2.png]]
In case you can not select ''Join as shapes'' the two characters were not selected in the right order, or perhaps the topology is not the same. Blender will show this as a message some where at the bottom of the screen. I this happens try the blender workflow, in this paragraph only , again!
You can now try to change the value for the shape key, and you should see that your base character can get angry!
When this worked for you you can save the blender file! And you should now do your very first re-import of the FBX. You save your base character in a FBX and Import it to UE4. To be 100% safe you can save and import to different names and folders, but in the end you will re-import the base character each time you do one or more new shape keys.
When you see this working in UE4, you can go on to the next expressions - I simply delete the Averagedude_base_expression collection and save the next expression in the same file. You can naturally do as many expressions as you want. leave some out etc... as you like!
==Observations about Blender 2.8==
You may notice that you can mess this up, so please save your blender file and back up! Say you can easily merge your base character with the expression MHX2 or do something else to corrupt your work!
Please also note that the Vertex Group/relative to, '''head''' and '''Basis''', are rather important! The shape key will change the entire body, to the T-Pose, if head is not set. Likewise you can make some shape keys relative to an other shape key - this will be important a bit later, when we do more "advanced" stuff!
=Blender 2.8 - a bit more advanced?=
This is very fine - we can make your base character use all the expressions, and they can be combined! Also you can tamper with them in UE4, say you can combine them and you can even set minus values, or extreme values not "allowed" in Blender. But you obviously want more than that?
Perhaps you can find some special "targets" you want to use?
ae6a8c238b81a7a3c6e0b641add1862dfec41bc0
1704
1703
2020-02-27T19:25:12Z
Assetdk
89
/* Observations about Blender 2.8 */
wikitext
text/x-wiki
=What can and can't be done?=
I have been working on getting different characters into UE4 for some time, and this have been a real hassle!
On this page I want to summarize what I managed to get done using a workflow that involves Blender. I have had a focus on not going into much details regarding any of the tools, but you will need to know a few things. Even though this looks like a trivial task there are some pitfalls and also there are some things that can not be done, or I have just not found out how to. I will eventually also add links to all the YT tutorials I found helpful.
I found that working with Makehuman very easy, so focus will be very UE4 how to specific.
This is what I will cover thus far:
* Create and save any MH character in Makehuman. Basic stuff, and important things to avoid.
* Getting the character into Blender - import or link?
* Setup Blender for Export, shape keys and morph targets
* First import into UE4
* Introduction to more shape keys
* Get the Cloth working
* Mixamo animations
This is the stuff that I did not cover - yet:
* Animations for talking (other tutorials may help)
* Making custom cloth
* Hair
This is the stuff I can not get to work:
* Retargeting to Advanced Locomotion System V3/4
=Getting started=
I wanted a quick way to populate a UE4 game, preferably with an unlimited number of varied characters of high quality. This has proven to be a bit harder than expected. The workflow for making characters is not as trivial as one would want but this guide should make it a bit more easy to do. I will focus on describing the "straight" path from Makehuman and into UE4 - so you will not find too much details about Blender. Please refer to Blender specific pages for more on that.
==Need to know==
There are a few terms that you need to know, say you need to know that you will import FBX, textures and other files into UE4. Also you will need to know that a Character consists of a '''Mesh''', a '''Skeleton''' and '''''materials''''' (that refers to textures). I will try to elaborate on these subjects as we go along...
==Making a base-character==
Makehuman provides a range of predefined characters that is supposed to work as-is. You can just load a character, export it to FBX and import that into UE4 - and after a bit of work you can have a working player character! There are however a few pitfalls, so I suggest you make one (or more) base-character(s) that you can elaborate on as you go along. I will be working with ''''''averagedude'''''' as my base-character.
These are the steps to make the base characters:
* Open Makehuman
* Select the files tab and load the character
'''Under 'Geometries''''
* Remove cloth - (uncheck Hide faces under cloth)!
* Remove hair
* Add Teeth
* Choose Topology - '''I have no advice on this - but see comment below!'''
* Chose Eyebrows/Eyelashes, these can be changed as you go along - as can eye colors!
* Add Tongue01 (again I have no advice/recommendation on that, yet)
'''Under 'Materials'''' - I will show you how to work with UE4 "advanced" materials:
* Chose any skin that you like,
* Chose any eyes that you like
'''Under 'Pose/Animate''''
* Chose Skeleton: Uengine - if you do not have this already you my get it via the community tab?
* Chose Pose: Tpose (the last one on the list)
* Chose Expressions: none
And this is it! But there is one 'important' option you need know about - you need to '''uncheck''' the Smooth button!
The smooth button/option: [[File:MH-Smooth-option.png]] should be unchecked... that will make your character a bit less attractive, but this will preserve the shape-keys!
Makehuman comes with some 50-60 '''shape-keys''' and these will all be available as '''morph-targets''' in UE4. I will show you how to make more shape-keys, using makehuman+blender!
Now it is time to save your base-character - even though you have made very few changes to the file you should save this file under the save tab and name it
<your-name>-base (say averagedude-base), you can even add your very own tag 'base' to this.
When you save the file like this you will be able to reload it, and we need that later!
====Choose Topology/Shape keys====
When you make your base character without smoothing you get shape keys, and you want to share these between different characters. Specifically you would probably want to share face morphs between male and female characters - and there may be other base character variations, say old/young/child etc.
Later I will focus on how to make new shape keys, using blender - depending on how you want to do this you may want to '''chose Topology that is compatible between the different characters!''' That is you may be able to transfer one "shape" from a male character to a female character, but the result will depend on ''topology compatibility''. I will/may thus update this section to make sure
'''Shape key names''' will be the same for all of the base characters, as they come from - however you will be able to make new keys. You must name these keys the same for all MH characters, like these share the same skeleton (MH_Skelton) they must hold all the same shape keys names. If they don't your game may "break"....
===Export your base-character===
You can now take a break - or you can export your work. There are really tree options for you to look at:
* Save the FBX file directly
* Save a MHX2 file (you may need to install this as a option/utility, find our elsewhere!)
* Load the character to '''Blender''' directly via the link (I will get back to what can be done using that!)
I suggest that you save your base-character now, in both formats - FBX and MHX2! Make a specific 'Base-Characters' folder, because you will need it!
When you export the FBX use these options:
[[File:MH-FBX-export-options.png]]
This is the result for me, you should see something like this also:
[[File:MH-Base-Character-Folder.png]]
You should also see that there is a sub-folder, called Textures - this is where the different textures are saved and it should now look like this:
[[File:MH-Base-Character-Folder-textures.png]]
You can now go over all of the different textures, so you will have a wide selection to chose from. Textures are saved every time you save a FBX file!
Say, I change the base-characters textures, saved the FBX - and this is what I got:
[[File:MH-Base-Character-Folder-textures2.png]]
===Import your base-character to UE4 - FBX===
The FBX file will actually import directly to UE4, but there are a few problems! You should export your FBX file as Binary FBX, and you will get the most out of it. After this you can get to this result (after adjusting the materials, as seen below):
[[File:MH-MH-FBX-imported.png]]
Your character can look like this (after adjusting materials) - pretty good:
[[File:MH-MH-FBX-imported-materials.png]]
'''HOWEVER, you have lost the morph-targets! And as you probably noticed, the UE4 standard FBX import do import them!'''
I will get back to what to do about the shape-keys... but let make the materials first?
==Makehuman UE4 materials==
When you import the FBX made you exported from Makehuman, both textures and materials are made. You will also notice that UE4 will try to match the materials correctly to the material slots, as seen above in the 'Asset Details' of, in my case, averagedude-base (do not worry about the physics and the skeleton yet!).
To get you started, we need to take a look at the Eye, Eyelashes and Eyebrow materials...
===Eye materials===
First you can rename the '''high-poly''' material '''high-poly-''blue-eye''''' - or to whatever color you chose! You will probably make more eye materials.
Next you can double-click the material, to open the material-editor and change it to look something like this:
[[File:MH-UE4-Eye-material.png]]
===Eyelashes and Eyebrow materials===
Likewise you can set up the eyelashes, and the eyebrows are the same only you do not need ''two sided'' for the bows:
[[File:MH-UE4-Eyelashes-material.png]]
!?You may want to play with the shading model.
===More materials?===
You can simply drag and drop more textures from the the base-character/textures folder, then duplicate and rename the materials, and apply different textures to the renamed materials. At some point I want to be able to customize/randomize (NPC) characters, but I have not yet done that.
Also you can make materials instances with parameters... I will show you howto, but first we need to turn shape-keys into morph-targets.
=Use Blender v 2.80 to get more!!=
For some reason the exported FBX file is not organized in a way so you will get the shape-keys imported directly to UE4. However when you follow the next steps, you will not get the correct materials imported, so I recommend that you run FBX import as shown above, and save the textures/materials in a separate folder.
If you are new to Blender please run a few tutorials specifically on on how to import/export, and also get to know about collections - you can do a lot in Blender and you can get confused!
==What will be done here?==
I will show you how to:
* Import your MHX2 files, to preserve the shape-keys
* Export FBX files, so UE4 will import correctly with morph-targets
* Apply expressions etc. to your base character
* Import these to your Blender file and apply the expressions as '''new shape keys'''
==But, first import and inspect FBX and MHX2!==
As you may remember you exported two files, the FBX file and the MHX2 file. You want to import both of these files into Blender, so you need two Collections, called FBX and MHX2. You right-click on the 'Scene collection' select 'New' and rename the collections to 'FBX' and 'MHX2'... I also added Scene collection and dragged the Camera and Light there (as I deleted the box). After this you should see something link this (the small Icons may be different):
[[File:MH-Base-Blender-setup.png]]
When you import your FBX file select/highlight the FBX collection, so the FBX data get imported into that collection. You can use the standard import options. For MHX2 you need to change the setting to match those you see below - when you find they are correct you can click the + sign, marked with a yellow arrow, and save the setting with your own setting-name.
(You may notice that the character you imported is out of proportions, some 17-18 meters high, we will correct that when we export to UE4!)
[[File:MH-Blender-FBX-import-options.png]]
===Inspect the results, in Blender===
Now is a good time to save the Blender file. You should save this in the same folder as the FBX and MHX2. I call this file averagedude-base.blend.
If you did this approximately as described the result should be munch like below. And you will probably notice that there is some structural differences. You can see that by looking at the small icons [[File:MH-Blender-base-imported-icons.png]], that represent where modifiers, vertex groups and Object data is stored! Specifically the Object data holds the shape-keys and those were not imported. (perhaps because I did not use the correct FBX import options - but the same happens in UE4!).
[[File:MH-Blender-base-imported.png]]
You will notice that the MHX2 version of your character holds the Object data (the triangle) and that shape-keys can be seen there!
==Export the FBX for your base character, and import to UE4==
The next step is crucial for getting things to work in UE4, it is not very complicated but you need to have a plan.
When you did this correctly you should be able to get the following results:
* Import your base character into UE4
* Create retargeting for your common skeleton - called MH_Skeleton
* Retarget the Maniqin animations to your base character(s)
* Get additional Mixamo animations
===FBX export settings===
'''Important!''' Before you go any further you should rename your base character to '''main_root''', like this:
[[File:MH-Base-FBX-main-root.png]]
.... you should do this for all base characters! main_root will be the root bone in your skeleton. When you do it like this, all of your base characters will be able to share the same skeleton!
Now select the MHX2 collection where you have the character, and go to Export FBX.
I have made a 'Operator preset' for the FBX export, this is the options you need to set:
[[File:MH-Base-FBX-operator-presets.png]]
Place the FBX file in the same folder as where you placed the original FBX and the MHX2. You probably do not need the FBX that you made with Makehuman, and you can always make it again?
(You may however want to export more FBX files from Makehuman, simply to get all of the textures. We will look more into how you can use the skin textures!)
==UE4 import, and retarget ==
Go to your UE4 project and make a MH folder containing a new avaragedude folder, and import your base character there!
Observe that this character looks very much like the one you did already import from the original FBX, there are little difference - yet you want to set up this as your real base character.
Also you want to rename the skeleton to '''MH_Skeleton'''! And you want to open the skeleton, and retarget it to the humanoid rig... this should look like this:
[[File:MH-Base-Skeleton-Retarget.png]]
Make sure that your character is in T-Pose, as you want to retarget the Mannequin animations to your characters MH_Skeleton!
Make a animation folder in your MH, perhaps even Mannequin folder?
You go to the UE4 folder: Content/Mannequin/Animations and right-click on this animation: '''ThirdPerson_AnimBP'''
Select retarget and choose MH_Skeleton as your target - also select the animation folder you made before, something like this:
[[File:MH-Base-Animation-Retarget.png]]
You may want to rename your new ThirdPerson_AnimBP to '''''MH''_ThirdPerson_AnimBP''' - or perhaps simply MH_AnimBP?
=More shape keys, made in Blender 2.8=
I have not yet made any target in MH, also I have not had much luck in using the two blender addons. Frankly I don't really understand what the different buttons does, most of them are not active... perhaps they make sens if you use Blender a lot?
But I will show you different ways to get expressions, targets and skeleton animations(!) to shape keys, so then will be new morph targets in UE4!
Before you get started you should probably look at a few Blender tutorials regarding this - these are good:
===Tutorials===
General introduction to MHX2 import and animation. However '''do not''' import the resulting characters into UE4?
{{#ev:youtube|2P1t_nogbGs}}
Short general introduction to using shape keys in Blender 2.8:
{{#ev:youtube|e675Ulc7QL4}}
==Expressions and targets==
Make sure that you have your original base character saved and load it into Makehuman. Remember to check that your base character is in the T-Pose, do not change that!
'''Just in case:''' I recommend that you keep a copy of this file as well as all the blender file etc.
You should also have Blender open and load the .blender file where you saved both your FBX and the MHX2.
Before you go on do as follows: move the MHX2 character to x 10m, so the entire character moves to the left (right to your front view) - this will make it more easy for you to work with! (Save the blender file!)
'''This is the general workflow for transfer of expressions:'''
Makehuman:
* Go to the Pose/Animate tab and select Expressions. From the list select the first expression, Anger01.
* Save the character as .mhx2 - but to a different file name: averagedude-base-expression.mhx2.
Blender:
* In blender, deselect all the collections
* Import the file you made, using the same operator presets as yo saved them.
* Activate your Base character collection and you will have two characters side by side - one base character and a very angry one!
* Go to object mode
* '''Left-click-select''' the angry guy first, then '''shift-left-click''' your base character.
* Go to the vertex tab/shape key, and click on the little down arrow, and select the ''Join as shapes'' - like this:
[[File:MH-Blender-shapekey1.png]]
This will make a brand new shape key: Averagedude_base_expression:Proxy
* You rename the shape key by a double-click and call it '''Exp_Anger01'''..
* ... and assign the Vertex group to head
[[File:MH-Blender-shapekey2.png]]
In case you can not select ''Join as shapes'' the two characters were not selected in the right order, or perhaps the topology is not the same. Blender will show this as a message some where at the bottom of the screen. I this happens try the blender workflow, in this paragraph only , again!
You can now try to change the value for the shape key, and you should see that your base character can get angry!
When this worked for you you can save the blender file! And you should now do your very first re-import of the FBX. You save your base character in a FBX and Import it to UE4. To be 100% safe you can save and import to different names and folders, but in the end you will re-import the base character each time you do one or more new shape keys.
When you see this working in UE4, you can go on to the next expressions - I simply delete the Averagedude_base_expression collection and save the next expression in the same file. You can naturally do as many expressions as you want. leave some out etc... as you like!
==Observations about Blender 2.8==
You may notice that you can mess this up, so please save your blender file and back up! Say you can easily merge your base character with the expression MHX2 or do something else to corrupt your work!
Please also note that the Vertex Group/relative to, '''head''' and '''Basis''', are rather important! The shape key will change the entire body, to the T-Pose, if head is not set. Likewise you can make some shape keys relative to an other shape key - this will be important a bit later, when we do more "advanced" stuff!
c885ee3bda55c79ceb514034f64aaad4a7c01c17
1703
1702
2020-02-27T19:18:14Z
Assetdk
89
/* Expressions and targets */
wikitext
text/x-wiki
=What can and can't be done?=
I have been working on getting different characters into UE4 for some time, and this have been a real hassle!
On this page I want to summarize what I managed to get done using a workflow that involves Blender. I have had a focus on not going into much details regarding any of the tools, but you will need to know a few things. Even though this looks like a trivial task there are some pitfalls and also there are some things that can not be done, or I have just not found out how to. I will eventually also add links to all the YT tutorials I found helpful.
I found that working with Makehuman very easy, so focus will be very UE4 how to specific.
This is what I will cover thus far:
* Create and save any MH character in Makehuman. Basic stuff, and important things to avoid.
* Getting the character into Blender - import or link?
* Setup Blender for Export, shape keys and morph targets
* First import into UE4
* Introduction to more shape keys
* Get the Cloth working
* Mixamo animations
This is the stuff that I did not cover - yet:
* Animations for talking (other tutorials may help)
* Making custom cloth
* Hair
This is the stuff I can not get to work:
* Retargeting to Advanced Locomotion System V3/4
=Getting started=
I wanted a quick way to populate a UE4 game, preferably with an unlimited number of varied characters of high quality. This has proven to be a bit harder than expected. The workflow for making characters is not as trivial as one would want but this guide should make it a bit more easy to do. I will focus on describing the "straight" path from Makehuman and into UE4 - so you will not find too much details about Blender. Please refer to Blender specific pages for more on that.
==Need to know==
There are a few terms that you need to know, say you need to know that you will import FBX, textures and other files into UE4. Also you will need to know that a Character consists of a '''Mesh''', a '''Skeleton''' and '''''materials''''' (that refers to textures). I will try to elaborate on these subjects as we go along...
==Making a base-character==
Makehuman provides a range of predefined characters that is supposed to work as-is. You can just load a character, export it to FBX and import that into UE4 - and after a bit of work you can have a working player character! There are however a few pitfalls, so I suggest you make one (or more) base-character(s) that you can elaborate on as you go along. I will be working with ''''''averagedude'''''' as my base-character.
These are the steps to make the base characters:
* Open Makehuman
* Select the files tab and load the character
'''Under 'Geometries''''
* Remove cloth - (uncheck Hide faces under cloth)!
* Remove hair
* Add Teeth
* Choose Topology - '''I have no advice on this - but see comment below!'''
* Chose Eyebrows/Eyelashes, these can be changed as you go along - as can eye colors!
* Add Tongue01 (again I have no advice/recommendation on that, yet)
'''Under 'Materials'''' - I will show you how to work with UE4 "advanced" materials:
* Chose any skin that you like,
* Chose any eyes that you like
'''Under 'Pose/Animate''''
* Chose Skeleton: Uengine - if you do not have this already you my get it via the community tab?
* Chose Pose: Tpose (the last one on the list)
* Chose Expressions: none
And this is it! But there is one 'important' option you need know about - you need to '''uncheck''' the Smooth button!
The smooth button/option: [[File:MH-Smooth-option.png]] should be unchecked... that will make your character a bit less attractive, but this will preserve the shape-keys!
Makehuman comes with some 50-60 '''shape-keys''' and these will all be available as '''morph-targets''' in UE4. I will show you how to make more shape-keys, using makehuman+blender!
Now it is time to save your base-character - even though you have made very few changes to the file you should save this file under the save tab and name it
<your-name>-base (say averagedude-base), you can even add your very own tag 'base' to this.
When you save the file like this you will be able to reload it, and we need that later!
====Choose Topology/Shape keys====
When you make your base character without smoothing you get shape keys, and you want to share these between different characters. Specifically you would probably want to share face morphs between male and female characters - and there may be other base character variations, say old/young/child etc.
Later I will focus on how to make new shape keys, using blender - depending on how you want to do this you may want to '''chose Topology that is compatible between the different characters!''' That is you may be able to transfer one "shape" from a male character to a female character, but the result will depend on ''topology compatibility''. I will/may thus update this section to make sure
'''Shape key names''' will be the same for all of the base characters, as they come from - however you will be able to make new keys. You must name these keys the same for all MH characters, like these share the same skeleton (MH_Skelton) they must hold all the same shape keys names. If they don't your game may "break"....
===Export your base-character===
You can now take a break - or you can export your work. There are really tree options for you to look at:
* Save the FBX file directly
* Save a MHX2 file (you may need to install this as a option/utility, find our elsewhere!)
* Load the character to '''Blender''' directly via the link (I will get back to what can be done using that!)
I suggest that you save your base-character now, in both formats - FBX and MHX2! Make a specific 'Base-Characters' folder, because you will need it!
When you export the FBX use these options:
[[File:MH-FBX-export-options.png]]
This is the result for me, you should see something like this also:
[[File:MH-Base-Character-Folder.png]]
You should also see that there is a sub-folder, called Textures - this is where the different textures are saved and it should now look like this:
[[File:MH-Base-Character-Folder-textures.png]]
You can now go over all of the different textures, so you will have a wide selection to chose from. Textures are saved every time you save a FBX file!
Say, I change the base-characters textures, saved the FBX - and this is what I got:
[[File:MH-Base-Character-Folder-textures2.png]]
===Import your base-character to UE4 - FBX===
The FBX file will actually import directly to UE4, but there are a few problems! You should export your FBX file as Binary FBX, and you will get the most out of it. After this you can get to this result (after adjusting the materials, as seen below):
[[File:MH-MH-FBX-imported.png]]
Your character can look like this (after adjusting materials) - pretty good:
[[File:MH-MH-FBX-imported-materials.png]]
'''HOWEVER, you have lost the morph-targets! And as you probably noticed, the UE4 standard FBX import do import them!'''
I will get back to what to do about the shape-keys... but let make the materials first?
==Makehuman UE4 materials==
When you import the FBX made you exported from Makehuman, both textures and materials are made. You will also notice that UE4 will try to match the materials correctly to the material slots, as seen above in the 'Asset Details' of, in my case, averagedude-base (do not worry about the physics and the skeleton yet!).
To get you started, we need to take a look at the Eye, Eyelashes and Eyebrow materials...
===Eye materials===
First you can rename the '''high-poly''' material '''high-poly-''blue-eye''''' - or to whatever color you chose! You will probably make more eye materials.
Next you can double-click the material, to open the material-editor and change it to look something like this:
[[File:MH-UE4-Eye-material.png]]
===Eyelashes and Eyebrow materials===
Likewise you can set up the eyelashes, and the eyebrows are the same only you do not need ''two sided'' for the bows:
[[File:MH-UE4-Eyelashes-material.png]]
!?You may want to play with the shading model.
===More materials?===
You can simply drag and drop more textures from the the base-character/textures folder, then duplicate and rename the materials, and apply different textures to the renamed materials. At some point I want to be able to customize/randomize (NPC) characters, but I have not yet done that.
Also you can make materials instances with parameters... I will show you howto, but first we need to turn shape-keys into morph-targets.
=Use Blender v 2.80 to get more!!=
For some reason the exported FBX file is not organized in a way so you will get the shape-keys imported directly to UE4. However when you follow the next steps, you will not get the correct materials imported, so I recommend that you run FBX import as shown above, and save the textures/materials in a separate folder.
If you are new to Blender please run a few tutorials specifically on on how to import/export, and also get to know about collections - you can do a lot in Blender and you can get confused!
==What will be done here?==
I will show you how to:
* Import your MHX2 files, to preserve the shape-keys
* Export FBX files, so UE4 will import correctly with morph-targets
* Apply expressions etc. to your base character
* Import these to your Blender file and apply the expressions as '''new shape keys'''
==But, first import and inspect FBX and MHX2!==
As you may remember you exported two files, the FBX file and the MHX2 file. You want to import both of these files into Blender, so you need two Collections, called FBX and MHX2. You right-click on the 'Scene collection' select 'New' and rename the collections to 'FBX' and 'MHX2'... I also added Scene collection and dragged the Camera and Light there (as I deleted the box). After this you should see something link this (the small Icons may be different):
[[File:MH-Base-Blender-setup.png]]
When you import your FBX file select/highlight the FBX collection, so the FBX data get imported into that collection. You can use the standard import options. For MHX2 you need to change the setting to match those you see below - when you find they are correct you can click the + sign, marked with a yellow arrow, and save the setting with your own setting-name.
(You may notice that the character you imported is out of proportions, some 17-18 meters high, we will correct that when we export to UE4!)
[[File:MH-Blender-FBX-import-options.png]]
===Inspect the results, in Blender===
Now is a good time to save the Blender file. You should save this in the same folder as the FBX and MHX2. I call this file averagedude-base.blend.
If you did this approximately as described the result should be munch like below. And you will probably notice that there is some structural differences. You can see that by looking at the small icons [[File:MH-Blender-base-imported-icons.png]], that represent where modifiers, vertex groups and Object data is stored! Specifically the Object data holds the shape-keys and those were not imported. (perhaps because I did not use the correct FBX import options - but the same happens in UE4!).
[[File:MH-Blender-base-imported.png]]
You will notice that the MHX2 version of your character holds the Object data (the triangle) and that shape-keys can be seen there!
==Export the FBX for your base character, and import to UE4==
The next step is crucial for getting things to work in UE4, it is not very complicated but you need to have a plan.
When you did this correctly you should be able to get the following results:
* Import your base character into UE4
* Create retargeting for your common skeleton - called MH_Skeleton
* Retarget the Maniqin animations to your base character(s)
* Get additional Mixamo animations
===FBX export settings===
'''Important!''' Before you go any further you should rename your base character to '''main_root''', like this:
[[File:MH-Base-FBX-main-root.png]]
.... you should do this for all base characters! main_root will be the root bone in your skeleton. When you do it like this, all of your base characters will be able to share the same skeleton!
Now select the MHX2 collection where you have the character, and go to Export FBX.
I have made a 'Operator preset' for the FBX export, this is the options you need to set:
[[File:MH-Base-FBX-operator-presets.png]]
Place the FBX file in the same folder as where you placed the original FBX and the MHX2. You probably do not need the FBX that you made with Makehuman, and you can always make it again?
(You may however want to export more FBX files from Makehuman, simply to get all of the textures. We will look more into how you can use the skin textures!)
==UE4 import, and retarget ==
Go to your UE4 project and make a MH folder containing a new avaragedude folder, and import your base character there!
Observe that this character looks very much like the one you did already import from the original FBX, there are little difference - yet you want to set up this as your real base character.
Also you want to rename the skeleton to '''MH_Skeleton'''! And you want to open the skeleton, and retarget it to the humanoid rig... this should look like this:
[[File:MH-Base-Skeleton-Retarget.png]]
Make sure that your character is in T-Pose, as you want to retarget the Mannequin animations to your characters MH_Skeleton!
Make a animation folder in your MH, perhaps even Mannequin folder?
You go to the UE4 folder: Content/Mannequin/Animations and right-click on this animation: '''ThirdPerson_AnimBP'''
Select retarget and choose MH_Skeleton as your target - also select the animation folder you made before, something like this:
[[File:MH-Base-Animation-Retarget.png]]
You may want to rename your new ThirdPerson_AnimBP to '''''MH''_ThirdPerson_AnimBP''' - or perhaps simply MH_AnimBP?
=More shape keys, made in Blender 2.8=
I have not yet made any target in MH, also I have not had much luck in using the two blender addons. Frankly I don't really understand what the different buttons does, most of them are not active... perhaps they make sens if you use Blender a lot?
But I will show you different ways to get expressions, targets and skeleton animations(!) to shape keys, so then will be new morph targets in UE4!
Before you get started you should probably look at a few Blender tutorials regarding this - these are good:
===Tutorials===
General introduction to MHX2 import and animation. However '''do not''' import the resulting characters into UE4?
{{#ev:youtube|2P1t_nogbGs}}
Short general introduction to using shape keys in Blender 2.8:
{{#ev:youtube|e675Ulc7QL4}}
==Expressions and targets==
Make sure that you have your original base character saved and load it into Makehuman. Remember to check that your base character is in the T-Pose, do not change that!
'''Just in case:''' I recommend that you keep a copy of this file as well as all the blender file etc.
You should also have Blender open and load the .blender file where you saved both your FBX and the MHX2.
Before you go on do as follows: move the MHX2 character to x 10m, so the entire character moves to the left (right to your front view) - this will make it more easy for you to work with! (Save the blender file!)
'''This is the general workflow for transfer of expressions:'''
Makehuman:
* Go to the Pose/Animate tab and select Expressions. From the list select the first expression, Anger01.
* Save the character as .mhx2 - but to a different file name: averagedude-base-expression.mhx2.
Blender:
* In blender, deselect all the collections
* Import the file you made, using the same operator presets as yo saved them.
* Activate your Base character collection and you will have two characters side by side - one base character and a very angry one!
* Go to object mode
* '''Left-click-select''' the angry guy first, then '''shift-left-click''' your base character.
* Go to the vertex tab/shape key, and click on the little down arrow, and select the ''Join as shapes'' - like this:
[[File:MH-Blender-shapekey1.png]]
This will make a brand new shape key: Averagedude_base_expression:Proxy
* You rename the shape key by a double-click and call it '''Exp_Anger01'''..
* ... and assign the Vertex group to head
[[File:MH-Blender-shapekey2.png]]
In case you can not select ''Join as shapes'' the two characters were not selected in the right order, or perhaps the topology is not the same. Blender will show this as a message some where at the bottom of the screen. I this happens try the blender workflow, in this paragraph only , again!
You can now try to change the value for the shape key, and you should see that your base character can get angry!
When this worked for you you can save the blender file! And you should now do your very first re-import of the FBX. You save your base character in a FBX and Import it to UE4. To be 100% safe you can save and import to different names and folders, but in the end you will re-import the base character each time you do one or more new shape keys.
When you see this working in UE4, you can go on to the next expressions - I simply delete the Averagedude_base_expression collection and save the next expression in the same file. You can naturally do as many expressions as you want. leave some out etc... as you like!
==Observations about Blender 2.8==
3f87cedb41144a52360c778756976cea6d73a981
1702
1701
2020-02-27T18:38:09Z
Assetdk
89
/* Expressions and targets */
wikitext
text/x-wiki
=What can and can't be done?=
I have been working on getting different characters into UE4 for some time, and this have been a real hassle!
On this page I want to summarize what I managed to get done using a workflow that involves Blender. I have had a focus on not going into much details regarding any of the tools, but you will need to know a few things. Even though this looks like a trivial task there are some pitfalls and also there are some things that can not be done, or I have just not found out how to. I will eventually also add links to all the YT tutorials I found helpful.
I found that working with Makehuman very easy, so focus will be very UE4 how to specific.
This is what I will cover thus far:
* Create and save any MH character in Makehuman. Basic stuff, and important things to avoid.
* Getting the character into Blender - import or link?
* Setup Blender for Export, shape keys and morph targets
* First import into UE4
* Introduction to more shape keys
* Get the Cloth working
* Mixamo animations
This is the stuff that I did not cover - yet:
* Animations for talking (other tutorials may help)
* Making custom cloth
* Hair
This is the stuff I can not get to work:
* Retargeting to Advanced Locomotion System V3/4
=Getting started=
I wanted a quick way to populate a UE4 game, preferably with an unlimited number of varied characters of high quality. This has proven to be a bit harder than expected. The workflow for making characters is not as trivial as one would want but this guide should make it a bit more easy to do. I will focus on describing the "straight" path from Makehuman and into UE4 - so you will not find too much details about Blender. Please refer to Blender specific pages for more on that.
==Need to know==
There are a few terms that you need to know, say you need to know that you will import FBX, textures and other files into UE4. Also you will need to know that a Character consists of a '''Mesh''', a '''Skeleton''' and '''''materials''''' (that refers to textures). I will try to elaborate on these subjects as we go along...
==Making a base-character==
Makehuman provides a range of predefined characters that is supposed to work as-is. You can just load a character, export it to FBX and import that into UE4 - and after a bit of work you can have a working player character! There are however a few pitfalls, so I suggest you make one (or more) base-character(s) that you can elaborate on as you go along. I will be working with ''''''averagedude'''''' as my base-character.
These are the steps to make the base characters:
* Open Makehuman
* Select the files tab and load the character
'''Under 'Geometries''''
* Remove cloth - (uncheck Hide faces under cloth)!
* Remove hair
* Add Teeth
* Choose Topology - '''I have no advice on this - but see comment below!'''
* Chose Eyebrows/Eyelashes, these can be changed as you go along - as can eye colors!
* Add Tongue01 (again I have no advice/recommendation on that, yet)
'''Under 'Materials'''' - I will show you how to work with UE4 "advanced" materials:
* Chose any skin that you like,
* Chose any eyes that you like
'''Under 'Pose/Animate''''
* Chose Skeleton: Uengine - if you do not have this already you my get it via the community tab?
* Chose Pose: Tpose (the last one on the list)
* Chose Expressions: none
And this is it! But there is one 'important' option you need know about - you need to '''uncheck''' the Smooth button!
The smooth button/option: [[File:MH-Smooth-option.png]] should be unchecked... that will make your character a bit less attractive, but this will preserve the shape-keys!
Makehuman comes with some 50-60 '''shape-keys''' and these will all be available as '''morph-targets''' in UE4. I will show you how to make more shape-keys, using makehuman+blender!
Now it is time to save your base-character - even though you have made very few changes to the file you should save this file under the save tab and name it
<your-name>-base (say averagedude-base), you can even add your very own tag 'base' to this.
When you save the file like this you will be able to reload it, and we need that later!
====Choose Topology/Shape keys====
When you make your base character without smoothing you get shape keys, and you want to share these between different characters. Specifically you would probably want to share face morphs between male and female characters - and there may be other base character variations, say old/young/child etc.
Later I will focus on how to make new shape keys, using blender - depending on how you want to do this you may want to '''chose Topology that is compatible between the different characters!''' That is you may be able to transfer one "shape" from a male character to a female character, but the result will depend on ''topology compatibility''. I will/may thus update this section to make sure
'''Shape key names''' will be the same for all of the base characters, as they come from - however you will be able to make new keys. You must name these keys the same for all MH characters, like these share the same skeleton (MH_Skelton) they must hold all the same shape keys names. If they don't your game may "break"....
===Export your base-character===
You can now take a break - or you can export your work. There are really tree options for you to look at:
* Save the FBX file directly
* Save a MHX2 file (you may need to install this as a option/utility, find our elsewhere!)
* Load the character to '''Blender''' directly via the link (I will get back to what can be done using that!)
I suggest that you save your base-character now, in both formats - FBX and MHX2! Make a specific 'Base-Characters' folder, because you will need it!
When you export the FBX use these options:
[[File:MH-FBX-export-options.png]]
This is the result for me, you should see something like this also:
[[File:MH-Base-Character-Folder.png]]
You should also see that there is a sub-folder, called Textures - this is where the different textures are saved and it should now look like this:
[[File:MH-Base-Character-Folder-textures.png]]
You can now go over all of the different textures, so you will have a wide selection to chose from. Textures are saved every time you save a FBX file!
Say, I change the base-characters textures, saved the FBX - and this is what I got:
[[File:MH-Base-Character-Folder-textures2.png]]
===Import your base-character to UE4 - FBX===
The FBX file will actually import directly to UE4, but there are a few problems! You should export your FBX file as Binary FBX, and you will get the most out of it. After this you can get to this result (after adjusting the materials, as seen below):
[[File:MH-MH-FBX-imported.png]]
Your character can look like this (after adjusting materials) - pretty good:
[[File:MH-MH-FBX-imported-materials.png]]
'''HOWEVER, you have lost the morph-targets! And as you probably noticed, the UE4 standard FBX import do import them!'''
I will get back to what to do about the shape-keys... but let make the materials first?
==Makehuman UE4 materials==
When you import the FBX made you exported from Makehuman, both textures and materials are made. You will also notice that UE4 will try to match the materials correctly to the material slots, as seen above in the 'Asset Details' of, in my case, averagedude-base (do not worry about the physics and the skeleton yet!).
To get you started, we need to take a look at the Eye, Eyelashes and Eyebrow materials...
===Eye materials===
First you can rename the '''high-poly''' material '''high-poly-''blue-eye''''' - or to whatever color you chose! You will probably make more eye materials.
Next you can double-click the material, to open the material-editor and change it to look something like this:
[[File:MH-UE4-Eye-material.png]]
===Eyelashes and Eyebrow materials===
Likewise you can set up the eyelashes, and the eyebrows are the same only you do not need ''two sided'' for the bows:
[[File:MH-UE4-Eyelashes-material.png]]
!?You may want to play with the shading model.
===More materials?===
You can simply drag and drop more textures from the the base-character/textures folder, then duplicate and rename the materials, and apply different textures to the renamed materials. At some point I want to be able to customize/randomize (NPC) characters, but I have not yet done that.
Also you can make materials instances with parameters... I will show you howto, but first we need to turn shape-keys into morph-targets.
=Use Blender v 2.80 to get more!!=
For some reason the exported FBX file is not organized in a way so you will get the shape-keys imported directly to UE4. However when you follow the next steps, you will not get the correct materials imported, so I recommend that you run FBX import as shown above, and save the textures/materials in a separate folder.
If you are new to Blender please run a few tutorials specifically on on how to import/export, and also get to know about collections - you can do a lot in Blender and you can get confused!
==What will be done here?==
I will show you how to:
* Import your MHX2 files, to preserve the shape-keys
* Export FBX files, so UE4 will import correctly with morph-targets
* Apply expressions etc. to your base character
* Import these to your Blender file and apply the expressions as '''new shape keys'''
==But, first import and inspect FBX and MHX2!==
As you may remember you exported two files, the FBX file and the MHX2 file. You want to import both of these files into Blender, so you need two Collections, called FBX and MHX2. You right-click on the 'Scene collection' select 'New' and rename the collections to 'FBX' and 'MHX2'... I also added Scene collection and dragged the Camera and Light there (as I deleted the box). After this you should see something link this (the small Icons may be different):
[[File:MH-Base-Blender-setup.png]]
When you import your FBX file select/highlight the FBX collection, so the FBX data get imported into that collection. You can use the standard import options. For MHX2 you need to change the setting to match those you see below - when you find they are correct you can click the + sign, marked with a yellow arrow, and save the setting with your own setting-name.
(You may notice that the character you imported is out of proportions, some 17-18 meters high, we will correct that when we export to UE4!)
[[File:MH-Blender-FBX-import-options.png]]
===Inspect the results, in Blender===
Now is a good time to save the Blender file. You should save this in the same folder as the FBX and MHX2. I call this file averagedude-base.blend.
If you did this approximately as described the result should be munch like below. And you will probably notice that there is some structural differences. You can see that by looking at the small icons [[File:MH-Blender-base-imported-icons.png]], that represent where modifiers, vertex groups and Object data is stored! Specifically the Object data holds the shape-keys and those were not imported. (perhaps because I did not use the correct FBX import options - but the same happens in UE4!).
[[File:MH-Blender-base-imported.png]]
You will notice that the MHX2 version of your character holds the Object data (the triangle) and that shape-keys can be seen there!
==Export the FBX for your base character, and import to UE4==
The next step is crucial for getting things to work in UE4, it is not very complicated but you need to have a plan.
When you did this correctly you should be able to get the following results:
* Import your base character into UE4
* Create retargeting for your common skeleton - called MH_Skeleton
* Retarget the Maniqin animations to your base character(s)
* Get additional Mixamo animations
===FBX export settings===
'''Important!''' Before you go any further you should rename your base character to '''main_root''', like this:
[[File:MH-Base-FBX-main-root.png]]
.... you should do this for all base characters! main_root will be the root bone in your skeleton. When you do it like this, all of your base characters will be able to share the same skeleton!
Now select the MHX2 collection where you have the character, and go to Export FBX.
I have made a 'Operator preset' for the FBX export, this is the options you need to set:
[[File:MH-Base-FBX-operator-presets.png]]
Place the FBX file in the same folder as where you placed the original FBX and the MHX2. You probably do not need the FBX that you made with Makehuman, and you can always make it again?
(You may however want to export more FBX files from Makehuman, simply to get all of the textures. We will look more into how you can use the skin textures!)
==UE4 import, and retarget ==
Go to your UE4 project and make a MH folder containing a new avaragedude folder, and import your base character there!
Observe that this character looks very much like the one you did already import from the original FBX, there are little difference - yet you want to set up this as your real base character.
Also you want to rename the skeleton to '''MH_Skeleton'''! And you want to open the skeleton, and retarget it to the humanoid rig... this should look like this:
[[File:MH-Base-Skeleton-Retarget.png]]
Make sure that your character is in T-Pose, as you want to retarget the Mannequin animations to your characters MH_Skeleton!
Make a animation folder in your MH, perhaps even Mannequin folder?
You go to the UE4 folder: Content/Mannequin/Animations and right-click on this animation: '''ThirdPerson_AnimBP'''
Select retarget and choose MH_Skeleton as your target - also select the animation folder you made before, something like this:
[[File:MH-Base-Animation-Retarget.png]]
You may want to rename your new ThirdPerson_AnimBP to '''''MH''_ThirdPerson_AnimBP''' - or perhaps simply MH_AnimBP?
=More shape keys, made in Blender 2.8=
I have not yet made any target in MH, also I have not had much luck in using the two blender addons. Frankly I don't really understand what the different buttons does, most of them are not active... perhaps they make sens if you use Blender a lot?
But I will show you different ways to get expressions, targets and skeleton animations(!) to shape keys, so then will be new morph targets in UE4!
Before you get started you should probably look at a few Blender tutorials regarding this - these are good:
===Tutorials===
General introduction to MHX2 import and animation. However '''do not''' import the resulting characters into UE4?
{{#ev:youtube|2P1t_nogbGs}}
Short general introduction to using shape keys in Blender 2.8:
{{#ev:youtube|e675Ulc7QL4}}
==Expressions and targets==
Make sure that you have your original base character saved and load it into Makehuman. Remember to check that your base character is in the T-Pose, do not change that!
'''Just in case:''' I recommend that you keep a copy of this file as well as all the blender file etc.
You should also have Blender open and load the .blender file where you saved both your FBX and the MHX2.
Before you go on do as follows: move the MHX2 character to x 10m, so the entire character moves to the left (right to your front view) - this will make it more easy for you to work with! (Save the blender file!)
'''This is the general workflow for transfer of expressions:'''
Makehuman:
* Go to the Pose/Animate tab and select Expressions. From the list select the first expression, Anger01.
* Save the character as .mhx2 - but to a different file name: averagedude-base-expression.mhx2.
Blender:
* In blender, deselect all the collections
* Import the file you made, using the same operator presets as yo saved them.
* Activate your Base character collection and you will have two characters side by side - one base character and a very angry one!
* Go to object mode
* '''Left-click-select''' the angry guy first, then '''shift-left-click''' your base character.
* Go to the vertex tab/shape key, and click on the little down arrow, and select the ''Join as shapes'' - like this:
[[File:MH-Blender-shapekey1.png]]
This will make a brand new shape key: Averagedude_base_expression:Proxy
* You rename the shape key by a double-click and call it '''Exp_Anger01'''..
* ... and assign the Vertex group to head
[[File:MH-Blender-shapekey2.png]]
In case you can not select ''Join as shapes'' the two characters were not selected in the right order, or perhaps the topology is not the same. Blender will show this as a message some where at the bottom of the screen. I this happens try the blender workflow, in this paragraph only , again!
You can now try to change the value for the shape key, and you should see that your base character can get angry!
When this worked for you you can save the blender file! And you should now do your very first re-import of the FBX. You save your base character in a FBX and Import it to UE4. To be 100% safe you can save and import to different names and folders, but in the end you will re-import the base character each time you do one or more new shape keys.
When you see this working in UE4, you can go on to the next expressions - I simply delete the Averagedude_base_expression collection and save the next expression in the same file. You can naturally do as many expressions as you want. leave some out etc... as you like!
889ccc3d35d988a219b2e206e04293533240dbf3
1701
1700
2020-02-27T18:22:09Z
Assetdk
89
/* Expressions and targets */
wikitext
text/x-wiki
=What can and can't be done?=
I have been working on getting different characters into UE4 for some time, and this have been a real hassle!
On this page I want to summarize what I managed to get done using a workflow that involves Blender. I have had a focus on not going into much details regarding any of the tools, but you will need to know a few things. Even though this looks like a trivial task there are some pitfalls and also there are some things that can not be done, or I have just not found out how to. I will eventually also add links to all the YT tutorials I found helpful.
I found that working with Makehuman very easy, so focus will be very UE4 how to specific.
This is what I will cover thus far:
* Create and save any MH character in Makehuman. Basic stuff, and important things to avoid.
* Getting the character into Blender - import or link?
* Setup Blender for Export, shape keys and morph targets
* First import into UE4
* Introduction to more shape keys
* Get the Cloth working
* Mixamo animations
This is the stuff that I did not cover - yet:
* Animations for talking (other tutorials may help)
* Making custom cloth
* Hair
This is the stuff I can not get to work:
* Retargeting to Advanced Locomotion System V3/4
=Getting started=
I wanted a quick way to populate a UE4 game, preferably with an unlimited number of varied characters of high quality. This has proven to be a bit harder than expected. The workflow for making characters is not as trivial as one would want but this guide should make it a bit more easy to do. I will focus on describing the "straight" path from Makehuman and into UE4 - so you will not find too much details about Blender. Please refer to Blender specific pages for more on that.
==Need to know==
There are a few terms that you need to know, say you need to know that you will import FBX, textures and other files into UE4. Also you will need to know that a Character consists of a '''Mesh''', a '''Skeleton''' and '''''materials''''' (that refers to textures). I will try to elaborate on these subjects as we go along...
==Making a base-character==
Makehuman provides a range of predefined characters that is supposed to work as-is. You can just load a character, export it to FBX and import that into UE4 - and after a bit of work you can have a working player character! There are however a few pitfalls, so I suggest you make one (or more) base-character(s) that you can elaborate on as you go along. I will be working with ''''''averagedude'''''' as my base-character.
These are the steps to make the base characters:
* Open Makehuman
* Select the files tab and load the character
'''Under 'Geometries''''
* Remove cloth - (uncheck Hide faces under cloth)!
* Remove hair
* Add Teeth
* Choose Topology - '''I have no advice on this - but see comment below!'''
* Chose Eyebrows/Eyelashes, these can be changed as you go along - as can eye colors!
* Add Tongue01 (again I have no advice/recommendation on that, yet)
'''Under 'Materials'''' - I will show you how to work with UE4 "advanced" materials:
* Chose any skin that you like,
* Chose any eyes that you like
'''Under 'Pose/Animate''''
* Chose Skeleton: Uengine - if you do not have this already you my get it via the community tab?
* Chose Pose: Tpose (the last one on the list)
* Chose Expressions: none
And this is it! But there is one 'important' option you need know about - you need to '''uncheck''' the Smooth button!
The smooth button/option: [[File:MH-Smooth-option.png]] should be unchecked... that will make your character a bit less attractive, but this will preserve the shape-keys!
Makehuman comes with some 50-60 '''shape-keys''' and these will all be available as '''morph-targets''' in UE4. I will show you how to make more shape-keys, using makehuman+blender!
Now it is time to save your base-character - even though you have made very few changes to the file you should save this file under the save tab and name it
<your-name>-base (say averagedude-base), you can even add your very own tag 'base' to this.
When you save the file like this you will be able to reload it, and we need that later!
====Choose Topology/Shape keys====
When you make your base character without smoothing you get shape keys, and you want to share these between different characters. Specifically you would probably want to share face morphs between male and female characters - and there may be other base character variations, say old/young/child etc.
Later I will focus on how to make new shape keys, using blender - depending on how you want to do this you may want to '''chose Topology that is compatible between the different characters!''' That is you may be able to transfer one "shape" from a male character to a female character, but the result will depend on ''topology compatibility''. I will/may thus update this section to make sure
'''Shape key names''' will be the same for all of the base characters, as they come from - however you will be able to make new keys. You must name these keys the same for all MH characters, like these share the same skeleton (MH_Skelton) they must hold all the same shape keys names. If they don't your game may "break"....
===Export your base-character===
You can now take a break - or you can export your work. There are really tree options for you to look at:
* Save the FBX file directly
* Save a MHX2 file (you may need to install this as a option/utility, find our elsewhere!)
* Load the character to '''Blender''' directly via the link (I will get back to what can be done using that!)
I suggest that you save your base-character now, in both formats - FBX and MHX2! Make a specific 'Base-Characters' folder, because you will need it!
When you export the FBX use these options:
[[File:MH-FBX-export-options.png]]
This is the result for me, you should see something like this also:
[[File:MH-Base-Character-Folder.png]]
You should also see that there is a sub-folder, called Textures - this is where the different textures are saved and it should now look like this:
[[File:MH-Base-Character-Folder-textures.png]]
You can now go over all of the different textures, so you will have a wide selection to chose from. Textures are saved every time you save a FBX file!
Say, I change the base-characters textures, saved the FBX - and this is what I got:
[[File:MH-Base-Character-Folder-textures2.png]]
===Import your base-character to UE4 - FBX===
The FBX file will actually import directly to UE4, but there are a few problems! You should export your FBX file as Binary FBX, and you will get the most out of it. After this you can get to this result (after adjusting the materials, as seen below):
[[File:MH-MH-FBX-imported.png]]
Your character can look like this (after adjusting materials) - pretty good:
[[File:MH-MH-FBX-imported-materials.png]]
'''HOWEVER, you have lost the morph-targets! And as you probably noticed, the UE4 standard FBX import do import them!'''
I will get back to what to do about the shape-keys... but let make the materials first?
==Makehuman UE4 materials==
When you import the FBX made you exported from Makehuman, both textures and materials are made. You will also notice that UE4 will try to match the materials correctly to the material slots, as seen above in the 'Asset Details' of, in my case, averagedude-base (do not worry about the physics and the skeleton yet!).
To get you started, we need to take a look at the Eye, Eyelashes and Eyebrow materials...
===Eye materials===
First you can rename the '''high-poly''' material '''high-poly-''blue-eye''''' - or to whatever color you chose! You will probably make more eye materials.
Next you can double-click the material, to open the material-editor and change it to look something like this:
[[File:MH-UE4-Eye-material.png]]
===Eyelashes and Eyebrow materials===
Likewise you can set up the eyelashes, and the eyebrows are the same only you do not need ''two sided'' for the bows:
[[File:MH-UE4-Eyelashes-material.png]]
!?You may want to play with the shading model.
===More materials?===
You can simply drag and drop more textures from the the base-character/textures folder, then duplicate and rename the materials, and apply different textures to the renamed materials. At some point I want to be able to customize/randomize (NPC) characters, but I have not yet done that.
Also you can make materials instances with parameters... I will show you howto, but first we need to turn shape-keys into morph-targets.
=Use Blender v 2.80 to get more!!=
For some reason the exported FBX file is not organized in a way so you will get the shape-keys imported directly to UE4. However when you follow the next steps, you will not get the correct materials imported, so I recommend that you run FBX import as shown above, and save the textures/materials in a separate folder.
If you are new to Blender please run a few tutorials specifically on on how to import/export, and also get to know about collections - you can do a lot in Blender and you can get confused!
==What will be done here?==
I will show you how to:
* Import your MHX2 files, to preserve the shape-keys
* Export FBX files, so UE4 will import correctly with morph-targets
* Apply expressions etc. to your base character
* Import these to your Blender file and apply the expressions as '''new shape keys'''
==But, first import and inspect FBX and MHX2!==
As you may remember you exported two files, the FBX file and the MHX2 file. You want to import both of these files into Blender, so you need two Collections, called FBX and MHX2. You right-click on the 'Scene collection' select 'New' and rename the collections to 'FBX' and 'MHX2'... I also added Scene collection and dragged the Camera and Light there (as I deleted the box). After this you should see something link this (the small Icons may be different):
[[File:MH-Base-Blender-setup.png]]
When you import your FBX file select/highlight the FBX collection, so the FBX data get imported into that collection. You can use the standard import options. For MHX2 you need to change the setting to match those you see below - when you find they are correct you can click the + sign, marked with a yellow arrow, and save the setting with your own setting-name.
(You may notice that the character you imported is out of proportions, some 17-18 meters high, we will correct that when we export to UE4!)
[[File:MH-Blender-FBX-import-options.png]]
===Inspect the results, in Blender===
Now is a good time to save the Blender file. You should save this in the same folder as the FBX and MHX2. I call this file averagedude-base.blend.
If you did this approximately as described the result should be munch like below. And you will probably notice that there is some structural differences. You can see that by looking at the small icons [[File:MH-Blender-base-imported-icons.png]], that represent where modifiers, vertex groups and Object data is stored! Specifically the Object data holds the shape-keys and those were not imported. (perhaps because I did not use the correct FBX import options - but the same happens in UE4!).
[[File:MH-Blender-base-imported.png]]
You will notice that the MHX2 version of your character holds the Object data (the triangle) and that shape-keys can be seen there!
==Export the FBX for your base character, and import to UE4==
The next step is crucial for getting things to work in UE4, it is not very complicated but you need to have a plan.
When you did this correctly you should be able to get the following results:
* Import your base character into UE4
* Create retargeting for your common skeleton - called MH_Skeleton
* Retarget the Maniqin animations to your base character(s)
* Get additional Mixamo animations
===FBX export settings===
'''Important!''' Before you go any further you should rename your base character to '''main_root''', like this:
[[File:MH-Base-FBX-main-root.png]]
.... you should do this for all base characters! main_root will be the root bone in your skeleton. When you do it like this, all of your base characters will be able to share the same skeleton!
Now select the MHX2 collection where you have the character, and go to Export FBX.
I have made a 'Operator preset' for the FBX export, this is the options you need to set:
[[File:MH-Base-FBX-operator-presets.png]]
Place the FBX file in the same folder as where you placed the original FBX and the MHX2. You probably do not need the FBX that you made with Makehuman, and you can always make it again?
(You may however want to export more FBX files from Makehuman, simply to get all of the textures. We will look more into how you can use the skin textures!)
==UE4 import, and retarget ==
Go to your UE4 project and make a MH folder containing a new avaragedude folder, and import your base character there!
Observe that this character looks very much like the one you did already import from the original FBX, there are little difference - yet you want to set up this as your real base character.
Also you want to rename the skeleton to '''MH_Skeleton'''! And you want to open the skeleton, and retarget it to the humanoid rig... this should look like this:
[[File:MH-Base-Skeleton-Retarget.png]]
Make sure that your character is in T-Pose, as you want to retarget the Mannequin animations to your characters MH_Skeleton!
Make a animation folder in your MH, perhaps even Mannequin folder?
You go to the UE4 folder: Content/Mannequin/Animations and right-click on this animation: '''ThirdPerson_AnimBP'''
Select retarget and choose MH_Skeleton as your target - also select the animation folder you made before, something like this:
[[File:MH-Base-Animation-Retarget.png]]
You may want to rename your new ThirdPerson_AnimBP to '''''MH''_ThirdPerson_AnimBP''' - or perhaps simply MH_AnimBP?
=More shape keys, made in Blender 2.8=
I have not yet made any target in MH, also I have not had much luck in using the two blender addons. Frankly I don't really understand what the different buttons does, most of them are not active... perhaps they make sens if you use Blender a lot?
But I will show you different ways to get expressions, targets and skeleton animations(!) to shape keys, so then will be new morph targets in UE4!
Before you get started you should probably look at a few Blender tutorials regarding this - these are good:
===Tutorials===
General introduction to MHX2 import and animation. However '''do not''' import the resulting characters into UE4?
{{#ev:youtube|2P1t_nogbGs}}
Short general introduction to using shape keys in Blender 2.8:
{{#ev:youtube|e675Ulc7QL4}}
==Expressions and targets==
Make sure that you have your original base character saved and load it into Makehuman. Remember to check that your base character is in the T-Pose, do not change that!
'''Just in case:''' I recommend that you keep a copy of this file as well as all the blender file etc.
You should also have Blender open and load the .blender file where you saved both your FBX and the MHX2.
Before you go on do as follows: move the MHX2 character to x 10m, so the entire character moves to the left (right to your front view) - this will make it more easy for you to work with! (Save the blender file!)
'''This is the general workflow for transfer of expressions:'''
Makehuman:
* Go to the Pose/Animate tab and select Expressions. From the list select the first expression, Anger01.
* Save the character as .mhx2 - but to a different file name: averagedude-base-expression.mhx2.
Blender:
* In blender, deselect all the collections
* Import the file you made, using the same operator presets as yo saved them.
* Activate your Base character collection and you will have two characters side by side - one base character and a very angry one!
* Go to object mode
* '''Left-click-select''' the angry guy first, then '''shift-left-click''' your base character.
* Go to the vertex tab/shape key, and click on the little down arrow, and select the ''Join as shapes'' - like this:
[[File:MH-Blender-shapekey1.png]]
This will make a brand new shape key: Averagedude_base_expression:Proxy
* You rename the shape key by a double-click and call it '''Anger01'''..
* ... and assign the Vertex group to head
[[File:MH-Blender-shapekey2.png]]
In case you can not select ''Join as shapes'' the two characters were not selected in the right order, or perhaps the topology is not the same. Blender will show this as a message some where at the bottom of the screen. I this happens try the blender workflow, in this paragraph only , again!
You can now try to change the value for the shape key, and you should see that your base character can get angry!
When this worked for you you can save the blender file! And you should now do your very first re-import of the FBX.
434b13ca09dcbf92fa1cd7fe449c21b695edd868
1700
1699
2020-02-27T18:17:33Z
Assetdk
89
/* Expressions and targets */
wikitext
text/x-wiki
=What can and can't be done?=
I have been working on getting different characters into UE4 for some time, and this have been a real hassle!
On this page I want to summarize what I managed to get done using a workflow that involves Blender. I have had a focus on not going into much details regarding any of the tools, but you will need to know a few things. Even though this looks like a trivial task there are some pitfalls and also there are some things that can not be done, or I have just not found out how to. I will eventually also add links to all the YT tutorials I found helpful.
I found that working with Makehuman very easy, so focus will be very UE4 how to specific.
This is what I will cover thus far:
* Create and save any MH character in Makehuman. Basic stuff, and important things to avoid.
* Getting the character into Blender - import or link?
* Setup Blender for Export, shape keys and morph targets
* First import into UE4
* Introduction to more shape keys
* Get the Cloth working
* Mixamo animations
This is the stuff that I did not cover - yet:
* Animations for talking (other tutorials may help)
* Making custom cloth
* Hair
This is the stuff I can not get to work:
* Retargeting to Advanced Locomotion System V3/4
=Getting started=
I wanted a quick way to populate a UE4 game, preferably with an unlimited number of varied characters of high quality. This has proven to be a bit harder than expected. The workflow for making characters is not as trivial as one would want but this guide should make it a bit more easy to do. I will focus on describing the "straight" path from Makehuman and into UE4 - so you will not find too much details about Blender. Please refer to Blender specific pages for more on that.
==Need to know==
There are a few terms that you need to know, say you need to know that you will import FBX, textures and other files into UE4. Also you will need to know that a Character consists of a '''Mesh''', a '''Skeleton''' and '''''materials''''' (that refers to textures). I will try to elaborate on these subjects as we go along...
==Making a base-character==
Makehuman provides a range of predefined characters that is supposed to work as-is. You can just load a character, export it to FBX and import that into UE4 - and after a bit of work you can have a working player character! There are however a few pitfalls, so I suggest you make one (or more) base-character(s) that you can elaborate on as you go along. I will be working with ''''''averagedude'''''' as my base-character.
These are the steps to make the base characters:
* Open Makehuman
* Select the files tab and load the character
'''Under 'Geometries''''
* Remove cloth - (uncheck Hide faces under cloth)!
* Remove hair
* Add Teeth
* Choose Topology - '''I have no advice on this - but see comment below!'''
* Chose Eyebrows/Eyelashes, these can be changed as you go along - as can eye colors!
* Add Tongue01 (again I have no advice/recommendation on that, yet)
'''Under 'Materials'''' - I will show you how to work with UE4 "advanced" materials:
* Chose any skin that you like,
* Chose any eyes that you like
'''Under 'Pose/Animate''''
* Chose Skeleton: Uengine - if you do not have this already you my get it via the community tab?
* Chose Pose: Tpose (the last one on the list)
* Chose Expressions: none
And this is it! But there is one 'important' option you need know about - you need to '''uncheck''' the Smooth button!
The smooth button/option: [[File:MH-Smooth-option.png]] should be unchecked... that will make your character a bit less attractive, but this will preserve the shape-keys!
Makehuman comes with some 50-60 '''shape-keys''' and these will all be available as '''morph-targets''' in UE4. I will show you how to make more shape-keys, using makehuman+blender!
Now it is time to save your base-character - even though you have made very few changes to the file you should save this file under the save tab and name it
<your-name>-base (say averagedude-base), you can even add your very own tag 'base' to this.
When you save the file like this you will be able to reload it, and we need that later!
====Choose Topology/Shape keys====
When you make your base character without smoothing you get shape keys, and you want to share these between different characters. Specifically you would probably want to share face morphs between male and female characters - and there may be other base character variations, say old/young/child etc.
Later I will focus on how to make new shape keys, using blender - depending on how you want to do this you may want to '''chose Topology that is compatible between the different characters!''' That is you may be able to transfer one "shape" from a male character to a female character, but the result will depend on ''topology compatibility''. I will/may thus update this section to make sure
'''Shape key names''' will be the same for all of the base characters, as they come from - however you will be able to make new keys. You must name these keys the same for all MH characters, like these share the same skeleton (MH_Skelton) they must hold all the same shape keys names. If they don't your game may "break"....
===Export your base-character===
You can now take a break - or you can export your work. There are really tree options for you to look at:
* Save the FBX file directly
* Save a MHX2 file (you may need to install this as a option/utility, find our elsewhere!)
* Load the character to '''Blender''' directly via the link (I will get back to what can be done using that!)
I suggest that you save your base-character now, in both formats - FBX and MHX2! Make a specific 'Base-Characters' folder, because you will need it!
When you export the FBX use these options:
[[File:MH-FBX-export-options.png]]
This is the result for me, you should see something like this also:
[[File:MH-Base-Character-Folder.png]]
You should also see that there is a sub-folder, called Textures - this is where the different textures are saved and it should now look like this:
[[File:MH-Base-Character-Folder-textures.png]]
You can now go over all of the different textures, so you will have a wide selection to chose from. Textures are saved every time you save a FBX file!
Say, I change the base-characters textures, saved the FBX - and this is what I got:
[[File:MH-Base-Character-Folder-textures2.png]]
===Import your base-character to UE4 - FBX===
The FBX file will actually import directly to UE4, but there are a few problems! You should export your FBX file as Binary FBX, and you will get the most out of it. After this you can get to this result (after adjusting the materials, as seen below):
[[File:MH-MH-FBX-imported.png]]
Your character can look like this (after adjusting materials) - pretty good:
[[File:MH-MH-FBX-imported-materials.png]]
'''HOWEVER, you have lost the morph-targets! And as you probably noticed, the UE4 standard FBX import do import them!'''
I will get back to what to do about the shape-keys... but let make the materials first?
==Makehuman UE4 materials==
When you import the FBX made you exported from Makehuman, both textures and materials are made. You will also notice that UE4 will try to match the materials correctly to the material slots, as seen above in the 'Asset Details' of, in my case, averagedude-base (do not worry about the physics and the skeleton yet!).
To get you started, we need to take a look at the Eye, Eyelashes and Eyebrow materials...
===Eye materials===
First you can rename the '''high-poly''' material '''high-poly-''blue-eye''''' - or to whatever color you chose! You will probably make more eye materials.
Next you can double-click the material, to open the material-editor and change it to look something like this:
[[File:MH-UE4-Eye-material.png]]
===Eyelashes and Eyebrow materials===
Likewise you can set up the eyelashes, and the eyebrows are the same only you do not need ''two sided'' for the bows:
[[File:MH-UE4-Eyelashes-material.png]]
!?You may want to play with the shading model.
===More materials?===
You can simply drag and drop more textures from the the base-character/textures folder, then duplicate and rename the materials, and apply different textures to the renamed materials. At some point I want to be able to customize/randomize (NPC) characters, but I have not yet done that.
Also you can make materials instances with parameters... I will show you howto, but first we need to turn shape-keys into morph-targets.
=Use Blender v 2.80 to get more!!=
For some reason the exported FBX file is not organized in a way so you will get the shape-keys imported directly to UE4. However when you follow the next steps, you will not get the correct materials imported, so I recommend that you run FBX import as shown above, and save the textures/materials in a separate folder.
If you are new to Blender please run a few tutorials specifically on on how to import/export, and also get to know about collections - you can do a lot in Blender and you can get confused!
==What will be done here?==
I will show you how to:
* Import your MHX2 files, to preserve the shape-keys
* Export FBX files, so UE4 will import correctly with morph-targets
* Apply expressions etc. to your base character
* Import these to your Blender file and apply the expressions as '''new shape keys'''
==But, first import and inspect FBX and MHX2!==
As you may remember you exported two files, the FBX file and the MHX2 file. You want to import both of these files into Blender, so you need two Collections, called FBX and MHX2. You right-click on the 'Scene collection' select 'New' and rename the collections to 'FBX' and 'MHX2'... I also added Scene collection and dragged the Camera and Light there (as I deleted the box). After this you should see something link this (the small Icons may be different):
[[File:MH-Base-Blender-setup.png]]
When you import your FBX file select/highlight the FBX collection, so the FBX data get imported into that collection. You can use the standard import options. For MHX2 you need to change the setting to match those you see below - when you find they are correct you can click the + sign, marked with a yellow arrow, and save the setting with your own setting-name.
(You may notice that the character you imported is out of proportions, some 17-18 meters high, we will correct that when we export to UE4!)
[[File:MH-Blender-FBX-import-options.png]]
===Inspect the results, in Blender===
Now is a good time to save the Blender file. You should save this in the same folder as the FBX and MHX2. I call this file averagedude-base.blend.
If you did this approximately as described the result should be munch like below. And you will probably notice that there is some structural differences. You can see that by looking at the small icons [[File:MH-Blender-base-imported-icons.png]], that represent where modifiers, vertex groups and Object data is stored! Specifically the Object data holds the shape-keys and those were not imported. (perhaps because I did not use the correct FBX import options - but the same happens in UE4!).
[[File:MH-Blender-base-imported.png]]
You will notice that the MHX2 version of your character holds the Object data (the triangle) and that shape-keys can be seen there!
==Export the FBX for your base character, and import to UE4==
The next step is crucial for getting things to work in UE4, it is not very complicated but you need to have a plan.
When you did this correctly you should be able to get the following results:
* Import your base character into UE4
* Create retargeting for your common skeleton - called MH_Skeleton
* Retarget the Maniqin animations to your base character(s)
* Get additional Mixamo animations
===FBX export settings===
'''Important!''' Before you go any further you should rename your base character to '''main_root''', like this:
[[File:MH-Base-FBX-main-root.png]]
.... you should do this for all base characters! main_root will be the root bone in your skeleton. When you do it like this, all of your base characters will be able to share the same skeleton!
Now select the MHX2 collection where you have the character, and go to Export FBX.
I have made a 'Operator preset' for the FBX export, this is the options you need to set:
[[File:MH-Base-FBX-operator-presets.png]]
Place the FBX file in the same folder as where you placed the original FBX and the MHX2. You probably do not need the FBX that you made with Makehuman, and you can always make it again?
(You may however want to export more FBX files from Makehuman, simply to get all of the textures. We will look more into how you can use the skin textures!)
==UE4 import, and retarget ==
Go to your UE4 project and make a MH folder containing a new avaragedude folder, and import your base character there!
Observe that this character looks very much like the one you did already import from the original FBX, there are little difference - yet you want to set up this as your real base character.
Also you want to rename the skeleton to '''MH_Skeleton'''! And you want to open the skeleton, and retarget it to the humanoid rig... this should look like this:
[[File:MH-Base-Skeleton-Retarget.png]]
Make sure that your character is in T-Pose, as you want to retarget the Mannequin animations to your characters MH_Skeleton!
Make a animation folder in your MH, perhaps even Mannequin folder?
You go to the UE4 folder: Content/Mannequin/Animations and right-click on this animation: '''ThirdPerson_AnimBP'''
Select retarget and choose MH_Skeleton as your target - also select the animation folder you made before, something like this:
[[File:MH-Base-Animation-Retarget.png]]
You may want to rename your new ThirdPerson_AnimBP to '''''MH''_ThirdPerson_AnimBP''' - or perhaps simply MH_AnimBP?
=More shape keys, made in Blender 2.8=
I have not yet made any target in MH, also I have not had much luck in using the two blender addons. Frankly I don't really understand what the different buttons does, most of them are not active... perhaps they make sens if you use Blender a lot?
But I will show you different ways to get expressions, targets and skeleton animations(!) to shape keys, so then will be new morph targets in UE4!
Before you get started you should probably look at a few Blender tutorials regarding this - these are good:
===Tutorials===
General introduction to MHX2 import and animation. However '''do not''' import the resulting characters into UE4?
{{#ev:youtube|2P1t_nogbGs}}
Short general introduction to using shape keys in Blender 2.8:
{{#ev:youtube|e675Ulc7QL4}}
==Expressions and targets==
Make sure that you have your original base character saved and load it into Makehuman. Remember to check that your base character is in the T-Pose, do not change that!
'''Just in case:''' I recommend that you keep a copy of this file as well as all the blender file etc.
You should also have Blender open and load the .blender file where you saved both your FBX and the MHX2.
Before you go on do as follows: move the MHX2 character to x 10m, so the entire character moves to the left (right to your front view) - this will make it more easy for you to work with! (Save the blender file!)
'''This is the general workflow for transfer of expressions:'''
Makehuman:
* Go to the Pose/Animate tab and select Expressions. From the list select the first expression, Anger01.
* Save the character as .mhx2 - but to a different file name: averagedude-base-expression.mhx2.
Blender:
* In blender, deselect all the collections
* Import the file you made, using the same operator presets as yo saved them.
* Activate your Base character collection and you will have two characters side by side - one base character and a very angry one!
* Go to object mode
* '''Left-click-select''' the angry guy first, then '''shift-left-click''' your base character.
* Go to the vertex tab/shape key, and click on the little down arrow, and select the ''Join as shapes'' - like this:
[[File:MH-Blender-shapekey1.png]]
This will make a brand new shape key: Averagedude_base_expression:Proxy
* You rename the shape key by a double-click and call it '''Anger01'''..
* ... and assign the Vertex group to head
[[File:MH-Blender-shapekey2.png]]
In case you can not select ''Join as shapes'' the two characters were not selected in the right order, or perhaps the topology is not the same. Blender will show this as a message some where at the bottom of the screen. I this happens try the blender workflow, in this paragraph only , again!
5d8d0fe73f4d43f7ed16c54c7ea35f112d40e76e
1699
1697
2020-02-27T18:13:33Z
Assetdk
89
/* Expressions and targets */
wikitext
text/x-wiki
=What can and can't be done?=
I have been working on getting different characters into UE4 for some time, and this have been a real hassle!
On this page I want to summarize what I managed to get done using a workflow that involves Blender. I have had a focus on not going into much details regarding any of the tools, but you will need to know a few things. Even though this looks like a trivial task there are some pitfalls and also there are some things that can not be done, or I have just not found out how to. I will eventually also add links to all the YT tutorials I found helpful.
I found that working with Makehuman very easy, so focus will be very UE4 how to specific.
This is what I will cover thus far:
* Create and save any MH character in Makehuman. Basic stuff, and important things to avoid.
* Getting the character into Blender - import or link?
* Setup Blender for Export, shape keys and morph targets
* First import into UE4
* Introduction to more shape keys
* Get the Cloth working
* Mixamo animations
This is the stuff that I did not cover - yet:
* Animations for talking (other tutorials may help)
* Making custom cloth
* Hair
This is the stuff I can not get to work:
* Retargeting to Advanced Locomotion System V3/4
=Getting started=
I wanted a quick way to populate a UE4 game, preferably with an unlimited number of varied characters of high quality. This has proven to be a bit harder than expected. The workflow for making characters is not as trivial as one would want but this guide should make it a bit more easy to do. I will focus on describing the "straight" path from Makehuman and into UE4 - so you will not find too much details about Blender. Please refer to Blender specific pages for more on that.
==Need to know==
There are a few terms that you need to know, say you need to know that you will import FBX, textures and other files into UE4. Also you will need to know that a Character consists of a '''Mesh''', a '''Skeleton''' and '''''materials''''' (that refers to textures). I will try to elaborate on these subjects as we go along...
==Making a base-character==
Makehuman provides a range of predefined characters that is supposed to work as-is. You can just load a character, export it to FBX and import that into UE4 - and after a bit of work you can have a working player character! There are however a few pitfalls, so I suggest you make one (or more) base-character(s) that you can elaborate on as you go along. I will be working with ''''''averagedude'''''' as my base-character.
These are the steps to make the base characters:
* Open Makehuman
* Select the files tab and load the character
'''Under 'Geometries''''
* Remove cloth - (uncheck Hide faces under cloth)!
* Remove hair
* Add Teeth
* Choose Topology - '''I have no advice on this - but see comment below!'''
* Chose Eyebrows/Eyelashes, these can be changed as you go along - as can eye colors!
* Add Tongue01 (again I have no advice/recommendation on that, yet)
'''Under 'Materials'''' - I will show you how to work with UE4 "advanced" materials:
* Chose any skin that you like,
* Chose any eyes that you like
'''Under 'Pose/Animate''''
* Chose Skeleton: Uengine - if you do not have this already you my get it via the community tab?
* Chose Pose: Tpose (the last one on the list)
* Chose Expressions: none
And this is it! But there is one 'important' option you need know about - you need to '''uncheck''' the Smooth button!
The smooth button/option: [[File:MH-Smooth-option.png]] should be unchecked... that will make your character a bit less attractive, but this will preserve the shape-keys!
Makehuman comes with some 50-60 '''shape-keys''' and these will all be available as '''morph-targets''' in UE4. I will show you how to make more shape-keys, using makehuman+blender!
Now it is time to save your base-character - even though you have made very few changes to the file you should save this file under the save tab and name it
<your-name>-base (say averagedude-base), you can even add your very own tag 'base' to this.
When you save the file like this you will be able to reload it, and we need that later!
====Choose Topology/Shape keys====
When you make your base character without smoothing you get shape keys, and you want to share these between different characters. Specifically you would probably want to share face morphs between male and female characters - and there may be other base character variations, say old/young/child etc.
Later I will focus on how to make new shape keys, using blender - depending on how you want to do this you may want to '''chose Topology that is compatible between the different characters!''' That is you may be able to transfer one "shape" from a male character to a female character, but the result will depend on ''topology compatibility''. I will/may thus update this section to make sure
'''Shape key names''' will be the same for all of the base characters, as they come from - however you will be able to make new keys. You must name these keys the same for all MH characters, like these share the same skeleton (MH_Skelton) they must hold all the same shape keys names. If they don't your game may "break"....
===Export your base-character===
You can now take a break - or you can export your work. There are really tree options for you to look at:
* Save the FBX file directly
* Save a MHX2 file (you may need to install this as a option/utility, find our elsewhere!)
* Load the character to '''Blender''' directly via the link (I will get back to what can be done using that!)
I suggest that you save your base-character now, in both formats - FBX and MHX2! Make a specific 'Base-Characters' folder, because you will need it!
When you export the FBX use these options:
[[File:MH-FBX-export-options.png]]
This is the result for me, you should see something like this also:
[[File:MH-Base-Character-Folder.png]]
You should also see that there is a sub-folder, called Textures - this is where the different textures are saved and it should now look like this:
[[File:MH-Base-Character-Folder-textures.png]]
You can now go over all of the different textures, so you will have a wide selection to chose from. Textures are saved every time you save a FBX file!
Say, I change the base-characters textures, saved the FBX - and this is what I got:
[[File:MH-Base-Character-Folder-textures2.png]]
===Import your base-character to UE4 - FBX===
The FBX file will actually import directly to UE4, but there are a few problems! You should export your FBX file as Binary FBX, and you will get the most out of it. After this you can get to this result (after adjusting the materials, as seen below):
[[File:MH-MH-FBX-imported.png]]
Your character can look like this (after adjusting materials) - pretty good:
[[File:MH-MH-FBX-imported-materials.png]]
'''HOWEVER, you have lost the morph-targets! And as you probably noticed, the UE4 standard FBX import do import them!'''
I will get back to what to do about the shape-keys... but let make the materials first?
==Makehuman UE4 materials==
When you import the FBX made you exported from Makehuman, both textures and materials are made. You will also notice that UE4 will try to match the materials correctly to the material slots, as seen above in the 'Asset Details' of, in my case, averagedude-base (do not worry about the physics and the skeleton yet!).
To get you started, we need to take a look at the Eye, Eyelashes and Eyebrow materials...
===Eye materials===
First you can rename the '''high-poly''' material '''high-poly-''blue-eye''''' - or to whatever color you chose! You will probably make more eye materials.
Next you can double-click the material, to open the material-editor and change it to look something like this:
[[File:MH-UE4-Eye-material.png]]
===Eyelashes and Eyebrow materials===
Likewise you can set up the eyelashes, and the eyebrows are the same only you do not need ''two sided'' for the bows:
[[File:MH-UE4-Eyelashes-material.png]]
!?You may want to play with the shading model.
===More materials?===
You can simply drag and drop more textures from the the base-character/textures folder, then duplicate and rename the materials, and apply different textures to the renamed materials. At some point I want to be able to customize/randomize (NPC) characters, but I have not yet done that.
Also you can make materials instances with parameters... I will show you howto, but first we need to turn shape-keys into morph-targets.
=Use Blender v 2.80 to get more!!=
For some reason the exported FBX file is not organized in a way so you will get the shape-keys imported directly to UE4. However when you follow the next steps, you will not get the correct materials imported, so I recommend that you run FBX import as shown above, and save the textures/materials in a separate folder.
If you are new to Blender please run a few tutorials specifically on on how to import/export, and also get to know about collections - you can do a lot in Blender and you can get confused!
==What will be done here?==
I will show you how to:
* Import your MHX2 files, to preserve the shape-keys
* Export FBX files, so UE4 will import correctly with morph-targets
* Apply expressions etc. to your base character
* Import these to your Blender file and apply the expressions as '''new shape keys'''
==But, first import and inspect FBX and MHX2!==
As you may remember you exported two files, the FBX file and the MHX2 file. You want to import both of these files into Blender, so you need two Collections, called FBX and MHX2. You right-click on the 'Scene collection' select 'New' and rename the collections to 'FBX' and 'MHX2'... I also added Scene collection and dragged the Camera and Light there (as I deleted the box). After this you should see something link this (the small Icons may be different):
[[File:MH-Base-Blender-setup.png]]
When you import your FBX file select/highlight the FBX collection, so the FBX data get imported into that collection. You can use the standard import options. For MHX2 you need to change the setting to match those you see below - when you find they are correct you can click the + sign, marked with a yellow arrow, and save the setting with your own setting-name.
(You may notice that the character you imported is out of proportions, some 17-18 meters high, we will correct that when we export to UE4!)
[[File:MH-Blender-FBX-import-options.png]]
===Inspect the results, in Blender===
Now is a good time to save the Blender file. You should save this in the same folder as the FBX and MHX2. I call this file averagedude-base.blend.
If you did this approximately as described the result should be munch like below. And you will probably notice that there is some structural differences. You can see that by looking at the small icons [[File:MH-Blender-base-imported-icons.png]], that represent where modifiers, vertex groups and Object data is stored! Specifically the Object data holds the shape-keys and those were not imported. (perhaps because I did not use the correct FBX import options - but the same happens in UE4!).
[[File:MH-Blender-base-imported.png]]
You will notice that the MHX2 version of your character holds the Object data (the triangle) and that shape-keys can be seen there!
==Export the FBX for your base character, and import to UE4==
The next step is crucial for getting things to work in UE4, it is not very complicated but you need to have a plan.
When you did this correctly you should be able to get the following results:
* Import your base character into UE4
* Create retargeting for your common skeleton - called MH_Skeleton
* Retarget the Maniqin animations to your base character(s)
* Get additional Mixamo animations
===FBX export settings===
'''Important!''' Before you go any further you should rename your base character to '''main_root''', like this:
[[File:MH-Base-FBX-main-root.png]]
.... you should do this for all base characters! main_root will be the root bone in your skeleton. When you do it like this, all of your base characters will be able to share the same skeleton!
Now select the MHX2 collection where you have the character, and go to Export FBX.
I have made a 'Operator preset' for the FBX export, this is the options you need to set:
[[File:MH-Base-FBX-operator-presets.png]]
Place the FBX file in the same folder as where you placed the original FBX and the MHX2. You probably do not need the FBX that you made with Makehuman, and you can always make it again?
(You may however want to export more FBX files from Makehuman, simply to get all of the textures. We will look more into how you can use the skin textures!)
==UE4 import, and retarget ==
Go to your UE4 project and make a MH folder containing a new avaragedude folder, and import your base character there!
Observe that this character looks very much like the one you did already import from the original FBX, there are little difference - yet you want to set up this as your real base character.
Also you want to rename the skeleton to '''MH_Skeleton'''! And you want to open the skeleton, and retarget it to the humanoid rig... this should look like this:
[[File:MH-Base-Skeleton-Retarget.png]]
Make sure that your character is in T-Pose, as you want to retarget the Mannequin animations to your characters MH_Skeleton!
Make a animation folder in your MH, perhaps even Mannequin folder?
You go to the UE4 folder: Content/Mannequin/Animations and right-click on this animation: '''ThirdPerson_AnimBP'''
Select retarget and choose MH_Skeleton as your target - also select the animation folder you made before, something like this:
[[File:MH-Base-Animation-Retarget.png]]
You may want to rename your new ThirdPerson_AnimBP to '''''MH''_ThirdPerson_AnimBP''' - or perhaps simply MH_AnimBP?
=More shape keys, made in Blender 2.8=
I have not yet made any target in MH, also I have not had much luck in using the two blender addons. Frankly I don't really understand what the different buttons does, most of them are not active... perhaps they make sens if you use Blender a lot?
But I will show you different ways to get expressions, targets and skeleton animations(!) to shape keys, so then will be new morph targets in UE4!
Before you get started you should probably look at a few Blender tutorials regarding this - these are good:
===Tutorials===
General introduction to MHX2 import and animation. However '''do not''' import the resulting characters into UE4?
{{#ev:youtube|2P1t_nogbGs}}
Short general introduction to using shape keys in Blender 2.8:
{{#ev:youtube|e675Ulc7QL4}}
==Expressions and targets==
Make sure that you have your original base character saved and load it into Makehuman. Remember to check that your base character is in the T-Pose, do not change that!
'''Just in case:''' I recommend that you keep a copy of this file as well as all the blender file etc.
You should also have Blender open and load the .blender file where you saved both your FBX and the MHX2.
Before you go on do as follows: move the MHX2 character to x 10m, so the entire character moves to the left (right to your front view) - this will make it more easy for you to work with! (Save the blender file!)
'''This is the general workflow for transfer of expressions:'''
Makehuman:
* Go to the Pose/Animate tab and select Expressions. From the list select the first expression, Anger01.
* Save the character as .mhx2 - but to a different file name: averagedude-base-expression.mhx2.
Blender:
* In blender, deselect all the collections
* Import the file you made, using the same operator presets as yo saved them.
* Activate your Base character collection and you will have two characters side by side - one base character and a very angry one!
* Go to object mode
* '''Left-click-select''' the angry guy first, then '''shift-left-click''' your base character.
* Go to the vertex tab/shape key, and click on the little down arrow, and select the ''Join as shapes'' - like this:
[[File:MH-Blender-shapekey1.png]]
This will make a brand new shape key: Averagedude_base_expression:Proxy
* You rename the shape key by a double-click and call it '''Anger01'''..
* ... and assign the Vertex group to head
[[File:MH-Blender-shapekey2.png]]
278b38eadbaa04dec9efc1ecfffcbcbe48ecacea
1697
1695
2020-02-27T18:06:13Z
Assetdk
89
/* Expressions and targets */
wikitext
text/x-wiki
=What can and can't be done?=
I have been working on getting different characters into UE4 for some time, and this have been a real hassle!
On this page I want to summarize what I managed to get done using a workflow that involves Blender. I have had a focus on not going into much details regarding any of the tools, but you will need to know a few things. Even though this looks like a trivial task there are some pitfalls and also there are some things that can not be done, or I have just not found out how to. I will eventually also add links to all the YT tutorials I found helpful.
I found that working with Makehuman very easy, so focus will be very UE4 how to specific.
This is what I will cover thus far:
* Create and save any MH character in Makehuman. Basic stuff, and important things to avoid.
* Getting the character into Blender - import or link?
* Setup Blender for Export, shape keys and morph targets
* First import into UE4
* Introduction to more shape keys
* Get the Cloth working
* Mixamo animations
This is the stuff that I did not cover - yet:
* Animations for talking (other tutorials may help)
* Making custom cloth
* Hair
This is the stuff I can not get to work:
* Retargeting to Advanced Locomotion System V3/4
=Getting started=
I wanted a quick way to populate a UE4 game, preferably with an unlimited number of varied characters of high quality. This has proven to be a bit harder than expected. The workflow for making characters is not as trivial as one would want but this guide should make it a bit more easy to do. I will focus on describing the "straight" path from Makehuman and into UE4 - so you will not find too much details about Blender. Please refer to Blender specific pages for more on that.
==Need to know==
There are a few terms that you need to know, say you need to know that you will import FBX, textures and other files into UE4. Also you will need to know that a Character consists of a '''Mesh''', a '''Skeleton''' and '''''materials''''' (that refers to textures). I will try to elaborate on these subjects as we go along...
==Making a base-character==
Makehuman provides a range of predefined characters that is supposed to work as-is. You can just load a character, export it to FBX and import that into UE4 - and after a bit of work you can have a working player character! There are however a few pitfalls, so I suggest you make one (or more) base-character(s) that you can elaborate on as you go along. I will be working with ''''''averagedude'''''' as my base-character.
These are the steps to make the base characters:
* Open Makehuman
* Select the files tab and load the character
'''Under 'Geometries''''
* Remove cloth - (uncheck Hide faces under cloth)!
* Remove hair
* Add Teeth
* Choose Topology - '''I have no advice on this - but see comment below!'''
* Chose Eyebrows/Eyelashes, these can be changed as you go along - as can eye colors!
* Add Tongue01 (again I have no advice/recommendation on that, yet)
'''Under 'Materials'''' - I will show you how to work with UE4 "advanced" materials:
* Chose any skin that you like,
* Chose any eyes that you like
'''Under 'Pose/Animate''''
* Chose Skeleton: Uengine - if you do not have this already you my get it via the community tab?
* Chose Pose: Tpose (the last one on the list)
* Chose Expressions: none
And this is it! But there is one 'important' option you need know about - you need to '''uncheck''' the Smooth button!
The smooth button/option: [[File:MH-Smooth-option.png]] should be unchecked... that will make your character a bit less attractive, but this will preserve the shape-keys!
Makehuman comes with some 50-60 '''shape-keys''' and these will all be available as '''morph-targets''' in UE4. I will show you how to make more shape-keys, using makehuman+blender!
Now it is time to save your base-character - even though you have made very few changes to the file you should save this file under the save tab and name it
<your-name>-base (say averagedude-base), you can even add your very own tag 'base' to this.
When you save the file like this you will be able to reload it, and we need that later!
====Choose Topology/Shape keys====
When you make your base character without smoothing you get shape keys, and you want to share these between different characters. Specifically you would probably want to share face morphs between male and female characters - and there may be other base character variations, say old/young/child etc.
Later I will focus on how to make new shape keys, using blender - depending on how you want to do this you may want to '''chose Topology that is compatible between the different characters!''' That is you may be able to transfer one "shape" from a male character to a female character, but the result will depend on ''topology compatibility''. I will/may thus update this section to make sure
'''Shape key names''' will be the same for all of the base characters, as they come from - however you will be able to make new keys. You must name these keys the same for all MH characters, like these share the same skeleton (MH_Skelton) they must hold all the same shape keys names. If they don't your game may "break"....
===Export your base-character===
You can now take a break - or you can export your work. There are really tree options for you to look at:
* Save the FBX file directly
* Save a MHX2 file (you may need to install this as a option/utility, find our elsewhere!)
* Load the character to '''Blender''' directly via the link (I will get back to what can be done using that!)
I suggest that you save your base-character now, in both formats - FBX and MHX2! Make a specific 'Base-Characters' folder, because you will need it!
When you export the FBX use these options:
[[File:MH-FBX-export-options.png]]
This is the result for me, you should see something like this also:
[[File:MH-Base-Character-Folder.png]]
You should also see that there is a sub-folder, called Textures - this is where the different textures are saved and it should now look like this:
[[File:MH-Base-Character-Folder-textures.png]]
You can now go over all of the different textures, so you will have a wide selection to chose from. Textures are saved every time you save a FBX file!
Say, I change the base-characters textures, saved the FBX - and this is what I got:
[[File:MH-Base-Character-Folder-textures2.png]]
===Import your base-character to UE4 - FBX===
The FBX file will actually import directly to UE4, but there are a few problems! You should export your FBX file as Binary FBX, and you will get the most out of it. After this you can get to this result (after adjusting the materials, as seen below):
[[File:MH-MH-FBX-imported.png]]
Your character can look like this (after adjusting materials) - pretty good:
[[File:MH-MH-FBX-imported-materials.png]]
'''HOWEVER, you have lost the morph-targets! And as you probably noticed, the UE4 standard FBX import do import them!'''
I will get back to what to do about the shape-keys... but let make the materials first?
==Makehuman UE4 materials==
When you import the FBX made you exported from Makehuman, both textures and materials are made. You will also notice that UE4 will try to match the materials correctly to the material slots, as seen above in the 'Asset Details' of, in my case, averagedude-base (do not worry about the physics and the skeleton yet!).
To get you started, we need to take a look at the Eye, Eyelashes and Eyebrow materials...
===Eye materials===
First you can rename the '''high-poly''' material '''high-poly-''blue-eye''''' - or to whatever color you chose! You will probably make more eye materials.
Next you can double-click the material, to open the material-editor and change it to look something like this:
[[File:MH-UE4-Eye-material.png]]
===Eyelashes and Eyebrow materials===
Likewise you can set up the eyelashes, and the eyebrows are the same only you do not need ''two sided'' for the bows:
[[File:MH-UE4-Eyelashes-material.png]]
!?You may want to play with the shading model.
===More materials?===
You can simply drag and drop more textures from the the base-character/textures folder, then duplicate and rename the materials, and apply different textures to the renamed materials. At some point I want to be able to customize/randomize (NPC) characters, but I have not yet done that.
Also you can make materials instances with parameters... I will show you howto, but first we need to turn shape-keys into morph-targets.
=Use Blender v 2.80 to get more!!=
For some reason the exported FBX file is not organized in a way so you will get the shape-keys imported directly to UE4. However when you follow the next steps, you will not get the correct materials imported, so I recommend that you run FBX import as shown above, and save the textures/materials in a separate folder.
If you are new to Blender please run a few tutorials specifically on on how to import/export, and also get to know about collections - you can do a lot in Blender and you can get confused!
==What will be done here?==
I will show you how to:
* Import your MHX2 files, to preserve the shape-keys
* Export FBX files, so UE4 will import correctly with morph-targets
* Apply expressions etc. to your base character
* Import these to your Blender file and apply the expressions as '''new shape keys'''
==But, first import and inspect FBX and MHX2!==
As you may remember you exported two files, the FBX file and the MHX2 file. You want to import both of these files into Blender, so you need two Collections, called FBX and MHX2. You right-click on the 'Scene collection' select 'New' and rename the collections to 'FBX' and 'MHX2'... I also added Scene collection and dragged the Camera and Light there (as I deleted the box). After this you should see something link this (the small Icons may be different):
[[File:MH-Base-Blender-setup.png]]
When you import your FBX file select/highlight the FBX collection, so the FBX data get imported into that collection. You can use the standard import options. For MHX2 you need to change the setting to match those you see below - when you find they are correct you can click the + sign, marked with a yellow arrow, and save the setting with your own setting-name.
(You may notice that the character you imported is out of proportions, some 17-18 meters high, we will correct that when we export to UE4!)
[[File:MH-Blender-FBX-import-options.png]]
===Inspect the results, in Blender===
Now is a good time to save the Blender file. You should save this in the same folder as the FBX and MHX2. I call this file averagedude-base.blend.
If you did this approximately as described the result should be munch like below. And you will probably notice that there is some structural differences. You can see that by looking at the small icons [[File:MH-Blender-base-imported-icons.png]], that represent where modifiers, vertex groups and Object data is stored! Specifically the Object data holds the shape-keys and those were not imported. (perhaps because I did not use the correct FBX import options - but the same happens in UE4!).
[[File:MH-Blender-base-imported.png]]
You will notice that the MHX2 version of your character holds the Object data (the triangle) and that shape-keys can be seen there!
==Export the FBX for your base character, and import to UE4==
The next step is crucial for getting things to work in UE4, it is not very complicated but you need to have a plan.
When you did this correctly you should be able to get the following results:
* Import your base character into UE4
* Create retargeting for your common skeleton - called MH_Skeleton
* Retarget the Maniqin animations to your base character(s)
* Get additional Mixamo animations
===FBX export settings===
'''Important!''' Before you go any further you should rename your base character to '''main_root''', like this:
[[File:MH-Base-FBX-main-root.png]]
.... you should do this for all base characters! main_root will be the root bone in your skeleton. When you do it like this, all of your base characters will be able to share the same skeleton!
Now select the MHX2 collection where you have the character, and go to Export FBX.
I have made a 'Operator preset' for the FBX export, this is the options you need to set:
[[File:MH-Base-FBX-operator-presets.png]]
Place the FBX file in the same folder as where you placed the original FBX and the MHX2. You probably do not need the FBX that you made with Makehuman, and you can always make it again?
(You may however want to export more FBX files from Makehuman, simply to get all of the textures. We will look more into how you can use the skin textures!)
==UE4 import, and retarget ==
Go to your UE4 project and make a MH folder containing a new avaragedude folder, and import your base character there!
Observe that this character looks very much like the one you did already import from the original FBX, there are little difference - yet you want to set up this as your real base character.
Also you want to rename the skeleton to '''MH_Skeleton'''! And you want to open the skeleton, and retarget it to the humanoid rig... this should look like this:
[[File:MH-Base-Skeleton-Retarget.png]]
Make sure that your character is in T-Pose, as you want to retarget the Mannequin animations to your characters MH_Skeleton!
Make a animation folder in your MH, perhaps even Mannequin folder?
You go to the UE4 folder: Content/Mannequin/Animations and right-click on this animation: '''ThirdPerson_AnimBP'''
Select retarget and choose MH_Skeleton as your target - also select the animation folder you made before, something like this:
[[File:MH-Base-Animation-Retarget.png]]
You may want to rename your new ThirdPerson_AnimBP to '''''MH''_ThirdPerson_AnimBP''' - or perhaps simply MH_AnimBP?
=More shape keys, made in Blender 2.8=
I have not yet made any target in MH, also I have not had much luck in using the two blender addons. Frankly I don't really understand what the different buttons does, most of them are not active... perhaps they make sens if you use Blender a lot?
But I will show you different ways to get expressions, targets and skeleton animations(!) to shape keys, so then will be new morph targets in UE4!
Before you get started you should probably look at a few Blender tutorials regarding this - these are good:
===Tutorials===
General introduction to MHX2 import and animation. However '''do not''' import the resulting characters into UE4?
{{#ev:youtube|2P1t_nogbGs}}
Short general introduction to using shape keys in Blender 2.8:
{{#ev:youtube|e675Ulc7QL4}}
==Expressions and targets==
Make sure that you have your original base character saved and load it into Makehuman. Remember to check that your base character is in the T-Pose, do not change that!
'''Just in case:''' I recommend that you keep a copy of this file as well as all the blender file etc.
You should also have Blender open and load the .blender file where you saved both your FBX and the MHX2.
Before you go on do as follows: move the MHX2 character to x 10m, so the entire character moves to the left (right to your front view) - this will make it more easy for you to work with! (Save the blender file!)
'''This is the general workflow for transfer of expressions:'''
Makehuman:
* Go to the Pose/Animate tab and select Expressions. From the list select the first expression, Anger01.
* Save the character as .mhx2 - but to a different file name: averagedude-base-expression.mhx2.
Blender:
* In blender, deselect all the collections
* Import the file you made, using the same operator presets as yo saved them.
* Activate your Base character collection and you will have two characters side by side - one base character and a very angry one!
* Go to object mode
* '''Left-click-select''' the angry guy first, then '''shift-left-click''' your base character.
* Go to the vertex tab/shape key, and click on the little down arrow - like this:
[[File:MH-Blender-shapekey1.png]]
213d24f4ea4291c0be47e53fe1ab09cb7be14e70
1695
1694
2020-02-27T17:57:38Z
Assetdk
89
/* Expressions and targets */
wikitext
text/x-wiki
=What can and can't be done?=
I have been working on getting different characters into UE4 for some time, and this have been a real hassle!
On this page I want to summarize what I managed to get done using a workflow that involves Blender. I have had a focus on not going into much details regarding any of the tools, but you will need to know a few things. Even though this looks like a trivial task there are some pitfalls and also there are some things that can not be done, or I have just not found out how to. I will eventually also add links to all the YT tutorials I found helpful.
I found that working with Makehuman very easy, so focus will be very UE4 how to specific.
This is what I will cover thus far:
* Create and save any MH character in Makehuman. Basic stuff, and important things to avoid.
* Getting the character into Blender - import or link?
* Setup Blender for Export, shape keys and morph targets
* First import into UE4
* Introduction to more shape keys
* Get the Cloth working
* Mixamo animations
This is the stuff that I did not cover - yet:
* Animations for talking (other tutorials may help)
* Making custom cloth
* Hair
This is the stuff I can not get to work:
* Retargeting to Advanced Locomotion System V3/4
=Getting started=
I wanted a quick way to populate a UE4 game, preferably with an unlimited number of varied characters of high quality. This has proven to be a bit harder than expected. The workflow for making characters is not as trivial as one would want but this guide should make it a bit more easy to do. I will focus on describing the "straight" path from Makehuman and into UE4 - so you will not find too much details about Blender. Please refer to Blender specific pages for more on that.
==Need to know==
There are a few terms that you need to know, say you need to know that you will import FBX, textures and other files into UE4. Also you will need to know that a Character consists of a '''Mesh''', a '''Skeleton''' and '''''materials''''' (that refers to textures). I will try to elaborate on these subjects as we go along...
==Making a base-character==
Makehuman provides a range of predefined characters that is supposed to work as-is. You can just load a character, export it to FBX and import that into UE4 - and after a bit of work you can have a working player character! There are however a few pitfalls, so I suggest you make one (or more) base-character(s) that you can elaborate on as you go along. I will be working with ''''''averagedude'''''' as my base-character.
These are the steps to make the base characters:
* Open Makehuman
* Select the files tab and load the character
'''Under 'Geometries''''
* Remove cloth - (uncheck Hide faces under cloth)!
* Remove hair
* Add Teeth
* Choose Topology - '''I have no advice on this - but see comment below!'''
* Chose Eyebrows/Eyelashes, these can be changed as you go along - as can eye colors!
* Add Tongue01 (again I have no advice/recommendation on that, yet)
'''Under 'Materials'''' - I will show you how to work with UE4 "advanced" materials:
* Chose any skin that you like,
* Chose any eyes that you like
'''Under 'Pose/Animate''''
* Chose Skeleton: Uengine - if you do not have this already you my get it via the community tab?
* Chose Pose: Tpose (the last one on the list)
* Chose Expressions: none
And this is it! But there is one 'important' option you need know about - you need to '''uncheck''' the Smooth button!
The smooth button/option: [[File:MH-Smooth-option.png]] should be unchecked... that will make your character a bit less attractive, but this will preserve the shape-keys!
Makehuman comes with some 50-60 '''shape-keys''' and these will all be available as '''morph-targets''' in UE4. I will show you how to make more shape-keys, using makehuman+blender!
Now it is time to save your base-character - even though you have made very few changes to the file you should save this file under the save tab and name it
<your-name>-base (say averagedude-base), you can even add your very own tag 'base' to this.
When you save the file like this you will be able to reload it, and we need that later!
====Choose Topology/Shape keys====
When you make your base character without smoothing you get shape keys, and you want to share these between different characters. Specifically you would probably want to share face morphs between male and female characters - and there may be other base character variations, say old/young/child etc.
Later I will focus on how to make new shape keys, using blender - depending on how you want to do this you may want to '''chose Topology that is compatible between the different characters!''' That is you may be able to transfer one "shape" from a male character to a female character, but the result will depend on ''topology compatibility''. I will/may thus update this section to make sure
'''Shape key names''' will be the same for all of the base characters, as they come from - however you will be able to make new keys. You must name these keys the same for all MH characters, like these share the same skeleton (MH_Skelton) they must hold all the same shape keys names. If they don't your game may "break"....
===Export your base-character===
You can now take a break - or you can export your work. There are really tree options for you to look at:
* Save the FBX file directly
* Save a MHX2 file (you may need to install this as a option/utility, find our elsewhere!)
* Load the character to '''Blender''' directly via the link (I will get back to what can be done using that!)
I suggest that you save your base-character now, in both formats - FBX and MHX2! Make a specific 'Base-Characters' folder, because you will need it!
When you export the FBX use these options:
[[File:MH-FBX-export-options.png]]
This is the result for me, you should see something like this also:
[[File:MH-Base-Character-Folder.png]]
You should also see that there is a sub-folder, called Textures - this is where the different textures are saved and it should now look like this:
[[File:MH-Base-Character-Folder-textures.png]]
You can now go over all of the different textures, so you will have a wide selection to chose from. Textures are saved every time you save a FBX file!
Say, I change the base-characters textures, saved the FBX - and this is what I got:
[[File:MH-Base-Character-Folder-textures2.png]]
===Import your base-character to UE4 - FBX===
The FBX file will actually import directly to UE4, but there are a few problems! You should export your FBX file as Binary FBX, and you will get the most out of it. After this you can get to this result (after adjusting the materials, as seen below):
[[File:MH-MH-FBX-imported.png]]
Your character can look like this (after adjusting materials) - pretty good:
[[File:MH-MH-FBX-imported-materials.png]]
'''HOWEVER, you have lost the morph-targets! And as you probably noticed, the UE4 standard FBX import do import them!'''
I will get back to what to do about the shape-keys... but let make the materials first?
==Makehuman UE4 materials==
When you import the FBX made you exported from Makehuman, both textures and materials are made. You will also notice that UE4 will try to match the materials correctly to the material slots, as seen above in the 'Asset Details' of, in my case, averagedude-base (do not worry about the physics and the skeleton yet!).
To get you started, we need to take a look at the Eye, Eyelashes and Eyebrow materials...
===Eye materials===
First you can rename the '''high-poly''' material '''high-poly-''blue-eye''''' - or to whatever color you chose! You will probably make more eye materials.
Next you can double-click the material, to open the material-editor and change it to look something like this:
[[File:MH-UE4-Eye-material.png]]
===Eyelashes and Eyebrow materials===
Likewise you can set up the eyelashes, and the eyebrows are the same only you do not need ''two sided'' for the bows:
[[File:MH-UE4-Eyelashes-material.png]]
!?You may want to play with the shading model.
===More materials?===
You can simply drag and drop more textures from the the base-character/textures folder, then duplicate and rename the materials, and apply different textures to the renamed materials. At some point I want to be able to customize/randomize (NPC) characters, but I have not yet done that.
Also you can make materials instances with parameters... I will show you howto, but first we need to turn shape-keys into morph-targets.
=Use Blender v 2.80 to get more!!=
For some reason the exported FBX file is not organized in a way so you will get the shape-keys imported directly to UE4. However when you follow the next steps, you will not get the correct materials imported, so I recommend that you run FBX import as shown above, and save the textures/materials in a separate folder.
If you are new to Blender please run a few tutorials specifically on on how to import/export, and also get to know about collections - you can do a lot in Blender and you can get confused!
==What will be done here?==
I will show you how to:
* Import your MHX2 files, to preserve the shape-keys
* Export FBX files, so UE4 will import correctly with morph-targets
* Apply expressions etc. to your base character
* Import these to your Blender file and apply the expressions as '''new shape keys'''
==But, first import and inspect FBX and MHX2!==
As you may remember you exported two files, the FBX file and the MHX2 file. You want to import both of these files into Blender, so you need two Collections, called FBX and MHX2. You right-click on the 'Scene collection' select 'New' and rename the collections to 'FBX' and 'MHX2'... I also added Scene collection and dragged the Camera and Light there (as I deleted the box). After this you should see something link this (the small Icons may be different):
[[File:MH-Base-Blender-setup.png]]
When you import your FBX file select/highlight the FBX collection, so the FBX data get imported into that collection. You can use the standard import options. For MHX2 you need to change the setting to match those you see below - when you find they are correct you can click the + sign, marked with a yellow arrow, and save the setting with your own setting-name.
(You may notice that the character you imported is out of proportions, some 17-18 meters high, we will correct that when we export to UE4!)
[[File:MH-Blender-FBX-import-options.png]]
===Inspect the results, in Blender===
Now is a good time to save the Blender file. You should save this in the same folder as the FBX and MHX2. I call this file averagedude-base.blend.
If you did this approximately as described the result should be munch like below. And you will probably notice that there is some structural differences. You can see that by looking at the small icons [[File:MH-Blender-base-imported-icons.png]], that represent where modifiers, vertex groups and Object data is stored! Specifically the Object data holds the shape-keys and those were not imported. (perhaps because I did not use the correct FBX import options - but the same happens in UE4!).
[[File:MH-Blender-base-imported.png]]
You will notice that the MHX2 version of your character holds the Object data (the triangle) and that shape-keys can be seen there!
==Export the FBX for your base character, and import to UE4==
The next step is crucial for getting things to work in UE4, it is not very complicated but you need to have a plan.
When you did this correctly you should be able to get the following results:
* Import your base character into UE4
* Create retargeting for your common skeleton - called MH_Skeleton
* Retarget the Maniqin animations to your base character(s)
* Get additional Mixamo animations
===FBX export settings===
'''Important!''' Before you go any further you should rename your base character to '''main_root''', like this:
[[File:MH-Base-FBX-main-root.png]]
.... you should do this for all base characters! main_root will be the root bone in your skeleton. When you do it like this, all of your base characters will be able to share the same skeleton!
Now select the MHX2 collection where you have the character, and go to Export FBX.
I have made a 'Operator preset' for the FBX export, this is the options you need to set:
[[File:MH-Base-FBX-operator-presets.png]]
Place the FBX file in the same folder as where you placed the original FBX and the MHX2. You probably do not need the FBX that you made with Makehuman, and you can always make it again?
(You may however want to export more FBX files from Makehuman, simply to get all of the textures. We will look more into how you can use the skin textures!)
==UE4 import, and retarget ==
Go to your UE4 project and make a MH folder containing a new avaragedude folder, and import your base character there!
Observe that this character looks very much like the one you did already import from the original FBX, there are little difference - yet you want to set up this as your real base character.
Also you want to rename the skeleton to '''MH_Skeleton'''! And you want to open the skeleton, and retarget it to the humanoid rig... this should look like this:
[[File:MH-Base-Skeleton-Retarget.png]]
Make sure that your character is in T-Pose, as you want to retarget the Mannequin animations to your characters MH_Skeleton!
Make a animation folder in your MH, perhaps even Mannequin folder?
You go to the UE4 folder: Content/Mannequin/Animations and right-click on this animation: '''ThirdPerson_AnimBP'''
Select retarget and choose MH_Skeleton as your target - also select the animation folder you made before, something like this:
[[File:MH-Base-Animation-Retarget.png]]
You may want to rename your new ThirdPerson_AnimBP to '''''MH''_ThirdPerson_AnimBP''' - or perhaps simply MH_AnimBP?
=More shape keys, made in Blender 2.8=
I have not yet made any target in MH, also I have not had much luck in using the two blender addons. Frankly I don't really understand what the different buttons does, most of them are not active... perhaps they make sens if you use Blender a lot?
But I will show you different ways to get expressions, targets and skeleton animations(!) to shape keys, so then will be new morph targets in UE4!
Before you get started you should probably look at a few Blender tutorials regarding this - these are good:
===Tutorials===
General introduction to MHX2 import and animation. However '''do not''' import the resulting characters into UE4?
{{#ev:youtube|2P1t_nogbGs}}
Short general introduction to using shape keys in Blender 2.8:
{{#ev:youtube|e675Ulc7QL4}}
==Expressions and targets==
Make sure that you have your original base character saved and load it into Makehuman. Remember to check that your base character is in the T-Pose, do not change that!
'''Just in case:''' I recommend that you keep a copy of this file as well as all the blender file etc.
You should also have Blender open and load the .blender file where you saved both your FBX and the MHX2.
Before you go on do as follows: move the MHX2 character to x 10m, so the entire character moves to the left (right to your front view) - this will make it more easy for you to work with! (Save the blender file!)
'''This is the general workflow for transfer of expressions:'''
Makehuman:
* Go to the Pose/Animate tab and select Expressions. From the list select the first expression, Anger01.
* Save the character as .mhx2 - but to a different file name: averagedude-base-expression.mhx2.
Blender:
* In blender, deselect all the collections
* Import the file you made, using the same operator presets as yo saved them.
* Activate your Base character collection and you will have two characters side by side - one base character and a very angry one!
* Go to object mode
* '''Left-click-select''' the angry guy first, then '''shift-left-click''' your base character.
* Go to the vertex tab/shape key, and click on the little down arrow
6f3ee8fc6664ec8485b577fdc422b18783e6bcba
1694
1693
2020-02-27T17:24:09Z
Assetdk
89
/* More shape keys, made in Blender 2.8 */
wikitext
text/x-wiki
=What can and can't be done?=
I have been working on getting different characters into UE4 for some time, and this have been a real hassle!
On this page I want to summarize what I managed to get done using a workflow that involves Blender. I have had a focus on not going into much details regarding any of the tools, but you will need to know a few things. Even though this looks like a trivial task there are some pitfalls and also there are some things that can not be done, or I have just not found out how to. I will eventually also add links to all the YT tutorials I found helpful.
I found that working with Makehuman very easy, so focus will be very UE4 how to specific.
This is what I will cover thus far:
* Create and save any MH character in Makehuman. Basic stuff, and important things to avoid.
* Getting the character into Blender - import or link?
* Setup Blender for Export, shape keys and morph targets
* First import into UE4
* Introduction to more shape keys
* Get the Cloth working
* Mixamo animations
This is the stuff that I did not cover - yet:
* Animations for talking (other tutorials may help)
* Making custom cloth
* Hair
This is the stuff I can not get to work:
* Retargeting to Advanced Locomotion System V3/4
=Getting started=
I wanted a quick way to populate a UE4 game, preferably with an unlimited number of varied characters of high quality. This has proven to be a bit harder than expected. The workflow for making characters is not as trivial as one would want but this guide should make it a bit more easy to do. I will focus on describing the "straight" path from Makehuman and into UE4 - so you will not find too much details about Blender. Please refer to Blender specific pages for more on that.
==Need to know==
There are a few terms that you need to know, say you need to know that you will import FBX, textures and other files into UE4. Also you will need to know that a Character consists of a '''Mesh''', a '''Skeleton''' and '''''materials''''' (that refers to textures). I will try to elaborate on these subjects as we go along...
==Making a base-character==
Makehuman provides a range of predefined characters that is supposed to work as-is. You can just load a character, export it to FBX and import that into UE4 - and after a bit of work you can have a working player character! There are however a few pitfalls, so I suggest you make one (or more) base-character(s) that you can elaborate on as you go along. I will be working with ''''''averagedude'''''' as my base-character.
These are the steps to make the base characters:
* Open Makehuman
* Select the files tab and load the character
'''Under 'Geometries''''
* Remove cloth - (uncheck Hide faces under cloth)!
* Remove hair
* Add Teeth
* Choose Topology - '''I have no advice on this - but see comment below!'''
* Chose Eyebrows/Eyelashes, these can be changed as you go along - as can eye colors!
* Add Tongue01 (again I have no advice/recommendation on that, yet)
'''Under 'Materials'''' - I will show you how to work with UE4 "advanced" materials:
* Chose any skin that you like,
* Chose any eyes that you like
'''Under 'Pose/Animate''''
* Chose Skeleton: Uengine - if you do not have this already you my get it via the community tab?
* Chose Pose: Tpose (the last one on the list)
* Chose Expressions: none
And this is it! But there is one 'important' option you need know about - you need to '''uncheck''' the Smooth button!
The smooth button/option: [[File:MH-Smooth-option.png]] should be unchecked... that will make your character a bit less attractive, but this will preserve the shape-keys!
Makehuman comes with some 50-60 '''shape-keys''' and these will all be available as '''morph-targets''' in UE4. I will show you how to make more shape-keys, using makehuman+blender!
Now it is time to save your base-character - even though you have made very few changes to the file you should save this file under the save tab and name it
<your-name>-base (say averagedude-base), you can even add your very own tag 'base' to this.
When you save the file like this you will be able to reload it, and we need that later!
====Choose Topology/Shape keys====
When you make your base character without smoothing you get shape keys, and you want to share these between different characters. Specifically you would probably want to share face morphs between male and female characters - and there may be other base character variations, say old/young/child etc.
Later I will focus on how to make new shape keys, using blender - depending on how you want to do this you may want to '''chose Topology that is compatible between the different characters!''' That is you may be able to transfer one "shape" from a male character to a female character, but the result will depend on ''topology compatibility''. I will/may thus update this section to make sure
'''Shape key names''' will be the same for all of the base characters, as they come from - however you will be able to make new keys. You must name these keys the same for all MH characters, like these share the same skeleton (MH_Skelton) they must hold all the same shape keys names. If they don't your game may "break"....
===Export your base-character===
You can now take a break - or you can export your work. There are really tree options for you to look at:
* Save the FBX file directly
* Save a MHX2 file (you may need to install this as a option/utility, find our elsewhere!)
* Load the character to '''Blender''' directly via the link (I will get back to what can be done using that!)
I suggest that you save your base-character now, in both formats - FBX and MHX2! Make a specific 'Base-Characters' folder, because you will need it!
When you export the FBX use these options:
[[File:MH-FBX-export-options.png]]
This is the result for me, you should see something like this also:
[[File:MH-Base-Character-Folder.png]]
You should also see that there is a sub-folder, called Textures - this is where the different textures are saved and it should now look like this:
[[File:MH-Base-Character-Folder-textures.png]]
You can now go over all of the different textures, so you will have a wide selection to chose from. Textures are saved every time you save a FBX file!
Say, I change the base-characters textures, saved the FBX - and this is what I got:
[[File:MH-Base-Character-Folder-textures2.png]]
===Import your base-character to UE4 - FBX===
The FBX file will actually import directly to UE4, but there are a few problems! You should export your FBX file as Binary FBX, and you will get the most out of it. After this you can get to this result (after adjusting the materials, as seen below):
[[File:MH-MH-FBX-imported.png]]
Your character can look like this (after adjusting materials) - pretty good:
[[File:MH-MH-FBX-imported-materials.png]]
'''HOWEVER, you have lost the morph-targets! And as you probably noticed, the UE4 standard FBX import do import them!'''
I will get back to what to do about the shape-keys... but let make the materials first?
==Makehuman UE4 materials==
When you import the FBX made you exported from Makehuman, both textures and materials are made. You will also notice that UE4 will try to match the materials correctly to the material slots, as seen above in the 'Asset Details' of, in my case, averagedude-base (do not worry about the physics and the skeleton yet!).
To get you started, we need to take a look at the Eye, Eyelashes and Eyebrow materials...
===Eye materials===
First you can rename the '''high-poly''' material '''high-poly-''blue-eye''''' - or to whatever color you chose! You will probably make more eye materials.
Next you can double-click the material, to open the material-editor and change it to look something like this:
[[File:MH-UE4-Eye-material.png]]
===Eyelashes and Eyebrow materials===
Likewise you can set up the eyelashes, and the eyebrows are the same only you do not need ''two sided'' for the bows:
[[File:MH-UE4-Eyelashes-material.png]]
!?You may want to play with the shading model.
===More materials?===
You can simply drag and drop more textures from the the base-character/textures folder, then duplicate and rename the materials, and apply different textures to the renamed materials. At some point I want to be able to customize/randomize (NPC) characters, but I have not yet done that.
Also you can make materials instances with parameters... I will show you howto, but first we need to turn shape-keys into morph-targets.
=Use Blender v 2.80 to get more!!=
For some reason the exported FBX file is not organized in a way so you will get the shape-keys imported directly to UE4. However when you follow the next steps, you will not get the correct materials imported, so I recommend that you run FBX import as shown above, and save the textures/materials in a separate folder.
If you are new to Blender please run a few tutorials specifically on on how to import/export, and also get to know about collections - you can do a lot in Blender and you can get confused!
==What will be done here?==
I will show you how to:
* Import your MHX2 files, to preserve the shape-keys
* Export FBX files, so UE4 will import correctly with morph-targets
* Apply expressions etc. to your base character
* Import these to your Blender file and apply the expressions as '''new shape keys'''
==But, first import and inspect FBX and MHX2!==
As you may remember you exported two files, the FBX file and the MHX2 file. You want to import both of these files into Blender, so you need two Collections, called FBX and MHX2. You right-click on the 'Scene collection' select 'New' and rename the collections to 'FBX' and 'MHX2'... I also added Scene collection and dragged the Camera and Light there (as I deleted the box). After this you should see something link this (the small Icons may be different):
[[File:MH-Base-Blender-setup.png]]
When you import your FBX file select/highlight the FBX collection, so the FBX data get imported into that collection. You can use the standard import options. For MHX2 you need to change the setting to match those you see below - when you find they are correct you can click the + sign, marked with a yellow arrow, and save the setting with your own setting-name.
(You may notice that the character you imported is out of proportions, some 17-18 meters high, we will correct that when we export to UE4!)
[[File:MH-Blender-FBX-import-options.png]]
===Inspect the results, in Blender===
Now is a good time to save the Blender file. You should save this in the same folder as the FBX and MHX2. I call this file averagedude-base.blend.
If you did this approximately as described the result should be munch like below. And you will probably notice that there is some structural differences. You can see that by looking at the small icons [[File:MH-Blender-base-imported-icons.png]], that represent where modifiers, vertex groups and Object data is stored! Specifically the Object data holds the shape-keys and those were not imported. (perhaps because I did not use the correct FBX import options - but the same happens in UE4!).
[[File:MH-Blender-base-imported.png]]
You will notice that the MHX2 version of your character holds the Object data (the triangle) and that shape-keys can be seen there!
==Export the FBX for your base character, and import to UE4==
The next step is crucial for getting things to work in UE4, it is not very complicated but you need to have a plan.
When you did this correctly you should be able to get the following results:
* Import your base character into UE4
* Create retargeting for your common skeleton - called MH_Skeleton
* Retarget the Maniqin animations to your base character(s)
* Get additional Mixamo animations
===FBX export settings===
'''Important!''' Before you go any further you should rename your base character to '''main_root''', like this:
[[File:MH-Base-FBX-main-root.png]]
.... you should do this for all base characters! main_root will be the root bone in your skeleton. When you do it like this, all of your base characters will be able to share the same skeleton!
Now select the MHX2 collection where you have the character, and go to Export FBX.
I have made a 'Operator preset' for the FBX export, this is the options you need to set:
[[File:MH-Base-FBX-operator-presets.png]]
Place the FBX file in the same folder as where you placed the original FBX and the MHX2. You probably do not need the FBX that you made with Makehuman, and you can always make it again?
(You may however want to export more FBX files from Makehuman, simply to get all of the textures. We will look more into how you can use the skin textures!)
==UE4 import, and retarget ==
Go to your UE4 project and make a MH folder containing a new avaragedude folder, and import your base character there!
Observe that this character looks very much like the one you did already import from the original FBX, there are little difference - yet you want to set up this as your real base character.
Also you want to rename the skeleton to '''MH_Skeleton'''! And you want to open the skeleton, and retarget it to the humanoid rig... this should look like this:
[[File:MH-Base-Skeleton-Retarget.png]]
Make sure that your character is in T-Pose, as you want to retarget the Mannequin animations to your characters MH_Skeleton!
Make a animation folder in your MH, perhaps even Mannequin folder?
You go to the UE4 folder: Content/Mannequin/Animations and right-click on this animation: '''ThirdPerson_AnimBP'''
Select retarget and choose MH_Skeleton as your target - also select the animation folder you made before, something like this:
[[File:MH-Base-Animation-Retarget.png]]
You may want to rename your new ThirdPerson_AnimBP to '''''MH''_ThirdPerson_AnimBP''' - or perhaps simply MH_AnimBP?
=More shape keys, made in Blender 2.8=
I have not yet made any target in MH, also I have not had much luck in using the two blender addons. Frankly I don't really understand what the different buttons does, most of them are not active... perhaps they make sens if you use Blender a lot?
But I will show you different ways to get expressions, targets and skeleton animations(!) to shape keys, so then will be new morph targets in UE4!
Before you get started you should probably look at a few Blender tutorials regarding this - these are good:
===Tutorials===
General introduction to MHX2 import and animation. However '''do not''' import the resulting characters into UE4?
{{#ev:youtube|2P1t_nogbGs}}
Short general introduction to using shape keys in Blender 2.8:
{{#ev:youtube|e675Ulc7QL4}}
==Expressions and targets==
Make sure that you have your original base character saved and load it into Makehuman.
Just in case, i recommend that you keep a copy of this file as well as all the blender file etc.
d3dcf10f391f9f6164c5c96c3ebbb8082f4fe685
1693
1692
2020-02-27T17:18:55Z
Assetdk
89
/* More shape keys, made in Blender 2.8 */
wikitext
text/x-wiki
=What can and can't be done?=
I have been working on getting different characters into UE4 for some time, and this have been a real hassle!
On this page I want to summarize what I managed to get done using a workflow that involves Blender. I have had a focus on not going into much details regarding any of the tools, but you will need to know a few things. Even though this looks like a trivial task there are some pitfalls and also there are some things that can not be done, or I have just not found out how to. I will eventually also add links to all the YT tutorials I found helpful.
I found that working with Makehuman very easy, so focus will be very UE4 how to specific.
This is what I will cover thus far:
* Create and save any MH character in Makehuman. Basic stuff, and important things to avoid.
* Getting the character into Blender - import or link?
* Setup Blender for Export, shape keys and morph targets
* First import into UE4
* Introduction to more shape keys
* Get the Cloth working
* Mixamo animations
This is the stuff that I did not cover - yet:
* Animations for talking (other tutorials may help)
* Making custom cloth
* Hair
This is the stuff I can not get to work:
* Retargeting to Advanced Locomotion System V3/4
=Getting started=
I wanted a quick way to populate a UE4 game, preferably with an unlimited number of varied characters of high quality. This has proven to be a bit harder than expected. The workflow for making characters is not as trivial as one would want but this guide should make it a bit more easy to do. I will focus on describing the "straight" path from Makehuman and into UE4 - so you will not find too much details about Blender. Please refer to Blender specific pages for more on that.
==Need to know==
There are a few terms that you need to know, say you need to know that you will import FBX, textures and other files into UE4. Also you will need to know that a Character consists of a '''Mesh''', a '''Skeleton''' and '''''materials''''' (that refers to textures). I will try to elaborate on these subjects as we go along...
==Making a base-character==
Makehuman provides a range of predefined characters that is supposed to work as-is. You can just load a character, export it to FBX and import that into UE4 - and after a bit of work you can have a working player character! There are however a few pitfalls, so I suggest you make one (or more) base-character(s) that you can elaborate on as you go along. I will be working with ''''''averagedude'''''' as my base-character.
These are the steps to make the base characters:
* Open Makehuman
* Select the files tab and load the character
'''Under 'Geometries''''
* Remove cloth - (uncheck Hide faces under cloth)!
* Remove hair
* Add Teeth
* Choose Topology - '''I have no advice on this - but see comment below!'''
* Chose Eyebrows/Eyelashes, these can be changed as you go along - as can eye colors!
* Add Tongue01 (again I have no advice/recommendation on that, yet)
'''Under 'Materials'''' - I will show you how to work with UE4 "advanced" materials:
* Chose any skin that you like,
* Chose any eyes that you like
'''Under 'Pose/Animate''''
* Chose Skeleton: Uengine - if you do not have this already you my get it via the community tab?
* Chose Pose: Tpose (the last one on the list)
* Chose Expressions: none
And this is it! But there is one 'important' option you need know about - you need to '''uncheck''' the Smooth button!
The smooth button/option: [[File:MH-Smooth-option.png]] should be unchecked... that will make your character a bit less attractive, but this will preserve the shape-keys!
Makehuman comes with some 50-60 '''shape-keys''' and these will all be available as '''morph-targets''' in UE4. I will show you how to make more shape-keys, using makehuman+blender!
Now it is time to save your base-character - even though you have made very few changes to the file you should save this file under the save tab and name it
<your-name>-base (say averagedude-base), you can even add your very own tag 'base' to this.
When you save the file like this you will be able to reload it, and we need that later!
====Choose Topology/Shape keys====
When you make your base character without smoothing you get shape keys, and you want to share these between different characters. Specifically you would probably want to share face morphs between male and female characters - and there may be other base character variations, say old/young/child etc.
Later I will focus on how to make new shape keys, using blender - depending on how you want to do this you may want to '''chose Topology that is compatible between the different characters!''' That is you may be able to transfer one "shape" from a male character to a female character, but the result will depend on ''topology compatibility''. I will/may thus update this section to make sure
'''Shape key names''' will be the same for all of the base characters, as they come from - however you will be able to make new keys. You must name these keys the same for all MH characters, like these share the same skeleton (MH_Skelton) they must hold all the same shape keys names. If they don't your game may "break"....
===Export your base-character===
You can now take a break - or you can export your work. There are really tree options for you to look at:
* Save the FBX file directly
* Save a MHX2 file (you may need to install this as a option/utility, find our elsewhere!)
* Load the character to '''Blender''' directly via the link (I will get back to what can be done using that!)
I suggest that you save your base-character now, in both formats - FBX and MHX2! Make a specific 'Base-Characters' folder, because you will need it!
When you export the FBX use these options:
[[File:MH-FBX-export-options.png]]
This is the result for me, you should see something like this also:
[[File:MH-Base-Character-Folder.png]]
You should also see that there is a sub-folder, called Textures - this is where the different textures are saved and it should now look like this:
[[File:MH-Base-Character-Folder-textures.png]]
You can now go over all of the different textures, so you will have a wide selection to chose from. Textures are saved every time you save a FBX file!
Say, I change the base-characters textures, saved the FBX - and this is what I got:
[[File:MH-Base-Character-Folder-textures2.png]]
===Import your base-character to UE4 - FBX===
The FBX file will actually import directly to UE4, but there are a few problems! You should export your FBX file as Binary FBX, and you will get the most out of it. After this you can get to this result (after adjusting the materials, as seen below):
[[File:MH-MH-FBX-imported.png]]
Your character can look like this (after adjusting materials) - pretty good:
[[File:MH-MH-FBX-imported-materials.png]]
'''HOWEVER, you have lost the morph-targets! And as you probably noticed, the UE4 standard FBX import do import them!'''
I will get back to what to do about the shape-keys... but let make the materials first?
==Makehuman UE4 materials==
When you import the FBX made you exported from Makehuman, both textures and materials are made. You will also notice that UE4 will try to match the materials correctly to the material slots, as seen above in the 'Asset Details' of, in my case, averagedude-base (do not worry about the physics and the skeleton yet!).
To get you started, we need to take a look at the Eye, Eyelashes and Eyebrow materials...
===Eye materials===
First you can rename the '''high-poly''' material '''high-poly-''blue-eye''''' - or to whatever color you chose! You will probably make more eye materials.
Next you can double-click the material, to open the material-editor and change it to look something like this:
[[File:MH-UE4-Eye-material.png]]
===Eyelashes and Eyebrow materials===
Likewise you can set up the eyelashes, and the eyebrows are the same only you do not need ''two sided'' for the bows:
[[File:MH-UE4-Eyelashes-material.png]]
!?You may want to play with the shading model.
===More materials?===
You can simply drag and drop more textures from the the base-character/textures folder, then duplicate and rename the materials, and apply different textures to the renamed materials. At some point I want to be able to customize/randomize (NPC) characters, but I have not yet done that.
Also you can make materials instances with parameters... I will show you howto, but first we need to turn shape-keys into morph-targets.
=Use Blender v 2.80 to get more!!=
For some reason the exported FBX file is not organized in a way so you will get the shape-keys imported directly to UE4. However when you follow the next steps, you will not get the correct materials imported, so I recommend that you run FBX import as shown above, and save the textures/materials in a separate folder.
If you are new to Blender please run a few tutorials specifically on on how to import/export, and also get to know about collections - you can do a lot in Blender and you can get confused!
==What will be done here?==
I will show you how to:
* Import your MHX2 files, to preserve the shape-keys
* Export FBX files, so UE4 will import correctly with morph-targets
* Apply expressions etc. to your base character
* Import these to your Blender file and apply the expressions as '''new shape keys'''
==But, first import and inspect FBX and MHX2!==
As you may remember you exported two files, the FBX file and the MHX2 file. You want to import both of these files into Blender, so you need two Collections, called FBX and MHX2. You right-click on the 'Scene collection' select 'New' and rename the collections to 'FBX' and 'MHX2'... I also added Scene collection and dragged the Camera and Light there (as I deleted the box). After this you should see something link this (the small Icons may be different):
[[File:MH-Base-Blender-setup.png]]
When you import your FBX file select/highlight the FBX collection, so the FBX data get imported into that collection. You can use the standard import options. For MHX2 you need to change the setting to match those you see below - when you find they are correct you can click the + sign, marked with a yellow arrow, and save the setting with your own setting-name.
(You may notice that the character you imported is out of proportions, some 17-18 meters high, we will correct that when we export to UE4!)
[[File:MH-Blender-FBX-import-options.png]]
===Inspect the results, in Blender===
Now is a good time to save the Blender file. You should save this in the same folder as the FBX and MHX2. I call this file averagedude-base.blend.
If you did this approximately as described the result should be munch like below. And you will probably notice that there is some structural differences. You can see that by looking at the small icons [[File:MH-Blender-base-imported-icons.png]], that represent where modifiers, vertex groups and Object data is stored! Specifically the Object data holds the shape-keys and those were not imported. (perhaps because I did not use the correct FBX import options - but the same happens in UE4!).
[[File:MH-Blender-base-imported.png]]
You will notice that the MHX2 version of your character holds the Object data (the triangle) and that shape-keys can be seen there!
==Export the FBX for your base character, and import to UE4==
The next step is crucial for getting things to work in UE4, it is not very complicated but you need to have a plan.
When you did this correctly you should be able to get the following results:
* Import your base character into UE4
* Create retargeting for your common skeleton - called MH_Skeleton
* Retarget the Maniqin animations to your base character(s)
* Get additional Mixamo animations
===FBX export settings===
'''Important!''' Before you go any further you should rename your base character to '''main_root''', like this:
[[File:MH-Base-FBX-main-root.png]]
.... you should do this for all base characters! main_root will be the root bone in your skeleton. When you do it like this, all of your base characters will be able to share the same skeleton!
Now select the MHX2 collection where you have the character, and go to Export FBX.
I have made a 'Operator preset' for the FBX export, this is the options you need to set:
[[File:MH-Base-FBX-operator-presets.png]]
Place the FBX file in the same folder as where you placed the original FBX and the MHX2. You probably do not need the FBX that you made with Makehuman, and you can always make it again?
(You may however want to export more FBX files from Makehuman, simply to get all of the textures. We will look more into how you can use the skin textures!)
==UE4 import, and retarget ==
Go to your UE4 project and make a MH folder containing a new avaragedude folder, and import your base character there!
Observe that this character looks very much like the one you did already import from the original FBX, there are little difference - yet you want to set up this as your real base character.
Also you want to rename the skeleton to '''MH_Skeleton'''! And you want to open the skeleton, and retarget it to the humanoid rig... this should look like this:
[[File:MH-Base-Skeleton-Retarget.png]]
Make sure that your character is in T-Pose, as you want to retarget the Mannequin animations to your characters MH_Skeleton!
Make a animation folder in your MH, perhaps even Mannequin folder?
You go to the UE4 folder: Content/Mannequin/Animations and right-click on this animation: '''ThirdPerson_AnimBP'''
Select retarget and choose MH_Skeleton as your target - also select the animation folder you made before, something like this:
[[File:MH-Base-Animation-Retarget.png]]
You may want to rename your new ThirdPerson_AnimBP to '''''MH''_ThirdPerson_AnimBP''' - or perhaps simply MH_AnimBP?
=More shape keys, made in Blender 2.8=
I have not yet made any target in MH, also I have not had much luck in using the two blender addons. Frankly I don't really understand what the different buttons does, most of them are not active... perhaps they make sens if you use Blender a lot?
But I will show you different ways to get targets, expressions and skeleton animations(!) to shape keys, so then will be new morph targets in UE4!
Before you get started you should probably look at a few Blender tutorials regarding this - these are good:
General introduction to MHX2 import and animation. However '''do not''' import the resulting characters into UE4?
{{#ev:youtube|2P1t_nogbGs}}
a4ab01e0db6041dc0b0eaf4095c2408207abdae0
1692
1691
2020-02-27T17:15:38Z
Assetdk
89
/* More shape keys, made in Blender 2.8 */
wikitext
text/x-wiki
=What can and can't be done?=
I have been working on getting different characters into UE4 for some time, and this have been a real hassle!
On this page I want to summarize what I managed to get done using a workflow that involves Blender. I have had a focus on not going into much details regarding any of the tools, but you will need to know a few things. Even though this looks like a trivial task there are some pitfalls and also there are some things that can not be done, or I have just not found out how to. I will eventually also add links to all the YT tutorials I found helpful.
I found that working with Makehuman very easy, so focus will be very UE4 how to specific.
This is what I will cover thus far:
* Create and save any MH character in Makehuman. Basic stuff, and important things to avoid.
* Getting the character into Blender - import or link?
* Setup Blender for Export, shape keys and morph targets
* First import into UE4
* Introduction to more shape keys
* Get the Cloth working
* Mixamo animations
This is the stuff that I did not cover - yet:
* Animations for talking (other tutorials may help)
* Making custom cloth
* Hair
This is the stuff I can not get to work:
* Retargeting to Advanced Locomotion System V3/4
=Getting started=
I wanted a quick way to populate a UE4 game, preferably with an unlimited number of varied characters of high quality. This has proven to be a bit harder than expected. The workflow for making characters is not as trivial as one would want but this guide should make it a bit more easy to do. I will focus on describing the "straight" path from Makehuman and into UE4 - so you will not find too much details about Blender. Please refer to Blender specific pages for more on that.
==Need to know==
There are a few terms that you need to know, say you need to know that you will import FBX, textures and other files into UE4. Also you will need to know that a Character consists of a '''Mesh''', a '''Skeleton''' and '''''materials''''' (that refers to textures). I will try to elaborate on these subjects as we go along...
==Making a base-character==
Makehuman provides a range of predefined characters that is supposed to work as-is. You can just load a character, export it to FBX and import that into UE4 - and after a bit of work you can have a working player character! There are however a few pitfalls, so I suggest you make one (or more) base-character(s) that you can elaborate on as you go along. I will be working with ''''''averagedude'''''' as my base-character.
These are the steps to make the base characters:
* Open Makehuman
* Select the files tab and load the character
'''Under 'Geometries''''
* Remove cloth - (uncheck Hide faces under cloth)!
* Remove hair
* Add Teeth
* Choose Topology - '''I have no advice on this - but see comment below!'''
* Chose Eyebrows/Eyelashes, these can be changed as you go along - as can eye colors!
* Add Tongue01 (again I have no advice/recommendation on that, yet)
'''Under 'Materials'''' - I will show you how to work with UE4 "advanced" materials:
* Chose any skin that you like,
* Chose any eyes that you like
'''Under 'Pose/Animate''''
* Chose Skeleton: Uengine - if you do not have this already you my get it via the community tab?
* Chose Pose: Tpose (the last one on the list)
* Chose Expressions: none
And this is it! But there is one 'important' option you need know about - you need to '''uncheck''' the Smooth button!
The smooth button/option: [[File:MH-Smooth-option.png]] should be unchecked... that will make your character a bit less attractive, but this will preserve the shape-keys!
Makehuman comes with some 50-60 '''shape-keys''' and these will all be available as '''morph-targets''' in UE4. I will show you how to make more shape-keys, using makehuman+blender!
Now it is time to save your base-character - even though you have made very few changes to the file you should save this file under the save tab and name it
<your-name>-base (say averagedude-base), you can even add your very own tag 'base' to this.
When you save the file like this you will be able to reload it, and we need that later!
====Choose Topology/Shape keys====
When you make your base character without smoothing you get shape keys, and you want to share these between different characters. Specifically you would probably want to share face morphs between male and female characters - and there may be other base character variations, say old/young/child etc.
Later I will focus on how to make new shape keys, using blender - depending on how you want to do this you may want to '''chose Topology that is compatible between the different characters!''' That is you may be able to transfer one "shape" from a male character to a female character, but the result will depend on ''topology compatibility''. I will/may thus update this section to make sure
'''Shape key names''' will be the same for all of the base characters, as they come from - however you will be able to make new keys. You must name these keys the same for all MH characters, like these share the same skeleton (MH_Skelton) they must hold all the same shape keys names. If they don't your game may "break"....
===Export your base-character===
You can now take a break - or you can export your work. There are really tree options for you to look at:
* Save the FBX file directly
* Save a MHX2 file (you may need to install this as a option/utility, find our elsewhere!)
* Load the character to '''Blender''' directly via the link (I will get back to what can be done using that!)
I suggest that you save your base-character now, in both formats - FBX and MHX2! Make a specific 'Base-Characters' folder, because you will need it!
When you export the FBX use these options:
[[File:MH-FBX-export-options.png]]
This is the result for me, you should see something like this also:
[[File:MH-Base-Character-Folder.png]]
You should also see that there is a sub-folder, called Textures - this is where the different textures are saved and it should now look like this:
[[File:MH-Base-Character-Folder-textures.png]]
You can now go over all of the different textures, so you will have a wide selection to chose from. Textures are saved every time you save a FBX file!
Say, I change the base-characters textures, saved the FBX - and this is what I got:
[[File:MH-Base-Character-Folder-textures2.png]]
===Import your base-character to UE4 - FBX===
The FBX file will actually import directly to UE4, but there are a few problems! You should export your FBX file as Binary FBX, and you will get the most out of it. After this you can get to this result (after adjusting the materials, as seen below):
[[File:MH-MH-FBX-imported.png]]
Your character can look like this (after adjusting materials) - pretty good:
[[File:MH-MH-FBX-imported-materials.png]]
'''HOWEVER, you have lost the morph-targets! And as you probably noticed, the UE4 standard FBX import do import them!'''
I will get back to what to do about the shape-keys... but let make the materials first?
==Makehuman UE4 materials==
When you import the FBX made you exported from Makehuman, both textures and materials are made. You will also notice that UE4 will try to match the materials correctly to the material slots, as seen above in the 'Asset Details' of, in my case, averagedude-base (do not worry about the physics and the skeleton yet!).
To get you started, we need to take a look at the Eye, Eyelashes and Eyebrow materials...
===Eye materials===
First you can rename the '''high-poly''' material '''high-poly-''blue-eye''''' - or to whatever color you chose! You will probably make more eye materials.
Next you can double-click the material, to open the material-editor and change it to look something like this:
[[File:MH-UE4-Eye-material.png]]
===Eyelashes and Eyebrow materials===
Likewise you can set up the eyelashes, and the eyebrows are the same only you do not need ''two sided'' for the bows:
[[File:MH-UE4-Eyelashes-material.png]]
!?You may want to play with the shading model.
===More materials?===
You can simply drag and drop more textures from the the base-character/textures folder, then duplicate and rename the materials, and apply different textures to the renamed materials. At some point I want to be able to customize/randomize (NPC) characters, but I have not yet done that.
Also you can make materials instances with parameters... I will show you howto, but first we need to turn shape-keys into morph-targets.
=Use Blender v 2.80 to get more!!=
For some reason the exported FBX file is not organized in a way so you will get the shape-keys imported directly to UE4. However when you follow the next steps, you will not get the correct materials imported, so I recommend that you run FBX import as shown above, and save the textures/materials in a separate folder.
If you are new to Blender please run a few tutorials specifically on on how to import/export, and also get to know about collections - you can do a lot in Blender and you can get confused!
==What will be done here?==
I will show you how to:
* Import your MHX2 files, to preserve the shape-keys
* Export FBX files, so UE4 will import correctly with morph-targets
* Apply expressions etc. to your base character
* Import these to your Blender file and apply the expressions as '''new shape keys'''
==But, first import and inspect FBX and MHX2!==
As you may remember you exported two files, the FBX file and the MHX2 file. You want to import both of these files into Blender, so you need two Collections, called FBX and MHX2. You right-click on the 'Scene collection' select 'New' and rename the collections to 'FBX' and 'MHX2'... I also added Scene collection and dragged the Camera and Light there (as I deleted the box). After this you should see something link this (the small Icons may be different):
[[File:MH-Base-Blender-setup.png]]
When you import your FBX file select/highlight the FBX collection, so the FBX data get imported into that collection. You can use the standard import options. For MHX2 you need to change the setting to match those you see below - when you find they are correct you can click the + sign, marked with a yellow arrow, and save the setting with your own setting-name.
(You may notice that the character you imported is out of proportions, some 17-18 meters high, we will correct that when we export to UE4!)
[[File:MH-Blender-FBX-import-options.png]]
===Inspect the results, in Blender===
Now is a good time to save the Blender file. You should save this in the same folder as the FBX and MHX2. I call this file averagedude-base.blend.
If you did this approximately as described the result should be munch like below. And you will probably notice that there is some structural differences. You can see that by looking at the small icons [[File:MH-Blender-base-imported-icons.png]], that represent where modifiers, vertex groups and Object data is stored! Specifically the Object data holds the shape-keys and those were not imported. (perhaps because I did not use the correct FBX import options - but the same happens in UE4!).
[[File:MH-Blender-base-imported.png]]
You will notice that the MHX2 version of your character holds the Object data (the triangle) and that shape-keys can be seen there!
==Export the FBX for your base character, and import to UE4==
The next step is crucial for getting things to work in UE4, it is not very complicated but you need to have a plan.
When you did this correctly you should be able to get the following results:
* Import your base character into UE4
* Create retargeting for your common skeleton - called MH_Skeleton
* Retarget the Maniqin animations to your base character(s)
* Get additional Mixamo animations
===FBX export settings===
'''Important!''' Before you go any further you should rename your base character to '''main_root''', like this:
[[File:MH-Base-FBX-main-root.png]]
.... you should do this for all base characters! main_root will be the root bone in your skeleton. When you do it like this, all of your base characters will be able to share the same skeleton!
Now select the MHX2 collection where you have the character, and go to Export FBX.
I have made a 'Operator preset' for the FBX export, this is the options you need to set:
[[File:MH-Base-FBX-operator-presets.png]]
Place the FBX file in the same folder as where you placed the original FBX and the MHX2. You probably do not need the FBX that you made with Makehuman, and you can always make it again?
(You may however want to export more FBX files from Makehuman, simply to get all of the textures. We will look more into how you can use the skin textures!)
==UE4 import, and retarget ==
Go to your UE4 project and make a MH folder containing a new avaragedude folder, and import your base character there!
Observe that this character looks very much like the one you did already import from the original FBX, there are little difference - yet you want to set up this as your real base character.
Also you want to rename the skeleton to '''MH_Skeleton'''! And you want to open the skeleton, and retarget it to the humanoid rig... this should look like this:
[[File:MH-Base-Skeleton-Retarget.png]]
Make sure that your character is in T-Pose, as you want to retarget the Mannequin animations to your characters MH_Skeleton!
Make a animation folder in your MH, perhaps even Mannequin folder?
You go to the UE4 folder: Content/Mannequin/Animations and right-click on this animation: '''ThirdPerson_AnimBP'''
Select retarget and choose MH_Skeleton as your target - also select the animation folder you made before, something like this:
[[File:MH-Base-Animation-Retarget.png]]
You may want to rename your new ThirdPerson_AnimBP to '''''MH''_ThirdPerson_AnimBP''' - or perhaps simply MH_AnimBP?
=More shape keys, made in Blender 2.8=
I have not yet made any target in MH, also I have not had much luck in using the two blender addons. Frankly I don't really understand what the different buttons does, most of them are not active... perhaps they make sens if you use Blender a lot?
But I will show you different ways to get targets, expressions and skeleton animations(!) to shape keys, so then will be new morph targets in UE4!
Before you get started you should probably look at a few Blender tutorials regarding this - these are good:
{{#ev:youtube|nogbGs&t}}
4b3e21f06bb72305437fc3f5d6a815dd3b681513
1691
1690
2020-02-27T17:14:34Z
Assetdk
89
/* More shape keys, made in Blender 2.8 */
wikitext
text/x-wiki
=What can and can't be done?=
I have been working on getting different characters into UE4 for some time, and this have been a real hassle!
On this page I want to summarize what I managed to get done using a workflow that involves Blender. I have had a focus on not going into much details regarding any of the tools, but you will need to know a few things. Even though this looks like a trivial task there are some pitfalls and also there are some things that can not be done, or I have just not found out how to. I will eventually also add links to all the YT tutorials I found helpful.
I found that working with Makehuman very easy, so focus will be very UE4 how to specific.
This is what I will cover thus far:
* Create and save any MH character in Makehuman. Basic stuff, and important things to avoid.
* Getting the character into Blender - import or link?
* Setup Blender for Export, shape keys and morph targets
* First import into UE4
* Introduction to more shape keys
* Get the Cloth working
* Mixamo animations
This is the stuff that I did not cover - yet:
* Animations for talking (other tutorials may help)
* Making custom cloth
* Hair
This is the stuff I can not get to work:
* Retargeting to Advanced Locomotion System V3/4
=Getting started=
I wanted a quick way to populate a UE4 game, preferably with an unlimited number of varied characters of high quality. This has proven to be a bit harder than expected. The workflow for making characters is not as trivial as one would want but this guide should make it a bit more easy to do. I will focus on describing the "straight" path from Makehuman and into UE4 - so you will not find too much details about Blender. Please refer to Blender specific pages for more on that.
==Need to know==
There are a few terms that you need to know, say you need to know that you will import FBX, textures and other files into UE4. Also you will need to know that a Character consists of a '''Mesh''', a '''Skeleton''' and '''''materials''''' (that refers to textures). I will try to elaborate on these subjects as we go along...
==Making a base-character==
Makehuman provides a range of predefined characters that is supposed to work as-is. You can just load a character, export it to FBX and import that into UE4 - and after a bit of work you can have a working player character! There are however a few pitfalls, so I suggest you make one (or more) base-character(s) that you can elaborate on as you go along. I will be working with ''''''averagedude'''''' as my base-character.
These are the steps to make the base characters:
* Open Makehuman
* Select the files tab and load the character
'''Under 'Geometries''''
* Remove cloth - (uncheck Hide faces under cloth)!
* Remove hair
* Add Teeth
* Choose Topology - '''I have no advice on this - but see comment below!'''
* Chose Eyebrows/Eyelashes, these can be changed as you go along - as can eye colors!
* Add Tongue01 (again I have no advice/recommendation on that, yet)
'''Under 'Materials'''' - I will show you how to work with UE4 "advanced" materials:
* Chose any skin that you like,
* Chose any eyes that you like
'''Under 'Pose/Animate''''
* Chose Skeleton: Uengine - if you do not have this already you my get it via the community tab?
* Chose Pose: Tpose (the last one on the list)
* Chose Expressions: none
And this is it! But there is one 'important' option you need know about - you need to '''uncheck''' the Smooth button!
The smooth button/option: [[File:MH-Smooth-option.png]] should be unchecked... that will make your character a bit less attractive, but this will preserve the shape-keys!
Makehuman comes with some 50-60 '''shape-keys''' and these will all be available as '''morph-targets''' in UE4. I will show you how to make more shape-keys, using makehuman+blender!
Now it is time to save your base-character - even though you have made very few changes to the file you should save this file under the save tab and name it
<your-name>-base (say averagedude-base), you can even add your very own tag 'base' to this.
When you save the file like this you will be able to reload it, and we need that later!
====Choose Topology/Shape keys====
When you make your base character without smoothing you get shape keys, and you want to share these between different characters. Specifically you would probably want to share face morphs between male and female characters - and there may be other base character variations, say old/young/child etc.
Later I will focus on how to make new shape keys, using blender - depending on how you want to do this you may want to '''chose Topology that is compatible between the different characters!''' That is you may be able to transfer one "shape" from a male character to a female character, but the result will depend on ''topology compatibility''. I will/may thus update this section to make sure
'''Shape key names''' will be the same for all of the base characters, as they come from - however you will be able to make new keys. You must name these keys the same for all MH characters, like these share the same skeleton (MH_Skelton) they must hold all the same shape keys names. If they don't your game may "break"....
===Export your base-character===
You can now take a break - or you can export your work. There are really tree options for you to look at:
* Save the FBX file directly
* Save a MHX2 file (you may need to install this as a option/utility, find our elsewhere!)
* Load the character to '''Blender''' directly via the link (I will get back to what can be done using that!)
I suggest that you save your base-character now, in both formats - FBX and MHX2! Make a specific 'Base-Characters' folder, because you will need it!
When you export the FBX use these options:
[[File:MH-FBX-export-options.png]]
This is the result for me, you should see something like this also:
[[File:MH-Base-Character-Folder.png]]
You should also see that there is a sub-folder, called Textures - this is where the different textures are saved and it should now look like this:
[[File:MH-Base-Character-Folder-textures.png]]
You can now go over all of the different textures, so you will have a wide selection to chose from. Textures are saved every time you save a FBX file!
Say, I change the base-characters textures, saved the FBX - and this is what I got:
[[File:MH-Base-Character-Folder-textures2.png]]
===Import your base-character to UE4 - FBX===
The FBX file will actually import directly to UE4, but there are a few problems! You should export your FBX file as Binary FBX, and you will get the most out of it. After this you can get to this result (after adjusting the materials, as seen below):
[[File:MH-MH-FBX-imported.png]]
Your character can look like this (after adjusting materials) - pretty good:
[[File:MH-MH-FBX-imported-materials.png]]
'''HOWEVER, you have lost the morph-targets! And as you probably noticed, the UE4 standard FBX import do import them!'''
I will get back to what to do about the shape-keys... but let make the materials first?
==Makehuman UE4 materials==
When you import the FBX made you exported from Makehuman, both textures and materials are made. You will also notice that UE4 will try to match the materials correctly to the material slots, as seen above in the 'Asset Details' of, in my case, averagedude-base (do not worry about the physics and the skeleton yet!).
To get you started, we need to take a look at the Eye, Eyelashes and Eyebrow materials...
===Eye materials===
First you can rename the '''high-poly''' material '''high-poly-''blue-eye''''' - or to whatever color you chose! You will probably make more eye materials.
Next you can double-click the material, to open the material-editor and change it to look something like this:
[[File:MH-UE4-Eye-material.png]]
===Eyelashes and Eyebrow materials===
Likewise you can set up the eyelashes, and the eyebrows are the same only you do not need ''two sided'' for the bows:
[[File:MH-UE4-Eyelashes-material.png]]
!?You may want to play with the shading model.
===More materials?===
You can simply drag and drop more textures from the the base-character/textures folder, then duplicate and rename the materials, and apply different textures to the renamed materials. At some point I want to be able to customize/randomize (NPC) characters, but I have not yet done that.
Also you can make materials instances with parameters... I will show you howto, but first we need to turn shape-keys into morph-targets.
=Use Blender v 2.80 to get more!!=
For some reason the exported FBX file is not organized in a way so you will get the shape-keys imported directly to UE4. However when you follow the next steps, you will not get the correct materials imported, so I recommend that you run FBX import as shown above, and save the textures/materials in a separate folder.
If you are new to Blender please run a few tutorials specifically on on how to import/export, and also get to know about collections - you can do a lot in Blender and you can get confused!
==What will be done here?==
I will show you how to:
* Import your MHX2 files, to preserve the shape-keys
* Export FBX files, so UE4 will import correctly with morph-targets
* Apply expressions etc. to your base character
* Import these to your Blender file and apply the expressions as '''new shape keys'''
==But, first import and inspect FBX and MHX2!==
As you may remember you exported two files, the FBX file and the MHX2 file. You want to import both of these files into Blender, so you need two Collections, called FBX and MHX2. You right-click on the 'Scene collection' select 'New' and rename the collections to 'FBX' and 'MHX2'... I also added Scene collection and dragged the Camera and Light there (as I deleted the box). After this you should see something link this (the small Icons may be different):
[[File:MH-Base-Blender-setup.png]]
When you import your FBX file select/highlight the FBX collection, so the FBX data get imported into that collection. You can use the standard import options. For MHX2 you need to change the setting to match those you see below - when you find they are correct you can click the + sign, marked with a yellow arrow, and save the setting with your own setting-name.
(You may notice that the character you imported is out of proportions, some 17-18 meters high, we will correct that when we export to UE4!)
[[File:MH-Blender-FBX-import-options.png]]
===Inspect the results, in Blender===
Now is a good time to save the Blender file. You should save this in the same folder as the FBX and MHX2. I call this file averagedude-base.blend.
If you did this approximately as described the result should be munch like below. And you will probably notice that there is some structural differences. You can see that by looking at the small icons [[File:MH-Blender-base-imported-icons.png]], that represent where modifiers, vertex groups and Object data is stored! Specifically the Object data holds the shape-keys and those were not imported. (perhaps because I did not use the correct FBX import options - but the same happens in UE4!).
[[File:MH-Blender-base-imported.png]]
You will notice that the MHX2 version of your character holds the Object data (the triangle) and that shape-keys can be seen there!
==Export the FBX for your base character, and import to UE4==
The next step is crucial for getting things to work in UE4, it is not very complicated but you need to have a plan.
When you did this correctly you should be able to get the following results:
* Import your base character into UE4
* Create retargeting for your common skeleton - called MH_Skeleton
* Retarget the Maniqin animations to your base character(s)
* Get additional Mixamo animations
===FBX export settings===
'''Important!''' Before you go any further you should rename your base character to '''main_root''', like this:
[[File:MH-Base-FBX-main-root.png]]
.... you should do this for all base characters! main_root will be the root bone in your skeleton. When you do it like this, all of your base characters will be able to share the same skeleton!
Now select the MHX2 collection where you have the character, and go to Export FBX.
I have made a 'Operator preset' for the FBX export, this is the options you need to set:
[[File:MH-Base-FBX-operator-presets.png]]
Place the FBX file in the same folder as where you placed the original FBX and the MHX2. You probably do not need the FBX that you made with Makehuman, and you can always make it again?
(You may however want to export more FBX files from Makehuman, simply to get all of the textures. We will look more into how you can use the skin textures!)
==UE4 import, and retarget ==
Go to your UE4 project and make a MH folder containing a new avaragedude folder, and import your base character there!
Observe that this character looks very much like the one you did already import from the original FBX, there are little difference - yet you want to set up this as your real base character.
Also you want to rename the skeleton to '''MH_Skeleton'''! And you want to open the skeleton, and retarget it to the humanoid rig... this should look like this:
[[File:MH-Base-Skeleton-Retarget.png]]
Make sure that your character is in T-Pose, as you want to retarget the Mannequin animations to your characters MH_Skeleton!
Make a animation folder in your MH, perhaps even Mannequin folder?
You go to the UE4 folder: Content/Mannequin/Animations and right-click on this animation: '''ThirdPerson_AnimBP'''
Select retarget and choose MH_Skeleton as your target - also select the animation folder you made before, something like this:
[[File:MH-Base-Animation-Retarget.png]]
You may want to rename your new ThirdPerson_AnimBP to '''''MH''_ThirdPerson_AnimBP''' - or perhaps simply MH_AnimBP?
=More shape keys, made in Blender 2.8=
I have not yet made any target in MH, also I have not had much luck in using the two blender addons. Frankly I don't really understand what the different buttons does, most of them are not active... perhaps they make sens if you use Blender a lot?
But I will show you different ways to get targets, expressions and skeleton animations(!) to shape keys, so then will be new morph targets in UE4!
Before you get started you should probably look at a few Blender tutorials regarding this - these are good:
{{#ev:youtube|2P1t_nogbGs&t}}
23478171b6e9e41b26d9ac5271ea18b9cd6f1eef
1690
1689
2020-02-27T17:12:34Z
Assetdk
89
/* More shape keys, made in Blender 2.8 */
wikitext
text/x-wiki
=What can and can't be done?=
I have been working on getting different characters into UE4 for some time, and this have been a real hassle!
On this page I want to summarize what I managed to get done using a workflow that involves Blender. I have had a focus on not going into much details regarding any of the tools, but you will need to know a few things. Even though this looks like a trivial task there are some pitfalls and also there are some things that can not be done, or I have just not found out how to. I will eventually also add links to all the YT tutorials I found helpful.
I found that working with Makehuman very easy, so focus will be very UE4 how to specific.
This is what I will cover thus far:
* Create and save any MH character in Makehuman. Basic stuff, and important things to avoid.
* Getting the character into Blender - import or link?
* Setup Blender for Export, shape keys and morph targets
* First import into UE4
* Introduction to more shape keys
* Get the Cloth working
* Mixamo animations
This is the stuff that I did not cover - yet:
* Animations for talking (other tutorials may help)
* Making custom cloth
* Hair
This is the stuff I can not get to work:
* Retargeting to Advanced Locomotion System V3/4
=Getting started=
I wanted a quick way to populate a UE4 game, preferably with an unlimited number of varied characters of high quality. This has proven to be a bit harder than expected. The workflow for making characters is not as trivial as one would want but this guide should make it a bit more easy to do. I will focus on describing the "straight" path from Makehuman and into UE4 - so you will not find too much details about Blender. Please refer to Blender specific pages for more on that.
==Need to know==
There are a few terms that you need to know, say you need to know that you will import FBX, textures and other files into UE4. Also you will need to know that a Character consists of a '''Mesh''', a '''Skeleton''' and '''''materials''''' (that refers to textures). I will try to elaborate on these subjects as we go along...
==Making a base-character==
Makehuman provides a range of predefined characters that is supposed to work as-is. You can just load a character, export it to FBX and import that into UE4 - and after a bit of work you can have a working player character! There are however a few pitfalls, so I suggest you make one (or more) base-character(s) that you can elaborate on as you go along. I will be working with ''''''averagedude'''''' as my base-character.
These are the steps to make the base characters:
* Open Makehuman
* Select the files tab and load the character
'''Under 'Geometries''''
* Remove cloth - (uncheck Hide faces under cloth)!
* Remove hair
* Add Teeth
* Choose Topology - '''I have no advice on this - but see comment below!'''
* Chose Eyebrows/Eyelashes, these can be changed as you go along - as can eye colors!
* Add Tongue01 (again I have no advice/recommendation on that, yet)
'''Under 'Materials'''' - I will show you how to work with UE4 "advanced" materials:
* Chose any skin that you like,
* Chose any eyes that you like
'''Under 'Pose/Animate''''
* Chose Skeleton: Uengine - if you do not have this already you my get it via the community tab?
* Chose Pose: Tpose (the last one on the list)
* Chose Expressions: none
And this is it! But there is one 'important' option you need know about - you need to '''uncheck''' the Smooth button!
The smooth button/option: [[File:MH-Smooth-option.png]] should be unchecked... that will make your character a bit less attractive, but this will preserve the shape-keys!
Makehuman comes with some 50-60 '''shape-keys''' and these will all be available as '''morph-targets''' in UE4. I will show you how to make more shape-keys, using makehuman+blender!
Now it is time to save your base-character - even though you have made very few changes to the file you should save this file under the save tab and name it
<your-name>-base (say averagedude-base), you can even add your very own tag 'base' to this.
When you save the file like this you will be able to reload it, and we need that later!
====Choose Topology/Shape keys====
When you make your base character without smoothing you get shape keys, and you want to share these between different characters. Specifically you would probably want to share face morphs between male and female characters - and there may be other base character variations, say old/young/child etc.
Later I will focus on how to make new shape keys, using blender - depending on how you want to do this you may want to '''chose Topology that is compatible between the different characters!''' That is you may be able to transfer one "shape" from a male character to a female character, but the result will depend on ''topology compatibility''. I will/may thus update this section to make sure
'''Shape key names''' will be the same for all of the base characters, as they come from - however you will be able to make new keys. You must name these keys the same for all MH characters, like these share the same skeleton (MH_Skelton) they must hold all the same shape keys names. If they don't your game may "break"....
===Export your base-character===
You can now take a break - or you can export your work. There are really tree options for you to look at:
* Save the FBX file directly
* Save a MHX2 file (you may need to install this as a option/utility, find our elsewhere!)
* Load the character to '''Blender''' directly via the link (I will get back to what can be done using that!)
I suggest that you save your base-character now, in both formats - FBX and MHX2! Make a specific 'Base-Characters' folder, because you will need it!
When you export the FBX use these options:
[[File:MH-FBX-export-options.png]]
This is the result for me, you should see something like this also:
[[File:MH-Base-Character-Folder.png]]
You should also see that there is a sub-folder, called Textures - this is where the different textures are saved and it should now look like this:
[[File:MH-Base-Character-Folder-textures.png]]
You can now go over all of the different textures, so you will have a wide selection to chose from. Textures are saved every time you save a FBX file!
Say, I change the base-characters textures, saved the FBX - and this is what I got:
[[File:MH-Base-Character-Folder-textures2.png]]
===Import your base-character to UE4 - FBX===
The FBX file will actually import directly to UE4, but there are a few problems! You should export your FBX file as Binary FBX, and you will get the most out of it. After this you can get to this result (after adjusting the materials, as seen below):
[[File:MH-MH-FBX-imported.png]]
Your character can look like this (after adjusting materials) - pretty good:
[[File:MH-MH-FBX-imported-materials.png]]
'''HOWEVER, you have lost the morph-targets! And as you probably noticed, the UE4 standard FBX import do import them!'''
I will get back to what to do about the shape-keys... but let make the materials first?
==Makehuman UE4 materials==
When you import the FBX made you exported from Makehuman, both textures and materials are made. You will also notice that UE4 will try to match the materials correctly to the material slots, as seen above in the 'Asset Details' of, in my case, averagedude-base (do not worry about the physics and the skeleton yet!).
To get you started, we need to take a look at the Eye, Eyelashes and Eyebrow materials...
===Eye materials===
First you can rename the '''high-poly''' material '''high-poly-''blue-eye''''' - or to whatever color you chose! You will probably make more eye materials.
Next you can double-click the material, to open the material-editor and change it to look something like this:
[[File:MH-UE4-Eye-material.png]]
===Eyelashes and Eyebrow materials===
Likewise you can set up the eyelashes, and the eyebrows are the same only you do not need ''two sided'' for the bows:
[[File:MH-UE4-Eyelashes-material.png]]
!?You may want to play with the shading model.
===More materials?===
You can simply drag and drop more textures from the the base-character/textures folder, then duplicate and rename the materials, and apply different textures to the renamed materials. At some point I want to be able to customize/randomize (NPC) characters, but I have not yet done that.
Also you can make materials instances with parameters... I will show you howto, but first we need to turn shape-keys into morph-targets.
=Use Blender v 2.80 to get more!!=
For some reason the exported FBX file is not organized in a way so you will get the shape-keys imported directly to UE4. However when you follow the next steps, you will not get the correct materials imported, so I recommend that you run FBX import as shown above, and save the textures/materials in a separate folder.
If you are new to Blender please run a few tutorials specifically on on how to import/export, and also get to know about collections - you can do a lot in Blender and you can get confused!
==What will be done here?==
I will show you how to:
* Import your MHX2 files, to preserve the shape-keys
* Export FBX files, so UE4 will import correctly with morph-targets
* Apply expressions etc. to your base character
* Import these to your Blender file and apply the expressions as '''new shape keys'''
==But, first import and inspect FBX and MHX2!==
As you may remember you exported two files, the FBX file and the MHX2 file. You want to import both of these files into Blender, so you need two Collections, called FBX and MHX2. You right-click on the 'Scene collection' select 'New' and rename the collections to 'FBX' and 'MHX2'... I also added Scene collection and dragged the Camera and Light there (as I deleted the box). After this you should see something link this (the small Icons may be different):
[[File:MH-Base-Blender-setup.png]]
When you import your FBX file select/highlight the FBX collection, so the FBX data get imported into that collection. You can use the standard import options. For MHX2 you need to change the setting to match those you see below - when you find they are correct you can click the + sign, marked with a yellow arrow, and save the setting with your own setting-name.
(You may notice that the character you imported is out of proportions, some 17-18 meters high, we will correct that when we export to UE4!)
[[File:MH-Blender-FBX-import-options.png]]
===Inspect the results, in Blender===
Now is a good time to save the Blender file. You should save this in the same folder as the FBX and MHX2. I call this file averagedude-base.blend.
If you did this approximately as described the result should be munch like below. And you will probably notice that there is some structural differences. You can see that by looking at the small icons [[File:MH-Blender-base-imported-icons.png]], that represent where modifiers, vertex groups and Object data is stored! Specifically the Object data holds the shape-keys and those were not imported. (perhaps because I did not use the correct FBX import options - but the same happens in UE4!).
[[File:MH-Blender-base-imported.png]]
You will notice that the MHX2 version of your character holds the Object data (the triangle) and that shape-keys can be seen there!
==Export the FBX for your base character, and import to UE4==
The next step is crucial for getting things to work in UE4, it is not very complicated but you need to have a plan.
When you did this correctly you should be able to get the following results:
* Import your base character into UE4
* Create retargeting for your common skeleton - called MH_Skeleton
* Retarget the Maniqin animations to your base character(s)
* Get additional Mixamo animations
===FBX export settings===
'''Important!''' Before you go any further you should rename your base character to '''main_root''', like this:
[[File:MH-Base-FBX-main-root.png]]
.... you should do this for all base characters! main_root will be the root bone in your skeleton. When you do it like this, all of your base characters will be able to share the same skeleton!
Now select the MHX2 collection where you have the character, and go to Export FBX.
I have made a 'Operator preset' for the FBX export, this is the options you need to set:
[[File:MH-Base-FBX-operator-presets.png]]
Place the FBX file in the same folder as where you placed the original FBX and the MHX2. You probably do not need the FBX that you made with Makehuman, and you can always make it again?
(You may however want to export more FBX files from Makehuman, simply to get all of the textures. We will look more into how you can use the skin textures!)
==UE4 import, and retarget ==
Go to your UE4 project and make a MH folder containing a new avaragedude folder, and import your base character there!
Observe that this character looks very much like the one you did already import from the original FBX, there are little difference - yet you want to set up this as your real base character.
Also you want to rename the skeleton to '''MH_Skeleton'''! And you want to open the skeleton, and retarget it to the humanoid rig... this should look like this:
[[File:MH-Base-Skeleton-Retarget.png]]
Make sure that your character is in T-Pose, as you want to retarget the Mannequin animations to your characters MH_Skeleton!
Make a animation folder in your MH, perhaps even Mannequin folder?
You go to the UE4 folder: Content/Mannequin/Animations and right-click on this animation: '''ThirdPerson_AnimBP'''
Select retarget and choose MH_Skeleton as your target - also select the animation folder you made before, something like this:
[[File:MH-Base-Animation-Retarget.png]]
You may want to rename your new ThirdPerson_AnimBP to '''''MH''_ThirdPerson_AnimBP''' - or perhaps simply MH_AnimBP?
=More shape keys, made in Blender 2.8=
I have not yet made any target in MH, also I have not had much luck in using the two blender addons. Frankly I don't really understand what the different buttons does, most of them are not active... perhaps they make sens if you use Blender a lot?
But I will show you different ways to get targets, expressions and skeleton animations(!) to shape keys, so then will be new morph targets in UE4!
4d75931f5e4360000206e7e2ff3558452b82980d
1689
1688
2020-02-27T17:02:58Z
Assetdk
89
/* UE4 import, and retarget */
wikitext
text/x-wiki
=What can and can't be done?=
I have been working on getting different characters into UE4 for some time, and this have been a real hassle!
On this page I want to summarize what I managed to get done using a workflow that involves Blender. I have had a focus on not going into much details regarding any of the tools, but you will need to know a few things. Even though this looks like a trivial task there are some pitfalls and also there are some things that can not be done, or I have just not found out how to. I will eventually also add links to all the YT tutorials I found helpful.
I found that working with Makehuman very easy, so focus will be very UE4 how to specific.
This is what I will cover thus far:
* Create and save any MH character in Makehuman. Basic stuff, and important things to avoid.
* Getting the character into Blender - import or link?
* Setup Blender for Export, shape keys and morph targets
* First import into UE4
* Introduction to more shape keys
* Get the Cloth working
* Mixamo animations
This is the stuff that I did not cover - yet:
* Animations for talking (other tutorials may help)
* Making custom cloth
* Hair
This is the stuff I can not get to work:
* Retargeting to Advanced Locomotion System V3/4
=Getting started=
I wanted a quick way to populate a UE4 game, preferably with an unlimited number of varied characters of high quality. This has proven to be a bit harder than expected. The workflow for making characters is not as trivial as one would want but this guide should make it a bit more easy to do. I will focus on describing the "straight" path from Makehuman and into UE4 - so you will not find too much details about Blender. Please refer to Blender specific pages for more on that.
==Need to know==
There are a few terms that you need to know, say you need to know that you will import FBX, textures and other files into UE4. Also you will need to know that a Character consists of a '''Mesh''', a '''Skeleton''' and '''''materials''''' (that refers to textures). I will try to elaborate on these subjects as we go along...
==Making a base-character==
Makehuman provides a range of predefined characters that is supposed to work as-is. You can just load a character, export it to FBX and import that into UE4 - and after a bit of work you can have a working player character! There are however a few pitfalls, so I suggest you make one (or more) base-character(s) that you can elaborate on as you go along. I will be working with ''''''averagedude'''''' as my base-character.
These are the steps to make the base characters:
* Open Makehuman
* Select the files tab and load the character
'''Under 'Geometries''''
* Remove cloth - (uncheck Hide faces under cloth)!
* Remove hair
* Add Teeth
* Choose Topology - '''I have no advice on this - but see comment below!'''
* Chose Eyebrows/Eyelashes, these can be changed as you go along - as can eye colors!
* Add Tongue01 (again I have no advice/recommendation on that, yet)
'''Under 'Materials'''' - I will show you how to work with UE4 "advanced" materials:
* Chose any skin that you like,
* Chose any eyes that you like
'''Under 'Pose/Animate''''
* Chose Skeleton: Uengine - if you do not have this already you my get it via the community tab?
* Chose Pose: Tpose (the last one on the list)
* Chose Expressions: none
And this is it! But there is one 'important' option you need know about - you need to '''uncheck''' the Smooth button!
The smooth button/option: [[File:MH-Smooth-option.png]] should be unchecked... that will make your character a bit less attractive, but this will preserve the shape-keys!
Makehuman comes with some 50-60 '''shape-keys''' and these will all be available as '''morph-targets''' in UE4. I will show you how to make more shape-keys, using makehuman+blender!
Now it is time to save your base-character - even though you have made very few changes to the file you should save this file under the save tab and name it
<your-name>-base (say averagedude-base), you can even add your very own tag 'base' to this.
When you save the file like this you will be able to reload it, and we need that later!
====Choose Topology/Shape keys====
When you make your base character without smoothing you get shape keys, and you want to share these between different characters. Specifically you would probably want to share face morphs between male and female characters - and there may be other base character variations, say old/young/child etc.
Later I will focus on how to make new shape keys, using blender - depending on how you want to do this you may want to '''chose Topology that is compatible between the different characters!''' That is you may be able to transfer one "shape" from a male character to a female character, but the result will depend on ''topology compatibility''. I will/may thus update this section to make sure
'''Shape key names''' will be the same for all of the base characters, as they come from - however you will be able to make new keys. You must name these keys the same for all MH characters, like these share the same skeleton (MH_Skelton) they must hold all the same shape keys names. If they don't your game may "break"....
===Export your base-character===
You can now take a break - or you can export your work. There are really tree options for you to look at:
* Save the FBX file directly
* Save a MHX2 file (you may need to install this as a option/utility, find our elsewhere!)
* Load the character to '''Blender''' directly via the link (I will get back to what can be done using that!)
I suggest that you save your base-character now, in both formats - FBX and MHX2! Make a specific 'Base-Characters' folder, because you will need it!
When you export the FBX use these options:
[[File:MH-FBX-export-options.png]]
This is the result for me, you should see something like this also:
[[File:MH-Base-Character-Folder.png]]
You should also see that there is a sub-folder, called Textures - this is where the different textures are saved and it should now look like this:
[[File:MH-Base-Character-Folder-textures.png]]
You can now go over all of the different textures, so you will have a wide selection to chose from. Textures are saved every time you save a FBX file!
Say, I change the base-characters textures, saved the FBX - and this is what I got:
[[File:MH-Base-Character-Folder-textures2.png]]
===Import your base-character to UE4 - FBX===
The FBX file will actually import directly to UE4, but there are a few problems! You should export your FBX file as Binary FBX, and you will get the most out of it. After this you can get to this result (after adjusting the materials, as seen below):
[[File:MH-MH-FBX-imported.png]]
Your character can look like this (after adjusting materials) - pretty good:
[[File:MH-MH-FBX-imported-materials.png]]
'''HOWEVER, you have lost the morph-targets! And as you probably noticed, the UE4 standard FBX import do import them!'''
I will get back to what to do about the shape-keys... but let make the materials first?
==Makehuman UE4 materials==
When you import the FBX made you exported from Makehuman, both textures and materials are made. You will also notice that UE4 will try to match the materials correctly to the material slots, as seen above in the 'Asset Details' of, in my case, averagedude-base (do not worry about the physics and the skeleton yet!).
To get you started, we need to take a look at the Eye, Eyelashes and Eyebrow materials...
===Eye materials===
First you can rename the '''high-poly''' material '''high-poly-''blue-eye''''' - or to whatever color you chose! You will probably make more eye materials.
Next you can double-click the material, to open the material-editor and change it to look something like this:
[[File:MH-UE4-Eye-material.png]]
===Eyelashes and Eyebrow materials===
Likewise you can set up the eyelashes, and the eyebrows are the same only you do not need ''two sided'' for the bows:
[[File:MH-UE4-Eyelashes-material.png]]
!?You may want to play with the shading model.
===More materials?===
You can simply drag and drop more textures from the the base-character/textures folder, then duplicate and rename the materials, and apply different textures to the renamed materials. At some point I want to be able to customize/randomize (NPC) characters, but I have not yet done that.
Also you can make materials instances with parameters... I will show you howto, but first we need to turn shape-keys into morph-targets.
=Use Blender v 2.80 to get more!!=
For some reason the exported FBX file is not organized in a way so you will get the shape-keys imported directly to UE4. However when you follow the next steps, you will not get the correct materials imported, so I recommend that you run FBX import as shown above, and save the textures/materials in a separate folder.
If you are new to Blender please run a few tutorials specifically on on how to import/export, and also get to know about collections - you can do a lot in Blender and you can get confused!
==What will be done here?==
I will show you how to:
* Import your MHX2 files, to preserve the shape-keys
* Export FBX files, so UE4 will import correctly with morph-targets
* Apply expressions etc. to your base character
* Import these to your Blender file and apply the expressions as '''new shape keys'''
==But, first import and inspect FBX and MHX2!==
As you may remember you exported two files, the FBX file and the MHX2 file. You want to import both of these files into Blender, so you need two Collections, called FBX and MHX2. You right-click on the 'Scene collection' select 'New' and rename the collections to 'FBX' and 'MHX2'... I also added Scene collection and dragged the Camera and Light there (as I deleted the box). After this you should see something link this (the small Icons may be different):
[[File:MH-Base-Blender-setup.png]]
When you import your FBX file select/highlight the FBX collection, so the FBX data get imported into that collection. You can use the standard import options. For MHX2 you need to change the setting to match those you see below - when you find they are correct you can click the + sign, marked with a yellow arrow, and save the setting with your own setting-name.
(You may notice that the character you imported is out of proportions, some 17-18 meters high, we will correct that when we export to UE4!)
[[File:MH-Blender-FBX-import-options.png]]
===Inspect the results, in Blender===
Now is a good time to save the Blender file. You should save this in the same folder as the FBX and MHX2. I call this file averagedude-base.blend.
If you did this approximately as described the result should be munch like below. And you will probably notice that there is some structural differences. You can see that by looking at the small icons [[File:MH-Blender-base-imported-icons.png]], that represent where modifiers, vertex groups and Object data is stored! Specifically the Object data holds the shape-keys and those were not imported. (perhaps because I did not use the correct FBX import options - but the same happens in UE4!).
[[File:MH-Blender-base-imported.png]]
You will notice that the MHX2 version of your character holds the Object data (the triangle) and that shape-keys can be seen there!
==Export the FBX for your base character, and import to UE4==
The next step is crucial for getting things to work in UE4, it is not very complicated but you need to have a plan.
When you did this correctly you should be able to get the following results:
* Import your base character into UE4
* Create retargeting for your common skeleton - called MH_Skeleton
* Retarget the Maniqin animations to your base character(s)
* Get additional Mixamo animations
===FBX export settings===
'''Important!''' Before you go any further you should rename your base character to '''main_root''', like this:
[[File:MH-Base-FBX-main-root.png]]
.... you should do this for all base characters! main_root will be the root bone in your skeleton. When you do it like this, all of your base characters will be able to share the same skeleton!
Now select the MHX2 collection where you have the character, and go to Export FBX.
I have made a 'Operator preset' for the FBX export, this is the options you need to set:
[[File:MH-Base-FBX-operator-presets.png]]
Place the FBX file in the same folder as where you placed the original FBX and the MHX2. You probably do not need the FBX that you made with Makehuman, and you can always make it again?
(You may however want to export more FBX files from Makehuman, simply to get all of the textures. We will look more into how you can use the skin textures!)
==UE4 import, and retarget ==
Go to your UE4 project and make a MH folder containing a new avaragedude folder, and import your base character there!
Observe that this character looks very much like the one you did already import from the original FBX, there are little difference - yet you want to set up this as your real base character.
Also you want to rename the skeleton to '''MH_Skeleton'''! And you want to open the skeleton, and retarget it to the humanoid rig... this should look like this:
[[File:MH-Base-Skeleton-Retarget.png]]
Make sure that your character is in T-Pose, as you want to retarget the Mannequin animations to your characters MH_Skeleton!
Make a animation folder in your MH, perhaps even Mannequin folder?
You go to the UE4 folder: Content/Mannequin/Animations and right-click on this animation: '''ThirdPerson_AnimBP'''
Select retarget and choose MH_Skeleton as your target - also select the animation folder you made before, something like this:
[[File:MH-Base-Animation-Retarget.png]]
You may want to rename your new ThirdPerson_AnimBP to '''''MH''_ThirdPerson_AnimBP''' - or perhaps simply MH_AnimBP?
=More shape keys, made in Blender 2.8=
a4b2879231436117c13b9c1967c8c08ebf1913d5
1688
1687
2020-02-27T07:55:36Z
Assetdk
89
/* Choose Topology/Shape keys */
wikitext
text/x-wiki
=What can and can't be done?=
I have been working on getting different characters into UE4 for some time, and this have been a real hassle!
On this page I want to summarize what I managed to get done using a workflow that involves Blender. I have had a focus on not going into much details regarding any of the tools, but you will need to know a few things. Even though this looks like a trivial task there are some pitfalls and also there are some things that can not be done, or I have just not found out how to. I will eventually also add links to all the YT tutorials I found helpful.
I found that working with Makehuman very easy, so focus will be very UE4 how to specific.
This is what I will cover thus far:
* Create and save any MH character in Makehuman. Basic stuff, and important things to avoid.
* Getting the character into Blender - import or link?
* Setup Blender for Export, shape keys and morph targets
* First import into UE4
* Introduction to more shape keys
* Get the Cloth working
* Mixamo animations
This is the stuff that I did not cover - yet:
* Animations for talking (other tutorials may help)
* Making custom cloth
* Hair
This is the stuff I can not get to work:
* Retargeting to Advanced Locomotion System V3/4
=Getting started=
I wanted a quick way to populate a UE4 game, preferably with an unlimited number of varied characters of high quality. This has proven to be a bit harder than expected. The workflow for making characters is not as trivial as one would want but this guide should make it a bit more easy to do. I will focus on describing the "straight" path from Makehuman and into UE4 - so you will not find too much details about Blender. Please refer to Blender specific pages for more on that.
==Need to know==
There are a few terms that you need to know, say you need to know that you will import FBX, textures and other files into UE4. Also you will need to know that a Character consists of a '''Mesh''', a '''Skeleton''' and '''''materials''''' (that refers to textures). I will try to elaborate on these subjects as we go along...
==Making a base-character==
Makehuman provides a range of predefined characters that is supposed to work as-is. You can just load a character, export it to FBX and import that into UE4 - and after a bit of work you can have a working player character! There are however a few pitfalls, so I suggest you make one (or more) base-character(s) that you can elaborate on as you go along. I will be working with ''''''averagedude'''''' as my base-character.
These are the steps to make the base characters:
* Open Makehuman
* Select the files tab and load the character
'''Under 'Geometries''''
* Remove cloth - (uncheck Hide faces under cloth)!
* Remove hair
* Add Teeth
* Choose Topology - '''I have no advice on this - but see comment below!'''
* Chose Eyebrows/Eyelashes, these can be changed as you go along - as can eye colors!
* Add Tongue01 (again I have no advice/recommendation on that, yet)
'''Under 'Materials'''' - I will show you how to work with UE4 "advanced" materials:
* Chose any skin that you like,
* Chose any eyes that you like
'''Under 'Pose/Animate''''
* Chose Skeleton: Uengine - if you do not have this already you my get it via the community tab?
* Chose Pose: Tpose (the last one on the list)
* Chose Expressions: none
And this is it! But there is one 'important' option you need know about - you need to '''uncheck''' the Smooth button!
The smooth button/option: [[File:MH-Smooth-option.png]] should be unchecked... that will make your character a bit less attractive, but this will preserve the shape-keys!
Makehuman comes with some 50-60 '''shape-keys''' and these will all be available as '''morph-targets''' in UE4. I will show you how to make more shape-keys, using makehuman+blender!
Now it is time to save your base-character - even though you have made very few changes to the file you should save this file under the save tab and name it
<your-name>-base (say averagedude-base), you can even add your very own tag 'base' to this.
When you save the file like this you will be able to reload it, and we need that later!
====Choose Topology/Shape keys====
When you make your base character without smoothing you get shape keys, and you want to share these between different characters. Specifically you would probably want to share face morphs between male and female characters - and there may be other base character variations, say old/young/child etc.
Later I will focus on how to make new shape keys, using blender - depending on how you want to do this you may want to '''chose Topology that is compatible between the different characters!''' That is you may be able to transfer one "shape" from a male character to a female character, but the result will depend on ''topology compatibility''. I will/may thus update this section to make sure
'''Shape key names''' will be the same for all of the base characters, as they come from - however you will be able to make new keys. You must name these keys the same for all MH characters, like these share the same skeleton (MH_Skelton) they must hold all the same shape keys names. If they don't your game may "break"....
===Export your base-character===
You can now take a break - or you can export your work. There are really tree options for you to look at:
* Save the FBX file directly
* Save a MHX2 file (you may need to install this as a option/utility, find our elsewhere!)
* Load the character to '''Blender''' directly via the link (I will get back to what can be done using that!)
I suggest that you save your base-character now, in both formats - FBX and MHX2! Make a specific 'Base-Characters' folder, because you will need it!
When you export the FBX use these options:
[[File:MH-FBX-export-options.png]]
This is the result for me, you should see something like this also:
[[File:MH-Base-Character-Folder.png]]
You should also see that there is a sub-folder, called Textures - this is where the different textures are saved and it should now look like this:
[[File:MH-Base-Character-Folder-textures.png]]
You can now go over all of the different textures, so you will have a wide selection to chose from. Textures are saved every time you save a FBX file!
Say, I change the base-characters textures, saved the FBX - and this is what I got:
[[File:MH-Base-Character-Folder-textures2.png]]
===Import your base-character to UE4 - FBX===
The FBX file will actually import directly to UE4, but there are a few problems! You should export your FBX file as Binary FBX, and you will get the most out of it. After this you can get to this result (after adjusting the materials, as seen below):
[[File:MH-MH-FBX-imported.png]]
Your character can look like this (after adjusting materials) - pretty good:
[[File:MH-MH-FBX-imported-materials.png]]
'''HOWEVER, you have lost the morph-targets! And as you probably noticed, the UE4 standard FBX import do import them!'''
I will get back to what to do about the shape-keys... but let make the materials first?
==Makehuman UE4 materials==
When you import the FBX made you exported from Makehuman, both textures and materials are made. You will also notice that UE4 will try to match the materials correctly to the material slots, as seen above in the 'Asset Details' of, in my case, averagedude-base (do not worry about the physics and the skeleton yet!).
To get you started, we need to take a look at the Eye, Eyelashes and Eyebrow materials...
===Eye materials===
First you can rename the '''high-poly''' material '''high-poly-''blue-eye''''' - or to whatever color you chose! You will probably make more eye materials.
Next you can double-click the material, to open the material-editor and change it to look something like this:
[[File:MH-UE4-Eye-material.png]]
===Eyelashes and Eyebrow materials===
Likewise you can set up the eyelashes, and the eyebrows are the same only you do not need ''two sided'' for the bows:
[[File:MH-UE4-Eyelashes-material.png]]
!?You may want to play with the shading model.
===More materials?===
You can simply drag and drop more textures from the the base-character/textures folder, then duplicate and rename the materials, and apply different textures to the renamed materials. At some point I want to be able to customize/randomize (NPC) characters, but I have not yet done that.
Also you can make materials instances with parameters... I will show you howto, but first we need to turn shape-keys into morph-targets.
=Use Blender v 2.80 to get more!!=
For some reason the exported FBX file is not organized in a way so you will get the shape-keys imported directly to UE4. However when you follow the next steps, you will not get the correct materials imported, so I recommend that you run FBX import as shown above, and save the textures/materials in a separate folder.
If you are new to Blender please run a few tutorials specifically on on how to import/export, and also get to know about collections - you can do a lot in Blender and you can get confused!
==What will be done here?==
I will show you how to:
* Import your MHX2 files, to preserve the shape-keys
* Export FBX files, so UE4 will import correctly with morph-targets
* Apply expressions etc. to your base character
* Import these to your Blender file and apply the expressions as '''new shape keys'''
==But, first import and inspect FBX and MHX2!==
As you may remember you exported two files, the FBX file and the MHX2 file. You want to import both of these files into Blender, so you need two Collections, called FBX and MHX2. You right-click on the 'Scene collection' select 'New' and rename the collections to 'FBX' and 'MHX2'... I also added Scene collection and dragged the Camera and Light there (as I deleted the box). After this you should see something link this (the small Icons may be different):
[[File:MH-Base-Blender-setup.png]]
When you import your FBX file select/highlight the FBX collection, so the FBX data get imported into that collection. You can use the standard import options. For MHX2 you need to change the setting to match those you see below - when you find they are correct you can click the + sign, marked with a yellow arrow, and save the setting with your own setting-name.
(You may notice that the character you imported is out of proportions, some 17-18 meters high, we will correct that when we export to UE4!)
[[File:MH-Blender-FBX-import-options.png]]
===Inspect the results, in Blender===
Now is a good time to save the Blender file. You should save this in the same folder as the FBX and MHX2. I call this file averagedude-base.blend.
If you did this approximately as described the result should be munch like below. And you will probably notice that there is some structural differences. You can see that by looking at the small icons [[File:MH-Blender-base-imported-icons.png]], that represent where modifiers, vertex groups and Object data is stored! Specifically the Object data holds the shape-keys and those were not imported. (perhaps because I did not use the correct FBX import options - but the same happens in UE4!).
[[File:MH-Blender-base-imported.png]]
You will notice that the MHX2 version of your character holds the Object data (the triangle) and that shape-keys can be seen there!
==Export the FBX for your base character, and import to UE4==
The next step is crucial for getting things to work in UE4, it is not very complicated but you need to have a plan.
When you did this correctly you should be able to get the following results:
* Import your base character into UE4
* Create retargeting for your common skeleton - called MH_Skeleton
* Retarget the Maniqin animations to your base character(s)
* Get additional Mixamo animations
===FBX export settings===
'''Important!''' Before you go any further you should rename your base character to '''main_root''', like this:
[[File:MH-Base-FBX-main-root.png]]
.... you should do this for all base characters! main_root will be the root bone in your skeleton. When you do it like this, all of your base characters will be able to share the same skeleton!
Now select the MHX2 collection where you have the character, and go to Export FBX.
I have made a 'Operator preset' for the FBX export, this is the options you need to set:
[[File:MH-Base-FBX-operator-presets.png]]
Place the FBX file in the same folder as where you placed the original FBX and the MHX2. You probably do not need the FBX that you made with Makehuman, and you can always make it again?
(You may however want to export more FBX files from Makehuman, simply to get all of the textures. We will look more into how you can use the skin textures!)
==UE4 import, and retarget ==
Go to your UE4 project and make a MH folder containing a new avaragedude folder, and import your base character there!
Observe that this character looks very much like the one you did already import from the original FBX, there are little difference - yet you want to set up this as your real base character.
Also you want to rename the skeleton to '''MH_Skeleton'''! And you want to open the skeleton, and retarget it to the humanoid rig... this should look like this:
[[File:MH-Base-Skeleton-Retarget.png]]
Make sure that your character is in T-Pose, as you want to retarget the Mannequin animations to your characters MH_Skeleton!
Make a animation folder in your MH, perhaps even Mannequin folder?
You go to the UE4 folder: Content/Mannequin/Animations and right-click on this animation: '''ThirdPerson_AnimBP'''
Select retarget and choose MH_Skeleton as your target - also select the animation folder you made before, something like this:
[[File:MH-Base-Animation-Retarget.png]]
You may want to rename your new ThirdPerson_AnimBP to '''''MH''_ThirdPerson_AnimBP''' - or perhaps simply MH_AnimBP?
7c4c8f823cdb8cff33c7f9c27cd94c0259f698e0
1687
1686
2020-02-27T07:32:35Z
Assetdk
89
/* Export your base-character */
wikitext
text/x-wiki
=What can and can't be done?=
I have been working on getting different characters into UE4 for some time, and this have been a real hassle!
On this page I want to summarize what I managed to get done using a workflow that involves Blender. I have had a focus on not going into much details regarding any of the tools, but you will need to know a few things. Even though this looks like a trivial task there are some pitfalls and also there are some things that can not be done, or I have just not found out how to. I will eventually also add links to all the YT tutorials I found helpful.
I found that working with Makehuman very easy, so focus will be very UE4 how to specific.
This is what I will cover thus far:
* Create and save any MH character in Makehuman. Basic stuff, and important things to avoid.
* Getting the character into Blender - import or link?
* Setup Blender for Export, shape keys and morph targets
* First import into UE4
* Introduction to more shape keys
* Get the Cloth working
* Mixamo animations
This is the stuff that I did not cover - yet:
* Animations for talking (other tutorials may help)
* Making custom cloth
* Hair
This is the stuff I can not get to work:
* Retargeting to Advanced Locomotion System V3/4
=Getting started=
I wanted a quick way to populate a UE4 game, preferably with an unlimited number of varied characters of high quality. This has proven to be a bit harder than expected. The workflow for making characters is not as trivial as one would want but this guide should make it a bit more easy to do. I will focus on describing the "straight" path from Makehuman and into UE4 - so you will not find too much details about Blender. Please refer to Blender specific pages for more on that.
==Need to know==
There are a few terms that you need to know, say you need to know that you will import FBX, textures and other files into UE4. Also you will need to know that a Character consists of a '''Mesh''', a '''Skeleton''' and '''''materials''''' (that refers to textures). I will try to elaborate on these subjects as we go along...
==Making a base-character==
Makehuman provides a range of predefined characters that is supposed to work as-is. You can just load a character, export it to FBX and import that into UE4 - and after a bit of work you can have a working player character! There are however a few pitfalls, so I suggest you make one (or more) base-character(s) that you can elaborate on as you go along. I will be working with ''''''averagedude'''''' as my base-character.
These are the steps to make the base characters:
* Open Makehuman
* Select the files tab and load the character
'''Under 'Geometries''''
* Remove cloth - (uncheck Hide faces under cloth)!
* Remove hair
* Add Teeth
* Choose Topology - '''I have no advice on this - but see comment below!'''
* Chose Eyebrows/Eyelashes, these can be changed as you go along - as can eye colors!
* Add Tongue01 (again I have no advice/recommendation on that, yet)
'''Under 'Materials'''' - I will show you how to work with UE4 "advanced" materials:
* Chose any skin that you like,
* Chose any eyes that you like
'''Under 'Pose/Animate''''
* Chose Skeleton: Uengine - if you do not have this already you my get it via the community tab?
* Chose Pose: Tpose (the last one on the list)
* Chose Expressions: none
And this is it! But there is one 'important' option you need know about - you need to '''uncheck''' the Smooth button!
The smooth button/option: [[File:MH-Smooth-option.png]] should be unchecked... that will make your character a bit less attractive, but this will preserve the shape-keys!
Makehuman comes with some 50-60 '''shape-keys''' and these will all be available as '''morph-targets''' in UE4. I will show you how to make more shape-keys, using makehuman+blender!
Now it is time to save your base-character - even though you have made very few changes to the file you should save this file under the save tab and name it
<your-name>-base (say averagedude-base), you can even add your very own tag 'base' to this.
When you save the file like this you will be able to reload it, and we need that later!
====Choose Topology/Shape keys====
When you make your base character without smoothing you get shape keys, and you want to share these between different characters. Specifically you would probably want to share face morphs between male and female characters - and there may be other base character variations, say old/young/child etc.
Later I will focus on how to make new shape keys, using blender - depending on how you want to do this you may want to '''chose Topology that is compatible between the different characters!''' That is you may be able to transfer one "shape" from a male character to a female character, but the result will depend on ''topology compatibility''. I will/may thus update this section to make sure
Shape key names will be the same for all of the base characters - however you will be able to make new keys. You must name these keys the same for all MH characters, like these share the same skeleton (MH_Skelton) they must hold all the same shape keys names. If they don't your game may "break"....
===Export your base-character===
You can now take a break - or you can export your work. There are really tree options for you to look at:
* Save the FBX file directly
* Save a MHX2 file (you may need to install this as a option/utility, find our elsewhere!)
* Load the character to '''Blender''' directly via the link (I will get back to what can be done using that!)
I suggest that you save your base-character now, in both formats - FBX and MHX2! Make a specific 'Base-Characters' folder, because you will need it!
When you export the FBX use these options:
[[File:MH-FBX-export-options.png]]
This is the result for me, you should see something like this also:
[[File:MH-Base-Character-Folder.png]]
You should also see that there is a sub-folder, called Textures - this is where the different textures are saved and it should now look like this:
[[File:MH-Base-Character-Folder-textures.png]]
You can now go over all of the different textures, so you will have a wide selection to chose from. Textures are saved every time you save a FBX file!
Say, I change the base-characters textures, saved the FBX - and this is what I got:
[[File:MH-Base-Character-Folder-textures2.png]]
===Import your base-character to UE4 - FBX===
The FBX file will actually import directly to UE4, but there are a few problems! You should export your FBX file as Binary FBX, and you will get the most out of it. After this you can get to this result (after adjusting the materials, as seen below):
[[File:MH-MH-FBX-imported.png]]
Your character can look like this (after adjusting materials) - pretty good:
[[File:MH-MH-FBX-imported-materials.png]]
'''HOWEVER, you have lost the morph-targets! And as you probably noticed, the UE4 standard FBX import do import them!'''
I will get back to what to do about the shape-keys... but let make the materials first?
==Makehuman UE4 materials==
When you import the FBX made you exported from Makehuman, both textures and materials are made. You will also notice that UE4 will try to match the materials correctly to the material slots, as seen above in the 'Asset Details' of, in my case, averagedude-base (do not worry about the physics and the skeleton yet!).
To get you started, we need to take a look at the Eye, Eyelashes and Eyebrow materials...
===Eye materials===
First you can rename the '''high-poly''' material '''high-poly-''blue-eye''''' - or to whatever color you chose! You will probably make more eye materials.
Next you can double-click the material, to open the material-editor and change it to look something like this:
[[File:MH-UE4-Eye-material.png]]
===Eyelashes and Eyebrow materials===
Likewise you can set up the eyelashes, and the eyebrows are the same only you do not need ''two sided'' for the bows:
[[File:MH-UE4-Eyelashes-material.png]]
!?You may want to play with the shading model.
===More materials?===
You can simply drag and drop more textures from the the base-character/textures folder, then duplicate and rename the materials, and apply different textures to the renamed materials. At some point I want to be able to customize/randomize (NPC) characters, but I have not yet done that.
Also you can make materials instances with parameters... I will show you howto, but first we need to turn shape-keys into morph-targets.
=Use Blender v 2.80 to get more!!=
For some reason the exported FBX file is not organized in a way so you will get the shape-keys imported directly to UE4. However when you follow the next steps, you will not get the correct materials imported, so I recommend that you run FBX import as shown above, and save the textures/materials in a separate folder.
If you are new to Blender please run a few tutorials specifically on on how to import/export, and also get to know about collections - you can do a lot in Blender and you can get confused!
==What will be done here?==
I will show you how to:
* Import your MHX2 files, to preserve the shape-keys
* Export FBX files, so UE4 will import correctly with morph-targets
* Apply expressions etc. to your base character
* Import these to your Blender file and apply the expressions as '''new shape keys'''
==But, first import and inspect FBX and MHX2!==
As you may remember you exported two files, the FBX file and the MHX2 file. You want to import both of these files into Blender, so you need two Collections, called FBX and MHX2. You right-click on the 'Scene collection' select 'New' and rename the collections to 'FBX' and 'MHX2'... I also added Scene collection and dragged the Camera and Light there (as I deleted the box). After this you should see something link this (the small Icons may be different):
[[File:MH-Base-Blender-setup.png]]
When you import your FBX file select/highlight the FBX collection, so the FBX data get imported into that collection. You can use the standard import options. For MHX2 you need to change the setting to match those you see below - when you find they are correct you can click the + sign, marked with a yellow arrow, and save the setting with your own setting-name.
(You may notice that the character you imported is out of proportions, some 17-18 meters high, we will correct that when we export to UE4!)
[[File:MH-Blender-FBX-import-options.png]]
===Inspect the results, in Blender===
Now is a good time to save the Blender file. You should save this in the same folder as the FBX and MHX2. I call this file averagedude-base.blend.
If you did this approximately as described the result should be munch like below. And you will probably notice that there is some structural differences. You can see that by looking at the small icons [[File:MH-Blender-base-imported-icons.png]], that represent where modifiers, vertex groups and Object data is stored! Specifically the Object data holds the shape-keys and those were not imported. (perhaps because I did not use the correct FBX import options - but the same happens in UE4!).
[[File:MH-Blender-base-imported.png]]
You will notice that the MHX2 version of your character holds the Object data (the triangle) and that shape-keys can be seen there!
==Export the FBX for your base character, and import to UE4==
The next step is crucial for getting things to work in UE4, it is not very complicated but you need to have a plan.
When you did this correctly you should be able to get the following results:
* Import your base character into UE4
* Create retargeting for your common skeleton - called MH_Skeleton
* Retarget the Maniqin animations to your base character(s)
* Get additional Mixamo animations
===FBX export settings===
'''Important!''' Before you go any further you should rename your base character to '''main_root''', like this:
[[File:MH-Base-FBX-main-root.png]]
.... you should do this for all base characters! main_root will be the root bone in your skeleton. When you do it like this, all of your base characters will be able to share the same skeleton!
Now select the MHX2 collection where you have the character, and go to Export FBX.
I have made a 'Operator preset' for the FBX export, this is the options you need to set:
[[File:MH-Base-FBX-operator-presets.png]]
Place the FBX file in the same folder as where you placed the original FBX and the MHX2. You probably do not need the FBX that you made with Makehuman, and you can always make it again?
(You may however want to export more FBX files from Makehuman, simply to get all of the textures. We will look more into how you can use the skin textures!)
==UE4 import, and retarget ==
Go to your UE4 project and make a MH folder containing a new avaragedude folder, and import your base character there!
Observe that this character looks very much like the one you did already import from the original FBX, there are little difference - yet you want to set up this as your real base character.
Also you want to rename the skeleton to '''MH_Skeleton'''! And you want to open the skeleton, and retarget it to the humanoid rig... this should look like this:
[[File:MH-Base-Skeleton-Retarget.png]]
Make sure that your character is in T-Pose, as you want to retarget the Mannequin animations to your characters MH_Skeleton!
Make a animation folder in your MH, perhaps even Mannequin folder?
You go to the UE4 folder: Content/Mannequin/Animations and right-click on this animation: '''ThirdPerson_AnimBP'''
Select retarget and choose MH_Skeleton as your target - also select the animation folder you made before, something like this:
[[File:MH-Base-Animation-Retarget.png]]
You may want to rename your new ThirdPerson_AnimBP to '''''MH''_ThirdPerson_AnimBP''' - or perhaps simply MH_AnimBP?
67af2e4ff8805bbaaefb9ac7a672c893922716db
1686
1685
2020-02-27T07:30:45Z
Assetdk
89
/* Making a base-character */
wikitext
text/x-wiki
=What can and can't be done?=
I have been working on getting different characters into UE4 for some time, and this have been a real hassle!
On this page I want to summarize what I managed to get done using a workflow that involves Blender. I have had a focus on not going into much details regarding any of the tools, but you will need to know a few things. Even though this looks like a trivial task there are some pitfalls and also there are some things that can not be done, or I have just not found out how to. I will eventually also add links to all the YT tutorials I found helpful.
I found that working with Makehuman very easy, so focus will be very UE4 how to specific.
This is what I will cover thus far:
* Create and save any MH character in Makehuman. Basic stuff, and important things to avoid.
* Getting the character into Blender - import or link?
* Setup Blender for Export, shape keys and morph targets
* First import into UE4
* Introduction to more shape keys
* Get the Cloth working
* Mixamo animations
This is the stuff that I did not cover - yet:
* Animations for talking (other tutorials may help)
* Making custom cloth
* Hair
This is the stuff I can not get to work:
* Retargeting to Advanced Locomotion System V3/4
=Getting started=
I wanted a quick way to populate a UE4 game, preferably with an unlimited number of varied characters of high quality. This has proven to be a bit harder than expected. The workflow for making characters is not as trivial as one would want but this guide should make it a bit more easy to do. I will focus on describing the "straight" path from Makehuman and into UE4 - so you will not find too much details about Blender. Please refer to Blender specific pages for more on that.
==Need to know==
There are a few terms that you need to know, say you need to know that you will import FBX, textures and other files into UE4. Also you will need to know that a Character consists of a '''Mesh''', a '''Skeleton''' and '''''materials''''' (that refers to textures). I will try to elaborate on these subjects as we go along...
==Making a base-character==
Makehuman provides a range of predefined characters that is supposed to work as-is. You can just load a character, export it to FBX and import that into UE4 - and after a bit of work you can have a working player character! There are however a few pitfalls, so I suggest you make one (or more) base-character(s) that you can elaborate on as you go along. I will be working with ''''''averagedude'''''' as my base-character.
These are the steps to make the base characters:
* Open Makehuman
* Select the files tab and load the character
'''Under 'Geometries''''
* Remove cloth - (uncheck Hide faces under cloth)!
* Remove hair
* Add Teeth
* Choose Topology - '''I have no advice on this - but see comment below!'''
* Chose Eyebrows/Eyelashes, these can be changed as you go along - as can eye colors!
* Add Tongue01 (again I have no advice/recommendation on that, yet)
'''Under 'Materials'''' - I will show you how to work with UE4 "advanced" materials:
* Chose any skin that you like,
* Chose any eyes that you like
'''Under 'Pose/Animate''''
* Chose Skeleton: Uengine - if you do not have this already you my get it via the community tab?
* Chose Pose: Tpose (the last one on the list)
* Chose Expressions: none
And this is it! But there is one 'important' option you need know about - you need to '''uncheck''' the Smooth button!
The smooth button/option: [[File:MH-Smooth-option.png]] should be unchecked... that will make your character a bit less attractive, but this will preserve the shape-keys!
Makehuman comes with some 50-60 '''shape-keys''' and these will all be available as '''morph-targets''' in UE4. I will show you how to make more shape-keys, using makehuman+blender!
Now it is time to save your base-character - even though you have made very few changes to the file you should save this file under the save tab and name it
<your-name>-base (say averagedude-base), you can even add your very own tag 'base' to this.
When you save the file like this you will be able to reload it, and we need that later!
===Export your base-character===
You can now take a break - or you can export your work. There are really tree options for you to look at:
* Save the FBX file directly
* Save a MHX2 file (you may need to install this as a option/utility, find our elsewhere!)
* Load the character to '''Blender''' directly via the link (I will get back to what can be done using that!)
I suggest that you save your base-character now, in both formats - FBX and MHX2! Make a specific 'Base-Characters' folder, because you will need it!
When you export the FBX use these options:
[[File:MH-FBX-export-options.png]]
This is the result for me, you should see something like this also:
[[File:MH-Base-Character-Folder.png]]
You should also see that there is a sub-folder, called Textures - this is where the different textures are saved and it should now look like this:
[[File:MH-Base-Character-Folder-textures.png]]
You can now go over all of the different textures, so you will have a wide selection to chose from. Textures are saved every time you save a FBX file!
Say, I change the base-characters textures, saved the FBX - and this is what I got:
[[File:MH-Base-Character-Folder-textures2.png]]
====Choose Topology/Shape keys====
When you make your base character without smoothing you get shape keys, and you want to share these between different characters. Specifically you would probably want to share face morphs between male and female characters - and there may be other base character variations, say old/young/child etc.
Later I will focus on how to make new shape keys, using blender - depending on how you want to do this you may want to '''chose Topology that is compatible between the different characters!''' That is you may be able to transfer one "shape" from a male character to a female character, but the result will depend on ''topology compatibility''. I will/may thus update this section to make sure
Shape key names will be the same for all of the base characters - however you will be able to make new keys. You must name these keys the same for all MH characters, like these share the same skeleton (MH_Skelton) they must hold all the same shape keys names. If they don't your game may "break"....
===Import your base-character to UE4 - FBX===
The FBX file will actually import directly to UE4, but there are a few problems! You should export your FBX file as Binary FBX, and you will get the most out of it. After this you can get to this result (after adjusting the materials, as seen below):
[[File:MH-MH-FBX-imported.png]]
Your character can look like this (after adjusting materials) - pretty good:
[[File:MH-MH-FBX-imported-materials.png]]
'''HOWEVER, you have lost the morph-targets! And as you probably noticed, the UE4 standard FBX import do import them!'''
I will get back to what to do about the shape-keys... but let make the materials first?
==Makehuman UE4 materials==
When you import the FBX made you exported from Makehuman, both textures and materials are made. You will also notice that UE4 will try to match the materials correctly to the material slots, as seen above in the 'Asset Details' of, in my case, averagedude-base (do not worry about the physics and the skeleton yet!).
To get you started, we need to take a look at the Eye, Eyelashes and Eyebrow materials...
===Eye materials===
First you can rename the '''high-poly''' material '''high-poly-''blue-eye''''' - or to whatever color you chose! You will probably make more eye materials.
Next you can double-click the material, to open the material-editor and change it to look something like this:
[[File:MH-UE4-Eye-material.png]]
===Eyelashes and Eyebrow materials===
Likewise you can set up the eyelashes, and the eyebrows are the same only you do not need ''two sided'' for the bows:
[[File:MH-UE4-Eyelashes-material.png]]
!?You may want to play with the shading model.
===More materials?===
You can simply drag and drop more textures from the the base-character/textures folder, then duplicate and rename the materials, and apply different textures to the renamed materials. At some point I want to be able to customize/randomize (NPC) characters, but I have not yet done that.
Also you can make materials instances with parameters... I will show you howto, but first we need to turn shape-keys into morph-targets.
=Use Blender v 2.80 to get more!!=
For some reason the exported FBX file is not organized in a way so you will get the shape-keys imported directly to UE4. However when you follow the next steps, you will not get the correct materials imported, so I recommend that you run FBX import as shown above, and save the textures/materials in a separate folder.
If you are new to Blender please run a few tutorials specifically on on how to import/export, and also get to know about collections - you can do a lot in Blender and you can get confused!
==What will be done here?==
I will show you how to:
* Import your MHX2 files, to preserve the shape-keys
* Export FBX files, so UE4 will import correctly with morph-targets
* Apply expressions etc. to your base character
* Import these to your Blender file and apply the expressions as '''new shape keys'''
==But, first import and inspect FBX and MHX2!==
As you may remember you exported two files, the FBX file and the MHX2 file. You want to import both of these files into Blender, so you need two Collections, called FBX and MHX2. You right-click on the 'Scene collection' select 'New' and rename the collections to 'FBX' and 'MHX2'... I also added Scene collection and dragged the Camera and Light there (as I deleted the box). After this you should see something link this (the small Icons may be different):
[[File:MH-Base-Blender-setup.png]]
When you import your FBX file select/highlight the FBX collection, so the FBX data get imported into that collection. You can use the standard import options. For MHX2 you need to change the setting to match those you see below - when you find they are correct you can click the + sign, marked with a yellow arrow, and save the setting with your own setting-name.
(You may notice that the character you imported is out of proportions, some 17-18 meters high, we will correct that when we export to UE4!)
[[File:MH-Blender-FBX-import-options.png]]
===Inspect the results, in Blender===
Now is a good time to save the Blender file. You should save this in the same folder as the FBX and MHX2. I call this file averagedude-base.blend.
If you did this approximately as described the result should be munch like below. And you will probably notice that there is some structural differences. You can see that by looking at the small icons [[File:MH-Blender-base-imported-icons.png]], that represent where modifiers, vertex groups and Object data is stored! Specifically the Object data holds the shape-keys and those were not imported. (perhaps because I did not use the correct FBX import options - but the same happens in UE4!).
[[File:MH-Blender-base-imported.png]]
You will notice that the MHX2 version of your character holds the Object data (the triangle) and that shape-keys can be seen there!
==Export the FBX for your base character, and import to UE4==
The next step is crucial for getting things to work in UE4, it is not very complicated but you need to have a plan.
When you did this correctly you should be able to get the following results:
* Import your base character into UE4
* Create retargeting for your common skeleton - called MH_Skeleton
* Retarget the Maniqin animations to your base character(s)
* Get additional Mixamo animations
===FBX export settings===
'''Important!''' Before you go any further you should rename your base character to '''main_root''', like this:
[[File:MH-Base-FBX-main-root.png]]
.... you should do this for all base characters! main_root will be the root bone in your skeleton. When you do it like this, all of your base characters will be able to share the same skeleton!
Now select the MHX2 collection where you have the character, and go to Export FBX.
I have made a 'Operator preset' for the FBX export, this is the options you need to set:
[[File:MH-Base-FBX-operator-presets.png]]
Place the FBX file in the same folder as where you placed the original FBX and the MHX2. You probably do not need the FBX that you made with Makehuman, and you can always make it again?
(You may however want to export more FBX files from Makehuman, simply to get all of the textures. We will look more into how you can use the skin textures!)
==UE4 import, and retarget ==
Go to your UE4 project and make a MH folder containing a new avaragedude folder, and import your base character there!
Observe that this character looks very much like the one you did already import from the original FBX, there are little difference - yet you want to set up this as your real base character.
Also you want to rename the skeleton to '''MH_Skeleton'''! And you want to open the skeleton, and retarget it to the humanoid rig... this should look like this:
[[File:MH-Base-Skeleton-Retarget.png]]
Make sure that your character is in T-Pose, as you want to retarget the Mannequin animations to your characters MH_Skeleton!
Make a animation folder in your MH, perhaps even Mannequin folder?
You go to the UE4 folder: Content/Mannequin/Animations and right-click on this animation: '''ThirdPerson_AnimBP'''
Select retarget and choose MH_Skeleton as your target - also select the animation folder you made before, something like this:
[[File:MH-Base-Animation-Retarget.png]]
You may want to rename your new ThirdPerson_AnimBP to '''''MH''_ThirdPerson_AnimBP''' - or perhaps simply MH_AnimBP?
82d670144fe2335162118bc8ecacf4c5fe14da67
1685
1683
2020-02-27T07:17:01Z
Assetdk
89
/* Making a base-character */
wikitext
text/x-wiki
=What can and can't be done?=
I have been working on getting different characters into UE4 for some time, and this have been a real hassle!
On this page I want to summarize what I managed to get done using a workflow that involves Blender. I have had a focus on not going into much details regarding any of the tools, but you will need to know a few things. Even though this looks like a trivial task there are some pitfalls and also there are some things that can not be done, or I have just not found out how to. I will eventually also add links to all the YT tutorials I found helpful.
I found that working with Makehuman very easy, so focus will be very UE4 how to specific.
This is what I will cover thus far:
* Create and save any MH character in Makehuman. Basic stuff, and important things to avoid.
* Getting the character into Blender - import or link?
* Setup Blender for Export, shape keys and morph targets
* First import into UE4
* Introduction to more shape keys
* Get the Cloth working
* Mixamo animations
This is the stuff that I did not cover - yet:
* Animations for talking (other tutorials may help)
* Making custom cloth
* Hair
This is the stuff I can not get to work:
* Retargeting to Advanced Locomotion System V3/4
=Getting started=
I wanted a quick way to populate a UE4 game, preferably with an unlimited number of varied characters of high quality. This has proven to be a bit harder than expected. The workflow for making characters is not as trivial as one would want but this guide should make it a bit more easy to do. I will focus on describing the "straight" path from Makehuman and into UE4 - so you will not find too much details about Blender. Please refer to Blender specific pages for more on that.
==Need to know==
There are a few terms that you need to know, say you need to know that you will import FBX, textures and other files into UE4. Also you will need to know that a Character consists of a '''Mesh''', a '''Skeleton''' and '''''materials''''' (that refers to textures). I will try to elaborate on these subjects as we go along...
==Making a base-character==
Makehuman provides a range of predefined characters that is supposed to work as-is. You can just load a character, export it to FBX and import that into UE4 - and after a bit of work you can have a working player character! There are however a few pitfalls, so I suggest you make one (or more) base-character(s) that you can elaborate on as you go along. I will be working with ''''''averagedude'''''' as my base-character.
These are the steps to make the base characters:
* Open Makehuman
* Select the files tab and load the character
'''Under 'Geometries''''
* Remove cloth - (uncheck Hide faces under cloth)!
* Remove hair
* Add Teeth
* Choose Topology - '''I have no advice on this - but see comment below!'''
* Chose Eyebrows/Eyelashes, these can be changed as you go along - as can eye colors!
* Add Tongue01 (again I have no advice/recommendation on that, yet)
'''Under 'Materials'''' - I will show you how to work with UE4 "advanced" materials:
* Chose any skin that you like,
* Chose any eyes that you like
'''Under 'Pose/Animate''''
* Chose Skeleton: Uengine - if you do not have this already you my get it via the community tab?
* Chose Pose: Tpose (the last one on the list)
* Chose Expressions: none
And this is it! But there is one 'important' option you need know about - you need to '''uncheck''' the Smooth button!
The smooth button/option: [[File:MH-Smooth-option.png]] should be unchecked... that will make your character a bit less attractive, but this will preserve the shape-keys!
Makehuman comes with some 50-60 '''shape-keys''' and these will all be available as '''morph-targets''' in UE4. I will show you how to make more shape-keys, using makehuman+blender!
Now it is time to save your base-character - even though you have made very few changes to the file you should save this file under the save tab and name it
<your-name>-base (say averagedude-base), you can even add your very own tag 'base' to this.
When you save the file like this you will be able to reload it, and we need that later!
===Export your base-character===
You can now take a break - or you can export your work. There are really tree options for you to look at:
* Save the FBX file directly
* Save a MHX2 file (you may need to install this as a option/utility, find our elsewhere!)
* Load the character to '''Blender''' directly via the link (I will get back to what can be done using that!)
I suggest that you save your base-character now, in both formats - FBX and MHX2! Make a specific 'Base-Characters' folder, because you will need it!
When you export the FBX use these options:
[[File:MH-FBX-export-options.png]]
This is the result for me, you should see something like this also:
[[File:MH-Base-Character-Folder.png]]
You should also see that there is a sub-folder, called Textures - this is where the different textures are saved and it should now look like this:
[[File:MH-Base-Character-Folder-textures.png]]
You can now go over all of the different textures, so you will have a wide selection to chose from. Textures are saved every time you save a FBX file!
Say, I change the base-characters textures, saved the FBX - and this is what I got:
[[File:MH-Base-Character-Folder-textures2.png]]
===Import your base-character to UE4 - FBX===
The FBX file will actually import directly to UE4, but there are a few problems! You should export your FBX file as Binary FBX, and you will get the most out of it. After this you can get to this result (after adjusting the materials, as seen below):
[[File:MH-MH-FBX-imported.png]]
Your character can look like this (after adjusting materials) - pretty good:
[[File:MH-MH-FBX-imported-materials.png]]
'''HOWEVER, you have lost the morph-targets! And as you probably noticed, the UE4 standard FBX import do import them!'''
I will get back to what to do about the shape-keys... but let make the materials first?
==Makehuman UE4 materials==
When you import the FBX made you exported from Makehuman, both textures and materials are made. You will also notice that UE4 will try to match the materials correctly to the material slots, as seen above in the 'Asset Details' of, in my case, averagedude-base (do not worry about the physics and the skeleton yet!).
To get you started, we need to take a look at the Eye, Eyelashes and Eyebrow materials...
===Eye materials===
First you can rename the '''high-poly''' material '''high-poly-''blue-eye''''' - or to whatever color you chose! You will probably make more eye materials.
Next you can double-click the material, to open the material-editor and change it to look something like this:
[[File:MH-UE4-Eye-material.png]]
===Eyelashes and Eyebrow materials===
Likewise you can set up the eyelashes, and the eyebrows are the same only you do not need ''two sided'' for the bows:
[[File:MH-UE4-Eyelashes-material.png]]
!?You may want to play with the shading model.
===More materials?===
You can simply drag and drop more textures from the the base-character/textures folder, then duplicate and rename the materials, and apply different textures to the renamed materials. At some point I want to be able to customize/randomize (NPC) characters, but I have not yet done that.
Also you can make materials instances with parameters... I will show you howto, but first we need to turn shape-keys into morph-targets.
=Use Blender v 2.80 to get more!!=
For some reason the exported FBX file is not organized in a way so you will get the shape-keys imported directly to UE4. However when you follow the next steps, you will not get the correct materials imported, so I recommend that you run FBX import as shown above, and save the textures/materials in a separate folder.
If you are new to Blender please run a few tutorials specifically on on how to import/export, and also get to know about collections - you can do a lot in Blender and you can get confused!
==What will be done here?==
I will show you how to:
* Import your MHX2 files, to preserve the shape-keys
* Export FBX files, so UE4 will import correctly with morph-targets
* Apply expressions etc. to your base character
* Import these to your Blender file and apply the expressions as '''new shape keys'''
==But, first import and inspect FBX and MHX2!==
As you may remember you exported two files, the FBX file and the MHX2 file. You want to import both of these files into Blender, so you need two Collections, called FBX and MHX2. You right-click on the 'Scene collection' select 'New' and rename the collections to 'FBX' and 'MHX2'... I also added Scene collection and dragged the Camera and Light there (as I deleted the box). After this you should see something link this (the small Icons may be different):
[[File:MH-Base-Blender-setup.png]]
When you import your FBX file select/highlight the FBX collection, so the FBX data get imported into that collection. You can use the standard import options. For MHX2 you need to change the setting to match those you see below - when you find they are correct you can click the + sign, marked with a yellow arrow, and save the setting with your own setting-name.
(You may notice that the character you imported is out of proportions, some 17-18 meters high, we will correct that when we export to UE4!)
[[File:MH-Blender-FBX-import-options.png]]
===Inspect the results, in Blender===
Now is a good time to save the Blender file. You should save this in the same folder as the FBX and MHX2. I call this file averagedude-base.blend.
If you did this approximately as described the result should be munch like below. And you will probably notice that there is some structural differences. You can see that by looking at the small icons [[File:MH-Blender-base-imported-icons.png]], that represent where modifiers, vertex groups and Object data is stored! Specifically the Object data holds the shape-keys and those were not imported. (perhaps because I did not use the correct FBX import options - but the same happens in UE4!).
[[File:MH-Blender-base-imported.png]]
You will notice that the MHX2 version of your character holds the Object data (the triangle) and that shape-keys can be seen there!
==Export the FBX for your base character, and import to UE4==
The next step is crucial for getting things to work in UE4, it is not very complicated but you need to have a plan.
When you did this correctly you should be able to get the following results:
* Import your base character into UE4
* Create retargeting for your common skeleton - called MH_Skeleton
* Retarget the Maniqin animations to your base character(s)
* Get additional Mixamo animations
===FBX export settings===
'''Important!''' Before you go any further you should rename your base character to '''main_root''', like this:
[[File:MH-Base-FBX-main-root.png]]
.... you should do this for all base characters! main_root will be the root bone in your skeleton. When you do it like this, all of your base characters will be able to share the same skeleton!
Now select the MHX2 collection where you have the character, and go to Export FBX.
I have made a 'Operator preset' for the FBX export, this is the options you need to set:
[[File:MH-Base-FBX-operator-presets.png]]
Place the FBX file in the same folder as where you placed the original FBX and the MHX2. You probably do not need the FBX that you made with Makehuman, and you can always make it again?
(You may however want to export more FBX files from Makehuman, simply to get all of the textures. We will look more into how you can use the skin textures!)
==UE4 import, and retarget ==
Go to your UE4 project and make a MH folder containing a new avaragedude folder, and import your base character there!
Observe that this character looks very much like the one you did already import from the original FBX, there are little difference - yet you want to set up this as your real base character.
Also you want to rename the skeleton to '''MH_Skeleton'''! And you want to open the skeleton, and retarget it to the humanoid rig... this should look like this:
[[File:MH-Base-Skeleton-Retarget.png]]
Make sure that your character is in T-Pose, as you want to retarget the Mannequin animations to your characters MH_Skeleton!
Make a animation folder in your MH, perhaps even Mannequin folder?
You go to the UE4 folder: Content/Mannequin/Animations and right-click on this animation: '''ThirdPerson_AnimBP'''
Select retarget and choose MH_Skeleton as your target - also select the animation folder you made before, something like this:
[[File:MH-Base-Animation-Retarget.png]]
You may want to rename your new ThirdPerson_AnimBP to '''''MH''_ThirdPerson_AnimBP''' - or perhaps simply MH_AnimBP?
4219420694b9c273c8dd13208c144329169c0372
1683
1682
2020-02-19T15:14:47Z
Assetdk
89
/* UE4 import, and retarget */
wikitext
text/x-wiki
=What can and can't be done?=
I have been working on getting different characters into UE4 for some time, and this have been a real hassle!
On this page I want to summarize what I managed to get done using a workflow that involves Blender. I have had a focus on not going into much details regarding any of the tools, but you will need to know a few things. Even though this looks like a trivial task there are some pitfalls and also there are some things that can not be done, or I have just not found out how to. I will eventually also add links to all the YT tutorials I found helpful.
I found that working with Makehuman very easy, so focus will be very UE4 how to specific.
This is what I will cover thus far:
* Create and save any MH character in Makehuman. Basic stuff, and important things to avoid.
* Getting the character into Blender - import or link?
* Setup Blender for Export, shape keys and morph targets
* First import into UE4
* Introduction to more shape keys
* Get the Cloth working
* Mixamo animations
This is the stuff that I did not cover - yet:
* Animations for talking (other tutorials may help)
* Making custom cloth
* Hair
This is the stuff I can not get to work:
* Retargeting to Advanced Locomotion System V3/4
=Getting started=
I wanted a quick way to populate a UE4 game, preferably with an unlimited number of varied characters of high quality. This has proven to be a bit harder than expected. The workflow for making characters is not as trivial as one would want but this guide should make it a bit more easy to do. I will focus on describing the "straight" path from Makehuman and into UE4 - so you will not find too much details about Blender. Please refer to Blender specific pages for more on that.
==Need to know==
There are a few terms that you need to know, say you need to know that you will import FBX, textures and other files into UE4. Also you will need to know that a Character consists of a '''Mesh''', a '''Skeleton''' and '''''materials''''' (that refers to textures). I will try to elaborate on these subjects as we go along...
==Making a base-character==
Makehuman provides a range of predefined characters that is supposed to work as-is. You can just load a character, export it to FBX and import that into UE4 - and after a bit of work you can have a working player character! There are however a few pitfalls, so I suggest you make one (or more) base-character(s) that you can elaborate on as you go along. I will be working with ''''''averagedude'''''' as my base-character.
These are the steps to make the base characters:
* Open Makehuman
* Select the files tab and load the character
'''Under 'Geometries''''
* Remove cloth - (uncheck Hide faces under cloth)!
* Remove hair
* Add Teeth
* Choose Topology (I have no advice on this!)
* Chose Eyebrows/Eyelashes, these can be changed as you go along - as can eye colors!
* Add Tongue01 (again I have no advice/recommendation on that, yet)
'''Under 'Materials'''' - I will show you how to work with UE4 "advanced" materials:
* Chose any skin that you like,
* Chose any eyes that you like
'''Under 'Pose/Animate''''
* Chose Skeleton: Uengine - if you do not have this already you my get it via the community tab?
* Chose Pose: Tpose (the last one on the list)
* Chose Expressions: none
And this is it! But there is one 'important' option you need know about - you need to '''uncheck''' the Smooth button!
The smooth button/option: [[File:MH-Smooth-option.png]] should be unchecked... that will make your character a bit less attractive, but this will preserve the shape-keys!
Makehuman comes with some 50-60 '''shape-keys''' and these will all be available as '''morph-targets''' in UE4. I will show you how to make more shape-keys, using makehuman+blender!
Now it is time to save your base-character - even though you have made very few changes to the file you should save this file under the save tab and name it
<your-name>-base (say averagedude-base), you can even add your very own tag 'base' to this.
When you save the file like this you will be able to reload it, and we need that later!
===Export your base-character===
You can now take a break - or you can export your work. There are really tree options for you to look at:
* Save the FBX file directly
* Save a MHX2 file (you may need to install this as a option/utility, find our elsewhere!)
* Load the character to '''Blender''' directly via the link (I will get back to what can be done using that!)
I suggest that you save your base-character now, in both formats - FBX and MHX2! Make a specific 'Base-Characters' folder, because you will need it!
When you export the FBX use these options:
[[File:MH-FBX-export-options.png]]
This is the result for me, you should see something like this also:
[[File:MH-Base-Character-Folder.png]]
You should also see that there is a sub-folder, called Textures - this is where the different textures are saved and it should now look like this:
[[File:MH-Base-Character-Folder-textures.png]]
You can now go over all of the different textures, so you will have a wide selection to chose from. Textures are saved every time you save a FBX file!
Say, I change the base-characters textures, saved the FBX - and this is what I got:
[[File:MH-Base-Character-Folder-textures2.png]]
===Import your base-character to UE4 - FBX===
The FBX file will actually import directly to UE4, but there are a few problems! You should export your FBX file as Binary FBX, and you will get the most out of it. After this you can get to this result (after adjusting the materials, as seen below):
[[File:MH-MH-FBX-imported.png]]
Your character can look like this (after adjusting materials) - pretty good:
[[File:MH-MH-FBX-imported-materials.png]]
'''HOWEVER, you have lost the morph-targets! And as you probably noticed, the UE4 standard FBX import do import them!'''
I will get back to what to do about the shape-keys... but let make the materials first?
==Makehuman UE4 materials==
When you import the FBX made you exported from Makehuman, both textures and materials are made. You will also notice that UE4 will try to match the materials correctly to the material slots, as seen above in the 'Asset Details' of, in my case, averagedude-base (do not worry about the physics and the skeleton yet!).
To get you started, we need to take a look at the Eye, Eyelashes and Eyebrow materials...
===Eye materials===
First you can rename the '''high-poly''' material '''high-poly-''blue-eye''''' - or to whatever color you chose! You will probably make more eye materials.
Next you can double-click the material, to open the material-editor and change it to look something like this:
[[File:MH-UE4-Eye-material.png]]
===Eyelashes and Eyebrow materials===
Likewise you can set up the eyelashes, and the eyebrows are the same only you do not need ''two sided'' for the bows:
[[File:MH-UE4-Eyelashes-material.png]]
!?You may want to play with the shading model.
===More materials?===
You can simply drag and drop more textures from the the base-character/textures folder, then duplicate and rename the materials, and apply different textures to the renamed materials. At some point I want to be able to customize/randomize (NPC) characters, but I have not yet done that.
Also you can make materials instances with parameters... I will show you howto, but first we need to turn shape-keys into morph-targets.
=Use Blender v 2.80 to get more!!=
For some reason the exported FBX file is not organized in a way so you will get the shape-keys imported directly to UE4. However when you follow the next steps, you will not get the correct materials imported, so I recommend that you run FBX import as shown above, and save the textures/materials in a separate folder.
If you are new to Blender please run a few tutorials specifically on on how to import/export, and also get to know about collections - you can do a lot in Blender and you can get confused!
==What will be done here?==
I will show you how to:
* Import your MHX2 files, to preserve the shape-keys
* Export FBX files, so UE4 will import correctly with morph-targets
* Apply expressions etc. to your base character
* Import these to your Blender file and apply the expressions as '''new shape keys'''
==But, first import and inspect FBX and MHX2!==
As you may remember you exported two files, the FBX file and the MHX2 file. You want to import both of these files into Blender, so you need two Collections, called FBX and MHX2. You right-click on the 'Scene collection' select 'New' and rename the collections to 'FBX' and 'MHX2'... I also added Scene collection and dragged the Camera and Light there (as I deleted the box). After this you should see something link this (the small Icons may be different):
[[File:MH-Base-Blender-setup.png]]
When you import your FBX file select/highlight the FBX collection, so the FBX data get imported into that collection. You can use the standard import options. For MHX2 you need to change the setting to match those you see below - when you find they are correct you can click the + sign, marked with a yellow arrow, and save the setting with your own setting-name.
(You may notice that the character you imported is out of proportions, some 17-18 meters high, we will correct that when we export to UE4!)
[[File:MH-Blender-FBX-import-options.png]]
===Inspect the results, in Blender===
Now is a good time to save the Blender file. You should save this in the same folder as the FBX and MHX2. I call this file averagedude-base.blend.
If you did this approximately as described the result should be munch like below. And you will probably notice that there is some structural differences. You can see that by looking at the small icons [[File:MH-Blender-base-imported-icons.png]], that represent where modifiers, vertex groups and Object data is stored! Specifically the Object data holds the shape-keys and those were not imported. (perhaps because I did not use the correct FBX import options - but the same happens in UE4!).
[[File:MH-Blender-base-imported.png]]
You will notice that the MHX2 version of your character holds the Object data (the triangle) and that shape-keys can be seen there!
==Export the FBX for your base character, and import to UE4==
The next step is crucial for getting things to work in UE4, it is not very complicated but you need to have a plan.
When you did this correctly you should be able to get the following results:
* Import your base character into UE4
* Create retargeting for your common skeleton - called MH_Skeleton
* Retarget the Maniqin animations to your base character(s)
* Get additional Mixamo animations
===FBX export settings===
'''Important!''' Before you go any further you should rename your base character to '''main_root''', like this:
[[File:MH-Base-FBX-main-root.png]]
.... you should do this for all base characters! main_root will be the root bone in your skeleton. When you do it like this, all of your base characters will be able to share the same skeleton!
Now select the MHX2 collection where you have the character, and go to Export FBX.
I have made a 'Operator preset' for the FBX export, this is the options you need to set:
[[File:MH-Base-FBX-operator-presets.png]]
Place the FBX file in the same folder as where you placed the original FBX and the MHX2. You probably do not need the FBX that you made with Makehuman, and you can always make it again?
(You may however want to export more FBX files from Makehuman, simply to get all of the textures. We will look more into how you can use the skin textures!)
==UE4 import, and retarget ==
Go to your UE4 project and make a MH folder containing a new avaragedude folder, and import your base character there!
Observe that this character looks very much like the one you did already import from the original FBX, there are little difference - yet you want to set up this as your real base character.
Also you want to rename the skeleton to '''MH_Skeleton'''! And you want to open the skeleton, and retarget it to the humanoid rig... this should look like this:
[[File:MH-Base-Skeleton-Retarget.png]]
Make sure that your character is in T-Pose, as you want to retarget the Mannequin animations to your characters MH_Skeleton!
Make a animation folder in your MH, perhaps even Mannequin folder?
You go to the UE4 folder: Content/Mannequin/Animations and right-click on this animation: '''ThirdPerson_AnimBP'''
Select retarget and choose MH_Skeleton as your target - also select the animation folder you made before, something like this:
[[File:MH-Base-Animation-Retarget.png]]
You may want to rename your new ThirdPerson_AnimBP to '''''MH''_ThirdPerson_AnimBP''' - or perhaps simply MH_AnimBP?
0c2f1b4a4d3b8aeb37b2cd8e32810ca5f3a3a9e9
1682
1680
2020-02-19T15:09:29Z
Assetdk
89
/* UE4 import and retarget */
wikitext
text/x-wiki
=What can and can't be done?=
I have been working on getting different characters into UE4 for some time, and this have been a real hassle!
On this page I want to summarize what I managed to get done using a workflow that involves Blender. I have had a focus on not going into much details regarding any of the tools, but you will need to know a few things. Even though this looks like a trivial task there are some pitfalls and also there are some things that can not be done, or I have just not found out how to. I will eventually also add links to all the YT tutorials I found helpful.
I found that working with Makehuman very easy, so focus will be very UE4 how to specific.
This is what I will cover thus far:
* Create and save any MH character in Makehuman. Basic stuff, and important things to avoid.
* Getting the character into Blender - import or link?
* Setup Blender for Export, shape keys and morph targets
* First import into UE4
* Introduction to more shape keys
* Get the Cloth working
* Mixamo animations
This is the stuff that I did not cover - yet:
* Animations for talking (other tutorials may help)
* Making custom cloth
* Hair
This is the stuff I can not get to work:
* Retargeting to Advanced Locomotion System V3/4
=Getting started=
I wanted a quick way to populate a UE4 game, preferably with an unlimited number of varied characters of high quality. This has proven to be a bit harder than expected. The workflow for making characters is not as trivial as one would want but this guide should make it a bit more easy to do. I will focus on describing the "straight" path from Makehuman and into UE4 - so you will not find too much details about Blender. Please refer to Blender specific pages for more on that.
==Need to know==
There are a few terms that you need to know, say you need to know that you will import FBX, textures and other files into UE4. Also you will need to know that a Character consists of a '''Mesh''', a '''Skeleton''' and '''''materials''''' (that refers to textures). I will try to elaborate on these subjects as we go along...
==Making a base-character==
Makehuman provides a range of predefined characters that is supposed to work as-is. You can just load a character, export it to FBX and import that into UE4 - and after a bit of work you can have a working player character! There are however a few pitfalls, so I suggest you make one (or more) base-character(s) that you can elaborate on as you go along. I will be working with ''''''averagedude'''''' as my base-character.
These are the steps to make the base characters:
* Open Makehuman
* Select the files tab and load the character
'''Under 'Geometries''''
* Remove cloth - (uncheck Hide faces under cloth)!
* Remove hair
* Add Teeth
* Choose Topology (I have no advice on this!)
* Chose Eyebrows/Eyelashes, these can be changed as you go along - as can eye colors!
* Add Tongue01 (again I have no advice/recommendation on that, yet)
'''Under 'Materials'''' - I will show you how to work with UE4 "advanced" materials:
* Chose any skin that you like,
* Chose any eyes that you like
'''Under 'Pose/Animate''''
* Chose Skeleton: Uengine - if you do not have this already you my get it via the community tab?
* Chose Pose: Tpose (the last one on the list)
* Chose Expressions: none
And this is it! But there is one 'important' option you need know about - you need to '''uncheck''' the Smooth button!
The smooth button/option: [[File:MH-Smooth-option.png]] should be unchecked... that will make your character a bit less attractive, but this will preserve the shape-keys!
Makehuman comes with some 50-60 '''shape-keys''' and these will all be available as '''morph-targets''' in UE4. I will show you how to make more shape-keys, using makehuman+blender!
Now it is time to save your base-character - even though you have made very few changes to the file you should save this file under the save tab and name it
<your-name>-base (say averagedude-base), you can even add your very own tag 'base' to this.
When you save the file like this you will be able to reload it, and we need that later!
===Export your base-character===
You can now take a break - or you can export your work. There are really tree options for you to look at:
* Save the FBX file directly
* Save a MHX2 file (you may need to install this as a option/utility, find our elsewhere!)
* Load the character to '''Blender''' directly via the link (I will get back to what can be done using that!)
I suggest that you save your base-character now, in both formats - FBX and MHX2! Make a specific 'Base-Characters' folder, because you will need it!
When you export the FBX use these options:
[[File:MH-FBX-export-options.png]]
This is the result for me, you should see something like this also:
[[File:MH-Base-Character-Folder.png]]
You should also see that there is a sub-folder, called Textures - this is where the different textures are saved and it should now look like this:
[[File:MH-Base-Character-Folder-textures.png]]
You can now go over all of the different textures, so you will have a wide selection to chose from. Textures are saved every time you save a FBX file!
Say, I change the base-characters textures, saved the FBX - and this is what I got:
[[File:MH-Base-Character-Folder-textures2.png]]
===Import your base-character to UE4 - FBX===
The FBX file will actually import directly to UE4, but there are a few problems! You should export your FBX file as Binary FBX, and you will get the most out of it. After this you can get to this result (after adjusting the materials, as seen below):
[[File:MH-MH-FBX-imported.png]]
Your character can look like this (after adjusting materials) - pretty good:
[[File:MH-MH-FBX-imported-materials.png]]
'''HOWEVER, you have lost the morph-targets! And as you probably noticed, the UE4 standard FBX import do import them!'''
I will get back to what to do about the shape-keys... but let make the materials first?
==Makehuman UE4 materials==
When you import the FBX made you exported from Makehuman, both textures and materials are made. You will also notice that UE4 will try to match the materials correctly to the material slots, as seen above in the 'Asset Details' of, in my case, averagedude-base (do not worry about the physics and the skeleton yet!).
To get you started, we need to take a look at the Eye, Eyelashes and Eyebrow materials...
===Eye materials===
First you can rename the '''high-poly''' material '''high-poly-''blue-eye''''' - or to whatever color you chose! You will probably make more eye materials.
Next you can double-click the material, to open the material-editor and change it to look something like this:
[[File:MH-UE4-Eye-material.png]]
===Eyelashes and Eyebrow materials===
Likewise you can set up the eyelashes, and the eyebrows are the same only you do not need ''two sided'' for the bows:
[[File:MH-UE4-Eyelashes-material.png]]
!?You may want to play with the shading model.
===More materials?===
You can simply drag and drop more textures from the the base-character/textures folder, then duplicate and rename the materials, and apply different textures to the renamed materials. At some point I want to be able to customize/randomize (NPC) characters, but I have not yet done that.
Also you can make materials instances with parameters... I will show you howto, but first we need to turn shape-keys into morph-targets.
=Use Blender v 2.80 to get more!!=
For some reason the exported FBX file is not organized in a way so you will get the shape-keys imported directly to UE4. However when you follow the next steps, you will not get the correct materials imported, so I recommend that you run FBX import as shown above, and save the textures/materials in a separate folder.
If you are new to Blender please run a few tutorials specifically on on how to import/export, and also get to know about collections - you can do a lot in Blender and you can get confused!
==What will be done here?==
I will show you how to:
* Import your MHX2 files, to preserve the shape-keys
* Export FBX files, so UE4 will import correctly with morph-targets
* Apply expressions etc. to your base character
* Import these to your Blender file and apply the expressions as '''new shape keys'''
==But, first import and inspect FBX and MHX2!==
As you may remember you exported two files, the FBX file and the MHX2 file. You want to import both of these files into Blender, so you need two Collections, called FBX and MHX2. You right-click on the 'Scene collection' select 'New' and rename the collections to 'FBX' and 'MHX2'... I also added Scene collection and dragged the Camera and Light there (as I deleted the box). After this you should see something link this (the small Icons may be different):
[[File:MH-Base-Blender-setup.png]]
When you import your FBX file select/highlight the FBX collection, so the FBX data get imported into that collection. You can use the standard import options. For MHX2 you need to change the setting to match those you see below - when you find they are correct you can click the + sign, marked with a yellow arrow, and save the setting with your own setting-name.
(You may notice that the character you imported is out of proportions, some 17-18 meters high, we will correct that when we export to UE4!)
[[File:MH-Blender-FBX-import-options.png]]
===Inspect the results, in Blender===
Now is a good time to save the Blender file. You should save this in the same folder as the FBX and MHX2. I call this file averagedude-base.blend.
If you did this approximately as described the result should be munch like below. And you will probably notice that there is some structural differences. You can see that by looking at the small icons [[File:MH-Blender-base-imported-icons.png]], that represent where modifiers, vertex groups and Object data is stored! Specifically the Object data holds the shape-keys and those were not imported. (perhaps because I did not use the correct FBX import options - but the same happens in UE4!).
[[File:MH-Blender-base-imported.png]]
You will notice that the MHX2 version of your character holds the Object data (the triangle) and that shape-keys can be seen there!
==Export the FBX for your base character, and import to UE4==
The next step is crucial for getting things to work in UE4, it is not very complicated but you need to have a plan.
When you did this correctly you should be able to get the following results:
* Import your base character into UE4
* Create retargeting for your common skeleton - called MH_Skeleton
* Retarget the Maniqin animations to your base character(s)
* Get additional Mixamo animations
===FBX export settings===
'''Important!''' Before you go any further you should rename your base character to '''main_root''', like this:
[[File:MH-Base-FBX-main-root.png]]
.... you should do this for all base characters! main_root will be the root bone in your skeleton. When you do it like this, all of your base characters will be able to share the same skeleton!
Now select the MHX2 collection where you have the character, and go to Export FBX.
I have made a 'Operator preset' for the FBX export, this is the options you need to set:
[[File:MH-Base-FBX-operator-presets.png]]
Place the FBX file in the same folder as where you placed the original FBX and the MHX2. You probably do not need the FBX that you made with Makehuman, and you can always make it again?
(You may however want to export more FBX files from Makehuman, simply to get all of the textures. We will look more into how you can use the skin textures!)
==UE4 import, and retarget ==
Go to your UE4 project and make a MH folder containing a new avaragedude folder, and import your base character there!
Observe that this character looks very much like the one you did already import from the original FBX, there are little difference - yet you want to set up this as your real base character.
Also you want to rename the skeleton to '''MH_Skeleton'''! And you want to open the skeleton, and retarget it to the humanoid rig... this should look like this:
[[File:MH-Base-Skeleton-Retarget.png]]
Make sure that your character is in T-Pose, as you want to retarget the Mannequin animations to your characters MH_Skeleton!
Make a animation folder in your MH, perhaps even Mannequin folder?
You go to the UE4 folder: Content/Mannequin/Animations and right-click on this animation: '''ThirdPerson_AnimBP'''
Select retarget and choose MH_Skeleton as your target - also select the animation folder you made before, something like this:
[[File:MH-Base-Animation-Retarget.png]]
c964fddb70f3f5fe9a704b1b7006c74a32f417ee
1680
1679
2020-02-19T14:46:24Z
Assetdk
89
/* UE4 import */
wikitext
text/x-wiki
=What can and can't be done?=
I have been working on getting different characters into UE4 for some time, and this have been a real hassle!
On this page I want to summarize what I managed to get done using a workflow that involves Blender. I have had a focus on not going into much details regarding any of the tools, but you will need to know a few things. Even though this looks like a trivial task there are some pitfalls and also there are some things that can not be done, or I have just not found out how to. I will eventually also add links to all the YT tutorials I found helpful.
I found that working with Makehuman very easy, so focus will be very UE4 how to specific.
This is what I will cover thus far:
* Create and save any MH character in Makehuman. Basic stuff, and important things to avoid.
* Getting the character into Blender - import or link?
* Setup Blender for Export, shape keys and morph targets
* First import into UE4
* Introduction to more shape keys
* Get the Cloth working
* Mixamo animations
This is the stuff that I did not cover - yet:
* Animations for talking (other tutorials may help)
* Making custom cloth
* Hair
This is the stuff I can not get to work:
* Retargeting to Advanced Locomotion System V3/4
=Getting started=
I wanted a quick way to populate a UE4 game, preferably with an unlimited number of varied characters of high quality. This has proven to be a bit harder than expected. The workflow for making characters is not as trivial as one would want but this guide should make it a bit more easy to do. I will focus on describing the "straight" path from Makehuman and into UE4 - so you will not find too much details about Blender. Please refer to Blender specific pages for more on that.
==Need to know==
There are a few terms that you need to know, say you need to know that you will import FBX, textures and other files into UE4. Also you will need to know that a Character consists of a '''Mesh''', a '''Skeleton''' and '''''materials''''' (that refers to textures). I will try to elaborate on these subjects as we go along...
==Making a base-character==
Makehuman provides a range of predefined characters that is supposed to work as-is. You can just load a character, export it to FBX and import that into UE4 - and after a bit of work you can have a working player character! There are however a few pitfalls, so I suggest you make one (or more) base-character(s) that you can elaborate on as you go along. I will be working with ''''''averagedude'''''' as my base-character.
These are the steps to make the base characters:
* Open Makehuman
* Select the files tab and load the character
'''Under 'Geometries''''
* Remove cloth - (uncheck Hide faces under cloth)!
* Remove hair
* Add Teeth
* Choose Topology (I have no advice on this!)
* Chose Eyebrows/Eyelashes, these can be changed as you go along - as can eye colors!
* Add Tongue01 (again I have no advice/recommendation on that, yet)
'''Under 'Materials'''' - I will show you how to work with UE4 "advanced" materials:
* Chose any skin that you like,
* Chose any eyes that you like
'''Under 'Pose/Animate''''
* Chose Skeleton: Uengine - if you do not have this already you my get it via the community tab?
* Chose Pose: Tpose (the last one on the list)
* Chose Expressions: none
And this is it! But there is one 'important' option you need know about - you need to '''uncheck''' the Smooth button!
The smooth button/option: [[File:MH-Smooth-option.png]] should be unchecked... that will make your character a bit less attractive, but this will preserve the shape-keys!
Makehuman comes with some 50-60 '''shape-keys''' and these will all be available as '''morph-targets''' in UE4. I will show you how to make more shape-keys, using makehuman+blender!
Now it is time to save your base-character - even though you have made very few changes to the file you should save this file under the save tab and name it
<your-name>-base (say averagedude-base), you can even add your very own tag 'base' to this.
When you save the file like this you will be able to reload it, and we need that later!
===Export your base-character===
You can now take a break - or you can export your work. There are really tree options for you to look at:
* Save the FBX file directly
* Save a MHX2 file (you may need to install this as a option/utility, find our elsewhere!)
* Load the character to '''Blender''' directly via the link (I will get back to what can be done using that!)
I suggest that you save your base-character now, in both formats - FBX and MHX2! Make a specific 'Base-Characters' folder, because you will need it!
When you export the FBX use these options:
[[File:MH-FBX-export-options.png]]
This is the result for me, you should see something like this also:
[[File:MH-Base-Character-Folder.png]]
You should also see that there is a sub-folder, called Textures - this is where the different textures are saved and it should now look like this:
[[File:MH-Base-Character-Folder-textures.png]]
You can now go over all of the different textures, so you will have a wide selection to chose from. Textures are saved every time you save a FBX file!
Say, I change the base-characters textures, saved the FBX - and this is what I got:
[[File:MH-Base-Character-Folder-textures2.png]]
===Import your base-character to UE4 - FBX===
The FBX file will actually import directly to UE4, but there are a few problems! You should export your FBX file as Binary FBX, and you will get the most out of it. After this you can get to this result (after adjusting the materials, as seen below):
[[File:MH-MH-FBX-imported.png]]
Your character can look like this (after adjusting materials) - pretty good:
[[File:MH-MH-FBX-imported-materials.png]]
'''HOWEVER, you have lost the morph-targets! And as you probably noticed, the UE4 standard FBX import do import them!'''
I will get back to what to do about the shape-keys... but let make the materials first?
==Makehuman UE4 materials==
When you import the FBX made you exported from Makehuman, both textures and materials are made. You will also notice that UE4 will try to match the materials correctly to the material slots, as seen above in the 'Asset Details' of, in my case, averagedude-base (do not worry about the physics and the skeleton yet!).
To get you started, we need to take a look at the Eye, Eyelashes and Eyebrow materials...
===Eye materials===
First you can rename the '''high-poly''' material '''high-poly-''blue-eye''''' - or to whatever color you chose! You will probably make more eye materials.
Next you can double-click the material, to open the material-editor and change it to look something like this:
[[File:MH-UE4-Eye-material.png]]
===Eyelashes and Eyebrow materials===
Likewise you can set up the eyelashes, and the eyebrows are the same only you do not need ''two sided'' for the bows:
[[File:MH-UE4-Eyelashes-material.png]]
!?You may want to play with the shading model.
===More materials?===
You can simply drag and drop more textures from the the base-character/textures folder, then duplicate and rename the materials, and apply different textures to the renamed materials. At some point I want to be able to customize/randomize (NPC) characters, but I have not yet done that.
Also you can make materials instances with parameters... I will show you howto, but first we need to turn shape-keys into morph-targets.
=Use Blender v 2.80 to get more!!=
For some reason the exported FBX file is not organized in a way so you will get the shape-keys imported directly to UE4. However when you follow the next steps, you will not get the correct materials imported, so I recommend that you run FBX import as shown above, and save the textures/materials in a separate folder.
If you are new to Blender please run a few tutorials specifically on on how to import/export, and also get to know about collections - you can do a lot in Blender and you can get confused!
==What will be done here?==
I will show you how to:
* Import your MHX2 files, to preserve the shape-keys
* Export FBX files, so UE4 will import correctly with morph-targets
* Apply expressions etc. to your base character
* Import these to your Blender file and apply the expressions as '''new shape keys'''
==But, first import and inspect FBX and MHX2!==
As you may remember you exported two files, the FBX file and the MHX2 file. You want to import both of these files into Blender, so you need two Collections, called FBX and MHX2. You right-click on the 'Scene collection' select 'New' and rename the collections to 'FBX' and 'MHX2'... I also added Scene collection and dragged the Camera and Light there (as I deleted the box). After this you should see something link this (the small Icons may be different):
[[File:MH-Base-Blender-setup.png]]
When you import your FBX file select/highlight the FBX collection, so the FBX data get imported into that collection. You can use the standard import options. For MHX2 you need to change the setting to match those you see below - when you find they are correct you can click the + sign, marked with a yellow arrow, and save the setting with your own setting-name.
(You may notice that the character you imported is out of proportions, some 17-18 meters high, we will correct that when we export to UE4!)
[[File:MH-Blender-FBX-import-options.png]]
===Inspect the results, in Blender===
Now is a good time to save the Blender file. You should save this in the same folder as the FBX and MHX2. I call this file averagedude-base.blend.
If you did this approximately as described the result should be munch like below. And you will probably notice that there is some structural differences. You can see that by looking at the small icons [[File:MH-Blender-base-imported-icons.png]], that represent where modifiers, vertex groups and Object data is stored! Specifically the Object data holds the shape-keys and those were not imported. (perhaps because I did not use the correct FBX import options - but the same happens in UE4!).
[[File:MH-Blender-base-imported.png]]
You will notice that the MHX2 version of your character holds the Object data (the triangle) and that shape-keys can be seen there!
==Export the FBX for your base character, and import to UE4==
The next step is crucial for getting things to work in UE4, it is not very complicated but you need to have a plan.
When you did this correctly you should be able to get the following results:
* Import your base character into UE4
* Create retargeting for your common skeleton - called MH_Skeleton
* Retarget the Maniqin animations to your base character(s)
* Get additional Mixamo animations
===FBX export settings===
'''Important!''' Before you go any further you should rename your base character to '''main_root''', like this:
[[File:MH-Base-FBX-main-root.png]]
.... you should do this for all base characters! main_root will be the root bone in your skeleton. When you do it like this, all of your base characters will be able to share the same skeleton!
Now select the MHX2 collection where you have the character, and go to Export FBX.
I have made a 'Operator preset' for the FBX export, this is the options you need to set:
[[File:MH-Base-FBX-operator-presets.png]]
Place the FBX file in the same folder as where you placed the original FBX and the MHX2. You probably do not need the FBX that you made with Makehuman, and you can always make it again?
(You may however want to export more FBX files from Makehuman, simply to get all of the textures. We will look more into how you can use the skin textures!)
==UE4 import and retarget==
Go to your UE4 project and make a MH folder containing a new avaragedude folder, and import your base character there!
Observe that this character looks very much like the one you did already import from the original FBX, there are little difference - yet you want to set up this as your real base character.
Also you want to rename the skeleton to MH_Skeleton! And you want to open the skeleton, and retarget it to the humanoid rig... this should look like this:
[[File:MH-Base-Skeleton-Retarget.png]]
59237025dcf15d6e01ed2eb54c122edccdc28018
1679
1677
2020-02-19T14:45:53Z
Assetdk
89
/* UE4 import */
wikitext
text/x-wiki
=What can and can't be done?=
I have been working on getting different characters into UE4 for some time, and this have been a real hassle!
On this page I want to summarize what I managed to get done using a workflow that involves Blender. I have had a focus on not going into much details regarding any of the tools, but you will need to know a few things. Even though this looks like a trivial task there are some pitfalls and also there are some things that can not be done, or I have just not found out how to. I will eventually also add links to all the YT tutorials I found helpful.
I found that working with Makehuman very easy, so focus will be very UE4 how to specific.
This is what I will cover thus far:
* Create and save any MH character in Makehuman. Basic stuff, and important things to avoid.
* Getting the character into Blender - import or link?
* Setup Blender for Export, shape keys and morph targets
* First import into UE4
* Introduction to more shape keys
* Get the Cloth working
* Mixamo animations
This is the stuff that I did not cover - yet:
* Animations for talking (other tutorials may help)
* Making custom cloth
* Hair
This is the stuff I can not get to work:
* Retargeting to Advanced Locomotion System V3/4
=Getting started=
I wanted a quick way to populate a UE4 game, preferably with an unlimited number of varied characters of high quality. This has proven to be a bit harder than expected. The workflow for making characters is not as trivial as one would want but this guide should make it a bit more easy to do. I will focus on describing the "straight" path from Makehuman and into UE4 - so you will not find too much details about Blender. Please refer to Blender specific pages for more on that.
==Need to know==
There are a few terms that you need to know, say you need to know that you will import FBX, textures and other files into UE4. Also you will need to know that a Character consists of a '''Mesh''', a '''Skeleton''' and '''''materials''''' (that refers to textures). I will try to elaborate on these subjects as we go along...
==Making a base-character==
Makehuman provides a range of predefined characters that is supposed to work as-is. You can just load a character, export it to FBX and import that into UE4 - and after a bit of work you can have a working player character! There are however a few pitfalls, so I suggest you make one (or more) base-character(s) that you can elaborate on as you go along. I will be working with ''''''averagedude'''''' as my base-character.
These are the steps to make the base characters:
* Open Makehuman
* Select the files tab and load the character
'''Under 'Geometries''''
* Remove cloth - (uncheck Hide faces under cloth)!
* Remove hair
* Add Teeth
* Choose Topology (I have no advice on this!)
* Chose Eyebrows/Eyelashes, these can be changed as you go along - as can eye colors!
* Add Tongue01 (again I have no advice/recommendation on that, yet)
'''Under 'Materials'''' - I will show you how to work with UE4 "advanced" materials:
* Chose any skin that you like,
* Chose any eyes that you like
'''Under 'Pose/Animate''''
* Chose Skeleton: Uengine - if you do not have this already you my get it via the community tab?
* Chose Pose: Tpose (the last one on the list)
* Chose Expressions: none
And this is it! But there is one 'important' option you need know about - you need to '''uncheck''' the Smooth button!
The smooth button/option: [[File:MH-Smooth-option.png]] should be unchecked... that will make your character a bit less attractive, but this will preserve the shape-keys!
Makehuman comes with some 50-60 '''shape-keys''' and these will all be available as '''morph-targets''' in UE4. I will show you how to make more shape-keys, using makehuman+blender!
Now it is time to save your base-character - even though you have made very few changes to the file you should save this file under the save tab and name it
<your-name>-base (say averagedude-base), you can even add your very own tag 'base' to this.
When you save the file like this you will be able to reload it, and we need that later!
===Export your base-character===
You can now take a break - or you can export your work. There are really tree options for you to look at:
* Save the FBX file directly
* Save a MHX2 file (you may need to install this as a option/utility, find our elsewhere!)
* Load the character to '''Blender''' directly via the link (I will get back to what can be done using that!)
I suggest that you save your base-character now, in both formats - FBX and MHX2! Make a specific 'Base-Characters' folder, because you will need it!
When you export the FBX use these options:
[[File:MH-FBX-export-options.png]]
This is the result for me, you should see something like this also:
[[File:MH-Base-Character-Folder.png]]
You should also see that there is a sub-folder, called Textures - this is where the different textures are saved and it should now look like this:
[[File:MH-Base-Character-Folder-textures.png]]
You can now go over all of the different textures, so you will have a wide selection to chose from. Textures are saved every time you save a FBX file!
Say, I change the base-characters textures, saved the FBX - and this is what I got:
[[File:MH-Base-Character-Folder-textures2.png]]
===Import your base-character to UE4 - FBX===
The FBX file will actually import directly to UE4, but there are a few problems! You should export your FBX file as Binary FBX, and you will get the most out of it. After this you can get to this result (after adjusting the materials, as seen below):
[[File:MH-MH-FBX-imported.png]]
Your character can look like this (after adjusting materials) - pretty good:
[[File:MH-MH-FBX-imported-materials.png]]
'''HOWEVER, you have lost the morph-targets! And as you probably noticed, the UE4 standard FBX import do import them!'''
I will get back to what to do about the shape-keys... but let make the materials first?
==Makehuman UE4 materials==
When you import the FBX made you exported from Makehuman, both textures and materials are made. You will also notice that UE4 will try to match the materials correctly to the material slots, as seen above in the 'Asset Details' of, in my case, averagedude-base (do not worry about the physics and the skeleton yet!).
To get you started, we need to take a look at the Eye, Eyelashes and Eyebrow materials...
===Eye materials===
First you can rename the '''high-poly''' material '''high-poly-''blue-eye''''' - or to whatever color you chose! You will probably make more eye materials.
Next you can double-click the material, to open the material-editor and change it to look something like this:
[[File:MH-UE4-Eye-material.png]]
===Eyelashes and Eyebrow materials===
Likewise you can set up the eyelashes, and the eyebrows are the same only you do not need ''two sided'' for the bows:
[[File:MH-UE4-Eyelashes-material.png]]
!?You may want to play with the shading model.
===More materials?===
You can simply drag and drop more textures from the the base-character/textures folder, then duplicate and rename the materials, and apply different textures to the renamed materials. At some point I want to be able to customize/randomize (NPC) characters, but I have not yet done that.
Also you can make materials instances with parameters... I will show you howto, but first we need to turn shape-keys into morph-targets.
=Use Blender v 2.80 to get more!!=
For some reason the exported FBX file is not organized in a way so you will get the shape-keys imported directly to UE4. However when you follow the next steps, you will not get the correct materials imported, so I recommend that you run FBX import as shown above, and save the textures/materials in a separate folder.
If you are new to Blender please run a few tutorials specifically on on how to import/export, and also get to know about collections - you can do a lot in Blender and you can get confused!
==What will be done here?==
I will show you how to:
* Import your MHX2 files, to preserve the shape-keys
* Export FBX files, so UE4 will import correctly with morph-targets
* Apply expressions etc. to your base character
* Import these to your Blender file and apply the expressions as '''new shape keys'''
==But, first import and inspect FBX and MHX2!==
As you may remember you exported two files, the FBX file and the MHX2 file. You want to import both of these files into Blender, so you need two Collections, called FBX and MHX2. You right-click on the 'Scene collection' select 'New' and rename the collections to 'FBX' and 'MHX2'... I also added Scene collection and dragged the Camera and Light there (as I deleted the box). After this you should see something link this (the small Icons may be different):
[[File:MH-Base-Blender-setup.png]]
When you import your FBX file select/highlight the FBX collection, so the FBX data get imported into that collection. You can use the standard import options. For MHX2 you need to change the setting to match those you see below - when you find they are correct you can click the + sign, marked with a yellow arrow, and save the setting with your own setting-name.
(You may notice that the character you imported is out of proportions, some 17-18 meters high, we will correct that when we export to UE4!)
[[File:MH-Blender-FBX-import-options.png]]
===Inspect the results, in Blender===
Now is a good time to save the Blender file. You should save this in the same folder as the FBX and MHX2. I call this file averagedude-base.blend.
If you did this approximately as described the result should be munch like below. And you will probably notice that there is some structural differences. You can see that by looking at the small icons [[File:MH-Blender-base-imported-icons.png]], that represent where modifiers, vertex groups and Object data is stored! Specifically the Object data holds the shape-keys and those were not imported. (perhaps because I did not use the correct FBX import options - but the same happens in UE4!).
[[File:MH-Blender-base-imported.png]]
You will notice that the MHX2 version of your character holds the Object data (the triangle) and that shape-keys can be seen there!
==Export the FBX for your base character, and import to UE4==
The next step is crucial for getting things to work in UE4, it is not very complicated but you need to have a plan.
When you did this correctly you should be able to get the following results:
* Import your base character into UE4
* Create retargeting for your common skeleton - called MH_Skeleton
* Retarget the Maniqin animations to your base character(s)
* Get additional Mixamo animations
===FBX export settings===
'''Important!''' Before you go any further you should rename your base character to '''main_root''', like this:
[[File:MH-Base-FBX-main-root.png]]
.... you should do this for all base characters! main_root will be the root bone in your skeleton. When you do it like this, all of your base characters will be able to share the same skeleton!
Now select the MHX2 collection where you have the character, and go to Export FBX.
I have made a 'Operator preset' for the FBX export, this is the options you need to set:
[[File:MH-Base-FBX-operator-presets.png]]
Place the FBX file in the same folder as where you placed the original FBX and the MHX2. You probably do not need the FBX that you made with Makehuman, and you can always make it again?
(You may however want to export more FBX files from Makehuman, simply to get all of the textures. We will look more into how you can use the skin textures!)
==UE4 import==
Go to your UE4 project and make a MH folder containing a new avaragedude folder, and import your base character there!
Observe that this character looks very much like the one you did already import from the original FBX, there are little difference - yet you want to set up this as your real base character.
Also you want to rename the skeleton to MH_Skeleton! And you want to open the skeleton, and retarget it to the humanoid rig... this should look like this:
[[File:MH-Base-Skeleton-Retarget.png]]
38c35b132d7ccea0f64d46a0e6ae821eccdd596e
1677
1676
2020-02-19T14:35:43Z
Assetdk
89
/* FBX export settings */
wikitext
text/x-wiki
=What can and can't be done?=
I have been working on getting different characters into UE4 for some time, and this have been a real hassle!
On this page I want to summarize what I managed to get done using a workflow that involves Blender. I have had a focus on not going into much details regarding any of the tools, but you will need to know a few things. Even though this looks like a trivial task there are some pitfalls and also there are some things that can not be done, or I have just not found out how to. I will eventually also add links to all the YT tutorials I found helpful.
I found that working with Makehuman very easy, so focus will be very UE4 how to specific.
This is what I will cover thus far:
* Create and save any MH character in Makehuman. Basic stuff, and important things to avoid.
* Getting the character into Blender - import or link?
* Setup Blender for Export, shape keys and morph targets
* First import into UE4
* Introduction to more shape keys
* Get the Cloth working
* Mixamo animations
This is the stuff that I did not cover - yet:
* Animations for talking (other tutorials may help)
* Making custom cloth
* Hair
This is the stuff I can not get to work:
* Retargeting to Advanced Locomotion System V3/4
=Getting started=
I wanted a quick way to populate a UE4 game, preferably with an unlimited number of varied characters of high quality. This has proven to be a bit harder than expected. The workflow for making characters is not as trivial as one would want but this guide should make it a bit more easy to do. I will focus on describing the "straight" path from Makehuman and into UE4 - so you will not find too much details about Blender. Please refer to Blender specific pages for more on that.
==Need to know==
There are a few terms that you need to know, say you need to know that you will import FBX, textures and other files into UE4. Also you will need to know that a Character consists of a '''Mesh''', a '''Skeleton''' and '''''materials''''' (that refers to textures). I will try to elaborate on these subjects as we go along...
==Making a base-character==
Makehuman provides a range of predefined characters that is supposed to work as-is. You can just load a character, export it to FBX and import that into UE4 - and after a bit of work you can have a working player character! There are however a few pitfalls, so I suggest you make one (or more) base-character(s) that you can elaborate on as you go along. I will be working with ''''''averagedude'''''' as my base-character.
These are the steps to make the base characters:
* Open Makehuman
* Select the files tab and load the character
'''Under 'Geometries''''
* Remove cloth - (uncheck Hide faces under cloth)!
* Remove hair
* Add Teeth
* Choose Topology (I have no advice on this!)
* Chose Eyebrows/Eyelashes, these can be changed as you go along - as can eye colors!
* Add Tongue01 (again I have no advice/recommendation on that, yet)
'''Under 'Materials'''' - I will show you how to work with UE4 "advanced" materials:
* Chose any skin that you like,
* Chose any eyes that you like
'''Under 'Pose/Animate''''
* Chose Skeleton: Uengine - if you do not have this already you my get it via the community tab?
* Chose Pose: Tpose (the last one on the list)
* Chose Expressions: none
And this is it! But there is one 'important' option you need know about - you need to '''uncheck''' the Smooth button!
The smooth button/option: [[File:MH-Smooth-option.png]] should be unchecked... that will make your character a bit less attractive, but this will preserve the shape-keys!
Makehuman comes with some 50-60 '''shape-keys''' and these will all be available as '''morph-targets''' in UE4. I will show you how to make more shape-keys, using makehuman+blender!
Now it is time to save your base-character - even though you have made very few changes to the file you should save this file under the save tab and name it
<your-name>-base (say averagedude-base), you can even add your very own tag 'base' to this.
When you save the file like this you will be able to reload it, and we need that later!
===Export your base-character===
You can now take a break - or you can export your work. There are really tree options for you to look at:
* Save the FBX file directly
* Save a MHX2 file (you may need to install this as a option/utility, find our elsewhere!)
* Load the character to '''Blender''' directly via the link (I will get back to what can be done using that!)
I suggest that you save your base-character now, in both formats - FBX and MHX2! Make a specific 'Base-Characters' folder, because you will need it!
When you export the FBX use these options:
[[File:MH-FBX-export-options.png]]
This is the result for me, you should see something like this also:
[[File:MH-Base-Character-Folder.png]]
You should also see that there is a sub-folder, called Textures - this is where the different textures are saved and it should now look like this:
[[File:MH-Base-Character-Folder-textures.png]]
You can now go over all of the different textures, so you will have a wide selection to chose from. Textures are saved every time you save a FBX file!
Say, I change the base-characters textures, saved the FBX - and this is what I got:
[[File:MH-Base-Character-Folder-textures2.png]]
===Import your base-character to UE4 - FBX===
The FBX file will actually import directly to UE4, but there are a few problems! You should export your FBX file as Binary FBX, and you will get the most out of it. After this you can get to this result (after adjusting the materials, as seen below):
[[File:MH-MH-FBX-imported.png]]
Your character can look like this (after adjusting materials) - pretty good:
[[File:MH-MH-FBX-imported-materials.png]]
'''HOWEVER, you have lost the morph-targets! And as you probably noticed, the UE4 standard FBX import do import them!'''
I will get back to what to do about the shape-keys... but let make the materials first?
==Makehuman UE4 materials==
When you import the FBX made you exported from Makehuman, both textures and materials are made. You will also notice that UE4 will try to match the materials correctly to the material slots, as seen above in the 'Asset Details' of, in my case, averagedude-base (do not worry about the physics and the skeleton yet!).
To get you started, we need to take a look at the Eye, Eyelashes and Eyebrow materials...
===Eye materials===
First you can rename the '''high-poly''' material '''high-poly-''blue-eye''''' - or to whatever color you chose! You will probably make more eye materials.
Next you can double-click the material, to open the material-editor and change it to look something like this:
[[File:MH-UE4-Eye-material.png]]
===Eyelashes and Eyebrow materials===
Likewise you can set up the eyelashes, and the eyebrows are the same only you do not need ''two sided'' for the bows:
[[File:MH-UE4-Eyelashes-material.png]]
!?You may want to play with the shading model.
===More materials?===
You can simply drag and drop more textures from the the base-character/textures folder, then duplicate and rename the materials, and apply different textures to the renamed materials. At some point I want to be able to customize/randomize (NPC) characters, but I have not yet done that.
Also you can make materials instances with parameters... I will show you howto, but first we need to turn shape-keys into morph-targets.
=Use Blender v 2.80 to get more!!=
For some reason the exported FBX file is not organized in a way so you will get the shape-keys imported directly to UE4. However when you follow the next steps, you will not get the correct materials imported, so I recommend that you run FBX import as shown above, and save the textures/materials in a separate folder.
If you are new to Blender please run a few tutorials specifically on on how to import/export, and also get to know about collections - you can do a lot in Blender and you can get confused!
==What will be done here?==
I will show you how to:
* Import your MHX2 files, to preserve the shape-keys
* Export FBX files, so UE4 will import correctly with morph-targets
* Apply expressions etc. to your base character
* Import these to your Blender file and apply the expressions as '''new shape keys'''
==But, first import and inspect FBX and MHX2!==
As you may remember you exported two files, the FBX file and the MHX2 file. You want to import both of these files into Blender, so you need two Collections, called FBX and MHX2. You right-click on the 'Scene collection' select 'New' and rename the collections to 'FBX' and 'MHX2'... I also added Scene collection and dragged the Camera and Light there (as I deleted the box). After this you should see something link this (the small Icons may be different):
[[File:MH-Base-Blender-setup.png]]
When you import your FBX file select/highlight the FBX collection, so the FBX data get imported into that collection. You can use the standard import options. For MHX2 you need to change the setting to match those you see below - when you find they are correct you can click the + sign, marked with a yellow arrow, and save the setting with your own setting-name.
(You may notice that the character you imported is out of proportions, some 17-18 meters high, we will correct that when we export to UE4!)
[[File:MH-Blender-FBX-import-options.png]]
===Inspect the results, in Blender===
Now is a good time to save the Blender file. You should save this in the same folder as the FBX and MHX2. I call this file averagedude-base.blend.
If you did this approximately as described the result should be munch like below. And you will probably notice that there is some structural differences. You can see that by looking at the small icons [[File:MH-Blender-base-imported-icons.png]], that represent where modifiers, vertex groups and Object data is stored! Specifically the Object data holds the shape-keys and those were not imported. (perhaps because I did not use the correct FBX import options - but the same happens in UE4!).
[[File:MH-Blender-base-imported.png]]
You will notice that the MHX2 version of your character holds the Object data (the triangle) and that shape-keys can be seen there!
==Export the FBX for your base character, and import to UE4==
The next step is crucial for getting things to work in UE4, it is not very complicated but you need to have a plan.
When you did this correctly you should be able to get the following results:
* Import your base character into UE4
* Create retargeting for your common skeleton - called MH_Skeleton
* Retarget the Maniqin animations to your base character(s)
* Get additional Mixamo animations
===FBX export settings===
'''Important!''' Before you go any further you should rename your base character to '''main_root''', like this:
[[File:MH-Base-FBX-main-root.png]]
.... you should do this for all base characters! main_root will be the root bone in your skeleton. When you do it like this, all of your base characters will be able to share the same skeleton!
Now select the MHX2 collection where you have the character, and go to Export FBX.
I have made a 'Operator preset' for the FBX export, this is the options you need to set:
[[File:MH-Base-FBX-operator-presets.png]]
Place the FBX file in the same folder as where you placed the original FBX and the MHX2. You probably do not need the FBX that you made with Makehuman, and you can always make it again?
(You may however want to export more FBX files from Makehuman, simply to get all of the textures. We will look more into how you can use the skin textures!)
==UE4 import==
7c1affcf85a3f32c15c2b5bcdba7ceb3571e6d05
1676
1675
2020-02-19T14:32:53Z
Assetdk
89
/* =UE4 import */
wikitext
text/x-wiki
=What can and can't be done?=
I have been working on getting different characters into UE4 for some time, and this have been a real hassle!
On this page I want to summarize what I managed to get done using a workflow that involves Blender. I have had a focus on not going into much details regarding any of the tools, but you will need to know a few things. Even though this looks like a trivial task there are some pitfalls and also there are some things that can not be done, or I have just not found out how to. I will eventually also add links to all the YT tutorials I found helpful.
I found that working with Makehuman very easy, so focus will be very UE4 how to specific.
This is what I will cover thus far:
* Create and save any MH character in Makehuman. Basic stuff, and important things to avoid.
* Getting the character into Blender - import or link?
* Setup Blender for Export, shape keys and morph targets
* First import into UE4
* Introduction to more shape keys
* Get the Cloth working
* Mixamo animations
This is the stuff that I did not cover - yet:
* Animations for talking (other tutorials may help)
* Making custom cloth
* Hair
This is the stuff I can not get to work:
* Retargeting to Advanced Locomotion System V3/4
=Getting started=
I wanted a quick way to populate a UE4 game, preferably with an unlimited number of varied characters of high quality. This has proven to be a bit harder than expected. The workflow for making characters is not as trivial as one would want but this guide should make it a bit more easy to do. I will focus on describing the "straight" path from Makehuman and into UE4 - so you will not find too much details about Blender. Please refer to Blender specific pages for more on that.
==Need to know==
There are a few terms that you need to know, say you need to know that you will import FBX, textures and other files into UE4. Also you will need to know that a Character consists of a '''Mesh''', a '''Skeleton''' and '''''materials''''' (that refers to textures). I will try to elaborate on these subjects as we go along...
==Making a base-character==
Makehuman provides a range of predefined characters that is supposed to work as-is. You can just load a character, export it to FBX and import that into UE4 - and after a bit of work you can have a working player character! There are however a few pitfalls, so I suggest you make one (or more) base-character(s) that you can elaborate on as you go along. I will be working with ''''''averagedude'''''' as my base-character.
These are the steps to make the base characters:
* Open Makehuman
* Select the files tab and load the character
'''Under 'Geometries''''
* Remove cloth - (uncheck Hide faces under cloth)!
* Remove hair
* Add Teeth
* Choose Topology (I have no advice on this!)
* Chose Eyebrows/Eyelashes, these can be changed as you go along - as can eye colors!
* Add Tongue01 (again I have no advice/recommendation on that, yet)
'''Under 'Materials'''' - I will show you how to work with UE4 "advanced" materials:
* Chose any skin that you like,
* Chose any eyes that you like
'''Under 'Pose/Animate''''
* Chose Skeleton: Uengine - if you do not have this already you my get it via the community tab?
* Chose Pose: Tpose (the last one on the list)
* Chose Expressions: none
And this is it! But there is one 'important' option you need know about - you need to '''uncheck''' the Smooth button!
The smooth button/option: [[File:MH-Smooth-option.png]] should be unchecked... that will make your character a bit less attractive, but this will preserve the shape-keys!
Makehuman comes with some 50-60 '''shape-keys''' and these will all be available as '''morph-targets''' in UE4. I will show you how to make more shape-keys, using makehuman+blender!
Now it is time to save your base-character - even though you have made very few changes to the file you should save this file under the save tab and name it
<your-name>-base (say averagedude-base), you can even add your very own tag 'base' to this.
When you save the file like this you will be able to reload it, and we need that later!
===Export your base-character===
You can now take a break - or you can export your work. There are really tree options for you to look at:
* Save the FBX file directly
* Save a MHX2 file (you may need to install this as a option/utility, find our elsewhere!)
* Load the character to '''Blender''' directly via the link (I will get back to what can be done using that!)
I suggest that you save your base-character now, in both formats - FBX and MHX2! Make a specific 'Base-Characters' folder, because you will need it!
When you export the FBX use these options:
[[File:MH-FBX-export-options.png]]
This is the result for me, you should see something like this also:
[[File:MH-Base-Character-Folder.png]]
You should also see that there is a sub-folder, called Textures - this is where the different textures are saved and it should now look like this:
[[File:MH-Base-Character-Folder-textures.png]]
You can now go over all of the different textures, so you will have a wide selection to chose from. Textures are saved every time you save a FBX file!
Say, I change the base-characters textures, saved the FBX - and this is what I got:
[[File:MH-Base-Character-Folder-textures2.png]]
===Import your base-character to UE4 - FBX===
The FBX file will actually import directly to UE4, but there are a few problems! You should export your FBX file as Binary FBX, and you will get the most out of it. After this you can get to this result (after adjusting the materials, as seen below):
[[File:MH-MH-FBX-imported.png]]
Your character can look like this (after adjusting materials) - pretty good:
[[File:MH-MH-FBX-imported-materials.png]]
'''HOWEVER, you have lost the morph-targets! And as you probably noticed, the UE4 standard FBX import do import them!'''
I will get back to what to do about the shape-keys... but let make the materials first?
==Makehuman UE4 materials==
When you import the FBX made you exported from Makehuman, both textures and materials are made. You will also notice that UE4 will try to match the materials correctly to the material slots, as seen above in the 'Asset Details' of, in my case, averagedude-base (do not worry about the physics and the skeleton yet!).
To get you started, we need to take a look at the Eye, Eyelashes and Eyebrow materials...
===Eye materials===
First you can rename the '''high-poly''' material '''high-poly-''blue-eye''''' - or to whatever color you chose! You will probably make more eye materials.
Next you can double-click the material, to open the material-editor and change it to look something like this:
[[File:MH-UE4-Eye-material.png]]
===Eyelashes and Eyebrow materials===
Likewise you can set up the eyelashes, and the eyebrows are the same only you do not need ''two sided'' for the bows:
[[File:MH-UE4-Eyelashes-material.png]]
!?You may want to play with the shading model.
===More materials?===
You can simply drag and drop more textures from the the base-character/textures folder, then duplicate and rename the materials, and apply different textures to the renamed materials. At some point I want to be able to customize/randomize (NPC) characters, but I have not yet done that.
Also you can make materials instances with parameters... I will show you howto, but first we need to turn shape-keys into morph-targets.
=Use Blender v 2.80 to get more!!=
For some reason the exported FBX file is not organized in a way so you will get the shape-keys imported directly to UE4. However when you follow the next steps, you will not get the correct materials imported, so I recommend that you run FBX import as shown above, and save the textures/materials in a separate folder.
If you are new to Blender please run a few tutorials specifically on on how to import/export, and also get to know about collections - you can do a lot in Blender and you can get confused!
==What will be done here?==
I will show you how to:
* Import your MHX2 files, to preserve the shape-keys
* Export FBX files, so UE4 will import correctly with morph-targets
* Apply expressions etc. to your base character
* Import these to your Blender file and apply the expressions as '''new shape keys'''
==But, first import and inspect FBX and MHX2!==
As you may remember you exported two files, the FBX file and the MHX2 file. You want to import both of these files into Blender, so you need two Collections, called FBX and MHX2. You right-click on the 'Scene collection' select 'New' and rename the collections to 'FBX' and 'MHX2'... I also added Scene collection and dragged the Camera and Light there (as I deleted the box). After this you should see something link this (the small Icons may be different):
[[File:MH-Base-Blender-setup.png]]
When you import your FBX file select/highlight the FBX collection, so the FBX data get imported into that collection. You can use the standard import options. For MHX2 you need to change the setting to match those you see below - when you find they are correct you can click the + sign, marked with a yellow arrow, and save the setting with your own setting-name.
(You may notice that the character you imported is out of proportions, some 17-18 meters high, we will correct that when we export to UE4!)
[[File:MH-Blender-FBX-import-options.png]]
===Inspect the results, in Blender===
Now is a good time to save the Blender file. You should save this in the same folder as the FBX and MHX2. I call this file averagedude-base.blend.
If you did this approximately as described the result should be munch like below. And you will probably notice that there is some structural differences. You can see that by looking at the small icons [[File:MH-Blender-base-imported-icons.png]], that represent where modifiers, vertex groups and Object data is stored! Specifically the Object data holds the shape-keys and those were not imported. (perhaps because I did not use the correct FBX import options - but the same happens in UE4!).
[[File:MH-Blender-base-imported.png]]
You will notice that the MHX2 version of your character holds the Object data (the triangle) and that shape-keys can be seen there!
==Export the FBX for your base character, and import to UE4==
The next step is crucial for getting things to work in UE4, it is not very complicated but you need to have a plan.
When you did this correctly you should be able to get the following results:
* Import your base character into UE4
* Create retargeting for your common skeleton - called MH_Skeleton
* Retarget the Maniqin animations to your base character(s)
* Get additional Mixamo animations
===FBX export settings===
'''Important!''' Before you go any further you should rename your base character to '''main_root''', like this:
[[File:MH-Base-FBX-main-root.png]]
.... you should do this for all base characters! main_root will be the root bone in your skeleton. When you do it like this, all of your base characters will be able to share the same skeleton!
Now select the MHX2 collection where you have the character, and go to Export FBX.
I have made a 'Operator preset' for the FBX export, this is the options you need to set:
[[File:MH-Base-FBX-operator-presets.png]]
Place the FBX file in the same folder as where you placed the original FBX and the MHX2. You probably do not need the FBX that you made with Makehuman, and you can always make it again?
==UE4 import==
61c46f42621427e1e2b895b8e2a0be18d186b512
1675
1673
2020-02-19T14:31:34Z
Assetdk
89
/* FBX export settings */
wikitext
text/x-wiki
=What can and can't be done?=
I have been working on getting different characters into UE4 for some time, and this have been a real hassle!
On this page I want to summarize what I managed to get done using a workflow that involves Blender. I have had a focus on not going into much details regarding any of the tools, but you will need to know a few things. Even though this looks like a trivial task there are some pitfalls and also there are some things that can not be done, or I have just not found out how to. I will eventually also add links to all the YT tutorials I found helpful.
I found that working with Makehuman very easy, so focus will be very UE4 how to specific.
This is what I will cover thus far:
* Create and save any MH character in Makehuman. Basic stuff, and important things to avoid.
* Getting the character into Blender - import or link?
* Setup Blender for Export, shape keys and morph targets
* First import into UE4
* Introduction to more shape keys
* Get the Cloth working
* Mixamo animations
This is the stuff that I did not cover - yet:
* Animations for talking (other tutorials may help)
* Making custom cloth
* Hair
This is the stuff I can not get to work:
* Retargeting to Advanced Locomotion System V3/4
=Getting started=
I wanted a quick way to populate a UE4 game, preferably with an unlimited number of varied characters of high quality. This has proven to be a bit harder than expected. The workflow for making characters is not as trivial as one would want but this guide should make it a bit more easy to do. I will focus on describing the "straight" path from Makehuman and into UE4 - so you will not find too much details about Blender. Please refer to Blender specific pages for more on that.
==Need to know==
There are a few terms that you need to know, say you need to know that you will import FBX, textures and other files into UE4. Also you will need to know that a Character consists of a '''Mesh''', a '''Skeleton''' and '''''materials''''' (that refers to textures). I will try to elaborate on these subjects as we go along...
==Making a base-character==
Makehuman provides a range of predefined characters that is supposed to work as-is. You can just load a character, export it to FBX and import that into UE4 - and after a bit of work you can have a working player character! There are however a few pitfalls, so I suggest you make one (or more) base-character(s) that you can elaborate on as you go along. I will be working with ''''''averagedude'''''' as my base-character.
These are the steps to make the base characters:
* Open Makehuman
* Select the files tab and load the character
'''Under 'Geometries''''
* Remove cloth - (uncheck Hide faces under cloth)!
* Remove hair
* Add Teeth
* Choose Topology (I have no advice on this!)
* Chose Eyebrows/Eyelashes, these can be changed as you go along - as can eye colors!
* Add Tongue01 (again I have no advice/recommendation on that, yet)
'''Under 'Materials'''' - I will show you how to work with UE4 "advanced" materials:
* Chose any skin that you like,
* Chose any eyes that you like
'''Under 'Pose/Animate''''
* Chose Skeleton: Uengine - if you do not have this already you my get it via the community tab?
* Chose Pose: Tpose (the last one on the list)
* Chose Expressions: none
And this is it! But there is one 'important' option you need know about - you need to '''uncheck''' the Smooth button!
The smooth button/option: [[File:MH-Smooth-option.png]] should be unchecked... that will make your character a bit less attractive, but this will preserve the shape-keys!
Makehuman comes with some 50-60 '''shape-keys''' and these will all be available as '''morph-targets''' in UE4. I will show you how to make more shape-keys, using makehuman+blender!
Now it is time to save your base-character - even though you have made very few changes to the file you should save this file under the save tab and name it
<your-name>-base (say averagedude-base), you can even add your very own tag 'base' to this.
When you save the file like this you will be able to reload it, and we need that later!
===Export your base-character===
You can now take a break - or you can export your work. There are really tree options for you to look at:
* Save the FBX file directly
* Save a MHX2 file (you may need to install this as a option/utility, find our elsewhere!)
* Load the character to '''Blender''' directly via the link (I will get back to what can be done using that!)
I suggest that you save your base-character now, in both formats - FBX and MHX2! Make a specific 'Base-Characters' folder, because you will need it!
When you export the FBX use these options:
[[File:MH-FBX-export-options.png]]
This is the result for me, you should see something like this also:
[[File:MH-Base-Character-Folder.png]]
You should also see that there is a sub-folder, called Textures - this is where the different textures are saved and it should now look like this:
[[File:MH-Base-Character-Folder-textures.png]]
You can now go over all of the different textures, so you will have a wide selection to chose from. Textures are saved every time you save a FBX file!
Say, I change the base-characters textures, saved the FBX - and this is what I got:
[[File:MH-Base-Character-Folder-textures2.png]]
===Import your base-character to UE4 - FBX===
The FBX file will actually import directly to UE4, but there are a few problems! You should export your FBX file as Binary FBX, and you will get the most out of it. After this you can get to this result (after adjusting the materials, as seen below):
[[File:MH-MH-FBX-imported.png]]
Your character can look like this (after adjusting materials) - pretty good:
[[File:MH-MH-FBX-imported-materials.png]]
'''HOWEVER, you have lost the morph-targets! And as you probably noticed, the UE4 standard FBX import do import them!'''
I will get back to what to do about the shape-keys... but let make the materials first?
==Makehuman UE4 materials==
When you import the FBX made you exported from Makehuman, both textures and materials are made. You will also notice that UE4 will try to match the materials correctly to the material slots, as seen above in the 'Asset Details' of, in my case, averagedude-base (do not worry about the physics and the skeleton yet!).
To get you started, we need to take a look at the Eye, Eyelashes and Eyebrow materials...
===Eye materials===
First you can rename the '''high-poly''' material '''high-poly-''blue-eye''''' - or to whatever color you chose! You will probably make more eye materials.
Next you can double-click the material, to open the material-editor and change it to look something like this:
[[File:MH-UE4-Eye-material.png]]
===Eyelashes and Eyebrow materials===
Likewise you can set up the eyelashes, and the eyebrows are the same only you do not need ''two sided'' for the bows:
[[File:MH-UE4-Eyelashes-material.png]]
!?You may want to play with the shading model.
===More materials?===
You can simply drag and drop more textures from the the base-character/textures folder, then duplicate and rename the materials, and apply different textures to the renamed materials. At some point I want to be able to customize/randomize (NPC) characters, but I have not yet done that.
Also you can make materials instances with parameters... I will show you howto, but first we need to turn shape-keys into morph-targets.
=Use Blender v 2.80 to get more!!=
For some reason the exported FBX file is not organized in a way so you will get the shape-keys imported directly to UE4. However when you follow the next steps, you will not get the correct materials imported, so I recommend that you run FBX import as shown above, and save the textures/materials in a separate folder.
If you are new to Blender please run a few tutorials specifically on on how to import/export, and also get to know about collections - you can do a lot in Blender and you can get confused!
==What will be done here?==
I will show you how to:
* Import your MHX2 files, to preserve the shape-keys
* Export FBX files, so UE4 will import correctly with morph-targets
* Apply expressions etc. to your base character
* Import these to your Blender file and apply the expressions as '''new shape keys'''
==But, first import and inspect FBX and MHX2!==
As you may remember you exported two files, the FBX file and the MHX2 file. You want to import both of these files into Blender, so you need two Collections, called FBX and MHX2. You right-click on the 'Scene collection' select 'New' and rename the collections to 'FBX' and 'MHX2'... I also added Scene collection and dragged the Camera and Light there (as I deleted the box). After this you should see something link this (the small Icons may be different):
[[File:MH-Base-Blender-setup.png]]
When you import your FBX file select/highlight the FBX collection, so the FBX data get imported into that collection. You can use the standard import options. For MHX2 you need to change the setting to match those you see below - when you find they are correct you can click the + sign, marked with a yellow arrow, and save the setting with your own setting-name.
(You may notice that the character you imported is out of proportions, some 17-18 meters high, we will correct that when we export to UE4!)
[[File:MH-Blender-FBX-import-options.png]]
===Inspect the results, in Blender===
Now is a good time to save the Blender file. You should save this in the same folder as the FBX and MHX2. I call this file averagedude-base.blend.
If you did this approximately as described the result should be munch like below. And you will probably notice that there is some structural differences. You can see that by looking at the small icons [[File:MH-Blender-base-imported-icons.png]], that represent where modifiers, vertex groups and Object data is stored! Specifically the Object data holds the shape-keys and those were not imported. (perhaps because I did not use the correct FBX import options - but the same happens in UE4!).
[[File:MH-Blender-base-imported.png]]
You will notice that the MHX2 version of your character holds the Object data (the triangle) and that shape-keys can be seen there!
==Export the FBX for your base character, and import to UE4==
The next step is crucial for getting things to work in UE4, it is not very complicated but you need to have a plan.
When you did this correctly you should be able to get the following results:
* Import your base character into UE4
* Create retargeting for your common skeleton - called MH_Skeleton
* Retarget the Maniqin animations to your base character(s)
* Get additional Mixamo animations
===FBX export settings===
'''Important!''' Before you go any further you should rename your base character to '''main_root''', like this:
[[File:MH-Base-FBX-main-root.png]]
.... you should do this for all base characters! main_root will be the root bone in your skeleton. When you do it like this, all of your base characters will be able to share the same skeleton!
Now select the MHX2 collection where you have the character, and go to Export FBX.
I have made a 'Operator preset' for the FBX export, this is the options you need to set:
[[File:MH-Base-FBX-operator-presets.png]]
Place the FBX file in the same folder as where you placed the original FBX and the MHX2. You probably do not need the FBX that you made with Makehuman, and you can always make it again?
===UE4 import==
8f232d087817b47084b427d22364dfbec6b9db45
1673
1671
2020-02-19T14:23:59Z
Assetdk
89
/* FBX export settings */
wikitext
text/x-wiki
=What can and can't be done?=
I have been working on getting different characters into UE4 for some time, and this have been a real hassle!
On this page I want to summarize what I managed to get done using a workflow that involves Blender. I have had a focus on not going into much details regarding any of the tools, but you will need to know a few things. Even though this looks like a trivial task there are some pitfalls and also there are some things that can not be done, or I have just not found out how to. I will eventually also add links to all the YT tutorials I found helpful.
I found that working with Makehuman very easy, so focus will be very UE4 how to specific.
This is what I will cover thus far:
* Create and save any MH character in Makehuman. Basic stuff, and important things to avoid.
* Getting the character into Blender - import or link?
* Setup Blender for Export, shape keys and morph targets
* First import into UE4
* Introduction to more shape keys
* Get the Cloth working
* Mixamo animations
This is the stuff that I did not cover - yet:
* Animations for talking (other tutorials may help)
* Making custom cloth
* Hair
This is the stuff I can not get to work:
* Retargeting to Advanced Locomotion System V3/4
=Getting started=
I wanted a quick way to populate a UE4 game, preferably with an unlimited number of varied characters of high quality. This has proven to be a bit harder than expected. The workflow for making characters is not as trivial as one would want but this guide should make it a bit more easy to do. I will focus on describing the "straight" path from Makehuman and into UE4 - so you will not find too much details about Blender. Please refer to Blender specific pages for more on that.
==Need to know==
There are a few terms that you need to know, say you need to know that you will import FBX, textures and other files into UE4. Also you will need to know that a Character consists of a '''Mesh''', a '''Skeleton''' and '''''materials''''' (that refers to textures). I will try to elaborate on these subjects as we go along...
==Making a base-character==
Makehuman provides a range of predefined characters that is supposed to work as-is. You can just load a character, export it to FBX and import that into UE4 - and after a bit of work you can have a working player character! There are however a few pitfalls, so I suggest you make one (or more) base-character(s) that you can elaborate on as you go along. I will be working with ''''''averagedude'''''' as my base-character.
These are the steps to make the base characters:
* Open Makehuman
* Select the files tab and load the character
'''Under 'Geometries''''
* Remove cloth - (uncheck Hide faces under cloth)!
* Remove hair
* Add Teeth
* Choose Topology (I have no advice on this!)
* Chose Eyebrows/Eyelashes, these can be changed as you go along - as can eye colors!
* Add Tongue01 (again I have no advice/recommendation on that, yet)
'''Under 'Materials'''' - I will show you how to work with UE4 "advanced" materials:
* Chose any skin that you like,
* Chose any eyes that you like
'''Under 'Pose/Animate''''
* Chose Skeleton: Uengine - if you do not have this already you my get it via the community tab?
* Chose Pose: Tpose (the last one on the list)
* Chose Expressions: none
And this is it! But there is one 'important' option you need know about - you need to '''uncheck''' the Smooth button!
The smooth button/option: [[File:MH-Smooth-option.png]] should be unchecked... that will make your character a bit less attractive, but this will preserve the shape-keys!
Makehuman comes with some 50-60 '''shape-keys''' and these will all be available as '''morph-targets''' in UE4. I will show you how to make more shape-keys, using makehuman+blender!
Now it is time to save your base-character - even though you have made very few changes to the file you should save this file under the save tab and name it
<your-name>-base (say averagedude-base), you can even add your very own tag 'base' to this.
When you save the file like this you will be able to reload it, and we need that later!
===Export your base-character===
You can now take a break - or you can export your work. There are really tree options for you to look at:
* Save the FBX file directly
* Save a MHX2 file (you may need to install this as a option/utility, find our elsewhere!)
* Load the character to '''Blender''' directly via the link (I will get back to what can be done using that!)
I suggest that you save your base-character now, in both formats - FBX and MHX2! Make a specific 'Base-Characters' folder, because you will need it!
When you export the FBX use these options:
[[File:MH-FBX-export-options.png]]
This is the result for me, you should see something like this also:
[[File:MH-Base-Character-Folder.png]]
You should also see that there is a sub-folder, called Textures - this is where the different textures are saved and it should now look like this:
[[File:MH-Base-Character-Folder-textures.png]]
You can now go over all of the different textures, so you will have a wide selection to chose from. Textures are saved every time you save a FBX file!
Say, I change the base-characters textures, saved the FBX - and this is what I got:
[[File:MH-Base-Character-Folder-textures2.png]]
===Import your base-character to UE4 - FBX===
The FBX file will actually import directly to UE4, but there are a few problems! You should export your FBX file as Binary FBX, and you will get the most out of it. After this you can get to this result (after adjusting the materials, as seen below):
[[File:MH-MH-FBX-imported.png]]
Your character can look like this (after adjusting materials) - pretty good:
[[File:MH-MH-FBX-imported-materials.png]]
'''HOWEVER, you have lost the morph-targets! And as you probably noticed, the UE4 standard FBX import do import them!'''
I will get back to what to do about the shape-keys... but let make the materials first?
==Makehuman UE4 materials==
When you import the FBX made you exported from Makehuman, both textures and materials are made. You will also notice that UE4 will try to match the materials correctly to the material slots, as seen above in the 'Asset Details' of, in my case, averagedude-base (do not worry about the physics and the skeleton yet!).
To get you started, we need to take a look at the Eye, Eyelashes and Eyebrow materials...
===Eye materials===
First you can rename the '''high-poly''' material '''high-poly-''blue-eye''''' - or to whatever color you chose! You will probably make more eye materials.
Next you can double-click the material, to open the material-editor and change it to look something like this:
[[File:MH-UE4-Eye-material.png]]
===Eyelashes and Eyebrow materials===
Likewise you can set up the eyelashes, and the eyebrows are the same only you do not need ''two sided'' for the bows:
[[File:MH-UE4-Eyelashes-material.png]]
!?You may want to play with the shading model.
===More materials?===
You can simply drag and drop more textures from the the base-character/textures folder, then duplicate and rename the materials, and apply different textures to the renamed materials. At some point I want to be able to customize/randomize (NPC) characters, but I have not yet done that.
Also you can make materials instances with parameters... I will show you howto, but first we need to turn shape-keys into morph-targets.
=Use Blender v 2.80 to get more!!=
For some reason the exported FBX file is not organized in a way so you will get the shape-keys imported directly to UE4. However when you follow the next steps, you will not get the correct materials imported, so I recommend that you run FBX import as shown above, and save the textures/materials in a separate folder.
If you are new to Blender please run a few tutorials specifically on on how to import/export, and also get to know about collections - you can do a lot in Blender and you can get confused!
==What will be done here?==
I will show you how to:
* Import your MHX2 files, to preserve the shape-keys
* Export FBX files, so UE4 will import correctly with morph-targets
* Apply expressions etc. to your base character
* Import these to your Blender file and apply the expressions as '''new shape keys'''
==But, first import and inspect FBX and MHX2!==
As you may remember you exported two files, the FBX file and the MHX2 file. You want to import both of these files into Blender, so you need two Collections, called FBX and MHX2. You right-click on the 'Scene collection' select 'New' and rename the collections to 'FBX' and 'MHX2'... I also added Scene collection and dragged the Camera and Light there (as I deleted the box). After this you should see something link this (the small Icons may be different):
[[File:MH-Base-Blender-setup.png]]
When you import your FBX file select/highlight the FBX collection, so the FBX data get imported into that collection. You can use the standard import options. For MHX2 you need to change the setting to match those you see below - when you find they are correct you can click the + sign, marked with a yellow arrow, and save the setting with your own setting-name.
(You may notice that the character you imported is out of proportions, some 17-18 meters high, we will correct that when we export to UE4!)
[[File:MH-Blender-FBX-import-options.png]]
===Inspect the results, in Blender===
Now is a good time to save the Blender file. You should save this in the same folder as the FBX and MHX2. I call this file averagedude-base.blend.
If you did this approximately as described the result should be munch like below. And you will probably notice that there is some structural differences. You can see that by looking at the small icons [[File:MH-Blender-base-imported-icons.png]], that represent where modifiers, vertex groups and Object data is stored! Specifically the Object data holds the shape-keys and those were not imported. (perhaps because I did not use the correct FBX import options - but the same happens in UE4!).
[[File:MH-Blender-base-imported.png]]
You will notice that the MHX2 version of your character holds the Object data (the triangle) and that shape-keys can be seen there!
==Export the FBX for your base character, and import to UE4==
The next step is crucial for getting things to work in UE4, it is not very complicated but you need to have a plan.
When you did this correctly you should be able to get the following results:
* Import your base character into UE4
* Create retargeting for your common skeleton - called MH_Skeleton
* Retarget the Maniqin animations to your base character(s)
* Get additional Mixamo animations
===FBX export settings===
'''Important!''' Before you go any further you should rename your base character to '''main_root''', like this:
[[File:MH-Base-FBX-main-root.png]]
.... you should do this for all base characters! main_root will be the root bone in your skeleton. When you do it like this, all of your base characters will be able to share the same skeleton!
Now select the MHX2 collection where you have the character, and go to Export FBX.
I have made a 'Operator preset' for the FBX export, this is the options you need to set:
[[File:MH-Base-FBX-operator-presets.png]]
4961677211ebc15437c97a57978664a4c1cda8ce
1671
1669
2020-02-19T14:13:52Z
Assetdk
89
/* Export the FBX for your base character, and import to UE4 */
wikitext
text/x-wiki
=What can and can't be done?=
I have been working on getting different characters into UE4 for some time, and this have been a real hassle!
On this page I want to summarize what I managed to get done using a workflow that involves Blender. I have had a focus on not going into much details regarding any of the tools, but you will need to know a few things. Even though this looks like a trivial task there are some pitfalls and also there are some things that can not be done, or I have just not found out how to. I will eventually also add links to all the YT tutorials I found helpful.
I found that working with Makehuman very easy, so focus will be very UE4 how to specific.
This is what I will cover thus far:
* Create and save any MH character in Makehuman. Basic stuff, and important things to avoid.
* Getting the character into Blender - import or link?
* Setup Blender for Export, shape keys and morph targets
* First import into UE4
* Introduction to more shape keys
* Get the Cloth working
* Mixamo animations
This is the stuff that I did not cover - yet:
* Animations for talking (other tutorials may help)
* Making custom cloth
* Hair
This is the stuff I can not get to work:
* Retargeting to Advanced Locomotion System V3/4
=Getting started=
I wanted a quick way to populate a UE4 game, preferably with an unlimited number of varied characters of high quality. This has proven to be a bit harder than expected. The workflow for making characters is not as trivial as one would want but this guide should make it a bit more easy to do. I will focus on describing the "straight" path from Makehuman and into UE4 - so you will not find too much details about Blender. Please refer to Blender specific pages for more on that.
==Need to know==
There are a few terms that you need to know, say you need to know that you will import FBX, textures and other files into UE4. Also you will need to know that a Character consists of a '''Mesh''', a '''Skeleton''' and '''''materials''''' (that refers to textures). I will try to elaborate on these subjects as we go along...
==Making a base-character==
Makehuman provides a range of predefined characters that is supposed to work as-is. You can just load a character, export it to FBX and import that into UE4 - and after a bit of work you can have a working player character! There are however a few pitfalls, so I suggest you make one (or more) base-character(s) that you can elaborate on as you go along. I will be working with ''''''averagedude'''''' as my base-character.
These are the steps to make the base characters:
* Open Makehuman
* Select the files tab and load the character
'''Under 'Geometries''''
* Remove cloth - (uncheck Hide faces under cloth)!
* Remove hair
* Add Teeth
* Choose Topology (I have no advice on this!)
* Chose Eyebrows/Eyelashes, these can be changed as you go along - as can eye colors!
* Add Tongue01 (again I have no advice/recommendation on that, yet)
'''Under 'Materials'''' - I will show you how to work with UE4 "advanced" materials:
* Chose any skin that you like,
* Chose any eyes that you like
'''Under 'Pose/Animate''''
* Chose Skeleton: Uengine - if you do not have this already you my get it via the community tab?
* Chose Pose: Tpose (the last one on the list)
* Chose Expressions: none
And this is it! But there is one 'important' option you need know about - you need to '''uncheck''' the Smooth button!
The smooth button/option: [[File:MH-Smooth-option.png]] should be unchecked... that will make your character a bit less attractive, but this will preserve the shape-keys!
Makehuman comes with some 50-60 '''shape-keys''' and these will all be available as '''morph-targets''' in UE4. I will show you how to make more shape-keys, using makehuman+blender!
Now it is time to save your base-character - even though you have made very few changes to the file you should save this file under the save tab and name it
<your-name>-base (say averagedude-base), you can even add your very own tag 'base' to this.
When you save the file like this you will be able to reload it, and we need that later!
===Export your base-character===
You can now take a break - or you can export your work. There are really tree options for you to look at:
* Save the FBX file directly
* Save a MHX2 file (you may need to install this as a option/utility, find our elsewhere!)
* Load the character to '''Blender''' directly via the link (I will get back to what can be done using that!)
I suggest that you save your base-character now, in both formats - FBX and MHX2! Make a specific 'Base-Characters' folder, because you will need it!
When you export the FBX use these options:
[[File:MH-FBX-export-options.png]]
This is the result for me, you should see something like this also:
[[File:MH-Base-Character-Folder.png]]
You should also see that there is a sub-folder, called Textures - this is where the different textures are saved and it should now look like this:
[[File:MH-Base-Character-Folder-textures.png]]
You can now go over all of the different textures, so you will have a wide selection to chose from. Textures are saved every time you save a FBX file!
Say, I change the base-characters textures, saved the FBX - and this is what I got:
[[File:MH-Base-Character-Folder-textures2.png]]
===Import your base-character to UE4 - FBX===
The FBX file will actually import directly to UE4, but there are a few problems! You should export your FBX file as Binary FBX, and you will get the most out of it. After this you can get to this result (after adjusting the materials, as seen below):
[[File:MH-MH-FBX-imported.png]]
Your character can look like this (after adjusting materials) - pretty good:
[[File:MH-MH-FBX-imported-materials.png]]
'''HOWEVER, you have lost the morph-targets! And as you probably noticed, the UE4 standard FBX import do import them!'''
I will get back to what to do about the shape-keys... but let make the materials first?
==Makehuman UE4 materials==
When you import the FBX made you exported from Makehuman, both textures and materials are made. You will also notice that UE4 will try to match the materials correctly to the material slots, as seen above in the 'Asset Details' of, in my case, averagedude-base (do not worry about the physics and the skeleton yet!).
To get you started, we need to take a look at the Eye, Eyelashes and Eyebrow materials...
===Eye materials===
First you can rename the '''high-poly''' material '''high-poly-''blue-eye''''' - or to whatever color you chose! You will probably make more eye materials.
Next you can double-click the material, to open the material-editor and change it to look something like this:
[[File:MH-UE4-Eye-material.png]]
===Eyelashes and Eyebrow materials===
Likewise you can set up the eyelashes, and the eyebrows are the same only you do not need ''two sided'' for the bows:
[[File:MH-UE4-Eyelashes-material.png]]
!?You may want to play with the shading model.
===More materials?===
You can simply drag and drop more textures from the the base-character/textures folder, then duplicate and rename the materials, and apply different textures to the renamed materials. At some point I want to be able to customize/randomize (NPC) characters, but I have not yet done that.
Also you can make materials instances with parameters... I will show you howto, but first we need to turn shape-keys into morph-targets.
=Use Blender v 2.80 to get more!!=
For some reason the exported FBX file is not organized in a way so you will get the shape-keys imported directly to UE4. However when you follow the next steps, you will not get the correct materials imported, so I recommend that you run FBX import as shown above, and save the textures/materials in a separate folder.
If you are new to Blender please run a few tutorials specifically on on how to import/export, and also get to know about collections - you can do a lot in Blender and you can get confused!
==What will be done here?==
I will show you how to:
* Import your MHX2 files, to preserve the shape-keys
* Export FBX files, so UE4 will import correctly with morph-targets
* Apply expressions etc. to your base character
* Import these to your Blender file and apply the expressions as '''new shape keys'''
==But, first import and inspect FBX and MHX2!==
As you may remember you exported two files, the FBX file and the MHX2 file. You want to import both of these files into Blender, so you need two Collections, called FBX and MHX2. You right-click on the 'Scene collection' select 'New' and rename the collections to 'FBX' and 'MHX2'... I also added Scene collection and dragged the Camera and Light there (as I deleted the box). After this you should see something link this (the small Icons may be different):
[[File:MH-Base-Blender-setup.png]]
When you import your FBX file select/highlight the FBX collection, so the FBX data get imported into that collection. You can use the standard import options. For MHX2 you need to change the setting to match those you see below - when you find they are correct you can click the + sign, marked with a yellow arrow, and save the setting with your own setting-name.
(You may notice that the character you imported is out of proportions, some 17-18 meters high, we will correct that when we export to UE4!)
[[File:MH-Blender-FBX-import-options.png]]
===Inspect the results, in Blender===
Now is a good time to save the Blender file. You should save this in the same folder as the FBX and MHX2. I call this file averagedude-base.blend.
If you did this approximately as described the result should be munch like below. And you will probably notice that there is some structural differences. You can see that by looking at the small icons [[File:MH-Blender-base-imported-icons.png]], that represent where modifiers, vertex groups and Object data is stored! Specifically the Object data holds the shape-keys and those were not imported. (perhaps because I did not use the correct FBX import options - but the same happens in UE4!).
[[File:MH-Blender-base-imported.png]]
You will notice that the MHX2 version of your character holds the Object data (the triangle) and that shape-keys can be seen there!
==Export the FBX for your base character, and import to UE4==
The next step is crucial for getting things to work in UE4, it is not very complicated but you need to have a plan.
When you did this correctly you should be able to get the following results:
* Import your base character into UE4
* Create retargeting for your common skeleton - called MH_Skeleton
* Retarget the Maniqin animations to your base character(s)
* Get additional Mixamo animations
===FBX export settings===
'''Important!''' Before you go any further you should rename your base character to main_root, like this:
[[File:MH-Base-FBX-main-root.png]]
d07fb79e6fed0be6c2501047570ec1f6d9086dd0
1669
1668
2020-02-19T13:36:41Z
Assetdk
89
/* Export the FBX for your base character, and import to UE4 */
wikitext
text/x-wiki
=What can and can't be done?=
I have been working on getting different characters into UE4 for some time, and this have been a real hassle!
On this page I want to summarize what I managed to get done using a workflow that involves Blender. I have had a focus on not going into much details regarding any of the tools, but you will need to know a few things. Even though this looks like a trivial task there are some pitfalls and also there are some things that can not be done, or I have just not found out how to. I will eventually also add links to all the YT tutorials I found helpful.
I found that working with Makehuman very easy, so focus will be very UE4 how to specific.
This is what I will cover thus far:
* Create and save any MH character in Makehuman. Basic stuff, and important things to avoid.
* Getting the character into Blender - import or link?
* Setup Blender for Export, shape keys and morph targets
* First import into UE4
* Introduction to more shape keys
* Get the Cloth working
* Mixamo animations
This is the stuff that I did not cover - yet:
* Animations for talking (other tutorials may help)
* Making custom cloth
* Hair
This is the stuff I can not get to work:
* Retargeting to Advanced Locomotion System V3/4
=Getting started=
I wanted a quick way to populate a UE4 game, preferably with an unlimited number of varied characters of high quality. This has proven to be a bit harder than expected. The workflow for making characters is not as trivial as one would want but this guide should make it a bit more easy to do. I will focus on describing the "straight" path from Makehuman and into UE4 - so you will not find too much details about Blender. Please refer to Blender specific pages for more on that.
==Need to know==
There are a few terms that you need to know, say you need to know that you will import FBX, textures and other files into UE4. Also you will need to know that a Character consists of a '''Mesh''', a '''Skeleton''' and '''''materials''''' (that refers to textures). I will try to elaborate on these subjects as we go along...
==Making a base-character==
Makehuman provides a range of predefined characters that is supposed to work as-is. You can just load a character, export it to FBX and import that into UE4 - and after a bit of work you can have a working player character! There are however a few pitfalls, so I suggest you make one (or more) base-character(s) that you can elaborate on as you go along. I will be working with ''''''averagedude'''''' as my base-character.
These are the steps to make the base characters:
* Open Makehuman
* Select the files tab and load the character
'''Under 'Geometries''''
* Remove cloth - (uncheck Hide faces under cloth)!
* Remove hair
* Add Teeth
* Choose Topology (I have no advice on this!)
* Chose Eyebrows/Eyelashes, these can be changed as you go along - as can eye colors!
* Add Tongue01 (again I have no advice/recommendation on that, yet)
'''Under 'Materials'''' - I will show you how to work with UE4 "advanced" materials:
* Chose any skin that you like,
* Chose any eyes that you like
'''Under 'Pose/Animate''''
* Chose Skeleton: Uengine - if you do not have this already you my get it via the community tab?
* Chose Pose: Tpose (the last one on the list)
* Chose Expressions: none
And this is it! But there is one 'important' option you need know about - you need to '''uncheck''' the Smooth button!
The smooth button/option: [[File:MH-Smooth-option.png]] should be unchecked... that will make your character a bit less attractive, but this will preserve the shape-keys!
Makehuman comes with some 50-60 '''shape-keys''' and these will all be available as '''morph-targets''' in UE4. I will show you how to make more shape-keys, using makehuman+blender!
Now it is time to save your base-character - even though you have made very few changes to the file you should save this file under the save tab and name it
<your-name>-base (say averagedude-base), you can even add your very own tag 'base' to this.
When you save the file like this you will be able to reload it, and we need that later!
===Export your base-character===
You can now take a break - or you can export your work. There are really tree options for you to look at:
* Save the FBX file directly
* Save a MHX2 file (you may need to install this as a option/utility, find our elsewhere!)
* Load the character to '''Blender''' directly via the link (I will get back to what can be done using that!)
I suggest that you save your base-character now, in both formats - FBX and MHX2! Make a specific 'Base-Characters' folder, because you will need it!
When you export the FBX use these options:
[[File:MH-FBX-export-options.png]]
This is the result for me, you should see something like this also:
[[File:MH-Base-Character-Folder.png]]
You should also see that there is a sub-folder, called Textures - this is where the different textures are saved and it should now look like this:
[[File:MH-Base-Character-Folder-textures.png]]
You can now go over all of the different textures, so you will have a wide selection to chose from. Textures are saved every time you save a FBX file!
Say, I change the base-characters textures, saved the FBX - and this is what I got:
[[File:MH-Base-Character-Folder-textures2.png]]
===Import your base-character to UE4 - FBX===
The FBX file will actually import directly to UE4, but there are a few problems! You should export your FBX file as Binary FBX, and you will get the most out of it. After this you can get to this result (after adjusting the materials, as seen below):
[[File:MH-MH-FBX-imported.png]]
Your character can look like this (after adjusting materials) - pretty good:
[[File:MH-MH-FBX-imported-materials.png]]
'''HOWEVER, you have lost the morph-targets! And as you probably noticed, the UE4 standard FBX import do import them!'''
I will get back to what to do about the shape-keys... but let make the materials first?
==Makehuman UE4 materials==
When you import the FBX made you exported from Makehuman, both textures and materials are made. You will also notice that UE4 will try to match the materials correctly to the material slots, as seen above in the 'Asset Details' of, in my case, averagedude-base (do not worry about the physics and the skeleton yet!).
To get you started, we need to take a look at the Eye, Eyelashes and Eyebrow materials...
===Eye materials===
First you can rename the '''high-poly''' material '''high-poly-''blue-eye''''' - or to whatever color you chose! You will probably make more eye materials.
Next you can double-click the material, to open the material-editor and change it to look something like this:
[[File:MH-UE4-Eye-material.png]]
===Eyelashes and Eyebrow materials===
Likewise you can set up the eyelashes, and the eyebrows are the same only you do not need ''two sided'' for the bows:
[[File:MH-UE4-Eyelashes-material.png]]
!?You may want to play with the shading model.
===More materials?===
You can simply drag and drop more textures from the the base-character/textures folder, then duplicate and rename the materials, and apply different textures to the renamed materials. At some point I want to be able to customize/randomize (NPC) characters, but I have not yet done that.
Also you can make materials instances with parameters... I will show you howto, but first we need to turn shape-keys into morph-targets.
=Use Blender v 2.80 to get more!!=
For some reason the exported FBX file is not organized in a way so you will get the shape-keys imported directly to UE4. However when you follow the next steps, you will not get the correct materials imported, so I recommend that you run FBX import as shown above, and save the textures/materials in a separate folder.
If you are new to Blender please run a few tutorials specifically on on how to import/export, and also get to know about collections - you can do a lot in Blender and you can get confused!
==What will be done here?==
I will show you how to:
* Import your MHX2 files, to preserve the shape-keys
* Export FBX files, so UE4 will import correctly with morph-targets
* Apply expressions etc. to your base character
* Import these to your Blender file and apply the expressions as '''new shape keys'''
==But, first import and inspect FBX and MHX2!==
As you may remember you exported two files, the FBX file and the MHX2 file. You want to import both of these files into Blender, so you need two Collections, called FBX and MHX2. You right-click on the 'Scene collection' select 'New' and rename the collections to 'FBX' and 'MHX2'... I also added Scene collection and dragged the Camera and Light there (as I deleted the box). After this you should see something link this (the small Icons may be different):
[[File:MH-Base-Blender-setup.png]]
When you import your FBX file select/highlight the FBX collection, so the FBX data get imported into that collection. You can use the standard import options. For MHX2 you need to change the setting to match those you see below - when you find they are correct you can click the + sign, marked with a yellow arrow, and save the setting with your own setting-name.
(You may notice that the character you imported is out of proportions, some 17-18 meters high, we will correct that when we export to UE4!)
[[File:MH-Blender-FBX-import-options.png]]
===Inspect the results, in Blender===
Now is a good time to save the Blender file. You should save this in the same folder as the FBX and MHX2. I call this file averagedude-base.blend.
If you did this approximately as described the result should be munch like below. And you will probably notice that there is some structural differences. You can see that by looking at the small icons [[File:MH-Blender-base-imported-icons.png]], that represent where modifiers, vertex groups and Object data is stored! Specifically the Object data holds the shape-keys and those were not imported. (perhaps because I did not use the correct FBX import options - but the same happens in UE4!).
[[File:MH-Blender-base-imported.png]]
You will notice that the MHX2 version of your character holds the Object data (the triangle) and that shape-keys can be seen there!
==Export the FBX for your base character, and import to UE4==
The next step is crucial for getting things to work in UE4, it is not very complicated but you need to have a plan.
When you did this correctly you should be able to get the following results:
* Import your base character into UE4
* Create retargeting for your common skeleton - called MH_Skeleton
* Retarget the Maniqin animations to your base character(s)
* Get additional Mixamo animations
fcd3cf9714b4fbe97d7abc9cefabe7e02bb989bb
1668
1667
2020-02-17T23:13:09Z
Assetdk
89
/* Inspect the results, in Blender */
wikitext
text/x-wiki
=What can and can't be done?=
I have been working on getting different characters into UE4 for some time, and this have been a real hassle!
On this page I want to summarize what I managed to get done using a workflow that involves Blender. I have had a focus on not going into much details regarding any of the tools, but you will need to know a few things. Even though this looks like a trivial task there are some pitfalls and also there are some things that can not be done, or I have just not found out how to. I will eventually also add links to all the YT tutorials I found helpful.
I found that working with Makehuman very easy, so focus will be very UE4 how to specific.
This is what I will cover thus far:
* Create and save any MH character in Makehuman. Basic stuff, and important things to avoid.
* Getting the character into Blender - import or link?
* Setup Blender for Export, shape keys and morph targets
* First import into UE4
* Introduction to more shape keys
* Get the Cloth working
* Mixamo animations
This is the stuff that I did not cover - yet:
* Animations for talking (other tutorials may help)
* Making custom cloth
* Hair
This is the stuff I can not get to work:
* Retargeting to Advanced Locomotion System V3/4
=Getting started=
I wanted a quick way to populate a UE4 game, preferably with an unlimited number of varied characters of high quality. This has proven to be a bit harder than expected. The workflow for making characters is not as trivial as one would want but this guide should make it a bit more easy to do. I will focus on describing the "straight" path from Makehuman and into UE4 - so you will not find too much details about Blender. Please refer to Blender specific pages for more on that.
==Need to know==
There are a few terms that you need to know, say you need to know that you will import FBX, textures and other files into UE4. Also you will need to know that a Character consists of a '''Mesh''', a '''Skeleton''' and '''''materials''''' (that refers to textures). I will try to elaborate on these subjects as we go along...
==Making a base-character==
Makehuman provides a range of predefined characters that is supposed to work as-is. You can just load a character, export it to FBX and import that into UE4 - and after a bit of work you can have a working player character! There are however a few pitfalls, so I suggest you make one (or more) base-character(s) that you can elaborate on as you go along. I will be working with ''''''averagedude'''''' as my base-character.
These are the steps to make the base characters:
* Open Makehuman
* Select the files tab and load the character
'''Under 'Geometries''''
* Remove cloth - (uncheck Hide faces under cloth)!
* Remove hair
* Add Teeth
* Choose Topology (I have no advice on this!)
* Chose Eyebrows/Eyelashes, these can be changed as you go along - as can eye colors!
* Add Tongue01 (again I have no advice/recommendation on that, yet)
'''Under 'Materials'''' - I will show you how to work with UE4 "advanced" materials:
* Chose any skin that you like,
* Chose any eyes that you like
'''Under 'Pose/Animate''''
* Chose Skeleton: Uengine - if you do not have this already you my get it via the community tab?
* Chose Pose: Tpose (the last one on the list)
* Chose Expressions: none
And this is it! But there is one 'important' option you need know about - you need to '''uncheck''' the Smooth button!
The smooth button/option: [[File:MH-Smooth-option.png]] should be unchecked... that will make your character a bit less attractive, but this will preserve the shape-keys!
Makehuman comes with some 50-60 '''shape-keys''' and these will all be available as '''morph-targets''' in UE4. I will show you how to make more shape-keys, using makehuman+blender!
Now it is time to save your base-character - even though you have made very few changes to the file you should save this file under the save tab and name it
<your-name>-base (say averagedude-base), you can even add your very own tag 'base' to this.
When you save the file like this you will be able to reload it, and we need that later!
===Export your base-character===
You can now take a break - or you can export your work. There are really tree options for you to look at:
* Save the FBX file directly
* Save a MHX2 file (you may need to install this as a option/utility, find our elsewhere!)
* Load the character to '''Blender''' directly via the link (I will get back to what can be done using that!)
I suggest that you save your base-character now, in both formats - FBX and MHX2! Make a specific 'Base-Characters' folder, because you will need it!
When you export the FBX use these options:
[[File:MH-FBX-export-options.png]]
This is the result for me, you should see something like this also:
[[File:MH-Base-Character-Folder.png]]
You should also see that there is a sub-folder, called Textures - this is where the different textures are saved and it should now look like this:
[[File:MH-Base-Character-Folder-textures.png]]
You can now go over all of the different textures, so you will have a wide selection to chose from. Textures are saved every time you save a FBX file!
Say, I change the base-characters textures, saved the FBX - and this is what I got:
[[File:MH-Base-Character-Folder-textures2.png]]
===Import your base-character to UE4 - FBX===
The FBX file will actually import directly to UE4, but there are a few problems! You should export your FBX file as Binary FBX, and you will get the most out of it. After this you can get to this result (after adjusting the materials, as seen below):
[[File:MH-MH-FBX-imported.png]]
Your character can look like this (after adjusting materials) - pretty good:
[[File:MH-MH-FBX-imported-materials.png]]
'''HOWEVER, you have lost the morph-targets! And as you probably noticed, the UE4 standard FBX import do import them!'''
I will get back to what to do about the shape-keys... but let make the materials first?
==Makehuman UE4 materials==
When you import the FBX made you exported from Makehuman, both textures and materials are made. You will also notice that UE4 will try to match the materials correctly to the material slots, as seen above in the 'Asset Details' of, in my case, averagedude-base (do not worry about the physics and the skeleton yet!).
To get you started, we need to take a look at the Eye, Eyelashes and Eyebrow materials...
===Eye materials===
First you can rename the '''high-poly''' material '''high-poly-''blue-eye''''' - or to whatever color you chose! You will probably make more eye materials.
Next you can double-click the material, to open the material-editor and change it to look something like this:
[[File:MH-UE4-Eye-material.png]]
===Eyelashes and Eyebrow materials===
Likewise you can set up the eyelashes, and the eyebrows are the same only you do not need ''two sided'' for the bows:
[[File:MH-UE4-Eyelashes-material.png]]
!?You may want to play with the shading model.
===More materials?===
You can simply drag and drop more textures from the the base-character/textures folder, then duplicate and rename the materials, and apply different textures to the renamed materials. At some point I want to be able to customize/randomize (NPC) characters, but I have not yet done that.
Also you can make materials instances with parameters... I will show you howto, but first we need to turn shape-keys into morph-targets.
=Use Blender v 2.80 to get more!!=
For some reason the exported FBX file is not organized in a way so you will get the shape-keys imported directly to UE4. However when you follow the next steps, you will not get the correct materials imported, so I recommend that you run FBX import as shown above, and save the textures/materials in a separate folder.
If you are new to Blender please run a few tutorials specifically on on how to import/export, and also get to know about collections - you can do a lot in Blender and you can get confused!
==What will be done here?==
I will show you how to:
* Import your MHX2 files, to preserve the shape-keys
* Export FBX files, so UE4 will import correctly with morph-targets
* Apply expressions etc. to your base character
* Import these to your Blender file and apply the expressions as '''new shape keys'''
==But, first import and inspect FBX and MHX2!==
As you may remember you exported two files, the FBX file and the MHX2 file. You want to import both of these files into Blender, so you need two Collections, called FBX and MHX2. You right-click on the 'Scene collection' select 'New' and rename the collections to 'FBX' and 'MHX2'... I also added Scene collection and dragged the Camera and Light there (as I deleted the box). After this you should see something link this (the small Icons may be different):
[[File:MH-Base-Blender-setup.png]]
When you import your FBX file select/highlight the FBX collection, so the FBX data get imported into that collection. You can use the standard import options. For MHX2 you need to change the setting to match those you see below - when you find they are correct you can click the + sign, marked with a yellow arrow, and save the setting with your own setting-name.
(You may notice that the character you imported is out of proportions, some 17-18 meters high, we will correct that when we export to UE4!)
[[File:MH-Blender-FBX-import-options.png]]
===Inspect the results, in Blender===
Now is a good time to save the Blender file. You should save this in the same folder as the FBX and MHX2. I call this file averagedude-base.blend.
If you did this approximately as described the result should be munch like below. And you will probably notice that there is some structural differences. You can see that by looking at the small icons [[File:MH-Blender-base-imported-icons.png]], that represent where modifiers, vertex groups and Object data is stored! Specifically the Object data holds the shape-keys and those were not imported. (perhaps because I did not use the correct FBX import options - but the same happens in UE4!).
[[File:MH-Blender-base-imported.png]]
You will notice that the MHX2 version of your character holds the Object data (the triangle) and that shape-keys can be seen there!
==Export the FBX for your base character, and import to UE4==
This is the next step, but you need to wait a bit for that...
189960a3f95226159f5342f69bd5d43b8c830dda
1667
1664
2020-02-17T23:10:54Z
Assetdk
89
/* But, first import and inspect FBX and MHX2! */
wikitext
text/x-wiki
=What can and can't be done?=
I have been working on getting different characters into UE4 for some time, and this have been a real hassle!
On this page I want to summarize what I managed to get done using a workflow that involves Blender. I have had a focus on not going into much details regarding any of the tools, but you will need to know a few things. Even though this looks like a trivial task there are some pitfalls and also there are some things that can not be done, or I have just not found out how to. I will eventually also add links to all the YT tutorials I found helpful.
I found that working with Makehuman very easy, so focus will be very UE4 how to specific.
This is what I will cover thus far:
* Create and save any MH character in Makehuman. Basic stuff, and important things to avoid.
* Getting the character into Blender - import or link?
* Setup Blender for Export, shape keys and morph targets
* First import into UE4
* Introduction to more shape keys
* Get the Cloth working
* Mixamo animations
This is the stuff that I did not cover - yet:
* Animations for talking (other tutorials may help)
* Making custom cloth
* Hair
This is the stuff I can not get to work:
* Retargeting to Advanced Locomotion System V3/4
=Getting started=
I wanted a quick way to populate a UE4 game, preferably with an unlimited number of varied characters of high quality. This has proven to be a bit harder than expected. The workflow for making characters is not as trivial as one would want but this guide should make it a bit more easy to do. I will focus on describing the "straight" path from Makehuman and into UE4 - so you will not find too much details about Blender. Please refer to Blender specific pages for more on that.
==Need to know==
There are a few terms that you need to know, say you need to know that you will import FBX, textures and other files into UE4. Also you will need to know that a Character consists of a '''Mesh''', a '''Skeleton''' and '''''materials''''' (that refers to textures). I will try to elaborate on these subjects as we go along...
==Making a base-character==
Makehuman provides a range of predefined characters that is supposed to work as-is. You can just load a character, export it to FBX and import that into UE4 - and after a bit of work you can have a working player character! There are however a few pitfalls, so I suggest you make one (or more) base-character(s) that you can elaborate on as you go along. I will be working with ''''''averagedude'''''' as my base-character.
These are the steps to make the base characters:
* Open Makehuman
* Select the files tab and load the character
'''Under 'Geometries''''
* Remove cloth - (uncheck Hide faces under cloth)!
* Remove hair
* Add Teeth
* Choose Topology (I have no advice on this!)
* Chose Eyebrows/Eyelashes, these can be changed as you go along - as can eye colors!
* Add Tongue01 (again I have no advice/recommendation on that, yet)
'''Under 'Materials'''' - I will show you how to work with UE4 "advanced" materials:
* Chose any skin that you like,
* Chose any eyes that you like
'''Under 'Pose/Animate''''
* Chose Skeleton: Uengine - if you do not have this already you my get it via the community tab?
* Chose Pose: Tpose (the last one on the list)
* Chose Expressions: none
And this is it! But there is one 'important' option you need know about - you need to '''uncheck''' the Smooth button!
The smooth button/option: [[File:MH-Smooth-option.png]] should be unchecked... that will make your character a bit less attractive, but this will preserve the shape-keys!
Makehuman comes with some 50-60 '''shape-keys''' and these will all be available as '''morph-targets''' in UE4. I will show you how to make more shape-keys, using makehuman+blender!
Now it is time to save your base-character - even though you have made very few changes to the file you should save this file under the save tab and name it
<your-name>-base (say averagedude-base), you can even add your very own tag 'base' to this.
When you save the file like this you will be able to reload it, and we need that later!
===Export your base-character===
You can now take a break - or you can export your work. There are really tree options for you to look at:
* Save the FBX file directly
* Save a MHX2 file (you may need to install this as a option/utility, find our elsewhere!)
* Load the character to '''Blender''' directly via the link (I will get back to what can be done using that!)
I suggest that you save your base-character now, in both formats - FBX and MHX2! Make a specific 'Base-Characters' folder, because you will need it!
When you export the FBX use these options:
[[File:MH-FBX-export-options.png]]
This is the result for me, you should see something like this also:
[[File:MH-Base-Character-Folder.png]]
You should also see that there is a sub-folder, called Textures - this is where the different textures are saved and it should now look like this:
[[File:MH-Base-Character-Folder-textures.png]]
You can now go over all of the different textures, so you will have a wide selection to chose from. Textures are saved every time you save a FBX file!
Say, I change the base-characters textures, saved the FBX - and this is what I got:
[[File:MH-Base-Character-Folder-textures2.png]]
===Import your base-character to UE4 - FBX===
The FBX file will actually import directly to UE4, but there are a few problems! You should export your FBX file as Binary FBX, and you will get the most out of it. After this you can get to this result (after adjusting the materials, as seen below):
[[File:MH-MH-FBX-imported.png]]
Your character can look like this (after adjusting materials) - pretty good:
[[File:MH-MH-FBX-imported-materials.png]]
'''HOWEVER, you have lost the morph-targets! And as you probably noticed, the UE4 standard FBX import do import them!'''
I will get back to what to do about the shape-keys... but let make the materials first?
==Makehuman UE4 materials==
When you import the FBX made you exported from Makehuman, both textures and materials are made. You will also notice that UE4 will try to match the materials correctly to the material slots, as seen above in the 'Asset Details' of, in my case, averagedude-base (do not worry about the physics and the skeleton yet!).
To get you started, we need to take a look at the Eye, Eyelashes and Eyebrow materials...
===Eye materials===
First you can rename the '''high-poly''' material '''high-poly-''blue-eye''''' - or to whatever color you chose! You will probably make more eye materials.
Next you can double-click the material, to open the material-editor and change it to look something like this:
[[File:MH-UE4-Eye-material.png]]
===Eyelashes and Eyebrow materials===
Likewise you can set up the eyelashes, and the eyebrows are the same only you do not need ''two sided'' for the bows:
[[File:MH-UE4-Eyelashes-material.png]]
!?You may want to play with the shading model.
===More materials?===
You can simply drag and drop more textures from the the base-character/textures folder, then duplicate and rename the materials, and apply different textures to the renamed materials. At some point I want to be able to customize/randomize (NPC) characters, but I have not yet done that.
Also you can make materials instances with parameters... I will show you howto, but first we need to turn shape-keys into morph-targets.
=Use Blender v 2.80 to get more!!=
For some reason the exported FBX file is not organized in a way so you will get the shape-keys imported directly to UE4. However when you follow the next steps, you will not get the correct materials imported, so I recommend that you run FBX import as shown above, and save the textures/materials in a separate folder.
If you are new to Blender please run a few tutorials specifically on on how to import/export, and also get to know about collections - you can do a lot in Blender and you can get confused!
==What will be done here?==
I will show you how to:
* Import your MHX2 files, to preserve the shape-keys
* Export FBX files, so UE4 will import correctly with morph-targets
* Apply expressions etc. to your base character
* Import these to your Blender file and apply the expressions as '''new shape keys'''
==But, first import and inspect FBX and MHX2!==
As you may remember you exported two files, the FBX file and the MHX2 file. You want to import both of these files into Blender, so you need two Collections, called FBX and MHX2. You right-click on the 'Scene collection' select 'New' and rename the collections to 'FBX' and 'MHX2'... I also added Scene collection and dragged the Camera and Light there (as I deleted the box). After this you should see something link this (the small Icons may be different):
[[File:MH-Base-Blender-setup.png]]
When you import your FBX file select/highlight the FBX collection, so the FBX data get imported into that collection. You can use the standard import options. For MHX2 you need to change the setting to match those you see below - when you find they are correct you can click the + sign, marked with a yellow arrow, and save the setting with your own setting-name.
(You may notice that the character you imported is out of proportions, some 17-18 meters high, we will correct that when we export to UE4!)
[[File:MH-Blender-FBX-import-options.png]]
===Inspect the results, in Blender===
Now is a good time to save the Blender file. You should save this in the same folder as the FBX and MHX2. I call this file averagedude-base.blend.
If you did this approximately as described the result should be munch like below. And you will probably notice that there is some structural differences. You can see that by looking at the small icons [[File:MH-Blender-base-imported-icons.png]], that represent where modifiers, vertex groups and Object data is stored! Specifically the Object data holds the shape-keys and those were not imported. (perhaps because I did not use the correct FBX import options - but the same happens in UE4!).
[[File:MH-Blender-base-imported.png]]
You will notice that the MHX2 version of your character holds the Object data (the triangle) and that shape-keys can be seen there!
e76e29e00a8abb547ae793a46eaa0b2862e3188b
1664
1662
2020-02-17T22:48:33Z
Assetdk
89
/* But, first import and inspect FBX and MHX2! */
wikitext
text/x-wiki
=What can and can't be done?=
I have been working on getting different characters into UE4 for some time, and this have been a real hassle!
On this page I want to summarize what I managed to get done using a workflow that involves Blender. I have had a focus on not going into much details regarding any of the tools, but you will need to know a few things. Even though this looks like a trivial task there are some pitfalls and also there are some things that can not be done, or I have just not found out how to. I will eventually also add links to all the YT tutorials I found helpful.
I found that working with Makehuman very easy, so focus will be very UE4 how to specific.
This is what I will cover thus far:
* Create and save any MH character in Makehuman. Basic stuff, and important things to avoid.
* Getting the character into Blender - import or link?
* Setup Blender for Export, shape keys and morph targets
* First import into UE4
* Introduction to more shape keys
* Get the Cloth working
* Mixamo animations
This is the stuff that I did not cover - yet:
* Animations for talking (other tutorials may help)
* Making custom cloth
* Hair
This is the stuff I can not get to work:
* Retargeting to Advanced Locomotion System V3/4
=Getting started=
I wanted a quick way to populate a UE4 game, preferably with an unlimited number of varied characters of high quality. This has proven to be a bit harder than expected. The workflow for making characters is not as trivial as one would want but this guide should make it a bit more easy to do. I will focus on describing the "straight" path from Makehuman and into UE4 - so you will not find too much details about Blender. Please refer to Blender specific pages for more on that.
==Need to know==
There are a few terms that you need to know, say you need to know that you will import FBX, textures and other files into UE4. Also you will need to know that a Character consists of a '''Mesh''', a '''Skeleton''' and '''''materials''''' (that refers to textures). I will try to elaborate on these subjects as we go along...
==Making a base-character==
Makehuman provides a range of predefined characters that is supposed to work as-is. You can just load a character, export it to FBX and import that into UE4 - and after a bit of work you can have a working player character! There are however a few pitfalls, so I suggest you make one (or more) base-character(s) that you can elaborate on as you go along. I will be working with ''''''averagedude'''''' as my base-character.
These are the steps to make the base characters:
* Open Makehuman
* Select the files tab and load the character
'''Under 'Geometries''''
* Remove cloth - (uncheck Hide faces under cloth)!
* Remove hair
* Add Teeth
* Choose Topology (I have no advice on this!)
* Chose Eyebrows/Eyelashes, these can be changed as you go along - as can eye colors!
* Add Tongue01 (again I have no advice/recommendation on that, yet)
'''Under 'Materials'''' - I will show you how to work with UE4 "advanced" materials:
* Chose any skin that you like,
* Chose any eyes that you like
'''Under 'Pose/Animate''''
* Chose Skeleton: Uengine - if you do not have this already you my get it via the community tab?
* Chose Pose: Tpose (the last one on the list)
* Chose Expressions: none
And this is it! But there is one 'important' option you need know about - you need to '''uncheck''' the Smooth button!
The smooth button/option: [[File:MH-Smooth-option.png]] should be unchecked... that will make your character a bit less attractive, but this will preserve the shape-keys!
Makehuman comes with some 50-60 '''shape-keys''' and these will all be available as '''morph-targets''' in UE4. I will show you how to make more shape-keys, using makehuman+blender!
Now it is time to save your base-character - even though you have made very few changes to the file you should save this file under the save tab and name it
<your-name>-base (say averagedude-base), you can even add your very own tag 'base' to this.
When you save the file like this you will be able to reload it, and we need that later!
===Export your base-character===
You can now take a break - or you can export your work. There are really tree options for you to look at:
* Save the FBX file directly
* Save a MHX2 file (you may need to install this as a option/utility, find our elsewhere!)
* Load the character to '''Blender''' directly via the link (I will get back to what can be done using that!)
I suggest that you save your base-character now, in both formats - FBX and MHX2! Make a specific 'Base-Characters' folder, because you will need it!
When you export the FBX use these options:
[[File:MH-FBX-export-options.png]]
This is the result for me, you should see something like this also:
[[File:MH-Base-Character-Folder.png]]
You should also see that there is a sub-folder, called Textures - this is where the different textures are saved and it should now look like this:
[[File:MH-Base-Character-Folder-textures.png]]
You can now go over all of the different textures, so you will have a wide selection to chose from. Textures are saved every time you save a FBX file!
Say, I change the base-characters textures, saved the FBX - and this is what I got:
[[File:MH-Base-Character-Folder-textures2.png]]
===Import your base-character to UE4 - FBX===
The FBX file will actually import directly to UE4, but there are a few problems! You should export your FBX file as Binary FBX, and you will get the most out of it. After this you can get to this result (after adjusting the materials, as seen below):
[[File:MH-MH-FBX-imported.png]]
Your character can look like this (after adjusting materials) - pretty good:
[[File:MH-MH-FBX-imported-materials.png]]
'''HOWEVER, you have lost the morph-targets! And as you probably noticed, the UE4 standard FBX import do import them!'''
I will get back to what to do about the shape-keys... but let make the materials first?
==Makehuman UE4 materials==
When you import the FBX made you exported from Makehuman, both textures and materials are made. You will also notice that UE4 will try to match the materials correctly to the material slots, as seen above in the 'Asset Details' of, in my case, averagedude-base (do not worry about the physics and the skeleton yet!).
To get you started, we need to take a look at the Eye, Eyelashes and Eyebrow materials...
===Eye materials===
First you can rename the '''high-poly''' material '''high-poly-''blue-eye''''' - or to whatever color you chose! You will probably make more eye materials.
Next you can double-click the material, to open the material-editor and change it to look something like this:
[[File:MH-UE4-Eye-material.png]]
===Eyelashes and Eyebrow materials===
Likewise you can set up the eyelashes, and the eyebrows are the same only you do not need ''two sided'' for the bows:
[[File:MH-UE4-Eyelashes-material.png]]
!?You may want to play with the shading model.
===More materials?===
You can simply drag and drop more textures from the the base-character/textures folder, then duplicate and rename the materials, and apply different textures to the renamed materials. At some point I want to be able to customize/randomize (NPC) characters, but I have not yet done that.
Also you can make materials instances with parameters... I will show you howto, but first we need to turn shape-keys into morph-targets.
=Use Blender v 2.80 to get more!!=
For some reason the exported FBX file is not organized in a way so you will get the shape-keys imported directly to UE4. However when you follow the next steps, you will not get the correct materials imported, so I recommend that you run FBX import as shown above, and save the textures/materials in a separate folder.
If you are new to Blender please run a few tutorials specifically on on how to import/export, and also get to know about collections - you can do a lot in Blender and you can get confused!
==What will be done here?==
I will show you how to:
* Import your MHX2 files, to preserve the shape-keys
* Export FBX files, so UE4 will import correctly with morph-targets
* Apply expressions etc. to your base character
* Import these to your Blender file and apply the expressions as '''new shape keys'''
==But, first import and inspect FBX and MHX2!==
As you may remember you exported two files, the FBX file and the MHX2 file. You want to import both of these files into Blender, so you need two Collections, called FBX and MHX2. You right-click on the 'Scene collection' select 'New' and rename the collections to 'FBX' and 'MHX2'... I also added Scene collection and dragged the Camera and Light there (as I deleted the box). After this you should see something link this (the small Icons may be different):
[[File:MH-Base-Blender-setup.png]]
When you import your FBX file select/highlight the FBX collection, so the FBX data get imported into that collection. You can use the standard import options. For MHX2 you need to change the setting to match those you see below - when you find they are correct you can click the + sign, marked with a yellow arrow, and save the setting with your own setting-name.
(You may notice that the character you imported is out of proportions, some 17-18 meters high, we will correct that when we export to UE4!)
[[File:MH-Blender-FBX-import-options.png]]
9064f00b7243f460e5f6b90e8651c549e5fa249e
1662
1661
2020-02-17T22:39:57Z
Assetdk
89
/* But, first import and inspect FBX and MHX2! */
wikitext
text/x-wiki
=What can and can't be done?=
I have been working on getting different characters into UE4 for some time, and this have been a real hassle!
On this page I want to summarize what I managed to get done using a workflow that involves Blender. I have had a focus on not going into much details regarding any of the tools, but you will need to know a few things. Even though this looks like a trivial task there are some pitfalls and also there are some things that can not be done, or I have just not found out how to. I will eventually also add links to all the YT tutorials I found helpful.
I found that working with Makehuman very easy, so focus will be very UE4 how to specific.
This is what I will cover thus far:
* Create and save any MH character in Makehuman. Basic stuff, and important things to avoid.
* Getting the character into Blender - import or link?
* Setup Blender for Export, shape keys and morph targets
* First import into UE4
* Introduction to more shape keys
* Get the Cloth working
* Mixamo animations
This is the stuff that I did not cover - yet:
* Animations for talking (other tutorials may help)
* Making custom cloth
* Hair
This is the stuff I can not get to work:
* Retargeting to Advanced Locomotion System V3/4
=Getting started=
I wanted a quick way to populate a UE4 game, preferably with an unlimited number of varied characters of high quality. This has proven to be a bit harder than expected. The workflow for making characters is not as trivial as one would want but this guide should make it a bit more easy to do. I will focus on describing the "straight" path from Makehuman and into UE4 - so you will not find too much details about Blender. Please refer to Blender specific pages for more on that.
==Need to know==
There are a few terms that you need to know, say you need to know that you will import FBX, textures and other files into UE4. Also you will need to know that a Character consists of a '''Mesh''', a '''Skeleton''' and '''''materials''''' (that refers to textures). I will try to elaborate on these subjects as we go along...
==Making a base-character==
Makehuman provides a range of predefined characters that is supposed to work as-is. You can just load a character, export it to FBX and import that into UE4 - and after a bit of work you can have a working player character! There are however a few pitfalls, so I suggest you make one (or more) base-character(s) that you can elaborate on as you go along. I will be working with ''''''averagedude'''''' as my base-character.
These are the steps to make the base characters:
* Open Makehuman
* Select the files tab and load the character
'''Under 'Geometries''''
* Remove cloth - (uncheck Hide faces under cloth)!
* Remove hair
* Add Teeth
* Choose Topology (I have no advice on this!)
* Chose Eyebrows/Eyelashes, these can be changed as you go along - as can eye colors!
* Add Tongue01 (again I have no advice/recommendation on that, yet)
'''Under 'Materials'''' - I will show you how to work with UE4 "advanced" materials:
* Chose any skin that you like,
* Chose any eyes that you like
'''Under 'Pose/Animate''''
* Chose Skeleton: Uengine - if you do not have this already you my get it via the community tab?
* Chose Pose: Tpose (the last one on the list)
* Chose Expressions: none
And this is it! But there is one 'important' option you need know about - you need to '''uncheck''' the Smooth button!
The smooth button/option: [[File:MH-Smooth-option.png]] should be unchecked... that will make your character a bit less attractive, but this will preserve the shape-keys!
Makehuman comes with some 50-60 '''shape-keys''' and these will all be available as '''morph-targets''' in UE4. I will show you how to make more shape-keys, using makehuman+blender!
Now it is time to save your base-character - even though you have made very few changes to the file you should save this file under the save tab and name it
<your-name>-base (say averagedude-base), you can even add your very own tag 'base' to this.
When you save the file like this you will be able to reload it, and we need that later!
===Export your base-character===
You can now take a break - or you can export your work. There are really tree options for you to look at:
* Save the FBX file directly
* Save a MHX2 file (you may need to install this as a option/utility, find our elsewhere!)
* Load the character to '''Blender''' directly via the link (I will get back to what can be done using that!)
I suggest that you save your base-character now, in both formats - FBX and MHX2! Make a specific 'Base-Characters' folder, because you will need it!
When you export the FBX use these options:
[[File:MH-FBX-export-options.png]]
This is the result for me, you should see something like this also:
[[File:MH-Base-Character-Folder.png]]
You should also see that there is a sub-folder, called Textures - this is where the different textures are saved and it should now look like this:
[[File:MH-Base-Character-Folder-textures.png]]
You can now go over all of the different textures, so you will have a wide selection to chose from. Textures are saved every time you save a FBX file!
Say, I change the base-characters textures, saved the FBX - and this is what I got:
[[File:MH-Base-Character-Folder-textures2.png]]
===Import your base-character to UE4 - FBX===
The FBX file will actually import directly to UE4, but there are a few problems! You should export your FBX file as Binary FBX, and you will get the most out of it. After this you can get to this result (after adjusting the materials, as seen below):
[[File:MH-MH-FBX-imported.png]]
Your character can look like this (after adjusting materials) - pretty good:
[[File:MH-MH-FBX-imported-materials.png]]
'''HOWEVER, you have lost the morph-targets! And as you probably noticed, the UE4 standard FBX import do import them!'''
I will get back to what to do about the shape-keys... but let make the materials first?
==Makehuman UE4 materials==
When you import the FBX made you exported from Makehuman, both textures and materials are made. You will also notice that UE4 will try to match the materials correctly to the material slots, as seen above in the 'Asset Details' of, in my case, averagedude-base (do not worry about the physics and the skeleton yet!).
To get you started, we need to take a look at the Eye, Eyelashes and Eyebrow materials...
===Eye materials===
First you can rename the '''high-poly''' material '''high-poly-''blue-eye''''' - or to whatever color you chose! You will probably make more eye materials.
Next you can double-click the material, to open the material-editor and change it to look something like this:
[[File:MH-UE4-Eye-material.png]]
===Eyelashes and Eyebrow materials===
Likewise you can set up the eyelashes, and the eyebrows are the same only you do not need ''two sided'' for the bows:
[[File:MH-UE4-Eyelashes-material.png]]
!?You may want to play with the shading model.
===More materials?===
You can simply drag and drop more textures from the the base-character/textures folder, then duplicate and rename the materials, and apply different textures to the renamed materials. At some point I want to be able to customize/randomize (NPC) characters, but I have not yet done that.
Also you can make materials instances with parameters... I will show you howto, but first we need to turn shape-keys into morph-targets.
=Use Blender v 2.80 to get more!!=
For some reason the exported FBX file is not organized in a way so you will get the shape-keys imported directly to UE4. However when you follow the next steps, you will not get the correct materials imported, so I recommend that you run FBX import as shown above, and save the textures/materials in a separate folder.
If you are new to Blender please run a few tutorials specifically on on how to import/export, and also get to know about collections - you can do a lot in Blender and you can get confused!
==What will be done here?==
I will show you how to:
* Import your MHX2 files, to preserve the shape-keys
* Export FBX files, so UE4 will import correctly with morph-targets
* Apply expressions etc. to your base character
* Import these to your Blender file and apply the expressions as '''new shape keys'''
==But, first import and inspect FBX and MHX2!==
As you may remember you exported two files, the FBX file and the MHX2 file. You want to import both of these files into Blender, so you need two Collections, called FBX and MHX2. You right-click on the 'Scene collection' select 'New' and rename the collections to 'FBX' and 'MHX2'... I also added Scene collection and dragged the Camera and Light there (as I deleted the box). After this you should see something link this (the small Icons may be different):
[[File:MH-Base-Blender-setup.png]]
When you import your FBX file select/highlight the FBX collection, so the FBX data get imported into that collection. You can use the standard import options, that looks like this:
(You may notice that the character you imported is out of proportions, some 17-18 meters high, we will correct that when we export to UE4!)
[[File:MH-Blender-FBX-import-options.png]]
7cd2f5cb4fd7cb1395b999a12e57c92cf72929b6
1661
1659
2020-02-17T22:39:23Z
Assetdk
89
/* But, first import and inspect FBX and MHX2! */
wikitext
text/x-wiki
=What can and can't be done?=
I have been working on getting different characters into UE4 for some time, and this have been a real hassle!
On this page I want to summarize what I managed to get done using a workflow that involves Blender. I have had a focus on not going into much details regarding any of the tools, but you will need to know a few things. Even though this looks like a trivial task there are some pitfalls and also there are some things that can not be done, or I have just not found out how to. I will eventually also add links to all the YT tutorials I found helpful.
I found that working with Makehuman very easy, so focus will be very UE4 how to specific.
This is what I will cover thus far:
* Create and save any MH character in Makehuman. Basic stuff, and important things to avoid.
* Getting the character into Blender - import or link?
* Setup Blender for Export, shape keys and morph targets
* First import into UE4
* Introduction to more shape keys
* Get the Cloth working
* Mixamo animations
This is the stuff that I did not cover - yet:
* Animations for talking (other tutorials may help)
* Making custom cloth
* Hair
This is the stuff I can not get to work:
* Retargeting to Advanced Locomotion System V3/4
=Getting started=
I wanted a quick way to populate a UE4 game, preferably with an unlimited number of varied characters of high quality. This has proven to be a bit harder than expected. The workflow for making characters is not as trivial as one would want but this guide should make it a bit more easy to do. I will focus on describing the "straight" path from Makehuman and into UE4 - so you will not find too much details about Blender. Please refer to Blender specific pages for more on that.
==Need to know==
There are a few terms that you need to know, say you need to know that you will import FBX, textures and other files into UE4. Also you will need to know that a Character consists of a '''Mesh''', a '''Skeleton''' and '''''materials''''' (that refers to textures). I will try to elaborate on these subjects as we go along...
==Making a base-character==
Makehuman provides a range of predefined characters that is supposed to work as-is. You can just load a character, export it to FBX and import that into UE4 - and after a bit of work you can have a working player character! There are however a few pitfalls, so I suggest you make one (or more) base-character(s) that you can elaborate on as you go along. I will be working with ''''''averagedude'''''' as my base-character.
These are the steps to make the base characters:
* Open Makehuman
* Select the files tab and load the character
'''Under 'Geometries''''
* Remove cloth - (uncheck Hide faces under cloth)!
* Remove hair
* Add Teeth
* Choose Topology (I have no advice on this!)
* Chose Eyebrows/Eyelashes, these can be changed as you go along - as can eye colors!
* Add Tongue01 (again I have no advice/recommendation on that, yet)
'''Under 'Materials'''' - I will show you how to work with UE4 "advanced" materials:
* Chose any skin that you like,
* Chose any eyes that you like
'''Under 'Pose/Animate''''
* Chose Skeleton: Uengine - if you do not have this already you my get it via the community tab?
* Chose Pose: Tpose (the last one on the list)
* Chose Expressions: none
And this is it! But there is one 'important' option you need know about - you need to '''uncheck''' the Smooth button!
The smooth button/option: [[File:MH-Smooth-option.png]] should be unchecked... that will make your character a bit less attractive, but this will preserve the shape-keys!
Makehuman comes with some 50-60 '''shape-keys''' and these will all be available as '''morph-targets''' in UE4. I will show you how to make more shape-keys, using makehuman+blender!
Now it is time to save your base-character - even though you have made very few changes to the file you should save this file under the save tab and name it
<your-name>-base (say averagedude-base), you can even add your very own tag 'base' to this.
When you save the file like this you will be able to reload it, and we need that later!
===Export your base-character===
You can now take a break - or you can export your work. There are really tree options for you to look at:
* Save the FBX file directly
* Save a MHX2 file (you may need to install this as a option/utility, find our elsewhere!)
* Load the character to '''Blender''' directly via the link (I will get back to what can be done using that!)
I suggest that you save your base-character now, in both formats - FBX and MHX2! Make a specific 'Base-Characters' folder, because you will need it!
When you export the FBX use these options:
[[File:MH-FBX-export-options.png]]
This is the result for me, you should see something like this also:
[[File:MH-Base-Character-Folder.png]]
You should also see that there is a sub-folder, called Textures - this is where the different textures are saved and it should now look like this:
[[File:MH-Base-Character-Folder-textures.png]]
You can now go over all of the different textures, so you will have a wide selection to chose from. Textures are saved every time you save a FBX file!
Say, I change the base-characters textures, saved the FBX - and this is what I got:
[[File:MH-Base-Character-Folder-textures2.png]]
===Import your base-character to UE4 - FBX===
The FBX file will actually import directly to UE4, but there are a few problems! You should export your FBX file as Binary FBX, and you will get the most out of it. After this you can get to this result (after adjusting the materials, as seen below):
[[File:MH-MH-FBX-imported.png]]
Your character can look like this (after adjusting materials) - pretty good:
[[File:MH-MH-FBX-imported-materials.png]]
'''HOWEVER, you have lost the morph-targets! And as you probably noticed, the UE4 standard FBX import do import them!'''
I will get back to what to do about the shape-keys... but let make the materials first?
==Makehuman UE4 materials==
When you import the FBX made you exported from Makehuman, both textures and materials are made. You will also notice that UE4 will try to match the materials correctly to the material slots, as seen above in the 'Asset Details' of, in my case, averagedude-base (do not worry about the physics and the skeleton yet!).
To get you started, we need to take a look at the Eye, Eyelashes and Eyebrow materials...
===Eye materials===
First you can rename the '''high-poly''' material '''high-poly-''blue-eye''''' - or to whatever color you chose! You will probably make more eye materials.
Next you can double-click the material, to open the material-editor and change it to look something like this:
[[File:MH-UE4-Eye-material.png]]
===Eyelashes and Eyebrow materials===
Likewise you can set up the eyelashes, and the eyebrows are the same only you do not need ''two sided'' for the bows:
[[File:MH-UE4-Eyelashes-material.png]]
!?You may want to play with the shading model.
===More materials?===
You can simply drag and drop more textures from the the base-character/textures folder, then duplicate and rename the materials, and apply different textures to the renamed materials. At some point I want to be able to customize/randomize (NPC) characters, but I have not yet done that.
Also you can make materials instances with parameters... I will show you howto, but first we need to turn shape-keys into morph-targets.
=Use Blender v 2.80 to get more!!=
For some reason the exported FBX file is not organized in a way so you will get the shape-keys imported directly to UE4. However when you follow the next steps, you will not get the correct materials imported, so I recommend that you run FBX import as shown above, and save the textures/materials in a separate folder.
If you are new to Blender please run a few tutorials specifically on on how to import/export, and also get to know about collections - you can do a lot in Blender and you can get confused!
==What will be done here?==
I will show you how to:
* Import your MHX2 files, to preserve the shape-keys
* Export FBX files, so UE4 will import correctly with morph-targets
* Apply expressions etc. to your base character
* Import these to your Blender file and apply the expressions as '''new shape keys'''
==But, first import and inspect FBX and MHX2!==
As you may remember you exported two files, the FBX file and the MHX2 file. You want to import both of these files into Blender, so you need two Collections, called FBX and MHX2. You right-click on the 'Scene collection' select 'New' and rename the collections to 'FBX' and 'MHX2'... I also added Scene collection and dragged the Camera and Light there (as I deleted the box). After this you should see something link this (the small Icons may be different):
[[File:MH-Base-Blender-setup.png]]
When you import your FBX file select/highlight the FBX collection, so the FBX data get imported into that collection. You can use the standard import options, that looks like this:
[[File:MH-Blender-FBX-import-options.png]] (You may notice that the character you imported is out of proportions, some 17-18 meters high, we will correct that when we export to UE4!)
d7a47905140a48769dec41330f1d5bc9a2031d9b
1659
1658
2020-02-17T22:28:24Z
Assetdk
89
/* But, first inspect FBX and MHX2! */
wikitext
text/x-wiki
=What can and can't be done?=
I have been working on getting different characters into UE4 for some time, and this have been a real hassle!
On this page I want to summarize what I managed to get done using a workflow that involves Blender. I have had a focus on not going into much details regarding any of the tools, but you will need to know a few things. Even though this looks like a trivial task there are some pitfalls and also there are some things that can not be done, or I have just not found out how to. I will eventually also add links to all the YT tutorials I found helpful.
I found that working with Makehuman very easy, so focus will be very UE4 how to specific.
This is what I will cover thus far:
* Create and save any MH character in Makehuman. Basic stuff, and important things to avoid.
* Getting the character into Blender - import or link?
* Setup Blender for Export, shape keys and morph targets
* First import into UE4
* Introduction to more shape keys
* Get the Cloth working
* Mixamo animations
This is the stuff that I did not cover - yet:
* Animations for talking (other tutorials may help)
* Making custom cloth
* Hair
This is the stuff I can not get to work:
* Retargeting to Advanced Locomotion System V3/4
=Getting started=
I wanted a quick way to populate a UE4 game, preferably with an unlimited number of varied characters of high quality. This has proven to be a bit harder than expected. The workflow for making characters is not as trivial as one would want but this guide should make it a bit more easy to do. I will focus on describing the "straight" path from Makehuman and into UE4 - so you will not find too much details about Blender. Please refer to Blender specific pages for more on that.
==Need to know==
There are a few terms that you need to know, say you need to know that you will import FBX, textures and other files into UE4. Also you will need to know that a Character consists of a '''Mesh''', a '''Skeleton''' and '''''materials''''' (that refers to textures). I will try to elaborate on these subjects as we go along...
==Making a base-character==
Makehuman provides a range of predefined characters that is supposed to work as-is. You can just load a character, export it to FBX and import that into UE4 - and after a bit of work you can have a working player character! There are however a few pitfalls, so I suggest you make one (or more) base-character(s) that you can elaborate on as you go along. I will be working with ''''''averagedude'''''' as my base-character.
These are the steps to make the base characters:
* Open Makehuman
* Select the files tab and load the character
'''Under 'Geometries''''
* Remove cloth - (uncheck Hide faces under cloth)!
* Remove hair
* Add Teeth
* Choose Topology (I have no advice on this!)
* Chose Eyebrows/Eyelashes, these can be changed as you go along - as can eye colors!
* Add Tongue01 (again I have no advice/recommendation on that, yet)
'''Under 'Materials'''' - I will show you how to work with UE4 "advanced" materials:
* Chose any skin that you like,
* Chose any eyes that you like
'''Under 'Pose/Animate''''
* Chose Skeleton: Uengine - if you do not have this already you my get it via the community tab?
* Chose Pose: Tpose (the last one on the list)
* Chose Expressions: none
And this is it! But there is one 'important' option you need know about - you need to '''uncheck''' the Smooth button!
The smooth button/option: [[File:MH-Smooth-option.png]] should be unchecked... that will make your character a bit less attractive, but this will preserve the shape-keys!
Makehuman comes with some 50-60 '''shape-keys''' and these will all be available as '''morph-targets''' in UE4. I will show you how to make more shape-keys, using makehuman+blender!
Now it is time to save your base-character - even though you have made very few changes to the file you should save this file under the save tab and name it
<your-name>-base (say averagedude-base), you can even add your very own tag 'base' to this.
When you save the file like this you will be able to reload it, and we need that later!
===Export your base-character===
You can now take a break - or you can export your work. There are really tree options for you to look at:
* Save the FBX file directly
* Save a MHX2 file (you may need to install this as a option/utility, find our elsewhere!)
* Load the character to '''Blender''' directly via the link (I will get back to what can be done using that!)
I suggest that you save your base-character now, in both formats - FBX and MHX2! Make a specific 'Base-Characters' folder, because you will need it!
When you export the FBX use these options:
[[File:MH-FBX-export-options.png]]
This is the result for me, you should see something like this also:
[[File:MH-Base-Character-Folder.png]]
You should also see that there is a sub-folder, called Textures - this is where the different textures are saved and it should now look like this:
[[File:MH-Base-Character-Folder-textures.png]]
You can now go over all of the different textures, so you will have a wide selection to chose from. Textures are saved every time you save a FBX file!
Say, I change the base-characters textures, saved the FBX - and this is what I got:
[[File:MH-Base-Character-Folder-textures2.png]]
===Import your base-character to UE4 - FBX===
The FBX file will actually import directly to UE4, but there are a few problems! You should export your FBX file as Binary FBX, and you will get the most out of it. After this you can get to this result (after adjusting the materials, as seen below):
[[File:MH-MH-FBX-imported.png]]
Your character can look like this (after adjusting materials) - pretty good:
[[File:MH-MH-FBX-imported-materials.png]]
'''HOWEVER, you have lost the morph-targets! And as you probably noticed, the UE4 standard FBX import do import them!'''
I will get back to what to do about the shape-keys... but let make the materials first?
==Makehuman UE4 materials==
When you import the FBX made you exported from Makehuman, both textures and materials are made. You will also notice that UE4 will try to match the materials correctly to the material slots, as seen above in the 'Asset Details' of, in my case, averagedude-base (do not worry about the physics and the skeleton yet!).
To get you started, we need to take a look at the Eye, Eyelashes and Eyebrow materials...
===Eye materials===
First you can rename the '''high-poly''' material '''high-poly-''blue-eye''''' - or to whatever color you chose! You will probably make more eye materials.
Next you can double-click the material, to open the material-editor and change it to look something like this:
[[File:MH-UE4-Eye-material.png]]
===Eyelashes and Eyebrow materials===
Likewise you can set up the eyelashes, and the eyebrows are the same only you do not need ''two sided'' for the bows:
[[File:MH-UE4-Eyelashes-material.png]]
!?You may want to play with the shading model.
===More materials?===
You can simply drag and drop more textures from the the base-character/textures folder, then duplicate and rename the materials, and apply different textures to the renamed materials. At some point I want to be able to customize/randomize (NPC) characters, but I have not yet done that.
Also you can make materials instances with parameters... I will show you howto, but first we need to turn shape-keys into morph-targets.
=Use Blender v 2.80 to get more!!=
For some reason the exported FBX file is not organized in a way so you will get the shape-keys imported directly to UE4. However when you follow the next steps, you will not get the correct materials imported, so I recommend that you run FBX import as shown above, and save the textures/materials in a separate folder.
If you are new to Blender please run a few tutorials specifically on on how to import/export, and also get to know about collections - you can do a lot in Blender and you can get confused!
==What will be done here?==
I will show you how to:
* Import your MHX2 files, to preserve the shape-keys
* Export FBX files, so UE4 will import correctly with morph-targets
* Apply expressions etc. to your base character
* Import these to your Blender file and apply the expressions as '''new shape keys'''
==But, first import and inspect FBX and MHX2!==
As you may remember you exported two files, the FBX file and the MHX2 file. You want to import both of these files into Blender, so you need two Collections, called FBX and MHX2. You right-click on the 'Scene collection' select 'New' and rename the collections to 'FBX' and 'MHX2'... I also added Scene collection and dragged the Camera and Light there (as I deleted the box). After this you should see something link this (the small Icons may be different):
[[File:MH-Base-Blender-setup.png]]
00affd753b41a38346444d7e474747ec58989178
1658
1656
2020-02-17T22:28:00Z
Assetdk
89
/* Use Blender v 2.80 to get more!! */
wikitext
text/x-wiki
=What can and can't be done?=
I have been working on getting different characters into UE4 for some time, and this have been a real hassle!
On this page I want to summarize what I managed to get done using a workflow that involves Blender. I have had a focus on not going into much details regarding any of the tools, but you will need to know a few things. Even though this looks like a trivial task there are some pitfalls and also there are some things that can not be done, or I have just not found out how to. I will eventually also add links to all the YT tutorials I found helpful.
I found that working with Makehuman very easy, so focus will be very UE4 how to specific.
This is what I will cover thus far:
* Create and save any MH character in Makehuman. Basic stuff, and important things to avoid.
* Getting the character into Blender - import or link?
* Setup Blender for Export, shape keys and morph targets
* First import into UE4
* Introduction to more shape keys
* Get the Cloth working
* Mixamo animations
This is the stuff that I did not cover - yet:
* Animations for talking (other tutorials may help)
* Making custom cloth
* Hair
This is the stuff I can not get to work:
* Retargeting to Advanced Locomotion System V3/4
=Getting started=
I wanted a quick way to populate a UE4 game, preferably with an unlimited number of varied characters of high quality. This has proven to be a bit harder than expected. The workflow for making characters is not as trivial as one would want but this guide should make it a bit more easy to do. I will focus on describing the "straight" path from Makehuman and into UE4 - so you will not find too much details about Blender. Please refer to Blender specific pages for more on that.
==Need to know==
There are a few terms that you need to know, say you need to know that you will import FBX, textures and other files into UE4. Also you will need to know that a Character consists of a '''Mesh''', a '''Skeleton''' and '''''materials''''' (that refers to textures). I will try to elaborate on these subjects as we go along...
==Making a base-character==
Makehuman provides a range of predefined characters that is supposed to work as-is. You can just load a character, export it to FBX and import that into UE4 - and after a bit of work you can have a working player character! There are however a few pitfalls, so I suggest you make one (or more) base-character(s) that you can elaborate on as you go along. I will be working with ''''''averagedude'''''' as my base-character.
These are the steps to make the base characters:
* Open Makehuman
* Select the files tab and load the character
'''Under 'Geometries''''
* Remove cloth - (uncheck Hide faces under cloth)!
* Remove hair
* Add Teeth
* Choose Topology (I have no advice on this!)
* Chose Eyebrows/Eyelashes, these can be changed as you go along - as can eye colors!
* Add Tongue01 (again I have no advice/recommendation on that, yet)
'''Under 'Materials'''' - I will show you how to work with UE4 "advanced" materials:
* Chose any skin that you like,
* Chose any eyes that you like
'''Under 'Pose/Animate''''
* Chose Skeleton: Uengine - if you do not have this already you my get it via the community tab?
* Chose Pose: Tpose (the last one on the list)
* Chose Expressions: none
And this is it! But there is one 'important' option you need know about - you need to '''uncheck''' the Smooth button!
The smooth button/option: [[File:MH-Smooth-option.png]] should be unchecked... that will make your character a bit less attractive, but this will preserve the shape-keys!
Makehuman comes with some 50-60 '''shape-keys''' and these will all be available as '''morph-targets''' in UE4. I will show you how to make more shape-keys, using makehuman+blender!
Now it is time to save your base-character - even though you have made very few changes to the file you should save this file under the save tab and name it
<your-name>-base (say averagedude-base), you can even add your very own tag 'base' to this.
When you save the file like this you will be able to reload it, and we need that later!
===Export your base-character===
You can now take a break - or you can export your work. There are really tree options for you to look at:
* Save the FBX file directly
* Save a MHX2 file (you may need to install this as a option/utility, find our elsewhere!)
* Load the character to '''Blender''' directly via the link (I will get back to what can be done using that!)
I suggest that you save your base-character now, in both formats - FBX and MHX2! Make a specific 'Base-Characters' folder, because you will need it!
When you export the FBX use these options:
[[File:MH-FBX-export-options.png]]
This is the result for me, you should see something like this also:
[[File:MH-Base-Character-Folder.png]]
You should also see that there is a sub-folder, called Textures - this is where the different textures are saved and it should now look like this:
[[File:MH-Base-Character-Folder-textures.png]]
You can now go over all of the different textures, so you will have a wide selection to chose from. Textures are saved every time you save a FBX file!
Say, I change the base-characters textures, saved the FBX - and this is what I got:
[[File:MH-Base-Character-Folder-textures2.png]]
===Import your base-character to UE4 - FBX===
The FBX file will actually import directly to UE4, but there are a few problems! You should export your FBX file as Binary FBX, and you will get the most out of it. After this you can get to this result (after adjusting the materials, as seen below):
[[File:MH-MH-FBX-imported.png]]
Your character can look like this (after adjusting materials) - pretty good:
[[File:MH-MH-FBX-imported-materials.png]]
'''HOWEVER, you have lost the morph-targets! And as you probably noticed, the UE4 standard FBX import do import them!'''
I will get back to what to do about the shape-keys... but let make the materials first?
==Makehuman UE4 materials==
When you import the FBX made you exported from Makehuman, both textures and materials are made. You will also notice that UE4 will try to match the materials correctly to the material slots, as seen above in the 'Asset Details' of, in my case, averagedude-base (do not worry about the physics and the skeleton yet!).
To get you started, we need to take a look at the Eye, Eyelashes and Eyebrow materials...
===Eye materials===
First you can rename the '''high-poly''' material '''high-poly-''blue-eye''''' - or to whatever color you chose! You will probably make more eye materials.
Next you can double-click the material, to open the material-editor and change it to look something like this:
[[File:MH-UE4-Eye-material.png]]
===Eyelashes and Eyebrow materials===
Likewise you can set up the eyelashes, and the eyebrows are the same only you do not need ''two sided'' for the bows:
[[File:MH-UE4-Eyelashes-material.png]]
!?You may want to play with the shading model.
===More materials?===
You can simply drag and drop more textures from the the base-character/textures folder, then duplicate and rename the materials, and apply different textures to the renamed materials. At some point I want to be able to customize/randomize (NPC) characters, but I have not yet done that.
Also you can make materials instances with parameters... I will show you howto, but first we need to turn shape-keys into morph-targets.
=Use Blender v 2.80 to get more!!=
For some reason the exported FBX file is not organized in a way so you will get the shape-keys imported directly to UE4. However when you follow the next steps, you will not get the correct materials imported, so I recommend that you run FBX import as shown above, and save the textures/materials in a separate folder.
If you are new to Blender please run a few tutorials specifically on on how to import/export, and also get to know about collections - you can do a lot in Blender and you can get confused!
==What will be done here?==
I will show you how to:
* Import your MHX2 files, to preserve the shape-keys
* Export FBX files, so UE4 will import correctly with morph-targets
* Apply expressions etc. to your base character
* Import these to your Blender file and apply the expressions as '''new shape keys'''
==But, first inspect FBX and MHX2!==
As you may remember you exported two files, the FBX file and the MHX2 file. You want to import both of these files into Blender, so you need two Collections, called FBX and MHX2. You right-click on the 'Scene collection' select 'New' and rename the collections to 'FBX' and 'MHX2'... I also added Scene collection and dragged the Camera and Light there (as I deleted the box). After this you should see something link this (the small Icons may be different):
[[File:MH-Base-Blender-setup.png]]
75337c20a46af23292bb523fc2147781a5be7df8
1656
1655
2020-02-17T22:05:53Z
Assetdk
89
/* Eyelashes and Eyebrow materials */
wikitext
text/x-wiki
=What can and can't be done?=
I have been working on getting different characters into UE4 for some time, and this have been a real hassle!
On this page I want to summarize what I managed to get done using a workflow that involves Blender. I have had a focus on not going into much details regarding any of the tools, but you will need to know a few things. Even though this looks like a trivial task there are some pitfalls and also there are some things that can not be done, or I have just not found out how to. I will eventually also add links to all the YT tutorials I found helpful.
I found that working with Makehuman very easy, so focus will be very UE4 how to specific.
This is what I will cover thus far:
* Create and save any MH character in Makehuman. Basic stuff, and important things to avoid.
* Getting the character into Blender - import or link?
* Setup Blender for Export, shape keys and morph targets
* First import into UE4
* Introduction to more shape keys
* Get the Cloth working
* Mixamo animations
This is the stuff that I did not cover - yet:
* Animations for talking (other tutorials may help)
* Making custom cloth
* Hair
This is the stuff I can not get to work:
* Retargeting to Advanced Locomotion System V3/4
=Getting started=
I wanted a quick way to populate a UE4 game, preferably with an unlimited number of varied characters of high quality. This has proven to be a bit harder than expected. The workflow for making characters is not as trivial as one would want but this guide should make it a bit more easy to do. I will focus on describing the "straight" path from Makehuman and into UE4 - so you will not find too much details about Blender. Please refer to Blender specific pages for more on that.
==Need to know==
There are a few terms that you need to know, say you need to know that you will import FBX, textures and other files into UE4. Also you will need to know that a Character consists of a '''Mesh''', a '''Skeleton''' and '''''materials''''' (that refers to textures). I will try to elaborate on these subjects as we go along...
==Making a base-character==
Makehuman provides a range of predefined characters that is supposed to work as-is. You can just load a character, export it to FBX and import that into UE4 - and after a bit of work you can have a working player character! There are however a few pitfalls, so I suggest you make one (or more) base-character(s) that you can elaborate on as you go along. I will be working with ''''''averagedude'''''' as my base-character.
These are the steps to make the base characters:
* Open Makehuman
* Select the files tab and load the character
'''Under 'Geometries''''
* Remove cloth - (uncheck Hide faces under cloth)!
* Remove hair
* Add Teeth
* Choose Topology (I have no advice on this!)
* Chose Eyebrows/Eyelashes, these can be changed as you go along - as can eye colors!
* Add Tongue01 (again I have no advice/recommendation on that, yet)
'''Under 'Materials'''' - I will show you how to work with UE4 "advanced" materials:
* Chose any skin that you like,
* Chose any eyes that you like
'''Under 'Pose/Animate''''
* Chose Skeleton: Uengine - if you do not have this already you my get it via the community tab?
* Chose Pose: Tpose (the last one on the list)
* Chose Expressions: none
And this is it! But there is one 'important' option you need know about - you need to '''uncheck''' the Smooth button!
The smooth button/option: [[File:MH-Smooth-option.png]] should be unchecked... that will make your character a bit less attractive, but this will preserve the shape-keys!
Makehuman comes with some 50-60 '''shape-keys''' and these will all be available as '''morph-targets''' in UE4. I will show you how to make more shape-keys, using makehuman+blender!
Now it is time to save your base-character - even though you have made very few changes to the file you should save this file under the save tab and name it
<your-name>-base (say averagedude-base), you can even add your very own tag 'base' to this.
When you save the file like this you will be able to reload it, and we need that later!
===Export your base-character===
You can now take a break - or you can export your work. There are really tree options for you to look at:
* Save the FBX file directly
* Save a MHX2 file (you may need to install this as a option/utility, find our elsewhere!)
* Load the character to '''Blender''' directly via the link (I will get back to what can be done using that!)
I suggest that you save your base-character now, in both formats - FBX and MHX2! Make a specific 'Base-Characters' folder, because you will need it!
When you export the FBX use these options:
[[File:MH-FBX-export-options.png]]
This is the result for me, you should see something like this also:
[[File:MH-Base-Character-Folder.png]]
You should also see that there is a sub-folder, called Textures - this is where the different textures are saved and it should now look like this:
[[File:MH-Base-Character-Folder-textures.png]]
You can now go over all of the different textures, so you will have a wide selection to chose from. Textures are saved every time you save a FBX file!
Say, I change the base-characters textures, saved the FBX - and this is what I got:
[[File:MH-Base-Character-Folder-textures2.png]]
===Import your base-character to UE4 - FBX===
The FBX file will actually import directly to UE4, but there are a few problems! You should export your FBX file as Binary FBX, and you will get the most out of it. After this you can get to this result (after adjusting the materials, as seen below):
[[File:MH-MH-FBX-imported.png]]
Your character can look like this (after adjusting materials) - pretty good:
[[File:MH-MH-FBX-imported-materials.png]]
'''HOWEVER, you have lost the morph-targets! And as you probably noticed, the UE4 standard FBX import do import them!'''
I will get back to what to do about the shape-keys... but let make the materials first?
==Makehuman UE4 materials==
When you import the FBX made you exported from Makehuman, both textures and materials are made. You will also notice that UE4 will try to match the materials correctly to the material slots, as seen above in the 'Asset Details' of, in my case, averagedude-base (do not worry about the physics and the skeleton yet!).
To get you started, we need to take a look at the Eye, Eyelashes and Eyebrow materials...
===Eye materials===
First you can rename the '''high-poly''' material '''high-poly-''blue-eye''''' - or to whatever color you chose! You will probably make more eye materials.
Next you can double-click the material, to open the material-editor and change it to look something like this:
[[File:MH-UE4-Eye-material.png]]
===Eyelashes and Eyebrow materials===
Likewise you can set up the eyelashes, and the eyebrows are the same only you do not need ''two sided'' for the bows:
[[File:MH-UE4-Eyelashes-material.png]]
!?You may want to play with the shading model.
===More materials?===
You can simply drag and drop more textures from the the base-character/textures folder, then duplicate and rename the materials, and apply different textures to the renamed materials. At some point I want to be able to customize/randomize (NPC) characters, but I have not yet done that.
Also you can make materials instances with parameters... I will show you howto, but first we need to turn shape-keys into morph-targets.
=Use Blender v 2.80 to get more!!=
For some reason the exported FBX file is not organized in a way so you will get the shape-keys imported directly to UE4. However when you follow the next steps, you will not get the correct materials imported, so I recommend that you run FBX import as shown above, and save the textures/materials in a separate folder.
If you are new to Blender please run a few tutorials specifically on on how to import/export, and also get to know about collections - you can do a lot in Blender and you can get confused!
90054a914c9dfa8bad3051f7069d43f897934009
1655
1653
2020-02-17T21:49:05Z
Assetdk
89
/* Export your base-character */
wikitext
text/x-wiki
=What can and can't be done?=
I have been working on getting different characters into UE4 for some time, and this have been a real hassle!
On this page I want to summarize what I managed to get done using a workflow that involves Blender. I have had a focus on not going into much details regarding any of the tools, but you will need to know a few things. Even though this looks like a trivial task there are some pitfalls and also there are some things that can not be done, or I have just not found out how to. I will eventually also add links to all the YT tutorials I found helpful.
I found that working with Makehuman very easy, so focus will be very UE4 how to specific.
This is what I will cover thus far:
* Create and save any MH character in Makehuman. Basic stuff, and important things to avoid.
* Getting the character into Blender - import or link?
* Setup Blender for Export, shape keys and morph targets
* First import into UE4
* Introduction to more shape keys
* Get the Cloth working
* Mixamo animations
This is the stuff that I did not cover - yet:
* Animations for talking (other tutorials may help)
* Making custom cloth
* Hair
This is the stuff I can not get to work:
* Retargeting to Advanced Locomotion System V3/4
=Getting started=
I wanted a quick way to populate a UE4 game, preferably with an unlimited number of varied characters of high quality. This has proven to be a bit harder than expected. The workflow for making characters is not as trivial as one would want but this guide should make it a bit more easy to do. I will focus on describing the "straight" path from Makehuman and into UE4 - so you will not find too much details about Blender. Please refer to Blender specific pages for more on that.
==Need to know==
There are a few terms that you need to know, say you need to know that you will import FBX, textures and other files into UE4. Also you will need to know that a Character consists of a '''Mesh''', a '''Skeleton''' and '''''materials''''' (that refers to textures). I will try to elaborate on these subjects as we go along...
==Making a base-character==
Makehuman provides a range of predefined characters that is supposed to work as-is. You can just load a character, export it to FBX and import that into UE4 - and after a bit of work you can have a working player character! There are however a few pitfalls, so I suggest you make one (or more) base-character(s) that you can elaborate on as you go along. I will be working with ''''''averagedude'''''' as my base-character.
These are the steps to make the base characters:
* Open Makehuman
* Select the files tab and load the character
'''Under 'Geometries''''
* Remove cloth - (uncheck Hide faces under cloth)!
* Remove hair
* Add Teeth
* Choose Topology (I have no advice on this!)
* Chose Eyebrows/Eyelashes, these can be changed as you go along - as can eye colors!
* Add Tongue01 (again I have no advice/recommendation on that, yet)
'''Under 'Materials'''' - I will show you how to work with UE4 "advanced" materials:
* Chose any skin that you like,
* Chose any eyes that you like
'''Under 'Pose/Animate''''
* Chose Skeleton: Uengine - if you do not have this already you my get it via the community tab?
* Chose Pose: Tpose (the last one on the list)
* Chose Expressions: none
And this is it! But there is one 'important' option you need know about - you need to '''uncheck''' the Smooth button!
The smooth button/option: [[File:MH-Smooth-option.png]] should be unchecked... that will make your character a bit less attractive, but this will preserve the shape-keys!
Makehuman comes with some 50-60 '''shape-keys''' and these will all be available as '''morph-targets''' in UE4. I will show you how to make more shape-keys, using makehuman+blender!
Now it is time to save your base-character - even though you have made very few changes to the file you should save this file under the save tab and name it
<your-name>-base (say averagedude-base), you can even add your very own tag 'base' to this.
When you save the file like this you will be able to reload it, and we need that later!
===Export your base-character===
You can now take a break - or you can export your work. There are really tree options for you to look at:
* Save the FBX file directly
* Save a MHX2 file (you may need to install this as a option/utility, find our elsewhere!)
* Load the character to '''Blender''' directly via the link (I will get back to what can be done using that!)
I suggest that you save your base-character now, in both formats - FBX and MHX2! Make a specific 'Base-Characters' folder, because you will need it!
When you export the FBX use these options:
[[File:MH-FBX-export-options.png]]
This is the result for me, you should see something like this also:
[[File:MH-Base-Character-Folder.png]]
You should also see that there is a sub-folder, called Textures - this is where the different textures are saved and it should now look like this:
[[File:MH-Base-Character-Folder-textures.png]]
You can now go over all of the different textures, so you will have a wide selection to chose from. Textures are saved every time you save a FBX file!
Say, I change the base-characters textures, saved the FBX - and this is what I got:
[[File:MH-Base-Character-Folder-textures2.png]]
===Import your base-character to UE4 - FBX===
The FBX file will actually import directly to UE4, but there are a few problems! You should export your FBX file as Binary FBX, and you will get the most out of it. After this you can get to this result (after adjusting the materials, as seen below):
[[File:MH-MH-FBX-imported.png]]
Your character can look like this (after adjusting materials) - pretty good:
[[File:MH-MH-FBX-imported-materials.png]]
'''HOWEVER, you have lost the morph-targets! And as you probably noticed, the UE4 standard FBX import do import them!'''
I will get back to what to do about the shape-keys... but let make the materials first?
==Makehuman UE4 materials==
When you import the FBX made you exported from Makehuman, both textures and materials are made. You will also notice that UE4 will try to match the materials correctly to the material slots, as seen above in the 'Asset Details' of, in my case, averagedude-base (do not worry about the physics and the skeleton yet!).
To get you started, we need to take a look at the Eye, Eyelashes and Eyebrow materials...
===Eye materials===
First you can rename the '''high-poly''' material '''high-poly-''blue-eye''''' - or to whatever color you chose! You will probably make more eye materials.
Next you can double-click the material, to open the material-editor and change it to look something like this:
[[File:MH-UE4-Eye-material.png]]
===Eyelashes and Eyebrow materials===
Likewise you can set up the eyelashes, and the eyebrows are the same only you do not need ''two sided'' for the bows:
[[File:MH-UE4-Eyelashes-material.png]]
!?You may want to play with the shading model.
c8b38f2e696d5c421cf22478a69ff1d9364678bf
1653
1651
2020-02-17T21:43:37Z
Assetdk
89
/* Eye materials */
wikitext
text/x-wiki
=What can and can't be done?=
I have been working on getting different characters into UE4 for some time, and this have been a real hassle!
On this page I want to summarize what I managed to get done using a workflow that involves Blender. I have had a focus on not going into much details regarding any of the tools, but you will need to know a few things. Even though this looks like a trivial task there are some pitfalls and also there are some things that can not be done, or I have just not found out how to. I will eventually also add links to all the YT tutorials I found helpful.
I found that working with Makehuman very easy, so focus will be very UE4 how to specific.
This is what I will cover thus far:
* Create and save any MH character in Makehuman. Basic stuff, and important things to avoid.
* Getting the character into Blender - import or link?
* Setup Blender for Export, shape keys and morph targets
* First import into UE4
* Introduction to more shape keys
* Get the Cloth working
* Mixamo animations
This is the stuff that I did not cover - yet:
* Animations for talking (other tutorials may help)
* Making custom cloth
* Hair
This is the stuff I can not get to work:
* Retargeting to Advanced Locomotion System V3/4
=Getting started=
I wanted a quick way to populate a UE4 game, preferably with an unlimited number of varied characters of high quality. This has proven to be a bit harder than expected. The workflow for making characters is not as trivial as one would want but this guide should make it a bit more easy to do. I will focus on describing the "straight" path from Makehuman and into UE4 - so you will not find too much details about Blender. Please refer to Blender specific pages for more on that.
==Need to know==
There are a few terms that you need to know, say you need to know that you will import FBX, textures and other files into UE4. Also you will need to know that a Character consists of a '''Mesh''', a '''Skeleton''' and '''''materials''''' (that refers to textures). I will try to elaborate on these subjects as we go along...
==Making a base-character==
Makehuman provides a range of predefined characters that is supposed to work as-is. You can just load a character, export it to FBX and import that into UE4 - and after a bit of work you can have a working player character! There are however a few pitfalls, so I suggest you make one (or more) base-character(s) that you can elaborate on as you go along. I will be working with ''''''averagedude'''''' as my base-character.
These are the steps to make the base characters:
* Open Makehuman
* Select the files tab and load the character
'''Under 'Geometries''''
* Remove cloth - (uncheck Hide faces under cloth)!
* Remove hair
* Add Teeth
* Choose Topology (I have no advice on this!)
* Chose Eyebrows/Eyelashes, these can be changed as you go along - as can eye colors!
* Add Tongue01 (again I have no advice/recommendation on that, yet)
'''Under 'Materials'''' - I will show you how to work with UE4 "advanced" materials:
* Chose any skin that you like,
* Chose any eyes that you like
'''Under 'Pose/Animate''''
* Chose Skeleton: Uengine - if you do not have this already you my get it via the community tab?
* Chose Pose: Tpose (the last one on the list)
* Chose Expressions: none
And this is it! But there is one 'important' option you need know about - you need to '''uncheck''' the Smooth button!
The smooth button/option: [[File:MH-Smooth-option.png]] should be unchecked... that will make your character a bit less attractive, but this will preserve the shape-keys!
Makehuman comes with some 50-60 '''shape-keys''' and these will all be available as '''morph-targets''' in UE4. I will show you how to make more shape-keys, using makehuman+blender!
Now it is time to save your base-character - even though you have made very few changes to the file you should save this file under the save tab and name it
<your-name>-base (say averagedude-base), you can even add your very own tag 'base' to this.
When you save the file like this you will be able to reload it, and we need that later!
===Export your base-character===
You can now take a break - or you can export your work. There are really tree options for you to look at:
* Save the FBX file directly
* Save a MHX2 file (you may need to install this as a option/utility, find our elsewhere!)
* Load the character to '''Blender''' directly via the link (I will get back to what can be done using that!)
I suggest that you save your base-character now, in both formats - FBX and MHX2! Make a specific 'Base-Characters' folder, because you will need it!
This is the result for me, you should see something like this also:
[[File:MH-Base-Character-Folder.png]]
You should also see that there is a sub-folder, called Textures - this is where the different textures are saved and it should now look like this:
[[File:MH-Base-Character-Folder-textures.png]]
You can now go over all of the different textures, so you will have a wide selection to chose from. Textures are saved every time you save a FBX file!
Say, I change the base-characters textures, saved the FBX - and this is what I got:
[[File:MH-Base-Character-Folder-textures2.png]]
===Import your base-character to UE4 - FBX===
The FBX file will actually import directly to UE4, but there are a few problems! You should export your FBX file as Binary FBX, and you will get the most out of it. After this you can get to this result (after adjusting the materials, as seen below):
[[File:MH-MH-FBX-imported.png]]
Your character can look like this (after adjusting materials) - pretty good:
[[File:MH-MH-FBX-imported-materials.png]]
'''HOWEVER, you have lost the morph-targets! And as you probably noticed, the UE4 standard FBX import do import them!'''
I will get back to what to do about the shape-keys... but let make the materials first?
==Makehuman UE4 materials==
When you import the FBX made you exported from Makehuman, both textures and materials are made. You will also notice that UE4 will try to match the materials correctly to the material slots, as seen above in the 'Asset Details' of, in my case, averagedude-base (do not worry about the physics and the skeleton yet!).
To get you started, we need to take a look at the Eye, Eyelashes and Eyebrow materials...
===Eye materials===
First you can rename the '''high-poly''' material '''high-poly-''blue-eye''''' - or to whatever color you chose! You will probably make more eye materials.
Next you can double-click the material, to open the material-editor and change it to look something like this:
[[File:MH-UE4-Eye-material.png]]
===Eyelashes and Eyebrow materials===
Likewise you can set up the eyelashes, and the eyebrows are the same only you do not need ''two sided'' for the bows:
[[File:MH-UE4-Eyelashes-material.png]]
!?You may want to play with the shading model.
13a28c73fa2108a4162473ba99861c016cb56b6d
1651
1648
2020-02-17T21:32:48Z
Assetdk
89
/* Import your base-character to UE4 - FBX */
wikitext
text/x-wiki
=What can and can't be done?=
I have been working on getting different characters into UE4 for some time, and this have been a real hassle!
On this page I want to summarize what I managed to get done using a workflow that involves Blender. I have had a focus on not going into much details regarding any of the tools, but you will need to know a few things. Even though this looks like a trivial task there are some pitfalls and also there are some things that can not be done, or I have just not found out how to. I will eventually also add links to all the YT tutorials I found helpful.
I found that working with Makehuman very easy, so focus will be very UE4 how to specific.
This is what I will cover thus far:
* Create and save any MH character in Makehuman. Basic stuff, and important things to avoid.
* Getting the character into Blender - import or link?
* Setup Blender for Export, shape keys and morph targets
* First import into UE4
* Introduction to more shape keys
* Get the Cloth working
* Mixamo animations
This is the stuff that I did not cover - yet:
* Animations for talking (other tutorials may help)
* Making custom cloth
* Hair
This is the stuff I can not get to work:
* Retargeting to Advanced Locomotion System V3/4
=Getting started=
I wanted a quick way to populate a UE4 game, preferably with an unlimited number of varied characters of high quality. This has proven to be a bit harder than expected. The workflow for making characters is not as trivial as one would want but this guide should make it a bit more easy to do. I will focus on describing the "straight" path from Makehuman and into UE4 - so you will not find too much details about Blender. Please refer to Blender specific pages for more on that.
==Need to know==
There are a few terms that you need to know, say you need to know that you will import FBX, textures and other files into UE4. Also you will need to know that a Character consists of a '''Mesh''', a '''Skeleton''' and '''''materials''''' (that refers to textures). I will try to elaborate on these subjects as we go along...
==Making a base-character==
Makehuman provides a range of predefined characters that is supposed to work as-is. You can just load a character, export it to FBX and import that into UE4 - and after a bit of work you can have a working player character! There are however a few pitfalls, so I suggest you make one (or more) base-character(s) that you can elaborate on as you go along. I will be working with ''''''averagedude'''''' as my base-character.
These are the steps to make the base characters:
* Open Makehuman
* Select the files tab and load the character
'''Under 'Geometries''''
* Remove cloth - (uncheck Hide faces under cloth)!
* Remove hair
* Add Teeth
* Choose Topology (I have no advice on this!)
* Chose Eyebrows/Eyelashes, these can be changed as you go along - as can eye colors!
* Add Tongue01 (again I have no advice/recommendation on that, yet)
'''Under 'Materials'''' - I will show you how to work with UE4 "advanced" materials:
* Chose any skin that you like,
* Chose any eyes that you like
'''Under 'Pose/Animate''''
* Chose Skeleton: Uengine - if you do not have this already you my get it via the community tab?
* Chose Pose: Tpose (the last one on the list)
* Chose Expressions: none
And this is it! But there is one 'important' option you need know about - you need to '''uncheck''' the Smooth button!
The smooth button/option: [[File:MH-Smooth-option.png]] should be unchecked... that will make your character a bit less attractive, but this will preserve the shape-keys!
Makehuman comes with some 50-60 '''shape-keys''' and these will all be available as '''morph-targets''' in UE4. I will show you how to make more shape-keys, using makehuman+blender!
Now it is time to save your base-character - even though you have made very few changes to the file you should save this file under the save tab and name it
<your-name>-base (say averagedude-base), you can even add your very own tag 'base' to this.
When you save the file like this you will be able to reload it, and we need that later!
===Export your base-character===
You can now take a break - or you can export your work. There are really tree options for you to look at:
* Save the FBX file directly
* Save a MHX2 file (you may need to install this as a option/utility, find our elsewhere!)
* Load the character to '''Blender''' directly via the link (I will get back to what can be done using that!)
I suggest that you save your base-character now, in both formats - FBX and MHX2! Make a specific 'Base-Characters' folder, because you will need it!
This is the result for me, you should see something like this also:
[[File:MH-Base-Character-Folder.png]]
You should also see that there is a sub-folder, called Textures - this is where the different textures are saved and it should now look like this:
[[File:MH-Base-Character-Folder-textures.png]]
You can now go over all of the different textures, so you will have a wide selection to chose from. Textures are saved every time you save a FBX file!
Say, I change the base-characters textures, saved the FBX - and this is what I got:
[[File:MH-Base-Character-Folder-textures2.png]]
===Import your base-character to UE4 - FBX===
The FBX file will actually import directly to UE4, but there are a few problems! You should export your FBX file as Binary FBX, and you will get the most out of it. After this you can get to this result (after adjusting the materials, as seen below):
[[File:MH-MH-FBX-imported.png]]
Your character can look like this (after adjusting materials) - pretty good:
[[File:MH-MH-FBX-imported-materials.png]]
'''HOWEVER, you have lost the morph-targets! And as you probably noticed, the UE4 standard FBX import do import them!'''
I will get back to what to do about the shape-keys... but let make the materials first?
==Makehuman UE4 materials==
When you import the FBX made you exported from Makehuman, both textures and materials are made. You will also notice that UE4 will try to match the materials correctly to the material slots, as seen above in the 'Asset Details' of, in my case, averagedude-base (do not worry about the physics and the skeleton yet!).
To get you started, we need to take a look at the Eye, Eyelashes and Eyebrow materials...
===Eye materials===
First you can rename the '''high-poly''' material '''high-poly-''blue-eye''''' - or to whatever color you chose! You will probably make more eye materials.
Next you can double-click the material, to open the material-editor and change it to look something like this:
[[File:MH-UE4-Eye-material.png]]
9d7aa3cab6023b20c528d9c85845e3119800e676
1648
1645
2020-02-17T21:03:25Z
Assetdk
89
/* Test export/import your base-character */
wikitext
text/x-wiki
=What can and can't be done?=
I have been working on getting different characters into UE4 for some time, and this have been a real hassle!
On this page I want to summarize what I managed to get done using a workflow that involves Blender. I have had a focus on not going into much details regarding any of the tools, but you will need to know a few things. Even though this looks like a trivial task there are some pitfalls and also there are some things that can not be done, or I have just not found out how to. I will eventually also add links to all the YT tutorials I found helpful.
I found that working with Makehuman very easy, so focus will be very UE4 how to specific.
This is what I will cover thus far:
* Create and save any MH character in Makehuman. Basic stuff, and important things to avoid.
* Getting the character into Blender - import or link?
* Setup Blender for Export, shape keys and morph targets
* First import into UE4
* Introduction to more shape keys
* Get the Cloth working
* Mixamo animations
This is the stuff that I did not cover - yet:
* Animations for talking (other tutorials may help)
* Making custom cloth
* Hair
This is the stuff I can not get to work:
* Retargeting to Advanced Locomotion System V3/4
=Getting started=
I wanted a quick way to populate a UE4 game, preferably with an unlimited number of varied characters of high quality. This has proven to be a bit harder than expected. The workflow for making characters is not as trivial as one would want but this guide should make it a bit more easy to do. I will focus on describing the "straight" path from Makehuman and into UE4 - so you will not find too much details about Blender. Please refer to Blender specific pages for more on that.
==Need to know==
There are a few terms that you need to know, say you need to know that you will import FBX, textures and other files into UE4. Also you will need to know that a Character consists of a '''Mesh''', a '''Skeleton''' and '''''materials''''' (that refers to textures). I will try to elaborate on these subjects as we go along...
==Making a base-character==
Makehuman provides a range of predefined characters that is supposed to work as-is. You can just load a character, export it to FBX and import that into UE4 - and after a bit of work you can have a working player character! There are however a few pitfalls, so I suggest you make one (or more) base-character(s) that you can elaborate on as you go along. I will be working with ''''''averagedude'''''' as my base-character.
These are the steps to make the base characters:
* Open Makehuman
* Select the files tab and load the character
'''Under 'Geometries''''
* Remove cloth - (uncheck Hide faces under cloth)!
* Remove hair
* Add Teeth
* Choose Topology (I have no advice on this!)
* Chose Eyebrows/Eyelashes, these can be changed as you go along - as can eye colors!
* Add Tongue01 (again I have no advice/recommendation on that, yet)
'''Under 'Materials'''' - I will show you how to work with UE4 "advanced" materials:
* Chose any skin that you like,
* Chose any eyes that you like
'''Under 'Pose/Animate''''
* Chose Skeleton: Uengine - if you do not have this already you my get it via the community tab?
* Chose Pose: Tpose (the last one on the list)
* Chose Expressions: none
And this is it! But there is one 'important' option you need know about - you need to '''uncheck''' the Smooth button!
The smooth button/option: [[File:MH-Smooth-option.png]] should be unchecked... that will make your character a bit less attractive, but this will preserve the shape-keys!
Makehuman comes with some 50-60 '''shape-keys''' and these will all be available as '''morph-targets''' in UE4. I will show you how to make more shape-keys, using makehuman+blender!
Now it is time to save your base-character - even though you have made very few changes to the file you should save this file under the save tab and name it
<your-name>-base (say averagedude-base), you can even add your very own tag 'base' to this.
When you save the file like this you will be able to reload it, and we need that later!
===Export your base-character===
You can now take a break - or you can export your work. There are really tree options for you to look at:
* Save the FBX file directly
* Save a MHX2 file (you may need to install this as a option/utility, find our elsewhere!)
* Load the character to '''Blender''' directly via the link (I will get back to what can be done using that!)
I suggest that you save your base-character now, in both formats - FBX and MHX2! Make a specific 'Base-Characters' folder, because you will need it!
This is the result for me, you should see something like this also:
[[File:MH-Base-Character-Folder.png]]
You should also see that there is a sub-folder, called Textures - this is where the different textures are saved and it should now look like this:
[[File:MH-Base-Character-Folder-textures.png]]
You can now go over all of the different textures, so you will have a wide selection to chose from. Textures are saved every time you save a FBX file!
Say, I change the base-characters textures, saved the FBX - and this is what I got:
[[File:MH-Base-Character-Folder-textures2.png]]
===Import your base-character to UE4 - FBX===
The FBX file will actually import directly to UE4, but there are a few problems! You should export your FBX file as Binary FBX, and you will get the most out of it. After this you can get to this result (after adjusting the materials, as seen below:
[[File:MH-MH-FBX-imported.png]]
e28b7496aea28f31d8b58ce635d4fd3cab84ca1f
1645
1643
2020-02-17T20:24:26Z
Assetdk
89
/* Test export/import your base-character */
wikitext
text/x-wiki
=What can and can't be done?=
I have been working on getting different characters into UE4 for some time, and this have been a real hassle!
On this page I want to summarize what I managed to get done using a workflow that involves Blender. I have had a focus on not going into much details regarding any of the tools, but you will need to know a few things. Even though this looks like a trivial task there are some pitfalls and also there are some things that can not be done, or I have just not found out how to. I will eventually also add links to all the YT tutorials I found helpful.
I found that working with Makehuman very easy, so focus will be very UE4 how to specific.
This is what I will cover thus far:
* Create and save any MH character in Makehuman. Basic stuff, and important things to avoid.
* Getting the character into Blender - import or link?
* Setup Blender for Export, shape keys and morph targets
* First import into UE4
* Introduction to more shape keys
* Get the Cloth working
* Mixamo animations
This is the stuff that I did not cover - yet:
* Animations for talking (other tutorials may help)
* Making custom cloth
* Hair
This is the stuff I can not get to work:
* Retargeting to Advanced Locomotion System V3/4
=Getting started=
I wanted a quick way to populate a UE4 game, preferably with an unlimited number of varied characters of high quality. This has proven to be a bit harder than expected. The workflow for making characters is not as trivial as one would want but this guide should make it a bit more easy to do. I will focus on describing the "straight" path from Makehuman and into UE4 - so you will not find too much details about Blender. Please refer to Blender specific pages for more on that.
==Need to know==
There are a few terms that you need to know, say you need to know that you will import FBX, textures and other files into UE4. Also you will need to know that a Character consists of a '''Mesh''', a '''Skeleton''' and '''''materials''''' (that refers to textures). I will try to elaborate on these subjects as we go along...
==Making a base-character==
Makehuman provides a range of predefined characters that is supposed to work as-is. You can just load a character, export it to FBX and import that into UE4 - and after a bit of work you can have a working player character! There are however a few pitfalls, so I suggest you make one (or more) base-character(s) that you can elaborate on as you go along. I will be working with ''''''averagedude'''''' as my base-character.
These are the steps to make the base characters:
* Open Makehuman
* Select the files tab and load the character
'''Under 'Geometries''''
* Remove cloth - (uncheck Hide faces under cloth)!
* Remove hair
* Add Teeth
* Choose Topology (I have no advice on this!)
* Chose Eyebrows/Eyelashes, these can be changed as you go along - as can eye colors!
* Add Tongue01 (again I have no advice/recommendation on that, yet)
'''Under 'Materials'''' - I will show you how to work with UE4 "advanced" materials:
* Chose any skin that you like,
* Chose any eyes that you like
'''Under 'Pose/Animate''''
* Chose Skeleton: Uengine - if you do not have this already you my get it via the community tab?
* Chose Pose: Tpose (the last one on the list)
* Chose Expressions: none
And this is it! But there is one 'important' option you need know about - you need to '''uncheck''' the Smooth button!
The smooth button/option: [[File:MH-Smooth-option.png]] should be unchecked... that will make your character a bit less attractive, but this will preserve the shape-keys!
Makehuman comes with some 50-60 '''shape-keys''' and these will all be available as '''morph-targets''' in UE4. I will show you how to make more shape-keys, using makehuman+blender!
Now it is time to save your base-character - even though you have made very few changes to the file you should save this file under the save tab and name it
<your-name>-base (say averagedude-base), you can even add your very own tag 'base' to this.
When you save the file like this you will be able to reload it, and we need that later!
===Test export/import your base-character===
You can now take a break - or you can export your work. There are really tree options for you to look at:
* Save the FBX file directly
* Save a MHX2 file (you may need to install this as a option/utility, find our elsewhere!)
* Load the character to '''Blender''' directly via the link (I will get back to what can be done using that!)
I suggest that you save your base-character now, in both formats - FBX and MHX2! Make a specific 'Base-Characters' folder, because you will need it!
This is the result for me, you should see something like this also:
[[File:MH-Base-Character-Folder.png]]
You should also see that there is a sub-folder, called Textures - this is where the different textures are saved and it should now look like this:
[[File:MH-Base-Character-Folder-textures.png]]
You can now go over all of the different textures, so you will have a wide selection to chose from. Textures are saved every time you save a FBX file!
Say, I change the base-characters textures, saved the FBX - and this is what I got:
[[File:MH-Base-Character-Folder-textures2.png]]
1da895645fe19efe8da91ffe85254db207946edf
1643
1640
2020-02-17T20:11:01Z
Assetdk
89
/* Test import your base-character */
wikitext
text/x-wiki
=What can and can't be done?=
I have been working on getting different characters into UE4 for some time, and this have been a real hassle!
On this page I want to summarize what I managed to get done using a workflow that involves Blender. I have had a focus on not going into much details regarding any of the tools, but you will need to know a few things. Even though this looks like a trivial task there are some pitfalls and also there are some things that can not be done, or I have just not found out how to. I will eventually also add links to all the YT tutorials I found helpful.
I found that working with Makehuman very easy, so focus will be very UE4 how to specific.
This is what I will cover thus far:
* Create and save any MH character in Makehuman. Basic stuff, and important things to avoid.
* Getting the character into Blender - import or link?
* Setup Blender for Export, shape keys and morph targets
* First import into UE4
* Introduction to more shape keys
* Get the Cloth working
* Mixamo animations
This is the stuff that I did not cover - yet:
* Animations for talking (other tutorials may help)
* Making custom cloth
* Hair
This is the stuff I can not get to work:
* Retargeting to Advanced Locomotion System V3/4
=Getting started=
I wanted a quick way to populate a UE4 game, preferably with an unlimited number of varied characters of high quality. This has proven to be a bit harder than expected. The workflow for making characters is not as trivial as one would want but this guide should make it a bit more easy to do. I will focus on describing the "straight" path from Makehuman and into UE4 - so you will not find too much details about Blender. Please refer to Blender specific pages for more on that.
==Need to know==
There are a few terms that you need to know, say you need to know that you will import FBX, textures and other files into UE4. Also you will need to know that a Character consists of a '''Mesh''', a '''Skeleton''' and '''''materials''''' (that refers to textures). I will try to elaborate on these subjects as we go along...
==Making a base-character==
Makehuman provides a range of predefined characters that is supposed to work as-is. You can just load a character, export it to FBX and import that into UE4 - and after a bit of work you can have a working player character! There are however a few pitfalls, so I suggest you make one (or more) base-character(s) that you can elaborate on as you go along. I will be working with ''''''averagedude'''''' as my base-character.
These are the steps to make the base characters:
* Open Makehuman
* Select the files tab and load the character
'''Under 'Geometries''''
* Remove cloth - (uncheck Hide faces under cloth)!
* Remove hair
* Add Teeth
* Choose Topology (I have no advice on this!)
* Chose Eyebrows/Eyelashes, these can be changed as you go along - as can eye colors!
* Add Tongue01 (again I have no advice/recommendation on that, yet)
'''Under 'Materials'''' - I will show you how to work with UE4 "advanced" materials:
* Chose any skin that you like,
* Chose any eyes that you like
'''Under 'Pose/Animate''''
* Chose Skeleton: Uengine - if you do not have this already you my get it via the community tab?
* Chose Pose: Tpose (the last one on the list)
* Chose Expressions: none
And this is it! But there is one 'important' option you need know about - you need to '''uncheck''' the Smooth button!
The smooth button/option: [[File:MH-Smooth-option.png]] should be unchecked... that will make your character a bit less attractive, but this will preserve the shape-keys!
Makehuman comes with some 50-60 '''shape-keys''' and these will all be available as '''morph-targets''' in UE4. I will show you how to make more shape-keys, using makehuman+blender!
Now it is time to save your base-character - even though you have made very few changes to the file you should save this file under the save tab and name it
<your-name>-base (say averagedude-base), you can even add your very own tag 'base' to this.
When you save the file like this you will be able to reload it, and we need that later!
===Test export/import your base-character===
You can now take a break - or you can export your work. There are really tree options for you to look at:
* Save the FBX file directly
* Save a MHX2 file (you may need to install this as a option/utility, find our elsewhere!)
* Load the character to '''Blender''' directly via the link (I will get back to what can be done using that!)
I suggest that you save your base-character now, in both formats - FBX and MHX2! Make a specific 'Base-Characters' folder, because you will need it!
This is the result for me, you should see something like this also:
[[File:MH-Base-Character-Folder.png]]
93bf8c55ce292d20a6cadc7cf27ea9e6b5bd4f6a
1640
1639
2020-02-17T20:03:11Z
Assetdk
89
/* Making a base-character */
wikitext
text/x-wiki
=What can and can't be done?=
I have been working on getting different characters into UE4 for some time, and this have been a real hassle!
On this page I want to summarize what I managed to get done using a workflow that involves Blender. I have had a focus on not going into much details regarding any of the tools, but you will need to know a few things. Even though this looks like a trivial task there are some pitfalls and also there are some things that can not be done, or I have just not found out how to. I will eventually also add links to all the YT tutorials I found helpful.
I found that working with Makehuman very easy, so focus will be very UE4 how to specific.
This is what I will cover thus far:
* Create and save any MH character in Makehuman. Basic stuff, and important things to avoid.
* Getting the character into Blender - import or link?
* Setup Blender for Export, shape keys and morph targets
* First import into UE4
* Introduction to more shape keys
* Get the Cloth working
* Mixamo animations
This is the stuff that I did not cover - yet:
* Animations for talking (other tutorials may help)
* Making custom cloth
* Hair
This is the stuff I can not get to work:
* Retargeting to Advanced Locomotion System V3/4
=Getting started=
I wanted a quick way to populate a UE4 game, preferably with an unlimited number of varied characters of high quality. This has proven to be a bit harder than expected. The workflow for making characters is not as trivial as one would want but this guide should make it a bit more easy to do. I will focus on describing the "straight" path from Makehuman and into UE4 - so you will not find too much details about Blender. Please refer to Blender specific pages for more on that.
==Need to know==
There are a few terms that you need to know, say you need to know that you will import FBX, textures and other files into UE4. Also you will need to know that a Character consists of a '''Mesh''', a '''Skeleton''' and '''''materials''''' (that refers to textures). I will try to elaborate on these subjects as we go along...
==Making a base-character==
Makehuman provides a range of predefined characters that is supposed to work as-is. You can just load a character, export it to FBX and import that into UE4 - and after a bit of work you can have a working player character! There are however a few pitfalls, so I suggest you make one (or more) base-character(s) that you can elaborate on as you go along. I will be working with ''''''averagedude'''''' as my base-character.
These are the steps to make the base characters:
* Open Makehuman
* Select the files tab and load the character
'''Under 'Geometries''''
* Remove cloth - (uncheck Hide faces under cloth)!
* Remove hair
* Add Teeth
* Choose Topology (I have no advice on this!)
* Chose Eyebrows/Eyelashes, these can be changed as you go along - as can eye colors!
* Add Tongue01 (again I have no advice/recommendation on that, yet)
'''Under 'Materials'''' - I will show you how to work with UE4 "advanced" materials:
* Chose any skin that you like,
* Chose any eyes that you like
'''Under 'Pose/Animate''''
* Chose Skeleton: Uengine - if you do not have this already you my get it via the community tab?
* Chose Pose: Tpose (the last one on the list)
* Chose Expressions: none
And this is it! But there is one 'important' option you need know about - you need to '''uncheck''' the Smooth button!
The smooth button/option: [[File:MH-Smooth-option.png]] should be unchecked... that will make your character a bit less attractive, but this will preserve the shape-keys!
Makehuman comes with some 50-60 '''shape-keys''' and these will all be available as '''morph-targets''' in UE4. I will show you how to make more shape-keys, using makehuman+blender!
Now it is time to save your base-character - even though you have made very few changes to the file you should save this file under the save tab and name it
<your-name>-base (say averagedude-base), you can even add your very own tag 'base' to this.
When you save the file like this you will be able to reload it, and we need that later!
===Test import your base-character===
You can now take a break - or you can export your work. There are really tree options for you to look at:
* Save the FBX file directly
* Save a MHX2 file (you may need to install this as a option/utility, find our elsewhere!)
* Load the character to '''Blender''' directly via the link (I will get back to what can be done using that!)
I suggest that you save your base-character now, in both formats - FBX and MHX2! Make a specific 'Base-Characters' folder, because you will need it!
2c34dcce767e7b4184b5b38b68db269728aa6d94
1639
1638
2020-02-17T19:37:19Z
Assetdk
89
/* Making a base-character */
wikitext
text/x-wiki
=What can and can't be done?=
I have been working on getting different characters into UE4 for some time, and this have been a real hassle!
On this page I want to summarize what I managed to get done using a workflow that involves Blender. I have had a focus on not going into much details regarding any of the tools, but you will need to know a few things. Even though this looks like a trivial task there are some pitfalls and also there are some things that can not be done, or I have just not found out how to. I will eventually also add links to all the YT tutorials I found helpful.
I found that working with Makehuman very easy, so focus will be very UE4 how to specific.
This is what I will cover thus far:
* Create and save any MH character in Makehuman. Basic stuff, and important things to avoid.
* Getting the character into Blender - import or link?
* Setup Blender for Export, shape keys and morph targets
* First import into UE4
* Introduction to more shape keys
* Get the Cloth working
* Mixamo animations
This is the stuff that I did not cover - yet:
* Animations for talking (other tutorials may help)
* Making custom cloth
* Hair
This is the stuff I can not get to work:
* Retargeting to Advanced Locomotion System V3/4
=Getting started=
I wanted a quick way to populate a UE4 game, preferably with an unlimited number of varied characters of high quality. This has proven to be a bit harder than expected. The workflow for making characters is not as trivial as one would want but this guide should make it a bit more easy to do. I will focus on describing the "straight" path from Makehuman and into UE4 - so you will not find too much details about Blender. Please refer to Blender specific pages for more on that.
==Need to know==
There are a few terms that you need to know, say you need to know that you will import FBX, textures and other files into UE4. Also you will need to know that a Character consists of a '''Mesh''', a '''Skeleton''' and '''''materials''''' (that refers to textures). I will try to elaborate on these subjects as we go along...
==Making a base-character==
Makehuman provides a range of predefined characters that is supposed to work as-is. You can just load a character, export it to FBX and import that into UE4 - and after a bit of work you can have a working player character! There are however a few pitfalls, so I suggest you make one (or more) base-character(s) that you can elaborate on as you go along. I will be working with ''''''averagedude'''''' as my base-character.
These are the steps to make the base characters:
* Open Makehuman
* Select the files tab and load the character
'''Under 'Geometries''''
* Remove cloth - (uncheck Hide faces under cloth)!
* Remove hair
* Add Teeth
* Choose Topology (I have no advice on this!)
* Chose Eyebrows/Eyelashes, these can be changed as you go along - as can eye colors!
* Add Tongue01 (again I have no advice/recommendation on that, yet)
'''Under 'Materials'''' - I will show you how to work with UE4 "advanced" materials:
* Chose any skin that you like,
* Chose any eyes that you like
'''Under 'Pose/Animate''''
* Chose Skeleton: Uengine - if you do not have this already you my get it via the community tab?
* Chose Pose: Tpose (the last one on the list)
* Chose Expressions: none
And this is it! But there is one 'important' option you need know about - you need to '''uncheck''' the Smooth button!
The smooth button/option: [[File:MH-Smooth-option.png]] should be unchecked... that will make your character a bit less attractive, but this will preserve the shape-keys!
Makehuman comes with some 50-60 '''shape-keys''' and these will all be available as '''morph-targets''' in UE4. I will show you how to make more shape-keys, using makehuman+blender!
Now it is time to save your base-character - even though you have made very few changes to the file you should save this file under the save tab and name it
<your-name>-base (say averagedude-base), you can even add your very own tag 'base' to this.
When you save the file like this you will be able to reload it, and we need that later!
9cd9774db1e7603cb981c997d4231f8d9e66760e
1638
1636
2020-02-17T19:36:05Z
Assetdk
89
/* Making a base-character */
wikitext
text/x-wiki
=What can and can't be done?=
I have been working on getting different characters into UE4 for some time, and this have been a real hassle!
On this page I want to summarize what I managed to get done using a workflow that involves Blender. I have had a focus on not going into much details regarding any of the tools, but you will need to know a few things. Even though this looks like a trivial task there are some pitfalls and also there are some things that can not be done, or I have just not found out how to. I will eventually also add links to all the YT tutorials I found helpful.
I found that working with Makehuman very easy, so focus will be very UE4 how to specific.
This is what I will cover thus far:
* Create and save any MH character in Makehuman. Basic stuff, and important things to avoid.
* Getting the character into Blender - import or link?
* Setup Blender for Export, shape keys and morph targets
* First import into UE4
* Introduction to more shape keys
* Get the Cloth working
* Mixamo animations
This is the stuff that I did not cover - yet:
* Animations for talking (other tutorials may help)
* Making custom cloth
* Hair
This is the stuff I can not get to work:
* Retargeting to Advanced Locomotion System V3/4
=Getting started=
I wanted a quick way to populate a UE4 game, preferably with an unlimited number of varied characters of high quality. This has proven to be a bit harder than expected. The workflow for making characters is not as trivial as one would want but this guide should make it a bit more easy to do. I will focus on describing the "straight" path from Makehuman and into UE4 - so you will not find too much details about Blender. Please refer to Blender specific pages for more on that.
==Need to know==
There are a few terms that you need to know, say you need to know that you will import FBX, textures and other files into UE4. Also you will need to know that a Character consists of a '''Mesh''', a '''Skeleton''' and '''''materials''''' (that refers to textures). I will try to elaborate on these subjects as we go along...
==Making a base-character==
Makehuman provides a range of predefined characters that is supposed to work as-is. You can just load a character, export it to FBX and import that into UE4 - and after a bit of work you can have a working player character! There are however a few pitfalls, so I suggest you make one (or more) base-character(s) that you can elaborate on as you go along. I will be working with ''''''averagedude'''''' as my base-character.
These are the steps to make the base characters:
* Open Makehuman
* Select the files tab and load the character
'''Under 'Geometries''''
* Remove cloth - (uncheck Hide faces under cloth)!
* Remove hair
* Add Teeth
* Choose Topology (I have no advice on this!)
* Chose Eyebrows/Eyelashes, these can be changed as you go along - as can eye colors!
* Add Tongue01 (again I have no advice/recommendation on that, yet)
'''Under 'Materials'''' - I will show you how to work with UE4 "advanced" materials:
* Chose any skin that you like,
* Chose any eyes that you like
'''Under 'Pose/Animate''''
* Chose Skeleton: Uengine - if you do not have this already you my get it via the community tab?
* Chose Pose: Tpose (the last one on the list)
* Chose Expressions: none
And this is it! But there is one 'important' option you need know about - you need to '''uncheck''' the Smooth button!
[[File:MH-Smooth-option.png]] should be unchecked... that will make your character a bit less attractive, but this will preserve the shape-keys! Makehuman comes with some 50-60 '''shape-keys''' and these will all be available as '''morph-targets''' in UE4. I will show you how to make more shape-keys, using makehuman+blender!
Now it is time to save your base-character - even though you have made very few changes to the file you should save this file under the save tab and name it
<your-name>-base (say averagedude-base), you can even add your very own tag 'base' to this.
When you save the file like this you will be able to reload it, and we need that later!
0cd20965cf0684de36dbae634a8284b47c78e70f
1636
1634
2020-02-17T19:20:40Z
Assetdk
89
/* What can and can't be done? */
wikitext
text/x-wiki
=What can and can't be done?=
I have been working on getting different characters into UE4 for some time, and this have been a real hassle!
On this page I want to summarize what I managed to get done using a workflow that involves Blender. I have had a focus on not going into much details regarding any of the tools, but you will need to know a few things. Even though this looks like a trivial task there are some pitfalls and also there are some things that can not be done, or I have just not found out how to. I will eventually also add links to all the YT tutorials I found helpful.
I found that working with Makehuman very easy, so focus will be very UE4 how to specific.
This is what I will cover thus far:
* Create and save any MH character in Makehuman. Basic stuff, and important things to avoid.
* Getting the character into Blender - import or link?
* Setup Blender for Export, shape keys and morph targets
* First import into UE4
* Introduction to more shape keys
* Get the Cloth working
* Mixamo animations
This is the stuff that I did not cover - yet:
* Animations for talking (other tutorials may help)
* Making custom cloth
* Hair
This is the stuff I can not get to work:
* Retargeting to Advanced Locomotion System V3/4
=Getting started=
I wanted a quick way to populate a UE4 game, preferably with an unlimited number of varied characters of high quality. This has proven to be a bit harder than expected. The workflow for making characters is not as trivial as one would want but this guide should make it a bit more easy to do. I will focus on describing the "straight" path from Makehuman and into UE4 - so you will not find too much details about Blender. Please refer to Blender specific pages for more on that.
==Need to know==
There are a few terms that you need to know, say you need to know that you will import FBX, textures and other files into UE4. Also you will need to know that a Character consists of a '''Mesh''', a '''Skeleton''' and '''''materials''''' (that refers to textures). I will try to elaborate on these subjects as we go along...
==Making a base-character==
Makehuman provides a range of predefined characters that is supposed to work as-is. You can just load a character, export it to FBX and import that into UE4 - and after a bit of work you can have a working player character! There are however a few pitfalls, so I suggest you make one (or more) base-character(s) that you can elaborate on as you go along. I will be working with ''''''averagedude'''''' as my base-character.
These are the steps to make the base characters:
* Open Makehuman
* Select the files tab and load the character
'''Under 'Geometries''''
* Remove cloth - (uncheck Hide faces under cloth)!
* Remove hair
* Add Teeth
* Choose Topology (I have no advice on this!)
* Chose Eyebrows/Eyelashes, these can be changed as you go along - as can eye colors!
* Add Tongue01 (again I have no advice/recommendation on that, yet)
'''Under 'Materials'''' - I will show you how to work with UE4 "advanced" materials:
* Chose any skin that you like,
* Chose any eyes that you like
'''Under 'Pose/Animate''''
* Chose Skeleton: Uengine - if you do not have this already you my get it via the community tab?
* Chose Pose: Tpose (the last one on the list)
* Chose Expressions: none
And this is it! But there is one 'important' option you need know about - you need to '''uncheck''' the Smooth button!
3c39e7259513fc502e427ba63c5aefebe3a9c7ef
1634
1633
2020-02-11T09:37:48Z
Assetdk
89
/* What can be done */
wikitext
text/x-wiki
=What can and can't be done?=
I have been working on getting different characters into UE4 for some time, and this have been a real hassle!
On this page I want to summarize what I managed to get done using a workflow that involves Blender. I have had a focus on not going into much details regarding any of the tools, but you will need to know a few things. Even though this looks like a trivial task there are some pitfalls and also there are some things that can not be done, or I have just not found out how to. I will eventually also add links to all the YT tutorials I found helpful.
I found that working with Makehuman very easy, so focus will be very UE4 how to specific.
This is what I will cover thus far:
* Create and save any MH character in Makehuman. Basic stuff, and important things to avoid.
* Getting the character into Blender - import or link?
* Setup Blender for Export, shape keys and morph targets
* First import into UE4
* Introduction to more shape keys
* Get the Cloth working
* Mixamo animations
This is the stuff that I did not cover - yet:
* Animations for talking (other tutorials may help)
* Making custom cloth
* Hair
This is the stuff I can not get to work:
* Retargeting to Advanced Locomotion System V3/4
5e86870376ea9b86c3f2805b293fc4ed5ca0f726
1633
2020-02-11T09:20:15Z
Assetdk
89
Created page with "=What can be done="
wikitext
text/x-wiki
=What can be done=
2e0f50c18aff62c5b300fbf0782414a4861cb2c7
Documentation:Saving models for Unreal Engine and how to import them there/ALS
3000
603
1707
2020-03-01T17:06:39Z
Assetdk
89
Created page with "=UE4 Advanced Locomotion System= I finally got the animation retargeting working, still there are problems, but this should bring you a step further. ===What was the probl..."
wikitext
text/x-wiki
=UE4 Advanced Locomotion System=
I finally got the animation retargeting working, still there are problems, but this should bring you a step further.
===What was the problem==
Clearly there is a bug in UE4! During the retargeting we have at least tree elements, the animation, the source skeleton and the target skeleton. (Add to this the retargeting manager stuff for each skeleton.) What happens - at least in theory - is that some bones are used/referred to in the animation, and for each of these bones UE4 must transfer the parameters 1:1, and the result is complied in the new animation.
For some reason this went wrong; in some cases UE4 crash due to an array index runs over... and since I know a bit about programming, my guess it that this is a simple case of using the wrong index for the wrong skeleton! In this case it is rather easy to guess that the source skeleton (or perhaps the source animation) have more bones than the target skeleton... likewise, you can guess that things could go OK, if only the target skeleton has more bones than the source!
===Solution - or rater a crude fix!!==
Since I was keen on getting on; i simply added some fake virtual bones to the target skeleton! Enough bones so the "source index" would not be higher than the max of the target skeleton area! This is indeed a crude fix, as we can assume that the retargeting process will fail to find any use in those fake virtual bones.
Fact is that you can now retarget the '''Advanced Locomotion System V4'''!!
==The next problems==
There are still some problems! But these are of a more general character.... I tried to retarget one of the PARAGON characters. And as for the Makehuman/Mixamo characters only a subset of the system is working. IK can be made working, somewhat, following some of the steps shown in the tutorials below - but ALS V4 holds a lot of changes and we need a lot more virtual IK bones, a subject I don't enough about yet....
Since ALS V4 is a very strong product I hope that there will be a better UE4, and perhaps one of us could make one to share? I will share what I got, as soon as I have made it a bit better. Take a look at the older ALS tutorials for "odd" skeletons:
{{#ev:youtube|kTrjEeoNi4w}}
697648fc9911807aa0da9fce5b2a919bc82005cd
Documentation:Scratch
3000
221
724
705
2016-05-20T11:33:43Z
Joepal
14
wikitext
text/x-wiki
=== Application design and Code overview ===
==== Structural Organization of MakeHuman ====
MakeHuman is organized hierarchically. There is a root application (type gui3d.Application) that handles rendering of objects (guicommon.Object). These objects can be added/removed to/from the root application. Objects added to root application are always visible in the canvas.[I'm wondering if this is really true? - There are object on hidden tabs and the skeleton or mesh can be visible or not. Am I confusing the distinction between 'canvass' and 'view'? - RWB] Every added object has an openGL counterpart.
mhmain.MHApplication inherits from root application to constructmain application. A view is a visual context. A tab is a view, for example, the main application is a view.[The main application IS a view or the main application HAS a view? "the "main application frame/window is a view?"- RWB]
The Root application[you do meanrootand notmain? - RWB]contains Categories. A Category (gui3d.Category) is a specialised view object which contains multple taskiew objects (gui3d.TaskView). Taskview objects are specialised view objects with a panes and tab. In context of MakeHuman interface, Category objects constitute the upper row of tabs while taskview objects constitute the lower row of tabs.
Objects (guicommon.Object) can be added/removed to/from a taskview. Objects added to a taskview are only visible if the taskview is visible. For example, a skeleton added to the skeleton chooser is only visible when the skeleton chooser taskview is visible. Objects added to root application[root not main? - RWB]are always visible. Thus objects like human and all proxies such as clothes are added to theapplication,because they should always be visible. Visiblilty can be disabled by setting the visibility flag on objects but an object that is not added to a currently visible taskview, or the application, is not visible, even if its visibility flag is set positive. [Wording needs improving -- 'should always be visible' and a 'visibility flag' are mixed message - RWB]
An object can only be added to one context. So an object is either added to one taskview, or the application, not two different taskviews.
Apart from root application, there is another application (type qtui.Application) which implements MH gui structures using Qtlibraries. mhmain.MHApplication inherits from this application too for handling of gui content.e
General structure in MH can be represented as: !IMAGE!Pictures/mh-inheritance.png!/IMAGE!
====
Basics of event handling in Makehuman: ====
Makehuman is a GUI based, interactive, Qt application in which objects interact by sending messages to each other. The Qt class QEvent encapsulates notion of low level events like mouse events, key press events, action events, etc. A Qt application is event loop-based, which is basically a program structure which allows events to be prioritized, queued and dispatched to application objects.
In a Qt based application, there are different sources of events. Some events like key events and mouse events come from window system, while some others originate from within application. When an event occurs, Qt creates an event object to represent it by constructing an instance of the appropriate QEvent subclass, and delivers it to a particular instance of QObject (or one of its subclasses) by calling its event() function. This function does not handle the event itself, but rather, it calls an event handlerbased on the type of event delivered, and sends an acknowlegement based on whether the event was accepted or ignored.
QCoreApplication::exec()method enters the main event loop and waits until exit() is called. It is necessary to call this function to start event handling. In MH, it is done in lib.qtui.Applicationwhich inherits fromQApplicationwhich in turn inherits fromQCoreApplication:
def start(self):
self.OnInit()
self.callAsync(self.started)
self.messages.start()
self.exec_()
In MH, event handling falls in two broad categories.
* Event handling forcontainers(application, categories, taskviews)
* Event handling forwidgets(contained in containers)
==== Event handling for containers: ====
MH is organized hierarchically in the context of containers. At top is the main application (core.mhmain.MHMainApplication). It contains categories (core.gui.Category), which in turn contains taskviews (core.gui.TaskView).
In a Qt-based application, there are five different ways of events processing, as listed below:
* * Reimplementing an event handler function like paintEvent(), mousePressEvent() and so on. This is the most common, easiest, but least powerful approach.
* ReimplementingQCoreApplication::notify( QObject * receiver, QEvent * event ). This is very powerful, providing complete control; but only one subclass can be active at a time. Qt's event loop and sendEvent() calls use this approach to dispatch events.
* Installing an event filter onQCoreApplication::instance(). Such an event filter is able to process all events for all widgets. It's just as powerful as reimplementing notify(); furthermore, it's possible to have more than one application-global event filter. Global event filters even see mouse events for disabled widgets. Note that application event filters are only called for objects that live in the main thread.[I believe that MH is single threaded - implications? RWB]
* ReimplementingQObject::event()(as QWidget does). If you do this you get Tab key presses[<--Explain what is special about TAB and shift-TAB presses ?- RWB], and you get to see the events before any widget-specific event filters.
* Installing an event filter on the object itself. Such an event filter gets all the events, including Tab and Shift+Tab key press events[<--Explain what is special about TAB and shift-TAB presses ?- RWB], as long as they do not change the focus widget.
In MakeHuman, approaches 2 and 4 are used for extensively for event handling. As part of strategy 2,inlib.qtui.Application (which extendsQApplication), notify has been reimplemented:[I don''t understand the implication of this? Expond? -RWB]
def notify(self, object, event):
self.logger_event.debug('notify(%s, %s(%s))', object, event, event.type())
return super(Application, self).notify(object, event)
object is the receiver object. Class implementing notify has to be singleton. [Clarify? - RWB]
In MakeHuman,MHApplicationsubclasseslib.qtui.Application.MHApplicationobject is the main application object. It's notify function receives notification from the event loop in the underlying Qt layer about each[container only or widgets too?]event, which is then relayed to receiver object's event method. Thereceiver object's event method is either inherited from QObject or reimplemented. The Receiver object then either sends TRUE or FALSE, as the case may be, to[WHERE??] - RWB
lib.qtui.Applicationalso implements an event function, which is called if the receiver object isMHApplication objectitself. Then,lib.qtui.Application.event()checks if its a user-defined event or not,and it is so true is returned, else we call super class's event(). In case of true being returned,Qt dispatches event to receiver object's callEvent function which determines which function to be called on object to handle the event. Called function then handles the event or propagate it to its parent(or to current task if its application object), as may seem fit.
==== Event handling for widgets ====
Most of MH widgets are wrappers around Qt widgets. These widgets (defined in module lib.qtgui) inherit from the respective Qt widgets and the Widget class (lib.qtgui.Widget). MH makes use ofsignal and slot mechanismby making the connection between the signal originating from the Qt layer and the corresponding handler function. For example, class TabBase connects the signal 'currentChanged' to its function 'tabChanged' as follows:
class TabsBase(Widget):
def __init__(self):
super(TabsBase, self).__init__()
self.tabBar().setExpanding(False)
self.connect(self, QtCore.SIGNAL('currentChanged(int)'), self.tabChanged)
......................
Any class inheriting from TabsBase(e.g., lib.qtgui.Tabs or lib.qtgui.TabBar) also gets this facility. So now whenever signal 'currentChanged' is emitted from Qt layer function 'tabChanged' is called. The result is that when a user clicks the mouse on a tab, the 'tabChanged' code will be called,
Similarly, MH Slider widget connects various slider operations to its event handling functions as:
...........................
self.connect(self.slider, QtCore.SIGNAL('sliderMoved(int)'), self._changing)
self.connect(self.slider, QtCore.SIGNAL('valueChanged(int)'), self._changed)
self.connect(self.slider, QtCore.SIGNAL('sliderReleased()'), self._released)
self.connect(self.slider, QtCore.SIGNAL('sliderPressed()'), self._pressed)
...........................
[-- EDITING/PROOFING ENDS HERE - RWB --]
==== Overriding vs event decorators: ====
The View, Category and Application classes inherit from events3d.EventHandler, hence they have callEvent() function. The events that apply to this category are usually application-wide. If user make a change that impacts the whole application, and whole application must know about this change, then best way to do so is to call callEvent() for all the taskviews of the application,as follows:
for category in self.categories.itervalues():
for task in category.tasks:
task.callEvent('onMyEvent', params)
A good example is the event of makehuman's scene changing(core.qtui.MHApplication._sceneChanged). So when callEvent is called on a taskview object and it has onMyEvent implemented,it is being called. In core.gui3d.View too one can see that most of the events (onShow, onMouseDown,...) on the taskview are propagated by default to their parents - the categories. The categories also are views, so the events are propagated again to their parent, the application. If, again, the application or any category has an onMyEvent method, it is executed.
There are some events that affect the application, but only a single task at a time,for example onMouseDown event. It only happens to the active taskview
(the others are hidden, so they receive no mouse events). Once the mouse is pressed, an Application.currentTask.callEvent("onMouseDown", event)is issued. This causes the onMouseDown event to be received by the active Taskview, its parent Category, and finally the Application. This call executes any onMouseDown method in these objects.
Apart from the Category events described above, there are events used for local purposes. Such events are handled withevent decorators. Suppose we have a new Taskview, FooTaskView. This Taskview has a 'mybar' member variable, which is of type Bar(events3d.eventHandler). The requirement is that when self.mybar executes code, we may want to communicate with its parent to inform it about an event that just happened. So, inside the code for Bar, is located a 'self.callEvent('onBaz', 42)' command. Thus, in the Bar class, we emit a timely event signal and use the event decorator to let the parent Taskview know about the event. In the FooTaskView class, but below the place where self.mybar is created, we add:
@self.mybar.mhEvent
def onBaz(event):
# code on event.
# guess what, event == 42.
When now the self.mybar Bar reaches that callEvent, the above method, located in FooTaskView, will be executed.
core.mhmain.MHApplication's human is perfect example of this approach.Human has onMouseDown event handler and we need to relay it to application.
In loadMainGui function of MHApplication, we add decorator to human attribute as:
def loadMainGui(self):
..............
@self.selectedHuman.mhEvent
def onMouseDown(event):
if self.tool:
self.selectedGroup = self.getSelectedFaceGroup()
self.tool.callEvent("onMouseDown", event)
else:
self.currentTask.callEvent("onMouseDown", event)
.............
Application.human.onMouseDown event is caught and it starts its trip from the Human; it is captured by the decorated method located in Application.loadMainGui (this is the place where the method is bound with the event), it is sent to the currentTask, propagated through the parent category, and finally reaches its destination, the Application.
A more intense process happens on Human.onChanged. This is emitted when a save/load happpens, so the whole application has to know. So it starts from the human, captured by the decorated method in app, sent to ALL the taskviews in MH, and finally through the categories again to the app.
==== The MakeHuman Graphical User Interface (GUI): ====
The MakeHuman GUI is based on the pyQt library which, in turn, is built on the Qt library. Qt is a development framework for the creation of applications and user interfaces for desktop.
Important GUI classes in MakeHuman are:
lib.qtui.Canvas:This is the class in MakeHuman which takes care of rendering openGL graphics.It inherits from Qt's QGLWidget class which is a widget for rendering OpenGL graphics. QGLWidget provides functionality for displaying OpenGL graphics integrated into a Qt application. It is very simple to use. You inherit from it and use the subclass like any other QWidget, except that you have the choice between using QPainter and standard OpenGL rendering commands.
The Canvas class reimplements three functions from parent class to perform openGL tasks:
* paintGL() - Renders the OpenGL scene. It gets called whenever the widget needs to be updated.
* resizeGL() - Sets up the OpenGL viewport, projection, etc. Gets called whenever the widget has been resized (and also when it is shown for the first time because all newly created widgets get a resize event automatically).
* initializeGL() - Sets up the OpenGL rendering context, defines display lists, etc. Gets called once before the first timeresizeGL() orpaintGL() is called.
lib.qtui.Application: This is the foundation class which manages GUI's control flow and main settings. It inherits fromQtGui.QApplicationandevents3d.EventHandler. QApplicationcontains the main event loop, where all events from the window system and other sources are processed and dispatched. It also handles the application's initialization and finalization.Application class holds gui main window(instance of lib.qtui.Frame). Application class receives event notifications from underlying Qt user intrface framework and dispatches them to appropriateuser intrface elements in MakeHuman.
GUI architecture inMakeHumanMH can be depicted as follows:
!IMAGE!Pictures/mh-uiarchitecture.png!/IMAGE!
=== Application Design Notes from IRC Chat with Thanassis ===
Thanasis comments on gaining the big picture of MH coding
* [16:12:57] <Thanasis> I would avoid describing the different parts of code as different entities
* [16:13:43] <Thanasis> ie. follow the object-oriented paradigm, and avoid thinking who is inherited by who etc.
* [16:13:48] <Thanasis> more specifically
* [16:15:03] <Thanasis> I mean, treat an object as a single object
* [16:15:08] <Thanasis> I'll show an example
* [16:15:45] <Thanasis> you have the application. Inheritance says it consists of three classes, QApplication, MHApplication, and mhmain.Application (names may differ a bit).
* [16:15:58] <Thanasis> but it is only one object
* [16:16:42] <Thanasis> We don't care if the QApplication activates a function in MH application, because it happens inside the same object
* [16:16:50] <Thanasis> the application
* [16:17:18] <Thanasis> we only pay attention to the interactions the application object has with other objects
* [16:17:43] <Doctor_Hell_> but if you need to find a function, you need to follow the inheritage chain...no?
* [16:18:24] <Thanasis> of course, in the code, yes. but in a diagram it will make it complex
* [16:21:02] <Thanasis> well, let's go top-down
* [16:21:29] <Thanasis> we have: QT, App, Tab, Task
* [16:21:56] <Thanasis> The event starts from QT, and activates a handler in App
* [16:22:22] <Thanasis> The App sends a new event to the current Task
* [16:22:46] <Thanasis> The task handles it, and sends a copy to the parent Tab
* [16:23:13] <Thanasis> And finally the Tab handles it and sends a copy to the App
* [16:23:35] <Thanasis> which handles it, and stops
* [Referring to how distrating it is to describe the big picture of MH, Thanasis comments ...]
* "Distract? no, this does not consume any brain energy"
* We love your help- the more the bettter -- Thanks [RWB]
Comments Regarding MacroTarget slider processing/handling based on naming conventions:
* [16:36:24] <Doctor_Hell_> [23:26] <Doctor_Hell_> another complex part to know is the engine coded by Jonas to automatically handel the targets using their name
* [16:37:58] <Thanasis> uh. yes, that's a tough one too. I think it does, but I don't remember why and how, because it was a long time ago and Jonas changed the human modifier class since then
* [16:38:18] <Thanasis> he simplified it, actually, but I haven't seen the new version yet
* [16:38:34] <Doctor_Hell_> where is the code?
* [16:38:49] <Thanasis> apps/humanmodifier.py, I think
* [16:39:01] <Doctor_Hell_> Jonas should be very busy recently, since I asked him but he didn't reply me yet.
* [16:42:37] <Thanasis> um by the way, reading humanmodifier alone won't help a lot. I would suggest starting from the macro plugin, to trace what happens when a slider is created, and when the user moves a slider. It might be easier this way
Difficulties in understanding relationships between folder names / module names and the object structure
* [16:39:36] <Doctor_Hell_> ANother thing to understand is why we have some code inapps, other incore, other in libs..the logic is not clear for me..
* [16:39:52] <Thanasis> ah, ignore logic in that part. :)
* [16:40:20] <Thanasis> as far as I know it is all because of mh history so far
* [16:40:29] <Thanasis> the way it developed.
* [16:40:56] <Doctor_Hell_> I know some of it
* [16:41:24] <Doctor_Hell_> in the early times,it was planned to have a core folder, with all important main files
* [16:42:03] <Doctor_Hell_> then anapps folder, to contain many application based on the core files: makeHuman, makeANime, MakeToon, etc..
* [16:42:29] <Doctor_Hell_> butsharedandlibswere added later...I don't know why
* [16:43:10] <Thanasis>libs, they are classes imported from c++ directly
* [16:43:48] <Doctor_Hell_> ah ..so only the "shared" folder is the mystery
* [16:44:04] <Thanasis> shared, they are later classes used by many different parts of the code at the same time
* [16:44:15] <Thanasis> classes created later*
* [16:44:28] <Thanasis> ie. material. It's used literally everywhere
* [16:44:32] <Thanasis> progress too
* [16:44:58] <Doctor_Hell_> ok..at least now it make sense, thank you
* Comments on New API project
* [16:45:39] <Doctor_Hell_> now that you have more time, will you look at the API?
* [16:46:55] <Thanasis> 'time' != 'creativity'. I expect it will be easier to me after the start of the semester
* [16:46:27] <Doctor_Hell_> if you are logged to MH site, you can see this:!LINK!http://www.makehuman.org/blog/the_makehuman_api_project_mhapi.html -- http://www.makehuman.org/blog/the_makehuman_api_project_mhapi.html!/LINK!
* [16:47:02] <Doctor_Hell_> Also Joel has already created this:!LINK!https://bitbucket.org/joepal1976/makehuman-api-project/overview -- https://bitbucket.org/joepal1976/makehuman-api-project/overview!/LINK!
* [16:48:52] <Doctor_Hell_> at the moment, you can just post a list of wished api in the issue 534
* [16:49:16] <Doctor_Hell_> we want to start the API in few weeks..they are fundamental, in order to have more contributors...
* [16:51:05] <Thanasis> oh, boy. I want to clean up this code!LINK!https://bitbucket.org/joepal1976/makehuman-api-project/commits/aa5c12953fb2c8a1723b21bb0b7d90667653d615 -- https://bitbucket.org/joepal1976/makehuman-api-project/commits/aa5c12953...!/LINK!* Go for it? [RWB] :)
The Doc_Hell Diagram (green and red arrows that even Glynn couln't understand)
[Summary - concentrate on green arrows not red arrows to get the big picture]
* <Doctor_Hell_> this is an example of bad diagram:!LINK!https://www.dropbox.com/s/v3waacufp9pyx1u/mouse_event.png?dl=0 -- https://www.dropbox.com/s/v3waacufp9pyx1u/mouse_event.png?dl=0!/LINK!
* [16:52:48] <Thanasis> well, in your shape, the actual thing is about the green arrows
* [16:53:19] <Thanasis> the red arrows could have been implemented in hundreds of different ways
* [16:53:44] <Thanasis> but the important is their result, the green arrows
* [16:53:53] <Doctor_Hell_> talking about how to draw the objects?
* [16:54:26] <Thanasis> well, my idea was, do two shapes
* [16:54:36] <Thanasis> the first without code
* [16:55:10] <Thanasis> only showing the 5 steps like I explained above, ie, the green arrows
* [16:55:28] <Thanasis> the second can explain each step in detail using the red arrows
* [16:55:50] <Thanasis> but in any case the definition is the following
* [16:56:04] <Thanasis> an event is, you send the name of a method to someone
* [16:56:14] <Doctor_Hell_> ok...but also we have the description written by Manish. I'll show you it tomorrow
* [16:56:21] <Thanasis> and that someone executes that method of theirs
* [16:56:47] <Thanasis> sure, there are many ways to describe it
* [16:57:00] <Doctor_Hell_> I hope we can find the best one
* [16:57:07] <Thanasis> I think that they all match though in some certain key points
* [16:57:52] <Thanasis> if these are filtered out, the explanation may be more simple
And touching on API ideas ...
* [16:59:09] <Doctor_Hell_> since the core is too complex for average python programmers
* [16:59:36] <Thanasis> yes... perhaps the code could be organized in tiers.
* [17:00:00] <Thanasis> core, classes, plugins, scripts
* [17:00:27] <Doctor_Hell_> ah you are talking of the current code, not the simplified api
* [17:00:54] <Doctor_Hell_> yes, it's a good idea..but what group under "core" ?
* [17:01:25] <Thanasis> theapplication and its interfaces(ie.communication with the system and devices. QT, GL etc.)
* [17:01:59] <Thanasis> classes are abstract, they use the application by calling its methods
* [17:02:35] <Thanasis> the application uses the interfaces (QT, GL.these are actually harder than the application andcould be a sepparate tier)
* [17:02:54] <Thanasis> thepluginsuse the classes to create objects
* [17:03:26] <Doctor_Hell_> I see some possible confusion because:
* [17:04:24] <Doctor_Hell_> - not all core modules are into core folder (for example qtui and qtgui are in libs)
* [17:04:49] <Doctor_Hell_> - Classes are everywhere
* [17:05:07] <Thanasis> yes, libs folder consists of both core and classes... indeed
* [17:05:23] <Thanasis> andinterfacestoo
* [17:06:51] <Thanasis> but in general, this separation exists somehow. I'm not sure how, but the past programmers instinctively created it, perhaps for better manageability
* [17:08:14] <Thanasis> ie. Human is a class, Material too, Armature (probably making name wrong again), and to function I observe that they use callbacks of Application
* [17:08:38] <Thanasis> They never use interfaces directly
* [17:09:46] <Thanasis> Even for drawing the human, it is the Application that will give the Human's object3d to OpenGL, not the Human directly
* [17:10:31] <Thanasis> and plugins use classes ie. they use the callbacks that Human, Material etc. have
* [17:11:08] <Doctor_Hell_> Do you mean abstraction classes?
* [17:13:27] <Doctor_Hell_> Thanasis: about new API:!LINK!http://bugtracker.makehuman.org/issues/534 -- http://bugtracker.makehuman.org/issues/534!/LINK!
* [17:13:42] <Doctor_Hell_> and!LINK!http://bugtracker.makehuman.org/projects/makehuman/wiki/Abstraction_API_for_plugins -- http://bugtracker.makehuman.org/projects/makehuman/wiki/Abstraction_API_...!/LINK!
* [17:13:57] <Doctor_Hell_> Feel free to add wished api calls
=== Q & A with Glynn Clements ===
Question: For an event when user clicks on a tab, Tabs class method tabChanged is called.
QTabWidget documentation.There is no such method.
Response:
The tabChanged method is defined for qtgui.TabsBase (and overridden for qtgui.Tabs).
Both qtgui.Tabs and qtgui.TabBar inherit from qtgui.TabsBase.
Tabs inherits from both TabsBase and QTabWidget while TabBar inherits from both TabsBase and QTabBar.
Both QTabWidget and QTabBar define the currentChanged signal, which is emitted whenever the current tab changes.
The TabsBase initialiser connects this signal to the tabChanged method (lib/qtgui.py:109):
class TabsBase(Widget):
def __init__(self):
...
self.connect(self, QtCore.SIGNAL('currentChanged int)'), self.tabChanged)
==========================================================
Question: is it true that qtui module: low level module, that handles signals directly from QtCore, QtGui and QtOpenGL?
Response:
qtui defines the classes for the application (QApplication subclass), main window QMainWindow subclass), drawing canvas (QGLWidget subclass), and some associated support classes. In other words, it implements the high-level UI, or at least the aspects which are tied to Qt.
Question: is it true that qtgui module: low level module, that define the basic widgets of the GUI as buttons, radiobuttons, etc..
Response:
Yes; qtgui is essentially a compatibility layer between the Qt widget classes and the legacy MH GUI toolkit. The classes provide methods which more closely mimic the behaviour of original gui3d widgets. Qt events are translated to MH events3d events.
Question: Is it true that gui3d module: high level module, that define the principal public classes of MakeHuman: Application, Category, TaskView and View.
Response:
This is what's left of the legacy MH GUI toolkit. Before the move to Qt, everything was a "View". Now it's just the high-level containers (Application, Category, Task) which exist as somewhere to put event handlers.
Question: What is the purpose of the module guicommon.py? Looking at the module name, it appears to be a sort of library for the GUI functions, but it's a completely different thing. What is it really?
Response:
Object used to be part of gui3d. Its primary function is to be the base class for Human. It's the other main subclass of events3d.EventHandler (the first being gui3d.View).
It's not really accurate to call it a "wrapper" around Object3D (although it can have instances of both module3d.Object3D and object3d.Object3D as members).
One of the main differences between guicommon.Object and module3d.Object3D is that the latter is a single mesh, while the former has up to four meshes (all of type module3d.Object3D): the base (or "seed") mesh, a proxy mesh, a subdivided mesh, and a subdivided proxy mesh.
It [guicommon.py or guicommon.Object ??RWB] also contains an object transformation (location, rotattion, scale) [method?], and optionally a display mesh (object3d.Object3D). As a subclass of EventHandler, it [guicommon.Object ??RWB] provides mouse handlers which propagate the event to the object's view (these are overridden for the Human within MHApplication.loadMainGui).
Question: G.app is the singular mhmain.MHApplication instance; the callEvent method (inherited from event3d.EventHandler) will end up calling G.app.onMouseDownCallback. How the function callEvent end up calling G.app.onMouseDownCallback?
Response:
"direction" will be either onMouseDownCallback or onMouseUpCallback. Note the "Callback" suffix.
So typical event flow for clicking on the human model is:
G.app.mainwin.canvas.mouseUpDownEvent ("onMouseDownCallback")
[Canvas.mouseUpDownEvent]
G.app.callEvent("onMouseDownCallback") [EventHandler.callEvent]
G.app.onMouseDownCallback() [gui3d.Application.onMouseDownCallback]
G.app.selectedHuman.callEvent('onMouseDown', event) [EventHandler.callEvent]
G.app.selectedHuman.onMouseDown()
[local function in MHApplication.loadMainGui]
G.app.currentTask.callEvent("onMouseDown", event) [EventHandler.callEvent]
G.app.currentTask.onMouseDown() [View.onMouseDown]
G.app.currentCategory.callEvent("onMouseDown", event) [EventHandler.callEvent]
G.app.currentCategory.onMouseDown()
[View.onMouseDown]
G.app.callEvent("onMouseDown", event) [EventHandler.callEvent]
G.app.onMouseDown() [MHApplication.onMouseDown]
Notes:
G.app.currentTask.parent == G.app.currentCategory
G.app.currentCategory.parent == G.app
Question: is the eventType string (also called 'direction') originated by QT?
Response:
No. "direction" is just so that code which is common to both mouse press and mouse release events can go into a single method (mouseUpDownEvent) rather than duplicating it in mousePressEvent() and mouseReleaseEvent(). Those functions are identical except for the name of the event passed to callEvent.
Bear in mind that self.callEvent("onMouseDown", event) is almost the same as self.onMouseDown(event), except that callEvent forces a redraw after the event has been dealt with, and has some support for logging and profiling. Once you strip that away, the guts of callEvent() is just:
method = getattr(self, eventType)
method(event)
======================================================================
Question: Can the modularization of the code can be improved?
Response:
Modularisation is already quite good. Too much of it can make the code harder to understand.
Currently, we try to avoid importing OpenGL or Qt modules (directly or indirectly) into modules which don't inherently depend upon them (e.g. guicommon.Object imports object3d locally in the attachMesh and detachMesh methods, so it only gets imported if you actually need to render the object).
TODO ACTION. One minor point which I noticed: lib/camera.py imports glmodule solely for the queryDepth() call in convertToWorld2D (the Z coordinate is obtained by retrieving a value from the depth buffer using the X,Y coordinates). This should probably be a local import in that method, so that camera.py could be used in e.g. import/export utilities.
==========================================================================
Question: [Referring to DocHell's red and green diagram (!LINK!https://www.dropbox.com/s/v3waacufp9pyx1u/mouse_event.png?dl=0] -- https://www.dropbox.com/s/v3waacufp9pyx1u/mouse_event.png?dl=0]!/LINK!]
Response:
I have no idea; I can't follow that [diagram]. It would probably help if you simply ignore CallEvent(), and treat object.callEvent('method',event) as just object.method(event).
The two factors which make following the flow slightly complicated are:
Methods aren't always defined within the class used to create an object, but may be inherited from one of its base classes.
Event handlers may be dynamically added to an object with the mhEvent method (which is usually invoked using Python's decorator syntax). This is done for the Human object in MHApplication.loadMainGui():
@self.selectedHuman.mhEvent
def onMouseDown(event):
....
If you aren't familiar with the decorator syntax, the above is equivalent to:
def onMouseDown(event):
...
self.selectedHuman.mhEvent(onMouseDown)
which in turn boils down to:
def onMouseDown(event):
...
self.selectedHuman.onMouseDown = onMouseDown
=================================================================================
Question: Could you provide an explanation of what a weak reference is? How might this impact MakeHuman?
Response:
[Jonas Hauquier ] A weak reference, one that is not accounted for by the garbage collection. Garbage collection removes objects from memory that have no pointers to them anymore. Weakrefs are not counted among those, so if the object has only weakrefs pointing to it, and not real pointers, it will be removed anyway. This is to make sure that object A and B that always point to each other, are not kept in memory just because they keep referencing each other (I believe the garbage collection does not do expensive graph traversals to check what is still referenced by the active context).
[Glynn Clements] Sort of. Python uses both reference-counting (which can't handle circular references) and reachability-based garbage collection (which can). If an object's reference count reaches zero, it will be finalised immediately. But an object with a non-zero reference count can still be finalised if it can be determined that it isn't reachable during a garbage-collection sweep.
However: the garbage collector won't attempt to finalise reference cycles if any of the objects in the cycle have a __del__ method, as it can't determine a safe order in which to execute them. Instead, it adds them to a list, accessible as gc.garbage. Application code can inspect this list, manually finalise the objects (which should break the cycles), then remove them from the list (otherwise their presence in gc.garbage will itself constitute a reference).
It's possible to have the garbage collector report such cases using gc.set_debug(gc.DEBUG_UNCOLLECTABLE).
Only a few MH classes contain __del__ methods. These will only present a problem if the object itself is part of a cycle (i.e. contains references to "complex" objects which themselves contain references which could lead back to the original object).
"Leaf-node" classes such as Texture and Shader shouldn't present a problem unless their creators attach additonal references to them. This may be an issue for e.g. qtgui.Slider and qtgui.RadioButton, as these have __del__ methods and will naturally create circular references. Use of weakref may be advised here. Similarly for queue.Thread. SceneItem in plugins/7_scene_editor.py may also be a problem.
=============================================================================
Question: Could you clarify wherther the following acurately describe the use of decorators?
A basic decorator is a function that:
1) Gets a function "A" as argument
2) Modifies the behavior of "A"
3) Returns a "decorated" version of "A"
Response: Correct.
Question: Topic: Decorators and side-effects. When is a decorator not about generating a function? So, if the above accurately descibes a decorator, consider the code:
@self.selectedHuman.mhEvent
def onMouseDown(event):
This should translate:
onMouseDown = self.selectedHuman.mhEvent(onMouseDown)
One would expect that using mhEvent as decorator, it returns a function, but instead, it returns None:
def mhEvent(self, eventMethod):
self.attachEvent(eventMethod.__name__, eventMethod)
How can it be used as decorator?
Response:
Because the returned "function" isn't actually used anywhere. The definition is local to loadMainGui(), which doesn't reference the functions, so the fact that e.g. onMouseDown is None within loadMainGui() doesn't matter. The mhEvent() method is used for its side-effects, not its return value. It attaches an event to the selectedHuman. It is equivalent to:
self.selectedHuman.attachEvent(onMouseDown.__name__, onMouseDown)
==============================================================================
== Packager's notes ==
Notes for packagers of Makehuman stables and nightlies.
=== Packaging RPM's for Suse/Fedora using Open Build Service (OBS) ===
The Open Build Service is a service formerly known as the Opensuse build service. OBS allows packagers to build packages for several targets. Here a target is a particular OS version E.g. Suse 13.1, Suse 12.3, Fedora 20 , Ubuntu 14.04 and so on. OBS being a build system by itself can be hosted anywhere even on local infrastructure. For MakeHuman packages we use the OBS instance hosted by Novell at build.opensuse.org
This document will briefly outline the typical packaging workflow for Suse and Fedora. Both distributions use the RPM format and subsequently adhere to RPM's packaging rules.
!IMAGE!Pictures/obs-flow-chart-scaled.png!/IMAGE!
=== 1) Prepare source tarball: ===
OBS does not allow pulling from the internet once the rpm is being processed into a package so. When creating the source tarball you should assemble it either on your own computer or a server online (even a VPS will do).
There are several Important files and scripts which are of interest to us. One is build_prepare.py this assembles the main folder and all the common data which is needed by all OSes be it Mac or LInux distros or windows. This script is essential to run. Then there is build_rpm.py. We borrow some of the initial code in this and use it on our bash script but we do not build the whole RPM because OBS does that. Another third inportant file is build.conf (this stores the configuration used by build_prepare.py to make the source tarball). Using the above scripts/files I prepared a Bash script which is shown below.
The above script assumes the following:
* You have cloned MakeHuman's Mercurial (Hg) repo into your home directory and it is located at ~/makehuman (cloning into ~/ automatically makes the makehuman folder)
* You have python , numpy and pyQt4 installed (package names may vary from distribution to distribution)
* You are running on a LInux distribution.
* You want to prepare a source tarball from Hg tags.
* $VERS is the latest user specified stable tagged version
* makehuman-$VERS is your destination folder where all files are copied
* the final tarball uses bzip compression. How the tarball is compressed is significant as RPM accepts only certain compression algorithms. The resultant file is makehuman-$VERS.tar.bz2 (E.g. makehuman-1.0.2.tar.bz2)
* You use an FTP server whose file path is located at /var/ftp you can skip this step if the script is run locally by commenting the lines out.
Explanation of the above script:
In the first section we use Hg and extract available tags and ask the user for input on which stable tag he/she wants to build against.
In the second section we automatically create the build.conf file which is used to specify if we want a release or development folder. Here we set isRelease=True
In the third section we use build.conf along with build_prepare.py this creates a basic non-OS specific folder in home (~/).
In the fourth section we copy extra files such as the .desktop file and the makehuman icon file, the shell wrapper for MakeHuman and remove the .bat file which is not needed in linux. Currently there is a bug where command line arguments are not passed by the shell wrapper to the python executable. We fix this by manually editing the file automatically in our bash script before copying it into the target folder to be tarballed. This is moved into the folder created earlier by build_prepare.py . With this we now have have a folder with all the basic requirements needed for packaging.
FInally the folder is then tarballed and it is ready for upload to OBS. If you are not using an FTP server then comment out the “mv” command which moves the tarball to /var/ftp in the shell script above. IN some distributions the FTP directory is /srv/ftp
=== 2) Upload the tarball to OBS ===
The next step is to upload the tarball to OBS. Firstly you need to create a username and password. Then login to build.opensuse.org and create a project. On account creation you get your own home directory.
Two interfaces exist to OBS. One is the command-line interface which is available by installing the package "osc" it is available in most distributions. The other one is the Web User interface. Both are equally useful the command line interface is better for doing certain tasks however.
OBS also has a feature called “ services”. Several services are available such as services to pull from various sources e.g. FTP servers online, services to tarball the version controlled sources directly (tar_scm). You can make use of these _services (they are defined using XML notation in "_service" files). Read!LINK!”http://en.opensuse.org/openSUSE:Build_Service_Concept_SourceService” -- Source Services!/LINK!; or you can manually upload your tarball through the Web UI or use the "osc" command line utility. To learn how to use the "osc" utility use "man osc" or view the manpage online.
I would not recommend using _service files to pull the tarball as they can stop working. It is better to manually push the tarball to OBS. Either by pressing the upload button on the Web UI or placing the tarball in your project home directory created by using the “osc checkout” command. Then typing “osc ar” (add /remove) and finally “ osc commit -m ”put commit description here” “ to push and commit the changes you just made.
You can also automate the above process by adding lines to the shell script but It is better to administer osc separately and manually to allow for more control.
=== 3) Prepare the spec file: ===
A .spec file is a special file which is used to build RPM's. It “contains information required by RPM to build the package, as well as instructions telling RPM to build it. The spec file also dictates exactly what files are a part of the package, and where they should be installed. The RPM specification is very well defined and it is fundamental than any packager develop a strong base in the fundamentals.” (taken from “Maximum RPM”)
A very important book detailing the various capabilities of RPM is!LINK!”http://www.rpm.org/max-rpm/” -- Maximum RPM!/LINK!. This is a must read for any packager and will help in understanding the spec file shown below. If you have not read it please bookmark the page and give the book a read. I cannot stress how important it is.
In OBS we have 2 main OS's which use RPM's as build targets Fedora and Suse. RPM provides macros to make packaging more standardised and easy. Most Macros are common however some are distribution specific. Below is the spec file used by the Makehuman project. For version 1.0.2.
The above .spec file follows the general structure and format of spec files as per the RPM specification. The spec file has been formatted for for OBS by running “osc service localrun format_spec_file” then reading the contents to ensure that nothing went wrong and committing the changes back to OBS. In the above spec file we have split MakeHuman into 2 subpackages and made them depend upon each other to ensure consistency. As you can see there are 2 sources one is the tarball we created with our bash script earlier and there is another file called "makehuman.1" this is a manpage. In the spec file instructions are issued to gzip it and put into the manual directory on install. The manpage (Source101 in the .spec file) is shown below.
How man pages are created is out of scope of this document. Man pages use gtroff. There are however ample resources online which can help with this.
The .spec file has been commented to provide you with a better understanding of what is done at various stages.
Once the .spec file has been updated on OBS it automatically triggers a rebuild duribg that time you can monitor the status of the build process and correct errors in your spec file or sources as they arise.
=== 4)Pushing changes to the official repositories ===
Once you are satisfied that your package is stable you can make a submit request to submit the package from the Web User Interface or run the command below.
In the above command we submit the “makehuman” package to the OpenSuse “graphics” project. After this the package is reviewed by the maintainer of the graphics project and approved or rejected with comments given. You will receive an email after the project has been reviewed.
Notes:
* The .spec file and the manual page will change over time. The above is there for illustration purposes only.
* You can find copies of the most recent stable .spec file and makehuman.1 manpage!LINK!:https://build.opensuse.org/package/show/graphics/makehuman: -- here!/LINK!. This is the stable version after a "submit request" to the official Suse repositories.
02349cd71a44b476c9e2fba31c8da9b2390570e6
705
687
2016-05-20T11:11:24Z
Joepal
14
wikitext
text/x-wiki
=== GUI languages and translations. ===
Our GUI is available in many languages, but translations are not yet complete.
Anyway now contributing in order to add a new language is very easy, since the MakeHuman project is now available for translation on!LINK!http://www.transifex.com/organization/makehuman/ -- Transifex!/LINK!.
!IMAGE!Pictures/languages.png!/IMAGE!
Transifex is a web application for localization in an easy and agile way.
!IMAGE!Pictures/transifex.png!/IMAGE!
If you want to help the MakeHuman project by translating the GUI into your language, you first need to create an account on Transifex. Then, when logged in, you can go to!LINK!https://www.transifex.com/projects/p/makehuman/ -- the MakeHuman Transifex page!/LINK!and click on the appropriate language you want to translate. Then click the "Join team" button. Now you can click the current release name (for example "Alpha 8") entry and click "Translate now".
If you want to make a translation in another language that is not yet listed, click "request language" on the!LINK!https://www.transifex.com/projects/p/makehuman/ -- MakeHuman transifex page!/LINK!. We will make sure to accept it as fast as possible, so you can start translating.
Translating is quick and easy. You can select the "Untranslated strings" filter to show only the things left to translate. Click the first word on the left, and in the center of the screen enter your translation in the input box. When done typing, simply press the TAB button on your keyboard, and it automatically goes to the next entry. Repeat this process untill everything is translated.
You can leave things open you are uncertain about, and leave them for later. Perhaps others know a good solution. You can interrupt your work at any time and continue working later, or leave it for others to finish.
If you already have a translated file on your hard disk (for example you made modifications to an already existing language .ini file of MakeHuman, or you have filled in a .missing language file), you can upload it as translation and Transifex will automatically include it in the translation.
You will be also able to download the json file of your language, in order to put it in makehuman/data/languages. On restarting MakeHuman, the new language will be available as an option under "Settings".
=== MHBlenderTools: MakeWalk basic workflow ===
MakeWalk is a Blender add-on for retargeting mocap data (.bvh files) to a given armature.
==== Retargeting: how it works ====
The goal of retargeting is to transfer a motion from a source armature (e.g. from a BVH file) to a given target armature (e.g. the MHX rig). However, it is not straightforward to assign the source action to the target rig, even if the bones have identical names. The motion of each bone is specified in local coordinates, relative to the parent and the bone's own rest pose. If the rest poses of the source and target armatures differ, the source F-curves can not be used directly by the target armature.
!IMAGE!Pictures/makewalk-1.png!/IMAGE!
The picture above shows a transformation in the local coordinate system. Since the parent's local Y points along its axis and its local Z points up, the child bone is rotated around the local X axis. This is not very useful if the target armature has a diffent rest pose. To retarget the pose, we therefore reexpress the transformation in the global coordinate system, as shown below. The local X rotation corresponds to a global Y rotation, and by a different angle. Once the global transformation matrix is known, we can reexpress it in the target bone's local coordinate system.
The retargeting process thus consists of making two coordinate transformations:
Source local => Global => Target local.
This will ensure that the source bone and the target bone will have the same global orientation.
!IMAGE!Pictures/makewalk_2.png!/IMAGE!
Unfortunately, things are a little more complicated. We do not always want the source and target bones to have identical orientation. In particular, the root or pelvis bone may point in entirely different directions in different armatures. E.g. in the CMU armature rest pose the pelvis points forward-down, and in the MHX rig it points straight up.
!IMAGE!Pictures/makewalk-3.png!/IMAGE!
If we insisted that the root bone in the MHX rig would point in the same direction as in the CMU rig, the retargeting would not be very successful, as shown in the figure above. If we instead keep the rotation offset from the rest poses, the target pose becomes much better, as shown below.
To calibrate the source and target armature against each other, MalkWalk introduces extra keyframes at frame 0, where both armatures are posed in T-pose.
!IMAGE!Pictures/mcp-ret-060-calibrate.png!/IMAGE!
In the rest of the animation, bones in the target armature copy the global rotations of the source armature, apart from differences present in the T-poses. In this way we can transfer animations from CMU to the MHX rig, despite the fact that the rest poses are very different.
==== Basic Workflow ====
=== Retargeting ===
The MakeWalk panels appear in the tool shelf whenever an armature is the active object. Select the armature and press the Load And Retarget button. In the file selector, select the .bvh file. We choose the file 90_04.bvh from the CMU database. It is a cartwheel animation.
!IMAGE!Pictures/makewalk-4.png!/IMAGE!
After a short wait, the armature is doing gymnastics.
!IMAGE!Pictures/makewalk-5.png!/IMAGE!
At frame 0 of the animation the armature has been placed in T-pose. This is not part of the originial .bvh file, but inserted by MakeWalk to calibrate the source armature (defined by the bvh file) and the target armature (the selected armature in the viewport) against each other.
=== Supported armatures ===
MakeWalk works with most straightforward biped rigs with FK arms and legs, such as the Rigify meta-rig. There is also built-in support for some more complex rigs: the MHX advanced rig from MakeHuman, the MHX rig from MakeHuman and Rigify.
!IMAGE!Pictures/makewalk-6.png!/IMAGE!
It is often possible to use MakeWalk with other complex rig, but in that case the automatic bone identification may fail. If so, a bone map must be defined manually, see!LINK!http://makehuman.org/doc/node/defining_the_target_rig_manually.html -- Defining a Target Rig Manually!/LINK!.
=== Troubleshooting ===
Retargeting is a rather involved subject, and it can sometimes result in poor motion. The process may even fail completely, usually because MakeWalk failed to automatically identify the bones of a complex rig. If this should happen, see!LINK!http://www.makehuman.org/doc/node/makewalk_errors_and_corrective_actions.html -- Errors and Corrective Actions!/LINK!.
==== Where to find BVH files ====
There are several different formats that mocap files can be stored in. MakeHuman's mocap tool can only deal with files in Biovision BVH format. BVH files can be bought from many commercial sources, but a large range of mocap files are also available for free download. Here are some sites I found useful.
* CMU Graphics Lab Motion Capture Database: Hosted at Carnegie-Mellon University, this is a huge library of mocap files which can be downloaded for free. The web address is!LINK!http://mocap.cs.cmu.edu/ -- http://mocap.cs.cmu.edu!/LINK!. CMU hosts mocap files in three formats: tvd, c3d and amc. However, the mocap tool can only read BVH files, so none of these files can be used directly. Fortunately, B. Hahne at!LINK!http://www.cgspeed.com/ -- www.cgspeed.com!/LINK!has converted the CMU files to BVH. The converted files are located at!LINK!http://sites.google.com/a/cgspeed.com/cgspeed/motion-capture -- http://sites.google.com/a/cgspeed.com/cgspeed/motion-capture!/LINK!.
* Advanced Computing Center for the Arts and Design (ACCAD): Hosted at the Ohio State University, this is another great source of free mocap files. BVH files can be downloaded from!LINK!http://accad.osu.edu/research/mocap/mocap_data.htm -- http://accad.osu.edu/research/mocap/mocap_data.htm!/LINK!
* Eyes Japan (mocapdata.com):This is a Japanese company that sells mocap data commercially, but they also offer a huge number of motions for free. According to their homepage, mocapdata.com provides 744 premium motion data and 4197 free motion data. The only catch is that downloading requires registration. Not surprisingly, the homepage of mocapdata.com has the address!LINK!http://www.mocapdata.com/ -- http://www.mocapdata.com/!/LINK!.
* The Trailer's Park: Free mocap data can also be found at the Trailer's Park,!LINK!http://www.thetrailerspark.com/ -- http://www.thetrailerspark.com!/LINK!. This site does not offer original data, but offer repacks of mocap data from other free sites for download. Free download is limited to some five packs per day, so some patience is required here.
* Hochschule der Medien, Universität Bonn (HDM):!LINK!http://www.mpi-inf.mpg.de/resources/HDM05/ -- http://www.mpi-inf.mpg.de/resources/HDM05!/LINK!
* The Perfume global site project #001:!LINK!http://perfume-dev.github.com/ -- http://perfume-dev.github.com/!/LINK!
=== MHBlenderTools: MakeWalk user interface ===
==== The user interface ====
The user > interface of MakeWalk is located in under the Armature tab, and becomes visible when an armature is selected. It consists of six panels; the first one is open by default and the others are closed.
!IMAGE!Pictures/makewalk-7_0.png!/IMAGE!
* Load And Retarget: Select a BVH file and retarget it to the active armature.
* Start Frame: The first frame in the BVH file to considered.
* Last Frame: The last frame to be considered, unless the animation stops earlier. The difference last_frame - first_frame is the maximal number of frames after retargeting. The number of frames in the BVH file may be larger, if some frames are skipped due to subsampling
* Detailed steps: When this options is selected, further buttons are show below
* Load BVH File (.bvh). Load a BVH file, and create an animated armature from it.
* Rename And Rescale BVH Rig. With the BVH armature active, and a target armature selected, rename and rescale the bones of the active armature to fit the target.
* Load And Rename BVH File (.bvh). A combination of the previous two buttons. With a target armature active, load a BVH file, and create an animated armature with renamed and rescaled bones.
* Retarget Selected To Active. Retarget the animation from a renamed and rescaled BVH armature to the active armature.
* Simplify FCurves. Simplify the F-curves of the active armature.
* Rescale FCurves. Rescale F-curevs of the active armature.What if retargeting fails?
MakeWalk is designed to retarget animations to a given armature with a minimum of user intervention. However, retargeting is a complex process, and entirely automatic retargeting may fail or result in suboptimal motion. Information about how to identify and correct problems is found in!LINK!/doc/node/blendertools_makewalk_troubleshooting.html -- Errors and Corrective Actions!/LINK!.
A common problem is that automatic identification of bones in the target armature fails. A bone map can then be assigned manually, cf.!LINK!/doc/node/blendertools_makewalk_troubleshooting.html -- Defining the Target Rig Manually.!/LINK!
==== Options panel ====
!IMAGE!Pictures/makewalk-8.png!/IMAGE!
* Use Default Subsample. Blender normally plays the animation in 24 fps or 25 fps, but the animation in the BVH file may be recorded at a different speed. In particular, the BVH files from CMU were filmed at 120 fps. Enable this option to have the animation play at natural speed, irrespective of the frame rate in the BVH file. Other subsample options are described below.
* Auto scale. Set the scale automatically based on the size of the left thigh. This choice has two motivations:
* Almost all character do have a left leg.
* The leg size is crucial for making walk cycles look good.
* Scale. The default MakeHuman scale is decimeters - 1 unit = 1 decimeter. Translations in a BVH file are expressed in different units; often the base unit is inches, meters or centimeters, but more obscure units can also occur, e.g. in BVH files from CMU. If the scale is set incorrectly, rotations will still be correctly retargeted, but the character will appear to take giant leaps or miniscule steps.
* Use Limits: If this option is enabled, MakeWalk honors any Limit Rotation constraints, and will not allow excessive rotations. If the animation in the bvh files exceeds some rotation limits, this makes the retargeted animation less faithful. On the other hand, the rig may not be built for excessive rotations, so unchecking this option can lead to other problems.
* Unlock Rotation: If this option is disabled, MakeWalk honors any rotation locks. If the animation in the bvh files bend around locked axes, this makes the retargeted animation less faithful. If Unlock Rotation is enabled, any X or Z rotation locks are disabled. Y rotation locks (bone twisting) are never disabled. The reason for this is that in the MHX and Rigify rigs, forearm rotation is handled by deform bones controlled by hand twisting.
* Auto source rig. The source rig (i.e. the armature defined by the BVH file) is specified in the!LINK!/doc/node/blendertools_makewalk_source_and_target_armature.html -- Source Armature panel!/LINK!. Enable this option if the mocap tool should attempt to automatically identify the source rig, based on the structure of the bone hierarchy.
* Auto target rig. The target rig (i.e. the armature in the blend file) is specified in the!LINK!/doc/node/blendertools_makewalk_source_and_target_armature.html -- Target Armature panel!/LINK!. Enable this option if the mocap tool should attempt to automatically identify the target rig, based on the structure of the bone hierarchy.
* Ignore Hidden Layers. Ignore bones on hidden layers when identifying the target rig.
=== Subsample and Rescale ===
If the Use Default Subsample option is set, the mocap tool will rescale the animation to fit the current frame rate. However, there are at least two reasons why you may want to load an animation at a different frame rate:
* * To obtain a slow-motion or rapid-motion effect.
* To quickly load an animation to see if the gross features will work out.
If the Use Default Subsample option is disabled, the SubSample section becomes visible.
* Subsample. Enable subsampling.
* Subsample Factor. If the value of this property is n, only every n:th frame of the BVH animation is loaded.
* Rescale. Enable rescaling.
* Rescale Factor. If the value of this property is n, the time distance between keyframes is changed to n.
* Rescale FCurves. Apply the settings above to existing F-curves rather than to the loaded animation.
Rescaling differs from simply scaling F-curves in the F-curve editor.
=== Simplification ===
* Simplify FCurves. Remove unnecessary keyframes.
* Max Loc Error. The maximal allowed error for location keyframes, in Blender units. A larger error results in fewer keyframes but less accuracy.
* Max Rot Error. The maximal allowed error for rotation keyframes, in degrees. A larger error results in fewer keyframes but less accuracy.
* Only Visible. Simplification only affect F-curves visible in the Graph editor.
* Only Between Markers. Simplification only affects F-curves between the two outermost selected markers. The timeline must have at least two selected markers.
==== Edit panel ====
Loading and retargeting is normally only the first step in the creation of an animation from mocap data. There are many reasons why a loaded animation does not behave exactly the way you want it to: artifacts in the mocap data, differences in armature structure not compensated for correctly by the retargeting process, differences in body stature between the mocap actor and the target character, or simply that the filmed sequence does not do exactly what you intend.. It is of course possible to edit the action directly in the graph editor, but this is unpractical due to the amount of mocap data. The mocap tool offers several possibilities to edit an action at a higher level. These tools are colleted in the Edit Action panel which is located just below the Options panel.
!IMAGE!Pictures/edit-action.png!/IMAGE!
=== Inverse Kinematics ===
* Transfer FK => IK: The load and retarget steps transfers an animation from a bvh file to the target character. However, only the FK bones are animated. Press this button to transfer the FK animation to the IK bones. Only works for the advanced MHX armature. If two markers are selected, only the animation between the markers is transferred.
* Transfer IK => FK: Transfer the animation back from the IK bones to the FK bones. Useful if the IK animation has been edited,
* Clear IK Animation: Remove all keyframes from all IK bones (arms and legs).
* Clear FK Animation: Remove all keyframes from all FK bones (arms and legs).
=== Global Edit ===
* Shift Animation. Shift the keys for the selected bones at all keyframes.If two markers are selected, only the keyframes between the markers are deleted.
* X,Y,Z: F-curves affected by the next button.
* Fixate Bone Locations:Replace all location keys by their average. Only selected bones and keyframes between selected markers are affected.
* Rescale Factor: Factor used by next button.
* Rescale FCurves: Rescale all F-curves by the factor above. This is similar to scaling F-curves in the curve editor, but jumps are treated correctly. E.g., rotations of +180 degrees and -180 degrees are the same, but if we scale an F-curve with a factor two, the intermedate keyframe will have the average rotation 0 degrees, The Rescale FCurves button handles this case correctly.
=== Local Edit ===
This section could be called "Poor man's animation layers". A loaded mocap animation usually has imperfections that must be edited, but without changing the overall feel of the motion. The Start Edit button creates a new animation layer where differences from the original motion are stored as keys, called delta keys since delta often denotes a difference.
* Start Edit: Start editing F-curves.
* Undo Edit: Quit F-curve editing, without modifying the original F-curves.
* Loc: Set a location delta keyframe.
* Rot: Set a rotation delta keyframe.
* LocRot: Set a location and rotation delta keyframe.
* Delete: Remove all delta keyframes at the current time.
* |<: Move to first delta keyframe
* <: Move to previous delta keyframe.
* >: Move to next delta keyframe.
* >|: Move to last delta keyframe.
* Confirm Edit: Modify the original F-curves and quit F-curve editing.
The delta keys are represented by markers in the timeline.
!IMAGE!Pictures/mwe-315-local-keys.png!/IMAGE!
A delta key can be added with the Loc, Rot and LocRot buttons, and removed with Delete. There is no way to view the delta keys directly. In the viewport and the curve editor, the final pose is shown, which is the sum of the original pose and the delta key.
A common use for delta keys is to correct for intersection with other objects or the character herself. The typical workflow is as follows:
* * Start Edit.
* Set a delta key at a good frame just before the intersection.
* Set a delta key at a good frame just after the intersection.
* Edit the pose a the frame(s) where intersection occurs.
* If the intersection has been removed, Confirm Edit. If not, set new delta keys until it has, or Undo Edit to remove the delta layer.
=== Feet ===
* Left: Affect the left foot.
* Right: Affect the right foot.
* Hips: Affect the characters hip (COM) bone.
* Offset Toes: Ensure that the toe is below the ball of the foot at all keyframes. Primarily useful for rigs with a reverse foot setup as explained below.
* Keep Feet Above Floor: If a mesh object (typically a plane) is selected, shift the keyframes to keep the affected feet above the plane. The plane does not necessarily lie in the XY plane; if the plane is tilted, the feet are kept on the plane's upper side. If no plane is selected, the feet are kept above the XY plane (z = 0). The IK feet are affected if the rig has and uses IK legs, otherwise the FK feet are kept above the floor. If two markers are selected, only the keyframes inbetween are shifted.
In a rig with a reverse foot setup, such as the MHX rig, the foot can rotate around the toe, ball, and heel. The reverse foot and toe bones are completely fixed by the corresponding FK bones, but the IK effector can be placed arbitrarily, as long as it ends at the toe tip. The transfer tool uses this freedom to make the IK effector perfectly horizontal, provided that the toe is below the ball and heel.
!IMAGE!Pictures/refoot.png!/IMAGE!
To use this feature we must ensure that the toe is below the ball of the foot, which is done by the Offset Toes button.
=== Loop And Repeat ===
!LINK! -- Loop Animation!/LINK!
Create a loop of the action between two selected time markers, by blending the keyframes in the beginning and end of the loop. This is useful e.g. to create walk and run cycles for games. For good results, the poses at the beginning and end of the selected region should be similar.
* Blend Range: The number of keyframes used for blending.
* Loop in place: Remove the X and Y components of the root bone's location.
* Loop F-curves: Loop the animation.
!LINK! -- Repeat Animation!/LINK!
Repeat the action between two selected time markers. The actions should preferably be looped before it is repeated, to make the beginning and end match seamlessly.
* Repeat Number: The number of repetitions.
* Repeat F-curves: Repeat the animation.
=== Stitching ===
Create a new action by stitching two actions together seamlessly.
* Update Action List: Update the first and second action drop-down lists.
* First Action: The name of the first action.
* First End Frame: Last frame of the first action
* Set Current Action: Set the first action as the current action.
* Second Action: The name of the second action.
* Second Start Frame: First frame of the second action.
* Set Current Action: Set the second action as the current action.
* Action Target: Choose between creating a new action and prepending the second action.
* Blend Range: The number of keyframes used for blending. Same parameter as in Loop Animations section.
* Output Action Name:
* Stitch Actions: Stitch the actions together.
=== MHBlenderTools: MakeWalk armatures ===
==== Source Armature panel ====
MakeWalk transfers an animation from a source armature, defined in a bvh file, to a given target armature. It uses an intermediate standard rig described in!LINK!http://makehuman.org/doc/node/defining_the_target_rig_manually.html -- Defining the Target Rig Manually!/LINK!. The bone map from the source armature to the target armature hence consists of two parts:
* A map from the source rig to the standard rig. It is defined in the MakeWalk: Source Armature panel.
* A map from the target rig to the standard rig. It is defined in the!LINK!http://makehuman.org/doc/node/makewalk_target_armature_panel.html -- MakeWalk: Target Armature panel!/LINK!.
!IMAGE!Pictures/mws-010-panel.png!/IMAGE!
When a new scene is opened, the panel consists of the single button Initialize Source Panel. Once this button has been pressed, the following content is available:
!IMAGE!Pictures/mws-020-auto.png!/IMAGE!
* Reinit Source Panel: Reinitialization.
* Auto Source Rig: If this option is enabled, MakeWalk will try to identify the source rig automatically. It may happen that MakeWalk fails to identify the source rig automatically, but this is very unusual. If it should nevertheless happen, it is possible to define the bone map manually in analogy with !LINK!http://makehuman.org/doc/node/defining_the_target_rig_manually.html -- how it is done for target rigs!/LINK!.
* Source rig. A list of bvh rigs recognized by the mocap tool. This either defines the expected source rig (if Auto Source Rig is disabled) or to Automatic.
* Bones in the active source rig.
==== Target Armature panel ====
The second part of the mapping from source to target armatures is defined by the panel labelled MH Mocap: Target armature. It is the top-most of the mocap tool panels, and is closed by default.
When a new scene is opened, the panel consists of the single button Initialize Target Panel. Once this button has been pressed, the following content is available:
!IMAGE!Pictures/mwt-011-panel.png!/IMAGE!
* Reinit Target Panel. Reinitialization.
* Target rig. A list of bvh rigs recognized by the mocap tool. This either defines the expected Target rig (if Auto Target rig guessing is disabled), or is set to a matching rig (if automatic target rig identificiation is enabled).
* Auto Target Rig. If this option is enabled, MakeWalk will try to identify the target rig automatically. However, automatic rig identification is not trivial for complex rigs, and it may fail. If so, the bone map may be specified manually, cf!LINK!http://makehuman.org/doc/node/defining_the_target_rig_manually.html -- Defining the Target Rig Manually!/LINK!. If the bone map is defined. The target rigs available by default correspond mostly to the rig presets that can be exported from MakeHuman
* MHX. An advanced rig from MakeHuman alpha 8.
* MH Alpha 7. The MHX rig from MakeHuman alpha 7.
* Rigify.
* Ignore Hidden Layers: Ignore bones on hidden layers during automatic rig identification.
* Reverse Hip. Select this option if the armature has an reverse hip. It is rather common that an armature has a reverse hip. In a normal hip setup, the armature root is the hip or pelvis bone, and the thighs and the rest of the spine are children of this bone. In a reverse hip setup, the first bone in the spine has been reversed. There is a separate root bone, and the two lowest bones in the spine are both children of thise root, whereas the thighs are children of the reversed hip.
* Identify Target Rig: Identify the target rig, i.e. find out how bone names in the active armature correspond to the internal names. This step is performed automatically during retargeting, but the identification can also be done separately for debugging purposes. The bone map appears in the area called FK bones below.
* Set T-pose. Pose the active armature in T-pose.
* Save T-pose. Option used by the next button.
* Save Target File. Save the current bone map as a .trg file. If the Save T-pose option is set, also save a json file defining the T-pose.
* FK bones. The bone map.
The picture below shows automatic rig identification of the Rigify meta-rig (Add > Armature > Advanced Human).
!IMAGE!Pictures/mwt-020-metarig.png!/IMAGE!
=== MHBlenderTools: MakeWalk troubleshooting. ===
==== What if retargeting fails? ====
=== Errors and Corrective Actions ===
This document will describe common errors and corrective actions.
It may happen that MakeWalk fails to retarget an animation to a given armature. In that case an error message is displayed.
!IMAGE!Pictures/mwa-100-error.png!/IMAGE!
The error message consists of the following:
Mocap error
Category
Detailed error message
A link to this page
MakeWalk errors are grouped into the following categories:
* Load Bvh File
* Rename And Rescale
* Identify Target Rig
* Automatic Target Rig
* Manual Target Rig
* Identify Source Rig
* Retarget
* General Error
Load Bvh File
Rename And Rescale
Identify Target Rig
=== Automatic Target Rig ===
The most common problem is probably that MakeWalk fails to identify the target rig automatically. There are several possible reasons for this:
* The character is not oriented correctly. In the rest pose, the character should be standing with up being the positive Z axis and facing -Y.
* The armature is complex with extra bones not corresponding to a standard biped rig.
* The armature only has IK arms or legs. MakeWalk retargets animations to the FK limbs, so if no such bones exist, the program will not work.
!IMAGE!Pictures/mwa-110-reverse-hip.png!/IMAGE!
It is rather common that an armature has a reverse hip. In a normal hip setup, the armature root is the hip or pelvis bone, and the thighs and the rest of the spine are children of this bone. In a reverse hip setup, the first bone in the spine has been reversed. There is a separate root bone, and the two lowest bones in the spine are both children of thise root, whereas the thighs are children of the reversed hip.
!IMAGE!Pictures/mwa-120-reversehip.png!/IMAGE!
The advantage of such a setup is that the upper and lower body can be posed independently. However, MakeWalk failes to identify the bones, unless the Reverse Hip option has been enabled.
If automatic bone identification still fails, bone mapping has to be made manually. How this is done is described in the next section.
=== Defining the Target Rig Manually ===
Internally, MakeWalk retargets animations to an armature with the following bone hierarchy.
Here is a visual illustration of the bone hierarchy:
!IMAGE!Pictures/mwa-010-armature.png!/IMAGE!
In order to retarget to an armature with different bone names, we must define a map between the given bones and the internal names. By default, MakeWalk attempts to do this automatically. However, automatic bone mapping may easily be confused for non-trivial rigs. If this happens, one can define the bone map manually.
A bone map for a target armature is defined by a .trg file located in the target_rigs folder under the makewalk directory. The folder already contains three files, for retargeting the MHX advanced rig, the MakeHuman, and Rigify. These rigs are too complicated to identify the bone map automatically, so MakeWalk recognizes these rigs and use the predefined bone map.
Create a .trg file using an existing file as a template. E.g., a .trg file could look like this:
Note that it is not necessary to define maps to all bones. Bone names must not contain spaces, since whitespace is used as a delimiter in the .trg file. If the bones in your armature do contain spaces, replace them by underscore ( _ ). MakeWalk treats space and underscore as equivalent, so this is not a problem, except for very strange naming convention.
!IMAGE!Pictures/mwa-020-myrig.png!/IMAGE!
Save the .trg file with the name my_rig.trg in the target_rigs folder and press the Reinit Target Panel button. My_Rig should now appear in the Target rig list. Select it. In the FK bones sections, the My_Rig bone names are now listed. Make sure that the Auto Target Rig option is deselected, to override automatic bone mapping. Finally go to the main panel and press Load And Retarget. The animation should now be loaded.
=== MHBlenderTools: MakeWalk utilities ===
==== Utilities panel ====
This panel contains material that does not naturally fit into the other panels.
!IMAGE!Pictures/mwu-010-panel.png!/IMAGE!
=== Default Settings ===
* Save Defaults: Save current settings as the default settings.
* Load Defaults: Load the default settings from file.
=== Manage Actions ===
* Actions: A list of all actions in the scene, at the time when the Update Action List button was last pressed.
* Filter: If selected, only actions belonging to the active character are included in the action list. When the mocap tool creates an action, the first four letters in the action name are taken from the rig name.
* Update Action List:
* Set Current Action: Set the action selected in the Actions list as the active action.
* Delete Action: Permanently delete the action selected in the Actions list. The action must have zero users. It is quite cumbersome to permanently delete actions in Blender. The reason is that creating an action with hand animation takes much work, which should not be lost accidentally. The situation is different with mocap, where it is easy to fill up a blend file with many irrelevant actions. This button makes it easier to clean out such junk motions.
* Delete Temporary Actions: Some tools create temporary actions, whose names start with a hash sign (#). Deletes all such actions.
=== Temporary properties ===
* Delete Temporary Properties. MakeWalk creates some properties for relevant posebones during retargeting. Pressing this button removes these properties. However, be aware that some of the tools in the Edit panel may fail if the temporrary properties are deleted.
The temporary properties for the active posebone can be inspected in the N-panel.
!IMAGE!Pictures/mwu-030-temp-props.png!/IMAGE!
* McpBone: The name of this bone in the internal hierarchy.
* McpParent: The parent of this bone in the internal hierarchy.
* McpQuatW, McpQuatX, McpQuatY, McpQuatZ: The rotation of this bone in T-pose, represented as a quaternion.
=== T-pose ===
* Set T-pose: Set the current pose to T-pose.
* Clear T-pose: Set the current pose to the default pose.
* Load T-pose: Load a T-pose from a .json file to the active armature.
* Save T-pose: Save the current pose as a .json file.
=== Rest Pose ===
* Current Pose => Rest Pose: Set the current pose to rest pose.
=== MHBlenderTools: MHX importer basic usage. ===
MHX (MakeHuman eXchange format) is a custom format used to transfer a rigged character from MakeHuman to Blender. Due to its tight integration with Blender's python API, it supports advanced features like constraints, drivers and properties that general-purpose formats like Collada or FBX do not support.
==== Export From MakeHuman ====
!IMAGE!Pictures/mx010-export.png!/IMAGE!
After the character has been designed in MakeHuman, go to the Files > Export tab and select Blender exchange (mhx) as the Mesh format. Type the character's name in the box at the top and press export. An mhx file has been exported.
==== Import Into Blender ====
Once the mhx importer has been enabled, we can import the mhx file. Select File > Import > MakeHuman (.mhx).
!IMAGE!Pictures/mx070-import.png!/IMAGE!
In the file selector, navigate to the file that we just exported from MakeHuman, i.e. John Doe.mhx in the export directory. After a short while, the character appears in the viewport, ready for posing.
!IMAGE!Pictures/mx080-import.png!/IMAGE!
=== MHBlenderTools: MHX default rigging ===
If pose/animate > skeleton is set to 'None' when the character is exported from MakeHuman in .MHX format, the character is equipped with the default MHX armature. This is a rather complex rig with quite a few features.
The bones are grouped into bone layers. Bone layers can be turn on and off in the MHX Main panel that appears in the user interface pane (N-pane), which is found to the right of the viewport. N-pane visibility can be toggled on and off with N-key.
The Root Layer
!IMAGE!Pictures/mx210-root.png!/IMAGE!
There are two bones on the Root layer:
* master: the big bone located at the foot level. It is the ultimate parent of every other bone in the rig, and can be used to move the entire character, including ik effectors.
* root: the wiggly bone located at the character's center of mass. It also moves the entire character, but IK effectors remain at a fix position.
The Spine Layer
!IMAGE!Pictures/mx220-spine.png!/IMAGE!
The spine is an immedate child of the root bone.
* spine:
* spine-1:
* chest:
* chest-1
* neck
* head
On this layer the two clavicle bones are also found. They are children of chest-1 and also appear on the arm layers.
The Head Layer
!IMAGE!Pictures/mx230-head.png!/IMAGE!
This layers contains the bones of the head (not the Neck and Head bones, however).
* jaw: Jaw bone
* tongue_base: Inner part of tongue.
* tongue_mid: Middle part of tongue.
* tongue_tip: Outer part of tongue.
* eye.L: Left eye.
* uplid.L: Left upper eyelid.
* lolid.L: Left lower eyelid.
* eye.R: Right eye.
* uplid.R: Right upper eyelid.
* lolid.R: Right lower eyelid.
* gaze. Target that the left and right eyes are tracking.
The FK Arm Layers
!IMAGE!Pictures/mx240-fkarm.png!/IMAGE!
The left forward kinematics (FK) arm layer consists of:
* clavicle.L: Left clavicle.
* deltoid.L Left deltoid muscle.
* upper_arm.fk.L: Left FK upper arm (humerus).
* forearm.fk.L: Left FK forearm. Y rotation is locked on this bone. To twist the forearm, rotate the hand bone instead.
* hand.fk.L: Left FK hand.
The bones on the right FK arm layer are analogous.
Note that there are two shoulder bones: clavicle and deltoid. It is not trivial to pose the shoulder, and with two shoulder bones better deformation is possible. The drawback is that an additional bone must be posed. However, in the common case that the arm is well below shoulder level, the deltoid bone can often be ignored.
The FK Leg Layers
!IMAGE!Pictures/mx250-fkleg.png!/IMAGE!
The left FK leg layer consists of:
* thigh.fk.L: Left FK thigh.
* shin.fk.L: Left FK shin.
* foot.fk.L: Left FK foot.
* toe.fk.L: Left FK toes.
THe right FK layer is analogous.
The Finger Layers
!IMAGE!Pictures/mx260-fingers.png!/IMAGE!
The long fingers on the Finger layers give a quick way to pose the fingers; the poses can be fine-tuned with the individual finger links on the Links layer. The bones on the left Finger layer are:
* thumb.L: Left long thumb.
* index.L: Left long index finger.
* middle.L: Left long middle finger.
* ring.L: Left long ring finger.
* pinky.L: Left long pinky.
The bones on the right Finger layer are analogous.
Rotating a long finger around the local X will cause all finger links to curl (rotate around local X). Rotation around local Z only affects the first finger link.
The Finger Link Layers
!IMAGE!Pictures/mx270-links.png!/IMAGE!
Each of the Finger Links layers contains fourteen bones; two for the thumb and three for each other finger. They are used to fine-tune the finger pose, once a rough pose is achieved with the long finger bones.
The Palm Layers
!IMAGE!Pictures/mx280-palm.png!/IMAGE!
The left Palm layer contain the meta-carpal bones:
* thumb.01.L: Parent of the left thumb bones.
* palm_index.L: Parent of the left index finger bones.
* palm_middle.L: Parent of the left middle finger bones.
* palm_ring.L: Parent of the left ring finger bones.
* palm_pinky.L: Parent of the left pinky bones.
The bones on the right Palm layer are analogous.
The IK Arm Layers
!IMAGE!Pictures/mx300-ikarm.png!/IMAGE!
The arms are controlled by FK by default, but inverse kinematics (IK) can also be used. To quickly switch between FK and IK, press the buttons labelled FK or IK in the MHX FK/IK Switch panel, which appears in the N-panel if an MHX armature is the active object.
* clavicle.L: Left clavicle. Same bone as on FK layer.
* deltoid.L: Left deltoid. Same bone as on FK layer.
* hand.ik.L: Left hand IK effector. Positions and rotates the hand. Also controls forearm twist.
* elbow.pt.ik.L: Left elbow pole target. Controls the location of the elbow, which lies in the plane spanned by the arm socket (head of upper arm), wrist (tail of forearm), and elbow pole target.
* elbow.link.L: A rubberband that connects the elbow to the elbow pole target. This bone is merely a visual cue; has no effect and can not be selected.
The bones on the right IK arm layer are analogous.
The IK Leg Layers
!IMAGE!Pictures/mx310-ikleg.png!/IMAGE!
The legs are controlled by FK by default, but IK can also be used. To quickly switch between FK and IK, press the buttons labelled FK or IK in the MHX FK/IK Switch panel, which appears in the N-panel if an MHX armature is the active object.
* foot.ik.L: Left hand IK effector. Positions and rotates the hand.
* toe.rev..L: Left reverse toe.
* foot.rev.L: Left reverse foot.
* knee.pt.ik.L: Left knee pole target. Controls the location of the knee, which lies in the plane spanned by the leg socket (head of thigh), ankle (tail of shin), and knee pole target.
* knee.link.L: A rubberband that connects the knee to the knee pole target. This bone is merely a visual cue; has no effect and can not be selected.
* shin.ik.L: The foot bones and the pole target control the thigh and shin rotation, except for the twist (local Y rotation) of the shin, which is handle by this bone instead. The IK shin bone does not affect the bending of the shin, only the twisting.
The bones on the right IK leg layer are analogous.
!IMAGE!Pictures/mx320-revfoot2.png!/IMAGE!
The IK leg has an reverse foot setup, which allows the foot to rotate around the toe, ball, and heel.
* foot.ik.L: Rotate around heel.
* toe.rev.L: Rotate around toe tip.
* foot.rev.L: Rotate around ball.
FK-IK Snapping
In a rig with both FK and IK, it is useful to be able to switch between the two seamlessly. To this end, the MHX FK/IK Switch panel contains buttons to snap the IK to FK and vice versa, in such a way that the character's pose remains unchanged.
!IMAGE!Pictures/mx330-fkik2.png!/IMAGE!
To snap the IK bones to the FK pose, press the buttons
* Snap L IK Arm
* Snap R IK Arm
* Snap L IK Leg
* Snap R IK Leg
respectively. Note that the FK buttons at the top of the panel change to IK.
!IMAGE!Pictures/mx340-ikfk2.png!/IMAGE!
To snap the FK bones to the IK pose, press the buttons
* Snap L FK Arm
* Snap R FK Arm
* Snap L FK Leg
* Snap R FK Leg
respectively. Note that the IK buttons at the top of the panel change to FK.
The Tweak layer
!IMAGE!Pictures/mx360-tweak2.png!/IMAGE!
This layer contains some rarely used bone that in some cases are useful to tweak a pose.
* breast.L: Controls rotation of left breast. Useful mainly for female characters.
* arm.socket.L: The left arm socket. Allows the left upper arm (FK and IK) to be moved away from the deltoid bone.
* leg.socket.L: The left leg socket. Allows the left thigh (FK and IK) to be moved away from the hip.
The right-side bones (with suffix .R) are defined analogously.
!IMAGE!Pictures/mx370-markers2.png!/IMAGE!
The Tweak layer also contains marker bones. They are used by MakeWalk to determine the location of the toe, ball and heel, so they can be moved up above floor level. Move these bones in Edit mode to fine-tune their locatation. The marker bones on the left side are:
* toe.marker.L: Left toe marker.
* ball.marker.L: Left ball marker.
* heel.marker.L: Left heel marker.
The marker bones on the right side are analogous.
The MHX Control Panel
The default behaviour of the MHX rig can be modified by changing some properties in this panel.
!IMAGE!Pictures/mx410-gaze2.png!/IMAGE!
* GazeFollowsHead: If 1.0, the gaze bone is parented to the head. If 0.0, the gaze bone remains fixed in space (it is parented to the master bone).
* RotationLimits: If 0.0, all Limit Rotation constraint is ignored. If 1.0, they are honored. Default = 0.8.
!IMAGE!Pictures/mx420-hinge2.png!/IMAGE!
* ArmHinge, Left and Right: Determines whether the arm rotates when the shoulder does.
* FingerControl, Left and Right: Determines whether the finger links are parented by the long fingers (the default), or if the long fingers are to be ignored.
!IMAGE!Pictures/mx430-leghinge2.png!/IMAGE!
* LegHinge, Left and Right: Determines whether the leg rotates when the hip does.
!IMAGE!Pictures/mx440-legik2ankle2.png!/IMAGE!
* LegIkToAnkle, Left and Right: If turned on, the reverse foot setup is disabled, and the ankle bones on the Extra layers become the effectors for the IK legs.
=== MHBlenderTools: MHX other rigging systems ===
By default (i.e., if Pose/Animate > Skeleton is set to 'None') a character is exported as an mhx file is rigged with the MHX rig, which is a rather complex rig with many options. Alternatively, the character can be rigged with a simpler and ligher armature by choosing an alternate Rig Preset under Pose/Animate > Skeleton.
!IMAGE!Pictures/mx710-other-rig2.png!/IMAGE!
To this end, select one of the rigs in the Pose/Animate > Skeleton tab. A skeleton is drawn. Export the character from MakeHuman as an mhx file.
To reselect the default mhx rig, press None in the Pose/Animate > Skeleton tab.
!IMAGE!Pictures/mx720-other-blender2.png!/IMAGE!
Import the mhx file into Blender. Note that there are fewer bone layers available in the MHX Main panel.
==== Using the Rigify rig ====
As an alternative to the mhx rig, MakeHuman characters can also be rigged with the popular Rigify add-on by Nathan Vegdahl. Links to documentation about Rigify in general:
!LINK!http://wiki.blender.org/index.php/Extensions:2.6/Py/Scripts/Rigging/Rigify -- Official Rigify documentation!/LINK!
!LINK!http://blenderartists.org/forum/showthread.php?200371-Rigify-Auto-rigging-system-new-and-improved -- Blenderartist thread!/LINK!
!IMAGE!Pictures/mx810-rigify-export2.png!/IMAGE!
To use Rigify, the character must first be prepared in MakeHuman. Select the Export for Rigify checkbox in the Options group and export the file. This checkbox overrides any other rig selected under the Skeleton tab.
!IMAGE!Pictures/mx820-rigify-enable2.png!/IMAGE!
In Blender, enable the Rigify add-on. It is found in the Rigging category. Press Save User Settings to remember the choice.
!IMAGE!Pictures/mx830-rigified2.png!/IMAGE!
Import the mhx file as usual. John Doe is now rigged with Rigify and ready for use.
!IMAGE!Pictures/mx840-norigify2.png!/IMAGE!
If the Rigify add-on is not enabled, an intermediate rig is imported and an error message appears. If this happens, open a new Blender file, enable Rigify, and try again. Alternatively, you may select the armature and press the Rigify MHX Rig button that appears in the N-panel (after you have enabled the Rigify add-on, of course).
Disclaimer: MakeHuman has no control of the Rigify add-on. Rigify support was tested with Blender 2.69. If the specification of Rigify changes in the future, mhx file exported for Rigify may cease to work.
=== MHBlenderTools: MHX Layers and masks ===
The mhx importer creates objects on the first four layers.
!IMAGE!Pictures/mx900-layers2.png!/IMAGE!
* * This layer contains the body, including hair, eyes, etc.
* This layer contains the armature.
* This layer contains any clothes. Empty if the character is nude.
* This layer contains any proxy meshes. Empty if no proxy mesh was exported.
Note that a proxy mesh does not replace the original human mesh, but is added as a separate object. If you only want to use the proxy mesh, the body can be deleted. However, the proxy mesh (perhaps slightly edited) has several uses apart from simply replacing the body, e.g. as a deflection surface for cloth simulation, or to speed up viewport performance when animating. It is therefore up to the user to decide which meshes to delete.
!IMAGE!Pictures/mx920-unmasked2.png!/IMAGE!
Vertices beneath clothes are hidden, to avoid ugly penetration issues. The picture above illustrates what may happen if skin under clothes is not hidden.
!IMAGE!Pictures/mx910-mask2.png!/IMAGE!
However, skin beneath clothes is not removed, only hidden by masks. This becomes evident if in edit mode, where the entire body is visible. To undress the character, deselect the clothes layer (layer 3), and disable all mask modifiers. Don't forget to disable the mask modifier for rendering as well.
With the mask modifiers, it is possible to export a character from MakeHuman with several different outfits, and select the outfit and hidden body vertices in Blender.
If you wish to delete the hidden vertices permanently, e.g. to improve performance or for export to some other application, apply the relevant mask modifiers.
=== MHBlenderTools: MakeClothes rigid fitting ===
The standard clothes fitting algorithm is suitable for flexible clothes, especially clothes that follow the body closely. However, is does not work well for rigid objects like shoes, Therefore, MakeClothes has a variant suitable for rigid shoes. Rigid fitting is used on a vertex group basis, so rigid and flexible fitting can be mixed in the same piece of clothing.
Rigid fitting is used for every vertex group whose name starts with a '*'. Each such vertex group in the human must contain exactly three vertices, that determine the triangle used for fitting in this group.
!IMAGE!Pictures/rf-100-orig.png!/IMAGE!
The use of rigid vertex groups is best explained by an example. Consider a pair of shoes, which is a rigid object. We used the standard MakeClothes settings and an adult human with the original shoe to the left. Then the mhclo file was loaded onto a baby, with the result to the right. The shoe is recognizable but it has been deformed in an undesirable way. However, even though the quality of the fitting is poor, make sure to save the mhclo file, because we will need it at the end of this tutorial.
!IMAGE!Pictures/rf-110-projection.png!/IMAGE!
Each clothing vertex v is associated with a triangle t in the human mesh, i.e. three human vertices v1, v2, v3. Letrdenote the location of v andr1,r2,r3the locations of the corners of the triangle. Further, let d be the perpendicular distance from the clothes vertex to the plane spanned by the triangle. MakeClothes assigns three weights w1, w2, w3, such that
r= w1r1+ w2r2+ w3r3+d,
where the sum of weights w1+ w2+ w3= 1. When the clothing is loaded onto a different character, the new location becomes
r'= w1r'1+ w2r'2+ w3r'3+d',
wherer'1,r'2,r'3are the locations of the three human vertices in the new character, and
d' = Sd= (sxdx, sydy, szdz)
is obtained from the original offsetdby inhomogeneous global scaling with the diagonal scale matrix
S = diag(sx, sy, sz).
The important observation is that the quality of the fitting depends crucially on the chosen triangle, i.e. the triple of human vertices the determines the clothes vertex location. The standard choice is to choose the human triangle closest to to clothing vertex. In rigid fitting the triangle is the same for all vertices, and is defined by the tree vertices in the vertex group.
!IMAGE!Pictures/rf-120-vgroups.png!/IMAGE!
Here we see the vertex groups used to fit the left shoe. The standard vertex group Left consists of all vertices close to the left shoe, in the tights helper. On the other hand, the rigid vertex group *Left only contains three vertices that define the single triangle used for all clothes vertices in this group.
!IMAGE!Pictures/rf-130-triangles.png!/IMAGE!
The next illustration shows the corresponding triangles used for fitting. The Left group uses many triangles obtained by triangulating the corresponding faces. Different shoe vertices are associated with triangles that are transformed differently, and the rigid character of the shoe is lost. The *Left group only has one single triangle, with corners at the three vertices in the vertex group. The same triangle is used by all left shoe vertices.
!IMAGE!Pictures/rf-140-rename-vgroups.png!/IMAGE!
Once the human vertex groups have been defined, we proceed with clothes-making. Rename the shoe vertex groups to *Left and *Right, to make the shoes use rigid fitting. Recall that the human can have several overlapping vertex groups, but in a piece of clothing each vertex must belong to exactly one group.
!IMAGE!Pictures/rf-150-offset-scaling.png!/IMAGE!
Next we open the Offset Scaling section and select Foot as the body part. In flexible fitting, the offsets are usually very small, and selecting the correct body part is not so important. In contrast, this step is very important in rigid fitting, because many vertices are far away from their triangles and the offsets must be scaled correctly. Press Examing Boundary for a visual inspection of which vertices define the global scale matrix..
!IMAGE!Pictures/rf-160-baby-shoes.png!/IMAGE!
This picture shows the shoe loaded on a baby, using flexible fitting (blue) and rigid fitting (red). Rigid fitting clearly maintains the shape of the shoe much better.
However, one problem remains: bone weighting. Start up MakeHuman and load the shoes under the Geometries > Clothes tab. Export the character with a rig in one of the formats that allows that, e.g. mhx, and import the character into Blender. Now try to pose the feet. As we see in the picture below, the shoe does not follow the foot but is squashed or stretched in strange ways.
!IMAGE!Pictures/rf-170-bad-deformation.png!/IMAGE!
The reason is that rigid fitting affects the bone weights as well as the vertex locations. The bone weights are interpolated between the three corners of the triangle, rather than using the information from the entire foot. To correct this we need to use two different associations between clothes and human vertices: rigid fitting for vertex locations, but flexible fitting for bone weights.
Fortunately, MakeHuman can handle this situation, although there is currently no elegant interface for it in MakeClothes. In a text editor, open the mhclo file obtained by standard fitting in the beginning of this tutotial (this is why you needed to save it), and copy everything after the line
verts 0
to the end of the new mhclo file obtained by rigid fitting. Before the copied section, insert the line
weighting_verts
Export the shoes again from MakeHuman and import into Blender. The shoes should now both maintain their rigid shape and deform correctly.
!IMAGE!Pictures/rf-190-good-deformation.png!/IMAGE!
Due to an unfortunate behavior in MakeHuman, it is possible that the updated mhclo file is not loaded after it has replaced the old one. This is because MakeHuman automatically compiles mhclo and obj files when loaded, so they can be loaded faster next time. Although this behavior is convenient for ordinary users, it is very confusing and frustrating for clothes makers. If MakeHuman insists on loading old versions of your clothes, you may need to delete the compiled files (*.mhpxy and *.npz), or restart MakeHuman, or both. After the compiled files are gone, the updated clothes should load without problems.
!IMAGE!Pictures/rf-180-compiled-files.png!/IMAGE!
== Developers' note ==
Some notes about how to obtain the source code, modify it and share it.
=== Makehuman Plugin System ===
==== Plugins ====
Makehuman has a simple plugin framework which makes it easy to add and remove features. At startup, MakeHuman now looks for .py files in the plugins folder which are not starting with an underscore (which makes it easier to disable unwanted plugins). It loads them one by one and calls the load entry point passing a reference to the application. The plugin can use this reference to add the necessary GUI widgets or code to the application.
The rules for plugins are very simple:
* A plugin is a .py file in the plugins folder with a load entry point.
* A plugin only imports core files.
The reason a plugin cannot import other plugins is that it would make it difficult to know which files belong to which plugin. We still need to define a convention for shared files beyond the core MakeHuman files. To get started look at example.py or any of the other plugins to see how you can create your own feature in MakeHuman.
==== GUI ====
The main layout is a two level tab control. The tabs at the top represent categories, like files. modelling, geometries, materials, etc. The ones at the bottom are the tasks in the current category and refine the more broad category in face, torso, gender, saving, loading, exporting etc.
So when creating your plugin, the first thought should be “In which category does it belong?”. From experience we know that it can be a though question to answer. Sometimes the only answer is adding a new category. This is what we initially did for measurement for example
Next you probably want your own task to implement your feature. While it’s possible to attach functionality to an instance of gui3d.Task, it’s often easier to derive your own class.
When you create an instance of your class, you pass the parent of your task, which can either be an existing category
or the new one which you added.
In your derived task you will then add the necessary controls to let the user interact. A good place to see how to use the different controls is the example plugin. You will see that even if you don’t add any controls, the model is already visible. This is because the model is attached to the root of the GUI tree. In the onShow event of your task you might want to reset the camera position, like we do in the save task, or hide the model, like we do in the load task. Just don’t forget to reset the state when your task gets hidden in onHide.
==== Undo-redo ====
It is important that every modification is undoable, since just one undo able modification would leave the user without the possibility to undo anything. So it’s crucial that if you write a plugin which modifies the model, you also make undo work.
The Application class has several methods to work with actions. An action is a class with two methods, do and undo. If the action itself does the modification you can use app.do to add it to the undo stack. If you did the modification yourself already during user interaction, you can add the action using app.did. The application won’t call the do method of the action in that case.
If you want to make your own undoredo buttons, you can use app.undo and app.redo. To illustrate, here is the action we use to change the hair color:
The postAction is a handy way to specify a method to keep your GUI in sync with the changes.
==== Asynchronous Calls and Animation ====
When doing lengthy operations it is important not to block the GUI from redrawing. Since everything runs in one thread, it is easy to block the event loop in your plugin. There are 4 ways to avoid this, depending on the need. If no user interaction is needed, a progressbar can be used. A progressbar uses the redrawNow() method of the application. This redraws the screen outside the event loop. Instead of creating your own progressbar, it is advised to use the progress method, which uses the global progressbar. Calling progress with a value greater than zero shows the progressbar, a value of zero hides it.
If user interaction is desired during the operation, either asynchronous calls, a timer or a thread can be used. Asynchronous calls are used when a lengthy operation can be split in several units. It is used for example in the startup procedure as well as for the plugin loading loop. The mh.callAsync(method) queues the calling of method in the event loop, so it will be called when the event gets processed. In case different methods need to be called after each other, as in the startup procedure, callAsync is used to call the next method.
In case of the plugin loading loop, it calls the same method until it is done.
This is not to be used for animations, as it takes very little time between calling callAsync and the event loop calling the method. Calling time.sleep(dt) to avoid this should not be done as it blocks the main thread. For animations use timers instead. An example of this can be found in the BvhPlayer plugin. The method mh.addTimer(interval, method) adds a timer which calls the given method every interval milliseconds. It returns a value to be used by removeTimer to stop the timer.
If a lengthy operation includes blocking on sockets or pipes, it is advised to use a python thread. However this has been shown to be problematic on Linux. To get around the problems on linux you should not access any makehuman structures from within your thread, but use mh.callAsync to call the methods from the main thread. See the clock plugin example for example code on how to use threads correctly.
==== A template for plugins ====
Looking in the makehuman source folder, in the "plugin" directory, you will notice a file called "7_example.py". This is an "Hello world" plugin. It includes all main controls and some nice example of mesh manipulation. It's designed to be used as template of new plugin.
To see how it works, you need to enable it in the Preferences->Setting. Then it will be located at Utilities-->Example.
!IMAGE!Pictures/UtilitiesExampleTab3.png!/IMAGE!
==== Example Controls ====
!IMAGE!Pictures/UtilitiesExampleControls.png!/IMAGE!
=== OpenGL Notes ===
Most of the 3D mesh handling functionality is delivered using OpenGL embedded within the C application code. OpenGL is a 3D graphics library that enables a 3D world to be defined, with a camera, objects, lights, textures etc. It then enables that 3D world to be visualised as a 2D representation that can be displayed on a computer screen and provides functions to enable an application (in response to user input) to navigate around the scene.
==== Basics ====
OpenGL takes a 3D scene and draws it into a 2D viewing area on your screen known as the viewport. OpenGL can project the scene onto the viewport in a variety of different ways, but the most common are:
* Perspective projection, as you would get if you could place a camera in the scene
* Orthographic projection, as a draftsman may contstruct technical drawings such as plans and elevations.
MakeHuman only uses Perspective projection.
==== Projection Transformation ====
You tell OpenGL how to project 3D objects onto the 2D viewport by defining a projection transformation, which indicates whether you wish to use perspective or orthographic projection (or an alternative projection pattern) and specifies other projection settings. This can be imagined as being comparable to specifying the characteristics of a camera (field of view, aspect ratio etc.) where an orthographic projection is equivalent to a camera at an infinite distance. The main difference being that with OpenGL you can change the settings between drawing different objects, which is a bit like taking a photo, changing the lens and moving the camera, then taking another photo without winding the film on.
MakeHuman sets a perspective projection using the function gluPerspective(fovAngle,aspectRatio,near,far) where:
* fovAngle: is the vertical field of view angle (45 degrees)
* aspectRatio: is the viewport width divided by the viewport height which, by default, is 800/600 (4/3)
* near: is the distance to the centre of the viewing plane (0.1)
* far: is the distance to the centre of the rear clippling plane (100)
==== Modelview Transformation ====
For OpenGL to know what to display in the viewport it also needs to know where the camera is relative to the 3D model. For this you need to define a modelview which defines the position and orientation of the camera and the position and orientation of objects that go to make up the model inside a virtual 3D world. You do this by moving through and around the 3D world and by creating objects relative to your current position. OpenGL keeps track of your current position and orientation in the 3D world by recording the modelview transformation.
Both the projection transformation and the modelview transformation are stored internally in 4x4 transformation matrices. You can modify these matrices by calling functions that apply direct transformations (translations and rotations) or by calling functions that calculate transformations (e.g. the gluPerspective function outlined above).
To apply transformations you need to first make one of these matrices the current matrix. Subsequent transformations are applied cumulatively to the current matrix. The glMatrixMode function is used to set the current matrix mode:
* glMatrixMode(GL_PROJECTION) makes the projection transformation the current matrix so that projection settings can be applied, such as the field of View angle and Aspect Ratio.
* glMatrixMode(GL_MODELVIEW) makes the modelview transformation matrix the current matrix so that subsequent translations and rotations move the current location through the 3D world.
==== Resetting a transformation matrix ====
Matrix transformations that you apply are applied cumulatively. It is therefore often necessary to reset the matrix to its default ‘no transformation’ state so that you can apply a fresh set of transformations. OpenGL uses the transformation and modelview matrices to transform coordinates by performing a matrix multiplication. If you multiply by an identity matrix then the result is the same as the thing you started with, so to reset one of these matrices to an initial state where the transformation has no effect you can simply load the identity matrix using the function glLoadIdentity(). This loads the identity matrix into whichever transformation matrix is currently active, resetting it to the default ‘no transformation’ state.
==== Coordinates ====
OpenGL world space coordinates are unitless, so 2 units can represent milimeters, inches or light years. Interpretation of world space coordinates is up to the application. OpenGL uses a right handed coordinate system, so, if you are looking at the origin with the +X axis stretching away to the right and the +Y axis pointing straight up, the +Z axis will be heading out of the screen straight towards you and the -Z axis will be dissapearing away from you into the distance.
MakeHuman uses the default OpenGL modelview camera settings which are equivalent to invoking gluLookAt(0,0,0, 0,0,-1, 0,1,0). This places the camera at the origin, looking straight into the model along the -Z axis with the +Y axis pointing straight up. This means that a 2 unit wide and 2 unit high object centred at <0,0,-1> will roughly fill the viewport, as will a 4x4 object at twice the distance from the viewpoint.
==== Drawing objects ====
MakeHuman contains multiple objects. The Humanoid object is the main object, but it is surrounded by a set of control objects. Each object is constructed using triangular faces. The position and orientation of each face is defined relative to the object of which it is a part. The positions and orientations of the vertices and normals of the faces are defined relative to the face they’re on. The sequence in which face vertices are defined is significant in OpenGL. If the face is viewed from the front, the sequence of points runs counter clockwise. If the face is viewed from the back the points run clockwise. Faces viewed from behind may be invisible or may have a different color/texture defined to the front face. This order is also called the "winding order" of vertices, and is used by MakeHuman to calculate the normal of each face. If the winding order is reversed, the normal will be flipped. The glPushMatrix and glPopMatrix functions can be used to store away a copy of a matrix that can subsequently restored. MakeHuman uses this before and after drawing each object to store a copy of the modelview matrix and restore it.
=== Directory structure and core modules ===
Overview
There are 10 main source folders with the main MakeHuman folder in the SVN repository:
* apps
* core
* data
* docs
* icons
* lib
* licences
* plugin
* shared
Of these, two folders: (licenses and docs) are associated with the general housekeeping and installation aspects of MakeHuman. Details of the housekeeping folders will be summarized, where relevant, elsewhere in the documentation. The remaining folder are discussed below.
Directory Structure and the Build System
During the pyinstaller build process, only files in the makehuman/data/ directory are included as data files, which means that any other data files will be skipped, causing file not found errors. Thus, the developer should place all data files under the data/ folder. The idea is to be able to cleanly identify what is data to be loaded at run time.and what is code that can be compiled at build time. One exception here is target (data) files that can optionally be precompiled to binary files at build time even though their binaries will reside in the data/ directory. The rational for this is that target files are static data core assets and should therefore naturally reside in makehuman/data/, but by compiling target files at build time, the size of the build distribution can be reduced and program startup times can be minimized
The files in makehuman/plugins/ form a second exception to data is "loaded at runtime" and code is "comiled at build time". Files in the makehuman/plugins/ folder are kept as a "side effect" of the fact that the makehuman/plugins/ path is included as data. It is included as data to make it possible to load plugins at runtime by inspecting the folder. Plugins are compiled as well, though. This does not mean that data may be stored in makehuman/plugins/ as this practice threatens logical organization of code and data, and it is not guaranteed that this will keep working in the future.
Plugins should never be used as imported modules in other plugins or, even worse, in a core module. Currently, the core plugins of MakeHuman all start with a digit (e.g., import 9_export_mhx). This is done intentionally to prevent their improper import into other modules in the program because imports of a module starting with a digit will produce a syntax error. Core plugins that require data, for example those related to .mhx export, should make use of a subfolder in the makehuman/data/ path (makehuman/data/mhx/).
Third-party plugins might have slightly greater lattitude about including data than core assets, but the clean separation of code and data is strongly encouraged. Therefore, third-party plugin developers should place data in makehuman/plugins/pluginName/data to make it easily identifiable.
makehuman/data/ folder
Most operating systems set aside separate storage space for code and data, and programs can generally not write data to their own directory structure. In addition, most OS support the notion of multiuser login, and support separate writable data areas for each user to customize. MakeHuman includes some "fixed data assets" that are intrinsic to the program. These data assets are save in the programs data folder within the program itself. However, MakeHuman also makes provision for third-party and user developed assets like additional clothes, additional hairstyles, etc. These latter assets are not saved in the program area but rather are save in user writable areas under the path userhome/makehuman/. For example, on Windows 7 systems this would be "Docuements/makehuman". In populating asset lists, the library holdings are generated based on the fact that syspath/data/itemtype and userhome/data/itemtype can coexist.
Themakehuman/data/ folderdoes not contain any codeper se. As its name implies this folder contains the basic data resources that ship with MakeHuman. Often, during the development and building of MakeHuman, a given resource may exist in multiple formats. Many if not most resources initially exist as “text-based” files which are stored in the data directory with an appropriate extension (see section of file extensions). When MakeHuman is built for distribution on supported platforms, these text-based data resources are compressed into .npy format to produce a smaller and more rapidly loading distribution package. Typically, the original text-based data files do not ship with standard, downloadable installation builds but instead, the corresponding compressed versions are distributed.
The data folder contains many subfolders which correspond to unique data assets. The details of these assets will not be discussed here, but the reader can get a general idea of asset types just by reviewing the folder names.
3dobjs, animations, bvhs, expressions, eyebrows, eyes, genitals, hair, icons, languages, litspheres, materials, mhx, poses, povray, proxymeshes, rigs, scenes, shaders, skins, targets, textures, themes, uvs, vertesgroups, visemes.
Many of these data subfolders have subfolders themselves, but generally, this organization is easily discovered just by looking.
Four of the data subfolders (eyes, hair, and clothes) are directed at important geometry assets of the MakeHuman model. MakeHuman supplies a special tool that lets developers or even end-users design additional assets using the 3D modeling program Blender. The name for this tool isMakeClotheseven though it supports the development of the other geometries as well.
==== /makehuman/apps/ ====
* catmull_clark_subdivision.py- an implementation of the!LINK!http://en.wikipedia.org/wiki/Catmull%E2%80%93Clark_subdivision_surface -- catmull clark subdivision algorithm.!/LINK!
* devtests.py- testing and development use only, and can safely be ignored.
* human.py- contains the Human class, which is the core data structure for MakeHuman model.
* humanmodifier.py- contains the functions and classes that link the GUI sliders to their respective effects on the MakeHuman mesh.
* metadataengine.py- implements algorithms to handle MakeHuman metadata tags within large files. It makes it possible to quickly and easily associate descriptive adjectives (tags) such as "eye" or "brown" with the complete file path to an object that has these characteristics.
* mh2proxy.py- (unknown)
* posemode.py- contains classes and functions relevant to entering and exiting posemode, and altering a figure's pose. Changing the pose of a figure will deform the mesh and require the vertex warps to be reset.
* warpmodifier.py- contains classes and functions to handle the source and target of a warp.
* which.py- checks to see whether or not a program exists (needed for the GUI controls).
==== /makehuman/core/ ====
* algos3d.py- contains algorithms used to perform high-level 3D transformations on the 3D mesh that is used to represent the human figure in the MakeHuman application.
* aljabr.py- contains the most common 3D algebraic operations used in MakeHuman including vector, matrix, quaternion, and various other operations.
* animation3d.py- contains functions and classes to animate a wide range of objects. Includes support for rotation, scaling, translation, camera movement, and variety of interpolation methods.
* compat.py- (Unknown)
* download.py- contains classes and functions to download media from the web and import it into MakeHuman.
* events3d.py- contains classes to allow an object to handle events resulting from keyboard or mouse input, window resizing, and changes to the human model with MakeHuman.
* export.py- (Not fully implemented) contains classes to export the MakeHuman model.
* files3d.py- contains functions to convert other 3D file formats to and from the internal format used by MakeHuman.
* geometry3d.py- contains classes for commonly used 2D and 3d objects such as rectangles, cubes, and flat meshes.
* gui3d.py- contains classes defined to implement widgets that provide utility functions to the graphical user interface.
* mhmain.py- contains the operations and event handlers that provide the core functionality of MakeHuman.
* module3d.py- contains classes and functions to handle the appearance and behavior of 3D objects such as shading, texturing, visibility, transparency, and creating groups of faces.
* selection3d.py- contains classes and functions that allow users to select elements within a 3D scene by clicking on them with the mouse using a technique called "!LINK!http://www.opengl.org/archives/resources/faq/technical/selection.htm -- Selection Using Unique Color ID's!/LINK!"
* textures3d.py- contains functions to perform standard proccesses on bitmaps and translate UV coordinates to a pixel index in a bitmap.
* transformations.py- A library for calculating 4x4 matrices for translating, rotating, reflecting, scaling, shearing, projecting, orthogonalizing, and superimposing arrays of 3D homogeneous coordinates as well as for converting between rotation matrices, Euler angles, and quaternions. Also includes an Arcball control object and functions to decompose transformation matrices.
* warp.py- contains classes and functions to warp vertex locations from a source character to a target character. This makes it possible to correctly combine several morphs that affect overlapping regions of the body.
==== /makehuman/lib/ ====
* camera.py -handles camera events such as changing focus, camera mode, and field of view.
* core.py -sets default global variables
* debugdump.py -handles creating a debug text file in the user's home directory and writing relevant debug information to that file.
* filechooser.py- a Qt based filechooser widget that allows the user to preview and select files as well as sort them by name, creation date, modification date, and size.
* getpath.py- Utility module for finding the user's home path.
* glmodule.py- contains classes and functions to render 3D objects with openGL in both draw mode and pick mode.
* gui.py -alias from gui.py to qtgui.py
* image.py- handles flipping and resizing images as well as converting between RGB, ARGB, and greyscale.
* imageqt.py- handles loading and saving RGB and ARGB images.
* inifile.py- contains functions for formatting and parsing .ini files.
* language.py- handles language file loading and translation.
* log.py- extends the functionality of Python's logging module. The logging module can be used to create log files of events for debugging, or to display information or warnings within MakeHuman. It is used instead of print statements.
* matrix.py- uses the NumPy package to define standard matrix operations.
* mh.py- Python compatibility layer that replaces the old C functions of MakeHuman.
* object3d.py- defines the object3d class
* profiler.py- defines functions to handle profiling (how long various parts of the program executed).
=== File formats and extensions ===
This section briefly reviews the file accessed or manipulated within MakeHuman. An attempt will be made to explain the function of each file format and where in MakeHuman’s modules it is used. Or external formats links will be provided to more detailed descriptions. Where it can help the developer better understand the overall organization of MakeHuman source code, some information on the module group or modules interaction with the various formats will be provided. This section Is intended to be used with the previous section on directories (folders) to develop an overview of MakeHuman code structure. This structural understanding is essential during the debugging process and is essential to expanding the programs functionality in structurally sound ways.
==== .obj files ====
This extension designates Lightwave object files. These OBJ files store mesh information and metadata needed for rendering in text-readable format. It was originally developed for the Lightwave 3D graphics program, but this file format is now broadly supported by many, if not most, 3D programs. Internally, MakeHuman uses OBJ files (or formats directly based on OBJ files) for the canonical storage of its assets. Many of MakeHuman’s development utilities store newly generated assets in formats related to the Lightwave OBJ specification. Examples of assets canonically stored in Lightwave OBJ format include the base human, and auxiliary geometry assets like eyes, hair, and clothes.
Each OBJ file has a record specifying the object’s name and records specifying one or more mesh objects. Mesh objects, in turn, are composed of record groups specifying: points or vertices (v), vertex normal (vn), faces (f), and vertex textures (vt). In MakeHuman and most general purpose 3D programs (e.g., Blender) OBJ files are exported with an accompanying Wavefront material file having the .mtl extension. These MTL files provide the detailed material attributes necessary to get photorealistic rendering of Wavefront objects. A more complete specification of Wavefront object format can be found at:!LINK!http://www.martinreddy.net/gfx/3d/OBJ.spec -- http://www.martinreddy.net/gfx/3d/OBJ.spec!/LINK!
OBJ files and MTL files have a direct internal analog in MakeHuman in the form of the object class, Object3D. This class, along with its properties and methods, is defined in the object3D.py module(libs folder). Object3D objects are central to the internal workings of MakeHuman. The resemblance of Object3D objects to OBJ files is not coincidental. Many of the core mesh assets in MakeHuman are developed in the open-source project, Blender, and moved to MakeHuman internals using OBJ format. In fact, MakeHuman maintains a separate product [MHTools] designed to support development of new core internal assets
==== .mhpxy files ====
This extension designates compressed binary proxies and clothes.
==== .mtl files ====
This extension designates a Wavefront material file. Wavefront MTL files are referenced from within Wavefront OBJ files to specify the materials used in rendering. More complete information on Wavefront material files is available here:!LINK!http://paulbourke.net/dataformats/mtl/ -- http://paulbourke.net/dataformats/mtl/!/LINK!
MakeHuman’s use of MTL file has been limited, but with the increased support for POV rendering, more modules may access and utilize MTL files. Currently, MTL-related data and files is developmental. Thedata foldercontains a cube.obj (3dobj) and a plane.obj (mitsuba folder) ostensibly associated with materials.
==== .npz files ====
This extension designates compressed binary asset files in MakeHuman [think npz = numPy zip files]. Among the most important assets stored with this extension is target vertex information. These target data determine the motion of each MakeHuman vertices (relative to landmark vertices?) as sliders are moved.
Thefiles3D.pymodule (core folder) tests for verifies existence of OS dependent locations of binary mesh files. The primary purpose of thefiles3D.pymodule is to transpose imported 3D data into a standard internal format for each of the 3D file formats supported by the MakeHuman import. Each importer function is written to return the 3d data in a standard format as a Python list:
[verts, vertsSharedFaces, vertsUV, faceGroups, faceGroupsNames]
Thetargets.pymodule (lib folder) is where system assets stored with the NPZ extension are identified, decompressed, and turned into memory resident structured objects for use by MakeHuman. This
Code related to NPZ files can also be found inalgos3d.pymodule (core folder). This module has been part of MakeHuman for a long time, and is used for morphing related operations. It works with loaded binary translation vectors and applies those translations to morphing targets. It may have some legacy capability to work directly with text-based .target files.
Thecompile_models.pymodule (lib folder) takes all object mesh files (.obj) and compiles them into binary compressed files (NPZ). Similarly, thecompile_targets.pymodule (lib folder) compiles target files (.target) into binary compressed (NPZ) files. The latter module is referenced by Benjamin Lau inMakeHuman.specfile, likely for build purposes.
Important concept. The root folder of MakeHuman contains a batch file calledcleanpz.bat(for Windows) and a corresponding shell script file calledcleanpz.sh(for Linux) whose function is to delete NPZ files between SVN builds. This “garbage collection” assures that each build is not working with out-of-date assets. It also reminds the developer that most of the canonical assets are initially constructed in text readable format. Developers write appropriate constructors to recompile NPZ files during the MakeHuman startup sequence when missing. For distribution versions of MakeHuman, pre-compiled assets in the form of NPZ files are distributed as stable assets. When start up code confirms their existence , no recompile is done, producing a better start-up experience for the user. This design greatly increases boot and runtime performance for stable distributions without hampering rapid testing of SVN versions in interpretative mode.
==== .thumb files ====
This extension designates thumbnail (image preview) files in MakeHuman. Underneath, they are actually images constructed in the .png file format. Thus, they can be edited by standard image editors like GIMP or displayed by most web browsers. The MakeHuman Save Tab code automatically generates a companion .thumb file each time it saves a .mhm file. The .thumb generation is currently done by capturing a rectangular in the center of the viewport window. The MakeHuman Load Tab code uses .thumb images to provide previews of saved models.
The format for .thumb is defined inimage_qt.pymodule (GUI folder). Load and Save use or generation occur inguiload.pyandguisave.pymodules, respectively (lib folder). Numerous plugin modules reference .thumb files (plugins folder) including:2_posing_expression.py,3_libraries_clothes_chooser.py,3_libraries_eye_chooser.py,3_libraries_material_chooser.py,3_libraries_polygon_hair_chooser.py,3_libraries_posing_chooser.py,3_libraries_proxy_chooser.py, 4_rendering_scene.py,7_material_editor.py,
==== .lmk files ====
This MH internal extension designates landmark files. [might be renamed .mhlmk for naming standard reasons.] There is one set of landmarks for the model body (and a second set of landmarks for the model head (data | landmarks folder). These LMK files are written in text readable format. Each line has a single integer which specifies a landmark vertex in the model geometry. Landmark vertices are used for relative (local) spatial reference during model morphing.
Landmark files are used bywarpmodifier.py(apps folder) andwarp.py(utils | tools | warptarget folder).The landmarks in these files are used as references during the complex process of reshaping the human.
==== .mhclo files ====
This MH internal extension designates MakeHuman clothes files. These files define clothing vertexes and remove vertexes from the model to allow fitting of the model without skin showing through. They are created using the MakeHuman Blender toolset, specifically the MakeClothes tool.
A special empty MakeHuman clothes meta-file namedclear.mhclois is used to restore the default UV map that comes with the system. In the lib folder, thefilechooser.pymodule has aMhcloFileLoader.Refresh()method to clear materials when the refresh button is clicked.
In the plugins folder,3_libraries_clothes_chooser.py,3_libraries_eye_chooser.py,and 3_libraries_polygon_hair_chooser.pyall access MHCLO files, but as of this writing, there are some file handling issues related to proxy clothes that means some of this code is commented out. In the shared/export_utils folder, config.py accesses acage.mhclofile. In the tools folder, the tool ‘MakeClothes’ accessws MHCLO files in both the makeclothes.pyandmaterial.pymodules. Similarly, the tool ‘MakeTarget‘ accesses MHCLO files in several of its modules:_init_.py, convert.py,import_obj.py,mt.py, andsettings.py. Finally, two experimental tools in the utils folder, themakeface.pyandhelpers.pymodules access MCHO files.
==== .mhmat files ====
This extension designates MakeHuman material files. Material files are text-readable files that share their syntax structure with Lightwave OBJ and MTL files.
In the app module group,human.pyapplies a default material andmh2proxy.pyhandles materials for proxies and may do some special material handling for MHX Blender export files. In the data folder, the MHCLO files for clothes, eyes, and hair each references an MHMAT files. In the plugins folder,7_material_editor.pyloads, edits, and saves MHMAT files. In the shared folder,material.pyparses MHMAT files and sets material properties. In the tools folder, there is another (independent)material.pymodule for the MakeClothes tool that writes materials to the output file while using that tool within Blender.
=== Description of the file format ===
The entries inside a .mhmat file are of the form:
Comments can be included in c-style line comment format, like
or in python-style line comment format, like
The properties of a makehuman material are numerous so that they can cover the most common needs of exporters and rendering engines, and may vary among the following.
name- The internal name of the material.
Colors- Their value can be in R G B format, like:colorProperty R G B,where R, G, B are floating point numbers between 0 and 1. They control the color of various material properties and effects. To adjust the intensity of an effect, you can simply edit its color value.
ambientColor -The ambient component of the material, which is usually added on the final color regardless of the surrounding lights.
diffuseColor -The diffuse component of the material, which reacts to each light's relative position.
specularColor -The color of the specular shine that is caused by the reflection of a light source on the material.
emissiveColor- The color of the light that the material seems to emit like if it's a glowing light source.
shininess- The sharpness of the shine spots created by the reflection of a light source on the material, which is how glossy its surface is.
==== .mhuv files ====
This MH internal extension designates UV map files in MakeHuman. These text-readable files based on Lightwave OBJ syntax. They contain one or two lines of metadata and alternative UV data for the texture object to be applied to the model.
There does not currently appear to be a development tool for creating UV map files. They can be created by creating and saving an OBJ file and then renaming it. However, files created in this manner should not be considered fit for the SVN or website because they contain way too much redundant information. The OBJ files created in this manner not only contain the alternate UV set but also contain all vertices of the original mesh.
==== .mhp files ====
This MH internal extension designates pose files. These files are used to store coordinates for the run and walk poses on the pose tab. The dance1 pose appears to be implemented as a pose file, but it also includes some additional .target files. The dance1 pose is also associated wih a .bvh file whereas run and walk are not. In A8 development there have been issues with the dance1 file behaving less well than run and walk. Hopefully, these will be long gone during subsequent development.
==== .mht files ====
==== This MH internal extension designates a theme (GUI color scheme) for the GUI as rendered by the pyQt library. ====
==== .target files ====
This MH internal extension [which lacks the mh… prefix] specifies final extreme positions that can be achieved when moving the interface sliders in one direction or the other. By definition sliders have a value of zero on the left end and 1.0 on the right end, but there is a software flag to reverse this behavior as desired. With scripting it may be possible to exceed slider extremes, but this is currently undocumented and should not be built into production code. There is one TARGET file for each extreme of each movement. These files are hand-built by MakeHuman artist-developers, and they are the engine of the programs utility. Typically, rightward movement of a slider should increase size, and leftward movement of a slider should decrease size. When ‘left’ and ‘right’ are used as asset names, they should refer to the left and right body part on the model, regardless of the model’s orientation in the viewport. When slider movement involves asymmetrical change in the x, y, and z direction, it should be programmed so that the sliders operate naturally using the default viewport view for that slider. For example, left movement of the slider need not cause deformation toward the model’s left side. Such behavior would only be sensible if the default viewport view had the model facing the rear of the viewport (model’s back toward user).
Most MakeHuman modules use data from the TARGET files.
· In the apps group, these modules includes: devtests.py, human.py, humanmodifier.py, posemode.py, and warpmodifier.py.
· In the core group, these modules includes: algos3D.py which is the main program that works with .target files after they are compiled into
· In the apps group, these modules includes:
· In the apps group, these modules includes:
=== .proxy files ===
This MH internal extension designates proxy meshes. They are structured text files. Format and attributes include ... TODO
.qrc file
This is a resource file need used when compiling for the MakeHuman GUI which uses the pyQt library.
=== .qss file ===
This is the text-based file fomat used to store widgets associated with the GUI interface as rendered by the pyQt library
Appreciate help from current developers as what needs to go here. Undoubtedly some confusion or mistakes on my part, but some of it might help orient others. -RWB
Glad to do the grunt work, but feedback on needed improvemrnt greatly appreciated :-)
---------------------------
Also in this section could possibly also loading, saving, exporting formats (but these formats should probably be addressed in context below)
The basic work done within MakeHuman is saved as a file with an .mhm extension. The .mhm files can be loaded at the start of a new user session, and return MakeHuman to the state that it was in at the end of the previous session.
=== Libraries and build procedures ===
With each MakeHuman release, packages are created for MS Windows, Mac OS X, and Debian derivatives for linux. At present there is not an operating system independent package (although the raw repository will work on all platforms). Each platform has special considerations that are addressed by the designated mainainter for that platform.
=== Dependencies ===
In order to run makehuman and/or build packages the following need to be installed on the system:
* Python (Python 2.7 (python 3.x will not work).!LINK!http://www.python.org/download/ -- http://www.python.org/download/!/LINK!)
* Python-numpy (!LINK!http://sourceforge.net/projects/numpy/files/NumPy/ -- http://sourceforge.net/projects/numpy/files/NumPy/!/LINK!)
* Python-opengl (!LINK!http://pyopengl.sourceforge.net/ -- http://pyopengl.sourceforge.net/!/LINK!)
* Python-qt4 (!LINK!http://www.riverbankcomputing.com/software/pyqt -- http://www.riverbankcomputing.com/software/pyqt!/LINK!)
* Python-qt4-gl (Package required by some linux distributions only)
For linux there are scripts (buildscripts/deb/install_deb_dependencies.bash and buildscripts/rpm/install_rpm_dependencies.bash) which will install all the necessary dependencies but please note that these scripts may not agree with all debian and rpm based distros so it may be worth reading the bash script contents prior to running them.
=== Assets ===
For obvious reasons, the binary assets (characters, textures, clothes, etc..) are not stored on Mercurial repository, but in two different places:
* * Immutable single archive files of the assets of finished versions of MH are stored (disregarding patch version token) on bitbucket (!LINK!https://bitbucket.org/MakeHuman/makehuman/downloads -- https://bitbucket.org/MakeHuman/makehuman/downloads!/LINK!)
* Assets still under development are store on Tuxfamily ftp:!LINK!http://download.tuxfamily.org/makehuman/assets/ -- http://download.tuxfamily.org/makehuman/assets/!/LINK!
When a new version is released, the current ftp asset tree gets zipped and uploaded to bitbucket. In the tuxfamily asset store, the folder for that version's contents are replaced with an archive_url.txt file that points the download script to the right url.
A new folder gets created on the tuxfamily host containing the assets to be included in the next release. For a released version, assets will usually not change, unless to fix bugs (in which case the previous archive is best kept, and a new one is created alongside it with a slightly different name), and the archive_url.txt file is updated.
To download automatically the assets and place them in the correct folder on a local repository, it's sufficient to run the python script with the command:
=== Other scripts ===
In the makehuman root, there are a few scripts which need to be run:
* cleannpz.sh (cleannpz.bat)
* cleanpyc.sh (cleanpyc.bat)
* compile_targets.py
* compile_models.py
* compile_proxies.py
Note that all these are called automatically in the correct order by the "build_prepare.py" script in "buildscripts" when running one of the pre-existing package building routines below. However, when running makehuman from a source checkout, you will need to run these scripts in the above order.
=== General proceedings for making a package ===
On all platforms the following steps should be taken when making the package:
* Update from HG repository (!LINK!https://bitbucket.org/MakeHuman/makehuman -- https://bitbucket.org/MakeHuman/makehuman!/LINK!)
* Run the scripts in the makehuman root directory. These will for example compile target files to npz files
* Copy all that's relevant to a work directory, excluding at least *.target, the utils directory and the tools directory (strictly speaking there are more that is not necessary, but it will have a minor influence)
* Do platform-dependent stuff to the work directory
* Zip the directory into a suitable installable format for the platform.
==== Linux ====
=== Debian ===
In order for makehuman to work on Debian the following dependencies are needed.
* python
* python-qt4
* python-numpy
* python-opengl
* python-qt4-gl
These can be installed by running the command below:
On Debian/derivatives (Ubuntu kubuntu etc.) the whole package building is automated through the buildDeb.py script found in the "deb" folder.
For Deb script see:!LINK!https://bitbucket.org/MakeHuman/makehuman/src/tip/buildscripts/deb/?at=default -- https://bitbucket.org/MakeHuman/makehuman/src/tip/buildscripts/deb/?at=d...!/LINK!
To build a deb file, create an empty directory (for example /tmp/deb) and run:
When the script has finished, the deb file will be available in /tmp/deb/output.There are some settings in the head of the buildDeb.py script for tweaking the output.
=== Fedora 19 64-biit RPM Packaging ===
These instruction have been written for and tested on Fedora 19 64-bit. You will never be able to run the MakeHuman HG version on distros such as RHEL/CentOS 6.4 or earlier, since they do not support python 2.7, not even if you enable RPMForge. The instructions may or may not work on other RPM-based distros.
* * Install a Mercurial client (Hg) and clone the!LINK!https://bitbucket.org/MakeHuman/makehuman -- Makehuman BitBucket Repository!/LINK!.
* Install required dependencies.
As root, run the bash script for installing the required dependencies.
buildscripts/rpm/install_rpm_dependencies.bash
This script also installs optional but recommended dependencies. If you only want the really required dependencies, run
* Run MakeHuman. Change working directory to the root of the makehuman tree:
Then run:
You will most likely want to do this as your normal desktop user, not as root.
==== Windows ====
* * Install an Mercurial client!LINK!http://tortoisehg.bitbucket.org/download/ -- (Tortoise HG client!/LINK!is a good choice on Windows) and clone the!LINK!https://bitbucket.org/MakeHuman/makehuman -- MakeHuman repository!/LINK!(see!LINK!http://www.makehuman.org/doc/node/development_infrastructure.html -- http://www.makehuman.org/doc/node/development_infrastructure.html!/LINK!)
* Install required dependencies
If you are using a 64bit Windows version (only applies to 64-bit computers), you can choose to use either 32-bit python or 64-bit python. Howver it is important that your library dependencies (NumPy, PyOpenGL, and pyQT4) are 32-bit if you use 32-bit Python and 64-bit if you use 64-bit Python.
* Run MakeHuman.
Start a command console (cmd.exe), change directory to the makehuman folder. Then run:
==== Mac OSX ====
To build MakeHuman for Mac OS X, you should:
* * Download the MakeHuman OSX Builder from: !LINK!https://bitbucket.org/MakeHuman/makehuman-osx-builder -- https://bitbucket.org/MakeHuman/makehuman-osx-builder!/LINK!
* Follow the included instructions (Instructions.rtf)
=== Development infrastructure ===
The development of MakeHuman is based on two fundamental tools:
* Mercurial (HG), a stable and robust platform for distributed revision control, with the main repo hosted on!LINK!https://bitbucket.org/MakeHuman/makehuman -- Bitbucket!/LINK!
* A collaborative software!LINK!http://bugtracker.makehuman.org -- development platform!/LINK!, based on!LINK!http://www.redmine.org/ -- Redmine!/LINK!.
==== Get the code from BitBucket. ====
Obtain the code from BitBucket repository is very simple, but you need to have Mercurial installed on your system.
It's natively present on Linux systems, while for Microsoft Windows, a good software is TortoiseHG (!LINK!http://tortoisehg.bitbucket.org/ -- http://tortoisehg.bitbucket.org/!/LINK!).
To clone the repository to your PC, just use this command:
hg clone!LINK!https://bitbucket.org/MakeHuman/makehuman -- https://bitbucket.org/MakeHuman/makehuman!/LINK!
With tortoiseHG, you can do it visually, with:
right-click --> TortoiseHG --> clone
==== Using Redmine in MakeHuman development ====
Redmine is a very powerful tool.
[To expand with technical information about the roadmap organizations, the subprojects, and how to use it to accept experimental features]
=== Development organization ===
!IMAGE!Pictures/mh-hg-infographic01.png!/IMAGE!
The Unstable branch is where the development happens. This is our working branch, and so we can refer to it as default branch too.
The Stable branch is used for official release only.
It's just for mainteinance of the current official version. It's rarely used, except in the case of very noticeable bugs that will cause a service release. Any bugfix in the Stable must be merged in Unstable.
When the Unstable is ready for the release, it's merged in the Stable and a tag (a sort of bookmark) is created on this exact revision.
!IMAGE!Pictures/mh-hg-infographic02.png!/IMAGE!
Working on experimental clone for new features in early development is a great comfort for the developer.
He doesn't have to keep his code on the local drive since he can commit it immediately.
It doesn't matter if the code does not work yet or breaks the app, it is the private playground of the developer.
!IMAGE!Pictures/mh-hg-infographic03.png!/IMAGE!
To start up a new feature yet unproven or that is unsure how to implement it exactly, or for a big refactor that might make a lot of problems until solved, we will create experimental repos, cloning the main one. One repo for (large) feature.
!IMAGE!Pictures/mh-hg-infographic04.png!/IMAGE!
Once the developer has something to show, he can communicate with other team members so they can:
* clone the experimental repo to a new folder on their local disk
* test it
* give feedback
* perhaps even commit fixes
Once a feature is proven to work well enough and accepted by the rest of the team, it can be merged in official unstable branch, where it can be integrated in nighly build version and further finalized (it can now be tested by a broader audience and we will receive bugs reports from them)
!IMAGE!Pictures/mh-hg-infographic05.png!/IMAGE!
It is also possible that an external programmer, without commit rights on the official repo, make changes on his own personal clone (that he can make public on his own account if he desires).
This is a good way to test new team members, where we can accept changes after verifying them. When we trust a new developer, we can give him direct access to official repo.
=== Getting started ===
The best way to start your experiments with MakeHuman code is to clone our official repository and start to modify it.
In order to procced easily. it is recommended you use the tools available at!LINK!https://bitbucket.org -- https://bitbucket.org!/LINK!.
The general procedure is:
* Go to!LINK!https://bitbucket.org -- https://bitbucket.org!/LINK!and sign up (if you don't already have an account)
* Go to !LINK!https://bitbucket.org/MakeHuman/makehuman -- https://bitbucket.org/MakeHuman/makehuman!/LINK!
* Click "fork" (it's hidden under "..." in the button menu)
!IMAGE!Pictures/fork.jpg!/IMAGE!
* Enter a name and description of your choice (the fork will end up on your account, so it doesn't matter what you call it). Use "fork at tip" and don't check "this is a private repository"
* You should be redirected to the new repository on bitbucket
* clone your new repository to your local harddrive (if you need a primer on how to clone or use bitbucket,!LINK!https://confluence.atlassian.com/display/BITBUCKET/Bitbucket+201+Bitbucket+with+Git+and+Mercurial -- see their tutorial!/LINK!)
* Make your code changes locally. Do not make a feature branch, work directly on the default branch.
* Commit and push the changes to your repository on bitbucket
* Go to your repository on bitbucket and click "pull request" (in the button menu at the top right of the page)
* Write a good description for what your changes concern and click "create pull request"
Once you have done this, the makehuman team will get a notification that there is an incoming code changes. This will be reviewed and either merged or rejected.
If you want to continue working with updates in the future, make sure your fork is up to date with changes in the makehuman repository. Go to your repository, click the "..." button in the button menu and choose "compare", click the compare button on the page you get to. Merge any incoming changes.
If your tree is hopelessly out of sync with the makehuman tree, just delete it and make a new fork. Better that than accidentally getting junk in your pull requests.
Before starting with any of the above, you might want to read up on how to run makehuman from a source checkout rather than from a binary download. The short story is that you need to install a few dependencies. More information can be found here:!LINK!http://www.makehuman.org/doc/node/libraries_and_build_procedures.html -- http://www.makehuman.org/doc/node/libraries_and_build_procedures.html!/LINK!
=== Application design and Code overview ===
==== Structural Organization of MakeHuman ====
MakeHuman is organized hierarchically. There is a root application (type gui3d.Application) that handles rendering of objects (guicommon.Object). These objects can be added/removed to/from the root application. Objects added to root application are always visible in the canvas.[I'm wondering if this is really true? - There are object on hidden tabs and the skeleton or mesh can be visible or not. Am I confusing the distinction between 'canvass' and 'view'? - RWB] Every added object has an openGL counterpart.
mhmain.MHApplication inherits from root application to constructmain application. A view is a visual context. A tab is a view, for example, the main application is a view.[The main application IS a view or the main application HAS a view? "the "main application frame/window is a view?"- RWB]
The Root application[you do meanrootand notmain? - RWB]contains Categories. A Category (gui3d.Category) is a specialised view object which contains multple taskiew objects (gui3d.TaskView). Taskview objects are specialised view objects with a panes and tab. In context of MakeHuman interface, Category objects constitute the upper row of tabs while taskview objects constitute the lower row of tabs.
Objects (guicommon.Object) can be added/removed to/from a taskview. Objects added to a taskview are only visible if the taskview is visible. For example, a skeleton added to the skeleton chooser is only visible when the skeleton chooser taskview is visible. Objects added to root application[root not main? - RWB]are always visible. Thus objects like human and all proxies such as clothes are added to theapplication,because they should always be visible. Visiblilty can be disabled by setting the visibility flag on objects but an object that is not added to a currently visible taskview, or the application, is not visible, even if its visibility flag is set positive. [Wording needs improving -- 'should always be visible' and a 'visibility flag' are mixed message - RWB]
An object can only be added to one context. So an object is either added to one taskview, or the application, not two different taskviews.
Apart from root application, there is another application (type qtui.Application) which implements MH gui structures using Qtlibraries. mhmain.MHApplication inherits from this application too for handling of gui content.e
General structure in MH can be represented as: !IMAGE!Pictures/mh-inheritance.png!/IMAGE!
====
Basics of event handling in Makehuman: ====
Makehuman is a GUI based, interactive, Qt application in which objects interact by sending messages to each other. The Qt class QEvent encapsulates notion of low level events like mouse events, key press events, action events, etc. A Qt application is event loop-based, which is basically a program structure which allows events to be prioritized, queued and dispatched to application objects.
In a Qt based application, there are different sources of events. Some events like key events and mouse events come from window system, while some others originate from within application. When an event occurs, Qt creates an event object to represent it by constructing an instance of the appropriate QEvent subclass, and delivers it to a particular instance of QObject (or one of its subclasses) by calling its event() function. This function does not handle the event itself, but rather, it calls an event handlerbased on the type of event delivered, and sends an acknowlegement based on whether the event was accepted or ignored.
QCoreApplication::exec()method enters the main event loop and waits until exit() is called. It is necessary to call this function to start event handling. In MH, it is done in lib.qtui.Applicationwhich inherits fromQApplicationwhich in turn inherits fromQCoreApplication:
def start(self):
self.OnInit()
self.callAsync(self.started)
self.messages.start()
self.exec_()
In MH, event handling falls in two broad categories.
* Event handling forcontainers(application, categories, taskviews)
* Event handling forwidgets(contained in containers)
==== Event handling for containers: ====
MH is organized hierarchically in the context of containers. At top is the main application (core.mhmain.MHMainApplication). It contains categories (core.gui.Category), which in turn contains taskviews (core.gui.TaskView).
In a Qt-based application, there are five different ways of events processing, as listed below:
* * Reimplementing an event handler function like paintEvent(), mousePressEvent() and so on. This is the most common, easiest, but least powerful approach.
* ReimplementingQCoreApplication::notify( QObject * receiver, QEvent * event ). This is very powerful, providing complete control; but only one subclass can be active at a time. Qt's event loop and sendEvent() calls use this approach to dispatch events.
* Installing an event filter onQCoreApplication::instance(). Such an event filter is able to process all events for all widgets. It's just as powerful as reimplementing notify(); furthermore, it's possible to have more than one application-global event filter. Global event filters even see mouse events for disabled widgets. Note that application event filters are only called for objects that live in the main thread.[I believe that MH is single threaded - implications? RWB]
* ReimplementingQObject::event()(as QWidget does). If you do this you get Tab key presses[<--Explain what is special about TAB and shift-TAB presses ?- RWB], and you get to see the events before any widget-specific event filters.
* Installing an event filter on the object itself. Such an event filter gets all the events, including Tab and Shift+Tab key press events[<--Explain what is special about TAB and shift-TAB presses ?- RWB], as long as they do not change the focus widget.
In MakeHuman, approaches 2 and 4 are used for extensively for event handling. As part of strategy 2,inlib.qtui.Application (which extendsQApplication), notify has been reimplemented:[I don''t understand the implication of this? Expond? -RWB]
def notify(self, object, event):
self.logger_event.debug('notify(%s, %s(%s))', object, event, event.type())
return super(Application, self).notify(object, event)
object is the receiver object. Class implementing notify has to be singleton. [Clarify? - RWB]
In MakeHuman,MHApplicationsubclasseslib.qtui.Application.MHApplicationobject is the main application object. It's notify function receives notification from the event loop in the underlying Qt layer about each[container only or widgets too?]event, which is then relayed to receiver object's event method. Thereceiver object's event method is either inherited from QObject or reimplemented. The Receiver object then either sends TRUE or FALSE, as the case may be, to[WHERE??] - RWB
lib.qtui.Applicationalso implements an event function, which is called if the receiver object isMHApplication objectitself. Then,lib.qtui.Application.event()checks if its a user-defined event or not,and it is so true is returned, else we call super class's event(). In case of true being returned,Qt dispatches event to receiver object's callEvent function which determines which function to be called on object to handle the event. Called function then handles the event or propagate it to its parent(or to current task if its application object), as may seem fit.
==== Event handling for widgets ====
Most of MH widgets are wrappers around Qt widgets. These widgets (defined in module lib.qtgui) inherit from the respective Qt widgets and the Widget class (lib.qtgui.Widget). MH makes use ofsignal and slot mechanismby making the connection between the signal originating from the Qt layer and the corresponding handler function. For example, class TabBase connects the signal 'currentChanged' to its function 'tabChanged' as follows:
class TabsBase(Widget):
def __init__(self):
super(TabsBase, self).__init__()
self.tabBar().setExpanding(False)
self.connect(self, QtCore.SIGNAL('currentChanged(int)'), self.tabChanged)
......................
Any class inheriting from TabsBase(e.g., lib.qtgui.Tabs or lib.qtgui.TabBar) also gets this facility. So now whenever signal 'currentChanged' is emitted from Qt layer function 'tabChanged' is called. The result is that when a user clicks the mouse on a tab, the 'tabChanged' code will be called,
Similarly, MH Slider widget connects various slider operations to its event handling functions as:
...........................
self.connect(self.slider, QtCore.SIGNAL('sliderMoved(int)'), self._changing)
self.connect(self.slider, QtCore.SIGNAL('valueChanged(int)'), self._changed)
self.connect(self.slider, QtCore.SIGNAL('sliderReleased()'), self._released)
self.connect(self.slider, QtCore.SIGNAL('sliderPressed()'), self._pressed)
...........................
[-- EDITING/PROOFING ENDS HERE - RWB --]
==== Overriding vs event decorators: ====
The View, Category and Application classes inherit from events3d.EventHandler, hence they have callEvent() function. The events that apply to this category are usually application-wide. If user make a change that impacts the whole application, and whole application must know about this change, then best way to do so is to call callEvent() for all the taskviews of the application,as follows:
for category in self.categories.itervalues():
for task in category.tasks:
task.callEvent('onMyEvent', params)
A good example is the event of makehuman's scene changing(core.qtui.MHApplication._sceneChanged). So when callEvent is called on a taskview object and it has onMyEvent implemented,it is being called. In core.gui3d.View too one can see that most of the events (onShow, onMouseDown,...) on the taskview are propagated by default to their parents - the categories. The categories also are views, so the events are propagated again to their parent, the application. If, again, the application or any category has an onMyEvent method, it is executed.
There are some events that affect the application, but only a single task at a time,for example onMouseDown event. It only happens to the active taskview
(the others are hidden, so they receive no mouse events). Once the mouse is pressed, an Application.currentTask.callEvent("onMouseDown", event)is issued. This causes the onMouseDown event to be received by the active Taskview, its parent Category, and finally the Application. This call executes any onMouseDown method in these objects.
Apart from the Category events described above, there are events used for local purposes. Such events are handled withevent decorators. Suppose we have a new Taskview, FooTaskView. This Taskview has a 'mybar' member variable, which is of type Bar(events3d.eventHandler). The requirement is that when self.mybar executes code, we may want to communicate with its parent to inform it about an event that just happened. So, inside the code for Bar, is located a 'self.callEvent('onBaz', 42)' command. Thus, in the Bar class, we emit a timely event signal and use the event decorator to let the parent Taskview know about the event. In the FooTaskView class, but below the place where self.mybar is created, we add:
@self.mybar.mhEvent
def onBaz(event):
# code on event.
# guess what, event == 42.
When now the self.mybar Bar reaches that callEvent, the above method, located in FooTaskView, will be executed.
core.mhmain.MHApplication's human is perfect example of this approach.Human has onMouseDown event handler and we need to relay it to application.
In loadMainGui function of MHApplication, we add decorator to human attribute as:
def loadMainGui(self):
..............
@self.selectedHuman.mhEvent
def onMouseDown(event):
if self.tool:
self.selectedGroup = self.getSelectedFaceGroup()
self.tool.callEvent("onMouseDown", event)
else:
self.currentTask.callEvent("onMouseDown", event)
.............
Application.human.onMouseDown event is caught and it starts its trip from the Human; it is captured by the decorated method located in Application.loadMainGui (this is the place where the method is bound with the event), it is sent to the currentTask, propagated through the parent category, and finally reaches its destination, the Application.
A more intense process happens on Human.onChanged. This is emitted when a save/load happpens, so the whole application has to know. So it starts from the human, captured by the decorated method in app, sent to ALL the taskviews in MH, and finally through the categories again to the app.
==== The MakeHuman Graphical User Interface (GUI): ====
The MakeHuman GUI is based on the pyQt library which, in turn, is built on the Qt library. Qt is a development framework for the creation of applications and user interfaces for desktop.
Important GUI classes in MakeHuman are:
lib.qtui.Canvas:This is the class in MakeHuman which takes care of rendering openGL graphics.It inherits from Qt's QGLWidget class which is a widget for rendering OpenGL graphics. QGLWidget provides functionality for displaying OpenGL graphics integrated into a Qt application. It is very simple to use. You inherit from it and use the subclass like any other QWidget, except that you have the choice between using QPainter and standard OpenGL rendering commands.
The Canvas class reimplements three functions from parent class to perform openGL tasks:
* paintGL() - Renders the OpenGL scene. It gets called whenever the widget needs to be updated.
* resizeGL() - Sets up the OpenGL viewport, projection, etc. Gets called whenever the widget has been resized (and also when it is shown for the first time because all newly created widgets get a resize event automatically).
* initializeGL() - Sets up the OpenGL rendering context, defines display lists, etc. Gets called once before the first timeresizeGL() orpaintGL() is called.
lib.qtui.Application: This is the foundation class which manages GUI's control flow and main settings. It inherits fromQtGui.QApplicationandevents3d.EventHandler. QApplicationcontains the main event loop, where all events from the window system and other sources are processed and dispatched. It also handles the application's initialization and finalization.Application class holds gui main window(instance of lib.qtui.Frame). Application class receives event notifications from underlying Qt user intrface framework and dispatches them to appropriateuser intrface elements in MakeHuman.
GUI architecture inMakeHumanMH can be depicted as follows:
!IMAGE!Pictures/mh-uiarchitecture.png!/IMAGE!
=== Application Design Notes from IRC Chat with Thanassis ===
Thanasis comments on gaining the big picture of MH coding
* [16:12:57] <Thanasis> I would avoid describing the different parts of code as different entities
* [16:13:43] <Thanasis> ie. follow the object-oriented paradigm, and avoid thinking who is inherited by who etc.
* [16:13:48] <Thanasis> more specifically
* [16:15:03] <Thanasis> I mean, treat an object as a single object
* [16:15:08] <Thanasis> I'll show an example
* [16:15:45] <Thanasis> you have the application. Inheritance says it consists of three classes, QApplication, MHApplication, and mhmain.Application (names may differ a bit).
* [16:15:58] <Thanasis> but it is only one object
* [16:16:42] <Thanasis> We don't care if the QApplication activates a function in MH application, because it happens inside the same object
* [16:16:50] <Thanasis> the application
* [16:17:18] <Thanasis> we only pay attention to the interactions the application object has with other objects
* [16:17:43] <Doctor_Hell_> but if you need to find a function, you need to follow the inheritage chain...no?
* [16:18:24] <Thanasis> of course, in the code, yes. but in a diagram it will make it complex
* [16:21:02] <Thanasis> well, let's go top-down
* [16:21:29] <Thanasis> we have: QT, App, Tab, Task
* [16:21:56] <Thanasis> The event starts from QT, and activates a handler in App
* [16:22:22] <Thanasis> The App sends a new event to the current Task
* [16:22:46] <Thanasis> The task handles it, and sends a copy to the parent Tab
* [16:23:13] <Thanasis> And finally the Tab handles it and sends a copy to the App
* [16:23:35] <Thanasis> which handles it, and stops
* [Referring to how distrating it is to describe the big picture of MH, Thanasis comments ...]
* "Distract? no, this does not consume any brain energy"
* We love your help- the more the bettter -- Thanks [RWB]
Comments Regarding MacroTarget slider processing/handling based on naming conventions:
* [16:36:24] <Doctor_Hell_> [23:26] <Doctor_Hell_> another complex part to know is the engine coded by Jonas to automatically handel the targets using their name
* [16:37:58] <Thanasis> uh. yes, that's a tough one too. I think it does, but I don't remember why and how, because it was a long time ago and Jonas changed the human modifier class since then
* [16:38:18] <Thanasis> he simplified it, actually, but I haven't seen the new version yet
* [16:38:34] <Doctor_Hell_> where is the code?
* [16:38:49] <Thanasis> apps/humanmodifier.py, I think
* [16:39:01] <Doctor_Hell_> Jonas should be very busy recently, since I asked him but he didn't reply me yet.
* [16:42:37] <Thanasis> um by the way, reading humanmodifier alone won't help a lot. I would suggest starting from the macro plugin, to trace what happens when a slider is created, and when the user moves a slider. It might be easier this way
Difficulties in understanding relationships between folder names / module names and the object structure
* [16:39:36] <Doctor_Hell_> ANother thing to understand is why we have some code inapps, other incore, other in libs..the logic is not clear for me..
* [16:39:52] <Thanasis> ah, ignore logic in that part. :)
* [16:40:20] <Thanasis> as far as I know it is all because of mh history so far
* [16:40:29] <Thanasis> the way it developed.
* [16:40:56] <Doctor_Hell_> I know some of it
* [16:41:24] <Doctor_Hell_> in the early times,it was planned to have a core folder, with all important main files
* [16:42:03] <Doctor_Hell_> then anapps folder, to contain many application based on the core files: makeHuman, makeANime, MakeToon, etc..
* [16:42:29] <Doctor_Hell_> butsharedandlibswere added later...I don't know why
* [16:43:10] <Thanasis>libs, they are classes imported from c++ directly
* [16:43:48] <Doctor_Hell_> ah ..so only the "shared" folder is the mystery
* [16:44:04] <Thanasis> shared, they are later classes used by many different parts of the code at the same time
* [16:44:15] <Thanasis> classes created later*
* [16:44:28] <Thanasis> ie. material. It's used literally everywhere
* [16:44:32] <Thanasis> progress too
* [16:44:58] <Doctor_Hell_> ok..at least now it make sense, thank you
* Comments on New API project
* [16:45:39] <Doctor_Hell_> now that you have more time, will you look at the API?
* [16:46:55] <Thanasis> 'time' != 'creativity'. I expect it will be easier to me after the start of the semester
* [16:46:27] <Doctor_Hell_> if you are logged to MH site, you can see this:!LINK!http://www.makehuman.org/blog/the_makehuman_api_project_mhapi.html -- http://www.makehuman.org/blog/the_makehuman_api_project_mhapi.html!/LINK!
* [16:47:02] <Doctor_Hell_> Also Joel has already created this:!LINK!https://bitbucket.org/joepal1976/makehuman-api-project/overview -- https://bitbucket.org/joepal1976/makehuman-api-project/overview!/LINK!
* [16:48:52] <Doctor_Hell_> at the moment, you can just post a list of wished api in the issue 534
* [16:49:16] <Doctor_Hell_> we want to start the API in few weeks..they are fundamental, in order to have more contributors...
* [16:51:05] <Thanasis> oh, boy. I want to clean up this code!LINK!https://bitbucket.org/joepal1976/makehuman-api-project/commits/aa5c12953fb2c8a1723b21bb0b7d90667653d615 -- https://bitbucket.org/joepal1976/makehuman-api-project/commits/aa5c12953...!/LINK!* Go for it? [RWB] :)
The Doc_Hell Diagram (green and red arrows that even Glynn couln't understand)
[Summary - concentrate on green arrows not red arrows to get the big picture]
* <Doctor_Hell_> this is an example of bad diagram:!LINK!https://www.dropbox.com/s/v3waacufp9pyx1u/mouse_event.png?dl=0 -- https://www.dropbox.com/s/v3waacufp9pyx1u/mouse_event.png?dl=0!/LINK!
* [16:52:48] <Thanasis> well, in your shape, the actual thing is about the green arrows
* [16:53:19] <Thanasis> the red arrows could have been implemented in hundreds of different ways
* [16:53:44] <Thanasis> but the important is their result, the green arrows
* [16:53:53] <Doctor_Hell_> talking about how to draw the objects?
* [16:54:26] <Thanasis> well, my idea was, do two shapes
* [16:54:36] <Thanasis> the first without code
* [16:55:10] <Thanasis> only showing the 5 steps like I explained above, ie, the green arrows
* [16:55:28] <Thanasis> the second can explain each step in detail using the red arrows
* [16:55:50] <Thanasis> but in any case the definition is the following
* [16:56:04] <Thanasis> an event is, you send the name of a method to someone
* [16:56:14] <Doctor_Hell_> ok...but also we have the description written by Manish. I'll show you it tomorrow
* [16:56:21] <Thanasis> and that someone executes that method of theirs
* [16:56:47] <Thanasis> sure, there are many ways to describe it
* [16:57:00] <Doctor_Hell_> I hope we can find the best one
* [16:57:07] <Thanasis> I think that they all match though in some certain key points
* [16:57:52] <Thanasis> if these are filtered out, the explanation may be more simple
And touching on API ideas ...
* [16:59:09] <Doctor_Hell_> since the core is too complex for average python programmers
* [16:59:36] <Thanasis> yes... perhaps the code could be organized in tiers.
* [17:00:00] <Thanasis> core, classes, plugins, scripts
* [17:00:27] <Doctor_Hell_> ah you are talking of the current code, not the simplified api
* [17:00:54] <Doctor_Hell_> yes, it's a good idea..but what group under "core" ?
* [17:01:25] <Thanasis> theapplication and its interfaces(ie.communication with the system and devices. QT, GL etc.)
* [17:01:59] <Thanasis> classes are abstract, they use the application by calling its methods
* [17:02:35] <Thanasis> the application uses the interfaces (QT, GL.these are actually harder than the application andcould be a sepparate tier)
* [17:02:54] <Thanasis> thepluginsuse the classes to create objects
* [17:03:26] <Doctor_Hell_> I see some possible confusion because:
* [17:04:24] <Doctor_Hell_> - not all core modules are into core folder (for example qtui and qtgui are in libs)
* [17:04:49] <Doctor_Hell_> - Classes are everywhere
* [17:05:07] <Thanasis> yes, libs folder consists of both core and classes... indeed
* [17:05:23] <Thanasis> andinterfacestoo
* [17:06:51] <Thanasis> but in general, this separation exists somehow. I'm not sure how, but the past programmers instinctively created it, perhaps for better manageability
* [17:08:14] <Thanasis> ie. Human is a class, Material too, Armature (probably making name wrong again), and to function I observe that they use callbacks of Application
* [17:08:38] <Thanasis> They never use interfaces directly
* [17:09:46] <Thanasis> Even for drawing the human, it is the Application that will give the Human's object3d to OpenGL, not the Human directly
* [17:10:31] <Thanasis> and plugins use classes ie. they use the callbacks that Human, Material etc. have
* [17:11:08] <Doctor_Hell_> Do you mean abstraction classes?
* [17:13:27] <Doctor_Hell_> Thanasis: about new API:!LINK!http://bugtracker.makehuman.org/issues/534 -- http://bugtracker.makehuman.org/issues/534!/LINK!
* [17:13:42] <Doctor_Hell_> and!LINK!http://bugtracker.makehuman.org/projects/makehuman/wiki/Abstraction_API_for_plugins -- http://bugtracker.makehuman.org/projects/makehuman/wiki/Abstraction_API_...!/LINK!
* [17:13:57] <Doctor_Hell_> Feel free to add wished api calls
=== Q & A with Glynn Clements ===
Question: For an event when user clicks on a tab, Tabs class method tabChanged is called.
QTabWidget documentation.There is no such method.
Response:
The tabChanged method is defined for qtgui.TabsBase (and overridden for qtgui.Tabs).
Both qtgui.Tabs and qtgui.TabBar inherit from qtgui.TabsBase.
Tabs inherits from both TabsBase and QTabWidget while TabBar inherits from both TabsBase and QTabBar.
Both QTabWidget and QTabBar define the currentChanged signal, which is emitted whenever the current tab changes.
The TabsBase initialiser connects this signal to the tabChanged method (lib/qtgui.py:109):
class TabsBase(Widget):
def __init__(self):
...
self.connect(self, QtCore.SIGNAL('currentChanged int)'), self.tabChanged)
==========================================================
Question: is it true that qtui module: low level module, that handles signals directly from QtCore, QtGui and QtOpenGL?
Response:
qtui defines the classes for the application (QApplication subclass), main window QMainWindow subclass), drawing canvas (QGLWidget subclass), and some associated support classes. In other words, it implements the high-level UI, or at least the aspects which are tied to Qt.
Question: is it true that qtgui module: low level module, that define the basic widgets of the GUI as buttons, radiobuttons, etc..
Response:
Yes; qtgui is essentially a compatibility layer between the Qt widget classes and the legacy MH GUI toolkit. The classes provide methods which more closely mimic the behaviour of original gui3d widgets. Qt events are translated to MH events3d events.
Question: Is it true that gui3d module: high level module, that define the principal public classes of MakeHuman: Application, Category, TaskView and View.
Response:
This is what's left of the legacy MH GUI toolkit. Before the move to Qt, everything was a "View". Now it's just the high-level containers (Application, Category, Task) which exist as somewhere to put event handlers.
Question: What is the purpose of the module guicommon.py? Looking at the module name, it appears to be a sort of library for the GUI functions, but it's a completely different thing. What is it really?
Response:
Object used to be part of gui3d. Its primary function is to be the base class for Human. It's the other main subclass of events3d.EventHandler (the first being gui3d.View).
It's not really accurate to call it a "wrapper" around Object3D (although it can have instances of both module3d.Object3D and object3d.Object3D as members).
One of the main differences between guicommon.Object and module3d.Object3D is that the latter is a single mesh, while the former has up to four meshes (all of type module3d.Object3D): the base (or "seed") mesh, a proxy mesh, a subdivided mesh, and a subdivided proxy mesh.
It [guicommon.py or guicommon.Object ??RWB] also contains an object transformation (location, rotattion, scale) [method?], and optionally a display mesh (object3d.Object3D). As a subclass of EventHandler, it [guicommon.Object ??RWB] provides mouse handlers which propagate the event to the object's view (these are overridden for the Human within MHApplication.loadMainGui).
Question: G.app is the singular mhmain.MHApplication instance; the callEvent method (inherited from event3d.EventHandler) will end up calling G.app.onMouseDownCallback. How the function callEvent end up calling G.app.onMouseDownCallback?
Response:
"direction" will be either onMouseDownCallback or onMouseUpCallback. Note the "Callback" suffix.
So typical event flow for clicking on the human model is:
G.app.mainwin.canvas.mouseUpDownEvent ("onMouseDownCallback")
[Canvas.mouseUpDownEvent]
G.app.callEvent("onMouseDownCallback") [EventHandler.callEvent]
G.app.onMouseDownCallback() [gui3d.Application.onMouseDownCallback]
G.app.selectedHuman.callEvent('onMouseDown', event) [EventHandler.callEvent]
G.app.selectedHuman.onMouseDown()
[local function in MHApplication.loadMainGui]
G.app.currentTask.callEvent("onMouseDown", event) [EventHandler.callEvent]
G.app.currentTask.onMouseDown() [View.onMouseDown]
G.app.currentCategory.callEvent("onMouseDown", event) [EventHandler.callEvent]
G.app.currentCategory.onMouseDown()
[View.onMouseDown]
G.app.callEvent("onMouseDown", event) [EventHandler.callEvent]
G.app.onMouseDown() [MHApplication.onMouseDown]
Notes:
G.app.currentTask.parent == G.app.currentCategory
G.app.currentCategory.parent == G.app
Question: is the eventType string (also called 'direction') originated by QT?
Response:
No. "direction" is just so that code which is common to both mouse press and mouse release events can go into a single method (mouseUpDownEvent) rather than duplicating it in mousePressEvent() and mouseReleaseEvent(). Those functions are identical except for the name of the event passed to callEvent.
Bear in mind that self.callEvent("onMouseDown", event) is almost the same as self.onMouseDown(event), except that callEvent forces a redraw after the event has been dealt with, and has some support for logging and profiling. Once you strip that away, the guts of callEvent() is just:
method = getattr(self, eventType)
method(event)
======================================================================
Question: Can the modularization of the code can be improved?
Response:
Modularisation is already quite good. Too much of it can make the code harder to understand.
Currently, we try to avoid importing OpenGL or Qt modules (directly or indirectly) into modules which don't inherently depend upon them (e.g. guicommon.Object imports object3d locally in the attachMesh and detachMesh methods, so it only gets imported if you actually need to render the object).
TODO ACTION. One minor point which I noticed: lib/camera.py imports glmodule solely for the queryDepth() call in convertToWorld2D (the Z coordinate is obtained by retrieving a value from the depth buffer using the X,Y coordinates). This should probably be a local import in that method, so that camera.py could be used in e.g. import/export utilities.
==========================================================================
Question: [Referring to DocHell's red and green diagram (!LINK!https://www.dropbox.com/s/v3waacufp9pyx1u/mouse_event.png?dl=0] -- https://www.dropbox.com/s/v3waacufp9pyx1u/mouse_event.png?dl=0]!/LINK!]
Response:
I have no idea; I can't follow that [diagram]. It would probably help if you simply ignore CallEvent(), and treat object.callEvent('method',event) as just object.method(event).
The two factors which make following the flow slightly complicated are:
Methods aren't always defined within the class used to create an object, but may be inherited from one of its base classes.
Event handlers may be dynamically added to an object with the mhEvent method (which is usually invoked using Python's decorator syntax). This is done for the Human object in MHApplication.loadMainGui():
@self.selectedHuman.mhEvent
def onMouseDown(event):
....
If you aren't familiar with the decorator syntax, the above is equivalent to:
def onMouseDown(event):
...
self.selectedHuman.mhEvent(onMouseDown)
which in turn boils down to:
def onMouseDown(event):
...
self.selectedHuman.onMouseDown = onMouseDown
=================================================================================
Question: Could you provide an explanation of what a weak reference is? How might this impact MakeHuman?
Response:
[Jonas Hauquier ] A weak reference, one that is not accounted for by the garbage collection. Garbage collection removes objects from memory that have no pointers to them anymore. Weakrefs are not counted among those, so if the object has only weakrefs pointing to it, and not real pointers, it will be removed anyway. This is to make sure that object A and B that always point to each other, are not kept in memory just because they keep referencing each other (I believe the garbage collection does not do expensive graph traversals to check what is still referenced by the active context).
[Glynn Clements] Sort of. Python uses both reference-counting (which can't handle circular references) and reachability-based garbage collection (which can). If an object's reference count reaches zero, it will be finalised immediately. But an object with a non-zero reference count can still be finalised if it can be determined that it isn't reachable during a garbage-collection sweep.
However: the garbage collector won't attempt to finalise reference cycles if any of the objects in the cycle have a __del__ method, as it can't determine a safe order in which to execute them. Instead, it adds them to a list, accessible as gc.garbage. Application code can inspect this list, manually finalise the objects (which should break the cycles), then remove them from the list (otherwise their presence in gc.garbage will itself constitute a reference).
It's possible to have the garbage collector report such cases using gc.set_debug(gc.DEBUG_UNCOLLECTABLE).
Only a few MH classes contain __del__ methods. These will only present a problem if the object itself is part of a cycle (i.e. contains references to "complex" objects which themselves contain references which could lead back to the original object).
"Leaf-node" classes such as Texture and Shader shouldn't present a problem unless their creators attach additonal references to them. This may be an issue for e.g. qtgui.Slider and qtgui.RadioButton, as these have __del__ methods and will naturally create circular references. Use of weakref may be advised here. Similarly for queue.Thread. SceneItem in plugins/7_scene_editor.py may also be a problem.
=============================================================================
Question: Could you clarify wherther the following acurately describe the use of decorators?
A basic decorator is a function that:
1) Gets a function "A" as argument
2) Modifies the behavior of "A"
3) Returns a "decorated" version of "A"
Response: Correct.
Question: Topic: Decorators and side-effects. When is a decorator not about generating a function? So, if the above accurately descibes a decorator, consider the code:
@self.selectedHuman.mhEvent
def onMouseDown(event):
This should translate:
onMouseDown = self.selectedHuman.mhEvent(onMouseDown)
One would expect that using mhEvent as decorator, it returns a function, but instead, it returns None:
def mhEvent(self, eventMethod):
self.attachEvent(eventMethod.__name__, eventMethod)
How can it be used as decorator?
Response:
Because the returned "function" isn't actually used anywhere. The definition is local to loadMainGui(), which doesn't reference the functions, so the fact that e.g. onMouseDown is None within loadMainGui() doesn't matter. The mhEvent() method is used for its side-effects, not its return value. It attaches an event to the selectedHuman. It is equivalent to:
self.selectedHuman.attachEvent(onMouseDown.__name__, onMouseDown)
==============================================================================
== Packager's notes ==
Notes for packagers of Makehuman stables and nightlies.
=== Packaging RPM's for Suse/Fedora using Open Build Service (OBS) ===
The Open Build Service is a service formerly known as the Opensuse build service. OBS allows packagers to build packages for several targets. Here a target is a particular OS version E.g. Suse 13.1, Suse 12.3, Fedora 20 , Ubuntu 14.04 and so on. OBS being a build system by itself can be hosted anywhere even on local infrastructure. For MakeHuman packages we use the OBS instance hosted by Novell at build.opensuse.org
This document will briefly outline the typical packaging workflow for Suse and Fedora. Both distributions use the RPM format and subsequently adhere to RPM's packaging rules.
!IMAGE!Pictures/obs-flow-chart-scaled.png!/IMAGE!
=== 1) Prepare source tarball: ===
OBS does not allow pulling from the internet once the rpm is being processed into a package so. When creating the source tarball you should assemble it either on your own computer or a server online (even a VPS will do).
There are several Important files and scripts which are of interest to us. One is build_prepare.py this assembles the main folder and all the common data which is needed by all OSes be it Mac or LInux distros or windows. This script is essential to run. Then there is build_rpm.py. We borrow some of the initial code in this and use it on our bash script but we do not build the whole RPM because OBS does that. Another third inportant file is build.conf (this stores the configuration used by build_prepare.py to make the source tarball). Using the above scripts/files I prepared a Bash script which is shown below.
The above script assumes the following:
* You have cloned MakeHuman's Mercurial (Hg) repo into your home directory and it is located at ~/makehuman (cloning into ~/ automatically makes the makehuman folder)
* You have python , numpy and pyQt4 installed (package names may vary from distribution to distribution)
* You are running on a LInux distribution.
* You want to prepare a source tarball from Hg tags.
* $VERS is the latest user specified stable tagged version
* makehuman-$VERS is your destination folder where all files are copied
* the final tarball uses bzip compression. How the tarball is compressed is significant as RPM accepts only certain compression algorithms. The resultant file is makehuman-$VERS.tar.bz2 (E.g. makehuman-1.0.2.tar.bz2)
* You use an FTP server whose file path is located at /var/ftp you can skip this step if the script is run locally by commenting the lines out.
Explanation of the above script:
In the first section we use Hg and extract available tags and ask the user for input on which stable tag he/she wants to build against.
In the second section we automatically create the build.conf file which is used to specify if we want a release or development folder. Here we set isRelease=True
In the third section we use build.conf along with build_prepare.py this creates a basic non-OS specific folder in home (~/).
In the fourth section we copy extra files such as the .desktop file and the makehuman icon file, the shell wrapper for MakeHuman and remove the .bat file which is not needed in linux. Currently there is a bug where command line arguments are not passed by the shell wrapper to the python executable. We fix this by manually editing the file automatically in our bash script before copying it into the target folder to be tarballed. This is moved into the folder created earlier by build_prepare.py . With this we now have have a folder with all the basic requirements needed for packaging.
FInally the folder is then tarballed and it is ready for upload to OBS. If you are not using an FTP server then comment out the “mv” command which moves the tarball to /var/ftp in the shell script above. IN some distributions the FTP directory is /srv/ftp
=== 2) Upload the tarball to OBS ===
The next step is to upload the tarball to OBS. Firstly you need to create a username and password. Then login to build.opensuse.org and create a project. On account creation you get your own home directory.
Two interfaces exist to OBS. One is the command-line interface which is available by installing the package "osc" it is available in most distributions. The other one is the Web User interface. Both are equally useful the command line interface is better for doing certain tasks however.
OBS also has a feature called “ services”. Several services are available such as services to pull from various sources e.g. FTP servers online, services to tarball the version controlled sources directly (tar_scm). You can make use of these _services (they are defined using XML notation in "_service" files). Read!LINK!”http://en.opensuse.org/openSUSE:Build_Service_Concept_SourceService” -- Source Services!/LINK!; or you can manually upload your tarball through the Web UI or use the "osc" command line utility. To learn how to use the "osc" utility use "man osc" or view the manpage online.
I would not recommend using _service files to pull the tarball as they can stop working. It is better to manually push the tarball to OBS. Either by pressing the upload button on the Web UI or placing the tarball in your project home directory created by using the “osc checkout” command. Then typing “osc ar” (add /remove) and finally “ osc commit -m ”put commit description here” “ to push and commit the changes you just made.
You can also automate the above process by adding lines to the shell script but It is better to administer osc separately and manually to allow for more control.
=== 3) Prepare the spec file: ===
A .spec file is a special file which is used to build RPM's. It “contains information required by RPM to build the package, as well as instructions telling RPM to build it. The spec file also dictates exactly what files are a part of the package, and where they should be installed. The RPM specification is very well defined and it is fundamental than any packager develop a strong base in the fundamentals.” (taken from “Maximum RPM”)
A very important book detailing the various capabilities of RPM is!LINK!”http://www.rpm.org/max-rpm/” -- Maximum RPM!/LINK!. This is a must read for any packager and will help in understanding the spec file shown below. If you have not read it please bookmark the page and give the book a read. I cannot stress how important it is.
In OBS we have 2 main OS's which use RPM's as build targets Fedora and Suse. RPM provides macros to make packaging more standardised and easy. Most Macros are common however some are distribution specific. Below is the spec file used by the Makehuman project. For version 1.0.2.
The above .spec file follows the general structure and format of spec files as per the RPM specification. The spec file has been formatted for for OBS by running “osc service localrun format_spec_file” then reading the contents to ensure that nothing went wrong and committing the changes back to OBS. In the above spec file we have split MakeHuman into 2 subpackages and made them depend upon each other to ensure consistency. As you can see there are 2 sources one is the tarball we created with our bash script earlier and there is another file called "makehuman.1" this is a manpage. In the spec file instructions are issued to gzip it and put into the manual directory on install. The manpage (Source101 in the .spec file) is shown below.
How man pages are created is out of scope of this document. Man pages use gtroff. There are however ample resources online which can help with this.
The .spec file has been commented to provide you with a better understanding of what is done at various stages.
Once the .spec file has been updated on OBS it automatically triggers a rebuild duribg that time you can monitor the status of the build process and correct errors in your spec file or sources as they arise.
=== 4)Pushing changes to the official repositories ===
Once you are satisfied that your package is stable you can make a submit request to submit the package from the Web User Interface or run the command below.
In the above command we submit the “makehuman” package to the OpenSuse “graphics” project. After this the package is reviewed by the maintainer of the graphics project and approved or rejected with comments given. You will receive an email after the project has been reviewed.
Notes:
* The .spec file and the manual page will change over time. The above is there for illustration purposes only.
* You can find copies of the most recent stable .spec file and makehuman.1 manpage!LINK!:https://build.opensuse.org/package/show/graphics/makehuman: -- here!/LINK!. This is the stable version after a "submit request" to the official Suse repositories.
8d0cbbd591ce7ba590569617f6743320d9e68c0d
687
674
2016-05-20T08:37:48Z
Joepal
14
wikitext
text/x-wiki
=== Zoom, pan and rotate using the orbital camera ===
==== Orbital camera ====
== Define Human Characteristics ==
This section illustrates the modeling of the human using theparametric approach.
=== Gender, Random, Measure and Custom ===
The gender plugin comprises sliders used to alter gender specific attributes of your human models.
Currently there are 2 categories under this:
* * Breast - this category, as the name suggests, comprises of sliders used to alter attributes related to the human female breasts such as firmness, size, pointiness etc.
* * Genitals - This category comprises of sliders used to alter attributes pertaining to male/female genitalia. Currently only male genitals are supported. (Note: male genitals have to be enabled under Geometries->Genitals for this to have any effect).
Note:For the upcoming MakeHuman 1.1 these sliders have been disabled and the Geometries->Genitals subpanel no longer exists this is because we no longer have male genitals as a seperate mesh. Seperate male and female!LINK!http://www.makehuman.org/doc/node/makehuman_alternative_topologies.html -- alternate topologies/proxies!/LINK!exists with/without genitalia which are to be used instead.
==== Random modifier ====
!IMAGE!Pictures/random2_2_0.png!/IMAGE!
The random modifier is used to auto generate human beings with randomised parameters.
The interface comprises of 3 checkboxes, 2 sliders and 2 buttons.
* Macro checkbox -This checkbox is used to toggle whether "Macro" attributes such as age, tone/muscle, gender are randomised or not.
* Height checkbox -This checkbox is used to toggle whetherthe height attribute is randomised or not.
* Face checkbox -If this is enabled the facial features of the model are randomised.
* Symmetry slider -THis is used to introduce Assymmetry in the model.
* Amount -THis slider is used to control the amount of randomisation of the character done by the random plugin.
* Replace current -usede to replace current model with a new random model.
* Adjust current -this is used to alter the parameters of the current model.
==== Measure Panel ====
!IMAGE!Pictures/measure_1.png!/IMAGE!
The "Measure" tab facilitates the end user in more precise modelling of the human form. With the measure panel you are able to use the sliders as well as specify the units as sliders for more accurate adjustment of proportions. Various proportions can be edited here such as the proportions of the neck, waist , arms, legs and so on. One example of where this would be useful is in modelling characters like Michael Phelps who has an arm span longer than his height making him a better swimmer.
==== Custom modifier ====
!IMAGE!Pictures/customtab_0.png!/IMAGE!
The custom panel is primarily used for "custom morphs". Cusom morphs can be created by you using blender tools and then used inside makehuman. This tab will remain empty unless you make your own targets using blender scripts and import them for use inside blender. This would be used for instance if you wanted to make an "Elven ears" morph inside makeuman for a humanoid character. This tab is more relevant for advanced makehuman users.
=== Using MakeHuman Hairstyles and Clothes ===
==== Hairstyles ====
The default MakeHuman™ humanoid model has no hair. However, you may want your model to have hair and a particular hairstyle. In MakeHuman™, you can choose from the available character hairstyles by first selecting the tabsGeometries > Hair.
!IMAGE!Pictures/hair_1_0_0.png!/IMAGE!
This opens the Hair library window. The Hair library window, as usual, is arranged in three sections. There is a left hand panel (currently empty, but that will include a tag filter), a center preview window showing your current character model, and a right hand panel containing a list of available hairstyles shown as a thumbnail with a label. For the moment, the default hairstyles within MakeHuman™ are only few types. The library will be expanded release by release.
To be able to see your character with an available hairstyle, you must click on the thumbnail image with your mouse.
=== Changing or Removing Hairstyles and Hair ===
You can change an assigned hairstyle with another one by clicking on another thumbnail. For example, you can change the hairstyle "afro" of your model by clicking on the hairstyle "fhair" from the panel of thumbnails. Note that doing this will not combine the two hairstyles.
If you are unhappy with how the chosen hairstyle looks on your model and want to return to the previous state of your model, you can press the Undo button at the top left of the screen. In case you want to return to the original state of the model prior to applying any hairstyles, just find the thumbnail named "None" from the gallery of hairstyles and click on it. Your model will now revert to the state that it had before applying any hairstyles to it.
==== Clothes ====
The default MakeHuman™ model is barefoot and has no clothing on. However, if you would like to dress your model in MakeHuman™ it is possible by simply clicking and loading clothing and shoes from the library of clothing geometry objects that are fitted to the model automatically.
To dress your model press the tabsGeometries > Clothes.
!IMAGE!Pictures/clothes_1_0.png!/IMAGE!
The clothes interface is very similar to the hair one, with some differences:
* Clicking on more items in the right panel will combine them. To remove an item you have to re-click it.
* There is a tag filter in the left panel, useful to navigate through a big library.
* An option called "Hide Faces Under Clothes" is provided to prevent portions of the body from intersecting the clothing and creating holes during animating.
=== Parametric Modelling ===
!IMAGE!Pictures/main_labelled.png!/IMAGE!
The Main controls are accessed by going to the 'Modelling' tab and selecting the “Main” sub-tab.
These controls define the major characteristics of a human being. controls are used to define the character's macro features. The first six corresponding to Gender, Age, Muscle, Weight, Height, Proportions respectively and the last three ( African, Asian, and Caucasian) correspond to ethnicity.
!IMAGE!Pictures/age_0.png!/IMAGE!
* Gender:The gender tab is used to define what gender the human being poseeses. Male or female or a mixture of both characteristics with either being dorminant.
* Age:The age slider is used to alter the age of the human being as a whole. The above image shows human beings at various ages ranging from young to old.
* Muscle:The muscle sider is used adjust the amount of muscle possesed by the human character.
* Weight:The Weight silder is used to adjust the weight of the character. The default setting is the character with average weight. Used along with "Muscle" it can be used to specify the proportion of muscle and fat contributing to the weight.
* Height:The Height slider is used to adjust the height of the characters.
* Proportions:The proportions slider is used to adjust the the proportions, from "uncommon" to "idealistic".
Ethnicity sliders:THe ethinicity sliders (African, Asian, Caucasian) are used to alter the ethnic traits of the human being. These slidersare dependent on each other such that the sum of all three sliders is always 100 percent or a value on 1. This means that an increase in the value of "African" slider will lead to a decrease in the value of the "Caucasian" and "Asian" sliders. This is rational because if for instance a human being is of pure African origin then he/she is expected to possess only African traits whereas if he/she is of mixed decent the character is expected to have a fusion of ethnic characteristics. A human being cannot be hundred percent African and hundred percent Asian.
==== Face modifiers: ====
!IMAGE!Pictures/face_modifier_labelled.png!/IMAGE!
The makehuman face modifiers in makehuman are organised into several categories(eyes, nose , chine etc.) comprising of the morphs pertaining to varios facial features. The morphs available on the right hand side pertain to the category currently active.
E.g. When the Head category is selected all morphs pertaining to the head such as head shape (oval ,round , triangular etc), angle and age are available. If the category was to be switched to Mouth size however all sliders related to that category would be visible and manipulatable.
==== Adjusting the Torso Shape: ====
!IMAGE!Pictures/torso_cropped_labelled.png!/IMAGE!
In order to alter the torso-related features of the human we have to select the "Torso" sub-tab located under the main "Modeling" tab. In the torso section we are able toalter various attibutes such as stomach (size, pregnancy shape), body height, width and so on.
==== Arms and Legs Shape: ====
!IMAGE!Pictures/legs_modelling_2_0.png!/IMAGE!
The "Arms and Legs" sub-tab is again located under the main "Modeling" tab. Here we can alter the various attributes related to the arms and legs such as hands, arms and feet.
=== Makehuman alternative topologies ===
Makehuman provides a group of alternative topologies which replace the base mesh and are designed for special purposes. These are useful for various applications such as simulation (E.g. a car crash computer simulator), games and so on.
!IMAGE!Pictures/topologies_0.png!/IMAGE!
In order to use the alternative topologies provided by MakeHuman; go to Geometries -> Topologies.
For alternative topologies we follow a specific naming convention having the structureNameVertex-countE.g. proxy741 is a alternative topology named proxy with 741 vertices, female1605 is an alternative topology designed for females with 1605 vertices in the mesh.
For illustration purposes we show the wireframe/mesh view of female1605 with 1605 vertices in the figure below.
!IMAGE!Pictures/Proxies1.png!/IMAGE!
=== Skin and other materials ===
==== Changing Skin Texture ====
By default the human has a texturless skin.
Assigning a new skin material is very easy. Go in Materials Tab. You will now see a radio button option for "Skin" under the Human category choices section on the left side of the window. The right side will display available skin materials that can be applied to replace the default skin. By clicking on one of them your character will be displayed with the chosen material.
!IMAGE!Pictures/materials_0.png!/IMAGE!
==== Changing Hair Textures ====
Same process as the skin, but selecting the "hair" radio button instead. The materials available depend by the type of hair loaded.
!IMAGE!Pictures/hair2_0_0.png!/IMAGE!
==== Changing Clothes Textures ====
Changing clothes texture is exactly as the hair one, selecting the cloth type instead of hair.
!IMAGE!Pictures/clothes2_0_0.png!/IMAGE!
== Rendering Your Work ==
To write
=== Quick rendering and advanced rendering ===
==== Introduction ====
MakeHuman™ has an internal rendering engine based on OpenGL technology: GLSL 1.2 for openGL 2.1 or superior.
For this reason some features will be available only for machine(s) build after semptember 2006.
For the same reasons, the results can vary a bit, depending the video cards.
!IMAGE!Pictures/render_0.png!/IMAGE!
==== Quick render and advanced render ====
MakeHuman™ uses two different rendering approaches, quick and advanced rendering. Both them produce images with transparent background, in order to be eaily mounted in Gimp or Photoshop.
The quick renderingis intended to for a click-and-see render. It uses fixed presets for lights and materials, studied to show the model in an optimal way. There are only ywo available options in that mode:
* Resolution, written in the form widthxheight
* Antialiasing(turn it on for quality rendering): Aliasing happens when model edges look 'jaggy'. Raise this slider to filter these. It also help hair and thin stuff in general look better. However raising the AA level can have an equivalent performance hit.
The advanced renderinguse a different rendering technique. It gets the lights defined in "scene" and make complex calculations. In future it will supports shadows and more options to increase the realism.
In addition to the two existing options, there is the subsurface scattering one. Enabling it will produce a more realistic and impressive skin, to simulate the skin's behaviour when light passes through it.
When you have finished selecting the desired options, press the 'Render' button and see your model become a piece of 3D art!
=== Scene and Viewer ===
==== Makehuman "Scenes": ====
MakeHuman™ provides a library of lighting presets, that will be used in the "advanced rendering" mode. This library is the "Scene" library which currently has only one lighting preset named "default".
==== The "Viewer": ====
The rendering result will be displayed in the "viewer". It's possible to zoom and move the image using the usual mouse buttons, and then save the image as png, using the "Save as" button.
!IMAGE!Pictures/viewer_0.png!/IMAGE!
== Settings ==
Setting the preferences in MakeHuman.
=== Background ===
The Background tab allows you to add background/foreground images to use as a modelling reference or to create a scene within MakeHuman™ for the Short Pipeline.
When you open the Background tab you will see a "None" icon and a list of thumbnails of the files within the backgrounds folder in the!LINK!http://www.makehuman.org/doc/faq/where_is_my_home.html -- MakeHuman home folder!/LINK!, if they are present. The "None" icon is used to remove the background from the MakeHuman™ scene.
!IMAGE!Pictures/background_0_0.png!/IMAGE!
==== Different backgrounds for different sides ====
Prior to selecting an image you should first determine the side of the MakeHuman™ scene where you want the image to appear. You can specify where you would like the background placed relative to your MakeHuman™ character with the Side control choices on the right hand side of the Background tab screen.
The first six (6) options set the background in your scene using the standard Camera view positions. If you choose the last radio button option labeled "Other" you can add the background into the scene with the character and camera position however it was last set, as long as it was not in one of the predfined camera views.
If you are placing an image to act as a reference image for modelling your character, you should select the side that matches your reference facing.
You can insert up to 7 different images into the MakeHuman™ scene by applying a different image to each Side option. As the camera view changes into each side view or other view angle, the image shown will change as match your image side configuration for each of the camera side views shown in the modelling window. The background image, in fact, will only appear while the camera remains in the side view specified. Pressing one of the camera view options is the easiest way to get a background image to reappear if it disappears due to a camera view change.
==== Background opacity and position. ====
The Background Setting options allow you to set the background image's opacity using the Opacity slider control, which determines how transparent or opaque the image will appear in the scene, and to set the image as a background or foreground. These controls are particularly useful when you are using reference images to model your character.
The standard Opacity setting of 100 is equivalent to a 60% transparency level. Setting the control to 0 will make the image invisible (100% transparency) and setting the opacity control to 250 will make the image fully opaque (0% tranparency).
The "Show in Foreground" checkbox option allows you to place the image in front of the character in the scene so that the character will be obscured according to the opacity level setting of the background image. This option should be checked if the image will be used as a reference image for modelling.
The background can be moved and resized to properly fit the character, checking the options in the left side and then clicking and dragging with leftbutton or rightbutton.
=== General ===
==== General Settings ====
The general settings include important features that can make a huge difference in MakeHuman's performance.
!IMAGE!Pictures/general.png!/IMAGE!
=== Slider behaviour ===
* Update realtime. This option recalculates the human shape in real time during the slider movements. This requires more CPU resources.
* Update normals real time. By enabling this option, the normals are updated during the slider movements in order to see a correct shading in real time. Computing the surface normals requires an intensive CPU calculation, so this can slow down old PCs.
* Fit objects in realtime. By enabling it, all objects (eyes, hair, clothes, teeth, etc..) are fitted in real time during the body transformations. This requires more CPU resources.
* Autozoom camera. Enabling it will automatically zoom in the camera to the zone of interest. For example, editing the head, it will zoom in to it, editing the hand, it will automatically zoom in to the hand, etc.. This can be useful in some cases, but it doesn't allow custom point of view, so this option is disabled by default.
* Slider images. Enable the images to illustrate the sliders' effect. Disable it for a more compact list of controls.
=== Units ===
This setting is to choose the measurement system that will be used :
* Metric, to use meters, centimeters, etc
* Imperial, to use inch, feet,etc..
=== Startup ===
* Preload macro targets. This option is very important for perfomance and startup loading time. Using the preload increases a lot the performance, but in the case when the targets are not compiled (for example the raw targets cloned from HG) it will considerably increase the loading time during startup.
* Restore windows size. This option is just to remember the custom windows size used for MakeHuman.
=== Theme and languages. ===
These options areself explanatory. MakeHuman needs to be restarted for a change in the language settings to be effective.
=== Mouse ===
==== Managing mouse configuration: ====
THe "Mouse" tab allows you to configure the behaviour of the mouse in makehuman.
!IMAGE!Pictures/mouse_001.png!/IMAGE!
The first wiidget in the left panel contains one slider labelled "3D viewport Speed". This slider controls the how sensitive the viewport is to mouse movement. As you increase this parameter the viewport become increasingly sensitive to mouse movements, thereby moving faster. Tweak this parameter with care. A value of one is the default speed at which makehuman models rotate and move in response to the mouse. Increase this parameter if you feel that the movements are too slow for your liking.
The second widget inside the left panel is the "Camera" widget this widget allows you to configure the mouse settings used to control the camera. This also allows you to invert the mouse wheel.
Note:With the orbital camera, panning is available only in certain situations. Therefore, the "Move" shortcut has been made available for configuration. If you cannot pan your model it may not a bug.
=== Shortcuts ===
THe "Shortcuts" tab helps us to manage shortcuts in makehuman.
For your convinience shortcuts have been organised into 3 categories. The first category with the largest number of shrrtcuts available for configuration is the "Camera" category whose panel is located on the left hand side. THe other two categories are "Actions" and "Navigation". The "Action" panel helps us to alter shortcuts for actions such as undo and redo. The "Navigation" panel helps us to set shortcuts to quickly navigate between various frequently used tabs in Makehuman.
!IMAGE!Pictures/shortcuts-mh_002.jpg!/IMAGE!
==== How to use the Shortcuts Tab ====
Managing of shortcuts is very easy inside makehuman. Just select the appropriate box with the current shortcut key andf type in thenew shortcut key/key combination. Makehuman will warn you if there are duplicates.
=== Plugins ===
Makehuman is designed using a modular approach. All features within makehuman belong to one module or the other. THese modules are called Plugins. With the help of the "Plugins" tab in makehuman we can enable or disable certain plugins thereby altering the feature set available.
This feature is useful when:
1) A particular feature is uneeded and you want to improve performance of makehuman by disabling it.
2) A particular plugin is giving problems on your machine and you would like to disable it to avoid accidently triggering the fault again.
!IMAGE!Pictures/plugins-mh_002.png!/IMAGE!
By default all plugins are enabled plugins can be disabled by clicking on the option buttons and removing the "x" next to the related plugin.
== Reporting a Bug ==
How to help MakeHuman development reporting a bug.
=== Using the Makehuman log files for error reporting ===
Occassionally, MakeHuman will not behave as expected, or you will note an exception in the status line, You willingness to make a bug report.for such events goes a long way to help imrove MakeHuman. For simple bugs,, it can often be enough to report the version of your operating system, the version of MakeHuman that you are using, and the steps to reproduce the problem. However, the developers often need to know more detail to reproduce your problem in a different environment.
As long as MakeHuman has not "crashed" completely, the easiest way to learn the details is to use thebuilt-in log viewer. This can be accessed by selecting theutilities taband then thelog subtab. On the left, you will see alevel selectorthat is initially set to "default". The center panel will show a very verbose set of all the actions that have happened inside MakeHuman since it was last restarted. This entire set of information is seldom needed.
For bug reporting, you will be most interested in the messages that show when you set the level selector to "error". If severe problems have occurred, the center window will show the errors logged in red. If there are none, it may still be worth reporting the somewhat less severe "warning" level messages which resulted in code exceptions. These messages will show in orange if you set the level selector to "warning". Only seldom will levels of "notice" or "message" be of interest to developers. Supply these only upon request.
When you find "errors" or "warnings" you can highlight the message(s) with the mouse and press the "copy" button in the left panel. The message will be copied to your clipboard. Simply paste these messages at the end of your bug report.
In the event that MakeHuman crashes completely, or in the case of complex problems it may be better or easier to upload more complete log information from the log files. MakeHuman always creates 2 important files called "makehuman-debug.txt" and "makehuman.log" in the user's home directory (under "My Documents/makehuman/v1" in Windows or "~/makehuman/v1" in your linux distribution).
makehuman-debug.txt:This provides some essential information about the system on which you have installed makehuman such as version information, machine architecture type, numpy versions and so on which is useful when reporting a bug as the bug may be applicable to your particular machine configuration.
makehuman.log:The makehuman.log file is another separate file. This file logs all events that take place from the beginning when makehuman is loading till the end when makehuman is closed. ALl regular events and error messages are logged in this file. It is important that you attach either this whole file or the last few signinficant lines indicating where the bug occured. This logs contains backtraces and other useful information like what plugins loaded, what plugins did not at which point did a python script fail and so on.
When reporting a bug in the makehuman bugtracker posting the contents of both these files is useful and will help us to debug and resolve the issue(s) more quickly. This is of course not needed when you are posting a feature request which is not a bug.
=== Using the Makehuman bug tracker ===
Makehuman has introduced a new internal bug tracker based on redmine (!LINK!http://www.redmine.org -- www.redmine.org!/LINK!) this tracker allows us to easily handle bug reports and feature requests reported/requested by you. In order to use this new bug tracker a forum account is compulsory (even if you do not wish to use forums). Your forum ID becomes your makehuman bug tracker ID.
Following are some quick links related to makehuman bug tracker:
* Roadmaps:!LINK!http://bugtracker.makehuman.org/projects/makehuman/roadmap -- http://bugtracker.makehuman.org/projects/makehuman/roadmap!/LINK!
* Add a new issue and see the isues list:!LINK!http://bugtracker.makehuman.org/projects/makehuman/issues -- http://bugtracker.makehuman.org/projects/makehuman/issues!/LINK!
* Graph for a quick overview:!LINK!http://bugtracker.makehuman.org/projects/makehuman/issues/growth -- http://bugtracker.makehuman.org/projects/makehuman/issues/growth!/LINK!
* Activity:!LINK!http://bugtracker.makehuman.org/projects/makehuman/activity -- http://bugtracker.makehuman.org/projects/makehuman/activity!/LINK!
== Tools and contributing methods ==
Blendertools and contributing methods
=== MakeTarget standalone ===
==== Making Wavefront .obj Files MakeHuman™ Compliant ====
The following procedures should be followed to create Wavefront .obj files that comply with the requirements of MakeHuman™ using modelling software programs such as 3dMax, Maya, XSI, etc.
* * Download the 1.x base mesh base.obj file from MakeHuman!LINK!https://bitbucket.org/MakeHuman/makehuman/src/c40af22cebf2d5372b931b485f60588f42f24480/makehuman/data/3dobjs/base.obj?at=default -- HG repository!/LINK!
* Import it into your preferred modelling software
* Modify it in order to create your final character
* Export it as .obj (of course with a different name than base.obj)
During editing of the base mesh be careful about 3 things!You have to pay attention that:
* The import/export does not alter the number of vertices, the faces, does not split the obj, etc. The topology has to be the same as the original one.
* When modifying the base, you do not delete or add vertices, do not add or remove faces, etc. The topology has to be the same as the original one.
* The 3D program used also preserves the exact order of the vertices.
==== There are no other limitations on the .obj files used. ====
==== Making Targets with MakeTarget™ StandAlone ====
==== Using the MakeTarget GUI program ====
To obtain the MakeTarget GUI program, download and install either the Windows version or the Linux version at the bottom of the download page of the MakeHuman website at: !LINK!http://makehuman.org/content/download.html -- http://makehuman.org/content/download.html!/LINK!
Looking at the GUI of MakeTarget, you can notice other elements: the (+) and (-) lists, the possibility to process whole directories and to have .obj as output.
These are batch tools, designed for MakeHuman developers. Let’s go on to describe an usual scenario.
Assuming you have 30 “chin” targets modelled on the young caucasian female. These targets will create artifacts when applied on a young asian female. So our artists have to process 30 targets in order to create an asian version from all of them.
The steps are:
* For each chin target, do: asian-female-young.target + chin.target and save the result as .obj.
* Import each .obj in a modelling software, fix the artifacts by hand and export the corrected .obj.
* For each corrected .obj, subtract the asian-female-young.target and save the rest as asian version of the chin target.
For step (1) we will process an entire directory, choosing “Directory” as “input source” and targets as input type. Then we will “add” the asian-female-young.target, loading it in the (+) section. Then will choose “Obj” as “Output type”.
!IMAGE!Pictures/image01.png!/IMAGE!
Pressing the “Make” button, the entire folder will be processed, and in the same directory of targets we will see the newly created .objs. At this point, we can copy the folder, renaming it as “chin_fixed” and deleting the original targets.
For step (2), we have to import, edit and export each .obj individually, as showed previously for the single target. After completing step (2), all .objs in “chin_fixed” will be fixed and ready to be converted into targets.
So, it’s time for step (3). Again, we will process the entire directory, but this time the input type will be “Obj” and the output “Target”. Also, this time we will subtract the asian target, in order to obtain only the chin morph.
!IMAGE!Pictures/image00.png!/IMAGE!
Pressing the “make” button, this time we will obtain a series of .target, with the same name as the original objs, placed in the “chin_fixed” folder. That’s all!
==== Command Line Usage ====
This tool allows wavefront .obj files to be used that were edited using any 3D program. The only limitations are that the edit stems from the original base.obj file and that no vertices, edges or faces are added or removed. The 3D program used also needs to preserve the exact order of the vertices. There are no other limitations on the obj files used.
Usage:
There are a commandline version and a version with graphic user interface. Both do exactly the same thing.
Here follows the explanation of how to use the commandline version.
Options:
-i --in input obj or target
-o --out output obj or target
-s --sub target to subtract from obj
-a --add target to add to obj
-d --dir input folder to load all objs or targets from
--intype type of file to be input, obj (default) or target only applicable if --dir is used
--outtype type of file that will be output, obj or target (default)
-h --help this info
-v --verbose verbose mode, shows extra information
Usage scenarios:
Load foo.obj as input, compare it with base.obj and output the difference as foo.target.
Load foo.obj, subtract foo1.target from it, and output the difference between the resulting obj and base.obj as foo.target.
Load foo.obj, add foo1.target to it, and output the difference between the resulting obj and base.obj as foo.target.
Load all objs from myfolder, save the difference between the base.obj and each of the input objs to a target file with the same name as the input obj.
Load all objs from myfolder, subtract foo1.target from each of them, and save the difference between base.obj and each of the resulting objs to a target file with the same name as the input obj.
Load all objs from myfolder, add foo1.target to each of them, and save the difference between base.obj and each of the resulting objs to a target file with the same name as the input obj.
Load foo.target, apply it to base.obj and output the resulting obj as foo.obj.
Load all target files from myfolder, apply each of them to base.obj and save the result of each to obj with the same name as the target file.
Load all target files in myfolder, apply each of them to base.obj while also subtracting foo1.target from the result. Save each combination to an obj with the same name as the input target.
Load all target files in myfolder, apply each of them to base.obj while also adding foo1.target to the result. Save each combination to an obj with the same name as the input target.
This is the usage information as can be obtained by running the "maketarget.py --help" command. Some additional scenarios that are not documented are possible with the tool.
The user is protected from issuing commands that make no sense (eg. do nothing) as the tool will warn you about this.
Also note that files are never overwritten. Upon encountering an already existing file this file is backed up as original_filename.bak. Additional backups of the same file are named in order original_filename.bak.0 original_filename.bak.1 etc.
The GUI version of the tool does exactly the same thing. The exact same options (except help and verbose) are available in the GUI. The only difference between commandline and GUI version is that the GUI demands you specify an --in or --dir parameter. With the commandline tool you can do without as long as you specify some --add or --sub targets.
==== Compiling Binaries ====
For the ease of distribution a pyinstaller configuration is supplied to create a self-contained binary executable for both windows and linux. (MAC OS might work but is untested). For running this executable, the user does not need to install python or any other libraries (such as wxwidgets) on his computer. For building the package, however, you need to have those dependencies
installed, and need to build the package on the target OS. There are two build files available:
* compilePyinstaller.bat,for building a windows executable
* compilePyinstaller.sh for building a linux executable (might work for OSX too)
In order to use them you need to create a folder called "pyinstaller" in the makehuman/tools/standalone/maketarget folder. The build configs were tested with pyinstaller 1.5.1, but might work on future or older versions too.
Additionally these dependencies are needed for the respective operating systems:
Windows:
* Python 2.7
!LINK!http://python.org/ -- http://python.org/!/LINK!
I recommend using python 2.7 as I had issues with 2.6 and pyinstaller. The tool works fine with python 2.6, however
* pywin32
!LINK!http://sourceforge.net/projects/pywin32/ -- http://sourceforge.net/projects/pywin32/!/LINK!
Python extensions for windows. Needed for pyinstaller to work.
* wxpython2.8
!LINK!http://www.wxpython.org/ -- http://www.wxpython.org/!/LINK!
WX Widgets libraries and python wrappers for windows. Installable as one singe package.I recommend using the wxPython2.8 win32 unicode package for python 2.7.
* UPX (optional)
!LINK!http://upx.sourceforge.net/ -- http://upx.sourceforge.net/!/LINK!
This is a tool for compressing the executable and reduce its size. Compression will happen automatically if UPX is installed. To install UPX copy upx.exe to C:\WINDOWS\system32
Note: you will need at least UPX 1.92 beta due to incompatibilites with the Visual Studio compiler, with which newer versions of python are compiled on windows.
Linux:
* Python 2.6
!LINK!http://python.org/ -- http://python.org/!/LINK!
Version 2.7 works fine too.
* python-wxgtk2.8
* libwxgtk2.8
!LINK!http://www.wxpython.org/ -- http://www.wxpython.org/!/LINK!
!LINK!http://www.wxwidgets.org/ -- http://www.wxwidgets.org/!/LINK!
WX Widgets libraries and python wrappers for wx
* UPX (optional)
!LINK!http://upx.sourceforge.net/ -- http://upx.sourceforge.net/!/LINK!
This is a tool for compressing the executable and reduce its size. Compression will happen automatically if UPX is installed
The pyinstaller script will create all the files that need to be distributed in a folder called dist/ (this will be an .xrc file, the executable, and a resources/ folder containing images used in the GUI).
You can archive the contents of the dist/ folder and distribute these freely as a standalone application.
=== wxWidgets specific information ===
The GUI of this tool has been made using the python version of wxWidgets. The GUI form itself is not created using application code, but is instead loaded from the maketarget.xrc file that declares the GUI. This file was built using wxFormBuilder (!LINK!http://wxformbuilder.org/ -- http://wxformbuilder.org/!/LINK!). The file maketarget_gui.fbp is the source file that can be opened in formbuilder. The xrc file is output generated using the formbuilder application. However, the xrc could be edited manually too (but this would cause fbp and xrc file to go out of sync).
=== More information ===
For more specific details you can contact the author Jonas Hauquier at the makehuman.org website.
=== MHBlenderTools: MakeTarget ===
==== What is a Target? The MakeHuman Morphing Process. ====
The principle is simple. A target is a modifcation to a base mesh shape that does not alter the mesh itself but that stores information that permits the base mesh to be transformed into the target shape using ‘morphing’. Targets are what allow the slider controls in MakeHuman™ to take a single base mesh for a character and morph the shape of that character based on a variety of different feature target files. The many target files used by MakeHuman™ can alter a single human base form into characters with features as different as those distinguishing male from female to as subtle as varying the shape of a single earlobe.
!IMAGE!Pictures/morph1.png!/IMAGE!
A target contains the offsets by which vertices of the human base model (base.obj) deviate from the original to achieve a specific feature. eg. a long nose could be a target. These targets can be combined and MakeHuman™ uses them by blending targets together and gradually applying them to the base mesh to create a nearly endless variety of human forms. Below are examples of target blending obtained by choosing a target that defined the character as male and combining that target with the extreme settings for other targets that determned the muscle tone or weight of the character.
MakeHuman™ handles morphing with a special file format,.target.
==== Loading the Base Mesh ====
While it is possible to create targets using Blender without using the MakeTarget™ tool for Blender; that tool has many useful features that simplify the target creation process and will be explained by the help that follows. Once the MakeTarget™ add-on has been enabled (see the previous "Get and Install MH Addons for Blender" section), a panel labelled MakeTarget™ version 1.xx appears in theBlender User Interface, to the right of the viewport. The visibility of the Blender User Interface can be toggled on and off with the N-key.
!IMAGE!Pictures/maketarget131-area.png!/IMAGE!
The MakeTarge™ Version 1.31 Panel (Initial Settings)
!IMAGE!Pictures/maketarget131.png!/IMAGE!
Prior to loading any targets, the initial the MakeTarget™ panel consists of three main buttons. The first two buttons load the base human mesh, respectively with and without the special fitting tools. The third button labeled "Set As Base" sets an existing mesh (that must be MakeHuman™compliant and derived from the A8_v74.obj file distributed with the MakeTarget™ release within the maketarget/data/ folder) as a human base mesh. This third option is for users that have done editing of the base mesh in another 3D modelling program and that have saved or exported the model as a Wavefront .obj file
!IMAGE!Pictures/helper_details.png!/IMAGE!
Loading the "Human + Fit Tools" will import the base human +mesh helpers(image below, B). The "helpers" are special geometries, used in MakeHuman™ as a reference to correctly fit clothes, hair and accessories. These helpers can be annoying during the modelling of the character, so usually our artists first work on the pure body, loading the human only with the first button (image below, A), and then, in a successive step, they fit the helpers.
!IMAGE!Pictures/maketarget-base.png!/IMAGE!
==== Basic usage ====
=== The MakeTarget™ Version 1.09 Panel (After Loading The Target Mesh) ===
!IMAGE!Pictures/MakeTarget_load.png!/IMAGE!
After the mesh is loaded into the scene, the MakeTarget™panel layout will change, showing three new buttons that handle setting up the morphing targets. The first button creates a new empty target which will just be the original base mesh loaded in the previous step.
The second button loads the morphing from an existing target file. Do not attempt to load target files from the previous MakeHuman™versions, as these files are not compatible with the current base.
The third button creates a new target from an existing base mesh that is MakeHuman™compliant (derived from the A8_v74.obj file provided with the MakeTarget™release distribution), for example, a character modelled with an external tool (Maya, Max, C4D, etc..) and then saved or exported so that it can be imported into Blender as a wavefront obj file. To correctly use the third button, it is necessary to first select the imported base, then the MakeHuman™base, and then press the Load Target From Mesh button. When the steps have been done correctly and that button is pressed the imported base will disappear and its transformations will be transferred onto the MakeHuman™base.
=== Editing The Target And The "Save Target As" Button ===
After a new empty target is initialized or an existing one is loaded/imported, the MakeTarget™ panel layout will change again, offering a rich set of new options (image below). For the basic use of the MakeTarget™ tool you may ignore all of these options except for the "Save Target As" button.
To create a custom target, the artist has to alter the base mesh, which is done in the usual way within Blender. First start edit mode, and then select one or more vertices, moving them to reshape the mesh. You may use the full power of Blender to create your morphing target design.The only rule, in order to create a valid morphing target, is to never add or delete a vertex, face or edge. The topology must be absolutely preserved.After the modelling process is completed, the MakeHuman™morphing target can be saved by pressing the "Save Target As" button on the MakeTarget™panel. By default this will save all of the offset deviations of every vertice from the base mesh into the target file.
==== Advanced usage ====
=== The MakeTarget™Version 1.09 Panel (After Loading A Target) ===
During the creation or the editing of a target, as mentioned previously, the MakeTarget™panel shows a new layout with a rich set of options. Depending on whether the mesh is loaded without the fit tools (image below, left) or with the fit tools (image below, right), the panel offers different options.
!IMAGE!Pictures/maketarget131-panels.png!/IMAGE!
At the top of the panel there is a numeric slider that determines the amount of morphing to apply from the target. The maximum value is 1.0, which means that the target morphing is fully applied. A value of 0 will show the original base mesh without any target morphing. The minimum value of the slider is -1.0. Using negative values usually creates weird effects as a projected inverse of the target morph is applied, but these settings are useful to subtract unwanted morphing results when multiple targets are combined. The effect is shown in the image below beginning on the left with the full inverse of the morphing target, to the original base mesh in the middle, and finally to the fully applied morph target design on the right.
!IMAGE!Pictures/maketarget3.png!/IMAGE!
=== Load Target Section (After The First Target Is Loaded) ===
!IMAGE!Pictures/MakeTargetLoadSecondaryTarget.png!/IMAGE!
The three buttons that now in the "Load Target" section are used in exactly the same way as they were before any target was loaded, except that any targets that are now created or loaded with these buttons become a secondary target that can be applied to the previously loaded one. These buttons are used to append one or more additional targets to the first target and combine them in various proportions.
=== Discard And Apply Target Section ===
!IMAGE!Pictures/MakeTargetDiscardAndApplyTarget.png!/IMAGE!
The first two buttons under the "Discard And Apply Target" section will either discard all of the targets (returning you to the original base mesh) or only the last target appended (which will either be the last secondary target applied or the primary target if no secondary targets have been applied). The button "Apply targets" under the "Discard And Apply Target" section is used to join all targets into a single unique morphing target combination.
=== Symmetry Section ===
!IMAGE!Pictures/MakeTargetTargetSymmetryButtons.png!/IMAGE!
The two buttons in the "Symmetry" section are modelling tools, and are very useful. They has been designed to produce very reliable target results. Using the symmetry buttons will cause the mesh to become symetrical on either side of the X axis, with the option to apply edits from the left side of the character to the right side (Left->Right), or vice versa (Right->Left). Pressing these buttons will also align center vertices that have been unintentionally moved away from the center back to their center position.
=== Save Target Section ===
!IMAGE!Pictures/MakeTargetSaveTargetSection.png!/IMAGE!
Finally, press the "Save Target As" button to save the .target file once all secondary targets and edits have been completed.
The checkbox labeled "Selected verts only" is a very important option. This option when checked will permit you to select a set of vertices in edit mode and then save only those vertices into the target file. Such targets are useful when you want the target to only morph the selected vertices and leave all other vertices completely unaffected by the morphing target. For example, an artist could design a morphing target that is limited to the hands only, a single hand only, or to the head only, and save a target containing vertices that will only morph those body parts, while having no effect on other parts of the body that were not explicitly chosen by the artist.
The checkbox labeled "Active Target Only" will cause the "Save Target As" button to only save the last target only. This option normally applies when one or more secondary targets have been added using the Load Target section after adding the initial target.
=== Additional Fit Helper Buttons ===
!IMAGE!Pictures/MakeTargetFitTargetButton.png!/IMAGE!
!IMAGE!Pictures/MakeTargetSkirtEditingAffectOnly3.png!/IMAGE!
When the fit helpers have been included as part of the target, the additional options of the MakeTarget™panel shown in the images above appear. These buttons are included to work with the helper objects. When the helpers have been loaded, an additional button labeled "Fit Targets" is available under the Load Target section. This button should be pressed after making alterations to the body that disconnect it from the helper objects, but prior to making modifications to those objects. This button will refit the clothing to the body, and if pressed when the default All option under the "Affect Only: section is selected, all clothing helpers will be refitted to the body. However, the refitting process will cause any modifications previously made to a refitted helper objects to be lost. To limit the Fit Target button behavior to a single helper object, you should specify the object that you want to have refitted under the Affects Only section appearing at the bottom of the panel. This will cause the refitting to only affect the chosen helper (for example the Hair), while leaving all other helper objects unaffected, preserving your edit modifications to those helpers (for example, the Tights and Skirt helpers will not be refitted and your modifications to those helpers will be preserved if the Hair Affects Only option is set).
The additional helper options also include buttons that improve the fit of the skirt specifically by snapping the skirt to the character's waist ("Snap Skirt Waist" button) or straightening the skirt ("Straighten Skirt" button). It is recommended that you still select the Skirt as the Affects Only option prior to pressing either of these buttons.
=== MHBlenderTools: MakeClothes ===
=== Overview ===
MakeClothes, as its name implies, is a Blender addon that is used to construct clothing assets for use in the MakeHuman program. Clothes can be modeled using any technique that is natural. For example, clothing can be modeled from scratch, or by altering either the human mesh or the “clothing helpers” (see below) provided by the MakeClothes tool. When designing and modeling a clothing item, there are two restrictions that should be kept in mind. First, the algorithm for mapping a clothing mesh to the human mesh requires that theclothing mesh consists entirely of quad faces. Second, it is important to know that MakeClothes supports only one material per item of clothing.
Upon completing the MakeClothes workflow, a new folder will be created by the tool within %USER%/makehuman/v1/data/clothes. That folder will assume the unique name that the user provides for the clothing item. This folder will be populated with the assets necessary to make the item available in MakeHuman. The one additional, useful but not essential, item that the user must supply is a thumbnail icon for the clothing. The thumbnail icon can be created with any image editing program as a 128 x128 pixel image in .png format. The file should then be saved in the same folder as the other assets and the extension changed to .thumb.
=== Using MakeClothes addon ===
MakeClothes is controlled by the MakeClothes panel in the N-shelf to the right of the viewport. It consists of the main buttons that are always visible, and several hidden sections that can be displayed by enabling a checkbox.
!IMAGE!Pictures/mc2-010-main.png!/IMAGE!
The main section contains the following:
* Type: Specifies the character to be used as a reference. It can be one of the following:
* Base Mesh: The MakeHuman mesh without any targets applied.
* Average Male: A caucasian young male.
* Average Female: A caucasian young female.
* Average Child: A caucasian young child.
* Average Baby: A caucasian young baby.
* Base Mesh with Helpers: The MakeHuman mesh without any targets applied.
* Average Male with Helpers: A caucasian young male.
* Average Female with Helpers: A caucasian young female.
* Average Childwith Helpers: A caucasian young child.
* Average Baby with Helpers: A caucasian young baby.
* Load Human mesh: the button to load the selected type into the scene.
Note:"helpers" in MakeHuman are a type of special, invisible geometry over the base mesh which can be loaded to help model clothes, for example, a helper sweater, helper tights etc. They have their own materials. It is important to note that no alterations should be made to the base mesh type after it is loaded otherwise the script will fail.
The picture below shows the result of pressing "Load Human Mesh", with type set to Base Mesh.
!IMAGE!Pictures/mc2-011-main_0.png!/IMAGE!
A human mesh is loaded into the viewport, and more tools are enabled:
* Mesh Type: MakeClothes divides meshes into two types: human and clothing. This button displays the mesh type (Human/Clothing) of the active mesh and is greyed out if the active object is not a mesh. (MakeHuman normally detects the items accurately, but in the event of an error, you can click the button to change the mesh type so that it is treated as a clothing item instead of human if it is a clothing item and wrongly detected as a human item)
* Create Vertex Groups From Selection: MakeClothes uses vertex groups to control the fitting.
* Make Clothes. This is the main entry point for the MakeClothes script. With one human and one piece of clothing selected, create an association between clothes vertices and human triangles, i.e. triplets of human vertices. Both meshes must have vertex groups with identical names, and each clothing vertex must belong to exactly one vertex group. The result of the association is saved in the file ObjectName/ObjectName.mhclo, in the default directory. This button is greyed out if the active object is not a mesh.
* Test Clothes. This buttons loads a piece of clothing (an .mhclo file) and fits it to the active mesh, which must be a human. Typically a second human is loaded on a different layer, and the quality of the clothes fitted to that character can immediately be checked in Blender. To test the clothes under the strictest conditions, the human model used for testing should be quite different from the human used for clothes-making. If the original character is an adult, Baby With Helpers is a good choice.
If, instead, the Human With Helpers button is pressed, the full MakeHuman mesh including the helper geometry is loaded. Different materials are assigned to each type of helper geometry. The materials are ordered in the order of the vertex number. This makes it easy to peel off one helper type at a time.
!IMAGE!Pictures/makeclothes03.png!/IMAGE!
=== Glue clothes to the body ===
The clothes are meshes that be done directly in Blender, or in another package and then imported into Blender as an obj file. Note that the mesh type is Clothing, which is the default unless the mesh has been declared to be a human. A simple method to obtain a starting point modelling is to duplicate part of the human mesh and separate it from the human. However, in this case the duplicated mesh will still be a human. To change the mesh type, press the toggle button Human. The status is now changed into Clothing.
After loading the human, next step is to "glue" the clothes to the human, in order that they will automatically fit the body changes. To control this association, MakeClothes uses vertex groups. Each clothing vertex must belong to exactly one vertex group, and a vertex group with thesame namemust exist in the human mesh as well. Only human vertices in the correct vertex group will be considered when making clothes.
Vertex groups speed up the clothes-making process by pruning the search tree, and can be used to control the appearance of clothes as well. However, assigning vertex groups can be quite tedious, and in many cases it is sufficient let MakeClothes create vertex groups automatically. This is done automatically when a human mesh is loaded. If a clothing mesh does not have any vertex groups, it is also done automatically, when the MakeClothes button is pressed.
=== Automatic vertex groups ===
If vertex groups need to be reassigned, e.g. because a piece of clothing has been edited, the automatic vertex groups can be used. When the human is selected, there is a button, visible in the image above, called "Create Vertex Groups From Selection". Selecting a cloth, the button change in "Create Vertex Groups". Both the buttons do the same thing, but there is a little difference: in the human is possible to generate the vertex groups only for a sub set of the vertices (selected in edit mode), while for clothing the vertex groups must include all vertices. This is because we need to associate onlya partof the human vertices withallvertices of the clothing. For example, we need to associate all the vertices of a skirt with the human torso only.
Pressing the button, the following vertex groups are created:
* Mid: Vertices on or very close to the center line (|x| < 0:001).
* Left: Vertices to the left of the center line (x > 0:001). For a human the Mid vertices are also included in the Left group.
* Right. Vertices to the right of the center line (x z 0:001). For a human the Mid vertices are also included in the Right group.
* Delete: An empty group only created for humans. Human vertices hidden by the piece of clothing can be added to this groups. These vertices are then optionally deleted when the clothing is applied in MakeHuman, thus avoiding that blotches of skin poking through the clothes. Note that when a vertex is deleted, so are all faces containing this vertex. Don't assign a vertex to the Delete group unless all faces containing it are hidden by the pieces of clothing.
In the image below, vertices assigned to the Mid and Left groups for a nude human.
!IMAGE!Pictures/auto-vert.png!/IMAGE!
=== Generate the clothes file. ===
When both clothing and human has the vertex groups with same name, just press the MakeClothes button to generate the files.
They will be located in your HOME/makehuman/a8/data/clothes, in order to be inbcluded automatically in MakeHuman.
==== Advanced tools ====
Under the main buttons of Makeclothes, there are seven hidden panels that can be activated clicking the checkbox. Let's see their meaning.
=== Show selection, Show Materials, Show UV projection ===
!IMAGE!Pictures/options-01.png!/IMAGE!
Show selection.This feature is just a shortcut to quickly select some part of the human. So, instead of classic Blender selection (go in edit mode, move the mous on a vert and press Lkey to select the linked vertices), you can just press these buttons.
Show Materials. This will show a button to export the materials only. It's useful in case there are not changes on geometry, but only on the material, in order to avoid to recompute all.
Show UV projection.This section is useful mainly for making proxy meshes.
* Recover seams.Creates a Seam object, which has edges where the selected mesh's UV layout has seams. The Seam object is intended to be reference for marking seams for the clothing.
* Auto seams.
* Project UVs.Automatically create an UV layout for the clothing, compatible with the human's UV coordinates. This is intended for the mask UV layer, which must be compatible with the body mesh for all clothes. The actual texture can use a different UV layer which can be laid out in any desirable manner.
* Reexport Mhclo file.The mhclo file must be resaved when the mask UVs have been defined. This can be done by pressing Make clothes again, but Reexport Mhclo file is faster.
=== Show ZDepth, Show Offset scaling ===
!IMAGE!Pictures/options-02_0.png!/IMAGE!
Show ZDepth.This option is used to assign a depth to the cloth, in order to hide skin and clothes which are covered by clothes on top of it. The Z depth specifies the stacking order, which decides which clothes should hide others. Normally the Z depth ranges between 0 (skin) and 100 (external accessories such as backpacks).
* Depth name. Roughly indicates the preferred Z depth for various clothes types. The choices are: Body, Underwear and lingerie, Socks and stockings, Shirt and trousers, Sweater, Indoor jacket, Shoes and boots, Coat, Backpack.
* Set Z depth.Set the Z depth depending on the selected depth name.
* Z depth.The value of the Z depth. This is changed by the Set Z depth button, but can be dialledmanually for fine-tuning.
Show Offset scaling.The location of a clothing vertex depends on two data: a point on a body triangle, described in barycentric coordinates, and the offset from that point. The offset is scaled in the X, Y and Z directions depending on the size of a certain body part.
* Body part.Set this to the body part which is most affected. The choices are: Custom, Body, Genital, Head, Torso, Arm, Hand, Leg, Foot.
* Examine.Select the boundary vertices with Set boundary is invoked.
* Set boundary.Set the boundary to vertices determined by the selected body part.
* Custom Boundary.To manually set the bounday box.
* X1, X2, Y1, Y2, Z1, Z2.The vertex numbers of the six vertices which define the scaling boundary. The X scale is determined from the distance between vertices X1 and X2, the Y scale by Y1 and Y2, and the Z scale by Z1 and Z2.
=== Show Setting, Show License ===
!IMAGE!Pictures/options-03.png!/IMAGE!
Show Setting.The setting include the author name and the export path. It's possible to save and restore the settings.
Show License.This set of options are to add theauthor name, the type of license and the tags for clothes. Licensing information to be put at the top of the exported mhclo file. It consists of three strings that can contain arbitary text.
* Author. Defaults to: Unknown.
* License. Defaults to: AGPL3
* HomePage. Defaults to:!LINK!http://www.makehuman.org/ -- http://www.makehuman.org/!/LINK!
=== GUI languages and translations. ===
Our GUI is available in many languages, but translations are not yet complete.
Anyway now contributing in order to add a new language is very easy, since the MakeHuman project is now available for translation on!LINK!http://www.transifex.com/organization/makehuman/ -- Transifex!/LINK!.
!IMAGE!Pictures/languages.png!/IMAGE!
Transifex is a web application for localization in an easy and agile way.
!IMAGE!Pictures/transifex.png!/IMAGE!
If you want to help the MakeHuman project by translating the GUI into your language, you first need to create an account on Transifex. Then, when logged in, you can go to!LINK!https://www.transifex.com/projects/p/makehuman/ -- the MakeHuman Transifex page!/LINK!and click on the appropriate language you want to translate. Then click the "Join team" button. Now you can click the current release name (for example "Alpha 8") entry and click "Translate now".
If you want to make a translation in another language that is not yet listed, click "request language" on the!LINK!https://www.transifex.com/projects/p/makehuman/ -- MakeHuman transifex page!/LINK!. We will make sure to accept it as fast as possible, so you can start translating.
Translating is quick and easy. You can select the "Untranslated strings" filter to show only the things left to translate. Click the first word on the left, and in the center of the screen enter your translation in the input box. When done typing, simply press the TAB button on your keyboard, and it automatically goes to the next entry. Repeat this process untill everything is translated.
You can leave things open you are uncertain about, and leave them for later. Perhaps others know a good solution. You can interrupt your work at any time and continue working later, or leave it for others to finish.
If you already have a translated file on your hard disk (for example you made modifications to an already existing language .ini file of MakeHuman, or you have filled in a .missing language file), you can upload it as translation and Transifex will automatically include it in the translation.
You will be also able to download the json file of your language, in order to put it in makehuman/data/languages. On restarting MakeHuman, the new language will be available as an option under "Settings".
=== MHBlenderTools: Download and installation ===
The Blendertools package is available on the download page:!LINK!http://www.makehuman.org/content/download.html -- http://www.makehuman.org/content/download.html!/LINK!
The current version is 1.0.0, designed to work with MakeHuman 1.0.0 and with Blender 2.69. It's a zip package of four folders:
* MakeTarget
* MakeClothes
* MakeWalk
* mhx_importer
To install the addons, these subfolders must first be copied to a location where Blender can find it. Depending on the operating system being used, the addons destination directory where Blender will look for user-defined add-ons, is
* Windows 7: C:\Users\%username%\AppData\Roaming\Blender Foundation\Blender\2.6x\scripts\addons
* Windows XP: C:\Documents and Settings\%username%\Application Data\Blender Foundation\Blender\2.6x\scripts\addons
* Vista: C:\Program Files\Blender Foundation\Blender\%blenderversion%\scripts\addons (this is valid at least for blender 2.69)
* Linux: /home/$user/.blender/$version/scripts/addons
Note that the AppData folder in Windows 7 and the .blender folder in Linux are hidden folders. The location may also be different depending on your choices for setting up your operating system and Blender. For more information see the Blender documentation.
To enable the MH addons, in Blender open the User Preferences window from the File > User Preferences menu, and go to the Addons tab. The Blendertools addons are located in the MakeHuman category. Enable them by checking the box in the upper-right corner, next to the running man symbol. If you want Blendertools to start every time Blender is restarted, press the "Save User Settings" button.
!IMAGE!Pictures/mhx-pref.png!/IMAGE!
=== MHBlenderTools: MakeWalk basic workflow ===
MakeWalk is a Blender add-on for retargeting mocap data (.bvh files) to a given armature.
==== Retargeting: how it works ====
The goal of retargeting is to transfer a motion from a source armature (e.g. from a BVH file) to a given target armature (e.g. the MHX rig). However, it is not straightforward to assign the source action to the target rig, even if the bones have identical names. The motion of each bone is specified in local coordinates, relative to the parent and the bone's own rest pose. If the rest poses of the source and target armatures differ, the source F-curves can not be used directly by the target armature.
!IMAGE!Pictures/makewalk-1.png!/IMAGE!
The picture above shows a transformation in the local coordinate system. Since the parent's local Y points along its axis and its local Z points up, the child bone is rotated around the local X axis. This is not very useful if the target armature has a diffent rest pose. To retarget the pose, we therefore reexpress the transformation in the global coordinate system, as shown below. The local X rotation corresponds to a global Y rotation, and by a different angle. Once the global transformation matrix is known, we can reexpress it in the target bone's local coordinate system.
The retargeting process thus consists of making two coordinate transformations:
Source local => Global => Target local.
This will ensure that the source bone and the target bone will have the same global orientation.
!IMAGE!Pictures/makewalk_2.png!/IMAGE!
Unfortunately, things are a little more complicated. We do not always want the source and target bones to have identical orientation. In particular, the root or pelvis bone may point in entirely different directions in different armatures. E.g. in the CMU armature rest pose the pelvis points forward-down, and in the MHX rig it points straight up.
!IMAGE!Pictures/makewalk-3.png!/IMAGE!
If we insisted that the root bone in the MHX rig would point in the same direction as in the CMU rig, the retargeting would not be very successful, as shown in the figure above. If we instead keep the rotation offset from the rest poses, the target pose becomes much better, as shown below.
To calibrate the source and target armature against each other, MalkWalk introduces extra keyframes at frame 0, where both armatures are posed in T-pose.
!IMAGE!Pictures/mcp-ret-060-calibrate.png!/IMAGE!
In the rest of the animation, bones in the target armature copy the global rotations of the source armature, apart from differences present in the T-poses. In this way we can transfer animations from CMU to the MHX rig, despite the fact that the rest poses are very different.
==== Basic Workflow ====
=== Retargeting ===
The MakeWalk panels appear in the tool shelf whenever an armature is the active object. Select the armature and press the Load And Retarget button. In the file selector, select the .bvh file. We choose the file 90_04.bvh from the CMU database. It is a cartwheel animation.
!IMAGE!Pictures/makewalk-4.png!/IMAGE!
After a short wait, the armature is doing gymnastics.
!IMAGE!Pictures/makewalk-5.png!/IMAGE!
At frame 0 of the animation the armature has been placed in T-pose. This is not part of the originial .bvh file, but inserted by MakeWalk to calibrate the source armature (defined by the bvh file) and the target armature (the selected armature in the viewport) against each other.
=== Supported armatures ===
MakeWalk works with most straightforward biped rigs with FK arms and legs, such as the Rigify meta-rig. There is also built-in support for some more complex rigs: the MHX advanced rig from MakeHuman, the MHX rig from MakeHuman and Rigify.
!IMAGE!Pictures/makewalk-6.png!/IMAGE!
It is often possible to use MakeWalk with other complex rig, but in that case the automatic bone identification may fail. If so, a bone map must be defined manually, see!LINK!http://makehuman.org/doc/node/defining_the_target_rig_manually.html -- Defining a Target Rig Manually!/LINK!.
=== Troubleshooting ===
Retargeting is a rather involved subject, and it can sometimes result in poor motion. The process may even fail completely, usually because MakeWalk failed to automatically identify the bones of a complex rig. If this should happen, see!LINK!http://www.makehuman.org/doc/node/makewalk_errors_and_corrective_actions.html -- Errors and Corrective Actions!/LINK!.
==== Where to find BVH files ====
There are several different formats that mocap files can be stored in. MakeHuman's mocap tool can only deal with files in Biovision BVH format. BVH files can be bought from many commercial sources, but a large range of mocap files are also available for free download. Here are some sites I found useful.
* CMU Graphics Lab Motion Capture Database: Hosted at Carnegie-Mellon University, this is a huge library of mocap files which can be downloaded for free. The web address is!LINK!http://mocap.cs.cmu.edu/ -- http://mocap.cs.cmu.edu!/LINK!. CMU hosts mocap files in three formats: tvd, c3d and amc. However, the mocap tool can only read BVH files, so none of these files can be used directly. Fortunately, B. Hahne at!LINK!http://www.cgspeed.com/ -- www.cgspeed.com!/LINK!has converted the CMU files to BVH. The converted files are located at!LINK!http://sites.google.com/a/cgspeed.com/cgspeed/motion-capture -- http://sites.google.com/a/cgspeed.com/cgspeed/motion-capture!/LINK!.
* Advanced Computing Center for the Arts and Design (ACCAD): Hosted at the Ohio State University, this is another great source of free mocap files. BVH files can be downloaded from!LINK!http://accad.osu.edu/research/mocap/mocap_data.htm -- http://accad.osu.edu/research/mocap/mocap_data.htm!/LINK!
* Eyes Japan (mocapdata.com):This is a Japanese company that sells mocap data commercially, but they also offer a huge number of motions for free. According to their homepage, mocapdata.com provides 744 premium motion data and 4197 free motion data. The only catch is that downloading requires registration. Not surprisingly, the homepage of mocapdata.com has the address!LINK!http://www.mocapdata.com/ -- http://www.mocapdata.com/!/LINK!.
* The Trailer's Park: Free mocap data can also be found at the Trailer's Park,!LINK!http://www.thetrailerspark.com/ -- http://www.thetrailerspark.com!/LINK!. This site does not offer original data, but offer repacks of mocap data from other free sites for download. Free download is limited to some five packs per day, so some patience is required here.
* Hochschule der Medien, Universität Bonn (HDM):!LINK!http://www.mpi-inf.mpg.de/resources/HDM05/ -- http://www.mpi-inf.mpg.de/resources/HDM05!/LINK!
* The Perfume global site project #001:!LINK!http://perfume-dev.github.com/ -- http://perfume-dev.github.com/!/LINK!
=== MHBlenderTools: MakeWalk user interface ===
==== The user interface ====
The user > interface of MakeWalk is located in under the Armature tab, and becomes visible when an armature is selected. It consists of six panels; the first one is open by default and the others are closed.
!IMAGE!Pictures/makewalk-7_0.png!/IMAGE!
* Load And Retarget: Select a BVH file and retarget it to the active armature.
* Start Frame: The first frame in the BVH file to considered.
* Last Frame: The last frame to be considered, unless the animation stops earlier. The difference last_frame - first_frame is the maximal number of frames after retargeting. The number of frames in the BVH file may be larger, if some frames are skipped due to subsampling
* Detailed steps: When this options is selected, further buttons are show below
* Load BVH File (.bvh). Load a BVH file, and create an animated armature from it.
* Rename And Rescale BVH Rig. With the BVH armature active, and a target armature selected, rename and rescale the bones of the active armature to fit the target.
* Load And Rename BVH File (.bvh). A combination of the previous two buttons. With a target armature active, load a BVH file, and create an animated armature with renamed and rescaled bones.
* Retarget Selected To Active. Retarget the animation from a renamed and rescaled BVH armature to the active armature.
* Simplify FCurves. Simplify the F-curves of the active armature.
* Rescale FCurves. Rescale F-curevs of the active armature.What if retargeting fails?
MakeWalk is designed to retarget animations to a given armature with a minimum of user intervention. However, retargeting is a complex process, and entirely automatic retargeting may fail or result in suboptimal motion. Information about how to identify and correct problems is found in!LINK!/doc/node/blendertools_makewalk_troubleshooting.html -- Errors and Corrective Actions!/LINK!.
A common problem is that automatic identification of bones in the target armature fails. A bone map can then be assigned manually, cf.!LINK!/doc/node/blendertools_makewalk_troubleshooting.html -- Defining the Target Rig Manually.!/LINK!
==== Options panel ====
!IMAGE!Pictures/makewalk-8.png!/IMAGE!
* Use Default Subsample. Blender normally plays the animation in 24 fps or 25 fps, but the animation in the BVH file may be recorded at a different speed. In particular, the BVH files from CMU were filmed at 120 fps. Enable this option to have the animation play at natural speed, irrespective of the frame rate in the BVH file. Other subsample options are described below.
* Auto scale. Set the scale automatically based on the size of the left thigh. This choice has two motivations:
* Almost all character do have a left leg.
* The leg size is crucial for making walk cycles look good.
* Scale. The default MakeHuman scale is decimeters - 1 unit = 1 decimeter. Translations in a BVH file are expressed in different units; often the base unit is inches, meters or centimeters, but more obscure units can also occur, e.g. in BVH files from CMU. If the scale is set incorrectly, rotations will still be correctly retargeted, but the character will appear to take giant leaps or miniscule steps.
* Use Limits: If this option is enabled, MakeWalk honors any Limit Rotation constraints, and will not allow excessive rotations. If the animation in the bvh files exceeds some rotation limits, this makes the retargeted animation less faithful. On the other hand, the rig may not be built for excessive rotations, so unchecking this option can lead to other problems.
* Unlock Rotation: If this option is disabled, MakeWalk honors any rotation locks. If the animation in the bvh files bend around locked axes, this makes the retargeted animation less faithful. If Unlock Rotation is enabled, any X or Z rotation locks are disabled. Y rotation locks (bone twisting) are never disabled. The reason for this is that in the MHX and Rigify rigs, forearm rotation is handled by deform bones controlled by hand twisting.
* Auto source rig. The source rig (i.e. the armature defined by the BVH file) is specified in the!LINK!/doc/node/blendertools_makewalk_source_and_target_armature.html -- Source Armature panel!/LINK!. Enable this option if the mocap tool should attempt to automatically identify the source rig, based on the structure of the bone hierarchy.
* Auto target rig. The target rig (i.e. the armature in the blend file) is specified in the!LINK!/doc/node/blendertools_makewalk_source_and_target_armature.html -- Target Armature panel!/LINK!. Enable this option if the mocap tool should attempt to automatically identify the target rig, based on the structure of the bone hierarchy.
* Ignore Hidden Layers. Ignore bones on hidden layers when identifying the target rig.
=== Subsample and Rescale ===
If the Use Default Subsample option is set, the mocap tool will rescale the animation to fit the current frame rate. However, there are at least two reasons why you may want to load an animation at a different frame rate:
* * To obtain a slow-motion or rapid-motion effect.
* To quickly load an animation to see if the gross features will work out.
If the Use Default Subsample option is disabled, the SubSample section becomes visible.
* Subsample. Enable subsampling.
* Subsample Factor. If the value of this property is n, only every n:th frame of the BVH animation is loaded.
* Rescale. Enable rescaling.
* Rescale Factor. If the value of this property is n, the time distance between keyframes is changed to n.
* Rescale FCurves. Apply the settings above to existing F-curves rather than to the loaded animation.
Rescaling differs from simply scaling F-curves in the F-curve editor.
=== Simplification ===
* Simplify FCurves. Remove unnecessary keyframes.
* Max Loc Error. The maximal allowed error for location keyframes, in Blender units. A larger error results in fewer keyframes but less accuracy.
* Max Rot Error. The maximal allowed error for rotation keyframes, in degrees. A larger error results in fewer keyframes but less accuracy.
* Only Visible. Simplification only affect F-curves visible in the Graph editor.
* Only Between Markers. Simplification only affects F-curves between the two outermost selected markers. The timeline must have at least two selected markers.
==== Edit panel ====
Loading and retargeting is normally only the first step in the creation of an animation from mocap data. There are many reasons why a loaded animation does not behave exactly the way you want it to: artifacts in the mocap data, differences in armature structure not compensated for correctly by the retargeting process, differences in body stature between the mocap actor and the target character, or simply that the filmed sequence does not do exactly what you intend.. It is of course possible to edit the action directly in the graph editor, but this is unpractical due to the amount of mocap data. The mocap tool offers several possibilities to edit an action at a higher level. These tools are colleted in the Edit Action panel which is located just below the Options panel.
!IMAGE!Pictures/edit-action.png!/IMAGE!
=== Inverse Kinematics ===
* Transfer FK => IK: The load and retarget steps transfers an animation from a bvh file to the target character. However, only the FK bones are animated. Press this button to transfer the FK animation to the IK bones. Only works for the advanced MHX armature. If two markers are selected, only the animation between the markers is transferred.
* Transfer IK => FK: Transfer the animation back from the IK bones to the FK bones. Useful if the IK animation has been edited,
* Clear IK Animation: Remove all keyframes from all IK bones (arms and legs).
* Clear FK Animation: Remove all keyframes from all FK bones (arms and legs).
=== Global Edit ===
* Shift Animation. Shift the keys for the selected bones at all keyframes.If two markers are selected, only the keyframes between the markers are deleted.
* X,Y,Z: F-curves affected by the next button.
* Fixate Bone Locations:Replace all location keys by their average. Only selected bones and keyframes between selected markers are affected.
* Rescale Factor: Factor used by next button.
* Rescale FCurves: Rescale all F-curves by the factor above. This is similar to scaling F-curves in the curve editor, but jumps are treated correctly. E.g., rotations of +180 degrees and -180 degrees are the same, but if we scale an F-curve with a factor two, the intermedate keyframe will have the average rotation 0 degrees, The Rescale FCurves button handles this case correctly.
=== Local Edit ===
This section could be called "Poor man's animation layers". A loaded mocap animation usually has imperfections that must be edited, but without changing the overall feel of the motion. The Start Edit button creates a new animation layer where differences from the original motion are stored as keys, called delta keys since delta often denotes a difference.
* Start Edit: Start editing F-curves.
* Undo Edit: Quit F-curve editing, without modifying the original F-curves.
* Loc: Set a location delta keyframe.
* Rot: Set a rotation delta keyframe.
* LocRot: Set a location and rotation delta keyframe.
* Delete: Remove all delta keyframes at the current time.
* |<: Move to first delta keyframe
* <: Move to previous delta keyframe.
* >: Move to next delta keyframe.
* >|: Move to last delta keyframe.
* Confirm Edit: Modify the original F-curves and quit F-curve editing.
The delta keys are represented by markers in the timeline.
!IMAGE!Pictures/mwe-315-local-keys.png!/IMAGE!
A delta key can be added with the Loc, Rot and LocRot buttons, and removed with Delete. There is no way to view the delta keys directly. In the viewport and the curve editor, the final pose is shown, which is the sum of the original pose and the delta key.
A common use for delta keys is to correct for intersection with other objects or the character herself. The typical workflow is as follows:
* * Start Edit.
* Set a delta key at a good frame just before the intersection.
* Set a delta key at a good frame just after the intersection.
* Edit the pose a the frame(s) where intersection occurs.
* If the intersection has been removed, Confirm Edit. If not, set new delta keys until it has, or Undo Edit to remove the delta layer.
=== Feet ===
* Left: Affect the left foot.
* Right: Affect the right foot.
* Hips: Affect the characters hip (COM) bone.
* Offset Toes: Ensure that the toe is below the ball of the foot at all keyframes. Primarily useful for rigs with a reverse foot setup as explained below.
* Keep Feet Above Floor: If a mesh object (typically a plane) is selected, shift the keyframes to keep the affected feet above the plane. The plane does not necessarily lie in the XY plane; if the plane is tilted, the feet are kept on the plane's upper side. If no plane is selected, the feet are kept above the XY plane (z = 0). The IK feet are affected if the rig has and uses IK legs, otherwise the FK feet are kept above the floor. If two markers are selected, only the keyframes inbetween are shifted.
In a rig with a reverse foot setup, such as the MHX rig, the foot can rotate around the toe, ball, and heel. The reverse foot and toe bones are completely fixed by the corresponding FK bones, but the IK effector can be placed arbitrarily, as long as it ends at the toe tip. The transfer tool uses this freedom to make the IK effector perfectly horizontal, provided that the toe is below the ball and heel.
!IMAGE!Pictures/refoot.png!/IMAGE!
To use this feature we must ensure that the toe is below the ball of the foot, which is done by the Offset Toes button.
=== Loop And Repeat ===
!LINK! -- Loop Animation!/LINK!
Create a loop of the action between two selected time markers, by blending the keyframes in the beginning and end of the loop. This is useful e.g. to create walk and run cycles for games. For good results, the poses at the beginning and end of the selected region should be similar.
* Blend Range: The number of keyframes used for blending.
* Loop in place: Remove the X and Y components of the root bone's location.
* Loop F-curves: Loop the animation.
!LINK! -- Repeat Animation!/LINK!
Repeat the action between two selected time markers. The actions should preferably be looped before it is repeated, to make the beginning and end match seamlessly.
* Repeat Number: The number of repetitions.
* Repeat F-curves: Repeat the animation.
=== Stitching ===
Create a new action by stitching two actions together seamlessly.
* Update Action List: Update the first and second action drop-down lists.
* First Action: The name of the first action.
* First End Frame: Last frame of the first action
* Set Current Action: Set the first action as the current action.
* Second Action: The name of the second action.
* Second Start Frame: First frame of the second action.
* Set Current Action: Set the second action as the current action.
* Action Target: Choose between creating a new action and prepending the second action.
* Blend Range: The number of keyframes used for blending. Same parameter as in Loop Animations section.
* Output Action Name:
* Stitch Actions: Stitch the actions together.
=== MHBlenderTools: MakeWalk armatures ===
==== Source Armature panel ====
MakeWalk transfers an animation from a source armature, defined in a bvh file, to a given target armature. It uses an intermediate standard rig described in!LINK!http://makehuman.org/doc/node/defining_the_target_rig_manually.html -- Defining the Target Rig Manually!/LINK!. The bone map from the source armature to the target armature hence consists of two parts:
* A map from the source rig to the standard rig. It is defined in the MakeWalk: Source Armature panel.
* A map from the target rig to the standard rig. It is defined in the!LINK!http://makehuman.org/doc/node/makewalk_target_armature_panel.html -- MakeWalk: Target Armature panel!/LINK!.
!IMAGE!Pictures/mws-010-panel.png!/IMAGE!
When a new scene is opened, the panel consists of the single button Initialize Source Panel. Once this button has been pressed, the following content is available:
!IMAGE!Pictures/mws-020-auto.png!/IMAGE!
* Reinit Source Panel: Reinitialization.
* Auto Source Rig: If this option is enabled, MakeWalk will try to identify the source rig automatically. It may happen that MakeWalk fails to identify the source rig automatically, but this is very unusual. If it should nevertheless happen, it is possible to define the bone map manually in analogy with !LINK!http://makehuman.org/doc/node/defining_the_target_rig_manually.html -- how it is done for target rigs!/LINK!.
* Source rig. A list of bvh rigs recognized by the mocap tool. This either defines the expected source rig (if Auto Source Rig is disabled) or to Automatic.
* Bones in the active source rig.
==== Target Armature panel ====
The second part of the mapping from source to target armatures is defined by the panel labelled MH Mocap: Target armature. It is the top-most of the mocap tool panels, and is closed by default.
When a new scene is opened, the panel consists of the single button Initialize Target Panel. Once this button has been pressed, the following content is available:
!IMAGE!Pictures/mwt-011-panel.png!/IMAGE!
* Reinit Target Panel. Reinitialization.
* Target rig. A list of bvh rigs recognized by the mocap tool. This either defines the expected Target rig (if Auto Target rig guessing is disabled), or is set to a matching rig (if automatic target rig identificiation is enabled).
* Auto Target Rig. If this option is enabled, MakeWalk will try to identify the target rig automatically. However, automatic rig identification is not trivial for complex rigs, and it may fail. If so, the bone map may be specified manually, cf!LINK!http://makehuman.org/doc/node/defining_the_target_rig_manually.html -- Defining the Target Rig Manually!/LINK!. If the bone map is defined. The target rigs available by default correspond mostly to the rig presets that can be exported from MakeHuman
* MHX. An advanced rig from MakeHuman alpha 8.
* MH Alpha 7. The MHX rig from MakeHuman alpha 7.
* Rigify.
* Ignore Hidden Layers: Ignore bones on hidden layers during automatic rig identification.
* Reverse Hip. Select this option if the armature has an reverse hip. It is rather common that an armature has a reverse hip. In a normal hip setup, the armature root is the hip or pelvis bone, and the thighs and the rest of the spine are children of this bone. In a reverse hip setup, the first bone in the spine has been reversed. There is a separate root bone, and the two lowest bones in the spine are both children of thise root, whereas the thighs are children of the reversed hip.
* Identify Target Rig: Identify the target rig, i.e. find out how bone names in the active armature correspond to the internal names. This step is performed automatically during retargeting, but the identification can also be done separately for debugging purposes. The bone map appears in the area called FK bones below.
* Set T-pose. Pose the active armature in T-pose.
* Save T-pose. Option used by the next button.
* Save Target File. Save the current bone map as a .trg file. If the Save T-pose option is set, also save a json file defining the T-pose.
* FK bones. The bone map.
The picture below shows automatic rig identification of the Rigify meta-rig (Add > Armature > Advanced Human).
!IMAGE!Pictures/mwt-020-metarig.png!/IMAGE!
=== MHBlenderTools: MakeWalk troubleshooting. ===
==== What if retargeting fails? ====
=== Errors and Corrective Actions ===
This document will describe common errors and corrective actions.
It may happen that MakeWalk fails to retarget an animation to a given armature. In that case an error message is displayed.
!IMAGE!Pictures/mwa-100-error.png!/IMAGE!
The error message consists of the following:
Mocap error
Category
Detailed error message
A link to this page
MakeWalk errors are grouped into the following categories:
* Load Bvh File
* Rename And Rescale
* Identify Target Rig
* Automatic Target Rig
* Manual Target Rig
* Identify Source Rig
* Retarget
* General Error
Load Bvh File
Rename And Rescale
Identify Target Rig
=== Automatic Target Rig ===
The most common problem is probably that MakeWalk fails to identify the target rig automatically. There are several possible reasons for this:
* The character is not oriented correctly. In the rest pose, the character should be standing with up being the positive Z axis and facing -Y.
* The armature is complex with extra bones not corresponding to a standard biped rig.
* The armature only has IK arms or legs. MakeWalk retargets animations to the FK limbs, so if no such bones exist, the program will not work.
!IMAGE!Pictures/mwa-110-reverse-hip.png!/IMAGE!
It is rather common that an armature has a reverse hip. In a normal hip setup, the armature root is the hip or pelvis bone, and the thighs and the rest of the spine are children of this bone. In a reverse hip setup, the first bone in the spine has been reversed. There is a separate root bone, and the two lowest bones in the spine are both children of thise root, whereas the thighs are children of the reversed hip.
!IMAGE!Pictures/mwa-120-reversehip.png!/IMAGE!
The advantage of such a setup is that the upper and lower body can be posed independently. However, MakeWalk failes to identify the bones, unless the Reverse Hip option has been enabled.
If automatic bone identification still fails, bone mapping has to be made manually. How this is done is described in the next section.
=== Defining the Target Rig Manually ===
Internally, MakeWalk retargets animations to an armature with the following bone hierarchy.
Here is a visual illustration of the bone hierarchy:
!IMAGE!Pictures/mwa-010-armature.png!/IMAGE!
In order to retarget to an armature with different bone names, we must define a map between the given bones and the internal names. By default, MakeWalk attempts to do this automatically. However, automatic bone mapping may easily be confused for non-trivial rigs. If this happens, one can define the bone map manually.
A bone map for a target armature is defined by a .trg file located in the target_rigs folder under the makewalk directory. The folder already contains three files, for retargeting the MHX advanced rig, the MakeHuman, and Rigify. These rigs are too complicated to identify the bone map automatically, so MakeWalk recognizes these rigs and use the predefined bone map.
Create a .trg file using an existing file as a template. E.g., a .trg file could look like this:
Note that it is not necessary to define maps to all bones. Bone names must not contain spaces, since whitespace is used as a delimiter in the .trg file. If the bones in your armature do contain spaces, replace them by underscore ( _ ). MakeWalk treats space and underscore as equivalent, so this is not a problem, except for very strange naming convention.
!IMAGE!Pictures/mwa-020-myrig.png!/IMAGE!
Save the .trg file with the name my_rig.trg in the target_rigs folder and press the Reinit Target Panel button. My_Rig should now appear in the Target rig list. Select it. In the FK bones sections, the My_Rig bone names are now listed. Make sure that the Auto Target Rig option is deselected, to override automatic bone mapping. Finally go to the main panel and press Load And Retarget. The animation should now be loaded.
=== MHBlenderTools: MakeWalk utilities ===
==== Utilities panel ====
This panel contains material that does not naturally fit into the other panels.
!IMAGE!Pictures/mwu-010-panel.png!/IMAGE!
=== Default Settings ===
* Save Defaults: Save current settings as the default settings.
* Load Defaults: Load the default settings from file.
=== Manage Actions ===
* Actions: A list of all actions in the scene, at the time when the Update Action List button was last pressed.
* Filter: If selected, only actions belonging to the active character are included in the action list. When the mocap tool creates an action, the first four letters in the action name are taken from the rig name.
* Update Action List:
* Set Current Action: Set the action selected in the Actions list as the active action.
* Delete Action: Permanently delete the action selected in the Actions list. The action must have zero users. It is quite cumbersome to permanently delete actions in Blender. The reason is that creating an action with hand animation takes much work, which should not be lost accidentally. The situation is different with mocap, where it is easy to fill up a blend file with many irrelevant actions. This button makes it easier to clean out such junk motions.
* Delete Temporary Actions: Some tools create temporary actions, whose names start with a hash sign (#). Deletes all such actions.
=== Temporary properties ===
* Delete Temporary Properties. MakeWalk creates some properties for relevant posebones during retargeting. Pressing this button removes these properties. However, be aware that some of the tools in the Edit panel may fail if the temporrary properties are deleted.
The temporary properties for the active posebone can be inspected in the N-panel.
!IMAGE!Pictures/mwu-030-temp-props.png!/IMAGE!
* McpBone: The name of this bone in the internal hierarchy.
* McpParent: The parent of this bone in the internal hierarchy.
* McpQuatW, McpQuatX, McpQuatY, McpQuatZ: The rotation of this bone in T-pose, represented as a quaternion.
=== T-pose ===
* Set T-pose: Set the current pose to T-pose.
* Clear T-pose: Set the current pose to the default pose.
* Load T-pose: Load a T-pose from a .json file to the active armature.
* Save T-pose: Save the current pose as a .json file.
=== Rest Pose ===
* Current Pose => Rest Pose: Set the current pose to rest pose.
=== MHBlenderTools: MHX importer basic usage. ===
MHX (MakeHuman eXchange format) is a custom format used to transfer a rigged character from MakeHuman to Blender. Due to its tight integration with Blender's python API, it supports advanced features like constraints, drivers and properties that general-purpose formats like Collada or FBX do not support.
==== Export From MakeHuman ====
!IMAGE!Pictures/mx010-export.png!/IMAGE!
After the character has been designed in MakeHuman, go to the Files > Export tab and select Blender exchange (mhx) as the Mesh format. Type the character's name in the box at the top and press export. An mhx file has been exported.
==== Import Into Blender ====
Once the mhx importer has been enabled, we can import the mhx file. Select File > Import > MakeHuman (.mhx).
!IMAGE!Pictures/mx070-import.png!/IMAGE!
In the file selector, navigate to the file that we just exported from MakeHuman, i.e. John Doe.mhx in the export directory. After a short while, the character appears in the viewport, ready for posing.
!IMAGE!Pictures/mx080-import.png!/IMAGE!
=== MHBlenderTools: MHX default rigging ===
If pose/animate > skeleton is set to 'None' when the character is exported from MakeHuman in .MHX format, the character is equipped with the default MHX armature. This is a rather complex rig with quite a few features.
The bones are grouped into bone layers. Bone layers can be turn on and off in the MHX Main panel that appears in the user interface pane (N-pane), which is found to the right of the viewport. N-pane visibility can be toggled on and off with N-key.
The Root Layer
!IMAGE!Pictures/mx210-root.png!/IMAGE!
There are two bones on the Root layer:
* master: the big bone located at the foot level. It is the ultimate parent of every other bone in the rig, and can be used to move the entire character, including ik effectors.
* root: the wiggly bone located at the character's center of mass. It also moves the entire character, but IK effectors remain at a fix position.
The Spine Layer
!IMAGE!Pictures/mx220-spine.png!/IMAGE!
The spine is an immedate child of the root bone.
* spine:
* spine-1:
* chest:
* chest-1
* neck
* head
On this layer the two clavicle bones are also found. They are children of chest-1 and also appear on the arm layers.
The Head Layer
!IMAGE!Pictures/mx230-head.png!/IMAGE!
This layers contains the bones of the head (not the Neck and Head bones, however).
* jaw: Jaw bone
* tongue_base: Inner part of tongue.
* tongue_mid: Middle part of tongue.
* tongue_tip: Outer part of tongue.
* eye.L: Left eye.
* uplid.L: Left upper eyelid.
* lolid.L: Left lower eyelid.
* eye.R: Right eye.
* uplid.R: Right upper eyelid.
* lolid.R: Right lower eyelid.
* gaze. Target that the left and right eyes are tracking.
The FK Arm Layers
!IMAGE!Pictures/mx240-fkarm.png!/IMAGE!
The left forward kinematics (FK) arm layer consists of:
* clavicle.L: Left clavicle.
* deltoid.L Left deltoid muscle.
* upper_arm.fk.L: Left FK upper arm (humerus).
* forearm.fk.L: Left FK forearm. Y rotation is locked on this bone. To twist the forearm, rotate the hand bone instead.
* hand.fk.L: Left FK hand.
The bones on the right FK arm layer are analogous.
Note that there are two shoulder bones: clavicle and deltoid. It is not trivial to pose the shoulder, and with two shoulder bones better deformation is possible. The drawback is that an additional bone must be posed. However, in the common case that the arm is well below shoulder level, the deltoid bone can often be ignored.
The FK Leg Layers
!IMAGE!Pictures/mx250-fkleg.png!/IMAGE!
The left FK leg layer consists of:
* thigh.fk.L: Left FK thigh.
* shin.fk.L: Left FK shin.
* foot.fk.L: Left FK foot.
* toe.fk.L: Left FK toes.
THe right FK layer is analogous.
The Finger Layers
!IMAGE!Pictures/mx260-fingers.png!/IMAGE!
The long fingers on the Finger layers give a quick way to pose the fingers; the poses can be fine-tuned with the individual finger links on the Links layer. The bones on the left Finger layer are:
* thumb.L: Left long thumb.
* index.L: Left long index finger.
* middle.L: Left long middle finger.
* ring.L: Left long ring finger.
* pinky.L: Left long pinky.
The bones on the right Finger layer are analogous.
Rotating a long finger around the local X will cause all finger links to curl (rotate around local X). Rotation around local Z only affects the first finger link.
The Finger Link Layers
!IMAGE!Pictures/mx270-links.png!/IMAGE!
Each of the Finger Links layers contains fourteen bones; two for the thumb and three for each other finger. They are used to fine-tune the finger pose, once a rough pose is achieved with the long finger bones.
The Palm Layers
!IMAGE!Pictures/mx280-palm.png!/IMAGE!
The left Palm layer contain the meta-carpal bones:
* thumb.01.L: Parent of the left thumb bones.
* palm_index.L: Parent of the left index finger bones.
* palm_middle.L: Parent of the left middle finger bones.
* palm_ring.L: Parent of the left ring finger bones.
* palm_pinky.L: Parent of the left pinky bones.
The bones on the right Palm layer are analogous.
The IK Arm Layers
!IMAGE!Pictures/mx300-ikarm.png!/IMAGE!
The arms are controlled by FK by default, but inverse kinematics (IK) can also be used. To quickly switch between FK and IK, press the buttons labelled FK or IK in the MHX FK/IK Switch panel, which appears in the N-panel if an MHX armature is the active object.
* clavicle.L: Left clavicle. Same bone as on FK layer.
* deltoid.L: Left deltoid. Same bone as on FK layer.
* hand.ik.L: Left hand IK effector. Positions and rotates the hand. Also controls forearm twist.
* elbow.pt.ik.L: Left elbow pole target. Controls the location of the elbow, which lies in the plane spanned by the arm socket (head of upper arm), wrist (tail of forearm), and elbow pole target.
* elbow.link.L: A rubberband that connects the elbow to the elbow pole target. This bone is merely a visual cue; has no effect and can not be selected.
The bones on the right IK arm layer are analogous.
The IK Leg Layers
!IMAGE!Pictures/mx310-ikleg.png!/IMAGE!
The legs are controlled by FK by default, but IK can also be used. To quickly switch between FK and IK, press the buttons labelled FK or IK in the MHX FK/IK Switch panel, which appears in the N-panel if an MHX armature is the active object.
* foot.ik.L: Left hand IK effector. Positions and rotates the hand.
* toe.rev..L: Left reverse toe.
* foot.rev.L: Left reverse foot.
* knee.pt.ik.L: Left knee pole target. Controls the location of the knee, which lies in the plane spanned by the leg socket (head of thigh), ankle (tail of shin), and knee pole target.
* knee.link.L: A rubberband that connects the knee to the knee pole target. This bone is merely a visual cue; has no effect and can not be selected.
* shin.ik.L: The foot bones and the pole target control the thigh and shin rotation, except for the twist (local Y rotation) of the shin, which is handle by this bone instead. The IK shin bone does not affect the bending of the shin, only the twisting.
The bones on the right IK leg layer are analogous.
!IMAGE!Pictures/mx320-revfoot2.png!/IMAGE!
The IK leg has an reverse foot setup, which allows the foot to rotate around the toe, ball, and heel.
* foot.ik.L: Rotate around heel.
* toe.rev.L: Rotate around toe tip.
* foot.rev.L: Rotate around ball.
FK-IK Snapping
In a rig with both FK and IK, it is useful to be able to switch between the two seamlessly. To this end, the MHX FK/IK Switch panel contains buttons to snap the IK to FK and vice versa, in such a way that the character's pose remains unchanged.
!IMAGE!Pictures/mx330-fkik2.png!/IMAGE!
To snap the IK bones to the FK pose, press the buttons
* Snap L IK Arm
* Snap R IK Arm
* Snap L IK Leg
* Snap R IK Leg
respectively. Note that the FK buttons at the top of the panel change to IK.
!IMAGE!Pictures/mx340-ikfk2.png!/IMAGE!
To snap the FK bones to the IK pose, press the buttons
* Snap L FK Arm
* Snap R FK Arm
* Snap L FK Leg
* Snap R FK Leg
respectively. Note that the IK buttons at the top of the panel change to FK.
The Tweak layer
!IMAGE!Pictures/mx360-tweak2.png!/IMAGE!
This layer contains some rarely used bone that in some cases are useful to tweak a pose.
* breast.L: Controls rotation of left breast. Useful mainly for female characters.
* arm.socket.L: The left arm socket. Allows the left upper arm (FK and IK) to be moved away from the deltoid bone.
* leg.socket.L: The left leg socket. Allows the left thigh (FK and IK) to be moved away from the hip.
The right-side bones (with suffix .R) are defined analogously.
!IMAGE!Pictures/mx370-markers2.png!/IMAGE!
The Tweak layer also contains marker bones. They are used by MakeWalk to determine the location of the toe, ball and heel, so they can be moved up above floor level. Move these bones in Edit mode to fine-tune their locatation. The marker bones on the left side are:
* toe.marker.L: Left toe marker.
* ball.marker.L: Left ball marker.
* heel.marker.L: Left heel marker.
The marker bones on the right side are analogous.
The MHX Control Panel
The default behaviour of the MHX rig can be modified by changing some properties in this panel.
!IMAGE!Pictures/mx410-gaze2.png!/IMAGE!
* GazeFollowsHead: If 1.0, the gaze bone is parented to the head. If 0.0, the gaze bone remains fixed in space (it is parented to the master bone).
* RotationLimits: If 0.0, all Limit Rotation constraint is ignored. If 1.0, they are honored. Default = 0.8.
!IMAGE!Pictures/mx420-hinge2.png!/IMAGE!
* ArmHinge, Left and Right: Determines whether the arm rotates when the shoulder does.
* FingerControl, Left and Right: Determines whether the finger links are parented by the long fingers (the default), or if the long fingers are to be ignored.
!IMAGE!Pictures/mx430-leghinge2.png!/IMAGE!
* LegHinge, Left and Right: Determines whether the leg rotates when the hip does.
!IMAGE!Pictures/mx440-legik2ankle2.png!/IMAGE!
* LegIkToAnkle, Left and Right: If turned on, the reverse foot setup is disabled, and the ankle bones on the Extra layers become the effectors for the IK legs.
=== MHBlenderTools: MHX other rigging systems ===
By default (i.e., if Pose/Animate > Skeleton is set to 'None') a character is exported as an mhx file is rigged with the MHX rig, which is a rather complex rig with many options. Alternatively, the character can be rigged with a simpler and ligher armature by choosing an alternate Rig Preset under Pose/Animate > Skeleton.
!IMAGE!Pictures/mx710-other-rig2.png!/IMAGE!
To this end, select one of the rigs in the Pose/Animate > Skeleton tab. A skeleton is drawn. Export the character from MakeHuman as an mhx file.
To reselect the default mhx rig, press None in the Pose/Animate > Skeleton tab.
!IMAGE!Pictures/mx720-other-blender2.png!/IMAGE!
Import the mhx file into Blender. Note that there are fewer bone layers available in the MHX Main panel.
==== Using the Rigify rig ====
As an alternative to the mhx rig, MakeHuman characters can also be rigged with the popular Rigify add-on by Nathan Vegdahl. Links to documentation about Rigify in general:
!LINK!http://wiki.blender.org/index.php/Extensions:2.6/Py/Scripts/Rigging/Rigify -- Official Rigify documentation!/LINK!
!LINK!http://blenderartists.org/forum/showthread.php?200371-Rigify-Auto-rigging-system-new-and-improved -- Blenderartist thread!/LINK!
!IMAGE!Pictures/mx810-rigify-export2.png!/IMAGE!
To use Rigify, the character must first be prepared in MakeHuman. Select the Export for Rigify checkbox in the Options group and export the file. This checkbox overrides any other rig selected under the Skeleton tab.
!IMAGE!Pictures/mx820-rigify-enable2.png!/IMAGE!
In Blender, enable the Rigify add-on. It is found in the Rigging category. Press Save User Settings to remember the choice.
!IMAGE!Pictures/mx830-rigified2.png!/IMAGE!
Import the mhx file as usual. John Doe is now rigged with Rigify and ready for use.
!IMAGE!Pictures/mx840-norigify2.png!/IMAGE!
If the Rigify add-on is not enabled, an intermediate rig is imported and an error message appears. If this happens, open a new Blender file, enable Rigify, and try again. Alternatively, you may select the armature and press the Rigify MHX Rig button that appears in the N-panel (after you have enabled the Rigify add-on, of course).
Disclaimer: MakeHuman has no control of the Rigify add-on. Rigify support was tested with Blender 2.69. If the specification of Rigify changes in the future, mhx file exported for Rigify may cease to work.
=== MHBlenderTools: MHX Layers and masks ===
The mhx importer creates objects on the first four layers.
!IMAGE!Pictures/mx900-layers2.png!/IMAGE!
* * This layer contains the body, including hair, eyes, etc.
* This layer contains the armature.
* This layer contains any clothes. Empty if the character is nude.
* This layer contains any proxy meshes. Empty if no proxy mesh was exported.
Note that a proxy mesh does not replace the original human mesh, but is added as a separate object. If you only want to use the proxy mesh, the body can be deleted. However, the proxy mesh (perhaps slightly edited) has several uses apart from simply replacing the body, e.g. as a deflection surface for cloth simulation, or to speed up viewport performance when animating. It is therefore up to the user to decide which meshes to delete.
!IMAGE!Pictures/mx920-unmasked2.png!/IMAGE!
Vertices beneath clothes are hidden, to avoid ugly penetration issues. The picture above illustrates what may happen if skin under clothes is not hidden.
!IMAGE!Pictures/mx910-mask2.png!/IMAGE!
However, skin beneath clothes is not removed, only hidden by masks. This becomes evident if in edit mode, where the entire body is visible. To undress the character, deselect the clothes layer (layer 3), and disable all mask modifiers. Don't forget to disable the mask modifier for rendering as well.
With the mask modifiers, it is possible to export a character from MakeHuman with several different outfits, and select the outfit and hidden body vertices in Blender.
If you wish to delete the hidden vertices permanently, e.g. to improve performance or for export to some other application, apply the relevant mask modifiers.
=== MHBlenderTools: MakeClothes rigid fitting ===
The standard clothes fitting algorithm is suitable for flexible clothes, especially clothes that follow the body closely. However, is does not work well for rigid objects like shoes, Therefore, MakeClothes has a variant suitable for rigid shoes. Rigid fitting is used on a vertex group basis, so rigid and flexible fitting can be mixed in the same piece of clothing.
Rigid fitting is used for every vertex group whose name starts with a '*'. Each such vertex group in the human must contain exactly three vertices, that determine the triangle used for fitting in this group.
!IMAGE!Pictures/rf-100-orig.png!/IMAGE!
The use of rigid vertex groups is best explained by an example. Consider a pair of shoes, which is a rigid object. We used the standard MakeClothes settings and an adult human with the original shoe to the left. Then the mhclo file was loaded onto a baby, with the result to the right. The shoe is recognizable but it has been deformed in an undesirable way. However, even though the quality of the fitting is poor, make sure to save the mhclo file, because we will need it at the end of this tutorial.
!IMAGE!Pictures/rf-110-projection.png!/IMAGE!
Each clothing vertex v is associated with a triangle t in the human mesh, i.e. three human vertices v1, v2, v3. Letrdenote the location of v andr1,r2,r3the locations of the corners of the triangle. Further, let d be the perpendicular distance from the clothes vertex to the plane spanned by the triangle. MakeClothes assigns three weights w1, w2, w3, such that
r= w1r1+ w2r2+ w3r3+d,
where the sum of weights w1+ w2+ w3= 1. When the clothing is loaded onto a different character, the new location becomes
r'= w1r'1+ w2r'2+ w3r'3+d',
wherer'1,r'2,r'3are the locations of the three human vertices in the new character, and
d' = Sd= (sxdx, sydy, szdz)
is obtained from the original offsetdby inhomogeneous global scaling with the diagonal scale matrix
S = diag(sx, sy, sz).
The important observation is that the quality of the fitting depends crucially on the chosen triangle, i.e. the triple of human vertices the determines the clothes vertex location. The standard choice is to choose the human triangle closest to to clothing vertex. In rigid fitting the triangle is the same for all vertices, and is defined by the tree vertices in the vertex group.
!IMAGE!Pictures/rf-120-vgroups.png!/IMAGE!
Here we see the vertex groups used to fit the left shoe. The standard vertex group Left consists of all vertices close to the left shoe, in the tights helper. On the other hand, the rigid vertex group *Left only contains three vertices that define the single triangle used for all clothes vertices in this group.
!IMAGE!Pictures/rf-130-triangles.png!/IMAGE!
The next illustration shows the corresponding triangles used for fitting. The Left group uses many triangles obtained by triangulating the corresponding faces. Different shoe vertices are associated with triangles that are transformed differently, and the rigid character of the shoe is lost. The *Left group only has one single triangle, with corners at the three vertices in the vertex group. The same triangle is used by all left shoe vertices.
!IMAGE!Pictures/rf-140-rename-vgroups.png!/IMAGE!
Once the human vertex groups have been defined, we proceed with clothes-making. Rename the shoe vertex groups to *Left and *Right, to make the shoes use rigid fitting. Recall that the human can have several overlapping vertex groups, but in a piece of clothing each vertex must belong to exactly one group.
!IMAGE!Pictures/rf-150-offset-scaling.png!/IMAGE!
Next we open the Offset Scaling section and select Foot as the body part. In flexible fitting, the offsets are usually very small, and selecting the correct body part is not so important. In contrast, this step is very important in rigid fitting, because many vertices are far away from their triangles and the offsets must be scaled correctly. Press Examing Boundary for a visual inspection of which vertices define the global scale matrix..
!IMAGE!Pictures/rf-160-baby-shoes.png!/IMAGE!
This picture shows the shoe loaded on a baby, using flexible fitting (blue) and rigid fitting (red). Rigid fitting clearly maintains the shape of the shoe much better.
However, one problem remains: bone weighting. Start up MakeHuman and load the shoes under the Geometries > Clothes tab. Export the character with a rig in one of the formats that allows that, e.g. mhx, and import the character into Blender. Now try to pose the feet. As we see in the picture below, the shoe does not follow the foot but is squashed or stretched in strange ways.
!IMAGE!Pictures/rf-170-bad-deformation.png!/IMAGE!
The reason is that rigid fitting affects the bone weights as well as the vertex locations. The bone weights are interpolated between the three corners of the triangle, rather than using the information from the entire foot. To correct this we need to use two different associations between clothes and human vertices: rigid fitting for vertex locations, but flexible fitting for bone weights.
Fortunately, MakeHuman can handle this situation, although there is currently no elegant interface for it in MakeClothes. In a text editor, open the mhclo file obtained by standard fitting in the beginning of this tutotial (this is why you needed to save it), and copy everything after the line
verts 0
to the end of the new mhclo file obtained by rigid fitting. Before the copied section, insert the line
weighting_verts
Export the shoes again from MakeHuman and import into Blender. The shoes should now both maintain their rigid shape and deform correctly.
!IMAGE!Pictures/rf-190-good-deformation.png!/IMAGE!
Due to an unfortunate behavior in MakeHuman, it is possible that the updated mhclo file is not loaded after it has replaced the old one. This is because MakeHuman automatically compiles mhclo and obj files when loaded, so they can be loaded faster next time. Although this behavior is convenient for ordinary users, it is very confusing and frustrating for clothes makers. If MakeHuman insists on loading old versions of your clothes, you may need to delete the compiled files (*.mhpxy and *.npz), or restart MakeHuman, or both. After the compiled files are gone, the updated clothes should load without problems.
!IMAGE!Pictures/rf-180-compiled-files.png!/IMAGE!
== Developers' note ==
Some notes about how to obtain the source code, modify it and share it.
=== Makehuman Plugin System ===
==== Plugins ====
Makehuman has a simple plugin framework which makes it easy to add and remove features. At startup, MakeHuman now looks for .py files in the plugins folder which are not starting with an underscore (which makes it easier to disable unwanted plugins). It loads them one by one and calls the load entry point passing a reference to the application. The plugin can use this reference to add the necessary GUI widgets or code to the application.
The rules for plugins are very simple:
* A plugin is a .py file in the plugins folder with a load entry point.
* A plugin only imports core files.
The reason a plugin cannot import other plugins is that it would make it difficult to know which files belong to which plugin. We still need to define a convention for shared files beyond the core MakeHuman files. To get started look at example.py or any of the other plugins to see how you can create your own feature in MakeHuman.
==== GUI ====
The main layout is a two level tab control. The tabs at the top represent categories, like files. modelling, geometries, materials, etc. The ones at the bottom are the tasks in the current category and refine the more broad category in face, torso, gender, saving, loading, exporting etc.
So when creating your plugin, the first thought should be “In which category does it belong?”. From experience we know that it can be a though question to answer. Sometimes the only answer is adding a new category. This is what we initially did for measurement for example
Next you probably want your own task to implement your feature. While it’s possible to attach functionality to an instance of gui3d.Task, it’s often easier to derive your own class.
When you create an instance of your class, you pass the parent of your task, which can either be an existing category
or the new one which you added.
In your derived task you will then add the necessary controls to let the user interact. A good place to see how to use the different controls is the example plugin. You will see that even if you don’t add any controls, the model is already visible. This is because the model is attached to the root of the GUI tree. In the onShow event of your task you might want to reset the camera position, like we do in the save task, or hide the model, like we do in the load task. Just don’t forget to reset the state when your task gets hidden in onHide.
==== Undo-redo ====
It is important that every modification is undoable, since just one undo able modification would leave the user without the possibility to undo anything. So it’s crucial that if you write a plugin which modifies the model, you also make undo work.
The Application class has several methods to work with actions. An action is a class with two methods, do and undo. If the action itself does the modification you can use app.do to add it to the undo stack. If you did the modification yourself already during user interaction, you can add the action using app.did. The application won’t call the do method of the action in that case.
If you want to make your own undoredo buttons, you can use app.undo and app.redo. To illustrate, here is the action we use to change the hair color:
The postAction is a handy way to specify a method to keep your GUI in sync with the changes.
==== Asynchronous Calls and Animation ====
When doing lengthy operations it is important not to block the GUI from redrawing. Since everything runs in one thread, it is easy to block the event loop in your plugin. There are 4 ways to avoid this, depending on the need. If no user interaction is needed, a progressbar can be used. A progressbar uses the redrawNow() method of the application. This redraws the screen outside the event loop. Instead of creating your own progressbar, it is advised to use the progress method, which uses the global progressbar. Calling progress with a value greater than zero shows the progressbar, a value of zero hides it.
If user interaction is desired during the operation, either asynchronous calls, a timer or a thread can be used. Asynchronous calls are used when a lengthy operation can be split in several units. It is used for example in the startup procedure as well as for the plugin loading loop. The mh.callAsync(method) queues the calling of method in the event loop, so it will be called when the event gets processed. In case different methods need to be called after each other, as in the startup procedure, callAsync is used to call the next method.
In case of the plugin loading loop, it calls the same method until it is done.
This is not to be used for animations, as it takes very little time between calling callAsync and the event loop calling the method. Calling time.sleep(dt) to avoid this should not be done as it blocks the main thread. For animations use timers instead. An example of this can be found in the BvhPlayer plugin. The method mh.addTimer(interval, method) adds a timer which calls the given method every interval milliseconds. It returns a value to be used by removeTimer to stop the timer.
If a lengthy operation includes blocking on sockets or pipes, it is advised to use a python thread. However this has been shown to be problematic on Linux. To get around the problems on linux you should not access any makehuman structures from within your thread, but use mh.callAsync to call the methods from the main thread. See the clock plugin example for example code on how to use threads correctly.
==== A template for plugins ====
Looking in the makehuman source folder, in the "plugin" directory, you will notice a file called "7_example.py". This is an "Hello world" plugin. It includes all main controls and some nice example of mesh manipulation. It's designed to be used as template of new plugin.
To see how it works, you need to enable it in the Preferences->Setting. Then it will be located at Utilities-->Example.
!IMAGE!Pictures/UtilitiesExampleTab3.png!/IMAGE!
==== Example Controls ====
!IMAGE!Pictures/UtilitiesExampleControls.png!/IMAGE!
=== OpenGL Notes ===
Most of the 3D mesh handling functionality is delivered using OpenGL embedded within the C application code. OpenGL is a 3D graphics library that enables a 3D world to be defined, with a camera, objects, lights, textures etc. It then enables that 3D world to be visualised as a 2D representation that can be displayed on a computer screen and provides functions to enable an application (in response to user input) to navigate around the scene.
==== Basics ====
OpenGL takes a 3D scene and draws it into a 2D viewing area on your screen known as the viewport. OpenGL can project the scene onto the viewport in a variety of different ways, but the most common are:
* Perspective projection, as you would get if you could place a camera in the scene
* Orthographic projection, as a draftsman may contstruct technical drawings such as plans and elevations.
MakeHuman only uses Perspective projection.
==== Projection Transformation ====
You tell OpenGL how to project 3D objects onto the 2D viewport by defining a projection transformation, which indicates whether you wish to use perspective or orthographic projection (or an alternative projection pattern) and specifies other projection settings. This can be imagined as being comparable to specifying the characteristics of a camera (field of view, aspect ratio etc.) where an orthographic projection is equivalent to a camera at an infinite distance. The main difference being that with OpenGL you can change the settings between drawing different objects, which is a bit like taking a photo, changing the lens and moving the camera, then taking another photo without winding the film on.
MakeHuman sets a perspective projection using the function gluPerspective(fovAngle,aspectRatio,near,far) where:
* fovAngle: is the vertical field of view angle (45 degrees)
* aspectRatio: is the viewport width divided by the viewport height which, by default, is 800/600 (4/3)
* near: is the distance to the centre of the viewing plane (0.1)
* far: is the distance to the centre of the rear clippling plane (100)
==== Modelview Transformation ====
For OpenGL to know what to display in the viewport it also needs to know where the camera is relative to the 3D model. For this you need to define a modelview which defines the position and orientation of the camera and the position and orientation of objects that go to make up the model inside a virtual 3D world. You do this by moving through and around the 3D world and by creating objects relative to your current position. OpenGL keeps track of your current position and orientation in the 3D world by recording the modelview transformation.
Both the projection transformation and the modelview transformation are stored internally in 4x4 transformation matrices. You can modify these matrices by calling functions that apply direct transformations (translations and rotations) or by calling functions that calculate transformations (e.g. the gluPerspective function outlined above).
To apply transformations you need to first make one of these matrices the current matrix. Subsequent transformations are applied cumulatively to the current matrix. The glMatrixMode function is used to set the current matrix mode:
* glMatrixMode(GL_PROJECTION) makes the projection transformation the current matrix so that projection settings can be applied, such as the field of View angle and Aspect Ratio.
* glMatrixMode(GL_MODELVIEW) makes the modelview transformation matrix the current matrix so that subsequent translations and rotations move the current location through the 3D world.
==== Resetting a transformation matrix ====
Matrix transformations that you apply are applied cumulatively. It is therefore often necessary to reset the matrix to its default ‘no transformation’ state so that you can apply a fresh set of transformations. OpenGL uses the transformation and modelview matrices to transform coordinates by performing a matrix multiplication. If you multiply by an identity matrix then the result is the same as the thing you started with, so to reset one of these matrices to an initial state where the transformation has no effect you can simply load the identity matrix using the function glLoadIdentity(). This loads the identity matrix into whichever transformation matrix is currently active, resetting it to the default ‘no transformation’ state.
==== Coordinates ====
OpenGL world space coordinates are unitless, so 2 units can represent milimeters, inches or light years. Interpretation of world space coordinates is up to the application. OpenGL uses a right handed coordinate system, so, if you are looking at the origin with the +X axis stretching away to the right and the +Y axis pointing straight up, the +Z axis will be heading out of the screen straight towards you and the -Z axis will be dissapearing away from you into the distance.
MakeHuman uses the default OpenGL modelview camera settings which are equivalent to invoking gluLookAt(0,0,0, 0,0,-1, 0,1,0). This places the camera at the origin, looking straight into the model along the -Z axis with the +Y axis pointing straight up. This means that a 2 unit wide and 2 unit high object centred at <0,0,-1> will roughly fill the viewport, as will a 4x4 object at twice the distance from the viewpoint.
==== Drawing objects ====
MakeHuman contains multiple objects. The Humanoid object is the main object, but it is surrounded by a set of control objects. Each object is constructed using triangular faces. The position and orientation of each face is defined relative to the object of which it is a part. The positions and orientations of the vertices and normals of the faces are defined relative to the face they’re on. The sequence in which face vertices are defined is significant in OpenGL. If the face is viewed from the front, the sequence of points runs counter clockwise. If the face is viewed from the back the points run clockwise. Faces viewed from behind may be invisible or may have a different color/texture defined to the front face. This order is also called the "winding order" of vertices, and is used by MakeHuman to calculate the normal of each face. If the winding order is reversed, the normal will be flipped. The glPushMatrix and glPopMatrix functions can be used to store away a copy of a matrix that can subsequently restored. MakeHuman uses this before and after drawing each object to store a copy of the modelview matrix and restore it.
=== Directory structure and core modules ===
Overview
There are 10 main source folders with the main MakeHuman folder in the SVN repository:
* apps
* core
* data
* docs
* icons
* lib
* licences
* plugin
* shared
Of these, two folders: (licenses and docs) are associated with the general housekeeping and installation aspects of MakeHuman. Details of the housekeeping folders will be summarized, where relevant, elsewhere in the documentation. The remaining folder are discussed below.
Directory Structure and the Build System
During the pyinstaller build process, only files in the makehuman/data/ directory are included as data files, which means that any other data files will be skipped, causing file not found errors. Thus, the developer should place all data files under the data/ folder. The idea is to be able to cleanly identify what is data to be loaded at run time.and what is code that can be compiled at build time. One exception here is target (data) files that can optionally be precompiled to binary files at build time even though their binaries will reside in the data/ directory. The rational for this is that target files are static data core assets and should therefore naturally reside in makehuman/data/, but by compiling target files at build time, the size of the build distribution can be reduced and program startup times can be minimized
The files in makehuman/plugins/ form a second exception to data is "loaded at runtime" and code is "comiled at build time". Files in the makehuman/plugins/ folder are kept as a "side effect" of the fact that the makehuman/plugins/ path is included as data. It is included as data to make it possible to load plugins at runtime by inspecting the folder. Plugins are compiled as well, though. This does not mean that data may be stored in makehuman/plugins/ as this practice threatens logical organization of code and data, and it is not guaranteed that this will keep working in the future.
Plugins should never be used as imported modules in other plugins or, even worse, in a core module. Currently, the core plugins of MakeHuman all start with a digit (e.g., import 9_export_mhx). This is done intentionally to prevent their improper import into other modules in the program because imports of a module starting with a digit will produce a syntax error. Core plugins that require data, for example those related to .mhx export, should make use of a subfolder in the makehuman/data/ path (makehuman/data/mhx/).
Third-party plugins might have slightly greater lattitude about including data than core assets, but the clean separation of code and data is strongly encouraged. Therefore, third-party plugin developers should place data in makehuman/plugins/pluginName/data to make it easily identifiable.
makehuman/data/ folder
Most operating systems set aside separate storage space for code and data, and programs can generally not write data to their own directory structure. In addition, most OS support the notion of multiuser login, and support separate writable data areas for each user to customize. MakeHuman includes some "fixed data assets" that are intrinsic to the program. These data assets are save in the programs data folder within the program itself. However, MakeHuman also makes provision for third-party and user developed assets like additional clothes, additional hairstyles, etc. These latter assets are not saved in the program area but rather are save in user writable areas under the path userhome/makehuman/. For example, on Windows 7 systems this would be "Docuements/makehuman". In populating asset lists, the library holdings are generated based on the fact that syspath/data/itemtype and userhome/data/itemtype can coexist.
Themakehuman/data/ folderdoes not contain any codeper se. As its name implies this folder contains the basic data resources that ship with MakeHuman. Often, during the development and building of MakeHuman, a given resource may exist in multiple formats. Many if not most resources initially exist as “text-based” files which are stored in the data directory with an appropriate extension (see section of file extensions). When MakeHuman is built for distribution on supported platforms, these text-based data resources are compressed into .npy format to produce a smaller and more rapidly loading distribution package. Typically, the original text-based data files do not ship with standard, downloadable installation builds but instead, the corresponding compressed versions are distributed.
The data folder contains many subfolders which correspond to unique data assets. The details of these assets will not be discussed here, but the reader can get a general idea of asset types just by reviewing the folder names.
3dobjs, animations, bvhs, expressions, eyebrows, eyes, genitals, hair, icons, languages, litspheres, materials, mhx, poses, povray, proxymeshes, rigs, scenes, shaders, skins, targets, textures, themes, uvs, vertesgroups, visemes.
Many of these data subfolders have subfolders themselves, but generally, this organization is easily discovered just by looking.
Four of the data subfolders (eyes, hair, and clothes) are directed at important geometry assets of the MakeHuman model. MakeHuman supplies a special tool that lets developers or even end-users design additional assets using the 3D modeling program Blender. The name for this tool isMakeClotheseven though it supports the development of the other geometries as well.
==== /makehuman/apps/ ====
* catmull_clark_subdivision.py- an implementation of the!LINK!http://en.wikipedia.org/wiki/Catmull%E2%80%93Clark_subdivision_surface -- catmull clark subdivision algorithm.!/LINK!
* devtests.py- testing and development use only, and can safely be ignored.
* human.py- contains the Human class, which is the core data structure for MakeHuman model.
* humanmodifier.py- contains the functions and classes that link the GUI sliders to their respective effects on the MakeHuman mesh.
* metadataengine.py- implements algorithms to handle MakeHuman metadata tags within large files. It makes it possible to quickly and easily associate descriptive adjectives (tags) such as "eye" or "brown" with the complete file path to an object that has these characteristics.
* mh2proxy.py- (unknown)
* posemode.py- contains classes and functions relevant to entering and exiting posemode, and altering a figure's pose. Changing the pose of a figure will deform the mesh and require the vertex warps to be reset.
* warpmodifier.py- contains classes and functions to handle the source and target of a warp.
* which.py- checks to see whether or not a program exists (needed for the GUI controls).
==== /makehuman/core/ ====
* algos3d.py- contains algorithms used to perform high-level 3D transformations on the 3D mesh that is used to represent the human figure in the MakeHuman application.
* aljabr.py- contains the most common 3D algebraic operations used in MakeHuman including vector, matrix, quaternion, and various other operations.
* animation3d.py- contains functions and classes to animate a wide range of objects. Includes support for rotation, scaling, translation, camera movement, and variety of interpolation methods.
* compat.py- (Unknown)
* download.py- contains classes and functions to download media from the web and import it into MakeHuman.
* events3d.py- contains classes to allow an object to handle events resulting from keyboard or mouse input, window resizing, and changes to the human model with MakeHuman.
* export.py- (Not fully implemented) contains classes to export the MakeHuman model.
* files3d.py- contains functions to convert other 3D file formats to and from the internal format used by MakeHuman.
* geometry3d.py- contains classes for commonly used 2D and 3d objects such as rectangles, cubes, and flat meshes.
* gui3d.py- contains classes defined to implement widgets that provide utility functions to the graphical user interface.
* mhmain.py- contains the operations and event handlers that provide the core functionality of MakeHuman.
* module3d.py- contains classes and functions to handle the appearance and behavior of 3D objects such as shading, texturing, visibility, transparency, and creating groups of faces.
* selection3d.py- contains classes and functions that allow users to select elements within a 3D scene by clicking on them with the mouse using a technique called "!LINK!http://www.opengl.org/archives/resources/faq/technical/selection.htm -- Selection Using Unique Color ID's!/LINK!"
* textures3d.py- contains functions to perform standard proccesses on bitmaps and translate UV coordinates to a pixel index in a bitmap.
* transformations.py- A library for calculating 4x4 matrices for translating, rotating, reflecting, scaling, shearing, projecting, orthogonalizing, and superimposing arrays of 3D homogeneous coordinates as well as for converting between rotation matrices, Euler angles, and quaternions. Also includes an Arcball control object and functions to decompose transformation matrices.
* warp.py- contains classes and functions to warp vertex locations from a source character to a target character. This makes it possible to correctly combine several morphs that affect overlapping regions of the body.
==== /makehuman/lib/ ====
* camera.py -handles camera events such as changing focus, camera mode, and field of view.
* core.py -sets default global variables
* debugdump.py -handles creating a debug text file in the user's home directory and writing relevant debug information to that file.
* filechooser.py- a Qt based filechooser widget that allows the user to preview and select files as well as sort them by name, creation date, modification date, and size.
* getpath.py- Utility module for finding the user's home path.
* glmodule.py- contains classes and functions to render 3D objects with openGL in both draw mode and pick mode.
* gui.py -alias from gui.py to qtgui.py
* image.py- handles flipping and resizing images as well as converting between RGB, ARGB, and greyscale.
* imageqt.py- handles loading and saving RGB and ARGB images.
* inifile.py- contains functions for formatting and parsing .ini files.
* language.py- handles language file loading and translation.
* log.py- extends the functionality of Python's logging module. The logging module can be used to create log files of events for debugging, or to display information or warnings within MakeHuman. It is used instead of print statements.
* matrix.py- uses the NumPy package to define standard matrix operations.
* mh.py- Python compatibility layer that replaces the old C functions of MakeHuman.
* object3d.py- defines the object3d class
* profiler.py- defines functions to handle profiling (how long various parts of the program executed).
=== File formats and extensions ===
This section briefly reviews the file accessed or manipulated within MakeHuman. An attempt will be made to explain the function of each file format and where in MakeHuman’s modules it is used. Or external formats links will be provided to more detailed descriptions. Where it can help the developer better understand the overall organization of MakeHuman source code, some information on the module group or modules interaction with the various formats will be provided. This section Is intended to be used with the previous section on directories (folders) to develop an overview of MakeHuman code structure. This structural understanding is essential during the debugging process and is essential to expanding the programs functionality in structurally sound ways.
==== .obj files ====
This extension designates Lightwave object files. These OBJ files store mesh information and metadata needed for rendering in text-readable format. It was originally developed for the Lightwave 3D graphics program, but this file format is now broadly supported by many, if not most, 3D programs. Internally, MakeHuman uses OBJ files (or formats directly based on OBJ files) for the canonical storage of its assets. Many of MakeHuman’s development utilities store newly generated assets in formats related to the Lightwave OBJ specification. Examples of assets canonically stored in Lightwave OBJ format include the base human, and auxiliary geometry assets like eyes, hair, and clothes.
Each OBJ file has a record specifying the object’s name and records specifying one or more mesh objects. Mesh objects, in turn, are composed of record groups specifying: points or vertices (v), vertex normal (vn), faces (f), and vertex textures (vt). In MakeHuman and most general purpose 3D programs (e.g., Blender) OBJ files are exported with an accompanying Wavefront material file having the .mtl extension. These MTL files provide the detailed material attributes necessary to get photorealistic rendering of Wavefront objects. A more complete specification of Wavefront object format can be found at:!LINK!http://www.martinreddy.net/gfx/3d/OBJ.spec -- http://www.martinreddy.net/gfx/3d/OBJ.spec!/LINK!
OBJ files and MTL files have a direct internal analog in MakeHuman in the form of the object class, Object3D. This class, along with its properties and methods, is defined in the object3D.py module(libs folder). Object3D objects are central to the internal workings of MakeHuman. The resemblance of Object3D objects to OBJ files is not coincidental. Many of the core mesh assets in MakeHuman are developed in the open-source project, Blender, and moved to MakeHuman internals using OBJ format. In fact, MakeHuman maintains a separate product [MHTools] designed to support development of new core internal assets
==== .mhpxy files ====
This extension designates compressed binary proxies and clothes.
==== .mtl files ====
This extension designates a Wavefront material file. Wavefront MTL files are referenced from within Wavefront OBJ files to specify the materials used in rendering. More complete information on Wavefront material files is available here:!LINK!http://paulbourke.net/dataformats/mtl/ -- http://paulbourke.net/dataformats/mtl/!/LINK!
MakeHuman’s use of MTL file has been limited, but with the increased support for POV rendering, more modules may access and utilize MTL files. Currently, MTL-related data and files is developmental. Thedata foldercontains a cube.obj (3dobj) and a plane.obj (mitsuba folder) ostensibly associated with materials.
==== .npz files ====
This extension designates compressed binary asset files in MakeHuman [think npz = numPy zip files]. Among the most important assets stored with this extension is target vertex information. These target data determine the motion of each MakeHuman vertices (relative to landmark vertices?) as sliders are moved.
Thefiles3D.pymodule (core folder) tests for verifies existence of OS dependent locations of binary mesh files. The primary purpose of thefiles3D.pymodule is to transpose imported 3D data into a standard internal format for each of the 3D file formats supported by the MakeHuman import. Each importer function is written to return the 3d data in a standard format as a Python list:
[verts, vertsSharedFaces, vertsUV, faceGroups, faceGroupsNames]
Thetargets.pymodule (lib folder) is where system assets stored with the NPZ extension are identified, decompressed, and turned into memory resident structured objects for use by MakeHuman. This
Code related to NPZ files can also be found inalgos3d.pymodule (core folder). This module has been part of MakeHuman for a long time, and is used for morphing related operations. It works with loaded binary translation vectors and applies those translations to morphing targets. It may have some legacy capability to work directly with text-based .target files.
Thecompile_models.pymodule (lib folder) takes all object mesh files (.obj) and compiles them into binary compressed files (NPZ). Similarly, thecompile_targets.pymodule (lib folder) compiles target files (.target) into binary compressed (NPZ) files. The latter module is referenced by Benjamin Lau inMakeHuman.specfile, likely for build purposes.
Important concept. The root folder of MakeHuman contains a batch file calledcleanpz.bat(for Windows) and a corresponding shell script file calledcleanpz.sh(for Linux) whose function is to delete NPZ files between SVN builds. This “garbage collection” assures that each build is not working with out-of-date assets. It also reminds the developer that most of the canonical assets are initially constructed in text readable format. Developers write appropriate constructors to recompile NPZ files during the MakeHuman startup sequence when missing. For distribution versions of MakeHuman, pre-compiled assets in the form of NPZ files are distributed as stable assets. When start up code confirms their existence , no recompile is done, producing a better start-up experience for the user. This design greatly increases boot and runtime performance for stable distributions without hampering rapid testing of SVN versions in interpretative mode.
==== .thumb files ====
This extension designates thumbnail (image preview) files in MakeHuman. Underneath, they are actually images constructed in the .png file format. Thus, they can be edited by standard image editors like GIMP or displayed by most web browsers. The MakeHuman Save Tab code automatically generates a companion .thumb file each time it saves a .mhm file. The .thumb generation is currently done by capturing a rectangular in the center of the viewport window. The MakeHuman Load Tab code uses .thumb images to provide previews of saved models.
The format for .thumb is defined inimage_qt.pymodule (GUI folder). Load and Save use or generation occur inguiload.pyandguisave.pymodules, respectively (lib folder). Numerous plugin modules reference .thumb files (plugins folder) including:2_posing_expression.py,3_libraries_clothes_chooser.py,3_libraries_eye_chooser.py,3_libraries_material_chooser.py,3_libraries_polygon_hair_chooser.py,3_libraries_posing_chooser.py,3_libraries_proxy_chooser.py, 4_rendering_scene.py,7_material_editor.py,
==== .lmk files ====
This MH internal extension designates landmark files. [might be renamed .mhlmk for naming standard reasons.] There is one set of landmarks for the model body (and a second set of landmarks for the model head (data | landmarks folder). These LMK files are written in text readable format. Each line has a single integer which specifies a landmark vertex in the model geometry. Landmark vertices are used for relative (local) spatial reference during model morphing.
Landmark files are used bywarpmodifier.py(apps folder) andwarp.py(utils | tools | warptarget folder).The landmarks in these files are used as references during the complex process of reshaping the human.
==== .mhclo files ====
This MH internal extension designates MakeHuman clothes files. These files define clothing vertexes and remove vertexes from the model to allow fitting of the model without skin showing through. They are created using the MakeHuman Blender toolset, specifically the MakeClothes tool.
A special empty MakeHuman clothes meta-file namedclear.mhclois is used to restore the default UV map that comes with the system. In the lib folder, thefilechooser.pymodule has aMhcloFileLoader.Refresh()method to clear materials when the refresh button is clicked.
In the plugins folder,3_libraries_clothes_chooser.py,3_libraries_eye_chooser.py,and 3_libraries_polygon_hair_chooser.pyall access MHCLO files, but as of this writing, there are some file handling issues related to proxy clothes that means some of this code is commented out. In the shared/export_utils folder, config.py accesses acage.mhclofile. In the tools folder, the tool ‘MakeClothes’ accessws MHCLO files in both the makeclothes.pyandmaterial.pymodules. Similarly, the tool ‘MakeTarget‘ accesses MHCLO files in several of its modules:_init_.py, convert.py,import_obj.py,mt.py, andsettings.py. Finally, two experimental tools in the utils folder, themakeface.pyandhelpers.pymodules access MCHO files.
==== .mhmat files ====
This extension designates MakeHuman material files. Material files are text-readable files that share their syntax structure with Lightwave OBJ and MTL files.
In the app module group,human.pyapplies a default material andmh2proxy.pyhandles materials for proxies and may do some special material handling for MHX Blender export files. In the data folder, the MHCLO files for clothes, eyes, and hair each references an MHMAT files. In the plugins folder,7_material_editor.pyloads, edits, and saves MHMAT files. In the shared folder,material.pyparses MHMAT files and sets material properties. In the tools folder, there is another (independent)material.pymodule for the MakeClothes tool that writes materials to the output file while using that tool within Blender.
=== Description of the file format ===
The entries inside a .mhmat file are of the form:
Comments can be included in c-style line comment format, like
or in python-style line comment format, like
The properties of a makehuman material are numerous so that they can cover the most common needs of exporters and rendering engines, and may vary among the following.
name- The internal name of the material.
Colors- Their value can be in R G B format, like:colorProperty R G B,where R, G, B are floating point numbers between 0 and 1. They control the color of various material properties and effects. To adjust the intensity of an effect, you can simply edit its color value.
ambientColor -The ambient component of the material, which is usually added on the final color regardless of the surrounding lights.
diffuseColor -The diffuse component of the material, which reacts to each light's relative position.
specularColor -The color of the specular shine that is caused by the reflection of a light source on the material.
emissiveColor- The color of the light that the material seems to emit like if it's a glowing light source.
shininess- The sharpness of the shine spots created by the reflection of a light source on the material, which is how glossy its surface is.
==== .mhuv files ====
This MH internal extension designates UV map files in MakeHuman. These text-readable files based on Lightwave OBJ syntax. They contain one or two lines of metadata and alternative UV data for the texture object to be applied to the model.
There does not currently appear to be a development tool for creating UV map files. They can be created by creating and saving an OBJ file and then renaming it. However, files created in this manner should not be considered fit for the SVN or website because they contain way too much redundant information. The OBJ files created in this manner not only contain the alternate UV set but also contain all vertices of the original mesh.
==== .mhp files ====
This MH internal extension designates pose files. These files are used to store coordinates for the run and walk poses on the pose tab. The dance1 pose appears to be implemented as a pose file, but it also includes some additional .target files. The dance1 pose is also associated wih a .bvh file whereas run and walk are not. In A8 development there have been issues with the dance1 file behaving less well than run and walk. Hopefully, these will be long gone during subsequent development.
==== .mht files ====
==== This MH internal extension designates a theme (GUI color scheme) for the GUI as rendered by the pyQt library. ====
==== .target files ====
This MH internal extension [which lacks the mh… prefix] specifies final extreme positions that can be achieved when moving the interface sliders in one direction or the other. By definition sliders have a value of zero on the left end and 1.0 on the right end, but there is a software flag to reverse this behavior as desired. With scripting it may be possible to exceed slider extremes, but this is currently undocumented and should not be built into production code. There is one TARGET file for each extreme of each movement. These files are hand-built by MakeHuman artist-developers, and they are the engine of the programs utility. Typically, rightward movement of a slider should increase size, and leftward movement of a slider should decrease size. When ‘left’ and ‘right’ are used as asset names, they should refer to the left and right body part on the model, regardless of the model’s orientation in the viewport. When slider movement involves asymmetrical change in the x, y, and z direction, it should be programmed so that the sliders operate naturally using the default viewport view for that slider. For example, left movement of the slider need not cause deformation toward the model’s left side. Such behavior would only be sensible if the default viewport view had the model facing the rear of the viewport (model’s back toward user).
Most MakeHuman modules use data from the TARGET files.
· In the apps group, these modules includes: devtests.py, human.py, humanmodifier.py, posemode.py, and warpmodifier.py.
· In the core group, these modules includes: algos3D.py which is the main program that works with .target files after they are compiled into
· In the apps group, these modules includes:
· In the apps group, these modules includes:
=== .proxy files ===
This MH internal extension designates proxy meshes. They are structured text files. Format and attributes include ... TODO
.qrc file
This is a resource file need used when compiling for the MakeHuman GUI which uses the pyQt library.
=== .qss file ===
This is the text-based file fomat used to store widgets associated with the GUI interface as rendered by the pyQt library
Appreciate help from current developers as what needs to go here. Undoubtedly some confusion or mistakes on my part, but some of it might help orient others. -RWB
Glad to do the grunt work, but feedback on needed improvemrnt greatly appreciated :-)
---------------------------
Also in this section could possibly also loading, saving, exporting formats (but these formats should probably be addressed in context below)
The basic work done within MakeHuman is saved as a file with an .mhm extension. The .mhm files can be loaded at the start of a new user session, and return MakeHuman to the state that it was in at the end of the previous session.
=== Libraries and build procedures ===
With each MakeHuman release, packages are created for MS Windows, Mac OS X, and Debian derivatives for linux. At present there is not an operating system independent package (although the raw repository will work on all platforms). Each platform has special considerations that are addressed by the designated mainainter for that platform.
=== Dependencies ===
In order to run makehuman and/or build packages the following need to be installed on the system:
* Python (Python 2.7 (python 3.x will not work).!LINK!http://www.python.org/download/ -- http://www.python.org/download/!/LINK!)
* Python-numpy (!LINK!http://sourceforge.net/projects/numpy/files/NumPy/ -- http://sourceforge.net/projects/numpy/files/NumPy/!/LINK!)
* Python-opengl (!LINK!http://pyopengl.sourceforge.net/ -- http://pyopengl.sourceforge.net/!/LINK!)
* Python-qt4 (!LINK!http://www.riverbankcomputing.com/software/pyqt -- http://www.riverbankcomputing.com/software/pyqt!/LINK!)
* Python-qt4-gl (Package required by some linux distributions only)
For linux there are scripts (buildscripts/deb/install_deb_dependencies.bash and buildscripts/rpm/install_rpm_dependencies.bash) which will install all the necessary dependencies but please note that these scripts may not agree with all debian and rpm based distros so it may be worth reading the bash script contents prior to running them.
=== Assets ===
For obvious reasons, the binary assets (characters, textures, clothes, etc..) are not stored on Mercurial repository, but in two different places:
* * Immutable single archive files of the assets of finished versions of MH are stored (disregarding patch version token) on bitbucket (!LINK!https://bitbucket.org/MakeHuman/makehuman/downloads -- https://bitbucket.org/MakeHuman/makehuman/downloads!/LINK!)
* Assets still under development are store on Tuxfamily ftp:!LINK!http://download.tuxfamily.org/makehuman/assets/ -- http://download.tuxfamily.org/makehuman/assets/!/LINK!
When a new version is released, the current ftp asset tree gets zipped and uploaded to bitbucket. In the tuxfamily asset store, the folder for that version's contents are replaced with an archive_url.txt file that points the download script to the right url.
A new folder gets created on the tuxfamily host containing the assets to be included in the next release. For a released version, assets will usually not change, unless to fix bugs (in which case the previous archive is best kept, and a new one is created alongside it with a slightly different name), and the archive_url.txt file is updated.
To download automatically the assets and place them in the correct folder on a local repository, it's sufficient to run the python script with the command:
=== Other scripts ===
In the makehuman root, there are a few scripts which need to be run:
* cleannpz.sh (cleannpz.bat)
* cleanpyc.sh (cleanpyc.bat)
* compile_targets.py
* compile_models.py
* compile_proxies.py
Note that all these are called automatically in the correct order by the "build_prepare.py" script in "buildscripts" when running one of the pre-existing package building routines below. However, when running makehuman from a source checkout, you will need to run these scripts in the above order.
=== General proceedings for making a package ===
On all platforms the following steps should be taken when making the package:
* Update from HG repository (!LINK!https://bitbucket.org/MakeHuman/makehuman -- https://bitbucket.org/MakeHuman/makehuman!/LINK!)
* Run the scripts in the makehuman root directory. These will for example compile target files to npz files
* Copy all that's relevant to a work directory, excluding at least *.target, the utils directory and the tools directory (strictly speaking there are more that is not necessary, but it will have a minor influence)
* Do platform-dependent stuff to the work directory
* Zip the directory into a suitable installable format for the platform.
==== Linux ====
=== Debian ===
In order for makehuman to work on Debian the following dependencies are needed.
* python
* python-qt4
* python-numpy
* python-opengl
* python-qt4-gl
These can be installed by running the command below:
On Debian/derivatives (Ubuntu kubuntu etc.) the whole package building is automated through the buildDeb.py script found in the "deb" folder.
For Deb script see:!LINK!https://bitbucket.org/MakeHuman/makehuman/src/tip/buildscripts/deb/?at=default -- https://bitbucket.org/MakeHuman/makehuman/src/tip/buildscripts/deb/?at=d...!/LINK!
To build a deb file, create an empty directory (for example /tmp/deb) and run:
When the script has finished, the deb file will be available in /tmp/deb/output.There are some settings in the head of the buildDeb.py script for tweaking the output.
=== Fedora 19 64-biit RPM Packaging ===
These instruction have been written for and tested on Fedora 19 64-bit. You will never be able to run the MakeHuman HG version on distros such as RHEL/CentOS 6.4 or earlier, since they do not support python 2.7, not even if you enable RPMForge. The instructions may or may not work on other RPM-based distros.
* * Install a Mercurial client (Hg) and clone the!LINK!https://bitbucket.org/MakeHuman/makehuman -- Makehuman BitBucket Repository!/LINK!.
* Install required dependencies.
As root, run the bash script for installing the required dependencies.
buildscripts/rpm/install_rpm_dependencies.bash
This script also installs optional but recommended dependencies. If you only want the really required dependencies, run
* Run MakeHuman. Change working directory to the root of the makehuman tree:
Then run:
You will most likely want to do this as your normal desktop user, not as root.
==== Windows ====
* * Install an Mercurial client!LINK!http://tortoisehg.bitbucket.org/download/ -- (Tortoise HG client!/LINK!is a good choice on Windows) and clone the!LINK!https://bitbucket.org/MakeHuman/makehuman -- MakeHuman repository!/LINK!(see!LINK!http://www.makehuman.org/doc/node/development_infrastructure.html -- http://www.makehuman.org/doc/node/development_infrastructure.html!/LINK!)
* Install required dependencies
If you are using a 64bit Windows version (only applies to 64-bit computers), you can choose to use either 32-bit python or 64-bit python. Howver it is important that your library dependencies (NumPy, PyOpenGL, and pyQT4) are 32-bit if you use 32-bit Python and 64-bit if you use 64-bit Python.
* Run MakeHuman.
Start a command console (cmd.exe), change directory to the makehuman folder. Then run:
==== Mac OSX ====
To build MakeHuman for Mac OS X, you should:
* * Download the MakeHuman OSX Builder from: !LINK!https://bitbucket.org/MakeHuman/makehuman-osx-builder -- https://bitbucket.org/MakeHuman/makehuman-osx-builder!/LINK!
* Follow the included instructions (Instructions.rtf)
=== Development infrastructure ===
The development of MakeHuman is based on two fundamental tools:
* Mercurial (HG), a stable and robust platform for distributed revision control, with the main repo hosted on!LINK!https://bitbucket.org/MakeHuman/makehuman -- Bitbucket!/LINK!
* A collaborative software!LINK!http://bugtracker.makehuman.org -- development platform!/LINK!, based on!LINK!http://www.redmine.org/ -- Redmine!/LINK!.
==== Get the code from BitBucket. ====
Obtain the code from BitBucket repository is very simple, but you need to have Mercurial installed on your system.
It's natively present on Linux systems, while for Microsoft Windows, a good software is TortoiseHG (!LINK!http://tortoisehg.bitbucket.org/ -- http://tortoisehg.bitbucket.org/!/LINK!).
To clone the repository to your PC, just use this command:
hg clone!LINK!https://bitbucket.org/MakeHuman/makehuman -- https://bitbucket.org/MakeHuman/makehuman!/LINK!
With tortoiseHG, you can do it visually, with:
right-click --> TortoiseHG --> clone
==== Using Redmine in MakeHuman development ====
Redmine is a very powerful tool.
[To expand with technical information about the roadmap organizations, the subprojects, and how to use it to accept experimental features]
=== Development organization ===
!IMAGE!Pictures/mh-hg-infographic01.png!/IMAGE!
The Unstable branch is where the development happens. This is our working branch, and so we can refer to it as default branch too.
The Stable branch is used for official release only.
It's just for mainteinance of the current official version. It's rarely used, except in the case of very noticeable bugs that will cause a service release. Any bugfix in the Stable must be merged in Unstable.
When the Unstable is ready for the release, it's merged in the Stable and a tag (a sort of bookmark) is created on this exact revision.
!IMAGE!Pictures/mh-hg-infographic02.png!/IMAGE!
Working on experimental clone for new features in early development is a great comfort for the developer.
He doesn't have to keep his code on the local drive since he can commit it immediately.
It doesn't matter if the code does not work yet or breaks the app, it is the private playground of the developer.
!IMAGE!Pictures/mh-hg-infographic03.png!/IMAGE!
To start up a new feature yet unproven or that is unsure how to implement it exactly, or for a big refactor that might make a lot of problems until solved, we will create experimental repos, cloning the main one. One repo for (large) feature.
!IMAGE!Pictures/mh-hg-infographic04.png!/IMAGE!
Once the developer has something to show, he can communicate with other team members so they can:
* clone the experimental repo to a new folder on their local disk
* test it
* give feedback
* perhaps even commit fixes
Once a feature is proven to work well enough and accepted by the rest of the team, it can be merged in official unstable branch, where it can be integrated in nighly build version and further finalized (it can now be tested by a broader audience and we will receive bugs reports from them)
!IMAGE!Pictures/mh-hg-infographic05.png!/IMAGE!
It is also possible that an external programmer, without commit rights on the official repo, make changes on his own personal clone (that he can make public on his own account if he desires).
This is a good way to test new team members, where we can accept changes after verifying them. When we trust a new developer, we can give him direct access to official repo.
=== Getting started ===
The best way to start your experiments with MakeHuman code is to clone our official repository and start to modify it.
In order to procced easily. it is recommended you use the tools available at!LINK!https://bitbucket.org -- https://bitbucket.org!/LINK!.
The general procedure is:
* Go to!LINK!https://bitbucket.org -- https://bitbucket.org!/LINK!and sign up (if you don't already have an account)
* Go to !LINK!https://bitbucket.org/MakeHuman/makehuman -- https://bitbucket.org/MakeHuman/makehuman!/LINK!
* Click "fork" (it's hidden under "..." in the button menu)
!IMAGE!Pictures/fork.jpg!/IMAGE!
* Enter a name and description of your choice (the fork will end up on your account, so it doesn't matter what you call it). Use "fork at tip" and don't check "this is a private repository"
* You should be redirected to the new repository on bitbucket
* clone your new repository to your local harddrive (if you need a primer on how to clone or use bitbucket,!LINK!https://confluence.atlassian.com/display/BITBUCKET/Bitbucket+201+Bitbucket+with+Git+and+Mercurial -- see their tutorial!/LINK!)
* Make your code changes locally. Do not make a feature branch, work directly on the default branch.
* Commit and push the changes to your repository on bitbucket
* Go to your repository on bitbucket and click "pull request" (in the button menu at the top right of the page)
* Write a good description for what your changes concern and click "create pull request"
Once you have done this, the makehuman team will get a notification that there is an incoming code changes. This will be reviewed and either merged or rejected.
If you want to continue working with updates in the future, make sure your fork is up to date with changes in the makehuman repository. Go to your repository, click the "..." button in the button menu and choose "compare", click the compare button on the page you get to. Merge any incoming changes.
If your tree is hopelessly out of sync with the makehuman tree, just delete it and make a new fork. Better that than accidentally getting junk in your pull requests.
Before starting with any of the above, you might want to read up on how to run makehuman from a source checkout rather than from a binary download. The short story is that you need to install a few dependencies. More information can be found here:!LINK!http://www.makehuman.org/doc/node/libraries_and_build_procedures.html -- http://www.makehuman.org/doc/node/libraries_and_build_procedures.html!/LINK!
=== Application design and Code overview ===
==== Structural Organization of MakeHuman ====
MakeHuman is organized hierarchically. There is a root application (type gui3d.Application) that handles rendering of objects (guicommon.Object). These objects can be added/removed to/from the root application. Objects added to root application are always visible in the canvas.[I'm wondering if this is really true? - There are object on hidden tabs and the skeleton or mesh can be visible or not. Am I confusing the distinction between 'canvass' and 'view'? - RWB] Every added object has an openGL counterpart.
mhmain.MHApplication inherits from root application to constructmain application. A view is a visual context. A tab is a view, for example, the main application is a view.[The main application IS a view or the main application HAS a view? "the "main application frame/window is a view?"- RWB]
The Root application[you do meanrootand notmain? - RWB]contains Categories. A Category (gui3d.Category) is a specialised view object which contains multple taskiew objects (gui3d.TaskView). Taskview objects are specialised view objects with a panes and tab. In context of MakeHuman interface, Category objects constitute the upper row of tabs while taskview objects constitute the lower row of tabs.
Objects (guicommon.Object) can be added/removed to/from a taskview. Objects added to a taskview are only visible if the taskview is visible. For example, a skeleton added to the skeleton chooser is only visible when the skeleton chooser taskview is visible. Objects added to root application[root not main? - RWB]are always visible. Thus objects like human and all proxies such as clothes are added to theapplication,because they should always be visible. Visiblilty can be disabled by setting the visibility flag on objects but an object that is not added to a currently visible taskview, or the application, is not visible, even if its visibility flag is set positive. [Wording needs improving -- 'should always be visible' and a 'visibility flag' are mixed message - RWB]
An object can only be added to one context. So an object is either added to one taskview, or the application, not two different taskviews.
Apart from root application, there is another application (type qtui.Application) which implements MH gui structures using Qtlibraries. mhmain.MHApplication inherits from this application too for handling of gui content.e
General structure in MH can be represented as: !IMAGE!Pictures/mh-inheritance.png!/IMAGE!
====
Basics of event handling in Makehuman: ====
Makehuman is a GUI based, interactive, Qt application in which objects interact by sending messages to each other. The Qt class QEvent encapsulates notion of low level events like mouse events, key press events, action events, etc. A Qt application is event loop-based, which is basically a program structure which allows events to be prioritized, queued and dispatched to application objects.
In a Qt based application, there are different sources of events. Some events like key events and mouse events come from window system, while some others originate from within application. When an event occurs, Qt creates an event object to represent it by constructing an instance of the appropriate QEvent subclass, and delivers it to a particular instance of QObject (or one of its subclasses) by calling its event() function. This function does not handle the event itself, but rather, it calls an event handlerbased on the type of event delivered, and sends an acknowlegement based on whether the event was accepted or ignored.
QCoreApplication::exec()method enters the main event loop and waits until exit() is called. It is necessary to call this function to start event handling. In MH, it is done in lib.qtui.Applicationwhich inherits fromQApplicationwhich in turn inherits fromQCoreApplication:
def start(self):
self.OnInit()
self.callAsync(self.started)
self.messages.start()
self.exec_()
In MH, event handling falls in two broad categories.
* Event handling forcontainers(application, categories, taskviews)
* Event handling forwidgets(contained in containers)
==== Event handling for containers: ====
MH is organized hierarchically in the context of containers. At top is the main application (core.mhmain.MHMainApplication). It contains categories (core.gui.Category), which in turn contains taskviews (core.gui.TaskView).
In a Qt-based application, there are five different ways of events processing, as listed below:
* * Reimplementing an event handler function like paintEvent(), mousePressEvent() and so on. This is the most common, easiest, but least powerful approach.
* ReimplementingQCoreApplication::notify( QObject * receiver, QEvent * event ). This is very powerful, providing complete control; but only one subclass can be active at a time. Qt's event loop and sendEvent() calls use this approach to dispatch events.
* Installing an event filter onQCoreApplication::instance(). Such an event filter is able to process all events for all widgets. It's just as powerful as reimplementing notify(); furthermore, it's possible to have more than one application-global event filter. Global event filters even see mouse events for disabled widgets. Note that application event filters are only called for objects that live in the main thread.[I believe that MH is single threaded - implications? RWB]
* ReimplementingQObject::event()(as QWidget does). If you do this you get Tab key presses[<--Explain what is special about TAB and shift-TAB presses ?- RWB], and you get to see the events before any widget-specific event filters.
* Installing an event filter on the object itself. Such an event filter gets all the events, including Tab and Shift+Tab key press events[<--Explain what is special about TAB and shift-TAB presses ?- RWB], as long as they do not change the focus widget.
In MakeHuman, approaches 2 and 4 are used for extensively for event handling. As part of strategy 2,inlib.qtui.Application (which extendsQApplication), notify has been reimplemented:[I don''t understand the implication of this? Expond? -RWB]
def notify(self, object, event):
self.logger_event.debug('notify(%s, %s(%s))', object, event, event.type())
return super(Application, self).notify(object, event)
object is the receiver object. Class implementing notify has to be singleton. [Clarify? - RWB]
In MakeHuman,MHApplicationsubclasseslib.qtui.Application.MHApplicationobject is the main application object. It's notify function receives notification from the event loop in the underlying Qt layer about each[container only or widgets too?]event, which is then relayed to receiver object's event method. Thereceiver object's event method is either inherited from QObject or reimplemented. The Receiver object then either sends TRUE or FALSE, as the case may be, to[WHERE??] - RWB
lib.qtui.Applicationalso implements an event function, which is called if the receiver object isMHApplication objectitself. Then,lib.qtui.Application.event()checks if its a user-defined event or not,and it is so true is returned, else we call super class's event(). In case of true being returned,Qt dispatches event to receiver object's callEvent function which determines which function to be called on object to handle the event. Called function then handles the event or propagate it to its parent(or to current task if its application object), as may seem fit.
==== Event handling for widgets ====
Most of MH widgets are wrappers around Qt widgets. These widgets (defined in module lib.qtgui) inherit from the respective Qt widgets and the Widget class (lib.qtgui.Widget). MH makes use ofsignal and slot mechanismby making the connection between the signal originating from the Qt layer and the corresponding handler function. For example, class TabBase connects the signal 'currentChanged' to its function 'tabChanged' as follows:
class TabsBase(Widget):
def __init__(self):
super(TabsBase, self).__init__()
self.tabBar().setExpanding(False)
self.connect(self, QtCore.SIGNAL('currentChanged(int)'), self.tabChanged)
......................
Any class inheriting from TabsBase(e.g., lib.qtgui.Tabs or lib.qtgui.TabBar) also gets this facility. So now whenever signal 'currentChanged' is emitted from Qt layer function 'tabChanged' is called. The result is that when a user clicks the mouse on a tab, the 'tabChanged' code will be called,
Similarly, MH Slider widget connects various slider operations to its event handling functions as:
...........................
self.connect(self.slider, QtCore.SIGNAL('sliderMoved(int)'), self._changing)
self.connect(self.slider, QtCore.SIGNAL('valueChanged(int)'), self._changed)
self.connect(self.slider, QtCore.SIGNAL('sliderReleased()'), self._released)
self.connect(self.slider, QtCore.SIGNAL('sliderPressed()'), self._pressed)
...........................
[-- EDITING/PROOFING ENDS HERE - RWB --]
==== Overriding vs event decorators: ====
The View, Category and Application classes inherit from events3d.EventHandler, hence they have callEvent() function. The events that apply to this category are usually application-wide. If user make a change that impacts the whole application, and whole application must know about this change, then best way to do so is to call callEvent() for all the taskviews of the application,as follows:
for category in self.categories.itervalues():
for task in category.tasks:
task.callEvent('onMyEvent', params)
A good example is the event of makehuman's scene changing(core.qtui.MHApplication._sceneChanged). So when callEvent is called on a taskview object and it has onMyEvent implemented,it is being called. In core.gui3d.View too one can see that most of the events (onShow, onMouseDown,...) on the taskview are propagated by default to their parents - the categories. The categories also are views, so the events are propagated again to their parent, the application. If, again, the application or any category has an onMyEvent method, it is executed.
There are some events that affect the application, but only a single task at a time,for example onMouseDown event. It only happens to the active taskview
(the others are hidden, so they receive no mouse events). Once the mouse is pressed, an Application.currentTask.callEvent("onMouseDown", event)is issued. This causes the onMouseDown event to be received by the active Taskview, its parent Category, and finally the Application. This call executes any onMouseDown method in these objects.
Apart from the Category events described above, there are events used for local purposes. Such events are handled withevent decorators. Suppose we have a new Taskview, FooTaskView. This Taskview has a 'mybar' member variable, which is of type Bar(events3d.eventHandler). The requirement is that when self.mybar executes code, we may want to communicate with its parent to inform it about an event that just happened. So, inside the code for Bar, is located a 'self.callEvent('onBaz', 42)' command. Thus, in the Bar class, we emit a timely event signal and use the event decorator to let the parent Taskview know about the event. In the FooTaskView class, but below the place where self.mybar is created, we add:
@self.mybar.mhEvent
def onBaz(event):
# code on event.
# guess what, event == 42.
When now the self.mybar Bar reaches that callEvent, the above method, located in FooTaskView, will be executed.
core.mhmain.MHApplication's human is perfect example of this approach.Human has onMouseDown event handler and we need to relay it to application.
In loadMainGui function of MHApplication, we add decorator to human attribute as:
def loadMainGui(self):
..............
@self.selectedHuman.mhEvent
def onMouseDown(event):
if self.tool:
self.selectedGroup = self.getSelectedFaceGroup()
self.tool.callEvent("onMouseDown", event)
else:
self.currentTask.callEvent("onMouseDown", event)
.............
Application.human.onMouseDown event is caught and it starts its trip from the Human; it is captured by the decorated method located in Application.loadMainGui (this is the place where the method is bound with the event), it is sent to the currentTask, propagated through the parent category, and finally reaches its destination, the Application.
A more intense process happens on Human.onChanged. This is emitted when a save/load happpens, so the whole application has to know. So it starts from the human, captured by the decorated method in app, sent to ALL the taskviews in MH, and finally through the categories again to the app.
==== The MakeHuman Graphical User Interface (GUI): ====
The MakeHuman GUI is based on the pyQt library which, in turn, is built on the Qt library. Qt is a development framework for the creation of applications and user interfaces for desktop.
Important GUI classes in MakeHuman are:
lib.qtui.Canvas:This is the class in MakeHuman which takes care of rendering openGL graphics.It inherits from Qt's QGLWidget class which is a widget for rendering OpenGL graphics. QGLWidget provides functionality for displaying OpenGL graphics integrated into a Qt application. It is very simple to use. You inherit from it and use the subclass like any other QWidget, except that you have the choice between using QPainter and standard OpenGL rendering commands.
The Canvas class reimplements three functions from parent class to perform openGL tasks:
* paintGL() - Renders the OpenGL scene. It gets called whenever the widget needs to be updated.
* resizeGL() - Sets up the OpenGL viewport, projection, etc. Gets called whenever the widget has been resized (and also when it is shown for the first time because all newly created widgets get a resize event automatically).
* initializeGL() - Sets up the OpenGL rendering context, defines display lists, etc. Gets called once before the first timeresizeGL() orpaintGL() is called.
lib.qtui.Application: This is the foundation class which manages GUI's control flow and main settings. It inherits fromQtGui.QApplicationandevents3d.EventHandler. QApplicationcontains the main event loop, where all events from the window system and other sources are processed and dispatched. It also handles the application's initialization and finalization.Application class holds gui main window(instance of lib.qtui.Frame). Application class receives event notifications from underlying Qt user intrface framework and dispatches them to appropriateuser intrface elements in MakeHuman.
GUI architecture inMakeHumanMH can be depicted as follows:
!IMAGE!Pictures/mh-uiarchitecture.png!/IMAGE!
=== Application Design Notes from IRC Chat with Thanassis ===
Thanasis comments on gaining the big picture of MH coding
* [16:12:57] <Thanasis> I would avoid describing the different parts of code as different entities
* [16:13:43] <Thanasis> ie. follow the object-oriented paradigm, and avoid thinking who is inherited by who etc.
* [16:13:48] <Thanasis> more specifically
* [16:15:03] <Thanasis> I mean, treat an object as a single object
* [16:15:08] <Thanasis> I'll show an example
* [16:15:45] <Thanasis> you have the application. Inheritance says it consists of three classes, QApplication, MHApplication, and mhmain.Application (names may differ a bit).
* [16:15:58] <Thanasis> but it is only one object
* [16:16:42] <Thanasis> We don't care if the QApplication activates a function in MH application, because it happens inside the same object
* [16:16:50] <Thanasis> the application
* [16:17:18] <Thanasis> we only pay attention to the interactions the application object has with other objects
* [16:17:43] <Doctor_Hell_> but if you need to find a function, you need to follow the inheritage chain...no?
* [16:18:24] <Thanasis> of course, in the code, yes. but in a diagram it will make it complex
* [16:21:02] <Thanasis> well, let's go top-down
* [16:21:29] <Thanasis> we have: QT, App, Tab, Task
* [16:21:56] <Thanasis> The event starts from QT, and activates a handler in App
* [16:22:22] <Thanasis> The App sends a new event to the current Task
* [16:22:46] <Thanasis> The task handles it, and sends a copy to the parent Tab
* [16:23:13] <Thanasis> And finally the Tab handles it and sends a copy to the App
* [16:23:35] <Thanasis> which handles it, and stops
* [Referring to how distrating it is to describe the big picture of MH, Thanasis comments ...]
* "Distract? no, this does not consume any brain energy"
* We love your help- the more the bettter -- Thanks [RWB]
Comments Regarding MacroTarget slider processing/handling based on naming conventions:
* [16:36:24] <Doctor_Hell_> [23:26] <Doctor_Hell_> another complex part to know is the engine coded by Jonas to automatically handel the targets using their name
* [16:37:58] <Thanasis> uh. yes, that's a tough one too. I think it does, but I don't remember why and how, because it was a long time ago and Jonas changed the human modifier class since then
* [16:38:18] <Thanasis> he simplified it, actually, but I haven't seen the new version yet
* [16:38:34] <Doctor_Hell_> where is the code?
* [16:38:49] <Thanasis> apps/humanmodifier.py, I think
* [16:39:01] <Doctor_Hell_> Jonas should be very busy recently, since I asked him but he didn't reply me yet.
* [16:42:37] <Thanasis> um by the way, reading humanmodifier alone won't help a lot. I would suggest starting from the macro plugin, to trace what happens when a slider is created, and when the user moves a slider. It might be easier this way
Difficulties in understanding relationships between folder names / module names and the object structure
* [16:39:36] <Doctor_Hell_> ANother thing to understand is why we have some code inapps, other incore, other in libs..the logic is not clear for me..
* [16:39:52] <Thanasis> ah, ignore logic in that part. :)
* [16:40:20] <Thanasis> as far as I know it is all because of mh history so far
* [16:40:29] <Thanasis> the way it developed.
* [16:40:56] <Doctor_Hell_> I know some of it
* [16:41:24] <Doctor_Hell_> in the early times,it was planned to have a core folder, with all important main files
* [16:42:03] <Doctor_Hell_> then anapps folder, to contain many application based on the core files: makeHuman, makeANime, MakeToon, etc..
* [16:42:29] <Doctor_Hell_> butsharedandlibswere added later...I don't know why
* [16:43:10] <Thanasis>libs, they are classes imported from c++ directly
* [16:43:48] <Doctor_Hell_> ah ..so only the "shared" folder is the mystery
* [16:44:04] <Thanasis> shared, they are later classes used by many different parts of the code at the same time
* [16:44:15] <Thanasis> classes created later*
* [16:44:28] <Thanasis> ie. material. It's used literally everywhere
* [16:44:32] <Thanasis> progress too
* [16:44:58] <Doctor_Hell_> ok..at least now it make sense, thank you
* Comments on New API project
* [16:45:39] <Doctor_Hell_> now that you have more time, will you look at the API?
* [16:46:55] <Thanasis> 'time' != 'creativity'. I expect it will be easier to me after the start of the semester
* [16:46:27] <Doctor_Hell_> if you are logged to MH site, you can see this:!LINK!http://www.makehuman.org/blog/the_makehuman_api_project_mhapi.html -- http://www.makehuman.org/blog/the_makehuman_api_project_mhapi.html!/LINK!
* [16:47:02] <Doctor_Hell_> Also Joel has already created this:!LINK!https://bitbucket.org/joepal1976/makehuman-api-project/overview -- https://bitbucket.org/joepal1976/makehuman-api-project/overview!/LINK!
* [16:48:52] <Doctor_Hell_> at the moment, you can just post a list of wished api in the issue 534
* [16:49:16] <Doctor_Hell_> we want to start the API in few weeks..they are fundamental, in order to have more contributors...
* [16:51:05] <Thanasis> oh, boy. I want to clean up this code!LINK!https://bitbucket.org/joepal1976/makehuman-api-project/commits/aa5c12953fb2c8a1723b21bb0b7d90667653d615 -- https://bitbucket.org/joepal1976/makehuman-api-project/commits/aa5c12953...!/LINK!* Go for it? [RWB] :)
The Doc_Hell Diagram (green and red arrows that even Glynn couln't understand)
[Summary - concentrate on green arrows not red arrows to get the big picture]
* <Doctor_Hell_> this is an example of bad diagram:!LINK!https://www.dropbox.com/s/v3waacufp9pyx1u/mouse_event.png?dl=0 -- https://www.dropbox.com/s/v3waacufp9pyx1u/mouse_event.png?dl=0!/LINK!
* [16:52:48] <Thanasis> well, in your shape, the actual thing is about the green arrows
* [16:53:19] <Thanasis> the red arrows could have been implemented in hundreds of different ways
* [16:53:44] <Thanasis> but the important is their result, the green arrows
* [16:53:53] <Doctor_Hell_> talking about how to draw the objects?
* [16:54:26] <Thanasis> well, my idea was, do two shapes
* [16:54:36] <Thanasis> the first without code
* [16:55:10] <Thanasis> only showing the 5 steps like I explained above, ie, the green arrows
* [16:55:28] <Thanasis> the second can explain each step in detail using the red arrows
* [16:55:50] <Thanasis> but in any case the definition is the following
* [16:56:04] <Thanasis> an event is, you send the name of a method to someone
* [16:56:14] <Doctor_Hell_> ok...but also we have the description written by Manish. I'll show you it tomorrow
* [16:56:21] <Thanasis> and that someone executes that method of theirs
* [16:56:47] <Thanasis> sure, there are many ways to describe it
* [16:57:00] <Doctor_Hell_> I hope we can find the best one
* [16:57:07] <Thanasis> I think that they all match though in some certain key points
* [16:57:52] <Thanasis> if these are filtered out, the explanation may be more simple
And touching on API ideas ...
* [16:59:09] <Doctor_Hell_> since the core is too complex for average python programmers
* [16:59:36] <Thanasis> yes... perhaps the code could be organized in tiers.
* [17:00:00] <Thanasis> core, classes, plugins, scripts
* [17:00:27] <Doctor_Hell_> ah you are talking of the current code, not the simplified api
* [17:00:54] <Doctor_Hell_> yes, it's a good idea..but what group under "core" ?
* [17:01:25] <Thanasis> theapplication and its interfaces(ie.communication with the system and devices. QT, GL etc.)
* [17:01:59] <Thanasis> classes are abstract, they use the application by calling its methods
* [17:02:35] <Thanasis> the application uses the interfaces (QT, GL.these are actually harder than the application andcould be a sepparate tier)
* [17:02:54] <Thanasis> thepluginsuse the classes to create objects
* [17:03:26] <Doctor_Hell_> I see some possible confusion because:
* [17:04:24] <Doctor_Hell_> - not all core modules are into core folder (for example qtui and qtgui are in libs)
* [17:04:49] <Doctor_Hell_> - Classes are everywhere
* [17:05:07] <Thanasis> yes, libs folder consists of both core and classes... indeed
* [17:05:23] <Thanasis> andinterfacestoo
* [17:06:51] <Thanasis> but in general, this separation exists somehow. I'm not sure how, but the past programmers instinctively created it, perhaps for better manageability
* [17:08:14] <Thanasis> ie. Human is a class, Material too, Armature (probably making name wrong again), and to function I observe that they use callbacks of Application
* [17:08:38] <Thanasis> They never use interfaces directly
* [17:09:46] <Thanasis> Even for drawing the human, it is the Application that will give the Human's object3d to OpenGL, not the Human directly
* [17:10:31] <Thanasis> and plugins use classes ie. they use the callbacks that Human, Material etc. have
* [17:11:08] <Doctor_Hell_> Do you mean abstraction classes?
* [17:13:27] <Doctor_Hell_> Thanasis: about new API:!LINK!http://bugtracker.makehuman.org/issues/534 -- http://bugtracker.makehuman.org/issues/534!/LINK!
* [17:13:42] <Doctor_Hell_> and!LINK!http://bugtracker.makehuman.org/projects/makehuman/wiki/Abstraction_API_for_plugins -- http://bugtracker.makehuman.org/projects/makehuman/wiki/Abstraction_API_...!/LINK!
* [17:13:57] <Doctor_Hell_> Feel free to add wished api calls
=== Q & A with Glynn Clements ===
Question: For an event when user clicks on a tab, Tabs class method tabChanged is called.
QTabWidget documentation.There is no such method.
Response:
The tabChanged method is defined for qtgui.TabsBase (and overridden for qtgui.Tabs).
Both qtgui.Tabs and qtgui.TabBar inherit from qtgui.TabsBase.
Tabs inherits from both TabsBase and QTabWidget while TabBar inherits from both TabsBase and QTabBar.
Both QTabWidget and QTabBar define the currentChanged signal, which is emitted whenever the current tab changes.
The TabsBase initialiser connects this signal to the tabChanged method (lib/qtgui.py:109):
class TabsBase(Widget):
def __init__(self):
...
self.connect(self, QtCore.SIGNAL('currentChanged int)'), self.tabChanged)
==========================================================
Question: is it true that qtui module: low level module, that handles signals directly from QtCore, QtGui and QtOpenGL?
Response:
qtui defines the classes for the application (QApplication subclass), main window QMainWindow subclass), drawing canvas (QGLWidget subclass), and some associated support classes. In other words, it implements the high-level UI, or at least the aspects which are tied to Qt.
Question: is it true that qtgui module: low level module, that define the basic widgets of the GUI as buttons, radiobuttons, etc..
Response:
Yes; qtgui is essentially a compatibility layer between the Qt widget classes and the legacy MH GUI toolkit. The classes provide methods which more closely mimic the behaviour of original gui3d widgets. Qt events are translated to MH events3d events.
Question: Is it true that gui3d module: high level module, that define the principal public classes of MakeHuman: Application, Category, TaskView and View.
Response:
This is what's left of the legacy MH GUI toolkit. Before the move to Qt, everything was a "View". Now it's just the high-level containers (Application, Category, Task) which exist as somewhere to put event handlers.
Question: What is the purpose of the module guicommon.py? Looking at the module name, it appears to be a sort of library for the GUI functions, but it's a completely different thing. What is it really?
Response:
Object used to be part of gui3d. Its primary function is to be the base class for Human. It's the other main subclass of events3d.EventHandler (the first being gui3d.View).
It's not really accurate to call it a "wrapper" around Object3D (although it can have instances of both module3d.Object3D and object3d.Object3D as members).
One of the main differences between guicommon.Object and module3d.Object3D is that the latter is a single mesh, while the former has up to four meshes (all of type module3d.Object3D): the base (or "seed") mesh, a proxy mesh, a subdivided mesh, and a subdivided proxy mesh.
It [guicommon.py or guicommon.Object ??RWB] also contains an object transformation (location, rotattion, scale) [method?], and optionally a display mesh (object3d.Object3D). As a subclass of EventHandler, it [guicommon.Object ??RWB] provides mouse handlers which propagate the event to the object's view (these are overridden for the Human within MHApplication.loadMainGui).
Question: G.app is the singular mhmain.MHApplication instance; the callEvent method (inherited from event3d.EventHandler) will end up calling G.app.onMouseDownCallback. How the function callEvent end up calling G.app.onMouseDownCallback?
Response:
"direction" will be either onMouseDownCallback or onMouseUpCallback. Note the "Callback" suffix.
So typical event flow for clicking on the human model is:
G.app.mainwin.canvas.mouseUpDownEvent ("onMouseDownCallback")
[Canvas.mouseUpDownEvent]
G.app.callEvent("onMouseDownCallback") [EventHandler.callEvent]
G.app.onMouseDownCallback() [gui3d.Application.onMouseDownCallback]
G.app.selectedHuman.callEvent('onMouseDown', event) [EventHandler.callEvent]
G.app.selectedHuman.onMouseDown()
[local function in MHApplication.loadMainGui]
G.app.currentTask.callEvent("onMouseDown", event) [EventHandler.callEvent]
G.app.currentTask.onMouseDown() [View.onMouseDown]
G.app.currentCategory.callEvent("onMouseDown", event) [EventHandler.callEvent]
G.app.currentCategory.onMouseDown()
[View.onMouseDown]
G.app.callEvent("onMouseDown", event) [EventHandler.callEvent]
G.app.onMouseDown() [MHApplication.onMouseDown]
Notes:
G.app.currentTask.parent == G.app.currentCategory
G.app.currentCategory.parent == G.app
Question: is the eventType string (also called 'direction') originated by QT?
Response:
No. "direction" is just so that code which is common to both mouse press and mouse release events can go into a single method (mouseUpDownEvent) rather than duplicating it in mousePressEvent() and mouseReleaseEvent(). Those functions are identical except for the name of the event passed to callEvent.
Bear in mind that self.callEvent("onMouseDown", event) is almost the same as self.onMouseDown(event), except that callEvent forces a redraw after the event has been dealt with, and has some support for logging and profiling. Once you strip that away, the guts of callEvent() is just:
method = getattr(self, eventType)
method(event)
======================================================================
Question: Can the modularization of the code can be improved?
Response:
Modularisation is already quite good. Too much of it can make the code harder to understand.
Currently, we try to avoid importing OpenGL or Qt modules (directly or indirectly) into modules which don't inherently depend upon them (e.g. guicommon.Object imports object3d locally in the attachMesh and detachMesh methods, so it only gets imported if you actually need to render the object).
TODO ACTION. One minor point which I noticed: lib/camera.py imports glmodule solely for the queryDepth() call in convertToWorld2D (the Z coordinate is obtained by retrieving a value from the depth buffer using the X,Y coordinates). This should probably be a local import in that method, so that camera.py could be used in e.g. import/export utilities.
==========================================================================
Question: [Referring to DocHell's red and green diagram (!LINK!https://www.dropbox.com/s/v3waacufp9pyx1u/mouse_event.png?dl=0] -- https://www.dropbox.com/s/v3waacufp9pyx1u/mouse_event.png?dl=0]!/LINK!]
Response:
I have no idea; I can't follow that [diagram]. It would probably help if you simply ignore CallEvent(), and treat object.callEvent('method',event) as just object.method(event).
The two factors which make following the flow slightly complicated are:
Methods aren't always defined within the class used to create an object, but may be inherited from one of its base classes.
Event handlers may be dynamically added to an object with the mhEvent method (which is usually invoked using Python's decorator syntax). This is done for the Human object in MHApplication.loadMainGui():
@self.selectedHuman.mhEvent
def onMouseDown(event):
....
If you aren't familiar with the decorator syntax, the above is equivalent to:
def onMouseDown(event):
...
self.selectedHuman.mhEvent(onMouseDown)
which in turn boils down to:
def onMouseDown(event):
...
self.selectedHuman.onMouseDown = onMouseDown
=================================================================================
Question: Could you provide an explanation of what a weak reference is? How might this impact MakeHuman?
Response:
[Jonas Hauquier ] A weak reference, one that is not accounted for by the garbage collection. Garbage collection removes objects from memory that have no pointers to them anymore. Weakrefs are not counted among those, so if the object has only weakrefs pointing to it, and not real pointers, it will be removed anyway. This is to make sure that object A and B that always point to each other, are not kept in memory just because they keep referencing each other (I believe the garbage collection does not do expensive graph traversals to check what is still referenced by the active context).
[Glynn Clements] Sort of. Python uses both reference-counting (which can't handle circular references) and reachability-based garbage collection (which can). If an object's reference count reaches zero, it will be finalised immediately. But an object with a non-zero reference count can still be finalised if it can be determined that it isn't reachable during a garbage-collection sweep.
However: the garbage collector won't attempt to finalise reference cycles if any of the objects in the cycle have a __del__ method, as it can't determine a safe order in which to execute them. Instead, it adds them to a list, accessible as gc.garbage. Application code can inspect this list, manually finalise the objects (which should break the cycles), then remove them from the list (otherwise their presence in gc.garbage will itself constitute a reference).
It's possible to have the garbage collector report such cases using gc.set_debug(gc.DEBUG_UNCOLLECTABLE).
Only a few MH classes contain __del__ methods. These will only present a problem if the object itself is part of a cycle (i.e. contains references to "complex" objects which themselves contain references which could lead back to the original object).
"Leaf-node" classes such as Texture and Shader shouldn't present a problem unless their creators attach additonal references to them. This may be an issue for e.g. qtgui.Slider and qtgui.RadioButton, as these have __del__ methods and will naturally create circular references. Use of weakref may be advised here. Similarly for queue.Thread. SceneItem in plugins/7_scene_editor.py may also be a problem.
=============================================================================
Question: Could you clarify wherther the following acurately describe the use of decorators?
A basic decorator is a function that:
1) Gets a function "A" as argument
2) Modifies the behavior of "A"
3) Returns a "decorated" version of "A"
Response: Correct.
Question: Topic: Decorators and side-effects. When is a decorator not about generating a function? So, if the above accurately descibes a decorator, consider the code:
@self.selectedHuman.mhEvent
def onMouseDown(event):
This should translate:
onMouseDown = self.selectedHuman.mhEvent(onMouseDown)
One would expect that using mhEvent as decorator, it returns a function, but instead, it returns None:
def mhEvent(self, eventMethod):
self.attachEvent(eventMethod.__name__, eventMethod)
How can it be used as decorator?
Response:
Because the returned "function" isn't actually used anywhere. The definition is local to loadMainGui(), which doesn't reference the functions, so the fact that e.g. onMouseDown is None within loadMainGui() doesn't matter. The mhEvent() method is used for its side-effects, not its return value. It attaches an event to the selectedHuman. It is equivalent to:
self.selectedHuman.attachEvent(onMouseDown.__name__, onMouseDown)
==============================================================================
== Packager's notes ==
Notes for packagers of Makehuman stables and nightlies.
=== Packaging RPM's for Suse/Fedora using Open Build Service (OBS) ===
The Open Build Service is a service formerly known as the Opensuse build service. OBS allows packagers to build packages for several targets. Here a target is a particular OS version E.g. Suse 13.1, Suse 12.3, Fedora 20 , Ubuntu 14.04 and so on. OBS being a build system by itself can be hosted anywhere even on local infrastructure. For MakeHuman packages we use the OBS instance hosted by Novell at build.opensuse.org
This document will briefly outline the typical packaging workflow for Suse and Fedora. Both distributions use the RPM format and subsequently adhere to RPM's packaging rules.
!IMAGE!Pictures/obs-flow-chart-scaled.png!/IMAGE!
=== 1) Prepare source tarball: ===
OBS does not allow pulling from the internet once the rpm is being processed into a package so. When creating the source tarball you should assemble it either on your own computer or a server online (even a VPS will do).
There are several Important files and scripts which are of interest to us. One is build_prepare.py this assembles the main folder and all the common data which is needed by all OSes be it Mac or LInux distros or windows. This script is essential to run. Then there is build_rpm.py. We borrow some of the initial code in this and use it on our bash script but we do not build the whole RPM because OBS does that. Another third inportant file is build.conf (this stores the configuration used by build_prepare.py to make the source tarball). Using the above scripts/files I prepared a Bash script which is shown below.
The above script assumes the following:
* You have cloned MakeHuman's Mercurial (Hg) repo into your home directory and it is located at ~/makehuman (cloning into ~/ automatically makes the makehuman folder)
* You have python , numpy and pyQt4 installed (package names may vary from distribution to distribution)
* You are running on a LInux distribution.
* You want to prepare a source tarball from Hg tags.
* $VERS is the latest user specified stable tagged version
* makehuman-$VERS is your destination folder where all files are copied
* the final tarball uses bzip compression. How the tarball is compressed is significant as RPM accepts only certain compression algorithms. The resultant file is makehuman-$VERS.tar.bz2 (E.g. makehuman-1.0.2.tar.bz2)
* You use an FTP server whose file path is located at /var/ftp you can skip this step if the script is run locally by commenting the lines out.
Explanation of the above script:
In the first section we use Hg and extract available tags and ask the user for input on which stable tag he/she wants to build against.
In the second section we automatically create the build.conf file which is used to specify if we want a release or development folder. Here we set isRelease=True
In the third section we use build.conf along with build_prepare.py this creates a basic non-OS specific folder in home (~/).
In the fourth section we copy extra files such as the .desktop file and the makehuman icon file, the shell wrapper for MakeHuman and remove the .bat file which is not needed in linux. Currently there is a bug where command line arguments are not passed by the shell wrapper to the python executable. We fix this by manually editing the file automatically in our bash script before copying it into the target folder to be tarballed. This is moved into the folder created earlier by build_prepare.py . With this we now have have a folder with all the basic requirements needed for packaging.
FInally the folder is then tarballed and it is ready for upload to OBS. If you are not using an FTP server then comment out the “mv” command which moves the tarball to /var/ftp in the shell script above. IN some distributions the FTP directory is /srv/ftp
=== 2) Upload the tarball to OBS ===
The next step is to upload the tarball to OBS. Firstly you need to create a username and password. Then login to build.opensuse.org and create a project. On account creation you get your own home directory.
Two interfaces exist to OBS. One is the command-line interface which is available by installing the package "osc" it is available in most distributions. The other one is the Web User interface. Both are equally useful the command line interface is better for doing certain tasks however.
OBS also has a feature called “ services”. Several services are available such as services to pull from various sources e.g. FTP servers online, services to tarball the version controlled sources directly (tar_scm). You can make use of these _services (they are defined using XML notation in "_service" files). Read!LINK!”http://en.opensuse.org/openSUSE:Build_Service_Concept_SourceService” -- Source Services!/LINK!; or you can manually upload your tarball through the Web UI or use the "osc" command line utility. To learn how to use the "osc" utility use "man osc" or view the manpage online.
I would not recommend using _service files to pull the tarball as they can stop working. It is better to manually push the tarball to OBS. Either by pressing the upload button on the Web UI or placing the tarball in your project home directory created by using the “osc checkout” command. Then typing “osc ar” (add /remove) and finally “ osc commit -m ”put commit description here” “ to push and commit the changes you just made.
You can also automate the above process by adding lines to the shell script but It is better to administer osc separately and manually to allow for more control.
=== 3) Prepare the spec file: ===
A .spec file is a special file which is used to build RPM's. It “contains information required by RPM to build the package, as well as instructions telling RPM to build it. The spec file also dictates exactly what files are a part of the package, and where they should be installed. The RPM specification is very well defined and it is fundamental than any packager develop a strong base in the fundamentals.” (taken from “Maximum RPM”)
A very important book detailing the various capabilities of RPM is!LINK!”http://www.rpm.org/max-rpm/” -- Maximum RPM!/LINK!. This is a must read for any packager and will help in understanding the spec file shown below. If you have not read it please bookmark the page and give the book a read. I cannot stress how important it is.
In OBS we have 2 main OS's which use RPM's as build targets Fedora and Suse. RPM provides macros to make packaging more standardised and easy. Most Macros are common however some are distribution specific. Below is the spec file used by the Makehuman project. For version 1.0.2.
The above .spec file follows the general structure and format of spec files as per the RPM specification. The spec file has been formatted for for OBS by running “osc service localrun format_spec_file” then reading the contents to ensure that nothing went wrong and committing the changes back to OBS. In the above spec file we have split MakeHuman into 2 subpackages and made them depend upon each other to ensure consistency. As you can see there are 2 sources one is the tarball we created with our bash script earlier and there is another file called "makehuman.1" this is a manpage. In the spec file instructions are issued to gzip it and put into the manual directory on install. The manpage (Source101 in the .spec file) is shown below.
How man pages are created is out of scope of this document. Man pages use gtroff. There are however ample resources online which can help with this.
The .spec file has been commented to provide you with a better understanding of what is done at various stages.
Once the .spec file has been updated on OBS it automatically triggers a rebuild duribg that time you can monitor the status of the build process and correct errors in your spec file or sources as they arise.
=== 4)Pushing changes to the official repositories ===
Once you are satisfied that your package is stable you can make a submit request to submit the package from the Web User Interface or run the command below.
In the above command we submit the “makehuman” package to the OpenSuse “graphics” project. After this the package is reviewed by the maintainer of the graphics project and approved or rejected with comments given. You will receive an email after the project has been reviewed.
Notes:
* The .spec file and the manual page will change over time. The above is there for illustration purposes only.
* You can find copies of the most recent stable .spec file and makehuman.1 manpage!LINK!:https://build.opensuse.org/package/show/graphics/makehuman: -- here!/LINK!. This is the stable version after a "submit request" to the official Suse repositories.
ba77d50abee1c6bab7f500e475d6c2cbd08e2b1f
674
2016-05-20T07:55:03Z
Joepal
14
Created page with " == Introduction == MakeHuman (MH) is Open Source software (AGPL3.0) for creating lightweight, realistic 3D models of the human form. It is designed to be easy to use and fl..."
wikitext
text/x-wiki
== Introduction ==
MakeHuman (MH) is Open Source software (AGPL3.0) for creating lightweight, realistic 3D models of the human form. It is designed to be easy to use and flexible. The models are based upon real data for ethnicity, sex and body type and can produce an almost limitless range of human and human-like forms. The forms can be posed and rendered in the software itself or exported into other softwares for further manipulation.
It is developed by a community of programmers, artists, academics and enthusiasts interested in 3D computer models of human beings.
MakeHuman™ is used to create a 3D mesh with optimized topology representing human beings with a user-controlled mix of characteristics including race, sex, size, muscularity and other features. The models thus created are integrated into one of two typical pipelines or workflows.
In the first one, MakeHuman™ is integrated in a professional pipeline, where the A-posed mesh is exported into a full-featured 3D CGI system such as Blender, Maya, XSI, C4D, Zbrush etc.. in order to be included in complex scenes and renderings, or used for games.
In the second pipeline the mesh is posed and clothed directly in MakeHuman™, then rendered with an external engine, for 2D art or quick demo reel of a character.
This section contains high-level articles that describe the purpose and features of the MakeHuman software.
* Features-- describes the technical features of the program
* Evolution towards a Universal Model Topology: the HoMunculus-- gives an interesting background history of the development of the MakeHuman model
The MakeHuman User Documentation includes articles for installing the software and using it 'out of the box' as well as extending and/or configuring MH for your own purposes. Beginners will want to begin with theInstallationsections for their computer systems and theGUI and Modellingsection for using the program.
=== Legal ===
The MakeHuman License
The MakeHuman license is a split AGPL/CC0 setup.!LINK!/content/license.html -- The full text of the license can be found here!/LINK!. There is also a!LINK!/content/license_explanation.html -- license explanation page!/LINK!.
External Tools Licenses
From time to time the MakeHuman™ Team may release new external tools in various forms. Unless otherwise explicitly stated they are covered by the GNU AGPL 3.
Current tools are:
* MakeTarget scripts for Blenderis distributed under the GNU AGPL 3. The MakeHuman morph target files that it generates are per default not covered by any license, since they are designed by you. However, if you make a morph target based on another pre-existing morph target (or a combination of pre-existing morph targets) you must fulfill the license terms of the pre-existing morph target.
Note that all targets in the MakeHuman base distribution are licensed AGPL and that any target derived from these must also be licensed AGPLunless you get written permission by the author of the target file you derive from.
* MakeClothes script for Blenderis distributed under the GNU AGPL 3. If the user is the original author of the clothes, he is free to choose any license for them.
* MakeWalk script for Blenderis distributed under the GNU GPL 2. The license of output files generated using it is free to determine by the user, except when mocap data was used that enforces a specific license.
* MHX Importer.It is distributed under the GNU GPL 2.
* MakeTarget standaloneis distributed under the GNU AGPL 3. The MakeHuman morph target files that it generates are per default not covered by any license, since they are designed by you. However, if you make a morph target based on another pre-existing morph target (or a combination of pre-existing morph targets) you must fulfill the license terms of the pre-existing morph target.
Note that all targets in the MakeHuman base distribution are licensed AGPL and that any target derived from these must also be licensed AGPLunless you get written permission by the author of the target file you derive from.
See the!LINK!http://www.gnu.org/licenses/agpl-3.0.html -- GNU Affero General Public License!/LINK!and!LINK!http://www.gnu.org/licenses/gpl-2.0.html -- General Public License!/LINK!for more details
=== MakeHuman™ and its Purpose ===
MakeHuman™ is a tool designed to simplify the creation of virtual humans using a Graphical User Interface, also commonly referred to as a GUI. This is a specialized branch of the more general subject of 3D modelling. The MakeHuman Team is focused on this specific branch of the broader subject in order to achieve the best possible level of quality and ease of use in that area. The ultimate goal is to be able to quickly produce a wide array of realistic virtual humans with only a few clicks of the mouse and be able to render or export them for use in other projects.
!IMAGE!Pictures/gui_0.png!/IMAGE!
Humans are created through the manipulation of controls that allow for the blending of different human attributes to create unique 3D human characters. The controls are intended to provide the user with a simple way to create characters that give expression to the widest possible range of human forms.The controllable attributes are broken into two groups: macro and detail. The macro targets deal with overall human characteristics like gender, age, height, weight and ethnicity. The detail targets allow for the character to be further refined by focusing on the low level details ofsuch things as the eye's shape or finger's length.
TheMakeHuman™project strives to provide a complete tool that allows for the management of all things needed to create realistic virtual humans. This includes some tools that have not yet been created or are in the early stages of development for things like poses, animation cycles, managing facial expressions, hair and clothes.With the exception of modelling, most of these tools follow a "point and click" approach by using the MakeHuman™'s Library. Via the MH Library, users preview and load poses, animation cycles, facial expressions, hair, shoes and clothes onto their character. MakeHuman™ also offers tools for exporting virtual humans to other software (such as the Blender 3D modeling suite) where further refinements can be made.
=== Short and Long Pipeline ===
Makehuman was created to provide everyone with specialized software that strives to be the state of the art in a very specific field: the virtual human. The goal is to see it used in two different pipelines or workflows.
==== Short Pipeline ====
The short pipeline is intended for quick character prototyping and for 2D art. The user defines the character, adds clothes, hair, a pose and expressions, by selecting them from our libraries, and running the render to obtain an image of the character (future goal: indistinguishable from a real photo of him).This output can be used as a character preview, fineart, blueprints, storyboards, comics, illustrations, etc.. No special skill is required from the user.
==== Long Pipeline ====
The long pipeline is intended to create a 3D character in rest pose for export to external software (Blender, Maya, Max, C4D, etc..) in order to be tweaked, animated and rendered. Another common usage of the rest-posed character is for games. The long pipeline requires the user to have professional skills and a good working knowledge of the external tools chosen to produce the desired final product.
=== Professional mesh topology ===
==== The Homunculus ====
The principal aim of MakeHuman project is to develop an open source application capable to create realistic tridimensional humans.
Since the early release in 2001, by pursuing this aim the MakeHuman Team have developed a model that can combine different anatomical parameters to transition smoothly from the infant to the elderly, from man to woman and from fat to slim. The vast wealth of potential combinations provides the artist an extraordinarily broad range of possibilities for artistic expression but presents many problems to the development team.
!IMAGE!Pictures/age_1.png!/IMAGE!
In particular it adds to the classical problems of 3D modelling (number of polygons, square or triangular faces, etc.) the problems of constructing a super mesh that can be transformed into any form of human while being sufficiently optimised to be able to be manipulated on desktop machines, yet still producing a professional quality of output. These discussions resulted in agreement that the initial mesh should occupy a middle ground, being neither pronounced masculine, nor pronounced feminine, neither young nor old and having a medium muscular definition. An androgynous form, the HoMunculus.
!IMAGE!Pictures/hm01_0.png!/IMAGE!
The Homunculus 00 (2002). No male, no female, nor young or old. A perfect neutral body.
==== Evolution of the topology ====
The current MakeHuman mesh has evolved through successive iterations of the project, incorporating lessons learned, community feedback and the results of considerable amounts of studies and experimentations.
The current version, known as the ‘Homunculus 08’ comprises a state of the art universal humanoid model, including:
* Light and optimized for subdivision surfaces modelling (14766 faces).
* Quads only. The human mesh is completely triangles free.
* Optimized for animation and sculpting (Zbrush, Mudbox)
* MInimal number of poles
* Max number of edges admitted for a pole: 5
!IMAGE!Pictures/heads_0.png!/IMAGE!
The Homunculus evolution through the heads
=== Homunculus releases ===
* The first prototype of an universal mesh (head only) was done in 1999 in the makeHead script, and then adapted for the early MH (2000),
* The Homunculus00, was realized by Enrico Valenza in 2002.
* The Homunculus01 (or K-Mesh) was modelled by Kaushik Pal in 2005
* The Homunculus02 was modelled by Manuel Bastioni (Z-Mesh);
* The Homunculus03 was modelled by Gianluca Miragoli (aka Yashugan) in 2007 and builds upon the experience gained on the preceding versions (Y-Mesh)
* The Homunculus04 build upon the previous one by Gianluca Miragoli and Manuel Bastioni
* The Homunculus05 build upon the previous one by Gianluca Miragoli.
* The Homunculus06 released in 2010 (artists: Waldemar Perez Jr., André Richard, Manuel Bastioni).
* The Homunculus07 completely remodelled by Manuel Bastioni in 2011
* The Homunculus08 remodelled from scratch by Manuel Bastioni in 2013
!IMAGE!Pictures/wip03_0.png!/IMAGE!
An image from the "Making of" the Homunculus 08
==== Alternative topologies ====
The base mesh is capable to be morphed practically in any human character, but in some cases it is preferred to have a very specialized topology. For this reason, since the version 1.0 alpha 7, MakeHuman includes a function to change the mesh of the character, just selecting it from a simple chooser.
The makeHuman team is studying the requirements needed for different purposes (animation, games, crowd, closeups, etc..) in order to create a database of professional topologies.
!IMAGE!Pictures/topologies.png!/IMAGE!
== General overview ==
Brief description of the various components which makeup the Makehuman Graphical User Interface (GUI).
=== Install MakeHuman™ ===
==== Installable versions of MakeHuman™ are available for Windows, Mac OS X and Linux. ====
The installable versions of the current!LINK!http://www.makehuman.org/content/download_makehuman_102.html -- stable !/LINK!!LINK!http://www.makehuman.org/content/download_makehuman_102.html -- release!/LINK!of MakeHuman are available for downlaod, as are!LINK!http://www.makehuman.org/content/download_nightlybuild.html -- nightly builds!/LINK! representing the latest deveopmental updates (not guaranteed stable) for the same platforms.
==== System Requirements ====
You will need about 250 MB of disk space. In order to use some realtime materials and obtain the best from the internal rendering engine, it's required an average quality graphic card, produced after the year 2006. In general, your graphics card should support OpenGL Shading Language (GLSL) version 1.2 or above. There have been reports that the model colors are corrupted on some older Intel Graphics cards (often appearing blue and black). If you experience this, a possible work-around is to start MakeHuman™ with the "-noshaders" command line switch. On Windows, this switch can be added to your shortcut.
==== Choice of Installation Directory ====
The preferred install location location for MakeHuman is a directory simply named "MakeHuman", but in practice you can use another meaningful name. if it is constructed of ASCII characters. On Windows, C:\Makehuman would make a good choice, and on Linux-alike OS's ~/MakeHuman would make a good choice. Program data is written to the user's home directory by default, and not to the program install directory. Thus, it is not essential that users have write privledges to the program install directory.
One caution on Windows systems is that the installation directory should not contain non-ASCII characters as this has been reported to cause problems for some users. This also implies that if your username includes non-ASCII letters that the desktop and Docuemts folders will not be appropriate places for installation because they would result in a path containing non-ASCII cahracters [e.g., C:\users\Åke\MakeHuman or C:\users\Desktop\Åke\MakeHuman are likely to cause problems).
==== Windows ====
Download the zip file (or the installer, if available) from the from the download page (!LINK!http://makehuman.org/content/download.html -- http://makehuman.org/content/download.html!/LINK!).
* Installer (not available yet): just run it. The application will be accessible from the Start menu.
* Zip arhive: just to unzip it where you prefer, and double click on makehuman.exe to start the application.
==== Mac OS X ====
Download and run the installer (or the zip file) from the from the download page (!LINK!http://makehuman.org/content/download.html -- http://makehuman.org/content/download.html!/LINK!). Once downloaded, mount the disk image and drag the MakeHuman app into your Applications folder. MakeHuman™ supports Snow Leopard and newer.
==== Linux ====
Installers are avaiaible for debian (E.g Ubuntu, Debian etc.) and rpm based distributions (E.g Red-hat, Suse etc.). Please use the appropriate package for your distribution.
If you do not want to use the prebuilt packages or are having trouble with the packages refer to "Installing from source" below.
==== Installing from source ====
If you want to install from source or are having trouble with the prepackaged binaries; Makehuman provides compressed source packages. These will work on all supported platforms provided all dependencies are satisfied. To execute MakeHuman simply run makehuman.py located in your unzipped makehuman source directory.
For dependencies and libraries, please read the section "!LINK!http://www.makehuman.org/doc/node/libraries_and_build_procedures.html -- Libraries and build procedures!/LINK!".
=== The Interface and basic functions. ===
==== An Interface Overview: ====
!IMAGE!Pictures/interface-labelled_new.png!/IMAGE!
The application user interface comprises of the various elements. The core elements are :
1) the toolbar with its various partitions.
2) The tabs and sub-tabs which allow you to navigate the application, and utilise its various features in a coherent easy to understand manner.
3) The 3D view window which allows you to view the human as it is morphed, posed etc.
4) The left and right option panels whose options change depending upon the tab/sub-tab you are in.
5) Finally there is a progress Bar which shows the progress of an operation and the Information Bar providing useful information.
Note:Different views may contain different options. These options are described in more detail in the appropriate heads in the rest of the documentation.
=== The Toolbar ===
The "Main Toolbar" is actually made up of six separate partitions.
!IMAGE!Pictures/the_toolbar.jpeg!/IMAGE!
They are:
1) Files partition 2) The Edit partition 3) The View partition 4) The Symmetry partition 5) The Camera partition
=== Files partition ===
!IMAGE!Pictures/the_toolbar-file.jpeg!/IMAGE!
This partition provides shortcut buttons that deal with saving or loading files (Save, Load, Export).
The save button performs the same action as pressing the Files tab and then the Save tab when there is no filename specified. If the file was given a name earlier and saved once this button performs a quick save over the file specified earlier.
The Load button takes you to the file loading window where you can choose the file to load.
The Export button takes you to the export tab and allows you to export your current MakeHuman project to one of the variety of export formats the MakeHuman program supports. Supported formats include mesh formats such as Filmbox (fbx),Wavefront obj, Sterolithography (stl), rig/rigging related formats such as Biovision Hierarchy and various maps such as Light Maps, and UV maps.
Load, Save and Export options are explained in more detail!LINK!http://www.makehuman.org/doc/node/load_save_and_export.html -- here!/LINK!.
=== The Edit partition ===
!IMAGE!Pictures/the_toolbar-undoredo.jpeg!/IMAGE!
The Edit partitionof the toolbar, provides shortcut buttons that deal with editing actions.
The Undo button is to undo the last action that has been performed. Undo can be pressed to cancel actions until you have undone all of the actions taken during your current MakeHuman session.
The Redo button is related to the Undo button and will restore the last action that has been undone. Redo can be pressed until all undone actions performed during the current MakeHuman session have been restored.
The reset button will cancel all actions within the current MakeHuman session and restore the default settings for all MakeHuman controls. This effectively returns your MakeHuman session to the state shown when the program first opens.
=== The View partition ===
!IMAGE!Pictures/the_toolbar-smoothandwire.jpeg!/IMAGE!
The View partitiontoolbar, provides buttons that manage the display mode of the character (Smooth, Wireframe, Background on/off).
Wireframe mode allows you to view the mesh in Wireframe mode like in many other 3D applications.
The Background option allows you to load a background reference image.
The pose button is used for posing. When a rig and pose is active this button is enabled and allows you to toggle between the selected pose and the default rest pose.
The "smooth" is particularly interesting since it subdivides the mesh. The image below shows the mesh smooth and normal, using the wireframe mode. This usesCatmull–Clarksubdivision to create a much more dense smoother mesh.
!IMAGE!Pictures/nsmooth.png!/IMAGE!
=== The Symmetry partition ===
!IMAGE!Pictures/the_toolbar-symmetry.jpeg!/IMAGE!
The Symmetry partitiontoolbar, provides buttons that manage transferring settings applied to one side of the character to the other side of the character so that the character features become symmetrical.
!IMAGE!Pictures/symm.png!/IMAGE!
There are options for right to left symmetry, left to right symmetry and a general symmetry mode. Left to right symmetry applies all changes made on the left side to the right side of the human/character. Right to left symmetry applies all changes made on the right side to the left side of the human/character.
General symmetry mode behaves differently. When it is active all changes made are symmetrical when it is inactive any changes made to any one side affect that one side only. So this mode therefore allows the user to selectively apply symmetry.
In the above image the Left side of the character is made symmetrical with the right side of the character.
=== The camera partition ===
!IMAGE!Pictures/the_toolbar-cameraviews.jpeg!/IMAGE!
The Camera partitionof the toolbar, manages the Camera placement within the scene so that the character can be viewed from different angles and zoom levels. (Front View, Back View, Left View, Right View, Top View, Bottom View, Global Camera, Face Camera and Reset Camera options are available).
=== The help partition ===
!IMAGE!Pictures/the_toolbar-screengrbhelp.jpeg!/IMAGE!
The Help partition, allows you to save a quick screenshot of the view or to access to the help tab.
By default the toolbars are arranged in the order shown above horizontally next to each other along the top edge of the MakeHuman window. The four partition toolbars can each be moved to any area of your screen in Windows by clicking and holding the left mouse button on the left edge of the toolbar and dragging it to the location you desire.
==== The tabs ====
Most of the user controls of the MakeHuman™ application are accessed through the tabs panel. The tabs are organized intoMainTabsandSubTabs.TheMain Tabsoutline the broad category to which functionality belongs and theSub Tabsallow for more fine grained control over various aspects of the main category.ThereforeSub Tabskeep changing based on whichMain Tabhas been selected.
E.g. When you select the "Files" main tab all file associated functions are made accessible via subtabs such as saving, loading and exporting. In the below image Sub Tabs for the "Modelling" main tab are shown.
!IMAGE!Pictures/maintab.png!/IMAGE!
The Primary Tab groups are shown in the image above and from left to right are:
* Files:The Files Tab options provide access to the controls that manage saving, loading and exporting the MakeHuman™ project to or from files.
* Modelling:The Modelling Tab options provide access to the controls that shape and alter the appearance of the MakeHuman™ project model.
* Geometries:. The Geometries Tab options provide access to controls that add new geometries or change the human geometry within the MakeHuman™ project. E.g. Clothes, Eyes, Hair, Teeth, Genitals.
* Materials:The materials available for the human and the additional geometries.
* Pose/Animate:Options for posing animating and rigging a character.
* Rendering:Rendering options using the MakeHuman internal renderer. Currently external rendering is not supported from within the program.
* Settings:Provide options to configure settings of MakeHuman
* Utilities:Provide some additional more advanced utilities. E.g. Material Editor
* Help: The Help Tab's Help option provides access to controls that access the Help and support resources available for the MakeHuman™ project.
==== The sliders ====
MakeHuman is based on parametric modelling, controlled by sliders.
!IMAGE!Pictures/wMgROK6FRzzyQAAAABJRU5ErkJggg==!/IMAGE!
The meaning of each slider is generally self explanatory. Each slider controls the amount of a feature is expressed in the character from its minimum value to is maximum value.
For example, the slider "Age" will change the character from the minimum age, which is about 2 years old, to the maximum age of about 80. When multiple sliders are moved, the values are mixed to form a character that reflects the user's chosen settings using a special interpolation engine.
Each slider can be reset individually with right click on it.
A slider normally moves in increments of 3 or 4 setting values when dragged with the mouse; however, you can place the mouse cursor over the orange portion of the slider and use the mouse scroll wheel to make adjustments in smaller increments of 1.
=== The Interace and File Formats ===
To be added soon.
=== Load Save and Export ===
==== File Access Overview ====
The leftmost section of the Toolbar includes 3 quick action icons: 1) for loading models from native .mhm files; 2) for saving the model as a native .mhm file; and 3) for exporting the model in various formats used by other 3D programs (e.g., dae, .fbx, .stl, .obj).
!IMAGE!Pictures/lse_quick.png!/IMAGE!
For more complete file access support (Load, Save, Export), the Files Tab options provides access to the controls that manage saving, loading, and exporting the MakeHuman™ project to or from files.
!IMAGE!Pictures/lse_tabs.png!/IMAGE!
==== Loading Files ====
Files are loaded using either the Quick Load icon or by directly choosing the File tab and the Load subtab.
!IMAGE!Pictures/load1.png!/IMAGE!
By default, models that have beem saved in MHM format are retrieved from the user directory%HOMEPATH%/makehuman/v1/models/. In the event that you have stored your MHM files in a different directory/folder, you can navigate to that directory/folder using the ellipsis at the top of the center panel. The right hand panel will be populated with thumbnail images of all the MHM files found in the path specified in the path at the top of the center panel. Simply click on the icon for the model you wish to load in the right panel. The model will load and refresh to its completed state in the center panel. You can load different models sequentially, if you wish. They will simply replace the previous model in the center panel. MakeHuman™ is designed so that all loaded models are loaded without changing the camera location. Thus, you can zoom in on a particular area of the body and compare multiple saved models from a single camera perspective.
==== Saving Files (.mhm format) ====
Files are saved using either the Quick Save icon or by directly choosing the File tab and the Save sub tab.
The native file format for saving MakeHuman™ files is the .mhm format. It is important to understand that this format does not save a pixel by pixel representation of your model nor does it save program objects like the actual clothes or hair. Rather, it saves the necessary information for the program to reconstruct your model from its internally defined assets. This means that if you move a .mhm file to another computer that lacks a piece of custom clothing, custom hair, or other custom object, the MakeHuman™ program on the new computer will be unable to provide a complete representation of your model unless you also move the custom asset(s) to the second computer.
By default, model files (in.mhm format) are saved to the user directory %HOMEPATH%/Documents/makehuman/v1/models/. If you wish to save your files in a different location, you can use the ellipsis at the top of the center panel to navigate to the directory/folder of interest. In addtion to the .mhm file, the save operation will generate a thumbnail image of the model as it appears in the viewport at save time. Thus, you will want to move the camera to a meaningful and unique view of the model before saving so that the thumbnail image will be easy to identify visually.
CAUTIONARY NOTE:On windows OS (and perhaps on other OS's) there is a small gliche with saving to non-standard directories in MH 1.0.1 and MH 1.0.2. If you hit the ellipsis with a blank file name, use the system dialog to navigate to your directory of choice, enter a file name without extension in the system dialog, hit save, and watch the dialog close, the file will have been saved using the directory name rather than the filename you provided in the save box of the system dialog. This directory name will now appear to the right of the ellipsis in the center panel. It seems that you can avoid this problem by providing a full file name to the right of the ellipsis before you begin the save procedure, then using the system dialog to navigate to the desired directory, and supplying the same file name a second time in the filename blank of the save dialog. This irratic behavior has been reported, and when fixed, this cautionary note should be removed. (Refer to bug 506 - RWB)
==== Exporting Files ====
!IMAGE!Pictures/export_labelled.png!/IMAGE!
The above illustration explains the typical user interface components of the Export tab. On the right you get to choose what to export be in the mesh, the rig or the maps. In the center you have the 3D preview to preview your model. On the right you have options which keep changing based on what format you have selected in the left panel. On the top below the tabs panel is the “Ellipsis” button which opens a file dialog, a text box to enter the file name of the file and an “Export” button to do the actual export and save the file in the desired format.
Below we outline the three main options in more detail i.e. Mesh formats, rig formats and Maps.
=== Mesh Formats (.dae, .fbx, obj, Ogre3D, .MD5, .stl) ===
Files are Exported using either the Quick Export icon or by directly choosing the File tab and the Export subtab.
The Export window allows you to export your current MakeHuman project to one of a variety of export formats. Supported formats including Collada (DAE) Filmbox (fbx),Wavefront (obj), Id Software (MD5), and Sterolithography (stl).
By default, exported files (regardless of export format) are saved to the user directory%HOMEPATH%/makehuman/v1/exports/(to know yourHOMEPATHon your platform refer to this!LINK!http://www.makehuman.org/doc/faq/where_are_my_makehuman_files_found_ie_where_is_my_home_directory.html -- faq!/LINK!).
As is true for the load and save tabs, the ellipsis can be used to export to a non-standard directory/folder. After selecting a format and export options, type the name of your project in the input box at the center of the Export window and then click theExportbutton at the right hand side of the input box.
MakeHuman, itself, can not read any of the exported formats, so exporting is a one way transfer of information. If you expect to do further refinement of your model, make sure you also save it in .mhm format.
The various export formats differ in the richness of the assets exported:
* Collada Dae (.dae):COLLADA™ is owned by the not-for-profit, open standards!LINK!http://www.khronos.org/ -- Khronos group!/LINK!. It defines an!LINK!https://www.khronos.org/collada/ -- XML-based schema!/LINK!standard for exporting 3D assets. MakeHuman™ is meant to adhere to version 1.4 of the standard. The resulting ASCII format files can become quite large which occassionally limits the use of this format with other programs. By default, MakeHuman™ exports DAE files with y-up, face-z and the decimeter scale chosen. When importing MakeHuman dae files into Blender, be sure to check "import units" at the bottom of the Blender left tool panel if you have not changed the units to meters.
* Wavefront Obj (.obj):OBJ is a very simple format to export the mesh, with vertices, faces and UV coordinates. Originally invented by Alias/Wavefront, all major 3D packages have OBJ importers, so this format allows you to export to the greatest range of applications. However, the character is not rigged but rather a static prop. Wavefront OBJ is a good choice when you need a simple mesh for an external renderer. It comes with an mtl file defining the material.
* Fbx:The default dialect currently used by the MakeHuman™ FBX exporter is FBX 2013 ASCII. Other FBX dialects exist, and if you need one of those dialects, you can use the AutoDesk™ FBX converter (!LINK!http://www.autodesk.com/products/fbx/overview -- http://www.autodesk.com/products/fbx/overview!/LINK!). For example, the Blender importer requires binary FBX files that can be generated in this fashion.
TheOptionsbox contains several export options for each of the formats.The export options available for each format can be selected or deselected by ticking (displayed in orange) and un-ticking off the box in front of them. You can either use the default options for a format or select and deselect options according to your goals and needs. Once an option is changed, it will remain in the changed state until you restart MakeHuman or change it again. They are unaffected by the reset button on the Toolbar.
A common option that is present for all formats isFeet on ground: the origin of the MakeHuman™ mesh is located in the hip area, but if this option is enabled, exported origin is moved to between the feet instead.
Another common option present in almost all formats is the Scale unit: decimeter, meter, inch, centimeter. The internal MakeHuman™ unit is decimeters (the base mesh is 16.8 dm tall), but this is a rather unique choice not shared by other applications. Setting the unit is not essential if the file is exported to a 3D suit like Maya, 3DSMax or Blender, because the character can be rescaled after import. However, Collada files can also be read by other types of applications, where choosing the right scale may be important. In particular, select meters for export to SecondLife.
=== Rig formats (.bvh) ===
MakeHuman currently only supports one rig format.
* Biovision (.bvh):If BVH is selected, it is anticipated that built in animations will be saved to the export directory. As of the MakeHuman™ 1.0.2, there is no offical support for model animation from within MakeHuman™. Thus, selecting this export type is of limited value. If you are interested in using BVH files created by other programs with the MakeHuman model, you may wish to read the documentation on the!LINK!http://www.makehuman.org/sectionview/975 -- MHBlenderTools MakeWalk!/LINK! Addon. A good place to start is the!LINK!http://www.makehuman.org/doc/node/blendertools_makewalk_basic_workflow.html -- MakeWalk Basic Workflow!/LINK!chapter.
=== Maps ( ligtmaps and UV maps) ===
* Lightmap:IfLightmapis checked, a grayscale image of the unwrapped A8 model is saved in the export directory as a 2048 x 2048 .png image.
* UV Map:IfUV mapis checked, a black and white UV unwrapped image of the model mesh on a black background is saved in the export directory as a 2048 x 2048 .png image.
=== Zoom, pan and rotate using the orbital camera ===
==== Orbital camera ====
Starting with MH 1.0 there is a new orbital camera system that replaces the old still camera. This new camera addresses the issues where the old still camera made it hard to focus on body parts, for example hands. In the new system the human never moves. Rather, the camera travels on an imaginary sphere surrrounding the human. The user "mouse picks" a focal point on the human by right clicking, and zooms in and out by dragging. This allows the user to easily rotate around this point to inspect it from all sides.
==== Right-click zoom picking ====
The default zoom button has been changed to the right mouse button and the use of the mouse wheel is depricated.
!IMAGE!Pictures/mh_interface_cam.png!/IMAGE!
Right clicking now serves two purposes, it picks the center of focus based on the location of the cursor when it is positioned over the human, and it lets you zoom in or out by dragging the mouse. Right clicking on the background and not on the human simply makes it zoom in or out straight ahead.
==== Auto-zoom ====
Another advantage of the orbital camera is that it will adapt the viewing distance based on the height of the human.
!IMAGE!Pictures/mh_grid_interface2.png!/IMAGE!
The camera will attempt to keep the current focus point in the center of the screen and maintain the same amount of visibility, independent of whether you are modeling a 1 year old child or a 2.5 m tall giant.
==== Panning ====
The panning function of the camera has been moved to the middle mouse button (which we suspect is not available to all users) to indicate its reduced importance. Panning will be limited based on camera zoom and will even be completely locked when the camera is zoomed back so that the entire human is visible. The reasoning for this is that panning in the context of MakeHuman is only useful to focus on a feature of the human mesh, not for moving the human around in the scene. In fact we discourage excessive use of the panning feature, and encourage you to use the right click zoom picking instead. Panning is only recommended for small corrections to the framing, as it is quite tricky to position the camera center yourself (you will notice this if you try rotating the camera after having panned over a larger distance, it might not rotate around the center you expected).
==== Grid ====
The grid helps with getting a better idea of the proportions of the human, and it provides a point of reference in the world when the camera is moved around.
!IMAGE!Pictures/mh_grid_interface.png!/IMAGE!
There are two detail levels which are activated when the camera is zoomed close enough. The grid adapts to the 'units' setting, which allows for metric and imperial units. The metric grid has subgrids each 2 cm and a main grid at 10 cm (1 dm) intervals, while the imperial grid has subgrids per inch, and a main grid with 1 foot as size.
== Define Human Characteristics ==
This section illustrates the modeling of the human using theparametric approach.
=== Gender, Random, Measure and Custom ===
The gender plugin comprises sliders used to alter gender specific attributes of your human models.
Currently there are 2 categories under this:
* * Breast - this category, as the name suggests, comprises of sliders used to alter attributes related to the human female breasts such as firmness, size, pointiness etc.
* * Genitals - This category comprises of sliders used to alter attributes pertaining to male/female genitalia. Currently only male genitals are supported. (Note: male genitals have to be enabled under Geometries->Genitals for this to have any effect).
Note:For the upcoming MakeHuman 1.1 these sliders have been disabled and the Geometries->Genitals subpanel no longer exists this is because we no longer have male genitals as a seperate mesh. Seperate male and female!LINK!http://www.makehuman.org/doc/node/makehuman_alternative_topologies.html -- alternate topologies/proxies!/LINK!exists with/without genitalia which are to be used instead.
==== Random modifier ====
!IMAGE!Pictures/random2_2_0.png!/IMAGE!
The random modifier is used to auto generate human beings with randomised parameters.
The interface comprises of 3 checkboxes, 2 sliders and 2 buttons.
* Macro checkbox -This checkbox is used to toggle whether "Macro" attributes such as age, tone/muscle, gender are randomised or not.
* Height checkbox -This checkbox is used to toggle whetherthe height attribute is randomised or not.
* Face checkbox -If this is enabled the facial features of the model are randomised.
* Symmetry slider -THis is used to introduce Assymmetry in the model.
* Amount -THis slider is used to control the amount of randomisation of the character done by the random plugin.
* Replace current -usede to replace current model with a new random model.
* Adjust current -this is used to alter the parameters of the current model.
==== Measure Panel ====
!IMAGE!Pictures/measure_1.png!/IMAGE!
The "Measure" tab facilitates the end user in more precise modelling of the human form. With the measure panel you are able to use the sliders as well as specify the units as sliders for more accurate adjustment of proportions. Various proportions can be edited here such as the proportions of the neck, waist , arms, legs and so on. One example of where this would be useful is in modelling characters like Michael Phelps who has an arm span longer than his height making him a better swimmer.
==== Custom modifier ====
!IMAGE!Pictures/customtab_0.png!/IMAGE!
The custom panel is primarily used for "custom morphs". Cusom morphs can be created by you using blender tools and then used inside makehuman. This tab will remain empty unless you make your own targets using blender scripts and import them for use inside blender. This would be used for instance if you wanted to make an "Elven ears" morph inside makeuman for a humanoid character. This tab is more relevant for advanced makehuman users.
=== Using MakeHuman Hairstyles and Clothes ===
==== Hairstyles ====
The default MakeHuman™ humanoid model has no hair. However, you may want your model to have hair and a particular hairstyle. In MakeHuman™, you can choose from the available character hairstyles by first selecting the tabsGeometries > Hair.
!IMAGE!Pictures/hair_1_0_0.png!/IMAGE!
This opens the Hair library window. The Hair library window, as usual, is arranged in three sections. There is a left hand panel (currently empty, but that will include a tag filter), a center preview window showing your current character model, and a right hand panel containing a list of available hairstyles shown as a thumbnail with a label. For the moment, the default hairstyles within MakeHuman™ are only few types. The library will be expanded release by release.
To be able to see your character with an available hairstyle, you must click on the thumbnail image with your mouse.
=== Changing or Removing Hairstyles and Hair ===
You can change an assigned hairstyle with another one by clicking on another thumbnail. For example, you can change the hairstyle "afro" of your model by clicking on the hairstyle "fhair" from the panel of thumbnails. Note that doing this will not combine the two hairstyles.
If you are unhappy with how the chosen hairstyle looks on your model and want to return to the previous state of your model, you can press the Undo button at the top left of the screen. In case you want to return to the original state of the model prior to applying any hairstyles, just find the thumbnail named "None" from the gallery of hairstyles and click on it. Your model will now revert to the state that it had before applying any hairstyles to it.
==== Clothes ====
The default MakeHuman™ model is barefoot and has no clothing on. However, if you would like to dress your model in MakeHuman™ it is possible by simply clicking and loading clothing and shoes from the library of clothing geometry objects that are fitted to the model automatically.
To dress your model press the tabsGeometries > Clothes.
!IMAGE!Pictures/clothes_1_0.png!/IMAGE!
The clothes interface is very similar to the hair one, with some differences:
* Clicking on more items in the right panel will combine them. To remove an item you have to re-click it.
* There is a tag filter in the left panel, useful to navigate through a big library.
* An option called "Hide Faces Under Clothes" is provided to prevent portions of the body from intersecting the clothing and creating holes during animating.
=== Parametric Modelling ===
!IMAGE!Pictures/main_labelled.png!/IMAGE!
The Main controls are accessed by going to the 'Modelling' tab and selecting the “Main” sub-tab.
These controls define the major characteristics of a human being. controls are used to define the character's macro features. The first six corresponding to Gender, Age, Muscle, Weight, Height, Proportions respectively and the last three ( African, Asian, and Caucasian) correspond to ethnicity.
!IMAGE!Pictures/age_0.png!/IMAGE!
* Gender:The gender tab is used to define what gender the human being poseeses. Male or female or a mixture of both characteristics with either being dorminant.
* Age:The age slider is used to alter the age of the human being as a whole. The above image shows human beings at various ages ranging from young to old.
* Muscle:The muscle sider is used adjust the amount of muscle possesed by the human character.
* Weight:The Weight silder is used to adjust the weight of the character. The default setting is the character with average weight. Used along with "Muscle" it can be used to specify the proportion of muscle and fat contributing to the weight.
* Height:The Height slider is used to adjust the height of the characters.
* Proportions:The proportions slider is used to adjust the the proportions, from "uncommon" to "idealistic".
Ethnicity sliders:THe ethinicity sliders (African, Asian, Caucasian) are used to alter the ethnic traits of the human being. These slidersare dependent on each other such that the sum of all three sliders is always 100 percent or a value on 1. This means that an increase in the value of "African" slider will lead to a decrease in the value of the "Caucasian" and "Asian" sliders. This is rational because if for instance a human being is of pure African origin then he/she is expected to possess only African traits whereas if he/she is of mixed decent the character is expected to have a fusion of ethnic characteristics. A human being cannot be hundred percent African and hundred percent Asian.
==== Face modifiers: ====
!IMAGE!Pictures/face_modifier_labelled.png!/IMAGE!
The makehuman face modifiers in makehuman are organised into several categories(eyes, nose , chine etc.) comprising of the morphs pertaining to varios facial features. The morphs available on the right hand side pertain to the category currently active.
E.g. When the Head category is selected all morphs pertaining to the head such as head shape (oval ,round , triangular etc), angle and age are available. If the category was to be switched to Mouth size however all sliders related to that category would be visible and manipulatable.
==== Adjusting the Torso Shape: ====
!IMAGE!Pictures/torso_cropped_labelled.png!/IMAGE!
In order to alter the torso-related features of the human we have to select the "Torso" sub-tab located under the main "Modeling" tab. In the torso section we are able toalter various attibutes such as stomach (size, pregnancy shape), body height, width and so on.
==== Arms and Legs Shape: ====
!IMAGE!Pictures/legs_modelling_2_0.png!/IMAGE!
The "Arms and Legs" sub-tab is again located under the main "Modeling" tab. Here we can alter the various attributes related to the arms and legs such as hands, arms and feet.
=== Makehuman alternative topologies ===
Makehuman provides a group of alternative topologies which replace the base mesh and are designed for special purposes. These are useful for various applications such as simulation (E.g. a car crash computer simulator), games and so on.
!IMAGE!Pictures/topologies_0.png!/IMAGE!
In order to use the alternative topologies provided by MakeHuman; go to Geometries -> Topologies.
For alternative topologies we follow a specific naming convention having the structureNameVertex-countE.g. proxy741 is a alternative topology named proxy with 741 vertices, female1605 is an alternative topology designed for females with 1605 vertices in the mesh.
For illustration purposes we show the wireframe/mesh view of female1605 with 1605 vertices in the figure below.
!IMAGE!Pictures/Proxies1.png!/IMAGE!
=== Skin and other materials ===
==== Changing Skin Texture ====
By default the human has a texturless skin.
Assigning a new skin material is very easy. Go in Materials Tab. You will now see a radio button option for "Skin" under the Human category choices section on the left side of the window. The right side will display available skin materials that can be applied to replace the default skin. By clicking on one of them your character will be displayed with the chosen material.
!IMAGE!Pictures/materials_0.png!/IMAGE!
==== Changing Hair Textures ====
Same process as the skin, but selecting the "hair" radio button instead. The materials available depend by the type of hair loaded.
!IMAGE!Pictures/hair2_0_0.png!/IMAGE!
==== Changing Clothes Textures ====
Changing clothes texture is exactly as the hair one, selecting the cloth type instead of hair.
!IMAGE!Pictures/clothes2_0_0.png!/IMAGE!
== Rendering Your Work ==
To write
=== Quick rendering and advanced rendering ===
==== Introduction ====
MakeHuman™ has an internal rendering engine based on OpenGL technology: GLSL 1.2 for openGL 2.1 or superior.
For this reason some features will be available only for machine(s) build after semptember 2006.
For the same reasons, the results can vary a bit, depending the video cards.
!IMAGE!Pictures/render_0.png!/IMAGE!
==== Quick render and advanced render ====
MakeHuman™ uses two different rendering approaches, quick and advanced rendering. Both them produce images with transparent background, in order to be eaily mounted in Gimp or Photoshop.
The quick renderingis intended to for a click-and-see render. It uses fixed presets for lights and materials, studied to show the model in an optimal way. There are only ywo available options in that mode:
* Resolution, written in the form widthxheight
* Antialiasing(turn it on for quality rendering): Aliasing happens when model edges look 'jaggy'. Raise this slider to filter these. It also help hair and thin stuff in general look better. However raising the AA level can have an equivalent performance hit.
The advanced renderinguse a different rendering technique. It gets the lights defined in "scene" and make complex calculations. In future it will supports shadows and more options to increase the realism.
In addition to the two existing options, there is the subsurface scattering one. Enabling it will produce a more realistic and impressive skin, to simulate the skin's behaviour when light passes through it.
When you have finished selecting the desired options, press the 'Render' button and see your model become a piece of 3D art!
=== Scene and Viewer ===
==== Makehuman "Scenes": ====
MakeHuman™ provides a library of lighting presets, that will be used in the "advanced rendering" mode. This library is the "Scene" library which currently has only one lighting preset named "default".
==== The "Viewer": ====
The rendering result will be displayed in the "viewer". It's possible to zoom and move the image using the usual mouse buttons, and then save the image as png, using the "Save as" button.
!IMAGE!Pictures/viewer_0.png!/IMAGE!
== Settings ==
Setting the preferences in MakeHuman.
=== Background ===
The Background tab allows you to add background/foreground images to use as a modelling reference or to create a scene within MakeHuman™ for the Short Pipeline.
When you open the Background tab you will see a "None" icon and a list of thumbnails of the files within the backgrounds folder in the!LINK!http://www.makehuman.org/doc/faq/where_is_my_home.html -- MakeHuman home folder!/LINK!, if they are present. The "None" icon is used to remove the background from the MakeHuman™ scene.
!IMAGE!Pictures/background_0_0.png!/IMAGE!
==== Different backgrounds for different sides ====
Prior to selecting an image you should first determine the side of the MakeHuman™ scene where you want the image to appear. You can specify where you would like the background placed relative to your MakeHuman™ character with the Side control choices on the right hand side of the Background tab screen.
The first six (6) options set the background in your scene using the standard Camera view positions. If you choose the last radio button option labeled "Other" you can add the background into the scene with the character and camera position however it was last set, as long as it was not in one of the predfined camera views.
If you are placing an image to act as a reference image for modelling your character, you should select the side that matches your reference facing.
You can insert up to 7 different images into the MakeHuman™ scene by applying a different image to each Side option. As the camera view changes into each side view or other view angle, the image shown will change as match your image side configuration for each of the camera side views shown in the modelling window. The background image, in fact, will only appear while the camera remains in the side view specified. Pressing one of the camera view options is the easiest way to get a background image to reappear if it disappears due to a camera view change.
==== Background opacity and position. ====
The Background Setting options allow you to set the background image's opacity using the Opacity slider control, which determines how transparent or opaque the image will appear in the scene, and to set the image as a background or foreground. These controls are particularly useful when you are using reference images to model your character.
The standard Opacity setting of 100 is equivalent to a 60% transparency level. Setting the control to 0 will make the image invisible (100% transparency) and setting the opacity control to 250 will make the image fully opaque (0% tranparency).
The "Show in Foreground" checkbox option allows you to place the image in front of the character in the scene so that the character will be obscured according to the opacity level setting of the background image. This option should be checked if the image will be used as a reference image for modelling.
The background can be moved and resized to properly fit the character, checking the options in the left side and then clicking and dragging with leftbutton or rightbutton.
=== General ===
==== General Settings ====
The general settings include important features that can make a huge difference in MakeHuman's performance.
!IMAGE!Pictures/general.png!/IMAGE!
=== Slider behaviour ===
* Update realtime. This option recalculates the human shape in real time during the slider movements. This requires more CPU resources.
* Update normals real time. By enabling this option, the normals are updated during the slider movements in order to see a correct shading in real time. Computing the surface normals requires an intensive CPU calculation, so this can slow down old PCs.
* Fit objects in realtime. By enabling it, all objects (eyes, hair, clothes, teeth, etc..) are fitted in real time during the body transformations. This requires more CPU resources.
* Autozoom camera. Enabling it will automatically zoom in the camera to the zone of interest. For example, editing the head, it will zoom in to it, editing the hand, it will automatically zoom in to the hand, etc.. This can be useful in some cases, but it doesn't allow custom point of view, so this option is disabled by default.
* Slider images. Enable the images to illustrate the sliders' effect. Disable it for a more compact list of controls.
=== Units ===
This setting is to choose the measurement system that will be used :
* Metric, to use meters, centimeters, etc
* Imperial, to use inch, feet,etc..
=== Startup ===
* Preload macro targets. This option is very important for perfomance and startup loading time. Using the preload increases a lot the performance, but in the case when the targets are not compiled (for example the raw targets cloned from HG) it will considerably increase the loading time during startup.
* Restore windows size. This option is just to remember the custom windows size used for MakeHuman.
=== Theme and languages. ===
These options areself explanatory. MakeHuman needs to be restarted for a change in the language settings to be effective.
=== Mouse ===
==== Managing mouse configuration: ====
THe "Mouse" tab allows you to configure the behaviour of the mouse in makehuman.
!IMAGE!Pictures/mouse_001.png!/IMAGE!
The first wiidget in the left panel contains one slider labelled "3D viewport Speed". This slider controls the how sensitive the viewport is to mouse movement. As you increase this parameter the viewport become increasingly sensitive to mouse movements, thereby moving faster. Tweak this parameter with care. A value of one is the default speed at which makehuman models rotate and move in response to the mouse. Increase this parameter if you feel that the movements are too slow for your liking.
The second widget inside the left panel is the "Camera" widget this widget allows you to configure the mouse settings used to control the camera. This also allows you to invert the mouse wheel.
Note:With the orbital camera, panning is available only in certain situations. Therefore, the "Move" shortcut has been made available for configuration. If you cannot pan your model it may not a bug.
=== Shortcuts ===
THe "Shortcuts" tab helps us to manage shortcuts in makehuman.
For your convinience shortcuts have been organised into 3 categories. The first category with the largest number of shrrtcuts available for configuration is the "Camera" category whose panel is located on the left hand side. THe other two categories are "Actions" and "Navigation". The "Action" panel helps us to alter shortcuts for actions such as undo and redo. The "Navigation" panel helps us to set shortcuts to quickly navigate between various frequently used tabs in Makehuman.
!IMAGE!Pictures/shortcuts-mh_002.jpg!/IMAGE!
==== How to use the Shortcuts Tab ====
Managing of shortcuts is very easy inside makehuman. Just select the appropriate box with the current shortcut key andf type in thenew shortcut key/key combination. Makehuman will warn you if there are duplicates.
=== Plugins ===
Makehuman is designed using a modular approach. All features within makehuman belong to one module or the other. THese modules are called Plugins. With the help of the "Plugins" tab in makehuman we can enable or disable certain plugins thereby altering the feature set available.
This feature is useful when:
1) A particular feature is uneeded and you want to improve performance of makehuman by disabling it.
2) A particular plugin is giving problems on your machine and you would like to disable it to avoid accidently triggering the fault again.
!IMAGE!Pictures/plugins-mh_002.png!/IMAGE!
By default all plugins are enabled plugins can be disabled by clicking on the option buttons and removing the "x" next to the related plugin.
== Reporting a Bug ==
How to help MakeHuman development reporting a bug.
=== Using the Makehuman log files for error reporting ===
Occassionally, MakeHuman will not behave as expected, or you will note an exception in the status line, You willingness to make a bug report.for such events goes a long way to help imrove MakeHuman. For simple bugs,, it can often be enough to report the version of your operating system, the version of MakeHuman that you are using, and the steps to reproduce the problem. However, the developers often need to know more detail to reproduce your problem in a different environment.
As long as MakeHuman has not "crashed" completely, the easiest way to learn the details is to use thebuilt-in log viewer. This can be accessed by selecting theutilities taband then thelog subtab. On the left, you will see alevel selectorthat is initially set to "default". The center panel will show a very verbose set of all the actions that have happened inside MakeHuman since it was last restarted. This entire set of information is seldom needed.
For bug reporting, you will be most interested in the messages that show when you set the level selector to "error". If severe problems have occurred, the center window will show the errors logged in red. If there are none, it may still be worth reporting the somewhat less severe "warning" level messages which resulted in code exceptions. These messages will show in orange if you set the level selector to "warning". Only seldom will levels of "notice" or "message" be of interest to developers. Supply these only upon request.
When you find "errors" or "warnings" you can highlight the message(s) with the mouse and press the "copy" button in the left panel. The message will be copied to your clipboard. Simply paste these messages at the end of your bug report.
In the event that MakeHuman crashes completely, or in the case of complex problems it may be better or easier to upload more complete log information from the log files. MakeHuman always creates 2 important files called "makehuman-debug.txt" and "makehuman.log" in the user's home directory (under "My Documents/makehuman/v1" in Windows or "~/makehuman/v1" in your linux distribution).
makehuman-debug.txt:This provides some essential information about the system on which you have installed makehuman such as version information, machine architecture type, numpy versions and so on which is useful when reporting a bug as the bug may be applicable to your particular machine configuration.
makehuman.log:The makehuman.log file is another separate file. This file logs all events that take place from the beginning when makehuman is loading till the end when makehuman is closed. ALl regular events and error messages are logged in this file. It is important that you attach either this whole file or the last few signinficant lines indicating where the bug occured. This logs contains backtraces and other useful information like what plugins loaded, what plugins did not at which point did a python script fail and so on.
When reporting a bug in the makehuman bugtracker posting the contents of both these files is useful and will help us to debug and resolve the issue(s) more quickly. This is of course not needed when you are posting a feature request which is not a bug.
=== Using the Makehuman bug tracker ===
Makehuman has introduced a new internal bug tracker based on redmine (!LINK!http://www.redmine.org -- www.redmine.org!/LINK!) this tracker allows us to easily handle bug reports and feature requests reported/requested by you. In order to use this new bug tracker a forum account is compulsory (even if you do not wish to use forums). Your forum ID becomes your makehuman bug tracker ID.
Following are some quick links related to makehuman bug tracker:
* Roadmaps:!LINK!http://bugtracker.makehuman.org/projects/makehuman/roadmap -- http://bugtracker.makehuman.org/projects/makehuman/roadmap!/LINK!
* Add a new issue and see the isues list:!LINK!http://bugtracker.makehuman.org/projects/makehuman/issues -- http://bugtracker.makehuman.org/projects/makehuman/issues!/LINK!
* Graph for a quick overview:!LINK!http://bugtracker.makehuman.org/projects/makehuman/issues/growth -- http://bugtracker.makehuman.org/projects/makehuman/issues/growth!/LINK!
* Activity:!LINK!http://bugtracker.makehuman.org/projects/makehuman/activity -- http://bugtracker.makehuman.org/projects/makehuman/activity!/LINK!
== Tools and contributing methods ==
Blendertools and contributing methods
=== MakeTarget standalone ===
==== Making Wavefront .obj Files MakeHuman™ Compliant ====
The following procedures should be followed to create Wavefront .obj files that comply with the requirements of MakeHuman™ using modelling software programs such as 3dMax, Maya, XSI, etc.
* * Download the 1.x base mesh base.obj file from MakeHuman!LINK!https://bitbucket.org/MakeHuman/makehuman/src/c40af22cebf2d5372b931b485f60588f42f24480/makehuman/data/3dobjs/base.obj?at=default -- HG repository!/LINK!
* Import it into your preferred modelling software
* Modify it in order to create your final character
* Export it as .obj (of course with a different name than base.obj)
During editing of the base mesh be careful about 3 things!You have to pay attention that:
* The import/export does not alter the number of vertices, the faces, does not split the obj, etc. The topology has to be the same as the original one.
* When modifying the base, you do not delete or add vertices, do not add or remove faces, etc. The topology has to be the same as the original one.
* The 3D program used also preserves the exact order of the vertices.
==== There are no other limitations on the .obj files used. ====
==== Making Targets with MakeTarget™ StandAlone ====
==== Using the MakeTarget GUI program ====
To obtain the MakeTarget GUI program, download and install either the Windows version or the Linux version at the bottom of the download page of the MakeHuman website at: !LINK!http://makehuman.org/content/download.html -- http://makehuman.org/content/download.html!/LINK!
Looking at the GUI of MakeTarget, you can notice other elements: the (+) and (-) lists, the possibility to process whole directories and to have .obj as output.
These are batch tools, designed for MakeHuman developers. Let’s go on to describe an usual scenario.
Assuming you have 30 “chin” targets modelled on the young caucasian female. These targets will create artifacts when applied on a young asian female. So our artists have to process 30 targets in order to create an asian version from all of them.
The steps are:
* For each chin target, do: asian-female-young.target + chin.target and save the result as .obj.
* Import each .obj in a modelling software, fix the artifacts by hand and export the corrected .obj.
* For each corrected .obj, subtract the asian-female-young.target and save the rest as asian version of the chin target.
For step (1) we will process an entire directory, choosing “Directory” as “input source” and targets as input type. Then we will “add” the asian-female-young.target, loading it in the (+) section. Then will choose “Obj” as “Output type”.
!IMAGE!Pictures/image01.png!/IMAGE!
Pressing the “Make” button, the entire folder will be processed, and in the same directory of targets we will see the newly created .objs. At this point, we can copy the folder, renaming it as “chin_fixed” and deleting the original targets.
For step (2), we have to import, edit and export each .obj individually, as showed previously for the single target. After completing step (2), all .objs in “chin_fixed” will be fixed and ready to be converted into targets.
So, it’s time for step (3). Again, we will process the entire directory, but this time the input type will be “Obj” and the output “Target”. Also, this time we will subtract the asian target, in order to obtain only the chin morph.
!IMAGE!Pictures/image00.png!/IMAGE!
Pressing the “make” button, this time we will obtain a series of .target, with the same name as the original objs, placed in the “chin_fixed” folder. That’s all!
==== Command Line Usage ====
This tool allows wavefront .obj files to be used that were edited using any 3D program. The only limitations are that the edit stems from the original base.obj file and that no vertices, edges or faces are added or removed. The 3D program used also needs to preserve the exact order of the vertices. There are no other limitations on the obj files used.
Usage:
There are a commandline version and a version with graphic user interface. Both do exactly the same thing.
Here follows the explanation of how to use the commandline version.
Options:
-i --in input obj or target
-o --out output obj or target
-s --sub target to subtract from obj
-a --add target to add to obj
-d --dir input folder to load all objs or targets from
--intype type of file to be input, obj (default) or target only applicable if --dir is used
--outtype type of file that will be output, obj or target (default)
-h --help this info
-v --verbose verbose mode, shows extra information
Usage scenarios:
Load foo.obj as input, compare it with base.obj and output the difference as foo.target.
Load foo.obj, subtract foo1.target from it, and output the difference between the resulting obj and base.obj as foo.target.
Load foo.obj, add foo1.target to it, and output the difference between the resulting obj and base.obj as foo.target.
Load all objs from myfolder, save the difference between the base.obj and each of the input objs to a target file with the same name as the input obj.
Load all objs from myfolder, subtract foo1.target from each of them, and save the difference between base.obj and each of the resulting objs to a target file with the same name as the input obj.
Load all objs from myfolder, add foo1.target to each of them, and save the difference between base.obj and each of the resulting objs to a target file with the same name as the input obj.
Load foo.target, apply it to base.obj and output the resulting obj as foo.obj.
Load all target files from myfolder, apply each of them to base.obj and save the result of each to obj with the same name as the target file.
Load all target files in myfolder, apply each of them to base.obj while also subtracting foo1.target from the result. Save each combination to an obj with the same name as the input target.
Load all target files in myfolder, apply each of them to base.obj while also adding foo1.target to the result. Save each combination to an obj with the same name as the input target.
This is the usage information as can be obtained by running the "maketarget.py --help" command. Some additional scenarios that are not documented are possible with the tool.
The user is protected from issuing commands that make no sense (eg. do nothing) as the tool will warn you about this.
Also note that files are never overwritten. Upon encountering an already existing file this file is backed up as original_filename.bak. Additional backups of the same file are named in order original_filename.bak.0 original_filename.bak.1 etc.
The GUI version of the tool does exactly the same thing. The exact same options (except help and verbose) are available in the GUI. The only difference between commandline and GUI version is that the GUI demands you specify an --in or --dir parameter. With the commandline tool you can do without as long as you specify some --add or --sub targets.
==== Compiling Binaries ====
For the ease of distribution a pyinstaller configuration is supplied to create a self-contained binary executable for both windows and linux. (MAC OS might work but is untested). For running this executable, the user does not need to install python or any other libraries (such as wxwidgets) on his computer. For building the package, however, you need to have those dependencies
installed, and need to build the package on the target OS. There are two build files available:
* compilePyinstaller.bat,for building a windows executable
* compilePyinstaller.sh for building a linux executable (might work for OSX too)
In order to use them you need to create a folder called "pyinstaller" in the makehuman/tools/standalone/maketarget folder. The build configs were tested with pyinstaller 1.5.1, but might work on future or older versions too.
Additionally these dependencies are needed for the respective operating systems:
Windows:
* Python 2.7
!LINK!http://python.org/ -- http://python.org/!/LINK!
I recommend using python 2.7 as I had issues with 2.6 and pyinstaller. The tool works fine with python 2.6, however
* pywin32
!LINK!http://sourceforge.net/projects/pywin32/ -- http://sourceforge.net/projects/pywin32/!/LINK!
Python extensions for windows. Needed for pyinstaller to work.
* wxpython2.8
!LINK!http://www.wxpython.org/ -- http://www.wxpython.org/!/LINK!
WX Widgets libraries and python wrappers for windows. Installable as one singe package.I recommend using the wxPython2.8 win32 unicode package for python 2.7.
* UPX (optional)
!LINK!http://upx.sourceforge.net/ -- http://upx.sourceforge.net/!/LINK!
This is a tool for compressing the executable and reduce its size. Compression will happen automatically if UPX is installed. To install UPX copy upx.exe to C:\WINDOWS\system32
Note: you will need at least UPX 1.92 beta due to incompatibilites with the Visual Studio compiler, with which newer versions of python are compiled on windows.
Linux:
* Python 2.6
!LINK!http://python.org/ -- http://python.org/!/LINK!
Version 2.7 works fine too.
* python-wxgtk2.8
* libwxgtk2.8
!LINK!http://www.wxpython.org/ -- http://www.wxpython.org/!/LINK!
!LINK!http://www.wxwidgets.org/ -- http://www.wxwidgets.org/!/LINK!
WX Widgets libraries and python wrappers for wx
* UPX (optional)
!LINK!http://upx.sourceforge.net/ -- http://upx.sourceforge.net/!/LINK!
This is a tool for compressing the executable and reduce its size. Compression will happen automatically if UPX is installed
The pyinstaller script will create all the files that need to be distributed in a folder called dist/ (this will be an .xrc file, the executable, and a resources/ folder containing images used in the GUI).
You can archive the contents of the dist/ folder and distribute these freely as a standalone application.
=== wxWidgets specific information ===
The GUI of this tool has been made using the python version of wxWidgets. The GUI form itself is not created using application code, but is instead loaded from the maketarget.xrc file that declares the GUI. This file was built using wxFormBuilder (!LINK!http://wxformbuilder.org/ -- http://wxformbuilder.org/!/LINK!). The file maketarget_gui.fbp is the source file that can be opened in formbuilder. The xrc file is output generated using the formbuilder application. However, the xrc could be edited manually too (but this would cause fbp and xrc file to go out of sync).
=== More information ===
For more specific details you can contact the author Jonas Hauquier at the makehuman.org website.
=== MHBlenderTools: MakeTarget ===
==== What is a Target? The MakeHuman Morphing Process. ====
The principle is simple. A target is a modifcation to a base mesh shape that does not alter the mesh itself but that stores information that permits the base mesh to be transformed into the target shape using ‘morphing’. Targets are what allow the slider controls in MakeHuman™ to take a single base mesh for a character and morph the shape of that character based on a variety of different feature target files. The many target files used by MakeHuman™ can alter a single human base form into characters with features as different as those distinguishing male from female to as subtle as varying the shape of a single earlobe.
!IMAGE!Pictures/morph1.png!/IMAGE!
A target contains the offsets by which vertices of the human base model (base.obj) deviate from the original to achieve a specific feature. eg. a long nose could be a target. These targets can be combined and MakeHuman™ uses them by blending targets together and gradually applying them to the base mesh to create a nearly endless variety of human forms. Below are examples of target blending obtained by choosing a target that defined the character as male and combining that target with the extreme settings for other targets that determned the muscle tone or weight of the character.
MakeHuman™ handles morphing with a special file format,.target.
==== Loading the Base Mesh ====
While it is possible to create targets using Blender without using the MakeTarget™ tool for Blender; that tool has many useful features that simplify the target creation process and will be explained by the help that follows. Once the MakeTarget™ add-on has been enabled (see the previous "Get and Install MH Addons for Blender" section), a panel labelled MakeTarget™ version 1.xx appears in theBlender User Interface, to the right of the viewport. The visibility of the Blender User Interface can be toggled on and off with the N-key.
!IMAGE!Pictures/maketarget131-area.png!/IMAGE!
The MakeTarge™ Version 1.31 Panel (Initial Settings)
!IMAGE!Pictures/maketarget131.png!/IMAGE!
Prior to loading any targets, the initial the MakeTarget™ panel consists of three main buttons. The first two buttons load the base human mesh, respectively with and without the special fitting tools. The third button labeled "Set As Base" sets an existing mesh (that must be MakeHuman™compliant and derived from the A8_v74.obj file distributed with the MakeTarget™ release within the maketarget/data/ folder) as a human base mesh. This third option is for users that have done editing of the base mesh in another 3D modelling program and that have saved or exported the model as a Wavefront .obj file
!IMAGE!Pictures/helper_details.png!/IMAGE!
Loading the "Human + Fit Tools" will import the base human +mesh helpers(image below, B). The "helpers" are special geometries, used in MakeHuman™ as a reference to correctly fit clothes, hair and accessories. These helpers can be annoying during the modelling of the character, so usually our artists first work on the pure body, loading the human only with the first button (image below, A), and then, in a successive step, they fit the helpers.
!IMAGE!Pictures/maketarget-base.png!/IMAGE!
==== Basic usage ====
=== The MakeTarget™ Version 1.09 Panel (After Loading The Target Mesh) ===
!IMAGE!Pictures/MakeTarget_load.png!/IMAGE!
After the mesh is loaded into the scene, the MakeTarget™panel layout will change, showing three new buttons that handle setting up the morphing targets. The first button creates a new empty target which will just be the original base mesh loaded in the previous step.
The second button loads the morphing from an existing target file. Do not attempt to load target files from the previous MakeHuman™versions, as these files are not compatible with the current base.
The third button creates a new target from an existing base mesh that is MakeHuman™compliant (derived from the A8_v74.obj file provided with the MakeTarget™release distribution), for example, a character modelled with an external tool (Maya, Max, C4D, etc..) and then saved or exported so that it can be imported into Blender as a wavefront obj file. To correctly use the third button, it is necessary to first select the imported base, then the MakeHuman™base, and then press the Load Target From Mesh button. When the steps have been done correctly and that button is pressed the imported base will disappear and its transformations will be transferred onto the MakeHuman™base.
=== Editing The Target And The "Save Target As" Button ===
After a new empty target is initialized or an existing one is loaded/imported, the MakeTarget™ panel layout will change again, offering a rich set of new options (image below). For the basic use of the MakeTarget™ tool you may ignore all of these options except for the "Save Target As" button.
To create a custom target, the artist has to alter the base mesh, which is done in the usual way within Blender. First start edit mode, and then select one or more vertices, moving them to reshape the mesh. You may use the full power of Blender to create your morphing target design.The only rule, in order to create a valid morphing target, is to never add or delete a vertex, face or edge. The topology must be absolutely preserved.After the modelling process is completed, the MakeHuman™morphing target can be saved by pressing the "Save Target As" button on the MakeTarget™panel. By default this will save all of the offset deviations of every vertice from the base mesh into the target file.
==== Advanced usage ====
=== The MakeTarget™Version 1.09 Panel (After Loading A Target) ===
During the creation or the editing of a target, as mentioned previously, the MakeTarget™panel shows a new layout with a rich set of options. Depending on whether the mesh is loaded without the fit tools (image below, left) or with the fit tools (image below, right), the panel offers different options.
!IMAGE!Pictures/maketarget131-panels.png!/IMAGE!
At the top of the panel there is a numeric slider that determines the amount of morphing to apply from the target. The maximum value is 1.0, which means that the target morphing is fully applied. A value of 0 will show the original base mesh without any target morphing. The minimum value of the slider is -1.0. Using negative values usually creates weird effects as a projected inverse of the target morph is applied, but these settings are useful to subtract unwanted morphing results when multiple targets are combined. The effect is shown in the image below beginning on the left with the full inverse of the morphing target, to the original base mesh in the middle, and finally to the fully applied morph target design on the right.
!IMAGE!Pictures/maketarget3.png!/IMAGE!
=== Load Target Section (After The First Target Is Loaded) ===
!IMAGE!Pictures/MakeTargetLoadSecondaryTarget.png!/IMAGE!
The three buttons that now in the "Load Target" section are used in exactly the same way as they were before any target was loaded, except that any targets that are now created or loaded with these buttons become a secondary target that can be applied to the previously loaded one. These buttons are used to append one or more additional targets to the first target and combine them in various proportions.
=== Discard And Apply Target Section ===
!IMAGE!Pictures/MakeTargetDiscardAndApplyTarget.png!/IMAGE!
The first two buttons under the "Discard And Apply Target" section will either discard all of the targets (returning you to the original base mesh) or only the last target appended (which will either be the last secondary target applied or the primary target if no secondary targets have been applied). The button "Apply targets" under the "Discard And Apply Target" section is used to join all targets into a single unique morphing target combination.
=== Symmetry Section ===
!IMAGE!Pictures/MakeTargetTargetSymmetryButtons.png!/IMAGE!
The two buttons in the "Symmetry" section are modelling tools, and are very useful. They has been designed to produce very reliable target results. Using the symmetry buttons will cause the mesh to become symetrical on either side of the X axis, with the option to apply edits from the left side of the character to the right side (Left->Right), or vice versa (Right->Left). Pressing these buttons will also align center vertices that have been unintentionally moved away from the center back to their center position.
=== Save Target Section ===
!IMAGE!Pictures/MakeTargetSaveTargetSection.png!/IMAGE!
Finally, press the "Save Target As" button to save the .target file once all secondary targets and edits have been completed.
The checkbox labeled "Selected verts only" is a very important option. This option when checked will permit you to select a set of vertices in edit mode and then save only those vertices into the target file. Such targets are useful when you want the target to only morph the selected vertices and leave all other vertices completely unaffected by the morphing target. For example, an artist could design a morphing target that is limited to the hands only, a single hand only, or to the head only, and save a target containing vertices that will only morph those body parts, while having no effect on other parts of the body that were not explicitly chosen by the artist.
The checkbox labeled "Active Target Only" will cause the "Save Target As" button to only save the last target only. This option normally applies when one or more secondary targets have been added using the Load Target section after adding the initial target.
=== Additional Fit Helper Buttons ===
!IMAGE!Pictures/MakeTargetFitTargetButton.png!/IMAGE!
!IMAGE!Pictures/MakeTargetSkirtEditingAffectOnly3.png!/IMAGE!
When the fit helpers have been included as part of the target, the additional options of the MakeTarget™panel shown in the images above appear. These buttons are included to work with the helper objects. When the helpers have been loaded, an additional button labeled "Fit Targets" is available under the Load Target section. This button should be pressed after making alterations to the body that disconnect it from the helper objects, but prior to making modifications to those objects. This button will refit the clothing to the body, and if pressed when the default All option under the "Affect Only: section is selected, all clothing helpers will be refitted to the body. However, the refitting process will cause any modifications previously made to a refitted helper objects to be lost. To limit the Fit Target button behavior to a single helper object, you should specify the object that you want to have refitted under the Affects Only section appearing at the bottom of the panel. This will cause the refitting to only affect the chosen helper (for example the Hair), while leaving all other helper objects unaffected, preserving your edit modifications to those helpers (for example, the Tights and Skirt helpers will not be refitted and your modifications to those helpers will be preserved if the Hair Affects Only option is set).
The additional helper options also include buttons that improve the fit of the skirt specifically by snapping the skirt to the character's waist ("Snap Skirt Waist" button) or straightening the skirt ("Straighten Skirt" button). It is recommended that you still select the Skirt as the Affects Only option prior to pressing either of these buttons.
=== MHBlenderTools: MakeClothes ===
=== Overview ===
MakeClothes, as its name implies, is a Blender addon that is used to construct clothing assets for use in the MakeHuman program. Clothes can be modeled using any technique that is natural. For example, clothing can be modeled from scratch, or by altering either the human mesh or the “clothing helpers” (see below) provided by the MakeClothes tool. When designing and modeling a clothing item, there are two restrictions that should be kept in mind. First, the algorithm for mapping a clothing mesh to the human mesh requires that theclothing mesh consists entirely of quad faces. Second, it is important to know that MakeClothes supports only one material per item of clothing.
Upon completing the MakeClothes workflow, a new folder will be created by the tool within %USER%/makehuman/v1/data/clothes. That folder will assume the unique name that the user provides for the clothing item. This folder will be populated with the assets necessary to make the item available in MakeHuman. The one additional, useful but not essential, item that the user must supply is a thumbnail icon for the clothing. The thumbnail icon can be created with any image editing program as a 128 x128 pixel image in .png format. The file should then be saved in the same folder as the other assets and the extension changed to .thumb.
=== Using MakeClothes addon ===
MakeClothes is controlled by the MakeClothes panel in the N-shelf to the right of the viewport. It consists of the main buttons that are always visible, and several hidden sections that can be displayed by enabling a checkbox.
!IMAGE!Pictures/mc2-010-main.png!/IMAGE!
The main section contains the following:
* Type: Specifies the character to be used as a reference. It can be one of the following:
* Base Mesh: The MakeHuman mesh without any targets applied.
* Average Male: A caucasian young male.
* Average Female: A caucasian young female.
* Average Child: A caucasian young child.
* Average Baby: A caucasian young baby.
* Base Mesh with Helpers: The MakeHuman mesh without any targets applied.
* Average Male with Helpers: A caucasian young male.
* Average Female with Helpers: A caucasian young female.
* Average Childwith Helpers: A caucasian young child.
* Average Baby with Helpers: A caucasian young baby.
* Load Human mesh: the button to load the selected type into the scene.
Note:"helpers" in MakeHuman are a type of special, invisible geometry over the base mesh which can be loaded to help model clothes, for example, a helper sweater, helper tights etc. They have their own materials. It is important to note that no alterations should be made to the base mesh type after it is loaded otherwise the script will fail.
The picture below shows the result of pressing "Load Human Mesh", with type set to Base Mesh.
!IMAGE!Pictures/mc2-011-main_0.png!/IMAGE!
A human mesh is loaded into the viewport, and more tools are enabled:
* Mesh Type: MakeClothes divides meshes into two types: human and clothing. This button displays the mesh type (Human/Clothing) of the active mesh and is greyed out if the active object is not a mesh. (MakeHuman normally detects the items accurately, but in the event of an error, you can click the button to change the mesh type so that it is treated as a clothing item instead of human if it is a clothing item and wrongly detected as a human item)
* Create Vertex Groups From Selection: MakeClothes uses vertex groups to control the fitting.
* Make Clothes. This is the main entry point for the MakeClothes script. With one human and one piece of clothing selected, create an association between clothes vertices and human triangles, i.e. triplets of human vertices. Both meshes must have vertex groups with identical names, and each clothing vertex must belong to exactly one vertex group. The result of the association is saved in the file ObjectName/ObjectName.mhclo, in the default directory. This button is greyed out if the active object is not a mesh.
* Test Clothes. This buttons loads a piece of clothing (an .mhclo file) and fits it to the active mesh, which must be a human. Typically a second human is loaded on a different layer, and the quality of the clothes fitted to that character can immediately be checked in Blender. To test the clothes under the strictest conditions, the human model used for testing should be quite different from the human used for clothes-making. If the original character is an adult, Baby With Helpers is a good choice.
If, instead, the Human With Helpers button is pressed, the full MakeHuman mesh including the helper geometry is loaded. Different materials are assigned to each type of helper geometry. The materials are ordered in the order of the vertex number. This makes it easy to peel off one helper type at a time.
!IMAGE!Pictures/makeclothes03.png!/IMAGE!
=== Glue clothes to the body ===
The clothes are meshes that be done directly in Blender, or in another package and then imported into Blender as an obj file. Note that the mesh type is Clothing, which is the default unless the mesh has been declared to be a human. A simple method to obtain a starting point modelling is to duplicate part of the human mesh and separate it from the human. However, in this case the duplicated mesh will still be a human. To change the mesh type, press the toggle button Human. The status is now changed into Clothing.
After loading the human, next step is to "glue" the clothes to the human, in order that they will automatically fit the body changes. To control this association, MakeClothes uses vertex groups. Each clothing vertex must belong to exactly one vertex group, and a vertex group with thesame namemust exist in the human mesh as well. Only human vertices in the correct vertex group will be considered when making clothes.
Vertex groups speed up the clothes-making process by pruning the search tree, and can be used to control the appearance of clothes as well. However, assigning vertex groups can be quite tedious, and in many cases it is sufficient let MakeClothes create vertex groups automatically. This is done automatically when a human mesh is loaded. If a clothing mesh does not have any vertex groups, it is also done automatically, when the MakeClothes button is pressed.
=== Automatic vertex groups ===
If vertex groups need to be reassigned, e.g. because a piece of clothing has been edited, the automatic vertex groups can be used. When the human is selected, there is a button, visible in the image above, called "Create Vertex Groups From Selection". Selecting a cloth, the button change in "Create Vertex Groups". Both the buttons do the same thing, but there is a little difference: in the human is possible to generate the vertex groups only for a sub set of the vertices (selected in edit mode), while for clothing the vertex groups must include all vertices. This is because we need to associate onlya partof the human vertices withallvertices of the clothing. For example, we need to associate all the vertices of a skirt with the human torso only.
Pressing the button, the following vertex groups are created:
* Mid: Vertices on or very close to the center line (|x| < 0:001).
* Left: Vertices to the left of the center line (x > 0:001). For a human the Mid vertices are also included in the Left group.
* Right. Vertices to the right of the center line (x z 0:001). For a human the Mid vertices are also included in the Right group.
* Delete: An empty group only created for humans. Human vertices hidden by the piece of clothing can be added to this groups. These vertices are then optionally deleted when the clothing is applied in MakeHuman, thus avoiding that blotches of skin poking through the clothes. Note that when a vertex is deleted, so are all faces containing this vertex. Don't assign a vertex to the Delete group unless all faces containing it are hidden by the pieces of clothing.
In the image below, vertices assigned to the Mid and Left groups for a nude human.
!IMAGE!Pictures/auto-vert.png!/IMAGE!
=== Generate the clothes file. ===
When both clothing and human has the vertex groups with same name, just press the MakeClothes button to generate the files.
They will be located in your HOME/makehuman/a8/data/clothes, in order to be inbcluded automatically in MakeHuman.
==== Advanced tools ====
Under the main buttons of Makeclothes, there are seven hidden panels that can be activated clicking the checkbox. Let's see their meaning.
=== Show selection, Show Materials, Show UV projection ===
!IMAGE!Pictures/options-01.png!/IMAGE!
Show selection.This feature is just a shortcut to quickly select some part of the human. So, instead of classic Blender selection (go in edit mode, move the mous on a vert and press Lkey to select the linked vertices), you can just press these buttons.
Show Materials. This will show a button to export the materials only. It's useful in case there are not changes on geometry, but only on the material, in order to avoid to recompute all.
Show UV projection.This section is useful mainly for making proxy meshes.
* Recover seams.Creates a Seam object, which has edges where the selected mesh's UV layout has seams. The Seam object is intended to be reference for marking seams for the clothing.
* Auto seams.
* Project UVs.Automatically create an UV layout for the clothing, compatible with the human's UV coordinates. This is intended for the mask UV layer, which must be compatible with the body mesh for all clothes. The actual texture can use a different UV layer which can be laid out in any desirable manner.
* Reexport Mhclo file.The mhclo file must be resaved when the mask UVs have been defined. This can be done by pressing Make clothes again, but Reexport Mhclo file is faster.
=== Show ZDepth, Show Offset scaling ===
!IMAGE!Pictures/options-02_0.png!/IMAGE!
Show ZDepth.This option is used to assign a depth to the cloth, in order to hide skin and clothes which are covered by clothes on top of it. The Z depth specifies the stacking order, which decides which clothes should hide others. Normally the Z depth ranges between 0 (skin) and 100 (external accessories such as backpacks).
* Depth name. Roughly indicates the preferred Z depth for various clothes types. The choices are: Body, Underwear and lingerie, Socks and stockings, Shirt and trousers, Sweater, Indoor jacket, Shoes and boots, Coat, Backpack.
* Set Z depth.Set the Z depth depending on the selected depth name.
* Z depth.The value of the Z depth. This is changed by the Set Z depth button, but can be dialledmanually for fine-tuning.
Show Offset scaling.The location of a clothing vertex depends on two data: a point on a body triangle, described in barycentric coordinates, and the offset from that point. The offset is scaled in the X, Y and Z directions depending on the size of a certain body part.
* Body part.Set this to the body part which is most affected. The choices are: Custom, Body, Genital, Head, Torso, Arm, Hand, Leg, Foot.
* Examine.Select the boundary vertices with Set boundary is invoked.
* Set boundary.Set the boundary to vertices determined by the selected body part.
* Custom Boundary.To manually set the bounday box.
* X1, X2, Y1, Y2, Z1, Z2.The vertex numbers of the six vertices which define the scaling boundary. The X scale is determined from the distance between vertices X1 and X2, the Y scale by Y1 and Y2, and the Z scale by Z1 and Z2.
=== Show Setting, Show License ===
!IMAGE!Pictures/options-03.png!/IMAGE!
Show Setting.The setting include the author name and the export path. It's possible to save and restore the settings.
Show License.This set of options are to add theauthor name, the type of license and the tags for clothes. Licensing information to be put at the top of the exported mhclo file. It consists of three strings that can contain arbitary text.
* Author. Defaults to: Unknown.
* License. Defaults to: AGPL3
* HomePage. Defaults to:!LINK!http://www.makehuman.org/ -- http://www.makehuman.org/!/LINK!
=== GUI languages and translations. ===
Our GUI is available in many languages, but translations are not yet complete.
Anyway now contributing in order to add a new language is very easy, since the MakeHuman project is now available for translation on!LINK!http://www.transifex.com/organization/makehuman/ -- Transifex!/LINK!.
!IMAGE!Pictures/languages.png!/IMAGE!
Transifex is a web application for localization in an easy and agile way.
!IMAGE!Pictures/transifex.png!/IMAGE!
If you want to help the MakeHuman project by translating the GUI into your language, you first need to create an account on Transifex. Then, when logged in, you can go to!LINK!https://www.transifex.com/projects/p/makehuman/ -- the MakeHuman Transifex page!/LINK!and click on the appropriate language you want to translate. Then click the "Join team" button. Now you can click the current release name (for example "Alpha 8") entry and click "Translate now".
If you want to make a translation in another language that is not yet listed, click "request language" on the!LINK!https://www.transifex.com/projects/p/makehuman/ -- MakeHuman transifex page!/LINK!. We will make sure to accept it as fast as possible, so you can start translating.
Translating is quick and easy. You can select the "Untranslated strings" filter to show only the things left to translate. Click the first word on the left, and in the center of the screen enter your translation in the input box. When done typing, simply press the TAB button on your keyboard, and it automatically goes to the next entry. Repeat this process untill everything is translated.
You can leave things open you are uncertain about, and leave them for later. Perhaps others know a good solution. You can interrupt your work at any time and continue working later, or leave it for others to finish.
If you already have a translated file on your hard disk (for example you made modifications to an already existing language .ini file of MakeHuman, or you have filled in a .missing language file), you can upload it as translation and Transifex will automatically include it in the translation.
You will be also able to download the json file of your language, in order to put it in makehuman/data/languages. On restarting MakeHuman, the new language will be available as an option under "Settings".
=== MHBlenderTools: Download and installation ===
The Blendertools package is available on the download page:!LINK!http://www.makehuman.org/content/download.html -- http://www.makehuman.org/content/download.html!/LINK!
The current version is 1.0.0, designed to work with MakeHuman 1.0.0 and with Blender 2.69. It's a zip package of four folders:
* MakeTarget
* MakeClothes
* MakeWalk
* mhx_importer
To install the addons, these subfolders must first be copied to a location where Blender can find it. Depending on the operating system being used, the addons destination directory where Blender will look for user-defined add-ons, is
* Windows 7: C:\Users\%username%\AppData\Roaming\Blender Foundation\Blender\2.6x\scripts\addons
* Windows XP: C:\Documents and Settings\%username%\Application Data\Blender Foundation\Blender\2.6x\scripts\addons
* Vista: C:\Program Files\Blender Foundation\Blender\%blenderversion%\scripts\addons (this is valid at least for blender 2.69)
* Linux: /home/$user/.blender/$version/scripts/addons
Note that the AppData folder in Windows 7 and the .blender folder in Linux are hidden folders. The location may also be different depending on your choices for setting up your operating system and Blender. For more information see the Blender documentation.
To enable the MH addons, in Blender open the User Preferences window from the File > User Preferences menu, and go to the Addons tab. The Blendertools addons are located in the MakeHuman category. Enable them by checking the box in the upper-right corner, next to the running man symbol. If you want Blendertools to start every time Blender is restarted, press the "Save User Settings" button.
!IMAGE!Pictures/mhx-pref.png!/IMAGE!
=== MHBlenderTools: MakeWalk basic workflow ===
MakeWalk is a Blender add-on for retargeting mocap data (.bvh files) to a given armature.
==== Retargeting: how it works ====
The goal of retargeting is to transfer a motion from a source armature (e.g. from a BVH file) to a given target armature (e.g. the MHX rig). However, it is not straightforward to assign the source action to the target rig, even if the bones have identical names. The motion of each bone is specified in local coordinates, relative to the parent and the bone's own rest pose. If the rest poses of the source and target armatures differ, the source F-curves can not be used directly by the target armature.
!IMAGE!Pictures/makewalk-1.png!/IMAGE!
The picture above shows a transformation in the local coordinate system. Since the parent's local Y points along its axis and its local Z points up, the child bone is rotated around the local X axis. This is not very useful if the target armature has a diffent rest pose. To retarget the pose, we therefore reexpress the transformation in the global coordinate system, as shown below. The local X rotation corresponds to a global Y rotation, and by a different angle. Once the global transformation matrix is known, we can reexpress it in the target bone's local coordinate system.
The retargeting process thus consists of making two coordinate transformations:
Source local => Global => Target local.
This will ensure that the source bone and the target bone will have the same global orientation.
!IMAGE!Pictures/makewalk_2.png!/IMAGE!
Unfortunately, things are a little more complicated. We do not always want the source and target bones to have identical orientation. In particular, the root or pelvis bone may point in entirely different directions in different armatures. E.g. in the CMU armature rest pose the pelvis points forward-down, and in the MHX rig it points straight up.
!IMAGE!Pictures/makewalk-3.png!/IMAGE!
If we insisted that the root bone in the MHX rig would point in the same direction as in the CMU rig, the retargeting would not be very successful, as shown in the figure above. If we instead keep the rotation offset from the rest poses, the target pose becomes much better, as shown below.
To calibrate the source and target armature against each other, MalkWalk introduces extra keyframes at frame 0, where both armatures are posed in T-pose.
!IMAGE!Pictures/mcp-ret-060-calibrate.png!/IMAGE!
In the rest of the animation, bones in the target armature copy the global rotations of the source armature, apart from differences present in the T-poses. In this way we can transfer animations from CMU to the MHX rig, despite the fact that the rest poses are very different.
==== Basic Workflow ====
=== Retargeting ===
The MakeWalk panels appear in the tool shelf whenever an armature is the active object. Select the armature and press the Load And Retarget button. In the file selector, select the .bvh file. We choose the file 90_04.bvh from the CMU database. It is a cartwheel animation.
!IMAGE!Pictures/makewalk-4.png!/IMAGE!
After a short wait, the armature is doing gymnastics.
!IMAGE!Pictures/makewalk-5.png!/IMAGE!
At frame 0 of the animation the armature has been placed in T-pose. This is not part of the originial .bvh file, but inserted by MakeWalk to calibrate the source armature (defined by the bvh file) and the target armature (the selected armature in the viewport) against each other.
=== Supported armatures ===
MakeWalk works with most straightforward biped rigs with FK arms and legs, such as the Rigify meta-rig. There is also built-in support for some more complex rigs: the MHX advanced rig from MakeHuman, the MHX rig from MakeHuman and Rigify.
!IMAGE!Pictures/makewalk-6.png!/IMAGE!
It is often possible to use MakeWalk with other complex rig, but in that case the automatic bone identification may fail. If so, a bone map must be defined manually, see!LINK!http://makehuman.org/doc/node/defining_the_target_rig_manually.html -- Defining a Target Rig Manually!/LINK!.
=== Troubleshooting ===
Retargeting is a rather involved subject, and it can sometimes result in poor motion. The process may even fail completely, usually because MakeWalk failed to automatically identify the bones of a complex rig. If this should happen, see!LINK!http://www.makehuman.org/doc/node/makewalk_errors_and_corrective_actions.html -- Errors and Corrective Actions!/LINK!.
==== Where to find BVH files ====
There are several different formats that mocap files can be stored in. MakeHuman's mocap tool can only deal with files in Biovision BVH format. BVH files can be bought from many commercial sources, but a large range of mocap files are also available for free download. Here are some sites I found useful.
* CMU Graphics Lab Motion Capture Database: Hosted at Carnegie-Mellon University, this is a huge library of mocap files which can be downloaded for free. The web address is!LINK!http://mocap.cs.cmu.edu/ -- http://mocap.cs.cmu.edu!/LINK!. CMU hosts mocap files in three formats: tvd, c3d and amc. However, the mocap tool can only read BVH files, so none of these files can be used directly. Fortunately, B. Hahne at!LINK!http://www.cgspeed.com/ -- www.cgspeed.com!/LINK!has converted the CMU files to BVH. The converted files are located at!LINK!http://sites.google.com/a/cgspeed.com/cgspeed/motion-capture -- http://sites.google.com/a/cgspeed.com/cgspeed/motion-capture!/LINK!.
* Advanced Computing Center for the Arts and Design (ACCAD): Hosted at the Ohio State University, this is another great source of free mocap files. BVH files can be downloaded from!LINK!http://accad.osu.edu/research/mocap/mocap_data.htm -- http://accad.osu.edu/research/mocap/mocap_data.htm!/LINK!
* Eyes Japan (mocapdata.com):This is a Japanese company that sells mocap data commercially, but they also offer a huge number of motions for free. According to their homepage, mocapdata.com provides 744 premium motion data and 4197 free motion data. The only catch is that downloading requires registration. Not surprisingly, the homepage of mocapdata.com has the address!LINK!http://www.mocapdata.com/ -- http://www.mocapdata.com/!/LINK!.
* The Trailer's Park: Free mocap data can also be found at the Trailer's Park,!LINK!http://www.thetrailerspark.com/ -- http://www.thetrailerspark.com!/LINK!. This site does not offer original data, but offer repacks of mocap data from other free sites for download. Free download is limited to some five packs per day, so some patience is required here.
* Hochschule der Medien, Universität Bonn (HDM):!LINK!http://www.mpi-inf.mpg.de/resources/HDM05/ -- http://www.mpi-inf.mpg.de/resources/HDM05!/LINK!
* The Perfume global site project #001:!LINK!http://perfume-dev.github.com/ -- http://perfume-dev.github.com/!/LINK!
=== MHBlenderTools: MakeWalk user interface ===
==== The user interface ====
The user > interface of MakeWalk is located in under the Armature tab, and becomes visible when an armature is selected. It consists of six panels; the first one is open by default and the others are closed.
!IMAGE!Pictures/makewalk-7_0.png!/IMAGE!
* Load And Retarget: Select a BVH file and retarget it to the active armature.
* Start Frame: The first frame in the BVH file to considered.
* Last Frame: The last frame to be considered, unless the animation stops earlier. The difference last_frame - first_frame is the maximal number of frames after retargeting. The number of frames in the BVH file may be larger, if some frames are skipped due to subsampling
* Detailed steps: When this options is selected, further buttons are show below
* Load BVH File (.bvh). Load a BVH file, and create an animated armature from it.
* Rename And Rescale BVH Rig. With the BVH armature active, and a target armature selected, rename and rescale the bones of the active armature to fit the target.
* Load And Rename BVH File (.bvh). A combination of the previous two buttons. With a target armature active, load a BVH file, and create an animated armature with renamed and rescaled bones.
* Retarget Selected To Active. Retarget the animation from a renamed and rescaled BVH armature to the active armature.
* Simplify FCurves. Simplify the F-curves of the active armature.
* Rescale FCurves. Rescale F-curevs of the active armature.What if retargeting fails?
MakeWalk is designed to retarget animations to a given armature with a minimum of user intervention. However, retargeting is a complex process, and entirely automatic retargeting may fail or result in suboptimal motion. Information about how to identify and correct problems is found in!LINK!/doc/node/blendertools_makewalk_troubleshooting.html -- Errors and Corrective Actions!/LINK!.
A common problem is that automatic identification of bones in the target armature fails. A bone map can then be assigned manually, cf.!LINK!/doc/node/blendertools_makewalk_troubleshooting.html -- Defining the Target Rig Manually.!/LINK!
==== Options panel ====
!IMAGE!Pictures/makewalk-8.png!/IMAGE!
* Use Default Subsample. Blender normally plays the animation in 24 fps or 25 fps, but the animation in the BVH file may be recorded at a different speed. In particular, the BVH files from CMU were filmed at 120 fps. Enable this option to have the animation play at natural speed, irrespective of the frame rate in the BVH file. Other subsample options are described below.
* Auto scale. Set the scale automatically based on the size of the left thigh. This choice has two motivations:
* Almost all character do have a left leg.
* The leg size is crucial for making walk cycles look good.
* Scale. The default MakeHuman scale is decimeters - 1 unit = 1 decimeter. Translations in a BVH file are expressed in different units; often the base unit is inches, meters or centimeters, but more obscure units can also occur, e.g. in BVH files from CMU. If the scale is set incorrectly, rotations will still be correctly retargeted, but the character will appear to take giant leaps or miniscule steps.
* Use Limits: If this option is enabled, MakeWalk honors any Limit Rotation constraints, and will not allow excessive rotations. If the animation in the bvh files exceeds some rotation limits, this makes the retargeted animation less faithful. On the other hand, the rig may not be built for excessive rotations, so unchecking this option can lead to other problems.
* Unlock Rotation: If this option is disabled, MakeWalk honors any rotation locks. If the animation in the bvh files bend around locked axes, this makes the retargeted animation less faithful. If Unlock Rotation is enabled, any X or Z rotation locks are disabled. Y rotation locks (bone twisting) are never disabled. The reason for this is that in the MHX and Rigify rigs, forearm rotation is handled by deform bones controlled by hand twisting.
* Auto source rig. The source rig (i.e. the armature defined by the BVH file) is specified in the!LINK!/doc/node/blendertools_makewalk_source_and_target_armature.html -- Source Armature panel!/LINK!. Enable this option if the mocap tool should attempt to automatically identify the source rig, based on the structure of the bone hierarchy.
* Auto target rig. The target rig (i.e. the armature in the blend file) is specified in the!LINK!/doc/node/blendertools_makewalk_source_and_target_armature.html -- Target Armature panel!/LINK!. Enable this option if the mocap tool should attempt to automatically identify the target rig, based on the structure of the bone hierarchy.
* Ignore Hidden Layers. Ignore bones on hidden layers when identifying the target rig.
=== Subsample and Rescale ===
If the Use Default Subsample option is set, the mocap tool will rescale the animation to fit the current frame rate. However, there are at least two reasons why you may want to load an animation at a different frame rate:
* * To obtain a slow-motion or rapid-motion effect.
* To quickly load an animation to see if the gross features will work out.
If the Use Default Subsample option is disabled, the SubSample section becomes visible.
* Subsample. Enable subsampling.
* Subsample Factor. If the value of this property is n, only every n:th frame of the BVH animation is loaded.
* Rescale. Enable rescaling.
* Rescale Factor. If the value of this property is n, the time distance between keyframes is changed to n.
* Rescale FCurves. Apply the settings above to existing F-curves rather than to the loaded animation.
Rescaling differs from simply scaling F-curves in the F-curve editor.
=== Simplification ===
* Simplify FCurves. Remove unnecessary keyframes.
* Max Loc Error. The maximal allowed error for location keyframes, in Blender units. A larger error results in fewer keyframes but less accuracy.
* Max Rot Error. The maximal allowed error for rotation keyframes, in degrees. A larger error results in fewer keyframes but less accuracy.
* Only Visible. Simplification only affect F-curves visible in the Graph editor.
* Only Between Markers. Simplification only affects F-curves between the two outermost selected markers. The timeline must have at least two selected markers.
==== Edit panel ====
Loading and retargeting is normally only the first step in the creation of an animation from mocap data. There are many reasons why a loaded animation does not behave exactly the way you want it to: artifacts in the mocap data, differences in armature structure not compensated for correctly by the retargeting process, differences in body stature between the mocap actor and the target character, or simply that the filmed sequence does not do exactly what you intend.. It is of course possible to edit the action directly in the graph editor, but this is unpractical due to the amount of mocap data. The mocap tool offers several possibilities to edit an action at a higher level. These tools are colleted in the Edit Action panel which is located just below the Options panel.
!IMAGE!Pictures/edit-action.png!/IMAGE!
=== Inverse Kinematics ===
* Transfer FK => IK: The load and retarget steps transfers an animation from a bvh file to the target character. However, only the FK bones are animated. Press this button to transfer the FK animation to the IK bones. Only works for the advanced MHX armature. If two markers are selected, only the animation between the markers is transferred.
* Transfer IK => FK: Transfer the animation back from the IK bones to the FK bones. Useful if the IK animation has been edited,
* Clear IK Animation: Remove all keyframes from all IK bones (arms and legs).
* Clear FK Animation: Remove all keyframes from all FK bones (arms and legs).
=== Global Edit ===
* Shift Animation. Shift the keys for the selected bones at all keyframes.If two markers are selected, only the keyframes between the markers are deleted.
* X,Y,Z: F-curves affected by the next button.
* Fixate Bone Locations:Replace all location keys by their average. Only selected bones and keyframes between selected markers are affected.
* Rescale Factor: Factor used by next button.
* Rescale FCurves: Rescale all F-curves by the factor above. This is similar to scaling F-curves in the curve editor, but jumps are treated correctly. E.g., rotations of +180 degrees and -180 degrees are the same, but if we scale an F-curve with a factor two, the intermedate keyframe will have the average rotation 0 degrees, The Rescale FCurves button handles this case correctly.
=== Local Edit ===
This section could be called "Poor man's animation layers". A loaded mocap animation usually has imperfections that must be edited, but without changing the overall feel of the motion. The Start Edit button creates a new animation layer where differences from the original motion are stored as keys, called delta keys since delta often denotes a difference.
* Start Edit: Start editing F-curves.
* Undo Edit: Quit F-curve editing, without modifying the original F-curves.
* Loc: Set a location delta keyframe.
* Rot: Set a rotation delta keyframe.
* LocRot: Set a location and rotation delta keyframe.
* Delete: Remove all delta keyframes at the current time.
* |<: Move to first delta keyframe
* <: Move to previous delta keyframe.
* >: Move to next delta keyframe.
* >|: Move to last delta keyframe.
* Confirm Edit: Modify the original F-curves and quit F-curve editing.
The delta keys are represented by markers in the timeline.
!IMAGE!Pictures/mwe-315-local-keys.png!/IMAGE!
A delta key can be added with the Loc, Rot and LocRot buttons, and removed with Delete. There is no way to view the delta keys directly. In the viewport and the curve editor, the final pose is shown, which is the sum of the original pose and the delta key.
A common use for delta keys is to correct for intersection with other objects or the character herself. The typical workflow is as follows:
* * Start Edit.
* Set a delta key at a good frame just before the intersection.
* Set a delta key at a good frame just after the intersection.
* Edit the pose a the frame(s) where intersection occurs.
* If the intersection has been removed, Confirm Edit. If not, set new delta keys until it has, or Undo Edit to remove the delta layer.
=== Feet ===
* Left: Affect the left foot.
* Right: Affect the right foot.
* Hips: Affect the characters hip (COM) bone.
* Offset Toes: Ensure that the toe is below the ball of the foot at all keyframes. Primarily useful for rigs with a reverse foot setup as explained below.
* Keep Feet Above Floor: If a mesh object (typically a plane) is selected, shift the keyframes to keep the affected feet above the plane. The plane does not necessarily lie in the XY plane; if the plane is tilted, the feet are kept on the plane's upper side. If no plane is selected, the feet are kept above the XY plane (z = 0). The IK feet are affected if the rig has and uses IK legs, otherwise the FK feet are kept above the floor. If two markers are selected, only the keyframes inbetween are shifted.
In a rig with a reverse foot setup, such as the MHX rig, the foot can rotate around the toe, ball, and heel. The reverse foot and toe bones are completely fixed by the corresponding FK bones, but the IK effector can be placed arbitrarily, as long as it ends at the toe tip. The transfer tool uses this freedom to make the IK effector perfectly horizontal, provided that the toe is below the ball and heel.
!IMAGE!Pictures/refoot.png!/IMAGE!
To use this feature we must ensure that the toe is below the ball of the foot, which is done by the Offset Toes button.
=== Loop And Repeat ===
!LINK! -- Loop Animation!/LINK!
Create a loop of the action between two selected time markers, by blending the keyframes in the beginning and end of the loop. This is useful e.g. to create walk and run cycles for games. For good results, the poses at the beginning and end of the selected region should be similar.
* Blend Range: The number of keyframes used for blending.
* Loop in place: Remove the X and Y components of the root bone's location.
* Loop F-curves: Loop the animation.
!LINK! -- Repeat Animation!/LINK!
Repeat the action between two selected time markers. The actions should preferably be looped before it is repeated, to make the beginning and end match seamlessly.
* Repeat Number: The number of repetitions.
* Repeat F-curves: Repeat the animation.
=== Stitching ===
Create a new action by stitching two actions together seamlessly.
* Update Action List: Update the first and second action drop-down lists.
* First Action: The name of the first action.
* First End Frame: Last frame of the first action
* Set Current Action: Set the first action as the current action.
* Second Action: The name of the second action.
* Second Start Frame: First frame of the second action.
* Set Current Action: Set the second action as the current action.
* Action Target: Choose between creating a new action and prepending the second action.
* Blend Range: The number of keyframes used for blending. Same parameter as in Loop Animations section.
* Output Action Name:
* Stitch Actions: Stitch the actions together.
=== MHBlenderTools: MakeWalk armatures ===
==== Source Armature panel ====
MakeWalk transfers an animation from a source armature, defined in a bvh file, to a given target armature. It uses an intermediate standard rig described in!LINK!http://makehuman.org/doc/node/defining_the_target_rig_manually.html -- Defining the Target Rig Manually!/LINK!. The bone map from the source armature to the target armature hence consists of two parts:
* A map from the source rig to the standard rig. It is defined in the MakeWalk: Source Armature panel.
* A map from the target rig to the standard rig. It is defined in the!LINK!http://makehuman.org/doc/node/makewalk_target_armature_panel.html -- MakeWalk: Target Armature panel!/LINK!.
!IMAGE!Pictures/mws-010-panel.png!/IMAGE!
When a new scene is opened, the panel consists of the single button Initialize Source Panel. Once this button has been pressed, the following content is available:
!IMAGE!Pictures/mws-020-auto.png!/IMAGE!
* Reinit Source Panel: Reinitialization.
* Auto Source Rig: If this option is enabled, MakeWalk will try to identify the source rig automatically. It may happen that MakeWalk fails to identify the source rig automatically, but this is very unusual. If it should nevertheless happen, it is possible to define the bone map manually in analogy with !LINK!http://makehuman.org/doc/node/defining_the_target_rig_manually.html -- how it is done for target rigs!/LINK!.
* Source rig. A list of bvh rigs recognized by the mocap tool. This either defines the expected source rig (if Auto Source Rig is disabled) or to Automatic.
* Bones in the active source rig.
==== Target Armature panel ====
The second part of the mapping from source to target armatures is defined by the panel labelled MH Mocap: Target armature. It is the top-most of the mocap tool panels, and is closed by default.
When a new scene is opened, the panel consists of the single button Initialize Target Panel. Once this button has been pressed, the following content is available:
!IMAGE!Pictures/mwt-011-panel.png!/IMAGE!
* Reinit Target Panel. Reinitialization.
* Target rig. A list of bvh rigs recognized by the mocap tool. This either defines the expected Target rig (if Auto Target rig guessing is disabled), or is set to a matching rig (if automatic target rig identificiation is enabled).
* Auto Target Rig. If this option is enabled, MakeWalk will try to identify the target rig automatically. However, automatic rig identification is not trivial for complex rigs, and it may fail. If so, the bone map may be specified manually, cf!LINK!http://makehuman.org/doc/node/defining_the_target_rig_manually.html -- Defining the Target Rig Manually!/LINK!. If the bone map is defined. The target rigs available by default correspond mostly to the rig presets that can be exported from MakeHuman
* MHX. An advanced rig from MakeHuman alpha 8.
* MH Alpha 7. The MHX rig from MakeHuman alpha 7.
* Rigify.
* Ignore Hidden Layers: Ignore bones on hidden layers during automatic rig identification.
* Reverse Hip. Select this option if the armature has an reverse hip. It is rather common that an armature has a reverse hip. In a normal hip setup, the armature root is the hip or pelvis bone, and the thighs and the rest of the spine are children of this bone. In a reverse hip setup, the first bone in the spine has been reversed. There is a separate root bone, and the two lowest bones in the spine are both children of thise root, whereas the thighs are children of the reversed hip.
* Identify Target Rig: Identify the target rig, i.e. find out how bone names in the active armature correspond to the internal names. This step is performed automatically during retargeting, but the identification can also be done separately for debugging purposes. The bone map appears in the area called FK bones below.
* Set T-pose. Pose the active armature in T-pose.
* Save T-pose. Option used by the next button.
* Save Target File. Save the current bone map as a .trg file. If the Save T-pose option is set, also save a json file defining the T-pose.
* FK bones. The bone map.
The picture below shows automatic rig identification of the Rigify meta-rig (Add > Armature > Advanced Human).
!IMAGE!Pictures/mwt-020-metarig.png!/IMAGE!
=== MHBlenderTools: MakeWalk troubleshooting. ===
==== What if retargeting fails? ====
=== Errors and Corrective Actions ===
This document will describe common errors and corrective actions.
It may happen that MakeWalk fails to retarget an animation to a given armature. In that case an error message is displayed.
!IMAGE!Pictures/mwa-100-error.png!/IMAGE!
The error message consists of the following:
Mocap error
Category
Detailed error message
A link to this page
MakeWalk errors are grouped into the following categories:
* Load Bvh File
* Rename And Rescale
* Identify Target Rig
* Automatic Target Rig
* Manual Target Rig
* Identify Source Rig
* Retarget
* General Error
Load Bvh File
Rename And Rescale
Identify Target Rig
=== Automatic Target Rig ===
The most common problem is probably that MakeWalk fails to identify the target rig automatically. There are several possible reasons for this:
* The character is not oriented correctly. In the rest pose, the character should be standing with up being the positive Z axis and facing -Y.
* The armature is complex with extra bones not corresponding to a standard biped rig.
* The armature only has IK arms or legs. MakeWalk retargets animations to the FK limbs, so if no such bones exist, the program will not work.
!IMAGE!Pictures/mwa-110-reverse-hip.png!/IMAGE!
It is rather common that an armature has a reverse hip. In a normal hip setup, the armature root is the hip or pelvis bone, and the thighs and the rest of the spine are children of this bone. In a reverse hip setup, the first bone in the spine has been reversed. There is a separate root bone, and the two lowest bones in the spine are both children of thise root, whereas the thighs are children of the reversed hip.
!IMAGE!Pictures/mwa-120-reversehip.png!/IMAGE!
The advantage of such a setup is that the upper and lower body can be posed independently. However, MakeWalk failes to identify the bones, unless the Reverse Hip option has been enabled.
If automatic bone identification still fails, bone mapping has to be made manually. How this is done is described in the next section.
=== Defining the Target Rig Manually ===
Internally, MakeWalk retargets animations to an armature with the following bone hierarchy.
Here is a visual illustration of the bone hierarchy:
!IMAGE!Pictures/mwa-010-armature.png!/IMAGE!
In order to retarget to an armature with different bone names, we must define a map between the given bones and the internal names. By default, MakeWalk attempts to do this automatically. However, automatic bone mapping may easily be confused for non-trivial rigs. If this happens, one can define the bone map manually.
A bone map for a target armature is defined by a .trg file located in the target_rigs folder under the makewalk directory. The folder already contains three files, for retargeting the MHX advanced rig, the MakeHuman, and Rigify. These rigs are too complicated to identify the bone map automatically, so MakeWalk recognizes these rigs and use the predefined bone map.
Create a .trg file using an existing file as a template. E.g., a .trg file could look like this:
Note that it is not necessary to define maps to all bones. Bone names must not contain spaces, since whitespace is used as a delimiter in the .trg file. If the bones in your armature do contain spaces, replace them by underscore ( _ ). MakeWalk treats space and underscore as equivalent, so this is not a problem, except for very strange naming convention.
!IMAGE!Pictures/mwa-020-myrig.png!/IMAGE!
Save the .trg file with the name my_rig.trg in the target_rigs folder and press the Reinit Target Panel button. My_Rig should now appear in the Target rig list. Select it. In the FK bones sections, the My_Rig bone names are now listed. Make sure that the Auto Target Rig option is deselected, to override automatic bone mapping. Finally go to the main panel and press Load And Retarget. The animation should now be loaded.
=== MHBlenderTools: MakeWalk utilities ===
==== Utilities panel ====
This panel contains material that does not naturally fit into the other panels.
!IMAGE!Pictures/mwu-010-panel.png!/IMAGE!
=== Default Settings ===
* Save Defaults: Save current settings as the default settings.
* Load Defaults: Load the default settings from file.
=== Manage Actions ===
* Actions: A list of all actions in the scene, at the time when the Update Action List button was last pressed.
* Filter: If selected, only actions belonging to the active character are included in the action list. When the mocap tool creates an action, the first four letters in the action name are taken from the rig name.
* Update Action List:
* Set Current Action: Set the action selected in the Actions list as the active action.
* Delete Action: Permanently delete the action selected in the Actions list. The action must have zero users. It is quite cumbersome to permanently delete actions in Blender. The reason is that creating an action with hand animation takes much work, which should not be lost accidentally. The situation is different with mocap, where it is easy to fill up a blend file with many irrelevant actions. This button makes it easier to clean out such junk motions.
* Delete Temporary Actions: Some tools create temporary actions, whose names start with a hash sign (#). Deletes all such actions.
=== Temporary properties ===
* Delete Temporary Properties. MakeWalk creates some properties for relevant posebones during retargeting. Pressing this button removes these properties. However, be aware that some of the tools in the Edit panel may fail if the temporrary properties are deleted.
The temporary properties for the active posebone can be inspected in the N-panel.
!IMAGE!Pictures/mwu-030-temp-props.png!/IMAGE!
* McpBone: The name of this bone in the internal hierarchy.
* McpParent: The parent of this bone in the internal hierarchy.
* McpQuatW, McpQuatX, McpQuatY, McpQuatZ: The rotation of this bone in T-pose, represented as a quaternion.
=== T-pose ===
* Set T-pose: Set the current pose to T-pose.
* Clear T-pose: Set the current pose to the default pose.
* Load T-pose: Load a T-pose from a .json file to the active armature.
* Save T-pose: Save the current pose as a .json file.
=== Rest Pose ===
* Current Pose => Rest Pose: Set the current pose to rest pose.
=== MHBlenderTools: MHX importer basic usage. ===
MHX (MakeHuman eXchange format) is a custom format used to transfer a rigged character from MakeHuman to Blender. Due to its tight integration with Blender's python API, it supports advanced features like constraints, drivers and properties that general-purpose formats like Collada or FBX do not support.
==== Export From MakeHuman ====
!IMAGE!Pictures/mx010-export.png!/IMAGE!
After the character has been designed in MakeHuman, go to the Files > Export tab and select Blender exchange (mhx) as the Mesh format. Type the character's name in the box at the top and press export. An mhx file has been exported.
==== Import Into Blender ====
Once the mhx importer has been enabled, we can import the mhx file. Select File > Import > MakeHuman (.mhx).
!IMAGE!Pictures/mx070-import.png!/IMAGE!
In the file selector, navigate to the file that we just exported from MakeHuman, i.e. John Doe.mhx in the export directory. After a short while, the character appears in the viewport, ready for posing.
!IMAGE!Pictures/mx080-import.png!/IMAGE!
=== MHBlenderTools: MHX default rigging ===
If pose/animate > skeleton is set to 'None' when the character is exported from MakeHuman in .MHX format, the character is equipped with the default MHX armature. This is a rather complex rig with quite a few features.
The bones are grouped into bone layers. Bone layers can be turn on and off in the MHX Main panel that appears in the user interface pane (N-pane), which is found to the right of the viewport. N-pane visibility can be toggled on and off with N-key.
The Root Layer
!IMAGE!Pictures/mx210-root.png!/IMAGE!
There are two bones on the Root layer:
* master: the big bone located at the foot level. It is the ultimate parent of every other bone in the rig, and can be used to move the entire character, including ik effectors.
* root: the wiggly bone located at the character's center of mass. It also moves the entire character, but IK effectors remain at a fix position.
The Spine Layer
!IMAGE!Pictures/mx220-spine.png!/IMAGE!
The spine is an immedate child of the root bone.
* spine:
* spine-1:
* chest:
* chest-1
* neck
* head
On this layer the two clavicle bones are also found. They are children of chest-1 and also appear on the arm layers.
The Head Layer
!IMAGE!Pictures/mx230-head.png!/IMAGE!
This layers contains the bones of the head (not the Neck and Head bones, however).
* jaw: Jaw bone
* tongue_base: Inner part of tongue.
* tongue_mid: Middle part of tongue.
* tongue_tip: Outer part of tongue.
* eye.L: Left eye.
* uplid.L: Left upper eyelid.
* lolid.L: Left lower eyelid.
* eye.R: Right eye.
* uplid.R: Right upper eyelid.
* lolid.R: Right lower eyelid.
* gaze. Target that the left and right eyes are tracking.
The FK Arm Layers
!IMAGE!Pictures/mx240-fkarm.png!/IMAGE!
The left forward kinematics (FK) arm layer consists of:
* clavicle.L: Left clavicle.
* deltoid.L Left deltoid muscle.
* upper_arm.fk.L: Left FK upper arm (humerus).
* forearm.fk.L: Left FK forearm. Y rotation is locked on this bone. To twist the forearm, rotate the hand bone instead.
* hand.fk.L: Left FK hand.
The bones on the right FK arm layer are analogous.
Note that there are two shoulder bones: clavicle and deltoid. It is not trivial to pose the shoulder, and with two shoulder bones better deformation is possible. The drawback is that an additional bone must be posed. However, in the common case that the arm is well below shoulder level, the deltoid bone can often be ignored.
The FK Leg Layers
!IMAGE!Pictures/mx250-fkleg.png!/IMAGE!
The left FK leg layer consists of:
* thigh.fk.L: Left FK thigh.
* shin.fk.L: Left FK shin.
* foot.fk.L: Left FK foot.
* toe.fk.L: Left FK toes.
THe right FK layer is analogous.
The Finger Layers
!IMAGE!Pictures/mx260-fingers.png!/IMAGE!
The long fingers on the Finger layers give a quick way to pose the fingers; the poses can be fine-tuned with the individual finger links on the Links layer. The bones on the left Finger layer are:
* thumb.L: Left long thumb.
* index.L: Left long index finger.
* middle.L: Left long middle finger.
* ring.L: Left long ring finger.
* pinky.L: Left long pinky.
The bones on the right Finger layer are analogous.
Rotating a long finger around the local X will cause all finger links to curl (rotate around local X). Rotation around local Z only affects the first finger link.
The Finger Link Layers
!IMAGE!Pictures/mx270-links.png!/IMAGE!
Each of the Finger Links layers contains fourteen bones; two for the thumb and three for each other finger. They are used to fine-tune the finger pose, once a rough pose is achieved with the long finger bones.
The Palm Layers
!IMAGE!Pictures/mx280-palm.png!/IMAGE!
The left Palm layer contain the meta-carpal bones:
* thumb.01.L: Parent of the left thumb bones.
* palm_index.L: Parent of the left index finger bones.
* palm_middle.L: Parent of the left middle finger bones.
* palm_ring.L: Parent of the left ring finger bones.
* palm_pinky.L: Parent of the left pinky bones.
The bones on the right Palm layer are analogous.
The IK Arm Layers
!IMAGE!Pictures/mx300-ikarm.png!/IMAGE!
The arms are controlled by FK by default, but inverse kinematics (IK) can also be used. To quickly switch between FK and IK, press the buttons labelled FK or IK in the MHX FK/IK Switch panel, which appears in the N-panel if an MHX armature is the active object.
* clavicle.L: Left clavicle. Same bone as on FK layer.
* deltoid.L: Left deltoid. Same bone as on FK layer.
* hand.ik.L: Left hand IK effector. Positions and rotates the hand. Also controls forearm twist.
* elbow.pt.ik.L: Left elbow pole target. Controls the location of the elbow, which lies in the plane spanned by the arm socket (head of upper arm), wrist (tail of forearm), and elbow pole target.
* elbow.link.L: A rubberband that connects the elbow to the elbow pole target. This bone is merely a visual cue; has no effect and can not be selected.
The bones on the right IK arm layer are analogous.
The IK Leg Layers
!IMAGE!Pictures/mx310-ikleg.png!/IMAGE!
The legs are controlled by FK by default, but IK can also be used. To quickly switch between FK and IK, press the buttons labelled FK or IK in the MHX FK/IK Switch panel, which appears in the N-panel if an MHX armature is the active object.
* foot.ik.L: Left hand IK effector. Positions and rotates the hand.
* toe.rev..L: Left reverse toe.
* foot.rev.L: Left reverse foot.
* knee.pt.ik.L: Left knee pole target. Controls the location of the knee, which lies in the plane spanned by the leg socket (head of thigh), ankle (tail of shin), and knee pole target.
* knee.link.L: A rubberband that connects the knee to the knee pole target. This bone is merely a visual cue; has no effect and can not be selected.
* shin.ik.L: The foot bones and the pole target control the thigh and shin rotation, except for the twist (local Y rotation) of the shin, which is handle by this bone instead. The IK shin bone does not affect the bending of the shin, only the twisting.
The bones on the right IK leg layer are analogous.
!IMAGE!Pictures/mx320-revfoot2.png!/IMAGE!
The IK leg has an reverse foot setup, which allows the foot to rotate around the toe, ball, and heel.
* foot.ik.L: Rotate around heel.
* toe.rev.L: Rotate around toe tip.
* foot.rev.L: Rotate around ball.
FK-IK Snapping
In a rig with both FK and IK, it is useful to be able to switch between the two seamlessly. To this end, the MHX FK/IK Switch panel contains buttons to snap the IK to FK and vice versa, in such a way that the character's pose remains unchanged.
!IMAGE!Pictures/mx330-fkik2.png!/IMAGE!
To snap the IK bones to the FK pose, press the buttons
* Snap L IK Arm
* Snap R IK Arm
* Snap L IK Leg
* Snap R IK Leg
respectively. Note that the FK buttons at the top of the panel change to IK.
!IMAGE!Pictures/mx340-ikfk2.png!/IMAGE!
To snap the FK bones to the IK pose, press the buttons
* Snap L FK Arm
* Snap R FK Arm
* Snap L FK Leg
* Snap R FK Leg
respectively. Note that the IK buttons at the top of the panel change to FK.
The Tweak layer
!IMAGE!Pictures/mx360-tweak2.png!/IMAGE!
This layer contains some rarely used bone that in some cases are useful to tweak a pose.
* breast.L: Controls rotation of left breast. Useful mainly for female characters.
* arm.socket.L: The left arm socket. Allows the left upper arm (FK and IK) to be moved away from the deltoid bone.
* leg.socket.L: The left leg socket. Allows the left thigh (FK and IK) to be moved away from the hip.
The right-side bones (with suffix .R) are defined analogously.
!IMAGE!Pictures/mx370-markers2.png!/IMAGE!
The Tweak layer also contains marker bones. They are used by MakeWalk to determine the location of the toe, ball and heel, so they can be moved up above floor level. Move these bones in Edit mode to fine-tune their locatation. The marker bones on the left side are:
* toe.marker.L: Left toe marker.
* ball.marker.L: Left ball marker.
* heel.marker.L: Left heel marker.
The marker bones on the right side are analogous.
The MHX Control Panel
The default behaviour of the MHX rig can be modified by changing some properties in this panel.
!IMAGE!Pictures/mx410-gaze2.png!/IMAGE!
* GazeFollowsHead: If 1.0, the gaze bone is parented to the head. If 0.0, the gaze bone remains fixed in space (it is parented to the master bone).
* RotationLimits: If 0.0, all Limit Rotation constraint is ignored. If 1.0, they are honored. Default = 0.8.
!IMAGE!Pictures/mx420-hinge2.png!/IMAGE!
* ArmHinge, Left and Right: Determines whether the arm rotates when the shoulder does.
* FingerControl, Left and Right: Determines whether the finger links are parented by the long fingers (the default), or if the long fingers are to be ignored.
!IMAGE!Pictures/mx430-leghinge2.png!/IMAGE!
* LegHinge, Left and Right: Determines whether the leg rotates when the hip does.
!IMAGE!Pictures/mx440-legik2ankle2.png!/IMAGE!
* LegIkToAnkle, Left and Right: If turned on, the reverse foot setup is disabled, and the ankle bones on the Extra layers become the effectors for the IK legs.
=== MHBlenderTools: MHX other rigging systems ===
By default (i.e., if Pose/Animate > Skeleton is set to 'None') a character is exported as an mhx file is rigged with the MHX rig, which is a rather complex rig with many options. Alternatively, the character can be rigged with a simpler and ligher armature by choosing an alternate Rig Preset under Pose/Animate > Skeleton.
!IMAGE!Pictures/mx710-other-rig2.png!/IMAGE!
To this end, select one of the rigs in the Pose/Animate > Skeleton tab. A skeleton is drawn. Export the character from MakeHuman as an mhx file.
To reselect the default mhx rig, press None in the Pose/Animate > Skeleton tab.
!IMAGE!Pictures/mx720-other-blender2.png!/IMAGE!
Import the mhx file into Blender. Note that there are fewer bone layers available in the MHX Main panel.
==== Using the Rigify rig ====
As an alternative to the mhx rig, MakeHuman characters can also be rigged with the popular Rigify add-on by Nathan Vegdahl. Links to documentation about Rigify in general:
!LINK!http://wiki.blender.org/index.php/Extensions:2.6/Py/Scripts/Rigging/Rigify -- Official Rigify documentation!/LINK!
!LINK!http://blenderartists.org/forum/showthread.php?200371-Rigify-Auto-rigging-system-new-and-improved -- Blenderartist thread!/LINK!
!IMAGE!Pictures/mx810-rigify-export2.png!/IMAGE!
To use Rigify, the character must first be prepared in MakeHuman. Select the Export for Rigify checkbox in the Options group and export the file. This checkbox overrides any other rig selected under the Skeleton tab.
!IMAGE!Pictures/mx820-rigify-enable2.png!/IMAGE!
In Blender, enable the Rigify add-on. It is found in the Rigging category. Press Save User Settings to remember the choice.
!IMAGE!Pictures/mx830-rigified2.png!/IMAGE!
Import the mhx file as usual. John Doe is now rigged with Rigify and ready for use.
!IMAGE!Pictures/mx840-norigify2.png!/IMAGE!
If the Rigify add-on is not enabled, an intermediate rig is imported and an error message appears. If this happens, open a new Blender file, enable Rigify, and try again. Alternatively, you may select the armature and press the Rigify MHX Rig button that appears in the N-panel (after you have enabled the Rigify add-on, of course).
Disclaimer: MakeHuman has no control of the Rigify add-on. Rigify support was tested with Blender 2.69. If the specification of Rigify changes in the future, mhx file exported for Rigify may cease to work.
=== MHBlenderTools: MHX Layers and masks ===
The mhx importer creates objects on the first four layers.
!IMAGE!Pictures/mx900-layers2.png!/IMAGE!
* * This layer contains the body, including hair, eyes, etc.
* This layer contains the armature.
* This layer contains any clothes. Empty if the character is nude.
* This layer contains any proxy meshes. Empty if no proxy mesh was exported.
Note that a proxy mesh does not replace the original human mesh, but is added as a separate object. If you only want to use the proxy mesh, the body can be deleted. However, the proxy mesh (perhaps slightly edited) has several uses apart from simply replacing the body, e.g. as a deflection surface for cloth simulation, or to speed up viewport performance when animating. It is therefore up to the user to decide which meshes to delete.
!IMAGE!Pictures/mx920-unmasked2.png!/IMAGE!
Vertices beneath clothes are hidden, to avoid ugly penetration issues. The picture above illustrates what may happen if skin under clothes is not hidden.
!IMAGE!Pictures/mx910-mask2.png!/IMAGE!
However, skin beneath clothes is not removed, only hidden by masks. This becomes evident if in edit mode, where the entire body is visible. To undress the character, deselect the clothes layer (layer 3), and disable all mask modifiers. Don't forget to disable the mask modifier for rendering as well.
With the mask modifiers, it is possible to export a character from MakeHuman with several different outfits, and select the outfit and hidden body vertices in Blender.
If you wish to delete the hidden vertices permanently, e.g. to improve performance or for export to some other application, apply the relevant mask modifiers.
=== MHBlenderTools: MakeClothes rigid fitting ===
The standard clothes fitting algorithm is suitable for flexible clothes, especially clothes that follow the body closely. However, is does not work well for rigid objects like shoes, Therefore, MakeClothes has a variant suitable for rigid shoes. Rigid fitting is used on a vertex group basis, so rigid and flexible fitting can be mixed in the same piece of clothing.
Rigid fitting is used for every vertex group whose name starts with a '*'. Each such vertex group in the human must contain exactly three vertices, that determine the triangle used for fitting in this group.
!IMAGE!Pictures/rf-100-orig.png!/IMAGE!
The use of rigid vertex groups is best explained by an example. Consider a pair of shoes, which is a rigid object. We used the standard MakeClothes settings and an adult human with the original shoe to the left. Then the mhclo file was loaded onto a baby, with the result to the right. The shoe is recognizable but it has been deformed in an undesirable way. However, even though the quality of the fitting is poor, make sure to save the mhclo file, because we will need it at the end of this tutorial.
!IMAGE!Pictures/rf-110-projection.png!/IMAGE!
Each clothing vertex v is associated with a triangle t in the human mesh, i.e. three human vertices v1, v2, v3. Letrdenote the location of v andr1,r2,r3the locations of the corners of the triangle. Further, let d be the perpendicular distance from the clothes vertex to the plane spanned by the triangle. MakeClothes assigns three weights w1, w2, w3, such that
r= w1r1+ w2r2+ w3r3+d,
where the sum of weights w1+ w2+ w3= 1. When the clothing is loaded onto a different character, the new location becomes
r'= w1r'1+ w2r'2+ w3r'3+d',
wherer'1,r'2,r'3are the locations of the three human vertices in the new character, and
d' = Sd= (sxdx, sydy, szdz)
is obtained from the original offsetdby inhomogeneous global scaling with the diagonal scale matrix
S = diag(sx, sy, sz).
The important observation is that the quality of the fitting depends crucially on the chosen triangle, i.e. the triple of human vertices the determines the clothes vertex location. The standard choice is to choose the human triangle closest to to clothing vertex. In rigid fitting the triangle is the same for all vertices, and is defined by the tree vertices in the vertex group.
!IMAGE!Pictures/rf-120-vgroups.png!/IMAGE!
Here we see the vertex groups used to fit the left shoe. The standard vertex group Left consists of all vertices close to the left shoe, in the tights helper. On the other hand, the rigid vertex group *Left only contains three vertices that define the single triangle used for all clothes vertices in this group.
!IMAGE!Pictures/rf-130-triangles.png!/IMAGE!
The next illustration shows the corresponding triangles used for fitting. The Left group uses many triangles obtained by triangulating the corresponding faces. Different shoe vertices are associated with triangles that are transformed differently, and the rigid character of the shoe is lost. The *Left group only has one single triangle, with corners at the three vertices in the vertex group. The same triangle is used by all left shoe vertices.
!IMAGE!Pictures/rf-140-rename-vgroups.png!/IMAGE!
Once the human vertex groups have been defined, we proceed with clothes-making. Rename the shoe vertex groups to *Left and *Right, to make the shoes use rigid fitting. Recall that the human can have several overlapping vertex groups, but in a piece of clothing each vertex must belong to exactly one group.
!IMAGE!Pictures/rf-150-offset-scaling.png!/IMAGE!
Next we open the Offset Scaling section and select Foot as the body part. In flexible fitting, the offsets are usually very small, and selecting the correct body part is not so important. In contrast, this step is very important in rigid fitting, because many vertices are far away from their triangles and the offsets must be scaled correctly. Press Examing Boundary for a visual inspection of which vertices define the global scale matrix..
!IMAGE!Pictures/rf-160-baby-shoes.png!/IMAGE!
This picture shows the shoe loaded on a baby, using flexible fitting (blue) and rigid fitting (red). Rigid fitting clearly maintains the shape of the shoe much better.
However, one problem remains: bone weighting. Start up MakeHuman and load the shoes under the Geometries > Clothes tab. Export the character with a rig in one of the formats that allows that, e.g. mhx, and import the character into Blender. Now try to pose the feet. As we see in the picture below, the shoe does not follow the foot but is squashed or stretched in strange ways.
!IMAGE!Pictures/rf-170-bad-deformation.png!/IMAGE!
The reason is that rigid fitting affects the bone weights as well as the vertex locations. The bone weights are interpolated between the three corners of the triangle, rather than using the information from the entire foot. To correct this we need to use two different associations between clothes and human vertices: rigid fitting for vertex locations, but flexible fitting for bone weights.
Fortunately, MakeHuman can handle this situation, although there is currently no elegant interface for it in MakeClothes. In a text editor, open the mhclo file obtained by standard fitting in the beginning of this tutotial (this is why you needed to save it), and copy everything after the line
verts 0
to the end of the new mhclo file obtained by rigid fitting. Before the copied section, insert the line
weighting_verts
Export the shoes again from MakeHuman and import into Blender. The shoes should now both maintain their rigid shape and deform correctly.
!IMAGE!Pictures/rf-190-good-deformation.png!/IMAGE!
Due to an unfortunate behavior in MakeHuman, it is possible that the updated mhclo file is not loaded after it has replaced the old one. This is because MakeHuman automatically compiles mhclo and obj files when loaded, so they can be loaded faster next time. Although this behavior is convenient for ordinary users, it is very confusing and frustrating for clothes makers. If MakeHuman insists on loading old versions of your clothes, you may need to delete the compiled files (*.mhpxy and *.npz), or restart MakeHuman, or both. After the compiled files are gone, the updated clothes should load without problems.
!IMAGE!Pictures/rf-180-compiled-files.png!/IMAGE!
== Developers' note ==
Some notes about how to obtain the source code, modify it and share it.
=== Makehuman Plugin System ===
==== Plugins ====
Makehuman has a simple plugin framework which makes it easy to add and remove features. At startup, MakeHuman now looks for .py files in the plugins folder which are not starting with an underscore (which makes it easier to disable unwanted plugins). It loads them one by one and calls the load entry point passing a reference to the application. The plugin can use this reference to add the necessary GUI widgets or code to the application.
The rules for plugins are very simple:
* A plugin is a .py file in the plugins folder with a load entry point.
* A plugin only imports core files.
The reason a plugin cannot import other plugins is that it would make it difficult to know which files belong to which plugin. We still need to define a convention for shared files beyond the core MakeHuman files. To get started look at example.py or any of the other plugins to see how you can create your own feature in MakeHuman.
==== GUI ====
The main layout is a two level tab control. The tabs at the top represent categories, like files. modelling, geometries, materials, etc. The ones at the bottom are the tasks in the current category and refine the more broad category in face, torso, gender, saving, loading, exporting etc.
So when creating your plugin, the first thought should be “In which category does it belong?”. From experience we know that it can be a though question to answer. Sometimes the only answer is adding a new category. This is what we initially did for measurement for example
Next you probably want your own task to implement your feature. While it’s possible to attach functionality to an instance of gui3d.Task, it’s often easier to derive your own class.
When you create an instance of your class, you pass the parent of your task, which can either be an existing category
or the new one which you added.
In your derived task you will then add the necessary controls to let the user interact. A good place to see how to use the different controls is the example plugin. You will see that even if you don’t add any controls, the model is already visible. This is because the model is attached to the root of the GUI tree. In the onShow event of your task you might want to reset the camera position, like we do in the save task, or hide the model, like we do in the load task. Just don’t forget to reset the state when your task gets hidden in onHide.
==== Undo-redo ====
It is important that every modification is undoable, since just one undo able modification would leave the user without the possibility to undo anything. So it’s crucial that if you write a plugin which modifies the model, you also make undo work.
The Application class has several methods to work with actions. An action is a class with two methods, do and undo. If the action itself does the modification you can use app.do to add it to the undo stack. If you did the modification yourself already during user interaction, you can add the action using app.did. The application won’t call the do method of the action in that case.
If you want to make your own undoredo buttons, you can use app.undo and app.redo. To illustrate, here is the action we use to change the hair color:
The postAction is a handy way to specify a method to keep your GUI in sync with the changes.
==== Asynchronous Calls and Animation ====
When doing lengthy operations it is important not to block the GUI from redrawing. Since everything runs in one thread, it is easy to block the event loop in your plugin. There are 4 ways to avoid this, depending on the need. If no user interaction is needed, a progressbar can be used. A progressbar uses the redrawNow() method of the application. This redraws the screen outside the event loop. Instead of creating your own progressbar, it is advised to use the progress method, which uses the global progressbar. Calling progress with a value greater than zero shows the progressbar, a value of zero hides it.
If user interaction is desired during the operation, either asynchronous calls, a timer or a thread can be used. Asynchronous calls are used when a lengthy operation can be split in several units. It is used for example in the startup procedure as well as for the plugin loading loop. The mh.callAsync(method) queues the calling of method in the event loop, so it will be called when the event gets processed. In case different methods need to be called after each other, as in the startup procedure, callAsync is used to call the next method.
In case of the plugin loading loop, it calls the same method until it is done.
This is not to be used for animations, as it takes very little time between calling callAsync and the event loop calling the method. Calling time.sleep(dt) to avoid this should not be done as it blocks the main thread. For animations use timers instead. An example of this can be found in the BvhPlayer plugin. The method mh.addTimer(interval, method) adds a timer which calls the given method every interval milliseconds. It returns a value to be used by removeTimer to stop the timer.
If a lengthy operation includes blocking on sockets or pipes, it is advised to use a python thread. However this has been shown to be problematic on Linux. To get around the problems on linux you should not access any makehuman structures from within your thread, but use mh.callAsync to call the methods from the main thread. See the clock plugin example for example code on how to use threads correctly.
==== A template for plugins ====
Looking in the makehuman source folder, in the "plugin" directory, you will notice a file called "7_example.py". This is an "Hello world" plugin. It includes all main controls and some nice example of mesh manipulation. It's designed to be used as template of new plugin.
To see how it works, you need to enable it in the Preferences->Setting. Then it will be located at Utilities-->Example.
!IMAGE!Pictures/UtilitiesExampleTab3.png!/IMAGE!
==== Example Controls ====
!IMAGE!Pictures/UtilitiesExampleControls.png!/IMAGE!
=== OpenGL Notes ===
Most of the 3D mesh handling functionality is delivered using OpenGL embedded within the C application code. OpenGL is a 3D graphics library that enables a 3D world to be defined, with a camera, objects, lights, textures etc. It then enables that 3D world to be visualised as a 2D representation that can be displayed on a computer screen and provides functions to enable an application (in response to user input) to navigate around the scene.
==== Basics ====
OpenGL takes a 3D scene and draws it into a 2D viewing area on your screen known as the viewport. OpenGL can project the scene onto the viewport in a variety of different ways, but the most common are:
* Perspective projection, as you would get if you could place a camera in the scene
* Orthographic projection, as a draftsman may contstruct technical drawings such as plans and elevations.
MakeHuman only uses Perspective projection.
==== Projection Transformation ====
You tell OpenGL how to project 3D objects onto the 2D viewport by defining a projection transformation, which indicates whether you wish to use perspective or orthographic projection (or an alternative projection pattern) and specifies other projection settings. This can be imagined as being comparable to specifying the characteristics of a camera (field of view, aspect ratio etc.) where an orthographic projection is equivalent to a camera at an infinite distance. The main difference being that with OpenGL you can change the settings between drawing different objects, which is a bit like taking a photo, changing the lens and moving the camera, then taking another photo without winding the film on.
MakeHuman sets a perspective projection using the function gluPerspective(fovAngle,aspectRatio,near,far) where:
* fovAngle: is the vertical field of view angle (45 degrees)
* aspectRatio: is the viewport width divided by the viewport height which, by default, is 800/600 (4/3)
* near: is the distance to the centre of the viewing plane (0.1)
* far: is the distance to the centre of the rear clippling plane (100)
==== Modelview Transformation ====
For OpenGL to know what to display in the viewport it also needs to know where the camera is relative to the 3D model. For this you need to define a modelview which defines the position and orientation of the camera and the position and orientation of objects that go to make up the model inside a virtual 3D world. You do this by moving through and around the 3D world and by creating objects relative to your current position. OpenGL keeps track of your current position and orientation in the 3D world by recording the modelview transformation.
Both the projection transformation and the modelview transformation are stored internally in 4x4 transformation matrices. You can modify these matrices by calling functions that apply direct transformations (translations and rotations) or by calling functions that calculate transformations (e.g. the gluPerspective function outlined above).
To apply transformations you need to first make one of these matrices the current matrix. Subsequent transformations are applied cumulatively to the current matrix. The glMatrixMode function is used to set the current matrix mode:
* glMatrixMode(GL_PROJECTION) makes the projection transformation the current matrix so that projection settings can be applied, such as the field of View angle and Aspect Ratio.
* glMatrixMode(GL_MODELVIEW) makes the modelview transformation matrix the current matrix so that subsequent translations and rotations move the current location through the 3D world.
==== Resetting a transformation matrix ====
Matrix transformations that you apply are applied cumulatively. It is therefore often necessary to reset the matrix to its default ‘no transformation’ state so that you can apply a fresh set of transformations. OpenGL uses the transformation and modelview matrices to transform coordinates by performing a matrix multiplication. If you multiply by an identity matrix then the result is the same as the thing you started with, so to reset one of these matrices to an initial state where the transformation has no effect you can simply load the identity matrix using the function glLoadIdentity(). This loads the identity matrix into whichever transformation matrix is currently active, resetting it to the default ‘no transformation’ state.
==== Coordinates ====
OpenGL world space coordinates are unitless, so 2 units can represent milimeters, inches or light years. Interpretation of world space coordinates is up to the application. OpenGL uses a right handed coordinate system, so, if you are looking at the origin with the +X axis stretching away to the right and the +Y axis pointing straight up, the +Z axis will be heading out of the screen straight towards you and the -Z axis will be dissapearing away from you into the distance.
MakeHuman uses the default OpenGL modelview camera settings which are equivalent to invoking gluLookAt(0,0,0, 0,0,-1, 0,1,0). This places the camera at the origin, looking straight into the model along the -Z axis with the +Y axis pointing straight up. This means that a 2 unit wide and 2 unit high object centred at <0,0,-1> will roughly fill the viewport, as will a 4x4 object at twice the distance from the viewpoint.
==== Drawing objects ====
MakeHuman contains multiple objects. The Humanoid object is the main object, but it is surrounded by a set of control objects. Each object is constructed using triangular faces. The position and orientation of each face is defined relative to the object of which it is a part. The positions and orientations of the vertices and normals of the faces are defined relative to the face they’re on. The sequence in which face vertices are defined is significant in OpenGL. If the face is viewed from the front, the sequence of points runs counter clockwise. If the face is viewed from the back the points run clockwise. Faces viewed from behind may be invisible or may have a different color/texture defined to the front face. This order is also called the "winding order" of vertices, and is used by MakeHuman to calculate the normal of each face. If the winding order is reversed, the normal will be flipped. The glPushMatrix and glPopMatrix functions can be used to store away a copy of a matrix that can subsequently restored. MakeHuman uses this before and after drawing each object to store a copy of the modelview matrix and restore it.
=== Directory structure and core modules ===
Overview
There are 10 main source folders with the main MakeHuman folder in the SVN repository:
* apps
* core
* data
* docs
* icons
* lib
* licences
* plugin
* shared
Of these, two folders: (licenses and docs) are associated with the general housekeeping and installation aspects of MakeHuman. Details of the housekeeping folders will be summarized, where relevant, elsewhere in the documentation. The remaining folder are discussed below.
Directory Structure and the Build System
During the pyinstaller build process, only files in the makehuman/data/ directory are included as data files, which means that any other data files will be skipped, causing file not found errors. Thus, the developer should place all data files under the data/ folder. The idea is to be able to cleanly identify what is data to be loaded at run time.and what is code that can be compiled at build time. One exception here is target (data) files that can optionally be precompiled to binary files at build time even though their binaries will reside in the data/ directory. The rational for this is that target files are static data core assets and should therefore naturally reside in makehuman/data/, but by compiling target files at build time, the size of the build distribution can be reduced and program startup times can be minimized
The files in makehuman/plugins/ form a second exception to data is "loaded at runtime" and code is "comiled at build time". Files in the makehuman/plugins/ folder are kept as a "side effect" of the fact that the makehuman/plugins/ path is included as data. It is included as data to make it possible to load plugins at runtime by inspecting the folder. Plugins are compiled as well, though. This does not mean that data may be stored in makehuman/plugins/ as this practice threatens logical organization of code and data, and it is not guaranteed that this will keep working in the future.
Plugins should never be used as imported modules in other plugins or, even worse, in a core module. Currently, the core plugins of MakeHuman all start with a digit (e.g., import 9_export_mhx). This is done intentionally to prevent their improper import into other modules in the program because imports of a module starting with a digit will produce a syntax error. Core plugins that require data, for example those related to .mhx export, should make use of a subfolder in the makehuman/data/ path (makehuman/data/mhx/).
Third-party plugins might have slightly greater lattitude about including data than core assets, but the clean separation of code and data is strongly encouraged. Therefore, third-party plugin developers should place data in makehuman/plugins/pluginName/data to make it easily identifiable.
makehuman/data/ folder
Most operating systems set aside separate storage space for code and data, and programs can generally not write data to their own directory structure. In addition, most OS support the notion of multiuser login, and support separate writable data areas for each user to customize. MakeHuman includes some "fixed data assets" that are intrinsic to the program. These data assets are save in the programs data folder within the program itself. However, MakeHuman also makes provision for third-party and user developed assets like additional clothes, additional hairstyles, etc. These latter assets are not saved in the program area but rather are save in user writable areas under the path userhome/makehuman/. For example, on Windows 7 systems this would be "Docuements/makehuman". In populating asset lists, the library holdings are generated based on the fact that syspath/data/itemtype and userhome/data/itemtype can coexist.
Themakehuman/data/ folderdoes not contain any codeper se. As its name implies this folder contains the basic data resources that ship with MakeHuman. Often, during the development and building of MakeHuman, a given resource may exist in multiple formats. Many if not most resources initially exist as “text-based” files which are stored in the data directory with an appropriate extension (see section of file extensions). When MakeHuman is built for distribution on supported platforms, these text-based data resources are compressed into .npy format to produce a smaller and more rapidly loading distribution package. Typically, the original text-based data files do not ship with standard, downloadable installation builds but instead, the corresponding compressed versions are distributed.
The data folder contains many subfolders which correspond to unique data assets. The details of these assets will not be discussed here, but the reader can get a general idea of asset types just by reviewing the folder names.
3dobjs, animations, bvhs, expressions, eyebrows, eyes, genitals, hair, icons, languages, litspheres, materials, mhx, poses, povray, proxymeshes, rigs, scenes, shaders, skins, targets, textures, themes, uvs, vertesgroups, visemes.
Many of these data subfolders have subfolders themselves, but generally, this organization is easily discovered just by looking.
Four of the data subfolders (eyes, hair, and clothes) are directed at important geometry assets of the MakeHuman model. MakeHuman supplies a special tool that lets developers or even end-users design additional assets using the 3D modeling program Blender. The name for this tool isMakeClotheseven though it supports the development of the other geometries as well.
==== /makehuman/apps/ ====
* catmull_clark_subdivision.py- an implementation of the!LINK!http://en.wikipedia.org/wiki/Catmull%E2%80%93Clark_subdivision_surface -- catmull clark subdivision algorithm.!/LINK!
* devtests.py- testing and development use only, and can safely be ignored.
* human.py- contains the Human class, which is the core data structure for MakeHuman model.
* humanmodifier.py- contains the functions and classes that link the GUI sliders to their respective effects on the MakeHuman mesh.
* metadataengine.py- implements algorithms to handle MakeHuman metadata tags within large files. It makes it possible to quickly and easily associate descriptive adjectives (tags) such as "eye" or "brown" with the complete file path to an object that has these characteristics.
* mh2proxy.py- (unknown)
* posemode.py- contains classes and functions relevant to entering and exiting posemode, and altering a figure's pose. Changing the pose of a figure will deform the mesh and require the vertex warps to be reset.
* warpmodifier.py- contains classes and functions to handle the source and target of a warp.
* which.py- checks to see whether or not a program exists (needed for the GUI controls).
==== /makehuman/core/ ====
* algos3d.py- contains algorithms used to perform high-level 3D transformations on the 3D mesh that is used to represent the human figure in the MakeHuman application.
* aljabr.py- contains the most common 3D algebraic operations used in MakeHuman including vector, matrix, quaternion, and various other operations.
* animation3d.py- contains functions and classes to animate a wide range of objects. Includes support for rotation, scaling, translation, camera movement, and variety of interpolation methods.
* compat.py- (Unknown)
* download.py- contains classes and functions to download media from the web and import it into MakeHuman.
* events3d.py- contains classes to allow an object to handle events resulting from keyboard or mouse input, window resizing, and changes to the human model with MakeHuman.
* export.py- (Not fully implemented) contains classes to export the MakeHuman model.
* files3d.py- contains functions to convert other 3D file formats to and from the internal format used by MakeHuman.
* geometry3d.py- contains classes for commonly used 2D and 3d objects such as rectangles, cubes, and flat meshes.
* gui3d.py- contains classes defined to implement widgets that provide utility functions to the graphical user interface.
* mhmain.py- contains the operations and event handlers that provide the core functionality of MakeHuman.
* module3d.py- contains classes and functions to handle the appearance and behavior of 3D objects such as shading, texturing, visibility, transparency, and creating groups of faces.
* selection3d.py- contains classes and functions that allow users to select elements within a 3D scene by clicking on them with the mouse using a technique called "!LINK!http://www.opengl.org/archives/resources/faq/technical/selection.htm -- Selection Using Unique Color ID's!/LINK!"
* textures3d.py- contains functions to perform standard proccesses on bitmaps and translate UV coordinates to a pixel index in a bitmap.
* transformations.py- A library for calculating 4x4 matrices for translating, rotating, reflecting, scaling, shearing, projecting, orthogonalizing, and superimposing arrays of 3D homogeneous coordinates as well as for converting between rotation matrices, Euler angles, and quaternions. Also includes an Arcball control object and functions to decompose transformation matrices.
* warp.py- contains classes and functions to warp vertex locations from a source character to a target character. This makes it possible to correctly combine several morphs that affect overlapping regions of the body.
==== /makehuman/lib/ ====
* camera.py -handles camera events such as changing focus, camera mode, and field of view.
* core.py -sets default global variables
* debugdump.py -handles creating a debug text file in the user's home directory and writing relevant debug information to that file.
* filechooser.py- a Qt based filechooser widget that allows the user to preview and select files as well as sort them by name, creation date, modification date, and size.
* getpath.py- Utility module for finding the user's home path.
* glmodule.py- contains classes and functions to render 3D objects with openGL in both draw mode and pick mode.
* gui.py -alias from gui.py to qtgui.py
* image.py- handles flipping and resizing images as well as converting between RGB, ARGB, and greyscale.
* imageqt.py- handles loading and saving RGB and ARGB images.
* inifile.py- contains functions for formatting and parsing .ini files.
* language.py- handles language file loading and translation.
* log.py- extends the functionality of Python's logging module. The logging module can be used to create log files of events for debugging, or to display information or warnings within MakeHuman. It is used instead of print statements.
* matrix.py- uses the NumPy package to define standard matrix operations.
* mh.py- Python compatibility layer that replaces the old C functions of MakeHuman.
* object3d.py- defines the object3d class
* profiler.py- defines functions to handle profiling (how long various parts of the program executed).
=== File formats and extensions ===
This section briefly reviews the file accessed or manipulated within MakeHuman. An attempt will be made to explain the function of each file format and where in MakeHuman’s modules it is used. Or external formats links will be provided to more detailed descriptions. Where it can help the developer better understand the overall organization of MakeHuman source code, some information on the module group or modules interaction with the various formats will be provided. This section Is intended to be used with the previous section on directories (folders) to develop an overview of MakeHuman code structure. This structural understanding is essential during the debugging process and is essential to expanding the programs functionality in structurally sound ways.
==== .obj files ====
This extension designates Lightwave object files. These OBJ files store mesh information and metadata needed for rendering in text-readable format. It was originally developed for the Lightwave 3D graphics program, but this file format is now broadly supported by many, if not most, 3D programs. Internally, MakeHuman uses OBJ files (or formats directly based on OBJ files) for the canonical storage of its assets. Many of MakeHuman’s development utilities store newly generated assets in formats related to the Lightwave OBJ specification. Examples of assets canonically stored in Lightwave OBJ format include the base human, and auxiliary geometry assets like eyes, hair, and clothes.
Each OBJ file has a record specifying the object’s name and records specifying one or more mesh objects. Mesh objects, in turn, are composed of record groups specifying: points or vertices (v), vertex normal (vn), faces (f), and vertex textures (vt). In MakeHuman and most general purpose 3D programs (e.g., Blender) OBJ files are exported with an accompanying Wavefront material file having the .mtl extension. These MTL files provide the detailed material attributes necessary to get photorealistic rendering of Wavefront objects. A more complete specification of Wavefront object format can be found at:!LINK!http://www.martinreddy.net/gfx/3d/OBJ.spec -- http://www.martinreddy.net/gfx/3d/OBJ.spec!/LINK!
OBJ files and MTL files have a direct internal analog in MakeHuman in the form of the object class, Object3D. This class, along with its properties and methods, is defined in the object3D.py module(libs folder). Object3D objects are central to the internal workings of MakeHuman. The resemblance of Object3D objects to OBJ files is not coincidental. Many of the core mesh assets in MakeHuman are developed in the open-source project, Blender, and moved to MakeHuman internals using OBJ format. In fact, MakeHuman maintains a separate product [MHTools] designed to support development of new core internal assets
==== .mhpxy files ====
This extension designates compressed binary proxies and clothes.
==== .mtl files ====
This extension designates a Wavefront material file. Wavefront MTL files are referenced from within Wavefront OBJ files to specify the materials used in rendering. More complete information on Wavefront material files is available here:!LINK!http://paulbourke.net/dataformats/mtl/ -- http://paulbourke.net/dataformats/mtl/!/LINK!
MakeHuman’s use of MTL file has been limited, but with the increased support for POV rendering, more modules may access and utilize MTL files. Currently, MTL-related data and files is developmental. Thedata foldercontains a cube.obj (3dobj) and a plane.obj (mitsuba folder) ostensibly associated with materials.
==== .npz files ====
This extension designates compressed binary asset files in MakeHuman [think npz = numPy zip files]. Among the most important assets stored with this extension is target vertex information. These target data determine the motion of each MakeHuman vertices (relative to landmark vertices?) as sliders are moved.
Thefiles3D.pymodule (core folder) tests for verifies existence of OS dependent locations of binary mesh files. The primary purpose of thefiles3D.pymodule is to transpose imported 3D data into a standard internal format for each of the 3D file formats supported by the MakeHuman import. Each importer function is written to return the 3d data in a standard format as a Python list:
[verts, vertsSharedFaces, vertsUV, faceGroups, faceGroupsNames]
Thetargets.pymodule (lib folder) is where system assets stored with the NPZ extension are identified, decompressed, and turned into memory resident structured objects for use by MakeHuman. This
Code related to NPZ files can also be found inalgos3d.pymodule (core folder). This module has been part of MakeHuman for a long time, and is used for morphing related operations. It works with loaded binary translation vectors and applies those translations to morphing targets. It may have some legacy capability to work directly with text-based .target files.
Thecompile_models.pymodule (lib folder) takes all object mesh files (.obj) and compiles them into binary compressed files (NPZ). Similarly, thecompile_targets.pymodule (lib folder) compiles target files (.target) into binary compressed (NPZ) files. The latter module is referenced by Benjamin Lau inMakeHuman.specfile, likely for build purposes.
Important concept. The root folder of MakeHuman contains a batch file calledcleanpz.bat(for Windows) and a corresponding shell script file calledcleanpz.sh(for Linux) whose function is to delete NPZ files between SVN builds. This “garbage collection” assures that each build is not working with out-of-date assets. It also reminds the developer that most of the canonical assets are initially constructed in text readable format. Developers write appropriate constructors to recompile NPZ files during the MakeHuman startup sequence when missing. For distribution versions of MakeHuman, pre-compiled assets in the form of NPZ files are distributed as stable assets. When start up code confirms their existence , no recompile is done, producing a better start-up experience for the user. This design greatly increases boot and runtime performance for stable distributions without hampering rapid testing of SVN versions in interpretative mode.
==== .thumb files ====
This extension designates thumbnail (image preview) files in MakeHuman. Underneath, they are actually images constructed in the .png file format. Thus, they can be edited by standard image editors like GIMP or displayed by most web browsers. The MakeHuman Save Tab code automatically generates a companion .thumb file each time it saves a .mhm file. The .thumb generation is currently done by capturing a rectangular in the center of the viewport window. The MakeHuman Load Tab code uses .thumb images to provide previews of saved models.
The format for .thumb is defined inimage_qt.pymodule (GUI folder). Load and Save use or generation occur inguiload.pyandguisave.pymodules, respectively (lib folder). Numerous plugin modules reference .thumb files (plugins folder) including:2_posing_expression.py,3_libraries_clothes_chooser.py,3_libraries_eye_chooser.py,3_libraries_material_chooser.py,3_libraries_polygon_hair_chooser.py,3_libraries_posing_chooser.py,3_libraries_proxy_chooser.py, 4_rendering_scene.py,7_material_editor.py,
==== .lmk files ====
This MH internal extension designates landmark files. [might be renamed .mhlmk for naming standard reasons.] There is one set of landmarks for the model body (and a second set of landmarks for the model head (data | landmarks folder). These LMK files are written in text readable format. Each line has a single integer which specifies a landmark vertex in the model geometry. Landmark vertices are used for relative (local) spatial reference during model morphing.
Landmark files are used bywarpmodifier.py(apps folder) andwarp.py(utils | tools | warptarget folder).The landmarks in these files are used as references during the complex process of reshaping the human.
==== .mhclo files ====
This MH internal extension designates MakeHuman clothes files. These files define clothing vertexes and remove vertexes from the model to allow fitting of the model without skin showing through. They are created using the MakeHuman Blender toolset, specifically the MakeClothes tool.
A special empty MakeHuman clothes meta-file namedclear.mhclois is used to restore the default UV map that comes with the system. In the lib folder, thefilechooser.pymodule has aMhcloFileLoader.Refresh()method to clear materials when the refresh button is clicked.
In the plugins folder,3_libraries_clothes_chooser.py,3_libraries_eye_chooser.py,and 3_libraries_polygon_hair_chooser.pyall access MHCLO files, but as of this writing, there are some file handling issues related to proxy clothes that means some of this code is commented out. In the shared/export_utils folder, config.py accesses acage.mhclofile. In the tools folder, the tool ‘MakeClothes’ accessws MHCLO files in both the makeclothes.pyandmaterial.pymodules. Similarly, the tool ‘MakeTarget‘ accesses MHCLO files in several of its modules:_init_.py, convert.py,import_obj.py,mt.py, andsettings.py. Finally, two experimental tools in the utils folder, themakeface.pyandhelpers.pymodules access MCHO files.
==== .mhmat files ====
This extension designates MakeHuman material files. Material files are text-readable files that share their syntax structure with Lightwave OBJ and MTL files.
In the app module group,human.pyapplies a default material andmh2proxy.pyhandles materials for proxies and may do some special material handling for MHX Blender export files. In the data folder, the MHCLO files for clothes, eyes, and hair each references an MHMAT files. In the plugins folder,7_material_editor.pyloads, edits, and saves MHMAT files. In the shared folder,material.pyparses MHMAT files and sets material properties. In the tools folder, there is another (independent)material.pymodule for the MakeClothes tool that writes materials to the output file while using that tool within Blender.
=== Description of the file format ===
The entries inside a .mhmat file are of the form:
Comments can be included in c-style line comment format, like
or in python-style line comment format, like
The properties of a makehuman material are numerous so that they can cover the most common needs of exporters and rendering engines, and may vary among the following.
name- The internal name of the material.
Colors- Their value can be in R G B format, like:colorProperty R G B,where R, G, B are floating point numbers between 0 and 1. They control the color of various material properties and effects. To adjust the intensity of an effect, you can simply edit its color value.
ambientColor -The ambient component of the material, which is usually added on the final color regardless of the surrounding lights.
diffuseColor -The diffuse component of the material, which reacts to each light's relative position.
specularColor -The color of the specular shine that is caused by the reflection of a light source on the material.
emissiveColor- The color of the light that the material seems to emit like if it's a glowing light source.
shininess- The sharpness of the shine spots created by the reflection of a light source on the material, which is how glossy its surface is.
==== .mhuv files ====
This MH internal extension designates UV map files in MakeHuman. These text-readable files based on Lightwave OBJ syntax. They contain one or two lines of metadata and alternative UV data for the texture object to be applied to the model.
There does not currently appear to be a development tool for creating UV map files. They can be created by creating and saving an OBJ file and then renaming it. However, files created in this manner should not be considered fit for the SVN or website because they contain way too much redundant information. The OBJ files created in this manner not only contain the alternate UV set but also contain all vertices of the original mesh.
==== .mhp files ====
This MH internal extension designates pose files. These files are used to store coordinates for the run and walk poses on the pose tab. The dance1 pose appears to be implemented as a pose file, but it also includes some additional .target files. The dance1 pose is also associated wih a .bvh file whereas run and walk are not. In A8 development there have been issues with the dance1 file behaving less well than run and walk. Hopefully, these will be long gone during subsequent development.
==== .mht files ====
==== This MH internal extension designates a theme (GUI color scheme) for the GUI as rendered by the pyQt library. ====
==== .target files ====
This MH internal extension [which lacks the mh… prefix] specifies final extreme positions that can be achieved when moving the interface sliders in one direction or the other. By definition sliders have a value of zero on the left end and 1.0 on the right end, but there is a software flag to reverse this behavior as desired. With scripting it may be possible to exceed slider extremes, but this is currently undocumented and should not be built into production code. There is one TARGET file for each extreme of each movement. These files are hand-built by MakeHuman artist-developers, and they are the engine of the programs utility. Typically, rightward movement of a slider should increase size, and leftward movement of a slider should decrease size. When ‘left’ and ‘right’ are used as asset names, they should refer to the left and right body part on the model, regardless of the model’s orientation in the viewport. When slider movement involves asymmetrical change in the x, y, and z direction, it should be programmed so that the sliders operate naturally using the default viewport view for that slider. For example, left movement of the slider need not cause deformation toward the model’s left side. Such behavior would only be sensible if the default viewport view had the model facing the rear of the viewport (model’s back toward user).
Most MakeHuman modules use data from the TARGET files.
· In the apps group, these modules includes: devtests.py, human.py, humanmodifier.py, posemode.py, and warpmodifier.py.
· In the core group, these modules includes: algos3D.py which is the main program that works with .target files after they are compiled into
· In the apps group, these modules includes:
· In the apps group, these modules includes:
=== .proxy files ===
This MH internal extension designates proxy meshes. They are structured text files. Format and attributes include ... TODO
.qrc file
This is a resource file need used when compiling for the MakeHuman GUI which uses the pyQt library.
=== .qss file ===
This is the text-based file fomat used to store widgets associated with the GUI interface as rendered by the pyQt library
Appreciate help from current developers as what needs to go here. Undoubtedly some confusion or mistakes on my part, but some of it might help orient others. -RWB
Glad to do the grunt work, but feedback on needed improvemrnt greatly appreciated :-)
---------------------------
Also in this section could possibly also loading, saving, exporting formats (but these formats should probably be addressed in context below)
The basic work done within MakeHuman is saved as a file with an .mhm extension. The .mhm files can be loaded at the start of a new user session, and return MakeHuman to the state that it was in at the end of the previous session.
=== Libraries and build procedures ===
With each MakeHuman release, packages are created for MS Windows, Mac OS X, and Debian derivatives for linux. At present there is not an operating system independent package (although the raw repository will work on all platforms). Each platform has special considerations that are addressed by the designated mainainter for that platform.
=== Dependencies ===
In order to run makehuman and/or build packages the following need to be installed on the system:
* Python (Python 2.7 (python 3.x will not work).!LINK!http://www.python.org/download/ -- http://www.python.org/download/!/LINK!)
* Python-numpy (!LINK!http://sourceforge.net/projects/numpy/files/NumPy/ -- http://sourceforge.net/projects/numpy/files/NumPy/!/LINK!)
* Python-opengl (!LINK!http://pyopengl.sourceforge.net/ -- http://pyopengl.sourceforge.net/!/LINK!)
* Python-qt4 (!LINK!http://www.riverbankcomputing.com/software/pyqt -- http://www.riverbankcomputing.com/software/pyqt!/LINK!)
* Python-qt4-gl (Package required by some linux distributions only)
For linux there are scripts (buildscripts/deb/install_deb_dependencies.bash and buildscripts/rpm/install_rpm_dependencies.bash) which will install all the necessary dependencies but please note that these scripts may not agree with all debian and rpm based distros so it may be worth reading the bash script contents prior to running them.
=== Assets ===
For obvious reasons, the binary assets (characters, textures, clothes, etc..) are not stored on Mercurial repository, but in two different places:
* * Immutable single archive files of the assets of finished versions of MH are stored (disregarding patch version token) on bitbucket (!LINK!https://bitbucket.org/MakeHuman/makehuman/downloads -- https://bitbucket.org/MakeHuman/makehuman/downloads!/LINK!)
* Assets still under development are store on Tuxfamily ftp:!LINK!http://download.tuxfamily.org/makehuman/assets/ -- http://download.tuxfamily.org/makehuman/assets/!/LINK!
When a new version is released, the current ftp asset tree gets zipped and uploaded to bitbucket. In the tuxfamily asset store, the folder for that version's contents are replaced with an archive_url.txt file that points the download script to the right url.
A new folder gets created on the tuxfamily host containing the assets to be included in the next release. For a released version, assets will usually not change, unless to fix bugs (in which case the previous archive is best kept, and a new one is created alongside it with a slightly different name), and the archive_url.txt file is updated.
To download automatically the assets and place them in the correct folder on a local repository, it's sufficient to run the python script with the command:
=== Other scripts ===
In the makehuman root, there are a few scripts which need to be run:
* cleannpz.sh (cleannpz.bat)
* cleanpyc.sh (cleanpyc.bat)
* compile_targets.py
* compile_models.py
* compile_proxies.py
Note that all these are called automatically in the correct order by the "build_prepare.py" script in "buildscripts" when running one of the pre-existing package building routines below. However, when running makehuman from a source checkout, you will need to run these scripts in the above order.
=== General proceedings for making a package ===
On all platforms the following steps should be taken when making the package:
* Update from HG repository (!LINK!https://bitbucket.org/MakeHuman/makehuman -- https://bitbucket.org/MakeHuman/makehuman!/LINK!)
* Run the scripts in the makehuman root directory. These will for example compile target files to npz files
* Copy all that's relevant to a work directory, excluding at least *.target, the utils directory and the tools directory (strictly speaking there are more that is not necessary, but it will have a minor influence)
* Do platform-dependent stuff to the work directory
* Zip the directory into a suitable installable format for the platform.
==== Linux ====
=== Debian ===
In order for makehuman to work on Debian the following dependencies are needed.
* python
* python-qt4
* python-numpy
* python-opengl
* python-qt4-gl
These can be installed by running the command below:
On Debian/derivatives (Ubuntu kubuntu etc.) the whole package building is automated through the buildDeb.py script found in the "deb" folder.
For Deb script see:!LINK!https://bitbucket.org/MakeHuman/makehuman/src/tip/buildscripts/deb/?at=default -- https://bitbucket.org/MakeHuman/makehuman/src/tip/buildscripts/deb/?at=d...!/LINK!
To build a deb file, create an empty directory (for example /tmp/deb) and run:
When the script has finished, the deb file will be available in /tmp/deb/output.There are some settings in the head of the buildDeb.py script for tweaking the output.
=== Fedora 19 64-biit RPM Packaging ===
These instruction have been written for and tested on Fedora 19 64-bit. You will never be able to run the MakeHuman HG version on distros such as RHEL/CentOS 6.4 or earlier, since they do not support python 2.7, not even if you enable RPMForge. The instructions may or may not work on other RPM-based distros.
* * Install a Mercurial client (Hg) and clone the!LINK!https://bitbucket.org/MakeHuman/makehuman -- Makehuman BitBucket Repository!/LINK!.
* Install required dependencies.
As root, run the bash script for installing the required dependencies.
buildscripts/rpm/install_rpm_dependencies.bash
This script also installs optional but recommended dependencies. If you only want the really required dependencies, run
* Run MakeHuman. Change working directory to the root of the makehuman tree:
Then run:
You will most likely want to do this as your normal desktop user, not as root.
==== Windows ====
* * Install an Mercurial client!LINK!http://tortoisehg.bitbucket.org/download/ -- (Tortoise HG client!/LINK!is a good choice on Windows) and clone the!LINK!https://bitbucket.org/MakeHuman/makehuman -- MakeHuman repository!/LINK!(see!LINK!http://www.makehuman.org/doc/node/development_infrastructure.html -- http://www.makehuman.org/doc/node/development_infrastructure.html!/LINK!)
* Install required dependencies
If you are using a 64bit Windows version (only applies to 64-bit computers), you can choose to use either 32-bit python or 64-bit python. Howver it is important that your library dependencies (NumPy, PyOpenGL, and pyQT4) are 32-bit if you use 32-bit Python and 64-bit if you use 64-bit Python.
* Run MakeHuman.
Start a command console (cmd.exe), change directory to the makehuman folder. Then run:
==== Mac OSX ====
To build MakeHuman for Mac OS X, you should:
* * Download the MakeHuman OSX Builder from: !LINK!https://bitbucket.org/MakeHuman/makehuman-osx-builder -- https://bitbucket.org/MakeHuman/makehuman-osx-builder!/LINK!
* Follow the included instructions (Instructions.rtf)
=== Development infrastructure ===
The development of MakeHuman is based on two fundamental tools:
* Mercurial (HG), a stable and robust platform for distributed revision control, with the main repo hosted on!LINK!https://bitbucket.org/MakeHuman/makehuman -- Bitbucket!/LINK!
* A collaborative software!LINK!http://bugtracker.makehuman.org -- development platform!/LINK!, based on!LINK!http://www.redmine.org/ -- Redmine!/LINK!.
==== Get the code from BitBucket. ====
Obtain the code from BitBucket repository is very simple, but you need to have Mercurial installed on your system.
It's natively present on Linux systems, while for Microsoft Windows, a good software is TortoiseHG (!LINK!http://tortoisehg.bitbucket.org/ -- http://tortoisehg.bitbucket.org/!/LINK!).
To clone the repository to your PC, just use this command:
hg clone!LINK!https://bitbucket.org/MakeHuman/makehuman -- https://bitbucket.org/MakeHuman/makehuman!/LINK!
With tortoiseHG, you can do it visually, with:
right-click --> TortoiseHG --> clone
==== Using Redmine in MakeHuman development ====
Redmine is a very powerful tool.
[To expand with technical information about the roadmap organizations, the subprojects, and how to use it to accept experimental features]
=== Development organization ===
!IMAGE!Pictures/mh-hg-infographic01.png!/IMAGE!
The Unstable branch is where the development happens. This is our working branch, and so we can refer to it as default branch too.
The Stable branch is used for official release only.
It's just for mainteinance of the current official version. It's rarely used, except in the case of very noticeable bugs that will cause a service release. Any bugfix in the Stable must be merged in Unstable.
When the Unstable is ready for the release, it's merged in the Stable and a tag (a sort of bookmark) is created on this exact revision.
!IMAGE!Pictures/mh-hg-infographic02.png!/IMAGE!
Working on experimental clone for new features in early development is a great comfort for the developer.
He doesn't have to keep his code on the local drive since he can commit it immediately.
It doesn't matter if the code does not work yet or breaks the app, it is the private playground of the developer.
!IMAGE!Pictures/mh-hg-infographic03.png!/IMAGE!
To start up a new feature yet unproven or that is unsure how to implement it exactly, or for a big refactor that might make a lot of problems until solved, we will create experimental repos, cloning the main one. One repo for (large) feature.
!IMAGE!Pictures/mh-hg-infographic04.png!/IMAGE!
Once the developer has something to show, he can communicate with other team members so they can:
* clone the experimental repo to a new folder on their local disk
* test it
* give feedback
* perhaps even commit fixes
Once a feature is proven to work well enough and accepted by the rest of the team, it can be merged in official unstable branch, where it can be integrated in nighly build version and further finalized (it can now be tested by a broader audience and we will receive bugs reports from them)
!IMAGE!Pictures/mh-hg-infographic05.png!/IMAGE!
It is also possible that an external programmer, without commit rights on the official repo, make changes on his own personal clone (that he can make public on his own account if he desires).
This is a good way to test new team members, where we can accept changes after verifying them. When we trust a new developer, we can give him direct access to official repo.
=== Getting started ===
The best way to start your experiments with MakeHuman code is to clone our official repository and start to modify it.
In order to procced easily. it is recommended you use the tools available at!LINK!https://bitbucket.org -- https://bitbucket.org!/LINK!.
The general procedure is:
* Go to!LINK!https://bitbucket.org -- https://bitbucket.org!/LINK!and sign up (if you don't already have an account)
* Go to !LINK!https://bitbucket.org/MakeHuman/makehuman -- https://bitbucket.org/MakeHuman/makehuman!/LINK!
* Click "fork" (it's hidden under "..." in the button menu)
!IMAGE!Pictures/fork.jpg!/IMAGE!
* Enter a name and description of your choice (the fork will end up on your account, so it doesn't matter what you call it). Use "fork at tip" and don't check "this is a private repository"
* You should be redirected to the new repository on bitbucket
* clone your new repository to your local harddrive (if you need a primer on how to clone or use bitbucket,!LINK!https://confluence.atlassian.com/display/BITBUCKET/Bitbucket+201+Bitbucket+with+Git+and+Mercurial -- see their tutorial!/LINK!)
* Make your code changes locally. Do not make a feature branch, work directly on the default branch.
* Commit and push the changes to your repository on bitbucket
* Go to your repository on bitbucket and click "pull request" (in the button menu at the top right of the page)
* Write a good description for what your changes concern and click "create pull request"
Once you have done this, the makehuman team will get a notification that there is an incoming code changes. This will be reviewed and either merged or rejected.
If you want to continue working with updates in the future, make sure your fork is up to date with changes in the makehuman repository. Go to your repository, click the "..." button in the button menu and choose "compare", click the compare button on the page you get to. Merge any incoming changes.
If your tree is hopelessly out of sync with the makehuman tree, just delete it and make a new fork. Better that than accidentally getting junk in your pull requests.
Before starting with any of the above, you might want to read up on how to run makehuman from a source checkout rather than from a binary download. The short story is that you need to install a few dependencies. More information can be found here:!LINK!http://www.makehuman.org/doc/node/libraries_and_build_procedures.html -- http://www.makehuman.org/doc/node/libraries_and_build_procedures.html!/LINK!
=== Application design and Code overview ===
==== Structural Organization of MakeHuman ====
MakeHuman is organized hierarchically. There is a root application (type gui3d.Application) that handles rendering of objects (guicommon.Object). These objects can be added/removed to/from the root application. Objects added to root application are always visible in the canvas.[I'm wondering if this is really true? - There are object on hidden tabs and the skeleton or mesh can be visible or not. Am I confusing the distinction between 'canvass' and 'view'? - RWB] Every added object has an openGL counterpart.
mhmain.MHApplication inherits from root application to constructmain application. A view is a visual context. A tab is a view, for example, the main application is a view.[The main application IS a view or the main application HAS a view? "the "main application frame/window is a view?"- RWB]
The Root application[you do meanrootand notmain? - RWB]contains Categories. A Category (gui3d.Category) is a specialised view object which contains multple taskiew objects (gui3d.TaskView). Taskview objects are specialised view objects with a panes and tab. In context of MakeHuman interface, Category objects constitute the upper row of tabs while taskview objects constitute the lower row of tabs.
Objects (guicommon.Object) can be added/removed to/from a taskview. Objects added to a taskview are only visible if the taskview is visible. For example, a skeleton added to the skeleton chooser is only visible when the skeleton chooser taskview is visible. Objects added to root application[root not main? - RWB]are always visible. Thus objects like human and all proxies such as clothes are added to theapplication,because they should always be visible. Visiblilty can be disabled by setting the visibility flag on objects but an object that is not added to a currently visible taskview, or the application, is not visible, even if its visibility flag is set positive. [Wording needs improving -- 'should always be visible' and a 'visibility flag' are mixed message - RWB]
An object can only be added to one context. So an object is either added to one taskview, or the application, not two different taskviews.
Apart from root application, there is another application (type qtui.Application) which implements MH gui structures using Qtlibraries. mhmain.MHApplication inherits from this application too for handling of gui content.e
General structure in MH can be represented as: !IMAGE!Pictures/mh-inheritance.png!/IMAGE!
====
Basics of event handling in Makehuman: ====
Makehuman is a GUI based, interactive, Qt application in which objects interact by sending messages to each other. The Qt class QEvent encapsulates notion of low level events like mouse events, key press events, action events, etc. A Qt application is event loop-based, which is basically a program structure which allows events to be prioritized, queued and dispatched to application objects.
In a Qt based application, there are different sources of events. Some events like key events and mouse events come from window system, while some others originate from within application. When an event occurs, Qt creates an event object to represent it by constructing an instance of the appropriate QEvent subclass, and delivers it to a particular instance of QObject (or one of its subclasses) by calling its event() function. This function does not handle the event itself, but rather, it calls an event handlerbased on the type of event delivered, and sends an acknowlegement based on whether the event was accepted or ignored.
QCoreApplication::exec()method enters the main event loop and waits until exit() is called. It is necessary to call this function to start event handling. In MH, it is done in lib.qtui.Applicationwhich inherits fromQApplicationwhich in turn inherits fromQCoreApplication:
def start(self):
self.OnInit()
self.callAsync(self.started)
self.messages.start()
self.exec_()
In MH, event handling falls in two broad categories.
* Event handling forcontainers(application, categories, taskviews)
* Event handling forwidgets(contained in containers)
==== Event handling for containers: ====
MH is organized hierarchically in the context of containers. At top is the main application (core.mhmain.MHMainApplication). It contains categories (core.gui.Category), which in turn contains taskviews (core.gui.TaskView).
In a Qt-based application, there are five different ways of events processing, as listed below:
* * Reimplementing an event handler function like paintEvent(), mousePressEvent() and so on. This is the most common, easiest, but least powerful approach.
* ReimplementingQCoreApplication::notify( QObject * receiver, QEvent * event ). This is very powerful, providing complete control; but only one subclass can be active at a time. Qt's event loop and sendEvent() calls use this approach to dispatch events.
* Installing an event filter onQCoreApplication::instance(). Such an event filter is able to process all events for all widgets. It's just as powerful as reimplementing notify(); furthermore, it's possible to have more than one application-global event filter. Global event filters even see mouse events for disabled widgets. Note that application event filters are only called for objects that live in the main thread.[I believe that MH is single threaded - implications? RWB]
* ReimplementingQObject::event()(as QWidget does). If you do this you get Tab key presses[<--Explain what is special about TAB and shift-TAB presses ?- RWB], and you get to see the events before any widget-specific event filters.
* Installing an event filter on the object itself. Such an event filter gets all the events, including Tab and Shift+Tab key press events[<--Explain what is special about TAB and shift-TAB presses ?- RWB], as long as they do not change the focus widget.
In MakeHuman, approaches 2 and 4 are used for extensively for event handling. As part of strategy 2,inlib.qtui.Application (which extendsQApplication), notify has been reimplemented:[I don''t understand the implication of this? Expond? -RWB]
def notify(self, object, event):
self.logger_event.debug('notify(%s, %s(%s))', object, event, event.type())
return super(Application, self).notify(object, event)
object is the receiver object. Class implementing notify has to be singleton. [Clarify? - RWB]
In MakeHuman,MHApplicationsubclasseslib.qtui.Application.MHApplicationobject is the main application object. It's notify function receives notification from the event loop in the underlying Qt layer about each[container only or widgets too?]event, which is then relayed to receiver object's event method. Thereceiver object's event method is either inherited from QObject or reimplemented. The Receiver object then either sends TRUE or FALSE, as the case may be, to[WHERE??] - RWB
lib.qtui.Applicationalso implements an event function, which is called if the receiver object isMHApplication objectitself. Then,lib.qtui.Application.event()checks if its a user-defined event or not,and it is so true is returned, else we call super class's event(). In case of true being returned,Qt dispatches event to receiver object's callEvent function which determines which function to be called on object to handle the event. Called function then handles the event or propagate it to its parent(or to current task if its application object), as may seem fit.
==== Event handling for widgets ====
Most of MH widgets are wrappers around Qt widgets. These widgets (defined in module lib.qtgui) inherit from the respective Qt widgets and the Widget class (lib.qtgui.Widget). MH makes use ofsignal and slot mechanismby making the connection between the signal originating from the Qt layer and the corresponding handler function. For example, class TabBase connects the signal 'currentChanged' to its function 'tabChanged' as follows:
class TabsBase(Widget):
def __init__(self):
super(TabsBase, self).__init__()
self.tabBar().setExpanding(False)
self.connect(self, QtCore.SIGNAL('currentChanged(int)'), self.tabChanged)
......................
Any class inheriting from TabsBase(e.g., lib.qtgui.Tabs or lib.qtgui.TabBar) also gets this facility. So now whenever signal 'currentChanged' is emitted from Qt layer function 'tabChanged' is called. The result is that when a user clicks the mouse on a tab, the 'tabChanged' code will be called,
Similarly, MH Slider widget connects various slider operations to its event handling functions as:
...........................
self.connect(self.slider, QtCore.SIGNAL('sliderMoved(int)'), self._changing)
self.connect(self.slider, QtCore.SIGNAL('valueChanged(int)'), self._changed)
self.connect(self.slider, QtCore.SIGNAL('sliderReleased()'), self._released)
self.connect(self.slider, QtCore.SIGNAL('sliderPressed()'), self._pressed)
...........................
[-- EDITING/PROOFING ENDS HERE - RWB --]
==== Overriding vs event decorators: ====
The View, Category and Application classes inherit from events3d.EventHandler, hence they have callEvent() function. The events that apply to this category are usually application-wide. If user make a change that impacts the whole application, and whole application must know about this change, then best way to do so is to call callEvent() for all the taskviews of the application,as follows:
for category in self.categories.itervalues():
for task in category.tasks:
task.callEvent('onMyEvent', params)
A good example is the event of makehuman's scene changing(core.qtui.MHApplication._sceneChanged). So when callEvent is called on a taskview object and it has onMyEvent implemented,it is being called. In core.gui3d.View too one can see that most of the events (onShow, onMouseDown,...) on the taskview are propagated by default to their parents - the categories. The categories also are views, so the events are propagated again to their parent, the application. If, again, the application or any category has an onMyEvent method, it is executed.
There are some events that affect the application, but only a single task at a time,for example onMouseDown event. It only happens to the active taskview
(the others are hidden, so they receive no mouse events). Once the mouse is pressed, an Application.currentTask.callEvent("onMouseDown", event)is issued. This causes the onMouseDown event to be received by the active Taskview, its parent Category, and finally the Application. This call executes any onMouseDown method in these objects.
Apart from the Category events described above, there are events used for local purposes. Such events are handled withevent decorators. Suppose we have a new Taskview, FooTaskView. This Taskview has a 'mybar' member variable, which is of type Bar(events3d.eventHandler). The requirement is that when self.mybar executes code, we may want to communicate with its parent to inform it about an event that just happened. So, inside the code for Bar, is located a 'self.callEvent('onBaz', 42)' command. Thus, in the Bar class, we emit a timely event signal and use the event decorator to let the parent Taskview know about the event. In the FooTaskView class, but below the place where self.mybar is created, we add:
@self.mybar.mhEvent
def onBaz(event):
# code on event.
# guess what, event == 42.
When now the self.mybar Bar reaches that callEvent, the above method, located in FooTaskView, will be executed.
core.mhmain.MHApplication's human is perfect example of this approach.Human has onMouseDown event handler and we need to relay it to application.
In loadMainGui function of MHApplication, we add decorator to human attribute as:
def loadMainGui(self):
..............
@self.selectedHuman.mhEvent
def onMouseDown(event):
if self.tool:
self.selectedGroup = self.getSelectedFaceGroup()
self.tool.callEvent("onMouseDown", event)
else:
self.currentTask.callEvent("onMouseDown", event)
.............
Application.human.onMouseDown event is caught and it starts its trip from the Human; it is captured by the decorated method located in Application.loadMainGui (this is the place where the method is bound with the event), it is sent to the currentTask, propagated through the parent category, and finally reaches its destination, the Application.
A more intense process happens on Human.onChanged. This is emitted when a save/load happpens, so the whole application has to know. So it starts from the human, captured by the decorated method in app, sent to ALL the taskviews in MH, and finally through the categories again to the app.
==== The MakeHuman Graphical User Interface (GUI): ====
The MakeHuman GUI is based on the pyQt library which, in turn, is built on the Qt library. Qt is a development framework for the creation of applications and user interfaces for desktop.
Important GUI classes in MakeHuman are:
lib.qtui.Canvas:This is the class in MakeHuman which takes care of rendering openGL graphics.It inherits from Qt's QGLWidget class which is a widget for rendering OpenGL graphics. QGLWidget provides functionality for displaying OpenGL graphics integrated into a Qt application. It is very simple to use. You inherit from it and use the subclass like any other QWidget, except that you have the choice between using QPainter and standard OpenGL rendering commands.
The Canvas class reimplements three functions from parent class to perform openGL tasks:
* paintGL() - Renders the OpenGL scene. It gets called whenever the widget needs to be updated.
* resizeGL() - Sets up the OpenGL viewport, projection, etc. Gets called whenever the widget has been resized (and also when it is shown for the first time because all newly created widgets get a resize event automatically).
* initializeGL() - Sets up the OpenGL rendering context, defines display lists, etc. Gets called once before the first timeresizeGL() orpaintGL() is called.
lib.qtui.Application: This is the foundation class which manages GUI's control flow and main settings. It inherits fromQtGui.QApplicationandevents3d.EventHandler. QApplicationcontains the main event loop, where all events from the window system and other sources are processed and dispatched. It also handles the application's initialization and finalization.Application class holds gui main window(instance of lib.qtui.Frame). Application class receives event notifications from underlying Qt user intrface framework and dispatches them to appropriateuser intrface elements in MakeHuman.
GUI architecture inMakeHumanMH can be depicted as follows:
!IMAGE!Pictures/mh-uiarchitecture.png!/IMAGE!
=== Application Design Notes from IRC Chat with Thanassis ===
Thanasis comments on gaining the big picture of MH coding
* [16:12:57] <Thanasis> I would avoid describing the different parts of code as different entities
* [16:13:43] <Thanasis> ie. follow the object-oriented paradigm, and avoid thinking who is inherited by who etc.
* [16:13:48] <Thanasis> more specifically
* [16:15:03] <Thanasis> I mean, treat an object as a single object
* [16:15:08] <Thanasis> I'll show an example
* [16:15:45] <Thanasis> you have the application. Inheritance says it consists of three classes, QApplication, MHApplication, and mhmain.Application (names may differ a bit).
* [16:15:58] <Thanasis> but it is only one object
* [16:16:42] <Thanasis> We don't care if the QApplication activates a function in MH application, because it happens inside the same object
* [16:16:50] <Thanasis> the application
* [16:17:18] <Thanasis> we only pay attention to the interactions the application object has with other objects
* [16:17:43] <Doctor_Hell_> but if you need to find a function, you need to follow the inheritage chain...no?
* [16:18:24] <Thanasis> of course, in the code, yes. but in a diagram it will make it complex
* [16:21:02] <Thanasis> well, let's go top-down
* [16:21:29] <Thanasis> we have: QT, App, Tab, Task
* [16:21:56] <Thanasis> The event starts from QT, and activates a handler in App
* [16:22:22] <Thanasis> The App sends a new event to the current Task
* [16:22:46] <Thanasis> The task handles it, and sends a copy to the parent Tab
* [16:23:13] <Thanasis> And finally the Tab handles it and sends a copy to the App
* [16:23:35] <Thanasis> which handles it, and stops
* [Referring to how distrating it is to describe the big picture of MH, Thanasis comments ...]
* "Distract? no, this does not consume any brain energy"
* We love your help- the more the bettter -- Thanks [RWB]
Comments Regarding MacroTarget slider processing/handling based on naming conventions:
* [16:36:24] <Doctor_Hell_> [23:26] <Doctor_Hell_> another complex part to know is the engine coded by Jonas to automatically handel the targets using their name
* [16:37:58] <Thanasis> uh. yes, that's a tough one too. I think it does, but I don't remember why and how, because it was a long time ago and Jonas changed the human modifier class since then
* [16:38:18] <Thanasis> he simplified it, actually, but I haven't seen the new version yet
* [16:38:34] <Doctor_Hell_> where is the code?
* [16:38:49] <Thanasis> apps/humanmodifier.py, I think
* [16:39:01] <Doctor_Hell_> Jonas should be very busy recently, since I asked him but he didn't reply me yet.
* [16:42:37] <Thanasis> um by the way, reading humanmodifier alone won't help a lot. I would suggest starting from the macro plugin, to trace what happens when a slider is created, and when the user moves a slider. It might be easier this way
Difficulties in understanding relationships between folder names / module names and the object structure
* [16:39:36] <Doctor_Hell_> ANother thing to understand is why we have some code inapps, other incore, other in libs..the logic is not clear for me..
* [16:39:52] <Thanasis> ah, ignore logic in that part. :)
* [16:40:20] <Thanasis> as far as I know it is all because of mh history so far
* [16:40:29] <Thanasis> the way it developed.
* [16:40:56] <Doctor_Hell_> I know some of it
* [16:41:24] <Doctor_Hell_> in the early times,it was planned to have a core folder, with all important main files
* [16:42:03] <Doctor_Hell_> then anapps folder, to contain many application based on the core files: makeHuman, makeANime, MakeToon, etc..
* [16:42:29] <Doctor_Hell_> butsharedandlibswere added later...I don't know why
* [16:43:10] <Thanasis>libs, they are classes imported from c++ directly
* [16:43:48] <Doctor_Hell_> ah ..so only the "shared" folder is the mystery
* [16:44:04] <Thanasis> shared, they are later classes used by many different parts of the code at the same time
* [16:44:15] <Thanasis> classes created later*
* [16:44:28] <Thanasis> ie. material. It's used literally everywhere
* [16:44:32] <Thanasis> progress too
* [16:44:58] <Doctor_Hell_> ok..at least now it make sense, thank you
* Comments on New API project
* [16:45:39] <Doctor_Hell_> now that you have more time, will you look at the API?
* [16:46:55] <Thanasis> 'time' != 'creativity'. I expect it will be easier to me after the start of the semester
* [16:46:27] <Doctor_Hell_> if you are logged to MH site, you can see this:!LINK!http://www.makehuman.org/blog/the_makehuman_api_project_mhapi.html -- http://www.makehuman.org/blog/the_makehuman_api_project_mhapi.html!/LINK!
* [16:47:02] <Doctor_Hell_> Also Joel has already created this:!LINK!https://bitbucket.org/joepal1976/makehuman-api-project/overview -- https://bitbucket.org/joepal1976/makehuman-api-project/overview!/LINK!
* [16:48:52] <Doctor_Hell_> at the moment, you can just post a list of wished api in the issue 534
* [16:49:16] <Doctor_Hell_> we want to start the API in few weeks..they are fundamental, in order to have more contributors...
* [16:51:05] <Thanasis> oh, boy. I want to clean up this code!LINK!https://bitbucket.org/joepal1976/makehuman-api-project/commits/aa5c12953fb2c8a1723b21bb0b7d90667653d615 -- https://bitbucket.org/joepal1976/makehuman-api-project/commits/aa5c12953...!/LINK!* Go for it? [RWB] :)
The Doc_Hell Diagram (green and red arrows that even Glynn couln't understand)
[Summary - concentrate on green arrows not red arrows to get the big picture]
* <Doctor_Hell_> this is an example of bad diagram:!LINK!https://www.dropbox.com/s/v3waacufp9pyx1u/mouse_event.png?dl=0 -- https://www.dropbox.com/s/v3waacufp9pyx1u/mouse_event.png?dl=0!/LINK!
* [16:52:48] <Thanasis> well, in your shape, the actual thing is about the green arrows
* [16:53:19] <Thanasis> the red arrows could have been implemented in hundreds of different ways
* [16:53:44] <Thanasis> but the important is their result, the green arrows
* [16:53:53] <Doctor_Hell_> talking about how to draw the objects?
* [16:54:26] <Thanasis> well, my idea was, do two shapes
* [16:54:36] <Thanasis> the first without code
* [16:55:10] <Thanasis> only showing the 5 steps like I explained above, ie, the green arrows
* [16:55:28] <Thanasis> the second can explain each step in detail using the red arrows
* [16:55:50] <Thanasis> but in any case the definition is the following
* [16:56:04] <Thanasis> an event is, you send the name of a method to someone
* [16:56:14] <Doctor_Hell_> ok...but also we have the description written by Manish. I'll show you it tomorrow
* [16:56:21] <Thanasis> and that someone executes that method of theirs
* [16:56:47] <Thanasis> sure, there are many ways to describe it
* [16:57:00] <Doctor_Hell_> I hope we can find the best one
* [16:57:07] <Thanasis> I think that they all match though in some certain key points
* [16:57:52] <Thanasis> if these are filtered out, the explanation may be more simple
And touching on API ideas ...
* [16:59:09] <Doctor_Hell_> since the core is too complex for average python programmers
* [16:59:36] <Thanasis> yes... perhaps the code could be organized in tiers.
* [17:00:00] <Thanasis> core, classes, plugins, scripts
* [17:00:27] <Doctor_Hell_> ah you are talking of the current code, not the simplified api
* [17:00:54] <Doctor_Hell_> yes, it's a good idea..but what group under "core" ?
* [17:01:25] <Thanasis> theapplication and its interfaces(ie.communication with the system and devices. QT, GL etc.)
* [17:01:59] <Thanasis> classes are abstract, they use the application by calling its methods
* [17:02:35] <Thanasis> the application uses the interfaces (QT, GL.these are actually harder than the application andcould be a sepparate tier)
* [17:02:54] <Thanasis> thepluginsuse the classes to create objects
* [17:03:26] <Doctor_Hell_> I see some possible confusion because:
* [17:04:24] <Doctor_Hell_> - not all core modules are into core folder (for example qtui and qtgui are in libs)
* [17:04:49] <Doctor_Hell_> - Classes are everywhere
* [17:05:07] <Thanasis> yes, libs folder consists of both core and classes... indeed
* [17:05:23] <Thanasis> andinterfacestoo
* [17:06:51] <Thanasis> but in general, this separation exists somehow. I'm not sure how, but the past programmers instinctively created it, perhaps for better manageability
* [17:08:14] <Thanasis> ie. Human is a class, Material too, Armature (probably making name wrong again), and to function I observe that they use callbacks of Application
* [17:08:38] <Thanasis> They never use interfaces directly
* [17:09:46] <Thanasis> Even for drawing the human, it is the Application that will give the Human's object3d to OpenGL, not the Human directly
* [17:10:31] <Thanasis> and plugins use classes ie. they use the callbacks that Human, Material etc. have
* [17:11:08] <Doctor_Hell_> Do you mean abstraction classes?
* [17:13:27] <Doctor_Hell_> Thanasis: about new API:!LINK!http://bugtracker.makehuman.org/issues/534 -- http://bugtracker.makehuman.org/issues/534!/LINK!
* [17:13:42] <Doctor_Hell_> and!LINK!http://bugtracker.makehuman.org/projects/makehuman/wiki/Abstraction_API_for_plugins -- http://bugtracker.makehuman.org/projects/makehuman/wiki/Abstraction_API_...!/LINK!
* [17:13:57] <Doctor_Hell_> Feel free to add wished api calls
=== Q & A with Glynn Clements ===
Question: For an event when user clicks on a tab, Tabs class method tabChanged is called.
QTabWidget documentation.There is no such method.
Response:
The tabChanged method is defined for qtgui.TabsBase (and overridden for qtgui.Tabs).
Both qtgui.Tabs and qtgui.TabBar inherit from qtgui.TabsBase.
Tabs inherits from both TabsBase and QTabWidget while TabBar inherits from both TabsBase and QTabBar.
Both QTabWidget and QTabBar define the currentChanged signal, which is emitted whenever the current tab changes.
The TabsBase initialiser connects this signal to the tabChanged method (lib/qtgui.py:109):
class TabsBase(Widget):
def __init__(self):
...
self.connect(self, QtCore.SIGNAL('currentChanged int)'), self.tabChanged)
==========================================================
Question: is it true that qtui module: low level module, that handles signals directly from QtCore, QtGui and QtOpenGL?
Response:
qtui defines the classes for the application (QApplication subclass), main window QMainWindow subclass), drawing canvas (QGLWidget subclass), and some associated support classes. In other words, it implements the high-level UI, or at least the aspects which are tied to Qt.
Question: is it true that qtgui module: low level module, that define the basic widgets of the GUI as buttons, radiobuttons, etc..
Response:
Yes; qtgui is essentially a compatibility layer between the Qt widget classes and the legacy MH GUI toolkit. The classes provide methods which more closely mimic the behaviour of original gui3d widgets. Qt events are translated to MH events3d events.
Question: Is it true that gui3d module: high level module, that define the principal public classes of MakeHuman: Application, Category, TaskView and View.
Response:
This is what's left of the legacy MH GUI toolkit. Before the move to Qt, everything was a "View". Now it's just the high-level containers (Application, Category, Task) which exist as somewhere to put event handlers.
Question: What is the purpose of the module guicommon.py? Looking at the module name, it appears to be a sort of library for the GUI functions, but it's a completely different thing. What is it really?
Response:
Object used to be part of gui3d. Its primary function is to be the base class for Human. It's the other main subclass of events3d.EventHandler (the first being gui3d.View).
It's not really accurate to call it a "wrapper" around Object3D (although it can have instances of both module3d.Object3D and object3d.Object3D as members).
One of the main differences between guicommon.Object and module3d.Object3D is that the latter is a single mesh, while the former has up to four meshes (all of type module3d.Object3D): the base (or "seed") mesh, a proxy mesh, a subdivided mesh, and a subdivided proxy mesh.
It [guicommon.py or guicommon.Object ??RWB] also contains an object transformation (location, rotattion, scale) [method?], and optionally a display mesh (object3d.Object3D). As a subclass of EventHandler, it [guicommon.Object ??RWB] provides mouse handlers which propagate the event to the object's view (these are overridden for the Human within MHApplication.loadMainGui).
Question: G.app is the singular mhmain.MHApplication instance; the callEvent method (inherited from event3d.EventHandler) will end up calling G.app.onMouseDownCallback. How the function callEvent end up calling G.app.onMouseDownCallback?
Response:
"direction" will be either onMouseDownCallback or onMouseUpCallback. Note the "Callback" suffix.
So typical event flow for clicking on the human model is:
G.app.mainwin.canvas.mouseUpDownEvent ("onMouseDownCallback")
[Canvas.mouseUpDownEvent]
G.app.callEvent("onMouseDownCallback") [EventHandler.callEvent]
G.app.onMouseDownCallback() [gui3d.Application.onMouseDownCallback]
G.app.selectedHuman.callEvent('onMouseDown', event) [EventHandler.callEvent]
G.app.selectedHuman.onMouseDown()
[local function in MHApplication.loadMainGui]
G.app.currentTask.callEvent("onMouseDown", event) [EventHandler.callEvent]
G.app.currentTask.onMouseDown() [View.onMouseDown]
G.app.currentCategory.callEvent("onMouseDown", event) [EventHandler.callEvent]
G.app.currentCategory.onMouseDown()
[View.onMouseDown]
G.app.callEvent("onMouseDown", event) [EventHandler.callEvent]
G.app.onMouseDown() [MHApplication.onMouseDown]
Notes:
G.app.currentTask.parent == G.app.currentCategory
G.app.currentCategory.parent == G.app
Question: is the eventType string (also called 'direction') originated by QT?
Response:
No. "direction" is just so that code which is common to both mouse press and mouse release events can go into a single method (mouseUpDownEvent) rather than duplicating it in mousePressEvent() and mouseReleaseEvent(). Those functions are identical except for the name of the event passed to callEvent.
Bear in mind that self.callEvent("onMouseDown", event) is almost the same as self.onMouseDown(event), except that callEvent forces a redraw after the event has been dealt with, and has some support for logging and profiling. Once you strip that away, the guts of callEvent() is just:
method = getattr(self, eventType)
method(event)
======================================================================
Question: Can the modularization of the code can be improved?
Response:
Modularisation is already quite good. Too much of it can make the code harder to understand.
Currently, we try to avoid importing OpenGL or Qt modules (directly or indirectly) into modules which don't inherently depend upon them (e.g. guicommon.Object imports object3d locally in the attachMesh and detachMesh methods, so it only gets imported if you actually need to render the object).
TODO ACTION. One minor point which I noticed: lib/camera.py imports glmodule solely for the queryDepth() call in convertToWorld2D (the Z coordinate is obtained by retrieving a value from the depth buffer using the X,Y coordinates). This should probably be a local import in that method, so that camera.py could be used in e.g. import/export utilities.
==========================================================================
Question: [Referring to DocHell's red and green diagram (!LINK!https://www.dropbox.com/s/v3waacufp9pyx1u/mouse_event.png?dl=0] -- https://www.dropbox.com/s/v3waacufp9pyx1u/mouse_event.png?dl=0]!/LINK!]
Response:
I have no idea; I can't follow that [diagram]. It would probably help if you simply ignore CallEvent(), and treat object.callEvent('method',event) as just object.method(event).
The two factors which make following the flow slightly complicated are:
Methods aren't always defined within the class used to create an object, but may be inherited from one of its base classes.
Event handlers may be dynamically added to an object with the mhEvent method (which is usually invoked using Python's decorator syntax). This is done for the Human object in MHApplication.loadMainGui():
@self.selectedHuman.mhEvent
def onMouseDown(event):
....
If you aren't familiar with the decorator syntax, the above is equivalent to:
def onMouseDown(event):
...
self.selectedHuman.mhEvent(onMouseDown)
which in turn boils down to:
def onMouseDown(event):
...
self.selectedHuman.onMouseDown = onMouseDown
=================================================================================
Question: Could you provide an explanation of what a weak reference is? How might this impact MakeHuman?
Response:
[Jonas Hauquier ] A weak reference, one that is not accounted for by the garbage collection. Garbage collection removes objects from memory that have no pointers to them anymore. Weakrefs are not counted among those, so if the object has only weakrefs pointing to it, and not real pointers, it will be removed anyway. This is to make sure that object A and B that always point to each other, are not kept in memory just because they keep referencing each other (I believe the garbage collection does not do expensive graph traversals to check what is still referenced by the active context).
[Glynn Clements] Sort of. Python uses both reference-counting (which can't handle circular references) and reachability-based garbage collection (which can). If an object's reference count reaches zero, it will be finalised immediately. But an object with a non-zero reference count can still be finalised if it can be determined that it isn't reachable during a garbage-collection sweep.
However: the garbage collector won't attempt to finalise reference cycles if any of the objects in the cycle have a __del__ method, as it can't determine a safe order in which to execute them. Instead, it adds them to a list, accessible as gc.garbage. Application code can inspect this list, manually finalise the objects (which should break the cycles), then remove them from the list (otherwise their presence in gc.garbage will itself constitute a reference).
It's possible to have the garbage collector report such cases using gc.set_debug(gc.DEBUG_UNCOLLECTABLE).
Only a few MH classes contain __del__ methods. These will only present a problem if the object itself is part of a cycle (i.e. contains references to "complex" objects which themselves contain references which could lead back to the original object).
"Leaf-node" classes such as Texture and Shader shouldn't present a problem unless their creators attach additonal references to them. This may be an issue for e.g. qtgui.Slider and qtgui.RadioButton, as these have __del__ methods and will naturally create circular references. Use of weakref may be advised here. Similarly for queue.Thread. SceneItem in plugins/7_scene_editor.py may also be a problem.
=============================================================================
Question: Could you clarify wherther the following acurately describe the use of decorators?
A basic decorator is a function that:
1) Gets a function "A" as argument
2) Modifies the behavior of "A"
3) Returns a "decorated" version of "A"
Response: Correct.
Question: Topic: Decorators and side-effects. When is a decorator not about generating a function? So, if the above accurately descibes a decorator, consider the code:
@self.selectedHuman.mhEvent
def onMouseDown(event):
This should translate:
onMouseDown = self.selectedHuman.mhEvent(onMouseDown)
One would expect that using mhEvent as decorator, it returns a function, but instead, it returns None:
def mhEvent(self, eventMethod):
self.attachEvent(eventMethod.__name__, eventMethod)
How can it be used as decorator?
Response:
Because the returned "function" isn't actually used anywhere. The definition is local to loadMainGui(), which doesn't reference the functions, so the fact that e.g. onMouseDown is None within loadMainGui() doesn't matter. The mhEvent() method is used for its side-effects, not its return value. It attaches an event to the selectedHuman. It is equivalent to:
self.selectedHuman.attachEvent(onMouseDown.__name__, onMouseDown)
==============================================================================
== Packager's notes ==
Notes for packagers of Makehuman stables and nightlies.
=== Packaging RPM's for Suse/Fedora using Open Build Service (OBS) ===
The Open Build Service is a service formerly known as the Opensuse build service. OBS allows packagers to build packages for several targets. Here a target is a particular OS version E.g. Suse 13.1, Suse 12.3, Fedora 20 , Ubuntu 14.04 and so on. OBS being a build system by itself can be hosted anywhere even on local infrastructure. For MakeHuman packages we use the OBS instance hosted by Novell at build.opensuse.org
This document will briefly outline the typical packaging workflow for Suse and Fedora. Both distributions use the RPM format and subsequently adhere to RPM's packaging rules.
!IMAGE!Pictures/obs-flow-chart-scaled.png!/IMAGE!
=== 1) Prepare source tarball: ===
OBS does not allow pulling from the internet once the rpm is being processed into a package so. When creating the source tarball you should assemble it either on your own computer or a server online (even a VPS will do).
There are several Important files and scripts which are of interest to us. One is build_prepare.py this assembles the main folder and all the common data which is needed by all OSes be it Mac or LInux distros or windows. This script is essential to run. Then there is build_rpm.py. We borrow some of the initial code in this and use it on our bash script but we do not build the whole RPM because OBS does that. Another third inportant file is build.conf (this stores the configuration used by build_prepare.py to make the source tarball). Using the above scripts/files I prepared a Bash script which is shown below.
The above script assumes the following:
* You have cloned MakeHuman's Mercurial (Hg) repo into your home directory and it is located at ~/makehuman (cloning into ~/ automatically makes the makehuman folder)
* You have python , numpy and pyQt4 installed (package names may vary from distribution to distribution)
* You are running on a LInux distribution.
* You want to prepare a source tarball from Hg tags.
* $VERS is the latest user specified stable tagged version
* makehuman-$VERS is your destination folder where all files are copied
* the final tarball uses bzip compression. How the tarball is compressed is significant as RPM accepts only certain compression algorithms. The resultant file is makehuman-$VERS.tar.bz2 (E.g. makehuman-1.0.2.tar.bz2)
* You use an FTP server whose file path is located at /var/ftp you can skip this step if the script is run locally by commenting the lines out.
Explanation of the above script:
In the first section we use Hg and extract available tags and ask the user for input on which stable tag he/she wants to build against.
In the second section we automatically create the build.conf file which is used to specify if we want a release or development folder. Here we set isRelease=True
In the third section we use build.conf along with build_prepare.py this creates a basic non-OS specific folder in home (~/).
In the fourth section we copy extra files such as the .desktop file and the makehuman icon file, the shell wrapper for MakeHuman and remove the .bat file which is not needed in linux. Currently there is a bug where command line arguments are not passed by the shell wrapper to the python executable. We fix this by manually editing the file automatically in our bash script before copying it into the target folder to be tarballed. This is moved into the folder created earlier by build_prepare.py . With this we now have have a folder with all the basic requirements needed for packaging.
FInally the folder is then tarballed and it is ready for upload to OBS. If you are not using an FTP server then comment out the “mv” command which moves the tarball to /var/ftp in the shell script above. IN some distributions the FTP directory is /srv/ftp
=== 2) Upload the tarball to OBS ===
The next step is to upload the tarball to OBS. Firstly you need to create a username and password. Then login to build.opensuse.org and create a project. On account creation you get your own home directory.
Two interfaces exist to OBS. One is the command-line interface which is available by installing the package "osc" it is available in most distributions. The other one is the Web User interface. Both are equally useful the command line interface is better for doing certain tasks however.
OBS also has a feature called “ services”. Several services are available such as services to pull from various sources e.g. FTP servers online, services to tarball the version controlled sources directly (tar_scm). You can make use of these _services (they are defined using XML notation in "_service" files). Read!LINK!”http://en.opensuse.org/openSUSE:Build_Service_Concept_SourceService” -- Source Services!/LINK!; or you can manually upload your tarball through the Web UI or use the "osc" command line utility. To learn how to use the "osc" utility use "man osc" or view the manpage online.
I would not recommend using _service files to pull the tarball as they can stop working. It is better to manually push the tarball to OBS. Either by pressing the upload button on the Web UI or placing the tarball in your project home directory created by using the “osc checkout” command. Then typing “osc ar” (add /remove) and finally “ osc commit -m ”put commit description here” “ to push and commit the changes you just made.
You can also automate the above process by adding lines to the shell script but It is better to administer osc separately and manually to allow for more control.
=== 3) Prepare the spec file: ===
A .spec file is a special file which is used to build RPM's. It “contains information required by RPM to build the package, as well as instructions telling RPM to build it. The spec file also dictates exactly what files are a part of the package, and where they should be installed. The RPM specification is very well defined and it is fundamental than any packager develop a strong base in the fundamentals.” (taken from “Maximum RPM”)
A very important book detailing the various capabilities of RPM is!LINK!”http://www.rpm.org/max-rpm/” -- Maximum RPM!/LINK!. This is a must read for any packager and will help in understanding the spec file shown below. If you have not read it please bookmark the page and give the book a read. I cannot stress how important it is.
In OBS we have 2 main OS's which use RPM's as build targets Fedora and Suse. RPM provides macros to make packaging more standardised and easy. Most Macros are common however some are distribution specific. Below is the spec file used by the Makehuman project. For version 1.0.2.
The above .spec file follows the general structure and format of spec files as per the RPM specification. The spec file has been formatted for for OBS by running “osc service localrun format_spec_file” then reading the contents to ensure that nothing went wrong and committing the changes back to OBS. In the above spec file we have split MakeHuman into 2 subpackages and made them depend upon each other to ensure consistency. As you can see there are 2 sources one is the tarball we created with our bash script earlier and there is another file called "makehuman.1" this is a manpage. In the spec file instructions are issued to gzip it and put into the manual directory on install. The manpage (Source101 in the .spec file) is shown below.
How man pages are created is out of scope of this document. Man pages use gtroff. There are however ample resources online which can help with this.
The .spec file has been commented to provide you with a better understanding of what is done at various stages.
Once the .spec file has been updated on OBS it automatically triggers a rebuild duribg that time you can monitor the status of the build process and correct errors in your spec file or sources as they arise.
=== 4)Pushing changes to the official repositories ===
Once you are satisfied that your package is stable you can make a submit request to submit the package from the Web User Interface or run the command below.
In the above command we submit the “makehuman” package to the OpenSuse “graphics” project. After this the package is reviewed by the maintainer of the graphics project and approved or rejected with comments given. You will receive an email after the project has been reviewed.
Notes:
* The .spec file and the manual page will change over time. The above is there for illustration purposes only.
* You can find copies of the most recent stable .spec file and makehuman.1 manpage!LINK!:https://build.opensuse.org/package/show/graphics/makehuman: -- here!/LINK!. This is the stable version after a "submit request" to the official Suse repositories.
b34d1436ac9f65296e2add662b7ed8f2ce35a9cb
Documentation:Short and Long Pipeline
3000
9
195
194
2015-07-25T13:09:32Z
Robbaer
12
/* Long Pipeline */
wikitext
text/x-wiki
Makehuman was created to provide everyone with specialized software that strives to be the state of the art in a very specific field: the virtual human. The goal is to see it used in two different pipelines or workflows.
===Short Pipeline===
The short pipeline is intended for quick character prototyping and for 2D art. The user defines the character, adds clothes, hair, a pose and expressions, by selecting them from our libraries, and running the render to obtain an image of the character (future goal: indistinguishable from a real photo of him).This output can be used as a character preview, fineart, blueprints, storyboards, comics, illustrations, etc.. No special skill is required from the user.
===Long Pipeline===
The long pipeline is intended to create a 3D character in rest pose for export to external software (Blender, Maya, Max, C4D, etc..) in order to be tweaked, animated and rendered. Another common usage of the rest-posed character is for games. The long pipeline requires the user to have professional skills and a good working knowledge of the external tools chosen to produce the desired final product. Some additional help with navigating various long pipeline workflows is available [http://www.makehumancommunity.org/wiki/MakeHuman_Workflows].
ea53947aa50d51cd432367667a2968c759013c7d
194
193
2015-07-25T13:07:55Z
Robbaer
12
/* Long Pipeline */
wikitext
text/x-wiki
Makehuman was created to provide everyone with specialized software that strives to be the state of the art in a very specific field: the virtual human. The goal is to see it used in two different pipelines or workflows.
===Short Pipeline===
The short pipeline is intended for quick character prototyping and for 2D art. The user defines the character, adds clothes, hair, a pose and expressions, by selecting them from our libraries, and running the render to obtain an image of the character (future goal: indistinguishable from a real photo of him).This output can be used as a character preview, fineart, blueprints, storyboards, comics, illustrations, etc.. No special skill is required from the user.
===Long Pipeline===
The long pipeline is intended to create a 3D character in rest pose for export to external software (Blender, Maya, Max, C4D, etc..) in order to be tweaked, animated and rendered. Another common usage of the rest-posed character is for games. The long pipeline requires the user to have professional skills and a good working knowledge of the external tools chosen to produce the desired final product. Some additional help with various long pipeline workflows is available [http://www.makehumancommunity.org/wiki/MakeHuman_Workflows].
083b4429f9b3a3e7a746b905c963be4a33319303
193
44
2015-07-25T13:05:55Z
Robbaer
12
/* Long Pipeline */
wikitext
text/x-wiki
Makehuman was created to provide everyone with specialized software that strives to be the state of the art in a very specific field: the virtual human. The goal is to see it used in two different pipelines or workflows.
===Short Pipeline===
The short pipeline is intended for quick character prototyping and for 2D art. The user defines the character, adds clothes, hair, a pose and expressions, by selecting them from our libraries, and running the render to obtain an image of the character (future goal: indistinguishable from a real photo of him).This output can be used as a character preview, fineart, blueprints, storyboards, comics, illustrations, etc.. No special skill is required from the user.
===Long Pipeline===
The long pipeline is intended to create a 3D character in rest pose for export to external software (Blender, Maya, Max, C4D, etc..) in order to be tweaked, animated and rendered. Another common usage of the rest-posed character is for games. The long pipeline requires the user to have professional skills and a good working knowledge of the external tools chosen to produce the desired final product. Some additional help with various [long pipeline workflows http://www.makehumancommunity.org/wiki/MakeHuman_Workflows] is available.
1e80aef4b3f7ff9b8cd82b742e4579135b929775
44
43
2015-07-01T10:46:03Z
Aiena1
3
make titles
wikitext
text/x-wiki
Makehuman was created to provide everyone with specialized software that strives to be the state of the art in a very specific field: the virtual human. The goal is to see it used in two different pipelines or workflows.
===Short Pipeline===
The short pipeline is intended for quick character prototyping and for 2D art. The user defines the character, adds clothes, hair, a pose and expressions, by selecting them from our libraries, and running the render to obtain an image of the character (future goal: indistinguishable from a real photo of him).This output can be used as a character preview, fineart, blueprints, storyboards, comics, illustrations, etc.. No special skill is required from the user.
===Long Pipeline===
The long pipeline is intended to create a 3D character in rest pose for export to external software (Blender, Maya, Max, C4D, etc..) in order to be tweaked, animated and rendered. Another common usage of the rest-posed character is for games. The long pipeline requires the user to have professional skills and a good working knowledge of the external tools chosen to produce the desired final product.
f1feaae49140ce770bf1de405ccb4a5242a74ac0
43
2015-07-01T10:45:05Z
Aiena1
3
Cre
wikitext
text/x-wiki
Makehuman was created to provide everyone with specialized software that strives to be the state of the art in a very specific field: the virtual human. The goal is to see it used in two different pipelines or workflows.
Short Pipeline
The short pipeline is intended for quick character prototyping and for 2D art. The user defines the character, adds clothes, hair, a pose and expressions, by selecting them from our libraries, and running the render to obtain an image of the character (future goal: indistinguishable from a real photo of him).This output can be used as a character preview, fineart, blueprints, storyboards, comics, illustrations, etc.. No special skill is required from the user.
Long Pipeline
The long pipeline is intended to create a 3D character in rest pose for export to external software (Blender, Maya, Max, C4D, etc..) in order to be tweaked, animated and rendered. Another common usage of the rest-posed character is for games. The long pipeline requires the user to have professional skills and a good working knowledge of the external tools chosen to produce the desired final product.
3d07c01e1643bf26e26d821f3997b72d967d2bff
Documentation:Skin and other materials
3000
234
1111
694
2016-07-05T17:22:35Z
Aranuvir
17
wikitext
text/x-wiki
==== Changing Skin Texture ====
By default the human has a texturless skin.
Assigning a new skin material is very easy. Go in Materials Tab. You will now see a radio button option for "Skin" under the Human category choices section on the left side of the window. The right side will display available skin materials that can be applied to replace the default skin. By clicking on one of them your character will be displayed with the chosen material.
[[File:materials_0.png]]
==== Changing Hair Textures ====
Same process as the skin, but selecting the "hair" radio button instead. The materials available depend by the type of hair loaded.
[[File:hair2_0_0.png]]
==== Changing Clothes Textures ====
Changing clothes texture is exactly as the hair one, selecting the cloth type instead of hair.
[[File:clothes2_0_0.png]]
0d7dc394d7e9505f598911607cb727e31df0297e
694
2016-05-20T09:05:03Z
Joepal
14
Created page with "==== Changing Skin Texture ==== By default the human has a texturless skin. Assigning a new skin material is very easy. Go in Materials Tab. You will now see a radio butt..."
wikitext
text/x-wiki
==== Changing Skin Texture ====
By default the human has a texturless skin.
Assigning a new skin material is very easy. Go in Materials Tab. You will now see a radio button option for "Skin" under the Human category choices section on the left side of the window. The right side will display available skin materials that can be applied to replace the default skin. By clicking on one of them your character will be displayed with the chosen material.
!IMAGE!Pictures/materials_0.png!/IMAGE!
==== Changing Hair Textures ====
Same process as the skin, but selecting the "hair" radio button instead. The materials available depend by the type of hair loaded.
!IMAGE!Pictures/hair2_0_0.png!/IMAGE!
==== Changing Clothes Textures ====
Changing clothes texture is exactly as the hair one, selecting the cloth type instead of hair.
!IMAGE!Pictures/clothes2_0_0.png!/IMAGE!
fe478bfeeadd26d71f0ca158875fa4d2d4cbb9ee
Documentation:Targets
3000
238
1114
729
2016-07-05T17:28:11Z
Aranuvir
17
wikitext
text/x-wiki
=== MakeTarget ===
This section describes the blender version of MakeTarget. There is also a standalone version of MakeTarget, see further down on the page.
For the information below to make sense and be useful, you will need to first install BlenderTools.
== Introductory videos ==
If you find this page, this is a youtube video which might be useful:
{{#ev:youtube|X13k7H3dNHo}}
A longer and somewhat more gentle intro is provided by VScorpianC. If you're new to the subject, it will probably make sense to watch this:
{{#ev:youtube|CqH_Ec5NKNE}}
== What is a Target? The MakeHuman Morphing Process. ==
[[File:Morph1.png|left]] The principle is simple. A target is a modifcation to a base mesh shape that does not alter the mesh itself but that stores information that permits the base mesh to be transformed into the target shape using ‘morphing’. Targets are what allow the slider controls in MakeHuman™ to take a single base mesh for a character and morph the shape of that character based on a variety of different feature target files. The many target files used by MakeHuman™ can alter a single human base form into characters with features as different as those distinguishing male from female to as subtle as varying the shape of a single earlobe.
A target contains the offsets by which vertices of the human base model (base.obj) deviate from the original to achieve a specific feature. eg. a long nose could be a target. These targets can be combined and MakeHuman™ uses them by blending targets together and gradually applying them to the base mesh to create a nearly endless variety of human forms. Below are examples of target blending obtained by choosing a target that defined the character as male and combining that target with the extreme settings for other targets that determned the muscle tone or weight of the character.
MakeHuman™ handles morphing with a special file format, ".target".
<br style="clear:both" />
== Loading the Base Mesh ==
[[File:maketarget131-area.png|left]] While it is possible to create targets using Blender without using the MakeTarget™ tool for Blender; that tool has many useful features that simplify the target creation process and will be explained by the help that follows. Once the MakeTarget™ add-on has been enabled (see the previous "Get and Install MH Addons for Blender" section), a panel labelled MakeTarget™ version 1.xx appears in theBlender User Interface, to the right of the viewport. The visibility of the Blender User Interface can be toggled on and off with the N-key.
<br style="clear:both" />
== MakeTarget 1.31 ==
[[File:maketarget131.png|left]] Prior to loading any targets, the initial the MakeTarget™ panel consists of three main buttons. The first two buttons load the base human mesh, respectively with and without the special fitting tools. The third button labeled "Set As Base" sets an existing mesh (that must be MakeHuman™compliant and derived from the A8_v74.obj file distributed with the MakeTarget™ release within the maketarget/data/ folder) as a human base mesh. This third option is for users that have done editing of the base mesh in another 3D modelling program and that have saved or exported the model as a Wavefront .obj file.
Loading the "Human + Fit Tools" will import the base human +mesh helpers(image below, B). The "helpers" are special geometries, used in MakeHuman™ as a reference to correctly fit clothes, hair and accessories. These helpers can be annoying during the modelling of the character, so usually our artists first work on the pure body, loading the human only with the first button (image below, A), and then, in a successive step, they fit the helpers.
<br style="clear:both" />
[[File:helper_details.png|left]]
[[File:maketarget-base.png|right]]
<br style="clear:both" />
== Basic usage ==
=== The MakeTarget™ Version 1.09 Panel (After Loading The Target Mesh) ===
[[File:MakeTarget_load.png|left]]
After the mesh is loaded into the scene, the MakeTarget™panel layout will change, showing three new buttons that handle setting up the morphing targets. The first button creates a new empty target which will just be the original base mesh loaded in the previous step.
The second button loads the morphing from an existing target file. Do not attempt to load target files from the previous MakeHuman™versions, as these files are not compatible with the current base.
The third button creates a new target from an existing base mesh that is MakeHuman™compliant (derived from the A8_v74.obj file provided with the MakeTarget™release distribution), for example, a character modelled with an external tool (Maya, Max, C4D, etc..) and then saved or exported so that it can be imported into Blender as a wavefront obj file. To correctly use the third button, it is necessary to first select the imported base, then the MakeHuman™ base, and then press the Load Target From Mesh button. When the steps have been done correctly and that button is pressed the imported base will disappear and its transformations will be transferred onto the MakeHuman™ base.
<br style="clear:both" />
=== Editing The Target And The "Save Target As" Button ===
After a new empty target is initialized or an existing one is loaded/imported, the MakeTarget™ panel layout will change again, offering a rich set of new options (image below). For the basic use of the MakeTarget™ tool you may ignore all of these options except for the "Save Target As" button.
To create a custom target, the artist has to alter the base mesh, which is done in the usual way within Blender. First start edit mode, and then select one or more vertices, moving them to reshape the mesh. You may use the full power of Blender to create your morphing target design.The only rule, in order to create a valid morphing target, is to never add or delete a vertex, face or edge. The topology must be absolutely preserved.After the modelling process is completed, the MakeHuman™morphing target can be saved by pressing the "Save Target As" button on the MakeTarget™panel. By default this will save all of the offset deviations of every vertice from the base mesh into the target file.
== Advanced usage ==
=== The MakeTarget™Version 1.09 Panel (After Loading A Target) ===
During the creation or the editing of a target, as mentioned previously, the MakeTarget™panel shows a new layout with a rich set of options. Depending on whether the mesh is loaded without the fit tools (image below, left) or with the fit tools (image below, right), the panel offers different options.
[[File:maketarget131-panels.png]]
[[File:maketarget3.png|right]] At the top of the panel there is a numeric slider that determines the amount of morphing to apply from the target. The maximum value is 1.0, which means that the target morphing is fully applied. A value of 0 will show the original base mesh without any target morphing. The minimum value of the slider is -1.0. Using negative values usually creates weird effects as a projected inverse of the target morph is applied, but these settings are useful to subtract unwanted morphing results when multiple targets are combined. The effect is shown in the image beginning on the left with the full inverse of the morphing target, to the original base mesh in the middle, and finally to the fully applied morph target design on the right.
<br style="clear:both" />
=== Load Target Section (After The First Target Is Loaded) ===
[[File:MakeTargetLoadSecondaryTarget.png|left]]
The three buttons now in the "Load Target" section are used in exactly the same way as they were before any target was loaded, except that any targets that are now created or loaded with these buttons become a secondary target that can be applied to the previously loaded one. These buttons are used to append one or more additional targets to the first target and combine them in various proportions.
<br style="clear:both" />
=== Discard And Apply Target Section ===
[[File:MakeTargetDiscardAndApplyTarget.png|left]]
The first two buttons under the "Discard And Apply Target" section will either discard all of the targets (returning you to the original base mesh) or only the last target appended (which will either be the last secondary target applied or the primary target if no secondary targets have been applied). The button "Apply targets" under the "Discard And Apply Target" section is used to join all targets into a single unique morphing target combination.
<br style="clear:both" />
=== Symmetry Section ===
[[File:MakeTargetTargetSymmetryButtons.png|left]]
The two buttons in the "Symmetry" section are modelling tools, and are very useful. They have been designed to produce very reliable target results. Using the symmetry buttons will cause the mesh to become symetrical on either side of the X axis, with the option to apply edits from the left side of the character to the right side (Left->Right), or vice versa (Right->Left). Pressing these buttons will also align center vertices that have been unintentionally moved away from the center back to their center position.
<br style="clear:both" />
=== Save Target Section ===
[[File:MakeTargetSaveTargetSection.png|left]]
Finally, press the "Save Target As" button to save the .target file once all secondary targets and edits have been completed.
The checkbox labeled "Selected verts only" is a very important option. This option when checked will permit you to select a set of vertices in edit mode and then save only those vertices into the target file. Such targets are useful when you want the target to only morph the selected vertices and leave all other vertices completely unaffected by the morphing target. For example, an artist could design a morphing target that is limited to the hands only, a single hand only, or to the head only, and save a target containing vertices that will only morph those body parts, while having no effect on other parts of the body that were not explicitly chosen by the artist.
The checkbox labeled "Active Target Only" will cause the "Save Target As" button to only save the last target only. This option normally applies when one or more secondary targets have been added using the Load Target section after adding the initial target.
<br style="clear:both" />
=== Additional Fit Helper Buttons ===
[[File:MakeTargetFitTargetButton.png|left]]
[[File:MakeTargetSkirtEditingAffectOnly3.png|left]]
When the fit helpers have been included as part of the target, the additional options of the MakeTarget™ panel shown in the images above appear. These buttons are included to work with the helper objects. When the helpers have been loaded, an additional button labeled "Fit Targets" is available under the Load Target section. This button should be pressed after making alterations to the body that disconnect it from the helper objects, but prior to making modifications to those objects. This button will refit the clothing to the body, and if pressed when the default All option under the "Affect Only: section is selected, all clothing helpers will be refitted to the body. However, the refitting process will cause any modifications previously made to a refitted helper objects to be lost. To limit the Fit Target button behavior to a single helper object, you should specify the object that you want to have refitted under the Affects Only section appearing at the bottom of the panel. This will cause the refitting to only affect the chosen helper (for example the Hair), while leaving all other helper objects unaffected, preserving your edit modifications to those helpers (for example, the Tights and Skirt helpers will not be refitted and your modifications to those helpers will be preserved if the Hair Affects Only option is set).
The additional helper options also include buttons that improve the fit of the skirt specifically by snapping the skirt to the character's waist ("Snap Skirt Waist" button) or straightening the skirt ("Straighten Skirt" button). It is recommended that you still select the Skirt as the Affects Only option prior to pressing either of these buttons.
<br style="clear:both" />
=== MakeTarget standalone ===
==== Making Wavefront .obj Files MakeHuman™ Compliant ====
The following procedures should be followed to create Wavefront .obj files that comply with the requirements of MakeHuman™ using modelling software programs such as 3dMax, Maya, XSI, etc.
* * Download the 1.x base mesh base.obj file from MakeHuman!LINK!https://bitbucket.org/MakeHuman/makehuman/src/c40af22cebf2d5372b931b485f60588f42f24480/makehuman/data/3dobjs/base.obj?at=default -- HG repository!/LINK!
* Import it into your preferred modelling software
* Modify it in order to create your final character
* Export it as .obj (of course with a different name than base.obj)
During editing of the base mesh be careful about 3 things!You have to pay attention that:
* The import/export does not alter the number of vertices, the faces, does not split the obj, etc. The topology has to be the same as the original one.
* When modifying the base, you do not delete or add vertices, do not add or remove faces, etc. The topology has to be the same as the original one.
* The 3D program used also preserves the exact order of the vertices.
==== There are no other limitations on the .obj files used. ====
==== Making Targets with MakeTarget™ StandAlone ====
==== Using the MakeTarget GUI program ====
To obtain the MakeTarget GUI program, download and install either the Windows version or the Linux version at the bottom of the download page of the MakeHuman website at: !LINK!http://makehuman.org/content/download.html -- http://makehuman.org/content/download.html!/LINK!
Looking at the GUI of MakeTarget, you can notice other elements: the (+) and (-) lists, the possibility to process whole directories and to have .obj as output.
These are batch tools, designed for MakeHuman developers. Let’s go on to describe an usual scenario.
Assuming you have 30 “chin” targets modelled on the young caucasian female. These targets will create artifacts when applied on a young asian female. So our artists have to process 30 targets in order to create an asian version from all of them.
The steps are:
* For each chin target, do: asian-female-young.target + chin.target and save the result as .obj.
* Import each .obj in a modelling software, fix the artifacts by hand and export the corrected .obj.
* For each corrected .obj, subtract the asian-female-young.target and save the rest as asian version of the chin target.
For step (1) we will process an entire directory, choosing “Directory” as “input source” and targets as input type. Then we will “add” the asian-female-young.target, loading it in the (+) section. Then will choose “Obj” as “Output type”.
[[File:image01.png]]
Pressing the “Make” button, the entire folder will be processed, and in the same directory of targets we will see the newly created .objs. At this point, we can copy the folder, renaming it as “chin_fixed” and deleting the original targets.
For step (2), we have to import, edit and export each .obj individually, as showed previously for the single target. After completing step (2), all .objs in “chin_fixed” will be fixed and ready to be converted into targets.
So, it’s time for step (3). Again, we will process the entire directory, but this time the input type will be “Obj” and the output “Target”. Also, this time we will subtract the asian target, in order to obtain only the chin morph.
[[File:image00.png]]
Pressing the “make” button, this time we will obtain a series of .target, with the same name as the original objs, placed in the “chin_fixed” folder. That’s all!
==== Command Line Usage ====
This tool allows wavefront .obj files to be used that were edited using any 3D program. The only limitations are that the edit stems from the original base.obj file and that no vertices, edges or faces are added or removed. The 3D program used also needs to preserve the exact order of the vertices. There are no other limitations on the obj files used.
Usage:
There are a commandline version and a version with graphic user interface. Both do exactly the same thing.
Here follows the explanation of how to use the commandline version.
Options:
-i --in input obj or target
-o --out output obj or target
-s --sub target to subtract from obj
-a --add target to add to obj
-d --dir input folder to load all objs or targets from
--intype type of file to be input, obj (default) or target only applicable if --dir is used
--outtype type of file that will be output, obj or target (default)
-h --help this info
-v --verbose verbose mode, shows extra information
Usage scenarios:
Load foo.obj as input, compare it with base.obj and output the difference as foo.target.
Load foo.obj, subtract foo1.target from it, and output the difference between the resulting obj and base.obj as foo.target.
Load foo.obj, add foo1.target to it, and output the difference between the resulting obj and base.obj as foo.target.
Load all objs from myfolder, save the difference between the base.obj and each of the input objs to a target file with the same name as the input obj.
Load all objs from myfolder, subtract foo1.target from each of them, and save the difference between base.obj and each of the resulting objs to a target file with the same name as the input obj.
Load all objs from myfolder, add foo1.target to each of them, and save the difference between base.obj and each of the resulting objs to a target file with the same name as the input obj.
Load foo.target, apply it to base.obj and output the resulting obj as foo.obj.
Load all target files from myfolder, apply each of them to base.obj and save the result of each to obj with the same name as the target file.
Load all target files in myfolder, apply each of them to base.obj while also subtracting foo1.target from the result. Save each combination to an obj with the same name as the input target.
Load all target files in myfolder, apply each of them to base.obj while also adding foo1.target to the result. Save each combination to an obj with the same name as the input target.
This is the usage information as can be obtained by running the "maketarget.py --help" command. Some additional scenarios that are not documented are possible with the tool.
The user is protected from issuing commands that make no sense (eg. do nothing) as the tool will warn you about this.
Also note that files are never overwritten. Upon encountering an already existing file this file is backed up as original_filename.bak. Additional backups of the same file are named in order original_filename.bak.0 original_filename.bak.1 etc.
The GUI version of the tool does exactly the same thing. The exact same options (except help and verbose) are available in the GUI. The only difference between commandline and GUI version is that the GUI demands you specify an --in or --dir parameter. With the commandline tool you can do without as long as you specify some --add or --sub targets.
==== Compiling Binaries ====
For the ease of distribution a pyinstaller configuration is supplied to create a self-contained binary executable for both windows and linux. (MAC OS might work but is untested). For running this executable, the user does not need to install python or any other libraries (such as wxwidgets) on his computer. For building the package, however, you need to have those dependencies
installed, and need to build the package on the target OS. There are two build files available:
* compilePyinstaller.bat,for building a windows executable
* compilePyinstaller.sh for building a linux executable (might work for OSX too)
In order to use them you need to create a folder called "pyinstaller" in the makehuman/tools/standalone/maketarget folder. The build configs were tested with pyinstaller 1.5.1, but might work on future or older versions too.
Additionally these dependencies are needed for the respective operating systems:
Windows:
* Python 2.7
!LINK!http://python.org/ -- http://python.org/!/LINK!
I recommend using python 2.7 as I had issues with 2.6 and pyinstaller. The tool works fine with python 2.6, however
* pywin32
!LINK!http://sourceforge.net/projects/pywin32/ -- http://sourceforge.net/projects/pywin32/!/LINK!
Python extensions for windows. Needed for pyinstaller to work.
* wxpython2.8
!LINK!http://www.wxpython.org/ -- http://www.wxpython.org/!/LINK!
WX Widgets libraries and python wrappers for windows. Installable as one singe package.I recommend using the wxPython2.8 win32 unicode package for python 2.7.
* UPX (optional)
!LINK!http://upx.sourceforge.net/ -- http://upx.sourceforge.net/!/LINK!
This is a tool for compressing the executable and reduce its size. Compression will happen automatically if UPX is installed. To install UPX copy upx.exe to C:\WINDOWS\system32
Note: you will need at least UPX 1.92 beta due to incompatibilites with the Visual Studio compiler, with which newer versions of python are compiled on windows.
Linux:
* Python 2.6
!LINK!http://python.org/ -- http://python.org/!/LINK!
Version 2.7 works fine too.
* python-wxgtk2.8
* libwxgtk2.8
!LINK!http://www.wxpython.org/ -- http://www.wxpython.org/!/LINK!
!LINK!http://www.wxwidgets.org/ -- http://www.wxwidgets.org/!/LINK!
WX Widgets libraries and python wrappers for wx
* UPX (optional)
!LINK!http://upx.sourceforge.net/ -- http://upx.sourceforge.net/!/LINK!
This is a tool for compressing the executable and reduce its size. Compression will happen automatically if UPX is installed
The pyinstaller script will create all the files that need to be distributed in a folder called dist/ (this will be an .xrc file, the executable, and a resources/ folder containing images used in the GUI).
You can archive the contents of the dist/ folder and distribute these freely as a standalone application.
=== wxWidgets specific information ===
The GUI of this tool has been made using the python version of wxWidgets. The GUI form itself is not created using application code, but is instead loaded from the maketarget.xrc file that declares the GUI. This file was built using wxFormBuilder (!LINK!http://wxformbuilder.org/ -- http://wxformbuilder.org/!/LINK!). The file maketarget_gui.fbp is the source file that can be opened in formbuilder. The xrc file is output generated using the formbuilder application. However, the xrc could be edited manually too (but this would cause fbp and xrc file to go out of sync).
=== More information ===
For more specific details you can contact the author Jonas Hauquier at the makehuman.org website.
=== MHBlenderTools: MakeTarget ===
==== What is a Target? The MakeHuman Morphing Process. ====
The principle is simple. A target is a modifcation to a base mesh shape that does not alter the mesh itself but that stores information that permits the base mesh to be transformed into the target shape using ‘morphing’. Targets are what allow the slider controls in MakeHuman™ to take a single base mesh for a character and morph the shape of that character based on a variety of different feature target files. The many target files used by MakeHuman™ can alter a single human base form into characters with features as different as those distinguishing male from female to as subtle as varying the shape of a single earlobe.
[[File:morph1.png]]
A target contains the offsets by which vertices of the human base model (base.obj) deviate from the original to achieve a specific feature. eg. a long nose could be a target. These targets can be combined and MakeHuman™ uses them by blending targets together and gradually applying them to the base mesh to create a nearly endless variety of human forms. Below are examples of target blending obtained by choosing a target that defined the character as male and combining that target with the extreme settings for other targets that determned the muscle tone or weight of the character.
MakeHuman™ handles morphing with a special file format,.target.
==== Loading the Base Mesh ====
While it is possible to create targets using Blender without using the MakeTarget™ tool for Blender; that tool has many useful features that simplify the target creation process and will be explained by the help that follows. Once the MakeTarget™ add-on has been enabled (see the previous "Get and Install MH Addons for Blender" section), a panel labelled MakeTarget™ version 1.xx appears in theBlender User Interface, to the right of the viewport. The visibility of the Blender User Interface can be toggled on and off with the N-key.
[[File:maketarget131-area.png]]
The MakeTarge™ Version 1.31 Panel (Initial Settings)
[[File:maketarget131.png]]
Prior to loading any targets, the initial the MakeTarget™ panel consists of three main buttons. The first two buttons load the base human mesh, respectively with and without the special fitting tools. The third button labeled "Set As Base" sets an existing mesh (that must be MakeHuman™compliant and derived from the A8_v74.obj file distributed with the MakeTarget™ release within the maketarget/data/ folder) as a human base mesh. This third option is for users that have done editing of the base mesh in another 3D modelling program and that have saved or exported the model as a Wavefront .obj file
[[File:helper_details.png]]
Loading the "Human + Fit Tools" will import the base human +mesh helpers(image below, B). The "helpers" are special geometries, used in MakeHuman™ as a reference to correctly fit clothes, hair and accessories. These helpers can be annoying during the modelling of the character, so usually our artists first work on the pure body, loading the human only with the first button (image below, A), and then, in a successive step, they fit the helpers.
[[File:maketarget-base.png]]
==== Basic usage ====
=== The MakeTarget™ Version 1.09 Panel (After Loading The Target Mesh) ===
[[File:MakeTarget_load.png]]
After the mesh is loaded into the scene, the MakeTarget™panel layout will change, showing three new buttons that handle setting up the morphing targets. The first button creates a new empty target which will just be the original base mesh loaded in the previous step.
The second button loads the morphing from an existing target file. Do not attempt to load target files from the previous MakeHuman™versions, as these files are not compatible with the current base.
The third button creates a new target from an existing base mesh that is MakeHuman™compliant (derived from the A8_v74.obj file provided with the MakeTarget™release distribution), for example, a character modelled with an external tool (Maya, Max, C4D, etc..) and then saved or exported so that it can be imported into Blender as a wavefront obj file. To correctly use the third button, it is necessary to first select the imported base, then the MakeHuman™base, and then press the Load Target From Mesh button. When the steps have been done correctly and that button is pressed the imported base will disappear and its transformations will be transferred onto the MakeHuman™base.
=== Editing The Target And The "Save Target As" Button ===
After a new empty target is initialized or an existing one is loaded/imported, the MakeTarget™ panel layout will change again, offering a rich set of new options (image below). For the basic use of the MakeTarget™ tool you may ignore all of these options except for the "Save Target As" button.
To create a custom target, the artist has to alter the base mesh, which is done in the usual way within Blender. First start edit mode, and then select one or more vertices, moving them to reshape the mesh. You may use the full power of Blender to create your morphing target design.The only rule, in order to create a valid morphing target, is to never add or delete a vertex, face or edge. The topology must be absolutely preserved.After the modelling process is completed, the MakeHuman™morphing target can be saved by pressing the "Save Target As" button on the MakeTarget™panel. By default this will save all of the offset deviations of every vertice from the base mesh into the target file.
==== Advanced usage ====
=== The MakeTarget™Version 1.09 Panel (After Loading A Target) ===
During the creation or the editing of a target, as mentioned previously, the MakeTarget™panel shows a new layout with a rich set of options. Depending on whether the mesh is loaded without the fit tools (image below, left) or with the fit tools (image below, right), the panel offers different options.
[[File:maketarget131-panels.png]]
At the top of the panel there is a numeric slider that determines the amount of morphing to apply from the target. The maximum value is 1.0, which means that the target morphing is fully applied. A value of 0 will show the original base mesh without any target morphing. The minimum value of the slider is -1.0. Using negative values usually creates weird effects as a projected inverse of the target morph is applied, but these settings are useful to subtract unwanted morphing results when multiple targets are combined. The effect is shown in the image below beginning on the left with the full inverse of the morphing target, to the original base mesh in the middle, and finally to the fully applied morph target design on the right.
[[File:maketarget3.png]]
=== Load Target Section (After The First Target Is Loaded) ===
[[File:MakeTargetLoadSecondaryTarget.png]]
The three buttons that now in the "Load Target" section are used in exactly the same way as they were before any target was loaded, except that any targets that are now created or loaded with these buttons become a secondary target that can be applied to the previously loaded one. These buttons are used to append one or more additional targets to the first target and combine them in various proportions.
=== Discard And Apply Target Section ===
[[File:MakeTargetDiscardAndApplyTarget.png]]
The first two buttons under the "Discard And Apply Target" section will either discard all of the targets (returning you to the original base mesh) or only the last target appended (which will either be the last secondary target applied or the primary target if no secondary targets have been applied). The button "Apply targets" under the "Discard And Apply Target" section is used to join all targets into a single unique morphing target combination.
=== Symmetry Section ===
[[File:MakeTargetTargetSymmetryButtons.png]]
The two buttons in the "Symmetry" section are modelling tools, and are very useful. They has been designed to produce very reliable target results. Using the symmetry buttons will cause the mesh to become symetrical on either side of the X axis, with the option to apply edits from the left side of the character to the right side (Left->Right), or vice versa (Right->Left). Pressing these buttons will also align center vertices that have been unintentionally moved away from the center back to their center position.
=== Save Target Section ===
[[File:MakeTargetSaveTargetSection.png]]
Finally, press the "Save Target As" button to save the .target file once all secondary targets and edits have been completed.
The checkbox labeled "Selected verts only" is a very important option. This option when checked will permit you to select a set of vertices in edit mode and then save only those vertices into the target file. Such targets are useful when you want the target to only morph the selected vertices and leave all other vertices completely unaffected by the morphing target. For example, an artist could design a morphing target that is limited to the hands only, a single hand only, or to the head only, and save a target containing vertices that will only morph those body parts, while having no effect on other parts of the body that were not explicitly chosen by the artist.
The checkbox labeled "Active Target Only" will cause the "Save Target As" button to only save the last target only. This option normally applies when one or more secondary targets have been added using the Load Target section after adding the initial target.
=== Additional Fit Helper Buttons ===
[[File:MakeTargetFitTargetButton.png]]
[[File:MakeTargetSkirtEditingAffectOnly3.png]]
When the fit helpers have been included as part of the target, the additional options of the MakeTarget™panel shown in the images above appear. These buttons are included to work with the helper objects. When the helpers have been loaded, an additional button labeled "Fit Targets" is available under the Load Target section. This button should be pressed after making alterations to the body that disconnect it from the helper objects, but prior to making modifications to those objects. This button will refit the clothing to the body, and if pressed when the default All option under the "Affect Only: section is selected, all clothing helpers will be refitted to the body. However, the refitting process will cause any modifications previously made to a refitted helper objects to be lost. To limit the Fit Target button behavior to a single helper object, you should specify the object that you want to have refitted under the Affects Only section appearing at the bottom of the panel. This will cause the refitting to only affect the chosen helper (for example the Hair), while leaving all other helper objects unaffected, preserving your edit modifications to those helpers (for example, the Tights and Skirt helpers will not be refitted and your modifications to those helpers will be preserved if the Hair Affects Only option is set).
The additional helper options also include buttons that improve the fit of the skirt specifically by snapping the skirt to the character's waist ("Snap Skirt Waist" button) or straightening the skirt ("Straighten Skirt" button). It is recommended that you still select the Skirt as the Affects Only option prior to pressing either of these buttons.
7e0a2055c18d2d561d873d17549271836edacf40
729
702
2016-05-20T11:40:56Z
Joepal
14
wikitext
text/x-wiki
=== MakeTarget ===
This section describes the blender version of MakeTarget. There is also a standalone version of MakeTarget, see further down on the page.
For the information below to make sense and be useful, you will need to first install BlenderTools.
== Introductory videos ==
If you find this page, this is a youtube video which might be useful:
{{#ev:youtube|X13k7H3dNHo}}
A longer and somewhat more gentle intro is provided by VScorpianC. If you're new to the subject, it will probably make sense to watch this:
{{#ev:youtube|CqH_Ec5NKNE}}
== What is a Target? The MakeHuman Morphing Process. ==
[[File:Morph1.png|left]] The principle is simple. A target is a modifcation to a base mesh shape that does not alter the mesh itself but that stores information that permits the base mesh to be transformed into the target shape using ‘morphing’. Targets are what allow the slider controls in MakeHuman™ to take a single base mesh for a character and morph the shape of that character based on a variety of different feature target files. The many target files used by MakeHuman™ can alter a single human base form into characters with features as different as those distinguishing male from female to as subtle as varying the shape of a single earlobe.
A target contains the offsets by which vertices of the human base model (base.obj) deviate from the original to achieve a specific feature. eg. a long nose could be a target. These targets can be combined and MakeHuman™ uses them by blending targets together and gradually applying them to the base mesh to create a nearly endless variety of human forms. Below are examples of target blending obtained by choosing a target that defined the character as male and combining that target with the extreme settings for other targets that determned the muscle tone or weight of the character.
MakeHuman™ handles morphing with a special file format, ".target".
<br style="clear:both" />
== Loading the Base Mesh ==
[[File:maketarget131-area.png|left]] While it is possible to create targets using Blender without using the MakeTarget™ tool for Blender; that tool has many useful features that simplify the target creation process and will be explained by the help that follows. Once the MakeTarget™ add-on has been enabled (see the previous "Get and Install MH Addons for Blender" section), a panel labelled MakeTarget™ version 1.xx appears in theBlender User Interface, to the right of the viewport. The visibility of the Blender User Interface can be toggled on and off with the N-key.
<br style="clear:both" />
== MakeTarget 1.31 ==
[[File:maketarget131.png|left]] Prior to loading any targets, the initial the MakeTarget™ panel consists of three main buttons. The first two buttons load the base human mesh, respectively with and without the special fitting tools. The third button labeled "Set As Base" sets an existing mesh (that must be MakeHuman™compliant and derived from the A8_v74.obj file distributed with the MakeTarget™ release within the maketarget/data/ folder) as a human base mesh. This third option is for users that have done editing of the base mesh in another 3D modelling program and that have saved or exported the model as a Wavefront .obj file.
Loading the "Human + Fit Tools" will import the base human +mesh helpers(image below, B). The "helpers" are special geometries, used in MakeHuman™ as a reference to correctly fit clothes, hair and accessories. These helpers can be annoying during the modelling of the character, so usually our artists first work on the pure body, loading the human only with the first button (image below, A), and then, in a successive step, they fit the helpers.
<br style="clear:both" />
[[File:helper_details.png|left]]
[[File:maketarget-base.png|right]]
<br style="clear:both" />
== Basic usage ==
=== The MakeTarget™ Version 1.09 Panel (After Loading The Target Mesh) ===
[[File:MakeTarget_load.png|left]]
After the mesh is loaded into the scene, the MakeTarget™panel layout will change, showing three new buttons that handle setting up the morphing targets. The first button creates a new empty target which will just be the original base mesh loaded in the previous step.
The second button loads the morphing from an existing target file. Do not attempt to load target files from the previous MakeHuman™versions, as these files are not compatible with the current base.
The third button creates a new target from an existing base mesh that is MakeHuman™compliant (derived from the A8_v74.obj file provided with the MakeTarget™release distribution), for example, a character modelled with an external tool (Maya, Max, C4D, etc..) and then saved or exported so that it can be imported into Blender as a wavefront obj file. To correctly use the third button, it is necessary to first select the imported base, then the MakeHuman™ base, and then press the Load Target From Mesh button. When the steps have been done correctly and that button is pressed the imported base will disappear and its transformations will be transferred onto the MakeHuman™ base.
<br style="clear:both" />
=== Editing The Target And The "Save Target As" Button ===
After a new empty target is initialized or an existing one is loaded/imported, the MakeTarget™ panel layout will change again, offering a rich set of new options (image below). For the basic use of the MakeTarget™ tool you may ignore all of these options except for the "Save Target As" button.
To create a custom target, the artist has to alter the base mesh, which is done in the usual way within Blender. First start edit mode, and then select one or more vertices, moving them to reshape the mesh. You may use the full power of Blender to create your morphing target design.The only rule, in order to create a valid morphing target, is to never add or delete a vertex, face or edge. The topology must be absolutely preserved.After the modelling process is completed, the MakeHuman™morphing target can be saved by pressing the "Save Target As" button on the MakeTarget™panel. By default this will save all of the offset deviations of every vertice from the base mesh into the target file.
== Advanced usage ==
=== The MakeTarget™Version 1.09 Panel (After Loading A Target) ===
During the creation or the editing of a target, as mentioned previously, the MakeTarget™panel shows a new layout with a rich set of options. Depending on whether the mesh is loaded without the fit tools (image below, left) or with the fit tools (image below, right), the panel offers different options.
[[File:maketarget131-panels.png]]
[[File:maketarget3.png|right]] At the top of the panel there is a numeric slider that determines the amount of morphing to apply from the target. The maximum value is 1.0, which means that the target morphing is fully applied. A value of 0 will show the original base mesh without any target morphing. The minimum value of the slider is -1.0. Using negative values usually creates weird effects as a projected inverse of the target morph is applied, but these settings are useful to subtract unwanted morphing results when multiple targets are combined. The effect is shown in the image beginning on the left with the full inverse of the morphing target, to the original base mesh in the middle, and finally to the fully applied morph target design on the right.
<br style="clear:both" />
=== Load Target Section (After The First Target Is Loaded) ===
[[File:MakeTargetLoadSecondaryTarget.png|left]]
The three buttons now in the "Load Target" section are used in exactly the same way as they were before any target was loaded, except that any targets that are now created or loaded with these buttons become a secondary target that can be applied to the previously loaded one. These buttons are used to append one or more additional targets to the first target and combine them in various proportions.
<br style="clear:both" />
=== Discard And Apply Target Section ===
[[File:MakeTargetDiscardAndApplyTarget.png|left]]
The first two buttons under the "Discard And Apply Target" section will either discard all of the targets (returning you to the original base mesh) or only the last target appended (which will either be the last secondary target applied or the primary target if no secondary targets have been applied). The button "Apply targets" under the "Discard And Apply Target" section is used to join all targets into a single unique morphing target combination.
<br style="clear:both" />
=== Symmetry Section ===
[[File:MakeTargetTargetSymmetryButtons.png|left]]
The two buttons in the "Symmetry" section are modelling tools, and are very useful. They have been designed to produce very reliable target results. Using the symmetry buttons will cause the mesh to become symetrical on either side of the X axis, with the option to apply edits from the left side of the character to the right side (Left->Right), or vice versa (Right->Left). Pressing these buttons will also align center vertices that have been unintentionally moved away from the center back to their center position.
<br style="clear:both" />
=== Save Target Section ===
[[File:MakeTargetSaveTargetSection.png|left]]
Finally, press the "Save Target As" button to save the .target file once all secondary targets and edits have been completed.
The checkbox labeled "Selected verts only" is a very important option. This option when checked will permit you to select a set of vertices in edit mode and then save only those vertices into the target file. Such targets are useful when you want the target to only morph the selected vertices and leave all other vertices completely unaffected by the morphing target. For example, an artist could design a morphing target that is limited to the hands only, a single hand only, or to the head only, and save a target containing vertices that will only morph those body parts, while having no effect on other parts of the body that were not explicitly chosen by the artist.
The checkbox labeled "Active Target Only" will cause the "Save Target As" button to only save the last target only. This option normally applies when one or more secondary targets have been added using the Load Target section after adding the initial target.
<br style="clear:both" />
=== Additional Fit Helper Buttons ===
[[File:MakeTargetFitTargetButton.png|left]]
[[File:MakeTargetSkirtEditingAffectOnly3.png|left]]
When the fit helpers have been included as part of the target, the additional options of the MakeTarget™ panel shown in the images above appear. These buttons are included to work with the helper objects. When the helpers have been loaded, an additional button labeled "Fit Targets" is available under the Load Target section. This button should be pressed after making alterations to the body that disconnect it from the helper objects, but prior to making modifications to those objects. This button will refit the clothing to the body, and if pressed when the default All option under the "Affect Only: section is selected, all clothing helpers will be refitted to the body. However, the refitting process will cause any modifications previously made to a refitted helper objects to be lost. To limit the Fit Target button behavior to a single helper object, you should specify the object that you want to have refitted under the Affects Only section appearing at the bottom of the panel. This will cause the refitting to only affect the chosen helper (for example the Hair), while leaving all other helper objects unaffected, preserving your edit modifications to those helpers (for example, the Tights and Skirt helpers will not be refitted and your modifications to those helpers will be preserved if the Hair Affects Only option is set).
The additional helper options also include buttons that improve the fit of the skirt specifically by snapping the skirt to the character's waist ("Snap Skirt Waist" button) or straightening the skirt ("Straighten Skirt" button). It is recommended that you still select the Skirt as the Affects Only option prior to pressing either of these buttons.
<br style="clear:both" />
=== MakeTarget standalone ===
==== Making Wavefront .obj Files MakeHuman™ Compliant ====
The following procedures should be followed to create Wavefront .obj files that comply with the requirements of MakeHuman™ using modelling software programs such as 3dMax, Maya, XSI, etc.
* * Download the 1.x base mesh base.obj file from MakeHuman!LINK!https://bitbucket.org/MakeHuman/makehuman/src/c40af22cebf2d5372b931b485f60588f42f24480/makehuman/data/3dobjs/base.obj?at=default -- HG repository!/LINK!
* Import it into your preferred modelling software
* Modify it in order to create your final character
* Export it as .obj (of course with a different name than base.obj)
During editing of the base mesh be careful about 3 things!You have to pay attention that:
* The import/export does not alter the number of vertices, the faces, does not split the obj, etc. The topology has to be the same as the original one.
* When modifying the base, you do not delete or add vertices, do not add or remove faces, etc. The topology has to be the same as the original one.
* The 3D program used also preserves the exact order of the vertices.
==== There are no other limitations on the .obj files used. ====
==== Making Targets with MakeTarget™ StandAlone ====
==== Using the MakeTarget GUI program ====
To obtain the MakeTarget GUI program, download and install either the Windows version or the Linux version at the bottom of the download page of the MakeHuman website at: !LINK!http://makehuman.org/content/download.html -- http://makehuman.org/content/download.html!/LINK!
Looking at the GUI of MakeTarget, you can notice other elements: the (+) and (-) lists, the possibility to process whole directories and to have .obj as output.
These are batch tools, designed for MakeHuman developers. Let’s go on to describe an usual scenario.
Assuming you have 30 “chin” targets modelled on the young caucasian female. These targets will create artifacts when applied on a young asian female. So our artists have to process 30 targets in order to create an asian version from all of them.
The steps are:
* For each chin target, do: asian-female-young.target + chin.target and save the result as .obj.
* Import each .obj in a modelling software, fix the artifacts by hand and export the corrected .obj.
* For each corrected .obj, subtract the asian-female-young.target and save the rest as asian version of the chin target.
For step (1) we will process an entire directory, choosing “Directory” as “input source” and targets as input type. Then we will “add” the asian-female-young.target, loading it in the (+) section. Then will choose “Obj” as “Output type”.
!IMAGE!Pictures/image01.png!/IMAGE!
Pressing the “Make” button, the entire folder will be processed, and in the same directory of targets we will see the newly created .objs. At this point, we can copy the folder, renaming it as “chin_fixed” and deleting the original targets.
For step (2), we have to import, edit and export each .obj individually, as showed previously for the single target. After completing step (2), all .objs in “chin_fixed” will be fixed and ready to be converted into targets.
So, it’s time for step (3). Again, we will process the entire directory, but this time the input type will be “Obj” and the output “Target”. Also, this time we will subtract the asian target, in order to obtain only the chin morph.
!IMAGE!Pictures/image00.png!/IMAGE!
Pressing the “make” button, this time we will obtain a series of .target, with the same name as the original objs, placed in the “chin_fixed” folder. That’s all!
==== Command Line Usage ====
This tool allows wavefront .obj files to be used that were edited using any 3D program. The only limitations are that the edit stems from the original base.obj file and that no vertices, edges or faces are added or removed. The 3D program used also needs to preserve the exact order of the vertices. There are no other limitations on the obj files used.
Usage:
There are a commandline version and a version with graphic user interface. Both do exactly the same thing.
Here follows the explanation of how to use the commandline version.
Options:
-i --in input obj or target
-o --out output obj or target
-s --sub target to subtract from obj
-a --add target to add to obj
-d --dir input folder to load all objs or targets from
--intype type of file to be input, obj (default) or target only applicable if --dir is used
--outtype type of file that will be output, obj or target (default)
-h --help this info
-v --verbose verbose mode, shows extra information
Usage scenarios:
Load foo.obj as input, compare it with base.obj and output the difference as foo.target.
Load foo.obj, subtract foo1.target from it, and output the difference between the resulting obj and base.obj as foo.target.
Load foo.obj, add foo1.target to it, and output the difference between the resulting obj and base.obj as foo.target.
Load all objs from myfolder, save the difference between the base.obj and each of the input objs to a target file with the same name as the input obj.
Load all objs from myfolder, subtract foo1.target from each of them, and save the difference between base.obj and each of the resulting objs to a target file with the same name as the input obj.
Load all objs from myfolder, add foo1.target to each of them, and save the difference between base.obj and each of the resulting objs to a target file with the same name as the input obj.
Load foo.target, apply it to base.obj and output the resulting obj as foo.obj.
Load all target files from myfolder, apply each of them to base.obj and save the result of each to obj with the same name as the target file.
Load all target files in myfolder, apply each of them to base.obj while also subtracting foo1.target from the result. Save each combination to an obj with the same name as the input target.
Load all target files in myfolder, apply each of them to base.obj while also adding foo1.target to the result. Save each combination to an obj with the same name as the input target.
This is the usage information as can be obtained by running the "maketarget.py --help" command. Some additional scenarios that are not documented are possible with the tool.
The user is protected from issuing commands that make no sense (eg. do nothing) as the tool will warn you about this.
Also note that files are never overwritten. Upon encountering an already existing file this file is backed up as original_filename.bak. Additional backups of the same file are named in order original_filename.bak.0 original_filename.bak.1 etc.
The GUI version of the tool does exactly the same thing. The exact same options (except help and verbose) are available in the GUI. The only difference between commandline and GUI version is that the GUI demands you specify an --in or --dir parameter. With the commandline tool you can do without as long as you specify some --add or --sub targets.
==== Compiling Binaries ====
For the ease of distribution a pyinstaller configuration is supplied to create a self-contained binary executable for both windows and linux. (MAC OS might work but is untested). For running this executable, the user does not need to install python or any other libraries (such as wxwidgets) on his computer. For building the package, however, you need to have those dependencies
installed, and need to build the package on the target OS. There are two build files available:
* compilePyinstaller.bat,for building a windows executable
* compilePyinstaller.sh for building a linux executable (might work for OSX too)
In order to use them you need to create a folder called "pyinstaller" in the makehuman/tools/standalone/maketarget folder. The build configs were tested with pyinstaller 1.5.1, but might work on future or older versions too.
Additionally these dependencies are needed for the respective operating systems:
Windows:
* Python 2.7
!LINK!http://python.org/ -- http://python.org/!/LINK!
I recommend using python 2.7 as I had issues with 2.6 and pyinstaller. The tool works fine with python 2.6, however
* pywin32
!LINK!http://sourceforge.net/projects/pywin32/ -- http://sourceforge.net/projects/pywin32/!/LINK!
Python extensions for windows. Needed for pyinstaller to work.
* wxpython2.8
!LINK!http://www.wxpython.org/ -- http://www.wxpython.org/!/LINK!
WX Widgets libraries and python wrappers for windows. Installable as one singe package.I recommend using the wxPython2.8 win32 unicode package for python 2.7.
* UPX (optional)
!LINK!http://upx.sourceforge.net/ -- http://upx.sourceforge.net/!/LINK!
This is a tool for compressing the executable and reduce its size. Compression will happen automatically if UPX is installed. To install UPX copy upx.exe to C:\WINDOWS\system32
Note: you will need at least UPX 1.92 beta due to incompatibilites with the Visual Studio compiler, with which newer versions of python are compiled on windows.
Linux:
* Python 2.6
!LINK!http://python.org/ -- http://python.org/!/LINK!
Version 2.7 works fine too.
* python-wxgtk2.8
* libwxgtk2.8
!LINK!http://www.wxpython.org/ -- http://www.wxpython.org/!/LINK!
!LINK!http://www.wxwidgets.org/ -- http://www.wxwidgets.org/!/LINK!
WX Widgets libraries and python wrappers for wx
* UPX (optional)
!LINK!http://upx.sourceforge.net/ -- http://upx.sourceforge.net/!/LINK!
This is a tool for compressing the executable and reduce its size. Compression will happen automatically if UPX is installed
The pyinstaller script will create all the files that need to be distributed in a folder called dist/ (this will be an .xrc file, the executable, and a resources/ folder containing images used in the GUI).
You can archive the contents of the dist/ folder and distribute these freely as a standalone application.
=== wxWidgets specific information ===
The GUI of this tool has been made using the python version of wxWidgets. The GUI form itself is not created using application code, but is instead loaded from the maketarget.xrc file that declares the GUI. This file was built using wxFormBuilder (!LINK!http://wxformbuilder.org/ -- http://wxformbuilder.org/!/LINK!). The file maketarget_gui.fbp is the source file that can be opened in formbuilder. The xrc file is output generated using the formbuilder application. However, the xrc could be edited manually too (but this would cause fbp and xrc file to go out of sync).
=== More information ===
For more specific details you can contact the author Jonas Hauquier at the makehuman.org website.
=== MHBlenderTools: MakeTarget ===
==== What is a Target? The MakeHuman Morphing Process. ====
The principle is simple. A target is a modifcation to a base mesh shape that does not alter the mesh itself but that stores information that permits the base mesh to be transformed into the target shape using ‘morphing’. Targets are what allow the slider controls in MakeHuman™ to take a single base mesh for a character and morph the shape of that character based on a variety of different feature target files. The many target files used by MakeHuman™ can alter a single human base form into characters with features as different as those distinguishing male from female to as subtle as varying the shape of a single earlobe.
!IMAGE!Pictures/morph1.png!/IMAGE!
A target contains the offsets by which vertices of the human base model (base.obj) deviate from the original to achieve a specific feature. eg. a long nose could be a target. These targets can be combined and MakeHuman™ uses them by blending targets together and gradually applying them to the base mesh to create a nearly endless variety of human forms. Below are examples of target blending obtained by choosing a target that defined the character as male and combining that target with the extreme settings for other targets that determned the muscle tone or weight of the character.
MakeHuman™ handles morphing with a special file format,.target.
==== Loading the Base Mesh ====
While it is possible to create targets using Blender without using the MakeTarget™ tool for Blender; that tool has many useful features that simplify the target creation process and will be explained by the help that follows. Once the MakeTarget™ add-on has been enabled (see the previous "Get and Install MH Addons for Blender" section), a panel labelled MakeTarget™ version 1.xx appears in theBlender User Interface, to the right of the viewport. The visibility of the Blender User Interface can be toggled on and off with the N-key.
!IMAGE!Pictures/maketarget131-area.png!/IMAGE!
The MakeTarge™ Version 1.31 Panel (Initial Settings)
!IMAGE!Pictures/maketarget131.png!/IMAGE!
Prior to loading any targets, the initial the MakeTarget™ panel consists of three main buttons. The first two buttons load the base human mesh, respectively with and without the special fitting tools. The third button labeled "Set As Base" sets an existing mesh (that must be MakeHuman™compliant and derived from the A8_v74.obj file distributed with the MakeTarget™ release within the maketarget/data/ folder) as a human base mesh. This third option is for users that have done editing of the base mesh in another 3D modelling program and that have saved or exported the model as a Wavefront .obj file
!IMAGE!Pictures/helper_details.png!/IMAGE!
Loading the "Human + Fit Tools" will import the base human +mesh helpers(image below, B). The "helpers" are special geometries, used in MakeHuman™ as a reference to correctly fit clothes, hair and accessories. These helpers can be annoying during the modelling of the character, so usually our artists first work on the pure body, loading the human only with the first button (image below, A), and then, in a successive step, they fit the helpers.
!IMAGE!Pictures/maketarget-base.png!/IMAGE!
==== Basic usage ====
=== The MakeTarget™ Version 1.09 Panel (After Loading The Target Mesh) ===
!IMAGE!Pictures/MakeTarget_load.png!/IMAGE!
After the mesh is loaded into the scene, the MakeTarget™panel layout will change, showing three new buttons that handle setting up the morphing targets. The first button creates a new empty target which will just be the original base mesh loaded in the previous step.
The second button loads the morphing from an existing target file. Do not attempt to load target files from the previous MakeHuman™versions, as these files are not compatible with the current base.
The third button creates a new target from an existing base mesh that is MakeHuman™compliant (derived from the A8_v74.obj file provided with the MakeTarget™release distribution), for example, a character modelled with an external tool (Maya, Max, C4D, etc..) and then saved or exported so that it can be imported into Blender as a wavefront obj file. To correctly use the third button, it is necessary to first select the imported base, then the MakeHuman™base, and then press the Load Target From Mesh button. When the steps have been done correctly and that button is pressed the imported base will disappear and its transformations will be transferred onto the MakeHuman™base.
=== Editing The Target And The "Save Target As" Button ===
After a new empty target is initialized or an existing one is loaded/imported, the MakeTarget™ panel layout will change again, offering a rich set of new options (image below). For the basic use of the MakeTarget™ tool you may ignore all of these options except for the "Save Target As" button.
To create a custom target, the artist has to alter the base mesh, which is done in the usual way within Blender. First start edit mode, and then select one or more vertices, moving them to reshape the mesh. You may use the full power of Blender to create your morphing target design.The only rule, in order to create a valid morphing target, is to never add or delete a vertex, face or edge. The topology must be absolutely preserved.After the modelling process is completed, the MakeHuman™morphing target can be saved by pressing the "Save Target As" button on the MakeTarget™panel. By default this will save all of the offset deviations of every vertice from the base mesh into the target file.
==== Advanced usage ====
=== The MakeTarget™Version 1.09 Panel (After Loading A Target) ===
During the creation or the editing of a target, as mentioned previously, the MakeTarget™panel shows a new layout with a rich set of options. Depending on whether the mesh is loaded without the fit tools (image below, left) or with the fit tools (image below, right), the panel offers different options.
!IMAGE!Pictures/maketarget131-panels.png!/IMAGE!
At the top of the panel there is a numeric slider that determines the amount of morphing to apply from the target. The maximum value is 1.0, which means that the target morphing is fully applied. A value of 0 will show the original base mesh without any target morphing. The minimum value of the slider is -1.0. Using negative values usually creates weird effects as a projected inverse of the target morph is applied, but these settings are useful to subtract unwanted morphing results when multiple targets are combined. The effect is shown in the image below beginning on the left with the full inverse of the morphing target, to the original base mesh in the middle, and finally to the fully applied morph target design on the right.
!IMAGE!Pictures/maketarget3.png!/IMAGE!
=== Load Target Section (After The First Target Is Loaded) ===
!IMAGE!Pictures/MakeTargetLoadSecondaryTarget.png!/IMAGE!
The three buttons that now in the "Load Target" section are used in exactly the same way as they were before any target was loaded, except that any targets that are now created or loaded with these buttons become a secondary target that can be applied to the previously loaded one. These buttons are used to append one or more additional targets to the first target and combine them in various proportions.
=== Discard And Apply Target Section ===
!IMAGE!Pictures/MakeTargetDiscardAndApplyTarget.png!/IMAGE!
The first two buttons under the "Discard And Apply Target" section will either discard all of the targets (returning you to the original base mesh) or only the last target appended (which will either be the last secondary target applied or the primary target if no secondary targets have been applied). The button "Apply targets" under the "Discard And Apply Target" section is used to join all targets into a single unique morphing target combination.
=== Symmetry Section ===
!IMAGE!Pictures/MakeTargetTargetSymmetryButtons.png!/IMAGE!
The two buttons in the "Symmetry" section are modelling tools, and are very useful. They has been designed to produce very reliable target results. Using the symmetry buttons will cause the mesh to become symetrical on either side of the X axis, with the option to apply edits from the left side of the character to the right side (Left->Right), or vice versa (Right->Left). Pressing these buttons will also align center vertices that have been unintentionally moved away from the center back to their center position.
=== Save Target Section ===
!IMAGE!Pictures/MakeTargetSaveTargetSection.png!/IMAGE!
Finally, press the "Save Target As" button to save the .target file once all secondary targets and edits have been completed.
The checkbox labeled "Selected verts only" is a very important option. This option when checked will permit you to select a set of vertices in edit mode and then save only those vertices into the target file. Such targets are useful when you want the target to only morph the selected vertices and leave all other vertices completely unaffected by the morphing target. For example, an artist could design a morphing target that is limited to the hands only, a single hand only, or to the head only, and save a target containing vertices that will only morph those body parts, while having no effect on other parts of the body that were not explicitly chosen by the artist.
The checkbox labeled "Active Target Only" will cause the "Save Target As" button to only save the last target only. This option normally applies when one or more secondary targets have been added using the Load Target section after adding the initial target.
=== Additional Fit Helper Buttons ===
!IMAGE!Pictures/MakeTargetFitTargetButton.png!/IMAGE!
!IMAGE!Pictures/MakeTargetSkirtEditingAffectOnly3.png!/IMAGE!
When the fit helpers have been included as part of the target, the additional options of the MakeTarget™panel shown in the images above appear. These buttons are included to work with the helper objects. When the helpers have been loaded, an additional button labeled "Fit Targets" is available under the Load Target section. This button should be pressed after making alterations to the body that disconnect it from the helper objects, but prior to making modifications to those objects. This button will refit the clothing to the body, and if pressed when the default All option under the "Affect Only: section is selected, all clothing helpers will be refitted to the body. However, the refitting process will cause any modifications previously made to a refitted helper objects to be lost. To limit the Fit Target button behavior to a single helper object, you should specify the object that you want to have refitted under the Affects Only section appearing at the bottom of the panel. This will cause the refitting to only affect the chosen helper (for example the Hair), while leaving all other helper objects unaffected, preserving your edit modifications to those helpers (for example, the Tights and Skirt helpers will not be refitted and your modifications to those helpers will be preserved if the Hair Affects Only option is set).
The additional helper options also include buttons that improve the fit of the skirt specifically by snapping the skirt to the character's waist ("Snap Skirt Waist" button) or straightening the skirt ("Straighten Skirt" button). It is recommended that you still select the Skirt as the Affects Only option prior to pressing either of these buttons.
9cf9c119e0555f2707b0bb7911c25a7e3f30ab1c
702
2016-05-20T11:08:22Z
Joepal
14
Created page with "=== MakeTarget standalone === ==== Making Wavefront .obj Files MakeHuman™ Compliant ==== The following procedures should be followed to create Wavefront .obj files that co..."
wikitext
text/x-wiki
=== MakeTarget standalone ===
==== Making Wavefront .obj Files MakeHuman™ Compliant ====
The following procedures should be followed to create Wavefront .obj files that comply with the requirements of MakeHuman™ using modelling software programs such as 3dMax, Maya, XSI, etc.
* * Download the 1.x base mesh base.obj file from MakeHuman!LINK!https://bitbucket.org/MakeHuman/makehuman/src/c40af22cebf2d5372b931b485f60588f42f24480/makehuman/data/3dobjs/base.obj?at=default -- HG repository!/LINK!
* Import it into your preferred modelling software
* Modify it in order to create your final character
* Export it as .obj (of course with a different name than base.obj)
During editing of the base mesh be careful about 3 things!You have to pay attention that:
* The import/export does not alter the number of vertices, the faces, does not split the obj, etc. The topology has to be the same as the original one.
* When modifying the base, you do not delete or add vertices, do not add or remove faces, etc. The topology has to be the same as the original one.
* The 3D program used also preserves the exact order of the vertices.
==== There are no other limitations on the .obj files used. ====
==== Making Targets with MakeTarget™ StandAlone ====
==== Using the MakeTarget GUI program ====
To obtain the MakeTarget GUI program, download and install either the Windows version or the Linux version at the bottom of the download page of the MakeHuman website at: !LINK!http://makehuman.org/content/download.html -- http://makehuman.org/content/download.html!/LINK!
Looking at the GUI of MakeTarget, you can notice other elements: the (+) and (-) lists, the possibility to process whole directories and to have .obj as output.
These are batch tools, designed for MakeHuman developers. Let’s go on to describe an usual scenario.
Assuming you have 30 “chin” targets modelled on the young caucasian female. These targets will create artifacts when applied on a young asian female. So our artists have to process 30 targets in order to create an asian version from all of them.
The steps are:
* For each chin target, do: asian-female-young.target + chin.target and save the result as .obj.
* Import each .obj in a modelling software, fix the artifacts by hand and export the corrected .obj.
* For each corrected .obj, subtract the asian-female-young.target and save the rest as asian version of the chin target.
For step (1) we will process an entire directory, choosing “Directory” as “input source” and targets as input type. Then we will “add” the asian-female-young.target, loading it in the (+) section. Then will choose “Obj” as “Output type”.
!IMAGE!Pictures/image01.png!/IMAGE!
Pressing the “Make” button, the entire folder will be processed, and in the same directory of targets we will see the newly created .objs. At this point, we can copy the folder, renaming it as “chin_fixed” and deleting the original targets.
For step (2), we have to import, edit and export each .obj individually, as showed previously for the single target. After completing step (2), all .objs in “chin_fixed” will be fixed and ready to be converted into targets.
So, it’s time for step (3). Again, we will process the entire directory, but this time the input type will be “Obj” and the output “Target”. Also, this time we will subtract the asian target, in order to obtain only the chin morph.
!IMAGE!Pictures/image00.png!/IMAGE!
Pressing the “make” button, this time we will obtain a series of .target, with the same name as the original objs, placed in the “chin_fixed” folder. That’s all!
==== Command Line Usage ====
This tool allows wavefront .obj files to be used that were edited using any 3D program. The only limitations are that the edit stems from the original base.obj file and that no vertices, edges or faces are added or removed. The 3D program used also needs to preserve the exact order of the vertices. There are no other limitations on the obj files used.
Usage:
There are a commandline version and a version with graphic user interface. Both do exactly the same thing.
Here follows the explanation of how to use the commandline version.
Options:
-i --in input obj or target
-o --out output obj or target
-s --sub target to subtract from obj
-a --add target to add to obj
-d --dir input folder to load all objs or targets from
--intype type of file to be input, obj (default) or target only applicable if --dir is used
--outtype type of file that will be output, obj or target (default)
-h --help this info
-v --verbose verbose mode, shows extra information
Usage scenarios:
Load foo.obj as input, compare it with base.obj and output the difference as foo.target.
Load foo.obj, subtract foo1.target from it, and output the difference between the resulting obj and base.obj as foo.target.
Load foo.obj, add foo1.target to it, and output the difference between the resulting obj and base.obj as foo.target.
Load all objs from myfolder, save the difference between the base.obj and each of the input objs to a target file with the same name as the input obj.
Load all objs from myfolder, subtract foo1.target from each of them, and save the difference between base.obj and each of the resulting objs to a target file with the same name as the input obj.
Load all objs from myfolder, add foo1.target to each of them, and save the difference between base.obj and each of the resulting objs to a target file with the same name as the input obj.
Load foo.target, apply it to base.obj and output the resulting obj as foo.obj.
Load all target files from myfolder, apply each of them to base.obj and save the result of each to obj with the same name as the target file.
Load all target files in myfolder, apply each of them to base.obj while also subtracting foo1.target from the result. Save each combination to an obj with the same name as the input target.
Load all target files in myfolder, apply each of them to base.obj while also adding foo1.target to the result. Save each combination to an obj with the same name as the input target.
This is the usage information as can be obtained by running the "maketarget.py --help" command. Some additional scenarios that are not documented are possible with the tool.
The user is protected from issuing commands that make no sense (eg. do nothing) as the tool will warn you about this.
Also note that files are never overwritten. Upon encountering an already existing file this file is backed up as original_filename.bak. Additional backups of the same file are named in order original_filename.bak.0 original_filename.bak.1 etc.
The GUI version of the tool does exactly the same thing. The exact same options (except help and verbose) are available in the GUI. The only difference between commandline and GUI version is that the GUI demands you specify an --in or --dir parameter. With the commandline tool you can do without as long as you specify some --add or --sub targets.
==== Compiling Binaries ====
For the ease of distribution a pyinstaller configuration is supplied to create a self-contained binary executable for both windows and linux. (MAC OS might work but is untested). For running this executable, the user does not need to install python or any other libraries (such as wxwidgets) on his computer. For building the package, however, you need to have those dependencies
installed, and need to build the package on the target OS. There are two build files available:
* compilePyinstaller.bat,for building a windows executable
* compilePyinstaller.sh for building a linux executable (might work for OSX too)
In order to use them you need to create a folder called "pyinstaller" in the makehuman/tools/standalone/maketarget folder. The build configs were tested with pyinstaller 1.5.1, but might work on future or older versions too.
Additionally these dependencies are needed for the respective operating systems:
Windows:
* Python 2.7
!LINK!http://python.org/ -- http://python.org/!/LINK!
I recommend using python 2.7 as I had issues with 2.6 and pyinstaller. The tool works fine with python 2.6, however
* pywin32
!LINK!http://sourceforge.net/projects/pywin32/ -- http://sourceforge.net/projects/pywin32/!/LINK!
Python extensions for windows. Needed for pyinstaller to work.
* wxpython2.8
!LINK!http://www.wxpython.org/ -- http://www.wxpython.org/!/LINK!
WX Widgets libraries and python wrappers for windows. Installable as one singe package.I recommend using the wxPython2.8 win32 unicode package for python 2.7.
* UPX (optional)
!LINK!http://upx.sourceforge.net/ -- http://upx.sourceforge.net/!/LINK!
This is a tool for compressing the executable and reduce its size. Compression will happen automatically if UPX is installed. To install UPX copy upx.exe to C:\WINDOWS\system32
Note: you will need at least UPX 1.92 beta due to incompatibilites with the Visual Studio compiler, with which newer versions of python are compiled on windows.
Linux:
* Python 2.6
!LINK!http://python.org/ -- http://python.org/!/LINK!
Version 2.7 works fine too.
* python-wxgtk2.8
* libwxgtk2.8
!LINK!http://www.wxpython.org/ -- http://www.wxpython.org/!/LINK!
!LINK!http://www.wxwidgets.org/ -- http://www.wxwidgets.org/!/LINK!
WX Widgets libraries and python wrappers for wx
* UPX (optional)
!LINK!http://upx.sourceforge.net/ -- http://upx.sourceforge.net/!/LINK!
This is a tool for compressing the executable and reduce its size. Compression will happen automatically if UPX is installed
The pyinstaller script will create all the files that need to be distributed in a folder called dist/ (this will be an .xrc file, the executable, and a resources/ folder containing images used in the GUI).
You can archive the contents of the dist/ folder and distribute these freely as a standalone application.
=== wxWidgets specific information ===
The GUI of this tool has been made using the python version of wxWidgets. The GUI form itself is not created using application code, but is instead loaded from the maketarget.xrc file that declares the GUI. This file was built using wxFormBuilder (!LINK!http://wxformbuilder.org/ -- http://wxformbuilder.org/!/LINK!). The file maketarget_gui.fbp is the source file that can be opened in formbuilder. The xrc file is output generated using the formbuilder application. However, the xrc could be edited manually too (but this would cause fbp and xrc file to go out of sync).
=== More information ===
For more specific details you can contact the author Jonas Hauquier at the makehuman.org website.
=== MHBlenderTools: MakeTarget ===
==== What is a Target? The MakeHuman Morphing Process. ====
The principle is simple. A target is a modifcation to a base mesh shape that does not alter the mesh itself but that stores information that permits the base mesh to be transformed into the target shape using ‘morphing’. Targets are what allow the slider controls in MakeHuman™ to take a single base mesh for a character and morph the shape of that character based on a variety of different feature target files. The many target files used by MakeHuman™ can alter a single human base form into characters with features as different as those distinguishing male from female to as subtle as varying the shape of a single earlobe.
!IMAGE!Pictures/morph1.png!/IMAGE!
A target contains the offsets by which vertices of the human base model (base.obj) deviate from the original to achieve a specific feature. eg. a long nose could be a target. These targets can be combined and MakeHuman™ uses them by blending targets together and gradually applying them to the base mesh to create a nearly endless variety of human forms. Below are examples of target blending obtained by choosing a target that defined the character as male and combining that target with the extreme settings for other targets that determned the muscle tone or weight of the character.
MakeHuman™ handles morphing with a special file format,.target.
==== Loading the Base Mesh ====
While it is possible to create targets using Blender without using the MakeTarget™ tool for Blender; that tool has many useful features that simplify the target creation process and will be explained by the help that follows. Once the MakeTarget™ add-on has been enabled (see the previous "Get and Install MH Addons for Blender" section), a panel labelled MakeTarget™ version 1.xx appears in theBlender User Interface, to the right of the viewport. The visibility of the Blender User Interface can be toggled on and off with the N-key.
!IMAGE!Pictures/maketarget131-area.png!/IMAGE!
The MakeTarge™ Version 1.31 Panel (Initial Settings)
!IMAGE!Pictures/maketarget131.png!/IMAGE!
Prior to loading any targets, the initial the MakeTarget™ panel consists of three main buttons. The first two buttons load the base human mesh, respectively with and without the special fitting tools. The third button labeled "Set As Base" sets an existing mesh (that must be MakeHuman™compliant and derived from the A8_v74.obj file distributed with the MakeTarget™ release within the maketarget/data/ folder) as a human base mesh. This third option is for users that have done editing of the base mesh in another 3D modelling program and that have saved or exported the model as a Wavefront .obj file
!IMAGE!Pictures/helper_details.png!/IMAGE!
Loading the "Human + Fit Tools" will import the base human +mesh helpers(image below, B). The "helpers" are special geometries, used in MakeHuman™ as a reference to correctly fit clothes, hair and accessories. These helpers can be annoying during the modelling of the character, so usually our artists first work on the pure body, loading the human only with the first button (image below, A), and then, in a successive step, they fit the helpers.
!IMAGE!Pictures/maketarget-base.png!/IMAGE!
==== Basic usage ====
=== The MakeTarget™ Version 1.09 Panel (After Loading The Target Mesh) ===
!IMAGE!Pictures/MakeTarget_load.png!/IMAGE!
After the mesh is loaded into the scene, the MakeTarget™panel layout will change, showing three new buttons that handle setting up the morphing targets. The first button creates a new empty target which will just be the original base mesh loaded in the previous step.
The second button loads the morphing from an existing target file. Do not attempt to load target files from the previous MakeHuman™versions, as these files are not compatible with the current base.
The third button creates a new target from an existing base mesh that is MakeHuman™compliant (derived from the A8_v74.obj file provided with the MakeTarget™release distribution), for example, a character modelled with an external tool (Maya, Max, C4D, etc..) and then saved or exported so that it can be imported into Blender as a wavefront obj file. To correctly use the third button, it is necessary to first select the imported base, then the MakeHuman™base, and then press the Load Target From Mesh button. When the steps have been done correctly and that button is pressed the imported base will disappear and its transformations will be transferred onto the MakeHuman™base.
=== Editing The Target And The "Save Target As" Button ===
After a new empty target is initialized or an existing one is loaded/imported, the MakeTarget™ panel layout will change again, offering a rich set of new options (image below). For the basic use of the MakeTarget™ tool you may ignore all of these options except for the "Save Target As" button.
To create a custom target, the artist has to alter the base mesh, which is done in the usual way within Blender. First start edit mode, and then select one or more vertices, moving them to reshape the mesh. You may use the full power of Blender to create your morphing target design.The only rule, in order to create a valid morphing target, is to never add or delete a vertex, face or edge. The topology must be absolutely preserved.After the modelling process is completed, the MakeHuman™morphing target can be saved by pressing the "Save Target As" button on the MakeTarget™panel. By default this will save all of the offset deviations of every vertice from the base mesh into the target file.
==== Advanced usage ====
=== The MakeTarget™Version 1.09 Panel (After Loading A Target) ===
During the creation or the editing of a target, as mentioned previously, the MakeTarget™panel shows a new layout with a rich set of options. Depending on whether the mesh is loaded without the fit tools (image below, left) or with the fit tools (image below, right), the panel offers different options.
!IMAGE!Pictures/maketarget131-panels.png!/IMAGE!
At the top of the panel there is a numeric slider that determines the amount of morphing to apply from the target. The maximum value is 1.0, which means that the target morphing is fully applied. A value of 0 will show the original base mesh without any target morphing. The minimum value of the slider is -1.0. Using negative values usually creates weird effects as a projected inverse of the target morph is applied, but these settings are useful to subtract unwanted morphing results when multiple targets are combined. The effect is shown in the image below beginning on the left with the full inverse of the morphing target, to the original base mesh in the middle, and finally to the fully applied morph target design on the right.
!IMAGE!Pictures/maketarget3.png!/IMAGE!
=== Load Target Section (After The First Target Is Loaded) ===
!IMAGE!Pictures/MakeTargetLoadSecondaryTarget.png!/IMAGE!
The three buttons that now in the "Load Target" section are used in exactly the same way as they were before any target was loaded, except that any targets that are now created or loaded with these buttons become a secondary target that can be applied to the previously loaded one. These buttons are used to append one or more additional targets to the first target and combine them in various proportions.
=== Discard And Apply Target Section ===
!IMAGE!Pictures/MakeTargetDiscardAndApplyTarget.png!/IMAGE!
The first two buttons under the "Discard And Apply Target" section will either discard all of the targets (returning you to the original base mesh) or only the last target appended (which will either be the last secondary target applied or the primary target if no secondary targets have been applied). The button "Apply targets" under the "Discard And Apply Target" section is used to join all targets into a single unique morphing target combination.
=== Symmetry Section ===
!IMAGE!Pictures/MakeTargetTargetSymmetryButtons.png!/IMAGE!
The two buttons in the "Symmetry" section are modelling tools, and are very useful. They has been designed to produce very reliable target results. Using the symmetry buttons will cause the mesh to become symetrical on either side of the X axis, with the option to apply edits from the left side of the character to the right side (Left->Right), or vice versa (Right->Left). Pressing these buttons will also align center vertices that have been unintentionally moved away from the center back to their center position.
=== Save Target Section ===
!IMAGE!Pictures/MakeTargetSaveTargetSection.png!/IMAGE!
Finally, press the "Save Target As" button to save the .target file once all secondary targets and edits have been completed.
The checkbox labeled "Selected verts only" is a very important option. This option when checked will permit you to select a set of vertices in edit mode and then save only those vertices into the target file. Such targets are useful when you want the target to only morph the selected vertices and leave all other vertices completely unaffected by the morphing target. For example, an artist could design a morphing target that is limited to the hands only, a single hand only, or to the head only, and save a target containing vertices that will only morph those body parts, while having no effect on other parts of the body that were not explicitly chosen by the artist.
The checkbox labeled "Active Target Only" will cause the "Save Target As" button to only save the last target only. This option normally applies when one or more secondary targets have been added using the Load Target section after adding the initial target.
=== Additional Fit Helper Buttons ===
!IMAGE!Pictures/MakeTargetFitTargetButton.png!/IMAGE!
!IMAGE!Pictures/MakeTargetSkirtEditingAffectOnly3.png!/IMAGE!
When the fit helpers have been included as part of the target, the additional options of the MakeTarget™panel shown in the images above appear. These buttons are included to work with the helper objects. When the helpers have been loaded, an additional button labeled "Fit Targets" is available under the Load Target section. This button should be pressed after making alterations to the body that disconnect it from the helper objects, but prior to making modifications to those objects. This button will refit the clothing to the body, and if pressed when the default All option under the "Affect Only: section is selected, all clothing helpers will be refitted to the body. However, the refitting process will cause any modifications previously made to a refitted helper objects to be lost. To limit the Fit Target button behavior to a single helper object, you should specify the object that you want to have refitted under the Affects Only section appearing at the bottom of the panel. This will cause the refitting to only affect the chosen helper (for example the Hair), while leaving all other helper objects unaffected, preserving your edit modifications to those helpers (for example, the Tights and Skirt helpers will not be refitted and your modifications to those helpers will be preserved if the Hair Affects Only option is set).
The additional helper options also include buttons that improve the fit of the skirt specifically by snapping the skirt to the character's waist ("Snap Skirt Waist" button) or straightening the skirt ("Straighten Skirt" button). It is recommended that you still select the Skirt as the Affects Only option prior to pressing either of these buttons.
c6dcf074131a80f82af789c9f37b72272fbec7ef
Documentation:TargetsV2
3000
688
2125
2124
2022-02-22T14:30:41Z
Robbaer
12
/* Before using the program */
wikitext
text/x-wiki
=== Before using the program ===
MakeTarget Version 2 is created to work with Blender 2.83 LTS or newer. It is used to create custom targets for the body. A target (also called a morph or morphing) a change of the 3d shape. It is used to create morphes or target for the MakeHuman basemesh. This Blender plug-in can also be used to correct existing MakeHuman targets.
More exactly, a target in MakeHuman is a table of changed vertices. It is an ASCII file containing 3 values that describe how each vertex should be moved. Target files are obviously derived from Blender shape keys. Thus, the workflow includes the creation of a new shape key in Blender as well. There is a difference between Blender shape keys and MakeHuman targets in that Blender internally creates a copy of the complete mesh, even when you only change one vertex; whereas, a MakeHuman target only contains the changed vertices.
Before a new target is created, the following questions should be answered:
* Is the target designed to only change parts of the body like ears or lips that are not covered by clothes and where bones will not be stretched or relocated?
If this is the case, it is sufficient to work only with the body mesh.
* Is the target designed to also change parts covered by clothes and bones?
In this case, the body + helper mesh must be used
* Which mesh should be most likely used?
You should decide between male or female mesh or the standard mesh used in MakeHuman, when started.
=== Load the mesh ===
Best way is to load a human mesh using MPFB (MakeHuman Plugin for Blender). It has some presets which have to be used if you work with MakeTarget and it has a special help to work with the helper. You need to have MakeHuman in parallel using the socket connector (see image below).
In Blender, set MPFB "Settings" to "MakeTarget" and load settings. After that import the mesh.
[[File:MTG LoadMesh.png]]
To switch on the helper a modifier is added, just press the marked symbol and the helper will appear or disappear.
[[File:MTG ToggleHelper.png]]
If you don't use MPFB, you can also load a human mesh with Makeclothes2. This will not include the toggle for the helper.
There are a few additional methods, you can load it via mhx2 .. but be careful the scale must be the same otherwise your target will either use 1/10 of the movement or 10 times as much later in MakeHuman (mhx2 export: use decimeter). So easiest way is either to use MPFB or MakeClothes
=== Create a new target ===
As an example a target named lower-eyesbrows (should look a bit like an early human) should be created. It does not involve clothes and also no bones are changed. So in this case a mesh without
helpers would be sufficient.
The name lower-eyebrows is used to create the target. The result are two shape keys. An initial one "Basis" and the shape key which has to be changed.
[[File:MTG CreateTarget.png]]
Now the mesh is changed (make sure lower-eyebrows is selected in shape keys) so that the eyebrows are lowered. Best is to use proportional edit for your work. Be aware not to influence the eyelash region, otherwise the helper mesh must be changed for the eyelashes also.
Lets only change one eyebrow like in the picture.
The other side will be created by mirroring the target, here "copy +x to -x" is used. The copy command symmetrizes left and right side. A vertex in the middle will be set to x=0, so the mesh will stay totally symmetrical.
[[File:MTG SymmetrizeTarget.png]]
''Hint: symmetrizing is done with a table, so it will not fail as long as the table matches the mesh you load.''
=== Save the target ===
The last step is to save the target. Search for your target path of MakeHuman (custom targets). You can create a sub-folder if you work with a lot of own targets, like in the picture.
In MakeHuman these folders must be scanned again. So press the rescan-button. Then a subfolder will be detected and the target is ready to use.
[[File:MTG SaveTarget.png]]
=== Load a target ===
You can reload this target into MakeTarget2. As an example it is also easy to load a target made by someone else and change it or to load the official targets (only available on GitHub, the targets of the distribution are compressed). Especially if the helper was not changed, something that is sometimes neglected: load the mesh with helper, load the target, do the corrections and save it again.
[[File:MTG LoadTarget.png]]
5a93604753258efa77000fd820a84f8296feee9f
2124
1959
2022-02-22T14:04:34Z
Robbaer
12
wikitext
text/x-wiki
=== Before using the program ===
MakeTarget Version 2 is created to work with Blender 2.83 LTS or newer. It is used to create custom targets for the body. A target is also called a morph or morphing which normally means the change of a shape in 3d. So it is used to create morphes or target of the basemesh. This program can also be used to correct targets made before.
The result of this target in MakeHuman is a table of changed vertices. It is an ASCII file containing 3 values how each vertex should be moved. It is obviously derived from Blender shape keys. So the workflow includes to create a new shape key in Blender as well.
There is a difference: Blender internally creates a copy of the complete mesh, even when you only change one vertex, the target of MakeHuman only contains the changed vertices.
Before a new target is created, the following questions should be answered:
* Should the target only change parts of the body like ears or lips not covered by clothes and where bones will not be stretched or located different?
In this case is sufficient to work only with the body
* Does the target also change part clothes and bones?
In this case body + helper mesh must be used
* Which mesh should be most likely used?
You should decide between male or female mesh or the standard mesh used in MakeHuman, when started.
=== Load the mesh ===
Best way is to load a human mesh using MPFB (MakeHuman Plugin for Blender). It has some presets which have to be used if you work with MakeTarget and it has a special help to work with the helper. You need to have MakeHuman in parallel using the socket connector (see image below).
In Blender, set MPFB "Settings" to "MakeTarget" and load settings. After that import the mesh.
[[File:MTG LoadMesh.png]]
To switch on the helper a modifier is added, just press the marked symbol and the helper will appear or disappear.
[[File:MTG ToggleHelper.png]]
If you don't use MPFB, you can also load a human mesh with Makeclothes2. This will not include the toggle for the helper.
There are a few additional methods, you can load it via mhx2 .. but be careful the scale must be the same otherwise your target will either use 1/10 of the movement or 10 times as much later in MakeHuman (mhx2 export: use decimeter). So easiest way is either to use MPFB or MakeClothes
=== Create a new target ===
As an example a target named lower-eyesbrows (should look a bit like an early human) should be created. It does not involve clothes and also no bones are changed. So in this case a mesh without
helpers would be sufficient.
The name lower-eyebrows is used to create the target. The result are two shape keys. An initial one "Basis" and the shape key which has to be changed.
[[File:MTG CreateTarget.png]]
Now the mesh is changed (make sure lower-eyebrows is selected in shape keys) so that the eyebrows are lowered. Best is to use proportional edit for your work. Be aware not to influence the eyelash region, otherwise the helper mesh must be changed for the eyelashes also.
Lets only change one eyebrow like in the picture.
The other side will be created by mirroring the target, here "copy +x to -x" is used. The copy command symmetrizes left and right side. A vertex in the middle will be set to x=0, so the mesh will stay totally symmetrical.
[[File:MTG SymmetrizeTarget.png]]
''Hint: symmetrizing is done with a table, so it will not fail as long as the table matches the mesh you load.''
=== Save the target ===
The last step is to save the target. Search for your target path of MakeHuman (custom targets). You can create a sub-folder if you work with a lot of own targets, like in the picture.
In MakeHuman these folders must be scanned again. So press the rescan-button. Then a subfolder will be detected and the target is ready to use.
[[File:MTG SaveTarget.png]]
=== Load a target ===
You can reload this target into MakeTarget2. As an example it is also easy to load a target made by someone else and change it or to load the official targets (only available on GitHub, the targets of the distribution are compressed). Especially if the helper was not changed, something that is sometimes neglected: load the mesh with helper, load the target, do the corrections and save it again.
[[File:MTG LoadTarget.png]]
ae5e867654f4585e57a1120aa253f79b9daa2ebc
1959
2020-11-29T12:07:48Z
Punkduck
38
Created page with "=== Before using the program === MakeTarget Version 2 is created to work with new Blender. It is used to create custom targets for the body. A target is also called a morph o..."
wikitext
text/x-wiki
=== Before using the program ===
MakeTarget Version 2 is created to work with new Blender. It is used to create custom targets for the body. A target is also called a morph or morphing which normally means the change of a shape in 3d. So it is used to create morphes or target of the basemesh. This program can also be used to correct targets made before.
The result of this target in MakeHuman is a table of changed vertices. It is an ASCII file containing 3 values how each vertex should be moved. It is obviously derived from Blender shape keys. So the workflow includes to create a new shape key in Blender as well.
There is a difference: Blender internally creates a copy of the complete mesh, even when you only change one vertex, the target of MakeHuman only contains the changed vertices.
Before a new target is created, the following questions should be answered:
* Should the target only change parts of the body like ears or lips not covered by clothes and where bones will not be stretched or located different?
In this case is sufficient to work only with the body
* Does the target also change part clothes and bones?
In this case body + helper mesh must be used
* Which mesh should be most likely used?
You should decide between male or female mesh or the standard mesh used in MakeHuman, when started.
=== Load the mesh ===
Best way is to load a human mesh using MPFB (MakeHuman Plugin for Blender). It has some presets which have to be used if you work with MakeTarget and it has a special help to work with the helper. You need to have MakeHuman in parallel using the socket connector (see image below).
In Blender, set MPFB "Settings" to "MakeTarget" and load settings. After that import the mesh.
[[File:MTG LoadMesh.png]]
To switch on the helper a modifier is added, just press the marked symbol and the helper will appear or disappear.
[[File:MTG ToggleHelper.png]]
If you don't use MPFB, you can also load a human mesh with Makeclothes2. This will not include the toggle for the helper.
There are a few additional methods, you can load it via mhx2 .. but be careful the scale must be the same otherwise your target will either use 1/10 of the movement or 10 times as much later in MakeHuman (mhx2 export: use decimeter). So easiest way is either to use MPFB or MakeClothes
=== Create a new target ===
As an example a target named lower-eyesbrows (should look a bit like an early human) should be created. It does not involve clothes and also no bones are changed. So in this case a mesh without
helpers would be sufficient.
The name lower-eyebrows is used to create the target. The result are two shape keys. An initial one "Basis" and the shape key which has to be changed.
[[File:MTG CreateTarget.png]]
Now the mesh is changed (make sure lower-eyebrows is selected in shape keys) so that the eyebrows are lowered. Best is to use proportional edit for your work. Be aware not to influence the eyelash region, otherwise the helper mesh must be changed for the eyelashes also.
Lets only change one eyebrow like in the picture.
The other side will be created by mirroring the target, here "copy +x to -x" is used. The copy command symmetrizes left and right side. A vertex in the middle will be set to x=0, so the mesh will stay totally symmetrical.
[[File:MTG SymmetrizeTarget.png]]
''Hint: symmetrizing is done with a table, so it will not fail as long as the table matches the mesh you load.''
=== Save the target ===
The last step is to save the target. Search for your target path of MakeHuman (custom targets). You can create a sub-folder if you work with a lot of own targets, like in the picture.
In MakeHuman these folders must be scanned again. So press the rescan-button. Then a subfolder will be detected and the target is ready to use.
[[File:MTG SaveTarget.png]]
=== Load a target ===
You can reload this target into MakeTarget2. As an example it is also easy to load a target made by someone else and change it or to load the official targets (only available on GitHub, the targets of the distribution are compressed). Especially if the helper was not changed, something that is sometimes neglected: load the mesh with helper, load the target, do the corrections and save it again.
[[File:MTG LoadTarget.png]]
ec665bdb61646f295c919facd5ed37bf5425a6f2
Documentation:Texture painting a skin in blender
3000
159
398
2015-08-14T15:17:28Z
Joepal
14
Created page with " [[File:Texpaint01.png|500px|thumb]] To start a texture painting project, we are best off switching to "blender render" mode (rather than cycles). This is not required, but fo..."
wikitext
text/x-wiki
[[File:Texpaint01.png|500px|thumb]]
To start a texture painting project, we are best off switching to "blender render" mode (rather than cycles). This is not required, but for various reasons it is somewhat simpler and more efficient.
We also want a human to paint the skin on. If you have MakeTarget or MakeClothes installed, simply click the "load human" button. Otherwise, import a human from MakeHuman as usual.
<br style="clear: both">
[[File:Texpaint02.png|500px|thumb]]
To create an image to use as texture, we can switch to the "UV Editing" (and image painting) view in blender. You could have created this through other means, but we might as well learn how to find this now.
<br style="clear: both">
[[File:Texpaint03.png|500px|thumb]]
Here we can either "open" an existing image, or create a new one by clicking "New". For the sake of this tutorial we create a new blank texture.
As a hint: If you want a demo skin to modify rather than create one from scratch, you could download the "Annotated Skin" from the skin repo and open it here. That skin has clear markers and labels explaining the different areas of the skin.
<br style="clear: both">
[[File:Texpaint04.png|500px|thumb]]
You should give it a sensible name and decent dimensions. Textures are usually quite large, otherwise they'll look grainy on close-up renders.
<br style="clear: both">
[[File:Texpaint05.png|500px|thumb]]
Go back to the default view.
<br style="clear: both">
[[File:Texpaint06.png|500px|thumb]]
Mark the human toon and create a material for it. The material properties doesn't matter much at this point, but a sensible name is useful.
<br style="clear: both">
[[File:Texpaint07.png|500px|thumb]]
Create a new texture channel for the material.
<br style="clear: both">
[[File:Texpaint08.png|500px|thumb]]
Assign the image we created previously (or pick one that you have opened).
<br style="clear: both">
[[File:Texpaint09.png|500px|thumb]]
In the main view, select the "texture paint" mode and the "material" display. Missing the latter is something that tend to confuse first-time skinners, as forgetting it will often prevent you from seeing what you're doing.
<br style="clear: both">
[[File:Texpaint10.png|500px|thumb]]
You should now be able to simply draw anywhere on the body.
<br style="clear: both">
[[File:Texpaint11.png|500px|thumb]]
If you want to see the resulting texture image, or if you want to paint faces in 2D mode, switch to the "UV editing" layout again. To be able to paint on the 2D surface, you need to switch to "paint" mode.
<br style="clear: both">
[[File:Texpaint12.png|500px|thumb]]
Don't forget to save your image. The first time, choose "save as image", on later saves use "save image".
<br style="clear: both">
You should now have an image texture. If you want to use it inside MakeHuman, see [[FAQ:How can I create skin textures?]].
1aa7d6dd0c8846d02fe44906213550a237470b3a
Documentation:The interface and its basic functions
3000
224
1102
680
2016-07-05T17:05:27Z
Aranuvir
17
wikitext
text/x-wiki
[[File:interface-labelled_new.png]]
The application user interface comprises of the various elements. The core elements are :
* the toolbar with its various partitions.
* The tabs and sub-tabs which allow you to navigate the application, and utilise its various features in a coherent easy to understand manner.
* The 3D view window which allows you to view the human as it is morphed, posed etc.
* The left and right option panels whose options change depending upon the tab/sub-tab you are in.
* Finally there is a progress Bar which shows the progress of an operation and the Information Bar providing useful information.
Note: Different views may contain different options. These options are described in more detail in the appropriate heads in the rest of the documentation.
d3085193fa488477ac58989e3f0bd159b77edca2
680
2016-05-20T08:29:16Z
Joepal
14
Created page with " !IMAGE!Pictures/interface-labelled_new.png!/IMAGE! The application user interface comprises of the various elements. The core elements are : * the toolbar with its variou..."
wikitext
text/x-wiki
!IMAGE!Pictures/interface-labelled_new.png!/IMAGE!
The application user interface comprises of the various elements. The core elements are :
* the toolbar with its various partitions.
* The tabs and sub-tabs which allow you to navigate the application, and utilise its various features in a coherent easy to understand manner.
* The 3D view window which allows you to view the human as it is morphed, posed etc.
* The left and right option panels whose options change depending upon the tab/sub-tab you are in.
* Finally there is a progress Bar which shows the progress of an operation and the Information Bar providing useful information.
Note: Different views may contain different options. These options are described in more detail in the appropriate heads in the rest of the documentation.
1f20d48f0410b1baf102045c5f404c068fbf8c95
Documentation:The sliders
3000
227
683
2016-05-20T08:33:35Z
Joepal
14
Created page with "MakeHuman is based on parametric modelling, controlled by sliders. !IMAGE!Pictures/wMgROK6FRzzyQAAAABJRU5ErkJggg==!/IMAGE! The meaning of each slider is generally self exp..."
wikitext
text/x-wiki
MakeHuman is based on parametric modelling, controlled by sliders.
!IMAGE!Pictures/wMgROK6FRzzyQAAAABJRU5ErkJggg==!/IMAGE!
The meaning of each slider is generally self explanatory. Each slider controls the amount of a feature is expressed in the character from its minimum value to is maximum value.
For example, the slider "Age" will change the character from the minimum age, which is about 2 years old, to the maximum age of about 80. When multiple sliders are moved, the values are mixed to form a character that reflects the user's chosen settings using a special interpolation engine.
Each slider can be reset individually with right click on it.
A slider normally moves in increments of 3 or 4 setting values when dragged with the mouse; however, you can place the mouse cursor over the orange portion of the slider and use the mouse scroll wheel to make adjustments in smaller increments of 1.
974cf7689249301b0fbe8b1fa700fc8fda197ddd
Documentation:The tabs
3000
226
1104
682
2016-07-05T17:12:20Z
Aranuvir
17
wikitext
text/x-wiki
Most of the user controls of the MakeHuman application are accessed through the tabs panel. The tabs are organized intoMainTabsandSubTabs.TheMain Tabsoutline the broad category to which functionality belongs and the Sub Tabs allow for more fine grained control over various aspects of the main category.ThereforeSub Tabskeep changing based on whichMain Tabhas been selected.
E.g. When you select the "Files" main tab all file associated functions are made accessible via subtabs such as saving, loading and exporting. In the below image Sub Tabs for the "Modelling" main tab are shown.
[[File:maintab.png]]
The Primary Tab groups are shown in the image above and from left to right are:
* Files:The Files Tab options provide access to the controls that manage saving, loading and exporting the MakeHuman™ project to or from files.
* Modelling:The Modelling Tab options provide access to the controls that shape and alter the appearance of the MakeHuman™ project model.
* Geometries:. The Geometries Tab options provide access to controls that add new geometries or change the human geometry within the MakeHuman™ project. E.g. Clothes, Eyes, Hair, Teeth, Genitals.
* Materials:The materials available for the human and the additional geometries.
* Pose/Animate:Options for posing animating and rigging a character.
* Rendering:Rendering options using the MakeHuman internal renderer. Currently external rendering is not supported from within the program.
* Settings:Provide options to configure settings of MakeHuman
* Utilities:Provide some additional more advanced utilities. E.g. Material Editor
* Help: The Help Tab's Help option provides access to controls that access the Help and support resources available for the MakeHuman™ project.
158b142b4f7b0dceefff35e3cef49b7121b1098e
682
2016-05-20T08:32:29Z
Joepal
14
Created page with "Most of the user controls of the MakeHuman application are accessed through the tabs panel. The tabs are organized intoMainTabsandSubTabs.TheMain Tabsoutline the broad categor..."
wikitext
text/x-wiki
Most of the user controls of the MakeHuman application are accessed through the tabs panel. The tabs are organized intoMainTabsandSubTabs.TheMain Tabsoutline the broad category to which functionality belongs and the Sub Tabs allow for more fine grained control over various aspects of the main category.ThereforeSub Tabskeep changing based on whichMain Tabhas been selected.
E.g. When you select the "Files" main tab all file associated functions are made accessible via subtabs such as saving, loading and exporting. In the below image Sub Tabs for the "Modelling" main tab are shown.
!IMAGE!Pictures/maintab.png!/IMAGE!
The Primary Tab groups are shown in the image above and from left to right are:
* Files:The Files Tab options provide access to the controls that manage saving, loading and exporting the MakeHuman™ project to or from files.
* Modelling:The Modelling Tab options provide access to the controls that shape and alter the appearance of the MakeHuman™ project model.
* Geometries:. The Geometries Tab options provide access to controls that add new geometries or change the human geometry within the MakeHuman™ project. E.g. Clothes, Eyes, Hair, Teeth, Genitals.
* Materials:The materials available for the human and the additional geometries.
* Pose/Animate:Options for posing animating and rigging a character.
* Rendering:Rendering options using the MakeHuman internal renderer. Currently external rendering is not supported from within the program.
* Settings:Provide options to configure settings of MakeHuman
* Utilities:Provide some additional more advanced utilities. E.g. Material Editor
* Help: The Help Tab's Help option provides access to controls that access the Help and support resources available for the MakeHuman™ project.
4d35e8d162959698f6170041cbd17575f097e590
Documentation:The toolbar
3000
225
1136
1135
2016-08-18T14:08:36Z
Robbaer
12
/* The View partition */
wikitext
text/x-wiki
The "Main Toolbar" is actually made up of six separate partitions.
[[File:the_toolbar.jpeg]]
== The Files partition ==
[[File:the_toolbar-file.jpeg]]
This partition provides shortcut buttons that deal with saving or loading files (Save, Load, Export).
The save button performs the same action as pressing the Files tab and then the Save tab when there is no filename specified. If the file was given a name earlier and saved once this button performs a quick save over the file specified earlier.
The Load button takes you to the file loading window where you can choose the file to load.
The Export button takes you to the export tab and allows you to export your current MakeHuman project to one of the variety of export formats the MakeHuman program supports. Supported formats include mesh formats such as Filmbox (fbx),Wavefront obj, Sterolithography (stl), rig/rigging related formats such as Biovision Hierarchy and various maps such as Light Maps, and UV maps.
Load, Save and Export options are explained in more detail!LINK!http://www.makehuman.org/doc/node/load_save_and_export.html -- here!/LINK!.
== The Edit partition ==
[[File:the_toolbar-undoredo.jpeg]]
The Edit partition of the toolbar, provides shortcut buttons that deal with editing actions.
The Undo button is to undo the last action that has been performed. Undo can be pressed to cancel actions until you have undone all of the actions taken during your current MakeHuman session.
The Redo button is related to the Undo button and will restore the last action that has been undone. Redo can be pressed until all undone actions performed during the current MakeHuman session have been restored.
The reset button returns the human to its initial state, which includes its target, pose, geometry, material, and rendering settings. The undo/redo stack will be emptied. The camera will not be reset.
== The View partition ==
[[File:the_toolbar-smoothandwire.jpeg]]
The View partition toolbar, provides buttons that manage the display mode of the character (Smooth, Wireframe, Background on/off).
Wireframe mode allows you to view the mesh in Wireframe mode like in many other 3D applications.
The Background option allows you to load a background reference image.
The pose button is used for posing. When a rig and pose is active this button is enabled and allows you to toggle between the selected pose and the default rest pose.
The "smooth" is particularly interesting since it subdivides the mesh. The image below shows the mesh smooth and normal, using the wireframe mode. This uses Catmull–Clark subdivision to create a much more dense smoother mesh.
[[File:nsmooth.png]]
== The Symmetry partition ==
[[File:the_toolbar-symmetry.jpeg]]
The Symmetry partitiontoolbar, provides buttons that manage transferring settings applied to one side of the character to the other side of the character so that the character features become symmetrical.
[[File:symm.png]]
There are options for right to left symmetry, left to right symmetry and a general symmetry mode. Left to right symmetry applies all changes made on the left side to the right side of the human/character. Right to left symmetry applies all changes made on the right side to the left side of the human/character.
General symmetry mode behaves differently. When it is active all changes made are symmetrical when it is inactive any changes made to any one side affect that one side only. So this mode therefore allows the user to selectively apply symmetry.
In the above image the Left side of the character is made symmetrical with the right side of the character.
== The camera partition ==
[[File:the_toolbar-cameraviews.jpeg]]
The Camera partition of the toolbar, manages the Camera placement within the scene so that the character can be viewed from different angles and zoom levels. (Front View, Back View, Left View, Right View, Top View, Bottom View, Global Camera, Face Camera and Reset Camera options are available).
== The help partition ==
[[File:the_toolbar-screengrbhelp.jpeg]]
The Help partition, allows you to save a quick screenshot of the view or to access to the help tab.
By default the toolbars are arranged in the order shown above horizontally next to each other along the top edge of the MakeHuman window. The four partition toolbars can each be moved to any area of your screen in Windows by clicking and holding the left mouse button on the left edge of the toolbar and dragging it to the location you desire.
34efba06f318fb2c3713364964dee031a2e5a8b3
1135
1134
2016-08-18T14:08:09Z
Robbaer
12
/* The View partition */
wikitext
text/x-wiki
The "Main Toolbar" is actually made up of six separate partitions.
[[File:the_toolbar.jpeg]]
== The Files partition ==
[[File:the_toolbar-file.jpeg]]
This partition provides shortcut buttons that deal with saving or loading files (Save, Load, Export).
The save button performs the same action as pressing the Files tab and then the Save tab when there is no filename specified. If the file was given a name earlier and saved once this button performs a quick save over the file specified earlier.
The Load button takes you to the file loading window where you can choose the file to load.
The Export button takes you to the export tab and allows you to export your current MakeHuman project to one of the variety of export formats the MakeHuman program supports. Supported formats include mesh formats such as Filmbox (fbx),Wavefront obj, Sterolithography (stl), rig/rigging related formats such as Biovision Hierarchy and various maps such as Light Maps, and UV maps.
Load, Save and Export options are explained in more detail!LINK!http://www.makehuman.org/doc/node/load_save_and_export.html -- here!/LINK!.
== The Edit partition ==
[[File:the_toolbar-undoredo.jpeg]]
The Edit partition of the toolbar, provides shortcut buttons that deal with editing actions.
The Undo button is to undo the last action that has been performed. Undo can be pressed to cancel actions until you have undone all of the actions taken during your current MakeHuman session.
The Redo button is related to the Undo button and will restore the last action that has been undone. Redo can be pressed until all undone actions performed during the current MakeHuman session have been restored.
The reset button returns the human to its initial state, which includes its target, pose, geometry, material, and rendering settings. The undo/redo stack will be emptied. The camera will not be reset.
== The View partition ==
[[File:the_toolbar-smoothandwire.jpeg]]
The View partition toolbar, provides buttons that manage the display mode of the character (Smooth, Wireframe, Background on/off).
Wireframe mode allows you to view the mesh in Wireframe mode like in many other 3D applications.
The Background option allows you to load a background reference image.
The pose button is used for posing. When a rig and pose is active this button is enabled and allows you to toggle between the selected pose and the default rest pose.
The "smooth" is particularly interesting since it subdivides the mesh. The image below shows the mesh smooth and normal, using the wireframe mode. This uses Catmull–Clarksubdivision to create a much more dense smoother mesh.
[[File:nsmooth.png]]
== The Symmetry partition ==
[[File:the_toolbar-symmetry.jpeg]]
The Symmetry partitiontoolbar, provides buttons that manage transferring settings applied to one side of the character to the other side of the character so that the character features become symmetrical.
[[File:symm.png]]
There are options for right to left symmetry, left to right symmetry and a general symmetry mode. Left to right symmetry applies all changes made on the left side to the right side of the human/character. Right to left symmetry applies all changes made on the right side to the left side of the human/character.
General symmetry mode behaves differently. When it is active all changes made are symmetrical when it is inactive any changes made to any one side affect that one side only. So this mode therefore allows the user to selectively apply symmetry.
In the above image the Left side of the character is made symmetrical with the right side of the character.
== The camera partition ==
[[File:the_toolbar-cameraviews.jpeg]]
The Camera partition of the toolbar, manages the Camera placement within the scene so that the character can be viewed from different angles and zoom levels. (Front View, Back View, Left View, Right View, Top View, Bottom View, Global Camera, Face Camera and Reset Camera options are available).
== The help partition ==
[[File:the_toolbar-screengrbhelp.jpeg]]
The Help partition, allows you to save a quick screenshot of the view or to access to the help tab.
By default the toolbars are arranged in the order shown above horizontally next to each other along the top edge of the MakeHuman window. The four partition toolbars can each be moved to any area of your screen in Windows by clicking and holding the left mouse button on the left edge of the toolbar and dragging it to the location you desire.
d3de9ea4cea64c7026f15c0bcc0f763be463b91e
1134
1133
2016-08-18T13:59:13Z
Robbaer
12
/* The Edit partition */
wikitext
text/x-wiki
The "Main Toolbar" is actually made up of six separate partitions.
[[File:the_toolbar.jpeg]]
== The Files partition ==
[[File:the_toolbar-file.jpeg]]
This partition provides shortcut buttons that deal with saving or loading files (Save, Load, Export).
The save button performs the same action as pressing the Files tab and then the Save tab when there is no filename specified. If the file was given a name earlier and saved once this button performs a quick save over the file specified earlier.
The Load button takes you to the file loading window where you can choose the file to load.
The Export button takes you to the export tab and allows you to export your current MakeHuman project to one of the variety of export formats the MakeHuman program supports. Supported formats include mesh formats such as Filmbox (fbx),Wavefront obj, Sterolithography (stl), rig/rigging related formats such as Biovision Hierarchy and various maps such as Light Maps, and UV maps.
Load, Save and Export options are explained in more detail!LINK!http://www.makehuman.org/doc/node/load_save_and_export.html -- here!/LINK!.
== The Edit partition ==
[[File:the_toolbar-undoredo.jpeg]]
The Edit partition of the toolbar, provides shortcut buttons that deal with editing actions.
The Undo button is to undo the last action that has been performed. Undo can be pressed to cancel actions until you have undone all of the actions taken during your current MakeHuman session.
The Redo button is related to the Undo button and will restore the last action that has been undone. Redo can be pressed until all undone actions performed during the current MakeHuman session have been restored.
The reset button returns the human to its initial state, which includes its target, pose, geometry, material, and rendering settings. The undo/redo stack will be emptied. The camera will not be reset.
== The View partition ==
[[File:the_toolbar-smoothandwire.jpeg]]
The View partition toolbar, provides buttons that manage the display mode of the character (Smooth, Wireframe, Background on/off).
Wireframe mode allows you to view the mesh in Wireframe mode like in many other 3D applications.
The Background option allows you to load a background reference image.
The pose button is used for posing. When a rig and pose is active this button is enabled and allows you to toggle between the selected pose and the default rest pose.
The "smooth" is particularly interesting since it subdivides the mesh. The image below shows the mesh smooth and normal, using the wireframe mode. This usesCatmull–Clarksubdivision to create a much more dense smoother mesh.
[[File:nsmooth.png]]
== The Symmetry partition ==
[[File:the_toolbar-symmetry.jpeg]]
The Symmetry partitiontoolbar, provides buttons that manage transferring settings applied to one side of the character to the other side of the character so that the character features become symmetrical.
[[File:symm.png]]
There are options for right to left symmetry, left to right symmetry and a general symmetry mode. Left to right symmetry applies all changes made on the left side to the right side of the human/character. Right to left symmetry applies all changes made on the right side to the left side of the human/character.
General symmetry mode behaves differently. When it is active all changes made are symmetrical when it is inactive any changes made to any one side affect that one side only. So this mode therefore allows the user to selectively apply symmetry.
In the above image the Left side of the character is made symmetrical with the right side of the character.
== The camera partition ==
[[File:the_toolbar-cameraviews.jpeg]]
The Camera partition of the toolbar, manages the Camera placement within the scene so that the character can be viewed from different angles and zoom levels. (Front View, Back View, Left View, Right View, Top View, Bottom View, Global Camera, Face Camera and Reset Camera options are available).
== The help partition ==
[[File:the_toolbar-screengrbhelp.jpeg]]
The Help partition, allows you to save a quick screenshot of the view or to access to the help tab.
By default the toolbars are arranged in the order shown above horizontally next to each other along the top edge of the MakeHuman window. The four partition toolbars can each be moved to any area of your screen in Windows by clicking and holding the left mouse button on the left edge of the toolbar and dragging it to the location you desire.
44bf5df07bbe5fcd6f5bc7419785b94060e95cb2
1133
1132
2016-08-18T13:32:08Z
Robbaer
12
/* The Edit partition */
wikitext
text/x-wiki
The "Main Toolbar" is actually made up of six separate partitions.
[[File:the_toolbar.jpeg]]
== The Files partition ==
[[File:the_toolbar-file.jpeg]]
This partition provides shortcut buttons that deal with saving or loading files (Save, Load, Export).
The save button performs the same action as pressing the Files tab and then the Save tab when there is no filename specified. If the file was given a name earlier and saved once this button performs a quick save over the file specified earlier.
The Load button takes you to the file loading window where you can choose the file to load.
The Export button takes you to the export tab and allows you to export your current MakeHuman project to one of the variety of export formats the MakeHuman program supports. Supported formats include mesh formats such as Filmbox (fbx),Wavefront obj, Sterolithography (stl), rig/rigging related formats such as Biovision Hierarchy and various maps such as Light Maps, and UV maps.
Load, Save and Export options are explained in more detail!LINK!http://www.makehuman.org/doc/node/load_save_and_export.html -- here!/LINK!.
== The Edit partition ==
[[File:the_toolbar-undoredo.jpeg]]
The Edit partition of the toolbar, provides shortcut buttons that deal with editing actions.
The Undo button is to undo the last action that has been performed. Undo can be pressed to cancel actions until you have undone all of the actions taken during your current MakeHuman session.
The Redo button is related to the Undo button and will restore the last action that has been undone. Redo can be pressed until all undone actions performed during the current MakeHuman session have been restored.
The reset button returns the human to its initial state, which includes all its target, geometry, material and rendering settings. The camera will not be reset.
== The View partition ==
[[File:the_toolbar-smoothandwire.jpeg]]
The View partition toolbar, provides buttons that manage the display mode of the character (Smooth, Wireframe, Background on/off).
Wireframe mode allows you to view the mesh in Wireframe mode like in many other 3D applications.
The Background option allows you to load a background reference image.
The pose button is used for posing. When a rig and pose is active this button is enabled and allows you to toggle between the selected pose and the default rest pose.
The "smooth" is particularly interesting since it subdivides the mesh. The image below shows the mesh smooth and normal, using the wireframe mode. This usesCatmull–Clarksubdivision to create a much more dense smoother mesh.
[[File:nsmooth.png]]
== The Symmetry partition ==
[[File:the_toolbar-symmetry.jpeg]]
The Symmetry partitiontoolbar, provides buttons that manage transferring settings applied to one side of the character to the other side of the character so that the character features become symmetrical.
[[File:symm.png]]
There are options for right to left symmetry, left to right symmetry and a general symmetry mode. Left to right symmetry applies all changes made on the left side to the right side of the human/character. Right to left symmetry applies all changes made on the right side to the left side of the human/character.
General symmetry mode behaves differently. When it is active all changes made are symmetrical when it is inactive any changes made to any one side affect that one side only. So this mode therefore allows the user to selectively apply symmetry.
In the above image the Left side of the character is made symmetrical with the right side of the character.
== The camera partition ==
[[File:the_toolbar-cameraviews.jpeg]]
The Camera partition of the toolbar, manages the Camera placement within the scene so that the character can be viewed from different angles and zoom levels. (Front View, Back View, Left View, Right View, Top View, Bottom View, Global Camera, Face Camera and Reset Camera options are available).
== The help partition ==
[[File:the_toolbar-screengrbhelp.jpeg]]
The Help partition, allows you to save a quick screenshot of the view or to access to the help tab.
By default the toolbars are arranged in the order shown above horizontally next to each other along the top edge of the MakeHuman window. The four partition toolbars can each be moved to any area of your screen in Windows by clicking and holding the left mouse button on the left edge of the toolbar and dragging it to the location you desire.
ad7d2f36817375a68950dd4bbffdc5ce693f037d
1132
1131
2016-08-18T13:24:35Z
Robbaer
12
/* The Edit partition */
wikitext
text/x-wiki
The "Main Toolbar" is actually made up of six separate partitions.
[[File:the_toolbar.jpeg]]
== The Files partition ==
[[File:the_toolbar-file.jpeg]]
This partition provides shortcut buttons that deal with saving or loading files (Save, Load, Export).
The save button performs the same action as pressing the Files tab and then the Save tab when there is no filename specified. If the file was given a name earlier and saved once this button performs a quick save over the file specified earlier.
The Load button takes you to the file loading window where you can choose the file to load.
The Export button takes you to the export tab and allows you to export your current MakeHuman project to one of the variety of export formats the MakeHuman program supports. Supported formats include mesh formats such as Filmbox (fbx),Wavefront obj, Sterolithography (stl), rig/rigging related formats such as Biovision Hierarchy and various maps such as Light Maps, and UV maps.
Load, Save and Export options are explained in more detail!LINK!http://www.makehuman.org/doc/node/load_save_and_export.html -- here!/LINK!.
== The Edit partition ==
[[File:the_toolbar-undoredo.jpeg]]
The Edit partition of the toolbar, provides shortcut buttons that deal with editing actions.
The Undo button is to undo the last action that has been performed. Undo can be pressed to cancel actions until you have undone all of the actions taken during your current MakeHuman session.
The Redo button is related to the Undo button and will restore the last action that has been undone. Redo can be pressed until all undone actions performed during the current MakeHuman session have been restored.
The reset button resets the state of the human, which includes its targets, materials and rendering settings. The camera will not be reset.
== The View partition ==
[[File:the_toolbar-smoothandwire.jpeg]]
The View partition toolbar, provides buttons that manage the display mode of the character (Smooth, Wireframe, Background on/off).
Wireframe mode allows you to view the mesh in Wireframe mode like in many other 3D applications.
The Background option allows you to load a background reference image.
The pose button is used for posing. When a rig and pose is active this button is enabled and allows you to toggle between the selected pose and the default rest pose.
The "smooth" is particularly interesting since it subdivides the mesh. The image below shows the mesh smooth and normal, using the wireframe mode. This usesCatmull–Clarksubdivision to create a much more dense smoother mesh.
[[File:nsmooth.png]]
== The Symmetry partition ==
[[File:the_toolbar-symmetry.jpeg]]
The Symmetry partitiontoolbar, provides buttons that manage transferring settings applied to one side of the character to the other side of the character so that the character features become symmetrical.
[[File:symm.png]]
There are options for right to left symmetry, left to right symmetry and a general symmetry mode. Left to right symmetry applies all changes made on the left side to the right side of the human/character. Right to left symmetry applies all changes made on the right side to the left side of the human/character.
General symmetry mode behaves differently. When it is active all changes made are symmetrical when it is inactive any changes made to any one side affect that one side only. So this mode therefore allows the user to selectively apply symmetry.
In the above image the Left side of the character is made symmetrical with the right side of the character.
== The camera partition ==
[[File:the_toolbar-cameraviews.jpeg]]
The Camera partition of the toolbar, manages the Camera placement within the scene so that the character can be viewed from different angles and zoom levels. (Front View, Back View, Left View, Right View, Top View, Bottom View, Global Camera, Face Camera and Reset Camera options are available).
== The help partition ==
[[File:the_toolbar-screengrbhelp.jpeg]]
The Help partition, allows you to save a quick screenshot of the view or to access to the help tab.
By default the toolbars are arranged in the order shown above horizontally next to each other along the top edge of the MakeHuman window. The four partition toolbars can each be moved to any area of your screen in Windows by clicking and holding the left mouse button on the left edge of the toolbar and dragging it to the location you desire.
21e5a6ac534d778904966536b9c97cb072d61133
1131
1130
2016-08-18T13:23:47Z
Robbaer
12
/* The View partition */
wikitext
text/x-wiki
The "Main Toolbar" is actually made up of six separate partitions.
[[File:the_toolbar.jpeg]]
== The Files partition ==
[[File:the_toolbar-file.jpeg]]
This partition provides shortcut buttons that deal with saving or loading files (Save, Load, Export).
The save button performs the same action as pressing the Files tab and then the Save tab when there is no filename specified. If the file was given a name earlier and saved once this button performs a quick save over the file specified earlier.
The Load button takes you to the file loading window where you can choose the file to load.
The Export button takes you to the export tab and allows you to export your current MakeHuman project to one of the variety of export formats the MakeHuman program supports. Supported formats include mesh formats such as Filmbox (fbx),Wavefront obj, Sterolithography (stl), rig/rigging related formats such as Biovision Hierarchy and various maps such as Light Maps, and UV maps.
Load, Save and Export options are explained in more detail!LINK!http://www.makehuman.org/doc/node/load_save_and_export.html -- here!/LINK!.
== The Edit partition ==
[[File:the_toolbar-undoredo.jpeg]]
The Edit partitionof the toolbar, provides shortcut buttons that deal with editing actions.
The Undo button is to undo the last action that has been performed. Undo can be pressed to cancel actions until you have undone all of the actions taken during your current MakeHuman session.
The Redo button is related to the Undo button and will restore the last action that has been undone. Redo can be pressed until all undone actions performed during the current MakeHuman session have been restored.
The reset button resets the state of the human, which includes its targets, materials and rendering settings. The camera will not be reset.
== The View partition ==
[[File:the_toolbar-smoothandwire.jpeg]]
The View partition toolbar, provides buttons that manage the display mode of the character (Smooth, Wireframe, Background on/off).
Wireframe mode allows you to view the mesh in Wireframe mode like in many other 3D applications.
The Background option allows you to load a background reference image.
The pose button is used for posing. When a rig and pose is active this button is enabled and allows you to toggle between the selected pose and the default rest pose.
The "smooth" is particularly interesting since it subdivides the mesh. The image below shows the mesh smooth and normal, using the wireframe mode. This usesCatmull–Clarksubdivision to create a much more dense smoother mesh.
[[File:nsmooth.png]]
== The Symmetry partition ==
[[File:the_toolbar-symmetry.jpeg]]
The Symmetry partitiontoolbar, provides buttons that manage transferring settings applied to one side of the character to the other side of the character so that the character features become symmetrical.
[[File:symm.png]]
There are options for right to left symmetry, left to right symmetry and a general symmetry mode. Left to right symmetry applies all changes made on the left side to the right side of the human/character. Right to left symmetry applies all changes made on the right side to the left side of the human/character.
General symmetry mode behaves differently. When it is active all changes made are symmetrical when it is inactive any changes made to any one side affect that one side only. So this mode therefore allows the user to selectively apply symmetry.
In the above image the Left side of the character is made symmetrical with the right side of the character.
== The camera partition ==
[[File:the_toolbar-cameraviews.jpeg]]
The Camera partition of the toolbar, manages the Camera placement within the scene so that the character can be viewed from different angles and zoom levels. (Front View, Back View, Left View, Right View, Top View, Bottom View, Global Camera, Face Camera and Reset Camera options are available).
== The help partition ==
[[File:the_toolbar-screengrbhelp.jpeg]]
The Help partition, allows you to save a quick screenshot of the view or to access to the help tab.
By default the toolbars are arranged in the order shown above horizontally next to each other along the top edge of the MakeHuman window. The four partition toolbars can each be moved to any area of your screen in Windows by clicking and holding the left mouse button on the left edge of the toolbar and dragging it to the location you desire.
0b03ae9ea4eb2f37003dda93fce2becfd974fd43
1130
1103
2016-08-18T13:23:25Z
Robbaer
12
/* The Edit partition */
wikitext
text/x-wiki
The "Main Toolbar" is actually made up of six separate partitions.
[[File:the_toolbar.jpeg]]
== The Files partition ==
[[File:the_toolbar-file.jpeg]]
This partition provides shortcut buttons that deal with saving or loading files (Save, Load, Export).
The save button performs the same action as pressing the Files tab and then the Save tab when there is no filename specified. If the file was given a name earlier and saved once this button performs a quick save over the file specified earlier.
The Load button takes you to the file loading window where you can choose the file to load.
The Export button takes you to the export tab and allows you to export your current MakeHuman project to one of the variety of export formats the MakeHuman program supports. Supported formats include mesh formats such as Filmbox (fbx),Wavefront obj, Sterolithography (stl), rig/rigging related formats such as Biovision Hierarchy and various maps such as Light Maps, and UV maps.
Load, Save and Export options are explained in more detail!LINK!http://www.makehuman.org/doc/node/load_save_and_export.html -- here!/LINK!.
== The Edit partition ==
[[File:the_toolbar-undoredo.jpeg]]
The Edit partitionof the toolbar, provides shortcut buttons that deal with editing actions.
The Undo button is to undo the last action that has been performed. Undo can be pressed to cancel actions until you have undone all of the actions taken during your current MakeHuman session.
The Redo button is related to the Undo button and will restore the last action that has been undone. Redo can be pressed until all undone actions performed during the current MakeHuman session have been restored.
The reset button resets the state of the human, which includes its targets, materials and rendering settings. The camera will not be reset.
== The View partition ==
[[File:the_toolbar-smoothandwire.jpeg]]
The View partitiontoolbar, provides buttons that manage the display mode of the character (Smooth, Wireframe, Background on/off).
Wireframe mode allows you to view the mesh in Wireframe mode like in many other 3D applications.
The Background option allows you to load a background reference image.
The pose button is used for posing. When a rig and pose is active this button is enabled and allows you to toggle between the selected pose and the default rest pose.
The "smooth" is particularly interesting since it subdivides the mesh. The image below shows the mesh smooth and normal, using the wireframe mode. This usesCatmull–Clarksubdivision to create a much more dense smoother mesh.
[[File:nsmooth.png]]
== The Symmetry partition ==
[[File:the_toolbar-symmetry.jpeg]]
The Symmetry partitiontoolbar, provides buttons that manage transferring settings applied to one side of the character to the other side of the character so that the character features become symmetrical.
[[File:symm.png]]
There are options for right to left symmetry, left to right symmetry and a general symmetry mode. Left to right symmetry applies all changes made on the left side to the right side of the human/character. Right to left symmetry applies all changes made on the right side to the left side of the human/character.
General symmetry mode behaves differently. When it is active all changes made are symmetrical when it is inactive any changes made to any one side affect that one side only. So this mode therefore allows the user to selectively apply symmetry.
In the above image the Left side of the character is made symmetrical with the right side of the character.
== The camera partition ==
[[File:the_toolbar-cameraviews.jpeg]]
The Camera partition of the toolbar, manages the Camera placement within the scene so that the character can be viewed from different angles and zoom levels. (Front View, Back View, Left View, Right View, Top View, Bottom View, Global Camera, Face Camera and Reset Camera options are available).
== The help partition ==
[[File:the_toolbar-screengrbhelp.jpeg]]
The Help partition, allows you to save a quick screenshot of the view or to access to the help tab.
By default the toolbars are arranged in the order shown above horizontally next to each other along the top edge of the MakeHuman window. The four partition toolbars can each be moved to any area of your screen in Windows by clicking and holding the left mouse button on the left edge of the toolbar and dragging it to the location you desire.
3a30262fe5c26146748d889d7e65dadb7edcb9f9
1103
779
2016-07-05T17:10:50Z
Aranuvir
17
wikitext
text/x-wiki
The "Main Toolbar" is actually made up of six separate partitions.
[[File:the_toolbar.jpeg]]
== The Files partition ==
[[File:the_toolbar-file.jpeg]]
This partition provides shortcut buttons that deal with saving or loading files (Save, Load, Export).
The save button performs the same action as pressing the Files tab and then the Save tab when there is no filename specified. If the file was given a name earlier and saved once this button performs a quick save over the file specified earlier.
The Load button takes you to the file loading window where you can choose the file to load.
The Export button takes you to the export tab and allows you to export your current MakeHuman project to one of the variety of export formats the MakeHuman program supports. Supported formats include mesh formats such as Filmbox (fbx),Wavefront obj, Sterolithography (stl), rig/rigging related formats such as Biovision Hierarchy and various maps such as Light Maps, and UV maps.
Load, Save and Export options are explained in more detail!LINK!http://www.makehuman.org/doc/node/load_save_and_export.html -- here!/LINK!.
== The Edit partition ==
[[File:the_toolbar-undoredo.jpeg]]
The Edit partitionof the toolbar, provides shortcut buttons that deal with editing actions.
The Undo button is to undo the last action that has been performed. Undo can be pressed to cancel actions until you have undone all of the actions taken during your current MakeHuman session.
The Redo button is related to the Undo button and will restore the last action that has been undone. Redo can be pressed until all undone actions performed during the current MakeHuman session have been restored.
The reset button will cancel all actions within the current MakeHuman session and restore the default settings for all MakeHuman controls. This effectively returns your MakeHuman session to the state shown when the program first opens.
== The View partition ==
[[File:the_toolbar-smoothandwire.jpeg]]
The View partitiontoolbar, provides buttons that manage the display mode of the character (Smooth, Wireframe, Background on/off).
Wireframe mode allows you to view the mesh in Wireframe mode like in many other 3D applications.
The Background option allows you to load a background reference image.
The pose button is used for posing. When a rig and pose is active this button is enabled and allows you to toggle between the selected pose and the default rest pose.
The "smooth" is particularly interesting since it subdivides the mesh. The image below shows the mesh smooth and normal, using the wireframe mode. This usesCatmull–Clarksubdivision to create a much more dense smoother mesh.
[[File:nsmooth.png]]
== The Symmetry partition ==
[[File:the_toolbar-symmetry.jpeg]]
The Symmetry partitiontoolbar, provides buttons that manage transferring settings applied to one side of the character to the other side of the character so that the character features become symmetrical.
[[File:symm.png]]
There are options for right to left symmetry, left to right symmetry and a general symmetry mode. Left to right symmetry applies all changes made on the left side to the right side of the human/character. Right to left symmetry applies all changes made on the right side to the left side of the human/character.
General symmetry mode behaves differently. When it is active all changes made are symmetrical when it is inactive any changes made to any one side affect that one side only. So this mode therefore allows the user to selectively apply symmetry.
In the above image the Left side of the character is made symmetrical with the right side of the character.
== The camera partition ==
[[File:the_toolbar-cameraviews.jpeg]]
The Camera partition of the toolbar, manages the Camera placement within the scene so that the character can be viewed from different angles and zoom levels. (Front View, Back View, Left View, Right View, Top View, Bottom View, Global Camera, Face Camera and Reset Camera options are available).
== The help partition ==
[[File:the_toolbar-screengrbhelp.jpeg]]
The Help partition, allows you to save a quick screenshot of the view or to access to the help tab.
By default the toolbars are arranged in the order shown above horizontally next to each other along the top edge of the MakeHuman window. The four partition toolbars can each be moved to any area of your screen in Windows by clicking and holding the left mouse button on the left edge of the toolbar and dragging it to the location you desire.
0080af888cf1b9eb306599b3ecc53eb31fdac2c1
779
778
2016-05-24T12:04:35Z
Joepal
14
wikitext
text/x-wiki
The "Main Toolbar" is actually made up of six separate partitions.
!IMAGE!Pictures/the_toolbar.jpeg!/IMAGE!
== The Files partition ==
!IMAGE!Pictures/the_toolbar-file.jpeg!/IMAGE!
This partition provides shortcut buttons that deal with saving or loading files (Save, Load, Export).
The save button performs the same action as pressing the Files tab and then the Save tab when there is no filename specified. If the file was given a name earlier and saved once this button performs a quick save over the file specified earlier.
The Load button takes you to the file loading window where you can choose the file to load.
The Export button takes you to the export tab and allows you to export your current MakeHuman project to one of the variety of export formats the MakeHuman program supports. Supported formats include mesh formats such as Filmbox (fbx),Wavefront obj, Sterolithography (stl), rig/rigging related formats such as Biovision Hierarchy and various maps such as Light Maps, and UV maps.
Load, Save and Export options are explained in more detail!LINK!http://www.makehuman.org/doc/node/load_save_and_export.html -- here!/LINK!.
== The Edit partition ==
!IMAGE!Pictures/the_toolbar-undoredo.jpeg!/IMAGE!
The Edit partitionof the toolbar, provides shortcut buttons that deal with editing actions.
The Undo button is to undo the last action that has been performed. Undo can be pressed to cancel actions until you have undone all of the actions taken during your current MakeHuman session.
The Redo button is related to the Undo button and will restore the last action that has been undone. Redo can be pressed until all undone actions performed during the current MakeHuman session have been restored.
The reset button will cancel all actions within the current MakeHuman session and restore the default settings for all MakeHuman controls. This effectively returns your MakeHuman session to the state shown when the program first opens.
== The View partition ==
!IMAGE!Pictures/the_toolbar-smoothandwire.jpeg!/IMAGE!
The View partitiontoolbar, provides buttons that manage the display mode of the character (Smooth, Wireframe, Background on/off).
Wireframe mode allows you to view the mesh in Wireframe mode like in many other 3D applications.
The Background option allows you to load a background reference image.
The pose button is used for posing. When a rig and pose is active this button is enabled and allows you to toggle between the selected pose and the default rest pose.
The "smooth" is particularly interesting since it subdivides the mesh. The image below shows the mesh smooth and normal, using the wireframe mode. This usesCatmull–Clarksubdivision to create a much more dense smoother mesh.
!IMAGE!Pictures/nsmooth.png!/IMAGE!
== The Symmetry partition ==
!IMAGE!Pictures/the_toolbar-symmetry.jpeg!/IMAGE!
The Symmetry partitiontoolbar, provides buttons that manage transferring settings applied to one side of the character to the other side of the character so that the character features become symmetrical.
!IMAGE!Pictures/symm.png!/IMAGE!
There are options for right to left symmetry, left to right symmetry and a general symmetry mode. Left to right symmetry applies all changes made on the left side to the right side of the human/character. Right to left symmetry applies all changes made on the right side to the left side of the human/character.
General symmetry mode behaves differently. When it is active all changes made are symmetrical when it is inactive any changes made to any one side affect that one side only. So this mode therefore allows the user to selectively apply symmetry.
In the above image the Left side of the character is made symmetrical with the right side of the character.
== The camera partition ==
!IMAGE!Pictures/the_toolbar-cameraviews.jpeg!/IMAGE!
The Camera partition of the toolbar, manages the Camera placement within the scene so that the character can be viewed from different angles and zoom levels. (Front View, Back View, Left View, Right View, Top View, Bottom View, Global Camera, Face Camera and Reset Camera options are available).
== The help partition ==
!IMAGE!Pictures/the_toolbar-screengrbhelp.jpeg!/IMAGE!
The Help partition, allows you to save a quick screenshot of the view or to access to the help tab.
By default the toolbars are arranged in the order shown above horizontally next to each other along the top edge of the MakeHuman window. The four partition toolbars can each be moved to any area of your screen in Windows by clicking and holding the left mouse button on the left edge of the toolbar and dragging it to the location you desire.
618e89959626e40ea32592fb248180dfd2157469
778
681
2016-05-24T12:04:08Z
Joepal
14
wikitext
text/x-wiki
The "Main Toolbar" is actually made up of six separate partitions.
!IMAGE!Pictures/the_toolbar.jpeg!/IMAGE!
They are:
* The Files partition
* The Edit partition
* The View partition
* The Symmetry partition
* The Camera partition
== The Files partition ==
!IMAGE!Pictures/the_toolbar-file.jpeg!/IMAGE!
This partition provides shortcut buttons that deal with saving or loading files (Save, Load, Export).
The save button performs the same action as pressing the Files tab and then the Save tab when there is no filename specified. If the file was given a name earlier and saved once this button performs a quick save over the file specified earlier.
The Load button takes you to the file loading window where you can choose the file to load.
The Export button takes you to the export tab and allows you to export your current MakeHuman project to one of the variety of export formats the MakeHuman program supports. Supported formats include mesh formats such as Filmbox (fbx),Wavefront obj, Sterolithography (stl), rig/rigging related formats such as Biovision Hierarchy and various maps such as Light Maps, and UV maps.
Load, Save and Export options are explained in more detail!LINK!http://www.makehuman.org/doc/node/load_save_and_export.html -- here!/LINK!.
== The Edit partition ==
!IMAGE!Pictures/the_toolbar-undoredo.jpeg!/IMAGE!
The Edit partitionof the toolbar, provides shortcut buttons that deal with editing actions.
The Undo button is to undo the last action that has been performed. Undo can be pressed to cancel actions until you have undone all of the actions taken during your current MakeHuman session.
The Redo button is related to the Undo button and will restore the last action that has been undone. Redo can be pressed until all undone actions performed during the current MakeHuman session have been restored.
The reset button will cancel all actions within the current MakeHuman session and restore the default settings for all MakeHuman controls. This effectively returns your MakeHuman session to the state shown when the program first opens.
== The View partition ==
!IMAGE!Pictures/the_toolbar-smoothandwire.jpeg!/IMAGE!
The View partitiontoolbar, provides buttons that manage the display mode of the character (Smooth, Wireframe, Background on/off).
Wireframe mode allows you to view the mesh in Wireframe mode like in many other 3D applications.
The Background option allows you to load a background reference image.
The pose button is used for posing. When a rig and pose is active this button is enabled and allows you to toggle between the selected pose and the default rest pose.
The "smooth" is particularly interesting since it subdivides the mesh. The image below shows the mesh smooth and normal, using the wireframe mode. This usesCatmull–Clarksubdivision to create a much more dense smoother mesh.
!IMAGE!Pictures/nsmooth.png!/IMAGE!
== The Symmetry partition ==
!IMAGE!Pictures/the_toolbar-symmetry.jpeg!/IMAGE!
The Symmetry partitiontoolbar, provides buttons that manage transferring settings applied to one side of the character to the other side of the character so that the character features become symmetrical.
!IMAGE!Pictures/symm.png!/IMAGE!
There are options for right to left symmetry, left to right symmetry and a general symmetry mode. Left to right symmetry applies all changes made on the left side to the right side of the human/character. Right to left symmetry applies all changes made on the right side to the left side of the human/character.
General symmetry mode behaves differently. When it is active all changes made are symmetrical when it is inactive any changes made to any one side affect that one side only. So this mode therefore allows the user to selectively apply symmetry.
In the above image the Left side of the character is made symmetrical with the right side of the character.
== The camera partition ==
!IMAGE!Pictures/the_toolbar-cameraviews.jpeg!/IMAGE!
The Camera partition of the toolbar, manages the Camera placement within the scene so that the character can be viewed from different angles and zoom levels. (Front View, Back View, Left View, Right View, Top View, Bottom View, Global Camera, Face Camera and Reset Camera options are available).
== The help partition ==
!IMAGE!Pictures/the_toolbar-screengrbhelp.jpeg!/IMAGE!
The Help partition, allows you to save a quick screenshot of the view or to access to the help tab.
By default the toolbars are arranged in the order shown above horizontally next to each other along the top edge of the MakeHuman window. The four partition toolbars can each be moved to any area of your screen in Windows by clicking and holding the left mouse button on the left edge of the toolbar and dragging it to the location you desire.
e4f1186397965d1a2903c6dd290fa496b1d3442c
681
2016-05-20T08:31:18Z
Joepal
14
Created page with "The "Main Toolbar" is actually made up of six separate partitions. !IMAGE!Pictures/the_toolbar.jpeg!/IMAGE! They are: * Files partition * The Edit partition * The View p..."
wikitext
text/x-wiki
The "Main Toolbar" is actually made up of six separate partitions.
!IMAGE!Pictures/the_toolbar.jpeg!/IMAGE!
They are:
* Files partition
* The Edit partition
* The View partition
* The Symmetry partition
* The Camera partition
=== Files partition ===
!IMAGE!Pictures/the_toolbar-file.jpeg!/IMAGE!
This partition provides shortcut buttons that deal with saving or loading files (Save, Load, Export).
The save button performs the same action as pressing the Files tab and then the Save tab when there is no filename specified. If the file was given a name earlier and saved once this button performs a quick save over the file specified earlier.
The Load button takes you to the file loading window where you can choose the file to load.
The Export button takes you to the export tab and allows you to export your current MakeHuman project to one of the variety of export formats the MakeHuman program supports. Supported formats include mesh formats such as Filmbox (fbx),Wavefront obj, Sterolithography (stl), rig/rigging related formats such as Biovision Hierarchy and various maps such as Light Maps, and UV maps.
Load, Save and Export options are explained in more detail!LINK!http://www.makehuman.org/doc/node/load_save_and_export.html -- here!/LINK!.
=== The Edit partition ===
!IMAGE!Pictures/the_toolbar-undoredo.jpeg!/IMAGE!
The Edit partitionof the toolbar, provides shortcut buttons that deal with editing actions.
The Undo button is to undo the last action that has been performed. Undo can be pressed to cancel actions until you have undone all of the actions taken during your current MakeHuman session.
The Redo button is related to the Undo button and will restore the last action that has been undone. Redo can be pressed until all undone actions performed during the current MakeHuman session have been restored.
The reset button will cancel all actions within the current MakeHuman session and restore the default settings for all MakeHuman controls. This effectively returns your MakeHuman session to the state shown when the program first opens.
=== The View partition ===
!IMAGE!Pictures/the_toolbar-smoothandwire.jpeg!/IMAGE!
The View partitiontoolbar, provides buttons that manage the display mode of the character (Smooth, Wireframe, Background on/off).
Wireframe mode allows you to view the mesh in Wireframe mode like in many other 3D applications.
The Background option allows you to load a background reference image.
The pose button is used for posing. When a rig and pose is active this button is enabled and allows you to toggle between the selected pose and the default rest pose.
The "smooth" is particularly interesting since it subdivides the mesh. The image below shows the mesh smooth and normal, using the wireframe mode. This usesCatmull–Clarksubdivision to create a much more dense smoother mesh.
!IMAGE!Pictures/nsmooth.png!/IMAGE!
=== The Symmetry partition ===
!IMAGE!Pictures/the_toolbar-symmetry.jpeg!/IMAGE!
The Symmetry partitiontoolbar, provides buttons that manage transferring settings applied to one side of the character to the other side of the character so that the character features become symmetrical.
!IMAGE!Pictures/symm.png!/IMAGE!
There are options for right to left symmetry, left to right symmetry and a general symmetry mode. Left to right symmetry applies all changes made on the left side to the right side of the human/character. Right to left symmetry applies all changes made on the right side to the left side of the human/character.
General symmetry mode behaves differently. When it is active all changes made are symmetrical when it is inactive any changes made to any one side affect that one side only. So this mode therefore allows the user to selectively apply symmetry.
In the above image the Left side of the character is made symmetrical with the right side of the character.
=== The camera partition ===
!IMAGE!Pictures/the_toolbar-cameraviews.jpeg!/IMAGE!
The Camera partition of the toolbar, manages the Camera placement within the scene so that the character can be viewed from different angles and zoom levels. (Front View, Back View, Left View, Right View, Top View, Bottom View, Global Camera, Face Camera and Reset Camera options are available).
=== The help partition ===
!IMAGE!Pictures/the_toolbar-screengrbhelp.jpeg!/IMAGE!
The Help partition, allows you to save a quick screenshot of the view or to access to the help tab.
By default the toolbars are arranged in the order shown above horizontally next to each other along the top edge of the MakeHuman window. The four partition toolbars can each be moved to any area of your screen in Windows by clicking and holding the left mouse button on the left edge of the toolbar and dragging it to the location you desire.
80f4f2b9a89134d494f627d65b43cbe4ff5eebc3
Documentation:Translation
3000
242
1122
709
2016-07-05T17:42:28Z
Aranuvir
17
wikitext
text/x-wiki
Our GUI is available in many languages, but translations are not yet complete.
Anyway now contributing in order to add a new language is very easy, since the MakeHuman project is now available for translation on!LINK!http://www.transifex.com/organization/makehuman/ -- Transifex!/LINK!.
[[File:languages.png]]
Transifex is a web application for localization in an easy and agile way.
[[File:transifex.png]]
If you want to help the MakeHuman project by translating the GUI into your language, you first need to create an account on Transifex. Then, when logged in, you can go to!LINK!https://www.transifex.com/projects/p/makehuman/ -- the MakeHuman Transifex page!/LINK!and click on the appropriate language you want to translate. Then click the "Join team" button. Now you can click the current release name (for example "Alpha 8") entry and click "Translate now".
If you want to make a translation in another language that is not yet listed, click "request language" on the!LINK!https://www.transifex.com/projects/p/makehuman/ -- MakeHuman transifex page!/LINK!. We will make sure to accept it as fast as possible, so you can start translating.
Translating is quick and easy. You can select the "Untranslated strings" filter to show only the things left to translate. Click the first word on the left, and in the center of the screen enter your translation in the input box. When done typing, simply press the TAB button on your keyboard, and it automatically goes to the next entry. Repeat this process untill everything is translated.
You can leave things open you are uncertain about, and leave them for later. Perhaps others know a good solution. You can interrupt your work at any time and continue working later, or leave it for others to finish.
If you already have a translated file on your hard disk (for example you made modifications to an already existing language .ini file of MakeHuman, or you have filled in a .missing language file), you can upload it as translation and Transifex will automatically include it in the translation.
You will be also able to download the json file of your language, in order to put it in makehuman/data/languages. On restarting MakeHuman, the new language will be available as an option under "Settings".
2877660507206002bc974025d890c65d6fb91454
709
2016-05-20T11:20:24Z
Joepal
14
Created page with "Our GUI is available in many languages, but translations are not yet complete. Anyway now contributing in order to add a new language is very easy, since the MakeHuman projec..."
wikitext
text/x-wiki
Our GUI is available in many languages, but translations are not yet complete.
Anyway now contributing in order to add a new language is very easy, since the MakeHuman project is now available for translation on!LINK!http://www.transifex.com/organization/makehuman/ -- Transifex!/LINK!.
!IMAGE!Pictures/languages.png!/IMAGE!
Transifex is a web application for localization in an easy and agile way.
!IMAGE!Pictures/transifex.png!/IMAGE!
If you want to help the MakeHuman project by translating the GUI into your language, you first need to create an account on Transifex. Then, when logged in, you can go to!LINK!https://www.transifex.com/projects/p/makehuman/ -- the MakeHuman Transifex page!/LINK!and click on the appropriate language you want to translate. Then click the "Join team" button. Now you can click the current release name (for example "Alpha 8") entry and click "Translate now".
If you want to make a translation in another language that is not yet listed, click "request language" on the!LINK!https://www.transifex.com/projects/p/makehuman/ -- MakeHuman transifex page!/LINK!. We will make sure to accept it as fast as possible, so you can start translating.
Translating is quick and easy. You can select the "Untranslated strings" filter to show only the things left to translate. Click the first word on the left, and in the center of the screen enter your translation in the input box. When done typing, simply press the TAB button on your keyboard, and it automatically goes to the next entry. Repeat this process untill everything is translated.
You can leave things open you are uncertain about, and leave them for later. Perhaps others know a good solution. You can interrupt your work at any time and continue working later, or leave it for others to finish.
If you already have a translated file on your hard disk (for example you made modifications to an already existing language .ini file of MakeHuman, or you have filled in a .missing language file), you can upload it as translation and Transifex will automatically include it in the translation.
You will be also able to download the json file of your language, in order to put it in makehuman/data/languages. On restarting MakeHuman, the new language will be available as an option under "Settings".
0f42bbe79b0b0c62b2ec15891814f4c84311995f
Documentation:Unreal Engine ALS V4
3000
604
1784
1750
2020-04-18T14:56:42Z
Assetdk
89
/* Simple move to */
wikitext
text/x-wiki
=UE4 Advanced Locomotion System=
I finally got the animation retargeting working, still there are problems, but this should bring you a step further.
===What was the problem===
Clearly there is a bug in UE4! During the retargeting we have at least tree elements, the animation, the source skeleton and the target skeleton. (Add to this the retargeting manager stuff for each skeleton.) What happens - at least in theory - is that some bones are used/referred to in the animation, and for each of these bones UE4 must transfer the parameters 1:1, and the result is complied in the new animation.
For some reason this went wrong; in some cases UE4 crash due to an array index runs over... and since I know a bit about programming, my guess it that this is a simple case of using the wrong index for the wrong skeleton! In this case it is rather easy to guess that the source skeleton (or perhaps the source animation) have more bones than the target skeleton... likewise, you can guess that things could go OK, if only the target skeleton has more bones than the source!
===Solution - or rater a crude fix!!===
Since I was keen on getting on; i simply added some fake virtual bones to the target skeleton! Enough bones so the "source index" would not be higher than the max of the target skeleton area! This is indeed a crude fix, as we can assume that the retargeting process will fail to find any use in those fake virtual bones.
Fact is that you can now retarget the '''Advanced Locomotion System V4'''!!
==The next problems==
There are still some problems! But these are of a more general character.... I tried to retarget one of the PARAGON characters. And as for the Makehuman/Mixamo characters only a subset of the system is working. IK can be made working, somewhat, following some of the steps shown in the tutorials below - but ALS V4 holds a lot of changes and we need a lot more virtual IK bones, a subject I don't enough about yet....
Since ALS V4 is a very strong product I hope that there will be a better UE4, and perhaps one of us could make one to share? I will share what I got, as soon as I have made it a bit better. Take a look at the older ALS tutorials for "odd" skeletons:
{{#ev:youtube|kTrjEeoNi4w}}
{{#ev:youtube|fK1LIqLu1GU}}
==Standard ALS setup, and some very useful tips on changing many meshes!!==
I you are running UE4.23 you may be in "luck" - that is UE4.23 will download ALS V3 and then these tutorials will probably totally work for you!
(However that will then not be useful for you, when you upgrade to >UE4.23, unless you can and want to migrate ALS V3..)
{{#ev:youtube|SA4xgZiqsLI}}
{{#ev:youtube|4pnN5OnXaSc}}
And this is the link to the secret playlist: [https://www.youtube.com/playlist?list=PLAR8Kc1ZLLKZjnKI_idX7Ik7mN0VORSm_ ALSV3 - Working With Other Characters]
=Simple move to=
==This is the code==
<nowiki>
Begin Object Class=/Script/BlueprintGraph.K2Node_Event Name="K2Node_Event_0"
EventReference=(MemberParent=Class'"/Script/AIModule.BTTask_BlueprintBase"',MemberName="ReceiveExecuteAI")
bOverrideFunction=True
NodePosX=80
NodePosY=176
NodeGuid=5AECDA0D45B70CD6668F66A7DC975CD2
CustomProperties Pin (PinId=3C0830D94F34DA7FFC919ABD8D07D819,PinName="OutputDelegate",Direction="EGPD_Output",PinType.PinCategory="delegate",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(MemberParent=Class'"/Script/AIModule.BTTask_BlueprintBase"',MemberName="ReceiveExecuteAI"),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=69B84B6B4DD42B047415718632E6DFD3,PinName="then",Direction="EGPD_Output",PinType.PinCategory="exec",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(K2Node_CallFunction_6 B3E31D744074C0D14FED0C8F8C681276,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=124B67D740510AF48431A599D3D958CD,PinName="OwnerController",PinToolTip="Owner Controller\nAIController Object Reference",Direction="EGPD_Output",PinType.PinCategory="object",PinType.PinSubCategory="",PinType.PinSubCategoryObject=Class'"/Script/AIModule.AIController"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(K2Node_CallFunction_6 10A7070A413C34545368BE801B05788B,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=A3E2D46643D499E91DBF73A5DA0CF087,PinName="ControlledPawn",PinToolTip="Controlled Pawn\nPawn Object Reference",Direction="EGPD_Output",PinType.PinCategory="object",PinType.PinSubCategory="",PinType.PinSubCategoryObject=Class'"/Script/Engine.Pawn"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(K2Node_Knot_0 177328B947C1CEE15ABE90B78D46A073,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/BlueprintGraph.K2Node_CallFunction Name="K2Node_CallFunction_0"
FunctionReference=(MemberName="FinishExecute",bSelfContext=True)
NodePosX=1552
NodePosY=158
NodeGuid=7F4B9E9A457006867FE18AB2259E3249
CustomProperties Pin (PinId=6801586248E6C067280774B134C03A2B,PinName="execute",PinToolTip="\nExec",PinType.PinCategory="exec",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(K2Node_AIMoveTo_0 5F9FCD2948C55C39017AC4812985F463,K2Node_CallFunction_5 D82E41C74E7EC356EBA0CD90B6C377C7,K2Node_CallFunction_6 502B59E9467A9ACC50D13D97BCA52317,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=4BF230B84A974CA60637F78EDA63F129,PinName="then",PinToolTip="\nExec",Direction="EGPD_Output",PinType.PinCategory="exec",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=4E080BB04C5439D6AF2B17837FAD8BB9,PinName="self",PinFriendlyName=NSLOCTEXT("K2Node", "Target", "Target"),PinToolTip="Target\nBTTask Blueprint Base Object Reference",PinType.PinCategory="object",PinType.PinSubCategory="",PinType.PinSubCategoryObject=Class'"/Script/AIModule.BTTask_BlueprintBase"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=30D99D514AEA9B63F0EEBDB7CC915CBB,PinName="bSuccess",PinToolTip="Success\nBoolean",PinType.PinCategory="bool",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,DefaultValue="true",AutogeneratedDefaultValue="false",PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/BlueprintGraph.K2Node_VariableGet Name="K2Node_VariableGet_0"
VariableReference=(MemberName="vector",MemberGuid=2383D6DF4191BE6B60BDE8BE165E5A19,bSelfContext=True)
NodePosX=480
NodePosY=320
NodeGuid=7A6ACF594AC784584D7A94BF323664B1
CustomProperties Pin (PinId=3CA4A56A4E23C67452B040827EF53D71,PinName="vector",Direction="EGPD_Output",PinType.PinCategory="struct",PinType.PinSubCategory="",PinType.PinSubCategoryObject=ScriptStruct'"/Script/AIModule.BlackboardKeySelector"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(K2Node_CallFunction_7 16B663A843E1697ECAEA0480591C4805,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=D7F06E7E4D16A9C8990450A573FC8565,PinName="self",PinFriendlyName=NSLOCTEXT("K2Node", "Target", "Target"),PinType.PinCategory="object",PinType.PinSubCategory="",PinType.PinSubCategoryObject=BlueprintGeneratedClass'"/Game/BSP_StoopidShooter/Blueprints/AI_Controller/StoopidShooter/T_Move2Location.T_Move2Location_C"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PersistentGuid=00000000000000000000000000000000,bHidden=True,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/BlueprintGraph.K2Node_CallFunction Name="K2Node_CallFunction_6"
FunctionReference=(MemberParent=Class'"/Script/AIModule.AIBlueprintHelperLibrary"',MemberName="SimpleMoveToLocation")
NodePosX=1104
NodePosY=176
NodeGuid=9F83ABE44F9168D607AA39A535A01AF9
CustomProperties Pin (PinId=B3E31D744074C0D14FED0C8F8C681276,PinName="execute",PinToolTip="\nExec",PinType.PinCategory="exec",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(K2Node_Event_0 69B84B6B4DD42B047415718632E6DFD3,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=502B59E9467A9ACC50D13D97BCA52317,PinName="then",PinToolTip="\nExec",Direction="EGPD_Output",PinType.PinCategory="exec",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(K2Node_CallFunction_0 6801586248E6C067280774B134C03A2B,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=D797DE824659A113617873B49ED86BC0,PinName="self",PinFriendlyName=NSLOCTEXT("K2Node", "Target", "Target"),PinToolTip="Target\nAIBlueprint Helper Library Object Reference",PinType.PinCategory="object",PinType.PinSubCategory="",PinType.PinSubCategoryObject=Class'"/Script/AIModule.AIBlueprintHelperLibrary"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,DefaultObject="/Script/AIModule.Default__AIBlueprintHelperLibrary",PersistentGuid=00000000000000000000000000000000,bHidden=True,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=10A7070A413C34545368BE801B05788B,PinName="Controller",PinToolTip="Controller\nController Object Reference",PinType.PinCategory="object",PinType.PinSubCategory="",PinType.PinSubCategoryObject=Class'"/Script/Engine.Controller"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(K2Node_Event_0 124B67D740510AF48431A599D3D958CD,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=11255715444928DF42D86C8C5F26D97B,PinName="Goal",PinToolTip="Goal\nVector (by ref)",PinType.PinCategory="struct",PinType.PinSubCategory="",PinType.PinSubCategoryObject=ScriptStruct'"/Script/CoreUObject.Vector"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=True,PinType.bIsConst=True,PinType.bIsWeakPointer=False,DefaultValue="0, 0, 0",AutogeneratedDefaultValue="0, 0, 0",LinkedTo=(K2Node_CallFunction_7 5823F3C04DFCD160BC9B3592A7C44404,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=True,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/BlueprintGraph.K2Node_CallFunction Name="K2Node_CallFunction_7"
bIsPureFunc=True
FunctionReference=(MemberParent=Class'"/Script/AIModule.BTFunctionLibrary"',MemberName="GetBlackboardValueAsVector")
NodePosX=688
NodePosY=272
NodeGuid=389A44084DDEB110E84DE99609723334
CustomProperties Pin (PinId=B1BB35434625D06F5534108D6262D381,PinName="self",PinFriendlyName=NSLOCTEXT("K2Node", "Target", "Target"),PinToolTip="Target\nBTFunction Library Object Reference",PinType.PinCategory="object",PinType.PinSubCategory="",PinType.PinSubCategoryObject=Class'"/Script/AIModule.BTFunctionLibrary"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,DefaultObject="/Script/AIModule.Default__BTFunctionLibrary",PersistentGuid=00000000000000000000000000000000,bHidden=True,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=7084B9A5496507597348EF8BFB4F5C1C,PinName="NodeOwner",PinToolTip="Node Owner\nBTNode Object Reference",PinType.PinCategory="object",PinType.PinSubCategory="",PinType.PinSubCategoryObject=Class'"/Script/AIModule.BTNode"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PersistentGuid=00000000000000000000000000000000,bHidden=True,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=16B663A843E1697ECAEA0480591C4805,PinName="Key",PinToolTip="Key\nBlackboard Key Selector Structure (by ref)",PinType.PinCategory="struct",PinType.PinSubCategory="",PinType.PinSubCategoryObject=ScriptStruct'"/Script/AIModule.BlackboardKeySelector"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=True,PinType.bIsConst=True,PinType.bIsWeakPointer=False,LinkedTo=(K2Node_VariableGet_0 3CA4A56A4E23C67452B040827EF53D71,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=True,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=5823F3C04DFCD160BC9B3592A7C44404,PinName="ReturnValue",PinToolTip="Return Value\nVector\n\nGet Blackboard Value as Vector",Direction="EGPD_Output",PinType.PinCategory="struct",PinType.PinSubCategory="",PinType.PinSubCategoryObject=ScriptStruct'"/Script/CoreUObject.Vector"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,DefaultValue="0, 0, 0",AutogeneratedDefaultValue="0, 0, 0",LinkedTo=(K2Node_CallFunction_3 6F171EB04C15797B82BB299A704B1C9E,K2Node_CallFunction_6 11255715444928DF42D86C8C5F26D97B,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
</nowiki>
a554870270db6012eaacce63c26daabe015eac65
1750
1749
2020-04-04T18:35:04Z
Assetdk
89
/* Simple move to */
wikitext
text/x-wiki
=UE4 Advanced Locomotion System=
I finally got the animation retargeting working, still there are problems, but this should bring you a step further.
===What was the problem===
Clearly there is a bug in UE4! During the retargeting we have at least tree elements, the animation, the source skeleton and the target skeleton. (Add to this the retargeting manager stuff for each skeleton.) What happens - at least in theory - is that some bones are used/referred to in the animation, and for each of these bones UE4 must transfer the parameters 1:1, and the result is complied in the new animation.
For some reason this went wrong; in some cases UE4 crash due to an array index runs over... and since I know a bit about programming, my guess it that this is a simple case of using the wrong index for the wrong skeleton! In this case it is rather easy to guess that the source skeleton (or perhaps the source animation) have more bones than the target skeleton... likewise, you can guess that things could go OK, if only the target skeleton has more bones than the source!
===Solution - or rater a crude fix!!===
Since I was keen on getting on; i simply added some fake virtual bones to the target skeleton! Enough bones so the "source index" would not be higher than the max of the target skeleton area! This is indeed a crude fix, as we can assume that the retargeting process will fail to find any use in those fake virtual bones.
Fact is that you can now retarget the '''Advanced Locomotion System V4'''!!
==The next problems==
There are still some problems! But these are of a more general character.... I tried to retarget one of the PARAGON characters. And as for the Makehuman/Mixamo characters only a subset of the system is working. IK can be made working, somewhat, following some of the steps shown in the tutorials below - but ALS V4 holds a lot of changes and we need a lot more virtual IK bones, a subject I don't enough about yet....
Since ALS V4 is a very strong product I hope that there will be a better UE4, and perhaps one of us could make one to share? I will share what I got, as soon as I have made it a bit better. Take a look at the older ALS tutorials for "odd" skeletons:
{{#ev:youtube|kTrjEeoNi4w}}
{{#ev:youtube|fK1LIqLu1GU}}
==Standard ALS setup, and some very useful tips on changing many meshes!!==
I you are running UE4.23 you may be in "luck" - that is UE4.23 will download ALS V3 and then these tutorials will probably totally work for you!
(However that will then not be useful for you, when you upgrade to >UE4.23, unless you can and want to migrate ALS V3..)
{{#ev:youtube|SA4xgZiqsLI}}
{{#ev:youtube|4pnN5OnXaSc}}
And this is the link to the secret playlist: [https://www.youtube.com/playlist?list=PLAR8Kc1ZLLKZjnKI_idX7Ik7mN0VORSm_ ALSV3 - Working With Other Characters]
=Simple move to=
<nowiki>
Begin Object Class=/Script/BlueprintGraph.K2Node_Event Name="K2Node_Event_0"
EventReference=(MemberParent=Class'"/Script/AIModule.BTTask_BlueprintBase"',MemberName="ReceiveExecuteAI")
bOverrideFunction=True
NodePosX=80
NodePosY=176
NodeGuid=5AECDA0D45B70CD6668F66A7DC975CD2
CustomProperties Pin (PinId=3C0830D94F34DA7FFC919ABD8D07D819,PinName="OutputDelegate",Direction="EGPD_Output",PinType.PinCategory="delegate",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(MemberParent=Class'"/Script/AIModule.BTTask_BlueprintBase"',MemberName="ReceiveExecuteAI"),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=69B84B6B4DD42B047415718632E6DFD3,PinName="then",Direction="EGPD_Output",PinType.PinCategory="exec",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(K2Node_CallFunction_6 B3E31D744074C0D14FED0C8F8C681276,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=124B67D740510AF48431A599D3D958CD,PinName="OwnerController",PinToolTip="Owner Controller\nAIController Object Reference",Direction="EGPD_Output",PinType.PinCategory="object",PinType.PinSubCategory="",PinType.PinSubCategoryObject=Class'"/Script/AIModule.AIController"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(K2Node_CallFunction_6 10A7070A413C34545368BE801B05788B,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=A3E2D46643D499E91DBF73A5DA0CF087,PinName="ControlledPawn",PinToolTip="Controlled Pawn\nPawn Object Reference",Direction="EGPD_Output",PinType.PinCategory="object",PinType.PinSubCategory="",PinType.PinSubCategoryObject=Class'"/Script/Engine.Pawn"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(K2Node_Knot_0 177328B947C1CEE15ABE90B78D46A073,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/BlueprintGraph.K2Node_CallFunction Name="K2Node_CallFunction_0"
FunctionReference=(MemberName="FinishExecute",bSelfContext=True)
NodePosX=1552
NodePosY=158
NodeGuid=7F4B9E9A457006867FE18AB2259E3249
CustomProperties Pin (PinId=6801586248E6C067280774B134C03A2B,PinName="execute",PinToolTip="\nExec",PinType.PinCategory="exec",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(K2Node_AIMoveTo_0 5F9FCD2948C55C39017AC4812985F463,K2Node_CallFunction_5 D82E41C74E7EC356EBA0CD90B6C377C7,K2Node_CallFunction_6 502B59E9467A9ACC50D13D97BCA52317,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=4BF230B84A974CA60637F78EDA63F129,PinName="then",PinToolTip="\nExec",Direction="EGPD_Output",PinType.PinCategory="exec",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=4E080BB04C5439D6AF2B17837FAD8BB9,PinName="self",PinFriendlyName=NSLOCTEXT("K2Node", "Target", "Target"),PinToolTip="Target\nBTTask Blueprint Base Object Reference",PinType.PinCategory="object",PinType.PinSubCategory="",PinType.PinSubCategoryObject=Class'"/Script/AIModule.BTTask_BlueprintBase"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=30D99D514AEA9B63F0EEBDB7CC915CBB,PinName="bSuccess",PinToolTip="Success\nBoolean",PinType.PinCategory="bool",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,DefaultValue="true",AutogeneratedDefaultValue="false",PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/BlueprintGraph.K2Node_VariableGet Name="K2Node_VariableGet_0"
VariableReference=(MemberName="vector",MemberGuid=2383D6DF4191BE6B60BDE8BE165E5A19,bSelfContext=True)
NodePosX=480
NodePosY=320
NodeGuid=7A6ACF594AC784584D7A94BF323664B1
CustomProperties Pin (PinId=3CA4A56A4E23C67452B040827EF53D71,PinName="vector",Direction="EGPD_Output",PinType.PinCategory="struct",PinType.PinSubCategory="",PinType.PinSubCategoryObject=ScriptStruct'"/Script/AIModule.BlackboardKeySelector"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(K2Node_CallFunction_7 16B663A843E1697ECAEA0480591C4805,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=D7F06E7E4D16A9C8990450A573FC8565,PinName="self",PinFriendlyName=NSLOCTEXT("K2Node", "Target", "Target"),PinType.PinCategory="object",PinType.PinSubCategory="",PinType.PinSubCategoryObject=BlueprintGeneratedClass'"/Game/BSP_StoopidShooter/Blueprints/AI_Controller/StoopidShooter/T_Move2Location.T_Move2Location_C"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PersistentGuid=00000000000000000000000000000000,bHidden=True,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/BlueprintGraph.K2Node_CallFunction Name="K2Node_CallFunction_6"
FunctionReference=(MemberParent=Class'"/Script/AIModule.AIBlueprintHelperLibrary"',MemberName="SimpleMoveToLocation")
NodePosX=1104
NodePosY=176
NodeGuid=9F83ABE44F9168D607AA39A535A01AF9
CustomProperties Pin (PinId=B3E31D744074C0D14FED0C8F8C681276,PinName="execute",PinToolTip="\nExec",PinType.PinCategory="exec",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(K2Node_Event_0 69B84B6B4DD42B047415718632E6DFD3,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=502B59E9467A9ACC50D13D97BCA52317,PinName="then",PinToolTip="\nExec",Direction="EGPD_Output",PinType.PinCategory="exec",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(K2Node_CallFunction_0 6801586248E6C067280774B134C03A2B,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=D797DE824659A113617873B49ED86BC0,PinName="self",PinFriendlyName=NSLOCTEXT("K2Node", "Target", "Target"),PinToolTip="Target\nAIBlueprint Helper Library Object Reference",PinType.PinCategory="object",PinType.PinSubCategory="",PinType.PinSubCategoryObject=Class'"/Script/AIModule.AIBlueprintHelperLibrary"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,DefaultObject="/Script/AIModule.Default__AIBlueprintHelperLibrary",PersistentGuid=00000000000000000000000000000000,bHidden=True,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=10A7070A413C34545368BE801B05788B,PinName="Controller",PinToolTip="Controller\nController Object Reference",PinType.PinCategory="object",PinType.PinSubCategory="",PinType.PinSubCategoryObject=Class'"/Script/Engine.Controller"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(K2Node_Event_0 124B67D740510AF48431A599D3D958CD,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=11255715444928DF42D86C8C5F26D97B,PinName="Goal",PinToolTip="Goal\nVector (by ref)",PinType.PinCategory="struct",PinType.PinSubCategory="",PinType.PinSubCategoryObject=ScriptStruct'"/Script/CoreUObject.Vector"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=True,PinType.bIsConst=True,PinType.bIsWeakPointer=False,DefaultValue="0, 0, 0",AutogeneratedDefaultValue="0, 0, 0",LinkedTo=(K2Node_CallFunction_7 5823F3C04DFCD160BC9B3592A7C44404,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=True,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/BlueprintGraph.K2Node_CallFunction Name="K2Node_CallFunction_7"
bIsPureFunc=True
FunctionReference=(MemberParent=Class'"/Script/AIModule.BTFunctionLibrary"',MemberName="GetBlackboardValueAsVector")
NodePosX=688
NodePosY=272
NodeGuid=389A44084DDEB110E84DE99609723334
CustomProperties Pin (PinId=B1BB35434625D06F5534108D6262D381,PinName="self",PinFriendlyName=NSLOCTEXT("K2Node", "Target", "Target"),PinToolTip="Target\nBTFunction Library Object Reference",PinType.PinCategory="object",PinType.PinSubCategory="",PinType.PinSubCategoryObject=Class'"/Script/AIModule.BTFunctionLibrary"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,DefaultObject="/Script/AIModule.Default__BTFunctionLibrary",PersistentGuid=00000000000000000000000000000000,bHidden=True,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=7084B9A5496507597348EF8BFB4F5C1C,PinName="NodeOwner",PinToolTip="Node Owner\nBTNode Object Reference",PinType.PinCategory="object",PinType.PinSubCategory="",PinType.PinSubCategoryObject=Class'"/Script/AIModule.BTNode"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PersistentGuid=00000000000000000000000000000000,bHidden=True,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=16B663A843E1697ECAEA0480591C4805,PinName="Key",PinToolTip="Key\nBlackboard Key Selector Structure (by ref)",PinType.PinCategory="struct",PinType.PinSubCategory="",PinType.PinSubCategoryObject=ScriptStruct'"/Script/AIModule.BlackboardKeySelector"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=True,PinType.bIsConst=True,PinType.bIsWeakPointer=False,LinkedTo=(K2Node_VariableGet_0 3CA4A56A4E23C67452B040827EF53D71,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=True,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=5823F3C04DFCD160BC9B3592A7C44404,PinName="ReturnValue",PinToolTip="Return Value\nVector\n\nGet Blackboard Value as Vector",Direction="EGPD_Output",PinType.PinCategory="struct",PinType.PinSubCategory="",PinType.PinSubCategoryObject=ScriptStruct'"/Script/CoreUObject.Vector"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,DefaultValue="0, 0, 0",AutogeneratedDefaultValue="0, 0, 0",LinkedTo=(K2Node_CallFunction_3 6F171EB04C15797B82BB299A704B1C9E,K2Node_CallFunction_6 11255715444928DF42D86C8C5F26D97B,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
</nowiki>
5ea56f56636ecb42458a9db882dbe674e51a9105
1749
1717
2020-04-04T12:59:42Z
Assetdk
89
/* UE4 Advanced Locomotion System */
wikitext
text/x-wiki
=UE4 Advanced Locomotion System=
I finally got the animation retargeting working, still there are problems, but this should bring you a step further.
===What was the problem===
Clearly there is a bug in UE4! During the retargeting we have at least tree elements, the animation, the source skeleton and the target skeleton. (Add to this the retargeting manager stuff for each skeleton.) What happens - at least in theory - is that some bones are used/referred to in the animation, and for each of these bones UE4 must transfer the parameters 1:1, and the result is complied in the new animation.
For some reason this went wrong; in some cases UE4 crash due to an array index runs over... and since I know a bit about programming, my guess it that this is a simple case of using the wrong index for the wrong skeleton! In this case it is rather easy to guess that the source skeleton (or perhaps the source animation) have more bones than the target skeleton... likewise, you can guess that things could go OK, if only the target skeleton has more bones than the source!
===Solution - or rater a crude fix!!===
Since I was keen on getting on; i simply added some fake virtual bones to the target skeleton! Enough bones so the "source index" would not be higher than the max of the target skeleton area! This is indeed a crude fix, as we can assume that the retargeting process will fail to find any use in those fake virtual bones.
Fact is that you can now retarget the '''Advanced Locomotion System V4'''!!
==The next problems==
There are still some problems! But these are of a more general character.... I tried to retarget one of the PARAGON characters. And as for the Makehuman/Mixamo characters only a subset of the system is working. IK can be made working, somewhat, following some of the steps shown in the tutorials below - but ALS V4 holds a lot of changes and we need a lot more virtual IK bones, a subject I don't enough about yet....
Since ALS V4 is a very strong product I hope that there will be a better UE4, and perhaps one of us could make one to share? I will share what I got, as soon as I have made it a bit better. Take a look at the older ALS tutorials for "odd" skeletons:
{{#ev:youtube|kTrjEeoNi4w}}
{{#ev:youtube|fK1LIqLu1GU}}
==Standard ALS setup, and some very useful tips on changing many meshes!!==
I you are running UE4.23 you may be in "luck" - that is UE4.23 will download ALS V3 and then these tutorials will probably totally work for you!
(However that will then not be useful for you, when you upgrade to >UE4.23, unless you can and want to migrate ALS V3..)
{{#ev:youtube|SA4xgZiqsLI}}
{{#ev:youtube|4pnN5OnXaSc}}
And this is the link to the secret playlist: [https://www.youtube.com/playlist?list=PLAR8Kc1ZLLKZjnKI_idX7Ik7mN0VORSm_ ALSV3 - Working With Other Characters]
=Simple move to=
Begin Object Class=/Script/BlueprintGraph.K2Node_Event Name="K2Node_Event_0"
EventReference=(MemberParent=Class'"/Script/AIModule.BTTask_BlueprintBase"',MemberName="ReceiveExecuteAI")
bOverrideFunction=True
NodePosX=80
NodePosY=176
NodeGuid=5AECDA0D45B70CD6668F66A7DC975CD2
CustomProperties Pin (PinId=3C0830D94F34DA7FFC919ABD8D07D819,PinName="OutputDelegate",Direction="EGPD_Output",PinType.PinCategory="delegate",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(MemberParent=Class'"/Script/AIModule.BTTask_BlueprintBase"',MemberName="ReceiveExecuteAI"),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=69B84B6B4DD42B047415718632E6DFD3,PinName="then",Direction="EGPD_Output",PinType.PinCategory="exec",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(K2Node_CallFunction_6 B3E31D744074C0D14FED0C8F8C681276,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=124B67D740510AF48431A599D3D958CD,PinName="OwnerController",PinToolTip="Owner Controller\nAIController Object Reference",Direction="EGPD_Output",PinType.PinCategory="object",PinType.PinSubCategory="",PinType.PinSubCategoryObject=Class'"/Script/AIModule.AIController"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(K2Node_CallFunction_6 10A7070A413C34545368BE801B05788B,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=A3E2D46643D499E91DBF73A5DA0CF087,PinName="ControlledPawn",PinToolTip="Controlled Pawn\nPawn Object Reference",Direction="EGPD_Output",PinType.PinCategory="object",PinType.PinSubCategory="",PinType.PinSubCategoryObject=Class'"/Script/Engine.Pawn"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(K2Node_Knot_0 177328B947C1CEE15ABE90B78D46A073,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/BlueprintGraph.K2Node_CallFunction Name="K2Node_CallFunction_0"
FunctionReference=(MemberName="FinishExecute",bSelfContext=True)
NodePosX=1552
NodePosY=158
NodeGuid=7F4B9E9A457006867FE18AB2259E3249
CustomProperties Pin (PinId=6801586248E6C067280774B134C03A2B,PinName="execute",PinToolTip="\nExec",PinType.PinCategory="exec",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(K2Node_AIMoveTo_0 5F9FCD2948C55C39017AC4812985F463,K2Node_CallFunction_5 D82E41C74E7EC356EBA0CD90B6C377C7,K2Node_CallFunction_6 502B59E9467A9ACC50D13D97BCA52317,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=4BF230B84A974CA60637F78EDA63F129,PinName="then",PinToolTip="\nExec",Direction="EGPD_Output",PinType.PinCategory="exec",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=4E080BB04C5439D6AF2B17837FAD8BB9,PinName="self",PinFriendlyName=NSLOCTEXT("K2Node", "Target", "Target"),PinToolTip="Target\nBTTask Blueprint Base Object Reference",PinType.PinCategory="object",PinType.PinSubCategory="",PinType.PinSubCategoryObject=Class'"/Script/AIModule.BTTask_BlueprintBase"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=30D99D514AEA9B63F0EEBDB7CC915CBB,PinName="bSuccess",PinToolTip="Success\nBoolean",PinType.PinCategory="bool",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,DefaultValue="true",AutogeneratedDefaultValue="false",PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/BlueprintGraph.K2Node_VariableGet Name="K2Node_VariableGet_0"
VariableReference=(MemberName="vector",MemberGuid=2383D6DF4191BE6B60BDE8BE165E5A19,bSelfContext=True)
NodePosX=480
NodePosY=320
NodeGuid=7A6ACF594AC784584D7A94BF323664B1
CustomProperties Pin (PinId=3CA4A56A4E23C67452B040827EF53D71,PinName="vector",Direction="EGPD_Output",PinType.PinCategory="struct",PinType.PinSubCategory="",PinType.PinSubCategoryObject=ScriptStruct'"/Script/AIModule.BlackboardKeySelector"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(K2Node_CallFunction_7 16B663A843E1697ECAEA0480591C4805,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=D7F06E7E4D16A9C8990450A573FC8565,PinName="self",PinFriendlyName=NSLOCTEXT("K2Node", "Target", "Target"),PinType.PinCategory="object",PinType.PinSubCategory="",PinType.PinSubCategoryObject=BlueprintGeneratedClass'"/Game/BSP_StoopidShooter/Blueprints/AI_Controller/StoopidShooter/T_Move2Location.T_Move2Location_C"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PersistentGuid=00000000000000000000000000000000,bHidden=True,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/BlueprintGraph.K2Node_CallFunction Name="K2Node_CallFunction_6"
FunctionReference=(MemberParent=Class'"/Script/AIModule.AIBlueprintHelperLibrary"',MemberName="SimpleMoveToLocation")
NodePosX=1104
NodePosY=176
NodeGuid=9F83ABE44F9168D607AA39A535A01AF9
CustomProperties Pin (PinId=B3E31D744074C0D14FED0C8F8C681276,PinName="execute",PinToolTip="\nExec",PinType.PinCategory="exec",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(K2Node_Event_0 69B84B6B4DD42B047415718632E6DFD3,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=502B59E9467A9ACC50D13D97BCA52317,PinName="then",PinToolTip="\nExec",Direction="EGPD_Output",PinType.PinCategory="exec",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(K2Node_CallFunction_0 6801586248E6C067280774B134C03A2B,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=D797DE824659A113617873B49ED86BC0,PinName="self",PinFriendlyName=NSLOCTEXT("K2Node", "Target", "Target"),PinToolTip="Target\nAIBlueprint Helper Library Object Reference",PinType.PinCategory="object",PinType.PinSubCategory="",PinType.PinSubCategoryObject=Class'"/Script/AIModule.AIBlueprintHelperLibrary"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,DefaultObject="/Script/AIModule.Default__AIBlueprintHelperLibrary",PersistentGuid=00000000000000000000000000000000,bHidden=True,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=10A7070A413C34545368BE801B05788B,PinName="Controller",PinToolTip="Controller\nController Object Reference",PinType.PinCategory="object",PinType.PinSubCategory="",PinType.PinSubCategoryObject=Class'"/Script/Engine.Controller"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(K2Node_Event_0 124B67D740510AF48431A599D3D958CD,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=11255715444928DF42D86C8C5F26D97B,PinName="Goal",PinToolTip="Goal\nVector (by ref)",PinType.PinCategory="struct",PinType.PinSubCategory="",PinType.PinSubCategoryObject=ScriptStruct'"/Script/CoreUObject.Vector"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=True,PinType.bIsConst=True,PinType.bIsWeakPointer=False,DefaultValue="0, 0, 0",AutogeneratedDefaultValue="0, 0, 0",LinkedTo=(K2Node_CallFunction_7 5823F3C04DFCD160BC9B3592A7C44404,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=True,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/BlueprintGraph.K2Node_CallFunction Name="K2Node_CallFunction_7"
bIsPureFunc=True
FunctionReference=(MemberParent=Class'"/Script/AIModule.BTFunctionLibrary"',MemberName="GetBlackboardValueAsVector")
NodePosX=688
NodePosY=272
NodeGuid=389A44084DDEB110E84DE99609723334
CustomProperties Pin (PinId=B1BB35434625D06F5534108D6262D381,PinName="self",PinFriendlyName=NSLOCTEXT("K2Node", "Target", "Target"),PinToolTip="Target\nBTFunction Library Object Reference",PinType.PinCategory="object",PinType.PinSubCategory="",PinType.PinSubCategoryObject=Class'"/Script/AIModule.BTFunctionLibrary"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,DefaultObject="/Script/AIModule.Default__BTFunctionLibrary",PersistentGuid=00000000000000000000000000000000,bHidden=True,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=7084B9A5496507597348EF8BFB4F5C1C,PinName="NodeOwner",PinToolTip="Node Owner\nBTNode Object Reference",PinType.PinCategory="object",PinType.PinSubCategory="",PinType.PinSubCategoryObject=Class'"/Script/AIModule.BTNode"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PersistentGuid=00000000000000000000000000000000,bHidden=True,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=16B663A843E1697ECAEA0480591C4805,PinName="Key",PinToolTip="Key\nBlackboard Key Selector Structure (by ref)",PinType.PinCategory="struct",PinType.PinSubCategory="",PinType.PinSubCategoryObject=ScriptStruct'"/Script/AIModule.BlackboardKeySelector"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=True,PinType.bIsConst=True,PinType.bIsWeakPointer=False,LinkedTo=(K2Node_VariableGet_0 3CA4A56A4E23C67452B040827EF53D71,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=True,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=5823F3C04DFCD160BC9B3592A7C44404,PinName="ReturnValue",PinToolTip="Return Value\nVector\n\nGet Blackboard Value as Vector",Direction="EGPD_Output",PinType.PinCategory="struct",PinType.PinSubCategory="",PinType.PinSubCategoryObject=ScriptStruct'"/Script/CoreUObject.Vector"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,DefaultValue="0, 0, 0",AutogeneratedDefaultValue="0, 0, 0",LinkedTo=(K2Node_CallFunction_3 6F171EB04C15797B82BB299A704B1C9E,K2Node_CallFunction_6 11255715444928DF42D86C8C5F26D97B,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
64212fa4b59f86f9ec988ba92432435bfd839208
1717
1716
2020-03-01T17:35:25Z
Assetdk
89
/* Standard ALS setup, and some very useful tips on changing many meshes!! */
wikitext
text/x-wiki
=UE4 Advanced Locomotion System=
I finally got the animation retargeting working, still there are problems, but this should bring you a step further.
===What was the problem===
Clearly there is a bug in UE4! During the retargeting we have at least tree elements, the animation, the source skeleton and the target skeleton. (Add to this the retargeting manager stuff for each skeleton.) What happens - at least in theory - is that some bones are used/referred to in the animation, and for each of these bones UE4 must transfer the parameters 1:1, and the result is complied in the new animation.
For some reason this went wrong; in some cases UE4 crash due to an array index runs over... and since I know a bit about programming, my guess it that this is a simple case of using the wrong index for the wrong skeleton! In this case it is rather easy to guess that the source skeleton (or perhaps the source animation) have more bones than the target skeleton... likewise, you can guess that things could go OK, if only the target skeleton has more bones than the source!
===Solution - or rater a crude fix!!===
Since I was keen on getting on; i simply added some fake virtual bones to the target skeleton! Enough bones so the "source index" would not be higher than the max of the target skeleton area! This is indeed a crude fix, as we can assume that the retargeting process will fail to find any use in those fake virtual bones.
Fact is that you can now retarget the '''Advanced Locomotion System V4'''!!
==The next problems==
There are still some problems! But these are of a more general character.... I tried to retarget one of the PARAGON characters. And as for the Makehuman/Mixamo characters only a subset of the system is working. IK can be made working, somewhat, following some of the steps shown in the tutorials below - but ALS V4 holds a lot of changes and we need a lot more virtual IK bones, a subject I don't enough about yet....
Since ALS V4 is a very strong product I hope that there will be a better UE4, and perhaps one of us could make one to share? I will share what I got, as soon as I have made it a bit better. Take a look at the older ALS tutorials for "odd" skeletons:
{{#ev:youtube|kTrjEeoNi4w}}
{{#ev:youtube|fK1LIqLu1GU}}
==Standard ALS setup, and some very useful tips on changing many meshes!!==
I you are running UE4.23 you may be in "luck" - that is UE4.23 will download ALS V3 and then these tutorials will probably totally work for you!
(However that will then not be useful for you, when you upgrade to >UE4.23, unless you can and want to migrate ALS V3..)
{{#ev:youtube|SA4xgZiqsLI}}
{{#ev:youtube|4pnN5OnXaSc}}
And this is the link to the secret playlist: [https://www.youtube.com/playlist?list=PLAR8Kc1ZLLKZjnKI_idX7Ik7mN0VORSm_ ALSV3 - Working With Other Characters]
e9a652ad4f0f4aee3f23fd547d4185c022aaeb89
1716
1715
2020-03-01T17:28:10Z
Assetdk
89
/* Standard ALS setup, and some very useful tips on changing many meshes!! */
wikitext
text/x-wiki
=UE4 Advanced Locomotion System=
I finally got the animation retargeting working, still there are problems, but this should bring you a step further.
===What was the problem===
Clearly there is a bug in UE4! During the retargeting we have at least tree elements, the animation, the source skeleton and the target skeleton. (Add to this the retargeting manager stuff for each skeleton.) What happens - at least in theory - is that some bones are used/referred to in the animation, and for each of these bones UE4 must transfer the parameters 1:1, and the result is complied in the new animation.
For some reason this went wrong; in some cases UE4 crash due to an array index runs over... and since I know a bit about programming, my guess it that this is a simple case of using the wrong index for the wrong skeleton! In this case it is rather easy to guess that the source skeleton (or perhaps the source animation) have more bones than the target skeleton... likewise, you can guess that things could go OK, if only the target skeleton has more bones than the source!
===Solution - or rater a crude fix!!===
Since I was keen on getting on; i simply added some fake virtual bones to the target skeleton! Enough bones so the "source index" would not be higher than the max of the target skeleton area! This is indeed a crude fix, as we can assume that the retargeting process will fail to find any use in those fake virtual bones.
Fact is that you can now retarget the '''Advanced Locomotion System V4'''!!
==The next problems==
There are still some problems! But these are of a more general character.... I tried to retarget one of the PARAGON characters. And as for the Makehuman/Mixamo characters only a subset of the system is working. IK can be made working, somewhat, following some of the steps shown in the tutorials below - but ALS V4 holds a lot of changes and we need a lot more virtual IK bones, a subject I don't enough about yet....
Since ALS V4 is a very strong product I hope that there will be a better UE4, and perhaps one of us could make one to share? I will share what I got, as soon as I have made it a bit better. Take a look at the older ALS tutorials for "odd" skeletons:
{{#ev:youtube|kTrjEeoNi4w}}
{{#ev:youtube|fK1LIqLu1GU}}
==Standard ALS setup, and some very useful tips on changing many meshes!!==
I you are running UE4.23 you may be in "luck" - that is UE4.23 will download ALS V3 and then these tutorials will probably totally work for you!
(However that will then not be useful for you, when you upgrade to >UE4.23, unless you can and want to migrate ALS V3..)
{{#ev:youtube|SA4xgZiqsLI}}
{{#ev:youtube|4pnN5OnXaSc}}
b2872777052f605cfae39ba5c2502221c3e6195d
1715
1714
2020-03-01T17:24:55Z
Assetdk
89
/* Standard ALS setup, and some very useful tips on changing many meshes!! */
wikitext
text/x-wiki
=UE4 Advanced Locomotion System=
I finally got the animation retargeting working, still there are problems, but this should bring you a step further.
===What was the problem===
Clearly there is a bug in UE4! During the retargeting we have at least tree elements, the animation, the source skeleton and the target skeleton. (Add to this the retargeting manager stuff for each skeleton.) What happens - at least in theory - is that some bones are used/referred to in the animation, and for each of these bones UE4 must transfer the parameters 1:1, and the result is complied in the new animation.
For some reason this went wrong; in some cases UE4 crash due to an array index runs over... and since I know a bit about programming, my guess it that this is a simple case of using the wrong index for the wrong skeleton! In this case it is rather easy to guess that the source skeleton (or perhaps the source animation) have more bones than the target skeleton... likewise, you can guess that things could go OK, if only the target skeleton has more bones than the source!
===Solution - or rater a crude fix!!===
Since I was keen on getting on; i simply added some fake virtual bones to the target skeleton! Enough bones so the "source index" would not be higher than the max of the target skeleton area! This is indeed a crude fix, as we can assume that the retargeting process will fail to find any use in those fake virtual bones.
Fact is that you can now retarget the '''Advanced Locomotion System V4'''!!
==The next problems==
There are still some problems! But these are of a more general character.... I tried to retarget one of the PARAGON characters. And as for the Makehuman/Mixamo characters only a subset of the system is working. IK can be made working, somewhat, following some of the steps shown in the tutorials below - but ALS V4 holds a lot of changes and we need a lot more virtual IK bones, a subject I don't enough about yet....
Since ALS V4 is a very strong product I hope that there will be a better UE4, and perhaps one of us could make one to share? I will share what I got, as soon as I have made it a bit better. Take a look at the older ALS tutorials for "odd" skeletons:
{{#ev:youtube|kTrjEeoNi4w}}
{{#ev:youtube|fK1LIqLu1GU}}
==Standard ALS setup, and some very useful tips on changing many meshes!!==
{{#ev:youtube|SA4xgZiqsLI}}
4pnN5OnXaSc
{{#ev:youtube|4pnN5OnXaSc}}
0115c86430db6472e385fb00d4585fa0f2609f1a
1714
1713
2020-03-01T17:19:08Z
Assetdk
89
/* The next problems */
wikitext
text/x-wiki
=UE4 Advanced Locomotion System=
I finally got the animation retargeting working, still there are problems, but this should bring you a step further.
===What was the problem===
Clearly there is a bug in UE4! During the retargeting we have at least tree elements, the animation, the source skeleton and the target skeleton. (Add to this the retargeting manager stuff for each skeleton.) What happens - at least in theory - is that some bones are used/referred to in the animation, and for each of these bones UE4 must transfer the parameters 1:1, and the result is complied in the new animation.
For some reason this went wrong; in some cases UE4 crash due to an array index runs over... and since I know a bit about programming, my guess it that this is a simple case of using the wrong index for the wrong skeleton! In this case it is rather easy to guess that the source skeleton (or perhaps the source animation) have more bones than the target skeleton... likewise, you can guess that things could go OK, if only the target skeleton has more bones than the source!
===Solution - or rater a crude fix!!===
Since I was keen on getting on; i simply added some fake virtual bones to the target skeleton! Enough bones so the "source index" would not be higher than the max of the target skeleton area! This is indeed a crude fix, as we can assume that the retargeting process will fail to find any use in those fake virtual bones.
Fact is that you can now retarget the '''Advanced Locomotion System V4'''!!
==The next problems==
There are still some problems! But these are of a more general character.... I tried to retarget one of the PARAGON characters. And as for the Makehuman/Mixamo characters only a subset of the system is working. IK can be made working, somewhat, following some of the steps shown in the tutorials below - but ALS V4 holds a lot of changes and we need a lot more virtual IK bones, a subject I don't enough about yet....
Since ALS V4 is a very strong product I hope that there will be a better UE4, and perhaps one of us could make one to share? I will share what I got, as soon as I have made it a bit better. Take a look at the older ALS tutorials for "odd" skeletons:
{{#ev:youtube|kTrjEeoNi4w}}
{{#ev:youtube|fK1LIqLu1GU}}
==Standard ALS setup, and some very useful tips on changing many meshes!!==
{{#ev:youtube|SA4xgZiqsLI}}
a1704e5f8e0c4c52135d4db445a29fef0f283377
1713
1712
2020-03-01T17:15:49Z
Assetdk
89
/* =What was the problem */
wikitext
text/x-wiki
=UE4 Advanced Locomotion System=
I finally got the animation retargeting working, still there are problems, but this should bring you a step further.
===What was the problem===
Clearly there is a bug in UE4! During the retargeting we have at least tree elements, the animation, the source skeleton and the target skeleton. (Add to this the retargeting manager stuff for each skeleton.) What happens - at least in theory - is that some bones are used/referred to in the animation, and for each of these bones UE4 must transfer the parameters 1:1, and the result is complied in the new animation.
For some reason this went wrong; in some cases UE4 crash due to an array index runs over... and since I know a bit about programming, my guess it that this is a simple case of using the wrong index for the wrong skeleton! In this case it is rather easy to guess that the source skeleton (or perhaps the source animation) have more bones than the target skeleton... likewise, you can guess that things could go OK, if only the target skeleton has more bones than the source!
===Solution - or rater a crude fix!!===
Since I was keen on getting on; i simply added some fake virtual bones to the target skeleton! Enough bones so the "source index" would not be higher than the max of the target skeleton area! This is indeed a crude fix, as we can assume that the retargeting process will fail to find any use in those fake virtual bones.
Fact is that you can now retarget the '''Advanced Locomotion System V4'''!!
==The next problems==
There are still some problems! But these are of a more general character.... I tried to retarget one of the PARAGON characters. And as for the Makehuman/Mixamo characters only a subset of the system is working. IK can be made working, somewhat, following some of the steps shown in the tutorials below - but ALS V4 holds a lot of changes and we need a lot more virtual IK bones, a subject I don't enough about yet....
Since ALS V4 is a very strong product I hope that there will be a better UE4, and perhaps one of us could make one to share? I will share what I got, as soon as I have made it a bit better. Take a look at the older ALS tutorials for "odd" skeletons:
{{#ev:youtube|kTrjEeoNi4w}}
27bc2c181bcdc1a2b5c51984fd01b488c8b463e5
1712
1711
2020-03-01T17:13:18Z
Assetdk
89
/* UE4 Advanced Locomotion System */
wikitext
text/x-wiki
=UE4 Advanced Locomotion System=
I finally got the animation retargeting working, still there are problems, but this should bring you a step further.
===What was the problem==
Clearly there is a bug in UE4! During the retargeting we have at least tree elements, the animation, the source skeleton and the target skeleton. (Add to this the retargeting manager stuff for each skeleton.) What happens - at least in theory - is that some bones are used/referred to in the animation, and for each of these bones UE4 must transfer the parameters 1:1, and the result is complied in the new animation.
For some reason this went wrong; in some cases UE4 crash due to an array index runs over... and since I know a bit about programming, my guess it that this is a simple case of using the wrong index for the wrong skeleton! In this case it is rather easy to guess that the source skeleton (or perhaps the source animation) have more bones than the target skeleton... likewise, you can guess that things could go OK, if only the target skeleton has more bones than the source!
===Solution - or rater a crude fix!!===
Since I was keen on getting on; i simply added some fake virtual bones to the target skeleton! Enough bones so the "source index" would not be higher than the max of the target skeleton area! This is indeed a crude fix, as we can assume that the retargeting process will fail to find any use in those fake virtual bones.
Fact is that you can now retarget the '''Advanced Locomotion System V4'''!!
==The next problems==
There are still some problems! But these are of a more general character.... I tried to retarget one of the PARAGON characters. And as for the Makehuman/Mixamo characters only a subset of the system is working. IK can be made working, somewhat, following some of the steps shown in the tutorials below - but ALS V4 holds a lot of changes and we need a lot more virtual IK bones, a subject I don't enough about yet....
Since ALS V4 is a very strong product I hope that there will be a better UE4, and perhaps one of us could make one to share? I will share what I got, as soon as I have made it a bit better. Take a look at the older ALS tutorials for "odd" skeletons:
{{#ev:youtube|kTrjEeoNi4w}}
6a83322a1cd63d88296902e410e7bbdf32c28a8d
1711
1710
2020-03-01T17:12:16Z
Assetdk
89
/* UE4 Advanced Locomotion System */
wikitext
text/x-wiki
=UE4 Advanced Locomotion System=
I finally got the animation retargeting working, still there are problems, but this should bring you a step further.
===What was the problem==
Clearly there is a bug in UE4! During the retargeting we have at least tree elements, the animation, the source skeleton and the target skeleton. (Add to this the retargeting manager stuff for each skeleton.) What happens - at least in theory - is that some bones are used/referred to in the animation, and for each of these bones UE4 must transfer the parameters 1:1, and the result is complied in the new animation.
For some reason this went wrong; in some cases UE4 crash due to an array index runs over... and since I know a bit about programming, my guess it that this is a simple case of using the wrong index for the wrong skeleton! In this case it is rather easy to guess that the source skeleton (or perhaps the source animation) have more bones than the target skeleton... likewise, you can guess that things could go OK, if only the target skeleton has more bones than the source!
===Solution - or rater a crude fix!!==
Since I was keen on getting on; i simply added some fake virtual bones to the target skeleton! Enough bones so the "source index" would not be higher than the max of the target skeleton area! This is indeed a crude fix, as we can assume that the retargeting process will fail to find any use in those fake virtual bones.
Fact is that you can now retarget the '''Advanced Locomotion System V4'''!!
==The next problems==
There are still some problems! But these are of a more general character.... I tried to retarget one of the PARAGON characters. And as for the Makehuman/Mixamo characters only a subset of the system is working. IK can be made working, somewhat, following some of the steps shown in the tutorials below - but ALS V4 holds a lot of changes and we need a lot more virtual IK bones, a subject I don't enough about yet....
Since ALS V4 is a very strong product I hope that there will be a better UE4, and perhaps one of us could make one to share? I will share what I got, as soon as I have made it a bit better. Take a look at the older ALS tutorials for "odd" skeletons:
{{#ev:youtube|kTrjEeoNi4w}}
697648fc9911807aa0da9fce5b2a919bc82005cd
1710
2020-03-01T17:10:21Z
Assetdk
89
Created page with "=UE4 Advanced Locomotion System="
wikitext
text/x-wiki
=UE4 Advanced Locomotion System=
56c833da47c7c9216cf4ed39a5436ef440ca464b
Documentation:Unreal Engine Vehicle Variety Pack
3000
606
1751
1747
2020-04-07T10:41:20Z
Assetdk
89
/* Getting SK_Truck_Box into Blender and split it! */
wikitext
text/x-wiki
Your character should have some kind of transportation - and UE4 comes with some help [https://www.unrealengine.com/marketplace/en-US/product/bbcb90a03f844edbb20c8b89ee16ea32 Vehicle Variety Pack]. However I wanted to get access to the car and to the interior of the box van... Since you need to use Blender for that, I think this gives us a better way of learning a bit about getting props, using Blender in combination with UE4.
This is the tasks I intend to describe:
* Getting SM_Truck_Box into Blender! and split the mesh into separate parts!
* Saving the separate parts
* Failed experiment, with morph targets
* Pivot points... when going to UE4
* Save the work and import to UE4
* New blueprint for the Truck
The end result should be that you can open back doors of the Truck, also you can open the left front door and you can roll down the left window.
These are some screen shots of that:
[[File:UE4-Truck-Result.png]]
==Getting SK_Truck_Box into Blender and split it!==
Please note that I am NOT working with Blender everyday. I realize that there are better/easy ways of doing the selection/delete/cut process. If you want your final result to be perfect please run a fre tutorials on how to use the Edit mode/selection options etc.
You should be able to install the package into UE4 and from there you go to Skeletons and export SK_Truck_Box. You can probably get even better results using SM_Truck_Box, but I did the SK_ version.
Go to Blender 2.8, and import the skeleton in it's separate collection. Use the standard import setting for this. Save the .blend file in a separate folder!
Duplicate this collection and start working on the
The trick here is that you should now go to edit mode and select all parts that you want as a separate mesh in UE4. Please start with the from left window!
This can be rather tricky, and it will be very tricky doing the front door. These are the shortcut you can use for selection:
* Left-mouse+shift clicks selects (Vertex/Edge/Face) - the selection is highlighted
* Ctrl-+ selects what is connected to the current selection, this is not always logic to me but it seldomly fails.
* H-hey, hides your currently selection - when you have something hidden the H-key the visible selection to that.
* Alt-H, unhide showing your current selection
* Ctrl-Z will undo selections etc. (the result you see is not always logic)
In the end you can jump between H and Alt-H to ensure that you have the full selection.... remember to save once in a while! When the window is selected correctly you should be able to do this:
[[File:UE4-Truck-Window1.png]]
Notice that the entire Mesh for the window is two layers, so you first select the outside layer then the layer. And take well care that you do not select some of the internals!
Now this is the important part, you can now split-up the mesh like this:
* Still in Edit-mode, use the Mesh-menu/Separate/Selection option... This will split up the mesh so you have the window in a separate part. Rename the Window part to window_left.
* In the current collection you can now hide/see the window/Truck using the eye icons.
* Duplicate the collection, and for the new collection delete all the parts that is not under the the window.
[[File:UE4-Truck-Window2.png]]
IMPORTANT: Rename the item in the hierarchy to Vehicle_ROOT, and export the entire thing as an FBX.... using the same [http://www.makehumancommunity.org/wiki/Documentation:Saving_models_for_Unreal_Engine_and_how_to_import_them_there#FBX_export_settings export settings] you used for your makehuman FBX - but scale should be changed form 0.1 to 1.0.
'''This is a good time to save your .blend file!'''
==Failed experiment, with morph targets==
The end result should be that you can open/close windows and doors. My first attempt was using morph-targets. Like whit the Makehuman characters this require that you do two truck collections and select/shif t-selec the two meshes and "join as shapes" - the selection process is much the same, but the results was very poor, as the doors do not animate to scale, they actually '''morph''', not very surprisingly!
==Pivot points... when going to UE4==
When you import the Window you must realize two things:
* Invent a name standard for your meshes and your files. You will have a lot of FBX files, and you need to keep a bit of track of what you did and how you imported all of your assets.
* Your Window will not have the correct pivot point!
The trick here is to position the mesh, in Blender, precisely you you can rotate the window with the door...
In your first attempt, this is how it will look in UE4 - but you want the transform/rotation/size gizmo to sit like you see it to the right!
[[File:UE4-Truck-Window3.png]]
To do this you need to go to Blender and position your mesh close to position 0, 0, 0 - oddly enough, the pivot point in Blender has no effect on the one imported to UE4.
However since we want the window to move '''with''' the door, you want the rotation point to sit to the left of the window. Tip: You can simply find the exact position when you have the left door positioned correctly to it's rotation point, you can then position the window "on top" of the door and save the two in separate FBX files.
The process of getting the left front door selected is rather tricky - so I suggest you start with the windows (do both) and then move on to practice on the back-doors! When you get the hang of this it is just work-work-work! The Blender navigation, and selection, is not easy... ?
You can save the same Collection for each part you separate out, then duplicate... and delete the stuff you do not need. In the end you will have one collection holding all the parts and several other collection holding the parts. Naturally when you are finished you duplicate the collection one "last" time and delete all the small parts.. so you have the Truck body in it's own collection.
Remember:
* Save your .blend file often, perhaps even in versions
* Rename say, Vehicle_ROOT.010 to Vehicle_ROOT - for all of your FBX files.
==.... import to UE4==
You will, at some point discover that not every thing works fine. You will, by now, know how to make the materials from textures - but you can also re-use those that comes with the package. Somehow the textures will fit correctly to all of your imported assets... I really don't fully understand textures and UV, but it works!
The Vehicle models are top quality - but when you import them they look "jacket" - some thing like this:
[[File:UE4-Truck-Window4.png]]
There is a reason for this, and two solutions:
* Under the wrench Icon you see a modifier, this was imported from UE4.... and you can either delete this modifier, before saving all the FBX files - or
* Don't use ''Preserve smoothing groups'', when you import!
I do not know if you will need the modifier at some point, so perhaps you should save everything in a separate .blend file?
For some reason the mirrors are corrupted after import, not very important - but yet!!
Now for the fun part!!
==Setup driving...==
You will need to setup a few blueprints and some retargeting for this to work:
* BP_BoxTruck you make a CHILD blueprint of this and you need to add meshes etc. as shown below!
* AB_BoxTruck must be retarget to the new SK_Truck_Box skeleton, give it a new name!
* You may also need to retarget the original Skeleton to the new one?
When this has been done you can drive the Truck directly, as instructed for all the vehicles. Wheels should be turning and you can animate. Now for your modifications of the BP_BoxTruck blueprint, for each mesh you need a separate Skeletal mesh component (like when you make modular characters). In this case it looks like this:
[[File:UE4-Truck-Window5.png]]
Please note two thing! The window is placed under the front door. I found that that will work nicely and you do not need to worry about the transform/rotation. This will require that you saved both the door and the window correctly, with the correct pivot-point, as described above! The pivot must be correct for the rotation, but you can adjust the transformation as needed (in UE4).
I have set up a few interaction Inputs, note that you can use the same key board key for different interactions. The space key is here used for Vehicle Handbreak, but for jump when in ThirdPerson!
[[File:UE4-Truck-Window6.png]]
I also have the E key sending the "Interact" InputAction. And that specific blueprint, under your BP_BoxTruck child blue print, should look something like this:
[[File:UE4-Truck-Window7.png]]
Please note that because the left window was attached '''under''' the left door, it will rotate with the door. If you try to rotate both (as when you connect the last SetRelativeRotation it will swing oddly/double... this is a standard door open BP, you can use it in many places - given that the pivot is correct! In this case the left front door opens when you hold E-key and it colse again when you let go of the E-key.
You can also make variations over this, say I made the window go down, when using the V-key. I had to adjust the Y transform - as the window will not fit into the door the "animation" looks odd when seen from inside. Also a made the double back-door open/close with B-key, in this case there is a bool to check what you want to do and you can naturally do the same for the window/door.
[[File:UE4-Truck-Window8.png]]
=Makehuman!=
The next step will be to add the character to the vehicle, that is he should be able to interact with the Truck - adding event overlap to the front/back doors, and some animations to climb/enter/exit in the correct ways - perhaps he can even interact with goods in the box, or an existing driver?
I will get back on that...
8da9f374e63b9f090ea54b0f2ecd7c7b40f9189f
1747
1746
2020-03-09T22:00:17Z
Assetdk
89
/* Setup driving... */
wikitext
text/x-wiki
Your character should have some kind of transportation - and UE4 comes with some help [https://www.unrealengine.com/marketplace/en-US/product/bbcb90a03f844edbb20c8b89ee16ea32 Vehicle Variety Pack]. However I wanted to get access to the car and to the interior of the box van... Since you need to use Blender for that, I think this gives us a better way of learning a bit about getting props, using Blender in combination with UE4.
This is the tasks I intend to describe:
* Getting SM_Truck_Box into Blender! and split the mesh into separate parts!
* Saving the separate parts
* Failed experiment, with morph targets
* Pivot points... when going to UE4
* Save the work and import to UE4
* New blueprint for the Truck
The end result should be that you can open back doors of the Truck, also you can open the left front door and you can roll down the left window.
These are some screen shots of that:
[[File:UE4-Truck-Result.png]]
==Getting SK_Truck_Box into Blender and split it!==
You should be able to install the package into UE4 and from there you go to Skeletons and export SK_Truck_Box. You can probably get even better results using SM_Truck_Box, but I did the SK_ version.
Go to Blender 2.8, and import the skeleton in it's separate collection. Use the standard import setting for this. Save the .blend file in a separate folder!
Duplicate this collection and start working on the
The trick here is that you should now go to edit mode and select all parts that you want as a separate mesh in UE4. Please start with the from left window!
This can be rather tricky, and it will be very tricky doing the front door. These are the shortcut you can use for selection:
* Left-mouse+shift clicks selects (Vertex/Edge/Face) - the selection is highlighted
* Ctrl-+ selects what is connected to the current selection, this is not always logic to me but it seldomly fails.
* H-hey, hides your currently selection - when you have something hidden the H-key the visible selection to that.
* Alt-H, unhide showing your current selection
* Ctrl-Z will undo selections etc. (the result you see is not always logic)
In the end you can jump between H and Alt-H to ensure that you have the full selection.... remember to save once in a while! When the window is selected correctly you should be able to do this:
[[File:UE4-Truck-Window1.png]]
Notice that the entire Mesh for the window is two layers, so you first select the outside layer then the layer. And take well care that you do not select some of the internals!
Now this is the important part, you can now split-up the mesh like this:
* Still in Edit-mode, use the Mesh-menu/Separate/Selection option... This will split up the mesh so you have the window in a separate part. Rename the Window part to window_left.
* In the current collection you can now hide/see the window/Truck using the eye icons.
* Duplicate the collection, and for the new collection delete all the parts that is not under the the window.
[[File:UE4-Truck-Window2.png]]
IMPORTANT: Rename the item in the hierarchy to Vehicle_ROOT, and export the entire thing as an FBX.... using the same [http://www.makehumancommunity.org/wiki/Documentation:Saving_models_for_Unreal_Engine_and_how_to_import_them_there#FBX_export_settings export settings] you used for your makehuman FBX - but scale should be changed form 0.1 to 1.0.
'''This is a good time to save your .blend file!'''
==Failed experiment, with morph targets==
The end result should be that you can open/close windows and doors. My first attempt was using morph-targets. Like whit the Makehuman characters this require that you do two truck collections and select/shif t-selec the two meshes and "join as shapes" - the selection process is much the same, but the results was very poor, as the doors do not animate to scale, they actually '''morph''', not very surprisingly!
==Pivot points... when going to UE4==
When you import the Window you must realize two things:
* Invent a name standard for your meshes and your files. You will have a lot of FBX files, and you need to keep a bit of track of what you did and how you imported all of your assets.
* Your Window will not have the correct pivot point!
The trick here is to position the mesh, in Blender, precisely you you can rotate the window with the door...
In your first attempt, this is how it will look in UE4 - but you want the transform/rotation/size gizmo to sit like you see it to the right!
[[File:UE4-Truck-Window3.png]]
To do this you need to go to Blender and position your mesh close to position 0, 0, 0 - oddly enough, the pivot point in Blender has no effect on the one imported to UE4.
However since we want the window to move '''with''' the door, you want the rotation point to sit to the left of the window. Tip: You can simply find the exact position when you have the left door positioned correctly to it's rotation point, you can then position the window "on top" of the door and save the two in separate FBX files.
The process of getting the left front door selected is rather tricky - so I suggest you start with the windows (do both) and then move on to practice on the back-doors! When you get the hang of this it is just work-work-work! The Blender navigation, and selection, is not easy... ?
You can save the same Collection for each part you separate out, then duplicate... and delete the stuff you do not need. In the end you will have one collection holding all the parts and several other collection holding the parts. Naturally when you are finished you duplicate the collection one "last" time and delete all the small parts.. so you have the Truck body in it's own collection.
Remember:
* Save your .blend file often, perhaps even in versions
* Rename say, Vehicle_ROOT.010 to Vehicle_ROOT - for all of your FBX files.
==.... import to UE4==
You will, at some point discover that not every thing works fine. You will, by now, know how to make the materials from textures - but you can also re-use those that comes with the package. Somehow the textures will fit correctly to all of your imported assets... I really don't fully understand textures and UV, but it works!
The Vehicle models are top quality - but when you import them they look "jacket" - some thing like this:
[[File:UE4-Truck-Window4.png]]
There is a reason for this, and two solutions:
* Under the wrench Icon you see a modifier, this was imported from UE4.... and you can either delete this modifier, before saving all the FBX files - or
* Don't use ''Preserve smoothing groups'', when you import!
I do not know if you will need the modifier at some point, so perhaps you should save everything in a separate .blend file?
For some reason the mirrors are corrupted after import, not very important - but yet!!
Now for the fun part!!
==Setup driving...==
You will need to setup a few blueprints and some retargeting for this to work:
* BP_BoxTruck you make a CHILD blueprint of this and you need to add meshes etc. as shown below!
* AB_BoxTruck must be retarget to the new SK_Truck_Box skeleton, give it a new name!
* You may also need to retarget the original Skeleton to the new one?
When this has been done you can drive the Truck directly, as instructed for all the vehicles. Wheels should be turning and you can animate. Now for your modifications of the BP_BoxTruck blueprint, for each mesh you need a separate Skeletal mesh component (like when you make modular characters). In this case it looks like this:
[[File:UE4-Truck-Window5.png]]
Please note two thing! The window is placed under the front door. I found that that will work nicely and you do not need to worry about the transform/rotation. This will require that you saved both the door and the window correctly, with the correct pivot-point, as described above! The pivot must be correct for the rotation, but you can adjust the transformation as needed (in UE4).
I have set up a few interaction Inputs, note that you can use the same key board key for different interactions. The space key is here used for Vehicle Handbreak, but for jump when in ThirdPerson!
[[File:UE4-Truck-Window6.png]]
I also have the E key sending the "Interact" InputAction. And that specific blueprint, under your BP_BoxTruck child blue print, should look something like this:
[[File:UE4-Truck-Window7.png]]
Please note that because the left window was attached '''under''' the left door, it will rotate with the door. If you try to rotate both (as when you connect the last SetRelativeRotation it will swing oddly/double... this is a standard door open BP, you can use it in many places - given that the pivot is correct! In this case the left front door opens when you hold E-key and it colse again when you let go of the E-key.
You can also make variations over this, say I made the window go down, when using the V-key. I had to adjust the Y transform - as the window will not fit into the door the "animation" looks odd when seen from inside. Also a made the double back-door open/close with B-key, in this case there is a bool to check what you want to do and you can naturally do the same for the window/door.
[[File:UE4-Truck-Window8.png]]
=Makehuman!=
The next step will be to add the character to the vehicle, that is he should be able to interact with the Truck - adding event overlap to the front/back doors, and some animations to climb/enter/exit in the correct ways - perhaps he can even interact with goods in the box, or an existing driver?
I will get back on that...
9df42b53621e40232c0eb504a8fae6b9a5e9bfb6
1746
1743
2020-03-09T21:55:24Z
Assetdk
89
/* Setup driving... */
wikitext
text/x-wiki
Your character should have some kind of transportation - and UE4 comes with some help [https://www.unrealengine.com/marketplace/en-US/product/bbcb90a03f844edbb20c8b89ee16ea32 Vehicle Variety Pack]. However I wanted to get access to the car and to the interior of the box van... Since you need to use Blender for that, I think this gives us a better way of learning a bit about getting props, using Blender in combination with UE4.
This is the tasks I intend to describe:
* Getting SM_Truck_Box into Blender! and split the mesh into separate parts!
* Saving the separate parts
* Failed experiment, with morph targets
* Pivot points... when going to UE4
* Save the work and import to UE4
* New blueprint for the Truck
The end result should be that you can open back doors of the Truck, also you can open the left front door and you can roll down the left window.
These are some screen shots of that:
[[File:UE4-Truck-Result.png]]
==Getting SK_Truck_Box into Blender and split it!==
You should be able to install the package into UE4 and from there you go to Skeletons and export SK_Truck_Box. You can probably get even better results using SM_Truck_Box, but I did the SK_ version.
Go to Blender 2.8, and import the skeleton in it's separate collection. Use the standard import setting for this. Save the .blend file in a separate folder!
Duplicate this collection and start working on the
The trick here is that you should now go to edit mode and select all parts that you want as a separate mesh in UE4. Please start with the from left window!
This can be rather tricky, and it will be very tricky doing the front door. These are the shortcut you can use for selection:
* Left-mouse+shift clicks selects (Vertex/Edge/Face) - the selection is highlighted
* Ctrl-+ selects what is connected to the current selection, this is not always logic to me but it seldomly fails.
* H-hey, hides your currently selection - when you have something hidden the H-key the visible selection to that.
* Alt-H, unhide showing your current selection
* Ctrl-Z will undo selections etc. (the result you see is not always logic)
In the end you can jump between H and Alt-H to ensure that you have the full selection.... remember to save once in a while! When the window is selected correctly you should be able to do this:
[[File:UE4-Truck-Window1.png]]
Notice that the entire Mesh for the window is two layers, so you first select the outside layer then the layer. And take well care that you do not select some of the internals!
Now this is the important part, you can now split-up the mesh like this:
* Still in Edit-mode, use the Mesh-menu/Separate/Selection option... This will split up the mesh so you have the window in a separate part. Rename the Window part to window_left.
* In the current collection you can now hide/see the window/Truck using the eye icons.
* Duplicate the collection, and for the new collection delete all the parts that is not under the the window.
[[File:UE4-Truck-Window2.png]]
IMPORTANT: Rename the item in the hierarchy to Vehicle_ROOT, and export the entire thing as an FBX.... using the same [http://www.makehumancommunity.org/wiki/Documentation:Saving_models_for_Unreal_Engine_and_how_to_import_them_there#FBX_export_settings export settings] you used for your makehuman FBX - but scale should be changed form 0.1 to 1.0.
'''This is a good time to save your .blend file!'''
==Failed experiment, with morph targets==
The end result should be that you can open/close windows and doors. My first attempt was using morph-targets. Like whit the Makehuman characters this require that you do two truck collections and select/shif t-selec the two meshes and "join as shapes" - the selection process is much the same, but the results was very poor, as the doors do not animate to scale, they actually '''morph''', not very surprisingly!
==Pivot points... when going to UE4==
When you import the Window you must realize two things:
* Invent a name standard for your meshes and your files. You will have a lot of FBX files, and you need to keep a bit of track of what you did and how you imported all of your assets.
* Your Window will not have the correct pivot point!
The trick here is to position the mesh, in Blender, precisely you you can rotate the window with the door...
In your first attempt, this is how it will look in UE4 - but you want the transform/rotation/size gizmo to sit like you see it to the right!
[[File:UE4-Truck-Window3.png]]
To do this you need to go to Blender and position your mesh close to position 0, 0, 0 - oddly enough, the pivot point in Blender has no effect on the one imported to UE4.
However since we want the window to move '''with''' the door, you want the rotation point to sit to the left of the window. Tip: You can simply find the exact position when you have the left door positioned correctly to it's rotation point, you can then position the window "on top" of the door and save the two in separate FBX files.
The process of getting the left front door selected is rather tricky - so I suggest you start with the windows (do both) and then move on to practice on the back-doors! When you get the hang of this it is just work-work-work! The Blender navigation, and selection, is not easy... ?
You can save the same Collection for each part you separate out, then duplicate... and delete the stuff you do not need. In the end you will have one collection holding all the parts and several other collection holding the parts. Naturally when you are finished you duplicate the collection one "last" time and delete all the small parts.. so you have the Truck body in it's own collection.
Remember:
* Save your .blend file often, perhaps even in versions
* Rename say, Vehicle_ROOT.010 to Vehicle_ROOT - for all of your FBX files.
==.... import to UE4==
You will, at some point discover that not every thing works fine. You will, by now, know how to make the materials from textures - but you can also re-use those that comes with the package. Somehow the textures will fit correctly to all of your imported assets... I really don't fully understand textures and UV, but it works!
The Vehicle models are top quality - but when you import them they look "jacket" - some thing like this:
[[File:UE4-Truck-Window4.png]]
There is a reason for this, and two solutions:
* Under the wrench Icon you see a modifier, this was imported from UE4.... and you can either delete this modifier, before saving all the FBX files - or
* Don't use ''Preserve smoothing groups'', when you import!
I do not know if you will need the modifier at some point, so perhaps you should save everything in a separate .blend file?
For some reason the mirrors are corrupted after import, not very important - but yet!!
Now for the fun part!!
==Setup driving...==
You will need to setup a few blueprints and some retargeting for this to work:
* BP_BoxTruck you make a CHILD blueprint of this and you need to add meshes etc. as shown below!
* AB_BoxTruck must be retarget to the new SK_Truck_Box skeleton, give it a new name!
* You may also need to retarget the original Skeleton to the new one?
When this has been done you can drive the Truck directly, as instructed for all the vehicles. Wheels should be turning and you can animate. Now for your modifications of the BP_BoxTruck blueprint, for each mesh you need a separate Skeletal mesh component (like when you make modular characters). In this case it looks like this:
[[File:UE4-Truck-Window5.png]]
Please note two thing! The window is placed under the front door. I found that that will work nicely and you do not need to worry about the transform/rotation. This will require that you saved both the door and the window correctly, with the correct pivot-point, as described above! The pivot must be correct for the rotation, but you can adjust the transformation as needed (in UE4).
I have set up a few interaction Inputs, note that you can use the same key board key for different interactions. The space key is here used for Vehicle Handbreak, but for jump when in ThirdPerson!
[[File:UE4-Truck-Window6.png]]
I also have the E key sending the "Interact" InputAction. And that specific blueprint, under your BP_BoxTruck child blue print, should look something like this:
[[File:UE4-Truck-Window7.png]]
Please note that because the left window was attached '''under''' the left door, it will rotate with the door. If you try to rotate both (as when you connect the last SetRelativeRotation it will swing oddly/double... this is a standard door open BP, you can use it in many places - given that the pivot is correct! In this case the left front door opens when you hold E-key and it colse again when you let go of the E-key.
You can also make variations over this, say I made the window go down, when using the V-key. I had to adjust the Y transform - as the window will not fit into the door the "animation" looks odd when seen from inside. Also a made the double back-door open/close with B-key, in this case there is a bool to check what you want to do and you can naturally do the same for the window/door.
[[File:UE4-Truck-Window8.png]]
29bb818df5c50f7dfc7bb23d5d7fcce09a6868be
1743
1741
2020-03-09T21:32:46Z
Assetdk
89
/* Setup driving... */
wikitext
text/x-wiki
Your character should have some kind of transportation - and UE4 comes with some help [https://www.unrealengine.com/marketplace/en-US/product/bbcb90a03f844edbb20c8b89ee16ea32 Vehicle Variety Pack]. However I wanted to get access to the car and to the interior of the box van... Since you need to use Blender for that, I think this gives us a better way of learning a bit about getting props, using Blender in combination with UE4.
This is the tasks I intend to describe:
* Getting SM_Truck_Box into Blender! and split the mesh into separate parts!
* Saving the separate parts
* Failed experiment, with morph targets
* Pivot points... when going to UE4
* Save the work and import to UE4
* New blueprint for the Truck
The end result should be that you can open back doors of the Truck, also you can open the left front door and you can roll down the left window.
These are some screen shots of that:
[[File:UE4-Truck-Result.png]]
==Getting SK_Truck_Box into Blender and split it!==
You should be able to install the package into UE4 and from there you go to Skeletons and export SK_Truck_Box. You can probably get even better results using SM_Truck_Box, but I did the SK_ version.
Go to Blender 2.8, and import the skeleton in it's separate collection. Use the standard import setting for this. Save the .blend file in a separate folder!
Duplicate this collection and start working on the
The trick here is that you should now go to edit mode and select all parts that you want as a separate mesh in UE4. Please start with the from left window!
This can be rather tricky, and it will be very tricky doing the front door. These are the shortcut you can use for selection:
* Left-mouse+shift clicks selects (Vertex/Edge/Face) - the selection is highlighted
* Ctrl-+ selects what is connected to the current selection, this is not always logic to me but it seldomly fails.
* H-hey, hides your currently selection - when you have something hidden the H-key the visible selection to that.
* Alt-H, unhide showing your current selection
* Ctrl-Z will undo selections etc. (the result you see is not always logic)
In the end you can jump between H and Alt-H to ensure that you have the full selection.... remember to save once in a while! When the window is selected correctly you should be able to do this:
[[File:UE4-Truck-Window1.png]]
Notice that the entire Mesh for the window is two layers, so you first select the outside layer then the layer. And take well care that you do not select some of the internals!
Now this is the important part, you can now split-up the mesh like this:
* Still in Edit-mode, use the Mesh-menu/Separate/Selection option... This will split up the mesh so you have the window in a separate part. Rename the Window part to window_left.
* In the current collection you can now hide/see the window/Truck using the eye icons.
* Duplicate the collection, and for the new collection delete all the parts that is not under the the window.
[[File:UE4-Truck-Window2.png]]
IMPORTANT: Rename the item in the hierarchy to Vehicle_ROOT, and export the entire thing as an FBX.... using the same [http://www.makehumancommunity.org/wiki/Documentation:Saving_models_for_Unreal_Engine_and_how_to_import_them_there#FBX_export_settings export settings] you used for your makehuman FBX - but scale should be changed form 0.1 to 1.0.
'''This is a good time to save your .blend file!'''
==Failed experiment, with morph targets==
The end result should be that you can open/close windows and doors. My first attempt was using morph-targets. Like whit the Makehuman characters this require that you do two truck collections and select/shif t-selec the two meshes and "join as shapes" - the selection process is much the same, but the results was very poor, as the doors do not animate to scale, they actually '''morph''', not very surprisingly!
==Pivot points... when going to UE4==
When you import the Window you must realize two things:
* Invent a name standard for your meshes and your files. You will have a lot of FBX files, and you need to keep a bit of track of what you did and how you imported all of your assets.
* Your Window will not have the correct pivot point!
The trick here is to position the mesh, in Blender, precisely you you can rotate the window with the door...
In your first attempt, this is how it will look in UE4 - but you want the transform/rotation/size gizmo to sit like you see it to the right!
[[File:UE4-Truck-Window3.png]]
To do this you need to go to Blender and position your mesh close to position 0, 0, 0 - oddly enough, the pivot point in Blender has no effect on the one imported to UE4.
However since we want the window to move '''with''' the door, you want the rotation point to sit to the left of the window. Tip: You can simply find the exact position when you have the left door positioned correctly to it's rotation point, you can then position the window "on top" of the door and save the two in separate FBX files.
The process of getting the left front door selected is rather tricky - so I suggest you start with the windows (do both) and then move on to practice on the back-doors! When you get the hang of this it is just work-work-work! The Blender navigation, and selection, is not easy... ?
You can save the same Collection for each part you separate out, then duplicate... and delete the stuff you do not need. In the end you will have one collection holding all the parts and several other collection holding the parts. Naturally when you are finished you duplicate the collection one "last" time and delete all the small parts.. so you have the Truck body in it's own collection.
Remember:
* Save your .blend file often, perhaps even in versions
* Rename say, Vehicle_ROOT.010 to Vehicle_ROOT - for all of your FBX files.
==.... import to UE4==
You will, at some point discover that not every thing works fine. You will, by now, know how to make the materials from textures - but you can also re-use those that comes with the package. Somehow the textures will fit correctly to all of your imported assets... I really don't fully understand textures and UV, but it works!
The Vehicle models are top quality - but when you import them they look "jacket" - some thing like this:
[[File:UE4-Truck-Window4.png]]
There is a reason for this, and two solutions:
* Under the wrench Icon you see a modifier, this was imported from UE4.... and you can either delete this modifier, before saving all the FBX files - or
* Don't use ''Preserve smoothing groups'', when you import!
I do not know if you will need the modifier at some point, so perhaps you should save everything in a separate .blend file?
For some reason the mirrors are corrupted after import, not very important - but yet!!
Now for the fun part!!
==Setup driving...==
You will need to setup a few blueprints and some retargeting for this to work:
* BP_BoxTruck you make a CHILD blueprint of this and you need to add meshes etc. as shown below!
* AB_BoxTruck must be retarget to the new SK_Truck_Box skeleton, give it a new name!
* You may also need to retarget the original Skeleton to the new one?
When this has been done you can drive the Truck directly, as instructed for all the vehicles. Wheels should be turning and you can animate. Now for your modifications of the BP_BoxTruck blueprint, for each mesh you need a separate Skeletal mesh component (like when you make modular characters). In this case it looks like this:
[[File:UE4-Truck-Window5.png]]
Please note two thing! The window is placed under the front door. I found that that will work nicely and you do not need to worry about the transform/rotation. This will require that you saved both the door and the window correctly, with the correct pivot-point, as described above! The pivot must be correct for the rotation, but you can adjust the transformation as needed (in UE4).
I have set up a few interaction Inputs, note that you can use the same key board key for different interactions. The space key is here used for Vehicle Handbreak, but for jump when in ThirdPerson!
[[File:UE4-Truck-Window6.png]]
I also have the E key sending the "Interact" InputAction. And that specific blueprint, under your BP_BoxTruck child blue print, should look something like this:
[[File:UE4-Truck-Window7.png]]
9e8af8b0837932e9fe40db4c83dfb8afbca27525
1741
1738
2020-03-09T21:24:24Z
Assetdk
89
/* Setup driving... */
wikitext
text/x-wiki
Your character should have some kind of transportation - and UE4 comes with some help [https://www.unrealengine.com/marketplace/en-US/product/bbcb90a03f844edbb20c8b89ee16ea32 Vehicle Variety Pack]. However I wanted to get access to the car and to the interior of the box van... Since you need to use Blender for that, I think this gives us a better way of learning a bit about getting props, using Blender in combination with UE4.
This is the tasks I intend to describe:
* Getting SM_Truck_Box into Blender! and split the mesh into separate parts!
* Saving the separate parts
* Failed experiment, with morph targets
* Pivot points... when going to UE4
* Save the work and import to UE4
* New blueprint for the Truck
The end result should be that you can open back doors of the Truck, also you can open the left front door and you can roll down the left window.
These are some screen shots of that:
[[File:UE4-Truck-Result.png]]
==Getting SK_Truck_Box into Blender and split it!==
You should be able to install the package into UE4 and from there you go to Skeletons and export SK_Truck_Box. You can probably get even better results using SM_Truck_Box, but I did the SK_ version.
Go to Blender 2.8, and import the skeleton in it's separate collection. Use the standard import setting for this. Save the .blend file in a separate folder!
Duplicate this collection and start working on the
The trick here is that you should now go to edit mode and select all parts that you want as a separate mesh in UE4. Please start with the from left window!
This can be rather tricky, and it will be very tricky doing the front door. These are the shortcut you can use for selection:
* Left-mouse+shift clicks selects (Vertex/Edge/Face) - the selection is highlighted
* Ctrl-+ selects what is connected to the current selection, this is not always logic to me but it seldomly fails.
* H-hey, hides your currently selection - when you have something hidden the H-key the visible selection to that.
* Alt-H, unhide showing your current selection
* Ctrl-Z will undo selections etc. (the result you see is not always logic)
In the end you can jump between H and Alt-H to ensure that you have the full selection.... remember to save once in a while! When the window is selected correctly you should be able to do this:
[[File:UE4-Truck-Window1.png]]
Notice that the entire Mesh for the window is two layers, so you first select the outside layer then the layer. And take well care that you do not select some of the internals!
Now this is the important part, you can now split-up the mesh like this:
* Still in Edit-mode, use the Mesh-menu/Separate/Selection option... This will split up the mesh so you have the window in a separate part. Rename the Window part to window_left.
* In the current collection you can now hide/see the window/Truck using the eye icons.
* Duplicate the collection, and for the new collection delete all the parts that is not under the the window.
[[File:UE4-Truck-Window2.png]]
IMPORTANT: Rename the item in the hierarchy to Vehicle_ROOT, and export the entire thing as an FBX.... using the same [http://www.makehumancommunity.org/wiki/Documentation:Saving_models_for_Unreal_Engine_and_how_to_import_them_there#FBX_export_settings export settings] you used for your makehuman FBX - but scale should be changed form 0.1 to 1.0.
'''This is a good time to save your .blend file!'''
==Failed experiment, with morph targets==
The end result should be that you can open/close windows and doors. My first attempt was using morph-targets. Like whit the Makehuman characters this require that you do two truck collections and select/shif t-selec the two meshes and "join as shapes" - the selection process is much the same, but the results was very poor, as the doors do not animate to scale, they actually '''morph''', not very surprisingly!
==Pivot points... when going to UE4==
When you import the Window you must realize two things:
* Invent a name standard for your meshes and your files. You will have a lot of FBX files, and you need to keep a bit of track of what you did and how you imported all of your assets.
* Your Window will not have the correct pivot point!
The trick here is to position the mesh, in Blender, precisely you you can rotate the window with the door...
In your first attempt, this is how it will look in UE4 - but you want the transform/rotation/size gizmo to sit like you see it to the right!
[[File:UE4-Truck-Window3.png]]
To do this you need to go to Blender and position your mesh close to position 0, 0, 0 - oddly enough, the pivot point in Blender has no effect on the one imported to UE4.
However since we want the window to move '''with''' the door, you want the rotation point to sit to the left of the window. Tip: You can simply find the exact position when you have the left door positioned correctly to it's rotation point, you can then position the window "on top" of the door and save the two in separate FBX files.
The process of getting the left front door selected is rather tricky - so I suggest you start with the windows (do both) and then move on to practice on the back-doors! When you get the hang of this it is just work-work-work! The Blender navigation, and selection, is not easy... ?
You can save the same Collection for each part you separate out, then duplicate... and delete the stuff you do not need. In the end you will have one collection holding all the parts and several other collection holding the parts. Naturally when you are finished you duplicate the collection one "last" time and delete all the small parts.. so you have the Truck body in it's own collection.
Remember:
* Save your .blend file often, perhaps even in versions
* Rename say, Vehicle_ROOT.010 to Vehicle_ROOT - for all of your FBX files.
==.... import to UE4==
You will, at some point discover that not every thing works fine. You will, by now, know how to make the materials from textures - but you can also re-use those that comes with the package. Somehow the textures will fit correctly to all of your imported assets... I really don't fully understand textures and UV, but it works!
The Vehicle models are top quality - but when you import them they look "jacket" - some thing like this:
[[File:UE4-Truck-Window4.png]]
There is a reason for this, and two solutions:
* Under the wrench Icon you see a modifier, this was imported from UE4.... and you can either delete this modifier, before saving all the FBX files - or
* Don't use ''Preserve smoothing groups'', when you import!
I do not know if you will need the modifier at some point, so perhaps you should save everything in a separate .blend file?
For some reason the mirrors are corrupted after import, not very important - but yet!!
Now for the fun part!!
==Setup driving...==
You will need to setup a few blueprints and some retargeting for this to work:
* BP_BoxTruck can be duplicated and you need to add meshes etc. as shown below!
* AB_BoxTruck must be retarget to the new SK_Truck_Box skeleton, give it a new name!
* You may also need to retarget the original Skeleton to the new one?
When this has been done you can drive the Truck directly, as instructed for all the vehicles. Wheels should be turning and you can animate. Now for your modifications of the BP_BoxTruck blueprint, for each mesh you need a separate Skeletal mesh component (like when you make modular characters). In this case it looks like this:
[[File:UE4-Truck-Window5.png]]
Please note two thing! The window is placed under the front door. I found that that will work nicely and you do not need to worry about the transform/rotation. This will require that you saved both the door and the window correctly, with the correct pivot-point, as described above! The pivot must be correct for the rotation, but you can adjust the transformation as needed (in UE4).
I have set up a few interaction Inputs, note that you can use the same key board key for different interactions. The space key is here used for Vehicle Handbreak, but for jump when in ThirdPerson!
[[File:UE4-Truck-Window6.png]]
4839093cad5baa8c03f30d7539b786f7b91198a1
1738
1736
2020-03-09T20:55:45Z
Assetdk
89
/* Pivot points... when going to UE4 */
wikitext
text/x-wiki
Your character should have some kind of transportation - and UE4 comes with some help [https://www.unrealengine.com/marketplace/en-US/product/bbcb90a03f844edbb20c8b89ee16ea32 Vehicle Variety Pack]. However I wanted to get access to the car and to the interior of the box van... Since you need to use Blender for that, I think this gives us a better way of learning a bit about getting props, using Blender in combination with UE4.
This is the tasks I intend to describe:
* Getting SM_Truck_Box into Blender! and split the mesh into separate parts!
* Saving the separate parts
* Failed experiment, with morph targets
* Pivot points... when going to UE4
* Save the work and import to UE4
* New blueprint for the Truck
The end result should be that you can open back doors of the Truck, also you can open the left front door and you can roll down the left window.
These are some screen shots of that:
[[File:UE4-Truck-Result.png]]
==Getting SK_Truck_Box into Blender and split it!==
You should be able to install the package into UE4 and from there you go to Skeletons and export SK_Truck_Box. You can probably get even better results using SM_Truck_Box, but I did the SK_ version.
Go to Blender 2.8, and import the skeleton in it's separate collection. Use the standard import setting for this. Save the .blend file in a separate folder!
Duplicate this collection and start working on the
The trick here is that you should now go to edit mode and select all parts that you want as a separate mesh in UE4. Please start with the from left window!
This can be rather tricky, and it will be very tricky doing the front door. These are the shortcut you can use for selection:
* Left-mouse+shift clicks selects (Vertex/Edge/Face) - the selection is highlighted
* Ctrl-+ selects what is connected to the current selection, this is not always logic to me but it seldomly fails.
* H-hey, hides your currently selection - when you have something hidden the H-key the visible selection to that.
* Alt-H, unhide showing your current selection
* Ctrl-Z will undo selections etc. (the result you see is not always logic)
In the end you can jump between H and Alt-H to ensure that you have the full selection.... remember to save once in a while! When the window is selected correctly you should be able to do this:
[[File:UE4-Truck-Window1.png]]
Notice that the entire Mesh for the window is two layers, so you first select the outside layer then the layer. And take well care that you do not select some of the internals!
Now this is the important part, you can now split-up the mesh like this:
* Still in Edit-mode, use the Mesh-menu/Separate/Selection option... This will split up the mesh so you have the window in a separate part. Rename the Window part to window_left.
* In the current collection you can now hide/see the window/Truck using the eye icons.
* Duplicate the collection, and for the new collection delete all the parts that is not under the the window.
[[File:UE4-Truck-Window2.png]]
IMPORTANT: Rename the item in the hierarchy to Vehicle_ROOT, and export the entire thing as an FBX.... using the same [http://www.makehumancommunity.org/wiki/Documentation:Saving_models_for_Unreal_Engine_and_how_to_import_them_there#FBX_export_settings export settings] you used for your makehuman FBX - but scale should be changed form 0.1 to 1.0.
'''This is a good time to save your .blend file!'''
==Failed experiment, with morph targets==
The end result should be that you can open/close windows and doors. My first attempt was using morph-targets. Like whit the Makehuman characters this require that you do two truck collections and select/shif t-selec the two meshes and "join as shapes" - the selection process is much the same, but the results was very poor, as the doors do not animate to scale, they actually '''morph''', not very surprisingly!
==Pivot points... when going to UE4==
When you import the Window you must realize two things:
* Invent a name standard for your meshes and your files. You will have a lot of FBX files, and you need to keep a bit of track of what you did and how you imported all of your assets.
* Your Window will not have the correct pivot point!
The trick here is to position the mesh, in Blender, precisely you you can rotate the window with the door...
In your first attempt, this is how it will look in UE4 - but you want the transform/rotation/size gizmo to sit like you see it to the right!
[[File:UE4-Truck-Window3.png]]
To do this you need to go to Blender and position your mesh close to position 0, 0, 0 - oddly enough, the pivot point in Blender has no effect on the one imported to UE4.
However since we want the window to move '''with''' the door, you want the rotation point to sit to the left of the window. Tip: You can simply find the exact position when you have the left door positioned correctly to it's rotation point, you can then position the window "on top" of the door and save the two in separate FBX files.
The process of getting the left front door selected is rather tricky - so I suggest you start with the windows (do both) and then move on to practice on the back-doors! When you get the hang of this it is just work-work-work! The Blender navigation, and selection, is not easy... ?
You can save the same Collection for each part you separate out, then duplicate... and delete the stuff you do not need. In the end you will have one collection holding all the parts and several other collection holding the parts. Naturally when you are finished you duplicate the collection one "last" time and delete all the small parts.. so you have the Truck body in it's own collection.
Remember:
* Save your .blend file often, perhaps even in versions
* Rename say, Vehicle_ROOT.010 to Vehicle_ROOT - for all of your FBX files.
==.... import to UE4==
You will, at some point discover that not every thing works fine. You will, by now, know how to make the materials from textures - but you can also re-use those that comes with the package. Somehow the textures will fit correctly to all of your imported assets... I really don't fully understand textures and UV, but it works!
The Vehicle models are top quality - but when you import them they look "jacket" - some thing like this:
[[File:UE4-Truck-Window4.png]]
There is a reason for this, and two solutions:
* Under the wrench Icon you see a modifier, this was imported from UE4.... and you can either delete this modifier, before saving all the FBX files - or
* Don't use ''Preserve smoothing groups'', when you import!
I do not know if you will need the modifier at some point, so perhaps you should save everything in a separate .blend file?
For some reason the mirrors are corrupted after import, not very important - but yet!!
Now for the fun part!!
==Setup driving...==
961cc0522c4626b0798f161a3b99333914098c4c
1736
1735
2020-03-09T20:22:47Z
Assetdk
89
/* Pivot points... when going to UE4 */
wikitext
text/x-wiki
Your character should have some kind of transportation - and UE4 comes with some help [https://www.unrealengine.com/marketplace/en-US/product/bbcb90a03f844edbb20c8b89ee16ea32 Vehicle Variety Pack]. However I wanted to get access to the car and to the interior of the box van... Since you need to use Blender for that, I think this gives us a better way of learning a bit about getting props, using Blender in combination with UE4.
This is the tasks I intend to describe:
* Getting SM_Truck_Box into Blender! and split the mesh into separate parts!
* Saving the separate parts
* Failed experiment, with morph targets
* Pivot points... when going to UE4
* Save the work and import to UE4
* New blueprint for the Truck
The end result should be that you can open back doors of the Truck, also you can open the left front door and you can roll down the left window.
These are some screen shots of that:
[[File:UE4-Truck-Result.png]]
==Getting SK_Truck_Box into Blender and split it!==
You should be able to install the package into UE4 and from there you go to Skeletons and export SK_Truck_Box. You can probably get even better results using SM_Truck_Box, but I did the SK_ version.
Go to Blender 2.8, and import the skeleton in it's separate collection. Use the standard import setting for this. Save the .blend file in a separate folder!
Duplicate this collection and start working on the
The trick here is that you should now go to edit mode and select all parts that you want as a separate mesh in UE4. Please start with the from left window!
This can be rather tricky, and it will be very tricky doing the front door. These are the shortcut you can use for selection:
* Left-mouse+shift clicks selects (Vertex/Edge/Face) - the selection is highlighted
* Ctrl-+ selects what is connected to the current selection, this is not always logic to me but it seldomly fails.
* H-hey, hides your currently selection - when you have something hidden the H-key the visible selection to that.
* Alt-H, unhide showing your current selection
* Ctrl-Z will undo selections etc. (the result you see is not always logic)
In the end you can jump between H and Alt-H to ensure that you have the full selection.... remember to save once in a while! When the window is selected correctly you should be able to do this:
[[File:UE4-Truck-Window1.png]]
Notice that the entire Mesh for the window is two layers, so you first select the outside layer then the layer. And take well care that you do not select some of the internals!
Now this is the important part, you can now split-up the mesh like this:
* Still in Edit-mode, use the Mesh-menu/Separate/Selection option... This will split up the mesh so you have the window in a separate part. Rename the Window part to window_left.
* In the current collection you can now hide/see the window/Truck using the eye icons.
* Duplicate the collection, and for the new collection delete all the parts that is not under the the window.
[[File:UE4-Truck-Window2.png]]
IMPORTANT: Rename the item in the hierarchy to Vehicle_ROOT, and export the entire thing as an FBX.... using the same [http://www.makehumancommunity.org/wiki/Documentation:Saving_models_for_Unreal_Engine_and_how_to_import_them_there#FBX_export_settings export settings] you used for your makehuman FBX - but scale should be changed form 0.1 to 1.0.
'''This is a good time to save your .blend file!'''
==Failed experiment, with morph targets==
The end result should be that you can open/close windows and doors. My first attempt was using morph-targets. Like whit the Makehuman characters this require that you do two truck collections and select/shif t-selec the two meshes and "join as shapes" - the selection process is much the same, but the results was very poor, as the doors do not animate to scale, they actually '''morph''', not very surprisingly!
==Pivot points... when going to UE4==
When you import the Window you must realize two things:
* Invent a name standard for your meshes and your files. You will have a lot of FBX files, and you need to keep a bit of track of what you did and how you imported all of your assets.
* Your Window will not have the correct pivot point!
The trick here is to position the mesh, in Blender, precisely you you can rotate the window with the door...
In your first attempt, this is how it will look in UE4 - but you want the transform/rotation/size gizmo to sit like you see it to the right!
[[File:UE4-Truck-Window3.png]]
To do this you need to go to Blender and position your mesh close to position 0, 0, 0 - oddly enough, the pivot point in Blender has no effect on the one imported to UE4.
However since we want the window to move '''with''' the door, you want the rotation point to sit to the left of the window. Tip: You can simply find the exact position when you have the left door positioned correctly to it's rotation point, you can then position the window "on top" of the door and save the two in separate FBX files.
The process of getting the left front door selected is rather tricky - so I suggest you start with the windows (do both) and then move on to practice on the back-doors! When you get the hang of this it is just work-work-work! The Blender navigation, and selection, is not easy... ?
You can save the same Collection for each part you separate out, then duplicate... and delete the stuff you do not need. In the end you will have one collection holding all the parts and several other collection holding the parts. Naturally when you are finished you duplicate the collection one "last" time and delete all the small parts.. so you have the Truck body in it's own collection.
Remember:
* Save your .blend file often, perhaps even in versions
* Rename say, Vehicle_ROOT.010 to Vehicle_ROOT - for all of your FBX files.
09dee3e2c491d3edd7bf00b3766745d241a93e67
1735
1733
2020-03-09T20:20:58Z
Assetdk
89
/* Pivot points... when going to UE4 */
wikitext
text/x-wiki
Your character should have some kind of transportation - and UE4 comes with some help [https://www.unrealengine.com/marketplace/en-US/product/bbcb90a03f844edbb20c8b89ee16ea32 Vehicle Variety Pack]. However I wanted to get access to the car and to the interior of the box van... Since you need to use Blender for that, I think this gives us a better way of learning a bit about getting props, using Blender in combination with UE4.
This is the tasks I intend to describe:
* Getting SM_Truck_Box into Blender! and split the mesh into separate parts!
* Saving the separate parts
* Failed experiment, with morph targets
* Pivot points... when going to UE4
* Save the work and import to UE4
* New blueprint for the Truck
The end result should be that you can open back doors of the Truck, also you can open the left front door and you can roll down the left window.
These are some screen shots of that:
[[File:UE4-Truck-Result.png]]
==Getting SK_Truck_Box into Blender and split it!==
You should be able to install the package into UE4 and from there you go to Skeletons and export SK_Truck_Box. You can probably get even better results using SM_Truck_Box, but I did the SK_ version.
Go to Blender 2.8, and import the skeleton in it's separate collection. Use the standard import setting for this. Save the .blend file in a separate folder!
Duplicate this collection and start working on the
The trick here is that you should now go to edit mode and select all parts that you want as a separate mesh in UE4. Please start with the from left window!
This can be rather tricky, and it will be very tricky doing the front door. These are the shortcut you can use for selection:
* Left-mouse+shift clicks selects (Vertex/Edge/Face) - the selection is highlighted
* Ctrl-+ selects what is connected to the current selection, this is not always logic to me but it seldomly fails.
* H-hey, hides your currently selection - when you have something hidden the H-key the visible selection to that.
* Alt-H, unhide showing your current selection
* Ctrl-Z will undo selections etc. (the result you see is not always logic)
In the end you can jump between H and Alt-H to ensure that you have the full selection.... remember to save once in a while! When the window is selected correctly you should be able to do this:
[[File:UE4-Truck-Window1.png]]
Notice that the entire Mesh for the window is two layers, so you first select the outside layer then the layer. And take well care that you do not select some of the internals!
Now this is the important part, you can now split-up the mesh like this:
* Still in Edit-mode, use the Mesh-menu/Separate/Selection option... This will split up the mesh so you have the window in a separate part. Rename the Window part to window_left.
* In the current collection you can now hide/see the window/Truck using the eye icons.
* Duplicate the collection, and for the new collection delete all the parts that is not under the the window.
[[File:UE4-Truck-Window2.png]]
IMPORTANT: Rename the item in the hierarchy to Vehicle_ROOT, and export the entire thing as an FBX.... using the same [http://www.makehumancommunity.org/wiki/Documentation:Saving_models_for_Unreal_Engine_and_how_to_import_them_there#FBX_export_settings export settings] you used for your makehuman FBX - but scale should be changed form 0.1 to 1.0.
'''This is a good time to save your .blend file!'''
==Failed experiment, with morph targets==
The end result should be that you can open/close windows and doors. My first attempt was using morph-targets. Like whit the Makehuman characters this require that you do two truck collections and select/shif t-selec the two meshes and "join as shapes" - the selection process is much the same, but the results was very poor, as the doors do not animate to scale, they actually '''morph''', not very surprisingly!
==Pivot points... when going to UE4==
When you import the Window you must realize two things:
* Invent a name standard for your meshes and your files. You will have a lot of FBX files, and you need to keep a bit of track of what you did and how you imported all of your assets.
* Your Window will not have the correct pivot point!
The trick here is to position the mesh, in Blender, precisely you you can rotate the window with the door...
In your first attempt, this is how it will look in UE4 - but you want the transform/rotation/size gizmo to sit like you see it to the right!
[[File:UE4-Truck-Window3.png]]
To do this you need to go to Blender and position your mesh close to position 0, 0, 0 - oddly enough, the pivot point in Blender has no effect on the one imported to UE4.
However since we want the window to move '''with''' the door, you want the rotation point to sit to the left of the window. Tip: You can simply find the exact position when you have the left door positioned correctly to it's rotation point, you can then position the window "on top" of the door and save the two in separate FBX files.
The process of getting the left front door selected is rather tricky - so I suggest you start with the windows (do both) and then move on to practice on the back-doors! When you get the hang of this it is just work-work-work! The Blender navigation, and selection, is not easy... ?
You can save the same Collection for each part you separate out, then duplicate... and delete the stuff you do not need. In the end you will have one collection holding all the parts and several other collection holding the parts. Naturally when you are finished you duplicate the collection one "last" time and delete all the small parts.. so you have the Truck body in it's own collection.
0065f0fd9bf9ed1615887e52ae6bc9a2ba71e5f0
1733
1731
2020-03-09T19:58:42Z
Assetdk
89
/* Pivot points... when going to UE4 */
wikitext
text/x-wiki
Your character should have some kind of transportation - and UE4 comes with some help [https://www.unrealengine.com/marketplace/en-US/product/bbcb90a03f844edbb20c8b89ee16ea32 Vehicle Variety Pack]. However I wanted to get access to the car and to the interior of the box van... Since you need to use Blender for that, I think this gives us a better way of learning a bit about getting props, using Blender in combination with UE4.
This is the tasks I intend to describe:
* Getting SM_Truck_Box into Blender! and split the mesh into separate parts!
* Saving the separate parts
* Failed experiment, with morph targets
* Pivot points... when going to UE4
* Save the work and import to UE4
* New blueprint for the Truck
The end result should be that you can open back doors of the Truck, also you can open the left front door and you can roll down the left window.
These are some screen shots of that:
[[File:UE4-Truck-Result.png]]
==Getting SK_Truck_Box into Blender and split it!==
You should be able to install the package into UE4 and from there you go to Skeletons and export SK_Truck_Box. You can probably get even better results using SM_Truck_Box, but I did the SK_ version.
Go to Blender 2.8, and import the skeleton in it's separate collection. Use the standard import setting for this. Save the .blend file in a separate folder!
Duplicate this collection and start working on the
The trick here is that you should now go to edit mode and select all parts that you want as a separate mesh in UE4. Please start with the from left window!
This can be rather tricky, and it will be very tricky doing the front door. These are the shortcut you can use for selection:
* Left-mouse+shift clicks selects (Vertex/Edge/Face) - the selection is highlighted
* Ctrl-+ selects what is connected to the current selection, this is not always logic to me but it seldomly fails.
* H-hey, hides your currently selection - when you have something hidden the H-key the visible selection to that.
* Alt-H, unhide showing your current selection
* Ctrl-Z will undo selections etc. (the result you see is not always logic)
In the end you can jump between H and Alt-H to ensure that you have the full selection.... remember to save once in a while! When the window is selected correctly you should be able to do this:
[[File:UE4-Truck-Window1.png]]
Notice that the entire Mesh for the window is two layers, so you first select the outside layer then the layer. And take well care that you do not select some of the internals!
Now this is the important part, you can now split-up the mesh like this:
* Still in Edit-mode, use the Mesh-menu/Separate/Selection option... This will split up the mesh so you have the window in a separate part. Rename the Window part to window_left.
* In the current collection you can now hide/see the window/Truck using the eye icons.
* Duplicate the collection, and for the new collection delete all the parts that is not under the the window.
[[File:UE4-Truck-Window2.png]]
IMPORTANT: Rename the item in the hierarchy to Vehicle_ROOT, and export the entire thing as an FBX.... using the same [http://www.makehumancommunity.org/wiki/Documentation:Saving_models_for_Unreal_Engine_and_how_to_import_them_there#FBX_export_settings export settings] you used for your makehuman FBX - but scale should be changed form 0.1 to 1.0.
'''This is a good time to save your .blend file!'''
==Failed experiment, with morph targets==
The end result should be that you can open/close windows and doors. My first attempt was using morph-targets. Like whit the Makehuman characters this require that you do two truck collections and select/shif t-selec the two meshes and "join as shapes" - the selection process is much the same, but the results was very poor, as the doors do not animate to scale, they actually '''morph''', not very surprisingly!
==Pivot points... when going to UE4==
When you import the Window you must realize two things:
* Invent a name standard for your meshes and your files. You will have a lot of FBX files, and you need to keep a bit of track of what you did and how you imported all of your assets.
* Your Window will not have the correct pivot point!
The trick here is to position the mesh, in Blender, precisely you you can rotate the window with the door...
This is how it will look in UE4 - in your first attempt:
[[File:UE4-Truck-Window3.png]]
08196660603125132f150cb94b3f7113e4ff718e
1731
1730
2020-03-09T19:52:25Z
Assetdk
89
wikitext
text/x-wiki
Your character should have some kind of transportation - and UE4 comes with some help [https://www.unrealengine.com/marketplace/en-US/product/bbcb90a03f844edbb20c8b89ee16ea32 Vehicle Variety Pack]. However I wanted to get access to the car and to the interior of the box van... Since you need to use Blender for that, I think this gives us a better way of learning a bit about getting props, using Blender in combination with UE4.
This is the tasks I intend to describe:
* Getting SM_Truck_Box into Blender! and split the mesh into separate parts!
* Saving the separate parts
* Failed experiment, with morph targets
* Pivot points... when going to UE4
* Save the work and import to UE4
* New blueprint for the Truck
The end result should be that you can open back doors of the Truck, also you can open the left front door and you can roll down the left window.
These are some screen shots of that:
[[File:UE4-Truck-Result.png]]
==Getting SK_Truck_Box into Blender and split it!==
You should be able to install the package into UE4 and from there you go to Skeletons and export SK_Truck_Box. You can probably get even better results using SM_Truck_Box, but I did the SK_ version.
Go to Blender 2.8, and import the skeleton in it's separate collection. Use the standard import setting for this. Save the .blend file in a separate folder!
Duplicate this collection and start working on the
The trick here is that you should now go to edit mode and select all parts that you want as a separate mesh in UE4. Please start with the from left window!
This can be rather tricky, and it will be very tricky doing the front door. These are the shortcut you can use for selection:
* Left-mouse+shift clicks selects (Vertex/Edge/Face) - the selection is highlighted
* Ctrl-+ selects what is connected to the current selection, this is not always logic to me but it seldomly fails.
* H-hey, hides your currently selection - when you have something hidden the H-key the visible selection to that.
* Alt-H, unhide showing your current selection
* Ctrl-Z will undo selections etc. (the result you see is not always logic)
In the end you can jump between H and Alt-H to ensure that you have the full selection.... remember to save once in a while! When the window is selected correctly you should be able to do this:
[[File:UE4-Truck-Window1.png]]
Notice that the entire Mesh for the window is two layers, so you first select the outside layer then the layer. And take well care that you do not select some of the internals!
Now this is the important part, you can now split-up the mesh like this:
* Still in Edit-mode, use the Mesh-menu/Separate/Selection option... This will split up the mesh so you have the window in a separate part. Rename the Window part to window_left.
* In the current collection you can now hide/see the window/Truck using the eye icons.
* Duplicate the collection, and for the new collection delete all the parts that is not under the the window.
[[File:UE4-Truck-Window2.png]]
IMPORTANT: Rename the item in the hierarchy to Vehicle_ROOT, and export the entire thing as an FBX.... using the same [http://www.makehumancommunity.org/wiki/Documentation:Saving_models_for_Unreal_Engine_and_how_to_import_them_there#FBX_export_settings export settings] you used for your makehuman FBX - but scale should be changed form 0.1 to 1.0.
'''This is a good time to save your .blend file!'''
==Failed experiment, with morph targets==
The end result should be that you can open/close windows and doors. My first attempt was using morph-targets. Like whit the Makehuman characters this require that you do two truck collections and select/shif t-selec the two meshes and "join as shapes" - the selection process is much the same, but the results was very poor, as the doors do not animate to scale, they actually '''morph''', not very surprisingly!
==Pivot points... when going to UE4==
94831df4e3df081643f25e48120e66f3980edc7c
1730
1729
2020-03-09T19:49:50Z
Assetdk
89
/* Getting SK_Truck_Box into Blender and split it! */
wikitext
text/x-wiki
Your character should have some kind of transportation - and UE4 comes with some help [https://www.unrealengine.com/marketplace/en-US/product/bbcb90a03f844edbb20c8b89ee16ea32 Vehicle Variety Pack]. However I wanted to get access to the car and to the interior of the box van... Since you need to use Blender for that, I think this gives us a better way of learning a bit about getting props, using Blender in combination with UE4.
This is the tasks I intend to describe:
* Getting SM_Truck_Box into Blender! and split the mesh into separate parts!
* Failed experiment, with morph targets
* Saving the separate parts
* Pivot points... when going to UE4
* Save the work and import to UE4
* New blueprint for the Truck
The end result should be that you can open back doors of the Truck, also you can open the left front door and you can roll down the left window.
These are some screen shots of that:
[[File:UE4-Truck-Result.png]]
==Getting SK_Truck_Box into Blender and split it!==
You should be able to install the package into UE4 and from there you go to Skeletons and export SK_Truck_Box. You can probably get even better results using SM_Truck_Box, but I did the SK_ version.
Go to Blender 2.8, and import the skeleton in it's separate collection. Use the standard import setting for this. Save the .blend file in a separate folder!
Duplicate this collection and start working on the
The trick here is that you should now go to edit mode and select all parts that you want as a separate mesh in UE4. Please start with the from left window!
This can be rather tricky, and it will be very tricky doing the front door. These are the shortcut you can use for selection:
* Left-mouse+shift clicks selects (Vertex/Edge/Face) - the selection is highlighted
* Ctrl-+ selects what is connected to the current selection, this is not always logic to me but it seldomly fails.
* H-hey, hides your currently selection - when you have something hidden the H-key the visible selection to that.
* Alt-H, unhide showing your current selection
* Ctrl-Z will undo selections etc. (the result you see is not always logic)
In the end you can jump between H and Alt-H to ensure that you have the full selection.... remember to save once in a while! When the window is selected correctly you should be able to do this:
[[File:UE4-Truck-Window1.png]]
Notice that the entire Mesh for the window is two layers, so you first select the outside layer then the layer. And take well care that you do not select some of the internals!
Now this is the important part, you can now split-up the mesh like this:
* Still in Edit-mode, use the Mesh-menu/Separate/Selection option... This will split up the mesh so you have the window in a separate part. Rename the Window part to window_left.
* In the current collection you can now hide/see the window/Truck using the eye icons.
* Duplicate the collection, and for the new collection delete all the parts that is not under the the window.
[[File:UE4-Truck-Window2.png]]
IMPORTANT: Rename the item in the hierarchy to Vehicle_ROOT, and export the entire thing as an FBX.... using the same [http://www.makehumancommunity.org/wiki/Documentation:Saving_models_for_Unreal_Engine_and_how_to_import_them_there#FBX_export_settings export settings] you used for your makehuman FBX - but scale should be changed form 0.1 to 1.0.
'''This is a good time to save your .blend file!'''
==Failed experiment, with morph targets==
The end result should be that you can open/close windows and doors. My first attempt was using morph-targets. Like whit the Makehuman characters this require that you do two truck collections and select/shif t-selec the two meshes and "join as shapes" - the selection process is much the same, but the results was very poor, as the doors do not animate to scale, they actually '''morph''', not very surprisingly!
4738b4d93a59a516904b903b92027c995acba3bb
1729
1728
2020-03-09T19:43:30Z
Assetdk
89
/* Getting SK_Truck_Box into Blender and split it! */
wikitext
text/x-wiki
Your character should have some kind of transportation - and UE4 comes with some help [https://www.unrealengine.com/marketplace/en-US/product/bbcb90a03f844edbb20c8b89ee16ea32 Vehicle Variety Pack]. However I wanted to get access to the car and to the interior of the box van... Since you need to use Blender for that, I think this gives us a better way of learning a bit about getting props, using Blender in combination with UE4.
This is the tasks I intend to describe:
* Getting SM_Truck_Box into Blender! and split the mesh into separate parts!
* Failed experiment, with morph targets
* Saving the separate parts
* Pivot points... when going to UE4
* Save the work and import to UE4
* New blueprint for the Truck
The end result should be that you can open back doors of the Truck, also you can open the left front door and you can roll down the left window.
These are some screen shots of that:
[[File:UE4-Truck-Result.png]]
==Getting SK_Truck_Box into Blender and split it!==
You should be able to install the package into UE4 and from there you go to Skeletons and export SK_Truck_Box. You can probably get even better results using SM_Truck_Box, but I did the SK_ version.
Go to Blender 2.8, and import the skeleton in it's separate collection. Use the standard import setting for this. Save the .blend file in a separate folder!
Duplicate this collection and start working on the
The trick here is that you should now go to edit mode and select all parts that you want as a separate mesh in UE4. Please start with the from left window!
This can be rather tricky, and it will be very tricky doing the front door. These are the shortcut you can use for selection:
* Left-mouse+shift clicks selects (Vertex/Edge/Face) - the selection is highlighted
* Ctrl-+ selects what is connected to the current selection, this is not always logic to me but it seldomly fails.
* H-hey, hides your currently selection - when you have something hidden the H-key the visible selection to that.
* Alt-H, unhide showing your current selection
* Ctrl-Z will undo selections etc. (the result you see is not always logic)
In the end you can jump between H and Alt-H to ensure that you have the full selection.... remember to save once in a while! When the window is selected correctly you should be able to do this:
[[File:UE4-Truck-Window1.png]]
Notice that the entire Mesh for the window is two layers, so you first select the outside layer then the layer. And take well care that you do not select some of the internals!
Now this is the important part, you can now split-up the mesh like this:
* Still in Edit-mode, use the Mesh-menu/Separate/Selection option... This will split up the mesh so you have the window in a separate part. Rename the Window part to window_left.
* In the current collection you can now hide/see the window/Truck using the eye icons.
* Duplicate the collection, and for the new collection delete all the parts that is not under the the window.
[[File:UE4-Truck-Window2.png]]
IMPORTANT: Rename the item in the hierarchy to Vehicle_ROOT, and export the entire thing as an FBX.... using the same [http://www.makehumancommunity.org/wiki/Documentation:Saving_models_for_Unreal_Engine_and_how_to_import_them_there#FBX_export_settings export settings] you used for your makehuman FBX - but scale should be changed form 0.1 to 1.0.
'''This is a good time to save your .blend file!'''
17314aa1e844ad3d4bb5f8e64a404ccd8514ee42
1728
1727
2020-03-09T19:41:05Z
Assetdk
89
/* Getting SK_Truck_Box into Blender! */
wikitext
text/x-wiki
Your character should have some kind of transportation - and UE4 comes with some help [https://www.unrealengine.com/marketplace/en-US/product/bbcb90a03f844edbb20c8b89ee16ea32 Vehicle Variety Pack]. However I wanted to get access to the car and to the interior of the box van... Since you need to use Blender for that, I think this gives us a better way of learning a bit about getting props, using Blender in combination with UE4.
This is the tasks I intend to describe:
* Getting SM_Truck_Box into Blender! and split the mesh into separate parts!
* Failed experiment, with morph targets
* Saving the separate parts
* Pivot points... when going to UE4
* Save the work and import to UE4
* New blueprint for the Truck
The end result should be that you can open back doors of the Truck, also you can open the left front door and you can roll down the left window.
These are some screen shots of that:
[[File:UE4-Truck-Result.png]]
==Getting SK_Truck_Box into Blender and split it!==
You should be able to install the package into UE4 and from there you go to Skeletons and export SK_Truck_Box. You can probably get even better results using SM_Truck_Box, but I did the SK_ version.
Go to Blender 2.8, and import the skeleton in it's separate collection. Use the standard import setting for this. Save the .blend file in a separate folder!
Duplicate this collection and start working on the
The trick here is that you should now go to edit mode and select all parts that you want as a separate mesh in UE4. Please start with the from left window!
This can be rather tricky, and it will be very tricky doing the front door. These are the shortcut you can use for selection:
* Left-mouse+shift clicks selects (Vertex/Edge/Face) - the selection is highlighted
* Ctrl-+ selects what is connected to the current selection, this is not always logic to me but it seldomly fails.
* H-hey, hides your currently selection - when you have something hidden the H-key the visible selection to that.
* Alt-H, unhide showing your current selection
* Ctrl-Z will undo selections etc. (the result you see is not always logic)
In the end you can jump between H and Alt-H to ensure that you have the full selection.... remember to save once in a while! When the window is selected correctly you should be able to do this:
[[File:UE4-Truck-Window1.png]]
Notice that the entire Mesh for the window is two layers, so you first select the outside layer then the layer. And take well care that you do not select some of the internals!
Now this is the important part, you can now split-up the mesh like this:
* Still in Edit-mode, use the Mesh-menu/Separate/Selection option... This will split up the mesh so you have the window in a separate part. Rename the Window part to window_left.
* In the current collection you can now hide/see the window/Truck using the eye icons.
* Duplicate the collection, and for the new collection delete all the parts that is not under the the window.
[[File:UE4-Truck-Window2.png]]
IMPORTANT: Rename the item in the hierarchy to Vehicle_ROOT, and export the entire thing as an FBX.... using the same [http://www.makehumancommunity.org/wiki/Documentation:Saving_models_for_Unreal_Engine_and_how_to_import_them_there#FBX_export_settings export settings] you used for your makehuman FBX - but scale should be changed form 0.1 to 1.0.
4e732504cd5b1eed969ecb3710c1fc3ce2ee2257
1727
1722
2020-03-09T19:34:23Z
Assetdk
89
/* Getting SK_Truck_Box into Blender! */
wikitext
text/x-wiki
Your character should have some kind of transportation - and UE4 comes with some help [https://www.unrealengine.com/marketplace/en-US/product/bbcb90a03f844edbb20c8b89ee16ea32 Vehicle Variety Pack]. However I wanted to get access to the car and to the interior of the box van... Since you need to use Blender for that, I think this gives us a better way of learning a bit about getting props, using Blender in combination with UE4.
This is the tasks I intend to describe:
* Getting SM_Truck_Box into Blender! and split the mesh into separate parts!
* Failed experiment, with morph targets
* Saving the separate parts
* Pivot points... when going to UE4
* Save the work and import to UE4
* New blueprint for the Truck
The end result should be that you can open back doors of the Truck, also you can open the left front door and you can roll down the left window.
These are some screen shots of that:
[[File:UE4-Truck-Result.png]]
==Getting SK_Truck_Box into Blender!==
You should be able to install the package into UE4 and from there you go to Skeletons and export SK_Truck_Box. You can probably get even better results using SM_Truck_Box, but I did the SK_ version.
Go to Blender 2.8, and import the skeleton in it's separate collection. Use the standard import setting for this. Save the .blend file in a separate folder!
Duplicate this collection and start working on the
The trick here is that you should now go to edit mode and select all parts that you want as a separate mesh in UE4. Please start with the from left window!
This can be rather tricky, and it will be very tricky doing the front door. These are the shortcut you can use for selection:
* Left-mouse+shift clicks selects (Vertex/Edge/Face) - the selection is highlighted
* Ctrl-+ selects what is connected to the current selection, this is not always logic to me but it seldomly fails.
* H-hey, hides your currently selection - when you have something hidden the H-key the visible selection to that.
* Alt-H, unhide showing your current selection
* Ctrl-Z will undo selections etc. (the result you see is not always logic)
In the end you can jump between H and Alt-H to ensure that you have the full selection.... remember to save once in a while! When the window is selected correctly you should be able to do this:
[[File:UE4-Truck-Window1.png]]
Notice that the entire Mesh for the window is two layers, so you first select the outside layer then the layer. And take well care that you do not select some of the internals!
Now this is the important part, you can now split-up the mesh like this:
* Still in Edit-mode, use the Mesh-menu/Separate/Selection option... This will split up the mesh so you have the window in a separate part. Rename the Window part to window_left.
* In the current collection you can now hide/see the window/Truck using the eye icons.
* Duplicate the collection, and for the new collection delete all the parts that is not under the the window.
[[File:UE4-Truck-Window2.png]]
82786a4d4090966982aa5549e929a8139d8776a6
1722
1721
2020-03-09T18:56:23Z
Assetdk
89
wikitext
text/x-wiki
Your character should have some kind of transportation - and UE4 comes with some help [https://www.unrealengine.com/marketplace/en-US/product/bbcb90a03f844edbb20c8b89ee16ea32 Vehicle Variety Pack]. However I wanted to get access to the car and to the interior of the box van... Since you need to use Blender for that, I think this gives us a better way of learning a bit about getting props, using Blender in combination with UE4.
This is the tasks I intend to describe:
* Getting SM_Truck_Box into Blender! and split the mesh into separate parts!
* Failed experiment, with morph targets
* Saving the separate parts
* Pivot points... when going to UE4
* Save the work and import to UE4
* New blueprint for the Truck
The end result should be that you can open back doors of the Truck, also you can open the left front door and you can roll down the left window.
These are some screen shots of that:
[[File:UE4-Truck-Result.png]]
==Getting SK_Truck_Box into Blender!==
You should be able to install the package into UE4 and from there you go to Skeletons and export SK_Truck_Box. You can probably get even better results using SM_Truck_Box, but I did the SK_ version.
Go to Blender 2.8, and import the skeleton in it's separate collection. Use the standard import setting for this. Save the .blend file in a separate folder!
Duplicate this collection and start working on the
The trick here is that you should now go to edit mode and select all parts that you want as a separate mesh in UE4. Please start with the from left window!
This can be rather tricky, and it will be very tricky doing the front door. These are the shortcut you can use for selection:
* Left-mouse+shift clicks selects (Vertex/Edge/Face) - the selection is highlighted
* Ctrl-+ selects what is connected to the current selection, this is not always logic to me but it seldomly fails.
* H-hey, hides your currently selection - when you have something hidden the H-key the visible selection to that.
* Alt-H, unhide showing your current selection
* Ctrl-Z will undo selections etc. (the result you see is not always logic)
In the end you can swab between H and Alt-H to ensure that you have the full selection
7910bc42ce8fd1241224d911a2f260b5e3f3f2f9
1721
1720
2020-03-09T18:29:55Z
Assetdk
89
wikitext
text/x-wiki
Your character should have some kind of transportation - and UE4 comes with some help [https://www.unrealengine.com/marketplace/en-US/product/bbcb90a03f844edbb20c8b89ee16ea32 Vehicle Variety Pack]. However I wanted to get access to the car and to the interior of the box van... Since you need to use Blender for that, I think this gives us a better way of learning a bit about getting props, using Blender in combination with UE4.
This is the tasks I intend to describe:
* Getting SM_Truck_Box into Blender!
* Split the mesh into separate parts
* Failed experiment, with morph targets
* Saving the separate parts
* Pivot points... when going to UE4
* Save the work and import to UE4
* New blueprint for the Truck
The end result should be that you can open back doors of the Truck, also you can open the left front door and you can roll down the left window.
These are some screen shots of that:
[[File:UE4-Truck-Result.png]]
2e554462b28d46bfce139a4a4dad55dda163c73e
1720
2020-03-09T18:28:15Z
Assetdk
89
Created page with "Your character should have some kind of transportation - and UE4 comes with some help [https://www.unrealengine.com/marketplace/en-US/product /bbcb90a03f844edbb20c8b89ee16ea32..."
wikitext
text/x-wiki
Your character should have some kind of transportation - and UE4 comes with some help [https://www.unrealengine.com/marketplace/en-US/product /bbcb90a03f844edbb20c8b89ee16ea32 Vehicle Variety Pack]. However I wanted to get access to the car and to the interior of the box van... Since you need to use Blender for that, I think this gives us a better way of learning a bit about getting props, using Blender in combination with UE4.
This is the tasks I intend to describe:
* Getting SM_Truck_Box into Blender!
* Split the mesh into separate parts
* Failed experiment, with morph targets
* Saving the separate parts
* Pivot points... when going to UE4
* Save the work and import to UE4
* New blueprint for the Truck
The end result should be that you can open back doors of the Truck, also you can open the left front door and you can roll down the left window.
These are some screen shots of that:
[[File:UE4-Truck-Result.png]]
2cb38d155f4d5bf1c7eeaae6258a5405651ba0a4
Documentation:Unreal MHC
3000
705
2080
2079
2021-05-11T09:15:42Z
Assetdk
89
wikitext
text/x-wiki
Once you have the character inside Unreal you want to utilize the shape keys to customize your character.
I am working on a generic solution that will allow you to do just that, this is the first preview!
::'''Please take a look at this page: [[Documentation:MH4UE|MH4UE]] - to get an overview of things you can use to get your Makehuman characters into Unreal Engine!'''
==Parameter Setup and Parameter Functions==
In order to make the customization work you need to make a table containing all the parameters that can be adjusted. This is a bit complicated, but you need to do this once only.. The parameters are imported into Unreal and from there the customization components should handle the rest! The parameter setup is done in a CSV file - I use a google sheet for this, but you can use any tool that works for you and Unreal.
The parameters/functions can be listed like this:
* Shape key grouping
* Customize option
* Randomize
* Randomize grouping
* Randomize exclusive grouping
* Clamp min/max
* Display name
* Tool tip
* Comment
The exclusive grouping can be used at group level, so you can group shape keys that does not mix well - say one major body shape will corrupt an other shape. You will be able to exclude/clamp the other shapes to prevent this from happening.
=MHC - UE4 Generic Character customization for MakeHuman, and other characters=
I am making a Generic Customization package that can be used for MakeHuman. This is an overview of the functionality, introducing the components that are available in the package.
==Introduction==
If you follow the [[Documentation:Saving models for Unreal Engine and how to import them there|instructions]] on how to import your MakeHuman characters to Unreal there is still a lot of work to do. In general you will need a generic blueprint to "assemble" your character and the cloth element, also you need a basic clothing system, and you need some basic interface to work with the "morph targets". Some of the morph targets will affect the basic shape of the character, while others can handle the general expressions.
The prototype for this can be seen below, in this you can see the shape keys as well as the buttons where you can change the base-tint parameter.
[[File:MH UE4 MaterialCustom 1.png|400px]]
The basic parts leads to two different components for your character blueprint one for customizing the character shape and a system for cloth, hair and other modular attachments. Also the system should be able to handle different character types, say you may have several "base characters", characters of different genders etc.
This page contains a general introduction to the MHC components, breaking down what you need to know to understand and setup the system with your own characters.
==Package components - GenCustomize_Comp==
This is what the Blueprint for the MH generic character looks like, currently.
[[File:MHC_GenericMH_BP-V1.png|300px]]
This first version of MHC only contains the '''GenCustomize_Comp''', but the one that i going out will not yet contain the '''GenInventory_Comp'''. (The GenInventory_Comp will come with a few Widgets new and it will allow your character to pickup "items" and "cloth". But in the current version you will not yet be able to set that up.)
In addition to these components there are two interfaces - the Interact interface will enable item pickup and other interactions, while the Customize interface will allow the customization - like setting the morph targets and base tint color. (Others will follow).
[[File:MHC_GenericMH_Comp-V1.png|300px]]
Special to the customization is that you must provide/build a table holding the skeleton mesh specific information for morph targets. This will allow you to setup the customization specific to your MakeHuman character. (Also you need a specific material if you want to enable the color tint.)
If your base characters holds different morph targets your "Morph Table" must contain that specific skeleton reference, more details in the technical section on that topic:
[[File:MHC_GenericMH_Cust-MT.png|800px]]
You can do this in two ways, either you drag/drop the BP into the level, or you can make a subclass of it - add the morph table to either of these.
Also there is a debug option, to be used for your own code... or for that in the customize blueprints.
[[File:MHC GenericMH BPMT-V1.png|400px]]
be5f0ecaba641cd278f97b10ac132e41c74f1b19
2079
2076
2021-05-11T09:14:24Z
Assetdk
89
wikitext
text/x-wiki
Once you have the character inside Unreal you want to utilize the shape keys to customize your character.
I am working on a generic solution that will allow you to do just that, this is the first preview!
Please take a look at this page: [[Documentation:MH4UE|MH4UE]] - to get an overview of things you can use to get your Makehuman characters into Unreal Engine!
==Parameter Setup and Parameter Functions==
In order to make the customization work you need to make a table containing all the parameters that can be adjusted. This is a bit complicated, but you need to do this once only.. The parameters are imported into Unreal and from there the customization components should handle the rest! The parameter setup is done in a CSV file - I use a google sheet for this, but you can use any tool that works for you and Unreal.
The parameters/functions can be listed like this:
* Shape key grouping
* Customize option
* Randomize
* Randomize grouping
* Randomize exclusive grouping
* Clamp min/max
* Display name
* Tool tip
* Comment
The exclusive grouping can be used at group level, so you can group shape keys that does not mix well - say one major body shape will corrupt an other shape. You will be able to exclude/clamp the other shapes to prevent this from happening.
=MHC - UE4 Generic Character customization for MakeHuman, and other characters=
I am making a Generic Customization package that can be used for MakeHuman. This is an overview of the functionality, introducing the components that are available in the package.
==Introduction==
If you follow the [[Documentation:Saving models for Unreal Engine and how to import them there|instructions]] on how to import your MakeHuman characters to Unreal there is still a lot of work to do. In general you will need a generic blueprint to "assemble" your character and the cloth element, also you need a basic clothing system, and you need some basic interface to work with the "morph targets". Some of the morph targets will affect the basic shape of the character, while others can handle the general expressions.
The prototype for this can be seen below, in this you can see the shape keys as well as the buttons where you can change the base-tint parameter.
[[File:MH UE4 MaterialCustom 1.png|400px]]
The basic parts leads to two different components for your character blueprint one for customizing the character shape and a system for cloth, hair and other modular attachments. Also the system should be able to handle different character types, say you may have several "base characters", characters of different genders etc.
This page contains a general introduction to the MHC components, breaking down what you need to know to understand and setup the system with your own characters.
==Package components - GenCustomize_Comp==
This is what the Blueprint for the MH generic character looks like, currently.
[[File:MHC_GenericMH_BP-V1.png|300px]]
This first version of MHC only contains the '''GenCustomize_Comp''', but the one that i going out will not yet contain the '''GenInventory_Comp'''. (The GenInventory_Comp will come with a few Widgets new and it will allow your character to pickup "items" and "cloth". But in the current version you will not yet be able to set that up.)
In addition to these components there are two interfaces - the Interact interface will enable item pickup and other interactions, while the Customize interface will allow the customization - like setting the morph targets and base tint color. (Others will follow).
[[File:MHC_GenericMH_Comp-V1.png|300px]]
Special to the customization is that you must provide/build a table holding the skeleton mesh specific information for morph targets. This will allow you to setup the customization specific to your MakeHuman character. (Also you need a specific material if you want to enable the color tint.)
If your base characters holds different morph targets your "Morph Table" must contain that specific skeleton reference, more details in the technical section on that topic:
[[File:MHC_GenericMH_Cust-MT.png|800px]]
You can do this in two ways, either you drag/drop the BP into the level, or you can make a subclass of it - add the morph table to either of these.
Also there is a debug option, to be used for your own code... or for that in the customize blueprints.
[[File:MHC GenericMH BPMT-V1.png|400px]]
61d3483cfaf019ea56149cddd72cae936e2f2399
2076
2075
2021-03-31T16:13:41Z
Assetdk
89
/* Package components - GenCustomize_Comp */
wikitext
text/x-wiki
Once you have the character inside Unreal you want to utilize the shape keys to customize your character.
I ma working on a generic solution that will allow you to do just that, this is the first preview!
==Parameter Setup and Parameter Functions==
In order to make the customization work you need to make a table containing all the parameters that can be adjusted. This is a bit complicated, but you need to do this once only.. The parameters are imported into Unreal and from there the customization components should handle the rest! The parameter setup is done in a CSV file - I use a google sheet for this, but you can use any tool that works for you and Unreal.
The parameters/functions can be listed like this:
* Shape key grouping
* Customize option
* Randomize
* Randomize grouping
* Randomize exclusive grouping
* Clamp min/max
* Display name
* Tool tip
* Comment
The exclusive grouping can be used at group level, so you can group shape keys that does not mix well - say one major body shape will corrupt an other shape. You will be able to exclude/clamp the other shapes to prevent this from happening.
=MHC - UE4 Generic Character customization for MakeHuman, and other characters=
I am making a Generic Customization package that can be used for MakeHuman. This is an overview of the functionality, introducing the components that are available in the package.
==Introduction==
If you follow the [[Documentation:Saving models for Unreal Engine and how to import them there|instructions]] on how to import your MakeHuman characters to Unreal there is still a lot of work to do. In general you will need a generic blueprint to "assemble" your character and the cloth element, also you need a basic clothing system, and you need some basic interface to work with the "morph targets". Some of the morph targets will affect the basic shape of the character, while others can handle the general expressions.
The prototype for this can be seen below, in this you can see the shape keys as well as the buttons where you can change the base-tint parameter.
[[File:MH UE4 MaterialCustom 1.png|400px]]
The basic parts leads to two different components for your character blueprint one for customizing the character shape and a system for cloth, hair and other modular attachments. Also the system should be able to handle different character types, say you may have several "base characters", characters of different genders etc.
This page contains a general introduction to the MHC components, breaking down what you need to know to understand and setup the system with your own characters.
==Package components - GenCustomize_Comp==
This is what the Blueprint for the MH generic character looks like, currently.
[[File:MHC_GenericMH_BP-V1.png|300px]]
This first version of MHC only contains the '''GenCustomize_Comp''', but the one that i going out will not yet contain the '''GenInventory_Comp'''. (The GenInventory_Comp will come with a few Widgets new and it will allow your character to pickup "items" and "cloth". But in the current version you will not yet be able to set that up.)
In addition to these components there are two interfaces - the Interact interface will enable item pickup and other interactions, while the Customize interface will allow the customization - like setting the morph targets and base tint color. (Others will follow).
[[File:MHC_GenericMH_Comp-V1.png|300px]]
Special to the customization is that you must provide/build a table holding the skeleton mesh specific information for morph targets. This will allow you to setup the customization specific to your MakeHuman character. (Also you need a specific material if you want to enable the color tint.)
If your base characters holds different morph targets your "Morph Table" must contain that specific skeleton reference, more details in the technical section on that topic:
[[File:MHC_GenericMH_Cust-MT.png|800px]]
You can do this in two ways, either you drag/drop the BP into the level, or you can make a subclass of it - add the morph table to either of these.
Also there is a debug option, to be used for your own code... or for that in the customize blueprints.
[[File:MHC GenericMH BPMT-V1.png|400px]]
b0dc5a5c02c8cc44110ae66e66fc5099c806ab8c
2075
2073
2021-03-31T16:13:07Z
Assetdk
89
/* Package components - GenCustomize_Comp */
wikitext
text/x-wiki
Once you have the character inside Unreal you want to utilize the shape keys to customize your character.
I ma working on a generic solution that will allow you to do just that, this is the first preview!
==Parameter Setup and Parameter Functions==
In order to make the customization work you need to make a table containing all the parameters that can be adjusted. This is a bit complicated, but you need to do this once only.. The parameters are imported into Unreal and from there the customization components should handle the rest! The parameter setup is done in a CSV file - I use a google sheet for this, but you can use any tool that works for you and Unreal.
The parameters/functions can be listed like this:
* Shape key grouping
* Customize option
* Randomize
* Randomize grouping
* Randomize exclusive grouping
* Clamp min/max
* Display name
* Tool tip
* Comment
The exclusive grouping can be used at group level, so you can group shape keys that does not mix well - say one major body shape will corrupt an other shape. You will be able to exclude/clamp the other shapes to prevent this from happening.
=MHC - UE4 Generic Character customization for MakeHuman, and other characters=
I am making a Generic Customization package that can be used for MakeHuman. This is an overview of the functionality, introducing the components that are available in the package.
==Introduction==
If you follow the [[Documentation:Saving models for Unreal Engine and how to import them there|instructions]] on how to import your MakeHuman characters to Unreal there is still a lot of work to do. In general you will need a generic blueprint to "assemble" your character and the cloth element, also you need a basic clothing system, and you need some basic interface to work with the "morph targets". Some of the morph targets will affect the basic shape of the character, while others can handle the general expressions.
The prototype for this can be seen below, in this you can see the shape keys as well as the buttons where you can change the base-tint parameter.
[[File:MH UE4 MaterialCustom 1.png|400px]]
The basic parts leads to two different components for your character blueprint one for customizing the character shape and a system for cloth, hair and other modular attachments. Also the system should be able to handle different character types, say you may have several "base characters", characters of different genders etc.
This page contains a general introduction to the MHC components, breaking down what you need to know to understand and setup the system with your own characters.
==Package components - GenCustomize_Comp==
This is what the Blueprint for the MH generic character looks like, currently.
[[File:MHC_GenericMH_BP-V1.png|300px]]
This first version of MHC only contains the '''GenCustomize_Comp''', but the one that i going out will not yet contain the '''GenInventory_Comp'''. (The GenInventory_Comp will come with a few Widgets new and it will allow your character to pickup "items" and "cloth". But in the current version you will not yet be able to set that up.)
In addition to these components there are two interfaces - the Interact interface will enable item pickup and other interactions, while the Customize interface will allow the customization - like setting the morph targets and base tint color. (Others will follow).
[[File:MHC_GenericMH_Comp-V1.png|300px]]
Special to the customization is that you must provide/build a table holding the skeleton mesh specific information for morph targets. This will allow you to setup the customization specific to your MakeHuman character. (Also you need a specific material if you want to enable the color tint.)
If your base characters holds different morph targets your "Morph Table" must contain that specific skeleton reference, more details in the technical section on that topic:
[[File:MHC_GenericMH_Cust-MT.png|800px]]
You can do this in two ways, either you drag/drop the BP into the level, or you can make a subclass of it - add the morph table to either of these.
Also there is a debug option, to be used for your own code... or for that in the customize blueprints.
[[File:MHC GenericMH BPMT-V1.png|800px]]
958af898d78a5e24acc3b7658fcb6ce896ae151f
2073
2071
2021-03-31T13:39:54Z
Assetdk
89
/* Package components - GenCustomize_Comp */
wikitext
text/x-wiki
Once you have the character inside Unreal you want to utilize the shape keys to customize your character.
I ma working on a generic solution that will allow you to do just that, this is the first preview!
==Parameter Setup and Parameter Functions==
In order to make the customization work you need to make a table containing all the parameters that can be adjusted. This is a bit complicated, but you need to do this once only.. The parameters are imported into Unreal and from there the customization components should handle the rest! The parameter setup is done in a CSV file - I use a google sheet for this, but you can use any tool that works for you and Unreal.
The parameters/functions can be listed like this:
* Shape key grouping
* Customize option
* Randomize
* Randomize grouping
* Randomize exclusive grouping
* Clamp min/max
* Display name
* Tool tip
* Comment
The exclusive grouping can be used at group level, so you can group shape keys that does not mix well - say one major body shape will corrupt an other shape. You will be able to exclude/clamp the other shapes to prevent this from happening.
=MHC - UE4 Generic Character customization for MakeHuman, and other characters=
I am making a Generic Customization package that can be used for MakeHuman. This is an overview of the functionality, introducing the components that are available in the package.
==Introduction==
If you follow the [[Documentation:Saving models for Unreal Engine and how to import them there|instructions]] on how to import your MakeHuman characters to Unreal there is still a lot of work to do. In general you will need a generic blueprint to "assemble" your character and the cloth element, also you need a basic clothing system, and you need some basic interface to work with the "morph targets". Some of the morph targets will affect the basic shape of the character, while others can handle the general expressions.
The prototype for this can be seen below, in this you can see the shape keys as well as the buttons where you can change the base-tint parameter.
[[File:MH UE4 MaterialCustom 1.png|400px]]
The basic parts leads to two different components for your character blueprint one for customizing the character shape and a system for cloth, hair and other modular attachments. Also the system should be able to handle different character types, say you may have several "base characters", characters of different genders etc.
This page contains a general introduction to the MHC components, breaking down what you need to know to understand and setup the system with your own characters.
==Package components - GenCustomize_Comp==
This is what the Blueprint for the MH generic character looks like, currently.
[[File:MHC_GenericMH_BP-V1.png|300px]]
This first version of MHC only contains the '''GenCustomize_Comp''', but the one that i going out will not yet contain the '''GenInventory_Comp'''. (The GenInventory_Comp will come with a few Widgets new and it will allow your character to pickup "items" and "cloth". But in the current version you will not yet be able to set that up.)
In addition to these components there are two interfaces - the Interact interface will enable item pickup and other interactions, while the Customize interface will allow the customization - like setting the morph targets and base tint color. (Others will follow).
[[File:MHC_GenericMH_Comp-V1.png|300px]]
Special to the customization is that you must provide/build a table holding the skeleton mesh specific information for morph targets. This will allow you to setup the customization specific to your MakeHuman character. (Also you need a specific material if you want to enable the color tint.)
If your base characters holds different morph targets your "Morph Table" must contain that specific skeleton reference, more details in the technical section on that topic:
[[File:MHC_GenericMH_Cust-MT.png|800px]]
d5beefd6516a24228a6e7948599dad6f50a3c562
2071
2069
2021-03-31T13:22:50Z
Assetdk
89
/* Package components - GenCharacter */
wikitext
text/x-wiki
Once you have the character inside Unreal you want to utilize the shape keys to customize your character.
I ma working on a generic solution that will allow you to do just that, this is the first preview!
==Parameter Setup and Parameter Functions==
In order to make the customization work you need to make a table containing all the parameters that can be adjusted. This is a bit complicated, but you need to do this once only.. The parameters are imported into Unreal and from there the customization components should handle the rest! The parameter setup is done in a CSV file - I use a google sheet for this, but you can use any tool that works for you and Unreal.
The parameters/functions can be listed like this:
* Shape key grouping
* Customize option
* Randomize
* Randomize grouping
* Randomize exclusive grouping
* Clamp min/max
* Display name
* Tool tip
* Comment
The exclusive grouping can be used at group level, so you can group shape keys that does not mix well - say one major body shape will corrupt an other shape. You will be able to exclude/clamp the other shapes to prevent this from happening.
=MHC - UE4 Generic Character customization for MakeHuman, and other characters=
I am making a Generic Customization package that can be used for MakeHuman. This is an overview of the functionality, introducing the components that are available in the package.
==Introduction==
If you follow the [[Documentation:Saving models for Unreal Engine and how to import them there|instructions]] on how to import your MakeHuman characters to Unreal there is still a lot of work to do. In general you will need a generic blueprint to "assemble" your character and the cloth element, also you need a basic clothing system, and you need some basic interface to work with the "morph targets". Some of the morph targets will affect the basic shape of the character, while others can handle the general expressions.
The prototype for this can be seen below, in this you can see the shape keys as well as the buttons where you can change the base-tint parameter.
[[File:MH UE4 MaterialCustom 1.png|400px]]
The basic parts leads to two different components for your character blueprint one for customizing the character shape and a system for cloth, hair and other modular attachments. Also the system should be able to handle different character types, say you may have several "base characters", characters of different genders etc.
This page contains a general introduction to the MHC components, breaking down what you need to know to understand and setup the system with your own characters.
==Package components - GenCustomize_Comp==
This is what the Blueprint for the MH generic character looks like, currently.
[[File:MHC_GenericMH_BP-V1.png|300px]]
This first version of MHC only contains the '''GenCustomize_Comp''', but the one that i going out will not yet contain the '''GenInventory_Comp'''. (The GenInventory_Comp will come with a few Widgets new and it will allow your character to pickup "items" and "cloth". But in the current version you will not yet be able to set that up.)
In addition to these components there are two interfaces - the Interact interface will enable item pickup and other interactions, while the Customize interface will allow the customization - like setting the morph targets and base tint color. (Others will follow).
[[File:MHC_GenericMH_Comp-V1.png|300px]]
14ec40f8c7ae0e2b1eab138de1209f3803fd1ebf
2069
2068
2021-03-31T12:54:22Z
Assetdk
89
/* Introduction */
wikitext
text/x-wiki
Once you have the character inside Unreal you want to utilize the shape keys to customize your character.
I ma working on a generic solution that will allow you to do just that, this is the first preview!
==Parameter Setup and Parameter Functions==
In order to make the customization work you need to make a table containing all the parameters that can be adjusted. This is a bit complicated, but you need to do this once only.. The parameters are imported into Unreal and from there the customization components should handle the rest! The parameter setup is done in a CSV file - I use a google sheet for this, but you can use any tool that works for you and Unreal.
The parameters/functions can be listed like this:
* Shape key grouping
* Customize option
* Randomize
* Randomize grouping
* Randomize exclusive grouping
* Clamp min/max
* Display name
* Tool tip
* Comment
The exclusive grouping can be used at group level, so you can group shape keys that does not mix well - say one major body shape will corrupt an other shape. You will be able to exclude/clamp the other shapes to prevent this from happening.
=MHC - UE4 Generic Character customization for MakeHuman, and other characters=
I am making a Generic Customization package that can be used for MakeHuman. This is an overview of the functionality, introducing the components that are available in the package.
==Introduction==
If you follow the [[Documentation:Saving models for Unreal Engine and how to import them there|instructions]] on how to import your MakeHuman characters to Unreal there is still a lot of work to do. In general you will need a generic blueprint to "assemble" your character and the cloth element, also you need a basic clothing system, and you need some basic interface to work with the "morph targets". Some of the morph targets will affect the basic shape of the character, while others can handle the general expressions.
The prototype for this can be seen below, in this you can see the shape keys as well as the buttons where you can change the base-tint parameter.
[[File:MH UE4 MaterialCustom 1.png|400px]]
The basic parts leads to two different components for your character blueprint one for customizing the character shape and a system for cloth, hair and other modular attachments. Also the system should be able to handle different character types, say you may have several "base characters", characters of different genders etc.
This page contains a general introduction to the MHC components, breaking down what you need to know to understand and setup the system with your own characters.
==Package components - GenCharacter==
This is what the Blueprint for the MH generic character looks like, currently.
[[File:MHC_GenericMH_BP-V1.png|300px]]
This first version of MHC only contains the '''GenCustomize_Comp''', but the one that i going out will not yet contain the '''GenInventory_Comp'''.
326ef15694525a65ebbcfcad1689976796e83cbf
2068
2067
2021-03-31T12:53:51Z
Assetdk
89
/* Customization */
wikitext
text/x-wiki
Once you have the character inside Unreal you want to utilize the shape keys to customize your character.
I ma working on a generic solution that will allow you to do just that, this is the first preview!
==Parameter Setup and Parameter Functions==
In order to make the customization work you need to make a table containing all the parameters that can be adjusted. This is a bit complicated, but you need to do this once only.. The parameters are imported into Unreal and from there the customization components should handle the rest! The parameter setup is done in a CSV file - I use a google sheet for this, but you can use any tool that works for you and Unreal.
The parameters/functions can be listed like this:
* Shape key grouping
* Customize option
* Randomize
* Randomize grouping
* Randomize exclusive grouping
* Clamp min/max
* Display name
* Tool tip
* Comment
The exclusive grouping can be used at group level, so you can group shape keys that does not mix well - say one major body shape will corrupt an other shape. You will be able to exclude/clamp the other shapes to prevent this from happening.
=MHC - UE4 Generic Character customization for MakeHuman, and other characters=
I am making a Generic Customization package that can be used for MakeHuman. This is an overview of the functionality, introducing the components that are available in the package.
==Introduction==
If you follow the [[Documentation:Saving models for Unreal Engine and how to import them there|instructions]] on how to import your MakeHuman characters to Unreal there is still a lot of work to do. In general you will need a generic blueprint to "assemble" your character and the cloth element, also you need a basic clothing system, and you need some basic interface to work with the "morph targets". Some of the morph targets will affect the basic shape of the character, while others can handle the general expressions.
The basic parts leads to two different components for your character blueprint one for customizing the character shape and a system for cloth, hair and other modular attachments. Also the system should be able to handle different character types, say you may have several "base characters", characters of different genders etc.
This page contains a general introduction to the MHC components, breaking down what you need to know to understand and setup the system with your own characters.
==Package components - GenCharacter==
This is what the Blueprint for the MH generic character looks like, currently.
[[File:MHC_GenericMH_BP-V1.png|300px]]
This first version of MHC only contains the '''GenCustomize_Comp''', but the one that i going out will not yet contain the '''GenInventory_Comp'''.
81f3fc3bdc053c7f8f974defa5eef41fe261728f
2067
2066
2021-03-31T12:53:16Z
Assetdk
89
/* Package components - GenCharacter */
wikitext
text/x-wiki
Once you have the character inside Unreal you want to utilize the shape keys to customize your character.
I ma working on a generic solution that will allow you to do just that, this is the first preview!
==Parameter Setup and Parameter Functions==
In order to make the customization work you need to make a table containing all the parameters that can be adjusted. This is a bit complicated, but you need to do this once only.. The parameters are imported into Unreal and from there the customization components should handle the rest! The parameter setup is done in a CSV file - I use a google sheet for this, but you can use any tool that works for you and Unreal.
The parameters/functions can be listed like this:
* Shape key grouping
* Customize option
* Randomize
* Randomize grouping
* Randomize exclusive grouping
* Clamp min/max
* Display name
* Tool tip
* Comment
The exclusive grouping can be used at group level, so you can group shape keys that does not mix well - say one major body shape will corrupt an other shape. You will be able to exclude/clamp the other shapes to prevent this from happening.
==Customization==
The prototype for this can be seen below, in this you can see the shape keys as well as the buttons where you can change the base-tint parameter.
[[File:MH UE4 MaterialCustom 1.png|500px]]
=MHC - UE4 Generic Character customization for MakeHuman, and other characters=
I am making a Generic Customization package that can be used for MakeHuman. This is an overview of the functionality, introducing the components that are available in the package.
==Introduction==
If you follow the [[Documentation:Saving models for Unreal Engine and how to import them there|instructions]] on how to import your MakeHuman characters to Unreal there is still a lot of work to do. In general you will need a generic blueprint to "assemble" your character and the cloth element, also you need a basic clothing system, and you need some basic interface to work with the "morph targets". Some of the morph targets will affect the basic shape of the character, while others can handle the general expressions.
The basic parts leads to two different components for your character blueprint one for customizing the character shape and a system for cloth, hair and other modular attachments. Also the system should be able to handle different character types, say you may have several "base characters", characters of different genders etc.
This page contains a general introduction to the MHC components, breaking down what you need to know to understand and setup the system with your own characters.
==Package components - GenCharacter==
This is what the Blueprint for the MH generic character looks like, currently.
[[File:MHC_GenericMH_BP-V1.png|300px]]
This first version of MHC only contains the '''GenCustomize_Comp''', but the one that i going out will not yet contain the '''GenInventory_Comp'''.
89dc7db085bb38044811e826ed85b04f26dc6882
2066
2063
2021-03-31T12:52:56Z
Assetdk
89
/* Customization */
wikitext
text/x-wiki
Once you have the character inside Unreal you want to utilize the shape keys to customize your character.
I ma working on a generic solution that will allow you to do just that, this is the first preview!
==Parameter Setup and Parameter Functions==
In order to make the customization work you need to make a table containing all the parameters that can be adjusted. This is a bit complicated, but you need to do this once only.. The parameters are imported into Unreal and from there the customization components should handle the rest! The parameter setup is done in a CSV file - I use a google sheet for this, but you can use any tool that works for you and Unreal.
The parameters/functions can be listed like this:
* Shape key grouping
* Customize option
* Randomize
* Randomize grouping
* Randomize exclusive grouping
* Clamp min/max
* Display name
* Tool tip
* Comment
The exclusive grouping can be used at group level, so you can group shape keys that does not mix well - say one major body shape will corrupt an other shape. You will be able to exclude/clamp the other shapes to prevent this from happening.
==Customization==
The prototype for this can be seen below, in this you can see the shape keys as well as the buttons where you can change the base-tint parameter.
[[File:MH UE4 MaterialCustom 1.png|500px]]
=MHC - UE4 Generic Character customization for MakeHuman, and other characters=
I am making a Generic Customization package that can be used for MakeHuman. This is an overview of the functionality, introducing the components that are available in the package.
==Introduction==
If you follow the [[Documentation:Saving models for Unreal Engine and how to import them there|instructions]] on how to import your MakeHuman characters to Unreal there is still a lot of work to do. In general you will need a generic blueprint to "assemble" your character and the cloth element, also you need a basic clothing system, and you need some basic interface to work with the "morph targets". Some of the morph targets will affect the basic shape of the character, while others can handle the general expressions.
The basic parts leads to two different components for your character blueprint one for customizing the character shape and a system for cloth, hair and other modular attachments. Also the system should be able to handle different character types, say you may have several "base characters", characters of different genders etc.
This page contains a general introduction to the MHC components, breaking down what you need to know to understand and setup the system with your own characters.
==Package components - GenCharacter==
This is what the Blueprint for the MH generic character looks like, currently.
[[File:MHC_GenericMH_BP-V1.png|500px]]
This first version of MHC only contains the '''GenCustomize_Comp''', but the one that i going out will not yet contain the '''GenInventory_Comp'''.
8160c0ec95658e0dd8c96427821f879ab2edfc63
2063
2042
2021-03-14T19:13:44Z
Assetdk
89
/* Customization */
wikitext
text/x-wiki
Once you have the character inside Unreal you want to utilize the shape keys to customize your character.
I ma working on a generic solution that will allow you to do just that, this is the first preview!
==Parameter Setup and Parameter Functions==
In order to make the customization work you need to make a table containing all the parameters that can be adjusted. This is a bit complicated, but you need to do this once only.. The parameters are imported into Unreal and from there the customization components should handle the rest! The parameter setup is done in a CSV file - I use a google sheet for this, but you can use any tool that works for you and Unreal.
The parameters/functions can be listed like this:
* Shape key grouping
* Customize option
* Randomize
* Randomize grouping
* Randomize exclusive grouping
* Clamp min/max
* Display name
* Tool tip
* Comment
The exclusive grouping can be used at group level, so you can group shape keys that does not mix well - say one major body shape will corrupt an other shape. You will be able to exclude/clamp the other shapes to prevent this from happening.
==Customization==
The prototype for this can be seen below, in this you can see the shape keys as well as the buttons where you can change the base-tint parameter.
[[File:MH UE4 MaterialCustom 1.png|700px]]
fe94b8f2492dca382dcf3080df81e29e76811ae6
2042
2041
2021-03-07T16:22:04Z
Assetdk
89
/* Parameter Setup and Parameter Functions */
wikitext
text/x-wiki
Once you have the character inside Unreal you want to utilize the shape keys to customize your character.
I ma working on a generic solution that will allow you to do just that, this is the first preview!
==Parameter Setup and Parameter Functions==
In order to make the customization work you need to make a table containing all the parameters that can be adjusted. This is a bit complicated, but you need to do this once only.. The parameters are imported into Unreal and from there the customization components should handle the rest! The parameter setup is done in a CSV file - I use a google sheet for this, but you can use any tool that works for you and Unreal.
The parameters/functions can be listed like this:
* Shape key grouping
* Customize option
* Randomize
* Randomize grouping
* Randomize exclusive grouping
* Clamp min/max
* Display name
* Tool tip
* Comment
The exclusive grouping can be used at group level, so you can group shape keys that does not mix well - say one major body shape will corrupt an other shape. You will be able to exclude/clamp the other shapes to prevent this from happening.
==Customization==
The prototype for this can be seen below, in this you can see the shape keys as well as the buttons where you can change the base-tint parameter.
[[File:MH UE4 MaterialCustom 1.png]]
d2b116648bcf9f9ad10781f07974505688cffbad
2041
2039
2021-02-21T10:49:25Z
Assetdk
89
/* Customization= */
wikitext
text/x-wiki
Once you have the character inside Unreal you want to utilize the shape keys to customize your character.
I ma working on a generic solution that will allow you to do just that, this is the first preview!
==Parameter Setup and Parameter Functions==
In order to make the customization work you need to make a table containing all the parameters that can be adjusted. This is a bit complicated, but you need to do this once only.. The parameters are imported into Unreal and from there the customization components should handle the rest! The parameter setup is done in a CSV file - I use a google sheet for this, but you can use any tool that works for you and Unreal.
The parameters/functions can be listed like this:
* Shape key groping
* Customize option
* Randomize
* Randomize grouping
* Randomize exclusive grouping
* Clamp min/max
* Display name
* Tool tip
* Comment
The exclusive grouping can be used at group level, so you can group shape keys that does not mix well - say one major body shape will corrupt an other shape. You will be able to exclude/clamp the other shapes to prevent this from happening.
==Customization==
The prototype for this can be seen below, in this you can see the shape keys as well as the buttons where you can change the base-tint parameter.
[[File:MH UE4 MaterialCustom 1.png]]
c5f40523f1311990408cfe8992fd5a9245a843f7
2039
2021-02-21T10:24:49Z
Assetdk
89
Created page with "Once you have the character inside Unreal you want to utilize the shape keys to customize your character. I ma working on a generic solution that will allow you to do just t..."
wikitext
text/x-wiki
Once you have the character inside Unreal you want to utilize the shape keys to customize your character.
I ma working on a generic solution that will allow you to do just that, this is the first preview!
===Customization====
The skin can now be modified using a simple interface in the game. The prototype for this can be seen below, in this you can see the shape keys as well as the buttons where you can change the base-tint parameter.
[[File:MH UE4 MaterialCustom 1.png]]
96feb88e4c3dceed12c07d03b6dfc5543d19a79c
Documentation:What is MakeHuman?
3000
222
737
736
2016-05-20T12:46:42Z
Joepal
14
wikitext
text/x-wiki
MakeHuman is an open source (AGPL3) tool designed to simplify the creation of virtual humans using a Graphical User Interface, also commonly referred to as a GUI. This is a specialized branch of the more general subject of 3D modelling. The MakeHuman Team is focused on this specific branch of the broader subject in order to achieve the best possible level of quality and ease of use in that area. The ultimate goal is to be able to quickly produce a wide array of realistic virtual humans with only a few clicks of the mouse and be able to render or export them for use in other projects.
[[File:MH&Purp NQ.jpg|center]]
Humans are created through the manipulation of controls that allow for the blending of different human attributes to create unique 3D human characters. The controls are intended to provide the user with a simple way to create characters that give expression to the widest possible range of human forms. The controllable attributes are broken into two groups: macro and detail. The macro targets deal with overall human characteristics like gender, age, height, weight and ethnicity. The detail targets allow for the character to be further refined by focusing on the low level details of such things as the eye's shape or finger's length.
The MakeHuman project strives to provide a complete tool that allows for the management of all things needed to create realistic virtual humans. This includes some tools that have not yet been created or are in the early stages of development for things like poses, animation cycles, managing facial expressions, hair and clothes. With the exception of modelling, most of these tools follow a "point and click" approach by using the MakeHuman's Library. Via the MakeHuman library, users preview and load poses, animation cycles, facial expressions, hair, shoes and clothes onto their character. MakeHuman also offers tools for exporting virtual humans to other software (such as the Blender 3D modeling suite) where further refinements can be made.
MakeHuman is developed by a community of programmers, artists, academics and enthusiasts interested in 3D computer models of human beings.
f331ea52316df77df85733eb8f1abc0b149c631a
736
735
2016-05-20T12:43:42Z
Joepal
14
wikitext
text/x-wiki
MakeHuman is an open source (AGPL3) tool designed to simplify the creation of virtual humans using a Graphical User Interface, also commonly referred to as a GUI. This is a specialized branch of the more general subject of 3D modelling. The MakeHuman Team is focused on this specific branch of the broader subject in order to achieve the best possible level of quality and ease of use in that area. The ultimate goal is to be able to quickly produce a wide array of realistic virtual humans with only a few clicks of the mouse and be able to render or export them for use in other projects.
[[File:MH&Purp NQ.jpg|center]]
Humans are created through the manipulation of controls that allow for the blending of different human attributes to create unique 3D human characters. The controls are intended to provide the user with a simple way to create characters that give expression to the widest possible range of human forms. The controllable attributes are broken into two groups: macro and detail. The macro targets deal with overall human characteristics like gender, age, height, weight and ethnicity. The detail targets allow for the character to be further refined by focusing on the low level details of such things as the eye's shape or finger's length.
The MakeHuman project strives to provide a complete tool that allows for the management of all things needed to create realistic virtual humans. This includes some tools that have not yet been created or are in the early stages of development for things like poses, animation cycles, managing facial expressions, hair and clothes. With the exception of modelling, most of these tools follow a "point and click" approach by using the MakeHuman™'s Library. Via the MakeHuman™ Library, users preview and load poses, animation cycles, facial expressions, hair, shoes and clothes onto their character. MakeHuman™ also offers tools for exporting virtual humans to other software (such as the Blender 3D modeling suite) where further refinements can be made.
MakeHuman is developed by a community of programmers, artists, academics and enthusiasts interested in 3D computer models of human beings.
af5a29ae1280a9ea2fe819d405c594ad37059381
735
676
2016-05-20T12:41:33Z
Joepal
14
wikitext
text/x-wiki
MakeHuman (MH) is Open Source software (AGPL3.0) for creating lightweight, realistic 3D models of the human form. It is designed to be easy to use and flexible. The models are based upon real data for ethnicity, sex and body type and can produce an almost limitless range of human and human-like forms. The forms can be posed and rendered in the software itself or exported into other softwares for further manipulation.
It is developed by a community of programmers, artists, academics and enthusiasts interested in 3D computer models of human beings.
MakeHuman is used to create a 3D mesh with optimized topology representing human beings with a user-controlled mix of characteristics including race, sex, size, muscularity and other features. The models thus created are integrated into one of two typical pipelines or workflows.
In the first one, MakeHuman is integrated in a professional pipeline, where the A-posed mesh is exported into a full-featured 3D CGI system such as Blender, Maya, XSI, C4D, Zbrush etc.. in order to be included in complex scenes and renderings, or used for games.
In the second pipeline the mesh is posed and clothed directly in MakeHuman, then rendered with an external engine, for 2D art or quick demo reel of a character.
225159c53f832ba4f232a55ce918fea067ae71fa
676
2016-05-20T08:00:14Z
Joepal
14
Created page with "MakeHuman (MH) is Open Source software (AGPL3.0) for creating lightweight, realistic 3D models of the human form. It is designed to be easy to use and flexible. The models are..."
wikitext
text/x-wiki
MakeHuman (MH) is Open Source software (AGPL3.0) for creating lightweight, realistic 3D models of the human form. It is designed to be easy to use and flexible. The models are based upon real data for ethnicity, sex and body type and can produce an almost limitless range of human and human-like forms. The forms can be posed and rendered in the software itself or exported into other softwares for further manipulation.
It is developed by a community of programmers, artists, academics and enthusiasts interested in 3D computer models of human beings.
MakeHuman is used to create a 3D mesh with optimized topology representing human beings with a user-controlled mix of characteristics including race, sex, size, muscularity and other features. The models thus created are integrated into one of two typical pipelines or workflows.
In the first one, MakeHuman is integrated in a professional pipeline, where the A-posed mesh is exported into a full-featured 3D CGI system such as Blender, Maya, XSI, C4D, Zbrush etc.. in order to be included in complex scenes and renderings, or used for games.
In the second pipeline the mesh is posed and clothed directly in MakeHuman, then rendered with an external engine, for 2D art or quick demo reel of a character.
This section contains high-level articles that describe the purpose and features of the MakeHuman software.
* Features-- describes the technical features of the program
* Evolution towards a Universal Model Topology: the HoMunculus-- gives an interesting background history of the development of the MakeHuman model
The MakeHuman User Documentation includes articles for installing the software and using it 'out of the box' as well as extending and/or configuring MH for your own purposes. Beginners will want to begin with the Installation sections for their computer systems and the GUI and Modelling section for using the program.
3a2e638d10f4e88cb85b4b0ef98ba4c56040de42
Documentation:What is an asset?
3000
255
771
2016-05-24T11:46:41Z
Joepal
14
Created page with "MakeHuman conceptually consist of two parts: Code (the program as such) and graphical assets. An asset is generally anything that is visible on or in regards to the human mod..."
wikitext
text/x-wiki
MakeHuman conceptually consist of two parts: Code (the program as such) and graphical assets.
An asset is generally anything that is visible on or in regards to the human model, for example:
* Target: A body morph, in practice a slider you drag inside the MakeHuman GUI
* Clothes: Various clothing you hang on the toon
* Hair: Hairstyles
* Skin: Textures you apply to the body
* Pose: A pose (for example "Sitting") you can put the toon in
There are more asset types than these, but they are the most obvious ones.
bcf11bd93267a73561974390d9e6f2c345008bef
Documentation:Zoom, pan and rotate using the orbital camera
3000
229
1106
781
2016-07-05T17:16:03Z
Aranuvir
17
wikitext
text/x-wiki
Starting with MH 1.0 there is a new orbital camera system that replaces the old still camera. This new camera addresses the issues where the old still camera made it hard to focus on body parts, for example hands. In the new system the human never moves. Rather, the camera travels on an imaginary sphere surrrounding the human. The user "mouse picks" a focal point on the human by right clicking, and zooms in and out by dragging. This allows the user to easily rotate around this point to inspect it from all sides.
== Right-click zoom picking ==
The default zoom button has been changed to the right mouse button and the use of the mouse wheel is deprecated.
[[File:mh_interface_cam.png]]
Right clicking now serves two purposes, it picks the center of focus based on the location of the cursor when it is positioned over the human, and it lets you zoom in or out by dragging the mouse. Right clicking on the background and not on the human simply makes it zoom in or out straight ahead.
== Auto-zoom ==
Another advantage of the orbital camera is that it will adapt the viewing distance based on the height of the human.
[[File:mh_grid_interface2.png]]
The camera will attempt to keep the current focus point in the center of the screen and maintain the same amount of visibility, independent of whether you are modeling a 1 year old child or a 2.5 m tall giant.
== Panning ==
The panning function of the camera has been moved to the middle mouse button (which we suspect is not available to all users) to indicate its reduced importance. Panning will be limited based on camera zoom and will even be completely locked when the camera is zoomed back so that the entire human is visible. The reasoning for this is that panning in the context of MakeHuman is only useful to focus on a feature of the human mesh, not for moving the human around in the scene. In fact we discourage excessive use of the panning feature, and encourage you to use the right click zoom picking instead. Panning is only recommended for small corrections to the framing, as it is quite tricky to position the camera center yourself (you will notice this if you try rotating the camera after having panned over a larger distance, it might not rotate around the center you expected).
== Grid ==
The grid helps with getting a better idea of the proportions of the human, and it provides a point of reference in the world when the camera is moved around.
[[File:mh_grid_interface.png]]
There are two detail levels which are activated when the camera is zoomed close enough. The grid adapts to the 'units' setting, which allows for metric and imperial units. The metric grid has subgrids each 2 cm and a main grid at 10 cm (1 dm) intervals, while the imperial grid has subgrids per inch, and a main grid with 1 foot as size.
940d478008e92470a52cc231a1cd13446fcfdd5a
781
686
2016-05-24T12:07:05Z
Joepal
14
wikitext
text/x-wiki
Starting with MH 1.0 there is a new orbital camera system that replaces the old still camera. This new camera addresses the issues where the old still camera made it hard to focus on body parts, for example hands. In the new system the human never moves. Rather, the camera travels on an imaginary sphere surrrounding the human. The user "mouse picks" a focal point on the human by right clicking, and zooms in and out by dragging. This allows the user to easily rotate around this point to inspect it from all sides.
== Right-click zoom picking ==
The default zoom button has been changed to the right mouse button and the use of the mouse wheel is deprecated.
!IMAGE!Pictures/mh_interface_cam.png!/IMAGE!
Right clicking now serves two purposes, it picks the center of focus based on the location of the cursor when it is positioned over the human, and it lets you zoom in or out by dragging the mouse. Right clicking on the background and not on the human simply makes it zoom in or out straight ahead.
== Auto-zoom ==
Another advantage of the orbital camera is that it will adapt the viewing distance based on the height of the human.
!IMAGE!Pictures/mh_grid_interface2.png!/IMAGE!
The camera will attempt to keep the current focus point in the center of the screen and maintain the same amount of visibility, independent of whether you are modeling a 1 year old child or a 2.5 m tall giant.
== Panning ==
The panning function of the camera has been moved to the middle mouse button (which we suspect is not available to all users) to indicate its reduced importance. Panning will be limited based on camera zoom and will even be completely locked when the camera is zoomed back so that the entire human is visible. The reasoning for this is that panning in the context of MakeHuman is only useful to focus on a feature of the human mesh, not for moving the human around in the scene. In fact we discourage excessive use of the panning feature, and encourage you to use the right click zoom picking instead. Panning is only recommended for small corrections to the framing, as it is quite tricky to position the camera center yourself (you will notice this if you try rotating the camera after having panned over a larger distance, it might not rotate around the center you expected).
== Grid ==
The grid helps with getting a better idea of the proportions of the human, and it provides a point of reference in the world when the camera is moved around.
!IMAGE!Pictures/mh_grid_interface.png!/IMAGE!
There are two detail levels which are activated when the camera is zoomed close enough. The grid adapts to the 'units' setting, which allows for metric and imperial units. The metric grid has subgrids each 2 cm and a main grid at 10 cm (1 dm) intervals, while the imperial grid has subgrids per inch, and a main grid with 1 foot as size.
e2b682b93b6a47a40bff2ac8608e8117c21d9950
686
2016-05-20T08:37:32Z
Joepal
14
Created page with "Starting with MH 1.0 there is a new orbital camera system that replaces the old still camera. This new camera addresses the issues where the old still camera made it hard to f..."
wikitext
text/x-wiki
Starting with MH 1.0 there is a new orbital camera system that replaces the old still camera. This new camera addresses the issues where the old still camera made it hard to focus on body parts, for example hands. In the new system the human never moves. Rather, the camera travels on an imaginary sphere surrrounding the human. The user "mouse picks" a focal point on the human by right clicking, and zooms in and out by dragging. This allows the user to easily rotate around this point to inspect it from all sides.
==== Right-click zoom picking ====
The default zoom button has been changed to the right mouse button and the use of the mouse wheel is depricated.
!IMAGE!Pictures/mh_interface_cam.png!/IMAGE!
Right clicking now serves two purposes, it picks the center of focus based on the location of the cursor when it is positioned over the human, and it lets you zoom in or out by dragging the mouse. Right clicking on the background and not on the human simply makes it zoom in or out straight ahead.
==== Auto-zoom ====
Another advantage of the orbital camera is that it will adapt the viewing distance based on the height of the human.
!IMAGE!Pictures/mh_grid_interface2.png!/IMAGE!
The camera will attempt to keep the current focus point in the center of the screen and maintain the same amount of visibility, independent of whether you are modeling a 1 year old child or a 2.5 m tall giant.
==== Panning ====
The panning function of the camera has been moved to the middle mouse button (which we suspect is not available to all users) to indicate its reduced importance. Panning will be limited based on camera zoom and will even be completely locked when the camera is zoomed back so that the entire human is visible. The reasoning for this is that panning in the context of MakeHuman is only useful to focus on a feature of the human mesh, not for moving the human around in the scene. In fact we discourage excessive use of the panning feature, and encourage you to use the right click zoom picking instead. Panning is only recommended for small corrections to the framing, as it is quite tricky to position the camera center yourself (you will notice this if you try rotating the camera after having panned over a larger distance, it might not rotate around the center you expected).
==== Grid ====
The grid helps with getting a better idea of the proportions of the human, and it provides a point of reference in the world when the camera is moved around.
!IMAGE!Pictures/mh_grid_interface.png!/IMAGE!
There are two detail levels which are activated when the camera is zoomed close enough. The grid adapts to the 'units' setting, which allows for metric and imperial units. The metric grid has subgrids each 2 cm and a main grid at 10 cm (1 dm) intervals, while the imperial grid has subgrids per inch, and a main grid with 1 foot as size.
7e67bca0ebb60d4ca59794106d0a2ef55f0bcd0d
Documentation Talk:Development infrastructure
3001
720
2123
2122
2021-07-16T09:49:17Z
Fortuna
107
It seems the page is outdated and missleading.
wikitext
text/x-wiki
It seems the page is outdated and missleading.
I found a new repository at https://github.com/makehumancommunity/makehuman
--[[User:Fortuna|Fortuna]] ([[User talk:Fortuna|talk]]) 09:49, 16 July 2021 (UTC)
b9655337db1200230774aecff38e65d21f9da2af
2122
2121
2021-07-16T09:48:08Z
Fortuna
107
It seems the page is outdated and missleading.
wikitext
text/x-wiki
It seems the page is outdated and missleading.
I found a new repository at https://github.com/makehumancommunity/makehuman
--[[User:Fortuna|Fortuna]] ([[User talk:Fortuna|talk]]) 09:48, 16 July 2021 (UTC)
d8a4276cc6d7cda43773ad33cd52e980e2c1012b
2121
2021-07-16T09:47:47Z
Fortuna
107
It seems the page is outdated and missleading.
wikitext
text/x-wiki
It seems the page is outdated and missleading.
I found a new repository at https://github.com/makehumancommunity/makehuman
--[[User:Fortuna|Fortuna]] ([[User talk:Fortuna|talk]]) 09:47, 16 July 2021 (UTC)
4568c2710481e91adc3e4f6db84f2f6c47c78ec9
Documentation Talk:Exports and file formats
3001
256
784
783
2016-05-24T21:03:10Z
Joepal
14
wikitext
text/x-wiki
Note that there is considerable overlap between this section and what I have already done in the workflows section. Perhaps they can be combined?
SEE http://www.makehumancommunity.org/wiki/MakeHuman_Workflows
Particularly for the 3DSMax and Maya sections there is stuff populated that is not available here yet. Perhaps it is of use?
http://www.makehumancommunity.org/wiki/MakeHuman_Workflows#Moving_Assets_into_Autodesk_Maya
http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax
Joel: Yes, I thought I had written about that in the comments I wrote in [[Documentation:Planning on how to restructure the documentation]], but it seems I must've missed saving that section. I think we should move the workflows articles largely as-is so that they instead end up as parts of the documentation. Those, the terminology and possibly the video tutorials.
0aa96aaf56538da086f4eae8e5c87b71b6ccbd69
783
2016-05-24T15:03:23Z
Robbaer
12
Some assets for this section are really already in existance and could be tweaked or imporved instead of rewritten from scratch?
wikitext
text/x-wiki
Note that there is considerable overlap between this section and what I have already done in the workflows section. Perhaps they can be combined?
SEE http://www.makehumancommunity.org/wiki/MakeHuman_Workflows
Particularly for the 3DSMax and Maya sections there is stuff populated that is not available here yet. Perhaps it is of use?
http://www.makehumancommunity.org/wiki/MakeHuman_Workflows#Moving_Assets_into_Autodesk_Maya
http://www.makehumancommunity.org/wiki/Moving_Assets_into_Autodesk_3DSMax
78740662d94bbfcc37df704416a8a5dff72dda9e
Documentation Talk:Index
3001
145
485
484
2015-08-29T09:38:47Z
Fairytail
16
/* Formatting */
wikitext
text/x-wiki
== Suggested Use ==
: Please see Help:Talk pages for how to edit talk pages. Robbaer has commented on his talk page that a common look and feel would make this wiki better. Should we use this talk page to discuss ideas for general editing policies?
== Policy Discussion ==
: Formatting pages - images on left, text on right, or vice versa.
: Oh, and I prefer to indent discussions from the start.
: Please sign talk page edits [[User:Fairytail|Fairytail]] ([[User talk:Fairytail|talk]]) 23:00, 15 August 2015 (CEST)
== Formatting ==
: I've tidied up the formatting. Please use <nowiki><br /></nowiki> tags within lists to get a new line, otherwise the formatting breaks. Also, please be aware of spaces within tags, otherwise subpages will start with an underscore. [[User:Fairytail|Fairytail]] ([[User talk:Fairytail|talk]]) 10:37, 29 August 2015 (CEST)
:: For a simple way to see the status of a section, i've taken joepal's formatting, and extended it, using a green color for completed sections (#E6EEE6), grey for in progress (#EEEEEE), and red for (#EEE6E6) for sections to be done. Begin a section with<pre>{| cellspacing="11" style="width:100%;"|-style="vertical-align:top;"| style="width:33%;background-color: #E6E6E6; padding:.5em;"|</pre> and close it with <pre>|}</pre>[[User:Fairytail|Fairytail]] ([[User talk:Fairytail|talk]]) 11:38, 29 August 2015 (CEST)
dc4d479a798b7c4312abbea0f4a6271df61a33fb
484
474
2015-08-29T09:38:23Z
Fairytail
16
/* Formatting */
wikitext
text/x-wiki
== Suggested Use ==
: Please see Help:Talk pages for how to edit talk pages. Robbaer has commented on his talk page that a common look and feel would make this wiki better. Should we use this talk page to discuss ideas for general editing policies?
== Policy Discussion ==
: Formatting pages - images on left, text on right, or vice versa.
: Oh, and I prefer to indent discussions from the start.
: Please sign talk page edits [[User:Fairytail|Fairytail]] ([[User talk:Fairytail|talk]]) 23:00, 15 August 2015 (CEST)
== Formatting ==
: I've tidied up the formatting. Please use <nowiki><br /></nowiki> tags within lists to get a new line, otherwise the formatting breaks. Also, please be aware of spaces within tags, otherwise subpages will start with an underscore. [[User:Fairytail|Fairytail]] ([[User talk:Fairytail|talk]]) 10:37, 29 August 2015 (CEST)
:: For a simple way to see the status of a section, i've taken joepal's formatting, and extended it, using a green color for completed sections (#E6EEE6), grey for in progress (#EEEEEE), and red for (#EEE6E6) for sections to be done. Begin a section with<pre>{| cellspacing="11" style="width:100%;"|-style="vertical-align:top;"| style="width:33%;background-color: #E6E6E6; padding:.5em;"|</pre> and close it with <pre>|}</pre>
a6c7043e04c7d93e3ae006a1c950cd4db48e0e05
474
407
2015-08-29T08:38:10Z
Fairytail
16
wikitext
text/x-wiki
== Suggested Use ==
: Please see Help:Talk pages for how to edit talk pages. Robbaer has commented on his talk page that a common look and feel would make this wiki better. Should we use this talk page to discuss ideas for general editing policies?
== Policy Discussion ==
: Formatting pages - images on left, text on right, or vice versa.
: Oh, and I prefer to indent discussions from the start.
: Please sign talk page edits [[User:Fairytail|Fairytail]] ([[User talk:Fairytail|talk]]) 23:00, 15 August 2015 (CEST)
== Formatting ==
: I've tidied up the formatting. Please use <nowiki><br /></nowiki> tags within lists to get a new line, otherwise the formatting breaks. Also, please be aware of spaces within tags, otherwise subpages will start with an underscore. [[User:Fairytail|Fairytail]] ([[User talk:Fairytail|talk]]) 10:37, 29 August 2015 (CEST)
751ae680f9af0e94c9c0a71efc45b6d5239d67ae
407
381
2015-08-15T21:02:43Z
Fairytail
16
Should we use this talk page to discuss ideas for general editing policies.
wikitext
text/x-wiki
== Suggested Use ==
: Please see Help:Talk pages for how to edit talk pages. Robbaer has commented on his talk page that a common look and feel would make this wiki better. Should we use this talk page to discuss ideas for general editing policies?
== Policy Discussion ==
: Formatting pages - images on left, text on right, or vice versa.
: Oh, and I prefer to indent discussions from the start.
: Please sign talk page edits [[User:Fairytail|Fairytail]] ([[User talk:Fairytail|talk]]) 23:00, 15 August 2015 (CEST)
7ff16a47abba2cf1d76bc9ddd3193ccb32224fc9
381
2015-08-13T11:31:02Z
Joepal
14
Created page with "Talk page."
wikitext
text/x-wiki
Talk page.
690fb75a475d44437467a8457b137eeb863d7416
Documentation Talk:MHBlenderTools: MakeTarget
3001
162
405
2015-08-15T20:24:50Z
Fairytail
16
Created page with "== Editing MHBlenderTools: MakeTarget == : This is a work in progress. ~~~~"
wikitext
text/x-wiki
== Editing MHBlenderTools: MakeTarget ==
: This is a work in progress. [[User:Fairytail|Fairytail]] ([[User talk:Fairytail|talk]]) 22:24, 15 August 2015 (CEST)
35308daa10e9eb5eaad952ac8757842014ca8a29
Documentation Talk:OpenGL Notes
3001
569
1535
2018-12-01T09:51:27Z
Robbaer
12
Created page with "I am pretty sure makehuman only uses orthographic mode not perspective mode."
wikitext
text/x-wiki
I am pretty sure makehuman only uses orthographic mode not perspective mode.
a570aa50923100062fdd7b1290507daed798e80f
Documentation Talk:Saving models for Unreal Engine and how to import them there
3001
583
2120
2035
2021-07-11T10:54:32Z
Fortuna
107
Armature bone name correction
wikitext
text/x-wiki
== Eye materials ==
Different configuration: Set Blend Mode to Masked, Connect A toOpacity Mask, add Roughness Parameter and set it to 0.15.
The difference can be seen in the following picture. Left side masked with specular highlights and right translucent where specular can't be applied:
[[File:eyes_maskedspecular_vs_translucent.jpg]]
Material details: [[File:Ue4-26-eye-material.JPG]]
--[[User:Fortuna|Fortuna]] ([[User talk:Fortuna|talk]]) 07:46, 26 January 2021 (UTC)
Thanks a lot this ha been added to the page.
--[[User:Assetdk|Assetdk]] ([[User talk:Assetdk|talk]]) 08:09, 20 February 2021 (UTC)
== Teeth materials ==
Different configuration: Set Blend Mode to Masked, Connect A toOpacity Mask, add Roughness Parameter and set it to 0.3
Material configuration:
[[File:Ue4-26-teeth-material.jpg]]
--[[User:Fortuna|Fortuna]] ([[User talk:Fortuna|talk]]) 08:45, 26 January 2021 (UTC)
== main_root bone ==
Instead of main_root the node should be named Armature.
Source: https://answers.unrealengine.com/questions/725257/tutorial-how-to-remove-extra-root-bone-from-blende.html
--[[User:Fortuna|Fortuna]] ([[User talk:Fortuna|talk]]) 10:54, 11 July 2021 (UTC)
dbc65a3c7afb43c0c5849d43218ca4716c6c4981
2035
2005
2021-02-20T08:10:09Z
Assetdk
89
/* Eye materials */
wikitext
text/x-wiki
== Eye materials ==
Different configuration: Set Blend Mode to Masked, Connect A toOpacity Mask, add Roughness Parameter and set it to 0.15.
The difference can be seen in the following picture. Left side masked with specular highlights and right translucent where specular can't be applied:
[[File:eyes_maskedspecular_vs_translucent.jpg]]
Material details: [[File:Ue4-26-eye-material.JPG]]
--[[User:Fortuna|Fortuna]] ([[User talk:Fortuna|talk]]) 07:46, 26 January 2021 (UTC)
Thanks a lot this ha been added to the page.
--[[User:Assetdk|Assetdk]] ([[User talk:Assetdk|talk]]) 08:09, 20 February 2021 (UTC)
== Teeth materials ==
Different configuration: Set Blend Mode to Masked, Connect A toOpacity Mask, add Roughness Parameter and set it to 0.3
Material configuration:
[[File:Ue4-26-teeth-material.jpg]]
--[[User:Fortuna|Fortuna]] ([[User talk:Fortuna|talk]]) 08:45, 26 January 2021 (UTC)
1829bcad8bbe58e9830f3433304b754ea29e95db
2005
2004
2021-01-26T08:52:37Z
Fortuna
107
/* Eye materials */
wikitext
text/x-wiki
== Eye materials ==
Different configuration: Set Blend Mode to Masked, Connect A toOpacity Mask, add Roughness Parameter and set it to 0.15.
The difference can be seen in the following picture. Left side masked with specular highlights and right translucent where specular can't be applied:
[[File:eyes_maskedspecular_vs_translucent.jpg]]
Material details: [[File:Ue4-26-eye-material.JPG]]
--[[User:Fortuna|Fortuna]] ([[User talk:Fortuna|talk]]) 07:46, 26 January 2021 (UTC)
== Teeth materials ==
Different configuration: Set Blend Mode to Masked, Connect A toOpacity Mask, add Roughness Parameter and set it to 0.3
Material configuration:
[[File:Ue4-26-teeth-material.jpg]]
--[[User:Fortuna|Fortuna]] ([[User talk:Fortuna|talk]]) 08:45, 26 January 2021 (UTC)
9186bf7e5639a5ca45a0148b137b2ec4c4c93a61
2004
2003
2021-01-26T08:46:24Z
Fortuna
107
/* Teeth materials */
wikitext
text/x-wiki
== Eye materials ==
Different configuration: Set Blend Mode to Masked, Connect A toOpacity Mask, add Roughness Parameter and set it to 0.1
The difference can be seen in the following picture. Left side masked with specular highlights and right translucent where specular can't be applied:
[[File:eyes_maskedspecular_vs_translucent.jpg]]
Material details: [[File:Ue4-26-eye-material.JPG]]
--[[User:Fortuna|Fortuna]] ([[User talk:Fortuna|talk]]) 07:46, 26 January 2021 (UTC)
== Teeth materials ==
Different configuration: Set Blend Mode to Masked, Connect A toOpacity Mask, add Roughness Parameter and set it to 0.3
Material configuration:
[[File:Ue4-26-teeth-material.jpg]]
--[[User:Fortuna|Fortuna]] ([[User talk:Fortuna|talk]]) 08:45, 26 January 2021 (UTC)
bb92521f42b2c07083ef096101e1432b6f1b8fc5
2003
1999
2021-01-26T08:46:04Z
Fortuna
107
Teeth materials details for UE4.26 added.
wikitext
text/x-wiki
== Eye materials ==
Different configuration: Set Blend Mode to Masked, Connect A toOpacity Mask, add Roughness Parameter and set it to 0.1
The difference can be seen in the following picture. Left side masked with specular highlights and right translucent where specular can't be applied:
[[File:eyes_maskedspecular_vs_translucent.jpg]]
Material details: [[File:Ue4-26-eye-material.JPG]]
--[[User:Fortuna|Fortuna]] ([[User talk:Fortuna|talk]]) 07:46, 26 January 2021 (UTC)
== Teeth materials ==
Different configuration: Set Blend Mode to Masked, Connect A toOpacity Mask, add Roughness Parameter and set it to 0.4
Material configuration:
[[File:Ue4-26-teeth-material.jpg]]
--[[User:Fortuna|Fortuna]] ([[User talk:Fortuna|talk]]) 08:45, 26 January 2021 (UTC)
bbf59eb38f28012298073e6271984d742a2acd86
1999
1988
2021-01-26T07:47:28Z
Fortuna
107
Eye material details added.
wikitext
text/x-wiki
== Eye materials ==
Different configuration: Set Blend Mode to Masked, Connect A toOpacity Mask, add Roughness Parameter and set it to 0.1
The difference can be seen in the following picture. Left side masked with specular highlights and right translucent where specular can't be applied:
[[File:eyes_maskedspecular_vs_translucent.jpg]]
Material details: [[File:Ue4-26-eye-material.JPG]]
--[[User:Fortuna|Fortuna]] ([[User talk:Fortuna|talk]]) 07:46, 26 January 2021 (UTC)
== Teeth materials ==
Different configuration: Set Blend Mode to Masked, Connect A toOpacity Mask, add Roughness Parameter and set it to 0.4
--[[User:Fortuna|Fortuna]] ([[User talk:Fortuna|talk]]) 06:27, 19 January 2021 (UTC)
e34de15113cea4872189e588199aa1ddd2394c73
1988
1986
2021-01-19T06:49:39Z
Fortuna
107
Example image
wikitext
text/x-wiki
== Eye materials ==
Different configuration: Set Blend Mode to Masked, Connect A toOpacity Mask, add Roughness Parameter and set it to 0.1
The difference can be seen in the following picture. Left side masked with specular highlights and right translucent where specular can't be applied:
[[File:eyes_maskedspecular_vs_translucent.jpg]]
--[[User:Fortuna|Fortuna]] ([[User talk:Fortuna|talk]]) 06:27, 19 January 2021 (UTC)
== Teeth materials ==
Different configuration: Set Blend Mode to Masked, Connect A toOpacity Mask, add Roughness Parameter and set it to 0.4
--[[User:Fortuna|Fortuna]] ([[User talk:Fortuna|talk]]) 06:27, 19 January 2021 (UTC)
cbd13034826b3fcaff77abb561642003fd181f35
1986
1635
2021-01-19T06:27:18Z
Fortuna
107
Eye and teeth material suggestion
wikitext
text/x-wiki
== Eye materials ==
Different configuration: Set Blend Mode to Masked, Connect A toOpacity Mask, add Roughness Parameter and set it to 0.1
--[[User:Fortuna|Fortuna]] ([[User talk:Fortuna|talk]]) 06:27, 19 January 2021 (UTC)
== Teeth materials ==
Different configuration: Set Blend Mode to Masked, Connect A toOpacity Mask, add Roughness Parameter and set it to 0.4
--[[User:Fortuna|Fortuna]] ([[User talk:Fortuna|talk]]) 06:27, 19 January 2021 (UTC)
b4697bf86270ab32c0770d6f6d9e23dcd80831d6
1635
2020-02-17T18:26:24Z
Assetdk
89
Created page with "Please add your comments here or add your own sections and links on the "main page"."
wikitext
text/x-wiki
Please add your comments here or add your own sections and links on the "main page".
7ea2d1af0050b95ebde9002728b434ffc549ee7f
FAQ:Can I create a commercial closed source game with models generated by MakeHuman?
3002
40
99
2015-07-10T09:57:53Z
Joepal
14
Created page with "See [[FAQ:Can I sell models created with MakeHuman?]]"
wikitext
text/x-wiki
See [[FAQ:Can I sell models created with MakeHuman?]]
35088bf10f86e19f333ed46226c0167aae08c761
FAQ:Can I export an asset from Blender and get it back into MakeHuman?
3002
519
1381
1380
2017-03-27T21:02:09Z
Robbaer
12
wikitext
text/x-wiki
Short answer: No, not for typical workflows.
The .mhx2 format, so far, has only one exporter (and it is for MakeHuman) and only one importer (and it is for Blender). You can go from MakeHuman to Blender, but not back again to MakeHuman with .mhx2. You can save what you do in Blender, of course, as .blend files, but MakeHuman can not read these either. If you want to use the .blend file on another computer, consider using the [ File | External data | pack all into .blend ] menu in Blender so that your textures follow you automatically to the second computer.
If you want to go from MakeHuman to Blender for the animator, then get feedback from her (the animator), and then make changes specified by the animator, you should save the MakeHuman file as both an .mhm file which saves what you have in the MakeHuman interface, and as .mhx2 which can be read by Blender. You can start from where you left off with the .mhm, make the changes specified by the animator, and then create a NEW .mhx2 for her. You cannot take changes the animator has made in Blender and get them back into MakeHuman. Not possible with any file format. That is not how MakeHuman works. It is not a regular 3D modeling program. It is the initial program in a workflow chain. Once you have moved to Blender (or Max or Maya) you are stuck there.
The one other thing you might want to do is make clothes that you can put on different characters in MakeHuman. This you CAN get back into MakeHuman with some work, but the format is NOT .mhx2. You use the MakeClothes plugin in Blender to produce the clothes, and they are saved from that plugin in a form that can be used directly by MakeHuman. There is documentation on the MakeClothes plugin here, and there are many user contributed assets made with it on the community assets page. See http://www.makehumancommunity.org/conte ... ssets.html for these assets.
See this documentation for making your own assets:
http://www.makehumancommunity.org/wiki/ ... new_assets
http://www.makehumancommunity.org/wiki/ ... _tutorials
654b9f08aa715c0e8aaa2f14f64979482284c17b
1380
2017-03-27T21:01:19Z
Robbaer
12
MakeHuman sits upstream of Blender in most workflows, and Blender files can not be directly imported into MakeHuman in any format.
wikitext
text/x-wiki
Short answer: No.
The .mhx2 format, so far, has only one exporter (and it is for MakeHuman) and only one importer (and it is for Blender). You can go from MakeHuman to Blender, but not back again to MakeHuman with .mhx2. You can save what you do in Blender, of course, as .blend files, but MakeHuman can not read these either. If you want to use the .blend file on another computer, consider using the [ File | External data | pack all into .blend ] menu in Blender so that your textures follow you automatically to the second computer.
If you want to go from MakeHuman to Blender for the animator, then get feedback from her (the animator), and then make changes specified by the animator, you should save the MakeHuman file as both an .mhm file which saves what you have in the MakeHuman interface, and as .mhx2 which can be read by Blender. You can start from where you left off with the .mhm, make the changes specified by the animator, and then create a NEW .mhx2 for her. You cannot take changes the animator has made in Blender and get them back into MakeHuman. Not possible with any file format. That is not how MakeHuman works. It is not a regular 3D modeling program. It is the initial program in a workflow chain. Once you have moved to Blender (or Max or Maya) you are stuck there.
The one other thing you might want to do is make clothes that you can put on different characters in MakeHuman. This you CAN get back into MakeHuman with some work, but the format is NOT .mhx2. You use the MakeClothes plugin in Blender to produce the clothes, and they are saved from that plugin in a form that can be used directly by MakeHuman. There is documentation on the MakeClothes plugin here, and there are many user contributed assets made with it on the community assets page. See http://www.makehumancommunity.org/conte ... ssets.html for these assets.
See this documentation for making your own assets:
http://www.makehumancommunity.org/wiki/ ... new_assets
http://www.makehumancommunity.org/wiki/ ... _tutorials
ee491bf1d2084a5cb83d685f89cd843a883f3f23
FAQ:Can I sell models created with MakeHuman?
3002
39
2077
1432
2021-04-16T13:47:27Z
Joepal
14
wikitext
text/x-wiki
Yes.
From the license section that applies to the exported models:
You can copy, modify, distribute and perform the work, even for commercial purposes, all without asking permission.
The exported models end up being licensed [https://creativecommons.org/publicdomain/zero/1.0/ CC0 (Creative Commons Zero)]. This is basically the most liberal license in the world, and for all practical purposes it places no restrictions on the licensee.
The full license text is available at https://github.com/makehumancommunity/makehuman/blob/master/LICENSE.md
== Other formulations of the same question ==
As it has proven somewhat difficult for new users to understand that CC0 means you can do whatever you want with the export, here are some other formulations of the same question:
'''Can I use exported models in a closed-source game?'''
Yes
'''Can I use exported models in video productions?'''
Yes
'''Can I modify exported models?'''
Yes
'''Can I re-use and/or sell parts of the export, such as textures?'''
Yes
'''Do I have to say where I got the exported model from?'''
No (but also read [[FAQ:What do I need to do when I use a CC-BY asset?]])
'''Do I have to pay anything to use the exported model in a commercial setting?'''
No
'''Do I need a separate commercial license in order to use exported models in a commercial setting?'''
No
2e8f82d03778431423e2f81d38a00e2e9834aca3
1432
1416
2017-08-20T08:57:12Z
Joepal
14
wikitext
text/x-wiki
Yes.
From the license section that applies to the exported models:
You can copy, modify, distribute and perform the work, even for commercial purposes, all without asking permission.
With all normal usage of MakeHuman (i.e using the GUI in any way you can think of), the exported models end up being licensed [https://creativecommons.org/publicdomain/zero/1.0/ CC0 (Creative Commons Zero)]. This is basically the most liberal license in the world, and for all practical purposes it places no restrictions on the licensee.
For a more thorough explanation of the license setup, please read http://www.makehuman.org/license_explanation.php
(the full license text is available at http://www.makehuman.org/license.php)
== Other formulations of the same question ==
As it has proven somewhat difficult for new users to understand that CC0 means you can do whatever you want with the export, here are some other formulations of the same question:
'''Can I use exported models in a closed-source game?'''
Yes
'''Can I use exported models in video productions?'''
Yes
'''Can I modify exported models?'''
Yes
'''Can I re-use and/or sell parts of the export, such as textures?'''
Yes
'''Do I have to say where I got the exported model from?'''
No (but also read [[FAQ:What do I need to do when I use a CC-BY asset?]])
'''Do I have to pay anything to use the exported model in a commercial setting?'''
No
'''Do I need a separate commercial license in order to use exported models in a commercial setting?'''
No
2f88a4181a01dcaf9e371243b59ca4a956f385f9
1416
1016
2017-08-20T07:52:15Z
Joepal
14
wikitext
text/x-wiki
Yes.
From the license section that applies to the exported models:
You can copy, modify, distribute and perform the work, even for commercial purposes, all without asking permission.
With all normal usage of MakeHuman (i.e using the GUI in any way you can think of), the exported models end up being licensed [https://creativecommons.org/publicdomain/zero/1.0/ CC0 (Creative Commons Zero)]. This is basically the most liberal license in the world, and for all practical purposes it places no restrictions on the licensee.
For a more thorough explanation of the license setup, please read http://www.makehuman.org/license_explanation.php
(the full license text is available at http://www.makehuman.org/license.php)
== Other formulations of the same question ==
As it has proven somewhat difficult for new users to understand that CC0 means you can do whatever you want with the export, here are some other formulations of the same question:
'''Can I use exported models in a closed-source game?'''
Yes
'''Can I use exported models in video productions?'''
Yes
'''Can I modify exported models?'''
Yes
'''Can I re-use and/or sell parts of the export, such as textures?'''
Yes
'''Do I have to say where I got the exported model from?'''
No (but also read [[FAQ:What do I need to do when I use a CC-BY asset?]])
'''Do I have to pay anything to use the exported model in a commercial setting?'''
No
'''Do I need a separate commercial license in order to use exported models in a commercial setting?'''
No
641b8393e6d3bb14fdf8b8ce5e3f8c17fbbc2ce4
1016
1015
2016-06-28T06:36:22Z
Joepal
14
wikitext
text/x-wiki
Yes.
From the license section that applies to the exported models:
You can copy, modify, distribute and perform the work, even for commercial purposes, all without asking permission.
With all normal usage of MakeHuman (i.e using the GUI in any way you can think of), the exported models end up being licensed [https://creativecommons.org/publicdomain/zero/1.0/ CC0 (Creative Commons Zero)]. This is basically the most liberal license in the world, and for all practical purposes it places no restrictions on the licensee.
For a more thorough explanation of the license setup, please read http://www.makehuman.org/license_explanation.php
(the full license text is available at http://www.makehuman.org/license.php)
2855ef5577a25f7c81cf39ac615dad7570398956
1015
98
2016-06-28T06:04:37Z
Joepal
14
wikitext
text/x-wiki
Yes.
From the license section that applies to the exported models:
You can copy, modify, distribute and perform the work, even for commercial purposes, all without asking permission.
With all normal usage of MakeHuman (i.e basically using the GUI in any way you can think of), the exported models end up being licensed [https://creativecommons.org/publicdomain/zero/1.0/ CC0 (Creative Commons Zero)]. This is basically the most liberal license in the world, and for all practical purposes it places no restrictions on the licensee.
For a more thorough explanation of the license setup, please read http://www.makehuman.org/license_explanation.php
(the full license text is available at http://www.makehuman.org/license.php)
2216e8384ab218fcd2ff56d6ddf1640fae561501
98
2015-07-10T09:57:06Z
Joepal
14
Created page with "Yes. By respecting a set of simple conditions you can export our models under CC0 (the most liberal license in the world). For a more thorough explanation, please read http:/..."
wikitext
text/x-wiki
Yes.
By respecting a set of simple conditions you can export our models under CC0 (the most liberal license in the world). For a more thorough explanation, please read http://www.makehuman.org/license_explanation.php
(the full license text is available at http://www.makehuman.org/license.php)
d83ed835ca140d6191b2cd0eb3588aec97c74527
FAQ:Can I use the stable version and the nightly build at the same time?
3002
531
1408
1407
2017-07-13T11:04:41Z
Joepal
14
wikitext
text/x-wiki
Yes. Care has been taken to separate the home directories so that they do not interfere with each other.
In practice, everything related to the nightly build will be placed in HOME/makehuman/v1py3 where as the stable release will place stuff under HOME/makehuman/v1.
The downside is that assets downloaded for the stable version will not show up in the nightly and vice versa. If you copy stuff between the directories please take care to ''not copy the NPZ files''. These are generated the first time the asset is loaded, and are incompatible between the code versions.
355d08925c7504c6169942bf900edd987d58e859
1407
2017-07-13T11:03:42Z
Joepal
14
Created page with "Yes. Care has been taken to separate the home directories so that they do not interfere with each other. In practice, everything related to the nightly build will be placed..."
wikitext
text/x-wiki
Yes. Care has been taken to separate the home directories so that they do not interfere with each other.
In practice, everything related to the nightly build will be placed in HOME/makehuman/v1py3 where as the stable release will place stuff under HOME/makehuman/v1.
The downside is that assets downloaded for the stable version will not show up in the nightly and vice versa. If you copy stuff between the directories please take care to **not copy the NPZ files**. These are generated the first time the asset is loaded, and are incompatible between the code versions.
721c3771d702667011576563264115b9f6b2b51a
FAQ:Do you have some quick tips on how to make a nice image with a makehuman toon?
3002
484
1181
2016-09-06T15:35:28Z
Joepal
14
Created page with "Making a nice 3d image takes skill. There is no way around it: You'll need to know what to do, and be good at it. However, there are also some basic pointers which may be he..."
wikitext
text/x-wiki
Making a nice 3d image takes skill. There is no way around it: You'll need to know what to do, and be good at it.
However, there are also some basic pointers which may be helpful when starting out.
* Consider using a specific proxy for male/female (it particularly helps with the clavicle in female)
* Set the "default no toes" skeleton in MH before exporting
* Export/import using MHX2
* When importing using MHX2, override presets and set rig to "exported MHX". This way you get good weight painting *and* IK.
* Use the cycles rendering mode in blender
* Enable at least two subdivisions on the body at render time
* Use lots of light with at least one narrow direct light source to provide interesting shadows, and plenty of indirectly bounced light in order to make things not too sharp
* Do not use light capping or filter glossy. Using these shortens render times significantly, but it also removes crispness from the final render.
* Increase light bouncing to the preset "full global illumination"
* Consider mixing in SSS in the skin texture. Follow a tutorial from youtube to get a decent node setup
* Read https://support.solidangle.com/display/NodeRef/skin to understand what else can be done for skins
* For materials on clothes and surroundings, consider using PBR rather than the normal diffuse-glossy-fresnel mix. See https://www.blenderguru.com/tutorials/pbr-shader-tutorial-pt1/ for an intro. There are plenty of plugins/materials to download, so you don't have to design them yourself.
* If you got lots and lots of patience, consider using particle hair. See http://www.blendernation.com/2016/08/09/blender-cycles-hair-tutorial/
* Most of what is true for photo composition is also true for making a good 3d still image, see http://www.techradar.com/how-to/photography-video-capture/cameras/10-rules-of-photo-composition-and-why-they-work-1320770
907ef3d66344fd480c7327556ffa02653a0f2953
FAQ:Does "alpha" mean it is dangerous to use?
3002
575
1605
2019-09-21T08:59:25Z
Joepal
14
Created page with "No. Not in the case of MakeHuman at least. "Alpha", "Beta" and "Release candidate" are just labels. In the case of MakeHuman: * Alpha: there are unfinished features that we..."
wikitext
text/x-wiki
No. Not in the case of MakeHuman at least.
"Alpha", "Beta" and "Release candidate" are just labels. In the case of MakeHuman:
* Alpha: there are unfinished features that we know we want to put in, or something we know we want to fix
* Beta: everything has been added to our knowledge, but we want to polish things a bit
* Release candidate: to our knowledge, everything is finished, but we want to test more
Traditionally, the alpha for the next upcoming makehuman release has been ''more stable'' than the last stable release.
At the point of writing this, MakeHuman is in the alpha stage for 1.2.0. Minus two points, MakeHuman Community alpha 3 is in most ways a better user experience than MakeHuman 1.1.1. The two things that are missing are:
* The FBX export has problem with rigs
* On some graphics cards, MakeHuman refuses to start
So, in summary: If MakeHuman 1.2.0 alpha 3 starts on your graphics card and you have no immediate need of FBX exports, then there's no reason to stick to 1.1.1 for fear of instabilities. 1.2.0 is fully backwards compatible with 1.1.1.
8512a406086c5ab7803d1f512975ac6c9be38dfa
FAQ:Eyes are rendered completely white (or black) in blender
3002
207
1590
548
2019-04-14T08:21:56Z
Polylearn
80
Add new links for cycles material converter plugins
wikitext
text/x-wiki
== The problem ==
[[File:Alphachannel1.png|thumb|left]]
If you have made an import via Collada, you will soon find that some textures are not working properly. Specifically, eyes will look odd.
The problem is that Collada blender import isn't bright enough to recognize that textures can have transparency. This needs to be fixed up manually after import.
This guide is only relevant for Collada. If you use [https://bitbucket.org/ThomasMakeHuman/mhx2-makehuman-exchange MHX2] for example, these things are handled automatically.
The resolution is somewhat different depending on whether you use Blender Internal or Cycles.
<br clear=all>
== Blender internal ==
If you made the import while in Blender Internal mode, the materials are set up largely correct. All that needs to be done is to enable the transparency.
Select the mesh (for example the eyes) which is misbehaving, and go to the materials tab. Here enable transparency and move the alpha slider to 0.
[[File:Alphachannel2.png|thumb|left]]
<br clear=all>
In the texture tab mark that the texture should influence the transparency of the material
[[File:Alphachannel3.png|thumb|left]]
<br clear=all>
== Cycles ==
In cycles, you probably have larger problems, since the Blender Collada importer seem to have no concept at all of nodes-based materials. So you will have to set up the materials manually.
It is usually a better idea to import in blender internal mode and then switch to cycles, with or without using something like [http://wiki.blender.org/index.php/Extensions:2.6/Py/Scripts/System/Convert_Materials_to_Cycles the Convert Materials to Cycles] plugin. This was superseded in 2016 by the [https://developer.blender.org/T48642 Material Utils Addon] but the last update of the original converter plugin can be found in [https://developer.blender.org/diffusion/BAC/browse/master/materials_cycles_converter.py;3f433bbe91fdbb65feebdccc5b868a8df5be50a5?view= this rBAC commit].
In any which way, a reasonable basic setup for the eye texture would look like this with nodes:
[[File:Alphachannel5.png]]
<br clear=all>
You might want to add glossy shaders etc, but with this setup at least the texture will look ok.
== Results ==
Having done the above, the eyebrows and eyes (which are the usual suspects) will start to behave in renders:
[[File:Alphachannel6.png|thumb|left|400px]]
75db36ac869eef07451553ec32991fc662308e57
548
2015-11-01T12:15:44Z
Joepal
14
Created page with "== The problem == [[File:Alphachannel1.png|thumb|left]] If you have made an import via Collada, you will soon find that some textures are not working properly. Specifically,..."
wikitext
text/x-wiki
== The problem ==
[[File:Alphachannel1.png|thumb|left]]
If you have made an import via Collada, you will soon find that some textures are not working properly. Specifically, eyes will look odd.
The problem is that Collada blender import isn't bright enough to recognize that textures can have transparency. This needs to be fixed up manually after import.
This guide is only relevant for Collada. If you use [https://bitbucket.org/ThomasMakeHuman/mhx2-makehuman-exchange MHX2] for example, these things are handled automatically.
The resolution is somewhat different depending on whether you use Blender Internal or Cycles.
<br clear=all>
== Blender internal ==
If you made the import while in Blender Internal mode, the materials are set up largely correct. All that needs to be done is to enable the transparency.
Select the mesh (for example the eyes) which is misbehaving, and go to the materials tab. Here enable transparency and move the alpha slider to 0.
[[File:Alphachannel2.png|thumb|left]]
<br clear=all>
In the texture tab mark that the texture should influence the transparency of the material
[[File:Alphachannel3.png|thumb|left]]
<br clear=all>
== Cycles ==
In cycles, you probably have larger problems, since the Blender Collada importer seem to have no concept at all of nodes-based materials. So you will have to set up the materials manually.
It is usually a better idea to import in blender internal mode and then switch to cycles, with or without using something like [http://wiki.blender.org/index.php/Extensions:2.6/Py/Scripts/System/Convert_Materials_to_Cycles the Convert Materials to Cycles] plugin.
In any which way, a reasonable basic setup for the eye texture would look like this with nodes:
[[File:Alphachannel5.png]]
<br clear=all>
You might want to add glossy shaders etc, but with this setup at least the texture will look ok.
== Results ==
Having done the above, the eyebrows and eyes (which are the usual suspects) will start to behave in renders:
[[File:Alphachannel6.png|thumb|left|400px]]
bde1efd22e08fa68880c1d8e190e686b0ea7f175
FAQ:How can I build MakeHuman from source?
3002
38
1603
1295
2019-09-15T15:56:25Z
Joepal
14
wikitext
text/x-wiki
You don't. Makehuman is a pure python application and does not need to be built.
However, if you want to run makehuman directly from a source download, you will need to install some dependencies.
Please see [[FAQ: How can I run the same code as the nightly build from source?]]
574ea9285492f391cb874202639a2f291e5c44cc
1295
503
2017-02-01T08:05:49Z
Aranuvir
17
wikitext
text/x-wiki
You don't. Makehuman is a pure python application and does not need to be built.
However, if you want to run makehuman directly from a source download, you will need to install some dependencies.
Please see [[Documentation:Running_MakeHuman_from_source|Running MakeHuman from Source]]
34552984a220cd70fda34796004c5452372f78a4
503
97
2015-08-30T08:29:22Z
Joepal
14
wikitext
text/x-wiki
You don't. Makehuman is a pure python application and does not need to be built.
However, if you want to run makehuman directly from a source download, you will need to install some dependencies.
Please see [[FAQ:How can I run MakeHuman from a BitBucket source clone?]]
16d4dc2bddb1bf17a9dd5e3ff3fdbfcc70f9b257
97
2015-07-10T09:53:14Z
Joepal
14
Created page with "You don't. Makehuman is a pure python application and does not need to be built. However, if you want to run makehuman directly from a source download, you will need to insta..."
wikitext
text/x-wiki
You don't. Makehuman is a pure python application and does not need to be built.
However, if you want to run makehuman directly from a source download, you will need to install some dependencies.
Please see the relevant documentation page at:
BROKEN LINK AFTER MOVE TO WIKI, UPDATE WITH CORRECT DOC REFERENCE
4c4cf2e09fd8bb3c327adf84ddb809542bcac12c
FAQ:How can I create a thumbnail file?
3002
515
1293
2017-01-25T14:33:39Z
Aranuvir
17
Created page with "Thumbnail files for assets, are PNG-files that are renamed from ''filename.png'' to ''filename.thumb''. The default resolution is 128x128, though another resolution should wor..."
wikitext
text/x-wiki
Thumbnail files for assets, are PNG-files that are renamed from ''filename.png'' to ''filename.thumb''. The default resolution is 128x128, though another resolution should work, too. Of course, the thumbnail file must be in the same folder as the asset and must be named equally to the asset (except the filename extension). The filenames are case sensitive ('''F'''ilename.thumb and '''f'''ilename.thumb will refer to different files and e.g. '''F'''ilename.thumb will not work with '''f'''ilename.mhclo).
You can use the built-in renderer of MakeHuman to create a thumbnail of your asset, set the resolution to 128x128 and save the image as PNG. Than use your preferred file manager to rename and move your newly created thumbnail file.
20d866ce50cc846a4ee14e69d3a78ad084f1158e
FAQ:How can I create clothes?
3002
65
1842
863
2020-07-26T11:04:48Z
Punkduck
38
wikitext
text/x-wiki
To download the Tools, navigate to [http://www.makehumancommunity.org/content/plugins.html plugins page]
Download MakeClothes 2 at least.
With version MakeHuman Version 1.2.0, best is to also download MakeSkin and MakeHuman plugin for blender.
(for MakeHuman plugin for blender, the MakeHuman plugins MHAPI and Socket are needed)
The documentation of new MakeClothes is still under construction: [[Documentation:ClothesV2]].
There will be some additional information about techniques is near future.
As long as these are not available, there are also some useful hints in the old documentation, that can be found from the [http://www.makehumancommunity.org/wiki/Documentation:Collection_of_old_documents documentation index].
Otherwise, following the video tutorials at [[Video:Blender_tools]] will probably be the best bet to get up to speed.
d29146d33e68564fc637b8d3353e1d41e7207dbf
863
862
2016-05-26T13:16:33Z
Joepal
14
wikitext
text/x-wiki
Clothes are created with the MakeClothes tool, which is a part of the BlenderTools, see [[ Documentation:Getting_and_installing_BlenderTools|getting and installing BlenderTools ]].
The documentation on MakeClothes is a bit outdated, but can be found at [[Documentation:clothes]].
There are also some useful tutorials that can be found from the [http://www.makehumancommunity.org/wiki/Documentation:Index#In-depth_tutorials:_MakeClothes documentation index].
Otherwise, following the video tutorials at [[Video:Blender_tools]] will probably be the best bet to get up to speed.
0397fe13b9b0c54caa71aeb7a0272b21087a122a
862
520
2016-05-26T13:15:53Z
Joepal
14
wikitext
text/x-wiki
Clothes are created with the MakeClothes tool, which is a part of the BlenderTools, see [[ Documentation:MHBlenderTools: Download and installation|MHBlenderTools: Download and installation ]].
The documentation on MakeClothes is a bit outdated, but can be found at [[Documentation:clothes]].
There are also some useful tutorials that can be found from the [http://www.makehumancommunity.org/wiki/Documentation:Index#In-depth_tutorials:_MakeClothes documentation index].
Otherwise, following the video tutorials at [[Video:Blender_tools]] will probably be the best bet to get up to speed.
98b00efc6c57d095a4cd0c40e6676979481ca8d9
520
323
2015-09-04T17:29:52Z
Fairytail
16
wikitext
text/x-wiki
Clothes are created with the MakeClothes tool, which is a part of the BlenderTools, see [[ Documentation:MHBlenderTools: Download and installation|MHBlenderTools: Download and installation ]].
The documentation on MakeClothes is a bit outdated, but can (when it's ported) be found at [[Documentation:MHBlenderTools:MakeClothes]].
For now, following the video tutorials at [[Video:Blender_tools]] will probably be the best bet to get up to speed.
22733f7dcf08447e2eca326795fe58b96c621c47
323
164
2015-07-30T10:26:43Z
Joepal
14
wikitext
text/x-wiki
Clothes are created with the MakeClothes tool, which is a part of the BlenderTools, see [[ Documentation:MHBlenderTools: Download and installation|MHBlenderTools: Download and installation ]].
The documentation on MakeClothes is a bit outdated, but can (when it's ported) be found at [[Documentation:MHBlenderTools:_MakeClothes]].
For now, following the video tutorials at [[Video:Blender_tools]] will probably be the best bet to get up to speed.
9b3d9110ace836771b4b648d3dcc8d819bad1993
164
2015-07-25T06:52:03Z
Joepal
14
Created page with "Clothes are created with the MakeClothes too, which is a part of the BlenderTools, see Documentation:MHBlenderTools: Download and installation|MHBlenderTools: Download and..."
wikitext
text/x-wiki
Clothes are created with the MakeClothes too, which is a part of the BlenderTools, see [[ Documentation:MHBlenderTools: Download and installation|MHBlenderTools: Download and installation ]].
The documentation on MakeClothes is a bit outdated, but can (when it's ported) be found at [[Documentation:MHBlenderTools:_MakeClothes]].
For now, following the video tutorials at [[Video:Blender_tools]] will probably be the best bet to get up to speed.
dc1d9551bf92e8d4765286125268fbc90a0be8c4
FAQ:How can I create extra bodyparts?
3002
393
1011
1010
2016-06-08T12:11:57Z
Joepal
14
wikitext
text/x-wiki
If you wish to add extra body parts (wings, genitalia, horns...) you have three options:
* Deform the base mesh. In practice, you are making a new target, see [[FAQ:How can I create targets?]]. For small modifications, this is the most portable options, but it becomes nonviable for large body parts.
* Make a proxy which has the body part. See [[FAQ:How can I create proxies or alternative topologies?]]. For modifications that requires larger mesh densities in some areas, but which still follow the basic shape of the base mesh, this is the best option. This is the recommended approach for, for example, genitalia. The upside of this is that you don't get any seams between the body part and the main body.
* Add the body part as if it was a piece of clothing, see [[FAQ:How can I create clothes?]]. Body parts that are essentially separate from the body (think angel wings) would probably benefit from being done this way. The downside is that you will most likely get visible seams/transitions between the extra body part and the main body.
In the latter two cases, it might become interesting to work with rigid vertex groups. These are discussed in [[Documentation:Controlling_the_result_with_vertex_groups]]
f2467555b767b03313f6297a88b658ea3a70ce0e
1010
1009
2016-06-08T10:06:42Z
Joepal
14
wikitext
text/x-wiki
If you wish to add extra body parts (wings, genitalia, horns...) you have three options:
* Deform the base mesh. In practice, you are making a new target, see [[FAQ:How can I create targets?]]. For small modifications, this is the most portable options, but it becomes nonviable for large body parts.
* Make a proxy which has the body part. See [[FAQ:How can I create proxies or alternative topologies?]]. For modifications that requires larger mesh densities in some areas, but which still follow the basic shape of the base mesh, this is the best option. This is the recommended approach for, for example, genitalia.
* Add the body part as if it was a piece of clothing, see [[FAQ:How can I create clothes?]]. Body parts that are essentially separate from the body (think angel wings) would probably benefit from being done this way.
In the latter two cases, it might become interesting to work with rigid vertex groups. These are discussed in [[Documentation:Controlling_the_result_with_vertex_groups]]
1ad3623b28d2acdc8ab9e8d09522af0e4ffb2d07
1009
2016-06-08T08:30:08Z
Joepal
14
Created page with "If you wish to add extra body parts (wings, genitalia, horns...) you have three options: * Deform the base mesh. In practice, you are making a new target, see FAQ:How can I..."
wikitext
text/x-wiki
If you wish to add extra body parts (wings, genitalia, horns...) you have three options:
* Deform the base mesh. In practice, you are making a new target, see [[FAQ:How can I create targets?]]
* Make a proxy which has the body part. See [[FAQ:How can I create proxies or alternative topologies?]]
* Add the body part as if it was a piece of clothing, see [[FAQ:How can I create clothes?]]
In the latter two cases, it might become interesting to work with rigid vertex groups. These are discussed in [[Documentation:Controlling_the_result_with_vertex_groups]]
64ce0b67283de98e727727e0e7396b13158ad953
FAQ:How can I create hair?
3002
66
167
166
2015-07-25T06:53:33Z
Joepal
14
wikitext
text/x-wiki
Technically, hair is a form of clothes. The only difference is you place it in the "hair" directory instead of the "clothes" directory.
See [[FAQ:How can I create clothes?]]
bac1010e963c9c52bc879349080b61721064cb37
166
2015-07-25T06:53:17Z
Joepal
14
Created page with "Technically, hair is a form of clothes. The only difference is you place it in the "hair" directory instead of the "clothes" directory. See [[AQ:How can I create clothes?]]"
wikitext
text/x-wiki
Technically, hair is a form of clothes. The only difference is you place it in the "hair" directory instead of the "clothes" directory.
See [[AQ:How can I create clothes?]]
f77b579df570517b9eec063baba6e063cbfb1c9d
FAQ:How can I create poses?
3002
394
1012
2016-06-08T12:20:06Z
Joepal
14
Created page with "A pose is a BVH file. This is a standard format which is supported by most 3d editors. In general the work flow is this: * Assign the "default" skeleton to a toon in MH * E..."
wikitext
text/x-wiki
A pose is a BVH file. This is a standard format which is supported by most 3d editors.
In general the work flow is this:
* Assign the "default" skeleton to a toon in MH
* Export it
* Import in your favorite 3d editor
* Move around some bones
* Export the pose as a BVH file (be sure to only export one frame, in blender the default is to export the whole frame range)
* Save the BVH file in v1/data/poses
At the time of writing this, [http://bugtracker.makehumancommunity.org/issues/1032 there is a problem] with the collada export which makes it unsuitable for the above workflow. Blender users will want to export using MHX2 and import without any overrides.
195e77ca5634f7b1cbc7a66c118ca1fac9c8fb6b
FAQ:How can I create proxies or alternative topologies?
3002
124
322
2015-07-30T10:26:16Z
Joepal
14
Created page with "Technically, proxies are pretty much the same things as clothes: They share file format and production pipeline. To create a proxy, model it as full body clothing. See FAQ:..."
wikitext
text/x-wiki
Technically, proxies are pretty much the same things as clothes: They share file format and production pipeline.
To create a proxy, model it as full body clothing. See [[FAQ:How can I create clothes?]].
Once you have produced the "clothes" through MakeClothes, move the subdir that was created from "data/clothes/[my new item]" to "data/proxymeshes/[my new item]". Then rename the "[my new item].mhclo" file to "[my new item].proxy".
As a special notice: If you want existing skin textures to work with your proxy, you need to UV unwrap so that it fits upon an existing skin texture image.
f30d978fe85de1c6f7c9ef61a0c31fcaa7f61c4f
FAQ:How can I create skin textures?
3002
146
1127
385
2016-07-14T21:56:13Z
Joepal
14
wikitext
text/x-wiki
A skin texture is basically a normal image, usually a PNG file with large dimensions (in the span between 1024x1024 and 8192x8192), with a simple text file descriptor (see MHMAT section below).
To demonstrate which regions end up where on the body, there is a special skin [http://www.makehumancommunity.org/skin/annotated_skin.html "Annotated Skin"] in the skin repository.
The easiest way to start with a skin is probably to download this and paint on top of it.
== Texture painting in blender ==
For a full tutorial on this see [[Documentation:Texture painting a skin in blender|Tutorial: Texture painting a skin in blender]]
If you want to paint directly on a body, you are probably best off doing this in blender. For various reasons, it's slightly easier/efficient to texture paint in "blender render" mode rather than in cycles mode.
First, load a makehuman body. If you have MakeTarget and/or MakeClothes installed, just click the "load human" button. It's also perfectly viable to simply use a toon you exported from MakeHuman.
Then create a material and assign a texture to it.
In the default view you should now be able to switch to "texture paint" mode and draw on the body.
== Making a MHMAT file for the skin ==
To use the skin in makehuman you will also need a "MHMAT" file. This is a simple text file:
name my_cool_skin
diffuseColor 0.5 0.5 0.5
tag somekeywordthatfitsyou
diffuseTexture MyCoolSkin.png
Set "name" to what you want to call it in the lists inside makehuman. "diffuseColor" you can just copy (it's the color for skins that don't have a diffuse texture). "tag" is a keyword used for filtering inside MakeHuman if there are many skins, use whatever keyword you want. "diffuseTexture" is the important part. This is the filename of the image file with the texture. The path is relative to the location of the MHMAT file, so to avoid path problems, just place them in the same directory.
Save the mhmat file as whatever but with the ".mhmat" extension. If you skin texture is called "MyCoolSkin.png", it might make sense to save the MHMAT file as "MyCoolSkin.mhmat". Place the mhmat and the image texture in the "skins" directory under data (see [[FAQ:Where are my MakeHuman files found (where is my HOME directory)?]]). Next time you open MakeHuman you should now be able to choose the new skin on the skins tab.
9f71684cc7717328d49d9e1f8425f851a27c40f5
385
2015-08-14T14:50:55Z
Joepal
14
Created page with "A skin texture is basically a normal image, usually a PNG file with large dimensions (in the span between 1024x1024 and 8192x8192), with a simple text file descriptor (see MHM..."
wikitext
text/x-wiki
A skin texture is basically a normal image, usually a PNG file with large dimensions (in the span between 1024x1024 and 8192x8192), with a simple text file descriptor (see MHMAT section below).
To demonstrate which regions end up where on the body, there is a special skin "Annotated Skin" in the skin repository.
The easiest way to start with a skin is probably to download this and paint on top of it.
== Texture painting in blender ==
For a full tutorial on this see [[Documentation:Texture painting a skin in blender|Tutorial: Texture painting a skin in blender]]
If you want to paint directly on a body, you are probably best off doing this in blender. For various reasons, it's slightly easier/efficient to texture paint in "blender render" mode rather than in cycles mode.
First, load a makehuman body. If you have MakeTarget and/or MakeClothes installed, just click the "load human" button. It's also perfectly viable to simply use a toon you exported from MakeHuman.
Then create a material and assign a texture to it.
In the default view you should now be able to switch to "texture paint" mode and draw on the body.
== Making a MHMAT file for the skin ==
To use the skin in makehuman you will also need a "MHMAT" file. This is a simple text file:
name my_cool_skin
diffuseColor 0.5 0.5 0.5
tag somekeywordthatfitsyou
diffuseTexture MyCoolSkin.png
Set "name" to what you want to call it in the lists inside makehuman. "diffuseColor" you can just copy (it's the color for skins that don't have a diffuse texture). "tag" is a keyword used for filtering inside MakeHuman if there are many skins, use whatever keyword you want. "diffuseTexture" is the important part. This is the filename of the image file with the texture. The path is relative to the location of the MHMAT file, so to avoid path problems, just place them in the same directory.
Save the mhmat file as whatever but with the ".mhmat" extension. If you skin texture is called "MyCoolSkin.png", it might make sense to save the MHMAT file as "MyCoolSkin.mhmat". Place the mhmat and the image texture in the "skins" directory under data (see [[FAQ:Where are my MakeHuman files found (where is my HOME directory)?]]). Next time you open MakeHuman you should now be able to choose the new skin on the skins tab.
e00e7958ac68687c9f15c94e3afe10bd623da550
FAQ:How can I create targets?
3002
64
163
2015-07-25T06:48:51Z
Joepal
14
Created page with "Targets are created with the MakeTarget tool, see main article at [[Documentation:MHBlenderTools:_MakeTarget]]. This is a youtube video which might be useful too: {{#ev:yout..."
wikitext
text/x-wiki
Targets are created with the MakeTarget tool, see main article at [[Documentation:MHBlenderTools:_MakeTarget]].
This is a youtube video which might be useful too:
{{#ev:youtube|X13k7H3dNHo}}
9e9119f7f74311b2824343ef01772f4f1f6be8b8
FAQ:How can I download assets for MakeHuman?
3002
718
2114
2021-05-19T05:36:33Z
Joepal
14
Created page with "There are two main methods of downloading assets == Using the asset downloader == This is the recommended method. However, this method only works for 1.2.0 and later. It wil..."
wikitext
text/x-wiki
There are two main methods of downloading assets
== Using the asset downloader ==
This is the recommended method. However, this method only works for 1.2.0 and later. It will not work on 1.1.0.
[[File:Asset_downloader.png]]
In MakeHuman, go to the community -> download assets tab. The first time you open this tab you will be informed that you need to click the synchronize button to get information about which assets exist. Once having done so, you can search for assets, select them and download them with the download button. A downloaded asset will be immediately available once you switch to, for example, the clothes tab.
== Downloading manually ==
Before using this method, see [[FAQ: I can't download from the user repos, all files are saved as HTML]]
The basic procedure for how to download assets manually can be seen in [[FAQ: I downloaded third party clothes. How do I install them?]]
946c2466a01de2b7c2c2e172b50a94f3f0576e90
FAQ:How can I run MakeHuman from a BitBucket source clone?
3002
196
1596
1595
2019-05-10T10:40:44Z
Wolgade
26
wikitext
text/x-wiki
== MH 1.1 (stable) ==
Contrary to popular opinion it is not all that difficult to run MakeHuman directly from source. Doing so has the following benefits:
* You get full access to all assets (i.e. you are not restricted to only compiled/processed/compressed versions)
* You can "update" the MakeHuman directory and thereby download only the latest changes instead of having to download and unzip a big binary each time a change has been made. (This requires the usage of Mercurial)
MakeHuman code is pure Python based. To run MakeHuman from source you need to install the following dependencies: Python 2.7, NumPy, PyOpenGl and PyQt for Qt4. The link to the source code is in the download section. You can either get the code as a zip-file or download it with the version control tool Mercurial.
The full procedure with platform specific notes is documented in [[Documentation:Running_MakeHuman_from_source|Running MakeHuman from Source]].
== MH 1.2 (unstable) ==
If you're looking for the source code of the upcoming MakeHuman 1.2.0 go to [https://github.com/makehumancommunity/makehuman https://github.com/makehumancommunity/makehuman]. You'll also find basic instructions on how to get started on this page.
0b00bd6ff72a2ccb55eb44bdeade5c190c2034df
1595
1321
2019-05-10T10:40:16Z
Wolgade
26
Clarified versions
wikitext
text/x-wiki
== MH 1.1 (stable) ==
Contrary to popular opinion it is not all that difficult to run MakeHuman directly from source. Doing so has the following benefits:
* You get full access to all assets (i.e. you are not restricted to only compiled/processed/compressed versions)
* You can "update" the MakeHuman directory and thereby download only the latest changes instead of having to download and unzip a big binary each time a change has been made. (This requires the usage of Mercurial)
MakeHuman code is pure Python based. To run MakeHuman from source you need to install the following dependencies: Python 2.7, NumPy, PyOpenGl and PyQt for Qt4. The link to the source code is in the download section. You can either get the code as a zip-file or download it with the version control tool Mercurial.
The full procedure with platform specific notes is documented in [[Documentation:Running_MakeHuman_from_source|Running MakeHuman from Source]].
== MH 1.2 (unstable) ==
If you're looking for the source code of the upcoming MakeHuman 1.2.0 go to [https://github.com/makehumancommunity/makehuman https://github.com/makehumancommunity/makehuman]. You'll also find basic instructions on how to get started on this page.
c339e60c3af6982b2d9f11d49716d05d877734bd
1321
994
2017-02-18T00:16:36Z
Aranuvir
17
wikitext
text/x-wiki
Contrary to popular opinion it is not all that difficult to run MakeHuman directly from source. Doing so has the following benefits:
* You get full access to all assets (i.e. you are not restricted to only compiled/processed/compressed versions)
* You can "update" the MakeHuman directory and thereby download only the latest changes instead of having to download and unzip a big binary each time a change has been made. (This requires the usage of Mercurial)
MakeHuman code is pure Python based. To run MakeHuman from source you need to install the following dependencies: Python 2.7, NumPy, PyOpenGl and PyQt for Qt4. The link to the source code is in the download section. You can either get the code as a zip-file or download it with the version control tool Mercurial.
The full procedure with platform specific notes is documented in [[Documentation:Running_MakeHuman_from_source|Running MakeHuman from Source]].
4ea30ec83b4724e771c9739f673dccb0e54a398c
994
993
2016-05-31T08:41:02Z
Joepal
14
wikitext
text/x-wiki
Contrary to popular opinion it is not all that difficult to run MakeHuman directly from source. Doing so has the following benefits:
* You get full access to all assets (i.e. you are not restricted to only compiled/processed/compressed versions)
* You can "update" the MakeHuman directory and thereby download only the latest changes instead of having to download and unzip a big binary each time a change has been made.
The full procedure with platform specific notes is documented in [[Documentation:Running_MakeHuman_from_source|Running MakeHuman from Source]].
a575cc783e67bcc6960ecaadd06b157084435597
993
631
2016-05-31T08:40:49Z
Joepal
14
wikitext
text/x-wiki
Contrary to popular opinion it is not all that difficult to run MakeHuman directly from source. Doing so has the following benefits:
* You get full access to all assets (i.e. you are not restricted to only compiled/processed/compressed versions)
* You can "update" the MakeHuman directory and thereby download only the latest changes instead of having to download and unzip a big binary each time a change has been made.
The full procedure with platform specific notes is documented in [[Documentation:Running_MakeHuman_from_source|Running MakeHuman from Source].
3c95cfd9342a4792a113ffbd3bb20943e468a093
631
536
2016-04-17T13:04:17Z
Joepal
14
wikitext
text/x-wiki
Contrary to popular opinion it is not all that difficult to run MakeHuman directly from source. Doing so has the following benefits:
* You get full access to all assets (i.e. you are not restricted to only compiled/processed/compressed versions)
* You can "update" the MakeHuman directory and thereby download only the latest changes instead of having to download and unzip a big binary each time a change has been made.
The source code is hosted on BitBucket and as version control system Mercurial is used. (see https://mercurial.selenic.com/). Downloading from BitBucket will pull a '''nightly build''' ([[FAQ:What is a nightly build?]]).
== General steps for installation ==
These are the steps which are needed in general
* Install dependencies
* Get a mercurial client (it's what's needed for downloading the source code). On Windows it's best to get TortoiseHg (see http://tortoisehg.bitbucket.org/download/index.html). On Linux you should find mercurial in your package manager.
* Download the source code
* Run the script for downloading assets
== General steps for updating ==
Once the installation has been made, these are the steps which is needed to get up to date with the latest version
* Run mercurial pull + mercurial update
* Run the script for downloading assets
* Find and remove old pyc-files
== Linux ==
The easiest platform for doing all this is linux. This is what you do for installation:
sudo apt-get install python2.7 python-numpy python-opengl python-qt4 python-qt4-gl mercurial
hg clone <nowiki>https://bitbucket.org/MakeHuman/makehuman</nowiki>
cd makehuman
hg update -C stable # or "1.0.2" or "default" or whatever branch you want to run
cd makehuman
python download_assets.py
To update:
cd makehuman
hg pull && hg update -C
cd makehuman
python download_assets.py
./cleanpyc.sh
./cleannpz.sh
python compile_models.py
python compile_proxies.py
python compile_targets.py
To start makehuman:
cd makehuman/makehuman
python makehuman.py
== Windows ==
On windows you need to install the dependencies manually. However, in order to ease this process, there is a zip file with all that is needed, see http://files.jwp.se/makehuman.html . Another option is to install Python 2.7 from the WinPython project (see http://sourceforge.net/projects/winpython/files/WinPython_2.7/). It is recommended to use the 32bit version of WinPython.
To install:
* Install everything in the zip file above. There is a readme in the file with instructions.
* Create a directory "makehuman" (or whatever you want to call it).
* Right-click the directory and choose tortoisehg ... clone
* Paste <nowiki>https://bitbucket.org/MakeHuman/makehuman</nowiki> in the text box for source
* Open your directory and the "makehuman" subdir which is now inside it
* Double-click "download_assets.py"
To update:
* Right-click the directory and choose tortoisehg ... update
* Open your directory and the "makehuman" subdir which is inside it
* Double-click "download_assets.py"
To run:
* Open your directory and the "makehuman" subdir which is inside it
* Double-click "makehuman.py"
== Mac ==
Unfortunately no-one of the devs run Mac. You will have to figure out the procedure on your own given the above.
If you have managed to make an installation this way, pasting the procedure here would be a good deed.
== Tutorial video ==
There is a tutorial video on how to make a "full" installation of MakeHuman and related tools on windows. This is up to date apart from the location of the zip file which is mentioned above.
{{#ev:youtube|3CCHGX-6Mtk}}
daade86374a1fac114392b42916688a58ddfcf67
536
535
2015-10-10T12:46:35Z
Aranuvir
17
wikitext
text/x-wiki
Contrary to popular opinion it is not all that difficult to run MakeHuman directly from source. Doing so has the following benefits:
* You get full access to all assets (i.e. you are not restricted to only compiled/processed/compressed versions)
* You can "update" the MakeHuman directory and thereby download only the latest changes instead of having to download and unzip a big binary each time a change has been made.
The source code is hosted on BitBucket and as version control system Mercurial is used. (see https://mercurial.selenic.com/). Downloading from BitBucket will pull a '''nightly build''' ([[FAQ:What is a nightly build?]]).
== General steps for installation ==
These are the steps which are needed in general
* Install dependencies
* Get a mercurial client (it's what's needed for downloading the source code). On Windows it's best to get TortoiseHg (see http://tortoisehg.bitbucket.org/download/index.html). On Linux you should find mercurial in your package manager.
* Download the source code
* Run the script for downloading assets
== General steps for updating ==
Once the installation has been made, these are the steps which is needed to get up to date with the latest version
* Run mercurial pull + mercurial update
* Run the script for downloading assets
* Find and remove old pyc-files
== Linux ==
The easiest platform for doing all this is linux. This is what you do for installation:
sudo apt-get install python2.7 python-numpy python-opengl python-qt4 python-qt4-gl mercurial
hg clone <nowiki>https://bitbucket.org/MakeHuman/makehuman</nowiki>
cd makehuman/makehuman
python download_assets.py
To update:
cd makehuman
hg pull && hg update -C
cd makehuman
python download_assets.py
./cleanpyc.sh
./cleannpz.sh
python compile_models.py
python compile_proxies.py
python compile_targets.py
To start makehuman:
cd makehuman/makehuman
python makehuman.py
== Windows ==
On windows you need to install the dependencies manually. However, in order to ease this process, there is a zip file with all that is needed, see http://files.jwp.se/makehuman.html . Another option is to install Python 2.7 from the WinPython project (see http://sourceforge.net/projects/winpython/files/WinPython_2.7/). It is recommended to use the 32bit version of WinPython.
To install:
* Install everything in the zip file above. There is a readme in the file with instructions.
* Create a directory "makehuman" (or whatever you want to call it).
* Right-click the directory and choose tortoisehg ... clone
* Paste <nowiki>https://bitbucket.org/MakeHuman/makehuman</nowiki> in the text box for source
* Open your directory and the "makehuman" subdir which is now inside it
* Double-click "download_assets.py"
To update:
* Right-click the directory and choose tortoisehg ... update
* Open your directory and the "makehuman" subdir which is inside it
* Double-click "download_assets.py"
To run:
* Open your directory and the "makehuman" subdir which is inside it
* Double-click "makehuman.py"
== Mac ==
Unfortunately no-one of the devs run Mac. You will have to figure out the procedure on your own given the above.
If you have managed to make an installation this way, pasting the procedure here would be a good deed.
== Tutorial video ==
There is a tutorial video on how to make a "full" installation of MakeHuman and related tools on windows. This is up to date apart from the location of the zip file which is mentioned above.
{{#ev:youtube|3CCHGX-6Mtk}}
c0ae259f5a6ca868fbeb0aaf60448a6be535dc91
535
525
2015-10-10T12:45:29Z
Aranuvir
17
wikitext
text/x-wiki
Contrary to popular opinion it is not all that difficult to run MakeHuman directly from source. Doing so has the following benefits:
* You get full access to all assets (i.e. you are not restricted to only compiled/processed/compressed versions)
* You can "update" the MakeHuman directory and thereby download only the latest changes instead of having to download and unzip a big binary each time a change has been made.
The source code is hosted on BitBucket and as version control system Mercurial is used. (see https://mercurial.selenic.com/). Downloading from BitBucket will pull a '''nightly build''' ([[FAQ:What is a nightly build?]]).
== General steps for installation ==
These are the steps which are needed in general
* Install dependencies
* Get a mercurial client (it's what's needed for downloading the source code). On Windows it's best to get TortoiseHg (see http://tortoisehg.bitbucket.org/download/index.html). On Linux you should find mercurial in your package manager.
* Download the source code
* Run the script for downloading assets
== General steps for updating ==
Once the installation has been made, these are the steps which is needed to get up to date with the latest version
* Run mercurial pull + mercurial update
* Run the script for downloading assets
* Find and remove old pyc-files
== Linux ==
The easiest platform for doing all this is linux. This is what you do for installation:
sudo apt-get install python2.7 python-numpy python-opengl python-qt4 python-qt4-gl mercurial
hg clone <nowiki>https://bitbucket.org/MakeHuman/makehuman</nowiki>
cd makehuman/makehuman
python download_assets.py
To update:
cd makehuman
hg pull && hg update -C
cd makehuman
python download_assets.py
./cleanpyc.sh
./cleannpz.sh
python compile_models.py
python compile_proxies.py
python compile_targets.py
To start makehuman:
cd makehuman/makehuman
python makehuman.py
== Windows ==
On windows you need to install the dependencies manually. However, in order to ease this process, there is a zip file with all that is needed, see http://files.jwp.se/makehuman.html . Another option is to install Python 2.7 from the WinPython project (see http://sourceforge.net/projects/winpython/files/WinPython_2.7/). It is recommended to use the 32bit version of WinPython.
To install:
* Install everything in the zip file above. There is a readme in the file with instructions.
* Create a directory "makehuman" (or whatever you want to call it).
* Right-click the directory and choose tortoisehg ... clone
* Paste <nowiki>https://bitbucket.org/MakeHuman/makehuman</nowiki> in the text box for source
* Open your directory and the "makehuman" subdir which is now inside it
* Double-click "download_assets.py"
To update:
* Right-click the directory and choose tortoisehg ... update
* Open your directory and the "makehuman" subdir which is inside it
* Double-click "download_assets.py"
To run:
* Open your directory and the "makehuman" subdir which is inside it
* Double-click "makehuman.py"
== Mac ==
Unfortunately no-one of the devs run Mac. You will have to figure out the procedure on your own given the above.
If you have managed to make an installation this way, pasting the procedure here would be a good deed.
== Tutorial video ==
There is a tutorial video on how to make a "full" installation of MakeHuman and related tools on windows. This is up to date apart from the location of the zip file which is mentioned above.
{{#ev:youtube|3CCHGX-6Mtk}}
33ddaf4aeaed73848d9a04ab069763b57112f76d
525
524
2015-09-04T19:04:15Z
Aranuvir
17
wikitext
text/x-wiki
Contrary to popular opinion it is not all that difficult to run MakeHuman directly from source. Doing so has the following benefits:
* You get full access to all assets (i.e. you are not restricted to only compiled/processed/compressed versions)
* You can "update" the MakeHuman directory and thereby download only the latest changes instead of having to download and unzip a big binary each time a change has been made.
The source code is hosted on BitBucket and as version control system Mercurial is used. (see https://mercurial.selenic.com/). Downloading from BitBucket will pull a '''nightly build''' ([[FAQ:What is a nightly build?]]).
== General steps for installation ==
These are the steps which are needed in general
* Install dependencies
* Get a mercurial client (it's what's needed for downloading the source code). On Windows it's best to get TortoiseHg (see http://tortoisehg.bitbucket.org/download/index.html). On Linux you should find mercurial in your package manager.
* Download the source code
* Run the script for downloading assets
== General steps for updating ==
Once the installation has been made, these are the steps which is needed to get up to date with the latest version
* Run mercurial pull + mercurial update
* Run the script for downloading assets
* Find and remove old pyc-files
== Linux ==
The easiest platform for doing all this is linux. This is what you do for installation:
sudo apt-get install python2.7 python-numpy python-opengl python-qt4 python-qt4-gl mercurial
hg clone <nowiki>https://bitbucket.org/MakeHuman/makehuman</nowiki>
cd makehuman/makehuman
python download_assets.py
To update:
cd makehuman
hg pull && hg update -C
cd makehuman
python download_assets.py
./cleanpyc.sh
./cleannpz.sh
python compile_models.py
python compile_proxies.py
python compile_targets.py
To start makehuman:
cd makehuman/makehuman
python makehuman.py
== Windows ==
On windows you need to install the dependencies manually. However, in order to ease this process, there is a zip file with all that is needed, see http://files.jwp.se/makehuman.html . Another option is to install Python 2.7 from the WinPython project (see http://sourceforge.net/projects/winpython/files/WinPython_2.7/). Depending on your system, you can either use the 32bit or 64bit version of WinPython.
To install:
* Install everything in the zip file above. There is a readme in the file with instructions.
* Create a directory "makehuman" (or whatever you want to call it).
* Right-click the directory and choose tortoisehg ... clone
* Paste <nowiki>https://bitbucket.org/MakeHuman/makehuman</nowiki> in the text box for source
* Open your directory and the "makehuman" subdir which is now inside it
* Double-click "download_assets.py"
To update:
* Right-click the directory and choose tortoisehg ... update
* Open your directory and the "makehuman" subdir which is inside it
* Double-click "download_assets.py"
To run:
* Open your directory and the "makehuman" subdir which is inside it
* Double-click "makehuman.py"
== Mac ==
Unfortunately no-one of the devs run Mac. You will have to figure out the procedure on your own given the above.
If you have managed to make an installation this way, pasting the procedure here would be a good deed.
== Tutorial video ==
There is a tutorial video on how to make a "full" installation of MakeHuman and related tools on windows. This is up to date apart from the location of the zip file which is mentioned above.
{{#ev:youtube|3CCHGX-6Mtk}}
dc1cd6b929bbf5ad00549226025c579422313757
524
523
2015-09-04T18:47:19Z
Aranuvir
17
/* General steps for installation */
wikitext
text/x-wiki
Contrary to popular opinion it is not all that difficult to run MakeHuman directly from source. Doing so has the following benefits:
* You get full access to all assets (ie you are not restricted to only compiled/processed/compressed versions)
* You can "update" the MakeHuman directory and thereby download only the latest changes instead of having to download and unzip a big binary each time a change has been made.
== General steps for installation ==
These are the steps which are needed in general
* Install dependencies
* Get a mercurial client (it's what's needed for downloading the source code). On Windows it's best to get TortoiseHg (see http://tortoisehg.bitbucket.org/download/index.html). On Linux you should find mercurial in your package manager.
* Download the source code
* Run the script for downloading assets
== General steps for updating ==
Once the installation has been made, these are the steps which is needed to get up to date with the latest version
* Run mercurial pull + mercurial update
* Run the script for downloading assets
== Linux ==
The easiest platform for doing all this is linux. This is what you do for installation:
sudo apt-get install python2.7 python-numpy python-opengl python-qt4 python-qt4-gl mercurial
hg clone <nowiki>https://bitbucket.org/MakeHuman/makehuman</nowiki>
cd makehuman/makehuman
python download_assets.py
To update:
cd makehuman
hg pull && hg update -C
cd makehuman
python download_assets.py
./cleanpyc.sh
./cleannpz.sh
python compile_models.py
python compile_proxies.py
python compile_targets.py
To start makehuman:
cd makehuman/makehuman
python makehuman.py
== Windows ==
On windows you need to install the dependencies manually. However, in order to ease this process, there is a zip file with all that is needed, see http://files.jwp.se/makehuman.html . Another option is to install Python 2.7 from the WinPython project (see http://sourceforge.net/projects/winpython/files/WinPython_2.7/). Depending on your system, you can either use the 32bit or 64bit version of WinPython.
To install:
* Install everything in the zip file above. There is a readme in the file with instructions.
* Create a directory "makehuman" (or whatever you want to call it).
* Right-click the directory and choose tortoisehg ... clone
* Paste <nowiki>https://bitbucket.org/MakeHuman/makehuman</nowiki> in the text box for source
* Open your directory and the "makehuman" subdir which is now inside it
* Double-click "download_assets.py"
To update:
* Right-click the directory and choose tortoisehg ... update
* Open your directory and the "makehuman" subdir which is inside it
* Double-click "download_assets.py"
To run:
* Open your directory and the "makehuman" subdir which is inside it
* Double-click "makehuman.py"
== Mac ==
Unfortunately no-one of the devs run Mac. You will have to figure out the procedure on your own given the above.
If you have managed to make an installation this way, pasting the procedure here would be a good deed.
== Tutorial video ==
There is a tutorial video on how to make a "full" installation of MakeHuman and related tools on windows. This is up to date apart from the location of the zip file which is mentioned above.
{{#ev:youtube|3CCHGX-6Mtk}}
f7f72fc223fd08ed8448f6fd54a89b1da53f34c0
523
521
2015-09-04T18:28:06Z
Aranuvir
17
/* Windows */
wikitext
text/x-wiki
Contrary to popular opinion it is not all that difficult to run MakeHuman directly from source. Doing so has the following benefits:
* You get full access to all assets (ie you are not restricted to only compiled/processed/compressed versions)
* You can "update" the MakeHuman directory and thereby download only the latest changes instead of having to download and unzip a big binary each time a change has been made.
== General steps for installation ==
These are the steps which are needed in general
* Install dependencies
* Get a mercurial client (it's what's needed for downloading the source code)
* Download the source code
* Run the script for downloading assets
== General steps for updating ==
Once the installation has been made, these are the steps which is needed to get up to date with the latest version
* Run mercurial pull + mercurial update
* Run the script for downloading assets
== Linux ==
The easiest platform for doing all this is linux. This is what you do for installation:
sudo apt-get install python2.7 python-numpy python-opengl python-qt4 python-qt4-gl mercurial
hg clone <nowiki>https://bitbucket.org/MakeHuman/makehuman</nowiki>
cd makehuman/makehuman
python download_assets.py
To update:
cd makehuman
hg pull && hg update -C
cd makehuman
python download_assets.py
./cleanpyc.sh
./cleannpz.sh
python compile_models.py
python compile_proxies.py
python compile_targets.py
To start makehuman:
cd makehuman/makehuman
python makehuman.py
== Windows ==
On windows you need to install the dependencies manually. However, in order to ease this process, there is a zip file with all that is needed, see http://files.jwp.se/makehuman.html . Another option is to install Python 2.7 from the WinPython project (see http://sourceforge.net/projects/winpython/files/WinPython_2.7/). Depending on your system, you can either use the 32bit or 64bit version of WinPython.
To install:
* Install everything in the zip file above. There is a readme in the file with instructions.
* Create a directory "makehuman" (or whatever you want to call it).
* Right-click the directory and choose tortoisehg ... clone
* Paste <nowiki>https://bitbucket.org/MakeHuman/makehuman</nowiki> in the text box for source
* Open your directory and the "makehuman" subdir which is now inside it
* Double-click "download_assets.py"
To update:
* Right-click the directory and choose tortoisehg ... update
* Open your directory and the "makehuman" subdir which is inside it
* Double-click "download_assets.py"
To run:
* Open your directory and the "makehuman" subdir which is inside it
* Double-click "makehuman.py"
== Mac ==
Unfortunately no-one of the devs run Mac. You will have to figure out the procedure on your own given the above.
If you have managed to make an installation this way, pasting the procedure here would be a good deed.
== Tutorial video ==
There is a tutorial video on how to make a "full" installation of MakeHuman and related tools on windows. This is up to date apart from the location of the zip file which is mentioned above.
{{#ev:youtube|3CCHGX-6Mtk}}
0dfb2feeaca5ada7b8a556cc12d23d37880596b0
521
509
2015-09-04T18:05:20Z
Aranuvir
17
wikitext
text/x-wiki
Contrary to popular opinion it is not all that difficult to run MakeHuman directly from source. Doing so has the following benefits:
* You get full access to all assets (ie you are not restricted to only compiled/processed/compressed versions)
* You can "update" the MakeHuman directory and thereby download only the latest changes instead of having to download and unzip a big binary each time a change has been made.
== General steps for installation ==
These are the steps which are needed in general
* Install dependencies
* Get a mercurial client (it's what's needed for downloading the source code)
* Download the source code
* Run the script for downloading assets
== General steps for updating ==
Once the installation has been made, these are the steps which is needed to get up to date with the latest version
* Run mercurial pull + mercurial update
* Run the script for downloading assets
== Linux ==
The easiest platform for doing all this is linux. This is what you do for installation:
sudo apt-get install python2.7 python-numpy python-opengl python-qt4 python-qt4-gl mercurial
hg clone <nowiki>https://bitbucket.org/MakeHuman/makehuman</nowiki>
cd makehuman/makehuman
python download_assets.py
To update:
cd makehuman
hg pull && hg update -C
cd makehuman
python download_assets.py
./cleanpyc.sh
./cleannpz.sh
python compile_models.py
python compile_proxies.py
python compile_targets.py
To start makehuman:
cd makehuman/makehuman
python makehuman.py
== Windows ==
On windows you need to install the dependencies manually. However, in order to ease this process, there is a zip file with all that is needed, see http://files.jwp.se/makehuman.html
To install:
* Install everything in the zip file above. There is a readme in the file with instructions.
* Create a directory "makehuman" (or whatever you want to call it).
* Right-click the directory and choose tortoisehg ... clone
* Paste <nowiki>https://bitbucket.org/MakeHuman/makehuman</nowiki> in the text box for source
* Open your directory and the "makehuman" subdir which is now inside it
* Double-click "download_assets.py"
To update:
* Right-click the directory and choose tortoisehg ... update
* Open your directory and the "makehuman" subdir which is inside it
* Double-click "download_assets.py"
To run:
* Open your directory and the "makehuman" subdir which is inside it
* Double-click "makehuman.py"
== Mac ==
Unfortunately no-one of the devs run Mac. You will have to figure out the procedure on your own given the above.
If you have managed to make an installation this way, pasting the procedure here would be a good deed.
== Tutorial video ==
There is a tutorial video on how to make a "full" installation of MakeHuman and related tools on windows. This is up to date apart from the location of the zip file which is mentioned above.
{{#ev:youtube|3CCHGX-6Mtk}}
b7efc42c148420654a0d1d5afdd5f6df8a14e0dc
509
508
2015-08-30T08:50:54Z
Joepal
14
/* Linux */
wikitext
text/x-wiki
Contrary to popular opinion it is not all that difficult to run MakeHuman directly from source. Doing so has the following benefits:
* You get full access to all assets (ie you are not restricted to only compiled/processed/compressed versions)
* You can "update" the MakeHuman directory and thereby download only the latest changes instead of having to download and unzip a big binary each time a change has been made.
== General steps for installation ==
These are the steps which are needed in general
* Install dependencies
* Get a mercurial client (it's what's needed for downloading the source code)
* Download the source code
* Run the script for downloading assets
== General steps for updating ==
Once the installation has been made, these are the steps which is needed to get up to date with the latest version
* Run mercurial pull + mercurial update
* Run the script for downloading assets
== Linux ==
The easiest platform for doing all this is linux. This is what you do for installation:
sudo apt-get install python2.7 python-numpy python-opengl python-qt4 python-qt4-gl mercurial
hg clone <nowiki>https://bitbucket.org/MakeHuman/makehuman</nowiki>
cd makehuman/makehuman
python download_assets.py
To update:
cd makehuman
hg pull && hg update -C
cd makehuman
python download_assets.py
To start makehuman:
cd makehuman/makehuman
python makehuman.py
== Windows ==
On windows you need to install the dependencies manually. However, in order to ease this process, there is a zip file with all that is needed, see http://files.jwp.se/makehuman.html
To install:
* Install everything in the zip file above. There is a readme in the file with instructions.
* Create a directory "makehuman" (or whatever you want to call it).
* Right-click the directory and choose tortoisehg ... clone
* Paste <nowiki>https://bitbucket.org/MakeHuman/makehuman</nowiki> in the text box for source
* Open your directory and the "makehuman" subdir which is now inside it
* Double-click "download_assets.py"
To update:
* Right-click the directory and choose tortoisehg ... update
* Open your directory and the "makehuman" subdir which is inside it
* Double-click "download_assets.py"
To run:
* Open your directory and the "makehuman" subdir which is inside it
* Double-click "makehuman.py"
== Mac ==
Unfortunately no-one of the devs run Mac. You will have to figure out the procedure on your own given the above.
If you have managed to make an installation this way, pasting the procedure here would be a good deed.
== Tutorial video ==
There is a tutorial video on how to make a "full" installation of MakeHuman and related tools on windows. This is up to date apart from the location of the zip file which is mentioned above.
{{#ev:youtube|3CCHGX-6Mtk}}
c8a13e34919f976be7884cb16e63b9375e2bb37e
508
507
2015-08-30T08:50:11Z
Joepal
14
/* Linux */
wikitext
text/x-wiki
Contrary to popular opinion it is not all that difficult to run MakeHuman directly from source. Doing so has the following benefits:
* You get full access to all assets (ie you are not restricted to only compiled/processed/compressed versions)
* You can "update" the MakeHuman directory and thereby download only the latest changes instead of having to download and unzip a big binary each time a change has been made.
== General steps for installation ==
These are the steps which are needed in general
* Install dependencies
* Get a mercurial client (it's what's needed for downloading the source code)
* Download the source code
* Run the script for downloading assets
== General steps for updating ==
Once the installation has been made, these are the steps which is needed to get up to date with the latest version
* Run mercurial pull + mercurial update
* Run the script for downloading assets
== Linux ==
The easiest platform for doing all this is linux. This is what you do for installation:
sudo apt-get install python2.7 python-numpy python-opengl python-qt4 python-qt4-gl mercurial
hg clone <nowiki>https://bitbucket.org/MakeHuman/makehuman</nowiki>
cd makehuman/makehuman
python download_assets.py
To update:
cd makehuman
hg pull && hg update -C
python download_assets.py
To start makehuman:
cd makehuman/makehuman
python makehuman.py
== Windows ==
On windows you need to install the dependencies manually. However, in order to ease this process, there is a zip file with all that is needed, see http://files.jwp.se/makehuman.html
To install:
* Install everything in the zip file above. There is a readme in the file with instructions.
* Create a directory "makehuman" (or whatever you want to call it).
* Right-click the directory and choose tortoisehg ... clone
* Paste <nowiki>https://bitbucket.org/MakeHuman/makehuman</nowiki> in the text box for source
* Open your directory and the "makehuman" subdir which is now inside it
* Double-click "download_assets.py"
To update:
* Right-click the directory and choose tortoisehg ... update
* Open your directory and the "makehuman" subdir which is inside it
* Double-click "download_assets.py"
To run:
* Open your directory and the "makehuman" subdir which is inside it
* Double-click "makehuman.py"
== Mac ==
Unfortunately no-one of the devs run Mac. You will have to figure out the procedure on your own given the above.
If you have managed to make an installation this way, pasting the procedure here would be a good deed.
== Tutorial video ==
There is a tutorial video on how to make a "full" installation of MakeHuman and related tools on windows. This is up to date apart from the location of the zip file which is mentioned above.
{{#ev:youtube|3CCHGX-6Mtk}}
69dabac0381461b127ccd47085ff55173b0086d8
507
506
2015-08-30T08:49:43Z
Joepal
14
wikitext
text/x-wiki
Contrary to popular opinion it is not all that difficult to run MakeHuman directly from source. Doing so has the following benefits:
* You get full access to all assets (ie you are not restricted to only compiled/processed/compressed versions)
* You can "update" the MakeHuman directory and thereby download only the latest changes instead of having to download and unzip a big binary each time a change has been made.
== General steps for installation ==
These are the steps which are needed in general
* Install dependencies
* Get a mercurial client (it's what's needed for downloading the source code)
* Download the source code
* Run the script for downloading assets
== General steps for updating ==
Once the installation has been made, these are the steps which is needed to get up to date with the latest version
* Run mercurial pull + mercurial update
* Run the script for downloading assets
== Linux ==
The easiest platform for doing all this is linux. This is what you do for installation:
sudo apt-get install python python-numpy python-opengl python-qt4 python-qt4-gl mercurial
hg clone <nowiki>https://bitbucket.org/MakeHuman/makehuman</nowiki>
cd makehuman/makehuman
python download_assets.py
To update:
cd makehuman
hg pull && hg update -C
python download_assets.py
To start makehuman:
cd makehuman/makehuman
python makehuman.py
== Windows ==
On windows you need to install the dependencies manually. However, in order to ease this process, there is a zip file with all that is needed, see http://files.jwp.se/makehuman.html
To install:
* Install everything in the zip file above. There is a readme in the file with instructions.
* Create a directory "makehuman" (or whatever you want to call it).
* Right-click the directory and choose tortoisehg ... clone
* Paste <nowiki>https://bitbucket.org/MakeHuman/makehuman</nowiki> in the text box for source
* Open your directory and the "makehuman" subdir which is now inside it
* Double-click "download_assets.py"
To update:
* Right-click the directory and choose tortoisehg ... update
* Open your directory and the "makehuman" subdir which is inside it
* Double-click "download_assets.py"
To run:
* Open your directory and the "makehuman" subdir which is inside it
* Double-click "makehuman.py"
== Mac ==
Unfortunately no-one of the devs run Mac. You will have to figure out the procedure on your own given the above.
If you have managed to make an installation this way, pasting the procedure here would be a good deed.
== Tutorial video ==
There is a tutorial video on how to make a "full" installation of MakeHuman and related tools on windows. This is up to date apart from the location of the zip file which is mentioned above.
{{#ev:youtube|3CCHGX-6Mtk}}
dbb7e7f03c7b74c817502a9acea9e30d2857051b
506
505
2015-08-30T08:48:41Z
Joepal
14
/* Windows */
wikitext
text/x-wiki
Contrary to popular opinion it is not all that difficult to run MakeHuman directly from source. Doing so has the following benefits:
* You get full access to all assets (ie you are not restricted to only compiled/processed/compressed versions)
* You can "update" the MakeHuman directory and thereby download only the latest instead of having to download and unzip a big binary each time a change has been made.
== General steps for installation ==
These are the steps which are needed in general
* Install dependencies
* Get a mercurial client (it's what's needed for downloading the source code)
* Download the source code
* Run the script for downloading assets
== General steps for updating ==
Once the installation has been made, these are the steps which is needed to get up to date with the latest version
* Run mercurial pull + mercurial update
* Run the script for downloading assets
== Linux ==
The easiest platform for doing all this is linux. This is what you do for installation:
sudo apt-get install python python-numpy python-opengl python-qt4 python-qt4-gl mercurial
hg clone <nowiki>https://bitbucket.org/MakeHuman/makehuman</nowiki>
cd makehuman/makehuman
python download_assets.py
To update:
cd makehuman
hg pull && hg update -C
python download_assets.py
To start makehuman:
cd makehuman/makehuman
python makehuman.py
== Windows ==
On windows you need to install the dependencies manually. However, in order to ease this process, there is a zip file with all that is needed, see http://files.jwp.se/makehuman.html
To install:
* Install everything in the zip file above. There is a readme in the file with instructions.
* Create a directory "makehuman" (or whatever you want to call it).
* Right-click the directory and choose tortoisehg ... clone
* Paste <nowiki>https://bitbucket.org/MakeHuman/makehuman</nowiki> in the text box for source
* Open your directory and the "makehuman" subdir which is now inside it
* Double-click "download_assets.py"
To update:
* Right-click the directory and choose tortoisehg ... update
* Open your directory and the "makehuman" subdir which is inside it
* Double-click "download_assets.py"
To run:
* Open your directory and the "makehuman" subdir which is inside it
* Double-click "makehuman.py"
== Mac ==
Unfortunately no-one of the devs run Mac. You will have to figure out the procedure on your own given the above.
If you have managed to make an installation this way, pasting the procedure here would be a good deed.
== Tutorial video ==
There is a tutorial video on how to make a "full" installation of MakeHuman and related tools on windows. This is up to date apart from the location of the zip file which is mentioned above.
{{#ev:youtube|3CCHGX-6Mtk}}
a79ff93d2fc110d357614c1a9314c3bebb28caa6
505
504
2015-08-30T08:47:29Z
Joepal
14
wikitext
text/x-wiki
Contrary to popular opinion it is not all that difficult to run MakeHuman directly from source. Doing so has the following benefits:
* You get full access to all assets (ie you are not restricted to only compiled/processed/compressed versions)
* You can "update" the MakeHuman directory and thereby download only the latest instead of having to download and unzip a big binary each time a change has been made.
== General steps for installation ==
These are the steps which are needed in general
* Install dependencies
* Get a mercurial client (it's what's needed for downloading the source code)
* Download the source code
* Run the script for downloading assets
== General steps for updating ==
Once the installation has been made, these are the steps which is needed to get up to date with the latest version
* Run mercurial pull + mercurial update
* Run the script for downloading assets
== Linux ==
The easiest platform for doing all this is linux. This is what you do for installation:
sudo apt-get install python python-numpy python-opengl python-qt4 python-qt4-gl mercurial
hg clone <nowiki>https://bitbucket.org/MakeHuman/makehuman</nowiki>
cd makehuman/makehuman
python download_assets.py
To update:
cd makehuman
hg pull && hg update -C
python download_assets.py
To start makehuman:
cd makehuman/makehuman
python makehuman.py
== Windows ==
On windows you need to install the dependencies manually. However, in order to ease this process, there is a zip file with all that is needed, see http://files.jwp.se/makehuman.html
To install:
* Install everything in the zip file above. There is a readme in the file with instructions.
* Create a directory "makehuman" (or whatever you want to call it).
* Right-click the directory and choose tortoisehg ... clone
* Paste <nowiki>https://bitbucket.org/MakeHuman/makehuman</nowiki> in the text box for source
* Open your directory and the "makehuman" subdir which is now inside it
* Double-click "download_assets.py"
To update:
* Right-click the directory and choose tortoisehg ... update
* Open your directory and the "makehuman" subdir which is inside it
* Double-click "download_assets.py"
To run:
* Open your directory and the "makehuman" subdir which is inside it
* Double-click "makehuman.py"
== Mac
Unfortunately no-one of the devs run Mac. You will have to figure out the procedure on your own given the above.
If you have managed to make an installation this way, pasting the procedure here would be a good deed.
== Tutorial video ==
There is a tutorial video on how to make a "full" installation of MakeHuman and related tools on windows. This is up to date apart from the location of the zip file which is mentioned above.
{{#ev:youtube|3CCHGX-6Mtk}}
fddc9a555eb8396947a74b22c513a9d60154a75f
504
2015-08-30T08:43:27Z
Joepal
14
Created page with "Contrary to popular opinion it is not all that difficult to run MakeHuman directly from source. Doing so has the following benefits: * You get full access to all assets (ie y..."
wikitext
text/x-wiki
Contrary to popular opinion it is not all that difficult to run MakeHuman directly from source. Doing so has the following benefits:
* You get full access to all assets (ie you are not restricted to only compiled/processed/compressed versions)
* You can "update" the MakeHuman directory and thereby download only the latest instead of having to download and unzip a big binary each time a change has been made.
== General steps for installation ==
These are the steps which are needed in general
* Install dependencies
* Get a mercurial client (it's what's needed for downloading the source code)
* Download the source code
* Run the script for downloading assets
== General steps for updating ==
Once the installation has been made, these are the steps which is needed to get up to date with the latest version
* Run mercurial pull + mercurial update
* Run the script for downloading assets
== Linux ==
The easiest platform for doing all this is linux. This is what you do for installation:
sudo apt-get install python python-numpy python-opengl python-qt4 python-qt4-gl mercurial
hg clone <nowiki>https://bitbucket.org/MakeHuman/makehuman</nowiki>
cd makehuman/makehuman
python download_assets.py
To update:
cd makehuman
hg pull && hg update -C
python download_assets.py
To start makehuman:
cd makehuman/makehuman
python makehuman.py
== Windows ==
On windows you need to install the dependencies manually. However, in order to ease this process, there is a zip file with all that is needed, see http://files.jwp.se/makehuman.html
To install:
* Install everything in the zip file above. There is a readme in the file with instructions.
* Create a directory "makehuman" (or whatever you want to call it).
* Right-click the directory and choose tortoisehg ... clone
* Paste <nowiki>https://bitbucket.org/MakeHuman/makehuman</nowiki> in the text box for source
* Open your directory and the "makehuman" subdir which is now inside it
* Double-click "download_assets.py"
To update:
* Right-click the directory and choose tortoisehg ... update
* Open your directory and the "makehuman" subdir which is inside it
* Double-click "download_assets.py"
To run:
* Open your directory and the "makehuman" subdir which is inside it
* Double-click "makehuman.py"
554f564caa376fbafafea8c6aca2a457d952837d
FAQ:How can I run the same code as the nightly build from source?
3002
533
2143
2119
2022-07-04T12:16:05Z
Kshepherd
116
/* Installing dependencies */
wikitext
text/x-wiki
Note that these instructions are for running the development code which resides on github. They are specifically ''not'' for running the old python 2 based code from bitbucket.
To run the code you will in summary need:
* Python 3 (any python version, including Anaconda, from 3.5.0 and upwards)
* PyQT5
* PyOpenGL
* numpy
== Running from source on Linux ==
These instructions are written for Ubuntu 20.04. Other systems might need a slightly adapted procedure.
=== Installing dependencies ===
All dependencies are available via apt:
sudo apt-get install python3 python3-opengl python3-pyqt5 python3-pyqt5.qtopengl python3-pyqt5.qtsvg python3-numpy git git-lfs
=== Getting the source ===
As we fetch source code from several repos, let's make a subdir in our home to store everything:
cd ~
mkdir makehuman-devel
cd makehuman-devel
Fetch all source directories. For now we'll use a fork of MHX2, but once we're sure our py3 port works we'll send a pull request back to Thomas:
git clone https://github.com/makehumancommunity/makehuman.git
git clone https://github.com/makehumancommunity/community-plugins-mhapi.git
git clone https://github.com/makehumancommunity/community-plugins-assetdownload.git
git clone https://github.com/makehumancommunity/mhx2-makehuman-exchange
=== Link plugins ===
We'll put symlinks in the plugin directory so that we can simply pull from the plugin repos and get the newest versions later on.
cd makehuman/makehuman/plugins
ln -s ../../../community-plugins-mhapi/1_mhapi
ln -s ../../../community-plugins-assetdownload/8_asset_downloader
ln -s ../../../mhx2-makehuman-exchange/9_export_mhx2
=== Download core assets ===
Cd to the makehuman dir and run the download script
cd ..
python3 download_assets_git.py
You can also optionally run the compile*.py scripts to generate NPZ files, but this is strictly speaking not necessary
=== Start makehuman ===
To start MH be sure to use python3:
python3 makehuman.py
If you get a crash or no toon is visible in the window, try:
python3 makehuman.py --noshaders
== Running from source on windows ==
These instructions should work independently of windows version.
=== Installing dependencies ===
The only thing you need to download manually is Python. Any python from version 3.6.0 and upwards should work, including versions such as Anaconda.
You can get an official python here: https://www.python.org/downloads/
It should not matter if you download 32 or 64 bit versions.
When installing python, opt to add python to PATH.
After having installed python, start a command prompt (left windows key + r, enter "cmd"), run the following commands to install the dependencies:
pip install numpy
pip install pyopengl
pip install pyqt5
If it says it cannot find the command "pip", you will have to specify the full path to it. This should be in the "scripts" dir where you installed python.
=== Getting the source ===
Quickest and easiest is to download a zip file of the repository, although you will most likely want to use git.
You can find the zip file here: https://github.com/makehumancommunity/makehuman/archive/master.zip
If you use git, the address to clone is https://github.com/makehumancommunity/makehuman.git
Unzip / clone the source at an appropriate location.
=== Download core assets ===
Again start a command prompt, "cd" to the "makehuman" subdir of where you put the source, and run the download script
python download_assets_git.py
It is normal that this script takes a (very) long time to finish, but all subsequent updates should be more or less immediate.
The above command requires that git is installed with support for git LFS, see https://git-lfs.github.com/. It it's not possible to use git with lfs, you can instead run
python download_assets.py
But this is deprecated and will currently fetch outdated assets.
You can also optionally run the compile*.py scripts to generate NPZ files, but this is strictly speaking not necessary.
=== Start makehuman ===
To start MH:
python makehuman.py
If you get a crash or no toon is visible in the window, try:
python makehuman.py --noshaders
== Running from source on Mac ==
To be written
dc92fc9ef7b1d6c1e8e0b7631444f5e3cdf81b24
2119
2118
2021-06-10T05:20:01Z
Joepal
14
wikitext
text/x-wiki
Note that these instructions are for running the development code which resides on github. They are specifically ''not'' for running the old python 2 based code from bitbucket.
To run the code you will in summary need:
* Python 3 (any python version, including Anaconda, from 3.5.0 and upwards)
* PyQT5
* PyOpenGL
* numpy
== Running from source on Linux ==
These instructions are written for Ubuntu 20.04. Other systems might need a slightly adapted procedure.
=== Installing dependencies ===
All dependencies are available via apt:
sudo apt-get install python3 python3-opengl python3-pyqt5 python3-numpy git
=== Getting the source ===
As we fetch source code from several repos, let's make a subdir in our home to store everything:
cd ~
mkdir makehuman-devel
cd makehuman-devel
Fetch all source directories. For now we'll use a fork of MHX2, but once we're sure our py3 port works we'll send a pull request back to Thomas:
git clone https://github.com/makehumancommunity/makehuman.git
git clone https://github.com/makehumancommunity/community-plugins-mhapi.git
git clone https://github.com/makehumancommunity/community-plugins-assetdownload.git
git clone https://github.com/makehumancommunity/mhx2-makehuman-exchange
=== Link plugins ===
We'll put symlinks in the plugin directory so that we can simply pull from the plugin repos and get the newest versions later on.
cd makehuman/makehuman/plugins
ln -s ../../../community-plugins-mhapi/1_mhapi
ln -s ../../../community-plugins-assetdownload/8_asset_downloader
ln -s ../../../mhx2-makehuman-exchange/9_export_mhx2
=== Download core assets ===
Cd to the makehuman dir and run the download script
cd ..
python3 download_assets_git.py
You can also optionally run the compile*.py scripts to generate NPZ files, but this is strictly speaking not necessary
=== Start makehuman ===
To start MH be sure to use python3:
python3 makehuman.py
If you get a crash or no toon is visible in the window, try:
python3 makehuman.py --noshaders
== Running from source on windows ==
These instructions should work independently of windows version.
=== Installing dependencies ===
The only thing you need to download manually is Python. Any python from version 3.6.0 and upwards should work, including versions such as Anaconda.
You can get an official python here: https://www.python.org/downloads/
It should not matter if you download 32 or 64 bit versions.
When installing python, opt to add python to PATH.
After having installed python, start a command prompt (left windows key + r, enter "cmd"), run the following commands to install the dependencies:
pip install numpy
pip install pyopengl
pip install pyqt5
If it says it cannot find the command "pip", you will have to specify the full path to it. This should be in the "scripts" dir where you installed python.
=== Getting the source ===
Quickest and easiest is to download a zip file of the repository, although you will most likely want to use git.
You can find the zip file here: https://github.com/makehumancommunity/makehuman/archive/master.zip
If you use git, the address to clone is https://github.com/makehumancommunity/makehuman.git
Unzip / clone the source at an appropriate location.
=== Download core assets ===
Again start a command prompt, "cd" to the "makehuman" subdir of where you put the source, and run the download script
python download_assets_git.py
It is normal that this script takes a (very) long time to finish, but all subsequent updates should be more or less immediate.
The above command requires that git is installed with support for git LFS, see https://git-lfs.github.com/. It it's not possible to use git with lfs, you can instead run
python download_assets.py
But this is deprecated and will currently fetch outdated assets.
You can also optionally run the compile*.py scripts to generate NPZ files, but this is strictly speaking not necessary.
=== Start makehuman ===
To start MH:
python makehuman.py
If you get a crash or no toon is visible in the window, try:
python makehuman.py --noshaders
== Running from source on Mac ==
To be written
ec2856d86c8db80bcd7ae9700caf990417bb76df
2118
1451
2021-06-10T05:19:14Z
Joepal
14
wikitext
text/x-wiki
Note that these instructions are for running the development code which resides on github. They are specifically ''not'' for running the old python 2 based code from bitbucket.
To run the code you will in summary need:
* Python 3 (any python version, including Anaconda, from 3.5.0 and upwards)
* PyQT5
* PyOpenGL
* numpy
== Running from source on Linux ==
These instructions are written for Ubuntu 16.04. Other systems might need a slightly adapted procedure.
=== Installing dependencies ===
All dependencies are available via apt:
sudo apt-get install python3 python3-opengl python3-pyqt5 python3-numpy git
=== Getting the source ===
As we fetch source code from several repos, let's make a subdir in our home to store everything:
cd ~
mkdir makehuman-devel
cd makehuman-devel
Fetch all source directories. For now we'll use a fork of MHX2, but once we're sure our py3 port works we'll send a pull request back to Thomas:
git clone https://github.com/makehumancommunity/makehuman.git
git clone https://github.com/makehumancommunity/community-plugins-mhapi.git
git clone https://github.com/makehumancommunity/community-plugins-assetdownload.git
git clone https://github.com/makehumancommunity/mhx2-makehuman-exchange
=== Link plugins ===
We'll put symlinks in the plugin directory so that we can simply pull from the plugin repos and get the newest versions later on.
cd makehuman/makehuman/plugins
ln -s ../../../community-plugins-mhapi/1_mhapi
ln -s ../../../community-plugins-assetdownload/8_asset_downloader
ln -s ../../../mhx2-makehuman-exchange/9_export_mhx2
=== Download core assets ===
Cd to the makehuman dir and run the download script
cd ..
python3 download_assets_git.py
You can also optionally run the compile*.py scripts to generate NPZ files, but this is strictly speaking not necessary
=== Start makehuman ===
To start MH be sure to use python3:
python3 makehuman.py
If you get a crash or no toon is visible in the window, try:
python3 makehuman.py --noshaders
== Running from source on windows ==
These instructions should work independently of windows version.
=== Installing dependencies ===
The only thing you need to download manually is Python. Any python from version 3.6.0 and upwards should work, including versions such as Anaconda.
You can get an official python here: https://www.python.org/downloads/
It should not matter if you download 32 or 64 bit versions.
When installing python, opt to add python to PATH.
After having installed python, start a command prompt (left windows key + r, enter "cmd"), run the following commands to install the dependencies:
pip install numpy
pip install pyopengl
pip install pyqt5
If it says it cannot find the command "pip", you will have to specify the full path to it. This should be in the "scripts" dir where you installed python.
=== Getting the source ===
Quickest and easiest is to download a zip file of the repository, although you will most likely want to use git.
You can find the zip file here: https://github.com/makehumancommunity/makehuman/archive/master.zip
If you use git, the address to clone is https://github.com/makehumancommunity/makehuman.git
Unzip / clone the source at an appropriate location.
=== Download core assets ===
Again start a command prompt, "cd" to the "makehuman" subdir of where you put the source, and run the download script
python download_assets_git.py
It is normal that this script takes a (very) long time to finish, but all subsequent updates should be more or less immediate.
The above command requires that git is installed with support for git LFS, see https://git-lfs.github.com/. It it's not possible to use git with lfs, you can instead run
python download_assets.py
But this is deprecated and will currently fetch outdated assets.
You can also optionally run the compile*.py scripts to generate NPZ files, but this is strictly speaking not necessary.
=== Start makehuman ===
To start MH:
python makehuman.py
If you get a crash or no toon is visible in the window, try:
python makehuman.py --noshaders
== Running from source on Mac ==
To be written
c9ede0a5bff7cf185851939199b5cfa326857d08
1451
1450
2018-04-24T21:42:21Z
Joepal
14
/* Download core assets */
wikitext
text/x-wiki
Note that these instructions are for running the development code which resides on github. They are specifically ''not'' for running the old python 2 based code from bitbucket.
To run the code you will in summary need:
* Python 3 (any python version, including Anaconda, from 3.5.0 and upwards)
* PyQT5
* PyOpenGL
* numpy
== Running from source on Linux ==
These instructions are written for Ubuntu 16.04. Other systems might need a slightly adapted procedure.
=== Installing dependencies ===
All dependencies are available via apt:
sudo apt-get install python3 python3-opengl python3-pyqt5 python3-numpy git
=== Getting the source ===
As we fetch source code from several repos, let's make a subdir in our home to store everything:
cd ~
mkdir makehuman-devel
cd makehuman-devel
Fetch all source directories. For now we'll use a fork of MHX2, but once we're sure our py3 port works we'll send a pull request back to Thomas:
git clone https://github.com/makehumancommunity/makehuman.git
git clone https://github.com/makehumancommunity/community-plugins-mhapi.git
git clone https://github.com/makehumancommunity/community-plugins-assetdownload.git
hg clone https://bitbucket.org/Aranuvir/mhx2_python3
=== Link plugins ===
We'll put symlinks in the plugin directory so that we can simply pull from the plugin repos and get the newest versions later on.
cd makehuman/makehuman/plugins
ln -s ../../../community-plugins-mhapi/1_mhapi
ln -s ../../../community-plugins-assetdownload/8_asset_downloader
ln -s ../../../mhx2_python3/9_export_mhx2
=== Download core assets ===
Cd to the makehuman dir and run the download script
cd ..
python3 download_assets.py
You can also optionally run the compile*.py scripts to generate NPZ files, but this is strictly speaking not necessary
=== Start makehuman ===
To start MH be sure to use python3:
python3 makehuman.py
If you get a crash or no toon is visible in the window, try:
python3 makehuman.py --noshaders
== Running from source on windows ==
These instructions should work independently of windows version.
=== Installing dependencies ===
The only thing you need to download manually is Python. Any python from version 3.5.0 and upwards should work, including versions such as Anaconda.
You can get an official python here: https://www.python.org/downloads/
It should not matter if you download 32 or 64 bit versions.
When installing python, opt to add python to PATH.
After having installed python, start a command prompt (left windows key + r, enter "cmd"), run the following commands to install the dependencies:
pip install numpy
pip install pyopengl
pip install pyqt5
If it says it cannot find the command "pip", you will have to specify the full path to it. This should be in the "scripts" dir where you installed python.
=== Getting the source ===
Quickest and easiest is to download a zip file of the repository, although you will most likely want to use git.
You can find the zip file here: https://github.com/makehumancommunity/makehuman/archive/master.zip
If you use git, the address to clone is https://github.com/makehumancommunity/makehuman.git
Unzip / clone the source at an appropriate location.
=== Download core assets ===
Again start a command prompt, "cd" to the "makehuman" subdir of where you put the source, and run the download script
python download_assets_git.py
It is normal that this script takes a (very) long time to finish, but all subsequent updates should be more or less immediate.
The above command requires that git is installed with support for git LFS, see https://git-lfs.github.com/. It it's not possible to use git with lfs, you can instead run
python download_assets.py
But this is deprecated and will currently fetch outdated assets.
You can also optionally run the compile*.py scripts to generate NPZ files, but this is strictly speaking not necessary.
=== Start makehuman ===
To start MH:
python makehuman.py
If you get a crash or no toon is visible in the window, try:
python makehuman.py --noshaders
== Running from source on Mac ==
To be written
ed65c1f95ffd29db3f23f53500e553e5df3ed3d8
1450
1449
2018-04-24T21:41:46Z
Joepal
14
/* Download core assets */
wikitext
text/x-wiki
Note that these instructions are for running the development code which resides on github. They are specifically ''not'' for running the old python 2 based code from bitbucket.
To run the code you will in summary need:
* Python 3 (any python version, including Anaconda, from 3.5.0 and upwards)
* PyQT5
* PyOpenGL
* numpy
== Running from source on Linux ==
These instructions are written for Ubuntu 16.04. Other systems might need a slightly adapted procedure.
=== Installing dependencies ===
All dependencies are available via apt:
sudo apt-get install python3 python3-opengl python3-pyqt5 python3-numpy git
=== Getting the source ===
As we fetch source code from several repos, let's make a subdir in our home to store everything:
cd ~
mkdir makehuman-devel
cd makehuman-devel
Fetch all source directories. For now we'll use a fork of MHX2, but once we're sure our py3 port works we'll send a pull request back to Thomas:
git clone https://github.com/makehumancommunity/makehuman.git
git clone https://github.com/makehumancommunity/community-plugins-mhapi.git
git clone https://github.com/makehumancommunity/community-plugins-assetdownload.git
hg clone https://bitbucket.org/Aranuvir/mhx2_python3
=== Link plugins ===
We'll put symlinks in the plugin directory so that we can simply pull from the plugin repos and get the newest versions later on.
cd makehuman/makehuman/plugins
ln -s ../../../community-plugins-mhapi/1_mhapi
ln -s ../../../community-plugins-assetdownload/8_asset_downloader
ln -s ../../../mhx2_python3/9_export_mhx2
=== Download core assets ===
Cd to the makehuman dir and run the download script
cd ..
python3 download_assets.py
You can also optionally run the compile*.py scripts to generate NPZ files, but this is strictly speaking not necessary
=== Start makehuman ===
To start MH be sure to use python3:
python3 makehuman.py
If you get a crash or no toon is visible in the window, try:
python3 makehuman.py --noshaders
== Running from source on windows ==
These instructions should work independently of windows version.
=== Installing dependencies ===
The only thing you need to download manually is Python. Any python from version 3.5.0 and upwards should work, including versions such as Anaconda.
You can get an official python here: https://www.python.org/downloads/
It should not matter if you download 32 or 64 bit versions.
When installing python, opt to add python to PATH.
After having installed python, start a command prompt (left windows key + r, enter "cmd"), run the following commands to install the dependencies:
pip install numpy
pip install pyopengl
pip install pyqt5
If it says it cannot find the command "pip", you will have to specify the full path to it. This should be in the "scripts" dir where you installed python.
=== Getting the source ===
Quickest and easiest is to download a zip file of the repository, although you will most likely want to use git.
You can find the zip file here: https://github.com/makehumancommunity/makehuman/archive/master.zip
If you use git, the address to clone is https://github.com/makehumancommunity/makehuman.git
Unzip / clone the source at an appropriate location.
=== Download core assets ===
Again start a command prompt, "cd" to the "makehuman" subdir of where you put the source, and run the download script
python download_assets_git.py
It is normal that this script takes a (very) long time to finish, but all subsequent updates should be more or less immediate.
The above command requires that git is installed with support for git LFS, see https://git-lfs.github.com/. It it's not possible to use git with lfs, you can instead run
python download_assets_git.py
But this is deprecated and will currently fetch outdated assets.
You can also optionally run the compile*.py scripts to generate NPZ files, but this is strictly speaking not necessary.
=== Start makehuman ===
To start MH:
python makehuman.py
If you get a crash or no toon is visible in the window, try:
python makehuman.py --noshaders
== Running from source on Mac ==
To be written
dbf25d47ecab73c516069079a0e7bedab81c1ca1
1449
1448
2018-04-24T21:37:25Z
Joepal
14
wikitext
text/x-wiki
Note that these instructions are for running the development code which resides on github. They are specifically ''not'' for running the old python 2 based code from bitbucket.
To run the code you will in summary need:
* Python 3 (any python version, including Anaconda, from 3.5.0 and upwards)
* PyQT5
* PyOpenGL
* numpy
== Running from source on Linux ==
These instructions are written for Ubuntu 16.04. Other systems might need a slightly adapted procedure.
=== Installing dependencies ===
All dependencies are available via apt:
sudo apt-get install python3 python3-opengl python3-pyqt5 python3-numpy git
=== Getting the source ===
As we fetch source code from several repos, let's make a subdir in our home to store everything:
cd ~
mkdir makehuman-devel
cd makehuman-devel
Fetch all source directories. For now we'll use a fork of MHX2, but once we're sure our py3 port works we'll send a pull request back to Thomas:
git clone https://github.com/makehumancommunity/makehuman.git
git clone https://github.com/makehumancommunity/community-plugins-mhapi.git
git clone https://github.com/makehumancommunity/community-plugins-assetdownload.git
hg clone https://bitbucket.org/Aranuvir/mhx2_python3
=== Link plugins ===
We'll put symlinks in the plugin directory so that we can simply pull from the plugin repos and get the newest versions later on.
cd makehuman/makehuman/plugins
ln -s ../../../community-plugins-mhapi/1_mhapi
ln -s ../../../community-plugins-assetdownload/8_asset_downloader
ln -s ../../../mhx2_python3/9_export_mhx2
=== Download core assets ===
Cd to the makehuman dir and run the download script
cd ..
python3 download_assets.py
You can also optionally run the compile*.py scripts to generate NPZ files, but this is strictly speaking not necessary
=== Start makehuman ===
To start MH be sure to use python3:
python3 makehuman.py
If you get a crash or no toon is visible in the window, try:
python3 makehuman.py --noshaders
== Running from source on windows ==
These instructions should work independently of windows version.
=== Installing dependencies ===
The only thing you need to download manually is Python. Any python from version 3.5.0 and upwards should work, including versions such as Anaconda.
You can get an official python here: https://www.python.org/downloads/
It should not matter if you download 32 or 64 bit versions.
When installing python, opt to add python to PATH.
After having installed python, start a command prompt (left windows key + r, enter "cmd"), run the following commands to install the dependencies:
pip install numpy
pip install pyopengl
pip install pyqt5
If it says it cannot find the command "pip", you will have to specify the full path to it. This should be in the "scripts" dir where you installed python.
=== Getting the source ===
Quickest and easiest is to download a zip file of the repository, although you will most likely want to use git.
You can find the zip file here: https://github.com/makehumancommunity/makehuman/archive/master.zip
If you use git, the address to clone is https://github.com/makehumancommunity/makehuman.git
Unzip / clone the source at an appropriate location.
=== Download core assets ===
Again start a command prompt and "cd" to the makehuman dir and run the download script
python download_assets_git.py
You can also optionally run the compile*.py scripts to generate NPZ files, but this is strictly speaking not necessary.
The above command requires that git installed with support for git LFS, see https://git-lfs.github.com/. It it's not possible to use git with lfs, you can instead run
python download_assets_git.py
But this is deprecated and will currently fetch outdated assets.
=== Start makehuman ===
To start MH:
python makehuman.py
If you get a crash or no toon is visible in the window, try:
python makehuman.py --noshaders
== Running from source on Mac ==
To be written
d133851a4baa6cc8fe2428564c210f87493034ec
1448
1447
2018-04-24T21:32:17Z
Joepal
14
/* Download core assets */
wikitext
text/x-wiki
The main difference between the stable code at bitbucket and the new code at github, is that the new code is a port to python3. Further: as pyqt4 has been deprecated and is no longer available for download for windows, the code now also has a fallback on pyside.
So to run the code you will in summary need:
* Python 3 (on windows exactly python 3.4, on other platforms at least python 3.4)
* PyQT4 or PySide (on windows only PySide is available)
* PyOpenGL
* numpy
== Running from source on Linux ==
These instructions are written for Ubuntu 16.04. Other systems might need a slightly adapted procedure.
=== Installing dependencies ===
All dependencies are available via apt:
sudo apt-get install python3 python3-opengl python3-pyside python3-numpy git
=== Getting the source ===
As we fetch source code from several repos, let's make a subdir in our home to store everything:
cd ~
mkdir makehuman-devel
cd makehuman-devel
Fetch all source directories. For now we'll use a fork of MHX2, but once we're sure our py3 port works we'll send a pull request back to Thomas:
git clone https://github.com/makehumancommunity/makehuman.git
git clone https://github.com/makehumancommunity/community-plugins-mhapi.git
git clone https://github.com/makehumancommunity/community-plugins-assetdownload.git
hg clone https://bitbucket.org/Aranuvir/mhx2_python3
=== Link plugins ===
We'll put symlinks in the plugin directory so that we can simply pull from the plugin repos and get the newest versions later on.
cd makehuman/makehuman/plugins
ln -s ../../../community-plugins-mhapi/1_mhapi
ln -s ../../../community-plugins-assetdownload/8_asset_downloader
ln -s ../../../mhx2_python3/9_export_mhx2
=== Download core assets ===
Cd to the makehuman dir and run the download script
cd ..
python3 download_assets.py
You can also optionally run the compile*.py scripts to generate NPZ files, but this is strictly speaking not necessary
=== Start makehuman ===
To start MH be sure to use python3:
python3 makehuman.py
If you get a crash or no toon is visible in the window, try:
python3 makehuman.py --noshaders
== Running from source on windows ==
These instructions should work independently of windows version.
=== Installing dependencies ===
The only thing you need to download manually is Python. Any python from version 3.5.0 and upwards should work, including versions such as Anaconda.
You can get an official python here: https://www.python.org/downloads/
It should not matter if you download 32 or 64 bit versions.
When installing python, opt to add python to PATH.
After having installed python, start a command prompt (left windows key + r, enter "cmd"), run the following commands to install the dependencies:
pip install numpy
pip install pyopengl
pip install pyqt5
If it says it cannot find the command "pip", you will have to specify the full path to it. This should be in the "scripts" dir where you installed python.
=== Getting the source ===
Quickest and easiest is to download a zip file of the repository, although you will most likely want to use git.
You can find the zip file here: https://github.com/makehumancommunity/makehuman/archive/master.zip
If you use git, the address to clone is https://github.com/makehumancommunity/makehuman.git
Unzip / clone the source at an appropriate location.
=== Download core assets ===
Again start a command prompt and "cd" to the makehuman dir and run the download script
python download_assets_git.py
You can also optionally run the compile*.py scripts to generate NPZ files, but this is strictly speaking not necessary.
The above command requires that git installed with support for git LFS, see https://git-lfs.github.com/. It it's not possible to use git with lfs, you can instead run
python download_assets_git.py
But this is deprecated and will currently fetch outdated assets.
=== Start makehuman ===
To start MH:
python makehuman.py
If you get a crash or no toon is visible in the window, try:
python makehuman.py --noshaders
== Running from source on Mac ==
To be written
2e50306eb6b146d971e34e7de0b36e5e39872806
1447
1411
2018-04-24T21:29:29Z
Joepal
14
/* Running from source on windows */
wikitext
text/x-wiki
The main difference between the stable code at bitbucket and the new code at github, is that the new code is a port to python3. Further: as pyqt4 has been deprecated and is no longer available for download for windows, the code now also has a fallback on pyside.
So to run the code you will in summary need:
* Python 3 (on windows exactly python 3.4, on other platforms at least python 3.4)
* PyQT4 or PySide (on windows only PySide is available)
* PyOpenGL
* numpy
== Running from source on Linux ==
These instructions are written for Ubuntu 16.04. Other systems might need a slightly adapted procedure.
=== Installing dependencies ===
All dependencies are available via apt:
sudo apt-get install python3 python3-opengl python3-pyside python3-numpy git
=== Getting the source ===
As we fetch source code from several repos, let's make a subdir in our home to store everything:
cd ~
mkdir makehuman-devel
cd makehuman-devel
Fetch all source directories. For now we'll use a fork of MHX2, but once we're sure our py3 port works we'll send a pull request back to Thomas:
git clone https://github.com/makehumancommunity/makehuman.git
git clone https://github.com/makehumancommunity/community-plugins-mhapi.git
git clone https://github.com/makehumancommunity/community-plugins-assetdownload.git
hg clone https://bitbucket.org/Aranuvir/mhx2_python3
=== Link plugins ===
We'll put symlinks in the plugin directory so that we can simply pull from the plugin repos and get the newest versions later on.
cd makehuman/makehuman/plugins
ln -s ../../../community-plugins-mhapi/1_mhapi
ln -s ../../../community-plugins-assetdownload/8_asset_downloader
ln -s ../../../mhx2_python3/9_export_mhx2
=== Download core assets ===
Cd to the makehuman dir and run the download script
cd ..
python3 download_assets.py
You can also optionally run the compile*.py scripts to generate NPZ files, but this is strictly speaking not necessary
=== Start makehuman ===
To start MH be sure to use python3:
python3 makehuman.py
If you get a crash or no toon is visible in the window, try:
python3 makehuman.py --noshaders
== Running from source on windows ==
These instructions should work independently of windows version.
=== Installing dependencies ===
The only thing you need to download manually is Python. Any python from version 3.5.0 and upwards should work, including versions such as Anaconda.
You can get an official python here: https://www.python.org/downloads/
It should not matter if you download 32 or 64 bit versions.
When installing python, opt to add python to PATH.
After having installed python, start a command prompt (left windows key + r, enter "cmd"), run the following commands to install the dependencies:
pip install numpy
pip install pyopengl
pip install pyqt5
If it says it cannot find the command "pip", you will have to specify the full path to it. This should be in the "scripts" dir where you installed python.
=== Getting the source ===
Quickest and easiest is to download a zip file of the repository, although you will most likely want to use git.
You can find the zip file here: https://github.com/makehumancommunity/makehuman/archive/master.zip
If you use git, the address to clone is https://github.com/makehumancommunity/makehuman.git
Unzip / clone the source at an appropriate location.
=== Download core assets ===
Cd to the makehuman dir and run the download script
python download_assets_git.py
You can also optionally run the compile*.py scripts to generate NPZ files, but this is strictly speaking not necessary.
The above command requires that git installed with support for git LFS, see https://git-lfs.github.com/. It it's not possible to use git with lfs, you can instead run
python download_assets_git.py
But this is deprecated and will currently fetch outdated assets.
=== Start makehuman ===
To start MH:
python makehuman.py
If you get a crash or no toon is visible in the window, try:
python makehuman.py --noshaders
== Running from source on Mac ==
To be written
d2d7e03bdbc217f9b2755c768e835345d6c61461
1411
1410
2017-07-13T11:28:15Z
Joepal
14
wikitext
text/x-wiki
The main difference between the stable code at bitbucket and the new code at github, is that the new code is a port to python3. Further: as pyqt4 has been deprecated and is no longer available for download for windows, the code now also has a fallback on pyside.
So to run the code you will in summary need:
* Python 3 (on windows exactly python 3.4, on other platforms at least python 3.4)
* PyQT4 or PySide (on windows only PySide is available)
* PyOpenGL
* numpy
== Running from source on Linux ==
These instructions are written for Ubuntu 16.04. Other systems might need a slightly adapted procedure.
=== Installing dependencies ===
All dependencies are available via apt:
sudo apt-get install python3 python3-opengl python3-pyside python3-numpy git
=== Getting the source ===
As we fetch source code from several repos, let's make a subdir in our home to store everything:
cd ~
mkdir makehuman-devel
cd makehuman-devel
Fetch all source directories. For now we'll use a fork of MHX2, but once we're sure our py3 port works we'll send a pull request back to Thomas:
git clone https://github.com/makehumancommunity/makehuman.git
git clone https://github.com/makehumancommunity/community-plugins-mhapi.git
git clone https://github.com/makehumancommunity/community-plugins-assetdownload.git
hg clone https://bitbucket.org/Aranuvir/mhx2_python3
=== Link plugins ===
We'll put symlinks in the plugin directory so that we can simply pull from the plugin repos and get the newest versions later on.
cd makehuman/makehuman/plugins
ln -s ../../../community-plugins-mhapi/1_mhapi
ln -s ../../../community-plugins-assetdownload/8_asset_downloader
ln -s ../../../mhx2_python3/9_export_mhx2
=== Download core assets ===
Cd to the makehuman dir and run the download script
cd ..
python3 download_assets.py
You can also optionally run the compile*.py scripts to generate NPZ files, but this is strictly speaking not necessary
=== Start makehuman ===
To start MH be sure to use python3:
python3 makehuman.py
If you get a crash or no toon is visible in the window, try:
python3 makehuman.py --noshaders
== Running from source on windows ==
To be written
== Running from source on Mac ==
To be written
1999e94dc1cc694eb08afe57666174710d102168
1410
2017-07-13T11:27:31Z
Joepal
14
Created page with "The main difference between the stable code at bitbucket and the new code at github, is that the new code is a port to python3. Further: as pyqt4 has been deprecated and is no..."
wikitext
text/x-wiki
The main difference between the stable code at bitbucket and the new code at github, is that the new code is a port to python3. Further: as pyqt4 has been deprecated and is no longer available for download for windows, the code now also has a fallback on pyside.
So to run the code you will in summary need:
* Python 3 (on windows exactly python 3.4, on other platforms at least python 3.4)
* PyQT4 or PySide (on windows only PySide is available)
* PyOpenGL
* numpy
== Running from source on Linux ==
These instructions are written for Ubuntu 16.04. Other systems might need a slightly adapted procedure.
=== Installing dependencies ===
All dependencies are available via apt:
sudo apt-get install python3 python3-opengl python3-pyside python3-numpy git
=== Getting the source ===
As we fetch source code from several repos, let's make a subdir in our home to store everything:
cd ~
mkdir makehuman-devel
cd makehuman-devel
Fetch all source directories. For now we'll use a fork of MHX2, but once we're sure our py3 port works we'll send a pull request back to Thomas:
git clone https://github.com/makehumancommunity/makehuman.git
git clone https://github.com/makehumancommunity/community-plugins-mhapi.git
git clone https://github.com/makehumancommunity/community-plugins-assetdownload.git
hg clone https://bitbucket.org/Aranuvir/mhx2_python3
=== Link plugins ===
We'll put symlinks in the plugin directory so that we can simply pull from the plugin repos and get the newest versions later on.
cd makehuman/makehuman/plugins
ln -s ../../../community-plugins-mhapi/1_mhapi
ln -s ../../../community-plugins-assetdownload/8_asset_downloader
ln -s ../../../mhx2_python3/9_export_mhx2
=== Download core assets ===
Cd to the makehuman dir and run the download script
cd ..
python3 download_assets.py
You can also optionally run the compile*.py scripts to generate NPZ files, but this is strictly speaking not necessary
=== Start makehuman ===
To start MH be sure to use python3:
python3 makehuman.py
If you get a crash or no toon is visible in the window, try:
python3 makehuman.py --noshaders
3f93fc0c6d0c2394eafe42f4baa1f990c8b195f6
FAQ:How can I use the asset downloader to download everything by everyone?
3002
572
1996
1585
2021-01-25T23:46:22Z
Hfugfn65438
108
related discussion on the forums
wikitext
text/x-wiki
In the asset downloader you can download one item at a time. That you cannot do batch or mass downloading is by design, and a way to protect the limited capacity hosting we're able to pay for.
The MakeHuman project has a very, very limited budget (you can see exactly how much by going to the [https://www.patreon.com/makehuman patreon page]). This is enough to pay for the already pretty heavy load caused by the asset downloader. It is definitely not enough to pay for the kind of hosting that would be needed if thousands of users started to mass download everything in the now pretty large asset repository.
So for the foreseeable future we will not be adding features such as selecting multiple assets to batch download or a download everything functionality.
Here's a related discussion on the forums. http://www.makehumancommunity.org/forum/viewtopic.php?f=3&t=19231
ef92920d577ab75de95b13fc40a726f55e064f56
1585
2019-03-24T15:33:40Z
Joepal
14
Created page with "In the asset downloader you can download one item at a time. That you cannot do batch or mass downloading is by design, and a way to protect the limited capacity hosting we're..."
wikitext
text/x-wiki
In the asset downloader you can download one item at a time. That you cannot do batch or mass downloading is by design, and a way to protect the limited capacity hosting we're able to pay for.
The MakeHuman project has a very, very limited budget (you can see exactly how much by going to the [https://www.patreon.com/makehuman patreon page]). This is enough to pay for the already pretty heavy load caused by the asset downloader. It is definitely not enough to pay for the kind of hosting that would be needed if thousands of users started to mass download everything in the now pretty large asset repository.
So for the foreseeable future we will not be adding features such as selecting multiple assets to batch download or a download everything functionality.
e3cc9510b26cdab6628070095070be69897e479a
FAQ:How do I export assets from MakeHuman to Blender?
3002
576
1607
2019-09-27T08:04:01Z
Joepal
14
Created page with "There are two main pipelines for exporting stuff from MakeHuman to Blender: * MPFB (see also [[FAQ: What is MPFB (MakeHuman Plugin For Blender)?]]). This is the new pipeline,..."
wikitext
text/x-wiki
There are two main pipelines for exporting stuff from MakeHuman to Blender:
* MPFB (see also [[FAQ: What is MPFB (MakeHuman Plugin For Blender)?]]). This is the new pipeline, which is suitable for MakeHuman 1.2.0 and Blender 2.80. This is generally recommended unless you really need a specific feature of MHX. MPFB will make blender able to communicate directly with MakeHuman rather than relying on file exports.
* MHX (MakeHuman eXchange). This is the traditional pipeline consisting of a file exporter for makehuman and a file importer for blender. This is recommended if you for some reason is stuck with MakeHuman 1.1.x and Blender 2.79 or older. MHX has several issues with Blender 2.80, and is generally considered superseded by MPFB in MakeHuman 1.2.x.
114a6717346ad9d7f771eca885820f9d26ec5a63
FAQ:How do I install a plugin in Blender 2.80?
3002
578
1609
2019-09-27T08:14:31Z
Joepal
14
Created page with "MakeHuman-related plugins for blender usually come as zip files. These can be imported into blender directly without the need to first unzip them. * In blender, go to the me..."
wikitext
text/x-wiki
MakeHuman-related plugins for blender usually come as zip files. These can be imported into blender directly without the need to first unzip them.
* In blender, go to the menu edit -> preferences
* Go to the "Add-ons" tab
* Click the "Install..." button
* Browse to the zip file containing the addon and select it
* Click "Install addon from file"
* (the addon should appear in the main window)
* Make sure you enable the addon by checking its checkbox. It will be disabled per default.
* In the bottom left of the window, click the menu icon (three horizontal bars)
* Click "save preferences"
170fd930273fc8e3aed0e62fbec00883c8bcf6bd
FAQ:How do I make and upload a fashion render?
3002
508
1273
1272
2016-12-22T10:18:53Z
Joepal
14
/* The long version */
wikitext
text/x-wiki
== The short version ==
Download the [http://www.jwp.se/files/LightRoom2.blend LightRoom2.blend] file. Import a toon with the assets you want to demo. Hit the render button. Go to
[http://www.makehumancommunity.org/fashion.html the fashion render list] and click "add". Then follow the instructions.
== The long version ==
The intention with the fashion render is to give the user a completely honest idea about an asset, and to enable comparison of assets. Thus, you are very limited in what you are allowed to change in the scene.
=== Rules ===
What you ''cannot'' do for the front/side/back renders:
* You can't move light sources or change their intensity
* You can't move the camera or change it angle
* You can't edit the backdrop mesh
* You can't change the settings for sky backdrop or ambient occlusion
* You can't change the materials from how MHX2 made them look upon import (with the exception that you are allowed to manually add bump maps / normal maps if MHX2 failed to set them up correctly)
* You can't edit the meshes of the assets (with the exception that if two clothes pieces from different authors intersect each other, you are allowed to delete a few of the offending vertices)
What you ''can'' do for the front/side/back renders:
* In the rare circumstance an asset is built for flat shading rather than smooth, you are allowed to set the shading to flat (this is not possible to handle via materials atm)
* You are allowed to use whatever toon shape you want
* You are allowed to use whatever pose you want (although for practical reasons, poses where the toon is lying down should probably be avoided)
* If you so desire, you can add a subdivision modifier both on the toon and on the assets
* Change the color of the backdrop (might be necessary if there is too little contrast between the clothes and the backgrount)
When you upload your renders, there is a file slot called "touched-up render". This follows the same rules for scene, lights and camera, but for this image:
* You are allowed to do whatever you want with the materials
* You are allowed to do minor touch-up on the meshes
* You are allowed to use particle systems where you feel it is appropriate
=== Instructions ===
Model the toon to your liking in MakeHuman, and equip it with the assets you want to demo. If there is a pose you would like to use, you might as well assign it too, otherwise you will need to pose the character inside blender later on.
Upon export, use MHX2 unless you have strong reasons not to. Be sure to set "scale units" to "meter".
[[File:Fashion_mhx2.png]]
In blender, import the toon. It should appear in roughly the appropriate position. If not, move it so that it fits inside the box named "place_toon_inside_this_box".
[[File:Fashion_blender_inside_box.png]]
The file defaults to 2000 samples, GPU compute. If this is too heavy for your machines, adjust these settings, but please do not go below 500 samples.
[[File:Fashion_blender_sampling.png]]
Render the scene. Save image with an appropriate file name. If you want to do renders from the side and/or from the back, then rotate the toon, re-render and save.
Optionally, if you want to make a touched-up version, edit the materials to your liking and re-render.
With the files in place, go to [http://www.makehumancommunity.org/fashion.html the fashion render list] and click "add".
In the upload form, enter a title. This should be a very short description of what the render is about, for example "new gown".
For each asset you have used in the image, list what slot it is in and what asset it is. The asset is selectable in the "item" drop down, which will display a list of asset names, sorted on name but split up by asset category (note that hair will appear as clothes). To add more rows to list assets in, click "add another item".
You do not need to list items which came bundled with MakeHuman (these aren't available in the item drop down list anyway).
[[File:Fashion_upload_1.png]]
For each image you want to add, select it in the appropriate slot. It is probably best to click the "upload" button each time you selected an image, otherwise you might get a server error on the submit of the post.
[[File:Fashion_upload_2.png]]
If you so desire, you can add some comments about the renders. But these comments will only be visible of the full post is shown, not in the fashion render list.
cc5e9c10000334c55ce3ca648b34cfb317624e4f
1272
1271
2016-12-11T22:02:32Z
Punkduck
38
wikitext
text/x-wiki
== The short version ==
Download the [http://www.jwp.se/files/LightRoom2.blend LightRoom2.blend] file. Import a toon with the assets you want to demo. Hit the render button. Go to
[http://www.makehumancommunity.org/fashion.html the fashion render list] and click "add". Then follow the instructions.
== The long version ==
The intention with the fashion render is to give the user a completely honest idea about an asset, and to enable comparison of assets. Thus, you are very limited in what you are allowed to change in the scene.
=== Rules ===
What you ''cannot'' do for the front/side/back renders:
* You can't move light sources or change their intensity
* You can't move the camera or change it angle
* You can't edit the backdrop mesh
* You can't change the settings for sky backdrop or ambient occlusion
* You can't change the materials from how MHX2 made them look upon import (with the exception that you are allowed to manually add bump maps / normal maps if MHX2 failed to set them up correctly)
* You can't edit the meshes of the assets (with the exception that if two clothes pieces from different authors intersect each other, you are allowed to delete a few of the offending vertices)
What you ''can'' do for the front/side/back renders:
* You are allowed to use whatever toon shape you want
* You are allowed to use whatever pose you want (although for practical reasons, poses where the toon is lying down should probably be avoided)
* If you so desire, you can add a subdivision modifier both on the toon and on the assets
* Change the color of the backdrop (might be necessary if there is too little contrast between the clothes and the backgrount)
When you upload your renders, there is a file slot called "touched-up render". This follows the same rules for scene, lights and camera, but for this image:
* You are allowed to do whatever you want with the materials
* You are allowed to do minor touch-up on the meshes
* You are allowed to use particle systems where you feel it is appropriate
=== Instructions ===
Model the toon to your liking in MakeHuman, and equip it with the assets you want to demo. If there is a pose you would like to use, you might as well assign it too, otherwise you will need to pose the character inside blender later on.
Upon export, use MHX2 unless you have strong reasons not to. Be sure to set "scale units" to "meter".
[[File:Fashion_mhx2.png]]
In blender, import the toon. It should appear in roughly the appropriate position. If not, move it so that it fits inside the box named "place_toon_inside_this_box".
[[File:Fashion_blender_inside_box.png]]
The file defaults to 2000 samples, GPU compute. If this is too heavy for your machines, adjust these settings, but please do not go below 500 samples.
[[File:Fashion_blender_sampling.png]]
Render the scene. Save image with an appropriate file name. If you want to do renders from the side and/or from the back, then rotate the toon, re-render and save.
Optionally, if you want to make a touched-up version, edit the materials to your liking and re-render.
With the files in place, go to [http://www.makehumancommunity.org/fashion.html the fashion render list] and click "add".
In the upload form, enter a title. This should be a very short description of what the render is about, for example "new gown".
For each asset you have used in the image, list what slot it is in and what asset it is. The asset is selectable in the "item" drop down, which will display a list of asset names, sorted on name but split up by asset category (note that hair will appear as clothes). To add more rows to list assets in, click "add another item".
You do not need to list items which came bundled with MakeHuman (these aren't available in the item drop down list anyway).
[[File:Fashion_upload_1.png]]
For each image you want to add, select it in the appropriate slot. It is probably best to click the "upload" button each time you selected an image, otherwise you might get a server error on the submit of the post.
[[File:Fashion_upload_2.png]]
If you so desire, you can add some comments about the renders. But these comments will only be visible of the full post is shown, not in the fashion render list.
ab7c0be9aef5e55acfad1b5f97f31fe60abd9640
1271
1270
2016-12-11T21:23:07Z
Aranuvir
17
wikitext
text/x-wiki
== The short version ==
Download the [http://www.jwp.se/files/LightRoom2.blend LightRoom2.blend] file. Import a toon with the assets you want to demo. Hit the render button. Go to
[http://www.makehumancommunity.org/fashion.html the fasion render list] and click "add". Then follow the instructions.
== The long version ==
The intention with the fashion render is to give the user a completely honest idea about an asset, and to enable comparison of assets. Thus, you are very limited in what you are allowed to change in the scene.
=== Rules ===
What you ''cannot'' do for the front/side/back renders:
* You can't move light sources or change their intensity
* You can't move the camera or change it angle
* You can't edit the backdrop mesh
* You can't change the settings for sky backdrop or ambient occlusion
* You can't change the materials from how MHX2 made them look upon import (with the exception that you are allowed to manually add bump maps / normal maps if MHX2 failed to set them up correctly)
* You can't edit the meshes of the assets (with the exception that if two clothes pieces from different authors intersect each other, you are allowed to delete a few of the offending vertices)
What you ''can'' do for the front/side/back renders:
* You are allowed to use whatever toon shape you want
* You are allowed to use whatever pose you want (although for practical reasons, poses where the toon is lying down should probably be avoided)
* If you so desire, you can add a subdivision modifier both on the toon and on the assets
* Change the color of the backdrop (might be necessary if there is too little contrast between the clothes and the backgrount)
When you upload your renders, there is a file slot called "touched-up render". This follows the same rules for scene, lights and camera, but for this image:
* You are allowed to do whatever you want with the materials
* You are allowed to do minor touch-up on the meshes
* You are allowed to use particle systems where you feel it is appropriate
=== Instructions ===
Model the toon to your liking in MakeHuman, and equip it with the assets you want to demo. If there is a pose you would like to use, you might as well assign it too, otherwise you will need to pose the character inside blender later on.
Upon export, use MHX2 unless you have strong reasons not to. Be sure to set "scale units" to "meter".
[[File:Fashion_mhx2.png]]
In blender, import the toon. It should appear in roughly the appropriate position. If not, move it so that it fits inside the box named "place_toon_inside_this_box".
[[File:Fashion_blender_inside_box.png]]
The file defaults to 2000 samples, GPU compute. If this is too heavy for your machines, adjust these settings, but please do not go below 500 samples.
[[File:Fashion_blender_sampling.png]]
Render the scene. Save image with an appropriate file name. If you want to do renders from the side and/or from the back, then rotate the toon, re-render and save.
Optionally, if you want to make a touched-up version, edit the materials to your liking and re-render.
With the files in place, go to [http://www.makehumancommunity.org/fashion.org the fasion render list] and click "add".
In the upload form, enter a title. This should be a very short description of what the render is about, for example "new gown".
For each asset you have used in the image, list what slot it is in and what asset it is. The asset is selectable in the "item" drop down, which will display a list of asset names, sorted on name but split up by asset category (note that hair will appear as clothes). To add more rows to list assets in, click "add another item".
You do not need to list items which came bundled with MakeHuman (these aren't available in the item drop down list anyway).
[[File:Fashion_upload_1.png]]
For each image you want to add, select it in the appropriate slot. It is probably best to click the "upload" button each time you selected an image, otherwise you might get a server error on the submit of the post.
[[File:Fashion_upload_2.png]]
If you so desire, you can add some comments about the renders. But these comments will only be visible of the full post is shown, not in the fashion render list.
0a9a490abaa5203892d54f7f65a73a8c0d197cca
1270
1269
2016-12-11T14:40:37Z
Joepal
14
wikitext
text/x-wiki
== The short version ==
Download the [http://www.jwp.se/files/LightRoom2.blend LightRoom2.blend] file. Import a toon with the assets you want to demo. Hit the render button. Go to
[http://www.makehumancommunity.org/fashion.org the fasion render list] and click "add". Then follow the instructions.
== The long version ==
The intention with the fashion render is to give the user a completely honest idea about an asset, and to enable comparison of assets. Thus, you are very limited in what you are allowed to change in the scene.
=== Rules ===
What you ''cannot'' do for the front/side/back renders:
* You can't move light sources or change their intensity
* You can't move the camera or change it angle
* You can't edit the backdrop mesh
* You can't change the settings for sky backdrop or ambient occlusion
* You can't change the materials from how MHX2 made them look upon import (with the exception that you are allowed to manually add bump maps / normal maps if MHX2 failed to set them up correctly)
* You can't edit the meshes of the assets (with the exception that if two clothes pieces from different authors intersect each other, you are allowed to delete a few of the offending vertices)
What you ''can'' do for the front/side/back renders:
* You are allowed to use whatever toon shape you want
* You are allowed to use whatever pose you want (although for practical reasons, poses where the toon is lying down should probably be avoided)
* If you so desire, you can add a subdivision modifier both on the toon and on the assets
* Change the color of the backdrop (might be necessary if there is too little contrast between the clothes and the backgrount)
When you upload your renders, there is a file slot called "touched-up render". This follows the same rules for scene, lights and camera, but for this image:
* You are allowed to do whatever you want with the materials
* You are allowed to do minor touch-up on the meshes
* You are allowed to use particle systems where you feel it is appropriate
=== Instructions ===
Model the toon to your liking in MakeHuman, and equip it with the assets you want to demo. If there is a pose you would like to use, you might as well assign it too, otherwise you will need to pose the character inside blender later on.
Upon export, use MHX2 unless you have strong reasons not to. Be sure to set "scale units" to "meter".
[[File:Fashion_mhx2.png]]
In blender, import the toon. It should appear in roughly the appropriate position. If not, move it so that it fits inside the box named "place_toon_inside_this_box".
[[File:Fashion_blender_inside_box.png]]
The file defaults to 2000 samples, GPU compute. If this is too heavy for your machines, adjust these settings, but please do not go below 500 samples.
[[File:Fashion_blender_sampling.png]]
Render the scene. Save image with an appropriate file name. If you want to do renders from the side and/or from the back, then rotate the toon, re-render and save.
Optionally, if you want to make a touched-up version, edit the materials to your liking and re-render.
With the files in place, go to [http://www.makehumancommunity.org/fashion.org the fasion render list] and click "add".
In the upload form, enter a title. This should be a very short description of what the render is about, for example "new gown".
For each asset you have used in the image, list what slot it is in and what asset it is. The asset is selectable in the "item" drop down, which will display a list of asset names, sorted on name but split up by asset category (note that hair will appear as clothes). To add more rows to list assets in, click "add another item".
You do not need to list items which came bundled with MakeHuman (these aren't available in the item drop down list anyway).
[[File:Fashion_upload_1.png]]
For each image you want to add, select it in the appropriate slot. It is probably best to click the "upload" button each time you selected an image, otherwise you might get a server error on the submit of the post.
[[File:Fashion_upload_2.png]]
If you so desire, you can add some comments about the renders. But these comments will only be visible of the full post is shown, not in the fashion render list.
8c050657839a80a8ff52d870770184ea9ad6d3a1
1269
1266
2016-12-11T14:38:52Z
Joepal
14
wikitext
text/x-wiki
== The short version ==
Download the [http://www.jwp.se/files/LightRoom2.blend LightRoom2.blend] file. Import a toon with the assets you want to demo. Hit the render button. Go to
[http://www.makehumancommunity.org/fashion.org the fasion render list] and click "add". Then follow the instructions.
== The long version ==
The intention with the fashion render is to give the user a completely honest idea about an asset, and to enable comparison of assets. Thus, you are very limited in what you are allowed to change in the scene.
=== Rules ===
What you ''cannot'' do for the front/side/back renders:
* You can't move light sources or change their intensity
* You can't move the camera or change it angle
* You can't edit the backdrop mesh
* You can't change the settings for sky backdrop or ambient occlusion
* You can't change the materials from how MHX2 made them look upon import (with the exception that you are allowed to manually add bump maps / normal maps if MHX2 failed to set them up correctly)
* You can't edit the meshes of the assets (with the exception that if two clothes pieces from different authors intersect each other, you are allowed to delete a few of the offending vertices)
What you ''can'' do for the front/side/back renders:
* You are allowed to use whatever toon shape you want
* You are allowed to use whatever pose you want (although for practical reasons, poses where the toon is lying down should probably be avoided)
* If you so desire, you can add a subdivision modifier both on the toon and on the assets
* Change the color of the backdrop (might be necessary if there is too little contrast between the clothes and the backgrount)
When you upload your renders, there is a file slot called "touched-up render". This follows the same rules for scene, lights and camera, but for this image:
* You are allowed to do whatever you want with the materials
* You are allowed to do minor touch-up on the meshes
* You are allowed to use particle systems where you feel it is appropriate
=== Instructions ===
Model the toon to your liking in MakeHuman, and equip it with the assets you want to demo. If there is a pose you would like to use, you might as well assign it too, otherwise you will need to pose the character inside blender later on.
Upon export, use MHX2 unless you have strong reasons not to. Be sure to set "scale units" to "meter".
[[File:Fashion_mhx2.png]]
In blender, import the toon. It should appear in roughly the appropriate position. If not, move it so that it fits inside the box named "place_toon_inside_this_box".
[[File:Fashion_blender_inside_box.png]]
The file defaults to 2000 samples, GPU compute. If this is too heavy for your machines, adjust these settings, but please do not go below 500 samples.
[[File:Fashion_blender_sampling.png]]
Render the scene. Save image with an appropriate file name. If you want to do renders from the side and/or from the back, then rotate the toon, re-render and save.
Optionally, if you want to make a touched-up version, edit the materials to your liking and re-render.
With the files in place, go to [http://www.makehumancommunity.org/fashion.org the fasion render list] and click "add".
In the upload form, enter a title. This should be a very short description of what the render is about, for example "new gown".
For each asset you have used in the image, list what slot it is in and what asset it is. The asset is selectable in the "item" drop down, which will display a list of asset names, sorted on name but split up by asset category (note that hair will appear as clothes). To add more rows to list assets in, click "add another item".
[[File:Fashion_upload_1.png]]
For each image you want to add, select it in the appropriate slot. It is probably best to click the "upload" button each time you selected an image, otherwise you might get a server error on the submit of the post.
[[File:Fashion_upload_2.png]]
If you so desire, you can add some comments about the renders. But these comments will only be visible of the full post is shown, not in the fashion render list.
375e8cdb7911a2bcc53ee6b0e5a78c554a8df408
1266
1262
2016-12-11T14:27:39Z
Joepal
14
wikitext
text/x-wiki
== The short version ==
Download the [http://www.jwp.se/files/LightRoom2.blend LightRoom2.blend] file. Import a toon with the assets you want to demo. Hit the render button. Go to
[http://www.makehumancommunity.org/fashion.org the fasion render list] and click "add". Then follow the instructions.
== The long version ==
The intention with the fashion render is to give the user a completely honest idea about an asset, and to enable comparison of assets. Thus, you are very limited in what you are allowed to change in the scene.
=== Rules ===
What you ''cannot'' do for the front/side/back renders:
* You can't move light sources or change their intensity
* You can't move the camera or change it angle
* You can't edit the backdrop mesh
* You can't change the settings for sky backdrop or ambient occlusion
* You can't change the materials from how MHX2 made them look upon import (with the exception that you are allowed to manually add bump maps / normal maps if MHX2 failed to set them up correctly)
* You can't edit the meshes of the assets (with the exception that if two clothes pieces from different authors intersect each other, you are allowed to delete a few of the offending vertices)
What you ''can'' do for the front/side/back renders:
* You are allowed to use whatever toon shape you want
* You are allowed to use whatever pose you want (although for practical reasons, poses where the toon is lying down should probably be avoided)
* If you so desire, you can add a subdivision modifier both on the toon and on the assets
* Change the color of the backdrop (might be necessary if there is too little contrast between the clothes and the backgrount)
When you upload your renders, there is a file slot called "touched-up render". This follows the same rules for scene, lights and camera, but for this image:
* You are allowed to do whatever you want with the materials
* You are allowed to do minor touch-up on the meshes
* You are allowed to use particle systems where you feel it is appropriate
=== Instructions ===
Model the toon to your liking in MakeHuman, and equip it with the assets you want to demo. If there is a pose you would like to use, you might as well assign it too, otherwise you will need to pose the character inside blender later on.
Upon export, use MHX2 unless you have strong reasons not to. Be sure to set "scale units" to "meter".
[[File:Fashion_mhx2.png]]
In blender, import the toon. It should appear in roughly the appropriate position. If not, move it so that it fits inside the box named "place_toon_inside_this_box".
[[File:Fashion_blender_inside_box.png]]
The file defaults to 2000 samples, GPU compute. If this is too heavy for your machines, adjust these settings, but please do not go below 500 samples.
[[File:File:Fashion_blender_sampling.png]]
bb5d6e0c0118c4451300519a30649f3a36748bdb
1262
2016-12-11T14:11:23Z
Joepal
14
Created page with "== The short version == Download the [http://www.jwp.se/files/LightRoom2.blend LightRoom2.blend] file. Import a toon with the assets you want to demo. Hit the render button...."
wikitext
text/x-wiki
== The short version ==
Download the [http://www.jwp.se/files/LightRoom2.blend LightRoom2.blend] file. Import a toon with the assets you want to demo. Hit the render button. Go to
[http://www.makehumancommunity.org/fashion.org the fasion render list] and click "add". Then follow the instructions.
== The long version ==
The intention with the fashion render is to give the user a completely honest idea about an asset, and to enable comparison of assets. Thus, you are very limited in what you are allowed to change in the scene.
=== Rules ===
What you ''cannot'' do for the front/side/back renders:
* You can't move light sources or change their intensity
* You can't move the camera or change it angle
* You can't edit the backdrop mesh
* You can't change the settings for sky backdrop or ambient occlusion
* You can't change the materials from how MHX2 made them look upon import (with the exception that you are allowed to manually add bump maps / normal maps if MHX2 failed to set them up correctly)
* You can't edit the meshes of the assets (with the exception that if two clothes pieces from different authors intersect each other, you are allowed to delete a few of the offending vertices)
What you ''can'' do for the front/side/back renders:
* You are allowed to use whatever toon shape you want
* You are allowed to use whatever pose you want (although for practical reasons, poses where the toon is lying down should probably be avoided)
* If you so desire, you can add a subdivision modifier both on the toon and on the assets
* Change the color of the backdrop (might be necessary if there is too little contrast between the clothes and the backgrount)
When you upload your renders, there is a file slot called "touched-up render". This follows the same rules for scene, lights and camera, but for this image:
* You are allowed to do whatever you want with the materials
* You are allowed to do minor touch-up on the meshes
* You are allowed to use particle systems where you feel it is appropriate
=== Instructions ===
(to be written)
c2f6bf98121b2bb113ccaf5131154527fb29a4cd
FAQ:How do I submit a bug report?
3002
17
2006
69
2021-01-27T10:02:27Z
Hfugfn65438
108
working link
wikitext
text/x-wiki
If you have found something that you think merits a bug report, please submit it on the bug tracker.
The credentials on the [http://www.makehumancommunity.org/content/bugtracker.html bug tracker] are the same as on the forums, so if you already have a forum login, use that to log in on the bug tracker.
NOTE: if you experienced a crash rather than a glitch, please also read this before submitting your bug report: [[FAQ:How to provide a makehuman log for a good bug report?]]
1f979289bfe2a24c5a11b656c7a22a9bca651d91
69
2015-07-06T07:41:47Z
Joepal
14
Created page with "If you have found something that you think merits a bug report, please submit it on the bug tracker, at http://bugtracker.makehumancommunity.org. The logins on the bug track..."
wikitext
text/x-wiki
If you have found something that you think merits a bug report, please submit it on the bug tracker, at http://bugtracker.makehumancommunity.org.
The logins on the bug tracker are the same as on the forums, so if you already have a forum login, use that to log in on the bug tracker.
NOTE: if you experienced a crash rather than a glitch, please also read this before submitting your bug report: [[FAQ:How to provide a makehuman log for a good bug report?]]
4d69df02fed6d0d74da11260677993cd1a4928e8
FAQ:How do I uninstall MakeHuman?
3002
331
1322
972
2017-02-18T00:19:05Z
Aranuvir
17
/* Windows */
wikitext
text/x-wiki
Here are some informations how to remove MakeHuman from your system. The information is mostly intended for version 1.1.0 of MakeHuman.
== Windows ==
Simply delete the folder where you unzipped the MakeHuman-package. ([[FAQ:Where can I unzip MakeHuman (in Windows)?]]). MakeHuman itself only creates one folder (see below). The bundled Python and Qt libraries aren't expected to create any temporary files. (In case the last statement is not true, the temporary files should be found in the usual temp-folders. Please inform the MakeHuman-Team if you find any further remainder of MakeHuman, so the FAQ can be adapted.)
== Linux ==
Uninstallating MakeHuman depends on the method you installed it. If you have just unzipped a MakeHuman-package, simply delete this folder. In other cases use the specific package management tools of your distribution.
* Ubuntu (/Debian): You can remove MakeHuman via apt:
sudo apt-get remove --purge makehuman
Then remove the ppa:
sudo add-apt-repository --remove ppa:makehuman-official/makehuman-11x
Another possible method is to use ppa-purge (universe):
sudo ppa-purge ppa:makehuman-official/makehuman-11x
This will remove MakeHuman and the ppa from source.list. In case there was another installation of MakeHuman before, from other sources then from the ppa, ppa-purge will only perform a downgrade to the previous version.
If you have copied additional files to the system folders of MakeHuman by hand, these files will not be removed by the methods above and need to be deleted by hand.
* OpenSuse/Fedora:
Currently MakeHuman doesn't provide official rpm-packages. Please refer to your system documentation how to uninstall software.
== Mac OS X ==
To be written.
== Additional information, for all operating systems ==
On first run MakeHuman will create a folder called makehuman in your HOME directory. ([[FAQ:Where are my MakeHuman files found (where is my HOME directory)?]]) This folder can be deleted, too. But keep in mind, this folder contains all your models and other stuff you created or downloaded. '''These files will be lost, if you don't have a back-up!'''
''If you like, you can leaf a comment in the community forum why you removed MakeHuman (http://www.makehumancommunity.org/forum/). This will help the MakeHuman-Team to improve the software.''
3ee8afbc85e5f2210426df994e253129bb8f13ee
972
870
2016-05-27T15:52:48Z
Aranuvir
17
wikitext
text/x-wiki
Here are some informations how to remove MakeHuman from your system. The information is mostly intended for version 1.1.0 of MakeHuman.
== Windows ==
Simply delete the folder where you unzipped the MakeHuman-package. ([[FAQ:Where can I unzip MakeHuman (in Windows)?]]). MakeHuman itself only creates one folder (see below). The bundled python and qt libraries aren't expected to create any temporary files. (In case the last statement is not true, the temporary files should be found in the usual temp-folders. Please inform the MakeHuman-Team if you find any further remainder of MakeHuman, so the FAQ can be adapted.)
== Linux ==
Uninstallating MakeHuman depends on the method you installed it. If you have just unzipped a MakeHuman-package, simply delete this folder. In other cases use the specific package management tools of your distribution.
* Ubuntu (/Debian): You can remove MakeHuman via apt:
sudo apt-get remove --purge makehuman
Then remove the ppa:
sudo add-apt-repository --remove ppa:makehuman-official/makehuman-11x
Another possible method is to use ppa-purge (universe):
sudo ppa-purge ppa:makehuman-official/makehuman-11x
This will remove MakeHuman and the ppa from source.list. In case there was another installation of MakeHuman before, from other sources then from the ppa, ppa-purge will only perform a downgrade to the previous version.
If you have copied additional files to the system folders of MakeHuman by hand, these files will not be removed by the methods above and need to be deleted by hand.
* OpenSuse/Fedora:
Currently MakeHuman doesn't provide official rpm-packages. Please refer to your system documentation how to uninstall software.
== Mac OS X ==
To be written.
== Additional information, for all operating systems ==
On first run MakeHuman will create a folder called makehuman in your HOME directory. ([[FAQ:Where are my MakeHuman files found (where is my HOME directory)?]]) This folder can be deleted, too. But keep in mind, this folder contains all your models and other stuff you created or downloaded. '''These files will be lost, if you don't have a back-up!'''
''If you like, you can leaf a comment in the community forum why you removed MakeHuman (http://www.makehumancommunity.org/forum/). This will help the MakeHuman-Team to improve the software.''
03b2d324b8db05107cee3d26f99e9d22aaa6b47b
870
869
2016-05-27T11:40:20Z
Aranuvir
17
wikitext
text/x-wiki
Here are some informations how to remove MakeHuman from your system. The information is mostly intended for version 1.1.0 of MakeHuman.
== Windows ==
Simply delete the folder where you unzipped the MakeHuman-package. ([[FAQ:Where can I unzip MakeHuman (in Windows)?]]). MakeHuman itself only creates one folder (see below). The bundled python and qt libraries shouldn't create any temporary files. (In case the last statement is not true, the temporary files should be found in the usual temp-folders. Please inform the MakeHuman-Team if you find any further remainder of MakeHuman, so the FAQ can be adapted.)
== Linux ==
Uninstallating MakeHuman depends on the method you installed it. If just unzipped a MakeHuman-package, simply delete this folder. In other cases use the specific package management tools of your distribution.
* Ubuntu (/Debian): You can remove MakeHuman via apt:
sudo apt-get remove --purge makehuman
Then remove the ppa:
sudo add-apt-repository --remove ppa:makehuman-official/makehuman-11x
Another possible method is to use ppa-purge (universe):
sudo ppa-purge ppa:makehuman-official/makehuman-11x
This will remove MakeHuman and the ppa from source.list. In case there was another installation of MakeHuman before, from other sources then from the ppa, ppa-purge will only perform a downgrade to the previous version.
If you have copied additional files to the system folders of MakeHuman by hand, these files will not be removed by the methods above and need to be deleted by hand.
* OpenSuse/Fedora:
Currently MakeHuman doesn't provide official rpm-packages. Please refer to your system documentation how to uninstall software.
== Mac OS X ==
To be written.
== Additional information, for all operating systems ==
On first run MakeHuman will create a folder called makehuman in your HOME directory. ([[FAQ:Where are my MakeHuman files found (where is my HOME directory)?]]) This folder can be deleted, too. But keep in mind, this folder contains all your models and other stuff you created or downloaded. '''These files will be lost, if you don't have a back-up!'''
''If you like, you can leaf a comment in the community forum why you removed MakeHuman (http://www.makehumancommunity.org/forum/). This will help the MakeHuman-Team to improve the software.''
d91678ec20a7e6a0866069667b10385477b68b47
869
868
2016-05-27T11:39:41Z
Aranuvir
17
wikitext
text/x-wiki
Here are some informations how to remove MakeHuman from your system. The information is mostly intended for version 1.1.0 of MakeHuman.
== Windows ==
Simply delete the folder where you unzipped the MakeHuman-package. ([[FAQ:Where can I unzip MakeHuman (in Windows)?]]). MakeHuman itself only creates one folder (see below). The bundled python and qt libraries shouldn't create any temporary files. (In case the last statement is not true, the temporary files should be found in the usual temp-folders. Please inform the MakeHuman-Team if you find any further remainder of MakeHuman, so the FAQ can be adapted.
== Linux ==
Uninstallating MakeHuman depends on the method you installed it. If just unzipped a MakeHuman-package, simply delete this folder. In other cases use the specific package management tools of your distribution.
* Ubuntu (/Debian): You can remove MakeHuman via apt:
sudo apt-get remove --purge makehuman
Then remove the ppa:
sudo add-apt-repository --remove ppa:makehuman-official/makehuman-11x
Another possible method is to use ppa-purge (universe):
sudo ppa-purge ppa:makehuman-official/makehuman-11x
This will remove MakeHuman and the ppa from source.list. In case there was another installation of MakeHuman before, from other sources then from the ppa, ppa-purge will only perform a downgrade to the previous version.
If you have copied additional files to the system folders of MakeHuman by hand, these files will not be removed by the methods above and need to be deleted by hand.
* OpenSuse/Fedora:
Currently MakeHuman doesn't provide official rpm-packages. Please refer to your system documentation how to uninstall software.
== Mac OS X ==
To be written.
== Additional information, for all operating systems ==
On first run MakeHuman will create a folder called makehuman in your HOME directory. ([[FAQ:Where are my MakeHuman files found (where is my HOME directory)?]]) This folder can be deleted, too. But keep in mind, this folder contains all your models and other stuff you created or downloaded. '''These files will be lost, if you don't have a back-up!'''
''If you like, you can leaf a comment in the community forum why you removed MakeHuman (http://www.makehumancommunity.org/forum/). This will help the MakeHuman-Team to improve the software.''
30ae66ef70488b38183307784a547f85078a5c5c
868
867
2016-05-27T10:25:52Z
Aranuvir
17
wikitext
text/x-wiki
Here are some informations how to remove MakeHuman from your system.
== Windows ==
Simply delete the folder where you unzipped the MakeHuman-package. ([[FAQ:Where can I unzip MakeHuman (in Windows)?]])
== Linux ==
Uninstallating MakeHuman depends on the method you installed it. If just unzipped a MakeHuman-package, simply delete this folder. In other cases use the specific package management tools of your distribution.
* Ubuntu (/Debian): You can remove MakeHuman via apt:
sudo apt-get remove --purge makehuman
Then remove the ppa:
sudo add-apt-repository --remove ppa:makehuman-official/makehuman-11x
Another possible method is to use ppa-purge (universe):
sudo ppa-purge ppa:makehuman-official/makehuman-11x
This will remove MakeHuman and the ppa from source.list. In case there was another installation of MakeHuman before, from other sources then from the ppa, ppa-purge will only perform a downgrade to the previous version.
If you have copied additional files to the system folders of MakeHuman by hand, these files will not be removed by the methods above and need to be deleted by hand.
* OpenSuse/Fedora:
Currently MakeHuman doesn't provide specific rpm-packages.
== Mac OS X ==
To be written.
== Additional information, for all operating systems ==
On first run MakeHuman will create a folder called makehuman in your HOME directory. ([[FAQ:Where are my MakeHuman files found (where is my HOME directory)?]]) This folder can be deleted, too. But keep in mind, this folder contains all your models and other stuff you created or downloaded. '''These files will be lost, if you don't have a back-up!'''
''If you like, you can leaf a comment in the community forum why you removed MakeHuman (http://www.makehumancommunity.org/forum/). This will help the MakeHuman-Team to improve the software.''
09dfd0b277087b40ccf5f8325c4509dc53f3ac92
867
866
2016-05-27T10:02:37Z
Aranuvir
17
wikitext
text/x-wiki
Here are some informations how to remove MakeHuman from your system.
== Windows ==
Simply delete the folder where you unzipped the MakeHuman-package. ([[FAQ:Where can I unzip MakeHuman (in Windows)?]])
== Linux ==
Uninstallating MakeHuman depends on the method you installed it. If just unzipped a MakeHuman-package, simply delete this folder. In other cases use the specific package management tools of your distribution.
* Ubuntu (/Debian): You can remove MakeHuman via apt:
sudo apt-get remove --purge makehuman
Then remove the ppa:
sudo add-apt-repository --remove ppa:makehuman-official/makehuman-11x
Another possible method is to use ppa-purge (universe):
sudo ppa-purge ppa:makehuman-official/makehuman-11x
This will remove MakeHuman and the ppa from source.list. In case there was another installation of MakeHuman before, from other sources then from the ppa, ppa-purge will only perform a downgrade to the previous version.
If you have copied additional files to the system folders of MakeHuman by hand, these files will not be removed by the methods above and need to be deleted by hand.
* OpenSuse/Fedora:
Currently MakeHuman doesn't provide specific rpm-packages.
== Mac OS X ==
To be written.
== Additional information, for all operating systems ==
On first run MakeHuman will create a folder called makehuman in your HOME directory. ([[FAQ:Where are my MakeHuman files found (where is my HOME directory)?]]) This folder can be deleted, too. But keep in mind, this folder contains all your models and other stuff you created or downloaded. '''These files will be lost, if you don't have a back-up!'''
''If you like, you can leaf a comment in the community forum why you removed MakeHuman (http://www.makehumancommunity.org/forum/). This will help the MakeHuman-Team to improve the software.''
8cab93293a925fd73603dfbe45f39c877a1ee14a
866
2016-05-27T09:52:23Z
Aranuvir
17
Created page with "Here are some informations how to remove MakeHuman from your system. == Windows == Simply delete the folder where you unzipped the MakeHuman-package. (FAQ:Where can I unzip..."
wikitext
text/x-wiki
Here are some informations how to remove MakeHuman from your system.
== Windows ==
Simply delete the folder where you unzipped the MakeHuman-package. ([[FAQ:Where can I unzip MakeHuman (in Windows)?]])
== Linux ==
Uninstallating MakeHuman depends on the method you installed it. If just unzipped a MakeHuman-package, simply delete this folder. In other cases use the specific package management tools of your distribution.
* Ubuntu (/Debian): You can remove MakeHuman via apt:
sudo apt-get remove --purge makehuman
Then remove the ppa:
sudo add-apt-repository --remove ppa:makehuman-official/makehuman-11x
Another possible method is to use ppa-purge (universe):
sudo ppa-purge ppa:makehuman-official/makehuman-11x
This will remove MakeHuman and the ppa from source.list. In case there was another installation of MakeHuman from other sources then from the ppa before, ppa-purge will only perform a downgrade to the previous version.
If you have copied additional files to the system folders of MakeHuman by hand, these files will not be removed by the methods above and need to be deleted by hand.
* OpenSuse/Fedora:
Currently MakeHuman doesn't provide specific rpm-packages.
== Mac OS X ==
To be written.
== Additional information, for all operating systems ==
On first run MakeHuman will create a folder called makehuman in your HOME directory. ([[FAQ:Where are my MakeHuman files found (where is my HOME directory)?]]) This folder can be deleted, too. But keep in mind, this folder contains all your models and other stuff you created or downloaded. '''These files will be lost, if you don't have a back-up!'''
''If you like, you can leaf a comment in the community forum why you removed MakeHuman (http://www.makehumancommunity.org/forum/). This will help the MakeHuman-Team to improve the software.''
b7af4cb8743b27d78f079569e5dd4d09e51177a1
FAQ:How do I upgrade a plugin in Blender 2.80?
3002
579
1610
2019-09-27T08:20:34Z
Joepal
14
Created page with "If you want to get the latest version of a plugin, you can go to the appropriate github page and download it as a zip file. * For MPFB, download the latest zip here: https:/..."
wikitext
text/x-wiki
If you want to get the latest version of a plugin, you can go to the appropriate github page and download it as a zip file.
* For MPFB, download the latest zip here: https://github.com/makehumancommunity/makehuman-plugin-for-blender/tree/master/blender_distribution
* For most other makehuman-related blender plugins, go to the github repo, click "clone or download" and then "download as zip".
With the zip file available, you can upgrade the addon inside blender.
* Approach 1: Go to edit -> preferences -> addons. Find the plugin. Expand it. Click remove. Then follow the instructions in [[FAQ: How do I install a plugin in Blender 2.80?]]
* Approach 2: Follow the instructions in [[FAQ: How do I install a plugin in Blender 2.80?]] directly, but make sure you check the "overwrite" checkbox when importing the plugin
In either approach, you may need to restart blender before the new version of the plugin works.
3b63a8eca03008cebb18c18e11547648ec6f394b
FAQ:How much does MakeHuman cost?
3002
25
82
2015-07-09T11:27:26Z
Joepal
14
Created page with "MakeHuman is a Open Source Software and it's free of charge."
wikitext
text/x-wiki
MakeHuman is a Open Source Software and it's free of charge.
52fd6bb4537ac286409cd9cc0f1c2d700b370b2b
FAQ:How to provide a makehuman log for a good bug report?
3002
16
645
68
2016-04-22T08:53:00Z
Joepal
14
wikitext
text/x-wiki
Pretty much whatever error report you post on the forums will have the same response unless you do what is listed below. The reponse will be "What does the log say?"
To avoid this, always include the logs if you want to report an error, be it on the forums or in the bug tracker.
When you run MakeHuman, four (two if you are on Linux) files are created into your home/makehuman directory (see [[FAQ:Where are my MakeHuman files found (where is my HOME directory)?]])
* makehuman.log
* makehuman-debug.txt
* python-out.txt
* python-err.txt
If a crash has occurred, the makehuman.log file is usually the most interesting, but it doesn't hurt to include all of them.
As alternative (and if the bug doesn't prevent the start of the GUI) you can also look in "Utilities"-->"Logs". Select the error and use the button "Copy to clipboard" in order to paste it in the report message.
ab45a694417049d99771bdf167c422a1602fd382
68
67
2015-07-06T07:39:30Z
Joepal
14
wikitext
text/x-wiki
When you run MakeHuman, four (two if you are on Linux) files are created into your home/makehuman directory (see [[FAQ:Where are my MakeHuman files found (where is my HOME directory)?]])
* makehuman.log
* makehuman-debug.txt
* python-out.txt
* python-err.txt
If a crash has occurred, the makehuman.log file is usually the most interesting, but it doesn't hurt to include all of them.
As alternative (and if the bug doesn't prevent the start of the GUI) you can also look in "Utilities"-->"Logs". Select the error and use the button "Copy to clipboard" in order to paste it in the report message.
ecd1fa46bb776e81a06068fe644e2f67f31a6797
67
2015-07-06T07:37:50Z
Joepal
14
Created page with "When you run MakeHuman, four (two if you are on Linux) files are creates into your home/makehuman directory (see FAQ:Where are my MakeHuman files found (where is my HOME di..."
wikitext
text/x-wiki
When you run MakeHuman, four (two if you are on Linux) files are creates into your home/makehuman directory (see [[FAQ:Where are my MakeHuman files found (where is my HOME directory)?]])
* makehuman.log
* makehuman-debug.txt
* python-out.txt
* python-err.txt
If a crash has occurred, the makehuman.log file is usually the most interesting, but it doesn't hurt to include all of them.
As alternative (and if the bug doesn't prevent the start of the GUI) you can also look in "Utilities"-->"Logs". Select the error and use the button "Copy to clipboard" in order to paste it in the report message.
3b23d71c5af44a290a3f0eb991359cce26b8d907
FAQ:I'm not a coder. How can I contribute?
3002
43
105
102
2015-07-10T10:05:31Z
Joepal
14
wikitext
text/x-wiki
If you are an artist, consider making assets for MakeHuman and share them with the community. For more info, see [[FAQ:I have made a new asset for MakeHuman. How can I contribute it?]]
If you want to write documentation (something which is always needed), simply go ahead and edit the relevant page here on the wiki. For more info see [[FAQ:I have made a tutorial. How do I contribute it?]] and [[FAQ:I want to help write documentation. How do I do that?]]
Apart from this, testing and bug reporting is always needed, as well as answering questions on forums. If you want ideas, go to http://bugtracker.makehumancommunity.org and see what's in the queue.
fdec36bc3dce69ccf1a2c4e47ce6d688e7690d1e
102
2015-07-10T10:04:02Z
Joepal
14
Created page with "If you are an artist, consider making assets for MakeHuman and share them with the community. For more info, see FAQ:I have made a new asset for MakeHuman. How can I contrib..."
wikitext
text/x-wiki
If you are an artist, consider making assets for MakeHuman and share them with the community. For more info, see [[FAQ:I have made a new asset for MakeHuman. How can I contribute it?]]
If you want to write documentation (something which is always needed), simply go ahead and edit the relevant page here on the wiki. For more info see [[FAQ:I have made a tutorial. How to I contribute it?]] and [[FAQ:I want to help write documentation. How do I do that?]]
Apart from this, testing and bug reporting is always needed, as well as answering questions on forums. If you want ideas, go to http://bugtracker.makehumancommunity.org and see what's in the queue.
a72edc124c7695c2195a4014a256edd792366697
FAQ:I'm using ubuntu. Is there a PPA?
3002
37
1014
996
2016-06-16T17:36:57Z
Aranuvir
17
wikitext
text/x-wiki
Yes, for stable releases. In the future we will might add a separate PPA for unstable builds.
The PPA for the latest stable release is here: https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-11x
To enable it, run
sudo add-apt-repository ppa:makehuman-official/makehuman-11x
sudo apt-get update
Then, to install makehuman, run
sudo apt-get install makehuman
Also revere to the documentation of your operating system about the general use of PPAs!
2de0d48bd2a94d107ed9d5129d6b6f3622c4153b
996
659
2016-05-31T08:52:53Z
Joepal
14
wikitext
text/x-wiki
Yes, for stable releases. In the future we will might add a separate PPA for unstable builds.
The PPA for the latest stable release is here: https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-11x
To enable it, run
sudo add-apt-repository ppa:makehuman-official/makehuman-11x
sudo apt-get update
Then, to install makehuman, run
sudo apt-get install makehuman
646123db26ae2e5bd9b818e1fa9d80f846e70475
659
96
2016-05-14T08:30:46Z
Joepal
14
wikitext
text/x-wiki
Yes, for stable releases. In the future we will might add a separate PPA for unstable builds.
The PPA for the latest stable release is here: https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-11x
To enable it, run
sudo add-apt-repository ppa:makehuman-official/makehuman-11x && sudo apt-get update
Then, to install makehuman, run
sudo apt-get install makehuman
c800433e4ff99727167c306076069df16abe4475
96
2015-07-10T09:51:31Z
Joepal
14
Created page with "Yes, but currently only of the last stable release. In the future we will add separate PPAs for stable and unstable. The root page of the PPAs is here: https://launchpad.net..."
wikitext
text/x-wiki
Yes, but currently only of the last stable release. In the future we will add separate PPAs for stable and unstable.
The root page of the PPAs is here: https://launchpad.net/~makehuman-official
Note that for nightly builds, there is a monolithic DEB you can download from http://download.tuxfamily.org/makehuman/nightly/
e54edb56e8087286b0b08be1bbd2f1f396dfb1df
FAQ:I already have a 3d object from elsewhere. How can I use it in MH?
3002
219
1235
1234
2016-11-19T18:01:00Z
Joepal
14
wikitext
text/x-wiki
Short answer is that you can't, not directly. MH can only use assets which are made specifically for MH. For meshes this in practice means assets produced by MakeClothes.
If you have a 3d object you want to use (say, for example, clothes or a necklace), you have to use MakeClothes to convert it for MH first.
In this case you can import it in blender and use it for the clothes part in MakeClothes, as if you were modeling clothes. See the [[Documentation:Index|documentation]] on makeclothes for more information.
843a2613a0bed5fd217ea251b145564ac3c30c66
1234
1233
2016-11-19T17:59:52Z
Joepal
14
wikitext
text/x-wiki
Short answer is that you can't, not directly. MH can only use assets which are made specifically for MH. For meshes this in practice means assets produced by MakeClothes.
If you have a 3d object you want to use (say, for example, clothes or a necklace), you have to use MakeClothes to convert it for MH first.
In this case you can import it in blender and use it for the clothes part in MakeClothes, as if you were modeling clothes. See the documentation on makeclothes for more information.
0d539d662ab0cf448a1a85e3a5bfd6cd4dc6d14f
1233
648
2016-11-19T17:58:56Z
Joepal
14
wikitext
text/x-wiki
Short answer is that you can't, not directly. MH can only use assets which are made specifically for MH, in practice assets produced by MakeClothes.
If you have a 3d object you want to use (say, for example, clothes or a necklace), you have to use MakeClothes to convert it for MH first.
In this case you can import it in blender and use it for the clothes part in MakeClothes, as if you were modeling clothes. See the documentation on makeclothes for more information.
a2bb1751a347825377b6c72c00d141916d4a2261
648
2016-05-11T14:04:53Z
Joepal
14
Created page with "Short answer is that you can't. MH can only use assets which are made specifically for MH, by using MakeClothes. If you have a 3d object you want to use (say, for example, a..."
wikitext
text/x-wiki
Short answer is that you can't. MH can only use assets which are made specifically for MH, by using MakeClothes.
If you have a 3d object you want to use (say, for example, a gun or a necklace), you have to adapt it for MH.
In this case you can import it in blender and use it for the clothes part in MakeClothes, as if you were modeling clothes.
9429bc45f140f7242d9f162d0a0fb3a61af55745
FAQ:I am using the ubuntu/debian version of MakeHuman and...
3002
45
107
2015-07-10T10:13:27Z
Joepal
14
Created page with "The problem here is that you probably got your hands on MakeHuman alpha 6. This is a ''four years old alpha release''. There is no way we can maintain this. Unfortunately so..."
wikitext
text/x-wiki
The problem here is that you probably got your hands on MakeHuman alpha 6. This is a ''four years old alpha release''. There is no way we can maintain this.
Unfortunately someone at Debian made a package of MH back then, and put it in the official repositories. After that it was not touched for years, despite our repeated pleas to either upgrade or at least remove this extremely archaic and completely unsupported version.
As per summer 2015, the Debian representative in charge of the MakeHuman package did a version bump on the package. It has since got posted in debian Sid ("unstable") and will slowly start to trickle down to new releases of Debian-derived distributions. However, the earliest possible actual release that might contain this package is ubuntu 15.10. Everything before that will still contain the alpha 6 release.
There is a perfectly functional official DEB release available from the MakeHuman download page. That will give you an up to date version of MH. If you are using ubuntu, see also [[FAQ:I'm using ubuntu. Is there a PPA?]]
bcd2902730379e13cacbdf90919283084e43f0c7
FAQ:I am using the ubuntu or debian version of MakeHuman and...
3002
46
109
2015-07-10T10:14:24Z
Joepal
14
Created page with "The problem here is that you probably got your hands on MakeHuman alpha 6. This is a ''four years old alpha release''. There is no way we can maintain this. Unfortunately so..."
wikitext
text/x-wiki
The problem here is that you probably got your hands on MakeHuman alpha 6. This is a ''four years old alpha release''. There is no way we can maintain this.
Unfortunately someone at Debian made a package of MH back then, and put it in the official repositories. After that it was not touched for years, despite our repeated pleas to either upgrade or at least remove this extremely archaic and completely unsupported version.
As per summer 2015, the Debian representative in charge of the MakeHuman package did a version bump on the package. It has since got posted in debian Sid ("unstable") and will slowly start to trickle down to new releases of Debian-derived distributions. However, the earliest possible actual release that might contain this package is ubuntu 15.10. Everything before that will still contain the alpha 6 release.
There is a perfectly functional official DEB release available from the MakeHuman download page. That will give you an up to date version of MH. If you are using ubuntu, see also [[FAQ:I'm using ubuntu. Is there a PPA?]]
bcd2902730379e13cacbdf90919283084e43f0c7
FAQ:I can't download from the user repos, all files are saved as HTML
3002
514
1440
1387
2017-11-09T08:52:59Z
Joepal
14
wikitext
text/x-wiki
This is a problem with your web browser (probably Internet Explorer or Edge), which makes assumptions about file extensions.
== Quick fix ==
The quick fix is to use a different web browser (Chrome and Firefox are known to not show this bug). With these browsers, things will most likely save automatically in the correct way. If not, at least chrome has a checkbox in the save-as dialog to force the correct extension.
== More ideal solution ==
Alternatively, there is a more ideal solution: Install the plugin for downloading assets from within makehuman instead.
You can find the asset downloader plugin as well as installation instructions at https://github.com/makehumancommunity/community-plugins-assetdownload
e10b312b0b9b0f5b12fdc7cc2bc5964f68b865f0
1387
1277
2017-05-22T19:02:48Z
Aranuvir
17
wikitext
text/x-wiki
This is a problem with your web browser (probably Internet Explorer or Edge), which makes assumptions about file extensions.
== Quick fix ==
The quick fix is to use a different web browser (Chrome and Firefox are known to not show this bug). With these browsers, things will most likely save automatically in the correct way. If not, at least chrome has a checkbox in the save-as dialog to force the correct extension.
== More ideal solution ==
Alternatively, there is a more ideal solution: Install the plugin for downloading assets from within makehuman instead.
* Go to https://github.com/makehumancommunity/community-plugins
* Download the repo as a zip file
* In the zip file find the directory "makehuman"
* Copy everything in there to the "plugins" directory under where you installed makehuman
You will then get a "community" tab with a GUI for downloading assets.
3358e0a622a2634523cb8fe913ccb2b622780071
1277
2017-01-06T07:25:38Z
Joepal
14
Created page with "This is a problem with your web browser (probably Internet Explorer or Edge), which makes assumptions about file extensions. == Quick fix == The quick fix is to use Chrome..."
wikitext
text/x-wiki
This is a problem with your web browser (probably Internet Explorer or Edge), which makes assumptions about file extensions.
== Quick fix ==
The quick fix is to use Chrome or possibly Firefox. With these browsers, things will most likely save automatically in the correct way. If not, at least chrome has a checkbox in the save-as dialog to force the correct extension.
== More ideal solution ==
Alternatively, there is a more ideal solution: Install the plugin for downloading assets from within makehuman instead.
* Go to https://github.com/makehumancommunity/community-plugins
* Download the repo as a zip file
* In the zip file find the directory "makehuman"
* Copy everything in there to the "plugins" directory under where you installed makehuman
You will then get a "community" tab with a GUI for downloading assets.
4a53308bcd712d8b211ef9b51f86dba369f0e655
FAQ:I didn't get any forum activation link
3002
563
1483
2018-10-19T11:38:36Z
Joepal
14
Created page with "Lately we've had problems with Google randomly locking the account used to send mail, then unlocking it upon request, to then just lock it again a few days later. There's no e..."
wikitext
text/x-wiki
Lately we've had problems with Google randomly locking the account used to send mail, then unlocking it upon request, to then just lock it again a few days later. There's no explanation as to why this happens now, after years of having used the same setup.
For now we're instead using MailGun. This has the benefit that mail get sent in a structured manner, but the downside that the mail might become spam classed or outright blocked. This since mail are sent from a shared IP, which might become blocked due to spammers having sent via that same IP.
Anway, if you don't get notifications as expected, first check your spam folders. If it isn't there either, it's possible your email provider outright blocked the mail. You can then try to use a different email address.
It's possible a better solution will be needed in the longer run, but this will have to do for now.
cf8e7a3ad753fbb8c2c9d4c1b9647a78f36bd097
FAQ:I downloaded a third part model. How do I install it?
3002
481
1163
2016-08-30T09:28:49Z
Aranuvir
17
Aranuvir moved page [[FAQ:I downloaded a third part model. How do I install it?]] to [[FAQ:I downloaded a third party model. How do I install it?]]
wikitext
text/x-wiki
#REDIRECT [[FAQ:I downloaded a third party model. How do I install it?]]
9f29e8490f448da753050284f106d4e2e2593695
FAQ:I downloaded a third part plug-in. How do I install it?
3002
479
1154
2016-08-30T08:55:17Z
Aranuvir
17
Aranuvir moved page [[FAQ:I downloaded a third part plug-in. How do I install it?]] to [[FAQ:I downloaded a third party plug-in. How do I install it?]]: typo
wikitext
text/x-wiki
#REDIRECT [[FAQ:I downloaded a third party plug-in. How do I install it?]]
afc261d577da631d9feef706554c903e01c5346f
FAQ:I downloaded a third part target. How do I install it?
3002
480
1157
2016-08-30T09:09:36Z
Aranuvir
17
Aranuvir moved page [[FAQ:I downloaded a third part target. How do I install it?]] to [[FAQ:I downloaded a third party target. How do I install it?]]: typo
wikitext
text/x-wiki
#REDIRECT [[FAQ:I downloaded a third party target. How do I install it?]]
21e346ba49f98bd14b20a49b8d92d343a4fbe8d0
FAQ:I downloaded a third party model. How do I install it?
3002
62
1177
1171
2016-08-30T13:32:08Z
Aranuvir
17
wikitext
text/x-wiki
First figure out where your makehuman files are, see [[FAQ:Where are my MakeHuman files found (where is my HOME directory)?]]. Paths listed here are relative to that location.
Models usually only consist of two files, of which one is optional: The model as such (*.mhm) and a thumbnail (*.thumb). These files should go into the "models" directory.
Example paths to the models folder would be:
* Windows: "Documents\makehuman\v1\models" on Windows Vista/7/8/10" or MY DOCUMENTS\makehuman\v1\models" on earlier Windows
* Linux: ~/makehuman/v1/models
The thumbnail will be recreated the next time the model was loaded and saved again in MakeHuman.
Though it is good practice to keep your files at one place, MakeHuman also lets you choose a different folder to load your models. Just click on the "..."-button left of the path. The dialog box just lets you choose a folder and does not show the files in it. Contained files of the newly selected folder will appear in the in the file chooser on the right. If the newly selected folder contains files in subfolders, these files will automatically be loaded by the file chooser, too. On restart, MakeHuman will remember the last folder selected for the load, save and export option.
3802b304c08a5502d2b9929e272567ea2a7f21e9
1171
1162
2016-08-30T12:08:52Z
Aranuvir
17
wikitext
text/x-wiki
First figure out where your makehuman files are, see [[FAQ:Where are my MakeHuman files found (where is my HOME directory)?]]. Paths listed here are relative to that location.
Models usually only consist of two files, of which one is optional: The model as such (*.mhm) and a thumbnail (*.thumb). These files should go into the "models" directory. Example paths would be:
* Windows: "MY DOCUMENTS"\makehuman\v1\models
* Linux: ~/makehuman/v1/models
The thumbnail will be recreated the next time the model was loaded and saved again in MakeHuman.
Though it is good practice to keep your files at one place, MakeHuman also lets you choose a different folder to load your models. Just click on the "..."-button left of the path. The dialog box just lets you choose a folder and does not show the files in it. Contained files of the newly selected folder will appear in the in the file chooser on the right. If the newly selected folder contains files in subfolders, these files will automatically be loaded by the file chooser, too. On restart, MakeHuman will remember the last folder selected for the load, save and export option.
7df3db6004a7c99cd9cbbd80eaf2b56cd6056d85
1162
1161
2016-08-30T09:28:39Z
Aranuvir
17
Aranuvir moved page [[FAQ:I downloaded a third part model. How do I install it?]] to [[FAQ:I downloaded a third party model. How do I install it?]]
wikitext
text/x-wiki
First figure out where your makehuman files are, see [[FAQ:Where are my MakeHuman files found (where is my HOME directory)?]]. Paths listed here are relative to that location.
Models usually only consist of two files, of which one is optional: The model as such (*.mhm) and a thumbnail (*.thumb). These files should go into the "models" directory. Example paths would be:
* Windows "MY DOCUMENTS"\makehuman\v1\models
* Linux ~/makehuman/v1/models
The thumbnail will be recreated the next time the model was loaded and saved again in MakeHuman.
Though it is good practice to keep your files at one place, MakeHuman also lets you choose a different folder to load your models. Just click on the "..."-button left of the path. The dialog box just lets you choose a folder and does not show the files in it. Contained files of the newly selected folder will appear in the in the file chooser on the right. If the newly selected folder contains files in subfolders, these files will automatically be loaded by the file chooser, too. On restart, MakeHuman will remember the last folder selected for the load, save and export option.
afa907c6c3466ce9106a18dbbd1978221bf1e8e3
1161
1160
2016-08-30T09:28:18Z
Aranuvir
17
wikitext
text/x-wiki
First figure out where your makehuman files are, see [[FAQ:Where are my MakeHuman files found (where is my HOME directory)?]]. Paths listed here are relative to that location.
Models usually only consist of two files, of which one is optional: The model as such (*.mhm) and a thumbnail (*.thumb). These files should go into the "models" directory. Example paths would be:
* Windows "MY DOCUMENTS"\makehuman\v1\models
* Linux ~/makehuman/v1/models
The thumbnail will be recreated the next time the model was loaded and saved again in MakeHuman.
Though it is good practice to keep your files at one place, MakeHuman also lets you choose a different folder to load your models. Just click on the "..."-button left of the path. The dialog box just lets you choose a folder and does not show the files in it. Contained files of the newly selected folder will appear in the in the file chooser on the right. If the newly selected folder contains files in subfolders, these files will automatically be loaded by the file chooser, too. On restart, MakeHuman will remember the last folder selected for the load, save and export option.
afa907c6c3466ce9106a18dbbd1978221bf1e8e3
1160
157
2016-08-30T09:27:11Z
Aranuvir
17
wikitext
text/x-wiki
First figure out where your makehuman files are, see [[FAQ:Where are my MakeHuman files found (where is my HOME directory)?]]. Paths listed here are relative to that location.
Models usually only consist of two files, of which one is optional: The model as such (*.mhm) and a thumbnail (*.thumb). These files should go into the "models" directory. Example paths would be:
* Windows "MY DOCUMENTS"\makehuman\v1\models
* Linux ~/makehuman/v1/models
The thumbnail will be recreated the next time the model was loaded and saved again in MakeHuman.
Though it is good practice to keep your files at one place, MakeHuman also lets you choose a different folder to load your models. Just click on the "..."-button left of the path. The dialog box just lets you choose a folder and does not show the files in it. Contained files of the newly selected will appear in the in the file chooser. If the newly selected folder contains files in subfolders, these files will automatically be loaded by the file chooser, too. On restart, MakeHuman will remember the last folder selected for the load, save and export option.
1804d5fd4997f11613f33c0d1799ca3c0b027cd2
157
2015-07-25T06:40:11Z
Joepal
14
Created page with "First figure out where your makehuman files are, see [[FAQ:Where are my MakeHuman files found (where is my HOME directory)?]]. Paths listed here are relative to that location...."
wikitext
text/x-wiki
First figure out where your makehuman files are, see [[FAQ:Where are my MakeHuman files found (where is my HOME directory)?]]. Paths listed here are relative to that location.
Models usually only consist of two files, of which one is optional: The model as such (*.mhm) and a thumbnail (*.thumb). These files should go into the "models" directory. Example paths would be:
* Windows "MY DOCUMENTS"\makehuman\v1\models
* Linux ~/makehuman/v1/models
526f76f4dc359a39a324195f8310793ee15a4121
FAQ:I downloaded a third party plug-in. How do I install it?
3002
478
1358
1153
2017-03-15T09:19:06Z
Aranuvir
17
wikitext
text/x-wiki
In contrast to all other third party stuff described in the topics above, new plug-ins are '''not''' installed in the user-home folder of MakeHuman, but need to be directly installed in a subfolder called '''"plugins"''' of the program folder. The plugins-folder can be found in the same folder where the MakeHuman executable is located. On Windows it is located where you unzipped MakeHuman, e.g. C:\MakeHuman\plugins. On Debian-like systems, when using a package management, the folder is found at /usr/share/makehuman/plugins. For MacOS X it is Macintosh HD/Applications/MakeHuman.app/Contents/Resources/plugins.
The plug-in names start with a number and can be a single file or multiple files in a folder. Now copy the third party plug-in file or folder to the correct subfolder '''"plugins"''' indicated above. On Unix-like OSs (Linux / MacOS X) make sure the newly installed plug-ins have the same permissions/ownership as the other plug-ins. When installing to /usr/share/makehuman, one will usually need root privileges. And care for case sensitivity.
Often it is necessary to install a corresponding plug-in to Blender (e.g. exporter/importer plug-in like MHX2). Please refer to the official Blender documentation on how to install plug-ins in Blender.
eec49ee6189e2886e1cd0a89a00210b8cd84675b
1153
1148
2016-08-30T08:55:07Z
Aranuvir
17
Aranuvir moved page [[FAQ:I downloaded a third part plug-in. How do I install it?]] to [[FAQ:I downloaded a third party plug-in. How do I install it?]]: typo
wikitext
text/x-wiki
In contrast to all other third party stuff described in the topics above, new plug-ins are '''not''' installed in the user-home folder of MakeHuman, but need to be directly installed in a subfolder called '''"plugins"''' of the program folder. The plugins-folder can be found in the same folder where the MakeHuman executable is located (On Windows where you unzipped MakeHuman. On Debian-like systems, when using a package management, the folder is found at /usr/share/makehuman). The plug-in names start with a number and can be a single file or multiple files in a folder. Now copy the third party plug-in file or folder to the correct subfolder '''"plugins"''' indicated above. On Linux make sure the newly installed plug-ins have the same permissions/ownership as the other plug-ins. When installing to /usr/share/makehuman, one will usually need root privileges.
Often it is necessary to install a corresponding plug-in to Blender (e.g. exporter/importer plug-in like MHX2). Please refer to the official Blender documentation on how to install plug-ins in Blender.
3ec3bd6b32a2406b799c5c85ecf319154c4e5122
1148
1147
2016-08-29T11:53:06Z
Aranuvir
17
wikitext
text/x-wiki
In contrast to all other third party stuff described in the topics above, new plug-ins are '''not''' installed in the user-home folder of MakeHuman, but need to be directly installed in a subfolder called '''"plugins"''' of the program folder. The plugins-folder can be found in the same folder where the MakeHuman executable is located (On Windows where you unzipped MakeHuman. On Debian-like systems, when using a package management, the folder is found at /usr/share/makehuman). The plug-in names start with a number and can be a single file or multiple files in a folder. Now copy the third party plug-in file or folder to the correct subfolder '''"plugins"''' indicated above. On Linux make sure the newly installed plug-ins have the same permissions/ownership as the other plug-ins. When installing to /usr/share/makehuman, one will usually need root privileges.
Often it is necessary to install a corresponding plug-in to Blender (e.g. exporter/importer plug-in like MHX2). Please refer to the official Blender documentation on how to install plug-ins in Blender.
3ec3bd6b32a2406b799c5c85ecf319154c4e5122
1147
1146
2016-08-29T11:52:44Z
Aranuvir
17
wikitext
text/x-wiki
In contrast to all other third party stuff described in the topics above, new plug-ins are '''not''' installed in the user-home folder of MakeHuman, but need to be directly installed in a subfolder called '''"plugins"''' of the program folder. The plugins-folder can be found in the same folder where the MakeHuman executable is located (On Windows where you unzipped MakeHuman. On Debian-like systems, when using a package management, the folder is found at /usr/share/makehuman). The plug-in names start with a number and can be a single file or multiple files in a folder. Now copy the third party plug-in file or folder to the correct subfolder "'''plugins"''' indicated above. On Linux make sure the newly installed plug-ins have the same permissions/ownership as the other plug-ins. When installing to /usr/share/makehuman, one will usually need root privileges.
Often it is necessary to install a corresponding plug-in to Blender (e.g. exporter/importer plug-in like MHX2). Please refer to the official Blender documentation on how to install plug-ins in Blender.
516fe65740e5ef914b56253da28ad27b25711dda
1146
1145
2016-08-29T11:52:07Z
Aranuvir
17
wikitext
text/x-wiki
In contrast to all other third party stuff described in the topics above, new plug-ins are not installed in the user-home folder of MakeHuman, but need to be directly installed in a subfolder called '''"plugins"''' of the program folder. The plugins-folder can be found in the same folder where the MakeHuman executable is located (On Windows where you unzipped MakeHuman. On Debian-like systems, when using a package management, the folder is found at /usr/share/makehuman). The plug-in names start with a number and can be a single file or multiple files in a folder. Now copy the third party plug-in file or folder to the correct subfolder "'''plugins"''' indicated above. On Linux make sure the newly installed plug-ins have the same permissions/ownership as the other plug-ins. When installing to /usr/share/makehuman, one will usually need root privileges.
Often it is necessary to install a corresponding plug-in to Blender (e.g. exporter/importer plug-in like MHX2). Please refer to the official Blender documentation on how to install plug-ins in Blender.
8c15718d2c83fa7d1909e7ac0b325060535592d4
1145
2016-08-29T11:47:51Z
Aranuvir
17
Created page with "In contrast to all other third party stuff described in the topics above, new plug-ins are not installed in the user-home folder of MakeHuman, but need to be directly installe..."
wikitext
text/x-wiki
In contrast to all other third party stuff described in the topics above, new plug-ins are not installed in the user-home folder of MakeHuman, but need to be directly installed in a subfolder called plugins of the program folder. The plugins-folder can be found in the same folder where the MakeHuman executable is located (On Windows where you unzipped MakeHuman. On Debian-like systems, when using a package management, the folder is found at /usr/share/makehuman). The plug-in names start with a number and can be a single file or multiple files in a folder. Now copy the plug-in file or folder to the plug-in folder indicated above. On Linux make sure the newly installed plug-ins have the same permissions/ownership as the other plug-ins. When installing to /usr/share/makehuman one will usually need root privileges. Often it is necessary to install a corresponding plug-in to Blender (e.g. exporter/importer like MHX2). Please refer to the official Blender documentation on how to install plug-ins in Blender.
e4c06482bb0f4477cc94cc806d65ab4fd86e289b
FAQ:I downloaded a third party proxy. How do I install it?
3002
483
1176
1175
2016-08-30T13:03:56Z
Robbaer
12
wikitext
text/x-wiki
Whole human proxies or proxymeshes are now called "topologies" on the MakeHuman tabs. Like other third party assets (e.g., clothes, body parts, or targets), topologies are installed in the appropriate data-folder in the home directory. [[FAQ:Where are my MakeHuman files found (where is my HOME directory)?]].
Example paths to the topology parent folder would be:
* Windows: "Documents\makehuman\v1\data\proxymeshes" on Windows Vista/7/8/10" or MY DOCUMENTS\makehuman\v1\data\proxymeshes" on earlier Windows
* Linux: ~/makehuman/v1/data/proxymeshes
Best practice is to create a new subfolder within the proxymeshes folder. The name of this folder should be the same as the proxy to be installed. Then copy the three files, e.g. proxy_name.proxy, proxy_name.obj and proxy_name.thumb, to the newly created subfolder.
dd843a5d308b10bf696e9ef879409c5f46460f1d
1175
1174
2016-08-30T12:57:27Z
Robbaer
12
wikitext
text/x-wiki
Whole human proxies or proxymeshes are now called "topologies" on the MakeHuman tabs. Like other third party assets (e.g., clothes or target), topologies are installed in the appropriate data-folder in the home directory. [[FAQ:Where are my MakeHuman files found (where is my HOME directory)?]].
Example paths would be:
* Windows: "MY DOCUMENTS\makehuman\v1\data\proxymeshes" or "Documents\makehuman\v1\data\proxymeshes" on Win 7/8/10
* Linux: ~/makehuman/v1/data/proxymeshes
Best practice is to create a new subfolder within the proxymesh folder. The name of this folder should be the same as the proxy to be installed. Then copy the three files, e.g. proxy_name.proxy, proxy_name.obj and proxy_name.thumb, to the newly created folder.
af10b6d9154474ead8bf5daf216ad564e84b9396
1174
1170
2016-08-30T12:51:03Z
Robbaer
12
wikitext
text/x-wiki
Like other third party stuff like clothes or target, proxies are installed in the appropriate data-folder in the home directory. [[FAQ:Where are my MakeHuman files found (where is my HOME directory)?]].
Example paths would be:
* Windows: "MY DOCUMENTS"\makehuman\v1\data\proxymeshes or Documents\makehuman\v1 on Win 7/8/10
* Linux: ~/makehuman/v1/data/proxymeshes
Best practice is to create a new subfolder within the proxymesh folder. The name of this folder should be the same as the proxy to be installed. Then copy the three files, e.g. proxy_name.proxy, proxy_name.obj and proxy_name.thumb, to the newly created folder.
9c1e71e663972731c15ca7ea3bb0ca640b62a47a
1170
2016-08-30T12:08:31Z
Aranuvir
17
Created page with "Like other third party stuff like clothes or target, proxies are installed in the appropriate data-folder in the home directory. FAQ:Where are my MakeHuman files found (wher..."
wikitext
text/x-wiki
Like other third party stuff like clothes or target, proxies are installed in the appropriate data-folder in the home directory. [[FAQ:Where are my MakeHuman files found (where is my HOME directory)?]].
Example paths would be:
* Windows: "MY DOCUMENTS"\makehuman\v1\data\proxymeshes
* Linux: ~/makehuman/v1/data/proxymeshes
Best practice is to create a new subfolder within the proxymesh folder. The name of this folder should be the same as the proxy to be installed. Then copy the three files, e.g. proxy_name.proxy, proxy_name.obj and proxy_name.thumb, to the newly created folder.
46e9da05859d5c742c2f5f53b7c16762fd4d5c09
FAQ:I downloaded a third party skin. How do I install it?
3002
540
1446
1445
2018-02-14T09:20:11Z
Joepal
14
wikitext
text/x-wiki
Like other third party assets (e.g., clothes, body parts, or targets), skins are installed in the appropriate data-folder in the home directory. [[FAQ:Where are my MakeHuman files found (where is my HOME directory)?]].
Example paths to the skin parent folder would be:
* Windows: "Documents\makehuman\v1\data\skins" on Windows Vista/7/8/10" or MY DOCUMENTS\makehuman\v1\data\skins" on earlier Windows
* Linux: ~/makehuman/v1/data/skins
Best practice is to create a new subfolder within the skins folder. The name of this folder should be the same as the skin to be installed. Then copy the relevant files, e.g. for example skin_name.jpg, skin_name.mhmat and skin_name.thumb, to the newly created subfolder. (Note that there might be more files, for example a normal map etc)
If downloading from the web rather than using the [https://github.com/makehumancommunity/community-plugins-assetdownload asset downloader plugin], also see [[FAQ: I can't download from the user repos, all files are saved as HTML]].
145bf3b196bed99fd5c6384d7512b6ef22cd7001
1445
2018-02-14T09:18:41Z
Joepal
14
Created page with "Like other third party assets (e.g., clothes, body parts, or targets), skins are installed in the appropriate data-folder in the home directory. FAQ:Where are my MakeHuman f..."
wikitext
text/x-wiki
Like other third party assets (e.g., clothes, body parts, or targets), skins are installed in the appropriate data-folder in the home directory. [[FAQ:Where are my MakeHuman files found (where is my HOME directory)?]].
Example paths to the skin parent folder would be:
* Windows: "Documents\makehuman\v1\data\skins" on Windows Vista/7/8/10" or MY DOCUMENTS\makehuman\v1\data\skins" on earlier Windows
* Linux: ~/makehuman/v1/data/skins
Best practice is to create a new subfolder within the skins folder. The name of this folder should be the same as the skin to be installed. Then copy the relevant files, e.g. for example skin_name.proxy, skin_name.obj and skin_name.thumb, to the newly created subfolder.
If downloading from the web rather than using the [https://github.com/makehumancommunity/community-plugins-assetdownload asset downloader plugin], also see [[FAQ: I can't download from the user repos, all files are saved as HTML]].
4a547c9f33e29199b663cb54794e2d8548b0fcef
FAQ:I downloaded a third party target. How do I install it?
3002
60
1159
1156
2016-08-30T09:10:50Z
Aranuvir
17
wikitext
text/x-wiki
This is a mini tutorial on downloading and installing targets:
{{#ev:youtube|lQb5JV4-wUc}}
First figure out where your makehuman files are, see [[FAQ:Where are my MakeHuman files found (where is my HOME directory)?]]. Paths listed here are relative to that location.
Targets usually only consist of one single file. This file should go into the "custom" directory under "data". Example paths would be:
* Windows "MY DOCUMENTS"\makehuman\v1\data\custom
* Linux ~/makehuman/v1/data/custom
This is how it might look on windows when done correctly:
[[File:Savetarget.png]]
f3537dde4b275bdf229f37d86af2aa6b6cdd1bc1
1156
155
2016-08-30T09:09:26Z
Aranuvir
17
Aranuvir moved page [[FAQ:I downloaded a third part target. How do I install it?]] to [[FAQ:I downloaded a third party target. How do I install it?]]: typo
wikitext
text/x-wiki
TL;DR, a this is a mini tutorial on downloading and installing targets:
{{#ev:youtube|lQb5JV4-wUc}}
First figure out where your makehuman files are, see [[FAQ:Where are my MakeHuman files found (where is my HOME directory)?]]. Paths listed here are relative to that location.
Targets usually only consist of one single file. This file should go into the "custom" directory under "data". Example paths would be:
* Windows "MY DOCUMENTS"\makehuman\v1\data\custom
* Linux ~/makehuman/v1/data/custom
This is how it might look on windows when done correctly:
[[File:Savetarget.png]]
82f8e81db47e7fce3c1443a276c276f1d1483631
155
152
2015-07-25T06:37:59Z
Joepal
14
wikitext
text/x-wiki
TL;DR, a this is a mini tutorial on downloading and installing targets:
{{#ev:youtube|lQb5JV4-wUc}}
First figure out where your makehuman files are, see [[FAQ:Where are my MakeHuman files found (where is my HOME directory)?]]. Paths listed here are relative to that location.
Targets usually only consist of one single file. This file should go into the "custom" directory under "data". Example paths would be:
* Windows "MY DOCUMENTS"\makehuman\v1\data\custom
* Linux ~/makehuman/v1/data/custom
This is how it might look on windows when done correctly:
[[File:Savetarget.png]]
82f8e81db47e7fce3c1443a276c276f1d1483631
152
2015-07-25T06:33:38Z
Joepal
14
Created page with "TL;DR, a this is a mini tutorial on downloading and installing targets: {{#ev:youtube|lQb5JV4-wUc}} First figure out where your makehuman files are, see FAQ:Where are my M..."
wikitext
text/x-wiki
TL;DR, a this is a mini tutorial on downloading and installing targets:
{{#ev:youtube|lQb5JV4-wUc}}
First figure out where your makehuman files are, see [[FAQ:Where are my MakeHuman files found (where is my HOME directory)?]]. Paths listed here are relative to that location.
Targets usually only consist of one single file. This file should go into the "custom" directory under "data". Example paths would be:
* Windows "MY DOCUMENTS"\makehuman\v1\data\custom
* Linux ~/makehuman/v1/data/custom
a47ca903c79bbed73f01c7c840656ef19d63ca63
FAQ:I downloaded third part clothes. How do I install them?
3002
482
1166
2016-08-30T09:30:50Z
Aranuvir
17
Aranuvir moved page [[FAQ:I downloaded third part clothes. How do I install them?]] to [[FAQ:I downloaded third party clothes. How do I install them?]]: typo
wikitext
text/x-wiki
#REDIRECT [[FAQ:I downloaded third party clothes. How do I install them?]]
863182821d194d3299db99ef539a30628011531e
FAQ:I downloaded third party clothes. How do I install them?
3002
57
1165
1150
2016-08-30T09:30:40Z
Aranuvir
17
Aranuvir moved page [[FAQ:I downloaded third part clothes. How do I install them?]] to [[FAQ:I downloaded third party clothes. How do I install them?]]: typo
wikitext
text/x-wiki
This is a mini tutorial on downloading and installing clothes:
{{#ev:youtube|lQb5JV4-wUc}}
First figure out where your makehuman files are, see [[FAQ:Where are my MakeHuman files found (where is my HOME directory)?]]. Paths listed here are relative to that location.
If you downloaded clothes, you probably got a set of separate files. For example, if you downloaded the "Nose piercing" example files, you got:
* nosepierce.mhclo
* nosepierce.mhmat
* nosepierce.obj
* nosepierce.thumb
These should all be placed in new directory under data/clothes amongst your makehuman files. So navigate to the clothes directory (on windows, for example "MY DOCUMENTS"\MakeHuman\v1\data\clothes) and create a new directory "nosepierce".
[[File:Installclothes1.png]]
Then copy the files there.
[[File:Installclothes2.png]]
== Extra materials ==
If you got more than one material for the clothing, create a new subdirectory "materials" inside the new directory you created for the clothes, and put all materials (.mhmat and textures) inside that directory.
dac4a1e60901503bfc313218e61299d07963f749
1150
151
2016-08-30T08:49:36Z
Aranuvir
17
wikitext
text/x-wiki
This is a mini tutorial on downloading and installing clothes:
{{#ev:youtube|lQb5JV4-wUc}}
First figure out where your makehuman files are, see [[FAQ:Where are my MakeHuman files found (where is my HOME directory)?]]. Paths listed here are relative to that location.
If you downloaded clothes, you probably got a set of separate files. For example, if you downloaded the "Nose piercing" example files, you got:
* nosepierce.mhclo
* nosepierce.mhmat
* nosepierce.obj
* nosepierce.thumb
These should all be placed in new directory under data/clothes amongst your makehuman files. So navigate to the clothes directory (on windows, for example "MY DOCUMENTS"\MakeHuman\v1\data\clothes) and create a new directory "nosepierce".
[[File:Installclothes1.png]]
Then copy the files there.
[[File:Installclothes2.png]]
== Extra materials ==
If you got more than one material for the clothing, create a new subdirectory "materials" inside the new directory you created for the clothes, and put all materials (.mhmat and textures) inside that directory.
dac4a1e60901503bfc313218e61299d07963f749
151
149
2015-07-25T06:31:19Z
Joepal
14
wikitext
text/x-wiki
TL;DR, a this is a mini tutorial on downloading and installing clothes:
{{#ev:youtube|lQb5JV4-wUc}}
First figure out where your makehuman files are, see [[FAQ:Where are my MakeHuman files found (where is my HOME directory)?]]. Paths listed here are relative to that location.
If you downloaded clothes, you probably got a set of separate files. For example, if you downloaded the "Nose piercing" example files, you got:
* nosepierce.mhclo
* nosepierce.mhmat
* nosepierce.obj
* nosepierce.thumb
These should all be placed in new directory under data/clothes amongst your makehuman files. So navigate to the clothes directory (on windows, for example "MY DOCUMENTS"\MakeHuman\v1\data\clothes) and create a new directory "nosepierce".
[[File:Installclothes1.png]]
Then copy the files there.
[[File:Installclothes2.png]]
== Extra materials ==
If you got more than one material for the clothing, create a new subdirectory "materials" inside the new directory you created for the clothes, and put all materials (.mhmat and textures) inside that directory.
079e24e748f4a5b2fa363deb9944e1de05ef16a3
149
143
2015-07-25T06:30:16Z
Joepal
14
wikitext
text/x-wiki
TL;DR, a this is a mini tutorial on downloading and installing clothes:
{{#ev:youtube:lQb5JV4-wUc}}
First figure out where your makehuman files are, see [[FAQ:Where are my MakeHuman files found (where is my HOME directory)?]]. Paths listed here are relative to that location.
If you downloaded clothes, you probably got a set of separate files. For example, if you downloaded the "Nose piercing" example files, you got:
* nosepierce.mhclo
* nosepierce.mhmat
* nosepierce.obj
* nosepierce.thumb
These should all be placed in new directory under data/clothes amongst your makehuman files. So navigate to the clothes directory (on windows, for example "MY DOCUMENTS"\MakeHuman\v1\data\clothes) and create a new directory "nosepierce".
[[File:Installclothes1.png]]
Then copy the files there.
[[File:Installclothes2.png]]
== Extra materials ==
If you got more than one material for the clothing, create a new subdirectory "materials" inside the new directory you created for the clothes, and put all materials (.mhmat and textures) inside that directory.
052ed091e78a9931705aaa2233745a3d6984ad69
143
142
2015-07-18T08:04:41Z
Joepal
14
wikitext
text/x-wiki
First figure out where your makehuman files are, see [[FAQ:Where are my MakeHuman files found (where is my HOME directory)?]]. Paths listed here are relative to that location.
If you downloaded clothes, you probably got a set of separate files. For example, if you downloaded the "Nose piercing" example files, you got:
* nosepierce.mhclo
* nosepierce.mhmat
* nosepierce.obj
* nosepierce.thumb
These should all be placed in new directory under data/clothes amongst your makehuman files. So navigate to the clothes directory (on windows, for example "MY DOCUMENTS"\MakeHuman\v1\data\clothes) and create a new directory "nosepierce".
[[File:Installclothes1.png]]
Then copy the files there.
[[File:Installclothes2.png]]
== Extra materials ==
If you got more than one material for the clothing, create a new subdirectory "materials" inside the new directory you created for the clothes, and put all materials (.mhmat and textures) inside that directory.
73587bcf8c3cef4c834364818604c96411e55c23
142
141
2015-07-18T08:02:22Z
Joepal
14
wikitext
text/x-wiki
First figure out where your makehuman files are, see [[FAQ:Where are my MakeHuman files found (where is my HOME directory)?]]. Paths listed here are relative to that location.
If you downloaded clothes, you probably got a set of separate files. For example, if you downloaded the "Nose piercing" example files, you got:
* nosepierce.mhclo
* nosepierce.mhmat
* nosepierce.obj
* nosepierce.thumb
These should all be placed in new directory under data/clothes amongst your makehuman files. So navigate to the clothes directory (on windows, for example "MY DOCUMENTS"\MakeHuman\v1\data\clothes) and create a new directory "nosepierce".
[[File:Installclothes1.png]]
Then copy the files there.
[[File:Installclothes2.png]]
536f3669966dbe67b6fcbd8bc38f8ebefaf4a9d1
141
138
2015-07-18T08:02:08Z
Joepal
14
wikitext
text/x-wiki
First figure out where your makehuman files are, see [[FAQ:Where are my MakeHuman files found (where is my HOME directory)?]]. Paths listed here are relative to that location.
If you downloaded clothes, you probably got a set of separate files. For example, if you downloaded the "Nose piercing" example files, you got:
* nosepierce.mhclo
* nosepierce.mhmat
* nosepierce.obj
* nosepierce.thumb
These should all be placed in new directory under data/clothes amongst your makehuman files. So navigate to the clothes directory (on windows, for example "MY DOCUMENTS"\MakeHuman\v1\data\clothes) and create a new directory "nosepierce".
[[File:Installclothes1.png]]
Then copy the files there.
[[File:Installclothes1.png]]
a514b93757e780fca9e7b3fbfa580f636c383296
138
2015-07-18T07:58:16Z
Joepal
14
Created page with "First figure out where your makehuman files are, see [[FAQ:Where are my MakeHuman files found (where is my HOME directory)?]]. Paths listed here are relative to that location...."
wikitext
text/x-wiki
First figure out where your makehuman files are, see [[FAQ:Where are my MakeHuman files found (where is my HOME directory)?]]. Paths listed here are relative to that location.
If you downloaded clothes, you probably got a set of separate files. For example, if you downloaded the "Nose piercing" example files, you got:
* nosepierce.mhclo
* nosepierce.mhmat
* nosepierce.obj
* nosepierce.thumb
These should all be placed in new directory under data/clothes amongst your makehuman files. So navigate to the clothes directory (on windows, for example "MY DOCUMENTS"\MakeHuman\v1\data\clothes) and create a new directory "nosepierce".
Then copy the files there.
b6bf9de7af7abb8b4d77bfddc90cc05e9a9a8c5c
FAQ:I get CONNECTION REFUSED in MPFB
3002
669
1925
2020-11-06T11:19:47Z
Joepal
14
Created page with "For the import from MakeHuman to work, you also need to enable the socket server on the community->socket tab in MH. For security reasons this is disabled per default."
wikitext
text/x-wiki
For the import from MakeHuman to work, you also need to enable the socket server on the community->socket tab in MH. For security reasons this is disabled per default.
9b2f1c2802c07ceddb31923cb5a4c96ce110d962
FAQ:I have a business idea. Can I hire someone on the dev team to do consultancy work or development regarding MakeHuman?
3002
562
1481
1480
2018-09-18T07:51:05Z
Joepal
14
wikitext
text/x-wiki
The question about consulting is one that keeps popping up. Unfortunately the answer we keep giving regarding commercial proposals is this:
The MakeHuman project is a volunteer effort with no commercial aspects. The project doesn't even have a budget. The developer team consist solely of people who have full time jobs, making it difficult to take on more work.
Our best suggestion at this time is to present the idea on the forums and ask for feedback, and maybe see if a forum user might be interested in joining in on the effort.
We will of course answer any questions to the best of our abilities there.
This is not a reflection on your business idea (whatever it might be), nor that we're hostile against commercial projects surrounding MakeHuman. The practical circumstances just prevent us from engaging in such projects.
This said, there are also legal reasons for why paying someone to do development work based on MakeHuman code might be tricky. As MakeHuman is licensed [https://www.gnu.org/licenses/agpl-3.0.en.html AGPL], all code linked to it or derived from it will also become AGPL. This is likely to be in contradiction to paid development, where the one paying for the code would have a reasonable interest in keeping that code to themselves. This might not be entirely impossible to work with, but it is still a hurdle that will make a commercial project difficult to navigate in.
de8d8c0fea879ffe741b2500a6ef2e014cf1f62a
1480
2018-09-18T07:45:27Z
Joepal
14
Created page with "The question about consulting is one that keeps popping up. Unfortunately the answer we keep giving regarding commercial proposals is this: The MakeHuman project is a volunte..."
wikitext
text/x-wiki
The question about consulting is one that keeps popping up. Unfortunately the answer we keep giving regarding commercial proposals is this:
The MakeHuman project is a volunteer effort with no commercial aspects. The project doesn't even have a budget. The developer team consist solely of people who have full time jobs, making it difficult to take on more work.
Our best suggestion at this time is to present the idea on the forums and ask for feedback, and maybe see if a forum user might be interested in joining in on the effort.
We will of course answer any questions to the best of our abilities there.
This is not a reflection on your business idea (whatever it might be), nor that we're hostile against commercial projects surrounding MakeHuman. The practical circumstances just prevent us from engaging in such projects.
2d2ef3dffceb3ebd3831d0f1a558ac06e2948447
FAQ:I have a problem with makehuman. How do I report it?
3002
571
1602
1568
2019-09-15T15:54:55Z
Joepal
14
/* Where to not ask for support */
wikitext
text/x-wiki
The MakeHuman project has a multitude of channels where content is published. Most of these are not monitored for comments.
The channels which ''are'' monitored are:
* The forum
* The bugtracker(s)
Thus, if you want your report to be seen by someone who is able to answer, your best bet is using one of these. If you have a support request, your best bet is [http://www.makehumancommunity.org/forum/ the forum]. If you have a bug report, take a look at [http://www.makehumancommunity.org/content/bugtracker.html the bug tracker(s)]
== What to include in a bug report or support request ==
Unless it is obvious from the context or otherwise irrelevant, it will generally make things easier if you provide this information:
* Exactly which version of makehuman are you using? As in, which binary did you download and from where?
* What operating system are you using? Preferably with the OS version, for example "windows 10 64-bit" or "ubuntu 18.04"
* What graphics card are you using?
* If there was a crash, include logs (see [[FAQ:How_to_provide_a_makehuman_log_for_a_good_bug_report%3F|How to provide a makehuman log]])
== Where to ''not'' ask for support ==
The channels which are specifically ''not'' monitored are:
* Youtube comments
* Facebook comments
* Blendernation
* Blenderartists
Thus, if you post something there, you should not be surprised if you get no answer. Occasionally someone might see something posted here and answer it, but this is on a random basis.
b2709393d682c2110aa81f0baddf84691a85a54e
1568
1567
2019-03-07T12:50:17Z
Joepal
14
wikitext
text/x-wiki
The MakeHuman project has a multitude of channels where content is published. Most of these are not monitored for comments.
The channels which ''are'' monitored are:
* The forum
* The bugtracker(s)
Thus, if you want your report to be seen by someone who is able to answer, your best bet is using one of these. If you have a support request, your best bet is [http://www.makehumancommunity.org/forum/ the forum]. If you have a bug report, take a look at [http://www.makehumancommunity.org/content/bugtracker.html the bug tracker(s)]
== What to include in a bug report or support request ==
Unless it is obvious from the context or otherwise irrelevant, it will generally make things easier if you provide this information:
* Exactly which version of makehuman are you using? As in, which binary did you download and from where?
* What operating system are you using? Preferably with the OS version, for example "windows 10 64-bit" or "ubuntu 18.04"
* What graphics card are you using?
* If there was a crash, include logs (see [[FAQ:How_to_provide_a_makehuman_log_for_a_good_bug_report%3F|How to provide a makehuman log]])
== Where to ''not'' ask for support ==
The channels which are specifically ''not'' monitored are:
* Youtube comments
* Facebook comments
* Blendernation
* Blenderartists
Thus, if you post something here, you should not be surprised if you get no answer. Occasionally someone might see something posted here and answer it, but this is on a random basis.
4c80a261cd58e6a322a11e817ea12dce013f48b0
1567
1566
2019-03-07T12:43:11Z
Joepal
14
wikitext
text/x-wiki
The MakeHuman project has a multitude of channels where content is published. Most of these are not monitored for comments.
The channels which ''are'' monitored are:
* The forum
* The bugtracker(s)
Thus, if you want your report to be seen by someone who is able to answer, your best bet is using one of these. If you have a support request, your best bet is [http://www.makehumancommunity.org/forum/ the forum]. If you have a bug report, take a look at [http://www.makehumancommunity.org/content/bugtracker.html the bug tracker(s)]
== Where to ''not'' ask for support ==
The channels which are specifically ''not'' monitored are:
* Youtube comments
* Facebook comments
* Blendernation
* Blenderartists
Thus, if you post something here, you should not be surprised if you get no answer. Occasionally someone might see something posted here and answer it, but this is on a random basis.
7dd7b23d0f456d35c371e584df1ea50678709b24
1566
2019-03-07T12:42:28Z
Joepal
14
Created page with "The MakeHuman project has a multitude of channels where content is published. Most of these are not monitored for comments. The channels which ''are'' monitored are: * The..."
wikitext
text/x-wiki
The MakeHuman project has a multitude of channels where content is published. Most of these are not monitored for comments.
The channels which ''are'' monitored are:
* The forum
* The bugtracker(s)
Thus, if you want your report to be seen who is able to answer, your best bet is writing using one of these. If you have a support request, your best bet is [http://www.makehumancommunity.org/forum/ the forum]. If you have a bug report, take a look at [http://www.makehumancommunity.org/content/bugtracker.html the bug tracker(s)]
== Where to ''not'' ask for support ==
The channels which are specifically ''not'' monitored are:
* Youtube comments
* Facebook comments
* Blendernation
* Blenderartists
Thus, if you post something here, you should not be surprised if you get no answer. Occasionally someone might see something posted here and answer it, but this is on a random basis.
c3cccbe6b93a65807b2a84aaa085f9302116edc5
FAQ:I have made a code patch. Where do I send it?
3002
42
101
2015-07-10T10:00:21Z
Joepal
14
Created page with "Go to http://bugtracker.makehumancommunity.org. You can log in with your forum account. Make a new issue where you explain the purpose of the patch, and attach the patch as a..."
wikitext
text/x-wiki
Go to http://bugtracker.makehumancommunity.org. You can log in with your forum account. Make a new issue where you explain the purpose of the patch, and attach the patch as a file to your post.
412a68932ef20830f8fdf232b1bf6b055c4fc1b0
FAQ:I have made a new asset for MakeHuman. How can I contribute it?
3002
48
662
111
2016-05-14T08:37:31Z
Joepal
14
wikitext
text/x-wiki
Starting summer 2015, we are opening up contribution areas for user-created content. These areas can be found here: http://www.makehumancommunity.org/content/user_contributed_assets.html
If you have an asset that you want to contribute, simply click the link, find the right section and follow the instructions.
For other assets which do not fit anywhere in the areas, your best bet is to post a zip on the forums. Or wait a bit until we open a relevant repository for it.
da65b9fc00853d4a1488e886e0567d10a60e9b0a
111
2015-07-10T10:22:16Z
Joepal
14
Created page with "Starting summer 2015, we are opening up contribution areas for user-created content. As of now (2015-07-10), there are beta versions of repositories for models and targets, se..."
wikitext
text/x-wiki
Starting summer 2015, we are opening up contribution areas for user-created content. As of now (2015-07-10), there are beta versions of repositories for models and targets, see:
* http://www.makehumancommunity.org/targets.html
* http://www.makehumancommunity.org/models.html
If you have a model or a target that you want to contribute, simply click the link and follow the instructions.
For other assets (skin textures, clothes, proxies...) your best bet is to post a zip on the forums. Or wait a bit until we open a relevant repository for it.
8c534ef33eeaf8a4fa47c79c476dcbaba6921f2b
FAQ:I have made a tutorial. How do I contribute it?
3002
67
170
169
2015-07-25T06:59:24Z
Joepal
14
wikitext
text/x-wiki
If it is a video tutorial, simply paste it in the appropriate section under [[Video:Index]]. Any user with a forum login can also login on the wiki and edit the pages there.
To insert a a video, use the special markup that looks like this
<nowiki>{{#ev:youtube|X13k7H3dNHo}}</nowiki>
The parts are "#ev" (which you always write), "youtube", which can be "vimeo" or a number of other video services, and "X13k7H3dNHo" which is the ID on the video on the service (for vimeo this is a number). You can usually find this in the address field of the browser when viewing the video.
If it is a text tutorial, convert it to wiki by editing the appropriate page under [[Documentation:Index]].
3b37c09eb04923e58a3687ed3fced7b27054c81c
169
2015-07-25T06:58:55Z
Joepal
14
Created page with "If it is a video tutorial, simply paste it in the appropriate section under [[Video:Index]]. Any user with a forum login can also login on the wiki and edit the pages there...."
wikitext
text/x-wiki
If it is a video tutorial, simply paste it in the appropriate section under [[Video:Index]]. Any user with a forum login can also login on the wiki and edit the pages there.
To insert a a video, use the special markup that looks like this
<nowiki>{{#ev:youtube|X13k7H3dNHo}}</nowiki>
The parts are "#ev" (which you always write) "youtube", which can be "vimeo" or a number of other video services, and "X13k7H3dNHo" which is the ID on the video on the service (for vimeo this is a number). You can usually find this in the address field of the browser when viewing the video.
If it is a text tutorial, convert it to wiki by editing the appropriate page under [[Documentation:Index]].
4e87af7d5e7463d285c5c033ab3726eb3a32ce80
FAQ:I have photos of a real person. Can I use those for making a skin?
3002
392
1007
2016-06-08T08:25:41Z
Joepal
14
Created page with "Yes, you can use projection texture painting in blender. VScorpianC has made an elaborate and user friendly video (as usual) about the topic: {{#ev:youtube|1DD5VvyO7uI}} I..."
wikitext
text/x-wiki
Yes, you can use projection texture painting in blender.
VScorpianC has made an elaborate and user friendly video (as usual) about the topic:
{{#ev:youtube|1DD5VvyO7uI}}
If you already know the basics of UV layout and normal texture painting, you can skip ahead to about 13:00 where the interesting parts about projection painting starts.
b60a03737a4800927e42762b39300ae1911dc8b5
FAQ:I want an easy code task to get to learn the makehuman code. Where should I start?
3002
520
1389
2017-05-30T11:40:37Z
Joepal
14
Created page with "In general, the easiest way to start coding is to work with plugins rather than changing the MH core code. To make plugin programming easier, there is an abstraction layer c..."
wikitext
text/x-wiki
In general, the easiest way to start coding is to work with plugins rather than changing the MH core code.
To make plugin programming easier, there is an abstraction layer called MHAPI, see https://github.com/makehumancommunity/community-plugins-mhapi
One example of a plugin based on MHAPI is the asset downloader, see https://github.com/makehumancommunity/community-plugins-assetdownload
27f0828753a439707f1edc9638027f8d1ab0c20a
FAQ:I want to contribute code in a more structured manner. What is the recommended procedure?
3002
41
100
2015-07-10T09:59:28Z
Joepal
14
Created page with "If you intend to make more code changes than a minor fix (which can simply be posted as a patch on http://bugtracker.makehumancommunity.org), it is recommended you follow the..."
wikitext
text/x-wiki
If you intend to make more code changes than a minor fix (which can simply be posted as a patch on http://bugtracker.makehumancommunity.org), it is recommended you follow the process described in
BROKEN LINK AFTER MOVE TO WIKI, UPDATE WITH CORRECT LINK
e89666f4a7db40aa50b9bc58e7c7c2c80e1b1e81
FAQ:I want to extend MakeHuman functionality. Where should I start?
3002
539
1442
2017-12-11T13:43:02Z
Joepal
14
Created page with "In almost all conceivable scenarios, you'll want to write a plugin rather than change the MakeHuman code as such. While writing a plugin isn't trivial either, it is far more..."
wikitext
text/x-wiki
In almost all conceivable scenarios, you'll want to write a plugin rather than change the MakeHuman code as such.
While writing a plugin isn't trivial either, it is far more easy than digging into the MH core code.
A good start for plugins is by building on MHAPI, which can be found here: https://github.com/makehumancommunity/community-plugins-mhapi
An example of a plugin using MHAPI is the asset downloader, which is available here: https://github.com/makehumancommunity/community-plugins-assetdownload
7bbcb9b86fbb7d7a9a6d502ebd9729bb2c24cca1
FAQ:I want to help write documentation. How do I do that?
3002
68
171
2015-07-25T07:01:58Z
Joepal
14
Created page with "Simply edit the appropriate page under [[Documentation:Index]]. Any user with a forum login can login on the wiki and edit the pages there. Changes can always be reverted by..."
wikitext
text/x-wiki
Simply edit the appropriate page under [[Documentation:Index]]. Any user with a forum login can login on the wiki and edit the pages there.
Changes can always be reverted by an admin, so there's no risk that you break anything beyond recovery.
e964bf5cc518b88732014a63957cf2b7c0ac154d
FAQ:I want to make a code fork of MakeHuman, but I hate mercurial and/or BitBucket
3002
389
999
2016-05-31T15:19:34Z
Joepal
14
Created page with "Source snapshots of stable releases are mirrored to git on github. See https://github.com/makehumancommunity/makehuman_release. If you want to follow the development branch (..."
wikitext
text/x-wiki
Source snapshots of stable releases are mirrored to git on github. See https://github.com/makehumancommunity/makehuman_release.
If you want to follow the development branch (what becomes nightly builds), you'll have to put up with the current mercurial repo though. Or download a source snapshot and commit it to a new repo of your own.
c72038ad9fcc98c99e08f4dfd7d4b0555b80e8be
FAQ:I want to make a code fork of MakeHuman, but I hate mercurial or BitBucket
3002
390
1002
1001
2016-05-31T15:22:04Z
Joepal
14
wikitext
text/x-wiki
Source snapshots of stable releases are mirrored to git on github. See https://github.com/makehumancommunity/makehuman_release.
If you want to follow the development branch (what becomes nightly builds) you will have to put up with the mercurial repo though. Or download source zips and commit them to a repo of your own.
eab0da9eb52c6f81f7954307da2744f32b65d620
1001
2016-05-31T15:21:17Z
Joepal
14
Created page with "Source snapshots of stable releases are mirrored to git on github. See https://github.com/makehumancommunity/makehuman_release. If you want to follow the development branch..."
wikitext
text/x-wiki
Source snapshots of stable releases are mirrored to git on github. See https://github.com/makehumancommunity/makehuman_release.
If you want to follow the development branch (what becomes nightly builds) you will have to put up with the mercurial repo though. Or download a source zip and commit it to a repo of your own.
9b64afef22fff41594d599cf222b6004da624309
FAQ:Index
3002
10
2112
1922
2021-05-19T05:26:14Z
Joepal
14
/* Top questions */
wikitext
text/x-wiki
This page lists frequently asked questions.
== Top questions ==
* [[FAQ: What changed regarding the license in 2020?]]
* [[FAQ: MakeHuman does not start]]
* [[FAQ: The interface looks broken ]]
* [[FAQ: Scrolling does not work]]
* [[FAQ: I have a problem with makehuman. How do I report it?]]
* [[FAQ: Is there a mac build?]]
* [[FAQ: I didn't get any forum activation link]]
* [[FAQ: I can't download from the user repos, all files are saved as HTML]]
* [[FAQ: MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]]
* [[FAQ: What happened to the special assets genitalia?]]
* [[FAQ: How can I download assets for MakeHuman?]]
* [[FAQ: How can I use the asset downloader to download everything by everyone?]]
== Makehuman and Blender ==
* [[FAQ: What is MPFB (MakeHuman Plugin For Blender)?]]
* [[FAQ: I get CONNECTION REFUSED in MPFB]]
* [[FAQ: How do I export assets from MakeHuman to Blender?]]
* [[FAQ: How do I install a plugin in Blender 2.80?]]
* [[FAQ: How do I upgrade a plugin in Blender 2.80?]]
* [[FAQ: What happened to the MHX export in MH 1.1.x and later?]]
* [[FAQ: Where can I get MHX2 for Blender 2.80]]
* [[FAQ: What happened to MakeWalk?]]
== General / unsorted ==
* [[FAQ: What is MakeHuman?]]
* [[FAQ: What is the prefered method for contacting the MakeHuman crew?]]
* [[FAQ: Is there an IRC channel?]]
* [[FAQ: How much does MakeHuman cost?]]
* [[FAQ: What happened to the XYZ asset?]]
* [[FAQ: I want to make a code fork of MakeHuman, but I hate mercurial or BitBucket]]
* [[FAQ: Do you have some quick tips on how to make a nice image with a makehuman toon?]]
* [[FAQ: What is a fashion render?]]
* [[FAQ: I have a business idea. Can I hire someone on the dev team to do consultancy work or development regarding MakeHuman?]]
* [[FAQ: Does "alpha" mean it is dangerous to use?]]
== Terminology ==
* [[FAQ: What is Open Source?]]
* [[FAQ: What is a target?]]
* [[FAQ: What is the meaning of the numbers in MakeHuman release?]]
* [[FAQ: What is a proxy?]]
== Nightly builds ==
* [[FAQ: What is a nightly build?]]
* [[FAQ: Where are the nightly builds?]]
* [[FAQ: Will the nightly build work?]]
* [[FAQ: Can I use the stable version and the nightly build at the same time?]]
* [[FAQ: What's with the "makehuman-community-*" file name?]]
* [[FAQ: How can I run the same code as the nightly build from source?]]
== Technology ==
* [[FAQ: Why quadrilaterals?]]
* [[FAQ: What happened to the specific skeletons (the UE and SL rigs for example)?]]
* [[FAQ: Why is there no perspective mode?]]
== Installation ==
* [[FAQ: Where can I download MakeHuman?]]
* [[FAQ: Where can I find older Versions of MakeHuman?]]
* [[FAQ: I'm using ubuntu. Is there a PPA?]]
* [[FAQ: Which version of MakeHuman should I download?]]
* [[FAQ: Where are my MakeHuman files found (where is my HOME directory)?]]
* [[FAQ: Where can I unzip MakeHuman (in Windows)?]]
* [[FAQ: How can I run MakeHuman from a BitBucket source clone?]]
* [[FAQ: How can I build MakeHuman from source?]]
* [[FAQ: I downloaded third party clothes. How do I install them?]]
* [[FAQ: I downloaded a third party model. How do I install it?]]
* [[FAQ: I downloaded a third party proxy. How do I install it?]]
* [[FAQ: I downloaded a third party target. How do I install it?]]
* [[FAQ: I downloaded a third party skin. How do I install it?]]
* [[FAQ: I downloaded a third party plug-in. How do I install it?]]
* [[FAQ: How do I uninstall MakeHuman?]]
== Legal questions ==
* [[FAQ: Can I sell models created with MakeHuman?]]
* [[FAQ: Can I create a commercial closed source game with models generated by MakeHuman?]]
* [[FAQ:What do I need to do when I use a CC-BY asset?]]
* [[FAQ: We at company X don't like AGPL and want another license]]
== Creating assets ==
* [[FAQ: How can I create targets?]]
* [[FAQ: How can I create skin textures?]]
* [[FAQ: How can I create clothes?]]
* [[FAQ: How can I create hair?]]
* [[FAQ: How can I create extra bodyparts?]]
* [[FAQ: How can I create proxies or alternative topologies?]]
* [[FAQ: How can I create poses?]]
* [[FAQ: How can I create a thumbnail file?]]
* [[FAQ: I already have a 3d object from elsewhere. How can I use it in MH?]]
* [[FAQ: Can I export an asset from Blender and get it back into MakeHuman?]]
* [[FAQ: I have photos of a real person. Can I use those for making a skin?]]
* [[FAQ: How do I make and upload a fashion render?]]
== Contributing ==
* [[FAQ: How do I submit a bug report?]]
* [[FAQ: How to provide a makehuman log for a good bug report?]]
* [[FAQ: I want to extend MakeHuman functionality. Where should I start?]]
* [[FAQ: I want to contribute code in a more structured manner. What is the recommended procedure?]]
* [[FAQ: I want an easy code task to get to learn the makehuman code. Where should I start?]]
* [[FAQ: I have made a code patch. Where do I send it?]]
* [[FAQ: I'm not a coder. How can I contribute?]]
* [[FAQ: I have made a new asset for MakeHuman. How can I contribute it?]]
* [[FAQ: I have made a tutorial. How do I contribute it?]]
* [[FAQ: I want to help write documentation. How do I do that?]]
== Rendering, materials and node setups ==
* [[FAQ: The eyes look flat and "dead" in blender]]
== NSFW ==
* [[FAQ: What is the general policy towards NSFW content and discussions?]]
* [[FAQ: Is it ok to share NSFW imagery on the forums?]]
* [[FAQ: Is it ok to share NSFW content in the user contribution repos?]]
== Troubleshooting ==
* [[FAQ: The publisher could not be verified]]
* [[FAQ: My Antivirus tool blocks MakeHuman or Norton Antivirus reports WS.Reputation.1]]
* [[FAQ: There seems to be a version mismatch between MHX and blender]]
* [[FAQ: I am using the ubuntu or debian version of MakeHuman and...]]
* [[FAQ: MakeHuman fails to start in windows, nothing seems to happen when I click the exe]]
* [[FAQ: Eyes are rendered completely white (or black) in blender]]
* [[FAQ: I can't download from the user repos, all files are saved as HTML]]
51a379522aeb3f8f777c4eb4eb298631bfb070fb
1922
1908
2020-11-06T11:17:53Z
Joepal
14
wikitext
text/x-wiki
This page lists frequently asked questions.
== Top questions ==
* [[FAQ: What changed regarding the license in 2020?]]
* [[FAQ: MakeHuman does not start]]
* [[FAQ: The interface looks broken ]]
* [[FAQ: Scrolling does not work]]
* [[FAQ: I have a problem with makehuman. How do I report it?]]
* [[FAQ: Is there a mac build?]]
* [[FAQ: I didn't get any forum activation link]]
* [[FAQ: I can't download from the user repos, all files are saved as HTML]]
* [[FAQ: MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]]
* [[FAQ: What happened to the special assets genitalia?]]
* [[FAQ: How can I use the asset downloader to download everything by everyone?]]
== Makehuman and Blender ==
* [[FAQ: What is MPFB (MakeHuman Plugin For Blender)?]]
* [[FAQ: I get CONNECTION REFUSED in MPFB]]
* [[FAQ: How do I export assets from MakeHuman to Blender?]]
* [[FAQ: How do I install a plugin in Blender 2.80?]]
* [[FAQ: How do I upgrade a plugin in Blender 2.80?]]
* [[FAQ: What happened to the MHX export in MH 1.1.x and later?]]
* [[FAQ: Where can I get MHX2 for Blender 2.80]]
* [[FAQ: What happened to MakeWalk?]]
== General / unsorted ==
* [[FAQ: What is MakeHuman?]]
* [[FAQ: What is the prefered method for contacting the MakeHuman crew?]]
* [[FAQ: Is there an IRC channel?]]
* [[FAQ: How much does MakeHuman cost?]]
* [[FAQ: What happened to the XYZ asset?]]
* [[FAQ: I want to make a code fork of MakeHuman, but I hate mercurial or BitBucket]]
* [[FAQ: Do you have some quick tips on how to make a nice image with a makehuman toon?]]
* [[FAQ: What is a fashion render?]]
* [[FAQ: I have a business idea. Can I hire someone on the dev team to do consultancy work or development regarding MakeHuman?]]
* [[FAQ: Does "alpha" mean it is dangerous to use?]]
== Terminology ==
* [[FAQ: What is Open Source?]]
* [[FAQ: What is a target?]]
* [[FAQ: What is the meaning of the numbers in MakeHuman release?]]
* [[FAQ: What is a proxy?]]
== Nightly builds ==
* [[FAQ: What is a nightly build?]]
* [[FAQ: Where are the nightly builds?]]
* [[FAQ: Will the nightly build work?]]
* [[FAQ: Can I use the stable version and the nightly build at the same time?]]
* [[FAQ: What's with the "makehuman-community-*" file name?]]
* [[FAQ: How can I run the same code as the nightly build from source?]]
== Technology ==
* [[FAQ: Why quadrilaterals?]]
* [[FAQ: What happened to the specific skeletons (the UE and SL rigs for example)?]]
* [[FAQ: Why is there no perspective mode?]]
== Installation ==
* [[FAQ: Where can I download MakeHuman?]]
* [[FAQ: Where can I find older Versions of MakeHuman?]]
* [[FAQ: I'm using ubuntu. Is there a PPA?]]
* [[FAQ: Which version of MakeHuman should I download?]]
* [[FAQ: Where are my MakeHuman files found (where is my HOME directory)?]]
* [[FAQ: Where can I unzip MakeHuman (in Windows)?]]
* [[FAQ: How can I run MakeHuman from a BitBucket source clone?]]
* [[FAQ: How can I build MakeHuman from source?]]
* [[FAQ: I downloaded third party clothes. How do I install them?]]
* [[FAQ: I downloaded a third party model. How do I install it?]]
* [[FAQ: I downloaded a third party proxy. How do I install it?]]
* [[FAQ: I downloaded a third party target. How do I install it?]]
* [[FAQ: I downloaded a third party skin. How do I install it?]]
* [[FAQ: I downloaded a third party plug-in. How do I install it?]]
* [[FAQ: How do I uninstall MakeHuman?]]
== Legal questions ==
* [[FAQ: Can I sell models created with MakeHuman?]]
* [[FAQ: Can I create a commercial closed source game with models generated by MakeHuman?]]
* [[FAQ:What do I need to do when I use a CC-BY asset?]]
* [[FAQ: We at company X don't like AGPL and want another license]]
== Creating assets ==
* [[FAQ: How can I create targets?]]
* [[FAQ: How can I create skin textures?]]
* [[FAQ: How can I create clothes?]]
* [[FAQ: How can I create hair?]]
* [[FAQ: How can I create extra bodyparts?]]
* [[FAQ: How can I create proxies or alternative topologies?]]
* [[FAQ: How can I create poses?]]
* [[FAQ: How can I create a thumbnail file?]]
* [[FAQ: I already have a 3d object from elsewhere. How can I use it in MH?]]
* [[FAQ: Can I export an asset from Blender and get it back into MakeHuman?]]
* [[FAQ: I have photos of a real person. Can I use those for making a skin?]]
* [[FAQ: How do I make and upload a fashion render?]]
== Contributing ==
* [[FAQ: How do I submit a bug report?]]
* [[FAQ: How to provide a makehuman log for a good bug report?]]
* [[FAQ: I want to extend MakeHuman functionality. Where should I start?]]
* [[FAQ: I want to contribute code in a more structured manner. What is the recommended procedure?]]
* [[FAQ: I want an easy code task to get to learn the makehuman code. Where should I start?]]
* [[FAQ: I have made a code patch. Where do I send it?]]
* [[FAQ: I'm not a coder. How can I contribute?]]
* [[FAQ: I have made a new asset for MakeHuman. How can I contribute it?]]
* [[FAQ: I have made a tutorial. How do I contribute it?]]
* [[FAQ: I want to help write documentation. How do I do that?]]
== Rendering, materials and node setups ==
* [[FAQ: The eyes look flat and "dead" in blender]]
== NSFW ==
* [[FAQ: What is the general policy towards NSFW content and discussions?]]
* [[FAQ: Is it ok to share NSFW imagery on the forums?]]
* [[FAQ: Is it ok to share NSFW content in the user contribution repos?]]
== Troubleshooting ==
* [[FAQ: The publisher could not be verified]]
* [[FAQ: My Antivirus tool blocks MakeHuman or Norton Antivirus reports WS.Reputation.1]]
* [[FAQ: There seems to be a version mismatch between MHX and blender]]
* [[FAQ: I am using the ubuntu or debian version of MakeHuman and...]]
* [[FAQ: MakeHuman fails to start in windows, nothing seems to happen when I click the exe]]
* [[FAQ: Eyes are rendered completely white (or black) in blender]]
* [[FAQ: I can't download from the user repos, all files are saved as HTML]]
230967027e8d930978116351bce9173180b493d0
1908
1888
2020-10-25T13:29:59Z
Joepal
14
/* Top questions */
wikitext
text/x-wiki
This page lists frequently asked questions.
== Top questions ==
* [[FAQ: What changed regarding the license in 2020?]]
* [[FAQ: MakeHuman does not start]]
* [[FAQ: The interface looks broken ]]
* [[FAQ: Scrolling does not work]]
* [[FAQ: I have a problem with makehuman. How do I report it?]]
* [[FAQ: Is there a mac build?]]
* [[FAQ: I didn't get any forum activation link]]
* [[FAQ: I can't download from the user repos, all files are saved as HTML]]
* [[FAQ: MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]]
* [[FAQ: What happened to the special assets genitalia?]]
* [[FAQ: How can I use the asset downloader to download everything by everyone?]]
== Makehuman and Blender ==
* [[FAQ: How do I export assets from MakeHuman to Blender?]]
* [[FAQ: What is MPFB (MakeHuman Plugin For Blender)?]]
* [[FAQ: How do I install a plugin in Blender 2.80?]]
* [[FAQ: How do I upgrade a plugin in Blender 2.80?]]
* [[FAQ: What happened to the MHX export in MH 1.1.x and later?]]
* [[FAQ: Where can I get MHX2 for Blender 2.80]]
* [[FAQ: What happened to MakeWalk?]]
== General / unsorted ==
* [[FAQ: What is MakeHuman?]]
* [[FAQ: What is the prefered method for contacting the MakeHuman crew?]]
* [[FAQ: Is there an IRC channel?]]
* [[FAQ: How much does MakeHuman cost?]]
* [[FAQ: What happened to the XYZ asset?]]
* [[FAQ: I want to make a code fork of MakeHuman, but I hate mercurial or BitBucket]]
* [[FAQ: Do you have some quick tips on how to make a nice image with a makehuman toon?]]
* [[FAQ: What is a fashion render?]]
* [[FAQ: I have a business idea. Can I hire someone on the dev team to do consultancy work or development regarding MakeHuman?]]
* [[FAQ: Does "alpha" mean it is dangerous to use?]]
== Terminology ==
* [[FAQ: What is Open Source?]]
* [[FAQ: What is a target?]]
* [[FAQ: What is the meaning of the numbers in MakeHuman release?]]
* [[FAQ: What is a proxy?]]
== Nightly builds ==
* [[FAQ: What is a nightly build?]]
* [[FAQ: Where are the nightly builds?]]
* [[FAQ: Will the nightly build work?]]
* [[FAQ: Can I use the stable version and the nightly build at the same time?]]
* [[FAQ: What's with the "makehuman-community-*" file name?]]
* [[FAQ: How can I run the same code as the nightly build from source?]]
== Technology ==
* [[FAQ: Why quadrilaterals?]]
* [[FAQ: What happened to the specific skeletons (the UE and SL rigs for example)?]]
* [[FAQ: Why is there no perspective mode?]]
== Installation ==
* [[FAQ: Where can I download MakeHuman?]]
* [[FAQ: Where can I find older Versions of MakeHuman?]]
* [[FAQ: I'm using ubuntu. Is there a PPA?]]
* [[FAQ: Which version of MakeHuman should I download?]]
* [[FAQ: Where are my MakeHuman files found (where is my HOME directory)?]]
* [[FAQ: Where can I unzip MakeHuman (in Windows)?]]
* [[FAQ: How can I run MakeHuman from a BitBucket source clone?]]
* [[FAQ: How can I build MakeHuman from source?]]
* [[FAQ: I downloaded third party clothes. How do I install them?]]
* [[FAQ: I downloaded a third party model. How do I install it?]]
* [[FAQ: I downloaded a third party proxy. How do I install it?]]
* [[FAQ: I downloaded a third party target. How do I install it?]]
* [[FAQ: I downloaded a third party skin. How do I install it?]]
* [[FAQ: I downloaded a third party plug-in. How do I install it?]]
* [[FAQ: How do I uninstall MakeHuman?]]
== Legal questions ==
* [[FAQ: Can I sell models created with MakeHuman?]]
* [[FAQ: Can I create a commercial closed source game with models generated by MakeHuman?]]
* [[FAQ:What do I need to do when I use a CC-BY asset?]]
* [[FAQ: We at company X don't like AGPL and want another license]]
== Creating assets ==
* [[FAQ: How can I create targets?]]
* [[FAQ: How can I create skin textures?]]
* [[FAQ: How can I create clothes?]]
* [[FAQ: How can I create hair?]]
* [[FAQ: How can I create extra bodyparts?]]
* [[FAQ: How can I create proxies or alternative topologies?]]
* [[FAQ: How can I create poses?]]
* [[FAQ: How can I create a thumbnail file?]]
* [[FAQ: I already have a 3d object from elsewhere. How can I use it in MH?]]
* [[FAQ: Can I export an asset from Blender and get it back into MakeHuman?]]
* [[FAQ: I have photos of a real person. Can I use those for making a skin?]]
* [[FAQ: How do I make and upload a fashion render?]]
== Contributing ==
* [[FAQ: How do I submit a bug report?]]
* [[FAQ: How to provide a makehuman log for a good bug report?]]
* [[FAQ: I want to extend MakeHuman functionality. Where should I start?]]
* [[FAQ: I want to contribute code in a more structured manner. What is the recommended procedure?]]
* [[FAQ: I want an easy code task to get to learn the makehuman code. Where should I start?]]
* [[FAQ: I have made a code patch. Where do I send it?]]
* [[FAQ: I'm not a coder. How can I contribute?]]
* [[FAQ: I have made a new asset for MakeHuman. How can I contribute it?]]
* [[FAQ: I have made a tutorial. How do I contribute it?]]
* [[FAQ: I want to help write documentation. How do I do that?]]
== Rendering, materials and node setups ==
* [[FAQ: The eyes look flat and "dead" in blender]]
== NSFW ==
* [[FAQ: What is the general policy towards NSFW content and discussions?]]
* [[FAQ: Is it ok to share NSFW imagery on the forums?]]
* [[FAQ: Is it ok to share NSFW content in the user contribution repos?]]
== Troubleshooting ==
* [[FAQ: The publisher could not be verified]]
* [[FAQ: My Antivirus tool blocks MakeHuman or Norton Antivirus reports WS.Reputation.1]]
* [[FAQ: There seems to be a version mismatch between MHX and blender]]
* [[FAQ: I am using the ubuntu or debian version of MakeHuman and...]]
* [[FAQ: MakeHuman fails to start in windows, nothing seems to happen when I click the exe]]
* [[FAQ: Eyes are rendered completely white (or black) in blender]]
* [[FAQ: I can't download from the user repos, all files are saved as HTML]]
1940aeca247b3b6bdabcaf5a8f0384e7f3480151
1888
1818
2020-10-25T12:03:28Z
Joepal
14
/* Top questions */
wikitext
text/x-wiki
This page lists frequently asked questions.
== Top questions ==
* [[FAQ: What changed regarding the license in 2020?]]
* [[FAQ: MakeHuman does not start]]
* [[FAQ: The interface looks broken ]]
* [[FAQ: I have a problem with makehuman. How do I report it?]]
* [[FAQ: Is there a mac build?]]
* [[FAQ: I didn't get any forum activation link]]
* [[FAQ: I can't download from the user repos, all files are saved as HTML]]
* [[FAQ: MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]]
* [[FAQ: What happened to the special assets genitalia?]]
* [[FAQ: How can I use the asset downloader to download everything by everyone?]]
== Makehuman and Blender ==
* [[FAQ: How do I export assets from MakeHuman to Blender?]]
* [[FAQ: What is MPFB (MakeHuman Plugin For Blender)?]]
* [[FAQ: How do I install a plugin in Blender 2.80?]]
* [[FAQ: How do I upgrade a plugin in Blender 2.80?]]
* [[FAQ: What happened to the MHX export in MH 1.1.x and later?]]
* [[FAQ: Where can I get MHX2 for Blender 2.80]]
* [[FAQ: What happened to MakeWalk?]]
== General / unsorted ==
* [[FAQ: What is MakeHuman?]]
* [[FAQ: What is the prefered method for contacting the MakeHuman crew?]]
* [[FAQ: Is there an IRC channel?]]
* [[FAQ: How much does MakeHuman cost?]]
* [[FAQ: What happened to the XYZ asset?]]
* [[FAQ: I want to make a code fork of MakeHuman, but I hate mercurial or BitBucket]]
* [[FAQ: Do you have some quick tips on how to make a nice image with a makehuman toon?]]
* [[FAQ: What is a fashion render?]]
* [[FAQ: I have a business idea. Can I hire someone on the dev team to do consultancy work or development regarding MakeHuman?]]
* [[FAQ: Does "alpha" mean it is dangerous to use?]]
== Terminology ==
* [[FAQ: What is Open Source?]]
* [[FAQ: What is a target?]]
* [[FAQ: What is the meaning of the numbers in MakeHuman release?]]
* [[FAQ: What is a proxy?]]
== Nightly builds ==
* [[FAQ: What is a nightly build?]]
* [[FAQ: Where are the nightly builds?]]
* [[FAQ: Will the nightly build work?]]
* [[FAQ: Can I use the stable version and the nightly build at the same time?]]
* [[FAQ: What's with the "makehuman-community-*" file name?]]
* [[FAQ: How can I run the same code as the nightly build from source?]]
== Technology ==
* [[FAQ: Why quadrilaterals?]]
* [[FAQ: What happened to the specific skeletons (the UE and SL rigs for example)?]]
* [[FAQ: Why is there no perspective mode?]]
== Installation ==
* [[FAQ: Where can I download MakeHuman?]]
* [[FAQ: Where can I find older Versions of MakeHuman?]]
* [[FAQ: I'm using ubuntu. Is there a PPA?]]
* [[FAQ: Which version of MakeHuman should I download?]]
* [[FAQ: Where are my MakeHuman files found (where is my HOME directory)?]]
* [[FAQ: Where can I unzip MakeHuman (in Windows)?]]
* [[FAQ: How can I run MakeHuman from a BitBucket source clone?]]
* [[FAQ: How can I build MakeHuman from source?]]
* [[FAQ: I downloaded third party clothes. How do I install them?]]
* [[FAQ: I downloaded a third party model. How do I install it?]]
* [[FAQ: I downloaded a third party proxy. How do I install it?]]
* [[FAQ: I downloaded a third party target. How do I install it?]]
* [[FAQ: I downloaded a third party skin. How do I install it?]]
* [[FAQ: I downloaded a third party plug-in. How do I install it?]]
* [[FAQ: How do I uninstall MakeHuman?]]
== Legal questions ==
* [[FAQ: Can I sell models created with MakeHuman?]]
* [[FAQ: Can I create a commercial closed source game with models generated by MakeHuman?]]
* [[FAQ:What do I need to do when I use a CC-BY asset?]]
* [[FAQ: We at company X don't like AGPL and want another license]]
== Creating assets ==
* [[FAQ: How can I create targets?]]
* [[FAQ: How can I create skin textures?]]
* [[FAQ: How can I create clothes?]]
* [[FAQ: How can I create hair?]]
* [[FAQ: How can I create extra bodyparts?]]
* [[FAQ: How can I create proxies or alternative topologies?]]
* [[FAQ: How can I create poses?]]
* [[FAQ: How can I create a thumbnail file?]]
* [[FAQ: I already have a 3d object from elsewhere. How can I use it in MH?]]
* [[FAQ: Can I export an asset from Blender and get it back into MakeHuman?]]
* [[FAQ: I have photos of a real person. Can I use those for making a skin?]]
* [[FAQ: How do I make and upload a fashion render?]]
== Contributing ==
* [[FAQ: How do I submit a bug report?]]
* [[FAQ: How to provide a makehuman log for a good bug report?]]
* [[FAQ: I want to extend MakeHuman functionality. Where should I start?]]
* [[FAQ: I want to contribute code in a more structured manner. What is the recommended procedure?]]
* [[FAQ: I want an easy code task to get to learn the makehuman code. Where should I start?]]
* [[FAQ: I have made a code patch. Where do I send it?]]
* [[FAQ: I'm not a coder. How can I contribute?]]
* [[FAQ: I have made a new asset for MakeHuman. How can I contribute it?]]
* [[FAQ: I have made a tutorial. How do I contribute it?]]
* [[FAQ: I want to help write documentation. How do I do that?]]
== Rendering, materials and node setups ==
* [[FAQ: The eyes look flat and "dead" in blender]]
== NSFW ==
* [[FAQ: What is the general policy towards NSFW content and discussions?]]
* [[FAQ: Is it ok to share NSFW imagery on the forums?]]
* [[FAQ: Is it ok to share NSFW content in the user contribution repos?]]
== Troubleshooting ==
* [[FAQ: The publisher could not be verified]]
* [[FAQ: My Antivirus tool blocks MakeHuman or Norton Antivirus reports WS.Reputation.1]]
* [[FAQ: There seems to be a version mismatch between MHX and blender]]
* [[FAQ: I am using the ubuntu or debian version of MakeHuman and...]]
* [[FAQ: MakeHuman fails to start in windows, nothing seems to happen when I click the exe]]
* [[FAQ: Eyes are rendered completely white (or black) in blender]]
* [[FAQ: I can't download from the user repos, all files are saved as HTML]]
17819401bb627239bf5c63f6dcb09cc113eb74b9
1818
1752
2020-07-23T12:48:28Z
Joepal
14
/* Top questions */
wikitext
text/x-wiki
This page lists frequently asked questions.
== Top questions ==
* [[FAQ: MakeHuman does not start]]
* [[FAQ: The interface looks broken ]]
* [[FAQ: I have a problem with makehuman. How do I report it?]]
* [[FAQ: Is there a mac build?]]
* [[FAQ: I didn't get any forum activation link]]
* [[FAQ: I can't download from the user repos, all files are saved as HTML]]
* [[FAQ: MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]]
* [[FAQ: What happened to the special assets genitalia?]]
* [[FAQ: How can I use the asset downloader to download everything by everyone?]]
== Makehuman and Blender ==
* [[FAQ: How do I export assets from MakeHuman to Blender?]]
* [[FAQ: What is MPFB (MakeHuman Plugin For Blender)?]]
* [[FAQ: How do I install a plugin in Blender 2.80?]]
* [[FAQ: How do I upgrade a plugin in Blender 2.80?]]
* [[FAQ: What happened to the MHX export in MH 1.1.x and later?]]
* [[FAQ: Where can I get MHX2 for Blender 2.80]]
* [[FAQ: What happened to MakeWalk?]]
== General / unsorted ==
* [[FAQ: What is MakeHuman?]]
* [[FAQ: What is the prefered method for contacting the MakeHuman crew?]]
* [[FAQ: Is there an IRC channel?]]
* [[FAQ: How much does MakeHuman cost?]]
* [[FAQ: What happened to the XYZ asset?]]
* [[FAQ: I want to make a code fork of MakeHuman, but I hate mercurial or BitBucket]]
* [[FAQ: Do you have some quick tips on how to make a nice image with a makehuman toon?]]
* [[FAQ: What is a fashion render?]]
* [[FAQ: I have a business idea. Can I hire someone on the dev team to do consultancy work or development regarding MakeHuman?]]
* [[FAQ: Does "alpha" mean it is dangerous to use?]]
== Terminology ==
* [[FAQ: What is Open Source?]]
* [[FAQ: What is a target?]]
* [[FAQ: What is the meaning of the numbers in MakeHuman release?]]
* [[FAQ: What is a proxy?]]
== Nightly builds ==
* [[FAQ: What is a nightly build?]]
* [[FAQ: Where are the nightly builds?]]
* [[FAQ: Will the nightly build work?]]
* [[FAQ: Can I use the stable version and the nightly build at the same time?]]
* [[FAQ: What's with the "makehuman-community-*" file name?]]
* [[FAQ: How can I run the same code as the nightly build from source?]]
== Technology ==
* [[FAQ: Why quadrilaterals?]]
* [[FAQ: What happened to the specific skeletons (the UE and SL rigs for example)?]]
* [[FAQ: Why is there no perspective mode?]]
== Installation ==
* [[FAQ: Where can I download MakeHuman?]]
* [[FAQ: Where can I find older Versions of MakeHuman?]]
* [[FAQ: I'm using ubuntu. Is there a PPA?]]
* [[FAQ: Which version of MakeHuman should I download?]]
* [[FAQ: Where are my MakeHuman files found (where is my HOME directory)?]]
* [[FAQ: Where can I unzip MakeHuman (in Windows)?]]
* [[FAQ: How can I run MakeHuman from a BitBucket source clone?]]
* [[FAQ: How can I build MakeHuman from source?]]
* [[FAQ: I downloaded third party clothes. How do I install them?]]
* [[FAQ: I downloaded a third party model. How do I install it?]]
* [[FAQ: I downloaded a third party proxy. How do I install it?]]
* [[FAQ: I downloaded a third party target. How do I install it?]]
* [[FAQ: I downloaded a third party skin. How do I install it?]]
* [[FAQ: I downloaded a third party plug-in. How do I install it?]]
* [[FAQ: How do I uninstall MakeHuman?]]
== Legal questions ==
* [[FAQ: Can I sell models created with MakeHuman?]]
* [[FAQ: Can I create a commercial closed source game with models generated by MakeHuman?]]
* [[FAQ:What do I need to do when I use a CC-BY asset?]]
* [[FAQ: We at company X don't like AGPL and want another license]]
== Creating assets ==
* [[FAQ: How can I create targets?]]
* [[FAQ: How can I create skin textures?]]
* [[FAQ: How can I create clothes?]]
* [[FAQ: How can I create hair?]]
* [[FAQ: How can I create extra bodyparts?]]
* [[FAQ: How can I create proxies or alternative topologies?]]
* [[FAQ: How can I create poses?]]
* [[FAQ: How can I create a thumbnail file?]]
* [[FAQ: I already have a 3d object from elsewhere. How can I use it in MH?]]
* [[FAQ: Can I export an asset from Blender and get it back into MakeHuman?]]
* [[FAQ: I have photos of a real person. Can I use those for making a skin?]]
* [[FAQ: How do I make and upload a fashion render?]]
== Contributing ==
* [[FAQ: How do I submit a bug report?]]
* [[FAQ: How to provide a makehuman log for a good bug report?]]
* [[FAQ: I want to extend MakeHuman functionality. Where should I start?]]
* [[FAQ: I want to contribute code in a more structured manner. What is the recommended procedure?]]
* [[FAQ: I want an easy code task to get to learn the makehuman code. Where should I start?]]
* [[FAQ: I have made a code patch. Where do I send it?]]
* [[FAQ: I'm not a coder. How can I contribute?]]
* [[FAQ: I have made a new asset for MakeHuman. How can I contribute it?]]
* [[FAQ: I have made a tutorial. How do I contribute it?]]
* [[FAQ: I want to help write documentation. How do I do that?]]
== Rendering, materials and node setups ==
* [[FAQ: The eyes look flat and "dead" in blender]]
== NSFW ==
* [[FAQ: What is the general policy towards NSFW content and discussions?]]
* [[FAQ: Is it ok to share NSFW imagery on the forums?]]
* [[FAQ: Is it ok to share NSFW content in the user contribution repos?]]
== Troubleshooting ==
* [[FAQ: The publisher could not be verified]]
* [[FAQ: My Antivirus tool blocks MakeHuman or Norton Antivirus reports WS.Reputation.1]]
* [[FAQ: There seems to be a version mismatch between MHX and blender]]
* [[FAQ: I am using the ubuntu or debian version of MakeHuman and...]]
* [[FAQ: MakeHuman fails to start in windows, nothing seems to happen when I click the exe]]
* [[FAQ: Eyes are rendered completely white (or black) in blender]]
* [[FAQ: I can't download from the user repos, all files are saved as HTML]]
352d1acbf7ce2427d4031aee6c204bccf4e988e5
1752
1617
2020-04-10T09:30:47Z
Joepal
14
/* Makehuman and Blender */
wikitext
text/x-wiki
This page lists frequently asked questions.
== Top questions ==
* [[FAQ: MakeHuman does not start]]
* [[FAQ: I have a problem with makehuman. How do I report it?]]
* [[FAQ: Is there a mac build?]]
* [[FAQ: I didn't get any forum activation link]]
* [[FAQ: I can't download from the user repos, all files are saved as HTML]]
* [[FAQ: MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]]
* [[FAQ: What happened to the special assets genitalia?]]
* [[FAQ: How can I use the asset downloader to download everything by everyone?]]
== Makehuman and Blender ==
* [[FAQ: How do I export assets from MakeHuman to Blender?]]
* [[FAQ: What is MPFB (MakeHuman Plugin For Blender)?]]
* [[FAQ: How do I install a plugin in Blender 2.80?]]
* [[FAQ: How do I upgrade a plugin in Blender 2.80?]]
* [[FAQ: What happened to the MHX export in MH 1.1.x and later?]]
* [[FAQ: Where can I get MHX2 for Blender 2.80]]
* [[FAQ: What happened to MakeWalk?]]
== General / unsorted ==
* [[FAQ: What is MakeHuman?]]
* [[FAQ: What is the prefered method for contacting the MakeHuman crew?]]
* [[FAQ: Is there an IRC channel?]]
* [[FAQ: How much does MakeHuman cost?]]
* [[FAQ: What happened to the XYZ asset?]]
* [[FAQ: I want to make a code fork of MakeHuman, but I hate mercurial or BitBucket]]
* [[FAQ: Do you have some quick tips on how to make a nice image with a makehuman toon?]]
* [[FAQ: What is a fashion render?]]
* [[FAQ: I have a business idea. Can I hire someone on the dev team to do consultancy work or development regarding MakeHuman?]]
* [[FAQ: Does "alpha" mean it is dangerous to use?]]
== Terminology ==
* [[FAQ: What is Open Source?]]
* [[FAQ: What is a target?]]
* [[FAQ: What is the meaning of the numbers in MakeHuman release?]]
* [[FAQ: What is a proxy?]]
== Nightly builds ==
* [[FAQ: What is a nightly build?]]
* [[FAQ: Where are the nightly builds?]]
* [[FAQ: Will the nightly build work?]]
* [[FAQ: Can I use the stable version and the nightly build at the same time?]]
* [[FAQ: What's with the "makehuman-community-*" file name?]]
* [[FAQ: How can I run the same code as the nightly build from source?]]
== Technology ==
* [[FAQ: Why quadrilaterals?]]
* [[FAQ: What happened to the specific skeletons (the UE and SL rigs for example)?]]
* [[FAQ: Why is there no perspective mode?]]
== Installation ==
* [[FAQ: Where can I download MakeHuman?]]
* [[FAQ: Where can I find older Versions of MakeHuman?]]
* [[FAQ: I'm using ubuntu. Is there a PPA?]]
* [[FAQ: Which version of MakeHuman should I download?]]
* [[FAQ: Where are my MakeHuman files found (where is my HOME directory)?]]
* [[FAQ: Where can I unzip MakeHuman (in Windows)?]]
* [[FAQ: How can I run MakeHuman from a BitBucket source clone?]]
* [[FAQ: How can I build MakeHuman from source?]]
* [[FAQ: I downloaded third party clothes. How do I install them?]]
* [[FAQ: I downloaded a third party model. How do I install it?]]
* [[FAQ: I downloaded a third party proxy. How do I install it?]]
* [[FAQ: I downloaded a third party target. How do I install it?]]
* [[FAQ: I downloaded a third party skin. How do I install it?]]
* [[FAQ: I downloaded a third party plug-in. How do I install it?]]
* [[FAQ: How do I uninstall MakeHuman?]]
== Legal questions ==
* [[FAQ: Can I sell models created with MakeHuman?]]
* [[FAQ: Can I create a commercial closed source game with models generated by MakeHuman?]]
* [[FAQ:What do I need to do when I use a CC-BY asset?]]
* [[FAQ: We at company X don't like AGPL and want another license]]
== Creating assets ==
* [[FAQ: How can I create targets?]]
* [[FAQ: How can I create skin textures?]]
* [[FAQ: How can I create clothes?]]
* [[FAQ: How can I create hair?]]
* [[FAQ: How can I create extra bodyparts?]]
* [[FAQ: How can I create proxies or alternative topologies?]]
* [[FAQ: How can I create poses?]]
* [[FAQ: How can I create a thumbnail file?]]
* [[FAQ: I already have a 3d object from elsewhere. How can I use it in MH?]]
* [[FAQ: Can I export an asset from Blender and get it back into MakeHuman?]]
* [[FAQ: I have photos of a real person. Can I use those for making a skin?]]
* [[FAQ: How do I make and upload a fashion render?]]
== Contributing ==
* [[FAQ: How do I submit a bug report?]]
* [[FAQ: How to provide a makehuman log for a good bug report?]]
* [[FAQ: I want to extend MakeHuman functionality. Where should I start?]]
* [[FAQ: I want to contribute code in a more structured manner. What is the recommended procedure?]]
* [[FAQ: I want an easy code task to get to learn the makehuman code. Where should I start?]]
* [[FAQ: I have made a code patch. Where do I send it?]]
* [[FAQ: I'm not a coder. How can I contribute?]]
* [[FAQ: I have made a new asset for MakeHuman. How can I contribute it?]]
* [[FAQ: I have made a tutorial. How do I contribute it?]]
* [[FAQ: I want to help write documentation. How do I do that?]]
== Rendering, materials and node setups ==
* [[FAQ: The eyes look flat and "dead" in blender]]
== NSFW ==
* [[FAQ: What is the general policy towards NSFW content and discussions?]]
* [[FAQ: Is it ok to share NSFW imagery on the forums?]]
* [[FAQ: Is it ok to share NSFW content in the user contribution repos?]]
== Troubleshooting ==
* [[FAQ: The publisher could not be verified]]
* [[FAQ: My Antivirus tool blocks MakeHuman or Norton Antivirus reports WS.Reputation.1]]
* [[FAQ: There seems to be a version mismatch between MHX and blender]]
* [[FAQ: I am using the ubuntu or debian version of MakeHuman and...]]
* [[FAQ: MakeHuman fails to start in windows, nothing seems to happen when I click the exe]]
* [[FAQ: Eyes are rendered completely white (or black) in blender]]
* [[FAQ: I can't download from the user repos, all files are saved as HTML]]
efaf4ce71d9324f6d1313471d7143eab323c1283
1617
1613
2019-11-03T13:22:12Z
Joepal
14
/* Top questions */
wikitext
text/x-wiki
This page lists frequently asked questions.
== Top questions ==
* [[FAQ: MakeHuman does not start]]
* [[FAQ: I have a problem with makehuman. How do I report it?]]
* [[FAQ: Is there a mac build?]]
* [[FAQ: I didn't get any forum activation link]]
* [[FAQ: I can't download from the user repos, all files are saved as HTML]]
* [[FAQ: MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]]
* [[FAQ: What happened to the special assets genitalia?]]
* [[FAQ: How can I use the asset downloader to download everything by everyone?]]
== Makehuman and Blender ==
* [[FAQ: How do I export assets from MakeHuman to Blender?]]
* [[FAQ: What is MPFB (MakeHuman Plugin For Blender)?]]
* [[FAQ: How do I install a plugin in Blender 2.80?]]
* [[FAQ: How do I upgrade a plugin in Blender 2.80?]]
* [[FAQ: What happened to the MHX export in MH 1.1.x and later?]]
* [[FAQ: Where can I get MHX2 for Blender 2.80]]
== General / unsorted ==
* [[FAQ: What is MakeHuman?]]
* [[FAQ: What is the prefered method for contacting the MakeHuman crew?]]
* [[FAQ: Is there an IRC channel?]]
* [[FAQ: How much does MakeHuman cost?]]
* [[FAQ: What happened to the XYZ asset?]]
* [[FAQ: I want to make a code fork of MakeHuman, but I hate mercurial or BitBucket]]
* [[FAQ: Do you have some quick tips on how to make a nice image with a makehuman toon?]]
* [[FAQ: What is a fashion render?]]
* [[FAQ: I have a business idea. Can I hire someone on the dev team to do consultancy work or development regarding MakeHuman?]]
* [[FAQ: Does "alpha" mean it is dangerous to use?]]
== Terminology ==
* [[FAQ: What is Open Source?]]
* [[FAQ: What is a target?]]
* [[FAQ: What is the meaning of the numbers in MakeHuman release?]]
* [[FAQ: What is a proxy?]]
== Nightly builds ==
* [[FAQ: What is a nightly build?]]
* [[FAQ: Where are the nightly builds?]]
* [[FAQ: Will the nightly build work?]]
* [[FAQ: Can I use the stable version and the nightly build at the same time?]]
* [[FAQ: What's with the "makehuman-community-*" file name?]]
* [[FAQ: How can I run the same code as the nightly build from source?]]
== Technology ==
* [[FAQ: Why quadrilaterals?]]
* [[FAQ: What happened to the specific skeletons (the UE and SL rigs for example)?]]
* [[FAQ: Why is there no perspective mode?]]
== Installation ==
* [[FAQ: Where can I download MakeHuman?]]
* [[FAQ: Where can I find older Versions of MakeHuman?]]
* [[FAQ: I'm using ubuntu. Is there a PPA?]]
* [[FAQ: Which version of MakeHuman should I download?]]
* [[FAQ: Where are my MakeHuman files found (where is my HOME directory)?]]
* [[FAQ: Where can I unzip MakeHuman (in Windows)?]]
* [[FAQ: How can I run MakeHuman from a BitBucket source clone?]]
* [[FAQ: How can I build MakeHuman from source?]]
* [[FAQ: I downloaded third party clothes. How do I install them?]]
* [[FAQ: I downloaded a third party model. How do I install it?]]
* [[FAQ: I downloaded a third party proxy. How do I install it?]]
* [[FAQ: I downloaded a third party target. How do I install it?]]
* [[FAQ: I downloaded a third party skin. How do I install it?]]
* [[FAQ: I downloaded a third party plug-in. How do I install it?]]
* [[FAQ: How do I uninstall MakeHuman?]]
== Legal questions ==
* [[FAQ: Can I sell models created with MakeHuman?]]
* [[FAQ: Can I create a commercial closed source game with models generated by MakeHuman?]]
* [[FAQ:What do I need to do when I use a CC-BY asset?]]
* [[FAQ: We at company X don't like AGPL and want another license]]
== Creating assets ==
* [[FAQ: How can I create targets?]]
* [[FAQ: How can I create skin textures?]]
* [[FAQ: How can I create clothes?]]
* [[FAQ: How can I create hair?]]
* [[FAQ: How can I create extra bodyparts?]]
* [[FAQ: How can I create proxies or alternative topologies?]]
* [[FAQ: How can I create poses?]]
* [[FAQ: How can I create a thumbnail file?]]
* [[FAQ: I already have a 3d object from elsewhere. How can I use it in MH?]]
* [[FAQ: Can I export an asset from Blender and get it back into MakeHuman?]]
* [[FAQ: I have photos of a real person. Can I use those for making a skin?]]
* [[FAQ: How do I make and upload a fashion render?]]
== Contributing ==
* [[FAQ: How do I submit a bug report?]]
* [[FAQ: How to provide a makehuman log for a good bug report?]]
* [[FAQ: I want to extend MakeHuman functionality. Where should I start?]]
* [[FAQ: I want to contribute code in a more structured manner. What is the recommended procedure?]]
* [[FAQ: I want an easy code task to get to learn the makehuman code. Where should I start?]]
* [[FAQ: I have made a code patch. Where do I send it?]]
* [[FAQ: I'm not a coder. How can I contribute?]]
* [[FAQ: I have made a new asset for MakeHuman. How can I contribute it?]]
* [[FAQ: I have made a tutorial. How do I contribute it?]]
* [[FAQ: I want to help write documentation. How do I do that?]]
== Rendering, materials and node setups ==
* [[FAQ: The eyes look flat and "dead" in blender]]
== NSFW ==
* [[FAQ: What is the general policy towards NSFW content and discussions?]]
* [[FAQ: Is it ok to share NSFW imagery on the forums?]]
* [[FAQ: Is it ok to share NSFW content in the user contribution repos?]]
== Troubleshooting ==
* [[FAQ: The publisher could not be verified]]
* [[FAQ: My Antivirus tool blocks MakeHuman or Norton Antivirus reports WS.Reputation.1]]
* [[FAQ: There seems to be a version mismatch between MHX and blender]]
* [[FAQ: I am using the ubuntu or debian version of MakeHuman and...]]
* [[FAQ: MakeHuman fails to start in windows, nothing seems to happen when I click the exe]]
* [[FAQ: Eyes are rendered completely white (or black) in blender]]
* [[FAQ: I can't download from the user repos, all files are saved as HTML]]
6e641ba5258782d3d56f59e9d539ef5dfaf6da12
1613
1611
2019-09-27T08:24:40Z
Joepal
14
/* Makehuman and blender */
wikitext
text/x-wiki
This page lists frequently asked questions.
== Top questions ==
* [[FAQ: MakeHuman does not start]]
* [[FAQ: I have a problem with makehuman. How do I report it?]]
* [[FAQ: I didn't get any forum activation link]]
* [[FAQ: I can't download from the user repos, all files are saved as HTML]]
* [[FAQ: MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]]
* [[FAQ: What happened to the special assets genitalia?]]
* [[FAQ: How can I use the asset downloader to download everything by everyone?]]
== Makehuman and Blender ==
* [[FAQ: How do I export assets from MakeHuman to Blender?]]
* [[FAQ: What is MPFB (MakeHuman Plugin For Blender)?]]
* [[FAQ: How do I install a plugin in Blender 2.80?]]
* [[FAQ: How do I upgrade a plugin in Blender 2.80?]]
* [[FAQ: What happened to the MHX export in MH 1.1.x and later?]]
* [[FAQ: Where can I get MHX2 for Blender 2.80]]
== General / unsorted ==
* [[FAQ: What is MakeHuman?]]
* [[FAQ: What is the prefered method for contacting the MakeHuman crew?]]
* [[FAQ: Is there an IRC channel?]]
* [[FAQ: How much does MakeHuman cost?]]
* [[FAQ: What happened to the XYZ asset?]]
* [[FAQ: I want to make a code fork of MakeHuman, but I hate mercurial or BitBucket]]
* [[FAQ: Do you have some quick tips on how to make a nice image with a makehuman toon?]]
* [[FAQ: What is a fashion render?]]
* [[FAQ: I have a business idea. Can I hire someone on the dev team to do consultancy work or development regarding MakeHuman?]]
* [[FAQ: Does "alpha" mean it is dangerous to use?]]
== Terminology ==
* [[FAQ: What is Open Source?]]
* [[FAQ: What is a target?]]
* [[FAQ: What is the meaning of the numbers in MakeHuman release?]]
* [[FAQ: What is a proxy?]]
== Nightly builds ==
* [[FAQ: What is a nightly build?]]
* [[FAQ: Where are the nightly builds?]]
* [[FAQ: Will the nightly build work?]]
* [[FAQ: Can I use the stable version and the nightly build at the same time?]]
* [[FAQ: What's with the "makehuman-community-*" file name?]]
* [[FAQ: How can I run the same code as the nightly build from source?]]
== Technology ==
* [[FAQ: Why quadrilaterals?]]
* [[FAQ: What happened to the specific skeletons (the UE and SL rigs for example)?]]
* [[FAQ: Why is there no perspective mode?]]
== Installation ==
* [[FAQ: Where can I download MakeHuman?]]
* [[FAQ: Where can I find older Versions of MakeHuman?]]
* [[FAQ: I'm using ubuntu. Is there a PPA?]]
* [[FAQ: Which version of MakeHuman should I download?]]
* [[FAQ: Where are my MakeHuman files found (where is my HOME directory)?]]
* [[FAQ: Where can I unzip MakeHuman (in Windows)?]]
* [[FAQ: How can I run MakeHuman from a BitBucket source clone?]]
* [[FAQ: How can I build MakeHuman from source?]]
* [[FAQ: I downloaded third party clothes. How do I install them?]]
* [[FAQ: I downloaded a third party model. How do I install it?]]
* [[FAQ: I downloaded a third party proxy. How do I install it?]]
* [[FAQ: I downloaded a third party target. How do I install it?]]
* [[FAQ: I downloaded a third party skin. How do I install it?]]
* [[FAQ: I downloaded a third party plug-in. How do I install it?]]
* [[FAQ: How do I uninstall MakeHuman?]]
== Legal questions ==
* [[FAQ: Can I sell models created with MakeHuman?]]
* [[FAQ: Can I create a commercial closed source game with models generated by MakeHuman?]]
* [[FAQ:What do I need to do when I use a CC-BY asset?]]
* [[FAQ: We at company X don't like AGPL and want another license]]
== Creating assets ==
* [[FAQ: How can I create targets?]]
* [[FAQ: How can I create skin textures?]]
* [[FAQ: How can I create clothes?]]
* [[FAQ: How can I create hair?]]
* [[FAQ: How can I create extra bodyparts?]]
* [[FAQ: How can I create proxies or alternative topologies?]]
* [[FAQ: How can I create poses?]]
* [[FAQ: How can I create a thumbnail file?]]
* [[FAQ: I already have a 3d object from elsewhere. How can I use it in MH?]]
* [[FAQ: Can I export an asset from Blender and get it back into MakeHuman?]]
* [[FAQ: I have photos of a real person. Can I use those for making a skin?]]
* [[FAQ: How do I make and upload a fashion render?]]
== Contributing ==
* [[FAQ: How do I submit a bug report?]]
* [[FAQ: How to provide a makehuman log for a good bug report?]]
* [[FAQ: I want to extend MakeHuman functionality. Where should I start?]]
* [[FAQ: I want to contribute code in a more structured manner. What is the recommended procedure?]]
* [[FAQ: I want an easy code task to get to learn the makehuman code. Where should I start?]]
* [[FAQ: I have made a code patch. Where do I send it?]]
* [[FAQ: I'm not a coder. How can I contribute?]]
* [[FAQ: I have made a new asset for MakeHuman. How can I contribute it?]]
* [[FAQ: I have made a tutorial. How do I contribute it?]]
* [[FAQ: I want to help write documentation. How do I do that?]]
== Rendering, materials and node setups ==
* [[FAQ: The eyes look flat and "dead" in blender]]
== NSFW ==
* [[FAQ: What is the general policy towards NSFW content and discussions?]]
* [[FAQ: Is it ok to share NSFW imagery on the forums?]]
* [[FAQ: Is it ok to share NSFW content in the user contribution repos?]]
== Troubleshooting ==
* [[FAQ: The publisher could not be verified]]
* [[FAQ: My Antivirus tool blocks MakeHuman or Norton Antivirus reports WS.Reputation.1]]
* [[FAQ: There seems to be a version mismatch between MHX and blender]]
* [[FAQ: I am using the ubuntu or debian version of MakeHuman and...]]
* [[FAQ: MakeHuman fails to start in windows, nothing seems to happen when I click the exe]]
* [[FAQ: Eyes are rendered completely white (or black) in blender]]
* [[FAQ: I can't download from the user repos, all files are saved as HTML]]
260a9dc20452935ea6777ca5b45103707b09414d
1611
1606
2019-09-27T08:22:03Z
Joepal
14
/* Makehuman and blender */
wikitext
text/x-wiki
This page lists frequently asked questions.
== Top questions ==
* [[FAQ: MakeHuman does not start]]
* [[FAQ: I have a problem with makehuman. How do I report it?]]
* [[FAQ: I didn't get any forum activation link]]
* [[FAQ: I can't download from the user repos, all files are saved as HTML]]
* [[FAQ: MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]]
* [[FAQ: What happened to the special assets genitalia?]]
* [[FAQ: How can I use the asset downloader to download everything by everyone?]]
== Makehuman and blender ==
* [[FAQ: How do I export assets from MakeHuman to Blender?]]
* [[FAQ: What is MPFB (MakeHuman Plugin For Blender)?]]
* [[FAQ: How do I install a plugin in Blender 2.80?]]
* [[FAQ: How do I upgrade a plugin in Blender 2.80?]]
* [[FAQ: What happened to the MHX export in MH 1.1.x and later?]]
* [[FAQ: Where can I get MHX2 for Blender 2.80]]
== General / unsorted ==
* [[FAQ: What is MakeHuman?]]
* [[FAQ: What is the prefered method for contacting the MakeHuman crew?]]
* [[FAQ: Is there an IRC channel?]]
* [[FAQ: How much does MakeHuman cost?]]
* [[FAQ: What happened to the XYZ asset?]]
* [[FAQ: I want to make a code fork of MakeHuman, but I hate mercurial or BitBucket]]
* [[FAQ: Do you have some quick tips on how to make a nice image with a makehuman toon?]]
* [[FAQ: What is a fashion render?]]
* [[FAQ: I have a business idea. Can I hire someone on the dev team to do consultancy work or development regarding MakeHuman?]]
* [[FAQ: Does "alpha" mean it is dangerous to use?]]
== Terminology ==
* [[FAQ: What is Open Source?]]
* [[FAQ: What is a target?]]
* [[FAQ: What is the meaning of the numbers in MakeHuman release?]]
* [[FAQ: What is a proxy?]]
== Nightly builds ==
* [[FAQ: What is a nightly build?]]
* [[FAQ: Where are the nightly builds?]]
* [[FAQ: Will the nightly build work?]]
* [[FAQ: Can I use the stable version and the nightly build at the same time?]]
* [[FAQ: What's with the "makehuman-community-*" file name?]]
* [[FAQ: How can I run the same code as the nightly build from source?]]
== Technology ==
* [[FAQ: Why quadrilaterals?]]
* [[FAQ: What happened to the specific skeletons (the UE and SL rigs for example)?]]
* [[FAQ: Why is there no perspective mode?]]
== Installation ==
* [[FAQ: Where can I download MakeHuman?]]
* [[FAQ: Where can I find older Versions of MakeHuman?]]
* [[FAQ: I'm using ubuntu. Is there a PPA?]]
* [[FAQ: Which version of MakeHuman should I download?]]
* [[FAQ: Where are my MakeHuman files found (where is my HOME directory)?]]
* [[FAQ: Where can I unzip MakeHuman (in Windows)?]]
* [[FAQ: How can I run MakeHuman from a BitBucket source clone?]]
* [[FAQ: How can I build MakeHuman from source?]]
* [[FAQ: I downloaded third party clothes. How do I install them?]]
* [[FAQ: I downloaded a third party model. How do I install it?]]
* [[FAQ: I downloaded a third party proxy. How do I install it?]]
* [[FAQ: I downloaded a third party target. How do I install it?]]
* [[FAQ: I downloaded a third party skin. How do I install it?]]
* [[FAQ: I downloaded a third party plug-in. How do I install it?]]
* [[FAQ: How do I uninstall MakeHuman?]]
== Legal questions ==
* [[FAQ: Can I sell models created with MakeHuman?]]
* [[FAQ: Can I create a commercial closed source game with models generated by MakeHuman?]]
* [[FAQ:What do I need to do when I use a CC-BY asset?]]
* [[FAQ: We at company X don't like AGPL and want another license]]
== Creating assets ==
* [[FAQ: How can I create targets?]]
* [[FAQ: How can I create skin textures?]]
* [[FAQ: How can I create clothes?]]
* [[FAQ: How can I create hair?]]
* [[FAQ: How can I create extra bodyparts?]]
* [[FAQ: How can I create proxies or alternative topologies?]]
* [[FAQ: How can I create poses?]]
* [[FAQ: How can I create a thumbnail file?]]
* [[FAQ: I already have a 3d object from elsewhere. How can I use it in MH?]]
* [[FAQ: Can I export an asset from Blender and get it back into MakeHuman?]]
* [[FAQ: I have photos of a real person. Can I use those for making a skin?]]
* [[FAQ: How do I make and upload a fashion render?]]
== Contributing ==
* [[FAQ: How do I submit a bug report?]]
* [[FAQ: How to provide a makehuman log for a good bug report?]]
* [[FAQ: I want to extend MakeHuman functionality. Where should I start?]]
* [[FAQ: I want to contribute code in a more structured manner. What is the recommended procedure?]]
* [[FAQ: I want an easy code task to get to learn the makehuman code. Where should I start?]]
* [[FAQ: I have made a code patch. Where do I send it?]]
* [[FAQ: I'm not a coder. How can I contribute?]]
* [[FAQ: I have made a new asset for MakeHuman. How can I contribute it?]]
* [[FAQ: I have made a tutorial. How do I contribute it?]]
* [[FAQ: I want to help write documentation. How do I do that?]]
== Rendering, materials and node setups ==
* [[FAQ: The eyes look flat and "dead" in blender]]
== NSFW ==
* [[FAQ: What is the general policy towards NSFW content and discussions?]]
* [[FAQ: Is it ok to share NSFW imagery on the forums?]]
* [[FAQ: Is it ok to share NSFW content in the user contribution repos?]]
== Troubleshooting ==
* [[FAQ: The publisher could not be verified]]
* [[FAQ: My Antivirus tool blocks MakeHuman or Norton Antivirus reports WS.Reputation.1]]
* [[FAQ: There seems to be a version mismatch between MHX and blender]]
* [[FAQ: I am using the ubuntu or debian version of MakeHuman and...]]
* [[FAQ: MakeHuman fails to start in windows, nothing seems to happen when I click the exe]]
* [[FAQ: Eyes are rendered completely white (or black) in blender]]
* [[FAQ: I can't download from the user repos, all files are saved as HTML]]
5988b319ca6efdacc1b4e4ea51c41556f5b69ff3
1606
1604
2019-09-27T07:59:20Z
Joepal
14
wikitext
text/x-wiki
This page lists frequently asked questions.
== Top questions ==
* [[FAQ: MakeHuman does not start]]
* [[FAQ: I have a problem with makehuman. How do I report it?]]
* [[FAQ: I didn't get any forum activation link]]
* [[FAQ: I can't download from the user repos, all files are saved as HTML]]
* [[FAQ: MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]]
* [[FAQ: What happened to the special assets genitalia?]]
* [[FAQ: How can I use the asset downloader to download everything by everyone?]]
== Makehuman and blender ==
* [[FAQ: How do I export assets from MakeHuman to Blender?]]
* [[FAQ: What is MPFB (MakeHuman Plugin For Blender)?]]
* [[FAQ: How do I install a plugin in Blender 2.80?]]
* [[FAQ: How do I upgrade a plugin in Blender 2.80?]]
* [[FAQ: What happened to the MHX export in MH 1.1.x and later?]]
== General / unsorted ==
* [[FAQ: What is MakeHuman?]]
* [[FAQ: What is the prefered method for contacting the MakeHuman crew?]]
* [[FAQ: Is there an IRC channel?]]
* [[FAQ: How much does MakeHuman cost?]]
* [[FAQ: What happened to the XYZ asset?]]
* [[FAQ: I want to make a code fork of MakeHuman, but I hate mercurial or BitBucket]]
* [[FAQ: Do you have some quick tips on how to make a nice image with a makehuman toon?]]
* [[FAQ: What is a fashion render?]]
* [[FAQ: I have a business idea. Can I hire someone on the dev team to do consultancy work or development regarding MakeHuman?]]
* [[FAQ: Does "alpha" mean it is dangerous to use?]]
== Terminology ==
* [[FAQ: What is Open Source?]]
* [[FAQ: What is a target?]]
* [[FAQ: What is the meaning of the numbers in MakeHuman release?]]
* [[FAQ: What is a proxy?]]
== Nightly builds ==
* [[FAQ: What is a nightly build?]]
* [[FAQ: Where are the nightly builds?]]
* [[FAQ: Will the nightly build work?]]
* [[FAQ: Can I use the stable version and the nightly build at the same time?]]
* [[FAQ: What's with the "makehuman-community-*" file name?]]
* [[FAQ: How can I run the same code as the nightly build from source?]]
== Technology ==
* [[FAQ: Why quadrilaterals?]]
* [[FAQ: What happened to the specific skeletons (the UE and SL rigs for example)?]]
* [[FAQ: Why is there no perspective mode?]]
== Installation ==
* [[FAQ: Where can I download MakeHuman?]]
* [[FAQ: Where can I find older Versions of MakeHuman?]]
* [[FAQ: I'm using ubuntu. Is there a PPA?]]
* [[FAQ: Which version of MakeHuman should I download?]]
* [[FAQ: Where are my MakeHuman files found (where is my HOME directory)?]]
* [[FAQ: Where can I unzip MakeHuman (in Windows)?]]
* [[FAQ: How can I run MakeHuman from a BitBucket source clone?]]
* [[FAQ: How can I build MakeHuman from source?]]
* [[FAQ: I downloaded third party clothes. How do I install them?]]
* [[FAQ: I downloaded a third party model. How do I install it?]]
* [[FAQ: I downloaded a third party proxy. How do I install it?]]
* [[FAQ: I downloaded a third party target. How do I install it?]]
* [[FAQ: I downloaded a third party skin. How do I install it?]]
* [[FAQ: I downloaded a third party plug-in. How do I install it?]]
* [[FAQ: How do I uninstall MakeHuman?]]
== Legal questions ==
* [[FAQ: Can I sell models created with MakeHuman?]]
* [[FAQ: Can I create a commercial closed source game with models generated by MakeHuman?]]
* [[FAQ:What do I need to do when I use a CC-BY asset?]]
* [[FAQ: We at company X don't like AGPL and want another license]]
== Creating assets ==
* [[FAQ: How can I create targets?]]
* [[FAQ: How can I create skin textures?]]
* [[FAQ: How can I create clothes?]]
* [[FAQ: How can I create hair?]]
* [[FAQ: How can I create extra bodyparts?]]
* [[FAQ: How can I create proxies or alternative topologies?]]
* [[FAQ: How can I create poses?]]
* [[FAQ: How can I create a thumbnail file?]]
* [[FAQ: I already have a 3d object from elsewhere. How can I use it in MH?]]
* [[FAQ: Can I export an asset from Blender and get it back into MakeHuman?]]
* [[FAQ: I have photos of a real person. Can I use those for making a skin?]]
* [[FAQ: How do I make and upload a fashion render?]]
== Contributing ==
* [[FAQ: How do I submit a bug report?]]
* [[FAQ: How to provide a makehuman log for a good bug report?]]
* [[FAQ: I want to extend MakeHuman functionality. Where should I start?]]
* [[FAQ: I want to contribute code in a more structured manner. What is the recommended procedure?]]
* [[FAQ: I want an easy code task to get to learn the makehuman code. Where should I start?]]
* [[FAQ: I have made a code patch. Where do I send it?]]
* [[FAQ: I'm not a coder. How can I contribute?]]
* [[FAQ: I have made a new asset for MakeHuman. How can I contribute it?]]
* [[FAQ: I have made a tutorial. How do I contribute it?]]
* [[FAQ: I want to help write documentation. How do I do that?]]
== Rendering, materials and node setups ==
* [[FAQ: The eyes look flat and "dead" in blender]]
== NSFW ==
* [[FAQ: What is the general policy towards NSFW content and discussions?]]
* [[FAQ: Is it ok to share NSFW imagery on the forums?]]
* [[FAQ: Is it ok to share NSFW content in the user contribution repos?]]
== Troubleshooting ==
* [[FAQ: The publisher could not be verified]]
* [[FAQ: My Antivirus tool blocks MakeHuman or Norton Antivirus reports WS.Reputation.1]]
* [[FAQ: There seems to be a version mismatch between MHX and blender]]
* [[FAQ: I am using the ubuntu or debian version of MakeHuman and...]]
* [[FAQ: MakeHuman fails to start in windows, nothing seems to happen when I click the exe]]
* [[FAQ: Eyes are rendered completely white (or black) in blender]]
* [[FAQ: I can't download from the user repos, all files are saved as HTML]]
930abbd91674adc17ebf552d479044438459833b
1604
1599
2019-09-21T08:49:40Z
Joepal
14
/* General / unsorted */
wikitext
text/x-wiki
This page lists frequently asked questions.
== Top questions ==
* [[FAQ: MakeHuman does not start]]
* [[FAQ: I have a problem with makehuman. How do I report it?]]
* [[FAQ: I didn't get any forum activation link]]
* [[FAQ: I can't download from the user repos, all files are saved as HTML]]
* [[FAQ: What happened to the MHX export in MH 1.1.x and later?]]
* [[FAQ: MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]]
* [[FAQ: What happened to the special assets genitalia?]]
* [[FAQ: How can I use the asset downloader to download everything by everyone?]]
== General / unsorted ==
* [[FAQ: What is MakeHuman?]]
* [[FAQ: What is the prefered method for contacting the MakeHuman crew?]]
* [[FAQ: Is there an IRC channel?]]
* [[FAQ: How much does MakeHuman cost?]]
* [[FAQ: What happened to the XYZ asset?]]
* [[FAQ: I want to make a code fork of MakeHuman, but I hate mercurial or BitBucket]]
* [[FAQ: Do you have some quick tips on how to make a nice image with a makehuman toon?]]
* [[FAQ: What is a fashion render?]]
* [[FAQ: I have a business idea. Can I hire someone on the dev team to do consultancy work or development regarding MakeHuman?]]
* [[FAQ: Does "alpha" mean it is dangerous to use?]]
== Terminology ==
* [[FAQ: What is Open Source?]]
* [[FAQ: What is a target?]]
* [[FAQ: What is the meaning of the numbers in MakeHuman release?]]
* [[FAQ: What is a proxy?]]
== Nightly builds ==
* [[FAQ: What is a nightly build?]]
* [[FAQ: Where are the nightly builds?]]
* [[FAQ: Will the nightly build work?]]
* [[FAQ: Can I use the stable version and the nightly build at the same time?]]
* [[FAQ: What's with the "makehuman-community-*" file name?]]
* [[FAQ: How can I run the same code as the nightly build from source?]]
== Technology ==
* [[FAQ: Why quadrilaterals?]]
* [[FAQ: What happened to the specific skeletons (the UE and SL rigs for example)?]]
* [[FAQ: Why is there no perspective mode?]]
== Installation ==
* [[FAQ: Where can I download MakeHuman?]]
* [[FAQ: Where can I find older Versions of MakeHuman?]]
* [[FAQ: I'm using ubuntu. Is there a PPA?]]
* [[FAQ: Which version of MakeHuman should I download?]]
* [[FAQ: Where are my MakeHuman files found (where is my HOME directory)?]]
* [[FAQ: Where can I unzip MakeHuman (in Windows)?]]
* [[FAQ: How can I run MakeHuman from a BitBucket source clone?]]
* [[FAQ: How can I build MakeHuman from source?]]
* [[FAQ: I downloaded third party clothes. How do I install them?]]
* [[FAQ: I downloaded a third party model. How do I install it?]]
* [[FAQ: I downloaded a third party proxy. How do I install it?]]
* [[FAQ: I downloaded a third party target. How do I install it?]]
* [[FAQ: I downloaded a third party skin. How do I install it?]]
* [[FAQ: I downloaded a third party plug-in. How do I install it?]]
* [[FAQ: How do I uninstall MakeHuman?]]
== Legal questions ==
* [[FAQ: Can I sell models created with MakeHuman?]]
* [[FAQ: Can I create a commercial closed source game with models generated by MakeHuman?]]
* [[FAQ:What do I need to do when I use a CC-BY asset?]]
* [[FAQ: We at company X don't like AGPL and want another license]]
== Creating assets ==
* [[FAQ: How can I create targets?]]
* [[FAQ: How can I create skin textures?]]
* [[FAQ: How can I create clothes?]]
* [[FAQ: How can I create hair?]]
* [[FAQ: How can I create extra bodyparts?]]
* [[FAQ: How can I create proxies or alternative topologies?]]
* [[FAQ: How can I create poses?]]
* [[FAQ: How can I create a thumbnail file?]]
* [[FAQ: I already have a 3d object from elsewhere. How can I use it in MH?]]
* [[FAQ: Can I export an asset from Blender and get it back into MakeHuman?]]
* [[FAQ: I have photos of a real person. Can I use those for making a skin?]]
* [[FAQ: How do I make and upload a fashion render?]]
== Contributing ==
* [[FAQ: How do I submit a bug report?]]
* [[FAQ: How to provide a makehuman log for a good bug report?]]
* [[FAQ: I want to extend MakeHuman functionality. Where should I start?]]
* [[FAQ: I want to contribute code in a more structured manner. What is the recommended procedure?]]
* [[FAQ: I want an easy code task to get to learn the makehuman code. Where should I start?]]
* [[FAQ: I have made a code patch. Where do I send it?]]
* [[FAQ: I'm not a coder. How can I contribute?]]
* [[FAQ: I have made a new asset for MakeHuman. How can I contribute it?]]
* [[FAQ: I have made a tutorial. How do I contribute it?]]
* [[FAQ: I want to help write documentation. How do I do that?]]
== Rendering, materials and node setups ==
* [[FAQ: The eyes look flat and "dead" in blender]]
== NSFW ==
* [[FAQ: What is the general policy towards NSFW content and discussions?]]
* [[FAQ: Is it ok to share NSFW imagery on the forums?]]
* [[FAQ: Is it ok to share NSFW content in the user contribution repos?]]
== Troubleshooting ==
* [[FAQ: The publisher could not be verified]]
* [[FAQ: My Antivirus tool blocks MakeHuman or Norton Antivirus reports WS.Reputation.1]]
* [[FAQ: There seems to be a version mismatch between MHX and blender]]
* [[FAQ: I am using the ubuntu or debian version of MakeHuman and...]]
* [[FAQ: MakeHuman fails to start in windows, nothing seems to happen when I click the exe]]
* [[FAQ: Eyes are rendered completely white (or black) in blender]]
* [[FAQ: I can't download from the user repos, all files are saved as HTML]]
95f6b2cb78cc4e1d32478bc99a4b4ba506d52119
1599
1584
2019-09-15T15:38:54Z
Joepal
14
/* Top questions */
wikitext
text/x-wiki
This page lists frequently asked questions.
== Top questions ==
* [[FAQ: MakeHuman does not start]]
* [[FAQ: I have a problem with makehuman. How do I report it?]]
* [[FAQ: I didn't get any forum activation link]]
* [[FAQ: I can't download from the user repos, all files are saved as HTML]]
* [[FAQ: What happened to the MHX export in MH 1.1.x and later?]]
* [[FAQ: MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]]
* [[FAQ: What happened to the special assets genitalia?]]
* [[FAQ: How can I use the asset downloader to download everything by everyone?]]
== General / unsorted ==
* [[FAQ: What is MakeHuman?]]
* [[FAQ: What is the prefered method for contacting the MakeHuman crew?]]
* [[FAQ: Is there an IRC channel?]]
* [[FAQ: How much does MakeHuman cost?]]
* [[FAQ: What happened to the XYZ asset?]]
* [[FAQ: I want to make a code fork of MakeHuman, but I hate mercurial or BitBucket]]
* [[FAQ: Do you have some quick tips on how to make a nice image with a makehuman toon?]]
* [[FAQ: What is a fashion render?]]
* [[FAQ: I have a business idea. Can I hire someone on the dev team to do consultancy work or development regarding MakeHuman?]]
== Terminology ==
* [[FAQ: What is Open Source?]]
* [[FAQ: What is a target?]]
* [[FAQ: What is the meaning of the numbers in MakeHuman release?]]
* [[FAQ: What is a proxy?]]
== Nightly builds ==
* [[FAQ: What is a nightly build?]]
* [[FAQ: Where are the nightly builds?]]
* [[FAQ: Will the nightly build work?]]
* [[FAQ: Can I use the stable version and the nightly build at the same time?]]
* [[FAQ: What's with the "makehuman-community-*" file name?]]
* [[FAQ: How can I run the same code as the nightly build from source?]]
== Technology ==
* [[FAQ: Why quadrilaterals?]]
* [[FAQ: What happened to the specific skeletons (the UE and SL rigs for example)?]]
* [[FAQ: Why is there no perspective mode?]]
== Installation ==
* [[FAQ: Where can I download MakeHuman?]]
* [[FAQ: Where can I find older Versions of MakeHuman?]]
* [[FAQ: I'm using ubuntu. Is there a PPA?]]
* [[FAQ: Which version of MakeHuman should I download?]]
* [[FAQ: Where are my MakeHuman files found (where is my HOME directory)?]]
* [[FAQ: Where can I unzip MakeHuman (in Windows)?]]
* [[FAQ: How can I run MakeHuman from a BitBucket source clone?]]
* [[FAQ: How can I build MakeHuman from source?]]
* [[FAQ: I downloaded third party clothes. How do I install them?]]
* [[FAQ: I downloaded a third party model. How do I install it?]]
* [[FAQ: I downloaded a third party proxy. How do I install it?]]
* [[FAQ: I downloaded a third party target. How do I install it?]]
* [[FAQ: I downloaded a third party skin. How do I install it?]]
* [[FAQ: I downloaded a third party plug-in. How do I install it?]]
* [[FAQ: How do I uninstall MakeHuman?]]
== Legal questions ==
* [[FAQ: Can I sell models created with MakeHuman?]]
* [[FAQ: Can I create a commercial closed source game with models generated by MakeHuman?]]
* [[FAQ:What do I need to do when I use a CC-BY asset?]]
* [[FAQ: We at company X don't like AGPL and want another license]]
== Creating assets ==
* [[FAQ: How can I create targets?]]
* [[FAQ: How can I create skin textures?]]
* [[FAQ: How can I create clothes?]]
* [[FAQ: How can I create hair?]]
* [[FAQ: How can I create extra bodyparts?]]
* [[FAQ: How can I create proxies or alternative topologies?]]
* [[FAQ: How can I create poses?]]
* [[FAQ: How can I create a thumbnail file?]]
* [[FAQ: I already have a 3d object from elsewhere. How can I use it in MH?]]
* [[FAQ: Can I export an asset from Blender and get it back into MakeHuman?]]
* [[FAQ: I have photos of a real person. Can I use those for making a skin?]]
* [[FAQ: How do I make and upload a fashion render?]]
== Contributing ==
* [[FAQ: How do I submit a bug report?]]
* [[FAQ: How to provide a makehuman log for a good bug report?]]
* [[FAQ: I want to extend MakeHuman functionality. Where should I start?]]
* [[FAQ: I want to contribute code in a more structured manner. What is the recommended procedure?]]
* [[FAQ: I want an easy code task to get to learn the makehuman code. Where should I start?]]
* [[FAQ: I have made a code patch. Where do I send it?]]
* [[FAQ: I'm not a coder. How can I contribute?]]
* [[FAQ: I have made a new asset for MakeHuman. How can I contribute it?]]
* [[FAQ: I have made a tutorial. How do I contribute it?]]
* [[FAQ: I want to help write documentation. How do I do that?]]
== Rendering, materials and node setups ==
* [[FAQ: The eyes look flat and "dead" in blender]]
== NSFW ==
* [[FAQ: What is the general policy towards NSFW content and discussions?]]
* [[FAQ: Is it ok to share NSFW imagery on the forums?]]
* [[FAQ: Is it ok to share NSFW content in the user contribution repos?]]
== Troubleshooting ==
* [[FAQ: The publisher could not be verified]]
* [[FAQ: My Antivirus tool blocks MakeHuman or Norton Antivirus reports WS.Reputation.1]]
* [[FAQ: There seems to be a version mismatch between MHX and blender]]
* [[FAQ: I am using the ubuntu or debian version of MakeHuman and...]]
* [[FAQ: MakeHuman fails to start in windows, nothing seems to happen when I click the exe]]
* [[FAQ: Eyes are rendered completely white (or black) in blender]]
* [[FAQ: I can't download from the user repos, all files are saved as HTML]]
e564c2849d3947725229c000fd30cadc539be477
1584
1569
2019-03-24T15:26:04Z
Joepal
14
/* Top questions */
wikitext
text/x-wiki
This page lists frequently asked questions.
== Top questions ==
* [[FAQ: I have a problem with makehuman. How do I report it?]]
* [[FAQ: I didn't get any forum activation link]]
* [[FAQ: I can't download from the user repos, all files are saved as HTML]]
* [[FAQ: What happened to the MHX export in MH 1.1.x and later?]]
* [[FAQ: MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]]
* [[FAQ: What happened to the special assets genitalia?]]
* [[FAQ: How can I use the asset downloader to download everything by everyone?]]
== General / unsorted ==
* [[FAQ: What is MakeHuman?]]
* [[FAQ: What is the prefered method for contacting the MakeHuman crew?]]
* [[FAQ: Is there an IRC channel?]]
* [[FAQ: How much does MakeHuman cost?]]
* [[FAQ: What happened to the XYZ asset?]]
* [[FAQ: I want to make a code fork of MakeHuman, but I hate mercurial or BitBucket]]
* [[FAQ: Do you have some quick tips on how to make a nice image with a makehuman toon?]]
* [[FAQ: What is a fashion render?]]
* [[FAQ: I have a business idea. Can I hire someone on the dev team to do consultancy work or development regarding MakeHuman?]]
== Terminology ==
* [[FAQ: What is Open Source?]]
* [[FAQ: What is a target?]]
* [[FAQ: What is the meaning of the numbers in MakeHuman release?]]
* [[FAQ: What is a proxy?]]
== Nightly builds ==
* [[FAQ: What is a nightly build?]]
* [[FAQ: Where are the nightly builds?]]
* [[FAQ: Will the nightly build work?]]
* [[FAQ: Can I use the stable version and the nightly build at the same time?]]
* [[FAQ: What's with the "makehuman-community-*" file name?]]
* [[FAQ: How can I run the same code as the nightly build from source?]]
== Technology ==
* [[FAQ: Why quadrilaterals?]]
* [[FAQ: What happened to the specific skeletons (the UE and SL rigs for example)?]]
* [[FAQ: Why is there no perspective mode?]]
== Installation ==
* [[FAQ: Where can I download MakeHuman?]]
* [[FAQ: Where can I find older Versions of MakeHuman?]]
* [[FAQ: I'm using ubuntu. Is there a PPA?]]
* [[FAQ: Which version of MakeHuman should I download?]]
* [[FAQ: Where are my MakeHuman files found (where is my HOME directory)?]]
* [[FAQ: Where can I unzip MakeHuman (in Windows)?]]
* [[FAQ: How can I run MakeHuman from a BitBucket source clone?]]
* [[FAQ: How can I build MakeHuman from source?]]
* [[FAQ: I downloaded third party clothes. How do I install them?]]
* [[FAQ: I downloaded a third party model. How do I install it?]]
* [[FAQ: I downloaded a third party proxy. How do I install it?]]
* [[FAQ: I downloaded a third party target. How do I install it?]]
* [[FAQ: I downloaded a third party skin. How do I install it?]]
* [[FAQ: I downloaded a third party plug-in. How do I install it?]]
* [[FAQ: How do I uninstall MakeHuman?]]
== Legal questions ==
* [[FAQ: Can I sell models created with MakeHuman?]]
* [[FAQ: Can I create a commercial closed source game with models generated by MakeHuman?]]
* [[FAQ:What do I need to do when I use a CC-BY asset?]]
* [[FAQ: We at company X don't like AGPL and want another license]]
== Creating assets ==
* [[FAQ: How can I create targets?]]
* [[FAQ: How can I create skin textures?]]
* [[FAQ: How can I create clothes?]]
* [[FAQ: How can I create hair?]]
* [[FAQ: How can I create extra bodyparts?]]
* [[FAQ: How can I create proxies or alternative topologies?]]
* [[FAQ: How can I create poses?]]
* [[FAQ: How can I create a thumbnail file?]]
* [[FAQ: I already have a 3d object from elsewhere. How can I use it in MH?]]
* [[FAQ: Can I export an asset from Blender and get it back into MakeHuman?]]
* [[FAQ: I have photos of a real person. Can I use those for making a skin?]]
* [[FAQ: How do I make and upload a fashion render?]]
== Contributing ==
* [[FAQ: How do I submit a bug report?]]
* [[FAQ: How to provide a makehuman log for a good bug report?]]
* [[FAQ: I want to extend MakeHuman functionality. Where should I start?]]
* [[FAQ: I want to contribute code in a more structured manner. What is the recommended procedure?]]
* [[FAQ: I want an easy code task to get to learn the makehuman code. Where should I start?]]
* [[FAQ: I have made a code patch. Where do I send it?]]
* [[FAQ: I'm not a coder. How can I contribute?]]
* [[FAQ: I have made a new asset for MakeHuman. How can I contribute it?]]
* [[FAQ: I have made a tutorial. How do I contribute it?]]
* [[FAQ: I want to help write documentation. How do I do that?]]
== Rendering, materials and node setups ==
* [[FAQ: The eyes look flat and "dead" in blender]]
== NSFW ==
* [[FAQ: What is the general policy towards NSFW content and discussions?]]
* [[FAQ: Is it ok to share NSFW imagery on the forums?]]
* [[FAQ: Is it ok to share NSFW content in the user contribution repos?]]
== Troubleshooting ==
* [[FAQ: The publisher could not be verified]]
* [[FAQ: My Antivirus tool blocks MakeHuman or Norton Antivirus reports WS.Reputation.1]]
* [[FAQ: There seems to be a version mismatch between MHX and blender]]
* [[FAQ: I am using the ubuntu or debian version of MakeHuman and...]]
* [[FAQ: MakeHuman fails to start in windows, nothing seems to happen when I click the exe]]
* [[FAQ: Eyes are rendered completely white (or black) in blender]]
* [[FAQ: I can't download from the user repos, all files are saved as HTML]]
f51c55cb7ff6e981b20369d2135bd277e015457b
1569
1565
2019-03-07T12:50:54Z
Joepal
14
/* Top questions */
wikitext
text/x-wiki
This page lists frequently asked questions.
== Top questions ==
* [[FAQ: I have a problem with makehuman. How do I report it?]]
* [[FAQ: I didn't get any forum activation link]]
* [[FAQ: I can't download from the user repos, all files are saved as HTML]]
* [[FAQ: What happened to the MHX export in MH 1.1.x and later?]]
* [[FAQ: MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]]
* [[FAQ: What happened to the special assets genitalia?]]
== General / unsorted ==
* [[FAQ: What is MakeHuman?]]
* [[FAQ: What is the prefered method for contacting the MakeHuman crew?]]
* [[FAQ: Is there an IRC channel?]]
* [[FAQ: How much does MakeHuman cost?]]
* [[FAQ: What happened to the XYZ asset?]]
* [[FAQ: I want to make a code fork of MakeHuman, but I hate mercurial or BitBucket]]
* [[FAQ: Do you have some quick tips on how to make a nice image with a makehuman toon?]]
* [[FAQ: What is a fashion render?]]
* [[FAQ: I have a business idea. Can I hire someone on the dev team to do consultancy work or development regarding MakeHuman?]]
== Terminology ==
* [[FAQ: What is Open Source?]]
* [[FAQ: What is a target?]]
* [[FAQ: What is the meaning of the numbers in MakeHuman release?]]
* [[FAQ: What is a proxy?]]
== Nightly builds ==
* [[FAQ: What is a nightly build?]]
* [[FAQ: Where are the nightly builds?]]
* [[FAQ: Will the nightly build work?]]
* [[FAQ: Can I use the stable version and the nightly build at the same time?]]
* [[FAQ: What's with the "makehuman-community-*" file name?]]
* [[FAQ: How can I run the same code as the nightly build from source?]]
== Technology ==
* [[FAQ: Why quadrilaterals?]]
* [[FAQ: What happened to the specific skeletons (the UE and SL rigs for example)?]]
* [[FAQ: Why is there no perspective mode?]]
== Installation ==
* [[FAQ: Where can I download MakeHuman?]]
* [[FAQ: Where can I find older Versions of MakeHuman?]]
* [[FAQ: I'm using ubuntu. Is there a PPA?]]
* [[FAQ: Which version of MakeHuman should I download?]]
* [[FAQ: Where are my MakeHuman files found (where is my HOME directory)?]]
* [[FAQ: Where can I unzip MakeHuman (in Windows)?]]
* [[FAQ: How can I run MakeHuman from a BitBucket source clone?]]
* [[FAQ: How can I build MakeHuman from source?]]
* [[FAQ: I downloaded third party clothes. How do I install them?]]
* [[FAQ: I downloaded a third party model. How do I install it?]]
* [[FAQ: I downloaded a third party proxy. How do I install it?]]
* [[FAQ: I downloaded a third party target. How do I install it?]]
* [[FAQ: I downloaded a third party skin. How do I install it?]]
* [[FAQ: I downloaded a third party plug-in. How do I install it?]]
* [[FAQ: How do I uninstall MakeHuman?]]
== Legal questions ==
* [[FAQ: Can I sell models created with MakeHuman?]]
* [[FAQ: Can I create a commercial closed source game with models generated by MakeHuman?]]
* [[FAQ:What do I need to do when I use a CC-BY asset?]]
* [[FAQ: We at company X don't like AGPL and want another license]]
== Creating assets ==
* [[FAQ: How can I create targets?]]
* [[FAQ: How can I create skin textures?]]
* [[FAQ: How can I create clothes?]]
* [[FAQ: How can I create hair?]]
* [[FAQ: How can I create extra bodyparts?]]
* [[FAQ: How can I create proxies or alternative topologies?]]
* [[FAQ: How can I create poses?]]
* [[FAQ: How can I create a thumbnail file?]]
* [[FAQ: I already have a 3d object from elsewhere. How can I use it in MH?]]
* [[FAQ: Can I export an asset from Blender and get it back into MakeHuman?]]
* [[FAQ: I have photos of a real person. Can I use those for making a skin?]]
* [[FAQ: How do I make and upload a fashion render?]]
== Contributing ==
* [[FAQ: How do I submit a bug report?]]
* [[FAQ: How to provide a makehuman log for a good bug report?]]
* [[FAQ: I want to extend MakeHuman functionality. Where should I start?]]
* [[FAQ: I want to contribute code in a more structured manner. What is the recommended procedure?]]
* [[FAQ: I want an easy code task to get to learn the makehuman code. Where should I start?]]
* [[FAQ: I have made a code patch. Where do I send it?]]
* [[FAQ: I'm not a coder. How can I contribute?]]
* [[FAQ: I have made a new asset for MakeHuman. How can I contribute it?]]
* [[FAQ: I have made a tutorial. How do I contribute it?]]
* [[FAQ: I want to help write documentation. How do I do that?]]
== Rendering, materials and node setups ==
* [[FAQ: The eyes look flat and "dead" in blender]]
== NSFW ==
* [[FAQ: What is the general policy towards NSFW content and discussions?]]
* [[FAQ: Is it ok to share NSFW imagery on the forums?]]
* [[FAQ: Is it ok to share NSFW content in the user contribution repos?]]
== Troubleshooting ==
* [[FAQ: The publisher could not be verified]]
* [[FAQ: My Antivirus tool blocks MakeHuman or Norton Antivirus reports WS.Reputation.1]]
* [[FAQ: There seems to be a version mismatch between MHX and blender]]
* [[FAQ: I am using the ubuntu or debian version of MakeHuman and...]]
* [[FAQ: MakeHuman fails to start in windows, nothing seems to happen when I click the exe]]
* [[FAQ: Eyes are rendered completely white (or black) in blender]]
* [[FAQ: I can't download from the user repos, all files are saved as HTML]]
dfa18a729376516b72ad035147c56ecc024fde8f
1565
1482
2019-03-06T16:11:37Z
Joepal
14
wikitext
text/x-wiki
This page lists frequently asked questions.
== Top questions ==
* [[FAQ: I didn't get any forum activation link]]
* [[FAQ: I can't download from the user repos, all files are saved as HTML]]
* [[FAQ: What happened to the MHX export in MH 1.1.x and later?]]
* [[FAQ: MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]]
* [[FAQ: What happened to the special assets genitalia?]]
* [[FAQ: I have a problem with makehuman. How do I report it?]]
== General / unsorted ==
* [[FAQ: What is MakeHuman?]]
* [[FAQ: What is the prefered method for contacting the MakeHuman crew?]]
* [[FAQ: Is there an IRC channel?]]
* [[FAQ: How much does MakeHuman cost?]]
* [[FAQ: What happened to the XYZ asset?]]
* [[FAQ: I want to make a code fork of MakeHuman, but I hate mercurial or BitBucket]]
* [[FAQ: Do you have some quick tips on how to make a nice image with a makehuman toon?]]
* [[FAQ: What is a fashion render?]]
* [[FAQ: I have a business idea. Can I hire someone on the dev team to do consultancy work or development regarding MakeHuman?]]
== Terminology ==
* [[FAQ: What is Open Source?]]
* [[FAQ: What is a target?]]
* [[FAQ: What is the meaning of the numbers in MakeHuman release?]]
* [[FAQ: What is a proxy?]]
== Nightly builds ==
* [[FAQ: What is a nightly build?]]
* [[FAQ: Where are the nightly builds?]]
* [[FAQ: Will the nightly build work?]]
* [[FAQ: Can I use the stable version and the nightly build at the same time?]]
* [[FAQ: What's with the "makehuman-community-*" file name?]]
* [[FAQ: How can I run the same code as the nightly build from source?]]
== Technology ==
* [[FAQ: Why quadrilaterals?]]
* [[FAQ: What happened to the specific skeletons (the UE and SL rigs for example)?]]
* [[FAQ: Why is there no perspective mode?]]
== Installation ==
* [[FAQ: Where can I download MakeHuman?]]
* [[FAQ: Where can I find older Versions of MakeHuman?]]
* [[FAQ: I'm using ubuntu. Is there a PPA?]]
* [[FAQ: Which version of MakeHuman should I download?]]
* [[FAQ: Where are my MakeHuman files found (where is my HOME directory)?]]
* [[FAQ: Where can I unzip MakeHuman (in Windows)?]]
* [[FAQ: How can I run MakeHuman from a BitBucket source clone?]]
* [[FAQ: How can I build MakeHuman from source?]]
* [[FAQ: I downloaded third party clothes. How do I install them?]]
* [[FAQ: I downloaded a third party model. How do I install it?]]
* [[FAQ: I downloaded a third party proxy. How do I install it?]]
* [[FAQ: I downloaded a third party target. How do I install it?]]
* [[FAQ: I downloaded a third party skin. How do I install it?]]
* [[FAQ: I downloaded a third party plug-in. How do I install it?]]
* [[FAQ: How do I uninstall MakeHuman?]]
== Legal questions ==
* [[FAQ: Can I sell models created with MakeHuman?]]
* [[FAQ: Can I create a commercial closed source game with models generated by MakeHuman?]]
* [[FAQ:What do I need to do when I use a CC-BY asset?]]
* [[FAQ: We at company X don't like AGPL and want another license]]
== Creating assets ==
* [[FAQ: How can I create targets?]]
* [[FAQ: How can I create skin textures?]]
* [[FAQ: How can I create clothes?]]
* [[FAQ: How can I create hair?]]
* [[FAQ: How can I create extra bodyparts?]]
* [[FAQ: How can I create proxies or alternative topologies?]]
* [[FAQ: How can I create poses?]]
* [[FAQ: How can I create a thumbnail file?]]
* [[FAQ: I already have a 3d object from elsewhere. How can I use it in MH?]]
* [[FAQ: Can I export an asset from Blender and get it back into MakeHuman?]]
* [[FAQ: I have photos of a real person. Can I use those for making a skin?]]
* [[FAQ: How do I make and upload a fashion render?]]
== Contributing ==
* [[FAQ: How do I submit a bug report?]]
* [[FAQ: How to provide a makehuman log for a good bug report?]]
* [[FAQ: I want to extend MakeHuman functionality. Where should I start?]]
* [[FAQ: I want to contribute code in a more structured manner. What is the recommended procedure?]]
* [[FAQ: I want an easy code task to get to learn the makehuman code. Where should I start?]]
* [[FAQ: I have made a code patch. Where do I send it?]]
* [[FAQ: I'm not a coder. How can I contribute?]]
* [[FAQ: I have made a new asset for MakeHuman. How can I contribute it?]]
* [[FAQ: I have made a tutorial. How do I contribute it?]]
* [[FAQ: I want to help write documentation. How do I do that?]]
== Rendering, materials and node setups ==
* [[FAQ: The eyes look flat and "dead" in blender]]
== NSFW ==
* [[FAQ: What is the general policy towards NSFW content and discussions?]]
* [[FAQ: Is it ok to share NSFW imagery on the forums?]]
* [[FAQ: Is it ok to share NSFW content in the user contribution repos?]]
== Troubleshooting ==
* [[FAQ: The publisher could not be verified]]
* [[FAQ: My Antivirus tool blocks MakeHuman or Norton Antivirus reports WS.Reputation.1]]
* [[FAQ: There seems to be a version mismatch between MHX and blender]]
* [[FAQ: I am using the ubuntu or debian version of MakeHuman and...]]
* [[FAQ: MakeHuman fails to start in windows, nothing seems to happen when I click the exe]]
* [[FAQ: Eyes are rendered completely white (or black) in blender]]
* [[FAQ: I can't download from the user repos, all files are saved as HTML]]
938fcf464c1cad0706433150b0fecda1b067a908
1482
1479
2018-10-19T11:36:32Z
Joepal
14
/* Top questions */
wikitext
text/x-wiki
This page lists frequently asked questions.
== Top questions ==
* [[FAQ: I didn't get any forum activation link]]
* [[FAQ: I can't download from the user repos, all files are saved as HTML]]
* [[FAQ: What happened to the MHX export in MH 1.1.x and later?]]
* [[FAQ: MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]]
* [[FAQ: What happened to the special assets genitalia?]]
== General / unsorted ==
* [[FAQ: What is MakeHuman?]]
* [[FAQ: What is the prefered method for contacting the MakeHuman crew?]]
* [[FAQ: Is there an IRC channel?]]
* [[FAQ: How much does MakeHuman cost?]]
* [[FAQ: What happened to the XYZ asset?]]
* [[FAQ: I want to make a code fork of MakeHuman, but I hate mercurial or BitBucket]]
* [[FAQ: Do you have some quick tips on how to make a nice image with a makehuman toon?]]
* [[FAQ: What is a fashion render?]]
* [[FAQ: I have a business idea. Can I hire someone on the dev team to do consultancy work or development regarding MakeHuman?]]
== Terminology ==
* [[FAQ: What is Open Source?]]
* [[FAQ: What is a target?]]
* [[FAQ: What is the meaning of the numbers in MakeHuman release?]]
* [[FAQ: What is a proxy?]]
== Nightly builds ==
* [[FAQ: What is a nightly build?]]
* [[FAQ: Where are the nightly builds?]]
* [[FAQ: Will the nightly build work?]]
* [[FAQ: Can I use the stable version and the nightly build at the same time?]]
* [[FAQ: What's with the "makehuman-community-*" file name?]]
* [[FAQ: How can I run the same code as the nightly build from source?]]
== Technology ==
* [[FAQ: Why quadrilaterals?]]
* [[FAQ: What happened to the specific skeletons (the UE and SL rigs for example)?]]
* [[FAQ: Why is there no perspective mode?]]
== Installation ==
* [[FAQ: Where can I download MakeHuman?]]
* [[FAQ: Where can I find older Versions of MakeHuman?]]
* [[FAQ: I'm using ubuntu. Is there a PPA?]]
* [[FAQ: Which version of MakeHuman should I download?]]
* [[FAQ: Where are my MakeHuman files found (where is my HOME directory)?]]
* [[FAQ: Where can I unzip MakeHuman (in Windows)?]]
* [[FAQ: How can I run MakeHuman from a BitBucket source clone?]]
* [[FAQ: How can I build MakeHuman from source?]]
* [[FAQ: I downloaded third party clothes. How do I install them?]]
* [[FAQ: I downloaded a third party model. How do I install it?]]
* [[FAQ: I downloaded a third party proxy. How do I install it?]]
* [[FAQ: I downloaded a third party target. How do I install it?]]
* [[FAQ: I downloaded a third party skin. How do I install it?]]
* [[FAQ: I downloaded a third party plug-in. How do I install it?]]
* [[FAQ: How do I uninstall MakeHuman?]]
== Legal questions ==
* [[FAQ: Can I sell models created with MakeHuman?]]
* [[FAQ: Can I create a commercial closed source game with models generated by MakeHuman?]]
* [[FAQ:What do I need to do when I use a CC-BY asset?]]
* [[FAQ: We at company X don't like AGPL and want another license]]
== Creating assets ==
* [[FAQ: How can I create targets?]]
* [[FAQ: How can I create skin textures?]]
* [[FAQ: How can I create clothes?]]
* [[FAQ: How can I create hair?]]
* [[FAQ: How can I create extra bodyparts?]]
* [[FAQ: How can I create proxies or alternative topologies?]]
* [[FAQ: How can I create poses?]]
* [[FAQ: How can I create a thumbnail file?]]
* [[FAQ: I already have a 3d object from elsewhere. How can I use it in MH?]]
* [[FAQ: Can I export an asset from Blender and get it back into MakeHuman?]]
* [[FAQ: I have photos of a real person. Can I use those for making a skin?]]
* [[FAQ: How do I make and upload a fashion render?]]
== Contributing ==
* [[FAQ: How do I submit a bug report?]]
* [[FAQ: How to provide a makehuman log for a good bug report?]]
* [[FAQ: I want to extend MakeHuman functionality. Where should I start?]]
* [[FAQ: I want to contribute code in a more structured manner. What is the recommended procedure?]]
* [[FAQ: I want an easy code task to get to learn the makehuman code. Where should I start?]]
* [[FAQ: I have made a code patch. Where do I send it?]]
* [[FAQ: I'm not a coder. How can I contribute?]]
* [[FAQ: I have made a new asset for MakeHuman. How can I contribute it?]]
* [[FAQ: I have made a tutorial. How do I contribute it?]]
* [[FAQ: I want to help write documentation. How do I do that?]]
== Rendering, materials and node setups ==
* [[FAQ: The eyes look flat and "dead" in blender]]
== NSFW ==
* [[FAQ: What is the general policy towards NSFW content and discussions?]]
* [[FAQ: Is it ok to share NSFW imagery on the forums?]]
* [[FAQ: Is it ok to share NSFW content in the user contribution repos?]]
== Troubleshooting ==
* [[FAQ: The publisher could not be verified]]
* [[FAQ: My Antivirus tool blocks MakeHuman or Norton Antivirus reports WS.Reputation.1]]
* [[FAQ: There seems to be a version mismatch between MHX and blender]]
* [[FAQ: I am using the ubuntu or debian version of MakeHuman and...]]
* [[FAQ: MakeHuman fails to start in windows, nothing seems to happen when I click the exe]]
* [[FAQ: Eyes are rendered completely white (or black) in blender]]
* [[FAQ: I can't download from the user repos, all files are saved as HTML]]
57225b90fd9aab2bd76a2ddd73a8a1b979b3cd7b
1479
1478
2018-09-18T07:42:10Z
Joepal
14
/* General / unsorted */
wikitext
text/x-wiki
This page lists frequently asked questions.
== Top questions ==
* [[FAQ: I can't download from the user repos, all files are saved as HTML]]
* [[FAQ: What happened to the MHX export in MH 1.1.x and later?]]
* [[FAQ: MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]]
* [[FAQ: What happened to the special assets genitalia?]]
== General / unsorted ==
* [[FAQ: What is MakeHuman?]]
* [[FAQ: What is the prefered method for contacting the MakeHuman crew?]]
* [[FAQ: Is there an IRC channel?]]
* [[FAQ: How much does MakeHuman cost?]]
* [[FAQ: What happened to the XYZ asset?]]
* [[FAQ: I want to make a code fork of MakeHuman, but I hate mercurial or BitBucket]]
* [[FAQ: Do you have some quick tips on how to make a nice image with a makehuman toon?]]
* [[FAQ: What is a fashion render?]]
* [[FAQ: I have a business idea. Can I hire someone on the dev team to do consultancy work or development regarding MakeHuman?]]
== Terminology ==
* [[FAQ: What is Open Source?]]
* [[FAQ: What is a target?]]
* [[FAQ: What is the meaning of the numbers in MakeHuman release?]]
* [[FAQ: What is a proxy?]]
== Nightly builds ==
* [[FAQ: What is a nightly build?]]
* [[FAQ: Where are the nightly builds?]]
* [[FAQ: Will the nightly build work?]]
* [[FAQ: Can I use the stable version and the nightly build at the same time?]]
* [[FAQ: What's with the "makehuman-community-*" file name?]]
* [[FAQ: How can I run the same code as the nightly build from source?]]
== Technology ==
* [[FAQ: Why quadrilaterals?]]
* [[FAQ: What happened to the specific skeletons (the UE and SL rigs for example)?]]
* [[FAQ: Why is there no perspective mode?]]
== Installation ==
* [[FAQ: Where can I download MakeHuman?]]
* [[FAQ: Where can I find older Versions of MakeHuman?]]
* [[FAQ: I'm using ubuntu. Is there a PPA?]]
* [[FAQ: Which version of MakeHuman should I download?]]
* [[FAQ: Where are my MakeHuman files found (where is my HOME directory)?]]
* [[FAQ: Where can I unzip MakeHuman (in Windows)?]]
* [[FAQ: How can I run MakeHuman from a BitBucket source clone?]]
* [[FAQ: How can I build MakeHuman from source?]]
* [[FAQ: I downloaded third party clothes. How do I install them?]]
* [[FAQ: I downloaded a third party model. How do I install it?]]
* [[FAQ: I downloaded a third party proxy. How do I install it?]]
* [[FAQ: I downloaded a third party target. How do I install it?]]
* [[FAQ: I downloaded a third party skin. How do I install it?]]
* [[FAQ: I downloaded a third party plug-in. How do I install it?]]
* [[FAQ: How do I uninstall MakeHuman?]]
== Legal questions ==
* [[FAQ: Can I sell models created with MakeHuman?]]
* [[FAQ: Can I create a commercial closed source game with models generated by MakeHuman?]]
* [[FAQ:What do I need to do when I use a CC-BY asset?]]
* [[FAQ: We at company X don't like AGPL and want another license]]
== Creating assets ==
* [[FAQ: How can I create targets?]]
* [[FAQ: How can I create skin textures?]]
* [[FAQ: How can I create clothes?]]
* [[FAQ: How can I create hair?]]
* [[FAQ: How can I create extra bodyparts?]]
* [[FAQ: How can I create proxies or alternative topologies?]]
* [[FAQ: How can I create poses?]]
* [[FAQ: How can I create a thumbnail file?]]
* [[FAQ: I already have a 3d object from elsewhere. How can I use it in MH?]]
* [[FAQ: Can I export an asset from Blender and get it back into MakeHuman?]]
* [[FAQ: I have photos of a real person. Can I use those for making a skin?]]
* [[FAQ: How do I make and upload a fashion render?]]
== Contributing ==
* [[FAQ: How do I submit a bug report?]]
* [[FAQ: How to provide a makehuman log for a good bug report?]]
* [[FAQ: I want to extend MakeHuman functionality. Where should I start?]]
* [[FAQ: I want to contribute code in a more structured manner. What is the recommended procedure?]]
* [[FAQ: I want an easy code task to get to learn the makehuman code. Where should I start?]]
* [[FAQ: I have made a code patch. Where do I send it?]]
* [[FAQ: I'm not a coder. How can I contribute?]]
* [[FAQ: I have made a new asset for MakeHuman. How can I contribute it?]]
* [[FAQ: I have made a tutorial. How do I contribute it?]]
* [[FAQ: I want to help write documentation. How do I do that?]]
== Rendering, materials and node setups ==
* [[FAQ: The eyes look flat and "dead" in blender]]
== NSFW ==
* [[FAQ: What is the general policy towards NSFW content and discussions?]]
* [[FAQ: Is it ok to share NSFW imagery on the forums?]]
* [[FAQ: Is it ok to share NSFW content in the user contribution repos?]]
== Troubleshooting ==
* [[FAQ: The publisher could not be verified]]
* [[FAQ: My Antivirus tool blocks MakeHuman or Norton Antivirus reports WS.Reputation.1]]
* [[FAQ: There seems to be a version mismatch between MHX and blender]]
* [[FAQ: I am using the ubuntu or debian version of MakeHuman and...]]
* [[FAQ: MakeHuman fails to start in windows, nothing seems to happen when I click the exe]]
* [[FAQ: Eyes are rendered completely white (or black) in blender]]
* [[FAQ: I can't download from the user repos, all files are saved as HTML]]
5e9eb9dee5ab562e2e84f14a6f63e8ac7a611406
1478
1444
2018-09-17T21:20:43Z
Aranuvir
17
/* Top questions */
wikitext
text/x-wiki
This page lists frequently asked questions.
== Top questions ==
* [[FAQ: I can't download from the user repos, all files are saved as HTML]]
* [[FAQ: What happened to the MHX export in MH 1.1.x and later?]]
* [[FAQ: MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]]
* [[FAQ: What happened to the special assets genitalia?]]
== General / unsorted ==
* [[FAQ: What is MakeHuman?]]
* [[FAQ: What is the prefered method for contacting the MakeHuman crew?]]
* [[FAQ: Is there an IRC channel?]]
* [[FAQ: How much does MakeHuman cost?]]
* [[FAQ: What happened to the XYZ asset?]]
* [[FAQ: I want to make a code fork of MakeHuman, but I hate mercurial or BitBucket]]
* [[FAQ: Do you have some quick tips on how to make a nice image with a makehuman toon?]]
* [[FAQ: What is a fashion render?]]
== Terminology ==
* [[FAQ: What is Open Source?]]
* [[FAQ: What is a target?]]
* [[FAQ: What is the meaning of the numbers in MakeHuman release?]]
* [[FAQ: What is a proxy?]]
== Nightly builds ==
* [[FAQ: What is a nightly build?]]
* [[FAQ: Where are the nightly builds?]]
* [[FAQ: Will the nightly build work?]]
* [[FAQ: Can I use the stable version and the nightly build at the same time?]]
* [[FAQ: What's with the "makehuman-community-*" file name?]]
* [[FAQ: How can I run the same code as the nightly build from source?]]
== Technology ==
* [[FAQ: Why quadrilaterals?]]
* [[FAQ: What happened to the specific skeletons (the UE and SL rigs for example)?]]
* [[FAQ: Why is there no perspective mode?]]
== Installation ==
* [[FAQ: Where can I download MakeHuman?]]
* [[FAQ: Where can I find older Versions of MakeHuman?]]
* [[FAQ: I'm using ubuntu. Is there a PPA?]]
* [[FAQ: Which version of MakeHuman should I download?]]
* [[FAQ: Where are my MakeHuman files found (where is my HOME directory)?]]
* [[FAQ: Where can I unzip MakeHuman (in Windows)?]]
* [[FAQ: How can I run MakeHuman from a BitBucket source clone?]]
* [[FAQ: How can I build MakeHuman from source?]]
* [[FAQ: I downloaded third party clothes. How do I install them?]]
* [[FAQ: I downloaded a third party model. How do I install it?]]
* [[FAQ: I downloaded a third party proxy. How do I install it?]]
* [[FAQ: I downloaded a third party target. How do I install it?]]
* [[FAQ: I downloaded a third party skin. How do I install it?]]
* [[FAQ: I downloaded a third party plug-in. How do I install it?]]
* [[FAQ: How do I uninstall MakeHuman?]]
== Legal questions ==
* [[FAQ: Can I sell models created with MakeHuman?]]
* [[FAQ: Can I create a commercial closed source game with models generated by MakeHuman?]]
* [[FAQ:What do I need to do when I use a CC-BY asset?]]
* [[FAQ: We at company X don't like AGPL and want another license]]
== Creating assets ==
* [[FAQ: How can I create targets?]]
* [[FAQ: How can I create skin textures?]]
* [[FAQ: How can I create clothes?]]
* [[FAQ: How can I create hair?]]
* [[FAQ: How can I create extra bodyparts?]]
* [[FAQ: How can I create proxies or alternative topologies?]]
* [[FAQ: How can I create poses?]]
* [[FAQ: How can I create a thumbnail file?]]
* [[FAQ: I already have a 3d object from elsewhere. How can I use it in MH?]]
* [[FAQ: Can I export an asset from Blender and get it back into MakeHuman?]]
* [[FAQ: I have photos of a real person. Can I use those for making a skin?]]
* [[FAQ: How do I make and upload a fashion render?]]
== Contributing ==
* [[FAQ: How do I submit a bug report?]]
* [[FAQ: How to provide a makehuman log for a good bug report?]]
* [[FAQ: I want to extend MakeHuman functionality. Where should I start?]]
* [[FAQ: I want to contribute code in a more structured manner. What is the recommended procedure?]]
* [[FAQ: I want an easy code task to get to learn the makehuman code. Where should I start?]]
* [[FAQ: I have made a code patch. Where do I send it?]]
* [[FAQ: I'm not a coder. How can I contribute?]]
* [[FAQ: I have made a new asset for MakeHuman. How can I contribute it?]]
* [[FAQ: I have made a tutorial. How do I contribute it?]]
* [[FAQ: I want to help write documentation. How do I do that?]]
== Rendering, materials and node setups ==
* [[FAQ: The eyes look flat and "dead" in blender]]
== NSFW ==
* [[FAQ: What is the general policy towards NSFW content and discussions?]]
* [[FAQ: Is it ok to share NSFW imagery on the forums?]]
* [[FAQ: Is it ok to share NSFW content in the user contribution repos?]]
== Troubleshooting ==
* [[FAQ: The publisher could not be verified]]
* [[FAQ: My Antivirus tool blocks MakeHuman or Norton Antivirus reports WS.Reputation.1]]
* [[FAQ: There seems to be a version mismatch between MHX and blender]]
* [[FAQ: I am using the ubuntu or debian version of MakeHuman and...]]
* [[FAQ: MakeHuman fails to start in windows, nothing seems to happen when I click the exe]]
* [[FAQ: Eyes are rendered completely white (or black) in blender]]
* [[FAQ: I can't download from the user repos, all files are saved as HTML]]
ad4f57d3d7c715133f38ed2a07bddd4d55cc5fb8
1444
1441
2018-02-14T09:14:03Z
Joepal
14
/* Installation */
wikitext
text/x-wiki
This page lists frequently asked questions.
== Top questions ==
* [[FAQ: What happened to the MHX export in MH 1.1.x and later?]]
* [[FAQ: MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]]
* [[FAQ: What happened to the special assets genitalia?]]
== General / unsorted ==
* [[FAQ: What is MakeHuman?]]
* [[FAQ: What is the prefered method for contacting the MakeHuman crew?]]
* [[FAQ: Is there an IRC channel?]]
* [[FAQ: How much does MakeHuman cost?]]
* [[FAQ: What happened to the XYZ asset?]]
* [[FAQ: I want to make a code fork of MakeHuman, but I hate mercurial or BitBucket]]
* [[FAQ: Do you have some quick tips on how to make a nice image with a makehuman toon?]]
* [[FAQ: What is a fashion render?]]
== Terminology ==
* [[FAQ: What is Open Source?]]
* [[FAQ: What is a target?]]
* [[FAQ: What is the meaning of the numbers in MakeHuman release?]]
* [[FAQ: What is a proxy?]]
== Nightly builds ==
* [[FAQ: What is a nightly build?]]
* [[FAQ: Where are the nightly builds?]]
* [[FAQ: Will the nightly build work?]]
* [[FAQ: Can I use the stable version and the nightly build at the same time?]]
* [[FAQ: What's with the "makehuman-community-*" file name?]]
* [[FAQ: How can I run the same code as the nightly build from source?]]
== Technology ==
* [[FAQ: Why quadrilaterals?]]
* [[FAQ: What happened to the specific skeletons (the UE and SL rigs for example)?]]
* [[FAQ: Why is there no perspective mode?]]
== Installation ==
* [[FAQ: Where can I download MakeHuman?]]
* [[FAQ: Where can I find older Versions of MakeHuman?]]
* [[FAQ: I'm using ubuntu. Is there a PPA?]]
* [[FAQ: Which version of MakeHuman should I download?]]
* [[FAQ: Where are my MakeHuman files found (where is my HOME directory)?]]
* [[FAQ: Where can I unzip MakeHuman (in Windows)?]]
* [[FAQ: How can I run MakeHuman from a BitBucket source clone?]]
* [[FAQ: How can I build MakeHuman from source?]]
* [[FAQ: I downloaded third party clothes. How do I install them?]]
* [[FAQ: I downloaded a third party model. How do I install it?]]
* [[FAQ: I downloaded a third party proxy. How do I install it?]]
* [[FAQ: I downloaded a third party target. How do I install it?]]
* [[FAQ: I downloaded a third party skin. How do I install it?]]
* [[FAQ: I downloaded a third party plug-in. How do I install it?]]
* [[FAQ: How do I uninstall MakeHuman?]]
== Legal questions ==
* [[FAQ: Can I sell models created with MakeHuman?]]
* [[FAQ: Can I create a commercial closed source game with models generated by MakeHuman?]]
* [[FAQ:What do I need to do when I use a CC-BY asset?]]
* [[FAQ: We at company X don't like AGPL and want another license]]
== Creating assets ==
* [[FAQ: How can I create targets?]]
* [[FAQ: How can I create skin textures?]]
* [[FAQ: How can I create clothes?]]
* [[FAQ: How can I create hair?]]
* [[FAQ: How can I create extra bodyparts?]]
* [[FAQ: How can I create proxies or alternative topologies?]]
* [[FAQ: How can I create poses?]]
* [[FAQ: How can I create a thumbnail file?]]
* [[FAQ: I already have a 3d object from elsewhere. How can I use it in MH?]]
* [[FAQ: Can I export an asset from Blender and get it back into MakeHuman?]]
* [[FAQ: I have photos of a real person. Can I use those for making a skin?]]
* [[FAQ: How do I make and upload a fashion render?]]
== Contributing ==
* [[FAQ: How do I submit a bug report?]]
* [[FAQ: How to provide a makehuman log for a good bug report?]]
* [[FAQ: I want to extend MakeHuman functionality. Where should I start?]]
* [[FAQ: I want to contribute code in a more structured manner. What is the recommended procedure?]]
* [[FAQ: I want an easy code task to get to learn the makehuman code. Where should I start?]]
* [[FAQ: I have made a code patch. Where do I send it?]]
* [[FAQ: I'm not a coder. How can I contribute?]]
* [[FAQ: I have made a new asset for MakeHuman. How can I contribute it?]]
* [[FAQ: I have made a tutorial. How do I contribute it?]]
* [[FAQ: I want to help write documentation. How do I do that?]]
== Rendering, materials and node setups ==
* [[FAQ: The eyes look flat and "dead" in blender]]
== NSFW ==
* [[FAQ: What is the general policy towards NSFW content and discussions?]]
* [[FAQ: Is it ok to share NSFW imagery on the forums?]]
* [[FAQ: Is it ok to share NSFW content in the user contribution repos?]]
== Troubleshooting ==
* [[FAQ: The publisher could not be verified]]
* [[FAQ: My Antivirus tool blocks MakeHuman or Norton Antivirus reports WS.Reputation.1]]
* [[FAQ: There seems to be a version mismatch between MHX and blender]]
* [[FAQ: I am using the ubuntu or debian version of MakeHuman and...]]
* [[FAQ: MakeHuman fails to start in windows, nothing seems to happen when I click the exe]]
* [[FAQ: Eyes are rendered completely white (or black) in blender]]
* [[FAQ: I can't download from the user repos, all files are saved as HTML]]
f143168a44a10356fa296c4b120c78401057cd93
1441
1433
2017-12-11T13:40:26Z
Joepal
14
/* Contributing */
wikitext
text/x-wiki
This page lists frequently asked questions.
== Top questions ==
* [[FAQ: What happened to the MHX export in MH 1.1.x and later?]]
* [[FAQ: MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]]
* [[FAQ: What happened to the special assets genitalia?]]
== General / unsorted ==
* [[FAQ: What is MakeHuman?]]
* [[FAQ: What is the prefered method for contacting the MakeHuman crew?]]
* [[FAQ: Is there an IRC channel?]]
* [[FAQ: How much does MakeHuman cost?]]
* [[FAQ: What happened to the XYZ asset?]]
* [[FAQ: I want to make a code fork of MakeHuman, but I hate mercurial or BitBucket]]
* [[FAQ: Do you have some quick tips on how to make a nice image with a makehuman toon?]]
* [[FAQ: What is a fashion render?]]
== Terminology ==
* [[FAQ: What is Open Source?]]
* [[FAQ: What is a target?]]
* [[FAQ: What is the meaning of the numbers in MakeHuman release?]]
* [[FAQ: What is a proxy?]]
== Nightly builds ==
* [[FAQ: What is a nightly build?]]
* [[FAQ: Where are the nightly builds?]]
* [[FAQ: Will the nightly build work?]]
* [[FAQ: Can I use the stable version and the nightly build at the same time?]]
* [[FAQ: What's with the "makehuman-community-*" file name?]]
* [[FAQ: How can I run the same code as the nightly build from source?]]
== Technology ==
* [[FAQ: Why quadrilaterals?]]
* [[FAQ: What happened to the specific skeletons (the UE and SL rigs for example)?]]
* [[FAQ: Why is there no perspective mode?]]
== Installation ==
* [[FAQ: Where can I download MakeHuman?]]
* [[FAQ: Where can I find older Versions of MakeHuman?]]
* [[FAQ: I'm using ubuntu. Is there a PPA?]]
* [[FAQ: Which version of MakeHuman should I download?]]
* [[FAQ: Where are my MakeHuman files found (where is my HOME directory)?]]
* [[FAQ: Where can I unzip MakeHuman (in Windows)?]]
* [[FAQ: How can I run MakeHuman from a BitBucket source clone?]]
* [[FAQ: How can I build MakeHuman from source?]]
* [[FAQ: I downloaded third party clothes. How do I install them?]]
* [[FAQ: I downloaded a third party model. How do I install it?]]
* [[FAQ: I downloaded a third party proxy. How do I install it?]]
* [[FAQ: I downloaded a third party target. How do I install it?]]
* [[FAQ: I downloaded a third party plug-in. How do I install it?]]
* [[FAQ: How do I uninstall MakeHuman?]]
== Legal questions ==
* [[FAQ: Can I sell models created with MakeHuman?]]
* [[FAQ: Can I create a commercial closed source game with models generated by MakeHuman?]]
* [[FAQ:What do I need to do when I use a CC-BY asset?]]
* [[FAQ: We at company X don't like AGPL and want another license]]
== Creating assets ==
* [[FAQ: How can I create targets?]]
* [[FAQ: How can I create skin textures?]]
* [[FAQ: How can I create clothes?]]
* [[FAQ: How can I create hair?]]
* [[FAQ: How can I create extra bodyparts?]]
* [[FAQ: How can I create proxies or alternative topologies?]]
* [[FAQ: How can I create poses?]]
* [[FAQ: How can I create a thumbnail file?]]
* [[FAQ: I already have a 3d object from elsewhere. How can I use it in MH?]]
* [[FAQ: Can I export an asset from Blender and get it back into MakeHuman?]]
* [[FAQ: I have photos of a real person. Can I use those for making a skin?]]
* [[FAQ: How do I make and upload a fashion render?]]
== Contributing ==
* [[FAQ: How do I submit a bug report?]]
* [[FAQ: How to provide a makehuman log for a good bug report?]]
* [[FAQ: I want to extend MakeHuman functionality. Where should I start?]]
* [[FAQ: I want to contribute code in a more structured manner. What is the recommended procedure?]]
* [[FAQ: I want an easy code task to get to learn the makehuman code. Where should I start?]]
* [[FAQ: I have made a code patch. Where do I send it?]]
* [[FAQ: I'm not a coder. How can I contribute?]]
* [[FAQ: I have made a new asset for MakeHuman. How can I contribute it?]]
* [[FAQ: I have made a tutorial. How do I contribute it?]]
* [[FAQ: I want to help write documentation. How do I do that?]]
== Rendering, materials and node setups ==
* [[FAQ: The eyes look flat and "dead" in blender]]
== NSFW ==
* [[FAQ: What is the general policy towards NSFW content and discussions?]]
* [[FAQ: Is it ok to share NSFW imagery on the forums?]]
* [[FAQ: Is it ok to share NSFW content in the user contribution repos?]]
== Troubleshooting ==
* [[FAQ: The publisher could not be verified]]
* [[FAQ: My Antivirus tool blocks MakeHuman or Norton Antivirus reports WS.Reputation.1]]
* [[FAQ: There seems to be a version mismatch between MHX and blender]]
* [[FAQ: I am using the ubuntu or debian version of MakeHuman and...]]
* [[FAQ: MakeHuman fails to start in windows, nothing seems to happen when I click the exe]]
* [[FAQ: Eyes are rendered completely white (or black) in blender]]
* [[FAQ: I can't download from the user repos, all files are saved as HTML]]
3166df341c683b148d2cfd22acd8851af24d8eb8
1433
1417
2017-08-30T08:23:16Z
Joepal
14
/* Legal questions */
wikitext
text/x-wiki
This page lists frequently asked questions.
== Top questions ==
* [[FAQ: What happened to the MHX export in MH 1.1.x and later?]]
* [[FAQ: MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]]
* [[FAQ: What happened to the special assets genitalia?]]
== General / unsorted ==
* [[FAQ: What is MakeHuman?]]
* [[FAQ: What is the prefered method for contacting the MakeHuman crew?]]
* [[FAQ: Is there an IRC channel?]]
* [[FAQ: How much does MakeHuman cost?]]
* [[FAQ: What happened to the XYZ asset?]]
* [[FAQ: I want to make a code fork of MakeHuman, but I hate mercurial or BitBucket]]
* [[FAQ: Do you have some quick tips on how to make a nice image with a makehuman toon?]]
* [[FAQ: What is a fashion render?]]
== Terminology ==
* [[FAQ: What is Open Source?]]
* [[FAQ: What is a target?]]
* [[FAQ: What is the meaning of the numbers in MakeHuman release?]]
* [[FAQ: What is a proxy?]]
== Nightly builds ==
* [[FAQ: What is a nightly build?]]
* [[FAQ: Where are the nightly builds?]]
* [[FAQ: Will the nightly build work?]]
* [[FAQ: Can I use the stable version and the nightly build at the same time?]]
* [[FAQ: What's with the "makehuman-community-*" file name?]]
* [[FAQ: How can I run the same code as the nightly build from source?]]
== Technology ==
* [[FAQ: Why quadrilaterals?]]
* [[FAQ: What happened to the specific skeletons (the UE and SL rigs for example)?]]
* [[FAQ: Why is there no perspective mode?]]
== Installation ==
* [[FAQ: Where can I download MakeHuman?]]
* [[FAQ: Where can I find older Versions of MakeHuman?]]
* [[FAQ: I'm using ubuntu. Is there a PPA?]]
* [[FAQ: Which version of MakeHuman should I download?]]
* [[FAQ: Where are my MakeHuman files found (where is my HOME directory)?]]
* [[FAQ: Where can I unzip MakeHuman (in Windows)?]]
* [[FAQ: How can I run MakeHuman from a BitBucket source clone?]]
* [[FAQ: How can I build MakeHuman from source?]]
* [[FAQ: I downloaded third party clothes. How do I install them?]]
* [[FAQ: I downloaded a third party model. How do I install it?]]
* [[FAQ: I downloaded a third party proxy. How do I install it?]]
* [[FAQ: I downloaded a third party target. How do I install it?]]
* [[FAQ: I downloaded a third party plug-in. How do I install it?]]
* [[FAQ: How do I uninstall MakeHuman?]]
== Legal questions ==
* [[FAQ: Can I sell models created with MakeHuman?]]
* [[FAQ: Can I create a commercial closed source game with models generated by MakeHuman?]]
* [[FAQ:What do I need to do when I use a CC-BY asset?]]
* [[FAQ: We at company X don't like AGPL and want another license]]
== Creating assets ==
* [[FAQ: How can I create targets?]]
* [[FAQ: How can I create skin textures?]]
* [[FAQ: How can I create clothes?]]
* [[FAQ: How can I create hair?]]
* [[FAQ: How can I create extra bodyparts?]]
* [[FAQ: How can I create proxies or alternative topologies?]]
* [[FAQ: How can I create poses?]]
* [[FAQ: How can I create a thumbnail file?]]
* [[FAQ: I already have a 3d object from elsewhere. How can I use it in MH?]]
* [[FAQ: Can I export an asset from Blender and get it back into MakeHuman?]]
* [[FAQ: I have photos of a real person. Can I use those for making a skin?]]
* [[FAQ: How do I make and upload a fashion render?]]
== Contributing ==
* [[FAQ: How do I submit a bug report?]]
* [[FAQ: How to provide a makehuman log for a good bug report?]]
* [[FAQ: I want to contribute code in a more structured manner. What is the recommended procedure?]]
* [[FAQ: I want an easy code task to get to learn the makehuman code. Where should I start?]]
* [[FAQ: I have made a code patch. Where do I send it?]]
* [[FAQ: I'm not a coder. How can I contribute?]]
* [[FAQ: I have made a new asset for MakeHuman. How can I contribute it?]]
* [[FAQ: I have made a tutorial. How do I contribute it?]]
* [[FAQ: I want to help write documentation. How do I do that?]]
== Rendering, materials and node setups ==
* [[FAQ: The eyes look flat and "dead" in blender]]
== NSFW ==
* [[FAQ: What is the general policy towards NSFW content and discussions?]]
* [[FAQ: Is it ok to share NSFW imagery on the forums?]]
* [[FAQ: Is it ok to share NSFW content in the user contribution repos?]]
== Troubleshooting ==
* [[FAQ: The publisher could not be verified]]
* [[FAQ: My Antivirus tool blocks MakeHuman or Norton Antivirus reports WS.Reputation.1]]
* [[FAQ: There seems to be a version mismatch between MHX and blender]]
* [[FAQ: I am using the ubuntu or debian version of MakeHuman and...]]
* [[FAQ: MakeHuman fails to start in windows, nothing seems to happen when I click the exe]]
* [[FAQ: Eyes are rendered completely white (or black) in blender]]
* [[FAQ: I can't download from the user repos, all files are saved as HTML]]
27e733e3920eaf0b1d6ed23407d1d9d129763fe8
1417
1403
2017-08-20T07:52:45Z
Joepal
14
wikitext
text/x-wiki
This page lists frequently asked questions.
== Top questions ==
* [[FAQ: What happened to the MHX export in MH 1.1.x and later?]]
* [[FAQ: MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]]
* [[FAQ: What happened to the special assets genitalia?]]
== General / unsorted ==
* [[FAQ: What is MakeHuman?]]
* [[FAQ: What is the prefered method for contacting the MakeHuman crew?]]
* [[FAQ: Is there an IRC channel?]]
* [[FAQ: How much does MakeHuman cost?]]
* [[FAQ: What happened to the XYZ asset?]]
* [[FAQ: I want to make a code fork of MakeHuman, but I hate mercurial or BitBucket]]
* [[FAQ: Do you have some quick tips on how to make a nice image with a makehuman toon?]]
* [[FAQ: What is a fashion render?]]
== Terminology ==
* [[FAQ: What is Open Source?]]
* [[FAQ: What is a target?]]
* [[FAQ: What is the meaning of the numbers in MakeHuman release?]]
* [[FAQ: What is a proxy?]]
== Nightly builds ==
* [[FAQ: What is a nightly build?]]
* [[FAQ: Where are the nightly builds?]]
* [[FAQ: Will the nightly build work?]]
* [[FAQ: Can I use the stable version and the nightly build at the same time?]]
* [[FAQ: What's with the "makehuman-community-*" file name?]]
* [[FAQ: How can I run the same code as the nightly build from source?]]
== Technology ==
* [[FAQ: Why quadrilaterals?]]
* [[FAQ: What happened to the specific skeletons (the UE and SL rigs for example)?]]
* [[FAQ: Why is there no perspective mode?]]
== Installation ==
* [[FAQ: Where can I download MakeHuman?]]
* [[FAQ: Where can I find older Versions of MakeHuman?]]
* [[FAQ: I'm using ubuntu. Is there a PPA?]]
* [[FAQ: Which version of MakeHuman should I download?]]
* [[FAQ: Where are my MakeHuman files found (where is my HOME directory)?]]
* [[FAQ: Where can I unzip MakeHuman (in Windows)?]]
* [[FAQ: How can I run MakeHuman from a BitBucket source clone?]]
* [[FAQ: How can I build MakeHuman from source?]]
* [[FAQ: I downloaded third party clothes. How do I install them?]]
* [[FAQ: I downloaded a third party model. How do I install it?]]
* [[FAQ: I downloaded a third party proxy. How do I install it?]]
* [[FAQ: I downloaded a third party target. How do I install it?]]
* [[FAQ: I downloaded a third party plug-in. How do I install it?]]
* [[FAQ: How do I uninstall MakeHuman?]]
== Legal questions ==
* [[FAQ: Can I sell models created with MakeHuman?]]
* [[FAQ: Can I create a commercial closed source game with models generated by MakeHuman?]]
* [[FAQ:What do I need to do when I use a CC-BY asset?]]
== Creating assets ==
* [[FAQ: How can I create targets?]]
* [[FAQ: How can I create skin textures?]]
* [[FAQ: How can I create clothes?]]
* [[FAQ: How can I create hair?]]
* [[FAQ: How can I create extra bodyparts?]]
* [[FAQ: How can I create proxies or alternative topologies?]]
* [[FAQ: How can I create poses?]]
* [[FAQ: How can I create a thumbnail file?]]
* [[FAQ: I already have a 3d object from elsewhere. How can I use it in MH?]]
* [[FAQ: Can I export an asset from Blender and get it back into MakeHuman?]]
* [[FAQ: I have photos of a real person. Can I use those for making a skin?]]
* [[FAQ: How do I make and upload a fashion render?]]
== Contributing ==
* [[FAQ: How do I submit a bug report?]]
* [[FAQ: How to provide a makehuman log for a good bug report?]]
* [[FAQ: I want to contribute code in a more structured manner. What is the recommended procedure?]]
* [[FAQ: I want an easy code task to get to learn the makehuman code. Where should I start?]]
* [[FAQ: I have made a code patch. Where do I send it?]]
* [[FAQ: I'm not a coder. How can I contribute?]]
* [[FAQ: I have made a new asset for MakeHuman. How can I contribute it?]]
* [[FAQ: I have made a tutorial. How do I contribute it?]]
* [[FAQ: I want to help write documentation. How do I do that?]]
== Rendering, materials and node setups ==
* [[FAQ: The eyes look flat and "dead" in blender]]
== NSFW ==
* [[FAQ: What is the general policy towards NSFW content and discussions?]]
* [[FAQ: Is it ok to share NSFW imagery on the forums?]]
* [[FAQ: Is it ok to share NSFW content in the user contribution repos?]]
== Troubleshooting ==
* [[FAQ: The publisher could not be verified]]
* [[FAQ: My Antivirus tool blocks MakeHuman or Norton Antivirus reports WS.Reputation.1]]
* [[FAQ: There seems to be a version mismatch between MHX and blender]]
* [[FAQ: I am using the ubuntu or debian version of MakeHuman and...]]
* [[FAQ: MakeHuman fails to start in windows, nothing seems to happen when I click the exe]]
* [[FAQ: Eyes are rendered completely white (or black) in blender]]
* [[FAQ: I can't download from the user repos, all files are saved as HTML]]
febd0d71e797d95eb4c6be1d63c70d45611dd880
1403
1394
2017-07-13T10:22:43Z
Joepal
14
wikitext
text/x-wiki
This page lists frequently asked questions.
== Top questions ==
* [[FAQ: What happened to the MHX export in MH 1.1.x and later?]]
* [[FAQ: MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]]
* [[FAQ: What happened to the special assets genitalia?]]
== General / unsorted ==
* [[FAQ: What is MakeHuman?]]
* [[FAQ: What is the prefered method for contacting the MakeHuman crew?]]
* [[FAQ: Is there an IRC channel?]]
* [[FAQ: How much does MakeHuman cost?]]
* [[FAQ: What happened to the XYZ asset?]]
* [[FAQ: I want to make a code fork of MakeHuman, but I hate mercurial or BitBucket]]
* [[FAQ: Do you have some quick tips on how to make a nice image with a makehuman toon?]]
* [[FAQ: What is a fashion render?]]
== Terminology ==
* [[FAQ: What is Open Source?]]
* [[FAQ: What is a target?]]
* [[FAQ: What is the meaning of the numbers in MakeHuman release?]]
* [[FAQ: What is a proxy?]]
== Nightly builds ==
* [[FAQ: What is a nightly build?]]
* [[FAQ: Where are the nightly builds?]]
* [[FAQ: Will the nightly build work?]]
* [[FAQ: Can I use the stable version and the nightly build at the same time?]]
* [[FAQ: What's with the "makehuman-community-*" file name?]]
* [[FAQ: How can I run the same code as the nightly build from source?]]
== Technology ==
* [[FAQ: Why quadrilaterals?]]
* [[FAQ: What happened to the specific skeletons (the UE and SL rigs for example)?]]
* [[FAQ: Why is there no perspective mode?]]
== Installation ==
* [[FAQ: Where can I download MakeHuman?]]
* [[FAQ: Where can I find older Versions of MakeHuman?]]
* [[FAQ: I'm using ubuntu. Is there a PPA?]]
* [[FAQ: Which version of MakeHuman should I download?]]
* [[FAQ: Where are my MakeHuman files found (where is my HOME directory)?]]
* [[FAQ: Where can I unzip MakeHuman (in Windows)?]]
* [[FAQ: How can I run MakeHuman from a BitBucket source clone?]]
* [[FAQ: How can I build MakeHuman from source?]]
* [[FAQ: I downloaded third party clothes. How do I install them?]]
* [[FAQ: I downloaded a third party model. How do I install it?]]
* [[FAQ: I downloaded a third party proxy. How do I install it?]]
* [[FAQ: I downloaded a third party target. How do I install it?]]
* [[FAQ: I downloaded a third party plug-in. How do I install it?]]
* [[FAQ: How do I uninstall MakeHuman?]]
== Legal questions ==
* [[FAQ: Can I sell models created with MakeHuman?]]
* [[FAQ: Can I create a commercial closed source game with models generated by MakeHuman?]]
== Creating assets ==
* [[FAQ: How can I create targets?]]
* [[FAQ: How can I create skin textures?]]
* [[FAQ: How can I create clothes?]]
* [[FAQ: How can I create hair?]]
* [[FAQ: How can I create extra bodyparts?]]
* [[FAQ: How can I create proxies or alternative topologies?]]
* [[FAQ: How can I create poses?]]
* [[FAQ: How can I create a thumbnail file?]]
* [[FAQ: I already have a 3d object from elsewhere. How can I use it in MH?]]
* [[FAQ: Can I export an asset from Blender and get it back into MakeHuman?]]
* [[FAQ: I have photos of a real person. Can I use those for making a skin?]]
* [[FAQ: How do I make and upload a fashion render?]]
== Contributing ==
* [[FAQ: How do I submit a bug report?]]
* [[FAQ: How to provide a makehuman log for a good bug report?]]
* [[FAQ: I want to contribute code in a more structured manner. What is the recommended procedure?]]
* [[FAQ: I want an easy code task to get to learn the makehuman code. Where should I start?]]
* [[FAQ: I have made a code patch. Where do I send it?]]
* [[FAQ: I'm not a coder. How can I contribute?]]
* [[FAQ: I have made a new asset for MakeHuman. How can I contribute it?]]
* [[FAQ: I have made a tutorial. How do I contribute it?]]
* [[FAQ: I want to help write documentation. How do I do that?]]
== Rendering, materials and node setups ==
* [[FAQ: The eyes look flat and "dead" in blender]]
== NSFW ==
* [[FAQ: What is the general policy towards NSFW content and discussions?]]
* [[FAQ: Is it ok to share NSFW imagery on the forums?]]
* [[FAQ: Is it ok to share NSFW content in the user contribution repos?]]
== Troubleshooting ==
* [[FAQ: The publisher could not be verified]]
* [[FAQ: My Antivirus tool blocks MakeHuman or Norton Antivirus reports WS.Reputation.1]]
* [[FAQ: There seems to be a version mismatch between MHX and blender]]
* [[FAQ: I am using the ubuntu or debian version of MakeHuman and...]]
* [[FAQ: MakeHuman fails to start in windows, nothing seems to happen when I click the exe]]
* [[FAQ: Eyes are rendered completely white (or black) in blender]]
* [[FAQ: I can't download from the user repos, all files are saved as HTML]]
ee04a53b1cf305d1e7a72520a26857773721dced
1394
1388
2017-06-06T14:19:36Z
Joepal
14
New section on materials
wikitext
text/x-wiki
This page lists frequently asked questions.
== Top questions ==
* [[FAQ: What happened to the MHX export in MH 1.1.x and later?]]
* [[FAQ: MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]]
* [[FAQ: What happened to the special assets genitalia?]]
== General / unsorted ==
* [[FAQ: What is MakeHuman?]]
* [[FAQ: What is the prefered method for contacting the MakeHuman crew?]]
* [[FAQ: Is there an IRC channel?]]
* [[FAQ: How much does MakeHuman cost?]]
* [[FAQ: What happened to the XYZ asset?]]
* [[FAQ: I want to make a code fork of MakeHuman, but I hate mercurial or BitBucket]]
* [[FAQ: Do you have some quick tips on how to make a nice image with a makehuman toon?]]
* [[FAQ: What is a fashion render?]]
== Terminology ==
* [[FAQ: What is a nightly build?]]
* [[FAQ: What is Open Source?]]
* [[FAQ: What is a target?]]
* [[FAQ: What is the meaning of the numbers in MakeHuman release?]]
* [[FAQ: What is a proxy?]]
== Technology ==
* [[FAQ: Why quadrilaterals?]]
* [[FAQ: What happened to the specific skeletons (the UE and SL rigs for example)?]]
* [[FAQ: Why is there no perspective mode?]]
== Installation ==
* [[FAQ: Where can I download MakeHuman?]]
* [[FAQ: Where can I find older Versions of MakeHuman?]]
* [[FAQ: I'm using ubuntu. Is there a PPA?]]
* [[FAQ: Which version of MakeHuman should I download?]]
* [[FAQ: Where are my MakeHuman files found (where is my HOME directory)?]]
* [[FAQ: Where can I unzip MakeHuman (in Windows)?]]
* [[FAQ: How can I run MakeHuman from a BitBucket source clone?]]
* [[FAQ: How can I build MakeHuman from source?]]
* [[FAQ: I downloaded third party clothes. How do I install them?]]
* [[FAQ: I downloaded a third party model. How do I install it?]]
* [[FAQ: I downloaded a third party proxy. How do I install it?]]
* [[FAQ: I downloaded a third party target. How do I install it?]]
* [[FAQ: I downloaded a third party plug-in. How do I install it?]]
* [[FAQ: How do I uninstall MakeHuman?]]
== Legal questions ==
* [[FAQ: Can I sell models created with MakeHuman?]]
* [[FAQ: Can I create a commercial closed source game with models generated by MakeHuman?]]
== Creating assets ==
* [[FAQ: How can I create targets?]]
* [[FAQ: How can I create skin textures?]]
* [[FAQ: How can I create clothes?]]
* [[FAQ: How can I create hair?]]
* [[FAQ: How can I create extra bodyparts?]]
* [[FAQ: How can I create proxies or alternative topologies?]]
* [[FAQ: How can I create poses?]]
* [[FAQ: How can I create a thumbnail file?]]
* [[FAQ: I already have a 3d object from elsewhere. How can I use it in MH?]]
* [[FAQ: Can I export an asset from Blender and get it back into MakeHuman?]]
* [[FAQ: I have photos of a real person. Can I use those for making a skin?]]
* [[FAQ: How do I make and upload a fashion render?]]
== Contributing ==
* [[FAQ: How do I submit a bug report?]]
* [[FAQ: How to provide a makehuman log for a good bug report?]]
* [[FAQ: I want to contribute code in a more structured manner. What is the recommended procedure?]]
* [[FAQ: I want an easy code task to get to learn the makehuman code. Where should I start?]]
* [[FAQ: I have made a code patch. Where do I send it?]]
* [[FAQ: I'm not a coder. How can I contribute?]]
* [[FAQ: I have made a new asset for MakeHuman. How can I contribute it?]]
* [[FAQ: I have made a tutorial. How do I contribute it?]]
* [[FAQ: I want to help write documentation. How do I do that?]]
== Rendering, materials and node setups ==
* [[FAQ: The eyes look flat and "dead" in blender]]
== NSFW ==
* [[FAQ: What is the general policy towards NSFW content and discussions?]]
* [[FAQ: Is it ok to share NSFW imagery on the forums?]]
* [[FAQ: Is it ok to share NSFW content in the user contribution repos?]]
== Troubleshooting ==
* [[FAQ: The publisher could not be verified]]
* [[FAQ: My Antivirus tool blocks MakeHuman or Norton Antivirus reports WS.Reputation.1]]
* [[FAQ: There seems to be a version mismatch between MHX and blender]]
* [[FAQ: I am using the ubuntu or debian version of MakeHuman and...]]
* [[FAQ: MakeHuman fails to start in windows, nothing seems to happen when I click the exe]]
* [[FAQ: Eyes are rendered completely white (or black) in blender]]
* [[FAQ: I can't download from the user repos, all files are saved as HTML]]
373d99b748733f066eadcf4af893dfd550c7e27c
1388
1383
2017-05-30T11:38:28Z
Joepal
14
New NSFW section
wikitext
text/x-wiki
This page lists frequently asked questions.
== Top questions ==
* [[FAQ: What happened to the MHX export in MH 1.1.x and later?]]
* [[FAQ: MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]]
* [[FAQ: What happened to the special assets genitalia?]]
== General / unsorted ==
* [[FAQ: What is MakeHuman?]]
* [[FAQ: What is the prefered method for contacting the MakeHuman crew?]]
* [[FAQ: Is there an IRC channel?]]
* [[FAQ: How much does MakeHuman cost?]]
* [[FAQ: What happened to the XYZ asset?]]
* [[FAQ: I want to make a code fork of MakeHuman, but I hate mercurial or BitBucket]]
* [[FAQ: Do you have some quick tips on how to make a nice image with a makehuman toon?]]
* [[FAQ: What is a fashion render?]]
== Terminology ==
* [[FAQ: What is a nightly build?]]
* [[FAQ: What is Open Source?]]
* [[FAQ: What is a target?]]
* [[FAQ: What is the meaning of the numbers in MakeHuman release?]]
* [[FAQ: What is a proxy?]]
== Technology ==
* [[FAQ: Why quadrilaterals?]]
* [[FAQ: What happened to the specific skeletons (the UE and SL rigs for example)?]]
* [[FAQ: Why is there no perspective mode?]]
== Installation ==
* [[FAQ: Where can I download MakeHuman?]]
* [[FAQ: Where can I find older Versions of MakeHuman?]]
* [[FAQ: I'm using ubuntu. Is there a PPA?]]
* [[FAQ: Which version of MakeHuman should I download?]]
* [[FAQ: Where are my MakeHuman files found (where is my HOME directory)?]]
* [[FAQ: Where can I unzip MakeHuman (in Windows)?]]
* [[FAQ: How can I run MakeHuman from a BitBucket source clone?]]
* [[FAQ: How can I build MakeHuman from source?]]
* [[FAQ: I downloaded third party clothes. How do I install them?]]
* [[FAQ: I downloaded a third party model. How do I install it?]]
* [[FAQ: I downloaded a third party proxy. How do I install it?]]
* [[FAQ: I downloaded a third party target. How do I install it?]]
* [[FAQ: I downloaded a third party plug-in. How do I install it?]]
* [[FAQ: How do I uninstall MakeHuman?]]
== Legal questions ==
* [[FAQ: Can I sell models created with MakeHuman?]]
* [[FAQ: Can I create a commercial closed source game with models generated by MakeHuman?]]
== Creating assets ==
* [[FAQ: How can I create targets?]]
* [[FAQ: How can I create skin textures?]]
* [[FAQ: How can I create clothes?]]
* [[FAQ: How can I create hair?]]
* [[FAQ: How can I create extra bodyparts?]]
* [[FAQ: How can I create proxies or alternative topologies?]]
* [[FAQ: How can I create poses?]]
* [[FAQ: How can I create a thumbnail file?]]
* [[FAQ: I already have a 3d object from elsewhere. How can I use it in MH?]]
* [[FAQ: Can I export an asset from Blender and get it back into MakeHuman?]]
* [[FAQ: I have photos of a real person. Can I use those for making a skin?]]
* [[FAQ: How do I make and upload a fashion render?]]
== Contributing ==
* [[FAQ: How do I submit a bug report?]]
* [[FAQ: How to provide a makehuman log for a good bug report?]]
* [[FAQ: I want to contribute code in a more structured manner. What is the recommended procedure?]]
* [[FAQ: I want an easy code task to get to learn the makehuman code. Where should I start?]]
* [[FAQ: I have made a code patch. Where do I send it?]]
* [[FAQ: I'm not a coder. How can I contribute?]]
* [[FAQ: I have made a new asset for MakeHuman. How can I contribute it?]]
* [[FAQ: I have made a tutorial. How do I contribute it?]]
* [[FAQ: I want to help write documentation. How do I do that?]]
== NSFW ==
* [[FAQ: What is the general policy towards NSFW content and discussions?]]
* [[FAQ: Is it ok to share NSFW imagery on the forums?]]
* [[FAQ: Is it ok to share NSFW content in the user contribution repos?]]
== Troubleshooting ==
* [[FAQ: The publisher could not be verified]]
* [[FAQ: My Antivirus tool blocks MakeHuman or Norton Antivirus reports WS.Reputation.1]]
* [[FAQ: There seems to be a version mismatch between MHX and blender]]
* [[FAQ: I am using the ubuntu or debian version of MakeHuman and...]]
* [[FAQ: MakeHuman fails to start in windows, nothing seems to happen when I click the exe]]
* [[FAQ: Eyes are rendered completely white (or black) in blender]]
* [[FAQ: I can't download from the user repos, all files are saved as HTML]]
ef790d120008d693053898e9300f69958238a9a3
1383
1382
2017-03-27T21:08:05Z
Robbaer
12
wikitext
text/x-wiki
This page lists frequently asked questions.
== Top questions ==
* [[FAQ: What happened to the MHX export in MH 1.1.x and later?]]
* [[FAQ: MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]]
* [[FAQ: What happened to the special assets genitalia?]]
== General / unsorted ==
* [[FAQ: What is MakeHuman?]]
* [[FAQ: What is the prefered method for contacting the MakeHuman crew?]]
* [[FAQ: Is there an IRC channel?]]
* [[FAQ: How much does MakeHuman cost?]]
* [[FAQ: What happened to the XYZ asset?]]
* [[FAQ: I want to make a code fork of MakeHuman, but I hate mercurial or BitBucket]]
* [[FAQ: Do you have some quick tips on how to make a nice image with a makehuman toon?]]
* [[FAQ: What is a fashion render?]]
== Terminology ==
* [[FAQ: What is a nightly build?]]
* [[FAQ: What is Open Source?]]
* [[FAQ: What is a target?]]
* [[FAQ: What is the meaning of the numbers in MakeHuman release?]]
* [[FAQ: What is a proxy?]]
== Technology ==
* [[FAQ: Why quadrilaterals?]]
* [[FAQ: What happened to the specific skeletons (the UE and SL rigs for example)?]]
* [[FAQ: Why is there no perspective mode?]]
== Installation ==
* [[FAQ: Where can I download MakeHuman?]]
* [[FAQ: Where can I find older Versions of MakeHuman?]]
* [[FAQ: I'm using ubuntu. Is there a PPA?]]
* [[FAQ: Which version of MakeHuman should I download?]]
* [[FAQ: Where are my MakeHuman files found (where is my HOME directory)?]]
* [[FAQ: Where can I unzip MakeHuman (in Windows)?]]
* [[FAQ: How can I run MakeHuman from a BitBucket source clone?]]
* [[FAQ: How can I build MakeHuman from source?]]
* [[FAQ: I downloaded third party clothes. How do I install them?]]
* [[FAQ: I downloaded a third party model. How do I install it?]]
* [[FAQ: I downloaded a third party proxy. How do I install it?]]
* [[FAQ: I downloaded a third party target. How do I install it?]]
* [[FAQ: I downloaded a third party plug-in. How do I install it?]]
* [[FAQ: How do I uninstall MakeHuman?]]
== Legal questions ==
* [[FAQ: Can I sell models created with MakeHuman?]]
* [[FAQ: Can I create a commercial closed source game with models generated by MakeHuman?]]
== Creating assets ==
* [[FAQ: How can I create targets?]]
* [[FAQ: How can I create skin textures?]]
* [[FAQ: How can I create clothes?]]
* [[FAQ: How can I create hair?]]
* [[FAQ: How can I create extra bodyparts?]]
* [[FAQ: How can I create proxies or alternative topologies?]]
* [[FAQ: How can I create poses?]]
* [[FAQ: How can I create a thumbnail file?]]
* [[FAQ: I already have a 3d object from elsewhere. How can I use it in MH?]]
* [[FAQ: Can I export an asset from Blender and get it back into MakeHuman?]]
* [[FAQ: I have photos of a real person. Can I use those for making a skin?]]
* [[FAQ: How do I make and upload a fashion render?]]
== Contributing ==
* [[FAQ: How do I submit a bug report?]]
* [[FAQ: How to provide a makehuman log for a good bug report?]]
* [[FAQ: I want to contribute code in a more structured manner. What is the recommended procedure?]]
* [[FAQ: I want an easy code task to get to learn the makehuman code. Where should I start?]]
* [[FAQ: I have made a code patch. Where do I send it?]]
* [[FAQ: I'm not a coder. How can I contribute?]]
* [[FAQ: I have made a new asset for MakeHuman. How can I contribute it?]]
* [[FAQ: I have made a tutorial. How do I contribute it?]]
* [[FAQ: I want to help write documentation. How do I do that?]]
== Troubleshooting ==
* [[FAQ: The publisher could not be verified]]
* [[FAQ: My Antivirus tool blocks MakeHuman or Norton Antivirus reports WS.Reputation.1]]
* [[FAQ: There seems to be a version mismatch between MHX and blender]]
* [[FAQ: I am using the ubuntu or debian version of MakeHuman and...]]
* [[FAQ: MakeHuman fails to start in windows, nothing seems to happen when I click the exe]]
* [[FAQ: Eyes are rendered completely white (or black) in blender]]
* [[FAQ: I can't download from the user repos, all files are saved as HTML]]
3ed91cd4579b6a2e280e9b1d1e53b396dd07804d
1382
1379
2017-03-27T21:06:00Z
Robbaer
12
wikitext
text/x-wiki
This page lists frequently asked questions.
== Top questions ==
* [[FAQ: What happened to the MHX export in MH 1.1.x and later?]]
* [[FAQ: MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]]
* [[FAQ: What happened to the special assets genitalia?]]
== General / unsorted ==
* [[FAQ: What is MakeHuman?]]
* [[FAQ: What is the prefered method for contacting the MakeHuman crew?]]
* [[FAQ: Is there an IRC channel?]]
* [[FAQ: How much does MakeHuman cost?]]
* [[FAQ: What happened to the XYZ asset?]]
* [[FAQ: I want to make a code fork of MakeHuman, but I hate mercurial or BitBucket]]
* [[FAQ: Do you have some quick tips on how to make a nice image with a makehuman toon?]]
* [[FAQ: What is a fashion render?]]
== Terminology ==
* [[FAQ:What is a nightly build?]]
* [[FAQ:What is Open Source?]]
* [[FAQ:What is a target?]]
* [[FAQ:What is the meaning of the numbers in MakeHuman release?]]
* [[FAQ:What is a proxy?]]
== Technology ==
* [[FAQ:Why quadrilaterals?]]
* [[FAQ:What happened to the specific skeletons (the UE and SL rigs for example)?]]
* [[FAQ:Why is there no perspective mode?]]
== Installation ==
* [[FAQ:Where can I download MakeHuman?]]
* [[FAQ:Where can I find older Versions of MakeHuman?]]
* [[FAQ:I'm using ubuntu. Is there a PPA?]]
* [[FAQ:Which version of MakeHuman should I download?]]
* [[FAQ:Where are my MakeHuman files found (where is my HOME directory)?]]
* [[FAQ:Where can I unzip MakeHuman (in Windows)?]]
* [[FAQ:How can I run MakeHuman from a BitBucket source clone?]]
* [[FAQ:How can I build MakeHuman from source?]]
* [[FAQ:I downloaded third party clothes. How do I install them?]]
* [[FAQ:I downloaded a third party model. How do I install it?]]
* [[FAQ:I downloaded a third party proxy. How do I install it?]]
* [[FAQ:I downloaded a third party target. How do I install it?]]
* [[FAQ:I downloaded a third party plug-in. How do I install it?]]
* [[FAQ:How do I uninstall MakeHuman?]]
== Legal questions ==
* [[FAQ:Can I sell models created with MakeHuman?]]
* [[FAQ:Can I create a commercial closed source game with models generated by MakeHuman?]]
== Creating assets ==
* [[FAQ:How can I create targets?]]
* [[FAQ:How can I create skin textures?]]
* [[FAQ:How can I create clothes?]]
* [[FAQ:How can I create hair?]]
* [[FAQ:How can I create extra bodyparts?]]
* [[FAQ:How can I create proxies or alternative topologies?]]
* [[FAQ:How can I create poses?]]
* [[FAQ:How can I create a thumbnail file?]]
* [[FAQ:I already have a 3d object from elsewhere. How can I use it in MH?]]
* [[FAQ:I have photos of a real person. Can I use those for making a skin?]]
* [[FAQ:How do I make and upload a fashion render?]]
* [[FAQ:Can I export an asset from Blender and get it back into MakeHuman?]]
== Contributing ==
* [[FAQ:How do I submit a bug report?]]
* [[FAQ:How to provide a makehuman log for a good bug report?]]
* [[FAQ:I want to contribute code in a more structured manner. What is the recommended procedure?]]
* [[FAQ:I want an easy code task to get to learn the makehuman code. Where should I start?]]
* [[FAQ:I have made a code patch. Where do I send it?]]
* [[FAQ:I'm not a coder. How can I contribute?]]
* [[FAQ:I have made a new asset for MakeHuman. How can I contribute it?]]
* [[FAQ:I have made a tutorial. How do I contribute it?]]
* [[FAQ:I want to help write documentation. How do I do that?]]
== Troubleshooting ==
* [[FAQ:The publisher could not be verified]]
* [[FAQ:My Antivirus tool blocks MakeHuman or Norton Antivirus reports WS.Reputation.1]]
* [[FAQ:There seems to be a version mismatch between MHX and blender]]
* [[FAQ:I am using the ubuntu or debian version of MakeHuman and...]]
* [[FAQ:MakeHuman fails to start in windows, nothing seems to happen when I click the exe]]
* [[FAQ:Eyes are rendered completely white (or black) in blender]]
* [[FAQ:I can't download from the user repos, all files are saved as HTML]]
470be03197e99fadb3ed239e4af9f19668a340d5
1379
1326
2017-03-27T20:58:33Z
Robbaer
12
/* Creating assets */
wikitext
text/x-wiki
This page lists frequently asked questions.
== Top questions ==
* [[FAQ:What happened to the MHX export in MH 1.1.x and later?]]
* [[FAQ:MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]]
* [[FAQ:What happened to the special assets genitalia?]]
== General / unsorted ==
* [[FAQ:What is MakeHuman?]]
* [[FAQ:What is the prefered method for contacting the MakeHuman crew?]]
* [[FAQ:Is there an IRC channel?]]
* [[FAQ:How much does MakeHuman cost?]]
* [[FAQ:What happened to the XYZ asset?]]
* [[FAQ:I want to make a code fork of MakeHuman, but I hate mercurial or BitBucket]]
* [[FAQ:Do you have some quick tips on how to make a nice image with a makehuman toon?]]
* [[FAQ:What is a fashion render?]]
== Terminology ==
* [[FAQ:What is a nightly build?]]
* [[FAQ:What is Open Source?]]
* [[FAQ:What is a target?]]
* [[FAQ:What is the meaning of the numbers in MakeHuman release?]]
* [[FAQ:What is a proxy?]]
== Technology ==
* [[FAQ:Why quadrilaterals?]]
* [[FAQ:What happened to the specific skeletons (the UE and SL rigs for example)?]]
* [[FAQ:Why is there no perspective mode?]]
== Installation ==
* [[FAQ:Where can I download MakeHuman?]]
* [[FAQ:Where can I find older Versions of MakeHuman?]]
* [[FAQ:I'm using ubuntu. Is there a PPA?]]
* [[FAQ:Which version of MakeHuman should I download?]]
* [[FAQ:Where are my MakeHuman files found (where is my HOME directory)?]]
* [[FAQ:Where can I unzip MakeHuman (in Windows)?]]
* [[FAQ:How can I run MakeHuman from a BitBucket source clone?]]
* [[FAQ:How can I build MakeHuman from source?]]
* [[FAQ:I downloaded third party clothes. How do I install them?]]
* [[FAQ:I downloaded a third party model. How do I install it?]]
* [[FAQ:I downloaded a third party proxy. How do I install it?]]
* [[FAQ:I downloaded a third party target. How do I install it?]]
* [[FAQ:I downloaded a third party plug-in. How do I install it?]]
* [[FAQ:How do I uninstall MakeHuman?]]
== Legal questions ==
* [[FAQ:Can I sell models created with MakeHuman?]]
* [[FAQ:Can I create a commercial closed source game with models generated by MakeHuman?]]
== Creating assets ==
* [[FAQ:How can I create targets?]]
* [[FAQ:How can I create skin textures?]]
* [[FAQ:How can I create clothes?]]
* [[FAQ:How can I create hair?]]
* [[FAQ:How can I create extra bodyparts?]]
* [[FAQ:How can I create proxies or alternative topologies?]]
* [[FAQ:How can I create poses?]]
* [[FAQ:How can I create a thumbnail file?]]
* [[FAQ:I already have a 3d object from elsewhere. How can I use it in MH?]]
* [[FAQ:I have photos of a real person. Can I use those for making a skin?]]
* [[FAQ:How do I make and upload a fashion render?]]
* [[FAQ:Can I export an asset from Blender and get it back into MakeHuman?]]
== Contributing ==
* [[FAQ:How do I submit a bug report?]]
* [[FAQ:How to provide a makehuman log for a good bug report?]]
* [[FAQ:I want to contribute code in a more structured manner. What is the recommended procedure?]]
* [[FAQ:I want an easy code task to get to learn the makehuman code. Where should I start?]]
* [[FAQ:I have made a code patch. Where do I send it?]]
* [[FAQ:I'm not a coder. How can I contribute?]]
* [[FAQ:I have made a new asset for MakeHuman. How can I contribute it?]]
* [[FAQ:I have made a tutorial. How do I contribute it?]]
* [[FAQ:I want to help write documentation. How do I do that?]]
== Troubleshooting ==
* [[FAQ:The publisher could not be verified]]
* [[FAQ:My Antivirus tool blocks MakeHuman or Norton Antivirus reports WS.Reputation.1]]
* [[FAQ:There seems to be a version mismatch between MHX and blender]]
* [[FAQ:I am using the ubuntu or debian version of MakeHuman and...]]
* [[FAQ:MakeHuman fails to start in windows, nothing seems to happen when I click the exe]]
* [[FAQ:Eyes are rendered completely white (or black) in blender]]
* [[FAQ:I can't download from the user repos, all files are saved as HTML]]
e6d529d96c49a46550622b3cc809b09164a4ae57
1326
1324
2017-02-19T14:18:05Z
Aranuvir
17
/* Troubleshooting */
wikitext
text/x-wiki
This page lists frequently asked questions.
== Top questions ==
* [[FAQ:What happened to the MHX export in MH 1.1.x and later?]]
* [[FAQ:MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]]
* [[FAQ:What happened to the special assets genitalia?]]
== General / unsorted ==
* [[FAQ:What is MakeHuman?]]
* [[FAQ:What is the prefered method for contacting the MakeHuman crew?]]
* [[FAQ:Is there an IRC channel?]]
* [[FAQ:How much does MakeHuman cost?]]
* [[FAQ:What happened to the XYZ asset?]]
* [[FAQ:I want to make a code fork of MakeHuman, but I hate mercurial or BitBucket]]
* [[FAQ:Do you have some quick tips on how to make a nice image with a makehuman toon?]]
* [[FAQ:What is a fashion render?]]
== Terminology ==
* [[FAQ:What is a nightly build?]]
* [[FAQ:What is Open Source?]]
* [[FAQ:What is a target?]]
* [[FAQ:What is the meaning of the numbers in MakeHuman release?]]
* [[FAQ:What is a proxy?]]
== Technology ==
* [[FAQ:Why quadrilaterals?]]
* [[FAQ:What happened to the specific skeletons (the UE and SL rigs for example)?]]
* [[FAQ:Why is there no perspective mode?]]
== Installation ==
* [[FAQ:Where can I download MakeHuman?]]
* [[FAQ:Where can I find older Versions of MakeHuman?]]
* [[FAQ:I'm using ubuntu. Is there a PPA?]]
* [[FAQ:Which version of MakeHuman should I download?]]
* [[FAQ:Where are my MakeHuman files found (where is my HOME directory)?]]
* [[FAQ:Where can I unzip MakeHuman (in Windows)?]]
* [[FAQ:How can I run MakeHuman from a BitBucket source clone?]]
* [[FAQ:How can I build MakeHuman from source?]]
* [[FAQ:I downloaded third party clothes. How do I install them?]]
* [[FAQ:I downloaded a third party model. How do I install it?]]
* [[FAQ:I downloaded a third party proxy. How do I install it?]]
* [[FAQ:I downloaded a third party target. How do I install it?]]
* [[FAQ:I downloaded a third party plug-in. How do I install it?]]
* [[FAQ:How do I uninstall MakeHuman?]]
== Legal questions ==
* [[FAQ:Can I sell models created with MakeHuman?]]
* [[FAQ:Can I create a commercial closed source game with models generated by MakeHuman?]]
== Creating assets ==
* [[FAQ:How can I create targets?]]
* [[FAQ:How can I create skin textures?]]
* [[FAQ:How can I create clothes?]]
* [[FAQ:How can I create hair?]]
* [[FAQ:How can I create extra bodyparts?]]
* [[FAQ:How can I create proxies or alternative topologies?]]
* [[FAQ:How can I create poses?]]
* [[FAQ:How can I create a thumbnail file?]]
* [[FAQ:I already have a 3d object from elsewhere. How can I use it in MH?]]
* [[FAQ:I have photos of a real person. Can I use those for making a skin?]]
* [[FAQ:How do I make and upload a fashion render?]]
== Contributing ==
* [[FAQ:How do I submit a bug report?]]
* [[FAQ:How to provide a makehuman log for a good bug report?]]
* [[FAQ:I want to contribute code in a more structured manner. What is the recommended procedure?]]
* [[FAQ:I want an easy code task to get to learn the makehuman code. Where should I start?]]
* [[FAQ:I have made a code patch. Where do I send it?]]
* [[FAQ:I'm not a coder. How can I contribute?]]
* [[FAQ:I have made a new asset for MakeHuman. How can I contribute it?]]
* [[FAQ:I have made a tutorial. How do I contribute it?]]
* [[FAQ:I want to help write documentation. How do I do that?]]
== Troubleshooting ==
* [[FAQ:The publisher could not be verified]]
* [[FAQ:My Antivirus tool blocks MakeHuman or Norton Antivirus reports WS.Reputation.1]]
* [[FAQ:There seems to be a version mismatch between MHX and blender]]
* [[FAQ:I am using the ubuntu or debian version of MakeHuman and...]]
* [[FAQ:MakeHuman fails to start in windows, nothing seems to happen when I click the exe]]
* [[FAQ:Eyes are rendered completely white (or black) in blender]]
* [[FAQ:I can't download from the user repos, all files are saved as HTML]]
884c22eefe5241bf3d7ec148aa6bba03bd87ba66
1324
1292
2017-02-19T14:16:56Z
Aranuvir
17
/* Troubleshooting */
wikitext
text/x-wiki
This page lists frequently asked questions.
== Top questions ==
* [[FAQ:What happened to the MHX export in MH 1.1.x and later?]]
* [[FAQ:MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]]
* [[FAQ:What happened to the special assets genitalia?]]
== General / unsorted ==
* [[FAQ:What is MakeHuman?]]
* [[FAQ:What is the prefered method for contacting the MakeHuman crew?]]
* [[FAQ:Is there an IRC channel?]]
* [[FAQ:How much does MakeHuman cost?]]
* [[FAQ:What happened to the XYZ asset?]]
* [[FAQ:I want to make a code fork of MakeHuman, but I hate mercurial or BitBucket]]
* [[FAQ:Do you have some quick tips on how to make a nice image with a makehuman toon?]]
* [[FAQ:What is a fashion render?]]
== Terminology ==
* [[FAQ:What is a nightly build?]]
* [[FAQ:What is Open Source?]]
* [[FAQ:What is a target?]]
* [[FAQ:What is the meaning of the numbers in MakeHuman release?]]
* [[FAQ:What is a proxy?]]
== Technology ==
* [[FAQ:Why quadrilaterals?]]
* [[FAQ:What happened to the specific skeletons (the UE and SL rigs for example)?]]
* [[FAQ:Why is there no perspective mode?]]
== Installation ==
* [[FAQ:Where can I download MakeHuman?]]
* [[FAQ:Where can I find older Versions of MakeHuman?]]
* [[FAQ:I'm using ubuntu. Is there a PPA?]]
* [[FAQ:Which version of MakeHuman should I download?]]
* [[FAQ:Where are my MakeHuman files found (where is my HOME directory)?]]
* [[FAQ:Where can I unzip MakeHuman (in Windows)?]]
* [[FAQ:How can I run MakeHuman from a BitBucket source clone?]]
* [[FAQ:How can I build MakeHuman from source?]]
* [[FAQ:I downloaded third party clothes. How do I install them?]]
* [[FAQ:I downloaded a third party model. How do I install it?]]
* [[FAQ:I downloaded a third party proxy. How do I install it?]]
* [[FAQ:I downloaded a third party target. How do I install it?]]
* [[FAQ:I downloaded a third party plug-in. How do I install it?]]
* [[FAQ:How do I uninstall MakeHuman?]]
== Legal questions ==
* [[FAQ:Can I sell models created with MakeHuman?]]
* [[FAQ:Can I create a commercial closed source game with models generated by MakeHuman?]]
== Creating assets ==
* [[FAQ:How can I create targets?]]
* [[FAQ:How can I create skin textures?]]
* [[FAQ:How can I create clothes?]]
* [[FAQ:How can I create hair?]]
* [[FAQ:How can I create extra bodyparts?]]
* [[FAQ:How can I create proxies or alternative topologies?]]
* [[FAQ:How can I create poses?]]
* [[FAQ:How can I create a thumbnail file?]]
* [[FAQ:I already have a 3d object from elsewhere. How can I use it in MH?]]
* [[FAQ:I have photos of a real person. Can I use those for making a skin?]]
* [[FAQ:How do I make and upload a fashion render?]]
== Contributing ==
* [[FAQ:How do I submit a bug report?]]
* [[FAQ:How to provide a makehuman log for a good bug report?]]
* [[FAQ:I want to contribute code in a more structured manner. What is the recommended procedure?]]
* [[FAQ:I want an easy code task to get to learn the makehuman code. Where should I start?]]
* [[FAQ:I have made a code patch. Where do I send it?]]
* [[FAQ:I'm not a coder. How can I contribute?]]
* [[FAQ:I have made a new asset for MakeHuman. How can I contribute it?]]
* [[FAQ:I have made a tutorial. How do I contribute it?]]
* [[FAQ:I want to help write documentation. How do I do that?]]
== Troubleshooting ==
* [[FAQ:The publisher could not be verified]]
* [[FAQ:My Antivirus tool blocks MakeHuman / Norton Antivirus reports WS.Reputation.1]]
* [[FAQ:There seems to be a version mismatch between MHX and blender]]
* [[FAQ:I am using the ubuntu or debian version of MakeHuman and...]]
* [[FAQ:MakeHuman fails to start in windows, nothing seems to happen when I click the exe]]
* [[FAQ:Eyes are rendered completely white (or black) in blender]]
* [[FAQ:I can't download from the user repos, all files are saved as HTML]]
975253f2994dafb26e64171b3329cd8241390166
1292
1291
2017-01-25T14:30:20Z
Aranuvir
17
wikitext
text/x-wiki
This page lists frequently asked questions.
== Top questions ==
* [[FAQ:What happened to the MHX export in MH 1.1.x and later?]]
* [[FAQ:MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]]
* [[FAQ:What happened to the special assets genitalia?]]
== General / unsorted ==
* [[FAQ:What is MakeHuman?]]
* [[FAQ:What is the prefered method for contacting the MakeHuman crew?]]
* [[FAQ:Is there an IRC channel?]]
* [[FAQ:How much does MakeHuman cost?]]
* [[FAQ:What happened to the XYZ asset?]]
* [[FAQ:I want to make a code fork of MakeHuman, but I hate mercurial or BitBucket]]
* [[FAQ:Do you have some quick tips on how to make a nice image with a makehuman toon?]]
* [[FAQ:What is a fashion render?]]
== Terminology ==
* [[FAQ:What is a nightly build?]]
* [[FAQ:What is Open Source?]]
* [[FAQ:What is a target?]]
* [[FAQ:What is the meaning of the numbers in MakeHuman release?]]
* [[FAQ:What is a proxy?]]
== Technology ==
* [[FAQ:Why quadrilaterals?]]
* [[FAQ:What happened to the specific skeletons (the UE and SL rigs for example)?]]
* [[FAQ:Why is there no perspective mode?]]
== Installation ==
* [[FAQ:Where can I download MakeHuman?]]
* [[FAQ:Where can I find older Versions of MakeHuman?]]
* [[FAQ:I'm using ubuntu. Is there a PPA?]]
* [[FAQ:Which version of MakeHuman should I download?]]
* [[FAQ:Where are my MakeHuman files found (where is my HOME directory)?]]
* [[FAQ:Where can I unzip MakeHuman (in Windows)?]]
* [[FAQ:How can I run MakeHuman from a BitBucket source clone?]]
* [[FAQ:How can I build MakeHuman from source?]]
* [[FAQ:I downloaded third party clothes. How do I install them?]]
* [[FAQ:I downloaded a third party model. How do I install it?]]
* [[FAQ:I downloaded a third party proxy. How do I install it?]]
* [[FAQ:I downloaded a third party target. How do I install it?]]
* [[FAQ:I downloaded a third party plug-in. How do I install it?]]
* [[FAQ:How do I uninstall MakeHuman?]]
== Legal questions ==
* [[FAQ:Can I sell models created with MakeHuman?]]
* [[FAQ:Can I create a commercial closed source game with models generated by MakeHuman?]]
== Creating assets ==
* [[FAQ:How can I create targets?]]
* [[FAQ:How can I create skin textures?]]
* [[FAQ:How can I create clothes?]]
* [[FAQ:How can I create hair?]]
* [[FAQ:How can I create extra bodyparts?]]
* [[FAQ:How can I create proxies or alternative topologies?]]
* [[FAQ:How can I create poses?]]
* [[FAQ:How can I create a thumbnail file?]]
* [[FAQ:I already have a 3d object from elsewhere. How can I use it in MH?]]
* [[FAQ:I have photos of a real person. Can I use those for making a skin?]]
* [[FAQ:How do I make and upload a fashion render?]]
== Contributing ==
* [[FAQ:How do I submit a bug report?]]
* [[FAQ:How to provide a makehuman log for a good bug report?]]
* [[FAQ:I want to contribute code in a more structured manner. What is the recommended procedure?]]
* [[FAQ:I want an easy code task to get to learn the makehuman code. Where should I start?]]
* [[FAQ:I have made a code patch. Where do I send it?]]
* [[FAQ:I'm not a coder. How can I contribute?]]
* [[FAQ:I have made a new asset for MakeHuman. How can I contribute it?]]
* [[FAQ:I have made a tutorial. How do I contribute it?]]
* [[FAQ:I want to help write documentation. How do I do that?]]
== Troubleshooting ==
* [[FAQ:The publisher could not be verified]]
* [[FAQ:Norton Antivirus reports WS.Reputation.1 in the nightly build. What gives?]]
* [[FAQ:There seems to be a version mismatch between MHX and blender]]
* [[FAQ:I am using the ubuntu or debian version of MakeHuman and...]]
* [[FAQ:MakeHuman fails to start in windows, nothing seems to happen when I click the exe]]
* [[FAQ:Eyes are rendered completely white (or black) in blender]]
* [[FAQ:I can't download from the user repos, all files are saved as HTML]]
3f112a7dd62b85e7c2d9bdfbca8cc3f16a33edd3
1291
1276
2017-01-25T14:10:06Z
Aranuvir
17
wikitext
text/x-wiki
This page lists frequently asked questions.
== Top questions ==
* [[FAQ:What happened to the MHX export in MH 1.1.x and later?]]
* [[FAQ:MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]]
* [[FAQ:What happened to the special assets genitalia?]]
== General / unsorted ==
* [[FAQ:What is MakeHuman?]]
* [[FAQ:What is the prefered method for contacting the MakeHuman crew?]]
* [[FAQ:Is there an IRC channel?]]
* [[FAQ:How much does MakeHuman cost?]]
* [[FAQ:What happened to the XYZ asset?]]
* [[FAQ:I want to make a code fork of MakeHuman, but I hate mercurial or BitBucket]]
* [[FAQ:Do you have some quick tips on how to make a nice image with a makehuman toon?]]
* [[FAQ:What is a fashion render?]]
== Terminology ==
* [[FAQ:What is a nightly build?]]
* [[FAQ:What is Open Source?]]
* [[FAQ:What is a target?]]
* [[FAQ:What is the meaning of the numbers in MakeHuman release?]]
* [[FAQ:What is a proxy?]]
== Technology ==
* [[FAQ:Why quadrilaterals?]]
* [[FAQ:What happened to the specific skeletons (the UE and SL rigs for example)?]]
* [[FAQ:Why is there no perspective mode?]]
== Installation ==
* [[FAQ:Where can I download MakeHuman?]]
* [[FAQ:Where can I find older Versions of MakeHuman?]]
* [[FAQ:I'm using ubuntu. Is there a PPA?]]
* [[FAQ:Which version of MakeHuman should I download?]]
* [[FAQ:Where are my MakeHuman files found (where is my HOME directory)?]]
* [[FAQ:Where can I unzip MakeHuman (in Windows)?]]
* [[FAQ:How can I run MakeHuman from a BitBucket source clone?]]
* [[FAQ:How can I build MakeHuman from source?]]
* [[FAQ:I downloaded third party clothes. How do I install them?]]
* [[FAQ:I downloaded a third party model. How do I install it?]]
* [[FAQ:I downloaded a third party proxy. How do I install it?]]
* [[FAQ:I downloaded a third party target. How do I install it?]]
* [[FAQ:I downloaded a third party plug-in. How do I install it?]]
* [[FAQ:How do I uninstall MakeHuman?]]
== Legal questions ==
* [[FAQ:Can I sell models created with MakeHuman?]]
* [[FAQ:Can I create a commercial closed source game with models generated by MakeHuman?]]
== Creating assets ==
* [[FAQ:How can I create targets?]]
* [[FAQ:How can I create skin textures?]]
* [[FAQ:How can I create clothes?]]
* [[FAQ:How can I create hair?]]
* [[FAQ:How can I create extra bodyparts?]]
* [[FAQ:How can I create proxies or alternative topologies?]]
* [[FAQ:How can I create poses?]]
* [[FAQ:How can I create a thumbnail?]]
* [[FAQ:I already have a 3d object from elsewhere. How can I use it in MH?]]
* [[FAQ:I have photos of a real person. Can I use those for making a skin?]]
* [[FAQ:How do I make and upload a fashion render?]]
== Contributing ==
* [[FAQ:How do I submit a bug report?]]
* [[FAQ:How to provide a makehuman log for a good bug report?]]
* [[FAQ:I want to contribute code in a more structured manner. What is the recommended procedure?]]
* [[FAQ:I want an easy code task to get to learn the makehuman code. Where should I start?]]
* [[FAQ:I have made a code patch. Where do I send it?]]
* [[FAQ:I'm not a coder. How can I contribute?]]
* [[FAQ:I have made a new asset for MakeHuman. How can I contribute it?]]
* [[FAQ:I have made a tutorial. How do I contribute it?]]
* [[FAQ:I want to help write documentation. How do I do that?]]
== Troubleshooting ==
* [[FAQ:The publisher could not be verified]]
* [[FAQ:Norton Antivirus reports WS.Reputation.1 in the nightly build. What gives?]]
* [[FAQ:There seems to be a version mismatch between MHX and blender]]
* [[FAQ:I am using the ubuntu or debian version of MakeHuman and...]]
* [[FAQ:MakeHuman fails to start in windows, nothing seems to happen when I click the exe]]
* [[FAQ:Eyes are rendered completely white (or black) in blender]]
* [[FAQ:I can't download from the user repos, all files are saved as HTML]]
9e87b46bc6000d2cd88d872c16ce0d0c8f179fcf
1276
1259
2017-01-06T07:19:49Z
Joepal
14
/* Troubleshooting */
wikitext
text/x-wiki
This page lists frequently asked questions.
== Top questions ==
* [[FAQ:What happened to the MHX export in MH 1.1.x and later?]]
* [[FAQ:MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]]
* [[FAQ:What happened to the special assets genitalia?]]
== General / unsorted ==
* [[FAQ:What is MakeHuman?]]
* [[FAQ:What is the prefered method for contacting the MakeHuman crew?]]
* [[FAQ:Is there an IRC channel?]]
* [[FAQ:How much does MakeHuman cost?]]
* [[FAQ:What happened to the XYZ asset?]]
* [[FAQ:I want to make a code fork of MakeHuman, but I hate mercurial or BitBucket]]
* [[FAQ:Do you have some quick tips on how to make a nice image with a makehuman toon?]]
* [[FAQ:What is a fashion render?]]
== Terminology ==
* [[FAQ:What is a nightly build?]]
* [[FAQ:What is Open Source?]]
* [[FAQ:What is a target?]]
* [[FAQ:What is the meaning of the numbers in MakeHuman release?]]
* [[FAQ:What is a proxy?]]
== Technology ==
* [[FAQ:Why quadrilaterals?]]
* [[FAQ:What happened to the specific skeletons (the UE and SL rigs for example)?]]
* [[FAQ:Why is there no perspective mode?]]
== Installation ==
* [[FAQ:Where can I download MakeHuman?]]
* [[FAQ:Where can I find older Versions of MakeHuman?]]
* [[FAQ:I'm using ubuntu. Is there a PPA?]]
* [[FAQ:Which version of MakeHuman should I download?]]
* [[FAQ:Where are my MakeHuman files found (where is my HOME directory)?]]
* [[FAQ:Where can I unzip MakeHuman (in Windows)?]]
* [[FAQ:How can I run MakeHuman from a BitBucket source clone?]]
* [[FAQ:How can I build MakeHuman from source?]]
* [[FAQ:I downloaded third party clothes. How do I install them?]]
* [[FAQ:I downloaded a third party model. How do I install it?]]
* [[FAQ:I downloaded a third party proxy. How do I install it?]]
* [[FAQ:I downloaded a third party target. How do I install it?]]
* [[FAQ:I downloaded a third party plug-in. How do I install it?]]
* [[FAQ:How do I uninstall MakeHuman?]]
== Legal questions ==
* [[FAQ:Can I sell models created with MakeHuman?]]
* [[FAQ:Can I create a commercial closed source game with models generated by MakeHuman?]]
== Creating assets ==
* [[FAQ:How can I create targets?]]
* [[FAQ:How can I create skin textures?]]
* [[FAQ:How can I create clothes?]]
* [[FAQ:How can I create hair?]]
* [[FAQ:How can I create extra bodyparts?]]
* [[FAQ:How can I create proxies or alternative topologies?]]
* [[FAQ:How can I create poses?]]
* [[FAQ:I already have a 3d object from elsewhere. How can I use it in MH?]]
* [[FAQ:I have photos of a real person. Can I use those for making a skin?]]
* [[FAQ:How do I make and upload a fashion render?]]
== Contributing ==
* [[FAQ:How do I submit a bug report?]]
* [[FAQ:How to provide a makehuman log for a good bug report?]]
* [[FAQ:I want to contribute code in a more structured manner. What is the recommended procedure?]]
* [[FAQ:I want an easy code task to get to learn the makehuman code. Where should I start?]]
* [[FAQ:I have made a code patch. Where do I send it?]]
* [[FAQ:I'm not a coder. How can I contribute?]]
* [[FAQ:I have made a new asset for MakeHuman. How can I contribute it?]]
* [[FAQ:I have made a tutorial. How do I contribute it?]]
* [[FAQ:I want to help write documentation. How do I do that?]]
== Troubleshooting ==
* [[FAQ:The publisher could not be verified]]
* [[FAQ:Norton Antivirus reports WS.Reputation.1 in the nightly build. What gives?]]
* [[FAQ:There seems to be a version mismatch between MHX and blender]]
* [[FAQ:I am using the ubuntu or debian version of MakeHuman and...]]
* [[FAQ:MakeHuman fails to start in windows, nothing seems to happen when I click the exe]]
* [[FAQ:Eyes are rendered completely white (or black) in blender]]
* [[FAQ:I can't download from the user repos, all files are saved as HTML]]
16ee3905a890b15b89d4cc5b31fb4bfa2dbca540
1259
1192
2016-12-11T13:51:58Z
Joepal
14
wikitext
text/x-wiki
This page lists frequently asked questions.
== Top questions ==
* [[FAQ:What happened to the MHX export in MH 1.1.x and later?]]
* [[FAQ:MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]]
* [[FAQ:What happened to the special assets genitalia?]]
== General / unsorted ==
* [[FAQ:What is MakeHuman?]]
* [[FAQ:What is the prefered method for contacting the MakeHuman crew?]]
* [[FAQ:Is there an IRC channel?]]
* [[FAQ:How much does MakeHuman cost?]]
* [[FAQ:What happened to the XYZ asset?]]
* [[FAQ:I want to make a code fork of MakeHuman, but I hate mercurial or BitBucket]]
* [[FAQ:Do you have some quick tips on how to make a nice image with a makehuman toon?]]
* [[FAQ:What is a fashion render?]]
== Terminology ==
* [[FAQ:What is a nightly build?]]
* [[FAQ:What is Open Source?]]
* [[FAQ:What is a target?]]
* [[FAQ:What is the meaning of the numbers in MakeHuman release?]]
* [[FAQ:What is a proxy?]]
== Technology ==
* [[FAQ:Why quadrilaterals?]]
* [[FAQ:What happened to the specific skeletons (the UE and SL rigs for example)?]]
* [[FAQ:Why is there no perspective mode?]]
== Installation ==
* [[FAQ:Where can I download MakeHuman?]]
* [[FAQ:Where can I find older Versions of MakeHuman?]]
* [[FAQ:I'm using ubuntu. Is there a PPA?]]
* [[FAQ:Which version of MakeHuman should I download?]]
* [[FAQ:Where are my MakeHuman files found (where is my HOME directory)?]]
* [[FAQ:Where can I unzip MakeHuman (in Windows)?]]
* [[FAQ:How can I run MakeHuman from a BitBucket source clone?]]
* [[FAQ:How can I build MakeHuman from source?]]
* [[FAQ:I downloaded third party clothes. How do I install them?]]
* [[FAQ:I downloaded a third party model. How do I install it?]]
* [[FAQ:I downloaded a third party proxy. How do I install it?]]
* [[FAQ:I downloaded a third party target. How do I install it?]]
* [[FAQ:I downloaded a third party plug-in. How do I install it?]]
* [[FAQ:How do I uninstall MakeHuman?]]
== Legal questions ==
* [[FAQ:Can I sell models created with MakeHuman?]]
* [[FAQ:Can I create a commercial closed source game with models generated by MakeHuman?]]
== Creating assets ==
* [[FAQ:How can I create targets?]]
* [[FAQ:How can I create skin textures?]]
* [[FAQ:How can I create clothes?]]
* [[FAQ:How can I create hair?]]
* [[FAQ:How can I create extra bodyparts?]]
* [[FAQ:How can I create proxies or alternative topologies?]]
* [[FAQ:How can I create poses?]]
* [[FAQ:I already have a 3d object from elsewhere. How can I use it in MH?]]
* [[FAQ:I have photos of a real person. Can I use those for making a skin?]]
* [[FAQ:How do I make and upload a fashion render?]]
== Contributing ==
* [[FAQ:How do I submit a bug report?]]
* [[FAQ:How to provide a makehuman log for a good bug report?]]
* [[FAQ:I want to contribute code in a more structured manner. What is the recommended procedure?]]
* [[FAQ:I want an easy code task to get to learn the makehuman code. Where should I start?]]
* [[FAQ:I have made a code patch. Where do I send it?]]
* [[FAQ:I'm not a coder. How can I contribute?]]
* [[FAQ:I have made a new asset for MakeHuman. How can I contribute it?]]
* [[FAQ:I have made a tutorial. How do I contribute it?]]
* [[FAQ:I want to help write documentation. How do I do that?]]
== Troubleshooting ==
* [[FAQ:The publisher could not be verified]]
* [[FAQ:Norton Antivirus reports WS.Reputation.1 in the nightly build. What gives?]]
* [[FAQ:There seems to be a version mismatch between MHX and blender]]
* [[FAQ:I am using the ubuntu or debian version of MakeHuman and...]]
* [[FAQ:MakeHuman fails to start in windows, nothing seems to happen when I click the exe]]
* [[FAQ:Eyes are rendered completely white (or black) in blender]]
c842912e501d04926d05b5293976c63ebdc018cb
1192
1183
2016-09-30T12:06:04Z
Aranuvir
17
/* General / unsorted */
wikitext
text/x-wiki
This page lists frequently asked questions.
== Top questions ==
* [[FAQ:What happened to the MHX export in MH 1.1.x and later?]]
* [[FAQ:MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]]
* [[FAQ:What happened to the special assets genitalia?]]
== General / unsorted ==
* [[FAQ:What is MakeHuman?]]
* [[FAQ:What is the prefered method for contacting the MakeHuman crew?]]
* [[FAQ:Is there an IRC channel?]]
* [[FAQ:How much does MakeHuman cost?]]
* [[FAQ:What happened to the XYZ asset?]]
* [[FAQ:I want to make a code fork of MakeHuman, but I hate mercurial or BitBucket]]
* [[FAQ:Do you have some quick tips on how to make a nice image with a makehuman toon?]]
== Terminology ==
* [[FAQ:What is a nightly build?]]
* [[FAQ:What is Open Source?]]
* [[FAQ:What is a target?]]
* [[FAQ:What is the meaning of the numbers in MakeHuman release?]]
* [[FAQ:What is a proxy?]]
== Technology ==
* [[FAQ:Why quadrilaterals?]]
* [[FAQ:What happened to the specific skeletons (the UE and SL rigs for example)?]]
* [[FAQ:Why is there no perspective mode?]]
== Installation ==
* [[FAQ:Where can I download MakeHuman?]]
* [[FAQ:Where can I find older Versions of MakeHuman?]]
* [[FAQ:I'm using ubuntu. Is there a PPA?]]
* [[FAQ:Which version of MakeHuman should I download?]]
* [[FAQ:Where are my MakeHuman files found (where is my HOME directory)?]]
* [[FAQ:Where can I unzip MakeHuman (in Windows)?]]
* [[FAQ:How can I run MakeHuman from a BitBucket source clone?]]
* [[FAQ:How can I build MakeHuman from source?]]
* [[FAQ:I downloaded third party clothes. How do I install them?]]
* [[FAQ:I downloaded a third party model. How do I install it?]]
* [[FAQ:I downloaded a third party proxy. How do I install it?]]
* [[FAQ:I downloaded a third party target. How do I install it?]]
* [[FAQ:I downloaded a third party plug-in. How do I install it?]]
* [[FAQ:How do I uninstall MakeHuman?]]
== Legal questions ==
* [[FAQ:Can I sell models created with MakeHuman?]]
* [[FAQ:Can I create a commercial closed source game with models generated by MakeHuman?]]
== Creating assets ==
* [[FAQ:How can I create targets?]]
* [[FAQ:How can I create skin textures?]]
* [[FAQ:How can I create clothes?]]
* [[FAQ:How can I create hair?]]
* [[FAQ:How can I create extra bodyparts?]]
* [[FAQ:How can I create proxies or alternative topologies?]]
* [[FAQ:How can I create poses?]]
* [[FAQ:I already have a 3d object from elsewhere. How can I use it in MH?]]
* [[FAQ:I have photos of a real person. Can I use those for making a skin?]]
== Contributing ==
* [[FAQ:How do I submit a bug report?]]
* [[FAQ:How to provide a makehuman log for a good bug report?]]
* [[FAQ:I want to contribute code in a more structured manner. What is the recommended procedure?]]
* [[FAQ:I want an easy code task to get to learn the makehuman code. Where should I start?]]
* [[FAQ:I have made a code patch. Where do I send it?]]
* [[FAQ:I'm not a coder. How can I contribute?]]
* [[FAQ:I have made a new asset for MakeHuman. How can I contribute it?]]
* [[FAQ:I have made a tutorial. How do I contribute it?]]
* [[FAQ:I want to help write documentation. How do I do that?]]
== Troubleshooting ==
* [[FAQ:The publisher could not be verified]]
* [[FAQ:Norton Antivirus reports WS.Reputation.1 in the nightly build. What gives?]]
* [[FAQ:There seems to be a version mismatch between MHX and blender]]
* [[FAQ:I am using the ubuntu or debian version of MakeHuman and...]]
* [[FAQ:MakeHuman fails to start in windows, nothing seems to happen when I click the exe]]
* [[FAQ:Eyes are rendered completely white (or black) in blender]]
52fe0b058157d19aeb9a9446127a16e3e5fd0970
1183
1180
2016-09-29T14:37:09Z
Aranuvir
17
/* General / unsorted */
wikitext
text/x-wiki
This page lists frequently asked questions.
== Top questions ==
* [[FAQ:What happened to the MHX export in MH 1.1.x and later?]]
* [[FAQ:MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]]
* [[FAQ:What happened to the special assets genitalia?]]
== General / unsorted ==
* [[FAQ:What is MakeHuman?]]
* [[FAQ:What is MakeHumanPortable]]
* [[FAQ:What is the prefered method for contacting the MakeHuman crew?]]
* [[FAQ:Is there an IRC channel?]]
* [[FAQ:How much does MakeHuman cost?]]
* [[FAQ:What happened to the XYZ asset?]]
* [[FAQ:I want to make a code fork of MakeHuman, but I hate mercurial or BitBucket]]
* [[FAQ:Do you have some quick tips on how to make a nice image with a makehuman toon?]]
== Terminology ==
* [[FAQ:What is a nightly build?]]
* [[FAQ:What is Open Source?]]
* [[FAQ:What is a target?]]
* [[FAQ:What is the meaning of the numbers in MakeHuman release?]]
* [[FAQ:What is a proxy?]]
== Technology ==
* [[FAQ:Why quadrilaterals?]]
* [[FAQ:What happened to the specific skeletons (the UE and SL rigs for example)?]]
* [[FAQ:Why is there no perspective mode?]]
== Installation ==
* [[FAQ:Where can I download MakeHuman?]]
* [[FAQ:Where can I find older Versions of MakeHuman?]]
* [[FAQ:I'm using ubuntu. Is there a PPA?]]
* [[FAQ:Which version of MakeHuman should I download?]]
* [[FAQ:Where are my MakeHuman files found (where is my HOME directory)?]]
* [[FAQ:Where can I unzip MakeHuman (in Windows)?]]
* [[FAQ:How can I run MakeHuman from a BitBucket source clone?]]
* [[FAQ:How can I build MakeHuman from source?]]
* [[FAQ:I downloaded third party clothes. How do I install them?]]
* [[FAQ:I downloaded a third party model. How do I install it?]]
* [[FAQ:I downloaded a third party proxy. How do I install it?]]
* [[FAQ:I downloaded a third party target. How do I install it?]]
* [[FAQ:I downloaded a third party plug-in. How do I install it?]]
* [[FAQ:How do I uninstall MakeHuman?]]
== Legal questions ==
* [[FAQ:Can I sell models created with MakeHuman?]]
* [[FAQ:Can I create a commercial closed source game with models generated by MakeHuman?]]
== Creating assets ==
* [[FAQ:How can I create targets?]]
* [[FAQ:How can I create skin textures?]]
* [[FAQ:How can I create clothes?]]
* [[FAQ:How can I create hair?]]
* [[FAQ:How can I create extra bodyparts?]]
* [[FAQ:How can I create proxies or alternative topologies?]]
* [[FAQ:How can I create poses?]]
* [[FAQ:I already have a 3d object from elsewhere. How can I use it in MH?]]
* [[FAQ:I have photos of a real person. Can I use those for making a skin?]]
== Contributing ==
* [[FAQ:How do I submit a bug report?]]
* [[FAQ:How to provide a makehuman log for a good bug report?]]
* [[FAQ:I want to contribute code in a more structured manner. What is the recommended procedure?]]
* [[FAQ:I want an easy code task to get to learn the makehuman code. Where should I start?]]
* [[FAQ:I have made a code patch. Where do I send it?]]
* [[FAQ:I'm not a coder. How can I contribute?]]
* [[FAQ:I have made a new asset for MakeHuman. How can I contribute it?]]
* [[FAQ:I have made a tutorial. How do I contribute it?]]
* [[FAQ:I want to help write documentation. How do I do that?]]
== Troubleshooting ==
* [[FAQ:The publisher could not be verified]]
* [[FAQ:Norton Antivirus reports WS.Reputation.1 in the nightly build. What gives?]]
* [[FAQ:There seems to be a version mismatch between MHX and blender]]
* [[FAQ:I am using the ubuntu or debian version of MakeHuman and...]]
* [[FAQ:MakeHuman fails to start in windows, nothing seems to happen when I click the exe]]
* [[FAQ:Eyes are rendered completely white (or black) in blender]]
685ad09666a8aeeef26ed97ff8f8447f915b961f
1180
1179
2016-09-06T15:33:21Z
Joepal
14
/* General / unsorted */
wikitext
text/x-wiki
This page lists frequently asked questions.
== Top questions ==
* [[FAQ:What happened to the MHX export in MH 1.1.x and later?]]
* [[FAQ:MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]]
* [[FAQ:What happened to the special assets genitalia?]]
== General / unsorted ==
* [[FAQ:What is MakeHuman?]]
* [[FAQ:What is the prefered method for contacting the MakeHuman crew?]]
* [[FAQ:Is there an IRC channel?]]
* [[FAQ:How much does MakeHuman cost?]]
* [[FAQ:What happened to the XYZ asset?]]
* [[FAQ:I want to make a code fork of MakeHuman, but I hate mercurial or BitBucket]]
* [[FAQ:Do you have some quick tips on how to make a nice image with a makehuman toon?]]
== Terminology ==
* [[FAQ:What is a nightly build?]]
* [[FAQ:What is Open Source?]]
* [[FAQ:What is a target?]]
* [[FAQ:What is the meaning of the numbers in MakeHuman release?]]
* [[FAQ:What is a proxy?]]
== Technology ==
* [[FAQ:Why quadrilaterals?]]
* [[FAQ:What happened to the specific skeletons (the UE and SL rigs for example)?]]
* [[FAQ:Why is there no perspective mode?]]
== Installation ==
* [[FAQ:Where can I download MakeHuman?]]
* [[FAQ:Where can I find older Versions of MakeHuman?]]
* [[FAQ:I'm using ubuntu. Is there a PPA?]]
* [[FAQ:Which version of MakeHuman should I download?]]
* [[FAQ:Where are my MakeHuman files found (where is my HOME directory)?]]
* [[FAQ:Where can I unzip MakeHuman (in Windows)?]]
* [[FAQ:How can I run MakeHuman from a BitBucket source clone?]]
* [[FAQ:How can I build MakeHuman from source?]]
* [[FAQ:I downloaded third party clothes. How do I install them?]]
* [[FAQ:I downloaded a third party model. How do I install it?]]
* [[FAQ:I downloaded a third party proxy. How do I install it?]]
* [[FAQ:I downloaded a third party target. How do I install it?]]
* [[FAQ:I downloaded a third party plug-in. How do I install it?]]
* [[FAQ:How do I uninstall MakeHuman?]]
== Legal questions ==
* [[FAQ:Can I sell models created with MakeHuman?]]
* [[FAQ:Can I create a commercial closed source game with models generated by MakeHuman?]]
== Creating assets ==
* [[FAQ:How can I create targets?]]
* [[FAQ:How can I create skin textures?]]
* [[FAQ:How can I create clothes?]]
* [[FAQ:How can I create hair?]]
* [[FAQ:How can I create extra bodyparts?]]
* [[FAQ:How can I create proxies or alternative topologies?]]
* [[FAQ:How can I create poses?]]
* [[FAQ:I already have a 3d object from elsewhere. How can I use it in MH?]]
* [[FAQ:I have photos of a real person. Can I use those for making a skin?]]
== Contributing ==
* [[FAQ:How do I submit a bug report?]]
* [[FAQ:How to provide a makehuman log for a good bug report?]]
* [[FAQ:I want to contribute code in a more structured manner. What is the recommended procedure?]]
* [[FAQ:I want an easy code task to get to learn the makehuman code. Where should I start?]]
* [[FAQ:I have made a code patch. Where do I send it?]]
* [[FAQ:I'm not a coder. How can I contribute?]]
* [[FAQ:I have made a new asset for MakeHuman. How can I contribute it?]]
* [[FAQ:I have made a tutorial. How do I contribute it?]]
* [[FAQ:I want to help write documentation. How do I do that?]]
== Troubleshooting ==
* [[FAQ:The publisher could not be verified]]
* [[FAQ:Norton Antivirus reports WS.Reputation.1 in the nightly build. What gives?]]
* [[FAQ:There seems to be a version mismatch between MHX and blender]]
* [[FAQ:I am using the ubuntu or debian version of MakeHuman and...]]
* [[FAQ:MakeHuman fails to start in windows, nothing seems to happen when I click the exe]]
* [[FAQ:Eyes are rendered completely white (or black) in blender]]
52fe0b058157d19aeb9a9446127a16e3e5fd0970
1179
1169
2016-09-06T15:33:01Z
Joepal
14
/* General / unsorted */
wikitext
text/x-wiki
This page lists frequently asked questions.
== Top questions ==
* [[FAQ:What happened to the MHX export in MH 1.1.x and later?]]
* [[FAQ:MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]]
* [[FAQ:What happened to the special assets genitalia?]]
== General / unsorted ==
* [[FAQ:What is MakeHuman?]]
* [[FAQ:What is the prefered method for contacting the MakeHuman crew?]]
* [[FAQ:Is there an IRC channel?]]
* [[FAQ:How much does MakeHuman cost?]]
* [[FAQ:What happened to the XYZ asset?]]
* [[FAQ:I want to make a code fork of MakeHuman, but I hate mercurial or BitBucket]]
* [[FAQ:What are some quick tips on how to make a nice image with a makehuman toon?]]
== Terminology ==
* [[FAQ:What is a nightly build?]]
* [[FAQ:What is Open Source?]]
* [[FAQ:What is a target?]]
* [[FAQ:What is the meaning of the numbers in MakeHuman release?]]
* [[FAQ:What is a proxy?]]
== Technology ==
* [[FAQ:Why quadrilaterals?]]
* [[FAQ:What happened to the specific skeletons (the UE and SL rigs for example)?]]
* [[FAQ:Why is there no perspective mode?]]
== Installation ==
* [[FAQ:Where can I download MakeHuman?]]
* [[FAQ:Where can I find older Versions of MakeHuman?]]
* [[FAQ:I'm using ubuntu. Is there a PPA?]]
* [[FAQ:Which version of MakeHuman should I download?]]
* [[FAQ:Where are my MakeHuman files found (where is my HOME directory)?]]
* [[FAQ:Where can I unzip MakeHuman (in Windows)?]]
* [[FAQ:How can I run MakeHuman from a BitBucket source clone?]]
* [[FAQ:How can I build MakeHuman from source?]]
* [[FAQ:I downloaded third party clothes. How do I install them?]]
* [[FAQ:I downloaded a third party model. How do I install it?]]
* [[FAQ:I downloaded a third party proxy. How do I install it?]]
* [[FAQ:I downloaded a third party target. How do I install it?]]
* [[FAQ:I downloaded a third party plug-in. How do I install it?]]
* [[FAQ:How do I uninstall MakeHuman?]]
== Legal questions ==
* [[FAQ:Can I sell models created with MakeHuman?]]
* [[FAQ:Can I create a commercial closed source game with models generated by MakeHuman?]]
== Creating assets ==
* [[FAQ:How can I create targets?]]
* [[FAQ:How can I create skin textures?]]
* [[FAQ:How can I create clothes?]]
* [[FAQ:How can I create hair?]]
* [[FAQ:How can I create extra bodyparts?]]
* [[FAQ:How can I create proxies or alternative topologies?]]
* [[FAQ:How can I create poses?]]
* [[FAQ:I already have a 3d object from elsewhere. How can I use it in MH?]]
* [[FAQ:I have photos of a real person. Can I use those for making a skin?]]
== Contributing ==
* [[FAQ:How do I submit a bug report?]]
* [[FAQ:How to provide a makehuman log for a good bug report?]]
* [[FAQ:I want to contribute code in a more structured manner. What is the recommended procedure?]]
* [[FAQ:I want an easy code task to get to learn the makehuman code. Where should I start?]]
* [[FAQ:I have made a code patch. Where do I send it?]]
* [[FAQ:I'm not a coder. How can I contribute?]]
* [[FAQ:I have made a new asset for MakeHuman. How can I contribute it?]]
* [[FAQ:I have made a tutorial. How do I contribute it?]]
* [[FAQ:I want to help write documentation. How do I do that?]]
== Troubleshooting ==
* [[FAQ:The publisher could not be verified]]
* [[FAQ:Norton Antivirus reports WS.Reputation.1 in the nightly build. What gives?]]
* [[FAQ:There seems to be a version mismatch between MHX and blender]]
* [[FAQ:I am using the ubuntu or debian version of MakeHuman and...]]
* [[FAQ:MakeHuman fails to start in windows, nothing seems to happen when I click the exe]]
* [[FAQ:Eyes are rendered completely white (or black) in blender]]
2c7b362187cbc440bf3b57eefdbaf7508f5618a6
1169
1168
2016-08-30T11:50:36Z
Aranuvir
17
/* Installation */
wikitext
text/x-wiki
This page lists frequently asked questions.
== Top questions ==
* [[FAQ:What happened to the MHX export in MH 1.1.x and later?]]
* [[FAQ:MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]]
* [[FAQ:What happened to the special assets genitalia?]]
== General / unsorted ==
* [[FAQ:What is MakeHuman?]]
* [[FAQ:What is the prefered method for contacting the MakeHuman crew?]]
* [[FAQ:Is there an IRC channel?]]
* [[FAQ:How much does MakeHuman cost?]]
* [[FAQ:What happened to the XYZ asset?]]
* [[FAQ:I want to make a code fork of MakeHuman, but I hate mercurial or BitBucket]]
== Terminology ==
* [[FAQ:What is a nightly build?]]
* [[FAQ:What is Open Source?]]
* [[FAQ:What is a target?]]
* [[FAQ:What is the meaning of the numbers in MakeHuman release?]]
* [[FAQ:What is a proxy?]]
== Technology ==
* [[FAQ:Why quadrilaterals?]]
* [[FAQ:What happened to the specific skeletons (the UE and SL rigs for example)?]]
* [[FAQ:Why is there no perspective mode?]]
== Installation ==
* [[FAQ:Where can I download MakeHuman?]]
* [[FAQ:Where can I find older Versions of MakeHuman?]]
* [[FAQ:I'm using ubuntu. Is there a PPA?]]
* [[FAQ:Which version of MakeHuman should I download?]]
* [[FAQ:Where are my MakeHuman files found (where is my HOME directory)?]]
* [[FAQ:Where can I unzip MakeHuman (in Windows)?]]
* [[FAQ:How can I run MakeHuman from a BitBucket source clone?]]
* [[FAQ:How can I build MakeHuman from source?]]
* [[FAQ:I downloaded third party clothes. How do I install them?]]
* [[FAQ:I downloaded a third party model. How do I install it?]]
* [[FAQ:I downloaded a third party proxy. How do I install it?]]
* [[FAQ:I downloaded a third party target. How do I install it?]]
* [[FAQ:I downloaded a third party plug-in. How do I install it?]]
* [[FAQ:How do I uninstall MakeHuman?]]
== Legal questions ==
* [[FAQ:Can I sell models created with MakeHuman?]]
* [[FAQ:Can I create a commercial closed source game with models generated by MakeHuman?]]
== Creating assets ==
* [[FAQ:How can I create targets?]]
* [[FAQ:How can I create skin textures?]]
* [[FAQ:How can I create clothes?]]
* [[FAQ:How can I create hair?]]
* [[FAQ:How can I create extra bodyparts?]]
* [[FAQ:How can I create proxies or alternative topologies?]]
* [[FAQ:How can I create poses?]]
* [[FAQ:I already have a 3d object from elsewhere. How can I use it in MH?]]
* [[FAQ:I have photos of a real person. Can I use those for making a skin?]]
== Contributing ==
* [[FAQ:How do I submit a bug report?]]
* [[FAQ:How to provide a makehuman log for a good bug report?]]
* [[FAQ:I want to contribute code in a more structured manner. What is the recommended procedure?]]
* [[FAQ:I want an easy code task to get to learn the makehuman code. Where should I start?]]
* [[FAQ:I have made a code patch. Where do I send it?]]
* [[FAQ:I'm not a coder. How can I contribute?]]
* [[FAQ:I have made a new asset for MakeHuman. How can I contribute it?]]
* [[FAQ:I have made a tutorial. How do I contribute it?]]
* [[FAQ:I want to help write documentation. How do I do that?]]
== Troubleshooting ==
* [[FAQ:The publisher could not be verified]]
* [[FAQ:Norton Antivirus reports WS.Reputation.1 in the nightly build. What gives?]]
* [[FAQ:There seems to be a version mismatch between MHX and blender]]
* [[FAQ:I am using the ubuntu or debian version of MakeHuman and...]]
* [[FAQ:MakeHuman fails to start in windows, nothing seems to happen when I click the exe]]
* [[FAQ:Eyes are rendered completely white (or black) in blender]]
001b3aa3fd929a773376fe3d51665be9f34795a5
1168
1167
2016-08-30T11:10:58Z
Aranuvir
17
/* Installation */
wikitext
text/x-wiki
This page lists frequently asked questions.
== Top questions ==
* [[FAQ:What happened to the MHX export in MH 1.1.x and later?]]
* [[FAQ:MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]]
* [[FAQ:What happened to the special assets genitalia?]]
== General / unsorted ==
* [[FAQ:What is MakeHuman?]]
* [[FAQ:What is the prefered method for contacting the MakeHuman crew?]]
* [[FAQ:Is there an IRC channel?]]
* [[FAQ:How much does MakeHuman cost?]]
* [[FAQ:What happened to the XYZ asset?]]
* [[FAQ:I want to make a code fork of MakeHuman, but I hate mercurial or BitBucket]]
== Terminology ==
* [[FAQ:What is a nightly build?]]
* [[FAQ:What is Open Source?]]
* [[FAQ:What is a target?]]
* [[FAQ:What is the meaning of the numbers in MakeHuman release?]]
* [[FAQ:What is a proxy?]]
== Technology ==
* [[FAQ:Why quadrilaterals?]]
* [[FAQ:What happened to the specific skeletons (the UE and SL rigs for example)?]]
* [[FAQ:Why is there no perspective mode?]]
== Installation ==
* [[FAQ:Where can I download MakeHuman?]]
* [[FAQ:Where can I find older Versions of MakeHuman?]]
* [[FAQ:I'm using ubuntu. Is there a PPA?]]
* [[FAQ:Which version of MakeHuman should I download?]]
* [[FAQ:Where are my MakeHuman files found (where is my HOME directory)?]]
* [[FAQ:Where can I unzip MakeHuman (in Windows)?]]
* [[FAQ:How can I run MakeHuman from a BitBucket source clone?]]
* [[FAQ:How can I build MakeHuman from source?]]
* [[FAQ:I downloaded third party clothes. How do I install them?]]
* [[FAQ:I downloaded a third party model. How do I install it?]]
* [[FAQ:I downloaded a third party target. How do I install it?]]
* [[FAQ:I downloaded a third party plug-in. How do I install it?]]
* [[FAQ:How do I uninstall MakeHuman?]]
== Legal questions ==
* [[FAQ:Can I sell models created with MakeHuman?]]
* [[FAQ:Can I create a commercial closed source game with models generated by MakeHuman?]]
== Creating assets ==
* [[FAQ:How can I create targets?]]
* [[FAQ:How can I create skin textures?]]
* [[FAQ:How can I create clothes?]]
* [[FAQ:How can I create hair?]]
* [[FAQ:How can I create extra bodyparts?]]
* [[FAQ:How can I create proxies or alternative topologies?]]
* [[FAQ:How can I create poses?]]
* [[FAQ:I already have a 3d object from elsewhere. How can I use it in MH?]]
* [[FAQ:I have photos of a real person. Can I use those for making a skin?]]
== Contributing ==
* [[FAQ:How do I submit a bug report?]]
* [[FAQ:How to provide a makehuman log for a good bug report?]]
* [[FAQ:I want to contribute code in a more structured manner. What is the recommended procedure?]]
* [[FAQ:I want an easy code task to get to learn the makehuman code. Where should I start?]]
* [[FAQ:I have made a code patch. Where do I send it?]]
* [[FAQ:I'm not a coder. How can I contribute?]]
* [[FAQ:I have made a new asset for MakeHuman. How can I contribute it?]]
* [[FAQ:I have made a tutorial. How do I contribute it?]]
* [[FAQ:I want to help write documentation. How do I do that?]]
== Troubleshooting ==
* [[FAQ:The publisher could not be verified]]
* [[FAQ:Norton Antivirus reports WS.Reputation.1 in the nightly build. What gives?]]
* [[FAQ:There seems to be a version mismatch between MHX and blender]]
* [[FAQ:I am using the ubuntu or debian version of MakeHuman and...]]
* [[FAQ:MakeHuman fails to start in windows, nothing seems to happen when I click the exe]]
* [[FAQ:Eyes are rendered completely white (or black) in blender]]
f4a09013827dd3c30f2f967c9c57e72a6c39bf62
1167
1164
2016-08-30T09:31:24Z
Aranuvir
17
wikitext
text/x-wiki
This page lists frequently asked questions.
== Top questions ==
* [[FAQ:What happened to the MHX export in MH 1.1.x and later?]]
* [[FAQ:MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]]
* [[FAQ:What happened to the special assets genitalia?]]
== General / unsorted ==
* [[FAQ:What is MakeHuman?]]
* [[FAQ:What is the prefered method for contacting the MakeHuman crew?]]
* [[FAQ:Is there an IRC channel?]]
* [[FAQ:How much does MakeHuman cost?]]
* [[FAQ:What happened to the XYZ asset?]]
* [[FAQ:I want to make a code fork of MakeHuman, but I hate mercurial or BitBucket]]
== Terminology ==
* [[FAQ:What is a nightly build?]]
* [[FAQ:What is Open Source?]]
* [[FAQ:What is a target?]]
* [[FAQ:What is the meaning of the numbers in MakeHuman release?]]
* [[FAQ:What is a proxy?]]
== Technology ==
* [[FAQ:Why quadrilaterals?]]
* [[FAQ:What happened to the specific skeletons (the UE and SL rigs for example)?]]
* [[FAQ:Why is there no perspective mode?]]
== Installation ==
* [[FAQ:Where can I download MakeHuman?]]
* [[FAQ:I'm using ubuntu. Is there a PPA?]]
* [[FAQ:Which version of MakeHuman should I download?]]
* [[FAQ:Where are my MakeHuman files found (where is my HOME directory)?]]
* [[FAQ:Where can I unzip MakeHuman (in Windows)?]]
* [[FAQ:How can I run MakeHuman from a BitBucket source clone?]]
* [[FAQ:How can I build MakeHuman from source?]]
* [[FAQ:I downloaded third party clothes. How do I install them?]]
* [[FAQ:I downloaded a third party model. How do I install it?]]
* [[FAQ:I downloaded a third party target. How do I install it?]]
* [[FAQ:I downloaded a third party plug-in. How do I install it?]]
* [[FAQ:How do I uninstall MakeHuman?]]
* [[FAQ: Where can I find older Versions of MakeHuman?]]
== Legal questions ==
* [[FAQ:Can I sell models created with MakeHuman?]]
* [[FAQ:Can I create a commercial closed source game with models generated by MakeHuman?]]
== Creating assets ==
* [[FAQ:How can I create targets?]]
* [[FAQ:How can I create skin textures?]]
* [[FAQ:How can I create clothes?]]
* [[FAQ:How can I create hair?]]
* [[FAQ:How can I create extra bodyparts?]]
* [[FAQ:How can I create proxies or alternative topologies?]]
* [[FAQ:How can I create poses?]]
* [[FAQ:I already have a 3d object from elsewhere. How can I use it in MH?]]
* [[FAQ:I have photos of a real person. Can I use those for making a skin?]]
== Contributing ==
* [[FAQ:How do I submit a bug report?]]
* [[FAQ:How to provide a makehuman log for a good bug report?]]
* [[FAQ:I want to contribute code in a more structured manner. What is the recommended procedure?]]
* [[FAQ:I want an easy code task to get to learn the makehuman code. Where should I start?]]
* [[FAQ:I have made a code patch. Where do I send it?]]
* [[FAQ:I'm not a coder. How can I contribute?]]
* [[FAQ:I have made a new asset for MakeHuman. How can I contribute it?]]
* [[FAQ:I have made a tutorial. How do I contribute it?]]
* [[FAQ:I want to help write documentation. How do I do that?]]
== Troubleshooting ==
* [[FAQ:The publisher could not be verified]]
* [[FAQ:Norton Antivirus reports WS.Reputation.1 in the nightly build. What gives?]]
* [[FAQ:There seems to be a version mismatch between MHX and blender]]
* [[FAQ:I am using the ubuntu or debian version of MakeHuman and...]]
* [[FAQ:MakeHuman fails to start in windows, nothing seems to happen when I click the exe]]
* [[FAQ:Eyes are rendered completely white (or black) in blender]]
7d8c369d8f74a93637f4b61ea978fc8334d357b4
1164
1158
2016-08-30T09:29:47Z
Aranuvir
17
/* Installation */
wikitext
text/x-wiki
This page lists frequently asked questions.
== Top questions ==
* [[FAQ:What happened to the MHX export in MH 1.1.x and later?]]
* [[FAQ:MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]]
* [[FAQ:What happened to the special assets genitalia?]]
== General / unsorted ==
* [[FAQ:What is MakeHuman?]]
* [[FAQ:What is the prefered method for contacting the MakeHuman crew?]]
* [[FAQ:Is there an IRC channel?]]
* [[FAQ:How much does MakeHuman cost?]]
* [[FAQ:What happened to the XYZ asset?]]
* [[FAQ:I want to make a code fork of MakeHuman, but I hate mercurial or BitBucket]]
== Terminology ==
* [[FAQ:What is a nightly build?]]
* [[FAQ:What is Open Source?]]
* [[FAQ:What is a target?]]
* [[FAQ:What is the meaning of the numbers in MakeHuman release?]]
* [[FAQ:What is a proxy?]]
== Technology ==
* [[FAQ:Why quadrilaterals?]]
* [[FAQ:What happened to the specific skeletons (the UE and SL rigs for example)?]]
* [[FAQ:Why is there no perspective mode?]]
== Installation ==
* [[FAQ:Where can I download MakeHuman?]]
* [[FAQ:I'm using ubuntu. Is there a PPA?]]
* [[FAQ:Which version of MakeHuman should I download?]]
* [[FAQ:Where are my MakeHuman files found (where is my HOME directory)?]]
* [[FAQ:Where can I unzip MakeHuman (in Windows)?]]
* [[FAQ:How can I run MakeHuman from a BitBucket source clone?]]
* [[FAQ:How can I build MakeHuman from source?]]
* [[FAQ:I downloaded third part clothes. How do I install them?]]
* [[FAQ:I downloaded a third party model. How do I install it?]]
* [[FAQ:I downloaded a third party target. How do I install it?]]
* [[FAQ:I downloaded a third party plug-in. How do I install it?]]
* [[FAQ:How do I uninstall MakeHuman?]]
* [[FAQ: Where can I find older Versions of MakeHuman?]]
== Legal questions ==
* [[FAQ:Can I sell models created with MakeHuman?]]
* [[FAQ:Can I create a commercial closed source game with models generated by MakeHuman?]]
== Creating assets ==
* [[FAQ:How can I create targets?]]
* [[FAQ:How can I create skin textures?]]
* [[FAQ:How can I create clothes?]]
* [[FAQ:How can I create hair?]]
* [[FAQ:How can I create extra bodyparts?]]
* [[FAQ:How can I create proxies or alternative topologies?]]
* [[FAQ:How can I create poses?]]
* [[FAQ:I already have a 3d object from elsewhere. How can I use it in MH?]]
* [[FAQ:I have photos of a real person. Can I use those for making a skin?]]
== Contributing ==
* [[FAQ:How do I submit a bug report?]]
* [[FAQ:How to provide a makehuman log for a good bug report?]]
* [[FAQ:I want to contribute code in a more structured manner. What is the recommended procedure?]]
* [[FAQ:I want an easy code task to get to learn the makehuman code. Where should I start?]]
* [[FAQ:I have made a code patch. Where do I send it?]]
* [[FAQ:I'm not a coder. How can I contribute?]]
* [[FAQ:I have made a new asset for MakeHuman. How can I contribute it?]]
* [[FAQ:I have made a tutorial. How do I contribute it?]]
* [[FAQ:I want to help write documentation. How do I do that?]]
== Troubleshooting ==
* [[FAQ:The publisher could not be verified]]
* [[FAQ:Norton Antivirus reports WS.Reputation.1 in the nightly build. What gives?]]
* [[FAQ:There seems to be a version mismatch between MHX and blender]]
* [[FAQ:I am using the ubuntu or debian version of MakeHuman and...]]
* [[FAQ:MakeHuman fails to start in windows, nothing seems to happen when I click the exe]]
* [[FAQ:Eyes are rendered completely white (or black) in blender]]
3447961e4ec0bf1223da3f9148553b86cb5c4e57
1158
1155
2016-08-30T09:10:01Z
Aranuvir
17
/* Installation */
wikitext
text/x-wiki
This page lists frequently asked questions.
== Top questions ==
* [[FAQ:What happened to the MHX export in MH 1.1.x and later?]]
* [[FAQ:MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]]
* [[FAQ:What happened to the special assets genitalia?]]
== General / unsorted ==
* [[FAQ:What is MakeHuman?]]
* [[FAQ:What is the prefered method for contacting the MakeHuman crew?]]
* [[FAQ:Is there an IRC channel?]]
* [[FAQ:How much does MakeHuman cost?]]
* [[FAQ:What happened to the XYZ asset?]]
* [[FAQ:I want to make a code fork of MakeHuman, but I hate mercurial or BitBucket]]
== Terminology ==
* [[FAQ:What is a nightly build?]]
* [[FAQ:What is Open Source?]]
* [[FAQ:What is a target?]]
* [[FAQ:What is the meaning of the numbers in MakeHuman release?]]
* [[FAQ:What is a proxy?]]
== Technology ==
* [[FAQ:Why quadrilaterals?]]
* [[FAQ:What happened to the specific skeletons (the UE and SL rigs for example)?]]
* [[FAQ:Why is there no perspective mode?]]
== Installation ==
* [[FAQ:Where can I download MakeHuman?]]
* [[FAQ:I'm using ubuntu. Is there a PPA?]]
* [[FAQ:Which version of MakeHuman should I download?]]
* [[FAQ:Where are my MakeHuman files found (where is my HOME directory)?]]
* [[FAQ:Where can I unzip MakeHuman (in Windows)?]]
* [[FAQ:How can I run MakeHuman from a BitBucket source clone?]]
* [[FAQ:How can I build MakeHuman from source?]]
* [[FAQ:I downloaded third part clothes. How do I install them?]]
* [[FAQ:I downloaded a third part model. How do I install it?]]
* [[FAQ:I downloaded a third party target. How do I install it?]]
* [[FAQ:I downloaded a third party plug-in. How do I install it?]]
* [[FAQ:How do I uninstall MakeHuman?]]
* [[FAQ: Where can I find older Versions of MakeHuman?]]
== Legal questions ==
* [[FAQ:Can I sell models created with MakeHuman?]]
* [[FAQ:Can I create a commercial closed source game with models generated by MakeHuman?]]
== Creating assets ==
* [[FAQ:How can I create targets?]]
* [[FAQ:How can I create skin textures?]]
* [[FAQ:How can I create clothes?]]
* [[FAQ:How can I create hair?]]
* [[FAQ:How can I create extra bodyparts?]]
* [[FAQ:How can I create proxies or alternative topologies?]]
* [[FAQ:How can I create poses?]]
* [[FAQ:I already have a 3d object from elsewhere. How can I use it in MH?]]
* [[FAQ:I have photos of a real person. Can I use those for making a skin?]]
== Contributing ==
* [[FAQ:How do I submit a bug report?]]
* [[FAQ:How to provide a makehuman log for a good bug report?]]
* [[FAQ:I want to contribute code in a more structured manner. What is the recommended procedure?]]
* [[FAQ:I want an easy code task to get to learn the makehuman code. Where should I start?]]
* [[FAQ:I have made a code patch. Where do I send it?]]
* [[FAQ:I'm not a coder. How can I contribute?]]
* [[FAQ:I have made a new asset for MakeHuman. How can I contribute it?]]
* [[FAQ:I have made a tutorial. How do I contribute it?]]
* [[FAQ:I want to help write documentation. How do I do that?]]
== Troubleshooting ==
* [[FAQ:The publisher could not be verified]]
* [[FAQ:Norton Antivirus reports WS.Reputation.1 in the nightly build. What gives?]]
* [[FAQ:There seems to be a version mismatch between MHX and blender]]
* [[FAQ:I am using the ubuntu or debian version of MakeHuman and...]]
* [[FAQ:MakeHuman fails to start in windows, nothing seems to happen when I click the exe]]
* [[FAQ:Eyes are rendered completely white (or black) in blender]]
c357c0ba76834c1cdeaf8b06c1f47fbf7c193eec
1155
1152
2016-08-30T08:56:19Z
Aranuvir
17
wikitext
text/x-wiki
This page lists frequently asked questions.
== Top questions ==
* [[FAQ:What happened to the MHX export in MH 1.1.x and later?]]
* [[FAQ:MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]]
* [[FAQ:What happened to the special assets genitalia?]]
== General / unsorted ==
* [[FAQ:What is MakeHuman?]]
* [[FAQ:What is the prefered method for contacting the MakeHuman crew?]]
* [[FAQ:Is there an IRC channel?]]
* [[FAQ:How much does MakeHuman cost?]]
* [[FAQ:What happened to the XYZ asset?]]
* [[FAQ:I want to make a code fork of MakeHuman, but I hate mercurial or BitBucket]]
== Terminology ==
* [[FAQ:What is a nightly build?]]
* [[FAQ:What is Open Source?]]
* [[FAQ:What is a target?]]
* [[FAQ:What is the meaning of the numbers in MakeHuman release?]]
* [[FAQ:What is a proxy?]]
== Technology ==
* [[FAQ:Why quadrilaterals?]]
* [[FAQ:What happened to the specific skeletons (the UE and SL rigs for example)?]]
* [[FAQ:Why is there no perspective mode?]]
== Installation ==
* [[FAQ:Where can I download MakeHuman?]]
* [[FAQ:I'm using ubuntu. Is there a PPA?]]
* [[FAQ:Which version of MakeHuman should I download?]]
* [[FAQ:Where are my MakeHuman files found (where is my HOME directory)?]]
* [[FAQ:Where can I unzip MakeHuman (in Windows)?]]
* [[FAQ:How can I run MakeHuman from a BitBucket source clone?]]
* [[FAQ:How can I build MakeHuman from source?]]
* [[FAQ:I downloaded third part clothes. How do I install them?]]
* [[FAQ:I downloaded a third part model. How do I install it?]]
* [[FAQ:I downloaded a third part target. How do I install it?]]
* [[FAQ:I downloaded a third party plug-in. How do I install it?]]
* [[FAQ:How do I uninstall MakeHuman?]]
* [[FAQ: Where can I find older Versions of MakeHuman?]]
== Legal questions ==
* [[FAQ:Can I sell models created with MakeHuman?]]
* [[FAQ:Can I create a commercial closed source game with models generated by MakeHuman?]]
== Creating assets ==
* [[FAQ:How can I create targets?]]
* [[FAQ:How can I create skin textures?]]
* [[FAQ:How can I create clothes?]]
* [[FAQ:How can I create hair?]]
* [[FAQ:How can I create extra bodyparts?]]
* [[FAQ:How can I create proxies or alternative topologies?]]
* [[FAQ:How can I create poses?]]
* [[FAQ:I already have a 3d object from elsewhere. How can I use it in MH?]]
* [[FAQ:I have photos of a real person. Can I use those for making a skin?]]
== Contributing ==
* [[FAQ:How do I submit a bug report?]]
* [[FAQ:How to provide a makehuman log for a good bug report?]]
* [[FAQ:I want to contribute code in a more structured manner. What is the recommended procedure?]]
* [[FAQ:I want an easy code task to get to learn the makehuman code. Where should I start?]]
* [[FAQ:I have made a code patch. Where do I send it?]]
* [[FAQ:I'm not a coder. How can I contribute?]]
* [[FAQ:I have made a new asset for MakeHuman. How can I contribute it?]]
* [[FAQ:I have made a tutorial. How do I contribute it?]]
* [[FAQ:I want to help write documentation. How do I do that?]]
== Troubleshooting ==
* [[FAQ:The publisher could not be verified]]
* [[FAQ:Norton Antivirus reports WS.Reputation.1 in the nightly build. What gives?]]
* [[FAQ:There seems to be a version mismatch between MHX and blender]]
* [[FAQ:I am using the ubuntu or debian version of MakeHuman and...]]
* [[FAQ:MakeHuman fails to start in windows, nothing seems to happen when I click the exe]]
* [[FAQ:Eyes are rendered completely white (or black) in blender]]
e08bc433fe1fb69d848cd6bc0ab5ea9f63b65388
1152
1151
2016-08-30T08:53:38Z
Aranuvir
17
Undo revision 1151 by [[Special:Contributions/Aranuvir|Aranuvir]] ([[User talk:Aranuvir|talk]])
wikitext
text/x-wiki
This page lists frequently asked questions.
== Top questions ==
* [[FAQ:What happened to the MHX export in MH 1.1.x and later?]]
* [[FAQ:MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]]
* [[FAQ:What happened to the special assets genitalia?]]
== General / unsorted ==
* [[FAQ:What is MakeHuman?]]
* [[FAQ:What is the prefered method for contacting the MakeHuman crew?]]
* [[FAQ:Is there an IRC channel?]]
* [[FAQ:How much does MakeHuman cost?]]
* [[FAQ:What happened to the XYZ asset?]]
* [[FAQ:I want to make a code fork of MakeHuman, but I hate mercurial or BitBucket]]
== Terminology ==
* [[FAQ:What is a nightly build?]]
* [[FAQ:What is Open Source?]]
* [[FAQ:What is a target?]]
* [[FAQ:What is the meaning of the numbers in MakeHuman release?]]
* [[FAQ:What is a proxy?]]
== Technology ==
* [[FAQ:Why quadrilaterals?]]
* [[FAQ:What happened to the specific skeletons (the UE and SL rigs for example)?]]
* [[FAQ:Why is there no perspective mode?]]
== Installation ==
* [[FAQ:Where can I download MakeHuman?]]
* [[FAQ:I'm using ubuntu. Is there a PPA?]]
* [[FAQ:Which version of MakeHuman should I download?]]
* [[FAQ:Where are my MakeHuman files found (where is my HOME directory)?]]
* [[FAQ:Where can I unzip MakeHuman (in Windows)?]]
* [[FAQ:How can I run MakeHuman from a BitBucket source clone?]]
* [[FAQ:How can I build MakeHuman from source?]]
* [[FAQ:I downloaded third part clothes. How do I install them?]]
* [[FAQ:I downloaded a third part model. How do I install it?]]
* [[FAQ:I downloaded a third part target. How do I install it?]]
* [[FAQ:I downloaded a third part plug-in. How do I install it?]]
* [[FAQ:How do I uninstall MakeHuman?]]
* [[FAQ: Where can I find older Versions of MakeHuman?]]
== Legal questions ==
* [[FAQ:Can I sell models created with MakeHuman?]]
* [[FAQ:Can I create a commercial closed source game with models generated by MakeHuman?]]
== Creating assets ==
* [[FAQ:How can I create targets?]]
* [[FAQ:How can I create skin textures?]]
* [[FAQ:How can I create clothes?]]
* [[FAQ:How can I create hair?]]
* [[FAQ:How can I create extra bodyparts?]]
* [[FAQ:How can I create proxies or alternative topologies?]]
* [[FAQ:How can I create poses?]]
* [[FAQ:I already have a 3d object from elsewhere. How can I use it in MH?]]
* [[FAQ:I have photos of a real person. Can I use those for making a skin?]]
== Contributing ==
* [[FAQ:How do I submit a bug report?]]
* [[FAQ:How to provide a makehuman log for a good bug report?]]
* [[FAQ:I want to contribute code in a more structured manner. What is the recommended procedure?]]
* [[FAQ:I want an easy code task to get to learn the makehuman code. Where should I start?]]
* [[FAQ:I have made a code patch. Where do I send it?]]
* [[FAQ:I'm not a coder. How can I contribute?]]
* [[FAQ:I have made a new asset for MakeHuman. How can I contribute it?]]
* [[FAQ:I have made a tutorial. How do I contribute it?]]
* [[FAQ:I want to help write documentation. How do I do that?]]
== Troubleshooting ==
* [[FAQ:The publisher could not be verified]]
* [[FAQ:Norton Antivirus reports WS.Reputation.1 in the nightly build. What gives?]]
* [[FAQ:There seems to be a version mismatch between MHX and blender]]
* [[FAQ:I am using the ubuntu or debian version of MakeHuman and...]]
* [[FAQ:MakeHuman fails to start in windows, nothing seems to happen when I click the exe]]
* [[FAQ:Eyes are rendered completely white (or black) in blender]]
4fae26abf0ecd4a424c0d2636b4d9f18e70117d8
1151
1144
2016-08-30T08:50:40Z
Aranuvir
17
/* Installation */
wikitext
text/x-wiki
This page lists frequently asked questions.
== Top questions ==
* [[FAQ:What happened to the MHX export in MH 1.1.x and later?]]
* [[FAQ:MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]]
* [[FAQ:What happened to the special assets genitalia?]]
== General / unsorted ==
* [[FAQ:What is MakeHuman?]]
* [[FAQ:What is the prefered method for contacting the MakeHuman crew?]]
* [[FAQ:Is there an IRC channel?]]
* [[FAQ:How much does MakeHuman cost?]]
* [[FAQ:What happened to the XYZ asset?]]
* [[FAQ:I want to make a code fork of MakeHuman, but I hate mercurial or BitBucket]]
== Terminology ==
* [[FAQ:What is a nightly build?]]
* [[FAQ:What is Open Source?]]
* [[FAQ:What is a target?]]
* [[FAQ:What is the meaning of the numbers in MakeHuman release?]]
* [[FAQ:What is a proxy?]]
== Technology ==
* [[FAQ:Why quadrilaterals?]]
* [[FAQ:What happened to the specific skeletons (the UE and SL rigs for example)?]]
* [[FAQ:Why is there no perspective mode?]]
== Installation ==
* [[FAQ:Where can I download MakeHuman?]]
* [[FAQ:I'm using ubuntu. Is there a PPA?]]
* [[FAQ:Which version of MakeHuman should I download?]]
* [[FAQ:Where are my MakeHuman files found (where is my HOME directory)?]]
* [[FAQ:Where can I unzip MakeHuman (in Windows)?]]
* [[FAQ:How can I run MakeHuman from a BitBucket source clone?]]
* [[FAQ:How can I build MakeHuman from source?]]
* [[FAQ:I downloaded third part clothes. How do I install them?]]
* [[FAQ:I downloaded a third part model. How do I install it?]]
* [[FAQ:I downloaded a third part target. How do I install it?]]
* [[FAQ:I downloaded a third party plug-in. How do I install it?]]
* [[FAQ:How do I uninstall MakeHuman?]]
* [[FAQ: Where can I find older Versions of MakeHuman?]]
== Legal questions ==
* [[FAQ:Can I sell models created with MakeHuman?]]
* [[FAQ:Can I create a commercial closed source game with models generated by MakeHuman?]]
== Creating assets ==
* [[FAQ:How can I create targets?]]
* [[FAQ:How can I create skin textures?]]
* [[FAQ:How can I create clothes?]]
* [[FAQ:How can I create hair?]]
* [[FAQ:How can I create extra bodyparts?]]
* [[FAQ:How can I create proxies or alternative topologies?]]
* [[FAQ:How can I create poses?]]
* [[FAQ:I already have a 3d object from elsewhere. How can I use it in MH?]]
* [[FAQ:I have photos of a real person. Can I use those for making a skin?]]
== Contributing ==
* [[FAQ:How do I submit a bug report?]]
* [[FAQ:How to provide a makehuman log for a good bug report?]]
* [[FAQ:I want to contribute code in a more structured manner. What is the recommended procedure?]]
* [[FAQ:I want an easy code task to get to learn the makehuman code. Where should I start?]]
* [[FAQ:I have made a code patch. Where do I send it?]]
* [[FAQ:I'm not a coder. How can I contribute?]]
* [[FAQ:I have made a new asset for MakeHuman. How can I contribute it?]]
* [[FAQ:I have made a tutorial. How do I contribute it?]]
* [[FAQ:I want to help write documentation. How do I do that?]]
== Troubleshooting ==
* [[FAQ:The publisher could not be verified]]
* [[FAQ:Norton Antivirus reports WS.Reputation.1 in the nightly build. What gives?]]
* [[FAQ:There seems to be a version mismatch between MHX and blender]]
* [[FAQ:I am using the ubuntu or debian version of MakeHuman and...]]
* [[FAQ:MakeHuman fails to start in windows, nothing seems to happen when I click the exe]]
* [[FAQ:Eyes are rendered completely white (or black) in blender]]
e08bc433fe1fb69d848cd6bc0ab5ea9f63b65388
1144
1143
2016-08-29T11:23:38Z
Aranuvir
17
/* Installation */
wikitext
text/x-wiki
This page lists frequently asked questions.
== Top questions ==
* [[FAQ:What happened to the MHX export in MH 1.1.x and later?]]
* [[FAQ:MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]]
* [[FAQ:What happened to the special assets genitalia?]]
== General / unsorted ==
* [[FAQ:What is MakeHuman?]]
* [[FAQ:What is the prefered method for contacting the MakeHuman crew?]]
* [[FAQ:Is there an IRC channel?]]
* [[FAQ:How much does MakeHuman cost?]]
* [[FAQ:What happened to the XYZ asset?]]
* [[FAQ:I want to make a code fork of MakeHuman, but I hate mercurial or BitBucket]]
== Terminology ==
* [[FAQ:What is a nightly build?]]
* [[FAQ:What is Open Source?]]
* [[FAQ:What is a target?]]
* [[FAQ:What is the meaning of the numbers in MakeHuman release?]]
* [[FAQ:What is a proxy?]]
== Technology ==
* [[FAQ:Why quadrilaterals?]]
* [[FAQ:What happened to the specific skeletons (the UE and SL rigs for example)?]]
* [[FAQ:Why is there no perspective mode?]]
== Installation ==
* [[FAQ:Where can I download MakeHuman?]]
* [[FAQ:I'm using ubuntu. Is there a PPA?]]
* [[FAQ:Which version of MakeHuman should I download?]]
* [[FAQ:Where are my MakeHuman files found (where is my HOME directory)?]]
* [[FAQ:Where can I unzip MakeHuman (in Windows)?]]
* [[FAQ:How can I run MakeHuman from a BitBucket source clone?]]
* [[FAQ:How can I build MakeHuman from source?]]
* [[FAQ:I downloaded third part clothes. How do I install them?]]
* [[FAQ:I downloaded a third part model. How do I install it?]]
* [[FAQ:I downloaded a third part target. How do I install it?]]
* [[FAQ:I downloaded a third part plug-in. How do I install it?]]
* [[FAQ:How do I uninstall MakeHuman?]]
* [[FAQ: Where can I find older Versions of MakeHuman?]]
== Legal questions ==
* [[FAQ:Can I sell models created with MakeHuman?]]
* [[FAQ:Can I create a commercial closed source game with models generated by MakeHuman?]]
== Creating assets ==
* [[FAQ:How can I create targets?]]
* [[FAQ:How can I create skin textures?]]
* [[FAQ:How can I create clothes?]]
* [[FAQ:How can I create hair?]]
* [[FAQ:How can I create extra bodyparts?]]
* [[FAQ:How can I create proxies or alternative topologies?]]
* [[FAQ:How can I create poses?]]
* [[FAQ:I already have a 3d object from elsewhere. How can I use it in MH?]]
* [[FAQ:I have photos of a real person. Can I use those for making a skin?]]
== Contributing ==
* [[FAQ:How do I submit a bug report?]]
* [[FAQ:How to provide a makehuman log for a good bug report?]]
* [[FAQ:I want to contribute code in a more structured manner. What is the recommended procedure?]]
* [[FAQ:I want an easy code task to get to learn the makehuman code. Where should I start?]]
* [[FAQ:I have made a code patch. Where do I send it?]]
* [[FAQ:I'm not a coder. How can I contribute?]]
* [[FAQ:I have made a new asset for MakeHuman. How can I contribute it?]]
* [[FAQ:I have made a tutorial. How do I contribute it?]]
* [[FAQ:I want to help write documentation. How do I do that?]]
== Troubleshooting ==
* [[FAQ:The publisher could not be verified]]
* [[FAQ:Norton Antivirus reports WS.Reputation.1 in the nightly build. What gives?]]
* [[FAQ:There seems to be a version mismatch between MHX and blender]]
* [[FAQ:I am using the ubuntu or debian version of MakeHuman and...]]
* [[FAQ:MakeHuman fails to start in windows, nothing seems to happen when I click the exe]]
* [[FAQ:Eyes are rendered completely white (or black) in blender]]
4fae26abf0ecd4a424c0d2636b4d9f18e70117d8
1143
1142
2016-08-29T11:20:44Z
Aranuvir
17
Undo revision 1142 by [[Special:Contributions/Aranuvir|Aranuvir]] ([[User talk:Aranuvir|talk]])
wikitext
text/x-wiki
This page lists frequently asked questions.
== Top questions ==
* [[FAQ:What happened to the MHX export in MH 1.1.x and later?]]
* [[FAQ:MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]]
* [[FAQ:What happened to the special assets genitalia?]]
== General / unsorted ==
* [[FAQ:What is MakeHuman?]]
* [[FAQ:What is the prefered method for contacting the MakeHuman crew?]]
* [[FAQ:Is there an IRC channel?]]
* [[FAQ:How much does MakeHuman cost?]]
* [[FAQ:What happened to the XYZ asset?]]
* [[FAQ:I want to make a code fork of MakeHuman, but I hate mercurial or BitBucket]]
== Terminology ==
* [[FAQ:What is a nightly build?]]
* [[FAQ:What is Open Source?]]
* [[FAQ:What is a target?]]
* [[FAQ:What is the meaning of the numbers in MakeHuman release?]]
* [[FAQ:What is a proxy?]]
== Technology ==
* [[FAQ:Why quadrilaterals?]]
* [[FAQ:What happened to the specific skeletons (the UE and SL rigs for example)?]]
* [[FAQ:Why is there no perspective mode?]]
== Installation ==
* [[FAQ:Where can I download MakeHuman?]]
* [[FAQ:I'm using ubuntu. Is there a PPA?]]
* [[FAQ:Which version of MakeHuman should I download?]]
* [[FAQ:Where are my MakeHuman files found (where is my HOME directory)?]]
* [[FAQ:Where can I unzip MakeHuman (in Windows)?]]
* [[FAQ:How can I run MakeHuman from a BitBucket source clone?]]
* [[FAQ:How can I build MakeHuman from source?]]
* [[FAQ:I downloaded third part clothes. How do I install them?]]
* [[FAQ:I downloaded a third part model. How do I install it?]]
* [[FAQ:I downloaded a third part target. How do I install it?]]
* [[FAQ:How do I uninstall MakeHuman?]]
* [[FAQ: Where can I find older Versions of MakeHuman?]]
== Legal questions ==
* [[FAQ:Can I sell models created with MakeHuman?]]
* [[FAQ:Can I create a commercial closed source game with models generated by MakeHuman?]]
== Creating assets ==
* [[FAQ:How can I create targets?]]
* [[FAQ:How can I create skin textures?]]
* [[FAQ:How can I create clothes?]]
* [[FAQ:How can I create hair?]]
* [[FAQ:How can I create extra bodyparts?]]
* [[FAQ:How can I create proxies or alternative topologies?]]
* [[FAQ:How can I create poses?]]
* [[FAQ:I already have a 3d object from elsewhere. How can I use it in MH?]]
* [[FAQ:I have photos of a real person. Can I use those for making a skin?]]
== Contributing ==
* [[FAQ:How do I submit a bug report?]]
* [[FAQ:How to provide a makehuman log for a good bug report?]]
* [[FAQ:I want to contribute code in a more structured manner. What is the recommended procedure?]]
* [[FAQ:I want an easy code task to get to learn the makehuman code. Where should I start?]]
* [[FAQ:I have made a code patch. Where do I send it?]]
* [[FAQ:I'm not a coder. How can I contribute?]]
* [[FAQ:I have made a new asset for MakeHuman. How can I contribute it?]]
* [[FAQ:I have made a tutorial. How do I contribute it?]]
* [[FAQ:I want to help write documentation. How do I do that?]]
== Troubleshooting ==
* [[FAQ:The publisher could not be verified]]
* [[FAQ:Norton Antivirus reports WS.Reputation.1 in the nightly build. What gives?]]
* [[FAQ:There seems to be a version mismatch between MHX and blender]]
* [[FAQ:I am using the ubuntu or debian version of MakeHuman and...]]
* [[FAQ:MakeHuman fails to start in windows, nothing seems to happen when I click the exe]]
* [[FAQ:Eyes are rendered completely white (or black) in blender]]
99b66193468413bcf2739d573f847d8af1cf5176
1142
1141
2016-08-29T11:20:00Z
Aranuvir
17
/* Installation */
wikitext
text/x-wiki
This page lists frequently asked questions.
== Top questions ==
* [[FAQ:What happened to the MHX export in MH 1.1.x and later?]]
* [[FAQ:MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]]
* [[FAQ:What happened to the special assets genitalia?]]
== General / unsorted ==
* [[FAQ:What is MakeHuman?]]
* [[FAQ:What is the prefered method for contacting the MakeHuman crew?]]
* [[FAQ:Is there an IRC channel?]]
* [[FAQ:How much does MakeHuman cost?]]
* [[FAQ:What happened to the XYZ asset?]]
* [[FAQ:I want to make a code fork of MakeHuman, but I hate mercurial or BitBucket]]
== Terminology ==
* [[FAQ:What is a nightly build?]]
* [[FAQ:What is Open Source?]]
* [[FAQ:What is a target?]]
* [[FAQ:What is the meaning of the numbers in MakeHuman release?]]
* [[FAQ:What is a proxy?]]
== Technology ==
* [[FAQ:Why quadrilaterals?]]
* [[FAQ:What happened to the specific skeletons (the UE and SL rigs for example)?]]
* [[FAQ:Why is there no perspective mode?]]
== Installation ==
* [[FAQ:Where can I download MakeHuman?]]
* [[FAQ:I'm using ubuntu. Is there a PPA?]]
* [[FAQ:Which version of MakeHuman should I download?]]
* [[FAQ:Where are my MakeHuman files found (where is my HOME directory)?]]
* [[FAQ:Where can I unzip MakeHuman (in Windows)?]]
* [[FAQ:How can I run MakeHuman from a BitBucket source clone?]]
* [[FAQ:How can I build MakeHuman from source?]]
* [[FAQ:I downloaded third party clothes. How do I install them?]]
* [[FAQ:I downloaded a third part model. How do I install it?]]
* [[FAQ:I downloaded a third part target. How do I install it?]]
* [[FAQ:How do I uninstall MakeHuman?]]
* [[FAQ: Where can I find older Versions of MakeHuman?]]
== Legal questions ==
* [[FAQ:Can I sell models created with MakeHuman?]]
* [[FAQ:Can I create a commercial closed source game with models generated by MakeHuman?]]
== Creating assets ==
* [[FAQ:How can I create targets?]]
* [[FAQ:How can I create skin textures?]]
* [[FAQ:How can I create clothes?]]
* [[FAQ:How can I create hair?]]
* [[FAQ:How can I create extra bodyparts?]]
* [[FAQ:How can I create proxies or alternative topologies?]]
* [[FAQ:How can I create poses?]]
* [[FAQ:I already have a 3d object from elsewhere. How can I use it in MH?]]
* [[FAQ:I have photos of a real person. Can I use those for making a skin?]]
== Contributing ==
* [[FAQ:How do I submit a bug report?]]
* [[FAQ:How to provide a makehuman log for a good bug report?]]
* [[FAQ:I want to contribute code in a more structured manner. What is the recommended procedure?]]
* [[FAQ:I want an easy code task to get to learn the makehuman code. Where should I start?]]
* [[FAQ:I have made a code patch. Where do I send it?]]
* [[FAQ:I'm not a coder. How can I contribute?]]
* [[FAQ:I have made a new asset for MakeHuman. How can I contribute it?]]
* [[FAQ:I have made a tutorial. How do I contribute it?]]
* [[FAQ:I want to help write documentation. How do I do that?]]
== Troubleshooting ==
* [[FAQ:The publisher could not be verified]]
* [[FAQ:Norton Antivirus reports WS.Reputation.1 in the nightly build. What gives?]]
* [[FAQ:There seems to be a version mismatch between MHX and blender]]
* [[FAQ:I am using the ubuntu or debian version of MakeHuman and...]]
* [[FAQ:MakeHuman fails to start in windows, nothing seems to happen when I click the exe]]
* [[FAQ:Eyes are rendered completely white (or black) in blender]]
806c21a02b056226e30c9eb24ec12b72f1b38d73
1141
1140
2016-08-29T11:19:06Z
Aranuvir
17
Undo revision 1140 by [[Special:Contributions/Aranuvir|Aranuvir]] ([[User talk:Aranuvir|talk]])
wikitext
text/x-wiki
This page lists frequently asked questions.
== Top questions ==
* [[FAQ:What happened to the MHX export in MH 1.1.x and later?]]
* [[FAQ:MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]]
* [[FAQ:What happened to the special assets genitalia?]]
== General / unsorted ==
* [[FAQ:What is MakeHuman?]]
* [[FAQ:What is the prefered method for contacting the MakeHuman crew?]]
* [[FAQ:Is there an IRC channel?]]
* [[FAQ:How much does MakeHuman cost?]]
* [[FAQ:What happened to the XYZ asset?]]
* [[FAQ:I want to make a code fork of MakeHuman, but I hate mercurial or BitBucket]]
== Terminology ==
* [[FAQ:What is a nightly build?]]
* [[FAQ:What is Open Source?]]
* [[FAQ:What is a target?]]
* [[FAQ:What is the meaning of the numbers in MakeHuman release?]]
* [[FAQ:What is a proxy?]]
== Technology ==
* [[FAQ:Why quadrilaterals?]]
* [[FAQ:What happened to the specific skeletons (the UE and SL rigs for example)?]]
* [[FAQ:Why is there no perspective mode?]]
== Installation ==
* [[FAQ:Where can I download MakeHuman?]]
* [[FAQ:I'm using ubuntu. Is there a PPA?]]
* [[FAQ:Which version of MakeHuman should I download?]]
* [[FAQ:Where are my MakeHuman files found (where is my HOME directory)?]]
* [[FAQ:Where can I unzip MakeHuman (in Windows)?]]
* [[FAQ:How can I run MakeHuman from a BitBucket source clone?]]
* [[FAQ:How can I build MakeHuman from source?]]
* [[FAQ:I downloaded third part clothes. How do I install them?]]
* [[FAQ:I downloaded a third part model. How do I install it?]]
* [[FAQ:I downloaded a third part target. How do I install it?]]
* [[FAQ:How do I uninstall MakeHuman?]]
* [[FAQ: Where can I find older Versions of MakeHuman?]]
== Legal questions ==
* [[FAQ:Can I sell models created with MakeHuman?]]
* [[FAQ:Can I create a commercial closed source game with models generated by MakeHuman?]]
== Creating assets ==
* [[FAQ:How can I create targets?]]
* [[FAQ:How can I create skin textures?]]
* [[FAQ:How can I create clothes?]]
* [[FAQ:How can I create hair?]]
* [[FAQ:How can I create extra bodyparts?]]
* [[FAQ:How can I create proxies or alternative topologies?]]
* [[FAQ:How can I create poses?]]
* [[FAQ:I already have a 3d object from elsewhere. How can I use it in MH?]]
* [[FAQ:I have photos of a real person. Can I use those for making a skin?]]
== Contributing ==
* [[FAQ:How do I submit a bug report?]]
* [[FAQ:How to provide a makehuman log for a good bug report?]]
* [[FAQ:I want to contribute code in a more structured manner. What is the recommended procedure?]]
* [[FAQ:I want an easy code task to get to learn the makehuman code. Where should I start?]]
* [[FAQ:I have made a code patch. Where do I send it?]]
* [[FAQ:I'm not a coder. How can I contribute?]]
* [[FAQ:I have made a new asset for MakeHuman. How can I contribute it?]]
* [[FAQ:I have made a tutorial. How do I contribute it?]]
* [[FAQ:I want to help write documentation. How do I do that?]]
== Troubleshooting ==
* [[FAQ:The publisher could not be verified]]
* [[FAQ:Norton Antivirus reports WS.Reputation.1 in the nightly build. What gives?]]
* [[FAQ:There seems to be a version mismatch between MHX and blender]]
* [[FAQ:I am using the ubuntu or debian version of MakeHuman and...]]
* [[FAQ:MakeHuman fails to start in windows, nothing seems to happen when I click the exe]]
* [[FAQ:Eyes are rendered completely white (or black) in blender]]
99b66193468413bcf2739d573f847d8af1cf5176
1140
1138
2016-08-29T11:18:19Z
Aranuvir
17
/* Installation */
wikitext
text/x-wiki
This page lists frequently asked questions.
== Top questions ==
* [[FAQ:What happened to the MHX export in MH 1.1.x and later?]]
* [[FAQ:MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]]
* [[FAQ:What happened to the special assets genitalia?]]
== General / unsorted ==
* [[FAQ:What is MakeHuman?]]
* [[FAQ:What is the prefered method for contacting the MakeHuman crew?]]
* [[FAQ:Is there an IRC channel?]]
* [[FAQ:How much does MakeHuman cost?]]
* [[FAQ:What happened to the XYZ asset?]]
* [[FAQ:I want to make a code fork of MakeHuman, but I hate mercurial or BitBucket]]
== Terminology ==
* [[FAQ:What is a nightly build?]]
* [[FAQ:What is Open Source?]]
* [[FAQ:What is a target?]]
* [[FAQ:What is the meaning of the numbers in MakeHuman release?]]
* [[FAQ:What is a proxy?]]
== Technology ==
* [[FAQ:Why quadrilaterals?]]
* [[FAQ:What happened to the specific skeletons (the UE and SL rigs for example)?]]
* [[FAQ:Why is there no perspective mode?]]
== Installation ==
* [[FAQ:Where can I download MakeHuman?]]
* [[FAQ:I'm using ubuntu. Is there a PPA?]]
* [[FAQ:Which version of MakeHuman should I download?]]
* [[FAQ:Where are my MakeHuman files found (where is my HOME directory)?]]
* [[FAQ:Where can I unzip MakeHuman (in Windows)?]]
* [[FAQ:How can I run MakeHuman from a BitBucket source clone?]]
* [[FAQ:How can I build MakeHuman from source?]]
* [[FAQ:I downloaded third part clothes. How do I install them?]]
* [[FAQ:I downloaded a third party model. How do I install it?]]
* [[FAQ:I downloaded a third party target. How do I install it?]]
* [[FAQ:I downloaded a third party plug-in (e.g. MHX2). How do I install it?]]
* [[FAQ:How do I uninstall MakeHuman?]]
* [[FAQ: Where can I find older Versions of MakeHuman?]]
== Legal questions ==
* [[FAQ:Can I sell models created with MakeHuman?]]
* [[FAQ:Can I create a commercial closed source game with models generated by MakeHuman?]]
== Creating assets ==
* [[FAQ:How can I create targets?]]
* [[FAQ:How can I create skin textures?]]
* [[FAQ:How can I create clothes?]]
* [[FAQ:How can I create hair?]]
* [[FAQ:How can I create extra bodyparts?]]
* [[FAQ:How can I create proxies or alternative topologies?]]
* [[FAQ:How can I create poses?]]
* [[FAQ:I already have a 3d object from elsewhere. How can I use it in MH?]]
* [[FAQ:I have photos of a real person. Can I use those for making a skin?]]
== Contributing ==
* [[FAQ:How do I submit a bug report?]]
* [[FAQ:How to provide a makehuman log for a good bug report?]]
* [[FAQ:I want to contribute code in a more structured manner. What is the recommended procedure?]]
* [[FAQ:I want an easy code task to get to learn the makehuman code. Where should I start?]]
* [[FAQ:I have made a code patch. Where do I send it?]]
* [[FAQ:I'm not a coder. How can I contribute?]]
* [[FAQ:I have made a new asset for MakeHuman. How can I contribute it?]]
* [[FAQ:I have made a tutorial. How do I contribute it?]]
* [[FAQ:I want to help write documentation. How do I do that?]]
== Troubleshooting ==
* [[FAQ:The publisher could not be verified]]
* [[FAQ:Norton Antivirus reports WS.Reputation.1 in the nightly build. What gives?]]
* [[FAQ:There seems to be a version mismatch between MHX and blender]]
* [[FAQ:I am using the ubuntu or debian version of MakeHuman and...]]
* [[FAQ:MakeHuman fails to start in windows, nothing seems to happen when I click the exe]]
* [[FAQ:Eyes are rendered completely white (or black) in blender]]
fe1b7dd4212f8dff0c05fb7c3e19da0e3b2b8937
1138
1008
2016-08-29T11:04:44Z
Aranuvir
17
/* Installation */
wikitext
text/x-wiki
This page lists frequently asked questions.
== Top questions ==
* [[FAQ:What happened to the MHX export in MH 1.1.x and later?]]
* [[FAQ:MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]]
* [[FAQ:What happened to the special assets genitalia?]]
== General / unsorted ==
* [[FAQ:What is MakeHuman?]]
* [[FAQ:What is the prefered method for contacting the MakeHuman crew?]]
* [[FAQ:Is there an IRC channel?]]
* [[FAQ:How much does MakeHuman cost?]]
* [[FAQ:What happened to the XYZ asset?]]
* [[FAQ:I want to make a code fork of MakeHuman, but I hate mercurial or BitBucket]]
== Terminology ==
* [[FAQ:What is a nightly build?]]
* [[FAQ:What is Open Source?]]
* [[FAQ:What is a target?]]
* [[FAQ:What is the meaning of the numbers in MakeHuman release?]]
* [[FAQ:What is a proxy?]]
== Technology ==
* [[FAQ:Why quadrilaterals?]]
* [[FAQ:What happened to the specific skeletons (the UE and SL rigs for example)?]]
* [[FAQ:Why is there no perspective mode?]]
== Installation ==
* [[FAQ:Where can I download MakeHuman?]]
* [[FAQ:I'm using ubuntu. Is there a PPA?]]
* [[FAQ:Which version of MakeHuman should I download?]]
* [[FAQ:Where are my MakeHuman files found (where is my HOME directory)?]]
* [[FAQ:Where can I unzip MakeHuman (in Windows)?]]
* [[FAQ:How can I run MakeHuman from a BitBucket source clone?]]
* [[FAQ:How can I build MakeHuman from source?]]
* [[FAQ:I downloaded third part clothes. How do I install them?]]
* [[FAQ:I downloaded a third part model. How do I install it?]]
* [[FAQ:I downloaded a third part target. How do I install it?]]
* [[FAQ:How do I uninstall MakeHuman?]]
* [[FAQ: Where can I find older Versions of MakeHuman?]]
== Legal questions ==
* [[FAQ:Can I sell models created with MakeHuman?]]
* [[FAQ:Can I create a commercial closed source game with models generated by MakeHuman?]]
== Creating assets ==
* [[FAQ:How can I create targets?]]
* [[FAQ:How can I create skin textures?]]
* [[FAQ:How can I create clothes?]]
* [[FAQ:How can I create hair?]]
* [[FAQ:How can I create extra bodyparts?]]
* [[FAQ:How can I create proxies or alternative topologies?]]
* [[FAQ:How can I create poses?]]
* [[FAQ:I already have a 3d object from elsewhere. How can I use it in MH?]]
* [[FAQ:I have photos of a real person. Can I use those for making a skin?]]
== Contributing ==
* [[FAQ:How do I submit a bug report?]]
* [[FAQ:How to provide a makehuman log for a good bug report?]]
* [[FAQ:I want to contribute code in a more structured manner. What is the recommended procedure?]]
* [[FAQ:I want an easy code task to get to learn the makehuman code. Where should I start?]]
* [[FAQ:I have made a code patch. Where do I send it?]]
* [[FAQ:I'm not a coder. How can I contribute?]]
* [[FAQ:I have made a new asset for MakeHuman. How can I contribute it?]]
* [[FAQ:I have made a tutorial. How do I contribute it?]]
* [[FAQ:I want to help write documentation. How do I do that?]]
== Troubleshooting ==
* [[FAQ:The publisher could not be verified]]
* [[FAQ:Norton Antivirus reports WS.Reputation.1 in the nightly build. What gives?]]
* [[FAQ:There seems to be a version mismatch between MHX and blender]]
* [[FAQ:I am using the ubuntu or debian version of MakeHuman and...]]
* [[FAQ:MakeHuman fails to start in windows, nothing seems to happen when I click the exe]]
* [[FAQ:Eyes are rendered completely white (or black) in blender]]
99b66193468413bcf2739d573f847d8af1cf5176
1008
1006
2016-06-08T08:26:48Z
Joepal
14
/* Creating assets */
wikitext
text/x-wiki
This page lists frequently asked questions.
== Top questions ==
* [[FAQ:What happened to the MHX export in MH 1.1.x and later?]]
* [[FAQ:MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]]
* [[FAQ:What happened to the special assets genitalia?]]
== General / unsorted ==
* [[FAQ:What is MakeHuman?]]
* [[FAQ:What is the prefered method for contacting the MakeHuman crew?]]
* [[FAQ:Is there an IRC channel?]]
* [[FAQ:How much does MakeHuman cost?]]
* [[FAQ:What happened to the XYZ asset?]]
* [[FAQ:I want to make a code fork of MakeHuman, but I hate mercurial or BitBucket]]
== Terminology ==
* [[FAQ:What is a nightly build?]]
* [[FAQ:What is Open Source?]]
* [[FAQ:What is a target?]]
* [[FAQ:What is the meaning of the numbers in MakeHuman release?]]
* [[FAQ:What is a proxy?]]
== Technology ==
* [[FAQ:Why quadrilaterals?]]
* [[FAQ:What happened to the specific skeletons (the UE and SL rigs for example)?]]
* [[FAQ:Why is there no perspective mode?]]
== Installation ==
* [[FAQ:Where can I download MakeHuman?]]
* [[FAQ:I'm using ubuntu. Is there a PPA?]]
* [[FAQ:Which version of MakeHuman should I download?]]
* [[FAQ:Where are my MakeHuman files found (where is my HOME directory)?]]
* [[FAQ:Where can I unzip MakeHuman (in Windows)?]]
* [[FAQ:How can I run MakeHuman from a BitBucket source clone?]]
* [[FAQ:How can I build MakeHuman from source?]]
* [[FAQ:I downloaded third part clothes. How do I install them?]]
* [[FAQ:I downloaded a third part model. How do I install it?]]
* [[FAQ:I downloaded a third part target. How do I install it?]]
* [[FAQ:How do I uninstall MakeHuman?]]
== Legal questions ==
* [[FAQ:Can I sell models created with MakeHuman?]]
* [[FAQ:Can I create a commercial closed source game with models generated by MakeHuman?]]
== Creating assets ==
* [[FAQ:How can I create targets?]]
* [[FAQ:How can I create skin textures?]]
* [[FAQ:How can I create clothes?]]
* [[FAQ:How can I create hair?]]
* [[FAQ:How can I create extra bodyparts?]]
* [[FAQ:How can I create proxies or alternative topologies?]]
* [[FAQ:How can I create poses?]]
* [[FAQ:I already have a 3d object from elsewhere. How can I use it in MH?]]
* [[FAQ:I have photos of a real person. Can I use those for making a skin?]]
== Contributing ==
* [[FAQ:How do I submit a bug report?]]
* [[FAQ:How to provide a makehuman log for a good bug report?]]
* [[FAQ:I want to contribute code in a more structured manner. What is the recommended procedure?]]
* [[FAQ:I want an easy code task to get to learn the makehuman code. Where should I start?]]
* [[FAQ:I have made a code patch. Where do I send it?]]
* [[FAQ:I'm not a coder. How can I contribute?]]
* [[FAQ:I have made a new asset for MakeHuman. How can I contribute it?]]
* [[FAQ:I have made a tutorial. How do I contribute it?]]
* [[FAQ:I want to help write documentation. How do I do that?]]
== Troubleshooting ==
* [[FAQ:The publisher could not be verified]]
* [[FAQ:Norton Antivirus reports WS.Reputation.1 in the nightly build. What gives?]]
* [[FAQ:There seems to be a version mismatch between MHX and blender]]
* [[FAQ:I am using the ubuntu or debian version of MakeHuman and...]]
* [[FAQ:MakeHuman fails to start in windows, nothing seems to happen when I click the exe]]
* [[FAQ:Eyes are rendered completely white (or black) in blender]]
162d6a976067b1077f92c81208dd4ee3dd6c46df
1006
1003
2016-06-08T08:21:26Z
Joepal
14
/* Creating assets */
wikitext
text/x-wiki
This page lists frequently asked questions.
== Top questions ==
* [[FAQ:What happened to the MHX export in MH 1.1.x and later?]]
* [[FAQ:MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]]
* [[FAQ:What happened to the special assets genitalia?]]
== General / unsorted ==
* [[FAQ:What is MakeHuman?]]
* [[FAQ:What is the prefered method for contacting the MakeHuman crew?]]
* [[FAQ:Is there an IRC channel?]]
* [[FAQ:How much does MakeHuman cost?]]
* [[FAQ:What happened to the XYZ asset?]]
* [[FAQ:I want to make a code fork of MakeHuman, but I hate mercurial or BitBucket]]
== Terminology ==
* [[FAQ:What is a nightly build?]]
* [[FAQ:What is Open Source?]]
* [[FAQ:What is a target?]]
* [[FAQ:What is the meaning of the numbers in MakeHuman release?]]
* [[FAQ:What is a proxy?]]
== Technology ==
* [[FAQ:Why quadrilaterals?]]
* [[FAQ:What happened to the specific skeletons (the UE and SL rigs for example)?]]
* [[FAQ:Why is there no perspective mode?]]
== Installation ==
* [[FAQ:Where can I download MakeHuman?]]
* [[FAQ:I'm using ubuntu. Is there a PPA?]]
* [[FAQ:Which version of MakeHuman should I download?]]
* [[FAQ:Where are my MakeHuman files found (where is my HOME directory)?]]
* [[FAQ:Where can I unzip MakeHuman (in Windows)?]]
* [[FAQ:How can I run MakeHuman from a BitBucket source clone?]]
* [[FAQ:How can I build MakeHuman from source?]]
* [[FAQ:I downloaded third part clothes. How do I install them?]]
* [[FAQ:I downloaded a third part model. How do I install it?]]
* [[FAQ:I downloaded a third part target. How do I install it?]]
* [[FAQ:How do I uninstall MakeHuman?]]
== Legal questions ==
* [[FAQ:Can I sell models created with MakeHuman?]]
* [[FAQ:Can I create a commercial closed source game with models generated by MakeHuman?]]
== Creating assets ==
* [[FAQ:How can I create targets?]]
* [[FAQ:How can I create skin textures?]]
* [[FAQ:How can I create clothes?]]
* [[FAQ:How can I create hair?]]
* [[FAQ:How can I create extra bodyparts?]]
* [[FAQ:How can I create proxies or alternative topologies?]]
* [[FAQ:I already have a 3d object from elsewhere. How can I use it in MH?]]
* [[FAQ:I have photos of a real person. Can I use those for making a skin?]]
== Contributing ==
* [[FAQ:How do I submit a bug report?]]
* [[FAQ:How to provide a makehuman log for a good bug report?]]
* [[FAQ:I want to contribute code in a more structured manner. What is the recommended procedure?]]
* [[FAQ:I want an easy code task to get to learn the makehuman code. Where should I start?]]
* [[FAQ:I have made a code patch. Where do I send it?]]
* [[FAQ:I'm not a coder. How can I contribute?]]
* [[FAQ:I have made a new asset for MakeHuman. How can I contribute it?]]
* [[FAQ:I have made a tutorial. How do I contribute it?]]
* [[FAQ:I want to help write documentation. How do I do that?]]
== Troubleshooting ==
* [[FAQ:The publisher could not be verified]]
* [[FAQ:Norton Antivirus reports WS.Reputation.1 in the nightly build. What gives?]]
* [[FAQ:There seems to be a version mismatch between MHX and blender]]
* [[FAQ:I am using the ubuntu or debian version of MakeHuman and...]]
* [[FAQ:MakeHuman fails to start in windows, nothing seems to happen when I click the exe]]
* [[FAQ:Eyes are rendered completely white (or black) in blender]]
ffe84826665a3c5df57152dd9b10e775c7da84da
1003
1000
2016-06-05T22:14:16Z
Aranuvir
17
/* Top questions */
wikitext
text/x-wiki
This page lists frequently asked questions.
== Top questions ==
* [[FAQ:What happened to the MHX export in MH 1.1.x and later?]]
* [[FAQ:MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]]
* [[FAQ:What happened to the special assets genitalia?]]
== General / unsorted ==
* [[FAQ:What is MakeHuman?]]
* [[FAQ:What is the prefered method for contacting the MakeHuman crew?]]
* [[FAQ:Is there an IRC channel?]]
* [[FAQ:How much does MakeHuman cost?]]
* [[FAQ:What happened to the XYZ asset?]]
* [[FAQ:I want to make a code fork of MakeHuman, but I hate mercurial or BitBucket]]
== Terminology ==
* [[FAQ:What is a nightly build?]]
* [[FAQ:What is Open Source?]]
* [[FAQ:What is a target?]]
* [[FAQ:What is the meaning of the numbers in MakeHuman release?]]
* [[FAQ:What is a proxy?]]
== Technology ==
* [[FAQ:Why quadrilaterals?]]
* [[FAQ:What happened to the specific skeletons (the UE and SL rigs for example)?]]
* [[FAQ:Why is there no perspective mode?]]
== Installation ==
* [[FAQ:Where can I download MakeHuman?]]
* [[FAQ:I'm using ubuntu. Is there a PPA?]]
* [[FAQ:Which version of MakeHuman should I download?]]
* [[FAQ:Where are my MakeHuman files found (where is my HOME directory)?]]
* [[FAQ:Where can I unzip MakeHuman (in Windows)?]]
* [[FAQ:How can I run MakeHuman from a BitBucket source clone?]]
* [[FAQ:How can I build MakeHuman from source?]]
* [[FAQ:I downloaded third part clothes. How do I install them?]]
* [[FAQ:I downloaded a third part model. How do I install it?]]
* [[FAQ:I downloaded a third part target. How do I install it?]]
* [[FAQ:How do I uninstall MakeHuman?]]
== Legal questions ==
* [[FAQ:Can I sell models created with MakeHuman?]]
* [[FAQ:Can I create a commercial closed source game with models generated by MakeHuman?]]
== Creating assets ==
* [[FAQ:I already have a 3d object from elsewhere. How can I use it in MH?]]
* [[FAQ:How can I create targets?]]
* [[FAQ:How can I create skin textures?]]
* [[FAQ:How can I create clothes?]]
* [[FAQ:How can I create hair?]]
* [[FAQ:How can I create extra bodyparts?]]
* [[FAQ:How can I create proxies or alternative topologies?]]
== Contributing ==
* [[FAQ:How do I submit a bug report?]]
* [[FAQ:How to provide a makehuman log for a good bug report?]]
* [[FAQ:I want to contribute code in a more structured manner. What is the recommended procedure?]]
* [[FAQ:I want an easy code task to get to learn the makehuman code. Where should I start?]]
* [[FAQ:I have made a code patch. Where do I send it?]]
* [[FAQ:I'm not a coder. How can I contribute?]]
* [[FAQ:I have made a new asset for MakeHuman. How can I contribute it?]]
* [[FAQ:I have made a tutorial. How do I contribute it?]]
* [[FAQ:I want to help write documentation. How do I do that?]]
== Troubleshooting ==
* [[FAQ:The publisher could not be verified]]
* [[FAQ:Norton Antivirus reports WS.Reputation.1 in the nightly build. What gives?]]
* [[FAQ:There seems to be a version mismatch between MHX and blender]]
* [[FAQ:I am using the ubuntu or debian version of MakeHuman and...]]
* [[FAQ:MakeHuman fails to start in windows, nothing seems to happen when I click the exe]]
* [[FAQ:Eyes are rendered completely white (or black) in blender]]
09297221d5cdbf798d59f8a877d31c3a08be35a7
1000
998
2016-05-31T15:20:03Z
Joepal
14
wikitext
text/x-wiki
This page lists frequently asked questions.
== Top questions ==
* [[FAQ:What happened to the MHX export in MH 1.1.x and later?]]
* [[FAQ:MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]]
== General / unsorted ==
* [[FAQ:What is MakeHuman?]]
* [[FAQ:What is the prefered method for contacting the MakeHuman crew?]]
* [[FAQ:Is there an IRC channel?]]
* [[FAQ:How much does MakeHuman cost?]]
* [[FAQ:What happened to the XYZ asset?]]
* [[FAQ:I want to make a code fork of MakeHuman, but I hate mercurial or BitBucket]]
== Terminology ==
* [[FAQ:What is a nightly build?]]
* [[FAQ:What is Open Source?]]
* [[FAQ:What is a target?]]
* [[FAQ:What is the meaning of the numbers in MakeHuman release?]]
* [[FAQ:What is a proxy?]]
== Technology ==
* [[FAQ:Why quadrilaterals?]]
* [[FAQ:What happened to the specific skeletons (the UE and SL rigs for example)?]]
* [[FAQ:Why is there no perspective mode?]]
== Installation ==
* [[FAQ:Where can I download MakeHuman?]]
* [[FAQ:I'm using ubuntu. Is there a PPA?]]
* [[FAQ:Which version of MakeHuman should I download?]]
* [[FAQ:Where are my MakeHuman files found (where is my HOME directory)?]]
* [[FAQ:Where can I unzip MakeHuman (in Windows)?]]
* [[FAQ:How can I run MakeHuman from a BitBucket source clone?]]
* [[FAQ:How can I build MakeHuman from source?]]
* [[FAQ:I downloaded third part clothes. How do I install them?]]
* [[FAQ:I downloaded a third part model. How do I install it?]]
* [[FAQ:I downloaded a third part target. How do I install it?]]
* [[FAQ:How do I uninstall MakeHuman?]]
== Legal questions ==
* [[FAQ:Can I sell models created with MakeHuman?]]
* [[FAQ:Can I create a commercial closed source game with models generated by MakeHuman?]]
== Creating assets ==
* [[FAQ:I already have a 3d object from elsewhere. How can I use it in MH?]]
* [[FAQ:How can I create targets?]]
* [[FAQ:How can I create skin textures?]]
* [[FAQ:How can I create clothes?]]
* [[FAQ:How can I create hair?]]
* [[FAQ:How can I create extra bodyparts?]]
* [[FAQ:How can I create proxies or alternative topologies?]]
== Contributing ==
* [[FAQ:How do I submit a bug report?]]
* [[FAQ:How to provide a makehuman log for a good bug report?]]
* [[FAQ:I want to contribute code in a more structured manner. What is the recommended procedure?]]
* [[FAQ:I want an easy code task to get to learn the makehuman code. Where should I start?]]
* [[FAQ:I have made a code patch. Where do I send it?]]
* [[FAQ:I'm not a coder. How can I contribute?]]
* [[FAQ:I have made a new asset for MakeHuman. How can I contribute it?]]
* [[FAQ:I have made a tutorial. How do I contribute it?]]
* [[FAQ:I want to help write documentation. How do I do that?]]
== Troubleshooting ==
* [[FAQ:The publisher could not be verified]]
* [[FAQ:Norton Antivirus reports WS.Reputation.1 in the nightly build. What gives?]]
* [[FAQ:There seems to be a version mismatch between MHX and blender]]
* [[FAQ:I am using the ubuntu or debian version of MakeHuman and...]]
* [[FAQ:MakeHuman fails to start in windows, nothing seems to happen when I click the exe]]
* [[FAQ:Eyes are rendered completely white (or black) in blender]]
672212878bf3046ea0508af8206fc1e1f34f3390
998
865
2016-05-31T15:17:10Z
Joepal
14
wikitext
text/x-wiki
This page lists frequently asked questions.
== Top questions ==
* [[FAQ:What happened to the MHX export in MH 1.1.x and later?]]
* [[FAQ:MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]]
== General / unsorted ==
* [[FAQ:What is MakeHuman?]]
* [[FAQ:What is the prefered method for contacting the MakeHuman crew?]]
* [[FAQ:Is there an IRC channel?]]
* [[FAQ:How much does MakeHuman cost?]]
* [[FAQ:What happened to the XYZ asset?]]
* [[FAQ:I want to make a code fork of MakeHuman, but I hate mercurial and/or BitBucket]]
== Terminology ==
* [[FAQ:What is a nightly build?]]
* [[FAQ:What is Open Source?]]
* [[FAQ:What is a target?]]
* [[FAQ:What is the meaning of the numbers in MakeHuman release?]]
* [[FAQ:What is a proxy?]]
== Technology ==
* [[FAQ:Why quadrilaterals?]]
* [[FAQ:What happened to the specific skeletons (the UE and SL rigs for example)?]]
* [[FAQ:Why is there no perspective mode?]]
== Installation ==
* [[FAQ:Where can I download MakeHuman?]]
* [[FAQ:I'm using ubuntu. Is there a PPA?]]
* [[FAQ:Which version of MakeHuman should I download?]]
* [[FAQ:Where are my MakeHuman files found (where is my HOME directory)?]]
* [[FAQ:Where can I unzip MakeHuman (in Windows)?]]
* [[FAQ:How can I run MakeHuman from a BitBucket source clone?]]
* [[FAQ:How can I build MakeHuman from source?]]
* [[FAQ:I downloaded third part clothes. How do I install them?]]
* [[FAQ:I downloaded a third part model. How do I install it?]]
* [[FAQ:I downloaded a third part target. How do I install it?]]
* [[FAQ:How do I uninstall MakeHuman?]]
== Legal questions ==
* [[FAQ:Can I sell models created with MakeHuman?]]
* [[FAQ:Can I create a commercial closed source game with models generated by MakeHuman?]]
== Creating assets ==
* [[FAQ:I already have a 3d object from elsewhere. How can I use it in MH?]]
* [[FAQ:How can I create targets?]]
* [[FAQ:How can I create skin textures?]]
* [[FAQ:How can I create clothes?]]
* [[FAQ:How can I create hair?]]
* [[FAQ:How can I create extra bodyparts?]]
* [[FAQ:How can I create proxies or alternative topologies?]]
== Contributing ==
* [[FAQ:How do I submit a bug report?]]
* [[FAQ:How to provide a makehuman log for a good bug report?]]
* [[FAQ:I want to contribute code in a more structured manner. What is the recommended procedure?]]
* [[FAQ:I want an easy code task to get to learn the makehuman code. Where should I start?]]
* [[FAQ:I have made a code patch. Where do I send it?]]
* [[FAQ:I'm not a coder. How can I contribute?]]
* [[FAQ:I have made a new asset for MakeHuman. How can I contribute it?]]
* [[FAQ:I have made a tutorial. How do I contribute it?]]
* [[FAQ:I want to help write documentation. How do I do that?]]
== Troubleshooting ==
* [[FAQ:The publisher could not be verified]]
* [[FAQ:Norton Antivirus reports WS.Reputation.1 in the nightly build. What gives?]]
* [[FAQ:There seems to be a version mismatch between MHX and blender]]
* [[FAQ:I am using the ubuntu or debian version of MakeHuman and...]]
* [[FAQ:MakeHuman fails to start in windows, nothing seems to happen when I click the exe]]
* [[FAQ:Eyes are rendered completely white (or black) in blender]]
1a0f5de611269ae846dcdab68b9f00a530f6cabf
865
864
2016-05-27T09:07:47Z
Aranuvir
17
wikitext
text/x-wiki
This page lists frequently asked questions.
== Top questions ==
* [[FAQ:What happened to the MHX export in MH 1.1.x and later?]]
* [[FAQ:MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]]
== General / unsorted ==
* [[FAQ:What is MakeHuman?]]
* [[FAQ:What is the prefered method for contacting the MakeHuman crew?]]
* [[FAQ:Is there an IRC channel?]]
* [[FAQ:How much does MakeHuman cost?]]
* [[FAQ:What happened to the XYZ asset?]]
== Terminology ==
* [[FAQ:What is a nightly build?]]
* [[FAQ:What is Open Source?]]
* [[FAQ:What is a target?]]
* [[FAQ:What is the meaning of the numbers in MakeHuman release?]]
* [[FAQ:What is a proxy?]]
== Technology ==
* [[FAQ:Why quadrilaterals?]]
* [[FAQ:What happened to the specific skeletons (the UE and SL rigs for example)?]]
* [[FAQ:Why is there no perspective mode?]]
== Installation ==
* [[FAQ:Where can I download MakeHuman?]]
* [[FAQ:I'm using ubuntu. Is there a PPA?]]
* [[FAQ:Which version of MakeHuman should I download?]]
* [[FAQ:Where are my MakeHuman files found (where is my HOME directory)?]]
* [[FAQ:Where can I unzip MakeHuman (in Windows)?]]
* [[FAQ:How can I run MakeHuman from a BitBucket source clone?]]
* [[FAQ:How can I build MakeHuman from source?]]
* [[FAQ:I downloaded third part clothes. How do I install them?]]
* [[FAQ:I downloaded a third part model. How do I install it?]]
* [[FAQ:I downloaded a third part target. How do I install it?]]
* [[FAQ:How do I uninstall MakeHuman?]]
== Legal questions ==
* [[FAQ:Can I sell models created with MakeHuman?]]
* [[FAQ:Can I create a commercial closed source game with models generated by MakeHuman?]]
== Creating assets ==
* [[FAQ:I already have a 3d object from elsewhere. How can I use it in MH?]]
* [[FAQ:How can I create targets?]]
* [[FAQ:How can I create skin textures?]]
* [[FAQ:How can I create clothes?]]
* [[FAQ:How can I create hair?]]
* [[FAQ:How can I create extra bodyparts?]]
* [[FAQ:How can I create proxies or alternative topologies?]]
== Contributing ==
* [[FAQ:How do I submit a bug report?]]
* [[FAQ:How to provide a makehuman log for a good bug report?]]
* [[FAQ:I want to contribute code in a more structured manner. What is the recommended procedure?]]
* [[FAQ:I want an easy code task to get to learn the makehuman code. Where should I start?]]
* [[FAQ:I have made a code patch. Where do I send it?]]
* [[FAQ:I'm not a coder. How can I contribute?]]
* [[FAQ:I have made a new asset for MakeHuman. How can I contribute it?]]
* [[FAQ:I have made a tutorial. How do I contribute it?]]
* [[FAQ:I want to help write documentation. How do I do that?]]
== Troubleshooting ==
* [[FAQ:The publisher could not be verified]]
* [[FAQ:Norton Antivirus reports WS.Reputation.1 in the nightly build. What gives?]]
* [[FAQ:There seems to be a version mismatch between MHX and blender]]
* [[FAQ:I am using the ubuntu or debian version of MakeHuman and...]]
* [[FAQ:MakeHuman fails to start in windows, nothing seems to happen when I click the exe]]
* [[FAQ:Eyes are rendered completely white (or black) in blender]]
4e553670bc3e962b49ae5104785dd8178d94fe3a
864
657
2016-05-27T05:43:06Z
Joepal
14
Removed protection from "[[FAQ:Index]]": Give permissive policy a test
wikitext
text/x-wiki
This page lists frequently asked questions.
== Top questions ==
* [[FAQ:What happened to the MHX export in MH 1.1.x and later?]]
* [[FAQ:MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]]
== General / unsorted ==
* [[FAQ:What is MakeHuman?]]
* [[FAQ:What is the prefered method for contacting the MakeHuman crew?]]
* [[FAQ:Is there an IRC channel?]]
* [[FAQ:How much does MakeHuman cost?]]
* [[FAQ:What happened to the XYZ asset?]]
== Terminology ==
* [[FAQ:What is a nightly build?]]
* [[FAQ:What is Open Source?]]
* [[FAQ:What is a target?]]
* [[FAQ:What is the meaning of the numbers in MakeHuman release?]]
* [[FAQ:What is a proxy?]]
== Technology ==
* [[FAQ:Why quadrilaterals?]]
* [[FAQ:What happened to the specific skeletons (the UE and SL rigs for example)?]]
* [[FAQ:Why is there no perspective mode?]]
== Installation ==
* [[FAQ:Where can I download MakeHuman?]]
* [[FAQ:I'm using ubuntu. Is there a PPA?]]
* [[FAQ:Which version of MakeHuman should I download?]]
* [[FAQ:Where are my MakeHuman files found (where is my HOME directory)?]]
* [[FAQ:Where can I unzip MakeHuman (in Windows)?]]
* [[FAQ:How can I run MakeHuman from a BitBucket source clone?]]
* [[FAQ:How can I build MakeHuman from source?]]
* [[FAQ:I downloaded third part clothes. How do I install them?]]
* [[FAQ:I downloaded a third part model. How do I install it?]]
* [[FAQ:I downloaded a third part target. How do I install it?]]
== Legal questions ==
* [[FAQ:Can I sell models created with MakeHuman?]]
* [[FAQ:Can I create a commercial closed source game with models generated by MakeHuman?]]
== Creating assets ==
* [[FAQ:I already have a 3d object from elsewhere. How can I use it in MH?]]
* [[FAQ:How can I create targets?]]
* [[FAQ:How can I create skin textures?]]
* [[FAQ:How can I create clothes?]]
* [[FAQ:How can I create hair?]]
* [[FAQ:How can I create extra bodyparts?]]
* [[FAQ:How can I create proxies or alternative topologies?]]
== Contributing ==
* [[FAQ:How do I submit a bug report?]]
* [[FAQ:How to provide a makehuman log for a good bug report?]]
* [[FAQ:I want to contribute code in a more structured manner. What is the recommended procedure?]]
* [[FAQ:I want an easy code task to get to learn the makehuman code. Where should I start?]]
* [[FAQ:I have made a code patch. Where do I send it?]]
* [[FAQ:I'm not a coder. How can I contribute?]]
* [[FAQ:I have made a new asset for MakeHuman. How can I contribute it?]]
* [[FAQ:I have made a tutorial. How do I contribute it?]]
* [[FAQ:I want to help write documentation. How do I do that?]]
== Troubleshooting ==
* [[FAQ:The publisher could not be verified]]
* [[FAQ:Norton Antivirus reports WS.Reputation.1 in the nightly build. What gives?]]
* [[FAQ:There seems to be a version mismatch between MHX and blender]]
* [[FAQ:I am using the ubuntu or debian version of MakeHuman and...]]
* [[FAQ:MakeHuman fails to start in windows, nothing seems to happen when I click the exe]]
* [[FAQ:Eyes are rendered completely white (or black) in blender]]
70c014d23dec200ce521fac32fd99f12b65baa87
657
649
2016-05-14T08:26:00Z
Joepal
14
wikitext
text/x-wiki
This page lists frequently asked questions.
== Top questions ==
* [[FAQ:What happened to the MHX export in MH 1.1.x and later?]]
* [[FAQ:MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]]
== General / unsorted ==
* [[FAQ:What is MakeHuman?]]
* [[FAQ:What is the prefered method for contacting the MakeHuman crew?]]
* [[FAQ:Is there an IRC channel?]]
* [[FAQ:How much does MakeHuman cost?]]
* [[FAQ:What happened to the XYZ asset?]]
== Terminology ==
* [[FAQ:What is a nightly build?]]
* [[FAQ:What is Open Source?]]
* [[FAQ:What is a target?]]
* [[FAQ:What is the meaning of the numbers in MakeHuman release?]]
* [[FAQ:What is a proxy?]]
== Technology ==
* [[FAQ:Why quadrilaterals?]]
* [[FAQ:What happened to the specific skeletons (the UE and SL rigs for example)?]]
* [[FAQ:Why is there no perspective mode?]]
== Installation ==
* [[FAQ:Where can I download MakeHuman?]]
* [[FAQ:I'm using ubuntu. Is there a PPA?]]
* [[FAQ:Which version of MakeHuman should I download?]]
* [[FAQ:Where are my MakeHuman files found (where is my HOME directory)?]]
* [[FAQ:Where can I unzip MakeHuman (in Windows)?]]
* [[FAQ:How can I run MakeHuman from a BitBucket source clone?]]
* [[FAQ:How can I build MakeHuman from source?]]
* [[FAQ:I downloaded third part clothes. How do I install them?]]
* [[FAQ:I downloaded a third part model. How do I install it?]]
* [[FAQ:I downloaded a third part target. How do I install it?]]
== Legal questions ==
* [[FAQ:Can I sell models created with MakeHuman?]]
* [[FAQ:Can I create a commercial closed source game with models generated by MakeHuman?]]
== Creating assets ==
* [[FAQ:I already have a 3d object from elsewhere. How can I use it in MH?]]
* [[FAQ:How can I create targets?]]
* [[FAQ:How can I create skin textures?]]
* [[FAQ:How can I create clothes?]]
* [[FAQ:How can I create hair?]]
* [[FAQ:How can I create extra bodyparts?]]
* [[FAQ:How can I create proxies or alternative topologies?]]
== Contributing ==
* [[FAQ:How do I submit a bug report?]]
* [[FAQ:How to provide a makehuman log for a good bug report?]]
* [[FAQ:I want to contribute code in a more structured manner. What is the recommended procedure?]]
* [[FAQ:I want an easy code task to get to learn the makehuman code. Where should I start?]]
* [[FAQ:I have made a code patch. Where do I send it?]]
* [[FAQ:I'm not a coder. How can I contribute?]]
* [[FAQ:I have made a new asset for MakeHuman. How can I contribute it?]]
* [[FAQ:I have made a tutorial. How do I contribute it?]]
* [[FAQ:I want to help write documentation. How do I do that?]]
== Troubleshooting ==
* [[FAQ:The publisher could not be verified]]
* [[FAQ:Norton Antivirus reports WS.Reputation.1 in the nightly build. What gives?]]
* [[FAQ:There seems to be a version mismatch between MHX and blender]]
* [[FAQ:I am using the ubuntu or debian version of MakeHuman and...]]
* [[FAQ:MakeHuman fails to start in windows, nothing seems to happen when I click the exe]]
* [[FAQ:Eyes are rendered completely white (or black) in blender]]
70c014d23dec200ce521fac32fd99f12b65baa87
649
647
2016-05-12T05:34:54Z
Joepal
14
/* Technology */
wikitext
text/x-wiki
This page lists frequently asked questions.
== Top questions ==
* [[FAQ:When will 1.1 be released?]]
* [[FAQ:MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]]
== General / unsorted ==
* [[FAQ:What is MakeHuman?]]
* [[FAQ:What is the prefered method for contacting the MakeHuman crew?]]
* [[FAQ:Is there an IRC channel?]]
* [[FAQ:How much does MakeHuman cost?]]
* [[FAQ:What happened to the XYZ asset?]]
== Terminology ==
* [[FAQ:What is a nightly build?]]
* [[FAQ:What is Open Source?]]
* [[FAQ:What is a target?]]
* [[FAQ:What is the meaning of the numbers in MakeHuman release?]]
* [[FAQ:What is a proxy?]]
== Technology ==
* [[FAQ:Why quadrilaterals?]]
* [[FAQ:What happened to the MHX export in MH 1.1.x and later?]]
* [[FAQ:What happened to the specific skeletons (the UE and SL rigs for example)?]]
* [[FAQ:Why is there no perspective mode?]]
== Installation ==
* [[FAQ:Where can I download MakeHuman?]]
* [[FAQ:I'm using ubuntu. Is there a PPA?]]
* [[FAQ:Which version of MakeHuman should I download?]]
* [[FAQ:Where are my MakeHuman files found (where is my HOME directory)?]]
* [[FAQ:Where can I unzip MakeHuman (in Windows)?]]
* [[FAQ:How can I run MakeHuman from a BitBucket source clone?]]
* [[FAQ:How can I build MakeHuman from source?]]
* [[FAQ:I downloaded third part clothes. How do I install them?]]
* [[FAQ:I downloaded a third part model. How do I install it?]]
* [[FAQ:I downloaded a third part target. How do I install it?]]
== Legal questions ==
* [[FAQ:Can I sell models created with MakeHuman?]]
* [[FAQ:Can I create a commercial closed source game with models generated by MakeHuman?]]
== Creating assets ==
* [[FAQ:I already have a 3d object from elsewhere. How can I use it in MH?]]
* [[FAQ:How can I create targets?]]
* [[FAQ:How can I create skin textures?]]
* [[FAQ:How can I create clothes?]]
* [[FAQ:How can I create hair?]]
* [[FAQ:How can I create extra bodyparts?]]
* [[FAQ:How can I create proxies or alternative topologies?]]
== Contributing ==
* [[FAQ:How do I submit a bug report?]]
* [[FAQ:How to provide a makehuman log for a good bug report?]]
* [[FAQ:I want to contribute code in a more structured manner. What is the recommended procedure?]]
* [[FAQ:I want an easy code task to get to learn the makehuman code. Where should I start?]]
* [[FAQ:I have made a code patch. Where do I send it?]]
* [[FAQ:I'm not a coder. How can I contribute?]]
* [[FAQ:I have made a new asset for MakeHuman. How can I contribute it?]]
* [[FAQ:I have made a tutorial. How do I contribute it?]]
* [[FAQ:I want to help write documentation. How do I do that?]]
== Troubleshooting ==
* [[FAQ:The publisher could not be verified]]
* [[FAQ:Norton Antivirus reports WS.Reputation.1 in the nightly build. What gives?]]
* [[FAQ:There seems to be a version mismatch between MHX and blender]]
* [[FAQ:I am using the ubuntu or debian version of MakeHuman and...]]
* [[FAQ:MakeHuman fails to start in windows, nothing seems to happen when I click the exe]]
* [[FAQ:Eyes are rendered completely white (or black) in blender]]
e499bb357f58d663f06ee7709bc40eafaad1e0b3
647
606
2016-05-11T14:01:53Z
Joepal
14
/* Creating assets */
wikitext
text/x-wiki
This page lists frequently asked questions.
== Top questions ==
* [[FAQ:When will 1.1 be released?]]
* [[FAQ:MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]]
== General / unsorted ==
* [[FAQ:What is MakeHuman?]]
* [[FAQ:What is the prefered method for contacting the MakeHuman crew?]]
* [[FAQ:Is there an IRC channel?]]
* [[FAQ:How much does MakeHuman cost?]]
* [[FAQ:What happened to the XYZ asset?]]
== Terminology ==
* [[FAQ:What is a nightly build?]]
* [[FAQ:What is Open Source?]]
* [[FAQ:What is a target?]]
* [[FAQ:What is the meaning of the numbers in MakeHuman release?]]
* [[FAQ:What is a proxy?]]
== Technology ==
* [[FAQ:Why quadrilaterals?]]
* [[FAQ:What happened to the MHX export in MH 1.1.x and later?]]
* [[FAQ:Why is there no perspective mode?]]
== Installation ==
* [[FAQ:Where can I download MakeHuman?]]
* [[FAQ:I'm using ubuntu. Is there a PPA?]]
* [[FAQ:Which version of MakeHuman should I download?]]
* [[FAQ:Where are my MakeHuman files found (where is my HOME directory)?]]
* [[FAQ:Where can I unzip MakeHuman (in Windows)?]]
* [[FAQ:How can I run MakeHuman from a BitBucket source clone?]]
* [[FAQ:How can I build MakeHuman from source?]]
* [[FAQ:I downloaded third part clothes. How do I install them?]]
* [[FAQ:I downloaded a third part model. How do I install it?]]
* [[FAQ:I downloaded a third part target. How do I install it?]]
== Legal questions ==
* [[FAQ:Can I sell models created with MakeHuman?]]
* [[FAQ:Can I create a commercial closed source game with models generated by MakeHuman?]]
== Creating assets ==
* [[FAQ:I already have a 3d object from elsewhere. How can I use it in MH?]]
* [[FAQ:How can I create targets?]]
* [[FAQ:How can I create skin textures?]]
* [[FAQ:How can I create clothes?]]
* [[FAQ:How can I create hair?]]
* [[FAQ:How can I create extra bodyparts?]]
* [[FAQ:How can I create proxies or alternative topologies?]]
== Contributing ==
* [[FAQ:How do I submit a bug report?]]
* [[FAQ:How to provide a makehuman log for a good bug report?]]
* [[FAQ:I want to contribute code in a more structured manner. What is the recommended procedure?]]
* [[FAQ:I want an easy code task to get to learn the makehuman code. Where should I start?]]
* [[FAQ:I have made a code patch. Where do I send it?]]
* [[FAQ:I'm not a coder. How can I contribute?]]
* [[FAQ:I have made a new asset for MakeHuman. How can I contribute it?]]
* [[FAQ:I have made a tutorial. How do I contribute it?]]
* [[FAQ:I want to help write documentation. How do I do that?]]
== Troubleshooting ==
* [[FAQ:The publisher could not be verified]]
* [[FAQ:Norton Antivirus reports WS.Reputation.1 in the nightly build. What gives?]]
* [[FAQ:There seems to be a version mismatch between MHX and blender]]
* [[FAQ:I am using the ubuntu or debian version of MakeHuman and...]]
* [[FAQ:MakeHuman fails to start in windows, nothing seems to happen when I click the exe]]
* [[FAQ:Eyes are rendered completely white (or black) in blender]]
c43b024c91beff1221b1c891c6adf91d52ae62de
606
555
2016-03-06T12:42:43Z
Joepal
14
wikitext
text/x-wiki
This page lists frequently asked questions.
== Top questions ==
* [[FAQ:When will 1.1 be released?]]
* [[FAQ:MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]]
== General / unsorted ==
* [[FAQ:What is MakeHuman?]]
* [[FAQ:What is the prefered method for contacting the MakeHuman crew?]]
* [[FAQ:Is there an IRC channel?]]
* [[FAQ:How much does MakeHuman cost?]]
* [[FAQ:What happened to the XYZ asset?]]
== Terminology ==
* [[FAQ:What is a nightly build?]]
* [[FAQ:What is Open Source?]]
* [[FAQ:What is a target?]]
* [[FAQ:What is the meaning of the numbers in MakeHuman release?]]
* [[FAQ:What is a proxy?]]
== Technology ==
* [[FAQ:Why quadrilaterals?]]
* [[FAQ:What happened to the MHX export in MH 1.1.x and later?]]
* [[FAQ:Why is there no perspective mode?]]
== Installation ==
* [[FAQ:Where can I download MakeHuman?]]
* [[FAQ:I'm using ubuntu. Is there a PPA?]]
* [[FAQ:Which version of MakeHuman should I download?]]
* [[FAQ:Where are my MakeHuman files found (where is my HOME directory)?]]
* [[FAQ:Where can I unzip MakeHuman (in Windows)?]]
* [[FAQ:How can I run MakeHuman from a BitBucket source clone?]]
* [[FAQ:How can I build MakeHuman from source?]]
* [[FAQ:I downloaded third part clothes. How do I install them?]]
* [[FAQ:I downloaded a third part model. How do I install it?]]
* [[FAQ:I downloaded a third part target. How do I install it?]]
== Legal questions ==
* [[FAQ:Can I sell models created with MakeHuman?]]
* [[FAQ:Can I create a commercial closed source game with models generated by MakeHuman?]]
== Creating assets ==
* [[FAQ:How can I create targets?]]
* [[FAQ:How can I create skin textures?]]
* [[FAQ:How can I create clothes?]]
* [[FAQ:How can I create hair?]]
* [[FAQ:How can I create extra bodyparts?]]
* [[FAQ:How can I create proxies or alternative topologies?]]
== Contributing ==
* [[FAQ:How do I submit a bug report?]]
* [[FAQ:How to provide a makehuman log for a good bug report?]]
* [[FAQ:I want to contribute code in a more structured manner. What is the recommended procedure?]]
* [[FAQ:I want an easy code task to get to learn the makehuman code. Where should I start?]]
* [[FAQ:I have made a code patch. Where do I send it?]]
* [[FAQ:I'm not a coder. How can I contribute?]]
* [[FAQ:I have made a new asset for MakeHuman. How can I contribute it?]]
* [[FAQ:I have made a tutorial. How do I contribute it?]]
* [[FAQ:I want to help write documentation. How do I do that?]]
== Troubleshooting ==
* [[FAQ:The publisher could not be verified]]
* [[FAQ:Norton Antivirus reports WS.Reputation.1 in the nightly build. What gives?]]
* [[FAQ:There seems to be a version mismatch between MHX and blender]]
* [[FAQ:I am using the ubuntu or debian version of MakeHuman and...]]
* [[FAQ:MakeHuman fails to start in windows, nothing seems to happen when I click the exe]]
* [[FAQ:Eyes are rendered completely white (or black) in blender]]
6ae0dc9dfda6c5954df81b3d2b694a5ffafed920
555
542
2016-01-05T14:25:12Z
Joepal
14
wikitext
text/x-wiki
This page lists frequently asked questions.
== Top questions ==
* [[FAQ:When will 1.1 be released?]]
* [[FAQ:MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]]
== General / unsorted ==
* [[FAQ:What is MakeHuman?]]
* [[FAQ:What is the prefered method for contacting the MakeHuman crew?]]
* [[FAQ:Is there an IRC channel?]]
* [[FAQ:How much does MakeHuman cost?]]
* [[FAQ:What happened to the XYZ asset?]]
== Terminology ==
* [[FAQ:What is a nightly build?]]
* [[FAQ:What is Open Source?]]
* [[FAQ:What is a target?]]
* [[FAQ:What is the meaning of the numbers in MakeHuman release?]]
* [[FAQ:What is a proxy?]]
== Technology ==
* [[FAQ:Why quadrilaterals?]]
* [[FAQ:What happened to the MHX export in MH 1.1.x and later?]]
* [[FAQ:Why is there no perspective mode?]]
== Installation ==
* [[FAQ:Where can I download MakeHuman?]]
* [[FAQ:I'm using ubuntu. Is there a PPA?]]
* [[FAQ:Which version of MakeHuman should I download?]]
* [[FAQ:Where are my MakeHuman files found (where is my HOME directory)?]]
* [[FAQ:Where can I unzip MakeHuman (in Windows)?]]
* [[FAQ:How can I run MakeHuman from a BitBucket source clone?]]
* [[FAQ:How can I build MakeHuman from source?]]
* [[FAQ:I downloaded third part clothes. How do I install them?]]
* [[FAQ:I downloaded a third part model. How do I install it?]]
* [[FAQ:I downloaded a third part target. How do I install it?]]
== Legal questions ==
* [[FAQ:Can I sell models created with MakeHuman?]]
* [[FAQ:Can I create a commercial closed source game with models generated by MakeHuman?]]
== Creating assets ==
* [[FAQ:How can I create targets?]]
* [[FAQ:How can I create skin textures?]]
* [[FAQ:How can I create clothes?]]
* [[FAQ:How can I create hair?]]
* [[FAQ:How can I create extra bodyparts?]]
* [[FAQ:How can I create proxies or alternative topologies?]]
== Contributing ==
* [[FAQ:How do I submit a bug report?]]
* [[FAQ:How to provide a makehuman log for a good bug report?]]
* [[FAQ:I want to contribute code in a more structured manner. What is the recommended procedure?]]
* [[FAQ:I want an easy code task to get to learn the makehuman code. Where should I start?]]
* [[FAQ:I have made a code patch. Where do I send it?]]
* [[FAQ:I'm not a coder. How can I contribute?]]
* [[FAQ:I have made a new asset for MakeHuman. How can I contribute it?]]
* [[FAQ:I have made a tutorial. How do I contribute it?]]
* [[FAQ:I want to help write documentation. How do I do that?]]
== Troubleshooting ==
* [[FAQ:Norton Antivirus reports WS.Reputation.1 in the nightly build. What gives?]]
* [[FAQ:There seems to be a version mismatch between MHX and blender]]
* [[FAQ:I am using the ubuntu or debian version of MakeHuman and...]]
* [[FAQ:MakeHuman fails to start in windows, nothing seems to happen when I click the exe]]
* [[FAQ:Eyes are rendered completely white (or black) in blender]]
89e5ed071bb57f1a8a117bc55b90f6dbec87489e
542
512
2015-11-01T11:53:19Z
Joepal
14
/* Troubleshooting */
wikitext
text/x-wiki
This page lists frequently asked questions.
== General / unsorted ==
* [[FAQ:What is MakeHuman?]]
* [[FAQ:What is the prefered method for contacting the MakeHuman crew?]]
* [[FAQ:Is there an IRC channel?]]
* [[FAQ:How much does MakeHuman cost?]]
* [[FAQ:What happened to the XYZ asset?]]
== Terminology ==
* [[FAQ:What is a nightly build?]]
* [[FAQ:What is Open Source?]]
* [[FAQ:What is a target?]]
* [[FAQ:What is the meaning of the numbers in MakeHuman release?]]
* [[FAQ:What is a proxy?]]
== Technology ==
* [[FAQ:Why quadrilaterals?]]
* [[FAQ:What happened to the MHX export in MH 1.1.x and later?]]
* [[FAQ:Why is there no perspective mode?]]
== Installation ==
* [[FAQ:Where can I download MakeHuman?]]
* [[FAQ:I'm using ubuntu. Is there a PPA?]]
* [[FAQ:Which version of MakeHuman should I download?]]
* [[FAQ:Where are my MakeHuman files found (where is my HOME directory)?]]
* [[FAQ:Where can I unzip MakeHuman (in Windows)?]]
* [[FAQ:How can I run MakeHuman from a BitBucket source clone?]]
* [[FAQ:How can I build MakeHuman from source?]]
* [[FAQ:I downloaded third part clothes. How do I install them?]]
* [[FAQ:I downloaded a third part model. How do I install it?]]
* [[FAQ:I downloaded a third part target. How do I install it?]]
== Legal questions ==
* [[FAQ:Can I sell models created with MakeHuman?]]
* [[FAQ:Can I create a commercial closed source game with models generated by MakeHuman?]]
== Creating assets ==
* [[FAQ:How can I create targets?]]
* [[FAQ:How can I create skin textures?]]
* [[FAQ:How can I create clothes?]]
* [[FAQ:How can I create hair?]]
* [[FAQ:How can I create extra bodyparts?]]
* [[FAQ:How can I create proxies or alternative topologies?]]
== Contributing ==
* [[FAQ:How do I submit a bug report?]]
* [[FAQ:How to provide a makehuman log for a good bug report?]]
* [[FAQ:I want to contribute code in a more structured manner. What is the recommended procedure?]]
* [[FAQ:I want an easy code task to get to learn the makehuman code. Where should I start?]]
* [[FAQ:I have made a code patch. Where do I send it?]]
* [[FAQ:I'm not a coder. How can I contribute?]]
* [[FAQ:I have made a new asset for MakeHuman. How can I contribute it?]]
* [[FAQ:I have made a tutorial. How do I contribute it?]]
* [[FAQ:I want to help write documentation. How do I do that?]]
== Troubleshooting ==
* [[FAQ:Norton Antivirus reports WS.Reputation.1 in the nightly build. What gives?]]
* [[FAQ:MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]]
* [[FAQ:There seems to be a version mismatch between MHX and blender]]
* [[FAQ:I am using the ubuntu or debian version of MakeHuman and...]]
* [[FAQ:MakeHuman fails to start in windows, nothing seems to happen when I click the exe]]
* [[FAQ:Eyes are rendered completely white (or black) in blender]]
92032a8726efa63b062bc76481ca6a9d8e30000d
512
502
2015-09-01T11:12:37Z
Joepal
14
/* General / unsorted */
wikitext
text/x-wiki
This page lists frequently asked questions.
== General / unsorted ==
* [[FAQ:What is MakeHuman?]]
* [[FAQ:What is the prefered method for contacting the MakeHuman crew?]]
* [[FAQ:Is there an IRC channel?]]
* [[FAQ:How much does MakeHuman cost?]]
* [[FAQ:What happened to the XYZ asset?]]
== Terminology ==
* [[FAQ:What is a nightly build?]]
* [[FAQ:What is Open Source?]]
* [[FAQ:What is a target?]]
* [[FAQ:What is the meaning of the numbers in MakeHuman release?]]
* [[FAQ:What is a proxy?]]
== Technology ==
* [[FAQ:Why quadrilaterals?]]
* [[FAQ:What happened to the MHX export in MH 1.1.x and later?]]
* [[FAQ:Why is there no perspective mode?]]
== Installation ==
* [[FAQ:Where can I download MakeHuman?]]
* [[FAQ:I'm using ubuntu. Is there a PPA?]]
* [[FAQ:Which version of MakeHuman should I download?]]
* [[FAQ:Where are my MakeHuman files found (where is my HOME directory)?]]
* [[FAQ:Where can I unzip MakeHuman (in Windows)?]]
* [[FAQ:How can I run MakeHuman from a BitBucket source clone?]]
* [[FAQ:How can I build MakeHuman from source?]]
* [[FAQ:I downloaded third part clothes. How do I install them?]]
* [[FAQ:I downloaded a third part model. How do I install it?]]
* [[FAQ:I downloaded a third part target. How do I install it?]]
== Legal questions ==
* [[FAQ:Can I sell models created with MakeHuman?]]
* [[FAQ:Can I create a commercial closed source game with models generated by MakeHuman?]]
== Creating assets ==
* [[FAQ:How can I create targets?]]
* [[FAQ:How can I create skin textures?]]
* [[FAQ:How can I create clothes?]]
* [[FAQ:How can I create hair?]]
* [[FAQ:How can I create extra bodyparts?]]
* [[FAQ:How can I create proxies or alternative topologies?]]
== Contributing ==
* [[FAQ:How do I submit a bug report?]]
* [[FAQ:How to provide a makehuman log for a good bug report?]]
* [[FAQ:I want to contribute code in a more structured manner. What is the recommended procedure?]]
* [[FAQ:I want an easy code task to get to learn the makehuman code. Where should I start?]]
* [[FAQ:I have made a code patch. Where do I send it?]]
* [[FAQ:I'm not a coder. How can I contribute?]]
* [[FAQ:I have made a new asset for MakeHuman. How can I contribute it?]]
* [[FAQ:I have made a tutorial. How do I contribute it?]]
* [[FAQ:I want to help write documentation. How do I do that?]]
== Troubleshooting ==
* [[FAQ:Norton Antivirus reports WS.Reputation.1 in the nightly build. What gives?]]
* [[FAQ:MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]]
* [[FAQ:There seems to be a version mismatch between MHX and blender]]
* [[FAQ:I am using the ubuntu or debian version of MakeHuman and...]]
* [[FAQ:MakeHuman fails to start in windows, nothing seems to happen when I click the exe]]
3a94e48766a18d8420b3fe0b07eb3728358746bc
502
137
2015-08-30T08:29:00Z
Joepal
14
/* Installation */
wikitext
text/x-wiki
This page lists frequently asked questions.
== General / unsorted ==
* [[FAQ:What is MakeHuman?]]
* [[FAQ:What is the prefered method for contacting the MakeHuman crew?]]
* [[FAQ:Is there an IRC channel?]]
* [[FAQ:How much does MakeHuman cost?]]
== Terminology ==
* [[FAQ:What is a nightly build?]]
* [[FAQ:What is Open Source?]]
* [[FAQ:What is a target?]]
* [[FAQ:What is the meaning of the numbers in MakeHuman release?]]
* [[FAQ:What is a proxy?]]
== Technology ==
* [[FAQ:Why quadrilaterals?]]
* [[FAQ:What happened to the MHX export in MH 1.1.x and later?]]
* [[FAQ:Why is there no perspective mode?]]
== Installation ==
* [[FAQ:Where can I download MakeHuman?]]
* [[FAQ:I'm using ubuntu. Is there a PPA?]]
* [[FAQ:Which version of MakeHuman should I download?]]
* [[FAQ:Where are my MakeHuman files found (where is my HOME directory)?]]
* [[FAQ:Where can I unzip MakeHuman (in Windows)?]]
* [[FAQ:How can I run MakeHuman from a BitBucket source clone?]]
* [[FAQ:How can I build MakeHuman from source?]]
* [[FAQ:I downloaded third part clothes. How do I install them?]]
* [[FAQ:I downloaded a third part model. How do I install it?]]
* [[FAQ:I downloaded a third part target. How do I install it?]]
== Legal questions ==
* [[FAQ:Can I sell models created with MakeHuman?]]
* [[FAQ:Can I create a commercial closed source game with models generated by MakeHuman?]]
== Creating assets ==
* [[FAQ:How can I create targets?]]
* [[FAQ:How can I create skin textures?]]
* [[FAQ:How can I create clothes?]]
* [[FAQ:How can I create hair?]]
* [[FAQ:How can I create extra bodyparts?]]
* [[FAQ:How can I create proxies or alternative topologies?]]
== Contributing ==
* [[FAQ:How do I submit a bug report?]]
* [[FAQ:How to provide a makehuman log for a good bug report?]]
* [[FAQ:I want to contribute code in a more structured manner. What is the recommended procedure?]]
* [[FAQ:I want an easy code task to get to learn the makehuman code. Where should I start?]]
* [[FAQ:I have made a code patch. Where do I send it?]]
* [[FAQ:I'm not a coder. How can I contribute?]]
* [[FAQ:I have made a new asset for MakeHuman. How can I contribute it?]]
* [[FAQ:I have made a tutorial. How do I contribute it?]]
* [[FAQ:I want to help write documentation. How do I do that?]]
== Troubleshooting ==
* [[FAQ:Norton Antivirus reports WS.Reputation.1 in the nightly build. What gives?]]
* [[FAQ:MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]]
* [[FAQ:There seems to be a version mismatch between MHX and blender]]
* [[FAQ:I am using the ubuntu or debian version of MakeHuman and...]]
* [[FAQ:MakeHuman fails to start in windows, nothing seems to happen when I click the exe]]
0d4ad284d32c445d89e73fc0c8d809c5b1b8e728
137
112
2015-07-18T07:51:03Z
Joepal
14
/* Installation */
wikitext
text/x-wiki
This page lists frequently asked questions.
== General / unsorted ==
* [[FAQ:What is MakeHuman?]]
* [[FAQ:What is the prefered method for contacting the MakeHuman crew?]]
* [[FAQ:Is there an IRC channel?]]
* [[FAQ:How much does MakeHuman cost?]]
== Terminology ==
* [[FAQ:What is a nightly build?]]
* [[FAQ:What is Open Source?]]
* [[FAQ:What is a target?]]
* [[FAQ:What is the meaning of the numbers in MakeHuman release?]]
* [[FAQ:What is a proxy?]]
== Technology ==
* [[FAQ:Why quadrilaterals?]]
* [[FAQ:What happened to the MHX export in MH 1.1.x and later?]]
* [[FAQ:Why is there no perspective mode?]]
== Installation ==
* [[FAQ:Where can I download MakeHuman?]]
* [[FAQ:I'm using ubuntu. Is there a PPA?]]
* [[FAQ:Which version of MakeHuman should I download?]]
* [[FAQ:Where are my MakeHuman files found (where is my HOME directory)?]]
* [[FAQ:Where can I unzip MakeHuman (in Windows)?]]
* [[FAQ:How can I build MakeHuman from source?]]
* [[FAQ:I downloaded third part clothes. How do I install them?]]
* [[FAQ:I downloaded a third part model. How do I install it?]]
* [[FAQ:I downloaded a third part target. How do I install it?]]
== Legal questions ==
* [[FAQ:Can I sell models created with MakeHuman?]]
* [[FAQ:Can I create a commercial closed source game with models generated by MakeHuman?]]
== Creating assets ==
* [[FAQ:How can I create targets?]]
* [[FAQ:How can I create skin textures?]]
* [[FAQ:How can I create clothes?]]
* [[FAQ:How can I create hair?]]
* [[FAQ:How can I create extra bodyparts?]]
* [[FAQ:How can I create proxies or alternative topologies?]]
== Contributing ==
* [[FAQ:How do I submit a bug report?]]
* [[FAQ:How to provide a makehuman log for a good bug report?]]
* [[FAQ:I want to contribute code in a more structured manner. What is the recommended procedure?]]
* [[FAQ:I want an easy code task to get to learn the makehuman code. Where should I start?]]
* [[FAQ:I have made a code patch. Where do I send it?]]
* [[FAQ:I'm not a coder. How can I contribute?]]
* [[FAQ:I have made a new asset for MakeHuman. How can I contribute it?]]
* [[FAQ:I have made a tutorial. How do I contribute it?]]
* [[FAQ:I want to help write documentation. How do I do that?]]
== Troubleshooting ==
* [[FAQ:Norton Antivirus reports WS.Reputation.1 in the nightly build. What gives?]]
* [[FAQ:MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]]
* [[FAQ:There seems to be a version mismatch between MHX and blender]]
* [[FAQ:I am using the ubuntu or debian version of MakeHuman and...]]
* [[FAQ:MakeHuman fails to start in windows, nothing seems to happen when I click the exe]]
285a9eaa9f09767c5fc26e41e9c57c122f1ff6fb
112
108
2015-07-10T10:24:57Z
Joepal
14
wikitext
text/x-wiki
This page lists frequently asked questions.
== General / unsorted ==
* [[FAQ:What is MakeHuman?]]
* [[FAQ:What is the prefered method for contacting the MakeHuman crew?]]
* [[FAQ:Is there an IRC channel?]]
* [[FAQ:How much does MakeHuman cost?]]
== Terminology ==
* [[FAQ:What is a nightly build?]]
* [[FAQ:What is Open Source?]]
* [[FAQ:What is a target?]]
* [[FAQ:What is the meaning of the numbers in MakeHuman release?]]
* [[FAQ:What is a proxy?]]
== Technology ==
* [[FAQ:Why quadrilaterals?]]
* [[FAQ:What happened to the MHX export in MH 1.1.x and later?]]
* [[FAQ:Why is there no perspective mode?]]
== Installation ==
* [[FAQ:Where can I download MakeHuman?]]
* [[FAQ:I'm using ubuntu. Is there a PPA?]]
* [[FAQ:Which version of MakeHuman should I download?]]
* [[FAQ:Where are my MakeHuman files found (where is my HOME directory)?]]
* [[FAQ:Where can I unzip MakeHuman (in Windows)?]]
* [[FAQ:How can I build MakeHuman from source?]]
== Legal questions ==
* [[FAQ:Can I sell models created with MakeHuman?]]
* [[FAQ:Can I create a commercial closed source game with models generated by MakeHuman?]]
== Creating assets ==
* [[FAQ:How can I create targets?]]
* [[FAQ:How can I create skin textures?]]
* [[FAQ:How can I create clothes?]]
* [[FAQ:How can I create hair?]]
* [[FAQ:How can I create extra bodyparts?]]
* [[FAQ:How can I create proxies or alternative topologies?]]
== Contributing ==
* [[FAQ:How do I submit a bug report?]]
* [[FAQ:How to provide a makehuman log for a good bug report?]]
* [[FAQ:I want to contribute code in a more structured manner. What is the recommended procedure?]]
* [[FAQ:I want an easy code task to get to learn the makehuman code. Where should I start?]]
* [[FAQ:I have made a code patch. Where do I send it?]]
* [[FAQ:I'm not a coder. How can I contribute?]]
* [[FAQ:I have made a new asset for MakeHuman. How can I contribute it?]]
* [[FAQ:I have made a tutorial. How do I contribute it?]]
* [[FAQ:I want to help write documentation. How do I do that?]]
== Troubleshooting ==
* [[FAQ:Norton Antivirus reports WS.Reputation.1 in the nightly build. What gives?]]
* [[FAQ:MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]]
* [[FAQ:There seems to be a version mismatch between MHX and blender]]
* [[FAQ:I am using the ubuntu or debian version of MakeHuman and...]]
* [[FAQ:MakeHuman fails to start in windows, nothing seems to happen when I click the exe]]
2c71ade33cb8f98d53feb19dd3375420a797f9ba
108
104
2015-07-10T10:14:11Z
Joepal
14
/* Troubleshooting */
wikitext
text/x-wiki
This page lists frequently asked questions.
== General / unsorted ==
* [[FAQ:What is MakeHuman?]]
* [[FAQ:What is the prefered method for contacting the MakeHuman crew?]]
* [[FAQ:Is there an IRC channel?]]
* [[FAQ:How much does MakeHuman cost?]]
== Terminology ==
* [[FAQ:What is a nightly build?]]
* [[FAQ:What is Open Source?]]
* [[FAQ:What is a target?]]
* [[FAQ:What is the meaning of the numbers in MakeHuman release?]]
* [[FAQ:What is a proxy?]]
== Technology ==
* [[FAQ:Why quadrilaterals?]]
* [[FAQ:What happened to the MHX export in MH 1.1.x and later?]]
* [[FAQ:Why is there no perspective mode?]]
== Installation ==
* [[FAQ:Where can I download MakeHuman?]]
* [[FAQ:I'm using ubuntu. Is there a PPA?]]
* [[FAQ:Which version of MakeHuman should I download?]]
* [[FAQ:Where are my MakeHuman files found (where is my HOME directory)?]]
* [[FAQ:Where can I unzip MakeHuman (in Windows)?]]
* [[FAQ:How can I build MakeHuman from source?]]
== Legal questions ==
* [[FAQ:Can I sell models created with MakeHuman?]]
* [[FAQ:Can I create a commercial closed source game with models generated by MakeHuman?]]
== Contributing ==
* [[FAQ:How do I submit a bug report?]]
* [[FAQ:How to provide a makehuman log for a good bug report?]]
* [[FAQ:I want to contribute code in a more structured manner. What is the recommended procedure?]]
* [[FAQ:I want an easy code task to get to learn the makehuman code. Where should I start?]]
* [[FAQ:I have made a code patch. Where do I send it?]]
* [[FAQ:I'm not a coder. How can I contribute?]]
* [[FAQ:I have made a new asset for MakeHuman. How can I contribute it?]]
* [[FAQ:I have made a tutorial. How do I contribute it?]]
* [[FAQ:I want to help write documentation. How do I do that?]]
== Troubleshooting ==
* [[FAQ:Norton Antivirus reports WS.Reputation.1 in the nightly build. What gives?]]
* [[FAQ:MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]]
* [[FAQ:There seems to be a version mismatch between MHX and blender]]
* [[FAQ:I am using the ubuntu or debian version of MakeHuman and...]]
* [[FAQ:MakeHuman fails to start in windows, nothing seems to happen when I click the exe]]
6835b8514f304dc3aebf573c0cfc46bcd7dcbb1d
104
103
2015-07-10T10:05:20Z
Joepal
14
/* Contributing */
wikitext
text/x-wiki
This page lists frequently asked questions.
== General / unsorted ==
* [[FAQ:What is MakeHuman?]]
* [[FAQ:What is the prefered method for contacting the MakeHuman crew?]]
* [[FAQ:Is there an IRC channel?]]
* [[FAQ:How much does MakeHuman cost?]]
== Terminology ==
* [[FAQ:What is a nightly build?]]
* [[FAQ:What is Open Source?]]
* [[FAQ:What is a target?]]
* [[FAQ:What is the meaning of the numbers in MakeHuman release?]]
* [[FAQ:What is a proxy?]]
== Technology ==
* [[FAQ:Why quadrilaterals?]]
* [[FAQ:What happened to the MHX export in MH 1.1.x and later?]]
* [[FAQ:Why is there no perspective mode?]]
== Installation ==
* [[FAQ:Where can I download MakeHuman?]]
* [[FAQ:I'm using ubuntu. Is there a PPA?]]
* [[FAQ:Which version of MakeHuman should I download?]]
* [[FAQ:Where are my MakeHuman files found (where is my HOME directory)?]]
* [[FAQ:Where can I unzip MakeHuman (in Windows)?]]
* [[FAQ:How can I build MakeHuman from source?]]
== Legal questions ==
* [[FAQ:Can I sell models created with MakeHuman?]]
* [[FAQ:Can I create a commercial closed source game with models generated by MakeHuman?]]
== Contributing ==
* [[FAQ:How do I submit a bug report?]]
* [[FAQ:How to provide a makehuman log for a good bug report?]]
* [[FAQ:I want to contribute code in a more structured manner. What is the recommended procedure?]]
* [[FAQ:I want an easy code task to get to learn the makehuman code. Where should I start?]]
* [[FAQ:I have made a code patch. Where do I send it?]]
* [[FAQ:I'm not a coder. How can I contribute?]]
* [[FAQ:I have made a new asset for MakeHuman. How can I contribute it?]]
* [[FAQ:I have made a tutorial. How do I contribute it?]]
* [[FAQ:I want to help write documentation. How do I do that?]]
== Troubleshooting ==
* [[FAQ:Norton Antivirus reports WS.Reputation.1 in the nightly build. What gives?]]
* [[FAQ:MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]]
* [[FAQ:There seems to be a version mismatch between MHX and blender]]
* [[FAQ:I am using the ubuntu/debian version of MakeHuman and...]]
* [[FAQ:MakeHuman fails to start in windows, nothing seems to happen when I click the exe]]
c1e7f338b5441a2701cb788a87d50a27cdf2afeb
103
94
2015-07-10T10:04:58Z
Joepal
14
/* Contributing */
wikitext
text/x-wiki
This page lists frequently asked questions.
== General / unsorted ==
* [[FAQ:What is MakeHuman?]]
* [[FAQ:What is the prefered method for contacting the MakeHuman crew?]]
* [[FAQ:Is there an IRC channel?]]
* [[FAQ:How much does MakeHuman cost?]]
== Terminology ==
* [[FAQ:What is a nightly build?]]
* [[FAQ:What is Open Source?]]
* [[FAQ:What is a target?]]
* [[FAQ:What is the meaning of the numbers in MakeHuman release?]]
* [[FAQ:What is a proxy?]]
== Technology ==
* [[FAQ:Why quadrilaterals?]]
* [[FAQ:What happened to the MHX export in MH 1.1.x and later?]]
* [[FAQ:Why is there no perspective mode?]]
== Installation ==
* [[FAQ:Where can I download MakeHuman?]]
* [[FAQ:I'm using ubuntu. Is there a PPA?]]
* [[FAQ:Which version of MakeHuman should I download?]]
* [[FAQ:Where are my MakeHuman files found (where is my HOME directory)?]]
* [[FAQ:Where can I unzip MakeHuman (in Windows)?]]
* [[FAQ:How can I build MakeHuman from source?]]
== Legal questions ==
* [[FAQ:Can I sell models created with MakeHuman?]]
* [[FAQ:Can I create a commercial closed source game with models generated by MakeHuman?]]
== Contributing ==
* [[FAQ:How do I submit a bug report?]]
* [[FAQ:How to provide a makehuman log for a good bug report?]]
* [[FAQ:I want to contribute code in a more structured manner. What is the recommended procedure?]]
* [[FAQ:I want an easy code task to get to learn the makehuman code. Where should I start?]]
* [[FAQ:I have made a code patch. Where do I send it?]]
* [[FAQ:I'm not a coder. How can I contribute?]]
* [[FAQ:I have made a new asset for MakeHuman. How can I contribute it?]]
* [[FAQ:I have made a tutorial. How to I contribute it?]]
* [[FAQ:I want to help write documentation. How do I do that?]]
== Troubleshooting ==
* [[FAQ:Norton Antivirus reports WS.Reputation.1 in the nightly build. What gives?]]
* [[FAQ:MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]]
* [[FAQ:There seems to be a version mismatch between MHX and blender]]
* [[FAQ:I am using the ubuntu/debian version of MakeHuman and...]]
* [[FAQ:MakeHuman fails to start in windows, nothing seems to happen when I click the exe]]
86d9ff6a8b1e315edace1ac5f35a5e1e5ecc4156
94
83
2015-07-10T09:47:24Z
Joepal
14
/* Installation */
wikitext
text/x-wiki
This page lists frequently asked questions.
== General / unsorted ==
* [[FAQ:What is MakeHuman?]]
* [[FAQ:What is the prefered method for contacting the MakeHuman crew?]]
* [[FAQ:Is there an IRC channel?]]
* [[FAQ:How much does MakeHuman cost?]]
== Terminology ==
* [[FAQ:What is a nightly build?]]
* [[FAQ:What is Open Source?]]
* [[FAQ:What is a target?]]
* [[FAQ:What is the meaning of the numbers in MakeHuman release?]]
* [[FAQ:What is a proxy?]]
== Technology ==
* [[FAQ:Why quadrilaterals?]]
* [[FAQ:What happened to the MHX export in MH 1.1.x and later?]]
* [[FAQ:Why is there no perspective mode?]]
== Installation ==
* [[FAQ:Where can I download MakeHuman?]]
* [[FAQ:I'm using ubuntu. Is there a PPA?]]
* [[FAQ:Which version of MakeHuman should I download?]]
* [[FAQ:Where are my MakeHuman files found (where is my HOME directory)?]]
* [[FAQ:Where can I unzip MakeHuman (in Windows)?]]
* [[FAQ:How can I build MakeHuman from source?]]
== Legal questions ==
* [[FAQ:Can I sell models created with MakeHuman?]]
* [[FAQ:Can I create a commercial closed source game with models generated by MakeHuman?]]
== Contributing ==
* [[FAQ:How do I submit a bug report?]]
* [[FAQ:How to provide a makehuman log for a good bug report?]]
* [[FAQ:I want to contribute code in a more structured manner. What is the recommended procedure?]]
* [[FAQ:I want an easy code task to get to learn the makehuman code. Where should I start?]]
* [[FAQ:I have made a code patch. Where do I send it?]]
* [[FAQ:I'm not a coder. How can I contribute?]]
* [[FAQ:I have made a skin/texture. How can I contribute it?]]
* [[FAQ:I have made a model in MakeHuman. How can I contribute it?]]
== Troubleshooting ==
* [[FAQ:Norton Antivirus reports WS.Reputation.1 in the nightly build. What gives?]]
* [[FAQ:MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]]
* [[FAQ:There seems to be a version mismatch between MHX and blender]]
* [[FAQ:I am using the ubuntu/debian version of MakeHuman and...]]
* [[FAQ:MakeHuman fails to start in windows, nothing seems to happen when I click the exe]]
48f470a2a8e7c4fa646914e6cae845258703652e
83
50
2015-07-09T11:28:59Z
Joepal
14
wikitext
text/x-wiki
This page lists frequently asked questions.
== General / unsorted ==
* [[FAQ:What is MakeHuman?]]
* [[FAQ:What is the prefered method for contacting the MakeHuman crew?]]
* [[FAQ:Is there an IRC channel?]]
* [[FAQ:How much does MakeHuman cost?]]
== Terminology ==
* [[FAQ:What is a nightly build?]]
* [[FAQ:What is Open Source?]]
* [[FAQ:What is a target?]]
* [[FAQ:What is the meaning of the numbers in MakeHuman release?]]
* [[FAQ:What is a proxy?]]
== Technology ==
* [[FAQ:Why quadrilaterals?]]
* [[FAQ:What happened to the MHX export in MH 1.1.x and later?]]
* [[FAQ:Why is there no perspective mode?]]
== Installation ==
* [[FAQ:Where can I download MakeHuman?]]
* [[FAQ:I'm using ubuntu. Is there a PPA?]]
* [[FAQ:Which version of MakeHuman should I download?]]
* [[FAQ:Where are my MakeHuman files found (where is my HOME directory)?]]
* [[FAQ:Where can I unzip MakeHuman?]]
* [[FAQ:How can I build MakeHuman from source?]]
== Legal questions ==
* [[FAQ:Can I sell models created with MakeHuman?]]
* [[FAQ:Can I create a commercial closed source game with models generated by MakeHuman?]]
== Contributing ==
* [[FAQ:How do I submit a bug report?]]
* [[FAQ:How to provide a makehuman log for a good bug report?]]
* [[FAQ:I want to contribute code in a more structured manner. What is the recommended procedure?]]
* [[FAQ:I want an easy code task to get to learn the makehuman code. Where should I start?]]
* [[FAQ:I have made a code patch. Where do I send it?]]
* [[FAQ:I'm not a coder. How can I contribute?]]
* [[FAQ:I have made a skin/texture. How can I contribute it?]]
* [[FAQ:I have made a model in MakeHuman. How can I contribute it?]]
== Troubleshooting ==
* [[FAQ:Norton Antivirus reports WS.Reputation.1 in the nightly build. What gives?]]
* [[FAQ:MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]]
* [[FAQ:There seems to be a version mismatch between MHX and blender]]
* [[FAQ:I am using the ubuntu/debian version of MakeHuman and...]]
* [[FAQ:MakeHuman fails to start in windows, nothing seems to happen when I click the exe]]
6bef4b22ea19172ab6f55090803fcb9b26a64dad
50
47
2015-07-04T15:18:44Z
Joepal2
11
Protected "[[FAQ:Index]]": High traffic page ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))
wikitext
text/x-wiki
This page lists frequently asked questions.
== General / unsorted ==
* [[FAQ:What is MakeHuman?]]
* [[FAQ:What is the prefered method for contacting the MakeHuman crew?]]
* [[FAQ:Is there an IRC channel?]]
* [[FAQ:How much does MakeHuman cost?]]
* [[FAQ:Why quadrilaterals?]]
* [[FAQ:Where is the MHX export in MH 1.1.x and later?]]
* [[FAQ:Why there is not perspective?]]
== Terminology ==
* [[FAQ:What is a nightly build?]]
* [[FAQ:What is Open Source?]]
* [[FAQ:What is a target?]]
* [[FAQ:What is the meaning of the numbers in MakeHuman release?]]
* [[FAQ:What is a proxy?]]
== Installation ==
* [[FAQ:Where can I download MakeHuman?]]
* [[FAQ:I'm using ubuntu. Is there a PPA?]]
* [[FAQ:Which version of MakeHuman should I download?]]
* [[FAQ:Where are my MakeHuman files found (where is my HOME directory)?]]
* [[FAQ:Where can I unzip MakeHuman?]]
* [[FAQ:How can I build MakeHuman from source?]]
== Legal questions ==
* [[FAQ:Can I sell models created with MakeHuman?]]
* [[FAQ:Can I create a commercial closed source game with models generated by MakeHuman?]]
== Contributing ==
* [[FAQ:How do I submit a bug report?]]
* [[FAQ:How to provide a makehuman log for a good bug report?]]
* [[FAQ:I want to contribute code in a more structured manner. What is the recommended procedure?]]
* [[FAQ:I want an easy code task to get to learn the makehuman code. Where should I start?]]
* [[FAQ:I have made a code patch. Where do I send it?]]
* [[FAQ:I'm not a coder. How can I contribute?]]
* [[FAQ:I have made a skin/texture. How can I contribute it?]]
* [[FAQ:I have made a model in MakeHuman. How can I contribute it?]]
== Troubleshooting ==
* [[FAQ:Norton Antivirus reports WS.Reputation.1 in the nightly build. What gives?]]
* [[FAQ:MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]]
* [[FAQ:There seems to be a version mismatch between MHX and blender]]
* [[FAQ:I am using the ubuntu/debian version of MakeHuman and...]]
* [[FAQ:MakeHuman fails to start in windows, nothing seems to happen when I click the exe]]
4f236a768f291271de0ae3bcbd2fd15ea1bf46ef
47
2015-07-04T11:12:51Z
Joepal2
11
Created page with "This page lists frequently asked questions. == General / unsorted == * [[FAQ:What is MakeHuman?]] * [[FAQ:What is the prefered method for contacting the MakeHuman crew?]] *..."
wikitext
text/x-wiki
This page lists frequently asked questions.
== General / unsorted ==
* [[FAQ:What is MakeHuman?]]
* [[FAQ:What is the prefered method for contacting the MakeHuman crew?]]
* [[FAQ:Is there an IRC channel?]]
* [[FAQ:How much does MakeHuman cost?]]
* [[FAQ:Why quadrilaterals?]]
* [[FAQ:Where is the MHX export in MH 1.1.x and later?]]
* [[FAQ:Why there is not perspective?]]
== Terminology ==
* [[FAQ:What is a nightly build?]]
* [[FAQ:What is Open Source?]]
* [[FAQ:What is a target?]]
* [[FAQ:What is the meaning of the numbers in MakeHuman release?]]
* [[FAQ:What is a proxy?]]
== Installation ==
* [[FAQ:Where can I download MakeHuman?]]
* [[FAQ:I'm using ubuntu. Is there a PPA?]]
* [[FAQ:Which version of MakeHuman should I download?]]
* [[FAQ:Where are my MakeHuman files found (where is my HOME directory)?]]
* [[FAQ:Where can I unzip MakeHuman?]]
* [[FAQ:How can I build MakeHuman from source?]]
== Legal questions ==
* [[FAQ:Can I sell models created with MakeHuman?]]
* [[FAQ:Can I create a commercial closed source game with models generated by MakeHuman?]]
== Contributing ==
* [[FAQ:How do I submit a bug report?]]
* [[FAQ:How to provide a makehuman log for a good bug report?]]
* [[FAQ:I want to contribute code in a more structured manner. What is the recommended procedure?]]
* [[FAQ:I want an easy code task to get to learn the makehuman code. Where should I start?]]
* [[FAQ:I have made a code patch. Where do I send it?]]
* [[FAQ:I'm not a coder. How can I contribute?]]
* [[FAQ:I have made a skin/texture. How can I contribute it?]]
* [[FAQ:I have made a model in MakeHuman. How can I contribute it?]]
== Troubleshooting ==
* [[FAQ:Norton Antivirus reports WS.Reputation.1 in the nightly build. What gives?]]
* [[FAQ:MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]]
* [[FAQ:There seems to be a version mismatch between MHX and blender]]
* [[FAQ:I am using the ubuntu/debian version of MakeHuman and...]]
* [[FAQ:MakeHuman fails to start in windows, nothing seems to happen when I click the exe]]
4f236a768f291271de0ae3bcbd2fd15ea1bf46ef
FAQ:Is it ok to share NSFW content in the user contribution repos?
3002
523
1392
2017-05-30T12:03:58Z
Joepal
14
Created page with "In general yes, but read [[FAQ: What is the general policy towards NSFW content and discussions?]] for more details."
wikitext
text/x-wiki
In general yes, but read [[FAQ: What is the general policy towards NSFW content and discussions?]] for more details.
efd938f828ac5a78b460024a1fd8c716b57c9a32
FAQ:Is it ok to share NSFW imagery on the forums?
3002
522
1391
2017-05-30T12:02:28Z
Joepal
14
Created page with "In general yes, as long as it is on topic and not an obvious attempt at trolling. See also [[FAQ: What is the general policy towards NSFW content and discussions?]]"
wikitext
text/x-wiki
In general yes, as long as it is on topic and not an obvious attempt at trolling.
See also [[FAQ: What is the general policy towards NSFW content and discussions?]]
8207c73e08d68bf9015a876b12bb20cc726bad69
FAQ:Is there a mac build?
3002
581
1962
1849
2020-12-27T15:20:14Z
Joepal
14
wikitext
text/x-wiki
Yes, see http://www.makehumancommunity.org/wiki/Releases:120mac
There is also an old mac build for 1.1.1, available for download via the [http://www.makehumancommunity.org/content/downloads.html download page]. This should compatible with older releases of OSX.
It is also possible run from source on mac (see instructions in https://github.com/makehumancommunity/makehuman/blob/master/README.md), through using largely the same approach as on Windows.
e9f1f4f5fd0284b4221142e707271ca0f1cd170e
1849
1618
2020-07-27T15:34:40Z
Joepal
14
wikitext
text/x-wiki
There is an old mac build for 1.1.1, available for download via the [http://www.makehumancommunity.org/content/downloads.html download page]. This is compatible with at least older releases of OSX.
There is no build available for the latest/current MakeHuman code (ie 1.2.x). This is because we currently have no active mac developer and thus no-one around to build, maintain and give support for mac releases.
It is possible that the current code runs from source on mac (see instructions in https://github.com/makehumancommunity/makehuman/blob/master/README.md), through using largely the same approach as on Windows. However, this is not tested.
== Do you want to become maintainer for a mac build? ==
If you have a mac, the skills required for producing a distributable binary package, and are interested in maintaining a mac build, contact us on the forums.
1f06f90742ed45c72a27902591859fc8e379004c
1618
2019-11-03T13:31:41Z
Joepal
14
Created page with "There is an old mac build for 1.1.1, available for download via the [http://www.makehumancommunity.org/content/downloads.html download page]. This is compatible with at least..."
wikitext
text/x-wiki
There is an old mac build for 1.1.1, available for download via the [http://www.makehumancommunity.org/content/downloads.html download page]. This is compatible with at least older releases of OSX.
There is no build available for the latest/current MakeHuman code (ie 1.2.x). This is because we currently have no active mac developer and thus no-one around to build, maintain and give support for mac releases.
It is possible that the current code runs from source on mac (see [[FAQ: How can I run the same code as the nightly build from source?]]), through using largely the same approach as on Linux. However, this is not tested.
== Do you want to become maintainer for a mac build? ==
If you have a mac, the skills required for producing a distributable binary package, and are interested in maintaining a mac build, contact us on the forums.
3c0978ac97ddafeb276e268f23cac61bc6b2fad6
FAQ:Is there an IRC channel?
3002
23
660
79
2016-05-14T08:33:02Z
Joepal
14
wikitext
text/x-wiki
Yes, there is a #makehuman on freenode, but it has recently fallen into some disuse. There are rarely any official devs there.
Use the forums if you need support.
5d34fb63c6e29b373e7b44f1be967bbc733859bf
79
2015-07-09T11:25:49Z
Joepal
14
Created page with "Yes, there is a #makehuman on freenode."
wikitext
text/x-wiki
Yes, there is a #makehuman on freenode.
dc2f6c36c7f85a14a3cfa47d631abc4476660981
FAQ:MakeHuman does not start
3002
574
1862
1632
2020-09-07T10:12:00Z
Joepal
14
wikitext
text/x-wiki
See also [[FAQ: I have a problem with makehuman. How do I report it?]].
There are multiple reasons why MakeHuman does not start, and without some background information it is impossible to tell you what's wrong.
In order to be able to give any kind of sensible answer, we will need to know:
* What does the log say? See [[FAQ: How to provide a makehuman log for a good bug report?]]
* What graphics card are you using?
* If you have a laptop with dual graphics cards, are you sure that you are using the 3d-enabled one?
* What operating system are you using? Preferably including details about if it's 32 or 64 bit, what the system language is, exactly what OS version it is and so on.
* What version of makehuman did you download?
== It worked before / old settings ==
If you have been able to start a prior version of MH on the same machine, but a newer version does not start, something might be corrupt or incompatible in the user directory. Try deleting the DOCUMENTS/makehuman/v1py3 directory before launching MH.
See [[FAQ: Where are my MakeHuman files found (where is my HOME directory)?]] for info on how to find this directory.
== Graphics card issues ==
The by far most common reason for MakeHuman silently failing during startup is a graphics card incompatibility. If you have an integrated intel graphics card for example, this is where we'd start looking.
At the point of writing this, we have implemented several measures for avoiding these crashes, but they have not yet made it into a build. The fixes are specifically not included in 1.2.0 alpha 3.
It is ''possible'' your problem is solved already, but to test this your only option is currently to run from source, see [[FAQ: How can I run the same code as the nightly build from source?]]. The other option is to wait for the next build to be released.
Another source of problems regarding graphics cards is when you try to start MakeHuman on a laptop with dual graphics cards. In this case, MH might get confused and pick settings for one card while in fact trying to run on the other. Usually, you can in these cases force MH to run on a specific graphics card. In later makehuman releases (1.2.0+) on windows, you will have to tell your laptop to run "pythonw.exe" on the discrete graphics card. In most cases this file will be inside c:\users\YOUR-USER-NAME\appdata\local\makehuman-community\python.
61015754c4938a1b9a0b489455c0020fc9367c7e
1632
1631
2020-01-01T15:56:05Z
Joepal
14
wikitext
text/x-wiki
See also [[FAQ: I have a problem with makehuman. How do I report it?]].
There are multiple reasons why MakeHuman does not start, and without some background information it is impossible to tell you what's wrong.
In order to be able to give any kind of sensible answer, we will need to know:
* What does the log say? See [[FAQ: How to provide a makehuman log for a good bug report?]]
* What graphics card are you using?
* If you have a laptop with dual graphics cards, are you sure that you are using the 3d-enabled one?
* What operating system are you using? Preferably including details about if it's 32 or 64 bit, what the system language is, exactly what OS version it is and so on.
* What version of makehuman did you download?
== Graphics card issues ==
The by far most common reason for MakeHuman silently failing during startup is a graphics card incompatibility. If you have an integrated intel graphics card for example, this is where we'd start looking.
At the point of writing this, we have implemented several measures for avoiding these crashes, but they have not yet made it into a build. The fixes are specifically not included in 1.2.0 alpha 3.
It is ''possible'' your problem is solved already, but to test this your only option is currently to run from source, see [[FAQ: How can I run the same code as the nightly build from source?]]. The other option is to wait for the next build to be released.
Another source of problems regarding graphics cards is when you try to start MakeHuman on a laptop with dual graphics cards. In this case, MH might get confused and pick settings for one card while in fact trying to run on the other. Usually, you can in these cases force MH to run on a specific graphics card. In later makehuman releases (1.2.0+) on windows, you will have to tell your laptop to run "pythonw.exe" on the discrete graphics card. In most cases this file will be inside c:\users\YOUR-USER-NAME\appdata\local\makehuman-community\python.
d3834a4daa3565db1143b6a1c45a60c67f7933ef
1631
1601
2020-01-01T15:54:33Z
Joepal
14
wikitext
text/x-wiki
See also [[FAQ: I have a problem with makehuman. How do I report it?]].
There are multiple reasons why MakeHuman does not start, and without some background information it is impossible to tell you what's wrong.
In order to be able to give any kind of sensible answer, we will need to know:
* What does the log say? See [[FAQ: How to provide a makehuman log for a good bug report?]]
* What graphics card are you using?
* If you have a laptop with dual graphics cards, are you sure that you are using the 3d-enabled one?
* What operating system are you using? Preferably including details about if it's 32 or 64 bit, what the system language is, exactly what OS version it is and so on.
* What version of makehuman did you download?
== Graphics card issues ==
The by far most common reason for MakeHuman silently failing during startup is a graphics card incompatibility. If you have an integrated intel graphics card for example, this is where we'd start looking.
At the point of writing this, we have implemented several measures for avoiding these crashes, but they have not yet made it into a build. The fixes are specifically not included in 1.2.0 alpha 3.
It is ''possible'' your problem is solved already, but to test this your only option is currently to run from source, see [[FAQ: How can I run the same code as the nightly build from source?]]. The other option is to wait for the next build to be released.
Another source of problems regarding graphics cards is when you try to start MakeHuman on a laptop with dual graphics cards. In this case, MH might get confused and pick settings for one card while in fact trying to run on the other. Usually, you can in these cases force MH to run on a specific graphics card. In later makehuman releases (1.2.0+) on windows, you will have to tell your laptop to run "pythonw.exe" on the discrete graphics card.
a54561a01694640b5db2e75302ee19c2d216bd34
1601
1600
2019-09-15T15:53:00Z
Joepal
14
wikitext
text/x-wiki
See also [[FAQ: I have a problem with makehuman. How do I report it?]].
There are multiple reasons why MakeHuman does not start, and without some background information it is impossible to tell you what's wrong.
In order to be able to give any kind of sensible answer, we will need to know:
* What does the log say? See [[FAQ: How to provide a makehuman log for a good bug report?]]
* What graphics card are you using?
* If you have a laptop with dual graphics cards, are you sure that you are using the 3d-enabled one?
* What operating system are you using? Preferably including details about if it's 32 or 64 bit, what the system language is, exactly what OS version it is and so on.
* What version of makehuman did you download?
== Graphics card issues ==
The by far most common reason for MakeHuman silently failing during startup is a graphics card incompatibility. If you have an integrated intel graphics card for example, this is where we'd start looking.
At the point of writing this, we have implemented several measures for avoiding these crashes, but they have not yet made it into a build. The fixes are specifically not included in 1.2.0 alpha 3.
It is ''possible'' your problem is solved already, but to test this your only option is currently to run from source, see [[FAQ: How can I run the same code as the nightly build from source?]]. The other option is to wait for the next build to be released.
Another source of problems regarding graphics cards is when you try to start MakeHuman on a laptop with dual graphics cards. In this case, MH might get confused and pick settings for one card while in fact trying to run on the other. Usually, you can in these cases force MH to run on a specific graphics card.
a6a6b4038fc4fd1f8aeaf18bbd45e65020f962fb
1600
2019-09-15T15:48:42Z
Joepal
14
Created page with "See also [[FAQ: I have a problem with makehuman. How do I report it?]]. There are multiple reasons why MakeHuman does not start, and without some background information it is..."
wikitext
text/x-wiki
See also [[FAQ: I have a problem with makehuman. How do I report it?]].
There are multiple reasons why MakeHuman does not start, and without some background information it is impossible to tell you what's wrong.
In order to be able to give any kind of sensible answer, we will need to know:
* What does the log say? See [[FAQ: How to provide a makehuman log for a good bug report?]]
* What graphics card are you using?
* What operating system are you using? Preferably including details about if it's 32 or 64 bit, what the system language is, exactly what OS version it is and so on.
* What version of makehuman did you download?
== Graphics card issues ==
The by far most common reason for MakeHuman silently failing during startup is a graphics card incompatibility. If you have an integrated intel graphics card for example, this is where we'd start looking.
At the point of writing this, we have implemented several measures for avoiding these crashes, but they have not yet made it into a build. The fixes are specifically not included in 1.2.0 alpha 3.
It is ''possible'' your problem is solved already, but to test this your only option is currently to run from source, see [[FAQ: How can I run the same code as the nightly build from source?]]. The other option is to wait for the next build to be released.
43f4f35de58541c3d75173e12e397dd34a3c06f0
FAQ:MakeHuman fails to start in windows, nothing seems to happen when I click the exe
3002
47
1218
1217
2016-11-11T10:14:15Z
Joepal
14
wikitext
text/x-wiki
== For any version ==
The number one reason for this is a user error: you double-clicked the zip file (without extracting it) and then double-clicked the .exe file ''inside the zip''. This will not work. You need to first extract
the zip file to a directory and then click the .exe file there.
However, if this is not what happened, read on for other possible explanations.
== For nightly builds and 1.1.0 ==
In more cases than not, this is a crash in your graphics card drivers rather than in MakeHuman as such. It is caused by a faulty or old implementation of OpenGL, something which is particularly
common in integrated Intel graphics cards. You can try to upgrade the graphics card drivers to see if it helps.
Another possible remedy is running MakeHuman with the --noshaders switch. See [[FAQ:MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]].
In order to make sure that it is the indeed the graphics card that is causing the problem, look in your log (see [[FAQ:How to provide a makehuman log for a good bug report?]]). If the log file
is only a few lines long rather than a screen page or more, but there is no particular error message at the end, then it is most likely the graphics card driver that crashed.
Unfortunately, there is not a whole lot MakeHuman can do about faulty graphics card drivers.
'''Alternative explanations'''
Other possible reasons for this and similar problems may include:
* Your antivirus quarantined a particular library in the downloaded zip. We've got reports that norton antivirus dislikes numpy for example. If this happens, random consequences ensue. To solve this, you should whitelist the makehuman directory and/or files belonging to makehuman.
* You have a very odd character encoding in your system and an uninterpretable character in the pathname. We ''think'' we have fixed most of these issues, but to test if this is indeed the problem, try putting makehuman in a path with only ASCII (a-z) characters, such as c:\makehuman. Unfortunately this problem will also arise if the user has odd characters in the username, since that is included in the path for where MakeHuman stores it user files. Per October 2016, there is a new build which solves most of these problems. So if you think this is what causes the crash, try downloading a zip file called makehuman-stable-XXXXXX-win32.zip from http://download.tuxfamily.org/makehuman/nightly/
'''Reporting the problem and asking for support'''
If you are not able to solve the problem, report it on the [http://www.makehumancommunity.org/forum/ forum] but be sure to follow the instructions in [[FAQ:How to provide a makehuman log for a good bug report?]] in order to provide enough info.
== For version 1.0.2 and earlier ==
Under the following conditions:
# You are using any version of windows
# You have downloaded a zip file containing the release build 1.0.2 or earlier (ie, not a nightly build).
# You have previously installed python
# Other factors as yet unidentified (by seemingly more rare going forward)
... MakeHuman will crash before anything appears on screen. The reason is that there is a bundled python inside the build zips, but unfortunately a system-wide installation can, under certain circumstances, get detected first. This makes python look in the wrong place for DLLs etc, which causes the exe for the build to silently crash.
There are several alternative work-arounds proposed for this. However, the simplest solution is the first one.
# Upgrade to 1.1.0. The problem is fixed in that branch since years back.
# Temporarily rename your python directory to something other than its directory path in your path statement.
# Uninstall the existing python from the machine (fairly extreme).
# Run source checkouts from bitbucket instead. In this case you must have python installed on the machine.
ea3a33b347f8387619b4e84032e281ca708683a5
1217
1216
2016-11-11T10:11:38Z
Joepal
14
wikitext
text/x-wiki
== For any version ==
The number one reason for this is a user error: you double-clicked the zip file (without extracting it) and then double-clicked the .exe file ''inside the zip''. This will not work. You need to first extract
the zip file to a directory and then click the .exe file there.
However, if this is not what happened, read on for other possible explanations.
== For nightly builds and 1.1.0 ==
In more cases than not, this is a crash in your graphics card drivers rather than in MakeHuman as such. It is caused by a faulty or old implementation of OpenGL, something which is particularly
common in integrated Intel graphics cards. You can try to upgrade the graphics card drivers to see if it helps.
Another possible remedy is running MakeHuman with the --noshaders switch. See [[FAQ:MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]].
In order to make sure that it is the indeed the graphics card that is causing the problem, look in your log (see [[FAQ:How to provide a makehuman log for a good bug report?]]). If the log file
is only a few lines long rather than a screen page or more, but there is no particular error message at the end, then it is most likely the graphics card driver that crashed.
Unfortunately, there is not a whole lot MakeHuman can do about faulty graphics card drivers.
'''Alternative explanations'''
Other possible reasons for this and similar problems may include:
* Your antivirus quarantined a particular library in the downloaded zip. We've got reports that norton antivirus dislikes numpy for example. If this happens, random consequences ensue. To solve this, you should whitelist the makehuman directory and/or files belonging to makehuman.
* You have a very odd character encoding in your system and an uninterpretable character in the pathname. We ''think'' we have fixed most of these issues, but to test if this is indeed the problem, try putting makehuman in a path with only ASCII (a-z) characters, such as c:\makehuman. Unfortunately this problem will also arise if the user has odd characters in the username, since that is included in the path for where MakeHuman stores it user files.
'''Reporting the problem and asking for support'''
If you are not able to solve the problem, report it on the [http://www.makehumancommunity.org/forum/ forum] but be sure to follow the instructions in [[FAQ:How to provide a makehuman log for a good bug report?]] in order to provide enough info.
== For version 1.0.2 and earlier ==
Under the following conditions:
# You are using any version of windows
# You have downloaded a zip file containing the release build 1.0.2 or earlier (ie, not a nightly build).
# You have previously installed python
# Other factors as yet unidentified (by seemingly more rare going forward)
... MakeHuman will crash before anything appears on screen. The reason is that there is a bundled python inside the build zips, but unfortunately a system-wide installation can, under certain circumstances, get detected first. This makes python look in the wrong place for DLLs etc, which causes the exe for the build to silently crash.
There are several alternative work-arounds proposed for this. However, the simplest solution is the first one.
# Upgrade to 1.1.0. The problem is fixed in that branch since years back.
# Temporarily rename your python directory to something other than its directory path in your path statement.
# Uninstall the existing python from the machine (fairly extreme).
# Run source checkouts from bitbucket instead. In this case you must have python installed on the machine.
0683560f4e807d18ede3d2226c45ba17db233d96
1216
1215
2016-11-11T10:10:35Z
Joepal
14
wikitext
text/x-wiki
== For any version ==
The number one reason for this is a user error: you double-clicked the zip file (without extracting it) and then double-clicked the .exe file ''inside the zip''. This will not work. You need to first extract
the zip file to a directory and then click the .exe file there.
However, if this is not what happened, read on for other possible explanations.
== For nightly builds and 1.1.0 ==
In more cases than not, this is a crash in your graphics card drivers rather than in MakeHuman as such. It is caused by a faulty or old implementation of OpenGL, something which is particularly
common in integrated Intel graphics cards. You can try to upgrade the graphics card drivers to see if it helps.
Another possible remedy is running MakeHuman with the --noshaders switch. See [[FAQ:MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]].
In order to make sure that it is the indeed the graphics card that is causing the problem, look in your log (see [[FAQ:How to provide a makehuman log for a good bug report?]]). If the log file
is only a few lines long rather than a screen page or more, but there is no particular error message at the end, then it is most likely the graphics card driver that crashed.
Unfortunately, there is not a whole lot MakeHuman can do about faulty graphics card drivers.
'''Alternative explanations'''
Other possible reasons for this and similar problems may include:
* Your antivirus quarantined a particular library in the downloaded zip. We've got reports that norton antivirus dislikes numpy for example. If this happens, random consequences ensue. To solve this, you should whitelist the makehuman directory and/or files belonging to makehuman.
* You have a very odd character encoding in your system and an uninterpretable character in the pathname. We ''think'' we have fixed most of these issues, but to test if this is indeed the problem, try putting makehuman in a path with only ASCII (a-z) characters, such as c:\makehuman. Unfortunately this includes the user name, since that is included in the path for where MakeHuman stores it user files.
'''Reporting the problem and asking for support'''
If you are not able to solve the problem, report it on the [http://www.makehumancommunity.org/forum/ forum] but be sure to follow the instructions in [[FAQ:How to provide a makehuman log for a good bug report?]] in order to provide enough info.
== For version 1.0.2 and earlier ==
Under the following conditions:
# You are using any version of windows
# You have downloaded a zip file containing the release build 1.0.2 or earlier (ie, not a nightly build).
# You have previously installed python
# Other factors as yet unidentified (by seemingly more rare going forward)
... MakeHuman will crash before anything appears on screen. The reason is that there is a bundled python inside the build zips, but unfortunately a system-wide installation can, under certain circumstances, get detected first. This makes python look in the wrong place for DLLs etc, which causes the exe for the build to silently crash.
There are several alternative work-arounds proposed for this. However, the simplest solution is the first one.
# Upgrade to 1.1.0. The problem is fixed in that branch since years back.
# Temporarily rename your python directory to something other than its directory path in your path statement.
# Uninstall the existing python from the machine (fairly extreme).
# Run source checkouts from bitbucket instead. In this case you must have python installed on the machine.
0ccf0aecd8833ce7aa1650590f343a0b7cc79943
1215
673
2016-11-11T10:08:55Z
Joepal
14
wikitext
text/x-wiki
== For any version ==
The number one reason for this is a user error: you double-clicked the zip file (without extracting it) and then double-clicked the .exe file ''inside the zip''. This will not work. You need to first extract
the zip file to a directory and then click the .exe file there.
However, if this is not what happened, read on for other possible explanations.
== For nightly builds and 1.1.0 ==
In more cases than not, this is a crash in your graphics card drivers rather than in MakeHuman as such. It is caused by a faulty or old implementation of OpenGL, something which is particularly
common in integrated Intel graphics cards. You can try to upgrade the graphics card drivers to see if it helps.
Another possible remedy is running MakeHuman with the --noshaders switch. See [[FAQ:MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]].
In order to make sure that it is the indeed the graphics card that is causing the problem, look in your log (see [[FAQ:How to provide a makehuman log for a good bug report?]]). If the log file
is only a few lines long rather than a screen page or more, but there is no particular error message at the end, then it is most likely the graphics card driver that crashed.
Unfortunately, there is not a whole lot MakeHuman can do about faulty graphics card drivers.
'''Alternative explanations'''
Other possible reasons for this and similar problems may include:
* Your antivirus quarantined a particular library in the downloaded zip. We've got reports that norton antivirus dislikes numpy for example. If this happens, random consequences ensue.
* You have a very odd character encoding in your system and an uninterpretable character in the pathname. We ''think'' we have fixed most of these issues, but to test if this is indeed the problem, try putting makehuman in a path with only ASCII (a-z) characters, such as c:\makehuman. Unfortunately this includes the user name, since that is included in the path for where MakeHuman stores it user files.
'''Reporting the problem and asking for support'''
If you are not able to solve the problem, report it on the [http://www.makehumancommunity.org/forum/ forum] but be sure to follow the instructions in [[FAQ:How to provide a makehuman log for a good bug report?]] in order to provide enough info.
== For version 1.0.2 and earlier ==
Under the following conditions:
# You are using any version of windows
# You have downloaded a zip file containing the release build 1.0.2 or earlier (ie, not a nightly build).
# You have previously installed python
# Other factors as yet unidentified (by seemingly more rare going forward)
... MakeHuman will crash before anything appears on screen. The reason is that there is a bundled python inside the build zips, but unfortunately a system-wide installation can, under certain circumstances, get detected first. This makes python look in the wrong place for DLLs etc, which causes the exe for the build to silently crash.
There are several alternative work-arounds proposed for this. However, the simplest solution is the first one.
# Upgrade to 1.1.0. The problem is fixed in that branch since years back.
# Temporarily rename your python directory to something other than its directory path in your path statement.
# Uninstall the existing python from the machine (fairly extreme).
# Run source checkouts from bitbucket instead. In this case you must have python installed on the machine.
c24ed7765933904125e01f18c48e1a0feec90d56
673
672
2016-05-20T07:44:07Z
Joepal
14
wikitext
text/x-wiki
== For nightly builds and 1.1.0 ==
In more cases than not, this is a crash in your graphics card drivers rather than in MakeHuman as such. It is caused by a faulty or old implementation of OpenGL, something which is particularly
common in integrated Intel graphics cards. You can try to upgrade the graphics card drivers to see if it helps.
Another possible remedy is running MakeHuman with the --noshaders switch. See [[FAQ:MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]].
In order to make sure that it is the indeed the graphics card that is causing the problem, look in your log (see [[FAQ:How to provide a makehuman log for a good bug report?]]). If the log file
is only a few lines long rather than a screen page or more, but there is no particular error message at the end, then it is most likely the graphics card driver that crashed.
Unfortunately, there is not a whole lot MakeHuman can do about faulty graphics card drivers.
'''Alternative explanations'''
Other possible reasons for this and similar problems may include:
* Your antivirus quarantined a particular library in the downloaded zip. We've got reports that norton antivirus dislikes numpy for example. If this happens, random consequences ensue.
* You have a very odd character encoding in your system and an uninterpretable character in the pathname. We ''think'' we have fixed most of these issues, but to test if this is indeed the problem, try putting makehuman in a path with only ASCII (a-z) characters, such as c:\makehuman.
'''Reporting the problem and asking for support'''
If you are not able to solve the problem, report it on the [http://www.makehumancommunity.org/forum/ forum] but be sure to follow the instructions in [[FAQ:How to provide a makehuman log for a good bug report?]] in order to provide enough info.
== For version 1.0.2 and earlier ==
Under the following conditions:
# You are using any version of windows
# You have downloaded a zip file containing the release build 1.0.2 or earlier (ie, not a nightly build).
# You have previously installed python
# Other factors as yet unidentified (by seemingly more rare going forward)
... MakeHuman will crash before anything appears on screen. The reason is that there is a bundled python inside the build zips, but unfortunately a system-wide installation can, under certain circumstances, get detected first. This makes python look in the wrong place for DLLs etc, which causes the exe for the build to silently crash.
There are several alternative work-arounds proposed for this. However, the simplest solution is the first one.
# Upgrade to 1.1.0. The problem is fixed in that branch since years back.
# Temporarily rename your python directory to something other than its directory path in your path statement.
# Uninstall the existing python from the machine (fairly extreme).
# Run source checkouts from bitbucket instead. In this case you must have python installed on the machine.
1d1a1d2174ce225563b1a118c999cb26056dced5
672
671
2016-05-20T07:40:30Z
Joepal
14
wikitext
text/x-wiki
== For nightly builds and 1.1.0 ==
In more cases than not, this is a crash in your graphics card drivers rather than in MakeHuman as such. It is caused by a faulty or old implementation of OpenGL, something which is particularly
common in integrated Intel graphics cards. You can try to upgrade the graphics card drivers to see if it helps.
Another possible remedy is running MakeHuman with the --noshaders switch. See [[FAQ:MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]].
In order to make sure that it is the indeed the graphics card that is causing the problem, look in your log (see [[FAQ:How to provide a makehuman log for a good bug report?]]). If the log file
is only a few lines long rather than a screen page or more, but there is no particular error message at the end, then it is most likely the graphics card driver that crashed.
Unfortunately, there is not a whole lot MakeHuman can do about faulty graphics card drivers.
'''Alternative explanations'''
Other possible reasons for this and similar problems may include:
* Your antivirus quarantined a particular library in the downloaded zip. We've got reports that norton antivirus dislikes numpy for example. If this happens, random consequences ensue.
* You have a very odd character encoding in your system and an uninterpretable character in the pathname. We ''think'' we have fixed most of these issues, but to test if this is indeed the problem, try putting makehuman in a path with only ASCII (a-z) characters, such as c:\makehuman.
'''Reporting the problem and asking for support'''
If you are not able to solve the problem, report it on the forum but be sure to follow the instructions in [[FAQ:How to provide a makehuman log for a good bug report?]] in order to provide enough info.
== For version 1.0.2 and earlier ==
Under the following conditions:
# You are using any version of windows
# You have downloaded a zip file containing the release build 1.0.2 or earlier (ie, not a nightly build).
# You have previously installed python
# Other factors as yet unidentified (by seemingly more rare going forward)
... MakeHuman will crash before anything appears on screen. The reason is that there is a bundled python inside the build zips, but unfortunately a system-wide installation can, under certain circumstances, get detected first. This makes python look in the wrong place for DLLs etc, which causes the exe for the build to silently crash.
There are several alternative work-arounds proposed for this. However, the simplest solution is the first one.
# Upgrade to 1.1.0. The problem is fixed in that branch since years back.
# Temporarily rename your python directory to something other than its directory path in your path statement.
# Uninstall the existing python from the machine (fairly extreme).
# Run source checkouts from bitbucket instead. In this case you must have python installed on the machine.
084455178ee701924dc0a2724536710dbafa7099
671
670
2016-05-20T07:39:17Z
Joepal
14
wikitext
text/x-wiki
== For nightly builds and 1.1.0 ==
In more cases than not, this is a crash in your graphics card drivers rather than in MakeHuman as such. It is caused by a faulty or old implementation of OpenGL, something which is particularly
common in integrated Intel graphics cards. You can try to upgrade the graphics card drivers to see if it helps.
Another possible remedy is running MakeHuman with the --noshaders switch. See [[FAQ:MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]].
In order to make sure that it is the indeed the graphics card that is causing the problem, look in your log (see [[FAQ:How to provide a makehuman log for a good bug report?]]). If the log file
is only a few lines long rather than a screen page or more, but there is no particular error message at the end, then it is most likely the graphics card driver that crashed.
Unfortunately, there is not a whole lot MakeHuman can do about faulty graphics card drivers.
'''Alternative explanations'''
Other possible reasons for this and similar problems may include:
* Your antivirus quarantined a particular library in the downloaded zip. We've got reports that norton antivirus dislikes numpy for example. If this happens, random consequences ensue.
* You have a very odd character encoding in your system and an uninterpretable character in the pathname. We ''think'' we have fixed most of these issues, but to test if this is indeed the problem, try putting makehuman in a path with only ASCII (a-z) characters, such as c:\makehuman.
== For version 1.0.2 and earlier ==
Under the following conditions:
# You are using any version of windows
# You have downloaded a zip file containing the release build 1.0.2 or earlier (ie, not a nightly build).
# You have previously installed python
# Other factors as yet unidentified (by seemingly more rare going forward)
... MakeHuman will crash before anything appears on screen. The reason is that there is a bundled python inside the build zips, but unfortunately a system-wide installation can, under certain circumstances, get detected first. This makes python look in the wrong place for DLLs etc, which causes the exe for the build to silently crash.
There are several alternative work-arounds proposed for this. However, the simplest solution is the first one.
# Upgrade to 1.1.0. The problem is fixed in that branch since years back.
# Temporarily rename your python directory to something other than its directory path in your path statement.
# Uninstall the existing python from the machine (fairly extreme).
# Run source checkouts from bitbucket instead. In this case you must have python installed on the machine.
0b11ad5b5ff8edb733f30ac19f047f9e2db34660
670
669
2016-05-17T18:02:47Z
Joepal
14
wikitext
text/x-wiki
== For nightly builds and 1.1.0 ==
In more cases than not, this is a crash in your graphics card drivers rather than in MakeHuman as such. It is caused by a faulty or old implementation of OpenGL, something which is particularly
common in integrated Intel graphics cards. You can try to upgrade the graphics card drivers to see if it helps.
Another possible remedy is running MakeHuman with the --noshaders switch. See [[FAQ:MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]].
In order to make sure that it is the indeed the graphics card that is causing the problem, look in your log (see [[FAQ:How to provide a makehuman log for a good bug report?]]). If the log file
is only a few lines long rather than a screen page or more, but there is no particular error message at the end, then it is most likely the graphics card driver that crashed.
Unfortunately, there is not a whole lot MakeHuman can do about faulty graphics card drivers.
== For version 1.0.2 and earlier ==
Under the following conditions:
# You are using any version of windows
# You have downloaded a zip file containing the release build 1.0.2 or earlier (ie, not a nightly build).
# You have previously installed python
# Other factors as yet unidentified (by seemingly more rare going forward)
... MakeHuman will crash before anything appears on screen. The reason is that there is a bundled python inside the build zips, but unfortunately a system-wide installation can, under certain circumstances, get detected first. This makes python look in the wrong place for DLLs etc, which causes the exe for the build to silently crash.
There are several alternative work-arounds proposed for this. However, the simplest solution is the first one.
# Upgrade to 1.1.0. The problem is fixed in that branch since years back.
# Temporarily rename your python directory to something other than its directory path in your path statement.
# Uninstall the existing python from the machine (fairly extreme).
# Run source checkouts from bitbucket instead. In this case you must have python installed on the machine.
eca48588f72e18306e9fdda8715e188d0ab59800
669
668
2016-05-17T18:01:33Z
Joepal
14
wikitext
text/x-wiki
== For nightly builds and 1.1.0 ==
In more cases than not, this is a crash in your graphics card drivers rather than in MakeHuman as such. It is caused by a faulty or old implementation of OpenGL, something which is particularly
common in integrated Intel graphics cards. You can try to upgrade the graphics card drivers to see if it helps.
Another possible remedy is running MakeHuman with the --noshaders switch. See [[FAQ:MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]].
In order to make sure that it is the indeed the graphics card that is causing the problem, look in your log (see [[FAQ:How to provide a makehuman log for a good bug report?]]). If the log file
is only a few lines long rather than a screen page or more, but there is no particular error message at the end, then it is most likely the graphics card driver that crashed.
Unfortunately, there is not a whole lot MakeHuman can do about faulty graphics card drivers.
== For version 1.0.2 and earlier ==
Under the following conditions:
# You are using any version of windows
# You have downloaded a zip file containing the release build 1.0.2 or earlier (ie, not a nightly build).
# You have previously installed python
# Other factors as yet unidentified (by seemingly more rare going forward)
... MakeHuman will crash before anything appears on screen. The reason is that there is a bundled python inside the build zips, but unfortunately a system-wide installation can, under certain circumstances, get detected first. This makes python look in the wrong place for DLLs etc, which causes the exe for the build to silently crash.
There are several alternative work-arounds proposed for this. However, the simplest solution is the first one.
# Use the nightly build instead. The problem is fixed since a while back in this.
# Temporarily rename your python directory to something other than its directory path in your path statement.
# Uninstall the existing python from the machine (fairly extreme).
# Run source checkouts from bitbucket instead. In this case you must have python installed on the machine.
a30c7505d19e524cd2ea09a7b97bea3d1ee1cbe5
668
667
2016-05-17T17:59:15Z
Joepal
14
wikitext
text/x-wiki
== For nightly builds and 1.1.0 ==
In more cases than not, this is a crash in your graphics card drivers rather than in MakeHuman as such. It is caused by a faulty or old implementation of OpenGL, something which is particularly
common in integrated Intel graphics cards. You can try to upgrade the graphics card drivers to see if it helps.
Another possible remedy is running MakeHuman with the --noshaders switch. See [[FAQ:MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]].
In order to make sure that it is the indeed the graphics card that is causing the problem, look in your log (see [[FAQ:How to provide a makehuman log for a good bug report?]]). If the log file
is only a few lines long rather than a screen page or more, but there is no particular error message at the end, then it is most likely the graphics card driver that crashed.
Unfortunately, there is not a whole lot MakeHuman can do about fault graphics card drivers.
== For version 1.0.2 and earlier ==
Under the following conditions:
# You are using any version of windows
# You have downloaded a zip file containing the release build 1.0.2 or earlier (ie, not a nightly build).
# You have previously installed python
# Other factors as yet unidentified (by seemingly more rare going forward)
... MakeHuman will crash before anything appears on screen. The reason is that there is a bundled python inside the build zips, but unfortunately a system-wide installation can, under certain circumstances, get detected first. This makes python look in the wrong place for DLLs etc, which causes the exe for the build to silently crash.
There are several alternative work-arounds proposed for this. However, the simplest solution is the first one.
# Use the nightly build instead. The problem is fixed since a while back in this.
# Temporarily rename your python directory to something other than its directory path in your path statement.
# Uninstall the existing python from the machine (fairly extreme).
# Run source checkouts from bitbucket instead. In this case you must have python installed on the machine.
092ae3d799dcd728b3c2f106dab7c13ce577f996
667
666
2016-05-17T17:58:43Z
Joepal
14
wikitext
text/x-wiki
== For nightly builds and 1.1.0 ==
In more cases than not, this is a crash in your graphics card drivers rather than in MakeHuman as such. It is caused by a faulty or old implementation of OpenGL, something which is particularly
common in integrated Intel graphics cards. You can try to upgrade the graphics card drivers to see if it helps.
Another possible is running MakeHuman with the --noshaders switch. See [[FAQ:MakeHuman renders odd colours and weird transparency artefacts. Can you help me?]].
In order to make sure that it is the indeed the graphics card that is causing the problem, look in your log (see [[FAQ:How to provide a makehuman log for a good bug report?]]). If the log file
is only a few lines long rather than a screen page or more, but there is no particular error message at the end, then it is most likely the graphics card driver that crashed.
Unfortunately, there is not a whole lot MakeHuman can do about fault graphics card drivers.
== For version 1.0.2 and earlier ==
Under the following conditions:
# You are using any version of windows
# You have downloaded a zip file containing the release build 1.0.2 or earlier (ie, not a nightly build).
# You have previously installed python
# Other factors as yet unidentified (by seemingly more rare going forward)
... MakeHuman will crash before anything appears on screen. The reason is that there is a bundled python inside the build zips, but unfortunately a system-wide installation can, under certain circumstances, get detected first. This makes python look in the wrong place for DLLs etc, which causes the exe for the build to silently crash.
There are several alternative work-arounds proposed for this. However, the simplest solution is the first one.
# Use the nightly build instead. The problem is fixed since a while back in this.
# Temporarily rename your python directory to something other than its directory path in your path statement.
# Uninstall the existing python from the machine (fairly extreme).
# Run source checkouts from bitbucket instead. In this case you must have python installed on the machine.
8a9be92a2d8c73cfcbe561a7f8bdd790c3029696
666
110
2016-05-17T15:48:47Z
Joepal
14
wikitext
text/x-wiki
== For nightly builds and 1.1.0 ==
In more cases than not, this is a crash in your graphics card drivers rather than in MakeHuman as such. It is caused by a faulty or old implementation of OpenGL, something which is particularly
common in integrated Intel graphics cards. You can try to upgrade the graphics card drivers to see if it helps.
== For version 1.0.2 and earlier ==
Under the following conditions:
# You are using any version of windows
# You have downloaded a zip file containing the release build 1.0.2 or earlier (ie, not a nightly build).
# You have previously installed python
# Other factors as yet unidentified (by seemingly more rare going forward)
... MakeHuman will crash before anything appears on screen. The reason is that there is a bundled python inside the build zips, but unfortunately a system-wide installation can, under certain circumstances, get detected first. This makes python look in the wrong place for DLLs etc, which causes the exe for the build to silently crash.
There are several alternative work-arounds proposed for this. However, the simplest solution is the first one.
# Use the nightly build instead. The problem is fixed since a while back in this.
# Temporarily rename your python directory to something other than its directory path in your path statement.
# Uninstall the existing python from the machine (fairly extreme).
# Run source checkouts from bitbucket instead. In this case you must have python installed on the machine.
6f0c548a0cf01bd2bd3a61b5216dd97681ff5b19
110
2015-07-10T10:17:48Z
Joepal
14
Created page with "Under the following conditions: # You are using any version of windows # You have downloaded a zip file containing the release build 1.0.2 or earlier (ie, not a nightly build..."
wikitext
text/x-wiki
Under the following conditions:
# You are using any version of windows
# You have downloaded a zip file containing the release build 1.0.2 or earlier (ie, not a nightly build).
# You have previously installed python
# Other factors as yet unidentified (by seemingly more rare going forward)
... MakeHuman will crash before anything appears on screen. The reason is that there is a bundled python inside the build zips, but unfortunately a system-wide installation can, under certain circumstances, get detected first. This makes python look in the wrong place for DLLs etc, which causes the exe for the build to silently crash.
There are several alternative work-arounds proposed for this. However, the simplest solution is the first one.
# Use the nightly build instead. The problem is fixed since a while back in this.
# Temporarily rename your python directory to something other than its directory path in your path statement.
# Uninstall the existing python from the machine (fairly extreme).
# Run source checkouts from bitbucket instead. In this case you must have python installed on the machine.
bca070d888769fba34bc004d656cfb7610b3f4fc
FAQ:MakeHuman renders odd colours and weird transparency artefacts. Can you help me?
3002
21
1995
1822
2021-01-25T23:28:51Z
Hfugfn65438
108
depictions of opengl funnies
wikitext
text/x-wiki
[[File:Odd colours.png|thumb|Odd colours]]
[[File:Weird transparency.png|thumb|Weird transparency]]
First, see if the instructions here are of any help: [[FAQ: The interface looks broken]]
'''This page is only relevant for MH 1.1.x. If you experience the same problem with MH 1.2.x, please make a bug report and include the log file.'''
If you experience this problem and are still using MH 1.1.x, please consider testing MH 1.2.x to see if it solves your problem. MH 1.1 and 1.2 should be possible to run side by side on the same machine.
The problem is that your graphics card drivers doesn't agree with the somewhat quirky way MakeHuman uses OpenGL with shaders.
This is a common problem of many graphic cards from all common producer (AMD, Intel, NVIDIA). From Intel.com:
"OpenGL* is an API (Application Programming Interface) for 3D graphics that is used by many games. OpenGL enables hardware acceleration of 3D graphics, so support is required from the graphics drivers for optimum performance. The latest graphics drivers will usually provide the best compatibility with games that use OpenGL. Graphics drivers that come with Microsoft Windows or that are downloaded from Windows Update typically do not support OpenGL."
On possible solution is to check the vendor official site download and install latest graphics drivers for your card.
If all else fails, MakeHuman has a fallback mode that disables all shaders and takes you back to good old 2003 fixed function shading. To enable this, run makehuman with the following commandline option:
'''makehuman --noshaders'''
In windows, the easiest way to do this is to create a shortcut:
[[File:Noshaders1.png]]
And then edit it and add "--noshaders"
[[File:NoShaders2.png]]
192fef5ed068eee0da095cdc9f13b84662d843ba
1822
1798
2020-07-23T12:55:24Z
Joepal
14
wikitext
text/x-wiki
First, see if the instructions here are of any help: [[FAQ: The interface looks broken]]
'''This page is only relevant for MH 1.1.x. If you experience the same problem with MH 1.2.x, please make a bug report and include the log file.'''
If you experience this problem and are still using MH 1.1.x, please consider testing MH 1.2.x to see if it solves your problem. MH 1.1 and 1.2 should be possible to
run side by side on the same machine.
The problem is that your graphics card drivers doesn't agree with the somewhat quirky way MakeHuman uses OpenGL with shaders.
This is a common problem of many graphic cards from all common producer (AMD, Intel, NVIDIA). From Intel.com:
"OpenGL* is an API (Application Programming Interface) for 3D graphics that is used by many games. OpenGL enables hardware acceleration of 3D graphics, so support is required from the graphics drivers for optimum performance. The latest graphics drivers will usually provide the best compatibility with games that use OpenGL. Graphics drivers that come with Microsoft Windows or that are downloaded from Windows Update typically do not support OpenGL."
On possible solution is to check the vendor official site download and install latest graphics drivers for your card.
If all else fails, MakeHuman has a fallback mode that disables all shaders and takes you back to good old 2003 fixed function shading. To enable this, run makehuman with the following commandline option:
'''makehuman --noshaders'''
In windows, the easiest way to do this is to create a shortcut:
[[File:Noshaders1.png]]
And then edit it and add "--noshaders"
[[File:NoShaders2.png]]
c6a277cd0412381b7e75523ea2747f7f5db52b8c
1798
1797
2020-05-24T13:06:49Z
Joepal
14
wikitext
text/x-wiki
'''This page is only relevant for MH 1.1.x. If you experience the same problem with MH 1.2.x, please make a bug report and include the log file.'''
If you experience this problem and are still using MH 1.1.x, please consider testing MH 1.2.x to see if it solves your problem. MH 1.1 and 1.2 should be possible to
run side by side on the same machine.
The problem is that your graphics card drivers doesn't agree with the somewhat quirky way MakeHuman uses OpenGL with shaders.
This is a common problem of many graphic cards from all common producer (AMD, Intel, NVIDIA). From Intel.com:
"OpenGL* is an API (Application Programming Interface) for 3D graphics that is used by many games. OpenGL enables hardware acceleration of 3D graphics, so support is required from the graphics drivers for optimum performance. The latest graphics drivers will usually provide the best compatibility with games that use OpenGL. Graphics drivers that come with Microsoft Windows or that are downloaded from Windows Update typically do not support OpenGL."
On possible solution is to check the vendor official site download and install latest graphics drivers for your card.
If all else fails, MakeHuman has a fallback mode that disables all shaders and takes you back to good old 2003 fixed function shading. To enable this, run makehuman with the following commandline option:
'''makehuman --noshaders'''
In windows, the easiest way to do this is to create a shortcut:
[[File:Noshaders1.png]]
And then edit it and add "--noshaders"
[[File:NoShaders2.png]]
49fed3a3f175074cb61b007e6ad4994d26d8b985
1797
1796
2020-05-24T13:06:16Z
Joepal
14
wikitext
text/x-wiki
'''This page is only relevant for MH 1.1.x. If you experience the same problem with MH 1.2.x, please make a bug report and include the log file.'''
If you experience this problem and are still using MH 1.1.x, please consider testing MH 1.2.x to see if it solves your problem. MH 1.1 and 1.2 should be possible to
run side by side on the same machine.
The problem is that your graphics card drivers that do not understand the somewhat quirky way MakeHuman uses OpenGL with shaders.
This is a common problem of many graphic cards from all common producer (AMD, Intel, NVIDIA). From Intel.com:
"OpenGL* is an API (Application Programming Interface) for 3D graphics that is used by many games. OpenGL enables hardware acceleration of 3D graphics, so support is required from the graphics drivers for optimum performance. The latest graphics drivers will usually provide the best compatibility with games that use OpenGL. Graphics drivers that come with Microsoft Windows or that are downloaded from Windows Update typically do not support OpenGL."
On possible solution is to check the vendor official site download and install latest graphics drivers for your card.
If all else fails, MakeHuman has a fallback mode that disables all shaders and takes you back to good old 2003 fixed function shading. To enable this, run makehuman with the following commandline option:
'''makehuman --noshaders'''
In windows, the easiest way to do this is to create a shortcut:
[[File:Noshaders1.png]]
And then edit it and add "--noshaders"
[[File:NoShaders2.png]]
7b9ef75aaa797402b47a22650fc27ef2b39ecc31
1796
1795
2020-05-24T13:05:06Z
Joepal
14
wikitext
text/x-wiki
'''This page is only relevant for MH 1.1.x. If you experience the same problem with MH 1.2.x, please make a bug report and include the log file.'''
The problem is that your graphics card drivers that do not understand the somewhat quirky way MakeHuman uses OpenGL with shaders.
This is a common problem of many graphic cards from all common producer (AMD, Intel, NVIDIA). From Intel.com:
"OpenGL* is an API (Application Programming Interface) for 3D graphics that is used by many games. OpenGL enables hardware acceleration of 3D graphics, so support is required from the graphics drivers for optimum performance. The latest graphics drivers will usually provide the best compatibility with games that use OpenGL. Graphics drivers that come with Microsoft Windows or that are downloaded from Windows Update typically do not support OpenGL."
On possible solution is to check the vendor official site download and install latest graphics drivers for your card.
If all else fails, MakeHuman has a fallback mode that disables all shaders and takes you back to good old 2003 fixed function shading. To enable this, run makehuman with the following commandline option:
'''makehuman --noshaders'''
In windows, the easiest way to do this is to create a shortcut:
[[File:Noshaders1.png]]
And then edit it and add "--noshaders"
[[File:NoShaders2.png]]
9dc73889f0d00497d86795a10532284c1a7eaa50
1795
1544
2020-05-24T13:03:44Z
Joepal
14
wikitext
text/x-wiki
'''This page is only relevant for MH 1.1.x. If you experience the same problem with MH 1.2.x, please make a bug report and include the log file.'''
The problem is with your graphics card drivers that do not properly support OpenGL with shaders.
This is a common problem of many graphic cards from all common producer (AMD, Intel, NVIDIA). From Intel.com:
"OpenGL* is an API (Application Programming Interface) for 3D graphics that is used by many games. OpenGL enables hardware acceleration of 3D graphics, so support is required from the graphics drivers for optimum performance. The latest graphics drivers will usually provide the best compatibility with games that use OpenGL. Graphics drivers that come with Microsoft Windows or that are downloaded from Windows Update typically do not support OpenGL."
So the general solution is to check the vendor official site download and install latest graphics drivers for your card.
If all else fails, MakeHuman has a fallback mode that disables all shaders and takes you back to good old 2003 fixed function shading. To enable this, run makehuman with the following commandline option:
'''makehuman --noshaders'''
In windows, the easiest way to do this is to create a shortcut:
[[File:Noshaders1.png]]
And then edit it and add "--noshaders"
[[File:NoShaders2.png]]
f860952124107d27b4da8f82b468536384eb8935
1544
1333
2018-12-13T07:47:45Z
Aranuvir
17
wikitext
text/x-wiki
The problem is with your graphics card drivers that do not properly support OpenGL with shaders.
This is a common problem of many graphic cards from all common producer (AMD, Intel, NVIDIA). From Intel.com:
"OpenGL* is an API (Application Programming Interface) for 3D graphics that is used by many games. OpenGL enables hardware acceleration of 3D graphics, so support is required from the graphics drivers for optimum performance. The latest graphics drivers will usually provide the best compatibility with games that use OpenGL. Graphics drivers that come with Microsoft Windows or that are downloaded from Windows Update typically do not support OpenGL."
So the general solution is to check the vendor official site download and install latest graphics drivers for your card.
If all else fails, MakeHuman has a fallback mode that disables all shaders and takes you back to good old 2003 fixed function shading. To enable this, run makehuman with the following commandline option:
'''makehuman --noshaders'''
In windows, the easiest way to do this is to create a shortcut:
[[File:Noshaders1.png]]
And then edit it and add "--noshaders"
[[File:NoShaders2.png]]
8c8accbfb669a064c6e02d39deeb723cd213f133
1333
1332
2017-03-04T09:39:58Z
Joepal
14
wikitext
text/x-wiki
The problem is with your graphics card drivers that do not properly support OpenGL with shaders.
This is a common problem of Intel cards and some other cards. About Intel, the official site (https://downloadcenter.intel.com/Detail_Desc.aspx?DwnldID=20046) says:
OpenGL* is an API (Application Programming Interface) for 3D graphics that is used by many games. OpenGL enables hardware acceleration of 3D graphics, so support is required from the graphics drivers for optimum performance. The latest graphics drivers will usually provide the best compatibility with games that use OpenGL. Graphics drivers that come with Microsoft Windows or that are downloaded from Windows Update typically do not support OpenGL.
So the general solution is to check the vendor official site download and install latest graphics drivers for your card. Note that for Linux, this makes things ''worse'' though, as newer Intel drivers (shipped with Ubuntu 16.04 and later) broke systems that were working perfectly fine on earlier versions (shipped with Ubuntu 14.04 and earlier).
If all else fails, MakeHuman has a fallback mode that disables all shaders and takes you back to good old 2003 fixed function shading. To enable this, run makehuman with the following commandline option:
'''makehuman --noshaders'''
In windows, the easiest way to do this is to create a shortcut:
[[File:Noshaders1.png]]
And then edit it and add "--noshaders"
[[File:NoShaders2.png]]
593dfcdc21821f36130e4021c7724e43c7635229
1332
1206
2017-03-04T09:39:25Z
Joepal
14
wikitext
text/x-wiki
The problem is with your graphics card drivers that do not properly support OpenGL with shaders.
This is a common problem of Intel cards and some other cards. About Intel, the official site (https://downloadcenter.intel.com/Detail_Desc.aspx?DwnldID=20046) says:
OpenGL* is an API (Application Programming Interface) for 3D graphics that is used by many games. OpenGL enables hardware acceleration of 3D graphics, so support is required from the graphics drivers for optimum performance. The latest graphics drivers will usually provide the best compatibility with games that use OpenGL. Graphics drivers that come with Microsoft Windows or that are downloaded from Windows Update typically do not support OpenGL.
So the general solution is to check the vendor official site download and install latest graphics drivers for your card. Note that for Linux, this makes things ''worse'' though, as newer Intel drivers (shipped with Ubuntu 16.04 and later) broke systems that were working perfectly fine on earlier versions (shipped with Ubuntu 14.04 and earlier).
If all else fails, MakeHuman has a fallback mode that disables all shaders and takes you back to good old 2003 fixed function shading. To enable this, run makehuman with the following commandline option:
makehuman --noshaders
In windows, the easiest way to do this is to create a shortcut:
[[File:Noshaders1.png]]
And then edit it and add "--noshaders"
[[File:NoShaders2.png]]
b7c7d18a8915b251f5a6323500a0488731ddd24f
1206
533
2016-10-21T17:00:18Z
Robbaer
12
wikitext
text/x-wiki
The problem is with your graphics card drivers that do not properly support OpenGL with shaders.
This is a common problem of Intel cards and some other cards. About Intel, the official site (https://downloadcenter.intel.com/Detail_Desc.aspx?DwnldID=20046) says:
OpenGL* is an API (Application Programming Interface) for 3D graphics that is used by many games. OpenGL enables hardware acceleration of 3D graphics, so support is required from the graphics drivers for optimum performance. The latest graphics drivers will usually provide the best compatibility with games that use OpenGL. Graphics drivers that come with Microsoft Windows or that are downloaded from Windows Update typically do not support OpenGL.
So the general solution is to check the vendor official site download and install latest graphics drivers for your card.
If all else fails, MakeHuman has a fallback mode that disables all shaders and takes you back to good old 2003 fixed function shading. To enable this, run makehuman with the following commandline option:
makehuman --noshaders
In windows, the easiest way to do this is to create a shortcut:
[[File:Noshaders1.png]]
And then edit it and add "--noshaders"
[[File:NoShaders2.png]]
c77d7a9ed2a88decc5eb3ff0ad8d8a2ec2db3742
533
532
2015-10-03T14:23:13Z
Joepal
14
wikitext
text/x-wiki
The problem is with your graphics card drivers that do not properly support OpenGL with shaders.
This is a common problem of Intel cards and some other cards. About Intel, the official site (https://downloadcenter.intel.com/Detail_Desc.aspx?DwnldID=20046) says:
OpenGL* is an API (Application Programming Interface) for 3D graphics that is used by many games. OpenGL enables hardware acceleration of 3D graphics, so support is required from the graphics drivers for optimum performance. The latest graphics drivers will usually provide the best compatibility with games that use OpenGL. Graphics drivers that come with Microsoft Windows or that are downloaded from Windows Update typically do not support OpenGL.
So the general solution is to check the vendor official site download and install latest graphics drivers for your card.
If all else fails, MakeHuman has a fallback mode that disables all shaders and takes you back to good old 2003 fixed function shading. To enable this, run makehuman with the following commandline option:
makehuman --noshaders
In windows, the easiest way to do this is to create a shortcut:
[[File:Noshaders1.png]]
And then edit it and add "--noshaders"
[[File:Noshaders2.png]]
dd8750a4691c290793ee6b074b73eaecc117be73
532
77
2015-10-03T14:22:31Z
Joepal
14
wikitext
text/x-wiki
The problem is with your graphics card drivers that do not properly support OpenGL with shaders.
This is a common problem of Intel cards and some other cards. About Intel, the official site (https://downloadcenter.intel.com/Detail_Desc.aspx?DwnldID=20046) says:
OpenGL* is an API (Application Programming Interface) for 3D graphics that is used by many games. OpenGL enables hardware acceleration of 3D graphics, so support is required from the graphics drivers for optimum performance. The latest graphics drivers will usually provide the best compatibility with games that use OpenGL. Graphics drivers that come with Microsoft Windows or that are downloaded from Windows Update typically do not support OpenGL.
So the general solution is to check the vendor official site download and install latest graphics drivers for your card.
If all else fails, MakeHuman has a fallback mode that disables all shaders and takes you back to good old 2003 fixed function shading. To enable this, run makehuman with the following commandline option:
makehuman --noshaders
In windows, the easiest way to do this is to create a shortcut:
[File:Noshaders1.png]
And then edit it and add "--noshaders"
[File:Noshaders2.png]
24134b76e4bc0f0e0f81afe976be85e791e60550
77
2015-07-09T07:32:13Z
Joepal
14
Created page with "The problem is with your graphics card drivers that do not properly support OpenGL with shaders. This is a common problem of Intel cards and some other cards. About Intel, th..."
wikitext
text/x-wiki
The problem is with your graphics card drivers that do not properly support OpenGL with shaders.
This is a common problem of Intel cards and some other cards. About Intel, the official site (https://downloadcenter.intel.com/Detail_Desc.aspx?DwnldID=20046) says:
OpenGL* is an API (Application Programming Interface) for 3D graphics that is used by many games. OpenGL enables hardware acceleration of 3D graphics, so support is required from the graphics drivers for optimum performance. The latest graphics drivers will usually provide the best compatibility with games that use OpenGL. Graphics drivers that come with Microsoft Windows or that are downloaded from Windows Update typically do not support OpenGL.
So the general solution is to check the vendor official site download and install latest graphics drivers for your card.
If all else fails, MakeHuman has a fallback mode that disables all shaders and takes you back to good old 2003 fixed function shading. To enable this, run makehuman with the following commandline option:
makehuman --noshaders
8239ddeb3e218c01eb6e8474f3cff29939330a16
FAQ:My Antivirus tool blocks MakeHuman / Norton Antivirus reports WS.Reputation.1
3002
517
1325
2017-02-19T14:17:13Z
Aranuvir
17
Created page with "Norton Antivirus and other antivirus tools have a "feature" that classifies anything it doesn't recognize as a virus. A good discussion about this "feature" is available at ht..."
wikitext
text/x-wiki
Norton Antivirus and other antivirus tools have a "feature" that classifies anything it doesn't recognize as a virus. A good discussion about this "feature" is available at http://community.norton.com/t5/Norton-Internet-Security-Norton/WS-Reputation-1-is-NOT-helpful/td-p/537550. Since the the development crew cannot spend money for a code signing certificate, there is now possibility to automatically whitelist MakeHuman.
The MakeHuman crew perceives this phenomenon as a bug with the antivirus solutions, and not with MakeHuman, and will refer any reports of the issue to the producer of the antivirus tool.
The suggested solution is to either switch the antivirus solution or to manually whitelist the binary on your local computer, under the precaution MakeHuman was received from a trusted source.
73abd5704123f05b01884508245838de4b1c2bf6
FAQ:My Antivirus tool blocks MakeHuman or Norton Antivirus reports WS.Reputation.1
3002
518
1327
2017-02-19T14:18:20Z
Aranuvir
17
Created page with "Norton Antivirus and other antivirus tools have a "feature" that classifies anything it doesn't recognize as a virus. A good discussion about this "feature" is available at ht..."
wikitext
text/x-wiki
Norton Antivirus and other antivirus tools have a "feature" that classifies anything it doesn't recognize as a virus. A good discussion about this "feature" is available at http://community.norton.com/t5/Norton-Internet-Security-Norton/WS-Reputation-1-is-NOT-helpful/td-p/537550. Since the the development crew cannot spend money for a code signing certificate, there is now possibility to automatically whitelist MakeHuman.
The MakeHuman crew perceives this phenomenon as a bug with the antivirus solutions, and not with MakeHuman, and will refer any reports of the issue to the producer of the antivirus tool.
The suggested solution is to either switch the antivirus solution or to manually whitelist the binary on your local computer, under the precaution MakeHuman was received from a trusted source.
73abd5704123f05b01884508245838de4b1c2bf6
FAQ:Norton Antivirus reports WS.Reputation.1 in the nightly build. What gives?
3002
44
1323
106
2017-02-19T14:15:22Z
Aranuvir
17
wikitext
text/x-wiki
Norton Antivirus and other antivirus tools have a "feature" that classifies anything it doesn't recognize as a virus. A good discussion about this "feature" is available at http://community.norton.com/t5/Norton-Internet-Security-Norton/WS-Reputation-1-is-NOT-helpful/td-p/537550. Since the the development crew cannot spend money for a code signing certificate, there is now possibility to automatically whitelist MakeHuman.
The MakeHuman crew perceives this phenomenon as a bug with the antivirus solutions, and not with MakeHuman, and will refer any reports of the issue to the producer of the antivirus tool.
The suggested solution is to either switch the antivirus solution or to manually whitelist the binary on your local computer, under the precaution MakeHuman was received from a trusted source.
73abd5704123f05b01884508245838de4b1c2bf6
106
2015-07-10T10:07:20Z
Joepal
14
Created page with "Norton Antivirus has a "feature" that classifies anything it doesn't recognize as a virus. A good discussion about this "feature" is available at http://community.norton.com/t..."
wikitext
text/x-wiki
Norton Antivirus has a "feature" that classifies anything it doesn't recognize as a virus. A good discussion about this "feature" is available at http://community.norton.com/t5/Norton-Internet-Security-Norton/WS-Reputation-1-is-NOT-helpful/td-p/537550. Since the nightly build obviously changes very frequently, it is not possible to whitelist globally with Norton.
The MakeHuman crew perceives this phenomenon as a bug with Norton Antivirus, and not with MakeHuman, and will refer any reports of the issue to Norton.
The suggested solution is to either switch the antivirus solution or to manually whitelist the binary on your local computer.
6d7ef51026644a12d5af73af1daa9c96f032647c
FAQ:Scrolling does not work
3002
668
1932
1931
2020-11-13T06:41:50Z
Joepal
14
wikitext
text/x-wiki
When starting MakeHuman, everything looks fine. But when you try to scroll a panel, it either does not work at all, or the contents in the panel is compressed.
This happens when you use a PyQt version later than 5.12. Something in the MakeHuman UI code is incompatible with the latest PyQt versions. At this point, the only solution we have is to downgrade PyQt to 5.12.
Note that if you run from source, you can do so in [[https://docs.python.org/3/tutorial/venv.html a python venv]] and install a a specific version of PyQt there. That way you don't need to touch the system-wide installed PyQt. Running in venv is our currently recommended
approach for Ubuntu 20.10 (Ubuntu 20.04 and earlier should not have the problem).
On ubuntu the commands are these:
apt-get install python3-virtualenv
virtualenv makehuman-env
source makehuman-env/bin/activate
pip install PyQt5==5.12.1 numpy pyopengl
Now you have a python command which will use pyqt 5.12, and can follow the instructions for running from source, see http://www.makehumancommunity.org/wiki/FAQ:How_can_I_run_the_same_code_as_the_nightly_build_from_source%3F (skip the parts about apt-get installing dependencies.. This is what you did with pip above here).
c042284c47850ec41309222adf9ece939bd6ba9f
1931
1920
2020-11-06T14:06:21Z
Joepal
14
wikitext
text/x-wiki
When starting MakeHuman, everything looks fine. But when you try to scroll a panel, it either does not work at all, or the contents in the panel is compressed.
This happens when you use a PyQt version later than 5.12. Something in the MakeHuman UI code is incompatible with the latest PyQt versions. At this point, the only solution we have is to downgrade PyQt to 5.12.
Note that if you run from source, you can do so in [[https://docs.python.org/3/tutorial/venv.html a python venv]] and install a a specific version of PyQt there. That way you don't need to touch the system-wide installed PyQt. Running in venv is our currently recommended
approach for Ubuntu 20.10 (Ubuntu 20.04 and earlier should not have the problem).
c9cf7b577d4becef47786bd1ca10d37e4c01460e
1920
1909
2020-10-31T11:37:46Z
Joepal
14
wikitext
text/x-wiki
When starting MakeHuman, everything looks fine. But when you try to scroll a panel, it either does not work at all, or the contents in the panel is compressed.
This happens when you use a PyQt version later than 5.12. Something in the MakeHuman UI code is incompatible with the latest PyQt versions. At this point, the only solution we have is to downgrade PyQt to 5.12.
Note that if you run from source, you can do so in [[https://docs.python.org/3/tutorial/venv.html a python venv]] and install a a specific version of PyQt there. That way you don't need to touch the system-wide installed PyQt. Running in venv is our currently recommended
approach for Ubuntu 20.10.
b916db239a359cb1267874e877b4adc560162ebe
1909
2020-10-25T13:32:12Z
Joepal
14
Created page with "When starting MakeHuman, everything looks fine. But when you try to scroll a panel, it either does not work at all, or the contents in the panel is compressed. This happens w..."
wikitext
text/x-wiki
When starting MakeHuman, everything looks fine. But when you try to scroll a panel, it either does not work at all, or the contents in the panel is compressed.
This happens when you use a PyQt version later than 5.12. Something in the MakeHuman UI code is incompatible with the latest PyQt versions. At this point, the only solution we have is to downgrade PyQt to 5.12.
6a06027e7a476c93e85bc6df78d32c68d58fe7eb
FAQ:The eyes look flat and "dead" in blender
3002
528
1402
1401
2017-06-06T15:13:04Z
Robbaer
12
wikitext
text/x-wiki
The default MHX2 material is a least common denominator, and you'll most likely want to tweak it a bit for the eyes.
There are usually two problems.
The first is that the eyewhites look gray, which is because you have too little light entering the eyes. To solve this, try to increase the light, ambient or otherwise, which shines on the eye area.
The second is that eyes usually have "reflective shine", in the sense that the outer surface looks wet and has hard glossy highlights.
By default the MHX2 eyes material looks like this when rendered:
[[File:Glitter1.png]]
With with relatively easy means, you can add "reflective shine" so that the eyes look like this:
[[File:Glitter2.png]]
To achieve this, select the outer layer of the high-poly eyes:
[[File:Glitter3.png]]
And assign a new transparent material with an "add" shader adding a hard glossy:
[[File:Glitter4.png]]
3932ccf07a3c1da50314b1ead0e0fa5ac203c85b
1401
1400
2017-06-06T15:12:28Z
Robbaer
12
wikitext
text/x-wiki
The default MHX2 material is a least common denominator, and you'll most likely want to tweak it a bit for the eyes.
There are usually two problems.
The first is that the eyewhites look gray, which is because you have too little light entering the eyes. To solve this, try to increase the light, ambient or otherwise, which shines on the eye area.
The second is that eyes usually "reflective shine", in the sense that the outer surface looks wet and has hard glossy highlights.
By default the MHX2 eyes material looks like this when rendered:
[[File:Glitter1.png]]
With with relatively easy means, you can add "reflective shine" so that the eyes look like this:
[[File:Glitter2.png]]
To achieve this, select the outer layer of the high-poly eyes:
[[File:Glitter3.png]]
And assign a new transparent material with an "add" shader adding a hard glossy:
[[File:Glitter4.png]]
ec5bafb7a9ac009d19cd6e3f4de8969430dbc5ab
1400
1399
2017-06-06T15:11:24Z
Robbaer
12
wikitext
text/x-wiki
The default MHX2 material is a least common denominator, and you'll most likely want to tweak it a bit for the eyes.
There are usually two problems.
The first is that the eyewhites look gray, which is because you have too little light entering the eyes. To solve this, try to increase the light, ambient or otherwise, which shines on the eye area.
The second is that eyes usually "shine", in the sense that the outer surface looks wet and has hard glossy highlights.
By default the MHX2 eyes material looks like this when rendered:
[[File:Glitter1.png]]
With with relatively easy means, you can add "shine" so that the eyes look like this:
[[File:Glitter2.png]]
To achieve this, select the outer layer of the high-poly eyes:
[[File:Glitter3.png]]
And assign a new transparent material with an "add" shader adding a hard glossy:
[[File:Glitter4.png]]
7e2bad567fbf5a2803793e9774734ba7861d66c0
1399
2017-06-06T14:29:15Z
Joepal
14
Created page with "The default MHX2 material is a least common denominator, and you'll most likely want to tweak it a bit for the eyes. There are usually two problems. The first is that the..."
wikitext
text/x-wiki
The default MHX2 material is a least common denominator, and you'll most likely want to tweak it a bit for the eyes.
There are usually two problems.
The first is that the eyewhites look gray, which is because you have too little light entering the eyes. To solve this, try to increase the light, ambient or otherwise, which shines on the eye area.
The second is that eyes usually "glitter", in the sense that the outer surface looks wet and has hard glossy highlights.
By default the MHX2 eyes material looks like this when rendered:
[[File:Glitter1.png]]
With with relatively easy means, you can add "glitter" so that the eyes look like this:
[[File:Glitter2.png]]
To achieve this, select the outer layer of the high-poly eyes:
[[File:Glitter3.png]]
And assign a new transparent material with an "add" shader adding a hard glossy:
[[File:Glitter4.png]]
bdb7b8d1a93df86580130feb229f4d90f873a075
FAQ:The interface looks broken
3002
635
1821
1819
2020-07-23T12:54:21Z
Joepal
14
wikitext
text/x-wiki
There are circumstances where not all graphics cards support all settings. Some of these settings are desired on other graphics cards.
If you have problem with the 3d canvas being empty (no character is showing), or the 3d canvas seems to contain repeated fragments of the other parts of the interface, you can try to disable these settings.
Go to the Settings -> General tab. First try to check "no sample buffers" and restart makehuman. If the problem persist, try to also check "no shaders" and restart makehuman.
If things still are not working after this, please send us a log file: see [[FAQ: How to provide a makehuman log for a good bug report?]]
[[File:Glsettings.png]]
6c5a5cd25c238622b0af736b038ba5027ac232a0
1819
2020-07-23T12:52:16Z
Joepal
14
Created page with "There are circumstances where not all graphics cards support all settings. Some of these settings are desired on other graphics cards. If you have problem with the 3d canvas..."
wikitext
text/x-wiki
There are circumstances where not all graphics cards support all settings. Some of these settings are desired on other graphics cards.
If you have problem with the 3d canvas being empty (no character is showing), or the 3d canvas seems to contain repeated fragments of the other parts of the interface, you can try to disable these settings.
Go to the Settings -> General tab. First try to check "no sample buffers" and restart makehuman. If the problem persist, try to also check "no shaders" and restart makehuman.
If things still are not working after this, please send us a log file: see [[FAQ: How to provide a makehuman log for a good bug report?]]
0f75befa17fb52f497b13c62cf9ab3cfff048126
FAQ:The publisher could not be verified
3002
213
609
608
2016-03-06T13:22:05Z
Joepal
14
wikitext
text/x-wiki
[[File:Publisher_verified.png]]
This is because Microsoft expects all software authors to pay money to certificate authorities in order to get rid of the warning. There's no way around it, short of paying up.
Even "small" recurring sums are insurmountable for an open source project which does not have a budget. So this is not going to be fixed anytime soon.
The upside is you can simply ignore the warning and run anyway. Nothing bad will happen.
d015971ddc8e777cf07dd194791963d572175ad5
608
2016-03-06T12:50:06Z
Joepal
14
Created page with "[[File:Publisher_verified.png]] This is because Microsoft expects all software authors to pay lots of cash to certificate authorities in order to get rid of the warning. No m..."
wikitext
text/x-wiki
[[File:Publisher_verified.png]]
This is because Microsoft expects all software authors to pay lots of cash to certificate authorities in order to get rid of the warning. No money - warning remains. There's no way around it.
To quote a tutorial on the subject: "We purchased a SHA-2 certificate from them in July 2015, and it seems to work fine for almost everything we need. It only costs about $219 per year."
The "only" $219 is insurmountable for an open source project which does not have a budget.
The upside is you can simply ignore the warning and run anyway. Nothing bad will happen.
f9fbd250234302c91cd7197817accbf515b8bae2
FAQ:There seems to be a version mismatch between MHX and blender
3002
29
87
2015-07-09T11:43:43Z
Joepal
14
Created page with "See [[FAQ:What happened to the MHX export in MH 1.1.x and later?]]"
wikitext
text/x-wiki
See [[FAQ:What happened to the MHX export in MH 1.1.x and later?]]
ad848e379db1010972b2e05cc9c78e3896fdff2f
FAQ:We at company X don't like AGPL and want another license
3002
537
1434
2017-08-30T08:31:35Z
Joepal
14
Created page with "The MH devs frequently get requests sent to their personal mailboxes, asking for exceptions from the AGPL license. The usual gist of these mails is that a company wants to p..."
wikitext
text/x-wiki
The MH devs frequently get requests sent to their personal mailboxes, asking for exceptions from the AGPL license.
The usual gist of these mails is that a company wants to profit from the MH codebase or the morph database by taking large parts of them and include them in their commercial software, but that they are unable to do so because of the AGPL license. They therefore want an exception from AGPL, for example a commercial license.
At this point in time there are no plans to grant such exceptions. MakeHuman is an non-commercial open source project, and the plan is to remain that way.
24c4e8145ca2991fef125f32520689e06bedc4db
FAQ:What's with the "makehuman-community-*" file name?
3002
532
1409
2017-07-13T11:06:43Z
Joepal
14
Created page with "The nightly builds bundle more than just makehuman. They include (at least): * MHX2 * MHAPI * The asset downloader More extras might be included at a later time. The name..."
wikitext
text/x-wiki
The nightly builds bundle more than just makehuman. They include (at least):
* MHX2
* MHAPI
* The asset downloader
More extras might be included at a later time.
The name is picked to reflect a focus on integration with the community site and the community assets.
The final release will also be named "makehuman community" rather than just "makehuman".
a78cc34e11eb17b57bbd71d44844e6331d9d94bf
FAQ:What changed regarding the license in 2020?
3002
665
1891
1890
2020-10-25T12:08:56Z
Joepal
14
wikitext
text/x-wiki
In september 2020, the overall license of MakeHuman was clarified and made more permissive. The full and updated license text can be found at https://github.com/makehumancommunity/makehuman/blob/master/LICENSE.md
In summary, the goal was to remove any lingering doubts about whether the output from makehuman could be used freely and without license restrictions.
These were the main changes:
* BEFORE: Bundled assets are a part of the application
* AFTER: Bundled assets are something the application uses, but which are otherwise considered standalone entities
* BEFORE: Assets are per default covered by AGPL
* AFTER: Assets are per default released as CC0
* BEFORE: Exports become covered by CC0 upon export via the GUI
* AFTER: Exports only consist of things which were CC0 to start with
* BEFORE: Targets, proxies and the base mesh are considered source code, covered by AGPL (unless exported via the GUI)
* AFTER: Targets, proxies and the base mesh are considered graphical assets, covered by CC0
* BEFORE: Trying to "reverse engineer" or recreate the targets is prohibited
* AFTER: Targets are CC0 no matter how you got hold of them
We believe we have caught most places where the old license setup is mentioned. But if you find remaining strangenesses, particularly where assets are listed as AGPL, please report these.
ff00b07523ee99212745405275d2c89cce5e8124
1890
1889
2020-10-25T12:08:34Z
Joepal
14
wikitext
text/x-wiki
In september 2020, the overall license of MakeHuman was clarified and made more permissive. The full and updated license text can be found at https://github.com/makehumancommunity/makehuman/blob/master/LICENSE.md
In summary, the goal was to remove any lingering doubts about whether the output from makehuman could be used freely and without license restrictions.
These were the main changes:
* BEFORE: Bundled assets are a part of the application
* AFTER: Bundled assets are something the application uses, but which are otherwise considered standalone entities
* BEFORE: Assets are per default covered by AGPL
* AFTER: Assets are per default released as CC0
* BEFORE: Exports become covered by CC0 upon export via the GUI
* AFTER: Exports only consist of things which were CC0 to start with
* BEFORE: Targets, proxies and the base mesh are considered source code, covered by AGPL (unless exported via the GUI)
* AFTER: Targets, proxies and the base mesh are considered graphical assets, covered by CC0
* BEFORE: Trying to "reverse engineer" or recreate the targets is prohibited
* AFTER: Targets are CC0 no matter how you got hold of them
We believe we have caught most places where the old license setup is mentioned. But if you find remaining strangenesses, particularly where assets are listed as AGPL, please report these.
e9b498db3f9958c238392af4f9d437022f86c4b7
1889
2020-10-25T12:08:12Z
Joepal
14
Created page with "In september 2020, the overall license of MakeHuman was clarified and made more permissive. The full license text can be found at https://github.com/makehumancommunity/makehum..."
wikitext
text/x-wiki
In september 2020, the overall license of MakeHuman was clarified and made more permissive. The full license text can be found at https://github.com/makehumancommunity/makehuman/blob/master/LICENSE.md
In summary, the goal was to remove any lingering doubts about whether the output from makehuman could be used freely and without license restrictions.
These were the main changes:
* BEFORE: Bundled assets are a part of the application
* AFTER: Bundled assets are something the application uses, but which are otherwise considered standalone entities
* BEFORE: Assets are per default covered by AGPL
* AFTER: Assets are per default released as CC0
* BEFORE: Exports become covered by CC0 upon export via the GUI
* AFTER: Exports only consist of things which were CC0 to start with
* BEFORE: Targets, proxies and the base mesh are considered source code, covered by AGPL (unless exported via the GUI)
* AFTER: Targets, proxies and the base mesh are considered graphical assets, covered by CC0
* BEFORE: Trying to "reverse engineer" or recreate the targets is prohibited
* AFTER: Targets are CC0 no matter how you got hold of them
We believe we have caught most places where the old license setup is mentioned. But if you find remaining strangenesses, particularly where assets are listed as AGPL, please report these.
387e139c4370526abcb3886cb6414731a001ded1
FAQ:What do I need to do when I use a CC-BY asset?
3002
535
2078
1431
2021-04-16T13:50:16Z
Joepal
14
wikitext
text/x-wiki
Note that the following is a practical summary of the CC-BY license. If you want to get into the details, you should start at https://creativecommons.org/licenses/by/4.0/ and then also read the full license text at https://creativecommons.org/licenses/by/4.0/legalcode. It is your responsibility to ensure you follow the terms of the license. MakeHuman is not in any way a part in the legal agreement between you and the author of the asset you use, so what is written below is merely an interpretation from a third part.
MakeHuman as such only includes CC0 assets. However, that only applies for content that was provided by MakeHuman as such. Specifically it does ''not'' apply to assets you downloaded separately from the user contributed asset respositories.
In those repositories, you will find assets that come licensed in two forms: CC0 and CC-BY.
If an asset is licensed CC0, you can use it in the same way as you use all other MakeHuman assets: you don't need to do anything in particular at all when using the asset.
If an asset is licensed CC-BY however, you must live up to the obligations of that license. You are granted usage of the asset only under the premise that you ''tell end users of your work that you used the model in question, and who you got the model from''.
It is also etiquette, but not legally required, to say ''where'' you downloaded the model.
== Examples of how to live up to the CC-BY license ==
'''Youtube'''
When producing a video, it is etiquette to include info about the asset inside the video, for example in rolling credits at the end. If this is not possible to do, then as a last resort it is acceptable to include the information in the video description where you posted the video (for example in youtube's "description" field). Let's use one of Punkduck's assets (http://www.makehumancommunity.org/clothes/godkiller_sword_wonder_woman.html) as an example. A functional formulation would be:
''This video uses the "God-killer Sword (Wonder Woman)" asset by Punkduck, shared under the terms of Creative Commons Attribution 4.0'''
'''Closed-source game'''
In applications and games, you will most likely have an "about" or "legal info" menu entry or popup box. This is an appropriate place for information about the usage of CC-BY assets.
As a last resort, it would be acceptable to include information about the used assets in a bundled README.txt file. But then only if users are likely to find and read that file.
'''Rendered image'''
If at all feasible, include info about the assets as stamped-on text in the image as such. Let's use Wolgade's demonstration of MindFront's bikini asset as an example:
[[File:Included_ccby.jpg|250px|thumb|left|Image with CC-BY info included]]<BR clear=all>
If it is not feasible to include the information in the image as such, it is acceptable to add the information in text alongside the image where you post it.
9b837d09d12493da7786b373a8bbadd3ecd55c83
1431
1430
2017-08-20T08:53:18Z
Joepal
14
wikitext
text/x-wiki
Note that the following is a practical summary of the CC-BY license. If you want to get into the details, you should start at https://creativecommons.org/licenses/by/4.0/ and then also read the full license text at https://creativecommons.org/licenses/by/4.0/legalcode. It is your responsibility to ensure you follow the terms of the license. MakeHuman is not in any way a part in the legal agreement between you and the author of the asset you use, so what is written below is merely an interpretation from a third part.
MakeHuman as such has a CC0 exception for exported models. However, that only applies for content that was provided by MakeHuman as such. Specifically it does ''not'' apply to assets you downloaded separately from the user contributed asset respositories.
In those repositories, you will find assets that come licensed in two forms: CC0 and CC-BY.
If an asset is licensed CC0, you can use it in the same way as you use all other MakeHuman assets: you don't need to do anything in particular at all when using the asset.
If an asset is licensed CC-BY however, you must live up to the obligations of that license. You are granted usage of the asset only under the premise that you ''tell end users of your work that you used the model in question, and who you got the model from''.
It is also etiquette, but not legally required, to say ''where'' you downloaded the model.
== Examples of how to live up to the CC-BY license ==
'''Youtube'''
When producing a video, it is etiquette to include info about the asset inside the video, for example in rolling credits at the end. If this is not possible to do, then as a last resort it is acceptable to include the information in the video description where you posted the video (for example in youtube's "description" field). Let's use one of Punkduck's assets (http://www.makehumancommunity.org/clothes/godkiller_sword_wonder_woman.html) as an example. A functional formulation would be:
''This video uses the "God-killer Sword (Wonder Woman)" asset by Punkduck, shared under the terms of Creative Commons Attribution 4.0'''
'''Closed-source game'''
In applications and games, you will most likely have an "about" or "legal info" menu entry or popup box. This is an appropriate place for information about the usage of CC-BY assets.
As a last resort, it would be acceptable to include information about the used assets in a bundled README.txt file. But then only if users are likely to find and read that file.
'''Rendered image'''
If at all feasible, include info about the assets as stamped-on text in the image as such. Let's use Wolgade's demonstration of MindFront's bikini asset as an example:
[[File:Included_ccby.jpg|250px|thumb|left|Image with CC-BY info included]]<BR clear=all>
If it is not feasible to include the information in the image as such, it is acceptable to add the information in text alongside the image where you post it.
f8c9ecc60e1629b67c12c3380c7c9e6fcb5cf5a6
1430
1429
2017-08-20T08:52:29Z
Joepal
14
wikitext
text/x-wiki
Note that the following is a practical summary of the CC-BY license. If you want to get into the details, you should start at https://creativecommons.org/licenses/by/4.0/ and then also read the full license text at https://creativecommons.org/licenses/by/4.0/legalcode. It is your responsibility to ensure you follow the terms of the license. MakeHuman is not in any way a part in the legal agreement between you and the author of the asset you use, so what is written below is merely an opinion from a third part.
MakeHuman as such has a CC0 exception for exported models. However, that only applies for content that was provided by MakeHuman as such. Specifically it does ''not'' apply to assets you downloaded separately from the user contributed asset respositories.
In those repositories, you will find assets that come licensed in two forms: CC0 and CC-BY.
If an asset is licensed CC0, you can use it in the same way as you use all other MakeHuman assets: you don't need to do anything in particular at all when using the asset.
If an asset is licensed CC-BY however, you must live up to the obligations of that license. You are granted usage of the asset only under the premise that you ''tell end users of your work that you used the model in question, and who you got the model from''.
It is also etiquette, but not legally required, to say ''where'' you downloaded the model.
== Examples of how to live up to the CC-BY license ==
'''Youtube'''
When producing a video, it is etiquette to include info about the asset inside the video, for example in rolling credits at the end. If this is not possible to do, then as a last resort it is acceptable to include the information in the video description where you posted the video (for example in youtube's "description" field). Let's use one of Punkduck's assets (http://www.makehumancommunity.org/clothes/godkiller_sword_wonder_woman.html) as an example. A functional formulation would be:
''This video uses the "God-killer Sword (Wonder Woman)" asset by Punkduck, shared under the terms of Creative Commons Attribution 4.0'''
'''Closed-source game'''
In applications and games, you will most likely have an "about" or "legal info" menu entry or popup box. This is an appropriate place for information about the usage of CC-BY assets.
As a last resort, it would be acceptable to include information about the used assets in a bundled README.txt file. But then only if users are likely to find and read that file.
'''Rendered image'''
If at all feasible, include info about the assets as stamped-on text in the image as such. Let's use Wolgade's demonstration of MindFront's bikini asset as an example:
[[File:Included_ccby.jpg|250px|thumb|left|Image with CC-BY info included]]<BR clear=all>
If it is not feasible to include the information in the image as such, it is acceptable to add the information in text alongside the image where you post it.
2b9b9e469553e29cbb252374ce26d1062fa0aceb
1429
1428
2017-08-20T08:44:23Z
Joepal
14
wikitext
text/x-wiki
Note that the following is a practical summary/interpretation of the CC-BY license. If you want to get into the details, you should start at https://creativecommons.org/licenses/by/4.0/ and then also read the full license text at https://creativecommons.org/licenses/by/4.0/legalcode
MakeHuman as such has a CC0 exception for exported models. However, that only applies for content that was provided by MakeHuman as such. Specifically it does ''not'' apply to assets you downloaded separately from the user contributed asset respositories.
In those repositories, you will find assets that come licensed in two forms: CC0 and CC-BY.
If an asset is licensed CC0, you can use it in the same way as you use all other MakeHuman assets: you don't need to do anything in particular at all when using the asset.
If an asset is licensed CC-BY however, you must live up to the obligations of that license. You are granted usage of the asset only under the premise that you ''tell end users of your work that you used the model in question, and who you got the model from''.
It is also etiquette, but not legally required, to say ''where'' you downloaded the model.
== Examples of how to live up to the CC-BY license ==
'''Youtube'''
When producing a video, it is etiquette to include info about the asset inside the video, for example in rolling credits at the end. If this is not possible to do, then as a last resort it is acceptable to include the information in the video description where you posted the video (for example in youtube's "description" field). Let's use one of Punkduck's assets (http://www.makehumancommunity.org/clothes/godkiller_sword_wonder_woman.html) as an example. A functional formulation would be:
''This video uses the "God-killer Sword (Wonder Woman)" asset by Punkduck, shared under the terms of Creative Commons Attribution 4.0'''
'''Closed-source game'''
In applications and games, you will most likely have an "about" or "legal info" menu entry or popup box. This is an appropriate place for information about the usage of CC-BY assets.
As a last resort, it would be acceptable to include information about the used assets in a bundled README.txt file. But then only if users are likely to find and read that file.
'''Rendered image'''
If at all feasible, include info about the assets as stamped-on text in the image as such. Let's use Wolgade's demonstration of MindFront's bikini asset as an example:
[[File:Included_ccby.jpg|250px|thumb|left|Image with CC-BY info included]]<BR clear=all>
If it is not feasible to include the information in the image as such, it is acceptable to add the information in text alongside the image where you post it.
402a4cbc5bf3b7b22918c654e4e7e0fdca1c3132
1428
1427
2017-08-20T08:42:24Z
Joepal
14
wikitext
text/x-wiki
Note that the following is a practical summary/interpretation of the CC-BY license. If you want to get into the details, you should start at https://creativecommons.org/licenses/by/4.0/ and then also read the full license text at https://creativecommons.org/licenses/by/4.0/legalcode
MakeHuman as such has a CC0 exception for exported models. However, that only applies for content that was provided by MakeHuman as such. Specifically it does ''not'' apply to assets you downloaded separately from the user contributed asset respositories.
In those repositories, you will find assets that come licensed in two forms: CC0 and CC-BY.
If an asset is licensed CC0, you can use it in the same way as you use all other MakeHuman assets: you don't need to do anything in particular at all when using the asset.
If an asset is licensed CC-BY however, you must live up to the obligations of that license. You are granted usage of the asset only under the premise that you ''tell end users of your work that you used the model in question, and who you got the model from''.
It is also etiquette, but not legally required, to say ''where'' you downloaded the model.
== Examples of how to live up to the CC-BY license ==
Let's use one of Punkduck's assets as an example: http://www.makehumancommunity.org/clothes/godkiller_sword_wonder_woman.html
'''Youtube'''
When producing a video, it is etiquette to include info about the asset inside the video, for example in rolling credits at the end. If this is not possible to do, then as a last resort it is acceptable to include the information in the video description where you posted the video (for example in youtube's "description" field). An example formulation would be:
''This video uses the "God-killer Sword (Wonder Woman)" asset by Punkduck, shared under the terms of Creative Commons Attribution 4.0'''
'''Closed-source game'''
In applications and games, you will most likely have an "about" or "legal info" menu entry or popup box. This is an appropriate place for information about the usage of CC-BY assets.
As a last resort, it would be acceptable to include information about the used assets in a bundled README.txt file. But then only if users are likely to find and read that file.
'''Rendered image'''
If at all feasible, include info about the assets as stamped-on text in the image as such. Let's use Wolgade's demonstration of MindFront's bikini asset as an example:
[[File:Included_ccby.jpg|250px|thumb|left|Image with CC-BY info included]]<BR clear=all>
If it is not feasible to include the information in the image as such, it is acceptable to add the information in text alongside the image where you post it.
ac356a9fa23e781dab7160cce1bea08bcf07c7a1
1427
1426
2017-08-20T08:41:35Z
Joepal
14
wikitext
text/x-wiki
Note that the following is a practical interpretation of the CC-BY license. If you want to get into the details, you should start at https://creativecommons.org/licenses/by/2.0/ and then also read the full license text at https://creativecommons.org/licenses/by/4.0/legalcode
MakeHuman as such has a CC0 exception for exported models. However, that only applies for content that was provided by MakeHuman as such. Specifically it does ''not'' apply to assets you downloaded separately from the user contributed asset respositories.
In those repositories, you will find assets that come licensed in two forms: CC0 and CC-BY.
If an asset is licensed CC0, you can use it in the same way as you use all other MakeHuman assets: you don't need to do anything in particular at all when using the asset.
If an asset is licensed CC-BY however, you must live up to the obligations of that license. You are granted usage of the asset only under the premise that you ''tell end users of your work that you used the model in question, and who you got the model from''.
It is also etiquette, but not legally required, to say ''where'' you downloaded the model.
== Examples of how to live up to the CC-BY license ==
Let's use one of Punkduck's assets as an example: http://www.makehumancommunity.org/clothes/godkiller_sword_wonder_woman.html
'''Youtube'''
When producing a video, it is etiquette to include info about the asset inside the video, for example in rolling credits at the end. If this is not possible to do, then as a last resort it is acceptable to include the information in the video description where you posted the video (for example in youtube's "description" field). An example formulation would be:
''This video uses the "God-killer Sword (Wonder Woman)" asset by Punkduck, shared under the terms of Creative Commons Attribution 4.0'''
'''Closed-source game'''
In applications and games, you will most likely have an "about" or "legal info" menu entry or popup box. This is an appropriate place for information about the usage of CC-BY assets.
As a last resort, it would be acceptable to include information about the used assets in a bundled README.txt file. But then only if users are likely to find and read that file.
'''Rendered image'''
If at all feasible, include info about the assets as stamped-on text in the image as such. Let's use Wolgade's demonstration of MindFront's bikini asset as an example:
[[File:Included_ccby.jpg|250px|thumb|left|Image with CC-BY info included]]<BR clear=all>
If it is not feasible to include the information in the image as such, it is acceptable to add the information in text alongside the image where you post it.
21505315811d6f082850d15f1a02bbdbca935f0c
1426
1425
2017-08-20T08:33:31Z
Joepal
14
wikitext
text/x-wiki
MakeHuman as such has a CC0 exception for exported models. However, that only applies for content that was provided by MakeHuman as such. Specifically it does ''not'' apply to assets you downloaded separately from the user contributed asset respositories.
In those repositories, you will find assets that come licensed in two forms: CC0 and CC-BY.
If an asset is licensed CC0, you can use it in the same way as you use all other MakeHuman assets: you don't need to do anything in particular at all when using the asset.
If an asset is licensed CC-BY however, you must live up to the obligations of that license. You are granted usage of the asset only under the premise that you ''tell end users of your work that you used the model in question, and who you got the model from''.
It is also etiquette, but not legally required, to say ''where'' you downloaded the model.
== Examples of how to live up to the CC-BY license ==
Let's use one of Punkduck's assets as an example: http://www.makehumancommunity.org/clothes/godkiller_sword_wonder_woman.html
'''Youtube'''
When producing a video, it is etiquette to include info about the asset inside the video, for example in rolling credits at the end. If this is not possible to do, then as a last resort it is acceptable to include the information in the video description where you posted the video (for example in youtube's "description" field). An example formulation would be:
''This video uses the "God-killer Sword (Wonder Woman)" asset by Punkduck'''
'''Closed-source game'''
In applications and games, you will most likely have an "about" or "legal info" menu entry or popup box. This is an appropriate place for information about the usage of CC-BY assets.
As a last resort, it would be acceptable to include information about the used assets in a bundled README.txt file. But then only if users are likely to find and read that file.
'''Rendered image'''
If at all feasible, include info about the assets as stamped-on text in the image as such. Let's use Wolgade's demonstration of MindFront's bikini asset as an example:
[[File:Included_ccby.jpg|250px|thumb|left|Image with CC-BY info included]]<BR clear=all>
If it is not feasible to include the information in the image as such, it is acceptable to add the information in text alongside the image where you post it.
51c2b24001723c7af3677fecb283e49e0c1c6eb4
1425
1424
2017-08-20T08:32:11Z
Joepal
14
wikitext
text/x-wiki
MakeHuman as such has a CC0 exception for exported models. However, that only applies for content that was provided by MakeHuman as such. Specifically it does ''not'' apply to assets you downloaded separately from the user contributed asset respositories.
In those repositories, you will find assets that come licensed in two forms: CC0 and CC-BY.
If an asset is licensed CC0, you can use it in the same way as you use all other MakeHuman assets: you don't need to do anything in particular at all when using the asset.
If an asset is licensed CC-BY however, you must live up to the obligations of that license. You are granted usage of the asset only under the premise that you ''tell end users of your work that you used the model in question, and who you got the model from''.
It is also etiquette, but not legally required, to say ''where'' you downloaded the model.
== Examples of how to live up to the CC-BY license ==
Let's use one of PunkDuck's assets as an example: http://www.makehumancommunity.org/clothes/godkiller_sword_wonder_woman.html
'''Youtube'''
When producing a video, it is etiquette to include info about the asset inside the video, for example in rolling credits at the end. If this is not possible to do, then as a last resort it is acceptable to include the information in the video description where you posted the video (for example in youtube's "description" field). An example formulation would be:
''This video uses the "God-killer Sword (Wonder Woman)" asset by PunkDuck'''
'''Closed-source game'''
In applications and games, you will most likely have an "about" or "legal info" menu entry or popup box. This is an appropriate place for information about the usage of CC-BY assets.
As a last resort, it would be acceptable to include information about the used assets in a bundled README.txt file. But then only if users are likely to find and read that file.
'''Rendered image'''
If at all feasible, include info about the assets as stamped-on text in the image as such. Let's use Wolgade's demonstration of MindFront's bikini asset as an example:
[[File:Included_ccby.jpg|250px|thumb|left|Image with CC-BY info included]]<BR clear=all>
If it is not feasible to include the information in the image as such, it is acceptable to add the information in text alongside the image where you post it.
413fe955e6af3b085115c866838a283a3de0537f
1424
1423
2017-08-20T08:31:00Z
Joepal
14
wikitext
text/x-wiki
MakeHuman as such has a CC0 exception for exported models. However, that only applies for content that was provided by MakeHuman as such. Specifically it does ''not'' apply to assets you downloaded separately from the user contributed asset respositories.
In those repositories, you will find assets that come licensed in two forms: CC0 and CC-BY.
If an asset is licensed CC0, you can use it in the same way as you use all other MakeHuman assets: you don't need to do anything in particular at all when using the asset.
If an asset is licensed CC-BY however, you must live up to the obligations of that license. You are granted usage of the asset only under the premise that you ''tell end users of your work that you used the model in question, and who you got the model from''.
It is also etiquette, but not legally required, to say ''where'' you downloaded the model.
== Examples of how to live up to the CC-BY license ==
Let's use one of PunkDuck's assets as an example: http://www.makehumancommunity.org/clothes/godkiller_sword_wonder_woman.html
'''Youtube'''
When producing a video, it is etiquette to include info about the asset inside the video, for example in rolling credits at the end. If this is not possible to do, then as a last resort it is acceptable to include the information in the video description where you posted the video (for example in youtube's "description" field). An example formulation would be:
''This video uses the "God-killer Sword (Wonder Woman)" asset by PunkDuck'''
'''Closed-source game'''
In applications and games, you will most likely have an "about" or "legal info" menu entry or popup box. This is an appropriate place for information about the usage of CC-BY assets.
As a last resort, it would be acceptable to include information about the used assets in a bundled README.txt file. But then only if users are likely to find and read that file.
'''Rendered image'''
If at all feasible, include info about the assets as stamped-on text in the image as such. Let's use Wolgade's demonstration of MindFront's bikini asset as an example:
[[File:Included_ccby.jpg|250px|thumb|Image with CC-BY info included]]
If it is not feasible to include the information in the image as such, it is acceptable to add the information in text alongside the image where you post it.
fddcf5a3c34e980279c9c16da3bf5ce28e7c7be1
1423
1421
2017-08-20T08:30:34Z
Joepal
14
wikitext
text/x-wiki
MakeHuman as such has a CC0 exception for exported models. However, that only applies for content that was provided by MakeHuman as such. Specifically it does ''not'' apply to assets you downloaded separately from the user contributed asset respositories.
In those repositories, you will find assets that come licensed in two forms: CC0 and CC-BY.
If an asset is licensed CC0, you can use it in the same way as you use all other MakeHuman assets: you don't need to do anything in particular at all when using the asset.
If an asset is licensed CC-BY however, you must live up to the obligations of that license. You are granted usage of the asset only under the premise that you ''tell end users of your work that you used the model in question, and who you got the model from''.
It is also etiquette, but not legally required, to say ''where'' you downloaded the model.
== Examples of how to live up to the CC-BY license ==
Let's use one of PunkDuck's assets as an example: http://www.makehumancommunity.org/clothes/godkiller_sword_wonder_woman.html
'''Youtube'''
When producing a video, it is etiquette to include info about the asset inside the video, for example in rolling credits at the end. If this is not possible to do, then as a last resort it is acceptable to include the information in the video description where you posted the video (for example in youtube's "description" field). An example formulation would be:
''This video uses the "God-killer Sword (Wonder Woman)" asset by PunkDuck'''
'''Closed-source game'''
In applications and games, you will most likely have an "about" or "legal info" menu entry or popup box. This is an appropriate place for information about the usage of CC-BY assets.
As a last resort, it would be acceptable to include information about the used assets in a bundled README.txt file. But then only if users are likely to find and read that file.
'''Rendered image'''
If at all feasible, include info about the assets as stamped-on text in the image as such. Let's use Wolgade's demonstration of MindFront's bikini asset as an example:
[[File:Included_ccby.jpg|250px|thumb|left|Image with CC-BY info included]]
If it is not feasible to include the information in the image as such, it is acceptable to add the information in text alongside the image where you post it.
e919ecf3ff96617d926a5ffa151a5a9cff937d0f
1421
1420
2017-08-20T08:20:18Z
Joepal
14
wikitext
text/x-wiki
MakeHuman as such has a CC0 exception for exported models. However, that only applies for content that was provided by MakeHuman as such. Specifically it does ''not'' apply to assets you downloaded separately from the user contributed asset respositories.
In those repositories, you will find assets that come licensed in two forms: CC0 and CC-BY.
If an asset is licensed CC0, you can use it in the same way as you use all other MakeHuman assets: you don't need to do anything in particular at all when using the asset.
If an asset is licensed CC-BY however, you must live up to the obligations of that license. You are granted usage of the asset only under the premise that you ''tell end users of your work that you used the model in question, and who you got the model from''.
It is also etiquette, but not legally required, to say ''where'' you downloaded the model.
== Examples of how to live up to the CC-BY license ==
Let's use one of PunkDuck's assets as an example: http://www.makehumancommunity.org/clothes/godkiller_sword_wonder_woman.html
'''Youtube'''
When producing a video, it is etiquette to include info about the asset inside the video, for example in rolling credits at the end. If this is not possible to do, then as a last resort it is acceptable to include the information in the video description where you posted the video (for example in youtube's "description" field). An example formulation would be:
''This video uses the "God-killer Sword (Wonder Woman)" asset by PunkDuck'''
'''Closed-source game'''
In applications and games, you will most likely have an "about" or "legal info" menu entry or popup box. This is an appropriate place for information about the usage of CC-BY assets.
As a last resort, it would be acceptable to include information about the used assets in a bundled README.txt file. But then only if users are likely to find and read that file.
24e3fbec40b65745aa5603f6b14505732787434e
1420
1419
2017-08-20T08:15:31Z
Joepal
14
wikitext
text/x-wiki
MakeHuman as such has a CC0 exception for exported models. However, that only applies for content that was provided by MakeHuman as such. Specifically it does ''not'' apply to assets you downloaded separately from the user contributed asset respositories.
In those repositories, you will find assets that come licensed in two forms: CC0 and CC-BY.
If an asset is licensed CC0, you can use it in the same way as you use all other MakeHuman assets: you don't need to do anything in particular at all when using the asset.
If an asset is licensed CC-BY however, you must live up to the obligations of that license. You are granted usage of the asset only under the premise that you ''tell end users of your work that you used the model in question, and who you got the model from''.
It is also etiquette, but not legally required, to say where you got the model from.
== Examples of how to live up to the CC-BY license ==
Let's use one of PunkDuck's assets as an example: http://www.makehumancommunity.org/clothes/godkiller_sword_wonder_woman.html
'''Youtube'''
When producing a video, it is etiquette to include info about the asset inside the video, for example in rolling credits at the end. If this is not possible to do, then as a last resort it is acceptable to include the information in the video description where you posted the video (for example in youtube's "description" field). An example formulation would be:
''This video uses the "God-killer Sword (Wonder Woman)" asset by PunkDuck'''
'''Closed-source game'''
In applications and games, you will most likely have an "about" or "legal info" menu entry or popup box. This is an appropriate place for information about the usage of CC-BY assets.
As a last resort, it would be acceptable to include information about the used assets in a bundled README.txt file. But then only if users are likely to find and read that file.
0b104be22cce2cd51bf1b83e27e721e2ea51ac8f
1419
1418
2017-08-20T08:13:53Z
Joepal
14
wikitext
text/x-wiki
MakeHuman as such has a CC0 exception for exported models. However, that only applies for content that was provided by MakeHuman as such. Specifically it does ''not'' apply to assets you downloaded separately from the user contributed asset respositories.
In those repositories, you will find assets that come licensed in two forms: CC0 and CC-BY.
If an asset is licensed CC0, you can use it in the same way as you use all other MakeHuman assets: you don't need to do anything in particular at all when using the asset.
If an asset is licensed CC-BY however, you must live up to the obligations of that license. You are granted usage of the asset only under the premise that you ''tell end users of your work that you used the model in question, and who you got the model from''.
== Examples of how to live up to the CC-BY license ==
Let's use one of PunkDuck's assets as an example: http://www.makehumancommunity.org/clothes/godkiller_sword_wonder_woman.html
'''Youtube'''
When producing a video, it is etiquette to include info about the asset inside the video, for example in rolling credits at the end. If this is not possible to do, then as a last resort it is acceptable to include the information in the video description where you posted the video (for example in youtube's "description" field). An example formulation would be:
''This video uses the "God-killer Sword (Wonder Woman)" asset by PunkDuck'''
'''Closed-source game'''
In applications and games, you will most likely have an "about" or "legal info" menu entry or popup box. This is an appropriate place for information about the usage of CC-BY assets.
As a last resort, it would be acceptable to include information about the used assets in a bundled README.txt file. But then only if users are likely to find and read that file.
f31bc80253af3f156713b95bc019132f56d68b33
1418
2017-08-20T08:12:02Z
Joepal
14
Created page with "MakeHuman as such has a CC0 exception for exported models. However, that only applies for content that was provided by MakeHuman as such. Specifically it does ''not'' apply to..."
wikitext
text/x-wiki
MakeHuman as such has a CC0 exception for exported models. However, that only applies for content that was provided by MakeHuman as such. Specifically it does ''not'' apply to assets you downloaded separately from the user contributed asset respositories.
In those repositories, you will find assets that come licensed in two forms: CC0 and CC-BY.
If an asset is licensed CC0, you can use it in the same way as you use all other MakeHuman assets: you don't need to do anything in particular at all when using the asset.
If an asset is licensed CC-BY however, you must live up to the obligations of that license. You are granted usage of the asset only under the premise that you ''tell end users of your work who you got the model from'', and preferably where you got it.
== Examples of how to live up to the CC-BY license ==
Let's use one of PunkDuck's assets as an example: http://www.makehumancommunity.org/clothes/godkiller_sword_wonder_woman.html
'''Youtube'''
When producing a video, it is etiquette to include info about the asset inside the video, for example in rolling credits at the end. If this is not possible to do, then as a last resort it is acceptable to include the information in the video description where you posted the video (for example in youtube's "description" field). An example formulation would be:
''This video uses the "God-killer Sword (Wonder Woman)" asset by PunkDuck'''
'''Closed-source game'''
In applications and games, you will most likely have an "about" or "legal info" menu entry or popup box. This is an appropriate place for information about the usage of CC-BY assets.
As a last resort, it would be acceptable to include information about the used assets in a bundled README.txt file. But then only if users are likely to find and read that file.
6757beb4cfb59e460f7f28275cf7b870d39731b0
FAQ:What happened to MakeWalk?
3002
615
1753
2020-04-10T09:34:46Z
Joepal
14
Created page with "MakeWalk has been marked as deprecated by its author Thomas Larsson. The recommended replacement is BVH Retargeter from https://diffeomorphic.blogspot.com/p/bvh-retargeter.htm..."
wikitext
text/x-wiki
MakeWalk has been marked as deprecated by its author Thomas Larsson. The recommended replacement is BVH Retargeter from https://diffeomorphic.blogspot.com/p/bvh-retargeter.html
Note that the MH dev group isn't involved in either product and thus cannot answer any questions regarding bugs or development for these.
6cb592f040b06acbf59b743f1dd94206b1ea5529
FAQ:What happened to the MHX export in MH 1.1.x and later?
3002
26
1553
1552
2019-01-02T09:36:41Z
Joepal
14
wikitext
text/x-wiki
'''Short version (for MakeHuman 1.2.x):'''
MHX2 is bundled and enabled per default in the latest alphas of MakeHuman 1.2.x, but you still need to install the addon in blender. The blender side of the addon, is shipped with the MakeHuman installation zip.
'''Short version (for MakeHuman 1.1.x):'''
MHX2 is now a plugin you download from https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange
If you use Blender you will most likely want to install this. If you don't use Blender, there is not yet an importer available for your application.
For installation of the MakeHuman exporter component, you should save the ''9_export_mhx2'' folder into you MakeHuman plugins folder.
The location of this plugins folder will vary with operating system.
* '''MacOS X''': Macintosh HD/Applications/MakeHuman.app/Contents/Resources/plugins
* '''Windows 7/8/10''': C:\MakeHuman\plugins (Assuming you installed as C:\MakeHuman), or where MakeHuman was unzipped
* '''Debian/Ubuntu Linux''': /usr/share/makehuman/plugins (double check accuracy of this)
also see: [[FAQ:I downloaded a third party plug-in. How do I install it?]]
'''Long version:'''
The old MHX format has been deprecated (both by MakeHuman and by its author, Thomas Larsson).
Thomas Larsson has replaced MHX with MHX2 which is available as an external, separately maintained plugin. The major change from mhx to mhx2 is that it is now divided into separate exporter and importer components. This means it is theoretically possible to use .mhx2 with any application for which there is a suitable importer. Currently, the only importer available is for Blender.
For details on this MHX2 plugin (as well as download the MakeHuman Exporter and Blender Importer) see https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange
MHX2 is not integrated into the core distribution because of separate maintenance and release cycles. However, it remains one of the most high fidelity ways to move assets from MakeHuman to Blender (and other applications when suitable importers become available). The alternative is to use the generic transfer formats: DAE and FBX. Because of their generic nature, however, these will not give you the full convenience of using .mhx2.
If you need the specific features of MHX2, visit the link above and follow the instructions.
There is also a tutorial video on how to install MHX2 here: https://www.youtube.com/watch?v=3CCHGX-6Mtk
3346606fea116b36d83ef1ced46c62b7899c6f43
1552
1359
2019-01-02T09:36:25Z
Joepal
14
wikitext
text/x-wiki
'''Short version (for MakeHuman 1.2.x):'''
MHX2 is bundled and enabled per default in the latest alphas of MakeHuman 1.2.x, but you still need to install the addon in blender. The blender side of the addon, is shipped with the MakeHuman installation zip.
'''Short version (for MakeHuman 1.1.x):'''
MHX2 is now a plugin you download from https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange
If you use Blender you will most likely want to install this. If you don't use Blender, there is not yet an importer available for your application.
For installation of the MakeHuman exporter component, you should save the ''9_export_mhx2'' folder into you MakeHuman plugins folder.
The location of this plugins folder will vary with operating system.
* '''MacOS X''': Macintosh HD/Applications/MakeHuman.app/Contents/Resources/plugins
* '''Windows 7/8/10''': C:\MakeHuman\plugins (Assuming you installed as C:\MakeHuman), or where MakeHuman was unzipped
* '''Debian/Ubuntu Linux''': /usr/share/makehuman/plugins (double check accuracy of this)
also see: [[FAQ:I downloaded a third party plug-in. How do I install it?]]
'''Long version:'''
The old MHX format has been deprecated (both by MakeHuman and by its author, Thomas Larsson).
Thomas Larsson has replaced MHX with MHX2 which is available as an external, separately maintained plugin. The major change from mhx to mhx2 is that it is now divided into separate exporter and importer components. This means it is theoretically possible to use .mhx2 with any application for which there is a suitable importer. Currently, the only importer available is for Blender.
For details on this MHX2 plugin (as well as download the MakeHuman Exporter and Blender Importer) see https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange
MHX2 is not integrated into the core distribution because of separate maintenance and release cycles. However, it remains one of the most high fidelity ways to move assets from MakeHuman to Blender (and other applications when suitable importers become available). The alternative is to use the generic transfer formats: DAE and FBX. Because of their generic nature, however, these will not give you the full convenience of using .mhx2.
If you need the specific features of MHX2, visit the link above and follow the instructions.
There is also a tutorial video on how to install MHX2 here: https://www.youtube.com/watch?v=3CCHGX-6Mtk
9dcb7221f9c98a0dd8527f8e256240930788879d
1359
1357
2017-03-15T09:21:47Z
Aranuvir
17
wikitext
text/x-wiki
'''Short version:'''
MHX2 is now a plugin you download from https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange
If you use Blender you will most likely want to install this. If you don't use Blender, there is not yet an importer available for your application.
For installation of the MakeHuman exporter component, you should save the ''9_export_mhx2'' folder into you MakeHuman plugins folder.
The location of this plugins folder will vary with operating system.
* '''MacOS X''': Macintosh HD/Applications/MakeHuman.app/Contents/Resources/plugins
* '''Windows 7/8/10''': C:\MakeHuman\plugins (Assuming you installed as C:\MakeHuman), or where MakeHuman was unzipped
* '''Debian/Ubuntu Linux''': /usr/share/makehuman/plugins (double check accuracy of this)
also see: [[FAQ:I downloaded a third party plug-in. How do I install it?]]
'''Long version:'''
The old MHX format has been deprecated (both by MakeHuman and by its author, Thomas Larsson).
Thomas Larsson has replaced MHX with MHX2 which is available as an external, separately maintained plugin. The major change from mhx to mhx2 is that it is now divided into separate exporter and importer components. This means it is theoretically possible to use .mhx2 with any application for which there is a suitable importer. Currently, the only importer available is for Blender.
For details on this MHX2 plugin (as well as download the MakeHuman Exporter and Blender Importer) see https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange
MHX2 is not integrated into the core distribution because of separate maintenance and release cycles. However, it remains one of the most high fidelity ways to move assets from MakeHuman to Blender (and other applications when suitable importers become available). The alternative is to use the generic transfer formats: DAE and FBX. Because of their generic nature, however, these will not give you the full convenience of using .mhx2.
If you need the specific features of MHX2, visit the link above and follow the instructions.
There is also a tutorial video on how to install MHX2 here: https://www.youtube.com/watch?v=3CCHGX-6Mtk
c2470dc20dd2e058d650a0c79d36616d535c4430
1357
1356
2017-03-15T09:11:26Z
Aranuvir
17
wikitext
text/x-wiki
'''Short version:'''
MHX2 is now a plugin you download from https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange
If you use Blender you will most likely want to install this. If you don't use Blender, there is not yet an importer available for your application.
For installation of the MakeHuman exporter component, you should save the ''9_export_mhx2'' folder into you MakeHuman plugins folder.
The location of this plugins folder will vary with operating system.
* '''MacOS X''': Macintosh HD/Applications/MakeHuman.app/Contents/Resources/plugins
* '''Windows 7/8/10''': C:\MakeHuman\plugins (Assuming you installed as C:\MakeHuman), or where MakeHuman was unzipped
* '''Debian/Ubuntu Linux''': /usr/share/makehuman/plugins (double check accuracy of this)
'''Long version:'''
The old MHX format has been deprecated (both by MakeHuman and by its author, Thomas Larsson).
Thomas Larsson has replaced MHX with MHX2 which is available as an external, separately maintained plugin. The major change from mhx to mhx2 is that it is now divided into separate exporter and importer components. This means it is theoretically possible to use .mhx2 with any application for which there is a suitable importer. Currently, the only importer available is for Blender.
For details on this MHX2 plugin (as well as download the MakeHuman Exporter and Blender Importer) see https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange
MHX2 is not integrated into the core distribution because of separate maintenance and release cycles. However, it remains one of the most high fidelity ways to move assets from MakeHuman to Blender (and other applications when suitable importers become available). The alternative is to use the generic transfer formats: DAE and FBX. Because of their generic nature, however, these will not give you the full convenience of using .mhx2.
If you need the specific features of MHX2, visit the link above and follow the instructions.
There is also a tutorial video on how to install MHX2 here: https://www.youtube.com/watch?v=3CCHGX-6Mtk
42d96e4ca0f7a9aa497e4b5282aca1029cd8f99e
1356
1355
2017-03-15T09:08:02Z
Aranuvir
17
wikitext
text/x-wiki
'''Short version:'''
MHX2 is now a plugin you download from https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange
If you use Blender you will most likely want to install this. If you don't use Blender, there is not yet an importer available for your application.
For installation of the MakeHuman exporter component, you should save the ''9_export_mhx2'' folder into you MakeHuman plugins folder.
The location of this plugins folder will vary with operating system.
* '''MacIntosh OSX''': Macintosh HD/Applications/MakeHuman.app/Contents/Resources/plugins
* '''Windows 7/8/10''': C:\MakeHuman\plugins (Assuming you installed as C:\MakeHuman), or where MakeHuman was unzipped
* '''Debian/Ubuntu Linux''': /usr/share/makehuman/plugins (double check accuracy of this)
'''Long version:'''
The old MHX format has been deprecated (both by MakeHuman and by its author, Thomas Larsson).
Thomas Larsson has replaced MHX with MHX2 which is available as an external, separately maintained plugin. The major change from mhx to mhx2 is that it is now divided into separate exporter and importer components. This means it is theoretically possible to use .mhx2 with any application for which there is a suitable importer. Currently, the only importer available is for Blender.
For details on this MHX2 plugin (as well as download the MakeHuman Exporter and Blender Importer) see https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange
MHX2 is not integrated into the core distribution because of separate maintenance and release cycles. However, it remains one of the most high fidelity ways to move assets from MakeHuman to Blender (and other applications when suitable importers become available). The alternative is to use the generic transfer formats: DAE and FBX. Because of their generic nature, however, these will not give you the full convenience of using .mhx2.
If you need the specific features of MHX2, visit the link above and follow the instructions.
There is also a tutorial video on how to install MHX2 here: https://www.youtube.com/watch?v=3CCHGX-6Mtk
1abbce6b1764cf151aa6f3eaaf349d06a1f053a7
1355
1347
2017-03-15T02:16:55Z
Robbaer
12
wikitext
text/x-wiki
'''Short version:'''
MHX2 is now a plugin you download from https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange
If you use Blender you will most likely want to install this. If you don't use Blender, there is not yet an importer available for your application.
For installation of the MakeHuman exporter component, you should save the ''9_export_mhx2'' folder into you MakeHuman plugins folder.
The location of this plugins folder will vary with operating system.
* '''MacIntosh OSX''': Macintosh HD/Applications/MakeHuman.app/Contents/Resources/plugins
* '''Windows 7/8/10''': C:\MakeHuman\plugins (Assuming you installed as C:\MakeHuman)
* '''Debian/Ubuntu Linux''': ~/bin/makehuman/plugins (double check accuracy of this)
'''Long version:'''
The old MHX format has been deprecated (both by MakeHuman and by its author, Thomas Larsson).
Thomas Larsson has replaced MHX with MHX2 which is available as an external, separately maintained plugin. The major change from mhx to mhx2 is that it is now divided into separate exporter and importer components. This means it is theoretically possible to use .mhx2 with any application for which there is a suitable importer. Currently, the only importer available is for Blender.
For details on this MHX2 plugin (as well as download the MakeHuman Exporter and Blender Importer) see https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange
MHX2 is not integrated into the core distribution because of separate maintenance and release cycles. However, it remains one of the most high fidelity ways to move assets from MakeHuman to Blender (and other applications when suitable importers become available). The alternative is to use the generic transfer formats: DAE and FBX. Because of their generic nature, however, these will not give you the full convenience of using .mhx2.
If you need the specific features of MHX2, visit the link above and follow the instructions.
There is also a tutorial video on how to install MHX2 here: https://www.youtube.com/watch?v=3CCHGX-6Mtk
bc1678aac6b17b30d5b0c83caa56806cdb182e75
1347
1346
2017-03-14T23:17:24Z
Robbaer
12
wikitext
text/x-wiki
'''Short version:'''
MHX2 is now a plugin you download from https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange
If you use Blender you will most likely want to install this. If you don't use Blender, there is not yet an importer available for your application.
For installation of the MakeHuman exporter component, you should save the ''9_export_mhx2'' folder into you MakeHuman plugins folder.
The location of this plugins folder will vary with operating system.
* '''MacIntosh OSX''': Macintosh HD/Applications/MakeHuman.app/Contents/Resources/plugins
* '''Windows 7/8/10''': C:\MakeHuman\plugins (Assuming you installed as C:\MakeHuman)
* '''Debian/Ubuntu Linux''': ~/bin/makehuman/plugins (double check accuracy of this)
'''Long version:'''
The old MHX format has been deprecated (both by MakeHuman and by its author, Thomas Larsson).
Thomas Larsson has replaced MHX with MHX2 which is available as an external, separately maintained plugin. The major change from mhx to mhx2 is that it is now divided into separate exporter and importer components. This means it is theoretically possible to use .mhx2 with any application for which there is a suitable importer. Currently, the only importer available is for Blender.
For details on this MHX2 plugin (as well as download the MakeHuman Exporter and Blender Importer) see https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange
MHX2 is not integrated into the core distribution because of separate maintenance and release cycles. However, it remains one of the most high fidelity ways to move assets from MakeHuman to Blender (and other applications when suitable importers become available). The alternative is to use the generic transfer formats: DAE and FBX. Because of their generic nature their generic nature, however, these will not give you the full convenience of using .mhx2.
If you need the specific features of MHX2, visit the link above and follow the instructions.
There is also a tutorial video on how to install MHX2 here: https://www.youtube.com/watch?v=3CCHGX-6Mtk
ef615259b250fc4f1ec8ef9fd8e86d1be45d4056
1346
1345
2017-03-14T23:16:11Z
Robbaer
12
wikitext
text/x-wiki
'''Short version:'''
MHX2 is now a plugin you download from https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange
If you use Blender you will most likely want to install this. If you don't use Blender, there is not yet an importer available for your application.
For installation of the MakeHuman exporter component, you should save the ''9_export_mhx2'' folder into you MakeHuman plugins folder.
The location of this plugins folder will vary with operating system.
* MacIntosh OSX: Macintosh HD/Applications/MakeHuman.app/Contents/Resources/plugins
* Windows 7/8/10: C:\MakeHuman\plugins (Assuming you installed as C:\MakeHuman)
* Debian/Ubuntu Linux: ~/bin/makehuman/plugins (double check accuracy of this)
'''Long version:'''
The old MHX format has been deprecated (both by MakeHuman and by its author, Thomas Larsson).
Thomas Larsson has replaced MHX with MHX2 which is available as an external, separately maintained plugin. The major change from mhx to mhx2 is that it is now divided into separate exporter and importer components. This means it is theoretically possible to use .mhx2 with any application for which there is a suitable importer. Currently, the only importer available is for Blender.
For details on this MHX2 plugin (as well as download the MakeHuman Exporter and Blender Importer) see https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange
MHX2 is not integrated into the core distribution because of separate maintenance and release cycles. However, it remains one of the most high fidelity ways to move assets from MakeHuman to Blender (and other applications when suitable importers become available). The alternative is to use the generic transfer formats: DAE and FBX. Because of their generic nature their generic nature, however, these will not give you the full convenience of using .mhx2.
If you need the specific features of MHX2, visit the link above and follow the instructions.
There is also a tutorial video on how to install MHX2 here: https://www.youtube.com/watch?v=3CCHGX-6Mtk
170e69ca1cd3c40d42b1b6f44cee80db8521bf34
1345
1344
2017-03-14T15:45:24Z
Robbaer
12
wikitext
text/x-wiki
'''Short version:'''
MHX2 is now a plugin you download from https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange
If you use Blender you will most likely want to install this. If you don't use Blender, there is not yet an importer available for your application.
For installation of the MakeHuman exporter component, you should save the ''9_export_mhx2'' folder into you MakeHuman plugins folder.
The location of this plugins folder will vary with operating system.
* MacIntosh OSX: Macintosh HD/Applications/MakeHuman.app/Contents/Resources/plugins
* Windows 7/8/10: C:\MakeHuman\plugins (Assuming you installed as C:\MakeHuman)
* Debian/Ubuntu Linux: ~/bin/makehuman/plugins (double check accuracy of this)
'''Long version:'''
The old MHX format has been deprecated (both by MakeHuman and by its author, Thomas Larsson).
Thomas Larsson has replaced MHX with MHX2 which is available as an external, separately maintained plugin. The major change with mhx2 is that it was divided into separate exporter and importer components. This means it is theoretically possible to use .mhx2 with any application for which there is a suitable importer. Currently, the only importer available ifs for Blender.
For details on this MHX2 plugin (as well as download the MakeHuman Exporter and Blender Importer) see https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange
MHX2 is not integrated in the core distribution because of separate maintenance and release cycles. However, it remains one of the most high fidelity ways to move assets from MakeHuman to Blender (and other applications when suitable importers become available). The alternative is to use the generic transfer formats: DAE and FBX. Because of their generic nature their generic nature, however, these will not give you the full convenience of using .mhx2.
If you need the specific features of MHX2, visit the link above and follow the instructions.
There is also a tutorial video on how to install MHX2 here: https://www.youtube.com/watch?v=3CCHGX-6Mtk
af117c9cc87016124fa7dbc4be335029fe67418c
1344
1343
2017-03-14T15:28:13Z
Robbaer
12
wikitext
text/x-wiki
'''Short version:'''
MHX2 is now a plugin you download from https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange
If you use Blender you will most likely want to install this. If you don't use Blender, there is not yet an importer available for your application.
For installation of the MakeHuman exporter component, you should save the ''9_export_mhx2'' folder into you MakeHuman plugins folder.
The location of this plugins folder will vary with operating system.
* MacIntosh OSX: Macintosh HD/Applications/MakeHuman.app/Contents/Resources/plugins
* Windows 7/8/10: C:\MakeHuman\plugins (Assuming you installed as C:\MakeHuman)
* Debian/Ubuntu Linux: ~/bin/makehuman/plugins (double check accuracy of this)
'''Long version:'''
The old MHX format has been deprecated (both by MakeHuman and by its author, Thomas Larsson).
Thomas Larsson has replaced MHX with MHX2 which is available as an external, separately maintained plugin. The major change with mhx2 is that it was divided into separate exporter and importer components. This means it is theoretically possible to use .mhx2 with any application for which there is a suitable importer. Currently, the only importer available ifs for Blender.
For details on this MHX2 plugin (as well as download the MakeHuman Exporter and Blender Importer) see https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange
MHX2 is not integrated in the core distribution because of separate maintenance and release cycles. However, it remains the most high fidelity ways to move assets from MakeHuman to Blender (and other applications when suitable importers become available). The alternative is to use the generic transfer formats: DAE and FBX. Because of their generic nature their generic nature, these will not give you the full fidelity of using .mhx2.
If you need the specific features of MHX2, visit the link above and follow the instructions.
There is also a tutorial video on how to install MHX2 here: https://www.youtube.com/watch?v=3CCHGX-6Mtk
87937b8c52b5a800a1ba04a59841ed1e5984ca4b
1343
1342
2017-03-14T15:25:53Z
Robbaer
12
wikitext
text/x-wiki
'''Short version:'''
MHX2 is now a plugin you download from https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange
If you use Blender you will most likely want to install this. If you don't use Blender, there is not yet an importer available for your application.
For installation of the MakeHuman exporter component, you should save the ''9_export_mhx2'' folder into you MakeHuman plugins folder.
The location of this plugins folder will vary with operating system.
* MacIntosh OSX: Macintosh HD/Applications/MakeHuman.app/Contents/Resources/plugins
* Windows 7/8/10: C:\MakeHuman\plugins (Assuming you installed as C:\MakeHuman)
* Debian/Ubuntu Linux: ~/bin/makehuman/plugins (double check accuracy of this)
'''Long version:'''
The old MHX format has been deprecated (both by MakeHuman and by its author, Thomas Larsson).
Thomas Larsson has replaced MHX with MHX2 which is available as an external, separately maintained plugin. The major change with mhx2 is that it was broken into separate exporter and importer components, so that this format can theoretically be used with any application for which there is a suitable importer. Currently, the only importer available ifs for Blender.
For details on this MHX2 plugin (as well as download the MakeHuman Exporter and Blender Importer) see https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange
MHX2 is not integrated in the core distribution because of separate maintenance and release cycles. However, it remains the most high fidelity ways to move assets from MakeHuman to Blender (and other applications when suitable importers become available). The alternative is to use the generic transfer formats: DAE and FBX. Because of their generic nature their generic nature, these will not give you the full fidelity of using .mhx2.
If you need the specific features of MHX2, visit the link above and follow the instructions.
There is also a tutorial video on how to install MHX2 here: https://www.youtube.com/watch?v=3CCHGX-6Mtk
71313d6002e3e747e21d5be29466b051de5ded22
1342
1341
2017-03-14T14:51:52Z
Robbaer
12
wikitext
text/x-wiki
'''Short version:'''
MHX2 is now a plugin you download from https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange
If you use Blender you will most likely want to install this. If you don't use Blender, there is not yet an importer available for your application.
For installation of the MakeHuman exporter component, you should save the ''9_export_mhx2'' folder into you MakeHuman plugins folder.
The location of this plugins folder will vary with operating system.
* MacIntosh OSX: Macintosh HD/Applications/MakeHuman.app/Contents/Resources/plugins
* Windows 7/8/10: C:\MakeHuman\plugins (Assuming you installed as C:\MakeHuman)
* Debian/Ubuntu Linux: ~/bin/makehuman/plugins (double check accuracy of this)
'''Long version:'''
The old MHX format has been deprecated (both by MakeHuman and by the author of MHX). Although it's still a part of Blender's code base, it is not recommended to keep using it.
For the MHX maintainer's (Thomas Larsson) part, MHX has been replaced with MHX2. More info on this (as well as downloads) see https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange
For MakeHuman's part, it was decided to not integrate MHX2 in the core distribution for a few reasons:
* It's a large code base with a different release cycle than MH
* Having MHX2 as a plugin rather than as a part of the code makes for better code structure
* It was felt that it was better to shift focus to generic formats such as DAE and FBX.
If you need the specific features of MHX2, visit the link above and follow the instructions.
There is also a tutorial video on how to install MHX2 here: https://www.youtube.com/watch?v=3CCHGX-6Mtk
1389f28738c9086e547d459185c8c8d51bbfb7d0
1341
1340
2017-03-14T14:51:30Z
Robbaer
12
wikitext
text/x-wiki
'''Short version:'''
MHX2 is now a plugin you download from https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange
If you use Blender you will most likely want to install this. If you don't use Blender, there is not yet an importer available for your application.
For installation of the MakeHuman exporter component, you should save the ''9_export_mhx2'' folder into you MakeHuman plugins folder.
The location of this plugins folder will vary with operating system.
* MacIntosh OSX: Macintosh HD/Applications/MakeHuman.app/Contents/Resources/plugins
* Windows 7/8/10: C:\MakeHuman\plugins (Assuming you installed as C:\MakeHuman)
* Debian/Ubuntu Linux: ~/bin/makehuman/plugins (check accuracy of this)
'''Long version:'''
The old MHX format has been deprecated (both by MakeHuman and by the author of MHX). Although it's still a part of Blender's code base, it is not recommended to keep using it.
For the MHX maintainer's (Thomas Larsson) part, MHX has been replaced with MHX2. More info on this (as well as downloads) see https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange
For MakeHuman's part, it was decided to not integrate MHX2 in the core distribution for a few reasons:
* It's a large code base with a different release cycle than MH
* Having MHX2 as a plugin rather than as a part of the code makes for better code structure
* It was felt that it was better to shift focus to generic formats such as DAE and FBX.
If you need the specific features of MHX2, visit the link above and follow the instructions.
There is also a tutorial video on how to install MHX2 here: https://www.youtube.com/watch?v=3CCHGX-6Mtk
b7694b3c3357d37987ba50c4abfd57139c05d13b
1340
1339
2017-03-14T14:50:42Z
Robbaer
12
wikitext
text/x-wiki
'''Short version:'''
MHX2 is now a plugin you download from https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange
If you use Blender you will most likely want to install this. If you don't use Blender, there is not yet an importer available for your application.
For installation of the MakeHuman exporter component, you should save the ''9_export_mhx2'' folder into you MakeHuman plugins folder.
The location of this plugins folder will vary with operating system.
* MacIntosh OSX: Macintosh HD/Applications/MakeHuman.app/Contents/Resources/plugins
* Windows 7/8/10: C:\MakeHuman\plugins (Assuming you installed as C:\MakeHuman)
* Debian/Ubuntu Linux: ~/bin/makehuman/plugins (check accuracy of this)
Posts: 2
Joined: Thu Feb 23, 2017 5:54 pm
One Click Ban: [ One Click Ban ]
User Flagged: No [ Flag ]
'''Long version:'''
The old MHX format has been deprecated (both by MakeHuman and by the author of MHX). Although it's still a part of Blender's code base, it is not recommended to keep using it.
For the MHX maintainer's (Thomas Larsson) part, MHX has been replaced with MHX2. More info on this (as well as downloads) see https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange
For MakeHuman's part, it was decided to not integrate MHX2 in the core distribution for a few reasons:
* It's a large code base with a different release cycle than MH
* Having MHX2 as a plugin rather than as a part of the code makes for better code structure
* It was felt that it was better to shift focus to generic formats such as DAE and FBX.
If you need the specific features of MHX2, visit the link above and follow the instructions.
There is also a tutorial video on how to install MHX2 here: https://www.youtube.com/watch?v=3CCHGX-6Mtk
671550b1d55c7fb7314bd624e04f38b5e7055e56
1339
1338
2017-03-14T14:50:02Z
Robbaer
12
wikitext
text/x-wiki
'''Short version:'''
MHX2 is now a plugin you download from https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange
If you use Blender you will most likely want to install this. If you don't use Blender, there is not yet an importer available for your application.
For installation of the MakeHuman exporter component, you should save the ''9_export_mhx2'' folder into you MakeHuman plugins folder. The location of this plugins folder will vary with operating system.
* MacIntosh OSX: Macintosh HD/Applications/MakeHuman.app/Contents/Resources/plugins
* Windows 7/8/10: C:\MakeHuman\plugins (Assuming you installed as C:\MakeHuman)
* Debian/Ubuntu Linux: ~/bin/makehuman/plugins (check accuracy of this)
Posts: 2
Joined: Thu Feb 23, 2017 5:54 pm
One Click Ban: [ One Click Ban ]
User Flagged: No [ Flag ]
'''Long version:'''
The old MHX format has been deprecated (both by MakeHuman and by the author of MHX). Although it's still a part of Blender's code base, it is not recommended to keep using it.
For the MHX maintainer's (Thomas Larsson) part, MHX has been replaced with MHX2. More info on this (as well as downloads) see https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange
For MakeHuman's part, it was decided to not integrate MHX2 in the core distribution for a few reasons:
* It's a large code base with a different release cycle than MH
* Having MHX2 as a plugin rather than as a part of the code makes for better code structure
* It was felt that it was better to shift focus to generic formats such as DAE and FBX.
If you need the specific features of MHX2, visit the link above and follow the instructions.
There is also a tutorial video on how to install MHX2 here: https://www.youtube.com/watch?v=3CCHGX-6Mtk
344267892827927cbffa8d55c0d46b22d8dfc087
1338
1337
2017-03-14T14:48:46Z
Robbaer
12
wikitext
text/x-wiki
'''Short version:'''
MHX2 is now a plugin you download from https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange
If you use Blender you will most likely want to install this. If you don't use Blender, there is not yet an importer available for your application.
For installation of the MakeHuman exporter component, you should save the ''9_export_mhx2'' folder into you MakeHuman plugins folder. The location of this plugins folder will vary with operating system.
* MacIntosh OSX: Macintosh HD/Applications/MakeHuman.app/Contents/Resources/plugins
* Windows 7/8/10: C:\MakeHuman\plugins (Assuming you installed in C:\)
* Debian/Ubuntu Linux: ~/bin/makehuman/plugins (check accuracy of this)
Posts: 2
Joined: Thu Feb 23, 2017 5:54 pm
One Click Ban: [ One Click Ban ]
User Flagged: No [ Flag ]
'''Long version:'''
The old MHX format has been deprecated (both by MakeHuman and by the author of MHX). Although it's still a part of Blender's code base, it is not recommended to keep using it.
For the MHX maintainer's (Thomas Larsson) part, MHX has been replaced with MHX2. More info on this (as well as downloads) see https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange
For MakeHuman's part, it was decided to not integrate MHX2 in the core distribution for a few reasons:
* It's a large code base with a different release cycle than MH
* Having MHX2 as a plugin rather than as a part of the code makes for better code structure
* It was felt that it was better to shift focus to generic formats such as DAE and FBX.
If you need the specific features of MHX2, visit the link above and follow the instructions.
There is also a tutorial video on how to install MHX2 here: https://www.youtube.com/watch?v=3CCHGX-6Mtk
adf83104b8d53be9d335484c4001b05354f8dc43
1337
1336
2017-03-14T14:48:02Z
Robbaer
12
wikitext
text/x-wiki
'''Short version:'''
MHX2 is now a plugin you download from https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange
If you use Blender you will most likely want to install this. If you don't use Blender, there is not yet an importer available for your application.
For installation of the MakeHuman exporter component, you should save the ''9_export_mhx2 folder'' folder into you MakeHuman plugins folder. The location of this plugins folder will vary with operating system.
* MacIntosh OSX: Macintosh HD/Applications/MakeHuman.app/Contents/Resources/plugins
* Windows 7/8/10: C:\MakeHuman\plugins (Assuming you installed in C:\)
* Debian/Ubuntu Linux: ~/bin/makehuman/plugins (check accuracy of this)
Posts: 2
Joined: Thu Feb 23, 2017 5:54 pm
One Click Ban: [ One Click Ban ]
User Flagged: No [ Flag ]
'''Long version:'''
The old MHX format has been deprecated (both by MakeHuman and by the author of MHX). Although it's still a part of Blender's code base, it is not recommended to keep using it.
For the MHX maintainer's (Thomas Larsson) part, MHX has been replaced with MHX2. More info on this (as well as downloads) see https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange
For MakeHuman's part, it was decided to not integrate MHX2 in the core distribution for a few reasons:
* It's a large code base with a different release cycle than MH
* Having MHX2 as a plugin rather than as a part of the code makes for better code structure
* It was felt that it was better to shift focus to generic formats such as DAE and FBX.
If you need the specific features of MHX2, visit the link above and follow the instructions.
There is also a tutorial video on how to install MHX2 here: https://www.youtube.com/watch?v=3CCHGX-6Mtk
b430399485f36c0bbeef8c0fbaac6bd0f2989684
1336
1335
2017-03-14T14:46:53Z
Robbaer
12
wikitext
text/x-wiki
'''Short version:'''
MHX2 is now a plugin you download from https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange
If you use Blender you will most likely want to install this. If you don't use Blender, there is not yet an importer available for your application.
For installation of the MakeHuman exporter component, you should save the ''9_export_mhx2 folder'' folder into you MakeHuman plugins folder. The location of this plugins folder will vary with operating system.
* MacIntosh OSX: Macintosh HD/Applications/MakeHuman.app/Contents/Resources/plugins
* Windows 7/8/10: C:\MakeHuman\plugins (Assuming you installed in C:\)
* Linux: ~/bin/makehuman/plugins (check accuracy of this)
Posts: 2
Joined: Thu Feb 23, 2017 5:54 pm
One Click Ban: [ One Click Ban ]
User Flagged: No [ Flag ]
'''Long version:'''
The old MHX format has been deprecated (both by MakeHuman and by the author of MHX). Although it's still a part of Blender's code base, it is not recommended to keep using it.
For the MHX maintainer's (Thomas Larsson) part, MHX has been replaced with MHX2. More info on this (as well as downloads) see https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange
For MakeHuman's part, it was decided to not integrate MHX2 in the core distribution for a few reasons:
* It's a large code base with a different release cycle than MH
* Having MHX2 as a plugin rather than as a part of the code makes for better code structure
* It was felt that it was better to shift focus to generic formats such as DAE and FBX.
If you need the specific features of MHX2, visit the link above and follow the instructions.
There is also a tutorial video on how to install MHX2 here: https://www.youtube.com/watch?v=3CCHGX-6Mtk
79de38b4cda41abc1427984f4b01f62afc7241d9
1335
1137
2017-03-14T14:34:39Z
Robbaer
12
wikitext
text/x-wiki
'''Short version:'''
MHX2 is now a plugin you download from https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange
If you use Blender you will most likely want to install this. If you don't use Blender, there is not yet an importer available for your application.
For the MakeHuman exporter side, you should save the ''9_export_mhx2 folder'' folder into you MakeHuman plugins folder. The location of this folder will vary with operating system.
* MacIntosh OSX: Macintosh HD/Applications/MakeHuman.app/Contents/Resources/plugins
* Windows 7/8/10: C:\MakeHuman\plugins (Assuming you installed right of C:\)
* Linux: ~/bin/makehuman/plugins (check accuracy of this)
Posts: 2
Joined: Thu Feb 23, 2017 5:54 pm
One Click Ban: [ One Click Ban ]
User Flagged: No [ Flag ]
'''Long version:'''
The old MHX format has been deprecated (both by MakeHuman and by the author of MHX). Although it's still a part of Blender's code base, it is not recommended to keep using it.
For the MHX maintainer's (Thomas Larsson) part, MHX has been replaced with MHX2. More info on this (as well as downloads) see https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange
For MakeHuman's part, it was decided to not integrate MHX2 in the core distribution for a few reasons:
* It's a large code base with a different release cycle than MH
* Having MHX2 as a plugin rather than as a part of the code makes for better code structure
* It was felt that it was better to shift focus to generic formats such as DAE and FBX.
If you need the specific features of MHX2, visit the link above and follow the instructions.
There is also a tutorial video on how to install MHX2 here: https://www.youtube.com/watch?v=3CCHGX-6Mtk
86331f2897169d71f4ff91cdd377d64b7ee01947
1137
644
2016-08-29T10:48:48Z
Aranuvir
17
wikitext
text/x-wiki
'''Short version:'''
MHX2 is now a plugin you download from https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange
If you use Blender you will most likely want to install this. If you don't use blender you don't need it.
'''Long version:'''
The old MHX format has been deprecated (both by MakeHuman and by the author of MHX). Although it's still a part of Blender's code base, it is not recommended to keep using it.
For the MHX maintainer's (Thomas Larsson) part, MHX has been replaced with MHX2. More info on this (as well as downloads) see https://bitbucket.org/Diffeomorphic/mhx2-makehuman-exchange
For MakeHuman's part, it was decided to not integrate MHX2 in the core distribution for a few reasons:
* It's a large code base with a different release cycle than MH
* Having MHX2 as a plugin rather than as a part of the code makes for better code structure
* It was felt that it was better to shift focus to generic formats such as DAE and FBX.
If you need the specific features of MHX2, visit the link above and follow the instructions.
There is also a tutorial video on how to install MHX2 here: https://www.youtube.com/watch?v=3CCHGX-6Mtk
69e1db3921700ed1f8eaec67c5edf7f00b43f04b
644
614
2016-04-21T06:59:22Z
Joepal
14
wikitext
text/x-wiki
'''Short version:'''
MHX2 is now a plugin you download from https://bitbucket.org/ThomasMakeHuman/mhx2-makehuman-exchange
If you use Blender you will most likely want to install this. If you don't use blender you don't need it.
'''Long version:'''
The old MHX format has been deprecated (both by MakeHuman and by the author of MHX). Although it's still a part of Blender's code base, it is not recommended to keep using it.
For the MHX maintainer's (Thomas Larsson) part, MHX has been replaced with MHX2. More info on this (as well as downloads) see https://bitbucket.org/ThomasMakeHuman/mhx2-makehuman-exchange
For MakeHuman's part, it was decided to not integrate MHX2 in the core distribution for a few reasons:
* It's a large code base with a different release cycle than MH
* Having MHX2 as a plugin rather than as a part of the code makes for better code structure
* It was felt that it was better to shift focus to generic formats such as DAE and FBX.
If you need the specific features of MHX2, visit the link above and follow the instructions.
There is also a tutorial video on how to install MHX2 here: https://www.youtube.com/watch?v=3CCHGX-6Mtk
8c8187d71bbc329e1b5e42b63b1927b8d3eff255
614
554
2016-03-17T08:47:27Z
Joepal
14
wikitext
text/x-wiki
'''Short version:'''
MHX2 is now a plugin you download from https://bitbucket.org/ThomasMakeHuman/mhx2-makehuman-exchange
'''Long version:'''
The old MHX format has been deprecated (both by MakeHuman and by the author of MHX). Although it's still a part of Blender's code base, it is not recommended to keep using it.
For the MHX maintainer's (Thomas Larsson) part, MHX has been replaced with MHX2. More info on this (as well as downloads) see https://bitbucket.org/ThomasMakeHuman/mhx2-makehuman-exchange
For MakeHuman's part, it was decided to not integrate MHX2 in the core distribution for a few reasons:
* It's a large code base with a different release cycle than MH
* Having MHX2 as a plugin rather than as a part of the code makes for better code structure
* It was felt that it was better to shift focus to generic formats such as DAE and FBX.
If you need the specific features of MHX2, visit the link above and follow the instructions.
There is also a tutorial video on how to install MHX2 here: https://www.youtube.com/watch?v=3CCHGX-6Mtk
1b4a9cfb573aad0d95ed8a03967dcbf76a53d484
554
84
2016-01-04T21:42:21Z
Joepal
14
wikitext
text/x-wiki
The old MHX format has been deprecated (both by MakeHuman and by the author of MHX). Although it's still a part of Blender's code base, it is not recommended to keep using it.
For the MHX maintainer's (Thomas Larsson) part, MHX has been replaced with MHX2. More info on this (as well as downloads) see https://bitbucket.org/ThomasMakeHuman/mhx2-makehuman-exchange
For MakeHuman's part, it was decided to not integrate MHX2 in the core distribution for a few reasons:
* It's a large code base with a different release cycle than MH
* Having MHX2 as a plugin rather than as a part of the code makes for better code structure
* It was felt that it was better to shift focus to generic formats such as DAE and FBX.
If you need the specific features of MHX2, visit the link above and follow the instructions.
There is also a tutorial video on how to install MHX2 here: https://www.youtube.com/watch?v=3CCHGX-6Mtk
2d79bced883a9d8296c7a975fa52e27b00cf77ad
84
2015-07-09T11:37:52Z
Joepal
14
Created page with "The old MHX format has been deprecated (both by MakeHuman and by the author of MHX). Although it's still a part of Blender's code base, it is not recommended to keep using it...."
wikitext
text/x-wiki
The old MHX format has been deprecated (both by MakeHuman and by the author of MHX). Although it's still a part of Blender's code base, it is not recommended to keep using it.
For the MHX maintainer's (Thomas Larsson) part, MHX has been replaced with MHX2. More info on this (as well as downloads) see https://bitbucket.org/ThomasMakeHuman/mhx2-makehuman-exchange
For MakeHuman's part, it was decided to not integrate MHX2 in the core distribution for a few reasons:
* It's a large code base with a different release cycle than MH
* MHX2 is not a generic documented standard.
* It was felt that it was better to shift focus to generic formats such as DAE and FBX.
As it stands, the MakeHuman crew recommends to primarily use DAE (Collada) as an interchange format for blender. However, if you need the specific features of MHX2, visit the link above and follow the instructions.
af94cf817b7e1674d353d1a1f7ba388675d22b04
FAQ:What happened to the XYZ asset?
3002
197
658
553
2016-05-14T08:27:26Z
Joepal
14
wikitext
text/x-wiki
The maintenance and addition of assets have been largely been deferred to the community repos, which can be found at http://www.makehumancommunity.org/content/user_contributed_assets.html. If there is something you would like to see there, you can petition the community on the forums in the hope someone will take the initiative to create the asset.
As a general policy, the base distribution will only contain a minimal number of sample assets.
"Asset" mentioned above being one of:
* Skin / texture / material
* Target
* Topology / proxy
* Rig / skeleton
* Clothes
* Hair
11ff2ea32d7435b48a8d1d1a2819809807734a36
553
552
2015-11-24T09:11:21Z
Joepal
14
wikitext
text/x-wiki
If you used a nightly from spring 2015 and updated it during summer or later, chances are you will notice that a largish set of assets have vanished. This is the single most reported "bug" since then.
The maintenance and addition of assets have been largely been deferred to the community repos, which can be found at http://www.makehumancommunity.org/content/user_contributed_assets.html. If there is something you would like to see there, you can petition the community on the forums in the hope someone will take the initiative to create the asset.
The current drive is to move the majority of all assets here rather than to try to maintain them internally or include them all in the base distribution. The base distribution will only contain a minimal number of sample assets.
"Asset" mentioned above being one of:
* Skin / texture / material
* Target
* Topology / proxy
* Rig / skeleton
* Clothes
* Hair
Note that as of November 2015, the repo for rigs is still under construction pending better documentation on how to import/export rigs. For SL/OpenSim/Unity/UE game engine rigs, see discussions on forums for how to replace them.
fca266d9fcc67acccd1d1314a596ace78cdaa32b
552
515
2015-11-24T09:08:43Z
Joepal
14
wikitext
text/x-wiki
If you used a nightly from spring 2015 and updated it during summer or later, chances are you will notice that a largish set of assets have vanished. This is the single most reported "bug" since then.
The maintenance and addition of desired assets have been largely been deferred to the community repos, which can be found at http://www.makehumancommunity.org/content/user_contributed_assets.html. If there is something you would like to see there, you can petition the community on the forums in the hope someone will take the initiative to create the asset.
The current drive is to move the majority of all assets here rather than to try to maintain them internally or include them all in the base distribution. The base distribution will only contain a minimal number of sample assets.
"Asset" mentioned above being one of:
* Skin / texture / material
* Target
* Topology / proxy
* Rig / skeleton
* Clothes
* Hair
Note that as of November 2015, the repo for rigs is still under construction pending better documentation on how to import/export rigs. For SL/OpenSim/Unity/UE game engine rigs, see discussions on forums for how to replace them.
4e75b622a8306921cefaa39c5f0ffdda8fdf3e82
515
514
2015-09-01T11:30:06Z
Joepal
14
wikitext
text/x-wiki
If you used a nightly from spring 2015 and updated it during summer or later, chances are you will notice that a largeish set of assets have inexplicably vanished.
These assets were explicitly deleted by the maintainer. As it stands now, it is unlikely they will reappear within the core distribution.
If you think the removal was in error, you are welcome to submit a bug report concerning this at http://bugtracker.makehumancommunity.org.
Otherwise, the addition of desired assets have been deferred to the community repos, which can be found at http://www.makehumancommunity.org/content/user_contributed_assets.html. If there is something you would like to see there, you can petition the community on the forums in the hope someone will take the initiative to create the asset.
"Asset" mentioned above being one of:
* Skin / texture / material
* Target
* Topology / proxy
* Rig / skeleton
* Clothes
* Hair
(note that as of september 2015, the repo for rigs is still under construction)
3706879dee083482eeb7a824edf7c0c99a888ff0
514
513
2015-09-01T11:24:43Z
Joepal
14
wikitext
text/x-wiki
If you used a nightly from spring 2015 and updated it during summer or later, chances are you will notice that a largeish set of assets have inexplicably vanished.
These assets were explicitly deleted by the maintainer. As it stands now, it is unlikely they will reappear within the core distribution.
If you think the removal was in error, you are welcome to submit a bug report concerning this at http://bugtracker.makehumancommunity.org.
Otherwise, the addition of desired assets have been deferred to the community repos, which can be found at http://www.makehumancommunity.org/content/user_contributed_assets.html. If there is something you would like to see there, you can petition the community on the forums in the hope someone will take the initiative to create the asset.
"Asset" mentioned above is one of:
* Skin / texture / material
* Target
* Topology / proxy
* Rig / skeleton
* Clothes
* Hair
(note that as of september 2015, the repo for rigs is still under construction)
9be97d38b630f7b4040c97529e642f00413ed6e9
513
2015-09-01T11:23:23Z
Joepal
14
Created page with "If you used a nightly from spring 2015 and updated it during summer or later, chances are you will notice that a largeish set of assets have inexplicably vanished. These ass..."
wikitext
text/x-wiki
If you used a nightly from spring 2015 and updated it during summer or later, chances are you will notice that a largeish set of assets have inexplicably vanished.
These assets were explicitly deleted by the maintainer. As it stands now, it is unlikely they will reappear within the core distribution.
If you think the removal was in error, you are welcome to submit a bug report concerning this at http://bugtracker.makehumancommunity.org.
Otherwise, the addition of desired assets have been deferred to the community repos, which can be found at http://www.makehumancommunity.org/content/user_contributed_assets.html. If there is something you would like to see there, you can petition the community on the forums in the hope someone will take the initiative to create the asset.
"Asset" mentioned above is one of:
* Skin / texture / material
* Target
* Topology / proxy
* Rig
* Clothes
* Hair
(note that as of september 2015, the repo for rigs is still under construction)
5901ba4d7936939961ef5bb39316f3fec0b87cec
FAQ:What happened to the special assets genitalia?
3002
391
1178
1173
2016-09-05T06:53:57Z
Joepal
14
wikitext
text/x-wiki
The genitalia proxies have been removed from the official MakeHuman bundle and can now be found in the "User contributed assets" section. That is, they can be downloaded from the User contributed assets Page (http://www.makehumancommunity.org/proxies.html). To install the proxy please refer to [[FAQ:I downloaded a third party proxy. How do I install it?]].
There is still genitalia functionality in the code. This does, however, not do anything unless a genitalia proxy is enabled.
So to (for example), use the penis sliders you will need to:
* Download the male genitalia proxy
* Go to geometries -> topologies and enable it
Having done this, all the appropriate genitalia sliders should now function.
Alternatively, there is also an add genitalia functionality in the MHX2 plugin.
6d299a2bcfbaf8d4552248400fd9417ef77b35f5
1173
1172
2016-08-30T12:14:24Z
Aranuvir
17
wikitext
text/x-wiki
The genitalia proxies have been removed from the official MakeHuman bundle and can now be found in the "User contributed assets" section. There is still genitalia functionality in the code, which is disabled by default without the appropriate proxies. The genitalia proxy can still be downloaded from the User contributed assets Page (http://www.makehumancommunity.org/proxies.html). To install the proxy please refer to [[FAQ:I downloaded a third party proxy. How do I install it?]]. There is also a add genitalia functionality in the unofficial MHX-2 plugin.
17226b8fc1a3ebf2d8ba87f99bb0a85b57839a69
1172
1005
2016-08-30T12:12:43Z
Aranuvir
17
wikitext
text/x-wiki
The genitalia proxies have been removed from the official MakeHuman bundle and can now be found in the "User contributed assets" section. There is still genitalia functionality in the code, which is disabled by default without the appropriate proxies. The genitalia proxy can still be downloaded from the User contributed assets Page (http://www.makehumancommunity.org/proxies.html)\n
There is also a add genitalia functionality in the unofficial MHX-2 plugin.
5052f1e327a4d82e2820352c595546607da356aa
1005
1004
2016-06-07T07:35:42Z
Aranuvir
17
wikitext
text/x-wiki
The genitalia proxies have been removed from the official MakeHuman bundle and can now be found in the "User contributed assets" section. There is still genitalia functionality in the code, which is disabled by default without the appropriate proxies.
There is also a add genitalia functionality in the unofficial MHX-2 plugin.
8c46ab6f091c22fed9f78313dd9cca6c6a2b2dd0
1004
2016-06-05T22:19:38Z
Aranuvir
17
Created page with "The genitalia proxies have been removed official MakeHuman bundle and can now be found in the "User contributed assets" section. There is still genitalia functionality in the..."
wikitext
text/x-wiki
The genitalia proxies have been removed official MakeHuman bundle and can now be found in the "User contributed assets" section. There is still genitalia functionality in the code, which is disabled by default without the appropriate proxies.
64a50570107d67d6e5b1785e6785caf387a86ef2
FAQ:What happened to the specific skeletons (the UE and SL rigs for example)?
3002
220
650
2016-05-12T05:40:12Z
Joepal
14
Created page with "The theory is that the "game engine" rig should be a functional generic replacement. Outside that, assets for specific third part software has been broken out of MH and defe..."
wikitext
text/x-wiki
The theory is that the "game engine" rig should be a functional generic replacement.
Outside that, assets for specific third part software has been broken out of MH and deferred to the online repos found here: http://www.makehumancommunity.org/content/user_contributed_assets.html (the rigs section is at the bottom).
As it is impossible for the MH dev group to support specific third part commercial software we don't use or know ourselves, we have deferred such to user contributions areas. If someone feels they have the specific knowledge required to understand how rigs for a specific third part piece of software work, they are welcome to upload and maintain the rigs in those areas. At the time of writing this, Second Life / OpenSim have gotten such user support.
It is also possible you can find someone who still has the old somewhat shaky attempts at specific rigs lying around (we don't). These are (obviously) open source and if someone wants to update or maintain them, they can upload the rigs to the user repos.
7f519859dc255f1ba20a1ea76ffbd53e02313917
FAQ:What is MPFB (MakeHuman Plugin For Blender)?
3002
577
1924
1923
2020-11-06T11:19:12Z
Joepal
14
wikitext
text/x-wiki
The MakeHuman Plugin for Blender is a plugin which enables direct communication with MakeHuman from Blender. The main feature is that you get a one click import button that fetches the current character as displayed in MakeHuman into Blender, without the need to first export to a file. The import will handle rigging, proxies, clothes and materials.
Other features include:
* Automatic support for both Eevee and Cycles (the old Blender Internal renderer is not supported)
* Ability to switch between FK and IK
* Adds convencience modifiers for showing/hiding helper geometry
* Able to add enhanced skin shading with, for example, SSS
* Kinect integration
The blender plugin is available for download from the [http://www.makehumancommunity.org/content/plugins.html plugins page] and is bundled in the makehuman download for windows.
For instructions on how to install it, see [[FAQ: How do I install a plugin in Blender 2.80?]]
Not that for the import from MakeHuman to work, you also need to enable the socket server on the community->socket tab in MH.
1c173a2507fee5930a68320fa8c0353702f4b9ae
1923
1799
2020-11-06T11:18:30Z
Joepal
14
wikitext
text/x-wiki
The MakeHuman Plugin for Blender is a plugin which enables direct communication with MakeHuman from Blender. The main feature is that you get a one click import button that fetches the current character as displayed in MakeHuman into Blender, without the need to first export to a file. The import will handle rigging, proxies, clothes and materials.
Other features include:
* Automatic support for both Eevee and Cycles (the old Blender Internal renderer is not supported)
* Ability to switch between FK and IK
* Adds convencience modifiers for showing/hiding helper geometry
* Able to add enhanced skin shading with, for example, SSS
* Kinect integration
The blender plugin is available for download from the [http://www.makehumancommunity.org/content/plugins.html plugins page] and is bundled in the makehuman download for windows.
For instructions on how to install it, see [[FAQ: How do I install a plugin in Blender 2.80?]]
0e5feef5c2ae412dd697cf375ad4622e9a3c3178
1799
1608
2020-06-07T11:58:44Z
Joepal
14
wikitext
text/x-wiki
The MakeHuman Plugin for Blender is a plugin which enables direct communication with MakeHuman from Blender. The main feature is that you get a one click import button that fetches the current character as displayed in MakeHuman into Blender, without the need to first export to a file. The import will handle rigging, proxies, clothes and materials.
Other features include:
* Automatic support for both Eevee and Cycles (the old Blender Internal renderer is not supported)
* Ability to switch between FK and IK
* Adds convencience modifiers for showing/hiding helper geometry
* Able to add enhanced skin shading with, for example, SSS
* Kinect integration
The blender plugin is available for download from the [http://www.makehumancommunity.org/content/plugins.html plugins page]
For instructions on how to install it, see [[FAQ: How do I install a plugin in Blender 2.80?]]
693e92e090970e08018f2da2db21a759f21c9768
1608
2019-09-27T08:09:17Z
Joepal
14
Created page with "The MakeHuman Plugin for Blender is a plugin which enables direct communication with MakeHuman from Blender. The main feature is that you get a one click import button that fe..."
wikitext
text/x-wiki
The MakeHuman Plugin for Blender is a plugin which enables direct communication with MakeHuman from Blender. The main feature is that you get a one click import button that fetches the current character as displayed in MakeHuman into Blender, without the need to first export to a file. The import will handle rigging, proxies, clothes and materials.
Other features include:
* Automatic support for both Eevee and Cycles (the old Blender Internal renderer is not supported)
* Ability to switch between FK and IK
* Adds convencience modifiers for showing/hiding helper geometry
* Able to add enhanced skin shading with, for example, SSS
* Kinect integration
bd01cbccef00d8ac71855f1ab8245bf5c99891a7
FAQ:What is MakeHuman?
3002
22
78
2015-07-09T11:24:50Z
Joepal
14
Created page with "MakeHuman is a completely free, innovative and professional software for the modelling of 3-Dimensional humanoid characters."
wikitext
text/x-wiki
MakeHuman is a completely free, innovative and professional software for the modelling of 3-Dimensional humanoid characters.
2b33291c02ceb5c9a7f141e6e195e90b921c62ec
FAQ:What is MakeHumanPortable
3002
485
1204
1203
2016-10-21T16:46:46Z
Aranuvir
17
wikitext
text/x-wiki
[https://download.tuxfamily.org/makehuman/releases/1.1.0/makehuman-community-1.1.0-cr1.paf.exe MakeHumanPortable] is a MakeHuman build for the [http://portableapps.com/ PortableApps] software collection on Windows®. Commonly portable applications are installed on a removable device, so they can be carried from Windows® system to another. Portable applications do not leave traces on the system they are running on. The applications can be managed with the [http://portableapps.com/download PortableApps menu]. Because MakeHumanPortable is currently hosted by MakeHuman itself on Tuxfamily automatic updating via the PortableApps menu will not work. Functionality and usage of MakeHumanPortable is the same as MakeHuman with some carefully chosen extensions and community plug-ins.
To comply with the condition of not leaving traces on the system, MakeHumanPortable will store users data such as created models or extra clothes in its own folder structure. Therefore, the [[FAQ:Where are my MakeHuman files found (where is my HOME directory)?|makehuman user-folder]] will be located at X:\PortableApps\MakeHuman\AppData (replace X: with the correct letter of your portable device). The MakeHuman user-folder will be created on first run. If you want to use proxy items created from another MakeHuman installation, these proxy items need to be copied to the user-folder of the portable application.
The currently distributed version of MakeHumanPortable (1.1.0-cr1) is a community release and an official build, which includes all plug-ins available for MakeHuman until 2016.09.29. Particularly the MHX2 plug-in is included. Models exported from this community build are still covered by the CC0-exception [http://www.makehuman.org/license_explanation.php (see license explanations)], even when exported with the MHX2-exporter plug-in. (Keep in mind: basic assets directly provided by MakeHuman applications are covered by the MakeHuman-license, too. However, assets downloaded by the assets downloader plug-in or from the [http://www.makehumancommunity.org/content/user_contributed_assets.html community site] directly may have other licenses. Currently the possible licenses for community assets are either CC-BY or CC0.)
If you are using BlenderPortable, too, you can use a [https://download.tuxfamily.org/makehuman/releases/1.1.0/MHPluginsBlenderPortable_1.1.0-cr1.paf.exe plug-in installer] to install the Blender component for MHX2-import, MH BlenderTools (MakeClothes, MakeTarget, MakeWalk), and the community assets. After install these Blender plug-ins will still need to be activated within the add-on tab of the [https://www.blender.org/manual/de/preferences/addons.html user preferences]. The plug-in installer described here will work with BlenderPortable only and not with standard Blender! Blender, until version 2.77a, came with a pre-installed, outdated MHX-importer. Do not use this outdated plug-in to import files created with the MHX2-exporter!<br />
When using MakeClothes with either Blender or BlenderPortable the Output Directory needs to be set to the local user-folder (see second chapter). To change the default output of MakeClothes, click on "Show Settings" within the MakeClothes-panel and change the string under "Output Directory".
<br />
'''Some technical hints:'''
*Applications from PortableApps do not need to be installed on a removable device, they can be installed to any local folder on the system, too. MakeHumanPortable can even be installed as stand-alone application without the PortableApps-platform.
*Theoretically, programs provided by PortableApps can be run on Linux or OSX by using the [https://www.winehq.org/ Wine]/[https://www.codeweavers.com/ CrossOver] environment, though functionality is not guaranteed.
*MakeHumanPortable can be seen as a wrapper around the genuine MakeHuman Application, which is located at X:\PortableApps\MakeHumanPortable\App\makehuman. Here is placed the common Windows® build. So, if you want to add more plug-ins, they need be moved to the appropriate subdirectory in this location. (Attention: Adding new plug-ins could affect the CC0 exception of the MakeHuman license. [http://www.makehuman.org/license_explanation.php Click here for further information about the license]).
*The behaviour of MakeHumanPortable.exe is controlled by MakeHumanPortable.ini in the folder ...\App\AppInfo\Launcher\, e.g. it controls the location of the users data-folder (for changes in this file see the Documentation: http://portableapps.com/manuals/PortableApps.comLauncher/ref/launcher.ini/index.html#ref-launcher-ini)
2044d176aa9401e0a63b61994b9f69d7a5e7ccfd
1203
1202
2016-10-21T16:34:09Z
Aranuvir
17
wikitext
text/x-wiki
[https://download.tuxfamily.org/makehuman/releases/1.1.0/makehuman-community-1.1.0-cr1.paf.exe MakeHumanPortable] is a MakeHuman build for the [http://portableapps.com/ PortableApps] software collection on Windows®. Commonly portable applications are installed on a removable device, so they can be carried from Windows® system to another. Portable applications do not leave traces on the system they are running on. The applications can be managed with the [http://portableapps.com/download PortableApps menu]. Because MakeHumanPortable is currently hosted by MakeHuman itself on Tuxfamily automatic updating via the PortableApps menu will not work. Functionality and usage of MakeHumanPortable is the same as MakeHuman with some carefully chosen extensions and community plug-ins.
To comply with the condition of not leaving traces on the system, MakeHumanPortable will store users data such as created models or extra clothes in its own folder structure. Therefore, the [[FAQ:Where are my MakeHuman files found (where is my HOME directory)?|makehuman user-folder]] will be located at X:\PortableApps\MakeHuman\AppData (replace X: with the correct letter of your portable device). The MakeHuman user-folder will be created on first run. If you want to use proxy items created from another MakeHuman installation, these proxy items need to be copied to the user-folder of the portable application.
The currently distributed version of MakeHumanPortable (1.1.0-cr1) is a community release and an official build, which includes all plug-ins available for MakeHuman until 2016.09.29. Particularly the MHX2 plug-in is included. Models exported from this community build are still covered by the CC0-exception [http://www.makehuman.org/license_explanation.php (see license explanations)], even when exported with the MHX2-exporter plug-in. (Keep in mind: basic assets directly provided by MakeHuman applications are covered by the MakeHuman-license, too. However, assets downloaded by the assets downloader plug-in or from the [http://www.makehumancommunity.org/content/user_contributed_assets.html community site] directly may have other licenses. Currently the possible licenses for community assets are either CC-BY or CC0.)
If you are using BlenderPortable, too, you can use a [https://download.tuxfamily.org/makehuman/releases/1.1.0/MHPluginsBlenderPortable_1.1.0-cr1.paf.exe plug-in installer] to install the Blender component for MHX2-import, MH BlenderTools (MakeClothes, MakeTarget, MakeWalk), and the community assets. After install these Blender plug-ins will still need to be activated within the add-on tab of the [https://www.blender.org/manual/de/preferences/addons.html user preferences]. The plug-in installer described here will work with BlenderPortable only and not with standard Blender! Blender, until version 2.77a, came with a pre-installed, outdated MHX-importer. Do not use this outdated plug-in to import files created with the MHX2-exporter!<br />
When using MakeClothes with either Blender or BlenderPortable the Output Directory needs to be set to the local user-folder (see second chapter). To change the default output of MakeClothes, click on "Show Settings" within the MakeClothes-panel and change the string under "Output Directory".
Some technical hints: PortableApps do not need to be installed on a removable device, they can be installed to any local folder on the system, too. MakeHumanPortable can even be installed as stand-alone application without the PortableApps-platform.<br />
Theoretically, programs provided by PortableApps can be run on Linux or OSX by using the [https://www.winehq.org/ Wine]/[https://www.codeweavers.com/ CrossOver] environment, though functionality is not guaranteed.<br />
MakeHumanPortable can be seen as a wrapper around the genuine MakeHuman Application, which is located at X:\PortableApps\MakeHumanPortable\App\makehuman. Here is placed the common Windows® build. So, if you want to add more plug-ins, they need be moved to the appropriate subdirectory in this location. (Attention: Adding new plug-ins could affect the CC0 exception of the MakeHuman license. [http://www.makehuman.org/license_explanation.php Click here for further information about the license]).<br />
The behaviour of MakeHumanPortable.exe is controlled by MakeHumanPortable.ini in the folder ...\App\AppInfo\Launcher\, e.g. it controls the location of the users data-folder (for changes in this file see the Documentation: http://portableapps.com/manuals/PortableApps.comLauncher/ref/launcher.ini/index.html#ref-launcher-ini)
f8a17215e510a1791a7dfdbd2ae27033115def6f
1202
1201
2016-10-21T16:33:17Z
Aranuvir
17
wikitext
text/x-wiki
[https://download.tuxfamily.org/makehuman/releases/1.1.0/ MakeHumanPortable] is a MakeHuman build for the [http://portableapps.com/ PortableApps] software collection on Windows®. Commonly portable applications are installed on a removable device, so they can be carried from Windows® system to another. Portable applications do not leave traces on the system they are running on. The applications can be managed with the [http://portableapps.com/download PortableApps menu]. Because MakeHumanPortable is currently hosted by MakeHuman itself on Tuxfamily automatic updating via the PortableApps menu will not work. Functionality and usage of MakeHumanPortable is the same as MakeHuman with some carefully chosen extensions and community plug-ins.
To comply with the condition of not leaving traces on the system, MakeHumanPortable will store users data such as created models or extra clothes in its own folder structure. Therefore, the [[FAQ:Where are my MakeHuman files found (where is my HOME directory)?|makehuman user-folder]] will be located at X:\PortableApps\MakeHuman\AppData (replace X: with the correct letter of your portable device). The MakeHuman user-folder will be created on first run. If you want to use proxy items created from another MakeHuman installation, these proxy items need to be copied to the user-folder of the portable application.
The currently distributed version of MakeHumanPortable (1.1.0-cr1) is a community release and an official build, which includes all plug-ins available for MakeHuman until 2016.09.29. Particularly the MHX2 plug-in is included. Models exported from this community build are still covered by the CC0-exception [http://www.makehuman.org/license_explanation.php (see license explanations)], even when exported with the MHX2-exporter plug-in. (Keep in mind: basic assets directly provided by MakeHuman applications are covered by the MakeHuman-license, too. However, assets downloaded by the assets downloader plug-in or from the [http://www.makehumancommunity.org/content/user_contributed_assets.html community site] directly may have other licenses. Currently the possible licenses for community assets are either CC-BY or CC0.)
If you are using BlenderPortable, too, you can use a [https://download.tuxfamily.org/makehuman/releases/1.1.0/MHPluginsBlenderPortable_1.1.0-cr1.paf.exe plug-in installer] to install the Blender component for MHX2-import, MH BlenderTools (MakeClothes, MakeTarget, MakeWalk), and the community assets. After install these Blender plug-ins will still need to be activated within the add-on tab of the [https://www.blender.org/manual/de/preferences/addons.html user preferences]. The plug-in installer described here will work with BlenderPortable only and not with standard Blender! Blender, until version 2.77a, came with a pre-installed, outdated MHX-importer. Do not use this outdated plug-in to import files created with the MHX2-exporter!<br />
When using MakeClothes with either Blender or BlenderPortable the Output Directory needs to be set to the local user-folder (see second chapter). To change the default output of MakeClothes, click on "Show Settings" within the MakeClothes-panel and change the string under "Output Directory".
Some technical hints: PortableApps do not need to be installed on a removable device, they can be installed to any local folder on the system, too. MakeHumanPortable can even be installed as stand-alone application without the PortableApps-platform.<br />
Theoretically, programs provided by PortableApps can be run on Linux or OSX by using the [https://www.winehq.org/ Wine]/[https://www.codeweavers.com/ CrossOver] environment, though functionality is not guaranteed.<br />
MakeHumanPortable can be seen as a wrapper around the genuine MakeHuman Application, which is located at X:\PortableApps\MakeHumanPortable\App\makehuman. Here is placed the common Windows® build. So, if you want to add more plug-ins, they need be moved to the appropriate subdirectory in this location. (Attention: Adding new plug-ins could affect the CC0 exception of the MakeHuman license. [http://www.makehuman.org/license_explanation.php Click here for further information about the license]).<br />
The behaviour of MakeHumanPortable.exe is controlled by MakeHumanPortable.ini in the folder ...\App\AppInfo\Launcher\, e.g. it controls the location of the users data-folder (for changes in this file see the Documentation: http://portableapps.com/manuals/PortableApps.comLauncher/ref/launcher.ini/index.html#ref-launcher-ini)
a66111048d240a930f4d04a2335476c3dde72866
1201
1200
2016-10-21T16:18:55Z
Aranuvir
17
wikitext
text/x-wiki
MakeHumanPortable is a MakeHuman build for the [http://portableapps.com/ PortableApps] software collection on Windows®. Commonly portable applications are installed on a removable device, so they can be carried from Windows® system to another. Portable applications do not leave traces on the system they are running on. The applications can be managed with the [http://portableapps.com/download PortableApps menu]. Because MakeHumanPortable is currently hosted by MakeHuman itself on Tuxfamily automatic updating via the PortableApps menu will not work. Functionality and usage of MakeHumanPortable is the same as MakeHuman with some carefully chosen extensions and community plug-ins.
To comply with the condition of not leaving traces on the system, MakeHumanPortable will store users data such as created models or extra clothes in its own folder structure. Therefore, the [[FAQ:Where are my MakeHuman files found (where is my HOME directory)?|makehuman user-folder]] will be located at X:\PortableApps\MakeHuman\AppData (replace X: with the correct letter of your portable device). The MakeHuman user-folder will be created on first run. If you want to use proxy items created from another MakeHuman installation, these proxy items need to be copied to the user-folder of the portable application.
The currently distributed version of MakeHumanPortable (1.1.0-cr1) is a community release and an official build, which includes all plug-ins available for MakeHuman until 2016.09.29. Particularly the MHX2 plug-in is included. Models exported from this community build are still covered by the CC0-exception [http://www.makehuman.org/license_explanation.php (see license explanations)], even when exported with the MHX2-exporter plug-in. (Keep in mind: basic assets directly provided by MakeHuman applications are covered by the MakeHuman-license, too. However, assets downloaded by the assets downloader plug-in or from the [http://www.makehumancommunity.org/content/user_contributed_assets.html community site] directly may have other licenses. Currently the possible licenses for community assets are either CC-BY or CC0.)
If you are using BlenderPortable, too, you can use a [https://download.tuxfamily.org/makehuman/releases/1.1.0/MHPluginsBlenderPortable_1.1.0-cr1.paf.exe plug-in installer] to install the Blender component for MHX2-import, MH BlenderTools (MakeClothes, MakeTarget, MakeWalk), and the community assets. After install these Blender plug-ins will still need to be activated within the add-on tab of the [https://www.blender.org/manual/de/preferences/addons.html user preferences]. The plug-in installer described here will work with BlenderPortable only and not with standard Blender! Blender, until version 2.77a, came with a pre-installed, outdated MHX-importer. Do not use this outdated plug-in to import files created with the MHX2-exporter!<br />
When using MakeClothes with either Blender or BlenderPortable the Output Directory needs to be set to the local user-folder (see second chapter). To change the default output of MakeClothes, click on "Show Settings" within the MakeClothes-panel and change the string under "Output Directory".
Some technical hints: PortableApps do not need to be installed on a removable device, they can be installed to any local folder on the system, too. MakeHumanPortable can even be installed as stand-alone application without the PortableApps-platform.<br />
Theoretically, programs provided by PortableApps can be run on Linux or OSX by using the [https://www.winehq.org/ Wine]/[https://www.codeweavers.com/ CrossOver] environment, though functionality is not guaranteed.<br />
MakeHumanPortable can be seen as a wrapper around the genuine MakeHuman Application, which is located at X:\PortableApps\MakeHumanPortable\App\makehuman. Here is placed the common Windows® build. So, if you want to add more plug-ins, they need be moved to the appropriate subdirectory in this location. (Attention: Adding new plug-ins could affect the CC0 exception of the MakeHuman license. [http://www.makehuman.org/license_explanation.php Click here for further information about the license]).<br />
The behaviour of MakeHumanPortable.exe is controlled by MakeHumanPortable.ini in the folder ...\App\AppInfo\Launcher\, e.g. it controls the location of the users data-folder (for changes in this file see the Documentation: http://portableapps.com/manuals/PortableApps.comLauncher/ref/launcher.ini/index.html#ref-launcher-ini)
a7ab2ff4270b077122b552a2c54bc3eba60cca5b
1200
1191
2016-10-21T14:07:10Z
Robbaer
12
wikitext
text/x-wiki
MakeHumanPortable is a MakeHuman build for the [http://portableapps.com/ PortableApps] software collection on Windows OSes. Commonly portable apps are installed on a removable device, so they can be carried from Windows system to another. Portable apps do not leave traces on the system they are running on. The apps can be managed with the [http://portableapps.com/download PortableApps menu]. Because MakeHumanPortable is currently hosted by MakeHuman itself on Tuxfamily automatic updating via the PortableApps menu will not work. Functionality and usage of MakeHumanPortable is the same as MakeHuman with some carefully chosen extensions and community plugins.
To comply with the condition of not leaving traces on the system, MakeHumanPortable will store users data such as created models or extra clothes in its own folder structure. Therefore, the [[FAQ:Where are my MakeHuman files found (where is my HOME directory)?|makehuman user-folder]] will be located at X:\PortableApps\MakeHuman\AppData (replace X: with the correct letter of your portable device). The makehuman user-folder will be created on first run. If you want to use proxy items created from another MakeHuman installation, these proxy items need to be copied to the user-folder of the portable app.
The currently distributed version of MakeHumanPortable (1.1.0-cr1) is a community release and an official build, which includes all plug-ins available for MakeHuman until 2016.09.29. Particularly the MHX2 plug-in is included. Models exported from this community build are still covered by the CC0-exception [http://www.makehuman.org/license_explanation.php (see license explanations)], even when exported with the MHX2-exporter plug-in. (Keep in mind: basic assets directly provided by MakeHuman applications are covered by the MakeHuman-license, too. However, assets downloaded by the assets downloader plug-in or from the [http://www.makehumancommunity.org/content/user_contributed_assets.html community site] directly may have other licenses. Currently the possible licenses for community assets are are either CC-BY or CC0.)
If you are using BlenderPortable, too, you can use a [https://download.tuxfamily.org/makehuman/releases/1.1.0/MHPluginsBlenderPortable_1.1.0-cr1.paf.exe plug-in installer] to install the Blender component for MHX2-import, MH BlenderTools (MakeClothes, MakeTarget, MakeWalk), and the community assets. After install these Blender plug-ins will still need to be activated within the add-on tab of the [https://www.blender.org/manual/de/preferences/index.html user preferences]. The plug-in installer described here will work with BlenderPortable only and not with standard Blender! Blender, until version 2.77a, came with a pre-installed, outdated MHX-importer. Do not use this outdated plugin to import files created with the MHX2-exporter!<br />
When using MakeClothes with either Blender or BlenderPortable the Output Directory needs to be set to the local user-folder (see second chapter). To change the default output of MakeClothes, click on "Show Settings" within the MakeClothes-panel and change the string under "Output Directory".
Some technical hints: PortableApps do not need to be installed on a removable device, they can be installed to any local folder on the system, too. MakeHumanPortable can even be installed as stand alone application without the PortableApps-platform.<br />
''Theoretically, programs provided by PortableApps can be run on Linux or OSX by using the [https://www.winehq.org/ Wine]/[https://www.codeweavers.com/ CrossOver] environment, though functionality is not guaranteed.<br />''
PortableApps can be seen as a wrapper around the genuine Application, which can be found at X:\PortableApps\MakeHumanPortable\App\makehuman. Here is placed the common Windows build. So, if you want to add more plug-ins, they will be moved to the appropriate folder here. (Attention: this will affect the MakeHuman license!).<br />
The behaviour of MakeHumanPortable.exe is controlled by MakeHumanPortable.ini in the folder ...\App\AppInfo\Launcher\, e.g. it controls the location of the users data-folder (for changes in this file see the Documentation: http://portableapps.com/manuals/PortableApps.comLauncher/ref/launcher.ini/index.html#ref-launcher-ini)
f18420c6b4ca3965a39463f5dc8bcdf11b517b71
1191
1190
2016-09-29T19:34:55Z
Aranuvir
17
wikitext
text/x-wiki
MakeHumanPortable is an extra package build for the [http://portableapps.com/ PortableApps] software collection. Commonly portable apps are installed on a removable device, so they can be carried from Windows system to another. Portable apps do not leave traces on the system they are running on. The apps can be managed with the [http://portableapps.com/download PortableApps menu]. Because MakeHumanPortable is currently hosted by MakeHuman itself on Tuxfamily automatic updating via the PortableApps menu will not work. Functionality and usage of MakeHumanPortable is the same as MakeHuman.
To comply with the condition not leaving traces on the system MakeHumanPortable will store users data such as created models or extra clothes in its own folder structure. Therefore, the [[FAQ:Where are my MakeHuman files found (where is my HOME directory)?|makehuman user-folder]] will be located at X:\PortableApps\MakeHuman\AppData (replace X: with the correct letter of your portable device). The makehuman user-folder will be created on first run. If you want to use stuff created from another MakeHuman installation, this stuff needs to be copied to the user-folder of the portable app.
The currently distributed version of MakeHumanPortable (1.1.0-cr1) is a community release and an official build, which includes all plug-ins available for MakeHuman until 2016.09.29. Particularly the MHX2 plug-in is included. Models exported from this community build are still covered by the CC0-exception [http://www.makehuman.org/license_explanation.php (see license explanations)], even when exported with the MHX2-exporter plug-in. (Keep in mind: basic assets directly provided by MakeHuman applications are covered by the MakeHuman-licens, too. But this may not count for assets provided by the community either downloaded by the assets downloader plug-in or from the [http://www.makehumancommunity.org/content/user_contributed_assets.html community site] directly. Currently the possible licenses for those assets are CC-BY or CC0.)
If you are using BlenderPortable, too, you can use a [https://download.tuxfamily.org/makehuman/releases/1.1.0/MHPluginsBlenderPortable_1.1.0-cr1.paf.exe plug-in installer] to install MHX2-importer, blendertools (MakeClothes, MakeTarget, MakeWalk), and the community assets. After install the plug-ins still need to be activated within the add-on tab of the [https://www.blender.org/manual/de/preferences/index.html user preferences]. The plug-in installer will work with BlenderPortable only! Until version 2.77a of Blender there is an outdated MHX-importer included. Do not use it with MHX2-exports!<br />
When using MakeClothes with either Blender or BlenderPortable the Output Directory needs to be set to the local user-folder (see second chapter). To change the default output of MakeClothes, click on "Show Settings" within the MakeClothes-panel and change the string under "Output Directory".
Some technical hints: PortableApps do not need to be installed on a removable device, they can be installed to any local folder on the system, too. MakeHumanPortable can even be installed as stand alone application without the PortableApps-platform.<br />
Theoretically, programs provided by PortableApps can be run on Linux or OSX by using the [https://www.winehq.org/ Wine]/[https://www.codeweavers.com/ CrossOver] environment, though functionality is not guaranteed.<br />
PortableApps can be seen as a wrapper around the genuine Application, which can be found at X:\PortableApps\MakeHumanPortable\App\makehuman. Here is placed the common Windows build. So, if you want to add more plug-ins, they will be moved to the appropriate folder here. (Attention: this will affect the MakeHuman license!).<br />
The behaviour of MakeHumanPortable.exe is controlled by MakeHumanPortable.ini in the folder ...\App\AppInfo\Launcher\, e.g. it controls the location of the users data-folder (for changes in this file see the Documentation: http://portableapps.com/manuals/PortableApps.comLauncher/ref/launcher.ini/index.html#ref-launcher-ini)
ddedf4e1477f42cb7292fca214b77b663ffa172a
1190
1189
2016-09-29T18:15:44Z
Aranuvir
17
wikitext
text/x-wiki
MakeHumanPortable is an extra package build for the [http://portableapps.com/ PortableApps] software collection. Commonly portable apps are installed on a removable device, so they can be carried from Windows system to another. Portable apps do not leave traces on the system they are running on. The apps can be managed with the [http://portableapps.com/download PortableApps menu]. Because MakeHumanPortable is currently hosted by MakeHuman itself on Tuxfamily automatic updating via the PortableApps menu will not work. Functionality and usage of MakeHumanPortable is the same as MakeHuman.
To comply with the condition not leaving traces on the system MakeHumanPortable will store users data such as created models or extra clothes in its own folder structure. Therefore, the [[FAQ:Where are my MakeHuman files found (where is my HOME directory)?|makehuman user-folder]] will be located at X:\PortableApps\MakeHuman\AppData (replace X: with the correct letter of your portable device). The makehuman user-folder will be created on first run. If you want to use stuff created from another MakeHuman installation, this stuff needs to be copied to the user-folder of the portable app.
The currently distributed version of MakeHumanPortable (1.1.0-cr1) is a community release and an official build, which includes all plug-ins available for MakeHuman until 2016.09.29. Particularly the MHX2 plug-in is included. Models exported from this community build are still covered by the CC0-exception [http://www.makehuman.org/license_explanation.php (see license explanations)], even when exported with the MHX2-exporter plug-in. (Keep in mind: basic assets directly provided by MakeHuman applications are covered by the MakeHuman-licens, too. But this may not count for assets provided by the community either downloaded by the assets downloader plug-in or from the [http://www.makehumancommunity.org/content/user_contributed_assets.html community site] directly. Currently the possible licenses for those assets are CC-BY or CC0.
If you are using BlenderPortable, too, you can use a [https://download.tuxfamily.org/makehuman/releases/1.1.0/MHPluginsBlenderPortable_1.1.0-cr1.paf.exe plug-in installer] to install MHX2-importer, blendertools (MakeClothes, MakeTarget, MakeWalk), and the community assets. After install the plug-ins still need to be activated within the add-on tab of the [https://www.blender.org/manual/de/preferences/index.html user preferences]. The plug-in installer will work with BlenderPortable only! Until version 2.77a of Blender there is an outdated MHX-importer included. Do not use it with MHX2-exports!<br />
When using MakeClothes with either Blender or BlenderPortable the Output Directory needs to be set to the local user-folder (see second chapter). To change the default output of MakeClothes, click on "Show Settings" within the MakeClothes-panel and change the string under "Output Directory".
Some technical hints: PortableApps do not need to be installed on a removable device, they can be installed to any local folder on the system, too. MakeHumanPortable can even be installed as stand alone application without the PortableApps-platform.<br />
Theoretically, programs provided by PortableApps can be run on Linux or OSX by using the [https://www.winehq.org/ Wine]/[https://www.codeweavers.com/ CrossOver] environment, though functionality is not guaranteed.<br />
PortableApps can be seen as a wrapper around the genuine Application, which can be found at X:\PortableApps\MakeHumanPortable\App\makehuman. Here is placed the common Windows build. So, if you want to add more plug-ins, they will be moved to the appropriate folder here. (Attention: this will affect the MakeHuman license!).<br />
The behaviour of MakeHumanPortable.exe is controlled by MakeHumanPortable.ini in the folder ...\App\AppInfo\Launcher\, e.g. it controls the location of the users data-folder (for changes in this file see the Documentation: http://portableapps.com/manuals/PortableApps.comLauncher/ref/launcher.ini/index.html#ref-launcher-ini)
1562d351e2bc47d0579ce6aa6e0e3c40d0d365a5
1189
1188
2016-09-29T18:09:59Z
Aranuvir
17
wikitext
text/x-wiki
MakeHumanPortable is an extra package build for the [http://portableapps.com/ PortableApps] software collection. Commonly portable apps are installed on a removable device, so they can be carried from Windows system to another. Portable apps do not leave traces on the system they are running on. The apps can be managed with the [http://portableapps.com/download PortableApps menu]. Because MakeHumanPortable is currently hosted by MakeHuman itself on Tuxfamily automatic updating via the PortableApps menu will not work. Functionality and usage of MakeHumanPortable is the same as MakeHuman.
To comply with the condition not leaving traces on the system MakeHumanPortable will store users data such as created models or extra clothes in its own folder structure. Therefore, the [[FAQ:Where are my MakeHuman files found (where is my HOME directory)?|makehuman user-folder]] will be located at X:\PortableApps\MakeHuman\AppData (replace X: with the correct letter of your portable device). The makehuman user-folder will be created on first run. If you want to use stuff created from another MakeHuman installation, this stuff needs to be copied to the user-folder of the portable app.
The currently distributed version of MakeHumanPortable (1.1.0-cr1) is a community release and an official build, which includes all plug-ins available for MakeHuman until 2016.09.29. Particularly the MHX2 plug-in is included. Models exported from this community build are still covered by the CC0-exception [http://www.makehuman.org/license_explanation.php (see license explanations)], even when exported with the MHX2-exporter plug-in. (Keep in mind: basic assets directly provided by MakeHuman applications are covered by the MakeHuman-licens, too. But this may not count for assets provided by the community either downloaded by the assets downloader plug-in or from the [http://www.makehumancommunity.org/content/user_contributed_assets.html community site] directly. Currently the possible licenses for those assets are CC-BY or CC0.
If you are using BlenderPortable, too, you can use a [https://download.tuxfamily.org/makehuman/releases/1.1.0/MHPluginsBlenderPortable_1.1.0-cr1.paf.exe plug-in installer] to install MHX2-importer, blendertools (MakeClothes, MakeTarget, MakeWalk), and the community assets. After install the plug-ins still need to be activated within the add-on tab of the [https://www.blender.org/manual/de/preferences/index.html user preferences]. The plug-in installer will work with BlenderPortable only! Until version 2.77a of Blender there is an outdated MHX-importer included. Do not use it with MHX2-exports!<br />
When using MakeClothes with either Blender or BlenderPortable the Output Directory needs to be set to the local user-folder (see second chapter). To change the default output of MakeClothes, click on "Show Settings" within the MakeClothes-panel and change the string under "Output Directory".
Some technical hints: PortableApps do not need to be installed on a removable device, they can be installed to any local folder on the system, too. MakeHumanPortable can even be installed as stand alone application without the PortableApps-platform.<br />
Theoretically programs provided by PortableApps can be run on Linux or OSX by using the [https://www.winehq.org/ Wine]/[https://www.codeweavers.com/ CrossOver] environment, though functionality is not guaranteed.<br />
PortableApps can be seen as a wrapper around the genuine Application, which can be found at X:\PortableApps\MakeHumanPortable\App\makehuman. Here is placed the common Windows build. So, if you want to add more plug-ins, they will be moved to the appropriate folder here. (Attention: this will affect the MakeHuman license!).<br />
The behaviour of MakeHumanPortable.exe is controlled by MakeHumanPortable.ini in the folder ...\App\AppInfo\Launcher\, e.g. it controls the location of the users data-folder (for changes in this file see the Documentation: http://portableapps.com/manuals/PortableApps.comLauncher/ref/launcher.ini/index.html#ref-launcher-ini)
d8514cef2fd8ac1f0db44a478e41ee964db4fdd0
1188
1187
2016-09-29T18:05:28Z
Aranuvir
17
wikitext
text/x-wiki
MakeHumanPortable is an extra package build for the [http://portableapps.com/ PortableApps] software collection. Commonly portable apps are installed on a removable device, so they can be carried from Windows system to another. Portable apps do not leave traces on the system they are running on. The apps can be managed with the [http://portableapps.com/download PortableApps menu]. Because MakeHumanPortable is currently hosted by MakeHuman itself on Tuxfamily automatic updating via the PortableApps menu will not work. Functionality and usage of MakeHumanPortable is the same as MakeHuman.
To comply with the condition not leaving traces on the system MakeHumanPortable will store users data such as created models or extra clothes in its own folder structure. Therefore the [[FAQ:Where are my MakeHuman files found (where is my HOME directory)?|makehuman user-folder]] will be located at X:\PortableApps\MakeHuman\AppData (replace X: with the correct letter of your portable device). The makehuman user-folder will be created on first run. If you want to use stuff created from another MakeHuman installation, this stuff needs to be copied to the user-folder of the portable app.
The currently distributed version of MakeHumanPortable (1.1.0-cr1) is a community release and an official build, which includes all plug-ins available for MakeHuman until 2016.09.29. Particularly the MHX2 plug-in is included. Models exported from this community build are still covered by the CC0-exception [http://www.makehuman.org/license_explanation.php (see license explanations)], even when exported with the MHX2-exporter plug-in. (Keep in mind: basic assets directly provided by MakeHuman applications are covered by the MakeHuman-licens, too. But this may not count for assets provided by the community either downloaded by the assets downloader plug-in or from the [http://www.makehumancommunity.org/content/user_contributed_assets.html community site] directly. Currently the possible licenses for those assets are CC-BY or CC0.
If you are using BlenderPortable, too, you can use a [https://download.tuxfamily.org/makehuman/releases/1.1.0/MHPluginsBlenderPortable_1.1.0-cr1.paf.exe plug-in installer] to install MHX2-importer, blendertools (MakeClothes, MakeTarget, MakeWalk), and the community assets. After install the plug-ins still need to be activated within the add-on tab of the [https://www.blender.org/manual/de/preferences/index.html user preferences]. The plug-in installer will work with BlenderPortable only! Until version 2.77a of Blender there is an outdated MHX-importer included. Do not use it with MHX2-exports!<br />
When using MakeClothes with either Blender or BlenderPortable the Output Directory needs to be set to the local user-folder (see second chapter). To change the default ouput of MakeClothes, click on "Show Settings" within the MakeClothes-panel and change the string under "Output Directory".
Some technical hints: PortableApps do not need to be installed on a removable device, they can be installed to any local folder on the system, too. MakeHumanPortable can even be installed as stand alone application without the PortableApps-platform.<br />
Theoretically programs provided by PortableApps can be run on Linux or OSX by using the [https://www.winehq.org/ Wine]/[https://www.codeweavers.com/ CrossOver] environment, though functionality is not guaranteed.<br />
PortableApps can be seen as a wrapper around the genuine Application, which can be found at X:\PortableApps\MakeHumanPortable\App\makehuman. Here is placed the common Windows build. So, if you want to add more plug-ins, they will be moved to the appropriate folder here. (Attention: this will affect the MakeHuman license!).<br />
The behaviour of MakeHumanPortable.exe is controlled by MakeHumanPortable.ini in the folder ...\App\AppInfo\Launcher\, e.g. it controls the location of the users data-folder (for changes in this file see the Documentation: http://portableapps.com/manuals/PortableApps.comLauncher/ref/launcher.ini/index.html#ref-launcher-ini)
7c95cd6d39d8467ca0c7582c9a08291007411cae
1187
1186
2016-09-29T18:00:32Z
Aranuvir
17
wikitext
text/x-wiki
MakeHumanPortable is an extra package build for the [http://portableapps.com/ PortableApps] software collection. Commonly portable apps are installed on a removable device, so they can be carried from Windows system to another. Portable apps do not leave traces on the system they are running on. The apps can be managed with the [http://portableapps.com/download PortableApps menu]. Because MakeHumanPortable is currently hosted by MakeHuman itself on Tuxfamily automatic updating via the PortableApps menu will not work. Functionality and usage of MakeHumanPortable is the same as MakeHuman.
To comply with the condition not leaving traces on the system MakeHumanPortable will store users data such as created models or extra clothes in its own folder structure. Therefore the [[FAQ:Where are my MakeHuman files found (where is my HOME directory)?|makehuman user-folder]] will be located at X:\PortableApps\MakeHuman\AppData (replace X: with the correct letter of your portable device). The makehuman user-folder will be created on first run. If you want to use stuff created from another MakeHuman installation, this stuff needs to be copied to the user-folder of the portable app.
The currently distributed version of MakeHumanPortable (1.1.0-cr1) is a community release and an official build, which includes all plug-ins available for MakeHuman until 2016.09.29. Particularly the MHX2 plug-in is included. Models exported from this community build are still covered by the CC0-exception [http://www.makehuman.org/license_explanation.php (see license explanations)], even when exported with the MHX2-exporter plug-in. (Keep in mind: basic assets directly provided by MakeHuman applications are covered by the MakeHuman-licens, too. But this may not count for assets provided by the community either downloaded by the assets downloader plug-in or from the [http://www.makehumancommunity.org/content/user_contributed_assets.html community site] directly. Currently the possible licenses for those assets are CC-BY or CC0.
If you are using BlenderPortable, too, you can use a [https://download.tuxfamily.org/makehuman/releases/1.1.0/MHPluginsBlenderPortable_1.1.0-cr1.paf.exe plug-in installer] to install MHX2-importer, blendertools (MakeClothes, MakeTarget, MakeWalk), and the community assets. After install the plug-ins still need to be activated within the addon tab of the [https://www.blender.org/manual/de/preferences/index.html user preferences]. The plug-in installer will work with BlenderPortable only! Until version 2.77a of Blender there is an outdated MHX-importer included. Do not use it with MHX2-exports!<br />
When using MakeClothes with eiter Blender or BlenderPortable the Output Directory needs to be set to the local user-folder (see second chapter). To change the default ouput of MakeClothes, click on "Show Settings" within the MakeClothes-panel and change the string under "Output Directory".
Some technical hints: PortableApps do not need to be installed on a removable device, they can be installed to any local folder on the system, too. MakeHumanPortable can even be installed as stand alone application without the PortableApps-platform.<br />
Theoretically programs provided by PortableApps can be run on Linux or OSX by using the [https://www.winehq.org/ Wine]/[https://www.codeweavers.com/ CrossOver] environment, though functionality is not guaranteed.<br />
PortableApps can be seen as a wrapper around the genuine Application, which can be found at X:\PortableApps\MakeHumanPortable\App\makehuman. Here is placed the common Windows build. So, if you want to add more plug-ins, they will be moved to the appropriate folder here. (Attention: this will affect the MakeHuman license!).<br />
The behaviour of MakeHumanPortable.exe is controlled by MakeHumanPortable.ini in the folder ...\App\AppInfo\Launcher\, e.g. it controls the location of the users data-folder (for changes in this file see the Documentation: http://portableapps.com/manuals/PortableApps.comLauncher/ref/launcher.ini/index.html#ref-launcher-ini)
02a345572e8f26b52794ee82236f8edb15260a0b
1186
1185
2016-09-29T17:58:49Z
Aranuvir
17
wikitext
text/x-wiki
MakeHumanPortable is a extra package build for the [http://portableapps.com/ PortableApps] software collection. Commonly portable apps are installed on a removable device, so they can be carried from Windows system to another. Portable apps do not leave traces on the system they are running on. The apps can be managed with the [http://portableapps.com/download PortableApps menu]. Because MakeHumanPortable is currently hosted by MakeHuman itself on Tuxfamily automatic updating via the PortableApps menu will not work. Functionality and usage of MakeHumanPortable is the same as MakeHuman.
To comply with the condition not leaving traces on the system MakeHumanPortable will store users data such as created models or extra clothes in its own folder structure. Therefore the [[FAQ:Where are my MakeHuman files found (where is my HOME directory)?|makehuman user-folder]] will be located at X:\PortableApps\MakeHuman\AppData (replace X: with the correct letter of your portable device). The makehuman user-folder will be created on first run. If you want to use stuff created from another MakeHuman installation, this stuff needs to be copied to the user-folder of the portable app.
The currently distributed version of MakeHumanPortable (1.1.0-cr1) is a community release and an official build, which includes all plug-ins available for MakeHuman until 2016.09.29. Particularly the MHX2 plug-in is included. Models exported from this community build are still covered by the CC0-exception [http://www.makehuman.org/license_explanation.php (see license explanations)], even when exported with the MHX2-exporter plug-in. (Keep in mind: basic assets directly provided by MakeHuman applications are covered by the MakeHuman-licens, too. But this may not count for assets provided by the community either downloaded by the assets downloader plug-in or from the [http://www.makehumancommunity.org/content/user_contributed_assets.html community site] directly. Currently the possible licenses for those assets are CC-BY or CC0.
If you are using BlenderPortable, too, you can use a [https://download.tuxfamily.org/makehuman/releases/1.1.0/MHPluginsBlenderPortable_1.1.0-cr1.paf.exe plug-in installer] to install MHX2-importer, blendertools (MakeClothes, MakeTarget, MakeWalk), and the community assets. After install the plug-ins still need to be activated within the addon tab of the [https://www.blender.org/manual/de/preferences/index.html user preferences]. The plug-in installer will work with BlenderPortable only! Until version 2.77a of Blender there is an outdated MHX-importer included. Do not use it with MHX2-exports!<br />
When using MakeClothes with eiter Blender or BlenderPortable the Output Directory needs to be set to the local user-folder (see second chapter). To change the default ouput of MakeClothes, click on "Show Settings" within the MakeClothes-panel and change the string under "Output Directory".
Some technical hints: PortableApps do not need to be installed on a removable device, they can be installed to any local folder on the system, too. MakeHumanPortable can even be installed as stand alone application without the PortableApps-platform.<br />
Theoretically programs provided by PortableApps can be run on Linux or OSX by using the [https://www.winehq.org/ Wine]/[https://www.codeweavers.com/ CrossOver] environment, though functionality is not guaranteed.<br />
PortableApps can be seen as a wrapper around the genuine Application, which can be found at X:\PortableApps\MakeHumanPortable\App\makehuman. Here is placed the common Windows build. So, if you want to add more plug-ins, they will be moved to the appropriate folder here. (Attention: this will affect the MakeHuman license!).<br />
The behaviour of MakeHumanPortable.exe is controlled by MakeHumanPortable.ini in the folder ...\App\AppInfo\Launcher\, e.g. it controls the location of the users data-folder (for changes in this file see the Documentation: http://portableapps.com/manuals/PortableApps.comLauncher/ref/launcher.ini/index.html#ref-launcher-ini)
b0cfc4d5a8c3fcc814711b489f72f46342e6e5b0
1185
1184
2016-09-29T17:58:10Z
Aranuvir
17
wikitext
text/x-wiki
MakeHumanPortable is a extra package build for the [http://portableapps.com/ PortableApps] software collection. Commonly portable apps are installed on a removable device, so they can be carried from Windows system to another. Portable apps do not leave traces on the system they are running on. The apps can be managed with the [http://portableapps.com/download PortableApps menu]. Because MakeHumanPortable is currently hosted by MakeHuman itself on Tuxfamily automatic updating via the PortableApps menu will not work. Functionality and usage of MakeHumanPortable is the same as MakeHuman.
To comply with the condition not leaving traces on the system MakeHumanPortable will store users data such as created models or extra clothes in its own folder structure. Therefore the [[FAQ:Where are my MakeHuman files found (where is my HOME directory)?|makehuman user-folder]] will be located at X:\PortableApps\MakeHuman\AppData (replace X: with the correct letter of your portable device). The makehuman user-folder we be created on first run. If you want to use stuff created from another MakeHuman installation, this stuff needs to be copied to the user-folder of the portable app.
The currently distributed version of MakeHumanPortable (1.1.0-cr1) is a community release and an official build, which includes all plug-ins available for MakeHuman until 2016.09.29. Particularly the MHX2 plug-in is included. Models exported from this community build are still covered by the CC0-exception [http://www.makehuman.org/license_explanation.php (see license explanations)], even when exported with the MHX2-exporter plug-in. (Keep in mind: basic assets directly provided by MakeHuman applications are covered by the MakeHuman-licens, too. But this may not count for assets provided by the community either downloaded by the assets downloader plug-in or from the [http://www.makehumancommunity.org/content/user_contributed_assets.html community site] directly. Currently the possible licenses for those assets are CC-BY or CC0.
If you are using BlenderPortable, too, you can use a [https://download.tuxfamily.org/makehuman/releases/1.1.0/MHPluginsBlenderPortable_1.1.0-cr1.paf.exe plug-in installer] to install MHX2-importer, blendertools (MakeClothes, MakeTarget, MakeWalk), and the community assets. After install the plug-ins still need to be activated within the addon tab of the [https://www.blender.org/manual/de/preferences/index.html user preferences]. The plug-in installer will work with BlenderPortable only! Until version 2.77a of Blender there is an outdated MHX-importer included. Do not use it with MHX2-exports!<br />
When using MakeClothes with eiter Blender or BlenderPortable the Output Directory needs to be set to the local user-folder (see second chapter). To change the default ouput of MakeClothes, click on "Show Settings" within the MakeClothes-panel and change the string under "Output Directory".
Some technical hints: PortableApps do not need to be installed on a removable device, they can be installed to any local folder on the system, too. MakeHumanPortable can even be installed as stand alone application without the PortableApps-platform.<br />
Theoretically programs provided by PortableApps can be run on Linux or OSX by using the [https://www.winehq.org/ Wine]/[https://www.codeweavers.com/ CrossOver] environment, though functionality is not guaranteed.<br />
PortableApps can be seen as a wrapper around the genuine Application, which can be found at X:\PortableApps\MakeHumanPortable\App\makehuman. Here is placed the common Windows build. So, if you want to add more plug-ins, they will be moved to the appropriate folder here. (Attention: this will affect the MakeHuman license!).<br />
The behaviour of MakeHumanPortable.exe is controlled by MakeHumanPortable.ini in the folder ...\App\AppInfo\Launcher\, e.g. it controls the location of the users data-folder (for changes in this file see the Documentation: http://portableapps.com/manuals/PortableApps.comLauncher/ref/launcher.ini/index.html#ref-launcher-ini)
522028037185ecab1f6a1c799cde548e3c4e22aa
1184
2016-09-29T17:14:52Z
Aranuvir
17
Created page with "MakeHumanPortable is a extra package build for the [http://portableapps.com/ PortableApps] software collection. Commonly portable apps are installed on a removable device, so..."
wikitext
text/x-wiki
MakeHumanPortable is a extra package build for the [http://portableapps.com/ PortableApps] software collection. Commonly portable apps are installed on a removable device, so they can be carried from Windows system to another. Portable apps do not leave traces on the system they are running on. The apps can be managed with the [http://portableapps.com/download PortableApps menu]. Because MakeHumanPortable is currently hosted by MakeHuman itself on Tuxfamily automatic updating via the PortableApps menu will not work. Functionality and usage of MakeHumanPortable is the same as MakeHuman.
To comply with the condition not leaving traces on the system MakeHumanPortable will store users data such as created models or extra clothes in its own folder structure. Therefore the [[FAQ:Where are my MakeHuman files found (where is my HOME directory)?|makehuman user-folder]] will be located at X:\PortableApps\MakeHuman\AppData (replace X: with the correct letter of your portable device). The makehuman user-folder we be created on first run. If you want to use stuff created from another MakeHuman installation, this stuff needs to be copied to the user-folder of the portable app.
The currently distributed version of MakeHumanPortable (1.1.0-cr1) is a community release and an official build, which includes all plug-ins available for MakeHuman until 2016.09.29. Particularly the MHX2 plug-in is included. Models exported from this community build are still covered by the CC0-exception [http://www.makehuman.org/license_explanation.php (see license explanations)], even when exported with the MHX2-exporter plug-in. (Keep in mind: basic assets directly provided by MakeHuman applications are covered by the MakeHuman-licens, too. But this may not count for assets provided by the community either downloaded by the assets downloader plug-in or from the [http://www.makehumancommunity.org/content/user_contributed_assets.html community site] directly. Currently the possible licenses for those assets are CC-BY or CC0.
If you are using BlenderPortable, too, you can use a [https://download.tuxfamily.org/makehuman/releases/1.1.0/MHPluginsBlenderPortable_1.1.0-cr1.paf.exe plug-in installer] to install MHX2-importer, blendertools (MakeClothes, MakeTarget, MakeWalk), and the community assets. After install the plug-ins still need to be activated within the addon tab of the [https://www.blender.org/manual/de/preferences/index.html user preferences]. The plug-in installer will work with BlenderPortable only! Until version 2.77a of Blender there is an outdated MHX-importer included. Do not use it with MHX2-exports!<br />
When using MakeClothes with eiter Blender or BlenderPortable the Output Directory needs to be set to the local user-folder (see second chapter). To change the default ouput of MakeClothes, click on "Show Settings" within the MakeClothes-panel and change the string under "Output Directory".
Some technical hints: PortableApps do not need to be installed on a removable device, they can be installed to any local folder on the system, too. MakeHumanPortable can even be installed as stand alone application without the PortableApps-platform.<br />
Theoretically programs provided by PortableApps can be run on Linux or OSX by using the [https://www.winehq.org/ Wine]/[https://www.codeweavers.com/ CrossOver] environment, though functionality is not guaranteed.
c6a48ca5df95f7cc2ecd9a0fac9cdf7551b9efc4
FAQ:What is Open Source?
3002
31
89
2015-07-10T09:35:31Z
Joepal
14
Created page with "Open source software is software where the source code (the language programmers use to make computers do their jobs) is available to everyone. Anyone can see how the code wor..."
wikitext
text/x-wiki
Open source software is software where the source code (the language programmers use to make computers do their jobs) is available to everyone. Anyone can see how the code works and can change it if they want to make it work differently. The opposite of open source is closed source, where the source is not available to everyone.
Open Source is better than Freeware, because freeware is closed source, and can be easily moved to commercial software, Open Source software will be free forever.
bc1b485ec146d53f2171c92d20bdf7ab691c6e83
FAQ:What is a fashion render?
3002
507
1261
1260
2016-12-11T13:56:52Z
Joepal
14
wikitext
text/x-wiki
The [http://www.makehumancommunity.org fashion render] is a standardized scene with fixed camera and light. The image depicts one toon in a standing position, although possibly from various angles.
The intention with the renders is that a user should be able to get a completely honest idea about how an asset looks immediately after being imported into blender (usually via MHX).
Thus there are strict rules limiting what can and can't be done with the toons post import. For example, the materials can not be modified, and the meshes cannot (with a few exceptions) be edited.
For more information see [[FAQ:How do I make and upload a fashion render?]]
7f887bcc59604ce2faf35e147f7ef3559b9f26b4
1260
2016-12-11T13:56:31Z
Joepal
14
Created page with "The [[http://www.makehumancommunity.org fashion render]] is a standardized scene with fixed camera and light. The image depicts one toon in a standing position, although possi..."
wikitext
text/x-wiki
The [[http://www.makehumancommunity.org fashion render]] is a standardized scene with fixed camera and light. The image depicts one toon in a standing position, although possibly from various angles.
The intention with the renders is that a user should be able to get a completely honest idea about how an asset looks immediately after being imported into blender (usually via MHX).
Thus there are strict rules limiting what can and can't be done with the toons post import. For example, the materials can not be modified, and the meshes cannot (with a few exceptions) be edited.
For more information see [[FAQ:How do I make and upload a fashion render?]]
ee0f625511aeb6b022aceb7e472ce30c5f556083
FAQ:What is a nightly build?
3002
30
1404
526
2017-07-13T10:55:56Z
Joepal
14
wikitext
text/x-wiki
A nightly build is a build that reflects the current state of the source code. Each night a script runs and creates an executable including the latest changes.
This is a great way to preview the latest improvements we're making and to test fixes to bugs that have been checked-in between releases.
If you're downloading a nightly please don't expect things to work 100%. We make them available to you so you can try things out and report any bugs that you find. This process helps us ensure our final releases are the best they can be.
Nightly builds can be found at: http://download.tuxfamily.org/makehuman/nightly/
== Current status ==
Long-time users will remember a time when the nightly builds were actually more stable and complete than the latest stable. This is not the case now.
The current set of nighly builds reflect a new branch for MakeHuman: the python3 port (see source at https://github.com/makehumancommunity/makehuman). This is very much a work in progress and can be expected to be glitchy.
2c9549a8c3f5a47ce82a381978e7b53a2dd56ca2
526
88
2015-09-04T19:18:25Z
Aranuvir
17
wikitext
text/x-wiki
A nightly build is a build that reflects the current state of the source code. Each night a script runs and creates an executable including the latest changes.
This is a great way to preview the latest improvements we're making and to test fixes to bugs that have been checked-in between releases.
If you're downloading a nightly please don't expect things to work 100%. We make them available to you so you can try things out and report any bugs that you find. This process helps us ensure our final releases are the best they can be.
This said, late in the development cycle, we will often recommend the nightly build over the stable release.
'''There is one important notice: Backward compatibility of your work is only granted between different stable versions. But changes in the nightly build versions might break compatibility and lead to a loss of your work done with previous nightly builds.'''
Nightly builds can be found at: http://download.tuxfamily.org/makehuman/nightly/
7ae2c9740d2b1e04af0df82f702fbb1add9af3fc
88
2015-07-10T09:34:25Z
Joepal
14
Created page with "A nightly build is a build that reflects the current state of the source code. Each night a script runs and creates an executable including the latest changes. This is a grea..."
wikitext
text/x-wiki
A nightly build is a build that reflects the current state of the source code. Each night a script runs and creates an executable including the latest changes.
This is a great way to preview the latest improvements we're making and to test fixes to bugs that have been checked-in between releases.
If you're downloading a nightly please don't expect things to work 100%. We make them available to you so you can try things out and report any bugs that you find. This process helps us ensure our final releases are the best they can be.
This said, late in the development cycle, we will often recommend the nightly build over the stable release.
Nightly builds can be found at: http://download.tuxfamily.org/makehuman/nightly/
347e4936ded43b5ec23c3eb268bf445363d08fa1
FAQ:What is a proxy?
3002
33
557
551
2016-01-20T17:31:27Z
Joepal
14
wikitext
text/x-wiki
A proxy mesh is an alternative to MakeHuman's base mesh. You can think of it as a full body glove which occupies roughly the same space as the human, and deforms with the human. It may have a different amount of polygons, usually a lot fewer than the base mesh.
There are several reason why you would want to export a character as a proxy mesh:
* Gaming: The base mesh has quite high poly-count. Use the "proxy741" if you are on a tight polygon budget, or "male1591" or "female1605" proxy if you can afford more polygons. Or if you want to be extreme, you can download the [http://www.makehumancommunity.org/proxy/very_low_poly.html very low poly] proxy.
* ZBrush sculpting: "male1591" proxy is a suitable starting point.
* Topology change: There are specific topologies for various cases (for example a very muscular male).
Because of the last bullet, sometimes the words "topology" and "proxy" are used interchangeably on the forums.
If you have external data, for example from a 3d scan, then it is much more convenient to apply that as a proxy than try to convert it to a target working on the base mesh, since a proxy don't need to have the same number or vertices nor share the UV.
See also [[FAQ:How can I create proxies or alternative topologies?]]
a04c6228c8fee7c66b10c5bb0536ae3da81dbfca
551
534
2015-11-24T08:10:44Z
Joepal
14
wikitext
text/x-wiki
A proxy mesh is an alternative to MakeHuman's base mesh. You can think of it as a full body glove which occupies roughly the same space as the human, and deforms with the human.
There are several reason why you would want to export a character as a proxy mesh:
* Gaming: The base mesh has quite high poly-count. Use the "proxy741" if you are on a tight polygon budget, or "male1591" or "female1605" proxy if you can afford more polygons.
* ZBrush sculpting: "male1591" proxy is a suitable starting point.
* Topology change: There are specific topologies for various cases (for example a very muscular male).
Because of the last bullet, sometimes the words "topology" and "proxy" are used interchangeably on the forums.
If you have external data, for example from a 3d scan, then it is much more convenient to apply that as a proxy than try to convert it to a target working on the base mesh, since a proxy don't need to have the same number or vertices nor share the UV.
See also [[FAQ:How can I create proxies or alternative topologies?]]
f19d73dc72ebae72832671c0106b17bdb7947bc6
534
91
2015-10-07T07:58:55Z
Joepal
14
wikitext
text/x-wiki
A proxy mesh is an alternative to MakeHuman's base mesh. There are several reason why you would want to export a character as a proxy mesh:
* Gaming: The base mesh has quite high poly-count. Use the "proxy741" if you are on a tight polygon budget, or "male1591" or "female1605" proxy if you can afford more polygons.
* ZBrush sculpting: "male1591" proxy is a suitable starting point.
* Topology change: There are specific topologies for various cases (for example a very muscular male).
Because of the last bullet, sometimes the words "topology" and "proxy" are used interchangeably on the forums.
See also [[FAQ:How can I create proxies or alternative topologies?]]
a8efc9521f58dae419c99380c8a6caeff9e53927
91
2015-07-10T09:38:32Z
Joepal
14
Created page with "A proxy mesh is an alternative to MakeHuman's base mesh. There are several reason why you would want to export a character as a proxy mesh: * Gaming: The base mesh has quite..."
wikitext
text/x-wiki
A proxy mesh is an alternative to MakeHuman's base mesh. There are several reason why you would want to export a character as a proxy mesh:
* Gaming: The base mesh has quite high poly-count. Use the "proxy741" if you are on a tight polygon budget, or "male1591" or "female1605" proxy if you can afford more polygons.
* ZBrush sculpting: "male1591" proxy is a suitable starting point.
* Topology change: There are specific topologies for various cases (for example a very muscular male).
Because of the last bullet, sometimes the words "topology" and "proxy" are used interchangeably on the forums.
34511a614d6885251f8382227b0d69cb13380ab7
FAQ:What is a target?
3002
20
76
74
2015-07-08T07:57:57Z
Joepal
14
wikitext
text/x-wiki
In the simplest form, a target is roughly equivalent with a slider inside MakeHuman (it's not exactly as easy as that, but it's a reasonable summary).
Targets are used internally by MH to deform the basemesh. They are the magic that happens when you pull some of the sliders. Behind each of the sliders in MH there is one or multiple targets that are created by artists. Those are usually created for one specific characteristic, so you can apply them individually, but you can put as many combined transformations in them as you want.
Custom targets are targets that you can create yourself for achieving other transformations than those obtained within MH itself. Often they are used for more specific things like creating fantasy characters.
Technically, a target is a collection of relative offsets of vertices of the basemesh. They remain compatible with new versions of makehuman as long as the basemesh does not change (which it did between 1.0.x and 1.1.x).
For a longer discussion on targets, see [[ Documentation:MHBlenderTools: MakeTarget|MHBlenderTools: MakeTarget ]]
1540151c053e62559f189e624c9b424fafe2383d
74
2015-07-08T07:51:43Z
Joepal
14
Created page with "In the simplest form, a target is roughly equivalent with a slider inside MakeHuman (it's not exactly as easy as that, but it's a reasonable summary). Targets are used inter..."
wikitext
text/x-wiki
In the simplest form, a target is roughly equivalent with a slider inside MakeHuman (it's not exactly as easy as that, but it's a reasonable summary).
Targets are used internally by MH to deform the basemesh. They are the magic that happens when you pull some of the sliders. Behind each of the sliders in MH there is one or multiple targets that are created by artists. Those are usually created for one specific characteristic, so you can apply them individually, but you can put as many combined transformations in them as you want.
Custom targets are targets that you can create yourself for achieving other transformations than those obtained within MH itself. Often they are used for more specific things like creating fantasy characters.
Technically, a target is a collection of relative offsets of vertices of the basemesh. They remain compatible with new versions of makehuman as long as the basemesh does not change.
For a longer discussion on targets, see [[ Documentation:MHBlenderTools: MakeTarget|MHBlenderTools: MakeTarget ]]
70604c868fb0df1463e1afe71d909575b480d4d4
FAQ:What is the general policy towards NSFW content and discussions?
3002
521
1393
1390
2017-05-30T12:05:59Z
Joepal
14
wikitext
text/x-wiki
In general, the admins and moderators are not bothered if someone wants to discuss body features which are generally considered NSFW ("Not Safe For Work"). This includes imagery including nudity and genitalia. Since MakeHuman aims at being biologically correct, it'd be absurd to try to exclude any particular part of the body from discussions.
So the general policy is that we keep an open minded and overall accepting attitude towards content and discussions which are on topic and not obvious attempts at trolling. What examples of the latter might be are decided on case-by-case. But it has not been a problem so far, and it was many years since we banned or redacted something because it was considered too provocative.
In summary: don't worry. If you want to show off graphics or discuss particular features of genitalia, then you are welcome to.
== Limitations ==
Since the forum and the user contribution areas are hosted in Sweden they end up under a swedish jurisdiction and will thus have to take swedish laws into account. The supreme court in sweden has stated that just because an image is artwork or drawn or does not depic an actual person, it still doesn't exempt it from following laws regarding (for example) child pornography. Thus we would have to redact or remove sexualized imagery of obviously underage toons. The same may (or may not, it is uncertain) go for other extreme or derogatory imagery.
But we believe it will be pretty obvious to any normal person what would be an example of an inappropriate thing to share. So if you just apply some common sense it shouldn't be a problem.
5098e1cc33191fb1ed8c771b234920c06ec5ac13
1390
2017-05-30T12:00:52Z
Joepal
14
Created page with "In general, the admins and moderators are not bothered if someone wants to discuss body features which are generally considered NSFW ("Not Safe For Work"). This includes image..."
wikitext
text/x-wiki
In general, the admins and moderators are not bothered if someone wants to discuss body features which are generally considered NSFW ("Not Safe For Work"). This includes imagery including nudity and genitalia. Since MakeHuman aims at being biologically correct, it'd be absurd to try to exclude any particular part of the body from discussions.
So the general policy is that we keep an open minded and overall accepting attitude towards content and discussions which are on topic and not obvious attempts at trolling. What examples of the latter might be are decided on case-by-case. But it has not been a problem so far, and it was many years since we banned or redacted something because it was considered too provocative.
In summary: don't worry. If you want to show off graphics or discuss particular features of genitalia, then you are welcome to.
== Limitations ==
Since the forum and the user contribution areas are hosted in Sweden they end up under a swedish jurisdiction and will thus have to take swedish laws into account. The supreme court in sweden has stated that just because an image is artwork or drawn or does not depic an actual person, it still doesn't exempt it from following laws regarding (for example) child pornography. Thus we would have to redact or remove sexualized imagery of obviously underage toons. The same may (or may not, it is uncertain) go for other extreme or derogatory imagery.
But we believe it will pretty obvious to any normal person what would be an example of an inappropriate thing to share. So if you just apply some common sense it shouldn't be a problem.
b8bd60603144092922c378ce01a4bfddf2b7f8af
FAQ:What is the meaning of the numbers in MakeHuman release?
3002
32
90
2015-07-10T09:36:11Z
Joepal
14
Created page with "Explanation of major/minor/patch IMAGE MISSING, IMPORT FROM DRUPAL"
wikitext
text/x-wiki
Explanation of major/minor/patch
IMAGE MISSING, IMPORT FROM DRUPAL
0904be1c639b6ce98815fb749b5573c00ac68cec
FAQ:What is the prefered method for contacting the MakeHuman crew?
3002
24
1413
550
2017-07-15T09:23:10Z
Joepal
14
wikitext
text/x-wiki
If you have questions, the forums are the default choice. '''ALL SUPPORT REQUESTS SHOULD GO VIA THE [http://www.makehumancommunity.org/forum/ FORUMS]'''. We have had to stop posting our email addresses because of the huge load of incoming support requests, so please don't try to contact us directly. This includes facebook: chances are we won't even answer facebook direct messages.
Bug reports should go to http://bugtracker.makehumancommunity.org.
If you want to chat directly with someone from the MakeHuman crew, there is an IRC channel, see [[FAQ:Is there an IRC channel?]], but it is only infrequently visited by someone from the dev team.
And oh, before trying to contact anyone at all, please read all relevant parts of http://www.makehumancommunity.org/wiki/FAQ:Index
8fbe0ba5e653819571bcb26dd89235d8a147fb68
550
81
2015-11-15T07:50:37Z
Joepal
14
wikitext
text/x-wiki
If you have questions, the forums are the default choice. '''ALL SUPPORT REQUESTS SHOULD GO VIA THE FORUMS'''. We have had to stop posting our email addresses because of the huge load of incoming support requests, so please don't try to contact us directly. This includes facebook: chances are we won't even answer facebook direct messages.
Bug reports should go to http://bugtracker.makehumancommunity.org.
If you want to chat directly with someone from the MakeHuman crew, there is an IRC channel, see [[FAQ:Is there an IRC channel?]], but it is only infrequently visited by someone from the dev team.
And oh, before trying to contact anyone at all, please read all relevant parts of http://www.makehumancommunity.org/wiki/FAQ:Index
f91bb84decc4b506a72225e3ec55e8cbf93b8e6f
81
80
2015-07-09T11:26:28Z
Joepal
14
wikitext
text/x-wiki
If you have questions, the forums are the default choice. We have had to stop posting our email addresses because of the huge load of incoming support requests, so please don't try to contact us directly.
Bug reports should go to http://bugtracker.makehumancommunity.org.
If you want to chat directly with someone from the MakeHuman crew, there is an IRC channel, see [[FAQ:Is there an IRC channel?]]
bf5cd3c70042cf8b5e27cc88ee26aa9aa7c75bd9
80
2015-07-09T11:26:01Z
Joepal
14
Created page with "If you have questions, the forums are the default choice. We have had to stop posting our email addresses because of the huge load of incoming support requests, so please don'..."
wikitext
text/x-wiki
If you have questions, the forums are the default choice. We have had to stop posting our email addresses because of the huge load of incoming support requests, so please don't try to contact us directly.
Bug reports should go to http://bugtracker.makehumancommunity.org.
If you want to chat directly with someone from the MakeHuman crew, there is an IRC channel.
7a94e8d8b5008107bf25f9f0bc121ee9f18d2cbd
FAQ:When will 1.1 be released?
3002
209
610
605
2016-03-06T16:24:14Z
Joepal
14
wikitext
text/x-wiki
MakeHuman is a volunteer project, and devs work as and when they have spare time. Currently, large parts of the project group is busy with real life situations. There is no definitive plan for when 1.1 will be released.
This said, the code base for 1.1 is largely feature complete ([http://www.makehumancommunity.org/content/release_candidates_for_110.html and there are release candidates]). There are some things which are desired to implement before a formal release, but most users would probably not see any difference between the program as it looks in the stable branch today and what will be released as a formal stable version.
Because of this, it is the strong recommendation of the project group that people use the release candidates for now, rather than 1.0.2. They are at least as stable, and everything which is added to the asset repositories etc are intended for this code version.
If you are curious on more details on what remains for 1.1.0, you can find a filtered list [http://bugtracker.makehumancommunity.org/projects/makehuman/issues?fixed_version_id=2&set_filter=1&status_id=o in the bugtracker]. Many of these issues are likely to be deferred to a 1.1.1 maintainance release though.
5ac66da8e3cc91fcfcd3b50124fc89371a17d2bb
605
556
2016-03-06T12:15:38Z
Joepal
14
Update to reflect the existence of RCs
wikitext
text/x-wiki
MakeHuman is a volunteer project, and devs work as and when they have spare time. Currently, large parts of the project group is busy with real life situations. There is no definitive plan for when 1.1 will be released.
This said, the code base for 1.1 is largely feature complete ([http://www.makehumancommunity.org/content/release_candidates_for_110.html and there are release candidates]). There are some things which are desired to implement before a formal release, but most users would probably not see any difference between the program as it looks in the stable branch today and what will be released as a formal stable version.
Because of this, it is the strong recommendation of the project group that people use the release candidates for now, rather than 1.0.2. It is at least as stable, and everything which is added to the asset repositories etc are intended for this code version.
If you are curious on more details on what remains for 1.1.0, you can find a filtered list [http://bugtracker.makehumancommunity.org/projects/makehuman/issues?fixed_version_id=2&set_filter=1&status_id=o in the bugtracker]. Many of these issues are likely to be deferred to a 1.1.1 maintainance release though.
20a2932c4ce96fe966fece1f4921b20a2699cc36
556
2016-01-05T14:32:30Z
Joepal
14
Created page with "MakeHuman is a volunteer project, and devs work as and when they have spare time. Currently, large parts of the project group is busy with real life situations. There is no de..."
wikitext
text/x-wiki
MakeHuman is a volunteer project, and devs work as and when they have spare time. Currently, large parts of the project group is busy with real life situations. There is no definitive plan for when 1.1 will be released.
This said, the code base for 1.1 is largely feature complete. There are some things which are desired to implement before a formal release, but most users would probably not see any difference between the program as it looks in the devel branch today and what will be released as a formal stable version.
Because of this, it is the strong recommendation of the project group that people use the nightly build for now, rather than 1.0.2. It is at least as stable, and everything which is added to the asset repositories etc are intended for this code version.
If you are curious on more details on what remains for 1.1.0, you can find a filtered list [http://bugtracker.makehumancommunity.org/projects/makehuman/issues?fixed_version_id=2&set_filter=1&status_id=o in the bugtracker]. Many of these issues are likely to be deferred to a 1.1.1 maintainance release though.
508b4507774261a794d12b814b133dfe8929aa0a
FAQ:Where are my MakeHuman files found (where is my HOME directory)?
3002
15
1813
1812
2020-06-28T12:47:37Z
Joepal
14
wikitext
text/x-wiki
TL;DR:
* On windows, your files are usually in "MY DOCUMENTS"\makehuman\v1py3
* On linux, your files are usually in "~/Documents/makehuman/v1py3" or "~/makehuman/v1py3"
The longer story, with special cases:
The [BASE] folder location for saving MakeHuman user data depends on your operating system (Windows, Linux, OSX, etc..). In the guide below, replace <username> with your actual login name. Typically, your <root> will be 'c:\\' (without quotes) on Windows machines, and just plain "/" (without quotes) on Linux and Mac OSX. Take in account that your operating system might be case sensitive on filenames (Unix-like OSs !). In case of doubt use lower case directory names.
Here is the basic guide to finding the [BASE] folder on your operating system:
* Microsoft Windows Vista, 7, 8, 8.1 and 10: c:/Users/<username>/Documents/
* Linux: /home/<username>/ or simply ~/ (in 1.2.0 alpha 2 and later, the base folder has been moved to /home/<username>/Documents)
* Mac OSX: /Users/<username>/Documents/
* MakeHumanPortable (all Windows versions): X:\PortableApps\MakeHumanPortable\AppData (where X: is the drive letter of your removable device)
Your [BASE] folder, by default, contains an "asset folder" called '''"makehuman"''' which will, in turn, contain a subfolder named 'v1' for MH version 1.X.X releases. The ./makehuman/v1/ subfolder contains a series of additional subfolders containing your personal MakeHuman asset files: '''backgrounds, cache, data, exports, grab, models, and render'''.
The ./models/ folder will contain the .mhm '''model''' files you "save". The ./exports/ folder will contain the files you "'''export'''" in .dae (collada), .fbx, .mhx2, .obj, or .stl formats. The ./backgrounds/ folder is where you can place '''background reference images''' to use in model construction. The '''data folder''', itself, contains many subfoders. The ./data/... subfolders are where you will find '''clothes and other proxy objects''' that you import using the asset manager.
'''Notes:'''
* On Windows systems, "Documents" is subject to internationalization.
For older/deprecated versions of Windows you may find the [BASE]/makehuman/v1/ subfolder here:
* Microsoft Windows 2000, XP and 2003: c:\\Documents and Settings\<username>
* Microsoft Windows NT: <root>\WINNT\Profiles\<username>
2097edd5334a2a098569cd390c459da2fa73a488
1812
1555
2020-06-28T12:46:53Z
Joepal
14
wikitext
text/x-wiki
TL;DR:
* On windows, your files are usually in "MY DOCUMENTS"\makehuman\v1py3
* On linux, your files are usually in "~/makehuman/v1py3"
The longer story, with special cases:
The [BASE] folder location for saving MakeHuman user data depends on your operating system (Windows, Linux, OSX, etc..). In the guide below, replace <username> with your actual login name. Typically, your <root> will be 'c:\\' (without quotes) on Windows machines, and just plain "/" (without quotes) on Linux and Mac OSX. Take in account that your operating system might be case sensitive on filenames (Unix-like OSs !). In case of doubt use lower case directory names.
Here is the basic guide to finding the [BASE] folder on your operating system:
* Microsoft Windows Vista, 7, 8, 8.1 and 10: c:/Users/<username>/Documents/
* Linux: /home/<username>/ or simply ~/ (in 1.2.0 alpha 2 and later, the base folder has been moved to /home/<username>/Documents)
* Mac OSX: /Users/<username>/Documents/
* MakeHumanPortable (all Windows versions): X:\PortableApps\MakeHumanPortable\AppData (where X: is the drive letter of your removable device)
Your [BASE] folder, by default, contains an "asset folder" called '''"makehuman"''' which will, in turn, contain a subfolder named 'v1' for MH version 1.X.X releases. The ./makehuman/v1/ subfolder contains a series of additional subfolders containing your personal MakeHuman asset files: '''backgrounds, cache, data, exports, grab, models, and render'''.
The ./models/ folder will contain the .mhm '''model''' files you "save". The ./exports/ folder will contain the files you "'''export'''" in .dae (collada), .fbx, .mhx2, .obj, or .stl formats. The ./backgrounds/ folder is where you can place '''background reference images''' to use in model construction. The '''data folder''', itself, contains many subfoders. The ./data/... subfolders are where you will find '''clothes and other proxy objects''' that you import using the asset manager.
'''Notes:'''
* On Windows systems, "Documents" is subject to internationalization.
For older/deprecated versions of Windows you may find the [BASE]/makehuman/v1/ subfolder here:
* Microsoft Windows 2000, XP and 2003: c:\\Documents and Settings\<username>
* Microsoft Windows NT: <root>\WINNT\Profiles\<username>
c9ac73ffc0b072c1fab2ca508d42ecd65fd23b77
1555
1378
2019-01-07T08:35:24Z
Joepal
14
wikitext
text/x-wiki
The [BASE] folder location for saving MakeHuman user data depends on your operating system (Windows, Linux, OSX, etc..). In the guide below, replace <username> with your actual login name. Typically, your <root> will be 'c:\\' (without quotes) on Windows machines, and just plain "/" (without quotes) on Linux and Mac OSX. Take in account that your operating system might be case sensitive on filenames (Unix-like OSs !). In case of doubt use lower case directory names.
Here is the basic guide to finding the [BASE] folder on your operating system:
* Microsoft Windows Vista, 7, 8, 8.1 and 10: c:/Users/<username>/Documents/
* Linux: /home/<username>/ or simply ~/ (in 1.2.0 alpha 2 and later, the base folder has been moved to /home/<username>/Documents)
* Mac OSX: /Users/<username>/Documents/
* MakeHumanPortable (all Windows versions): X:\PortableApps\MakeHumanPortable\AppData (where X: is the drive letter of your removable device)
Your [BASE] folder, by default, contains an "asset folder" called '''"makehuman"''' which will, in turn, contain a subfolder named 'v1' for MH version 1.X.X releases. The ./makehuman/v1/ subfolder contains a series of additional subfolders containing your personal MakeHuman asset files: '''backgrounds, cache, data, exports, grab, models, and render'''.
The ./models/ folder will contain the .mhm '''model''' files you "save". The ./exports/ folder will contain the files you "'''export'''" in .dae (collada), .fbx, .mhx2, .obj, or .stl formats. The ./backgrounds/ folder is where you can place '''background reference images''' to use in model construction. The '''data folder''', itself, contains many subfoders. The ./data/... subfolders are where you will find '''clothes and other proxy objects''' that you import using the asset manager.
'''Notes:'''
* On Windows systems, "Documents" is subject to internationalization.
For older/deprecated versions of Windows you may find the [BASE]/makehuman/v1/ subfolder here:
* Microsoft Windows 2000, XP and 2003: c:\\Documents and Settings\<username>
* Microsoft Windows NT: <root>\WINNT\Profiles\<username>
eb82c69dbf85027977da4fcbf2e4e927a1653d15
1378
1377
2017-03-24T15:11:59Z
Robbaer
12
wikitext
text/x-wiki
The [BASE] folder location for saving MakeHuman user data depends on your operating system (Windows, Linux, OSX, etc..). In the guide below, replace <username> with your actual login name. Typically, your <root> will be 'c:\\' (without quotes) on Windows machines, and just plain "/" (without quotes) on Linux and Mac OSX. Take in account that your operating system might be case sensitive on filenames (Unix-like OSs !). In case of doubt use lower case directory names.
Here is the basic guide to finding the [BASE] folder on your operating system:
* Microsoft Windows Vista, 7, 8, 8.1 and 10: c:/Users/<username>/Documents/
* Linux: /home/<username>/ or simply ~/
* Mac OSX: /Users/<username>/Documents/
* MakeHumanPortable (all Windows versions): X:\PortableApps\MakeHumanPortable\AppData (where X: is the drive letter of your removable device)
Your [BASE] folder, by default, contains an "asset folder" called '''"makehuman"''' which will, in turn, contain a subfolder named 'v1' for MH version 1.X.X releases. The ./makehuman/v1/ subfolder contains a series of additional subfolders containing your personal MakeHuman asset files: '''backgrounds, cache, data, exports, grab, models, and render'''.
The ./models/ folder will contain the .mhm '''model''' files you "save". The ./exports/ folder will contain the files you "'''export'''" in .dae (collada), .fbx, .mhx2, .obj, or .stl formats. The ./backgrounds/ folder is where you can place '''background reference images''' to use in model construction. The '''data folder''', itself, contains many subfoders. The ./data/... subfolders are where you will find '''clothes and other proxy objects''' that you import using the asset manager.
'''Notes:'''
* On Windows systems, "Documents" is subject to internationalization.
For older/deprecated versions of Windows you may find the [BASE]/makehuman/v1/ subfolder here:
* Microsoft Windows 2000, XP and 2003: c:\\Documents and Settings\<username>
* Microsoft Windows NT: <root>\WINNT\Profiles\<username>
945e70693eb366eaa55e271ee0360aa233d7c2c7
1377
1376
2017-03-24T15:09:14Z
Robbaer
12
wikitext
text/x-wiki
The [BASE] folder location for saving MakeHuman user data depends on your operating system (Windows, Linux, OSX, etc..). In the guide below, replace <username> with your actual login name. Typically, your <root> will be 'c:\\' (without quotes) on Windows machines, and just plain "/" (without quotes) on Linux and Mac OSX. Take in account that your operating system might be case sensitive on filenames (Unix-like OSs !). In case of doubt use lower case directory names.
Here is the basic guide to finding the [BASE] folder on your operating system:
* Microsoft Windows Vista, 7, 8, 8.1 and 10: c:/Users/<username>/Documents/
* Linux: /home/<username>/ or simply ~/
* Mac OSX: /Users/<username>/Documents/
* MakeHumanPortable (all Windows versions): X:\PortableApps\MakeHumanPortable\AppData (where X: is the drive letter of your removable device)
Your [BASE] folder, by default, contains an "asset folder" called '''"makehuman"''' which will, in turn, contain a subfolder named 'v1' for MH version 1.X.X releases. The ./makehuman/v1/ subfolder contains a series of additional subfolders containing your personal MakeHuman asset files: '''backgrounds, cache, data, exports, grab, models, and render'''.
The ./models/ folder will contain the .mhm '''model''' files you "save". The ./exports/ folder will contain the files you "'''export'''" in .dae (collada), .fbx, .mhx2, .obj, or .stl formats. The ./backgrounds/ folder is where you can place '''background reference images''' to use in model construction. The '''data folder''', itself, contains many subfoders. The ./data/... subfolders are where you will find '''clothes and other proxy objects''' that you import using the asset manager.
'''Notes:'''
* On Windows systems, "Documents and Settings" is subject to internationalization.
For older/deprecated versions of Windows you may find the [BASE]/makehuman/v1/ subfolder here:
* Microsoft Windows 2000, XP and 2003: c:\\Documents and Settings\<username>
* Microsoft Windows NT: <root>\WINNT\Profiles\<username>
6a125340bd9b917878fbc701052691bcd85cbad9
1376
1311
2017-03-24T13:01:38Z
Aranuvir
17
wikitext
text/x-wiki
The [BASE] folder location for saving MakeHuman user data depends on your operating system (Windows, Linux, OSX, etc..). In the guide below, replace <username> with your actual login name. Typically, your <root> will be 'c:\\' (without quotes) on Windows machines, and just plain "/" (without quotes) on Linux and Mac OSX. Take in account that your operating system might be case sensitive on filenames (Unix-like OSs !). In case of doubt use lower case directory names.
Here is the basic guide to finding the [BASE] folder on your operating system:
* Microsoft Windows Vista, 7, 8, 8.1 and 10: c:\\Users\<username>\Documents\
* Linux: /home/<username>/ or simply ~/
* Mac OSX: /Users/<username>/Documents/
* MakeHumanPortable (all Windows versions): X:\PortableApps\MakeHumanPortable\AppData (where X: is the drive letter of your removable device)
Your [BASE] folder, by default, contains an "asset folder" called '''"makehuman"''' which will, in turn, contain a subfolder named 'v1' for MH version 1.X.X releases. The ./makehuman/v1/ subfolder contains a series of additional subfolders containing your personal MakeHuman asset files: '''backgrounds, cache, data, exports, grab, models, and render'''.
The ./models/ folder will contain the .mhm '''model''' files you "save". The ./exports/ folder will contain the files you "'''export'''" in .dae (collada), .fbx, .mhx2, .obj, or .stl formats. The ./backgrounds/ folder is where you can place '''background reference images''' to use in model construction. The '''data folder''', itself, contains many subfoders. The ./data/... subfolders are where you will find '''clothes and other proxy objects''' that you import using the asset manager.
'''Notes:'''
* On Windows systems, "Documents and Settings" is subject to internationalization.
For older/deprecated versions of Windows you may find the [BASE]/makehuman/v1/ subfolder here:
* Microsoft Windows 2000, XP and 2003: c:\\Documents and Settings\<username>
* Microsoft Windows NT: <root>\WINNT\Profiles\<username>
905eb475fb76df4ea681d5e19664f2cc76a78a0f
1311
1199
2017-02-13T14:14:30Z
Aranuvir
17
wikitext
text/x-wiki
The [BASE] folder location for saving MakeHuman user data depends on your operating system (Windows, Linux, OSX, etc..). In the guide below, replace <username> with your actual login name. Typically, your <root> will be 'c:\\' (without quotes) on Windows machines, and just plain "/" (without quotes) on Linux and Mac OSX.
Here is the basic guide to finding the [BASE] folder on your operating system:
* Microsoft Windows Vista, 7, 8, 8.1 and 10: c:\\Users\<username>\Documents\
* Linux: /home/<username>/ or simply ~/
* Mac OSX: /Users/<username>/Documents/
* MakeHumanPortable (all Windows versions): X:\PortableApps\MakeHumanPortable\AppData (where X: is the drive letter of your removable device)
Your [BASE] folder, by default, contains an "asset folder" called "makehuman" which will, in turn, contain a subfolder named 'v1' for MH version 1.X.X releases. The ./makehuman/v1/ subfolder contains a series of additional subfolders containing your personal MakeHuman asset files: '''backgrounds, cache, data, exports, grab, models, and render'''.
The ./models/ folder will contain the .mhm '''model''' files you "save". The ./exports/ folder will contain the files you "'''export'''" in .dae (collada), .fbx, .mhx2, .obj, or .stl formats. The ./backgrounds/ folder is where you can place '''background reference images''' to use in model construction. The '''data folder''', itself, contains many subfoders. The ./data/... subfolders are where you will find '''clothes and other proxy objects''' that you import using the asset manager.
'''Notes:'''
* On Windows systems, "Documents and Settings" is subject to internationalization.
For older/deprecated versions of Windows you may find the [BASE]/makehuman/v1/ subfolder here:
* Microsoft Windows 2000, XP and 2003: c:\\Documents and Settings\<username>
* Microsoft Windows NT: <root>\WINNT\Profiles\<username>
2e14aaad57cd73e62520a6f941a79a3838ed09ed
1199
1198
2016-10-02T18:02:40Z
Robbaer
12
wikitext
text/x-wiki
The [BASE] folder location for saving MakeHuman user data depends on your operating system (Windows, Linux, OSX, etc..). In the guide below, replace <username> with your actual login name. Typically, your <root> will be 'c:\\' (without quotes) on Windows machines, and just plain "/" (without quotes) on Linux and Mac OSX.
Here is the basic guide to finding the [BASE] folder on your operating system:
* Microsoft Windows Vista, 7, 8, 8.1 and 10: c:\\Users\<username>\Documents\
* Linux: /home/<username>/ or simply ~/
* Mac OSX: /Users/<username>/Documents/
* MakeHumanPortable (all Windows versions): X:\PortableApps\MakeHumanPortable\AppDate (where X: is the drive letter of your removable device)
Your [BASE] folder, by default, contains an "asset folder" called "makehuman" which will, in turn, contain a subfolder named 'v1' for MH version 1.X.X releases. The ./makehuman/v1/ subfolder contains a series of additional subfolders containing your personal MakeHuman asset files: '''backgrounds, cache, data, exports, grab, models, and render'''.
The ./models/ folder will contain the .mhm '''model''' files you "save". The ./exports/ folder will contain the files you "'''export'''" in .dae (collada), .fbx, .mhx2, .obj, or .stl formats. The ./backgrounds/ folder is where you can place '''background reference images''' to use in model construction. The '''data folder''', itself, contains many subfoders. The ./data/... subfolders are where you will find '''clothes and other proxy objects''' that you import using the asset manager.
'''Notes:'''
* On Windows systems, "Documents and Settings" is subject to internationalization.
For older/deprecated versions of Windows you may find the [BASE]/makehuman/v1/ subfolder here:
* Microsoft Windows 2000, XP and 2003: c:\\Documents and Settings\<username>
* Microsoft Windows NT: <root>\WINNT\Profiles\<username>
9ec92082509706c73dd3dfe9b9a4684128700dfd
1198
1197
2016-10-02T17:59:54Z
Robbaer
12
wikitext
text/x-wiki
The [BASE] folder location for saving MakeHuman user data depends on your operating system (Windows, Linux, OSX, etc..). In the guide below, replace <username> with your actual login name. Typically, your <root> will be 'c:\\' (without quotes) on Windows machines, and just plain "/" (without quotes) on Linux and Mac OSX.
Here is the basic guide to finding the [BASE] folder on your operating system:
* Microsoft Windows Vista, 7, 8, 8.1 and 10: c:\\Users\<username>\Documents\
* Linux: /home/<username>/ or simply ~/
* Mac OSX: /Users/<username>/Documents/
* MakeHumanPortable (all Windows versions): X:\PortableApps\MakeHumanPortable\AppDate (where X: is the drive letter of your removable device)
Your [BASE] folder, by default, contains an "asset folder" called "makehuman" which will, in turn, contain a subfolder named 'v1' for MH version 1.X.X releases. The ./makehuman/v1/ subfolder contains a series of additional subfolders containing your personal MakeHuman asset files: '''backgrounds, cache, data, exports, grab, models, and render'''.
The ./models/ folder will contain the .mhm '''model''' files you "save". The ./exports/ folder will contain the files you "'''export'''" in .dae (collada), .fbx, .mhx2, .obj, or .stl formats. The ./backgrounds/ folder is where you can place '''background reference images''' to use in model construction. The '''data folder''', itself, contains many subfoders. The ./data/... subfolders are where you will find '''clothes and other proxy objects''' that you import using the asset manager.
'''Notes:'''
* On Windows systems, "Documents and Settings" is subject to internationalization.
For older/deprecated versions of Windows you may find the <home>/makehuman/v1/ subfolder here:
* Microsoft Windows 2000, XP and 2003: c:\\Documents and Settings\<username>
* Microsoft Windows NT: <root>\WINNT\Profiles\<username>
d156d28bb7cf8bcf2f1bccc057a8c4dd51805fc2
1197
1196
2016-10-02T17:57:43Z
Robbaer
12
wikitext
text/x-wiki
The [BASE] folder location for saving MakeHuman user data depends on your operating system (Windows, Linux, OSX, etc..). In the guide below, replace <username> with your actual login name. Typically, your <root> will be 'c:\\' (without quotes) on Windows machines, and just plain "/" (without quotes) on Linux and Mac OSX.
Here is the basic guide to finding the [BASE] folder on your operating system:
* Microsoft Windows Vista, 7, 8, 8.1 and 10: c:\\Users\<username>\Documents\
* Linux: /home/<username>/ or simply ~/
* Mac OSX: /Users/<username>/Documents/
* MakeHumanPortable (all Windows versions): X:\PortableApps\MakeHumanPortable\AppDate (where X: is the drive letter of your removable device)
Your [BASE] folder, by default, contains an "asset folder" called "makehuman" which will, in turn, contain a subfolder named 'v1' for MH version 1.X.X releases. The ./makehuman/v1/ subfolder contains a series of additional subfolders containing your personal MakeHuman asset files: '''backgrounds, cache, data, exports, grab, models, and render'''.
The ./models/ folder will contain the .mhm files you "save". The ./exports/ folder will contain the files you "export" in .dae (collada), .fbx, .mhx2, .obj, or .stl format. The ./backgrounds/ folder is where you can place reference images to use in model construction. The data folder, itself, contains many subfoders. The ./data/... subfolders are where you will find clothes and other proxy objects that you import using the asset manager.
'''Notes:'''
* On Windows systems, "Documents and Settings" is subject to internationalization.
For older/deprecated versions of Windows you may find the <home>/makehuman/v1/ subfolder here:
* Microsoft Windows 2000, XP and 2003: c:\\Documents and Settings\<username>
* Microsoft Windows NT: <root>\WINNT\Profiles\<username>
871455dc15b72e10b288af1d20231b4d0a21211d
1196
1195
2016-10-02T17:51:18Z
Robbaer
12
wikitext
text/x-wiki
The [BASE] folder location for saving MakeHuman user data depends on your operating system (Windows, Linux, OSX, etc..). In the guide below, replace <username> with your actual login name. Typically, you will replace <root> with 'c:\\' (without quotes) on Windows machines, and with just plain "/" (without quotes) on Linux and Mac OSX.
Here is the basic guide to finding the [BASE] folder on your operating system:
* Microsoft Windows Vista, 7, 8, 8.1 and 10: c:\\Users\<username>\Documents\
* Linux: /home/<username>/ or simply ~/
* Mac OSX: /Users/<username>/Documents/
* MakeHumanPortable (all Windows versions): X:\PortableApps\MakeHumanPortable\AppDate (where X: is the drive letter of your removable device)
Your [BASE] folder will, by default, contain a makehuman asset folder called "makehuman" which will, in turn, conatain a folder named 'v1'. The ./makehuman/v1/ contains a series of subfolders separating your personal MakeHuman files: backgrounds, cache, data, exports, grab, models, and render.
The ./models/ folder will contain the .mhm files you "save". The ./exports/ folder will contain the files you "export" in .dae (collada), .fbx, .mhx2, .obj, or .stl format. The ./backgrounds/ folder is where you can place reference images to use in model construction. The data folder, itself, contains many subfoders. The ./data/... subfolders are where you will find clothes and other proxy objects that you import using the asset manager.
In your home folder you will find a subfolder named 'makehuman' that itself contains a subfolder named v1 for user created assets in the MakeHuman 1.X.X series.
'''Notes:'''
* On Windows systems, "Documents and Settings" is subject to internationalization.
For older/deprecated versions of Windows you may find the <home>/makehuman/v1/ subfolder here:
* Microsoft Windows 2000, XP and 2003: c:\\Documents and Settings\<username>
* Microsoft Windows NT: <root>\WINNT\Profiles\<username>
847691de72685a0e4d6f92e0c341bce201c81830
1195
1194
2016-10-02T17:44:53Z
Robbaer
12
wikitext
text/x-wiki
The [Home] folder location for saving MakeHuman user data depends on your operating system (Windows, Linux, OSX, etc..). In the guide below, replace <username> with your actual login name. Typically, you will replace <root> with 'c:\\' (without quotes) on Windows machines, and with just plain "/" (without quotes) on Linux and Mac OSX.
Here is the basic guide to finding the [HOME] folder on your operating system:
* Microsoft Windows Vista, 7, 8, 8.1 and 10: <root>\Users\<username>
* Linux: /home/<username>/ or simply ~/
* Mac OSX: /Users/<username>/Documents/
* MakeHumanPortable (all Windows versions): X:\PortableApps\MakeHumanPortable\AppDate (where X: is the drive letter of your removable device)
Your [HOME] folder will, by default, contain a makehuman asset folder called "makehuman" which will, in turn, conatain a folder named 'v1'. The ./makehuman/v1/ contains a series of subfolders separating your personal MakeHuman files: backgrounds, cache, data, exports, grab, models, and render.
The ./models/ folder will contain the .mhm files you "save". The ./exports/ folder will contain the files you "export" in .dae (collada), .fbx, .mhx2, .obj, or .stl format. The ./backgrounds/ folder is where you can place reference images to use in model construction. The data folder, itself, contains many subfoders. The ./data/... subfolders are where you will find clothes and other proxy objects that you import using the asset manager.
In your home folder you will find a subfolder named 'makehuman' that itself contains a subfolder named v1 for user created assets in the MakeHuman 1.X.X series.
'''Notes:'''
* On Windows systems, "Documents and Settings" is subject to internationalization.
For older/deprecated versions of Windows you may find the <home>/makehuman/v1/ subfolder here:
* Microsoft Windows 2000, XP and 2003: c:\\Documents and Settings\<username>
* Microsoft Windows NT: <root>\WINNT\Profiles\<username>
b4f3301740a1765c22c0d5c826eafacba2de1823
1194
1193
2016-10-02T17:32:03Z
Robbaer
12
wikitext
text/x-wiki
The [Home] folder location for saving MakeHuman user data depends on your operating system (Windows, Linux, OSX, etc..). In the guide below, replace <username> with your actual login name. Typically, you will replace <root> with 'c:\\' (without quotes) on Windows machines, and with just plain "/" (without quotes) on Linux and Mac OSX.
Here is the basic guide to finding the [HOME] folder on your operating system:
* Microsoft Windows Vista, 7, 8, 8.1 and 10: <root>\Users\<username>
* Linux: /home/<username>/ or simply ~/
* Mac OSX: /Users/<username>/
* MakeHumanPortable (all Windows versions): X:\PortableApps\MakeHumanPortable\AppDate (where X: is the drive letter of your removable device)
Your [HOME] folder will, by default, contain a makehuman asset folder called "makehuman" which will, in turn, conatain a folder named 'v1'. The ./makehuman/v1/ contains a series of subfolders separating your personal MakeHuman files: backgrounds, cache, data, exports, grab, models, and render.
The ./models/ folder will contain the .mhm files you "save". The ./exports/ folder will contain the files you "export" in .dae (collada), .fbx, .mhx2, .obj, or .stl format. The ./backgrounds/ folder is where you can place reference images to use in model construction. The data folder, itself, contains many subfoders. The ./data/... subfolders are where you will find clothes and other proxy objects that you import using the asset manager.
In your home folder you will find a subfolder named 'makehuman' that itself contains a subfolder named v1 for user created assets in the MakeHuman 1.X.X series.
'''Notes:'''
* On Windows systems, "Documents and Settings" is subject to internationalization.
For older/deprecated versions of Windows you may find the <home>/makehuman/v1/ subfolder here:
* Microsoft Windows 2000, XP and 2003: c:\\Documents and Settings\<username>
* Microsoft Windows NT: <root>\WINNT\Profiles\<username>
e4b58d3a6bc42e8536626f65c0bbcde57189cd7d
1193
1182
2016-10-02T17:29:42Z
Robbaer
12
wikitext
text/x-wiki
The [Home] folder location for saving MakeHuman user data depends on your operating system (Windows, Linux, OSX, etc..). In the guide below, replace <username> with your actual login name. Typically, you will replace <root> with 'c:\\' (without quotes) on Windows machines, and with just plain "/" (without quotes) on Linux and Mac OSX.
Here is the basic guide to finding the [HOME] folder on your operating system:
* Microsoft Windows Vista, 7, 8, 8.1 and 10: <root>\Users\<username>
* Linux: /home/<username>/ or simply ~/
* Mac OSX: /Users/<username>/
* MakeHumanPortable (all Windows versions): X:\PortableApps\MakeHumanPortable\AppDate (where X: is the drive letter of your removable device)
Your [HOME] folder will, by default, contain a makehuman asset folder called "makehuman" which will, in turn, conatain a folder named 'v1'. The ./makehuman/v1/ contains a series of subfolders separating your personal MakeHuman files: backgrounds, cache, data, exports, grab, models, and render.
The ./models/ folder will contain the .mhm files you "save". The ./exports/ folder will contain the files you "export" in .dae (collada), .fbx, .mhx2, .obj, or .stl format. The ./backgrounds/ folder is where you can place reference images to use in model construction. The data folder, itself, contains many subfoders. The ./data/... subfolders are where you will find clothes and other proxy objects that you import using the asset manager.
In your home folder you will find a subfolder named 'makehuman' that itself contains a subfolder named v1 for user created assets in the MakeHuman 1.X.X series.
'''Notes:'''
For older/deprecated versions of Windows you may find the <home>makehuman/v1/ subfolder here:
* Microsoft Windows 2000, XP and 2003: c:\\Documents and Settings\<username>
* Microsoft Windows NT: <root>\WINNT\Profiles\<username>
* On Windows systems, "Documents and Settings" is subject to internationalization.
a194f9c062627dff3d71f49891c4eefe39370395
1182
66
2016-09-29T13:55:52Z
Aranuvir
17
wikitext
text/x-wiki
The Home folder location depends on where your operating system (Windows, Linux Osx, etc..) stores documents, pictures, files, settings, preference, videos, and music by default. Here is the basic guide:
* Microsoft Windows NT: <root>\WINNT\Profiles\<username>
* Microsoft Windows 2000, XP and 2003: <root>\Documents and Settings\<username>
* Microsoft Windows Vista, 7 and 8: <root>\Users\<username>
* Linux: <root>/home/<username>
* Mac OSX: /Users/<username>
* MakeHumanPortable (all Windows versions): X:\PortableApps\MakeHumanPortable\AppDate (replace X: by the appropriate drive letter of your removable device)
Within the Home directory you should find a folder called makehuman. Starting with MakeHuman Alpha 8, the makehuman folder contains version specific subfolders for major releases.
MakeHuman 1.0.X automatically stores data into the [HOME]/makehuman/v1/, using the following scheme:
* linux: /home/USERNAME/makehuman/v1
* OSX: /Users/USERNAME/Documents/makehuman/v1
* win32: ROOT_LETTER:\Documents and settings\USERNAME\My Documents\makehuman\v1
The [HOME]/makehuman/v1 folder will, in turn, have a series of subfolders separating your personal MakeHuman files like saved models, saved exports, data (e.g., custom clothes, materials, and geometries), backgrounds, renders, screen grabs, etc.
Notes:
* On Windows systems, "My Documents" is subject to internationalization.
* On recent Windows versions you can also use: ROOT_LETTER:/Users/USERNAME/Documents.
* ROOT_LETTER is often C:, but not necessarily.
8c685c5a8fcd6476d9b8233b5081f4e0e67f141b
66
2015-07-06T07:34:36Z
Joepal
14
Created page with "The Home folder location depends on where your operating system (Windows, Linux Osx, etc..) stores documents, pictures, files, settings, preference, videos, and music by defa..."
wikitext
text/x-wiki
The Home folder location depends on where your operating system (Windows, Linux Osx, etc..) stores documents, pictures, files, settings, preference, videos, and music by default. Here is the basic guide:
* Microsoft Windows NT: <root>\WINNT\Profiles\<username>
* Microsoft Windows 2000, XP and 2003: <root>\Documents and Settings\<username>
* Microsoft Windows Vista, 7 and 8: <root>\Users\<username>
* Linux: <root>/home/<username>
* Mac OSX: /Users/<username>
Within the Home directory you should find a folder called makehuman. Starting with MakeHuman Alpha 8, the makehuman folder contains version specific subfolders for major releases.
MakeHuman 1.0.X automatically stores data into the [HOME]/makehuman/v1/, using the following scheme:
* linux: /home/USERNAME/makehuman/v1
* OSX: /Users/USERNAME/Documents/makehuman/v1
* win32: ROOT_LETTER:\Documents and settings\USERNAME\My Documents\makehuman\v1
The [HOME]/makehuman/v1 folder will, in turn, have a series of subfolders separating your personal MakeHuman files like saved models, saved exports, data (e.g., custom clothes, materials, and geometries), backgrounds, renders, screen grabs, etc.
Notes:
* On Windows systems, "My Documents" is subject to internationalization.
* On recent Windows versions you can also use: ROOT_LETTER:/Users/USERNAME/Documents.
* ROOT_LETTER is often C:, but not necessarily.
7c96e0c0293947b3cc8357f5a72ec05c9bfb9a07
FAQ:Where are the nightly builds?
3002
529
1412
1405
2017-07-13T11:29:10Z
Joepal
14
wikitext
text/x-wiki
Nightly builds can be found at http://download.tuxfamily.org/makehuman/nightly/
Currently only windows binaries are being built. For linux, see [[FAQ: How can I run the same code as the nightly build from source?]].
c8265b76c664032920993c99b084aee6d05ab1df
1405
2017-07-13T10:56:59Z
Joepal
14
Created page with "Nightly builds can be found at http://download.tuxfamily.org/makehuman/nightly/ Currently only windows binaries are being built."
wikitext
text/x-wiki
Nightly builds can be found at http://download.tuxfamily.org/makehuman/nightly/
Currently only windows binaries are being built.
acf4775f26764aef3b7851340398c013625ea425
FAQ:Where can I download MakeHuman?
3002
34
1211
1210
2016-10-29T08:52:22Z
Joepal
14
wikitext
text/x-wiki
See the [http://www.makehumancommunity.org/content/downloads.html Download page].
If you want to download the source code you can find it at https://bitbucket.org/MakeHuman/makehuman
2875767d5c2898d1570ba579b7e84c329516c473
1210
92
2016-10-29T08:51:32Z
Joepal
14
wikitext
text/x-wiki
The normal page for finding makehuman is http://www.makehumancommunity.org/content/download.html.
If you want to download the source code you can find it at https://bitbucket.org/MakeHuman/makehuman
334503e14ca2fb73b7b42a755fb05088b6db4b65
92
2015-07-10T09:41:14Z
Joepal
14
Created page with "The normal page for finding makehuman is http://www.makehuman.org/content/download.html. If you want to download the source code you can find it at https://bitbucket.org/Make..."
wikitext
text/x-wiki
The normal page for finding makehuman is http://www.makehuman.org/content/download.html.
If you want to download the source code you can find it at https://bitbucket.org/MakeHuman/makehuman
6c95831667887187260f1e68cb124bfa27de799f
FAQ:Where can I find older Versions of MakeHuman?
3002
477
1139
2016-08-29T11:06:05Z
Aranuvir
17
Created page with "In case you need an older version of MakeHuman you can download from the current archive at: http://files.jwp.se/archive/"
wikitext
text/x-wiki
In case you need an older version of MakeHuman you can download from the current archive at: http://files.jwp.se/archive/
127753c2b16de7ef5b0c03b36ef6d2c72c0f2852
FAQ:Where can I get MHX2 for Blender 2.80
3002
580
1612
2019-09-27T08:24:08Z
Joepal
14
Created page with "As pull requests haven't been accepted upstreams for a while, we now keep a (possibly temporary) fork of MHX2 at https://bitbucket.org/Aranuvir/mhx2-makehuman-exchange/src/def..."
wikitext
text/x-wiki
As pull requests haven't been accepted upstreams for a while, we now keep a (possibly temporary) fork of MHX2 at https://bitbucket.org/Aranuvir/mhx2-makehuman-exchange/src/default/. This should work with Blender 2.80.
You can find up to date links at the download plugins page at http://www.makehumancommunity.org/content/plugins.html
5e7601cd2b3805c3ad1522e8028f368b30a40886
FAQ:Where can I unzip MakeHuman (in Windows)?
3002
36
95
2015-07-10T09:49:43Z
Joepal
14
Created page with "In theory MakeHuman can be run from any folder, but due to a limitation of pyinstaller (with which the builds are compiled) you cannot place the application in a folder with n..."
wikitext
text/x-wiki
In theory MakeHuman can be run from any folder, but due to a limitation of pyinstaller (with which the builds are compiled) you cannot place the application in a folder with non-ascii characters (so no È, Ø, Å or Д type of things). The safest solution that always works is unzipping makehuman in C:\makehuman. If you know you only have the letters a-z0-9_ in your user name, unzipping the download in a new folder on the desktop is usually a convenient solution.
Just make sure you unzip the entire downloaded zip file to that folder, not just double click the .exe and hope that everything turns up where it should.
add9cc4d1f051e00a62b7724feac777b5c3faf40
FAQ:Which version of MakeHuman should I download?
3002
35
1930
1929
2020-11-06T12:40:58Z
Joepal
14
wikitext
text/x-wiki
TL;DR: At this point in time, you are best off downloading the stable release of MakeHuman Community 1.2.0. See http://www.makehumancommunity.org/content/makehuman_120.html.
If you want newer features, it is usually also safe to download the nightly build. For windows, it is available from [http://download.tuxfamily.org/makehuman/nightly/ the download directory]. Look for the file named "*-nightly-windows.zip". Linux users are encouraged to run from source, but there is also a PPA at https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community
There are three different versions of MakeHuman, and it can be confusing for new users to understand which is stable and/or current. The available versions are:
* MakeHuman nightly builds (of what is to become the next version): This is the latest code, and it is published every night. It thus contains all the latest changes, although theoretically a mistake could have been introduced. At this point in the development cycle, this is a mostly stable build.
* Makehuman alphas and betas (of what is to become the next version): These are points in time where the development code was released together with release notes and a version number (such as "1.2.0-alpha4"). In practice it is basically the same as an old nightly build.
* MakeHuman releases (currently 1.2.x): These are formal releases from the stable branch of makehuman. They are updated seldomly and are well tested. At this point in time the last formal release is 1.2.0. We do not recommend using older releases.
15de371aefa310a51b3b2d88e03aaa4a7dc8d174
1929
1790
2020-11-06T12:39:59Z
Joepal
14
wikitext
text/x-wiki
TL;DR: At this point in time, you are best off downloading the stable release of MakeHuman Community 1.2.0. See http://www.makehumancommunity.org/content/makehuman_120.html.
If you want newer features, it is usually also safe to download the nightly build. For windows, it is available from [http://download.tuxfamily.org/makehuman/nightly/ the download directory]. Look for the file named "*-nightly-windows.zip". Linux users are encouraged to run from source, but there is also a PPA at https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community
There are three different versions of MakeHuman, and it can be confusing for new users to understand which is stable and/or current. The available versions are:
* MakeHuman nightly builds (of what is to become the next version): This is the latest code, and it is published every night. It thus contains all the latest changes, although theoretically a mistake could have been introduced. At this point in the development cycle, this is the most stable download.
* Makehuman alphas and betas (of what is to become the next version): These are points in time where the development code was released together with release notes and a version number (such as "1.2.0-alpha4"). In practice is basically the same as an old nightly build.
* MakeHuman releases (currently 1.2.x): These are formal releases from the stable branch of makehuman. They are updated seldomly and are well tested. At this point in time the last formal release is 1.2.0. We do not recommend using older releases.
7ceede1e5239d36c0a63708a5a89351c47a9f139
1790
1786
2020-05-09T13:40:01Z
Joepal
14
wikitext
text/x-wiki
TL;DR: At this point in time, you are best off downloading the "nightly build". For windows, it is available from [http://download.tuxfamily.org/makehuman/nightly/ the download directory]. Look for the file named "*-nightly-windows.zip". Linux users are encouraged to run from source, but there is also a PPA at https://launchpad.net/~makehuman-official/+archive/ubuntu/makehuman-community
There are three different versions of MakeHuman, and it can be confusing for new users to understand which is stable and/or current. The available versions are:
* MakeHuman nightly builds (of what is to become 1.2.x): This is the latest code, and it is published every night. It thus contains all the latest changes, although theoretically a mistake could have been introduced. At this point in the development cycle, this is the most stable download.
* Makehuman alphas and betas (of what is to become 1.2.x): These are points in time where the development code was released together with release notes and a version number (such as "1.2.0-alpha4"). In practice is basically the same as an old nightly build.
* MakeHuman releases (currently 1.1.x): These are formal releases from the stable branch of makehuman. They are updated seldomly and are well tested. At this point in time the last formal release is 1.1.1. However, this is rather old and does not contain a lot of the functionality which has been added lately.
f51ced4735d1e5f6697f3dc2b9b996cea68885d7
1786
661
2020-04-27T15:16:27Z
Joepal
14
wikitext
text/x-wiki
TL;DR: At this point in time, you are best off downloading the "nightly build". For windows, it is available from [http://download.tuxfamily.org/makehuman/nightly/ the download directory]. Look for the file named "*-nightly-windows.zip". Linux users are encouraged to run from source.
There are three different versions of MakeHuman, and it can be confusing for new users to understand which is stable and/or current. The available versions are:
* MakeHuman nightly builds (of what is to become 1.2.x): This is the latest code, and it is published every night. It thus contains all the latest changes, although theoretically a mistake could have been introduced. At this point in the development cycle, this is the most stable download.
* Makehuman alphas and betas (of what is to become 1.2.x): These are points in time where the development code was released together with release notes and a version number (such as "1.2.0-alpha4"). In practice is basically the same as an old nightly build.
* MakeHuman releases (currently 1.1.x): These are formal releases from the stable branch of makehuman. They are updated seldomly and are well tested. At this point in time the last formal release is 1.1.1. However, this is rather old and does not contain a lot of the functionality which has been added lately.
297a6bfdf0d9a86c5a0cf4cf345c63dfe863cfa6
661
93
2016-05-14T08:35:42Z
Joepal
14
wikitext
text/x-wiki
There are two different versions of MakeHuman, and it can be confusing for new users to understand which is stable and/or current. The available versions are:
* MakeHuman releases (currently 1.1.x): These are formal releases from the stable branch of makehuman. They are updated seldomly and are well tested. This is currently what you should use.
* MakeHuman nightly builds (what is to become 1.2.x in a distant future): These are builds of the unstable branch and are updated nightly. They do thus contain all the latest changes, but are at the moment likely to crash and burn. Normal users will currently not want to use this.
2997489a7a58a9662266f811dd5b7fdbdec4cb2e
93
2015-07-10T09:45:57Z
Joepal
14
Created page with "There are two different versions of MakeHuman, and it can be confusing for new users to understand which is stable and/or current. The available versions are: * MakeHuman rel..."
wikitext
text/x-wiki
There are two different versions of MakeHuman, and it can be confusing for new users to understand which is stable and/or current. The available versions are:
* MakeHuman releases (currently 1.0.x): These are formal releases from the stable branch of makehuman. They are updated seldomly and are well tested.
* MakeHuman nightly builds (currently what is to become 1.1.x): These are builds of the unstable branch and are updated nightly. They do thus contain all the latest changes. Note that late in the development cycle, the term "unstable" is something of a misnomer as it is then often at least as stable as the last release.
Early on after a release we recommend that you download and use a formal release.
If you need the new features and/or some time have passed (several months) since the last release, we recommend that you download the nightly build.
If you find and report a bug in the stable release, you will more often than not be directed to try the nightly build instead.
1435040192af17ae5a92ab5ccbfbfa614b40859c
FAQ:Why is there no perspective mode?
3002
28
408
86
2015-08-16T07:54:58Z
Aranuvir
17
wikitext
text/x-wiki
In a professional pipeline, there are two phases:
# Modeling the character.
# Using the character.
While the perspective is fundamental in the step two, it's not needed in phase one.
In phase one it's even harmful, since it generates huge deformations and the perception of the resulting character is highly subjective (see image below).
A character modelled with a focal length can appear very ugly and unnatural when viewed with a different perspective.
For this reason perspective is not used by professionals during this phase. Since MakeHuman is designed for phase one, it will only have the ortho view.
IMAGE IS MISSING, IMPORT FROM DRUPAL
47da0a8c493c561b1c6b9b09f43464807f1b1971
86
2015-07-09T11:42:04Z
Joepal
14
Created page with "In a professional pipeline, there are two phases: # Modeling the character. # Using the character. While the perspective is fundamental in the step two, it's not needed in p..."
wikitext
text/x-wiki
In a professional pipeline, there are two phases:
# Modeling the character.
# Using the character.
While the perspective is fundamental in the step two, it's not needed in phase one.
In phase one it's even harmful, since it generates huge deformations and the perception of the resulting character is highly subjective (see image below).
A character modeled with a focal lenght can appear very ugly and unnatural when viewed with a different perspective.
For this reason perspective is not used by professionals during this phase. Since MakeHuman is designed for phase one, it will onle have the ortho view.
IMAGE IS MISSING, IMPORT FROM DRUPAL
25dbd6d4259e836db0dbe1956943f93e3b7d79aa
FAQ:Why quadrilaterals?
3002
27
85
2015-07-09T11:40:18Z
Joepal
14
Created page with "Because quad > triangle conversion is trivial, while the other way around can be more complex (especially since it allows degraded topologies when quads and tris are mixed). Q..."
wikitext
text/x-wiki
Because quad > triangle conversion is trivial, while the other way around can be more complex (especially since it allows degraded topologies when quads and tris are mixed).
Quads have advantages in subdivision, and define deterministic edge loops, they are just much more convenient to work with in a modeling and animating environment.
In fact, MakeHuman does not impose the use of quads, you can use tris for proxies too. The only limitation is that you do not mix quads and tris, it's either one or the other. Note that subdivision does not work in MH when using tris.
In any case, the only reason you would use triangles is for reducing the polycount, which is a progress that should happen very late in your pipeline, not in the middle of the modeling process (and should only be done when you know exactly what polycount ratio you're aiming for). As vertex counts are becoming less of a limitation with recent graphics hardware, triangles are getting less and less used. In fact many recent (and even previous generation) games use only quads for their character meshes. It just performs much better in animation, and produces a much cleaner topology.
555392a08279ca93d73b87530cd53543d88ff8d8
FAQ:Will the nightly build work?
3002
530
1406
2017-07-13T10:59:50Z
Joepal
14
Created page with "If you have a modern workstation with a discrete nVidia card (as opposed to, say, a laptop with an integrated intel graphics chip), it might. The binary starts and works on..."
wikitext
text/x-wiki
If you have a modern workstation with a discrete nVidia card (as opposed to, say, a laptop with an integrated intel graphics chip), it might.
The binary starts and works on the build machine at least, but there are several reports about problems on other computers.
In summary: Don't be surprised if you get a crash or a MakeHuman window where no toon is visible.
e431cd9074d525a7a18f36d2abca2d65113c9f12